Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1qyIWg-007SQD-Tz for pgsql-hackers@arkaria.postgresql.org; Wed, 01 Nov 2023 21:13:24 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1qyIWd-008wtc-FO for pgsql-hackers@arkaria.postgresql.org; Wed, 01 Nov 2023 21:13:19 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1qyIWb-008wtS-1C for pgsql-hackers@lists.postgresql.org; Wed, 01 Nov 2023 21:13:19 +0000 Received: from out4-smtp.messagingengine.com ([66.111.4.28]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1qyIWR-003VCm-Ls for pgsql-hackers@postgresql.org; Wed, 01 Nov 2023 21:13:13 +0000 Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id 69D675C03D1; Wed, 1 Nov 2023 17:13:06 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute5.internal (MEProxy); Wed, 01 Nov 2023 17:13:06 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eisentraut.org; h=cc:cc:content-type:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm2; t=1698873186; x= 1698959586; bh=lrupKgVcixUDdIbEhqT6icJEsA9LTRhHW2A46N+dxmY=; b=B lgnYrDmuolbxrCzSYE0INCJ5IQXL1ew1RHW9dBFJKUBWIcs1HjeEM31nhDSfiLnd /wcFr6rivveIQy+Xn+BAuWya36sHhcpzX/FFEBsK8tFb3XhXLSVRP5Ni8Ec93OuO zG+sY5LGXzqQTdkqf8NBIrLxD5C4Wl/W5OTgNL1KTKu330NeZsb0ST7pG5a8PxBl Knp3ytFTwh67fQK9UMh0kr+p/kIfg8CsszTlzMjsP0se9NwtqqBCeIsR0i+NbGYq DlemO5EnRrbs8R2bZgdy2ao/gxVJa0h36lncBiOmdxynTXb/1FTJnYpberSWywSi jsEsw8g8O1OzNdm7oNd/A== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm3; t=1698873186; x=1698959586; bh=lrupKgVcixUDd IbEhqT6icJEsA9LTRhHW2A46N+dxmY=; b=huIrsfMd0cAU4i2GVON7ioUOd9UAJ MfyOltuUCWt3hWhivRUr3oaI0oubXVPcD887OLeX1WlV+lB9tNni8SPRGTuKFCk/ MH9W72RgzBuhzZ4roG8HlL4Ff+/cV+XKjjxOkCWp4SImfuIRwTEtVzH22HbfIter C0mDDapTse2q36+hrMP5rj432O61PkTz8Vcmynqra+Cbv3T33I0LhW0VQiKaA7i/ fwNhUsJQIRhhn/g2/hUrdatK2v2tGQdxmMQmyq4Oej82yFdqpraZKI9GdHk67zk9 iViRlf6GNyeFi0WUZ+E+Ru2T4lw+71AfyjHvYjGK0i/9/dTCQX6csYrvg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedruddtgedgudeghecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpegtkfffgggfuffvvehfhfgjsehmtderredtvdejnecuhfhrohhmpefrvght vghrucfgihhsvghnthhrrghuthcuoehpvghtvghrsegvihhsvghnthhrrghuthdrohhrgh eqnecuggftrfgrthhtvghrnhephfefhfeludekffevueeludekleeifffffedtveffgfet hfeiiedtffeluddtveefnecuffhomhgrihhnpegvnhhtvghrphhrihhsvggusgdrtghomh enucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehpvght vghrsegvihhsvghnthhrrghuthdrohhrgh X-ME-Proxy: Feedback-ID: ie0a040ee:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 1 Nov 2023 17:13:05 -0400 (EDT) Content-Type: multipart/mixed; boundary="------------L3YeGhfltQQc96Oc2xBPRYwp" Message-ID: Date: Wed, 1 Nov 2023 17:13:03 -0400 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: generate syscache info automatically Content-Language: en-US To: pgsql-hackers Cc: John Naylor References: <75ae5875-3abc-dafc-8aec-73247ed41cde@eisentraut.org> <0375b1fb-c2e7-be24-806e-b3b96bd00c31@eisentraut.org> <9aea7c02-ca6f-4cf0-0e5a-bcc0fd959b7c@eisentraut.org> From: Peter Eisentraut In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------L3YeGhfltQQc96Oc2xBPRYwp Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Here is a rebased patch set, along with a summary of the questions I have about these patches: v4-0001-Generate-syscache-info-from-catalog-files.patch What's a good syntax to declare a syscache? Currently, I have, for example -DECLARE_UNIQUE_INDEX_PKEY(pg_type_oid_index, 2703, TypeOidIndexId, pg_type, btree(oid oid_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_type_oid_index, 2703, TypeOidIndexId, pg_type, btree(oid oid_ops), TYPEOID, 64); I suppose a sensible alternative could be to leave the DECLARE_..._INDEX... alone and make a separate statement, like MAKE_SYSCACHE(pg_type_oid_index, TYPEOID, 64); That's at least visually easier, because some of those DECLARE_... lines are getting pretty long. I would like to keep those MAKE_SYSCACHE lines in the catalog files. That just makes it easier to reference everything together. v4-0002-Generate-ObjectProperty-from-catalog-files.patch Several questions here: * What's a good way to declare the mapping between catalog and object type? * How to select which catalogs have ObjectProperty entries generated? * Where to declare class descriptions? Or just keep the current hack in the patch. * How to declare the purpose of a catalog column, like "this is the ACL column for this catalog". This is currently done by name, but maybe it should be more explicit. * Question about how to pick the correct value for is_nsp_name_unique? This second patch is clearly still WIP. I hope the first patch can be finished soon, however. I was also amused to find the original commit fa351d5a0db that introduced ObjectProperty, which contains the following comment: Performance isn't critical here, so there's no need to be smart about how we do the search. which I'm now trying to amend. On 11.09.23 07:02, John Naylor wrote: > > On Thu, Aug 31, 2023 at 6:23 PM Peter Eisentraut > wrote: > > > Attached is an updated patch set. > > > There was some discussion about whether the catalog files are the right > > place to keep syscache information.  Personally, I would find that more > > convenient.  (Note that we also recently moved the definitions of > > indexes and toast tables from files with the whole list into the various > > catalog files.)  But we can also keep it somewhere else.  The important > > thing is that Catalog.pm can find it somewhere in a structured form. > > I don't have anything further to say on how to fit it together, but I'll > go ahead share some other comments from a quick read of v3-0003: > > + # XXX hardcoded exceptions > + # extension doesn't belong to extnamespace > + $attnum_namespace = undef if $catname eq 'pg_extension'; > + # pg_database owner is spelled datdba > + $attnum_owner = "Anum_pg_database_datdba" if $catname eq 'pg_database'; > > These exceptions seem like true exceptions... > > + # XXX? > + $name_syscache = "SUBSCRIPTIONNAME" if $catname eq 'pg_subscription'; > + # XXX? > + $is_nsp_name_unique = 1 if $catname eq 'pg_collation'; > + $is_nsp_name_unique = 1 if $catname eq 'pg_opclass'; > + $is_nsp_name_unique = 1 if $catname eq 'pg_opfamily'; > + $is_nsp_name_unique = 1 if $catname eq 'pg_subscription'; > > ... but as the XXX conveys, these indicate a failure to do the right > thing. Trying to derive this info from the index declarations is > currently fragile. E.g. making one small change to this regex: > > -               if ($index->{index_decl} =~ /\(\w+name name_ops(, > \w+namespace oid_ops)?\)/) > +               if ($index->{index_decl} =~ /\w+name name_ops(, > \w+namespace oid_ops)?\)/) > > ...causes "is_nsp_name_unique" to flip from false to true, and/or sets > "name_catcache_id" where it wasn't before, for several entries. It's not > quite clear what the "rule" is intended to be, or whether it's robust > going forward. > > That being the case, perhaps some effort should also be made to make it > easy to verify the output matches HEAD (or rather, v3-0001). This is now > difficult because of the C99 ".foo = bar" syntax, plus the alphabetical > ordering. > > +foreach my $catname (@catnames) > +{ > + print $objectproperty_info_fh qq{#include "catalog/${catname}_d.h"\n}; > +} > > Assuming we have a better way to know which catalogs need > object properties, is there a todo to only #include those? > > > To finish up the ObjectProperty generation, we also need to store some > > more data, namely the OBJECT_* mappings.  We probably do not want to > > store those in the catalog headers; that looks like a layering violation > > to me. > > Possibly, but it's also convenient and, one could argue, more > straightforward than storing syscache id and num_buckets in the index info. > > One last thing: I did try to make the hash function use uint16 for the > key (to reduce loop iterations on nul bytes), and that didn't help, so > we are left with the ideas I mentioned earlier. > > (not changing CF status, because nothing specific is really required to > change at the moment, some things up in the air) > > -- > John Naylor > EDB: http://www.enterprisedb.com --------------L3YeGhfltQQc96Oc2xBPRYwp Content-Type: text/plain; charset=UTF-8; name="v4-0001-Generate-syscache-info-from-catalog-files.patch" Content-Disposition: attachment; filename="v4-0001-Generate-syscache-info-from-catalog-files.patch" Content-Transfer-Encoding: base64 RnJvbSA1YjZhYmIyNmQ0Y2YyYjE4MDM2OTdhMDNjODBkNTlhZmYxYWFmNmFmIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogV2VkLCAxIE5vdiAyMDIzIDE2OjU2OjUwIC0wNDAwClN1YmplY3Q6 IFtQQVRDSCB2NCAxLzJdIEdlbmVyYXRlIHN5c2NhY2hlIGluZm8gZnJvbSBjYXRhbG9nIGZp bGVzCgpERUNMQVJFX1VOSVFVRV9JTkRFWCBnZXRzIHR3byBhZGRpdGlvbmFsIGFyZ3VtZW50 cyB3aXRoIHRoZSBzeXNjYWNoZQpJRCBtYWNybyBhbmQgdGhlIG51bWJlciBvZiBidWNrZXRz LiAgRnJvbSB0aGF0LCB3ZSBjYW4gZ2VuZXJhdGUgdGhlCmV4aXN0aW5nIHRhYmxlcyBpbiBz eXNjYWNoZS5oIGFuZCBzeXNjYWNoZS5jIHZpYSBnZW5ia2kucGwuCgpEaXNjdXNzaW9uOiBo dHRwczovL3d3dy5wb3N0Z3Jlc3FsLm9yZy9tZXNzYWdlLWlkL2ZsYXQvNzVhZTU4NzUtM2Fi Yy1kYWZjLThhZWMtNzMyNDdlZDQxY2RlQGVpc2VudHJhdXQub3JnCi0tLQogc3JjL2JhY2tl bmQvY2F0YWxvZy8uZ2l0aWdub3JlICAgICAgICAgICAgICAgIHwgICAyICsKIHNyYy9iYWNr ZW5kL2NhdGFsb2cvQ2F0YWxvZy5wbSAgICAgICAgICAgICAgICB8ICAgNiArLQogc3JjL2Jh Y2tlbmQvY2F0YWxvZy9NYWtlZmlsZSAgICAgICAgICAgICAgICAgIHwgICAyICstCiBzcmMv YmFja2VuZC9jYXRhbG9nL2dlbmJraS5wbCAgICAgICAgICAgICAgICAgfCAgNjEgKysKIHNy Yy9iYWNrZW5kL3V0aWxzL2NhY2hlL3N5c2NhY2hlLmMgICAgICAgICAgICB8IDYyNSArLS0t LS0tLS0tLS0tLS0tLS0KIHNyYy9pbmNsdWRlL2NhdGFsb2cvLmdpdGlnbm9yZSAgICAgICAg ICAgICAgICB8ICAgMiArCiBzcmMvaW5jbHVkZS9jYXRhbG9nL2dlbmJraS5oICAgICAgICAg ICAgICAgICAgfCAgIDcgKy0KIHNyYy9pbmNsdWRlL2NhdGFsb2cvbWVzb24uYnVpbGQgICAg ICAgICAgICAgICB8ICAxOCArLQogc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19hZ2dyZWdhdGUu aCAgICAgICAgICAgIHwgICAyICstCiBzcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2FtLmggICAg ICAgICAgICAgICAgICAgfCAgIDQgKy0KIHNyYy9pbmNsdWRlL2NhdGFsb2cvcGdfYW1vcC5o ICAgICAgICAgICAgICAgICB8ICAgNCArLQogc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19hbXBy b2MuaCAgICAgICAgICAgICAgIHwgICAyICstCiBzcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2F0 dHJpYnV0ZS5oICAgICAgICAgICAgfCAgIDQgKy0KIHNyYy9pbmNsdWRlL2NhdGFsb2cvcGdf YXV0aF9tZW1iZXJzLmggICAgICAgICB8ICAgNCArLQogc3JjL2luY2x1ZGUvY2F0YWxvZy9w Z19hdXRoaWQuaCAgICAgICAgICAgICAgIHwgICA0ICstCiBzcmMvaW5jbHVkZS9jYXRhbG9n L3BnX2Nhc3QuaCAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIHNyYy9pbmNsdWRlL2NhdGFs b2cvcGdfY2xhc3MuaCAgICAgICAgICAgICAgICB8ICAgNCArLQogc3JjL2luY2x1ZGUvY2F0 YWxvZy9wZ19jb2xsYXRpb24uaCAgICAgICAgICAgIHwgICA0ICstCiBzcmMvaW5jbHVkZS9j YXRhbG9nL3BnX2NvbnN0cmFpbnQuaCAgICAgICAgICAgfCAgIDIgKy0KIHNyYy9pbmNsdWRl L2NhdGFsb2cvcGdfY29udmVyc2lvbi5oICAgICAgICAgICB8ICAgNiArLQogc3JjL2luY2x1 ZGUvY2F0YWxvZy9wZ19kYXRhYmFzZS5oICAgICAgICAgICAgIHwgICAyICstCiBzcmMvaW5j bHVkZS9jYXRhbG9nL3BnX2RlZmF1bHRfYWNsLmggICAgICAgICAgfCAgIDIgKy0KIHNyYy9p bmNsdWRlL2NhdGFsb2cvcGdfZW51bS5oICAgICAgICAgICAgICAgICB8ICAgNCArLQogc3Jj L2luY2x1ZGUvY2F0YWxvZy9wZ19ldmVudF90cmlnZ2VyLmggICAgICAgIHwgICA0ICstCiBz cmMvaW5jbHVkZS9jYXRhbG9nL3BnX2ZvcmVpZ25fZGF0YV93cmFwcGVyLmggfCAgIDQgKy0K IHNyYy9pbmNsdWRlL2NhdGFsb2cvcGdfZm9yZWlnbl9zZXJ2ZXIuaCAgICAgICB8ICAgNCAr LQogc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19mb3JlaWduX3RhYmxlLmggICAgICAgIHwgICAy ICstCiBzcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2luZGV4LmggICAgICAgICAgICAgICAgfCAg IDIgKy0KIHNyYy9pbmNsdWRlL2NhdGFsb2cvcGdfbGFuZ3VhZ2UuaCAgICAgICAgICAgICB8 ICAgNCArLQogc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19uYW1lc3BhY2UuaCAgICAgICAgICAg IHwgICA0ICstCiBzcmMvaW5jbHVkZS9jYXRhbG9nL3BnX29wY2xhc3MuaCAgICAgICAgICAg ICAgfCAgIDQgKy0KIHNyYy9pbmNsdWRlL2NhdGFsb2cvcGdfb3BlcmF0b3IuaCAgICAgICAg ICAgICB8ICAgNCArLQogc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19vcGZhbWlseS5oICAgICAg ICAgICAgIHwgICA0ICstCiBzcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3BhcmFtZXRlcl9hY2wu aCAgICAgICAgfCAgIDQgKy0KIHNyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcGFydGl0aW9uZWRf dGFibGUuaCAgICB8ICAgMiArLQogc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmggICAg ICAgICAgICAgICAgIHwgICA0ICstCiBzcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3B1YmxpY2F0 aW9uLmggICAgICAgICAgfCAgIDQgKy0KIC4uLi9jYXRhbG9nL3BnX3B1YmxpY2F0aW9uX25h bWVzcGFjZS5oICAgICAgICB8ICAgNCArLQogc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wdWJs aWNhdGlvbl9yZWwuaCAgICAgIHwgICA0ICstCiBzcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Jh bmdlLmggICAgICAgICAgICAgICAgfCAgIDQgKy0KIHNyYy9pbmNsdWRlL2NhdGFsb2cvcGdf cmVwbGljYXRpb25fb3JpZ2luLmggICB8ICAgNCArLQogc3JjL2luY2x1ZGUvY2F0YWxvZy9w Z19yZXdyaXRlLmggICAgICAgICAgICAgIHwgICAyICstCiBzcmMvaW5jbHVkZS9jYXRhbG9n L3BnX3NlcXVlbmNlLmggICAgICAgICAgICAgfCAgIDIgKy0KIHNyYy9pbmNsdWRlL2NhdGFs b2cvcGdfc3RhdGlzdGljLmggICAgICAgICAgICB8ICAgMiArLQogc3JjL2luY2x1ZGUvY2F0 YWxvZy9wZ19zdGF0aXN0aWNfZXh0LmggICAgICAgIHwgICA0ICstCiBzcmMvaW5jbHVkZS9j YXRhbG9nL3BnX3N0YXRpc3RpY19leHRfZGF0YS5oICAgfCAgIDIgKy0KIHNyYy9pbmNsdWRl L2NhdGFsb2cvcGdfc3Vic2NyaXB0aW9uLmggICAgICAgICB8ICAgNCArLQogc3JjL2luY2x1 ZGUvY2F0YWxvZy9wZ19zdWJzY3JpcHRpb25fcmVsLmggICAgIHwgICAyICstCiBzcmMvaW5j bHVkZS9jYXRhbG9nL3BnX3RhYmxlc3BhY2UuaCAgICAgICAgICAgfCAgIDIgKy0KIHNyYy9p bmNsdWRlL2NhdGFsb2cvcGdfdHJhbnNmb3JtLmggICAgICAgICAgICB8ICAgNCArLQogc3Jj L2luY2x1ZGUvY2F0YWxvZy9wZ190c19jb25maWcuaCAgICAgICAgICAgIHwgICA0ICstCiBz cmMvaW5jbHVkZS9jYXRhbG9nL3BnX3RzX2NvbmZpZ19tYXAuaCAgICAgICAgfCAgIDIgKy0K IHNyYy9pbmNsdWRlL2NhdGFsb2cvcGdfdHNfZGljdC5oICAgICAgICAgICAgICB8ICAgNCAr LQogc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ190c19wYXJzZXIuaCAgICAgICAgICAgIHwgICA0 ICstCiBzcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3RzX3RlbXBsYXRlLmggICAgICAgICAgfCAg IDQgKy0KIHNyYy9pbmNsdWRlL2NhdGFsb2cvcGdfdHlwZS5oICAgICAgICAgICAgICAgICB8 ICAgNCArLQogc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ191c2VyX21hcHBpbmcuaCAgICAgICAg IHwgICA0ICstCiBzcmMvaW5jbHVkZS91dGlscy9zeXNjYWNoZS5oICAgICAgICAgICAgICAg ICAgfCAgOTggKy0tCiBzcmMvdG9vbHMvcGdpbmNsdWRlL2NwbHVzcGx1c2NoZWNrICAgICAg ICAgICAgfCAgIDUgKwogc3JjL3Rvb2xzL3BnaW5jbHVkZS9oZWFkZXJzY2hlY2sgICAgICAg ICAgICAgIHwgICA1ICsKIDYwIGZpbGVzIGNoYW5nZWQsIDE5MyBpbnNlcnRpb25zKCspLCA4 MDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy8uZ2l0 aWdub3JlIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy8uZ2l0aWdub3JlCmluZGV4IDIzN2ZmNTQx NjU5Li5mZjY1NTYwMzc5MiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy8uZ2l0 aWdub3JlCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvLmdpdGlnbm9yZQpAQCAtMSw1ICsx LDcgQEAKIC9wb3N0Z3Jlcy5ia2kKIC9zY2hlbWFwZy5oCisvc3lzY2FjaGVfaW5mby5jLmgK Ky9zeXNjYWNoZV9pbmZvLmgKIC9zeXN0ZW1fZmtfaW5mby5oCiAvc3lzdGVtX2NvbnN0cmFp bnRzLnNxbAogL3BnXypfZC5oCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL0Nh dGFsb2cucG0gYi9zcmMvYmFja2VuZC9jYXRhbG9nL0NhdGFsb2cucG0KaW5kZXggYmU1NmNj MTUzZjkuLmRlNjc2MzI3OTMzIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL0Nh dGFsb2cucG0KKysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9DYXRhbG9nLnBtCkBAIC0xMTgs NyArMTE4LDExIEBAIHN1YiBQYXJzZUhlYWRlcgogCQkJICg/PGluZGV4X29pZD5cZCspLFxz KgogCQkJICg/PGluZGV4X29pZF9tYWNybz5cdyspLFxzKgogCQkJICg/PHRhYmxlX25hbWU+ XHcrKSxccyoKLQkJCSAoPzxpbmRleF9kZWNsPi4rKVxzKgorCQkJICg/PGluZGV4X2RlY2w+ XHcrXHMqXChbXHdccyxdK1wpKVxzKgorCQkJICg/OixccyoKKwkJCSAgICg/PHN5c2NhY2hl X25hbWU+XHcrKSxccyoKKwkJCSAgICg/PHN5c2NhY2hlX25idWNrZXRzPlx3KykKKwkJCSAp PwogCQkJIFwpL3gKIAkJICApCiAJCXsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFs b2cvTWFrZWZpbGUgYi9zcmMvYmFja2VuZC9jYXRhbG9nL01ha2VmaWxlCmluZGV4IDNlOTk5 NDc5M2Q2Li4yYzk0MTI2ZWM1YyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9N YWtlZmlsZQorKysgYi9zcmMvYmFja2VuZC9jYXRhbG9nL01ha2VmaWxlCkBAIC0xMjAsNyAr MTIwLDcgQEAgQ0FUQUxPR19IRUFERVJTIDo9IFwKIAlwZ19zdWJzY3JpcHRpb24uaCBcCiAJ cGdfc3Vic2NyaXB0aW9uX3JlbC5oCiAKLUdFTkVSQVRFRF9IRUFERVJTIDo9ICQoQ0FUQUxP R19IRUFERVJTOiUuaD0lX2QuaCkgc2NoZW1hcGcuaCBzeXN0ZW1fZmtfaW5mby5oCitHRU5F UkFURURfSEVBREVSUyA6PSAkKENBVEFMT0dfSEVBREVSUzolLmg9JV9kLmgpIHNjaGVtYXBn Lmggc3lzY2FjaGVfaW5mby5oIHN5c2NhY2hlX2luZm8uYy5oIHN5c3RlbV9ma19pbmZvLmgK IAogUE9TVEdSRVNfQktJX1NSQ1MgOj0gJChhZGRwcmVmaXggJCh0b3Bfc3JjZGlyKS9zcmMv aW5jbHVkZS9jYXRhbG9nLywgJChDQVRBTE9HX0hFQURFUlMpKQogCmRpZmYgLS1naXQgYS9z cmMvYmFja2VuZC9jYXRhbG9nL2dlbmJraS5wbCBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvZ2Vu YmtpLnBsCmluZGV4IDM4MGJjMjNjODJlLi43OGYyZGE2OTBlYyAxMDA2NDQKLS0tIGEvc3Jj L2JhY2tlbmQvY2F0YWxvZy9nZW5ia2kucGwKKysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9n ZW5ia2kucGwKQEAgLTU2LDYgKzU2LDcgQEAKIG15ICVjYXRhbG9nX2RhdGE7CiBteSBAdG9h c3RfZGVjbHM7CiBteSBAaW5kZXhfZGVjbHM7CitteSAlc3lzY2FjaGVzOwogbXkgJW9pZGNv dW50czsKIG15IEBzeXN0ZW1fY29uc3RyYWludHM7CiAKQEAgLTE1MCw2ICsxNTEsMjEgQEAK IAkJCSAgJGluZGV4LT57aXNfcGtleX0gPyAiUFJJTUFSWSBLRVkiIDogIlVOSVFVRSIsCiAJ CQkgICRpbmRleC0+e2luZGV4X25hbWV9OwogCQl9CisKKwkJaWYgKCRpbmRleC0+e3N5c2Nh Y2hlX25hbWV9KQorCQl7CisJCQlteSAkdGJsID0gJGluZGV4LT57dGFibGVfbmFtZX07CisJ CQlteSAka2V5ID0gJGluZGV4LT57aW5kZXhfZGVjbH07CisJCQkka2V5ID1+IHMvXlx3K1wo Ly87CisJCQkka2V5ID1+IHMvXCkkLy87CisJCQkka2V5ID1+IHMvKFx3KylccytcdysvQW51 bV8ke3RibH1fJDEvZzsKKwkJCSRzeXNjYWNoZXN7JGluZGV4LT57c3lzY2FjaGVfbmFtZX19 ID0geworCQkJCXRhYmxlX29pZF9tYWNybyA9PiAkY2F0YWxvZ3N7JHRibH0tPntyZWxhdGlv bl9vaWRfbWFjcm99LAorCQkJCWluZGV4X29pZF9tYWNybyA9PiAkaW5kZXgtPntpbmRleF9v aWRfbWFjcm99LAorCQkJCWtleSA9PiAka2V5LAorCQkJCW5idWNrZXRzID0+ICRpbmRleC0+ e3N5c2NhY2hlX25idWNrZXRzfSwKKwkJCX07CisJCX0KIAl9CiB9CiAKQEAgLTQxOSw2ICs0 MzUsMTIgQEAKIG15ICRjb25zdHJhaW50c19maWxlID0gJG91dHB1dF9wYXRoIC4gJ3N5c3Rl bV9jb25zdHJhaW50cy5zcWwnOwogb3BlbiBteSAkY29uc3RyYWludHMsICc+JywgJGNvbnN0 cmFpbnRzX2ZpbGUgLiAkdG1wZXh0CiAgIG9yIGRpZSAiY2FuJ3Qgb3BlbiAkY29uc3RyYWlu dHNfZmlsZSR0bXBleHQ6ICQhIjsKK215ICRzeXNjYWNoZV9pbmZvX2ggPSAkb3V0cHV0X3Bh dGggLiAnc3lzY2FjaGVfaW5mby5oJzsKK29wZW4gbXkgJHN5c2NhY2hlX2luZm9faF9maCwg Jz4nLCAkc3lzY2FjaGVfaW5mb19oIC4gJHRtcGV4dAorICBvciBkaWUgImNhbid0IG9wZW4g JHN5c2NhY2hlX2luZm9faCR0bXBleHQ6ICQhIjsKK215ICRzeXNjYWNoZV9pbmZvX2MgPSAk b3V0cHV0X3BhdGggLiAnc3lzY2FjaGVfaW5mby5jLmgnOworb3BlbiBteSAkc3lzY2FjaGVf aW5mb19jX2ZoLCAnPicsICRzeXNjYWNoZV9pbmZvX2MgLiAkdG1wZXh0CisgIG9yIGRpZSAi Y2FuJ3Qgb3BlbiAkc3lzY2FjaGVfaW5mb19jJHRtcGV4dDogJCEiOwogCiAjIEdlbmVyYXRl IHBvc3RncmVzLmJraSBhbmQgcGdfKl9kLmggaGVhZGVycy4KIApAQCAtNzUzLDE3ICs3NzUs NTYgQEAKICMgQ2xvc2luZyBib2lsZXJwbGF0ZSBmb3Igc3lzdGVtX2ZrX2luZm8uaAogcHJp bnQgJGZrX2luZm8gIn07XG5cbiNlbmRpZlx0XHRcdFx0XHRcdFx0LyogU1lTVEVNX0ZLX0lO Rk9fSCAqL1xuIjsKIAorIyBOb3cgZ2VuZXJhdGUgc3lzY2FjaGVfaW5mbworCitwcmludF9i b2lsZXJwbGF0ZSgkc3lzY2FjaGVfaW5mb19oX2ZoLCAic3lzY2FjaGVfaW5mby5oIiwgIlN5 c0NhY2hlIGlkZW50aWZpZXJzIik7CitwcmludCAkc3lzY2FjaGVfaW5mb19oX2ZoICJlbnVt IFN5c0NhY2hlSWRlbnRpZmllcgoreworIjsKKworcHJpbnRfYm9pbGVycGxhdGUoJHN5c2Nh Y2hlX2luZm9fY19maCwgInN5c2NhY2hlX2luZm8uYy5oIiwgIlN5c0NhY2hlIGRlZmluaXRp b25zIik7CitwcmludCAkc3lzY2FjaGVfaW5mb19jX2ZoICJcbiI7Citmb3JlYWNoIG15ICRj YXRuYW1lIChAY2F0bmFtZXMpCit7CisJcHJpbnQgJHN5c2NhY2hlX2luZm9fY19maCBxcXsj aW5jbHVkZSAiY2F0YWxvZy8ke2NhdG5hbWV9X2QuaCJcbn07Cit9CitwcmludCAkc3lzY2Fj aGVfaW5mb19jX2ZoICJcbiI7CitwcmludCAkc3lzY2FjaGVfaW5mb19jX2ZoICJzdGF0aWMg Y29uc3Qgc3RydWN0IGNhY2hlZGVzYyBjYWNoZWluZm9bXSA9IHtcbiI7CisKK215ICRsYXN0 X3N5c2NhY2hlOworZm9yZWFjaCBteSAkc3lzY2FjaGUgKHNvcnQga2V5cyAlc3lzY2FjaGVz KQoreworCXByaW50ICRzeXNjYWNoZV9pbmZvX2hfZmggIlx0JHN5c2NhY2hlLFxuIjsKKwkk bGFzdF9zeXNjYWNoZSA9ICRzeXNjYWNoZTsKKworCXByaW50ICRzeXNjYWNoZV9pbmZvX2Nf ZmggIlx0WyRzeXNjYWNoZV0gPSB7XG4iOworCXByaW50ICRzeXNjYWNoZV9pbmZvX2NfZmgg Ilx0XHQiLCAkc3lzY2FjaGVzeyRzeXNjYWNoZX17dGFibGVfb2lkX21hY3JvfSwgIixcbiI7 CisJcHJpbnQgJHN5c2NhY2hlX2luZm9fY19maCAiXHRcdCIsICRzeXNjYWNoZXN7JHN5c2Nh Y2hlfXtpbmRleF9vaWRfbWFjcm99LCAiLFxuIjsKKwlwcmludCAkc3lzY2FjaGVfaW5mb19j X2ZoICJcdFx0S0VZKCIsICRzeXNjYWNoZXN7JHN5c2NhY2hlfXtrZXl9LCAiKSxcbiI7CisJ cHJpbnQgJHN5c2NhY2hlX2luZm9fY19maCAiXHRcdCIsICRzeXNjYWNoZXN7JHN5c2NhY2hl fXtuYnVja2V0c30sICJcbiI7CisJcHJpbnQgJHN5c2NhY2hlX2luZm9fY19maCAiXHR9LFxu IjsKK30KKworcHJpbnQgJHN5c2NhY2hlX2luZm9faF9maCAifTtcbiI7CitwcmludCAkc3lz Y2FjaGVfaW5mb19oX2ZoICIjZGVmaW5lIFN5c0NhY2hlU2l6ZSAoJGxhc3Rfc3lzY2FjaGUg KyAxKVxuIjsKKworcHJpbnQgJHN5c2NhY2hlX2luZm9fY19maCAifTtcbiI7CisKICMgV2Un cmUgZG9uZSBlbWl0dGluZyBkYXRhCiBjbG9zZSAkYmtpOwogY2xvc2UgJHNjaGVtYXBnOwog Y2xvc2UgJGZrX2luZm87CiBjbG9zZSAkY29uc3RyYWludHM7CitjbG9zZSAkc3lzY2FjaGVf aW5mb19oX2ZoOworY2xvc2UgJHN5c2NhY2hlX2luZm9fY19maDsKIAogIyBGaW5hbGx5LCBy ZW5hbWUgdGhlIGNvbXBsZXRlZCBmaWxlcyBpbnRvIHBsYWNlLgogQ2F0YWxvZzo6UmVuYW1l VGVtcEZpbGUoJGJraWZpbGUsICR0bXBleHQpOwogQ2F0YWxvZzo6UmVuYW1lVGVtcEZpbGUo JHNjaGVtYWZpbGUsICR0bXBleHQpOwogQ2F0YWxvZzo6UmVuYW1lVGVtcEZpbGUoJGZrX2lu Zm9fZmlsZSwgJHRtcGV4dCk7CiBDYXRhbG9nOjpSZW5hbWVUZW1wRmlsZSgkY29uc3RyYWlu dHNfZmlsZSwgJHRtcGV4dCk7CitDYXRhbG9nOjpSZW5hbWVUZW1wRmlsZSgkc3lzY2FjaGVf aW5mb19oLCAkdG1wZXh0KTsKK0NhdGFsb2c6OlJlbmFtZVRlbXBGaWxlKCRzeXNjYWNoZV9p bmZvX2MsICR0bXBleHQpOwogCiBleGl0KCRudW1fZXJyb3JzICE9IDAgPyAxIDogMCk7CiAK ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2NhY2hlL3N5c2NhY2hlLmMgYi9zcmMv YmFja2VuZC91dGlscy9jYWNoZS9zeXNjYWNoZS5jCmluZGV4IDhkYmRhMDAyNGY5Li4wNzJm YTllZjQ3MSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvY2FjaGUvc3lzY2FjaGUu YworKysgYi9zcmMvYmFja2VuZC91dGlscy9jYWNoZS9zeXNjYWNoZS5jCkBAIC0yMiw1OSAr MjIsNiBAQAogCiAjaW5jbHVkZSAiYWNjZXNzL2h0dXBfZGV0YWlscy5oIgogI2luY2x1ZGUg ImFjY2Vzcy9zeXNhdHRyLmgiCi0jaW5jbHVkZSAiY2F0YWxvZy9wZ19hZ2dyZWdhdGUuaCIK LSNpbmNsdWRlICJjYXRhbG9nL3BnX2FtLmgiCi0jaW5jbHVkZSAiY2F0YWxvZy9wZ19hbW9w LmgiCi0jaW5jbHVkZSAiY2F0YWxvZy9wZ19hbXByb2MuaCIKLSNpbmNsdWRlICJjYXRhbG9n L3BnX2F1dGhfbWVtYmVycy5oIgotI2luY2x1ZGUgImNhdGFsb2cvcGdfYXV0aGlkLmgiCi0j aW5jbHVkZSAiY2F0YWxvZy9wZ19jYXN0LmgiCi0jaW5jbHVkZSAiY2F0YWxvZy9wZ19jb2xs YXRpb24uaCIKLSNpbmNsdWRlICJjYXRhbG9nL3BnX2NvbnN0cmFpbnQuaCIKLSNpbmNsdWRl ICJjYXRhbG9nL3BnX2NvbnZlcnNpb24uaCIKLSNpbmNsdWRlICJjYXRhbG9nL3BnX2RhdGFi YXNlLmgiCi0jaW5jbHVkZSAiY2F0YWxvZy9wZ19kYl9yb2xlX3NldHRpbmcuaCIKLSNpbmNs dWRlICJjYXRhbG9nL3BnX2RlZmF1bHRfYWNsLmgiCi0jaW5jbHVkZSAiY2F0YWxvZy9wZ19k ZXBlbmQuaCIKLSNpbmNsdWRlICJjYXRhbG9nL3BnX2Rlc2NyaXB0aW9uLmgiCi0jaW5jbHVk ZSAiY2F0YWxvZy9wZ19lbnVtLmgiCi0jaW5jbHVkZSAiY2F0YWxvZy9wZ19ldmVudF90cmln Z2VyLmgiCi0jaW5jbHVkZSAiY2F0YWxvZy9wZ19mb3JlaWduX2RhdGFfd3JhcHBlci5oIgot I2luY2x1ZGUgImNhdGFsb2cvcGdfZm9yZWlnbl9zZXJ2ZXIuaCIKLSNpbmNsdWRlICJjYXRh bG9nL3BnX2ZvcmVpZ25fdGFibGUuaCIKLSNpbmNsdWRlICJjYXRhbG9nL3BnX2xhbmd1YWdl LmgiCi0jaW5jbHVkZSAiY2F0YWxvZy9wZ19uYW1lc3BhY2UuaCIKLSNpbmNsdWRlICJjYXRh bG9nL3BnX29wY2xhc3MuaCIKLSNpbmNsdWRlICJjYXRhbG9nL3BnX29wZXJhdG9yLmgiCi0j aW5jbHVkZSAiY2F0YWxvZy9wZ19vcGZhbWlseS5oIgotI2luY2x1ZGUgImNhdGFsb2cvcGdf cGFyYW1ldGVyX2FjbC5oIgotI2luY2x1ZGUgImNhdGFsb2cvcGdfcGFydGl0aW9uZWRfdGFi bGUuaCIKLSNpbmNsdWRlICJjYXRhbG9nL3BnX3Byb2MuaCIKLSNpbmNsdWRlICJjYXRhbG9n L3BnX3B1YmxpY2F0aW9uLmgiCi0jaW5jbHVkZSAiY2F0YWxvZy9wZ19wdWJsaWNhdGlvbl9u YW1lc3BhY2UuaCIKLSNpbmNsdWRlICJjYXRhbG9nL3BnX3B1YmxpY2F0aW9uX3JlbC5oIgot I2luY2x1ZGUgImNhdGFsb2cvcGdfcmFuZ2UuaCIKLSNpbmNsdWRlICJjYXRhbG9nL3BnX3Jl cGxpY2F0aW9uX29yaWdpbi5oIgotI2luY2x1ZGUgImNhdGFsb2cvcGdfcmV3cml0ZS5oIgot I2luY2x1ZGUgImNhdGFsb2cvcGdfc2VjbGFiZWwuaCIKLSNpbmNsdWRlICJjYXRhbG9nL3Bn X3NlcXVlbmNlLmgiCi0jaW5jbHVkZSAiY2F0YWxvZy9wZ19zaGRlcGVuZC5oIgotI2luY2x1 ZGUgImNhdGFsb2cvcGdfc2hkZXNjcmlwdGlvbi5oIgotI2luY2x1ZGUgImNhdGFsb2cvcGdf c2hzZWNsYWJlbC5oIgotI2luY2x1ZGUgImNhdGFsb2cvcGdfc3RhdGlzdGljLmgiCi0jaW5j bHVkZSAiY2F0YWxvZy9wZ19zdGF0aXN0aWNfZXh0LmgiCi0jaW5jbHVkZSAiY2F0YWxvZy9w Z19zdGF0aXN0aWNfZXh0X2RhdGEuaCIKLSNpbmNsdWRlICJjYXRhbG9nL3BnX3N1YnNjcmlw dGlvbi5oIgotI2luY2x1ZGUgImNhdGFsb2cvcGdfc3Vic2NyaXB0aW9uX3JlbC5oIgotI2lu Y2x1ZGUgImNhdGFsb2cvcGdfdGFibGVzcGFjZS5oIgotI2luY2x1ZGUgImNhdGFsb2cvcGdf dHJhbnNmb3JtLmgiCi0jaW5jbHVkZSAiY2F0YWxvZy9wZ190c19jb25maWcuaCIKLSNpbmNs dWRlICJjYXRhbG9nL3BnX3RzX2NvbmZpZ19tYXAuaCIKLSNpbmNsdWRlICJjYXRhbG9nL3Bn X3RzX2RpY3QuaCIKLSNpbmNsdWRlICJjYXRhbG9nL3BnX3RzX3BhcnNlci5oIgotI2luY2x1 ZGUgImNhdGFsb2cvcGdfdHNfdGVtcGxhdGUuaCIKLSNpbmNsdWRlICJjYXRhbG9nL3BnX3R5 cGUuaCIKLSNpbmNsdWRlICJjYXRhbG9nL3BnX3VzZXJfbWFwcGluZy5oIgogI2luY2x1ZGUg ImxpYi9xdW5pcXVlLmgiCiAjaW5jbHVkZSAidXRpbHMvY2F0Y2FjaGUuaCIKICNpbmNsdWRl ICJ1dGlscy9sc3lzY2FjaGUuaCIKQEAgLTg1LDE4ICszMiw2IEBACiAKIAlBZGRpbmcgc3lz dGVtIGNhY2hlczoKIAotCUFkZCB5b3VyIG5ldyBjYWNoZSB0byB0aGUgbGlzdCBpbiBpbmNs dWRlL3V0aWxzL3N5c2NhY2hlLmguCi0JS2VlcCB0aGUgbGlzdCBzb3J0ZWQgYWxwaGFiZXRp Y2FsbHkuCi0KLQlBZGQgeW91ciBlbnRyeSB0byB0aGUgY2FjaGVpbmZvW10gYXJyYXkgYmVs b3cuIEFsbCBjYWNoZSBsaXN0cyBhcmUKLQlhbHBoYWJldGljYWwsIHNvIGFkZCBpdCBpbiB0 aGUgcHJvcGVyIHBsYWNlLiAgU3BlY2lmeSB0aGUgcmVsYXRpb24gT0lELAotCWluZGV4IE9J RCwgbnVtYmVyIG9mIGtleXMsIGtleSBhdHRyaWJ1dGUgbnVtYmVycywgYW5kIGluaXRpYWwg bnVtYmVyIG9mCi0JaGFzaCBidWNrZXRzLgotCi0JVGhlIG51bWJlciBvZiBoYXNoIGJ1Y2tl dHMgbXVzdCBiZSBhIHBvd2VyIG9mIDIuICBJdCdzIHJlYXNvbmFibGUgdG8KLQlzZXQgdGhp cyB0byB0aGUgbnVtYmVyIG9mIGVudHJpZXMgdGhhdCBtaWdodCBiZSBpbiB0aGUgcGFydGlj dWxhciBjYWNoZQotCWluIGEgbWVkaXVtLXNpemUgZGF0YWJhc2UuCi0KIAlUaGVyZSBtdXN0 IGJlIGEgdW5pcXVlIGluZGV4IHVuZGVybHlpbmcgZWFjaCBzeXNjYWNoZSAoaWUsIGFuIGlu ZGV4CiAJd2hvc2Uga2V5IGlzIHRoZSBzYW1lIGFzIHRoYXQgb2YgdGhlIGNhY2hlKS4gIElm IHRoZXJlIGlzIG5vdCBvbmUKIAlhbHJlYWR5LCBhZGQgdGhlIGRlZmluaXRpb24gZm9yIGl0 IHRvIGluY2x1ZGUvY2F0YWxvZy9wZ18qLmggdXNpbmcKQEAgLTEwNCw2ICszOSwxMyBAQAog CShBZGRpbmcgYW4gaW5kZXggcmVxdWlyZXMgYSBjYXR2ZXJzaW9uLmggdXBkYXRlLCB3aGls ZSBzaW1wbHkKIAlhZGRpbmcvZGVsZXRpbmcgY2FjaGVzIG9ubHkgcmVxdWlyZXMgYSByZWNv bXBpbGUuKQogCisJVGhlbiBhZGQgdGhlIG5hbWUgb2YgeW91ciBuYW1lIGNhY2hlIGFuZCB0 aGUgaW5pdGlhbCBudW1iZXIgb2YgaGFzaAorCWJ1Y2tldHMgYXMgYXJndW1lbnRzIG9mIERF Q0xBUkVfVU5JUVVFX0lOREVYLgorCisJVGhlIG51bWJlciBvZiBoYXNoIGJ1Y2tldHMgbXVz dCBiZSBhIHBvd2VyIG9mIDIuICBJdCdzIHJlYXNvbmFibGUgdG8KKwlzZXQgdGhpcyB0byB0 aGUgbnVtYmVyIG9mIGVudHJpZXMgdGhhdCBtaWdodCBiZSBpbiB0aGUgcGFydGljdWxhciBj YWNoZQorCWluIGEgbWVkaXVtLXNpemUgZGF0YWJhc2UuCisKIAlGaW5hbGx5LCBhbnkgcGxh Y2UgeW91ciByZWxhdGlvbiBnZXRzIGhlYXBfaW5zZXJ0KCkgb3IKIAloZWFwX3VwZGF0ZSgp IGNhbGxzLCB1c2UgQ2F0YWxvZ1R1cGxlSW5zZXJ0KCkgb3IgQ2F0YWxvZ1R1cGxlVXBkYXRl KCkKIAlpbnN0ZWFkLCB3aGljaCBhbHNvIHVwZGF0ZSBpbmRleGVzLiAgVGhlIGhlYXBfKiBj YWxscyBkbyBub3QgZG8gdGhhdC4KQEAgLTEyNiw1NTggKzY4LDcgQEAgc3RydWN0IGNhY2hl ZGVzYwogLyogTWFjcm8gdG8gcHJvdmlkZSBua2V5cyBhbmQga2V5IGFycmF5IHdpdGggY29u dmVuaWVudCBzeW50YXguICovCiAjZGVmaW5lIEtFWSguLi4pIFZBX0FSR1NfTkFSR1MoX19W QV9BUkdTX18pLCB7IF9fVkFfQVJHU19fIH0KIAotc3RhdGljIGNvbnN0IHN0cnVjdCBjYWNo ZWRlc2MgY2FjaGVpbmZvW10gPSB7Ci0JW0FHR0ZOT0lEXSA9IHsKLQkJQWdncmVnYXRlUmVs YXRpb25JZCwKLQkJQWdncmVnYXRlRm5vaWRJbmRleElkLAotCQlLRVkoQW51bV9wZ19hZ2dy ZWdhdGVfYWdnZm5vaWQpLAotCQkxNgotCX0sCi0JW0FNTkFNRV0gPSB7Ci0JCUFjY2Vzc01l dGhvZFJlbGF0aW9uSWQsCi0JCUFtTmFtZUluZGV4SWQsCi0JCUtFWShBbnVtX3BnX2FtX2Ft bmFtZSksCi0JCTQKLQl9LAotCVtBTU9JRF0gPSB7Ci0JCUFjY2Vzc01ldGhvZFJlbGF0aW9u SWQsCi0JCUFtT2lkSW5kZXhJZCwKLQkJS0VZKEFudW1fcGdfYW1fb2lkKSwKLQkJNAotCX0s Ci0JW0FNT1BPUElEXSA9IHsKLQkJQWNjZXNzTWV0aG9kT3BlcmF0b3JSZWxhdGlvbklkLAot CQlBY2Nlc3NNZXRob2RPcGVyYXRvckluZGV4SWQsCi0JCUtFWShBbnVtX3BnX2Ftb3BfYW1v cG9wciwKLQkJCUFudW1fcGdfYW1vcF9hbW9wcHVycG9zZSwKLQkJCUFudW1fcGdfYW1vcF9h bW9wZmFtaWx5KSwKLQkJNjQKLQl9LAotCVtBTU9QU1RSQVRFR1ldID0gewotCQlBY2Nlc3NN ZXRob2RPcGVyYXRvclJlbGF0aW9uSWQsCi0JCUFjY2Vzc01ldGhvZFN0cmF0ZWd5SW5kZXhJ ZCwKLQkJS0VZKEFudW1fcGdfYW1vcF9hbW9wZmFtaWx5LAotCQkJQW51bV9wZ19hbW9wX2Ft b3BsZWZ0dHlwZSwKLQkJCUFudW1fcGdfYW1vcF9hbW9wcmlnaHR0eXBlLAotCQkJQW51bV9w Z19hbW9wX2Ftb3BzdHJhdGVneSksCi0JCTY0Ci0JfSwKLQlbQU1QUk9DTlVNXSA9IHsKLQkJ QWNjZXNzTWV0aG9kUHJvY2VkdXJlUmVsYXRpb25JZCwKLQkJQWNjZXNzTWV0aG9kUHJvY2Vk dXJlSW5kZXhJZCwKLQkJS0VZKEFudW1fcGdfYW1wcm9jX2FtcHJvY2ZhbWlseSwKLQkJCUFu dW1fcGdfYW1wcm9jX2FtcHJvY2xlZnR0eXBlLAotCQkJQW51bV9wZ19hbXByb2NfYW1wcm9j cmlnaHR0eXBlLAotCQkJQW51bV9wZ19hbXByb2NfYW1wcm9jbnVtKSwKLQkJMTYKLQl9LAot CVtBVFROQU1FXSA9IHsKLQkJQXR0cmlidXRlUmVsYXRpb25JZCwKLQkJQXR0cmlidXRlUmVs aWROYW1lSW5kZXhJZCwKLQkJS0VZKEFudW1fcGdfYXR0cmlidXRlX2F0dHJlbGlkLAotCQkJ QW51bV9wZ19hdHRyaWJ1dGVfYXR0bmFtZSksCi0JCTMyCi0JfSwKLQlbQVRUTlVNXSA9IHsK LQkJQXR0cmlidXRlUmVsYXRpb25JZCwKLQkJQXR0cmlidXRlUmVsaWROdW1JbmRleElkLAot CQlLRVkoQW51bV9wZ19hdHRyaWJ1dGVfYXR0cmVsaWQsCi0JCQlBbnVtX3BnX2F0dHJpYnV0 ZV9hdHRudW0pLAotCQkxMjgKLQl9LAotCVtBVVRITUVNTUVNUk9MRV0gPSB7Ci0JCUF1dGhN ZW1SZWxhdGlvbklkLAotCQlBdXRoTWVtTWVtUm9sZUluZGV4SWQsCi0JCUtFWShBbnVtX3Bn X2F1dGhfbWVtYmVyc19tZW1iZXIsCi0JCQlBbnVtX3BnX2F1dGhfbWVtYmVyc19yb2xlaWQs Ci0JCQlBbnVtX3BnX2F1dGhfbWVtYmVyc19ncmFudG9yKSwKLQkJOAotCX0sCi0JW0FVVEhN RU1ST0xFTUVNXSA9IHsKLQkJQXV0aE1lbVJlbGF0aW9uSWQsCi0JCUF1dGhNZW1Sb2xlTWVt SW5kZXhJZCwKLQkJS0VZKEFudW1fcGdfYXV0aF9tZW1iZXJzX3JvbGVpZCwKLQkJCUFudW1f cGdfYXV0aF9tZW1iZXJzX21lbWJlciwKLQkJCUFudW1fcGdfYXV0aF9tZW1iZXJzX2dyYW50 b3IpLAotCQk4Ci0JfSwKLQlbQVVUSE5BTUVdID0gewotCQlBdXRoSWRSZWxhdGlvbklkLAot CQlBdXRoSWRSb2xuYW1lSW5kZXhJZCwKLQkJS0VZKEFudW1fcGdfYXV0aGlkX3JvbG5hbWUp LAotCQk4Ci0JfSwKLQlbQVVUSE9JRF0gPSB7Ci0JCUF1dGhJZFJlbGF0aW9uSWQsCi0JCUF1 dGhJZE9pZEluZGV4SWQsCi0JCUtFWShBbnVtX3BnX2F1dGhpZF9vaWQpLAotCQk4Ci0JfSwK LQlbQ0FTVFNPVVJDRVRBUkdFVF0gPSB7Ci0JCUNhc3RSZWxhdGlvbklkLAotCQlDYXN0U291 cmNlVGFyZ2V0SW5kZXhJZCwKLQkJS0VZKEFudW1fcGdfY2FzdF9jYXN0c291cmNlLAotCQkJ QW51bV9wZ19jYXN0X2Nhc3R0YXJnZXQpLAotCQkyNTYKLQl9LAotCVtDTEFBTU5BTUVOU1Bd ID0gewotCQlPcGVyYXRvckNsYXNzUmVsYXRpb25JZCwKLQkJT3BjbGFzc0FtTmFtZU5zcElu ZGV4SWQsCi0JCUtFWShBbnVtX3BnX29wY2xhc3Nfb3BjbWV0aG9kLAotCQkJQW51bV9wZ19v cGNsYXNzX29wY25hbWUsCi0JCQlBbnVtX3BnX29wY2xhc3Nfb3BjbmFtZXNwYWNlKSwKLQkJ OAotCX0sCi0JW0NMQU9JRF0gPSB7Ci0JCU9wZXJhdG9yQ2xhc3NSZWxhdGlvbklkLAotCQlP cGNsYXNzT2lkSW5kZXhJZCwKLQkJS0VZKEFudW1fcGdfb3BjbGFzc19vaWQpLAotCQk4Ci0J fSwKLQlbQ09MTE5BTUVFTkNOU1BdID0gewotCQlDb2xsYXRpb25SZWxhdGlvbklkLAotCQlD b2xsYXRpb25OYW1lRW5jTnNwSW5kZXhJZCwKLQkJS0VZKEFudW1fcGdfY29sbGF0aW9uX2Nv bGxuYW1lLAotCQkJQW51bV9wZ19jb2xsYXRpb25fY29sbGVuY29kaW5nLAotCQkJQW51bV9w Z19jb2xsYXRpb25fY29sbG5hbWVzcGFjZSksCi0JCTgKLQl9LAotCVtDT0xMT0lEXSA9IHsK LQkJQ29sbGF0aW9uUmVsYXRpb25JZCwKLQkJQ29sbGF0aW9uT2lkSW5kZXhJZCwKLQkJS0VZ KEFudW1fcGdfY29sbGF0aW9uX29pZCksCi0JCTgKLQl9LAotCVtDT05ERUZBVUxUXSA9IHsK LQkJQ29udmVyc2lvblJlbGF0aW9uSWQsCi0JCUNvbnZlcnNpb25EZWZhdWx0SW5kZXhJZCwK LQkJS0VZKEFudW1fcGdfY29udmVyc2lvbl9jb25uYW1lc3BhY2UsCi0JCQlBbnVtX3BnX2Nv bnZlcnNpb25fY29uZm9yZW5jb2RpbmcsCi0JCQlBbnVtX3BnX2NvbnZlcnNpb25fY29udG9l bmNvZGluZywKLQkJCUFudW1fcGdfY29udmVyc2lvbl9vaWQpLAotCQk4Ci0JfSwKLQlbQ09O TkFNRU5TUF0gPSB7Ci0JCUNvbnZlcnNpb25SZWxhdGlvbklkLAotCQlDb252ZXJzaW9uTmFt ZU5zcEluZGV4SWQsCi0JCUtFWShBbnVtX3BnX2NvbnZlcnNpb25fY29ubmFtZSwKLQkJCUFu dW1fcGdfY29udmVyc2lvbl9jb25uYW1lc3BhY2UpLAotCQk4Ci0JfSwKLQlbQ09OU1RST0lE XSA9IHsKLQkJQ29uc3RyYWludFJlbGF0aW9uSWQsCi0JCUNvbnN0cmFpbnRPaWRJbmRleElk LAotCQlLRVkoQW51bV9wZ19jb25zdHJhaW50X29pZCksCi0JCTE2Ci0JfSwKLQlbQ09OVk9J RF0gPSB7Ci0JCUNvbnZlcnNpb25SZWxhdGlvbklkLAotCQlDb252ZXJzaW9uT2lkSW5kZXhJ ZCwKLQkJS0VZKEFudW1fcGdfY29udmVyc2lvbl9vaWQpLAotCQk4Ci0JfSwKLQlbREFUQUJB U0VPSURdID0gewotCQlEYXRhYmFzZVJlbGF0aW9uSWQsCi0JCURhdGFiYXNlT2lkSW5kZXhJ ZCwKLQkJS0VZKEFudW1fcGdfZGF0YWJhc2Vfb2lkKSwKLQkJNAotCX0sCi0JW0RFRkFDTFJP TEVOU1BPQkpdID0gewotCQlEZWZhdWx0QWNsUmVsYXRpb25JZCwKLQkJRGVmYXVsdEFjbFJv bGVOc3BPYmpJbmRleElkLAotCQlLRVkoQW51bV9wZ19kZWZhdWx0X2FjbF9kZWZhY2xyb2xl LAotCQkJQW51bV9wZ19kZWZhdWx0X2FjbF9kZWZhY2xuYW1lc3BhY2UsCi0JCQlBbnVtX3Bn X2RlZmF1bHRfYWNsX2RlZmFjbG9ianR5cGUpLAotCQk4Ci0JfSwKLQlbRU5VTU9JRF0gPSB7 Ci0JCUVudW1SZWxhdGlvbklkLAotCQlFbnVtT2lkSW5kZXhJZCwKLQkJS0VZKEFudW1fcGdf ZW51bV9vaWQpLAotCQk4Ci0JfSwKLQlbRU5VTVRZUE9JRE5BTUVdID0gewotCQlFbnVtUmVs YXRpb25JZCwKLQkJRW51bVR5cElkTGFiZWxJbmRleElkLAotCQlLRVkoQW51bV9wZ19lbnVt X2VudW10eXBpZCwKLQkJCUFudW1fcGdfZW51bV9lbnVtbGFiZWwpLAotCQk4Ci0JfSwKLQlb RVZFTlRUUklHR0VSTkFNRV0gPSB7Ci0JCUV2ZW50VHJpZ2dlclJlbGF0aW9uSWQsCi0JCUV2 ZW50VHJpZ2dlck5hbWVJbmRleElkLAotCQlLRVkoQW51bV9wZ19ldmVudF90cmlnZ2VyX2V2 dG5hbWUpLAotCQk4Ci0JfSwKLQlbRVZFTlRUUklHR0VST0lEXSA9IHsKLQkJRXZlbnRUcmln Z2VyUmVsYXRpb25JZCwKLQkJRXZlbnRUcmlnZ2VyT2lkSW5kZXhJZCwKLQkJS0VZKEFudW1f cGdfZXZlbnRfdHJpZ2dlcl9vaWQpLAotCQk4Ci0JfSwKLQlbRk9SRUlHTkRBVEFXUkFQUEVS TkFNRV0gPSB7Ci0JCUZvcmVpZ25EYXRhV3JhcHBlclJlbGF0aW9uSWQsCi0JCUZvcmVpZ25E YXRhV3JhcHBlck5hbWVJbmRleElkLAotCQlLRVkoQW51bV9wZ19mb3JlaWduX2RhdGFfd3Jh cHBlcl9mZHduYW1lKSwKLQkJMgotCX0sCi0JW0ZPUkVJR05EQVRBV1JBUFBFUk9JRF0gPSB7 Ci0JCUZvcmVpZ25EYXRhV3JhcHBlclJlbGF0aW9uSWQsCi0JCUZvcmVpZ25EYXRhV3JhcHBl ck9pZEluZGV4SWQsCi0JCUtFWShBbnVtX3BnX2ZvcmVpZ25fZGF0YV93cmFwcGVyX29pZCks Ci0JCTIKLQl9LAotCVtGT1JFSUdOU0VSVkVSTkFNRV0gPSB7Ci0JCUZvcmVpZ25TZXJ2ZXJS ZWxhdGlvbklkLAotCQlGb3JlaWduU2VydmVyTmFtZUluZGV4SWQsCi0JCUtFWShBbnVtX3Bn X2ZvcmVpZ25fc2VydmVyX3Nydm5hbWUpLAotCQkyCi0JfSwKLQlbRk9SRUlHTlNFUlZFUk9J RF0gPSB7Ci0JCUZvcmVpZ25TZXJ2ZXJSZWxhdGlvbklkLAotCQlGb3JlaWduU2VydmVyT2lk SW5kZXhJZCwKLQkJS0VZKEFudW1fcGdfZm9yZWlnbl9zZXJ2ZXJfb2lkKSwKLQkJMgotCX0s Ci0JW0ZPUkVJR05UQUJMRVJFTF0gPSB7Ci0JCUZvcmVpZ25UYWJsZVJlbGF0aW9uSWQsCi0J CUZvcmVpZ25UYWJsZVJlbGlkSW5kZXhJZCwKLQkJS0VZKEFudW1fcGdfZm9yZWlnbl90YWJs ZV9mdHJlbGlkKSwKLQkJNAotCX0sCi0JW0lOREVYUkVMSURdID0gewotCQlJbmRleFJlbGF0 aW9uSWQsCi0JCUluZGV4UmVsaWRJbmRleElkLAotCQlLRVkoQW51bV9wZ19pbmRleF9pbmRl eHJlbGlkKSwKLQkJNjQKLQl9LAotCVtMQU5HTkFNRV0gPSB7Ci0JCUxhbmd1YWdlUmVsYXRp b25JZCwKLQkJTGFuZ3VhZ2VOYW1lSW5kZXhJZCwKLQkJS0VZKEFudW1fcGdfbGFuZ3VhZ2Vf bGFubmFtZSksCi0JCTQKLQl9LAotCVtMQU5HT0lEXSA9IHsKLQkJTGFuZ3VhZ2VSZWxhdGlv bklkLAotCQlMYW5ndWFnZU9pZEluZGV4SWQsCi0JCUtFWShBbnVtX3BnX2xhbmd1YWdlX29p ZCksCi0JCTQKLQl9LAotCVtOQU1FU1BBQ0VOQU1FXSA9IHsKLQkJTmFtZXNwYWNlUmVsYXRp b25JZCwKLQkJTmFtZXNwYWNlTmFtZUluZGV4SWQsCi0JCUtFWShBbnVtX3BnX25hbWVzcGFj ZV9uc3BuYW1lKSwKLQkJNAotCX0sCi0JW05BTUVTUEFDRU9JRF0gPSB7Ci0JCU5hbWVzcGFj ZVJlbGF0aW9uSWQsCi0JCU5hbWVzcGFjZU9pZEluZGV4SWQsCi0JCUtFWShBbnVtX3BnX25h bWVzcGFjZV9vaWQpLAotCQkxNgotCX0sCi0JW09QRVJOQU1FTlNQXSA9IHsKLQkJT3BlcmF0 b3JSZWxhdGlvbklkLAotCQlPcGVyYXRvck5hbWVOc3BJbmRleElkLAotCQlLRVkoQW51bV9w Z19vcGVyYXRvcl9vcHJuYW1lLAotCQkJQW51bV9wZ19vcGVyYXRvcl9vcHJsZWZ0LAotCQkJ QW51bV9wZ19vcGVyYXRvcl9vcHJyaWdodCwKLQkJCUFudW1fcGdfb3BlcmF0b3Jfb3BybmFt ZXNwYWNlKSwKLQkJMjU2Ci0JfSwKLQlbT1BFUk9JRF0gPSB7Ci0JCU9wZXJhdG9yUmVsYXRp b25JZCwKLQkJT3BlcmF0b3JPaWRJbmRleElkLAotCQlLRVkoQW51bV9wZ19vcGVyYXRvcl9v aWQpLAotCQkzMgotCX0sCi0JW09QRkFNSUxZQU1OQU1FTlNQXSA9IHsKLQkJT3BlcmF0b3JG YW1pbHlSZWxhdGlvbklkLAotCQlPcGZhbWlseUFtTmFtZU5zcEluZGV4SWQsCi0JCUtFWShB bnVtX3BnX29wZmFtaWx5X29wZm1ldGhvZCwKLQkJCUFudW1fcGdfb3BmYW1pbHlfb3BmbmFt ZSwKLQkJCUFudW1fcGdfb3BmYW1pbHlfb3BmbmFtZXNwYWNlKSwKLQkJOAotCX0sCi0JW09Q RkFNSUxZT0lEXSA9IHsKLQkJT3BlcmF0b3JGYW1pbHlSZWxhdGlvbklkLAotCQlPcGZhbWls eU9pZEluZGV4SWQsCi0JCUtFWShBbnVtX3BnX29wZmFtaWx5X29pZCksCi0JCTgKLQl9LAot CVtQQVJBTUVURVJBQ0xOQU1FXSA9IHsKLQkJUGFyYW1ldGVyQWNsUmVsYXRpb25JZCwKLQkJ UGFyYW1ldGVyQWNsUGFybmFtZUluZGV4SWQsCi0JCUtFWShBbnVtX3BnX3BhcmFtZXRlcl9h Y2xfcGFybmFtZSksCi0JCTQKLQl9LAotCVtQQVJBTUVURVJBQ0xPSURdID0gewotCQlQYXJh bWV0ZXJBY2xSZWxhdGlvbklkLAotCQlQYXJhbWV0ZXJBY2xPaWRJbmRleElkLAotCQlLRVko QW51bV9wZ19wYXJhbWV0ZXJfYWNsX29pZCksCi0JCTQKLQl9LAotCVtQQVJUUkVMSURdID0g ewotCQlQYXJ0aXRpb25lZFJlbGF0aW9uSWQsCi0JCVBhcnRpdGlvbmVkUmVsaWRJbmRleElk LAotCQlLRVkoQW51bV9wZ19wYXJ0aXRpb25lZF90YWJsZV9wYXJ0cmVsaWQpLAotCQkzMgot CX0sCi0JW1BST0NOQU1FQVJHU05TUF0gPSB7Ci0JCVByb2NlZHVyZVJlbGF0aW9uSWQsCi0J CVByb2NlZHVyZU5hbWVBcmdzTnNwSW5kZXhJZCwKLQkJS0VZKEFudW1fcGdfcHJvY19wcm9u YW1lLAotCQkJQW51bV9wZ19wcm9jX3Byb2FyZ3R5cGVzLAotCQkJQW51bV9wZ19wcm9jX3By b25hbWVzcGFjZSksCi0JCTEyOAotCX0sCi0JW1BST0NPSURdID0gewotCQlQcm9jZWR1cmVS ZWxhdGlvbklkLAotCQlQcm9jZWR1cmVPaWRJbmRleElkLAotCQlLRVkoQW51bV9wZ19wcm9j X29pZCksCi0JCTEyOAotCX0sCi0JW1BVQkxJQ0FUSU9OTkFNRV0gPSB7Ci0JCVB1YmxpY2F0 aW9uUmVsYXRpb25JZCwKLQkJUHVibGljYXRpb25OYW1lSW5kZXhJZCwKLQkJS0VZKEFudW1f cGdfcHVibGljYXRpb25fcHVibmFtZSksCi0JCTgKLQl9LAotCVtQVUJMSUNBVElPTk5BTUVT UEFDRV0gPSB7Ci0JCVB1YmxpY2F0aW9uTmFtZXNwYWNlUmVsYXRpb25JZCwKLQkJUHVibGlj YXRpb25OYW1lc3BhY2VPYmplY3RJbmRleElkLAotCQlLRVkoQW51bV9wZ19wdWJsaWNhdGlv bl9uYW1lc3BhY2Vfb2lkKSwKLQkJNjQKLQl9LAotCVtQVUJMSUNBVElPTk5BTUVTUEFDRU1B UF0gPSB7Ci0JCVB1YmxpY2F0aW9uTmFtZXNwYWNlUmVsYXRpb25JZCwKLQkJUHVibGljYXRp b25OYW1lc3BhY2VQbm5zcGlkUG5wdWJpZEluZGV4SWQsCi0JCUtFWShBbnVtX3BnX3B1Ymxp Y2F0aW9uX25hbWVzcGFjZV9wbm5zcGlkLAotCQkJQW51bV9wZ19wdWJsaWNhdGlvbl9uYW1l c3BhY2VfcG5wdWJpZCksCi0JCTY0Ci0JfSwKLQlbUFVCTElDQVRJT05PSURdID0gewotCQlQ dWJsaWNhdGlvblJlbGF0aW9uSWQsCi0JCVB1YmxpY2F0aW9uT2JqZWN0SW5kZXhJZCwKLQkJ S0VZKEFudW1fcGdfcHVibGljYXRpb25fb2lkKSwKLQkJOAotCX0sCi0JW1BVQkxJQ0FUSU9O UkVMXSA9IHsKLQkJUHVibGljYXRpb25SZWxSZWxhdGlvbklkLAotCQlQdWJsaWNhdGlvblJl bE9iamVjdEluZGV4SWQsCi0JCUtFWShBbnVtX3BnX3B1YmxpY2F0aW9uX3JlbF9vaWQpLAot CQk2NAotCX0sCi0JW1BVQkxJQ0FUSU9OUkVMTUFQXSA9IHsKLQkJUHVibGljYXRpb25SZWxS ZWxhdGlvbklkLAotCQlQdWJsaWNhdGlvblJlbFBycmVsaWRQcnB1YmlkSW5kZXhJZCwKLQkJ S0VZKEFudW1fcGdfcHVibGljYXRpb25fcmVsX3BycmVsaWQsCi0JCQlBbnVtX3BnX3B1Ymxp Y2F0aW9uX3JlbF9wcnB1YmlkKSwKLQkJNjQKLQl9LAotCVtSQU5HRU1VTFRJUkFOR0VdID0g ewotCQlSYW5nZVJlbGF0aW9uSWQsCi0JCVJhbmdlTXVsdGlyYW5nZVR5cGlkSW5kZXhJZCwK LQkJS0VZKEFudW1fcGdfcmFuZ2Vfcm5nbXVsdGl0eXBpZCksCi0JCTQKLQl9LAotCVtSQU5H RVRZUEVdID0gewotCQlSYW5nZVJlbGF0aW9uSWQsCi0JCVJhbmdlVHlwaWRJbmRleElkLAot CQlLRVkoQW51bV9wZ19yYW5nZV9ybmd0eXBpZCksCi0JCTQKLQl9LAotCVtSRUxOQU1FTlNQ XSA9IHsKLQkJUmVsYXRpb25SZWxhdGlvbklkLAotCQlDbGFzc05hbWVOc3BJbmRleElkLAot CQlLRVkoQW51bV9wZ19jbGFzc19yZWxuYW1lLAotCQkJQW51bV9wZ19jbGFzc19yZWxuYW1l c3BhY2UpLAotCQkxMjgKLQl9LAotCVtSRUxPSURdID0gewotCQlSZWxhdGlvblJlbGF0aW9u SWQsCi0JCUNsYXNzT2lkSW5kZXhJZCwKLQkJS0VZKEFudW1fcGdfY2xhc3Nfb2lkKSwKLQkJ MTI4Ci0JfSwKLQlbUkVQTE9SSUdJREVOVF0gPSB7Ci0JCVJlcGxpY2F0aW9uT3JpZ2luUmVs YXRpb25JZCwKLQkJUmVwbGljYXRpb25PcmlnaW5JZGVudEluZGV4LAotCQlLRVkoQW51bV9w Z19yZXBsaWNhdGlvbl9vcmlnaW5fcm9pZGVudCksCi0JCTE2Ci0JfSwKLQlbUkVQTE9SSUdO QU1FXSA9IHsKLQkJUmVwbGljYXRpb25PcmlnaW5SZWxhdGlvbklkLAotCQlSZXBsaWNhdGlv bk9yaWdpbk5hbWVJbmRleCwKLQkJS0VZKEFudW1fcGdfcmVwbGljYXRpb25fb3JpZ2luX3Jv bmFtZSksCi0JCTE2Ci0JfSwKLQlbUlVMRVJFTE5BTUVdID0gewotCQlSZXdyaXRlUmVsYXRp b25JZCwKLQkJUmV3cml0ZVJlbFJ1bGVuYW1lSW5kZXhJZCwKLQkJS0VZKEFudW1fcGdfcmV3 cml0ZV9ldl9jbGFzcywKLQkJCUFudW1fcGdfcmV3cml0ZV9ydWxlbmFtZSksCi0JCTgKLQl9 LAotCVtTRVFSRUxJRF0gPSB7Ci0JCVNlcXVlbmNlUmVsYXRpb25JZCwKLQkJU2VxdWVuY2VS ZWxpZEluZGV4SWQsCi0JCUtFWShBbnVtX3BnX3NlcXVlbmNlX3NlcXJlbGlkKSwKLQkJMzIK LQl9LAotCVtTVEFURVhUREFUQVNUWE9JRF0gPSB7Ci0JCVN0YXRpc3RpY0V4dERhdGFSZWxh dGlvbklkLAotCQlTdGF0aXN0aWNFeHREYXRhU3R4b2lkSW5oSW5kZXhJZCwKLQkJS0VZKEFu dW1fcGdfc3RhdGlzdGljX2V4dF9kYXRhX3N0eG9pZCwKLQkJCUFudW1fcGdfc3RhdGlzdGlj X2V4dF9kYXRhX3N0eGRpbmhlcml0KSwKLQkJNAotCX0sCi0JW1NUQVRFWFROQU1FTlNQXSA9 IHsKLQkJU3RhdGlzdGljRXh0UmVsYXRpb25JZCwKLQkJU3RhdGlzdGljRXh0TmFtZUluZGV4 SWQsCi0JCUtFWShBbnVtX3BnX3N0YXRpc3RpY19leHRfc3R4bmFtZSwKLQkJCUFudW1fcGdf c3RhdGlzdGljX2V4dF9zdHhuYW1lc3BhY2UpLAotCQk0Ci0JfSwKLQlbU1RBVEVYVE9JRF0g PSB7Ci0JCVN0YXRpc3RpY0V4dFJlbGF0aW9uSWQsCi0JCVN0YXRpc3RpY0V4dE9pZEluZGV4 SWQsCi0JCUtFWShBbnVtX3BnX3N0YXRpc3RpY19leHRfb2lkKSwKLQkJNAotCX0sCi0JW1NU QVRSRUxBVFRJTkhdID0gewotCQlTdGF0aXN0aWNSZWxhdGlvbklkLAotCQlTdGF0aXN0aWNS ZWxpZEF0dG51bUluaEluZGV4SWQsCi0JCUtFWShBbnVtX3BnX3N0YXRpc3RpY19zdGFyZWxp ZCwKLQkJCUFudW1fcGdfc3RhdGlzdGljX3N0YWF0dG51bSwKLQkJCUFudW1fcGdfc3RhdGlz dGljX3N0YWluaGVyaXQpLAotCQkxMjgKLQl9LAotCVtTVUJTQ1JJUFRJT05OQU1FXSA9IHsK LQkJU3Vic2NyaXB0aW9uUmVsYXRpb25JZCwKLQkJU3Vic2NyaXB0aW9uTmFtZUluZGV4SWQs Ci0JCUtFWShBbnVtX3BnX3N1YnNjcmlwdGlvbl9zdWJkYmlkLAotCQkJQW51bV9wZ19zdWJz Y3JpcHRpb25fc3VibmFtZSksCi0JCTQKLQl9LAotCVtTVUJTQ1JJUFRJT05PSURdID0gewot CQlTdWJzY3JpcHRpb25SZWxhdGlvbklkLAotCQlTdWJzY3JpcHRpb25PYmplY3RJbmRleElk LAotCQlLRVkoQW51bV9wZ19zdWJzY3JpcHRpb25fb2lkKSwKLQkJNAotCX0sCi0JW1NVQlND UklQVElPTlJFTE1BUF0gPSB7Ci0JCVN1YnNjcmlwdGlvblJlbFJlbGF0aW9uSWQsCi0JCVN1 YnNjcmlwdGlvblJlbFNycmVsaWRTcnN1YmlkSW5kZXhJZCwKLQkJS0VZKEFudW1fcGdfc3Vi c2NyaXB0aW9uX3JlbF9zcnJlbGlkLAotCQkJQW51bV9wZ19zdWJzY3JpcHRpb25fcmVsX3Ny c3ViaWQpLAotCQk2NAotCX0sCi0JW1RBQkxFU1BBQ0VPSURdID0gewotCQlUYWJsZVNwYWNl UmVsYXRpb25JZCwKLQkJVGFibGVzcGFjZU9pZEluZGV4SWQsCi0JCUtFWShBbnVtX3BnX3Rh Ymxlc3BhY2Vfb2lkKSwKLQkJNAotCX0sCi0JW1RSRk9JRF0gPSB7Ci0JCVRyYW5zZm9ybVJl bGF0aW9uSWQsCi0JCVRyYW5zZm9ybU9pZEluZGV4SWQsCi0JCUtFWShBbnVtX3BnX3RyYW5z Zm9ybV9vaWQpLAotCQkxNgotCX0sCi0JW1RSRlRZUEVMQU5HXSA9IHsKLQkJVHJhbnNmb3Jt UmVsYXRpb25JZCwKLQkJVHJhbnNmb3JtVHlwZUxhbmdJbmRleElkLAotCQlLRVkoQW51bV9w Z190cmFuc2Zvcm1fdHJmdHlwZSwKLQkJCUFudW1fcGdfdHJhbnNmb3JtX3RyZmxhbmcpLAot CQkxNgotCX0sCi0JW1RTQ09ORklHTUFQXSA9IHsKLQkJVFNDb25maWdNYXBSZWxhdGlvbklk LAotCQlUU0NvbmZpZ01hcEluZGV4SWQsCi0JCUtFWShBbnVtX3BnX3RzX2NvbmZpZ19tYXBf bWFwY2ZnLAotCQkJQW51bV9wZ190c19jb25maWdfbWFwX21hcHRva2VudHlwZSwKLQkJCUFu dW1fcGdfdHNfY29uZmlnX21hcF9tYXBzZXFubyksCi0JCTIKLQl9LAotCVtUU0NPTkZJR05B TUVOU1BdID0gewotCQlUU0NvbmZpZ1JlbGF0aW9uSWQsCi0JCVRTQ29uZmlnTmFtZU5zcElu ZGV4SWQsCi0JCUtFWShBbnVtX3BnX3RzX2NvbmZpZ19jZmduYW1lLAotCQkJQW51bV9wZ190 c19jb25maWdfY2ZnbmFtZXNwYWNlKSwKLQkJMgotCX0sCi0JW1RTQ09ORklHT0lEXSA9IHsK LQkJVFNDb25maWdSZWxhdGlvbklkLAotCQlUU0NvbmZpZ09pZEluZGV4SWQsCi0JCUtFWShB bnVtX3BnX3RzX2NvbmZpZ19vaWQpLAotCQkyCi0JfSwKLQlbVFNESUNUTkFNRU5TUF0gPSB7 Ci0JCVRTRGljdGlvbmFyeVJlbGF0aW9uSWQsCi0JCVRTRGljdGlvbmFyeU5hbWVOc3BJbmRl eElkLAotCQlLRVkoQW51bV9wZ190c19kaWN0X2RpY3RuYW1lLAotCQkJQW51bV9wZ190c19k aWN0X2RpY3RuYW1lc3BhY2UpLAotCQkyCi0JfSwKLQlbVFNESUNUT0lEXSA9IHsKLQkJVFNE aWN0aW9uYXJ5UmVsYXRpb25JZCwKLQkJVFNEaWN0aW9uYXJ5T2lkSW5kZXhJZCwKLQkJS0VZ KEFudW1fcGdfdHNfZGljdF9vaWQpLAotCQkyCi0JfSwKLQlbVFNQQVJTRVJOQU1FTlNQXSA9 IHsKLQkJVFNQYXJzZXJSZWxhdGlvbklkLAotCQlUU1BhcnNlck5hbWVOc3BJbmRleElkLAot CQlLRVkoQW51bV9wZ190c19wYXJzZXJfcHJzbmFtZSwKLQkJCUFudW1fcGdfdHNfcGFyc2Vy X3Byc25hbWVzcGFjZSksCi0JCTIKLQl9LAotCVtUU1BBUlNFUk9JRF0gPSB7Ci0JCVRTUGFy c2VyUmVsYXRpb25JZCwKLQkJVFNQYXJzZXJPaWRJbmRleElkLAotCQlLRVkoQW51bV9wZ190 c19wYXJzZXJfb2lkKSwKLQkJMgotCX0sCi0JW1RTVEVNUExBVEVOQU1FTlNQXSA9IHsKLQkJ VFNUZW1wbGF0ZVJlbGF0aW9uSWQsCi0JCVRTVGVtcGxhdGVOYW1lTnNwSW5kZXhJZCwKLQkJ S0VZKEFudW1fcGdfdHNfdGVtcGxhdGVfdG1wbG5hbWUsCi0JCQlBbnVtX3BnX3RzX3RlbXBs YXRlX3RtcGxuYW1lc3BhY2UpLAotCQkyCi0JfSwKLQlbVFNURU1QTEFURU9JRF0gPSB7Ci0J CVRTVGVtcGxhdGVSZWxhdGlvbklkLAotCQlUU1RlbXBsYXRlT2lkSW5kZXhJZCwKLQkJS0VZ KEFudW1fcGdfdHNfdGVtcGxhdGVfb2lkKSwKLQkJMgotCX0sCi0JW1RZUEVOQU1FTlNQXSA9 IHsKLQkJVHlwZVJlbGF0aW9uSWQsCi0JCVR5cGVOYW1lTnNwSW5kZXhJZCwKLQkJS0VZKEFu dW1fcGdfdHlwZV90eXBuYW1lLAotCQkJQW51bV9wZ190eXBlX3R5cG5hbWVzcGFjZSksCi0J CTY0Ci0JfSwKLQlbVFlQRU9JRF0gPSB7Ci0JCVR5cGVSZWxhdGlvbklkLAotCQlUeXBlT2lk SW5kZXhJZCwKLQkJS0VZKEFudW1fcGdfdHlwZV9vaWQpLAotCQk2NAotCX0sCi0JW1VTRVJN QVBQSU5HT0lEXSA9IHsKLQkJVXNlck1hcHBpbmdSZWxhdGlvbklkLAotCQlVc2VyTWFwcGlu Z09pZEluZGV4SWQsCi0JCUtFWShBbnVtX3BnX3VzZXJfbWFwcGluZ19vaWQpLAotCQkyCi0J fSwKLQlbVVNFUk1BUFBJTkdVU0VSU0VSVkVSXSA9IHsKLQkJVXNlck1hcHBpbmdSZWxhdGlv bklkLAotCQlVc2VyTWFwcGluZ1VzZXJTZXJ2ZXJJbmRleElkLAotCQlLRVkoQW51bV9wZ191 c2VyX21hcHBpbmdfdW11c2VyLAotCQkJQW51bV9wZ191c2VyX21hcHBpbmdfdW1zZXJ2ZXIp LAotCQkyCi0JfQotfTsKKyNpbmNsdWRlICJjYXRhbG9nL3N5c2NhY2hlX2luZm8uYy5oIgog CiBTdGF0aWNBc3NlcnREZWNsKGxlbmd0aG9mKGNhY2hlaW5mbykgPT0gU3lzQ2FjaGVTaXpl LAogCQkJCSAiU3lzQ2FjaGVTaXplIGRvZXMgbm90IG1hdGNoIHN5c2NhY2hlLmMncyBhcnJh eSIpOwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy8uZ2l0aWdub3JlIGIvc3Jj L2luY2x1ZGUvY2F0YWxvZy8uZ2l0aWdub3JlCmluZGV4IDZiODNkNGM3ZTZlLi5mN2RkZjI1 NTRiOCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy8uZ2l0aWdub3JlCisrKyBi L3NyYy9pbmNsdWRlL2NhdGFsb2cvLmdpdGlnbm9yZQpAQCAtMSw0ICsxLDYgQEAKIC9zY2hl bWFwZy5oCisvc3lzY2FjaGVfaW5mby5jLmgKKy9zeXNjYWNoZV9pbmZvLmgKIC9zeXN0ZW1f ZmtfaW5mby5oCiAvcGdfKl9kLmgKIC9oZWFkZXItc3RhbXAKZGlmZiAtLWdpdCBhL3NyYy9p bmNsdWRlL2NhdGFsb2cvZ2VuYmtpLmggYi9zcmMvaW5jbHVkZS9jYXRhbG9nL2dlbmJraS5o CmluZGV4IGUyMmE2OTAyZmIwLi4yZDViZDM4Y2RlMCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1 ZGUvY2F0YWxvZy9nZW5ia2kuaAorKysgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL2dlbmJraS5o CkBAIC03NywxMyArNzcsMTQgQEAKICAqIGlzIHRoZSBuYW1lIG9mIGEgI2RlZmluZSB0byBn ZW5lcmF0ZSBmb3IgaXRzIE9JRC4gIFJlZmVyZW5jZXMgdG8gdGhlIGluZGV4CiAgKiBpbiB0 aGUgQyBjb2RlIHNob3VsZCBhbHdheXMgdXNlIHRoZXNlICNkZWZpbmVzLCBub3QgdGhlIGFj dHVhbCBpbmRleCBuYW1lCiAgKiAobXVjaCBsZXNzIHRoZSBudW1lcmljIE9JRCkuICBUaGUg Zm91cnRoIGFyZ3VtZW50IGlzIHRoZSB0YWJsZSBuYW1lLiAgVGhlCi0gKiByZXN0IGlzIG11 Y2ggbGlrZSBhIHN0YW5kYXJkICdjcmVhdGUgaW5kZXgnIFNRTCBjb21tYW5kLgorICogZGVj bCBhcmd1bWVudCBpcyBtdWNoIGxpa2UgYSBzdGFuZGFyZCAnY3JlYXRlIGluZGV4JyBTUUwg Y29tbWFuZC4KKyAqIE9wdGlvbmFsbHksIHNwZWNpZnkgdGhlIHN5c2NhY2hlIElEIGFuZCBi dWNrZXQgc2l6ZS4KICAqCiAgKiBUaGUgbWFjcm8gZGVmaW5pdGlvbnMgYXJlIGp1c3QgdG8g a2VlcCB0aGUgQyBjb21waWxlciBmcm9tIHNwaXR0aW5nIHVwLgogICovCiAjZGVmaW5lIERF Q0xBUkVfSU5ERVgobmFtZSxvaWQsb2lkbWFjcm8sdGJsbmFtZSxkZWNsKSBleHRlcm4gaW50 IG5vX3N1Y2hfdmFyaWFibGUKLSNkZWZpbmUgREVDTEFSRV9VTklRVUVfSU5ERVgobmFtZSxv aWQsb2lkbWFjcm8sdGJsbmFtZSxkZWNsKSBleHRlcm4gaW50IG5vX3N1Y2hfdmFyaWFibGUK LSNkZWZpbmUgREVDTEFSRV9VTklRVUVfSU5ERVhfUEtFWShuYW1lLG9pZCxvaWRtYWNybyx0 YmxuYW1lLGRlY2wpIGV4dGVybiBpbnQgbm9fc3VjaF92YXJpYWJsZQorI2RlZmluZSBERUNM QVJFX1VOSVFVRV9JTkRFWChuYW1lLG9pZCxvaWRtYWNybyx0YmxuYW1lLGRlY2wsLi4uKSBl eHRlcm4gaW50IG5vX3N1Y2hfdmFyaWFibGUKKyNkZWZpbmUgREVDTEFSRV9VTklRVUVfSU5E RVhfUEtFWShuYW1lLG9pZCxvaWRtYWNybyx0YmxuYW1lLGRlY2wsLi4uKSBleHRlcm4gaW50 IG5vX3N1Y2hfdmFyaWFibGUKIAogLyoKICAqIFRoZXNlIGxpbmVzIGluZm9ybSBnZW5ia2ku cGwgYWJvdXQgbWFudWFsbHktYXNzaWduZWQgT0lEcyB0aGF0IGRvIG5vdApkaWZmIC0tZ2l0 IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9tZXNvbi5idWlsZCBiL3NyYy9pbmNsdWRlL2NhdGFs b2cvbWVzb24uYnVpbGQKaW5kZXggZGNiM2M1Zjc2NjYuLjM5ZDhlOTRhZTI3IDEwMDY0NAot LS0gYS9zcmMvaW5jbHVkZS9jYXRhbG9nL21lc29uLmJ1aWxkCisrKyBiL3NyYy9pbmNsdWRl L2NhdGFsb2cvbWVzb24uYnVpbGQKQEAgLTEwMiw4ICsxMDIsMjIgQEAgYmtpX2RhdGFfZiA9 IGZpbGVzKGJraV9kYXRhKQogCiAKIGlucHV0ID0gW10KLW91dHB1dF9maWxlcyA9IFsncG9z dGdyZXMuYmtpJywgJ3N5c3RlbV9jb25zdHJhaW50cy5zcWwnLCAnc2NoZW1hcGcuaCcsICdz eXN0ZW1fZmtfaW5mby5oJ10KLW91dHB1dF9pbnN0YWxsID0gW2Rpcl9kYXRhLCBkaXJfZGF0 YSwgZGlyX2luY2x1ZGVfc2VydmVyIC8gJ2NhdGFsb2cnLCBkaXJfaW5jbHVkZV9zZXJ2ZXIg LyAnY2F0YWxvZyddCitvdXRwdXRfZmlsZXMgPSBbCisgICdwb3N0Z3Jlcy5ia2knLAorICAn c3lzdGVtX2NvbnN0cmFpbnRzLnNxbCcsCisgICdzY2hlbWFwZy5oJywKKyAgJ3N5c2NhY2hl X2luZm8uYy5oJywKKyAgJ3N5c2NhY2hlX2luZm8uaCcsCisgICdzeXN0ZW1fZmtfaW5mby5o JywKK10KK291dHB1dF9pbnN0YWxsID0gWworICBkaXJfZGF0YSwKKyAgZGlyX2RhdGEsCisg IGRpcl9pbmNsdWRlX3NlcnZlciAvICdjYXRhbG9nJywKKyAgZmFsc2UsCisgIGRpcl9pbmNs dWRlX3NlcnZlciAvICdjYXRhbG9nJywKKyAgZGlyX2luY2x1ZGVfc2VydmVyIC8gJ2NhdGFs b2cnLAorXQogCiBmb3JlYWNoIGggOiBjYXRhbG9nX2hlYWRlcnMKICAgZm5hbWUgPSBoLnNw bGl0KCcuaCcpWzBdICsgJ19kLmgnCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9n L3BnX2FnZ3JlZ2F0ZS5oIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19hZ2dyZWdhdGUuaApp bmRleCAwODUxNDllMjU4NC4uZTZmNmY0Y2NiNTIgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRl L2NhdGFsb2cvcGdfYWdncmVnYXRlLmgKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19h Z2dyZWdhdGUuaApAQCAtMTEwLDcgKzExMCw3IEBAIHR5cGVkZWYgRm9ybURhdGFfcGdfYWdn cmVnYXRlICpGb3JtX3BnX2FnZ3JlZ2F0ZTsKIAogREVDTEFSRV9UT0FTVChwZ19hZ2dyZWdh dGUsIDQxNTksIDQxNjApOwogCi1ERUNMQVJFX1VOSVFVRV9JTkRFWF9QS0VZKHBnX2FnZ3Jl Z2F0ZV9mbm9pZF9pbmRleCwgMjY1MCwgQWdncmVnYXRlRm5vaWRJbmRleElkLCBwZ19hZ2dy ZWdhdGUsIGJ0cmVlKGFnZ2Zub2lkIG9pZF9vcHMpKTsKK0RFQ0xBUkVfVU5JUVVFX0lOREVY X1BLRVkocGdfYWdncmVnYXRlX2Zub2lkX2luZGV4LCAyNjUwLCBBZ2dyZWdhdGVGbm9pZElu ZGV4SWQsIHBnX2FnZ3JlZ2F0ZSwgYnRyZWUoYWdnZm5vaWQgb2lkX29wcyksIEFHR0ZOT0lE LCAxNik7CiAKICNpZmRlZiBFWFBPU0VfVE9fQ0xJRU5UX0NPREUKIApkaWZmIC0tZ2l0IGEv c3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19hbS5oIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19h bS5oCmluZGV4IGQ1MzE0YmIzOGJlLi5lM2ExMzEzZTZjNCAxMDA2NDQKLS0tIGEvc3JjL2lu Y2x1ZGUvY2F0YWxvZy9wZ19hbS5oCisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfYW0u aApAQCAtNDcsOCArNDcsOCBAQCBDQVRBTE9HKHBnX2FtLDI2MDEsQWNjZXNzTWV0aG9kUmVs YXRpb25JZCkKICAqLwogdHlwZWRlZiBGb3JtRGF0YV9wZ19hbSAqRm9ybV9wZ19hbTsKIAot REVDTEFSRV9VTklRVUVfSU5ERVgocGdfYW1fbmFtZV9pbmRleCwgMjY1MSwgQW1OYW1lSW5k ZXhJZCwgcGdfYW0sIGJ0cmVlKGFtbmFtZSBuYW1lX29wcykpOwotREVDTEFSRV9VTklRVUVf SU5ERVhfUEtFWShwZ19hbV9vaWRfaW5kZXgsIDI2NTIsIEFtT2lkSW5kZXhJZCwgcGdfYW0s IGJ0cmVlKG9pZCBvaWRfb3BzKSk7CitERUNMQVJFX1VOSVFVRV9JTkRFWChwZ19hbV9uYW1l X2luZGV4LCAyNjUxLCBBbU5hbWVJbmRleElkLCBwZ19hbSwgYnRyZWUoYW1uYW1lIG5hbWVf b3BzKSwgQU1OQU1FLCA0KTsKK0RFQ0xBUkVfVU5JUVVFX0lOREVYX1BLRVkocGdfYW1fb2lk X2luZGV4LCAyNjUyLCBBbU9pZEluZGV4SWQsIHBnX2FtLCBidHJlZShvaWQgb2lkX29wcyks IEFNT0lELCA0KTsKIAogI2lmZGVmIEVYUE9TRV9UT19DTElFTlRfQ09ERQogCmRpZmYgLS1n aXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2Ftb3AuaCBiL3NyYy9pbmNsdWRlL2NhdGFs b2cvcGdfYW1vcC5oCmluZGV4IGM5YmI3YjQ3ODcyLi4zNDQ5MTY2NTA3YiAxMDA2NDQKLS0t IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19hbW9wLmgKKysrIGIvc3JjL2luY2x1ZGUvY2F0 YWxvZy9wZ19hbW9wLmgKQEAgLTg3LDggKzg3LDggQEAgQ0FUQUxPRyhwZ19hbW9wLDI2MDIs QWNjZXNzTWV0aG9kT3BlcmF0b3JSZWxhdGlvbklkKQogICovCiB0eXBlZGVmIEZvcm1EYXRh X3BnX2Ftb3AgKkZvcm1fcGdfYW1vcDsKIAotREVDTEFSRV9VTklRVUVfSU5ERVgocGdfYW1v cF9mYW1fc3RyYXRfaW5kZXgsIDI2NTMsIEFjY2Vzc01ldGhvZFN0cmF0ZWd5SW5kZXhJZCwg cGdfYW1vcCwgYnRyZWUoYW1vcGZhbWlseSBvaWRfb3BzLCBhbW9wbGVmdHR5cGUgb2lkX29w cywgYW1vcHJpZ2h0dHlwZSBvaWRfb3BzLCBhbW9wc3RyYXRlZ3kgaW50Ml9vcHMpKTsKLURF Q0xBUkVfVU5JUVVFX0lOREVYKHBnX2Ftb3Bfb3ByX2ZhbV9pbmRleCwgMjY1NCwgQWNjZXNz TWV0aG9kT3BlcmF0b3JJbmRleElkLCBwZ19hbW9wLCBidHJlZShhbW9wb3ByIG9pZF9vcHMs IGFtb3BwdXJwb3NlIGNoYXJfb3BzLCBhbW9wZmFtaWx5IG9pZF9vcHMpKTsKK0RFQ0xBUkVf VU5JUVVFX0lOREVYKHBnX2Ftb3BfZmFtX3N0cmF0X2luZGV4LCAyNjUzLCBBY2Nlc3NNZXRo b2RTdHJhdGVneUluZGV4SWQsIHBnX2Ftb3AsIGJ0cmVlKGFtb3BmYW1pbHkgb2lkX29wcywg YW1vcGxlZnR0eXBlIG9pZF9vcHMsIGFtb3ByaWdodHR5cGUgb2lkX29wcywgYW1vcHN0cmF0 ZWd5IGludDJfb3BzKSwgQU1PUFNUUkFURUdZLCA2NCk7CitERUNMQVJFX1VOSVFVRV9JTkRF WChwZ19hbW9wX29wcl9mYW1faW5kZXgsIDI2NTQsIEFjY2Vzc01ldGhvZE9wZXJhdG9ySW5k ZXhJZCwgcGdfYW1vcCwgYnRyZWUoYW1vcG9wciBvaWRfb3BzLCBhbW9wcHVycG9zZSBjaGFy X29wcywgYW1vcGZhbWlseSBvaWRfb3BzKSwgQU1PUE9QSUQsIDY0KTsKIERFQ0xBUkVfVU5J UVVFX0lOREVYX1BLRVkocGdfYW1vcF9vaWRfaW5kZXgsIDI3NTYsIEFjY2Vzc01ldGhvZE9w ZXJhdG9yT2lkSW5kZXhJZCwgcGdfYW1vcCwgYnRyZWUob2lkIG9pZF9vcHMpKTsKIAogI2lm ZGVmIEVYUE9TRV9UT19DTElFTlRfQ09ERQpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0 YWxvZy9wZ19hbXByb2MuaCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfYW1wcm9jLmgKaW5k ZXggNWFjZjRlZmFiOTAuLjMxZTY3YmUzNDRiIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9j YXRhbG9nL3BnX2FtcHJvYy5oCisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfYW1wcm9j LmgKQEAgLTY3LDcgKzY3LDcgQEAgQ0FUQUxPRyhwZ19hbXByb2MsMjYwMyxBY2Nlc3NNZXRo b2RQcm9jZWR1cmVSZWxhdGlvbklkKQogICovCiB0eXBlZGVmIEZvcm1EYXRhX3BnX2FtcHJv YyAqRm9ybV9wZ19hbXByb2M7CiAKLURFQ0xBUkVfVU5JUVVFX0lOREVYKHBnX2FtcHJvY19m YW1fcHJvY19pbmRleCwgMjY1NSwgQWNjZXNzTWV0aG9kUHJvY2VkdXJlSW5kZXhJZCwgcGdf YW1wcm9jLCBidHJlZShhbXByb2NmYW1pbHkgb2lkX29wcywgYW1wcm9jbGVmdHR5cGUgb2lk X29wcywgYW1wcm9jcmlnaHR0eXBlIG9pZF9vcHMsIGFtcHJvY251bSBpbnQyX29wcykpOwor REVDTEFSRV9VTklRVUVfSU5ERVgocGdfYW1wcm9jX2ZhbV9wcm9jX2luZGV4LCAyNjU1LCBB Y2Nlc3NNZXRob2RQcm9jZWR1cmVJbmRleElkLCBwZ19hbXByb2MsIGJ0cmVlKGFtcHJvY2Zh bWlseSBvaWRfb3BzLCBhbXByb2NsZWZ0dHlwZSBvaWRfb3BzLCBhbXByb2NyaWdodHR5cGUg b2lkX29wcywgYW1wcm9jbnVtIGludDJfb3BzKSwgQU1QUk9DTlVNLCAxNik7CiBERUNMQVJF X1VOSVFVRV9JTkRFWF9QS0VZKHBnX2FtcHJvY19vaWRfaW5kZXgsIDI3NTcsIEFjY2Vzc01l dGhvZFByb2NlZHVyZU9pZEluZGV4SWQsIHBnX2FtcHJvYywgYnRyZWUob2lkIG9pZF9vcHMp KTsKIAogI2VuZGlmCQkJCQkJCS8qIFBHX0FNUFJPQ19IICovCmRpZmYgLS1naXQgYS9zcmMv aW5jbHVkZS9jYXRhbG9nL3BnX2F0dHJpYnV0ZS5oIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9w Z19hdHRyaWJ1dGUuaAppbmRleCA2NzJhNWExNmZmNy4uODQ3NTkxNzVkZTQgMTAwNjQ0Ci0t LSBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfYXR0cmlidXRlLmgKKysrIGIvc3JjL2luY2x1 ZGUvY2F0YWxvZy9wZ19hdHRyaWJ1dGUuaApAQCAtMjA4LDggKzIwOCw4IEBAIENBVEFMT0co cGdfYXR0cmlidXRlLDEyNDksQXR0cmlidXRlUmVsYXRpb25JZCkgQktJX0JPT1RTVFJBUCBC S0lfUk9XVFlQRV9PSUQoNzUsCiAgKi8KIHR5cGVkZWYgRm9ybURhdGFfcGdfYXR0cmlidXRl ICpGb3JtX3BnX2F0dHJpYnV0ZTsKIAotREVDTEFSRV9VTklRVUVfSU5ERVgocGdfYXR0cmli dXRlX3JlbGlkX2F0dG5hbV9pbmRleCwgMjY1OCwgQXR0cmlidXRlUmVsaWROYW1lSW5kZXhJ ZCwgcGdfYXR0cmlidXRlLCBidHJlZShhdHRyZWxpZCBvaWRfb3BzLCBhdHRuYW1lIG5hbWVf b3BzKSk7Ci1ERUNMQVJFX1VOSVFVRV9JTkRFWF9QS0VZKHBnX2F0dHJpYnV0ZV9yZWxpZF9h dHRudW1faW5kZXgsIDI2NTksIEF0dHJpYnV0ZVJlbGlkTnVtSW5kZXhJZCwgcGdfYXR0cmli dXRlLCBidHJlZShhdHRyZWxpZCBvaWRfb3BzLCBhdHRudW0gaW50Ml9vcHMpKTsKK0RFQ0xB UkVfVU5JUVVFX0lOREVYKHBnX2F0dHJpYnV0ZV9yZWxpZF9hdHRuYW1faW5kZXgsIDI2NTgs IEF0dHJpYnV0ZVJlbGlkTmFtZUluZGV4SWQsIHBnX2F0dHJpYnV0ZSwgYnRyZWUoYXR0cmVs aWQgb2lkX29wcywgYXR0bmFtZSBuYW1lX29wcyksIEFUVE5BTUUsIDMyKTsKK0RFQ0xBUkVf VU5JUVVFX0lOREVYX1BLRVkocGdfYXR0cmlidXRlX3JlbGlkX2F0dG51bV9pbmRleCwgMjY1 OSwgQXR0cmlidXRlUmVsaWROdW1JbmRleElkLCBwZ19hdHRyaWJ1dGUsIGJ0cmVlKGF0dHJl bGlkIG9pZF9vcHMsIGF0dG51bSBpbnQyX29wcyksIEFUVE5VTSwgMTI4KTsKIAogI2lmZGVm IEVYUE9TRV9UT19DTElFTlRfQ09ERQogCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRh bG9nL3BnX2F1dGhfbWVtYmVycy5oIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19hdXRoX21l bWJlcnMuaAppbmRleCA0YWI4YTlmN2I3NS4uMzcxMDRjZjIwZjcgMTAwNjQ0Ci0tLSBhL3Ny Yy9pbmNsdWRlL2NhdGFsb2cvcGdfYXV0aF9tZW1iZXJzLmgKKysrIGIvc3JjL2luY2x1ZGUv Y2F0YWxvZy9wZ19hdXRoX21lbWJlcnMuaApAQCAtNDYsOCArNDYsOCBAQCBDQVRBTE9HKHBn X2F1dGhfbWVtYmVycywxMjYxLEF1dGhNZW1SZWxhdGlvbklkKSBCS0lfU0hBUkVEX1JFTEFU SU9OIEJLSV9ST1dUWVBFXwogdHlwZWRlZiBGb3JtRGF0YV9wZ19hdXRoX21lbWJlcnMgKkZv cm1fcGdfYXV0aF9tZW1iZXJzOwogCiBERUNMQVJFX1VOSVFVRV9JTkRFWF9QS0VZKHBnX2F1 dGhfbWVtYmVyc19vaWRfaW5kZXgsIDYzMDMsIEF1dGhNZW1PaWRJbmRleElkLCBwZ19hdXRo X21lbWJlcnMsIGJ0cmVlKG9pZCBvaWRfb3BzKSk7Ci1ERUNMQVJFX1VOSVFVRV9JTkRFWChw Z19hdXRoX21lbWJlcnNfcm9sZV9tZW1iZXJfaW5kZXgsIDI2OTQsIEF1dGhNZW1Sb2xlTWVt SW5kZXhJZCwgcGdfYXV0aF9tZW1iZXJzLCBidHJlZShyb2xlaWQgb2lkX29wcywgbWVtYmVy IG9pZF9vcHMsIGdyYW50b3Igb2lkX29wcykpOwotREVDTEFSRV9VTklRVUVfSU5ERVgocGdf YXV0aF9tZW1iZXJzX21lbWJlcl9yb2xlX2luZGV4LCAyNjk1LCBBdXRoTWVtTWVtUm9sZUlu ZGV4SWQsIHBnX2F1dGhfbWVtYmVycywgYnRyZWUobWVtYmVyIG9pZF9vcHMsIHJvbGVpZCBv aWRfb3BzLCBncmFudG9yIG9pZF9vcHMpKTsKK0RFQ0xBUkVfVU5JUVVFX0lOREVYKHBnX2F1 dGhfbWVtYmVyc19yb2xlX21lbWJlcl9pbmRleCwgMjY5NCwgQXV0aE1lbVJvbGVNZW1JbmRl eElkLCBwZ19hdXRoX21lbWJlcnMsIGJ0cmVlKHJvbGVpZCBvaWRfb3BzLCBtZW1iZXIgb2lk X29wcywgZ3JhbnRvciBvaWRfb3BzKSwgQVVUSE1FTVJPTEVNRU0sIDgpOworREVDTEFSRV9V TklRVUVfSU5ERVgocGdfYXV0aF9tZW1iZXJzX21lbWJlcl9yb2xlX2luZGV4LCAyNjk1LCBB dXRoTWVtTWVtUm9sZUluZGV4SWQsIHBnX2F1dGhfbWVtYmVycywgYnRyZWUobWVtYmVyIG9p ZF9vcHMsIHJvbGVpZCBvaWRfb3BzLCBncmFudG9yIG9pZF9vcHMpLCBBVVRITUVNTUVNUk9M RSwgOCk7CiBERUNMQVJFX0lOREVYKHBnX2F1dGhfbWVtYmVyc19ncmFudG9yX2luZGV4LCA2 MzAyLCBBdXRoTWVtR3JhbnRvckluZGV4SWQsIHBnX2F1dGhfbWVtYmVycywgYnRyZWUoZ3Jh bnRvciBvaWRfb3BzKSk7CiAKICNlbmRpZgkJCQkJCQkvKiBQR19BVVRIX01FTUJFUlNfSCAq LwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19hdXRoaWQuaCBiL3NyYy9p bmNsdWRlL2NhdGFsb2cvcGdfYXV0aGlkLmgKaW5kZXggMGU3ZGRjNTZlYTMuLjc0OGFiOTVm YWQ4IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2F1dGhpZC5oCisrKyBi L3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfYXV0aGlkLmgKQEAgLTU3LDcgKzU3LDcgQEAgdHlw ZWRlZiBGb3JtRGF0YV9wZ19hdXRoaWQgKkZvcm1fcGdfYXV0aGlkOwogCiBERUNMQVJFX1RP QVNUX1dJVEhfTUFDUk8ocGdfYXV0aGlkLCA0MTc1LCA0MTc2LCBQZ0F1dGhpZFRvYXN0VGFi bGUsIFBnQXV0aGlkVG9hc3RJbmRleCk7CiAKLURFQ0xBUkVfVU5JUVVFX0lOREVYKHBnX2F1 dGhpZF9yb2xuYW1lX2luZGV4LCAyNjc2LCBBdXRoSWRSb2xuYW1lSW5kZXhJZCwgcGdfYXV0 aGlkLCBidHJlZShyb2xuYW1lIG5hbWVfb3BzKSk7Ci1ERUNMQVJFX1VOSVFVRV9JTkRFWF9Q S0VZKHBnX2F1dGhpZF9vaWRfaW5kZXgsIDI2NzcsIEF1dGhJZE9pZEluZGV4SWQsIHBnX2F1 dGhpZCwgYnRyZWUob2lkIG9pZF9vcHMpKTsKK0RFQ0xBUkVfVU5JUVVFX0lOREVYKHBnX2F1 dGhpZF9yb2xuYW1lX2luZGV4LCAyNjc2LCBBdXRoSWRSb2xuYW1lSW5kZXhJZCwgcGdfYXV0 aGlkLCBidHJlZShyb2xuYW1lIG5hbWVfb3BzKSwgQVVUSE5BTUUsIDgpOworREVDTEFSRV9V TklRVUVfSU5ERVhfUEtFWShwZ19hdXRoaWRfb2lkX2luZGV4LCAyNjc3LCBBdXRoSWRPaWRJ bmRleElkLCBwZ19hdXRoaWQsIGJ0cmVlKG9pZCBvaWRfb3BzKSwgQVVUSE9JRCwgOCk7CiAK ICNlbmRpZgkJCQkJCQkvKiBQR19BVVRISURfSCAqLwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1 ZGUvY2F0YWxvZy9wZ19jYXN0LmggYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2Nhc3QuaApp bmRleCBhNmJmYTBkYzY4Yi4uMGVkOTY1YWIzMWQgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRl L2NhdGFsb2cvcGdfY2FzdC5oCisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfY2FzdC5o CkBAIC01Nyw3ICs1Nyw3IEBAIENBVEFMT0cocGdfY2FzdCwyNjA1LENhc3RSZWxhdGlvbklk KQogdHlwZWRlZiBGb3JtRGF0YV9wZ19jYXN0ICpGb3JtX3BnX2Nhc3Q7CiAKIERFQ0xBUkVf VU5JUVVFX0lOREVYX1BLRVkocGdfY2FzdF9vaWRfaW5kZXgsIDI2NjAsIENhc3RPaWRJbmRl eElkLCBwZ19jYXN0LCBidHJlZShvaWQgb2lkX29wcykpOwotREVDTEFSRV9VTklRVUVfSU5E RVgocGdfY2FzdF9zb3VyY2VfdGFyZ2V0X2luZGV4LCAyNjYxLCBDYXN0U291cmNlVGFyZ2V0 SW5kZXhJZCwgcGdfY2FzdCwgYnRyZWUoY2FzdHNvdXJjZSBvaWRfb3BzLCBjYXN0dGFyZ2V0 IG9pZF9vcHMpKTsKK0RFQ0xBUkVfVU5JUVVFX0lOREVYKHBnX2Nhc3Rfc291cmNlX3Rhcmdl dF9pbmRleCwgMjY2MSwgQ2FzdFNvdXJjZVRhcmdldEluZGV4SWQsIHBnX2Nhc3QsIGJ0cmVl KGNhc3Rzb3VyY2Ugb2lkX29wcywgY2FzdHRhcmdldCBvaWRfb3BzKSwgQ0FTVFNPVVJDRVRB UkdFVCwgMjU2KTsKIAogI2lmZGVmIEVYUE9TRV9UT19DTElFTlRfQ09ERQogCmRpZmYgLS1n aXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2NsYXNzLmggYi9zcmMvaW5jbHVkZS9jYXRh bG9nL3BnX2NsYXNzLmgKaW5kZXggNTVkY2Q1NDEwMDkuLjUyZWRiZjAyMjlhIDEwMDY0NAot LS0gYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2NsYXNzLmgKKysrIGIvc3JjL2luY2x1ZGUv Y2F0YWxvZy9wZ19jbGFzcy5oCkBAIC0xNTIsOCArMTUyLDggQEAgQ0FUQUxPRyhwZ19jbGFz cywxMjU5LFJlbGF0aW9uUmVsYXRpb25JZCkgQktJX0JPT1RTVFJBUCBCS0lfUk9XVFlQRV9P SUQoODMsUmVsYXQKICAqLwogdHlwZWRlZiBGb3JtRGF0YV9wZ19jbGFzcyAqRm9ybV9wZ19j bGFzczsKIAotREVDTEFSRV9VTklRVUVfSU5ERVhfUEtFWShwZ19jbGFzc19vaWRfaW5kZXgs IDI2NjIsIENsYXNzT2lkSW5kZXhJZCwgcGdfY2xhc3MsIGJ0cmVlKG9pZCBvaWRfb3BzKSk7 Ci1ERUNMQVJFX1VOSVFVRV9JTkRFWChwZ19jbGFzc19yZWxuYW1lX25zcF9pbmRleCwgMjY2 MywgQ2xhc3NOYW1lTnNwSW5kZXhJZCwgcGdfY2xhc3MsIGJ0cmVlKHJlbG5hbWUgbmFtZV9v cHMsIHJlbG5hbWVzcGFjZSBvaWRfb3BzKSk7CitERUNMQVJFX1VOSVFVRV9JTkRFWF9QS0VZ KHBnX2NsYXNzX29pZF9pbmRleCwgMjY2MiwgQ2xhc3NPaWRJbmRleElkLCBwZ19jbGFzcywg YnRyZWUob2lkIG9pZF9vcHMpLCBSRUxPSUQsIDEyOCk7CitERUNMQVJFX1VOSVFVRV9JTkRF WChwZ19jbGFzc19yZWxuYW1lX25zcF9pbmRleCwgMjY2MywgQ2xhc3NOYW1lTnNwSW5kZXhJ ZCwgcGdfY2xhc3MsIGJ0cmVlKHJlbG5hbWUgbmFtZV9vcHMsIHJlbG5hbWVzcGFjZSBvaWRf b3BzKSwgUkVMTkFNRU5TUCwgMTI4KTsKIERFQ0xBUkVfSU5ERVgocGdfY2xhc3NfdGJsc3Bj X3JlbGZpbGVub2RlX2luZGV4LCAzNDU1LCBDbGFzc1RibHNwY1JlbGZpbGVub2RlSW5kZXhJ ZCwgcGdfY2xhc3MsIGJ0cmVlKHJlbHRhYmxlc3BhY2Ugb2lkX29wcywgcmVsZmlsZW5vZGUg b2lkX29wcykpOwogCiAjaWZkZWYgRVhQT1NFX1RPX0NMSUVOVF9DT0RFCmRpZmYgLS1naXQg YS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2NvbGxhdGlvbi5oIGIvc3JjL2luY2x1ZGUvY2F0 YWxvZy9wZ19jb2xsYXRpb24uaAppbmRleCAyZDdkY2RlMTgzYy4uNmNmNTlmNDc5YTEgMTAw NjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfY29sbGF0aW9uLmgKKysrIGIvc3Jj L2luY2x1ZGUvY2F0YWxvZy9wZ19jb2xsYXRpb24uaApAQCAtNTksOCArNTksOCBAQCB0eXBl ZGVmIEZvcm1EYXRhX3BnX2NvbGxhdGlvbiAqRm9ybV9wZ19jb2xsYXRpb247CiAKIERFQ0xB UkVfVE9BU1QocGdfY29sbGF0aW9uLCA2MTc1LCA2MTc2KTsKIAotREVDTEFSRV9VTklRVUVf SU5ERVgocGdfY29sbGF0aW9uX25hbWVfZW5jX25zcF9pbmRleCwgMzE2NCwgQ29sbGF0aW9u TmFtZUVuY05zcEluZGV4SWQsIHBnX2NvbGxhdGlvbiwgYnRyZWUoY29sbG5hbWUgbmFtZV9v cHMsIGNvbGxlbmNvZGluZyBpbnQ0X29wcywgY29sbG5hbWVzcGFjZSBvaWRfb3BzKSk7Ci1E RUNMQVJFX1VOSVFVRV9JTkRFWF9QS0VZKHBnX2NvbGxhdGlvbl9vaWRfaW5kZXgsIDMwODUs IENvbGxhdGlvbk9pZEluZGV4SWQsIHBnX2NvbGxhdGlvbiwgYnRyZWUob2lkIG9pZF9vcHMp KTsKK0RFQ0xBUkVfVU5JUVVFX0lOREVYKHBnX2NvbGxhdGlvbl9uYW1lX2VuY19uc3BfaW5k ZXgsIDMxNjQsIENvbGxhdGlvbk5hbWVFbmNOc3BJbmRleElkLCBwZ19jb2xsYXRpb24sIGJ0 cmVlKGNvbGxuYW1lIG5hbWVfb3BzLCBjb2xsZW5jb2RpbmcgaW50NF9vcHMsIGNvbGxuYW1l c3BhY2Ugb2lkX29wcyksIENPTExOQU1FRU5DTlNQLCA4KTsKK0RFQ0xBUkVfVU5JUVVFX0lO REVYX1BLRVkocGdfY29sbGF0aW9uX29pZF9pbmRleCwgMzA4NSwgQ29sbGF0aW9uT2lkSW5k ZXhJZCwgcGdfY29sbGF0aW9uLCBidHJlZShvaWQgb2lkX29wcyksIENPTExPSUQsIDgpOwog CiAjaWZkZWYgRVhQT1NFX1RPX0NMSUVOVF9DT0RFCiAKZGlmZiAtLWdpdCBhL3NyYy9pbmNs dWRlL2NhdGFsb2cvcGdfY29uc3RyYWludC5oIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19j b25zdHJhaW50LmgKaW5kZXggYTAyNmI0MjUxNWYuLmU0N2YyNTdjNGNkIDEwMDY0NAotLS0g YS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2NvbnN0cmFpbnQuaAorKysgYi9zcmMvaW5jbHVk ZS9jYXRhbG9nL3BnX2NvbnN0cmFpbnQuaApAQCAtMTY5LDcgKzE2OSw3IEBAIERFQ0xBUkVf VE9BU1QocGdfY29uc3RyYWludCwgMjgzMiwgMjgzMyk7CiBERUNMQVJFX0lOREVYKHBnX2Nv bnN0cmFpbnRfY29ubmFtZV9uc3BfaW5kZXgsIDI2NjQsIENvbnN0cmFpbnROYW1lTnNwSW5k ZXhJZCwgcGdfY29uc3RyYWludCwgYnRyZWUoY29ubmFtZSBuYW1lX29wcywgY29ubmFtZXNw YWNlIG9pZF9vcHMpKTsKIERFQ0xBUkVfVU5JUVVFX0lOREVYKHBnX2NvbnN0cmFpbnRfY29u cmVsaWRfY29udHlwaWRfY29ubmFtZV9pbmRleCwgMjY2NSwgQ29uc3RyYWludFJlbGlkVHlw aWROYW1lSW5kZXhJZCwgcGdfY29uc3RyYWludCwgYnRyZWUoY29ucmVsaWQgb2lkX29wcywg Y29udHlwaWQgb2lkX29wcywgY29ubmFtZSBuYW1lX29wcykpOwogREVDTEFSRV9JTkRFWChw Z19jb25zdHJhaW50X2NvbnR5cGlkX2luZGV4LCAyNjY2LCBDb25zdHJhaW50VHlwaWRJbmRl eElkLCBwZ19jb25zdHJhaW50LCBidHJlZShjb250eXBpZCBvaWRfb3BzKSk7Ci1ERUNMQVJF X1VOSVFVRV9JTkRFWF9QS0VZKHBnX2NvbnN0cmFpbnRfb2lkX2luZGV4LCAyNjY3LCBDb25z dHJhaW50T2lkSW5kZXhJZCwgcGdfY29uc3RyYWludCwgYnRyZWUob2lkIG9pZF9vcHMpKTsK K0RFQ0xBUkVfVU5JUVVFX0lOREVYX1BLRVkocGdfY29uc3RyYWludF9vaWRfaW5kZXgsIDI2 NjcsIENvbnN0cmFpbnRPaWRJbmRleElkLCBwZ19jb25zdHJhaW50LCBidHJlZShvaWQgb2lk X29wcyksIENPTlNUUk9JRCwgMTYpOwogREVDTEFSRV9JTkRFWChwZ19jb25zdHJhaW50X2Nv bnBhcmVudGlkX2luZGV4LCAyNTc5LCBDb25zdHJhaW50UGFyZW50SW5kZXhJZCwgcGdfY29u c3RyYWludCwgYnRyZWUoY29ucGFyZW50aWQgb2lkX29wcykpOwogCiAvKiBjb25rZXkgY2Fu IGNvbnRhaW4gemVybyAoSW52YWxpZEF0dHJOdW1iZXIpIGlmIGEgd2hvbGUtcm93IFZhciBp cyB1c2VkICovCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2NvbnZlcnNp b24uaCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfY29udmVyc2lvbi5oCmluZGV4IDQyODQ3 ZmRmMTJkLi5hY2Q5NDRhNGFlNiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9w Z19jb252ZXJzaW9uLmgKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19jb252ZXJzaW9u LmgKQEAgLTYwLDkgKzYwLDkgQEAgQ0FUQUxPRyhwZ19jb252ZXJzaW9uLDI2MDcsQ29udmVy c2lvblJlbGF0aW9uSWQpCiAgKi8KIHR5cGVkZWYgRm9ybURhdGFfcGdfY29udmVyc2lvbiAq Rm9ybV9wZ19jb252ZXJzaW9uOwogCi1ERUNMQVJFX1VOSVFVRV9JTkRFWChwZ19jb252ZXJz aW9uX2RlZmF1bHRfaW5kZXgsIDI2NjgsIENvbnZlcnNpb25EZWZhdWx0SW5kZXhJZCwgcGdf Y29udmVyc2lvbiwgYnRyZWUoY29ubmFtZXNwYWNlIG9pZF9vcHMsIGNvbmZvcmVuY29kaW5n IGludDRfb3BzLCBjb250b2VuY29kaW5nIGludDRfb3BzLCBvaWQgb2lkX29wcykpOwotREVD TEFSRV9VTklRVUVfSU5ERVgocGdfY29udmVyc2lvbl9uYW1lX25zcF9pbmRleCwgMjY2OSwg Q29udmVyc2lvbk5hbWVOc3BJbmRleElkLCBwZ19jb252ZXJzaW9uLCBidHJlZShjb25uYW1l IG5hbWVfb3BzLCBjb25uYW1lc3BhY2Ugb2lkX29wcykpOwotREVDTEFSRV9VTklRVUVfSU5E RVhfUEtFWShwZ19jb252ZXJzaW9uX29pZF9pbmRleCwgMjY3MCwgQ29udmVyc2lvbk9pZElu ZGV4SWQsIHBnX2NvbnZlcnNpb24sIGJ0cmVlKG9pZCBvaWRfb3BzKSk7CitERUNMQVJFX1VO SVFVRV9JTkRFWChwZ19jb252ZXJzaW9uX2RlZmF1bHRfaW5kZXgsIDI2NjgsIENvbnZlcnNp b25EZWZhdWx0SW5kZXhJZCwgcGdfY29udmVyc2lvbiwgYnRyZWUoY29ubmFtZXNwYWNlIG9p ZF9vcHMsIGNvbmZvcmVuY29kaW5nIGludDRfb3BzLCBjb250b2VuY29kaW5nIGludDRfb3Bz LCBvaWQgb2lkX29wcyksIENPTkRFRkFVTFQsIDgpOworREVDTEFSRV9VTklRVUVfSU5ERVgo cGdfY29udmVyc2lvbl9uYW1lX25zcF9pbmRleCwgMjY2OSwgQ29udmVyc2lvbk5hbWVOc3BJ bmRleElkLCBwZ19jb252ZXJzaW9uLCBidHJlZShjb25uYW1lIG5hbWVfb3BzLCBjb25uYW1l c3BhY2Ugb2lkX29wcyksIENPTk5BTUVOU1AsIDgpOworREVDTEFSRV9VTklRVUVfSU5ERVhf UEtFWShwZ19jb252ZXJzaW9uX29pZF9pbmRleCwgMjY3MCwgQ29udmVyc2lvbk9pZEluZGV4 SWQsIHBnX2NvbnZlcnNpb24sIGJ0cmVlKG9pZCBvaWRfb3BzKSwgQ09OVk9JRCwgOCk7CiAK IAogZXh0ZXJuIE9iamVjdEFkZHJlc3MgQ29udmVyc2lvbkNyZWF0ZShjb25zdCBjaGFyICpj b25uYW1lLCBPaWQgY29ubmFtZXNwYWNlLApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0 YWxvZy9wZ19kYXRhYmFzZS5oIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19kYXRhYmFzZS5o CmluZGV4IDNlNTBhNTcwMDQ2Li5mYmNlY2RmMTJiZiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1 ZGUvY2F0YWxvZy9wZ19kYXRhYmFzZS5oCisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdf ZGF0YWJhc2UuaApAQCAtOTgsNyArOTgsNyBAQCB0eXBlZGVmIEZvcm1EYXRhX3BnX2RhdGFi YXNlICpGb3JtX3BnX2RhdGFiYXNlOwogREVDTEFSRV9UT0FTVF9XSVRIX01BQ1JPKHBnX2Rh dGFiYXNlLCA0MTc3LCA0MTc4LCBQZ0RhdGFiYXNlVG9hc3RUYWJsZSwgUGdEYXRhYmFzZVRv YXN0SW5kZXgpOwogCiBERUNMQVJFX1VOSVFVRV9JTkRFWChwZ19kYXRhYmFzZV9kYXRuYW1l X2luZGV4LCAyNjcxLCBEYXRhYmFzZU5hbWVJbmRleElkLCBwZ19kYXRhYmFzZSwgYnRyZWUo ZGF0bmFtZSBuYW1lX29wcykpOwotREVDTEFSRV9VTklRVUVfSU5ERVhfUEtFWShwZ19kYXRh YmFzZV9vaWRfaW5kZXgsIDI2NzIsIERhdGFiYXNlT2lkSW5kZXhJZCwgcGdfZGF0YWJhc2Us IGJ0cmVlKG9pZCBvaWRfb3BzKSk7CitERUNMQVJFX1VOSVFVRV9JTkRFWF9QS0VZKHBnX2Rh dGFiYXNlX29pZF9pbmRleCwgMjY3MiwgRGF0YWJhc2VPaWRJbmRleElkLCBwZ19kYXRhYmFz ZSwgYnRyZWUob2lkIG9pZF9vcHMpLCBEQVRBQkFTRU9JRCwgNCk7CiAKIC8qCiAgKiBwZ19k YXRhYmFzZS5kYXQgY29udGFpbnMgYW4gZW50cnkgZm9yIHRlbXBsYXRlMSwgYnV0IG5vdCBm b3IgdGhlIHRlbXBsYXRlMApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19k ZWZhdWx0X2FjbC5oIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19kZWZhdWx0X2FjbC5oCmlu ZGV4IDgwM2NlM2VhYjgzLi5iNTI2YWYyNmE2MSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUv Y2F0YWxvZy9wZ19kZWZhdWx0X2FjbC5oCisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdf ZGVmYXVsdF9hY2wuaApAQCAtNTEsNyArNTEsNyBAQCB0eXBlZGVmIEZvcm1EYXRhX3BnX2Rl ZmF1bHRfYWNsICpGb3JtX3BnX2RlZmF1bHRfYWNsOwogCiBERUNMQVJFX1RPQVNUKHBnX2Rl ZmF1bHRfYWNsLCA0MTQzLCA0MTQ0KTsKIAotREVDTEFSRV9VTklRVUVfSU5ERVgocGdfZGVm YXVsdF9hY2xfcm9sZV9uc3Bfb2JqX2luZGV4LCA4MjcsIERlZmF1bHRBY2xSb2xlTnNwT2Jq SW5kZXhJZCwgcGdfZGVmYXVsdF9hY2wsIGJ0cmVlKGRlZmFjbHJvbGUgb2lkX29wcywgZGVm YWNsbmFtZXNwYWNlIG9pZF9vcHMsIGRlZmFjbG9ianR5cGUgY2hhcl9vcHMpKTsKK0RFQ0xB UkVfVU5JUVVFX0lOREVYKHBnX2RlZmF1bHRfYWNsX3JvbGVfbnNwX29ial9pbmRleCwgODI3 LCBEZWZhdWx0QWNsUm9sZU5zcE9iakluZGV4SWQsIHBnX2RlZmF1bHRfYWNsLCBidHJlZShk ZWZhY2xyb2xlIG9pZF9vcHMsIGRlZmFjbG5hbWVzcGFjZSBvaWRfb3BzLCBkZWZhY2xvYmp0 eXBlIGNoYXJfb3BzKSwgREVGQUNMUk9MRU5TUE9CSiwgOCk7CiBERUNMQVJFX1VOSVFVRV9J TkRFWF9QS0VZKHBnX2RlZmF1bHRfYWNsX29pZF9pbmRleCwgODI4LCBEZWZhdWx0QWNsT2lk SW5kZXhJZCwgcGdfZGVmYXVsdF9hY2wsIGJ0cmVlKG9pZCBvaWRfb3BzKSk7CiAKICNpZmRl ZiBFWFBPU0VfVE9fQ0xJRU5UX0NPREUKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFs b2cvcGdfZW51bS5oIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19lbnVtLmgKaW5kZXggYzQ4 M2NiMTA0MmMuLjRlYTIwYWVhYmU0IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jYXRhbG9n L3BnX2VudW0uaAorKysgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2VudW0uaApAQCAtNDMs OCArNDMsOCBAQCBDQVRBTE9HKHBnX2VudW0sMzUwMSxFbnVtUmVsYXRpb25JZCkKICAqLwog dHlwZWRlZiBGb3JtRGF0YV9wZ19lbnVtICpGb3JtX3BnX2VudW07CiAKLURFQ0xBUkVfVU5J UVVFX0lOREVYX1BLRVkocGdfZW51bV9vaWRfaW5kZXgsIDM1MDIsIEVudW1PaWRJbmRleElk LCBwZ19lbnVtLCBidHJlZShvaWQgb2lkX29wcykpOwotREVDTEFSRV9VTklRVUVfSU5ERVgo cGdfZW51bV90eXBpZF9sYWJlbF9pbmRleCwgMzUwMywgRW51bVR5cElkTGFiZWxJbmRleElk LCBwZ19lbnVtLCBidHJlZShlbnVtdHlwaWQgb2lkX29wcywgZW51bWxhYmVsIG5hbWVfb3Bz KSk7CitERUNMQVJFX1VOSVFVRV9JTkRFWF9QS0VZKHBnX2VudW1fb2lkX2luZGV4LCAzNTAy LCBFbnVtT2lkSW5kZXhJZCwgcGdfZW51bSwgYnRyZWUob2lkIG9pZF9vcHMpLCBFTlVNT0lE LCA4KTsKK0RFQ0xBUkVfVU5JUVVFX0lOREVYKHBnX2VudW1fdHlwaWRfbGFiZWxfaW5kZXgs IDM1MDMsIEVudW1UeXBJZExhYmVsSW5kZXhJZCwgcGdfZW51bSwgYnRyZWUoZW51bXR5cGlk IG9pZF9vcHMsIGVudW1sYWJlbCBuYW1lX29wcyksIEVOVU1UWVBPSUROQU1FLCA4KTsKIERF Q0xBUkVfVU5JUVVFX0lOREVYKHBnX2VudW1fdHlwaWRfc29ydG9yZGVyX2luZGV4LCAzNTM0 LCBFbnVtVHlwSWRTb3J0T3JkZXJJbmRleElkLCBwZ19lbnVtLCBidHJlZShlbnVtdHlwaWQg b2lkX29wcywgZW51bXNvcnRvcmRlciBmbG9hdDRfb3BzKSk7CiAKIC8qCmRpZmYgLS1naXQg YS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2V2ZW50X3RyaWdnZXIuaCBiL3NyYy9pbmNsdWRl L2NhdGFsb2cvcGdfZXZlbnRfdHJpZ2dlci5oCmluZGV4IDBlYzQyZWRmZjYxLi5jYTFjNWJk NzI4YSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19ldmVudF90cmlnZ2Vy LmgKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19ldmVudF90cmlnZ2VyLmgKQEAgLTUx LDcgKzUxLDcgQEAgdHlwZWRlZiBGb3JtRGF0YV9wZ19ldmVudF90cmlnZ2VyICpGb3JtX3Bn X2V2ZW50X3RyaWdnZXI7CiAKIERFQ0xBUkVfVE9BU1QocGdfZXZlbnRfdHJpZ2dlciwgNDE0 NSwgNDE0Nik7CiAKLURFQ0xBUkVfVU5JUVVFX0lOREVYKHBnX2V2ZW50X3RyaWdnZXJfZXZ0 bmFtZV9pbmRleCwgMzQ2NywgRXZlbnRUcmlnZ2VyTmFtZUluZGV4SWQsIHBnX2V2ZW50X3Ry aWdnZXIsIGJ0cmVlKGV2dG5hbWUgbmFtZV9vcHMpKTsKLURFQ0xBUkVfVU5JUVVFX0lOREVY X1BLRVkocGdfZXZlbnRfdHJpZ2dlcl9vaWRfaW5kZXgsIDM0NjgsIEV2ZW50VHJpZ2dlck9p ZEluZGV4SWQsIHBnX2V2ZW50X3RyaWdnZXIsIGJ0cmVlKG9pZCBvaWRfb3BzKSk7CitERUNM QVJFX1VOSVFVRV9JTkRFWChwZ19ldmVudF90cmlnZ2VyX2V2dG5hbWVfaW5kZXgsIDM0Njcs IEV2ZW50VHJpZ2dlck5hbWVJbmRleElkLCBwZ19ldmVudF90cmlnZ2VyLCBidHJlZShldnRu YW1lIG5hbWVfb3BzKSwgRVZFTlRUUklHR0VSTkFNRSwgOCk7CitERUNMQVJFX1VOSVFVRV9J TkRFWF9QS0VZKHBnX2V2ZW50X3RyaWdnZXJfb2lkX2luZGV4LCAzNDY4LCBFdmVudFRyaWdn ZXJPaWRJbmRleElkLCBwZ19ldmVudF90cmlnZ2VyLCBidHJlZShvaWQgb2lkX29wcyksIEVW RU5UVFJJR0dFUk9JRCwgOCk7CiAKICNlbmRpZgkJCQkJCQkvKiBQR19FVkVOVF9UUklHR0VS X0ggKi8KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfZm9yZWlnbl9kYXRh X3dyYXBwZXIuaCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfZm9yZWlnbl9kYXRhX3dyYXBw ZXIuaAppbmRleCAzNzM4N2Y5MzU1My4uODY3NGViMjYxYTAgMTAwNjQ0Ci0tLSBhL3NyYy9p bmNsdWRlL2NhdGFsb2cvcGdfZm9yZWlnbl9kYXRhX3dyYXBwZXIuaAorKysgYi9zcmMvaW5j bHVkZS9jYXRhbG9nL3BnX2ZvcmVpZ25fZGF0YV93cmFwcGVyLmgKQEAgLTUyLDcgKzUyLDcg QEAgdHlwZWRlZiBGb3JtRGF0YV9wZ19mb3JlaWduX2RhdGFfd3JhcHBlciAqRm9ybV9wZ19m b3JlaWduX2RhdGFfd3JhcHBlcjsKIAogREVDTEFSRV9UT0FTVChwZ19mb3JlaWduX2RhdGFf d3JhcHBlciwgNDE0OSwgNDE1MCk7CiAKLURFQ0xBUkVfVU5JUVVFX0lOREVYX1BLRVkocGdf Zm9yZWlnbl9kYXRhX3dyYXBwZXJfb2lkX2luZGV4LCAxMTIsIEZvcmVpZ25EYXRhV3JhcHBl ck9pZEluZGV4SWQsIHBnX2ZvcmVpZ25fZGF0YV93cmFwcGVyLCBidHJlZShvaWQgb2lkX29w cykpOwotREVDTEFSRV9VTklRVUVfSU5ERVgocGdfZm9yZWlnbl9kYXRhX3dyYXBwZXJfbmFt ZV9pbmRleCwgNTQ4LCBGb3JlaWduRGF0YVdyYXBwZXJOYW1lSW5kZXhJZCwgcGdfZm9yZWln bl9kYXRhX3dyYXBwZXIsIGJ0cmVlKGZkd25hbWUgbmFtZV9vcHMpKTsKK0RFQ0xBUkVfVU5J UVVFX0lOREVYX1BLRVkocGdfZm9yZWlnbl9kYXRhX3dyYXBwZXJfb2lkX2luZGV4LCAxMTIs IEZvcmVpZ25EYXRhV3JhcHBlck9pZEluZGV4SWQsIHBnX2ZvcmVpZ25fZGF0YV93cmFwcGVy LCBidHJlZShvaWQgb2lkX29wcyksIEZPUkVJR05EQVRBV1JBUFBFUk9JRCwgMik7CitERUNM QVJFX1VOSVFVRV9JTkRFWChwZ19mb3JlaWduX2RhdGFfd3JhcHBlcl9uYW1lX2luZGV4LCA1 NDgsIEZvcmVpZ25EYXRhV3JhcHBlck5hbWVJbmRleElkLCBwZ19mb3JlaWduX2RhdGFfd3Jh cHBlciwgYnRyZWUoZmR3bmFtZSBuYW1lX29wcyksIEZPUkVJR05EQVRBV1JBUFBFUk5BTUUs IDIpOwogCiAjZW5kaWYJCQkJCQkJLyogUEdfRk9SRUlHTl9EQVRBX1dSQVBQRVJfSCAqLwpk aWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19mb3JlaWduX3NlcnZlci5oIGIv c3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19mb3JlaWduX3NlcnZlci5oCmluZGV4IDU5OTM5Njdj NmVjLi5mYjc3YWJlMzZmNyAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19m b3JlaWduX3NlcnZlci5oCisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfZm9yZWlnbl9z ZXJ2ZXIuaApAQCAtNDksNyArNDksNyBAQCB0eXBlZGVmIEZvcm1EYXRhX3BnX2ZvcmVpZ25f c2VydmVyICpGb3JtX3BnX2ZvcmVpZ25fc2VydmVyOwogCiBERUNMQVJFX1RPQVNUKHBnX2Zv cmVpZ25fc2VydmVyLCA0MTUxLCA0MTUyKTsKIAotREVDTEFSRV9VTklRVUVfSU5ERVhfUEtF WShwZ19mb3JlaWduX3NlcnZlcl9vaWRfaW5kZXgsIDExMywgRm9yZWlnblNlcnZlck9pZElu ZGV4SWQsIHBnX2ZvcmVpZ25fc2VydmVyLCBidHJlZShvaWQgb2lkX29wcykpOwotREVDTEFS RV9VTklRVUVfSU5ERVgocGdfZm9yZWlnbl9zZXJ2ZXJfbmFtZV9pbmRleCwgNTQ5LCBGb3Jl aWduU2VydmVyTmFtZUluZGV4SWQsIHBnX2ZvcmVpZ25fc2VydmVyLCBidHJlZShzcnZuYW1l IG5hbWVfb3BzKSk7CitERUNMQVJFX1VOSVFVRV9JTkRFWF9QS0VZKHBnX2ZvcmVpZ25fc2Vy dmVyX29pZF9pbmRleCwgMTEzLCBGb3JlaWduU2VydmVyT2lkSW5kZXhJZCwgcGdfZm9yZWln bl9zZXJ2ZXIsIGJ0cmVlKG9pZCBvaWRfb3BzKSwgRk9SRUlHTlNFUlZFUk9JRCwgMik7CitE RUNMQVJFX1VOSVFVRV9JTkRFWChwZ19mb3JlaWduX3NlcnZlcl9uYW1lX2luZGV4LCA1NDks IEZvcmVpZ25TZXJ2ZXJOYW1lSW5kZXhJZCwgcGdfZm9yZWlnbl9zZXJ2ZXIsIGJ0cmVlKHNy dm5hbWUgbmFtZV9vcHMpLCBGT1JFSUdOU0VSVkVSTkFNRSwgMik7CiAKICNlbmRpZgkJCQkJ CQkvKiBQR19GT1JFSUdOX1NFUlZFUl9IICovCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9j YXRhbG9nL3BnX2ZvcmVpZ25fdGFibGUuaCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfZm9y ZWlnbl90YWJsZS5oCmluZGV4IDI0MjBlMjM0MDFlLi44YTEwMTMwY2MwMiAxMDA2NDQKLS0t IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19mb3JlaWduX3RhYmxlLmgKKysrIGIvc3JjL2lu Y2x1ZGUvY2F0YWxvZy9wZ19mb3JlaWduX3RhYmxlLmgKQEAgLTQ0LDYgKzQ0LDYgQEAgdHlw ZWRlZiBGb3JtRGF0YV9wZ19mb3JlaWduX3RhYmxlICpGb3JtX3BnX2ZvcmVpZ25fdGFibGU7 CiAKIERFQ0xBUkVfVE9BU1QocGdfZm9yZWlnbl90YWJsZSwgNDE1MywgNDE1NCk7CiAKLURF Q0xBUkVfVU5JUVVFX0lOREVYX1BLRVkocGdfZm9yZWlnbl90YWJsZV9yZWxpZF9pbmRleCwg MzExOSwgRm9yZWlnblRhYmxlUmVsaWRJbmRleElkLCBwZ19mb3JlaWduX3RhYmxlLCBidHJl ZShmdHJlbGlkIG9pZF9vcHMpKTsKK0RFQ0xBUkVfVU5JUVVFX0lOREVYX1BLRVkocGdfZm9y ZWlnbl90YWJsZV9yZWxpZF9pbmRleCwgMzExOSwgRm9yZWlnblRhYmxlUmVsaWRJbmRleElk LCBwZ19mb3JlaWduX3RhYmxlLCBidHJlZShmdHJlbGlkIG9pZF9vcHMpLCBGT1JFSUdOVEFC TEVSRUwsIDQpOwogCiAjZW5kaWYJCQkJCQkJLyogUEdfRk9SRUlHTl9UQUJMRV9IICovCmRp ZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2luZGV4LmggYi9zcmMvaW5jbHVk ZS9jYXRhbG9nL3BnX2luZGV4LmgKaW5kZXggMzI5MzA0MTFiNjkuLjkzNTJkOGE5ZWRjIDEw MDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2luZGV4LmgKKysrIGIvc3JjL2lu Y2x1ZGUvY2F0YWxvZy9wZ19pbmRleC5oCkBAIC03MCw3ICs3MCw3IEBAIENBVEFMT0cocGdf aW5kZXgsMjYxMCxJbmRleFJlbGF0aW9uSWQpIEJLSV9TQ0hFTUFfTUFDUk8KIHR5cGVkZWYg Rm9ybURhdGFfcGdfaW5kZXggKkZvcm1fcGdfaW5kZXg7CiAKIERFQ0xBUkVfSU5ERVgocGdf aW5kZXhfaW5kcmVsaWRfaW5kZXgsIDI2NzgsIEluZGV4SW5kcmVsaWRJbmRleElkLCBwZ19p bmRleCwgYnRyZWUoaW5kcmVsaWQgb2lkX29wcykpOwotREVDTEFSRV9VTklRVUVfSU5ERVhf UEtFWShwZ19pbmRleF9pbmRleHJlbGlkX2luZGV4LCAyNjc5LCBJbmRleFJlbGlkSW5kZXhJ ZCwgcGdfaW5kZXgsIGJ0cmVlKGluZGV4cmVsaWQgb2lkX29wcykpOworREVDTEFSRV9VTklR VUVfSU5ERVhfUEtFWShwZ19pbmRleF9pbmRleHJlbGlkX2luZGV4LCAyNjc5LCBJbmRleFJl bGlkSW5kZXhJZCwgcGdfaW5kZXgsIGJ0cmVlKGluZGV4cmVsaWQgb2lkX29wcyksIElOREVY UkVMSUQsIDY0KTsKIAogLyogaW5ka2V5IGNhbiBjb250YWluIHplcm8gKEludmFsaWRBdHRy TnVtYmVyKSB0byByZXByZXNlbnQgZXhwcmVzc2lvbnMgKi8KIERFQ0xBUkVfQVJSQVlfRk9S RUlHTl9LRVlfT1BUKChpbmRyZWxpZCwgaW5ka2V5KSwgcGdfYXR0cmlidXRlLCAoYXR0cmVs aWQsIGF0dG51bSkpOwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19sYW5n dWFnZS5oIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19sYW5ndWFnZS5oCmluZGV4IGQ2NjZl YTIwNDQxLi4wNzAwOTRlZGI4MiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9w Z19sYW5ndWFnZS5oCisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfbGFuZ3VhZ2UuaApA QCAtNjYsNyArNjYsNyBAQCB0eXBlZGVmIEZvcm1EYXRhX3BnX2xhbmd1YWdlICpGb3JtX3Bn X2xhbmd1YWdlOwogCiBERUNMQVJFX1RPQVNUKHBnX2xhbmd1YWdlLCA0MTU3LCA0MTU4KTsK IAotREVDTEFSRV9VTklRVUVfSU5ERVgocGdfbGFuZ3VhZ2VfbmFtZV9pbmRleCwgMjY4MSwg TGFuZ3VhZ2VOYW1lSW5kZXhJZCwgcGdfbGFuZ3VhZ2UsIGJ0cmVlKGxhbm5hbWUgbmFtZV9v cHMpKTsKLURFQ0xBUkVfVU5JUVVFX0lOREVYX1BLRVkocGdfbGFuZ3VhZ2Vfb2lkX2luZGV4 LCAyNjgyLCBMYW5ndWFnZU9pZEluZGV4SWQsIHBnX2xhbmd1YWdlLCBidHJlZShvaWQgb2lk X29wcykpOworREVDTEFSRV9VTklRVUVfSU5ERVgocGdfbGFuZ3VhZ2VfbmFtZV9pbmRleCwg MjY4MSwgTGFuZ3VhZ2VOYW1lSW5kZXhJZCwgcGdfbGFuZ3VhZ2UsIGJ0cmVlKGxhbm5hbWUg bmFtZV9vcHMpLCBMQU5HTkFNRSwgNCk7CitERUNMQVJFX1VOSVFVRV9JTkRFWF9QS0VZKHBn X2xhbmd1YWdlX29pZF9pbmRleCwgMjY4MiwgTGFuZ3VhZ2VPaWRJbmRleElkLCBwZ19sYW5n dWFnZSwgYnRyZWUob2lkIG9pZF9vcHMpLCBMQU5HT0lELCA0KTsKIAogI2VuZGlmCQkJCQkJ CS8qIFBHX0xBTkdVQUdFX0ggKi8KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cv cGdfbmFtZXNwYWNlLmggYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX25hbWVzcGFjZS5oCmlu ZGV4IGZjNzRhMTRjMzcwLi5iNzAwNzNkNDU2ZSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUv Y2F0YWxvZy9wZ19uYW1lc3BhY2UuaAorKysgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX25h bWVzcGFjZS5oCkBAIC01Myw4ICs1Myw4IEBAIHR5cGVkZWYgRm9ybURhdGFfcGdfbmFtZXNw YWNlICpGb3JtX3BnX25hbWVzcGFjZTsKIAogREVDTEFSRV9UT0FTVChwZ19uYW1lc3BhY2Us IDQxNjMsIDQxNjQpOwogCi1ERUNMQVJFX1VOSVFVRV9JTkRFWChwZ19uYW1lc3BhY2VfbnNw bmFtZV9pbmRleCwgMjY4NCwgTmFtZXNwYWNlTmFtZUluZGV4SWQsIHBnX25hbWVzcGFjZSwg YnRyZWUobnNwbmFtZSBuYW1lX29wcykpOwotREVDTEFSRV9VTklRVUVfSU5ERVhfUEtFWShw Z19uYW1lc3BhY2Vfb2lkX2luZGV4LCAyNjg1LCBOYW1lc3BhY2VPaWRJbmRleElkLCBwZ19u YW1lc3BhY2UsIGJ0cmVlKG9pZCBvaWRfb3BzKSk7CitERUNMQVJFX1VOSVFVRV9JTkRFWChw Z19uYW1lc3BhY2VfbnNwbmFtZV9pbmRleCwgMjY4NCwgTmFtZXNwYWNlTmFtZUluZGV4SWQs IHBnX25hbWVzcGFjZSwgYnRyZWUobnNwbmFtZSBuYW1lX29wcyksIE5BTUVTUEFDRU5BTUUs IDQpOworREVDTEFSRV9VTklRVUVfSU5ERVhfUEtFWShwZ19uYW1lc3BhY2Vfb2lkX2luZGV4 LCAyNjg1LCBOYW1lc3BhY2VPaWRJbmRleElkLCBwZ19uYW1lc3BhY2UsIGJ0cmVlKG9pZCBv aWRfb3BzKSwgTkFNRVNQQUNFT0lELCAxNik7CiAKIC8qCiAgKiBwcm90b3R5cGVzIGZvciBm dW5jdGlvbnMgaW4gcGdfbmFtZXNwYWNlLmMKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2Nh dGFsb2cvcGdfb3BjbGFzcy5oIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19vcGNsYXNzLmgK aW5kZXggYTVkMDlmYWYxZmEuLjE4ZWNkNTZhZGEzIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVk ZS9jYXRhbG9nL3BnX29wY2xhc3MuaAorKysgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX29w Y2xhc3MuaApAQCAtODIsNyArODIsNyBAQCBDQVRBTE9HKHBnX29wY2xhc3MsMjYxNixPcGVy YXRvckNsYXNzUmVsYXRpb25JZCkKICAqLwogdHlwZWRlZiBGb3JtRGF0YV9wZ19vcGNsYXNz ICpGb3JtX3BnX29wY2xhc3M7CiAKLURFQ0xBUkVfVU5JUVVFX0lOREVYKHBnX29wY2xhc3Nf YW1fbmFtZV9uc3BfaW5kZXgsIDI2ODYsIE9wY2xhc3NBbU5hbWVOc3BJbmRleElkLCBwZ19v cGNsYXNzLCBidHJlZShvcGNtZXRob2Qgb2lkX29wcywgb3BjbmFtZSBuYW1lX29wcywgb3Bj bmFtZXNwYWNlIG9pZF9vcHMpKTsKLURFQ0xBUkVfVU5JUVVFX0lOREVYX1BLRVkocGdfb3Bj bGFzc19vaWRfaW5kZXgsIDI2ODcsIE9wY2xhc3NPaWRJbmRleElkLCBwZ19vcGNsYXNzLCBi dHJlZShvaWQgb2lkX29wcykpOworREVDTEFSRV9VTklRVUVfSU5ERVgocGdfb3BjbGFzc19h bV9uYW1lX25zcF9pbmRleCwgMjY4NiwgT3BjbGFzc0FtTmFtZU5zcEluZGV4SWQsIHBnX29w Y2xhc3MsIGJ0cmVlKG9wY21ldGhvZCBvaWRfb3BzLCBvcGNuYW1lIG5hbWVfb3BzLCBvcGNu YW1lc3BhY2Ugb2lkX29wcyksIENMQUFNTkFNRU5TUCwgOCk7CitERUNMQVJFX1VOSVFVRV9J TkRFWF9QS0VZKHBnX29wY2xhc3Nfb2lkX2luZGV4LCAyNjg3LCBPcGNsYXNzT2lkSW5kZXhJ ZCwgcGdfb3BjbGFzcywgYnRyZWUob2lkIG9pZF9vcHMpLCBDTEFPSUQsIDgpOwogCiAjZW5k aWYJCQkJCQkJLyogUEdfT1BDTEFTU19IICovCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9j YXRhbG9nL3BnX29wZXJhdG9yLmggYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX29wZXJhdG9y LmgKaW5kZXggZTg5MGNlZTJkZjMuLjdlYmM4OTJiZGJlIDEwMDY0NAotLS0gYS9zcmMvaW5j bHVkZS9jYXRhbG9nL3BnX29wZXJhdG9yLmgKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9w Z19vcGVyYXRvci5oCkBAIC04Miw4ICs4Miw4IEBAIENBVEFMT0cocGdfb3BlcmF0b3IsMjYx NyxPcGVyYXRvclJlbGF0aW9uSWQpCiAgKi8KIHR5cGVkZWYgRm9ybURhdGFfcGdfb3BlcmF0 b3IgKkZvcm1fcGdfb3BlcmF0b3I7CiAKLURFQ0xBUkVfVU5JUVVFX0lOREVYX1BLRVkocGdf b3BlcmF0b3Jfb2lkX2luZGV4LCAyNjg4LCBPcGVyYXRvck9pZEluZGV4SWQsIHBnX29wZXJh dG9yLCBidHJlZShvaWQgb2lkX29wcykpOwotREVDTEFSRV9VTklRVUVfSU5ERVgocGdfb3Bl cmF0b3Jfb3BybmFtZV9sX3Jfbl9pbmRleCwgMjY4OSwgT3BlcmF0b3JOYW1lTnNwSW5kZXhJ ZCwgcGdfb3BlcmF0b3IsIGJ0cmVlKG9wcm5hbWUgbmFtZV9vcHMsIG9wcmxlZnQgb2lkX29w cywgb3BycmlnaHQgb2lkX29wcywgb3BybmFtZXNwYWNlIG9pZF9vcHMpKTsKK0RFQ0xBUkVf VU5JUVVFX0lOREVYX1BLRVkocGdfb3BlcmF0b3Jfb2lkX2luZGV4LCAyNjg4LCBPcGVyYXRv ck9pZEluZGV4SWQsIHBnX29wZXJhdG9yLCBidHJlZShvaWQgb2lkX29wcyksIE9QRVJPSUQs IDMyKTsKK0RFQ0xBUkVfVU5JUVVFX0lOREVYKHBnX29wZXJhdG9yX29wcm5hbWVfbF9yX25f aW5kZXgsIDI2ODksIE9wZXJhdG9yTmFtZU5zcEluZGV4SWQsIHBnX29wZXJhdG9yLCBidHJl ZShvcHJuYW1lIG5hbWVfb3BzLCBvcHJsZWZ0IG9pZF9vcHMsIG9wcnJpZ2h0IG9pZF9vcHMs IG9wcm5hbWVzcGFjZSBvaWRfb3BzKSwgT1BFUk5BTUVOU1AsIDI1Nik7CiAKIAogZXh0ZXJu IE9pZAlPcGVyYXRvckxvb2t1cChMaXN0ICpvcGVyYXRvck5hbWUsCmRpZmYgLS1naXQgYS9z cmMvaW5jbHVkZS9jYXRhbG9nL3BnX29wZmFtaWx5LmggYi9zcmMvaW5jbHVkZS9jYXRhbG9n L3BnX29wZmFtaWx5LmgKaW5kZXggODg5NDBkZTkxNjcuLmZlMmI1YzYwYzRmIDEwMDY0NAot LS0gYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX29wZmFtaWx5LmgKKysrIGIvc3JjL2luY2x1 ZGUvY2F0YWxvZy9wZ19vcGZhbWlseS5oCkBAIC01MCw4ICs1MCw4IEBAIENBVEFMT0cocGdf b3BmYW1pbHksMjc1MyxPcGVyYXRvckZhbWlseVJlbGF0aW9uSWQpCiAgKi8KIHR5cGVkZWYg Rm9ybURhdGFfcGdfb3BmYW1pbHkgKkZvcm1fcGdfb3BmYW1pbHk7CiAKLURFQ0xBUkVfVU5J UVVFX0lOREVYKHBnX29wZmFtaWx5X2FtX25hbWVfbnNwX2luZGV4LCAyNzU0LCBPcGZhbWls eUFtTmFtZU5zcEluZGV4SWQsIHBnX29wZmFtaWx5LCBidHJlZShvcGZtZXRob2Qgb2lkX29w cywgb3BmbmFtZSBuYW1lX29wcywgb3BmbmFtZXNwYWNlIG9pZF9vcHMpKTsKLURFQ0xBUkVf VU5JUVVFX0lOREVYX1BLRVkocGdfb3BmYW1pbHlfb2lkX2luZGV4LCAyNzU1LCBPcGZhbWls eU9pZEluZGV4SWQsIHBnX29wZmFtaWx5LCBidHJlZShvaWQgb2lkX29wcykpOworREVDTEFS RV9VTklRVUVfSU5ERVgocGdfb3BmYW1pbHlfYW1fbmFtZV9uc3BfaW5kZXgsIDI3NTQsIE9w ZmFtaWx5QW1OYW1lTnNwSW5kZXhJZCwgcGdfb3BmYW1pbHksIGJ0cmVlKG9wZm1ldGhvZCBv aWRfb3BzLCBvcGZuYW1lIG5hbWVfb3BzLCBvcGZuYW1lc3BhY2Ugb2lkX29wcyksIE9QRkFN SUxZQU1OQU1FTlNQLCA4KTsKK0RFQ0xBUkVfVU5JUVVFX0lOREVYX1BLRVkocGdfb3BmYW1p bHlfb2lkX2luZGV4LCAyNzU1LCBPcGZhbWlseU9pZEluZGV4SWQsIHBnX29wZmFtaWx5LCBi dHJlZShvaWQgb2lkX29wcyksIE9QRkFNSUxZT0lELCA4KTsKIAogI2lmZGVmIEVYUE9TRV9U T19DTElFTlRfQ09ERQogCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Bh cmFtZXRlcl9hY2wuaCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcGFyYW1ldGVyX2FjbC5o CmluZGV4IGY0NmNkZDE1MjQzLi5hZWYxOGZmNGE3NSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1 ZGUvY2F0YWxvZy9wZ19wYXJhbWV0ZXJfYWNsLmgKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxv Zy9wZ19wYXJhbWV0ZXJfYWNsLmgKQEAgLTUwLDggKzUwLDggQEAgdHlwZWRlZiBGb3JtRGF0 YV9wZ19wYXJhbWV0ZXJfYWNsICogRm9ybV9wZ19wYXJhbWV0ZXJfYWNsOwogCiBERUNMQVJF X1RPQVNUX1dJVEhfTUFDUk8ocGdfcGFyYW1ldGVyX2FjbCwgNjI0NCwgNjI0NSwgUGdQYXJh bWV0ZXJBY2xUb2FzdFRhYmxlLCBQZ1BhcmFtZXRlckFjbFRvYXN0SW5kZXgpOwogCi1ERUNM QVJFX1VOSVFVRV9JTkRFWChwZ19wYXJhbWV0ZXJfYWNsX3Bhcm5hbWVfaW5kZXgsIDYyNDYs IFBhcmFtZXRlckFjbFBhcm5hbWVJbmRleElkLCBwZ19wYXJhbWV0ZXJfYWNsLCBidHJlZShw YXJuYW1lIHRleHRfb3BzKSk7Ci1ERUNMQVJFX1VOSVFVRV9JTkRFWF9QS0VZKHBnX3BhcmFt ZXRlcl9hY2xfb2lkX2luZGV4LCA2MjQ3LCBQYXJhbWV0ZXJBY2xPaWRJbmRleElkLCBwZ19w YXJhbWV0ZXJfYWNsLCBidHJlZShvaWQgb2lkX29wcykpOworREVDTEFSRV9VTklRVUVfSU5E RVgocGdfcGFyYW1ldGVyX2FjbF9wYXJuYW1lX2luZGV4LCA2MjQ2LCBQYXJhbWV0ZXJBY2xQ YXJuYW1lSW5kZXhJZCwgcGdfcGFyYW1ldGVyX2FjbCwgYnRyZWUocGFybmFtZSB0ZXh0X29w cyksIFBBUkFNRVRFUkFDTE5BTUUsIDQpOworREVDTEFSRV9VTklRVUVfSU5ERVhfUEtFWShw Z19wYXJhbWV0ZXJfYWNsX29pZF9pbmRleCwgNjI0NywgUGFyYW1ldGVyQWNsT2lkSW5kZXhJ ZCwgcGdfcGFyYW1ldGVyX2FjbCwgYnRyZWUob2lkIG9pZF9vcHMpLCBQQVJBTUVURVJBQ0xP SUQsIDQpOwogCiAKIGV4dGVybiBPaWQJUGFyYW1ldGVyQWNsTG9va3VwKGNvbnN0IGNoYXIg KnBhcmFtZXRlciwgYm9vbCBtaXNzaW5nX29rKTsKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRl L2NhdGFsb2cvcGdfcGFydGl0aW9uZWRfdGFibGUuaCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cv cGdfcGFydGl0aW9uZWRfdGFibGUuaAppbmRleCAwY2Y1MTJlMWM4Mi4uYTEzN2YwMzFmN2Ug MTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcGFydGl0aW9uZWRfdGFibGUu aAorKysgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3BhcnRpdGlvbmVkX3RhYmxlLmgKQEAg LTY2LDcgKzY2LDcgQEAgdHlwZWRlZiBGb3JtRGF0YV9wZ19wYXJ0aXRpb25lZF90YWJsZSAq Rm9ybV9wZ19wYXJ0aXRpb25lZF90YWJsZTsKIAogREVDTEFSRV9UT0FTVChwZ19wYXJ0aXRp b25lZF90YWJsZSwgNDE2NSwgNDE2Nik7CiAKLURFQ0xBUkVfVU5JUVVFX0lOREVYX1BLRVko cGdfcGFydGl0aW9uZWRfdGFibGVfcGFydHJlbGlkX2luZGV4LCAzMzUxLCBQYXJ0aXRpb25l ZFJlbGlkSW5kZXhJZCwgcGdfcGFydGl0aW9uZWRfdGFibGUsIGJ0cmVlKHBhcnRyZWxpZCBv aWRfb3BzKSk7CitERUNMQVJFX1VOSVFVRV9JTkRFWF9QS0VZKHBnX3BhcnRpdGlvbmVkX3Rh YmxlX3BhcnRyZWxpZF9pbmRleCwgMzM1MSwgUGFydGl0aW9uZWRSZWxpZEluZGV4SWQsIHBn X3BhcnRpdGlvbmVkX3RhYmxlLCBidHJlZShwYXJ0cmVsaWQgb2lkX29wcyksIFBBUlRSRUxJ RCwgMzIpOwogCiAvKiBwYXJ0YXR0cnMgY2FuIGNvbnRhaW4gemVybyAoSW52YWxpZEF0dHJO dW1iZXIpIHRvIHJlcHJlc2VudCBleHByZXNzaW9ucyAqLwogREVDTEFSRV9BUlJBWV9GT1JF SUdOX0tFWV9PUFQoKHBhcnRyZWxpZCwgcGFydGF0dHJzKSwgcGdfYXR0cmlidXRlLCAoYXR0 cmVsaWQsIGF0dG51bSkpOwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19w cm9jLmggYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuaAppbmRleCBmZGIzOWQ0MDAx OC4uMjllZjM0NGNjMmQgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJv Yy5oCisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5oCkBAIC0xMzcsOCArMTM3 LDggQEAgdHlwZWRlZiBGb3JtRGF0YV9wZ19wcm9jICpGb3JtX3BnX3Byb2M7CiAKIERFQ0xB UkVfVE9BU1QocGdfcHJvYywgMjgzNiwgMjgzNyk7CiAKLURFQ0xBUkVfVU5JUVVFX0lOREVY X1BLRVkocGdfcHJvY19vaWRfaW5kZXgsIDI2OTAsIFByb2NlZHVyZU9pZEluZGV4SWQsIHBn X3Byb2MsIGJ0cmVlKG9pZCBvaWRfb3BzKSk7Ci1ERUNMQVJFX1VOSVFVRV9JTkRFWChwZ19w cm9jX3Byb25hbWVfYXJnc19uc3BfaW5kZXgsIDI2OTEsIFByb2NlZHVyZU5hbWVBcmdzTnNw SW5kZXhJZCwgcGdfcHJvYywgYnRyZWUocHJvbmFtZSBuYW1lX29wcywgcHJvYXJndHlwZXMg b2lkdmVjdG9yX29wcywgcHJvbmFtZXNwYWNlIG9pZF9vcHMpKTsKK0RFQ0xBUkVfVU5JUVVF X0lOREVYX1BLRVkocGdfcHJvY19vaWRfaW5kZXgsIDI2OTAsIFByb2NlZHVyZU9pZEluZGV4 SWQsIHBnX3Byb2MsIGJ0cmVlKG9pZCBvaWRfb3BzKSwgUFJPQ09JRCwgMTI4KTsKK0RFQ0xB UkVfVU5JUVVFX0lOREVYKHBnX3Byb2NfcHJvbmFtZV9hcmdzX25zcF9pbmRleCwgMjY5MSwg UHJvY2VkdXJlTmFtZUFyZ3NOc3BJbmRleElkLCBwZ19wcm9jLCBidHJlZShwcm9uYW1lIG5h bWVfb3BzLCBwcm9hcmd0eXBlcyBvaWR2ZWN0b3Jfb3BzLCBwcm9uYW1lc3BhY2Ugb2lkX29w cyksIFBST0NOQU1FQVJHU05TUCwgMTI4KTsKIAogI2lmZGVmIEVYUE9TRV9UT19DTElFTlRf Q09ERQogCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3B1YmxpY2F0aW9u LmggYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3B1YmxpY2F0aW9uLmgKaW5kZXggZDkyOWM5 YTE4ODAuLmMxN2JlNWVkODhhIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3Bn X3B1YmxpY2F0aW9uLmgKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wdWJsaWNhdGlv bi5oCkBAIC02Myw4ICs2Myw4IEBAIENBVEFMT0cocGdfcHVibGljYXRpb24sNjEwNCxQdWJs aWNhdGlvblJlbGF0aW9uSWQpCiAgKi8KIHR5cGVkZWYgRm9ybURhdGFfcGdfcHVibGljYXRp b24gKkZvcm1fcGdfcHVibGljYXRpb247CiAKLURFQ0xBUkVfVU5JUVVFX0lOREVYX1BLRVko cGdfcHVibGljYXRpb25fb2lkX2luZGV4LCA2MTEwLCBQdWJsaWNhdGlvbk9iamVjdEluZGV4 SWQsIHBnX3B1YmxpY2F0aW9uLCBidHJlZShvaWQgb2lkX29wcykpOwotREVDTEFSRV9VTklR VUVfSU5ERVgocGdfcHVibGljYXRpb25fcHVibmFtZV9pbmRleCwgNjExMSwgUHVibGljYXRp b25OYW1lSW5kZXhJZCwgcGdfcHVibGljYXRpb24sIGJ0cmVlKHB1Ym5hbWUgbmFtZV9vcHMp KTsKK0RFQ0xBUkVfVU5JUVVFX0lOREVYX1BLRVkocGdfcHVibGljYXRpb25fb2lkX2luZGV4 LCA2MTEwLCBQdWJsaWNhdGlvbk9iamVjdEluZGV4SWQsIHBnX3B1YmxpY2F0aW9uLCBidHJl ZShvaWQgb2lkX29wcyksIFBVQkxJQ0FUSU9OT0lELCA4KTsKK0RFQ0xBUkVfVU5JUVVFX0lO REVYKHBnX3B1YmxpY2F0aW9uX3B1Ym5hbWVfaW5kZXgsIDYxMTEsIFB1YmxpY2F0aW9uTmFt ZUluZGV4SWQsIHBnX3B1YmxpY2F0aW9uLCBidHJlZShwdWJuYW1lIG5hbWVfb3BzKSwgUFVC TElDQVRJT05OQU1FLCA4KTsKIAogdHlwZWRlZiBzdHJ1Y3QgUHVibGljYXRpb25BY3Rpb25z CiB7CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3B1YmxpY2F0aW9uX25h bWVzcGFjZS5oIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wdWJsaWNhdGlvbl9uYW1lc3Bh Y2UuaAppbmRleCBiMzYxYzhhYjVlMC4uYjYzMjZjNzczMGUgMTAwNjQ0Ci0tLSBhL3NyYy9p bmNsdWRlL2NhdGFsb2cvcGdfcHVibGljYXRpb25fbmFtZXNwYWNlLmgKKysrIGIvc3JjL2lu Y2x1ZGUvY2F0YWxvZy9wZ19wdWJsaWNhdGlvbl9uYW1lc3BhY2UuaApAQCAtNDEsNyArNDEs NyBAQCBDQVRBTE9HKHBnX3B1YmxpY2F0aW9uX25hbWVzcGFjZSw2MjM3LFB1YmxpY2F0aW9u TmFtZXNwYWNlUmVsYXRpb25JZCkKICAqLwogdHlwZWRlZiBGb3JtRGF0YV9wZ19wdWJsaWNh dGlvbl9uYW1lc3BhY2UgKkZvcm1fcGdfcHVibGljYXRpb25fbmFtZXNwYWNlOwogCi1ERUNM QVJFX1VOSVFVRV9JTkRFWF9QS0VZKHBnX3B1YmxpY2F0aW9uX25hbWVzcGFjZV9vaWRfaW5k ZXgsIDYyMzgsIFB1YmxpY2F0aW9uTmFtZXNwYWNlT2JqZWN0SW5kZXhJZCwgcGdfcHVibGlj YXRpb25fbmFtZXNwYWNlLCBidHJlZShvaWQgb2lkX29wcykpOwotREVDTEFSRV9VTklRVUVf SU5ERVgocGdfcHVibGljYXRpb25fbmFtZXNwYWNlX3BubnNwaWRfcG5wdWJpZF9pbmRleCwg NjIzOSwgUHVibGljYXRpb25OYW1lc3BhY2VQbm5zcGlkUG5wdWJpZEluZGV4SWQsIHBnX3B1 YmxpY2F0aW9uX25hbWVzcGFjZSwgYnRyZWUocG5uc3BpZCBvaWRfb3BzLCBwbnB1YmlkIG9p ZF9vcHMpKTsKK0RFQ0xBUkVfVU5JUVVFX0lOREVYX1BLRVkocGdfcHVibGljYXRpb25fbmFt ZXNwYWNlX29pZF9pbmRleCwgNjIzOCwgUHVibGljYXRpb25OYW1lc3BhY2VPYmplY3RJbmRl eElkLCBwZ19wdWJsaWNhdGlvbl9uYW1lc3BhY2UsIGJ0cmVlKG9pZCBvaWRfb3BzKSwgUFVC TElDQVRJT05OQU1FU1BBQ0UsIDY0KTsKK0RFQ0xBUkVfVU5JUVVFX0lOREVYKHBnX3B1Ymxp Y2F0aW9uX25hbWVzcGFjZV9wbm5zcGlkX3BucHViaWRfaW5kZXgsIDYyMzksIFB1YmxpY2F0 aW9uTmFtZXNwYWNlUG5uc3BpZFBucHViaWRJbmRleElkLCBwZ19wdWJsaWNhdGlvbl9uYW1l c3BhY2UsIGJ0cmVlKHBubnNwaWQgb2lkX29wcywgcG5wdWJpZCBvaWRfb3BzKSwgUFVCTElD QVRJT05OQU1FU1BBQ0VNQVAsIDY0KTsKIAogI2VuZGlmCQkJCQkJCS8qIFBHX1BVQkxJQ0FU SU9OX05BTUVTUEFDRV9IICovCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3Bn X3B1YmxpY2F0aW9uX3JlbC5oIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wdWJsaWNhdGlv bl9yZWwuaAppbmRleCBiZWY1MDg3NjRhNC4uMTljYWQwYTM0NDMgMTAwNjQ0Ci0tLSBhL3Ny Yy9pbmNsdWRlL2NhdGFsb2cvcGdfcHVibGljYXRpb25fcmVsLmgKKysrIGIvc3JjL2luY2x1 ZGUvY2F0YWxvZy9wZ19wdWJsaWNhdGlvbl9yZWwuaApAQCAtNDcsOCArNDcsOCBAQCB0eXBl ZGVmIEZvcm1EYXRhX3BnX3B1YmxpY2F0aW9uX3JlbCAqRm9ybV9wZ19wdWJsaWNhdGlvbl9y ZWw7CiAKIERFQ0xBUkVfVE9BU1QocGdfcHVibGljYXRpb25fcmVsLCA2MjI4LCA2MjI5KTsK IAotREVDTEFSRV9VTklRVUVfSU5ERVhfUEtFWShwZ19wdWJsaWNhdGlvbl9yZWxfb2lkX2lu ZGV4LCA2MTEyLCBQdWJsaWNhdGlvblJlbE9iamVjdEluZGV4SWQsIHBnX3B1YmxpY2F0aW9u X3JlbCwgYnRyZWUob2lkIG9pZF9vcHMpKTsKLURFQ0xBUkVfVU5JUVVFX0lOREVYKHBnX3B1 YmxpY2F0aW9uX3JlbF9wcnJlbGlkX3BycHViaWRfaW5kZXgsIDYxMTMsIFB1YmxpY2F0aW9u UmVsUHJyZWxpZFBycHViaWRJbmRleElkLCBwZ19wdWJsaWNhdGlvbl9yZWwsIGJ0cmVlKHBy cmVsaWQgb2lkX29wcywgcHJwdWJpZCBvaWRfb3BzKSk7CitERUNMQVJFX1VOSVFVRV9JTkRF WF9QS0VZKHBnX3B1YmxpY2F0aW9uX3JlbF9vaWRfaW5kZXgsIDYxMTIsIFB1YmxpY2F0aW9u UmVsT2JqZWN0SW5kZXhJZCwgcGdfcHVibGljYXRpb25fcmVsLCBidHJlZShvaWQgb2lkX29w cyksIFBVQkxJQ0FUSU9OUkVMLCA2NCk7CitERUNMQVJFX1VOSVFVRV9JTkRFWChwZ19wdWJs aWNhdGlvbl9yZWxfcHJyZWxpZF9wcnB1YmlkX2luZGV4LCA2MTEzLCBQdWJsaWNhdGlvblJl bFBycmVsaWRQcnB1YmlkSW5kZXhJZCwgcGdfcHVibGljYXRpb25fcmVsLCBidHJlZShwcnJl bGlkIG9pZF9vcHMsIHBycHViaWQgb2lkX29wcyksIFBVQkxJQ0FUSU9OUkVMTUFQLCA2NCk7 CiBERUNMQVJFX0lOREVYKHBnX3B1YmxpY2F0aW9uX3JlbF9wcnB1YmlkX2luZGV4LCA2MTE2 LCBQdWJsaWNhdGlvblJlbFBycHViaWRJbmRleElkLCBwZ19wdWJsaWNhdGlvbl9yZWwsIGJ0 cmVlKHBycHViaWQgb2lkX29wcykpOwogCiAjZW5kaWYJCQkJCQkJLyogUEdfUFVCTElDQVRJ T05fUkVMX0ggKi8KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcmFuZ2Uu aCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcmFuZ2UuaAppbmRleCAxMjQ3ZmE3Yzc3My4u Y2U2NjJjNmEwM2IgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcmFuZ2Uu aAorKysgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3JhbmdlLmgKQEAgLTU3LDggKzU3LDgg QEAgQ0FUQUxPRyhwZ19yYW5nZSwzNTQxLFJhbmdlUmVsYXRpb25JZCkKICAqLwogdHlwZWRl ZiBGb3JtRGF0YV9wZ19yYW5nZSAqRm9ybV9wZ19yYW5nZTsKIAotREVDTEFSRV9VTklRVUVf SU5ERVhfUEtFWShwZ19yYW5nZV9ybmd0eXBpZF9pbmRleCwgMzU0MiwgUmFuZ2VUeXBpZElu ZGV4SWQsIHBnX3JhbmdlLCBidHJlZShybmd0eXBpZCBvaWRfb3BzKSk7Ci1ERUNMQVJFX1VO SVFVRV9JTkRFWChwZ19yYW5nZV9ybmdtdWx0aXR5cGlkX2luZGV4LCAyMjI4LCBSYW5nZU11 bHRpcmFuZ2VUeXBpZEluZGV4SWQsIHBnX3JhbmdlLCBidHJlZShybmdtdWx0aXR5cGlkIG9p ZF9vcHMpKTsKK0RFQ0xBUkVfVU5JUVVFX0lOREVYX1BLRVkocGdfcmFuZ2Vfcm5ndHlwaWRf aW5kZXgsIDM1NDIsIFJhbmdlVHlwaWRJbmRleElkLCBwZ19yYW5nZSwgYnRyZWUocm5ndHlw aWQgb2lkX29wcyksIFJBTkdFVFlQRSwgNCk7CitERUNMQVJFX1VOSVFVRV9JTkRFWChwZ19y YW5nZV9ybmdtdWx0aXR5cGlkX2luZGV4LCAyMjI4LCBSYW5nZU11bHRpcmFuZ2VUeXBpZElu ZGV4SWQsIHBnX3JhbmdlLCBidHJlZShybmdtdWx0aXR5cGlkIG9pZF9vcHMpLCBSQU5HRU1V TFRJUkFOR0UsIDQpOwogCiAvKgogICogcHJvdG90eXBlcyBmb3IgZnVuY3Rpb25zIGluIHBn X3JhbmdlLmMKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcmVwbGljYXRp b25fb3JpZ2luLmggYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3JlcGxpY2F0aW9uX29yaWdp bi5oCmluZGV4IDgzZmYzNmRjYmE2Li40OTgyNGRiYzA3MyAxMDA2NDQKLS0tIGEvc3JjL2lu Y2x1ZGUvY2F0YWxvZy9wZ19yZXBsaWNhdGlvbl9vcmlnaW4uaAorKysgYi9zcmMvaW5jbHVk ZS9jYXRhbG9nL3BnX3JlcGxpY2F0aW9uX29yaWdpbi5oCkBAIC01Niw3ICs1Niw3IEBAIHR5 cGVkZWYgRm9ybURhdGFfcGdfcmVwbGljYXRpb25fb3JpZ2luICpGb3JtX3BnX3JlcGxpY2F0 aW9uX29yaWdpbjsKIAogREVDTEFSRV9UT0FTVF9XSVRIX01BQ1JPKHBnX3JlcGxpY2F0aW9u X29yaWdpbiwgNDE4MSwgNDE4MiwgUGdSZXBsaWNhdGlvbk9yaWdpblRvYXN0VGFibGUsIFBn UmVwbGljYXRpb25PcmlnaW5Ub2FzdEluZGV4KTsKIAotREVDTEFSRV9VTklRVUVfSU5ERVhf UEtFWShwZ19yZXBsaWNhdGlvbl9vcmlnaW5fcm9paWRlbnRfaW5kZXgsIDYwMDEsIFJlcGxp Y2F0aW9uT3JpZ2luSWRlbnRJbmRleCwgcGdfcmVwbGljYXRpb25fb3JpZ2luLCBidHJlZShy b2lkZW50IG9pZF9vcHMpKTsKLURFQ0xBUkVfVU5JUVVFX0lOREVYKHBnX3JlcGxpY2F0aW9u X29yaWdpbl9yb25hbWVfaW5kZXgsIDYwMDIsIFJlcGxpY2F0aW9uT3JpZ2luTmFtZUluZGV4 LCBwZ19yZXBsaWNhdGlvbl9vcmlnaW4sIGJ0cmVlKHJvbmFtZSB0ZXh0X29wcykpOworREVD TEFSRV9VTklRVUVfSU5ERVhfUEtFWShwZ19yZXBsaWNhdGlvbl9vcmlnaW5fcm9paWRlbnRf aW5kZXgsIDYwMDEsIFJlcGxpY2F0aW9uT3JpZ2luSWRlbnRJbmRleCwgcGdfcmVwbGljYXRp b25fb3JpZ2luLCBidHJlZShyb2lkZW50IG9pZF9vcHMpLCBSRVBMT1JJR0lERU5ULCAxNik7 CitERUNMQVJFX1VOSVFVRV9JTkRFWChwZ19yZXBsaWNhdGlvbl9vcmlnaW5fcm9uYW1lX2lu ZGV4LCA2MDAyLCBSZXBsaWNhdGlvbk9yaWdpbk5hbWVJbmRleCwgcGdfcmVwbGljYXRpb25f b3JpZ2luLCBidHJlZShyb25hbWUgdGV4dF9vcHMpLCBSRVBMT1JJR05BTUUsIDE2KTsKIAog I2VuZGlmCQkJCQkJCS8qIFBHX1JFUExJQ0FUSU9OX09SSUdJTl9IICovCmRpZmYgLS1naXQg YS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Jld3JpdGUuaCBiL3NyYy9pbmNsdWRlL2NhdGFs b2cvcGdfcmV3cml0ZS5oCmluZGV4IDYwZDY0MmI1OTVmLi44MTQ4ZTM1NjhiNSAxMDA2NDQK LS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19yZXdyaXRlLmgKKysrIGIvc3JjL2luY2x1 ZGUvY2F0YWxvZy9wZ19yZXdyaXRlLmgKQEAgLTU0LDYgKzU0LDYgQEAgdHlwZWRlZiBGb3Jt RGF0YV9wZ19yZXdyaXRlICpGb3JtX3BnX3Jld3JpdGU7CiBERUNMQVJFX1RPQVNUKHBnX3Jl d3JpdGUsIDI4MzgsIDI4MzkpOwogCiBERUNMQVJFX1VOSVFVRV9JTkRFWF9QS0VZKHBnX3Jl d3JpdGVfb2lkX2luZGV4LCAyNjkyLCBSZXdyaXRlT2lkSW5kZXhJZCwgcGdfcmV3cml0ZSwg YnRyZWUob2lkIG9pZF9vcHMpKTsKLURFQ0xBUkVfVU5JUVVFX0lOREVYKHBnX3Jld3JpdGVf cmVsX3J1bGVuYW1lX2luZGV4LCAyNjkzLCBSZXdyaXRlUmVsUnVsZW5hbWVJbmRleElkLCBw Z19yZXdyaXRlLCBidHJlZShldl9jbGFzcyBvaWRfb3BzLCBydWxlbmFtZSBuYW1lX29wcykp OworREVDTEFSRV9VTklRVUVfSU5ERVgocGdfcmV3cml0ZV9yZWxfcnVsZW5hbWVfaW5kZXgs IDI2OTMsIFJld3JpdGVSZWxSdWxlbmFtZUluZGV4SWQsIHBnX3Jld3JpdGUsIGJ0cmVlKGV2 X2NsYXNzIG9pZF9vcHMsIHJ1bGVuYW1lIG5hbWVfb3BzKSwgUlVMRVJFTE5BTUUsIDgpOwog CiAjZW5kaWYJCQkJCQkJLyogUEdfUkVXUklURV9IICovCmRpZmYgLS1naXQgYS9zcmMvaW5j bHVkZS9jYXRhbG9nL3BnX3NlcXVlbmNlLmggYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Nl cXVlbmNlLmgKaW5kZXggZmRmYzI3YmJkOTUuLmVmZDQ0MWMzMzlkIDEwMDY0NAotLS0gYS9z cmMvaW5jbHVkZS9jYXRhbG9nL3BnX3NlcXVlbmNlLmgKKysrIGIvc3JjL2luY2x1ZGUvY2F0 YWxvZy9wZ19zZXF1ZW5jZS5oCkBAIC0zOSw2ICszOSw2IEBAIENBVEFMT0cocGdfc2VxdWVu Y2UsMjIyNCxTZXF1ZW5jZVJlbGF0aW9uSWQpCiAgKi8KIHR5cGVkZWYgRm9ybURhdGFfcGdf c2VxdWVuY2UgKkZvcm1fcGdfc2VxdWVuY2U7CiAKLURFQ0xBUkVfVU5JUVVFX0lOREVYX1BL RVkocGdfc2VxdWVuY2Vfc2VxcmVsaWRfaW5kZXgsIDUwMDIsIFNlcXVlbmNlUmVsaWRJbmRl eElkLCBwZ19zZXF1ZW5jZSwgYnRyZWUoc2VxcmVsaWQgb2lkX29wcykpOworREVDTEFSRV9V TklRVUVfSU5ERVhfUEtFWShwZ19zZXF1ZW5jZV9zZXFyZWxpZF9pbmRleCwgNTAwMiwgU2Vx dWVuY2VSZWxpZEluZGV4SWQsIHBnX3NlcXVlbmNlLCBidHJlZShzZXFyZWxpZCBvaWRfb3Bz KSwgU0VRUkVMSUQsIDMyKTsKIAogI2VuZGlmCQkJCQkJCS8qIFBHX1NFUVVFTkNFX0ggKi8K ZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfc3RhdGlzdGljLmggYi9zcmMv aW5jbHVkZS9jYXRhbG9nL3BnX3N0YXRpc3RpYy5oCmluZGV4IDA4MDhjNWZjODkzLi5kNjdm OTBkOWYxOSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19zdGF0aXN0aWMu aAorKysgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3N0YXRpc3RpYy5oCkBAIC0xMzYsNyAr MTM2LDcgQEAgdHlwZWRlZiBGb3JtRGF0YV9wZ19zdGF0aXN0aWMgKkZvcm1fcGdfc3RhdGlz dGljOwogCiBERUNMQVJFX1RPQVNUKHBnX3N0YXRpc3RpYywgMjg0MCwgMjg0MSk7CiAKLURF Q0xBUkVfVU5JUVVFX0lOREVYX1BLRVkocGdfc3RhdGlzdGljX3JlbGlkX2F0dF9pbmhfaW5k ZXgsIDI2OTYsIFN0YXRpc3RpY1JlbGlkQXR0bnVtSW5oSW5kZXhJZCwgcGdfc3RhdGlzdGlj LCBidHJlZShzdGFyZWxpZCBvaWRfb3BzLCBzdGFhdHRudW0gaW50Ml9vcHMsIHN0YWluaGVy aXQgYm9vbF9vcHMpKTsKK0RFQ0xBUkVfVU5JUVVFX0lOREVYX1BLRVkocGdfc3RhdGlzdGlj X3JlbGlkX2F0dF9pbmhfaW5kZXgsIDI2OTYsIFN0YXRpc3RpY1JlbGlkQXR0bnVtSW5oSW5k ZXhJZCwgcGdfc3RhdGlzdGljLCBidHJlZShzdGFyZWxpZCBvaWRfb3BzLCBzdGFhdHRudW0g aW50Ml9vcHMsIHN0YWluaGVyaXQgYm9vbF9vcHMpLCBTVEFUUkVMQVRUSU5ILCAxMjgpOwog CiBERUNMQVJFX0ZPUkVJR05fS0VZKChzdGFyZWxpZCwgc3RhYXR0bnVtKSwgcGdfYXR0cmli dXRlLCAoYXR0cmVsaWQsIGF0dG51bSkpOwogCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9j YXRhbG9nL3BnX3N0YXRpc3RpY19leHQuaCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfc3Rh dGlzdGljX2V4dC5oCmluZGV4IGExMzZjZWZmYzYwLi45NTc2ZmU3MjNlMCAxMDA2NDQKLS0t IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19zdGF0aXN0aWNfZXh0LmgKKysrIGIvc3JjL2lu Y2x1ZGUvY2F0YWxvZy9wZ19zdGF0aXN0aWNfZXh0LmgKQEAgLTcwLDggKzcwLDggQEAgdHlw ZWRlZiBGb3JtRGF0YV9wZ19zdGF0aXN0aWNfZXh0ICpGb3JtX3BnX3N0YXRpc3RpY19leHQ7 CiAKIERFQ0xBUkVfVE9BU1QocGdfc3RhdGlzdGljX2V4dCwgMzQzOSwgMzQ0MCk7CiAKLURF Q0xBUkVfVU5JUVVFX0lOREVYX1BLRVkocGdfc3RhdGlzdGljX2V4dF9vaWRfaW5kZXgsIDMz ODAsIFN0YXRpc3RpY0V4dE9pZEluZGV4SWQsIHBnX3N0YXRpc3RpY19leHQsIGJ0cmVlKG9p ZCBvaWRfb3BzKSk7Ci1ERUNMQVJFX1VOSVFVRV9JTkRFWChwZ19zdGF0aXN0aWNfZXh0X25h bWVfaW5kZXgsIDM5OTcsIFN0YXRpc3RpY0V4dE5hbWVJbmRleElkLCBwZ19zdGF0aXN0aWNf ZXh0LCBidHJlZShzdHhuYW1lIG5hbWVfb3BzLCBzdHhuYW1lc3BhY2Ugb2lkX29wcykpOwor REVDTEFSRV9VTklRVUVfSU5ERVhfUEtFWShwZ19zdGF0aXN0aWNfZXh0X29pZF9pbmRleCwg MzM4MCwgU3RhdGlzdGljRXh0T2lkSW5kZXhJZCwgcGdfc3RhdGlzdGljX2V4dCwgYnRyZWUo b2lkIG9pZF9vcHMpLCBTVEFURVhUT0lELCA0KTsKK0RFQ0xBUkVfVU5JUVVFX0lOREVYKHBn X3N0YXRpc3RpY19leHRfbmFtZV9pbmRleCwgMzk5NywgU3RhdGlzdGljRXh0TmFtZUluZGV4 SWQsIHBnX3N0YXRpc3RpY19leHQsIGJ0cmVlKHN0eG5hbWUgbmFtZV9vcHMsIHN0eG5hbWVz cGFjZSBvaWRfb3BzKSwgU1RBVEVYVE5BTUVOU1AsIDQpOwogREVDTEFSRV9JTkRFWChwZ19z dGF0aXN0aWNfZXh0X3JlbGlkX2luZGV4LCAzMzc5LCBTdGF0aXN0aWNFeHRSZWxpZEluZGV4 SWQsIHBnX3N0YXRpc3RpY19leHQsIGJ0cmVlKHN0eHJlbGlkIG9pZF9vcHMpKTsKIAogREVD TEFSRV9BUlJBWV9GT1JFSUdOX0tFWSgoc3R4cmVsaWQsIHN0eGtleXMpLCBwZ19hdHRyaWJ1 dGUsIChhdHRyZWxpZCwgYXR0bnVtKSk7CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRh bG9nL3BnX3N0YXRpc3RpY19leHRfZGF0YS5oIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19z dGF0aXN0aWNfZXh0X2RhdGEuaAppbmRleCAxOWEwMDcwNWU2YS4uMGYwOTg4M2UxMjkgMTAw NjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfc3RhdGlzdGljX2V4dF9kYXRhLmgK KysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19zdGF0aXN0aWNfZXh0X2RhdGEuaApAQCAt NTQsNyArNTQsNyBAQCB0eXBlZGVmIEZvcm1EYXRhX3BnX3N0YXRpc3RpY19leHRfZGF0YSAq Rm9ybV9wZ19zdGF0aXN0aWNfZXh0X2RhdGE7CiAKIERFQ0xBUkVfVE9BU1QocGdfc3RhdGlz dGljX2V4dF9kYXRhLCAzNDMwLCAzNDMxKTsKIAotREVDTEFSRV9VTklRVUVfSU5ERVhfUEtF WShwZ19zdGF0aXN0aWNfZXh0X2RhdGFfc3R4b2lkX2luaF9pbmRleCwgMzQzMywgU3RhdGlz dGljRXh0RGF0YVN0eG9pZEluaEluZGV4SWQsIHBnX3N0YXRpc3RpY19leHRfZGF0YSwgYnRy ZWUoc3R4b2lkIG9pZF9vcHMsIHN0eGRpbmhlcml0IGJvb2xfb3BzKSk7CitERUNMQVJFX1VO SVFVRV9JTkRFWF9QS0VZKHBnX3N0YXRpc3RpY19leHRfZGF0YV9zdHhvaWRfaW5oX2luZGV4 LCAzNDMzLCBTdGF0aXN0aWNFeHREYXRhU3R4b2lkSW5oSW5kZXhJZCwgcGdfc3RhdGlzdGlj X2V4dF9kYXRhLCBidHJlZShzdHhvaWQgb2lkX29wcywgc3R4ZGluaGVyaXQgYm9vbF9vcHMp LCBTVEFURVhUREFUQVNUWE9JRCwgNCk7CiAKIAogI2VuZGlmCQkJCQkJCS8qIFBHX1NUQVRJ U1RJQ19FWFRfREFUQV9IICovCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3Bn X3N1YnNjcmlwdGlvbi5oIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19zdWJzY3JpcHRpb24u aAppbmRleCBlMGI5MWVhY2QyYS4uOWE2YTNmMmRkNDcgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNs dWRlL2NhdGFsb2cvcGdfc3Vic2NyaXB0aW9uLmgKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxv Zy9wZ19zdWJzY3JpcHRpb24uaApAQCAtMTE1LDggKzExNSw4IEBAIHR5cGVkZWYgRm9ybURh dGFfcGdfc3Vic2NyaXB0aW9uICpGb3JtX3BnX3N1YnNjcmlwdGlvbjsKIAogREVDTEFSRV9U T0FTVF9XSVRIX01BQ1JPKHBnX3N1YnNjcmlwdGlvbiwgNDE4MywgNDE4NCwgUGdTdWJzY3Jp cHRpb25Ub2FzdFRhYmxlLCBQZ1N1YnNjcmlwdGlvblRvYXN0SW5kZXgpOwogCi1ERUNMQVJF X1VOSVFVRV9JTkRFWF9QS0VZKHBnX3N1YnNjcmlwdGlvbl9vaWRfaW5kZXgsIDYxMTQsIFN1 YnNjcmlwdGlvbk9iamVjdEluZGV4SWQsIHBnX3N1YnNjcmlwdGlvbiwgYnRyZWUob2lkIG9p ZF9vcHMpKTsKLURFQ0xBUkVfVU5JUVVFX0lOREVYKHBnX3N1YnNjcmlwdGlvbl9zdWJuYW1l X2luZGV4LCA2MTE1LCBTdWJzY3JpcHRpb25OYW1lSW5kZXhJZCwgcGdfc3Vic2NyaXB0aW9u LCBidHJlZShzdWJkYmlkIG9pZF9vcHMsIHN1Ym5hbWUgbmFtZV9vcHMpKTsKK0RFQ0xBUkVf VU5JUVVFX0lOREVYX1BLRVkocGdfc3Vic2NyaXB0aW9uX29pZF9pbmRleCwgNjExNCwgU3Vi c2NyaXB0aW9uT2JqZWN0SW5kZXhJZCwgcGdfc3Vic2NyaXB0aW9uLCBidHJlZShvaWQgb2lk X29wcyksIFNVQlNDUklQVElPTk9JRCwgNCk7CitERUNMQVJFX1VOSVFVRV9JTkRFWChwZ19z dWJzY3JpcHRpb25fc3VibmFtZV9pbmRleCwgNjExNSwgU3Vic2NyaXB0aW9uTmFtZUluZGV4 SWQsIHBnX3N1YnNjcmlwdGlvbiwgYnRyZWUoc3ViZGJpZCBvaWRfb3BzLCBzdWJuYW1lIG5h bWVfb3BzKSwgU1VCU0NSSVBUSU9OTkFNRSwgNCk7CiAKIHR5cGVkZWYgc3RydWN0IFN1YnNj cmlwdGlvbgogewpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19zdWJzY3Jp cHRpb25fcmVsLmggYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3N1YnNjcmlwdGlvbl9yZWwu aAppbmRleCBmNTMyNGI3MTBkNi4uNjM4ZjBkNTQ0NzEgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNs dWRlL2NhdGFsb2cvcGdfc3Vic2NyaXB0aW9uX3JlbC5oCisrKyBiL3NyYy9pbmNsdWRlL2Nh dGFsb2cvcGdfc3Vic2NyaXB0aW9uX3JlbC5oCkBAIC00OSw3ICs0OSw3IEBAIENBVEFMT0co cGdfc3Vic2NyaXB0aW9uX3JlbCw2MTAyLFN1YnNjcmlwdGlvblJlbFJlbGF0aW9uSWQpCiAK IHR5cGVkZWYgRm9ybURhdGFfcGdfc3Vic2NyaXB0aW9uX3JlbCAqRm9ybV9wZ19zdWJzY3Jp cHRpb25fcmVsOwogCi1ERUNMQVJFX1VOSVFVRV9JTkRFWF9QS0VZKHBnX3N1YnNjcmlwdGlv bl9yZWxfc3JyZWxpZF9zcnN1YmlkX2luZGV4LCA2MTE3LCBTdWJzY3JpcHRpb25SZWxTcnJl bGlkU3JzdWJpZEluZGV4SWQsIHBnX3N1YnNjcmlwdGlvbl9yZWwsIGJ0cmVlKHNycmVsaWQg b2lkX29wcywgc3JzdWJpZCBvaWRfb3BzKSk7CitERUNMQVJFX1VOSVFVRV9JTkRFWF9QS0VZ KHBnX3N1YnNjcmlwdGlvbl9yZWxfc3JyZWxpZF9zcnN1YmlkX2luZGV4LCA2MTE3LCBTdWJz Y3JpcHRpb25SZWxTcnJlbGlkU3JzdWJpZEluZGV4SWQsIHBnX3N1YnNjcmlwdGlvbl9yZWws IGJ0cmVlKHNycmVsaWQgb2lkX29wcywgc3JzdWJpZCBvaWRfb3BzKSwgU1VCU0NSSVBUSU9O UkVMTUFQLCA2NCk7CiAKICNpZmRlZiBFWFBPU0VfVE9fQ0xJRU5UX0NPREUKIApkaWZmIC0t Z2l0IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ190YWJsZXNwYWNlLmggYi9zcmMvaW5jbHVk ZS9jYXRhbG9nL3BnX3RhYmxlc3BhY2UuaAppbmRleCBlYTg2NjVlODNhNC4uODkxMGZlMzYy YzMgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfdGFibGVzcGFjZS5oCisr KyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfdGFibGVzcGFjZS5oCkBAIC00OSw3ICs0OSw3 IEBAIHR5cGVkZWYgRm9ybURhdGFfcGdfdGFibGVzcGFjZSAqRm9ybV9wZ190YWJsZXNwYWNl OwogCiBERUNMQVJFX1RPQVNUX1dJVEhfTUFDUk8ocGdfdGFibGVzcGFjZSwgNDE4NSwgNDE4 NiwgUGdUYWJsZXNwYWNlVG9hc3RUYWJsZSwgUGdUYWJsZXNwYWNlVG9hc3RJbmRleCk7CiAK LURFQ0xBUkVfVU5JUVVFX0lOREVYX1BLRVkocGdfdGFibGVzcGFjZV9vaWRfaW5kZXgsIDI2 OTcsIFRhYmxlc3BhY2VPaWRJbmRleElkLCBwZ190YWJsZXNwYWNlLCBidHJlZShvaWQgb2lk X29wcykpOworREVDTEFSRV9VTklRVUVfSU5ERVhfUEtFWShwZ190YWJsZXNwYWNlX29pZF9p bmRleCwgMjY5NywgVGFibGVzcGFjZU9pZEluZGV4SWQsIHBnX3RhYmxlc3BhY2UsIGJ0cmVl KG9pZCBvaWRfb3BzKSwgVEFCTEVTUEFDRU9JRCwgNCk7CiBERUNMQVJFX1VOSVFVRV9JTkRF WChwZ190YWJsZXNwYWNlX3NwY25hbWVfaW5kZXgsIDI2OTgsIFRhYmxlc3BhY2VOYW1lSW5k ZXhJZCwgcGdfdGFibGVzcGFjZSwgYnRyZWUoc3BjbmFtZSBuYW1lX29wcykpOwogCiAjZW5k aWYJCQkJCQkJLyogUEdfVEFCTEVTUEFDRV9IICovCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVk ZS9jYXRhbG9nL3BnX3RyYW5zZm9ybS5oIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ190cmFu c2Zvcm0uaAppbmRleCA4ZWIxODk3ODRkYS4uMjY2MGQ3YTcwNmIgMTAwNjQ0Ci0tLSBhL3Ny Yy9pbmNsdWRlL2NhdGFsb2cvcGdfdHJhbnNmb3JtLmgKKysrIGIvc3JjL2luY2x1ZGUvY2F0 YWxvZy9wZ190cmFuc2Zvcm0uaApAQCAtNDIsNyArNDIsNyBAQCBDQVRBTE9HKHBnX3RyYW5z Zm9ybSwzNTc2LFRyYW5zZm9ybVJlbGF0aW9uSWQpCiAgKi8KIHR5cGVkZWYgRm9ybURhdGFf cGdfdHJhbnNmb3JtICpGb3JtX3BnX3RyYW5zZm9ybTsKIAotREVDTEFSRV9VTklRVUVfSU5E RVhfUEtFWShwZ190cmFuc2Zvcm1fb2lkX2luZGV4LCAzNTc0LCBUcmFuc2Zvcm1PaWRJbmRl eElkLCBwZ190cmFuc2Zvcm0sIGJ0cmVlKG9pZCBvaWRfb3BzKSk7Ci1ERUNMQVJFX1VOSVFV RV9JTkRFWChwZ190cmFuc2Zvcm1fdHlwZV9sYW5nX2luZGV4LCAzNTc1LCBUcmFuc2Zvcm1U eXBlTGFuZ0luZGV4SWQsIHBnX3RyYW5zZm9ybSwgYnRyZWUodHJmdHlwZSBvaWRfb3BzLCB0 cmZsYW5nIG9pZF9vcHMpKTsKK0RFQ0xBUkVfVU5JUVVFX0lOREVYX1BLRVkocGdfdHJhbnNm b3JtX29pZF9pbmRleCwgMzU3NCwgVHJhbnNmb3JtT2lkSW5kZXhJZCwgcGdfdHJhbnNmb3Jt LCBidHJlZShvaWQgb2lkX29wcyksIFRSRk9JRCwgMTYpOworREVDTEFSRV9VTklRVUVfSU5E RVgocGdfdHJhbnNmb3JtX3R5cGVfbGFuZ19pbmRleCwgMzU3NSwgVHJhbnNmb3JtVHlwZUxh bmdJbmRleElkLCBwZ190cmFuc2Zvcm0sIGJ0cmVlKHRyZnR5cGUgb2lkX29wcywgdHJmbGFu ZyBvaWRfb3BzKSwgVFJGVFlQRUxBTkcsIDE2KTsKIAogI2VuZGlmCQkJCQkJCS8qIFBHX1RS QU5TRk9STV9IICovCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3RzX2Nv bmZpZy5oIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ190c19jb25maWcuaAppbmRleCBlNTI3 MjAzODdkYS4uMzY5OTU1MWYwZmUgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFsb2cv cGdfdHNfY29uZmlnLmgKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ190c19jb25maWcu aApAQCAtNDcsNyArNDcsNyBAQCBDQVRBTE9HKHBnX3RzX2NvbmZpZywzNjAyLFRTQ29uZmln UmVsYXRpb25JZCkKIAogdHlwZWRlZiBGb3JtRGF0YV9wZ190c19jb25maWcgKkZvcm1fcGdf dHNfY29uZmlnOwogCi1ERUNMQVJFX1VOSVFVRV9JTkRFWChwZ190c19jb25maWdfY2ZnbmFt ZV9pbmRleCwgMzYwOCwgVFNDb25maWdOYW1lTnNwSW5kZXhJZCwgcGdfdHNfY29uZmlnLCBi dHJlZShjZmduYW1lIG5hbWVfb3BzLCBjZmduYW1lc3BhY2Ugb2lkX29wcykpOwotREVDTEFS RV9VTklRVUVfSU5ERVhfUEtFWShwZ190c19jb25maWdfb2lkX2luZGV4LCAzNzEyLCBUU0Nv bmZpZ09pZEluZGV4SWQsIHBnX3RzX2NvbmZpZywgYnRyZWUob2lkIG9pZF9vcHMpKTsKK0RF Q0xBUkVfVU5JUVVFX0lOREVYKHBnX3RzX2NvbmZpZ19jZmduYW1lX2luZGV4LCAzNjA4LCBU U0NvbmZpZ05hbWVOc3BJbmRleElkLCBwZ190c19jb25maWcsIGJ0cmVlKGNmZ25hbWUgbmFt ZV9vcHMsIGNmZ25hbWVzcGFjZSBvaWRfb3BzKSwgVFNDT05GSUdOQU1FTlNQLCAyKTsKK0RF Q0xBUkVfVU5JUVVFX0lOREVYX1BLRVkocGdfdHNfY29uZmlnX29pZF9pbmRleCwgMzcxMiwg VFNDb25maWdPaWRJbmRleElkLCBwZ190c19jb25maWcsIGJ0cmVlKG9pZCBvaWRfb3BzKSwg VFNDT05GSUdPSUQsIDIpOwogCiAjZW5kaWYJCQkJCQkJLyogUEdfVFNfQ09ORklHX0ggKi8K ZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfdHNfY29uZmlnX21hcC5oIGIv c3JjL2luY2x1ZGUvY2F0YWxvZy9wZ190c19jb25maWdfbWFwLmgKaW5kZXggOTFmMDkyY2E0 ODMuLjQzN2IzNGEyMGNjIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Rz X2NvbmZpZ19tYXAuaAorKysgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3RzX2NvbmZpZ19t YXAuaApAQCAtNDQsNiArNDQsNiBAQCBDQVRBTE9HKHBnX3RzX2NvbmZpZ19tYXAsMzYwMyxU U0NvbmZpZ01hcFJlbGF0aW9uSWQpCiAKIHR5cGVkZWYgRm9ybURhdGFfcGdfdHNfY29uZmln X21hcCAqRm9ybV9wZ190c19jb25maWdfbWFwOwogCi1ERUNMQVJFX1VOSVFVRV9JTkRFWF9Q S0VZKHBnX3RzX2NvbmZpZ19tYXBfaW5kZXgsIDM2MDksIFRTQ29uZmlnTWFwSW5kZXhJZCwg cGdfdHNfY29uZmlnX21hcCwgYnRyZWUobWFwY2ZnIG9pZF9vcHMsIG1hcHRva2VudHlwZSBp bnQ0X29wcywgbWFwc2Vxbm8gaW50NF9vcHMpKTsKK0RFQ0xBUkVfVU5JUVVFX0lOREVYX1BL RVkocGdfdHNfY29uZmlnX21hcF9pbmRleCwgMzYwOSwgVFNDb25maWdNYXBJbmRleElkLCBw Z190c19jb25maWdfbWFwLCBidHJlZShtYXBjZmcgb2lkX29wcywgbWFwdG9rZW50eXBlIGlu dDRfb3BzLCBtYXBzZXFubyBpbnQ0X29wcyksIFRTQ09ORklHTUFQLCAyKTsKIAogI2VuZGlm CQkJCQkJCS8qIFBHX1RTX0NPTkZJR19NQVBfSCAqLwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1 ZGUvY2F0YWxvZy9wZ190c19kaWN0LmggYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3RzX2Rp Y3QuaAppbmRleCAxMGE2NDkwMjEzMC4uMzRlMjJkOTQzNGYgMTAwNjQ0Ci0tLSBhL3NyYy9p bmNsdWRlL2NhdGFsb2cvcGdfdHNfZGljdC5oCisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cv cGdfdHNfZGljdC5oCkBAIC01Myw3ICs1Myw3IEBAIHR5cGVkZWYgRm9ybURhdGFfcGdfdHNf ZGljdCAqRm9ybV9wZ190c19kaWN0OwogCiBERUNMQVJFX1RPQVNUKHBnX3RzX2RpY3QsIDQx NjksIDQxNzApOwogCi1ERUNMQVJFX1VOSVFVRV9JTkRFWChwZ190c19kaWN0X2RpY3RuYW1l X2luZGV4LCAzNjA0LCBUU0RpY3Rpb25hcnlOYW1lTnNwSW5kZXhJZCwgcGdfdHNfZGljdCwg YnRyZWUoZGljdG5hbWUgbmFtZV9vcHMsIGRpY3RuYW1lc3BhY2Ugb2lkX29wcykpOwotREVD TEFSRV9VTklRVUVfSU5ERVhfUEtFWShwZ190c19kaWN0X29pZF9pbmRleCwgMzYwNSwgVFNE aWN0aW9uYXJ5T2lkSW5kZXhJZCwgcGdfdHNfZGljdCwgYnRyZWUob2lkIG9pZF9vcHMpKTsK K0RFQ0xBUkVfVU5JUVVFX0lOREVYKHBnX3RzX2RpY3RfZGljdG5hbWVfaW5kZXgsIDM2MDQs IFRTRGljdGlvbmFyeU5hbWVOc3BJbmRleElkLCBwZ190c19kaWN0LCBidHJlZShkaWN0bmFt ZSBuYW1lX29wcywgZGljdG5hbWVzcGFjZSBvaWRfb3BzKSwgVFNESUNUTkFNRU5TUCwgMik7 CitERUNMQVJFX1VOSVFVRV9JTkRFWF9QS0VZKHBnX3RzX2RpY3Rfb2lkX2luZGV4LCAzNjA1 LCBUU0RpY3Rpb25hcnlPaWRJbmRleElkLCBwZ190c19kaWN0LCBidHJlZShvaWQgb2lkX29w cyksIFRTRElDVE9JRCwgMik7CiAKICNlbmRpZgkJCQkJCQkvKiBQR19UU19ESUNUX0ggKi8K ZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfdHNfcGFyc2VyLmggYi9zcmMv aW5jbHVkZS9jYXRhbG9nL3BnX3RzX3BhcnNlci5oCmluZGV4IDU3ZDllODQyOGExLi43ODg1 YzI1NTVlYyAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ190c19wYXJzZXIu aAorKysgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3RzX3BhcnNlci5oCkBAIC01NCw3ICs1 NCw3IEBAIENBVEFMT0cocGdfdHNfcGFyc2VyLDM2MDEsVFNQYXJzZXJSZWxhdGlvbklkKQog CiB0eXBlZGVmIEZvcm1EYXRhX3BnX3RzX3BhcnNlciAqRm9ybV9wZ190c19wYXJzZXI7CiAK LURFQ0xBUkVfVU5JUVVFX0lOREVYKHBnX3RzX3BhcnNlcl9wcnNuYW1lX2luZGV4LCAzNjA2 LCBUU1BhcnNlck5hbWVOc3BJbmRleElkLCBwZ190c19wYXJzZXIsIGJ0cmVlKHByc25hbWUg bmFtZV9vcHMsIHByc25hbWVzcGFjZSBvaWRfb3BzKSk7Ci1ERUNMQVJFX1VOSVFVRV9JTkRF WF9QS0VZKHBnX3RzX3BhcnNlcl9vaWRfaW5kZXgsIDM2MDcsIFRTUGFyc2VyT2lkSW5kZXhJ ZCwgcGdfdHNfcGFyc2VyLCBidHJlZShvaWQgb2lkX29wcykpOworREVDTEFSRV9VTklRVUVf SU5ERVgocGdfdHNfcGFyc2VyX3Byc25hbWVfaW5kZXgsIDM2MDYsIFRTUGFyc2VyTmFtZU5z cEluZGV4SWQsIHBnX3RzX3BhcnNlciwgYnRyZWUocHJzbmFtZSBuYW1lX29wcywgcHJzbmFt ZXNwYWNlIG9pZF9vcHMpLCBUU1BBUlNFUk5BTUVOU1AsIDIpOworREVDTEFSRV9VTklRVUVf SU5ERVhfUEtFWShwZ190c19wYXJzZXJfb2lkX2luZGV4LCAzNjA3LCBUU1BhcnNlck9pZElu ZGV4SWQsIHBnX3RzX3BhcnNlciwgYnRyZWUob2lkIG9pZF9vcHMpLCBUU1BBUlNFUk9JRCwg Mik7CiAKICNlbmRpZgkJCQkJCQkvKiBQR19UU19QQVJTRVJfSCAqLwpkaWZmIC0tZ2l0IGEv c3JjL2luY2x1ZGUvY2F0YWxvZy9wZ190c190ZW1wbGF0ZS5oIGIvc3JjL2luY2x1ZGUvY2F0 YWxvZy9wZ190c190ZW1wbGF0ZS5oCmluZGV4IGYzYmRjN2IyMDBmLi5jZDU2OWE3MDBlYiAx MDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ190c190ZW1wbGF0ZS5oCisrKyBi L3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfdHNfdGVtcGxhdGUuaApAQCAtNDUsNyArNDUsNyBA QCBDQVRBTE9HKHBnX3RzX3RlbXBsYXRlLDM3NjQsVFNUZW1wbGF0ZVJlbGF0aW9uSWQpCiAK IHR5cGVkZWYgRm9ybURhdGFfcGdfdHNfdGVtcGxhdGUgKkZvcm1fcGdfdHNfdGVtcGxhdGU7 CiAKLURFQ0xBUkVfVU5JUVVFX0lOREVYKHBnX3RzX3RlbXBsYXRlX3RtcGxuYW1lX2luZGV4 LCAzNzY2LCBUU1RlbXBsYXRlTmFtZU5zcEluZGV4SWQsIHBnX3RzX3RlbXBsYXRlLCBidHJl ZSh0bXBsbmFtZSBuYW1lX29wcywgdG1wbG5hbWVzcGFjZSBvaWRfb3BzKSk7Ci1ERUNMQVJF X1VOSVFVRV9JTkRFWF9QS0VZKHBnX3RzX3RlbXBsYXRlX29pZF9pbmRleCwgMzc2NywgVFNU ZW1wbGF0ZU9pZEluZGV4SWQsIHBnX3RzX3RlbXBsYXRlLCBidHJlZShvaWQgb2lkX29wcykp OworREVDTEFSRV9VTklRVUVfSU5ERVgocGdfdHNfdGVtcGxhdGVfdG1wbG5hbWVfaW5kZXgs IDM3NjYsIFRTVGVtcGxhdGVOYW1lTnNwSW5kZXhJZCwgcGdfdHNfdGVtcGxhdGUsIGJ0cmVl KHRtcGxuYW1lIG5hbWVfb3BzLCB0bXBsbmFtZXNwYWNlIG9pZF9vcHMpLCBUU1RFTVBMQVRF TkFNRU5TUCwgMik7CitERUNMQVJFX1VOSVFVRV9JTkRFWF9QS0VZKHBnX3RzX3RlbXBsYXRl X29pZF9pbmRleCwgMzc2NywgVFNUZW1wbGF0ZU9pZEluZGV4SWQsIHBnX3RzX3RlbXBsYXRl LCBidHJlZShvaWQgb2lkX29wcyksIFRTVEVNUExBVEVPSUQsIDIpOwogCiAjZW5kaWYJCQkJ CQkJLyogUEdfVFNfVEVNUExBVEVfSCAqLwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0 YWxvZy9wZ190eXBlLmggYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3R5cGUuaAppbmRleCA1 MDhiYTdiMGY3MS4uOWQwMGJlOGRiYmYgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFs b2cvcGdfdHlwZS5oCisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfdHlwZS5oCkBAIC0y NjIsOCArMjYyLDggQEAgdHlwZWRlZiBGb3JtRGF0YV9wZ190eXBlICpGb3JtX3BnX3R5cGU7 CiAKIERFQ0xBUkVfVE9BU1QocGdfdHlwZSwgNDE3MSwgNDE3Mik7CiAKLURFQ0xBUkVfVU5J UVVFX0lOREVYX1BLRVkocGdfdHlwZV9vaWRfaW5kZXgsIDI3MDMsIFR5cGVPaWRJbmRleElk LCBwZ190eXBlLCBidHJlZShvaWQgb2lkX29wcykpOwotREVDTEFSRV9VTklRVUVfSU5ERVgo cGdfdHlwZV90eXBuYW1lX25zcF9pbmRleCwgMjcwNCwgVHlwZU5hbWVOc3BJbmRleElkLCBw Z190eXBlLCBidHJlZSh0eXBuYW1lIG5hbWVfb3BzLCB0eXBuYW1lc3BhY2Ugb2lkX29wcykp OworREVDTEFSRV9VTklRVUVfSU5ERVhfUEtFWShwZ190eXBlX29pZF9pbmRleCwgMjcwMywg VHlwZU9pZEluZGV4SWQsIHBnX3R5cGUsIGJ0cmVlKG9pZCBvaWRfb3BzKSwgVFlQRU9JRCwg NjQpOworREVDTEFSRV9VTklRVUVfSU5ERVgocGdfdHlwZV90eXBuYW1lX25zcF9pbmRleCwg MjcwNCwgVHlwZU5hbWVOc3BJbmRleElkLCBwZ190eXBlLCBidHJlZSh0eXBuYW1lIG5hbWVf b3BzLCB0eXBuYW1lc3BhY2Ugb2lkX29wcyksIFRZUEVOQU1FTlNQLCA2NCk7CiAKICNpZmRl ZiBFWFBPU0VfVE9fQ0xJRU5UX0NPREUKIApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0 YWxvZy9wZ191c2VyX21hcHBpbmcuaCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfdXNlcl9t YXBwaW5nLmgKaW5kZXggZWNhMzNmNGNiNDAuLjk0YmM5M2E4M2ZiIDEwMDY0NAotLS0gYS9z cmMvaW5jbHVkZS9jYXRhbG9nL3BnX3VzZXJfbWFwcGluZy5oCisrKyBiL3NyYy9pbmNsdWRl L2NhdGFsb2cvcGdfdXNlcl9tYXBwaW5nLmgKQEAgLTQ5LDcgKzQ5LDcgQEAgdHlwZWRlZiBG b3JtRGF0YV9wZ191c2VyX21hcHBpbmcgKkZvcm1fcGdfdXNlcl9tYXBwaW5nOwogCiBERUNM QVJFX1RPQVNUKHBnX3VzZXJfbWFwcGluZywgNDE3MywgNDE3NCk7CiAKLURFQ0xBUkVfVU5J UVVFX0lOREVYX1BLRVkocGdfdXNlcl9tYXBwaW5nX29pZF9pbmRleCwgMTc0LCBVc2VyTWFw cGluZ09pZEluZGV4SWQsIHBnX3VzZXJfbWFwcGluZywgYnRyZWUob2lkIG9pZF9vcHMpKTsK LURFQ0xBUkVfVU5JUVVFX0lOREVYKHBnX3VzZXJfbWFwcGluZ191c2VyX3NlcnZlcl9pbmRl eCwgMTc1LCBVc2VyTWFwcGluZ1VzZXJTZXJ2ZXJJbmRleElkLCBwZ191c2VyX21hcHBpbmcs IGJ0cmVlKHVtdXNlciBvaWRfb3BzLCB1bXNlcnZlciBvaWRfb3BzKSk7CitERUNMQVJFX1VO SVFVRV9JTkRFWF9QS0VZKHBnX3VzZXJfbWFwcGluZ19vaWRfaW5kZXgsIDE3NCwgVXNlck1h cHBpbmdPaWRJbmRleElkLCBwZ191c2VyX21hcHBpbmcsIGJ0cmVlKG9pZCBvaWRfb3BzKSwg VVNFUk1BUFBJTkdPSUQsIDIpOworREVDTEFSRV9VTklRVUVfSU5ERVgocGdfdXNlcl9tYXBw aW5nX3VzZXJfc2VydmVyX2luZGV4LCAxNzUsIFVzZXJNYXBwaW5nVXNlclNlcnZlckluZGV4 SWQsIHBnX3VzZXJfbWFwcGluZywgYnRyZWUodW11c2VyIG9pZF9vcHMsIHVtc2VydmVyIG9p ZF9vcHMpLCBVU0VSTUFQUElOR1VTRVJTRVJWRVIsIDIpOwogCiAjZW5kaWYJCQkJCQkJLyog UEdfVVNFUl9NQVBQSU5HX0ggKi8KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3V0aWxzL3N5 c2NhY2hlLmggYi9zcmMvaW5jbHVkZS91dGlscy9zeXNjYWNoZS5oCmluZGV4IDVkNDdhNjUy Y2MxLi42ODgyN2ZiYTUwNSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvdXRpbHMvc3lzY2Fj aGUuaAorKysgYi9zcmMvaW5jbHVkZS91dGlscy9zeXNjYWNoZS5oCkBAIC0yMCwxMDMgKzIw LDcgQEAKICNpbmNsdWRlICJhY2Nlc3MvaHR1cC5oIgogLyogd2UgaW50ZW50aW9uYWxseSBk byBub3QgaW5jbHVkZSB1dGlscy9jYXRjYWNoZS5oIGhlcmUgKi8KIAotLyoKLSAqCQlTeXND YWNoZSBpZGVudGlmaWVycy4KLSAqCi0gKgkJVGhlIG9yZGVyIG9mIHRoZXNlIGlkZW50aWZp ZXJzIG11c3QgbWF0Y2ggdGhlIG9yZGVyCi0gKgkJb2YgdGhlIGVudHJpZXMgaW4gdGhlIGFy cmF5IGNhY2hlaW5mb1tdIGluIHN5c2NhY2hlLmMuCi0gKgkJS2VlcCB0aGVtIGluIGFscGhh YmV0aWNhbCBvcmRlciAocmVudW1iZXJpbmcgb25seSBjb3N0cyBhCi0gKgkJYmFja2VuZCBy ZWJ1aWxkKS4KLSAqLwotCi1lbnVtIFN5c0NhY2hlSWRlbnRpZmllcgotewotCUFHR0ZOT0lE ID0gMCwKLQlBTU5BTUUsCi0JQU1PSUQsCi0JQU1PUE9QSUQsCi0JQU1PUFNUUkFURUdZLAot CUFNUFJPQ05VTSwKLQlBVFROQU1FLAotCUFUVE5VTSwKLQlBVVRITUVNTUVNUk9MRSwKLQlB VVRITUVNUk9MRU1FTSwKLQlBVVRITkFNRSwKLQlBVVRIT0lELAotCUNBU1RTT1VSQ0VUQVJH RVQsCi0JQ0xBQU1OQU1FTlNQLAotCUNMQU9JRCwKLQlDT0xMTkFNRUVOQ05TUCwKLQlDT0xM T0lELAotCUNPTkRFRkFVTFQsCi0JQ09OTkFNRU5TUCwKLQlDT05TVFJPSUQsCi0JQ09OVk9J RCwKLQlEQVRBQkFTRU9JRCwKLQlERUZBQ0xST0xFTlNQT0JKLAotCUVOVU1PSUQsCi0JRU5V TVRZUE9JRE5BTUUsCi0JRVZFTlRUUklHR0VSTkFNRSwKLQlFVkVOVFRSSUdHRVJPSUQsCi0J Rk9SRUlHTkRBVEFXUkFQUEVSTkFNRSwKLQlGT1JFSUdOREFUQVdSQVBQRVJPSUQsCi0JRk9S RUlHTlNFUlZFUk5BTUUsCi0JRk9SRUlHTlNFUlZFUk9JRCwKLQlGT1JFSUdOVEFCTEVSRUws Ci0JSU5ERVhSRUxJRCwKLQlMQU5HTkFNRSwKLQlMQU5HT0lELAotCU5BTUVTUEFDRU5BTUUs Ci0JTkFNRVNQQUNFT0lELAotCU9QRVJOQU1FTlNQLAotCU9QRVJPSUQsCi0JT1BGQU1JTFlB TU5BTUVOU1AsCi0JT1BGQU1JTFlPSUQsCi0JUEFSQU1FVEVSQUNMTkFNRSwKLQlQQVJBTUVU RVJBQ0xPSUQsCi0JUEFSVFJFTElELAotCVBST0NOQU1FQVJHU05TUCwKLQlQUk9DT0lELAot CVBVQkxJQ0FUSU9OTkFNRSwKLQlQVUJMSUNBVElPTk5BTUVTUEFDRSwKLQlQVUJMSUNBVElP Tk5BTUVTUEFDRU1BUCwKLQlQVUJMSUNBVElPTk9JRCwKLQlQVUJMSUNBVElPTlJFTCwKLQlQ VUJMSUNBVElPTlJFTE1BUCwKLQlSQU5HRU1VTFRJUkFOR0UsCi0JUkFOR0VUWVBFLAotCVJF TE5BTUVOU1AsCi0JUkVMT0lELAotCVJFUExPUklHSURFTlQsCi0JUkVQTE9SSUdOQU1FLAot CVJVTEVSRUxOQU1FLAotCVNFUVJFTElELAotCVNUQVRFWFREQVRBU1RYT0lELAotCVNUQVRF WFROQU1FTlNQLAotCVNUQVRFWFRPSUQsCi0JU1RBVFJFTEFUVElOSCwKLQlTVUJTQ1JJUFRJ T05OQU1FLAotCVNVQlNDUklQVElPTk9JRCwKLQlTVUJTQ1JJUFRJT05SRUxNQVAsCi0JVEFC TEVTUEFDRU9JRCwKLQlUUkZPSUQsCi0JVFJGVFlQRUxBTkcsCi0JVFNDT05GSUdNQVAsCi0J VFNDT05GSUdOQU1FTlNQLAotCVRTQ09ORklHT0lELAotCVRTRElDVE5BTUVOU1AsCi0JVFNE SUNUT0lELAotCVRTUEFSU0VSTkFNRU5TUCwKLQlUU1BBUlNFUk9JRCwKLQlUU1RFTVBMQVRF TkFNRU5TUCwKLQlUU1RFTVBMQVRFT0lELAotCVRZUEVOQU1FTlNQLAotCVRZUEVPSUQsCi0J VVNFUk1BUFBJTkdPSUQsCi0JVVNFUk1BUFBJTkdVU0VSU0VSVkVSLAotCi0jZGVmaW5lIFN5 c0NhY2hlU2l6ZSAoVVNFUk1BUFBJTkdVU0VSU0VSVkVSICsgMSkKLX07CisjaW5jbHVkZSAi Y2F0YWxvZy9zeXNjYWNoZV9pbmZvLmgiCiAKIGV4dGVybiB2b2lkIEluaXRDYXRhbG9nQ2Fj aGUodm9pZCk7CiBleHRlcm4gdm9pZCBJbml0Q2F0YWxvZ0NhY2hlUGhhc2UyKHZvaWQpOwpk aWZmIC0tZ2l0IGEvc3JjL3Rvb2xzL3BnaW5jbHVkZS9jcGx1c3BsdXNjaGVjayBiL3NyYy90 b29scy9wZ2luY2x1ZGUvY3BsdXNwbHVzY2hlY2sKaW5kZXggNGUwOWM0Njg2YjMuLjU2ZWQ0 MjM1Njc5IDEwMDc1NQotLS0gYS9zcmMvdG9vbHMvcGdpbmNsdWRlL2NwbHVzcGx1c2NoZWNr CisrKyBiL3NyYy90b29scy9wZ2luY2x1ZGUvY3BsdXNwbHVzY2hlY2sKQEAgLTExOSw2ICsx MTksMTEgQEAgZG8KIAl0ZXN0ICIkZiIgPSBzcmMvaW5jbHVkZS9jb21tb24vdW5pY29kZV9u b25zcGFjaW5nX3RhYmxlLmggJiYgY29udGludWUKIAl0ZXN0ICIkZiIgPSBzcmMvaW5jbHVk ZS9jb21tb24vdW5pY29kZV9lYXN0X2FzaWFuX2Z3X3RhYmxlLmggJiYgY29udGludWUKIAor CXRlc3QgIiRmIiA9IHNyYy9iYWNrZW5kL2NhdGFsb2cvc3lzY2FjaGVfaW5mby5jLmggJiYg Y29udGludWUKKwl0ZXN0ICIkZiIgPSBzcmMvYmFja2VuZC9jYXRhbG9nL3N5c2NhY2hlX2lu Zm8uaCAmJiBjb250aW51ZQorCXRlc3QgIiRmIiA9IHNyYy9pbmNsdWRlL2NhdGFsb2cvc3lz Y2FjaGVfaW5mby5jLmggJiYgY29udGludWUKKwl0ZXN0ICIkZiIgPSBzcmMvaW5jbHVkZS9j YXRhbG9nL3N5c2NhY2hlX2luZm8uaCAmJiBjb250aW51ZQorCiAJIyBXZSBjYW4ndCBtYWtl IHRoZXNlIEJpc29uIG91dHB1dCBmaWxlcyBjb21waWxhYmxlIHN0YW5kYWxvbmUKIAkjIHdp dGhvdXQgdXNpbmcgIiVjb2RlIHJlcXVpcmUiLCB3aGljaCBvbGQgQmlzb24gdmVyc2lvbnMg bGFjay4KIAkjIHBhcnNlci9ncmFtLmggd2lsbCBiZSBpbmNsdWRlZCBieSBwYXJzZXIvZ3Jh bXBhcnNlLmggYW55d2F5LgpkaWZmIC0tZ2l0IGEvc3JjL3Rvb2xzL3BnaW5jbHVkZS9oZWFk ZXJzY2hlY2sgYi9zcmMvdG9vbHMvcGdpbmNsdWRlL2hlYWRlcnNjaGVjawppbmRleCA4ZGVl MWI1NjcwOS4uNDc3ZTRkZDdlNmIgMTAwNzU1Ci0tLSBhL3NyYy90b29scy9wZ2luY2x1ZGUv aGVhZGVyc2NoZWNrCisrKyBiL3NyYy90b29scy9wZ2luY2x1ZGUvaGVhZGVyc2NoZWNrCkBA IC0xMTQsNiArMTE0LDExIEBAIGRvCiAJdGVzdCAiJGYiID0gc3JjL2luY2x1ZGUvY29tbW9u L3VuaWNvZGVfbm9uc3BhY2luZ190YWJsZS5oICYmIGNvbnRpbnVlCiAJdGVzdCAiJGYiID0g c3JjL2luY2x1ZGUvY29tbW9uL3VuaWNvZGVfZWFzdF9hc2lhbl9md190YWJsZS5oICYmIGNv bnRpbnVlCiAKKwl0ZXN0ICIkZiIgPSBzcmMvYmFja2VuZC9jYXRhbG9nL3N5c2NhY2hlX2lu Zm8uYy5oICYmIGNvbnRpbnVlCisJdGVzdCAiJGYiID0gc3JjL2JhY2tlbmQvY2F0YWxvZy9z eXNjYWNoZV9pbmZvLmggJiYgY29udGludWUKKwl0ZXN0ICIkZiIgPSBzcmMvaW5jbHVkZS9j YXRhbG9nL3N5c2NhY2hlX2luZm8uYy5oICYmIGNvbnRpbnVlCisJdGVzdCAiJGYiID0gc3Jj L2luY2x1ZGUvY2F0YWxvZy9zeXNjYWNoZV9pbmZvLmggJiYgY29udGludWUKKwogCSMgV2Ug Y2FuJ3QgbWFrZSB0aGVzZSBCaXNvbiBvdXRwdXQgZmlsZXMgY29tcGlsYWJsZSBzdGFuZGFs b25lCiAJIyB3aXRob3V0IHVzaW5nICIlY29kZSByZXF1aXJlIiwgd2hpY2ggb2xkIEJpc29u IHZlcnNpb25zIGxhY2suCiAJIyBwYXJzZXIvZ3JhbS5oIHdpbGwgYmUgaW5jbHVkZWQgYnkg cGFyc2VyL2dyYW1wYXJzZS5oIGFueXdheS4KLS0gCjIuNDIuMAoK --------------L3YeGhfltQQc96Oc2xBPRYwp Content-Type: text/plain; charset=UTF-8; name="v4-0002-Generate-ObjectProperty-from-catalog-files.patch" Content-Disposition: attachment; filename="v4-0002-Generate-ObjectProperty-from-catalog-files.patch" Content-Transfer-Encoding: base64 RnJvbSBmZjJlZjI4YTBlYjJhZGNhOWNjMzZkMTAzYWEzZmI0ODY5NWNlNTFhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogV2VkLCAxIE5vdiAyMDIzIDE2OjU2OjUwIC0wNDAwClN1YmplY3Q6 IFtQQVRDSCB2NCAyLzJdIEdlbmVyYXRlIE9iamVjdFByb3BlcnR5IGZyb20gY2F0YWxvZyBm aWxlcwoKTW9zdCBvZiB0aGUgaW5mb3JtYXRpb24gY2FuIGJlIGV4dHJhY3RlZCBmcm9tIGNh dGFsb2cgZmlsZXMgYW5kCmdlbmVyYXRlZCBhdXRvbWF0aWNhbGx5LgoKVE9ETzogQ3VycmVu dGx5IG1pc3Npbmc6IG9iamVjdCB0eXBlIGFuZCBjbGFzcyBkZXNjcmlwdGlvbi4gIFRoZXJl IGFyZQpzb21lIHdvcmthcm91bmRzIGluIHBsYWNlLgoKV2UgYWxzbyBub3cgcmVwbGFjZSB0 aGUgbGluZWFyIHNlYXJjaCB3aXRoIGEgaGFzaCBmdW5jdGlvbiBnZW5lcmF0ZWQKdXNpbmcg UGVyZmVjdEhhc2guICBUaGlzIHdvdWxkIGFsbG93IHRoaXMgbG9va3VwIHRhYmxlIHRvIGJl IHVzZWQgaW4KbW9yZSBwZXJmb3JtYW5jZS1zZW5zaXRpdmUgc2l0dWF0aW9ucy4KCkRpc2N1 c3Npb246IGh0dHBzOi8vd3d3LnBvc3RncmVzcWwub3JnL21lc3NhZ2UtaWQvZmxhdC83NWFl NTg3NS0zYWJjLWRhZmMtOGFlYy03MzI0N2VkNDFjZGVAZWlzZW50cmF1dC5vcmcKLS0tCiBz cmMvYmFja2VuZC9jYXRhbG9nLy5naXRpZ25vcmUgICAgICB8ICAgMSArCiBzcmMvYmFja2Vu ZC9jYXRhbG9nL01ha2VmaWxlICAgICAgICB8ICAgMiArLQogc3JjL2JhY2tlbmQvY2F0YWxv Zy9nZW5ia2kucGwgICAgICAgfCAxNjcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKwog c3JjL2JhY2tlbmQvY2F0YWxvZy9vYmplY3RhZGRyZXNzLmMgfCAgMjIgKystLQogc3JjL2lu Y2x1ZGUvY2F0YWxvZy9tZXNvbi5idWlsZCAgICAgfCAgIDIgKwogc3JjL3Rvb2xzL3BnaW5j bHVkZS9jcGx1c3BsdXNjaGVjayAgfCAgIDMgKwogc3JjL3Rvb2xzL3BnaW5jbHVkZS9oZWFk ZXJzY2hlY2sgICAgfCAgIDMgKwogNyBmaWxlcyBjaGFuZ2VkLCAxODggaW5zZXJ0aW9ucygr KSwgMTIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy8u Z2l0aWdub3JlIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy8uZ2l0aWdub3JlCmluZGV4IGZmNjU1 NjAzNzkyLi5kODE3Nzk4ZGMwZSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy8u Z2l0aWdub3JlCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvLmdpdGlnbm9yZQpAQCAtMSwz ICsxLDQgQEAKKy9vYmplY3Rwcm9wZXJ0eV9pbmZvLmMuaAogL3Bvc3RncmVzLmJraQogL3Nj aGVtYXBnLmgKIC9zeXNjYWNoZV9pbmZvLmMuaApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv Y2F0YWxvZy9NYWtlZmlsZSBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvTWFrZWZpbGUKaW5kZXgg MmM5NDEyNmVjNWMuLmU2YzU4NzhlOTljIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRh bG9nL01ha2VmaWxlCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvTWFrZWZpbGUKQEAgLTEy MCw3ICsxMjAsNyBAQCBDQVRBTE9HX0hFQURFUlMgOj0gXAogCXBnX3N1YnNjcmlwdGlvbi5o IFwKIAlwZ19zdWJzY3JpcHRpb25fcmVsLmgKIAotR0VORVJBVEVEX0hFQURFUlMgOj0gJChD QVRBTE9HX0hFQURFUlM6JS5oPSVfZC5oKSBzY2hlbWFwZy5oIHN5c2NhY2hlX2luZm8uaCBz eXNjYWNoZV9pbmZvLmMuaCBzeXN0ZW1fZmtfaW5mby5oCitHRU5FUkFURURfSEVBREVSUyA6 PSAkKENBVEFMT0dfSEVBREVSUzolLmg9JV9kLmgpIG9iamVjdHByb3BlcnR5X2luZm8uYy5o IHNjaGVtYXBnLmggc3lzY2FjaGVfaW5mby5oIHN5c2NhY2hlX2luZm8uYy5oIHN5c3RlbV9m a19pbmZvLmgKIAogUE9TVEdSRVNfQktJX1NSQ1MgOj0gJChhZGRwcmVmaXggJCh0b3Bfc3Jj ZGlyKS9zcmMvaW5jbHVkZS9jYXRhbG9nLywgJChDQVRBTE9HX0hFQURFUlMpKQogCmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL2dlbmJraS5wbCBiL3NyYy9iYWNrZW5kL2Nh dGFsb2cvZ2VuYmtpLnBsCmluZGV4IDc4ZjJkYTY5MGVjLi4xOTkwOTEzMDVjMyAxMDA2NDQK LS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9nZW5ia2kucGwKKysrIGIvc3JjL2JhY2tlbmQv Y2F0YWxvZy9nZW5ia2kucGwKQEAgLTE5LDggKzE5LDEwIEBACiAKIHVzZSBGaW5kQmluOwog dXNlIGxpYiAkRmluZEJpbjo6UmVhbEJpbjsKK3VzZSBsaWIgIiRGaW5kQmluOjpSZWFsQmlu Ly4uLy4uL3Rvb2xzIjsKIAogdXNlIENhdGFsb2c7Cit1c2UgUGVyZmVjdEhhc2g7CiAKIG15 ICRvdXRwdXRfcGF0aCA9ICcnOwogbXkgJG1ham9yX3ZlcnNpb247CkBAIC01OSw2ICs2MSw3 IEBACiBteSAlc3lzY2FjaGVzOwogbXkgJW9pZGNvdW50czsKIG15IEBzeXN0ZW1fY29uc3Ry YWludHM7CitteSBAb2JqZWN0X3Byb3BlcnRpZXM7CiAKIGZvcmVhY2ggbXkgJGhlYWRlciAo QEFSR1YpCiB7CkBAIC0xMzMsNiArMTM2LDcgQEAKIAkJJG9pZGNvdW50c3sgJHRvYXN0LT57 dG9hc3Rfb2lkfSB9Kys7CiAJCSRvaWRjb3VudHN7ICR0b2FzdC0+e3RvYXN0X2luZGV4X29p ZH0gfSsrOwogCX0KKwlteSAoJG9pZF9pbmRleCwgJG9pZF9zeXNjYWNoZSwgJG5hbWVfc3lz Y2FjaGUsICRpc19uc3BfbmFtZV91bmlxdWUpOwogCWZvcmVhY2ggbXkgJGluZGV4IChAeyAk Y2F0YWxvZy0+e2luZGV4aW5nfSB9KQogCXsKIAkJcHVzaCBAaW5kZXhfZGVjbHMsCkBAIC0x NjYsNyArMTcwLDEzNiBAQAogCQkJCW5idWNrZXRzID0+ICRpbmRleC0+e3N5c2NhY2hlX25i dWNrZXRzfSwKIAkJCX07CiAJCX0KKworCQlpZiAoJGluZGV4LT57aW5kZXhfZGVjbH0gZXEg J2J0cmVlKG9pZCBvaWRfb3BzKScpCisJCXsKKwkJCSRvaWRfaW5kZXggPSAkaW5kZXgtPntp bmRleF9vaWRfbWFjcm99OworCQkJJG9pZF9zeXNjYWNoZSA9ICRpbmRleC0+e3N5c2NhY2hl X25hbWV9OworCQl9CisJCWlmICgkaW5kZXgtPntpbmRleF9kZWNsfSA9fiAvXChcdytuYW1l IG5hbWVfb3BzKCwgXHcrbmFtZXNwYWNlIG9pZF9vcHMpP1wpLykKKwkJeworCQkJJG5hbWVf c3lzY2FjaGUgPSAkaW5kZXgtPntzeXNjYWNoZV9uYW1lfTsKKwkJCSRpc19uc3BfbmFtZV91 bmlxdWUgPSAxIGlmICRpbmRleC0+e2lzX3VuaXF1ZX07CisJCX0KKwl9CisKKwlteSAoJGF0 dG51bV9vaWQsICRhdHRudW1fbmFtZSwgJGF0dG51bV9uYW1lc3BhY2UsICRhdHRudW1fb3du ZXIsICRhdHRudW1fYWNsKTsKKwlmb3JlYWNoIG15ICRhdHQgKEAkc2NoZW1hKQorCXsKKwkJ aWYgKCRhdHQtPntuYW1lfSBlcSAnb2lkJyAmJiAkYXR0LT57dHlwZX0gZXEgJ29pZCcpCisJ CXsKKwkJCSRhdHRudW1fb2lkID0gIkFudW1fJHtjYXRuYW1lfV8iIC4gJGF0dC0+e25hbWV9 OworCQl9CisJCWVsc2lmICgkYXR0LT57bmFtZX0gPX4gL15cd3syLDR9bmFtZSQvICYmICRh dHQtPnt0eXBlfSBlcSAnbmFtZScpCisJCXsKKwkJCSRhdHRudW1fbmFtZSA9ICJBbnVtXyR7 Y2F0bmFtZX1fIiAuICRhdHQtPntuYW1lfTsKKwkJfQorCQllbHNpZiAoJGF0dC0+e25hbWV9 ID1+IC9eXHd7Miw0fW5hbWVzcGFjZSQvICYmICRhdHQtPnt0eXBlfSBlcSAnb2lkJyAmJiAk YXR0LT57bG9va3VwfSBlcSAncGdfbmFtZXNwYWNlJykKKwkJeworCQkJJGF0dG51bV9uYW1l c3BhY2UgPSAiQW51bV8ke2NhdG5hbWV9XyIgLiAkYXR0LT57bmFtZX07CisJCX0KKwkJZWxz aWYgKCRhdHQtPntuYW1lfSA9fiAvXlx3ezIsNH1vd25lciQvICYmICRhdHQtPnt0eXBlfSBl cSAnb2lkJyAmJiAkYXR0LT57bG9va3VwfSBlcSAncGdfYXV0aGlkJykKKwkJeworCQkJJGF0 dG51bV9vd25lciA9ICJBbnVtXyR7Y2F0bmFtZX1fIiAuICRhdHQtPntuYW1lfTsKKwkJfQor CQllbHNpZiAoJGF0dC0+e25hbWV9ID1+IC9eXHd7Miw0fWFjbCQvICYmICRhdHQtPnt0eXBl fSBlcSAnX2FjbGl0ZW0nKQorCQl7CisJCQkkYXR0bnVtX2FjbCA9ICJBbnVtXyR7Y2F0bmFt ZX1fIiAuICRhdHQtPntuYW1lfTsKKwkJfQorCX0KKworCSMgWFhYIGhhcmRjb2RlZCBleGNl cHRpb25zCisJIyBleHRlbnNpb24gZG9lc24ndCBiZWxvbmcgdG8gZXh0bmFtZXNwYWNlCisJ JGF0dG51bV9uYW1lc3BhY2UgPSB1bmRlZiBpZiAkY2F0bmFtZSBlcSAncGdfZXh0ZW5zaW9u JzsKKwkjIHBnX2RhdGFiYXNlIG93bmVyIGlzIHNwZWxsZWQgZGF0ZGJhCisJJGF0dG51bV9v d25lciA9ICJBbnVtX3BnX2RhdGFiYXNlX2RhdGRiYSIgaWYgJGNhdG5hbWUgZXEgJ3BnX2Rh dGFiYXNlJzsKKwkjIFhYWD8KKwkkbmFtZV9zeXNjYWNoZSA9ICJTVUJTQ1JJUFRJT05OQU1F IiBpZiAkY2F0bmFtZSBlcSAncGdfc3Vic2NyaXB0aW9uJzsKKwkjIFhYWD8KKwkkaXNfbnNw X25hbWVfdW5pcXVlID0gMSBpZiAkY2F0bmFtZSBlcSAncGdfY29sbGF0aW9uJzsKKwkkaXNf bnNwX25hbWVfdW5pcXVlID0gMSBpZiAkY2F0bmFtZSBlcSAncGdfb3BjbGFzcyc7CisJJGlz X25zcF9uYW1lX3VuaXF1ZSA9IDEgaWYgJGNhdG5hbWUgZXEgJ3BnX29wZmFtaWx5JzsKKwkk aXNfbnNwX25hbWVfdW5pcXVlID0gMSBpZiAkY2F0bmFtZSBlcSAncGdfc3Vic2NyaXB0aW9u JzsKKworCSMgWFhYIFRoZXNlIGNhdGFsb2dzIHdlcmUgbm90IGNvdmVyZWQgYnkgdGhlIHBy ZXZpb3VzIGhhbmQtbWFpbnRhaW5lZCB0YWJsZS4KKwlteSBAc2tpcCA9IHF3KAorCQlBdHRy RGVmYXVsdFJlbGF0aW9uSWQgRW51bVJlbGF0aW9uSWQgSW5kZXhSZWxhdGlvbklkCisJCUxh cmdlT2JqZWN0UmVsYXRpb25JZCBQYXJhbWV0ZXJBY2xSZWxhdGlvbklkCisJCVB1YmxpY2F0 aW9uTmFtZXNwYWNlUmVsYXRpb25JZCBQdWJsaWNhdGlvblJlbFJlbGF0aW9uSWQKKwkJSW5o ZXJpdHNSZWxhdGlvbklkIEFnZ3JlZ2F0ZVJlbGF0aW9uSWQgU3RhdGlzdGljUmVsYXRpb25J ZAorCQlTdGF0aXN0aWNFeHREYXRhUmVsYXRpb25JZCBEZXNjcmlwdGlvblJlbGF0aW9uSWQK KwkJRGVwZW5kUmVsYXRpb25JZCBEYlJvbGVTZXR0aW5nUmVsYXRpb25JZAorCQlTaGFyZWRE ZXBlbmRSZWxhdGlvbklkIFNoYXJlZERlc2NyaXB0aW9uUmVsYXRpb25JZAorCQlUU0NvbmZp Z01hcFJlbGF0aW9uSWQgRm9yZWlnblRhYmxlUmVsYXRpb25JZAorCQlSZXBsaWNhdGlvbk9y aWdpblJlbGF0aW9uSWQgSW5pdFByaXZzUmVsYXRpb25JZAorCQlTZWNMYWJlbFJlbGF0aW9u SWQgU2hhcmVkU2VjTGFiZWxSZWxhdGlvbklkCisJCVBhcnRpdGlvbmVkUmVsYXRpb25JZCBS YW5nZVJlbGF0aW9uSWQgU2VxdWVuY2VSZWxhdGlvbklkCisJCVN1YnNjcmlwdGlvblJlbFJl bGF0aW9uSWQpOworCSMgWFhYIFRoaXMgb25lIG5laXRoZXIsIGJ1dCBpZiBJIGFkZCBpdCB0 byBAc2tpcCwgUGVyZmVjdEhhc2ggd2lsbCBmYWlsLiAoPz8/KQorCSNGSVhNRTogQXR0cmli dXRlUmVsYXRpb25JZAorCisJIyBYWFggaGFyZGNvZGVkIE9iamVjdFR5cGUgbWFwcGluZyAt LSB3aGVyZSB0byBwdXQgdGhpcz8KKwlteSAlb2JqdHlwZXMgPSAoCisJCSdBY2Nlc3NNZXRo b2RSZWxhdGlvbklkJyA9PiAnT0JKRUNUX0FDQ0VTU19NRVRIT0QnLAorCQknQWNjZXNzTWV0 aG9kT3BlcmF0b3JSZWxhdGlvbklkJyA9PiAnT0JKRUNUX0FNT1AnLAorCQknQWNjZXNzTWV0 aG9kUHJvY2VkdXJlUmVsYXRpb25JZCcgPT4gJ09CSkVDVF9BTVBST0MnLAorCQknQ2FzdFJl bGF0aW9uSWQnID0+ICdPQkpFQ1RfQ0FTVCcsCisJCSdDb2xsYXRpb25SZWxhdGlvbklkJyA9 PiAnT0JKRUNUX0NPTExBVElPTicsCisJCSdDb252ZXJzaW9uUmVsYXRpb25JZCcgPT4gJ09C SkVDVF9DT05WRVJTSU9OJywKKwkJJ0RhdGFiYXNlUmVsYXRpb25JZCcgPT4gJ09CSkVDVF9E QVRBQkFTRScsCisJCSdEZWZhdWx0QWNsUmVsYXRpb25JZCcgPT4gJ09CSkVDVF9ERUZBQ0wn LAorCQknRXh0ZW5zaW9uUmVsYXRpb25JZCcgPT4gJ09CSkVDVF9FWFRFTlNJT04nLAorCQkn Rm9yZWlnbkRhdGFXcmFwcGVyUmVsYXRpb25JZCcgPT4gJ09CSkVDVF9GRFcnLAorCQknRm9y ZWlnblNlcnZlclJlbGF0aW9uSWQnID0+ICdPQkpFQ1RfRk9SRUlHTl9TRVJWRVInLAorCQkn UHJvY2VkdXJlUmVsYXRpb25JZCcgPT4gJ09CSkVDVF9GVU5DVElPTicsCisJCSdMYW5ndWFn ZVJlbGF0aW9uSWQnID0+ICdPQkpFQ1RfTEFOR1VBR0UnLAorCQknTGFyZ2VPYmplY3RNZXRh ZGF0YVJlbGF0aW9uSWQnID0+ICdPQkpFQ1RfTEFSR0VPQkpFQ1QnLAorCQknT3BlcmF0b3JD bGFzc1JlbGF0aW9uSWQnID0+ICdPQkpFQ1RfT1BDTEFTUycsCisJCSdPcGVyYXRvclJlbGF0 aW9uSWQnID0+ICdPQkpFQ1RfT1BFUkFUT1InLAorCQknT3BlcmF0b3JGYW1pbHlSZWxhdGlv bklkJyA9PiAnT0JKRUNUX09QRkFNSUxZJywKKwkJJ0F1dGhJZFJlbGF0aW9uSWQnID0+ICdP QkpFQ1RfUk9MRScsCisJCSdSZXdyaXRlUmVsYXRpb25JZCcgPT4gJ09CSkVDVF9SVUxFJywK KwkJJ05hbWVzcGFjZVJlbGF0aW9uSWQnID0+ICdPQkpFQ1RfU0NIRU1BJywKKwkJJ1JlbGF0 aW9uUmVsYXRpb25JZCcgPT4gJ09CSkVDVF9UQUJMRScsCisJCSdUYWJsZVNwYWNlUmVsYXRp b25JZCcgPT4gJ09CSkVDVF9UQUJMRVNQQUNFJywKKwkJJ1RyYW5zZm9ybVJlbGF0aW9uSWQn ID0+ICdPQkpFQ1RfVFJBTlNGT1JNJywKKwkJJ1RyaWdnZXJSZWxhdGlvbklkJyA9PiAnT0JK RUNUX1RSSUdHRVInLAorCQknUG9saWN5UmVsYXRpb25JZCcgPT4gJ09CSkVDVF9QT0xJQ1kn LAorCQknRXZlbnRUcmlnZ2VyUmVsYXRpb25JZCcgPT4gJ09CSkVDVF9FVkVOVF9UUklHR0VS JywKKwkJJ1RTQ29uZmlnUmVsYXRpb25JZCcgPT4gJ09CSkVDVF9UU0NPTkZJR1VSQVRJT04n LAorCQknVFNEaWN0aW9uYXJ5UmVsYXRpb25JZCcgPT4gJ09CSkVDVF9UU0RJQ1RJT05BUlkn LAorCQknVFNQYXJzZXJSZWxhdGlvbklkJyA9PiAnT0JKRUNUX1RTUEFSU0VSJywKKwkJJ1RT VGVtcGxhdGVSZWxhdGlvbklkJyA9PiAnT0JKRUNUX1RTVEVNUExBVEUnLAorCQknVHlwZVJl bGF0aW9uSWQnID0+ICdPQkpFQ1RfVFlQRScsCisJCSdQdWJsaWNhdGlvblJlbGF0aW9uSWQn ID0+ICdPQkpFQ1RfUFVCTElDQVRJT04nLAorCQknU3Vic2NyaXB0aW9uUmVsYXRpb25JZCcg PT4gJ09CSkVDVF9TVUJTQ1JJUFRJT04nLAorCQknU3RhdGlzdGljRXh0UmVsYXRpb25JZCcg PT4gJ09CSkVDVF9TVEFUSVNUSUNfRVhUJywKKwkJJ1VzZXJNYXBwaW5nUmVsYXRpb25JZCcg PT4gJ09CSkVDVF9VU0VSX01BUFBJTkcnLAorCSk7CisJbXkgJG9ianR5cGUgPSAkb2JqdHlw ZXN7JGNhdGFsb2ctPntyZWxhdGlvbl9vaWRfbWFjcm99fTsKKworCSMgWFhYIFRoaXMganVz dCB1c2VzIHRoZSBjYXRhbG9nIG5hbWUgYXMgYSBzdHJpbmcgcmF0aGVyIHRoYW4gdGhlCisJ IyBwcmV2aW91cyBuYXR1cmFsLWxhbmd1YWdlIGRlc2NyaXB0aW9uLiAgVGhpcyBjb3VsZCBi ZSBjaGFuZ2VkIGlmCisJIyB3ZSBkZWNpZGUgb24gYSBwbGFjZSB0byBzdG9yZSB0aGlzLiAg QnV0IG1heWJlIGZvciB3aGF0IHdlIGFyZQorCSMgdXNpbmcgaXQsIHRoaXMgaXMgYWN0dWFs bHkgYmV0dGVyLgorCW15ICRjbGFzc19kZXNjciA9IHFxeyIke2NhdG5hbWV9In07CisKKwlw dXNoIEBvYmplY3RfcHJvcGVydGllcywgeworCQljbGFzc19kZXNjciA9PiAkY2xhc3NfZGVz Y3IsCisJCWNsYXNzX29pZCA9PiAkY2F0YWxvZy0+e3JlbGF0aW9uX29pZF9tYWNyb30sCisJ CV9jbGFzc19vaWQgPT4gJGNhdGFsb2ctPntyZWxhdGlvbl9vaWR9LAorCQlvaWRfaW5kZXhf b2lkID0+ICRvaWRfaW5kZXgsCisJCW9pZF9jYXRjYWNoZV9pZCA9PiAkb2lkX3N5c2NhY2hl IHx8ICctMScsCisJCW5hbWVfY2F0Y2FjaGVfaWQgPT4gJG5hbWVfc3lzY2FjaGUgfHwgJy0x JywKKwkJYXR0bnVtX29pZCA9PiAkYXR0bnVtX29pZCwKKwkJYXR0bnVtX25hbWUgPT4gJGF0 dG51bV9uYW1lLAorCQlhdHRudW1fbmFtZXNwYWNlID0+ICRhdHRudW1fbmFtZXNwYWNlLAor CQlhdHRudW1fb3duZXIgPT4gJGF0dG51bV9vd25lciwKKwkJYXR0bnVtX2FjbCA9PiAkYXR0 bnVtX2FjbCwKKwkJb2JqdHlwZSA9PiAkb2JqdHlwZSwKKwkJaXNfbnNwX25hbWVfdW5pcXVl ID0+ICRpc19uc3BfbmFtZV91bmlxdWUgPyAndHJ1ZScgOiAnZmFsc2UnLAogCX0KKwl1bmxl c3MgZ3JlcCB7ICRfIGVxICRjYXRhbG9nLT57cmVsYXRpb25fb2lkX21hY3JvfSB9IEBza2lw OwogfQogCiAjIENvbXBsYWluIGFuZCBleGl0IGlmIHdlIGZvdW5kIGFueSBkdXBsaWNhdGUg T0lEcy4KQEAgLTQ0MSw2ICs1NzQsOSBAQAogbXkgJHN5c2NhY2hlX2luZm9fYyA9ICRvdXRw dXRfcGF0aCAuICdzeXNjYWNoZV9pbmZvLmMuaCc7CiBvcGVuIG15ICRzeXNjYWNoZV9pbmZv X2NfZmgsICc+JywgJHN5c2NhY2hlX2luZm9fYyAuICR0bXBleHQKICAgb3IgZGllICJjYW4n dCBvcGVuICRzeXNjYWNoZV9pbmZvX2MkdG1wZXh0OiAkISI7CitteSAkb2JqZWN0cHJvcGVy dHlfaW5mbyA9ICRvdXRwdXRfcGF0aCAuICdvYmplY3Rwcm9wZXJ0eV9pbmZvLmMuaCc7Citv cGVuIG15ICRvYmplY3Rwcm9wZXJ0eV9pbmZvX2ZoLCAnPicsICRvYmplY3Rwcm9wZXJ0eV9p bmZvIC4gJHRtcGV4dAorICBvciBkaWUgImNhbid0IG9wZW4gJG9iamVjdHByb3BlcnR5X2lu Zm8kdG1wZXh0OiAkISI7CiAKICMgR2VuZXJhdGUgcG9zdGdyZXMuYmtpIGFuZCBwZ18qX2Qu aCBoZWFkZXJzLgogCkBAIC04MTAsNiArOTQ2LDM1IEBACiAKIHByaW50ICRzeXNjYWNoZV9p bmZvX2NfZmggIn07XG4iOwogCisjIE5vdyBnZW5lcmF0ZSBvYmplY3Rwcm9wZXJ0eV9pbmZv CisKK3ByaW50X2JvaWxlcnBsYXRlKCRvYmplY3Rwcm9wZXJ0eV9pbmZvX2ZoLCAib2JqZWN0 cHJvcGVydHlfaW5mby5oIiwgIm9iamVjdCBwcm9wZXJ0eSBkYXRhIik7CitwcmludCAkb2Jq ZWN0cHJvcGVydHlfaW5mb19maCAiXG4iOworZm9yZWFjaCBteSAkY2F0bmFtZSAoQGNhdG5h bWVzKQoreworCXByaW50ICRvYmplY3Rwcm9wZXJ0eV9pbmZvX2ZoIHFxeyNpbmNsdWRlICJj YXRhbG9nLyR7Y2F0bmFtZX1fZC5oIlxufTsKK30KK3ByaW50ICRvYmplY3Rwcm9wZXJ0eV9p bmZvX2ZoICJcbiI7CitwcmludCAkb2JqZWN0cHJvcGVydHlfaW5mb19maCAic3RhdGljIGNv bnN0IE9iamVjdFByb3BlcnR5VHlwZSBPYmplY3RQcm9wZXJ0eVtdID0KK3sKKyI7CisKK215 IEBjbGFzc19vaWRzOworZm9yZWFjaCBteSAkb3AgKEBvYmplY3RfcHJvcGVydGllcykKK3sK KwlwcmludCAkb2JqZWN0cHJvcGVydHlfaW5mb19maCAiXHR7XG4iOworCWZvcmVhY2ggbXkg JHAgKHNvcnQga2V5cyAleyRvcH0pCisJeworCQlwcmludGYgJG9iamVjdHByb3BlcnR5X2lu Zm9fZmggIlx0XHQuJXMgPSAlcyxcbiIsICRwLCAkeyRvcH17JHB9IGlmICRwICF+IC9eXy8g JiYgJHskb3B9eyRwfTsKKwl9CisJcHVzaCBAY2xhc3Nfb2lkcywgcGFjaygnTicsICR7JG9w fXtfY2xhc3Nfb2lkfSk7CisJcHJpbnQgJG9iamVjdHByb3BlcnR5X2luZm9fZmggIlx0fSxc biI7Cit9CisKK3ByaW50ICRvYmplY3Rwcm9wZXJ0eV9pbmZvX2ZoICJ9O1xuIjsKKworcHJp bnQgJG9iamVjdHByb3BlcnR5X2luZm9fZmggIlxuc3RhdGljICIgLiBQZXJmZWN0SGFzaDo6 Z2VuZXJhdGVfaGFzaF9mdW5jdGlvbihcQGNsYXNzX29pZHMsICdvYmplY3Rwcm9wZXJ0eV9o YXNoX2Z1bmMnLCBmaXhlZF9rZXlfbGVuZ3RoID0+IDQpOworCiAjIFdlJ3JlIGRvbmUgZW1p dHRpbmcgZGF0YQogY2xvc2UgJGJraTsKIGNsb3NlICRzY2hlbWFwZzsKQEAgLTgxNyw2ICs5 ODIsNyBAQAogY2xvc2UgJGNvbnN0cmFpbnRzOwogY2xvc2UgJHN5c2NhY2hlX2luZm9faF9m aDsKIGNsb3NlICRzeXNjYWNoZV9pbmZvX2NfZmg7CitjbG9zZSAkb2JqZWN0cHJvcGVydHlf aW5mb19maDsKIAogIyBGaW5hbGx5LCByZW5hbWUgdGhlIGNvbXBsZXRlZCBmaWxlcyBpbnRv IHBsYWNlLgogQ2F0YWxvZzo6UmVuYW1lVGVtcEZpbGUoJGJraWZpbGUsICR0bXBleHQpOwpA QCAtODI1LDYgKzk5MSw3IEBACiBDYXRhbG9nOjpSZW5hbWVUZW1wRmlsZSgkY29uc3RyYWlu dHNfZmlsZSwgJHRtcGV4dCk7CiBDYXRhbG9nOjpSZW5hbWVUZW1wRmlsZSgkc3lzY2FjaGVf aW5mb19oLCAkdG1wZXh0KTsKIENhdGFsb2c6OlJlbmFtZVRlbXBGaWxlKCRzeXNjYWNoZV9p bmZvX2MsICR0bXBleHQpOworQ2F0YWxvZzo6UmVuYW1lVGVtcEZpbGUoJG9iamVjdHByb3Bl cnR5X2luZm8sICR0bXBleHQpOwogCiBleGl0KCRudW1fZXJyb3JzICE9IDAgPyAxIDogMCk7 CiAKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvb2JqZWN0YWRkcmVzcy5jIGIv c3JjL2JhY2tlbmQvY2F0YWxvZy9vYmplY3RhZGRyZXNzLmMKaW5kZXggYmI0ZWZjYWQyMDIu LjZiYTg0ZWU4NmM4IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL29iamVjdGFk ZHJlc3MuYworKysgYi9zcmMvYmFja2VuZC9jYXRhbG9nL29iamVjdGFkZHJlc3MuYwpAQCAt MzIsMTkgKzMyLDEwIEBACiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19jb2xsYXRpb24uaCIKICNp bmNsdWRlICJjYXRhbG9nL3BnX2NvbnN0cmFpbnQuaCIKICNpbmNsdWRlICJjYXRhbG9nL3Bn X2NvbnZlcnNpb24uaCIKLSNpbmNsdWRlICJjYXRhbG9nL3BnX2RhdGFiYXNlLmgiCiAjaW5j bHVkZSAiY2F0YWxvZy9wZ19kZWZhdWx0X2FjbC5oIgotI2luY2x1ZGUgImNhdGFsb2cvcGdf ZW51bS5oIgotI2luY2x1ZGUgImNhdGFsb2cvcGdfZXZlbnRfdHJpZ2dlci5oIgotI2luY2x1 ZGUgImNhdGFsb2cvcGdfZXh0ZW5zaW9uLmgiCi0jaW5jbHVkZSAiY2F0YWxvZy9wZ19mb3Jl aWduX2RhdGFfd3JhcHBlci5oIgotI2luY2x1ZGUgImNhdGFsb2cvcGdfZm9yZWlnbl9zZXJ2 ZXIuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX2xhbmd1YWdlLmgiCiAjaW5jbHVkZSAiY2F0 YWxvZy9wZ19sYXJnZW9iamVjdC5oIgotI2luY2x1ZGUgImNhdGFsb2cvcGdfbGFyZ2VvYmpl Y3RfbWV0YWRhdGEuaCIKLSNpbmNsdWRlICJjYXRhbG9nL3BnX25hbWVzcGFjZS5oIgogI2lu Y2x1ZGUgImNhdGFsb2cvcGdfb3BjbGFzcy5oIgotI2luY2x1ZGUgImNhdGFsb2cvcGdfb3Bl cmF0b3IuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX29wZmFtaWx5LmgiCiAjaW5jbHVkZSAi Y2F0YWxvZy9wZ19wYXJhbWV0ZXJfYWNsLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19wb2xp Y3kuaCIKQEAgLTU0LDggKzQ1LDYgQEAKICNpbmNsdWRlICJjYXRhbG9nL3BnX3B1YmxpY2F0 aW9uX3JlbC5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfcmV3cml0ZS5oIgogI2luY2x1ZGUg ImNhdGFsb2cvcGdfc3RhdGlzdGljX2V4dC5oIgotI2luY2x1ZGUgImNhdGFsb2cvcGdfc3Vi c2NyaXB0aW9uLmgiCi0jaW5jbHVkZSAiY2F0YWxvZy9wZ190YWJsZXNwYWNlLmgiCiAjaW5j bHVkZSAiY2F0YWxvZy9wZ190cmFuc2Zvcm0uaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX3Ry aWdnZXIuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX3RzX2NvbmZpZy5oIgpAQCAtMTE5LDYg KzEwOCw5IEBAIHR5cGVkZWYgc3RydWN0CiAJCQkJCQkJCQkgKiBvYmplY3Qgb2YgdGhpcyBj bGFzcz8gKi8KIH0gT2JqZWN0UHJvcGVydHlUeXBlOwogCisjaWYgMQorI2luY2x1ZGUgImNh dGFsb2cvb2JqZWN0cHJvcGVydHlfaW5mby5jLmgiCisjZWxzZQogc3RhdGljIGNvbnN0IE9i amVjdFByb3BlcnR5VHlwZSBPYmplY3RQcm9wZXJ0eVtdID0KIHsKIAl7CkBAIC02NDAsNiAr NjMyLDcgQEAgc3RhdGljIGNvbnN0IE9iamVjdFByb3BlcnR5VHlwZSBPYmplY3RQcm9wZXJ0 eVtdID0KIAkJZmFsc2UKIAl9LAogfTsKKyNlbmRpZgogCiAvKgogICogVGhpcyBzdHJ1Y3Qg bWFwcyB0aGUgc3RyaW5nIG9iamVjdCB0eXBlcyBhcyByZXR1cm5lZCBieQpAQCAtMjc5MSw2 ICsyNzg0LDcgQEAgZ2V0X29iamVjdF9wcm9wZXJ0eV9kYXRhKE9pZCBjbGFzc19pZCkKIHsK IAlzdGF0aWMgY29uc3QgT2JqZWN0UHJvcGVydHlUeXBlICpwcm9wX2xhc3QgPSBOVUxMOwog CWludAkJCWluZGV4OworCXVpbnQzMiAgICAgIGhhc2hrZXk7CiAKIAkvKgogCSAqIEEgc2hv cnRjdXQgdG8gc3BlZWQgdXAgbXVsdGlwbGUgY29uc2VjdXRpdmUgbG9va3VwcyBvZiBhIHBh cnRpY3VsYXIKQEAgLTI3OTksNyArMjc5MywxMyBAQCBnZXRfb2JqZWN0X3Byb3BlcnR5X2Rh dGEoT2lkIGNsYXNzX2lkKQogCWlmIChwcm9wX2xhc3QgJiYgcHJvcF9sYXN0LT5jbGFzc19v aWQgPT0gY2xhc3NfaWQpCiAJCXJldHVybiBwcm9wX2xhc3Q7CiAKKyNpZiAxCisJaGFzaGtl eSA9IHBnX2h0b24zMihjbGFzc19pZCk7CisJaW5kZXggPSBvYmplY3Rwcm9wZXJ0eV9oYXNo X2Z1bmMoJmhhc2hrZXkpOworCWlmIChpbmRleCA+PSAwICYmIGluZGV4IDwgbGVuZ3Rob2Yo T2JqZWN0UHJvcGVydHkpKQorI2Vsc2UKIAlmb3IgKGluZGV4ID0gMDsgaW5kZXggPCBsZW5n dGhvZihPYmplY3RQcm9wZXJ0eSk7IGluZGV4KyspCisjZW5kaWYKIAl7CiAJCWlmIChPYmpl Y3RQcm9wZXJ0eVtpbmRleF0uY2xhc3Nfb2lkID09IGNsYXNzX2lkKQogCQl7CmRpZmYgLS1n aXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL21lc29uLmJ1aWxkIGIvc3JjL2luY2x1ZGUvY2F0 YWxvZy9tZXNvbi5idWlsZAppbmRleCAzOWQ4ZTk0YWUyNy4uMzM2MjczM2I1YWIgMTAwNjQ0 Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvbWVzb24uYnVpbGQKKysrIGIvc3JjL2luY2x1 ZGUvY2F0YWxvZy9tZXNvbi5idWlsZApAQCAtMTAzLDYgKzEwMyw3IEBAIGJraV9kYXRhX2Yg PSBmaWxlcyhia2lfZGF0YSkKIAogaW5wdXQgPSBbXQogb3V0cHV0X2ZpbGVzID0gWworICAn b2JqZWN0cHJvcGVydHlfaW5mby5jLmgnLAogICAncG9zdGdyZXMuYmtpJywKICAgJ3N5c3Rl bV9jb25zdHJhaW50cy5zcWwnLAogICAnc2NoZW1hcGcuaCcsCkBAIC0xMTEsNiArMTEyLDcg QEAgb3V0cHV0X2ZpbGVzID0gWwogICAnc3lzdGVtX2ZrX2luZm8uaCcsCiBdCiBvdXRwdXRf aW5zdGFsbCA9IFsKKyAgZGlyX2RhdGEsCiAgIGRpcl9kYXRhLAogICBkaXJfZGF0YSwKICAg ZGlyX2luY2x1ZGVfc2VydmVyIC8gJ2NhdGFsb2cnLApkaWZmIC0tZ2l0IGEvc3JjL3Rvb2xz L3BnaW5jbHVkZS9jcGx1c3BsdXNjaGVjayBiL3NyYy90b29scy9wZ2luY2x1ZGUvY3BsdXNw bHVzY2hlY2sKaW5kZXggNTZlZDQyMzU2NzkuLjQ5ZTNjYTdhN2JkIDEwMDc1NQotLS0gYS9z cmMvdG9vbHMvcGdpbmNsdWRlL2NwbHVzcGx1c2NoZWNrCisrKyBiL3NyYy90b29scy9wZ2lu Y2x1ZGUvY3BsdXNwbHVzY2hlY2sKQEAgLTExOSw2ICsxMTksOSBAQCBkbwogCXRlc3QgIiRm IiA9IHNyYy9pbmNsdWRlL2NvbW1vbi91bmljb2RlX25vbnNwYWNpbmdfdGFibGUuaCAmJiBj b250aW51ZQogCXRlc3QgIiRmIiA9IHNyYy9pbmNsdWRlL2NvbW1vbi91bmljb2RlX2Vhc3Rf YXNpYW5fZndfdGFibGUuaCAmJiBjb250aW51ZQogCisJdGVzdCAiJGYiID0gc3JjL2JhY2tl bmQvY2F0YWxvZy9vYmplY3Rwcm9wZXJ0eV9pbmZvLmMuaCAmJiBjb250aW51ZQorCXRlc3Qg IiRmIiA9IHNyYy9pbmNsdWRlL2NhdGFsb2cvb2JqZWN0cHJvcGVydHlfaW5mby5jLmggJiYg Y29udGludWUKKwogCXRlc3QgIiRmIiA9IHNyYy9iYWNrZW5kL2NhdGFsb2cvc3lzY2FjaGVf aW5mby5jLmggJiYgY29udGludWUKIAl0ZXN0ICIkZiIgPSBzcmMvYmFja2VuZC9jYXRhbG9n L3N5c2NhY2hlX2luZm8uaCAmJiBjb250aW51ZQogCXRlc3QgIiRmIiA9IHNyYy9pbmNsdWRl L2NhdGFsb2cvc3lzY2FjaGVfaW5mby5jLmggJiYgY29udGludWUKZGlmZiAtLWdpdCBhL3Ny Yy90b29scy9wZ2luY2x1ZGUvaGVhZGVyc2NoZWNrIGIvc3JjL3Rvb2xzL3BnaW5jbHVkZS9o ZWFkZXJzY2hlY2sKaW5kZXggNDc3ZTRkZDdlNmIuLmExZWEyZWY2OTI1IDEwMDc1NQotLS0g YS9zcmMvdG9vbHMvcGdpbmNsdWRlL2hlYWRlcnNjaGVjaworKysgYi9zcmMvdG9vbHMvcGdp bmNsdWRlL2hlYWRlcnNjaGVjawpAQCAtMTE0LDYgKzExNCw5IEBAIGRvCiAJdGVzdCAiJGYi ID0gc3JjL2luY2x1ZGUvY29tbW9uL3VuaWNvZGVfbm9uc3BhY2luZ190YWJsZS5oICYmIGNv bnRpbnVlCiAJdGVzdCAiJGYiID0gc3JjL2luY2x1ZGUvY29tbW9uL3VuaWNvZGVfZWFzdF9h c2lhbl9md190YWJsZS5oICYmIGNvbnRpbnVlCiAKKwl0ZXN0ICIkZiIgPSBzcmMvYmFja2Vu ZC9jYXRhbG9nL29iamVjdHByb3BlcnR5X2luZm8uYy5oICYmIGNvbnRpbnVlCisJdGVzdCAi JGYiID0gc3JjL2luY2x1ZGUvY2F0YWxvZy9vYmplY3Rwcm9wZXJ0eV9pbmZvLmMuaCAmJiBj b250aW51ZQorCiAJdGVzdCAiJGYiID0gc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXNjYWNoZV9p bmZvLmMuaCAmJiBjb250aW51ZQogCXRlc3QgIiRmIiA9IHNyYy9iYWNrZW5kL2NhdGFsb2cv c3lzY2FjaGVfaW5mby5oICYmIGNvbnRpbnVlCiAJdGVzdCAiJGYiID0gc3JjL2luY2x1ZGUv Y2F0YWxvZy9zeXNjYWNoZV9pbmZvLmMuaCAmJiBjb250aW51ZQotLSAKMi40Mi4wCgo= --------------L3YeGhfltQQc96Oc2xBPRYwp--