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.96) (envelope-from ) id 1wfO4e-005QPS-1O for pgsql-hackers@arkaria.postgresql.org; Thu, 02 Jul 2026 20:31:53 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wfO4d-0032hA-0F for pgsql-hackers@arkaria.postgresql.org; Thu, 02 Jul 2026 20:31:51 +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.96) (envelope-from ) id 1wfO4b-0032h0-2G for pgsql-hackers@lists.postgresql.org; Thu, 02 Jul 2026 20:31:50 +0000 Received: from mail-pl1-x62e.google.com ([2607:f8b0:4864:20::62e]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wfO4Q-00000001Fr9-3mrK for pgsql-hackers@postgresql.org; Thu, 02 Jul 2026 20:31:48 +0000 Received: by mail-pl1-x62e.google.com with SMTP id d9443c01a7336-2cad4170e8eso156885ad.3 for ; Thu, 02 Jul 2026 13:31:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1783024298; x=1783629098; darn=postgresql.org; h=in-reply-to:references:to:from:subject:message-id:date:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=48PoFEs/TnMy0VHsOn3V3pw60Bpipko/JjY7KwLdiPg=; b=S3wnCPFnLhxK0/QenuDUFye13hWf0pQt9XkxbknKh/cksI/VPeCzJTSx1V5zivBfno oOIVcD+VmpeLBofgYOjrz9b0VKX3LCYDKEuVqwaTJbrH9CnaOai6ivjp5zTe1OWyye/K cwZbOAFMSHdHv16zInd3/eG0mHJx3wiKbhqP8Vzycs7OAAZ0cHEgkA19FseHoehUvcEB sty6N3l4JSn1LvACA8qDwLN9t8v+O0StrtPT9IevzxP4+YciCEWI9tiYc1tpfMs20ETg A3W+NGrQt2p7sPPVsDIv/+lSJJ4c1YkivB+pK6Zeq+BZP1ZNPbpEqtjjeyr8Y9CsTyec mxNg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783024298; x=1783629098; h=in-reply-to:references:to:from:subject:message-id:date:mime-version :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=48PoFEs/TnMy0VHsOn3V3pw60Bpipko/JjY7KwLdiPg=; b=MosEPx4TMSqJ5hXnXITW4zVQJIjW+V78d/6z6rsqzrX7IUsm9b4UNC6GNZ84EYifVy 3TxYILlL3Z9zgUSdS44kRtcOB6ygYAQZC299ECTO4J01q5gGKCqvwOZdlySDoXTUqjen gzJoIgKr6s3avHUF3J4ZNxU5cUl3XR7mTMaYE+WyBkS4QzB1isF60e5Aw8Gx3iufwTg/ RszVXlRJuumBxjF6R/xhfjOe58zD8JYL44ofGPR/gOq7WIX94fh+vyRnih46YSYQ+RGp +cJ8tWtEDkWqeaKQZU5Do3eqEQE2h0ErEF49ITAMNYTMbq4gqbKE2SQOIRMZKJpIT5sB +hdg== X-Forwarded-Encrypted: i=1; AFNElJ86HHuJZK6LaZgDYXaMpWlZMPpMDaHkS9SLI7m8lHJgPBo1DXCg/9l0Yb07CThVa3g7tkEoFIqmqV5LzB2S@postgresql.org X-Gm-Message-State: AOJu0YyrcimSPZ+rx5bkXouWDVB8IZ6mQ10J03bKp23RtOS+Xm418hBP Blc+Fz9ZKa1u5dplBvsOon5o/2SAQGjJ4kKeh/4xsXm3eZsJZVrNAtFr X-Gm-Gg: AfdE7cne/lQDZOTAEo9xiY5O7PEFdRfJn6zT8ZJVBU9QFzkclksJkNYiPEqxcNj+oc2 9Owb49nQ+eNp6IoDahus+mqJJYINYj4QZq1ThFeWU1kP0xixX7KYZGfCGjR84BLaxjNHhDFwDiV x1FudWV32j1gqGxtJJGVoG/tlWFbYLwbBQO9YEnJigNQdEPVtbSLTCBn1VnnAbEXKjf5ZDGqaHQ zhuk6eEYHU0566nim8UsFiPYXX4jTv659q4L+1YEKad1KK+1AJp9vny5jetkRjjJVdeMw7/dBS0 QYtQbpHwCzRLJaZewTWxy58qPPTyDNvPByNpi9cy9oKXFnLQxn4kzytJ2TRQONZN7jM3LyMOk4g mBH0FT9AiJEFqGAxkgyfOcig9h+5380STA1o0v0LJjiNPPCsp3mb5MdW/9lUy1f2XnSJOz/4gOy rtPCO7If4zP2gMEf9BO4EPjb0fYrwnLnQk8mJTYSlgKRrkmfU= X-Received: by 2002:a05:6a20:9183:b0:3bf:a638:4376 with SMTP id adf61e73a8af0-3bfed2a726emr8917748637.21.1783024297374; Thu, 02 Jul 2026 13:31:37 -0700 (PDT) Received: from localhost ([2804:388:d051:8d7f:e5a6:88e3:a884:95fc]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-30f0b85de12sm12858905eec.12.2026.07.02.13.31.32 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 02 Jul 2026 13:31:36 -0700 (PDT) Content-Type: multipart/mixed; boundary=0455746457ab0970430c244854fea2ab8b1d27bc867b14de67f74154839e Mime-Version: 1.0 Date: Thu, 02 Jul 2026 17:31:18 -0300 Message-Id: Subject: Re: hashjoins vs. Bloom filters (yet again) From: "Matheus Alcantara" To: "Tomas Vondra" , "Andrew Dunstan" , "PostgreSQL Hackers" X-Mailer: aerc 0.21.0 References: <5cd8c20c-14b5-4b0d-bedc-69bf714e87eb@vondra.me> <12d255f1-533f-414f-8caa-9867759cfce9@dunslane.net> <2f9a99ef-4857-4d4c-8544-30078a38dfa1@vondra.me> In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0455746457ab0970430c244854fea2ab8b1d27bc867b14de67f74154839e Content-Type: multipart/alternative; boundary=fb4577554a6220c5233e56642fe05fd1d333e63816565e000d4255f87cd2 --fb4577554a6220c5233e56642fe05fd1d333e63816565e000d4255f87cd2 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Content-Type: text/plain; charset=UTF-8 On Wed Jul 1, 2026 at 10:25 AM -03, Tomas Vondra wrote: > (d) At planning / execution this works similarly to v1, except that all > the decisions were already done. The code in createplan.c and executor > is more for book-keeping and allowing lookup of filters. > I'm wondering if the adaptive probing can mess the execution of the choose plan. Let's say that a plan was chosen with bloom filters to pushdown because it would reduce e.g 50% of the rows, what if at runtime the bloom filter is proved to not be effective and it get disabled making the scan node to produce 100% of the rows to the node above that is not expecting? Do we end up with the same issue "expected x actual rows"? I think that if we keep using the unnefective bloom filter the scan node will still produce more rows than expected, but perhaps this is easier to understand? > I haven't incorporated the two patches posted by Andrew: > > 1) making it work with CustomScans > > 2) supporting per-key filters > > 3) allow eager creation of filters (disable delayed Hash build) > > I agree those seem like a worthwhile improvements, and the patches > seemed to be OK too, but I was focusing on reworking the planning. Based > on some off-list discussion, Andrew (or one of his colleagues) should be > able to adjust those for this v3 patch. > I'm attaching a new v4 patchset incorporating Andrew patches with test cases. 0001 and 0002 are your v3 untouched, 0003 is some tests added to exercice the CustomScan path and 0004 is the Andrew changes with a few changes required from v3 version: Unlike the v1 PoC that pushed filters down in create_hashjoin_plan (where it could simply walk the finished plan tree and accept any scan node), the filters are now decided during bottom-up path construction, so a scan only receives a filter if a filter-bearing path was generated for its base relation. So the main change is teaching path generation about the custom scan. > In fact, I'm thinking it might be better to abstract the "filter" and > stop thinking just about Bloom filters. There probably are other kinds > of interesting filters, so maybe we should not assume all filters are > Bloom filters. Those filters probably won't be that different, it's more > about not putting "Bloom" in naming etc. > I was also thinking about this when reading v1. I was checking other databases and I realize that Trino [1] and Duckdb (I didn't find any documentation from Duckdb but you can see this information on explain analyse output) have "Dynamic Filtering" and IIUC is a similar optimization that this patch is about. I'm wondering if we could name as "Dynamic Filtering" or "Runtime filter pushdown" or something else instead of Bloom Filters to make it more generic. On explain(analyze) output we can show as as "Runtime filter" and put the columns (perhaps the values?) used on the filter. I think that this can abstract and let the implementation decide if it will use a bloom filter or not. It's a rough idea, but what do you think? I'm still thinking about your other points and about the XXX comments. I'll share more soon.=20 [1] https://trino.io/docs/current/admin/dynamic-filtering.html -- Matheus Alcantara EDB: https://www.enterprisedb.com --fb4577554a6220c5233e56642fe05fd1d333e63816565e000d4255f87cd2-- --0455746457ab0970430c244854fea2ab8b1d27bc867b14de67f74154839e Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v4-0001-PoC-hashjoin-bloom-filter-pushdown.patch Content-Type: text/plain; charset=utf-8; name=v4-0001-PoC-hashjoin-bloom-filter-pushdown.patch RnJvbSAxNjQ2ZDAwN2Y0MmZkNDk5OGUzMmEwYTZiMTZjYzZmN2I0OTE4YTRkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUb21hcyBWb25kcmEgPHRvbWFzQHZvbmRyYS5tZT4KRGF0ZTog U2F0LCAyMCBKdW4gMjAyNiAyMDo0NDowMCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggdjQgMS80XSBQ b0M6IGhhc2hqb2luIGJsb29tIGZpbHRlciBwdXNoZG93bgoKV2hlbiBjb25zdHJ1Y3Rpb24gaGFz aGpvaW4gcGxhbnMsIHRyeSB0byBwdXNoZG93biBhIEJsb29tIGZpbHRlciBidWlsdApvbiB0aGUg aGFzaHRhYmxlIHRvIGEgc2NhbiBub2RlIGluIHRoZSBvdXRlciBzaWRlIG9mIHRoZSBqb2luLiBU aGlzIGhhcwptdWx0aXBsZSBzaWduaWZpY2FudCBiZW5lZml0czoKCmEpIFByb2JpbmcgYSBibG9v bSBmaWx0ZXIgaXMgY2hlYXBlciB0aGFuIHByb2JpbmcgYSBoYXNoIHRhYmxlLCBzbyBpZgogICBh IHR1cGxlIGdldHMgZWxpbWluYXRlZCB1c2luZyB0aGUgYmxvb20gZmlsdGVyLCB3ZSBzYXZlIGN5 Y2xlcy4KCmIpIFRoZSBCbG9vbSBmaWx0ZXIgaXMgbW9yZSBjb21wYWN0LCBhbmQgc28gbW9yZSBj YWNoZSBlZmZpY2llbnQuIFRoZQogICBoYXNoIHRhYmxlIG1heSBub3QgZXZlbiBzcGxpdCBpbnRv IG1lbW9yeSwgYW5kIHRoZSBoYXNoam9pbiBoYXMgdG8KICAgc3BpbGwgZGF0YSB0byBmaWxlcy4g VGhlIEJsb29tIGZpbHRlciBtYXkgc3RpbGwgZml0IGludG8gbWVtb3J5LAogICBhbmQgZWxpbWlu YXRlIG1hbnkgdHVwbGVzIG9uIHRoZSBvdXRlciBzaWRlICh3aGljaCByZWR1Y2VzIHRoZQogICBh bW91bnQgb2YgZGF0YSBzcGlsbGVkIHRvIGRpc2spLgoKYykgVGhlIEJsb29tIGZpbHRlciBpcyBw dXNoZWQgdG8gYSBzY2FuIG5vZGUsIHdoaWNoIG1heSBiZSBtdWx0aXBsZQogICBzdGVwcyBiZWZv cmUgdGhlIGpvaW4uIFRoaXMgaW5jcmVhc2VzIHRoZSBiZW5lZml0LCBiZWNhdXNlIHRoZQogICBl bGltaW5hdGVkIHR1cGxlcyBkb24ndCBuZWVkIHRvIHBhc3MgdGhyb3VnaCBhbnkgb2YgdGhlIG5v ZGVzIGluCiAgIGJldHdlZW4uIFRoaXMgZnV0ZWhyIGFtcGxpZmllcyB0aGUgZGlmZmVyZW5jZSBi ZXR3ZWVuIHByb2JpbmcgYQogICBmaWx0ZXIgYW5kIHByb2JpbmcgdGhlIGhhc2h0YWJsZS4KCmQp IElmIGEgdGFibGUgam9pbnMgd2l0aCBtdWx0aXBsZSBvdGhlciB0YWJsZXMgKGUuZy4gaW4gYSBz dGFyam9pbiksIHRoZQogICBzY2FuIG5vZGUgbWF5IHJlY2VpdmUgbXVsdGlwbGUgQmxvb20gZmls dGVycy4gVGhlIHNlbGVjdGl2aXR5IG9mIHRoZQogICBmaWx0ZXJzIG11bHRpcGx5LCBvbmNlIGFn YWluIGFtcGxpZnlpbmcgdGhlIGJlbmVmaXRzLiBJZiBhIHNjYW4gZ2V0cwogICB0d28gZmlsdGVy cywgZWFjaCBkaXNjYXJkaW5nIDkwJSBvZiB0dXBsZXMsIHRoZSBzY2FuIHdpbGwgZGlzY2FyZCA5 OSUKICAgb2YgdHVwbGVzLCBpLmUuIDIgb3JkZXJzIG9mIG1hZ25pdHVkZSBmZXdlciB0dXBsZXMu CgpUaGlzIHBhdGNoIHBlcmZvcm1zIEJsb29tIGZpbHRlciBwdXNoZG93biB3aGVuIGNvbnN0cnVj dGluZyB0aGUgcGxhbiwKYWZ0ZXIgcGF0aCBzZWxlY3Rpb24uIFRoYXQgbWVhbnMgdGhlIGZpbHRl cnMgYXJlIG5vdCBjb25zaWRlcmVkIHdoZW4KZXN0aW1hdGluZyBhbmQgY29zdGluZyB0aGUgcGF0 aHMsIGFuZCB3ZSBvbmx5IGhhdmUgYSBjaGFuY2UgdG8gZG8gdGhlCnB1c2hkb3duIGlmIHdlIGhh cHBlbiB0byBhIHBpY2sgYSBwbGFuIHdpdGggYSBoYXNoam9pbi4gSWYgdGhlIHB1c2hkb3duCmlz IHdoYXQgbWFrZXMgdGhlIHBsYW4gZmFzdCAoZmFzdGVyIHRoYW4gcGxhbnMgd2l0aG91dCBoYXNo am9pbnMpLCB3ZQptYXkgbm90IHBpY2sgaXQuIFdpdGggb3VyIGJvdHRvbS11cCBwbGFubmluZyBp dCdzIGhhcmQgdG8gZG8gYmV0dGVyLgoKVGhlIGRlY2lzaW9uIHdoaWNoIEJsb29tIGZpbHRlcnMg dG8gYnVpbGQgKGFuZCB3aGljaCBzY2FuIG5vZGVzIHNob3VsZApldmFsdWF0ZSB0aGVtKSBoYXBw ZW5zIGluIGNyZWF0ZV9oYXNoam9pbl9wbGFuLiBUaGlzIHJlZ2lzdGVycyB0aGUKZmlsdGVycyBp biBib3RoIHRoZSBoYXNoam9pbiBhbmQgdGhlIHJlY2lwaWVudCBzY2FuIG5vZGUsIGV0Yy4KClRo ZW4gYXQgZXhlY3V0aW9uIHRpbWUsIHRoZSBIYXNoIG5vZGUgYnVpbGRzIHRoZSBmaWx0ZXIgd2l0 aCB0aGUKaGFzaHRhYmxlLCBhbmQgdGhlIHNjYW4gbm9kZSBwcm9iZXMgdGhlIEJsb29tIGZpbHRl ciBzaW1pbGFybHkgdG8KZXZhbHVhdGluZyB0aGUgcmVndWxhciBxdWFscy4KCkhvdyBlZmZlY3Rp dmUgdGhpcyBpcyBkZXBlbmRzIG9uIGhvdyBtYW55IHR1cGxlcyB0aGUgZmlsdGVyIGVsaW1pbmF0 ZXMuCkEgaGlnaGx5IHNlbGVjdGl2ZSBmaWx0ZXIgKGUuZy4gZGlzY2FyZGluZyA+OTAlIHR1cGxl cykgaXMgZ29pbmcgdG8gYmUgYQp3aW4gbm8gbWF0dGVyIHdoYXQuIEJ1dCBldmVuIGEgInBvb3Ii IGZpbHRlciAoZS5nLiBkaXNjYXJkaW5nIG9ubHkgMTAlCnR1cGxlcykgbWF5IHN0aWxsIGJlIGEg d2luLCBpZiB0aGUgaGFzaGpvaW4gaGFzIHRvIHBlcmZvcm0gYmF0Y2hpbmcsIGFuZAp0aHVzIHNw aWxsIGRhdGEgdG8gZGlzay4KCkl0J3MgaGFyZCB0byBrbm93IGluIGFkdmFuY2Ugd2hpY2ggZmls dGVycyBhcmUgc2VsZWN0aXZlLiBUaGUgcGF0Y2ggaGFzCmEgc2ltcGxlIGFkYXB0aXZlIGxvZ2lj LCB0aGF0IGRpc2FibGVzIGZpbHRlcnMgdGhhdCBhcmUgbm90IHNlbGVjdGl2ZQplbm91Z2ggKHRv byBtYW55IHByb2JlcyBmaW5kIGEgbWF0Y2gpLCBhbmQgdGhlIGVuYWJsZXMgdGhlIGZpbHRlciB3 aGVuCnRoZSBmaWx0ZXIgZ2V0cyBtb3JlIHNlbGVjdGl2ZS4KClRoZXJlJ3MgYSBudW1iZXIgb2Yg b3BlbiBxdWVzdGlvbnMgdG8gc29sdmU6CgotIFB1c2hkb3duIGFmdGVyIHBhdGggY29uc3RydWN0 aW9uIG1lYW5zIHdlIGNhbid0IGNvbnNpZGVyIEJsb29tCiAgZmlsdGVycyB3aGVuIGNvc3Rpbmcg dGhlIHBhdGhzLCBhbmQgdGhlIGNvc3QgYXJlIGFzIGlmIG5vIHR1cGxlcyB3ZXJlCiAgZWxpbWlu YXRlZCBieSB0aGUgc2NhbiBub2RlLiBTb2x2aW5nIHRoaXMgd2l0aCB0aGUgYm90dG9tLXVwIHBs YW5uaW5nCiAgaXMgdW5saWtlbHksIG9yIHdvdWxkIGhhdmUgZGlzYWR2YW50YWdlcyAoZS5nLiB3 b3VsZCBpbmNyZWFzZSB0aGUKICBudW1iZXIgb2YgcGF0aHMgd2UgaGF2ZSB0byBjb25kc2lkZXIp LgoKLSBUaGUgRVhQTEFJTiBBTkFMWVpFIG91dHB1dCBjYW4gYmUgc29tZXdoYXQgY29uZnVzaW5n L21pc2xlYWRpbmcuIFRoZQogIHBhdGggZXN0aW1hdGVzIGRvbid0IGNvbnNpZGVyIGhvdyBtYW55 IHJvd3MgbWF5IGJlIGVsaW1pbmF0ZWQgYnkgdGhlCiAgZmlsdGVyLiBUaGlzIG1heSBsZWFkIHRv IGh1Z2UgZGlmZmVyZW5jZXMgYmV0d2VlbiBlc3RpbWF0ZWQgYW5kIGFjdHVhbAogICJyb3dzIiBp biB0aGUgRVhQTEFJTiBvdXRwdXQsIGV2ZW4gd2l0aCBwZXJmZWN0IGVzdGltYXRlcy4gVGhlIEVY UExBSU4KICBub3cgaW5jbHVkZXMgaW5mb3JtYXRpb24gYWJvdXQgQmxvb20gZmlsdGVycyAobnVt YmVyIG9mIHByb2JlcyBhbmQKICBudW1iZXIgb2YgZGlzY2FyZGVkIHJvd3MpLCBidXQgaXQncyBz dGlsbCBoYXJkIHRvIGludGVycHJldC4KCi0gV2UgaGF2ZSBsaXR0bGUgY29udHJvbCBvdmVyIHRo ZSBCbG9vbSBmaWx0ZXIgcGFyYW1ldGVycy4gVGhlIGxpYnJhcnkKICBwaWNrcyBtb3N0IG9mIHRo ZSBhdHRyaWJ1dGVzIG9uIG91ciBiZWhhbGYuIFdvcmtzIHJlYXNvbmFibHkgd2VsbCwgYnV0CiAg d2UgbWF5IG5lZWQgdG8ga25vdyBlLmcuIGZhbHNlIHBvc2l0aXZlIHJhdGUgKGlmIGl0IGdldHMg dG9vIGhpZ2gsIHRoZQogIGZpbHRlciBiZWNvbWVzIHVzZWxlc3MsIGFuZCB3ZSBzaG91bGQgc3Rv cCB1c2luZyBpdCkuCgotIFdlIG9ubHkgcHVzaCBmaWx0ZXJzIHRvIHNjYW4gbm9kZXMsIGFuZCBv bmx5IHRocm91Z2ggc29tZSBvdGhlciBub2RlcwogIChlLmcuIHRocm91Z2ggam9pbnMsIHNvcnQs IC4uLikuIFdlIGNvdWxkIGV4cGFuZCB0aGlzIHRvIGFsc28gcHVzaGRvd24KICB0aHJvdWdoIGFn Z3JlZ2F0aW9ucywgZXRjLgoKLSBUaGUgcGF0Y2ggZG9lcyBub3Qgc3VwcG9ydCBwYXJhbGxlbCBx dWVyaWVzLiBUaGlzIGNhbiBiZSBhZGRyZXNzZWQKICBsYXRlciwgaXQncyBjZXJ0YWlubHkgZG9h YmxlLgoKLSBTaW1pbGFybHksIHRoZXJlJ3Mgbm8gc3VwcG9ydCBmb3IgcGFydGl0aW9uZWQgdGFi bGVzIChmaXhpbmcgdGhpcwogIHNob3VsZCBiZSBzaW1wbGVyIHRoYW4gc3VwcG9ydGluZyBwYXJh bGxlbCBxdWVyaWVzKS4KCi0gSXQgbWlnaHQgYmUgaW50ZXJlc3RpbmcgdG8gYWxsb3cgdGhlIHNj YW4gbm9kZXMgdG8gdXNlIHRoZSBCbG9vbQogIGZpbHRlcnMgaW4gb3RoZXIgd2F5cy4gRS5nLiBp dCBtaWdodCBwdXNoIHRoZSBmaWx0ZXIgdG8gc3RvcmFnZSwgb3IKICBwZXJoYXBzIHRvIHJlbW90 ZSBub2RlICh3aXRoIGEgRm9yZWlnblNjYW4pLCBhbmQgbGV0IGl0IGRvIHNtYXJ0IHRoaW5ncwog IHdpdGggaXQuIFRoZSBzdG9yYWdlIG1pZ2h0IHByZWZpbHRlciBkYXRhLCBmb3JlaWduIHNlcnZl ciBjb3VsZCBmaWx0ZXIKICBkYXRhIG9uIHRoZSByZW1vdGUgZW5kLiBUaGF0J2QgcmVxdWlyZSB1 c2luZyBzb21lIHdlbGwgZGVmaW5lZCBhbmQKICBwb3J0YWJsZSBsaWJyYXJ5IGZvciB0aGUgZmls dGVyLgoKLSBUaGUgY29zdCBtb2RlbCBkZXRlcm1pbmluZyB3aGljaCBmaWx0ZXJzIGFyZSBlZmZl Y3RpdmUgaXMgYSBiaXQgY3J1ZGUKICBhbmQgYmFzZWQgb24gZW1waXJpY2FsIG9ic2VydmF0aW9u cy4gRm9yIGV4YW1wbGUgdGhlIHRocmVzaG9sZHMgdXNlZAogIGluIHRoZSBhZGFwdGl2ZSBsb2dp YyBhcmUgc29tZXdoYXQgYXJiaXRyYXJ5IGFuZCBuZWVkIG1vcmUgdGhvdWdodC4KCi0gV2UgY291 bGQgcHVzaCBmaWx0ZXJzIGludG8gb3RoZXIgbm9kZXMsIG5vdCBqdXN0IHNjYW5zLiBNaWdodCBi ZQogIHVzZWZ1bCBmb3IgbW9yZSBjb21wbGV4IGpvaW5zLgotLS0KIC4uLi9wZ19wbGFuX2Fkdmlj ZS9leHBlY3RlZC9qb2luX29yZGVyLm91dCAgICB8ICA1MiArLQogLi4uL3BnX3BsYW5fYWR2aWNl L2V4cGVjdGVkL2pvaW5fc3RyYXRlZ3kub3V0IHwgIDIwICstCiAuLi4vcGdfcGxhbl9hZHZpY2Uv ZXhwZWN0ZWQvcGFydGl0aW9ud2lzZS5vdXQgfCAgNDAgKy0KIGNvbnRyaWIvcGdfcGxhbl9hZHZp Y2UvZXhwZWN0ZWQvc2VtaWpvaW4ub3V0ICB8ICAyNCArLQogLi4uL2V4cGVjdGVkL3BnX3N0YXNo X2FkdmljZS5vdXQgICAgICAgICAgICAgIHwgIDU0ICsrLQogLi4uL2V4cGVjdGVkL2xldmVsX3Ry YWNraW5nLm91dCAgICAgICAgICAgICAgIHwgIDI0ICstCiAuLi4vcG9zdGdyZXNfZmR3L2V4cGVj dGVkL3Bvc3RncmVzX2Zkdy5vdXQgICAgfCAgIDggKy0KIHNyYy9iYWNrZW5kL2NvbW1hbmRzL2V4 cGxhaW4uYyAgICAgICAgICAgICAgICB8IDE4OSArKysrKysrKwogc3JjL2JhY2tlbmQvZXhlY3V0 b3IvZXhlY1V0aWxzLmMgICAgICAgICAgICAgIHwgICAyICsKIHNyYy9iYWNrZW5kL2V4ZWN1dG9y L25vZGVCaXRtYXBIZWFwc2Nhbi5jICAgICB8ICAgMyArCiBzcmMvYmFja2VuZC9leGVjdXRvci9u b2RlSGFzaC5jICAgICAgICAgICAgICAgfCAgNjAgKysrCiBzcmMvYmFja2VuZC9leGVjdXRvci9u b2RlSGFzaGpvaW4uYyAgICAgICAgICAgfCA0NTUgKysrKysrKysrKysrKysrKysrCiBzcmMvYmFj a2VuZC9leGVjdXRvci9ub2RlSW5kZXhvbmx5c2Nhbi5jICAgICAgfCAgIDMgKwogc3JjL2JhY2tl bmQvZXhlY3V0b3Ivbm9kZUluZGV4c2Nhbi5jICAgICAgICAgIHwgICAzICsKIHNyYy9iYWNrZW5k L2V4ZWN1dG9yL25vZGVTYW1wbGVzY2FuLmMgICAgICAgICB8ICAgMyArCiBzcmMvYmFja2VuZC9l eGVjdXRvci9ub2RlU2Vxc2Nhbi5jICAgICAgICAgICAgfCAgIDMgKwogc3JjL2JhY2tlbmQvZXhl Y3V0b3Ivbm9kZVRpZHJhbmdlc2Nhbi5jICAgICAgIHwgICAzICsKIHNyYy9iYWNrZW5kL2V4ZWN1 dG9yL25vZGVUaWRzY2FuLmMgICAgICAgICAgICB8ICAgMyArCiBzcmMvYmFja2VuZC9saWIvYmxv b21maWx0ZXIuYyAgICAgICAgICAgICAgICAgfCAgMTkgKwogc3JjL2JhY2tlbmQvb3B0aW1pemVy L3BhdGgvY29zdHNpemUuYyAgICAgICAgIHwgICAxICsKIHNyYy9iYWNrZW5kL29wdGltaXplci9w bGFuL2NyZWF0ZXBsYW4uYyAgICAgICB8IDI5OSArKysrKysrKysrKysKIHNyYy9iYWNrZW5kL29w dGltaXplci9wbGFuL3BsYW5uZXIuYyAgICAgICAgICB8ICAgMSArCiBzcmMvYmFja2VuZC9vcHRp bWl6ZXIvcGxhbi9zZXRyZWZzLmMgICAgICAgICAgfCAgNjMgKysrCiBzcmMvYmFja2VuZC91dGls cy9taXNjL2d1Y19wYXJhbWV0ZXJzLmRhdCAgICAgfCAgIDcgKwogc3JjL2JhY2tlbmQvdXRpbHMv bWlzYy9wb3N0Z3Jlc3FsLmNvbmYuc2FtcGxlIHwgICAxICsKIHNyYy9pbmNsdWRlL2V4ZWN1dG9y L2V4ZWNTY2FuLmggICAgICAgICAgICAgICB8ICAyMiArLQogc3JjL2luY2x1ZGUvZXhlY3V0b3Iv ZXhlY3V0b3IuaCAgICAgICAgICAgICAgIHwgIDEyICsKIHNyYy9pbmNsdWRlL2V4ZWN1dG9yL25v ZGVIYXNoam9pbi5oICAgICAgICAgICB8ICAgOSArCiBzcmMvaW5jbHVkZS9saWIvYmxvb21maWx0 ZXIuaCAgICAgICAgICAgICAgICAgfCAgIDIgKwogc3JjL2luY2x1ZGUvbm9kZXMvZXhlY25vZGVz LmggICAgICAgICAgICAgICAgIHwgIDkxICsrKysKIHNyYy9pbmNsdWRlL25vZGVzL3BhdGhub2Rl cy5oICAgICAgICAgICAgICAgICB8ICAgMyArCiBzcmMvaW5jbHVkZS9ub2Rlcy9wbGFubm9kZXMu aCAgICAgICAgICAgICAgICAgfCAgNTEgKysKIHNyYy9pbmNsdWRlL29wdGltaXplci9jb3N0Lmgg ICAgICAgICAgICAgICAgICB8ICAgMSArCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2FnZ3Jl Z2F0ZXMub3V0ICAgICAgfCAgIDggKy0KIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvZWFnZXJf YWdncmVnYXRlLm91dCB8IDE2NiArKysrKystCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2pv aW4ub3V0ICAgICAgICAgICAgfCAxNzYgKysrKystLQogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC9qb2luX2hhc2gub3V0ICAgICAgIHwgIDI4ICstCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L21lcmdlLm91dCAgICAgICAgICAgfCAgMjAgKy0KIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv bWlzY19mdW5jdGlvbnMub3V0ICB8ICAgNCArLQogLi4uL3JlZ3Jlc3MvZXhwZWN0ZWQvcGFydGl0 aW9uX2FnZ3JlZ2F0ZS5vdXQgIHwgIDM0ICstCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Bh cnRpdGlvbl9qb2luLm91dCAgfCA0NTIgKysrKysrKysrKysrKystLS0KIHNyYy90ZXN0L3JlZ3Jl c3MvZXhwZWN0ZWQvcHJlZGljYXRlLm91dCAgICAgICB8ICAgOCArLQogc3JjL3Rlc3QvcmVncmVz cy9leHBlY3RlZC9wcml2aWxlZ2VzLm91dCAgICAgIHwgICA0ICstCiBzcmMvdGVzdC9yZWdyZXNz L2V4cGVjdGVkL3JldHVybmluZy5vdXQgICAgICAgfCAgMTAgKy0KIHNyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvcm93c2VjdXJpdHkub3V0ICAgICB8ICAgMiArCiBzcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL3NlbGVjdF92aWV3cy5vdXQgICAgfCAgIDIgKwogc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC9zdGF0c19leHQub3V0ICAgICAgIHwgICA0ICstCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL3N1YnNlbGVjdC5vdXQgICAgICAgfCAgNjQgKystCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL3N5c3ZpZXdzLm91dCAgICAgICAgfCAgIDMgKy0KIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvdXBkYXRhYmxlX3ZpZXdzLm91dCB8ICAxMiArLQogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC93aW5kb3cub3V0ICAgICAgICAgIHwgICA0ICstCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L3dpdGgub3V0ICAgICAgICAgICAgfCAgMTYgKy0KIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Jvd3Nl Y3VyaXR5LnNxbCAgICAgICAgICB8ICAgMyArCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC9zZWxlY3Rf dmlld3Muc3FsICAgICAgICAgfCAgIDMgKwogNTQgZmlsZXMgY2hhbmdlZCwgMjMxMyBpbnNlcnRp b25zKCspLCAyNDEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvY29udHJpYi9wZ19wbGFuX2Fk dmljZS9leHBlY3RlZC9qb2luX29yZGVyLm91dCBiL2NvbnRyaWIvcGdfcGxhbl9hZHZpY2UvZXhw ZWN0ZWQvam9pbl9vcmRlci5vdXQKaW5kZXggYTVhOTcyOGUzZmQuLjBlNWY5M2EwNDZmIDEwMDY0 NAotLS0gYS9jb250cmliL3BnX3BsYW5fYWR2aWNlL2V4cGVjdGVkL2pvaW5fb3JkZXIub3V0Cisr KyBiL2NvbnRyaWIvcGdfcGxhbl9hZHZpY2UvZXhwZWN0ZWQvam9pbl9vcmRlci5vdXQKQEAgLTI3 LDE3ICsyNywyMSBAQCBTRUxFQ1QgKiBGUk9NIGpvX2ZhY3QgZgogCUxFRlQgSk9JTiBqb19kaW0x IGQxIE9OIGYuZGltMV9pZCA9IGQxLmlkCiAJTEVGVCBKT0lOIGpvX2RpbTIgZDIgT04gZi5kaW0y X2lkID0gZDIuaWQKIAlXSEVSRSB2YWwxID0gMSBBTkQgdmFsMiA9IDE7Ci0gICAgICAgICAgICAg ICAgUVVFUlkgUExBTiAgICAgICAgICAgICAgICAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQorICAgICAgICAgICAgICAgICAgUVVFUlkgUExBTiAgICAgICAgICAg ICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQog IEhhc2ggSm9pbgogICAgSGFzaCBDb25kOiAoZi5kaW0xX2lkID0gZDEuaWQpCiAgICAtPiAgSGFz aCBKb2luCiAgICAgICAgICBIYXNoIENvbmQ6IChmLmRpbTJfaWQgPSBkMi5pZCkKICAgICAgICAg IC0+ICBTZXEgU2NhbiBvbiBqb19mYWN0IGYKKyAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAx OiBrZXlzPShkaW0yX2lkKQorICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDI6IGtleXM9KGRp bTFfaWQpCiAgICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEK ICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBqb19kaW0yIGQyCiAgICAgICAgICAgICAg ICAgICAgICBGaWx0ZXI6ICh2YWwyID0gMSkKICAgIC0+ICBIYXNoCisgICAgICAgICBCbG9vbSBG aWx0ZXIgMgogICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIGpvX2RpbTEgZDEKICAgICAgICAgICAg ICAgIEZpbHRlcjogKHZhbDEgPSAxKQogIEdlbmVyYXRlZCBQbGFuIEFkdmljZToKQEAgLTQ1LDcg KzQ5LDcgQEAgU0VMRUNUICogRlJPTSBqb19mYWN0IGYKICAgIEhBU0hfSk9JTihkMiBkMSkKICAg IFNFUV9TQ0FOKGYgZDIgZDEpCiAgICBOT19HQVRIRVIoZiBkMSBkMikKLSgxNiByb3dzKQorKDIw IHJvd3MpCiAKIC0tIEZvcmNlIGEgZmV3IGRpZmZlcmVudCBqb2luIG9yZGVycy4gU29tZSBvZiB0 aGVzZSBhcmUgdmVyeSBpbmVmZmljaWVudCwKIC0tIGJ1dCB0aGUgcGxhbm5lciBjb25zaWRlcnMg dGhlbSBhbGwgdmlhYmxlLgpAQCAtNTYsMTcgKzYwLDIxIEBAIFNFTEVDVCAqIEZST00gam9fZmFj dCBmCiAJTEVGVCBKT0lOIGpvX2RpbTEgZDEgT04gZi5kaW0xX2lkID0gZDEuaWQKIAlMRUZUIEpP SU4gam9fZGltMiBkMiBPTiBmLmRpbTJfaWQgPSBkMi5pZAogCVdIRVJFIHZhbDEgPSAxIEFORCB2 YWwyID0gMTsKLSAgICAgICAgICAgICAgICBRVUVSWSBQTEFOICAgICAgICAgICAgICAgIAotLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgICAgICAgICAgICAg ICBRVUVSWSBQTEFOICAgICAgICAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgSGFzaCBKb2luCiAgICBIYXNoIENvbmQ6IChmLmRpbTJf aWQgPSBkMi5pZCkKICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAgIEhhc2ggQ29uZDogKGYuZGlt MV9pZCA9IGQxLmlkKQogICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIGpvX2ZhY3QgZgorICAgICAg ICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KGRpbTFfaWQpCisgICAgICAgICAgICAgICBC bG9vbSBGaWx0ZXIgMjoga2V5cz0oZGltMl9pZCkKICAgICAgICAgIC0+ICBIYXNoCisgICAgICAg ICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIGpv X2RpbTEgZDEKICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKHZhbDEgPSAxKQogICAgLT4g IEhhc2gKKyAgICAgICAgIEJsb29tIEZpbHRlciAyCiAgICAgICAgICAtPiAgU2VxIFNjYW4gb24g am9fZGltMiBkMgogICAgICAgICAgICAgICAgRmlsdGVyOiAodmFsMiA9IDEpCiAgU3VwcGxpZWQg UGxhbiBBZHZpY2U6CkBAIC03Niw3ICs4NCw3IEBAIFNFTEVDVCAqIEZST00gam9fZmFjdCBmCiAg ICBIQVNIX0pPSU4oZDEgZDIpCiAgICBTRVFfU0NBTihmIGQxIGQyKQogICAgTk9fR0FUSEVSKGYg ZDEgZDIpCi0oMTggcm93cykKKygyMiByb3dzKQogCiBTRVQgTE9DQUwgcGdfcGxhbl9hZHZpY2Uu YWR2aWNlID0gJ2pvaW5fb3JkZXIoZiBkMiBkMSknOwogRVhQTEFJTiAoQ09TVFMgT0ZGLCBQTEFO X0FEVklDRSkKQEAgLTg0LDE3ICs5MiwyMSBAQCBTRUxFQ1QgKiBGUk9NIGpvX2ZhY3QgZgogCUxF RlQgSk9JTiBqb19kaW0xIGQxIE9OIGYuZGltMV9pZCA9IGQxLmlkCiAJTEVGVCBKT0lOIGpvX2Rp bTIgZDIgT04gZi5kaW0yX2lkID0gZDIuaWQKIAlXSEVSRSB2YWwxID0gMSBBTkQgdmFsMiA9IDE7 Ci0gICAgICAgICAgICAgICAgUVVFUlkgUExBTiAgICAgICAgICAgICAgICAKLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgICAgICAgICAgICAgICAgUVVFUlkg UExBTiAgICAgICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQogIEhhc2ggSm9pbgogICAgSGFzaCBDb25kOiAoZi5kaW0xX2lkID0gZDEu aWQpCiAgICAtPiAgSGFzaCBKb2luCiAgICAgICAgICBIYXNoIENvbmQ6IChmLmRpbTJfaWQgPSBk Mi5pZCkKICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBqb19mYWN0IGYKKyAgICAgICAgICAgICAg IEJsb29tIEZpbHRlciAxOiBrZXlzPShkaW0yX2lkKQorICAgICAgICAgICAgICAgQmxvb20gRmls dGVyIDI6IGtleXM9KGRpbTFfaWQpCiAgICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAg Qmxvb20gRmlsdGVyIDEKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBqb19kaW0yIGQy CiAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6ICh2YWwyID0gMSkKICAgIC0+ICBIYXNoCisg ICAgICAgICBCbG9vbSBGaWx0ZXIgMgogICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIGpvX2RpbTEg ZDEKICAgICAgICAgICAgICAgIEZpbHRlcjogKHZhbDEgPSAxKQogIFN1cHBsaWVkIFBsYW4gQWR2 aWNlOgpAQCAtMTA0LDcgKzExNiw3IEBAIFNFTEVDVCAqIEZST00gam9fZmFjdCBmCiAgICBIQVNI X0pPSU4oZDIgZDEpCiAgICBTRVFfU0NBTihmIGQyIGQxKQogICAgTk9fR0FUSEVSKGYgZDEgZDIp Ci0oMTggcm93cykKKygyMiByb3dzKQogCiBTRVQgTE9DQUwgcGdfcGxhbl9hZHZpY2UuYWR2aWNl ID0gJ2pvaW5fb3JkZXIoZDEgZiBkMiknOwogRVhQTEFJTiAoQ09TVFMgT0ZGLCBQTEFOX0FEVklD RSkKQEAgLTEyMCw3ICsxMzIsOSBAQCBTRUxFQ1QgKiBGUk9NIGpvX2ZhY3QgZgogICAgICAgICAg SGFzaCBDb25kOiAoZDEuaWQgPSBmLmRpbTFfaWQpCiAgICAgICAgICAtPiAgU2VxIFNjYW4gb24g am9fZGltMSBkMQogICAgICAgICAgICAgICAgRmlsdGVyOiAodmFsMSA9IDEpCisgICAgICAgICAg ICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0oaWQpCiAgICAgICAgICAtPiAgSGFzaAorICAgICAg ICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBq b19mYWN0IGYKICAgIC0+ICBIYXNoCiAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gam9fZGltMiBk MgpAQCAtMTMyLDcgKzE0Niw3IEBAIFNFTEVDVCAqIEZST00gam9fZmFjdCBmCiAgICBIQVNIX0pP SU4oZiBkMikKICAgIFNFUV9TQ0FOKGQxIGYgZDIpCiAgICBOT19HQVRIRVIoZiBkMSBkMikKLSgx OCByb3dzKQorKDIwIHJvd3MpCiAKIFNFVCBMT0NBTCBwZ19wbGFuX2FkdmljZS5hZHZpY2UgPSAn am9pbl9vcmRlcihmIChkMSBkMikpJzsKIEVYUExBSU4gKENPU1RTIE9GRiwgUExBTl9BRFZJQ0Up CkBAIC0xNDUsNyArMTU5LDkgQEAgU0VMRUNUICogRlJPTSBqb19mYWN0IGYKICBIYXNoIEpvaW4K ICAgIEhhc2ggQ29uZDogKChmLmRpbTFfaWQgPSBkMS5pZCkgQU5EIChmLmRpbTJfaWQgPSBkMi5p ZCkpCiAgICAtPiAgU2VxIFNjYW4gb24gam9fZmFjdCBmCisgICAgICAgICBCbG9vbSBGaWx0ZXIg MToga2V5cz0oZGltMV9pZCwgZGltMl9pZCkKICAgIC0+ICBIYXNoCisgICAgICAgICBCbG9vbSBG aWx0ZXIgMQogICAgICAgICAgLT4gIE5lc3RlZCBMb29wCiAgICAgICAgICAgICAgICAtPiAgU2Vx IFNjYW4gb24gam9fZGltMSBkMQogICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAodmFsMSA9 IDEpCkBAIC0xNjAsNyArMTc2LDcgQEAgU0VMRUNUICogRlJPTSBqb19mYWN0IGYKICAgIEhBU0hf Sk9JTigoZDEgZDIpKQogICAgU0VRX1NDQU4oZiBkMSBkMikKICAgIE5PX0dBVEhFUihmIGQxIGQy KQotKDE4IHJvd3MpCisoMjAgcm93cykKIAogU0VUIExPQ0FMIHBnX3BsYW5fYWR2aWNlLmFkdmlj ZSA9ICdqb2luX29yZGVyKGYge2QxIGQyfSknOwogRVhQTEFJTiAoQ09TVFMgT0ZGLCBQTEFOX0FE VklDRSkKQEAgLTE3Myw3ICsxODksOSBAQCBTRUxFQ1QgKiBGUk9NIGpvX2ZhY3QgZgogIEhhc2gg Sm9pbgogICAgSGFzaCBDb25kOiAoKGYuZGltMV9pZCA9IGQxLmlkKSBBTkQgKGYuZGltMl9pZCA9 IGQyLmlkKSkKICAgIC0+ICBTZXEgU2NhbiBvbiBqb19mYWN0IGYKKyAgICAgICAgIEJsb29tIEZp bHRlciAxOiBrZXlzPShkaW0xX2lkLCBkaW0yX2lkKQogICAgLT4gIEhhc2gKKyAgICAgICAgIEJs b29tIEZpbHRlciAxCiAgICAgICAgICAtPiAgTmVzdGVkIExvb3AKICAgICAgICAgICAgICAgIC0+ ICBTZXEgU2NhbiBvbiBqb19kaW0xIGQxCiAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6ICh2 YWwxID0gMSkKQEAgLTE4OCw3ICsyMDYsNyBAQCBTRUxFQ1QgKiBGUk9NIGpvX2ZhY3QgZgogICAg SEFTSF9KT0lOKChkMSBkMikpCiAgICBTRVFfU0NBTihmIGQxIGQyKQogICAgTk9fR0FUSEVSKGYg ZDEgZDIpCi0oMTggcm93cykKKygyMCByb3dzKQogCiBDT01NSVQ7CiAtLSBGb3JjZSBhIGpvaW4g b3JkZXIgYnkgbWVudGlvbmluZyBqdXN0IGEgcHJlZml4IG9mIHRoZSBqb2luIGxpc3QuCkBAIC0x OTksMTcgKzIxNywyMSBAQCBTRUxFQ1QgKiBGUk9NIGpvX2ZhY3QgZgogCUxFRlQgSk9JTiBqb19k aW0xIGQxIE9OIGYuZGltMV9pZCA9IGQxLmlkCiAJTEVGVCBKT0lOIGpvX2RpbTIgZDIgT04gZi5k aW0yX2lkID0gZDIuaWQKIAlXSEVSRSB2YWwxID0gMSBBTkQgdmFsMiA9IDE7Ci0gICAgICAgICAg ICAgICAgICAgUVVFUlkgUExBTiAgICAgICAgICAgICAgICAgICAKLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgICAgICAgICAgICAgICAgICAgUVVF UlkgUExBTiAgICAgICAgICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIEhhc2ggSm9pbgogICAgSGFzaCBDb25kOiAoZDIu aWQgPSBmLmRpbTJfaWQpCiAgICAtPiAgU2VxIFNjYW4gb24gam9fZGltMiBkMgogICAgICAgICAg RmlsdGVyOiAodmFsMiA9IDEpCisgICAgICAgICBCbG9vbSBGaWx0ZXIgMjoga2V5cz0oaWQpCiAg ICAtPiAgSGFzaAorICAgICAgICAgQmxvb20gRmlsdGVyIDIKICAgICAgICAgIC0+ICBIYXNoIEpv aW4KICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKGYuZGltMV9pZCA9IGQxLmlkKQogICAgICAg ICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIGpvX2ZhY3QgZgorICAgICAgICAgICAgICAgICAgICAg Qmxvb20gRmlsdGVyIDE6IGtleXM9KGRpbTFfaWQpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAor ICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgICAgICAgICAgICAg IC0+ICBTZXEgU2NhbiBvbiBqb19kaW0xIGQxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBG aWx0ZXI6ICh2YWwxID0gMSkKICBTdXBwbGllZCBQbGFuIEFkdmljZToKQEAgLTIxOSw3ICsyNDEs NyBAQCBTRUxFQ1QgKiBGUk9NIGpvX2ZhY3QgZgogICAgSEFTSF9KT0lOKGQxIChmIGQxKSkKICAg IFNFUV9TQ0FOKGQyIGYgZDEpCiAgICBOT19HQVRIRVIoZiBkMSBkMikKLSgxOCByb3dzKQorKDIy IHJvd3MpCiAKIFNFVCBMT0NBTCBwZ19wbGFuX2FkdmljZS5hZHZpY2UgPSAnam9pbl9vcmRlcihk MiBkMSknOwogRVhQTEFJTiAoQ09TVFMgT0ZGLCBQTEFOX0FEVklDRSkKZGlmZiAtLWdpdCBhL2Nv bnRyaWIvcGdfcGxhbl9hZHZpY2UvZXhwZWN0ZWQvam9pbl9zdHJhdGVneS5vdXQgYi9jb250cmli L3BnX3BsYW5fYWR2aWNlL2V4cGVjdGVkL2pvaW5fc3RyYXRlZ3kub3V0CmluZGV4IDBmOWRiNjky MTkwLi5jZTEwNTg1NmZkYSAxMDA2NDQKLS0tIGEvY29udHJpYi9wZ19wbGFuX2FkdmljZS9leHBl Y3RlZC9qb2luX3N0cmF0ZWd5Lm91dAorKysgYi9jb250cmliL3BnX3BsYW5fYWR2aWNlL2V4cGVj dGVkL2pvaW5fc3RyYXRlZ3kub3V0CkBAIC0xNSwxOSArMTUsMjEgQEAgVkFDVVVNIEFOQUxZWkUg am9pbl9mYWN0OwogLS0gV2UgZXhwZWN0IGEgaGFzaCBqb2luIGJ5IGRlZmF1bHQuCiBFWFBMQUlO IChDT1NUUyBPRkYsIFBMQU5fQURWSUNFKQogCVNFTEVDVCAqIEZST00gam9pbl9mYWN0IGYgSk9J TiBqb2luX2RpbSBkIE9OIGYuZGltX2lkID0gZC5pZDsKLSAgICAgICAgICAgICBRVUVSWSBQTEFO ICAgICAgICAgICAgIAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAg ICAgICAgICAgIFFVRVJZIFBMQU4gICAgICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQogIEhhc2ggSm9pbgogICAgSGFzaCBDb25kOiAoZi5kaW1faWQg PSBkLmlkKQogICAgLT4gIFNlcSBTY2FuIG9uIGpvaW5fZmFjdCBmCisgICAgICAgICBCbG9vbSBG aWx0ZXIgMToga2V5cz0oZGltX2lkKQogICAgLT4gIEhhc2gKKyAgICAgICAgIEJsb29tIEZpbHRl ciAxCiAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gam9pbl9kaW0gZAogIEdlbmVyYXRlZCBQbGFu IEFkdmljZToKICAgIEpPSU5fT1JERVIoZiBkKQogICAgSEFTSF9KT0lOKGQpCiAgICBTRVFfU0NB TihmIGQpCiAgICBOT19HQVRIRVIoZiBkKQotKDEwIHJvd3MpCisoMTIgcm93cykKIAogLS0gVHJ5 IGZvcmNpbmcgZWFjaCBqb2luIG1ldGhvZCBpbiB0dXJuIHdpdGggam9pbl9kaW0gYXMgdGhlIGlu bmVyIHRhYmxlLgogLS0gQWxsIG9mIHRoZXNlIHNob3VsZCB3b3JrIGV4Y2VwdCBmb3IgTUVSR0Vf Sk9JTl9NQVRFUklBTElaRTsgdGhhdCB3aWxsCkBAIC0zNywxMiArMzksMTQgQEAgQkVHSU47CiBT RVQgTE9DQUwgcGdfcGxhbl9hZHZpY2UuYWR2aWNlID0gJ0hBU0hfSk9JTihkKSc7CiBFWFBMQUlO IChDT1NUUyBPRkYsIFBMQU5fQURWSUNFKQogCVNFTEVDVCAqIEZST00gam9pbl9mYWN0IGYgSk9J TiBqb2luX2RpbSBkIE9OIGYuZGltX2lkID0gZC5pZDsKLSAgICAgICAgICAgICBRVUVSWSBQTEFO ICAgICAgICAgICAgIAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAg ICAgICAgICAgIFFVRVJZIFBMQU4gICAgICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQogIEhhc2ggSm9pbgogICAgSGFzaCBDb25kOiAoZi5kaW1faWQg PSBkLmlkKQogICAgLT4gIFNlcSBTY2FuIG9uIGpvaW5fZmFjdCBmCisgICAgICAgICBCbG9vbSBG aWx0ZXIgMToga2V5cz0oZGltX2lkKQogICAgLT4gIEhhc2gKKyAgICAgICAgIEJsb29tIEZpbHRl ciAxCiAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gam9pbl9kaW0gZAogIFN1cHBsaWVkIFBsYW4g QWR2aWNlOgogICAgSEFTSF9KT0lOKGQpIC8qIG1hdGNoZWQgKi8KQEAgLTUxLDcgKzU1LDcgQEAg RVhQTEFJTiAoQ09TVFMgT0ZGLCBQTEFOX0FEVklDRSkKICAgIEhBU0hfSk9JTihkKQogICAgU0VR X1NDQU4oZiBkKQogICAgTk9fR0FUSEVSKGYgZCkKLSgxMiByb3dzKQorKDE0IHJvd3MpCiAKIFNF VCBMT0NBTCBwZ19wbGFuX2FkdmljZS5hZHZpY2UgPSAnTUVSR0VfSk9JTl9NQVRFUklBTElaRShk KSc7CiBFWFBMQUlOIChDT1NUUyBPRkYsIFBMQU5fQURWSUNFKQpAQCAtMTYyLDcgKzE2Niw5IEBA IEVYUExBSU4gKENPU1RTIE9GRiwgUExBTl9BRFZJQ0UpCiAgSGFzaCBKb2luCiAgICBIYXNoIENv bmQ6IChkLmlkID0gZi5kaW1faWQpCiAgICAtPiAgU2VxIFNjYW4gb24gam9pbl9kaW0gZAorICAg ICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KGlkKQogICAgLT4gIEhhc2gKKyAgICAgICAgIEJs b29tIEZpbHRlciAxCiAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gam9pbl9mYWN0IGYKICBTdXBw bGllZCBQbGFuIEFkdmljZToKICAgIEhBU0hfSk9JTihmKSAvKiBtYXRjaGVkICovCkBAIC0xNzEs NyArMTc3LDcgQEAgRVhQTEFJTiAoQ09TVFMgT0ZGLCBQTEFOX0FEVklDRSkKICAgIEhBU0hfSk9J TihmKQogICAgU0VRX1NDQU4oZCBmKQogICAgTk9fR0FUSEVSKGYgZCkKLSgxMiByb3dzKQorKDE0 IHJvd3MpCiAKIFNFVCBMT0NBTCBwZ19wbGFuX2FkdmljZS5hZHZpY2UgPSAnTUVSR0VfSk9JTl9N QVRFUklBTElaRShmKSc7CiBFWFBMQUlOIChDT1NUUyBPRkYsIFBMQU5fQURWSUNFKQpkaWZmIC0t Z2l0IGEvY29udHJpYi9wZ19wbGFuX2FkdmljZS9leHBlY3RlZC9wYXJ0aXRpb253aXNlLm91dCBi L2NvbnRyaWIvcGdfcGxhbl9hZHZpY2UvZXhwZWN0ZWQvcGFydGl0aW9ud2lzZS5vdXQKaW5kZXgg MmIzZDBhODI0NDMuLjNiMDAzYTkyN2FjIDEwMDY0NAotLS0gYS9jb250cmliL3BnX3BsYW5fYWR2 aWNlL2V4cGVjdGVkL3BhcnRpdGlvbndpc2Uub3V0CisrKyBiL2NvbnRyaWIvcGdfcGxhbl9hZHZp Y2UvZXhwZWN0ZWQvcGFydGl0aW9ud2lzZS5vdXQKQEAgLTYwLDcgKzYwLDkgQEAgU0VMRUNUICog RlJPTSBwdDEsIHB0MiwgcHQzIFdIRVJFIHB0MS5pZCA9IHB0Mi5pZCBBTkQgcHQyLmlkID0gcHQz LmlkCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6IChwdDJfMS5pZCA9IHB0M18xLmlkKQogICAg ICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB0MmEgcHQyXzEKICAgICAgICAgICAgICAgICAg ICAgIEZpbHRlcjogKHZhbDIgPSAxKQorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVy IDE6IGtleXM9KGlkKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgICAg ICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24g cHQzYSBwdDNfMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAodmFsMyA9IDEp CiAgICAgICAgICAtPiAgSW5kZXggU2NhbiB1c2luZyBwdDFhX3BrZXkgb24gcHQxYSBwdDFfMQpA QCAtNzEsNyArNzMsOSBAQCBTRUxFQ1QgKiBGUk9NIHB0MSwgcHQyLCBwdDMgV0hFUkUgcHQxLmlk ID0gcHQyLmlkIEFORCBwdDIuaWQgPSBwdDMuaWQKICAgICAgICAgICAgICAgIEhhc2ggQ29uZDog KHB0Ml8yLmlkID0gcHQzXzIuaWQpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHQy YiBwdDJfMgogICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAodmFsMiA9IDEpCisgICAgICAg ICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMjoga2V5cz0oaWQpCiAgICAgICAgICAgICAgICAt PiAgSGFzaAorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDIKICAgICAgICAgICAg ICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdDNiIHB0M18yCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBGaWx0ZXI6ICh2YWwzID0gMSkKICAgICAgICAgIC0+ICBJbmRleCBTY2FuIHVzaW5n IHB0MWJfcGtleSBvbiBwdDFiIHB0MV8yCkBAIC04Miw3ICs4Niw5IEBAIFNFTEVDVCAqIEZST00g cHQxLCBwdDIsIHB0MyBXSEVSRSBwdDEuaWQgPSBwdDIuaWQgQU5EIHB0Mi5pZCA9IHB0My5pZAog ICAgICAgICAgICAgICAgSGFzaCBDb25kOiAocHQyXzMuaWQgPSBwdDNfMy5pZCkKICAgICAgICAg ICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdDJjIHB0Ml8zCiAgICAgICAgICAgICAgICAgICAgICBG aWx0ZXI6ICh2YWwyID0gMSkKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAzOiBr ZXlzPShpZCkKICAgICAgICAgICAgICAgIC0+ICBIYXNoCisgICAgICAgICAgICAgICAgICAgICBC bG9vbSBGaWx0ZXIgMwogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB0M2Mg cHQzXzMKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKHZhbDMgPSAxKQogICAg ICAgICAgLT4gIEluZGV4IFNjYW4gdXNpbmcgcHQxY19wa2V5IG9uIHB0MWMgcHQxXzMKQEAgLTEw MSw3ICsxMDcsNyBAQCBTRUxFQ1QgKiBGUk9NIHB0MSwgcHQyLCBwdDMgV0hFUkUgcHQxLmlkID0g cHQyLmlkIEFORCBwdDIuaWQgPSBwdDMuaWQKICAgIFBBUlRJVElPTldJU0UoKHB0MSBwdDIgcHQz KSkKICAgIE5PX0dBVEhFUihwdDEvcHVibGljLnB0MWEgcHQxL3B1YmxpYy5wdDFiIHB0MS9wdWJs aWMucHQxYyBwdDIvcHVibGljLnB0MmEKICAgICBwdDIvcHVibGljLnB0MmIgcHQyL3B1YmxpYy5w dDJjIHB0My9wdWJsaWMucHQzYSBwdDMvcHVibGljLnB0M2IgcHQzL3B1YmxpYy5wdDNjKQotKDQ3 IHJvd3MpCisoNTMgcm93cykKIAogLS0gU3VwcHJlc3MgcGFydGl0aW9ud2lzZSBqb2luLCBvciBk byBpdCBqdXN0IHBhcnRpYWxseS4KIEJFR0lOOwpAQCAtMTY5LDIxICsxNzUsMjcgQEAgU0VMRUNU ICogRlJPTSBwdDEsIHB0MiwgcHQzIFdIRVJFIHB0MS5pZCA9IHB0Mi5pZCBBTkQgcHQyLmlkID0g cHQzLmlkCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6IChwdDFfMS5pZCA9IHB0Ml8xLmlkKQog ICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB0MWEgcHQxXzEKICAgICAgICAgICAgICAg ICAgICAgIEZpbHRlcjogKHZhbDEgPSAxKQorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmls dGVyIDE6IGtleXM9KGlkKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAg ICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4g b24gcHQyYSBwdDJfMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAodmFsMiA9 IDEpCiAgICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6IChw dDFfMi5pZCA9IHB0Ml8yLmlkKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB0MWIg cHQxXzIKICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKHZhbDEgPSAxKQorICAgICAgICAg ICAgICAgICAgICAgQmxvb20gRmlsdGVyIDI6IGtleXM9KGlkKQogICAgICAgICAgICAgICAgLT4g IEhhc2gKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyCiAgICAgICAgICAgICAg ICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHQyYiBwdDJfMgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgRmlsdGVyOiAodmFsMiA9IDEpCiAgICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAgICAg ICAgICAgICBIYXNoIENvbmQ6IChwdDFfMy5pZCA9IHB0Ml8zLmlkKQogICAgICAgICAgICAgICAg LT4gIFNlcSBTY2FuIG9uIHB0MWMgcHQxXzMKICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjog KHZhbDEgPSAxKQorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDM6IGtleXM9KGlk KQogICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZp bHRlciAzCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHQyYyBwdDJfMwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAodmFsMiA9IDEpCiAgICAtPiAgSGFz aApAQCAtMjA5LDcgKzIyMSw3IEBAIFNFTEVDVCAqIEZST00gcHQxLCBwdDIsIHB0MyBXSEVSRSBw dDEuaWQgPSBwdDIuaWQgQU5EIHB0Mi5pZCA9IHB0My5pZAogICAgUEFSVElUSU9OV0lTRSgocHQx IHB0MikgcHQzKQogICAgTk9fR0FUSEVSKHB0MS9wdWJsaWMucHQxYSBwdDEvcHVibGljLnB0MWIg cHQxL3B1YmxpYy5wdDFjIHB0Mi9wdWJsaWMucHQyYQogICAgIHB0Mi9wdWJsaWMucHQyYiBwdDIv cHVibGljLnB0MmMgcHQzL3B1YmxpYy5wdDNhIHB0My9wdWJsaWMucHQzYiBwdDMvcHVibGljLnB0 M2MpCi0oNDcgcm93cykKKyg1MyByb3dzKQogCiBDT01NSVQ7CiAtLSBUZXN0IGNvbmZsaWN0aW5n IGFkdmljZS4KQEAgLTIyNyw3ICsyMzksOSBAQCBTRUxFQ1QgKiBGUk9NIHB0MSwgcHQyLCBwdDMg V0hFUkUgcHQxLmlkID0gcHQyLmlkIEFORCBwdDIuaWQgPSBwdDMuaWQKICAgICAgICAgICAgICAg IEhhc2ggQ29uZDogKHB0Ml8xLmlkID0gcHQzXzEuaWQpCiAgICAgICAgICAgICAgICAtPiAgU2Vx IFNjYW4gb24gcHQyYSBwdDJfMQogICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAodmFsMiA9 IDEpCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0oaWQpCiAgICAg ICAgICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEK ICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdDNhIHB0M18xCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6ICh2YWwzID0gMSkKICAgICAgICAgIC0+ICBJbmRl eCBTY2FuIHVzaW5nIHB0MWFfcGtleSBvbiBwdDFhIHB0MV8xCkBAIC0yMzgsNyArMjUyLDkgQEAg U0VMRUNUICogRlJPTSBwdDEsIHB0MiwgcHQzIFdIRVJFIHB0MS5pZCA9IHB0Mi5pZCBBTkQgcHQy LmlkID0gcHQzLmlkCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6IChwdDJfMi5pZCA9IHB0M18y LmlkKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB0MmIgcHQyXzIKICAgICAgICAg ICAgICAgICAgICAgIEZpbHRlcjogKHZhbDIgPSAxKQorICAgICAgICAgICAgICAgICAgICAgQmxv b20gRmlsdGVyIDI6IGtleXM9KGlkKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAg ICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2Vx IFNjYW4gb24gcHQzYiBwdDNfMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAo dmFsMyA9IDEpCiAgICAgICAgICAtPiAgSW5kZXggU2NhbiB1c2luZyBwdDFiX3BrZXkgb24gcHQx YiBwdDFfMgpAQCAtMjQ5LDcgKzI2NSw5IEBAIFNFTEVDVCAqIEZST00gcHQxLCBwdDIsIHB0MyBX SEVSRSBwdDEuaWQgPSBwdDIuaWQgQU5EIHB0Mi5pZCA9IHB0My5pZAogICAgICAgICAgICAgICAg SGFzaCBDb25kOiAocHQyXzMuaWQgPSBwdDNfMy5pZCkKICAgICAgICAgICAgICAgIC0+ICBTZXEg U2NhbiBvbiBwdDJjIHB0Ml8zCiAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6ICh2YWwyID0g MSkKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAzOiBrZXlzPShpZCkKICAgICAg ICAgICAgICAgIC0+ICBIYXNoCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMwog ICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB0M2MgcHQzXzMKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKHZhbDMgPSAxKQogICAgICAgICAgLT4gIEluZGV4 IFNjYW4gdXNpbmcgcHQxY19wa2V5IG9uIHB0MWMgcHQxXzMKQEAgLTI3MSw3ICsyODksNyBAQCBT RUxFQ1QgKiBGUk9NIHB0MSwgcHQyLCBwdDMgV0hFUkUgcHQxLmlkID0gcHQyLmlkIEFORCBwdDIu aWQgPSBwdDMuaWQKICAgIFBBUlRJVElPTldJU0UoKHB0MSBwdDIgcHQzKSkKICAgIE5PX0dBVEhF UihwdDEvcHVibGljLnB0MWEgcHQxL3B1YmxpYy5wdDFiIHB0MS9wdWJsaWMucHQxYyBwdDIvcHVi bGljLnB0MmEKICAgICBwdDIvcHVibGljLnB0MmIgcHQyL3B1YmxpYy5wdDJjIHB0My9wdWJsaWMu cHQzYSBwdDMvcHVibGljLnB0M2IgcHQzL3B1YmxpYy5wdDNjKQotKDUxIHJvd3MpCisoNTcgcm93 cykKIAogQ09NTUlUOwogLS0gQ2FuJ3QgZm9yY2UgYSBwYXJ0aXRpb253aXNlIGpvaW4gd2l0aCBh IG1pc21hdGNoZWQgdGFibGUuCkBAIC0zMjEsNyArMzM5LDkgQEAgU0VMRUNUICogRlJPTSBwdDEs IHB0MiwgcHQzIFdIRVJFIHB0MS5pZCA9IHB0Mi5pZCBBTkQgcHQyLmlkID0gcHQzLmlkCiAgICAg ICAgICAgICAgICBIYXNoIENvbmQ6IChwdDNfMS5pZCA9IHB0Ml8xLmlkKQogICAgICAgICAgICAg ICAgLT4gIFNlcSBTY2FuIG9uIHB0M2EgcHQzXzEKICAgICAgICAgICAgICAgICAgICAgIEZpbHRl cjogKHZhbDMgPSAxKQorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9 KGlkKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgICAgICAgIEJsb29t IEZpbHRlciAxCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHQyYSBwdDJf MQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAodmFsMiA9IDEpCiAgICAgICAg ICAtPiAgSW5kZXggU2NhbiB1c2luZyBwdDFhX3BrZXkgb24gcHQxYSBwdDFfMQpAQCAtMzMyLDcg KzM1Miw5IEBAIFNFTEVDVCAqIEZST00gcHQxLCBwdDIsIHB0MyBXSEVSRSBwdDEuaWQgPSBwdDIu aWQgQU5EIHB0Mi5pZCA9IHB0My5pZAogICAgICAgICAgICAgICAgSGFzaCBDb25kOiAocHQyXzIu aWQgPSBwdDNfMi5pZCkKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdDJiIHB0Ml8y CiAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6ICh2YWwyID0gMSkKKyAgICAgICAgICAgICAg ICAgICAgIEJsb29tIEZpbHRlciAyOiBrZXlzPShpZCkKICAgICAgICAgICAgICAgIC0+ICBIYXNo CisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMgogICAgICAgICAgICAgICAgICAg ICAgLT4gIFNlcSBTY2FuIG9uIHB0M2IgcHQzXzIKICAgICAgICAgICAgICAgICAgICAgICAgICAg IEZpbHRlcjogKHZhbDMgPSAxKQogICAgICAgICAgLT4gIEluZGV4IFNjYW4gdXNpbmcgcHQxYl9w a2V5IG9uIHB0MWIgcHQxXzIKQEAgLTM0Myw3ICszNjUsOSBAQCBTRUxFQ1QgKiBGUk9NIHB0MSwg cHQyLCBwdDMgV0hFUkUgcHQxLmlkID0gcHQyLmlkIEFORCBwdDIuaWQgPSBwdDMuaWQKICAgICAg ICAgICAgICAgIEhhc2ggQ29uZDogKHB0Ml8zLmlkID0gcHQzXzMuaWQpCiAgICAgICAgICAgICAg ICAtPiAgU2VxIFNjYW4gb24gcHQyYyBwdDJfMwogICAgICAgICAgICAgICAgICAgICAgRmlsdGVy OiAodmFsMiA9IDEpCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMzoga2V5cz0o aWQpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAgICAgICAgQmxvb20g RmlsdGVyIDMKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdDNjIHB0M18z CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6ICh2YWwzID0gMSkKICAgICAgICAg IC0+ICBJbmRleCBTY2FuIHVzaW5nIHB0MWNfcGtleSBvbiBwdDFjIHB0MV8zCkBAIC0zNjQsNyAr Mzg4LDcgQEAgU0VMRUNUICogRlJPTSBwdDEsIHB0MiwgcHQzIFdIRVJFIHB0MS5pZCA9IHB0Mi5p ZCBBTkQgcHQyLmlkID0gcHQzLmlkCiAgICBQQVJUSVRJT05XSVNFKChwdDEgcHQyIHB0MykpCiAg ICBOT19HQVRIRVIocHQxL3B1YmxpYy5wdDFhIHB0MS9wdWJsaWMucHQxYiBwdDEvcHVibGljLnB0 MWMgcHQyL3B1YmxpYy5wdDJhCiAgICAgcHQyL3B1YmxpYy5wdDJiIHB0Mi9wdWJsaWMucHQyYyBw dDMvcHVibGljLnB0M2EgcHQzL3B1YmxpYy5wdDNiIHB0My9wdWJsaWMucHQzYykKLSg0OSByb3dz KQorKDU1IHJvd3MpCiAKIFNFVCBMT0NBTCBwZ19wbGFuX2FkdmljZS5hZHZpY2UgPSAnSk9JTl9P UkRFUihwdDMvcHQzYSBwdDIvcHQyYSBwdDEvcHQxYSknOwogRVhQTEFJTiAoUExBTl9BRFZJQ0Us IENPU1RTIE9GRikKQEAgLTM3OCw3ICs0MDIsOSBAQCBTRUxFQ1QgKiBGUk9NIHB0MSwgcHQyLCBw dDMgV0hFUkUgcHQxLmlkID0gcHQyLmlkIEFORCBwdDIuaWQgPSBwdDMuaWQKICAgICAgICAgICAg ICAgIEhhc2ggQ29uZDogKHB0M18xLmlkID0gcHQyXzEuaWQpCiAgICAgICAgICAgICAgICAtPiAg U2VxIFNjYW4gb24gcHQzYSBwdDNfMQogICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAodmFs MyA9IDEpCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0oaWQpCiAg ICAgICAgICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVy IDEKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdDJhIHB0Ml8xCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6ICh2YWwyID0gMSkKICAgICAgICAgIC0+ICBJ bmRleCBTY2FuIHVzaW5nIHB0MWFfcGtleSBvbiBwdDFhIHB0MV8xCkBAIC0zODksNyArNDE1LDkg QEAgU0VMRUNUICogRlJPTSBwdDEsIHB0MiwgcHQzIFdIRVJFIHB0MS5pZCA9IHB0Mi5pZCBBTkQg cHQyLmlkID0gcHQzLmlkCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6IChwdDJfMi5pZCA9IHB0 M18yLmlkKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB0MmIgcHQyXzIKICAgICAg ICAgICAgICAgICAgICAgIEZpbHRlcjogKHZhbDIgPSAxKQorICAgICAgICAgICAgICAgICAgICAg Qmxvb20gRmlsdGVyIDI6IGtleXM9KGlkKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAg ICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyCiAgICAgICAgICAgICAgICAgICAgICAtPiAg U2VxIFNjYW4gb24gcHQzYiBwdDNfMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVy OiAodmFsMyA9IDEpCiAgICAgICAgICAtPiAgSW5kZXggU2NhbiB1c2luZyBwdDFiX3BrZXkgb24g cHQxYiBwdDFfMgpAQCAtNDAwLDcgKzQyOCw5IEBAIFNFTEVDVCAqIEZST00gcHQxLCBwdDIsIHB0 MyBXSEVSRSBwdDEuaWQgPSBwdDIuaWQgQU5EIHB0Mi5pZCA9IHB0My5pZAogICAgICAgICAgICAg ICAgSGFzaCBDb25kOiAocHQyXzMuaWQgPSBwdDNfMy5pZCkKICAgICAgICAgICAgICAgIC0+ICBT ZXEgU2NhbiBvbiBwdDJjIHB0Ml8zCiAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6ICh2YWwy ID0gMSkKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAzOiBrZXlzPShpZCkKICAg ICAgICAgICAgICAgIC0+ICBIYXNoCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIg MwogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB0M2MgcHQzXzMKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKHZhbDMgPSAxKQogICAgICAgICAgLT4gIElu ZGV4IFNjYW4gdXNpbmcgcHQxY19wa2V5IG9uIHB0MWMgcHQxXzMKQEAgLTQyMSw2ICs0NTEsNiBA QCBTRUxFQ1QgKiBGUk9NIHB0MSwgcHQyLCBwdDMgV0hFUkUgcHQxLmlkID0gcHQyLmlkIEFORCBw dDIuaWQgPSBwdDMuaWQKICAgIFBBUlRJVElPTldJU0UoKHB0MSBwdDIgcHQzKSkKICAgIE5PX0dB VEhFUihwdDEvcHVibGljLnB0MWEgcHQxL3B1YmxpYy5wdDFiIHB0MS9wdWJsaWMucHQxYyBwdDIv cHVibGljLnB0MmEKICAgICBwdDIvcHVibGljLnB0MmIgcHQyL3B1YmxpYy5wdDJjIHB0My9wdWJs aWMucHQzYSBwdDMvcHVibGljLnB0M2IgcHQzL3B1YmxpYy5wdDNjKQotKDQ5IHJvd3MpCisoNTUg cm93cykKIAogQ09NTUlUOwpkaWZmIC0tZ2l0IGEvY29udHJpYi9wZ19wbGFuX2FkdmljZS9leHBl Y3RlZC9zZW1pam9pbi5vdXQgYi9jb250cmliL3BnX3BsYW5fYWR2aWNlL2V4cGVjdGVkL3NlbWlq b2luLm91dAppbmRleCBkYjZiMDY5ZWM4ZS4uZjYwNzc4ZDBkMzggMTAwNjQ0Ci0tLSBhL2NvbnRy aWIvcGdfcGxhbl9hZHZpY2UvZXhwZWN0ZWQvc2VtaWpvaW4ub3V0CisrKyBiL2NvbnRyaWIvcGdf cGxhbl9hZHZpY2UvZXhwZWN0ZWQvc2VtaWpvaW4ub3V0CkBAIC03NSw3ICs3NSw5IEBAIFNFTEVD VCAqIEZST00gc2pfd2lkZQogIEhhc2ggU2VtaSBKb2luCiAgICBIYXNoIENvbmQ6ICgoc2pfd2lk ZS5pZCA9ICIqVkFMVUVTKiIuY29sdW1uMSkgQU5EIChzal93aWRlLnZhbDEgPSAiKlZBTFVFUyoi LmNvbHVtbjIpKQogICAgLT4gIFNlcSBTY2FuIG9uIHNqX3dpZGUKKyAgICAgICAgIEJsb29tIEZp bHRlciAxOiBrZXlzPShpZCwgdmFsMSkKICAgIC0+ICBIYXNoCisgICAgICAgICBCbG9vbSBGaWx0 ZXIgMQogICAgICAgICAgLT4gIFZhbHVlcyBTY2FuIG9uICIqVkFMVUVTKiIKICBTdXBwbGllZCBQ bGFuIEFkdmljZToKICAgIFNFTUlKT0lOX05PTl9VTklRVUUoIipWQUxVRVMqIikgLyogbWF0Y2hl ZCAqLwpAQCAtODUsNyArODcsNyBAQCBTRUxFQ1QgKiBGUk9NIHNqX3dpZGUKICAgIFNFUV9TQ0FO KHNqX3dpZGUpCiAgICBTRU1JSk9JTl9OT05fVU5JUVVFKCIqVkFMVUVTKiIpCiAgICBOT19HQVRI RVIoc2pfd2lkZSAiKlZBTFVFUyoiKQotKDEzIHJvd3MpCisoMTUgcm93cykKIAogQ09NTUlUOwog LS0gQmVjYXVzZSB0aGlzIHRhYmxlIGlzIG5hcnJvd2VyIHRoYW4gdGhlIHByZXZpb3VzIG9uZSwg YSBzZXF1ZW50aWFsIHNjYW4KQEAgLTEwMCw3ICsxMDIsOSBAQCBTRUxFQ1QgKiBGUk9NIHNqX25h cnJvdwogIEhhc2ggU2VtaSBKb2luCiAgICBIYXNoIENvbmQ6ICgoc2pfbmFycm93LmlkID0gIipW QUxVRVMqIi5jb2x1bW4xKSBBTkQgKHNqX25hcnJvdy52YWwxID0gIipWQUxVRVMqIi5jb2x1bW4y KSkKICAgIC0+ICBTZXEgU2NhbiBvbiBzal9uYXJyb3cKKyAgICAgICAgIEJsb29tIEZpbHRlciAx OiBrZXlzPShpZCwgdmFsMSkKICAgIC0+ICBIYXNoCisgICAgICAgICBCbG9vbSBGaWx0ZXIgMQog ICAgICAgICAgLT4gIFZhbHVlcyBTY2FuIG9uICIqVkFMVUVTKiIKICBHZW5lcmF0ZWQgUGxhbiBB ZHZpY2U6CiAgICBKT0lOX09SREVSKHNqX25hcnJvdyAiKlZBTFVFUyoiKQpAQCAtMTA4LDcgKzEx Miw3IEBAIFNFTEVDVCAqIEZST00gc2pfbmFycm93CiAgICBTRVFfU0NBTihzal9uYXJyb3cpCiAg ICBTRU1JSk9JTl9OT05fVU5JUVVFKCIqVkFMVUVTKiIpCiAgICBOT19HQVRIRVIoc2pfbmFycm93 ICIqVkFMVUVTKiIpCi0oMTEgcm93cykKKygxMyByb3dzKQogCiAtLSBIZXJlLCB3ZSBleHBlY3Qg YWR2aXNpbmcgYSB1bmlxdWUgc2VtaWpvaW4gdG8gc3dpdGggdG8gdGhlIHNhbWUgcGxhbiB0aGF0 CiAtLSB3ZSBnb3Qgd2l0aCBzal93aWRlLCBhbmQgYWR2aXNpbmcgYSBub24tdW5pcXVlIHNlbWlq b2luIHNob3VsZCBub3QgY2hhbmdlCkBAIC0xMjMsNyArMTI3LDkgQEAgU0VMRUNUICogRlJPTSBz al9uYXJyb3cKICBIYXNoIEpvaW4KICAgIEhhc2ggQ29uZDogKChzal9uYXJyb3cuaWQgPSAiKlZB TFVFUyoiLmNvbHVtbjEpIEFORCAoc2pfbmFycm93LnZhbDEgPSAiKlZBTFVFUyoiLmNvbHVtbjIp KQogICAgLT4gIFNlcSBTY2FuIG9uIHNqX25hcnJvdworICAgICAgICAgQmxvb20gRmlsdGVyIDE6 IGtleXM9KGlkLCB2YWwxKQogICAgLT4gIEhhc2gKKyAgICAgICAgIEJsb29tIEZpbHRlciAxCiAg ICAgICAgICAtPiAgSGFzaEFnZ3JlZ2F0ZQogICAgICAgICAgICAgICAgR3JvdXAgS2V5OiAiKlZB TFVFUyoiLmNvbHVtbjEsICIqVkFMVUVTKiIuY29sdW1uMgogICAgICAgICAgICAgICAgLT4gIFZh bHVlcyBTY2FuIG9uICIqVkFMVUVTKiIKQEAgLTEzNSw3ICsxNDEsNyBAQCBTRUxFQ1QgKiBGUk9N IHNqX25hcnJvdwogICAgU0VRX1NDQU4oc2pfbmFycm93KQogICAgU0VNSUpPSU5fVU5JUVVFKCIq VkFMVUVTKiIpCiAgICBOT19HQVRIRVIoc2pfbmFycm93ICIqVkFMVUVTKiIpCi0oMTUgcm93cykK KygxNyByb3dzKQogCiBTRVQgTE9DQUwgcGdfcGxhbl9hZHZpY2UuYWR2aWNlID0gJ3NlbWlqb2lu X25vbl91bmlxdWUoIipWQUxVRVMqIiknOwogRVhQTEFJTiAoQ09TVFMgT0ZGLCBQTEFOX0FEVklD RSkKQEAgLTE0Niw3ICsxNTIsOSBAQCBTRUxFQ1QgKiBGUk9NIHNqX25hcnJvdwogIEhhc2ggU2Vt aSBKb2luCiAgICBIYXNoIENvbmQ6ICgoc2pfbmFycm93LmlkID0gIipWQUxVRVMqIi5jb2x1bW4x KSBBTkQgKHNqX25hcnJvdy52YWwxID0gIipWQUxVRVMqIi5jb2x1bW4yKSkKICAgIC0+ICBTZXEg U2NhbiBvbiBzal9uYXJyb3cKKyAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPShpZCwgdmFs MSkKICAgIC0+ICBIYXNoCisgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgLT4gIFZh bHVlcyBTY2FuIG9uICIqVkFMVUVTKiIKICBTdXBwbGllZCBQbGFuIEFkdmljZToKICAgIFNFTUlK T0lOX05PTl9VTklRVUUoIipWQUxVRVMqIikgLyogbWF0Y2hlZCAqLwpAQCAtMTU2LDcgKzE2NCw3 IEBAIFNFTEVDVCAqIEZST00gc2pfbmFycm93CiAgICBTRVFfU0NBTihzal9uYXJyb3cpCiAgICBT RU1JSk9JTl9OT05fVU5JUVVFKCIqVkFMVUVTKiIpCiAgICBOT19HQVRIRVIoc2pfbmFycm93ICIq VkFMVUVTKiIpCi0oMTMgcm93cykKKygxNSByb3dzKQogCiBDT01NSVQ7CiAtLSBJbiB0aGUgYWJv dmUgZXhhbXBsZSwgd2UgbWFkZSB0aGUgb3V0ZXIgc2lkZSBvZiB0aGUgam9pbiB1bmlxdWUsIGJ1 dCBoZXJlLApAQCAtMjYxLDcgKzI2OSw5IEBAIFNFTEVDVCAqIEZST00gZ2VuZXJhdGVfc2VyaWVz KDEsMTAwMCkgZwogIEhhc2ggUmlnaHQgU2VtaSBKb2luCiAgICBIYXNoIENvbmQ6IChzal9uYXJy b3cudmFsMSA9IGcuZykKICAgIC0+ICBTZXEgU2NhbiBvbiBzal9uYXJyb3cKKyAgICAgICAgIEJs b29tIEZpbHRlciAxOiBrZXlzPSh2YWwxKQogICAgLT4gIEhhc2gKKyAgICAgICAgIEJsb29tIEZp bHRlciAxCiAgICAgICAgICAtPiAgRnVuY3Rpb24gU2NhbiBvbiBnZW5lcmF0ZV9zZXJpZXMgZwog IFN1cHBsaWVkIFBsYW4gQWR2aWNlOgogICAgU0VNSUpPSU5fTk9OX1VOSVFVRShzal9uYXJyb3cp IC8qIG1hdGNoZWQgKi8KQEAgLTI3Miw3ICsyODIsNyBAQCBTRUxFQ1QgKiBGUk9NIGdlbmVyYXRl X3NlcmllcygxLDEwMDApIGcKICAgIFNFUV9TQ0FOKHNqX25hcnJvdykKICAgIFNFTUlKT0lOX05P Tl9VTklRVUUoc2pfbmFycm93KQogICAgTk9fR0FUSEVSKGcgc2pfbmFycm93KQotKDE0IHJvd3Mp CisoMTYgcm93cykKIAogQ09NTUlUOwogLS0gSG93ZXZlciwgbWVudGlvbmluZyB0aGUgd3Jvbmcg c2lkZSBvZiB0aGUgam9pbiBzaG91bGQgcmVzdWx0IGluIGFuIGFkdmljZQpAQCAtNDA3LDExICs0 MTcsMTMgQEAgU0VMRUNUIDEgRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSwgMTAwMCkgZyBXSEVSRSBF WElTVFMKICAgIC0+ICBVbmlxdWUKICAgICAgICAgIC0+ICBOZXN0ZWQgTG9vcAogICAgICAgICAg ICAgICAgLT4gIEluZGV4IE9ubHkgU2NhbiB1c2luZyBzal9uYXJyb3dfcGtleSBvbiBzal9uYXJy b3cgdDIKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPShpZCkKICAg ICAgICAgICAgICAgIC0+ICBNYXRlcmlhbGl6ZQogICAgICAgICAgICAgICAgICAgICAgLT4gIE5l c3RlZCBMb29wIExlZnQgSm9pbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFJlc3Vs dAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHNqX25hcnJvdwog ICAgLT4gIEhhc2gKKyAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAtPiAgRnVuY3Rp b24gU2NhbiBvbiBnZW5lcmF0ZV9zZXJpZXMgZwogIEdlbmVyYXRlZCBQbGFuIEFkdmljZToKICAg IEpPSU5fT1JERVIodDIgKCIqUkVTVUxUKiIgc2pfbmFycm93KSBnKQpAQCAtNDIyLDUgKzQzNCw1 IEBAIFNFTEVDVCAxIEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsIDEwMDApIGcgV0hFUkUgRVhJU1RT CiAgICBJTkRFWF9PTkxZX1NDQU4odDIgcHVibGljLnNqX25hcnJvd19wa2V5KQogICAgU0VNSUpP SU5fVU5JUVVFKCh0MiBzal9uYXJyb3cgIipSRVNVTFQqIikpCiAgICBOT19HQVRIRVIoZyB0MiBz al9uYXJyb3cgIipSRVNVTFQqIikKLSgyMCByb3dzKQorKDIyIHJvd3MpCiAKZGlmZiAtLWdpdCBh L2NvbnRyaWIvcGdfc3Rhc2hfYWR2aWNlL2V4cGVjdGVkL3BnX3N0YXNoX2FkdmljZS5vdXQgYi9j b250cmliL3BnX3N0YXNoX2FkdmljZS9leHBlY3RlZC9wZ19zdGFzaF9hZHZpY2Uub3V0CmluZGV4 IDc4OGRhODU0YWE3Li5kNjJhZmFhNjY1MSAxMDA2NDQKLS0tIGEvY29udHJpYi9wZ19zdGFzaF9h ZHZpY2UvZXhwZWN0ZWQvcGdfc3Rhc2hfYWR2aWNlLm91dAorKysgYi9jb250cmliL3BnX3N0YXNo X2FkdmljZS9leHBlY3RlZC9wZ19zdGFzaF9hZHZpY2Uub3V0CkBAIC01NywyMCArNTcsMjQgQEAg RVhQTEFJTiAoQ09TVFMgT0ZGKQogU0VMRUNUICogRlJPTSBhYV9mYWN0IGYgTEVGVCBKT0lOIGFh X2RpbTEgZDEgT04gZi5kaW0xX2lkID0gZDEuaWQKIAlMRUZUIEpPSU4gYWFfZGltMiBkMiBPTiBm LmRpbTJfaWQgPSBkMi5pZAogCVdIRVJFIHZhbDEgPSAxIEFORCB2YWwyID0gMTsKLSAgICAgICAg ICAgICAgICBRVUVSWSBQTEFOICAgICAgICAgICAgICAgIAotLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgICAgICAgICAgICAgICBRVUVSWSBQTEFOICAgICAg ICAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCiAgSGFzaCBKb2luCiAgICBIYXNoIENvbmQ6IChmLmRpbTFfaWQgPSBkMS5pZCkKICAgIC0+ ICBIYXNoIEpvaW4KICAgICAgICAgIEhhc2ggQ29uZDogKGYuZGltMl9pZCA9IGQyLmlkKQogICAg ICAgICAgLT4gIFNlcSBTY2FuIG9uIGFhX2ZhY3QgZgorICAgICAgICAgICAgICAgQmxvb20gRmls dGVyIDE6IGtleXM9KGRpbTJfaWQpCisgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMjoga2V5 cz0oZGltMV9pZCkKICAgICAgICAgIC0+ICBIYXNoCisgICAgICAgICAgICAgICBCbG9vbSBGaWx0 ZXIgMQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIGFhX2RpbTIgZDIKICAgICAgICAg ICAgICAgICAgICAgIEZpbHRlcjogKHZhbDIgPSAxKQogICAgLT4gIEhhc2gKKyAgICAgICAgIEJs b29tIEZpbHRlciAyCiAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gYWFfZGltMSBkMQogICAgICAg ICAgICAgICAgRmlsdGVyOiAodmFsMSA9IDEpCi0oMTEgcm93cykKKygxNSByb3dzKQogCiAtLSBG b3JjZSBhbiBpbmRleCBzY2FuIG9uIGRpbTEKIFNFTEVDVCBwZ19zZXRfc3Rhc2hlZF9hZHZpY2Uo J3JlZ3Jlc3Nfc3Rhc2gnLCA6J3FpZCcsCkBAIC05MSwxNSArOTUsMTkgQEAgRVhQTEFJTiAoQ09T VFMgT0ZGKSBTRUxFQ1QgKiBGUk9NIGFhX2ZhY3QgZgogICAgLT4gIEhhc2ggSm9pbgogICAgICAg ICAgSGFzaCBDb25kOiAoZi5kaW0yX2lkID0gZDIuaWQpCiAgICAgICAgICAtPiAgU2VxIFNjYW4g b24gYWFfZmFjdCBmCisgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0oZGltMl9p ZCkKKyAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyOiBrZXlzPShkaW0xX2lkKQogICAgICAg ICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAg ICAtPiAgU2VxIFNjYW4gb24gYWFfZGltMiBkMgogICAgICAgICAgICAgICAgICAgICAgRmlsdGVy OiAodmFsMiA9IDEpCiAgICAtPiAgSGFzaAorICAgICAgICAgQmxvb20gRmlsdGVyIDIKICAgICAg ICAgIC0+ICBJbmRleCBTY2FuIHVzaW5nIGFhX2RpbTFfcGtleSBvbiBhYV9kaW0xIGQxCiAgICAg ICAgICAgICAgICBGaWx0ZXI6ICh2YWwxID0gMSkKICBTdXBwbGllZCBQbGFuIEFkdmljZToKICAg IElOREVYX1NDQU4oZDEgYWFfZGltMV9wa2V5KSAvKiBtYXRjaGVkICovCi0oMTMgcm93cykKKygx NyByb3dzKQogCiAtLSBGb3JjZSBhbiBhbHRlcm5hdGl2ZSBqb2luIG9yZGVyCiBTRUxFQ1QgcGdf c2V0X3N0YXNoZWRfYWR2aWNlKCdyZWdyZXNzX3N0YXNoJywgOidxaWQnLApAQCAtMTEzLDIyICsx MjEsMjYgQEAgRVhQTEFJTiAoQ09TVFMgT0ZGKSBTRUxFQ1QgKiBGUk9NIGFhX2ZhY3QgZgogCUxF RlQgSk9JTiBhYV9kaW0xIGQxIE9OIGYuZGltMV9pZCA9IGQxLmlkCiAJTEVGVCBKT0lOIGFhX2Rp bTIgZDIgT04gZi5kaW0yX2lkID0gZDIuaWQKIAlXSEVSRSB2YWwxID0gMSBBTkQgdmFsMiA9IDE7 Ci0gICAgICAgICAgICAgICAgUVVFUlkgUExBTiAgICAgICAgICAgICAgICAKLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgICAgICAgICAgICAgICAgUVVFUlkg UExBTiAgICAgICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQogIEhhc2ggSm9pbgogICAgSGFzaCBDb25kOiAoZi5kaW0yX2lkID0gZDIu aWQpCiAgICAtPiAgSGFzaCBKb2luCiAgICAgICAgICBIYXNoIENvbmQ6IChmLmRpbTFfaWQgPSBk MS5pZCkKICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBhYV9mYWN0IGYKKyAgICAgICAgICAgICAg IEJsb29tIEZpbHRlciAxOiBrZXlzPShkaW0xX2lkKQorICAgICAgICAgICAgICAgQmxvb20gRmls dGVyIDI6IGtleXM9KGRpbTJfaWQpCiAgICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAg Qmxvb20gRmlsdGVyIDEKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBhYV9kaW0xIGQx CiAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6ICh2YWwxID0gMSkKICAgIC0+ICBIYXNoCisg ICAgICAgICBCbG9vbSBGaWx0ZXIgMgogICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIGFhX2RpbTIg ZDIKICAgICAgICAgICAgICAgIEZpbHRlcjogKHZhbDIgPSAxKQogIFN1cHBsaWVkIFBsYW4gQWR2 aWNlOgogICAgSk9JTl9PUkRFUihmIGQxIGQyKSAvKiBtYXRjaGVkICovCi0oMTMgcm93cykKKygx NyByb3dzKQogCiAtLSBGb3JjZSBhbiBhbHRlcm5hdGl2ZSBqb2luIHN0cmF0ZWd5CiBTRUxFQ1Qg cGdfc2V0X3N0YXNoZWRfYWR2aWNlKCdyZWdyZXNzX3N0YXNoJywgOidxaWQnLApAQCAtMTQ4LDcg KzE2MCw5IEBAIEVYUExBSU4gKENPU1RTIE9GRikgU0VMRUNUICogRlJPTSBhYV9mYWN0IGYKICAg IC0+ICBIYXNoIEpvaW4KICAgICAgICAgIEhhc2ggQ29uZDogKGYuZGltMl9pZCA9IGQyLmlkKQog ICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIGFhX2ZhY3QgZgorICAgICAgICAgICAgICAgQmxvb20g RmlsdGVyIDE6IGtleXM9KGRpbTJfaWQpCiAgICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAg ICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBhYV9kaW0y IGQyCiAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6ICh2YWwyID0gMSkKICAgIC0+ICBJbmRl eCBTY2FuIHVzaW5nIGFhX2RpbTFfcGtleSBvbiBhYV9kaW0xIGQxCkBAIC0xNTYsNyArMTcwLDcg QEAgRVhQTEFJTiAoQ09TVFMgT0ZGKSBTRUxFQ1QgKiBGUk9NIGFhX2ZhY3QgZgogICAgICAgICAg RmlsdGVyOiAodmFsMSA9IDEpCiAgU3VwcGxpZWQgUGxhbiBBZHZpY2U6CiAgICBORVNURURfTE9P UF9QTEFJTihkMSkgLyogbWF0Y2hlZCAqLwotKDEyIHJvd3MpCisoMTQgcm93cykKIAogLS0gQWRk IGEgdXNlbGVzcyBleHRyYSBlbnRyeSB0byBvdXIgdGVzdCBzdGFzaC4gU2hvdWxkbid0IGNoYW5n ZSB0aGUgcmVzdWx0CiAtLSBmcm9tIHRoZSBwcmV2aW91cyB0ZXN0LgpAQCAtMTc4LDcgKzE5Miw5 IEBAIEVYUExBSU4gKENPU1RTIE9GRikgU0VMRUNUICogRlJPTSBhYV9mYWN0IGYKICAgIC0+ICBI YXNoIEpvaW4KICAgICAgICAgIEhhc2ggQ29uZDogKGYuZGltMl9pZCA9IGQyLmlkKQogICAgICAg ICAgLT4gIFNlcSBTY2FuIG9uIGFhX2ZhY3QgZgorICAgICAgICAgICAgICAgQmxvb20gRmlsdGVy IDE6IGtleXM9KGRpbTJfaWQpCiAgICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAgQmxv b20gRmlsdGVyIDEKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBhYV9kaW0yIGQyCiAg ICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6ICh2YWwyID0gMSkKICAgIC0+ICBJbmRleCBTY2Fu IHVzaW5nIGFhX2RpbTFfcGtleSBvbiBhYV9kaW0xIGQxCkBAIC0xODYsNyArMjAyLDcgQEAgRVhQ TEFJTiAoQ09TVFMgT0ZGKSBTRUxFQ1QgKiBGUk9NIGFhX2ZhY3QgZgogICAgICAgICAgRmlsdGVy OiAodmFsMSA9IDEpCiAgU3VwcGxpZWQgUGxhbiBBZHZpY2U6CiAgICBORVNURURfTE9PUF9QTEFJ TihkMSkgLyogbWF0Y2hlZCAqLwotKDEyIHJvd3MpCisoMTQgcm93cykKIAogLS0gVHJ5IGFuIGVt cHR5IHN0YXNoIHRvIGJlIHN1cmUgaXQgZG9lcyBub3RoaW5nCiBTRUxFQ1QgcGdfY3JlYXRlX2Fk dmljZV9zdGFzaCgncmVncmVzc19lbXB0eV9zdGFzaCcpOwpAQCAtMjAwLDIwICsyMTYsMjQgQEAg RVhQTEFJTiAoQ09TVFMgT0ZGKSBTRUxFQ1QgKiBGUk9NIGFhX2ZhY3QgZgogCUxFRlQgSk9JTiBh YV9kaW0xIGQxIE9OIGYuZGltMV9pZCA9IGQxLmlkCiAJTEVGVCBKT0lOIGFhX2RpbTIgZDIgT04g Zi5kaW0yX2lkID0gZDIuaWQKIAlXSEVSRSB2YWwxID0gMSBBTkQgdmFsMiA9IDE7Ci0gICAgICAg ICAgICAgICAgUVVFUlkgUExBTiAgICAgICAgICAgICAgICAKLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgICAgICAgICAgICAgICAgUVVFUlkgUExBTiAgICAg ICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQogIEhhc2ggSm9pbgogICAgSGFzaCBDb25kOiAoZi5kaW0xX2lkID0gZDEuaWQpCiAgICAt PiAgSGFzaCBKb2luCiAgICAgICAgICBIYXNoIENvbmQ6IChmLmRpbTJfaWQgPSBkMi5pZCkKICAg ICAgICAgIC0+ICBTZXEgU2NhbiBvbiBhYV9mYWN0IGYKKyAgICAgICAgICAgICAgIEJsb29tIEZp bHRlciAxOiBrZXlzPShkaW0yX2lkKQorICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDI6IGtl eXM9KGRpbTFfaWQpCiAgICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAgQmxvb20gRmls dGVyIDEKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBhYV9kaW0yIGQyCiAgICAgICAg ICAgICAgICAgICAgICBGaWx0ZXI6ICh2YWwyID0gMSkKICAgIC0+ICBIYXNoCisgICAgICAgICBC bG9vbSBGaWx0ZXIgMgogICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIGFhX2RpbTEgZDEKICAgICAg ICAgICAgICAgIEZpbHRlcjogKHZhbDEgPSAxKQotKDExIHJvd3MpCisoMTUgcm93cykKIAogLS0g VGVzdCB0aGF0IHdlIGNhbiBsaXN0IGVhY2ggc3Rhc2ggaW5kaXZpZHVhbGx5IGFuZCBhbGwgb2Yg dGhlbSB0b2dldGhlciwKIC0tIGJ1dCBub3QgYSBub25leGlzdGVudCBzdGFzaC4KQEAgLTI2Mywy MCArMjgzLDI0IEBAIEVYUExBSU4gKENPU1RTIE9GRikgU0VMRUNUICogRlJPTSBhYV9mYWN0IGYK IAlMRUZUIEpPSU4gYWFfZGltMSBkMSBPTiBmLmRpbTFfaWQgPSBkMS5pZAogCUxFRlQgSk9JTiBh YV9kaW0yIGQyIE9OIGYuZGltMl9pZCA9IGQyLmlkCiAJV0hFUkUgdmFsMSA9IDEgQU5EIHZhbDIg PSAxOwotICAgICAgICAgICAgICAgIFFVRVJZIFBMQU4gICAgICAgICAgICAgICAgCi0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAgICAgICAgICAgICAgIFFV RVJZIFBMQU4gICAgICAgICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KICBIYXNoIEpvaW4KICAgIEhhc2ggQ29uZDogKGYuZGltMV9pZCA9 IGQxLmlkKQogICAgLT4gIEhhc2ggSm9pbgogICAgICAgICAgSGFzaCBDb25kOiAoZi5kaW0yX2lk ID0gZDIuaWQpCiAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gYWFfZmFjdCBmCisgICAgICAgICAg ICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0oZGltMl9pZCkKKyAgICAgICAgICAgICAgIEJsb29t IEZpbHRlciAyOiBrZXlzPShkaW0xX2lkKQogICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAg ICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gYWFfZGlt MiBkMgogICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAodmFsMiA9IDEpCiAgICAtPiAgSGFz aAorICAgICAgICAgQmxvb20gRmlsdGVyIDIKICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBhYV9k aW0xIGQxCiAgICAgICAgICAgICAgICBGaWx0ZXI6ICh2YWwxID0gMSkKLSgxMSByb3dzKQorKDE1 IHJvd3MpCiAKIFNFTEVDVCAqIEZST00gcGdfZ2V0X2FkdmljZV9zdGFzaGVzKCkgT1JERVIgQlkg c3Rhc2hfbmFtZTsKICAgICAgc3Rhc2hfbmFtZSAgICAgIHwgbnVtX2VudHJpZXMgCmRpZmYgLS1n aXQgYS9jb250cmliL3BnX3N0YXRfc3RhdGVtZW50cy9leHBlY3RlZC9sZXZlbF90cmFja2luZy5v dXQgYi9jb250cmliL3BnX3N0YXRfc3RhdGVtZW50cy9leHBlY3RlZC9sZXZlbF90cmFja2luZy5v dXQKaW5kZXggODMyZDY1ZTk3Y2EuLmRiODRjYzZhZjAxIDEwMDY0NAotLS0gYS9jb250cmliL3Bn X3N0YXRfc3RhdGVtZW50cy9leHBlY3RlZC9sZXZlbF90cmFja2luZy5vdXQKKysrIGIvY29udHJp Yi9wZ19zdGF0X3N0YXRlbWVudHMvZXhwZWN0ZWQvbGV2ZWxfdHJhY2tpbmcub3V0CkBAIC0xODks OSArMTg5LDExIEBAIEVYUExBSU4gKENPU1RTIE9GRikgTUVSR0UgSU5UTyBzdGF0c190cmFja190 YWIKICAgIC0+ICBIYXNoIFJpZ2h0IEpvaW4KICAgICAgICAgIEhhc2ggQ29uZDogKHN0YXRzX3Ry YWNrX3RhYi54ID0gaWQuaWQpCiAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gc3RhdHNfdHJhY2tf dGFiCisgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0oeCkKICAgICAgICAgIC0+ ICBIYXNoCisgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAgICAgLT4g IEZ1bmN0aW9uIFNjYW4gb24gZ2VuZXJhdGVfc2VyaWVzIGlkCi0oNiByb3dzKQorKDggcm93cykK IAogRVhQTEFJTiAoQ09TVFMgT0ZGKSBTRUxFQ1QgMSBVTklPTiBTRUxFQ1QgMjsKICAgICAgICAg UVVFUlkgUExBTiAgICAgICAgCkBAIC0zMTUsOSArMzE3LDExIEBAIEVYUExBSU4gKENPU1RTIE9G RikgTUVSR0UgSU5UTyBzdGF0c190cmFja190YWIKICAgIC0+ICBIYXNoIFJpZ2h0IEpvaW4KICAg ICAgICAgIEhhc2ggQ29uZDogKHN0YXRzX3RyYWNrX3RhYi54ID0gaWQuaWQpCiAgICAgICAgICAt PiAgU2VxIFNjYW4gb24gc3RhdHNfdHJhY2tfdGFiCisgICAgICAgICAgICAgICBCbG9vbSBGaWx0 ZXIgMToga2V5cz0oeCkKICAgICAgICAgIC0+ICBIYXNoCisgICAgICAgICAgICAgICBCbG9vbSBG aWx0ZXIgMQogICAgICAgICAgICAgICAgLT4gIEZ1bmN0aW9uIFNjYW4gb24gZ2VuZXJhdGVfc2Vy aWVzIGlkCi0oNiByb3dzKQorKDggcm93cykKIAogRVhQTEFJTiAoQ09TVFMgT0ZGKSBTRUxFQ1Qg MSBVTklPTiBTRUxFQ1QgMjsKICAgICAgICAgUVVFUlkgUExBTiAgICAgICAgCkBAIC01MzYsOSAr NTQwLDExIEBAIEVYUExBSU4gKENPU1RTIE9GRikgTUVSR0UgSU5UTyBzdGF0c190cmFja190YWIK ICAgIC0+ICBIYXNoIFJpZ2h0IEpvaW4KICAgICAgICAgIEhhc2ggQ29uZDogKHN0YXRzX3RyYWNr X3RhYi54ID0gaWQuaWQpCiAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gc3RhdHNfdHJhY2tfdGFi CisgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0oeCkKICAgICAgICAgIC0+ICBI YXNoCisgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAgICAgLT4gIEZ1 bmN0aW9uIFNjYW4gb24gZ2VuZXJhdGVfc2VyaWVzIGlkCi0oNiByb3dzKQorKDggcm93cykKIAog IFFVRVJZIFBMQU4gCiAtLS0tLS0tLS0tLS0KQEAgLTY2NCw5ICs2NzAsMTEgQEAgRVhQTEFJTiAo Q09TVFMgT0ZGKSBNRVJHRSBJTlRPIHN0YXRzX3RyYWNrX3RhYiBVU0lORyAoU0VMRUNUIGlkIEZS T00gZ2VuZXJhdGVfc2UKICAgIC0+ICBIYXNoIFJpZ2h0IEpvaW4KICAgICAgICAgIEhhc2ggQ29u ZDogKHN0YXRzX3RyYWNrX3RhYi54ID0gaWQuaWQpCiAgICAgICAgICAtPiAgU2VxIFNjYW4gb24g c3RhdHNfdHJhY2tfdGFiCisgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0oeCkK ICAgICAgICAgIC0+ICBIYXNoCisgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAg ICAgICAgICAgLT4gIEZ1bmN0aW9uIFNjYW4gb24gZ2VuZXJhdGVfc2VyaWVzIGlkCi0oNiByb3dz KQorKDggcm93cykKIAogIFFVRVJZIFBMQU4gCiAtLS0tLS0tLS0tLS0KQEAgLTc3Miw5ICs3ODAs MTEgQEAgRVhQTEFJTiAoQ09TVFMgT0ZGKSBXSVRIIGEgQVMgKFNFTEVDVCA0KSBNRVJHRSBJTlRP IHN0YXRzX3RyYWNrX3RhYgogICAgLT4gIEhhc2ggUmlnaHQgSm9pbgogICAgICAgICAgSGFzaCBD b25kOiAoc3RhdHNfdHJhY2tfdGFiLnggPSBpZC5pZCkKICAgICAgICAgIC0+ICBTZXEgU2NhbiBv biBzdGF0c190cmFja190YWIKKyAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPSh4 KQogICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAg ICAgICAgICAgICAtPiAgRnVuY3Rpb24gU2NhbiBvbiBnZW5lcmF0ZV9zZXJpZXMgaWQKLSg2IHJv d3MpCisoOCByb3dzKQogCiBFWFBMQUlOIChDT1NUUyBPRkYpIFdJVEggYSBBUyAoc2VsZWN0IDQp IFNFTEVDVCAxIFVOSU9OIFNFTEVDVCAyOwogICAgICAgICBRVUVSWSBQTEFOICAgICAgICAKQEAg LTg2Niw5ICs4NzYsMTEgQEAgRVhQTEFJTiAoQ09TVFMgT0ZGKSBXSVRIIGEgQVMgKFNFTEVDVCA0 KSBNRVJHRSBJTlRPIHN0YXRzX3RyYWNrX3RhYgogICAgLT4gIEhhc2ggUmlnaHQgSm9pbgogICAg ICAgICAgSGFzaCBDb25kOiAoc3RhdHNfdHJhY2tfdGFiLnggPSBpZC5pZCkKICAgICAgICAgIC0+ ICBTZXEgU2NhbiBvbiBzdGF0c190cmFja190YWIKKyAgICAgICAgICAgICAgIEJsb29tIEZpbHRl ciAxOiBrZXlzPSh4KQogICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgIEJsb29tIEZp bHRlciAxCiAgICAgICAgICAgICAgICAtPiAgRnVuY3Rpb24gU2NhbiBvbiBnZW5lcmF0ZV9zZXJp ZXMgaWQKLSg2IHJvd3MpCisoOCByb3dzKQogCiBFWFBMQUlOIChDT1NUUyBPRkYpIFdJVEggYSBB UyAoc2VsZWN0IDQpIFNFTEVDVCAxIFVOSU9OIFNFTEVDVCAyOwogICAgICAgICBRVUVSWSBQTEFO ICAgICAgICAKZGlmZiAtLWdpdCBhL2NvbnRyaWIvcG9zdGdyZXNfZmR3L2V4cGVjdGVkL3Bvc3Rn cmVzX2Zkdy5vdXQgYi9jb250cmliL3Bvc3RncmVzX2Zkdy9leHBlY3RlZC9wb3N0Z3Jlc19mZHcu b3V0CmluZGV4IDA4MDVjNTZjYjFiLi40MjhiN2Q4YzJiMyAxMDA2NDQKLS0tIGEvY29udHJpYi9w b3N0Z3Jlc19mZHcvZXhwZWN0ZWQvcG9zdGdyZXNfZmR3Lm91dAorKysgYi9jb250cmliL3Bvc3Rn cmVzX2Zkdy9leHBlY3RlZC9wb3N0Z3Jlc19mZHcub3V0CkBAIC0xMTgyMywxMiArMTE4MjMsMTQg QEAgSU5TRVJUIElOVE8gam9pbl90YmwgU0VMRUNUICogRlJPTSBhc3luY19wdCB0MSwgYXN5bmNf cHQgdDIgV0hFUkUgdDEuYSA9IHQyLmEgQU4KICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKCh0 Ml8zLmEgPSB0MV8zLmEpIEFORCAodDJfMy5iID0gdDFfMy5iKSkKICAgICAgICAgICAgICAgIC0+ ICBTZXEgU2NhbiBvbiBwdWJsaWMuYXN5bmNfcDMgdDJfMwogICAgICAgICAgICAgICAgICAgICAg T3V0cHV0OiB0Ml8zLmEsIHQyXzMuYiwgdDJfMy5jCisgICAgICAgICAgICAgICAgICAgICBCbG9v bSBGaWx0ZXIgMToga2V5cz0odDJfMy5hLCB0Ml8zLmIpCiAgICAgICAgICAgICAgICAtPiAgSGFz aAogICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0MV8zLmEsIHQxXzMuYiwgdDFfMy5jCisg ICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAgICAgICAgICAg LT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5hc3luY19wMyB0MV8zCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBPdXRwdXQ6IHQxXzMuYSwgdDFfMy5iLCB0MV8zLmMKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEZpbHRlcjogKCh0MV8zLmIgJSAxMDApID0gMCkKLSgyMCByb3dzKQorKDIyIHJv d3MpCiAKIElOU0VSVCBJTlRPIGpvaW5fdGJsIFNFTEVDVCAqIEZST00gYXN5bmNfcHQgdDEsIGFz eW5jX3B0IHQyIFdIRVJFIHQxLmEgPSB0Mi5hIEFORCB0MS5iID0gdDIuYiBBTkQgdDEuYiAlIDEw MCA9IDA7CiBTRUxFQ1QgKiBGUk9NIGpvaW5fdGJsIE9SREVSIEJZIGExOwpAQCAtMTE4ODYsMTIg KzExODg4LDE0IEBAIElOU0VSVCBJTlRPIGpvaW5fdGJsIFNFTEVDVCB0MS5hLCB0MS5iLCAnQUFB JyB8fCB0MS5jLCB0Mi5hLCB0Mi5iLCAnQUFBJyB8fCB0Mi5jCiAgICAgICAgICAgICAgICBIYXNo IENvbmQ6ICgodDJfMy5hID0gdDFfMy5hKSBBTkQgKHQyXzMuYiA9IHQxXzMuYikpCiAgICAgICAg ICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmFzeW5jX3AzIHQyXzMKICAgICAgICAgICAg ICAgICAgICAgIE91dHB1dDogdDJfMy5hLCB0Ml8zLmIsIHQyXzMuYworICAgICAgICAgICAgICAg ICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KHQyXzMuYSwgdDJfMy5iKQogICAgICAgICAgICAg ICAgLT4gIEhhc2gKICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDFfMy5hLCB0MV8zLmIs IHQxXzMuYworICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgICAg ICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuYXN5bmNfcDMgdDFfMwogICAgICAgICAg ICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0MV8zLmEsIHQxXzMuYiwgdDFfMy5jCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6ICgodDFfMy5iICUgMTAwKSA9IDApCi0oMjAgcm93 cykKKygyMiByb3dzKQogCiBJTlNFUlQgSU5UTyBqb2luX3RibCBTRUxFQ1QgdDEuYSwgdDEuYiwg J0FBQScgfHwgdDEuYywgdDIuYSwgdDIuYiwgJ0FBQScgfHwgdDIuYyBGUk9NIGFzeW5jX3B0IHQx LCBhc3luY19wdCB0MiBXSEVSRSB0MS5hID0gdDIuYSBBTkQgdDEuYiA9IHQyLmIgQU5EIHQxLmIg JSAxMDAgPSAwOwogU0VMRUNUICogRlJPTSBqb2luX3RibCBPUkRFUiBCWSBhMTsKZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2V4cGxhaW4uYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRz L2V4cGxhaW4uYwppbmRleCBhNDBkMDNkMzVmMy4uODg5M2UzNmM4YWEgMTAwNjQ0Ci0tLSBhL3Ny Yy9iYWNrZW5kL2NvbW1hbmRzL2V4cGxhaW4uYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9l eHBsYWluLmMKQEAgLTI1LDYgKzI1LDcgQEAKICNpbmNsdWRlICJjb21tYW5kcy9wcmVwYXJlLmgi CiAjaW5jbHVkZSAiZm9yZWlnbi9mZHdhcGkuaCIKICNpbmNsdWRlICJqaXQvaml0LmgiCisjaW5j bHVkZSAibGliL2Jsb29tZmlsdGVyLmgiCiAjaW5jbHVkZSAibGlicHEvcHFmb3JtYXQuaCIKICNp bmNsdWRlICJsaWJwcS9wcm90b2NvbC5oIgogI2luY2x1ZGUgIm5vZGVzL2V4dGVuc2libGUuaCIK QEAgLTkyLDYgKzkzLDggQEAgc3RhdGljIHZvaWQgc2hvd19zY2FuX3F1YWwoTGlzdCAqcXVhbCwg Y29uc3QgY2hhciAqcWxhYmVsLAogc3RhdGljIHZvaWQgc2hvd191cHBlcl9xdWFsKExpc3QgKnF1 YWwsIGNvbnN0IGNoYXIgKnFsYWJlbCwKIAkJCQkJCQlQbGFuU3RhdGUgKnBsYW5zdGF0ZSwgTGlz dCAqYW5jZXN0b3JzLAogCQkJCQkJCUV4cGxhaW5TdGF0ZSAqZXMpOworc3RhdGljIHZvaWQgc2hv d19ibG9vbV9maWx0ZXJfaW5mbyhQbGFuU3RhdGUgKnBsYW5zdGF0ZSwgTGlzdCAqYW5jZXN0b3Jz LAorCQkJCQkJCQkgICBFeHBsYWluU3RhdGUgKmVzKTsKIHN0YXRpYyB2b2lkIHNob3dfc29ydF9r ZXlzKFNvcnRTdGF0ZSAqc29ydHN0YXRlLCBMaXN0ICphbmNlc3RvcnMsCiAJCQkJCQkgICBFeHBs YWluU3RhdGUgKmVzKTsKIHN0YXRpYyB2b2lkIHNob3dfaW5jcmVtZW50YWxfc29ydF9rZXlzKElu Y3JlbWVudGFsU29ydFN0YXRlICppbmNyc29ydHN0YXRlLApAQCAtMTk3OCw2ICsxOTgxLDcgQEAg RXhwbGFpbk5vZGUoUGxhblN0YXRlICpwbGFuc3RhdGUsIExpc3QgKmFuY2VzdG9ycywKIAkJCWlm IChwbGFuLT5xdWFsKQogCQkJCXNob3dfaW5zdHJ1bWVudGF0aW9uX2NvdW50KCJSb3dzIFJlbW92 ZWQgYnkgRmlsdGVyIiwgMSwKIAkJCQkJCQkJCQkgICBwbGFuc3RhdGUsIGVzKTsKKwkJCXNob3df Ymxvb21fZmlsdGVyX2luZm8ocGxhbnN0YXRlLCBhbmNlc3RvcnMsIGVzKTsKIAkJCXNob3dfaW5k ZXhzZWFyY2hlc19pbmZvKHBsYW5zdGF0ZSwgZXMpOwogCQkJYnJlYWs7CiAJCWNhc2UgVF9JbmRl eE9ubHlTY2FuOgpAQCAtMTk5NSw2ICsxOTk5LDcgQEAgRXhwbGFpbk5vZGUoUGxhblN0YXRlICpw bGFuc3RhdGUsIExpc3QgKmFuY2VzdG9ycywKIAkJCWlmIChlcy0+YW5hbHl6ZSkKIAkJCQlFeHBs YWluUHJvcGVydHlGbG9hdCgiSGVhcCBGZXRjaGVzIiwgTlVMTCwKIAkJCQkJCQkJCSBwbGFuc3Rh dGUtPmluc3RydW1lbnQtPm50dXBsZXMyLCAwLCBlcyk7CisJCQlzaG93X2Jsb29tX2ZpbHRlcl9p bmZvKHBsYW5zdGF0ZSwgYW5jZXN0b3JzLCBlcyk7CiAJCQlzaG93X2luZGV4c2VhcmNoZXNfaW5m byhwbGFuc3RhdGUsIGVzKTsKIAkJCWJyZWFrOwogCQljYXNlIFRfQml0bWFwSW5kZXhTY2FuOgpA QCAtMjAxMiw2ICsyMDE3LDcgQEAgRXhwbGFpbk5vZGUoUGxhblN0YXRlICpwbGFuc3RhdGUsIExp c3QgKmFuY2VzdG9ycywKIAkJCWlmIChwbGFuLT5xdWFsKQogCQkJCXNob3dfaW5zdHJ1bWVudGF0 aW9uX2NvdW50KCJSb3dzIFJlbW92ZWQgYnkgRmlsdGVyIiwgMSwKIAkJCQkJCQkJCQkgICBwbGFu c3RhdGUsIGVzKTsKKwkJCXNob3dfYmxvb21fZmlsdGVyX2luZm8ocGxhbnN0YXRlLCBhbmNlc3Rv cnMsIGVzKTsKIAkJCXNob3dfdGlkYml0bWFwX2luZm8oKEJpdG1hcEhlYXBTY2FuU3RhdGUgKikg cGxhbnN0YXRlLCBlcyk7CiAJCQlzaG93X3NjYW5faW9fdXNhZ2UoKFNjYW5TdGF0ZSAqKSBwbGFu c3RhdGUsIGVzKTsKIAkJCWJyZWFrOwpAQCAtMjAzMCw2ICsyMDM2LDcgQEAgRXhwbGFpbk5vZGUo UGxhblN0YXRlICpwbGFuc3RhdGUsIExpc3QgKmFuY2VzdG9ycywKIAkJCWlmIChwbGFuLT5xdWFs KQogCQkJCXNob3dfaW5zdHJ1bWVudGF0aW9uX2NvdW50KCJSb3dzIFJlbW92ZWQgYnkgRmlsdGVy IiwgMSwKIAkJCQkJCQkJCQkgICBwbGFuc3RhdGUsIGVzKTsKKwkJCXNob3dfYmxvb21fZmlsdGVy X2luZm8ocGxhbnN0YXRlLCBhbmNlc3RvcnMsIGVzKTsKIAkJCWlmIChJc0EocGxhbiwgQ3RlU2Nh bikpCiAJCQkJc2hvd19jdGVzY2FuX2luZm8oY2FzdE5vZGUoQ3RlU2NhblN0YXRlLCBwbGFuc3Rh dGUpLCBlcyk7CiAJCQlzaG93X3NjYW5faW9fdXNhZ2UoKFNjYW5TdGF0ZSAqKSBwbGFuc3RhdGUs IGVzKTsKQEAgLTIxMzIsNiArMjEzOSw3IEBAIEV4cGxhaW5Ob2RlKFBsYW5TdGF0ZSAqcGxhbnN0 YXRlLCBMaXN0ICphbmNlc3RvcnMsCiAJCQkJaWYgKHBsYW4tPnF1YWwpCiAJCQkJCXNob3dfaW5z dHJ1bWVudGF0aW9uX2NvdW50KCJSb3dzIFJlbW92ZWQgYnkgRmlsdGVyIiwgMSwKIAkJCQkJCQkJ CQkJICAgcGxhbnN0YXRlLCBlcyk7CisJCQkJc2hvd19ibG9vbV9maWx0ZXJfaW5mbyhwbGFuc3Rh dGUsIGFuY2VzdG9ycywgZXMpOwogCQkJfQogCQkJYnJlYWs7CiAJCWNhc2UgVF9UaWRSYW5nZVNj YW46CkBAIC0yMTQ5LDYgKzIxNTcsNyBAQCBFeHBsYWluTm9kZShQbGFuU3RhdGUgKnBsYW5zdGF0 ZSwgTGlzdCAqYW5jZXN0b3JzLAogCQkJCWlmIChwbGFuLT5xdWFsKQogCQkJCQlzaG93X2luc3Ry dW1lbnRhdGlvbl9jb3VudCgiUm93cyBSZW1vdmVkIGJ5IEZpbHRlciIsIDEsCiAJCQkJCQkJCQkJ CSAgIHBsYW5zdGF0ZSwgZXMpOworCQkJCXNob3dfYmxvb21fZmlsdGVyX2luZm8ocGxhbnN0YXRl LCBhbmNlc3RvcnMsIGVzKTsKIAkJCQlzaG93X3NjYW5faW9fdXNhZ2UoKFNjYW5TdGF0ZSAqKSBw bGFuc3RhdGUsIGVzKTsKIAkJCX0KIAkJCWJyZWFrOwpAQCAtMjU3OCw2ICsyNTg3LDEyMCBAQCBz aG93X3VwcGVyX3F1YWwoTGlzdCAqcXVhbCwgY29uc3QgY2hhciAqcWxhYmVsLAogCXNob3dfcXVh bChxdWFsLCBxbGFiZWwsIHBsYW5zdGF0ZSwgYW5jZXN0b3JzLCB1c2VwcmVmaXgsIGVzKTsKIH0K IAorLyoKKyAqIHNob3dfYmxvb21fZmlsdGVyX2luZm8KKyAqCQlTaG93IGluZm8gYWJvdXQgZXZl cnkgYmxvb20gZmlsdGVyIHB1c2hlZCBkb3duIHRvIGEgc2NhbiBub2RlLgorICoKKyAqIEluIFRF WFQgZm9ybWF0IGVhY2ggZmlsdGVyIGlzIHJlbmRlcmVkIG9uIGEgc2luZ2xlIGxpbmUsIGUuZy4K KyAqCisgKiAgIEJsb29tIEZpbHRlciBOOiAoYSwgYikgcHJvZHVjZXI9MyBjaGVja2VkPTk5OTk5 IHJlamVjdGVkPTk5OTkwCisgKgorICogVGhlIGNoZWNrZWQvcmVqZWN0ZWQgZmllbGRzIGFyZSBv bWl0dGVkIG91dHNpZGUgb2YgQU5BTFlaRSkuIEluCisgKiBzdHJ1Y3R1cmVkIGZvcm1hdHMgd2Ug ZW1pdCBhIGdyb3VwIHBlciBmaWx0ZXIgd2l0aCB0aGUgc2FtZSBmaWVsZHMKKyAqIGJyb2tlbiBv dXQgYXMgcHJvcGVydGllcy4KKyAqCisgKiBDYWxsZWQgZnJvbSB0aGUgcGVyLXJlY2lwaWVudCBj YXNlcyBpbiBFeHBsYWluTm9kZTsgdGhlIHJlY2lwaWVudCBpcworICogZXhwZWN0ZWQgdG8gYmUg YSBzY2FuIG5vZGUgaW4gdGhlIGN1cnJlbnQgUG9DLCBidXQgbm90aGluZyBoZXJlCisgKiBkZXBl bmRzIG9uIHRoYXQuCisgKi8KK3N0YXRpYyB2b2lkCitzaG93X2Jsb29tX2ZpbHRlcl9pbmZvKFBs YW5TdGF0ZSAqcGxhbnN0YXRlLCBMaXN0ICphbmNlc3RvcnMsCisJCQkJCSAgIEV4cGxhaW5TdGF0 ZSAqZXMpCit7CisJUGxhbgkgICAqcGxhbiA9IHBsYW5zdGF0ZS0+cGxhbjsKKwlMaXN0Q2VsbCAg ICpsYzEsCisJCQkgICAqbGMyOworCUxpc3QJICAgKmRlcGFyc2VfY3h0ID0gTklMOworCWJvb2wJ CXVzZXByZWZpeCA9IGZhbHNlOworCisJaWYgKHBsYW4tPmJsb29tX2ZpbHRlcnMgPT0gTklMKQor CQlyZXR1cm47CisKKwlkZXBhcnNlX2N4dCA9IHNldF9kZXBhcnNlX2NvbnRleHRfcGxhbihlcy0+ ZGVwYXJzZV9jeHQsCisJCQkJCQkJCQkJICAgcGxhbiwgYW5jZXN0b3JzKTsKKwl1c2VwcmVmaXgg PSAoSXNBKHBsYW4sIFN1YnF1ZXJ5U2NhbikgfHwgZXMtPnZlcmJvc2UpOworCisJaWYgKGVzLT5m b3JtYXQgIT0gRVhQTEFJTl9GT1JNQVRfVEVYVCkKKwkJRXhwbGFpbk9wZW5Hcm91cCgiQmxvb20g RmlsdGVycyIsICJCbG9vbSBGaWx0ZXJzIiwgZmFsc2UsIGVzKTsKKworCS8qIHByaW50IGluZm8g YWJvdXQgYWxsIHRoZSBibG9vbSBmaWx0ZXJzICovCisJZm9yYm90aChsYzEsIHBsYW4tPmJsb29t X2ZpbHRlcnMsCisJCQlsYzIsIHBsYW5zdGF0ZS0+Ymxvb21fZmlsdGVycykKKwl7CisJCUJsb29t RmlsdGVyICpiZiA9IGxmaXJzdF9ub2RlKEJsb29tRmlsdGVyLCBsYzEpOworCQlCbG9vbUZpbHRl clN0YXRlICpiZnMgPSAoQmxvb21GaWx0ZXJTdGF0ZSAqKSBsZmlyc3QobGMyKTsKKwkJTGlzdENl bGwgICAqbGM7CisJCVN0cmluZ0luZm9EYXRhIGtleXM7CisJCWJvb2wJCWZpcnN0ID0gdHJ1ZTsK KworCQlpbml0U3RyaW5nSW5mbygma2V5cyk7CisKKwkJLyogZGVwYXJzZSB0aGUgZmlsdGVyIGV4 cHJlc3Npb25zICovCisJCWFwcGVuZFN0cmluZ0luZm9DaGFyKCZrZXlzLCAnKCcpOworCQlmb3Jl YWNoKGxjLCBiZi0+ZmlsdGVyX2V4cHJzKQorCQl7CisJCQljaGFyIAkgICAqa2V5OworCQkJTm9k ZQkgICAqZXhwciA9IChOb2RlICopIGxmaXJzdChsYyk7CisKKwkJCWlmICghZmlyc3QpCisJCQkJ YXBwZW5kU3RyaW5nSW5mb1N0cmluZygma2V5cywgIiwgIik7CisJCQlrZXkgPSBkZXBhcnNlX2V4 cHJlc3Npb24oZXhwciwgZGVwYXJzZV9jeHQsCisJCQkJCQkJCQkgdXNlcHJlZml4LCBmYWxzZSk7 CisJCQlhcHBlbmRTdHJpbmdJbmZvU3RyaW5nKCZrZXlzLCBrZXkpOworCQkJZmlyc3QgPSBmYWxz ZTsKKwkJfQorCQlhcHBlbmRTdHJpbmdJbmZvQ2hhcigma2V5cywgJyknKTsKKworCQlpZiAoZXMt PmZvcm1hdCA9PSBFWFBMQUlOX0ZPUk1BVF9URVhUKQorCQl7CisJCQlTdHJpbmdJbmZvRGF0YQli dWY7CisKKwkJCWluaXRTdHJpbmdJbmZvKCZidWYpOworCisJCQkvKiBzaG93IHRoZSBmaWx0ZXIg SUQgb25seSB3aGVuIHRoZXJlIGFyZSBtb3JlIGZpbHRlcnMgKi8KKwkJCWFwcGVuZFN0cmluZ0lu Zm8oJmJ1ZiwgIkJsb29tIEZpbHRlciAlZDoga2V5cz0lcyIsCisJCQkJCQkJIGJmLT5wcm9kdWNl cl9pZCwga2V5cy5kYXRhKTsKKworCQkJLyogaW5jbHVkZSB0aGUgY291bnRzIG9ubHkgZHVyaW5n IEFOQUxZWkUgKi8KKwkJCWlmIChlcy0+YW5hbHl6ZSAmJiBiZnMgIT0gTlVMTCkKKwkJCXsKKwkJ CQkvKiByZWplY3RlZCBmcmFjdGlvbiAqLworCQkJCWRvdWJsZSBmcmFjID0gMTAwLjAgKiBiZnMt PnJlamVjdGVkIC8gTWF4KDEsIGJmcy0+Y2hlY2tlZCk7CisKKwkJCQlhcHBlbmRTdHJpbmdJbmZv KCZidWYsCisJCQkJCQkJICIgY2hlY2tlZD0iIFVJTlQ2NF9GT1JNQVQKKwkJCQkJCQkgIiByZWpl Y3RlZD0iIFVJTlQ2NF9GT1JNQVQKKwkJCQkJCQkgIiAoJS4xZiUlKSIsCisJCQkJCQkJIGJmcy0+ Y2hlY2tlZCwgYmZzLT5yZWplY3RlZCwgZnJhYyk7CisJCQl9CisKKwkJCUV4cGxhaW5JbmRlbnRU ZXh0KGVzKTsKKwkJCWFwcGVuZFN0cmluZ0luZm9TdHJpbmcoZXMtPnN0ciwgYnVmLmRhdGEpOwor CQkJYXBwZW5kU3RyaW5nSW5mb0NoYXIoZXMtPnN0ciwgJ1xuJyk7CisJCQlwZnJlZShidWYuZGF0 YSk7CisJCX0KKwkJZWxzZQkvKiBub24tdGV4dCBmb3JtYXQgKi8KKwkJeworCQkJRXhwbGFpbk9w ZW5Hcm91cCgiQmxvb20gRmlsdGVyIiwgTlVMTCwgdHJ1ZSwgZXMpOworCQkJRXhwbGFpblByb3Bl cnR5VGV4dCgiS2V5cyIsIGtleXMuZGF0YSwgZXMpOworCQkJRXhwbGFpblByb3BlcnR5SW50ZWdl cigiSUQiLCBOVUxMLCBiZi0+cHJvZHVjZXJfaWQsIGVzKTsKKwkJCWlmIChlcy0+YW5hbHl6ZSAm JiBiZnMgIT0gTlVMTCkKKwkJCXsKKwkJCQlFeHBsYWluUHJvcGVydHlGbG9hdCgiQ2hlY2tlZCIs IE5VTEwsCisJCQkJCQkJCQkgKGRvdWJsZSkgYmZzLT5jaGVja2VkLCAwLCBlcyk7CisJCQkJRXhw bGFpblByb3BlcnR5RmxvYXQoIlJlamVjdGVkIiwgTlVMTCwKKwkJCQkJCQkJCSAoZG91YmxlKSBi ZnMtPnJlamVjdGVkLCAwLCBlcyk7CisJCQl9CisJCQlFeHBsYWluQ2xvc2VHcm91cCgiQmxvb20g RmlsdGVyIiwgTlVMTCwgdHJ1ZSwgZXMpOworCQl9CisKKwkJcGZyZWUoa2V5cy5kYXRhKTsKKwl9 CisKKwlpZiAoZXMtPmZvcm1hdCAhPSBFWFBMQUlOX0ZPUk1BVF9URVhUKQorCQlFeHBsYWluQ2xv c2VHcm91cCgiQmxvb20gRmlsdGVycyIsICJCbG9vbSBGaWx0ZXJzIiwgZmFsc2UsIGVzKTsKK30K KwogLyoKICAqIFNob3cgdGhlIHNvcnQga2V5cyBmb3IgYSBTb3J0IG5vZGUuCiAgKi8KQEAgLTM0 NzQsNiArMzU5Nyw3MiBAQCBzaG93X2hhc2hfaW5mbyhIYXNoU3RhdGUgKmhhc2hzdGF0ZSwgRXhw bGFpblN0YXRlICplcykKIAkJCQkJCQkgc3BhY2VQZWFrS2IpOwogCQl9CiAJfQorCisJLyoKKwkg KiBTaG93IGluZnJvbWF0aW9uIGFib3V0IHRoZSBibG9vbSBmaWx0ZXIgcHJvZHVjZWQgYnkgdGhp cyBIYXNoIG5vZGUKKwkgKiAoaWYgYW55KS4gRm9yIHBsYWluIEVYUExBSU4sIHRoZSBmaWx0ZXIg aXMgbm90IGluaXRpYWxpemVkIC8gYnVpbHQsCisJICogYnV0IHdlIHN0aWxsIHNob3cgYXZhaWxh YmxlIHBsYW4tdGltZSBtZXRhZGF0YSAoYXQgbGVhc3QgdGhlIElEKS4KKwkgKi8KKwlpZiAoaGFz aHN0YXRlLT5ibG9vbV9maWx0ZXJfaWQgPiAwKQorCXsKKwkJaW50CQkJcHJvZHVjZXJfaWQgPSBo YXNoc3RhdGUtPmJsb29tX2ZpbHRlcl9pZDsKKwkJdWludDY0CQluYml0cyA9IDA7CisJCWludAkJ CW5oYXNoZm5zID0gMDsKKwkJdWludDY0CQlieXRlcyA9IDA7CisKKwkJaWYgKGhhc2hzdGF0ZS0+ Ymxvb21fZmlsdGVyICE9IE5VTEwpCisJCXsKKwkJCW5iaXRzID0gYmxvb21fdG90YWxfYml0cyho YXNoc3RhdGUtPmJsb29tX2ZpbHRlcik7CisJCQluaGFzaGZucyA9IGJsb29tX2hhc2hfZnVuY3Mo aGFzaHN0YXRlLT5ibG9vbV9maWx0ZXIpOworCQkJYnl0ZXMgPSBuYml0cyAvIDg7CisJCX0KKwor CQlpZiAoZXMtPmZvcm1hdCA9PSBFWFBMQUlOX0ZPUk1BVF9URVhUKQorCQl7CisJCQlFeHBsYWlu SW5kZW50VGV4dChlcyk7CisJCQlpZiAoaGFzaHN0YXRlLT5ibG9vbV9maWx0ZXIgIT0gTlVMTCkK KwkJCQlhcHBlbmRTdHJpbmdJbmZvKGVzLT5zdHIsCisJCQkJCQkJCSAiQmxvb20gRmlsdGVyICVk OiBiaXRzPSIgVUlOVDY0X0ZPUk1BVAorCQkJCQkJCQkgIiBoYXNoZXM9JWQgbWVtb3J5PSIgVUlO VDY0X0ZPUk1BVCAia0IiCisJCQkJCQkJCSAiIGNoZWNrZWQ9IiBVSU5UNjRfRk9STUFUICIgcmVq ZWN0ZWQ9IiBVSU5UNjRfRk9STUFUICJcbiIsCisJCQkJCQkJCSBwcm9kdWNlcl9pZCwKKwkJCQkJ CQkJIG5iaXRzLAorCQkJCQkJCQkgbmhhc2hmbnMsCisJCQkJCQkJCSBCWVRFU19UT19LSUxPQllU RVMoYnl0ZXMpLAorCQkJCQkJCQkgaGFzaHN0YXRlLT5ibG9vbUZpbHRlckNoZWNrZWQsCisJCQkJ CQkJCSBoYXNoc3RhdGUtPmJsb29tRmlsdGVyUmVqZWN0ZWQpOworCQkJZWxzZSBpZiAoZXMtPmFu YWx5emUpCisJCQkJYXBwZW5kU3RyaW5nSW5mbyhlcy0+c3RyLAorCQkJCQkJCQkgIkJsb29tIEZp bHRlciAlZDogKG5vdCBpbml0aWFsaXplZClcbiIsCisJCQkJCQkJCSBwcm9kdWNlcl9pZCk7CisJ CQllbHNlCisJCQkJYXBwZW5kU3RyaW5nSW5mbyhlcy0+c3RyLAorCQkJCQkJCQkgIkJsb29tIEZp bHRlciAlZFxuIiwKKwkJCQkJCQkJIHByb2R1Y2VyX2lkKTsKKwkJfQorCQllbHNlCisJCXsKKwkJ CS8qIHRoZXJlIGNhbiBiZSBqdXN0IG9uZSBibG9vbSBmaWx0ZXIgcGVyIGZwcm9kdWNlciAoZm9y IG5vdykgKi8KKwkJCUV4cGxhaW5PcGVuR3JvdXAoIkJsb29tIEZpbHRlciIsICJCbG9vbSBGaWx0 ZXIiLCB0cnVlLCBlcyk7CisKKwkJCUV4cGxhaW5Qcm9wZXJ0eUludGVnZXIoIlByb2R1Y2VyIiwg TlVMTCwgcHJvZHVjZXJfaWQsIGVzKTsKKwkJCUV4cGxhaW5Qcm9wZXJ0eUJvb2woIkluaXRpYWxp emVkIiwKKwkJCQkJCQkJKGhhc2hzdGF0ZS0+Ymxvb21fZmlsdGVyICE9IE5VTEwpLCBlcyk7CisK KwkJCWlmIChoYXNoc3RhdGUtPmJsb29tX2ZpbHRlciAhPSBOVUxMKQorCQkJeworCQkJCUV4cGxh aW5Qcm9wZXJ0eVVJbnRlZ2VyKCJCaXRzIiwgTlVMTCwgbmJpdHMsIGVzKTsKKwkJCQlFeHBsYWlu UHJvcGVydHlJbnRlZ2VyKCJIYXNoIEZ1bmN0aW9ucyIsIE5VTEwsIG5oYXNoZm5zLCBlcyk7CisJ CQkJRXhwbGFpblByb3BlcnR5VUludGVnZXIoIk1lbW9yeSBVc2FnZSIsICJrQiIsCisJCQkJCQkJ CQkJQllURVNfVE9fS0lMT0JZVEVTKGJ5dGVzKSwgZXMpOworCQkJCUV4cGxhaW5Qcm9wZXJ0eUZs b2F0KCJDaGVja2VkIiwgTlVMTCwKKwkJCQkJCQkJCSAoZG91YmxlKSBoYXNoc3RhdGUtPmJsb29t RmlsdGVyQ2hlY2tlZCwgMCwgZXMpOworCQkJCUV4cGxhaW5Qcm9wZXJ0eUZsb2F0KCJSZWplY3Rl ZCIsIE5VTEwsCisJCQkJCQkJCQkgKGRvdWJsZSkgaGFzaHN0YXRlLT5ibG9vbUZpbHRlclJlamVj dGVkLCAwLCBlcyk7CisJCQl9CisJCQlFeHBsYWluQ2xvc2VHcm91cCgiQmxvb20gRmlsdGVyIiwg IkJsb29tIEZpbHRlciIsIHRydWUsIGVzKTsKKwkJfQorCX0KIH0KIAogLyoKZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL2V4ZWN1dG9yL2V4ZWNVdGlscy5jIGIvc3JjL2JhY2tlbmQvZXhlY3V0b3Iv ZXhlY1V0aWxzLmMKaW5kZXggMWViNmI5ZjFmNDAuLjNjMzJhNjFkZGRkIDEwMDY0NAotLS0gYS9z cmMvYmFja2VuZC9leGVjdXRvci9leGVjVXRpbHMuYworKysgYi9zcmMvYmFja2VuZC9leGVjdXRv ci9leGVjVXRpbHMuYwpAQCAtMTU5LDYgKzE1OSw4IEBAIENyZWF0ZUV4ZWN1dG9yU3RhdGUodm9p ZCkKIAogCWVzdGF0ZS0+ZXNfYXV4bW9kaWZ5dGFibGVzID0gTklMOwogCisJZXN0YXRlLT5lc19i bG9vbV9wcm9kdWNlcnMgPSBOSUw7CisKIAllc3RhdGUtPmVzX3Blcl90dXBsZV9leHByY29udGV4 dCA9IE5VTEw7CiAKIAllc3RhdGUtPmVzX3NvdXJjZVRleHQgPSBOVUxMOwpkaWZmIC0tZ2l0IGEv c3JjL2JhY2tlbmQvZXhlY3V0b3Ivbm9kZUJpdG1hcEhlYXBzY2FuLmMgYi9zcmMvYmFja2VuZC9l eGVjdXRvci9ub2RlQml0bWFwSGVhcHNjYW4uYwppbmRleCA4M2Q2NDc4YmMyYi4uZTcxYTQ3YjYy MDUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL25vZGVCaXRtYXBIZWFwc2Nhbi5j CisrKyBiL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL25vZGVCaXRtYXBIZWFwc2Nhbi5jCkBAIC00NTYs NiArNDU2LDkgQEAgRXhlY0luaXRCaXRtYXBIZWFwU2NhbihCaXRtYXBIZWFwU2NhbiAqbm9kZSwg RVN0YXRlICplc3RhdGUsIGludCBlZmxhZ3MpCiAJc2NhbnN0YXRlLT5iaXRtYXBxdWFsb3JpZyA9 CiAJCUV4ZWNJbml0UXVhbChub2RlLT5iaXRtYXBxdWFsb3JpZywgKFBsYW5TdGF0ZSAqKSBzY2Fu c3RhdGUpOwogCisJRXhlY0luaXRCbG9vbUZpbHRlcnMoKFBsYW5TdGF0ZSAqKSBzY2Fuc3RhdGUs CisJCQkJCQkgc2NhbnN0YXRlLT5zcy5zc19TY2FuVHVwbGVTbG90KTsKKwogCXNjYW5zdGF0ZS0+ c3Muc3NfY3VycmVudFJlbGF0aW9uID0gY3VycmVudFJlbGF0aW9uOwogCiAJLyoKZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL25vZGVIYXNoLmMgYi9zcmMvYmFja2VuZC9leGVjdXRv ci9ub2RlSGFzaC5jCmluZGV4IDg4MjViYjZmYTIzLi4zNzIyNDMyNGJjZSAxMDA2NDQKLS0tIGEv c3JjL2JhY2tlbmQvZXhlY3V0b3Ivbm9kZUhhc2guYworKysgYi9zcmMvYmFja2VuZC9leGVjdXRv ci9ub2RlSGFzaC5jCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiZXhlY3V0b3IvaW5zdHJ1 bWVudC5oIgogI2luY2x1ZGUgImV4ZWN1dG9yL25vZGVIYXNoLmgiCiAjaW5jbHVkZSAiZXhlY3V0 b3Ivbm9kZUhhc2hqb2luLmgiCisjaW5jbHVkZSAibGliL2Jsb29tZmlsdGVyLmgiCiAjaW5jbHVk ZSAibWlzY2FkbWluLmgiCiAjaW5jbHVkZSAicG9ydC9wZ19iaXR1dGlscy5oIgogI2luY2x1ZGUg InV0aWxzL2xzeXNjYWNoZS5oIgpAQCAtMTg0LDYgKzE4NSwxOCBAQCBNdWx0aUV4ZWNQcml2YXRl SGFzaChIYXNoU3RhdGUgKm5vZGUpCiAJCQl1aW50MzIJCWhhc2h2YWx1ZSA9IERhdHVtR2V0VUlu dDMyKGhhc2hkYXR1bSk7CiAJCQlpbnQJCQlidWNrZXROdW1iZXI7CiAKKwkJCS8qCisJCQkgKiBB ZGQgdGhlIHR1cGxlIHRvIHRoZSBwdXNoZWQtZG93biBibG9vbSBmaWx0ZXIgKGlmIGFueSkuIERv CisJCQkgKiBpdCBoZXJlIChyYXRoZXIgdGhhbiBpbiBFeGVjSGFzaFRhYmxlSW5zZXJ0KSBzbyB0 aGF0IGVhY2gKKwkJCSAqIHR1cGxlIGlzIGFkZGVkIGV4YWN0bHkgb25jZSwgZXZlbiBpZiBpdCBs YXRlciBnZXRzIHNodWZmbGVkCisJCQkgKiBiZXR3ZWVuIGJhdGNoZXMgYnkgRXhlY0hhc2hJbmNy ZWFzZU51bUJhdGNoZXMuIFRoZSBmaWx0ZXIKKwkJCSAqIHdvdWxkIHN0aWxsIHByb2R1Y2UgdGhl IHNhbWUgbWF0Y2hlcywgYnV0IGl0IGNvc3RzIENQVS4KKwkJCSAqLworCQkJaWYgKG5vZGUtPmJs b29tX2ZpbHRlciAhPSBOVUxMKQorCQkJCWJsb29tX2FkZF9lbGVtZW50KG5vZGUtPmJsb29tX2Zp bHRlciwKKwkJCQkJCQkJICAodW5zaWduZWQgY2hhciAqKSAmaGFzaHZhbHVlLAorCQkJCQkJCQkg IHNpemVvZihoYXNodmFsdWUpKTsKKwogCQkJYnVja2V0TnVtYmVyID0gRXhlY0hhc2hHZXRTa2V3 QnVja2V0KGhhc2h0YWJsZSwgaGFzaHZhbHVlKTsKIAkJCWlmIChidWNrZXROdW1iZXIgIT0gSU5W QUxJRF9TS0VXX0JVQ0tFVF9OTykKIAkJCXsKQEAgLTY2NSw2ICs2NzgsNTMgQEAgRXhlY0hhc2hU YWJsZUNyZWF0ZShIYXNoU3RhdGUgKnN0YXRlKQogCQlNZW1vcnlDb250ZXh0U3dpdGNoVG8ob2xk Y3h0KTsKIAl9CiAKKwkvKgorCSAqIElmIHdlIG1hbmFnZWQgdG8gcHVzaCBkb3duIGEgYmxvb20g ZmlsdGVyIHRvIHRoZSBvdXRlciBzaWRlIG9mIHRoZQorCSAqIGhhc2ggam9pbiwgYWxsb2NhdGUg aXQgd2l0aCB0aGUgaGFzaCB0YWJsZS4KKwkgKgorCSAqIFdoZXRoZXIgd2UgYnVpbGQgdGhlIGZp bHRlciBpcyBkZWNpZGVkIGJ5IHRyeV9wdXNoX2Jsb29tX2ZpbHRlciBhdAorCSAqIHBsYW4gdGlt ZS4gSWYgdGhlcmUncyBubyByZWNpcGllbnQgbm9kZSwgb3Igd2hlbiB0aGUgR1VDIGlzIHNldCB0 bworCSAqIG9mZiwgc3RhdGUtPndhbnRfYmxvb21fZmlsdGVyIGlzIGZhbHNlLgorCSAqCisJICog WFhYIFdlIGRvbid0IGRvIHRoaXMgZm9yIHBhcmFsbGVsIGhhc2ggam9pbnMsIHRvIGtlZXAgdGhl IFBvQyBzaW1wbGUuCisJICogVGhlIGZpbHRlciB3b3VsZCBuZWVkIHRvIGxpdmUgaW4gc2hhcmVk IG1lbW9yeSwgYW5kIHRoZSB3b3JrZXJzIHdvdWxkCisJICogbmVlZCB0byBjb29yZGluYXRlIHRv IGJ1aWxkIGl0LiBCdXQgaXQncyBkb2FibGUuCisJICoKKwkgKiBUaGUgZmlsdGVyIGxpdmVzIGlu IHRoZSBIYXNoU3RhdGUsIGluIHRoZSBoYXNoQ3R4IG1lbW9yeSBjb250ZXh0LgorCSAqIFRoYXQg bWVhbnMgaXQgZ2V0cyBkZXN0cm95ZWQgYWxvbmcgd2l0aCB0aGUgaGFzaHRhYmxlLCBhbmQgaXQg Zm9sbG93cworCSAqIHRoZSBzYW1lIGxpZmVjeWNsZSAoZHVyaW5nIHJlc2NhbnMsIGV0Yy4pLgor CSAqCisJICogVGhlIHNpemUgb2YgdGhlIGZpbHRlciBpcyBib3VuZGVkIGJ5IGJvdGggdGhlIGVz dGltYXRlZCBpbm5lciByb3cKKwkgKiBjb3VudCBhbmQgYSBmaXhlZCBmcmFjdGlvbiBvZiB3b3Jr X21lbS4gIGJsb29tX2NyZWF0ZSgpIHdpbGwgcm91bmQKKwkgKiBkb3duIHRvIHRoZSBuZXh0IHBv d2VyLW9mLXR3byBiaXRzZXQgYW5kIGVuZm9yY2VzIGEgMU1CIG1pbmltdW0uCisJICoKKwkgKiBY WFggVGhpcyBtYXkgbmVlZCBtb3JlIHRob3VnaHQuIElmIHdlIGxpbWl0IGJsb29tX3dvcmtfbWVt IHRvbyBtdWNoLAorCSAqIHRoZSBmYWxzZSBwb3NpdGl2ZSByYXRlIHdpbGwgZ2V0IHRvbyBiYWQs IGFuZCB3ZSB3b24ndCBmaWx0ZXIgZW5vdWdoCisJICogdHVwbGVzIGZvciB0aGUgZmlsdGVyIHRv IHBheSBmb3IgaXRzZWxmLiBUaGUgYWRhcHRpdmUgYmVoYXZpb3Igd2lsbAorCSAqIGV2ZW50dWFs bHkgc2tpcCB0aGUgZmlsdGVyLCBidXQgd2UgY291bGQganVzdCBub3QgYnVpbGQgaXQgYXQgYWxs PworCSAqIE9yIGRvIHdlIHdhbnQgdG8gdGFrZSB0aGUgY2hhbmNlLCBzb21ldGltZXM/CisJICov CisJaWYgKHN0YXRlLT53YW50X2Jsb29tX2ZpbHRlcikKKwl7CisJCU1lbW9yeUNvbnRleHQgb2xk Y3R4OworCQlpbnQJCQlibG9vbV93b3JrX21lbTsKKworCQkvKiBvbmx5IHNlcmlhbCBoYXNoam9p bnMgZm9yIG5vdywgaW5pdCBvbmx5IG9uY2UgKi8KKwkJQXNzZXJ0KGhhc2h0YWJsZS0+cGFyYWxs ZWxfc3RhdGUgPT0gTlVMTCk7CisJCUFzc2VydChzdGF0ZS0+Ymxvb21fZmlsdGVyID09IE5VTEwp OworCisJCXN0YXRlLT5ibG9vbUZpbHRlckNoZWNrZWQgPSAwOworCQlzdGF0ZS0+Ymxvb21GaWx0 ZXJSZWplY3RlZCA9IDA7CisKKwkJLyogQ2FwIGJsb29tIGZpbHRlciBhdCB+MS84IG9mIHdvcmtf bWVtLCBidXQgbm90IGxlc3MgdGhhbiAxTUIuICovCisJCWJsb29tX3dvcmtfbWVtID0gTWF4KDEw MjQsIHdvcmtfbWVtIC8gOCk7CisKKwkJb2xkY3R4ID0gTWVtb3J5Q29udGV4dFN3aXRjaFRvKGhh c2h0YWJsZS0+aGFzaEN4dCk7CisJCXN0YXRlLT5ibG9vbV9maWx0ZXIgPSBibG9vbV9jcmVhdGUo KGludDY0KSBNYXgocm93cywgMS4wKSwKKwkJCQkJCQkJCQkgICBibG9vbV93b3JrX21lbSwgMCk7 CisJCU1lbW9yeUNvbnRleHRTd2l0Y2hUbyhvbGRjdHgpOworCX0KKwogCXJldHVybiBoYXNodGFi bGU7CiB9CiAKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL25vZGVIYXNoam9pbi5j IGIvc3JjL2JhY2tlbmQvZXhlY3V0b3Ivbm9kZUhhc2hqb2luLmMKaW5kZXggMGIzNjVkNWI0NzUu LjhmYTdhZjRjZmVmIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9leGVjdXRvci9ub2RlSGFzaGpv aW4uYworKysgYi9zcmMvYmFja2VuZC9leGVjdXRvci9ub2RlSGFzaGpvaW4uYwpAQCAtMTY5LDcg KzE2OSw5IEBACiAjaW5jbHVkZSAiZXhlY3V0b3IvaW5zdHJ1bWVudC5oIgogI2luY2x1ZGUgImV4 ZWN1dG9yL25vZGVIYXNoLmgiCiAjaW5jbHVkZSAiZXhlY3V0b3Ivbm9kZUhhc2hqb2luLmgiCisj aW5jbHVkZSAibGliL2Jsb29tZmlsdGVyLmgiCiAjaW5jbHVkZSAibWlzY2FkbWluLmgiCisjaW5j bHVkZSAicG9ydC9wZ19iaXR1dGlscy5oIgogI2luY2x1ZGUgInV0aWxzL2xzeXNjYWNoZS5oIgog I2luY2x1ZGUgInV0aWxzL3NoYXJlZHR1cGxlc3RvcmUuaCIKICNpbmNsdWRlICJ1dGlscy90dXBs ZXN0b3JlLmgiCkBAIC04MzQsNiArODM2LDcgQEAgSGFzaEpvaW5TdGF0ZSAqCiBFeGVjSW5pdEhh c2hKb2luKEhhc2hKb2luICpub2RlLCBFU3RhdGUgKmVzdGF0ZSwgaW50IGVmbGFncykKIHsKIAlI YXNoSm9pblN0YXRlICpoanN0YXRlOworCUhhc2hTdGF0ZSAgKmhhc2hTdGF0ZTsKIAlQbGFuCSAg ICpvdXRlck5vZGU7CiAJSGFzaAkgICAqaGFzaE5vZGU7CiAJVHVwbGVEZXNjCW91dGVyRGVzYywK QEAgLTg3NSwxMSArODc4LDM3IEBAIEV4ZWNJbml0SGFzaEpvaW4oSGFzaEpvaW4gKm5vZGUsIEVT dGF0ZSAqZXN0YXRlLCBpbnQgZWZsYWdzKQogCW91dGVyTm9kZSA9IG91dGVyUGxhbihub2RlKTsK IAloYXNoTm9kZSA9IChIYXNoICopIGlubmVyUGxhbihub2RlKTsKIAorCS8qCisJICogUmVnaXN0 ZXIgb3Vyc2VsdmVzIGFzIGEgYmxvb20tZmlsdGVyIHByb2R1Y2VyIGluIHRoZSBFU3RhdGUgYmVm b3JlCisJICogcmVjdXJzaW5nIGludG8gdGhlIG91dGVyIHN1YnRyZWUsIHNvIHRoZSBzY2FuIG5v ZGUgKHdlIHB1c2hlZCB0aGUKKwkgKiBmaWx0ZXIgdG8pIGNhbiBmaW5kIHVzLiBXZSBkbyB0aGlz IG9ubHkgaWYgd2UgYWN0dWFsbHkgbWFuYWdlZCB0bworCSAqIHB1c2ggZG93biB0aGUgZmlsdGVy IHRvIGEgc2NhbiBub2RlLgorCSAqLworCWlmIChub2RlLT5ibG9vbV9jb25zdW1lcl9jb3VudCA+ IDApCisJCUV4ZWNSZWdpc3RlckJsb29tRmlsdGVyUHJvZHVjZXIoaGpzdGF0ZSk7CisKIAlvdXRl clBsYW5TdGF0ZShoanN0YXRlKSA9IEV4ZWNJbml0Tm9kZShvdXRlck5vZGUsIGVzdGF0ZSwgZWZs YWdzKTsKIAlvdXRlckRlc2MgPSBFeGVjR2V0UmVzdWx0VHlwZShvdXRlclBsYW5TdGF0ZShoanN0 YXRlKSk7CiAJaW5uZXJQbGFuU3RhdGUoaGpzdGF0ZSkgPSBFeGVjSW5pdE5vZGUoKFBsYW4gKikg aGFzaE5vZGUsIGVzdGF0ZSwgZWZsYWdzKTsKIAlpbm5lckRlc2MgPSBFeGVjR2V0UmVzdWx0VHlw ZShpbm5lclBsYW5TdGF0ZShoanN0YXRlKSk7CiAKKwkvKgorCSAqIFRlbGwgdGhlIEhhc2ggY2hp bGQgdG8gYWN0dWFsbHkgYnVpbGQgdGhlIGJsb29tIGZpbHRlciwgYW5kIHRoZQorCSAqIElEIGFz c2lnbmVkIHRvIHRoZSBmaWx0ZXIuCisJICoKKwkgKiBYWFggU2VlbXMgYSBiaXQgdWdseSB0byBt YW5pcHVsYXRlIHRoZSBpbm5lciBwbGFuIHN0YXRlIGxpa2UgdGhpcy4KKwkgKiBTdXJlbHkgdGhl cmUncyBhIGJldHRlciB3YXkuIE9UT0ggdGhlIHR3byBub2RlcyBhcmUgcHJldHR5IHRpZ2h0bHkK KwkgKiBjb3VwbGVkIGFscmVhZHksIHNvIG1heWJlIGl0J3MgZmluZS4KKwkgKgorCSAqIFhYWCBB bHNvLCB0aGlzIGFzc3VtZXMgdGhlIGhhc2ggdGFibGUgaXMgbm90IGJ1aWx0IGJ5IEV4ZWNJbml0 Tm9kZSgpLAorCSAqIHdoaWNoIGlzIHRydWUgZm9yIG5vdy4gQnV0IG1heWJlIHdlIHdpbGwgcmVs YXggdGhhdCBpbiB0aGUgZnV0dXJlCisJICogKGUuZy4gc28gdGhhdCB0aGUgc2NhbiBjYW4gcHVz aCB0aGUgZmlsdGVyIHRvIHN0b3JhZ2UgLyB0byByZW1vdGUgRkRXCisJICogbm9kZSAvIC4uLik/ CisJICovCisJaGFzaFN0YXRlID0gY2FzdE5vZGUoSGFzaFN0YXRlLCBpbm5lclBsYW5TdGF0ZSho anN0YXRlKSk7CisJaGFzaFN0YXRlLT53YW50X2Jsb29tX2ZpbHRlciA9IChub2RlLT5ibG9vbV9j b25zdW1lcl9jb3VudCA+IDApOworCWhhc2hTdGF0ZS0+Ymxvb21fZmlsdGVyX2lkID0gbm9kZS0+ Ymxvb21fZmlsdGVyX2lkOworCiAJLyoKIAkgKiBJbml0aWFsaXplIHJlc3VsdCBzbG90LCB0eXBl IGFuZCBwcm9qZWN0aW9uLgogCSAqLwpAQCAtMTA4MCwxMSArMTEwOSwxNSBAQCBFeGVjRW5kSGFz aEpvaW4oSGFzaEpvaW5TdGF0ZSAqbm9kZSkKIAogCS8qCiAJICogRnJlZSBoYXNoIHRhYmxlCisJ ICoKKwkgKiBDbGVhciB0aGUgYmxvb21fZmlsdGVyIHBvaW50ZXIuIEl0IGxpdmVzIGluIGhhc2hD eHQsIHNvIGl0IGdldHMgZnJlZWQgYnkKKwkgKiB0aGUgRXhlY0hhc2hUYWJsZURlc3Ryb3kgY2Fs bC4KIAkgKi8KIAlpZiAobm9kZS0+aGpfSGFzaFRhYmxlKQogCXsKIAkJRXhlY0hhc2hUYWJsZURl c3Ryb3kobm9kZS0+aGpfSGFzaFRhYmxlKTsKIAkJbm9kZS0+aGpfSGFzaFRhYmxlID0gTlVMTDsK KwkJaGFzaE5vZGUtPmJsb29tX2ZpbHRlciA9IE5VTEw7CiAJfQogCiAJLyoKQEAgLTE3MzcsNiAr MTc3MCwxMiBAQCBFeGVjUmVTY2FuSGFzaEpvaW4oSGFzaEpvaW5TdGF0ZSAqbm9kZSkKIAkJCW5v ZGUtPmhqX0hhc2hUYWJsZSA9IE5VTEw7CiAJCQlub2RlLT5oal9Kb2luU3RhdGUgPSBISl9CVUlM RF9IQVNIVEFCTEU7CiAKKwkJCS8qCisJCQkgKiBDbGVhciB0aGUgYmxvb21fZmlsdGVyIHBvaW50 ZXIuIEl0IGxpdmVzIGluIGhhc2hDeHQsIHNvIGl0IGdldHMKKwkJCSAqIGZyZWVkIGJ5IHRoZSBF eGVjSGFzaFRhYmxlRGVzdHJveSBjYWxsLgorCQkJICovCisJCQloYXNoTm9kZS0+Ymxvb21fZmls dGVyID0gTlVMTDsKKwogCQkJLyoKIAkJCSAqIGlmIGNoZ1BhcmFtIG9mIHN1Ym5vZGUgaXMgbm90 IG51bGwgdGhlbiBwbGFuIHdpbGwgYmUgcmUtc2Nhbm5lZAogCQkJICogYnkgZmlyc3QgRXhlY1By b2NOb2RlLgpAQCAtMTk3NSwzICsyMDE0LDQxOSBAQCBFeGVjSGFzaEpvaW5Jbml0aWFsaXplV29y a2VyKEhhc2hKb2luU3RhdGUgKnN0YXRlLAogCiAJRXhlY1NldEV4ZWNQcm9jTm9kZSgmc3RhdGUt PmpzLnBzLCBFeGVjUGFyYWxsZWxIYXNoSm9pbik7CiB9CisKKy8qCisgKiBCTE9PTSBGSUxURVIg UFVTSERPV04KKyAqCisgKiBUaGUgcHVzaGRvd24gZGVjaXNpb24gaXMgZG9uZSBpbiB0cnlfcHVz aF9ibG9vbV9maWx0ZXIsIHdoZW4gY29uc3RydWN0aW5nCisgKiB0aGUgcGxhbiBmcm9tIHRoZSBz ZWxlY3RlZCBwYXRocyAoc2VlIGNyZWF0ZXBsYW4uYykuIEl0IGRlY2lkZXMgd2hpY2ggc2Nhbgor ICogbm9kZSBzaG91bGQgcmVjZWl2ZSB0aGUgYmxvb20gZmlsdGVyIChpZiBhbnkpLCBhbmQgd2hh dCBleHByZXNzaW9ucyBpdAorICogc2hvdWxkIHVzZSB0byBjYWxjdWxhdGUgdGhlIGhhc2ggdmFs dWUuCisgKgorICogVGhlbiBhdCBleGVjdXRpb24gdGltZToKKyAqCisgKiAgIC0gRXhlY0luaXRI YXNoSm9pbiByZWdpc3RlcnMgaXRzZWxmIGluIEVTdGF0ZS5lc19ibG9vbV9wcm9kdWNlcnMKKyAq ICAgICBiZWZvcmUgcmVjdXJzaW5nIGludG8gY2hpbGQgcGxhbnMsIHNvIGJ5IHRoZSB0aW1lIGEg cmVjaXBpZW50J3MKKyAqICAgICBFeGVjSW5pdCBydW5zLCB0aGUgcHJvZHVjZXIgaXMgYWxyZWFk eSBkaXNjb3ZlcmFibGUgYnkgcGxhbl9ub2RlX2lkLgorICogICAgIFRoaXMgcmVnaXN0cmF0aW9u IG9ubHkgaGFwcGVucyB3aGVuIHRoZXJlJ3MgYXQgbGVhc3Qgb25lIGNvbnN1bWVyLgorICogICAg IEl0IGFsc28gc2V0cyB3YW50X2Jsb29tX2ZpbHRlciBmb3IgdGhlIEhhc2ggbm9kZS4KKyAqCisg KiAgIC0gRXhlY0hhc2hUYWJsZUNyZWF0ZSAoaW4gbm9kZUhhc2guYykgYnVpbGRzIHRoZSBhY3R1 YWwgYmxvb21fZmlsdGVyCisgKiAgICAgd2hlbiBIYXNoU3RhdGUud2FudF9ibG9vbV9maWx0ZXIg aXMgc2V0IChzbyBubyB3b3JrIGhhcHBlbnMgd2hlbgorICogICAgIG5vYm9keSB3aWxsIHByb2Jl KS4KKyAqCisgKiAgIC0gTm9kZXMgd2l0aCBub24tTklMIHBsYW4tPmJsb29tX2ZpbHRlcnMgKGFu ZCBzdXBwb3J0aW5nIGJsb29tCisgKiAgICAgZmlsdGVycykgY2FsbCBFeGVjSW5pdEJsb29tRmls dGVycygpIGR1cmluZyBpdHMgb3duIEV4ZWNJbml0LAorICogICAgIHdoaWNoIGxvb2tzIHVwIHRo ZSBwcm9kdWNlciBub2RlIChpbiB0aGUgRVN0YXRlKSwgY29tcGlsZXMKKyAqICAgICBFeHByU3Rh dGVzIGZvciB0aGUgaGFzaCBleHByZXNzaW9ucywgZXRjLiBUaGUgZmlsdGVyIHN0YXRlCisgKiAg ICAgKEJsb29tRmlsdGVyU3RhdGUpIGdldHMgYWRkZWQgdG8gcHMtPmJsb29tX2ZpbHRlcnMgKGEg bm9kZSBtYXkKKyAqICAgICBoYXZlIG11bHRpcGxlIGJsb29tIGZpbHRlcnMgZnJvbSBkaWZmZXJl bnQgaGFzaCBqb2lucykuCisgKgorICogICAtIFRoZSBwZXItdHVwbGUgbG9vcCBvZiB0aGUgc2Nh biBub2RlIGNhbGxzIEV4ZWNCbG9vbUZpbHRlcnMoKSAobXVjaAorICogICAgIGxpa2UgRXhlY1F1 YWwpIHRvIHRlc3QgdGhlIHR1cGxlIGFnYWluc3QgZXZlcnkgYXR0YWNoZWQgZmlsdGVyLAorICog ICAgIGRyb3BwaW5nIGl0IG9uIHRoZSBmaXJzdCBmaWx0ZXIgdGhhdCBleGNsdWRlcyBpdC4gRm9y IHNjYW4gbm9kZXMKKyAqICAgICB0aGlzIGNhbGwgaGFwcGVucyBpbiBFeGVjU2NhbkV4dGVuZGVk LgorICoKKyAqIFRoZSBzY2FuIG5vZGVzIHJlYWNoIHRoZSBibG9vbSBmaWx0ZXIgdmlhIHRoZSBI YXNoSm9pblN0YXRlIHBvaW50ZXIKKyAqIGFkZGVkIHRvIEVTdGF0ZS5lc19ibG9vbV9wcm9kdWNl cnMsIHNvIHRoYXQgdGhlIHJlc2NhbnMgZXRjLiAoZmlsdGVyCisgKiBmcmVlZCArIHJlY3JlYXRl ZCB3aGVuIHRoZSBoYXNoIHRhYmxlIGlzIGRlc3Ryb3llZCBhbmQgcmVidWlsdCkgYXJlCisgKiB0 cmFuc3BhcmVudCB0byB0aGUgY29uc3VtZXIuIFRoZSBibG9vbSBmaWx0ZXIgZ2V0cyByZWFsbG9j YXRlZCBhZnRlcgorICogYSByZXNjYW4sIHNvIHRoZSBwb2ludGVyIHRvIGl0IG1heSBjaGFuZ2Uu CisgKgorICogWFhYIEl0J3MgcG9zc2libGUgdGhlIGJsb29tIGZpbHRlciBnZXRzIHB1c2hlZCBk b3duIHRvIGEgbm9kZSB0aGF0CisgKiBmYWlscyB0byBpbml0aWFsaXplL3VzZSBpdC4gSXQnbGwg YmUgYWRkZWQgdG8gdGhlIGJsb29tX2ZpbHRlcnMgbGlzdCwKKyAqIGJ1dCBpZiB0aGUgbm9kZSBk b2VzIG5vdCBjYWxsIEV4ZWNJbml0Qmxvb21GaWx0ZXJzLCB0aGUgZmlsdGVyIHdpbGwKKyAqIGJl IHVudXNlZC4KKyAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqLworCisvKgorICogTG9va3VwIHRoZSBIYXNoSm9pblN0 YXRlIGZvciBhIHByb2R1Y2VyIGJ5IHBsYW5fbm9kZV9pZCBpbiB0aGUKKyAqIEVTdGF0ZSdzIGVz X2Jsb29tX3Byb2R1Y2VycyBsaXN0LiAgUmV0dXJucyBOVUxMIGlmIG5vIG1hdGNoaW5nCisgKiBw cm9kdWNlciBoYXMgcmVnaXN0ZXJlZCB5ZXQgKHdoaWNoIGNhbiBoYXBwZW4gZm9yIGZpbHRlcnMg YXR0YWNoZWQgdG8KKyAqIHJlY2lwaWVudHMgaW4gdHJlZXMgd2hlcmUgdGhlIHByb2R1Y2VyIGhh c24ndCBFeGVjSW5pdCdkIHlldCAtLSBpbgorICogbm9ybWFsIGV4ZWN1dGlvbiB3ZSBhbHdheXMg cmVnaXN0ZXIgZmlyc3QpLgorICovCitzdGF0aWMgSGFzaEpvaW5TdGF0ZSAqCitMb29rdXBCbG9v bUZpbHRlclByb2R1Y2VyKEVTdGF0ZSAqZXN0YXRlLCBpbnQgYmxvb21fZmlsdGVyX2lkKQorewor CUxpc3RDZWxsICAgKmxjOworCisJZm9yZWFjaChsYywgZXN0YXRlLT5lc19ibG9vbV9wcm9kdWNl cnMpCisJeworCQlIYXNoSm9pblN0YXRlICpoanN0YXRlID0gKEhhc2hKb2luU3RhdGUgKikgbGZp cnN0KGxjKTsKKwkJSGFzaEpvaW4gICAqcGxhbiA9IChIYXNoSm9pbiAqKSBoanN0YXRlLT5qcy5w cy5wbGFuOworCisJCWlmIChwbGFuLT5ibG9vbV9maWx0ZXJfaWQgPT0gYmxvb21fZmlsdGVyX2lk KQorCQkJcmV0dXJuIGhqc3RhdGU7CisJfQorCXJldHVybiBOVUxMOworfQorCisvKgorICogRXhl Y0Jsb29tRmlsdGVySGFzaAorICoJCUNhbGN1bGF0ZSB0aGUgaGFzaCB2YWx1ZSBmb3IgYSB0dXBs ZSBpbiB0aGUgcmVjaXBpZW50IG5vZGUuCisgKgorICogVXNlcyB0aGUgcGVyLWtleSBFeHByU3Rh dGVzIGluaXRpYWxpemVkIGJ5IEV4ZWNJbml0Qmxvb21GaWx0ZXJzLiBNaXJyb3JzIHRoZQorICog c2NoZW1lIHVzZWQgYnkgdGhlIEhhc2ggbm9kZSwgc28gdGhhdCBpdCBtYXRjaGVzIHdoYXQgd2Fz IGluc2VydGVkIGludG8gdGhlCisgKiBoYXNodGFibGUgKGFuZCBmaWx0ZXIpLgorICoKKyAqIFJl dHVybnMgZmFsc2UgaWYgYSBzdHJpY3Qga2V5IGlzIE5VTEw6IHN1Y2ggYSB0dXBsZSBjYW4ndCBt YXRjaCBhbnl0aGluZyBpbgorICogdGhlIGJsb29tIGZpbHRlciwgYnV0IHdlIHN0aWxsIG11c3Qg bGV0IGl0IHBhc3MgdGhyb3VnaCB0byB0aGUgdXBzdHJlYW0gam9pbgorICogc28gdGhlIGpvaW4g KHJhdGhlciB0aGFuIHVzKSBkZWNpZGVzIHdoYXQgdG8gZG8gd2l0aCBpdCAoZS5nLiBlbWl0Cisg KiBOVUxMLWV4dGVuZGVkIGZvciBhbiBvdXRlciBqb2luKS4KKyAqCisgKiBYWFggSSdtIG5vdCBz dXJlIGFib3V0IHRoaXMgc3RyaWN0L05VTEwgYnVzaW5lc3MuCisgKi8KK3N0YXRpYyBpbmxpbmUg Ym9vbAorRXhlY0Jsb29tRmlsdGVySGFzaChCbG9vbUZpbHRlclN0YXRlICpiZnMsIEV4cHJDb250 ZXh0ICplY29udGV4dCwKKwkJCQkJdWludDMyICpoYXNodmFsdWUpCit7CisJYm9vbAlpc251bGw7 CisJdWludDMyCWhhc2g7CisKKwloYXNoID0gRGF0dW1HZXRVSW50MzIoRXhlY0V2YWxFeHByKGJm cy0+a2V5cywgZWNvbnRleHQsICZpc251bGwpKTsKKworCWlmIChpc251bGwpCisJCXJldHVybiAw OwkvKiBYWFggY29ycmVjdD8gZG8gd2UgY2FyZSBhYm91dCBOVUxMIHZhbHVlcz8qLworCisJKmhh c2h2YWx1ZSA9IGhhc2g7CisJcmV0dXJuIHRydWU7Cit9CisKKy8qCisgKiBBREFQVElWRSBCRUhB VklPUgorICoKKyAqIElmIHRoZSBibG9vbSBmaWx0ZXIgbGV0cyB0aHJvdWdoIG1vc3QgKG9yIGFs bCkgdHVwbGVzLCBpdCBiZWNvbWVzIHNvbWV3aGF0CisgKiB1c2VsZXNzIC0gd2UncmUganVzdCB3 YXN0aW5nIENQVSBjeWNsZXMsIGdldHRpbmcgbm90aGluZyBpbiByZXR1cm4uIFdlIGNvdWxkCisg KiBzaW1wbHkgc3RvcCB1c2luZyBzdWNoIGZpbHRlci4gQnV0IHdlJ3ZlIGFscmVhZHkgcGFpZCBx dWl0ZSBhIGJpdCB0byBidWlsZAorICogaXQsIGFuZCBtYXliZSB0aGUgZGF0YSBzZXQgaXMgbm90 IHVuaWZvcm0gYW5kIHdlJ2xsIGdldCBpbnRvIGEgcGFydCB3aGVyZQorICogZmV3ZXIgdHVwbGVz IHBhc3MuCisgKgorICogU28gd2UncmUgZXZhbHVhdGluZyB0aGUgbWF0Y2ggcmF0ZSBmb3Igd2lu ZG93cyBvZiAxMDAwIHByb2Jlcy4gSWYgbW9yZSB0aGFuCisgKiA5MCUgbWF0Y2gsIHdlIHN0YXJ0 IHNhbXBsaW5nIDElIG9mIHRoZSBwcm9iZXMgKGkuZS4gOTklIGl0IHRyZWF0ZWQgYXMgYQorICog bWF0Y2ggd2l0aG91dCBsb29raW5nIGF0IHRoZSBmaWx0ZXIpLiBBbmQgaWYgdGhlIG1hdGNoIHJh dGUgZHJvcHMgYmVsb3cgODAlLAorICogd2Ugc3RvcCB0aGUgc2FtcGxpbmcgYW5kIGFsbCBwcm9i ZXMgZ28gdG8gdGhlIGZpbHRlci4KKyAqCisgKiBYWFggVGhlc2UgYXJlIGVtcGlyaWNhbCB2YWx1 ZXMsIHBpY2tlZCBiYXNlZCBvbiBleHBlcmltZW50cy4gIlBlcmZlY3QiCisgKiB2YWx1ZXMgZGVw ZW5kIG9uIGhhcmR3YXJlLCBudW1iZXIgb2Yga2V5cywgZGF0YSB0eXBlcywgLi4uIGFuZCBtYXli ZSBldmVuCisgKiBvbiBob3cgbWFueSBoYXNoIGpvaW5zIC8gcHVzaGVkLWRvd24gZmlsdGVycyB0 aGVyZSBhcmUsIGFuZCBob3cgZGVlcCAodGhlCisgKiBkZWVwZXIgdGhlIGJpZ2dlciB0aGUgYmVu ZWZpdCkuCisgKgorICogWFhYIE1heWJlIHdlIHNob3VsZCBzYW1wbGUgbW9yZSBwcm9iZXMsIG9y IG1heWJlIHRoZSB3aW5kb3cgc2hvdWxkIGJlIGEgYml0CisgKiBzbWFsbGVyPyBXaXRoIDElIGFu ZCAxMDAwIHByb2JlcyBwZXIgd2luZG93LCBpdCdsbCB0YWtlIDEwMGsgcHJvYmVzIHRvCisgKiBl bmFibGUgdGhlIGZpbHRlciBhZ2Fpbi4gVGhhdCBzZWVtcyBsaWtlIGEgbG90LgorICoKKyAqIFhY WCBXZSBzaG91bGQgcHJvYmFibHkgdHJhY2sgdGhlIG51bWJlciBvZiB0aW1lcyB3ZSAiZGlzYWJs ZWQiIHRoZSBmaWx0ZXIsCisgKiBhbmQgd2hhdCBmcmFjdGlvbiBvZiBlbnRyaWVzIHdlcmUgImxl dCB0aHJvdWdoIiBkdXJpbmcgc2FtcGxpbmcgcGVyaW9kcy4KKyAqCisgKiBYWFggVGhlcmUncyBh biBpbnRlbnRpb25hbCBnYXAgYmV0d2VlbiBsb3cvaGlnaCB0aHJlc2hvbGRzLCB0byBhZGQgYSBi aXQKKyAqIG9mIGh5c3RlcmVzaXMgaW50byB0aGUgYmVoYXZpb3IsIHNvIGl0IGRvZXMgbm90IGZs YXAgYWxsIHRoZSB0aW1lLgorICovCisjZGVmaW5lIEJMT09NX0FEQVBUSVZFX1dJTkRPV19TSVpF CQkJMTAwMAorI2RlZmluZSBCTE9PTV9BREFQVElWRV9ISUdIX01BVENIX1BFUkNFTlQJOTAKKyNk ZWZpbmUgQkxPT01fQURBUFRJVkVfTE9XX01BVENIX1BFUkNFTlQJODAKKyNkZWZpbmUgQkxPT01f QURBUFRJVkVfU0FNUExFX1JBVEUJCQkxMDAKKworLyoKKyAqIEV4ZWNCbG9vbUZpbHRlclNob3Vs ZFByb2JlCisgKgkJRGVjaWRlIGlmIHRoZSBuZXh0IHR1cGxlIHNob3VsZCBwcm9iZSB0aGUgYmxv b20gZmlsdGVyLgorICoKKyAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgbmV4dCB2YWx1ZSBzaG91bGQg YWN0dWFsbHkgcHJvYmUgdGhlIGJsb29tIGZpbHRlcgorICogV2Ugc2FtcGxlIDEvMTAwICgxL0JM T09NX0FEQVBUSVZFX1NBTVBMRV9SQVRFKSBwcm9iZXMsIGkuZS4gMSUuCisgKi8KK3N0YXRpYyBp bmxpbmUgYm9vbAorRXhlY0Jsb29tRmlsdGVyU2hvdWxkUHJvYmUoQmxvb21GaWx0ZXJTdGF0ZSAq YmZzKQoreworCWlmICghYmZzLT5hZGFwdGl2ZVNhbXBsaW5nKQorCQlyZXR1cm4gdHJ1ZTsKKwor CWJmcy0+YWRhcHRpdmVTYW1wbGVDb3VudGVyKys7CisKKwlpZiAoYmZzLT5hZGFwdGl2ZVNhbXBs ZUNvdW50ZXIgPj0gQkxPT01fQURBUFRJVkVfU0FNUExFX1JBVEUpCisJeworCQliZnMtPmFkYXB0 aXZlU2FtcGxlQ291bnRlciA9IDA7CisJCXJldHVybiB0cnVlOworCX0KKworCXJldHVybiBmYWxz ZTsKK30KKworLyoKKyAqIEV4ZWNCbG9vbUZpbHRlclVwZGF0ZUFkYXB0aXZlU3RhdGUKKyAqCQlV cGRhdGUgdGhlIGFkYXB0aXZlIHN0YXRlIGZvciBzYW1wbGluZyB0aGUgcHJvYmVzLgorICoKKyAq IEFkanVzdCB0aGUgYWRhcHRpdmUgYmVoYXZpb3IgZXZlcnkgMTAwMCBwcm9iZXMuIElmIHRvbyBt YW55IHByb2JlcyBtYXRjaCwKKyAqIHN0b3AgdXNpbmcgdGhlIGZpbHRlciAoYW5kIGp1c3Qgc2Ft cGxlIDElIG9mIHByb2JlcyBpbnN0ZWFkKS4gSWYgd2Ugd2VyZQorICogc2FtcGxpbmcsIGFuZCB0 aGUgZnJhY3Rpb24gb2YgbWF0Y2hlcyBkcm9wcyBlbm91Z2gsIHN0b3AgdGhlIHNhbXBsaW5nLgor ICovCitzdGF0aWMgaW5saW5lIHZvaWQKK0V4ZWNCbG9vbUZpbHRlclVwZGF0ZUFkYXB0aXZlU3Rh dGUoQmxvb21GaWx0ZXJTdGF0ZSAqYmZzLCBib29sIG1hdGNoKQoreworCWJmcy0+YWRhcHRpdmVX aW5kb3dQcm9iZXMrKzsKKwlpZiAobWF0Y2gpCisJCWJmcy0+YWRhcHRpdmVXaW5kb3dNYXRjaGVz Kys7CisKKwkvKiBoYXZlIHdlIGRvbmUgZW5vdWdoIHByb2JlcyBpbiB0aGlzIHdpbmRvdz8gKi8K KwlpZiAoYmZzLT5hZGFwdGl2ZVdpbmRvd1Byb2JlcyA+PSBCTE9PTV9BREFQVElWRV9XSU5ET1df U0laRSkKKwl7CisJCXVpbnQ2NAkJbWF0Y2hfcGVyY2VudDsKKworCQkvKiBmcmFjdGlvbiBvZiBt YXRjaGVzICovCisJCW1hdGNoX3BlcmNlbnQgPSAoYmZzLT5hZGFwdGl2ZVdpbmRvd01hdGNoZXMg KiAxMDApIC8KKwkJCWJmcy0+YWRhcHRpdmVXaW5kb3dQcm9iZXM7CisKKwkJaWYgKCFiZnMtPmFk YXB0aXZlU2FtcGxpbmcgJiYKKwkJCW1hdGNoX3BlcmNlbnQgPiBCTE9PTV9BREFQVElWRV9ISUdI X01BVENIX1BFUkNFTlQpCisJCXsKKwkJCS8qIFRvbyBtYW55IG1hdGNoZXMgLSBzdGFydCBzYW1w bGluZy4gKi8KKwkJCWJmcy0+YWRhcHRpdmVTYW1wbGluZyA9IHRydWU7CisJCQliZnMtPmFkYXB0 aXZlU2FtcGxlQ291bnRlciA9IDA7CisJCX0KKwkJZWxzZSBpZiAoYmZzLT5hZGFwdGl2ZVNhbXBs aW5nICYmCisJCQkJIG1hdGNoX3BlcmNlbnQgPCBCTE9PTV9BREFQVElWRV9MT1dfTUFUQ0hfUEVS Q0VOVCkKKwkJeworCQkJLyogU3RvcCBzYW1wbGluZyBpZiB0aGUgbWF0Y2ggZnJhY3Rpb24gZ290 IGxvdyBlbm91Z2guICovCisJCQliZnMtPmFkYXB0aXZlU2FtcGxpbmcgPSBmYWxzZTsKKwkJCWJm cy0+YWRhcHRpdmVTYW1wbGVDb3VudGVyID0gMDsKKwkJfQorCisJCS8qIGluIGFueSBjYXNlLCBz dGFydCBhIG5ldyB3aW5kb3cgb2YgcHJvYmVzICovCisJCWJmcy0+YWRhcHRpdmVXaW5kb3dQcm9i ZXMgPSAwOworCQliZnMtPmFkYXB0aXZlV2luZG93TWF0Y2hlcyA9IDA7CisJfQorfQorCisvKgor ICogRXhlY0Jsb29tRmlsdGVycworICoJCVByb2JlIGJsb29tIGZpbHRlcnMgZm9yIHRoZSBjdXJy ZW50IHNsb3QuCisgKgorICogVGVzdCB0aGUgc2xvdCBpbiB0aGUgZXhwcmVzc2lvbiBjb250ZXh0 IChzZXQgYnkgdGhlIHNjYW4gbm9kZSkgYWdhaW5zdAorICogZXZlcnkgYmxvb20gZmlsdGVyIGF0 dGFjaGVkIHRvIHRoZSBub2RlLiBSZXR1cm5zIHRydWUgaWYgdGhlIHR1cGxlIG1hdGNoZXMKKyAq IGFsbCBmaWx0ZXJzIChzb21lIG9mIHdoaWNoIG1heSBoYXZlIGJlZW4gc2tpcHBlZCwgYmVjYXVz ZSB0aGUgaGFzaCB0YWJsZQorICogaXNuJ3QgYnVpbHQgeWV0KTsgZmFsc2UgaWYgYXQgbGVhc3Qg b25lIGZpbHRlciBjb25jbHVzaXZlbHkgZXhjbHVkZXMgaXQuCisgKgorICogJ2ZpbHRlcnMnIGlz IGEgbGlzdCBvZiBCbG9vbUZpbHRlclN0YXRlIGZvciBlYWNoIGZpbHRlciwgcHVzaGVkIHRvIHRo ZQorICogbm9kZSAoc3RvcmVkIGluIHBsYW5zdGF0ZS0+Ymxvb21fZmlsdGVycykuIEl0IG1heSBi ZSBOSUwsIHdoaWNoIG1lYW5zCisgKiBhcmUgbm8gZmlsdGVycywgYW5kIHRoZSBmdW5jdGlvbiBz aW1wbHkgcmV0dXJucyBOVUxMLgorICoKKyAqIFRoZSBjYWxsZXIgaXMgcmVzcG9uc2libGUgZm9y IGhhdmluZyBzZXQgZWNvbnRleHQtPmVjeHRfc2NhbnR1cGxlIHRvCisgKiAnc2xvdCcgZmlyc3Qu IFdlIGRvIG5vdCByZXNldCB0aGUgcGVyLXR1cGxlIGNvbnRleHQgaGVyZSAoaXQncyB1cCB0byB0 aGUKKyAqIHNjYW4gbm9kZSkuCisgKgorICogRGVzaWduZWQgdG8gYmUgY2FsbGVkIGxpa2UgRXhl Y1F1YWwgZnJvbSB0aGUgcmVjaXBpZW50J3MgcGVyLXR1cGxlCisgKiBsb29wLiBTZWUgRXhlY1Nj YW5FeHRlbmRlZCBmb3IgdGhlIHNjYW4tbm9kZSBpbnRlZ3JhdGlvbiBwb2ludC4KKyAqCisgKiBY WFggV2UncmUgcHVzaGluZyBmaWx0ZXJzIHRvIHNjYW4gbm9kZXMsIHdoaWNoIHNldCB0aGUgc2Nh biBzbG90LiBBbmQKKyAqIHNldHJlZnMuYyBpcyBjdXJyZW50bHkgd2lyZWQgdG8gZG8gZml4X3Nj YW5fYmxvb21fZmlsdGVycywgY2FsbGVkIGZyb20KKyAqIHNldF9wbGFuX3JlZnMuIElmIHdlIGRl Y2lkZSB0byBwdXNoIGZpbHRlcnMgdG8gb3RoZXIgbm9kZXMgKGUuZy4gam9pbnMpLAorICogdGhp cyBtYXkgbmVlZCBzb21lIHJld29yay4KKyAqLworYm9vbAorRXhlY0Jsb29tRmlsdGVycyhMaXN0 ICpmaWx0ZXJzLCBFeHByQ29udGV4dCAqZWNvbnRleHQpCit7CisJTGlzdENlbGwgICAqbGM7CisK KwkvKiBiYWlsIG91dCBpZiBubyBmaWx0ZXJzICovCisJaWYgKGZpbHRlcnMgPT0gTklMKQorCQly ZXR1cm4gdHJ1ZTsKKworCWZvcmVhY2gobGMsIGZpbHRlcnMpCisJeworCQlCbG9vbUZpbHRlclN0 YXRlICpiZnMgPSAoQmxvb21GaWx0ZXJTdGF0ZSAqKSBsZmlyc3QobGMpOworCQlIYXNoSm9pblN0 YXRlICpwcm9kdWNlciA9IGJmcy0+cHJvZHVjZXI7CisJCUhhc2hTdGF0ZSAgKmhhc2hOb2RlOwor CQlibG9vbV9maWx0ZXIgKmJmOworCQl1aW50MzIJCWhhc2h2YWx1ZTsKKworCQkvKiBQcm9kdWNl ciBzaG91bGQgYWx3YXlzIGV4aXN0IChyZXNvbHZlZCBhdCBpbml0IHRpbWUpLiAqLworCQlBc3Nl cnQocHJvZHVjZXIgIT0gTlVMTCk7CisKKwkJLyoKKwkJICogVGhlIGhhc2h0YWJsZSAoYW5kIHRo ZSBibG9vbSBmaWx0ZXIpIGlzIGJ1aWx0IGxhemlseSB0aGUgZmlyc3QKKwkJICogdGltZSBpdCBu ZWVkcyB0byBkbyBhIGxvb2t1cC4gVW50aWwgdGhlbiwgYXNzdW1lIGV2ZXJ5dGhpbmcKKwkJICog bWF0Y2hlcyBldmVyeXRoaW5nIHRocm91Z2guIE9uY2UgdGhlIGZpbHRlciBpcyBpbiBwbGFjZSwg c3RhcnQKKwkJICogcHJvYmluZyBpdC4KKwkJICoKKwkJICogWFhYIEl0IHNob3VsZCBvbmx5IHRh a2UgYSBjb3VwbGUgdHVwbGVzIChtYXliZSBqdXN0IGEgc2luZ2xlIG9uZSkKKwkJICogZnJvbSB0 aGUgc2NhbiBub2RlIGJlZm9yZSB0aGUgZmlsdGVyIGlzIGF2YWlsYWJsZS4KKwkJICovCisJCWhh c2hOb2RlID0gY2FzdE5vZGUoSGFzaFN0YXRlLCBpbm5lclBsYW5TdGF0ZSgmcHJvZHVjZXItPmpz LnBzKSk7CisJCWJmID0gaGFzaE5vZGUtPmJsb29tX2ZpbHRlcjsKKwkJaWYgKGJmID09IE5VTEwp CisJCQljb250aW51ZTsKKworCQkvKgorCQkgKiBXaGVuIHJlY2VudCBibG9vbSBwcm9iZXMgbW9z dGx5IHBhc3MgdGhyb3VnaCwgcHJvYmUgb25seSBhIHNhbXBsZSBvZgorCQkgKiB2YWx1ZXMgdG8g YXZvaWQgc3BlbmRpbmcgd29yayBvbiBhbiBpbmVmZmVjdGl2ZSBmaWx0ZXIuIFNhbXBsZWQKKwkJ ICogcHJvYmVzIGtlZXAgdXBkYXRpbmcgdGhlIHJlY2VudCBtYXRjaCBmcmFjdGlvbiwgc28gZmls dGVyaW5nIHJlc3VtZXMKKwkJICogZm9yIGV2ZXJ5IHZhbHVlIG9uY2UgdGhlIGZpbHRlciBiZWNv bWVzIHNlbGVjdGl2ZSBhZ2Fpbi4KKwkJICovCisJCWlmICghRXhlY0Jsb29tRmlsdGVyU2hvdWxk UHJvYmUoYmZzKSkKKwkJCWNvbnRpbnVlOworCisJCS8qIE5VTEwgc3RyaWN0IGtleTogdHVwbGUg Y2Fubm90IGJlIGluIHRoZSBmaWx0ZXIsIHBhc3MgdGhyb3VnaC4gKi8KKwkJaWYgKCFFeGVjQmxv b21GaWx0ZXJIYXNoKGJmcywgZWNvbnRleHQsICZoYXNodmFsdWUpKQorCQkJY29udGludWU7CisK KwkJLyoKKwkJICogWFhYIEl0J3MgYSBiaXQgc2lsbHkgdGhlIGNvdW50ZXJzIGFyZSBpbiB0d28g cGxhY2VzLiBXZSBzaG91bGQKKwkJICoga2VlcCBqdXN0IHRoZSBoYXNoTm9kZSBjb3VudGVycywg YW5kIGdldCByaWQgb2YgYmZzIGNvdW50ZXJzLgorCQkgKi8KKwkJYmZzLT5jaGVja2VkKys7CisJ CWhhc2hOb2RlLT5ibG9vbUZpbHRlckNoZWNrZWQrKzsKKworCQkvKiBJZiBub3QgbWF0Y2hpbmcs IHdlJ3JlIGRvbmUgLSByZWplY3QgdGhlIHR1cGxlLiAqLworCQlpZiAoYmxvb21fbGFja3NfZWxl bWVudChiZiwKKwkJCQkJCQkJKHVuc2lnbmVkIGNoYXIgKikgJmhhc2h2YWx1ZSwKKwkJCQkJCQkJ c2l6ZW9mKGhhc2h2YWx1ZSkpKQorCQl7CisJCQliZnMtPnJlamVjdGVkKys7CisJCQloYXNoTm9k ZS0+Ymxvb21GaWx0ZXJSZWplY3RlZCsrOworCQkJRXhlY0Jsb29tRmlsdGVyVXBkYXRlQWRhcHRp dmVTdGF0ZShiZnMsIGZhbHNlKTsKKwkJCXJldHVybiBmYWxzZTsKKwkJfQorCisJCUV4ZWNCbG9v bUZpbHRlclVwZGF0ZUFkYXB0aXZlU3RhdGUoYmZzLCB0cnVlKTsKKwl9CisKKwlyZXR1cm4gdHJ1 ZTsKK30KKworLyoKKyAqIEV4ZWNJbml0Qmxvb21GaWx0ZXJzCisgKgkJSW5pdGlhbGl6ZSBzdGF0 ZSBmb3IgcHVzaGVkLWRvd24gYmxvb20gZmlsdGVycy4KKyAqCisgKiBDYWxsZWQgYnkgbm9kZXMg dGhhdCB3YW50IHRvIGFjdCBhcyBhIHJlY2lwaWVudCBvZiBwdXNoZWQtZG93biBmaWx0ZXJzLAor ICogYWZ0ZXIgdGhlIG5vZGUncyBwcm9qZWN0aW9uIC8gc2Nhbi10dXBsZSBzbG90IGFyZSBzZXQg dXAsIGp1c3QgbGlrZQorICogZm9yIHJlZ3VsYXIgcXVhbHMuCisgKgorICogV2Fsa3MgdGhlIHBs YW4ncyBibG9vbV9maWx0ZXJzIGxpc3QgYW5kIHByb2R1Y2VzIGEgbGlzdCBvZiBCbG9vbUZpbHRl clN0YXRlCisgKiBub2Rlcywgc3RvcmVkIGluIHBsYW5zdGF0ZS0+Ymxvb21fZmlsdGVycy4gVGhl IHByb2R1Y2VyIEhhc2hKb2luU3RhdGUgbm9kZQorICogaXMgcmVzb2x2ZWQgaGVyZSwgb25jZSwg dmlhIEVTdGF0ZS5lc19ibG9vbV9wcm9kdWNlcnM7IHNvIHRoYXQgbm8gbG9va3VwIGlzCisgKiBu ZWVkZWQgYXQgcHJvYmUgdGltZSAodGhlIGJsb29tX2ZpbHRlciBwb2ludGVyIG1heSBjaGFuZ2Ug b24gcmVzY2FuLCBidXQKKyAqIHRoYXQncyBub3Qgd2hhdCB3ZSBzdG9yZSkuCisgKgorICogJ291 dHB1dF9zbG90JyBpcyB0aGUgc2xvdCB3aG9zZSB2YWx1ZXMgdGhlIGZpbHRlciBleHByZXNzaW9u cyB3aWxsIGJlCisgKiBldmFsdWF0ZWQgYWdhaW5zdCAoaS5lLiB0aGUgc2FtZSBzbG90IHRoZSBz dXJyb3VuZGluZyBxdWFsIGV2YWx1YXRlcworICogYWdhaW5zdCwgcG9zdC1zZXRyZWZzKS4KKyAq CisgKiBYWFggRm9yIG5vdyB0aGlzIGhhcyB0byBiZSB0aGUgc2NhbiBzbG90LiBTZWUgdGhlIGNv bW1lbnQgYWJvdXQgc2V0cmVmcworICogYSBiaXQgZWFybGllci4gQ291bGQgYmUgcmVsYXhlZCBs YXRlciwgaWYgd2Ugc3VwcG9ydCB0byBwdXNoZG93biB0bworICogb3RoZXIgbm9kZSB0eXBlcy4K KyAqCisgKiBYWFggVGhlIGZpbHRlciBzdGF0ZXMgYXJlIGluaXRpYWxpemVkIGluIGVzX3F1ZXJ5 X2N4dCwgYnV0IG1heWJlIHRoYXQncworICogdG9vIGxvbmctbGl2ZWQuIFRoZSBzdGF0ZXMgbGl2 ZSBvbmx5IGFzIGxvbmcgYXMgdGhlIHJlY2lwaWVudCBub2RlLgorICovCit2b2lkCitFeGVjSW5p dEJsb29tRmlsdGVycyhQbGFuU3RhdGUgKnBsYW5zdGF0ZSwgVHVwbGVUYWJsZVNsb3QgKm91dHB1 dF9zbG90KQoreworCVBsYW4JICAgKnBsYW4gPSBwbGFuc3RhdGUtPnBsYW47CisJRVN0YXRlCSAg ICplc3RhdGUgPSBwbGFuc3RhdGUtPnN0YXRlOworCUxpc3QJICAgKnJlc3VsdCA9IE5JTDsKKwlM aXN0Q2VsbCAgICpsYzsKKwlNZW1vcnlDb250ZXh0IG9sZGN0eDsKKworCS8qIGJhaWwgb3V0IGlm IHRoZXJlIGFyZSBubyBwdXNoZWQtZG93biBmaWx0ZXJzICovCisJaWYgKHBsYW4tPmJsb29tX2Zp bHRlcnMgPT0gTklMKQorCQlyZXR1cm47CisKKwlvbGRjdHggPSBNZW1vcnlDb250ZXh0U3dpdGNo VG8oZXN0YXRlLT5lc19xdWVyeV9jeHQpOworCisJZm9yZWFjaChsYywgcGxhbi0+Ymxvb21fZmls dGVycykKKwl7CisJCUJsb29tRmlsdGVyICpiZiA9IGxmaXJzdF9ub2RlKEJsb29tRmlsdGVyLCBs Yyk7CisJCUJsb29tRmlsdGVyU3RhdGUgKmJmczsKKwkJaW50CQkJbmtleXM7CisKKwkJbmtleXMg PSBsaXN0X2xlbmd0aChiZi0+ZmlsdGVyX2V4cHJzKTsKKwkJQXNzZXJ0KG5rZXlzID4gMCk7CisJ CUFzc2VydChua2V5cyA9PSBsaXN0X2xlbmd0aChiZi0+aGFzaG9wcykpOworCQlBc3NlcnQobmtl eXMgPT0gbGlzdF9sZW5ndGgoYmYtPmhhc2hjb2xsYXRpb25zKSk7CisKKwkJYmZzID0gbWFrZU5v ZGUoQmxvb21GaWx0ZXJTdGF0ZSk7CisKKwkJLyogWFhYIHNvbWUgb2YgdGhpcyBpcyByZWR1bmRh bnQgKi8KKwkJYmZzLT5maWx0ZXIgPSBiZjsKKwkJYmZzLT5wcm9kdWNlcl9pZCA9IGJmLT5wcm9k dWNlcl9pZDsKKwkJYmZzLT5wcm9kdWNlciA9IExvb2t1cEJsb29tRmlsdGVyUHJvZHVjZXIoZXN0 YXRlLCBiZi0+cHJvZHVjZXJfaWQpOworCisJCS8qIGluaXRpYWxpemUgdGhlIGV4cHJlc3Npb24g c3RhdGUgZm9yIHRoZSBoYXNodmFsdWUgY2FsY3VsYXRpb24gKi8KKwkJeworCQkJT2lkCQkgICAq b3V0ZXJfaGFzaGZ1bmNpZCA9IHBhbGxvY19hcnJheShPaWQsIG5rZXlzKTsKKwkJCU9pZAkJICAg KmlubmVyX2hhc2hmdW5jaWQgPSBwYWxsb2NfYXJyYXkoT2lkLCBua2V5cyk7CisJCQlib29sCSAg ICpoYXNoX3N0cmljdCA9IHBhbGxvY19hcnJheShib29sLCBua2V5cyk7CisJCQlMaXN0Q2VsbCAg ICpsYzI7CisKKwkJCS8qCisJCQkgKiBEZXRlcm1pbmUgdGhlIGhhc2ggZnVuY3Rpb24gZm9yIGVh Y2ggc2lkZSBvZiB0aGUgam9pbiBmb3IgdGhlIGdpdmVuCisJCQkgKiBqb2luIG9wZXJhdG9yLCBh bmQgZGV0ZWN0IHdoZXRoZXIgdGhlIGpvaW4gb3BlcmF0b3IgaXMgc3RyaWN0LgorCQkJICovCisJ CQlmb3JlYWNoKGxjMiwgYmYtPmhhc2hvcHMpCisJCQl7CisJCQkJT2lkCQkJaGFzaG9wID0gbGZp cnN0X29pZChsYzIpOworCQkJCWludAkJCWkgPSBmb3JlYWNoX2N1cnJlbnRfaW5kZXgobGMyKTsK KworCQkJCWlmICghZ2V0X29wX2hhc2hfZnVuY3Rpb25zKGhhc2hvcCwKKwkJCQkJCQkJCQkgICAm b3V0ZXJfaGFzaGZ1bmNpZFtpXSwKKwkJCQkJCQkJCQkgICAmaW5uZXJfaGFzaGZ1bmNpZFtpXSkp CisJCQkJCWVsb2coRVJST1IsCisJCQkJCQkgImNvdWxkIG5vdCBmaW5kIGhhc2ggZnVuY3Rpb24g Zm9yIGhhc2ggb3BlcmF0b3IgJXUiLAorCQkJCQkJIGhhc2hvcCk7CisJCQkJaGFzaF9zdHJpY3Rb aV0gPSBvcF9zdHJpY3QoaGFzaG9wKTsKKwkJCX0KKworCQkJLyogc3RhdGUgZm9yIHRoZSBoYXNo IHZhbHVlIGNhbGN1bGF0aW9uICovCisJCQliZnMtPmtleXMgPSBFeGVjQnVpbGRIYXNoMzJFeHBy KG91dHB1dF9zbG90LT50dHNfdHVwbGVEZXNjcmlwdG9yLAorCQkJCQkJCQkJCQlvdXRwdXRfc2xv dC0+dHRzX29wcywKKwkJCQkJCQkJCQkJb3V0ZXJfaGFzaGZ1bmNpZCwKKwkJCQkJCQkJCQkJYmYt Pmhhc2hjb2xsYXRpb25zLAorCQkJCQkJCQkJCQliZi0+ZmlsdGVyX2V4cHJzLAorCQkJCQkJCQkJ CQloYXNoX3N0cmljdCwKKwkJCQkJCQkJCQkJcGxhbnN0YXRlLAorCQkJCQkJCQkJCQkwKTsKKwkJ fQorCisJCXJlc3VsdCA9IGxhcHBlbmQocmVzdWx0LCBiZnMpOworCX0KKworCXBsYW5zdGF0ZS0+ Ymxvb21fZmlsdGVycyA9IHJlc3VsdDsKKworCU1lbW9yeUNvbnRleHRTd2l0Y2hUbyhvbGRjdHgp OworfQorCisvKgorICogRXhlY1JlZ2lzdGVyQmxvb21GaWx0ZXJQcm9kdWNlcgorICoJCVJlZ2lz dGVyIHRoZSBwdXNoZWQgZG93bm4gYmxvb20gZmlsdGVyLgorICoKKyAqIENhbGxlZCBieSBFeGVj SW5pdEhhc2hKb2luIChiZWZvcmUgcmVjdXJzaW5nIGludG8gdGhlIG91dGVyIHN1YnRyZWUpCisg KiB0byByZWdpc3RlciB0aGlzIEhhc2hKb2luU3RhdGUgYXMgYSBwcm9kdWNlciBmb3IgdGhlIHB1 c2hlZC1kb3duIGZpbHRlci4KKyAqIFJlY2lwaWVudHMgaW4gdGhlIG91dGVyIHN1YnRyZWUgd2ls bCBsb29rIHVzIHVwIGhlcmUgYnkgcGxhbl9ub2RlX2lkLgorICovCit2b2lkCitFeGVjUmVnaXN0 ZXJCbG9vbUZpbHRlclByb2R1Y2VyKEhhc2hKb2luU3RhdGUgKmhqc3RhdGUpCit7CisJRVN0YXRl CSAgICplc3RhdGUgPSBoanN0YXRlLT5qcy5wcy5zdGF0ZTsKKworCWVzdGF0ZS0+ZXNfYmxvb21f cHJvZHVjZXJzID0gbGFwcGVuZChlc3RhdGUtPmVzX2Jsb29tX3Byb2R1Y2VycywgaGpzdGF0ZSk7 Cit9CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9leGVjdXRvci9ub2RlSW5kZXhvbmx5c2Nhbi5j IGIvc3JjL2JhY2tlbmQvZXhlY3V0b3Ivbm9kZUluZGV4b25seXNjYW4uYwppbmRleCBkNTIwMTJl OGE2OS4uYmQ3ZTU5NjYwMTcgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL25vZGVJ bmRleG9ubHlzY2FuLmMKKysrIGIvc3JjL2JhY2tlbmQvZXhlY3V0b3Ivbm9kZUluZGV4b25seXNj YW4uYwpAQCAtNjAwLDYgKzYwMCw5IEBAIEV4ZWNJbml0SW5kZXhPbmx5U2NhbihJbmRleE9ubHlT Y2FuICpub2RlLCBFU3RhdGUgKmVzdGF0ZSwgaW50IGVmbGFncykKIAlpbmRleHN0YXRlLT5yZWNo ZWNrcXVhbCA9CiAJCUV4ZWNJbml0UXVhbChub2RlLT5yZWNoZWNrcXVhbCwgKFBsYW5TdGF0ZSAq KSBpbmRleHN0YXRlKTsKIAorCUV4ZWNJbml0Qmxvb21GaWx0ZXJzKChQbGFuU3RhdGUgKikgaW5k ZXhzdGF0ZSwKKwkJCQkJCSBpbmRleHN0YXRlLT5zcy5zc19TY2FuVHVwbGVTbG90KTsKKwogCS8q CiAJICogSWYgd2UgYXJlIGp1c3QgZG9pbmcgRVhQTEFJTiAoaWUsIGFyZW4ndCBnb2luZyB0byBy dW4gdGhlIHBsYW4pLCBzdG9wCiAJICogaGVyZS4gIFRoaXMgYWxsb3dzIGFuIGluZGV4LWFkdmlz b3IgcGx1Z2luIHRvIEVYUExBSU4gYSBwbGFuIGNvbnRhaW5pbmcKZGlmZiAtLWdpdCBhL3NyYy9i YWNrZW5kL2V4ZWN1dG9yL25vZGVJbmRleHNjYW4uYyBiL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL25v ZGVJbmRleHNjYW4uYwppbmRleCAzOWY2NjkxZWUzNS4uZWY1NjUyMmZiYzUgMTAwNjQ0Ci0tLSBh L3NyYy9iYWNrZW5kL2V4ZWN1dG9yL25vZGVJbmRleHNjYW4uYworKysgYi9zcmMvYmFja2VuZC9l eGVjdXRvci9ub2RlSW5kZXhzY2FuLmMKQEAgLTk3MCw2ICs5NzAsOSBAQCBFeGVjSW5pdEluZGV4 U2NhbihJbmRleFNjYW4gKm5vZGUsIEVTdGF0ZSAqZXN0YXRlLCBpbnQgZWZsYWdzKQogCWluZGV4 c3RhdGUtPmluZGV4b3JkZXJieW9yaWcgPQogCQlFeGVjSW5pdEV4cHJMaXN0KG5vZGUtPmluZGV4 b3JkZXJieW9yaWcsIChQbGFuU3RhdGUgKikgaW5kZXhzdGF0ZSk7CiAKKwlFeGVjSW5pdEJsb29t RmlsdGVycygoUGxhblN0YXRlICopIGluZGV4c3RhdGUsCisJCQkJCQkgaW5kZXhzdGF0ZS0+c3Mu c3NfU2NhblR1cGxlU2xvdCk7CisKIAkvKgogCSAqIElmIHdlIGFyZSBqdXN0IGRvaW5nIEVYUExB SU4gKGllLCBhcmVuJ3QgZ29pbmcgdG8gcnVuIHRoZSBwbGFuKSwgc3RvcAogCSAqIGhlcmUuICBU aGlzIGFsbG93cyBhbiBpbmRleC1hZHZpc29yIHBsdWdpbiB0byBFWFBMQUlOIGEgcGxhbiBjb250 YWluaW5nCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9leGVjdXRvci9ub2RlU2FtcGxlc2Nhbi5j IGIvc3JjL2JhY2tlbmQvZXhlY3V0b3Ivbm9kZVNhbXBsZXNjYW4uYwppbmRleCBmM2QyNzNlMWM1 ZS4uNzM4NTAyNDMzYjQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL25vZGVTYW1w bGVzY2FuLmMKKysrIGIvc3JjL2JhY2tlbmQvZXhlY3V0b3Ivbm9kZVNhbXBsZXNjYW4uYwpAQCAt MTQ3LDYgKzE0Nyw5IEBAIEV4ZWNJbml0U2FtcGxlU2NhbihTYW1wbGVTY2FuICpub2RlLCBFU3Rh dGUgKmVzdGF0ZSwgaW50IGVmbGFncykKIAlzY2Fuc3RhdGUtPnJlcGVhdGFibGUgPQogCQlFeGVj SW5pdEV4cHIodHNjLT5yZXBlYXRhYmxlLCAoUGxhblN0YXRlICopIHNjYW5zdGF0ZSk7CiAKKwlF eGVjSW5pdEJsb29tRmlsdGVycygoUGxhblN0YXRlICopIHNjYW5zdGF0ZSwKKwkJCQkJCSBzY2Fu c3RhdGUtPnNzLnNzX1NjYW5UdXBsZVNsb3QpOworCiAJLyoKIAkgKiBJZiB3ZSBkb24ndCBoYXZl IGEgUkVQRUFUQUJMRSBjbGF1c2UsIHNlbGVjdCBhIHJhbmRvbSBzZWVkLiAgV2Ugd2FudCB0bwog CSAqIGRvIHRoaXMganVzdCBvbmNlLCBzaW5jZSB0aGUgc2VlZCBzaG91bGRuJ3QgY2hhbmdlIG92 ZXIgcmVzY2Fucy4KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL25vZGVTZXFzY2Fu LmMgYi9zcmMvYmFja2VuZC9leGVjdXRvci9ub2RlU2Vxc2Nhbi5jCmluZGV4IDViY2IwYTg2MWQ3 Li40ZDNkN2JhMTBhOSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvZXhlY3V0b3Ivbm9kZVNlcXNj YW4uYworKysgYi9zcmMvYmFja2VuZC9leGVjdXRvci9ub2RlU2Vxc2Nhbi5jCkBAIC0yNjgsNiAr MjY4LDkgQEAgRXhlY0luaXRTZXFTY2FuKFNlcVNjYW4gKm5vZGUsIEVTdGF0ZSAqZXN0YXRlLCBp bnQgZWZsYWdzKQogCXNjYW5zdGF0ZS0+c3MucHMucXVhbCA9CiAJCUV4ZWNJbml0UXVhbChub2Rl LT5zY2FuLnBsYW4ucXVhbCwgKFBsYW5TdGF0ZSAqKSBzY2Fuc3RhdGUpOwogCisJRXhlY0luaXRC bG9vbUZpbHRlcnMoKFBsYW5TdGF0ZSAqKSBzY2Fuc3RhdGUsCisJCQkJCQkgc2NhbnN0YXRlLT5z cy5zc19TY2FuVHVwbGVTbG90KTsKKwogCS8qCiAJICogV2hlbiBFdmFsUGxhblF1YWwoKSBpcyBu b3QgaW4gdXNlLCBhc3NpZ24gRXhlY1Byb2NOb2RlIGZvciB0aGlzIG5vZGUKIAkgKiBiYXNlZCBv biB0aGUgcHJlc2VuY2Ugb2YgcXVhbCBhbmQgcHJvamVjdGlvbi4gRWFjaCBFeGVjU2VxU2Nhbioo KQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvZXhlY3V0b3Ivbm9kZVRpZHJhbmdlc2Nhbi5jIGIv c3JjL2JhY2tlbmQvZXhlY3V0b3Ivbm9kZVRpZHJhbmdlc2Nhbi5jCmluZGV4IGIzODdlZDZjMzA4 Li5iMDBhMzczNmI5OSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvZXhlY3V0b3Ivbm9kZVRpZHJh bmdlc2Nhbi5jCisrKyBiL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL25vZGVUaWRyYW5nZXNjYW4uYwpA QCAtNDM0LDYgKzQzNCw5IEBAIEV4ZWNJbml0VGlkUmFuZ2VTY2FuKFRpZFJhbmdlU2NhbiAqbm9k ZSwgRVN0YXRlICplc3RhdGUsIGludCBlZmxhZ3MpCiAJdGlkcmFuZ2VzdGF0ZS0+c3MucHMucXVh bCA9CiAJCUV4ZWNJbml0UXVhbChub2RlLT5zY2FuLnBsYW4ucXVhbCwgKFBsYW5TdGF0ZSAqKSB0 aWRyYW5nZXN0YXRlKTsKIAorCUV4ZWNJbml0Qmxvb21GaWx0ZXJzKChQbGFuU3RhdGUgKikgdGlk cmFuZ2VzdGF0ZSwKKwkJCQkJCSB0aWRyYW5nZXN0YXRlLT5zcy5zc19TY2FuVHVwbGVTbG90KTsK KwogCVRpZEV4cHJMaXN0Q3JlYXRlKHRpZHJhbmdlc3RhdGUpOwogCiAJLyoKZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL2V4ZWN1dG9yL25vZGVUaWRzY2FuLmMgYi9zcmMvYmFja2VuZC9leGVjdXRv ci9ub2RlVGlkc2Nhbi5jCmluZGV4IDY2NDFkZjEwOTk5Li5mN2JhNzhhNjNmYyAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvZXhlY3V0b3Ivbm9kZVRpZHNjYW4uYworKysgYi9zcmMvYmFja2VuZC9l eGVjdXRvci9ub2RlVGlkc2Nhbi5jCkBAIC01NTEsNiArNTUxLDkgQEAgRXhlY0luaXRUaWRTY2Fu KFRpZFNjYW4gKm5vZGUsIEVTdGF0ZSAqZXN0YXRlLCBpbnQgZWZsYWdzKQogCXRpZHN0YXRlLT5z cy5wcy5xdWFsID0KIAkJRXhlY0luaXRRdWFsKG5vZGUtPnNjYW4ucGxhbi5xdWFsLCAoUGxhblN0 YXRlICopIHRpZHN0YXRlKTsKIAorCUV4ZWNJbml0Qmxvb21GaWx0ZXJzKChQbGFuU3RhdGUgKikg dGlkc3RhdGUsCisJCQkJCQkgdGlkc3RhdGUtPnNzLnNzX1NjYW5UdXBsZVNsb3QpOworCiAJVGlk RXhwckxpc3RDcmVhdGUodGlkc3RhdGUpOwogCiAJLyoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5k L2xpYi9ibG9vbWZpbHRlci5jIGIvc3JjL2JhY2tlbmQvbGliL2Jsb29tZmlsdGVyLmMKaW5kZXgg NzNiMzc2OGExNzIuLmZiY2Y3ODhlMjcxIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9saWIvYmxv b21maWx0ZXIuYworKysgYi9zcmMvYmFja2VuZC9saWIvYmxvb21maWx0ZXIuYwpAQCAtMTkyLDYg KzE5MiwyNSBAQCBibG9vbV9wcm9wX2JpdHNfc2V0KGJsb29tX2ZpbHRlciAqZmlsdGVyKQogCXJl dHVybiBiaXRzX3NldCAvIChkb3VibGUpIGZpbHRlci0+bTsKIH0KIAorLyoKKyAqIFRvdGFsIGJp dHNldCBzaXplLCBpbiBiaXRzLiAgVXNlZnVsIGZvciBFWFBMQUlOIGluc3RydW1lbnRhdGlvbjoK KyAqIGRpdmlkZSBieSA4IHRvIGdldCB0aGUgYml0c2V0J3MgbWVtb3J5IGZvb3RwcmludCBpbiBi eXRlcy4KKyAqLwordWludDY0CitibG9vbV90b3RhbF9iaXRzKGJsb29tX2ZpbHRlciAqZmlsdGVy KQoreworCXJldHVybiBmaWx0ZXItPm07Cit9CisKKy8qCisgKiBOdW1iZXIgb2YgaGFzaCBmdW5j dGlvbnMgaW4gdXNlLgorICovCitpbnQKK2Jsb29tX2hhc2hfZnVuY3MoYmxvb21fZmlsdGVyICpm aWx0ZXIpCit7CisJcmV0dXJuIGZpbHRlci0+a19oYXNoX2Z1bmNzOworfQorCiAvKgogICogV2hp Y2ggZWxlbWVudCBpbiB0aGUgc2VxdWVuY2Ugb2YgcG93ZXJzIG9mIHR3byBpcyBsZXNzIHRoYW4g b3IgZXF1YWwgdG8KICAqIHRhcmdldF9iaXRzZXRfYml0cz8KZGlmZiAtLWdpdCBhL3NyYy9iYWNr ZW5kL29wdGltaXplci9wYXRoL2Nvc3RzaXplLmMgYi9zcmMvYmFja2VuZC9vcHRpbWl6ZXIvcGF0 aC9jb3N0c2l6ZS5jCmluZGV4IDFjNTc1ZTU2ZmY2Li5jMzA3MmEyOWNjYyAxMDA2NDQKLS0tIGEv c3JjL2JhY2tlbmQvb3B0aW1pemVyL3BhdGgvY29zdHNpemUuYworKysgYi9zcmMvYmFja2VuZC9v cHRpbWl6ZXIvcGF0aC9jb3N0c2l6ZS5jCkBAIC0xNTYsNiArMTU2LDcgQEAgYm9vbAkJZW5hYmxl X21hdGVyaWFsID0gdHJ1ZTsKIGJvb2wJCWVuYWJsZV9tZW1vaXplID0gdHJ1ZTsKIGJvb2wJCWVu YWJsZV9tZXJnZWpvaW4gPSB0cnVlOwogYm9vbAkJZW5hYmxlX2hhc2hqb2luID0gdHJ1ZTsKK2Jv b2wJCWVuYWJsZV9oYXNoam9pbl9ibG9vbSA9IHRydWU7CiBib29sCQllbmFibGVfZ2F0aGVybWVy Z2UgPSB0cnVlOwogYm9vbAkJZW5hYmxlX3BhcnRpdGlvbndpc2Vfam9pbiA9IGZhbHNlOwogYm9v bAkJZW5hYmxlX3BhcnRpdGlvbndpc2VfYWdncmVnYXRlID0gZmFsc2U7CmRpZmYgLS1naXQgYS9z cmMvYmFja2VuZC9vcHRpbWl6ZXIvcGxhbi9jcmVhdGVwbGFuLmMgYi9zcmMvYmFja2VuZC9vcHRp bWl6ZXIvcGxhbi9jcmVhdGVwbGFuLmMKaW5kZXggZGU2YTE4M2RhNzkuLjdlY2I1NTFhYWU2IDEw MDY0NAotLS0gYS9zcmMvYmFja2VuZC9vcHRpbWl6ZXIvcGxhbi9jcmVhdGVwbGFuLmMKKysrIGIv c3JjL2JhY2tlbmQvb3B0aW1pemVyL3BsYW4vY3JlYXRlcGxhbi5jCkBAIC00Njg5LDYgKzQ2ODks Mjk4IEBAIGNyZWF0ZV9tZXJnZWpvaW5fcGxhbihQbGFubmVySW5mbyAqcm9vdCwKIAlyZXR1cm4g am9pbl9wbGFuOwogfQogCisvKgorICogQkxPT00gRklMVEVSIFBVU0hET1dOCisgKgorICogV2hl biBjcmVhdGluZyBhIGhhc2ggam9pbiBwbGFuLCBjb25zaWRlciBidWlsZGluZyBhIGJsb29tIGZp bHRlciBhbmQKKyAqIHB1c2hpbmcgaXQgZG93biB0byB0aGUgb3V0ZXIgc3VidHJlZS4gRm9yIG5v dyB3ZSBvbmx5IHB1c2ggZmlsdGVycyB0bworICogc2NhbiBub2RlcyBjb250YWluaW5nIGFsbCB0 aGUgam9pbiBrZXlzLiBXaGVuIHdlIGZpbmQgc3VjaCBzY2FuIG5vZGUsCisgKiB3ZSBhcHBlbmQg dGhlIEJsb29tRmlsdGVyIElEIHRvIHRoZSBub2RlJ3MgYmxvb21fZmlsdGVycyBsaXN0LCBhbmQK KyAqIGluY3JlbWVudCB0aGUgYmxvb21fY29uc3VtZXJfY291bnQgZm9yIHRoZSBoYXNoam9pbi4K KyAqCisgKiBBcyBzZXRyZWZzIGhhc2huJ3QgcnVuIHlldCwgdGhlIGpvaW4ga2V5cyBhcmUgc3Rp bGwgdGhlIHJhdyBWYXJzLgorICogU28gaXQncyBzYWZlIHRvIGNvbXBhcmUgdmFyLT52YXJubyBh Z2FpbnN0IHRoZSBzY2FucmVsaWQsIGFuZCBjb3B5CisgKiB0aGUga2V5cyB2ZXJiYXRpbSBvbnRv IHRoZSByZWNpcGllbnQuIHNldHJlZnMgd2lsbCByZXdyaXRlIHRoZSBWYXJzCisgKiBsYXRlciBh cyB1c3VhbCwganVzdCBsaWtlIGZvciB0aGUgcmVjaXBpZW50J3MgcXVhbC4KKyAqCisgKiBYWFgg SW4gbW9zdCBjYXNlcyB0aGVyZSdsbCBiZSBvbmx5IGEgc2luZ2xlIGNvbnN1bWVyIG5vZGUuIFRv IGdldAorICogbXVsdGlwbGUgY29uc3VtZXJzLCB3ZSdkIG5lZWQgZWl0aGVyIGpvaW5zIG9uIHRo ZSBzYW1lIGtleXMsIG9yCisgKiBhYmlsaXR5IHRvIHByb2R1Y2UgZmlsdGVycyBmb3Igc3Vic2V0 cyBvZiB0aGUgam9pbiBrZXlzIChmb3IgY2FzZXMKKyAqIHdoZXJlIHRoZSBqb2luIGlzIG1vcmUg Y29tcGxleCwgYW5kIGRvZXMgbm90IG1hcCB0byBhIHNpbmdsZSBzY2FuCisgKiBub2RlIGRpcmVj dGx5KS4gU2VlbXMgbGlrZSBhIHBvc3NpYmxlIGZ1dHVyZSBpbXByb3ZlbWVudC4KKyAqCisgKiBY WFggQWN0dWFsbHksIHdlIGNvdWxkIGhhdmUgbXVsdGlwbGUgY29uc3VtZXIgbm9kZXMgZm9yIHBh cnRpdGlvbmVkCisgKiB0YWJsZXMsIHdoZXJlIGVhY2ggcGFydGl0aW9uIGdldHMgYSBzZXBhcmF0 ZSBzY2FuLiBXaGljaCBzZWVtcyBsaWtlCisgKiBzb21ldGhpbmcgd2Ugc2hvdWxkIHN1cHBvcnQu CisgKgorICogWFhYIEZvciBzaW1wbGljaXR5LCBhbGwgb3V0ZXIgam9pbiBrZXlzIGhhdmUgdG8g YmUgYmFyZSBWYXJzIChmcm9tCisgKiB0aGUgc2FtZSBSVEUpLiBXZSBjb3VsZCByZWxheCB0aGlz IGxhdGVyLCBhbmQgYWxsb3cgam9pbnMgb24gbW9yZQorICogY29tcGxleCBleHByZXNzaW9ucy4g Tm90IHN1cmUgaWYgdGhhdCdsbCBlcmFzZSBzb21lIG9mIHRoZSBiZW5lZml0cywKKyAqIHdoaWNo IHJlbGllcyBvbiBmaWx0ZXIgcHJvYmVzIGJlaW5nIG11Y2ggY2hlYXBlciBoYXNodGFibGUgcHJv YmVzLgorICogSXQgYWxzbyBkb2Vzbid0IHNlZW0gbGlrZSBhIHZlcnkgY29tbW9uIGNhc2UuCisg KgorICogWFhYIFRoZSByZWNpcGllbnQgbm9kZSBtdXN0IGJlIG9uZSBvZiBhIHNtYWxsIHNldCBv ZiBzY2FuIG5vZGVzLiBXZQorICogY291bGQgcmVsYXggdGhpcywgYW5kIGFsbG93IHB1c2hpbmcg dG8gb3RoZXIgbm9kZXMgKGUuZy4gam9pbnMgb3IKKyAqIGFnZ3JlZ2F0ZXMpLiBGdXR1cmUgaW1w cm92ZW1lbnQuCisgKgorICogWFhYIFdlIGRvbid0IGN1cnJlbnRseSBwdXNoIHRoZSBzYW1lIEhh c2hKb2luIHRvIG11bHRpcGxlIHJlY2lwaWVudHMsCisgKiBidXQgbXVsdGlwbGUgSGFzaEpvaW5z IG1heSBhdHRhY2ggYSBmaWx0ZXIgdG8gdGhlIHNhbWUgc2NhbiBub2RlLgorICogLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KKyAqLworCisvKgorICogYmxvb21fam9pbl9zaWRlX3ByZXNlcnZlZAorICoJCURl Y2lkZSBpZiB3ZSBjYW4gcHVzaCBmaWx0ZXIgdG8gaW5uZXIvb3V0ZXIgc2lkZSBvZiBhIGpvaW4u CisgKgorICogT3V0ZXIgam9pbnMgdGhhdCBlbWl0IHVubWF0Y2hlZCBvdXRlciB0dXBsZXMgKExF RlQvQU5USS9GVUxMKSBhcmUKKyAqIHNraXBwZWQ6IGRyb3BwaW5nIG91dGVyIHR1cGxlcyB0aGVy ZSB3b3VsZCBiZSBpbmNvcnJlY3QuCisgKi8KK3N0YXRpYyBib29sCitibG9vbV9qb2luX3NpZGVf cHJlc2VydmVkKEpvaW5UeXBlIGpvaW50eXBlLCBib29sIHRvX291dGVyKQoreworCXN3aXRjaCAo am9pbnR5cGUpCisJeworCQljYXNlIEpPSU5fSU5ORVI6CisJCQlyZXR1cm4gdHJ1ZTsKKwkJY2Fz ZSBKT0lOX0xFRlQ6CisJCWNhc2UgSk9JTl9TRU1JOgorCQljYXNlIEpPSU5fQU5USToKKwkJCXJl dHVybiB0b19vdXRlcjsKKwkJY2FzZSBKT0lOX1JJR0hUOgorCQljYXNlIEpPSU5fUklHSFRfU0VN SToKKwkJY2FzZSBKT0lOX1JJR0hUX0FOVEk6CisJCQlyZXR1cm4gIXRvX291dGVyOworCQljYXNl IEpPSU5fRlVMTDoKKwkJCXJldHVybiBmYWxzZTsKKwkJZGVmYXVsdDoKKwkJCXJldHVybiBmYWxz ZTsKKwl9Cit9CisKKy8qCisgKiBmaW5kX2Jsb29tX2ZpbHRlcl9yZWNpcGllbnQKKyAqCQlUcnkg dG8gZmluZCBhIHNjYW4gbm9kZSB0byBwdXNoIGZpbHRlciB0by4KKyAqCisgKiBXZSBzdXBwb3J0 IHB1c2hpbmcgZmlsdGVyIHRvIGEgc3Vic2V0IG9mIHNjYW4gbm9kZXMgKGNvdWxkIGJlIGV4dGVu ZGVkCisgKiBsYXRlcikuIFdlIHN1cHBvcnQgcHVzaGluZyBmaWx0ZXJzIHRocm91Z2ggaW50ZXJt ZWRpYXRlIG5vZGVzIChqb2lucywKKyAqIHNvcnRzLCAuLi4pLiBTZWUgYmxvb21fam9pbl9zaWRl X3ByZXNlcnZlZCBmb3Igam9pbnMuCisgKgorICogWFhYIFdlIGNvdWxkIHB1c2ggZmlsdGVycyB0 aHJvdWdoIG1vcmUgbm9kZXMgLSBlLmcuIGFnZ3JlZ2F0ZXMgaWYgdGhlCisgKiBoYXNoIGtleXMg bWF0Y2ggR1JPVVAgQlkga2V5cyAoYXJlIGEgc3Vic2V0IG9mKS4KKyAqCisgKiBYWFggV2UgY291 bGQgZG8gcHVzaGRvd24gdG8gcGFyYWxsZWwgcGFydHMgb2YgYSBxdWVyeS4gQnV0IHdlJ2QgbmVl ZAorICogYSBkaWZmZXJlbnQgd2F5IHRvIGNvbW11bmljYXRlIGlmIGEgZmlsdGVyIGlzIGJ1aWx0 IGV0Yy4gKHRoZSB3b3JrZXIKKyAqIHdvbid0IGhhdmUgYWNjZXNzIHRvIHRoZSBoYXNoam9pbiBz dGF0ZSkuCisgKi8KK3N0YXRpYyBQbGFuICoKK2ZpbmRfYmxvb21fZmlsdGVyX3JlY2lwaWVudChQ bGFuICpwbGFuLCBJbmRleCB0YXJnZXRfcmVsaWQpCit7CisJLyogWFhYIHNob3VsZG4ndCByZWFs bHkgaGFwcGVuLCBJIHRoaW5rICovCisJaWYgKHBsYW4gPT0gTlVMTCkKKwkJcmV0dXJuIE5VTEw7 CisKKwkvKiBYWFggbm8gcHVzaGRvd24gdG8gcGFyYWxsZWwgcGFydHMgb2YgYSBxdWVyeSAqLwor CWlmIChwbGFuLT5wYXJhbGxlbF9hd2FyZSkKKwkJcmV0dXJuIE5VTEw7CisKKwlzd2l0Y2ggKG5v ZGVUYWcocGxhbikpCisJeworCQljYXNlIFRfU2VxU2NhbjoKKwkJY2FzZSBUX1NhbXBsZVNjYW46 CisJCWNhc2UgVF9JbmRleFNjYW46CisJCWNhc2UgVF9JbmRleE9ubHlTY2FuOgorCQljYXNlIFRf Qml0bWFwSGVhcFNjYW46CisJCWNhc2UgVF9UaWRTY2FuOgorCQljYXNlIFRfVGlkUmFuZ2VTY2Fu OgorCQkJeworCQkJCVNjYW4JICAgKnNjYW4gPSAoU2NhbiAqKSBwbGFuOworCisJCQkJaWYgKHNj YW4tPnNjYW5yZWxpZCA9PSB0YXJnZXRfcmVsaWQpCisJCQkJCXJldHVybiBwbGFuOworCQkJCXJl dHVybiBOVUxMOworCQkJfQorCQljYXNlIFRfU29ydDoKKwkJY2FzZSBUX0luY3JlbWVudGFsU29y dDoKKwkJY2FzZSBUX01hdGVyaWFsOgorCQljYXNlIFRfTWVtb2l6ZToKKwkJY2FzZSBUX1VuaXF1 ZToKKwkJY2FzZSBUX0xpbWl0OgorCQkJcmV0dXJuIGZpbmRfYmxvb21fZmlsdGVyX3JlY2lwaWVu dChvdXRlclBsYW4ocGxhbiksIHRhcmdldF9yZWxpZCk7CisJCWNhc2UgVF9IYXNoSm9pbjoKKwkJ Y2FzZSBUX05lc3RMb29wOgorCQljYXNlIFRfTWVyZ2VKb2luOgorCQkJeworCQkJCUpvaW5UeXBl CWp0ID0gKChKb2luICopIHBsYW4pLT5qb2ludHlwZTsKKwkJCQlQbGFuCSAgICpyZXM7CisKKwkJ CQkvKgorCQkJCSAqIFdlIGNhbiBvbmx5IHB1c2ggdG8gb25lIG5vZGUsIGJ1dCB3ZSBkb24ndCBr bm93IG9uIHdoaWNoCisJCQkJICogc2lkZSBvZiB0aGUgam9pbiBpdCBpcyAoZS5nLiBmb3IgaW5u ZXIgam9pbnMgaXQgY2FuIGJlIG9uCisJCQkJICogYm90aCBzaWRlcykuIFNvIG1ha2Ugc3VyZSB0 byBjaGVjayBib3RoLCBpZiBjb21wYXRpYmxlCisJCQkJICogd2l0aCB0aGUgam9pbiB0eXBlIChw ZXIgYmxvb21fam9pbl9zaWRlX3ByZXNlcnZlZCkuCisJCQkJICovCisJCQkJaWYgKGJsb29tX2pv aW5fc2lkZV9wcmVzZXJ2ZWQoanQsIHRydWUpKQorCQkJCXsKKwkJCQkJcmVzID0gZmluZF9ibG9v bV9maWx0ZXJfcmVjaXBpZW50KG91dGVyUGxhbihwbGFuKSwKKwkJCQkJCQkJCQkJCQkgIHRhcmdl dF9yZWxpZCk7CisJCQkJCWlmIChyZXMgIT0gTlVMTCkKKwkJCQkJCXJldHVybiByZXM7CisJCQkJ fQorCQkJCWlmIChibG9vbV9qb2luX3NpZGVfcHJlc2VydmVkKGp0LCBmYWxzZSkpCisJCQkJewor CQkJCQlyZXMgPSBmaW5kX2Jsb29tX2ZpbHRlcl9yZWNpcGllbnQoaW5uZXJQbGFuKHBsYW4pLAor CQkJCQkJCQkJCQkJCSAgdGFyZ2V0X3JlbGlkKTsKKwkJCQkJaWYgKHJlcyAhPSBOVUxMKQorCQkJ CQkJcmV0dXJuIHJlczsKKwkJCQl9CisJCQkJcmV0dXJuIE5VTEw7CisJCQl9CisJCWRlZmF1bHQ6 CisJCQlyZXR1cm4gTlVMTDsKKwl9Cit9CisKKy8qCisgKiB0cnlfcHVzaF9ibG9vbV9maWx0ZXIK KyAqCQlBdHRlbXB0IHRvIHB1c2hkb3duIGEgYmxvb20gZmlsdGVyIGZvciB0aGUgY3VycmVudCBo YXNoam9pbi4KKyAqCisgKiBUaGUgZmlsdGVyIHB1c2hkb3duIGhhcHBlbnMgZHVyaW5nIHBsYW4g Y3JlYXRpb24sIGkuZS4gYWZ0ZXIgdGhlIHBsYW4gd2FzCisgKiBhbHJlYWR5IHNlbGVjdGVkLiBU aGF0IGlzIG5vdCBlbnRpcmVseSBvcHRpbWFsLCBhbmQgaXQgaGFzIGEgY291cGxlIG9mCisgKiBh bm5veWluZyBjb25zZXF1ZW5jZXMuCisgKgorICogVGhlIG1haW4gZGlzYWR2YW50YWdlIGlzIHRo YXQgaW5qZWN0aW5nIHRoZSBmaWx0ZXIgdG8gYSBzY2FuIG5vZGUgbWF5CisgKiBzaWduaWZpY2Fu dGx5IGFsdGVyIHRoZSBudW1iZXIgb2YgdHVwbGVzIHByb2R1Y2VkIGJ5IHRoYXQgc2NhbiBub2Rl LiBJZiBhCisgKiBmaWx0ZXIgZWxpbWluYXRlcyA5OSUgb2YgdGhlIHJvd3MsIHRoZSBzY2FuIHBy b2R1Y2VzIDEvMTAwIG9mIHRoZSByb3dzIGl0CisgKiB3YXMgcGxhbm5lZCB3aXRoLiBJdCB3b3Vs ZCBub3QgYWZmZWN0IHRoZSBzY2FuIGl0c2VsZiwgYnV0IGlmIHRoZXJlIGFyZQorICogb3RoZXIg bm9kZXMgKGJldHdlZW4gdGhlIHNjYW4gYW5kIHRoZSBqb2luKSwgbWF5YmUgd2UnZCBoYXZlIHBs YW5uZWQgdGhlbQorICogZGlmZmVyZW50bHkgaWYgd2Uga25ldyBhYm91dCB0aGUgbG93ZXIgY2Fy ZGluYWxpdHk/CisgKgorICogU2ltaWxhcmx5LCBpdCdzIGNvbmZ1c2luZyBpbiB0aGUgZXhwbGFp bi4gVGhhdCBpcywgd2UnbGwgZ2V0ICJyb3dzPU4iCisgKiB3aXRoIHRoZSBwbGFubmVyIGNhcmRp bmFsaXR5IChiZWZvcmUgdGhlIGZpbHRlciB3YXMgcHVzaGVkIGRvd24pLCBidXQKKyAqIHRoZW4g aW4gRVhQTEFJTiBBTkFMWVpFIGl0J2xsIGdldCBtdWNoIGxvd2VyIHZhbHVlcy4gSXQnZCBiZSBl YXN5IHRvCisgKiBjb25mdXNlIHdpdGggaW5hY2N1cmF0ZSBlc3RpbWF0ZXMuCisgKgorICogSXQn ZCBiZSBiZXR0ZXIgdG8ga25vdyBhYm91dCB0aGUgZmlsdGVyIGVhcmxpZXIsIHdoZW4gY29uc3Ry dWN0aW5nIHRoZSBzY2FuCisgKiBwYXRoLiBCdXQgdGhhdCdzIG5vdCBxdWl0ZSBmZWFzaWJsZSB3 aXRoIG91ciBib3R0b20tdXAgcGxhbm5lci4gV2hlbiBwbGFuaW5nCisgKiB0aGUgc2Nhbiwgd2Ug ZG9uJ3Qga25vdyB3aGljaCBvZiB0aGUgam9pbnMgYWJvdmUgaXQgd2lsbCBiZSBoYXNoam9pbnMs IG9yCisgKiBpZiBpdCBjYW4gcHVzaGRvd24gdGhlIGZpbHRlci4gV2UnZCBoYXZlIHRvIHNwZWN1 bGF0ZSwgb3IgbWF5YmUgYnVpbGQgbW9yZQorICogcGF0aHMgd2l0aC93aXRob3V0IGV4cGVjdGF0 aW9uIG9mIHRoZSBibG9vbSBmaWx0ZXIgcHVzaGRvd24uIEJ1dCB0aGF0IHNlZW1zCisgKiBub3Qg Z3JlYXQsIGFzIGl0J2QgYWRkIG92ZXJoZWFkIGZvciBldmVyeW9uZS4KKyAqLworc3RhdGljIHZv aWQKK3RyeV9wdXNoX2Jsb29tX2ZpbHRlcihQbGFubmVySW5mbyAqcm9vdCwgSGFzaEpvaW4gKmhq LCBQbGFuICpvdXRlcl9wbGFuKQoreworCUxpc3QJICAgKmhhc2hrZXlzID0gaGotPmhhc2hrZXlz OworCUxpc3QJICAgKmhhc2hvcHMgPSBoai0+aGFzaG9wZXJhdG9yczsKKwlMaXN0CSAgICpoYXNo Y29sbHMgPSBoai0+aGFzaGNvbGxhdGlvbnM7CisJTGlzdENlbGwgICAqbGM7CisJSW5kZXgJCXRh cmdldF9yZWxpZCA9IDA7CisJUGxhbgkgICAqcmVjaXBpZW50OworCUJsb29tRmlsdGVyICpiZjsK KworCS8qIGJhaWwgb3V0IGlmIGZlYXR1cmUgZGlzYWJsZWQuICovCisJaWYgKCFlbmFibGVfaGFz aGpvaW5fYmxvb20pCisJCXJldHVybjsKKworCS8qIFhYWCBzaG91bGRuJ3QgcmVhbGx5IGhhcHBl biwgSSB0aGluayAqLworCWlmIChoYXNoa2V5cyA9PSBOSUwpCisJCXJldHVybjsKKworCUFzc2Vy dChsaXN0X2xlbmd0aChoYXNoa2V5cykgPT0gbGlzdF9sZW5ndGgoaGFzaG9wcykpOworCUFzc2Vy dChsaXN0X2xlbmd0aChoYXNoa2V5cykgPT0gbGlzdF9sZW5ndGgoaGFzaGNvbGxzKSk7CisKKwkv KgorCSAqIFB1c2hkb3duIGlzIHVuc2FmZSBmb3Igam9pbiB0eXBlcyB0aGF0IGVtaXQgdW5tYXRj aGVkIG91dGVyIHR1cGxlcworCSAqIChMRUZUL0FOVEkvRlVMTCk6IHdlJ2QgcmlzayBkcm9wcGlu ZyBvdXRlciB0dXBsZXMgdGhlIGpvaW4gd291bGQKKwkgKiBvdGhlcndpc2UgaGF2ZSBlbWl0dGVk IChwb3NzaWJseSBOVUxMLWV4dGVuZGVkKS4KKwkgKi8KKwlzd2l0Y2ggKGhqLT5qb2luLmpvaW50 eXBlKQorCXsKKwkJY2FzZSBKT0lOX0lOTkVSOgorCQljYXNlIEpPSU5fUklHSFQ6CisJCWNhc2Ug Sk9JTl9TRU1JOgorCQljYXNlIEpPSU5fUklHSFRfU0VNSToKKwkJY2FzZSBKT0lOX1JJR0hUX0FO VEk6CisJCQkvKiB0aGVzZSBqb2luIHR5cGVzIGFyZSBPSyAqLworCQkJYnJlYWs7CisJCWRlZmF1 bHQ6CisJCQlyZXR1cm47CisJfQorCisJLyoKKwkgKiBBbGwgaGFzaGtleXMgbXVzdCBiZSBiYXJl IFZhcnMgcmVmZXJlbmNpbmcgdGhlIHNhbWUgYmFzZSBSVEUuCisJICoKKwkgKiBYWFggV2UgY291 bGQgYmUgYSBiaXQgbGVzcyBzdHJpY3QsIGFuZCBjaGVjayB0aGF0IGF0IGxlYXN0IHNvbWUgb2Yg dGhlCisJICogaGFzaGtleXMgYXJlIGJhcmUgVmFycywgbm90IGFsbCBvZiB0aGVtLiBTbyB3aXRo IGpvaW5zIG9uIG11bHRpcGxlCisJICogZXhwcmVzc2lvbnMgd2UnZCBoYXZlIGJldHRlciBjaGFu Y2UgdG8gcHVzaCBhIGZpbHRlciBkb3duLiBEb2Vzbid0CisJICogc2VlbSB3b3J0aCBpdCwgYXQg bGVhc3QgZm9yIG5vdy4KKwkgKi8KKwlmb3JlYWNoKGxjLCBoYXNoa2V5cykKKwl7CisJCU5vZGUJ ICAgKmsgPSAoTm9kZSAqKSBsZmlyc3QobGMpOworCQlWYXIJCSAgICp2YXI7CisKKwkJLyogbm90 IGEgcGxhaW4gVmFyICovCisJCWlmICghSXNBKGssIFZhcikpCisJCQlyZXR1cm47CisKKwkJdmFy ID0gKFZhciAqKSBrOworCisJCS8qCisJCSAqIFJlamVjdCBvdXRlciByZWZlcmVuY2VzLCB3aG9s ZS1yb3cgb3Igc3lzdGVtIGNvbHVtbnMsIGFuZAorCQkgKiBzcGVjaWFsIHZhcm5vcyAobm90IHN1 cmUgd2UgY2FuIGdldCB0aGVtIGhlcmUsIHRob3VnaCkuCisJCSAqLworCQlpZiAoKHZhci0+dmFy bGV2ZWxzdXAgIT0gMCkgfHwKKwkJCSh2YXItPnZhcmF0dG5vIDw9IDApIHx8CisJCQlJU19TUEVD SUFMX1ZBUk5PKHZhci0+dmFybm8pKQorCQkJcmV0dXJuOworCisJCS8qIG1ha2Ugc3VyZSBhbGwg dGhlIHZhcnMgYXJlIGZvciB0aGUgc2FtZSByZWxpZCAqLworCQlpZiAodGFyZ2V0X3JlbGlkID09 IDApCisJCQl0YXJnZXRfcmVsaWQgPSB2YXItPnZhcm5vOworCQllbHNlIGlmICh2YXItPnZhcm5v ICE9IHRhcmdldF9yZWxpZCkKKwkJCXJldHVybjsKKwl9CisKKwkvKiBzaG91bGQgaGF2ZSBmb3Vu ZCBhdCBsZWFzdCBvbmUgdmFyICovCisJQXNzZXJ0KHRhcmdldF9yZWxpZCAhPSAwKTsKKworCS8q CisJICogU2VlIGlmIHdlIGNhbiBmaW5kIHRoZSBzY2FuIG5vZGUgZm9yIHRhcmdldF9yZWxpZC4g SXQgY2VydGFpbmx5IGlzCisJICogaW4gdGhlIHBsYW4gc29tZXdoZXJlLCBidXQgaXQgbWF5IG5v dCBiZSBhYmxlIHRvIHB1c2hkb3duIHRoZSBmaWx0ZXIKKwkgKiB0byBpdCAoYmVjYXVzZSBvZiBh IGpvaW4gb3Igc28pLgorCSAqLworCXJlY2lwaWVudCA9IGZpbmRfYmxvb21fZmlsdGVyX3JlY2lw aWVudChvdXRlcl9wbGFuLCB0YXJnZXRfcmVsaWQpOworCWlmIChyZWNpcGllbnQgPT0gTlVMTCkK KwkJcmV0dXJuOworCisJLyoKKwkgKiBJZiB3ZSBmb3VuZCBhIHJlY2lwaWVudCwgYXNzaWduIHRo ZSBmaWx0ZXIgYW4gSUQuIFdlJ2xsIHVzZSBpdCB0bworCSAqIHJlZ2lzdGVyIHRoZSBmaWx0ZXIg aW4gRXhlY1JlZ2lzdGVyQmxvb21GaWx0ZXJQcm9kdWNlciwgYW5kIHRoZW4KKwkgKiBmb3IgbG9v a3VwcyBpbiBMb29rdXBCbG9vbUZpbHRlclByb2R1Y2VyIGR1cmluZyBleGVjdXRpb24uCisJICoK KwkgKiBYWFggV2UgY2FuJ3QgdXNlIHBsYW5fbm9kZV9pZCwgYXMgaXQncyBub3QgYXNzaWduZWQg eWV0LCB0aGF0IG9ubHkKKwkgKiBoYXBwZW5zIGluIHNldF9wbGFuX3JlZnMuIEFsc28sIGlmIHdl IGV2ZXIgYWxsb3cgbXVsdGlwbGUgZmlsdGVycworCSAqIHBlciBoYXNodGFibGUgKGUuZy4gZm9y IGRpZmZlcmVudCBzdWJzZXRzIG9mIGtleXMpLCBpdCdzIG5vdCB3b3JrLgorCSAqLworCWhqLT5i bG9vbV9maWx0ZXJfaWQgPSArK3Jvb3QtPmdsb2ItPmxhc3RCbG9vbUZpbHRlcklkOworCisJYmYg PSBtYWtlTm9kZShCbG9vbUZpbHRlcik7CisJYmYtPmZpbHRlcl9leHBycyA9IChMaXN0ICopIGNv cHlPYmplY3QoaGFzaGtleXMpOworCWJmLT5oYXNob3BzID0gbGlzdF9jb3B5KGhhc2hvcHMpOwor CWJmLT5oYXNoY29sbGF0aW9ucyA9IGxpc3RfY29weShoYXNoY29sbHMpOworCWJmLT5wcm9kdWNl cl9pZCA9IGhqLT5ibG9vbV9maWx0ZXJfaWQ7CisKKwlyZWNpcGllbnQtPmJsb29tX2ZpbHRlcnMg PSBsYXBwZW5kKHJlY2lwaWVudC0+Ymxvb21fZmlsdGVycywgYmYpOworCisJLyoKKwkgKiBYWFgg V2UndmUgbWFuZ2VkIHRvIHB1c2ggdGhlIGZpbHRlciB0byB0aGUgc2NhbiBub2RlLCBidXQgbWF5 YmUKKwkgKiB3ZSBzaG91bGQgd2FpdCB3aXRoIHVwZGF0aW5nIGJsb29tX2NvbnN1bWVyX2NvdW50 IHdoZW4gaXQgYWN0dWFsbHkKKwkgKiBpbml0aWFsaXplcyB0aGUgZmlsdGVycyBpbiBFeGVjSW5p dCgpPworCSAqLworCWhqLT5ibG9vbV9jb25zdW1lcl9jb3VudCsrOworfQorCiBzdGF0aWMgSGFz aEpvaW4gKgogY3JlYXRlX2hhc2hqb2luX3BsYW4oUGxhbm5lckluZm8gKnJvb3QsCiAJCQkJCSBI YXNoUGF0aCAqYmVzdF9wYXRoKQpAQCAtNDg1OSw2ICs1MTUxLDEzIEBAIGNyZWF0ZV9oYXNoam9p bl9wbGFuKFBsYW5uZXJJbmZvICpyb290LAogCiAJY29weV9nZW5lcmljX3BhdGhfaW5mbygmam9p bl9wbGFuLT5qb2luLnBsYW4sICZiZXN0X3BhdGgtPmpwYXRoLnBhdGgpOwogCisJLyoKKwkgKiBU cnkgdG8gcHVzaCB0aGUgYmxvb20gZmlsdGVyIGZvciB0aGUgaGFzaHRhYmxlIGRvd24gdG8gbm9k ZXMgaW4gdGhlIG91dGVyCisJICogc3VidHJlZS4gSWYgYSBzdWl0YWJsZSBzY2FuIG5vZGUgZXhp c3RzLCBhZGQgdGhlIGZpbHRlciB0byBibG9vbV9maWx0ZXJzLAorCSAqIGFuZCBidW1wIG91ciBi bG9vbV9jb25zdW1lcl9jb3VudC4KKwkgKi8KKwl0cnlfcHVzaF9ibG9vbV9maWx0ZXIocm9vdCwg am9pbl9wbGFuLCBvdXRlcl9wbGFuKTsKKwogCXJldHVybiBqb2luX3BsYW47CiB9CiAKZGlmZiAt LWdpdCBhL3NyYy9iYWNrZW5kL29wdGltaXplci9wbGFuL3BsYW5uZXIuYyBiL3NyYy9iYWNrZW5k L29wdGltaXplci9wbGFuL3BsYW5uZXIuYwppbmRleCA4NDZiZDdjMWZiZS4uZTdjYTM0NzJkN2Mg MTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL29wdGltaXplci9wbGFuL3BsYW5uZXIuYworKysgYi9z cmMvYmFja2VuZC9vcHRpbWl6ZXIvcGxhbi9wbGFubmVyLmMKQEAgLTM4OSw2ICszODksNyBAQCBz dGFuZGFyZF9wbGFubmVyKFF1ZXJ5ICpwYXJzZSwgY29uc3QgY2hhciAqcXVlcnlfc3RyaW5nLCBp bnQgY3Vyc29yT3B0aW9ucywKIAlnbG9iLT5sYXN0UEhJZCA9IDA7CiAJZ2xvYi0+bGFzdFJvd01h cmtJZCA9IDA7CiAJZ2xvYi0+bGFzdFBsYW5Ob2RlSWQgPSAwOworCWdsb2ItPmxhc3RCbG9vbUZp bHRlcklkID0gMDsKIAlnbG9iLT50cmFuc2llbnRQbGFuID0gZmFsc2U7CiAJZ2xvYi0+ZGVwZW5k c09uUm9sZSA9IGZhbHNlOwogCWdsb2ItPnBhcnRpdGlvbl9kaXJlY3RvcnkgPSBOVUxMOwpkaWZm IC0tZ2l0IGEvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3BsYW4vc2V0cmVmcy5jIGIvc3JjL2JhY2tl bmQvb3B0aW1pemVyL3BsYW4vc2V0cmVmcy5jCmluZGV4IGZmMGU4NzVmMmEyLi4wMDU5YWNmY2Ni ZSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3BsYW4vc2V0cmVmcy5jCisrKyBi L3NyYy9iYWNrZW5kL29wdGltaXplci9wbGFuL3NldHJlZnMuYwpAQCAtMTYxLDYgKzE2MSw3IEBA IHN0YXRpYyBOb2RlICpmaXhfc2Nhbl9leHByKFBsYW5uZXJJbmZvICpyb290LCBOb2RlICpub2Rl LAogCQkJCQkJICAgaW50IHJ0b2Zmc2V0LCBkb3VibGUgbnVtX2V4ZWMpOwogc3RhdGljIE5vZGUg KmZpeF9zY2FuX2V4cHJfbXV0YXRvcihOb2RlICpub2RlLCBmaXhfc2Nhbl9leHByX2NvbnRleHQg KmNvbnRleHQpOwogc3RhdGljIGJvb2wgZml4X3NjYW5fZXhwcl93YWxrZXIoTm9kZSAqbm9kZSwg Zml4X3NjYW5fZXhwcl9jb250ZXh0ICpjb250ZXh0KTsKK3N0YXRpYyB2b2lkIGZpeF9zY2FuX2Js b29tX2ZpbHRlcnMoUGxhbm5lckluZm8gKnJvb3QsIFBsYW4gKnBsYW4sIGludCBydG9mZnNldCk7 CiBzdGF0aWMgdm9pZCBzZXRfam9pbl9yZWZlcmVuY2VzKFBsYW5uZXJJbmZvICpyb290LCBKb2lu ICpqb2luLCBpbnQgcnRvZmZzZXQpOwogc3RhdGljIHZvaWQgc2V0X3VwcGVyX3JlZmVyZW5jZXMo UGxhbm5lckluZm8gKnJvb3QsIFBsYW4gKnBsYW4sIGludCBydG9mZnNldCk7CiBzdGF0aWMgdm9p ZCBzZXRfcGFyYW1fcmVmZXJlbmNlcyhQbGFubmVySW5mbyAqcm9vdCwgUGxhbiAqcGxhbik7CkBA IC02NjUsNiArNjY2LDkgQEAgc2V0X3BsYW5fcmVmcyhQbGFubmVySW5mbyAqcm9vdCwgUGxhbiAq cGxhbiwgaW50IHJ0b2Zmc2V0KQogCQkJCXNwbGFuLT5zY2FuLnBsYW4ucXVhbCA9CiAJCQkJCWZp eF9zY2FuX2xpc3Qocm9vdCwgc3BsYW4tPnNjYW4ucGxhbi5xdWFsLAogCQkJCQkJCQkgIHJ0b2Zm c2V0LCBOVU1fRVhFQ19RVUFMKHBsYW4pKTsKKworCQkJCS8qIHB1c2hlZC1kb3duIGJsb29tIGZp bHRlcnMgKi8KKwkJCQlmaXhfc2Nhbl9ibG9vbV9maWx0ZXJzKHJvb3QsIHBsYW4sIHJ0b2Zmc2V0 KTsKIAkJCX0KIAkJCWJyZWFrOwogCQljYXNlIFRfU2FtcGxlU2NhbjoKQEAgLTY4MSw2ICs2ODUs OSBAQCBzZXRfcGxhbl9yZWZzKFBsYW5uZXJJbmZvICpyb290LCBQbGFuICpwbGFuLCBpbnQgcnRv ZmZzZXQpCiAJCQkJc3BsYW4tPnRhYmxlc2FtcGxlID0gKFRhYmxlU2FtcGxlQ2xhdXNlICopCiAJ CQkJCWZpeF9zY2FuX2V4cHIocm9vdCwgKE5vZGUgKikgc3BsYW4tPnRhYmxlc2FtcGxlLAogCQkJ CQkJCQkgIHJ0b2Zmc2V0LCAxKTsKKworCQkJCS8qIHB1c2hlZC1kb3duIGJsb29tIGZpbHRlcnMg Ki8KKwkJCQlmaXhfc2Nhbl9ibG9vbV9maWx0ZXJzKHJvb3QsIHBsYW4sIHJ0b2Zmc2V0KTsKIAkJ CX0KIAkJCWJyZWFrOwogCQljYXNlIFRfSW5kZXhTY2FuOgpAQCAtNzA2LDYgKzcxMyw5IEBAIHNl dF9wbGFuX3JlZnMoUGxhbm5lckluZm8gKnJvb3QsIFBsYW4gKnBsYW4sIGludCBydG9mZnNldCkK IAkJCQlzcGxhbi0+aW5kZXhvcmRlcmJ5b3JpZyA9CiAJCQkJCWZpeF9zY2FuX2xpc3Qocm9vdCwg c3BsYW4tPmluZGV4b3JkZXJieW9yaWcsCiAJCQkJCQkJCSAgcnRvZmZzZXQsIE5VTV9FWEVDX1FV QUwocGxhbikpOworCisJCQkJLyogcHVzaGVkLWRvd24gYmxvb20gZmlsdGVycyAqLworCQkJCWZp eF9zY2FuX2Jsb29tX2ZpbHRlcnMocm9vdCwgcGxhbiwgcnRvZmZzZXQpOwogCQkJfQogCQkJYnJl YWs7CiAJCWNhc2UgVF9JbmRleE9ubHlTY2FuOgpAQCAtNzQ0LDYgKzc1NCw5IEBAIHNldF9wbGFu X3JlZnMoUGxhbm5lckluZm8gKnJvb3QsIFBsYW4gKnBsYW4sIGludCBydG9mZnNldCkKIAkJCQlz cGxhbi0+Yml0bWFwcXVhbG9yaWcgPQogCQkJCQlmaXhfc2Nhbl9saXN0KHJvb3QsIHNwbGFuLT5i aXRtYXBxdWFsb3JpZywKIAkJCQkJCQkJICBydG9mZnNldCwgTlVNX0VYRUNfUVVBTChwbGFuKSk7 CisKKwkJCQkvKiBwdXNoZWQtZG93biBibG9vbSBmaWx0ZXJzICovCisJCQkJZml4X3NjYW5fYmxv b21fZmlsdGVycyhyb290LCBwbGFuLCBydG9mZnNldCk7CiAJCQl9CiAJCQlicmVhazsKIAkJY2Fz ZSBUX1RpZFNjYW46CkBAIC03NjAsNiArNzczLDkgQEAgc2V0X3BsYW5fcmVmcyhQbGFubmVySW5m byAqcm9vdCwgUGxhbiAqcGxhbiwgaW50IHJ0b2Zmc2V0KQogCQkJCXNwbGFuLT50aWRxdWFscyA9 CiAJCQkJCWZpeF9zY2FuX2xpc3Qocm9vdCwgc3BsYW4tPnRpZHF1YWxzLAogCQkJCQkJCQkgIHJ0 b2Zmc2V0LCAxKTsKKworCQkJCS8qIHB1c2hlZC1kb3duIGJsb29tIGZpbHRlcnMgKi8KKwkJCQlm aXhfc2Nhbl9ibG9vbV9maWx0ZXJzKHJvb3QsIHBsYW4sIHJ0b2Zmc2V0KTsKIAkJCX0KIAkJCWJy ZWFrOwogCQljYXNlIFRfVGlkUmFuZ2VTY2FuOgpAQCAtNzc2LDYgKzc5Miw5IEBAIHNldF9wbGFu X3JlZnMoUGxhbm5lckluZm8gKnJvb3QsIFBsYW4gKnBsYW4sIGludCBydG9mZnNldCkKIAkJCQlz cGxhbi0+dGlkcmFuZ2VxdWFscyA9CiAJCQkJCWZpeF9zY2FuX2xpc3Qocm9vdCwgc3BsYW4tPnRp ZHJhbmdlcXVhbHMsCiAJCQkJCQkJCSAgcnRvZmZzZXQsIDEpOworCisJCQkJLyogcHVzaGVkLWRv d24gYmxvb20gZmlsdGVycyAqLworCQkJCWZpeF9zY2FuX2Jsb29tX2ZpbHRlcnMocm9vdCwgcGxh biwgcnRvZmZzZXQpOwogCQkJfQogCQkJYnJlYWs7CiAJCWNhc2UgVF9TdWJxdWVyeVNjYW46CkBA IC0xNDI2LDYgKzE0NDUsMzAgQEAgc2V0X2luZGV4b25seXNjYW5fcmVmZXJlbmNlcyhQbGFubmVy SW5mbyAqcm9vdCwKIAkJCQkJICAgcnRvZmZzZXQsCiAJCQkJCSAgIE5STV9FUVVBTCwKIAkJCQkJ ICAgTlVNX0VYRUNfUVVBTCgoUGxhbiAqKSBwbGFuKSk7CisJLyoKKwkgKiBCbG9vbSBmaWx0ZXIg cHVzaGRvd246IGFueSBCbG9vbUZpbHRlciByZWNpcGllbnQgbGlzdHMgYWxzbyBuZWVkCisJICog dGhlaXIga2V5IGV4cHJlc3Npb25zIHJld3JpdHRlbiB0byByZWZlcmVuY2UgdGhlIGluZGV4IHR1 cGxlLCBzaW5jZQorCSAqIHRoYXQncyB3aGF0IHRoZSByZWNpcGllbnQgc2NhbiByZXR1cm5zIGFu ZCB3aGF0IEV4ZWNCbG9vbUZpbHRlcnMKKwkgKiB3aWxsIGV2YWx1YXRlIGFnYWluc3QuCisJICov CisJaWYgKHBsYW4tPnNjYW4ucGxhbi5ibG9vbV9maWx0ZXJzICE9IE5JTCkKKwl7CisJCUxpc3RD ZWxsICAgKmxjMjsKKworCQlmb3JlYWNoKGxjMiwgcGxhbi0+c2Nhbi5wbGFuLmJsb29tX2ZpbHRl cnMpCisJCXsKKwkJCUJsb29tRmlsdGVyICpiZiA9IGxmaXJzdF9ub2RlKEJsb29tRmlsdGVyLCBs YzIpOworCisJCQliZi0+ZmlsdGVyX2V4cHJzID0gKExpc3QgKikKKwkJCQlmaXhfdXBwZXJfZXhw cihyb290LAorCQkJCQkJCSAgIChOb2RlICopIGJmLT5maWx0ZXJfZXhwcnMsCisJCQkJCQkJICAg aW5kZXhfaXRsaXN0LAorCQkJCQkJCSAgIElOREVYX1ZBUiwKKwkJCQkJCQkgICBydG9mZnNldCwK KwkJCQkJCQkgICBOUk1fRVFVQUwsCisJCQkJCQkJICAgTlVNX0VYRUNfUVVBTCgoUGxhbiAqKSBw bGFuKSk7CisJCX0KKwl9CiAJLyogaW5kZXhxdWFsIGlzIGFscmVhZHkgdHJhbnNmb3JtZWQgdG8g cmVmZXJlbmNlIGluZGV4IGNvbHVtbnMgKi8KIAlwbGFuLT5pbmRleHF1YWwgPSBmaXhfc2Nhbl9s aXN0KHJvb3QsIHBsYW4tPmluZGV4cXVhbCwKIAkJCQkJCQkJCXJ0b2Zmc2V0LCAxKTsKQEAgLTIz OTgsNiArMjQ0MSwyNiBAQCBmaXhfc2Nhbl9leHByX3dhbGtlcihOb2RlICpub2RlLCBmaXhfc2Nh bl9leHByX2NvbnRleHQgKmNvbnRleHQpCiAJcmV0dXJuIGV4cHJlc3Npb25fdHJlZV93YWxrZXIo bm9kZSwgZml4X3NjYW5fZXhwcl93YWxrZXIsIGNvbnRleHQpOwogfQogCisvKgorICogRml4IHJl ZmVyZW5jZXMgaW4gaGFzaGtleSBleHByZXNzaW9ucyBvZiBibG9vbSBmaWx0ZXJzIHB1c2hlZCBk b3duLgorICovCitzdGF0aWMgdm9pZAorZml4X3NjYW5fYmxvb21fZmlsdGVycyhQbGFubmVySW5m byAqcm9vdCwgUGxhbiAqcGxhbiwgaW50IHJ0b2Zmc2V0KQoreworCUxpc3RDZWxsICAgKmxjOwor CisJaWYgKHBsYW4tPmJsb29tX2ZpbHRlcnMgPT0gTklMKQorCQlyZXR1cm47CisKKwlmb3JlYWNo KGxjLCBwbGFuLT5ibG9vbV9maWx0ZXJzKQorCXsKKwkJQmxvb21GaWx0ZXIgKmJmID0gbGZpcnN0 X25vZGUoQmxvb21GaWx0ZXIsIGxjKTsKKworCQliZi0+ZmlsdGVyX2V4cHJzID0gZml4X3NjYW5f bGlzdChyb290LCBiZi0+ZmlsdGVyX2V4cHJzLCBydG9mZnNldCwKKwkJCQkJCQkJCQkgTlVNX0VY RUNfUVVBTChwbGFuKSk7CisJfQorfQorCiAvKgogICogc2V0X2pvaW5fcmVmZXJlbmNlcwogICoJ ICBNb2RpZnkgdGhlIHRhcmdldCBsaXN0IGFuZCBxdWFscyBvZiBhIGpvaW4gbm9kZSB0byByZWZl cmVuY2UgaXRzCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y19wYXJhbWV0 ZXJzLmRhdCBiL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjX3BhcmFtZXRlcnMuZGF0CmluZGV4 IDNjMWU2YjMxYmY4Li5jOWRjYjI5NGQ0ZCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMv bWlzYy9ndWNfcGFyYW1ldGVycy5kYXQKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9ndWNf cGFyYW1ldGVycy5kYXQKQEAgLTkxOSw2ICs5MTksMTMgQEAKICAgYm9vdF92YWwgPT4gJ3RydWUn LAogfSwKIAoreyBuYW1lID0+ICdlbmFibGVfaGFzaGpvaW5fYmxvb20nLCB0eXBlID0+ICdib29s JywgY29udGV4dCA9PiAnUEdDX1VTRVJTRVQnLCBncm91cCA9PiAnUVVFUllfVFVOSU5HX01FVEhP RCcsCisgIHNob3J0X2Rlc2MgPT4gJ0VuYWJsZXMgaGFzaCBqb2luIGJsb29tIGZpbHRlciBwdXNo ZG93biB0byB0aGUgb3V0ZXIgc2lkZS4nLAorICBmbGFncyA9PiAnR1VDX0VYUExBSU4nLAorICB2 YXJpYWJsZSA9PiAnZW5hYmxlX2hhc2hqb2luX2Jsb29tJywKKyAgYm9vdF92YWwgPT4gJ3RydWUn LAorfSwKKwogeyBuYW1lID0+ICdlbmFibGVfaW5jcmVtZW50YWxfc29ydCcsIHR5cGUgPT4gJ2Jv b2wnLCBjb250ZXh0ID0+ICdQR0NfVVNFUlNFVCcsIGdyb3VwID0+ICdRVUVSWV9UVU5JTkdfTUVU SE9EJywKICAgc2hvcnRfZGVzYyA9PiAnRW5hYmxlcyB0aGUgcGxhbm5lclwncyB1c2Ugb2YgaW5j cmVtZW50YWwgc29ydCBzdGVwcy4nLAogICBmbGFncyA9PiAnR1VDX0VYUExBSU4nLApkaWZmIC0t Z2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9wb3N0Z3Jlc3FsLmNvbmYuc2FtcGxlIGIvc3Jj L2JhY2tlbmQvdXRpbHMvbWlzYy9wb3N0Z3Jlc3FsLmNvbmYuc2FtcGxlCmluZGV4IDg2ZjJlMTZl YmEwLi4zNGY5OGI0MmZmNiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9wb3N0 Z3Jlc3FsLmNvbmYuc2FtcGxlCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvcG9zdGdyZXNx bC5jb25mLnNhbXBsZQpAQCAtNDQ4LDYgKzQ0OCw3IEBACiAjZW5hYmxlX2Rpc3RpbmN0X3Jlb3Jk ZXJpbmcgPSBvbgogI2VuYWJsZV9zZWxmX2pvaW5fZWxpbWluYXRpb24gPSBvbgogI2VuYWJsZV9l YWdlcl9hZ2dyZWdhdGUgPSBvbgorI2VuYWJsZV9oYXNoam9pbl9ibG9vbSA9IG9uCiAKICMgLSBQ bGFubmVyIENvc3QgQ29uc3RhbnRzIC0KIApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvZXhlY3V0 b3IvZXhlY1NjYW4uaCBiL3NyYy9pbmNsdWRlL2V4ZWN1dG9yL2V4ZWNTY2FuLmgKaW5kZXggMThi MDMyMzVjM2MuLjhjZmU5YjAzYzNlIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9leGVjdXRvci9l eGVjU2Nhbi5oCisrKyBiL3NyYy9pbmNsdWRlL2V4ZWN1dG9yL2V4ZWNTY2FuLmgKQEAgLTE3MCwx MCArMTcwLDExIEBAIEV4ZWNTY2FuRXh0ZW5kZWQoU2NhblN0YXRlICpub2RlLAogCS8qIGludGVy cnVwdCBjaGVja3MgYXJlIGluIEV4ZWNTY2FuRmV0Y2ggKi8KIAogCS8qCi0JICogSWYgd2UgaGF2 ZSBuZWl0aGVyIGEgcXVhbCB0byBjaGVjayBub3IgYSBwcm9qZWN0aW9uIHRvIGRvLCBqdXN0IHNr aXAKLQkgKiBhbGwgdGhlIG92ZXJoZWFkIGFuZCByZXR1cm4gdGhlIHJhdyBzY2FuIHR1cGxlLgor CSAqIElmIHdlIGhhdmUgbmVpdGhlciBhIHF1YWwgdG8gY2hlY2sgbm9yIGEgcHJvamVjdGlvbiB0 byBkbyBub3IgYW55CisJICogcHVzaGVkLWRvd24gYmxvb20gZmlsdGVyIHRvIHByb2JlLCBqdXN0 IHNraXAgYWxsIHRoZSBvdmVyaGVhZCBhbmQKKwkgKiByZXR1cm4gdGhlIHJhdyBzY2FuIHR1cGxl LgogCSAqLwotCWlmICghcXVhbCAmJiAhcHJvakluZm8pCisJaWYgKCFxdWFsICYmICFwcm9qSW5m byAmJiBub2RlLT5wcy5ibG9vbV9maWx0ZXJzID09IE5JTCkKIAl7CiAJCVJlc2V0RXhwckNvbnRl eHQoZWNvbnRleHQpOwogCQlyZXR1cm4gRXhlY1NjYW5GZXRjaChub2RlLCBlcHFzdGF0ZSwgYWNj ZXNzTXRkLCByZWNoZWNrTXRkKTsKQEAgLTIxNCw2ICsyMTUsMjEgQEAgRXhlY1NjYW5FeHRlbmRl ZChTY2FuU3RhdGUgKm5vZGUsCiAJCSAqLwogCQllY29udGV4dC0+ZWN4dF9zY2FudHVwbGUgPSBz bG90OwogCisJCS8qCisJCSAqIElmIHJ1bnRpbWUgYmxvb20gZmlsdGVycyBoYXZlIGJlZW4gcHVz aGVkIGRvd24gdG8gdGhpcyBzY2FuLAorCQkgKiBjaGVjayB0aGVtIGZpcnN0LiBBIHJlamVjdGVk IHR1cGxlIGlzIGRyb3BwZWQgc2lsZW50bHkgKG5vCisJCSAqICJSb3dzIFJlbW92ZWQgYnkgRmls dGVyIiBpbnN0cnVtZW50YXRpb24gLS0gdGhlIHBlci1maWx0ZXIKKwkJICogY291bnRlcnMgaW4g Qmxvb21GaWx0ZXJTdGF0ZSBhbHJlYWR5IGNhcHR1cmUgdGhpcykuCisJCSAqCisJCSAqIFhYWCBN YXliZSB3ZSBzaG91bGQgaW5jbHVkZSB0aGlzIGluICJSb3dzIFJlbW92ZWQgYnkgRmlsdGVyIj8K KwkJICovCisJCWlmIChub2RlLT5wcy5ibG9vbV9maWx0ZXJzICE9IE5JTCAmJgorCQkJIUV4ZWNC bG9vbUZpbHRlcnMobm9kZS0+cHMuYmxvb21fZmlsdGVycywgZWNvbnRleHQpKQorCQl7CisJCQlS ZXNldEV4cHJDb250ZXh0KGVjb250ZXh0KTsKKwkJCWNvbnRpbnVlOworCQl9CisKIAkJLyoKIAkJ ICogY2hlY2sgdGhhdCB0aGUgY3VycmVudCB0dXBsZSBzYXRpc2ZpZXMgdGhlIHF1YWwtY2xhdXNl CiAJCSAqCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9leGVjdXRvci9leGVjdXRvci5oIGIvc3Jj L2luY2x1ZGUvZXhlY3V0b3IvZXhlY3V0b3IuaAppbmRleCAxNzk4ZTYwMjdkNC4uMTJiMGIyZmFl ZGYgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2V4ZWN1dG9yL2V4ZWN1dG9yLmgKKysrIGIvc3Jj L2luY2x1ZGUvZXhlY3V0b3IvZXhlY3V0b3IuaApAQCAtNTE0LDYgKzUxNCwxOCBAQCBFeGVjUHJv amVjdChQcm9qZWN0aW9uSW5mbyAqcHJvakluZm8pCiB9CiAjZW5kaWYKIAorLyoKKyAqIEJsb29t IGZpbHRlciBwdXNoZG93biAoc2VlIG5vZGVIYXNoam9pbi5jKS4gRGVjbGFyZWQgaGVyZSBzbyB0 aGF0CisgKiBzY2FuIG5vZGVzIHRoYXQgYWN0IGFzIHJlY2lwaWVudHMgZG9uJ3QgbmVlZCB0byBw dWxsIGluIGhhc2hqb2luCisgKiBpbnRlcm5hbHMganVzdCB0byBjYWxsIHRoZXNlIGhlbHBlcnMg ZnJvbSB0aGVpciBFeGVjSW5pdC4KKyAqCisgKiBYWFggVGhlcmUncyBwcm9iYWJseSBhIGJldHRl ciBwbGFjZSBmb3IgdGhpcy4gSXQgc2hvdWxkIGxpdmUgaW4KKyAqIHRoZSBleGVjdXRvciBzb21l d2hlcmUsIG5vdCBpbiBub2RlSGFzaGpvaW4uYz8KKyAqLworZXh0ZXJuIGJvb2wgRXhlY0Jsb29t RmlsdGVycyhMaXN0ICpmaWx0ZXJzLCBFeHByQ29udGV4dCAqZWNvbnRleHQpOworZXh0ZXJuIHZv aWQgRXhlY0luaXRCbG9vbUZpbHRlcnMoUGxhblN0YXRlICpwbGFuc3RhdGUsCisJCQkJCQkJCSBU dXBsZVRhYmxlU2xvdCAqb3V0cHV0X3Nsb3QpOworCiAvKgogICogRXhlY1F1YWwgLSBldmFsdWF0 ZSBhIHF1YWwgcHJlcGFyZWQgd2l0aCBFeGVjSW5pdFF1YWwgKHBvc3NpYmx5IHZpYQogICogRXhl Y1ByZXBhcmVRdWFsKS4gIFJldHVybnMgdHJ1ZSBpZiBxdWFsIGlzIHNhdGlzZmllZCwgZWxzZSBm YWxzZS4KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2V4ZWN1dG9yL25vZGVIYXNoam9pbi5oIGIv c3JjL2luY2x1ZGUvZXhlY3V0b3Ivbm9kZUhhc2hqb2luLmgKaW5kZXggYWViZDM5YmU4YjUuLjA4 ZWZlZmFlMjA5IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9leGVjdXRvci9ub2RlSGFzaGpvaW4u aAorKysgYi9zcmMvaW5jbHVkZS9leGVjdXRvci9ub2RlSGFzaGpvaW4uaApAQCAtMzEsNCArMzEs MTMgQEAgZXh0ZXJuIHZvaWQgRXhlY0hhc2hKb2luSW5pdGlhbGl6ZVdvcmtlcihIYXNoSm9pblN0 YXRlICpzdGF0ZSwKIGV4dGVybiB2b2lkIEV4ZWNIYXNoSm9pblNhdmVUdXBsZShNaW5pbWFsVHVw bGUgdHVwbGUsIHVpbnQzMiBoYXNodmFsdWUsCiAJCQkJCQkJCSAgQnVmRmlsZSAqKmZpbGVwdHIs IEhhc2hKb2luVGFibGUgaGFzaHRhYmxlKTsKIAorLyoKKyAqIEJsb29tIGZpbHRlciBwdXNoZG93 biBwcm9kdWNlci1zaWRlIGhlbHBlciAoc2VlIG5vZGVIYXNoam9pbi5jKS4KKyAqCisgKiBFeGVj Qmxvb21GaWx0ZXJzIGFuZCBFeGVjSW5pdEJsb29tRmlsdGVycyBsaXZlIGluIGV4ZWN1dG9yLmgg c28gdGhhdAorICogc2NhbiBub2RlcyBjYW4gY2FsbCB0aGVtIGZyb20gRXhlY0luaXQgd2l0aG91 dCBoYXZpbmcgdG8gcHVsbCBpbgorICogaGFzaGpvaW4gaW50ZXJuYWxzLgorICovCitleHRlcm4g dm9pZCBFeGVjUmVnaXN0ZXJCbG9vbUZpbHRlclByb2R1Y2VyKEhhc2hKb2luU3RhdGUgKmhqc3Rh dGUpOworCiAjZW5kaWYJCQkJCQkJLyogTk9ERUhBU0hKT0lOX0ggKi8KZGlmZiAtLWdpdCBhL3Ny Yy9pbmNsdWRlL2xpYi9ibG9vbWZpbHRlci5oIGIvc3JjL2luY2x1ZGUvbGliL2Jsb29tZmlsdGVy LmgKaW5kZXggODYwZWU5YmRjNzIuLjZiMDAyNmM4YzQ1IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVk ZS9saWIvYmxvb21maWx0ZXIuaAorKysgYi9zcmMvaW5jbHVkZS9saWIvYmxvb21maWx0ZXIuaApA QCAtMjMsNSArMjMsNyBAQCBleHRlcm4gdm9pZCBibG9vbV9hZGRfZWxlbWVudChibG9vbV9maWx0 ZXIgKmZpbHRlciwgdW5zaWduZWQgY2hhciAqZWxlbSwKIGV4dGVybiBib29sIGJsb29tX2xhY2tz X2VsZW1lbnQoYmxvb21fZmlsdGVyICpmaWx0ZXIsIHVuc2lnbmVkIGNoYXIgKmVsZW0sCiAJCQkJ CQkJCXNpemVfdCBsZW4pOwogZXh0ZXJuIGRvdWJsZSBibG9vbV9wcm9wX2JpdHNfc2V0KGJsb29t X2ZpbHRlciAqZmlsdGVyKTsKK2V4dGVybiB1aW50NjQgYmxvb21fdG90YWxfYml0cyhibG9vbV9m aWx0ZXIgKmZpbHRlcik7CitleHRlcm4gaW50IGJsb29tX2hhc2hfZnVuY3MoYmxvb21fZmlsdGVy ICpmaWx0ZXIpOwogCiAjZW5kaWYJCQkJCQkJLyogQkxPT01GSUxURVJfSCAqLwpkaWZmIC0tZ2l0 IGEvc3JjL2luY2x1ZGUvbm9kZXMvZXhlY25vZGVzLmggYi9zcmMvaW5jbHVkZS9ub2Rlcy9leGVj bm9kZXMuaAppbmRleCBlNjRmZDhjN2VhMy4uYWFkNzIxZjM0MjEgMTAwNjQ0Ci0tLSBhL3NyYy9p bmNsdWRlL25vZGVzL2V4ZWNub2Rlcy5oCisrKyBiL3NyYy9pbmNsdWRlL25vZGVzL2V4ZWNub2Rl cy5oCkBAIC03NjMsNiArNzYzLDE0IEBAIHR5cGVkZWYgc3RydWN0IEVTdGF0ZQogCiAJTGlzdAkg ICAqZXNfYXV4bW9kaWZ5dGFibGVzOyAvKiBMaXN0IG9mIHNlY29uZGFyeSBNb2RpZnlUYWJsZVN0 YXRlcyAqLwogCisJLyoKKwkgKiBMaXN0IG9mIG5vZGVzIHByb2R1Y2luZyBwdXNoZWQtZG93biBi bG9vbSBmaWx0ZXJzLiBFYWNoIGxpc3QgZWxlbWVudAorCSAqIGlzIGEgSGFzaEpvaW5TdGF0ZSB3 aXRoIGF0IGxlYXN0IG9uZSBmaWx0ZXIgcHVzaGVkIGRvd24gdG8gYSBzY2FuIG5vZGUuCisJICog U2NhbnMgbG9vayB1cCB0aGVpciBwcm9kdWNlciBpbiB0aGlzIGxpc3QgKGJ5IHBsYW5fbm9kZV9p ZCkgbGF6aWx5IG9uCisJICogZmlyc3QgcHJvYmUgKGFuZCBjYWNoZSB0aGUgcmVzdWx0KS4KKwkg Ki8KKwlMaXN0CSAgICplc19ibG9vbV9wcm9kdWNlcnM7CisKIAkvKgogCSAqIHRoaXMgRXhwckNv bnRleHQgaXMgZm9yIHBlci1vdXRwdXQtdHVwbGUgb3BlcmF0aW9ucywgc3VjaCBhcyBjb25zdHJh aW50CiAJICogY2hlY2tzIGFuZCBpbmRleC12YWx1ZSBjb21wdXRhdGlvbnMuICBJdCB3aWxsIGJl IHJlc2V0IGZvciBlYWNoIG91dHB1dApAQCAtMTI4Nyw4ICsxMjk1LDU4IEBAIHR5cGVkZWYgc3Ry dWN0IFBsYW5TdGF0ZQogCWJvb2wJCW91dGVyb3Bzc2V0OwogCWJvb2wJCWlubmVyb3Bzc2V0Owog CWJvb2wJCXJlc3VsdG9wc3NldDsKKworCS8qCisJICogQmxvb20gZmlsdGVycyAoQmxvb21GaWx0 ZXJTdGF0ZSkgcHVzaGVkIHRvIHRoaXMgbm9kZSAoTklMIGlmIG5vCisJICogZmlsdGVycyB3ZXJl IHB1c2hlZCBkb3duIHRvIHRoaXMgbm9kZSkuIFJpZ2h0IG5vdyBvbmx5IHNvbWUgc2NhbgorCSAq IG5vZGVzIGV4cGVjdCBmaWx0ZXJzLCBidXQgdGhlIGxpc3QgaXMgaW4gUGxhblN0YXRlIHNvIHRo YXQgd2UgY2FuCisJICogZXhwYW5kIHRoZSBmZWF0dXJlIHRvIG1vcmUgbm9kZXMgaW4gdGhlIGZ1 dHVyZS4KKwkgKi8KKwlMaXN0CSAgICpibG9vbV9maWx0ZXJzOwogfSBQbGFuU3RhdGU7CiAKKy8q CisgKiBCbG9vbUZpbHRlclN0YXRlCisgKgorICogU3RhdGUgZm9yIGV4ZWN1dGluZyAoZXZhbHVh dGluZykgYSBCbG9vbUZpbHRlciwgcHVzaGVkIHRvIGEgc2NhbiBub2RlLgorICoKKyAqIFRoZSBw cm9kdWNlciBpcyB0aGUgSGFzaEpvaW5TdGF0ZSB0aGlzIGJsb29tIGZpbHRlciBpcyBmb3IuIEl0 J3MgcmVzb2x2ZWQKKyAqIGF0IGV4ZWN1dG9yLWluaXQgdGltZSB1c2luZyBFU3RhdGUuZXNfYmxv b21fcHJvZHVjZXJzICh0aGUgcHJvZHVjZXIgYWx3YXlzCisgKiBydW5zIEV4ZWNJbml0IGJlZm9y ZSBpdHMgcmVjaXBpZW50cykuCisgKgorICogJ2NoZWNrZWQnIGFuZCAncmVqZWN0ZWQnIGFyZSBw ZXItcmVjaXBpZW50IGNvdW50ZXJzIHJlcG9ydGVkIGJ5IEVYUExBSU4KKyAqIEFOQUxZWkUuIEl0 J3MgYSBiaXQgcmVkdW5kYW50IHdpdGggdGhlIGZpZWxkcyB3ZSBoYXZlIGluIHRoZSBwcm9kdWNl cgorICogKHNlZSBIYXNoU3RhdGUpLiBCdXQgaWYgd2UgZXZlciBlbmQgdXAgd2l0aCBtdWx0aXBs ZSBjb25zdW1lcnMgcGVyIGZpbHRlciwKKyAqIGl0J2QgYmUgdXNlZnVsLgorICoKKyAqIFRoZSBh ZGFwdGl2ZSBmaWVsZHMgdHJhY2sgdGhlIG1hdGNoIGZyYWN0aW9uIGluIHJlY2VudGx5IGNoZWNr ZWQgcHJvYmVzLgorICogV2hlbiBtb3N0IGNoZWNrcyBhcmUgcGFzc2luZyB0aHJvdWdoLCB0aGUg ZXhlY3V0b3Igc3RhcnRzIHByb2JpbmcgbGVzcworICogZnJlcXVlbnRseSAoYW5kIHNhbXBsaW5n IHByb2JlcyBpbnN0ZWFkKSwgdW50aWwgdGhlIGZyYWN0aW9uIG9mIG1hdGNoZXMKKyAqIGRyb3Bz IGJlbG93IHNvbWUgdGhyZXNob2xkLgorICovCit0eXBlZGVmIHN0cnVjdCBCbG9vbUZpbHRlclN0 YXRlCit7CisJTm9kZVRhZwkJdHlwZTsKKworCS8qIHByb2R1Y2VyIEhKIG5vZGUgYW5kIHRoZSBm aWx0ZXIgKi8KKwlpbnQJCQlwcm9kdWNlcl9pZDsKKwlzdHJ1Y3QgSGFzaEpvaW5TdGF0ZSAqcHJv ZHVjZXI7CisJQmxvb21GaWx0ZXIgKmZpbHRlcjsKKworCWludAkJCW5rZXlzOwkJLyogbnVtYmVy IG9mIGhhc2gga2V5cyAqLworCUV4cHJTdGF0ZSAgKmtleXM7CQkvKiBFeHByU3RhdGUgZm9yIHRo ZSBoYXNoIGNhbGN1bGF0aW9uICovCisKKwkvKiBwcm9iZSBjb3VudGVycyAqLworCXVpbnQ2NAkJ Y2hlY2tlZDsKKwl1aW50NjQJCXJlamVjdGVkOworCisJLyogYWRhcHRpdmUgcHJvYmluZyAqLwor CXVpbnQ2NAkJYWRhcHRpdmVXaW5kb3dQcm9iZXM7CisJdWludDY0CQlhZGFwdGl2ZVdpbmRvd01h dGNoZXM7CisJdWludDY0CQlhZGFwdGl2ZVNhbXBsZUNvdW50ZXI7CisJYm9vbAkJYWRhcHRpdmVT YW1wbGluZzsKK30gQmxvb21GaWx0ZXJTdGF0ZTsKKwogLyogLS0tLS0tLS0tLS0tLS0tLQogICoJ dGhlc2UgYXJlIGRlZmluZWQgdG8gYXZvaWQgY29uZnVzaW9uIHByb2JsZW1zIHdpdGggImxlZnQi CiAgKglhbmQgInJpZ2h0IiBhbmQgImlubmVyIiBhbmQgIm91dGVyIi4gIFRoZSBjb252ZW50aW9u IGlzIHRoYXQKQEAgLTI3MDMsNiArMjc2MSwzOSBAQCB0eXBlZGVmIHN0cnVjdCBIYXNoU3RhdGUK IAlUdXBsZXN0b3Jlc3RhdGUgKm51bGxfdHVwbGVfc3RvcmU7CS8qIHdoZXJlIHRvIHB1dCBudWxs LWtleWVkIHR1cGxlcyAqLwogCWJvb2wJCWtlZXBfbnVsbF90dXBsZXM7CS8qIGRvIHdlIG5lZWQg dG8gc2F2ZSBzdWNoIHR1cGxlcz8gKi8KIAorCS8qCisJICogVHJ1ZSBpZmYgYXQgd2UgbWFuYWdl ZCB0byBwdXNoIGRvd24gdGhlIGJsb29tIGZpbHRlciB0byBhdCBsZWFzdCBvbmUKKwkgKiBub2Rl IG9uIHRoZSBIYXNoSm9pbidzIG91dGVyIHNpZGUuIEl0IHRlbGxzIHRoZSBIYXNoIG5vZGUgdG8g YWxzbyBidWlsZAorCSAqIGEgYmxvb20gZmlsdGVyIG5leHQgdG8gdGhlIGhhc2ggdGFibGUuCisJ ICovCisJYm9vbAkJd2FudF9ibG9vbV9maWx0ZXI7CisKKwkvKgorCSAqIE1pcnJvciBvZiB0aGUg cGFyZW50IEhhc2hKb2luJ3MgYmxvb21fZmlsdGVyX2lkLCBjb3BpZWQgaGVyZSBhdAorCSAqIEV4 ZWNJbml0SGFzaEpvaW4gdGltZSBzbyBFWFBMQUlOJ3Mgc2hvd19oYXNoX2luZm8gY2FuIGxhYmVs IHRoZQorCSAqIGZpbHRlciB3aXRob3V0IHRyYXZlcnNpbmcgYmFjayB1cCB0aGUgcGxhbi1zdGF0 ZSB0cmVlICh3aGljaCBpcworCSAqIG5vdCBlYXN5LCBhcyB0aGVyZSdzIG5vIHBhcmVudCBpbiBQ bGFuU3RhdGUpLgorCSAqLworCWludAkJCWJsb29tX2ZpbHRlcl9pZDsKKworCS8qCisJICogQmxv b20gZmlsdGVyIG9uIGhhc2ggdmFsdWVzIGR1cmluZyB0aGUgYnVpbGQgcGhhc2UuIFByb2JlZCBi eSByZWNpcGllbnQKKwkgKiBub2RlcyAodHlwaWNhbGx5IHNjYW5zIGluIHRoZSBvdXRlciBzdWJ0 cmVlKS4gIE5VTEwgd2hlbiBwdXNoZG93biBpcworCSAqIGRpc2FibGVkIG9yIG5vIHJlY2lwaWVu dCB3YXMgaWRlbnRpZmllZCwgYW5kICh0cmFuc2llbnRseSkgYmVmb3JlCisJICogRXhlY0hhc2hU YWJsZUNyZWF0ZSBydW5zIChvbiB0aGUgZmlyc3Qgb3V0ZXIgdHVwbGUpLgorCSAqCisJICogQWxs b2NhdGVkIGluIGhhc2hDeHQsIGp1c3QgbGlrZSB0aGUgaGFzaHRhYmxlIGl0c2VsZi4gUmVzZXQg b24gcmVzY2Fucy4KKwkgKi8KKwlzdHJ1Y3QgYmxvb21fZmlsdGVyICpibG9vbV9maWx0ZXI7CisK KwkvKgorCSAqIENvdW50ZXJzIHdpdGggdG90YWwgcGVyLWZpbHRlciBpbnN0cnVtZW50YXRpb24u IFNlcGFyYXRlIGZyb20gdGhlCisJICogcGVyLXJlY2lwaWVudCBjb3VudGVycyBpbiBCbG9vbUZp bHRlclN0YXRlLiBSZWR1bmRhbnQsIGJ1dCB3aWxsIGJlCisJICogbmVlZGVkIGlmIHdlIGVuZCB1 cCBhbGxvd2luZyBtdWx0aXBsZSByZWNpcGllbnRzLgorCSAqLworCXVpbnQ2NAkJYmxvb21GaWx0 ZXJDaGVja2VkOworCXVpbnQ2NAkJYmxvb21GaWx0ZXJSZWplY3RlZDsKKwogCS8qCiAJICogSW4g YSBwYXJhbGxlbGl6ZWQgaGFzaCBqb2luLCB0aGUgbGVhZGVyIHJldGFpbnMgYSBwb2ludGVyIHRv IHRoZQogCSAqIHNoYXJlZC1tZW1vcnkgc3RhdHMgYXJlYSBpbiBpdHMgc2hhcmVkX2luZm8gZmll bGQsIGFuZCB0aGVuIGNvcGllcyB0aGUKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL25vZGVzL3Bh dGhub2Rlcy5oIGIvc3JjL2luY2x1ZGUvbm9kZXMvcGF0aG5vZGVzLmgKaW5kZXggMjdhMmM2ODE1 YjcuLjY5ZjlhZDJkNWUzIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9ub2Rlcy9wYXRobm9kZXMu aAorKysgYi9zcmMvaW5jbHVkZS9ub2Rlcy9wYXRobm9kZXMuaApAQCAtMjQ0LDYgKzI0NCw5IEBA IHR5cGVkZWYgc3RydWN0IFBsYW5uZXJHbG9iYWwKIAkvKiBoaWdoZXN0IHBsYW4gbm9kZSBJRCBh c3NpZ25lZCAqLwogCWludAkJCWxhc3RQbGFuTm9kZUlkOwogCisJLyogaGlnaGVzdCBibG9vbS1m aWx0ZXItcHJvZHVjZXIgSUQgYXNzaWduZWQgKHNlZSBwbGFubm9kZXMuaCkgKi8KKwlpbnQJCQls YXN0Qmxvb21GaWx0ZXJJZDsKKwogCS8qIHJlZG8gcGxhbiB3aGVuIFRyYW5zYWN0aW9uWG1pbiBj aGFuZ2VzPyAqLwogCWJvb2wJCXRyYW5zaWVudFBsYW47CiAKZGlmZiAtLWdpdCBhL3NyYy9pbmNs dWRlL25vZGVzL3BsYW5ub2Rlcy5oIGIvc3JjL2luY2x1ZGUvbm9kZXMvcGxhbm5vZGVzLmgKaW5k ZXggMTRhMWRmZWQyYjkuLjRlMzVkNzdjYzQ5IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9ub2Rl cy9wbGFubm9kZXMuaAorKysgYi9zcmMvaW5jbHVkZS9ub2Rlcy9wbGFubm9kZXMuaApAQCAtMjU0 LDggKzI1NCw0MCBAQCB0eXBlZGVmIHN0cnVjdCBQbGFuCiAJICovCiAJQml0bWFwc2V0ICAqZXh0 UGFyYW07CiAJQml0bWFwc2V0ICAqYWxsUGFyYW07CisKKwkvKgorCSAqIExpc3Qgb2YgQmxvb21G aWx0ZXIgbm9kZXMgKG9yIE5JTCkuICBXaGVuIG5vbi1lbXB0eSwgdGhpcyBwbGFuIG5vZGUgaXMK KwkgKiBhIHJlY2lwaWVudCBvZiBvbmUgb3IgbW9yZSBydW50aW1lIGJsb29tIGZpbHRlcnMgcHVz aGVkIGRvd24gYXQgcGxhbgorCSAqIHRpbWUgYnkgc29tZSBIYXNoSm9pbiBhbmNlc3Rvcjsgc2Vl IG5vZGVIYXNoam9pbi5jLiAgTGl2aW5nIG9uIFBsYW4KKwkgKiAocmF0aGVyIHRoYW4gb24gYSBz cGVjaWZpYyBzdWJ0eXBlIGxpa2UgU2NhbikgYWxsb3dzIHB1c2hkb3duIHRvIGFueQorCSAqIG5v ZGUgdHlwZSB0aGF0J3MgcHJlcGFyZWQgdG8gY2FsbCBFeGVjQmxvb21GaWx0ZXJzIG9uIGl0cyBv dXRwdXQuCisJICovCisJTGlzdAkgICAqYmxvb21fZmlsdGVyczsKIH0gUGxhbjsKIAorLyoKKyAq CSBCbG9vbUZpbHRlciAtCisgKgkJT25lIHB1c2hlZC1kb3duIGJsb29tIGZpbHRlciwgYXR0YWNo ZWQgdG8gYSByZWNpcGllbnQgUGxhbiBub2RlLgorICoKKyAqICdmaWx0ZXJfZXhwcnMnLCAnaGFz aG9wcycgYW5kICdoYXNoY29sbGF0aW9ucycgYXJlIHBhcmFsbGVsIGxpc3RzLCBvbmUKKyAqIGVu dHJ5IHBlciBqb2luIGtleTogdGhlIGV4cHJlc3Npb24gdG8gaGFzaCwgaXRzIGhhc2ggb3BlcmF0 b3IgKE9JRCksCisgKiBhbmQgaXRzIGlucHV0IGNvbGxhdGlvbiAoT0lEKS4KKyAqCisgKiAncHJv ZHVjZXJfaWQnIGlzIHRoZSBibG9vbV9maWx0ZXJfaWQgb2YgdGhlIHByb2R1Y2luZyBIYXNoSm9p biAocmVzb2x2ZWQgYXQKKyAqIGV4ZWN1dG9yIGluaXQgdGltZSB2aWEgRVN0YXRlLmVzX2Jsb29t X3Byb2R1Y2VycykuCisgKiAtLS0tLS0tLS0tLS0tLS0tCisgKi8KK3R5cGVkZWYgc3RydWN0IEJs b29tRmlsdGVyCit7CisJcGdfbm9kZV9hdHRyKG5vX3F1ZXJ5X2p1bWJsZSkKKworCU5vZGVUYWcJ CXR5cGU7CisJTGlzdAkgICAqZmlsdGVyX2V4cHJzOworCUxpc3QJICAgKmhhc2hvcHM7CisJTGlz dAkgICAqaGFzaGNvbGxhdGlvbnM7CisJaW50CQkJcHJvZHVjZXJfaWQ7Cit9IEJsb29tRmlsdGVy OworCiAvKiAtLS0tLS0tLS0tLS0tLS0tCiAgKgl0aGVzZSBhcmUgZGVmaW5lZCB0byBhdm9pZCBj b25mdXNpb24gcHJvYmxlbXMgd2l0aCAibGVmdCIKICAqCWFuZCAicmlnaHQiIGFuZCAiaW5uZXIi IGFuZCAib3V0ZXIiLiAgVGhlIGNvbnZlbnRpb24gaXMgdGhhdApAQCAtMTA3Myw2ICsxMTA1LDI1 IEBAIHR5cGVkZWYgc3RydWN0IEhhc2hKb2luCiAJICogcGVyZm9ybSBsb29rdXBzIGluIHRoZSBo YXNodGFibGUgb3ZlciB0aGUgaW5uZXIgcGxhbi4KIAkgKi8KIAlMaXN0CSAgICpoYXNoa2V5czsK KworCS8qCisJICogTnVtYmVyIG9mIHBsYW4gbm9kZXMgdGhhdCBjb25zdW1lIHRoaXMgSGFzaEpv aW4ncyBibG9vbSBmaWx0ZXIgdmlhCisJICogcHVzaGRvd24uICBTZXQgYXQgcGxhbiB0aW1lIGJ5 IHRoZSBibG9vbSBmaWx0ZXIgcHVzaGRvd24gcGFzcy4KKwkgKgorCSAqIEF0IGV4ZWN1dGlvbiB0 aW1lLCB0aGUgSGFzaEpvaW4gYnVpbGRzIHRoZSBibG9vbSBmaWx0ZXIgb25seSB3aGVuIHRoaXMK KwkgKiBpcyBub24temVybyAoYW5kIHRoZSBlbmFibGVfaGFzaGpvaW5fYmxvb20gR1VDIGlzIG9u KS4KKwkgKi8KKwlpbnQJCQlibG9vbV9jb25zdW1lcl9jb3VudDsKKworCS8qCisJICogSWRlbnRp ZmllciB1c2VkIGJ5IHJlY2lwaWVudCBub2RlcyB0byBmaW5kIHRoaXMgcHJvZHVjZXIgYXQgZXhl Y3V0aW9uCisJICogdGltZSwgdmlhIEVTdGF0ZS5lc19ibG9vbV9wcm9kdWNlcnMuIEFzc2lnbmVk IGR1cmluZyBjcmVhdGVfaGFzaGpvaW5fcGxhbgorCSAqIGZyb20gUGxhbm5lckdsb2JhbC5sYXN0 Qmxvb21GaWx0ZXJJZC4gRWFjaCBCbG9vbUZpbHRlciBvbiBhIHJlY2lwaWVudCBzdG9yZXMKKwkg KiBhIGNvcHkgaW4gaXRzIHByb2R1Y2VyX2lkIGZpZWxkIGZvciBjb252ZW5pZW5jZS4KKwkgKgor CSAqIFplcm8gd2hlbiB0aGlzIEhhc2hKb2luIGhhcyBubyBjb25zdW1lcnMuCisJICovCisJaW50 CQkJYmxvb21fZmlsdGVyX2lkOwogfSBIYXNoSm9pbjsKIAogLyogLS0tLS0tLS0tLS0tLS0tLQpk aWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvb3B0aW1pemVyL2Nvc3QuaCBiL3NyYy9pbmNsdWRlL29w dGltaXplci9jb3N0LmgKaW5kZXggZjJmZDVkMzE1MDcuLjczMzk5NzljMDA4IDEwMDY0NAotLS0g YS9zcmMvaW5jbHVkZS9vcHRpbWl6ZXIvY29zdC5oCisrKyBiL3NyYy9pbmNsdWRlL29wdGltaXpl ci9jb3N0LmgKQEAgLTYyLDYgKzYyLDcgQEAgZXh0ZXJuIFBHRExMSU1QT1JUIGJvb2wgZW5hYmxl X21hdGVyaWFsOwogZXh0ZXJuIFBHRExMSU1QT1JUIGJvb2wgZW5hYmxlX21lbW9pemU7CiBleHRl cm4gUEdETExJTVBPUlQgYm9vbCBlbmFibGVfbWVyZ2Vqb2luOwogZXh0ZXJuIFBHRExMSU1QT1JU IGJvb2wgZW5hYmxlX2hhc2hqb2luOworZXh0ZXJuIFBHRExMSU1QT1JUIGJvb2wgZW5hYmxlX2hh c2hqb2luX2Jsb29tOwogZXh0ZXJuIFBHRExMSU1QT1JUIGJvb2wgZW5hYmxlX2dhdGhlcm1lcmdl OwogZXh0ZXJuIFBHRExMSU1QT1JUIGJvb2wgZW5hYmxlX3BhcnRpdGlvbndpc2Vfam9pbjsKIGV4 dGVybiBQR0RMTElNUE9SVCBib29sIGVuYWJsZV9wYXJ0aXRpb253aXNlX2FnZ3JlZ2F0ZTsKZGlm ZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvYWdncmVnYXRlcy5vdXQgYi9zcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL2FnZ3JlZ2F0ZXMub3V0CmluZGV4IDg5ZTA1MWVlODI0Li5h MDhkMjU1Njk4MSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9hZ2dyZWdh dGVzLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2FnZ3JlZ2F0ZXMub3V0CkBA IC0xNTM5LDkgKzE1MzksMTEgQEAgZ3JvdXAgYnkgdDEuYSx0MS5iLHQxLmMsdDEuZCx0Mi54LHQy LnksdDIuejsKICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAgIEhhc2ggQ29uZDogKCh0Mi54ID0g dDEuYSkgQU5EICh0Mi55ID0gdDEuYikpCiAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gdDIKKyAg ICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPSh4LCB5KQogICAgICAgICAgLT4gIEhh c2gKKyAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAtPiAgU2Vx IFNjYW4gb24gdDEKLSg3IHJvd3MpCisoOSByb3dzKQogCiAtLSBUZXN0IGNhc2Ugd2hlcmUgdDEg Y2FuIGJlIG9wdGltaXplZCBidXQgbm90IHQyCiBleHBsYWluIChjb3N0cyBvZmYpIHNlbGVjdCB0 MS4qLHQyLngsdDIuegpAQCAtMTU1NCw5ICsxNTU2LDExIEBAIGdyb3VwIGJ5IHQxLmEsdDEuYix0 MS5jLHQxLmQsdDIueCx0Mi56OwogICAgLT4gIEhhc2ggSm9pbgogICAgICAgICAgSGFzaCBDb25k OiAoKHQyLnggPSB0MS5hKSBBTkQgKHQyLnkgPSB0MS5iKSkKICAgICAgICAgIC0+ICBTZXEgU2Nh biBvbiB0MgorICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KHgsIHkpCiAgICAg ICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgICAg ICAgIC0+ICBTZXEgU2NhbiBvbiB0MQotKDcgcm93cykKKyg5IHJvd3MpCiAKIC0tIENhbm5vdCBv cHRpbWl6ZSB3aGVuIFBLIGlzIGRlZmVycmFibGUKIGV4cGxhaW4gKGNvc3RzIG9mZikgc2VsZWN0 ICogZnJvbSB0MyBncm91cCBieSBhLGIsYzsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvZWFnZXJfYWdncmVnYXRlLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv ZWFnZXJfYWdncmVnYXRlLm91dAppbmRleCAwOTFhZTQ4YTkyYi4uYmJkYjk1MjY0NzEgMTAwNjQ0 Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvZWFnZXJfYWdncmVnYXRlLm91dAorKysg Yi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2VhZ2VyX2FnZ3JlZ2F0ZS5vdXQKQEAgLTM0LDE0 ICszNCwxNiBAQCBHUk9VUCBCWSB0MS5hIE9SREVSIEJZIHQxLmE7CiAgICAgICAgICAgICAgICBI YXNoIENvbmQ6ICh0MS5iID0gdDIuYikKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBw dWJsaWMuZWFnZXJfYWdnX3QxIHQxCiAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQxLmEs IHQxLmIsIHQxLmMKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPSh0 MS5iKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKICAgICAgICAgICAgICAgICAgICAgIE91dHB1 dDogdDIuYiwgKFBBUlRJQUwgYXZnKHQyLmMpKQorICAgICAgICAgICAgICAgICAgICAgQmxvb20g RmlsdGVyIDEKICAgICAgICAgICAgICAgICAgICAgIC0+ICBQYXJ0aWFsIEhhc2hBZ2dyZWdhdGUK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDIuYiwgUEFSVElBTCBhdmcodDIu YykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdyb3VwIEtleTogdDIuYgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5lYWdlcl9hZ2dfdDIgdDIK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDIuYSwgdDIuYiwgdDIu YwotKDE4IHJvd3MpCisoMjAgcm93cykKIAogU0VMRUNUIHQxLmEsIGF2Zyh0Mi5jKQogICBGUk9N IGVhZ2VyX2FnZ190MSB0MQpAQCAtODAsOCArODIsMTAgQEAgR1JPVVAgQlkgdDEuYSBPUkRFUiBC WSB0MS5hOwogICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDEuYiA9IHQyLmIpCiAgICAgICAg ICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmVhZ2VyX2FnZ190MSB0MQogICAgICAgICAg ICAgICAgICAgICAgT3V0cHV0OiB0MS5hLCB0MS5iLCB0MS5jCisgICAgICAgICAgICAgICAgICAg ICBCbG9vbSBGaWx0ZXIgMToga2V5cz0odDEuYikKICAgICAgICAgICAgICAgIC0+ICBIYXNoCiAg ICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQyLmIsIChQQVJUSUFMIGF2Zyh0Mi5jKSkKKyAg ICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAgICAgICAt PiAgUGFydGlhbCBHcm91cEFnZ3JlZ2F0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0 cHV0OiB0Mi5iLCBQQVJUSUFMIGF2Zyh0Mi5jKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg R3JvdXAgS2V5OiB0Mi5iCkBAIC05MCw3ICs5NCw3IEBAIEdST1VQIEJZIHQxLmEgT1JERVIgQlkg dDEuYTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNvcnQgS2V5OiB0Mi5iCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmVh Z2VyX2FnZ190MiB0MgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0 cHV0OiB0Mi5jLCB0Mi5iCi0oMjEgcm93cykKKygyMyByb3dzKQogCiBTRUxFQ1QgdDEuYSwgYXZn KHQyLmMpCiAgIEZST00gZWFnZXJfYWdnX3QxIHQxCkBAIC0xMzQsOCArMTM4LDEwIEBAIEdST1VQ IEJZIHQxLmEgT1JERVIgQlkgdDEuYTsKICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQxLmIg PSB0Mi5iKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5lYWdlcl9hZ2df dDEgdDEKICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDEuYSwgdDEuYiwgdDEuYworICAg ICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDI6IGtleXM9KHQxLmIpCiAgICAgICAgICAg ICAgICAtPiAgSGFzaAogICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0Mi5iLCAoUEFSVElB TCBhdmcoKHQyLmMgKyB0My5jKSkpCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIg MgogICAgICAgICAgICAgICAgICAgICAgLT4gIFBhcnRpYWwgSGFzaEFnZ3JlZ2F0ZQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0Mi5iLCBQQVJUSUFMIGF2ZygodDIuYyArIHQz LmMpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgR3JvdXAgS2V5OiB0Mi5iCkBAIC0xNDQs MTEgKzE1MCwxMyBAQCBHUk9VUCBCWSB0MS5hIE9SREVSIEJZIHQxLmE7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0My5hID0gdDIuYSkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuZWFnZXJfYWdnX3Qz IHQzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQzLmEs IHQzLmIsIHQzLmMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29t IEZpbHRlciAxOiBrZXlzPSh0My5hKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg LT4gIEhhc2gKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDog dDIuYywgdDIuYiwgdDIuYQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Qmxvb20gRmlsdGVyIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ ICBTZXEgU2NhbiBvbiBwdWJsaWMuZWFnZXJfYWdnX3QyIHQyCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQyLmMsIHQyLmIsIHQyLmEKLSgyNSBy b3dzKQorKDI5IHJvd3MpCiAKIFNFTEVDVCB0MS5hLCBhdmcodDIuYyArIHQzLmMpCiAgIEZST00g ZWFnZXJfYWdnX3QxIHQxCkBAIC0xODksOCArMTk3LDEwIEBAIEdST1VQIEJZIHQxLmEgT1JERVIg QlkgdDEuYTsKICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQxLmIgPSB0Mi5iKQogICAgICAg ICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5lYWdlcl9hZ2dfdDEgdDEKICAgICAgICAg ICAgICAgICAgICAgIE91dHB1dDogdDEuYSwgdDEuYiwgdDEuYworICAgICAgICAgICAgICAgICAg ICAgQmxvb20gRmlsdGVyIDI6IGtleXM9KHQxLmIpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAog ICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0Mi5iLCAoUEFSVElBTCBhdmcoKHQyLmMgKyB0 My5jKSkpCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMgogICAgICAgICAgICAg ICAgICAgICAgLT4gIFBhcnRpYWwgR3JvdXBBZ2dyZWdhdGUKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE91dHB1dDogdDIuYiwgUEFSVElBTCBhdmcoKHQyLmMgKyB0My5jKSkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEdyb3VwIEtleTogdDIuYgpAQCAtMjAyLDExICsyMTIsMTMgQEAg R1JPVVAgQlkgdDEuYSBPUkRFUiBCWSB0MS5hOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgSGFzaCBDb25kOiAodDMuYSA9IHQyLmEpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmVhZ2VyX2FnZ190MyB0 MwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0 My5hLCB0My5iLCB0My5jCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0odDMuYSkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIC0+ICBIYXNoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBPdXRwdXQ6IHQyLmMsIHQyLmIsIHQyLmEKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmVh Z2VyX2FnZ190MiB0MgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgT3V0cHV0OiB0Mi5jLCB0Mi5iLCB0Mi5hCi0oMjggcm93cykKKygzMiByb3dzKQog CiBTRUxFQ1QgdDEuYSwgYXZnKHQyLmMgKyB0My5jKQogICBGUk9NIGVhZ2VyX2FnZ190MSB0MQpA QCAtMjQ5LDE0ICsyNjEsMTYgQEAgR1JPVVAgQlkgdDEuYSBPUkRFUiBCWSB0MS5hOwogICAgICAg ICAgICAgICAgSGFzaCBDb25kOiAodDEuYiA9IHQyLmIpCiAgICAgICAgICAgICAgICAtPiAgU2Vx IFNjYW4gb24gcHVibGljLmVhZ2VyX2FnZ190MSB0MQogICAgICAgICAgICAgICAgICAgICAgT3V0 cHV0OiB0MS5hLCB0MS5iLCB0MS5jCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIg MToga2V5cz0odDEuYikKICAgICAgICAgICAgICAgIC0+ICBIYXNoCiAgICAgICAgICAgICAgICAg ICAgICBPdXRwdXQ6IHQyLmIsIChQQVJUSUFMIGF2Zyh0Mi5jKSkKKyAgICAgICAgICAgICAgICAg ICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAgICAgICAtPiAgUGFydGlhbCBIYXNo QWdncmVnYXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQyLmIsIFBBUlRJ QUwgYXZnKHQyLmMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBHcm91cCBLZXk6IHQyLmIK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuZWFnZXJf YWdnX3QyIHQyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQyLmEs IHQyLmIsIHQyLmMKLSgxOCByb3dzKQorKDIwIHJvd3MpCiAKIFNFTEVDVCB0MS5hLCBhdmcodDIu YykKICAgRlJPTSBlYWdlcl9hZ2dfdDEgdDEKQEAgLTI5NSwxMSArMzA5LDEzIEBAIEdST1VQIEJZ IHQyLmIgT1JERVIgQlkgdDIuYjsKICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQyLmIgPSB0 MS5iKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5lYWdlcl9hZ2dfdDIg dDIKICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDIuYSwgdDIuYiwgdDIuYworICAgICAg ICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KHQyLmIpCiAgICAgICAgICAgICAg ICAtPiAgSGFzaAogICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0MS5iCisgICAgICAgICAg ICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBT Y2FuIG9uIHB1YmxpYy5lYWdlcl9hZ2dfdDEgdDEKICAgICAgICAgICAgICAgICAgICAgICAgICAg IE91dHB1dDogdDEuYgotKDE1IHJvd3MpCisoMTcgcm93cykKIAogU0VMRUNUIHQyLmIsIGF2Zyh0 Mi5jKQogICBGUk9NIGVhZ2VyX2FnZ190MSB0MQpAQCAtNDAwLDE0ICs0MTYsMTYgQEAgR1JPVVAg QlkgdDEuYSBPUkRFUiBCWSB0MS5hOwogICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDEuYiA9 IHQyLmIpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmVhZ2VyX2FnZ190 MSB0MQogICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0MS5hLCB0MS5iLCB0MS5jCisgICAg ICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0odDEuYikKICAgICAgICAgICAg ICAgIC0+ICBIYXNoCiAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQyLmIsIChQQVJUSUFM IGF2Zyh0Mi5jKSkKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAg ICAgICAgICAgICAgICAtPiAgUGFydGlhbCBIYXNoQWdncmVnYXRlCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBPdXRwdXQ6IHQyLmIsIFBBUlRJQUwgYXZnKHQyLmMpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBHcm91cCBLZXk6IHQyLmIKICAgICAgICAgICAgICAgICAgICAgICAgICAg IC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuZWFnZXJfYWdnX3QyIHQyCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQyLmEsIHQyLmIsIHQyLmMKLSgxOCByb3dzKQorKDIw IHJvd3MpCiAKIFNFTEVDVCB0MS5hLCBhdmcodDIuYykKICAgRlJPTSBlYWdlcl9hZ2dfdDEgdDEK QEAgLTQ0NCw5ICs0NjIsMTEgQEAgR1JPVVAgQlkgdDEuYSBPUkRFUiBCWSB0MS5hOwogICAgICAg ICAgLT4gIEhhc2ggSm9pbgogICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDIuYiA9IHQxLmIp CiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gZWFnZXJfYWdnX3QyIHQyCisgICAgICAg ICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0oYikKICAgICAgICAgICAgICAgIC0+ ICBIYXNoCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAg ICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIGVhZ2VyX2FnZ190MSB0MQotKDkgcm93cykKKygxMSBy b3dzKQogCiBFWFBMQUlOIChDT1NUUyBPRkYpCiBTRUxFQ1QgdDEuYSwgYXZnKHQyLmMpIEZJTFRF UiAoV0hFUkUgcmFuZG9tKCkgPiAwLjUpCkBAIC00NjIsOSArNDgyLDExIEBAIEdST1VQIEJZIHQx LmEgT1JERVIgQlkgdDEuYTsKICAgICAgICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAgICAgICAg IEhhc2ggQ29uZDogKHQyLmIgPSB0MS5iKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9u IGVhZ2VyX2FnZ190MiB0MgorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtl eXM9KGIpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAgICAgICAgQmxv b20gRmlsdGVyIDEKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBlYWdlcl9h Z2dfdDEgdDEKLSg5IHJvd3MpCisoMTEgcm93cykKIAogLS0gRWFnZXIgYWdncmVnYXRpb24gbXVz dCBub3QgcHVzaCBhIHBhcnRpYWwgYWdncmVnYXRlIG9udG8gdGhlIGlubmVyIHNpZGUgb2YgYQog LS0gU0VNSSBvciBBTlRJIGpvaW4KQEAgLTU5OSw4ICs2MjEsMTAgQEAgR1JPVVAgQlkgdDEueCBP UkRFUiBCWSB0MS54OwogICAgICAgICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDIueSA9IHQx LngpCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmVhZ2VyX2Fn Z190YWIyX3AxIHQyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQyLnkKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPSh0Mi55KQogICAg ICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91 dHB1dDogdDEueCwgKFBBUlRJQUwgc3VtKHQxLnkpKSwgKFBBUlRJQUwgY291bnQoKikpCisgICAg ICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgLT4gIFBhcnRpYWwgSGFzaEFnZ3JlZ2F0ZQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgT3V0cHV0OiB0MS54LCBQQVJUSUFMIHN1bSh0MS55KSwgUEFSVElBTCBjb3Vu dCgqKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR3JvdXAgS2V5OiB0MS54CkBA IC02MTQsOCArNjM4LDEwIEBAIEdST1VQIEJZIHQxLnggT1JERVIgQlkgdDEueDsKICAgICAgICAg ICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQyXzEueSA9IHQxXzEueCkKICAgICAgICAgICAgICAg ICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuZWFnZXJfYWdnX3RhYjJfcDIgdDJfMQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0Ml8xLnkKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgIEJsb29tIEZpbHRlciAyOiBrZXlzPSh0Ml8xLnkpCiAgICAgICAgICAgICAgICAg ICAgICAtPiAgSGFzaAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0MV8xLngs IChQQVJUSUFMIHN1bSh0MV8xLnkpKSwgKFBBUlRJQUwgY291bnQoKikpCisgICAgICAgICAgICAg ICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMgogICAgICAgICAgICAgICAgICAgICAgICAgICAg LT4gIFBhcnRpYWwgSGFzaEFnZ3JlZ2F0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgT3V0cHV0OiB0MV8xLngsIFBBUlRJQUwgc3VtKHQxXzEueSksIFBBUlRJQUwgY291bnQoKikK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdyb3VwIEtleTogdDFfMS54CkBAIC02 MjksMTQgKzY1NSwxNiBAQCBHUk9VUCBCWSB0MS54IE9SREVSIEJZIHQxLng7CiAgICAgICAgICAg ICAgICAgICAgICBIYXNoIENvbmQ6ICh0Ml8yLnkgPSB0MV8yLngpCiAgICAgICAgICAgICAgICAg ICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmVhZ2VyX2FnZ190YWIyX3AzIHQyXzIKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDJfMi55CisgICAgICAgICAgICAgICAgICAg ICAgICAgICBCbG9vbSBGaWx0ZXIgMzoga2V5cz0odDJfMi55KQogICAgICAgICAgICAgICAgICAg ICAgLT4gIEhhc2gKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDFfMi54LCAo UEFSVElBTCBzdW0odDFfMi55KSksIChQQVJUSUFMIGNvdW50KCopKQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgQmxvb20gRmlsdGVyIDMKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ ICBQYXJ0aWFsIEhhc2hBZ2dyZWdhdGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IE91dHB1dDogdDFfMi54LCBQQVJUSUFMIHN1bSh0MV8yLnkpLCBQQVJUSUFMIGNvdW50KCopCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHcm91cCBLZXk6IHQxXzIueAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5lYWdlcl9h Z2dfdGFiMV9wMyB0MV8yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBP dXRwdXQ6IHQxXzIueCwgdDFfMi55Ci0oNDkgcm93cykKKyg1NSByb3dzKQogCiBTRUxFQ1QgdDEu eCwgc3VtKHQxLnkpLCBjb3VudCgqKQogICBGUk9NIGVhZ2VyX2FnZ190YWIxIHQxCkBAIC02ODEs OCArNzA5LDEwIEBAIEdST1VQIEJZIHQyLnkgT1JERVIgQlkgdDIueTsKICAgICAgICAgICAgICAg ICAgICAgIEhhc2ggQ29uZDogKHQyLnkgPSB0MS54KQogICAgICAgICAgICAgICAgICAgICAgLT4g IFNlcSBTY2FuIG9uIHB1YmxpYy5lYWdlcl9hZ2dfdGFiMl9wMSB0MgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgT3V0cHV0OiB0Mi55CisgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9v bSBGaWx0ZXIgMToga2V5cz0odDIueSkKICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQxLngsIChQQVJUSUFMIHN1bSh0MS55 KSksIChQQVJUSUFMIGNvdW50KCopKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20g RmlsdGVyIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBQYXJ0aWFsIEhhc2hBZ2dy ZWdhdGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDEueCwgUEFS VElBTCBzdW0odDEueSksIFBBUlRJQUwgY291bnQoKikKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEdyb3VwIEtleTogdDEueApAQCAtNjk2LDggKzcyNiwxMCBAQCBHUk9VUCBCWSB0 Mi55IE9SREVSIEJZIHQyLnk7CiAgICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0Ml8x LnkgPSB0MV8xLngpCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGlj LmVhZ2VyX2FnZ190YWIyX3AyIHQyXzEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1 dDogdDJfMS55CisgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMjoga2V5 cz0odDJfMS55KQogICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIE91dHB1dDogdDFfMS54LCAoUEFSVElBTCBzdW0odDFfMS55KSksIChQQVJU SUFMIGNvdW50KCopKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDIK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBQYXJ0aWFsIEhhc2hBZ2dyZWdhdGUKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDFfMS54LCBQQVJUSUFMIHN1 bSh0MV8xLnkpLCBQQVJUSUFMIGNvdW50KCopCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBHcm91cCBLZXk6IHQxXzEueApAQCAtNzExLDE0ICs3NDMsMTYgQEAgR1JPVVAgQlkgdDIu eSBPUkRFUiBCWSB0Mi55OwogICAgICAgICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDJfMi55 ID0gdDFfMi54KQogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5l YWdlcl9hZ2dfdGFiMl9wMyB0Ml8yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6 IHQyXzIueQorICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDM6IGtleXM9 KHQyXzIueSkKICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBPdXRwdXQ6IHQxXzIueCwgKFBBUlRJQUwgc3VtKHQxXzIueSkpLCAoUEFSVElB TCBjb3VudCgqKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAzCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgUGFydGlhbCBIYXNoQWdncmVnYXRlCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQxXzIueCwgUEFSVElBTCBzdW0o dDFfMi55KSwgUEFSVElBTCBjb3VudCgqKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgR3JvdXAgS2V5OiB0MV8yLngKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ ICBTZXEgU2NhbiBvbiBwdWJsaWMuZWFnZXJfYWdnX3RhYjFfcDMgdDFfMgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0MV8yLnksIHQxXzIueAotKDQ5IHJv d3MpCisoNTUgcm93cykKIAogU0VMRUNUIHQyLnksIHN1bSh0MS55KSwgY291bnQoKikKICAgRlJP TSBlYWdlcl9hZ2dfdGFiMSB0MQpAQCAtNzY1LDggKzc5OSwxMCBAQCBHUk9VUCBCWSB0Mi54IEhB VklORyBhdmcodDEueCkgPiA1IE9SREVSIEJZIHQyLng7CiAgICAgICAgICAgICAgICAgICAgICBI YXNoIENvbmQ6ICh0Mi55ID0gdDEueCkKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2Nh biBvbiBwdWJsaWMuZWFnZXJfYWdnX3RhYjJfcDEgdDIKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIE91dHB1dDogdDIueCwgdDIueQorICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20g RmlsdGVyIDE6IGtleXM9KHQyLnkpCiAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0MS54LCAoUEFSVElBTCBzdW0odDEueCkp LCAoUEFSVElBTCBjb3VudCgqKSksIChQQVJUSUFMIGF2Zyh0MS54KSkKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAt PiAgUGFydGlhbCBIYXNoQWdncmVnYXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBPdXRwdXQ6IHQxLngsIFBBUlRJQUwgc3VtKHQxLngpLCBQQVJUSUFMIGNvdW50KCopLCBQQVJU SUFMIGF2Zyh0MS54KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR3JvdXAgS2V5 OiB0MS54CkBAIC03NzcsOCArODEzLDEwIEBAIEdST1VQIEJZIHQyLnggSEFWSU5HIGF2Zyh0MS54 KSA+IDUgT1JERVIgQlkgdDIueDsKICAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQy XzEueSA9IHQxXzEueCkKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJs aWMuZWFnZXJfYWdnX3RhYjJfcDIgdDJfMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0 cHV0OiB0Ml8xLngsIHQyXzEueQorICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmls dGVyIDI6IGtleXM9KHQyXzEueSkKICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQxXzEueCwgKFBBUlRJQUwgc3VtKHQxXzEu eCkpLCAoUEFSVElBTCBjb3VudCgqKSksIChQQVJUSUFMIGF2Zyh0MV8xLngpKQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDIKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIC0+ICBQYXJ0aWFsIEhhc2hBZ2dyZWdhdGUKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE91dHB1dDogdDFfMS54LCBQQVJUSUFMIHN1bSh0MV8xLngpLCBQQVJUSUFMIGNvdW50 KCopLCBQQVJUSUFMIGF2Zyh0MV8xLngpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBHcm91cCBLZXk6IHQxXzEueApAQCAtNzg5LDE0ICs4MjcsMTYgQEAgR1JPVVAgQlkgdDIueCBI QVZJTkcgYXZnKHQxLngpID4gNSBPUkRFUiBCWSB0Mi54OwogICAgICAgICAgICAgICAgICAgICAg SGFzaCBDb25kOiAodDJfMi55ID0gdDFfMi54KQogICAgICAgICAgICAgICAgICAgICAgLT4gIFNl cSBTY2FuIG9uIHB1YmxpYy5lYWdlcl9hZ2dfdGFiMl9wMyB0Ml8yCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBPdXRwdXQ6IHQyXzIueCwgdDJfMi55CisgICAgICAgICAgICAgICAgICAgICAg ICAgICBCbG9vbSBGaWx0ZXIgMzoga2V5cz0odDJfMi55KQogICAgICAgICAgICAgICAgICAgICAg LT4gIEhhc2gKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDFfMi54LCAoUEFS VElBTCBzdW0odDFfMi54KSksIChQQVJUSUFMIGNvdW50KCopKSwgKFBBUlRJQUwgYXZnKHQxXzIu eCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMwogICAgICAgICAg ICAgICAgICAgICAgICAgICAgLT4gIFBhcnRpYWwgSGFzaEFnZ3JlZ2F0ZQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0MV8yLngsIFBBUlRJQUwgc3VtKHQxXzIueCks IFBBUlRJQUwgY291bnQoKiksIFBBUlRJQUwgYXZnKHQxXzIueCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEdyb3VwIEtleTogdDFfMi54CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmVhZ2VyX2FnZ190YWIxX3AzIHQxXzIK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDFfMi54Ci0o NDQgcm93cykKKyg1MCByb3dzKQogCiBTRUxFQ1QgdDIueCwgc3VtKHQxLngpLCBjb3VudCgqKQog ICBGUk9NIGVhZ2VyX2FnZ190YWIxIHQxCkBAIC04MzgsOCArODc4LDEwIEBAIEdST1VQIEJZIHQx LnggT1JERVIgQlkgdDEueDsKICAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQxLngg PSB0Mi54KQogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5lYWdl cl9hZ2dfdGFiMV9wMSB0MQogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0MS54 CisgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMjoga2V5cz0odDEueCkK ICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBPdXRwdXQ6IHQyLngsIHQzLngsIChQQVJUSUFMIHN1bSgodDIueSArIHQzLnkpKSkKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAtPiAgUGFydGlhbCBIYXNoQWdncmVnYXRlCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBPdXRwdXQ6IHQyLngsIHQzLngsIFBBUlRJQUwgc3VtKCh0Mi55ICsgdDMueSkp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHcm91cCBLZXk6IHQyLngKQEAgLTg0 OCw4ICs4OTAsMTAgQEAgR1JPVVAgQlkgdDEueCBPUkRFUiBCWSB0MS54OwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDIueCA9IHQzLngpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGlj LmVhZ2VyX2FnZ190YWIxX3AxIHQyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBPdXRwdXQ6IHQyLnksIHQyLngKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPSh0Mi54KQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDMueSwgdDMueAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBw dWJsaWMuZWFnZXJfYWdnX3RhYjFfcDEgdDMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDMueSwgdDMueAogICAgICAgICAgLT4gIEZp bmFsaXplIEhhc2hBZ2dyZWdhdGUKQEAgLTg2MCw4ICs5MDQsMTAgQEAgR1JPVVAgQlkgdDEueCBP UkRFUiBCWSB0MS54OwogICAgICAgICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDFfMS54ID0g dDJfMS54KQogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5lYWdl cl9hZ2dfdGFiMV9wMiB0MV8xCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQx XzEueAorICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDQ6IGtleXM9KHQx XzEueCkKICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBPdXRwdXQ6IHQyXzEueCwgdDNfMS54LCAoUEFSVElBTCBzdW0oKHQyXzEueSArIHQz XzEueSkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDQKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIC0+ICBQYXJ0aWFsIEhhc2hBZ2dyZWdhdGUKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDJfMS54LCB0M18xLngsIFBBUlRJQUwg c3VtKCh0Ml8xLnkgKyB0M18xLnkpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg R3JvdXAgS2V5OiB0Ml8xLngKQEAgLTg3MCw4ICs5MTYsMTAgQEAgR1JPVVAgQlkgdDEueCBPUkRF UiBCWSB0MS54OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSGFzaCBD b25kOiAodDJfMS54ID0gdDNfMS54KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5lYWdlcl9hZ2dfdGFiMV9wMiB0Ml8xCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQyXzEueSwg dDJfMS54CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9v bSBGaWx0ZXIgMzoga2V5cz0odDJfMS54KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLT4gIEhhc2gKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE91dHB1dDogdDNfMS55LCB0M18xLngKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAzCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmVhZ2VyX2FnZ190 YWIxX3AyIHQzXzEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE91dHB1dDogdDNfMS55LCB0M18xLngKICAgICAgICAgIC0+ICBGaW5hbGl6ZSBIYXNo QWdncmVnYXRlCkBAIC04ODIsOCArOTMwLDEwIEBAIEdST1VQIEJZIHQxLnggT1JERVIgQlkgdDEu eDsKICAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQxXzIueCA9IHQyXzIueCkKICAg ICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuZWFnZXJfYWdnX3RhYjFf cDMgdDFfMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0MV8yLngKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciA2OiBrZXlzPSh0MV8yLngpCiAgICAg ICAgICAgICAgICAgICAgICAtPiAgSGFzaAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0 cHV0OiB0Ml8yLngsIHQzXzIueCwgKFBBUlRJQUwgc3VtKCh0Ml8yLnkgKyB0M18yLnkpKSkKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciA2CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAtPiAgUGFydGlhbCBIYXNoQWdncmVnYXRlCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBPdXRwdXQ6IHQyXzIueCwgdDNfMi54LCBQQVJUSUFMIHN1bSgodDJfMi55 ICsgdDNfMi55KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdyb3VwIEtleTog dDJfMi54CkBAIC04OTIsMTEgKzk0MiwxMyBAQCBHUk9VUCBCWSB0MS54IE9SREVSIEJZIHQxLng7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0Ml8y LnggPSB0M18yLngpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAg U2VxIFNjYW4gb24gcHVibGljLmVhZ2VyX2FnZ190YWIxX3AzIHQyXzIKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDJfMi55LCB0Ml8yLngKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciA1 OiBrZXlzPSh0Ml8yLngpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAt PiAgSGFzaAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0 cHV0OiB0M18yLnksIHQzXzIueAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgQmxvb20gRmlsdGVyIDUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuZWFnZXJfYWdnX3RhYjFfcDMgdDNf MgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0 cHV0OiB0M18yLnksIHQzXzIueAotKDcwIHJvd3MpCisoODIgcm93cykKIAogU0VMRUNUIHQxLngs IHN1bSh0Mi55ICsgdDMueSkKICAgRlJPTSBlYWdlcl9hZ2dfdGFiMSB0MQpAQCAtMTA2Niw4ICsx MTE4LDEwIEBAIEdST1VQIEJZIHQxLnggT1JERVIgQlkgdDEueDsKICAgICAgICAgICAgICAgICAg ICAgIEhhc2ggQ29uZDogKHQyLnkgPSB0MS54KQogICAgICAgICAgICAgICAgICAgICAgLT4gIFNl cSBTY2FuIG9uIHB1YmxpYy5lYWdlcl9hZ2dfdGFiMl9wMSB0MgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgT3V0cHV0OiB0Mi55CisgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBG aWx0ZXIgMToga2V5cz0odDIueSkKICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQxLngsIChQQVJUSUFMIHN1bSh0MS55KSks IChQQVJUSUFMIGNvdW50KCopKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmls dGVyIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBQYXJ0aWFsIEhhc2hBZ2dyZWdh dGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDEueCwgUEFSVElB TCBzdW0odDEueSksIFBBUlRJQUwgY291bnQoKikKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEdyb3VwIEtleTogdDEueApAQCAtMTA4MSw4ICsxMTM1LDEwIEBAIEdST1VQIEJZIHQx LnggT1JERVIgQlkgdDEueDsKICAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQyXzEu eSA9IHQxXzEueCkKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMu ZWFnZXJfYWdnX3RhYjJfcDIgdDJfMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0 OiB0Ml8xLnkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyOiBrZXlz PSh0Ml8xLnkpCiAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgT3V0cHV0OiB0MV8xLngsIChQQVJUSUFMIHN1bSh0MV8xLnkpKSwgKFBBUlRJ QUwgY291bnQoKikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFBhcnRpYWwgSGFzaEFnZ3JlZ2F0ZQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0MV8xLngsIFBBUlRJQUwgc3Vt KHQxXzEueSksIFBBUlRJQUwgY291bnQoKikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEdyb3VwIEtleTogdDFfMS54CkBAIC0xMDk2LDE0ICsxMTUyLDE2IEBAIEdST1VQIEJZIHQx LnggT1JERVIgQlkgdDEueDsKICAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQyXzIu eSA9IHQxXzIueCkKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMu ZWFnZXJfYWdnX3RhYjJfcDMgdDJfMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0 OiB0Ml8yLnkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAzOiBrZXlz PSh0Ml8yLnkpCiAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgT3V0cHV0OiB0MV8yLngsIChQQVJUSUFMIHN1bSh0MV8yLnkpKSwgKFBBUlRJ QUwgY291bnQoKikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFBhcnRpYWwgSGFzaEFnZ3JlZ2F0ZQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0MV8yLngsIFBBUlRJQUwgc3Vt KHQxXzIueSksIFBBUlRJQUwgY291bnQoKikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEdyb3VwIEtleTogdDFfMi54CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAt PiAgU2VxIFNjYW4gb24gcHVibGljLmVhZ2VyX2FnZ190YWIxX3AzIHQxXzIKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDFfMi54LCB0MV8yLnkKLSg0OSBy b3dzKQorKDU1IHJvd3MpCiAKIFNFTEVDVCB0MS54LCBzdW0odDEueSksIGNvdW50KCopCiAgIEZS T00gZWFnZXJfYWdnX3RhYjEgdDEKQEAgLTExNjYsOCArMTIyNCwxMCBAQCBHUk9VUCBCWSB0MS54 IE9SREVSIEJZIHQxLng7CiAgICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0MS54ID0g dDIueCkKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuZWFnZXJf YWdnX3RhYl9tbF9wMSB0MQogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0MS54 CisgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0odDEueCkK ICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBPdXRwdXQ6IHQyLngsIChQQVJUSUFMIHN1bSh0Mi55KSksIChQQVJUSUFMIGNvdW50KCopKQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIC0+ICBQYXJ0aWFsIEhhc2hBZ2dyZWdhdGUKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIE91dHB1dDogdDIueCwgUEFSVElBTCBzdW0odDIueSksIFBBUlRJQUwg Y291bnQoKikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdyb3VwIEtleTogdDIu eApAQCAtMTE4MSw4ICsxMjQxLDEwIEBAIEdST1VQIEJZIHQxLnggT1JERVIgQlkgdDEueDsKICAg ICAgICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQxXzEueCA9IHQyXzEueCkKICAgICAgICAg ICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuZWFnZXJfYWdnX3RhYl9tbF9wMl9z MSB0MV8xCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQxXzEueAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDI6IGtleXM9KHQxXzEueCkKICAgICAg ICAgICAgICAgICAgICAgIC0+ICBIYXNoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRw dXQ6IHQyXzEueCwgKFBBUlRJQUwgc3VtKHQyXzEueSkpLCAoUEFSVElBTCBjb3VudCgqKSkKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAtPiAgUGFydGlhbCBIYXNoQWdncmVnYXRlCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBPdXRwdXQ6IHQyXzEueCwgUEFSVElBTCBzdW0odDJfMS55KSwgUEFSVElB TCBjb3VudCgqKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR3JvdXAgS2V5OiB0 Ml8xLngKQEAgLTExOTYsOCArMTI1OCwxMCBAQCBHUk9VUCBCWSB0MS54IE9SREVSIEJZIHQxLng7 CiAgICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0MV8yLnggPSB0Ml8yLngpCiAgICAg ICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmVhZ2VyX2FnZ190YWJfbWxf cDJfczIgdDFfMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0MV8yLngKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAzOiBrZXlzPSh0MV8yLngpCiAg ICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaAogICAgICAgICAgICAgICAgICAgICAgICAgICAg T3V0cHV0OiB0Ml8yLngsIChQQVJUSUFMIHN1bSh0Ml8yLnkpKSwgKFBBUlRJQUwgY291bnQoKikp CisgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgLT4gIFBhcnRpYWwgSGFzaEFnZ3JlZ2F0ZQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0Ml8yLngsIFBBUlRJQUwgc3VtKHQyXzIueSksIFBB UlRJQUwgY291bnQoKikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdyb3VwIEtl eTogdDJfMi54CkBAIC0xMjExLDggKzEyNzUsMTAgQEAgR1JPVVAgQlkgdDEueCBPUkRFUiBCWSB0 MS54OwogICAgICAgICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDFfMy54ID0gdDJfMy54KQog ICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5lYWdlcl9hZ2dfdGFi X21sX3AzX3MxIHQxXzMKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDFfMy54 CisgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgNDoga2V5cz0odDFfMy54 KQogICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIE91dHB1dDogdDJfMy54LCAoUEFSVElBTCBzdW0odDJfMy55KSksIChQQVJUSUFMIGNvdW50 KCopKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDQKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIC0+ICBQYXJ0aWFsIEhhc2hBZ2dyZWdhdGUKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDJfMy54LCBQQVJUSUFMIHN1bSh0Ml8zLnkp LCBQQVJUSUFMIGNvdW50KCopCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHcm91 cCBLZXk6IHQyXzMueApAQCAtMTIyNiwxNCArMTI5MiwxNiBAQCBHUk9VUCBCWSB0MS54IE9SREVS IEJZIHQxLng7CiAgICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0MV80LnggPSB0Ml80 LngpCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmVhZ2VyX2Fn Z190YWJfbWxfcDNfczIgdDFfNAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0 MV80LngKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciA1OiBrZXlzPSh0 MV80LngpCiAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgT3V0cHV0OiB0Ml80LngsIChQQVJUSUFMIHN1bSh0Ml80LnkpKSwgKFBBUlRJQUwg Y291bnQoKikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgNQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFBhcnRpYWwgSGFzaEFnZ3JlZ2F0ZQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0Ml80LngsIFBBUlRJQUwgc3VtKHQy XzQueSksIFBBUlRJQUwgY291bnQoKikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IEdyb3VwIEtleTogdDJfNC54CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAg U2VxIFNjYW4gb24gcHVibGljLmVhZ2VyX2FnZ190YWJfbWxfcDNfczIgdDJfNAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0Ml80LnksIHQyXzQueAotKDc5 IHJvd3MpCisoODkgcm93cykKIAogU0VMRUNUIHQxLngsIHN1bSh0Mi55KSwgY291bnQoKikKICAg RlJPTSBlYWdlcl9hZ2dfdGFiX21sIHQxCkBAIC0xMjk0LDggKzEzNjIsMTAgQEAgR1JPVVAgQlkg dDEueSBPUkRFUiBCWSB0MS55OwogICAgICAgICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDEu eCA9IHQyLngpCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmVh Z2VyX2FnZ190YWJfbWxfcDEgdDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDog dDEueSwgdDEueAorICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtl eXM9KHQxLngpCiAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgT3V0cHV0OiB0Mi54LCAoUEFSVElBTCBzdW0odDIueSkpLCAoUEFSVElBTCBj b3VudCgqKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAtPiAgUGFydGlhbCBIYXNoQWdncmVnYXRlCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQyLngsIFBBUlRJQUwgc3VtKHQyLnkp LCBQQVJUSUFMIGNvdW50KCopCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHcm91 cCBLZXk6IHQyLngKQEAgLTEzMDYsOCArMTM3NiwxMCBAQCBHUk9VUCBCWSB0MS55IE9SREVSIEJZ IHQxLnk7CiAgICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0MV8xLnggPSB0Ml8xLngp CiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmVhZ2VyX2FnZ190 YWJfbWxfcDJfczEgdDFfMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0MV8x LnksIHQxXzEueAorICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDI6IGtl eXM9KHQxXzEueCkKICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBPdXRwdXQ6IHQyXzEueCwgKFBBUlRJQUwgc3VtKHQyXzEueSkpLCAoUEFS VElBTCBjb3VudCgqKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAy CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgUGFydGlhbCBIYXNoQWdncmVnYXRlCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQyXzEueCwgUEFSVElBTCBz dW0odDJfMS55KSwgUEFSVElBTCBjb3VudCgqKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgR3JvdXAgS2V5OiB0Ml8xLngKQEAgLTEzMTgsOCArMTM5MCwxMCBAQCBHUk9VUCBCWSB0 MS55IE9SREVSIEJZIHQxLnk7CiAgICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0MV8y LnggPSB0Ml8yLngpCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGlj LmVhZ2VyX2FnZ190YWJfbWxfcDJfczIgdDFfMgogICAgICAgICAgICAgICAgICAgICAgICAgICAg T3V0cHV0OiB0MV8yLnksIHQxXzIueAorICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20g RmlsdGVyIDM6IGtleXM9KHQxXzIueCkKICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQyXzIueCwgKFBBUlRJQUwgc3VtKHQy XzIueSkpLCAoUEFSVElBTCBjb3VudCgqKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEJs b29tIEZpbHRlciAzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgUGFydGlhbCBIYXNo QWdncmVnYXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQyXzIu eCwgUEFSVElBTCBzdW0odDJfMi55KSwgUEFSVElBTCBjb3VudCgqKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgR3JvdXAgS2V5OiB0Ml8yLngKQEAgLTEzMzAsOCArMTQwNCwxMCBA QCBHUk9VUCBCWSB0MS55IE9SREVSIEJZIHQxLnk7CiAgICAgICAgICAgICAgICAgICAgICBIYXNo IENvbmQ6ICh0MV8zLnggPSB0Ml8zLngpCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNj YW4gb24gcHVibGljLmVhZ2VyX2FnZ190YWJfbWxfcDNfczEgdDFfMwogICAgICAgICAgICAgICAg ICAgICAgICAgICAgT3V0cHV0OiB0MV8zLnksIHQxXzMueAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgQmxvb20gRmlsdGVyIDQ6IGtleXM9KHQxXzMueCkKICAgICAgICAgICAgICAgICAgICAg IC0+ICBIYXNoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQyXzMueCwgKFBB UlRJQUwgc3VtKHQyXzMueSkpLCAoUEFSVElBTCBjb3VudCgqKSkKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgIEJsb29tIEZpbHRlciA0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAg UGFydGlhbCBIYXNoQWdncmVnYXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBP dXRwdXQ6IHQyXzMueCwgUEFSVElBTCBzdW0odDJfMy55KSwgUEFSVElBTCBjb3VudCgqKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR3JvdXAgS2V5OiB0Ml8zLngKQEAgLTEzNDIs MTQgKzE0MTgsMTYgQEAgR1JPVVAgQlkgdDEueSBPUkRFUiBCWSB0MS55OwogICAgICAgICAgICAg ICAgICAgICAgSGFzaCBDb25kOiAodDFfNC54ID0gdDJfNC54KQogICAgICAgICAgICAgICAgICAg ICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5lYWdlcl9hZ2dfdGFiX21sX3AzX3MyIHQxXzQKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDFfNC55LCB0MV80LngKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciA1OiBrZXlzPSh0MV80LngpCiAgICAgICAg ICAgICAgICAgICAgICAtPiAgSGFzaAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0 OiB0Ml80LngsIChQQVJUSUFMIHN1bSh0Ml80LnkpKSwgKFBBUlRJQUwgY291bnQoKikpCisgICAg ICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgNQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgLT4gIFBhcnRpYWwgSGFzaEFnZ3JlZ2F0ZQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgT3V0cHV0OiB0Ml80LngsIFBBUlRJQUwgc3VtKHQyXzQueSksIFBBUlRJQUwg Y291bnQoKikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdyb3VwIEtleTogdDJf NC54CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVi bGljLmVhZ2VyX2FnZ190YWJfbWxfcDNfczIgdDJfNAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgT3V0cHV0OiB0Ml80LnksIHQyXzQueAotKDY3IHJvd3MpCisoNzcgcm93 cykKIAogU0VMRUNUIHQxLnksIHN1bSh0Mi55KSwgY291bnQoKikKICAgRlJPTSBlYWdlcl9hZ2df dGFiX21sIHQxCkBAIC0xNDExLDggKzE0ODksMTAgQEAgR1JPVVAgQlkgdDEueCBPUkRFUiBCWSB0 MS54OwogICAgICAgICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDEueCA9IHQyLngpCiAgICAg ICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmVhZ2VyX2FnZ190YWJfbWxf cDEgdDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDEueAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDI6IGtleXM9KHQxLngpCiAgICAgICAgICAg ICAgICAgICAgICAtPiAgSGFzaAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0 Mi54LCB0My54LCAoUEFSVElBTCBzdW0oKHQyLnkgKyB0My55KSkpLCAoUEFSVElBTCBjb3VudCgq KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAtPiAgUGFydGlhbCBIYXNoQWdncmVnYXRlCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQyLngsIHQzLngsIFBBUlRJQUwgc3VtKCh0Mi55 ICsgdDMueSkpLCBQQVJUSUFMIGNvdW50KCopCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBHcm91cCBLZXk6IHQyLngKQEAgLTE0MjEsOCArMTUwMSwxMCBAQCBHUk9VUCBCWSB0MS54 IE9SREVSIEJZIHQxLng7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBI YXNoIENvbmQ6ICh0Mi54ID0gdDMueCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuZWFnZXJfYWdnX3RhYl9tbF9wMSB0MgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0Mi55LCB0 Mi54CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBG aWx0ZXIgMToga2V5cz0odDIueCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIC0+ICBIYXNoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBPdXRwdXQ6IHQzLnksIHQzLngKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmVhZ2VyX2FnZ190YWJfbWxfcDEg dDMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91 dHB1dDogdDMueSwgdDMueAogICAgICAgICAgLT4gIEZpbmFsaXplIEhhc2hBZ2dyZWdhdGUKQEAg LTE0MzMsOCArMTUxNSwxMCBAQCBHUk9VUCBCWSB0MS54IE9SREVSIEJZIHQxLng7CiAgICAgICAg ICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0MV8xLnggPSB0Ml8xLngpCiAgICAgICAgICAgICAg ICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmVhZ2VyX2FnZ190YWJfbWxfcDJfczEgdDFf MQogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0MV8xLngKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciA0OiBrZXlzPSh0MV8xLngpCiAgICAgICAgICAg ICAgICAgICAgICAtPiAgSGFzaAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0 Ml8xLngsIHQzXzEueCwgKFBBUlRJQUwgc3VtKCh0Ml8xLnkgKyB0M18xLnkpKSksIChQQVJUSUFM IGNvdW50KCopKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDQKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBQYXJ0aWFsIEhhc2hBZ2dyZWdhdGUKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDJfMS54LCB0M18xLngsIFBBUlRJ QUwgc3VtKCh0Ml8xLnkgKyB0M18xLnkpKSwgUEFSVElBTCBjb3VudCgqKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgR3JvdXAgS2V5OiB0Ml8xLngKQEAgLTE0NDMsOCArMTUyNywx MCBAQCBHUk9VUCBCWSB0MS54IE9SREVSIEJZIHQxLng7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0Ml8xLnggPSB0M18xLngpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmVhZ2Vy X2FnZ190YWJfbWxfcDJfczEgdDJfMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgT3V0cHV0OiB0Ml8xLnksIHQyXzEueAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDM6IGtleXM9KHQyXzEueCkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQzXzEueSwgdDNfMS54 CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0 ZXIgMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFNl cSBTY2FuIG9uIHB1YmxpYy5lYWdlcl9hZ2dfdGFiX21sX3AyX3MxIHQzXzEKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDNfMS55LCB0 M18xLngKICAgICAgICAgIC0+ICBGaW5hbGl6ZSBIYXNoQWdncmVnYXRlCkBAIC0xNDU1LDggKzE1 NDEsMTAgQEAgR1JPVVAgQlkgdDEueCBPUkRFUiBCWSB0MS54OwogICAgICAgICAgICAgICAgICAg ICAgSGFzaCBDb25kOiAodDFfMi54ID0gdDJfMi54KQogICAgICAgICAgICAgICAgICAgICAgLT4g IFNlcSBTY2FuIG9uIHB1YmxpYy5lYWdlcl9hZ2dfdGFiX21sX3AyX3MyIHQxXzIKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDFfMi54CisgICAgICAgICAgICAgICAgICAgICAg ICAgICBCbG9vbSBGaWx0ZXIgNjoga2V5cz0odDFfMi54KQogICAgICAgICAgICAgICAgICAgICAg LT4gIEhhc2gKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDJfMi54LCB0M18y LngsIChQQVJUSUFMIHN1bSgodDJfMi55ICsgdDNfMi55KSkpLCAoUEFSVElBTCBjb3VudCgqKSkK KyAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciA2CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAtPiAgUGFydGlhbCBIYXNoQWdncmVnYXRlCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQyXzIueCwgdDNfMi54LCBQQVJUSUFMIHN1bSgodDJf Mi55ICsgdDNfMi55KSksIFBBUlRJQUwgY291bnQoKikKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEdyb3VwIEtleTogdDJfMi54CkBAIC0xNDY1LDggKzE1NTMsMTAgQEAgR1JPVVAg QlkgdDEueCBPUkRFUiBCWSB0MS54OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgSGFzaCBDb25kOiAodDJfMi54ID0gdDNfMi54KQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5lYWdlcl9hZ2dfdGFiX21s X3AyX3MyIHQyXzIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IE91dHB1dDogdDJfMi55LCB0Ml8yLngKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEJsb29tIEZpbHRlciA1OiBrZXlzPSh0Ml8yLngpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0M18yLnksIHQzXzIueAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDUKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBw dWJsaWMuZWFnZXJfYWdnX3RhYl9tbF9wMl9zMiB0M18yCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQzXzIueSwgdDNfMi54CiAgICAg ICAgICAtPiAgRmluYWxpemUgSGFzaEFnZ3JlZ2F0ZQpAQCAtMTQ3Nyw4ICsxNTY3LDEwIEBAIEdS T1VQIEJZIHQxLnggT1JERVIgQlkgdDEueDsKICAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29u ZDogKHQxXzMueCA9IHQyXzMueCkKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBv biBwdWJsaWMuZWFnZXJfYWdnX3RhYl9tbF9wM19zMSB0MV8zCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBPdXRwdXQ6IHQxXzMueAorICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20g RmlsdGVyIDg6IGtleXM9KHQxXzMueCkKICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQyXzMueCwgdDNfMy54LCAoUEFSVElB TCBzdW0oKHQyXzMueSArIHQzXzMueSkpKSwgKFBBUlRJQUwgY291bnQoKikpCisgICAgICAgICAg ICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgOAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgLT4gIFBhcnRpYWwgSGFzaEFnZ3JlZ2F0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgT3V0cHV0OiB0Ml8zLngsIHQzXzMueCwgUEFSVElBTCBzdW0oKHQyXzMueSArIHQzXzMu eSkpLCBQQVJUSUFMIGNvdW50KCopCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBH cm91cCBLZXk6IHQyXzMueApAQCAtMTQ4Nyw4ICsxNTc5LDEwIEBAIEdST1VQIEJZIHQxLnggT1JE RVIgQlkgdDEueDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhhc2gg Q29uZDogKHQyXzMueCA9IHQzXzMueCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuZWFnZXJfYWdnX3RhYl9tbF9wM19zMSB0Ml8z CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQy XzMueSwgdDJfMy54CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBCbG9vbSBGaWx0ZXIgNzoga2V5cz0odDJfMy54KQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgLT4gIEhhc2gKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIE91dHB1dDogdDNfMy55LCB0M18zLngKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciA3CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmVhZ2Vy X2FnZ190YWJfbWxfcDNfczEgdDNfMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0M18zLnksIHQzXzMueAogICAgICAgICAgLT4gIEZp bmFsaXplIEhhc2hBZ2dyZWdhdGUKQEAgLTE0OTksOCArMTU5MywxMCBAQCBHUk9VUCBCWSB0MS54 IE9SREVSIEJZIHQxLng7CiAgICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0MV80Lngg PSB0Ml80LngpCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmVh Z2VyX2FnZ190YWJfbWxfcDNfczIgdDFfNAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0 cHV0OiB0MV80LngKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxMDog a2V5cz0odDFfNC54KQogICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIE91dHB1dDogdDJfNC54LCB0M180LngsIChQQVJUSUFMIHN1bSgodDJf NC55ICsgdDNfNC55KSkpLCAoUEFSVElBTCBjb3VudCgqKSkKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgIEJsb29tIEZpbHRlciAxMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFBh cnRpYWwgSGFzaEFnZ3JlZ2F0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0 cHV0OiB0Ml80LngsIHQzXzQueCwgUEFSVElBTCBzdW0oKHQyXzQueSArIHQzXzQueSkpLCBQQVJU SUFMIGNvdW50KCopCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHcm91cCBLZXk6 IHQyXzQueApAQCAtMTUwOSwxMSArMTYwNSwxMyBAQCBHUk9VUCBCWSB0MS54IE9SREVSIEJZIHQx Lng7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0 Ml80LnggPSB0M180LngpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAt PiAgU2VxIFNjYW4gb24gcHVibGljLmVhZ2VyX2FnZ190YWJfbWxfcDNfczIgdDJfNAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0Ml80LnksIHQy XzQueAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20g RmlsdGVyIDk6IGtleXM9KHQyXzQueCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIC0+ICBIYXNoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBPdXRwdXQ6IHQzXzQueSwgdDNfNC54CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgOQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5lYWdlcl9hZ2dfdGFi X21sX3AzX3MyIHQzXzQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIE91dHB1dDogdDNfNC55LCB0M180LngKLSgxMTQgcm93cykKKygxMzQgcm93cykK IAogU0VMRUNUIHQxLngsIHN1bSh0Mi55ICsgdDMueSksIGNvdW50KCopCiAgIEZST00gZWFnZXJf YWdnX3RhYl9tbCB0MQpAQCAtMTU3NSw4ICsxNjczLDEwIEBAIEdST1VQIEJZIHQzLnkgT1JERVIg QlkgdDMueTsKICAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQxLnggPSB0Mi54KQog ICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5lYWdlcl9hZ2dfdGFi X21sX3AxIHQxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQxLngKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyOiBrZXlzPSh0MS54KQogICAgICAg ICAgICAgICAgICAgICAgLT4gIEhhc2gKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1 dDogdDIueCwgdDMueSwgdDMueCwgKFBBUlRJQUwgc3VtKCh0Mi55ICsgdDMueSkpKSwgKFBBUlRJ QUwgY291bnQoKikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFBhcnRpYWwgSGFzaEFnZ3JlZ2F0ZQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0Mi54LCB0My55LCB0My54LCBQ QVJUSUFMIHN1bSgodDIueSArIHQzLnkpKSwgUEFSVElBTCBjb3VudCgqKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgR3JvdXAgS2V5OiB0Mi54LCB0My55LCB0My54CkBAIC0xNTg1 LDggKzE2ODUsMTAgQEAgR1JPVVAgQlkgdDMueSBPUkRFUiBCWSB0My55OwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDIueCA9IHQzLngpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGlj LmVhZ2VyX2FnZ190YWJfbWxfcDEgdDIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIE91dHB1dDogdDIueSwgdDIueAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KHQyLngpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0My55LCB0My54CisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9u IHB1YmxpYy5lYWdlcl9hZ2dfdGFiX21sX3AxIHQzCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQzLnksIHQzLngKICAgICAgICAgICAg ICAgIC0+ICBIYXNoIEpvaW4KQEAgLTE1OTQsOCArMTY5NiwxMCBAQCBHUk9VUCBCWSB0My55IE9S REVSIEJZIHQzLnk7CiAgICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0MV8xLnggPSB0 Ml8xLngpCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmVhZ2Vy X2FnZ190YWJfbWxfcDJfczEgdDFfMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0 OiB0MV8xLngKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciA0OiBrZXlz PSh0MV8xLngpCiAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgT3V0cHV0OiB0Ml8xLngsIHQzXzEueSwgdDNfMS54LCAoUEFSVElBTCBzdW0o KHQyXzEueSArIHQzXzEueSkpKSwgKFBBUlRJQUwgY291bnQoKikpCisgICAgICAgICAgICAgICAg ICAgICAgICAgICBCbG9vbSBGaWx0ZXIgNAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4g IFBhcnRpYWwgSGFzaEFnZ3JlZ2F0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg T3V0cHV0OiB0Ml8xLngsIHQzXzEueSwgdDNfMS54LCBQQVJUSUFMIHN1bSgodDJfMS55ICsgdDNf MS55KSksIFBBUlRJQUwgY291bnQoKikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IEdyb3VwIEtleTogdDJfMS54LCB0M18xLnksIHQzXzEueApAQCAtMTYwNCw4ICsxNzA4LDEwIEBA IEdST1VQIEJZIHQzLnkgT1JERVIgQlkgdDMueTsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQyXzEueCA9IHQzXzEueCkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuZWFnZXJfYWdn X3RhYl9tbF9wMl9zMSB0Ml8xCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBPdXRwdXQ6IHQyXzEueSwgdDJfMS54CisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMzoga2V5cz0odDJfMS54KQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDNfMS55LCB0M18xLngKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAz CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNj YW4gb24gcHVibGljLmVhZ2VyX2FnZ190YWJfbWxfcDJfczEgdDNfMQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0M18xLnksIHQzXzEu eAogICAgICAgICAgICAgICAgLT4gIEhhc2ggSm9pbgpAQCAtMTYxMyw4ICsxNzE5LDEwIEBAIEdS T1VQIEJZIHQzLnkgT1JERVIgQlkgdDMueTsKICAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29u ZDogKHQxXzIueCA9IHQyXzIueCkKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBv biBwdWJsaWMuZWFnZXJfYWdnX3RhYl9tbF9wMl9zMiB0MV8yCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBPdXRwdXQ6IHQxXzIueAorICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20g RmlsdGVyIDY6IGtleXM9KHQxXzIueCkKICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQyXzIueCwgdDNfMi55LCB0M18yLngs IChQQVJUSUFMIHN1bSgodDJfMi55ICsgdDNfMi55KSkpLCAoUEFSVElBTCBjb3VudCgqKSkKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciA2CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAtPiAgUGFydGlhbCBIYXNoQWdncmVnYXRlCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBPdXRwdXQ6IHQyXzIueCwgdDNfMi55LCB0M18yLngsIFBBUlRJQUwgc3Vt KCh0Ml8yLnkgKyB0M18yLnkpKSwgUEFSVElBTCBjb3VudCgqKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgR3JvdXAgS2V5OiB0Ml8yLngsIHQzXzIueSwgdDNfMi54CkBAIC0xNjIz LDggKzE3MzEsMTAgQEAgR1JPVVAgQlkgdDMueSBPUkRFUiBCWSB0My55OwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDJfMi54ID0gdDNfMi54KQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1 YmxpYy5lYWdlcl9hZ2dfdGFiX21sX3AyX3MyIHQyXzIKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDJfMi55LCB0Ml8yLngKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciA1OiBrZXlzPSh0 Ml8yLngpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0M18y LnksIHQzXzIueAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Qmxvb20gRmlsdGVyIDUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuZWFnZXJfYWdnX3RhYl9tbF9wMl9zMiB0M18yCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6 IHQzXzIueSwgdDNfMi54CiAgICAgICAgICAgICAgICAtPiAgSGFzaCBKb2luCkBAIC0xNjMyLDgg KzE3NDIsMTAgQEAgR1JPVVAgQlkgdDMueSBPUkRFUiBCWSB0My55OwogICAgICAgICAgICAgICAg ICAgICAgSGFzaCBDb25kOiAodDFfMy54ID0gdDJfMy54KQogICAgICAgICAgICAgICAgICAgICAg LT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5lYWdlcl9hZ2dfdGFiX21sX3AzX3MxIHQxXzMKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDFfMy54CisgICAgICAgICAgICAgICAgICAg ICAgICAgICBCbG9vbSBGaWx0ZXIgODoga2V5cz0odDFfMy54KQogICAgICAgICAgICAgICAgICAg ICAgLT4gIEhhc2gKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDJfMy54LCB0 M18zLnksIHQzXzMueCwgKFBBUlRJQUwgc3VtKCh0Ml8zLnkgKyB0M18zLnkpKSksIChQQVJUSUFM IGNvdW50KCopKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDgKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBQYXJ0aWFsIEhhc2hBZ2dyZWdhdGUKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDJfMy54LCB0M18zLnksIHQzXzMu eCwgUEFSVElBTCBzdW0oKHQyXzMueSArIHQzXzMueSkpLCBQQVJUSUFMIGNvdW50KCopCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHcm91cCBLZXk6IHQyXzMueCwgdDNfMy55LCB0 M18zLngKQEAgLTE2NDIsOCArMTc1NCwxMCBAQCBHUk9VUCBCWSB0My55IE9SREVSIEJZIHQzLnk7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0Ml8z LnggPSB0M18zLngpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAg U2VxIFNjYW4gb24gcHVibGljLmVhZ2VyX2FnZ190YWJfbWxfcDNfczEgdDJfMwogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0Ml8zLnksIHQyXzMu eAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmls dGVyIDc6IGtleXM9KHQyXzMueCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIC0+ICBIYXNoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBPdXRwdXQ6IHQzXzMueSwgdDNfMy54CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgNwogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5lYWdlcl9hZ2dfdGFiX21s X3AzX3MxIHQzXzMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE91dHB1dDogdDNfMy55LCB0M18zLngKICAgICAgICAgICAgICAgIC0+ICBIYXNoIEpv aW4KQEAgLTE2NTEsOCArMTc2NSwxMCBAQCBHUk9VUCBCWSB0My55IE9SREVSIEJZIHQzLnk7CiAg ICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0MV80LnggPSB0Ml80LngpCiAgICAgICAg ICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmVhZ2VyX2FnZ190YWJfbWxfcDNf czIgdDFfNAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0MV80LngKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxMDoga2V5cz0odDFfNC54KQogICAg ICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91 dHB1dDogdDJfNC54LCB0M180LnksIHQzXzQueCwgKFBBUlRJQUwgc3VtKCh0Ml80LnkgKyB0M180 LnkpKSksIChQQVJUSUFMIGNvdW50KCopKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxv b20gRmlsdGVyIDEwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgUGFydGlhbCBIYXNo QWdncmVnYXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQyXzQu eCwgdDNfNC55LCB0M180LngsIFBBUlRJQUwgc3VtKCh0Ml80LnkgKyB0M180LnkpKSwgUEFSVElB TCBjb3VudCgqKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR3JvdXAgS2V5OiB0 Ml80LngsIHQzXzQueSwgdDNfNC54CkBAIC0xNjYxLDExICsxNzc3LDEzIEBAIEdST1VQIEJZIHQz LnkgT1JERVIgQlkgdDMueTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IEhhc2ggQ29uZDogKHQyXzQueCA9IHQzXzQueCkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuZWFnZXJfYWdnX3RhYl9tbF9wM19z MiB0Ml80CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRw dXQ6IHQyXzQueSwgdDJfNC54CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBCbG9vbSBGaWx0ZXIgOToga2V5cz0odDJfNC54KQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDNfNC55LCB0M180LngKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciA5CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGlj LmVhZ2VyX2FnZ190YWJfbWxfcDNfczIgdDNfNAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0M180LnksIHQzXzQueAotKDEwMiByb3dz KQorKDEyMiByb3dzKQogCiBTRUxFQ1QgdDMueSwgc3VtKHQyLnkgKyB0My55KSwgY291bnQoKikK ICAgRlJPTSBlYWdlcl9hZ2dfdGFiX21sIHQxCkBAIC0xNzI4LDggKzE4NDYsMTAgQEAgR1JPVVAg QlkgdDEueCBPUkRFUiBCWSB0MS54OwogICAgICAgICAgICAgICAgICAgICAgSGFzaCBDb25kOiAo dDEueCA9IHQyLngpCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGlj LmVhZ2VyX2FnZ190YWJfbWxfcDEgdDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1 dDogdDEueAorICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9 KHQxLngpCiAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgT3V0cHV0OiB0Mi54LCAoUEFSVElBTCBzdW0odDIueSkpLCAoUEFSVElBTCBjb3Vu dCgqKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAtPiAgUGFydGlhbCBIYXNoQWdncmVnYXRlCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQyLngsIFBBUlRJQUwgc3VtKHQyLnkpLCBQ QVJUSUFMIGNvdW50KCopCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHcm91cCBL ZXk6IHQyLngKQEAgLTE3NDMsOCArMTg2MywxMCBAQCBHUk9VUCBCWSB0MS54IE9SREVSIEJZIHQx Lng7CiAgICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0MV8xLnggPSB0Ml8xLngpCiAg ICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmVhZ2VyX2FnZ190YWJf bWxfcDJfczEgdDFfMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0MV8xLngK KyAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyOiBrZXlzPSh0MV8xLngp CiAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgT3V0cHV0OiB0Ml8xLngsIChQQVJUSUFMIHN1bSh0Ml8xLnkpKSwgKFBBUlRJQUwgY291bnQo KikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgLT4gIFBhcnRpYWwgSGFzaEFnZ3JlZ2F0ZQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0Ml8xLngsIFBBUlRJQUwgc3VtKHQyXzEueSks IFBBUlRJQUwgY291bnQoKikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdyb3Vw IEtleTogdDJfMS54CkBAIC0xNzU4LDggKzE4ODAsMTAgQEAgR1JPVVAgQlkgdDEueCBPUkRFUiBC WSB0MS54OwogICAgICAgICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDFfMi54ID0gdDJfMi54 KQogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5lYWdlcl9hZ2df dGFiX21sX3AyX3MyIHQxXzIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDFf Mi54CisgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMzoga2V5cz0odDFf Mi54KQogICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE91dHB1dDogdDJfMi54LCAoUEFSVElBTCBzdW0odDJfMi55KSksIChQQVJUSUFMIGNv dW50KCopKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDMKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIC0+ICBQYXJ0aWFsIEhhc2hBZ2dyZWdhdGUKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDJfMi54LCBQQVJUSUFMIHN1bSh0Ml8y LnkpLCBQQVJUSUFMIGNvdW50KCopCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBH cm91cCBLZXk6IHQyXzIueApAQCAtMTc3Myw4ICsxODk3LDEwIEBAIEdST1VQIEJZIHQxLnggT1JE RVIgQlkgdDEueDsKICAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQxXzMueCA9IHQy XzMueCkKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuZWFnZXJf YWdnX3RhYl9tbF9wM19zMSB0MV8zCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6 IHQxXzMueAorICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDQ6IGtleXM9 KHQxXzMueCkKICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBPdXRwdXQ6IHQyXzMueCwgKFBBUlRJQUwgc3VtKHQyXzMueSkpLCAoUEFSVElB TCBjb3VudCgqKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciA0CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgUGFydGlhbCBIYXNoQWdncmVnYXRlCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQyXzMueCwgUEFSVElBTCBzdW0o dDJfMy55KSwgUEFSVElBTCBjb3VudCgqKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgR3JvdXAgS2V5OiB0Ml8zLngKQEAgLTE3ODgsMTQgKzE5MTQsMTYgQEAgR1JPVVAgQlkgdDEu eCBPUkRFUiBCWSB0MS54OwogICAgICAgICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDFfNC54 ID0gdDJfNC54KQogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5l YWdlcl9hZ2dfdGFiX21sX3AzX3MyIHQxXzQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91 dHB1dDogdDFfNC54CisgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgNTog a2V5cz0odDFfNC54KQogICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIE91dHB1dDogdDJfNC54LCAoUEFSVElBTCBzdW0odDJfNC55KSksIChQ QVJUSUFMIGNvdW50KCopKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVy IDUKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBQYXJ0aWFsIEhhc2hBZ2dyZWdhdGUK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDJfNC54LCBQQVJUSUFM IHN1bSh0Ml80LnkpLCBQQVJUSUFMIGNvdW50KCopCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBHcm91cCBLZXk6IHQyXzQueAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5lYWdlcl9hZ2dfdGFiX21sX3AzX3MyIHQyXzQKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDJfNC55LCB0Ml80 LngKLSg3OSByb3dzKQorKDg5IHJvd3MpCiAKIFNFTEVDVCB0MS54LCBzdW0odDIueSksIGNvdW50 KCopCiAgIEZST00gZWFnZXJfYWdnX3RhYl9tbCB0MQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVn cmVzcy9leHBlY3RlZC9qb2luLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvam9pbi5v dXQKaW5kZXggZWQ5NDZhYmVkN2YuLjRmY2NjN2M0MDU3IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL2pvaW4ub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv am9pbi5vdXQKQEAgLTE5MDksMjAgKzE5MDksMjQgQEAgc2VsZWN0ICogZnJvbSB0ZW5rMSBhLCB0 ZW5rMSBiCiB3aGVyZSBleGlzdHMoc2VsZWN0ICogZnJvbSB0ZW5rMSBjCiAgICAgICAgICAgICAg d2hlcmUgYi50d290aG91c2FuZCA9IGMudHdvdGhvdXNhbmQgYW5kIGIuZml2ZXRob3VzIDw+IGMu Zml2ZXRob3VzKQogICAgICAgYW5kIGEudGVudGhvdXMgPSBiLnRlbnRob3VzIGFuZCBhLnRlbnRo b3VzIDwgNTAwMDsKLSAgICAgICAgICAgICAgICAgIFFVRVJZIFBMQU4gICAgICAgICAgICAgICAg ICAgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAg ICAgICAgICAgICAgICAgICBRVUVSWSBQTEFOICAgICAgICAgICAgICAgICAgICAKKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgSGFzaCBTZW1pIEpv aW4KICAgIEhhc2ggQ29uZDogKGIudHdvdGhvdXNhbmQgPSBjLnR3b3Rob3VzYW5kKQogICAgSm9p biBGaWx0ZXI6IChiLmZpdmV0aG91cyA8PiBjLmZpdmV0aG91cykKICAgIC0+ICBIYXNoIEpvaW4K ICAgICAgICAgIEhhc2ggQ29uZDogKGIudGVudGhvdXMgPSBhLnRlbnRob3VzKQogICAgICAgICAg LT4gIFNlcSBTY2FuIG9uIHRlbmsxIGIKKyAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBr ZXlzPSh0ZW50aG91cykKKyAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyOiBrZXlzPSh0d290 aG91c2FuZCkKICAgICAgICAgIC0+ICBIYXNoCisgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIg MQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHRlbmsxIGEKICAgICAgICAgICAgICAg ICAgICAgIEZpbHRlcjogKHRlbnRob3VzIDwgNTAwMCkKICAgIC0+ICBIYXNoCisgICAgICAgICBC bG9vbSBGaWx0ZXIgMgogICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHRlbmsxIGMKLSgxMSByb3dz KQorKDE1IHJvd3MpCiAKIC0tCiAtLSBNb3JlIGNvbXBsaWNhdGVkIGNvbnN0cnVjdHMKQEAgLTIz NzgsOSArMjM4MiwxMSBAQCBvcmRlciBieSB0MS51bmlxdWUxOwogICAgICAgICAgSGFzaCBDb25k OiAoKHQxLnR3byA9IHQyLnR3bykgQU5EICh0MS51bmlxdWUxID0gKFN1YlBsYW4gZXhwcl8xKSkp CiAgICAgICAgICAtPiAgQml0bWFwIEhlYXAgU2NhbiBvbiB0ZW5rMSB0MQogICAgICAgICAgICAg ICAgUmVjaGVjayBDb25kOiAodW5pcXVlMSA8IDEwKQorICAgICAgICAgICAgICAgQmxvb20gRmls dGVyIDE6IGtleXM9KHR3bywgdW5pcXVlMSkKICAgICAgICAgICAgICAgIC0+ICBCaXRtYXAgSW5k ZXggU2NhbiBvbiB0ZW5rMV91bmlxdWUxCiAgICAgICAgICAgICAgICAgICAgICBJbmRleCBDb25k OiAodW5pcXVlMSA8IDEwKQogICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgIEJsb29t IEZpbHRlciAxCiAgICAgICAgICAgICAgICAtPiAgQml0bWFwIEhlYXAgU2NhbiBvbiB0ZW5rMSB0 MgogICAgICAgICAgICAgICAgICAgICAgUmVjaGVjayBDb25kOiAodW5pcXVlMSA8IDEwKQogICAg ICAgICAgICAgICAgICAgICAgLT4gIEJpdG1hcCBJbmRleCBTY2FuIG9uIHRlbmsxX3VuaXF1ZTEK QEAgLTIzOTIsNyArMjM5OCw3IEBAIG9yZGVyIGJ5IHQxLnVuaXF1ZTE7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgLT4gIExpbWl0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4g IEluZGV4IE9ubHkgU2NhbiB1c2luZyB0ZW5rMV91bmlxdWUxIG9uIHRlbmsxCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5kZXggQ29uZDogKCh1bmlxdWUxIElTIE5PVCBO VUxMKSBBTkQgKHVuaXF1ZTEgPSB0Mi51bmlxdWUxKSkKLSgyMCByb3dzKQorKDIyIHJvd3MpCiAK IC0tIEVuc3VyZSB3ZSBnZXQgdGhlIGV4cGVjdGVkIHJlc3VsdAogc2VsZWN0IHQxLnVuaXF1ZTEs dDIudW5pcXVlMSBmcm9tIHRlbmsxIHQxCkBAIC0yNTk4LDEyICsyNjA0LDE0IEBAIHNlbGVjdCAq IGZyb20gaW50NF90YmwgdDEKICAgICAgICAgICAgICAgIEpvaW4gRmlsdGVyOiAodDIuZjEgPiAw KQogICAgICAgICAgICAgICAgRmlsdGVyOiAodDMuZjEgSVMgTlVMTCkKICAgICAgICAgICAgICAg IC0+ICBTZXEgU2NhbiBvbiBpbnQ0X3RibCB0MgorICAgICAgICAgICAgICAgICAgICAgQmxvb20g RmlsdGVyIDE6IGtleXM9KGYxKQogICAgICAgICAgICAgICAgLT4gIE1hdGVyaWFsaXplCiAgICAg ICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gaW50NF90YmwgdDMKICAgICAgICAgIC0+ ICBTZXEgU2NhbiBvbiB0ZW5rMSB0NAogICAgLT4gIEhhc2gKKyAgICAgICAgIEJsb29tIEZpbHRl ciAxCiAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gaW50NF90YmwgdDEKLSgxMyByb3dzKQorKDE1 IHJvd3MpCiAKIGV4cGxhaW4gKGNvc3RzIG9mZikKIHNlbGVjdCAqIGZyb20gaW50NF90YmwgdDEK QEAgLTI2MjIsMTMgKzI2MzAsMTUgQEAgc2VsZWN0ICogZnJvbSBpbnQ0X3RibCB0MQogICAgICAg ICAgICAgICAgSm9pbiBGaWx0ZXI6ICh0Mi5mMSA+IDApCiAgICAgICAgICAgICAgICBGaWx0ZXI6 ICh0Mi5mMSA8PiBDT0FMRVNDRSh0My5mMSwgJy0xJzo6aW50ZWdlcikpCiAgICAgICAgICAgICAg ICAtPiAgU2VxIFNjYW4gb24gaW50NF90YmwgdDIKKyAgICAgICAgICAgICAgICAgICAgIEJsb29t IEZpbHRlciAxOiBrZXlzPShmMSkKICAgICAgICAgICAgICAgIC0+ICBNYXRlcmlhbGl6ZQogICAg ICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIGludDRfdGJsIHQzCiAgICAgICAgICAt PiAgSGFzaAorICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgICAgICAgIC0+ ICBTZXEgU2NhbiBvbiBpbnQ0X3RibCB0MQogICAgLT4gIE1hdGVyaWFsaXplCiAgICAgICAgICAt PiAgU2VxIFNjYW4gb24gdGVuazEgdDQKLSgxNCByb3dzKQorKDE2IHJvd3MpCiAKIGV4cGxhaW4g KGNvc3RzIG9mZikKIHNlbGVjdCAqIGZyb20gb25layB0MQpAQCAtMzEyMiwxMCArMzEzMiwxMiBA QCBzZWxlY3QgY291bnQoKikgZnJvbSB0ZW5rMSBhLCB0ZW5rMSBiCiAgICAtPiAgSGFzaCBKb2lu CiAgICAgICAgICBIYXNoIENvbmQ6IChhLmh1bmRyZWQgPSBiLnRob3VzYW5kKQogICAgICAgICAg LT4gIEluZGV4IE9ubHkgU2NhbiB1c2luZyB0ZW5rMV9odW5kcmVkIG9uIHRlbmsxIGEKKyAgICAg ICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPShodW5kcmVkKQogICAgICAgICAgLT4gIEhh c2gKKyAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAtPiAgU2Vx IFNjYW4gb24gdGVuazEgYgogICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoKGZpdmV0aG91 cyAlIDEwKSA8IDEwKQotKDcgcm93cykKKyg5IHJvd3MpCiAKIHNlbGVjdCBjb3VudCgqKSBmcm9t IHRlbmsxIGEsIHRlbmsxIGIKICAgd2hlcmUgYS5odW5kcmVkID0gYi50aG91c2FuZCBhbmQgKGIu Zml2ZXRob3VzICUgMTApIDwgMTA7CkBAIC0zMTY4LDExICszMTgwLDEzIEBAIE9SREVSIEJZIDE7 CiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6IChiLmYxID0gYy5mMSkKICAgICAgICAgICAgICAg IEZpbHRlcjogKENPQUxFU0NFKGMuZjEsIDApID0gMCkKICAgICAgICAgICAgICAgIC0+ICBTZXEg U2NhbiBvbiB0dDMgYgorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9 KGYxKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKICAgICAgICAgICAgICAgICAgICAgIC0+ICBT ZXEgU2NhbiBvbiB0dDMgYwogICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgIEJsb29t IEZpbHRlciAxCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gdHQ0IGEKLSgxMyByb3dz KQorKDE1IHJvd3MpCiAKIFNFTEVDVCBhLmYxCiBGUk9NIHR0NCBhCkBAIC0zMjEwLDEwICszMjI0 LDEyIEBAIHdoZXJlIHQxLmZpbHQgPSA1OwogIEhhc2ggSm9pbgogICAgSGFzaCBDb25kOiAodDIu dmFsID0gdDEudmFsKQogICAgLT4gIFNlcSBTY2FuIG9uIHNrZXdlZHRhYmxlIHQyCisgICAgICAg ICBCbG9vbSBGaWx0ZXIgMToga2V5cz0odmFsKQogICAgLT4gIEhhc2gKKyAgICAgICAgIEJsb29t IEZpbHRlciAxCiAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gc2tld2VkdGFibGUgdDEKICAgICAg ICAgICAgICAgIEZpbHRlcjogKGZpbHQgPSA1KQotKDYgcm93cykKKyg4IHJvd3MpCiAKIGRyb3Ag dGFibGUgc2tld2VkdGFibGU7CiAtLQpAQCAtMzIyNyw5ICszMjQzLDExIEBAIHdoZXJlIHVuaXF1 ZTEgaW4gKHNlbGVjdCB1bmlxdWUyIGZyb20gdGVuazEgYik7CiAgSGFzaCBTZW1pIEpvaW4KICAg IEhhc2ggQ29uZDogKGEudW5pcXVlMSA9IGIudW5pcXVlMikKICAgIC0+ICBTZXEgU2NhbiBvbiB0 ZW5rMSBhCisgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0odW5pcXVlMSkKICAgIC0+ICBI YXNoCisgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgLT4gIEluZGV4IE9ubHkgU2Nh biB1c2luZyB0ZW5rMV91bmlxdWUyIG9uIHRlbmsxIGIKLSg1IHJvd3MpCisoNyByb3dzKQogCiAt LSBzYWRseSwgdGhpcyBpcyBub3QgYW4gYW50aWpvaW4KIGV4cGxhaW4gKGNvc3RzIG9mZikKQEAg LTMyNTEsOSArMzI2OSwxMSBAQCB3aGVyZSBleGlzdHMgKHNlbGVjdCAxIGZyb20gdGVuazEgYiB3 aGVyZSBhLnVuaXF1ZTEgPSBiLnVuaXF1ZTIpOwogIEhhc2ggU2VtaSBKb2luCiAgICBIYXNoIENv bmQ6IChhLnVuaXF1ZTEgPSBiLnVuaXF1ZTIpCiAgICAtPiAgU2VxIFNjYW4gb24gdGVuazEgYQor ICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KHVuaXF1ZTEpCiAgICAtPiAgSGFzaAorICAg ICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgIC0+ICBJbmRleCBPbmx5IFNjYW4gdXNpbmcg dGVuazFfdW5pcXVlMiBvbiB0ZW5rMSBiCi0oNSByb3dzKQorKDcgcm93cykKIAogZXhwbGFpbiAo Y29zdHMgb2ZmKQogc2VsZWN0IGEuKiBmcm9tIHRlbmsxIGEKQEAgLTMyOTAsMTEgKzMzMTAsMTMg QEAgd2hlcmUgKGh1bmRyZWQsIHRob3VzYW5kKSBpbiAoc2VsZWN0IHR3b3Rob3VzYW5kLCB0d290 aG91c2FuZCBmcm9tIG9uZWspOwogICAgSGFzaCBDb25kOiAodGVuazEuaHVuZHJlZCA9IG9uZWsu dHdvdGhvdXNhbmQpCiAgICAtPiAgU2VxIFNjYW4gb24gdGVuazEKICAgICAgICAgIEZpbHRlcjog KGh1bmRyZWQgPSB0aG91c2FuZCkKKyAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPShodW5k cmVkKQogICAgLT4gIEhhc2gKKyAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAtPiAg SGFzaEFnZ3JlZ2F0ZQogICAgICAgICAgICAgICAgR3JvdXAgS2V5OiBvbmVrLnR3b3Rob3VzYW5k CiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gb25lawotKDggcm93cykKKygxMCByb3dz KQogCiByZXNldCBlbmFibGVfbWVtb2l6ZTsKIC0tCkBAIC0zMzExLDE3ICszMzMzLDE5IEBAIHdo ZXJlIHQyLmEgaXMgbnVsbDsKICBIYXNoIFJpZ2h0IEFudGkgSm9pbgogICAgSGFzaCBDb25kOiAo dDIuYiA9IHQxLnVuaXF1ZTEpCiAgICAtPiAgU2VxIFNjYW4gb24gdGJsX2FudGkgdDIKKyAgICAg ICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPShiKQogICAgLT4gIEhhc2gKKyAgICAgICAgIEJsb29t IEZpbHRlciAxCiAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gdGVuazEgdDEKLSg1IHJvd3MpCiso NyByb3dzKQogCiAtLSB0aGlzIGlzIGFuIGFudGlqb2luLCBhcyB0Mi5hIGlzIG5vbi1udWxsIGZv ciBhbnkgbWF0Y2hpbmcgcm93CiBleHBsYWluIChjb3N0cyBvZmYpCiBzZWxlY3QgKiBmcm9tIHRl bmsxIHQxIGxlZnQgam9pbgogICAodGJsX2FudGkgdDIgbGVmdCBqb2luIHRibF9hbnRpIHQzIG9u IHQyLmMgPSB0My5jKSBvbiB0MS51bmlxdWUxID0gdDIuYgogd2hlcmUgdDIuYSBpcyBudWxsOwot ICAgICAgICAgICAgICAgIFFVRVJZIFBMQU4gICAgICAgICAgICAgICAgIAotLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgICAgICAgICAgICAgICAgUVVFUlkg UExBTiAgICAgICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQogIEhhc2ggUmlnaHQgQW50aSBKb2luCiAgICBIYXNoIENvbmQ6ICh0Mi5i ID0gdDEudW5pcXVlMSkKICAgIC0+ICBNZXJnZSBMZWZ0IEpvaW4KQEAgLTMzMjksMjAgKzMzNTMs MjIgQEAgd2hlcmUgdDIuYSBpcyBudWxsOwogICAgICAgICAgLT4gIFNvcnQKICAgICAgICAgICAg ICAgIFNvcnQgS2V5OiB0Mi5jCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gdGJsX2Fu dGkgdDIKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPShiKQogICAg ICAgICAgLT4gIFNvcnQKICAgICAgICAgICAgICAgIFNvcnQgS2V5OiB0My5jCiAgICAgICAgICAg ICAgICAtPiAgU2VxIFNjYW4gb24gdGJsX2FudGkgdDMKICAgIC0+ICBIYXNoCisgICAgICAgICBC bG9vbSBGaWx0ZXIgMQogICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHRlbmsxIHQxCi0oMTIgcm93 cykKKygxNCByb3dzKQogCiAtLSB0aGlzIGlzIG5vdCBhbiBhbnRpam9pbiwgYXMgdDMuYSBjYW4g YmUgbnVsbGVkIGJ5IHQyL3QzIGpvaW4KIGV4cGxhaW4gKGNvc3RzIG9mZikKIHNlbGVjdCAqIGZy b20gdGVuazEgdDEgbGVmdCBqb2luCiAgICh0YmxfYW50aSB0MiBsZWZ0IGpvaW4gdGJsX2FudGkg dDMgb24gdDIuYyA9IHQzLmMpIG9uIHQxLnVuaXF1ZTEgPSB0Mi5iCiB3aGVyZSB0My5hIGlzIG51 bGw7Ci0gICAgICAgICAgICAgICAgUVVFUlkgUExBTiAgICAgICAgICAgICAgICAgCi0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgICAgICAgICAgICAgICBR VUVSWSBQTEFOICAgICAgICAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCiAgSGFzaCBSaWdodCBKb2luCiAgICBIYXNoIENvbmQ6ICh0Mi5i ID0gdDEudW5pcXVlMSkKICAgIEZpbHRlcjogKHQzLmEgSVMgTlVMTCkKQEAgLTMzNTEsMTIgKzMz NzcsMTQgQEAgd2hlcmUgdDMuYSBpcyBudWxsOwogICAgICAgICAgLT4gIFNvcnQKICAgICAgICAg ICAgICAgIFNvcnQgS2V5OiB0Mi5jCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gdGJs X2FudGkgdDIKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPShiKQog ICAgICAgICAgLT4gIFNvcnQKICAgICAgICAgICAgICAgIFNvcnQgS2V5OiB0My5jCiAgICAgICAg ICAgICAgICAtPiAgU2VxIFNjYW4gb24gdGJsX2FudGkgdDMKICAgIC0+ICBIYXNoCisgICAgICAg ICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHRlbmsxIHQxCi0oMTMg cm93cykKKygxNSByb3dzKQogCiByb2xsYmFjazsKIC0tCkBAIC0zMzcwLDkgKzMzOTgsMTEgQEAg d2hlcmUgZXhpc3RzIChzZWxlY3QgMSBmcm9tIHRlbmsxIGIgd2hlcmUgYS51bmlxdWUxID0gYi51 bmlxdWUyIGdyb3VwIGJ5IGIudW5pcXUKICBIYXNoIFNlbWkgSm9pbgogICAgSGFzaCBDb25kOiAo YS51bmlxdWUxID0gYi51bmlxdWUyKQogICAgLT4gIFNlcSBTY2FuIG9uIHRlbmsxIGEKKyAgICAg ICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPSh1bmlxdWUxKQogICAgLT4gIEhhc2gKKyAgICAgICAg IEJsb29tIEZpbHRlciAxCiAgICAgICAgICAtPiAgSW5kZXggT25seSBTY2FuIHVzaW5nIHRlbmsx X3VuaXF1ZTIgb24gdGVuazEgYgotKDUgcm93cykKKyg3IHJvd3MpCiAKIC0tCiAtLSByZWdyZXNz aW9uIHRlc3QgZm9yIHByb3BlciBoYW5kbGluZyBvZiBvdXRlciBqb2lucyB3aXRoaW4gYW50aWpv aW5zCkBAIC0zOTg5LDExICs0MDE5LDEzIEBAIHdoZXJlIHExID0gdGhvdXNhbmQgb3IgcTIgPSB0 aG91c2FuZDsKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBxMgogICAgICAgICAgLT4g IEJpdG1hcCBIZWFwIFNjYW4gb24gdGVuazEKICAgICAgICAgICAgICAgIFJlY2hlY2sgQ29uZDog KChxMS5xMSA9IHRob3VzYW5kKSBPUiAocTIucTIgPSB0aG91c2FuZCkpCisgICAgICAgICAgICAg ICBCbG9vbSBGaWx0ZXIgMToga2V5cz0odHdvdGhvdXNhbmQpCiAgICAgICAgICAgICAgICAtPiAg Qml0bWFwIEluZGV4IFNjYW4gb24gdGVuazFfdGhvdXNfdGVudGhvdXMKICAgICAgICAgICAgICAg ICAgICAgIEluZGV4IENvbmQ6ICh0aG91c2FuZCA9IEFOWSAoQVJSQVlbcTEucTEsIHEyLnEyXSkp CiAgICAtPiAgSGFzaAorICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgIC0+ICBTZXEg U2NhbiBvbiBpbnQ0X3RibAotKDEyIHJvd3MpCisoMTQgcm93cykKIAogZXhwbGFpbiAoY29zdHMg b2ZmKQogc2VsZWN0ICogZnJvbQpAQCAtNDAxMCwxMSArNDA0MiwxMyBAQCB3aGVyZSB0aG91c2Fu ZCA9IChxMSArIHEyKTsKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBxMgogICAgICAg ICAgLT4gIEJpdG1hcCBIZWFwIFNjYW4gb24gdGVuazEKICAgICAgICAgICAgICAgIFJlY2hlY2sg Q29uZDogKHRob3VzYW5kID0gKHExLnExICsgcTIucTIpKQorICAgICAgICAgICAgICAgQmxvb20g RmlsdGVyIDE6IGtleXM9KHR3b3Rob3VzYW5kKQogICAgICAgICAgICAgICAgLT4gIEJpdG1hcCBJ bmRleCBTY2FuIG9uIHRlbmsxX3Rob3VzX3RlbnRob3VzCiAgICAgICAgICAgICAgICAgICAgICBJ bmRleCBDb25kOiAodGhvdXNhbmQgPSAocTEucTEgKyBxMi5xMikpCiAgICAtPiAgSGFzaAorICAg ICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBpbnQ0X3RibAot KDEyIHJvd3MpCisoMTQgcm93cykKIAogLS0KIC0tIHRlc3QgYWJpbGl0eSB0byBnZW5lcmF0ZSBh IHN1aXRhYmxlIHBsYW4gZm9yIGEgc3Rhci1zY2hlbWEgcXVlcnkKQEAgLTQxMjAsOCArNDE1NCwx MCBAQCB3aGVyZSB0MS51bmlxdWUxIDwgaTQuZjE7CiAgICAgICAgICAgICAgICAgICAgICBIYXNo IENvbmQ6ICh0Mi50ZW4gPSB0MS50ZW50aG91cykKICAgICAgICAgICAgICAgICAgICAgIC0+ICBT ZXEgU2NhbiBvbiBwdWJsaWMudGVuazEgdDIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91 dHB1dDogdDIudW5pcXVlMSwgdDIudW5pcXVlMiwgdDIudHdvLCB0Mi5mb3VyLCB0Mi50ZW4sIHQy LnR3ZW50eSwgdDIuaHVuZHJlZCwgdDIudGhvdXNhbmQsIHQyLnR3b3Rob3VzYW5kLCB0Mi5maXZl dGhvdXMsIHQyLnRlbnRob3VzLCB0Mi5vZGQsIHQyLmV2ZW4sIHQyLnN0cmluZ3UxLCB0Mi5zdHJp bmd1MiwgdDIuc3RyaW5nNAorICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVy IDE6IGtleXM9KHQyLnRlbikKICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQxLnRlbnRob3VzLCB0MS51bmlxdWUxCisgICAg ICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgLT4gIE5lc3RlZCBMb29wCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBPdXRwdXQ6IHQxLnRlbnRob3VzLCB0MS51bmlxdWUxCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAtPiAgU3VicXVlcnkgU2NhbiBvbiBzczAKQEAgLTQxMzcsNyArNDE3Myw3IEBA IHdoZXJlIHQxLnVuaXF1ZTEgPCBpNC5mMTsKICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJs aWMuaW50OF90YmwgaTgKICAgICAgICAgICAgICAgIE91dHB1dDogaTgucTEsIGk4LnEyCiAgICAg ICAgICAgICAgICBGaWx0ZXI6IChpOC5xMSA9ICgoNjQpOjppbmZvcm1hdGlvbl9zY2hlbWEuY2Fy ZGluYWxfbnVtYmVyKTo6aW50ZWdlcikKLSgzMyByb3dzKQorKDM1IHJvd3MpCiAKIHNlbGVjdCBz czEuZDEgZnJvbQogICB0ZW5rMSBhcyB0MQpAQCAtNTIzNCw2ICs1MjcwLDcgQEAgb3JkZXIgYnkg aTAuZjEsIHg7CiAgICAgICAgICAgICAgICBPdXRwdXQ6IGkxLmYxLCBpMi5xMSwgaTIucTIsICcx MjMnOjpiaWdpbnQKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuaW50NF90 YmwgaTEKICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogaTEuZjEKKyAgICAgICAgICAgICAg ICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPShpMS5mMSkKICAgICAgICAgICAgICAgIC0+ICBN YXRlcmlhbGl6ZQogICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiBpMi5xMSwgaTIucTIKICAg ICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuaW50OF90YmwgaTIKQEAg LTUyNDEsOSArNTI3OCwxMCBAQCBvcmRlciBieSBpMC5mMSwgeDsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEZpbHRlcjogKDEyMyA9IGkyLnEyKQogICAgICAgICAgLT4gIEhhc2gKICAgICAg ICAgICAgICAgIE91dHB1dDogaTAuZjEKKyAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAg ICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmludDRfdGJsIGkwCiAgICAgICAg ICAgICAgICAgICAgICBPdXRwdXQ6IGkwLmYxCi0oMTkgcm93cykKKygyMSByb3dzKQogCiBzZWxl Y3QgKiBmcm9tCiBpbnQ0X3RibCBpMCBsZWZ0IGpvaW4KQEAgLTUyOTcsOCArNTMzNSwxMCBAQCBz ZWxlY3QgdDEuKiBmcm9tCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6IChp OC5xMSA9IGk4YjIucTEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4g b24gcHVibGljLmludDhfdGJsIGk4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBP dXRwdXQ6IGk4LnExLCBpOC5xMgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxv b20gRmlsdGVyIDE6IGtleXM9KGk4LnExKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4g IEhhc2gKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogaThiMi5xMSwg KE5VTEw6OmludGVnZXIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBG aWx0ZXIgMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9u IHB1YmxpYy5pbnQ4X3RibCBpOGIyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBPdXRwdXQ6IGk4YjIucTEsIE5VTEw6OmludGVnZXIKICAgICAgICAgICAgICAgICAgICAg IC0+ICBIYXNoCkBAIC01MzA5LDcgKzUzNDksNyBAQCBzZWxlY3QgdDEuKiBmcm9tCiAgICAgICAg ICBPdXRwdXQ6IGk0LmYxCiAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmludDRfdGJs IGk0CiAgICAgICAgICAgICAgICBPdXRwdXQ6IGk0LmYxCi0oMzAgcm93cykKKygzMiByb3dzKQog CiBzZWxlY3QgdDEuKiBmcm9tCiAgIHRleHRfdGJsIHQxCkBAIC01MzYwLDEwICs1NDAwLDEyIEBA IHNlbGVjdCB0MS4qIGZyb20KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1 dDogaThiMi5xMSwgTlVMTDo6aW50ZWdlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5pbnQ4X3RibCBpOGIyCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IGk4YjIucTEsIGk4YjIucTIKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPShpOGIy LnExKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIE1hdGVyaWFsaXplCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVi bGljLmludDRfdGJsIGk0YjIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IGk4LnExLCBpOC5xMgorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuaW50OF90YmwgaTgK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogaTgucTEsIGk4 LnEyCiAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaApAQCAtNTM3NCw3ICs1NDE2LDcgQEAg c2VsZWN0IHQxLiogZnJvbQogICAgICAgICAgT3V0cHV0OiBpNC5mMQogICAgICAgICAgLT4gIFNl cSBTY2FuIG9uIHB1YmxpYy5pbnQ0X3RibCBpNAogICAgICAgICAgICAgICAgT3V0cHV0OiBpNC5m MQotKDM0IHJvd3MpCisoMzYgcm93cykKIAogc2VsZWN0IHQxLiogZnJvbQogICB0ZXh0X3RibCB0 MQpAQCAtNTQyNywxMiArNTQ2OSwxNiBAQCBzZWxlY3QgdDEuKiBmcm9tCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6IChpOGIyLnExID0gaTRiMi5mMSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuaW50OF90 YmwgaThiMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiBp OGIyLnExLCBpOGIyLnEyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBC bG9vbSBGaWx0ZXIgMToga2V5cz0oaThiMi5xMSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyOiBrZXlzPShpOGIyLnExKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIE91dHB1dDogaTRiMi5mMQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuaW50NF90YmwgaTRiMgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiBpNGIyLmYxCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgT3V0cHV0OiBpOC5xMSwgaTgucTIKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEJsb29tIEZpbHRlciAyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAt PiAgU2VxIFNjYW4gb24gcHVibGljLmludDhfdGJsIGk4CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBPdXRwdXQ6IGk4LnExLCBpOC5xMgogICAgICAgICAgICAgICAgICAg ICAgLT4gIEhhc2gKQEAgLTU0NDMsNyArNTQ4OSw3IEBAIHNlbGVjdCB0MS4qIGZyb20KICAgICAg ICAgIE91dHB1dDogaTQuZjEKICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuaW50NF90 YmwgaTQKICAgICAgICAgICAgICAgIE91dHB1dDogaTQuZjEKLSgzNyByb3dzKQorKDQxIHJvd3Mp CiAKIHNlbGVjdCB0MS4qIGZyb20KICAgdGV4dF90YmwgdDEKQEAgLTU3OTQsMTUgKzU4NDAsMTcg QEAgd2hlcmUgc3MxLmMyID0gMDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjog KGk0My5mMSA9IDApCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmludDRf dGJsIGk0MQogICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiBpNDEuZjEKKyAgICAgICAgICAg ICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPShpNDEuZjEpCiAgICAgICAgICAtPiAgSGFz aAogICAgICAgICAgICAgICAgT3V0cHV0OiBpNDIuZjEKKyAgICAgICAgICAgICAgIEJsb29tIEZp bHRlciAxCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmludDRfdGJsIGk0 MgogICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiBpNDIuZjEKICAgIC0+ICBMaW1pdAogICAg ICAgICAgT3V0cHV0OiAoaTQxLmYxKSwgKGk4LnExKSwgKGk4LnEyKSwgKGk0Mi5mMSksIChpNDMu ZjEpLCAoKDQyKSkKICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMudGV4dF90YmwKICAg ICAgICAgICAgICAgIE91dHB1dDogaTQxLmYxLCBpOC5xMSwgaTgucTIsIGk0Mi5mMSwgaTQzLmYx LCAoNDIpCi0oMjUgcm93cykKKygyNyByb3dzKQogCiBzZWxlY3Qgc3MyLiogZnJvbQogICBpbnQ0 X3RibCBpNDEKQEAgLTU5MzQsMTIgKzU5ODIsMTQgQEAgc2VsZWN0IGEudW5pcXVlMSwgYi51bmlx dWUyCiAgICBIYXNoIENvbmQ6IChiLnVuaXF1ZTIgPSBhLnVuaXF1ZTEpCiAgICAtPiAgU2VxIFNj YW4gb24gb25layBiCiAgICAgICAgICBGaWx0ZXI6IChBTlkgKCh1bmlxdWUyID0gKFN1YlBsYW4g YW55XzEpLmNvbDEpIEFORCAoKHJhbmRvbSgpID4gJzAnOjpkb3VibGUgcHJlY2lzaW9uKSA9IChT dWJQbGFuIGFueV8xKS5jb2wyKSkpCisgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0odW5p cXVlMikKICAgICAgICAgIFN1YlBsYW4gYW55XzEKICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9u IGludDhfdGJsIGMKICAgICAgICAgICAgICAgICAgRmlsdGVyOiAocTEgPCBiLnVuaXF1ZTEpCiAg ICAtPiAgSGFzaAorICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgIC0+ICBJbmRleCBP bmx5IFNjYW4gdXNpbmcgb25la191bmlxdWUxIG9uIG9uZWsgYQotKDkgcm93cykKKygxMSByb3dz KQogCiBzZWxlY3QgYS51bmlxdWUxLCBiLnVuaXF1ZTIKICAgZnJvbSBvbmVrIGEgbGVmdCBqb2lu IG9uZWsgYiBvbiBhLnVuaXF1ZTEgPSBiLnVuaXF1ZTIKQEAgLTYwOTIsMTQgKzYxNDIsMTYgQEAg ZXhwbGFpbiAoY29zdHMgb2ZmKQogc2VsZWN0IGlkIGZyb20gYSB3aGVyZSBpZCBpbiAoCiAJc2Vs ZWN0IGIuaWQgZnJvbSBiIGxlZnQgam9pbiBjIG9uIGIuaWQgPSBjLmlkCiApOwotICAgICAgICAg UVVFUlkgUExBTiAgICAgICAgIAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgICAg ICAgICAgUVVFUlkgUExBTiAgICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCiAgSGFzaCBKb2luCiAgICBIYXNoIENvbmQ6IChhLmlkID0gYi5pZCkKICAgIC0+ ICBTZXEgU2NhbiBvbiBhCisgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0oaWQpCiAgICAt PiAgSGFzaAorICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgIC0+ICBTZXEgU2NhbiBv biBiCi0oNSByb3dzKQorKDcgcm93cykKIAogLS0gY2hlY2sgb3B0aW1pemF0aW9uIHdpdGggb2Rk bHktbmVzdGVkIG91dGVyIGpvaW5zCiBleHBsYWluIChjb3N0cyBvZmYpCkBAIC02NTIyLDE2ICs2 NTc0LDE4IEBAIGV4cGxhaW4gKGNvc3RzIG9mZikKIHNlbGVjdCBjLmlkLCBzcy5hIGZyb20gYwog ICBsZWZ0IGpvaW4gKHNlbGVjdCBkLmEgZnJvbSBvbmVyb3csIGQgbGVmdCBqb2luIGIgb24gZC5h ID0gYi5pZCkgc3MKICAgb24gYy5pZCA9IHNzLmE7Ci0gICAgICAgICAgIFFVRVJZIFBMQU4gICAg ICAgICAgIAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAgICAgICAgICAg IFFVRVJZIFBMQU4gICAgICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KICBIYXNoIFJpZ2h0IEpvaW4KICAgIEhhc2ggQ29uZDogKGQuYSA9IGMuaWQp CiAgICAtPiAgTmVzdGVkIExvb3AKICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBvbmVyb3cKICAg ICAgICAgIC0+ICBTZXEgU2NhbiBvbiBkCisgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMTog a2V5cz0oYSkKICAgIC0+ICBIYXNoCisgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAg LT4gIFNlcSBTY2FuIG9uIGMKLSg3IHJvd3MpCisoOSByb3dzKQogCiAtLSBjaGVjayB0aGUgY2Fz ZSB3aGVuIHRoZSBwbGFjZWhvbGRlciByZWxhdGVzIHRvIGFuIG91dGVyIGpvaW4gYW5kIGl0cwog LS0gaW5uZXIgaW4gdGhlIHByZXNzIGZpZWxkIGJ1dCBhY3R1YWxseSB1c2VzIG9ubHkgdGhlIG91 dGVyIHNpZGUgb2YgdGhlIGpvaW4KQEAgLTY4ODMsMjMgKzY5MzcsMjcgQEAgd2hlcmUgZXhpc3Rz IChzZWxlY3QgMSBmcm9tIHQgdDQKICAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQ2 LmIgPSB0NC5iKQogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBnX3RlbXAu dCB0NgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0Ni5hLCB0Ni5iCisgICAg ICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMjoga2V5cz0odDYuYikKICAgICAg ICAgICAgICAgICAgICAgIC0+ICBIYXNoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRw dXQ6IHQ0LmIsIHQ1LmIsIHQ1LmEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZp bHRlciAyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQ0LmIsIHQ1LmIsIHQ1LmEKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIElubmVyIFVuaXF1ZTogdHJ1ZQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDUuYiA9IHQ0LmIpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGdfdGVtcC50IHQ1CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQ1LmEsIHQ1LmIK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBr ZXlzPSh0NS5iKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDQuYiwgdDQuYQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBJbmRleCBTY2FuIHVzaW5n IHRfYV9rZXkgb24gcGdfdGVtcC50IHQ0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBPdXRwdXQ6IHQ0LmIsIHQ0LmEKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEluZGV4IENvbmQ6ICh0NC5hID0gMSkKICAgIC0+ICBJbmRl eCBPbmx5IFNjYW4gdXNpbmcgdF9hX2tleSBvbiBwZ190ZW1wLnQgdDMKICAgICAgICAgIE91dHB1 dDogdDMuYQogICAgICAgICAgSW5kZXggQ29uZDogKHQzLmEgPSB0NS5hKQotKDMyIHJvd3MpCiso MzYgcm93cykKIAogc2VsZWN0IHQxLmEgZnJvbSB0IHQxCiAgIGxlZnQgam9pbiB0IHQyIG9uIHQx LmEgPSB0Mi5hCkBAIC05MDg1LDEzICs5MTQzLDE1IEBAIHNlbGVjdCAqIGZyb20KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogYi5xMSwgQ09BTEVTQ0UoYi5xMiwgJzQy Jzo6YmlnaW50KQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5pbnQ4X3Ri bCBkCiAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IGQucTEsIENPQUxFU0NFKChDT0FMRVND RShiLnEyLCAnNDInOjpiaWdpbnQpKSwgZC5xMikKKyAgICAgICAgICAgICAgICAgICAgIEJsb29t IEZpbHRlciAxOiBrZXlzPShkLnExKQogICAgICAgICAgLT4gIEhhc2gKICAgICAgICAgICAgICAg IE91dHB1dDogYy5xMSwgYy5xMgorICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAg ICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuaW50OF90YmwgYwogICAgICAgICAgICAg ICAgICAgICAgT3V0cHV0OiBjLnExLCBjLnEyCiAgICAtPiAgUmVzdWx0CiAgICAgICAgICBPdXRw dXQ6IChDT0FMRVNDRSgoQ09BTEVTQ0UoYi5xMiwgJzQyJzo6YmlnaW50KSksIGQucTIpKQotKDI0 IHJvd3MpCisoMjYgcm93cykKIAogLS0gYW5vdGhlciBjYXNlIHJlcXVpcmluZyBuZXN0ZWQgUGxh Y2VIb2xkZXJWYXJzCiBleHBsYWluICh2ZXJib3NlLCBjb3N0cyBvZmYpCkBAIC05MTUwLDI1ICs5 MjEwLDI5IEBAIHNlbGVjdCBjLiosYS4qLHNzMS5xMSxzczIucTEsc3MzLiogZnJvbQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgSm9pbiBGaWx0ZXI6IChiLnExIDwgYjIuZjEpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmludDhfdGJsIGIKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogYi5xMSwgYi5xMgorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KGIucTEpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgTWF0ZXJpYWxpemUKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE91dHB1dDogYjIuZjEKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuaW50NF90YmwgYjIKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogYjIuZjEKICAgICAgICAgICAgICAg ICAgICAgIC0+ICBIYXNoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IGEucTEs IGEucTIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmludDhfdGJsIGEKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogYS5xMSwgYS5xMgogICAgICAg ICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5pbnQ4X3RibCBkCiAgICAgICAgICAgICAg ICAgICAgICBPdXRwdXQ6IGQucTEsIENPQUxFU0NFKChDT0FMRVNDRShiLnEyLCAoYjIuZjEpOjpi aWdpbnQpKSwgZC5xMikKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyOiBrZXlz PShkLnExKQogICAgICAgICAgLT4gIEhhc2gKICAgICAgICAgICAgICAgIE91dHB1dDogYy5xMSwg Yy5xMgorICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDIKICAgICAgICAgICAgICAgIC0+ICBT ZXEgU2NhbiBvbiBwdWJsaWMuaW50OF90YmwgYwogICAgICAgICAgICAgICAgICAgICAgT3V0cHV0 OiBjLnExLCBjLnEyCiAgICAtPiAgTWF0ZXJpYWxpemUKICAgICAgICAgIE91dHB1dDogaS5mMQog ICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5pbnQ0X3RibCBpCiAgICAgICAgICAgICAg ICBPdXRwdXQ6IGkuZjEKLSgzNCByb3dzKQorKDM4IHJvd3MpCiAKIC0tIGNoZWNrIHByb2Nlc3Np bmcgb2YgcG9zdHBvbmVkIHF1YWxzIChidWcgIzkwNDEpCiBleHBsYWluICh2ZXJib3NlLCBjb3N0 cyBvZmYpCkBAIC05NDc1LDggKzk1MzksMTAgQEAgc2VsZWN0IHQxLmIsIHNzLnBodiBmcm9tIGpv aW5fdXQxIHQxIGxlZnQgam9pbiBsYXRlcmFsCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0 My5iID0gdDIuYSkKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuam9pbl91 dDEgdDMKICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDMuYSwgdDMuYiwgdDMuYworICAg ICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KHQzLmIpCiAgICAgICAgICAg ICAgICAtPiAgSGFzaAogICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0Mi5hCisgICAgICAg ICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAgICAgICAgICAgLT4gIEFw cGVuZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5q b2luX3B0MXAxcDEgdDJfMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0 OiB0Ml8xLmEKQEAgLTk0ODQsNyArOTU1MCw3IEBAIHNlbGVjdCB0MS5iLCBzcy5waHYgZnJvbSBq b2luX3V0MSB0MSBsZWZ0IGpvaW4gbGF0ZXJhbAogICAgICAgICAgICAgICAgICAgICAgICAgICAg LT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5qb2luX3B0MXAyIHQyXzIKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIE91dHB1dDogdDJfMi5hCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBGaWx0ZXI6ICh0MS5hID0gdDJfMi5hKQotKDIxIHJvd3MpCisoMjMgcm93cykKIAog c2VsZWN0IHQxLmIsIHNzLnBodiBmcm9tIGpvaW5fdXQxIHQxIGxlZnQgam9pbiBsYXRlcmFsCiAg ICAgICAgICAgICAgIChzZWxlY3QgdDIuYSBhcyB0MmEsIHQzLmEgdDNhLCBsZWFzdCh0MS5hLCB0 Mi5hLCB0My5hKSBwaHYKQEAgLTk1MTgsMTIgKzk1ODQsMTQgQEAgc2VsZWN0ICogZnJvbSBma2Vz dCBmMQogICAgICAgICAgSGFzaCBDb25kOiAoKGYyLnggPSBmMS54KSBBTkQgKGYyLngxMGIgPSBm MS54MTApKQogICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIGZrZXN0IGYyCiAgICAgICAgICAgICAg ICBGaWx0ZXI6ICh4MTAwID0gMikKKyAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlz PSh4LCB4MTBiKQogICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgIEJsb29tIEZpbHRl ciAxCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gZmtlc3QgZjEKICAgICAgICAgICAg ICAgICAgICAgIEZpbHRlcjogKHgxMDAgPSAyKQogICAgLT4gIEluZGV4IFNjYW4gdXNpbmcgZmtl c3RfeF94MTBfeDEwMF9pZHggb24gZmtlc3QgZjMKICAgICAgICAgIEluZGV4IENvbmQ6ICh4ID0g ZjEueCkKLSgxMCByb3dzKQorKDEyIHJvd3MpCiAKIGFsdGVyIHRhYmxlIGZrZXN0IGFkZCBjb25z dHJhaW50IGZrCiAgIGZvcmVpZ24ga2V5ICh4LCB4MTBiLCB4MTAwKSByZWZlcmVuY2VzIGZrZXN0 ICh4LCB4MTAsIHgxMDApOwpAQCAtOTUzOSwxMyArOTYwNywxNSBAQCBzZWxlY3QgKiBmcm9tIGZr ZXN0IGYxCiAgICAtPiAgSGFzaCBKb2luCiAgICAgICAgICBIYXNoIENvbmQ6IChmMy54ID0gZjIu eCkKICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBma2VzdCBmMworICAgICAgICAgICAgICAgQmxv b20gRmlsdGVyIDE6IGtleXM9KHgpCiAgICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAg Qmxvb20gRmlsdGVyIDEKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBma2VzdCBmMgog ICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoeDEwMCA9IDIpCiAgICAtPiAgSGFzaAogICAg ICAgICAgLT4gIFNlcSBTY2FuIG9uIGZrZXN0IGYxCiAgICAgICAgICAgICAgICBGaWx0ZXI6ICh4 MTAwID0gMikKLSgxMSByb3dzKQorKDEzIHJvd3MpCiAKIHJvbGxiYWNrOwogLS0KQEAgLTk1OTgs MTkgKzk2NjgsMjEgQEAgYW5hbHl6ZSBqMzsKIC0tIGVuc3VyZSBqb2luIGlzIHByb3Blcmx5IG1h cmtlZCBhcyB1bmlxdWUKIGV4cGxhaW4gKHZlcmJvc2UsIGNvc3RzIG9mZikKIHNlbGVjdCAqIGZy b20gajEgaW5uZXIgam9pbiBqMiBvbiBqMS5pZCA9IGoyLmlkOwotICAgICAgICAgICAgUVVFUlkg UExBTiAgICAgICAgICAgICAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisg ICAgICAgICAgICAgIFFVRVJZIFBMQU4gICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KICBIYXNoIEpvaW4KICAgIE91dHB1dDogajEuaWQsIGoyLmlk CiAgICBJbm5lciBVbmlxdWU6IHRydWUKICAgIEhhc2ggQ29uZDogKGoxLmlkID0gajIuaWQpCiAg ICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmoxCiAgICAgICAgICBPdXRwdXQ6IGoxLmlkCisgICAg ICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0oajEuaWQpCiAgICAtPiAgSGFzaAogICAgICAgICAg T3V0cHV0OiBqMi5pZAorICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgIC0+ICBTZXEg U2NhbiBvbiBwdWJsaWMuajIKICAgICAgICAgICAgICAgIE91dHB1dDogajIuaWQKLSgxMCByb3dz KQorKDEyIHJvd3MpCiAKIC0tIGVuc3VyZSBqb2luIGlzIG5vdCB1bmlxdWUgd2hlbiBub3QgYW4g ZXF1aS1qb2luCiBleHBsYWluICh2ZXJib3NlLCBjb3N0cyBvZmYpCkBAIC05NjMxLDE5ICs5NzAz LDIxIEBAIHNlbGVjdCAqIGZyb20gajEgaW5uZXIgam9pbiBqMiBvbiBqMS5pZCA+IGoyLmlkOwog LS0gZW5zdXJlIG5vbi11bmlxdWUgcmVsIGlzIG5vdCBjaG9zZW4gYXMgaW5uZXIKIGV4cGxhaW4g KHZlcmJvc2UsIGNvc3RzIG9mZikKIHNlbGVjdCAqIGZyb20gajEgaW5uZXIgam9pbiBqMyBvbiBq MS5pZCA9IGozLmlkOwotICAgICAgICAgICAgUVVFUlkgUExBTiAgICAgICAgICAgICAKLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgICAgICAgICAgIFFVRVJZIFBMQU4g ICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICBI YXNoIEpvaW4KICAgIE91dHB1dDogajEuaWQsIGozLmlkCiAgICBJbm5lciBVbmlxdWU6IHRydWUK ICAgIEhhc2ggQ29uZDogKGozLmlkID0gajEuaWQpCiAgICAtPiAgU2VxIFNjYW4gb24gcHVibGlj LmozCiAgICAgICAgICBPdXRwdXQ6IGozLmlkCisgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5 cz0oajMuaWQpCiAgICAtPiAgSGFzaAogICAgICAgICAgT3V0cHV0OiBqMS5pZAorICAgICAgICAg Qmxvb20gRmlsdGVyIDEKICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuajEKICAgICAg ICAgICAgICAgIE91dHB1dDogajEuaWQKLSgxMCByb3dzKQorKDEyIHJvd3MpCiAKIC0tIGVuc3Vy ZSBsZWZ0IGpvaW4gaXMgbWFya2VkIGFzIHVuaXF1ZQogZXhwbGFpbiAodmVyYm9zZSwgY29zdHMg b2ZmKQpAQCAtOTcxNCwxOSArOTc4OCwyMSBAQCBzZWxlY3QgKiBmcm9tIGoxIGNyb3NzIGpvaW4g ajI7CiAtLSBlbnN1cmUgYSBuYXR1cmFsIGpvaW4gaXMgbWFya2VkIGFzIHVuaXF1ZQogZXhwbGFp biAodmVyYm9zZSwgY29zdHMgb2ZmKQogc2VsZWN0ICogZnJvbSBqMSBuYXR1cmFsIGpvaW4gajI7 Ci0gICAgICAgICAgICBRVUVSWSBQTEFOICAgICAgICAgICAgIAotLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KKyAgICAgICAgICAgICAgUVVFUlkgUExBTiAgICAgICAgICAgICAg CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIEhhc2ggSm9pbgogICAg T3V0cHV0OiBqMS5pZAogICAgSW5uZXIgVW5pcXVlOiB0cnVlCiAgICBIYXNoIENvbmQ6IChqMS5p ZCA9IGoyLmlkKQogICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5qMQogICAgICAgICAgT3V0cHV0 OiBqMS5pZAorICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KGoxLmlkKQogICAgLT4gIEhh c2gKICAgICAgICAgIE91dHB1dDogajIuaWQKKyAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAg ICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmoyCiAgICAgICAgICAgICAgICBPdXRwdXQ6IGoy LmlkCi0oMTAgcm93cykKKygxMiByb3dzKQogCiAtLSBlbnN1cmUgYSBkaXN0aW5jdCBjbGF1c2Ug YWxsb3dzIHRoZSBpbm5lciB0byBiZWNvbWUgdW5pcXVlCiBleHBsYWluICh2ZXJib3NlLCBjb3N0 cyBvZmYpCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2pvaW5faGFzaC5v dXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2pvaW5faGFzaC5vdXQKaW5kZXggNzUwMDll Mjk3MjAuLjBhOGFkZThiOTYxIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L2pvaW5faGFzaC5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9qb2luX2hhc2gu b3V0CkBAIC05MCwxNSArOTAsMTcgQEAgc2V0IGxvY2FsIHdvcmtfbWVtID0gJzRNQic7CiBzZXQg bG9jYWwgaGFzaF9tZW1fbXVsdGlwbGllciA9IDEuMDsKIGV4cGxhaW4gKGNvc3RzIG9mZikKICAg c2VsZWN0IGNvdW50KCopIGZyb20gc2ltcGxlIHIgam9pbiBzaW1wbGUgcyB1c2luZyAoaWQpOwot ICAgICAgICAgICAgICAgUVVFUlkgUExBTiAgICAgICAgICAgICAgIAotLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgICAgICAgICAgICAgUVVFUlkgUExBTiAgICAg ICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAg QWdncmVnYXRlCiAgICAtPiAgSGFzaCBKb2luCiAgICAgICAgICBIYXNoIENvbmQ6IChyLmlkID0g cy5pZCkKICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBzaW1wbGUgcgorICAgICAgICAgICAgICAg Qmxvb20gRmlsdGVyIDE6IGtleXM9KGlkKQogICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAg ICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gc2ltcGxl IHMKLSg2IHJvd3MpCisoOCByb3dzKQogCiBzZWxlY3QgY291bnQoKikgZnJvbSBzaW1wbGUgciBq b2luIHNpbXBsZSBzIHVzaW5nIChpZCk7CiAgY291bnQgCkBAIC0yMDMsMTUgKzIwNSwxNyBAQCBz ZXQgbG9jYWwgd29ya19tZW0gPSAnMTI4a0InOwogc2V0IGxvY2FsIGhhc2hfbWVtX211bHRpcGxp ZXIgPSAxLjA7CiBleHBsYWluIChjb3N0cyBvZmYpCiAgIHNlbGVjdCBjb3VudCgqKSBmcm9tIHNp bXBsZSByIGpvaW4gc2ltcGxlIHMgdXNpbmcgKGlkKTsKLSAgICAgICAgICAgICAgIFFVRVJZIFBM QU4gICAgICAgICAgICAgICAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KKyAgICAgICAgICAgICAgIFFVRVJZIFBMQU4gICAgICAgICAgICAgICAgCistLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIEFnZ3JlZ2F0ZQogICAgLT4gIEhhc2gg Sm9pbgogICAgICAgICAgSGFzaCBDb25kOiAoci5pZCA9IHMuaWQpCiAgICAgICAgICAtPiAgU2Vx IFNjYW4gb24gc2ltcGxlIHIKKyAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPShp ZCkKICAgICAgICAgIC0+ICBIYXNoCisgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAg ICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHNpbXBsZSBzCi0oNiByb3dzKQorKDggcm93cykK IAogc2VsZWN0IGNvdW50KCopIGZyb20gc2ltcGxlIHIgam9pbiBzaW1wbGUgcyB1c2luZyAoaWQp OwogIGNvdW50IApAQCAtMzMwLDkgKzMzNCwxMSBAQCBleHBsYWluIChjb3N0cyBvZmYpCiAgICAt PiAgSGFzaCBKb2luCiAgICAgICAgICBIYXNoIENvbmQ6IChyLmlkID0gcy5pZCkKICAgICAgICAg IC0+ICBTZXEgU2NhbiBvbiBzaW1wbGUgcgorICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6 IGtleXM9KGlkKQogICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgIEJsb29tIEZpbHRl ciAxCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gYmlnZ2VyX3RoYW5faXRfbG9va3Mg cwotKDYgcm93cykKKyg4IHJvd3MpCiAKIHNlbGVjdCBjb3VudCgqKSBGUk9NIHNpbXBsZSByIEpP SU4gYmlnZ2VyX3RoYW5faXRfbG9va3MgcyBVU0lORyAoaWQpOwogIGNvdW50IApAQCAtNDQ1LDkg KzQ1MSwxMSBAQCBleHBsYWluIChjb3N0cyBvZmYpCiAgICAtPiAgSGFzaCBKb2luCiAgICAgICAg ICBIYXNoIENvbmQ6IChyLmlkID0gcy5pZCkKICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBzaW1w bGUgcgorICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KGlkKQogICAgICAgICAg LT4gIEhhc2gKKyAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAt PiAgU2VxIFNjYW4gb24gZXh0cmVtZWx5X3NrZXdlZCBzCi0oNiByb3dzKQorKDggcm93cykKIAog c2VsZWN0IGNvdW50KCopIGZyb20gc2ltcGxlIHIgam9pbiBleHRyZW1lbHlfc2tld2VkIHMgdXNp bmcgKGlkKTsKICBjb3VudCAKQEAgLTExNDksOSArMTE1NywxMSBAQCBsYXRlcmFsIChzZWxlY3Qg dDEuZml2ZXRob3VzLCBpNC5mMSBmcm9tIHRlbmsxIHQxIGpvaW4gaW50NF90YmwgaTQKICAgICAg ICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQxLmZpdmV0aG91 cyA9IChpNC5mMSArIGk4LnEyKSkKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiB0ZW5r MSB0MQorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KGZpdmV0aG91 cykKICAgICAgICAgICAgICAgIC0+ICBIYXNoCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBG aWx0ZXIgMQogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIGludDRfdGJsIGk0 Ci0oOSByb3dzKQorKDExIHJvd3MpCiAKIHNlbGVjdCBpOC5xMiwgc3MuKiBmcm9tCiBpbnQ4X3Ri bCBpOCwKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvbWVyZ2Uub3V0IGIv c3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9tZXJnZS5vdXQKaW5kZXggOWNiMWQ4NzA2NmEuLmM1 YWExMWNkMjQ5IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL21lcmdlLm91 dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL21lcmdlLm91dApAQCAtMzIzLDE1ICsz MjMsMTcgQEAgVVNJTkcgc291cmNlIEFTIHMKIE9OIHQudGlkID0gcy5zaWQKIFdIRU4gTUFUQ0hF RCBUSEVOCiAJVVBEQVRFIFNFVCBiYWxhbmNlID0gMDsKLSAgICAgICAgICAgICAgIFFVRVJZIFBM QU4gICAgICAgICAgICAgICAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KKyAgICAgICAgICAgICAgICBRVUVSWSBQTEFOICAgICAgICAgICAgICAgIAorLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgTWVyZ2Ugb24gdGFyZ2V0IHQKICAg IC0+ICBIYXNoIEpvaW4KICAgICAgICAgIEhhc2ggQ29uZDogKHMuc2lkID0gdC50aWQpCiAgICAg ICAgICAtPiAgU2VxIFNjYW4gb24gc291cmNlIHMKKyAgICAgICAgICAgICAgIEJsb29tIEZpbHRl ciAxOiBrZXlzPShzaWQpCiAgICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAgQmxvb20g RmlsdGVyIDEKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiB0YXJnZXQgdAotKDYgcm93 cykKKyg4IHJvd3MpCiAKIEVYUExBSU4gKENPU1RTIE9GRikKIE1FUkdFIElOVE8gdGFyZ2V0IHQK QEAgLTMzOSwxNSArMzQxLDE3IEBAIFVTSU5HIHNvdXJjZSBBUyBzCiBPTiB0LnRpZCA9IHMuc2lk CiBXSEVOIE1BVENIRUQgVEhFTgogCURFTEVURTsKLSAgICAgICAgICAgICAgIFFVRVJZIFBMQU4g ICAgICAgICAgICAgICAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K KyAgICAgICAgICAgICAgICBRVUVSWSBQTEFOICAgICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgTWVyZ2Ugb24gdGFyZ2V0IHQKICAgIC0+ ICBIYXNoIEpvaW4KICAgICAgICAgIEhhc2ggQ29uZDogKHMuc2lkID0gdC50aWQpCiAgICAgICAg ICAtPiAgU2VxIFNjYW4gb24gc291cmNlIHMKKyAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAx OiBrZXlzPShzaWQpCiAgICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAgQmxvb20gRmls dGVyIDEKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiB0YXJnZXQgdAotKDYgcm93cykK Kyg4IHJvd3MpCiAKIEVYUExBSU4gKENPU1RTIE9GRikKIE1FUkdFIElOVE8gdGFyZ2V0IHQKQEAg LTE4MzEsOCArMTgzNSwxMCBAQCBXSEVOIE1BVENIRUQgQU5EIHQuYyA+IHMuY250IFRIRU4KICAg ICAgICAgIEpvaW4gRmlsdGVyOiAodC5iIDwgKFN1YlBsYW4gZXhwcl8xKSkKICAgICAgICAgIC0+ ICBTZXEgU2NhbiBvbiBwdWJsaWMudGd0IHQKICAgICAgICAgICAgICAgIE91dHB1dDogdC5jdGlk LCB0LmEsIHQuYgorICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KHQuYSkKICAg ICAgICAgIC0+ICBIYXNoCiAgICAgICAgICAgICAgICBPdXRwdXQ6IHMuYSwgcy5iLCBzLmMsIHMu ZCwgcy5jdGlkCisgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAgICAg LT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5zcmMgcwogICAgICAgICAgICAgICAgICAgICAgT3V0cHV0 OiBzLmEsIHMuYiwgcy5jLCBzLmQsIHMuY3RpZAogICAgICAgICAgU3ViUGxhbiBleHByXzEKQEAg LTE4NTYsNyArMTg2Miw3IEBAIFdIRU4gTUFUQ0hFRCBBTkQgdC5jID4gcy5jbnQgVEhFTgogICAg ICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMucmVmIHJfMQogICAgICAgICAg ICAgICAgICAgICAgICAgIE91dHB1dDogcl8xLmFiLCByXzEuY2QKICAgICAgICAgICAgICAgICAg ICAgICAgICBGaWx0ZXI6ICgocl8xLmFiID0gKHMuYSArIHMuYikpIEFORCAocl8xLmNkID0gKHMu YyAtIHMuZCkpKQotKDMyIHJvd3MpCisoMzQgcm93cykKIAogRFJPUCBUQUJMRSBzcmMsIHRndCwg cmVmOwogLS0gU3VicXVlcmllcwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC9taXNjX2Z1bmN0aW9ucy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL21pc2NfZnVu Y3Rpb25zLm91dAppbmRleCBjMzI2MWJmZjIwOS4uYjUyNTI4ODcwZWYgMTAwNjQ0Ci0tLSBhL3Ny Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvbWlzY19mdW5jdGlvbnMub3V0CisrKyBiL3NyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQvbWlzY19mdW5jdGlvbnMub3V0CkBAIC01ODIsMTAgKzU4MiwxMiBA QCBXSEVSRSBteV9pbnRfZXEoYS51bmlxdWUyLCA0Mik7CiAgSGFzaCBKb2luCiAgICBIYXNoIENv bmQ6IChiLnVuaXF1ZTEgPSBhLnVuaXF1ZTEpCiAgICAtPiAgU2VxIFNjYW4gb24gdGVuazEgYgor ICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KHVuaXF1ZTEpCiAgICAtPiAgSGFzaAorICAg ICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiB0ZW5rMSBhCiAg ICAgICAgICAgICAgICBGaWx0ZXI6IG15X2ludF9lcSh1bmlxdWUyLCA0MikKLSg2IHJvd3MpCiso OCByb3dzKQogCiAtLSBXaXRoIHN1cHBvcnQgZnVuY3Rpb24gdGhhdCBrbm93cyBpdCdzIGludDRl cSwgd2UgZ2V0IGEgZGlmZmVyZW50IHBsYW4KIENSRUFURSBGVU5DVElPTiB0ZXN0X3N1cHBvcnRf ZnVuYyhpbnRlcm5hbCkKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcGFy dGl0aW9uX2FnZ3JlZ2F0ZS5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BhcnRpdGlv bl9hZ2dyZWdhdGUub3V0CmluZGV4IGMzMDMwNGI5OWM3Li5iZTU2MDM2NDYxYiAxMDA2NDQKLS0t IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wYXJ0aXRpb25fYWdncmVnYXRlLm91dAorKysg Yi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BhcnRpdGlvbl9hZ2dyZWdhdGUub3V0CkBAIC00 NjAsMjMgKzQ2MCwyOSBAQCBTRUxFQ1QgdDEueCwgc3VtKHQxLnkpLCBjb3VudCgqKSBGUk9NIHBh Z2dfdGFiMSB0MSwgcGFnZ190YWIyIHQyIFdIRVJFIHQxLnggPSB0MgogICAgICAgICAgICAgICAg LT4gIEhhc2ggSm9pbgogICAgICAgICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDEueCA9IHQy LnkpCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGFnZ190YWIxX3AxIHQx CisgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0oeCkKICAg ICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoCisgICAgICAgICAgICAgICAgICAgICAgICAgICBC bG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9u IHBhZ2dfdGFiMl9wMSB0MgogICAgICAgICAgLT4gIEhhc2hBZ2dyZWdhdGUKICAgICAgICAgICAg ICAgIEdyb3VwIEtleTogdDFfMS54CiAgICAgICAgICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAg ICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0MV8xLnggPSB0Ml8xLnkpCiAgICAgICAgICAg ICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGFnZ190YWIxX3AyIHQxXzEKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyOiBrZXlzPSh4KQogICAgICAgICAgICAgICAg ICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAy CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGFnZ190YWIyX3Ay IHQyXzEKICAgICAgICAgIC0+ICBIYXNoQWdncmVnYXRlCiAgICAgICAgICAgICAgICBHcm91cCBL ZXk6IHQxXzIueAogICAgICAgICAgICAgICAgLT4gIEhhc2ggSm9pbgogICAgICAgICAgICAgICAg ICAgICAgSGFzaCBDb25kOiAodDJfMi55ID0gdDFfMi54KQogICAgICAgICAgICAgICAgICAgICAg LT4gIFNlcSBTY2FuIG9uIHBhZ2dfdGFiMl9wMyB0Ml8yCisgICAgICAgICAgICAgICAgICAgICAg ICAgICBCbG9vbSBGaWx0ZXIgMzoga2V5cz0oeSkKICAgICAgICAgICAgICAgICAgICAgIC0+ICBI YXNoCisgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMwogICAgICAgICAg ICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBhZ2dfdGFiMV9wMyB0MV8yCi0oMjQg cm93cykKKygzMCByb3dzKQogCiBTRUxFQ1QgdDEueCwgc3VtKHQxLnkpLCBjb3VudCgqKSBGUk9N IHBhZ2dfdGFiMSB0MSwgcGFnZ190YWIyIHQyIFdIRVJFIHQxLnggPSB0Mi55IEdST1VQIEJZIHQx LnggT1JERVIgQlkgMSwgMiwgMzsKICB4ICB8IHN1bSAgfCBjb3VudCAKQEAgLTUzMywyMyArNTM5 LDI5IEBAIFNFTEVDVCB0Mi55LCBzdW0odDEueSksIGNvdW50KCopIEZST00gcGFnZ190YWIxIHQx LCBwYWdnX3RhYjIgdDIgV0hFUkUgdDEueCA9IHQyCiAgICAgICAgICAgICAgICAtPiAgSGFzaCBK b2luCiAgICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0MS54ID0gdDIueSkKICAgICAg ICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwYWdnX3RhYjFfcDEgdDEKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPSh4KQogICAgICAgICAgICAg ICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRl ciAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGFnZ190YWIy X3AxIHQyCiAgICAgICAgICAtPiAgSGFzaEFnZ3JlZ2F0ZQogICAgICAgICAgICAgICAgR3JvdXAg S2V5OiB0Ml8xLnkKICAgICAgICAgICAgICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAgICAgICAg ICAgICAgIEhhc2ggQ29uZDogKHQxXzEueCA9IHQyXzEueSkKICAgICAgICAgICAgICAgICAgICAg IC0+ICBTZXEgU2NhbiBvbiBwYWdnX3RhYjFfcDIgdDFfMQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgQmxvb20gRmlsdGVyIDI6IGtleXM9KHgpCiAgICAgICAgICAgICAgICAgICAgICAtPiAg SGFzaAorICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDIKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwYWdnX3RhYjJfcDIgdDJfMQogICAg ICAgICAgLT4gIEhhc2hBZ2dyZWdhdGUKICAgICAgICAgICAgICAgIEdyb3VwIEtleTogdDJfMi55 CiAgICAgICAgICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAgICAgICAgICAgICAgICAgICBIYXNo IENvbmQ6ICh0Ml8yLnkgPSB0MV8yLngpCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNj YW4gb24gcGFnZ190YWIyX3AzIHQyXzIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29t IEZpbHRlciAzOiBrZXlzPSh5KQogICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAzCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGFnZ190YWIxX3AzIHQxXzIKLSgyNCByb3dzKQorKDMw IHJvd3MpCiAKIC0tIFdoZW4gR1JPVVAgQlkgY2xhdXNlIGRvZXMgbm90IG1hdGNoOyBwYXJ0aWFs IGFnZ3JlZ2F0aW9uIGlzIHBlcmZvcm1lZCBmb3IgZWFjaCBwYXJ0aXRpb24uCiAtLSBBbHNvIHRl c3QgR3JvdXBBZ2dyZWdhdGUgcGF0aHMgYnkgZGlzYWJsaW5nIGhhc2ggYWdncmVnYXRlcy4KQEAg LTU3Miw3ICs1ODQsOSBAQCBTRUxFQ1QgdDEueSwgc3VtKHQxLngpLCBjb3VudCgqKSBGUk9NIHBh Z2dfdGFiMSB0MSwgcGFnZ190YWIyIHQyIFdIRVJFIHQxLnggPSB0MgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgLT4gIEhhc2ggSm9pbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgSGFzaCBDb25kOiAodDEueCA9IHQyLnkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAtPiAgU2VxIFNjYW4gb24gcGFnZ190YWIxX3AxIHQxCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0oeCkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBhZ2dfdGFiMl9wMSB0MgogICAgICAgICAgICAg ICAgLT4gIFBhcnRpYWwgR3JvdXBBZ2dyZWdhdGUKICAgICAgICAgICAgICAgICAgICAgIEdyb3Vw IEtleTogdDFfMS55CkBAIC01ODEsNyArNTk1LDkgQEAgU0VMRUNUIHQxLnksIHN1bSh0MS54KSwg Y291bnQoKikgRlJPTSBwYWdnX3RhYjEgdDEsIHBhZ2dfdGFiMiB0MiBXSEVSRSB0MS54ID0gdDIK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQxXzEueCA9IHQyXzEueSkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwYWdnX3RhYjFfcDIgdDFf MQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDI6 IGtleXM9KHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDIKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwYWdnX3Rh YjJfcDIgdDJfMQogICAgICAgICAgICAgICAgLT4gIFBhcnRpYWwgR3JvdXBBZ2dyZWdhdGUKICAg ICAgICAgICAgICAgICAgICAgIEdyb3VwIEtleTogdDFfMi55CkBAIC01OTAsOSArNjA2LDExIEBA IFNFTEVDVCB0MS55LCBzdW0odDEueCksIGNvdW50KCopIEZST00gcGFnZ190YWIxIHQxLCBwYWdn X3RhYjIgdDIgV0hFUkUgdDEueCA9IHQyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAg SGFzaCBKb2luCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0 Ml8yLnkgPSB0MV8yLngpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2Vx IFNjYW4gb24gcGFnZ190YWIyX3AzIHQyXzIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEJsb29tIEZpbHRlciAzOiBrZXlzPSh5KQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEJsb29tIEZpbHRlciAzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAtPiAgU2VxIFNjYW4gb24gcGFnZ190YWIxX3AzIHQxXzIKLSgzNCByb3dzKQorKDQwIHJvd3Mp CiAKIFNFTEVDVCB0MS55LCBzdW0odDEueCksIGNvdW50KCopIEZST00gcGFnZ190YWIxIHQxLCBw YWdnX3RhYjIgdDIgV0hFUkUgdDEueCA9IHQyLnkgR1JPVVAgQlkgdDEueSBIQVZJTkcgYXZnKHQx LngpID4gMTAgT1JERVIgQlkgMSwgMiwgMzsKICB5ICB8IHN1bSAgfCBjb3VudCAKQEAgLTYzOCw5 ICs2NTYsMTEgQEAgU0VMRUNUIGIueSwgc3VtKGEueSkgRlJPTSBwYWdnX3RhYjEgYSBMRUZUIEpP SU4gcGFnZ190YWIyIGIgT04gYS54ID0gYi55IEdST1VQIEIKICAgICAgICAgICAgICAgICAgICAg IC0+ICBIYXNoIFJpZ2h0IEpvaW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29u ZDogKGJfMi55ID0gYV8yLngpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNj YW4gb24gcGFnZ190YWIyX3AzIGJfMgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Qmxvb20gRmlsdGVyIDE6IGtleXM9KHkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAg SGFzaAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwYWdnX3RhYjFf cDMgYV8yCi0oMjYgcm93cykKKygyOCByb3dzKQogCiBTRUxFQ1QgYi55LCBzdW0oYS55KSBGUk9N IHBhZ2dfdGFiMSBhIExFRlQgSk9JTiBwYWdnX3RhYjIgYiBPTiBhLnggPSBiLnkgR1JPVVAgQlkg Yi55IE9SREVSIEJZIDEgTlVMTFMgTEFTVDsKICB5ICB8IHN1bSAgCkBAIC02NjcsMTQgKzY4Nywx OCBAQCBTRUxFQ1QgYi55LCBzdW0oYS55KSBGUk9NIHBhZ2dfdGFiMSBhIFJJR0hUIEpPSU4gcGFn Z190YWIyIGIgT04gYS54ID0gYi55IEdST1VQCiAgICAgICAgICAgICAgICAtPiAgSGFzaCBSaWdo dCBKb2luCiAgICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6IChhLnggPSBiLnkpCiAgICAg ICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGFnZ190YWIxX3AxIGEKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPSh4KQogICAgICAgICAgICAg ICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRl ciAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGFnZ190YWIy X3AxIGIKICAgICAgICAgIC0+ICBIYXNoQWdncmVnYXRlCiAgICAgICAgICAgICAgICBHcm91cCBL ZXk6IGJfMS55CiAgICAgICAgICAgICAgICAtPiAgSGFzaCBSaWdodCBKb2luCiAgICAgICAgICAg ICAgICAgICAgICBIYXNoIENvbmQ6IChhXzEueCA9IGJfMS55KQogICAgICAgICAgICAgICAgICAg ICAgLT4gIFNlcSBTY2FuIG9uIHBhZ2dfdGFiMV9wMiBhXzEKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgIEJsb29tIEZpbHRlciAyOiBrZXlzPSh4KQogICAgICAgICAgICAgICAgICAgICAgLT4g IEhhc2gKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGFnZ190YWIyX3AyIGJfMQogICAg ICAgICAgLT4gIEhhc2hBZ2dyZWdhdGUKICAgICAgICAgICAgICAgIEdyb3VwIEtleTogYl8yLnkK QEAgLTY4Myw3ICs3MDcsNyBAQCBTRUxFQ1QgYi55LCBzdW0oYS55KSBGUk9NIHBhZ2dfdGFiMSBh IFJJR0hUIEpPSU4gcGFnZ190YWIyIGIgT04gYS54ID0gYi55IEdST1VQCiAgICAgICAgICAgICAg ICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGFnZ190YWIyX3AzIGJfMgogICAgICAgICAgICAgICAg ICAgICAgLT4gIEhhc2gKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBv biBwYWdnX3RhYjFfcDMgYV8yCi0oMjQgcm93cykKKygyOCByb3dzKQogCiBTRUxFQ1QgYi55LCBz dW0oYS55KSBGUk9NIHBhZ2dfdGFiMSBhIFJJR0hUIEpPSU4gcGFnZ190YWIyIGIgT04gYS54ID0g Yi55IEdST1VQIEJZIGIueSBPUkRFUiBCWSAxIE5VTExTIExBU1Q7CiAgeSAgfCBzdW0gIApkaWZm IC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wYXJ0aXRpb25fam9pbi5vdXQgYi9z cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BhcnRpdGlvbl9qb2luLm91dAppbmRleCAzODY0M2Q0 MWZkNy4uMTkwNmIzNjQxYTMgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv cGFydGl0aW9uX2pvaW4ub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcGFydGl0 aW9uX2pvaW4ub3V0CkBAIC0zNiwyMiArMzYsMjggQEAgU0VMRUNUIHQxLmEsIHQxLmMsIHQyLmIs IHQyLmMgRlJPTSBwcnQxIHQxLCBwcnQyIHQyIFdIRVJFIHQxLmEgPSB0Mi5iIEFORCB0MS5iID0K ICAgICAgICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQyXzEu YiA9IHQxXzEuYSkKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQyX3AxIHQyXzEK KyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPShiKQogICAgICAgICAg ICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAg ICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9wMSB0MV8xCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiID0gMCkKICAgICAgICAgIC0+ICBIYXNoIEpvaW4K ICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQyXzIuYiA9IHQxXzIuYSkKICAgICAgICAgICAg ICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQyX3AyIHQyXzIKKyAgICAgICAgICAgICAgICAgICAgIEJs b29tIEZpbHRlciAyOiBrZXlzPShiKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAg ICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2Vx IFNjYW4gb24gcHJ0MV9wMiB0MV8yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6 IChiID0gMCkKICAgICAgICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAgICAgICAgIEhhc2ggQ29u ZDogKHQyXzMuYiA9IHQxXzMuYSkKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQy X3AzIHQyXzMKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAzOiBrZXlzPShiKQog ICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRl ciAzCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9wMyB0MV8zCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiID0gMCkKLSgyMSByb3dzKQorKDI3 IHJvd3MpCiAKIFNFTEVDVCB0MS5hLCB0MS5jLCB0Mi5iLCB0Mi5jIEZST00gcHJ0MSB0MSwgcHJ0 MiB0MiBXSEVSRSB0MS5hID0gdDIuYiBBTkQgdDEuYiA9IDAgT1JERVIgQlkgdDEuYSwgdDIuYjsK ICAgYSAgfCAgYyAgIHwgIGIgIHwgIGMgICAKQEAgLTc3LDIyICs4MywyOCBAQCBTRUxFQ1QgdDEu YSwgdDEuYywgdDIuYiwgdDIuYyBGUk9NIHBydDEgdDEsIHBydDIgdDIgV0hFUkUgdDEuYSA9IHQy LmEgQU5EIHQxLmEgPQogICAgICAgICAgLT4gIEhhc2ggSm9pbgogICAgICAgICAgICAgICAgSGFz aCBDb25kOiAodDFfMS5hID0gdDJfMS5hKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9u IHBydDFfcDEgdDFfMQorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9 KGEpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAgICAgICAgQmxvb20g RmlsdGVyIDEKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQyX3AxIHQy XzEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGEgPSBiKQogICAgICAgICAg LT4gIEhhc2ggSm9pbgogICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDFfMi5hID0gdDJfMi5h KQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDFfcDIgdDFfMgorICAgICAgICAg ICAgICAgICAgICAgQmxvb20gRmlsdGVyIDI6IGtleXM9KGEpCiAgICAgICAgICAgICAgICAtPiAg SGFzaAorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDIKICAgICAgICAgICAgICAg ICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQyX3AyIHQyXzIKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEZpbHRlcjogKGEgPSBiKQogICAgICAgICAgLT4gIEhhc2ggSm9pbgogICAgICAgICAg ICAgICAgSGFzaCBDb25kOiAodDFfMy5hID0gdDJfMy5hKQogICAgICAgICAgICAgICAgLT4gIFNl cSBTY2FuIG9uIHBydDFfcDMgdDFfMworICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVy IDM6IGtleXM9KGEpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAgICAg ICAgQmxvb20gRmlsdGVyIDMKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBw cnQyX3AzIHQyXzMKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGEgPSBiKQot KDIxIHJvd3MpCisoMjcgcm93cykKIAogU0VMRUNUIHQxLmEsIHQxLmMsIHQyLmIsIHQyLmMgRlJP TSBwcnQxIHQxLCBwcnQyIHQyIFdIRVJFIHQxLmEgPSB0Mi5hIEFORCB0MS5hID0gdDIuYiBPUkRF UiBCWSB0MS5hLCB0Mi5iOwogIGEgIHwgIGMgICB8IGIgIHwgIGMgICAKQEAgLTIwMiwxMyArMjE0 LDE3IEBAIFNFTEVDVCB0MS5hLCB0MS5jLCB0Mi5iLCB0Mi5jIEZST00gcHJ0MSB0MSBSSUdIVCBK T0lOIHBydDIgdDIgT04gdDEuYSA9IHQyLmIgV0hFCiAgICAgICAgICAtPiAgSGFzaCBSaWdodCBK b2luCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0MV8xLmEgPSB0Ml8xLmIpCiAgICAgICAg ICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9wMSB0MV8xCisgICAgICAgICAgICAgICAgICAg ICBCbG9vbSBGaWx0ZXIgMToga2V5cz0oYSkKICAgICAgICAgICAgICAgIC0+ICBIYXNoCisgICAg ICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAgICAgICAgICAgLT4g IFNlcSBTY2FuIG9uIHBydDJfcDEgdDJfMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmls dGVyOiAoYSA9IDApCiAgICAgICAgICAtPiAgSGFzaCBSaWdodCBKb2luCiAgICAgICAgICAgICAg ICBIYXNoIENvbmQ6ICh0MV8yLmEgPSB0Ml8yLmIpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNj YW4gb24gcHJ0MV9wMiB0MV8yCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMjog a2V5cz0oYSkKICAgICAgICAgICAgICAgIC0+ICBIYXNoCisgICAgICAgICAgICAgICAgICAgICBC bG9vbSBGaWx0ZXIgMgogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDJf cDIgdDJfMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYSA9IDApCiAgICAg ICAgICAtPiAgTmVzdGVkIExvb3AgTGVmdCBKb2luCkBAIC0yMTYsNyArMjMyLDcgQEAgU0VMRUNU IHQxLmEsIHQxLmMsIHQyLmIsIHQyLmMgRlJPTSBwcnQxIHQxIFJJR0hUIEpPSU4gcHJ0MiB0MiBP TiB0MS5hID0gdDIuYiBXSEUKICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGEgPSAwKQog ICAgICAgICAgICAgICAgLT4gIEluZGV4IFNjYW4gdXNpbmcgaXBydDFfcDNfYSBvbiBwcnQxX3Az IHQxXzMKICAgICAgICAgICAgICAgICAgICAgIEluZGV4IENvbmQ6IChhID0gdDJfMy5iKQotKDIw IHJvd3MpCisoMjQgcm93cykKIAogU0VMRUNUIHQxLmEsIHQxLmMsIHQyLmIsIHQyLmMgRlJPTSBw cnQxIHQxIFJJR0hUIEpPSU4gcHJ0MiB0MiBPTiB0MS5hID0gdDIuYiBXSEVSRSB0Mi5hID0gMCBP UkRFUiBCWSB0MS5hLCB0Mi5iOwogICBhICB8ICBjICAgfCAgYiAgfCAgYyAgIApAQCAtMjgzLDEw ICsyOTksMTIgQEAgU0VMRUNUIHQxLmEsIHQxLmMsIHQyLmIsIHQyLmMgRlJPTSBwcnQxIHQxLCBw cnQyIHQyIFdIRVJFIHQxLmEgPSB0Mi5iIEFORCB0MS5hIDwKICAgICAgICAgIEhhc2ggQ29uZDog KHQyLmIgPSB0MS5hKQogICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDJfcDIgdDIKICAgICAg ICAgICAgICAgIEZpbHRlcjogKGIgPiAyNTApCisgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIg MToga2V5cz0oYikKICAgICAgICAgIC0+ICBIYXNoCisgICAgICAgICAgICAgICBCbG9vbSBGaWx0 ZXIgMQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDFfcDIgdDEKICAgICAgICAg ICAgICAgICAgICAgIEZpbHRlcjogKChhIDwgNDUwKSBBTkQgKGIgPSAwKSkKLSg5IHJvd3MpCiso MTEgcm93cykKIAogU0VMRUNUIHQxLmEsIHQxLmMsIHQyLmIsIHQyLmMgRlJPTSBwcnQxIHQxLCBw cnQyIHQyIFdIRVJFIHQxLmEgPSB0Mi5iIEFORCB0MS5hIDwgNDUwIEFORCB0Mi5iID4gMjUwIEFO RCB0MS5iID0gMCBPUkRFUiBCWSB0MS5hLCB0Mi5iOwogICBhICB8ICBjICAgfCAgYiAgfCAgYyAg IApAQCAtMzgyLDE0ICs0MDAsMTggQEAgU0VMRUNUIHQxLiogRlJPTSBwcnQxIHQxIFdIRVJFIHQx LmEgSU4gKFNFTEVDVCB0Mi5iIEZST00gcHJ0MiB0MiBXSEVSRSB0Mi5hID0gMCkKICAgICAgICAg ICAgICAgIEhhc2ggQ29uZDogKHQxXzEuYSA9IHQyXzEuYikKICAgICAgICAgICAgICAgIC0+ICBT ZXEgU2NhbiBvbiBwcnQxX3AxIHQxXzEKICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGIg PSAwKQorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KGEpCiAgICAg ICAgICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEK ICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQyX3AxIHQyXzEKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGEgPSAwKQogICAgICAgICAgLT4gIEhhc2gg U2VtaSBKb2luCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0MV8yLmEgPSB0Ml8yLmIpCiAg ICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9wMiB0MV8yCiAgICAgICAgICAgICAg ICAgICAgICBGaWx0ZXI6IChiID0gMCkKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRl ciAyOiBrZXlzPShhKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgICAg ICAgIEJsb29tIEZpbHRlciAyCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24g cHJ0Ml9wMiB0Ml8yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChhID0gMCkK ICAgICAgICAgIC0+ICBOZXN0ZWQgTG9vcCBTZW1pIEpvaW4KQEAgLTM5OSw3ICs0MjEsNyBAQCBT RUxFQ1QgdDEuKiBGUk9NIHBydDEgdDEgV0hFUkUgdDEuYSBJTiAoU0VMRUNUIHQyLmIgRlJPTSBw cnQyIHQyIFdIRVJFIHQyLmEgPSAwKQogICAgICAgICAgICAgICAgLT4gIE1hdGVyaWFsaXplCiAg ICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0Ml9wMyB0Ml8zCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChhID0gMCkKLSgyNCByb3dzKQorKDI4IHJvd3Mp CiAKIFNFTEVDVCB0MS4qIEZST00gcHJ0MSB0MSBXSEVSRSB0MS5hIElOIChTRUxFQ1QgdDIuYiBG Uk9NIHBydDIgdDIgV0hFUkUgdDIuYSA9IDApIEFORCB0MS5iID0gMCBPUkRFUiBCWSB0MS5hOwog ICBhICB8IGIgfCAgYyAgIApAQCAtNTE1LDE5ICs1MzcsMjUgQEAgU0VMRUNUIHQxLmEsIHNzLnQy YSwgc3MudDJjIEZST00gcHJ0MSB0MSBMRUZUIEpPSU4gTEFURVJBTAogICAgICAgICAgICAgICAg ICAgICAgLT4gIEhhc2ggSm9pbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGFzaCBDb25k OiAodDJfMS5hID0gdDNfMS5iKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBT Y2FuIG9uIHBydDFfcDEgdDJfMQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxv b20gRmlsdGVyIDE6IGtleXM9KGEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFz aAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQyX3AxIHQzXzEK ICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEhhc2ggQ29uZDogKHQyXzIuYSA9IHQzXzIuYikKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX3AyIHQyXzIKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyOiBrZXlzPShhKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29t IEZpbHRlciAyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4g b24gcHJ0Ml9wMiB0M18yCiAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0Ml8zLmEgPSB0M18zLmIpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9wMyB0Ml8zCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMzoga2V5cz0oYSkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgLT4gIFNlcSBTY2FuIG9uIHBydDJfcDMgdDNfMwotKDI2IHJvd3MpCisoMzIgcm93cykKIAog U0VMRUNUIHQxLmEsIHNzLnQyYSwgc3MudDJjIEZST00gcHJ0MSB0MSBMRUZUIEpPSU4gTEFURVJB TAogCQkJICAoU0VMRUNUIHQyLmEgQVMgdDJhLCB0My5hIEFTIHQzYSwgdDIuYiB0MmIsIHQyLmMg dDJjLCBsZWFzdCh0MS5hLHQyLmEsdDMuYSkgRlJPTSBwcnQxIHQyIEpPSU4gcHJ0MiB0MyBPTiAo dDIuYSA9IHQzLmIpKSBzcwpAQCAtNzI4LDI5ICs3NTYsNDEgQEAgU0VMRUNUICogRlJPTSBwcnQx IHQxIEpPSU4gcHJ0MSB0MiBPTiB0MS5hID0gdDIuYSBXSEVSRSB0MS5hIElOIChTRUxFQ1QgYSBG Uk9NIHAKICAgICAgICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAgICAgICAgIEhhc2ggQ29uZDog KHQxXzEuYSA9IHQyXzEuYSkKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX3Ax IHQxXzEKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPShhKQorICAg ICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDI6IGtleXM9KGEpCiAgICAgICAgICAgICAg ICAtPiAgSGFzaAorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAg ICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX3AxIHQyXzEKICAgICAgICAgIC0+ICBI YXNoCisgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMgogICAgICAgICAgICAgICAgLT4gIFNl cSBTY2FuIG9uIHBydDFfcDEgdDNfMQogICAgLT4gIEhhc2ggU2VtaSBKb2luCiAgICAgICAgICBI YXNoIENvbmQ6ICh0MV8yLmEgPSB0M18yLmEpCiAgICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAg ICAgICAgICAgICBIYXNoIENvbmQ6ICh0MV8yLmEgPSB0Ml8yLmEpCiAgICAgICAgICAgICAgICAt PiAgU2VxIFNjYW4gb24gcHJ0MV9wMiB0MV8yCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBG aWx0ZXIgMzoga2V5cz0oYSkKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciA0OiBr ZXlzPShhKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgICAgICAgIEJs b29tIEZpbHRlciAzCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9w MiB0Ml8yCiAgICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDQK ICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX3AyIHQzXzIKICAgIC0+ICBIYXNo IFNlbWkgSm9pbgogICAgICAgICAgSGFzaCBDb25kOiAodDFfMy5hID0gdDNfMy5hKQogICAgICAg ICAgLT4gIEhhc2ggSm9pbgogICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDFfMy5hID0gdDJf My5hKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDFfcDMgdDFfMworICAgICAg ICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDU6IGtleXM9KGEpCisgICAgICAgICAgICAgICAg ICAgICBCbG9vbSBGaWx0ZXIgNjoga2V5cz0oYSkKICAgICAgICAgICAgICAgIC0+ICBIYXNoCisg ICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgNQogICAgICAgICAgICAgICAgICAgICAg LT4gIFNlcSBTY2FuIG9uIHBydDFfcDMgdDJfMwogICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAg ICAgICAgIEJsb29tIEZpbHRlciA2CiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0 MV9wMyB0M18zCi0oMjggcm93cykKKyg0MCByb3dzKQogCiAtLQogLS0gcGFydGl0aW9uZWQgYnkg ZXhwcmVzc2lvbgpAQCAtODIxLDcgKzg2MSw5IEBAIFNFTEVDVCB0MS5hLCB0MS5jLCB0Mi5iLCB0 Mi5jLCB0My5hICsgdDMuYiwgdDMuYyBGUk9NIHBydDEgdDEsIHBydDIgdDIsIHBydDFfZSB0CiAg ICAgICAgICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAgICAgICAgICAgICAgICAgICBIYXNoIENv bmQ6ICh0Ml8xLmIgPSB0MV8xLmEpCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4g b24gcHJ0Ml9wMSB0Ml8xCisgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIg MToga2V5cz0oYikKICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoCisgICAgICAgICAgICAg ICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAgICAgICAgICAgICAgICAg LT4gIFNlcSBTY2FuIG9uIHBydDFfcDEgdDFfMQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgRmlsdGVyOiAoYiA9IDApCiAgICAgICAgICAgICAgICAtPiAgSW5kZXggU2NhbiB1c2lu ZyBpcHJ0MV9lX3AxX2FiMiBvbiBwcnQxX2VfcDEgdDNfMQpAQCAtODMxLDcgKzg3Myw5IEBAIFNF TEVDVCB0MS5hLCB0MS5jLCB0Mi5iLCB0Mi5jLCB0My5hICsgdDMuYiwgdDMuYyBGUk9NIHBydDEg dDEsIHBydDIgdDIsIHBydDFfZSB0CiAgICAgICAgICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAg ICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0Ml8yLmIgPSB0MV8yLmEpCiAgICAgICAgICAg ICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0Ml9wMiB0Ml8yCisgICAgICAgICAgICAgICAg ICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMjoga2V5cz0oYikKICAgICAgICAgICAgICAgICAgICAg IC0+ICBIYXNoCisgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDFfcDIgdDFfMgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA9IDApCiAgICAgICAgICAg ICAgICAtPiAgSW5kZXggU2NhbiB1c2luZyBpcHJ0MV9lX3AyX2FiMiBvbiBwcnQxX2VfcDIgdDNf MgpAQCAtODQxLDEyICs4ODUsMTQgQEAgU0VMRUNUIHQxLmEsIHQxLmMsIHQyLmIsIHQyLmMsIHQz LmEgKyB0My5iLCB0My5jIEZST00gcHJ0MSB0MSwgcHJ0MiB0MiwgcHJ0MV9lIHQKICAgICAgICAg ICAgICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQy XzMuYiA9IHQxXzMuYSkKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQy X3AzIHQyXzMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAzOiBrZXlz PShiKQogICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgIEJsb29tIEZpbHRlciAzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2Vx IFNjYW4gb24gcHJ0MV9wMyB0MV8zCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBG aWx0ZXI6IChiID0gMCkKICAgICAgICAgICAgICAgIC0+ICBJbmRleCBTY2FuIHVzaW5nIGlwcnQx X2VfcDNfYWIyIG9uIHBydDFfZV9wMyB0M18zCiAgICAgICAgICAgICAgICAgICAgICBJbmRleCBD b25kOiAoKChhICsgYikgLyAyKSA9IHQyXzMuYikKLSgzMyByb3dzKQorKDM5IHJvd3MpCiAKIFNF TEVDVCB0MS5hLCB0MS5jLCB0Mi5iLCB0Mi5jLCB0My5hICsgdDMuYiwgdDMuYyBGUk9NIHBydDEg dDEsIHBydDIgdDIsIHBydDFfZSB0MyBXSEVSRSB0MS5hID0gdDIuYiBBTkQgdDEuYSA9ICh0My5h ICsgdDMuYikvMiBBTkQgdDEuYiA9IDAgT1JERVIgQlkgdDEuYSwgdDIuYjsKICAgYSAgfCAgYyAg IHwgIGIgIHwgIGMgICB8ID9jb2x1bW4/IHwgYyAKQEAgLTg3MSw3ICs5MTcsOSBAQCBTRUxFQ1Qg dDEuYSwgdDEuYywgdDIuYiwgdDIuYywgdDMuYSArIHQzLmIsIHQzLmMgRlJPTSAocHJ0MSB0MSBM RUZUIEpPSU4gcHJ0MiB0MgogICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2ggUmlnaHQgSm9p bgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDJfMS5iID0gdDFfMS5h KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDJfcDEgdDJf MQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9 KGIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX3AxIHQxXzEKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGIgPSAwKQogICAgICAgICAgLT4gIEhhc2gg UmlnaHQgSm9pbgpAQCAtODgxLDcgKzkyOSw5IEBAIFNFTEVDVCB0MS5hLCB0MS5jLCB0Mi5iLCB0 Mi5jLCB0My5hICsgdDMuYiwgdDMuYyBGUk9NIChwcnQxIHQxIExFRlQgSk9JTiBwcnQyIHQyCiAg ICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaCBSaWdodCBKb2luCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBIYXNoIENvbmQ6ICh0Ml8yLmIgPSB0MV8yLmEpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0Ml9wMiB0Ml8yCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMjoga2V5cz0oYikKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIC0+ICBIYXNoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBC bG9vbSBGaWx0ZXIgMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBT Y2FuIG9uIHBydDFfcDIgdDFfMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgRmlsdGVyOiAoYiA9IDApCiAgICAgICAgICAtPiAgSGFzaCBSaWdodCBKb2luCkBAIC04OTEs MTAgKzk0MSwxMiBAQCBTRUxFQ1QgdDEuYSwgdDEuYywgdDIuYiwgdDIuYywgdDMuYSArIHQzLmIs IHQzLmMgRlJPTSAocHJ0MSB0MSBMRUZUIEpPSU4gcHJ0MiB0MgogICAgICAgICAgICAgICAgICAg ICAgLT4gIEhhc2ggUmlnaHQgSm9pbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGFzaCBD b25kOiAodDJfMy5iID0gdDFfMy5hKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFNl cSBTY2FuIG9uIHBydDJfcDMgdDJfMworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Qmxvb20gRmlsdGVyIDM6IGtleXM9KGIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAg SGFzaAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDMKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX3AzIHQx XzMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGIgPSAw KQotKDMzIHJvd3MpCisoMzkgcm93cykKIAogU0VMRUNUIHQxLmEsIHQxLmMsIHQyLmIsIHQyLmMs IHQzLmEgKyB0My5iLCB0My5jIEZST00gKHBydDEgdDEgTEVGVCBKT0lOIHBydDIgdDIgT04gdDEu YSA9IHQyLmIpIExFRlQgSk9JTiBwcnQxX2UgdDMgT04gKHQxLmEgPSAodDMuYSArIHQzLmIpLzIp IFdIRVJFIHQxLmIgPSAwIE9SREVSIEJZIHQxLmEsIHQyLmIsIHQzLmEgKyB0My5iOwogICBhICB8 ICBjICAgfCAgYiAgfCAgYyAgIHwgP2NvbHVtbj8gfCBjIApAQCAtOTI0LDcgKzk3Niw5IEBAIFNF TEVDVCB0MS5hLCB0MS5jLCB0Mi5iLCB0Mi5jLCB0My5hICsgdDMuYiwgdDMuYyBGUk9NIChwcnQx IHQxIExFRlQgSk9JTiBwcnQyIHQyCiAgICAgICAgICAgICAgICAtPiAgSGFzaCBSaWdodCBKb2lu CiAgICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0MV8xLmEgPSAoKHQzXzEuYSArIHQz XzEuYikgLyAyKSkKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX3Ax IHQxXzEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPShh KQogICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNj YW4gb24gcHJ0MV9lX3AxIHQzXzEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZp bHRlcjogKGMgPSAwKQogICAgICAgICAgICAgICAgLT4gIEluZGV4IFNjYW4gdXNpbmcgaXBydDJf cDFfYiBvbiBwcnQyX3AxIHQyXzEKQEAgLTkzMyw3ICs5ODcsOSBAQCBTRUxFQ1QgdDEuYSwgdDEu YywgdDIuYiwgdDIuYywgdDMuYSArIHQzLmIsIHQzLmMgRlJPTSAocHJ0MSB0MSBMRUZUIEpPSU4g cHJ0MiB0MgogICAgICAgICAgICAgICAgLT4gIEhhc2ggUmlnaHQgSm9pbgogICAgICAgICAgICAg ICAgICAgICAgSGFzaCBDb25kOiAodDFfMi5hID0gKCh0M18yLmEgKyB0M18yLmIpIC8gMikpCiAg ICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9wMiB0MV8yCisgICAgICAg ICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMjoga2V5cz0oYSkKICAgICAgICAgICAg ICAgICAgICAgIC0+ICBIYXNoCisgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0 ZXIgMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDFfZV9w MiB0M18yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChjID0gMCkK ICAgICAgICAgICAgICAgIC0+ICBJbmRleCBTY2FuIHVzaW5nIGlwcnQyX3AyX2Igb24gcHJ0Ml9w MiB0Ml8yCkBAIC05NDIsMTIgKzk5OCwxNCBAQCBTRUxFQ1QgdDEuYSwgdDEuYywgdDIuYiwgdDIu YywgdDMuYSArIHQzLmIsIHQzLmMgRlJPTSAocHJ0MSB0MSBMRUZUIEpPSU4gcHJ0MiB0MgogICAg ICAgICAgICAgICAgLT4gIEhhc2ggUmlnaHQgSm9pbgogICAgICAgICAgICAgICAgICAgICAgSGFz aCBDb25kOiAodDFfMy5hID0gKCh0M18zLmEgKyB0M18zLmIpIC8gMikpCiAgICAgICAgICAgICAg ICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9wMyB0MV8zCisgICAgICAgICAgICAgICAgICAg ICAgICAgICBCbG9vbSBGaWx0ZXIgMzoga2V5cz0oYSkKICAgICAgICAgICAgICAgICAgICAgIC0+ ICBIYXNoCisgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDFfZV9wMyB0M18zCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChjID0gMCkKICAgICAgICAgICAg ICAgIC0+ICBJbmRleCBTY2FuIHVzaW5nIGlwcnQyX3AzX2Igb24gcHJ0Ml9wMyB0Ml8zCiAgICAg ICAgICAgICAgICAgICAgICBJbmRleCBDb25kOiAoYiA9IHQxXzMuYSkKLSgzMCByb3dzKQorKDM2 IHJvd3MpCiAKIFNFTEVDVCB0MS5hLCB0MS5jLCB0Mi5iLCB0Mi5jLCB0My5hICsgdDMuYiwgdDMu YyBGUk9NIChwcnQxIHQxIExFRlQgSk9JTiBwcnQyIHQyIE9OIHQxLmEgPSB0Mi5iKSBSSUdIVCBK T0lOIHBydDFfZSB0MyBPTiAodDEuYSA9ICh0My5hICsgdDMuYikvMikgV0hFUkUgdDMuYyA9IDAg T1JERVIgQlkgdDEuYSwgdDIuYiwgdDMuYSArIHQzLmI7CiAgIGEgIHwgIGMgICB8ICBiICB8ICBj ICAgfCA/Y29sdW1uPyB8IGMgCkBAIC0xMjA1LDcgKzEyNjMsOSBAQCBTRUxFQ1QgdDEuKiBGUk9N IHBydDEgdDEgV0hFUkUgdDEuYSBJTiAoU0VMRUNUIHQxLmIgRlJPTSBwcnQyIHQxIFdIRVJFIHQx LmIgSU4gKAogICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2ggU2VtaSBKb2luCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0MV82LmIgPSAoKHQxXzkuYSArIHQxXzku YikgLyAyKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQy X3AxIHQxXzYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAx OiBrZXlzPShiKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9lX3AxIHQxXzkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGMgPSAwKQogICAgICAgICAg LT4gIEluZGV4IFNjYW4gdXNpbmcgaXBydDFfcDFfYSBvbiBwcnQxX3AxIHQxXzMKQEAgLTEyMTgs NyArMTI3OCw5IEBAIFNFTEVDVCB0MS4qIEZST00gcHJ0MSB0MSBXSEVSRSB0MS5hIElOIChTRUxF Q1QgdDEuYiBGUk9NIHBydDIgdDEgV0hFUkUgdDEuYiBJTiAoCiAgICAgICAgICAgICAgICAgICAg ICAtPiAgSGFzaCBTZW1pIEpvaW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29u ZDogKHQxXzcuYiA9ICgodDFfMTAuYSArIHQxXzEwLmIpIC8gMikpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0Ml9wMiB0MV83CisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMjoga2V5cz0oYikKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIC0+ICBIYXNoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBC bG9vbSBGaWx0ZXIgMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBT Y2FuIG9uIHBydDFfZV9wMiB0MV8xMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgRmlsdGVyOiAoYyA9IDApCiAgICAgICAgICAtPiAgSW5kZXggU2NhbiB1c2luZyBpcHJ0 MV9wMl9hIG9uIHBydDFfcDIgdDFfNApAQCAtMTIzMSwxMyArMTI5MywxNSBAQCBTRUxFQ1QgdDEu KiBGUk9NIHBydDEgdDEgV0hFUkUgdDEuYSBJTiAoU0VMRUNUIHQxLmIgRlJPTSBwcnQyIHQxIFdI RVJFIHQxLmIgSU4gKAogICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2ggU2VtaSBKb2luCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0MV84LmIgPSAoKHQxXzExLmEg KyB0MV8xMS5iKSAvIDIpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2Fu IG9uIHBydDJfcDMgdDFfOAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20g RmlsdGVyIDM6IGtleXM9KGIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDMKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX2VfcDMgdDFfMTEK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGMgPSAwKQog ICAgICAgICAgLT4gIEluZGV4IFNjYW4gdXNpbmcgaXBydDFfcDNfYSBvbiBwcnQxX3AzIHQxXzUK ICAgICAgICAgICAgICAgIEluZGV4IENvbmQ6IChhID0gdDFfOC5iKQogICAgICAgICAgICAgICAg RmlsdGVyOiAoYiA9IDApCi0oNDEgcm93cykKKyg0NyByb3dzKQogCiBTRUxFQ1QgdDEuKiBGUk9N IHBydDEgdDEgV0hFUkUgdDEuYSBJTiAoU0VMRUNUIHQxLmIgRlJPTSBwcnQyIHQxIFdIRVJFIHQx LmIgSU4gKFNFTEVDVCAodDEuYSArIHQxLmIpLzIgRlJPTSBwcnQxX2UgdDEgV0hFUkUgdDEuYyA9 IDApKSBBTkQgdDEuYiA9IDAgT1JERVIgQlkgdDEuYTsKICAgYSAgfCBiIHwgIGMgICAKQEAgLTE1 NjcsMjkgKzE2MzEsNDEgQEAgU0VMRUNUIGF2Zyh0MS5hKSwgYXZnKHQyLmIpLCBhdmcodDMuYSAr IHQzLmIpLCB0MS5jLCB0Mi5jLCB0My5jIEZST00gcGx0MSB0MSwgcGwKICAgICAgICAgICAgICAg ICAgICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29u ZDogKCh0MV8xLmIgPSB0Ml8xLmIpIEFORCAodDFfMS5jID0gdDJfMS5jKSkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQxX3AxIHQxXzEKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPShiLCBjKQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDI6IGtleXM9KGMpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IC0+ICBTZXEgU2NhbiBvbiBwbHQyX3AxIHQyXzEKICAgICAgICAgICAgICAgICAgICAgIC0+ICBI YXNoCisgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDFfZV9wMSB0M18xCiAgICAgICAg ICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0 MV8yLmMgPSBsdHJpbSh0M18yLmMsICdBJzo6dGV4dCkpCiAgICAgICAgICAgICAgICAgICAgICAt PiAgSGFzaCBKb2luCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICgodDFf Mi5iID0gdDJfMi5iKSBBTkQgKHQxXzIuYyA9IHQyXzIuYykpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0MV9wMiB0MV8yCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMzoga2V5cz0oYiwgYykKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciA0OiBrZXlzPShjKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IEJsb29tIEZpbHRlciAzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2Vx IFNjYW4gb24gcGx0Ml9wMiB0Ml8yCiAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDQKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQxX2VfcDIgdDNfMgogICAgICAgICAgICAgICAg LT4gIEhhc2ggSm9pbgogICAgICAgICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDFfMy5jID0g bHRyaW0odDNfMy5jLCAnQSc6OnRleHQpKQogICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gg Sm9pbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGFzaCBDb25kOiAoKHQxXzMuYiA9IHQy XzMuYikgQU5EICh0MV8zLmMgPSB0Ml8zLmMpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg LT4gIFNlcSBTY2FuIG9uIHBsdDFfcDMgdDFfMworICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgQmxvb20gRmlsdGVyIDU6IGtleXM9KGIsIGMpCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBCbG9vbSBGaWx0ZXIgNjoga2V5cz0oYykKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIC0+ICBIYXNoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBG aWx0ZXIgNQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9u IHBsdDJfcDMgdDJfMwogICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciA2CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAtPiAgU2VxIFNjYW4gb24gcGx0MV9lX3AzIHQzXzMKLSgzMiByb3dzKQorKDQ0IHJvd3MpCiAK IFNFTEVDVCBhdmcodDEuYSksIGF2Zyh0Mi5iKSwgYXZnKHQzLmEgKyB0My5iKSwgdDEuYywgdDIu YywgdDMuYyBGUk9NIHBsdDEgdDEsIHBsdDIgdDIsIHBsdDFfZSB0MyBXSEVSRSB0MS5iID0gdDIu YiBBTkQgdDEuYyA9IHQyLmMgQU5EIGx0cmltKHQzLmMsICdBJykgPSB0MS5jIEdST1VQIEJZIHQx LmMsIHQyLmMsIHQzLmMgT1JERVIgQlkgdDEuYywgdDIuYywgdDMuYzsKICAgICAgICAgIGF2ZyAg ICAgICAgICB8ICAgICAgICAgYXZnICAgICAgICAgIHwgICAgICAgICAgYXZnICAgICAgICAgIHwg IGMgICB8ICBjICAgfCAgIGMgICAKQEAgLTE2MzcsMjMgKzE3MTMsMjkgQEAgU0VMRUNUIHQxLmEs IHQxLmMsIHQyLmIsIHQyLmMgRlJPTSAoU0VMRUNUICogRlJPTSBwcnQxIFdIRVJFIGEgPSAxIEFO RCBhID0gMikgdDEKICAgICAgICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAgICAgICAgIEhhc2gg Q29uZDogKHQzXzEuYSA9IHQyXzEuYikKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBw cnQxX3AxIHQzXzEKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPShh KQogICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZp bHRlciAxCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0Ml9wMSB0Ml8x CiAgICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0M18y LmEgPSB0Ml8yLmIpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9wMiB0M18y CisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMjoga2V5cz0oYSkKICAgICAgICAg ICAgICAgIC0+ICBIYXNoCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMgogICAg ICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDJfcDIgdDJfMgogICAgICAgICAg LT4gIEhhc2ggSm9pbgogICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDNfMy5hID0gdDJfMy5i KQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDFfcDMgdDNfMworICAgICAgICAg ICAgICAgICAgICAgQmxvb20gRmlsdGVyIDM6IGtleXM9KGEpCiAgICAgICAgICAgICAgICAtPiAg SGFzaAorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDMKICAgICAgICAgICAgICAg ICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQyX3AzIHQyXzMKICAgIC0+ICBIYXNoCiAgICAgICAg ICAtPiAgUmVzdWx0CiAgICAgICAgICAgICAgICBSZXBsYWNlczogU2NhbiBvbiBwcnQxCiAgICAg ICAgICAgICAgICBPbmUtVGltZSBGaWx0ZXI6IGZhbHNlCi0oMjIgcm93cykKKygyOCByb3dzKQog CiBFWFBMQUlOIChDT1NUUyBPRkYpCiBTRUxFQ1QgdDEuYSwgdDEuYywgdDIuYiwgdDIuYyBGUk9N IChTRUxFQ1QgKiBGUk9NIHBydDEgV0hFUkUgYSA9IDEgQU5EIGEgPSAyKSB0MSBGVUxMIEpPSU4g cHJ0MiB0MiBPTiB0MS5hID0gdDIuYiBXSEVSRSB0Mi5hID0gMCBPUkRFUiBCWSB0MS5hLCB0Mi5i OwpAQCAtMTcxNSwyOSArMTc5Nyw0MSBAQCBTRUxFQ1QgYXZnKHQxLmEpLCBhdmcodDIuYiksIGF2 Zyh0My5hICsgdDMuYiksIHQxLmMsIHQyLmMsIHQzLmMgRlJPTSBwaHQxIHQxLCBwaAogICAgICAg ICAgICAgICAgICAgICAgLT4gIEhhc2ggSm9pbgogICAgICAgICAgICAgICAgICAgICAgICAgICAg SGFzaCBDb25kOiAoKHQxXzEuYiA9IHQyXzEuYikgQU5EICh0MV8xLmMgPSB0Ml8xLmMpKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBodDFfcDEgdDFfMQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KGIsIGMp CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMjoga2V5cz0o YykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBodDJfcDEgdDJfMQogICAgICAgICAgICAgICAgICAg ICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGh0MV9lX3AxIHQzXzEK ICAgICAgICAgICAgICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAgICAgICAgICAgICAgIEhhc2gg Q29uZDogKHQxXzIuYyA9IGx0cmltKHQzXzIuYywgJ0EnOjp0ZXh0KSkKICAgICAgICAgICAgICAg ICAgICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29u ZDogKCh0MV8yLmIgPSB0Ml8yLmIpIEFORCAodDFfMi5jID0gdDJfMi5jKSkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwaHQxX3AyIHQxXzIKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAzOiBrZXlzPShiLCBjKQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDQ6IGtleXM9KGMpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgQmxvb20gRmlsdGVyIDMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IC0+ICBTZXEgU2NhbiBvbiBwaHQyX3AyIHQyXzIKICAgICAgICAgICAgICAgICAgICAgIC0+ICBI YXNoCisgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgNAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBodDFfZV9wMiB0M18yCiAgICAgICAg ICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0 MV8zLmMgPSBsdHJpbSh0M18zLmMsICdBJzo6dGV4dCkpCiAgICAgICAgICAgICAgICAgICAgICAt PiAgSGFzaCBKb2luCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICgodDFf My5iID0gdDJfMy5iKSBBTkQgKHQxXzMuYyA9IHQyXzMuYykpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGh0MV9wMyB0MV8zCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgNToga2V5cz0oYiwgYykKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciA2OiBrZXlzPShjKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IEJsb29tIEZpbHRlciA1CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2Vx IFNjYW4gb24gcGh0Ml9wMyB0Ml8zCiAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDYKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwaHQxX2VfcDMgdDNfMwotKDMyIHJvd3MpCisoNDQg cm93cykKIAogU0VMRUNUIGF2Zyh0MS5hKSwgYXZnKHQyLmIpLCBhdmcodDMuYSArIHQzLmIpLCB0 MS5jLCB0Mi5jLCB0My5jIEZST00gcGh0MSB0MSwgcGh0MiB0MiwgcGh0MV9lIHQzIFdIRVJFIHQx LmIgPSB0Mi5iIEFORCB0MS5jID0gdDIuYyBBTkQgbHRyaW0odDMuYywgJ0EnKSA9IHQxLmMgR1JP VVAgQlkgdDEuYywgdDIuYywgdDMuYyBPUkRFUiBCWSB0MS5jLCB0Mi5jLCB0My5jOwogICAgICAg ICAgYXZnICAgICAgICAgIHwgICAgICAgICBhdmcgICAgICAgICAgfCAgICAgICAgIGF2ZyAgICAg ICAgICB8ICBjICAgfCAgYyAgIHwgICBjICAgCkBAIC0xNzY3LDIyICsxODYxLDI4IEBAIFNFTEVD VCB0MS5hLCB0MS5jLCB0Mi5iLCB0Mi5jIEZST00gcHJ0MSB0MSwgcHJ0MiB0MiBXSEVSRSB0MS5h ID0gdDIuYiBBTkQgdDEuYiA9CiAgICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAgICAgICAgICAg ICBIYXNoIENvbmQ6ICh0Ml8xLmIgPSB0MV8xLmEpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNj YW4gb24gcHJ0Ml9wMSB0Ml8xCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMTog a2V5cz0oYikKICAgICAgICAgICAgICAgIC0+ICBIYXNoCisgICAgICAgICAgICAgICAgICAgICBC bG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDFf cDEgdDFfMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA9IDApCiAgICAg ICAgICAtPiAgSGFzaCBKb2luCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0Ml8yLmIgPSB0 MV8yLmEpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0Ml9wMiB0Ml8yCisgICAg ICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMjoga2V5cz0oYikKICAgICAgICAgICAgICAg IC0+ICBIYXNoCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMgogICAgICAgICAg ICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDFfcDIgdDFfMgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgRmlsdGVyOiAoYiA9IDApCiAgICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAg ICAgICAgICAgICBIYXNoIENvbmQ6ICh0Ml8zLmIgPSB0MV8zLmEpCiAgICAgICAgICAgICAgICAt PiAgU2VxIFNjYW4gb24gcHJ0Ml9wMyB0Ml8zCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBG aWx0ZXIgMzoga2V5cz0oYikKICAgICAgICAgICAgICAgIC0+ICBIYXNoCisgICAgICAgICAgICAg ICAgICAgICBCbG9vbSBGaWx0ZXIgMwogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2Fu IG9uIHBydDFfcDMgdDFfMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA9 IDApCi0oMjEgcm93cykKKygyNyByb3dzKQogCiAtLSB0ZXN0IGRlZmF1bHQgcGFydGl0aW9uIGJl aGF2aW9yIGZvciBsaXN0CiBBTFRFUiBUQUJMRSBwbHQxIERFVEFDSCBQQVJUSVRJT04gcGx0MV9w MzsKQEAgLTE4MDMsMjIgKzE5MDMsMjggQEAgU0VMRUNUIGF2Zyh0MS5hKSwgYXZnKHQyLmIpLCB0 MS5jLCB0Mi5jIEZST00gcGx0MSB0MSBSSUdIVCBKT0lOIHBsdDIgdDIgT04gdDEuYwogICAgICAg ICAgICAgICAgLT4gIEhhc2ggSm9pbgogICAgICAgICAgICAgICAgICAgICAgSGFzaCBDb25kOiAo dDJfMS5jID0gdDFfMS5jKQogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBs dDJfcDEgdDJfMQorICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtl eXM9KGMpCiAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBT ZXEgU2NhbiBvbiBwbHQxX3AxIHQxXzEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IEZpbHRlcjogKChhICUgMjUpID0gMCkKICAgICAgICAgICAgICAgIC0+ICBIYXNoIEpvaW4KICAg ICAgICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQyXzIuYyA9IHQxXzIuYykKICAgICAgICAg ICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQyX3AyIHQyXzIKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyOiBrZXlzPShjKQogICAgICAgICAgICAgICAgICAg ICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0MV9wMiB0MV8yCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6ICgoYSAlIDI1KSA9IDApCiAg ICAgICAgICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAgICAgICAgICAgICAgICAgICBIYXNoIENv bmQ6ICh0Ml8zLmMgPSB0MV8zLmMpCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4g b24gcGx0Ml9wMyB0Ml8zCisgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIg Mzoga2V5cz0oYykKICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoCisgICAgICAgICAgICAg ICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMwogICAgICAgICAgICAgICAgICAgICAgICAgICAg LT4gIFNlcSBTY2FuIG9uIHBsdDFfcDMgdDFfMwogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgRmlsdGVyOiAoKGEgJSAyNSkgPSAwKQotKDIzIHJvd3MpCisoMjkgcm93cykKIAogLS0K IC0tIG11bHRpcGxlIGxldmVscyBvZiBwYXJ0aXRpb25pbmcKQEAgLTE4NTQsNyArMTk2MCw5IEBA IFNFTEVDVCB0MS5hLCB0MS5jLCB0Mi5iLCB0Mi5jIEZST00gcHJ0MV9sIHQxLCBwcnQyX2wgdDIg V0hFUkUgdDEuYSA9IHQyLmIgQU5EIHQxCiAgICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAgICAg ICAgICAgICBIYXNoIENvbmQ6ICh0Ml8xLmIgPSB0MV8xLmEpCiAgICAgICAgICAgICAgICAtPiAg U2VxIFNjYW4gb24gcHJ0Ml9sX3AxIHQyXzEKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZp bHRlciAxOiBrZXlzPShiKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAg ICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4g b24gcHJ0MV9sX3AxIHQxXzEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGIg PSAwKQogICAgICAgICAgLT4gIEhhc2ggSm9pbgpAQCAtMTg3Niw3ICsxOTg0LDcgQEAgU0VMRUNU IHQxLmEsIHQxLmMsIHQyLmIsIHQyLmMgRlJPTSBwcnQxX2wgdDEsIHBydDJfbCB0MiBXSEVSRSB0 MS5hID0gdDIuYiBBTkQgdDEKICAgICAgICAgICAgICAgIC0+ICBIYXNoCiAgICAgICAgICAgICAg ICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9sX3AzX3AxIHQxXzUKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEZpbHRlcjogKGIgPSAwKQotKDI4IHJvd3MpCisoMzAgcm93cykKIAogU0VM RUNUIHQxLmEsIHQxLmMsIHQyLmIsIHQyLmMgRlJPTSBwcnQxX2wgdDEsIHBydDJfbCB0MiBXSEVS RSB0MS5hID0gdDIuYiBBTkQgdDEuYiA9IDAgT1JERVIgQlkgdDEuYSwgdDIuYjsKICAgYSAgfCAg YyAgIHwgIGIgIHwgIGMgICAKQEAgLTIzNTUsMTkgKzI0NjMsMjUgQEAgU0VMRUNUIHQxLmEsIHQx LmMsIHQyLmIsIHQyLmMgRlJPTSBwcnQxIHQxLCBwcnQ0X24gdDIsIHBydDIgdDMgV0hFUkUgdDEu YSA9IHQyLmEKICAgICAgICAgICAgICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAgICAgICAgICAg ICAgIEhhc2ggQ29uZDogKHQxXzEuYSA9IHQzXzEuYikKICAgICAgICAgICAgICAgICAgICAgIC0+ ICBTZXEgU2NhbiBvbiBwcnQxX3AxIHQxXzEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEJs b29tIEZpbHRlciAxOiBrZXlzPShhKQogICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0Ml9wMSB0M18xCiAgICAgICAgICAgICAgICAt PiAgSGFzaCBKb2luCiAgICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0MV8yLmEgPSB0 M18yLmIpCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9wMiB0MV8y CisgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMjoga2V5cz0oYSkKICAg ICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoCisgICAgICAgICAgICAgICAgICAgICAgICAgICBC bG9vbSBGaWx0ZXIgMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9u IHBydDJfcDIgdDNfMgogICAgICAgICAgICAgICAgLT4gIEhhc2ggSm9pbgogICAgICAgICAgICAg ICAgICAgICAgSGFzaCBDb25kOiAodDFfMy5hID0gdDNfMy5iKQogICAgICAgICAgICAgICAgICAg ICAgLT4gIFNlcSBTY2FuIG9uIHBydDFfcDMgdDFfMworICAgICAgICAgICAgICAgICAgICAgICAg ICAgQmxvb20gRmlsdGVyIDM6IGtleXM9KGEpCiAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFz aAorICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDMKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQyX3AzIHQzXzMKLSgyMyByb3dzKQor KDI5IHJvd3MpCiAKIC0tIHBhcnRpdGlvbndpc2Ugam9pbiBjYW4gbm90IGJlIGFwcGxpZWQgaWYg dGhlcmUgYXJlIG5vIGVxdWktam9pbiBjb25kaXRpb25zCiAtLSBiZXR3ZWVuIHBhcnRpdGlvbiBr ZXlzCkBAIC0yNjM5LDIyICsyNzUzLDI4IEBAIFNFTEVDVCB0MS5hLCB0MS5jLCB0Mi5iLCB0Mi5j IEZST00gcHJ0MV9hZHYgdDEgSU5ORVIgSk9JTiBwcnQyX2FkdiB0MiBPTiAodDEuYSA9CiAgICAg ICAgICAtPiAgSGFzaCBKb2luCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0Ml8xLmIgPSB0 MV8xLmEpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0Ml9hZHZfcDEgdDJfMQor ICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KGIpCiAgICAgICAgICAg ICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAg ICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX2Fkdl9wMSB0MV8xCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiID0gMCkKICAgICAgICAgIC0+ICBIYXNoIEpv aW4KICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQyXzIuYiA9IHQxXzIuYSkKICAgICAgICAg ICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQyX2Fkdl9wMiB0Ml8yCisgICAgICAgICAgICAgICAg ICAgICBCbG9vbSBGaWx0ZXIgMjoga2V5cz0oYikKICAgICAgICAgICAgICAgIC0+ICBIYXNoCisg ICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMgogICAgICAgICAgICAgICAgICAgICAg LT4gIFNlcSBTY2FuIG9uIHBydDFfYWR2X3AyIHQxXzIKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEZpbHRlcjogKGIgPSAwKQogICAgICAgICAgLT4gIEhhc2ggSm9pbgogICAgICAgICAgICAg ICAgSGFzaCBDb25kOiAodDJfMy5iID0gdDFfMy5hKQogICAgICAgICAgICAgICAgLT4gIFNlcSBT Y2FuIG9uIHBydDJfYWR2X3AzIHQyXzMKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRl ciAzOiBrZXlzPShiKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgICAg ICAgIEJsb29tIEZpbHRlciAzCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24g cHJ0MV9hZHZfcDMgdDFfMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA9 IDApCi0oMjEgcm93cykKKygyNyByb3dzKQogCiBTRUxFQ1QgdDEuYSwgdDEuYywgdDIuYiwgdDIu YyBGUk9NIHBydDFfYWR2IHQxIElOTkVSIEpPSU4gcHJ0Ml9hZHYgdDIgT04gKHQxLmEgPSB0Mi5i KSBXSEVSRSB0MS5iID0gMCBPUkRFUiBCWSB0MS5hLCB0Mi5iOwogICBhICB8ICBjICAgfCAgYiAg fCAgYyAgIApAQCAtMjY4MCwyMiArMjgwMCwyOCBAQCBTRUxFQ1QgdDEuKiBGUk9NIHBydDFfYWR2 IHQxIFdIRVJFIEVYSVNUUyAoU0VMRUNUIDEgRlJPTSBwcnQyX2FkdiB0MiBXSEVSRSB0MS5hCiAg ICAgICAgICAtPiAgSGFzaCBSaWdodCBTZW1pIEpvaW4KICAgICAgICAgICAgICAgIEhhc2ggQ29u ZDogKHQyXzEuYiA9IHQxXzEuYSkKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQy X2Fkdl9wMSB0Ml8xCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0o YikKICAgICAgICAgICAgICAgIC0+ICBIYXNoCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBG aWx0ZXIgMQogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDFfYWR2X3Ax IHQxXzEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGIgPSAwKQogICAgICAg ICAgLT4gIEhhc2ggUmlnaHQgU2VtaSBKb2luCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0 Ml8yLmIgPSB0MV8yLmEpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0Ml9hZHZf cDIgdDJfMgorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDI6IGtleXM9KGIpCiAg ICAgICAgICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVy IDIKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX2Fkdl9wMiB0MV8y CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiID0gMCkKICAgICAgICAgIC0+ ICBIYXNoIFJpZ2h0IFNlbWkgSm9pbgogICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDJfMy5i ID0gdDFfMy5hKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDJfYWR2X3AzIHQy XzMKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAzOiBrZXlzPShiKQogICAgICAg ICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAzCiAg ICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9hZHZfcDMgdDFfMwogICAg ICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA9IDApCi0oMjEgcm93cykKKygyNyBy b3dzKQogCiBTRUxFQ1QgdDEuKiBGUk9NIHBydDFfYWR2IHQxIFdIRVJFIEVYSVNUUyAoU0VMRUNU IDEgRlJPTSBwcnQyX2FkdiB0MiBXSEVSRSB0MS5hID0gdDIuYikgQU5EIHQxLmIgPSAwIE9SREVS IEJZIHQxLmE7CiAgIGEgIHwgYiB8ICBjICAgCkBAIC0yNzIxLDIyICsyODQ3LDI4IEBAIFNFTEVD VCB0MS5hLCB0MS5jLCB0Mi5iLCB0Mi5jIEZST00gcHJ0MV9hZHYgdDEgTEVGVCBKT0lOIHBydDJf YWR2IHQyIE9OICh0MS5hID0KICAgICAgICAgIC0+ICBIYXNoIFJpZ2h0IEpvaW4KICAgICAgICAg ICAgICAgIEhhc2ggQ29uZDogKHQyXzEuYiA9IHQxXzEuYSkKICAgICAgICAgICAgICAgIC0+ICBT ZXEgU2NhbiBvbiBwcnQyX2Fkdl9wMSB0Ml8xCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBG aWx0ZXIgMToga2V5cz0oYikKICAgICAgICAgICAgICAgIC0+ICBIYXNoCisgICAgICAgICAgICAg ICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2Fu IG9uIHBydDFfYWR2X3AxIHQxXzEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjog KGIgPSAwKQogICAgICAgICAgLT4gIEhhc2ggUmlnaHQgSm9pbgogICAgICAgICAgICAgICAgSGFz aCBDb25kOiAodDJfMi5iID0gdDFfMi5hKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9u IHBydDJfYWR2X3AyIHQyXzIKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyOiBr ZXlzPShiKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgICAgICAgIEJs b29tIEZpbHRlciAyCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9h ZHZfcDIgdDFfMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA9IDApCiAg ICAgICAgICAtPiAgSGFzaCBSaWdodCBKb2luCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0 Ml8zLmIgPSB0MV8zLmEpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0Ml9hZHZf cDMgdDJfMworICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDM6IGtleXM9KGIpCiAg ICAgICAgICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVy IDMKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX2Fkdl9wMyB0MV8z CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiID0gMCkKLSgyMSByb3dzKQor KDI3IHJvd3MpCiAKIFNFTEVDVCB0MS5hLCB0MS5jLCB0Mi5iLCB0Mi5jIEZST00gcHJ0MV9hZHYg dDEgTEVGVCBKT0lOIHBydDJfYWR2IHQyIE9OICh0MS5hID0gdDIuYikgV0hFUkUgdDEuYiA9IDAg T1JERVIgQlkgdDEuYSwgdDIuYjsKICAgYSAgfCAgYyAgIHwgIGIgIHwgIGMgICAKQEAgLTI3NjYs MjIgKzI4OTgsMjggQEAgU0VMRUNUIHQxLiogRlJPTSBwcnQxX2FkdiB0MSBXSEVSRSBOT1QgRVhJ U1RTIChTRUxFQ1QgMSBGUk9NIHBydDJfYWR2IHQyIFdIRVJFIHQKICAgICAgICAgIC0+ICBIYXNo IFJpZ2h0IEFudGkgSm9pbgogICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDJfMS5iID0gdDFf MS5hKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDJfYWR2X3AxIHQyXzEKKyAg ICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPShiKQogICAgICAgICAgICAg ICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAg ICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9hZHZfcDEgdDFfMQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA9IDApCiAgICAgICAgICAtPiAgSGFzaCBSaWdo dCBBbnRpIEpvaW4KICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQyXzIuYiA9IHQxXzIuYSkK ICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQyX2Fkdl9wMiB0Ml8yCisgICAgICAg ICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMjoga2V5cz0oYikKICAgICAgICAgICAgICAgIC0+ ICBIYXNoCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMgogICAgICAgICAgICAg ICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDFfYWR2X3AyIHQxXzIKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEZpbHRlcjogKGIgPSAwKQogICAgICAgICAgLT4gIEhhc2ggUmlnaHQgQW50 aSBKb2luCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0Ml8zLmIgPSB0MV8zLmEpCiAgICAg ICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0Ml9hZHZfcDMgdDJfMworICAgICAgICAgICAg ICAgICAgICAgQmxvb20gRmlsdGVyIDM6IGtleXM9KGIpCiAgICAgICAgICAgICAgICAtPiAgSGFz aAorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDMKICAgICAgICAgICAgICAgICAg ICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX2Fkdl9wMyB0MV8zCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBGaWx0ZXI6IChiID0gMCkKLSgyMSByb3dzKQorKDI3IHJvd3MpCiAKIFNFTEVDVCB0 MS4qIEZST00gcHJ0MV9hZHYgdDEgV0hFUkUgTk9UIEVYSVNUUyAoU0VMRUNUIDEgRlJPTSBwcnQy X2FkdiB0MiBXSEVSRSB0MS5hID0gdDIuYikgQU5EIHQxLmIgPSAwIE9SREVSIEJZIHQxLmE7CiAg IGEgIHwgYiB8ICBjICAgCkBAIC0yODQ4LDIyICsyOTg2LDI4IEBAIFNFTEVDVCB0MS5hLCB0MS5j LCB0Mi5iLCB0Mi5jIEZST00gcHJ0MV9hZHYgdDEgSU5ORVIgSk9JTiBwcnQyX2FkdiB0MiBPTiAo dDEuYSA9CiAgICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6 ICh0Ml8xLmIgPSB0MV8xLmEpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0Ml9h ZHZfcDEgdDJfMQorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KGIp CiAgICAgICAgICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmls dGVyIDEKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX2Fkdl9wMSB0 MV8xCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiID0gMCkKICAgICAgICAg IC0+ICBIYXNoIEpvaW4KICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQyXzIuYiA9IHQxXzIu YSkKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQyX2Fkdl9wMiB0Ml8yCisgICAg ICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMjoga2V5cz0oYikKICAgICAgICAgICAgICAg IC0+ICBIYXNoCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMgogICAgICAgICAg ICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDFfYWR2X3AyIHQxXzIKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEZpbHRlcjogKGIgPSAwKQogICAgICAgICAgLT4gIEhhc2ggSm9pbgog ICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDJfMy5iID0gdDFfMy5hKQogICAgICAgICAgICAg ICAgLT4gIFNlcSBTY2FuIG9uIHBydDJfYWR2X3AzIHQyXzMKKyAgICAgICAgICAgICAgICAgICAg IEJsb29tIEZpbHRlciAzOiBrZXlzPShiKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAg ICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAzCiAgICAgICAgICAgICAgICAgICAgICAtPiAg U2VxIFNjYW4gb24gcHJ0MV9hZHZfcDMgdDFfMwogICAgICAgICAgICAgICAgICAgICAgICAgICAg RmlsdGVyOiAoYiA9IDApCi0oMjEgcm93cykKKygyNyByb3dzKQogCiBTRUxFQ1QgdDEuYSwgdDEu YywgdDIuYiwgdDIuYyBGUk9NIHBydDFfYWR2IHQxIElOTkVSIEpPSU4gcHJ0Ml9hZHYgdDIgT04g KHQxLmEgPSB0Mi5iKSBXSEVSRSB0MS5iID0gMCBPUkRFUiBCWSB0MS5hLCB0Mi5iOwogICBhICB8 ICBjICAgfCAgYiAgfCAgYyAgIApAQCAtMjg4OSwyMiArMzAzMywyOCBAQCBTRUxFQ1QgdDEuKiBG Uk9NIHBydDFfYWR2IHQxIFdIRVJFIEVYSVNUUyAoU0VMRUNUIDEgRlJPTSBwcnQyX2FkdiB0MiBX SEVSRSB0MS5hCiAgICAgICAgICAtPiAgSGFzaCBSaWdodCBTZW1pIEpvaW4KICAgICAgICAgICAg ICAgIEhhc2ggQ29uZDogKHQyXzEuYiA9IHQxXzEuYSkKICAgICAgICAgICAgICAgIC0+ICBTZXEg U2NhbiBvbiBwcnQyX2Fkdl9wMSB0Ml8xCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0 ZXIgMToga2V5cz0oYikKICAgICAgICAgICAgICAgIC0+ICBIYXNoCisgICAgICAgICAgICAgICAg ICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9u IHBydDFfYWR2X3AxIHQxXzEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGIg PSAwKQogICAgICAgICAgLT4gIEhhc2ggUmlnaHQgU2VtaSBKb2luCiAgICAgICAgICAgICAgICBI YXNoIENvbmQ6ICh0Ml8yLmIgPSB0MV8yLmEpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4g b24gcHJ0Ml9hZHZfcDIgdDJfMgorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDI6 IGtleXM9KGIpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAgICAgICAg Qmxvb20gRmlsdGVyIDIKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQx X2Fkdl9wMiB0MV8yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiID0gMCkK ICAgICAgICAgIC0+ICBIYXNoIFJpZ2h0IFNlbWkgSm9pbgogICAgICAgICAgICAgICAgSGFzaCBD b25kOiAodDJfMy5iID0gdDFfMy5hKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBy dDJfYWR2X3AzIHQyXzMKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAzOiBrZXlz PShiKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgICAgICAgIEJsb29t IEZpbHRlciAzCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9hZHZf cDMgdDFfMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA9IDApCi0oMjEg cm93cykKKygyNyByb3dzKQogCiBTRUxFQ1QgdDEuKiBGUk9NIHBydDFfYWR2IHQxIFdIRVJFIEVY SVNUUyAoU0VMRUNUIDEgRlJPTSBwcnQyX2FkdiB0MiBXSEVSRSB0MS5hID0gdDIuYikgQU5EIHQx LmIgPSAwIE9SREVSIEJZIHQxLmE7CiAgIGEgIHwgYiB8ICBjICAgCkBAIC0yOTMwLDIyICszMDgw LDI4IEBAIFNFTEVDVCB0MS5hLCB0MS5jLCB0Mi5iLCB0Mi5jIEZST00gcHJ0MV9hZHYgdDEgTEVG VCBKT0lOIHBydDJfYWR2IHQyIE9OICh0MS5hID0KICAgICAgICAgIC0+ICBIYXNoIFJpZ2h0IEpv aW4KICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQyXzEuYiA9IHQxXzEuYSkKICAgICAgICAg ICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQyX2Fkdl9wMSB0Ml8xCisgICAgICAgICAgICAgICAg ICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0oYikKICAgICAgICAgICAgICAgIC0+ICBIYXNoCisg ICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAgICAgICAgICAg LT4gIFNlcSBTY2FuIG9uIHBydDFfYWR2X3AxIHQxXzEKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEZpbHRlcjogKGIgPSAwKQogICAgICAgICAgLT4gIEhhc2ggUmlnaHQgSm9pbgogICAgICAg ICAgICAgICAgSGFzaCBDb25kOiAodDJfMi5iID0gdDFfMi5hKQogICAgICAgICAgICAgICAgLT4g IFNlcSBTY2FuIG9uIHBydDJfYWR2X3AyIHQyXzIKKyAgICAgICAgICAgICAgICAgICAgIEJsb29t IEZpbHRlciAyOiBrZXlzPShiKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAg ICAgICAgICAgIEJsb29tIEZpbHRlciAyCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNj YW4gb24gcHJ0MV9hZHZfcDIgdDFfMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVy OiAoYiA9IDApCiAgICAgICAgICAtPiAgSGFzaCBSaWdodCBKb2luCiAgICAgICAgICAgICAgICBI YXNoIENvbmQ6ICh0Ml8zLmIgPSB0MV8zLmEpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4g b24gcHJ0Ml9hZHZfcDMgdDJfMworICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDM6 IGtleXM9KGIpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAgICAgICAg Qmxvb20gRmlsdGVyIDMKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQx X2Fkdl9wMyB0MV8zCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiID0gMCkK LSgyMSByb3dzKQorKDI3IHJvd3MpCiAKIFNFTEVDVCB0MS5hLCB0MS5jLCB0Mi5iLCB0Mi5jIEZS T00gcHJ0MV9hZHYgdDEgTEVGVCBKT0lOIHBydDJfYWR2IHQyIE9OICh0MS5hID0gdDIuYikgV0hF UkUgdDEuYiA9IDAgT1JERVIgQlkgdDEuYSwgdDIuYjsKICAgYSAgfCAgYyAgIHwgIGIgIHwgIGMg ICAKQEAgLTMwMDEsMjIgKzMxNTcsMjggQEAgU0VMRUNUIHQxLiogRlJPTSBwcnQxX2FkdiB0MSBX SEVSRSBOT1QgRVhJU1RTIChTRUxFQ1QgMSBGUk9NIHBydDJfYWR2IHQyIFdIRVJFIHQKICAgICAg ICAgIC0+ICBIYXNoIFJpZ2h0IEFudGkgSm9pbgogICAgICAgICAgICAgICAgSGFzaCBDb25kOiAo dDJfMS5iID0gdDFfMS5hKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDJfYWR2 X3AxIHQyXzEKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPShiKQog ICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRl ciAxCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9hZHZfcDEgdDFf MQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA9IDApCiAgICAgICAgICAt PiAgSGFzaCBSaWdodCBBbnRpIEpvaW4KICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQyXzIu YiA9IHQxXzIuYSkKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQyX2Fkdl9wMiB0 Ml8yCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMjoga2V5cz0oYikKICAgICAg ICAgICAgICAgIC0+ICBIYXNoCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMgog ICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDFfYWR2X3AyIHQxXzIKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGIgPSAwKQogICAgICAgICAgLT4gIEhh c2ggUmlnaHQgQW50aSBKb2luCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0Ml8zLmIgPSB0 MV8zLmEpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0Ml9hZHZfcDMgdDJfMwor ICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDM6IGtleXM9KGIpCiAgICAgICAgICAg ICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDMKICAgICAg ICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX2Fkdl9wMyB0MV8zCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiID0gMCkKLSgyMSByb3dzKQorKDI3IHJvd3Mp CiAKIFNFTEVDVCB0MS4qIEZST00gcHJ0MV9hZHYgdDEgV0hFUkUgTk9UIEVYSVNUUyAoU0VMRUNU IDEgRlJPTSBwcnQyX2FkdiB0MiBXSEVSRSB0MS5hID0gdDIuYikgQU5EIHQxLmIgPSAwIE9SREVS IEJZIHQxLmE7CiAgIGEgIHwgYiB8ICBjICAgCkBAIC0zMTAyLDI0ICszMjY0LDMyIEBAIFNFTEVD VCB0MS5iLCB0MS5jLCB0Mi5hLCB0Mi5jLCB0My5hLCB0My5jIEZST00gcHJ0Ml9hZHYgdDEgTEVG VCBKT0lOIHBydDFfYWR2IHQyCiAgICAgICAgICAtPiAgSGFzaCBSaWdodCBKb2luCiAgICAgICAg ICAgICAgICBIYXNoIENvbmQ6ICh0Ml8yLmEgPSB0MV8yLmIpCiAgICAgICAgICAgICAgICAtPiAg U2VxIFNjYW4gb24gcHJ0MV9hZHZfcDIgdDJfMgorICAgICAgICAgICAgICAgICAgICAgQmxvb20g RmlsdGVyIDI6IGtleXM9KGEpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAg ICAgICAgICAgQmxvb20gRmlsdGVyIDIKICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoIEpv aW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQzXzIuYSA9IHQxXzIu YikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX2Fkdl9w MiB0M18yCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMTog a2V5cz0oYSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDJfYWR2X3AyIHQxXzIKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGEgPSAwKQogICAgICAgICAg LT4gIEhhc2ggUmlnaHQgSm9pbgogICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDJfMy5hID0g dDFfMy5iKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDFfYWR2X3AzIHQyXzMK KyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciA0OiBrZXlzPShhKQogICAgICAgICAg ICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciA0CiAgICAg ICAgICAgICAgICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBIYXNoIENvbmQ6ICh0M18zLmEgPSB0MV8zLmIpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9hZHZfcDMgdDNfMworICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgQmxvb20gRmlsdGVyIDM6IGtleXM9KGEpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20g RmlsdGVyIDMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBv biBwcnQyX2Fkdl9wMyB0MV8zCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBGaWx0ZXI6IChhID0gMCkKLSgzMSByb3dzKQorKDM5IHJvd3MpCiAKIFNFTEVDVCB0MS5iLCB0 MS5jLCB0Mi5hLCB0Mi5jLCB0My5hLCB0My5jIEZST00gcHJ0Ml9hZHYgdDEgTEVGVCBKT0lOIHBy dDFfYWR2IHQyIE9OICh0MS5iID0gdDIuYSkgSU5ORVIgSk9JTiBwcnQxX2FkdiB0MyBPTiAodDEu YiA9IHQzLmEpIFdIRVJFIHQxLmEgPSAwIE9SREVSIEJZIHQxLmIsIHQyLmEsIHQzLmE7CiAgIGIg IHwgIGMgICB8ICBhICB8ICBjICAgfCAgYSAgfCAgYyAgIApAQCAtMzI4OSwxNiArMzQ1OSwyMCBA QCBTRUxFQ1QgdDEuYSwgdDEuYywgdDIuYiwgdDIuYyBGUk9NIHBydDFfYWR2IHQxIElOTkVSIEpP SU4gcHJ0Ml9hZHYgdDIgT04gKHQxLmEgPQogICAgICAgICAgLT4gIEhhc2ggSm9pbgogICAgICAg ICAgICAgICAgSGFzaCBDb25kOiAodDJfMS5iID0gdDFfMi5hKQogICAgICAgICAgICAgICAgLT4g IFNlcSBTY2FuIG9uIHBydDJfYWR2X3AxIHQyXzEKKyAgICAgICAgICAgICAgICAgICAgIEJsb29t IEZpbHRlciAxOiBrZXlzPShiKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAg ICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNj YW4gb24gcHJ0MV9hZHZfcDEgdDFfMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVy OiAoYiA9IDApCiAgICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAgICAgICAgICAgICBIYXNoIENv bmQ6ICh0Ml8yLmIgPSB0MV8xLmEpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0 Ml9hZHZfcDIgdDJfMgorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDI6IGtleXM9 KGIpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAgICAgICAgQmxvb20g RmlsdGVyIDIKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX2Fkdl9w MiB0MV8xCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiID0gMCkKLSgxNSBy b3dzKQorKDE5IHJvd3MpCiAKIFNFTEVDVCB0MS5hLCB0MS5jLCB0Mi5iLCB0Mi5jIEZST00gcHJ0 MV9hZHYgdDEgSU5ORVIgSk9JTiBwcnQyX2FkdiB0MiBPTiAodDEuYSA9IHQyLmIpIFdIRVJFIHQx LmIgPSAwIE9SREVSIEJZIHQxLmEsIHQyLmI7CiAgIGEgIHwgIGMgICB8ICBiICB8ICBjICAgCkBA IC0zMzkwLDI0ICszNTY0LDMyIEBAIFNFTEVDVCB0MS5hLCB0MS5jLCB0Mi5iLCB0Mi5jLCB0My5h LCB0My5jIEZST00gcHJ0MV9hZHYgdDEgTEVGVCBKT0lOIHBydDJfYWR2IHQyCiAgICAgICAgICAt PiAgSGFzaCBSaWdodCBKb2luCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0M18xLmEgPSB0 MV8xLmEpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0M19hZHZfcDEgdDNfMQor ICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDI6IGtleXM9KGEpCiAgICAgICAgICAg ICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDIKICAgICAg ICAgICAgICAgICAgICAgIC0+ICBIYXNoIFJpZ2h0IEpvaW4KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEhhc2ggQ29uZDogKHQyXzIuYiA9IHQxXzEuYSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQyX2Fkdl9wMiB0Ml8yCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0oYikKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIC0+ICBIYXNoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBC bG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBT Y2FuIG9uIHBydDFfYWR2X3AyIHQxXzEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEZpbHRlcjogKGIgPSAwKQogICAgICAgICAgLT4gIEhhc2ggUmlnaHQgSm9pbgogICAg ICAgICAgICAgICAgSGFzaCBDb25kOiAodDNfMi5hID0gdDFfMi5hKQogICAgICAgICAgICAgICAg LT4gIFNlcSBTY2FuIG9uIHBydDNfYWR2X3AyIHQzXzIKKyAgICAgICAgICAgICAgICAgICAgIEJs b29tIEZpbHRlciA0OiBrZXlzPShhKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAg ICAgICAgICAgICAgIEJsb29tIEZpbHRlciA0CiAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFz aCBSaWdodCBKb2luCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0Ml8x LmIgPSB0MV8yLmEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24g cHJ0Ml9hZHZfcDEgdDJfMQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20g RmlsdGVyIDM6IGtleXM9KGIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDMKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX2Fkdl9wMSB0MV8y CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiID0gMCkK LSgyMyByb3dzKQorKDMxIHJvd3MpCiAKIFNFTEVDVCB0MS5hLCB0MS5jLCB0Mi5iLCB0Mi5jLCB0 My5hLCB0My5jIEZST00gcHJ0MV9hZHYgdDEgTEVGVCBKT0lOIHBydDJfYWR2IHQyIE9OICh0MS5h ID0gdDIuYikgTEVGVCBKT0lOIHBydDNfYWR2IHQzIE9OICh0MS5hID0gdDMuYSkgV0hFUkUgdDEu YiA9IDAgT1JERVIgQlkgdDEuYSwgdDIuYiwgdDMuYTsKICAgYSAgfCAgYyAgIHwgIGIgIHwgIGMg ICB8ICBhICB8ICBjICAgCkBAIC0zNDQ5LDE2ICszNjMxLDIwIEBAIFNFTEVDVCB0MS5hLCB0MS5j LCB0Mi5iLCB0Mi5jIEZST00gcHJ0MV9hZHYgdDEgSU5ORVIgSk9JTiBwcnQyX2FkdiB0MiBPTiAo dDEuYSA9CiAgICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6 ICh0Ml8xLmIgPSB0MV8xLmEpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0Ml9h ZHZfcDEgdDJfMQorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KGIp CiAgICAgICAgICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmls dGVyIDEKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX2Fkdl9wMSB0 MV8xCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6ICgoYSA8IDMwMCkgQU5EIChi ID0gMCkpCiAgICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6 ICh0Ml8yLmIgPSB0MV8yLmEpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0Ml9h ZHZfcDIgdDJfMgorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDI6IGtleXM9KGIp CiAgICAgICAgICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmls dGVyIDIKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX2Fkdl9wMiB0 MV8yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6ICgoYSA8IDMwMCkgQU5EIChi ID0gMCkpCi0oMTUgcm93cykKKygxOSByb3dzKQogCiBTRUxFQ1QgdDEuYSwgdDEuYywgdDIuYiwg dDIuYyBGUk9NIHBydDFfYWR2IHQxIElOTkVSIEpPSU4gcHJ0Ml9hZHYgdDIgT04gKHQxLmEgPSB0 Mi5iKSBXSEVSRSB0MS5hIDwgMzAwIEFORCB0MS5iID0gMCBPUkRFUiBCWSB0MS5hLCB0Mi5iOwog ICBhICB8ICBjICAgfCAgYiAgfCAgYyAgIApAQCAtMzQ4OCwxNiArMzY3NCwyMCBAQCBTRUxFQ1Qg dDEuYSwgdDEuYywgdDIuYiwgdDIuYyBGUk9NIHBydDFfYWR2IHQxIElOTkVSIEpPSU4gcHJ0Ml9h ZHYgdDIgT04gKHQxLmEgPQogICAgICAgICAgLT4gIEhhc2ggSm9pbgogICAgICAgICAgICAgICAg SGFzaCBDb25kOiAodDJfMS5iID0gdDFfMS5hKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2Fu IG9uIHBydDJfYWR2X3AxIHQyXzEKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAx OiBrZXlzPShiKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgICAgICAg IEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0 MV9hZHZfcDEgdDFfMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoKGEgPj0g MTAwKSBBTkQgKGEgPCAzMDApIEFORCAoYiA9IDApKQogICAgICAgICAgLT4gIEhhc2ggSm9pbgog ICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDJfMi5iID0gdDFfMi5hKQogICAgICAgICAgICAg ICAgLT4gIFNlcSBTY2FuIG9uIHBydDJfYWR2X3AyIHQyXzIKKyAgICAgICAgICAgICAgICAgICAg IEJsb29tIEZpbHRlciAyOiBrZXlzPShiKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAg ICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyCiAgICAgICAgICAgICAgICAgICAgICAtPiAg U2VxIFNjYW4gb24gcHJ0MV9hZHZfcDIgdDFfMgogICAgICAgICAgICAgICAgICAgICAgICAgICAg RmlsdGVyOiAoKGEgPj0gMTAwKSBBTkQgKGEgPCAzMDApIEFORCAoYiA9IDApKQotKDE1IHJvd3Mp CisoMTkgcm93cykKIAogU0VMRUNUIHQxLmEsIHQxLmMsIHQyLmIsIHQyLmMgRlJPTSBwcnQxX2Fk diB0MSBJTk5FUiBKT0lOIHBydDJfYWR2IHQyIE9OICh0MS5hID0gdDIuYikgV0hFUkUgdDEuYSA+ PSAxMDAgQU5EIHQxLmEgPCAzMDAgQU5EIHQxLmIgPSAwIE9SREVSIEJZIHQxLmEsIHQyLmI7CiAg IGEgIHwgIGMgICB8ICBiICB8ICBjICAgCkBAIC0zNTM4LDIyICszNzI4LDI4IEBAIFNFTEVDVCB0 MS5hLCB0MS5jLCB0Mi5hLCB0Mi5jIEZST00gcGx0MV9hZHYgdDEgSU5ORVIgSk9JTiBwbHQyX2Fk diB0MiBPTiAodDEuYSA9CiAgICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAgICAgICAgICAgICBI YXNoIENvbmQ6ICgodDJfMS5hID0gdDFfMS5hKSBBTkQgKHQyXzEuYyA9IHQxXzEuYykpCiAgICAg ICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0Ml9hZHZfcDEgdDJfMQorICAgICAgICAgICAg ICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KGEsIGMpCiAgICAgICAgICAgICAgICAtPiAg SGFzaAorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgICAgICAg ICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQxX2Fkdl9wMSB0MV8xCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBGaWx0ZXI6IChiIDwgMTApCiAgICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAg ICAgICAgICAgICBIYXNoIENvbmQ6ICgodDJfMi5hID0gdDFfMi5hKSBBTkQgKHQyXzIuYyA9IHQx XzIuYykpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0Ml9hZHZfcDIgdDJfMgor ICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDI6IGtleXM9KGEsIGMpCiAgICAgICAg ICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDIKICAg ICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQxX2Fkdl9wMiB0MV8yCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiIDwgMTApCiAgICAgICAgICAtPiAgSGFz aCBKb2luCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICgodDJfMy5hID0gdDFfMy5hKSBBTkQg KHQyXzMuYyA9IHQxXzMuYykpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0Ml9h ZHZfcDMgdDJfMworICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDM6IGtleXM9KGEs IGMpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAgICAgICAgQmxvb20g RmlsdGVyIDMKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQxX2Fkdl9w MyB0MV8zCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiIDwgMTApCi0oMjEg cm93cykKKygyNyByb3dzKQogCiBTRUxFQ1QgdDEuYSwgdDEuYywgdDIuYSwgdDIuYyBGUk9NIHBs dDFfYWR2IHQxIElOTkVSIEpPSU4gcGx0Ml9hZHYgdDIgT04gKHQxLmEgPSB0Mi5hIEFORCB0MS5j ID0gdDIuYykgV0hFUkUgdDEuYiA8IDEwIE9SREVSIEJZIHQxLmE7CiAgYSB8ICBjICAgfCBhIHwg IGMgICAKQEAgLTM1NzUsMjIgKzM3NzEsMjggQEAgU0VMRUNUIHQxLiogRlJPTSBwbHQxX2FkdiB0 MSBXSEVSRSBFWElTVFMgKFNFTEVDVCAxIEZST00gcGx0Ml9hZHYgdDIgV0hFUkUgdDEuYQogICAg ICAgICAgLT4gIEhhc2ggUmlnaHQgU2VtaSBKb2luCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6 ICgodDJfMS5hID0gdDFfMS5hKSBBTkQgKHQyXzEuYyA9IHQxXzEuYykpCiAgICAgICAgICAgICAg ICAtPiAgU2VxIFNjYW4gb24gcGx0Ml9hZHZfcDEgdDJfMQorICAgICAgICAgICAgICAgICAgICAg Qmxvb20gRmlsdGVyIDE6IGtleXM9KGEsIGMpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAorICAg ICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgICAgICAgICAgICAgIC0+ ICBTZXEgU2NhbiBvbiBwbHQxX2Fkdl9wMSB0MV8xCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBGaWx0ZXI6IChiIDwgMTApCiAgICAgICAgICAtPiAgSGFzaCBSaWdodCBTZW1pIEpvaW4KICAg ICAgICAgICAgICAgIEhhc2ggQ29uZDogKCh0Ml8yLmEgPSB0MV8yLmEpIEFORCAodDJfMi5jID0g dDFfMi5jKSkKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQyX2Fkdl9wMiB0Ml8y CisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMjoga2V5cz0oYSwgYykKICAgICAg ICAgICAgICAgIC0+ICBIYXNoCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMgog ICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDFfYWR2X3AyIHQxXzIKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGIgPCAxMCkKICAgICAgICAgIC0+ICBI YXNoIFJpZ2h0IFNlbWkgSm9pbgogICAgICAgICAgICAgICAgSGFzaCBDb25kOiAoKHQyXzMuYSA9 IHQxXzMuYSkgQU5EICh0Ml8zLmMgPSB0MV8zLmMpKQogICAgICAgICAgICAgICAgLT4gIFNlcSBT Y2FuIG9uIHBsdDJfYWR2X3AzIHQyXzMKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRl ciAzOiBrZXlzPShhLCBjKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAg ICAgICAgIEJsb29tIEZpbHRlciAzCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4g b24gcGx0MV9hZHZfcDMgdDFfMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAo YiA8IDEwKQotKDIxIHJvd3MpCisoMjcgcm93cykKIAogU0VMRUNUIHQxLiogRlJPTSBwbHQxX2Fk diB0MSBXSEVSRSBFWElTVFMgKFNFTEVDVCAxIEZST00gcGx0Ml9hZHYgdDIgV0hFUkUgdDEuYSA9 IHQyLmEgQU5EIHQxLmMgPSB0Mi5jKSBBTkQgdDEuYiA8IDEwIE9SREVSIEJZIHQxLmE7CiAgYSB8 IGIgfCAgYyAgIApAQCAtMzYxMiwyMiArMzgxNCwyOCBAQCBTRUxFQ1QgdDEuYSwgdDEuYywgdDIu YSwgdDIuYyBGUk9NIHBsdDFfYWR2IHQxIExFRlQgSk9JTiBwbHQyX2FkdiB0MiBPTiAodDEuYSA9 CiAgICAgICAgICAtPiAgSGFzaCBSaWdodCBKb2luCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6 ICgodDJfMS5hID0gdDFfMS5hKSBBTkQgKHQyXzEuYyA9IHQxXzEuYykpCiAgICAgICAgICAgICAg ICAtPiAgU2VxIFNjYW4gb24gcGx0Ml9hZHZfcDEgdDJfMQorICAgICAgICAgICAgICAgICAgICAg Qmxvb20gRmlsdGVyIDE6IGtleXM9KGEsIGMpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAorICAg ICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgICAgICAgICAgICAgIC0+ ICBTZXEgU2NhbiBvbiBwbHQxX2Fkdl9wMSB0MV8xCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBGaWx0ZXI6IChiIDwgMTApCiAgICAgICAgICAtPiAgSGFzaCBSaWdodCBKb2luCiAgICAgICAg ICAgICAgICBIYXNoIENvbmQ6ICgodDJfMi5hID0gdDFfMi5hKSBBTkQgKHQyXzIuYyA9IHQxXzIu YykpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0Ml9hZHZfcDIgdDJfMgorICAg ICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDI6IGtleXM9KGEsIGMpCiAgICAgICAgICAg ICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDIKICAgICAg ICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQxX2Fkdl9wMiB0MV8yCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiIDwgMTApCiAgICAgICAgICAtPiAgSGFzaCBS aWdodCBKb2luCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICgodDJfMy5hID0gdDFfMy5hKSBB TkQgKHQyXzMuYyA9IHQxXzMuYykpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0 Ml9hZHZfcDMgdDJfMworICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDM6IGtleXM9 KGEsIGMpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAgICAgICAgQmxv b20gRmlsdGVyIDMKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQxX2Fk dl9wMyB0MV8zCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiIDwgMTApCi0o MjEgcm93cykKKygyNyByb3dzKQogCiBTRUxFQ1QgdDEuYSwgdDEuYywgdDIuYSwgdDIuYyBGUk9N IHBsdDFfYWR2IHQxIExFRlQgSk9JTiBwbHQyX2FkdiB0MiBPTiAodDEuYSA9IHQyLmEgQU5EIHQx LmMgPSB0Mi5jKSBXSEVSRSB0MS5iIDwgMTAgT1JERVIgQlkgdDEuYTsKICBhIHwgIGMgICB8IGEg fCAgYyAgIApAQCAtMzY1MSwyMiArMzg1OSwyOCBAQCBTRUxFQ1QgdDEuKiBGUk9NIHBsdDFfYWR2 IHQxIFdIRVJFIE5PVCBFWElTVFMgKFNFTEVDVCAxIEZST00gcGx0Ml9hZHYgdDIgV0hFUkUgdAog ICAgICAgICAgLT4gIEhhc2ggUmlnaHQgQW50aSBKb2luCiAgICAgICAgICAgICAgICBIYXNoIENv bmQ6ICgodDJfMS5hID0gdDFfMS5hKSBBTkQgKHQyXzEuYyA9IHQxXzEuYykpCiAgICAgICAgICAg ICAgICAtPiAgU2VxIFNjYW4gb24gcGx0Ml9hZHZfcDEgdDJfMQorICAgICAgICAgICAgICAgICAg ICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KGEsIGMpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAor ICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgICAgICAgICAgICAg IC0+ICBTZXEgU2NhbiBvbiBwbHQxX2Fkdl9wMSB0MV8xCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBGaWx0ZXI6IChiIDwgMTApCiAgICAgICAgICAtPiAgSGFzaCBSaWdodCBBbnRpIEpvaW4K ICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKCh0Ml8yLmEgPSB0MV8yLmEpIEFORCAodDJfMi5j ID0gdDFfMi5jKSkKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQyX2Fkdl9wMiB0 Ml8yCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMjoga2V5cz0oYSwgYykKICAg ICAgICAgICAgICAgIC0+ICBIYXNoCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIg MgogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDFfYWR2X3AyIHQxXzIK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGIgPCAxMCkKICAgICAgICAgIC0+ ICBIYXNoIFJpZ2h0IEFudGkgSm9pbgogICAgICAgICAgICAgICAgSGFzaCBDb25kOiAoKHQyXzMu YSA9IHQxXzMuYSkgQU5EICh0Ml8zLmMgPSB0MV8zLmMpKQogICAgICAgICAgICAgICAgLT4gIFNl cSBTY2FuIG9uIHBsdDJfYWR2X3AzIHQyXzMKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZp bHRlciAzOiBrZXlzPShhLCBjKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAg ICAgICAgICAgIEJsb29tIEZpbHRlciAzCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNj YW4gb24gcGx0MV9hZHZfcDMgdDFfMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVy OiAoYiA8IDEwKQotKDIxIHJvd3MpCisoMjcgcm93cykKIAogU0VMRUNUIHQxLiogRlJPTSBwbHQx X2FkdiB0MSBXSEVSRSBOT1QgRVhJU1RTIChTRUxFQ1QgMSBGUk9NIHBsdDJfYWR2IHQyIFdIRVJF IHQxLmEgPSB0Mi5hIEFORCB0MS5jID0gdDIuYykgQU5EIHQxLmIgPCAxMCBPUkRFUiBCWSB0MS5h OwogIGEgfCBiIHwgIGMgICAKQEAgLTM3MzEsMjIgKzM5NDUsMjggQEAgU0VMRUNUIHQxLmEsIHQx LmMsIHQyLmEsIHQyLmMgRlJPTSBwbHQxX2FkdiB0MSBJTk5FUiBKT0lOIHBsdDJfYWR2IHQyIE9O ICh0MS5hID0KICAgICAgICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAgICAgICAgIEhhc2ggQ29u ZDogKCh0Ml8xLmEgPSB0MV8xLmEpIEFORCAodDJfMS5jID0gdDFfMS5jKSkKICAgICAgICAgICAg ICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQyX2Fkdl9wMSB0Ml8xCisgICAgICAgICAgICAgICAgICAg ICBCbG9vbSBGaWx0ZXIgMToga2V5cz0oYSwgYykKICAgICAgICAgICAgICAgIC0+ICBIYXNoCisg ICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAgICAgICAgICAg LT4gIFNlcSBTY2FuIG9uIHBsdDFfYWR2X3AxIHQxXzEKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEZpbHRlcjogKGIgPCAxMCkKICAgICAgICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAgICAg ICAgIEhhc2ggQ29uZDogKCh0Ml8yLmEgPSB0MV8yLmEpIEFORCAodDJfMi5jID0gdDFfMi5jKSkK ICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQyX2Fkdl9wMiB0Ml8yCisgICAgICAg ICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMjoga2V5cz0oYSwgYykKICAgICAgICAgICAgICAg IC0+ICBIYXNoCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMgogICAgICAgICAg ICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDFfYWR2X3AyIHQxXzIKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEZpbHRlcjogKGIgPCAxMCkKICAgICAgICAgIC0+ICBIYXNoIEpvaW4K ICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKCh0Ml8zLmEgPSB0MV8zLmEpIEFORCAodDJfMy5j ID0gdDFfMy5jKSkKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQyX2Fkdl9wMyB0 Ml8zCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMzoga2V5cz0oYSwgYykKICAg ICAgICAgICAgICAgIC0+ICBIYXNoCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIg MwogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDFfYWR2X3AzIHQxXzMK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGIgPCAxMCkKLSgyMSByb3dzKQor KDI3IHJvd3MpCiAKIFNFTEVDVCB0MS5hLCB0MS5jLCB0Mi5hLCB0Mi5jIEZST00gcGx0MV9hZHYg dDEgSU5ORVIgSk9JTiBwbHQyX2FkdiB0MiBPTiAodDEuYSA9IHQyLmEgQU5EIHQxLmMgPSB0Mi5j KSBXSEVSRSB0MS5iIDwgMTAgT1JERVIgQlkgdDEuYTsKICBhIHwgIGMgICB8IGEgfCAgYyAgIApA QCAtMzc2OCwyMiArMzk4OCwyOCBAQCBTRUxFQ1QgdDEuKiBGUk9NIHBsdDFfYWR2IHQxIFdIRVJF IEVYSVNUUyAoU0VMRUNUIDEgRlJPTSBwbHQyX2FkdiB0MiBXSEVSRSB0MS5hCiAgICAgICAgICAt PiAgSGFzaCBSaWdodCBTZW1pIEpvaW4KICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKCh0Ml8x LmEgPSB0MV8xLmEpIEFORCAodDJfMS5jID0gdDFfMS5jKSkKICAgICAgICAgICAgICAgIC0+ICBT ZXEgU2NhbiBvbiBwbHQyX2Fkdl9wMSB0Ml8xCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBG aWx0ZXIgMToga2V5cz0oYSwgYykKICAgICAgICAgICAgICAgIC0+ICBIYXNoCisgICAgICAgICAg ICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBT Y2FuIG9uIHBsdDFfYWR2X3AxIHQxXzEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRl cjogKGIgPCAxMCkKICAgICAgICAgIC0+ICBIYXNoIFJpZ2h0IFNlbWkgSm9pbgogICAgICAgICAg ICAgICAgSGFzaCBDb25kOiAoKHQyXzIuYSA9IHQxXzIuYSkgQU5EICh0Ml8yLmMgPSB0MV8yLmMp KQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDJfYWR2X3AyIHQyXzIKKyAgICAg ICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyOiBrZXlzPShhLCBjKQogICAgICAgICAgICAg ICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyCiAgICAgICAg ICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0MV9hZHZfcDIgdDFfMgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA8IDEwKQogICAgICAgICAgLT4gIEhhc2ggUmln aHQgU2VtaSBKb2luCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICgodDJfMy5hID0gdDFfMy5h KSBBTkQgKHQyXzMuYyA9IHQxXzMuYykpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24g cGx0Ml9hZHZfcDMgdDJfMworICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDM6IGtl eXM9KGEsIGMpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAgICAgICAg Qmxvb20gRmlsdGVyIDMKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQx X2Fkdl9wMyB0MV8zCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiIDwgMTAp Ci0oMjEgcm93cykKKygyNyByb3dzKQogCiBTRUxFQ1QgdDEuKiBGUk9NIHBsdDFfYWR2IHQxIFdI RVJFIEVYSVNUUyAoU0VMRUNUIDEgRlJPTSBwbHQyX2FkdiB0MiBXSEVSRSB0MS5hID0gdDIuYSBB TkQgdDEuYyA9IHQyLmMpIEFORCB0MS5iIDwgMTAgT1JERVIgQlkgdDEuYTsKICBhIHwgYiB8ICBj ICAgCkBAIC0zODA1LDIyICs0MDMxLDI4IEBAIFNFTEVDVCB0MS5hLCB0MS5jLCB0Mi5hLCB0Mi5j IEZST00gcGx0MV9hZHYgdDEgTEVGVCBKT0lOIHBsdDJfYWR2IHQyIE9OICh0MS5hID0KICAgICAg ICAgIC0+ICBIYXNoIFJpZ2h0IEpvaW4KICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKCh0Ml8x LmEgPSB0MV8xLmEpIEFORCAodDJfMS5jID0gdDFfMS5jKSkKICAgICAgICAgICAgICAgIC0+ICBT ZXEgU2NhbiBvbiBwbHQyX2Fkdl9wMSB0Ml8xCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBG aWx0ZXIgMToga2V5cz0oYSwgYykKICAgICAgICAgICAgICAgIC0+ICBIYXNoCisgICAgICAgICAg ICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBT Y2FuIG9uIHBsdDFfYWR2X3AxIHQxXzEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRl cjogKGIgPCAxMCkKICAgICAgICAgIC0+ICBIYXNoIFJpZ2h0IEpvaW4KICAgICAgICAgICAgICAg IEhhc2ggQ29uZDogKCh0Ml8yLmEgPSB0MV8yLmEpIEFORCAodDJfMi5jID0gdDFfMi5jKSkKICAg ICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQyX2Fkdl9wMiB0Ml8yCisgICAgICAgICAg ICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMjoga2V5cz0oYSwgYykKICAgICAgICAgICAgICAgIC0+ ICBIYXNoCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMgogICAgICAgICAgICAg ICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDFfYWR2X3AyIHQxXzIKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEZpbHRlcjogKGIgPCAxMCkKICAgICAgICAgIC0+ICBIYXNoIFJpZ2h0IEpv aW4KICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKCh0Ml8zLmEgPSB0MV8zLmEpIEFORCAodDJf My5jID0gdDFfMy5jKSkKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQyX2Fkdl9w MyB0Ml8zCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMzoga2V5cz0oYSwgYykK ICAgICAgICAgICAgICAgIC0+ICBIYXNoCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0 ZXIgMwogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDFfYWR2X3AzIHQx XzMKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGIgPCAxMCkKLSgyMSByb3dz KQorKDI3IHJvd3MpCiAKIFNFTEVDVCB0MS5hLCB0MS5jLCB0Mi5hLCB0Mi5jIEZST00gcGx0MV9h ZHYgdDEgTEVGVCBKT0lOIHBsdDJfYWR2IHQyIE9OICh0MS5hID0gdDIuYSBBTkQgdDEuYyA9IHQy LmMpIFdIRVJFIHQxLmIgPCAxMCBPUkRFUiBCWSB0MS5hOwogIGEgfCAgYyAgIHwgYSB8ICBjICAg CkBAIC0zODcwLDIyICs0MTAyLDI4IEBAIFNFTEVDVCB0MS4qIEZST00gcGx0MV9hZHYgdDEgV0hF UkUgTk9UIEVYSVNUUyAoU0VMRUNUIDEgRlJPTSBwbHQyX2FkdiB0MiBXSEVSRSB0CiAgICAgICAg ICAtPiAgSGFzaCBSaWdodCBBbnRpIEpvaW4KICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKCh0 Ml8xLmEgPSB0MV8xLmEpIEFORCAodDJfMS5jID0gdDFfMS5jKSkKICAgICAgICAgICAgICAgIC0+ ICBTZXEgU2NhbiBvbiBwbHQyX2Fkdl9wMSB0Ml8xCisgICAgICAgICAgICAgICAgICAgICBCbG9v bSBGaWx0ZXIgMToga2V5cz0oYSwgYykKICAgICAgICAgICAgICAgIC0+ICBIYXNoCisgICAgICAg ICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAgICAgICAgICAgLT4gIFNl cSBTY2FuIG9uIHBsdDFfYWR2X3AxIHQxXzEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZp bHRlcjogKGIgPCAxMCkKICAgICAgICAgIC0+ICBIYXNoIFJpZ2h0IEFudGkgSm9pbgogICAgICAg ICAgICAgICAgSGFzaCBDb25kOiAoKHQyXzIuYSA9IHQxXzIuYSkgQU5EICh0Ml8yLmMgPSB0MV8y LmMpKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDJfYWR2X3AyIHQyXzIKKyAg ICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyOiBrZXlzPShhLCBjKQogICAgICAgICAg ICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyCiAgICAg ICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0MV9hZHZfcDIgdDFfMgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA8IDEwKQogICAgICAgICAgLT4gIEhhc2gg UmlnaHQgQW50aSBKb2luCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICgodDJfMy5hID0gdDFf My5hKSBBTkQgKHQyXzMuYyA9IHQxXzMuYykpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4g b24gcGx0Ml9hZHZfcDMgdDJfMworICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDM6 IGtleXM9KGEsIGMpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAgICAg ICAgQmxvb20gRmlsdGVyIDMKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBw bHQxX2Fkdl9wMyB0MV8zCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiIDwg MTApCi0oMjEgcm93cykKKygyNyByb3dzKQogCiBTRUxFQ1QgdDEuKiBGUk9NIHBsdDFfYWR2IHQx IFdIRVJFIE5PVCBFWElTVFMgKFNFTEVDVCAxIEZST00gcGx0Ml9hZHYgdDIgV0hFUkUgdDEuYSA9 IHQyLmEgQU5EIHQxLmMgPSB0Mi5jKSBBTkQgdDEuYiA8IDEwIE9SREVSIEJZIHQxLmE7CiAgYSB8 IGIgfCAgYyAgIApAQCAtNDA5OCwyMiArNDMzNiwyOCBAQCBTRUxFQ1QgdDEuYSwgdDEuYywgdDIu YSwgdDIuYyBGUk9NIHBsdDFfYWR2IHQxIElOTkVSIEpPSU4gcGx0Ml9hZHYgdDIgT04gKHQxLmEg PQogICAgICAgICAgLT4gIEhhc2ggSm9pbgogICAgICAgICAgICAgICAgSGFzaCBDb25kOiAoKHQy XzEuYSA9IHQxXzEuYSkgQU5EICh0Ml8xLmMgPSB0MV8xLmMpKQogICAgICAgICAgICAgICAgLT4g IFNlcSBTY2FuIG9uIHBsdDJfYWR2X3AxIHQyXzEKKyAgICAgICAgICAgICAgICAgICAgIEJsb29t IEZpbHRlciAxOiBrZXlzPShhLCBjKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAg ICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2Vx IFNjYW4gb24gcGx0MV9hZHZfcDFfbnVsbCB0MV8xCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBGaWx0ZXI6IChiIDwgMTApCiAgICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAgICAgICAgICAg ICBIYXNoIENvbmQ6ICgodDJfMi5hID0gdDFfMi5hKSBBTkQgKHQyXzIuYyA9IHQxXzIuYykpCiAg ICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0Ml9hZHZfcDIgdDJfMgorICAgICAgICAg ICAgICAgICAgICAgQmxvb20gRmlsdGVyIDI6IGtleXM9KGEsIGMpCiAgICAgICAgICAgICAgICAt PiAgSGFzaAorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDIKICAgICAgICAgICAg ICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQxX2Fkdl9wMiB0MV8yCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBGaWx0ZXI6IChiIDwgMTApCiAgICAgICAgICAtPiAgSGFzaCBKb2luCiAg ICAgICAgICAgICAgICBIYXNoIENvbmQ6ICgodDJfMy5hID0gdDFfMy5hKSBBTkQgKHQyXzMuYyA9 IHQxXzMuYykpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0Ml9hZHZfcDNfbnVs bCB0Ml8zCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMzoga2V5cz0oYSwgYykK ICAgICAgICAgICAgICAgIC0+ICBIYXNoCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0 ZXIgMwogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDFfYWR2X3AzIHQx XzMKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGIgPCAxMCkKLSgyMSByb3dz KQorKDI3IHJvd3MpCiAKIFNFTEVDVCB0MS5hLCB0MS5jLCB0Mi5hLCB0Mi5jIEZST00gcGx0MV9h ZHYgdDEgSU5ORVIgSk9JTiBwbHQyX2FkdiB0MiBPTiAodDEuYSA9IHQyLmEgQU5EIHQxLmMgPSB0 Mi5jKSBXSEVSRSB0MS5iIDwgMTAgT1JERVIgQlkgdDEuYTsKICBhIHwgIGMgICB8IGEgfCAgYyAg IApAQCAtNDEzNSwyMiArNDM3OSwyOCBAQCBTRUxFQ1QgdDEuKiBGUk9NIHBsdDFfYWR2IHQxIFdI RVJFIEVYSVNUUyAoU0VMRUNUIDEgRlJPTSBwbHQyX2FkdiB0MiBXSEVSRSB0MS5hCiAgICAgICAg ICAtPiAgSGFzaCBSaWdodCBTZW1pIEpvaW4KICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKCh0 Ml8xLmEgPSB0MV8xLmEpIEFORCAodDJfMS5jID0gdDFfMS5jKSkKICAgICAgICAgICAgICAgIC0+ ICBTZXEgU2NhbiBvbiBwbHQyX2Fkdl9wMSB0Ml8xCisgICAgICAgICAgICAgICAgICAgICBCbG9v bSBGaWx0ZXIgMToga2V5cz0oYSwgYykKICAgICAgICAgICAgICAgIC0+ICBIYXNoCisgICAgICAg ICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAgICAgICAgICAgLT4gIFNl cSBTY2FuIG9uIHBsdDFfYWR2X3AxX251bGwgdDFfMQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgRmlsdGVyOiAoYiA8IDEwKQogICAgICAgICAgLT4gIEhhc2ggUmlnaHQgU2VtaSBKb2luCiAg ICAgICAgICAgICAgICBIYXNoIENvbmQ6ICgodDJfMi5hID0gdDFfMi5hKSBBTkQgKHQyXzIuYyA9 IHQxXzIuYykpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0Ml9hZHZfcDIgdDJf MgorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDI6IGtleXM9KGEsIGMpCiAgICAg ICAgICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDIK ICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQxX2Fkdl9wMiB0MV8yCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiIDwgMTApCiAgICAgICAgICAtPiAg SGFzaCBSaWdodCBTZW1pIEpvaW4KICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKCh0Ml8zLmEg PSB0MV8zLmEpIEFORCAodDJfMy5jID0gdDFfMy5jKSkKICAgICAgICAgICAgICAgIC0+ICBTZXEg U2NhbiBvbiBwbHQyX2Fkdl9wM19udWxsIHQyXzMKKyAgICAgICAgICAgICAgICAgICAgIEJsb29t IEZpbHRlciAzOiBrZXlzPShhLCBjKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAg ICAgICAgICAgICAgIEJsb29tIEZpbHRlciAzCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2Vx IFNjYW4gb24gcGx0MV9hZHZfcDMgdDFfMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmls dGVyOiAoYiA8IDEwKQotKDIxIHJvd3MpCisoMjcgcm93cykKIAogU0VMRUNUIHQxLiogRlJPTSBw bHQxX2FkdiB0MSBXSEVSRSBFWElTVFMgKFNFTEVDVCAxIEZST00gcGx0Ml9hZHYgdDIgV0hFUkUg dDEuYSA9IHQyLmEgQU5EIHQxLmMgPSB0Mi5jKSBBTkQgdDEuYiA8IDEwIE9SREVSIEJZIHQxLmE7 CiAgYSB8IGIgfCAgYyAgIApAQCAtNDE3MiwyMiArNDQyMiwyOCBAQCBTRUxFQ1QgdDEuYSwgdDEu YywgdDIuYSwgdDIuYyBGUk9NIHBsdDFfYWR2IHQxIExFRlQgSk9JTiBwbHQyX2FkdiB0MiBPTiAo dDEuYSA9CiAgICAgICAgICAtPiAgSGFzaCBSaWdodCBKb2luCiAgICAgICAgICAgICAgICBIYXNo IENvbmQ6ICgodDJfMS5hID0gdDFfMS5hKSBBTkQgKHQyXzEuYyA9IHQxXzEuYykpCiAgICAgICAg ICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0Ml9hZHZfcDEgdDJfMQorICAgICAgICAgICAgICAg ICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KGEsIGMpCiAgICAgICAgICAgICAgICAtPiAgSGFz aAorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgICAgICAgICAg ICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQxX2Fkdl9wMV9udWxsIHQxXzEKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEZpbHRlcjogKGIgPCAxMCkKICAgICAgICAgIC0+ICBIYXNoIFJpZ2h0IEpv aW4KICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKCh0Ml8yLmEgPSB0MV8yLmEpIEFORCAodDJf Mi5jID0gdDFfMi5jKSkKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQyX2Fkdl9w MiB0Ml8yCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMjoga2V5cz0oYSwgYykK ICAgICAgICAgICAgICAgIC0+ICBIYXNoCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0 ZXIgMgogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDFfYWR2X3AyIHQx XzIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGIgPCAxMCkKICAgICAgICAg IC0+ICBIYXNoIFJpZ2h0IEpvaW4KICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKCh0Ml8zLmEg PSB0MV8zLmEpIEFORCAodDJfMy5jID0gdDFfMy5jKSkKICAgICAgICAgICAgICAgIC0+ICBTZXEg U2NhbiBvbiBwbHQyX2Fkdl9wM19udWxsIHQyXzMKKyAgICAgICAgICAgICAgICAgICAgIEJsb29t IEZpbHRlciAzOiBrZXlzPShhLCBjKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAg ICAgICAgICAgICAgIEJsb29tIEZpbHRlciAzCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2Vx IFNjYW4gb24gcGx0MV9hZHZfcDMgdDFfMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmls dGVyOiAoYiA8IDEwKQotKDIxIHJvd3MpCisoMjcgcm93cykKIAogU0VMRUNUIHQxLmEsIHQxLmMs IHQyLmEsIHQyLmMgRlJPTSBwbHQxX2FkdiB0MSBMRUZUIEpPSU4gcGx0Ml9hZHYgdDIgT04gKHQx LmEgPSB0Mi5hIEFORCB0MS5jID0gdDIuYykgV0hFUkUgdDEuYiA8IDEwIE9SREVSIEJZIHQxLmE7 CiAgYSAgfCAgYyAgIHwgYSB8ICBjICAgCkBAIC00MjEyLDIyICs0NDY4LDI4IEBAIFNFTEVDVCB0 MS4qIEZST00gcGx0MV9hZHYgdDEgV0hFUkUgTk9UIEVYSVNUUyAoU0VMRUNUIDEgRlJPTSBwbHQy X2FkdiB0MiBXSEVSRSB0CiAgICAgICAgICAtPiAgSGFzaCBSaWdodCBBbnRpIEpvaW4KICAgICAg ICAgICAgICAgIEhhc2ggQ29uZDogKCh0Ml8xLmEgPSB0MV8xLmEpIEFORCAodDJfMS5jID0gdDFf MS5jKSkKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQyX2Fkdl9wMSB0Ml8xCisg ICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0oYSwgYykKICAgICAgICAg ICAgICAgIC0+ICBIYXNoCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAg ICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDFfYWR2X3AxX251bGwgdDFfMQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA8IDEwKQogICAgICAgICAgLT4g IEhhc2ggUmlnaHQgQW50aSBKb2luCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICgodDJfMi5h ID0gdDFfMi5hKSBBTkQgKHQyXzIuYyA9IHQxXzIuYykpCiAgICAgICAgICAgICAgICAtPiAgU2Vx IFNjYW4gb24gcGx0Ml9hZHZfcDIgdDJfMgorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmls dGVyIDI6IGtleXM9KGEsIGMpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAg ICAgICAgICAgQmxvb20gRmlsdGVyIDIKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2Nh biBvbiBwbHQxX2Fkdl9wMiB0MV8yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6 IChiIDwgMTApCiAgICAgICAgICAtPiAgSGFzaCBSaWdodCBBbnRpIEpvaW4KICAgICAgICAgICAg ICAgIEhhc2ggQ29uZDogKCh0Ml8zLmEgPSB0MV8zLmEpIEFORCAodDJfMy5jID0gdDFfMy5jKSkK ICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQyX2Fkdl9wM19udWxsIHQyXzMKKyAg ICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAzOiBrZXlzPShhLCBjKQogICAgICAgICAg ICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAzCiAgICAg ICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0MV9hZHZfcDMgdDFfMwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA8IDEwKQotKDIxIHJvd3MpCisoMjcgcm93 cykKIAogU0VMRUNUIHQxLiogRlJPTSBwbHQxX2FkdiB0MSBXSEVSRSBOT1QgRVhJU1RTIChTRUxF Q1QgMSBGUk9NIHBsdDJfYWR2IHQyIFdIRVJFIHQxLmEgPSB0Mi5hIEFORCB0MS5jID0gdDIuYykg QU5EIHQxLmIgPCAxMCBPUkRFUiBCWSB0MS5hOwogIGEgIHwgYiAgfCAgYyAgIApAQCAtNDMwMywy MiArNDU2NSwyOCBAQCBTRUxFQ1QgdDEuYSwgdDEuYywgdDIuYSwgdDIuYyBGUk9NIHBsdDFfYWR2 IHQxIElOTkVSIEpPSU4gcGx0Ml9hZHYgdDIgT04gKHQxLmEgPQogICAgICAgICAgLT4gIEhhc2gg Sm9pbgogICAgICAgICAgICAgICAgSGFzaCBDb25kOiAoKHQyXzEuYSA9IHQxXzEuYSkgQU5EICh0 Ml8xLmMgPSB0MV8xLmMpKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDJfYWR2 X3AxIHQyXzEKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPShhLCBj KQogICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZp bHRlciAxCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0MV9hZHZfcDEg dDFfMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA8IDEwKQogICAgICAg ICAgLT4gIEhhc2ggSm9pbgogICAgICAgICAgICAgICAgSGFzaCBDb25kOiAoKHQyXzIuYSA9IHQx XzIuYSkgQU5EICh0Ml8yLmMgPSB0MV8yLmMpKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2Fu IG9uIHBsdDJfYWR2X3AyIHQyXzIKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAy OiBrZXlzPShhLCBjKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgICAg ICAgIEJsb29tIEZpbHRlciAyCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24g cGx0MV9hZHZfcDIgdDFfMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA8 IDEwKQogICAgICAgICAgLT4gIEhhc2ggSm9pbgogICAgICAgICAgICAgICAgSGFzaCBDb25kOiAo KHQyXzMuYSA9IHQxXzMuYSkgQU5EICh0Ml8zLmMgPSB0MV8zLmMpKQogICAgICAgICAgICAgICAg LT4gIFNlcSBTY2FuIG9uIHBsdDJfYWR2X3AzIHQyXzMKKyAgICAgICAgICAgICAgICAgICAgIEJs b29tIEZpbHRlciAzOiBrZXlzPShhLCBjKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAg ICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAzCiAgICAgICAgICAgICAgICAgICAgICAtPiAg U2VxIFNjYW4gb24gcGx0MV9hZHZfcDMgdDFfMwogICAgICAgICAgICAgICAgICAgICAgICAgICAg RmlsdGVyOiAoYiA8IDEwKQotKDIxIHJvd3MpCisoMjcgcm93cykKIAogU0VMRUNUIHQxLmEsIHQx LmMsIHQyLmEsIHQyLmMgRlJPTSBwbHQxX2FkdiB0MSBJTk5FUiBKT0lOIHBsdDJfYWR2IHQyIE9O ICh0MS5hID0gdDIuYSBBTkQgdDEuYyA9IHQyLmMpIFdIRVJFIHQxLmIgPCAxMCBPUkRFUiBCWSB0 MS5hOwogIGEgfCAgYyAgIHwgYSB8ICBjICAgCkBAIC00Mzk0LDIyICs0NjYyLDI4IEBAIFNFTEVD VCB0MS5hLCB0MS5jLCB0Mi5hLCB0Mi5jIEZST00gcGx0MV9hZHYgdDEgSU5ORVIgSk9JTiBwbHQy X2FkdiB0MiBPTiAodDEuYSA9CiAgICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAgICAgICAgICAg ICBIYXNoIENvbmQ6ICgodDJfMS5hID0gdDFfMS5hKSBBTkQgKHQyXzEuYyA9IHQxXzEuYykpCiAg ICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0Ml9hZHZfcDEgdDJfMQorICAgICAgICAg ICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KGEsIGMpCiAgICAgICAgICAgICAgICAt PiAgSGFzaAorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgICAg ICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQxX2Fkdl9wMSB0MV8xCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBGaWx0ZXI6IChiIDwgMTApCiAgICAgICAgICAtPiAgSGFzaCBKb2luCiAg ICAgICAgICAgICAgICBIYXNoIENvbmQ6ICgodDJfMi5hID0gdDFfMi5hKSBBTkQgKHQyXzIuYyA9 IHQxXzIuYykpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0Ml9hZHZfcDIgdDJf MgorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDI6IGtleXM9KGEsIGMpCiAgICAg ICAgICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDIK ICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQxX2Fkdl9wMiB0MV8yCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiIDwgMTApCiAgICAgICAgICAtPiAg SGFzaCBKb2luCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICgodDJfMy5hID0gdDFfMy5hKSBB TkQgKHQyXzMuYyA9IHQxXzMuYykpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0 Ml9hZHZfcDMgdDJfMworICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDM6IGtleXM9 KGEsIGMpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAgICAgICAgQmxv b20gRmlsdGVyIDMKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQxX2Fk dl9wMyB0MV8zCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiIDwgMTApCi0o MjEgcm93cykKKygyNyByb3dzKQogCiBTRUxFQ1QgdDEuYSwgdDEuYywgdDIuYSwgdDIuYyBGUk9N IHBsdDFfYWR2IHQxIElOTkVSIEpPSU4gcGx0Ml9hZHYgdDIgT04gKHQxLmEgPSB0Mi5hIEFORCB0 MS5jID0gdDIuYykgV0hFUkUgdDEuYiA8IDEwIE9SREVSIEJZIHQxLmE7CiAgYSB8ICBjICAgfCBh IHwgIGMgICAKQEAgLTQ0MzEsMTkgKzQ3MDUsMjUgQEAgU0VMRUNUIHQxLmEsIHQxLmMsIHQyLmEs IHQyLmMgRlJPTSBwbHQxX2FkdiB0MSBMRUZUIEpPSU4gcGx0Ml9hZHYgdDIgT04gKHQxLmEgPQog ICAgICAgICAgLT4gIEhhc2ggUmlnaHQgSm9pbgogICAgICAgICAgICAgICAgSGFzaCBDb25kOiAo KHQyXzEuYSA9IHQxXzEuYSkgQU5EICh0Ml8xLmMgPSB0MV8xLmMpKQogICAgICAgICAgICAgICAg LT4gIFNlcSBTY2FuIG9uIHBsdDJfYWR2X3AxIHQyXzEKKyAgICAgICAgICAgICAgICAgICAgIEJs b29tIEZpbHRlciAxOiBrZXlzPShhLCBjKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAg ICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAgICAgICAtPiAg U2VxIFNjYW4gb24gcGx0MV9hZHZfcDEgdDFfMQogICAgICAgICAgICAgICAgICAgICAgICAgICAg RmlsdGVyOiAoYiA8IDEwKQogICAgICAgICAgLT4gIEhhc2ggUmlnaHQgSm9pbgogICAgICAgICAg ICAgICAgSGFzaCBDb25kOiAoKHQyXzIuYSA9IHQxXzIuYSkgQU5EICh0Ml8yLmMgPSB0MV8yLmMp KQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDJfYWR2X3AyIHQyXzIKKyAgICAg ICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyOiBrZXlzPShhLCBjKQogICAgICAgICAgICAg ICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyCiAgICAgICAg ICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0MV9hZHZfcDIgdDFfMgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA8IDEwKQogICAgICAgICAgLT4gIEhhc2ggUmln aHQgSm9pbgogICAgICAgICAgICAgICAgSGFzaCBDb25kOiAoKHQyXzMuYSA9IHQxXzMuYSkgQU5E ICh0Ml8zLmMgPSB0MV8zLmMpKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDJf YWR2X3AzIHQyXzMKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAzOiBrZXlzPShh LCBjKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgICAgICAgIEJsb29t IEZpbHRlciAzCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0MV9hZHZf cDMgdDFfMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA8IDEwKQogICAg ICAgICAgLT4gIE5lc3RlZCBMb29wIExlZnQgSm9pbgpAQCAtNDQ1MSw3ICs0NzMxLDcgQEAgU0VM RUNUIHQxLmEsIHQxLmMsIHQyLmEsIHQyLmMgRlJPTSBwbHQxX2FkdiB0MSBMRUZUIEpPSU4gcGx0 Ml9hZHYgdDIgT04gKHQxLmEgPQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDFf YWR2X2V4dHJhIHQxXzQKICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGIgPCAxMCkKICAg ICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQyX2Fkdl9leHRyYSB0Ml80Ci0oMjYgcm93 cykKKygzMiByb3dzKQogCiBTRUxFQ1QgdDEuYSwgdDEuYywgdDIuYSwgdDIuYyBGUk9NIHBsdDFf YWR2IHQxIExFRlQgSk9JTiBwbHQyX2FkdiB0MiBPTiAodDEuYSA9IHQyLmEgQU5EIHQxLmMgPSB0 Mi5jKSBXSEVSRSB0MS5iIDwgMTAgT1JERVIgQlkgdDEuYTsKICBhICB8ICBjICAgfCBhIHwgIGMg ICAKQEAgLTQ1MjUsMzEgKzQ4MDUsNDMgQEAgU0VMRUNUIHQxLmEsIHQxLmMsIHQyLmEsIHQyLmMs IHQzLmEsIHQzLmMgRlJPTSBwbHQxX2FkdiB0MSBMRUZUIEpPSU4gcGx0Ml9hZHYgdDIKICAgICAg ICAgIC0+ICBIYXNoIFJpZ2h0IEpvaW4KICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKCh0M18x LmEgPSB0MV8xLmEpIEFORCAodDNfMS5jID0gdDFfMS5jKSkKICAgICAgICAgICAgICAgIC0+ICBT ZXEgU2NhbiBvbiBwbHQxX2Fkdl9wMSB0M18xCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBG aWx0ZXIgMjoga2V5cz0oYSwgYykKICAgICAgICAgICAgICAgIC0+ICBIYXNoCisgICAgICAgICAg ICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMgogICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gg UmlnaHQgSm9pbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGFzaCBDb25kOiAoKHQyXzEu YSA9IHQxXzEuYSkgQU5EICh0Ml8xLmMgPSB0MV8xLmMpKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDJfYWR2X3AxIHQyXzEKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPShhLCBjKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2Vx IFNjYW4gb24gcGx0MV9hZHZfcDEgdDFfMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgRmlsdGVyOiAoYiA8IDEwKQogICAgICAgICAgLT4gIEhhc2ggUmlnaHQgSm9pbgog ICAgICAgICAgICAgICAgSGFzaCBDb25kOiAoKHQzXzIuYSA9IHQxXzIuYSkgQU5EICh0M18yLmMg PSB0MV8yLmMpKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDFfYWR2X3AyIHQz XzIKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciA0OiBrZXlzPShhLCBjKQogICAg ICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciA0 CiAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaCBSaWdodCBKb2luCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBIYXNoIENvbmQ6ICgodDJfMi5hID0gdDFfMi5hKSBBTkQgKHQyXzIuYyA9 IHQxXzIuYykpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0 Ml9hZHZfcDIgdDJfMgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmls dGVyIDM6IGtleXM9KGEsIGMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDMKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQxX2Fkdl9wMiB0MV8y CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiIDwgMTAp CiAgICAgICAgICAtPiAgSGFzaCBSaWdodCBKb2luCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6 ICgodDNfMy5hID0gdDFfMy5hKSBBTkQgKHQzXzMuYyA9IHQxXzMuYykpCiAgICAgICAgICAgICAg ICAtPiAgU2VxIFNjYW4gb24gcGx0MV9hZHZfcDMgdDNfMworICAgICAgICAgICAgICAgICAgICAg Qmxvb20gRmlsdGVyIDY6IGtleXM9KGEsIGMpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAorICAg ICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDYKICAgICAgICAgICAgICAgICAgICAgIC0+ ICBIYXNoIFJpZ2h0IEpvaW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29uZDog KCh0Ml8zLmEgPSB0MV8zLmEpIEFORCAodDJfMy5jID0gdDFfMy5jKSkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQyX2Fkdl9wMyB0Ml8zCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgNToga2V5cz0oYSwgYykKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBCbG9vbSBGaWx0ZXIgNQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg LT4gIFNlcSBTY2FuIG9uIHBsdDFfYWR2X3AzIHQxXzMKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEZpbHRlcjogKGIgPCAxMCkKICAgICAgICAgIC0+ICBOZXN0ZWQgTG9v cCBMZWZ0IEpvaW4KQEAgLTQ1NjAsNyArNDg1Miw3IEBAIFNFTEVDVCB0MS5hLCB0MS5jLCB0Mi5h LCB0Mi5jLCB0My5hLCB0My5jIEZST00gcGx0MV9hZHYgdDEgTEVGVCBKT0lOIHBsdDJfYWR2IHQy CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiIDwgMTApCiAgICAgICAgICAg ICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0Ml9hZHZfZXh0cmEgdDJfNAogICAgICAgICAg ICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDFfYWR2X2V4dHJhIHQzXzQKLSg0MSByb3dzKQorKDUz IHJvd3MpCiAKIFNFTEVDVCB0MS5hLCB0MS5jLCB0Mi5hLCB0Mi5jLCB0My5hLCB0My5jIEZST00g cGx0MV9hZHYgdDEgTEVGVCBKT0lOIHBsdDJfYWR2IHQyIE9OICh0MS5hID0gdDIuYSBBTkQgdDEu YyA9IHQyLmMpIExFRlQgSk9JTiBwbHQxX2FkdiB0MyBPTiAodDEuYSA9IHQzLmEgQU5EIHQxLmMg PSB0My5jKSBXSEVSRSB0MS5iIDwgMTAgT1JERVIgQlkgdDEuYTsKICBhICB8ICBjICAgfCBhIHwg IGMgICB8IGEgfCAgYyAgIApAQCAtNDU5NiwxNiArNDg4OCwyMCBAQCBTRUxFQ1QgdDEuYSwgdDEu YywgdDIuYSwgdDIuYyBGUk9NIHBsdDFfYWR2IHQxIElOTkVSIEpPSU4gcGx0Ml9hZHYgdDIgT04g KHQxLmEgPQogICAgICAgICAgLT4gIEhhc2ggSm9pbgogICAgICAgICAgICAgICAgSGFzaCBDb25k OiAoKHQyXzEuYSA9IHQxXzIuYSkgQU5EICh0Ml8xLmMgPSB0MV8yLmMpKQogICAgICAgICAgICAg ICAgLT4gIFNlcSBTY2FuIG9uIHBsdDJfYWR2X3AxIHQyXzEKKyAgICAgICAgICAgICAgICAgICAg IEJsb29tIEZpbHRlciAxOiBrZXlzPShhLCBjKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAg ICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAgICAgICAt PiAgU2VxIFNjYW4gb24gcGx0MV9hZHZfcDEgdDFfMgogICAgICAgICAgICAgICAgICAgICAgICAg ICAgRmlsdGVyOiAoYiA8IDEwKQogICAgICAgICAgLT4gIEhhc2ggSm9pbgogICAgICAgICAgICAg ICAgSGFzaCBDb25kOiAoKHQyXzIuYSA9IHQxXzEuYSkgQU5EICh0Ml8yLmMgPSB0MV8xLmMpKQog ICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDJfYWR2X3AyIHQyXzIKKyAgICAgICAg ICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyOiBrZXlzPShhLCBjKQogICAgICAgICAgICAgICAg LT4gIEhhc2gKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyCiAgICAgICAgICAg ICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0MV9hZHZfcDIgdDFfMQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA8IDEwKQotKDE1IHJvd3MpCisoMTkgcm93cykKIAog U0VMRUNUIHQxLmEsIHQxLmMsIHQyLmEsIHQyLmMgRlJPTSBwbHQxX2FkdiB0MSBJTk5FUiBKT0lO IHBsdDJfYWR2IHQyIE9OICh0MS5hID0gdDIuYSBBTkQgdDEuYyA9IHQyLmMpIFdIRVJFIHQxLmIg PCAxMCBPUkRFUiBCWSB0MS5hOwogIGEgfCAgYyAgIHwgYSB8ICBjICAgCkBAIC00Njg3LDI0ICs0 OTgzLDMyIEBAIFNFTEVDVCB0MS5hLCB0MS5jLCB0Mi5hLCB0Mi5jLCB0My5hLCB0My5jIEZST00g cGx0MV9hZHYgdDEgTEVGVCBKT0lOIHBsdDJfYWR2IHQyCiAgICAgICAgICAtPiAgSGFzaCBSaWdo dCBKb2luCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICgodDNfMS5hID0gdDFfMS5hKSBBTkQg KHQzXzEuYyA9IHQxXzEuYykpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0M19h ZHZfcDEgdDNfMQorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDI6IGtleXM9KGEs IGMpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAgICAgICAgQmxvb20g RmlsdGVyIDIKICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoIFJpZ2h0IEpvaW4KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKCh0Ml8yLmEgPSB0MV8xLmEpIEFORCAo dDJfMi5jID0gdDFfMS5jKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2Nh biBvbiBwbHQyX2Fkdl9wMiB0Ml8yCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBC bG9vbSBGaWx0ZXIgMToga2V5cz0oYSwgYykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ ICBIYXNoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDFfYWR2 X3AyIHQxXzEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjog KGIgPCAxMCkKICAgICAgICAgIC0+ICBIYXNoIFJpZ2h0IEpvaW4KICAgICAgICAgICAgICAgIEhh c2ggQ29uZDogKCh0M18yLmEgPSB0MV8yLmEpIEFORCAodDNfMi5jID0gdDFfMi5jKSkKICAgICAg ICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQzX2Fkdl9wMiB0M18yCisgICAgICAgICAgICAg ICAgICAgICBCbG9vbSBGaWx0ZXIgNDoga2V5cz0oYSwgYykKICAgICAgICAgICAgICAgIC0+ICBI YXNoCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgNAogICAgICAgICAgICAgICAg ICAgICAgLT4gIEhhc2ggUmlnaHQgSm9pbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGFz aCBDb25kOiAoKHQyXzEuYSA9IHQxXzIuYSkgQU5EICh0Ml8xLmMgPSB0MV8yLmMpKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDJfYWR2X3AxIHQyXzEKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAzOiBrZXlzPShhLCBj KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAzCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0MV9hZHZfcDEgdDFfMgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA8IDEwKQotKDIzIHJvd3MpCisoMzEg cm93cykKIAogU0VMRUNUIHQxLmEsIHQxLmMsIHQyLmEsIHQyLmMsIHQzLmEsIHQzLmMgRlJPTSBw bHQxX2FkdiB0MSBMRUZUIEpPSU4gcGx0Ml9hZHYgdDIgT04gKHQxLmEgPSB0Mi5hIEFORCB0MS5j ID0gdDIuYykgTEVGVCBKT0lOIHBsdDNfYWR2IHQzIE9OICh0MS5hID0gdDMuYSBBTkQgdDEuYyA9 IHQzLmMpIFdIRVJFIHQxLmIgPCAxMCBPUkRFUiBCWSB0MS5hOwogIGEgfCAgYyAgIHwgYSB8ICBj ICAgfCBhIHwgIGMgICAKQEAgLTQ3MzMsMTYgKzUwMzcsMjAgQEAgU0VMRUNUIHQxLmEsIHQxLmMs IHQyLmEsIHQyLmMgRlJPTSBwbHQxX2FkdiB0MSBJTk5FUiBKT0lOIHBsdDJfYWR2IHQyIE9OICh0 MS5hID0KICAgICAgICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAgICAgICAgIEhhc2ggQ29uZDog KCh0Ml8xLmEgPSB0MV8yLmEpIEFORCAodDJfMS5jID0gdDFfMi5jKSkKICAgICAgICAgICAgICAg IC0+ICBTZXEgU2NhbiBvbiBwbHQyX2Fkdl9wMV9udWxsIHQyXzEKKyAgICAgICAgICAgICAgICAg ICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPShhLCBjKQogICAgICAgICAgICAgICAgLT4gIEhhc2gK KyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAgICAg ICAtPiAgU2VxIFNjYW4gb24gcGx0MV9hZHZfcDEgdDFfMgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgRmlsdGVyOiAoYiA8IDEwKQogICAgICAgICAgLT4gIEhhc2ggSm9pbgogICAgICAgICAg ICAgICAgSGFzaCBDb25kOiAoKHQyXzIuYSA9IHQxXzEuYSkgQU5EICh0Ml8yLmMgPSB0MV8xLmMp KQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDJfYWR2X3AyIHQyXzIKKyAgICAg ICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyOiBrZXlzPShhLCBjKQogICAgICAgICAgICAg ICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyCiAgICAgICAg ICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0MV9hZHZfcDIgdDFfMQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA8IDEwKQotKDE1IHJvd3MpCisoMTkgcm93cykK IAogU0VMRUNUIHQxLmEsIHQxLmMsIHQyLmEsIHQyLmMgRlJPTSBwbHQxX2FkdiB0MSBJTk5FUiBK T0lOIHBsdDJfYWR2IHQyIE9OICh0MS5hID0gdDIuYSBBTkQgdDEuYyA9IHQyLmMpIFdIRVJFIHQx LmIgPCAxMCBPUkRFUiBCWSB0MS5hOwogIGEgfCAgYyAgIHwgYSB8ICBjICAgCkBAIC00NzY3LDEw ICs1MDc1LDEyIEBAIFNFTEVDVCB0MS5hLCB0MS5jLCB0Mi5hLCB0Mi5jIEZST00gcGx0MV9hZHYg dDEgSU5ORVIgSk9JTiBwbHQyX2FkdiB0MiBPTiAodDEuYSA9CiAgICAtPiAgSGFzaCBKb2luCiAg ICAgICAgICBIYXNoIENvbmQ6ICgodDIuYSA9IHQxLmEpIEFORCAodDIuYyA9IHQxLmMpKQogICAg ICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDJfYWR2X3AyIHQyCisgICAgICAgICAgICAgICBCbG9v bSBGaWx0ZXIgMToga2V5cz0oYSwgYykKICAgICAgICAgIC0+ICBIYXNoCisgICAgICAgICAgICAg ICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDFfYWR2 X3AyIHQxCiAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiIDwgMTApCi0oOCByb3dzKQor KDEwIHJvd3MpCiAKIFNFTEVDVCB0MS5hLCB0MS5jLCB0Mi5hLCB0Mi5jIEZST00gcGx0MV9hZHYg dDEgSU5ORVIgSk9JTiBwbHQyX2FkdiB0MiBPTiAodDEuYSA9IHQyLmEgQU5EIHQxLmMgPSB0Mi5j KSBXSEVSRSB0MS5iIDwgMTAgT1JERVIgQlkgdDEuYTsKICBhIHwgIGMgICB8IGEgfCAgYyAgIApA QCAtNDgwOSwxNiArNTExOSwyMCBAQCBTRUxFQ1QgdDEuYSwgdDEuYywgdDIuYSwgdDIuYyBGUk9N IHBsdDFfYWR2IHQxIElOTkVSIEpPSU4gcGx0Ml9hZHYgdDIgT04gKHQxLmEgPQogICAgICAgICAg LT4gIEhhc2ggSm9pbgogICAgICAgICAgICAgICAgSGFzaCBDb25kOiAoKHQyXzEuYSA9IHQxXzEu YSkgQU5EICh0Ml8xLmMgPSB0MV8xLmMpKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9u IHBsdDJfYWR2X3AzIHQyXzEKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBr ZXlzPShhLCBjKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgICAgICAg IEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0 MV9hZHZfcDMgdDFfMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoKGIgPCAx MCkgQU5EIChjID0gQU5ZICgnezAwMDMsMDAwNCwwMDA1fSc6OnRleHRbXSkpKQogICAgICAgICAg LT4gIEhhc2ggSm9pbgogICAgICAgICAgICAgICAgSGFzaCBDb25kOiAoKHQyXzIuYSA9IHQxXzIu YSkgQU5EICh0Ml8yLmMgPSB0MV8yLmMpKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9u IHBsdDJfYWR2X3A0IHQyXzIKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyOiBr ZXlzPShhLCBjKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgICAgICAg IEJsb29tIEZpbHRlciAyCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0 MV9hZHZfcDQgdDFfMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoKGIgPCAx MCkgQU5EIChjID0gQU5ZICgnezAwMDMsMDAwNCwwMDA1fSc6OnRleHRbXSkpKQotKDE1IHJvd3Mp CisoMTkgcm93cykKIAogU0VMRUNUIHQxLmEsIHQxLmMsIHQyLmEsIHQyLmMgRlJPTSBwbHQxX2Fk diB0MSBJTk5FUiBKT0lOIHBsdDJfYWR2IHQyIE9OICh0MS5hID0gdDIuYSBBTkQgdDEuYyA9IHQy LmMpIFdIRVJFIHQxLmMgSU4gKCcwMDAzJywgJzAwMDQnLCAnMDAwNScpIEFORCB0MS5iIDwgMTAg T1JERVIgQlkgdDEuYTsKICBhIHwgIGMgICB8IGEgfCAgYyAgIApAQCAtNDgzNywxMCArNTE1MSwx MiBAQCBTRUxFQ1QgdDEuYSwgdDEuYywgdDIuYSwgdDIuYyBGUk9NIHBsdDFfYWR2IHQxIExFRlQg Sk9JTiBwbHQyX2FkdiB0MiBPTiAodDEuYSA9CiAgICAtPiAgSGFzaCBSaWdodCBKb2luCiAgICAg ICAgICBIYXNoIENvbmQ6ICgodDIuYSA9IHQxLmEpIEFORCAodDIuYyA9IHQxLmMpKQogICAgICAg ICAgLT4gIFNlcSBTY2FuIG9uIHBsdDJfYWR2X3A0IHQyCisgICAgICAgICAgICAgICBCbG9vbSBG aWx0ZXIgMToga2V5cz0oYSwgYykKICAgICAgICAgIC0+ICBIYXNoCisgICAgICAgICAgICAgICBC bG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDFfYWR2X3A0 IHQxCiAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6ICgoYyBJUyBOVUxMKSBBTkQgKGIgPCAx MCkpCi0oOCByb3dzKQorKDEwIHJvd3MpCiAKIFNFTEVDVCB0MS5hLCB0MS5jLCB0Mi5hLCB0Mi5j IEZST00gcGx0MV9hZHYgdDEgTEVGVCBKT0lOIHBsdDJfYWR2IHQyIE9OICh0MS5hID0gdDIuYSBB TkQgdDEuYyA9IHQyLmMpIFdIRVJFIHQxLmMgSVMgTlVMTCBBTkQgdDEuYiA8IDEwIE9SREVSIEJZ IHQxLmE7CiAgYSAgfCBjIHwgYSB8IGMgCkBAIC00ODYyLDE2ICs1MTc4LDIwIEBAIFNFTEVDVCB0 MS5hLCB0MS5jLCB0Mi5hLCB0Mi5jIEZST00gcGx0MV9hZHYgdDEgSU5ORVIgSk9JTiBwbHQyX2Fk diB0MiBPTiAodDEuYSA9CiAgICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAgICAgICAgICAgICBI YXNoIENvbmQ6ICgodDJfMS5hID0gdDFfMS5hKSBBTkQgKHQyXzEuYyA9IHQxXzEuYykpCiAgICAg ICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0Ml9hZHZfcDMgdDJfMQorICAgICAgICAgICAg ICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KGEsIGMpCiAgICAgICAgICAgICAgICAtPiAg SGFzaAorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgICAgICAg ICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQxX2Fkdl9wMyB0MV8xCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBGaWx0ZXI6ICgoYiA8IDEwKSBBTkQgKGMgPSBBTlkgKCd7MDAwMywwMDA0LDAw MDV9Jzo6dGV4dFtdKSkpCiAgICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAgICAgICAgICAgICBI YXNoIENvbmQ6ICgodDJfMi5hID0gdDFfMi5hKSBBTkQgKHQyXzIuYyA9IHQxXzIuYykpCiAgICAg ICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0Ml9hZHZfcDQgdDJfMgorICAgICAgICAgICAg ICAgICAgICAgQmxvb20gRmlsdGVyIDI6IGtleXM9KGEsIGMpCiAgICAgICAgICAgICAgICAtPiAg SGFzaAorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDIKICAgICAgICAgICAgICAg ICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQxX2Fkdl9wNCB0MV8yCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBGaWx0ZXI6ICgoYiA8IDEwKSBBTkQgKGMgPSBBTlkgKCd7MDAwMywwMDA0LDAw MDV9Jzo6dGV4dFtdKSkpCi0oMTUgcm93cykKKygxOSByb3dzKQogCiBTRUxFQ1QgdDEuYSwgdDEu YywgdDIuYSwgdDIuYyBGUk9NIHBsdDFfYWR2IHQxIElOTkVSIEpPSU4gcGx0Ml9hZHYgdDIgT04g KHQxLmEgPSB0Mi5hIEFORCB0MS5jID0gdDIuYykgV0hFUkUgdDEuYyBJTiAoJzAwMDMnLCAnMDAw NCcsICcwMDA1JykgQU5EIHQxLmIgPCAxMCBPUkRFUiBCWSB0MS5hOwogIGEgfCAgYyAgIHwgYSB8 ICBjICAgCkBAIC00ODkwLDEwICs1MjEwLDEyIEBAIFNFTEVDVCB0MS5hLCB0MS5jLCB0Mi5hLCB0 Mi5jIEZST00gcGx0MV9hZHYgdDEgTEVGVCBKT0lOIHBsdDJfYWR2IHQyIE9OICh0MS5hID0KICAg IC0+ICBIYXNoIFJpZ2h0IEpvaW4KICAgICAgICAgIEhhc2ggQ29uZDogKCh0Mi5hID0gdDEuYSkg QU5EICh0Mi5jID0gdDEuYykpCiAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0Ml9hZHZfcDQg dDIKKyAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPShhLCBjKQogICAgICAgICAg LT4gIEhhc2gKKyAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAt PiAgU2VxIFNjYW4gb24gcGx0MV9hZHZfcDQgdDEKICAgICAgICAgICAgICAgICAgICAgIEZpbHRl cjogKChjIElTIE5VTEwpIEFORCAoYiA8IDEwKSkKLSg4IHJvd3MpCisoMTAgcm93cykKIAogU0VM RUNUIHQxLmEsIHQxLmMsIHQyLmEsIHQyLmMgRlJPTSBwbHQxX2FkdiB0MSBMRUZUIEpPSU4gcGx0 Ml9hZHYgdDIgT04gKHQxLmEgPSB0Mi5hIEFORCB0MS5jID0gdDIuYykgV0hFUkUgdDEuYyBJUyBO VUxMIEFORCB0MS5iIDwgMTAgT1JERVIgQlkgdDEuYTsKICBhICB8IGMgfCBhIHwgYyAKQEAgLTUw MTUsMTIgKzUzMzcsMTYgQEAgU0VMRUNUIHQxLiosIHQyLiogRlJPTSBhbHBoYSB0MSBJTk5FUiBK T0lOIGJldGEgdDIgT04gKHQxLmEgPSB0Mi5hIEFORCB0MS5iID0gdDIKICAgICAgICAgICAgICAg IEhhc2ggQ29uZDogKCh0MV8xLmEgPSB0Ml8xLmEpIEFORCAodDFfMS5iID0gdDJfMS5iKSkKICAg ICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBhbHBoYV9uZWdfcDEgdDFfMQogICAgICAgICAg ICAgICAgICAgICAgRmlsdGVyOiAoKGIgPj0gMTI1KSBBTkQgKGIgPCAyMjUpKQorICAgICAgICAg ICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KGEsIGIpCiAgICAgICAgICAgICAgICAt PiAgSGFzaAorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgICAg ICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBiZXRhX25lZ19wMSB0Ml8xCiAgICAgICAgICAtPiAg SGFzaCBKb2luCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICgodDJfMi5hID0gdDFfMi5hKSBB TkQgKHQyXzIuYiA9IHQxXzIuYikpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gYmV0 YV9uZWdfcDIgdDJfMgorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDI6IGtleXM9 KGEsIGIpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAgICAgICAgQmxv b20gRmlsdGVyIDIKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBhbHBoYV9u ZWdfcDIgdDFfMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoKGIgPj0gMTI1 KSBBTkQgKGIgPCAyMjUpKQogICAgICAgICAgLT4gIEhhc2ggSm9pbgpAQCAtNTAzNyw3ICs1MzYz LDcgQEAgU0VMRUNUIHQxLiosIHQyLiogRlJPTSBhbHBoYSB0MSBJTk5FUiBKT0lOIGJldGEgdDIg T04gKHQxLmEgPSB0Mi5hIEFORCB0MS5iID0gdDIKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEZpbHRlcjogKChiID49IDEyNSkgQU5EIChiIDwgMjI1KSkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBhbHBoYV9wb3NfcDMgdDFfNgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoKGIgPj0gMTI1KSBBTkQgKGIgPCAyMjUp KQotKDI5IHJvd3MpCisoMzMgcm93cykKIAogU0VMRUNUIHQxLiosIHQyLiogRlJPTSBhbHBoYSB0 MSBJTk5FUiBKT0lOIGJldGEgdDIgT04gKHQxLmEgPSB0Mi5hIEFORCB0MS5iID0gdDIuYikgV0hF UkUgdDEuYiA+PSAxMjUgQU5EIHQxLmIgPCAyMjUgT1JERVIgQlkgdDEuYSwgdDEuYjsKICBhICB8 ICBiICB8ICBjICAgfCBhICB8ICBiICB8ICBjICAgCkBAIC01MTUwLDE0ICs1NDc2LDE4IEBAIFNF TEVDVCB0MS4qLCB0Mi4qIEZST00gYWxwaGEgdDEgSU5ORVIgSk9JTiBiZXRhIHQyIE9OICh0MS5h ID0gdDIuYSBBTkQgdDEuYiA9IHQyCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICgodDFfMS5h ID0gdDJfMS5hKSBBTkQgKHQxXzEuYiA9IHQyXzEuYikgQU5EICh0MV8xLmMgPSB0Ml8xLmMpKQog ICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIGFscGhhX25lZ19wMSB0MV8xCiAgICAgICAg ICAgICAgICAgICAgICBGaWx0ZXI6ICgoYyA9IEFOWSAoJ3swMDA0LDAwMDl9Jzo6dGV4dFtdKSkg QU5EICgoKGIgPj0gMTAwKSBBTkQgKGIgPCAxMTApKSBPUiAoKGIgPj0gMjAwKSBBTkQgKGIgPCAy MTApKSkpCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0oYSwgYiwg YykKICAgICAgICAgICAgICAgIC0+ICBIYXNoCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBG aWx0ZXIgMQogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIGJldGFfbmVnX3Ax IHQyXzEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKCgoYiA+PSAxMDApIEFO RCAoYiA8IDExMCkpIE9SICgoYiA+PSAyMDApIEFORCAoYiA8IDIxMCkpKQogICAgICAgICAgLT4g IEhhc2ggSm9pbgogICAgICAgICAgICAgICAgSGFzaCBDb25kOiAoKHQxXzIuYSA9IHQyXzIuYSkg QU5EICh0MV8yLmIgPSB0Ml8yLmIpIEFORCAodDFfMi5jID0gdDJfMi5jKSkKICAgICAgICAgICAg ICAgIC0+ICBTZXEgU2NhbiBvbiBhbHBoYV9uZWdfcDIgdDFfMgogICAgICAgICAgICAgICAgICAg ICAgRmlsdGVyOiAoKGMgPSBBTlkgKCd7MDAwNCwwMDA5fSc6OnRleHRbXSkpIEFORCAoKChiID49 IDEwMCkgQU5EIChiIDwgMTEwKSkgT1IgKChiID49IDIwMCkgQU5EIChiIDwgMjEwKSkpKQorICAg ICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDI6IGtleXM9KGEsIGIsIGMpCiAgICAgICAg ICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDIKICAg ICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBiZXRhX25lZ19wMiB0Ml8yCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6ICgoKGIgPj0gMTAwKSBBTkQgKGIgPCAxMTAp KSBPUiAoKGIgPj0gMjAwKSBBTkQgKGIgPCAyMTApKSkKICAgICAgICAgIC0+ICBOZXN0ZWQgTG9v cApAQCAtNTE3Miw3ICs1NTAyLDcgQEAgU0VMRUNUIHQxLiosIHQyLiogRlJPTSBhbHBoYSB0MSBJ Tk5FUiBKT0lOIGJldGEgdDIgT04gKHQxLmEgPSB0Mi5hIEFORCB0MS5iID0gdDIKICAgICAgICAg ICAgICAgICAgICAgIEZpbHRlcjogKChjID0gQU5ZICgnezAwMDQsMDAwOX0nOjp0ZXh0W10pKSBB TkQgKCgoYiA+PSAxMDApIEFORCAoYiA8IDExMCkpIE9SICgoYiA+PSAyMDApIEFORCAoYiA8IDIx MCkpKSkKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBiZXRhX3Bvc19wMyB0Ml80CiAg ICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6ICgoKGIgPj0gMTAwKSBBTkQgKGIgPCAxMTApKSBP UiAoKGIgPj0gMjAwKSBBTkQgKGIgPCAyMTApKSkKLSgyOSByb3dzKQorKDMzIHJvd3MpCiAKIFNF TEVDVCB0MS4qLCB0Mi4qIEZST00gYWxwaGEgdDEgSU5ORVIgSk9JTiBiZXRhIHQyIE9OICh0MS5h ID0gdDIuYSBBTkQgdDEuYiA9IHQyLmIgQU5EIHQxLmMgPSB0Mi5jKSBXSEVSRSAoKHQxLmIgPj0g MTAwIEFORCB0MS5iIDwgMTEwKSBPUiAodDEuYiA+PSAyMDAgQU5EIHQxLmIgPCAyMTApKSBBTkQg KCh0Mi5iID49IDEwMCBBTkQgdDIuYiA8IDExMCkgT1IgKHQyLmIgPj0gMjAwIEFORCB0Mi5iIDwg MjEwKSkgQU5EIHQxLmMgSU4gKCcwMDA0JywgJzAwMDknKSBPUkRFUiBCWSB0MS5hLCB0MS5iOwog IGEgIHwgIGIgIHwgIGMgICB8IGEgIHwgIGIgIHwgIGMgICAKQEAgLTUzMTYsMTkgKzU2NDYsMjUg QEAgRVhQTEFJTiAoQ09TVFMgT0ZGKSBTRUxFQ1QgKiBGUk9NIHBodDEgcDEgSk9JTiBwaHQxIHAy IFVTSU5HIChjKSBMSU1JVCAxMDAwOwogICAgICAgICAgLT4gIEhhc2ggSm9pbgogICAgICAgICAg ICAgICAgSGFzaCBDb25kOiAocDFfMS5jID0gcDJfMS5jKQogICAgICAgICAgICAgICAgLT4gIFNl cSBTY2FuIG9uIHBodDFfcDEgcDFfMQorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVy IDE6IGtleXM9KGMpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAgICAg ICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBw aHQxX3AxIHAyXzEKICAgICAgICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAgICAgICAgIEhhc2gg Q29uZDogKHAxXzIuYyA9IHAyXzIuYykKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBw aHQxX3AyIHAxXzIKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyOiBrZXlzPShj KQogICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZp bHRlciAyCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGh0MV9wMiBwMl8y CiAgICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6IChwMV8z LmMgPSBwMl8zLmMpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGh0MV9wMyBwMV8z CisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMzoga2V5cz0oYykKICAgICAgICAg ICAgICAgIC0+ICBIYXNoCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMwogICAg ICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBodDFfcDMgcDJfMwotKDE3IHJvd3Mp CisoMjMgcm93cykKIAogUkVTRVQgZW5hYmxlX21lcmdlam9pbjsKIFNFVCBtYXhfcGFyYWxsZWxf d29ya2Vyc19wZXJfZ2F0aGVyID0gMTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQvcHJlZGljYXRlLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHJlZGljYXRl Lm91dAppbmRleCBmZWFlNzdjYjg0MC4uMDc5ZjY0MjJmZGMgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQvcHJlZGljYXRlLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL3ByZWRpY2F0ZS5vdXQKQEAgLTc0OCwxNCArNzQ4LDE2IEBAIFNFTEVDVCBpZCBGUk9N IGRpc3RfdGFiIFdIRVJFIHJvd19ubiBJUyBESVNUSU5DVCBGUk9NIFJPVygxLCA1KTo6ZGlzdF9y b3dfdDsKIFNFVCBlbmFibGVfbmVzdGxvb3AgVE8gb2ZmOwogRVhQTEFJTiAoQ09TVFMgT0ZGKQog U0VMRUNUICogRlJPTSBkaXN0X3RhYiB0MSBKT0lOIGRpc3RfdGFiIHQyIE9OIHQxLnZhbF9ubiBJ UyBOT1QgRElTVElOQ1QgRlJPTSB0Mi52YWxfbm47Ci0gICAgICAgICAgICAgIFFVRVJZIFBMQU4g ICAgICAgICAgICAgIAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAg ICAgICAgICAgICAgUVVFUlkgUExBTiAgICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgSGFzaCBKb2luCiAgICBIYXNoIENvbmQ6ICh0MS52YWxf bm4gPSB0Mi52YWxfbm4pCiAgICAtPiAgU2VxIFNjYW4gb24gZGlzdF90YWIgdDEKKyAgICAgICAg IEJsb29tIEZpbHRlciAxOiBrZXlzPSh2YWxfbm4pCiAgICAtPiAgSGFzaAorICAgICAgICAgQmxv b20gRmlsdGVyIDEKICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBkaXN0X3RhYiB0MgotKDUgcm93 cykKKyg3IHJvd3MpCiAKIFNFTEVDVCAqIEZST00gZGlzdF90YWIgdDEgSk9JTiBkaXN0X3RhYiB0 MiBPTiB0MS52YWxfbm4gSVMgTk9UIERJU1RJTkNUIEZST00gdDIudmFsX25uOwogIGlkIHwgdmFs X25uIHwgdmFsX251bGwgfCByb3dfbm4gfCBpZCB8IHZhbF9ubiB8IHZhbF9udWxsIHwgcm93X25u IApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wcml2aWxlZ2VzLm91dCBi L3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHJpdmlsZWdlcy5vdXQKaW5kZXggZjZjYzFhMTAy OWMuLmNiMDM5NjZlNzliIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3By aXZpbGVnZXMub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHJpdmlsZWdlcy5v dXQKQEAgLTYxOCwxMCArNjE4LDEyIEBAIEVYUExBSU4gKENPU1RTIE9GRikgU0VMRUNUICogRlJP TSBhdGVzdDEyIHgsIGF0ZXN0MTIgeQogIEhhc2ggSm9pbgogICAgSGFzaCBDb25kOiAoeC5hID0g eS5iKQogICAgLT4gIFNlcSBTY2FuIG9uIGF0ZXN0MTIgeAorICAgICAgICAgQmxvb20gRmlsdGVy IDE6IGtleXM9KGEpCiAgICAtPiAgSGFzaAorICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAg ICAgIC0+ICBTZXEgU2NhbiBvbiBhdGVzdDEyIHkKICAgICAgICAgICAgICAgIEZpbHRlcjogKGFi cyhhKSA8PDwgNSkKLSg2IHJvd3MpCisoOCByb3dzKQogCiAtLSBjbGVhbiB1cCAocmVncmVzc19w cml2X3VzZXIxJ3Mgb2JqZWN0cyBhcmUgYWxsIGRyb3BwZWQgbGF0ZXIpCiBEUk9QIEZVTkNUSU9O IGxlYWsyKGludGVnZXIsIGludGVnZXIpIENBU0NBREU7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL3JldHVybmluZy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L3JldHVybmluZy5vdXQKaW5kZXggY2E4M2Q5ZmNjMDkuLmRjNDQ4NzFiNjgyIDEwMDY0NAotLS0g YS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3JldHVybmluZy5vdXQKKysrIGIvc3JjL3Rlc3Qv cmVncmVzcy9leHBlY3RlZC9yZXR1cm5pbmcub3V0CkBAIC03MTksOCArNzE5LDEwIEBAIFVQREFU RSBqb2ludmlldyBTRVQgZjMgPSBmMyArIDEgV0hFUkUgZjMgPSA1NwogICAgICAgICAgICAgICAg SGFzaCBDb25kOiAoam9pbm1lXzEuZjJqID0gZm9vXzEuZjIpCiAgICAgICAgICAgICAgICAtPiAg U2VxIFNjYW4gb24gcGdfdGVtcC5qb2lubWUgam9pbm1lXzEKICAgICAgICAgICAgICAgICAgICAg IE91dHB1dDogam9pbm1lXzEuY3RpZCwgam9pbm1lXzEuZjJqCisgICAgICAgICAgICAgICAgICAg ICBCbG9vbSBGaWx0ZXIgMToga2V5cz0oam9pbm1lXzEuZjJqKQogICAgICAgICAgICAgICAgLT4g IEhhc2gKICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogZm9vXzEuZjIsIGZvb18xLnRhYmxl b2lkLCBmb29fMS5jdGlkCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAg ICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBnX3RlbXAuZm9vIGZvb18xCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IGZvb18xLmYyLCBmb29fMS50YWJsZW9pZCwg Zm9vXzEuY3RpZAogICAgICAgICAgLT4gIEhhc2gKQEAgLTczMCwxMiArNzMyLDE0IEBAIFVQREFU RSBqb2ludmlldyBTRVQgZjMgPSBmMyArIDEgV0hFUkUgZjMgPSA1NwogICAgICAgICAgICAgICAg ICAgICAgSGFzaCBDb25kOiAoam9pbm1lLmYyaiA9IGZvb18yLmYyKQogICAgICAgICAgICAgICAg ICAgICAgLT4gIFNlcSBTY2FuIG9uIHBnX3RlbXAuam9pbm1lCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBPdXRwdXQ6IGpvaW5tZS5jdGlkLCBqb2lubWUub3RoZXIsIGpvaW5tZS5mMmoKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyOiBrZXlzPShqb2lubWUuZjJq KQogICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIE91dHB1dDogZm9vXzIuZjEsIGZvb18yLmYzLCBmb29fMi5jdGlkLCBmb29fMi5mMiwgZm9v XzIudGFibGVvaWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGdfdGVtcC5mb28gZm9v XzIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogZm9vXzIuZjEsIGZv b18yLmYzLCBmb29fMi5jdGlkLCBmb29fMi5mMiwgZm9vXzIudGFibGVvaWQKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGZvb18yLmYzID0gNTcpCi0oMjcgcm93cykK KygzMSByb3dzKQogCiBVUERBVEUgam9pbnZpZXcgU0VUIGYzID0gZjMgKyAxIFdIRVJFIGYzID0g NTcKICAgUkVUVVJOSU5HIG9sZC4qLCBuZXcuKiwgKiwgbmV3LmYzIC0gb2xkLmYzIEFTIGRlbHRh X2YzOwpAQCAtNzkzLDEyICs3OTcsMTQgQEAgVVBEQVRFIGpvaW52aWV3IFNFVCBmMyA9IGYzICsg MSwgZjQgPSA3IFdIRVJFIGYzID0gNTgKICAgICAgICAgIEhhc2ggQ29uZDogKGpvaW5tZS5mMmog PSBmb28uZjIpCiAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGdfdGVtcC5qb2lubWUKICAgICAg ICAgICAgICAgIE91dHB1dDogam9pbm1lLm90aGVyLCBqb2lubWUuY3RpZCwgam9pbm1lLmYyagor ICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KGpvaW5tZS5mMmopCiAgICAgICAg ICAtPiAgSGFzaAogICAgICAgICAgICAgICAgT3V0cHV0OiBmb28uZjMsIGZvby5mMSwgZm9vLmYy LCBmb28uZjQsIGZvby5jdGlkLCBmb28udGFibGVvaWQKKyAgICAgICAgICAgICAgIEJsb29tIEZp bHRlciAxCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGdfdGVtcC5mb28KICAgICAg ICAgICAgICAgICAgICAgIE91dHB1dDogZm9vLmYzLCBmb28uZjEsIGZvby5mMiwgZm9vLmY0LCBm b28uY3RpZCwgZm9vLnRhYmxlb2lkCiAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChmb28u ZjMgPSA1OCkKLSgxMiByb3dzKQorKDE0IHJvd3MpCiAKIFVQREFURSBqb2ludmlldyBTRVQgZjMg PSBmMyArIDEsIGY0ID0gNyBXSEVSRSBmMyA9IDU4CiAgIFJFVFVSTklORyBvbGQuKiwgbmV3Lios ICosIG5ldy5mMyAtIG9sZC5mMyBBUyBkZWx0YV9mMzsgIC0tIHNob3VsZCBzdWNjZWVkCmRpZmYg LS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Jvd3NlY3VyaXR5Lm91dCBiL3NyYy90 ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcm93c2VjdXJpdHkub3V0CmluZGV4IDNhNWU4MmMzNWJkLi40 ZDY5ZDFjZDg0YiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9yb3dzZWN1 cml0eS5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9yb3dzZWN1cml0eS5vdXQK QEAgLTEsNiArMSw4IEBACiAtLQogLS0gVGVzdCBvZiBSb3ctbGV2ZWwgc2VjdXJpdHkgZmVhdHVy ZQogLS0KKy0tIGRpc2FibGUgYmxvb20gZmlsdGVyIHB1c2hkb3duLCB0byBub3QgaW50ZXJmZXJl IHdpdGggY2FsbHMgdG8gZnVuY3Rpb25zCitTRVQgZW5hYmxlX2hhc2hqb2luX2Jsb29tID0gb2Zm OwogLS0gQ2xlYW4gdXAgaW4gY2FzZSBhIHByaW9yIHJlZ3Jlc3Npb24gcnVuIGZhaWxlZAogLS0g U3VwcHJlc3MgTk9USUNFIG1lc3NhZ2VzIHdoZW4gdXNlcnMvZ3JvdXBzIGRvbid0IGV4aXN0CiBT RVQgY2xpZW50X21pbl9tZXNzYWdlcyBUTyAnd2FybmluZyc7CmRpZmYgLS1naXQgYS9zcmMvdGVz dC9yZWdyZXNzL2V4cGVjdGVkL3NlbGVjdF92aWV3cy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL3NlbGVjdF92aWV3cy5vdXQKaW5kZXggMWFlZWQ4NDUyYmQuLmZlN2JlOTg5MWQ1IDEw MDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3NlbGVjdF92aWV3cy5vdXQKKysr IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zZWxlY3Rfdmlld3Mub3V0CkBAIC0yLDYgKzIs OCBAQAogLS0gU0VMRUNUX1ZJRVdTCiAtLSB0ZXN0IHRoZSB2aWV3cyBkZWZpbmVkIGluIENSRUFU RV9WSUVXUwogLS0KKy0tIGRpc2FibGUgYmxvb20gZmlsdGVyIHB1c2hkb3duLCB0byBub3QgaW50 ZXJmZXJlIHdpdGggY2FsbHMgdG8gZnVuY3Rpb25zCitTRVQgZW5hYmxlX2hhc2hqb2luX2Jsb29t ID0gb2ZmOwogU0VMRUNUICogRlJPTSBzdHJlZXQ7CiAgICAgICAgICAgICAgICAgbmFtZSAgICAg ICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZXBh dGggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICBjbmFtZSAgIAog LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQvc3RhdHNfZXh0Lm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc3RhdHNfZXh0 Lm91dAppbmRleCAzNzA3MGMxYTg5Ni4uMTFjZjU2ZmRiYTQgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQvc3RhdHNfZXh0Lm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL3N0YXRzX2V4dC5vdXQKQEAgLTM2MzMsOSArMzYzMywxMSBAQCBTRUxFQ1QgKiBGUk9N IHNiXzEgYSwgc2JfMiBiIFdIRVJFIGEueCA9IGIueCBBTkQgYS55ID0gYi55IEFORCBhLnogPSBi Lno7CiAgSGFzaCBKb2luCiAgICBIYXNoIENvbmQ6ICgoYS54ID0gYi54KSBBTkQgKGEueSA9IGIu eSkgQU5EIChhLnogPSBiLnopKQogICAgLT4gIFNlcSBTY2FuIG9uIHNiXzEgYQorICAgICAgICAg Qmxvb20gRmlsdGVyIDE6IGtleXM9KHgsIHksIHopCiAgICAtPiAgSGFzaAorICAgICAgICAgQmxv b20gRmlsdGVyIDEKICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBzYl8yIGIKLSg1IHJvd3MpCiso NyByb3dzKQogCiAtLSBDaGVjayB0aGF0IHRoZSBIYXNoIEpvaW4gYnVja2V0IHNpemUgZXN0aW1h dG9yIGRldGVjdHMgZXF1YWwgY2xhdXNlcyBjb3JyZWN0bHkuCiBTRVQgZW5hYmxlX25lc3Rsb29w ID0gJ29mZic7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3N1YnNlbGVj dC5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3N1YnNlbGVjdC5vdXQKaW5kZXggYTM3 NzhjMjNjMzQuLjVjN2Q0OTA1MGRiIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL3N1YnNlbGVjdC5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zdWJzZWxl Y3Qub3V0CkBAIC00MDYsOSArNDA2LDExIEBAIHNlbGVjdCAqIGZyb20gaW50NF90YmwgbyB3aGVy ZSBleGlzdHMKICBIYXNoIFNlbWkgSm9pbgogICAgSGFzaCBDb25kOiAoby5mMSA9IGkuZjEpCiAg ICAtPiAgU2VxIFNjYW4gb24gaW50NF90YmwgbworICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtl eXM9KGYxKQogICAgLT4gIEhhc2gKKyAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAt PiAgU2VxIFNjYW4gb24gaW50NF90YmwgaQotKDUgcm93cykKKyg3IHJvd3MpCiAKIGV4cGxhaW4g KGNvc3RzIG9mZikKIHNlbGVjdCAqIGZyb20gaW50NF90YmwgbyB3aGVyZSBub3QgZXhpc3RzCkBA IC03ODMsMTQgKzc4NSwxNiBAQCBvcmRlciBieSB0MS5hLCB0Mi5hOwogICAgICAgICAgICAgICAg ICAgICAgSGFzaCBDb25kOiAodDIuYSA9ICh0My5iICsgMSkpCiAgICAgICAgICAgICAgICAgICAg ICAtPiAgU2VxIFNjYW4gb24gcHVibGljLnNlbWlqb2luX3VuaXF1ZV90YmwgdDIKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDIuYSwgdDIuYgorICAgICAgICAgICAgICAgICAg ICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KHQyLmEpCiAgICAgICAgICAgICAgICAgICAg ICAtPiAgSGFzaAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0My5hLCB0My5i CisgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgLT4gIEhhc2hBZ2dyZWdhdGUKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIE91dHB1dDogdDMuYSwgdDMuYgogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgR3JvdXAgS2V5OiAodDMuYSArIDEpLCAodDMuYiArIDEpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLnNlbWlqb2luX3VuaXF1ZV90 YmwgdDMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDMu YSwgdDMuYiwgKHQzLmEgKyAxKSwgKHQzLmIgKyAxKQotKDI0IHJvd3MpCisoMjYgcm93cykKIAog LS0gZW5jb3VyYWdlIHVzZSBvZiBwYXJhbGxlbCBwbGFucwogc2V0IHBhcmFsbGVsX3NldHVwX2Nv c3Q9MDsKQEAgLTIxNzYsMTEgKzIxODAsMTMgQEAgb3JkZXIgYnkgdDEudGVuOwogICAgICAgICAg ICAgICAgSGFzaCBDb25kOiAodDIuZml2ZXRob3VzID0gdDEudW5pcXVlMSkKICAgICAgICAgICAg ICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMudGVuazEgdDIKICAgICAgICAgICAgICAgICAgICAg IE91dHB1dDogdDIudW5pcXVlMSwgdDIudW5pcXVlMiwgdDIudHdvLCB0Mi5mb3VyLCB0Mi50ZW4s IHQyLnR3ZW50eSwgdDIuaHVuZHJlZCwgdDIudGhvdXNhbmQsIHQyLnR3b3Rob3VzYW5kLCB0Mi5m aXZldGhvdXMsIHQyLnRlbnRob3VzLCB0Mi5vZGQsIHQyLmV2ZW4sIHQyLnN0cmluZ3UxLCB0Mi5z dHJpbmd1MiwgdDIuc3RyaW5nNAorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6 IGtleXM9KHQyLmZpdmV0aG91cykKICAgICAgICAgICAgICAgIC0+ICBIYXNoCiAgICAgICAgICAg ICAgICAgICAgICBPdXRwdXQ6IHQxLnRlbiwgdDEudW5pcXVlMQorICAgICAgICAgICAgICAgICAg ICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBw dWJsaWMudGVuazEgdDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDEudGVu LCB0MS51bmlxdWUxCi0oMTUgcm93cykKKygxNyByb3dzKQogCiBzZWxlY3QgdDEudGVuLCBzdW0o eCkgZnJvbQogICB0ZW5rMSB0MSBsZWZ0IGpvaW4gbGF0ZXJhbCAoCkBAIC0yMjc1LDE1ICsyMjgx LDE5IEBAIG9yZGVyIGJ5IDEsIDI7CiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0Mi5xMiA9 IHQzLnEyKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5pbnQ4X3RibCB0 MgogICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0Mi5xMSwgdDIucTIKKyAgICAgICAgICAg ICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPSh0Mi5xMikKKyAgICAgICAgICAgICAgICAg ICAgIEJsb29tIEZpbHRlciAyOiBrZXlzPSh0Mi5xMikKICAgICAgICAgICAgICAgIC0+ICBIYXNo CiAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQzLnEyCisgICAgICAgICAgICAgICAgICAg ICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1 YmxpYy5pbnQ4X3RibCB0MwogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0My5x MgogICAgICAgICAgLT4gIEhhc2gKICAgICAgICAgICAgICAgIE91dHB1dDogdDEucTEsIHQxLnEy CisgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMgogICAgICAgICAgICAgICAgLT4gIFNlcSBT Y2FuIG9uIHB1YmxpYy5pbnQ4X3RibCB0MQogICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0 MS5xMSwgdDEucTIKLSgxOSByb3dzKQorKDIzIHJvd3MpCiAKIHNlbGVjdCB0MS5xMSwgeCBmcm9t CiAgIGludDhfdGJsIHQxIGxlZnQgam9pbgpAQCAtMjMyNiwxNCArMjMzNiwxNiBAQCBvcmRlciBi eSAxLCAyOwogICAgICAgICAgICAgICAgT3V0cHV0OiB0Mi5xMiwgKCh0Mi5xMSArIDEpKQogICAg ICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5pbnQ4X3RibCB0MgogICAgICAgICAg ICAgICAgICAgICAgT3V0cHV0OiB0Mi5xMSwgdDIucTIKKyAgICAgICAgICAgICAgICAgICAgIEJs b29tIEZpbHRlciAxOiBrZXlzPSh0Mi5xMikKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBv biBwdWJsaWMuaW50OF90YmwgdDMKICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDMucTIs ICh0Mi5xMSArIDEpCiAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6ICh0Mi5xMiA9IHQzLnEy KQogICAgICAgICAgLT4gIEhhc2gKICAgICAgICAgICAgICAgIE91dHB1dDogdDEucTEsIHQxLnEy CisgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAgICAgLT4gIFNlcSBT Y2FuIG9uIHB1YmxpYy5pbnQ4X3RibCB0MQogICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0 MS5xMSwgdDEucTIKLSgxNyByb3dzKQorKDE5IHJvd3MpCiAKIHNlbGVjdCB0MS5xMSwgeCBmcm9t CiAgIGludDhfdGJsIHQxIGxlZnQgam9pbgpAQCAtMjM3OCwxNSArMjM5MCwxOSBAQCBvcmRlciBi eSAxLCAyOwogICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDIucTIgPSB0My5xMSkKICAgICAg ICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuaW50OF90YmwgdDIKICAgICAgICAgICAg ICAgICAgICAgIE91dHB1dDogdDIucTEsIHQyLnEyCisgICAgICAgICAgICAgICAgICAgICBCbG9v bSBGaWx0ZXIgMToga2V5cz0odDIucTIpCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0 ZXIgMjoga2V5cz0odDIucTEpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAogICAgICAgICAgICAg ICAgICAgICAgT3V0cHV0OiB0My5xMQorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVy IDEKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuaW50OF90Ymwg dDMKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDMucTEKICAgICAgICAgIC0+ ICBIYXNoCiAgICAgICAgICAgICAgICBPdXRwdXQ6IHQxLnExCisgICAgICAgICAgICAgICBCbG9v bSBGaWx0ZXIgMgogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5pbnQ4X3Ri bCB0MQogICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0MS5xMQotKDE5IHJvd3MpCisoMjMg cm93cykKIAogc2VsZWN0IHQxLnExLCB4IGZyb20KICAgaW50OF90YmwgdDEgbGVmdCBqb2luCkBA IC0yNDM5LDE0ICsyNDU1LDE2IEBAIG9yZGVyIGJ5IDEsIDI7CiAgICAgICAgICAgICAgICBPdXRw dXQ6IHQyLnExLCAodDIucTIpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGlj LmludDhfdGJsIHQyCiAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQyLnExLCB0Mi5xMgor ICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KHQyLnExKQogICAgICAg ICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5pbnQ4X3RibCB0MwogICAgICAgICAgICAg ICAgICAgICAgT3V0cHV0OiB0My5xMSwgdDIucTIKICAgICAgICAgICAgICAgICAgICAgIEZpbHRl cjogKHQyLnEyID0gdDMucTEpCiAgICAgICAgICAtPiAgSGFzaAogICAgICAgICAgICAgICAgT3V0 cHV0OiB0MS5xMQorICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgICAgICAg IC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuaW50OF90YmwgdDEKICAgICAgICAgICAgICAgICAgICAg IE91dHB1dDogdDEucTEKLSgxNyByb3dzKQorKDE5IHJvd3MpCiAKIHNlbGVjdCB0MS5xMSwgeCBm cm9tCiAgIGludDhfdGJsIHQxIGxlZnQgam9pbgpAQCAtMjUxMCwxOSArMjUyOCwyMSBAQCBvcmRl ciBieSAxLCAyLCAzOwogICAgICAgICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDIucTEgPSB0 My5xMikKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuaW50OF90 YmwgdDIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDIucTEsIHQyLnEyCisg ICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0odDIucTIpCiAg ICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaAogICAgICAgICAgICAgICAgICAgICAgICAgICAg T3V0cHV0OiB0My5xMiwgKENPQUxFU0NFKHQzLnExLCB0My5xMSkpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmludDhfdGJsIHQzCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQzLnEyLCBDT0FMRVNDRSh0My5xMSwgdDMu cTEpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAogICAgICAgICAgICAgICAgICAgICAgT3V0cHV0 OiB0NC5xMSwgdDQucTIKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAg ICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmludDhfdGJsIHQ0CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQ0LnExLCB0NC5xMgogICAgICAgICAgLT4g IEhhc2gKICAgICAgICAgICAgICAgIE91dHB1dDogdDEucTIKICAgICAgICAgICAgICAgIC0+ICBT ZXEgU2NhbiBvbiBwdWJsaWMuaW50OF90YmwgdDEKICAgICAgICAgICAgICAgICAgICAgIE91dHB1 dDogdDEucTIKLSgyNiByb3dzKQorKDI4IHJvd3MpCiAKIHNlbGVjdCBzczIuKiBmcm9tCiAgIGlu dDhfdGJsIHQxIGxlZnQgam9pbgpAQCAtMjU5MCwxMSArMjYxMCwxMyBAQCBvcmRlciBieSAxLCAy LCAzOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0My5xMiwgQ09B TEVTQ0UodDMucTEsIHQzLnExKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1Ymxp Yy5pbnQ4X3RibCB0NAogICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0NC5xMSwgdDQucTIs IChDT0FMRVNDRSh0My5xMSwgdDMucTEpKQorICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmls dGVyIDE6IGtleXM9KHQ0LnExKQogICAgICAgICAgLT4gIEhhc2gKICAgICAgICAgICAgICAgIE91 dHB1dDogdDEucTIKKyAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAg ICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmludDhfdGJsIHQxCiAgICAgICAgICAgICAgICAgICAg ICBPdXRwdXQ6IHQxLnEyCi0oMjQgcm93cykKKygyNiByb3dzKQogCiBzZWxlY3Qgc3MyLiogZnJv bQogICBpbnQ4X3RibCB0MSBsZWZ0IGpvaW4KQEAgLTI4OTUsMTEgKzI5MTcsMTMgQEAgc2VsZWN0 ICogZnJvbSB0ZW5rMSBBIHdoZXJlIGh1bmRyZWQgaW4gKHNlbGVjdCBodW5kcmVkIGZyb20gdGVu azIgQiB3aGVyZSBCLm9kZAogIEhhc2ggSm9pbgogICAgSGFzaCBDb25kOiAoKGEub2RkID0gYi5v ZGQpIEFORCAoYS5odW5kcmVkID0gYi5odW5kcmVkKSkKICAgIC0+ICBTZXEgU2NhbiBvbiB0ZW5r MSBhCisgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0ob2RkLCBodW5kcmVkKQogICAgLT4g IEhhc2gKKyAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAtPiAgSGFzaEFnZ3JlZ2F0 ZQogICAgICAgICAgICAgICAgR3JvdXAgS2V5OiBiLm9kZCwgYi5odW5kcmVkCiAgICAgICAgICAg ICAgICAtPiAgU2VxIFNjYW4gb24gdGVuazIgYgotKDcgcm93cykKKyg5IHJvd3MpCiAKIGV4cGxh aW4gKGNvc3RzIG9mZikKIHNlbGVjdCAqIGZyb20gdGVuazEgQSB3aGVyZSBleGlzdHMKQEAgLTI5 NjQsMTEgKzI5ODgsMTMgQEAgT04gQi5odW5kcmVkIGluIChTRUxFQ1QgYy5odW5kcmVkIEZST00g dGVuazIgQyBXSEVSRSBjLm9kZCA9IGIub2RkKTsKICAgICAgICAgIC0+ICBIYXNoIEpvaW4KICAg ICAgICAgICAgICAgIEhhc2ggQ29uZDogKChiLm9kZCA9IGMub2RkKSBBTkQgKGIuaHVuZHJlZCA9 IGMuaHVuZHJlZCkpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gdGVuazIgYgorICAg ICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KG9kZCwgaHVuZHJlZCkKICAg ICAgICAgICAgICAgIC0+ICBIYXNoCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIg MQogICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2hBZ2dyZWdhdGUKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEdyb3VwIEtleTogYy5vZGQsIGMuaHVuZHJlZAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHRlbmsyIGMKLSgxMCByb3dzKQorKDEyIHJvd3Mp CiAKIC0tIHdlIGNhbiBwdWxsIHVwIHRoZSBzdWJsaW5rIGludG8gdGhlIGlubmVyIEpvaW5FeHBy LgogZXhwbGFpbiAoY29zdHMgb2ZmKQpAQCAtMjk4MywxMyArMzAwOSwxNSBAQCBXSEVSRSBhLnRo b3VzYW5kIDwgNzUwOwogICAgICAgICAgSGFzaCBDb25kOiAoYS5odW5kcmVkID0gYy5odW5kcmVk KQogICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHRlbmsxIGEKICAgICAgICAgICAgICAgIEZpbHRl cjogKHRob3VzYW5kIDwgNzUwKQorICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9 KGh1bmRyZWQpCiAgICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAgQmxvb20gRmlsdGVy IDEKICAgICAgICAgICAgICAgIC0+ICBIYXNoQWdncmVnYXRlCiAgICAgICAgICAgICAgICAgICAg ICBHcm91cCBLZXk6IGMub2RkLCBjLmh1bmRyZWQKICAgICAgICAgICAgICAgICAgICAgIC0+ICBT ZXEgU2NhbiBvbiB0ZW5rMiBjCiAgICAtPiAgSGFzaAogICAgICAgICAgLT4gIFNlcSBTY2FuIG9u IHRlbmsyIGIKLSgxMiByb3dzKQorKDE0IHJvd3MpCiAKIC0tIHdlIGNhbiBwdWxsIHVwIHRoZSBh Z2dyZWdhdGUgc3VibGluayBpbnRvIFJIUyBvZiBhIGxlZnQgam9pbi4KIGV4cGxhaW4gKGNvc3Rz IG9mZikKQEAgLTMxMjYsOSArMzE1NCwxMSBAQCBXSEVSRSBhLnRlbiBJTiAoVkFMVUVTICgxKSwg KDIpKTsKICAgIEhhc2ggQ29uZDogKGEudGVuID0gYy50ZW4pCiAgICAtPiAgU2VxIFNjYW4gb24g b25layBhCiAgICAgICAgICBGaWx0ZXI6ICh0ZW4gPSBBTlkgKCd7MSwyfSc6OmludGVnZXJbXSkp CisgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0odGVuKQogICAgLT4gIEhhc2gKKyAgICAg ICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gdGVuazEgYwotKDYg cm93cykKKyg4IHJvd3MpCiAKIEVYUExBSU4gKENPU1RTIE9GRikKIFNFTEVDVCBjLnVuaXF1ZTEs Yy50ZW4gRlJPTSB0ZW5rMSBjIEpPSU4gb25layBhIFVTSU5HICh0ZW4pCkBAIC0zMTM5LDkgKzMx NjksMTEgQEAgV0hFUkUgYy50ZW4gSU4gKFZBTFVFUyAoMSksICgyKSk7CiAgICBIYXNoIENvbmQ6 IChjLnRlbiA9IGEudGVuKQogICAgLT4gIFNlcSBTY2FuIG9uIHRlbmsxIGMKICAgICAgICAgIEZp bHRlcjogKHRlbiA9IEFOWSAoJ3sxLDJ9Jzo6aW50ZWdlcltdKSkKKyAgICAgICAgIEJsb29tIEZp bHRlciAxOiBrZXlzPSh0ZW4pCiAgICAtPiAgSGFzaAorICAgICAgICAgQmxvb20gRmlsdGVyIDEK ICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBvbmVrIGEKLSg2IHJvd3MpCisoOCByb3dzKQogCiAt LSBDb25zdGFudCBleHByZXNzaW9ucyBhcmUgc2ltcGxpZmllZAogRVhQTEFJTiAoQ09TVFMgT0ZG KQpAQCAtMzMxMSw5ICszMzQzLDExIEBAIFNFTEVDVCAqIEZST00gb25layB0MSwgbGF0ZXJhbCAo U0VMRUNUICogRlJPTSBvbmVrIHQyIFdIRVJFIHQyLnRlbiBJTiAodmFsdWVzICh0CiAgICAtPiAg SGFzaCBTZW1pIEpvaW4KICAgICAgICAgIEhhc2ggQ29uZDogKHQyLnRlbiA9ICIqVkFMVUVTKiIu Y29sdW1uMSkKICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBvbmVrIHQyCisgICAgICAgICAgICAg ICBCbG9vbSBGaWx0ZXIgMToga2V5cz0odGVuKQogICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAg ICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAtPiAgVmFsdWVzIFNjYW4gb24g IipWQUxVRVMqIgotKDcgcm93cykKKyg5IHJvd3MpCiAKIC0tIFZ0QSBjYXVzZXMgdGhlIHdob2xl IGV4cHJlc3Npb24gdG8gYmUgZXZhbHVhdGVkIGFzIGEgY29uc3RhbnQKIEVYUExBSU4gKENPU1RT IE9GRikKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc3lzdmlld3Mub3V0 IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zeXN2aWV3cy5vdXQKaW5kZXggMTMyYjU2YTU4 NjQuLmE3OTZlNDMxNDE1IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3N5 c3ZpZXdzLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3N5c3ZpZXdzLm91dApA QCAtMTYzLDYgKzE2Myw3IEBAIHNlbGVjdCBuYW1lLCBzZXR0aW5nIGZyb20gcGdfc2V0dGluZ3Mg d2hlcmUgbmFtZSBsaWtlICdlbmFibGUlJzsKICBlbmFibGVfZ3JvdXBfYnlfcmVvcmRlcmluZyAg ICAgfCBvbgogIGVuYWJsZV9oYXNoYWdnICAgICAgICAgICAgICAgICB8IG9uCiAgZW5hYmxlX2hh c2hqb2luICAgICAgICAgICAgICAgIHwgb24KKyBlbmFibGVfaGFzaGpvaW5fYmxvb20gICAgICAg ICAgfCBvbgogIGVuYWJsZV9pbmNyZW1lbnRhbF9zb3J0ICAgICAgICB8IG9uCiAgZW5hYmxlX2lu ZGV4b25seXNjYW4gICAgICAgICAgIHwgb24KICBlbmFibGVfaW5kZXhzY2FuICAgICAgICAgICAg ICAgfCBvbgpAQCAtMTgwLDcgKzE4MSw3IEBAIHNlbGVjdCBuYW1lLCBzZXR0aW5nIGZyb20gcGdf c2V0dGluZ3Mgd2hlcmUgbmFtZSBsaWtlICdlbmFibGUlJzsKICBlbmFibGVfc2Vxc2NhbiAgICAg ICAgICAgICAgICAgfCBvbgogIGVuYWJsZV9zb3J0ICAgICAgICAgICAgICAgICAgICB8IG9uCiAg ZW5hYmxlX3RpZHNjYW4gICAgICAgICAgICAgICAgIHwgb24KLSgyNSByb3dzKQorKDI2IHJvd3Mp CiAKIC0tIFRoZXJlIGFyZSBhbHdheXMgd2FpdCBldmVudCBkZXNjcmlwdGlvbnMgZm9yIHZhcmlv dXMgdHlwZXMuICBJbmplY3Rpb25Qb2ludAogLS0gbWF5IGJlIHByZXNlbnQgb3IgYWJzZW50LCBk ZXBlbmRpbmcgb24gaGlzdG9yeSBzaW5jZSBsYXN0IHBvc3RtYXN0ZXIgc3RhcnQuCmRpZmYgLS1n aXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3VwZGF0YWJsZV92aWV3cy5vdXQgYi9zcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL3VwZGF0YWJsZV92aWV3cy5vdXQKaW5kZXggN2IwMGM3NDI3 NzYuLjdkNGFmODBmYWY2IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Vw ZGF0YWJsZV92aWV3cy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC91cGRhdGFi bGVfdmlld3Mub3V0CkBAIC01ODcsMTEgKzU4NywxMyBAQCBNRVJHRSBJTlRPIHJ3X3ZpZXcxIHQK ICAgICAgICAgIEhhc2ggQ29uZDogKGJhc2VfdGJsLmEgPSBnZW5lcmF0ZV9zZXJpZXMuZ2VuZXJh dGVfc2VyaWVzKQogICAgICAgICAgLT4gIEJpdG1hcCBIZWFwIFNjYW4gb24gYmFzZV90YmwKICAg ICAgICAgICAgICAgIFJlY2hlY2sgQ29uZDogKGEgPiAwKQorICAgICAgICAgICAgICAgQmxvb20g RmlsdGVyIDE6IGtleXM9KGEpCiAgICAgICAgICAgICAgICAtPiAgQml0bWFwIEluZGV4IFNjYW4g b24gYmFzZV90YmxfcGtleQogICAgICAgICAgICAgICAgICAgICAgSW5kZXggQ29uZDogKGEgPiAw KQogICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAg ICAgICAgICAgICAtPiAgRnVuY3Rpb24gU2NhbiBvbiBnZW5lcmF0ZV9zZXJpZXMKLSg5IHJvd3Mp CisoMTEgcm93cykKIAogRVhQTEFJTiAoY29zdHMgb2ZmKQogTUVSR0UgSU5UTyByd192aWV3MSB0 CkBAIC02MjEsMTEgKzYyMywxMyBAQCBNRVJHRSBJTlRPIHJ3X3ZpZXcxIHQKICAgICAgICAgIEhh c2ggQ29uZDogKGJhc2VfdGJsLmEgPSBnZW5lcmF0ZV9zZXJpZXMuZ2VuZXJhdGVfc2VyaWVzKQog ICAgICAgICAgLT4gIEJpdG1hcCBIZWFwIFNjYW4gb24gYmFzZV90YmwKICAgICAgICAgICAgICAg IFJlY2hlY2sgQ29uZDogKGEgPiAwKQorICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtl eXM9KGEpCiAgICAgICAgICAgICAgICAtPiAgQml0bWFwIEluZGV4IFNjYW4gb24gYmFzZV90Ymxf cGtleQogICAgICAgICAgICAgICAgICAgICAgSW5kZXggQ29uZDogKGEgPiAwKQogICAgICAgICAg LT4gIEhhc2gKKyAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAt PiAgRnVuY3Rpb24gU2NhbiBvbiBnZW5lcmF0ZV9zZXJpZXMKLSg5IHJvd3MpCisoMTEgcm93cykK IAogLS0gaXQncyBzdGlsbCB1cGRhdGFibGUgaWYgd2UgYWRkIGEgRE8gQUxTTyBydWxlCiBDUkVB VEUgVEFCTEUgYmFzZV90YmxfaGlzdCh0cyB0aW1lc3RhbXB0eiBkZWZhdWx0IG5vdygpLCBhIGlu dCwgYiB0ZXh0KTsKQEAgLTI3NzcsMTIgKzI3ODEsMTQgQEAgRVhQTEFJTiAoY29zdHMgb2ZmKSBV UERBVEUgcndfdmlldzEgU0VUIGEgPSBhICsgNTsKICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAg IEhhc2ggQ29uZDogKGIuYSA9IHIuYSkKICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBiYXNlX3Ri bCBiCisgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0oYSkKICAgICAgICAgIC0+ ICBIYXNoCisgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAgICAgLT4g IFNlcSBTY2FuIG9uIHJlZl90YmwgcgogICAgU3ViUGxhbiBleGlzdHNfMQogICAgICAtPiAgSW5k ZXggT25seSBTY2FuIHVzaW5nIHJlZl90YmxfcGtleSBvbiByZWZfdGJsIHJfMQogICAgICAgICAg ICBJbmRleCBDb25kOiAoYSA9IGIuYSkKLSg5IHJvd3MpCisoMTEgcm93cykKIAogRFJPUCBUQUJM RSBiYXNlX3RibCwgcmVmX3RibCBDQVNDQURFOwogTk9USUNFOiAgZHJvcCBjYXNjYWRlcyB0byB2 aWV3IHJ3X3ZpZXcxCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3dpbmRv dy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3dpbmRvdy5vdXQKaW5kZXggOTBkOWY5 NTNiODEuLjVjODY2MTlmMDIzIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L3dpbmRvdy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC93aW5kb3cub3V0CkBA IC01NDc0LDEwICs1NDc0LDEyIEBAIExJTUlUIDE7CiAgICAgICAgICAtPiAgSGFzaCBKb2luCiAg ICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0MS51bmlxdWUxID0gdDIudGVudGhvdXMpCiAgICAg ICAgICAgICAgICAtPiAgSW5kZXggT25seSBTY2FuIHVzaW5nIHRlbmsxX3VuaXF1ZTEgb24gdGVu azEgdDEKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPSh1bmlxdWUx KQogICAgICAgICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZp bHRlciAxCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gdGVuazEgdDIKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKHR3byA9IDEpCi0oOSByb3dzKQorKDEx IHJvd3MpCiAKIC0tIEVuc3VyZSB3ZSBnZXQgYSBjaGVhcCB0b3RhbCBwbGFuLiAgVGhpcyB0aW1l IHVzZSBVTkJPVU5ERUQgRk9MTE9XSU5HLCB3aGljaAogLS0gbmVlZHMgdG8gcmVhZCBhbGwgam9p biByb3dzIHRvIG91dHB1dCB0aGUgZmlyc3QgV2luZG93QWdnIHJvdy4KZGlmZiAtLWdpdCBhL3Ny Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvd2l0aC5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL3dpdGgub3V0CmluZGV4IDc3ZGVkMDFiMDQ2Li5kYjhjNzc3MjFlNyAxMDA2NDQKLS0tIGEv c3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC93aXRoLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNz L2V4cGVjdGVkL3dpdGgub3V0CkBAIC02ODYsOSArNjg2LDExIEBAIHNlbGVjdCBjb3VudCgqKSBm cm9tIHRlbmsxIGEKICAgIC0+ICBIYXNoIFNlbWkgSm9pbgogICAgICAgICAgSGFzaCBDb25kOiAo YS51bmlxdWUxID0geC51bmlxdWUxKQogICAgICAgICAgLT4gIEluZGV4IE9ubHkgU2NhbiB1c2lu ZyB0ZW5rMV91bmlxdWUxIG9uIHRlbmsxIGEKKyAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAx OiBrZXlzPSh1bmlxdWUxKQogICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgIEJsb29t IEZpbHRlciAxCiAgICAgICAgICAgICAgICAtPiAgQ1RFIFNjYW4gb24geAotKDggcm93cykKKygx MCByb3dzKQogCiBleHBsYWluIChjb3N0cyBvZmYpCiB3aXRoIHggYXMgbWF0ZXJpYWxpemVkIChp bnNlcnQgaW50byB0ZW5rMSBkZWZhdWx0IHZhbHVlcyByZXR1cm5pbmcgdW5pcXVlMSkKQEAgLTMy NDYsOCArMzI0OCwxMCBAQCBXSEVOIE5PVCBNQVRDSEVEIFRIRU4gSU5TRVJUIFZBTFVFUyhvLmss IG8udik7CiAgICAgICAgICBIYXNoIENvbmQ6IChtLmsgPSBvLmspCiAgICAgICAgICAtPiAgU2Vx IFNjYW4gb24gcHVibGljLm0KICAgICAgICAgICAgICAgIE91dHB1dDogbS5jdGlkLCBtLmsKKyAg ICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPShtLmspCiAgICAgICAgICAtPiAgSGFz aAogICAgICAgICAgICAgICAgT3V0cHV0OiBvLmssIG8udiwgby4qCisgICAgICAgICAgICAgICBC bG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAgICAgLT4gIFN1YnF1ZXJ5IFNjYW4gb24gbwogICAg ICAgICAgICAgICAgICAgICAgT3V0cHV0OiBvLmssIG8udiwgby4qCiAgICAgICAgICAgICAgICAg ICAgICAtPiAgUmVzdWx0CkBAIC0zMjU4LDcgKzMyNjIsNyBAQCBXSEVOIE5PVCBNQVRDSEVEIFRI RU4gSU5TRVJUIFZBTFVFUyhvLmssIG8udik7CiAgICAgICAgICAgIC0+ICBDVEUgU2NhbiBvbiBj dGVfYmFzaWMKICAgICAgICAgICAgICAgICAgT3V0cHV0OiAoY3RlX2Jhc2ljLmIgfHwgJyBtZXJn ZSB1cGRhdGUnOjp0ZXh0KQogICAgICAgICAgICAgICAgICBGaWx0ZXI6IChjdGVfYmFzaWMuYSA9 IG0uaykKLSgyMSByb3dzKQorKDIzIHJvd3MpCiAKIC0tIEluaXRQbGFuCiBXSVRIIGN0ZV9pbml0 IEFTIE1BVEVSSUFMSVpFRCAoU0VMRUNUIDEgYSwgJ2N0ZV9pbml0IHZhbCcgYikKQEAgLTMyOTUs MTMgKzMyOTksMTUgQEAgV0hFTiBOT1QgTUFUQ0hFRCBUSEVOIElOU0VSVCBWQUxVRVMoby5rLCBv LnYpOwogICAgICAgICAgSGFzaCBDb25kOiAobS5rID0gby5rKQogICAgICAgICAgLT4gIFNlcSBT Y2FuIG9uIHB1YmxpYy5tCiAgICAgICAgICAgICAgICBPdXRwdXQ6IG0uY3RpZCwgbS5rCisgICAg ICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0obS5rKQogICAgICAgICAgLT4gIEhhc2gK ICAgICAgICAgICAgICAgIE91dHB1dDogby5rLCBvLnYsIG8uKgorICAgICAgICAgICAgICAgQmxv b20gRmlsdGVyIDEKICAgICAgICAgICAgICAgIC0+ICBTdWJxdWVyeSBTY2FuIG9uIG8KICAgICAg ICAgICAgICAgICAgICAgIE91dHB1dDogby5rLCBvLnYsIG8uKgogICAgICAgICAgICAgICAgICAg ICAgLT4gIFJlc3VsdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiAxLCAnbWVy Z2Ugc291cmNlIEluaXRQbGFuJzo6dGV4dAotKDIxIHJvd3MpCisoMjMgcm93cykKIAogLS0gTUVS R0Ugc291cmNlIGNvbWVzIGZyb20gQ1RFOgogV0lUSCBtZXJnZV9zb3VyY2VfY3RlIEFTIE1BVEVS SUFMSVpFRCAoU0VMRUNUIDE1IGEsICdtZXJnZV9zb3VyY2VfY3RlIHZhbCcgYikKQEAgLTMzMzks MTEgKzMzNDUsMTMgQEAgV0hFTiBOT1QgTUFUQ0hFRCBUSEVOIElOU0VSVCBWQUxVRVMoby5hLCBv LmIgfHwgKFNFTEVDVCBtZXJnZV9zb3VyY2VfY3RlLio6OnRleHQKICAgICAgICAgIEhhc2ggQ29u ZDogKG0uayA9IG1lcmdlX3NvdXJjZV9jdGUuYSkKICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBw dWJsaWMubQogICAgICAgICAgICAgICAgT3V0cHV0OiBtLmN0aWQsIG0uaworICAgICAgICAgICAg ICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KG0uaykKICAgICAgICAgIC0+ICBIYXNoCiAgICAgICAg ICAgICAgICBPdXRwdXQ6IG1lcmdlX3NvdXJjZV9jdGUuYSwgbWVyZ2Vfc291cmNlX2N0ZS5iLCBt ZXJnZV9zb3VyY2VfY3RlLioKKyAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAg ICAgICAgICAtPiAgQ1RFIFNjYW4gb24gbWVyZ2Vfc291cmNlX2N0ZQogICAgICAgICAgICAgICAg ICAgICAgT3V0cHV0OiBtZXJnZV9zb3VyY2VfY3RlLmEsIG1lcmdlX3NvdXJjZV9jdGUuYiwgbWVy Z2Vfc291cmNlX2N0ZS4qCi0oMjAgcm93cykKKygyMiByb3dzKQogCiBEUk9QIFRBQkxFIG07CiAt LSBjaGVjayB0aGF0IHJ1biB0byBjb21wbGV0aW9uIGhhcHBlbnMgaW4gcHJvcGVyIG9yZGVyaW5n CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9yb3dzZWN1cml0eS5zcWwgYi9zcmMv dGVzdC9yZWdyZXNzL3NxbC9yb3dzZWN1cml0eS5zcWwKaW5kZXggNmIzNTY2MjcxZGYuLjM5MGU3 OWIwNGMzIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9yb3dzZWN1cml0eS5zcWwK KysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcm93c2VjdXJpdHkuc3FsCkBAIC0yLDYgKzIsOSBA QAogLS0gVGVzdCBvZiBSb3ctbGV2ZWwgc2VjdXJpdHkgZmVhdHVyZQogLS0KIAorLS0gZGlzYWJs ZSBibG9vbSBmaWx0ZXIgcHVzaGRvd24sIHRvIG5vdCBpbnRlcmZlcmUgd2l0aCBjYWxscyB0byBm dW5jdGlvbnMKK1NFVCBlbmFibGVfaGFzaGpvaW5fYmxvb20gPSBvZmY7CisKIC0tIENsZWFuIHVw IGluIGNhc2UgYSBwcmlvciByZWdyZXNzaW9uIHJ1biBmYWlsZWQKIAogLS0gU3VwcHJlc3MgTk9U SUNFIG1lc3NhZ2VzIHdoZW4gdXNlcnMvZ3JvdXBzIGRvbid0IGV4aXN0CmRpZmYgLS1naXQgYS9z cmMvdGVzdC9yZWdyZXNzL3NxbC9zZWxlY3Rfdmlld3Muc3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9z cWwvc2VsZWN0X3ZpZXdzLnNxbAppbmRleCBlNzQyZjEzNjk5MC4uMDlmOTZiMGIxYWUgMTAwNjQ0 Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3NlbGVjdF92aWV3cy5zcWwKKysrIGIvc3JjL3Rl c3QvcmVncmVzcy9zcWwvc2VsZWN0X3ZpZXdzLnNxbApAQCAtMyw2ICszLDkgQEAKIC0tIHRlc3Qg dGhlIHZpZXdzIGRlZmluZWQgaW4gQ1JFQVRFX1ZJRVdTCiAtLQogCistLSBkaXNhYmxlIGJsb29t IGZpbHRlciBwdXNoZG93biwgdG8gbm90IGludGVyZmVyZSB3aXRoIGNhbGxzIHRvIGZ1bmN0aW9u cworU0VUIGVuYWJsZV9oYXNoam9pbl9ibG9vbSA9IG9mZjsKKwogU0VMRUNUICogRlJPTSBzdHJl ZXQ7CiAKIFNFTEVDVCBuYW1lLCAjdGhlcGF0aCBGUk9NIGlleGl0IE9SREVSIEJZIG5hbWUgQ09M TEFURSAiQyIsIDI7Ci0tIAoyLjUwLjEgKEFwcGxlIEdpdC0xNTUpCgo= --0455746457ab0970430c244854fea2ab8b1d27bc867b14de67f74154839e Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v4-0002-PoC-Bloom-filter-pushdown-during-path-constructio.patch Content-Type: text/plain; charset=utf-8; name=v4-0002-PoC-Bloom-filter-pushdown-during-path-constructio.patch RnJvbSA2ZDRhNDViM2ZmNWJiMjVmOGExNGExYzJjM2UzNGE5Mjk5NGEyNWEzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiY29waWxvdC1zd2UtYWdlbnRbYm90XSIgPDE5ODk4Mjc0OStD b3BpbG90QHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KRGF0ZTogU2F0LCAyMCBKdW4gMjAyNiAy MDoyMDowOCArMDAwMApTdWJqZWN0OiBbUEFUQ0ggdjQgMi80XSBQb0M6IEJsb29tIGZpbHRlciBw dXNoZG93biBkdXJpbmcgcGF0aCBjb25zdHJ1Y3Rpb24KCldlIGNhbid0IGRlY2lkZSB3aGljaCBm aWx0ZXJzIHRvIHB1c2ggZG93biBkdXJpbmcgcGxhbiBjcmVhdGlvbiwgaXQncwp0b28gbGF0ZS4g QXQgdGhhdCBwb2ludCB3ZSd2ZSBhbHJlYWR5IGNyZWF0ZWQgcGF0aHMgd2l0aCBleHBlY3RlZApj YXJkaW5hbGl0aWVzLCBjYWxjdWxhdGVkIHRoZSBjb3N0cywgZXRjLgoKSWYgd2UgaW5qZWN0IG5l dyBmaWx0ZXJzIHRvIHRoZSBzY2FuIG5vZGVzLCB0aGUgcm93IGNvdW50cyB3b24ndCBtYXRjaAph bmQgaXQnbGwgYmUgY29uZnVzaW5nIChlZmZlY3RpdmVseSBpbXBvc3NpYmxlIHRvIGRlY2lkZSBp ZiBhIGRpZmZlcmVuY2UKaXMgYSBtaXNlc3RpbWF0ZSBvciBqdXN0IGRvIHRvIGEgcHVzaGVkLWRv d24gZmlsdGVyKS4KCkl0IGFsc28gbWVhbnMgd2UgY2FuJ3QgY29uc2lkZXIgdGhlIGVmZmVjdCBk dXJpbmcgdGhlICJib3R0b20tdXAiIHBoYXNlLAplLmcuIHdoZW4gcGlja2luZyBhbGdvcml0aG1z IGZvciB0aGUgb3RoZXIgam9pbnMsIGV0Yy4gV2Ugd291bGQgbGlrZWx5CmltcHJvdmUgdGhlIGN1 cnJlbnQgcGxhbiwgYnV0IGl0IHByZXZlbnRzIHVzIGZyb20gcGlja2luZyBhbiBhbHRlcm5hdGl2 ZQpjaGVhcGVyIHBsYW4uCgpUbyBhZGRyZXNzIHRoaXMsIGFkZCAiZXhwZWN0ZWQgZmlsdGVycyIg YXMgYSBmZWF0dXJlIG9mIGEgcGF0aCwgYW5kCnByb3BhZ2UgdGhlbSBkdXJpbmcgam9pbnMgZXRj LiBUaGlzIGlzIHNpbWlsYXIgY29uY2VwdCB0byBwYXRoIGtleXMsCnRyYWNraW5nICJpbnRlcmVz dGluZyIgb3JkZXJpbmdzIGZvciBhIHBhdGguCgpBdCB0aGUgc2NhbiBsZXZlbCwgZmlndXJlIG91 dCBhIGxpc3Qgb2YgImludGVyZXN0aW5nIiBmaWx0ZXJzLiBUaGlzIGlzCmRvbmUgYnkgaW5zcGVj dGluZyB0aGUgam9pbnMgdGhlIHNjYW5uZWQgcmVsYXRpb24gcGFydGljaXBhdGVzIGluLCBhbmQK cGlja2luZyBhIGxpbWl0ZWQgbnVtYmVyIG9mIHN1ZmZpY2llbnRseSBzZWxlY3RpdmUgZmlsdGVy cywgYW5kIHRoZW4gaXQKZ2VuZXJhdGVzIHBhdGhzIGV4cGVjdGluZyBkaWZmZXJlbnQgY29tYmlu YXRpb25zIG9mIGZpbHRlcnMuCgpUaGUgbnVtYmVyIG9mIGNvbWJpbmF0aW9ucyBncm93cyB3aXRo IDJebiwgc28gd2l0aCAzIGZpbHRlcnMgd2UgZ2V0IDkKcGF0aHMgKDggbmV3IG9uZXMpLCB3aXRo IDQgaXQncyAxNiwgZXRjLiBBbmQgdGhpcyBpcyBmb3IgZWFjaCBzY2FuIG5vZGUuCkZvciBhIHF1 ZXJ5IHdpdGggbWFueSBqb2lucywgaXQgY2FuIGdyb3cgcHJldHR5IHF1aWNrLgoKU28gd2UgbmVl ZCB0byBiZSBjb25zZXJ2YXRpdmUsIGluIG9yZGVyIHRvIHByZXZlbnQgYW4gZXhwbG9zaW9uIG9m IHRoZQpudW1iZXIgb2YgcGF0aHMuIFRoZSBwYXRjaCBzaW1wbHkgcGlja3MgYSBsaW1pdGVkIG51 bWJlciBvZiB0aGUgbW9zdApzZWxlY3RpdmUgZmlsdGVycyAoZS5nLiAzIGZpbHRlcnMsIGVhY2gg ZWxpbWluYXRpbmcgYXQgbGVhc3QgMzAlCnR1cGxlcykuIFdlIGNvdWxkIHJlZmluZSBob3cgdGhp cyBpcyBkZWNpZGVkLCBvZiBjb3Vyc2UuIEZvciBleGFtcGxlLApDdXN0b21TY2FuIGNvdWxkL3No b3VsZCBoYXZlIGEgc2F5IGluIHRoZSBjb3N0aW5nLCBzb21laG93LgoKQXQgdGhlIGpvaW4gbGV2 ZWwsIHdlIG5lZWQgdG8gY29uc2lkZXIgaWYgYSBqb2luIGlzIG1hdGNoaW5nIGEgZmlsdGVyCmV4 cGVjdGVkIGJ5IHRoZSBpbnB1dCBwYXRocyBvciBub3QuCgoqIEEgam9pbiAibWF0Y2hlcyIgYSBm aWx0ZXIgb2YgYW4gaW5wdXQgcGF0aCwgaWYgaXQncyB0aGUgam9pbiBmcm9tCiAgd2hpY2ggdGhl IGZpbHRlciB3YXMgZGVyaXZlZC4KCiogQSBqb2luIGNhbiAic2F0aXNmeSIgYSBmaWx0ZXIgZXhw ZWN0ZWQgYnkgdGhlIG91dGVyIGlubnB1dCBwYXRoLCBpZiBpdAogIG1hdGNoZXMgaXQsIGFuZCBp ZiBpdCdzIGEgaGFzaCBqb2luLiBBIGpvaW4gY2FuIG5ldmVyIHNhdGlzZnkgZmlsdGVycwogIGV4 cGVjdGVkIGJ5IHRoZSBpbm5lciBpbnB1dC4KCiogQSBqb2luIGhhcyB0byBzYXRpc2Z5IGFsbCBm aWx0ZXJzIG1hdGNoaW5nIHRoZSBpbm5lci9vdXRlciBwYXRoLgoKVGhpcyBpbXBsaWVzIHRoYXQ6 CgoqIE5lc3RMb29wL01lcmdlSm9pbiBjYW4gbmV2ZXIgc2F0aXNmeSBhbnkgZmlsdGVycy4gVGhl IHBsYWNlcyBjcmVhdGluZwogIHRoZXNlIGpvaW5zIGhhdmUgdG8gaWdub3JlIGFsbCBwYXRocyB3 aXRoIHN1Y2ggZmlsdGVycy4gQnV0IHRoZXNlCiAgam9pbnMgY2FuIHN0aWxsIHByb3BhZ2F0ZSBh bGwgb3RoZXIgZmlsdGVycywgaW4gY2FzZSBvbmUgb2YgdGhlIGxhdGVyCiAgam9pbnMgaGFwcGVu cyB0byBiZSBhIGhhc2hqb2luIHNhdGlzZnlpbmcgdGhlbS4KCiogSGFzaEpvaXMgY2FuIHNhdGlz ZnkgZmlsdGVycyBleHBlY3RlZCBieSBvdXRlciBpbnB1dCBwYXRoLCBvcgogIHByb3BhZ2F0ZSBm aWx0ZXJzIG5vdCBtYXRjaGluZyB0aGUgam9pbi4KCk5vdGVzOgoKKiBXZSBjb3VsZCBhbHNvIGNv bnNpZGVyIHRoZSAicmVtYWluaW5nIHJvdyBjb3VudCIgYWZ0ZXIgYSBmaWx0ZXIsIGFuZAogIG9u bHkgY29uc2lkZXIgZmlsdGVycyBpZiBpdCdzIGFib3ZlIHNvbWUgbGltaXQuIEUuZy4gaXQgdGhl cmUncyBsZXNzCiAgdGhhbiAxMDAwIHR1cGxlcywgdGhlcmUncyBsaXR0bGUgcG9pbnQgaW4gcHVz aGluZyBkb3duIGFkZGl0aW9uYWwKICBmaWx0ZXJzLiBUaGlzIHdvdWxkIGhlbHAgd2l0aCByZWR1 Y2luZyB0aGUgaW1wYWN0IG9mIHBhdGggZXhwbG9zaW9uLgoKKiBXaGVuIGZpZ3VyaW5nIG91dCBp bnRlcmVzdGluZyBmaWx0ZXJzLCB3ZSBuZWVkIHRvIGJlIGNhcmVmdWwgYWJvdXQKICBvdXRlciBq b2lucy4gT3V0ZXIgam9pbnMgYXJlIG5vdCBhIGdvb2QgZmlsdGVyIHNvdXJjZSwgYmVjYXVzZSB3 ZQogIGNhbid0IGVsaW1pbmF0ZSBhbnkgcm93cyBldmVuIGlmIHRoZSBqb2luIGNsYXVzZSBpcyB2 ZXJ5IHNlbGVjdGl2ZS4KCiogV2Ugc3RpbGwgZG8gdGhlIHB1c2hkb3duIHdoZW4gY3JlYXRpbmcg dGhlIHBsYW4sIGJ1dCBpdCdzIHZlcnkKICBtZWNoYW5pY2FsIC0gYWxsIHRoZSBkZWNpc2lvbnMg aGF2ZSBiZWVuIG1hZGUgZWFybGllci4gSXQncyBub3QKICBwb3NzaWJsZSAoYWxsb3dlZCkgdG8g bWlzbWF0Y2ggLSB3ZSBjYW4ndCBwdXNoZG93biBhIGZpbHRlciBub3QKICBleHBlY3RlZCBieSBh IHNjYW4sIGFuZCB0aGUgc2NhbiBjYW4ndCBleHBlY3QgYSBmaWx0ZXIgdGhhdCBoYXMgbm90CiAg YmVlbiBwdXNoZG93biBieSB0aGUgcGxhbi4KLS0tCiBzcmMvYmFja2VuZC9jb21tYW5kcy9leHBs YWluLmMgICAgICAgICAgICAgICAgfCAgNDkgKy0KIHNyYy9iYWNrZW5kL2V4ZWN1dG9yL25vZGVI YXNoam9pbi5jICAgICAgICAgICB8ICAxOSArLQogc3JjL2JhY2tlbmQvb3B0aW1pemVyL3BhdGgv YWxscGF0aHMuYyAgICAgICAgIHwgNDYzICsrKysrKysrKysrKysrKysKIHNyYy9iYWNrZW5kL29w dGltaXplci9wYXRoL2Nvc3RzaXplLmMgICAgICAgICB8ICAxNyArCiBzcmMvYmFja2VuZC9vcHRp bWl6ZXIvcGF0aC9lcXVpdmNsYXNzLmMgICAgICAgfCAxNzkgKysrKysrCiBzcmMvYmFja2VuZC9v cHRpbWl6ZXIvcGF0aC9qb2lucGF0aC5jICAgICAgICAgfCA1MjQgKysrKysrKysrKysrKysrLS0t CiBzcmMvYmFja2VuZC9vcHRpbWl6ZXIvcGxhbi9jcmVhdGVwbGFuLmMgICAgICAgfCAyNTcgKysr Ky0tLS0tCiBzcmMvYmFja2VuZC9vcHRpbWl6ZXIvdXRpbC9wYXRobm9kZS5jICAgICAgICAgfCAx NTggKysrKysrCiBzcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y19wYXJhbWV0ZXJzLmRhdCAgICAg fCAgMjAgKwogc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9wb3N0Z3Jlc3FsLmNvbmYuc2FtcGxlIHwg ICAyICsKIHNyYy9pbmNsdWRlL25vZGVzL3BhdGhub2Rlcy5oICAgICAgICAgICAgICAgICB8ICA2 NiArKysKIHNyYy9pbmNsdWRlL29wdGltaXplci9jb3N0LmggICAgICAgICAgICAgICAgICB8ICAg MiArCiBzcmMvaW5jbHVkZS9vcHRpbWl6ZXIvcGF0aG5vZGUuaCAgICAgICAgICAgICAgfCAgIDUg Kwogc3JjL2luY2x1ZGUvb3B0aW1pemVyL3BhdGhzLmggICAgICAgICAgICAgICAgIHwgICA2ICsK IHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvZWFnZXJfYWdncmVnYXRlLm91dCB8IDE3OCArKy0t LS0KIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvZ3JhcGhfdGFibGUub3V0ICAgICB8ICAxNCAr LQogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9qb2luLm91dCAgICAgICAgICAgIHwgNDI1ICsr KysrKystLS0tLS0tCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2pvaW5faGFzaC5vdXQgICAg ICAgfCAgMTYgKy0KIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvbWVyZ2Uub3V0ICAgICAgICAg ICB8IDEwNiArKy0tCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL21pc2NfZnVuY3Rpb25zLm91 dCAgfCAgMTQgKy0KIC4uLi9yZWdyZXNzL2V4cGVjdGVkL3BhcnRpdGlvbl9hZ2dyZWdhdGUub3V0 ICB8ICAzNCArLQogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wYXJ0aXRpb25fam9pbi5vdXQg IHwgNDUyICsrLS0tLS0tLS0tLS0tLQogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wcmVkaWNh dGUub3V0ICAgICAgIHwgICA4ICstCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3JldHVybmlu Zy5vdXQgICAgICAgfCAgNDIgKy0KIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc3RhdHNfZXh0 Lm91dCAgICAgICB8ICAyMyArLQogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zdWJzZWxlY3Qu b3V0ICAgICAgIHwgIDgzICstLQogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC91cGRhdGFibGVf dmlld3Mub3V0IHwgIDE5ICstCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3dpbmRvdy5vdXQg ICAgICAgICAgfCAgMTUgKy0KIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvd2l0aC5vdXQgICAg ICAgICAgICB8IDExMiArKy0tCiAyOSBmaWxlcyBjaGFuZ2VkLCAyMDA0IGluc2VydGlvbnMoKyks IDEzMDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvZXhw bGFpbi5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvZXhwbGFpbi5jCmluZGV4IDg4OTNlMzZjOGFh Li4wYmExMzE5ZDc5ZiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvZXhwbGFpbi5j CisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2V4cGxhaW4uYwpAQCAtMjU4OSwxOSArMjU4OSwz NCBAQCBzaG93X3VwcGVyX3F1YWwoTGlzdCAqcXVhbCwgY29uc3QgY2hhciAqcWxhYmVsLAogCiAv KgogICogc2hvd19ibG9vbV9maWx0ZXJfaW5mbwotICoJCVNob3cgaW5mbyBhYm91dCBldmVyeSBi bG9vbSBmaWx0ZXIgcHVzaGVkIGRvd24gdG8gYSBzY2FuIG5vZGUuCisgKgkJU2hvdyBpbmZvIGFi b3V0IGV2ZXJ5IEJsb29tIGZpbHRlciBwdXNoZWQgZG93biB0byBhIHNjYW4gbm9kZS4KICAqCiAg KiBJbiBURVhUIGZvcm1hdCBlYWNoIGZpbHRlciBpcyByZW5kZXJlZCBvbiBhIHNpbmdsZSBsaW5l LCBlLmcuCiAgKgotICogICBCbG9vbSBGaWx0ZXIgTjogKGEsIGIpIHByb2R1Y2VyPTMgY2hlY2tl ZD05OTk5OSByZWplY3RlZD05OTk5MAorICogICBCbG9vbSBGaWx0ZXIgTjoga2V5cz0oYSwgYikg Y2hlY2tlZD05OTk5OSByZWplY3RlZD05OTk5MAogICoKLSAqIFRoZSBjaGVja2VkL3JlamVjdGVk IGZpZWxkcyBhcmUgb21pdHRlZCBvdXRzaWRlIG9mIEFOQUxZWkUpLiBJbgotICogc3RydWN0dXJl ZCBmb3JtYXRzIHdlIGVtaXQgYSBncm91cCBwZXIgZmlsdGVyIHdpdGggdGhlIHNhbWUgZmllbGRz Ci0gKiBicm9rZW4gb3V0IGFzIHByb3BlcnRpZXMuCisgKiBUaGUgY2hlY2tlZC9yZWplY3RlZCBm aWVsZHMgYXJlIG9taXR0ZWQgb3V0c2lkZSBvZiBBTkFMWVpFKS4gSW4gc3RydWN0dXJlZAorICog Zm9ybWF0cyB3ZSBlbWl0IGEgZ3JvdXAgcGVyIGZpbHRlciB3aXRoIHRoZSBzYW1lIGZpZWxkcyBi cm9rZW4gb3V0IGFzCisgKiBwcm9wZXJ0aWVzLgogICoKLSAqIENhbGxlZCBmcm9tIHRoZSBwZXIt cmVjaXBpZW50IGNhc2VzIGluIEV4cGxhaW5Ob2RlOyB0aGUgcmVjaXBpZW50IGlzCi0gKiBleHBl Y3RlZCB0byBiZSBhIHNjYW4gbm9kZSBpbiB0aGUgY3VycmVudCBQb0MsIGJ1dCBub3RoaW5nIGhl cmUKLSAqIGRlcGVuZHMgb24gdGhhdC4KKyAqIENhbGxlZCBmcm9tIHRoZSBwZXItcmVjaXBpZW50 IGNhc2VzIGluIEV4cGxhaW5Ob2RlOyB0aGUgcmVjaXBpZW50IGlzIGV4cGVjdGVkCisgKiB0byBi ZSBhIHNjYW4gbm9kZSwgYnV0IG5vdGhpbmcgaGVyZSBkZXBlbmRzIG9uIHRoYXQuIFdlIG1heSBj aG9vc2UgdG8gcHVzaAorICogZmlsdGVycyB0byBvdGhlciBub2RlcyBpbiB0aGUgcGxhbi4KKyAq CisgKiBUaGlzIG9ubHkgcHJpbnRzIGluZm9ybWF0aW9uIGFib3V0IHRoZSBrZXlzLCBhbmQgdGhl IGNoZWNrZWQvcmVqZWN0ZWQgY291bnRzLgorICogRGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQg dGhlIGZpbHRlciBpdHNlbGYgKG51bWJlciBvZiBiaXRzLCBudW1iZXIgb2YgaGFzaAorICogZnVu Y3Rpb25zLCAuLi4pIGlzIGF2YWlsYWJsZSBvbiB0aGUgcHJvZHVjZXIgc2lkZS4KKyAqCisgKiBY WFggSXQgbWlnaHQgYmUgYSBnb29kIGlkZWEgdG8gc2hvdyB0aGUgZXhwZWN0ZWQgZmlsdGVyIHNl bGVjdGl2aXR5IHRvbywKKyAqIG5vdCBqdXN0IHRoZSBvbmUgYWN0dWFsbHkgb2JzZXJ2ZWQgZHVy aW5nIGV4ZWN1dGlvbi4gVGhhdCdkIG1ha2UgaXQgZWFzaWVyCisgKiB0byByZWFzb24gYWJvdXQg dGhlIGRlY2lzaW9ucyBhbmQgcmV2aWV3IHRoZSBwbGFuIGNoYW5nZXMuCisgKgorICogWFhYIElm IHdlIGNob29zZSBvdGhlciBmaWx0ZXIgdHlwZXMsIHdlJ2QgbmVlZCBzb21lIGdlbmVyYWwgd2F5 IHRvIHNob3cgdGhlCisgKiBpbmZvcm1hdGlvbi4gSSBkb24ndCBrbm93IGlmIHdlIHNob3VsZCBo YXZlIGEgImdlbmVyaWMiIGluZm9ybWF0aW9uIHByb3ZpZGVkCisgKiBieSBhbGwgdGhlIGZpbHRl cnMsIG9yIGlmIHdlIHdvdWxkIG5lZWQgYSB3YXkgdG8gcHJpbnQgY3VzdG9tIGluZm9ybWF0aW9u LgorICogQ2hhbmNlcyBhcmUgd2UnZCBoYXZlIGEgbGltaXRlZCBudW1iZXIgb2Ygc3VwcG9ydGVk IGZpbHRlciB0eXBlcywgaW4gd2hpY2gKKyAqIGNhc2Ugd2UgY2FuIGhhdmUgYSBzaG93XyBmdW5j dGlvbiBmb3IgZWFjaCB0eXBlLiBPbmx5IGlmIHVzZXJzIGNvdWxkIGluamVjdAorICogYXJiaXRy YXJ5IGZpbHRlcnMsIHRoYXQnZCBiZSBhbiBpc3N1ZS4gQnV0IHRoYXQgc2VlbXMgdW5saWtlbHku CiAgKi8KIHN0YXRpYyB2b2lkCiBzaG93X2Jsb29tX2ZpbHRlcl9pbmZvKFBsYW5TdGF0ZSAqcGxh bnN0YXRlLCBMaXN0ICphbmNlc3RvcnMsCkBAIC0zNTk5LDkgKzM2MTQsMjEgQEAgc2hvd19oYXNo X2luZm8oSGFzaFN0YXRlICpoYXNoc3RhdGUsIEV4cGxhaW5TdGF0ZSAqZXMpCiAJfQogCiAJLyoK LQkgKiBTaG93IGluZnJvbWF0aW9uIGFib3V0IHRoZSBibG9vbSBmaWx0ZXIgcHJvZHVjZWQgYnkg dGhpcyBIYXNoIG5vZGUKLQkgKiAoaWYgYW55KS4gRm9yIHBsYWluIEVYUExBSU4sIHRoZSBmaWx0 ZXIgaXMgbm90IGluaXRpYWxpemVkIC8gYnVpbHQsCi0JICogYnV0IHdlIHN0aWxsIHNob3cgYXZh aWxhYmxlIHBsYW4tdGltZSBtZXRhZGF0YSAoYXQgbGVhc3QgdGhlIElEKS4KKwkgKiBTaG93IGlu ZnJvbWF0aW9uIGFib3V0IHRoZSBCbG9vbSBmaWx0ZXIgcHJvZHVjZWQgYnkgdGhpcyBIYXNoIG5v ZGUgKGlmCisJICogYW55KS4gRm9yIHBsYWluIEVYUExBSU4sIHRoZSBmaWx0ZXIgaXMgbm90IGlu aXRpYWxpemVkIC8gYnVpbHQsIGJ1dCB3ZQorCSAqIHN0aWxsIHNob3cgYXZhaWxhYmxlIHBsYW4t dGltZSBtZXRhZGF0YSAoYXQgbGVhc3QgdGhlIElEKS4KKwkgKgorCSAqIE9uY2UgdGhlIGZpbHRl ciBpcyBidWlsdCwgd2Ugc2hvdyB0aGUgdmFyaW91cyBmaWx0ZXIgcGFyYW1ldGVycyAobnVtYmVy CisJICogb2YgYml0cywgaGFzaCBmdW5jdGlvbnMsIC4uLikuIE5vdGUgdGhhdCBldmVuIHdpdGgg RVhQTEFJTiBBTkFMWVpFIHRoZQorCSAqIGZpbHRlciBtYXkgbm90IGJlIGJ1aWx0LCBkdWUgdG8g dGhlIGhhc2hqb2luIGRlbGF5aW5nIHRoZSBIYXNoIGJ1aWxkCisJICogdW50aWwgb24gdGhlIGZp cnN0IG91dGVyIHR1cGxlLgorCSAqCisJICogWFhYIFdlIGRvbid0IHNob3cgdGhlIGtleXMsIGJl Y2F1c2UgdGhvc2UgYXJlIGFsd2F5cyB0aGUgam9pbiBrZXlzLgorCSAqCisJICogWFhYIEkgdGhp bmsgaXQgbWFrZXMgc2Vuc2UgdG8gc2hvdyB0aGUgY2hlY2tlZC9yZWplY3RlZCBjb3VudGVycyBi b3RoCisJICogaGVyZSBhbmQgZm9yIHRoZSBjb25zdW1lci4gSWYvd2hlbiB3ZSBhbGxvdyBtdWx0 aXBsZSBjb25zdW1lcnMgZm9yIHRoZQorCSAqIGZpbHRlciwgdGhlbiB0aGlzIHdvdWxkIHNob3cg dGhlICJzdW1tYXJ5IiB3aGlsZSB0aGUgc2NhbiBub2RlIHdvdWxkCisJICogc2hvdyBqdXN0IGNv dW50ZXJzIGZvciB0aGF0IG9uZSBjb25zdW1lci4KIAkgKi8KIAlpZiAoaGFzaHN0YXRlLT5ibG9v bV9maWx0ZXJfaWQgPiAwKQogCXsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL25v ZGVIYXNoam9pbi5jIGIvc3JjL2JhY2tlbmQvZXhlY3V0b3Ivbm9kZUhhc2hqb2luLmMKaW5kZXgg OGZhN2FmNGNmZWYuLmUzNDY3ZjE0NzM5IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9leGVjdXRv ci9ub2RlSGFzaGpvaW4uYworKysgYi9zcmMvYmFja2VuZC9leGVjdXRvci9ub2RlSGFzaGpvaW4u YwpAQCAtMjAxOSwxNSArMjAxOSwxNiBAQCBFeGVjSGFzaEpvaW5Jbml0aWFsaXplV29ya2VyKEhh c2hKb2luU3RhdGUgKnN0YXRlLAogICogQkxPT00gRklMVEVSIFBVU0hET1dOCiAgKgogICogVGhl IHB1c2hkb3duIGRlY2lzaW9uIGlzIGRvbmUgaW4gdHJ5X3B1c2hfYmxvb21fZmlsdGVyLCB3aGVu IGNvbnN0cnVjdGluZwotICogdGhlIHBsYW4gZnJvbSB0aGUgc2VsZWN0ZWQgcGF0aHMgKHNlZSBj cmVhdGVwbGFuLmMpLiBJdCBkZWNpZGVzIHdoaWNoIHNjYW4KLSAqIG5vZGUgc2hvdWxkIHJlY2Vp dmUgdGhlIGJsb29tIGZpbHRlciAoaWYgYW55KSwgYW5kIHdoYXQgZXhwcmVzc2lvbnMgaXQKLSAq IHNob3VsZCB1c2UgdG8gY2FsY3VsYXRlIHRoZSBoYXNoIHZhbHVlLgorICogdGhlIHBsYW4gZnJv bSB0aGUgc2VsZWN0ZWQgcGF0aHMuIFRoZSBpbnB1dCBwYXRocyB0cmFjayBmaWx0ZXJzICJleHBl Y3RlZCIKKyAqIGJ5IHNjYW4gbm9kZXMgaW5jbHVkZWQgaW4gdGhhdCBwYXRoIChpZiBhbnkpLiBU aGUgcGxhbm5lciB0aGVuIGVuc3VyZXMgYWxsCisgKiBleHBlY3RlZCBmaWx0ZXJzIGFyZSBlaXRo ZXIgc2F0aXNmaWVkIChieSBtYXRjaGluZyBqb2lucykgb3IgcHJvcGFnYXRlZCB1cC4KKyAqIElu IGEgdmFsaWQgcGxhbiBhbGwgZXhwZWN0ZWQgZmlsdGVycyBhcmUgc2F0aXNmaWVkLgogICoKICAq IFRoZW4gYXQgZXhlY3V0aW9uIHRpbWU6CiAgKgogICogICAtIEV4ZWNJbml0SGFzaEpvaW4gcmVn aXN0ZXJzIGl0c2VsZiBpbiBFU3RhdGUuZXNfYmxvb21fcHJvZHVjZXJzCiAgKiAgICAgYmVmb3Jl IHJlY3Vyc2luZyBpbnRvIGNoaWxkIHBsYW5zLCBzbyBieSB0aGUgdGltZSBhIHJlY2lwaWVudCdz Ci0gKiAgICAgRXhlY0luaXQgcnVucywgdGhlIHByb2R1Y2VyIGlzIGFscmVhZHkgZGlzY292ZXJh YmxlIGJ5IHBsYW5fbm9kZV9pZC4KKyAqICAgICBFeGVjSW5pdCBydW5zLCB0aGUgcHJvZHVjZXIg aXMgYWxyZWFkeSBkaXNjb3ZlcmFibGUgYnkgZmlsdGVyIElELgogICogICAgIFRoaXMgcmVnaXN0 cmF0aW9uIG9ubHkgaGFwcGVucyB3aGVuIHRoZXJlJ3MgYXQgbGVhc3Qgb25lIGNvbnN1bWVyLgog ICogICAgIEl0IGFsc28gc2V0cyB3YW50X2Jsb29tX2ZpbHRlciBmb3IgdGhlIEhhc2ggbm9kZS4K ICAqCkBAIC0yMDM1LDI1ICsyMDM2LDI1IEBAIEV4ZWNIYXNoSm9pbkluaXRpYWxpemVXb3JrZXIo SGFzaEpvaW5TdGF0ZSAqc3RhdGUsCiAgKiAgICAgd2hlbiBIYXNoU3RhdGUud2FudF9ibG9vbV9m aWx0ZXIgaXMgc2V0IChzbyBubyB3b3JrIGhhcHBlbnMgd2hlbgogICogICAgIG5vYm9keSB3aWxs IHByb2JlKS4KICAqCi0gKiAgIC0gTm9kZXMgd2l0aCBub24tTklMIHBsYW4tPmJsb29tX2ZpbHRl cnMgKGFuZCBzdXBwb3J0aW5nIGJsb29tCisgKiAgIC0gTm9kZXMgd2l0aCBub24tTklMIHBsYW4t PmJsb29tX2ZpbHRlcnMgKGFuZCBzdXBwb3J0aW5nIEJsb29tCiAgKiAgICAgZmlsdGVycykgY2Fs bCBFeGVjSW5pdEJsb29tRmlsdGVycygpIGR1cmluZyBpdHMgb3duIEV4ZWNJbml0LAogICogICAg IHdoaWNoIGxvb2tzIHVwIHRoZSBwcm9kdWNlciBub2RlIChpbiB0aGUgRVN0YXRlKSwgY29tcGls ZXMKICAqICAgICBFeHByU3RhdGVzIGZvciB0aGUgaGFzaCBleHByZXNzaW9ucywgZXRjLiBUaGUg ZmlsdGVyIHN0YXRlCiAgKiAgICAgKEJsb29tRmlsdGVyU3RhdGUpIGdldHMgYWRkZWQgdG8gcHMt PmJsb29tX2ZpbHRlcnMgKGEgbm9kZSBtYXkKLSAqICAgICBoYXZlIG11bHRpcGxlIGJsb29tIGZp bHRlcnMgZnJvbSBkaWZmZXJlbnQgaGFzaCBqb2lucykuCisgKiAgICAgaGF2ZSBtdWx0aXBsZSBC bG9vbSBmaWx0ZXJzIGZyb20gZGlmZmVyZW50IGhhc2ggam9pbnMpLgogICoKICAqICAgLSBUaGUg cGVyLXR1cGxlIGxvb3Agb2YgdGhlIHNjYW4gbm9kZSBjYWxscyBFeGVjQmxvb21GaWx0ZXJzKCkg KG11Y2gKICAqICAgICBsaWtlIEV4ZWNRdWFsKSB0byB0ZXN0IHRoZSB0dXBsZSBhZ2FpbnN0IGV2 ZXJ5IGF0dGFjaGVkIGZpbHRlciwKICAqICAgICBkcm9wcGluZyBpdCBvbiB0aGUgZmlyc3QgZmls dGVyIHRoYXQgZXhjbHVkZXMgaXQuIEZvciBzY2FuIG5vZGVzCiAgKiAgICAgdGhpcyBjYWxsIGhh cHBlbnMgaW4gRXhlY1NjYW5FeHRlbmRlZC4KICAqCi0gKiBUaGUgc2NhbiBub2RlcyByZWFjaCB0 aGUgYmxvb20gZmlsdGVyIHZpYSB0aGUgSGFzaEpvaW5TdGF0ZSBwb2ludGVyCisgKiBUaGUgc2Nh biBub2RlcyByZWFjaCB0aGUgQmxvb20gZmlsdGVyIHZpYSB0aGUgSGFzaEpvaW5TdGF0ZSBwb2lu dGVyCiAgKiBhZGRlZCB0byBFU3RhdGUuZXNfYmxvb21fcHJvZHVjZXJzLCBzbyB0aGF0IHRoZSBy ZXNjYW5zIGV0Yy4gKGZpbHRlcgogICogZnJlZWQgKyByZWNyZWF0ZWQgd2hlbiB0aGUgaGFzaCB0 YWJsZSBpcyBkZXN0cm95ZWQgYW5kIHJlYnVpbHQpIGFyZQotICogdHJhbnNwYXJlbnQgdG8gdGhl IGNvbnN1bWVyLiBUaGUgYmxvb20gZmlsdGVyIGdldHMgcmVhbGxvY2F0ZWQgYWZ0ZXIKKyAqIHRy YW5zcGFyZW50IHRvIHRoZSBjb25zdW1lci4gVGhlIEJsb29tIGZpbHRlciBnZXRzIHJlYWxsb2Nh dGVkIGFmdGVyCiAgKiBhIHJlc2Nhbiwgc28gdGhlIHBvaW50ZXIgdG8gaXQgbWF5IGNoYW5nZS4K ICAqCi0gKiBYWFggSXQncyBwb3NzaWJsZSB0aGUgYmxvb20gZmlsdGVyIGdldHMgcHVzaGVkIGRv d24gdG8gYSBub2RlIHRoYXQKKyAqIFhYWCBJdCdzIHBvc3NpYmxlIHRoZSBCbG9vbSBmaWx0ZXIg Z2V0cyBwdXNoZWQgZG93biB0byBhIG5vZGUgdGhhdAogICogZmFpbHMgdG8gaW5pdGlhbGl6ZS91 c2UgaXQuIEl0J2xsIGJlIGFkZGVkIHRvIHRoZSBibG9vbV9maWx0ZXJzIGxpc3QsCiAgKiBidXQg aWYgdGhlIG5vZGUgZG9lcyBub3QgY2FsbCBFeGVjSW5pdEJsb29tRmlsdGVycywgdGhlIGZpbHRl ciB3aWxsCiAgKiBiZSB1bnVzZWQuCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9vcHRpbWl6ZXIv cGF0aC9hbGxwYXRocy5jIGIvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3BhdGgvYWxscGF0aHMuYwpp bmRleCBjMTM0NTk0YTIxYS4uODgyOWM3YzMxMDggMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL29w dGltaXplci9wYXRoL2FsbHBhdGhzLmMKKysrIGIvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3BhdGgv YWxscGF0aHMuYwpAQCAtMTA3LDYgKzEwNyw5IEBAIHN0YXRpYyB2b2lkIHNldF9yZWxfY29uc2lk ZXJfcGFyYWxsZWwoUGxhbm5lckluZm8gKnJvb3QsIFJlbE9wdEluZm8gKnJlbCwKIAkJCQkJCQkJ CSAgUmFuZ2VUYmxFbnRyeSAqcnRlKTsKIHN0YXRpYyB2b2lkIHNldF9wbGFpbl9yZWxfcGF0aGxp c3QoUGxhbm5lckluZm8gKnJvb3QsIFJlbE9wdEluZm8gKnJlbCwKIAkJCQkJCQkJICAgUmFuZ2VU YmxFbnRyeSAqcnRlKTsKK3N0YXRpYyBMaXN0ICpmaW5kX2ludGVyZXN0aW5nX2Jsb29tX2ZpbHRl cnMoUGxhbm5lckluZm8gKnJvb3QsCisJCQkJCQkJCQkJCVJlbE9wdEluZm8gKnJlbCk7CitzdGF0 aWMgdm9pZCBnZW5lcmF0ZV9leHBlY3RlZF9maWx0ZXJfcGF0aHMoUGxhbm5lckluZm8gKnJvb3Qs IFJlbE9wdEluZm8gKnJlbCk7CiBzdGF0aWMgdm9pZCBzZXRfdGFibGVzYW1wbGVfcmVsX3NpemUo UGxhbm5lckluZm8gKnJvb3QsIFJlbE9wdEluZm8gKnJlbCwKIAkJCQkJCQkJCSBSYW5nZVRibEVu dHJ5ICpydGUpOwogc3RhdGljIHZvaWQgc2V0X3RhYmxlc2FtcGxlX3JlbF9wYXRobGlzdChQbGFu bmVySW5mbyAqcm9vdCwgUmVsT3B0SW5mbyAqcmVsLApAQCAtNjAzLDYgKzYwNiwxNiBAQCBzZXRf cmVsX3BhdGhsaXN0KFBsYW5uZXJJbmZvICpyb290LCBSZWxPcHRJbmZvICpyZWwsCiAJCSFibXNf ZXF1YWwocmVsLT5yZWxpZHMsIHJvb3QtPmFsbF9xdWVyeV9yZWxzKSkKIAkJZ2VuZXJhdGVfdXNl ZnVsX2dhdGhlcl9wYXRocyhyb290LCByZWwsIGZhbHNlKTsKIAorCS8qCisJICogRm9yIHBsYWlu IGJhc2UgcmVsYXRpb25zLCBjb25zaWRlciBnZW5lcmF0aW5nIGFkZGl0aW9uYWwgc2NhbiBwYXRo cworCSAqIHRoYXQgYW50aWNpcGF0ZSBhIEJsb29tIGZpbHRlciBiZWluZyBwdXNoZWQgZG93biBm cm9tIGEgaGFzaCBqb2luIGFib3ZlCisJICogKHNlZSBmaW5kX2ludGVyZXN0aW5nX2Jsb29tX2Zp bHRlcnMpLiAgVGhlc2UgcGF0aHMgaGF2ZSByZWR1Y2VkIHJvdworCSAqIGVzdGltYXRlcyBhbmQg YXJlIGNvbnN1bWVkIGJ5IGpvaW4gcGF0aCBnZW5lcmF0aW9uLgorCSAqLworCWlmIChyZWwtPnJl bG9wdGtpbmQgPT0gUkVMT1BUX0JBU0VSRUwgJiYKKwkJcnRlLT5ydGVraW5kID09IFJURV9SRUxB VElPTikKKwkJZ2VuZXJhdGVfZXhwZWN0ZWRfZmlsdGVyX3BhdGhzKHJvb3QsIHJlbCk7CisKIAkv KiBOb3cgZmluZCB0aGUgY2hlYXBlc3Qgb2YgdGhlIHBhdGhzIGZvciB0aGlzIHJlbCAqLwogCXNl dF9jaGVhcGVzdChyZWwpOwogCkBAIC04ODQsNiArODk3LDQ1NiBAQCBjcmVhdGVfcGxhaW5fcGFy dGlhbF9wYXRocyhQbGFubmVySW5mbyAqcm9vdCwgUmVsT3B0SW5mbyAqcmVsKQogCWFkZF9wYXJ0 aWFsX3BhdGgocmVsLCBjcmVhdGVfc2Vxc2Nhbl9wYXRoKHJvb3QsIHJlbCwgTlVMTCwgcGFyYWxs ZWxfd29ya2VycykpOwogfQogCisvKgorICogYmxvb21fZW1fbWF0Y2hlc19hbnliYXJldmFyCisg KgkgIGVjX21hdGNoZXNfY2FsbGJhY2sgdXNlZCBieSBmaW5kX2ludGVyZXN0aW5nX2Jsb29tX2Zp bHRlcnM6IGFjY2VwdCBhbnkKKyAqCSAgRXF1aXZhbGVuY2VDbGFzcyBtZW1iZXIgdGhhdCBpcyBh IGJhcmUgVmFyIG9mIHRoZSB0YXJnZXQgcmVsYXRpb24uICBUaGUKKyAqCSAgQmxvb20gZmlsdGVy IHB1c2hkb3duIGxvZ2ljIChjcmVhdGVwbGFuLmMpIG9ubHkgc3VwcG9ydHMgcmVjaXBpZW50cyB3 aG9zZQorICoJICBqb2luIGtleXMgYXJlIGJhcmUgVmFycywgc28gd2UgbWlycm9yIHRoYXQgcmVx dWlyZW1lbnQgaGVyZS4KKyAqLworc3RhdGljIGJvb2wKK2Jsb29tX2VtX21hdGNoZXNfYW55YmFy ZXZhcihQbGFubmVySW5mbyAqcm9vdCwgUmVsT3B0SW5mbyAqcmVsLAorCQkJCQkJCUVxdWl2YWxl bmNlQ2xhc3MgKmVjLCBFcXVpdmFsZW5jZU1lbWJlciAqZW0sCisJCQkJCQkJdm9pZCAqYXJnKQor eworCVZhcgkJICAgKnZhcjsKKworCS8qIFdlJ3JlIGxvb2tpbmcgb25seSBmb3IgYmFyZSBWYXIg ZXhwcmVzc2lvbnMuICovCisJaWYgKCFJc0EoZW0tPmVtX2V4cHIsIFZhcikpCisJCXJldHVybiBm YWxzZTsKKworCS8qCisJICogSXMgdGhlIFZhciByZWZlcmVuY2luZyBhIG5vcm1hbCAobm9uLXN5 c3RlbSkgYXR0cmlidXRlIGluIHRoZSByZWxhdGlvbgorCSAqIHdlJ3JlIHByb2Nlc3NpbmcgKGdl bmVyYXRpbmcgc2NhbnMgZm9yKT8KKwkgKgorCSAqIEZJWE1FIENhbiB3ZSBoYXZlICh2YXJsZXZl bHN1cCAhPSAwKSBmb3IgYmFzZXJlbHM/IEkgZG9uJ3QgdGhpbmsgd2UgY2FuCisJICogaGF2ZSBv dXRlciByZWZlcmVjZW5zZXMgaW4gdGhhdCBwbGFjZS4KKwkgKi8KKwl2YXIgPSAoVmFyICopIGVt LT5lbV9leHByOworCWlmICh2YXItPnZhcm5vICE9IHJlbC0+cmVsaWQgfHwKKwkJdmFyLT52YXJh dHRubyA8PSAwIHx8CisJCXZhci0+dmFybGV2ZWxzdXAgIT0gMCkKKwkJcmV0dXJuIGZhbHNlOwor CisJcmV0dXJuIHRydWU7Cit9CisKKy8qCisgKiBibG9vbV9maWx0ZXJfcmVjaXBpZW50X3JlYWNo YWJsZQorICoJCUNoZWNrIHRoYXQgYSBCbG9vbSBmaWx0ZXIgb3duZWQgYnkgb3duZXJfcmVsaWQg YW5kIGJ1aWx0IGZyb20KKyAqCQlidWlsZF9yZWxpZHMgY291bGQgYWN0dWFsbHkgYmUgcHVzaGVk IHRvIHRoZSBvd25lcidzIHNjYW4uCisgKgorICogQSBwdXNoZWQtZG93biBmaWx0ZXIgcmVtb3Zl cyBvd25lciB0dXBsZXMgdGhhdCBoYXZlIG5vIG1hdGNoIG9uIHRoZSBidWlsZAorICogc2lkZSwg c28gaXQgY2FuIG9ubHkgYmUgYXBwbGllZCB3aGVyZSB0aGUgam9pbiB0aGF0IHJlYWxpemVzIGl0 IGRyb3BzIHN1Y2gKKyAqIHVubWF0Y2hlZCBvd25lciAocHJvYmUpIHR1cGxlcy4gIElmIGFuIG91 dGVyIGpvaW4gbnVsbC1leHRlbmRzIHRoZSBvd25lcgorICogYmVmb3JlIGl0IGNhbiBiZSBqb2lu ZWQgdG8gdGhlIGJ1aWxkIHNpZGUsIHRoZSBmaWx0ZXIgd291bGQgY2hhbmdlIHRoZQorICogcmVz dWx0IGFuZCBpcyB0aGVyZWZvcmUgdW51c2FibGU6IGF0IHBsYW4gdGltZSBmaW5kX2Jsb29tX2Zp bHRlcl9yZWNpcGllbnQKKyAqIHdvdWxkIHJlZnVzZSB0byBkZXNjZW5kIGludG8gdGhhdCBzaWRl IGFuZCBmaW5kIG5vIHJlY2lwaWVudCAoc2VlIGFsc28KKyAqIGJsb29tX2pvaW5fc2lkZV9wcmVz ZXJ2ZWQsIHdoaWNoIGlzIGNoZWNraW5nIGZvciB0aGlzIHNpdHVhdGlvbikuCisgKgorICogUGlj a2luZyBzdWNoIGEgZmlsdGVyIG9ubHkgdG8gdGhyb3cgaXQgYXdheSBsYXRlciB3YXN0ZXMgcGxh bm5lciBlZmZvcnQsCisgKiBhbmQgd2UgbWlnaHQgYWxzbyBpZ25vcmUgc29tZSBvdGhlciBmaWx0 ZXJzIGJlY2F1c2Ugb2YgdGhhdC4gSXQncyBiZXR0ZXIKKyAqIHRvIGVsaW1pbmF0ZSBpdCByaWdo dCBhd2F5LgorICoKKyAqIFRoaXMgaXMgcHJpbWFyaWx5IGFuIG9wdGltaXphdGlvbiAtIHdlIGRv bid0IHdhbnQgdG8gZ2VuZXJhdGUgcGF0aHMgdGhhdAorICogd291bGQgdWx0aW1hdGVseSBiZSB1 c2VsZXNzLCBhbmQgcG9zc2libHkgbm90IGdlbmVyYXRpbmcgcGF0aHMgZm9yIG90aGVyCisgKiBm aWx0ZXJzLiBUaGUgY29ycmVjdG5lc3MgaXMgc3RpbGwgZ3VhcmFudGVlZCBieSB0aGUgcHJvcGFn YXRpb24gbG9naWMgaW4KKyAqIGNvbXB1dGVfam9pbl9leHBlY3RlZF9maWx0ZXJzKCksIHdoaWNo IHJlamVjdHMgY2FzZXMgdGhhdCB3b3VsZCBjYXJyeSBhCisgKiBmaWx0ZXIgYWNyb3NzIGEgbm9u LXByZXNlcnZlZCBqb2luIHNpZGUuIFRoYXQgZ3VhcmFudGVlcyB3ZSBkb24ndCBwaWNrIGEKKyAq IHBsYW4gd2l0aCBzdWNoIGZpbHRlcnMsIG9ubHkgdG8gZmluZCBhYm91dCB0aGUgaXNzdWUgaW4g Y3JlYXRlcGxhbi5jLgorICovCitzdGF0aWMgYm9vbAorYmxvb21fZmlsdGVyX3JlY2lwaWVudF9y ZWFjaGFibGUoUGxhbm5lckluZm8gKnJvb3QsIEluZGV4IG93bmVyX3JlbGlkLAorCQkJCQkJCQkg UmVsaWRzIGJ1aWxkX3JlbGlkcykKK3sKKwlMaXN0Q2VsbCAgICpsYzsKKworCWZvcmVhY2gobGMs IHJvb3QtPmpvaW5faW5mb19saXN0KQorCXsKKwkJU3BlY2lhbEpvaW5JbmZvICpzamluZm8gPSAo U3BlY2lhbEpvaW5JbmZvICopIGxmaXJzdChsYyk7CisKKwkJc3dpdGNoIChzamluZm8tPmpvaW50 eXBlKQorCQl7CisJCQljYXNlIEpPSU5fTEVGVDoKKwkJCWNhc2UgSk9JTl9BTlRJOgorCisJCQkJ LyoKKwkJCQkgKiBUaGUgc3ludGFjdGljIFJIUyBpcyBudWxsLWV4dGVuZGVkLiAgSWYgdGhlIG93 bmVyIGlzIG9uIGl0CisJCQkJICogYnV0IHRoZSBidWlsZCBzaWRlIGlzIHJlYWNoZWQgZnJvbSB0 aGUgcHJlc2VydmVkIExIUywgdGhlCisJCQkJICogb3duZXIgbXVzdCBjcm9zcyB0aGlzIG91dGVy IGpvaW4gb24gaXRzIG51bGxhYmxlIHNpZGUuCisJCQkJICovCisJCQkJaWYgKGJtc19pc19tZW1i ZXIob3duZXJfcmVsaWQsIHNqaW5mby0+c3luX3JpZ2h0aGFuZCkgJiYKKwkJCQkJIWJtc19pc19z dWJzZXQoYnVpbGRfcmVsaWRzLCBzamluZm8tPnN5bl9yaWdodGhhbmQpKQorCQkJCQlyZXR1cm4g ZmFsc2U7CisJCQkJYnJlYWs7CisJCQljYXNlIEpPSU5fRlVMTDoKKworCQkJCS8qCisJCQkJICog Qm90aCBzaWRlcyBhcmUgbnVsbC1leHRlbmRlZCwgc28gdGhlIGZpbHRlciBpcyB1bnVzYWJsZQor CQkJCSAqIHdoZW5ldmVyIHRoZSBvd25lciBhbmQgdGhlIGJ1aWxkIHNpZGUgc2l0IG9uIG9wcG9z aXRlIHNpZGVzCisJCQkJICogb2YgdGhlIGpvaW4uCisJCQkJICovCisJCQkJaWYgKGJtc19pc19t ZW1iZXIob3duZXJfcmVsaWQsIHNqaW5mby0+c3luX2xlZnRoYW5kKSAmJgorCQkJCQkhYm1zX2lz X3N1YnNldChidWlsZF9yZWxpZHMsIHNqaW5mby0+c3luX2xlZnRoYW5kKSkKKwkJCQkJcmV0dXJu IGZhbHNlOworCQkJCWlmIChibXNfaXNfbWVtYmVyKG93bmVyX3JlbGlkLCBzamluZm8tPnN5bl9y aWdodGhhbmQpICYmCisJCQkJCSFibXNfaXNfc3Vic2V0KGJ1aWxkX3JlbGlkcywgc2ppbmZvLT5z eW5fcmlnaHRoYW5kKSkKKwkJCQkJcmV0dXJuIGZhbHNlOworCQkJCWJyZWFrOworCQkJZGVmYXVs dDoKKwkJCQkvKiBJTk5FUiBhbmQgU0VNSSBqb2lucyBuZXZlciBudWxsLWV4dGVuZCB0aGUgb3du ZXIuICovCisJCQkJYnJlYWs7CisJCX0KKwl9CisKKwlyZXR1cm4gdHJ1ZTsKK30KKworLyoKKyAq IGZpbmRfaW50ZXJlc3RpbmdfYmxvb21fZmlsdGVycworICoJICBJZGVudGlmeSBCbG9vbSBmaWx0 ZXJzIHRoYXQgYSBoYXNoIGpvaW4gYWJvdmUgdGhpcyBzY2FuIGNvdWxkIHB1c2ggZG93biwKKyAq CSAgYW5kIHRoYXQgYXJlIHNlbGVjdGl2ZSBlbm91Z2ggdG8gYmUgd29ydGggY29zdGluZyBmb3Iu CisgKgorICogV2UgbG9vayBmb3IgaGFzaGpvaW5hYmxlIGVxdWFsaXR5IGpvaW4gY2xhdXNlcyB3 aGVyZSB0aGlzIHJlbCdzIHNpZGUgaXMgYQorICogYmFyZSBWYXIsIGRlcml2ZWQgYm90aCBmcm9t IEVxdWl2YWxlbmNlQ2xhc3NlcyBhbmQgZnJvbSBub24tRUMgam9pbmluZm8KKyAqIGNsYXVzZXMu ICBDbGF1c2VzIGFyZSBncm91cGVkIGJ5IHRoZSByZWxpZHMgb24gdGhlIG90aGVyICgiYnVpbGQi KSBzaWRlIG9mCisgKiB0aGUgam9pbjsgZWFjaCBncm91cCBiZWNvbWVzIGEgY2FuZGlkYXRlIGZp bHRlciB3aG9zZSBleHBlY3RlZCBzdXJ2aXZpbmcKKyAqIGZyYWN0aW9uIGlzIGVzdGltYXRlZCBh cyB0aGUgc2VtaWpvaW4gc2VsZWN0aXZpdHkgb2YgdGhvc2UgY2xhdXNlcy4KKyAqCisgKiBBIGNh bmRpZGF0ZSBpcyAiaW50ZXJlc3RpbmciIG9ubHkgaWYgaXQgaXMgZXhwZWN0ZWQgdG8gZWxpbWlu YXRlIGF0IGxlYXN0CisgKiBibG9vbV9maWx0ZXJfcHVzaGRvd25fdGhyZXNob2xkIG9mIHRoZSBy ZWwncyB0dXBsZXMuICBXZSBrZWVwIGF0IG1vc3QKKyAqIGJsb29tX2ZpbHRlcl9wdXNoZG93bl9t YXggb2YgdGhlIG1vc3Qgc2VsZWN0aXZlIGNhbmRpZGF0ZXMsIGFuZCByZXR1cm4gdGhlbQorICog YXMgYSBsaXN0IG9mIEV4cGVjdGVkRmlsdGVyIG5vZGVzLgorICoKKyAqIFhYWCBUaGlzIG5lZWRz IHRvIGJlIGNhcmVmdWwgdG8gbm90IGludGVyZmVyZSB3aXRoIHRoZSBnZW5lcmFsIHNlbGVjdGl2 aXR5CisgKiBlc3RpbWF0aW9uLCBwZXJmb3JtZWQgYnkgY2xhdXNlbGlzdF9zZWxlY3Rpdml0eSgp LiBXZSdsbCBlc3RpbWF0ZSB0aGUgZmlsdGVyCisgKiBzZWxlY3Rpdml0eSB1c2luZyBhIG1hZGUt dXAgc2ppbmZvIHdpdGggSk9JTl9JTk5FUiwgd2hpY2ggbWF5IG5vdCBtYXRjaAorICogdGhlIGFj dHVhbCBqb2luLiBUaGUgc2VsZWN0aXZpdGllcyBtdXN0IG5vdCBsZWFrIC0gdGhpcyBpcyB3aHkg dGhpcyBmdW5jdGlvbgorICogZG9lcyBub3QgY29sbGVjdCB0aGUgUmVzdHJpY3RJbmZvcyBidXQg b25seSB0aGUgY2xhdXNlcy4gSWYgd2UgdXNlZCB0aGUKKyAqIFJlc3RyaWN0SW5mb3MsIHRoZSBj bGF1c2VsaXN0X3NlbGVjdGl2aXR5IHdvdWxkIGNhY2hlIHRoZSBpbmNvcnJlY3QgcmVzdWx0Cisg KiBpbiB0aGVtLCBhbmQgaXQnZCBhZmZlY3QgdGhlIHBsYW5uaW5nIGluIHdlaXJkIHdheXMuCisg KgorICogRklYTUUgTWF5YmUgdGhlcmUncyBhIGJldHRlciB3YXkgdG8gY2FsY3VsYXRlIHRoZSBm aWx0ZXIgc2VsZWN0aXZpdHk/CisgKi8KK3N0YXRpYyBMaXN0ICoKK2ZpbmRfaW50ZXJlc3Rpbmdf Ymxvb21fZmlsdGVycyhQbGFubmVySW5mbyAqcm9vdCwgUmVsT3B0SW5mbyAqcmVsKQoreworCUxp c3QJICAgKmNhbmRpZGF0ZXM7CisJTGlzdAkgICAqZ3JvdXBfcmVsaWRzID0gTklMOyAvKiBwYXJh bGxlbDogUmVsaWRzIHBlciBncm91cCAqLworCUxpc3QJICAgKmdyb3VwX2NsYXVzZXMgPSBOSUw7 CS8qIHBhcmFsbGVsOiBMaXN0IG9mIGNsYXVzZXMgKi8KKwlMaXN0CSAgICpyZXN1bHQgPSBOSUw7 CisJTGlzdENlbGwgICAqbGM7CisKKwlpZiAoIWVuYWJsZV9oYXNoam9pbl9ibG9vbSkKKwkJcmV0 dXJuIE5JTDsKKworCWlmIChibG9vbV9maWx0ZXJfcHVzaGRvd25fbWF4IDw9IDApCisJCXJldHVy biBOSUw7CisKKwlpZiAocmVsLT5yZWxvcHRraW5kICE9IFJFTE9QVF9CQVNFUkVMKQorCQlyZXR1 cm4gTklMOworCisJLyogQ29sbGVjdCBjYW5kaWRhdGUgaGFzaGpvaW5hYmxlIGVxdWFsaXR5IGNs YXVzZXMgZm9yIHRoaXMgcmVsLiAqLworCWNhbmRpZGF0ZXMgPSBnZW5lcmF0ZV9pbXBsaWVkX2Vx dWFsaXRpZXNfZm9yX2FsbF9jb2x1bW5zKHJvb3QsIHJlbCwKKwkJCQkJCQkJCQkJCQkJCSBibG9v bV9lbV9tYXRjaGVzX2FueWJhcmV2YXIsCisJCQkJCQkJCQkJCQkJCQkgTlVMTCwgTlVMTCk7CisK Kwlmb3JlYWNoKGxjLCByZWwtPmpvaW5pbmZvKQorCXsKKwkJUmVzdHJpY3RJbmZvICpyaW5mbyA9 IChSZXN0cmljdEluZm8gKikgbGZpcnN0KGxjKTsKKworCQkvKiBFQy1kZXJpdmVkIGNsYXVzZXMg YXJlIGFscmVhZHkgY292ZXJlZCBhYm92ZS4gKi8KKwkJaWYgKHJpbmZvLT5wYXJlbnRfZWMgIT0g TlVMTCkKKwkJCWNvbnRpbnVlOworCisJCWNhbmRpZGF0ZXMgPSBsYXBwZW5kKGNhbmRpZGF0ZXMs IHJpbmZvLT5jbGF1c2UpOworCX0KKworCS8qIEdyb3VwIGNhbmRpZGF0ZSBjbGF1c2VzIGJ5IHRo ZWlyIGJ1aWxkLXNpZGUgcmVsaWRzLiAqLworCWZvcmVhY2gobGMsIGNhbmRpZGF0ZXMpCisJewor CQlOb2RlCSAgICpjbGF1c2UgPSAoTm9kZSAqKSBsZmlyc3QobGMpOworCQlOb2RlCSAgICpsZWZ0 OworCQlOb2RlCSAgICpyaWdodDsKKwkJTm9kZQkgICAqb3duZXJleHByOworCQlPaWQJCQlvcG5v OworCQlSZWxpZHMJCWNsYXVzZV9yZWxpZHM7CisJCVJlbGlkcwkJYnVpbGRfcmVsaWRzOworCQlp bnQJCQlidWlsZHJlbDsKKwkJTGlzdENlbGwgICAqbGMyOworCQlMaXN0Q2VsbCAgICpsYzM7CisJ CWJvb2wJCWZvdW5kOworCisJCS8qIHN0cmlwIFJlc3RyaWN0SW5mbyAoc2VlIGNvbW1lbnQgYWJv dmUpICovCisJCWlmIChJc0EoY2xhdXNlLCBSZXN0cmljdEluZm8pKQorCQkJY2xhdXNlID0gKE5v ZGUgKikgKChSZXN0cmljdEluZm8gKikgY2xhdXNlKS0+Y2xhdXNlOworCisJCS8qCisJCSAqIE9u bHkgY2FyZSBhYm91dCAoRXhwciBvcCBFeHByKSBjbGF1c2VzLiBXZSBrbm93IG9uZSBzaWRlIGhh cyB0byBiZQorCQkgKiBhIGJhcmUgVmFyIG5vZGUsIGZyb20gdGhlICJvd25lciIgc2lkZSAod2hp Y2ggaXMgdGhlIHNjYW4gbm9kZSkuCisJCSAqIFRoZSBvdGhlciBzaWRlIGNhbiBiZSBhcmJpdHJh cnkgZXhwcmVzc2lvbiBvbiB0aGUgb3RoZXIgcmVsYXRpb24uCisJCSAqLworCQlpZiAoIWlzX29w Y2xhdXNlKGNsYXVzZSkgfHwKKwkJCWxpc3RfbGVuZ3RoKCgoT3BFeHByICopIGNsYXVzZSktPmFy Z3MpICE9IDIpCisJCQljb250aW51ZTsKKworCQlvcG5vID0gKChPcEV4cHIgKikgY2xhdXNlKS0+ b3BubzsKKwkJbGVmdCA9IGdldF9sZWZ0b3AoY2xhdXNlKTsKKwkJcmlnaHQgPSBnZXRfcmlnaHRv cChjbGF1c2UpOworCisJCS8qIElkZW50aWZ5IHdoaWNoIHNpZGUgaXMgYSBiYXJlIFZhciBvZiB0 aGlzIHJlbCAodGhlIG93bmVyIHNpZGUpLiAqLworCQkvKiBYWFggcmVwbGFjZSB0aGlzIHdpdGgg YSBtYWNybyBzaGFyZWQgd2l0aCBibG9vbV9lbV9tYXRjaGVzX2FueWJhcmV2YXIgKi8KKwkJaWYg KElzQShsZWZ0LCBWYXIpICYmICgoVmFyICopIGxlZnQpLT52YXJubyA9PSByZWwtPnJlbGlkICYm CisJCQkoKFZhciAqKSBsZWZ0KS0+dmFyYXR0bm8gPiAwICYmICgoVmFyICopIGxlZnQpLT52YXJs ZXZlbHN1cCA9PSAwKQorCQkJb3duZXJleHByID0gbGVmdDsKKwkJZWxzZSBpZiAoSXNBKHJpZ2h0 LCBWYXIpICYmICgoVmFyICopIHJpZ2h0KS0+dmFybm8gPT0gcmVsLT5yZWxpZCAmJgorCQkJCSAo KFZhciAqKSByaWdodCktPnZhcmF0dG5vID4gMCAmJgorCQkJCSAoKFZhciAqKSByaWdodCktPnZh cmxldmVsc3VwID09IDApCisJCQlvd25lcmV4cHIgPSByaWdodDsKKwkJZWxzZQorCQkJY29udGlu dWU7CisKKwkJLyogT3BlcmF0b3IgbXVzdCBiZSBoYXNoam9pbmFibGUgb24gdGhlIG93bmVyJ3Mg aW5wdXQgdHlwZS4gKi8KKwkJaWYgKCFvcF9oYXNoam9pbmFibGUob3BubywgZXhwclR5cGUob3du ZXJleHByKSkpCisJCQljb250aW51ZTsKKworCQkvKgorCQkgKiBUaGUgYnVpbGQgc2lkZSBtdXN0 IGJlIGEgc2luZ2xlIGJhc2UgcmVsYXRpb247IHRoYXQncyB3aGF0IHRoZQorCQkgKiByZWNpcGll bnQgbG9va3VwIGFuZCBvdXIgc2VsZWN0aXZpdHkgZXN0aW1hdGUgY2FuIGhhbmRsZS4KKwkJICoK KwkJICogWFhYIEkgZG9uJ3QgdGhpbmsgdGhpcyByZXN0cmljdGlvbiBpcyBuZWNlc3NhcnkuIFdl IGNhbiBhbGxvdyB0aGUKKwkJICogYnVpbGQgc2lkZSB0byBiZSBhIGpvaW4uIEkgZG9uJ3Qgc2Vl IHdoeSB0aGF0IHdvdWxkIGJlIGEgcHJvYmxlbS4KKwkJICovCisJCWNsYXVzZV9yZWxpZHMgPSBw dWxsX3Zhcm5vcyhyb290LCAoTm9kZSAqKSBjbGF1c2UpOworCQlidWlsZF9yZWxpZHMgPSBibXNf ZGlmZmVyZW5jZShjbGF1c2VfcmVsaWRzLCByZWwtPnJlbGlkcyk7CisJCWlmICghYm1zX2dldF9z aW5nbGV0b25fbWVtYmVyKGJ1aWxkX3JlbGlkcywgJmJ1aWxkcmVsKSB8fAorCQkJYnVpbGRyZWwg Pj0gcm9vdC0+c2ltcGxlX3JlbF9hcnJheV9zaXplIHx8CisJCQlyb290LT5zaW1wbGVfcmVsX2Fy cmF5W2J1aWxkcmVsXSA9PSBOVUxMIHx8CisJCQlyb290LT5zaW1wbGVfcmVsX2FycmF5W2J1aWxk cmVsXS0+cmVsb3B0a2luZCAhPSBSRUxPUFRfQkFTRVJFTCkKKwkJeworCQkJYm1zX2ZyZWUoYnVp bGRfcmVsaWRzKTsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJLyogQWRkIHRvIGFuIGV4aXN0aW5n IGdyb3VwLCBvciBzdGFydCBhIG5ldyBvbmUuICovCisJCS8qIFhYWCBNYXliZSB3ZSBzb3VsZCBo YXZlIGEgSFRBQiB3aXRoIHRoZSByZWxpZHMgYXMgYSBrZXk/IEJ1dCB0aGUKKwkJICogbGlzdHMg c2hvdWxkIG5vdCBiZSB0aGF0IGxvbmcsIEkgdGhpbmsuICovCisJCWZvdW5kID0gZmFsc2U7CisJ CWZvcmJvdGgobGMyLCBncm91cF9yZWxpZHMsIGxjMywgZ3JvdXBfY2xhdXNlcykKKwkJeworCQkJ UmVsaWRzCQlncmVsaWRzID0gKFJlbGlkcykgbGZpcnN0KGxjMik7CisKKwkJCWlmIChibXNfZXF1 YWwoZ3JlbGlkcywgYnVpbGRfcmVsaWRzKSkKKwkJCXsKKwkJCQlsZmlyc3QobGMzKSA9IGxhcHBl bmQoKExpc3QgKikgbGZpcnN0KGxjMyksIGNsYXVzZSk7CisJCQkJZm91bmQgPSB0cnVlOworCisJ CQkJLyogYWRkZWQgdG8gYW4gZXhpc3RpbmcgZ3JvdXAsIGRvbid0IGtlZXAgdGhlIHJlbGlkcyBh cm91bmQgKi8KKwkJCQlibXNfZnJlZShidWlsZF9yZWxpZHMpOworCisJCQkJYnJlYWs7CisJCQl9 CisJCX0KKworCQlpZiAoIWZvdW5kKSAJLyogbmV3IGdyb3VwICovCisJCXsKKwkJCWdyb3VwX3Jl bGlkcyA9IGxhcHBlbmQoZ3JvdXBfcmVsaWRzLCBidWlsZF9yZWxpZHMpOworCQkJZ3JvdXBfY2xh dXNlcyA9IGxhcHBlbmQoZ3JvdXBfY2xhdXNlcywgbGlzdF9tYWtlMShjbGF1c2UpKTsKKwkJfQor CX0KKworCS8qCisJICogV2UgaGF2ZSBjb2xsZWN0ZWQgYWxsIHBvdGVudGlhbGx5IGludHJlc3Rp bmcgZmlsdGVycy4gRXZhbHVhdGUgc2VsZWN0aXZpdHkKKwkgKiBvZiBlYWNoIGdyb3VwIGFuZCBr ZWVwIG9ubHkgdGhlIG1vc3QgaW50ZXJlc3RpbmcgZmlsdGVycy4gRmlsdGVycyBoYXZlIHRvCisJ ICogZWxpbWluYXRlIGF0IGxlYXN0IGJsb29tX2ZpbHRlcl9wdXNoZG93bl90aHJlc2hvbGQgdHVw bGVzLCBhbmQgd2Uga2VlcAorCSAqIG9ubHkgYmxvb21fZmlsdGVyX3B1c2hkb3duX21heCBtb3N0 IHNlbGVjdGl2ZSBvbmVzLgorCSAqLworCXsKKwkJTGlzdENlbGwgICAqbGNyID0gbGlzdF9oZWFk KGdyb3VwX3JlbGlkcyk7CisJCUxpc3RDZWxsICAgKmxjYyA9IGxpc3RfaGVhZChncm91cF9jbGF1 c2VzKTsKKworCQl3aGlsZSAobGNyICE9IE5VTEwgJiYgbGNjICE9IE5VTEwpCisJCXsKKwkJCVJl bGlkcwkJYnVpbGRfcmVsaWRzID0gKFJlbGlkcykgbGZpcnN0KGxjcik7CisJCQlMaXN0CSAgICpj bGF1c2VzID0gKExpc3QgKikgbGZpcnN0KGxjYyk7CisJCQlTcGVjaWFsSm9pbkluZm8gc2ppbmZv OworCQkJU2VsZWN0aXZpdHkgc2VsOworCisJCQlpbml0X2R1bW15X3NqaW5mbygmc2ppbmZvLCBy ZWwtPnJlbGlkcywgYnVpbGRfcmVsaWRzKTsKKwkJCXNqaW5mby5qb2ludHlwZSA9IEpPSU5fU0VN STsKKworCQkJc2VsID0gY2xhdXNlbGlzdF9zZWxlY3Rpdml0eShyb290LCBjbGF1c2VzLCAwLCBK T0lOX1NFTUksICZzamluZm8pOworCisJCQlpZiAoKHNlbCA8PSAxLjAgLSBibG9vbV9maWx0ZXJf cHVzaGRvd25fdGhyZXNob2xkKSAmJgorCQkJCShzZWwgPiAwLjApICYmCS8qIFhYWCBzZWVtcyB1 bm5lY2Vzc2FyeSAqLworCQkJCWJsb29tX2ZpbHRlcl9yZWNpcGllbnRfcmVhY2hhYmxlKHJvb3Qs IHJlbC0+cmVsaWQsIGJ1aWxkX3JlbGlkcykpCisJCQl7CisJCQkJRXhwZWN0ZWRGaWx0ZXIgKmYg PSBtYWtlTm9kZShFeHBlY3RlZEZpbHRlcik7CisKKwkJCQlmLT5vd25lcl9yZWxpZCA9IHJlbC0+ cmVsaWQ7CisJCQkJZi0+YnVpbGRfcmVsaWRzID0gYnVpbGRfcmVsaWRzOworCQkJCWYtPmNsYXVz ZXMgPSBjbGF1c2VzOworCQkJCWYtPnNlbGVjdGl2aXR5ID0gc2VsOworCQkJCXJlc3VsdCA9IGxh cHBlbmQocmVzdWx0LCBmKTsKKwkJCX0KKworCQkJbGNyID0gbG5leHQoZ3JvdXBfcmVsaWRzLCBs Y3IpOworCQkJbGNjID0gbG5leHQoZ3JvdXBfY2xhdXNlcywgbGNjKTsKKwkJfQorCX0KKworCS8q CisJICogV2Ugb25seSBjb25uc2lkZXIgYSBsaW1pdGVkIG51bWJlciBvZiBpbnRlcmVzdGluZyBm aWx0ZXJzLCB0byBwcmV2ZW50CisJICogcGF0aCBleHBsb3Npb24uIElmIHdlIGZvdW5kIHRvbyBt YW55LCBrZWVwIG9ubHkgdGhlIG1vc3Qgc2VsZWN0aXZlIG9uZXMKKwkgKiAod2l0aCBzbWFsbGVz dCBzdXJ2aXZpbmcgZnJhY3Rpb24gb2YgdHVwbGVzKSwgdG8gYm91bmQgdGhlIG51bWJlciBvZgor CSAqIGdlbmVyYXRlZCBwYXRocy4KKwkgKgorCSAqIFhYWCBUaGlzIGFsc28gYWxpZ25zIHdpdGgg Z29vZCBqb2luIG9yZGVycyAtIHRob3NlIHRlbmQgdG8gcGVyZm9ybSB0aGUKKwkgKiBtb3N0IHNl bGVjdGl2ZSBqb2lucyBmaXJzdC4gU28gd2UgZ2V0IHRvIGJ1aWxkIHRoZSBmaWx0ZXJzIHNvb24s IGV2ZW4KKwkgKiBpZiB0aGUgaGFzaGpvaW4gb3B0aW1pemF0aW9uIGlzIG5vdCBkaXNhYmxlZC4K KwkgKi8KKwl3aGlsZSAobGlzdF9sZW5ndGgocmVzdWx0KSA+IGJsb29tX2ZpbHRlcl9wdXNoZG93 bl9tYXgpCisJeworCQlFeHBlY3RlZEZpbHRlciAqd29yc3QgPSBOVUxMOworCQlMaXN0Q2VsbCAg ICpsY3c7CisKKwkJZm9yZWFjaChsY3csIHJlc3VsdCkKKwkJeworCQkJRXhwZWN0ZWRGaWx0ZXIg KmYgPSAoRXhwZWN0ZWRGaWx0ZXIgKikgbGZpcnN0KGxjdyk7CisKKwkJCWlmICh3b3JzdCA9PSBO VUxMIHx8IGYtPnNlbGVjdGl2aXR5ID4gd29yc3QtPnNlbGVjdGl2aXR5KQorCQkJCXdvcnN0ID0g ZjsKKwkJfQorCQlyZXN1bHQgPSBsaXN0X2RlbGV0ZV9wdHIocmVzdWx0LCB3b3JzdCk7CisJfQor CisJcmV0dXJuIHJlc3VsdDsKK30KKworLyoKKyAqIGdlbmVyYXRlX2V4cGVjdGVkX2ZpbHRlcl9w YXRocworICoJCUdlbmVyYXRlIGFkZGl0aW9uYWwgc2NhbiBwYXRocyB0aGF0IGFudGljaXBhdGUg b25lIG9yIG1vcmUgcHVzaGVkLWRvd24KKyAqCQlCbG9vbSBmaWx0ZXJzLgorICoKKyAqIEZvciBl YWNoIG5vbi1lbXB0eSBzdWJzZXQgb2YgdGhlIGludGVyZXN0aW5nIGZpbHRlcnMsIHdlIGNsb25l IGV2ZXJ5IGVsaWdpYmxlCisgKiBleGlzdGluZyBzY2FuIHBhdGgsIHJlZHVjaW5nIGl0cyByb3cg ZXN0aW1hdGUgYnkgdGhlIGNvbWJpbmVkIHNlbGVjdGl2aXR5IGFuZAorICogYXR0YWNoaW5nIHRo ZSBjb3JyZXNwb25kaW5nIEV4cGVjdGVkRmlsdGVyIG5vZGVzLgorICoKKyAqIFRoZXNlIHBhdGhz IGFyZSBrZXB0IGFsb25nc2lkZSB0aGUgcmVndWxhciBwYXRocyAoYWRkX3BhdGgga2VlcHMgcGF0 aHMgd2l0aAorICogZGlmZmVyaW5nIGV4cGVjdGVkX2ZpbHRlcnMpIGFuZCBhcmUgY29uc3VtZWQg Ynkgam9pbiBwYXRoIGdlbmVyYXRpb247CisgKiBzZXRfY2hlYXBlc3QgbmV2ZXIgc2VsZWN0cyB0 aGVtLgorICoKKyAqIFhYWCBXZSBtdXN0IG5vdCBjbG9uZSBwYXRocyB0aGF0IGFscmVhZHkgaGF2 ZSBleHBlY3RlZCBmaWx0ZXJzLgorICoKKyAqIFhYWCBUaGUgY2xvbmluZyBpcyBhIHJhdGhlciBk aXJ0eSB3YXkgdG8gY29weSBwYXRocy4gSXQgZG9lcyBub3QgcmVhZGp1c3QgdGhlCisgKiBjb3N0 IGluIGEgcmVhc29uYWJsZSB3YXkuIEZvciBleGFtcGxlIGN1c3RvbSBzY2FucyBjb3VsZCBkbyBz b21ldGhpbmcgc21hcnQKKyAqIHdpdGggdGhlIGZpbHRlcnMsIHNvIGl0IHNob3VsZCBoYXZlIGEg Y2hhbmNlIHRvIGRlYWwgd2l0aCB0aGF0LiBBIGNsZWFuZXIKKyAqIHNvbHV0aW9uIG1pZ2h0IGJl IHRvIGFjdHVhbGx5IHBhc3MgdGhlIGZpbHRlcnMgdG8gdGhlIHZhcmlvdXMgImNyZWF0ZSIKKyAq IGZ1bmN0aW9uLCBsaWtlIGNyZWF0ZV9zZXFzY2FuX3BhdGgvLi4uIEZvciBDdXN0b21TY2FuIG5v ZGVzIHdlIGNhbiBwcm9iYWJseQorICogZG8gbW9zdCBvZiB0aGlzIGluIHRoZSBzZXRfcmVsX3Bh dGhsaXN0X2hvb2ssIHNvbWV3aGVyZS4gTWF5YmUgdGhhdCBuZWVkcworICogc29tZSBoZWxwZXIg bWV0aG9kcywgdGhvdWdoLiBBbmQgbWF5YmUgaXQgd2lsbCBuZWVkIHRvIHBhc3Mgc29tZSBvZiB0 aGUgaW5mbworICogdGhyb3VnaCB0aGUgY2FsbGJhY2tzPyBOb3Qgc3VyZSwgc29tZW9uZSBoYXMg dG8gdHJ5IHRoYXQuCisgKgorICogWFhYIFRoaXMgbWF5IG5lZWQgc29tZSBtYWpvciBjaGFuZ2Vz IHRvIHdvcmsgd2l0aCBjdXN0b20gc2NhbnMuIFJpZ2h0IG5vdyB3ZQorICogb25seSBjb25zaWRl ciBmaWx0ZXJzIGV4YWN0bHkgbWF0Y2hpbmcgdGhlIGhhc2gga2V5cywgc28gaWYgdGhlIGhhc2hq b2luIGlzCisgKiBvbiAodDEuYSA9IHQyLmEgQU5EIHQxLmIgPSB0Mi5iKSwgdGhlbiB0aGUgZmls dGVyIHdpbGwgYmUgb24gKGEsYikuIEJ1dCBhCisgKiBjdXN0b20gc2NhbiBtYXkgcHJlZmVyICJz cGxpdCIgZmlsdGVycyBvbiBlYWNoIGNvbHVtbiBpbmRlcGVuZGVudGx5LiBXZSdkCisgKiBuZWVk IGEgd2F5IGZvciB0aGUgY3VzdG9tIHNjYW4gdG8gaW5kaWNhdGUgdGhhdCwgYW5kIHdlJ2QgbmVl ZCB0byBhcHBseSB0aGlzCisgKiBvbmx5IHRvIHRoZSAibWF0Y2hpbmciIHNjYW4gcGF0aHMgKGFu ZCBub3QgdG8gYW55IG90aGVyIHNjYW4gcGF0aHMpLiBCdXQKKyAqIHdlIG9ubHkgbG9vayBhdCB0 aGUgcGF0aHMgYWZ0ZXIgc2VsZWN0aW5nIHRoZSAiaW50ZXJlc3RpbmciIGZpbHRlcnMsIHNvIHdl J2QKKyAqIG5lZWQgdG8gcmV0aGluayB0aGF0IC0gd2UnZCBuZWVkIHRvIG1ha2UgdGhlICJpbnRl cmVzdGluZyIgZmlsdGVycyBzcGVjaWZpYworICogdG8gYSBwYXRoLCBvciBzb21ldGhpbmcgbGlr ZSB0aGF0LgorICovCitzdGF0aWMgdm9pZAorZ2VuZXJhdGVfZXhwZWN0ZWRfZmlsdGVyX3BhdGhz KFBsYW5uZXJJbmZvICpyb290LCBSZWxPcHRJbmZvICpyZWwpCit7CisJTGlzdAkgICAqZmlsdGVy czsKKwlMaXN0CSAgICpiYXNlcGF0aHMgPSBOSUw7CisJaW50CQkJbmZpbHRlcnM7CisJdWludDMy CQljb21ibzsKKwlMaXN0Q2VsbCAgICpsYzsKKworCWZpbHRlcnMgPSBmaW5kX2ludGVyZXN0aW5n X2Jsb29tX2ZpbHRlcnMocm9vdCwgcmVsKTsKKwlpZiAoZmlsdGVycyA9PSBOSUwpCisJCXJldHVy bjsKKworCW5maWx0ZXJzID0gbGlzdF9sZW5ndGgoZmlsdGVycyk7CisKKwkvKgorCSAqIFNuYXBz aG90IHRoZSBleGlzdGluZyB1bnBhcmFtZXRlcml6ZWQsIG5vbi1wYXJ0aWFsIHNjYW4gcGF0aHMg b2YgYQorCSAqIHN1cHBvcnRlZCB0eXBlLiAgV2UgbXVzdCBzbmFwc2hvdCBiZWZvcmUgY2FsbGlu ZyBhZGRfcGF0aCgpLCB3aGljaAorCSAqIG11dGF0ZXMgcmVsLT5wYXRobGlzdC4KKwkgKi8KKwlm b3JlYWNoKGxjLCByZWwtPnBhdGhsaXN0KQorCXsKKwkJUGF0aAkgICAqcGF0aCA9IChQYXRoICop IGxmaXJzdChsYyk7CisKKwkJLyogWFhYIElzIHBhcmFtZXRlcml6YXRpb24gcmVhbGx5IGEgcHJv YmxlbT8gQWx3YXlzPyAqLworCQlpZiAocGF0aC0+cGFyYW1faW5mbyAhPSBOVUxMIHx8IHBhdGgt PmV4cGVjdGVkX2ZpbHRlcnMgIT0gTklMKQorCQkJY29udGludWU7CisKKwkJc3dpdGNoIChub2Rl VGFnKHBhdGgpKQorCQl7CisJCQljYXNlIFRfUGF0aDoKKwkJCWNhc2UgVF9JbmRleFBhdGg6CisJ CQljYXNlIFRfQml0bWFwSGVhcFBhdGg6CisJCQljYXNlIFRfVGlkUGF0aDoKKwkJCWNhc2UgVF9U aWRSYW5nZVBhdGg6CisJCQkJYmFzZXBhdGhzID0gbGFwcGVuZChiYXNlcGF0aHMsIHBhdGgpOwor CQkJCWJyZWFrOworCQkJZGVmYXVsdDoKKwkJCQlicmVhazsKKwkJfQorCX0KKworCWlmIChiYXNl cGF0aHMgPT0gTklMKQorCQlyZXR1cm47CisKKwkvKgorCSAqIEdlbmVyYXRlIGFsbCBjb21iaW5h dGlvbnMgb2YgdGhlIGludGVyZXN0aW5nIGZpbHRlcnMuIFdlIGRvIHRoYXQgYnkKKwkgKiBpdGVy YXRpbmcgMSB0byAoMl5uLTEpLCB3aGljaCBnZW5lcmF0ZXMgYWxsIGJpdG1hc2sgaW4gYmV0d2Vl bi4gVGhvc2UKKwkgKiBhcmUgdGhlIHN1YnNldHMuCisJICoKKwkgKiBYWFggVGhpcyBpcyBhIGdv b2QgZGVtb25zdHJhdGlvbiB3aHkgd2UgbmVlZCB0byBrZWVwIHRoZSBudW1iZXIgb2YKKwkgKiBm aWx0ZXJzIGxvdworCSAqCisJICogWFhYIE1heWJlIHdlIHNob3VsZCBhbHNvIHN0b3AgYWRkaW5n IGZpbHRlcnMgb25jZSB0aGUgb3RoZXIgZmlsdGVycworCSAqIGFscmVhZHkgZWxpbWluYXRlIGVu b3VnaHQgdHVwbGVzLiBTYXksIHdlIGtub3cgRjEgYWxvbmUgZWxpbWluYXRlcyA5OSUKKwkgKiB0 dXBsZXMuIERvZXMgaXQgbWFrZSBzZW5zZSB0byBhbHNvIGNvbnNpZGVyIFtGMSxGMl0/IFByb2Jh Ymx5IG5vdC4gV2UKKwkgKiBjb3VsZCB0cmFjayAibWF4aW11bSIgc2V0cywgYW5kIHJlamVjdCBj b21iaW5hdGlvbnMgY29udGFpbmluZyBvbmUKKwkgKiBvZiB0aG9zZS4gV2UnZCBuZWVkIHRvIGdl bmVyYXRlIHNldHMgb2YgaW5jcmVhc2luZyBzaXplLCB0aGUgaXRlcmF0aW9uCisJICogZG9lcyBu b3QgZG8gdGhhdC4gQnV0IHRoYXQncyBub3QgaGFyZC4KKwkgKi8KKwlmb3IgKGNvbWJvID0gMTsg Y29tYm8gPCAoKHVpbnQzMikgMSA8PCBuZmlsdGVycyk7IGNvbWJvKyspCisJeworCQlMaXN0CSAg ICpzdWJzZXQgPSBOSUw7CisJCWludAkJCWkgPSAwOworCQlMaXN0Q2VsbCAgICpsY2Y7CisKKwkJ Zm9yZWFjaChsY2YsIGZpbHRlcnMpCisJCXsKKwkJCWlmIChjb21ibyAmICgodWludDMyKSAxIDw8 IGkpKQorCQkJCXN1YnNldCA9IGxhcHBlbmQoc3Vic2V0LCBsZmlyc3QobGNmKSk7CisJCQlpKys7 CisJCX0KKworCQkvKgorCQkgKiBBbGwgZmlsdGVyZWQgcGF0aHMgZm9yIHRoaXMgY29tYm8gc2hh cmUgdGhlIHNhbWUgZXhwZWN0ZWRfZmlsdGVycworCQkgKiBsaXN0LiAgVGhhdCdzIHNhZmU6IHRo ZSBsaXN0IGlzIG5ldmVyIG1vZGlmaWVkLCBhbmQgYWRkX3BhdGgoKSBvbmx5CisJCSAqIGV2ZXIg ZnJlZXMgdGhlIFBhdGggbm9kZSBpdHNlbGYsIG5vdCBpdHMgZXhwZWN0ZWRfZmlsdGVycy4KKwkJ ICovCisJCWZvcmVhY2gobGMsIGJhc2VwYXRocykKKwkJeworCQkJUGF0aAkgICAqYmFzZSA9IChQ YXRoICopIGxmaXJzdChsYyk7CisJCQlQYXRoCSAgICpuZXdwYXRoOworCisJCQluZXdwYXRoID0g Y3JlYXRlX2ZpbHRlcmVkX3NjYW5fcGF0aChyb290LCBiYXNlLCBzdWJzZXQpOworCQkJaWYgKG5l d3BhdGggIT0gTlVMTCkKKwkJCQlhZGRfcGF0aChyZWwsIG5ld3BhdGgpOworCQl9CisJfQorfQor CiAvKgogICogc2V0X3RhYmxlc2FtcGxlX3JlbF9zaXplCiAgKgkgIFNldCBzaXplIGVzdGltYXRl cyBmb3IgYSBzYW1wbGVkIHJlbGF0aW9uCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9vcHRpbWl6 ZXIvcGF0aC9jb3N0c2l6ZS5jIGIvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3BhdGgvY29zdHNpemUu YwppbmRleCBjMzA3MmEyOWNjYy4uODc0MDg4OTA5NGYgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5k L29wdGltaXplci9wYXRoL2Nvc3RzaXplLmMKKysrIGIvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3Bh dGgvY29zdHNpemUuYwpAQCAtMTY2LDYgKzE2NiwyMyBAQCBib29sCQllbmFibGVfcGFydGl0aW9u X3BydW5pbmcgPSB0cnVlOwogYm9vbAkJZW5hYmxlX3ByZXNvcnRlZF9hZ2dyZWdhdGUgPSB0cnVl OwogYm9vbAkJZW5hYmxlX2FzeW5jX2FwcGVuZCA9IHRydWU7CiAKKy8qCisgKiBNaW5pbXVtIGZy YWN0aW9uIG9mIG91dGVyIHR1cGxlcyBhIHB1c2hlZC1kb3duIGhhc2gtam9pbiBCbG9vbSBmaWx0 ZXIgbXVzdAorICogYmUgZXhwZWN0ZWQgdG8gZWxpbWluYXRlIGZvciB0aGUgcGxhbm5lciB0byB0 cmVhdCBpdCBhcyAiaW50ZXJlc3RpbmciIGFuZAorICogZ2VuZXJhdGUgZmlsdGVyLWF3YXJlIHNj YW4gcGF0aHMuICBBIHZhbHVlIG9mIDAuMyBtZWFucyBhIGZpbHRlciBpcyBvbmx5CisgKiBjb25z aWRlcmVkIGlmIGl0IGlzIGV4cGVjdGVkIHRvIGRpc2NhcmQgYXQgbGVhc3QgMzAlIG9mIHRoZSBz Y2FubmVkIHR1cGxlcy4KKyAqLworZG91YmxlCQlibG9vbV9maWx0ZXJfcHVzaGRvd25fdGhyZXNo b2xkID0gMC4zOworCisvKgorICogVXBwZXIgYm91bmQgb24gdGhlIG51bWJlciBvZiBkaXN0aW5j dCBpbnRlcmVzdGluZyBCbG9vbSBmaWx0ZXJzIGNvbnNpZGVyZWQKKyAqIGZvciBhIHNpbmdsZSBz Y2FuIHJlbGF0aW9uLiAgVGhpcyBib3VuZHMgdGhlIG51bWJlciBvZiBhZGRpdGlvbmFsIHBhdGhz CisgKiBnZW5lcmF0ZWQgcGVyIHNjYW4gKHRoZSBwbGFubmVyIGVudW1lcmF0ZXMgbm9uLWVtcHR5 IHN1YnNldHMgb2YgdGhlCisgKiBpbnRlcmVzdGluZyBmaWx0ZXJzLCBpLmUuIHVwIHRvIDJeYmxv b21fZmlsdGVyX3B1c2hkb3duX21heCAtIDEgZXh0cmEKKyAqIHBhdGhzIHBlciBiYXNlIHNjYW4g cGF0aCkuCisgKi8KK2ludAkJCWJsb29tX2ZpbHRlcl9wdXNoZG93bl9tYXggPSAzOworCiB0eXBl ZGVmIHN0cnVjdAogewogCVBsYW5uZXJJbmZvICpyb290OwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvb3B0aW1pemVyL3BhdGgvZXF1aXZjbGFzcy5jIGIvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3Bh dGgvZXF1aXZjbGFzcy5jCmluZGV4IGUzNjk3ZGY1MWEyLi42NzIyYjc0ZjQwMSAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3BhdGgvZXF1aXZjbGFzcy5jCisrKyBiL3NyYy9iYWNr ZW5kL29wdGltaXplci9wYXRoL2VxdWl2Y2xhc3MuYwpAQCAtNzUsNiArNzUsMTUgQEAgc3RhdGlj IFJlc3RyaWN0SW5mbyAqY3JlYXRlX2pvaW5fY2xhdXNlKFBsYW5uZXJJbmZvICpyb290LAogCQkJ CQkJCQkJCUVxdWl2YWxlbmNlTWVtYmVyICpsZWZ0ZW0sCiAJCQkJCQkJCQkJRXF1aXZhbGVuY2VN ZW1iZXIgKnJpZ2h0ZW0sCiAJCQkJCQkJCQkJRXF1aXZhbGVuY2VDbGFzcyAqcGFyZW50X2VjKTsK K3N0YXRpYyBpbnQJZ2VuZXJhdGVfaW1wbGllZF9lcXVhbGl0aWVzX2Zvcl9jb2x1bW5fZWMoUGxh bm5lckluZm8gKnJvb3QsCisJCQkJCQkJCQkJCQkJICBSZWxPcHRJbmZvICpyZWwsCisJCQkJCQkJ CQkJCQkJICBFcXVpdmFsZW5jZUNsYXNzICpjdXJfZWMsCisJCQkJCQkJCQkJCQkJICBlY19tYXRj aGVzX2NhbGxiYWNrX3R5cGUgY2FsbGJhY2ssCisJCQkJCQkJCQkJCQkJICB2b2lkICpjYWxsYmFj a19hcmcsCisJCQkJCQkJCQkJCQkJICBSZWxpZHMgcHJvaGliaXRlZF9yZWxzLAorCQkJCQkJCQkJ CQkJCSAgUmVsaWRzIHBhcmVudF9yZWxpZHMsCisJCQkJCQkJCQkJCQkJICBib29sIGlzX2NoaWxk X3JlbCwKKwkJCQkJCQkJCQkJCQkgIExpc3QgKipyZXN1bHQpOwogc3RhdGljIGJvb2wgcmVjb25z aWRlcl9vdXRlcl9qb2luX2NsYXVzZShQbGFubmVySW5mbyAqcm9vdCwKIAkJCQkJCQkJCQkgT3V0 ZXJKb2luQ2xhdXNlSW5mbyAqb2pjaW5mbywKIAkJCQkJCQkJCQkgYm9vbCBvdXRlcl9vbl9sZWZ0 KTsKQEAgLTMyMTEsNiArMzIyMCwxMDcgQEAgZWNsYXNzX21lbWJlcl9pdGVyYXRvcl9uZXh0KEVx dWl2YWxlbmNlTWVtYmVySXRlcmF0b3IgKml0KQogCXJldHVybiBOVUxMOwogfQogCisvKgorICog Z2VuZXJhdGVfaW1wbGllZF9lcXVhbGl0aWVzX2Zvcl9jb2x1bW5fZWMKKyAqCSAgV29ya2hvcnNl IGZvciBnZW5lcmF0ZV9pbXBsaWVkX2VxdWFsaXRpZXNfZm9yX2NvbHVtbigpIGFuZAorICoJICBn ZW5lcmF0ZV9pbXBsaWVkX2VxdWFsaXRpZXNfZm9yX2FsbF9jb2x1bW5zKCkuICBDb25zaWRlcnMg YSBzaW5nbGUKKyAqCSAgRXF1aXZhbGVuY2VDbGFzcyBjdXJfZWM6IGlmIGl0IGhhcyBhIG1lbWJl ciBtYXRjaGluZyB0aGUgdGFyZ2V0IGNvbHVtbgorICoJICAoYXMgaWRlbnRpZmllZCBieSB0aGUg Y2FsbGJhY2spLCBnZW5lcmF0ZSBFQy1kZXJpdmVkIGpvaW5jbGF1c2VzCisgKgkgIGVxdWF0aW5n IHRoYXQgbWVtYmVyIHRvIGVhY2ggb3RoZXItcmVsYXRpb24gbWVtYmVyLCBhcHBlbmRpbmcgdGhl bSB0bworICoJICAqcmVzdWx0LiAgUmV0dXJucyB0aGUgbnVtYmVyIG9mIGNsYXVzZXMgZ2VuZXJh dGVkLgorICovCitzdGF0aWMgaW50CitnZW5lcmF0ZV9pbXBsaWVkX2VxdWFsaXRpZXNfZm9yX2Nv bHVtbl9lYyhQbGFubmVySW5mbyAqcm9vdCwKKwkJCQkJCQkJCQkgIFJlbE9wdEluZm8gKnJlbCwK KwkJCQkJCQkJCQkgIEVxdWl2YWxlbmNlQ2xhc3MgKmN1cl9lYywKKwkJCQkJCQkJCQkgIGVjX21h dGNoZXNfY2FsbGJhY2tfdHlwZSBjYWxsYmFjaywKKwkJCQkJCQkJCQkgIHZvaWQgKmNhbGxiYWNr X2FyZywKKwkJCQkJCQkJCQkgIFJlbGlkcyBwcm9oaWJpdGVkX3JlbHMsCisJCQkJCQkJCQkJICBS ZWxpZHMgcGFyZW50X3JlbGlkcywKKwkJCQkJCQkJCQkgIGJvb2wgaXNfY2hpbGRfcmVsLAorCQkJ CQkJCQkJCSAgTGlzdCAqKnJlc3VsdCkKK3sKKwlFcXVpdmFsZW5jZU1lbWJlckl0ZXJhdG9yIGl0 OworCUVxdWl2YWxlbmNlTWVtYmVyICpjdXJfZW07CisJTGlzdENlbGwgICAqbGMyOworCWludAkJ CW5nZW5lcmF0ZWQgPSAwOworCisJLyoKKwkgKiBXb24ndCBnZW5lcmF0ZSBqb2luY2xhdXNlcyBp ZiBjb25zdCBvciBzaW5nbGUtbWVtYmVyICh0aGUgbGF0dGVyIHRlc3QKKwkgKiBjb3ZlcnMgdGhl IHZvbGF0aWxlIGNhc2UgdG9vKQorCSAqLworCWlmIChjdXJfZWMtPmVjX2hhc19jb25zdCB8fCBs aXN0X2xlbmd0aChjdXJfZWMtPmVjX21lbWJlcnMpIDw9IDEpCisJCXJldHVybiAwOworCisJLyoK KwkgKiBTY2FuIG1lbWJlcnMsIGxvb2tpbmcgZm9yIGEgbWF0Y2ggdG8gdGhlIHRhcmdldCBjb2x1 bW4uICBOb3RlIHRoYXQKKwkgKiBjaGlsZCBFQyBtZW1iZXJzIGFyZSBjb25zaWRlcmVkLCBidXQg b25seSB3aGVuIHRoZXkgYmVsb25nIHRvIHRoZQorCSAqIHRhcmdldCByZWxhdGlvbi4gIChVbmxp a2UgcmVndWxhciBtZW1iZXJzLCB0aGUgc2FtZSBleHByZXNzaW9uIGNvdWxkIGJlCisJICogYSBj aGlsZCBtZW1iZXIgb2YgbW9yZSB0aGFuIG9uZSBFQy4gIFRoZXJlZm9yZSwgaXQncyBwb3RlbnRp YWxseQorCSAqIG9yZGVyLWRlcGVuZGVudCB3aGljaCBFQyBhIGNoaWxkIHJlbGF0aW9uJ3MgdGFy Z2V0IGNvbHVtbiBnZXRzIG1hdGNoZWQKKwkgKiB0by4gIFRoaXMgaXMgYW5ub3lpbmcgYnV0IGl0 IG9ubHkgaGFwcGVucyBpbiBjb3JuZXIgY2FzZXMsIHNvIGZvciBub3cgd2UKKwkgKiBsaXZlIHdp dGgganVzdCByZXBvcnRpbmcgdGhlIGZpcnN0IG1hdGNoLiAgU2VlIGFsc28KKwkgKiBnZXRfZWNs YXNzX2Zvcl9zb3J0X2V4cHIuKQorCSAqLworCXNldHVwX2VjbGFzc19tZW1iZXJfaXRlcmF0b3Io Jml0LCBjdXJfZWMsIHJlbC0+cmVsaWRzKTsKKwl3aGlsZSAoKGN1cl9lbSA9IGVjbGFzc19tZW1i ZXJfaXRlcmF0b3JfbmV4dCgmaXQpKSAhPSBOVUxMKQorCXsKKwkJaWYgKGJtc19lcXVhbChjdXJf ZW0tPmVtX3JlbGlkcywgcmVsLT5yZWxpZHMpICYmCisJCQljYWxsYmFjayhyb290LCByZWwsIGN1 cl9lYywgY3VyX2VtLCBjYWxsYmFja19hcmcpKQorCQkJYnJlYWs7CisJfQorCisJaWYgKCFjdXJf ZW0pCisJCXJldHVybiAwOworCisJLyoKKwkgKiBGb3VuZCBvdXIgbWF0Y2guICBTY2FuIHRoZSBv dGhlciBFQyBtZW1iZXJzIGFuZCBhdHRlbXB0IHRvIGdlbmVyYXRlCisJICogam9pbmNsYXVzZXMu ICBJZ25vcmUgY2hpbGRyZW4gaGVyZS4KKwkgKi8KKwlmb3JlYWNoKGxjMiwgY3VyX2VjLT5lY19t ZW1iZXJzKQorCXsKKwkJRXF1aXZhbGVuY2VNZW1iZXIgKm90aGVyX2VtID0gKEVxdWl2YWxlbmNl TWVtYmVyICopIGxmaXJzdChsYzIpOworCQlPaWQJCQllcV9vcDsKKwkJUmVzdHJpY3RJbmZvICpy aW5mbzsKKworCQkvKiBDaGlsZCBtZW1iZXJzIHNob3VsZCBub3QgZXhpc3QgaW4gZWNfbWVtYmVy cyAqLworCQlBc3NlcnQoIW90aGVyX2VtLT5lbV9pc19jaGlsZCk7CisKKwkJLyogTWFrZSBzdXJl IGl0J2xsIGJlIGEgam9pbiB0byBhIGRpZmZlcmVudCByZWwgKi8KKwkJaWYgKG90aGVyX2VtID09 IGN1cl9lbSB8fAorCQkJYm1zX292ZXJsYXAob3RoZXJfZW0tPmVtX3JlbGlkcywgcmVsLT5yZWxp ZHMpKQorCQkJY29udGludWU7CisKKwkJLyogRm9yZ2V0IGl0IGlmIGNhbGxlciBkb2Vzbid0IHdh bnQgam9pbnMgdG8gdGhpcyByZWwgKi8KKwkJaWYgKGJtc19vdmVybGFwKG90aGVyX2VtLT5lbV9y ZWxpZHMsIHByb2hpYml0ZWRfcmVscykpCisJCQljb250aW51ZTsKKworCQkvKgorCQkgKiBBbHNv LCBpZiB0aGlzIGlzIGEgY2hpbGQgcmVsLCBhdm9pZCBnZW5lcmF0aW5nIGEgdXNlbGVzcyBqb2lu IHRvIGl0cworCQkgKiBwYXJlbnQgcmVsKHMpLgorCQkgKi8KKwkJaWYgKGlzX2NoaWxkX3JlbCAm JgorCQkJYm1zX292ZXJsYXAocGFyZW50X3JlbGlkcywgb3RoZXJfZW0tPmVtX3JlbGlkcykpCisJ CQljb250aW51ZTsKKworCQllcV9vcCA9IHNlbGVjdF9lcXVhbGl0eV9vcGVyYXRvcihjdXJfZWMs CisJCQkJCQkJCQkJIGN1cl9lbS0+ZW1fZGF0YXR5cGUsCisJCQkJCQkJCQkJIG90aGVyX2VtLT5l bV9kYXRhdHlwZSk7CisJCWlmICghT2lkSXNWYWxpZChlcV9vcCkpCisJCQljb250aW51ZTsKKwor CQkvKiBzZXQgcGFyZW50X2VjIHRvIG1hcmsgYXMgcmVkdW5kYW50IHdpdGggb3RoZXIgam9pbmNs YXVzZXMgKi8KKwkJcmluZm8gPSBjcmVhdGVfam9pbl9jbGF1c2Uocm9vdCwgY3VyX2VjLCBlcV9v cCwKKwkJCQkJCQkJICAgY3VyX2VtLCBvdGhlcl9lbSwKKwkJCQkJCQkJICAgY3VyX2VjKTsKKwor CQkqcmVzdWx0ID0gbGFwcGVuZCgqcmVzdWx0LCByaW5mbyk7CisJCW5nZW5lcmF0ZWQrKzsKKwl9 CisKKwlyZXR1cm4gbmdlbmVyYXRlZDsKK30KKwogLyoKICAqIGdlbmVyYXRlX2ltcGxpZWRfZXF1 YWxpdGllc19mb3JfY29sdW1uCiAgKgkgIENyZWF0ZSBFQy1kZXJpdmVkIGpvaW5jbGF1c2VzIHVz YWJsZSB3aXRoIGEgc3BlY2lmaWMgY29sdW1uLgpAQCAtMzIzMyw2ICszMzQzLDEwIEBAIGVjbGFz c19tZW1iZXJfaXRlcmF0b3JfbmV4dChFcXVpdmFsZW5jZU1lbWJlckl0ZXJhdG9yICppdCkKICAq CiAgKiBUaGUgY2FsbGVyIGNhbiBwYXNzIGEgUmVsaWRzIHNldCBvZiByZWxzIHdlIGFyZW4ndCBp bnRlcmVzdGVkIGluIGpvaW5pbmcKICAqIHRvLCBzbyBhcyB0byBzYXZlIHRoZSB3b3JrIG9mIGNy ZWF0aW5nIHVzZWxlc3MgY2xhdXNlcy4KKyAqCisgKiBYWFggVGhpcyBjb3VsZCByZXVzZSBnZW5l cmF0ZV9pbXBsaWVkX2VxdWFsaXRpZXNfZm9yX2NvbHVtbl9lYyBmb3IgdGhlCisgKiBpbm5lciBs b29wLCBzaW1pbGFybHkgdG8gZ2VuZXJhdGVfaW1wbGllZF9lcXVhbGl0aWVzX2Zvcl9hbGxfY29s dW1ucywgYnV0IEkKKyAqIGNob3NlIHRvIG5vdCBkbyB0aGF0IGZvciBub3cuIEJldHRlciBrZWVw IHRoaXMgYXMgaXMuCiAgKi8KIExpc3QgKgogZ2VuZXJhdGVfaW1wbGllZF9lcXVhbGl0aWVzX2Zv cl9jb2x1bW4oUGxhbm5lckluZm8gKnJvb3QsCkBAIC0zMzUzLDYgKzM0NjcsNzEgQEAgZ2VuZXJh dGVfaW1wbGllZF9lcXVhbGl0aWVzX2Zvcl9jb2x1bW4oUGxhbm5lckluZm8gKnJvb3QsCiAJcmV0 dXJuIHJlc3VsdDsKIH0KIAorLyoKKyAqIGdlbmVyYXRlX2ltcGxpZWRfZXF1YWxpdGllc19mb3Jf YWxsX2NvbHVtbnMKKyAqCSAgTGlrZSBnZW5lcmF0ZV9pbXBsaWVkX2VxdWFsaXRpZXNfZm9yX2Nv bHVtbiwgYnV0IHJldHVybnMgRUMtZGVyaXZlZAorICoJICBqb2luY2xhdXNlcyBmb3IgKmV2ZXJ5 KiBjb2x1bW4gb2YgdGhlIHJlbGF0aW9uLCByYXRoZXIgdGhhbiBzdG9wcGluZyBhdAorICoJICB0 aGUgZmlyc3QgY29sdW1uIChFcXVpdmFsZW5jZUNsYXNzKSB0aGF0IHlpZWxkcyBhbnkgY2xhdXNl cy4KKyAqCisgKiBnZW5lcmF0ZV9pbXBsaWVkX2VxdWFsaXRpZXNfZm9yX2NvbHVtbigpIGlzIGRl c2lnbmVkIGZvciBwYXJhbWV0ZXJpemVkLXBhdGgKKyAqIGdlbmVyYXRpb24sIHdoZXJlIHRoZSBn b2FsIGlzIHRvIGZpbmQgYSBzaW5nbGUgdXNhYmxlIGpvaW5jbGF1c2UgcGVyIGNvbHVtbgorICog YW5kIHRoZXJlIGlzIG5vIHZhbHVlIGluIHJldHVybmluZyBjbGF1c2VzIGZvciBtb3JlIHRoYW4g b25lIGNvbHVtbiBhdCBhCisgKiB0aW1lLiAgU29tZSBjYWxsZXJzLCBob3dldmVyLCBhcmUgaW50 ZXJlc3RlZCBpbiBqb2luY2xhdXNlcyBvbiBhbGwgb2YgdGhlCisgKiByZWxhdGlvbidzIGNvbHVt bnMgc2ltdWx0YW5lb3VzbHkgKGZvciBleGFtcGxlLCB0aGUgQmxvb20gZmlsdGVyIHB1c2hkb3du CisgKiBsb2dpYywgd2hpY2ggbWF5IHB1c2ggZG93biBmaWx0ZXJzIGRlcml2ZWQgZnJvbSBzZXZl cmFsIGRpZmZlcmVudCBjb2x1bW5zIGF0CisgKiBvbmNlKS4gIFRoaXMgdmFyaWFudCB0aGVyZWZv cmUgdmlzaXRzIGFsbCBvZiB0aGUgcmVsYXRpb24ncworICogRXF1aXZhbGVuY2VDbGFzc2VzIGFu ZCBhY2N1bXVsYXRlcyBjbGF1c2VzIGZyb20gZWFjaC4KKyAqCisgKiBBcyB3aXRoIGdlbmVyYXRl X2ltcGxpZWRfZXF1YWxpdGllc19mb3JfY29sdW1uKCksIHRoZSByZXN1bHQgZm9yIGFueSBzaW5n bGUKKyAqIGNvbHVtbiBpcyBhIHJlZHVuZGFudCBzZXQgb2YgY2xhdXNlcyBlcXVhdGluZyB0aGF0 IGNvbHVtbiB0byBlYWNoIG9mIHRoZQorICogb3RoZXItcmVsYXRpb24gdmFsdWVzIGl0IGlzIGtu b3duIHRvIGJlIGVxdWFsIHRvLgorICoKKyAqIFhYWCBXZSBkb24ndCByZWFsbHkgbmVlZCB0aGUg bGFzdCB0d28gYXJndW1lbnRzLCBidXQgd2Uga2VlcCB0aGlzIGFzIGNsb3NlCisgKiB0byBnZW5l cmF0ZV9pbXBsaWVkX2VxdWFsaXRpZXNfZm9yX2NvbHVtbiBhcyBwb3NzaWJsZS4KKyAqLworTGlz dCAqCitnZW5lcmF0ZV9pbXBsaWVkX2VxdWFsaXRpZXNfZm9yX2FsbF9jb2x1bW5zKFBsYW5uZXJJ bmZvICpyb290LAorCQkJCQkJCQkJCQlSZWxPcHRJbmZvICpyZWwsCisJCQkJCQkJCQkJCWVjX21h dGNoZXNfY2FsbGJhY2tfdHlwZSBjYWxsYmFjaywKKwkJCQkJCQkJCQkJdm9pZCAqY2FsbGJhY2tf YXJnLAorCQkJCQkJCQkJCQlSZWxpZHMgcHJvaGliaXRlZF9yZWxzKQoreworCUxpc3QJICAgKnJl c3VsdCA9IE5JTDsKKwlib29sCQlpc19jaGlsZF9yZWwgPSAocmVsLT5yZWxvcHRraW5kID09IFJF TE9QVF9PVEhFUl9NRU1CRVJfUkVMKTsKKwlSZWxpZHMJCXBhcmVudF9yZWxpZHM7CisJaW50CQkJ aTsKKworCS8qIFNob3VsZCBiZSBPSyB0byByZWx5IG9uIGVjbGFzc19pbmRleGVzICovCisJQXNz ZXJ0KHJvb3QtPmVjX21lcmdpbmdfZG9uZSk7CisKKwkvKiBJbmRleGVzIGFyZSBhdmFpbGFibGUg b25seSBvbiBiYXNlIG9yICJvdGhlciIgbWVtYmVyIHJlbGF0aW9ucy4gKi8KKwlBc3NlcnQoSVNf U0lNUExFX1JFTChyZWwpKTsKKworCS8qIElmIGl0J3MgYSBjaGlsZCByZWwsIHdlJ2xsIG5lZWQg dG8ga25vdyB3aGF0IGl0cyBwYXJlbnQocykgYXJlICovCisJaWYgKGlzX2NoaWxkX3JlbCkKKwkJ cGFyZW50X3JlbGlkcyA9IGZpbmRfY2hpbGRyZWxfcGFyZW50cyhyb290LCByZWwpOworCWVsc2UK KwkJcGFyZW50X3JlbGlkcyA9IE5VTEw7CS8qIG5vdCB1c2VkLCBidXQga2VlcCBjb21waWxlciBx dWlldCAqLworCisJaSA9IC0xOworCXdoaWxlICgoaSA9IGJtc19uZXh0X21lbWJlcihyZWwtPmVj bGFzc19pbmRleGVzLCBpKSkgPj0gMCkKKwl7CisJCUVxdWl2YWxlbmNlQ2xhc3MgKmN1cl9lYyA9 IChFcXVpdmFsZW5jZUNsYXNzICopIGxpc3RfbnRoKHJvb3QtPmVxX2NsYXNzZXMsIGkpOworCisJ CS8qIFNhbml0eSBjaGVjayBlY2xhc3NfaW5kZXhlcyBvbmx5IGNvbnRhaW4gRUNzIGZvciByZWwg Ki8KKwkJQXNzZXJ0KGlzX2NoaWxkX3JlbCB8fCBibXNfaXNfc3Vic2V0KHJlbC0+cmVsaWRzLCBj dXJfZWMtPmVjX3JlbGlkcykpOworCisJCSh2b2lkKSBnZW5lcmF0ZV9pbXBsaWVkX2VxdWFsaXRp ZXNfZm9yX2NvbHVtbl9lYyhyb290LCByZWwsIGN1cl9lYywKKwkJCQkJCQkJCQkJCQkJIGNhbGxi YWNrLCBjYWxsYmFja19hcmcsCisJCQkJCQkJCQkJCQkJCSBwcm9oaWJpdGVkX3JlbHMsCisJCQkJ CQkJCQkJCQkJCSBwYXJlbnRfcmVsaWRzLAorCQkJCQkJCQkJCQkJCQkgaXNfY2hpbGRfcmVsLAor CQkJCQkJCQkJCQkJCQkgJnJlc3VsdCk7CisJfQorCisJcmV0dXJuIHJlc3VsdDsKK30KKwogLyoK ICAqIGhhdmVfcmVsZXZhbnRfZWNsYXNzX2pvaW5jbGF1c2UKICAqCQlEZXRlY3Qgd2hldGhlciB0 aGVyZSBpcyBhbiBFcXVpdmFsZW5jZUNsYXNzIHRoYXQgY291bGQgcHJvZHVjZQpkaWZmIC0tZ2l0 IGEvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3BhdGgvam9pbnBhdGguYyBiL3NyYy9iYWNrZW5kL29w dGltaXplci9wYXRoL2pvaW5wYXRoLmMKaW5kZXggNzEzMjgzYTczYWEuLjVlNjVmZGExNDE5IDEw MDY0NAotLS0gYS9zcmMvYmFja2VuZC9vcHRpbWl6ZXIvcGF0aC9qb2lucGF0aC5jCisrKyBiL3Ny Yy9iYWNrZW5kL29wdGltaXplci9wYXRoL2pvaW5wYXRoLmMKQEAgLTg2OSw2ICs4NjksMjcxIEBA IGdldF9tZW1vaXplX3BhdGgoUGxhbm5lckluZm8gKnJvb3QsIFJlbE9wdEluZm8gKmlubmVycmVs LAogCXJldHVybiBOVUxMOwogfQogCisvKgorICogYmxvb21fam9pbl9zaWRlX3ByZXNlcnZlZAor ICoJCUNhbiBhIHB1c2hlZC1kb3duIEJsb29tIGZpbHRlciBiZSBhcHBsaWVkIGJlbG93IHRoZSBn aXZlbiBzaWRlIG9mIGEKKyAqCQlqb2luIG9mIHRoaXMgdHlwZSB3aXRob3V0IGNoYW5naW5nIHRo ZSBqb2luJ3MgcmVzdWx0PworICoKKyAqIEEgQmxvb20gZmlsdGVyIHJlbW92ZXMgdHVwbGVzIGZy b20gdGhlIHNjYW4gaXQgaXMgcHVzaGVkIHRvLiAgVGhhdCBpcyBvbmx5CisgKiBzYWZlIG9uIGEg c2lkZSB3aG9zZSB1bm1hdGNoZWQgdHVwbGVzIHRoZSBqb2luIHdvdWxkIGRyb3AgYW55d2F5OiBk cm9wcGluZworICogYSB0dXBsZSBlYXJseSB0aGVuIG1hdGNoZXMgdGhlIGpvaW4ncyBiZWhhdmlv dXIuICBPbiBhIG51bGwtZXh0ZW5kZWQKKyAqIChwcmVzZXJ2ZWQtb3RoZXItc2lkZSkgaW5wdXQg aXQgaXMgdW5zYWZlLCBiZWNhdXNlIHJlbW92aW5nIGEgdHVwbGUgdGhlcmUKKyAqIGNvdWxkIHN1 cHByZXNzLCBvciBzcHVyaW91c2x5IGVtaXQsIG51bGwtZXh0ZW5kZWQgcm93cy4KKyAqCisgKiBU aGlzIGlzIHRoZSBwYXRoLXRpbWUgY291bnRlcnBhcnQgb2YgZmluZF9ibG9vbV9maWx0ZXJfcmVj aXBpZW50KCkgaW4KKyAqIGNyZWF0ZXBsYW4uYywgd2hpY2ggZGVzY2VuZHMgYSBwbGFuIHRyZWUg dG93YXJkIHRoZSByZWNpcGllbnQgc2NhbjogaXQgbWF5CisgKiBvbmx5IGRlc2NlbmQgaW50byBh IGpvaW4ncyBvdXRlciAocmVzcC4gaW5uZXIpIGNoaWxkIHdoZW4gdGhpcyBmdW5jdGlvbgorICog cmV0dXJucyB0cnVlIGZvciB0b19vdXRlciA9IHRydWUgKHJlc3AuIGZhbHNlKS4gIEtlZXBpbmcg dGhlIHR3byBpbiBzeW5jIGlzCisgKiB3aGF0IGd1YXJhbnRlZXMgdGhhdCBldmVyeSBmaWx0ZXIg d2UgcmVhbGl6ZSBhdCBwYXRoIHRpbWUgaGFzIGEgcmVhY2hhYmxlCisgKiByZWNpcGllbnQgYXQg cGxhbiB0aW1lLgorICovCitib29sCitibG9vbV9qb2luX3NpZGVfcHJlc2VydmVkKEpvaW5UeXBl IGpvaW50eXBlLCBib29sIHRvX291dGVyKQoreworCXN3aXRjaCAoam9pbnR5cGUpCisJeworCQlj YXNlIEpPSU5fSU5ORVI6CisJCQlyZXR1cm4gdHJ1ZTsKKwkJY2FzZSBKT0lOX0xFRlQ6CisJCWNh c2UgSk9JTl9TRU1JOgorCQljYXNlIEpPSU5fQU5USToKKwkJCXJldHVybiB0b19vdXRlcjsKKwkJ Y2FzZSBKT0lOX1JJR0hUOgorCQljYXNlIEpPSU5fUklHSFRfU0VNSToKKwkJY2FzZSBKT0lOX1JJ R0hUX0FOVEk6CisJCQlyZXR1cm4gIXRvX291dGVyOworCQljYXNlIEpPSU5fRlVMTDoKKwkJCXJl dHVybiBmYWxzZTsKKwkJZGVmYXVsdDoKKwkJCXJldHVybiBmYWxzZTsKKwl9Cit9CisKKy8qCisg KiBqb2ludHlwZV9yZWFsaXplc19ibG9vbV9maWx0ZXIKKyAqCQlDYW4gYSBoYXNoIGpvaW4gb2Yg dGhpcyB0eXBlIGJ1aWxkIGFuZCBwdXNoIGEgQmxvb20gZmlsdGVyIHRvIGl0cworICoJCW91dGVy IChwcm9iZSkgc2lkZT8KKyAqCisgKiBUaGlzIG11c3QgbWF0Y2ggdGhlIGpvaW4tdHlwZSBjaGVj ayBpbiB0cnlfcHVzaF9ibG9vbV9maWx0ZXIoKSwgc28gdGhhdCBhCisgKiBmaWx0ZXIgd2UgY29z dCBmb3IgaXMgYWN0dWFsbHkgcmVhbGl6ZWQgYXQgcGxhbiB0aW1lLiAgT25seSBqb2luIHR5cGVz IHRoYXQKKyAqIGRyb3AgdW5tYXRjaGVkIG91dGVyIChwcm9iZSkgdHVwbGVzIGFyZSBzYWZlLCBz aW5jZSB0aGUgZmlsdGVyIGVsaW1pbmF0ZXMKKyAqIHByb2JlIHR1cGxlcyBsYWNraW5nIGFuIGlu bmVyIG1hdGNoLgorICoKKyAqIE5vdGUgSk9JTl9SSUdIVCBxdWFsaWZpZXM6IGl0IHByZXNlcnZl cyB1bm1hdGNoZWQgdHVwbGVzIG9mIHRoZSBpbm5lciAoYnVpbGQpCisgKiBzaWRlLCBub3QgdGhl IG91dGVyIChwcm9iZSkgc2lkZSwgc28gZHJvcHBpbmcgdW5tYXRjaGVkIHByb2JlIHR1cGxlcyBp cyBzdGlsbAorICogY29ycmVjdC4KKyAqLworc3RhdGljIGJvb2wKK2pvaW50eXBlX3JlYWxpemVz X2Jsb29tX2ZpbHRlcihKb2luVHlwZSBqb2ludHlwZSkKK3sKKwlzd2l0Y2ggKGpvaW50eXBlKQor CXsKKwkJY2FzZSBKT0lOX0lOTkVSOgorCQljYXNlIEpPSU5fUklHSFQ6CisJCWNhc2UgSk9JTl9T RU1JOgorCQljYXNlIEpPSU5fUklHSFRfU0VNSToKKwkJY2FzZSBKT0lOX1JJR0hUX0FOVEk6CisJ CQlyZXR1cm4gdHJ1ZTsKKwkJZGVmYXVsdDoKKwkJCXJldHVybiBmYWxzZTsKKwl9Cit9CisKKy8q CisgKiBoYXNoam9pbl9wdXNoZXNfZmlsdGVyX3RvCisgKgkJV291bGQgY3JlYXRlX2hhc2hqb2lu X3BsYW4oKSBiZSBhYmxlIHRvIHB1c2ggYSBCbG9vbSBmaWx0ZXIgYnVpbHQgZnJvbQorICoJCXRo ZXNlIGhhc2ggY2xhdXNlcyBkb3duIHRvIHRoZSBzY2FuIG9mIG93bmVyX3JlbGlkPworICoKKyAq IFRoaXMgbWlycm9ycyB0cnlfcHVzaF9ibG9vbV9maWx0ZXIoKSdzIHJlcXVpcmVtZW50IHRoYXQg ZXZlcnkgaGFzaCBrZXkgb24KKyAqIHRoZSBvdXRlciBzaWRlIGJlIGEgYmFyZSBWYXIgb2YgYSBz aW5nbGUgYmFzZSByZWxhdGlvbi4gICdvdXRlcl9yZWxpZHMnIGlzCisgKiB0aGUgc2V0IG9mIHJl bGlkcyBvbiB0aGUgb3V0ZXIgKHByb2JlKSBzaWRlIG9mIHRoZSBqb2luLgorICovCitzdGF0aWMg Ym9vbAoraGFzaGpvaW5fcHVzaGVzX2ZpbHRlcl90byhMaXN0ICpoYXNoY2xhdXNlcywgUmVsaWRz IG91dGVyX3JlbGlkcywKKwkJCQkJCSAgSW5kZXggb3duZXJfcmVsaWQpCit7CisJTGlzdENlbGwg ICAqbGM7CisKKwlpZiAoaGFzaGNsYXVzZXMgPT0gTklMKQorCQlyZXR1cm4gZmFsc2U7CisKKwlm b3JlYWNoKGxjLCBoYXNoY2xhdXNlcykKKwl7CisJCVJlc3RyaWN0SW5mbyAqcmkgPSAoUmVzdHJp Y3RJbmZvICopIGxmaXJzdChsYyk7CisJCU5vZGUJICAgKm91dGVyc2lkZTsKKwkJVmFyCQkgICAq dmFyOworCisJCWlmICghaXNfb3BjbGF1c2UocmktPmNsYXVzZSkgfHwKKwkJCWxpc3RfbGVuZ3Ro KCgoT3BFeHByICopIHJpLT5jbGF1c2UpLT5hcmdzKSAhPSAyKQorCQkJcmV0dXJuIGZhbHNlOwor CisJCS8qIFBpY2sgdGhlIHNpZGUgdGhhdCBiZWxvbmdzIHRvIHRoZSBvdXRlciByZWxhdGlvbi4g Ki8KKwkJaWYgKGJtc19pc19zdWJzZXQocmktPmxlZnRfcmVsaWRzLCBvdXRlcl9yZWxpZHMpKQor CQkJb3V0ZXJzaWRlID0gZ2V0X2xlZnRvcChyaS0+Y2xhdXNlKTsKKwkJZWxzZSBpZiAoYm1zX2lz X3N1YnNldChyaS0+cmlnaHRfcmVsaWRzLCBvdXRlcl9yZWxpZHMpKQorCQkJb3V0ZXJzaWRlID0g Z2V0X3JpZ2h0b3AocmktPmNsYXVzZSk7CisJCWVsc2UKKwkJCXJldHVybiBmYWxzZTsKKworCQlp ZiAoIUlzQShvdXRlcnNpZGUsIFZhcikpCisJCQlyZXR1cm4gZmFsc2U7CisJCXZhciA9IChWYXIg Kikgb3V0ZXJzaWRlOworCQlpZiAodmFyLT52YXJubyAhPSBvd25lcl9yZWxpZCB8fAorCQkJdmFy LT52YXJhdHRubyA8PSAwIHx8CisJCQl2YXItPnZhcmxldmVsc3VwICE9IDApCisJCQlyZXR1cm4g ZmFsc2U7CisJfQorCisJcmV0dXJuIHRydWU7Cit9CisKKy8qCisgKiBjb21wdXRlX2pvaW5fZXhw ZWN0ZWRfZmlsdGVycworICoJCURldGVybWluZSB0aGUgZXhwZWN0ZWQgQmxvb20gZmlsdGVycyBh IHByb3NwZWN0aXZlIGpvaW4gcGF0aCBzaG91bGQKKyAqCQljYXJyeSwgYXBwbHlpbmcgdGhlIHBy b3BhZ2F0aW9uIGFuZCBjb250cmFkaWN0aW9uIHJ1bGVzLgorICoKKyAqIEVhY2ggZmlsdGVyIGV4 cGVjdGVkIGJ5IGFuIGlucHV0IHBhdGggaXMgZWl0aGVyOgorICoKKyAqICAgLSBwcm9wYWdhdGVk IHVwd2FyZCAoaXRzIGJ1aWxkIHNpZGUgaXMgbm90IHlldCBmdWxseSBqb2luZWQgaW4pLCBvcgor ICoKKyAqICAgLSByZWFsaXplZCBieSB0aGlzIGpvaW4gKGEgaGFzaCBqb2luIHRoYXQgaXMgdGhl IGZpbHRlcidzIHNvdXJjZSBhbmQgY2FuCisgKiAgICAgcHVzaCB0aGUgZmlsdGVyIHRvIGl0cyBv dXRlciBzaWRlKTogaXQgaXMgZHJvcHBlZCBmcm9tIHRoZSByZXN1bHQsIHNpbmNlCisgKiAgICAg aXQgaGFzIG5vdyBiZWVuIGFwcGxpZWQuICBXaGVuICdyZWFsaXplZCcgaXMgbm9uLU5VTEwsIHN1 Y2ggZmlsdGVycyBhcmUKKyAqICAgICBhcHBlbmRlZCB0byAqcmVhbGl6ZWQgc28gdGhlIGNhbGxl ciBjYW4gcmVjb3JkIHRoZW0gb24gdGhlIGpvaW4gcGF0aCBhbmQKKyAqICAgICBsYXRlciBwcm9w YWdhdGUgdGhlIHB1c2hkb3duIGRlY2lzaW9uIHRvIHRoZSBwbGFuLCBvcgorICoKKyAqICAgLSBj b250cmFkaWN0ZWQ6IHRoZSBqb2luIGlzIHRoZSBmaWx0ZXIncyBzb3VyY2UgYnV0IGNhbm5vdCBw dXNoIGl0IChpdCBpcworICogICAgIG5vdCBhIHN1aXRhYmxlIGhhc2ggam9pbikuIEluIHRoYXQg Y2FzZSB0aGUgaW5wdXQgcGF0aCBjYW5ub3QgYmUgdXNlZAorICogICAgIGZvciB0aGlzIGpvaW4s IHNvICpjb250cmFkaWN0ZWQgaXMgc2V0IHRydWUgYW5kIE5JTCBpcyByZXR1cm5lZC4KKyAqCisg KiAnaXNfaGFzaGpvaW4nLydoYXNoY2xhdXNlcycgZGVzY3JpYmUgdGhlIGpvaW4gbWV0aG9kOyBo YXNoY2xhdXNlcyBpcyBvbmx5CisgKiBtZWFuaW5nZnVsIGZvciBoYXNoIGpvaW5zLgorICovCitz dGF0aWMgTGlzdCAqCitjb21wdXRlX2pvaW5fZXhwZWN0ZWRfZmlsdGVycyhQbGFubmVySW5mbyAq cm9vdCwKKwkJCQkJCQkgIFBhdGggKm91dGVyX3BhdGgsIFBhdGggKmlubmVyX3BhdGgsCisJCQkJ CQkJICBKb2luVHlwZSBqb2ludHlwZSwgYm9vbCBpc19oYXNoam9pbiwKKwkJCQkJCQkgIExpc3Qg Kmhhc2hjbGF1c2VzLCBib29sICpjb250cmFkaWN0ZWQsCisJCQkJCQkJICBMaXN0ICoqcmVhbGl6 ZWQpCit7CisJTGlzdAkgICAqcmVzdWx0ID0gTklMOworCVJlbGlkcwkJb3V0ZXJfcmVsaWRzID0g b3V0ZXJfcGF0aC0+cGFyZW50LT5yZWxpZHM7CisJUmVsaWRzCQlpbm5lcl9yZWxpZHMgPSBpbm5l cl9wYXRoLT5wYXJlbnQtPnJlbGlkczsKKwlSZWxpZHMJCWpvaW5fcmVsaWRzOworCWludAkJCXBh c3M7CisKKwkqY29udHJhZGljdGVkID0gZmFsc2U7CisJaWYgKHJlYWxpemVkICE9IE5VTEwpCisJ CSpyZWFsaXplZCA9IE5JTDsKKworCS8qIEZhc3QgcGF0aDogbmVpdGhlciBpbnB1dCBleHBlY3Rz IGFueSBmaWx0ZXIuICovCisJaWYgKG91dGVyX3BhdGgtPmV4cGVjdGVkX2ZpbHRlcnMgPT0gTklM ICYmCisJCWlubmVyX3BhdGgtPmV4cGVjdGVkX2ZpbHRlcnMgPT0gTklMKQorCQlyZXR1cm4gTklM OworCisJam9pbl9yZWxpZHMgPSBibXNfdW5pb24ob3V0ZXJfcmVsaWRzLCBpbm5lcl9yZWxpZHMp OworCisJLyogRXhhbWluZSB0aGUgZmlsdGVycyBmcm9tIGJvdGggaW5wdXRzLiAqLworCWZvciAo cGFzcyA9IDA7IHBhc3MgPCAyOyBwYXNzKyspCisJeworCQlMaXN0CSAgICpmaWx0ZXJzID0gKHBh c3MgPT0gMCkgPyBvdXRlcl9wYXRoLT5leHBlY3RlZF9maWx0ZXJzCisJCQk6IGlubmVyX3BhdGgt PmV4cGVjdGVkX2ZpbHRlcnM7CisJCUxpc3RDZWxsICAgKmxjOworCisJCWZvcmVhY2gobGMsIGZp bHRlcnMpCisJCXsKKwkJCUV4cGVjdGVkRmlsdGVyICpmID0gKEV4cGVjdGVkRmlsdGVyICopIGxm aXJzdChsYyk7CisJCQlib29sCQlvd25lcl9pbl9vdXRlcjsKKwkJCVJlbGlkcwkJb3duZXJfcmVs aWRzOworCQkJUmVsaWRzCQlvdGhlcl9yZWxpZHM7CisKKwkJCW93bmVyX2luX291dGVyID0gYm1z X2lzX21lbWJlcihmLT5vd25lcl9yZWxpZCwgb3V0ZXJfcmVsaWRzKTsKKwkJCW93bmVyX3JlbGlk cyA9IG93bmVyX2luX291dGVyID8gb3V0ZXJfcmVsaWRzIDogaW5uZXJfcmVsaWRzOworCQkJb3Ro ZXJfcmVsaWRzID0gb3duZXJfaW5fb3V0ZXIgPyBpbm5lcl9yZWxpZHMgOiBvdXRlcl9yZWxpZHM7 CisKKwkJCWlmIChibXNfaXNfc3Vic2V0KGYtPmJ1aWxkX3JlbGlkcywgb3duZXJfcmVsaWRzKSkK KwkJCXsKKwkJCQkvKgorCQkJCSAqIEJ1aWxkIHNpZGUgYWxyZWFkeSBzaXRzIHdpdGggdGhlIG93 bmVyOyB0aGlzIHNob3VsZG4ndAorCQkJCSAqIG5vcm1hbGx5IGhhcHBlbiAoc3VjaCBhIGZpbHRl ciB3b3VsZCBoYXZlIGJlZW4gcmVzb2x2ZWQgYXQgYQorCQkJCSAqIGxvd2VyIGpvaW4pLCBidXQg aWYgaXQgZG9lcywganVzdCBwcm9wYWdhdGUgaXQgdW5jaGFuZ2VkLgorCQkJCSAqCisJCQkJICog V2Ugc3RpbGwgbXVzdCBiZSBhYmxlIHRvIHJlYWNoIHRoZSBvd25lcidzIHNjYW4gZnJvbSBhYm92 ZSwKKwkJCQkgKiBzbyB0aGUgb3duZXIgaGFzIHRvIGJlIG9uIGEgc2lkZSB0aGlzIGpvaW4gcHJl c2VydmVzIChzZWUKKwkJCQkgKiBibG9vbV9qb2luX3NpZGVfcHJlc2VydmVkKTsgb3RoZXJ3aXNl IHRoZSBmaWx0ZXIgY291bGQgbm90CisJCQkJICogYmUgcHVzaGVkIHRvIGEgcmVjaXBpZW50IGFu ZCB0aGlzIHBhdGggbXVzdCBiZSByZWplY3RlZC4KKwkJCQkgKi8KKwkJCQlpZiAoIWJsb29tX2pv aW5fc2lkZV9wcmVzZXJ2ZWQoam9pbnR5cGUsIG93bmVyX2luX291dGVyKSkKKwkJCQkJZ290byBj b250cmFkaWN0aW9uOworCQkJCXJlc3VsdCA9IGxhcHBlbmQocmVzdWx0LCBmKTsKKwkJCX0KKwkJ CWVsc2UgaWYgKGJtc19pc19zdWJzZXQoZi0+YnVpbGRfcmVsaWRzLCBqb2luX3JlbGlkcykpCisJ CQl7CisJCQkJLyogVGhpcyBqb2luIGlzIHRoZSBzb3VyY2Ugb2YgdGhlIGZpbHRlci4gKi8KKwkJ CQlpZiAoaXNfaGFzaGpvaW4gJiYKKwkJCQkJb3duZXJfaW5fb3V0ZXIgJiYKKwkJCQkJYm1zX2lz X3N1YnNldChmLT5idWlsZF9yZWxpZHMsIG90aGVyX3JlbGlkcykgJiYKKwkJCQkJam9pbnR5cGVf cmVhbGl6ZXNfYmxvb21fZmlsdGVyKGpvaW50eXBlKSAmJgorCQkJCQloYXNoam9pbl9wdXNoZXNf ZmlsdGVyX3RvKGhhc2hjbGF1c2VzLCBvdXRlcl9yZWxpZHMsCisJCQkJCQkJCQkJCSAgZi0+b3du ZXJfcmVsaWQpKQorCQkJCXsKKwkJCQkJLyogUmVhbGl6ZWQgYnkgdGhpcyBoYXNoIGpvaW47IGRy b3AgZnJvbSBwcm9wYWdhdGlvbi4gKi8KKwkJCQkJaWYgKHJlYWxpemVkICE9IE5VTEwpCisJCQkJ CQkqcmVhbGl6ZWQgPSBsYXBwZW5kKCpyZWFsaXplZCwgZik7CisJCQkJCWNvbnRpbnVlOworCQkJ CX0KKwkJCQllbHNlCisJCQkJeworCQkJCQkvKiBDYW5ub3QgcmVhbGl6ZSB0aGUgZmlsdGVyIGhl cmU6IHJlamVjdCB0aGlzIHBhdGguICovCisJCQkJCWdvdG8gY29udHJhZGljdGlvbjsKKwkJCQl9 CisJCQl9CisJCQllbHNlCisJCQl7CisJCQkJLyoKKwkJCQkgKiBCdWlsZCBzaWRlIG5vdCB5ZXQg YXZhaWxhYmxlOyBwcm9wYWdhdGUuICBBcyBhYm92ZSwgdGhlCisJCQkJICogZmlsdGVyIGNhbiBv bmx5IHJlYWNoIGl0cyByZWNpcGllbnQgc2NhbiBpZiB0aGUgb3duZXIgc3RheXMKKwkJCQkgKiBv biBhIHNpZGUgdGhpcyBqb2luIHByZXNlcnZlczsgaWYgbm90LCByZWplY3QgdGhpcyBwYXRoIHNv CisJCQkJICogd2UgbmV2ZXIgcmVhbGl6ZSBhIGZpbHRlciB3aXRoIG5vIHJlY2lwaWVudCBhdCBw bGFuIHRpbWUuCisJCQkJICovCisJCQkJaWYgKCFibG9vbV9qb2luX3NpZGVfcHJlc2VydmVkKGpv aW50eXBlLCBvd25lcl9pbl9vdXRlcikpCisJCQkJCWdvdG8gY29udHJhZGljdGlvbjsKKwkJCQly ZXN1bHQgPSBsYXBwZW5kKHJlc3VsdCwgZik7CisJCQl9CisJCX0KKwl9CisKKwlibXNfZnJlZShq b2luX3JlbGlkcyk7CisJcmV0dXJuIHJlc3VsdDsKKworY29udHJhZGljdGlvbjoKKwkqY29udHJh ZGljdGVkID0gdHJ1ZTsKKwlpZiAocmVhbGl6ZWQgIT0gTlVMTCkKKwl7CisJCWxpc3RfZnJlZSgq cmVhbGl6ZWQpOworCQkqcmVhbGl6ZWQgPSBOSUw7CisJfQorCWJtc19mcmVlKGpvaW5fcmVsaWRz KTsKKwlsaXN0X2ZyZWUocmVzdWx0KTsKKwlyZXR1cm4gTklMOworfQorCisvKgorICogc2V0X2pv aW5fcGF0aF9leHBlY3RlZF9maWx0ZXJzCisgKgkJQXR0YWNoIHRoZSBwcm9wYWdhdGVkIGV4cGVj dGVkIGZpbHRlcnMgdG8gYSBmcmVzaGx5IGNyZWF0ZWQgam9pbiBwYXRoCisgKgkJYW5kIHJlZHVj ZSBpdHMgcm93IGVzdGltYXRlIHRvIHJlZmxlY3QgdGhlaXIgY29tYmluZWQgc2VsZWN0aXZpdHku CisgKi8KK3N0YXRpYyB2b2lkCitzZXRfam9pbl9wYXRoX2V4cGVjdGVkX2ZpbHRlcnMoUGF0aCAq cGF0aCwgTGlzdCAqZmlsdGVycykKK3sKKwlpZiAoZmlsdGVycyA9PSBOSUwpCisJCXJldHVybjsK KworCXBhdGgtPmV4cGVjdGVkX2ZpbHRlcnMgPSBmaWx0ZXJzOworCXBhdGgtPnJvd3MgPSBjbGFt cF9yb3dfZXN0KHBhdGgtPnJvd3MgKgorCQkJCQkJCSAgIGV4cGVjdGVkX2ZpbHRlcnNfc2VsZWN0 aXZpdHkoZmlsdGVycykpOworfQorCiAvKgogICogdHJ5X25lc3Rsb29wX3BhdGgKICAqCSAgQ29u c2lkZXIgYSBuZXN0bG9vcCBqb2luIHBhdGg7IGlmIGl0IGFwcGVhcnMgdXNlZnVsLCBwdXNoIGl0 IGludG8KQEAgLTk2NywyNiArMTIzMiw3MSBAQCB0cnlfbmVzdGxvb3BfcGF0aChQbGFubmVySW5m byAqcm9vdCwKIAkJCQkJCSAgbmVzdGxvb3Bfc3VidHlwZSB8IFBHU19DT05TSURFUl9OT05QQVJU SUFMLAogCQkJCQkJICBvdXRlcl9wYXRoLCBpbm5lcl9wYXRoLCBleHRyYSk7CiAKLQlpZiAoYWRk X3BhdGhfcHJlY2hlY2soam9pbnJlbCwgd29ya3NwYWNlLmRpc2FibGVkX25vZGVzLAotCQkJCQkJ ICB3b3Jrc3BhY2Uuc3RhcnR1cF9jb3N0LCB3b3Jrc3BhY2UudG90YWxfY29zdCwKLQkJCQkJCSAg cGF0aGtleXMsIHJlcXVpcmVkX291dGVyKSkKLQl7Ci0JCWFkZF9wYXRoKGpvaW5yZWwsIChQYXRo ICopCi0JCQkJIGNyZWF0ZV9uZXN0bG9vcF9wYXRoKHJvb3QsCi0JCQkJCQkJCQkgIGpvaW5yZWws Ci0JCQkJCQkJCQkgIGpvaW50eXBlLAotCQkJCQkJCQkJICAmd29ya3NwYWNlLAotCQkJCQkJCQkJ ICBleHRyYSwKLQkJCQkJCQkJCSAgb3V0ZXJfcGF0aCwKLQkJCQkJCQkJCSAgaW5uZXJfcGF0aCwK LQkJCQkJCQkJCSAgZXh0cmEtPnJlc3RyaWN0bGlzdCwKLQkJCQkJCQkJCSAgcGF0aGtleXMsCi0J CQkJCQkJCQkgIHJlcXVpcmVkX291dGVyKSk7Ci0JfQotCWVsc2UKKwkvKgorCSAqIEFjY291bnQg Zm9yIGV4cGVjdGVkIEJsb29tIGZpbHRlcnMgY2FycmllZCBieSB0aGUgaW5wdXQgcGF0aHMuICBB CisJICogbmVzdGxvb3AgbmV2ZXIgYnVpbGRzIGEgQmxvb20gZmlsdGVyLCBzbyBpZiBpdCBpcyB0 aGUgc291cmNlIG9mIGFueQorCSAqIGV4cGVjdGVkIGZpbHRlciB0aGUgcGF0aCBpcyBjb250cmFk aWN0ZWQgYW5kIG11c3QgYmUgcmVqZWN0ZWQ7CisJICogb3RoZXJ3aXNlIHRoZSBmaWx0ZXJzIHBy b3BhZ2F0ZSB0byB0aGUgcmVzdWx0aW5nIHBhdGguCisJICovCiAJewotCQkvKiBXYXN0ZSBubyBt ZW1vcnkgd2hlbiB3ZSByZWplY3QgYSBwYXRoIGhlcmUgKi8KLQkJYm1zX2ZyZWUocmVxdWlyZWRf b3V0ZXIpOworCQlib29sCQljb250cmFkaWN0ZWQ7CisJCUxpc3QJICAgKmpmaWx0ZXJzOworCisJ CWpmaWx0ZXJzID0gY29tcHV0ZV9qb2luX2V4cGVjdGVkX2ZpbHRlcnMocm9vdCwgb3V0ZXJfcGF0 aCwgaW5uZXJfcGF0aCwKKwkJCQkJCQkJCQkJCSBqb2ludHlwZSwgZmFsc2UsIE5JTCwKKwkJCQkJ CQkJCQkJCSAmY29udHJhZGljdGVkLCBOVUxMKTsKKworCQkvKgorCQkgKiBDb250cmFkaWN0ZWQg bWVhbnMgdGhlIGlubmVyL291dGVyIHBhdGhzIGV4cGVjdCB0aGlzIGpvaW4gdG8gcmVhbGl6ZQor CQkgKiBvbmUgb2YgdGhlIGV4cGVjdGVkIGZpbHRlcnMsIGJ1dCBhIG5lc3Rsb29wIGNhbid0IGRv IHRoYXQuIFNvIHRoZXNlCisJCSAqIGlucHV0IHBhdGhzIGFyZSBpbmNvbXBhdGlibGUgd2l0aCBh IG5lc3Rsb29wLgorCQkgKi8KKwkJaWYgKGNvbnRyYWRpY3RlZCkKKwkJeworCQkJYm1zX2ZyZWUo cmVxdWlyZWRfb3V0ZXIpOworCQkJcmV0dXJuOworCQl9CisKKwkJLyoKKwkJICogSWYgdGhlIHBh dGggZXhwZWN0cyBhbnkgZmlsdGVycywgaXQncyBleGNsdWRlZCBmcm9tIHRoZSBjb3N0IHBydW5p bmcKKwkJICogcGVyZm9ybWVkIGJ5IGFkZF9wYXRoIChzbyBkb24ndCBib3RoZXIgd2l0aCBhZGRf cGF0aF9wcmVjaGVjayBlaXRoZXIpLgorCQkgKiBPbmNlIGEgcGF0aCBoYXMgYWxsIGZpbHRlcnMg c2F0aXNmaWVkIChvciB0aGVyZSB3ZXJlIG5vIGZpbHRlcnMpLCBkbworCQkgKiB0aGUgcHJ1bmlu ZyBhcyB1c3VhbC4KKwkJICoKKwkJICogWFhYIFdlIGRvbid0IHdhbnQgdGhlICJyZWd1bGFyIiBw YXRocyB3aXRob3V0IGZpbHRlcnMgdG8gZ2V0IHJlbW92ZWQsCisJCSAqIGJlY2F1c2Ugd2UgbmVl ZCB0aGUgb3B0aW9uIHRvIHBpY2sgZnJvbSBqb2luIGFsZ29yaXRobXMuIFBhdGhzIHdpdGgKKwkJ ICogZmlsdGVycyB3b3VsZCBsaWtlbHkgd2luIChzaW1wbHkgYmVjYXVzZSB0aGVyZSBhcmUgZmV3 ZXIgcm93cyksIGJ1dAorCQkgKiB0aGV5IG9ubHkgd29yayB3aXRoIGhhc2hqb2lucy4gSG93ZXZl ciwgbWF5YmUgdGhlIGhhc2hqb2luIHdvbid0IHdvcmsKKwkJICogZm9yIHNvbWUgcmVhc29uIChl LmcuIGl0IHdvdWxkbid0IGZpdCBpbnRvIHdvcmtfbWVtKS4KKwkJICoKKwkJICogWFhYIE1heWJl IGl0J2QgYmUgY2xlYW5lciB0byBkbyB0aGlzIGluIGFkZF9wYXRoX3ByZWNoZWNrIChpLmUuIG1h a2UKKwkJICogaXQgcmV0dXJuIHRydWUgZm9yIHBhdGhzIHdpdGggZXhwZWN0ZWQgZmlsdGVycyku CisJCSAqLworCQlpZiAoamZpbHRlcnMgIT0gTklMIHx8CisJCQlhZGRfcGF0aF9wcmVjaGVjayhq b2lucmVsLCB3b3Jrc3BhY2UuZGlzYWJsZWRfbm9kZXMsCisJCQkJCQkJICB3b3Jrc3BhY2Uuc3Rh cnR1cF9jb3N0LCB3b3Jrc3BhY2UudG90YWxfY29zdCwKKwkJCQkJCQkgIHBhdGhrZXlzLCByZXF1 aXJlZF9vdXRlcikpCisJCXsKKwkJCVBhdGgJICAgKm5scGF0aDsKKworCQkJbmxwYXRoID0gKFBh dGggKikgY3JlYXRlX25lc3Rsb29wX3BhdGgocm9vdCwKKwkJCQkJCQkJCQkJCSAgIGpvaW5yZWws CisJCQkJCQkJCQkJCQkgICBqb2ludHlwZSwKKwkJCQkJCQkJCQkJCSAgICZ3b3Jrc3BhY2UsCisJ CQkJCQkJCQkJCQkgICBleHRyYSwKKwkJCQkJCQkJCQkJCSAgIG91dGVyX3BhdGgsCisJCQkJCQkJ CQkJCQkgICBpbm5lcl9wYXRoLAorCQkJCQkJCQkJCQkJICAgZXh0cmEtPnJlc3RyaWN0bGlzdCwK KwkJCQkJCQkJCQkJCSAgIHBhdGhrZXlzLAorCQkJCQkJCQkJCQkJICAgcmVxdWlyZWRfb3V0ZXIp OworCQkJc2V0X2pvaW5fcGF0aF9leHBlY3RlZF9maWx0ZXJzKG5scGF0aCwgamZpbHRlcnMpOwor CQkJYWRkX3BhdGgoam9pbnJlbCwgbmxwYXRoKTsKKwkJfQorCQllbHNlCisJCXsKKwkJCS8qIFdh c3RlIG5vIG1lbW9yeSB3aGVuIHdlIHJlamVjdCBhIHBhdGggaGVyZSAqLworCQkJYm1zX2ZyZWUo cmVxdWlyZWRfb3V0ZXIpOworCQl9CiAJfQogfQogCkBAIC0xMTYwLDMwICsxNDcwLDU4IEBAIHRy eV9tZXJnZWpvaW5fcGF0aChQbGFubmVySW5mbyAqcm9vdCwKIAkJCQkJCSAgIG91dGVyX3ByZXNv cnRlZF9rZXlzLAogCQkJCQkJICAgZXh0cmEpOwogCi0JaWYgKGFkZF9wYXRoX3ByZWNoZWNrKGpv aW5yZWwsIHdvcmtzcGFjZS5kaXNhYmxlZF9ub2RlcywKLQkJCQkJCSAgd29ya3NwYWNlLnN0YXJ0 dXBfY29zdCwgd29ya3NwYWNlLnRvdGFsX2Nvc3QsCi0JCQkJCQkgIHBhdGhrZXlzLCByZXF1aXJl ZF9vdXRlcikpCi0JewotCQlhZGRfcGF0aChqb2lucmVsLCAoUGF0aCAqKQotCQkJCSBjcmVhdGVf bWVyZ2Vqb2luX3BhdGgocm9vdCwKLQkJCQkJCQkJCSAgIGpvaW5yZWwsCi0JCQkJCQkJCQkgICBq b2ludHlwZSwKLQkJCQkJCQkJCSAgICZ3b3Jrc3BhY2UsCi0JCQkJCQkJCQkgICBleHRyYSwKLQkJ CQkJCQkJCSAgIG91dGVyX3BhdGgsCi0JCQkJCQkJCQkgICBpbm5lcl9wYXRoLAotCQkJCQkJCQkJ ICAgZXh0cmEtPnJlc3RyaWN0bGlzdCwKLQkJCQkJCQkJCSAgIHBhdGhrZXlzLAotCQkJCQkJCQkJ ICAgcmVxdWlyZWRfb3V0ZXIsCi0JCQkJCQkJCQkgICBtZXJnZWNsYXVzZXMsCi0JCQkJCQkJCQkg ICBvdXRlcnNvcnRrZXlzLAotCQkJCQkJCQkJICAgaW5uZXJzb3J0a2V5cywKLQkJCQkJCQkJCSAg IG91dGVyX3ByZXNvcnRlZF9rZXlzKSk7Ci0JfQotCWVsc2UKKwkvKgorCSAqIEFjY291bnQgZm9y IGV4cGVjdGVkIEJsb29tIGZpbHRlcnMgY2FycmllZCBieSB0aGUgaW5wdXQgcGF0aHMuICBBCisJ ICogbWVyZ2Vqb2luIG5ldmVyIGJ1aWxkcyBhIEJsb29tIGZpbHRlciwgc28gaXQgY29udHJhZGlj dHMgKGFuZCBjYW5ub3QKKwkgKiB1c2UpIGFueSBpbnB1dCBwYXRoIGZvciB3aGljaCBpdCB3b3Vs ZCBiZSB0aGUgZmlsdGVyJ3Mgc291cmNlLgorCSAqIEZpbHRlci1iZWFyaW5nIHBhdGhzIGJ5cGFz cyB0aGUgcHJlY2hlY2ssIHNpbmNlIHRoZWlyIHJlZHVjZWQgY29zdAorCSAqIGlzbid0IGNvbXBh cmFibGUgdG8gb3JkaW5hcnkgcGF0aHMuCisJICoKKwkgKiBYWFggc2VlIHRoZSBjb21tZW50cyBp biB0cnlfbmVzdGxvb3BfcGF0aAorCSAqLwogCXsKLQkJLyogV2FzdGUgbm8gbWVtb3J5IHdoZW4g d2UgcmVqZWN0IGEgcGF0aCBoZXJlICovCi0JCWJtc19mcmVlKHJlcXVpcmVkX291dGVyKTsKKwkJ Ym9vbAkJY29udHJhZGljdGVkOworCQlMaXN0CSAgICpqZmlsdGVyczsKKworCQlqZmlsdGVycyA9 IGNvbXB1dGVfam9pbl9leHBlY3RlZF9maWx0ZXJzKHJvb3QsIG91dGVyX3BhdGgsIGlubmVyX3Bh dGgsCisJCQkJCQkJCQkJCQkgam9pbnR5cGUsIGZhbHNlLCBOSUwsCisJCQkJCQkJCQkJCQkgJmNv bnRyYWRpY3RlZCwgTlVMTCk7CisJCWlmIChjb250cmFkaWN0ZWQpCisJCXsKKwkJCWJtc19mcmVl KHJlcXVpcmVkX291dGVyKTsKKwkJCXJldHVybjsKKwkJfQorCisJCWlmIChqZmlsdGVycyAhPSBO SUwgfHwKKwkJCWFkZF9wYXRoX3ByZWNoZWNrKGpvaW5yZWwsIHdvcmtzcGFjZS5kaXNhYmxlZF9u b2RlcywKKwkJCQkJCQkgICB3b3Jrc3BhY2Uuc3RhcnR1cF9jb3N0LCB3b3Jrc3BhY2UudG90YWxf Y29zdCwKKwkJCQkJCQkgICBwYXRoa2V5cywgcmVxdWlyZWRfb3V0ZXIpKQorCQl7CisJCQlQYXRo CSAgICptanBhdGg7CisKKwkJCW1qcGF0aCA9IChQYXRoICopIGNyZWF0ZV9tZXJnZWpvaW5fcGF0 aChyb290LAorCQkJCQkJCQkJCQkJCWpvaW5yZWwsCisJCQkJCQkJCQkJCQkJam9pbnR5cGUsCisJ CQkJCQkJCQkJCQkJJndvcmtzcGFjZSwKKwkJCQkJCQkJCQkJCQlleHRyYSwKKwkJCQkJCQkJCQkJ CQlvdXRlcl9wYXRoLAorCQkJCQkJCQkJCQkJCWlubmVyX3BhdGgsCisJCQkJCQkJCQkJCQkJZXh0 cmEtPnJlc3RyaWN0bGlzdCwKKwkJCQkJCQkJCQkJCQlwYXRoa2V5cywKKwkJCQkJCQkJCQkJCQly ZXF1aXJlZF9vdXRlciwKKwkJCQkJCQkJCQkJCQltZXJnZWNsYXVzZXMsCisJCQkJCQkJCQkJCQkJ b3V0ZXJzb3J0a2V5cywKKwkJCQkJCQkJCQkJCQlpbm5lcnNvcnRrZXlzLAorCQkJCQkJCQkJCQkJ CW91dGVyX3ByZXNvcnRlZF9rZXlzKTsKKwkJCXNldF9qb2luX3BhdGhfZXhwZWN0ZWRfZmlsdGVy cyhtanBhdGgsIGpmaWx0ZXJzKTsKKwkJCWFkZF9wYXRoKGpvaW5yZWwsIG1qcGF0aCk7CisJCX0K KwkJZWxzZQorCQl7CisJCQkvKiBXYXN0ZSBubyBtZW1vcnkgd2hlbiB3ZSByZWplY3QgYSBwYXRo IGhlcmUgKi8KKwkJCWJtc19mcmVlKHJlcXVpcmVkX291dGVyKTsKKwkJfQorCiAJfQogfQogCkBA IC0xMzE0LDI3ICsxNjUyLDYyIEBAIHRyeV9oYXNoam9pbl9wYXRoKFBsYW5uZXJJbmZvICpyb290 LAogCWluaXRpYWxfY29zdF9oYXNoam9pbihyb290LCAmd29ya3NwYWNlLCBqb2ludHlwZSwgaGFz aGNsYXVzZXMsCiAJCQkJCQkgIG91dGVyX3BhdGgsIGlubmVyX3BhdGgsIGV4dHJhLCBmYWxzZSk7 CiAKLQlpZiAoYWRkX3BhdGhfcHJlY2hlY2soam9pbnJlbCwgd29ya3NwYWNlLmRpc2FibGVkX25v ZGVzLAotCQkJCQkJICB3b3Jrc3BhY2Uuc3RhcnR1cF9jb3N0LCB3b3Jrc3BhY2UudG90YWxfY29z dCwKLQkJCQkJCSAgTklMLCByZXF1aXJlZF9vdXRlcikpCi0JewotCQlhZGRfcGF0aChqb2lucmVs LCAoUGF0aCAqKQotCQkJCSBjcmVhdGVfaGFzaGpvaW5fcGF0aChyb290LAotCQkJCQkJCQkJICBq b2lucmVsLAotCQkJCQkJCQkJICBqb2ludHlwZSwKLQkJCQkJCQkJCSAgJndvcmtzcGFjZSwKLQkJ CQkJCQkJCSAgZXh0cmEsCi0JCQkJCQkJCQkgIG91dGVyX3BhdGgsCi0JCQkJCQkJCQkgIGlubmVy X3BhdGgsCi0JCQkJCQkJCQkgIGZhbHNlLAkvKiBwYXJhbGxlbF9oYXNoICovCi0JCQkJCQkJCQkg IGV4dHJhLT5yZXN0cmljdGxpc3QsCi0JCQkJCQkJCQkgIHJlcXVpcmVkX291dGVyLAotCQkJCQkJ CQkJICBoYXNoY2xhdXNlcykpOwotCX0KLQllbHNlCisJLyoKKwkgKiBBY2NvdW50IGZvciBleHBl Y3RlZCBCbG9vbSBmaWx0ZXJzIGNhcnJpZWQgYnkgdGhlIGlucHV0IHBhdGhzLiAgQSBoYXNoCisJ ICogam9pbiBidWlsZHMgYW5kIHB1c2hlcyBkb3duIGEgQmxvb20gZmlsdGVyLCBzbyBpdCByZWFs aXplcyAoYW5kIHJlbW92ZXMKKwkgKiBmcm9tIHByb3BhZ2F0aW9uKSBhbnkgZXhwZWN0ZWQgZmls dGVyIGZvciB3aGljaCBpdCBpcyB0aGUgc291cmNlOyBvdGhlcgorCSAqIGZpbHRlcnMgcHJvcGFn YXRlIHVwd2FyZC4gIEZpbHRlci1iZWFyaW5nIHBhdGhzIGJ5cGFzcyB0aGUgcHJlY2hlY2suCisJ ICovCiAJewotCQkvKiBXYXN0ZSBubyBtZW1vcnkgd2hlbiB3ZSByZWplY3QgYSBwYXRoIGhlcmUg Ki8KLQkJYm1zX2ZyZWUocmVxdWlyZWRfb3V0ZXIpOworCQlib29sCQljb250cmFkaWN0ZWQ7CisJ CUxpc3QJICAgKmpmaWx0ZXJzOworCQlMaXN0CSAgICpyZWFsaXplZDsKKworCQlqZmlsdGVycyA9 IGNvbXB1dGVfam9pbl9leHBlY3RlZF9maWx0ZXJzKHJvb3QsIG91dGVyX3BhdGgsIGlubmVyX3Bh dGgsCisJCQkJCQkJCQkJCQkgam9pbnR5cGUsIHRydWUsIGhhc2hjbGF1c2VzLAorCQkJCQkJCQkJ CQkJICZjb250cmFkaWN0ZWQsICZyZWFsaXplZCk7CisKKwkJLyogWFhYIENhbiBhIGhhc2hqb2lu IGNvbnRyYWRpY3QgYSBmaWx0ZXI/IFByb2JhYmx5IG5vdC4gKi8KKwkJaWYgKGNvbnRyYWRpY3Rl ZCkKKwkJeworCQkJYm1zX2ZyZWUocmVxdWlyZWRfb3V0ZXIpOworCQkJcmV0dXJuOworCQl9CisK KwkJaWYgKGpmaWx0ZXJzICE9IE5JTCB8fAorCQkJYWRkX3BhdGhfcHJlY2hlY2soam9pbnJlbCwg d29ya3NwYWNlLmRpc2FibGVkX25vZGVzLAorCQkJCQkJCSAgd29ya3NwYWNlLnN0YXJ0dXBfY29z dCwgd29ya3NwYWNlLnRvdGFsX2Nvc3QsCisJCQkJCQkJICBOSUwsIHJlcXVpcmVkX291dGVyKSkK KwkJeworCQkJUGF0aAkgICAqaGpwYXRoOworCisJCQloanBhdGggPSAoUGF0aCAqKSBjcmVhdGVf aGFzaGpvaW5fcGF0aChyb290LAorCQkJCQkJCQkJCQkJICAgam9pbnJlbCwKKwkJCQkJCQkJCQkJ CSAgIGpvaW50eXBlLAorCQkJCQkJCQkJCQkJICAgJndvcmtzcGFjZSwKKwkJCQkJCQkJCQkJCSAg IGV4dHJhLAorCQkJCQkJCQkJCQkJICAgb3V0ZXJfcGF0aCwKKwkJCQkJCQkJCQkJCSAgIGlubmVy X3BhdGgsCisJCQkJCQkJCQkJCQkgICBmYWxzZSwJLyogcGFyYWxsZWxfaGFzaCAqLworCQkJCQkJ CQkJCQkJICAgZXh0cmEtPnJlc3RyaWN0bGlzdCwKKwkJCQkJCQkJCQkJCSAgIHJlcXVpcmVkX291 dGVyLAorCQkJCQkJCQkJCQkJICAgaGFzaGNsYXVzZXMpOworCQkJc2V0X2pvaW5fcGF0aF9leHBl Y3RlZF9maWx0ZXJzKGhqcGF0aCwgamZpbHRlcnMpOworCisJCQkvKgorCQkJICogUmVjb3JkIHRo ZSBmaWx0ZXJzIHRoaXMgaGFzaCBqb2luIHJlYWxpemVzLCBzbyBjcmVhdGVfaGFzaGpvaW5fcGxh bgorCQkJICogY2FuIHB1c2ggZXhhY3RseSB0aG9zZSBkb3duIChhbmQgbm8gb3RoZXJzKSBhdCBw bGFuLWNyZWF0aW9uIHRpbWUuCisJCQkgKi8KKwkJCSgoSGFzaFBhdGggKikgaGpwYXRoKS0+cmVh bGl6ZWRfZmlsdGVycyA9IHJlYWxpemVkOworCisJCQlhZGRfcGF0aChqb2lucmVsLCBoanBhdGgp OworCQl9CisJCWVsc2UKKwkJeworCQkJLyogV2FzdGUgbm8gbWVtb3J5IHdoZW4gd2UgcmVqZWN0 IGEgcGF0aCBoZXJlICovCisJCQlibXNfZnJlZShyZXF1aXJlZF9vdXRlcik7CisJCQlyZXR1cm47 CisJCX0KIAl9CiB9CiAKQEAgLTIzMTYsNiArMjY4OSwzMyBAQCBoYXNoX2lubmVyX2FuZF9vdXRl cihQbGFubmVySW5mbyAqcm9vdCwKIAkJCX0KIAkJfQogCisJCS8qCisJCSAqIEFsc28gY29uc2lk ZXIgb3V0ZXIgcGF0aHMgdGhhdCBjYXJyeSBleHBlY3RlZCBCbG9vbSBmaWx0ZXJzLiAgVGhlc2UK KwkJICogYXJlIGRlbGliZXJhdGVseSBleGNsdWRlZCBmcm9tIGNoZWFwZXN0X3N0YXJ0dXAvdG90 YWxfcGF0aCBhbmQgZnJvbQorCQkgKiBjaGVhcGVzdF9wYXJhbWV0ZXJpemVkX3BhdGhzIChzZWUg c2V0X2NoZWFwZXN0KSwgc28gd2UgbXVzdCBpdGVyYXRlCisJCSAqIHRoZSBmdWxsIG91dGVyIHBh dGhsaXN0IHRvIGZpbmQgdGhlbS4gIEEgaGFzaCBqb2luIGlzIGFibGUgdG8gYnVpbGQKKwkJICog YW5kIHB1c2ggZG93biB0aGUgZmlsdGVycywgc28gdGhlc2UgcGF0aHMgYXJlIHVzZWZ1bCBoZXJl IGV2ZW4gd2hlbgorCQkgKiB0aGV5IHdvdWxkIGJlIGNvbnRyYWRpY3RlZCBhdCBhIG5vbi1oYXNo IGpvaW4uCisJCSAqLworCQlmb3JlYWNoKGxjMSwgb3V0ZXJyZWwtPnBhdGhsaXN0KQorCQl7CisJ CQlQYXRoCSAgICpvdXRlcnBhdGggPSAoUGF0aCAqKSBsZmlyc3QobGMxKTsKKworCQkJaWYgKG91 dGVycGF0aC0+ZXhwZWN0ZWRfZmlsdGVycyA9PSBOSUwpCisJCQkJY29udGludWU7CisKKwkJCWlm IChQQVRIX1BBUkFNX0JZX1JFTChvdXRlcnBhdGgsIGlubmVycmVsKSkKKwkJCQljb250aW51ZTsK KworCQkJdHJ5X2hhc2hqb2luX3BhdGgocm9vdCwKKwkJCQkJCQkgIGpvaW5yZWwsCisJCQkJCQkJ ICBvdXRlcnBhdGgsCisJCQkJCQkJICBjaGVhcGVzdF90b3RhbF9pbm5lciwKKwkJCQkJCQkgIGhh c2hjbGF1c2VzLAorCQkJCQkJCSAgam9pbnR5cGUsCisJCQkJCQkJICBleHRyYSk7CisJCX0KKwog CQkvKgogCQkgKiBJZiB0aGUgam9pbnJlbCBpcyBwYXJhbGxlbC1zYWZlLCB3ZSBtYXkgYmUgYWJs ZSB0byBjb25zaWRlciBhCiAJCSAqIHBhcnRpYWwgaGFzaCBqb2luLgpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvb3B0aW1pemVyL3BsYW4vY3JlYXRlcGxhbi5jIGIvc3JjL2JhY2tlbmQvb3B0aW1p emVyL3BsYW4vY3JlYXRlcGxhbi5jCmluZGV4IDdlY2I1NTFhYWU2Li41MTk5MGI5ODQxOSAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3BsYW4vY3JlYXRlcGxhbi5jCisrKyBiL3Ny Yy9iYWNrZW5kL29wdGltaXplci9wbGFuL2NyZWF0ZXBsYW4uYwpAQCAtNDY5Miw3OCArNDY5Miw1 NCBAQCBjcmVhdGVfbWVyZ2Vqb2luX3BsYW4oUGxhbm5lckluZm8gKnJvb3QsCiAvKgogICogQkxP T00gRklMVEVSIFBVU0hET1dOCiAgKgotICogV2hlbiBjcmVhdGluZyBhIGhhc2ggam9pbiBwbGFu LCBjb25zaWRlciBidWlsZGluZyBhIGJsb29tIGZpbHRlciBhbmQKLSAqIHB1c2hpbmcgaXQgZG93 biB0byB0aGUgb3V0ZXIgc3VidHJlZS4gRm9yIG5vdyB3ZSBvbmx5IHB1c2ggZmlsdGVycyB0bwot ICogc2NhbiBub2RlcyBjb250YWluaW5nIGFsbCB0aGUgam9pbiBrZXlzLiBXaGVuIHdlIGZpbmQg c3VjaCBzY2FuIG5vZGUsCi0gKiB3ZSBhcHBlbmQgdGhlIEJsb29tRmlsdGVyIElEIHRvIHRoZSBu b2RlJ3MgYmxvb21fZmlsdGVycyBsaXN0LCBhbmQKLSAqIGluY3JlbWVudCB0aGUgYmxvb21fY29u c3VtZXJfY291bnQgZm9yIHRoZSBoYXNoam9pbi4KKyAqIFdoZW4gYSBoYXNoIGpvaW4gaXMgY3Jl YXRlZCBhcyBhIHBhdGgsIHdlIGRlY2lkZSB3aGV0aGVyIGl0IHNob3VsZCBidWlsZCBhCisgKiBC bG9vbSBmaWx0ZXIgYW5kIHB1c2ggaXQgZG93biB0byBhIHNjYW4gb24gaXRzIG91dGVyIChwcm9i ZSkgc2lkZS4gIFRoYXQKKyAqIGRlY2lzaW9uIC0gd2hpY2ggZmlsdGVycyBhcmUgc2VsZWN0aXZl IGVub3VnaCB0byBiZSB3b3J0aCBidWlsZGluZywgYW5kCisgKiB3aGljaCBzY2FuIHRoZXkgY2Fu IGJlIHB1c2hlZCB0byAtIGlzIG1hZGUgZW50aXJlbHkgd2hpbGUgY3JlYXRpbmcgcGF0aHMKKyAq IChzZWUgZmluZF9pbnRlcmVzdGluZ19ibG9vbV9maWx0ZXJzIGFuZCBjb21wdXRlX2pvaW5fZXhw ZWN0ZWRfZmlsdGVycyBpbiB0aGUKKyAqIG9wdGltaXplcik7IGFuZCB0aGUgY2hvc2VuIGZpbHRl cnMgYXJlIHJlY29yZGVkIG9uIHRoZSBIYXNoUGF0aCBhcyBpdHMKKyAqIHJlYWxpemVkX2ZpbHRl cnMuICBIZXJlIHdlIG1lcmVseSBwcm9wYWdhdGUgdGhhdCBkZWNpc2lvbiBpbnRvIHRoZSBwbGFu OiB3ZQorICogbmV2ZXIgcmVjb25zaWRlciB3aGV0aGVyIGEgZmlsdGVyIGlzIHdvcnRod2hpbGUs IGFuZCBpbiBwYXJ0aWN1bGFyIHdlIG5ldmVyCisgKiBwdXNoIGEgZmlsdGVyIHRoYXQgd2FzIG5v dCBzZWxlY3RlZCBhcyBpbnRlcmVzdGluZyB3aGVuIGNyZWF0aW5nIHBhdGhzLgogICoKLSAqIEFz IHNldHJlZnMgaGFzaG4ndCBydW4geWV0LCB0aGUgam9pbiBrZXlzIGFyZSBzdGlsbCB0aGUgcmF3 IFZhcnMuCi0gKiBTbyBpdCdzIHNhZmUgdG8gY29tcGFyZSB2YXItPnZhcm5vIGFnYWluc3QgdGhl IHNjYW5yZWxpZCwgYW5kIGNvcHkKLSAqIHRoZSBrZXlzIHZlcmJhdGltIG9udG8gdGhlIHJlY2lw aWVudC4gc2V0cmVmcyB3aWxsIHJld3JpdGUgdGhlIFZhcnMKLSAqIGxhdGVyIGFzIHVzdWFsLCBq dXN0IGxpa2UgZm9yIHRoZSByZWNpcGllbnQncyBxdWFsLgorICogRm9yIGVhY2ggcmVhbGl6ZWQg ZmlsdGVyIHdlIGxvY2F0ZSB0aGUgc2NhbiBub2RlIGZvciBpdHMgb3duZXIgcmVsYXRpb24gaW4K KyAqIHRoZSBvdXRlciBzdWJ0cmVlLCBhcHBlbmQgYSBCbG9vbUZpbHRlciAoYnVpbHQgZnJvbSB0 aGUgaGFzaCBrZXlzIGJlbG9uZ2luZworICogdG8gdGhhdCBmaWx0ZXIpIHRvIHRoZSBzY2FuJ3Mg Ymxvb21fZmlsdGVycyBsaXN0LCBhbmQgaW5jcmVtZW50IHRoZQorICogaGFzaGpvaW4ncyBibG9v bV9jb25zdW1lcl9jb3VudC4KICAqCi0gKiBYWFggSW4gbW9zdCBjYXNlcyB0aGVyZSdsbCBiZSBv bmx5IGEgc2luZ2xlIGNvbnN1bWVyIG5vZGUuIFRvIGdldAotICogbXVsdGlwbGUgY29uc3VtZXJz LCB3ZSdkIG5lZWQgZWl0aGVyIGpvaW5zIG9uIHRoZSBzYW1lIGtleXMsIG9yCi0gKiBhYmlsaXR5 IHRvIHByb2R1Y2UgZmlsdGVycyBmb3Igc3Vic2V0cyBvZiB0aGUgam9pbiBrZXlzIChmb3IgY2Fz ZXMKLSAqIHdoZXJlIHRoZSBqb2luIGlzIG1vcmUgY29tcGxleCwgYW5kIGRvZXMgbm90IG1hcCB0 byBhIHNpbmdsZSBzY2FuCi0gKiBub2RlIGRpcmVjdGx5KS4gU2VlbXMgbGlrZSBhIHBvc3NpYmxl IGZ1dHVyZSBpbXByb3ZlbWVudC4KKyAqIEFzIHNldHJlZnMgaGFzbid0IHJ1biB5ZXQsIHRoZSBo YXNoIGtleXMgYXJlIHN0aWxsIHRoZSByYXcgVmFycy4gIFNvIGl0J3MKKyAqIHNhZmUgdG8gY29t cGFyZSB2YXItPnZhcm5vIGFnYWluc3QgdGhlIHNjYW5yZWxpZCwgYW5kIGNvcHkgdGhlIGtleXMg dmVyYmF0aW0KKyAqIG9udG8gdGhlIHJlY2lwaWVudC4gIHNldHJlZnMgd2lsbCByZXdyaXRlIHRo ZSBWYXJzIGxhdGVyIGFzIHVzdWFsLCBqdXN0IGxpa2UKKyAqIGZvciB0aGUgcmVjaXBpZW50J3Mg cXVhbC4KICAqCi0gKiBYWFggQWN0dWFsbHksIHdlIGNvdWxkIGhhdmUgbXVsdGlwbGUgY29uc3Vt ZXIgbm9kZXMgZm9yIHBhcnRpdGlvbmVkCi0gKiB0YWJsZXMsIHdoZXJlIGVhY2ggcGFydGl0aW9u IGdldHMgYSBzZXBhcmF0ZSBzY2FuLiBXaGljaCBzZWVtcyBsaWtlCi0gKiBzb21ldGhpbmcgd2Ug c2hvdWxkIHN1cHBvcnQuCisgKiBYWFggSW4gbW9zdCBjYXNlcyB0aGVyZSdsbCBiZSBvbmx5IGEg c2luZ2xlIGNvbnN1bWVyIG5vZGUuICBUbyBnZXQgbXVsdGlwbGUKKyAqIGNvbnN1bWVycywgd2Un ZCBuZWVkIGVpdGhlciBqb2lucyBvbiB0aGUgc2FtZSBrZXlzLCBvciBhYmlsaXR5IHRvIHByb2R1 Y2UKKyAqIGZpbHRlcnMgZm9yIHN1YnNldHMgb2YgdGhlIGpvaW4ga2V5cyAoZm9yIGNhc2VzIHdo ZXJlIHRoZSBqb2luIGlzIG1vcmUKKyAqIGNvbXBsZXgsIGFuZCBkb2VzIG5vdCBtYXAgdG8gYSBz aW5nbGUgc2NhbiBub2RlIGRpcmVjdGx5KS4gIFNlZW1zIGxpa2UgYQorICogcG9zc2libGUgZnV0 dXJlIGltcHJvdmVtZW50LgogICoKLSAqIFhYWCBGb3Igc2ltcGxpY2l0eSwgYWxsIG91dGVyIGpv aW4ga2V5cyBoYXZlIHRvIGJlIGJhcmUgVmFycyAoZnJvbQotICogdGhlIHNhbWUgUlRFKS4gV2Ug Y291bGQgcmVsYXggdGhpcyBsYXRlciwgYW5kIGFsbG93IGpvaW5zIG9uIG1vcmUKLSAqIGNvbXBs ZXggZXhwcmVzc2lvbnMuIE5vdCBzdXJlIGlmIHRoYXQnbGwgZXJhc2Ugc29tZSBvZiB0aGUgYmVu ZWZpdHMsCi0gKiB3aGljaCByZWxpZXMgb24gZmlsdGVyIHByb2JlcyBiZWluZyBtdWNoIGNoZWFw ZXIgaGFzaHRhYmxlIHByb2Jlcy4KLSAqIEl0IGFsc28gZG9lc24ndCBzZWVtIGxpa2UgYSB2ZXJ5 IGNvbW1vbiBjYXNlLgorICogWFhYIEFjdHVhbGx5LCB3ZSBjb3VsZCBoYXZlIG11bHRpcGxlIGNv bnN1bWVyIG5vZGVzIGZvciBwYXJ0aXRpb25lZCB0YWJsZXMsCisgKiB3aGVyZSBlYWNoIHBhcnRp dGlvbiBnZXRzIGEgc2VwYXJhdGUgc2Nhbi4gIFdoaWNoIHNlZW1zIGxpa2Ugc29tZXRoaW5nIHdl CisgKiBzaG91bGQgc3VwcG9ydC4KICAqCi0gKiBYWFggVGhlIHJlY2lwaWVudCBub2RlIG11c3Qg YmUgb25lIG9mIGEgc21hbGwgc2V0IG9mIHNjYW4gbm9kZXMuIFdlCi0gKiBjb3VsZCByZWxheCB0 aGlzLCBhbmQgYWxsb3cgcHVzaGluZyB0byBvdGhlciBub2RlcyAoZS5nLiBqb2lucyBvcgotICog YWdncmVnYXRlcykuIEZ1dHVyZSBpbXByb3ZlbWVudC4KKyAqIFhYWCBUaGUgcmVjaXBpZW50IG5v ZGUgbXVzdCBiZSBvbmUgb2YgYSBzbWFsbCBzZXQgb2Ygc2NhbiBub2Rlcy4gIFdlIGNvdWxkCisg KiByZWxheCB0aGlzLCBhbmQgYWxsb3cgcHVzaGluZyB0byBvdGhlciBub2RlcyAoZS5nLiBqb2lu cyBvciBhZ2dyZWdhdGVzKS4KKyAqIEZ1dHVyZSBpbXByb3ZlbWVudC4KICAqCi0gKiBYWFggV2Ug ZG9uJ3QgY3VycmVudGx5IHB1c2ggdGhlIHNhbWUgSGFzaEpvaW4gdG8gbXVsdGlwbGUgcmVjaXBp ZW50cywKLSAqIGJ1dCBtdWx0aXBsZSBIYXNoSm9pbnMgbWF5IGF0dGFjaCBhIGZpbHRlciB0byB0 aGUgc2FtZSBzY2FuIG5vZGUuCisgKiBYWFggV2UgZG9uJ3QgY3VycmVudGx5IHB1c2ggdGhlIHNh bWUgSGFzaEpvaW4gdG8gbXVsdGlwbGUgcmVjaXBpZW50cywgYnV0CisgKiBtdWx0aXBsZSBIYXNo Sm9pbnMgbWF5IGF0dGFjaCBhIGZpbHRlciB0byB0aGUgc2FtZSBzY2FuIG5vZGUuCiAgKiAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQogICovCiAKLS8qCi0gKiBibG9vbV9qb2luX3NpZGVfcHJlc2VydmVkCi0g KgkJRGVjaWRlIGlmIHdlIGNhbiBwdXNoIGZpbHRlciB0byBpbm5lci9vdXRlciBzaWRlIG9mIGEg am9pbi4KLSAqCi0gKiBPdXRlciBqb2lucyB0aGF0IGVtaXQgdW5tYXRjaGVkIG91dGVyIHR1cGxl cyAoTEVGVC9BTlRJL0ZVTEwpIGFyZQotICogc2tpcHBlZDogZHJvcHBpbmcgb3V0ZXIgdHVwbGVz IHRoZXJlIHdvdWxkIGJlIGluY29ycmVjdC4KLSAqLwotc3RhdGljIGJvb2wKLWJsb29tX2pvaW5f c2lkZV9wcmVzZXJ2ZWQoSm9pblR5cGUgam9pbnR5cGUsIGJvb2wgdG9fb3V0ZXIpCi17Ci0Jc3dp dGNoIChqb2ludHlwZSkKLQl7Ci0JCWNhc2UgSk9JTl9JTk5FUjoKLQkJCXJldHVybiB0cnVlOwot CQljYXNlIEpPSU5fTEVGVDoKLQkJY2FzZSBKT0lOX1NFTUk6Ci0JCWNhc2UgSk9JTl9BTlRJOgot CQkJcmV0dXJuIHRvX291dGVyOwotCQljYXNlIEpPSU5fUklHSFQ6Ci0JCWNhc2UgSk9JTl9SSUdI VF9TRU1JOgotCQljYXNlIEpPSU5fUklHSFRfQU5USToKLQkJCXJldHVybiAhdG9fb3V0ZXI7Ci0J CWNhc2UgSk9JTl9GVUxMOgotCQkJcmV0dXJuIGZhbHNlOwotCQlkZWZhdWx0OgotCQkJcmV0dXJu IGZhbHNlOwotCX0KLX0KLQogLyoKICAqIGZpbmRfYmxvb21fZmlsdGVyX3JlY2lwaWVudAogICoJ CVRyeSB0byBmaW5kIGEgc2NhbiBub2RlIHRvIHB1c2ggZmlsdGVyIHRvLgogICoKICAqIFdlIHN1 cHBvcnQgcHVzaGluZyBmaWx0ZXIgdG8gYSBzdWJzZXQgb2Ygc2NhbiBub2RlcyAoY291bGQgYmUg ZXh0ZW5kZWQKICAqIGxhdGVyKS4gV2Ugc3VwcG9ydCBwdXNoaW5nIGZpbHRlcnMgdGhyb3VnaCBp bnRlcm1lZGlhdGUgbm9kZXMgKGpvaW5zLAotICogc29ydHMsIC4uLikuIFNlZSBibG9vbV9qb2lu X3NpZGVfcHJlc2VydmVkIGZvciBqb2lucy4KKyAqIHNvcnRzLCAuLi4pLiBTZWUgYmxvb21fam9p bl9zaWRlX3ByZXNlcnZlZCAoam9pbnBhdGguYykgZm9yIGpvaW5zOyB0aGUKKyAqIHBhdGgtdGlt ZSBwcm9wYWdhdGlvbiB1c2VzIHRoZSBzYW1lIHByZWRpY2F0ZSwgc28gYW55IGZpbHRlciByZWFs aXplZCB3aGlsZQorICogY29zdGluZyBwYXRocyBpcyBndWFyYW50ZWVkIGEgcmVhY2hhYmxlIHJl Y2lwaWVudCBoZXJlLgogICoKICAqIFhYWCBXZSBjb3VsZCBwdXNoIGZpbHRlcnMgdGhyb3VnaCBt b3JlIG5vZGVzIC0gZS5nLiBhZ2dyZWdhdGVzIGlmIHRoZQogICogaGFzaCBrZXlzIG1hdGNoIEdS T1VQIEJZIGtleXMgKGFyZSBhIHN1YnNldCBvZikuCkBAIC00NzcxLDYgKzQ3NDcsMTIgQEAgYmxv b21fam9pbl9zaWRlX3ByZXNlcnZlZChKb2luVHlwZSBqb2ludHlwZSwgYm9vbCB0b19vdXRlcikK ICAqIFhYWCBXZSBjb3VsZCBkbyBwdXNoZG93biB0byBwYXJhbGxlbCBwYXJ0cyBvZiBhIHF1ZXJ5 LiBCdXQgd2UnZCBuZWVkCiAgKiBhIGRpZmZlcmVudCB3YXkgdG8gY29tbXVuaWNhdGUgaWYgYSBm aWx0ZXIgaXMgYnVpbHQgZXRjLiAodGhlIHdvcmtlcgogICogd29uJ3QgaGF2ZSBhY2Nlc3MgdG8g dGhlIGhhc2hqb2luIHN0YXRlKS4KKyAqCisgKiBYWFggTm90IHN1cmUgdGhpcyBoYW5kbGVzIHBh cnRpdGlvbmVkIHRhYmxlcyBjb3JyZWN0bHkuIFRob3NlIHdpbGwgYmUgYmVsb3cKKyAqIEFwcGVu ZCBub2RlLCBhbmQgd2UgZG9uJ3QgcHVzaCB0aHJvdWdoIHRob3NlLiBCdXQgdGhlIHNjYW5zIHdp bGwgc3RpbGwgZXhwZWN0CisgKiB0aGUgZmlsdGVyLCBJIHRoaW5rLiBFdmVuIGlmIHdlIHB1c2hl ZCB0aHJvdWdoIEFwcGVuZCBub2RlLCBpdCBwcm9iYWJseSB3b24ndAorICogd29yayBiZWNhdXNl IHdlIGV4cGVjdCBhIHNpbmdsZSBjb25zdW1lci4gQnV0IHdlJ2xsIGhhdmUgb25lIGNvbnN1bWVy IHBlcgorICogc2NhbiBvZiBhIHBhcnRpdGlvbi4KICAqLwogc3RhdGljIFBsYW4gKgogZmluZF9i bG9vbV9maWx0ZXJfcmVjaXBpZW50KFBsYW4gKnBsYW4sIEluZGV4IHRhcmdldF9yZWxpZCkKQEAg LTQ4NDIsMTQyICs0ODI0LDkyIEBAIGZpbmRfYmxvb21fZmlsdGVyX3JlY2lwaWVudChQbGFuICpw bGFuLCBJbmRleCB0YXJnZXRfcmVsaWQpCiAKIC8qCiAgKiB0cnlfcHVzaF9ibG9vbV9maWx0ZXIK LSAqCQlBdHRlbXB0IHRvIHB1c2hkb3duIGEgYmxvb20gZmlsdGVyIGZvciB0aGUgY3VycmVudCBo YXNoam9pbi4KKyAqCQlQdXNoIGRvd24gdGhlIGJsb29tIGZpbHRlciB0aGUgcGxhbm5lciBkZWNp ZGVkIHRoaXMgaGFzaGpvaW4gc2hvdWxkCisgKgkJYnVpbGQsIHJlY29yZGluZyBpdCBvbiB0aGUg cmVjaXBpZW50IHNjYW4gbm9kZS4KICAqCi0gKiBUaGUgZmlsdGVyIHB1c2hkb3duIGhhcHBlbnMg ZHVyaW5nIHBsYW4gY3JlYXRpb24sIGkuZS4gYWZ0ZXIgdGhlIHBsYW4gd2FzCi0gKiBhbHJlYWR5 IHNlbGVjdGVkLiBUaGF0IGlzIG5vdCBlbnRpcmVseSBvcHRpbWFsLCBhbmQgaXQgaGFzIGEgY291 cGxlIG9mCi0gKiBhbm5veWluZyBjb25zZXF1ZW5jZXMuCisgKiAncmVhbGl6ZWRfZmlsdGVycycg aXMgdGhlIGxpc3Qgb2YgRXhwZWN0ZWRGaWx0ZXIgbm9kZXMgdGhlIEhhc2hQYXRoIHdhcworICog Zm91bmQgdG8gcmVhbGl6ZSB3aGlsZSBjcmVhdGluZyBwYXRocy4gIFdlIGRvIG5vdCByZWNvbnNp ZGVyIHRoYXQgZGVjaXNpb24KKyAqIGhlcmU7IGlmIGl0IGlzIGVtcHR5LCB0aGlzIGhhc2hqb2lu IHB1c2hlcyBub3RoaW5nLiAgT3RoZXJ3aXNlIHdlIHR1cm4gaXQKKyAqIGludG8gYSBjb25jcmV0 ZSBCbG9vbUZpbHRlciBhdHRhY2hlZCB0byB0aGUgc2NhbiBvZiB0aGUgb3duZXIgcmVsYXRpb24u CiAgKgotICogVGhlIG1haW4gZGlzYWR2YW50YWdlIGlzIHRoYXQgaW5qZWN0aW5nIHRoZSBmaWx0 ZXIgdG8gYSBzY2FuIG5vZGUgbWF5Ci0gKiBzaWduaWZpY2FudGx5IGFsdGVyIHRoZSBudW1iZXIg b2YgdHVwbGVzIHByb2R1Y2VkIGJ5IHRoYXQgc2NhbiBub2RlLiBJZiBhCi0gKiBmaWx0ZXIgZWxp bWluYXRlcyA5OSUgb2YgdGhlIHJvd3MsIHRoZSBzY2FuIHByb2R1Y2VzIDEvMTAwIG9mIHRoZSBy b3dzIGl0Ci0gKiB3YXMgcGxhbm5lZCB3aXRoLiBJdCB3b3VsZCBub3QgYWZmZWN0IHRoZSBzY2Fu IGl0c2VsZiwgYnV0IGlmIHRoZXJlIGFyZQotICogb3RoZXIgbm9kZXMgKGJldHdlZW4gdGhlIHNj YW4gYW5kIHRoZSBqb2luKSwgbWF5YmUgd2UnZCBoYXZlIHBsYW5uZWQgdGhlbQotICogZGlmZmVy ZW50bHkgaWYgd2Uga25ldyBhYm91dCB0aGUgbG93ZXIgY2FyZGluYWxpdHk/CisgKiBBIGhhc2gg am9pbiBidWlsZHMgYSBzaW5nbGUgYmxvb20gZmlsdGVyLCBwb3B1bGF0ZWQgd2l0aCB0aGUgY29t YmluZWQgaGFzaAorICogdmFsdWUgb2YgYWxsIG9mIGl0cyBoYXNoIGtleXMgKHNlZSBFeGVjSGFz aFRhYmxlSW5zZXJ0IC8gYmxvb21fYWRkX2VsZW1lbnQKKyAqIGluIG5vZGVIYXNoLmMpLiAgVGhl IHJlY2lwaWVudCBtdXN0IHRoZXJlZm9yZSBwcm9iZSB3aXRoIHRoZSBtYXRjaGluZyBmdWxsCisg KiBzZXQgb2Ygb3V0ZXIgaGFzaCBrZXlzLCBzbyB3ZSBidWlsZCB0aGUgZmlsdGVyIGZyb20gYWxs IG9mIHRoZW0uICBBbGwKKyAqIHJlYWxpemVkIGZpbHRlcnMgb2Ygb25lIGhhc2ggam9pbiBzaGFy ZSB0aGUgc2FtZSBvd25lciByZWxhdGlvbiAodGhlIG91dGVyCisgKiBzaWRlIG9mIGV2ZXJ5IGhh c2ggY2xhdXNlIGlzIGEgYmFyZSBWYXIgb2YgdGhhdCByZWxhdGlvbiksIHNvIGEgc2luZ2xlCisg KiBwdXNoZWQtZG93biBmaWx0ZXIgY292ZXJzIHRoZW0gYWxsLgogICoKLSAqIFNpbWlsYXJseSwg aXQncyBjb25mdXNpbmcgaW4gdGhlIGV4cGxhaW4uIFRoYXQgaXMsIHdlJ2xsIGdldCAicm93cz1O IgotICogd2l0aCB0aGUgcGxhbm5lciBjYXJkaW5hbGl0eSAoYmVmb3JlIHRoZSBmaWx0ZXIgd2Fz IHB1c2hlZCBkb3duKSwgYnV0Ci0gKiB0aGVuIGluIEVYUExBSU4gQU5BTFlaRSBpdCdsbCBnZXQg bXVjaCBsb3dlciB2YWx1ZXMuIEl0J2QgYmUgZWFzeSB0bwotICogY29uZnVzZSB3aXRoIGluYWNj dXJhdGUgZXN0aW1hdGVzLgotICoKLSAqIEl0J2QgYmUgYmV0dGVyIHRvIGtub3cgYWJvdXQgdGhl IGZpbHRlciBlYXJsaWVyLCB3aGVuIGNvbnN0cnVjdGluZyB0aGUgc2NhbgotICogcGF0aC4gQnV0 IHRoYXQncyBub3QgcXVpdGUgZmVhc2libGUgd2l0aCBvdXIgYm90dG9tLXVwIHBsYW5uZXIuIFdo ZW4gcGxhbmluZwotICogdGhlIHNjYW4sIHdlIGRvbid0IGtub3cgd2hpY2ggb2YgdGhlIGpvaW5z IGFib3ZlIGl0IHdpbGwgYmUgaGFzaGpvaW5zLCBvcgotICogaWYgaXQgY2FuIHB1c2hkb3duIHRo ZSBmaWx0ZXIuIFdlJ2QgaGF2ZSB0byBzcGVjdWxhdGUsIG9yIG1heWJlIGJ1aWxkIG1vcmUKLSAq IHBhdGhzIHdpdGgvd2l0aG91dCBleHBlY3RhdGlvbiBvZiB0aGUgYmxvb20gZmlsdGVyIHB1c2hk b3duLiBCdXQgdGhhdCBzZWVtcwotICogbm90IGdyZWF0LCBhcyBpdCdkIGFkZCBvdmVyaGVhZCBm b3IgZXZlcnlvbmUuCisgKiBOb3RlIHRoZSBwdXNoZG93biBzdGlsbCBoYXBwZW5zIGR1cmluZyBw bGFuIGNyZWF0aW9uLCBpLmUuIGFmdGVyIHRoZSBwbGFuIHdhcworICogYWxyZWFkeSBzZWxlY3Rl ZC4gIFRoZSBzZWxlY3Rpdml0eSBvZiB0aGUgZmlsdGVyIHdhcywgaG93ZXZlciwgYWNjb3VudGVk IGZvcgorICogd2hpbGUgY3JlYXRpbmcgcGF0aHMgKHRoZSBhZmZlY3RlZCBzY2FuIHBhdGhzIGNh cnJ5IHJlZHVjZWQgcm93IGVzdGltYXRlcyksCisgKiBzbyB0aGUgcGxhbi10aW1lIHJvdyBjb3Vu dHMgYWxyZWFkeSByZWZsZWN0IHRoZSBleHBlY3RlZCBlbGltaW5hdGlvbi4KICAqLwogc3RhdGlj IHZvaWQKLXRyeV9wdXNoX2Jsb29tX2ZpbHRlcihQbGFubmVySW5mbyAqcm9vdCwgSGFzaEpvaW4g KmhqLCBQbGFuICpvdXRlcl9wbGFuKQordHJ5X3B1c2hfYmxvb21fZmlsdGVyKFBsYW5uZXJJbmZv ICpyb290LCBIYXNoSm9pbiAqaGosIFBsYW4gKm91dGVyX3BsYW4sCisJCQkJCSAgTGlzdCAqcmVh bGl6ZWRfZmlsdGVycykKIHsKLQlMaXN0CSAgICpoYXNoa2V5cyA9IGhqLT5oYXNoa2V5czsKLQlM aXN0CSAgICpoYXNob3BzID0gaGotPmhhc2hvcGVyYXRvcnM7Ci0JTGlzdAkgICAqaGFzaGNvbGxz ID0gaGotPmhhc2hjb2xsYXRpb25zOwotCUxpc3RDZWxsICAgKmxjOwotCUluZGV4CQl0YXJnZXRf cmVsaWQgPSAwOworCUV4cGVjdGVkRmlsdGVyICpmOworCUluZGV4CQlvd25lcl9yZWxpZDsKIAlQ bGFuCSAgICpyZWNpcGllbnQ7CiAJQmxvb21GaWx0ZXIgKmJmOwogCi0JLyogYmFpbCBvdXQgaWYg ZmVhdHVyZSBkaXNhYmxlZC4gKi8KLQlpZiAoIWVuYWJsZV9oYXNoam9pbl9ibG9vbSkKLQkJcmV0 dXJuOwotCi0JLyogWFhYIHNob3VsZG4ndCByZWFsbHkgaGFwcGVuLCBJIHRoaW5rICovCi0JaWYg KGhhc2hrZXlzID09IE5JTCkKKwkvKiBOb3RoaW5nIHRvIGRvIHVubGVzcyB0aGUgcGxhbm5lciBj aG9zZSB0byByZWFsaXplIGEgZmlsdGVyIGhlcmUuICovCisJaWYgKHJlYWxpemVkX2ZpbHRlcnMg PT0gTklMKQogCQlyZXR1cm47CiAKLQlBc3NlcnQobGlzdF9sZW5ndGgoaGFzaGtleXMpID09IGxp c3RfbGVuZ3RoKGhhc2hvcHMpKTsKLQlBc3NlcnQobGlzdF9sZW5ndGgoaGFzaGtleXMpID09IGxp c3RfbGVuZ3RoKGhhc2hjb2xscykpOwotCiAJLyoKLQkgKiBQdXNoZG93biBpcyB1bnNhZmUgZm9y IGpvaW4gdHlwZXMgdGhhdCBlbWl0IHVubWF0Y2hlZCBvdXRlciB0dXBsZXMKLQkgKiAoTEVGVC9B TlRJL0ZVTEwpOiB3ZSdkIHJpc2sgZHJvcHBpbmcgb3V0ZXIgdHVwbGVzIHRoZSBqb2luIHdvdWxk Ci0JICogb3RoZXJ3aXNlIGhhdmUgZW1pdHRlZCAocG9zc2libHkgTlVMTC1leHRlbmRlZCkuCisJ ICogVGhlIGZlYXR1cmUgbXVzdCBoYXZlIGJlZW4gZW5hYmxlZCB3aGVuIHBhdGhzIHdlcmUgYnVp bHQ7IG90aGVyd2lzZSBubworCSAqIGZpbHRlciB3b3VsZCBoYXZlIGJlZW4gcmVhbGl6ZWQuCiAJ ICovCi0Jc3dpdGNoIChoai0+am9pbi5qb2ludHlwZSkKLQl7Ci0JCWNhc2UgSk9JTl9JTk5FUjoK LQkJY2FzZSBKT0lOX1JJR0hUOgotCQljYXNlIEpPSU5fU0VNSToKLQkJY2FzZSBKT0lOX1JJR0hU X1NFTUk6Ci0JCWNhc2UgSk9JTl9SSUdIVF9BTlRJOgotCQkJLyogdGhlc2Ugam9pbiB0eXBlcyBh cmUgT0sgKi8KLQkJCWJyZWFrOwotCQlkZWZhdWx0OgotCQkJcmV0dXJuOwotCX0KKwlBc3NlcnQo ZW5hYmxlX2hhc2hqb2luX2Jsb29tKTsKKwlBc3NlcnQoaGotPmhhc2hrZXlzICE9IE5JTCk7CisJ QXNzZXJ0KGxpc3RfbGVuZ3RoKGhqLT5oYXNoa2V5cykgPT0gbGlzdF9sZW5ndGgoaGotPmhhc2hv cGVyYXRvcnMpKTsKKwlBc3NlcnQobGlzdF9sZW5ndGgoaGotPmhhc2hrZXlzKSA9PSBsaXN0X2xl bmd0aChoai0+aGFzaGNvbGxhdGlvbnMpKTsKIAogCS8qCi0JICogQWxsIGhhc2hrZXlzIG11c3Qg YmUgYmFyZSBWYXJzIHJlZmVyZW5jaW5nIHRoZSBzYW1lIGJhc2UgUlRFLgotCSAqCi0JICogWFhY IFdlIGNvdWxkIGJlIGEgYml0IGxlc3Mgc3RyaWN0LCBhbmQgY2hlY2sgdGhhdCBhdCBsZWFzdCBz b21lIG9mIHRoZQotCSAqIGhhc2hrZXlzIGFyZSBiYXJlIFZhcnMsIG5vdCBhbGwgb2YgdGhlbS4g U28gd2l0aCBqb2lucyBvbiBtdWx0aXBsZQotCSAqIGV4cHJlc3Npb25zIHdlJ2QgaGF2ZSBiZXR0 ZXIgY2hhbmNlIHRvIHB1c2ggYSBmaWx0ZXIgZG93bi4gRG9lc24ndAotCSAqIHNlZW0gd29ydGgg aXQsIGF0IGxlYXN0IGZvciBub3cuCisJICogQWxsIHJlYWxpemVkIGZpbHRlcnMgc2hhcmUgdGhl IHNhbWUgb3duZXIgcmVsYXRpb24gKGV2ZXJ5IGhhc2ggY2xhdXNlJ3MKKwkgKiBvdXRlciBzaWRl IGlzIGEgYmFyZSBWYXIgb2YgdGhhdCByZWxhdGlvbikuCiAJICovCi0JZm9yZWFjaChsYywgaGFz aGtleXMpCi0JewotCQlOb2RlCSAgICprID0gKE5vZGUgKikgbGZpcnN0KGxjKTsKLQkJVmFyCQkg ICAqdmFyOwotCi0JCS8qIG5vdCBhIHBsYWluIFZhciAqLwotCQlpZiAoIUlzQShrLCBWYXIpKQot CQkJcmV0dXJuOworCWYgPSAoRXhwZWN0ZWRGaWx0ZXIgKikgbGluaXRpYWwocmVhbGl6ZWRfZmls dGVycyk7CisJb3duZXJfcmVsaWQgPSBmLT5vd25lcl9yZWxpZDsKIAotCQl2YXIgPSAoVmFyICop IGs7CisjaWZkZWYgVVNFX0FTU0VSVF9DSEVDS0lORworCXsKKwkJTGlzdENlbGwgICAqbGM7CiAK LQkJLyoKLQkJICogUmVqZWN0IG91dGVyIHJlZmVyZW5jZXMsIHdob2xlLXJvdyBvciBzeXN0ZW0g Y29sdW1ucywgYW5kCi0JCSAqIHNwZWNpYWwgdmFybm9zIChub3Qgc3VyZSB3ZSBjYW4gZ2V0IHRo ZW0gaGVyZSwgdGhvdWdoKS4KLQkJICovCi0JCWlmICgodmFyLT52YXJsZXZlbHN1cCAhPSAwKSB8 fAotCQkJKHZhci0+dmFyYXR0bm8gPD0gMCkgfHwKLQkJCUlTX1NQRUNJQUxfVkFSTk8odmFyLT52 YXJubykpCi0JCQlyZXR1cm47Ci0KLQkJLyogbWFrZSBzdXJlIGFsbCB0aGUgdmFycyBhcmUgZm9y IHRoZSBzYW1lIHJlbGlkICovCi0JCWlmICh0YXJnZXRfcmVsaWQgPT0gMCkKLQkJCXRhcmdldF9y ZWxpZCA9IHZhci0+dmFybm87Ci0JCWVsc2UgaWYgKHZhci0+dmFybm8gIT0gdGFyZ2V0X3JlbGlk KQotCQkJcmV0dXJuOworCQlmb3JlYWNoKGxjLCByZWFsaXplZF9maWx0ZXJzKQorCQkJQXNzZXJ0 KCgoRXhwZWN0ZWRGaWx0ZXIgKikgbGZpcnN0KGxjKSktPm93bmVyX3JlbGlkID09IG93bmVyX3Jl bGlkKTsKIAl9Ci0KLQkvKiBzaG91bGQgaGF2ZSBmb3VuZCBhdCBsZWFzdCBvbmUgdmFyICovCi0J QXNzZXJ0KHRhcmdldF9yZWxpZCAhPSAwKTsKKyNlbmRpZgogCiAJLyoKLQkgKiBTZWUgaWYgd2Ug Y2FuIGZpbmQgdGhlIHNjYW4gbm9kZSBmb3IgdGFyZ2V0X3JlbGlkLiBJdCBjZXJ0YWlubHkgaXMK LQkgKiBpbiB0aGUgcGxhbiBzb21ld2hlcmUsIGJ1dCBpdCBtYXkgbm90IGJlIGFibGUgdG8gcHVz aGRvd24gdGhlIGZpbHRlcgotCSAqIHRvIGl0IChiZWNhdXNlIG9mIGEgam9pbiBvciBzbykuCisJ ICogTG9jYXRlIHRoZSBzY2FuIG5vZGUgZm9yIHRoZSBvd25lciByZWxhdGlvbiBpbiB0aGUgb3V0 ZXIgc3VidHJlZS4gIFRoZQorCSAqIHBhdGggbWFjaGluZXJ5IGd1YXJhbnRlZWQgc3VjaCBhIHJl Y2lwaWVudCBleGlzdHMgKHRoZSBmaWx0ZXIgY291bGQgbm90CisJICogaGF2ZSBiZWVuIHJlYWxp emVkIG90aGVyd2lzZSksIGJ1dCBzdGF5IGRlZmVuc2l2ZS4KIAkgKi8KLQlyZWNpcGllbnQgPSBm aW5kX2Jsb29tX2ZpbHRlcl9yZWNpcGllbnQob3V0ZXJfcGxhbiwgdGFyZ2V0X3JlbGlkKTsKKwly ZWNpcGllbnQgPSBmaW5kX2Jsb29tX2ZpbHRlcl9yZWNpcGllbnQob3V0ZXJfcGxhbiwgb3duZXJf cmVsaWQpOwogCWlmIChyZWNpcGllbnQgPT0gTlVMTCkKIAkJcmV0dXJuOwogCiAJLyoKLQkgKiBJ ZiB3ZSBmb3VuZCBhIHJlY2lwaWVudCwgYXNzaWduIHRoZSBmaWx0ZXIgYW4gSUQuIFdlJ2xsIHVz ZSBpdCB0bwotCSAqIHJlZ2lzdGVyIHRoZSBmaWx0ZXIgaW4gRXhlY1JlZ2lzdGVyQmxvb21GaWx0 ZXJQcm9kdWNlciwgYW5kIHRoZW4KLQkgKiBmb3IgbG9va3VwcyBpbiBMb29rdXBCbG9vbUZpbHRl clByb2R1Y2VyIGR1cmluZyBleGVjdXRpb24uCisJICogQXNzaWduIHRoZSBmaWx0ZXIgYW4gSUQu ICBXZSdsbCB1c2UgaXQgdG8gcmVnaXN0ZXIgdGhlIGZpbHRlciBpbgorCSAqIEV4ZWNSZWdpc3Rl ckJsb29tRmlsdGVyUHJvZHVjZXIsIGFuZCB0aGVuIGZvciBsb29rdXBzIGluCisJICogTG9va3Vw Qmxvb21GaWx0ZXJQcm9kdWNlciBkdXJpbmcgZXhlY3V0aW9uLgogCSAqCiAJICogWFhYIFdlIGNh bid0IHVzZSBwbGFuX25vZGVfaWQsIGFzIGl0J3Mgbm90IGFzc2lnbmVkIHlldCwgdGhhdCBvbmx5 Ci0JICogaGFwcGVucyBpbiBzZXRfcGxhbl9yZWZzLiBBbHNvLCBpZiB3ZSBldmVyIGFsbG93IG11 bHRpcGxlIGZpbHRlcnMKLQkgKiBwZXIgaGFzaHRhYmxlIChlLmcuIGZvciBkaWZmZXJlbnQgc3Vi c2V0cyBvZiBrZXlzKSwgaXQncyBub3Qgd29yay4KKwkgKiBoYXBwZW5zIGluIHNldF9wbGFuX3Jl ZnMuCiAJICovCiAJaGotPmJsb29tX2ZpbHRlcl9pZCA9ICsrcm9vdC0+Z2xvYi0+bGFzdEJsb29t RmlsdGVySWQ7CiAKIAliZiA9IG1ha2VOb2RlKEJsb29tRmlsdGVyKTsKLQliZi0+ZmlsdGVyX2V4 cHJzID0gKExpc3QgKikgY29weU9iamVjdChoYXNoa2V5cyk7Ci0JYmYtPmhhc2hvcHMgPSBsaXN0 X2NvcHkoaGFzaG9wcyk7Ci0JYmYtPmhhc2hjb2xsYXRpb25zID0gbGlzdF9jb3B5KGhhc2hjb2xs cyk7CisJYmYtPmZpbHRlcl9leHBycyA9IChMaXN0ICopIGNvcHlPYmplY3QoaGotPmhhc2hrZXlz KTsKKwliZi0+aGFzaG9wcyA9IGxpc3RfY29weShoai0+aGFzaG9wZXJhdG9ycyk7CisJYmYtPmhh c2hjb2xsYXRpb25zID0gbGlzdF9jb3B5KGhqLT5oYXNoY29sbGF0aW9ucyk7CiAJYmYtPnByb2R1 Y2VyX2lkID0gaGotPmJsb29tX2ZpbHRlcl9pZDsKIAogCXJlY2lwaWVudC0+Ymxvb21fZmlsdGVy cyA9IGxhcHBlbmQocmVjaXBpZW50LT5ibG9vbV9maWx0ZXJzLCBiZik7CiAKLQkvKgotCSAqIFhY WCBXZSd2ZSBtYW5nZWQgdG8gcHVzaCB0aGUgZmlsdGVyIHRvIHRoZSBzY2FuIG5vZGUsIGJ1dCBt YXliZQotCSAqIHdlIHNob3VsZCB3YWl0IHdpdGggdXBkYXRpbmcgYmxvb21fY29uc3VtZXJfY291 bnQgd2hlbiBpdCBhY3R1YWxseQotCSAqIGluaXRpYWxpemVzIHRoZSBmaWx0ZXJzIGluIEV4ZWNJ bml0KCk/Ci0JICovCiAJaGotPmJsb29tX2NvbnN1bWVyX2NvdW50Kys7CiB9CiAKQEAgLTUxNTIs MTEgKzUwODQsMTQgQEAgY3JlYXRlX2hhc2hqb2luX3BsYW4oUGxhbm5lckluZm8gKnJvb3QsCiAJ Y29weV9nZW5lcmljX3BhdGhfaW5mbygmam9pbl9wbGFuLT5qb2luLnBsYW4sICZiZXN0X3BhdGgt PmpwYXRoLnBhdGgpOwogCiAJLyoKLQkgKiBUcnkgdG8gcHVzaCB0aGUgYmxvb20gZmlsdGVyIGZv ciB0aGUgaGFzaHRhYmxlIGRvd24gdG8gbm9kZXMgaW4gdGhlIG91dGVyCi0JICogc3VidHJlZS4g SWYgYSBzdWl0YWJsZSBzY2FuIG5vZGUgZXhpc3RzLCBhZGQgdGhlIGZpbHRlciB0byBibG9vbV9m aWx0ZXJzLAotCSAqIGFuZCBidW1wIG91ciBibG9vbV9jb25zdW1lcl9jb3VudC4KKwkgKiBQcm9w YWdhdGUgdGhlIGJsb29tIGZpbHRlciBwdXNoZG93biBkZWNpc2lvbiBtYWRlIHdoaWxlIGNyZWF0 aW5nIHBhdGhzOgorCSAqIGlmIHRoaXMgaGFzaCBqb2luIHdhcyBmb3VuZCB0byByZWFsaXplIG9u ZSBvciBtb3JlIGJsb29tIGZpbHRlcnMsIHB1c2gKKwkgKiB0aGUgY29ycmVzcG9uZGluZyBmaWx0 ZXIgZG93biB0byB0aGUgcmVjaXBpZW50IHNjYW4gaW4gdGhlIG91dGVyCisJICogc3VidHJlZSwg YW5kIGJ1bXAgb3VyIGJsb29tX2NvbnN1bWVyX2NvdW50LiAgTm8gZmlsdGVyIHRoYXQgd2FzIG5v dAorCSAqIHNlbGVjdGVkIGFzIGludGVyZXN0aW5nIGR1cmluZyBwYXRoIGNyZWF0aW9uIGlzIHB1 c2hlZCBoZXJlLgogCSAqLwotCXRyeV9wdXNoX2Jsb29tX2ZpbHRlcihyb290LCBqb2luX3BsYW4s IG91dGVyX3BsYW4pOworCXRyeV9wdXNoX2Jsb29tX2ZpbHRlcihyb290LCBqb2luX3BsYW4sIG91 dGVyX3BsYW4sCisJCQkJCQkgIGJlc3RfcGF0aC0+cmVhbGl6ZWRfZmlsdGVycyk7CiAKIAlyZXR1 cm4gam9pbl9wbGFuOwogfQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3V0aWwv cGF0aG5vZGUuYyBiL3NyYy9iYWNrZW5kL29wdGltaXplci91dGlsL3BhdGhub2RlLmMKaW5kZXgg NzM1MThjOGY4NzAuLjljZDkxODhhMWNmIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9vcHRpbWl6 ZXIvdXRpbC9wYXRobm9kZS5jCisrKyBiL3NyYy9iYWNrZW5kL29wdGltaXplci91dGlsL3BhdGhu b2RlLmMKQEAgLTI4Niw2ICsyODYsMTYgQEAgc2V0X2NoZWFwZXN0KFJlbE9wdEluZm8gKnBhcmVu dF9yZWwpCiAJCVBhdGgJICAgKnBhdGggPSAoUGF0aCAqKSBsZmlyc3QocCk7CiAJCWludAkJCWNt cDsKIAorCQkvKgorCQkgKiBQYXRocyB0aGF0IGV4cGVjdCBhIHB1c2hlZC1kb3duIEJsb29tIGZp bHRlciBhcmUgc3BlY3VsYXRpdmU6IHRoZWlyCisJCSAqIHJvd3MvY29zdCBlc3RpbWF0ZXMgYXNz dW1lIGEgaGFzaCBqb2luIGFib3ZlIHdpbGwgYnVpbGQgYW5kIHB1c2ggYQorCQkgKiBmaWx0ZXIg dG8gdGhlbS4gIFRoZXkgbXVzdCBuZXZlciBiZSBjaG9zZW4gYXMgdGhlIGNoZWFwZXN0IHN0YXJ0 dXAsCisJCSAqIHRvdGFsLCBvciBwYXJhbWV0ZXJpemVkIHBhdGg7IHRoZXkgYXJlIG9ubHkgY29u c3VtZWQgZXhwbGljaXRseSBieQorCQkgKiBqb2luIHBhdGggZ2VuZXJhdGlvbiAoc2VlIGpvaW5w YXRoLmMpLiAgU2tpcCB0aGVtIGhlcmUuCisJCSAqLworCQlpZiAocGF0aC0+ZXhwZWN0ZWRfZmls dGVycyAhPSBOSUwpCisJCQljb250aW51ZTsKKwogCQlpZiAocGF0aC0+cGFyYW1faW5mbykKIAkJ ewogCQkJLyogUGFyYW1ldGVyaXplZCBwYXRoLCBzbyBhZGQgaXQgdG8gcGFyYW1ldGVyaXplZF9w YXRocyAqLwpAQCAtMzgzLDYgKzM5MywxMjkgQEAgc2V0X2NoZWFwZXN0KFJlbE9wdEluZm8gKnBh cmVudF9yZWwpCiAJcGFyZW50X3JlbC0+Y2hlYXBlc3RfcGFyYW1ldGVyaXplZF9wYXRocyA9IHBh cmFtZXRlcml6ZWRfcGF0aHM7CiB9CiAKKy8qCisgKiBleHBlY3RlZF9maWx0ZXJzX2VxdWFsCisg KgkgIFJldHVybiB0cnVlIGlmIHRoZSB0d28gbGlzdHMgb2YgRXhwZWN0ZWRGaWx0ZXIgbm9kZXMg ZGVub3RlIHRoZSBzYW1lCisgKgkgIHNldCBvZiBleHBlY3RlZCBCbG9vbSBmaWx0ZXJzIChvcmRl ci1pbmRlcGVuZGVudCkuCisgKi8KK2Jvb2wKK2V4cGVjdGVkX2ZpbHRlcnNfZXF1YWwoTGlzdCAq YSwgTGlzdCAqYikKK3sKKwlMaXN0Q2VsbCAgICpsYzsKKworCWlmIChhID09IE5JTCAmJiBiID09 IE5JTCkKKwkJcmV0dXJuIHRydWU7CisJaWYgKGxpc3RfbGVuZ3RoKGEpICE9IGxpc3RfbGVuZ3Ro KGIpKQorCQlyZXR1cm4gZmFsc2U7CisKKwlmb3JlYWNoKGxjLCBhKQorCXsKKwkJRXhwZWN0ZWRG aWx0ZXIgKmZhID0gKEV4cGVjdGVkRmlsdGVyICopIGxmaXJzdChsYyk7CisJCUxpc3RDZWxsICAg KmxjMjsKKwkJYm9vbAkJZm91bmQgPSBmYWxzZTsKKworCQlmb3JlYWNoKGxjMiwgYikKKwkJewor CQkJRXhwZWN0ZWRGaWx0ZXIgKmZiID0gKEV4cGVjdGVkRmlsdGVyICopIGxmaXJzdChsYzIpOwor CisJCQlpZiAoZmEtPm93bmVyX3JlbGlkID09IGZiLT5vd25lcl9yZWxpZCAmJgorCQkJCWJtc19l cXVhbChmYS0+YnVpbGRfcmVsaWRzLCBmYi0+YnVpbGRfcmVsaWRzKSAmJgorCQkJCWVxdWFsKGZh LT5jbGF1c2VzLCBmYi0+Y2xhdXNlcykpCisJCQl7CisJCQkJZm91bmQgPSB0cnVlOworCQkJCWJy ZWFrOworCQkJfQorCQl9CisJCWlmICghZm91bmQpCisJCQlyZXR1cm4gZmFsc2U7CisJfQorCXJl dHVybiB0cnVlOworfQorCisvKgorICogZXhwZWN0ZWRfZmlsdGVyc19zZWxlY3Rpdml0eQorICoJ ICBDb21iaW5lZCBzdXJ2aXZpbmcgZnJhY3Rpb24gb2YgYSBzZXQgb2YgZXhwZWN0ZWQgZmlsdGVy cywgYXNzdW1pbmcKKyAqCSAgaW5kZXBlbmRlbmNlLiAgUmV0dXJucyBhIHZhbHVlIGluICgwLCAx XS4KKyAqLworZG91YmxlCitleHBlY3RlZF9maWx0ZXJzX3NlbGVjdGl2aXR5KExpc3QgKmZpbHRl cnMpCit7CisJZG91YmxlCQlzZWwgPSAxLjA7CisJTGlzdENlbGwgICAqbGM7CisKKwlmb3JlYWNo KGxjLCBmaWx0ZXJzKQorCXsKKwkJRXhwZWN0ZWRGaWx0ZXIgKmYgPSAoRXhwZWN0ZWRGaWx0ZXIg KikgbGZpcnN0KGxjKTsKKworCQlzZWwgKj0gZi0+c2VsZWN0aXZpdHk7CisJfQorCisJLyogY2xh bXAgdG8gYSBzYW5lIHJhbmdlICovCisJaWYgKHNlbCA8IDAuMCkKKwkJc2VsID0gMC4wOworCWlm IChzZWwgPiAxLjApCisJCXNlbCA9IDEuMDsKKworCXJldHVybiBzZWw7Cit9CisKKy8qCisgKiBj cmVhdGVfZmlsdGVyZWRfc2Nhbl9wYXRoCisgKgkgIEJ1aWxkIGEgY29weSBvZiBhIGJhc2UtcmVs YXRpb24gc2NhbiBwYXRoIHRoYXQgYWRkaXRpb25hbGx5IGV4cGVjdHMgdGhlCisgKgkgIGdpdmVu IHNldCBvZiBwdXNoZWQtZG93biBCbG9vbSBmaWx0ZXJzLgorICoKKyAqIFRoZSBjbG9uZSBzaGFy ZXMgYWxsIHN1YnN0cnVjdHVyZSB3aXRoIHRoZSBvcmlnaW5hbCBwYXRoIChwYXJlbnQsCisgKiBw YXRodGFyZ2V0LCBjbGF1c2VzLCBldGMuKTsgb25seSB0aGUgcm93cyBlc3RpbWF0ZSBpcyByZWR1 Y2VkIHRvIHJlZmxlY3QKKyAqIHRoZSBmaWx0ZXJzJyBjb21iaW5lZCBzZWxlY3Rpdml0eSwgYW5k IGV4cGVjdGVkX2ZpbHRlcnMgaXMgc2V0LiAgVGhpcyBpcworICogc2FmZSBiZWNhdXNlIGNyZWF0 ZV9wbGFuKCkgdHJlYXRzIHRoZSBjbG9uZSBpZGVudGljYWxseSB0byB0aGUgb3JpZ2luYWwKKyAq IChpdCBpZ25vcmVzIGV4cGVjdGVkX2ZpbHRlcnMpLCBhbmQgYWRkX3BhdGgoKSBtYXkgZnJlZWx5 IHBmcmVlIHRoZSBjbG9uZS4KKyAqCisgKiBPbmx5IHRoZSBwbGFpbiBzY2FuIHBhdGggbm9kZSB0 eXBlcyB0aGF0IGNhbiByZWNlaXZlIGEgcHVzaGVkLWRvd24gZmlsdGVyCisgKiBhcmUgc3VwcG9y dGVkIChtYXRjaGluZyBmaW5kX2Jsb29tX2ZpbHRlcl9yZWNpcGllbnQgaW4gY3JlYXRlcGxhbi5j KS4KKyAqIFJldHVybnMgTlVMTCBmb3IgdW5zdXBwb3J0ZWQgcGF0aCB0eXBlcy4KKyAqCisgKiBY WFggVGhpcyBzaG91bGQgcHJvYmFibHkgYWRqdXN0IHRoZSBDUFUgY29zdCBpbiBzb21lIHdheS4g SXQgYXNzdW1lcyB0aGUKKyAqIGZpbHRlciBjaGVja3MgYXJlIGZyZWUsIHdoaWNoIGRvZXMgbm90 IHNlZW0gcmlnaHQuCisgKi8KK1BhdGggKgorY3JlYXRlX2ZpbHRlcmVkX3NjYW5fcGF0aChQbGFu bmVySW5mbyAqcm9vdCwgUGF0aCAqc3VicGF0aCwgTGlzdCAqZmlsdGVycykKK3sKKwlQYXRoCSAg ICpuZXdwYXRoOworCXNpemVfdAkJc3o7CisKKwlzd2l0Y2ggKG5vZGVUYWcoc3VicGF0aCkpCisJ eworCQljYXNlIFRfUGF0aDoKKwkJCS8qIHBsYWluIHNlcXNjYW4vc2FtcGxlc2NhbiBldGMuICov CisJCQlzeiA9IHNpemVvZihQYXRoKTsKKwkJCWJyZWFrOworCQljYXNlIFRfSW5kZXhQYXRoOgor CQkJc3ogPSBzaXplb2YoSW5kZXhQYXRoKTsKKwkJCWJyZWFrOworCQljYXNlIFRfQml0bWFwSGVh cFBhdGg6CisJCQlzeiA9IHNpemVvZihCaXRtYXBIZWFwUGF0aCk7CisJCQlicmVhazsKKwkJY2Fz ZSBUX1RpZFBhdGg6CisJCQlzeiA9IHNpemVvZihUaWRQYXRoKTsKKwkJCWJyZWFrOworCQljYXNl IFRfVGlkUmFuZ2VQYXRoOgorCQkJc3ogPSBzaXplb2YoVGlkUmFuZ2VQYXRoKTsKKwkJCWJyZWFr OworCQlkZWZhdWx0OgorCQkJLyogdW5zdXBwb3J0ZWQgc2NhbiBwYXRoIHR5cGUgKi8KKwkJCXJl dHVybiBOVUxMOworCX0KKworCW5ld3BhdGggPSAoUGF0aCAqKSBwYWxsb2Moc3opOworCW1lbWNw eShuZXdwYXRoLCBzdWJwYXRoLCBzeik7CisKKwluZXdwYXRoLT5leHBlY3RlZF9maWx0ZXJzID0g ZmlsdGVyczsKKwluZXdwYXRoLT5yb3dzID0gY2xhbXBfcm93X2VzdChzdWJwYXRoLT5yb3dzICoK KwkJCQkJCQkJICBleHBlY3RlZF9maWx0ZXJzX3NlbGVjdGl2aXR5KGZpbHRlcnMpKTsKKworCXJl dHVybiBuZXdwYXRoOworfQorCiAvKgogICogYWRkX3BhdGgKICAqCSAgQ29uc2lkZXIgYSBwb3Rl bnRpYWwgaW1wbGVtZW50YXRpb24gcGF0aCBmb3IgdGhlIHNwZWNpZmllZCBwYXJlbnQgcmVsLApA QCAtNDg1LDYgKzYxOCwxNyBAQCBhZGRfcGF0aChSZWxPcHRJbmZvICpwYXJlbnRfcmVsLCBQYXRo ICpuZXdfcGF0aCkKIAkJUGF0aEtleXNDb21wYXJpc29uIGtleXNjbXA7CiAJCUJNU19Db21wYXJp c29uIG91dGVyY21wOwogCisJCS8qCisJCSAqIFBhdGhzIGNhcnJ5aW5nIGRpZmZlcmVudCBzZXRz IG9mIGV4cGVjdGVkIEJsb29tIGZpbHRlcnMgc2VydmUKKwkJICogZGlmZmVyZW50IHB1cnBvc2Vz IChlYWNoIG1heSBiZSBjb25zdW1lZCBieSBhIGRpZmZlcmVudCBwYXJlbnQgam9pbiwKKwkJICog b3Igbm9uZSBhdCBhbGwpLCBhbmQgdGhlaXIgY29zdC9yb3cgZXN0aW1hdGVzIGFyZW4ndCBkaXJl Y3RseQorCQkgKiBjb21wYXJhYmxlLiAgU28gaWYgdGhlIHR3byBwYXRocyBkb24ndCBleHBlY3Qg dGhlIHNhbWUgZmlsdGVycywga2VlcAorCQkgKiBib3RoIGFuZCBkb24ndCBsZXQgZWl0aGVyIGRv bWluYXRlIHRoZSBvdGhlci4KKwkJICovCisJCWlmICghZXhwZWN0ZWRfZmlsdGVyc19lcXVhbChu ZXdfcGF0aC0+ZXhwZWN0ZWRfZmlsdGVycywKKwkJCQkJCQkJCW9sZF9wYXRoLT5leHBlY3RlZF9m aWx0ZXJzKSkKKwkJCWNvbnRpbnVlOworCiAJCS8qCiAJCSAqIERvIGEgZnV6enkgY29zdCBjb21w YXJpc29uIHdpdGggc3RhbmRhcmQgZnV6emluZXNzIGxpbWl0LgogCQkgKi8KQEAgLTcwMiw2ICs4 NDYsMjAgQEAgYWRkX3BhdGhfcHJlY2hlY2soUmVsT3B0SW5mbyAqcGFyZW50X3JlbCwgaW50IGRp c2FibGVkX25vZGVzLAogCQlQYXRoCSAgICpvbGRfcGF0aCA9IChQYXRoICopIGxmaXJzdChwMSk7 CiAJCVBhdGhLZXlzQ29tcGFyaXNvbiBrZXlzY21wOwogCisJCS8qCisJCSAqIFBhdGhzIGNhcnJ5 aW5nIGV4cGVjdGVkIEJsb29tIGZpbHRlcnMgc2VydmUgYSBkaWZmZXJlbnQgcHVycG9zZSBhbmQK KwkJICogYXJlIG5vdCBkaXJlY3RseSBjb3N0LWNvbXBhcmFibGUgd2l0aCBvcmRpbmFyeSBwYXRo cywgZXhhY3RseSBhcyBpbgorCQkgKiBhZGRfcGF0aCAod2hpY2gga2VlcHMgYm90aCB3aGVuIHRo ZSBleHBlY3RlZCBmaWx0ZXIgc2V0cyBkaWZmZXIpLgorCQkgKiBUaGUgY2FuZGlkYXRlcyBzdWJt aXR0ZWQgdG8gdGhpcyBwcmVjaGVjayBuZXZlciBjYXJyeSBleHBlY3RlZAorCQkgKiBmaWx0ZXJz IG9mIHRoZWlyIG93biwgc28gYW55IGZpbHRlci1iZWFyaW5nIG9sZCBwYXRoIGlzIGEKKwkJICog bm9uLWNvbXBhcmFibGUgc3BlY3VsYXRpdmUgcGF0aCBhbmQgbXVzdCBub3QgYmUgYWxsb3dlZCB0 byBkb21pbmF0ZQorCQkgKiAoYW5kIHRoZXJlYnkgc3VwcHJlc3MpIHRoZSBuZXcgcGF0aC4gIFNr aXBwaW5nIHRoZW0gaGVyZSBhbHNvCisJCSAqIGd1YXJhbnRlZXMgdGhhdCBhIGpvaW4gcmVsYXRp b24gYWx3YXlzIHJldGFpbnMgYXQgbGVhc3Qgb25lIG9yZGluYXJ5LAorCQkgKiBmaWx0ZXItZnJl ZSBwYXRoIHRvIHNlcnZlIGFzIGNoZWFwZXN0X3RvdGFsX3BhdGguCisJCSAqLworCQlpZiAob2xk X3BhdGgtPmV4cGVjdGVkX2ZpbHRlcnMgIT0gTklMKQorCQkJY29udGludWU7CisKIAkJLyoKIAkJ ICogU2luY2UgdGhlIHBhdGhsaXN0IGlzIHNvcnRlZCBieSBkaXNhYmxlZF9ub2RlcyBhbmQgdGhl biBieQogCQkgKiB0b3RhbF9jb3N0LCB3ZSBjYW4gc3RvcCBsb29raW5nIG9uY2Ugd2UgcmVhY2gg YSBwYXRoIHdpdGggbW9yZQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9ndWNf cGFyYW1ldGVycy5kYXQgYi9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y19wYXJhbWV0ZXJzLmRh dAppbmRleCBjOWRjYjI5NGQ0ZC4uOWVhNDBiY2I3OTggMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5k L3V0aWxzL21pc2MvZ3VjX3BhcmFtZXRlcnMuZGF0CisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL21p c2MvZ3VjX3BhcmFtZXRlcnMuZGF0CkBAIC0zODAsNiArMzgwLDI2IEBACiAgIG1heCA9PiAnQkxD S1NaJywKIH0sCiAKK3sgbmFtZSA9PiAnYmxvb21fZmlsdGVyX3B1c2hkb3duX21heCcsIHR5cGUg PT4gJ2ludCcsIGNvbnRleHQgPT4gJ1BHQ19VU0VSU0VUJywgZ3JvdXAgPT4gJ1FVRVJZX1RVTklO R19PVEhFUicsCisgIHNob3J0X2Rlc2MgPT4gJ01heGltdW0gbnVtYmVyIG9mIHB1c2hlZC1kb3du IGhhc2ggam9pbiBibG9vbSBmaWx0ZXJzIGNvbnNpZGVyZWQgcGVyIHNjYW4uJywKKyAgbG9uZ19k ZXNjID0+ICdCb3VuZHMgaG93IG1hbnkgaW50ZXJlc3RpbmcgYmxvb20gZmlsdGVycyB0aGUgcGxh bm5lciBlbnVtZXJhdGVzIHN1YnNldHMgb2Ygd2hlbiBidWlsZGluZyBmaWx0ZXItYXdhcmUgc2Nh biBwYXRocy4nLAorICBmbGFncyA9PiAnR1VDX0VYUExBSU4nLAorICB2YXJpYWJsZSA9PiAnYmxv b21fZmlsdGVyX3B1c2hkb3duX21heCcsCisgIGJvb3RfdmFsID0+ICczJywKKyAgbWluID0+ICcw JywKKyAgbWF4ID0+ICcxMCcsCit9LAorCit7IG5hbWUgPT4gJ2Jsb29tX2ZpbHRlcl9wdXNoZG93 bl90aHJlc2hvbGQnLCB0eXBlID0+ICdyZWFsJywgY29udGV4dCA9PiAnUEdDX1VTRVJTRVQnLCBn cm91cCA9PiAnUVVFUllfVFVOSU5HX09USEVSJywKKyAgc2hvcnRfZGVzYyA9PiAnTWluaW11bSBm cmFjdGlvbiBvZiB0dXBsZXMgYSBwdXNoZWQtZG93biBoYXNoIGpvaW4gYmxvb20gZmlsdGVyIG11 c3QgYmUgZXhwZWN0ZWQgdG8gZWxpbWluYXRlLicsCisgIGxvbmdfZGVzYyA9PiAnQSBibG9vbSBm aWx0ZXIgaXMgb25seSBjb25zaWRlcmVkIGR1cmluZyBwbGFubmluZyBpZiBpdCBpcyBleHBlY3Rl ZCB0byBkaXNjYXJkIGF0IGxlYXN0IHRoaXMgZnJhY3Rpb24gb2YgdGhlIHNjYW5uZWQgdHVwbGVz LicsCisgIGZsYWdzID0+ICdHVUNfRVhQTEFJTicsCisgIHZhcmlhYmxlID0+ICdibG9vbV9maWx0 ZXJfcHVzaGRvd25fdGhyZXNob2xkJywKKyAgYm9vdF92YWwgPT4gJzAuMycsCisgIG1pbiA9PiAn MC4wJywKKyAgbWF4ID0+ICcxLjAnLAorfSwKKwogeyBuYW1lID0+ICdib25qb3VyJywgdHlwZSA9 PiAnYm9vbCcsIGNvbnRleHQgPT4gJ1BHQ19QT1NUTUFTVEVSJywgZ3JvdXAgPT4gJ0NPTk5fQVVU SF9TRVRUSU5HUycsCiAgIHNob3J0X2Rlc2MgPT4gJ0VuYWJsZXMgYWR2ZXJ0aXNpbmcgdGhlIHNl cnZlciB2aWEgQm9uam91ci4nLAogICB2YXJpYWJsZSA9PiAnZW5hYmxlX2JvbmpvdXInLApkaWZm IC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9wb3N0Z3Jlc3FsLmNvbmYuc2FtcGxlIGIv c3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9wb3N0Z3Jlc3FsLmNvbmYuc2FtcGxlCmluZGV4IDM0Zjk4 YjQyZmY2Li5mYWYwMWJmN2U0MyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9w b3N0Z3Jlc3FsLmNvbmYuc2FtcGxlCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvcG9zdGdy ZXNxbC5jb25mLnNhbXBsZQpAQCAtNDg1LDYgKzQ4NSw4IEBACiAKICMgLSBPdGhlciBQbGFubmVy IE9wdGlvbnMgLQogCisjYmxvb21fZmlsdGVyX3B1c2hkb3duX21heCA9IDMgICAgICAgICAgIyBy YW5nZSAwLTEwCisjYmxvb21fZmlsdGVyX3B1c2hkb3duX3RocmVzaG9sZCA9IDAuMyAgIyByYW5n ZSAwLjAtMS4wCiAjZGVmYXVsdF9zdGF0aXN0aWNzX3RhcmdldCA9IDEwMCAgICAgICAgIyByYW5n ZSAxLTEwMDAwCiAjY29uc3RyYWludF9leGNsdXNpb24gPSBwYXJ0aXRpb24gICAgICAgIyBvbiwg b2ZmLCBvciBwYXJ0aXRpb24KICNjdXJzb3JfdHVwbGVfZnJhY3Rpb24gPSAwLjEgICAgICAgICAg ICAjIHJhbmdlIDAuMC0xLjAKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL25vZGVzL3BhdGhub2Rl cy5oIGIvc3JjL2luY2x1ZGUvbm9kZXMvcGF0aG5vZGVzLmgKaW5kZXggNjlmOWFkMmQ1ZTMuLmYy ZjIxZjRhZGUxIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9ub2Rlcy9wYXRobm9kZXMuaAorKysg Yi9zcmMvaW5jbHVkZS9ub2Rlcy9wYXRobm9kZXMuaApAQCAtMTgzNiw2ICsxODM2LDU0IEBAIHR5 cGVkZWYgc3RydWN0IEdyb3VwQnlPcmRlcmluZwogCUxpc3QJICAgKmNsYXVzZXM7CiB9IEdyb3Vw QnlPcmRlcmluZzsKIAorLyoKKyAqIEV4cGVjdGVkRmlsdGVyCisgKgorICogUmVwcmVzZW50cyB0 aGUgcGxhbm5lcidzIGFzc3VtcHRpb24gdGhhdCBhIHNjYW4gcGF0aCB3aWxsIHJlY2VpdmUgYSBC bG9vbQorICogZmlsdGVyIHB1c2hlZCBkb3duIGF0IHBsYW4tY3JlYXRpb24gdGltZSBieSBzb21l IGhhc2ggam9pbiBhYm92ZSBpdCAoc2VlCisgKiB0aGUgYmxvb20gZmlsdGVyIHB1c2hkb3duIGxv Z2ljIGluIGNyZWF0ZXBsYW4uYyBhbmQgbm9kZUhhc2hqb2luLmMpLiAgV2hlbgorICogYSBzY2Fu IHBhcnRpY2lwYXRlcyBpbiBhIGhhc2hqb2luYWJsZSBlcXVhbGl0eSBqb2luLCB0aGUgaGFzaCBq b2luIG1heSBidWlsZAorICogYSBCbG9vbSBmaWx0ZXIgb24gdGhlIGlubmVyICgiYnVpbGQiKSBz aWRlIGtleXMgYW5kIHB1c2ggaXQgdG8gdGhlIHNjYW4gb24KKyAqIHRoZSBvdXRlciAoInByb2Jl Iikgc2lkZSwgZWxpbWluYXRpbmcgb3V0ZXIgdHVwbGVzIHRoYXQgY2Fubm90IG1hdGNoLgorICoK KyAqIEJlY2F1c2UgdGhhdCBwdXNoZG93biBoYXBwZW5zIGFmdGVyIHBhdGggc2VsZWN0aW9uLCB0 aGUgcm93L2Nvc3QgZXN0aW1hdGVzCisgKiBvZiB0aGUgYWZmZWN0ZWQgcGF0aHMgd291bGQgbm9y bWFsbHkgaWdub3JlIHRoZSBmaWx0ZXIncyBzZWxlY3Rpdml0eS4gIFRvCisgKiBhY2NvdW50IGZv ciBpdCBkdXJpbmcgcGxhbm5pbmcsIHdlIGdlbmVyYXRlIGFkZGl0aW9uYWwgc2NhbiBwYXRocyB0 aGF0IGNhcnJ5CisgKiBvbmUgb3IgbW9yZSBFeHBlY3RlZEZpbHRlciBub2RlcyBhbmQgd2hvc2Ug cm93cy9jb3N0IHJlZmxlY3QgdGhlIGV4cGVjdGVkCisgKiBlbGltaW5hdGlvbi4gIFRoZXNlIGZp bHRlcnMgYXJlIHByb3BhZ2F0ZWQgdXAgdGhlIGpvaW4gdHJlZSBtdWNoIGxpa2UKKyAqIHBhdGhr ZXlzLCB1bnRpbCB0aGUgaGFzaCBqb2luIHRoYXQgaXMgdGhlaXIgInNvdXJjZSIgcmVhbGl6ZXMg dGhlbS4KKyAqCisgKiAnb3duZXJfcmVsaWQnIGlzIHRoZSBiYXNlIHJlbGF0aW9uIHRoZSBmaWx0 ZXIgd291bGQgYmUgcHVzaGVkIGRvd24gdG8uCisgKiAnYnVpbGRfcmVsaWRzJyBpcyB0aGUgc2V0 IG9mIGJhc2UgcmVsaWRzIG9uIHRoZSBvdGhlciAoYnVpbGQpIHNpZGUgb2YgdGhlCisgKgkJam9p biBjbGF1c2Uocyk7IHRoZSBmaWx0ZXIgaXMgInNvdXJjZWQiIGJ5IHRoZSBqb2luIHRoYXQgZmly c3QgYnJpbmdzCisgKgkJdGhvc2UgcmVsaWRzIHRvZ2V0aGVyIHdpdGggdGhlIG93bmVyLgorICog J2NsYXVzZXMnIGlzIHRoZSBsaXN0IG9mIGhhc2hqb2luYWJsZSBlcXVhbGl0eSBSZXN0cmljdElu Zm9zIGRlZmluaW5nIHRoZQorICoJCWZpbHRlciBrZXlzICh0aGUgb3duZXIgc2lkZSBvZiBlYWNo IGNsYXVzZSBpcyBhIGJhcmUgVmFyIG9mIG93bmVyX3JlbGlkKS4KKyAqICdzZWxlY3Rpdml0eScg aXMgdGhlIGV4cGVjdGVkIHN1cnZpdmluZyBmcmFjdGlvbiBvZiBvd25lciByb3dzIChpbiAoMCwx XSkuCisgKgorICogWFhYIFRoZSAib3duZXJfcmVsaWQiIG1heSBiZSBhIGJpdCBtaXNsZWFkaW5n LCBwYXJ0aWN1bGFybHkgaWYgd2UgYWxsb3cKKyAqIHB1c2hpbmcgYSBmaWx0ZXIgdG8gbXVsdGlw bGUgbm9kZXMgKGUuZy4gc2NhbnMgb24gYSBwYXJ0aXRpb24pLiBJbiB0aGF0IGNhc2UKKyAqIHdl J2QgaGF2ZSBtdWx0aXBsZSAib3duZXJzIiwgYnV0IG93bmVyc2hpcCBzdWdnZXN0cyB0aGVyZSdz IGp1c3Qgb25lLiBBbmQKKyAqIHNvbWUgcGxhY2VzIGFscmVhZHkgdXNlICJjb25zdW1lciIgd2hl biByZWZlcmVuY2luZyB0byB0aGUgc2NhbiBub2Rlcywgc28KKyAqIG1heWJlIHdlIHNob3VsZCBq dXN0IHVzZSB0aGF0PworICoKKyAqIFhYWCBXaGF0IGlmIHdlIGFsbG93IHB1c2hkb3duIHRvIG5v bi1zY2FuIG5vZGVzLCBlLmcuIGFib3ZlIGEgam9pbiB3aGVuCisgKiBwdXNoZG93biB0byBhIHNj YW4gaXMgbm90IHBvc3NpYmxlIChlLmcuIGJlY2F1c2UgdGhlIGpvaW4gY2xhdXNlIGlzIGNvbXBs ZXgKKyAqIGFuZCByZWZlcmVuY2VzIG11bHRpcGxlIHJlbGF0aW9ucyk/IE9yIG1heWJlIHdlIGNv dWxkIHB1c2ggdG8gRm9yZWlnblNjYW4sCisgKiBhbmQgSSdtIG5vdCBzdXJlIGlmIHRob3NlIGhh dmUgYSB2YWxpZCByZWxpZCBpbiBhbGwgY2FzZXMuCisgKi8KK3R5cGVkZWYgc3RydWN0IEV4cGVj dGVkRmlsdGVyCit7CisJcGdfbm9kZV9hdHRyKG5vX3JlYWQsIG5vX3F1ZXJ5X2p1bWJsZSkKKwor CU5vZGVUYWcJCXR5cGU7CisKKwlJbmRleAkJb3duZXJfcmVsaWQ7CisJUmVsaWRzCQlidWlsZF9y ZWxpZHM7CisJTGlzdAkgICAqY2xhdXNlcyBwZ19ub2RlX2F0dHIoY29weV9hc19zY2FsYXIsIGVx dWFsX2FzX3NjYWxhcik7CisJU2VsZWN0aXZpdHkgc2VsZWN0aXZpdHk7Cit9IEV4cGVjdGVkRmls dGVyOworCiAvKgogICogVm9sYXRpbGVGdW5jdGlvblN0YXR1cyAtLSBhbGxvd3Mgbm9kZXMgdG8g Y2FjaGUgdGhlaXIKICAqIGNvbnRhaW5fdm9sYXRpbGVfZnVuY3Rpb25zIHByb3BlcnRpZXMuIFZP TEFUSUxJVFlfVU5LTk9XTiBtZWFucyBub3QgeWV0CkBAIC0yMDEyLDYgKzIwNjAsMTQgQEAgdHlw ZWRlZiBzdHJ1Y3QgUGF0aAogCiAJLyogc29ydCBvcmRlcmluZyBvZiBwYXRoJ3Mgb3V0cHV0OyBh IExpc3Qgb2YgUGF0aEtleSBub2Rlczsgc2VlIGFib3ZlICovCiAJTGlzdAkgICAqcGF0aGtleXM7 CisKKwkvKgorCSAqIEJsb29tIGZpbHRlcnMgdGhpcyBwYXRoIGV4cGVjdHMgdG8gcmVjZWl2ZSBm cm9tIHNvbWUgaGFzaCBqb2luIGFib3ZlCisJICogaXQgKGEgTGlzdCBvZiBFeHBlY3RlZEZpbHRl ciBub2Rlczsgc2VlIGJlbG93KS4gIEFuIGVtcHR5IGxpc3QgbWVhbnMKKwkgKiB0aGUgcGF0aCBt YWtlcyBubyBzdWNoIGFzc3VtcHRpb24uICBUaGUgcGF0aCdzIHJvd3MvY29zdCBlc3RpbWF0ZXMK KwkgKiBhbHJlYWR5IHJlZmxlY3QgdGhlIGV4cGVjdGVkIHNlbGVjdGl2aXR5IG9mIHRoZXNlIGZp bHRlcnMuCisJICovCisJTGlzdAkgICAqZXhwZWN0ZWRfZmlsdGVyczsKIH0gUGF0aDsKIAogLyog TWFjcm8gZm9yIGV4dHJhY3RpbmcgYSBwYXRoJ3MgcGFyYW1ldGVyaXphdGlvbiByZWxpZHM7IGJl d2FyZSBkb3VibGUgZXZhbCAqLwpAQCAtMjQ5Myw2ICsyNTQ5LDE2IEBAIHR5cGVkZWYgc3RydWN0 IEhhc2hQYXRoCiAJTGlzdAkgICAqcGF0aF9oYXNoY2xhdXNlczsJLyogam9pbiBjbGF1c2VzIHVz ZWQgZm9yIGhhc2hpbmcgKi8KIAlpbnQJCQludW1fYmF0Y2hlczsJLyogbnVtYmVyIG9mIGJhdGNo ZXMgZXhwZWN0ZWQgKi8KIAlDYXJkaW5hbGl0eSBpbm5lcl9yb3dzX3RvdGFsOwkvKiB0b3RhbCBp bm5lciByb3dzIGV4cGVjdGVkICovCisKKwkvKgorCSAqIEJsb29tIGZpbHRlcnMgdGhpcyBoYXNo IGpvaW4gInJlYWxpemVzIjogZXhwZWN0ZWQgZmlsdGVycyAoc2VlCisJICogRXhwZWN0ZWRGaWx0 ZXIpIGNhcnJpZWQgYnkgYW4gaW5wdXQgcGF0aCBmb3Igd2hpY2ggdGhpcyBoYXNoIGpvaW4gaXMg dGhlCisJICogc291cmNlLCBhbmQgd2hpY2ggaXQgY2FuIHB1c2ggZG93biB0byB0aGUgc2NhbiBv ZiB0aGUgb3duZXIgcmVsYXRpb24uCisJICogVGhlIHB1c2hkb3duIGRlY2lzaW9uIGlzIG1hZGUg aGVyZSwgd2hpbGUgYnVpbGRpbmcgcGF0aHM7IGNyZWF0ZV9wbGFuKCkKKwkgKiBtZXJlbHkgcHJv cGFnYXRlcyBpdCB0byB0aGUgcGxhbiAoc2VlIGNyZWF0ZV9oYXNoam9pbl9wbGFuKS4gIE5JTCBt ZWFucworCSAqIHRoaXMgaGFzaCBqb2luIHB1c2hlcyBubyBmaWx0ZXIuCisJICovCisJTGlzdAkg ICAqcmVhbGl6ZWRfZmlsdGVyczsKIH0gSGFzaFBhdGg7CiAKIC8qCmRpZmYgLS1naXQgYS9zcmMv aW5jbHVkZS9vcHRpbWl6ZXIvY29zdC5oIGIvc3JjL2luY2x1ZGUvb3B0aW1pemVyL2Nvc3QuaApp bmRleCA3MzM5OTc5YzAwOC4uMzVlZjZiZGRhYjIgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL29w dGltaXplci9jb3N0LmgKKysrIGIvc3JjL2luY2x1ZGUvb3B0aW1pemVyL2Nvc3QuaApAQCAtNzEs NiArNzEsOCBAQCBleHRlcm4gUEdETExJTVBPUlQgYm9vbCBlbmFibGVfcGFyYWxsZWxfaGFzaDsK IGV4dGVybiBQR0RMTElNUE9SVCBib29sIGVuYWJsZV9wYXJ0aXRpb25fcHJ1bmluZzsKIGV4dGVy biBQR0RMTElNUE9SVCBib29sIGVuYWJsZV9wcmVzb3J0ZWRfYWdncmVnYXRlOwogZXh0ZXJuIFBH RExMSU1QT1JUIGJvb2wgZW5hYmxlX2FzeW5jX2FwcGVuZDsKK2V4dGVybiBQR0RMTElNUE9SVCBk b3VibGUgYmxvb21fZmlsdGVyX3B1c2hkb3duX3RocmVzaG9sZDsKK2V4dGVybiBQR0RMTElNUE9S VCBpbnQgYmxvb21fZmlsdGVyX3B1c2hkb3duX21heDsKIGV4dGVybiBQR0RMTElNUE9SVCBpbnQg Y29uc3RyYWludF9leGNsdXNpb247CiAKIGV4dGVybiBkb3VibGUgaW5kZXhfcGFnZXNfZmV0Y2hl ZChkb3VibGUgdHVwbGVzX2ZldGNoZWQsIEJsb2NrTnVtYmVyIHBhZ2VzLApkaWZmIC0tZ2l0IGEv c3JjL2luY2x1ZGUvb3B0aW1pemVyL3BhdGhub2RlLmggYi9zcmMvaW5jbHVkZS9vcHRpbWl6ZXIv cGF0aG5vZGUuaAppbmRleCBlOGRiMzIxZjkyYi4uMGRjYWUyYWUzYjMgMTAwNjQ0Ci0tLSBhL3Ny Yy9pbmNsdWRlL29wdGltaXplci9wYXRobm9kZS5oCisrKyBiL3NyYy9pbmNsdWRlL29wdGltaXpl ci9wYXRobm9kZS5oCkBAIC02NCw2ICs2NCwxMSBAQCBleHRlcm4gYm9vbCBhZGRfcGFydGlhbF9w YXRoX3ByZWNoZWNrKFJlbE9wdEluZm8gKnBhcmVudF9yZWwsCiAJCQkJCQkJCQkgIGludCBkaXNh YmxlZF9ub2RlcywgQ29zdCBzdGFydHVwX2Nvc3QsCiAJCQkJCQkJCQkgIENvc3QgdG90YWxfY29z dCwgTGlzdCAqcGF0aGtleXMpOwogCitleHRlcm4gYm9vbCBleHBlY3RlZF9maWx0ZXJzX2VxdWFs KExpc3QgKmEsIExpc3QgKmIpOworZXh0ZXJuIGRvdWJsZSBleHBlY3RlZF9maWx0ZXJzX3NlbGVj dGl2aXR5KExpc3QgKmZpbHRlcnMpOworZXh0ZXJuIFBhdGggKmNyZWF0ZV9maWx0ZXJlZF9zY2Fu X3BhdGgoUGxhbm5lckluZm8gKnJvb3QsIFBhdGggKnN1YnBhdGgsCisJCQkJCQkJCQkgICBMaXN0 ICpmaWx0ZXJzKTsKKwogZXh0ZXJuIFBhdGggKmNyZWF0ZV9zZXFzY2FuX3BhdGgoUGxhbm5lcklu Zm8gKnJvb3QsIFJlbE9wdEluZm8gKnJlbCwKIAkJCQkJCQkJIFJlbGlkcyByZXF1aXJlZF9vdXRl ciwgaW50IHBhcmFsbGVsX3dvcmtlcnMpOwogZXh0ZXJuIFBhdGggKmNyZWF0ZV9zYW1wbGVzY2Fu X3BhdGgoUGxhbm5lckluZm8gKnJvb3QsIFJlbE9wdEluZm8gKnJlbCwKZGlmZiAtLWdpdCBhL3Ny Yy9pbmNsdWRlL29wdGltaXplci9wYXRocy5oIGIvc3JjL2luY2x1ZGUvb3B0aW1pemVyL3BhdGhz LmgKaW5kZXggMTdmMjA5OWVjM2IuLjYzNjc2MWYyZTk0IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVk ZS9vcHRpbWl6ZXIvcGF0aHMuaAorKysgYi9zcmMvaW5jbHVkZS9vcHRpbWl6ZXIvcGF0aHMuaApA QCAtMTA0LDYgKzEwNCw3IEBAIGV4dGVybiB2b2lkIGFkZF9wYXRoc190b19qb2lucmVsKFBsYW5u ZXJJbmZvICpyb290LCBSZWxPcHRJbmZvICpqb2lucmVsLAogCQkJCQkJCQkgUmVsT3B0SW5mbyAq b3V0ZXJyZWwsIFJlbE9wdEluZm8gKmlubmVycmVsLAogCQkJCQkJCQkgSm9pblR5cGUgam9pbnR5 cGUsIFNwZWNpYWxKb2luSW5mbyAqc2ppbmZvLAogCQkJCQkJCQkgTGlzdCAqcmVzdHJpY3RsaXN0 KTsKK2V4dGVybiBib29sIGJsb29tX2pvaW5fc2lkZV9wcmVzZXJ2ZWQoSm9pblR5cGUgam9pbnR5 cGUsIGJvb2wgdG9fb3V0ZXIpOwogCiAvKgogICogam9pbnJlbHMuYwpAQCAtMTk4LDYgKzE5OSwx MSBAQCBleHRlcm4gTGlzdCAqZ2VuZXJhdGVfaW1wbGllZF9lcXVhbGl0aWVzX2Zvcl9jb2x1bW4o UGxhbm5lckluZm8gKnJvb3QsCiAJCQkJCQkJCQkJCQkJZWNfbWF0Y2hlc19jYWxsYmFja190eXBl IGNhbGxiYWNrLAogCQkJCQkJCQkJCQkJCXZvaWQgKmNhbGxiYWNrX2FyZywKIAkJCQkJCQkJCQkJ CQlSZWxpZHMgcHJvaGliaXRlZF9yZWxzKTsKK2V4dGVybiBMaXN0ICpnZW5lcmF0ZV9pbXBsaWVk X2VxdWFsaXRpZXNfZm9yX2FsbF9jb2x1bW5zKFBsYW5uZXJJbmZvICpyb290LAorCQkJCQkJCQkJ CQkJCQkgUmVsT3B0SW5mbyAqcmVsLAorCQkJCQkJCQkJCQkJCQkgZWNfbWF0Y2hlc19jYWxsYmFj a190eXBlIGNhbGxiYWNrLAorCQkJCQkJCQkJCQkJCQkgdm9pZCAqY2FsbGJhY2tfYXJnLAorCQkJ CQkJCQkJCQkJCQkgUmVsaWRzIHByb2hpYml0ZWRfcmVscyk7CiBleHRlcm4gYm9vbCBoYXZlX3Jl bGV2YW50X2VjbGFzc19qb2luY2xhdXNlKFBsYW5uZXJJbmZvICpyb290LAogCQkJCQkJCQkJCQlS ZWxPcHRJbmZvICpyZWwxLCBSZWxPcHRJbmZvICpyZWwyKTsKIGV4dGVybiBib29sIGhhc19yZWxl dmFudF9lY2xhc3Nfam9pbmNsYXVzZShQbGFubmVySW5mbyAqcm9vdCwKZGlmZiAtLWdpdCBhL3Ny Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvZWFnZXJfYWdncmVnYXRlLm91dCBiL3NyYy90ZXN0L3Jl Z3Jlc3MvZXhwZWN0ZWQvZWFnZXJfYWdncmVnYXRlLm91dAppbmRleCBiYmRiOTUyNjQ3MS4uOTA1 Nzg2MjkwNjEgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvZWFnZXJfYWdn cmVnYXRlLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2VhZ2VyX2FnZ3JlZ2F0 ZS5vdXQKQEAgLTE0NywxNSArMTQ3LDE1IEBAIEdST1VQIEJZIHQxLmEgT1JERVIgQlkgdDEuYTsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdyb3VwIEtleTogdDIuYgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgLT4gIEhhc2ggSm9pbgogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgT3V0cHV0OiB0Mi5jLCB0Mi5iLCB0My5jCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBIYXNoIENvbmQ6ICh0My5hID0gdDIuYSkKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuZWFnZXJfYWdnX3QzIHQzCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQzLmEsIHQzLmIsIHQzLmMK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBr ZXlzPSh0My5hKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSGFzaCBDb25kOiAo dDIuYSA9IHQzLmEpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNj YW4gb24gcHVibGljLmVhZ2VyX2FnZ190MiB0MgorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgT3V0cHV0OiB0Mi5hLCB0Mi5iLCB0Mi5jCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0odDIuYSkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQyLmMsIHQyLmIsIHQyLmEKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDMuYywgdDMuYQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuZWFnZXJfYWdn X3QyIHQyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRw dXQ6IHQyLmMsIHQyLmIsIHQyLmEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuZWFnZXJfYWdnX3QzIHQzCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQzLmMsIHQzLmEKICgyOSBy b3dzKQogCiBTRUxFQ1QgdDEuYSwgYXZnKHQyLmMgKyB0My5jKQpAQCAtMjA5LDE1ICsyMDksMTUg QEAgR1JPVVAgQlkgdDEuYSBPUkRFUiBCWSB0MS5hOwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgU29ydCBLZXk6IHQyLmIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IC0+ICBIYXNoIEpvaW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91 dHB1dDogdDIuYywgdDIuYiwgdDMuYwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgSGFzaCBDb25kOiAodDMuYSA9IHQyLmEpCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmVhZ2VyX2FnZ190MyB0MwotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0My5hLCB0 My5iLCB0My5jCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBC bG9vbSBGaWx0ZXIgMToga2V5cz0odDMuYSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEhhc2ggQ29uZDogKHQyLmEgPSB0My5hKQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5lYWdlcl9hZ2dfdDIgdDIK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDIu YSwgdDIuYiwgdDIuYworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KHQyLmEpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAtPiAgSGFzaAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgT3V0cHV0OiB0Mi5jLCB0Mi5iLCB0Mi5hCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQzLmMsIHQzLmEKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVi bGljLmVhZ2VyX2FnZ190MiB0MgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgT3V0cHV0OiB0Mi5jLCB0Mi5iLCB0Mi5hCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmVhZ2Vy X2FnZ190MyB0MworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgT3V0cHV0OiB0My5jLCB0My5hCiAoMzIgcm93cykKIAogU0VMRUNUIHQxLmEsIGF2Zyh0 Mi5jICsgdDMuYykKQEAgLTI2MSwxNiArMjYxLDE0IEBAIEdST1VQIEJZIHQxLmEgT1JERVIgQlkg dDEuYTsKICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQxLmIgPSB0Mi5iKQogICAgICAgICAg ICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5lYWdlcl9hZ2dfdDEgdDEKICAgICAgICAgICAg ICAgICAgICAgIE91dHB1dDogdDEuYSwgdDEuYiwgdDEuYwotICAgICAgICAgICAgICAgICAgICAg Qmxvb20gRmlsdGVyIDE6IGtleXM9KHQxLmIpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAogICAg ICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0Mi5iLCAoUEFSVElBTCBhdmcodDIuYykpCi0gICAg ICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAgICAgICAgICAgLT4g IFBhcnRpYWwgSGFzaEFnZ3JlZ2F0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0 OiB0Mi5iLCBQQVJUSUFMIGF2Zyh0Mi5jKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgR3Jv dXAgS2V5OiB0Mi5iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24g cHVibGljLmVhZ2VyX2FnZ190MiB0MgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg T3V0cHV0OiB0Mi5hLCB0Mi5iLCB0Mi5jCi0oMjAgcm93cykKKygxOCByb3dzKQogCiBTRUxFQ1Qg dDEuYSwgYXZnKHQyLmMpCiAgIEZST00gZWFnZXJfYWdnX3QxIHQxCkBAIC0zMDksMTMgKzMwNywx MSBAQCBHUk9VUCBCWSB0Mi5iIE9SREVSIEJZIHQyLmI7CiAgICAgICAgICAgICAgICBIYXNoIENv bmQ6ICh0Mi5iID0gdDEuYikKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMu ZWFnZXJfYWdnX3QyIHQyCiAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQyLmEsIHQyLmIs IHQyLmMKLSAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPSh0Mi5iKQog ICAgICAgICAgICAgICAgLT4gIEhhc2gKICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDEu YgotICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgICAgICAgICAg ICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuZWFnZXJfYWdnX3QxIHQxCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBPdXRwdXQ6IHQxLmIKLSgxNyByb3dzKQorKDE1IHJvd3MpCiAKIFNFTEVD VCB0Mi5iLCBhdmcodDIuYykKICAgRlJPTSBlYWdlcl9hZ2dfdDEgdDEKQEAgLTQ2MCwxMiArNDU2 LDEyIEBAIEdST1VQIEJZIHQxLmEgT1JERVIgQlkgdDEuYTsKICAgIC0+ICBTb3J0CiAgICAgICAg ICBTb3J0IEtleTogdDEuYQogICAgICAgICAgLT4gIEhhc2ggSm9pbgotICAgICAgICAgICAgICAg SGFzaCBDb25kOiAodDIuYiA9IHQxLmIpCi0gICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24g ZWFnZXJfYWdnX3QyIHQyCisgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0MS5iID0gdDIuYikK KyAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBlYWdlcl9hZ2dfdDEgdDEKICAgICAgICAg ICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPShiKQogICAgICAgICAgICAgICAgLT4g IEhhc2gKICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCi0gICAgICAgICAgICAg ICAgICAgICAtPiAgU2VxIFNjYW4gb24gZWFnZXJfYWdnX3QxIHQxCisgICAgICAgICAgICAgICAg ICAgICAtPiAgU2VxIFNjYW4gb24gZWFnZXJfYWdnX3QyIHQyCiAoMTEgcm93cykKIAogRVhQTEFJ TiAoQ09TVFMgT0ZGKQpAQCAtNDgwLDEyICs0NzYsMTIgQEAgR1JPVVAgQlkgdDEuYSBPUkRFUiBC WSB0MS5hOwogICAgLT4gIFNvcnQKICAgICAgICAgIFNvcnQgS2V5OiB0MS5hCiAgICAgICAgICAt PiAgSGFzaCBKb2luCi0gICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0Mi5iID0gdDEuYikKLSAg ICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBlYWdlcl9hZ2dfdDIgdDIKKyAgICAgICAgICAg ICAgIEhhc2ggQ29uZDogKHQxLmIgPSB0Mi5iKQorICAgICAgICAgICAgICAgLT4gIFNlcSBTY2Fu IG9uIGVhZ2VyX2FnZ190MSB0MQogICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6 IGtleXM9KGIpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAogICAgICAgICAgICAgICAgICAgICAg Qmxvb20gRmlsdGVyIDEKLSAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBlYWdl cl9hZ2dfdDEgdDEKKyAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBlYWdlcl9h Z2dfdDIgdDIKICgxMSByb3dzKQogCiAtLSBFYWdlciBhZ2dyZWdhdGlvbiBtdXN0IG5vdCBwdXNo IGEgcGFydGlhbCBhZ2dyZWdhdGUgb250byB0aGUgaW5uZXIgc2lkZSBvZiBhCkBAIC01NTIsMTQg KzU0OCwxNiBAQCBHUk9VUCBCWSB0Mi5iIE9SREVSIEJZIHQyLmI7CiAgICAgICAgICAgICAgICBI YXNoIENvbmQ6ICh0MS5iID0gdDIuYikKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBw dWJsaWMuZWFnZXJfYWdnX3QxIHQxCiAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQxLmEs IHQxLmIsIHQxLmMKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPSh0 MS5iKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKICAgICAgICAgICAgICAgICAgICAgIE91dHB1 dDogdDIuYiwgKFBBUlRJQUwgY291bnQoKikpCisgICAgICAgICAgICAgICAgICAgICBCbG9vbSBG aWx0ZXIgMQogICAgICAgICAgICAgICAgICAgICAgLT4gIFBhcnRpYWwgSGFzaEFnZ3JlZ2F0ZQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0Mi5iLCBQQVJUSUFMIGNvdW50KCop CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBHcm91cCBLZXk6IHQyLmIKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuZWFnZXJfYWdnX3QyIHQyCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQyLmEsIHQyLmIsIHQyLmMK LSgxOCByb3dzKQorKDIwIHJvd3MpCiAKIFNFTEVDVCB0Mi5iLCBjb3VudCgqKQogICBGUk9NIGVh Z2VyX2FnZ190MiB0MgpAQCAtNjIxLDEwICs2MTksOCBAQCBHUk9VUCBCWSB0MS54IE9SREVSIEJZ IHQxLng7CiAgICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0Mi55ID0gdDEueCkKICAg ICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuZWFnZXJfYWdnX3RhYjJf cDEgdDIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDIueQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KHQyLnkpCiAgICAgICAgICAg ICAgICAgICAgICAtPiAgSGFzaAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0 MS54LCAoUEFSVElBTCBzdW0odDEueSkpLCAoUEFSVElBTCBjb3VudCgqKSkKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAtPiAgUGFydGlhbCBIYXNoQWdncmVnYXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBPdXRwdXQ6IHQxLngsIFBBUlRJQUwgc3VtKHQxLnkpLCBQQVJUSUFMIGNvdW50KCopCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHcm91cCBLZXk6IHQxLngKQEAgLTYzOCwx MCArNjM0LDggQEAgR1JPVVAgQlkgdDEueCBPUkRFUiBCWSB0MS54OwogICAgICAgICAgICAgICAg ICAgICAgSGFzaCBDb25kOiAodDJfMS55ID0gdDFfMS54KQogICAgICAgICAgICAgICAgICAgICAg LT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5lYWdlcl9hZ2dfdGFiMl9wMiB0Ml8xCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQyXzEueQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgQmxvb20gRmlsdGVyIDI6IGtleXM9KHQyXzEueSkKICAgICAgICAgICAgICAgICAgICAgIC0+ ICBIYXNoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQxXzEueCwgKFBBUlRJ QUwgc3VtKHQxXzEueSkpLCAoUEFSVElBTCBjb3VudCgqKSkKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgIEJsb29tIEZpbHRlciAyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgUGFy dGlhbCBIYXNoQWdncmVnYXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRw dXQ6IHQxXzEueCwgUEFSVElBTCBzdW0odDFfMS55KSwgUEFSVElBTCBjb3VudCgqKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgR3JvdXAgS2V5OiB0MV8xLngKQEAgLTY1NSwxNiAr NjQ5LDE0IEBAIEdST1VQIEJZIHQxLnggT1JERVIgQlkgdDEueDsKICAgICAgICAgICAgICAgICAg ICAgIEhhc2ggQ29uZDogKHQyXzIueSA9IHQxXzIueCkKICAgICAgICAgICAgICAgICAgICAgIC0+ ICBTZXEgU2NhbiBvbiBwdWJsaWMuZWFnZXJfYWdnX3RhYjJfcDMgdDJfMgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgT3V0cHV0OiB0Ml8yLnkKLSAgICAgICAgICAgICAgICAgICAgICAgICAg IEJsb29tIEZpbHRlciAzOiBrZXlzPSh0Ml8yLnkpCiAgICAgICAgICAgICAgICAgICAgICAtPiAg SGFzaAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0MV8yLngsIChQQVJUSUFM IHN1bSh0MV8yLnkpKSwgKFBBUlRJQUwgY291bnQoKikpCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICBCbG9vbSBGaWx0ZXIgMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFBhcnRp YWwgSGFzaEFnZ3JlZ2F0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0 OiB0MV8yLngsIFBBUlRJQUwgc3VtKHQxXzIueSksIFBBUlRJQUwgY291bnQoKikKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEdyb3VwIEtleTogdDFfMi54CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmVhZ2VyX2FnZ190YWIx X3AzIHQxXzIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDog dDFfMi54LCB0MV8yLnkKLSg1NSByb3dzKQorKDQ5IHJvd3MpCiAKIFNFTEVDVCB0MS54LCBzdW0o dDEueSksIGNvdW50KCopCiAgIEZST00gZWFnZXJfYWdnX3RhYjEgdDEKQEAgLTcwOSwxMCArNzAx LDggQEAgR1JPVVAgQlkgdDIueSBPUkRFUiBCWSB0Mi55OwogICAgICAgICAgICAgICAgICAgICAg SGFzaCBDb25kOiAodDIueSA9IHQxLngpCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNj YW4gb24gcHVibGljLmVhZ2VyX2FnZ190YWIyX3AxIHQyCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBPdXRwdXQ6IHQyLnkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRl ciAxOiBrZXlzPSh0Mi55KQogICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDEueCwgKFBBUlRJQUwgc3VtKHQxLnkpKSwgKFBB UlRJQUwgY291bnQoKikpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIg MQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFBhcnRpYWwgSGFzaEFnZ3JlZ2F0ZQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0MS54LCBQQVJUSUFMIHN1 bSh0MS55KSwgUEFSVElBTCBjb3VudCgqKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgR3JvdXAgS2V5OiB0MS54CkBAIC03MjYsMTAgKzcxNiw4IEBAIEdST1VQIEJZIHQyLnkgT1JE RVIgQlkgdDIueTsKICAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQyXzEueSA9IHQx XzEueCkKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuZWFnZXJf YWdnX3RhYjJfcDIgdDJfMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0Ml8x LnkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyOiBrZXlzPSh0Ml8x LnkpCiAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgT3V0cHV0OiB0MV8xLngsIChQQVJUSUFMIHN1bSh0MV8xLnkpKSwgKFBBUlRJQUwgY291 bnQoKikpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgLT4gIFBhcnRpYWwgSGFzaEFnZ3JlZ2F0ZQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0MV8xLngsIFBBUlRJQUwgc3VtKHQxXzEu eSksIFBBUlRJQUwgY291bnQoKikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdy b3VwIEtleTogdDFfMS54CkBAIC03NDMsMTYgKzczMSwxNCBAQCBHUk9VUCBCWSB0Mi55IE9SREVS IEJZIHQyLnk7CiAgICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0Ml8yLnkgPSB0MV8y LngpCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmVhZ2VyX2Fn Z190YWIyX3AzIHQyXzIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDJfMi55 Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMzoga2V5cz0odDJfMi55 KQogICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIE91dHB1dDogdDFfMi54LCAoUEFSVElBTCBzdW0odDFfMi55KSksIChQQVJUSUFMIGNvdW50 KCopKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDMKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIC0+ICBQYXJ0aWFsIEhhc2hBZ2dyZWdhdGUKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDFfMi54LCBQQVJUSUFMIHN1bSh0MV8yLnkp LCBQQVJUSUFMIGNvdW50KCopCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHcm91 cCBLZXk6IHQxXzIueAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBT Y2FuIG9uIHB1YmxpYy5lYWdlcl9hZ2dfdGFiMV9wMyB0MV8yCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQxXzIueSwgdDFfMi54Ci0oNTUgcm93cykKKyg0 OSByb3dzKQogCiBTRUxFQ1QgdDIueSwgc3VtKHQxLnkpLCBjb3VudCgqKQogICBGUk9NIGVhZ2Vy X2FnZ190YWIxIHQxCkBAIC03OTksMTAgKzc4NSw4IEBAIEdST1VQIEJZIHQyLnggSEFWSU5HIGF2 Zyh0MS54KSA+IDUgT1JERVIgQlkgdDIueDsKICAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29u ZDogKHQyLnkgPSB0MS54KQogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1 YmxpYy5lYWdlcl9hZ2dfdGFiMl9wMSB0MgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0 cHV0OiB0Mi54LCB0Mi55Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIg MToga2V5cz0odDIueSkKICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQxLngsIChQQVJUSUFMIHN1bSh0MS54KSksIChQQVJU SUFMIGNvdW50KCopKSwgKFBBUlRJQUwgYXZnKHQxLngpKQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBQYXJ0 aWFsIEhhc2hBZ2dyZWdhdGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1 dDogdDEueCwgUEFSVElBTCBzdW0odDEueCksIFBBUlRJQUwgY291bnQoKiksIFBBUlRJQUwgYXZn KHQxLngpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHcm91cCBLZXk6IHQxLngK QEAgLTgxMywxMCArNzk3LDggQEAgR1JPVVAgQlkgdDIueCBIQVZJTkcgYXZnKHQxLngpID4gNSBP UkRFUiBCWSB0Mi54OwogICAgICAgICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDJfMS55ID0g dDFfMS54KQogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5lYWdl cl9hZ2dfdGFiMl9wMiB0Ml8xCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQy XzEueCwgdDJfMS55Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMjog a2V5cz0odDJfMS55KQogICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIE91dHB1dDogdDFfMS54LCAoUEFSVElBTCBzdW0odDFfMS54KSksIChQ QVJUSUFMIGNvdW50KCopKSwgKFBBUlRJQUwgYXZnKHQxXzEueCkpCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4g IFBhcnRpYWwgSGFzaEFnZ3JlZ2F0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg T3V0cHV0OiB0MV8xLngsIFBBUlRJQUwgc3VtKHQxXzEueCksIFBBUlRJQUwgY291bnQoKiksIFBB UlRJQUwgYXZnKHQxXzEueCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdyb3Vw IEtleTogdDFfMS54CkBAIC04MjcsMTYgKzgwOSwxNCBAQCBHUk9VUCBCWSB0Mi54IEhBVklORyBh dmcodDEueCkgPiA1IE9SREVSIEJZIHQyLng7CiAgICAgICAgICAgICAgICAgICAgICBIYXNoIENv bmQ6ICh0Ml8yLnkgPSB0MV8yLngpCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4g b24gcHVibGljLmVhZ2VyX2FnZ190YWIyX3AzIHQyXzIKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIE91dHB1dDogdDJfMi54LCB0Ml8yLnkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIEJs b29tIEZpbHRlciAzOiBrZXlzPSh0Ml8yLnkpCiAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFz aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0MV8yLngsIChQQVJUSUFMIHN1 bSh0MV8yLngpKSwgKFBBUlRJQUwgY291bnQoKikpLCAoUEFSVElBTCBhdmcodDFfMi54KSkKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAzCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAtPiAgUGFydGlhbCBIYXNoQWdncmVnYXRlCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBPdXRwdXQ6IHQxXzIueCwgUEFSVElBTCBzdW0odDFfMi54KSwgUEFSVElB TCBjb3VudCgqKSwgUEFSVElBTCBhdmcodDFfMi54KQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgR3JvdXAgS2V5OiB0MV8yLngKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuZWFnZXJfYWdnX3RhYjFfcDMgdDFfMgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0MV8yLngKLSg1MCByb3dz KQorKDQ0IHJvd3MpCiAKIFNFTEVDVCB0Mi54LCBzdW0odDEueCksIGNvdW50KCopCiAgIEZST00g ZWFnZXJfYWdnX3RhYjEgdDEKQEAgLTg3OCwxMCArODU4LDggQEAgR1JPVVAgQlkgdDEueCBPUkRF UiBCWSB0MS54OwogICAgICAgICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDEueCA9IHQyLngp CiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmVhZ2VyX2FnZ190 YWIxX3AxIHQxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQxLngKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyOiBrZXlzPSh0MS54KQogICAgICAg ICAgICAgICAgICAgICAgLT4gIEhhc2gKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1 dDogdDIueCwgdDMueCwgKFBBUlRJQUwgc3VtKCh0Mi55ICsgdDMueSkpKQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDIKICAgICAgICAgICAgICAgICAgICAgICAgICAg IC0+ICBQYXJ0aWFsIEhhc2hBZ2dyZWdhdGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIE91dHB1dDogdDIueCwgdDMueCwgUEFSVElBTCBzdW0oKHQyLnkgKyB0My55KSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdyb3VwIEtleTogdDIueApAQCAtODkwLDEwICs4 NjgsOCBAQCBHUk9VUCBCWSB0MS54IE9SREVSIEJZIHQxLng7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0Mi54ID0gdDMueCkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuZWFnZXJf YWdnX3RhYjFfcDEgdDIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIE91dHB1dDogdDIueSwgdDIueAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KHQyLngpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0My55LCB0My54Ci0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5l YWdlcl9hZ2dfdGFiMV9wMSB0MwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgT3V0cHV0OiB0My55LCB0My54CiAgICAgICAgICAtPiAgRmluYWxpemUg SGFzaEFnZ3JlZ2F0ZQpAQCAtOTA0LDEwICs4ODAsOCBAQCBHUk9VUCBCWSB0MS54IE9SREVSIEJZ IHQxLng7CiAgICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0MV8xLnggPSB0Ml8xLngp CiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmVhZ2VyX2FnZ190 YWIxX3AyIHQxXzEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDFfMS54Ci0g ICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgNDoga2V5cz0odDFfMS54KQog ICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKICAgICAgICAgICAgICAgICAgICAgICAgICAg IE91dHB1dDogdDJfMS54LCB0M18xLngsIChQQVJUSUFMIHN1bSgodDJfMS55ICsgdDNfMS55KSkp Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgNAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgLT4gIFBhcnRpYWwgSGFzaEFnZ3JlZ2F0ZQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0Ml8xLngsIHQzXzEueCwgUEFSVElBTCBzdW0oKHQy XzEueSArIHQzXzEueSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHcm91cCBL ZXk6IHQyXzEueApAQCAtOTE2LDEwICs4OTAsOCBAQCBHUk9VUCBCWSB0MS54IE9SREVSIEJZIHQx Lng7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0 Ml8xLnggPSB0M18xLngpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAt PiAgU2VxIFNjYW4gb24gcHVibGljLmVhZ2VyX2FnZ190YWIxX3AyIHQyXzEKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDJfMS55LCB0Ml8xLngK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRl ciAzOiBrZXlzPSh0Ml8xLngpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAtPiAgSGFzaAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg T3V0cHV0OiB0M18xLnksIHQzXzEueAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgQmxvb20gRmlsdGVyIDMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuZWFnZXJfYWdnX3RhYjFfcDIg dDNfMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg T3V0cHV0OiB0M18xLnksIHQzXzEueAogICAgICAgICAgLT4gIEZpbmFsaXplIEhhc2hBZ2dyZWdh dGUKQEAgLTkzMCwxMCArOTAyLDggQEAgR1JPVVAgQlkgdDEueCBPUkRFUiBCWSB0MS54OwogICAg ICAgICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDFfMi54ID0gdDJfMi54KQogICAgICAgICAg ICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5lYWdlcl9hZ2dfdGFiMV9wMyB0MV8y CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQxXzIueAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDY6IGtleXM9KHQxXzIueCkKICAgICAgICAgICAg ICAgICAgICAgIC0+ICBIYXNoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQy XzIueCwgdDNfMi54LCAoUEFSVElBTCBzdW0oKHQyXzIueSArIHQzXzIueSkpKQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDYKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIC0+ICBQYXJ0aWFsIEhhc2hBZ2dyZWdhdGUKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE91dHB1dDogdDJfMi54LCB0M18yLngsIFBBUlRJQUwgc3VtKCh0Ml8yLnkgKyB0M18y LnkpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR3JvdXAgS2V5OiB0Ml8yLngK QEAgLTk0MiwxMyArOTEyLDExIEBAIEdST1VQIEJZIHQxLnggT1JERVIgQlkgdDEueDsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQyXzIueCA9IHQz XzIueCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2Nh biBvbiBwdWJsaWMuZWFnZXJfYWdnX3RhYjFfcDMgdDJfMgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0Ml8yLnksIHQyXzIueAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDU6IGtleXM9 KHQyXzIueCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNo CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQz XzIueSwgdDNfMi54Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBCbG9vbSBGaWx0ZXIgNQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5lYWdlcl9hZ2dfdGFiMV9wMyB0M18yCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQz XzIueSwgdDNfMi54Ci0oODIgcm93cykKKyg3MCByb3dzKQogCiBTRUxFQ1QgdDEueCwgc3VtKHQy LnkgKyB0My55KQogICBGUk9NIGVhZ2VyX2FnZ190YWIxIHQxCkBAIC0xMTE4LDEwICsxMDg2LDgg QEAgR1JPVVAgQlkgdDEueCBPUkRFUiBCWSB0MS54OwogICAgICAgICAgICAgICAgICAgICAgSGFz aCBDb25kOiAodDIueSA9IHQxLngpCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4g b24gcHVibGljLmVhZ2VyX2FnZ190YWIyX3AxIHQyCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBPdXRwdXQ6IHQyLnkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAx OiBrZXlzPSh0Mi55KQogICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIE91dHB1dDogdDEueCwgKFBBUlRJQUwgc3VtKHQxLnkpKSwgKFBBUlRJ QUwgY291bnQoKikpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFBhcnRpYWwgSGFzaEFnZ3JlZ2F0ZQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0MS54LCBQQVJUSUFMIHN1bSh0 MS55KSwgUEFSVElBTCBjb3VudCgqKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg R3JvdXAgS2V5OiB0MS54CkBAIC0xMTM1LDEwICsxMTAxLDggQEAgR1JPVVAgQlkgdDEueCBPUkRF UiBCWSB0MS54OwogICAgICAgICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDJfMS55ID0gdDFf MS54KQogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5lYWdlcl9h Z2dfdGFiMl9wMiB0Ml8xCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQyXzEu eQotICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDI6IGtleXM9KHQyXzEu eSkKICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBPdXRwdXQ6IHQxXzEueCwgKFBBUlRJQUwgc3VtKHQxXzEueSkpLCAoUEFSVElBTCBjb3Vu dCgqKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAtPiAgUGFydGlhbCBIYXNoQWdncmVnYXRlCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQxXzEueCwgUEFSVElBTCBzdW0odDFfMS55 KSwgUEFSVElBTCBjb3VudCgqKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR3Jv dXAgS2V5OiB0MV8xLngKQEAgLTExNTIsMTYgKzExMTYsMTQgQEAgR1JPVVAgQlkgdDEueCBPUkRF UiBCWSB0MS54OwogICAgICAgICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDJfMi55ID0gdDFf Mi54KQogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5lYWdlcl9h Z2dfdGFiMl9wMyB0Ml8yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQyXzIu eQotICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDM6IGtleXM9KHQyXzIu eSkKICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBPdXRwdXQ6IHQxXzIueCwgKFBBUlRJQUwgc3VtKHQxXzIueSkpLCAoUEFSVElBTCBjb3Vu dCgqKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAzCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAtPiAgUGFydGlhbCBIYXNoQWdncmVnYXRlCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQxXzIueCwgUEFSVElBTCBzdW0odDFfMi55 KSwgUEFSVElBTCBjb3VudCgqKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR3Jv dXAgS2V5OiB0MV8yLngKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEg U2NhbiBvbiBwdWJsaWMuZWFnZXJfYWdnX3RhYjFfcDMgdDFfMgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0MV8yLngsIHQxXzIueQotKDU1IHJvd3MpCiso NDkgcm93cykKIAogU0VMRUNUIHQxLngsIHN1bSh0MS55KSwgY291bnQoKikKICAgRlJPTSBlYWdl cl9hZ2dfdGFiMSB0MQpAQCAtMTIyNCwxMCArMTE4Niw4IEBAIEdST1VQIEJZIHQxLnggT1JERVIg QlkgdDEueDsKICAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQxLnggPSB0Mi54KQog ICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5lYWdlcl9hZ2dfdGFi X21sX3AxIHQxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQxLngKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPSh0MS54KQogICAgICAg ICAgICAgICAgICAgICAgLT4gIEhhc2gKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1 dDogdDIueCwgKFBBUlRJQUwgc3VtKHQyLnkpKSwgKFBBUlRJQUwgY291bnQoKikpCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgLT4gIFBhcnRpYWwgSGFzaEFnZ3JlZ2F0ZQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgT3V0cHV0OiB0Mi54LCBQQVJUSUFMIHN1bSh0Mi55KSwgUEFSVElBTCBjb3VudCgq KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR3JvdXAgS2V5OiB0Mi54CkBAIC0x MjQxLDEwICsxMjAxLDggQEAgR1JPVVAgQlkgdDEueCBPUkRFUiBCWSB0MS54OwogICAgICAgICAg ICAgICAgICAgICAgSGFzaCBDb25kOiAodDFfMS54ID0gdDJfMS54KQogICAgICAgICAgICAgICAg ICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5lYWdlcl9hZ2dfdGFiX21sX3AyX3MxIHQxXzEK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDFfMS54Ci0gICAgICAgICAgICAg ICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMjoga2V5cz0odDFfMS54KQogICAgICAgICAgICAg ICAgICAgICAgLT4gIEhhc2gKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDJf MS54LCAoUEFSVElBTCBzdW0odDJfMS55KSksIChQQVJUSUFMIGNvdW50KCopKQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDIKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIC0+ICBQYXJ0aWFsIEhhc2hBZ2dyZWdhdGUKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE91dHB1dDogdDJfMS54LCBQQVJUSUFMIHN1bSh0Ml8xLnkpLCBQQVJUSUFMIGNvdW50 KCopCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHcm91cCBLZXk6IHQyXzEueApA QCAtMTI1OCwxMCArMTIxNiw4IEBAIEdST1VQIEJZIHQxLnggT1JERVIgQlkgdDEueDsKICAgICAg ICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQxXzIueCA9IHQyXzIueCkKICAgICAgICAgICAg ICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuZWFnZXJfYWdnX3RhYl9tbF9wMl9zMiB0 MV8yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQxXzIueAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDM6IGtleXM9KHQxXzIueCkKICAgICAgICAg ICAgICAgICAgICAgIC0+ICBIYXNoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6 IHQyXzIueCwgKFBBUlRJQUwgc3VtKHQyXzIueSkpLCAoUEFSVElBTCBjb3VudCgqKSkKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAzCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAtPiAgUGFydGlhbCBIYXNoQWdncmVnYXRlCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBPdXRwdXQ6IHQyXzIueCwgUEFSVElBTCBzdW0odDJfMi55KSwgUEFSVElBTCBj b3VudCgqKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR3JvdXAgS2V5OiB0Ml8y LngKQEAgLTEyNzUsMTAgKzEyMzEsOCBAQCBHUk9VUCBCWSB0MS54IE9SREVSIEJZIHQxLng7CiAg ICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0MV8zLnggPSB0Ml8zLngpCiAgICAgICAg ICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmVhZ2VyX2FnZ190YWJfbWxfcDNf czEgdDFfMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0MV8zLngKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciA0OiBrZXlzPSh0MV8zLngpCiAgICAg ICAgICAgICAgICAgICAgICAtPiAgSGFzaAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0 cHV0OiB0Ml8zLngsIChQQVJUSUFMIHN1bSh0Ml8zLnkpKSwgKFBBUlRJQUwgY291bnQoKikpCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgNAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgLT4gIFBhcnRpYWwgSGFzaEFnZ3JlZ2F0ZQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgT3V0cHV0OiB0Ml8zLngsIFBBUlRJQUwgc3VtKHQyXzMueSksIFBBUlRJ QUwgY291bnQoKikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdyb3VwIEtleTog dDJfMy54CkBAIC0xMjkyLDE2ICsxMjQ2LDE0IEBAIEdST1VQIEJZIHQxLnggT1JERVIgQlkgdDEu eDsKICAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQxXzQueCA9IHQyXzQueCkKICAg ICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuZWFnZXJfYWdnX3RhYl9t bF9wM19zMiB0MV80CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQxXzQueAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDU6IGtleXM9KHQxXzQueCkK ICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBPdXRwdXQ6IHQyXzQueCwgKFBBUlRJQUwgc3VtKHQyXzQueSkpLCAoUEFSVElBTCBjb3VudCgq KSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciA1CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAtPiAgUGFydGlhbCBIYXNoQWdncmVnYXRlCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQyXzQueCwgUEFSVElBTCBzdW0odDJfNC55KSwg UEFSVElBTCBjb3VudCgqKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR3JvdXAg S2V5OiB0Ml80LngKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2Nh biBvbiBwdWJsaWMuZWFnZXJfYWdnX3RhYl9tbF9wM19zMiB0Ml80CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQyXzQueSwgdDJfNC54Ci0oODkgcm93cykK Kyg3OSByb3dzKQogCiBTRUxFQ1QgdDEueCwgc3VtKHQyLnkpLCBjb3VudCgqKQogICBGUk9NIGVh Z2VyX2FnZ190YWJfbWwgdDEKQEAgLTEzNjIsMTAgKzEzMTQsOCBAQCBHUk9VUCBCWSB0MS55IE9S REVSIEJZIHQxLnk7CiAgICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0MS54ID0gdDIu eCkKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuZWFnZXJfYWdn X3RhYl9tbF9wMSB0MQogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0MS55LCB0 MS54Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0odDEu eCkKICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBPdXRwdXQ6IHQyLngsIChQQVJUSUFMIHN1bSh0Mi55KSksIChQQVJUSUFMIGNvdW50KCop KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIC0+ICBQYXJ0aWFsIEhhc2hBZ2dyZWdhdGUKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDIueCwgUEFSVElBTCBzdW0odDIueSksIFBBUlRJ QUwgY291bnQoKikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdyb3VwIEtleTog dDIueApAQCAtMTM3NiwxMCArMTMyNiw4IEBAIEdST1VQIEJZIHQxLnkgT1JERVIgQlkgdDEueTsK ICAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQxXzEueCA9IHQyXzEueCkKICAgICAg ICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuZWFnZXJfYWdnX3RhYl9tbF9w Ml9zMSB0MV8xCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQxXzEueSwgdDFf MS54Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMjoga2V5cz0odDFf MS54KQogICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE91dHB1dDogdDJfMS54LCAoUEFSVElBTCBzdW0odDJfMS55KSksIChQQVJUSUFMIGNv dW50KCopKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDIKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIC0+ICBQYXJ0aWFsIEhhc2hBZ2dyZWdhdGUKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDJfMS54LCBQQVJUSUFMIHN1bSh0Ml8x LnkpLCBQQVJUSUFMIGNvdW50KCopCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBH cm91cCBLZXk6IHQyXzEueApAQCAtMTM5MCwxMCArMTMzOCw4IEBAIEdST1VQIEJZIHQxLnkgT1JE RVIgQlkgdDEueTsKICAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQxXzIueCA9IHQy XzIueCkKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuZWFnZXJf YWdnX3RhYl9tbF9wMl9zMiB0MV8yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6 IHQxXzIueSwgdDFfMi54Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIg Mzoga2V5cz0odDFfMi54KQogICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDJfMi54LCAoUEFSVElBTCBzdW0odDJfMi55KSks IChQQVJUSUFMIGNvdW50KCopKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmls dGVyIDMKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBQYXJ0aWFsIEhhc2hBZ2dyZWdh dGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDJfMi54LCBQQVJU SUFMIHN1bSh0Ml8yLnkpLCBQQVJUSUFMIGNvdW50KCopCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBHcm91cCBLZXk6IHQyXzIueApAQCAtMTQwNCwxMCArMTM1MCw4IEBAIEdST1VQ IEJZIHQxLnkgT1JERVIgQlkgdDEueTsKICAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29uZDog KHQxXzMueCA9IHQyXzMueCkKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBw dWJsaWMuZWFnZXJfYWdnX3RhYl9tbF9wM19zMSB0MV8zCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBPdXRwdXQ6IHQxXzMueSwgdDFfMy54Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBC bG9vbSBGaWx0ZXIgNDoga2V5cz0odDFfMy54KQogICAgICAgICAgICAgICAgICAgICAgLT4gIEhh c2gKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDJfMy54LCAoUEFSVElBTCBz dW0odDJfMy55KSksIChQQVJUSUFMIGNvdW50KCopKQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgQmxvb20gRmlsdGVyIDQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBQYXJ0aWFs IEhhc2hBZ2dyZWdhdGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDog dDJfMy54LCBQQVJUSUFMIHN1bSh0Ml8zLnkpLCBQQVJUSUFMIGNvdW50KCopCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBHcm91cCBLZXk6IHQyXzMueApAQCAtMTQxOCwxNiArMTM2 MiwxNCBAQCBHUk9VUCBCWSB0MS55IE9SREVSIEJZIHQxLnk7CiAgICAgICAgICAgICAgICAgICAg ICBIYXNoIENvbmQ6ICh0MV80LnggPSB0Ml80LngpCiAgICAgICAgICAgICAgICAgICAgICAtPiAg U2VxIFNjYW4gb24gcHVibGljLmVhZ2VyX2FnZ190YWJfbWxfcDNfczIgdDFfNAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0MV80LnksIHQxXzQueAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgQmxvb20gRmlsdGVyIDU6IGtleXM9KHQxXzQueCkKICAgICAgICAgICAgICAg ICAgICAgIC0+ICBIYXNoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQyXzQu eCwgKFBBUlRJQUwgc3VtKHQyXzQueSkpLCAoUEFSVElBTCBjb3VudCgqKSkKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciA1CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAtPiAgUGFydGlhbCBIYXNoQWdncmVnYXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBPdXRwdXQ6IHQyXzQueCwgUEFSVElBTCBzdW0odDJfNC55KSwgUEFSVElBTCBjb3VudCgq KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR3JvdXAgS2V5OiB0Ml80LngKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuZWFn ZXJfYWdnX3RhYl9tbF9wM19zMiB0Ml80CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBPdXRwdXQ6IHQyXzQueSwgdDJfNC54Ci0oNzcgcm93cykKKyg2NyByb3dzKQogCiBT RUxFQ1QgdDEueSwgc3VtKHQyLnkpLCBjb3VudCgqKQogICBGUk9NIGVhZ2VyX2FnZ190YWJfbWwg dDEKQEAgLTE0ODksMTAgKzE0MzEsOCBAQCBHUk9VUCBCWSB0MS54IE9SREVSIEJZIHQxLng7CiAg ICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0MS54ID0gdDIueCkKICAgICAgICAgICAg ICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuZWFnZXJfYWdnX3RhYl9tbF9wMSB0MQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0MS54Ci0gICAgICAgICAgICAgICAg ICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMjoga2V5cz0odDEueCkKICAgICAgICAgICAgICAgICAg ICAgIC0+ICBIYXNoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQyLngsIHQz LngsIChQQVJUSUFMIHN1bSgodDIueSArIHQzLnkpKSksIChQQVJUSUFMIGNvdW50KCopKQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDIKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIC0+ICBQYXJ0aWFsIEhhc2hBZ2dyZWdhdGUKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIE91dHB1dDogdDIueCwgdDMueCwgUEFSVElBTCBzdW0oKHQyLnkgKyB0My55 KSksIFBBUlRJQUwgY291bnQoKikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdy b3VwIEtleTogdDIueApAQCAtMTUwMSwxMCArMTQ0MSw4IEBAIEdST1VQIEJZIHQxLnggT1JERVIg QlkgdDEueDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29u ZDogKHQyLnggPSB0My54KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg LT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5lYWdlcl9hZ2dfdGFiX21sX3AxIHQyCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQyLnksIHQyLngKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAx OiBrZXlzPSh0Mi54KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4g IEhhc2gKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1 dDogdDMueSwgdDMueAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuZWFnZXJfYWdnX3RhYl9tbF9wMSB0MwogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0 My55LCB0My54CiAgICAgICAgICAtPiAgRmluYWxpemUgSGFzaEFnZ3JlZ2F0ZQpAQCAtMTUxNSwx MCArMTQ1Myw4IEBAIEdST1VQIEJZIHQxLnggT1JERVIgQlkgdDEueDsKICAgICAgICAgICAgICAg ICAgICAgIEhhc2ggQ29uZDogKHQxXzEueCA9IHQyXzEueCkKICAgICAgICAgICAgICAgICAgICAg IC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuZWFnZXJfYWdnX3RhYl9tbF9wMl9zMSB0MV8xCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQxXzEueAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgQmxvb20gRmlsdGVyIDQ6IGtleXM9KHQxXzEueCkKICAgICAgICAgICAgICAgICAg ICAgIC0+ICBIYXNoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQyXzEueCwg dDNfMS54LCAoUEFSVElBTCBzdW0oKHQyXzEueSArIHQzXzEueSkpKSwgKFBBUlRJQUwgY291bnQo KikpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgNAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgLT4gIFBhcnRpYWwgSGFzaEFnZ3JlZ2F0ZQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0Ml8xLngsIHQzXzEueCwgUEFSVElBTCBzdW0o KHQyXzEueSArIHQzXzEueSkpLCBQQVJUSUFMIGNvdW50KCopCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBHcm91cCBLZXk6IHQyXzEueApAQCAtMTUyNywxMCArMTQ2Myw4IEBAIEdS T1VQIEJZIHQxLnggT1JERVIgQlkgdDEueDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEhhc2ggQ29uZDogKHQyXzEueCA9IHQzXzEueCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuZWFnZXJfYWdnX3Rh Yl9tbF9wMl9zMSB0Ml8xCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBPdXRwdXQ6IHQyXzEueSwgdDJfMS54Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMzoga2V5cz0odDJfMS54KQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDNfMS55LCB0M18xLngKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAzCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4g b24gcHVibGljLmVhZ2VyX2FnZ190YWJfbWxfcDJfczEgdDNfMQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0M18xLnksIHQzXzEueAog ICAgICAgICAgLT4gIEZpbmFsaXplIEhhc2hBZ2dyZWdhdGUKQEAgLTE1NDEsMTAgKzE0NzUsOCBA QCBHUk9VUCBCWSB0MS54IE9SREVSIEJZIHQxLng7CiAgICAgICAgICAgICAgICAgICAgICBIYXNo IENvbmQ6ICh0MV8yLnggPSB0Ml8yLngpCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNj YW4gb24gcHVibGljLmVhZ2VyX2FnZ190YWJfbWxfcDJfczIgdDFfMgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgT3V0cHV0OiB0MV8yLngKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIEJs b29tIEZpbHRlciA2OiBrZXlzPSh0MV8yLngpCiAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFz aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0Ml8yLngsIHQzXzIueCwgKFBB UlRJQUwgc3VtKCh0Ml8yLnkgKyB0M18yLnkpKSksIChQQVJUSUFMIGNvdW50KCopKQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDYKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIC0+ICBQYXJ0aWFsIEhhc2hBZ2dyZWdhdGUKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIE91dHB1dDogdDJfMi54LCB0M18yLngsIFBBUlRJQUwgc3VtKCh0Ml8yLnkgKyB0 M18yLnkpKSwgUEFSVElBTCBjb3VudCgqKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgR3JvdXAgS2V5OiB0Ml8yLngKQEAgLTE1NTMsMTAgKzE0ODUsOCBAQCBHUk9VUCBCWSB0MS54 IE9SREVSIEJZIHQxLng7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBI YXNoIENvbmQ6ICh0Ml8yLnggPSB0M18yLngpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmVhZ2VyX2FnZ190YWJfbWxfcDJfczIg dDJfMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0 OiB0Ml8yLnksIHQyXzIueAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgQmxvb20gRmlsdGVyIDU6IGtleXM9KHQyXzIueCkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQzXzIueSwgdDNfMi54Ci0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgNQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5l YWdlcl9hZ2dfdGFiX21sX3AyX3MyIHQzXzIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDNfMi55LCB0M18yLngKICAgICAgICAgIC0+ ICBGaW5hbGl6ZSBIYXNoQWdncmVnYXRlCkBAIC0xNTY3LDEwICsxNDk3LDggQEAgR1JPVVAgQlkg dDEueCBPUkRFUiBCWSB0MS54OwogICAgICAgICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDFf My54ID0gdDJfMy54KQogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1Ymxp Yy5lYWdlcl9hZ2dfdGFiX21sX3AzX3MxIHQxXzMKICAgICAgICAgICAgICAgICAgICAgICAgICAg IE91dHB1dDogdDFfMy54Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIg ODoga2V5cz0odDFfMy54KQogICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDJfMy54LCB0M18zLngsIChQQVJUSUFMIHN1bSgo dDJfMy55ICsgdDNfMy55KSkpLCAoUEFSVElBTCBjb3VudCgqKSkKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgIEJsb29tIEZpbHRlciA4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAg UGFydGlhbCBIYXNoQWdncmVnYXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBP dXRwdXQ6IHQyXzMueCwgdDNfMy54LCBQQVJUSUFMIHN1bSgodDJfMy55ICsgdDNfMy55KSksIFBB UlRJQUwgY291bnQoKikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdyb3VwIEtl eTogdDJfMy54CkBAIC0xNTc5LDEwICsxNTA3LDggQEAgR1JPVVAgQlkgdDEueCBPUkRFUiBCWSB0 MS54OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSGFzaCBDb25kOiAo dDJfMy54ID0gdDNfMy54KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg LT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5lYWdlcl9hZ2dfdGFiX21sX3AzX3MxIHQyXzMKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDJfMy55LCB0 Ml8zLngKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29t IEZpbHRlciA3OiBrZXlzPSh0Ml8zLngpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAtPiAgSGFzaAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgT3V0cHV0OiB0M18zLnksIHQzXzMueAotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDcKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuZWFnZXJfYWdnX3Rh Yl9tbF9wM19zMSB0M18zCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBPdXRwdXQ6IHQzXzMueSwgdDNfMy54CiAgICAgICAgICAtPiAgRmluYWxpemUg SGFzaEFnZ3JlZ2F0ZQpAQCAtMTU5MywxMCArMTUxOSw4IEBAIEdST1VQIEJZIHQxLnggT1JERVIg QlkgdDEueDsKICAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQxXzQueCA9IHQyXzQu eCkKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuZWFnZXJfYWdn X3RhYl9tbF9wM19zMiB0MV80CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQx XzQueAotICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEwOiBrZXlzPSh0 MV80LngpCiAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgT3V0cHV0OiB0Ml80LngsIHQzXzQueCwgKFBBUlRJQUwgc3VtKCh0Ml80LnkgKyB0 M180LnkpKSksIChQQVJUSUFMIGNvdW50KCopKQotICAgICAgICAgICAgICAgICAgICAgICAgICAg Qmxvb20gRmlsdGVyIDEwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgUGFydGlhbCBI YXNoQWdncmVnYXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQy XzQueCwgdDNfNC54LCBQQVJUSUFMIHN1bSgodDJfNC55ICsgdDNfNC55KSksIFBBUlRJQUwgY291 bnQoKikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdyb3VwIEtleTogdDJfNC54 CkBAIC0xNjA1LDEzICsxNTI5LDExIEBAIEdST1VQIEJZIHQxLnggT1JERVIgQlkgdDEueDsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQyXzQueCA9 IHQzXzQueCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEg U2NhbiBvbiBwdWJsaWMuZWFnZXJfYWdnX3RhYl9tbF9wM19zMiB0Ml80CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQyXzQueSwgdDJfNC54Ci0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIg OToga2V5cz0odDJfNC54KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg LT4gIEhhc2gKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91 dHB1dDogdDNfNC55LCB0M180LngKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEJsb29tIEZpbHRlciA5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmVhZ2VyX2FnZ190YWJfbWxfcDNf czIgdDNfNAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgT3V0cHV0OiB0M180LnksIHQzXzQueAotKDEzNCByb3dzKQorKDExNCByb3dzKQogCiBTRUxF Q1QgdDEueCwgc3VtKHQyLnkgKyB0My55KSwgY291bnQoKikKICAgRlJPTSBlYWdlcl9hZ2dfdGFi X21sIHQxCkBAIC0xNjczLDEwICsxNTk1LDggQEAgR1JPVVAgQlkgdDMueSBPUkRFUiBCWSB0My55 OwogICAgICAgICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDEueCA9IHQyLngpCiAgICAgICAg ICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmVhZ2VyX2FnZ190YWJfbWxfcDEg dDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDEueAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDI6IGtleXM9KHQxLngpCiAgICAgICAgICAgICAg ICAgICAgICAtPiAgSGFzaAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0Mi54 LCB0My55LCB0My54LCAoUEFSVElBTCBzdW0oKHQyLnkgKyB0My55KSkpLCAoUEFSVElBTCBjb3Vu dCgqKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAtPiAgUGFydGlhbCBIYXNoQWdncmVnYXRlCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQyLngsIHQzLnksIHQzLngsIFBBUlRJQUwg c3VtKCh0Mi55ICsgdDMueSkpLCBQQVJUSUFMIGNvdW50KCopCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBHcm91cCBLZXk6IHQyLngsIHQzLnksIHQzLngKQEAgLTE2ODUsMTAgKzE2 MDUsOCBAQCBHUk9VUCBCWSB0My55IE9SREVSIEJZIHQzLnk7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0Mi54ID0gdDMueCkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuZWFnZXJf YWdnX3RhYl9tbF9wMSB0MgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgT3V0cHV0OiB0Mi55LCB0Mi54Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0odDIueCkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQzLnksIHQzLngKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGlj LmVhZ2VyX2FnZ190YWJfbWxfcDEgdDMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDMueSwgdDMueAogICAgICAgICAgICAgICAgLT4g IEhhc2ggSm9pbgpAQCAtMTY5NiwxMCArMTYxNCw4IEBAIEdST1VQIEJZIHQzLnkgT1JERVIgQlkg dDMueTsKICAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQxXzEueCA9IHQyXzEueCkK ICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuZWFnZXJfYWdnX3Rh Yl9tbF9wMl9zMSB0MV8xCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQxXzEu eAotICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDQ6IGtleXM9KHQxXzEu eCkKICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBPdXRwdXQ6IHQyXzEueCwgdDNfMS55LCB0M18xLngsIChQQVJUSUFMIHN1bSgodDJfMS55 ICsgdDNfMS55KSkpLCAoUEFSVElBTCBjb3VudCgqKSkKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgIEJsb29tIEZpbHRlciA0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgUGFydGlh bCBIYXNoQWdncmVnYXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6 IHQyXzEueCwgdDNfMS55LCB0M18xLngsIFBBUlRJQUwgc3VtKCh0Ml8xLnkgKyB0M18xLnkpKSwg UEFSVElBTCBjb3VudCgqKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR3JvdXAg S2V5OiB0Ml8xLngsIHQzXzEueSwgdDNfMS54CkBAIC0xNzA4LDEwICsxNjI0LDggQEAgR1JPVVAg QlkgdDMueSBPUkRFUiBCWSB0My55OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgSGFzaCBDb25kOiAodDJfMS54ID0gdDNfMS54KQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5lYWdlcl9hZ2dfdGFiX21s X3AyX3MxIHQyXzEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IE91dHB1dDogdDJfMS55LCB0Ml8xLngKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEJsb29tIEZpbHRlciAzOiBrZXlzPSh0Ml8xLngpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0M18xLnksIHQzXzEueAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDMKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBw dWJsaWMuZWFnZXJfYWdnX3RhYl9tbF9wMl9zMSB0M18xCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQzXzEueSwgdDNfMS54CiAgICAg ICAgICAgICAgICAtPiAgSGFzaCBKb2luCkBAIC0xNzE5LDEwICsxNjMzLDggQEAgR1JPVVAgQlkg dDMueSBPUkRFUiBCWSB0My55OwogICAgICAgICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDFf Mi54ID0gdDJfMi54KQogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1Ymxp Yy5lYWdlcl9hZ2dfdGFiX21sX3AyX3MyIHQxXzIKICAgICAgICAgICAgICAgICAgICAgICAgICAg IE91dHB1dDogdDFfMi54Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIg Njoga2V5cz0odDFfMi54KQogICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDJfMi54LCB0M18yLnksIHQzXzIueCwgKFBBUlRJ QUwgc3VtKCh0Ml8yLnkgKyB0M18yLnkpKSksIChQQVJUSUFMIGNvdW50KCopKQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDYKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIC0+ICBQYXJ0aWFsIEhhc2hBZ2dyZWdhdGUKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE91dHB1dDogdDJfMi54LCB0M18yLnksIHQzXzIueCwgUEFSVElBTCBzdW0oKHQyXzIu eSArIHQzXzIueSkpLCBQQVJUSUFMIGNvdW50KCopCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBHcm91cCBLZXk6IHQyXzIueCwgdDNfMi55LCB0M18yLngKQEAgLTE3MzEsMTAgKzE2 NDMsOCBAQCBHUk9VUCBCWSB0My55IE9SREVSIEJZIHQzLnk7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0Ml8yLnggPSB0M18yLngpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmVh Z2VyX2FnZ190YWJfbWxfcDJfczIgdDJfMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgT3V0cHV0OiB0Ml8yLnksIHQyXzIueAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDU6IGtleXM9KHQyXzIueCkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQzXzIueSwgdDNf Mi54Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBG aWx0ZXIgNQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4g IFNlcSBTY2FuIG9uIHB1YmxpYy5lYWdlcl9hZ2dfdGFiX21sX3AyX3MyIHQzXzIKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDNfMi55 LCB0M18yLngKICAgICAgICAgICAgICAgIC0+ICBIYXNoIEpvaW4KQEAgLTE3NDIsMTAgKzE2NTIs OCBAQCBHUk9VUCBCWSB0My55IE9SREVSIEJZIHQzLnk7CiAgICAgICAgICAgICAgICAgICAgICBI YXNoIENvbmQ6ICh0MV8zLnggPSB0Ml8zLngpCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2Vx IFNjYW4gb24gcHVibGljLmVhZ2VyX2FnZ190YWJfbWxfcDNfczEgdDFfMwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgT3V0cHV0OiB0MV8zLngKLSAgICAgICAgICAgICAgICAgICAgICAgICAg IEJsb29tIEZpbHRlciA4OiBrZXlzPSh0MV8zLngpCiAgICAgICAgICAgICAgICAgICAgICAtPiAg SGFzaAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0Ml8zLngsIHQzXzMueSwg dDNfMy54LCAoUEFSVElBTCBzdW0oKHQyXzMueSArIHQzXzMueSkpKSwgKFBBUlRJQUwgY291bnQo KikpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgOAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgLT4gIFBhcnRpYWwgSGFzaEFnZ3JlZ2F0ZQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0Ml8zLngsIHQzXzMueSwgdDNfMy54LCBQQVJU SUFMIHN1bSgodDJfMy55ICsgdDNfMy55KSksIFBBUlRJQUwgY291bnQoKikKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEdyb3VwIEtleTogdDJfMy54LCB0M18zLnksIHQzXzMueApA QCAtMTc1NCwxMCArMTY2Miw4IEBAIEdST1VQIEJZIHQzLnkgT1JERVIgQlkgdDMueTsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQyXzMueCA9IHQz XzMueCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2Nh biBvbiBwdWJsaWMuZWFnZXJfYWdnX3RhYl9tbF9wM19zMSB0Ml8zCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQyXzMueSwgdDJfMy54Ci0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgNzog a2V5cz0odDJfMy54KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4g IEhhc2gKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1 dDogdDNfMy55LCB0M18zLngKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEJsb29tIEZpbHRlciA3CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmVhZ2VyX2FnZ190YWJfbWxfcDNfczEg dDNfMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg T3V0cHV0OiB0M18zLnksIHQzXzMueAogICAgICAgICAgICAgICAgLT4gIEhhc2ggSm9pbgpAQCAt MTc2NSwxMCArMTY3MSw4IEBAIEdST1VQIEJZIHQzLnkgT1JERVIgQlkgdDMueTsKICAgICAgICAg ICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQxXzQueCA9IHQyXzQueCkKICAgICAgICAgICAgICAg ICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuZWFnZXJfYWdnX3RhYl9tbF9wM19zMiB0MV80 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQxXzQueAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEwOiBrZXlzPSh0MV80LngpCiAgICAgICAgICAg ICAgICAgICAgICAtPiAgSGFzaAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0 Ml80LngsIHQzXzQueSwgdDNfNC54LCAoUEFSVElBTCBzdW0oKHQyXzQueSArIHQzXzQueSkpKSwg KFBBUlRJQUwgY291bnQoKikpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0 ZXIgMTAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBQYXJ0aWFsIEhhc2hBZ2dyZWdh dGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDJfNC54LCB0M180 LnksIHQzXzQueCwgUEFSVElBTCBzdW0oKHQyXzQueSArIHQzXzQueSkpLCBQQVJUSUFMIGNvdW50 KCopCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHcm91cCBLZXk6IHQyXzQueCwg dDNfNC55LCB0M180LngKQEAgLTE3NzcsMTMgKzE2ODEsMTEgQEAgR1JPVVAgQlkgdDMueSBPUkRF UiBCWSB0My55OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSGFzaCBD b25kOiAodDJfNC54ID0gdDNfNC54KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5lYWdlcl9hZ2dfdGFiX21sX3AzX3MyIHQyXzQK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDJf NC55LCB0Ml80LngKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IEJsb29tIEZpbHRlciA5OiBrZXlzPSh0Ml80LngpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAtPiAgSGFzaAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgT3V0cHV0OiB0M180LnksIHQzXzQueAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuZWFnZXJf YWdnX3RhYl9tbF9wM19zMiB0M180CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQzXzQueSwgdDNfNC54Ci0oMTIyIHJvd3MpCisoMTAy IHJvd3MpCiAKIFNFTEVDVCB0My55LCBzdW0odDIueSArIHQzLnkpLCBjb3VudCgqKQogICBGUk9N IGVhZ2VyX2FnZ190YWJfbWwgdDEKQEAgLTE4NDYsMTAgKzE3NDgsOCBAQCBHUk9VUCBCWSB0MS54 IE9SREVSIEJZIHQxLng7CiAgICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0MS54ID0g dDIueCkKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuZWFnZXJf YWdnX3RhYl9tbF9wMSB0MQogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0MS54 Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0odDEueCkK ICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBPdXRwdXQ6IHQyLngsIChQQVJUSUFMIHN1bSh0Mi55KSksIChQQVJUSUFMIGNvdW50KCopKQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIC0+ICBQYXJ0aWFsIEhhc2hBZ2dyZWdhdGUKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIE91dHB1dDogdDIueCwgUEFSVElBTCBzdW0odDIueSksIFBBUlRJQUwg Y291bnQoKikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdyb3VwIEtleTogdDIu eApAQCAtMTg2MywxMCArMTc2Myw4IEBAIEdST1VQIEJZIHQxLnggT1JERVIgQlkgdDEueDsKICAg ICAgICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQxXzEueCA9IHQyXzEueCkKICAgICAgICAg ICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuZWFnZXJfYWdnX3RhYl9tbF9wMl9z MSB0MV8xCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQxXzEueAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDI6IGtleXM9KHQxXzEueCkKICAgICAg ICAgICAgICAgICAgICAgIC0+ICBIYXNoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRw dXQ6IHQyXzEueCwgKFBBUlRJQUwgc3VtKHQyXzEueSkpLCAoUEFSVElBTCBjb3VudCgqKSkKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAtPiAgUGFydGlhbCBIYXNoQWdncmVnYXRlCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBPdXRwdXQ6IHQyXzEueCwgUEFSVElBTCBzdW0odDJfMS55KSwgUEFSVElB TCBjb3VudCgqKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR3JvdXAgS2V5OiB0 Ml8xLngKQEAgLTE4ODAsMTAgKzE3NzgsOCBAQCBHUk9VUCBCWSB0MS54IE9SREVSIEJZIHQxLng7 CiAgICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0MV8yLnggPSB0Ml8yLngpCiAgICAg ICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmVhZ2VyX2FnZ190YWJfbWxf cDJfczIgdDFfMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0MV8yLngKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAzOiBrZXlzPSh0MV8yLngpCiAg ICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaAogICAgICAgICAgICAgICAgICAgICAgICAgICAg T3V0cHV0OiB0Ml8yLngsIChQQVJUSUFMIHN1bSh0Ml8yLnkpKSwgKFBBUlRJQUwgY291bnQoKikp Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgLT4gIFBhcnRpYWwgSGFzaEFnZ3JlZ2F0ZQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0Ml8yLngsIFBBUlRJQUwgc3VtKHQyXzIueSksIFBB UlRJQUwgY291bnQoKikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdyb3VwIEtl eTogdDJfMi54CkBAIC0xODk3LDEwICsxNzkzLDggQEAgR1JPVVAgQlkgdDEueCBPUkRFUiBCWSB0 MS54OwogICAgICAgICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDFfMy54ID0gdDJfMy54KQog ICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5lYWdlcl9hZ2dfdGFi X21sX3AzX3MxIHQxXzMKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDFfMy54 Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgNDoga2V5cz0odDFfMy54 KQogICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIE91dHB1dDogdDJfMy54LCAoUEFSVElBTCBzdW0odDJfMy55KSksIChQQVJUSUFMIGNvdW50 KCopKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDQKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIC0+ICBQYXJ0aWFsIEhhc2hBZ2dyZWdhdGUKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDJfMy54LCBQQVJUSUFMIHN1bSh0Ml8zLnkp LCBQQVJUSUFMIGNvdW50KCopCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHcm91 cCBLZXk6IHQyXzMueApAQCAtMTkxNCwxNiArMTgwOCwxNCBAQCBHUk9VUCBCWSB0MS54IE9SREVS IEJZIHQxLng7CiAgICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0MV80LnggPSB0Ml80 LngpCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmVhZ2VyX2Fn Z190YWJfbWxfcDNfczIgdDFfNAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0 MV80LngKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciA1OiBrZXlzPSh0 MV80LngpCiAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgT3V0cHV0OiB0Ml80LngsIChQQVJUSUFMIHN1bSh0Ml80LnkpKSwgKFBBUlRJQUwg Y291bnQoKikpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgNQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFBhcnRpYWwgSGFzaEFnZ3JlZ2F0ZQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0Ml80LngsIFBBUlRJQUwgc3VtKHQy XzQueSksIFBBUlRJQUwgY291bnQoKikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IEdyb3VwIEtleTogdDJfNC54CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAg U2VxIFNjYW4gb24gcHVibGljLmVhZ2VyX2FnZ190YWJfbWxfcDNfczIgdDJfNAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0Ml80LnksIHQyXzQueAotKDg5 IHJvd3MpCisoNzkgcm93cykKIAogU0VMRUNUIHQxLngsIHN1bSh0Mi55KSwgY291bnQoKikKICAg RlJPTSBlYWdlcl9hZ2dfdGFiX21sIHQxCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL2dyYXBoX3RhYmxlLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvZ3JhcGhf dGFibGUub3V0CmluZGV4IDcwZDk4NmU4YWIwLi4xNGZiZGNjNjQ1YSAxMDA2NDQKLS0tIGEvc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ncmFwaF90YWJsZS5vdXQKKysrIGIvc3JjL3Rlc3QvcmVn cmVzcy9leHBlY3RlZC9ncmFwaF90YWJsZS5vdXQKQEAgLTI1MCw4ICsyNTAsOCBAQCBTRUxFQ1Qg KiBGUk9NIHgxLCBHUkFQSF9UQUJMRSAobXlzaG9wIE1BVENIIChjIElTIGN1c3RvbWVycyBXSEVS RSBjLmFkZHJlc3MgPSAnVQogU0VMRUNUIHgxLmEsIGcuKiBGUk9NIHgxLCBHUkFQSF9UQUJMRSAo bXlzaG9wIE1BVENIICh4MSBJUyBjdXN0b21lcnMgV0hFUkUgeDEuYWRkcmVzcyA9ICdVUycpLVtJ UyBjdXN0b21lcl9vcmRlcnNdLT4obyBJUyBvcmRlcnMpIENPTFVNTlMgKHgxLm5hbWUgQVMgY3Vz dG9tZXJfbmFtZSwgeDEuY3VzdG9tZXJfaWQgQVMgY2lkLCBvLm9yZGVyX2lkKSkgZzsKICBhIHwg Y3VzdG9tZXJfbmFtZSB8IGNpZCB8IG9yZGVyX2lkIAogLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0t LSstLS0tLS0tLS0tCi0gMSB8IGN1c3RvbWVyMSAgICAgfCAgIDEgfCAgICAgICAgMQogIDIgfCBj dXN0b21lcjEgICAgIHwgICAxIHwgICAgICAgIDEKKyAxIHwgY3VzdG9tZXIxICAgICB8ICAgMSB8 ICAgICAgICAxCiAoMiByb3dzKQogCiAtLSBsYXRlcmFsIHJlZmVyZW5jZSB3aXRoIG11bHRpLWxh YmVsIHBhdHRlcm4sIHdoaWNoIGlzIHJld3JpdHRlbiBhcyBVTklPTiBvZgpAQCAtNDA3LDggKzQw Nyw4IEBAIFNFTEVDVCAqIEZST00gR1JBUEhfVEFCTEUgKGcxIE1BVENIIChhIElTIHZsMSB8IHZs MikgQ09MVU1OUyAoYS52bmFtZSwgYS52cHJvcDEpCiBTRUxFQ1Qgc3JjLCBjb25uLCBkZXN0LCBs cHJvcDEsIHZwcm9wMiwgdnByb3AxIEZST00gR1JBUEhfVEFCTEUgKGcxIE1BVENIIChhIElTIHZs MSktW2IgSVMgZWwxXS0+KGMgSVMgdmwyIHwgdmwzKSBDT0xVTU5TIChhLnZuYW1lIEFTIHNyYywg Yi5lbmFtZSBBUyBjb25uLCBjLnZuYW1lIEFTIGRlc3QsIGMubHByb3AxLCBjLnZwcm9wMiwgYy52 cHJvcDEpKTsKICBzcmMgfCBjb25uIHwgZGVzdCB8ICBscHJvcDEgIHwgdnByb3AyIHwgdnByb3Ax IAogLS0tLS0rLS0tLS0tKy0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tCi0gdjEy IHwgZTEyMiB8IHYyMSAgfCB2bDJfcHJvcCB8ICAgMTEwMCB8ICAgMTAxMAogIHYxMSB8IGUxMjEg fCB2MjIgIHwgdmwyX3Byb3AgfCAgIDEyMDAgfCAgIDEwMjAKKyB2MTIgfCBlMTIyIHwgdjIxICB8 IHZsMl9wcm9wIHwgICAxMTAwIHwgICAxMDEwCiAgdjExIHwgZTEzMSB8IHYzMyAgfCB2bDNfcHJv cCB8ICAgICAgICB8ICAgMjAzMAogIHYxMSB8IGUxMzIgfCB2MzEgIHwgdmwzX3Byb3AgfCAgICAg ICAgfCAgIDIwMTAKICg0IHJvd3MpCkBAIC00MTcsMTYgKzQxNywxNiBAQCBTRUxFQ1Qgc3JjLCBj b25uLCBkZXN0LCBscHJvcDEsIHZwcm9wMiwgdnByb3AxIEZST00gR1JBUEhfVEFCTEUgKGcxIE1B VENIIChhIElTCiBTRUxFQ1QgKiBGUk9NIEdSQVBIX1RBQkxFIChnMSBNQVRDSCAodjEgSVMgdmwy KS1bY29ubl0tKHYyKSBDT0xVTU5TICh2MS52bmFtZSBBUyB2MW5hbWUsIGNvbm4uZW5hbWUgQVMg Y25hbWUsIHYyLnZuYW1lIEFTIHYybmFtZSkpOwogIHYxbmFtZSB8IGNuYW1lIHwgdjJuYW1lIAog LS0tLS0tLS0rLS0tLS0tLSstLS0tLS0tLQotIHYyMSAgICB8IGUxMjIgIHwgdjEyCiAgdjIyICAg IHwgZTEyMSAgfCB2MTEKKyB2MjEgICAgfCBlMTIyICB8IHYxMgogIHYyMiAgICB8IGUyMzEgIHwg djMyCiAoMyByb3dzKQogCiBTRUxFQ1QgKiBGUk9NIEdSQVBIX1RBQkxFIChnMSBNQVRDSCAodjEg SVMgdmwyKS0odjIpIENPTFVNTlMgKHYxLnZuYW1lIEFTIHYxbmFtZSwgdjIudm5hbWUgQVMgdjJu YW1lKSk7CiAgdjFuYW1lIHwgdjJuYW1lIAogLS0tLS0tLS0rLS0tLS0tLS0KLSB2MjEgICAgfCB2 MTIKICB2MjIgICAgfCB2MTEKKyB2MjEgICAgfCB2MTIKICB2MjIgICAgfCB2MzIKICgzIHJvd3Mp CiAKQEAgLTQ4Nyw4ICs0ODcsOCBAQCBMSU5FIDE6IFNFTEVDVCAqIEZST00gR1JBUEhfVEFCTEUg KGcxIE1BVENIIChXSEVSRSBiLmVwcm9wMSA9IDEwMDAxKS4uLgogU0VMRUNUICogRlJPTSBHUkFQ SF9UQUJMRSAoZzEgTUFUQ0ggKHNyYyktW2Nvbm5dLT4oZGVzdCkgQ09MVU1OUyAoc3JjLnZuYW1l IEFTIHN2bmFtZSwgY29ubi5lbmFtZSBBUyBjZW5hbWUsIGRlc3Qudm5hbWUgQVMgZHZuYW1lLCBz cmMudnByb3AxIEFTIHN2cDEsIHNyYy52cHJvcDIgQVMgc3ZwMiwgc3JjLmxwcm9wMSBBUyBzbHAx LCBkZXN0LnZwcm9wMSBBUyBkdnAxLCBkZXN0LnZwcm9wMiBBUyBkdnAyLCBkZXN0Lmxwcm9wMSBB UyBkbHAxLCBjb25uLmVwcm9wMSBBUyBjZXAxLCBjb25uLmxwcm9wMiBBUyBjbHAyKSk7CiAgc3Zu YW1lIHwgY2VuYW1lIHwgZHZuYW1lIHwgc3ZwMSB8IHN2cDIgfCAgIHNscDEgICB8IGR2cDEgfCBk dnAyIHwgICBkbHAxICAgfCBjZXAxICB8ICBjbHAyICAKIC0tLS0tLS0tKy0tLS0tLS0tKy0tLS0t LS0tKy0tLS0tLSstLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0rLS0tLS0tKy0tLS0tLS0tLS0rLS0t LS0tLSstLS0tLS0tLQotIHYxMiAgICB8IGUxMjIgICB8IHYyMSAgICB8ICAgMjAgfCAgICAgIHwg ICAgICAgICAgfCAxMDEwIHwgMTEwMCB8IHZsMl9wcm9wIHwgMTAwMDIgfCAgICAgICAKICB2MTEg ICAgfCBlMTIxICAgfCB2MjIgICAgfCAgIDEwIHwgICAgICB8ICAgICAgICAgIHwgMTAyMCB8IDEy MDAgfCB2bDJfcHJvcCB8IDEwMDAxIHwgICAgICAgCisgdjEyICAgIHwgZTEyMiAgIHwgdjIxICAg IHwgICAyMCB8ICAgICAgfCAgICAgICAgICB8IDEwMTAgfCAxMTAwIHwgdmwyX3Byb3AgfCAxMDAw MiB8ICAgICAgIAogIHYxMSAgICB8IGUxMzEgICB8IHYzMyAgICB8ICAgMTAgfCAgICAgIHwgICAg ICAgICAgfCAyMDMwIHwgICAgICB8IHZsM19wcm9wIHwgMTAwMDMgfCAgICAgICAKICB2MTEgICAg fCBlMTMyICAgfCB2MzEgICAgfCAgIDEwIHwgICAgICB8ICAgICAgICAgIHwgMjAxMCB8ICAgICAg fCB2bDNfcHJvcCB8IDEwMDA0IHwgICAgICAgCiAgdjIyICAgIHwgZTIzMSAgIHwgdjMyICAgIHwg MTAyMCB8IDEyMDAgfCB2bDJfcHJvcCB8IDIwMjAgfCAgICAgIHwgdmwzX3Byb3AgfCAgICAgICB8 IDEwMDA1MApAQCAtNDk4LDggKzQ5OCw4IEBAIFNFTEVDVCAqIEZST00gR1JBUEhfVEFCTEUgKGcx IE1BVENIIChzcmMpLVtjb25uXS0+KGRlc3QpIENPTFVNTlMgKHNyYy52bmFtZSBBUyBzCiBTRUxF Q1QgKiBGUk9NIEdSQVBIX1RBQkxFIChnMSBNQVRDSCAoc3JjIElTIHZsMSB8IHZsMiB8IHZsMykt W2Nvbm5dLT4oZGVzdCkgQ09MVU1OUyAoc3JjLnZuYW1lIEFTIHN2bmFtZSwgY29ubi5lbmFtZSBB UyBjZW5hbWUsIGRlc3Qudm5hbWUgQVMgZHZuYW1lKSk7CiAgc3ZuYW1lIHwgY2VuYW1lIHwgZHZu YW1lIAogLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0KLSB2MTIgICAgfCBlMTIyICAgfCB2MjEK ICB2MTEgICAgfCBlMTIxICAgfCB2MjIKKyB2MTIgICAgfCBlMTIyICAgfCB2MjEKICB2MTEgICAg fCBlMTMxICAgfCB2MzMKICB2MTEgICAgfCBlMTMyICAgfCB2MzEKICB2MjIgICAgfCBlMjMxICAg fCB2MzIKQEAgLTUxOSw4ICs1MTksOCBAQCBTRUxFQ1Qgdm4gRlJPTSBhbGxfdmVydGljZXMgRVhD RVBUIChTRUxFQ1Qgc3ZuIEZST00gYWxsX2Nvbm5lY3RlZF92ZXJ0aWNlcyBVTklPTgogU0VMRUNU IHNuLCBjbiwgZG4gRlJPTSBHUkFQSF9UQUJMRSAoZzEgTUFUQ0ggKHNyYyBJUyBsMSktW2Nvbm4g SVMgbDFdLT4oZGVzdCBJUyBsMSkgQ09MVU1OUyAoc3JjLmVsbmFtZSBBUyBzbiwgY29ubi5lbG5h bWUgQVMgY24sIGRlc3QuZWxuYW1lIEFTIGRuKSk7CiAgc24gIHwgIGNuICB8IGRuICAKIC0tLS0t Ky0tLS0tLSstLS0tLQotIHYxMiB8IGUxMjIgfCB2MjEKICB2MTEgfCBlMTIxIHwgdjIyCisgdjEy IHwgZTEyMiB8IHYyMQogIHYxMSB8IGUxMzEgfCB2MzMKICB2MTEgfCBlMTMyIHwgdjMxCiAgdjIy IHwgZTIzMSB8IHYzMgpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9qb2lu Lm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvam9pbi5vdXQKaW5kZXggNGZjY2M3YzQw NTcuLmEwNGU5OWYxZWQ0IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2pv aW4ub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvam9pbi5vdXQKQEAgLTIxOCwx MyArMjE4LDEzIEBAIFNFTEVDVCB0MS5hLCB0Mi5lCiAgIFdIRVJFIHQxLmEgPSB0Mi5kOwogIGEg fCBlICAKIC0tLSstLS0tCi0gMCB8ICAgCiAgMSB8IC0xCiAgMiB8ICAyCi0gMiB8ICA0CiAgMyB8 IC0zCisgMiB8ICA0CiAgNSB8IC01CiAgNSB8IC01CisgMCB8ICAgCiAoNyByb3dzKQogCiAtLQpA QCAtMTU3MywxMyArMTU3MywxMyBAQCBTRUxFQ1QgKgogICBGUk9NIEoxX1RCTCBJTk5FUiBKT0lO IEoyX1RCTCBVU0lORyAoaSk7CiAgaSB8IGogfCAgIHQgICB8IGsgIAogLS0tKy0tLSstLS0tLS0t Ky0tLS0KLSAwIHwgICB8IHplcm8gIHwgICAKICAxIHwgNCB8IG9uZSAgIHwgLTEKICAyIHwgMyB8 IHR3byAgIHwgIDIKLSAyIHwgMyB8IHR3byAgIHwgIDQKICAzIHwgMiB8IHRocmVlIHwgLTMKKyAy IHwgMyB8IHR3byAgIHwgIDQKICA1IHwgMCB8IGZpdmUgIHwgLTUKICA1IHwgMCB8IGZpdmUgIHwg LTUKKyAwIHwgICB8IHplcm8gIHwgICAKICg3IHJvd3MpCiAKIC0tIFNhbWUgYXMgYWJvdmUsIHNs aWdodGx5IGRpZmZlcmVudCBzeW50YXgKQEAgLTE1ODcsMTMgKzE1ODcsMTMgQEAgU0VMRUNUICoK ICAgRlJPTSBKMV9UQkwgSk9JTiBKMl9UQkwgVVNJTkcgKGkpOwogIGkgfCBqIHwgICB0ICAgfCBr ICAKIC0tLSstLS0rLS0tLS0tLSstLS0tCi0gMCB8ICAgfCB6ZXJvICB8ICAgCiAgMSB8IDQgfCBv bmUgICB8IC0xCiAgMiB8IDMgfCB0d28gICB8ICAyCi0gMiB8IDMgfCB0d28gICB8ICA0CiAgMyB8 IDIgfCB0aHJlZSB8IC0zCisgMiB8IDMgfCB0d28gICB8ICA0CiAgNSB8IDAgfCBmaXZlICB8IC01 CiAgNSB8IDAgfCBmaXZlICB8IC01CisgMCB8ICAgfCB6ZXJvICB8ICAgCiAoNyByb3dzKQogCiBT RUxFQ1QgKgpAQCAtMTY4MSwzNSArMTY4MSwzNSBAQCBTRUxFQ1QgKgogICBGUk9NIEoxX1RCTCBO QVRVUkFMIEpPSU4gSjJfVEJMOwogIGkgfCBqIHwgICB0ICAgfCBrICAKIC0tLSstLS0rLS0tLS0t LSstLS0tCi0gMCB8ICAgfCB6ZXJvICB8ICAgCiAgMSB8IDQgfCBvbmUgICB8IC0xCiAgMiB8IDMg fCB0d28gICB8ICAyCi0gMiB8IDMgfCB0d28gICB8ICA0CiAgMyB8IDIgfCB0aHJlZSB8IC0zCisg MiB8IDMgfCB0d28gICB8ICA0CiAgNSB8IDAgfCBmaXZlICB8IC01CiAgNSB8IDAgfCBmaXZlICB8 IC01CisgMCB8ICAgfCB6ZXJvICB8ICAgCiAoNyByb3dzKQogCiBTRUxFQ1QgKgogICBGUk9NIEox X1RCTCB0MSAoYSwgYiwgYykgTkFUVVJBTCBKT0lOIEoyX1RCTCB0MiAoYSwgZCk7CiAgYSB8IGIg fCAgIGMgICB8IGQgIAogLS0tKy0tLSstLS0tLS0tKy0tLS0KLSAwIHwgICB8IHplcm8gIHwgICAK ICAxIHwgNCB8IG9uZSAgIHwgLTEKICAyIHwgMyB8IHR3byAgIHwgIDIKLSAyIHwgMyB8IHR3byAg IHwgIDQKICAzIHwgMiB8IHRocmVlIHwgLTMKKyAyIHwgMyB8IHR3byAgIHwgIDQKICA1IHwgMCB8 IGZpdmUgIHwgLTUKICA1IHwgMCB8IGZpdmUgIHwgLTUKKyAwIHwgICB8IHplcm8gIHwgICAKICg3 IHJvd3MpCiAKIFNFTEVDVCAqCiAgIEZST00gSjFfVEJMIHQxIChhLCBiLCBjKSBOQVRVUkFMIEpP SU4gSjJfVEJMIHQyIChkLCBhKTsKICBhIHwgYiB8ICBjICAgfCBkIAogLS0tKy0tLSstLS0tLS0r LS0tCi0gMCB8ICAgfCB6ZXJvIHwgIAogIDIgfCAzIHwgdHdvICB8IDIKICA0IHwgMSB8IGZvdXIg fCAyCisgMCB8ICAgfCB6ZXJvIHwgIAogKDMgcm93cykKIAogLS0gbWlzbWF0Y2ggbnVtYmVyIG9m IGNvbHVtbnMKQEAgLTE3MTgsMTMgKzE3MTgsMTMgQEAgU0VMRUNUICoKICAgRlJPTSBKMV9UQkwg dDEgKGEsIGIpIE5BVFVSQUwgSk9JTiBKMl9UQkwgdDIgKGEpOwogIGEgfCBiIHwgICB0ICAgfCBr ICAKIC0tLSstLS0rLS0tLS0tLSstLS0tCi0gMCB8ICAgfCB6ZXJvICB8ICAgCiAgMSB8IDQgfCBv bmUgICB8IC0xCiAgMiB8IDMgfCB0d28gICB8ICAyCi0gMiB8IDMgfCB0d28gICB8ICA0CiAgMyB8 IDIgfCB0aHJlZSB8IC0zCisgMiB8IDMgfCB0d28gICB8ICA0CiAgNSB8IDAgfCBmaXZlICB8IC01 CiAgNSB8IDAgfCBmaXZlICB8IC01CisgMCB8ICAgfCB6ZXJvICB8ICAgCiAoNyByb3dzKQogCiAt LQpAQCAtMTczNCwyMiArMTczNCwyMiBAQCBTRUxFQ1QgKgogICBGUk9NIEoxX1RCTCBKT0lOIEoy X1RCTCBPTiAoSjFfVEJMLmkgPSBKMl9UQkwuaSk7CiAgaSB8IGogfCAgIHQgICB8IGkgfCBrICAK IC0tLSstLS0rLS0tLS0tLSstLS0rLS0tLQotIDAgfCAgIHwgemVybyAgfCAwIHwgICAKICAxIHwg NCB8IG9uZSAgIHwgMSB8IC0xCiAgMiB8IDMgfCB0d28gICB8IDIgfCAgMgotIDIgfCAzIHwgdHdv ICAgfCAyIHwgIDQKICAzIHwgMiB8IHRocmVlIHwgMyB8IC0zCisgMiB8IDMgfCB0d28gICB8IDIg fCAgNAogIDUgfCAwIHwgZml2ZSAgfCA1IHwgLTUKICA1IHwgMCB8IGZpdmUgIHwgNSB8IC01Cisg MCB8ICAgfCB6ZXJvICB8IDAgfCAgIAogKDcgcm93cykKIAogU0VMRUNUICoKICAgRlJPTSBKMV9U QkwgSk9JTiBKMl9UQkwgT04gKEoxX1RCTC5pID0gSjJfVEJMLmspOwogIGkgfCBqIHwgIHQgICB8 IGkgfCBrIAogLS0tKy0tLSstLS0tLS0rLS0tKy0tLQotIDAgfCAgIHwgemVybyB8ICAgfCAwCiAg MiB8IDMgfCB0d28gIHwgMiB8IDIKICA0IHwgMSB8IGZvdXIgfCAyIHwgNAorIDAgfCAgIHwgemVy byB8ICAgfCAwCiAoMyByb3dzKQogCiAtLQpAQCAtMTkwOSw4ICsxOTA5LDggQEAgc2VsZWN0ICog ZnJvbSB0ZW5rMSBhLCB0ZW5rMSBiCiB3aGVyZSBleGlzdHMoc2VsZWN0ICogZnJvbSB0ZW5rMSBj CiAgICAgICAgICAgICAgd2hlcmUgYi50d290aG91c2FuZCA9IGMudHdvdGhvdXNhbmQgYW5kIGIu Zml2ZXRob3VzIDw+IGMuZml2ZXRob3VzKQogICAgICAgYW5kIGEudGVudGhvdXMgPSBiLnRlbnRo b3VzIGFuZCBhLnRlbnRob3VzIDwgNTAwMDsKLSAgICAgICAgICAgICAgICAgICAgUVVFUlkgUExB TiAgICAgICAgICAgICAgICAgICAgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQorICAgICAgICAgICAgICAgICAgUVVFUlkgUExBTiAgICAgICAgICAg ICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CiAgSGFzaCBTZW1pIEpvaW4KICAgIEhhc2ggQ29uZDogKGIudHdvdGhvdXNhbmQgPSBjLnR3b3Ro b3VzYW5kKQogICAgSm9pbiBGaWx0ZXI6IChiLmZpdmV0aG91cyA8PiBjLmZpdmV0aG91cykKQEAg LTE5MTgsMTUgKzE5MTgsMTMgQEAgd2hlcmUgZXhpc3RzKHNlbGVjdCAqIGZyb20gdGVuazEgYwog ICAgICAgICAgSGFzaCBDb25kOiAoYi50ZW50aG91cyA9IGEudGVudGhvdXMpCiAgICAgICAgICAt PiAgU2VxIFNjYW4gb24gdGVuazEgYgogICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtl eXM9KHRlbnRob3VzKQotICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDI6IGtleXM9KHR3b3Ro b3VzYW5kKQogICAgICAgICAgLT4gIEhhc2gKICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAx CiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gdGVuazEgYQogICAgICAgICAgICAgICAg ICAgICAgRmlsdGVyOiAodGVudGhvdXMgPCA1MDAwKQogICAgLT4gIEhhc2gKLSAgICAgICAgIEJs b29tIEZpbHRlciAyCiAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gdGVuazEgYwotKDE1IHJvd3Mp CisoMTMgcm93cykKIAogLS0KIC0tIE1vcmUgY29tcGxpY2F0ZWQgY29uc3RydWN0cwpAQCAtMjYw NCwxNCArMjYwMiwxMiBAQCBzZWxlY3QgKiBmcm9tIGludDRfdGJsIHQxCiAgICAgICAgICAgICAg ICBKb2luIEZpbHRlcjogKHQyLmYxID4gMCkKICAgICAgICAgICAgICAgIEZpbHRlcjogKHQzLmYx IElTIE5VTEwpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gaW50NF90YmwgdDIKLSAg ICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPShmMSkKICAgICAgICAgICAg ICAgIC0+ICBNYXRlcmlhbGl6ZQogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9u IGludDRfdGJsIHQzCiAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gdGVuazEgdDQKICAgIC0+ICBI YXNoCi0gICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIGlu dDRfdGJsIHQxCi0oMTUgcm93cykKKygxMyByb3dzKQogCiBleHBsYWluIChjb3N0cyBvZmYpCiBz ZWxlY3QgKiBmcm9tIGludDRfdGJsIHQxCkBAIC0yNjMwLDE1ICsyNjI2LDEzIEBAIHNlbGVjdCAq IGZyb20gaW50NF90YmwgdDEKICAgICAgICAgICAgICAgIEpvaW4gRmlsdGVyOiAodDIuZjEgPiAw KQogICAgICAgICAgICAgICAgRmlsdGVyOiAodDIuZjEgPD4gQ09BTEVTQ0UodDMuZjEsICctMSc6 OmludGVnZXIpKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIGludDRfdGJsIHQyCi0g ICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0oZjEpCiAgICAgICAgICAg ICAgICAtPiAgTWF0ZXJpYWxpemUKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBv biBpbnQ0X3RibCB0MwogICAgICAgICAgLT4gIEhhc2gKLSAgICAgICAgICAgICAgIEJsb29tIEZp bHRlciAxCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gaW50NF90YmwgdDEKICAgIC0+ ICBNYXRlcmlhbGl6ZQogICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHRlbmsxIHQ0Ci0oMTYgcm93 cykKKygxNCByb3dzKQogCiBleHBsYWluIChjb3N0cyBvZmYpCiBzZWxlY3QgKiBmcm9tIG9uZWsg dDEKQEAgLTMxMjYsMTcgKzMxMjAsMTcgQEAgc2V0IGVuYWJsZV9tZW1vaXplIHRvIG9mZjsKIGV4 cGxhaW4gKGNvc3RzIG9mZikKIHNlbGVjdCBjb3VudCgqKSBmcm9tIHRlbmsxIGEsIHRlbmsxIGIK ICAgd2hlcmUgYS5odW5kcmVkID0gYi50aG91c2FuZCBhbmQgKGIuZml2ZXRob3VzICUgMTApIDwg MTA7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgUVVFUlkgUExBTiAgICAgICAgICAgICAgICAg ICAgICAgICAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFFVRVJZIFBMQU4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICBBZ2dyZWdhdGUKICAgIC0+ICBI YXNoIEpvaW4KLSAgICAgICAgIEhhc2ggQ29uZDogKGEuaHVuZHJlZCA9IGIudGhvdXNhbmQpCi0g ICAgICAgICAtPiAgSW5kZXggT25seSBTY2FuIHVzaW5nIHRlbmsxX2h1bmRyZWQgb24gdGVuazEg YQotICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KGh1bmRyZWQpCisgICAgICAg ICBIYXNoIENvbmQ6IChiLnRob3VzYW5kID0gYS5odW5kcmVkKQorICAgICAgICAgLT4gIFNlcSBT Y2FuIG9uIHRlbmsxIGIKKyAgICAgICAgICAgICAgIEZpbHRlcjogKChmaXZldGhvdXMgJSAxMCkg PCAxMCkKKyAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPSh0aG91c2FuZCkKICAg ICAgICAgIC0+ICBIYXNoCiAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQotICAgICAgICAg ICAgICAgLT4gIFNlcSBTY2FuIG9uIHRlbmsxIGIKLSAgICAgICAgICAgICAgICAgICAgIEZpbHRl cjogKChmaXZldGhvdXMgJSAxMCkgPCAxMCkKKyAgICAgICAgICAgICAgIC0+ICBJbmRleCBPbmx5 IFNjYW4gdXNpbmcgdGVuazFfaHVuZHJlZCBvbiB0ZW5rMSBhCiAoOSByb3dzKQogCiBzZWxlY3Qg Y291bnQoKikgZnJvbSB0ZW5rMSBhLCB0ZW5rMSBiCkBAIC0zMTgwLDEzICszMTc0LDExIEBAIE9S REVSIEJZIDE7CiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6IChiLmYxID0gYy5mMSkKICAgICAg ICAgICAgICAgIEZpbHRlcjogKENPQUxFU0NFKGMuZjEsIDApID0gMCkKICAgICAgICAgICAgICAg IC0+ICBTZXEgU2NhbiBvbiB0dDMgYgotICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVy IDE6IGtleXM9KGYxKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKICAgICAgICAgICAgICAgICAg ICAgIC0+ICBTZXEgU2NhbiBvbiB0dDMgYwogICAgICAgICAgLT4gIEhhc2gKLSAgICAgICAgICAg ICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gdHQ0IGEK LSgxNSByb3dzKQorKDEzIHJvd3MpCiAKIFNFTEVDVCBhLmYxCiBGUk9NIHR0NCBhCkBAIC0zMjI0 LDEyICszMjE2LDEwIEBAIHdoZXJlIHQxLmZpbHQgPSA1OwogIEhhc2ggSm9pbgogICAgSGFzaCBD b25kOiAodDIudmFsID0gdDEudmFsKQogICAgLT4gIFNlcSBTY2FuIG9uIHNrZXdlZHRhYmxlIHQy Ci0gICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0odmFsKQogICAgLT4gIEhhc2gKLSAgICAg ICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gc2tld2VkdGFibGUg dDEKICAgICAgICAgICAgICAgIEZpbHRlcjogKGZpbHQgPSA1KQotKDggcm93cykKKyg2IHJvd3Mp CiAKIGRyb3AgdGFibGUgc2tld2VkdGFibGU7CiAtLQpAQCAtMzI0MywxMSArMzIzMyw5IEBAIHdo ZXJlIHVuaXF1ZTEgaW4gKHNlbGVjdCB1bmlxdWUyIGZyb20gdGVuazEgYik7CiAgSGFzaCBTZW1p IEpvaW4KICAgIEhhc2ggQ29uZDogKGEudW5pcXVlMSA9IGIudW5pcXVlMikKICAgIC0+ICBTZXEg U2NhbiBvbiB0ZW5rMSBhCi0gICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0odW5pcXVlMSkK ICAgIC0+ICBIYXNoCi0gICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgLT4gIEluZGV4 IE9ubHkgU2NhbiB1c2luZyB0ZW5rMV91bmlxdWUyIG9uIHRlbmsxIGIKLSg3IHJvd3MpCisoNSBy b3dzKQogCiAtLSBzYWRseSwgdGhpcyBpcyBub3QgYW4gYW50aWpvaW4KIGV4cGxhaW4gKGNvc3Rz IG9mZikKQEAgLTMyNjksMTEgKzMyNTcsOSBAQCB3aGVyZSBleGlzdHMgKHNlbGVjdCAxIGZyb20g dGVuazEgYiB3aGVyZSBhLnVuaXF1ZTEgPSBiLnVuaXF1ZTIpOwogIEhhc2ggU2VtaSBKb2luCiAg ICBIYXNoIENvbmQ6IChhLnVuaXF1ZTEgPSBiLnVuaXF1ZTIpCiAgICAtPiAgU2VxIFNjYW4gb24g dGVuazEgYQotICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KHVuaXF1ZTEpCiAgICAtPiAg SGFzaAotICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgIC0+ICBJbmRleCBPbmx5IFNj YW4gdXNpbmcgdGVuazFfdW5pcXVlMiBvbiB0ZW5rMSBiCi0oNyByb3dzKQorKDUgcm93cykKIAog ZXhwbGFpbiAoY29zdHMgb2ZmKQogc2VsZWN0IGEuKiBmcm9tIHRlbmsxIGEKQEAgLTMzMDYsMTcg KzMyOTIsMTUgQEAgc2VsZWN0IDEgZnJvbSB0ZW5rMQogd2hlcmUgKGh1bmRyZWQsIHRob3VzYW5k KSBpbiAoc2VsZWN0IHR3b3Rob3VzYW5kLCB0d290aG91c2FuZCBmcm9tIG9uZWspOwogICAgICAg ICAgICAgICAgICAgIFFVRVJZIFBMQU4gICAgICAgICAgICAgICAgICAgIAogLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIEhhc2ggSm9pbgotICAgSGFz aCBDb25kOiAodGVuazEuaHVuZHJlZCA9IG9uZWsudHdvdGhvdXNhbmQpCi0gICAtPiAgU2VxIFNj YW4gb24gdGVuazEKLSAgICAgICAgIEZpbHRlcjogKGh1bmRyZWQgPSB0aG91c2FuZCkKLSAgICAg ICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPShodW5kcmVkKQorIEhhc2ggUmlnaHQgU2VtaSBKb2lu CisgICBIYXNoIENvbmQ6IChvbmVrLnR3b3Rob3VzYW5kID0gdGVuazEuaHVuZHJlZCkKKyAgIC0+ ICBTZXEgU2NhbiBvbiBvbmVrCisgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0odHdvdGhv dXNhbmQpCiAgICAtPiAgSGFzaAogICAgICAgICAgQmxvb20gRmlsdGVyIDEKLSAgICAgICAgIC0+ ICBIYXNoQWdncmVnYXRlCi0gICAgICAgICAgICAgICBHcm91cCBLZXk6IG9uZWsudHdvdGhvdXNh bmQKLSAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBvbmVrCi0oMTAgcm93cykKKyAgICAg ICAgIC0+ICBTZXEgU2NhbiBvbiB0ZW5rMQorICAgICAgICAgICAgICAgRmlsdGVyOiAoaHVuZHJl ZCA9IHRob3VzYW5kKQorKDggcm93cykKIAogcmVzZXQgZW5hYmxlX21lbW9pemU7CiAtLQpAQCAt MzMzMywxOSArMzMxNywxNyBAQCB3aGVyZSB0Mi5hIGlzIG51bGw7CiAgSGFzaCBSaWdodCBBbnRp IEpvaW4KICAgIEhhc2ggQ29uZDogKHQyLmIgPSB0MS51bmlxdWUxKQogICAgLT4gIFNlcSBTY2Fu IG9uIHRibF9hbnRpIHQyCi0gICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0oYikKICAgIC0+ ICBIYXNoCi0gICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgLT4gIFNlcSBTY2FuIG9u IHRlbmsxIHQxCi0oNyByb3dzKQorKDUgcm93cykKIAogLS0gdGhpcyBpcyBhbiBhbnRpam9pbiwg YXMgdDIuYSBpcyBub24tbnVsbCBmb3IgYW55IG1hdGNoaW5nIHJvdwogZXhwbGFpbiAoY29zdHMg b2ZmKQogc2VsZWN0ICogZnJvbSB0ZW5rMSB0MSBsZWZ0IGpvaW4KICAgKHRibF9hbnRpIHQyIGxl ZnQgam9pbiB0YmxfYW50aSB0MyBvbiB0Mi5jID0gdDMuYykgb24gdDEudW5pcXVlMSA9IHQyLmIK IHdoZXJlIHQyLmEgaXMgbnVsbDsKLSAgICAgICAgICAgICAgICAgIFFVRVJZIFBMQU4gICAgICAg ICAgICAgICAgICAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KKyAgICAgICAgICAgICAgICBRVUVSWSBQTEFOICAgICAgICAgICAgICAgICAKKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICBIYXNoIFJpZ2h0IEFudGkgSm9p bgogICAgSGFzaCBDb25kOiAodDIuYiA9IHQxLnVuaXF1ZTEpCiAgICAtPiAgTWVyZ2UgTGVmdCBK b2luCkBAIC0zMzUzLDIyICszMzM1LDIwIEBAIHdoZXJlIHQyLmEgaXMgbnVsbDsKICAgICAgICAg IC0+ICBTb3J0CiAgICAgICAgICAgICAgICBTb3J0IEtleTogdDIuYwogICAgICAgICAgICAgICAg LT4gIFNlcSBTY2FuIG9uIHRibF9hbnRpIHQyCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBG aWx0ZXIgMToga2V5cz0oYikKICAgICAgICAgIC0+ICBTb3J0CiAgICAgICAgICAgICAgICBTb3J0 IEtleTogdDMuYwogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHRibF9hbnRpIHQzCiAg ICAtPiAgSGFzaAotICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgIC0+ICBTZXEgU2Nh biBvbiB0ZW5rMSB0MQotKDE0IHJvd3MpCisoMTIgcm93cykKIAogLS0gdGhpcyBpcyBub3QgYW4g YW50aWpvaW4sIGFzIHQzLmEgY2FuIGJlIG51bGxlZCBieSB0Mi90MyBqb2luCiBleHBsYWluIChj b3N0cyBvZmYpCiBzZWxlY3QgKiBmcm9tIHRlbmsxIHQxIGxlZnQgam9pbgogICAodGJsX2FudGkg dDIgbGVmdCBqb2luIHRibF9hbnRpIHQzIG9uIHQyLmMgPSB0My5jKSBvbiB0MS51bmlxdWUxID0g dDIuYgogd2hlcmUgdDMuYSBpcyBudWxsOwotICAgICAgICAgICAgICAgICAgUVVFUlkgUExBTiAg ICAgICAgICAgICAgICAgIAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQorICAgICAgICAgICAgICAgIFFVRVJZIFBMQU4gICAgICAgICAgICAgICAgIAorLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIEhhc2ggUmlnaHQgSm9p bgogICAgSGFzaCBDb25kOiAodDIuYiA9IHQxLnVuaXF1ZTEpCiAgICBGaWx0ZXI6ICh0My5hIElT IE5VTEwpCkBAIC0zMzc3LDE0ICszMzU3LDEyIEBAIHdoZXJlIHQzLmEgaXMgbnVsbDsKICAgICAg ICAgIC0+ICBTb3J0CiAgICAgICAgICAgICAgICBTb3J0IEtleTogdDIuYwogICAgICAgICAgICAg ICAgLT4gIFNlcSBTY2FuIG9uIHRibF9hbnRpIHQyCi0gICAgICAgICAgICAgICAgICAgICBCbG9v bSBGaWx0ZXIgMToga2V5cz0oYikKICAgICAgICAgIC0+ICBTb3J0CiAgICAgICAgICAgICAgICBT b3J0IEtleTogdDMuYwogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHRibF9hbnRpIHQz CiAgICAtPiAgSGFzaAotICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgIC0+ICBTZXEg U2NhbiBvbiB0ZW5rMSB0MQotKDE1IHJvd3MpCisoMTMgcm93cykKIAogcm9sbGJhY2s7CiAtLQpA QCAtMzM5OCwxMSArMzM3Niw5IEBAIHdoZXJlIGV4aXN0cyAoc2VsZWN0IDEgZnJvbSB0ZW5rMSBi IHdoZXJlIGEudW5pcXVlMSA9IGIudW5pcXVlMiBncm91cCBieSBiLnVuaXF1CiAgSGFzaCBTZW1p IEpvaW4KICAgIEhhc2ggQ29uZDogKGEudW5pcXVlMSA9IGIudW5pcXVlMikKICAgIC0+ICBTZXEg U2NhbiBvbiB0ZW5rMSBhCi0gICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0odW5pcXVlMSkK ICAgIC0+ICBIYXNoCi0gICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgLT4gIEluZGV4 IE9ubHkgU2NhbiB1c2luZyB0ZW5rMV91bmlxdWUyIG9uIHRlbmsxIGIKLSg3IHJvd3MpCisoNSBy b3dzKQogCiAtLQogLS0gcmVncmVzc2lvbiB0ZXN0IGZvciBwcm9wZXIgaGFuZGxpbmcgb2Ygb3V0 ZXIgam9pbnMgd2l0aGluIGFudGlqb2lucwpAQCAtMzU3MiwxNCArMzU0OCwxNiBAQCBjcmVhdGUg dGVtcCB0YWJsZSB0aWR2IChpZHYgbXljb21wdHlwZSk7CiBjcmVhdGUgaW5kZXggb24gdGlkdiAo aWR2KTsKIGV4cGxhaW4gKGNvc3RzIG9mZikKIHNlbGVjdCBhLmlkdiwgYi5pZHYgZnJvbSB0aWR2 IGEsIHRpZHYgYiB3aGVyZSBhLmlkdiA9IGIuaWR2OwotICAgICAgICAgICAgICAgICAgICAgICAg UVVFUlkgUExBTiAgICAgICAgICAgICAgICAgICAgICAgIAotLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIE1lcmdlIEpvaW4KLSAgIE1l cmdlIENvbmQ6IChhLmlkdiA9IGIuaWR2KQotICAgLT4gIEluZGV4IE9ubHkgU2NhbiB1c2luZyB0 aWR2X2lkdl9pZHggb24gdGlkdiBhCi0gICAtPiAgTWF0ZXJpYWxpemUKLSAgICAgICAgIC0+ICBJ bmRleCBPbmx5IFNjYW4gdXNpbmcgdGlkdl9pZHZfaWR4IG9uIHRpZHYgYgotKDUgcm93cykKKyAg ICAgICAgICAgICBRVUVSWSBQTEFOICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCisgSGFzaCBKb2luCisgICBIYXNoIENvbmQ6IChhLmlkdiA9IGIuaWR2 KQorICAgLT4gIFNlcSBTY2FuIG9uIHRpZHYgYQorICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtl eXM9KGlkdikKKyAgIC0+ICBIYXNoCisgICAgICAgICBCbG9vbSBGaWx0ZXIgMQorICAgICAgICAg LT4gIFNlcSBTY2FuIG9uIHRpZHYgYgorKDcgcm93cykKIAogc2V0IGVuYWJsZV9tZXJnZWpvaW4g PSAwOwogc2V0IGVuYWJsZV9oYXNoam9pbiA9IDA7CkBAIC00MDE5LDEzICszOTk3LDExIEBAIHdo ZXJlIHExID0gdGhvdXNhbmQgb3IgcTIgPSB0aG91c2FuZDsKICAgICAgICAgICAgICAgIC0+ICBT ZXEgU2NhbiBvbiBxMgogICAgICAgICAgLT4gIEJpdG1hcCBIZWFwIFNjYW4gb24gdGVuazEKICAg ICAgICAgICAgICAgIFJlY2hlY2sgQ29uZDogKChxMS5xMSA9IHRob3VzYW5kKSBPUiAocTIucTIg PSB0aG91c2FuZCkpCi0gICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0odHdvdGhv dXNhbmQpCiAgICAgICAgICAgICAgICAtPiAgQml0bWFwIEluZGV4IFNjYW4gb24gdGVuazFfdGhv dXNfdGVudGhvdXMKICAgICAgICAgICAgICAgICAgICAgIEluZGV4IENvbmQ6ICh0aG91c2FuZCA9 IEFOWSAoQVJSQVlbcTEucTEsIHEyLnEyXSkpCiAgICAtPiAgSGFzaAotICAgICAgICAgQmxvb20g RmlsdGVyIDEKICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBpbnQ0X3RibAotKDE0IHJvd3MpCiso MTIgcm93cykKIAogZXhwbGFpbiAoY29zdHMgb2ZmKQogc2VsZWN0ICogZnJvbQpAQCAtNDA0Miwx MyArNDAxOCwxMSBAQCB3aGVyZSB0aG91c2FuZCA9IChxMSArIHEyKTsKICAgICAgICAgICAgICAg IC0+ICBTZXEgU2NhbiBvbiBxMgogICAgICAgICAgLT4gIEJpdG1hcCBIZWFwIFNjYW4gb24gdGVu azEKICAgICAgICAgICAgICAgIFJlY2hlY2sgQ29uZDogKHRob3VzYW5kID0gKHExLnExICsgcTIu cTIpKQotICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KHR3b3Rob3VzYW5kKQog ICAgICAgICAgICAgICAgLT4gIEJpdG1hcCBJbmRleCBTY2FuIG9uIHRlbmsxX3Rob3VzX3RlbnRo b3VzCiAgICAgICAgICAgICAgICAgICAgICBJbmRleCBDb25kOiAodGhvdXNhbmQgPSAocTEucTEg KyBxMi5xMikpCiAgICAtPiAgSGFzaAotICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAg IC0+ICBTZXEgU2NhbiBvbiBpbnQ0X3RibAotKDE0IHJvd3MpCisoMTIgcm93cykKIAogLS0KIC0t IHRlc3QgYWJpbGl0eSB0byBnZW5lcmF0ZSBhIHN1aXRhYmxlIHBsYW4gZm9yIGEgc3Rhci1zY2hl bWEgcXVlcnkKQEAgLTQxNTQsMTAgKzQxMjgsOCBAQCB3aGVyZSB0MS51bmlxdWUxIDwgaTQuZjE7 CiAgICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0Mi50ZW4gPSB0MS50ZW50aG91cykK ICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMudGVuazEgdDIKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDIudW5pcXVlMSwgdDIudW5pcXVlMiwg dDIudHdvLCB0Mi5mb3VyLCB0Mi50ZW4sIHQyLnR3ZW50eSwgdDIuaHVuZHJlZCwgdDIudGhvdXNh bmQsIHQyLnR3b3Rob3VzYW5kLCB0Mi5maXZldGhvdXMsIHQyLnRlbnRob3VzLCB0Mi5vZGQsIHQy LmV2ZW4sIHQyLnN0cmluZ3UxLCB0Mi5zdHJpbmd1MiwgdDIuc3RyaW5nNAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KHQyLnRlbikKICAgICAgICAgICAg ICAgICAgICAgIC0+ICBIYXNoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQx LnRlbnRob3VzLCB0MS51bmlxdWUxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBG aWx0ZXIgMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIE5lc3RlZCBMb29wCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQxLnRlbnRob3VzLCB0MS51bmlx dWUxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU3VicXVlcnkgU2NhbiBv biBzczAKQEAgLTQxNzMsNyArNDE0NSw3IEBAIHdoZXJlIHQxLnVuaXF1ZTEgPCBpNC5mMTsKICAg ICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuaW50OF90YmwgaTgKICAgICAgICAgICAgICAg IE91dHB1dDogaTgucTEsIGk4LnEyCiAgICAgICAgICAgICAgICBGaWx0ZXI6IChpOC5xMSA9ICgo NjQpOjppbmZvcm1hdGlvbl9zY2hlbWEuY2FyZGluYWxfbnVtYmVyKTo6aW50ZWdlcikKLSgzNSBy b3dzKQorKDMzIHJvd3MpCiAKIHNlbGVjdCBzczEuZDEgZnJvbQogICB0ZW5rMSBhcyB0MQpAQCAt NTI3MCw3ICs1MjQyLDYgQEAgb3JkZXIgYnkgaTAuZjEsIHg7CiAgICAgICAgICAgICAgICBPdXRw dXQ6IGkxLmYxLCBpMi5xMSwgaTIucTIsICcxMjMnOjpiaWdpbnQKICAgICAgICAgICAgICAgIC0+ ICBTZXEgU2NhbiBvbiBwdWJsaWMuaW50NF90YmwgaTEKICAgICAgICAgICAgICAgICAgICAgIE91 dHB1dDogaTEuZjEKLSAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPShp MS5mMSkKICAgICAgICAgICAgICAgIC0+ICBNYXRlcmlhbGl6ZQogICAgICAgICAgICAgICAgICAg ICAgT3V0cHV0OiBpMi5xMSwgaTIucTIKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2Nh biBvbiBwdWJsaWMuaW50OF90YmwgaTIKQEAgLTUyNzgsMTAgKzUyNDksOSBAQCBvcmRlciBieSBp MC5mMSwgeDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKDEyMyA9IGkyLnEy KQogICAgICAgICAgLT4gIEhhc2gKICAgICAgICAgICAgICAgIE91dHB1dDogaTAuZjEKLSAgICAg ICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24g cHVibGljLmludDRfdGJsIGkwCiAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IGkwLmYxCi0o MjEgcm93cykKKygxOSByb3dzKQogCiBzZWxlY3QgKiBmcm9tCiBpbnQ0X3RibCBpMCBsZWZ0IGpv aW4KQEAgLTUzMzUsMTAgKzUzMDUsOCBAQCBzZWxlY3QgdDEuKiBmcm9tCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBIYXNoIENvbmQ6IChpOC5xMSA9IGk4YjIucTEpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmludDhfdGJsIGk4CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IGk4LnExLCBpOC5xMgotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KGk4LnExKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIE91dHB1dDogaThiMi5xMSwgKE5VTEw6OmludGVnZXIpCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5pbnQ4X3RibCBpOGIyCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IGk4YjIucTEsIE5VTEw6Omlu dGVnZXIKICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoCkBAIC01MzQ5LDcgKzUzMTcsNyBA QCBzZWxlY3QgdDEuKiBmcm9tCiAgICAgICAgICBPdXRwdXQ6IGk0LmYxCiAgICAgICAgICAtPiAg U2VxIFNjYW4gb24gcHVibGljLmludDRfdGJsIGk0CiAgICAgICAgICAgICAgICBPdXRwdXQ6IGk0 LmYxCi0oMzIgcm93cykKKygzMCByb3dzKQogCiBzZWxlY3QgdDEuKiBmcm9tCiAgIHRleHRfdGJs IHQxCkBAIC01NDAwLDEyICs1MzY4LDEwIEBAIHNlbGVjdCB0MS4qIGZyb20KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogaThiMi5xMSwgTlVMTDo6aW50ZWdlcgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5pbnQ4 X3RibCBpOGIyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6 IGk4YjIucTEsIGk4YjIucTIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IEJsb29tIEZpbHRlciAxOiBrZXlzPShpOGIyLnExKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLT4gIE1hdGVyaWFsaXplCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmludDRfdGJsIGk0YjIKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIC0+ICBIYXNoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBPdXRwdXQ6IGk4LnExLCBpOC5xMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Qmxvb20gRmlsdGVyIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEg U2NhbiBvbiBwdWJsaWMuaW50OF90YmwgaTgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIE91dHB1dDogaTgucTEsIGk4LnEyCiAgICAgICAgICAgICAgICAgICAgICAtPiAg SGFzaApAQCAtNTQxNiw3ICs1MzgyLDcgQEAgc2VsZWN0IHQxLiogZnJvbQogICAgICAgICAgT3V0 cHV0OiBpNC5mMQogICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5pbnQ0X3RibCBpNAog ICAgICAgICAgICAgICAgT3V0cHV0OiBpNC5mMQotKDM2IHJvd3MpCisoMzQgcm93cykKIAogc2Vs ZWN0IHQxLiogZnJvbQogICB0ZXh0X3RibCB0MQpAQCAtNTQ2OSwxNiArNTQzNSwxMiBAQCBzZWxl Y3QgdDEuKiBmcm9tCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6 IChpOGIyLnExID0gaTRiMi5mMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ ICBTZXEgU2NhbiBvbiBwdWJsaWMuaW50OF90YmwgaThiMgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgT3V0cHV0OiBpOGIyLnExLCBpOGIyLnEyCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0oaThiMi5xMSkK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyOiBr ZXlzPShpOGIyLnExKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogaTRiMi5mMQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJs aWMuaW50NF90YmwgaTRiMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgT3V0cHV0OiBpNGIyLmYxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFz aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiBpOC5xMSwgaTgucTIK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmludDhfdGJs IGk4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IGk4LnEx LCBpOC5xMgogICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKQEAgLTU0ODksNyArNTQ1MSw3 IEBAIHNlbGVjdCB0MS4qIGZyb20KICAgICAgICAgIE91dHB1dDogaTQuZjEKICAgICAgICAgIC0+ ICBTZXEgU2NhbiBvbiBwdWJsaWMuaW50NF90YmwgaTQKICAgICAgICAgICAgICAgIE91dHB1dDog aTQuZjEKLSg0MSByb3dzKQorKDM3IHJvd3MpCiAKIHNlbGVjdCB0MS4qIGZyb20KICAgdGV4dF90 YmwgdDEKQEAgLTU4NDAsMTcgKzU4MDIsMTUgQEAgd2hlcmUgc3MxLmMyID0gMDsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGk0My5mMSA9IDApCiAgICAgICAgICAgICAgICAt PiAgU2VxIFNjYW4gb24gcHVibGljLmludDRfdGJsIGk0MQogICAgICAgICAgICAgICAgICAgICAg T3V0cHV0OiBpNDEuZjEKLSAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlz PShpNDEuZjEpCiAgICAgICAgICAtPiAgSGFzaAogICAgICAgICAgICAgICAgT3V0cHV0OiBpNDIu ZjEKLSAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAtPiAgU2Vx IFNjYW4gb24gcHVibGljLmludDRfdGJsIGk0MgogICAgICAgICAgICAgICAgICAgICAgT3V0cHV0 OiBpNDIuZjEKICAgIC0+ICBMaW1pdAogICAgICAgICAgT3V0cHV0OiAoaTQxLmYxKSwgKGk4LnEx KSwgKGk4LnEyKSwgKGk0Mi5mMSksIChpNDMuZjEpLCAoKDQyKSkKICAgICAgICAgIC0+ICBTZXEg U2NhbiBvbiBwdWJsaWMudGV4dF90YmwKICAgICAgICAgICAgICAgIE91dHB1dDogaTQxLmYxLCBp OC5xMSwgaTgucTIsIGk0Mi5mMSwgaTQzLmYxLCAoNDIpCi0oMjcgcm93cykKKygyNSByb3dzKQog CiBzZWxlY3Qgc3MyLiogZnJvbQogICBpbnQ0X3RibCBpNDEKQEAgLTU5NzYsMTkgKzU5MzYsMTkg QEAgZXhwbGFpbiAoY29zdHMgb2ZmKQogc2VsZWN0IGEudW5pcXVlMSwgYi51bmlxdWUyCiAgIGZy b20gb25layBhIGxlZnQgam9pbiBvbmVrIGIgb24gYS51bmlxdWUxID0gYi51bmlxdWUyCiAgIHdo ZXJlIChiLnVuaXF1ZTIsIHJhbmRvbSgpID4gMCkgPSBhbnkgKHNlbGVjdCBxMSwgcmFuZG9tKCkg PiAwIGZyb20gaW50OF90YmwgYyB3aGVyZSBjLnExIDwgYi51bmlxdWUxKTsKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUVVFUlkgUExBTiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBRVUVSWSBQTEFOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgSGFzaCBKb2luCi0gICBI YXNoIENvbmQ6IChiLnVuaXF1ZTIgPSBhLnVuaXF1ZTEpCi0gICAtPiAgU2VxIFNjYW4gb24gb25l ayBiCi0gICAgICAgICBGaWx0ZXI6IChBTlkgKCh1bmlxdWUyID0gKFN1YlBsYW4gYW55XzEpLmNv bDEpIEFORCAoKHJhbmRvbSgpID4gJzAnOjpkb3VibGUgcHJlY2lzaW9uKSA9IChTdWJQbGFuIGFu eV8xKS5jb2wyKSkpCi0gICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0odW5pcXVlMikKLSAg ICAgICAgIFN1YlBsYW4gYW55XzEKLSAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIGludDhfdGJs IGMKLSAgICAgICAgICAgICAgICAgRmlsdGVyOiAocTEgPCBiLnVuaXF1ZTEpCisgICBIYXNoIENv bmQ6IChhLnVuaXF1ZTEgPSBiLnVuaXF1ZTIpCisgICAtPiAgSW5kZXggT25seSBTY2FuIHVzaW5n IG9uZWtfdW5pcXVlMSBvbiBvbmVrIGEKKyAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPSh1 bmlxdWUxKQogICAgLT4gIEhhc2gKICAgICAgICAgIEJsb29tIEZpbHRlciAxCi0gICAgICAgICAt PiAgSW5kZXggT25seSBTY2FuIHVzaW5nIG9uZWtfdW5pcXVlMSBvbiBvbmVrIGEKKyAgICAgICAg IC0+ICBTZXEgU2NhbiBvbiBvbmVrIGIKKyAgICAgICAgICAgICAgIEZpbHRlcjogKEFOWSAoKHVu aXF1ZTIgPSAoU3ViUGxhbiBhbnlfMSkuY29sMSkgQU5EICgocmFuZG9tKCkgPiAnMCc6OmRvdWJs ZSBwcmVjaXNpb24pID0gKFN1YlBsYW4gYW55XzEpLmNvbDIpKSkKKyAgICAgICAgICAgICAgIFN1 YlBsYW4gYW55XzEKKyAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIGludDhfdGJsIGMK KyAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAocTEgPCBiLnVuaXF1ZTEpCiAoMTEgcm93 cykKIAogc2VsZWN0IGEudW5pcXVlMSwgYi51bmlxdWUyCkBAIC02MTQyLDE2ICs2MTAyLDE0IEBA IGV4cGxhaW4gKGNvc3RzIG9mZikKIHNlbGVjdCBpZCBmcm9tIGEgd2hlcmUgaWQgaW4gKAogCXNl bGVjdCBiLmlkIGZyb20gYiBsZWZ0IGpvaW4gYyBvbiBiLmlkID0gYy5pZAogKTsKLSAgICAgICAg ICAgIFFVRVJZIFBMQU4gICAgICAgICAgICAgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQorICAgICAgICAgUVVFUlkgUExBTiAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQogIEhhc2ggSm9pbgogICAgSGFzaCBDb25kOiAoYS5pZCA9IGIuaWQpCiAgICAt PiAgU2VxIFNjYW4gb24gYQotICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KGlkKQogICAg LT4gIEhhc2gKLSAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAtPiAgU2VxIFNjYW4g b24gYgotKDcgcm93cykKKyg1IHJvd3MpCiAKIC0tIGNoZWNrIG9wdGltaXphdGlvbiB3aXRoIG9k ZGx5LW5lc3RlZCBvdXRlciBqb2lucwogZXhwbGFpbiAoY29zdHMgb2ZmKQpAQCAtNjU3NCwxOCAr NjUzMiwxNiBAQCBleHBsYWluIChjb3N0cyBvZmYpCiBzZWxlY3QgYy5pZCwgc3MuYSBmcm9tIGMK ICAgbGVmdCBqb2luIChzZWxlY3QgZC5hIGZyb20gb25lcm93LCBkIGxlZnQgam9pbiBiIG9uIGQu YSA9IGIuaWQpIHNzCiAgIG9uIGMuaWQgPSBzcy5hOwotICAgICAgICAgICAgICAgUVVFUlkgUExB TiAgICAgICAgICAgICAgIAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQorICAgICAgICAgICBRVUVSWSBQTEFOICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCiAgSGFzaCBSaWdodCBKb2luCiAgICBIYXNoIENvbmQ6IChkLmEgPSBjLmlk KQogICAgLT4gIE5lc3RlZCBMb29wCiAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gb25lcm93CiAg ICAgICAgICAtPiAgU2VxIFNjYW4gb24gZAotICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6 IGtleXM9KGEpCiAgICAtPiAgSGFzaAotICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAg IC0+ICBTZXEgU2NhbiBvbiBjCi0oOSByb3dzKQorKDcgcm93cykKIAogLS0gY2hlY2sgdGhlIGNh c2Ugd2hlbiB0aGUgcGxhY2Vob2xkZXIgcmVsYXRlcyB0byBhbiBvdXRlciBqb2luIGFuZCBpdHMK IC0tIGlubmVyIGluIHRoZSBwcmVzcyBmaWVsZCBidXQgYWN0dWFsbHkgdXNlcyBvbmx5IHRoZSBv dXRlciBzaWRlIG9mIHRoZSBqb2luCkBAIC04MjU0LDMzICs4MjEwLDMyIEBAIEpPSU4gKAogCQkp CiAJKSBfdDJ0M3Q0CiBPTiBzal90MS5pZCA9IF90MnQzdDQuaWQ7Ci0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgUVVFUlkgUExBTiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgUVVFUlkgUExBTiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CiAgTmVzdGVkIExvb3AKLSAgIEpvaW4gRmlsdGVyOiAoc2pfdDMuaWQgPSBzal90MS5pZCkKKyAg IEpvaW4gRmlsdGVyOiAoc2pfdDEuaWQgPSBzal90My5pZCkKICAgIC0+ICBOZXN0ZWQgTG9vcAot ICAgICAgICAgSm9pbiBGaWx0ZXI6IChzal90Mi5pZCA9IHNqX3QzLmlkKQotICAgICAgICAgLT4g IE5lc3RlZCBMb29wIFNlbWkgSm9pbgorICAgICAgICAgSm9pbiBGaWx0ZXI6IChzal90My5pZCA9 IHNqX3QyXzEuaWQpCisgICAgICAgICAtPiAgTmVzdGVkIExvb3AKKyAgICAgICAgICAgICAgIEpv aW4gRmlsdGVyOiAoc2pfdDIuaWQgPSBzal90My5pZCkKICAgICAgICAgICAgICAgIC0+ICBOZXN0 ZWQgTG9vcAotICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2hBZ2dyZWdhdGUKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgIEdyb3VwIEtleTogc2pfdDMuaWQKKyAgICAgICAgICAgICAgICAg ICAgIC0+ICBVbmlxdWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBOZXN0ZWQgTG9v cAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIEluZGV4IE9ubHkgU2NhbiB1 c2luZyBzal90M19hX2lkX2lkeCBvbiBzal90MyBzal90M18xCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBJbmRleCBDb25kOiAoYSA9IDEpCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gc2pfdDQgc2pfdDRfMQorICAgICAgICAg ICAgICAgICAgICAgLT4gIEluZGV4IE9ubHkgU2NhbiB1c2luZyBzal90Ml9pZF9pZHggb24gc2pf dDIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEluZGV4IENvbmQ6IChpZCA9IHNqX3QzXzEu aWQpCisgICAgICAgICAgICAgICAtPiAgTWF0ZXJpYWxpemUKKyAgICAgICAgICAgICAgICAgICAg IC0+ICBVbmlxdWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBOZXN0ZWQgTG9vcAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIEluZGV4IE9ubHkgU2NhbiB1c2lu ZyBzal90M19hX2lkX2lkeCBvbiBzal90MworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgSW5kZXggQ29uZDogKGEgPSAxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgLT4gIFNlcSBTY2FuIG9uIHNqX3Q0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAtPiAgTWF0ZXJpYWxpemUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIC0+ICBCaXRtYXAgSGVhcCBTY2FuIG9uIHNqX3QzCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBSZWNoZWNrIENvbmQ6IChhID0gMSkKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBCaXRtYXAgSW5kZXggU2NhbiBv biBzal90M19hX2lkX2lkeAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgSW5kZXggQ29uZDogKGEgPSAxKQotICAgICAgICAgICAgICAgICAgICAgLT4g IEluZGV4IE9ubHkgU2NhbiB1c2luZyBzal90Ml9pZF9pZHggb24gc2pfdDIgc2pfdDJfMQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgSW5kZXggQ29uZDogKGlkID0gc2pfdDMuaWQpCi0gICAg ICAgICAgICAgICAtPiAgTmVzdGVkIExvb3AKLSAgICAgICAgICAgICAgICAgICAgIC0+ICBJbmRl eCBPbmx5IFNjYW4gdXNpbmcgc2pfdDNfYV9pZF9pZHggb24gc2pfdDMgc2pfdDNfMQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgSW5kZXggQ29uZDogKChhID0gMSkgQU5EIChpZCA9IHNqX3Qz LmlkKSkKLSAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBzal90NCBzal90NF8x Ci0gICAgICAgICAtPiAgSW5kZXggT25seSBTY2FuIHVzaW5nIHNqX3QyX2lkX2lkeCBvbiBzal90 MgotICAgICAgICAgICAgICAgSW5kZXggQ29uZDogKGlkID0gc2pfdDJfMS5pZCkKKyAgICAgICAg IC0+ICBJbmRleCBPbmx5IFNjYW4gdXNpbmcgc2pfdDJfaWRfaWR4IG9uIHNqX3QyIHNqX3QyXzEK KyAgICAgICAgICAgICAgIEluZGV4IENvbmQ6IChpZCA9IHNqX3QyLmlkKQogICAgLT4gIFNlcSBT Y2FuIG9uIHNqX3QxCi0oMjQgcm93cykKKygyMyByb3dzKQogCiAtLQogLS0gVGVzdCBSb3dNYXJr cy1yZWxhdGVkIGNvZGUKQEAgLTkxNDMsMTUgKzkwOTgsMTMgQEAgc2VsZWN0ICogZnJvbQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiBiLnExLCBDT0FMRVNDRShiLnEy LCAnNDInOjpiaWdpbnQpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmlu dDhfdGJsIGQKICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogZC5xMSwgQ09BTEVTQ0UoKENP QUxFU0NFKGIucTIsICc0Mic6OmJpZ2ludCkpLCBkLnEyKQotICAgICAgICAgICAgICAgICAgICAg Qmxvb20gRmlsdGVyIDE6IGtleXM9KGQucTEpCiAgICAgICAgICAtPiAgSGFzaAogICAgICAgICAg ICAgICAgT3V0cHV0OiBjLnExLCBjLnEyCi0gICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQog ICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5pbnQ4X3RibCBjCiAgICAgICAg ICAgICAgICAgICAgICBPdXRwdXQ6IGMucTEsIGMucTIKICAgIC0+ICBSZXN1bHQKICAgICAgICAg IE91dHB1dDogKENPQUxFU0NFKChDT0FMRVNDRShiLnEyLCAnNDInOjpiaWdpbnQpKSwgZC5xMikp Ci0oMjYgcm93cykKKygyNCByb3dzKQogCiAtLSBhbm90aGVyIGNhc2UgcmVxdWlyaW5nIG5lc3Rl ZCBQbGFjZUhvbGRlclZhcnMKIGV4cGxhaW4gKHZlcmJvc2UsIGNvc3RzIG9mZikKQEAgLTkyMTAs MjkgKzkxNjMsMjUgQEAgc2VsZWN0IGMuKixhLiosc3MxLnExLHNzMi5xMSxzczMuKiBmcm9tCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBKb2luIEZpbHRlcjogKGIucTEgPCBiMi5mMSkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuaW50OF90Ymwg YgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiBiLnExLCBiLnEyCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0oYi5x MSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBNYXRlcmlhbGl6ZQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiBiMi5mMQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5pbnQ0X3RibCBiMgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiBiMi5mMQogICAgICAgICAg ICAgICAgICAgICAgLT4gIEhhc2gKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDog YS5xMSwgYS5xMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuaW50OF90Ymwg YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiBhLnExLCBhLnEyCiAg ICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmludDhfdGJsIGQKICAgICAgICAg ICAgICAgICAgICAgIE91dHB1dDogZC5xMSwgQ09BTEVTQ0UoKENPQUxFU0NFKGIucTIsIChiMi5m MSk6OmJpZ2ludCkpLCBkLnEyKQotICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDI6 IGtleXM9KGQucTEpCiAgICAgICAgICAtPiAgSGFzaAogICAgICAgICAgICAgICAgT3V0cHV0OiBj LnExLCBjLnEyCi0gICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMgogICAgICAgICAgICAgICAg LT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5pbnQ4X3RibCBjCiAgICAgICAgICAgICAgICAgICAgICBP dXRwdXQ6IGMucTEsIGMucTIKICAgIC0+ICBNYXRlcmlhbGl6ZQogICAgICAgICAgT3V0cHV0OiBp LmYxCiAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmludDRfdGJsIGkKICAgICAgICAg ICAgICAgIE91dHB1dDogaS5mMQotKDM4IHJvd3MpCisoMzQgcm93cykKIAogLS0gY2hlY2sgcHJv Y2Vzc2luZyBvZiBwb3N0cG9uZWQgcXVhbHMgKGJ1ZyAjOTA0MSkKIGV4cGxhaW4gKHZlcmJvc2Us IGNvc3RzIG9mZikKQEAgLTk1MzksMTAgKzk0ODgsOCBAQCBzZWxlY3QgdDEuYiwgc3MucGh2IGZy b20gam9pbl91dDEgdDEgbGVmdCBqb2luIGxhdGVyYWwKICAgICAgICAgICAgICAgIEhhc2ggQ29u ZDogKHQzLmIgPSB0Mi5hKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5q b2luX3V0MSB0MwogICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0My5hLCB0My5iLCB0My5j Ci0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0odDMuYikKICAgICAg ICAgICAgICAgIC0+ICBIYXNoCiAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQyLmEKLSAg ICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAgICAgICAt PiAgQXBwZW5kCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVi bGljLmpvaW5fcHQxcDFwMSB0Ml8xCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBP dXRwdXQ6IHQyXzEuYQpAQCAtOTU1MCw3ICs5NDk3LDcgQEAgc2VsZWN0IHQxLmIsIHNzLnBodiBm cm9tIGpvaW5fdXQxIHQxIGxlZnQgam9pbiBsYXRlcmFsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmpvaW5fcHQxcDIgdDJfMgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0Ml8yLmEKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEZpbHRlcjogKHQxLmEgPSB0Ml8yLmEpCi0oMjMgcm93cykKKygyMSByb3dz KQogCiBzZWxlY3QgdDEuYiwgc3MucGh2IGZyb20gam9pbl91dDEgdDEgbGVmdCBqb2luIGxhdGVy YWwKICAgICAgICAgICAgICAgKHNlbGVjdCB0Mi5hIGFzIHQyYSwgdDMuYSB0M2EsIGxlYXN0KHQx LmEsIHQyLmEsIHQzLmEpIHBodgpAQCAtOTYwMCwyMiArOTU0NywyMSBAQCBzZWxlY3QgKiBmcm9t IGZrZXN0IGYxCiAgIGpvaW4gZmtlc3QgZjIgb24gKGYxLnggPSBmMi54IGFuZCBmMS54MTAgPSBm Mi54MTBiIGFuZCBmMS54MTAwID0gZjIueDEwMCkKICAgam9pbiBma2VzdCBmMyBvbiBmMS54ID0g ZjMueAogICB3aGVyZSBmMS54MTAwID0gMjsKLSAgICAgICAgICAgICAgICAgICAgIFFVRVJZIFBM QU4gICAgICAgICAgICAgICAgICAgICAgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgICAgICAgICAgICAgICAgICAgICAgICBRVUVSWSBQ TEFOICAgICAgICAgICAgICAgICAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICBIYXNoIEpvaW4KICAgIEhh c2ggQ29uZDogKChmMi54ID0gZjEueCkgQU5EIChmMi54MTBiID0gZjEueDEwKSkKLSAgIC0+ICBI YXNoIEpvaW4KLSAgICAgICAgIEhhc2ggQ29uZDogKGYzLnggPSBmMi54KQotICAgICAgICAgLT4g IFNlcSBTY2FuIG9uIGZrZXN0IGYzCi0gICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5 cz0oeCkKLSAgICAgICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQot ICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIGZrZXN0IGYyCi0gICAgICAgICAgICAgICAg ICAgICBGaWx0ZXI6ICh4MTAwID0gMikKKyAgIC0+ICBOZXN0ZWQgTG9vcAorICAgICAgICAgLT4g IFNlcSBTY2FuIG9uIGZrZXN0IGYyCisgICAgICAgICAgICAgICBGaWx0ZXI6ICh4MTAwID0gMikK KyAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPSh4LCB4MTBiKQorICAgICAgICAg LT4gIEluZGV4IFNjYW4gdXNpbmcgZmtlc3RfeF94MTBfeDEwMF9pZHggb24gZmtlc3QgZjMKKyAg ICAgICAgICAgICAgIEluZGV4IENvbmQ6ICh4ID0gZjIueCkKICAgIC0+ICBIYXNoCisgICAgICAg ICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIGZrZXN0IGYxCiAgICAg ICAgICAgICAgICBGaWx0ZXI6ICh4MTAwID0gMikKLSgxMyByb3dzKQorKDEyIHJvd3MpCiAKIHJv bGxiYWNrOwogLS0KQEAgLTk2NjgsMjEgKzk2MTQsMTkgQEAgYW5hbHl6ZSBqMzsKIC0tIGVuc3Vy ZSBqb2luIGlzIHByb3Blcmx5IG1hcmtlZCBhcyB1bmlxdWUKIGV4cGxhaW4gKHZlcmJvc2UsIGNv c3RzIG9mZikKIHNlbGVjdCAqIGZyb20gajEgaW5uZXIgam9pbiBqMiBvbiBqMS5pZCA9IGoyLmlk OwotICAgICAgICAgICAgICBRVUVSWSBQTEFOICAgICAgICAgICAgICAKLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgICAgICAgICBRVUVSWSBQTEFOICAgICAgICAg ICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICBIYXNoIEpvaW4KICAg IE91dHB1dDogajEuaWQsIGoyLmlkCiAgICBJbm5lciBVbmlxdWU6IHRydWUKICAgIEhhc2ggQ29u ZDogKGoxLmlkID0gajIuaWQpCiAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmoxCiAgICAgICAg ICBPdXRwdXQ6IGoxLmlkCi0gICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0oajEuaWQpCiAg ICAtPiAgSGFzaAogICAgICAgICAgT3V0cHV0OiBqMi5pZAotICAgICAgICAgQmxvb20gRmlsdGVy IDEKICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuajIKICAgICAgICAgICAgICAgIE91 dHB1dDogajIuaWQKLSgxMiByb3dzKQorKDEwIHJvd3MpCiAKIC0tIGVuc3VyZSBqb2luIGlzIG5v dCB1bmlxdWUgd2hlbiBub3QgYW4gZXF1aS1qb2luCiBleHBsYWluICh2ZXJib3NlLCBjb3N0cyBv ZmYpCkBAIC05NzA3LDE3ICs5NjUxLDE2IEBAIHNlbGVjdCAqIGZyb20gajEgaW5uZXIgam9pbiBq MyBvbiBqMS5pZCA9IGozLmlkOwogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KICBIYXNoIEpvaW4KICAgIE91dHB1dDogajEuaWQsIGozLmlkCi0gICBJbm5lciBVbmlxdWU6 IHRydWUKLSAgIEhhc2ggQ29uZDogKGozLmlkID0gajEuaWQpCi0gICAtPiAgU2VxIFNjYW4gb24g cHVibGljLmozCi0gICAgICAgICBPdXRwdXQ6IGozLmlkCi0gICAgICAgICBCbG9vbSBGaWx0ZXIg MToga2V5cz0oajMuaWQpCi0gICAtPiAgSGFzaAorICAgSGFzaCBDb25kOiAoajEuaWQgPSBqMy5p ZCkKKyAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuajEKICAgICAgICAgIE91dHB1dDogajEuaWQK KyAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPShqMS5pZCkKKyAgIC0+ICBIYXNoCisgICAg ICAgICBPdXRwdXQ6IGozLmlkCiAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQotICAgICAgICAgLT4g IFNlcSBTY2FuIG9uIHB1YmxpYy5qMQotICAgICAgICAgICAgICAgT3V0cHV0OiBqMS5pZAotKDEy IHJvd3MpCisgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmozCisgICAgICAgICAgICAg ICBPdXRwdXQ6IGozLmlkCisoMTEgcm93cykKIAogLS0gZW5zdXJlIGxlZnQgam9pbiBpcyBtYXJr ZWQgYXMgdW5pcXVlCiBleHBsYWluICh2ZXJib3NlLCBjb3N0cyBvZmYpCkBAIC05Nzg4LDY0ICs5 NzMxLDcwIEBAIHNlbGVjdCAqIGZyb20gajEgY3Jvc3Mgam9pbiBqMjsKIC0tIGVuc3VyZSBhIG5h dHVyYWwgam9pbiBpcyBtYXJrZWQgYXMgdW5pcXVlCiBleHBsYWluICh2ZXJib3NlLCBjb3N0cyBv ZmYpCiBzZWxlY3QgKiBmcm9tIGoxIG5hdHVyYWwgam9pbiBqMjsKLSAgICAgICAgICAgICAgUVVF UlkgUExBTiAgICAgICAgICAgICAgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorICAgICAgICAgICAgUVVFUlkgUExBTiAgICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgSGFzaCBKb2luCiAgICBPdXRwdXQ6IGoxLmlkCiAgICBJ bm5lciBVbmlxdWU6IHRydWUKICAgIEhhc2ggQ29uZDogKGoxLmlkID0gajIuaWQpCiAgICAtPiAg U2VxIFNjYW4gb24gcHVibGljLmoxCiAgICAgICAgICBPdXRwdXQ6IGoxLmlkCi0gICAgICAgICBC bG9vbSBGaWx0ZXIgMToga2V5cz0oajEuaWQpCiAgICAtPiAgSGFzaAogICAgICAgICAgT3V0cHV0 OiBqMi5pZAotICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgIC0+ICBTZXEgU2NhbiBv biBwdWJsaWMuajIKICAgICAgICAgICAgICAgIE91dHB1dDogajIuaWQKLSgxMiByb3dzKQorKDEw IHJvd3MpCiAKIC0tIGVuc3VyZSBhIGRpc3RpbmN0IGNsYXVzZSBhbGxvd3MgdGhlIGlubmVyIHRv IGJlY29tZSB1bmlxdWUKIGV4cGxhaW4gKHZlcmJvc2UsIGNvc3RzIG9mZikKIHNlbGVjdCAqIGZy b20gajEKIGlubmVyIGpvaW4gKHNlbGVjdCBkaXN0aW5jdCBpZCBmcm9tIGozKSBqMyBvbiBqMS5p ZCA9IGozLmlkOwotICAgICAgICAgICAgICAgUVVFUlkgUExBTiAgICAgICAgICAgICAgICAKLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gTmVzdGVkIExvb3AKKyAg ICAgICAgICAgICAgICAgIFFVRVJZIFBMQU4gICAgICAgICAgICAgICAgICAgCistLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEhhc2ggSm9pbgogICAgT3V0 cHV0OiBqMS5pZCwgajMuaWQKICAgIElubmVyIFVuaXF1ZTogdHJ1ZQotICAgSm9pbiBGaWx0ZXI6 IChqMS5pZCA9IGozLmlkKQotICAgLT4gIFVuaXF1ZQorICAgSGFzaCBDb25kOiAoajEuaWQgPSBq My5pZCkKKyAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuajEKKyAgICAgICAgIE91dHB1dDogajEu aWQKKyAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPShqMS5pZCkKKyAgIC0+ICBIYXNoCiAg ICAgICAgICBPdXRwdXQ6IGozLmlkCi0gICAgICAgICAtPiAgU29ydAorICAgICAgICAgQmxvb20g RmlsdGVyIDEKKyAgICAgICAgIC0+ICBVbmlxdWUKICAgICAgICAgICAgICAgIE91dHB1dDogajMu aWQKLSAgICAgICAgICAgICAgIFNvcnQgS2V5OiBqMy5pZAotICAgICAgICAgICAgICAgLT4gIFNl cSBTY2FuIG9uIHB1YmxpYy5qMworICAgICAgICAgICAgICAgLT4gIFNvcnQKICAgICAgICAgICAg ICAgICAgICAgIE91dHB1dDogajMuaWQKLSAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuajEKLSAg ICAgICAgIE91dHB1dDogajEuaWQKLSgxMyByb3dzKQorICAgICAgICAgICAgICAgICAgICAgU29y dCBLZXk6IGozLmlkCisgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGlj LmozCisgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IGozLmlkCisoMTcgcm93cykK IAogLS0gZW5zdXJlIGdyb3VwIGJ5IGNsYXVzZSBhbGxvd3MgdGhlIGlubmVyIHRvIGJlY29tZSB1 bmlxdWUKIGV4cGxhaW4gKHZlcmJvc2UsIGNvc3RzIG9mZikKIHNlbGVjdCAqIGZyb20gajEKIGlu bmVyIGpvaW4gKHNlbGVjdCBpZCBmcm9tIGozIGdyb3VwIGJ5IGlkKSBqMyBvbiBqMS5pZCA9IGoz LmlkOwotICAgICAgICAgICAgICAgUVVFUlkgUExBTiAgICAgICAgICAgICAgICAKLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gTmVzdGVkIExvb3AKKyAgICAgICAg ICAgICAgICAgIFFVRVJZIFBMQU4gICAgICAgICAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEhhc2ggSm9pbgogICAgT3V0cHV0OiBq MS5pZCwgajMuaWQKICAgIElubmVyIFVuaXF1ZTogdHJ1ZQotICAgSm9pbiBGaWx0ZXI6IChqMS5p ZCA9IGozLmlkKQotICAgLT4gIEdyb3VwCisgICBIYXNoIENvbmQ6IChqMS5pZCA9IGozLmlkKQor ICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5qMQorICAgICAgICAgT3V0cHV0OiBqMS5pZAorICAg ICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KGoxLmlkKQorICAgLT4gIEhhc2gKICAgICAgICAg IE91dHB1dDogajMuaWQKLSAgICAgICAgIEdyb3VwIEtleTogajMuaWQKLSAgICAgICAgIC0+ICBT b3J0CisgICAgICAgICBCbG9vbSBGaWx0ZXIgMQorICAgICAgICAgLT4gIEdyb3VwCiAgICAgICAg ICAgICAgICBPdXRwdXQ6IGozLmlkCi0gICAgICAgICAgICAgICBTb3J0IEtleTogajMuaWQKLSAg ICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuajMKKyAgICAgICAgICAgICAgIEdy b3VwIEtleTogajMuaWQKKyAgICAgICAgICAgICAgIC0+ICBTb3J0CiAgICAgICAgICAgICAgICAg ICAgICBPdXRwdXQ6IGozLmlkCi0gICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmoxCi0gICAgICAg ICBPdXRwdXQ6IGoxLmlkCi0oMTQgcm93cykKKyAgICAgICAgICAgICAgICAgICAgIFNvcnQgS2V5 OiBqMy5pZAorICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5qMwor ICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiBqMy5pZAorKDE4IHJvd3MpCiAKIGRy b3AgdGFibGUgajE7CiBkcm9wIHRhYmxlIGoyOwpAQCAtOTk1OSwxNCArOTkwOCwxNiBAQCBjcmVh dGUgaW5kZXggajJfaWQxX2lkeCBvbiBqMiAoaWQxKSB3aGVyZSBpZDEgJSAxMDAwID0gMTsKIGV4 cGxhaW4gKGNvc3RzIG9mZikgc2VsZWN0ICogZnJvbSBqMQogaW5uZXIgam9pbiBqMiBvbiBqMS5p ZDEgPSBqMi5pZDEgYW5kIGoxLmlkMiA9IGoyLmlkMgogd2hlcmUgajEuaWQxICUgMTAwMCA9IDEg YW5kIGoyLmlkMSAlIDEwMDAgPSAxOwotICAgICAgICAgICAgICAgUVVFUlkgUExBTiAgICAgICAg ICAgICAgICAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gTWVy Z2UgSm9pbgotICAgTWVyZ2UgQ29uZDogKGoxLmlkMSA9IGoyLmlkMSkKLSAgIEpvaW4gRmlsdGVy OiAoajIuaWQyID0gajEuaWQyKQotICAgLT4gIEluZGV4IFNjYW4gdXNpbmcgajFfaWQxX2lkeCBv biBqMQotICAgLT4gIEluZGV4IFNjYW4gdXNpbmcgajJfaWQxX2lkeCBvbiBqMgotKDUgcm93cykK KyAgICAgICAgICAgICAgICAgICAgICAgIFFVRVJZIFBMQU4gICAgICAgICAgICAgICAgICAgICAg ICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KKyBOZXN0ZWQgTG9vcAorICAgRGlzYWJsZWQ6IHRydWUKKyAgIEpvaW4gRmlsdGVyOiAo KGoyLmlkMSA9IGoxLmlkMSkgQU5EIChqMi5pZDIgPSBqMS5pZDIpKQorICAgLT4gIFNlcSBTY2Fu IG9uIGoxCisgICAgICAgICBGaWx0ZXI6ICgoaWQxICUgMTAwMCkgPSAxKQorICAgLT4gIFNlcSBT Y2FuIG9uIGoyCisgICAgICAgICBGaWx0ZXI6ICgoaWQxICUgMTAwMCkgPSAxKQorKDcgcm93cykK IAogc2VsZWN0ICogZnJvbSBqMQogaW5uZXIgam9pbiBqMiBvbiBqMS5pZDEgPSBqMi5pZDEgYW5k IGoxLmlkMiA9IGoyLmlkMgpAQCAtOTk4MSwxNSArOTkzMiwxNiBAQCB3aGVyZSBqMS5pZDEgJSAx MDAwID0gMSBhbmQgajIuaWQxICUgMTAwMCA9IDE7CiBleHBsYWluIChjb3N0cyBvZmYpIHNlbGVj dCAqIGZyb20gajEKIGlubmVyIGpvaW4gajIgb24gajEuaWQxID0gajIuaWQxIGFuZCBqMS5pZDIg PSBqMi5pZDIKIHdoZXJlIGoxLmlkMSAlIDEwMDAgPSAxIGFuZCBqMi5pZDEgJSAxMDAwID0gMSBh bmQgajIuaWQxID0gYW55IChhcnJheVsxXSk7Ci0gICAgICAgICAgICAgICAgICAgICBRVUVSWSBQ TEFOICAgICAgICAgICAgICAgICAgICAgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gTWVyZ2UgSm9pbgotICAgTWVyZ2UgQ29uZDogKGoxLmlk MSA9IGoyLmlkMSkKLSAgIEpvaW4gRmlsdGVyOiAoajIuaWQyID0gajEuaWQyKQotICAgLT4gIElu ZGV4IFNjYW4gdXNpbmcgajFfaWQxX2lkeCBvbiBqMQotICAgLT4gIEluZGV4IFNjYW4gdXNpbmcg ajJfaWQxX2lkeCBvbiBqMgotICAgICAgICAgSW5kZXggQ29uZDogKGlkMSA9IEFOWSAoJ3sxfSc6 OmludGVnZXJbXSkpCi0oNiByb3dzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFFV RVJZIFBMQU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQorIE5lc3RlZCBMb29wCisgICBEaXNhYmxlZDogdHJ1ZQorICAgSm9pbiBGaWx0ZXI6ICgoajIu aWQxID0gajEuaWQxKSBBTkQgKGoyLmlkMiA9IGoxLmlkMikpCisgICAtPiAgU2VxIFNjYW4gb24g ajEKKyAgICAgICAgIEZpbHRlcjogKChpZDEgJSAxMDAwKSA9IDEpCisgICAtPiAgU2VxIFNjYW4g b24gajIKKyAgICAgICAgIEZpbHRlcjogKChpZDEgPSBBTlkgKCd7MX0nOjppbnRlZ2VyW10pKSBB TkQgKChpZDEgJSAxMDAwKSA9IDEpKQorKDcgcm93cykKIAogc2VsZWN0ICogZnJvbSBqMQogaW5u ZXIgam9pbiBqMiBvbiBqMS5pZDEgPSBqMi5pZDEgYW5kIGoxLmlkMiA9IGoyLmlkMgpAQCAtMTAw MDQsMTUgKzk5NTYsMTYgQEAgd2hlcmUgajEuaWQxICUgMTAwMCA9IDEgYW5kIGoyLmlkMSAlIDEw MDAgPSAxIGFuZCBqMi5pZDEgPSBhbnkgKGFycmF5WzFdKTsKIGV4cGxhaW4gKGNvc3RzIG9mZikg c2VsZWN0ICogZnJvbSBqMQogaW5uZXIgam9pbiBqMiBvbiBqMS5pZDEgPSBqMi5pZDEgYW5kIGox LmlkMiA9IGoyLmlkMgogd2hlcmUgajEuaWQxICUgMTAwMCA9IDEgYW5kIGoyLmlkMSAlIDEwMDAg PSAxIGFuZCBqMi5pZDEgPj0gYW55IChhcnJheVsxLDVdKTsKLSAgICAgICAgICAgICAgICAgICAg ICBRVUVSWSBQTEFOICAgICAgICAgICAgICAgICAgICAgICAKLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSBNZXJnZSBKb2luCi0gICBNZXJn ZSBDb25kOiAoajEuaWQxID0gajIuaWQxKQotICAgSm9pbiBGaWx0ZXI6IChqMi5pZDIgPSBqMS5p ZDIpCi0gICAtPiAgSW5kZXggU2NhbiB1c2luZyBqMV9pZDFfaWR4IG9uIGoxCi0gICAtPiAgSW5k ZXggU2NhbiB1c2luZyBqMl9pZDFfaWR4IG9uIGoyCi0gICAgICAgICBJbmRleCBDb25kOiAoaWQx ID49IEFOWSAoJ3sxLDV9Jzo6aW50ZWdlcltdKSkKLSg2IHJvd3MpCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBRVUVSWSBQTEFOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgTmVzdGVkIExvb3AKKyAgIERpc2FibGVkOiB0cnVl CisgICBKb2luIEZpbHRlcjogKChqMi5pZDEgPSBqMS5pZDEpIEFORCAoajIuaWQyID0gajEuaWQy KSkKKyAgIC0+ICBTZXEgU2NhbiBvbiBqMQorICAgICAgICAgRmlsdGVyOiAoKGlkMSAlIDEwMDAp ID0gMSkKKyAgIC0+ICBTZXEgU2NhbiBvbiBqMgorICAgICAgICAgRmlsdGVyOiAoKGlkMSA+PSBB TlkgKCd7MSw1fSc6OmludGVnZXJbXSkpIEFORCAoKGlkMSAlIDEwMDApID0gMSkpCisoNyByb3dz KQogCiBzZWxlY3QgKiBmcm9tIGoxCiBpbm5lciBqb2luIGoyIG9uIGoxLmlkMSA9IGoyLmlkMSBh bmQgajEuaWQyID0gajIuaWQyCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L2pvaW5faGFzaC5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2pvaW5faGFzaC5vdXQK aW5kZXggMGE4YWRlOGI5NjEuLjIxOTAwNTY0MTQ5IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL2pvaW5faGFzaC5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC9qb2luX2hhc2gub3V0CkBAIC05MCwxNyArOTAsMTUgQEAgc2V0IGxvY2FsIHdvcmtfbWVtID0g JzRNQic7CiBzZXQgbG9jYWwgaGFzaF9tZW1fbXVsdGlwbGllciA9IDEuMDsKIGV4cGxhaW4gKGNv c3RzIG9mZikKICAgc2VsZWN0IGNvdW50KCopIGZyb20gc2ltcGxlIHIgam9pbiBzaW1wbGUgcyB1 c2luZyAoaWQpOwotICAgICAgICAgICAgICAgUVVFUlkgUExBTiAgICAgICAgICAgICAgICAKLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgICAgICAgICAgICBR VUVSWSBQTEFOICAgICAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCiAgQWdncmVnYXRlCiAgICAtPiAgSGFzaCBKb2luCiAgICAgICAgICBIYXNoIENv bmQ6IChyLmlkID0gcy5pZCkKICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBzaW1wbGUgcgotICAg ICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KGlkKQogICAgICAgICAgLT4gIEhhc2gK LSAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNj YW4gb24gc2ltcGxlIHMKLSg4IHJvd3MpCisoNiByb3dzKQogCiBzZWxlY3QgY291bnQoKikgZnJv bSBzaW1wbGUgciBqb2luIHNpbXBsZSBzIHVzaW5nIChpZCk7CiAgY291bnQgCkBAIC0yMDUsMTcg KzIwMywxNSBAQCBzZXQgbG9jYWwgd29ya19tZW0gPSAnMTI4a0InOwogc2V0IGxvY2FsIGhhc2hf bWVtX211bHRpcGxpZXIgPSAxLjA7CiBleHBsYWluIChjb3N0cyBvZmYpCiAgIHNlbGVjdCBjb3Vu dCgqKSBmcm9tIHNpbXBsZSByIGpvaW4gc2ltcGxlIHMgdXNpbmcgKGlkKTsKLSAgICAgICAgICAg ICAgIFFVRVJZIFBMQU4gICAgICAgICAgICAgICAgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQorICAgICAgICAgICAgICAgUVVFUlkgUExBTiAgICAgICAgICAgICAg IAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIEFnZ3JlZ2F0ZQog ICAgLT4gIEhhc2ggSm9pbgogICAgICAgICAgSGFzaCBDb25kOiAoci5pZCA9IHMuaWQpCiAgICAg ICAgICAtPiAgU2VxIFNjYW4gb24gc2ltcGxlIHIKLSAgICAgICAgICAgICAgIEJsb29tIEZpbHRl ciAxOiBrZXlzPShpZCkKICAgICAgICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAgICBCbG9vbSBG aWx0ZXIgMQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHNpbXBsZSBzCi0oOCByb3dz KQorKDYgcm93cykKIAogc2VsZWN0IGNvdW50KCopIGZyb20gc2ltcGxlIHIgam9pbiBzaW1wbGUg cyB1c2luZyAoaWQpOwogIGNvdW50IApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC9tZXJnZS5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL21lcmdlLm91dAppbmRl eCBjNWFhMTFjZDI0OS4uNDA0NjFhY2YxN2MgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvbWVyZ2Uub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvbWVyZ2Uu b3V0CkBAIC0zOSwxOCArMzksMTcgQEAgVVNJTkcgc291cmNlIEFTIHMKIE9OIHQudGlkID0gcy5z aWQKIFdIRU4gTUFUQ0hFRCBUSEVOCiAJREVMRVRFOwotICAgICAgICAgICAgICAgUVVFUlkgUExB TiAgICAgICAgICAgICAgIAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQorICAgICAgICAgICAgICAgIFFVRVJZIFBMQU4gICAgICAgICAgICAgICAgCistLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICBNZXJnZSBvbiB0YXJnZXQgdAotICAg LT4gIE1lcmdlIEpvaW4KLSAgICAgICAgIE1lcmdlIENvbmQ6ICh0LnRpZCA9IHMuc2lkKQotICAg ICAgICAgLT4gIFNvcnQKLSAgICAgICAgICAgICAgIFNvcnQgS2V5OiB0LnRpZAotICAgICAgICAg ICAgICAgLT4gIFNlcSBTY2FuIG9uIHRhcmdldCB0Ci0gICAgICAgICAtPiAgU29ydAotICAgICAg ICAgICAgICAgU29ydCBLZXk6IHMuc2lkCisgICAtPiAgSGFzaCBKb2luCisgICAgICAgICBIYXNo IENvbmQ6ICh0LnRpZCA9IHMuc2lkKQorICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHRhcmdldCB0 CisgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0odGlkKQorICAgICAgICAgLT4g IEhhc2gKKyAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAtPiAg U2VxIFNjYW4gb24gc291cmNlIHMKLSg5IHJvd3MpCisoOCByb3dzKQogCiAtLQogLS0gRXJyb3Jz CkBAIC0xNjQwLDQyICsxNjM5LDM4IEBAIFNFTEVDVCBleHBsYWluX21lcmdlKCcKIE1FUkdFIElO VE8gZXhfbXRhcmdldCB0IFVTSU5HIGV4X21zb3VyY2UgcyBPTiB0LmEgPSBzLmEKIFdIRU4gTUFU Q0hFRCBUSEVOCiAJVVBEQVRFIFNFVCBiID0gdC5iICsgMScpOwotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZXhwbGFpbl9tZXJnZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAot LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBl eHBsYWluX21lcmdlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCistLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICBNZXJnZSBvbiBleF9tdGFyZ2V0IHQgKGFj dHVhbCByb3dzPTAuMDAgbG9vcHM9MSkKICAgIFR1cGxlczogdXBkYXRlZD01MAotICAgLT4gIE1l cmdlIEpvaW4gKGFjdHVhbCByb3dzPTUwLjAwIGxvb3BzPTEpCi0gICAgICAgICBNZXJnZSBDb25k OiAodC5hID0gcy5hKQotICAgICAgICAgLT4gIFNvcnQgKGFjdHVhbCByb3dzPTUwLjAwIGxvb3Bz PTEpCi0gICAgICAgICAgICAgICBTb3J0IEtleTogdC5hCi0gICAgICAgICAgICAgICBTb3J0IE1l dGhvZDogcXVpY2tzb3J0ICBNZW1vcnk6IHh4eAotICAgICAgICAgICAgICAgLT4gIFNlcSBTY2Fu IG9uIGV4X210YXJnZXQgdCAoYWN0dWFsIHJvd3M9NTAuMDAgbG9vcHM9MSkKLSAgICAgICAgIC0+ ICBTb3J0IChhY3R1YWwgcm93cz0xMDAuMDAgbG9vcHM9MSkKLSAgICAgICAgICAgICAgIFNvcnQg S2V5OiBzLmEKLSAgICAgICAgICAgICAgIFNvcnQgTWV0aG9kOiBxdWlja3NvcnQgIE1lbW9yeTog eHh4CisgICAtPiAgSGFzaCBKb2luIChhY3R1YWwgcm93cz01MC4wMCBsb29wcz0xKQorICAgICAg ICAgSGFzaCBDb25kOiAodC5hID0gcy5hKQorICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIGV4X210 YXJnZXQgdCAoYWN0dWFsIHJvd3M9NTAuMDAgbG9vcHM9MSkKKyAgICAgICAgICAgICAgIEJsb29t IEZpbHRlciAxOiBrZXlzPShhKSBjaGVja2VkPTQ5IHJlamVjdGVkPTAgKDAuMCUpCisgICAgICAg ICAtPiAgSGFzaCAoYWN0dWFsIHJvd3M9MTAwLjAwIGxvb3BzPTEpCisgICAgICAgICAgICAgICBC dWNrZXRzOiB4eHggIEJhdGNoZXM6IHh4eCAgTWVtb3J5IFVzYWdlOiB4eHgKKyAgICAgICAgICAg ICAgIEJsb29tIEZpbHRlciAxOiBiaXRzPTgzODg2MDggaGFzaGVzPTEwIG1lbW9yeT0xMDI0a0Ig Y2hlY2tlZD00OSByZWplY3RlZD0wCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gZXhf bXNvdXJjZSBzIChhY3R1YWwgcm93cz0xMDAuMDAgbG9vcHM9MSkKLSgxMiByb3dzKQorKDEwIHJv d3MpCiAKIC0tIG9ubHkgdXBkYXRlcyB0byBzZWxlY3RlZCB0dXBsZXMKIFNFTEVDVCBleHBsYWlu X21lcmdlKCcKIE1FUkdFIElOVE8gZXhfbXRhcmdldCB0IFVTSU5HIGV4X21zb3VyY2UgcyBPTiB0 LmEgPSBzLmEKIFdIRU4gTUFUQ0hFRCBBTkQgdC5hIDwgMTAgVEhFTgogCVVQREFURSBTRVQgYiA9 IHQuYiArIDEnKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cGxhaW5fbWVyZ2Ug ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwbGFpbl9tZXJnZSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCiAgTWVyZ2Ugb24gZXhfbXRhcmdldCB0IChhY3R1YWwgcm93cz0wLjAwIGxvb3BzPTEpCiAg ICBUdXBsZXM6IHVwZGF0ZWQ9NSBza2lwcGVkPTQ1Ci0gICAtPiAgTWVyZ2UgSm9pbiAoYWN0dWFs IHJvd3M9NTAuMDAgbG9vcHM9MSkKLSAgICAgICAgIE1lcmdlIENvbmQ6ICh0LmEgPSBzLmEpCi0g ICAgICAgICAtPiAgU29ydCAoYWN0dWFsIHJvd3M9NTAuMDAgbG9vcHM9MSkKLSAgICAgICAgICAg ICAgIFNvcnQgS2V5OiB0LmEKLSAgICAgICAgICAgICAgIFNvcnQgTWV0aG9kOiBxdWlja3NvcnQg IE1lbW9yeTogeHh4Ci0gICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gZXhfbXRhcmdldCB0 IChhY3R1YWwgcm93cz01MC4wMCBsb29wcz0xKQotICAgICAgICAgLT4gIFNvcnQgKGFjdHVhbCBy b3dzPTEwMC4wMCBsb29wcz0xKQotICAgICAgICAgICAgICAgU29ydCBLZXk6IHMuYQotICAgICAg ICAgICAgICAgU29ydCBNZXRob2Q6IHF1aWNrc29ydCAgTWVtb3J5OiB4eHgKKyAgIC0+ICBIYXNo IEpvaW4gKGFjdHVhbCByb3dzPTUwLjAwIGxvb3BzPTEpCisgICAgICAgICBIYXNoIENvbmQ6ICh0 LmEgPSBzLmEpCisgICAgICAgICAtPiAgU2VxIFNjYW4gb24gZXhfbXRhcmdldCB0IChhY3R1YWwg cm93cz01MC4wMCBsb29wcz0xKQorICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9 KGEpIGNoZWNrZWQ9NDkgcmVqZWN0ZWQ9MCAoMC4wJSkKKyAgICAgICAgIC0+ICBIYXNoIChhY3R1 YWwgcm93cz0xMDAuMDAgbG9vcHM9MSkKKyAgICAgICAgICAgICAgIEJ1Y2tldHM6IHh4eCAgQmF0 Y2hlczogeHh4ICBNZW1vcnkgVXNhZ2U6IHh4eAorICAgICAgICAgICAgICAgQmxvb20gRmlsdGVy IDE6IGJpdHM9ODM4ODYwOCBoYXNoZXM9MTAgbWVtb3J5PTEwMjRrQiBjaGVja2VkPTQ5IHJlamVj dGVkPTAKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBleF9tc291cmNlIHMgKGFjdHVh bCByb3dzPTEwMC4wMCBsb29wcz0xKQotKDEyIHJvd3MpCisoMTAgcm93cykKIAogLS0gdXBkYXRl cyArIGRlbGV0ZXMKIFNFTEVDVCBleHBsYWluX21lcmdlKCcKQEAgLTE2ODQsMjEgKzE2NzksMTkg QEAgV0hFTiBNQVRDSEVEIEFORCB0LmEgPCAxMCBUSEVOCiAJVVBEQVRFIFNFVCBiID0gdC5iICsg MQogV0hFTiBNQVRDSEVEIEFORCB0LmEgPj0gMTAgQU5EIHQuYSA8PSAyMCBUSEVOCiAJREVMRVRF Jyk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBsYWluX21lcmdlICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGV4cGxhaW5fbWVyZ2UgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIE1l cmdlIG9uIGV4X210YXJnZXQgdCAoYWN0dWFsIHJvd3M9MC4wMCBsb29wcz0xKQogICAgVHVwbGVz OiB1cGRhdGVkPTUgZGVsZXRlZD01IHNraXBwZWQ9NDAKLSAgIC0+ICBNZXJnZSBKb2luIChhY3R1 YWwgcm93cz01MC4wMCBsb29wcz0xKQotICAgICAgICAgTWVyZ2UgQ29uZDogKHQuYSA9IHMuYSkK LSAgICAgICAgIC0+ICBTb3J0IChhY3R1YWwgcm93cz01MC4wMCBsb29wcz0xKQotICAgICAgICAg ICAgICAgU29ydCBLZXk6IHQuYQotICAgICAgICAgICAgICAgU29ydCBNZXRob2Q6IHF1aWNrc29y dCAgTWVtb3J5OiB4eHgKLSAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBleF9tdGFyZ2V0 IHQgKGFjdHVhbCByb3dzPTUwLjAwIGxvb3BzPTEpCi0gICAgICAgICAtPiAgU29ydCAoYWN0dWFs IHJvd3M9MTAwLjAwIGxvb3BzPTEpCi0gICAgICAgICAgICAgICBTb3J0IEtleTogcy5hCi0gICAg ICAgICAgICAgICBTb3J0IE1ldGhvZDogcXVpY2tzb3J0ICBNZW1vcnk6IHh4eAorICAgLT4gIEhh c2ggSm9pbiAoYWN0dWFsIHJvd3M9NTAuMDAgbG9vcHM9MSkKKyAgICAgICAgIEhhc2ggQ29uZDog KHQuYSA9IHMuYSkKKyAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBleF9tdGFyZ2V0IHQgKGFjdHVh bCByb3dzPTUwLjAwIGxvb3BzPTEpCisgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5 cz0oYSkgY2hlY2tlZD00OSByZWplY3RlZD0wICgwLjAlKQorICAgICAgICAgLT4gIEhhc2ggKGFj dHVhbCByb3dzPTEwMC4wMCBsb29wcz0xKQorICAgICAgICAgICAgICAgQnVja2V0czogeHh4ICBC YXRjaGVzOiB4eHggIE1lbW9yeSBVc2FnZTogeHh4CisgICAgICAgICAgICAgICBCbG9vbSBGaWx0 ZXIgMTogYml0cz04Mzg4NjA4IGhhc2hlcz0xMCBtZW1vcnk9MTAyNGtCIGNoZWNrZWQ9NDkgcmVq ZWN0ZWQ9MAogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIGV4X21zb3VyY2UgcyAoYWN0 dWFsIHJvd3M9MTAwLjAwIGxvb3BzPTEpCi0oMTIgcm93cykKKygxMCByb3dzKQogCiAtLSBvbmx5 IGluc2VydHMKIFNFTEVDVCBleHBsYWluX21lcmdlKCcKQEAgLTE3OTUsMjEgKzE3ODgsMjAgQEAg U0VMRUNUIGV4cGxhaW5fbWVyZ2UoJwogTUVSR0UgSU5UTyBleF9tdGFyZ2V0IHQgVVNJTkcgZXhf bXNvdXJjZSBzIE9OIHQuYSA9IHMuYSBBTkQgdC5hIDwgLTEwMDAKIFdIRU4gTUFUQ0hFRCBBTkQg dC5hIDwgMTAgVEhFTgogCURPIE5PVEhJTkcnKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZXhwbGFpbl9tZXJnZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCi0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBsYWluX21lcmdl ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCiAgTWVyZ2Ugb24gZXhfbXRhcmdldCB0IChhY3R1YWwgcm93cz0wLjAw IGxvb3BzPTEpCi0gICAtPiAgTWVyZ2UgSm9pbiAoYWN0dWFsIHJvd3M9MC4wMCBsb29wcz0xKQot ICAgICAgICAgTWVyZ2UgQ29uZDogKHQuYSA9IHMuYSkKLSAgICAgICAgIC0+ICBTb3J0IChhY3R1 YWwgcm93cz0wLjAwIGxvb3BzPTEpCi0gICAgICAgICAgICAgICBTb3J0IEtleTogdC5hCi0gICAg ICAgICAgICAgICBTb3J0IE1ldGhvZDogcXVpY2tzb3J0ICBNZW1vcnk6IHh4eAorICAgLT4gIEhh c2ggSm9pbiAoYWN0dWFsIHJvd3M9MC4wMCBsb29wcz0xKQorICAgICAgICAgSGFzaCBDb25kOiAo cy5hID0gdC5hKQorICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIGV4X21zb3VyY2UgcyAoYWN0dWFs IHJvd3M9MS4wMCBsb29wcz0xKQorICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9 KGEpIGNoZWNrZWQ9MCByZWplY3RlZD0wICgwLjAlKQorICAgICAgICAgLT4gIEhhc2ggKGFjdHVh bCByb3dzPTAuMDAgbG9vcHM9MSkKKyAgICAgICAgICAgICAgIEJ1Y2tldHM6IHh4eCAgQmF0Y2hl czogeHh4ICBNZW1vcnkgVXNhZ2U6IHh4eAorICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6 IGJpdHM9ODM4ODYwOCBoYXNoZXM9MTAgbWVtb3J5PTEwMjRrQiBjaGVja2VkPTAgcmVqZWN0ZWQ9 MAogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIGV4X210YXJnZXQgdCAoYWN0dWFsIHJv d3M9MC4wMCBsb29wcz0xKQogICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYSA8ICctMTAw MCc6OmludGVnZXIpCiAgICAgICAgICAgICAgICAgICAgICBSb3dzIFJlbW92ZWQgYnkgRmlsdGVy OiA1NAotICAgICAgICAgLT4gIFNvcnQgKG5ldmVyIGV4ZWN1dGVkKQotICAgICAgICAgICAgICAg U29ydCBLZXk6IHMuYQotICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIGV4X21zb3VyY2Ug cyAobmV2ZXIgZXhlY3V0ZWQpCi0oMTIgcm93cykKKygxMSByb3dzKQogCiBEUk9QIFRBQkxFIGV4 X21zb3VyY2UsIGV4X210YXJnZXQ7CiBEUk9QIEZVTkNUSU9OIGV4cGxhaW5fbWVyZ2UodGV4dCk7 CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL21pc2NfZnVuY3Rpb25zLm91 dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvbWlzY19mdW5jdGlvbnMub3V0CmluZGV4IGI1 MjUyODg3MGVmLi43ZmZmNmE3MjBhYSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC9taXNjX2Z1bmN0aW9ucy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9t aXNjX2Z1bmN0aW9ucy5vdXQKQEAgLTYxNCwxNCArNjE0LDE2IEBAIENSRUFURSBGVU5DVElPTiBt eV9nZW5fc2VyaWVzKGludCwgaW50KSBSRVRVUk5TIFNFVE9GIGludGVnZXIKICAgU1VQUE9SVCB0 ZXN0X3N1cHBvcnRfZnVuYzsKIEVYUExBSU4gKENPU1RTIE9GRikKIFNFTEVDVCAqIEZST00gdGVu azEgYSBKT0lOIG15X2dlbl9zZXJpZXMoMSwxMDAwKSBnIE9OIGEudW5pcXVlMSA9IGc7Ci0gICAg ICAgICAgICAgICBRVUVSWSBQTEFOICAgICAgICAgICAgICAgCi0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgICAgICAgICAgICAgICBRVUVSWSBQTEFOICAgICAg ICAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCiAgSGFzaCBKb2luCi0gICBIYXNoIENvbmQ6IChnLmcgPSBhLnVuaXF1ZTEpCi0gICAtPiAg RnVuY3Rpb24gU2NhbiBvbiBteV9nZW5fc2VyaWVzIGcKKyAgIEhhc2ggQ29uZDogKGEudW5pcXVl MSA9IGcuZykKKyAgIC0+ICBTZXEgU2NhbiBvbiB0ZW5rMSBhCisgICAgICAgICBCbG9vbSBGaWx0 ZXIgMToga2V5cz0odW5pcXVlMSkKICAgIC0+ICBIYXNoCi0gICAgICAgICAtPiAgU2VxIFNjYW4g b24gdGVuazEgYQotKDUgcm93cykKKyAgICAgICAgIEJsb29tIEZpbHRlciAxCisgICAgICAgICAt PiAgRnVuY3Rpb24gU2NhbiBvbiBteV9nZW5fc2VyaWVzIGcKKyg3IHJvd3MpCiAKIEVYUExBSU4g KENPU1RTIE9GRikKIFNFTEVDVCAqIEZST00gdGVuazEgYSBKT0lOIG15X2dlbl9zZXJpZXMoMSwx MCkgZyBPTiBhLnVuaXF1ZTEgPSBnOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC9wYXJ0aXRpb25fYWdncmVnYXRlLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv cGFydGl0aW9uX2FnZ3JlZ2F0ZS5vdXQKaW5kZXggYmU1NjAzNjQ2MWIuLmMzMDMwNGI5OWM3IDEw MDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BhcnRpdGlvbl9hZ2dyZWdhdGUu b3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcGFydGl0aW9uX2FnZ3JlZ2F0ZS5v dXQKQEAgLTQ2MCwyOSArNDYwLDIzIEBAIFNFTEVDVCB0MS54LCBzdW0odDEueSksIGNvdW50KCop IEZST00gcGFnZ190YWIxIHQxLCBwYWdnX3RhYjIgdDIgV0hFUkUgdDEueCA9IHQyCiAgICAgICAg ICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0 MS54ID0gdDIueSkKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwYWdnX3Rh YjFfcDEgdDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlz PSh4KQogICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2Vx IFNjYW4gb24gcGFnZ190YWIyX3AxIHQyCiAgICAgICAgICAtPiAgSGFzaEFnZ3JlZ2F0ZQogICAg ICAgICAgICAgICAgR3JvdXAgS2V5OiB0MV8xLngKICAgICAgICAgICAgICAgIC0+ICBIYXNoIEpv aW4KICAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQxXzEueCA9IHQyXzEueSkKICAg ICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwYWdnX3RhYjFfcDIgdDFfMQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDI6IGtleXM9KHgpCiAgICAgICAg ICAgICAgICAgICAgICAtPiAgSGFzaAotICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20g RmlsdGVyIDIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwYWdn X3RhYjJfcDIgdDJfMQogICAgICAgICAgLT4gIEhhc2hBZ2dyZWdhdGUKICAgICAgICAgICAgICAg IEdyb3VwIEtleTogdDFfMi54CiAgICAgICAgICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAgICAg ICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0Ml8yLnkgPSB0MV8yLngpCiAgICAgICAgICAgICAg ICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGFnZ190YWIyX3AzIHQyXzIKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgIEJsb29tIEZpbHRlciAzOiBrZXlzPSh5KQogICAgICAgICAgICAgICAgICAg ICAgLT4gIEhhc2gKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAzCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGFnZ190YWIxX3AzIHQx XzIKLSgzMCByb3dzKQorKDI0IHJvd3MpCiAKIFNFTEVDVCB0MS54LCBzdW0odDEueSksIGNvdW50 KCopIEZST00gcGFnZ190YWIxIHQxLCBwYWdnX3RhYjIgdDIgV0hFUkUgdDEueCA9IHQyLnkgR1JP VVAgQlkgdDEueCBPUkRFUiBCWSAxLCAyLCAzOwogIHggIHwgc3VtICB8IGNvdW50IApAQCAtNTM5 LDI5ICs1MzMsMjMgQEAgU0VMRUNUIHQyLnksIHN1bSh0MS55KSwgY291bnQoKikgRlJPTSBwYWdn X3RhYjEgdDEsIHBhZ2dfdGFiMiB0MiBXSEVSRSB0MS54ID0gdDIKICAgICAgICAgICAgICAgIC0+ ICBIYXNoIEpvaW4KICAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQxLnggPSB0Mi55 KQogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBhZ2dfdGFiMV9wMSB0MQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KHgpCiAgICAg ICAgICAgICAgICAgICAgICAtPiAgSGFzaAotICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxv b20gRmlsdGVyIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBw YWdnX3RhYjJfcDEgdDIKICAgICAgICAgIC0+ICBIYXNoQWdncmVnYXRlCiAgICAgICAgICAgICAg ICBHcm91cCBLZXk6IHQyXzEueQogICAgICAgICAgICAgICAgLT4gIEhhc2ggSm9pbgogICAgICAg ICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDFfMS54ID0gdDJfMS55KQogICAgICAgICAgICAg ICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBhZ2dfdGFiMV9wMiB0MV8xCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMjoga2V5cz0oeCkKICAgICAgICAgICAgICAgICAg ICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBhZ2dfdGFiMl9wMiB0 Ml8xCiAgICAgICAgICAtPiAgSGFzaEFnZ3JlZ2F0ZQogICAgICAgICAgICAgICAgR3JvdXAgS2V5 OiB0Ml8yLnkKICAgICAgICAgICAgICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAgICAgICAgICAg ICAgIEhhc2ggQ29uZDogKHQyXzIueSA9IHQxXzIueCkKICAgICAgICAgICAgICAgICAgICAgIC0+ ICBTZXEgU2NhbiBvbiBwYWdnX3RhYjJfcDMgdDJfMgotICAgICAgICAgICAgICAgICAgICAgICAg ICAgQmxvb20gRmlsdGVyIDM6IGtleXM9KHkpCiAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFz aAotICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDMKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwYWdnX3RhYjFfcDMgdDFfMgotKDMwIHJv d3MpCisoMjQgcm93cykKIAogLS0gV2hlbiBHUk9VUCBCWSBjbGF1c2UgZG9lcyBub3QgbWF0Y2g7 IHBhcnRpYWwgYWdncmVnYXRpb24gaXMgcGVyZm9ybWVkIGZvciBlYWNoIHBhcnRpdGlvbi4KIC0t IEFsc28gdGVzdCBHcm91cEFnZ3JlZ2F0ZSBwYXRocyBieSBkaXNhYmxpbmcgaGFzaCBhZ2dyZWdh dGVzLgpAQCAtNTg0LDkgKzU3Miw3IEBAIFNFTEVDVCB0MS55LCBzdW0odDEueCksIGNvdW50KCop IEZST00gcGFnZ190YWIxIHQxLCBwYWdnX3RhYjIgdDIgV0hFUkUgdDEueCA9IHQyCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBIYXNoIENvbmQ6ICh0MS54ID0gdDIueSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwYWdnX3RhYjFfcDEgdDEKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPSh4KQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGFnZ190YWIyX3AxIHQyCiAgICAg ICAgICAgICAgICAtPiAgUGFydGlhbCBHcm91cEFnZ3JlZ2F0ZQogICAgICAgICAgICAgICAgICAg ICAgR3JvdXAgS2V5OiB0MV8xLnkKQEAgLTU5NSw5ICs1ODEsNyBAQCBTRUxFQ1QgdDEueSwgc3Vt KHQxLngpLCBjb3VudCgqKSBGUk9NIHBhZ2dfdGFiMSB0MSwgcGFnZ190YWIyIHQyIFdIRVJFIHQx LnggPSB0MgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2ggSm9pbgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDFfMS54ID0gdDJfMS55KQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBhZ2dfdGFi MV9wMiB0MV8xCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBG aWx0ZXIgMjoga2V5cz0oeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBI YXNoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIg MgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9u IHBhZ2dfdGFiMl9wMiB0Ml8xCiAgICAgICAgICAgICAgICAtPiAgUGFydGlhbCBHcm91cEFnZ3Jl Z2F0ZQogICAgICAgICAgICAgICAgICAgICAgR3JvdXAgS2V5OiB0MV8yLnkKQEAgLTYwNiwxMSAr NTkwLDkgQEAgU0VMRUNUIHQxLnksIHN1bSh0MS54KSwgY291bnQoKikgRlJPTSBwYWdnX3RhYjEg dDEsIHBhZ2dfdGFiMiB0MiBXSEVSRSB0MS54ID0gdDIKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhhc2gg Q29uZDogKHQyXzIueSA9IHQxXzIueCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IC0+ICBTZXEgU2NhbiBvbiBwYWdnX3RhYjJfcDMgdDJfMgotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDM6IGtleXM9KHkpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaAotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgQmxvb20gRmlsdGVyIDMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwYWdnX3RhYjFfcDMgdDFfMgotKDQwIHJvd3MpCiso MzQgcm93cykKIAogU0VMRUNUIHQxLnksIHN1bSh0MS54KSwgY291bnQoKikgRlJPTSBwYWdnX3Rh YjEgdDEsIHBhZ2dfdGFiMiB0MiBXSEVSRSB0MS54ID0gdDIueSBHUk9VUCBCWSB0MS55IEhBVklO RyBhdmcodDEueCkgPiAxMCBPUkRFUiBCWSAxLCAyLCAzOwogIHkgIHwgc3VtICB8IGNvdW50IApA QCAtNjU2LDExICs2MzgsOSBAQCBTRUxFQ1QgYi55LCBzdW0oYS55KSBGUk9NIHBhZ2dfdGFiMSBh IExFRlQgSk9JTiBwYWdnX3RhYjIgYiBPTiBhLnggPSBiLnkgR1JPVVAgQgogICAgICAgICAgICAg ICAgICAgICAgLT4gIEhhc2ggUmlnaHQgSm9pbgogICAgICAgICAgICAgICAgICAgICAgICAgICAg SGFzaCBDb25kOiAoYl8yLnkgPSBhXzIueCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ ICBTZXEgU2NhbiBvbiBwYWdnX3RhYjJfcDMgYl8yCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0oeSkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0 ZXIgMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBh Z2dfdGFiMV9wMyBhXzIKLSgyOCByb3dzKQorKDI2IHJvd3MpCiAKIFNFTEVDVCBiLnksIHN1bShh LnkpIEZST00gcGFnZ190YWIxIGEgTEVGVCBKT0lOIHBhZ2dfdGFiMiBiIE9OIGEueCA9IGIueSBH Uk9VUCBCWSBiLnkgT1JERVIgQlkgMSBOVUxMUyBMQVNUOwogIHkgIHwgc3VtICAKQEAgLTY4Nywx OCArNjY3LDE0IEBAIFNFTEVDVCBiLnksIHN1bShhLnkpIEZST00gcGFnZ190YWIxIGEgUklHSFQg Sk9JTiBwYWdnX3RhYjIgYiBPTiBhLnggPSBiLnkgR1JPVVAKICAgICAgICAgICAgICAgIC0+ICBI YXNoIFJpZ2h0IEpvaW4KICAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKGEueCA9IGIu eSkKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwYWdnX3RhYjFfcDEgYQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KHgpCiAgICAg ICAgICAgICAgICAgICAgICAtPiAgSGFzaAotICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxv b20gRmlsdGVyIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBw YWdnX3RhYjJfcDEgYgogICAgICAgICAgLT4gIEhhc2hBZ2dyZWdhdGUKICAgICAgICAgICAgICAg IEdyb3VwIEtleTogYl8xLnkKICAgICAgICAgICAgICAgIC0+ICBIYXNoIFJpZ2h0IEpvaW4KICAg ICAgICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKGFfMS54ID0gYl8xLnkpCiAgICAgICAgICAg ICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGFnZ190YWIxX3AyIGFfMQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDI6IGtleXM9KHgpCiAgICAgICAgICAgICAgICAg ICAgICAtPiAgSGFzaAotICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDIK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwYWdnX3RhYjJfcDIg Yl8xCiAgICAgICAgICAtPiAgSGFzaEFnZ3JlZ2F0ZQogICAgICAgICAgICAgICAgR3JvdXAgS2V5 OiBiXzIueQpAQCAtNzA3LDcgKzY4Myw3IEBAIFNFTEVDVCBiLnksIHN1bShhLnkpIEZST00gcGFn Z190YWIxIGEgUklHSFQgSk9JTiBwYWdnX3RhYjIgYiBPTiBhLnggPSBiLnkgR1JPVVAKICAgICAg ICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwYWdnX3RhYjJfcDMgYl8yCiAgICAgICAg ICAgICAgICAgICAgICAtPiAgSGFzaAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFNl cSBTY2FuIG9uIHBhZ2dfdGFiMV9wMyBhXzIKLSgyOCByb3dzKQorKDI0IHJvd3MpCiAKIFNFTEVD VCBiLnksIHN1bShhLnkpIEZST00gcGFnZ190YWIxIGEgUklHSFQgSk9JTiBwYWdnX3RhYjIgYiBP TiBhLnggPSBiLnkgR1JPVVAgQlkgYi55IE9SREVSIEJZIDEgTlVMTFMgTEFTVDsKICB5ICB8IHN1 bSAgCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BhcnRpdGlvbl9qb2lu Lm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcGFydGl0aW9uX2pvaW4ub3V0CmluZGV4 IDE5MDZiMzY0MWEzLi4zODY0M2Q0MWZkNyAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9l eHBlY3RlZC9wYXJ0aXRpb25fam9pbi5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC9wYXJ0aXRpb25fam9pbi5vdXQKQEAgLTM2LDI4ICszNiwyMiBAQCBTRUxFQ1QgdDEuYSwgdDEu YywgdDIuYiwgdDIuYyBGUk9NIHBydDEgdDEsIHBydDIgdDIgV0hFUkUgdDEuYSA9IHQyLmIgQU5E IHQxLmIgPQogICAgICAgICAgLT4gIEhhc2ggSm9pbgogICAgICAgICAgICAgICAgSGFzaCBDb25k OiAodDJfMS5iID0gdDFfMS5hKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDJf cDEgdDJfMQotICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KGIpCiAg ICAgICAgICAgICAgICAtPiAgSGFzaAotICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVy IDEKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX3AxIHQxXzEKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGIgPSAwKQogICAgICAgICAgLT4gIEhh c2ggSm9pbgogICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDJfMi5iID0gdDFfMi5hKQogICAg ICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDJfcDIgdDJfMgotICAgICAgICAgICAgICAg ICAgICAgQmxvb20gRmlsdGVyIDI6IGtleXM9KGIpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAot ICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDIKICAgICAgICAgICAgICAgICAgICAg IC0+ICBTZXEgU2NhbiBvbiBwcnQxX3AyIHQxXzIKICAgICAgICAgICAgICAgICAgICAgICAgICAg IEZpbHRlcjogKGIgPSAwKQogICAgICAgICAgLT4gIEhhc2ggSm9pbgogICAgICAgICAgICAgICAg SGFzaCBDb25kOiAodDJfMy5iID0gdDFfMy5hKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2Fu IG9uIHBydDJfcDMgdDJfMwotICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDM6IGtl eXM9KGIpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAotICAgICAgICAgICAgICAgICAgICAgQmxv b20gRmlsdGVyIDMKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX3Az IHQxXzMKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGIgPSAwKQotKDI3IHJv d3MpCisoMjEgcm93cykKIAogU0VMRUNUIHQxLmEsIHQxLmMsIHQyLmIsIHQyLmMgRlJPTSBwcnQx IHQxLCBwcnQyIHQyIFdIRVJFIHQxLmEgPSB0Mi5iIEFORCB0MS5iID0gMCBPUkRFUiBCWSB0MS5h LCB0Mi5iOwogICBhICB8ICBjICAgfCAgYiAgfCAgYyAgIApAQCAtODMsMjggKzc3LDIyIEBAIFNF TEVDVCB0MS5hLCB0MS5jLCB0Mi5iLCB0Mi5jIEZST00gcHJ0MSB0MSwgcHJ0MiB0MiBXSEVSRSB0 MS5hID0gdDIuYSBBTkQgdDEuYSA9CiAgICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAgICAgICAg ICAgICBIYXNoIENvbmQ6ICh0MV8xLmEgPSB0Ml8xLmEpCiAgICAgICAgICAgICAgICAtPiAgU2Vx IFNjYW4gb24gcHJ0MV9wMSB0MV8xCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIg MToga2V5cz0oYSkKICAgICAgICAgICAgICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAgICAgICAg ICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBy dDJfcDEgdDJfMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYSA9IGIpCiAg ICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0MV8yLmEg PSB0Ml8yLmEpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9wMiB0MV8yCi0g ICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMjoga2V5cz0oYSkKICAgICAgICAgICAg ICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMgogICAgICAg ICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDJfcDIgdDJfMgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgRmlsdGVyOiAoYSA9IGIpCiAgICAgICAgICAtPiAgSGFzaCBKb2luCiAg ICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0MV8zLmEgPSB0Ml8zLmEpCiAgICAgICAgICAgICAg ICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9wMyB0MV8zCi0gICAgICAgICAgICAgICAgICAgICBCbG9v bSBGaWx0ZXIgMzoga2V5cz0oYSkKICAgICAgICAgICAgICAgIC0+ICBIYXNoCi0gICAgICAgICAg ICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMwogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBT Y2FuIG9uIHBydDJfcDMgdDJfMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAo YSA9IGIpCi0oMjcgcm93cykKKygyMSByb3dzKQogCiBTRUxFQ1QgdDEuYSwgdDEuYywgdDIuYiwg dDIuYyBGUk9NIHBydDEgdDEsIHBydDIgdDIgV0hFUkUgdDEuYSA9IHQyLmEgQU5EIHQxLmEgPSB0 Mi5iIE9SREVSIEJZIHQxLmEsIHQyLmI7CiAgYSAgfCAgYyAgIHwgYiAgfCAgYyAgIApAQCAtMjE0 LDE3ICsyMDIsMTMgQEAgU0VMRUNUIHQxLmEsIHQxLmMsIHQyLmIsIHQyLmMgRlJPTSBwcnQxIHQx IFJJR0hUIEpPSU4gcHJ0MiB0MiBPTiB0MS5hID0gdDIuYiBXSEUKICAgICAgICAgIC0+ICBIYXNo IFJpZ2h0IEpvaW4KICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQxXzEuYSA9IHQyXzEuYikK ICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX3AxIHQxXzEKLSAgICAgICAgICAg ICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPShhKQogICAgICAgICAgICAgICAgLT4gIEhh c2gKLSAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAg ICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0Ml9wMSB0Ml8xCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBGaWx0ZXI6IChhID0gMCkKICAgICAgICAgIC0+ICBIYXNoIFJpZ2h0IEpvaW4KICAgICAg ICAgICAgICAgIEhhc2ggQ29uZDogKHQxXzIuYSA9IHQyXzIuYikKICAgICAgICAgICAgICAgIC0+ ICBTZXEgU2NhbiBvbiBwcnQxX3AyIHQxXzIKLSAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZp bHRlciAyOiBrZXlzPShhKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKLSAgICAgICAgICAgICAg ICAgICAgIEJsb29tIEZpbHRlciAyCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4g b24gcHJ0Ml9wMiB0Ml8yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChhID0g MCkKICAgICAgICAgIC0+ICBOZXN0ZWQgTG9vcCBMZWZ0IEpvaW4KQEAgLTIzMiw3ICsyMTYsNyBA QCBTRUxFQ1QgdDEuYSwgdDEuYywgdDIuYiwgdDIuYyBGUk9NIHBydDEgdDEgUklHSFQgSk9JTiBw cnQyIHQyIE9OIHQxLmEgPSB0Mi5iIFdIRQogICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAo YSA9IDApCiAgICAgICAgICAgICAgICAtPiAgSW5kZXggU2NhbiB1c2luZyBpcHJ0MV9wM19hIG9u IHBydDFfcDMgdDFfMwogICAgICAgICAgICAgICAgICAgICAgSW5kZXggQ29uZDogKGEgPSB0Ml8z LmIpCi0oMjQgcm93cykKKygyMCByb3dzKQogCiBTRUxFQ1QgdDEuYSwgdDEuYywgdDIuYiwgdDIu YyBGUk9NIHBydDEgdDEgUklHSFQgSk9JTiBwcnQyIHQyIE9OIHQxLmEgPSB0Mi5iIFdIRVJFIHQy LmEgPSAwIE9SREVSIEJZIHQxLmEsIHQyLmI7CiAgIGEgIHwgIGMgICB8ICBiICB8ICBjICAgCkBA IC0yOTksMTIgKzI4MywxMCBAQCBTRUxFQ1QgdDEuYSwgdDEuYywgdDIuYiwgdDIuYyBGUk9NIHBy dDEgdDEsIHBydDIgdDIgV0hFUkUgdDEuYSA9IHQyLmIgQU5EIHQxLmEgPAogICAgICAgICAgSGFz aCBDb25kOiAodDIuYiA9IHQxLmEpCiAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0Ml9wMiB0 MgogICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA+IDI1MCkKLSAgICAgICAgICAgICAgIEJsb29t IEZpbHRlciAxOiBrZXlzPShiKQogICAgICAgICAgLT4gIEhhc2gKLSAgICAgICAgICAgICAgIEJs b29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9wMiB0MQog ICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoKGEgPCA0NTApIEFORCAoYiA9IDApKQotKDEx IHJvd3MpCisoOSByb3dzKQogCiBTRUxFQ1QgdDEuYSwgdDEuYywgdDIuYiwgdDIuYyBGUk9NIHBy dDEgdDEsIHBydDIgdDIgV0hFUkUgdDEuYSA9IHQyLmIgQU5EIHQxLmEgPCA0NTAgQU5EIHQyLmIg PiAyNTAgQU5EIHQxLmIgPSAwIE9SREVSIEJZIHQxLmEsIHQyLmI7CiAgIGEgIHwgIGMgICB8ICBi ICB8ICBjICAgCkBAIC00MDAsMTggKzM4MiwxNCBAQCBTRUxFQ1QgdDEuKiBGUk9NIHBydDEgdDEg V0hFUkUgdDEuYSBJTiAoU0VMRUNUIHQyLmIgRlJPTSBwcnQyIHQyIFdIRVJFIHQyLmEgPSAwKQog ICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDFfMS5hID0gdDJfMS5iKQogICAgICAgICAgICAg ICAgLT4gIFNlcSBTY2FuIG9uIHBydDFfcDEgdDFfMQogICAgICAgICAgICAgICAgICAgICAgRmls dGVyOiAoYiA9IDApCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0o YSkKICAgICAgICAgICAgICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBG aWx0ZXIgMQogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDJfcDEgdDJf MQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYSA9IDApCiAgICAgICAgICAt PiAgSGFzaCBTZW1pIEpvaW4KICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQxXzIuYSA9IHQy XzIuYikKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX3AyIHQxXzIKICAgICAg ICAgICAgICAgICAgICAgIEZpbHRlcjogKGIgPSAwKQotICAgICAgICAgICAgICAgICAgICAgQmxv b20gRmlsdGVyIDI6IGtleXM9KGEpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAotICAgICAgICAg ICAgICAgICAgICAgQmxvb20gRmlsdGVyIDIKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEg U2NhbiBvbiBwcnQyX3AyIHQyXzIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjog KGEgPSAwKQogICAgICAgICAgLT4gIE5lc3RlZCBMb29wIFNlbWkgSm9pbgpAQCAtNDIxLDcgKzM5 OSw3IEBAIFNFTEVDVCB0MS4qIEZST00gcHJ0MSB0MSBXSEVSRSB0MS5hIElOIChTRUxFQ1QgdDIu YiBGUk9NIHBydDIgdDIgV0hFUkUgdDIuYSA9IDApCiAgICAgICAgICAgICAgICAtPiAgTWF0ZXJp YWxpemUKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQyX3AzIHQyXzMK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGEgPSAwKQotKDI4IHJvd3MpCiso MjQgcm93cykKIAogU0VMRUNUIHQxLiogRlJPTSBwcnQxIHQxIFdIRVJFIHQxLmEgSU4gKFNFTEVD VCB0Mi5iIEZST00gcHJ0MiB0MiBXSEVSRSB0Mi5hID0gMCkgQU5EIHQxLmIgPSAwIE9SREVSIEJZ IHQxLmE7CiAgIGEgIHwgYiB8ICBjICAgCkBAIC01MzcsMjUgKzUxNSwxOSBAQCBTRUxFQ1QgdDEu YSwgc3MudDJhLCBzcy50MmMgRlJPTSBwcnQxIHQxIExFRlQgSk9JTiBMQVRFUkFMCiAgICAgICAg ICAgICAgICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBI YXNoIENvbmQ6ICh0Ml8xLmEgPSB0M18xLmIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAt PiAgU2VxIFNjYW4gb24gcHJ0MV9wMSB0Ml8xCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0oYSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg IC0+ICBIYXNoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIg MQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDJf cDEgdDNfMQogICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2ggSm9pbgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDJfMi5hID0gdDNfMi5iKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDFfcDIgdDJfMgotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDI6IGtleXM9KGEpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAtPiAgSGFzaAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgQmxvb20gRmlsdGVyIDIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBT ZXEgU2NhbiBvbiBwcnQyX3AyIHQzXzIKICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoIEpv aW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQyXzMuYSA9IHQzXzMu YikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX3AzIHQy XzMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAzOiBrZXlz PShhKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAzCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0Ml9wMyB0M18zCi0oMzIgcm93cykKKygyNiBy b3dzKQogCiBTRUxFQ1QgdDEuYSwgc3MudDJhLCBzcy50MmMgRlJPTSBwcnQxIHQxIExFRlQgSk9J TiBMQVRFUkFMCiAJCQkgIChTRUxFQ1QgdDIuYSBBUyB0MmEsIHQzLmEgQVMgdDNhLCB0Mi5iIHQy YiwgdDIuYyB0MmMsIGxlYXN0KHQxLmEsdDIuYSx0My5hKSBGUk9NIHBydDEgdDIgSk9JTiBwcnQy IHQzIE9OICh0Mi5hID0gdDMuYikpIHNzCkBAIC03NTYsNDEgKzcyOCwyOSBAQCBTRUxFQ1QgKiBG Uk9NIHBydDEgdDEgSk9JTiBwcnQxIHQyIE9OIHQxLmEgPSB0Mi5hIFdIRVJFIHQxLmEgSU4gKFNF TEVDVCBhIEZST00gcAogICAgICAgICAgLT4gIEhhc2ggSm9pbgogICAgICAgICAgICAgICAgSGFz aCBDb25kOiAodDFfMS5hID0gdDJfMS5hKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9u IHBydDFfcDEgdDFfMQotICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9 KGEpCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMjoga2V5cz0oYSkKICAgICAg ICAgICAgICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQog ICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDFfcDEgdDJfMQogICAgICAg ICAgLT4gIEhhc2gKLSAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyCiAgICAgICAgICAgICAg ICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9wMSB0M18xCiAgICAtPiAgSGFzaCBTZW1pIEpvaW4KICAg ICAgICAgIEhhc2ggQ29uZDogKHQxXzIuYSA9IHQzXzIuYSkKICAgICAgICAgIC0+ICBIYXNoIEpv aW4KICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQxXzIuYSA9IHQyXzIuYSkKICAgICAgICAg ICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX3AyIHQxXzIKLSAgICAgICAgICAgICAgICAgICAg IEJsb29tIEZpbHRlciAzOiBrZXlzPShhKQotICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmls dGVyIDQ6IGtleXM9KGEpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAotICAgICAgICAgICAgICAg ICAgICAgQmxvb20gRmlsdGVyIDMKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBv biBwcnQxX3AyIHQyXzIKICAgICAgICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAgICBCbG9vbSBG aWx0ZXIgNAogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDFfcDIgdDNfMgogICAg LT4gIEhhc2ggU2VtaSBKb2luCiAgICAgICAgICBIYXNoIENvbmQ6ICh0MV8zLmEgPSB0M18zLmEp CiAgICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0MV8z LmEgPSB0Ml8zLmEpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9wMyB0MV8z Ci0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgNToga2V5cz0oYSkKLSAgICAgICAg ICAgICAgICAgICAgIEJsb29tIEZpbHRlciA2OiBrZXlzPShhKQogICAgICAgICAgICAgICAgLT4g IEhhc2gKLSAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciA1CiAgICAgICAgICAgICAg ICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9wMyB0Ml8zCiAgICAgICAgICAtPiAgSGFzaAot ICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDYKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2Nh biBvbiBwcnQxX3AzIHQzXzMKLSg0MCByb3dzKQorKDI4IHJvd3MpCiAKIC0tCiAtLSBwYXJ0aXRp b25lZCBieSBleHByZXNzaW9uCkBAIC04NjEsOSArODIxLDcgQEAgU0VMRUNUIHQxLmEsIHQxLmMs IHQyLmIsIHQyLmMsIHQzLmEgKyB0My5iLCB0My5jIEZST00gcHJ0MSB0MSwgcHJ0MiB0MiwgcHJ0 MV9lIHQKICAgICAgICAgICAgICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAgICAgICAgICAgICAg IEhhc2ggQ29uZDogKHQyXzEuYiA9IHQxXzEuYSkKICAgICAgICAgICAgICAgICAgICAgIC0+ICBT ZXEgU2NhbiBvbiBwcnQyX3AxIHQyXzEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29t IEZpbHRlciAxOiBrZXlzPShiKQogICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9wMSB0MV8xCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBGaWx0ZXI6IChiID0gMCkKICAgICAgICAgICAgICAgIC0+ICBJbmRleCBT Y2FuIHVzaW5nIGlwcnQxX2VfcDFfYWIyIG9uIHBydDFfZV9wMSB0M18xCkBAIC04NzMsOSArODMx LDcgQEAgU0VMRUNUIHQxLmEsIHQxLmMsIHQyLmIsIHQyLmMsIHQzLmEgKyB0My5iLCB0My5jIEZS T00gcHJ0MSB0MSwgcHJ0MiB0MiwgcHJ0MV9lIHQKICAgICAgICAgICAgICAgIC0+ICBIYXNoIEpv aW4KICAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQyXzIuYiA9IHQxXzIuYSkKICAg ICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQyX3AyIHQyXzIKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyOiBrZXlzPShiKQogICAgICAgICAgICAg ICAgICAgICAgLT4gIEhhc2gKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRl ciAyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9wMiB0 MV8yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiID0gMCkKICAg ICAgICAgICAgICAgIC0+ICBJbmRleCBTY2FuIHVzaW5nIGlwcnQxX2VfcDJfYWIyIG9uIHBydDFf ZV9wMiB0M18yCkBAIC04ODUsMTQgKzg0MSwxMiBAQCBTRUxFQ1QgdDEuYSwgdDEuYywgdDIuYiwg dDIuYywgdDMuYSArIHQzLmIsIHQzLmMgRlJPTSBwcnQxIHQxLCBwcnQyIHQyLCBwcnQxX2UgdAog ICAgICAgICAgICAgICAgLT4gIEhhc2ggSm9pbgogICAgICAgICAgICAgICAgICAgICAgSGFzaCBD b25kOiAodDJfMy5iID0gdDFfMy5hKQogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2Fu IG9uIHBydDJfcDMgdDJfMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVy IDM6IGtleXM9KGIpCiAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDMKICAgICAgICAgICAgICAgICAgICAgICAgICAg IC0+ICBTZXEgU2NhbiBvbiBwcnQxX3AzIHQxXzMKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEZpbHRlcjogKGIgPSAwKQogICAgICAgICAgICAgICAgLT4gIEluZGV4IFNjYW4gdXNp bmcgaXBydDFfZV9wM19hYjIgb24gcHJ0MV9lX3AzIHQzXzMKICAgICAgICAgICAgICAgICAgICAg IEluZGV4IENvbmQ6ICgoKGEgKyBiKSAvIDIpID0gdDJfMy5iKQotKDM5IHJvd3MpCisoMzMgcm93 cykKIAogU0VMRUNUIHQxLmEsIHQxLmMsIHQyLmIsIHQyLmMsIHQzLmEgKyB0My5iLCB0My5jIEZS T00gcHJ0MSB0MSwgcHJ0MiB0MiwgcHJ0MV9lIHQzIFdIRVJFIHQxLmEgPSB0Mi5iIEFORCB0MS5h ID0gKHQzLmEgKyB0My5iKS8yIEFORCB0MS5iID0gMCBPUkRFUiBCWSB0MS5hLCB0Mi5iOwogICBh ICB8ICBjICAgfCAgYiAgfCAgYyAgIHwgP2NvbHVtbj8gfCBjIApAQCAtOTE3LDkgKzg3MSw3IEBA IFNFTEVDVCB0MS5hLCB0MS5jLCB0Mi5iLCB0Mi5jLCB0My5hICsgdDMuYiwgdDMuYyBGUk9NIChw cnQxIHQxIExFRlQgSk9JTiBwcnQyIHQyCiAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaCBS aWdodCBKb2luCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0Ml8xLmIg PSB0MV8xLmEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0 Ml9wMSB0Ml8xCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIg MToga2V5cz0oYikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDFfcDEgdDFfMQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA9IDApCiAgICAgICAgICAt PiAgSGFzaCBSaWdodCBKb2luCkBAIC05MjksOSArODgxLDcgQEAgU0VMRUNUIHQxLmEsIHQxLmMs IHQyLmIsIHQyLmMsIHQzLmEgKyB0My5iLCB0My5jIEZST00gKHBydDEgdDEgTEVGVCBKT0lOIHBy dDIgdDIKICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoIFJpZ2h0IEpvaW4KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQyXzIuYiA9IHQxXzIuYSkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQyX3AyIHQyXzIKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyOiBrZXlzPShiKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEJsb29tIEZpbHRlciAyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAt PiAgU2VxIFNjYW4gb24gcHJ0MV9wMiB0MV8yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBGaWx0ZXI6IChiID0gMCkKICAgICAgICAgIC0+ICBIYXNoIFJpZ2h0IEpvaW4K QEAgLTk0MSwxMiArODkxLDEwIEBAIFNFTEVDVCB0MS5hLCB0MS5jLCB0Mi5iLCB0Mi5jLCB0My5h ICsgdDMuYiwgdDMuYyBGUk9NIChwcnQxIHQxIExFRlQgSk9JTiBwcnQyIHQyCiAgICAgICAgICAg ICAgICAgICAgICAtPiAgSGFzaCBSaWdodCBKb2luCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBIYXNoIENvbmQ6ICh0Ml8zLmIgPSB0MV8zLmEpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAtPiAgU2VxIFNjYW4gb24gcHJ0Ml9wMyB0Ml8zCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBCbG9vbSBGaWx0ZXIgMzoga2V5cz0oYikKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0 ZXIgMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBy dDFfcDMgdDFfMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVy OiAoYiA9IDApCi0oMzkgcm93cykKKygzMyByb3dzKQogCiBTRUxFQ1QgdDEuYSwgdDEuYywgdDIu YiwgdDIuYywgdDMuYSArIHQzLmIsIHQzLmMgRlJPTSAocHJ0MSB0MSBMRUZUIEpPSU4gcHJ0MiB0 MiBPTiB0MS5hID0gdDIuYikgTEVGVCBKT0lOIHBydDFfZSB0MyBPTiAodDEuYSA9ICh0My5hICsg dDMuYikvMikgV0hFUkUgdDEuYiA9IDAgT1JERVIgQlkgdDEuYSwgdDIuYiwgdDMuYSArIHQzLmI7 CiAgIGEgIHwgIGMgICB8ICBiICB8ICBjICAgfCA/Y29sdW1uPyB8IGMgCkBAIC05NzYsOSArOTI0 LDcgQEAgU0VMRUNUIHQxLmEsIHQxLmMsIHQyLmIsIHQyLmMsIHQzLmEgKyB0My5iLCB0My5jIEZS T00gKHBydDEgdDEgTEVGVCBKT0lOIHBydDIgdDIKICAgICAgICAgICAgICAgIC0+ICBIYXNoIFJp Z2h0IEpvaW4KICAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQxXzEuYSA9ICgodDNf MS5hICsgdDNfMS5iKSAvIDIpKQogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9u IHBydDFfcDEgdDFfMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6 IGtleXM9KGEpCiAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ ICBTZXEgU2NhbiBvbiBwcnQxX2VfcDEgdDNfMQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgRmlsdGVyOiAoYyA9IDApCiAgICAgICAgICAgICAgICAtPiAgSW5kZXggU2NhbiB1c2lu ZyBpcHJ0Ml9wMV9iIG9uIHBydDJfcDEgdDJfMQpAQCAtOTg3LDkgKzkzMyw3IEBAIFNFTEVDVCB0 MS5hLCB0MS5jLCB0Mi5iLCB0Mi5jLCB0My5hICsgdDMuYiwgdDMuYyBGUk9NIChwcnQxIHQxIExF RlQgSk9JTiBwcnQyIHQyCiAgICAgICAgICAgICAgICAtPiAgSGFzaCBSaWdodCBKb2luCiAgICAg ICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0MV8yLmEgPSAoKHQzXzIuYSArIHQzXzIuYikg LyAyKSkKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX3AyIHQxXzIK LSAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyOiBrZXlzPShhKQogICAg ICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIEJs b29tIEZpbHRlciAyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24g cHJ0MV9lX3AyIHQzXzIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjog KGMgPSAwKQogICAgICAgICAgICAgICAgLT4gIEluZGV4IFNjYW4gdXNpbmcgaXBydDJfcDJfYiBv biBwcnQyX3AyIHQyXzIKQEAgLTk5OCwxNCArOTQyLDEyIEBAIFNFTEVDVCB0MS5hLCB0MS5jLCB0 Mi5iLCB0Mi5jLCB0My5hICsgdDMuYiwgdDMuYyBGUk9NIChwcnQxIHQxIExFRlQgSk9JTiBwcnQy IHQyCiAgICAgICAgICAgICAgICAtPiAgSGFzaCBSaWdodCBKb2luCiAgICAgICAgICAgICAgICAg ICAgICBIYXNoIENvbmQ6ICh0MV8zLmEgPSAoKHQzXzMuYSArIHQzXzMuYikgLyAyKSkKICAgICAg ICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX3AzIHQxXzMKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAzOiBrZXlzPShhKQogICAgICAgICAgICAgICAg ICAgICAgLT4gIEhhc2gKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAz CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9lX3AzIHQz XzMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGMgPSAwKQogICAg ICAgICAgICAgICAgLT4gIEluZGV4IFNjYW4gdXNpbmcgaXBydDJfcDNfYiBvbiBwcnQyX3AzIHQy XzMKICAgICAgICAgICAgICAgICAgICAgIEluZGV4IENvbmQ6IChiID0gdDFfMy5hKQotKDM2IHJv d3MpCisoMzAgcm93cykKIAogU0VMRUNUIHQxLmEsIHQxLmMsIHQyLmIsIHQyLmMsIHQzLmEgKyB0 My5iLCB0My5jIEZST00gKHBydDEgdDEgTEVGVCBKT0lOIHBydDIgdDIgT04gdDEuYSA9IHQyLmIp IFJJR0hUIEpPSU4gcHJ0MV9lIHQzIE9OICh0MS5hID0gKHQzLmEgKyB0My5iKS8yKSBXSEVSRSB0 My5jID0gMCBPUkRFUiBCWSB0MS5hLCB0Mi5iLCB0My5hICsgdDMuYjsKICAgYSAgfCAgYyAgIHwg IGIgIHwgIGMgICB8ID9jb2x1bW4/IHwgYyAKQEAgLTEyNjMsOSArMTIwNSw3IEBAIFNFTEVDVCB0 MS4qIEZST00gcHJ0MSB0MSBXSEVSRSB0MS5hIElOIChTRUxFQ1QgdDEuYiBGUk9NIHBydDIgdDEg V0hFUkUgdDEuYiBJTiAoCiAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaCBTZW1pIEpvaW4K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQxXzYuYiA9ICgodDFfOS5h ICsgdDFfOS5iKSAvIDIpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2Fu IG9uIHBydDJfcDEgdDFfNgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20g RmlsdGVyIDE6IGtleXM9KGIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX2VfcDEgdDFfOQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYyA9IDApCiAg ICAgICAgICAtPiAgSW5kZXggU2NhbiB1c2luZyBpcHJ0MV9wMV9hIG9uIHBydDFfcDEgdDFfMwpA QCAtMTI3OCw5ICsxMjE4LDcgQEAgU0VMRUNUIHQxLiogRlJPTSBwcnQxIHQxIFdIRVJFIHQxLmEg SU4gKFNFTEVDVCB0MS5iIEZST00gcHJ0MiB0MSBXSEVSRSB0MS5iIElOICgKICAgICAgICAgICAg ICAgICAgICAgIC0+ICBIYXNoIFNlbWkgSm9pbgogICAgICAgICAgICAgICAgICAgICAgICAgICAg SGFzaCBDb25kOiAodDFfNy5iID0gKCh0MV8xMC5hICsgdDFfMTAuYikgLyAyKSkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQyX3AyIHQxXzcKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyOiBrZXlzPShiKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEJsb29tIEZpbHRlciAyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAt PiAgU2VxIFNjYW4gb24gcHJ0MV9lX3AyIHQxXzEwCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBGaWx0ZXI6IChjID0gMCkKICAgICAgICAgIC0+ICBJbmRleCBTY2FuIHVz aW5nIGlwcnQxX3AyX2Egb24gcHJ0MV9wMiB0MV80CkBAIC0xMjkzLDE1ICsxMjMxLDEzIEBAIFNF TEVDVCB0MS4qIEZST00gcHJ0MSB0MSBXSEVSRSB0MS5hIElOIChTRUxFQ1QgdDEuYiBGUk9NIHBy dDIgdDEgV0hFUkUgdDEuYiBJTiAoCiAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaCBTZW1p IEpvaW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQxXzguYiA9ICgo dDFfMTEuYSArIHQxXzExLmIpIC8gMikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAg U2VxIFNjYW4gb24gcHJ0Ml9wMyB0MV84Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBCbG9vbSBGaWx0ZXIgMzoga2V5cz0oYikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ ICBIYXNoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDFfZV9w MyB0MV8xMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAo YyA9IDApCiAgICAgICAgICAtPiAgSW5kZXggU2NhbiB1c2luZyBpcHJ0MV9wM19hIG9uIHBydDFf cDMgdDFfNQogICAgICAgICAgICAgICAgSW5kZXggQ29uZDogKGEgPSB0MV84LmIpCiAgICAgICAg ICAgICAgICBGaWx0ZXI6IChiID0gMCkKLSg0NyByb3dzKQorKDQxIHJvd3MpCiAKIFNFTEVDVCB0 MS4qIEZST00gcHJ0MSB0MSBXSEVSRSB0MS5hIElOIChTRUxFQ1QgdDEuYiBGUk9NIHBydDIgdDEg V0hFUkUgdDEuYiBJTiAoU0VMRUNUICh0MS5hICsgdDEuYikvMiBGUk9NIHBydDFfZSB0MSBXSEVS RSB0MS5jID0gMCkpIEFORCB0MS5iID0gMCBPUkRFUiBCWSB0MS5hOwogICBhICB8IGIgfCAgYyAg IApAQCAtMTYzMSw0MSArMTU2NywyOSBAQCBTRUxFQ1QgYXZnKHQxLmEpLCBhdmcodDIuYiksIGF2 Zyh0My5hICsgdDMuYiksIHQxLmMsIHQyLmMsIHQzLmMgRlJPTSBwbHQxIHQxLCBwbAogICAgICAg ICAgICAgICAgICAgICAgLT4gIEhhc2ggSm9pbgogICAgICAgICAgICAgICAgICAgICAgICAgICAg SGFzaCBDb25kOiAoKHQxXzEuYiA9IHQyXzEuYikgQU5EICh0MV8xLmMgPSB0Ml8xLmMpKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDFfcDEgdDFfMQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KGIsIGMp Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMjoga2V5cz0o YykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDJfcDEgdDJfMQogICAgICAgICAgICAgICAgICAg ICAgLT4gIEhhc2gKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0MV9lX3AxIHQzXzEK ICAgICAgICAgICAgICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAgICAgICAgICAgICAgIEhhc2gg Q29uZDogKHQxXzIuYyA9IGx0cmltKHQzXzIuYywgJ0EnOjp0ZXh0KSkKICAgICAgICAgICAgICAg ICAgICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29u ZDogKCh0MV8yLmIgPSB0Ml8yLmIpIEFORCAodDFfMi5jID0gdDJfMi5jKSkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQxX3AyIHQxXzIKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAzOiBrZXlzPShiLCBjKQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDQ6IGtleXM9KGMpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgQmxvb20gRmlsdGVyIDMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IC0+ICBTZXEgU2NhbiBvbiBwbHQyX3AyIHQyXzIKICAgICAgICAgICAgICAgICAgICAgIC0+ICBI YXNoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgNAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDFfZV9wMiB0M18yCiAgICAgICAg ICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0 MV8zLmMgPSBsdHJpbSh0M18zLmMsICdBJzo6dGV4dCkpCiAgICAgICAgICAgICAgICAgICAgICAt PiAgSGFzaCBKb2luCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICgodDFf My5iID0gdDJfMy5iKSBBTkQgKHQxXzMuYyA9IHQyXzMuYykpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0MV9wMyB0MV8zCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgNToga2V5cz0oYiwgYykKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciA2OiBrZXlzPShjKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgLT4gIEhhc2gKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IEJsb29tIEZpbHRlciA1CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2Vx IFNjYW4gb24gcGx0Ml9wMyB0Ml8zCiAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaAotICAg ICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDYKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQxX2VfcDMgdDNfMwotKDQ0IHJvd3MpCisoMzIg cm93cykKIAogU0VMRUNUIGF2Zyh0MS5hKSwgYXZnKHQyLmIpLCBhdmcodDMuYSArIHQzLmIpLCB0 MS5jLCB0Mi5jLCB0My5jIEZST00gcGx0MSB0MSwgcGx0MiB0MiwgcGx0MV9lIHQzIFdIRVJFIHQx LmIgPSB0Mi5iIEFORCB0MS5jID0gdDIuYyBBTkQgbHRyaW0odDMuYywgJ0EnKSA9IHQxLmMgR1JP VVAgQlkgdDEuYywgdDIuYywgdDMuYyBPUkRFUiBCWSB0MS5jLCB0Mi5jLCB0My5jOwogICAgICAg ICAgYXZnICAgICAgICAgIHwgICAgICAgICBhdmcgICAgICAgICAgfCAgICAgICAgICBhdmcgICAg ICAgICAgfCAgYyAgIHwgIGMgICB8ICAgYyAgIApAQCAtMTcxMywyOSArMTYzNywyMyBAQCBTRUxF Q1QgdDEuYSwgdDEuYywgdDIuYiwgdDIuYyBGUk9NIChTRUxFQ1QgKiBGUk9NIHBydDEgV0hFUkUg YSA9IDEgQU5EIGEgPSAyKSB0MQogICAgICAgICAgLT4gIEhhc2ggSm9pbgogICAgICAgICAgICAg ICAgSGFzaCBDb25kOiAodDNfMS5hID0gdDJfMS5iKQogICAgICAgICAgICAgICAgLT4gIFNlcSBT Y2FuIG9uIHBydDFfcDEgdDNfMQotICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6 IGtleXM9KGEpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAotICAgICAgICAgICAgICAgICAgICAg Qmxvb20gRmlsdGVyIDEKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQy X3AxIHQyXzEKICAgICAgICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAgICAgICAgIEhhc2ggQ29u ZDogKHQzXzIuYSA9IHQyXzIuYikKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQx X3AyIHQzXzIKLSAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyOiBrZXlzPShhKQog ICAgICAgICAgICAgICAgLT4gIEhhc2gKLSAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRl ciAyCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0Ml9wMiB0Ml8yCiAg ICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0M18zLmEg PSB0Ml8zLmIpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9wMyB0M18zCi0g ICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMzoga2V5cz0oYSkKICAgICAgICAgICAg ICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMwogICAgICAg ICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDJfcDMgdDJfMwogICAgLT4gIEhhc2gK ICAgICAgICAgIC0+ICBSZXN1bHQKICAgICAgICAgICAgICAgIFJlcGxhY2VzOiBTY2FuIG9uIHBy dDEKICAgICAgICAgICAgICAgIE9uZS1UaW1lIEZpbHRlcjogZmFsc2UKLSgyOCByb3dzKQorKDIy IHJvd3MpCiAKIEVYUExBSU4gKENPU1RTIE9GRikKIFNFTEVDVCB0MS5hLCB0MS5jLCB0Mi5iLCB0 Mi5jIEZST00gKFNFTEVDVCAqIEZST00gcHJ0MSBXSEVSRSBhID0gMSBBTkQgYSA9IDIpIHQxIEZV TEwgSk9JTiBwcnQyIHQyIE9OIHQxLmEgPSB0Mi5iIFdIRVJFIHQyLmEgPSAwIE9SREVSIEJZIHQx LmEsIHQyLmI7CkBAIC0xNzk3LDQxICsxNzE1LDI5IEBAIFNFTEVDVCBhdmcodDEuYSksIGF2Zyh0 Mi5iKSwgYXZnKHQzLmEgKyB0My5iKSwgdDEuYywgdDIuYywgdDMuYyBGUk9NIHBodDEgdDEsIHBo CiAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBIYXNoIENvbmQ6ICgodDFfMS5iID0gdDJfMS5iKSBBTkQgKHQxXzEuYyA9IHQyXzEu YykpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGh0MV9wMSB0 MV8xCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5 cz0oYiwgYykKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAy OiBrZXlzPShjKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGh0Ml9wMSB0Ml8xCiAgICAgICAgICAg ICAgICAgICAgICAtPiAgSGFzaAotICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmls dGVyIDIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwaHQxX2Vf cDEgdDNfMQogICAgICAgICAgICAgICAgLT4gIEhhc2ggSm9pbgogICAgICAgICAgICAgICAgICAg ICAgSGFzaCBDb25kOiAodDFfMi5jID0gbHRyaW0odDNfMi5jLCAnQSc6OnRleHQpKQogICAgICAg ICAgICAgICAgICAgICAgLT4gIEhhc2ggSm9pbgogICAgICAgICAgICAgICAgICAgICAgICAgICAg SGFzaCBDb25kOiAoKHQxXzIuYiA9IHQyXzIuYikgQU5EICh0MV8yLmMgPSB0Ml8yLmMpKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBodDFfcDIgdDFfMgotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDM6IGtleXM9KGIsIGMp Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgNDoga2V5cz0o YykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBodDJfcDIgdDJfMgogICAgICAgICAgICAgICAgICAg ICAgLT4gIEhhc2gKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciA0CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGh0MV9lX3AyIHQzXzIK ICAgICAgICAgICAgICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAgICAgICAgICAgICAgIEhhc2gg Q29uZDogKHQxXzMuYyA9IGx0cmltKHQzXzMuYywgJ0EnOjp0ZXh0KSkKICAgICAgICAgICAgICAg ICAgICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29u ZDogKCh0MV8zLmIgPSB0Ml8zLmIpIEFORCAodDFfMy5jID0gdDJfMy5jKSkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwaHQxX3AzIHQxXzMKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciA1OiBrZXlzPShiLCBjKQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDY6IGtleXM9KGMpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgQmxvb20gRmlsdGVyIDUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IC0+ICBTZXEgU2NhbiBvbiBwaHQyX3AzIHQyXzMKICAgICAgICAgICAgICAgICAgICAgIC0+ICBI YXNoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgNgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBodDFfZV9wMyB0M18zCi0oNDQgcm93 cykKKygzMiByb3dzKQogCiBTRUxFQ1QgYXZnKHQxLmEpLCBhdmcodDIuYiksIGF2Zyh0My5hICsg dDMuYiksIHQxLmMsIHQyLmMsIHQzLmMgRlJPTSBwaHQxIHQxLCBwaHQyIHQyLCBwaHQxX2UgdDMg V0hFUkUgdDEuYiA9IHQyLmIgQU5EIHQxLmMgPSB0Mi5jIEFORCBsdHJpbSh0My5jLCAnQScpID0g dDEuYyBHUk9VUCBCWSB0MS5jLCB0Mi5jLCB0My5jIE9SREVSIEJZIHQxLmMsIHQyLmMsIHQzLmM7 CiAgICAgICAgICBhdmcgICAgICAgICAgfCAgICAgICAgIGF2ZyAgICAgICAgICB8ICAgICAgICAg YXZnICAgICAgICAgIHwgIGMgICB8ICBjICAgfCAgIGMgICAKQEAgLTE4NjEsMjggKzE3NjcsMjIg QEAgU0VMRUNUIHQxLmEsIHQxLmMsIHQyLmIsIHQyLmMgRlJPTSBwcnQxIHQxLCBwcnQyIHQyIFdI RVJFIHQxLmEgPSB0Mi5iIEFORCB0MS5iID0KICAgICAgICAgIC0+ICBIYXNoIEpvaW4KICAgICAg ICAgICAgICAgIEhhc2ggQ29uZDogKHQyXzEuYiA9IHQxXzEuYSkKICAgICAgICAgICAgICAgIC0+ ICBTZXEgU2NhbiBvbiBwcnQyX3AxIHQyXzEKLSAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZp bHRlciAxOiBrZXlzPShiKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKLSAgICAgICAgICAgICAg ICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4g b24gcHJ0MV9wMSB0MV8xCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiID0g MCkKICAgICAgICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQy XzIuYiA9IHQxXzIuYSkKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQyX3AyIHQy XzIKLSAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyOiBrZXlzPShiKQogICAgICAg ICAgICAgICAgLT4gIEhhc2gKLSAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyCiAg ICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9wMiB0MV8yCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiID0gMCkKICAgICAgICAgIC0+ICBIYXNoIEpv aW4KICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQyXzMuYiA9IHQxXzMuYSkKICAgICAgICAg ICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQyX3AzIHQyXzMKLSAgICAgICAgICAgICAgICAgICAg IEJsb29tIEZpbHRlciAzOiBrZXlzPShiKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKLSAgICAg ICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAzCiAgICAgICAgICAgICAgICAgICAgICAtPiAg U2VxIFNjYW4gb24gcHJ0MV9wMyB0MV8zCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0 ZXI6IChiID0gMCkKLSgyNyByb3dzKQorKDIxIHJvd3MpCiAKIC0tIHRlc3QgZGVmYXVsdCBwYXJ0 aXRpb24gYmVoYXZpb3IgZm9yIGxpc3QKIEFMVEVSIFRBQkxFIHBsdDEgREVUQUNIIFBBUlRJVElP TiBwbHQxX3AzOwpAQCAtMTkwMywyOCArMTgwMywyMiBAQCBTRUxFQ1QgYXZnKHQxLmEpLCBhdmco dDIuYiksIHQxLmMsIHQyLmMgRlJPTSBwbHQxIHQxIFJJR0hUIEpPSU4gcGx0MiB0MiBPTiB0MS5j CiAgICAgICAgICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAgICAgICAgICAgICAgICAgICBIYXNo IENvbmQ6ICh0Ml8xLmMgPSB0MV8xLmMpCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNj YW4gb24gcGx0Ml9wMSB0Ml8xCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0 ZXIgMToga2V5cz0oYykKICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgLT4gIFNlcSBTY2FuIG9uIHBsdDFfcDEgdDFfMQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgRmlsdGVyOiAoKGEgJSAyNSkgPSAwKQogICAgICAgICAgICAgICAgLT4gIEhhc2gg Sm9pbgogICAgICAgICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDJfMi5jID0gdDFfMi5jKQog ICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDJfcDIgdDJfMgotICAgICAg ICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDI6IGtleXM9KGMpCiAgICAgICAgICAg ICAgICAgICAgICAtPiAgSGFzaAotICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmls dGVyIDIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQxX3Ay IHQxXzIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKChhICUgMjUp ID0gMCkKICAgICAgICAgICAgICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAgICAgICAgICAgICAg IEhhc2ggQ29uZDogKHQyXzMuYyA9IHQxXzMuYykKICAgICAgICAgICAgICAgICAgICAgIC0+ICBT ZXEgU2NhbiBvbiBwbHQyX3AzIHQyXzMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29t IEZpbHRlciAzOiBrZXlzPShjKQogICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAzCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0MV9wMyB0MV8zCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBGaWx0ZXI6ICgoYSAlIDI1KSA9IDApCi0oMjkgcm93cykKKygyMyByb3dz KQogCiAtLQogLS0gbXVsdGlwbGUgbGV2ZWxzIG9mIHBhcnRpdGlvbmluZwpAQCAtMTk2MCw5ICsx ODU0LDcgQEAgU0VMRUNUIHQxLmEsIHQxLmMsIHQyLmIsIHQyLmMgRlJPTSBwcnQxX2wgdDEsIHBy dDJfbCB0MiBXSEVSRSB0MS5hID0gdDIuYiBBTkQgdDEKICAgICAgICAgIC0+ICBIYXNoIEpvaW4K ICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQyXzEuYiA9IHQxXzEuYSkKICAgICAgICAgICAg ICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQyX2xfcDEgdDJfMQotICAgICAgICAgICAgICAgICAgICAg Qmxvb20gRmlsdGVyIDE6IGtleXM9KGIpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAotICAgICAg ICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgICAgICAgICAgICAgIC0+ICBT ZXEgU2NhbiBvbiBwcnQxX2xfcDEgdDFfMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmls dGVyOiAoYiA9IDApCiAgICAgICAgICAtPiAgSGFzaCBKb2luCkBAIC0xOTg0LDcgKzE4NzYsNyBA QCBTRUxFQ1QgdDEuYSwgdDEuYywgdDIuYiwgdDIuYyBGUk9NIHBydDFfbCB0MSwgcHJ0Ml9sIHQy IFdIRVJFIHQxLmEgPSB0Mi5iIEFORCB0MQogICAgICAgICAgICAgICAgLT4gIEhhc2gKICAgICAg ICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX2xfcDNfcDEgdDFfNQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA9IDApCi0oMzAgcm93cykKKygyOCByb3dz KQogCiBTRUxFQ1QgdDEuYSwgdDEuYywgdDIuYiwgdDIuYyBGUk9NIHBydDFfbCB0MSwgcHJ0Ml9s IHQyIFdIRVJFIHQxLmEgPSB0Mi5iIEFORCB0MS5iID0gMCBPUkRFUiBCWSB0MS5hLCB0Mi5iOwog ICBhICB8ICBjICAgfCAgYiAgfCAgYyAgIApAQCAtMjQ2MywyNSArMjM1NSwxOSBAQCBTRUxFQ1Qg dDEuYSwgdDEuYywgdDIuYiwgdDIuYyBGUk9NIHBydDEgdDEsIHBydDRfbiB0MiwgcHJ0MiB0MyBX SEVSRSB0MS5hID0gdDIuYQogICAgICAgICAgICAgICAgLT4gIEhhc2ggSm9pbgogICAgICAgICAg ICAgICAgICAgICAgSGFzaCBDb25kOiAodDFfMS5hID0gdDNfMS5iKQogICAgICAgICAgICAgICAg ICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDFfcDEgdDFfMQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KGEpCiAgICAgICAgICAgICAgICAgICAgICAtPiAg SGFzaAotICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQyX3AxIHQzXzEKICAgICAgICAg ICAgICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQx XzIuYSA9IHQzXzIuYikKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQx X3AyIHQxXzIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyOiBrZXlz PShhKQogICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgIEJsb29tIEZpbHRlciAyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2Vx IFNjYW4gb24gcHJ0Ml9wMiB0M18yCiAgICAgICAgICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAg ICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0MV8zLmEgPSB0M18zLmIpCiAgICAgICAgICAg ICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9wMyB0MV8zCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMzoga2V5cz0oYSkKICAgICAgICAgICAgICAgICAgICAg IC0+ICBIYXNoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMwogICAg ICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDJfcDMgdDNfMwotKDI5 IHJvd3MpCisoMjMgcm93cykKIAogLS0gcGFydGl0aW9ud2lzZSBqb2luIGNhbiBub3QgYmUgYXBw bGllZCBpZiB0aGVyZSBhcmUgbm8gZXF1aS1qb2luIGNvbmRpdGlvbnMKIC0tIGJldHdlZW4gcGFy dGl0aW9uIGtleXMKQEAgLTI3NTMsMjggKzI2MzksMjIgQEAgU0VMRUNUIHQxLmEsIHQxLmMsIHQy LmIsIHQyLmMgRlJPTSBwcnQxX2FkdiB0MSBJTk5FUiBKT0lOIHBydDJfYWR2IHQyIE9OICh0MS5h ID0KICAgICAgICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQy XzEuYiA9IHQxXzEuYSkKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQyX2Fkdl9w MSB0Ml8xCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0oYikKICAg ICAgICAgICAgICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIg MQogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDFfYWR2X3AxIHQxXzEK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGIgPSAwKQogICAgICAgICAgLT4g IEhhc2ggSm9pbgogICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDJfMi5iID0gdDFfMi5hKQog ICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDJfYWR2X3AyIHQyXzIKLSAgICAgICAg ICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyOiBrZXlzPShiKQogICAgICAgICAgICAgICAgLT4g IEhhc2gKLSAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyCiAgICAgICAgICAgICAg ICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9hZHZfcDIgdDFfMgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgRmlsdGVyOiAoYiA9IDApCiAgICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAg ICAgICAgICAgICBIYXNoIENvbmQ6ICh0Ml8zLmIgPSB0MV8zLmEpCiAgICAgICAgICAgICAgICAt PiAgU2VxIFNjYW4gb24gcHJ0Ml9hZHZfcDMgdDJfMwotICAgICAgICAgICAgICAgICAgICAgQmxv b20gRmlsdGVyIDM6IGtleXM9KGIpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAotICAgICAgICAg ICAgICAgICAgICAgQmxvb20gRmlsdGVyIDMKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEg U2NhbiBvbiBwcnQxX2Fkdl9wMyB0MV8zCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0 ZXI6IChiID0gMCkKLSgyNyByb3dzKQorKDIxIHJvd3MpCiAKIFNFTEVDVCB0MS5hLCB0MS5jLCB0 Mi5iLCB0Mi5jIEZST00gcHJ0MV9hZHYgdDEgSU5ORVIgSk9JTiBwcnQyX2FkdiB0MiBPTiAodDEu YSA9IHQyLmIpIFdIRVJFIHQxLmIgPSAwIE9SREVSIEJZIHQxLmEsIHQyLmI7CiAgIGEgIHwgIGMg ICB8ICBiICB8ICBjICAgCkBAIC0yODAwLDI4ICsyNjgwLDIyIEBAIFNFTEVDVCB0MS4qIEZST00g cHJ0MV9hZHYgdDEgV0hFUkUgRVhJU1RTIChTRUxFQ1QgMSBGUk9NIHBydDJfYWR2IHQyIFdIRVJF IHQxLmEKICAgICAgICAgIC0+ICBIYXNoIFJpZ2h0IFNlbWkgSm9pbgogICAgICAgICAgICAgICAg SGFzaCBDb25kOiAodDJfMS5iID0gdDFfMS5hKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2Fu IG9uIHBydDJfYWR2X3AxIHQyXzEKLSAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAx OiBrZXlzPShiKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKLSAgICAgICAgICAgICAgICAgICAg IEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0 MV9hZHZfcDEgdDFfMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA9IDAp CiAgICAgICAgICAtPiAgSGFzaCBSaWdodCBTZW1pIEpvaW4KICAgICAgICAgICAgICAgIEhhc2gg Q29uZDogKHQyXzIuYiA9IHQxXzIuYSkKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBw cnQyX2Fkdl9wMiB0Ml8yCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMjoga2V5 cz0oYikKICAgICAgICAgICAgICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAgICAgICAgICBCbG9v bSBGaWx0ZXIgMgogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDFfYWR2 X3AyIHQxXzIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGIgPSAwKQogICAg ICAgICAgLT4gIEhhc2ggUmlnaHQgU2VtaSBKb2luCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6 ICh0Ml8zLmIgPSB0MV8zLmEpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0Ml9h ZHZfcDMgdDJfMwotICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDM6IGtleXM9KGIp CiAgICAgICAgICAgICAgICAtPiAgSGFzaAotICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmls dGVyIDMKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX2Fkdl9wMyB0 MV8zCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiID0gMCkKLSgyNyByb3dz KQorKDIxIHJvd3MpCiAKIFNFTEVDVCB0MS4qIEZST00gcHJ0MV9hZHYgdDEgV0hFUkUgRVhJU1RT IChTRUxFQ1QgMSBGUk9NIHBydDJfYWR2IHQyIFdIRVJFIHQxLmEgPSB0Mi5iKSBBTkQgdDEuYiA9 IDAgT1JERVIgQlkgdDEuYTsKICAgYSAgfCBiIHwgIGMgICAKQEAgLTI4NDcsMjggKzI3MjEsMjIg QEAgU0VMRUNUIHQxLmEsIHQxLmMsIHQyLmIsIHQyLmMgRlJPTSBwcnQxX2FkdiB0MSBMRUZUIEpP SU4gcHJ0Ml9hZHYgdDIgT04gKHQxLmEgPQogICAgICAgICAgLT4gIEhhc2ggUmlnaHQgSm9pbgog ICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDJfMS5iID0gdDFfMS5hKQogICAgICAgICAgICAg ICAgLT4gIFNlcSBTY2FuIG9uIHBydDJfYWR2X3AxIHQyXzEKLSAgICAgICAgICAgICAgICAgICAg IEJsb29tIEZpbHRlciAxOiBrZXlzPShiKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKLSAgICAg ICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAgICAgICAtPiAg U2VxIFNjYW4gb24gcHJ0MV9hZHZfcDEgdDFfMQogICAgICAgICAgICAgICAgICAgICAgICAgICAg RmlsdGVyOiAoYiA9IDApCiAgICAgICAgICAtPiAgSGFzaCBSaWdodCBKb2luCiAgICAgICAgICAg ICAgICBIYXNoIENvbmQ6ICh0Ml8yLmIgPSB0MV8yLmEpCiAgICAgICAgICAgICAgICAtPiAgU2Vx IFNjYW4gb24gcHJ0Ml9hZHZfcDIgdDJfMgotICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmls dGVyIDI6IGtleXM9KGIpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAotICAgICAgICAgICAgICAg ICAgICAgQmxvb20gRmlsdGVyIDIKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBv biBwcnQxX2Fkdl9wMiB0MV8yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChi ID0gMCkKICAgICAgICAgIC0+ICBIYXNoIFJpZ2h0IEpvaW4KICAgICAgICAgICAgICAgIEhhc2gg Q29uZDogKHQyXzMuYiA9IHQxXzMuYSkKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBw cnQyX2Fkdl9wMyB0Ml8zCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMzoga2V5 cz0oYikKICAgICAgICAgICAgICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAgICAgICAgICBCbG9v bSBGaWx0ZXIgMwogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDFfYWR2 X3AzIHQxXzMKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGIgPSAwKQotKDI3 IHJvd3MpCisoMjEgcm93cykKIAogU0VMRUNUIHQxLmEsIHQxLmMsIHQyLmIsIHQyLmMgRlJPTSBw cnQxX2FkdiB0MSBMRUZUIEpPSU4gcHJ0Ml9hZHYgdDIgT04gKHQxLmEgPSB0Mi5iKSBXSEVSRSB0 MS5iID0gMCBPUkRFUiBCWSB0MS5hLCB0Mi5iOwogICBhICB8ICBjICAgfCAgYiAgfCAgYyAgIApA QCAtMjg5OCwyOCArMjc2NiwyMiBAQCBTRUxFQ1QgdDEuKiBGUk9NIHBydDFfYWR2IHQxIFdIRVJF IE5PVCBFWElTVFMgKFNFTEVDVCAxIEZST00gcHJ0Ml9hZHYgdDIgV0hFUkUgdAogICAgICAgICAg LT4gIEhhc2ggUmlnaHQgQW50aSBKb2luCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0Ml8x LmIgPSB0MV8xLmEpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0Ml9hZHZfcDEg dDJfMQotICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KGIpCiAgICAg ICAgICAgICAgICAtPiAgSGFzaAotICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEK ICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX2Fkdl9wMSB0MV8xCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiID0gMCkKICAgICAgICAgIC0+ICBI YXNoIFJpZ2h0IEFudGkgSm9pbgogICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDJfMi5iID0g dDFfMi5hKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDJfYWR2X3AyIHQyXzIK LSAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyOiBrZXlzPShiKQogICAgICAgICAg ICAgICAgLT4gIEhhc2gKLSAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyCiAgICAg ICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9hZHZfcDIgdDFfMgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA9IDApCiAgICAgICAgICAtPiAgSGFzaCBS aWdodCBBbnRpIEpvaW4KICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQyXzMuYiA9IHQxXzMu YSkKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQyX2Fkdl9wMyB0Ml8zCi0gICAg ICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMzoga2V5cz0oYikKICAgICAgICAgICAgICAg IC0+ICBIYXNoCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMwogICAgICAgICAg ICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDFfYWR2X3AzIHQxXzMKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEZpbHRlcjogKGIgPSAwKQotKDI3IHJvd3MpCisoMjEgcm93cykKIAog U0VMRUNUIHQxLiogRlJPTSBwcnQxX2FkdiB0MSBXSEVSRSBOT1QgRVhJU1RTIChTRUxFQ1QgMSBG Uk9NIHBydDJfYWR2IHQyIFdIRVJFIHQxLmEgPSB0Mi5iKSBBTkQgdDEuYiA9IDAgT1JERVIgQlkg dDEuYTsKICAgYSAgfCBiIHwgIGMgICAKQEAgLTI5ODYsMjggKzI4NDgsMjIgQEAgU0VMRUNUIHQx LmEsIHQxLmMsIHQyLmIsIHQyLmMgRlJPTSBwcnQxX2FkdiB0MSBJTk5FUiBKT0lOIHBydDJfYWR2 IHQyIE9OICh0MS5hID0KICAgICAgICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAgICAgICAgIEhh c2ggQ29uZDogKHQyXzEuYiA9IHQxXzEuYSkKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBv biBwcnQyX2Fkdl9wMSB0Ml8xCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMTog a2V5cz0oYikKICAgICAgICAgICAgICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAgICAgICAgICBC bG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDFf YWR2X3AxIHQxXzEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGIgPSAwKQog ICAgICAgICAgLT4gIEhhc2ggSm9pbgogICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDJfMi5i ID0gdDFfMi5hKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDJfYWR2X3AyIHQy XzIKLSAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyOiBrZXlzPShiKQogICAgICAg ICAgICAgICAgLT4gIEhhc2gKLSAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyCiAg ICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9hZHZfcDIgdDFfMgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA9IDApCiAgICAgICAgICAtPiAgSGFz aCBKb2luCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0Ml8zLmIgPSB0MV8zLmEpCiAgICAg ICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0Ml9hZHZfcDMgdDJfMwotICAgICAgICAgICAg ICAgICAgICAgQmxvb20gRmlsdGVyIDM6IGtleXM9KGIpCiAgICAgICAgICAgICAgICAtPiAgSGFz aAotICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDMKICAgICAgICAgICAgICAgICAg ICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX2Fkdl9wMyB0MV8zCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBGaWx0ZXI6IChiID0gMCkKLSgyNyByb3dzKQorKDIxIHJvd3MpCiAKIFNFTEVDVCB0 MS5hLCB0MS5jLCB0Mi5iLCB0Mi5jIEZST00gcHJ0MV9hZHYgdDEgSU5ORVIgSk9JTiBwcnQyX2Fk diB0MiBPTiAodDEuYSA9IHQyLmIpIFdIRVJFIHQxLmIgPSAwIE9SREVSIEJZIHQxLmEsIHQyLmI7 CiAgIGEgIHwgIGMgICB8ICBiICB8ICBjICAgCkBAIC0zMDMzLDI4ICsyODg5LDIyIEBAIFNFTEVD VCB0MS4qIEZST00gcHJ0MV9hZHYgdDEgV0hFUkUgRVhJU1RTIChTRUxFQ1QgMSBGUk9NIHBydDJf YWR2IHQyIFdIRVJFIHQxLmEKICAgICAgICAgIC0+ICBIYXNoIFJpZ2h0IFNlbWkgSm9pbgogICAg ICAgICAgICAgICAgSGFzaCBDb25kOiAodDJfMS5iID0gdDFfMS5hKQogICAgICAgICAgICAgICAg LT4gIFNlcSBTY2FuIG9uIHBydDJfYWR2X3AxIHQyXzEKLSAgICAgICAgICAgICAgICAgICAgIEJs b29tIEZpbHRlciAxOiBrZXlzPShiKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKLSAgICAgICAg ICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2Vx IFNjYW4gb24gcHJ0MV9hZHZfcDEgdDFfMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmls dGVyOiAoYiA9IDApCiAgICAgICAgICAtPiAgSGFzaCBSaWdodCBTZW1pIEpvaW4KICAgICAgICAg ICAgICAgIEhhc2ggQ29uZDogKHQyXzIuYiA9IHQxXzIuYSkKICAgICAgICAgICAgICAgIC0+ICBT ZXEgU2NhbiBvbiBwcnQyX2Fkdl9wMiB0Ml8yCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBG aWx0ZXIgMjoga2V5cz0oYikKICAgICAgICAgICAgICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAg ICAgICAgICBCbG9vbSBGaWx0ZXIgMgogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2Fu IG9uIHBydDFfYWR2X3AyIHQxXzIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjog KGIgPSAwKQogICAgICAgICAgLT4gIEhhc2ggUmlnaHQgU2VtaSBKb2luCiAgICAgICAgICAgICAg ICBIYXNoIENvbmQ6ICh0Ml8zLmIgPSB0MV8zLmEpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNj YW4gb24gcHJ0Ml9hZHZfcDMgdDJfMwotICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVy IDM6IGtleXM9KGIpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAotICAgICAgICAgICAgICAgICAg ICAgQmxvb20gRmlsdGVyIDMKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBw cnQxX2Fkdl9wMyB0MV8zCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiID0g MCkKLSgyNyByb3dzKQorKDIxIHJvd3MpCiAKIFNFTEVDVCB0MS4qIEZST00gcHJ0MV9hZHYgdDEg V0hFUkUgRVhJU1RTIChTRUxFQ1QgMSBGUk9NIHBydDJfYWR2IHQyIFdIRVJFIHQxLmEgPSB0Mi5i KSBBTkQgdDEuYiA9IDAgT1JERVIgQlkgdDEuYTsKICAgYSAgfCBiIHwgIGMgICAKQEAgLTMwODAs MjggKzI5MzAsMjIgQEAgU0VMRUNUIHQxLmEsIHQxLmMsIHQyLmIsIHQyLmMgRlJPTSBwcnQxX2Fk diB0MSBMRUZUIEpPSU4gcHJ0Ml9hZHYgdDIgT04gKHQxLmEgPQogICAgICAgICAgLT4gIEhhc2gg UmlnaHQgSm9pbgogICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDJfMS5iID0gdDFfMS5hKQog ICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDJfYWR2X3AxIHQyXzEKLSAgICAgICAg ICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPShiKQogICAgICAgICAgICAgICAgLT4g IEhhc2gKLSAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAg ICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9hZHZfcDEgdDFfMQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgRmlsdGVyOiAoYiA9IDApCiAgICAgICAgICAtPiAgSGFzaCBSaWdodCBKb2lu CiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0Ml8yLmIgPSB0MV8yLmEpCiAgICAgICAgICAg ICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0Ml9hZHZfcDIgdDJfMgotICAgICAgICAgICAgICAgICAg ICAgQmxvb20gRmlsdGVyIDI6IGtleXM9KGIpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAotICAg ICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDIKICAgICAgICAgICAgICAgICAgICAgIC0+ ICBTZXEgU2NhbiBvbiBwcnQxX2Fkdl9wMiB0MV8yCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBGaWx0ZXI6IChiID0gMCkKICAgICAgICAgIC0+ICBIYXNoIFJpZ2h0IEpvaW4KICAgICAgICAg ICAgICAgIEhhc2ggQ29uZDogKHQyXzMuYiA9IHQxXzMuYSkKICAgICAgICAgICAgICAgIC0+ICBT ZXEgU2NhbiBvbiBwcnQyX2Fkdl9wMyB0Ml8zCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBG aWx0ZXIgMzoga2V5cz0oYikKICAgICAgICAgICAgICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAg ICAgICAgICBCbG9vbSBGaWx0ZXIgMwogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2Fu IG9uIHBydDFfYWR2X3AzIHQxXzMKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjog KGIgPSAwKQotKDI3IHJvd3MpCisoMjEgcm93cykKIAogU0VMRUNUIHQxLmEsIHQxLmMsIHQyLmIs IHQyLmMgRlJPTSBwcnQxX2FkdiB0MSBMRUZUIEpPSU4gcHJ0Ml9hZHYgdDIgT04gKHQxLmEgPSB0 Mi5iKSBXSEVSRSB0MS5iID0gMCBPUkRFUiBCWSB0MS5hLCB0Mi5iOwogICBhICB8ICBjICAgfCAg YiAgfCAgYyAgIApAQCAtMzE1NywyOCArMzAwMSwyMiBAQCBTRUxFQ1QgdDEuKiBGUk9NIHBydDFf YWR2IHQxIFdIRVJFIE5PVCBFWElTVFMgKFNFTEVDVCAxIEZST00gcHJ0Ml9hZHYgdDIgV0hFUkUg dAogICAgICAgICAgLT4gIEhhc2ggUmlnaHQgQW50aSBKb2luCiAgICAgICAgICAgICAgICBIYXNo IENvbmQ6ICh0Ml8xLmIgPSB0MV8xLmEpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24g cHJ0Ml9hZHZfcDEgdDJfMQotICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtl eXM9KGIpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAotICAgICAgICAgICAgICAgICAgICAgQmxv b20gRmlsdGVyIDEKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX2Fk dl9wMSB0MV8xCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiID0gMCkKICAg ICAgICAgIC0+ICBIYXNoIFJpZ2h0IEFudGkgSm9pbgogICAgICAgICAgICAgICAgSGFzaCBDb25k OiAodDJfMi5iID0gdDFfMi5hKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDJf YWR2X3AyIHQyXzIKLSAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyOiBrZXlzPShi KQogICAgICAgICAgICAgICAgLT4gIEhhc2gKLSAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZp bHRlciAyCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9hZHZfcDIg dDFfMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA9IDApCiAgICAgICAg ICAtPiAgSGFzaCBSaWdodCBBbnRpIEpvaW4KICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQy XzMuYiA9IHQxXzMuYSkKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQyX2Fkdl9w MyB0Ml8zCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMzoga2V5cz0oYikKICAg ICAgICAgICAgICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIg MwogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDFfYWR2X3AzIHQxXzMK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGIgPSAwKQotKDI3IHJvd3MpCiso MjEgcm93cykKIAogU0VMRUNUIHQxLiogRlJPTSBwcnQxX2FkdiB0MSBXSEVSRSBOT1QgRVhJU1RT IChTRUxFQ1QgMSBGUk9NIHBydDJfYWR2IHQyIFdIRVJFIHQxLmEgPSB0Mi5iKSBBTkQgdDEuYiA9 IDAgT1JERVIgQlkgdDEuYTsKICAgYSAgfCBiIHwgIGMgICAKQEAgLTMyNjQsMzIgKzMxMDIsMjQg QEAgU0VMRUNUIHQxLmIsIHQxLmMsIHQyLmEsIHQyLmMsIHQzLmEsIHQzLmMgRlJPTSBwcnQyX2Fk diB0MSBMRUZUIEpPSU4gcHJ0MV9hZHYgdDIKICAgICAgICAgIC0+ICBIYXNoIFJpZ2h0IEpvaW4K ICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQyXzIuYSA9IHQxXzIuYikKICAgICAgICAgICAg ICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX2Fkdl9wMiB0Ml8yCi0gICAgICAgICAgICAgICAgICAg ICBCbG9vbSBGaWx0ZXIgMjoga2V5cz0oYSkKICAgICAgICAgICAgICAgIC0+ICBIYXNoCi0gICAg ICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMgogICAgICAgICAgICAgICAgICAgICAgLT4g IEhhc2ggSm9pbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDNfMi5h ID0gdDFfMi5iKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBy dDFfYWR2X3AyIHQzXzIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZp bHRlciAxOiBrZXlzPShhKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0Ml9hZHZfcDIgdDFfMgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYSA9IDApCiAg ICAgICAgICAtPiAgSGFzaCBSaWdodCBKb2luCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0 Ml8zLmEgPSB0MV8zLmIpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0MV9hZHZf cDMgdDJfMwotICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDQ6IGtleXM9KGEpCiAg ICAgICAgICAgICAgICAtPiAgSGFzaAotICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVy IDQKICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEhhc2ggQ29uZDogKHQzXzMuYSA9IHQxXzMuYikKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX2Fkdl9wMyB0M18zCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMzoga2V5cz0oYSkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBCbG9vbSBGaWx0ZXIgMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFNl cSBTY2FuIG9uIHBydDJfYWR2X3AzIHQxXzMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEZpbHRlcjogKGEgPSAwKQotKDM5IHJvd3MpCisoMzEgcm93cykKIAogU0VMRUNU IHQxLmIsIHQxLmMsIHQyLmEsIHQyLmMsIHQzLmEsIHQzLmMgRlJPTSBwcnQyX2FkdiB0MSBMRUZU IEpPSU4gcHJ0MV9hZHYgdDIgT04gKHQxLmIgPSB0Mi5hKSBJTk5FUiBKT0lOIHBydDFfYWR2IHQz IE9OICh0MS5iID0gdDMuYSkgV0hFUkUgdDEuYSA9IDAgT1JERVIgQlkgdDEuYiwgdDIuYSwgdDMu YTsKICAgYiAgfCAgYyAgIHwgIGEgIHwgIGMgICB8ICBhICB8ICBjICAgCkBAIC0zNDU5LDIwICsz Mjg5LDE2IEBAIFNFTEVDVCB0MS5hLCB0MS5jLCB0Mi5iLCB0Mi5jIEZST00gcHJ0MV9hZHYgdDEg SU5ORVIgSk9JTiBwcnQyX2FkdiB0MiBPTiAodDEuYSA9CiAgICAgICAgICAtPiAgSGFzaCBKb2lu CiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0Ml8xLmIgPSB0MV8yLmEpCiAgICAgICAgICAg ICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0Ml9hZHZfcDEgdDJfMQotICAgICAgICAgICAgICAgICAg ICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KGIpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAotICAg ICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgICAgICAgICAgICAgIC0+ ICBTZXEgU2NhbiBvbiBwcnQxX2Fkdl9wMSB0MV8yCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBGaWx0ZXI6IChiID0gMCkKICAgICAgICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAgICAgICAg IEhhc2ggQ29uZDogKHQyXzIuYiA9IHQxXzEuYSkKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2Nh biBvbiBwcnQyX2Fkdl9wMiB0Ml8yCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIg Mjoga2V5cz0oYikKICAgICAgICAgICAgICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAgICAgICAg ICBCbG9vbSBGaWx0ZXIgMgogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBy dDFfYWR2X3AyIHQxXzEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGIgPSAw KQotKDE5IHJvd3MpCisoMTUgcm93cykKIAogU0VMRUNUIHQxLmEsIHQxLmMsIHQyLmIsIHQyLmMg RlJPTSBwcnQxX2FkdiB0MSBJTk5FUiBKT0lOIHBydDJfYWR2IHQyIE9OICh0MS5hID0gdDIuYikg V0hFUkUgdDEuYiA9IDAgT1JERVIgQlkgdDEuYSwgdDIuYjsKICAgYSAgfCAgYyAgIHwgIGIgIHwg IGMgICAKQEAgLTM1NjQsMzIgKzMzOTAsMjQgQEAgU0VMRUNUIHQxLmEsIHQxLmMsIHQyLmIsIHQy LmMsIHQzLmEsIHQzLmMgRlJPTSBwcnQxX2FkdiB0MSBMRUZUIEpPSU4gcHJ0Ml9hZHYgdDIKICAg ICAgICAgIC0+ICBIYXNoIFJpZ2h0IEpvaW4KICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKHQz XzEuYSA9IHQxXzEuYSkKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQzX2Fkdl9w MSB0M18xCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMjoga2V5cz0oYSkKICAg ICAgICAgICAgICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIg MgogICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2ggUmlnaHQgSm9pbgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgSGFzaCBDb25kOiAodDJfMi5iID0gdDFfMS5hKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDJfYWR2X3AyIHQyXzIKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPShiKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAt PiAgU2VxIFNjYW4gb24gcHJ0MV9hZHZfcDIgdDFfMQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA9IDApCiAgICAgICAgICAtPiAgSGFzaCBSaWdodCBK b2luCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0M18yLmEgPSB0MV8yLmEpCiAgICAgICAg ICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0M19hZHZfcDIgdDNfMgotICAgICAgICAgICAgICAg ICAgICAgQmxvb20gRmlsdGVyIDQ6IGtleXM9KGEpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAot ICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDQKICAgICAgICAgICAgICAgICAgICAg IC0+ICBIYXNoIFJpZ2h0IEpvaW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29u ZDogKHQyXzEuYiA9IHQxXzIuYSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEg U2NhbiBvbiBwcnQyX2Fkdl9wMSB0Ml8xCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBCbG9vbSBGaWx0ZXIgMzoga2V5cz0oYikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ ICBIYXNoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDFfYWR2 X3AxIHQxXzIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjog KGIgPSAwKQotKDMxIHJvd3MpCisoMjMgcm93cykKIAogU0VMRUNUIHQxLmEsIHQxLmMsIHQyLmIs IHQyLmMsIHQzLmEsIHQzLmMgRlJPTSBwcnQxX2FkdiB0MSBMRUZUIEpPSU4gcHJ0Ml9hZHYgdDIg T04gKHQxLmEgPSB0Mi5iKSBMRUZUIEpPSU4gcHJ0M19hZHYgdDMgT04gKHQxLmEgPSB0My5hKSBX SEVSRSB0MS5iID0gMCBPUkRFUiBCWSB0MS5hLCB0Mi5iLCB0My5hOwogICBhICB8ICBjICAgfCAg YiAgfCAgYyAgIHwgIGEgIHwgIGMgICAKQEAgLTM2MzEsMjAgKzM0NDksMTYgQEAgU0VMRUNUIHQx LmEsIHQxLmMsIHQyLmIsIHQyLmMgRlJPTSBwcnQxX2FkdiB0MSBJTk5FUiBKT0lOIHBydDJfYWR2 IHQyIE9OICh0MS5hID0KICAgICAgICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAgICAgICAgIEhh c2ggQ29uZDogKHQyXzEuYiA9IHQxXzEuYSkKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBv biBwcnQyX2Fkdl9wMSB0Ml8xCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMTog a2V5cz0oYikKICAgICAgICAgICAgICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAgICAgICAgICBC bG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDFf YWR2X3AxIHQxXzEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKChhIDwgMzAw KSBBTkQgKGIgPSAwKSkKICAgICAgICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAgICAgICAgIEhh c2ggQ29uZDogKHQyXzIuYiA9IHQxXzIuYSkKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBv biBwcnQyX2Fkdl9wMiB0Ml8yCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMjog a2V5cz0oYikKICAgICAgICAgICAgICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAgICAgICAgICBC bG9vbSBGaWx0ZXIgMgogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBydDFf YWR2X3AyIHQxXzIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKChhIDwgMzAw KSBBTkQgKGIgPSAwKSkKLSgxOSByb3dzKQorKDE1IHJvd3MpCiAKIFNFTEVDVCB0MS5hLCB0MS5j LCB0Mi5iLCB0Mi5jIEZST00gcHJ0MV9hZHYgdDEgSU5ORVIgSk9JTiBwcnQyX2FkdiB0MiBPTiAo dDEuYSA9IHQyLmIpIFdIRVJFIHQxLmEgPCAzMDAgQU5EIHQxLmIgPSAwIE9SREVSIEJZIHQxLmEs IHQyLmI7CiAgIGEgIHwgIGMgICB8ICBiICB8ICBjICAgCkBAIC0zNjc0LDIwICszNDg4LDE2IEBA IFNFTEVDVCB0MS5hLCB0MS5jLCB0Mi5iLCB0Mi5jIEZST00gcHJ0MV9hZHYgdDEgSU5ORVIgSk9J TiBwcnQyX2FkdiB0MiBPTiAodDEuYSA9CiAgICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAgICAg ICAgICAgICBIYXNoIENvbmQ6ICh0Ml8xLmIgPSB0MV8xLmEpCiAgICAgICAgICAgICAgICAtPiAg U2VxIFNjYW4gb24gcHJ0Ml9hZHZfcDEgdDJfMQotICAgICAgICAgICAgICAgICAgICAgQmxvb20g RmlsdGVyIDE6IGtleXM9KGIpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAotICAgICAgICAgICAg ICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2Nh biBvbiBwcnQxX2Fkdl9wMSB0MV8xCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6 ICgoYSA+PSAxMDApIEFORCAoYSA8IDMwMCkgQU5EIChiID0gMCkpCiAgICAgICAgICAtPiAgSGFz aCBKb2luCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0Ml8yLmIgPSB0MV8yLmEpCiAgICAg ICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHJ0Ml9hZHZfcDIgdDJfMgotICAgICAgICAgICAg ICAgICAgICAgQmxvb20gRmlsdGVyIDI6IGtleXM9KGIpCiAgICAgICAgICAgICAgICAtPiAgSGFz aAotICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDIKICAgICAgICAgICAgICAgICAg ICAgIC0+ICBTZXEgU2NhbiBvbiBwcnQxX2Fkdl9wMiB0MV8yCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBGaWx0ZXI6ICgoYSA+PSAxMDApIEFORCAoYSA8IDMwMCkgQU5EIChiID0gMCkpCi0o MTkgcm93cykKKygxNSByb3dzKQogCiBTRUxFQ1QgdDEuYSwgdDEuYywgdDIuYiwgdDIuYyBGUk9N IHBydDFfYWR2IHQxIElOTkVSIEpPSU4gcHJ0Ml9hZHYgdDIgT04gKHQxLmEgPSB0Mi5iKSBXSEVS RSB0MS5hID49IDEwMCBBTkQgdDEuYSA8IDMwMCBBTkQgdDEuYiA9IDAgT1JERVIgQlkgdDEuYSwg dDIuYjsKICAgYSAgfCAgYyAgIHwgIGIgIHwgIGMgICAKQEAgLTM3MjgsMjggKzM1MzgsMjIgQEAg U0VMRUNUIHQxLmEsIHQxLmMsIHQyLmEsIHQyLmMgRlJPTSBwbHQxX2FkdiB0MSBJTk5FUiBKT0lO IHBsdDJfYWR2IHQyIE9OICh0MS5hID0KICAgICAgICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAg ICAgICAgIEhhc2ggQ29uZDogKCh0Ml8xLmEgPSB0MV8xLmEpIEFORCAodDJfMS5jID0gdDFfMS5j KSkKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQyX2Fkdl9wMSB0Ml8xCi0gICAg ICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0oYSwgYykKICAgICAgICAgICAg ICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAg ICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDFfYWR2X3AxIHQxXzEKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGIgPCAxMCkKICAgICAgICAgIC0+ICBIYXNoIEpv aW4KICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKCh0Ml8yLmEgPSB0MV8yLmEpIEFORCAodDJf Mi5jID0gdDFfMi5jKSkKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQyX2Fkdl9w MiB0Ml8yCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMjoga2V5cz0oYSwgYykK ICAgICAgICAgICAgICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0 ZXIgMgogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDFfYWR2X3AyIHQx XzIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGIgPCAxMCkKICAgICAgICAg IC0+ICBIYXNoIEpvaW4KICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKCh0Ml8zLmEgPSB0MV8z LmEpIEFORCAodDJfMy5jID0gdDFfMy5jKSkKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBv biBwbHQyX2Fkdl9wMyB0Ml8zCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMzog a2V5cz0oYSwgYykKICAgICAgICAgICAgICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAgICAgICAg ICBCbG9vbSBGaWx0ZXIgMwogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBs dDFfYWR2X3AzIHQxXzMKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGIgPCAx MCkKLSgyNyByb3dzKQorKDIxIHJvd3MpCiAKIFNFTEVDVCB0MS5hLCB0MS5jLCB0Mi5hLCB0Mi5j IEZST00gcGx0MV9hZHYgdDEgSU5ORVIgSk9JTiBwbHQyX2FkdiB0MiBPTiAodDEuYSA9IHQyLmEg QU5EIHQxLmMgPSB0Mi5jKSBXSEVSRSB0MS5iIDwgMTAgT1JERVIgQlkgdDEuYTsKICBhIHwgIGMg ICB8IGEgfCAgYyAgIApAQCAtMzc3MSwyOCArMzU3NSwyMiBAQCBTRUxFQ1QgdDEuKiBGUk9NIHBs dDFfYWR2IHQxIFdIRVJFIEVYSVNUUyAoU0VMRUNUIDEgRlJPTSBwbHQyX2FkdiB0MiBXSEVSRSB0 MS5hCiAgICAgICAgICAtPiAgSGFzaCBSaWdodCBTZW1pIEpvaW4KICAgICAgICAgICAgICAgIEhh c2ggQ29uZDogKCh0Ml8xLmEgPSB0MV8xLmEpIEFORCAodDJfMS5jID0gdDFfMS5jKSkKICAgICAg ICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQyX2Fkdl9wMSB0Ml8xCi0gICAgICAgICAgICAg ICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0oYSwgYykKICAgICAgICAgICAgICAgIC0+ICBI YXNoCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAgICAg ICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDFfYWR2X3AxIHQxXzEKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEZpbHRlcjogKGIgPCAxMCkKICAgICAgICAgIC0+ICBIYXNoIFJpZ2h0IFNlbWkg Sm9pbgogICAgICAgICAgICAgICAgSGFzaCBDb25kOiAoKHQyXzIuYSA9IHQxXzIuYSkgQU5EICh0 Ml8yLmMgPSB0MV8yLmMpKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDJfYWR2 X3AyIHQyXzIKLSAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyOiBrZXlzPShhLCBj KQogICAgICAgICAgICAgICAgLT4gIEhhc2gKLSAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZp bHRlciAyCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0MV9hZHZfcDIg dDFfMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA8IDEwKQogICAgICAg ICAgLT4gIEhhc2ggUmlnaHQgU2VtaSBKb2luCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICgo dDJfMy5hID0gdDFfMy5hKSBBTkQgKHQyXzMuYyA9IHQxXzMuYykpCiAgICAgICAgICAgICAgICAt PiAgU2VxIFNjYW4gb24gcGx0Ml9hZHZfcDMgdDJfMwotICAgICAgICAgICAgICAgICAgICAgQmxv b20gRmlsdGVyIDM6IGtleXM9KGEsIGMpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAotICAgICAg ICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDMKICAgICAgICAgICAgICAgICAgICAgIC0+ICBT ZXEgU2NhbiBvbiBwbHQxX2Fkdl9wMyB0MV8zCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBG aWx0ZXI6IChiIDwgMTApCi0oMjcgcm93cykKKygyMSByb3dzKQogCiBTRUxFQ1QgdDEuKiBGUk9N IHBsdDFfYWR2IHQxIFdIRVJFIEVYSVNUUyAoU0VMRUNUIDEgRlJPTSBwbHQyX2FkdiB0MiBXSEVS RSB0MS5hID0gdDIuYSBBTkQgdDEuYyA9IHQyLmMpIEFORCB0MS5iIDwgMTAgT1JERVIgQlkgdDEu YTsKICBhIHwgYiB8ICBjICAgCkBAIC0zODE0LDI4ICszNjEyLDIyIEBAIFNFTEVDVCB0MS5hLCB0 MS5jLCB0Mi5hLCB0Mi5jIEZST00gcGx0MV9hZHYgdDEgTEVGVCBKT0lOIHBsdDJfYWR2IHQyIE9O ICh0MS5hID0KICAgICAgICAgIC0+ICBIYXNoIFJpZ2h0IEpvaW4KICAgICAgICAgICAgICAgIEhh c2ggQ29uZDogKCh0Ml8xLmEgPSB0MV8xLmEpIEFORCAodDJfMS5jID0gdDFfMS5jKSkKICAgICAg ICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQyX2Fkdl9wMSB0Ml8xCi0gICAgICAgICAgICAg ICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0oYSwgYykKICAgICAgICAgICAgICAgIC0+ICBI YXNoCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAgICAg ICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDFfYWR2X3AxIHQxXzEKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEZpbHRlcjogKGIgPCAxMCkKICAgICAgICAgIC0+ICBIYXNoIFJpZ2h0IEpvaW4K ICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKCh0Ml8yLmEgPSB0MV8yLmEpIEFORCAodDJfMi5j ID0gdDFfMi5jKSkKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQyX2Fkdl9wMiB0 Ml8yCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMjoga2V5cz0oYSwgYykKICAg ICAgICAgICAgICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIg MgogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDFfYWR2X3AyIHQxXzIK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGIgPCAxMCkKICAgICAgICAgIC0+ ICBIYXNoIFJpZ2h0IEpvaW4KICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKCh0Ml8zLmEgPSB0 MV8zLmEpIEFORCAodDJfMy5jID0gdDFfMy5jKSkKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2Nh biBvbiBwbHQyX2Fkdl9wMyB0Ml8zCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIg Mzoga2V5cz0oYSwgYykKICAgICAgICAgICAgICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAgICAg ICAgICBCbG9vbSBGaWx0ZXIgMwogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9u IHBsdDFfYWR2X3AzIHQxXzMKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGIg PCAxMCkKLSgyNyByb3dzKQorKDIxIHJvd3MpCiAKIFNFTEVDVCB0MS5hLCB0MS5jLCB0Mi5hLCB0 Mi5jIEZST00gcGx0MV9hZHYgdDEgTEVGVCBKT0lOIHBsdDJfYWR2IHQyIE9OICh0MS5hID0gdDIu YSBBTkQgdDEuYyA9IHQyLmMpIFdIRVJFIHQxLmIgPCAxMCBPUkRFUiBCWSB0MS5hOwogIGEgfCAg YyAgIHwgYSB8ICBjICAgCkBAIC0zODU5LDI4ICszNjUxLDIyIEBAIFNFTEVDVCB0MS4qIEZST00g cGx0MV9hZHYgdDEgV0hFUkUgTk9UIEVYSVNUUyAoU0VMRUNUIDEgRlJPTSBwbHQyX2FkdiB0MiBX SEVSRSB0CiAgICAgICAgICAtPiAgSGFzaCBSaWdodCBBbnRpIEpvaW4KICAgICAgICAgICAgICAg IEhhc2ggQ29uZDogKCh0Ml8xLmEgPSB0MV8xLmEpIEFORCAodDJfMS5jID0gdDFfMS5jKSkKICAg ICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQyX2Fkdl9wMSB0Ml8xCi0gICAgICAgICAg ICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0oYSwgYykKICAgICAgICAgICAgICAgIC0+ ICBIYXNoCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAg ICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDFfYWR2X3AxIHQxXzEKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEZpbHRlcjogKGIgPCAxMCkKICAgICAgICAgIC0+ICBIYXNoIFJpZ2h0IEFu dGkgSm9pbgogICAgICAgICAgICAgICAgSGFzaCBDb25kOiAoKHQyXzIuYSA9IHQxXzIuYSkgQU5E ICh0Ml8yLmMgPSB0MV8yLmMpKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDJf YWR2X3AyIHQyXzIKLSAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyOiBrZXlzPShh LCBjKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKLSAgICAgICAgICAgICAgICAgICAgIEJsb29t IEZpbHRlciAyCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0MV9hZHZf cDIgdDFfMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA8IDEwKQogICAg ICAgICAgLT4gIEhhc2ggUmlnaHQgQW50aSBKb2luCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6 ICgodDJfMy5hID0gdDFfMy5hKSBBTkQgKHQyXzMuYyA9IHQxXzMuYykpCiAgICAgICAgICAgICAg ICAtPiAgU2VxIFNjYW4gb24gcGx0Ml9hZHZfcDMgdDJfMwotICAgICAgICAgICAgICAgICAgICAg Qmxvb20gRmlsdGVyIDM6IGtleXM9KGEsIGMpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAotICAg ICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDMKICAgICAgICAgICAgICAgICAgICAgIC0+ ICBTZXEgU2NhbiBvbiBwbHQxX2Fkdl9wMyB0MV8zCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBGaWx0ZXI6IChiIDwgMTApCi0oMjcgcm93cykKKygyMSByb3dzKQogCiBTRUxFQ1QgdDEuKiBG Uk9NIHBsdDFfYWR2IHQxIFdIRVJFIE5PVCBFWElTVFMgKFNFTEVDVCAxIEZST00gcGx0Ml9hZHYg dDIgV0hFUkUgdDEuYSA9IHQyLmEgQU5EIHQxLmMgPSB0Mi5jKSBBTkQgdDEuYiA8IDEwIE9SREVS IEJZIHQxLmE7CiAgYSB8IGIgfCAgYyAgIApAQCAtMzk0NSwyOCArMzczMSwyMiBAQCBTRUxFQ1Qg dDEuYSwgdDEuYywgdDIuYSwgdDIuYyBGUk9NIHBsdDFfYWR2IHQxIElOTkVSIEpPSU4gcGx0Ml9h ZHYgdDIgT04gKHQxLmEgPQogICAgICAgICAgLT4gIEhhc2ggSm9pbgogICAgICAgICAgICAgICAg SGFzaCBDb25kOiAoKHQyXzEuYSA9IHQxXzEuYSkgQU5EICh0Ml8xLmMgPSB0MV8xLmMpKQogICAg ICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDJfYWR2X3AxIHQyXzEKLSAgICAgICAgICAg ICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPShhLCBjKQogICAgICAgICAgICAgICAgLT4g IEhhc2gKLSAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAg ICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0MV9hZHZfcDEgdDFfMQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgRmlsdGVyOiAoYiA8IDEwKQogICAgICAgICAgLT4gIEhhc2ggSm9pbgogICAg ICAgICAgICAgICAgSGFzaCBDb25kOiAoKHQyXzIuYSA9IHQxXzIuYSkgQU5EICh0Ml8yLmMgPSB0 MV8yLmMpKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDJfYWR2X3AyIHQyXzIK LSAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyOiBrZXlzPShhLCBjKQogICAgICAg ICAgICAgICAgLT4gIEhhc2gKLSAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyCiAg ICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0MV9hZHZfcDIgdDFfMgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA8IDEwKQogICAgICAgICAgLT4gIEhh c2ggSm9pbgogICAgICAgICAgICAgICAgSGFzaCBDb25kOiAoKHQyXzMuYSA9IHQxXzMuYSkgQU5E ICh0Ml8zLmMgPSB0MV8zLmMpKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDJf YWR2X3AzIHQyXzMKLSAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAzOiBrZXlzPShh LCBjKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKLSAgICAgICAgICAgICAgICAgICAgIEJsb29t IEZpbHRlciAzCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0MV9hZHZf cDMgdDFfMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA8IDEwKQotKDI3 IHJvd3MpCisoMjEgcm93cykKIAogU0VMRUNUIHQxLmEsIHQxLmMsIHQyLmEsIHQyLmMgRlJPTSBw bHQxX2FkdiB0MSBJTk5FUiBKT0lOIHBsdDJfYWR2IHQyIE9OICh0MS5hID0gdDIuYSBBTkQgdDEu YyA9IHQyLmMpIFdIRVJFIHQxLmIgPCAxMCBPUkRFUiBCWSB0MS5hOwogIGEgfCAgYyAgIHwgYSB8 ICBjICAgCkBAIC0zOTg4LDI4ICszNzY4LDIyIEBAIFNFTEVDVCB0MS4qIEZST00gcGx0MV9hZHYg dDEgV0hFUkUgRVhJU1RTIChTRUxFQ1QgMSBGUk9NIHBsdDJfYWR2IHQyIFdIRVJFIHQxLmEKICAg ICAgICAgIC0+ICBIYXNoIFJpZ2h0IFNlbWkgSm9pbgogICAgICAgICAgICAgICAgSGFzaCBDb25k OiAoKHQyXzEuYSA9IHQxXzEuYSkgQU5EICh0Ml8xLmMgPSB0MV8xLmMpKQogICAgICAgICAgICAg ICAgLT4gIFNlcSBTY2FuIG9uIHBsdDJfYWR2X3AxIHQyXzEKLSAgICAgICAgICAgICAgICAgICAg IEJsb29tIEZpbHRlciAxOiBrZXlzPShhLCBjKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKLSAg ICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAgICAgICAt PiAgU2VxIFNjYW4gb24gcGx0MV9hZHZfcDEgdDFfMQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgRmlsdGVyOiAoYiA8IDEwKQogICAgICAgICAgLT4gIEhhc2ggUmlnaHQgU2VtaSBKb2luCiAg ICAgICAgICAgICAgICBIYXNoIENvbmQ6ICgodDJfMi5hID0gdDFfMi5hKSBBTkQgKHQyXzIuYyA9 IHQxXzIuYykpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0Ml9hZHZfcDIgdDJf MgotICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDI6IGtleXM9KGEsIGMpCiAgICAg ICAgICAgICAgICAtPiAgSGFzaAotICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDIK ICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQxX2Fkdl9wMiB0MV8yCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiIDwgMTApCiAgICAgICAgICAtPiAg SGFzaCBSaWdodCBTZW1pIEpvaW4KICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKCh0Ml8zLmEg PSB0MV8zLmEpIEFORCAodDJfMy5jID0gdDFfMy5jKSkKICAgICAgICAgICAgICAgIC0+ICBTZXEg U2NhbiBvbiBwbHQyX2Fkdl9wMyB0Ml8zCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0 ZXIgMzoga2V5cz0oYSwgYykKICAgICAgICAgICAgICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAg ICAgICAgICBCbG9vbSBGaWx0ZXIgMwogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2Fu IG9uIHBsdDFfYWR2X3AzIHQxXzMKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjog KGIgPCAxMCkKLSgyNyByb3dzKQorKDIxIHJvd3MpCiAKIFNFTEVDVCB0MS4qIEZST00gcGx0MV9h ZHYgdDEgV0hFUkUgRVhJU1RTIChTRUxFQ1QgMSBGUk9NIHBsdDJfYWR2IHQyIFdIRVJFIHQxLmEg PSB0Mi5hIEFORCB0MS5jID0gdDIuYykgQU5EIHQxLmIgPCAxMCBPUkRFUiBCWSB0MS5hOwogIGEg fCBiIHwgIGMgICAKQEAgLTQwMzEsMjggKzM4MDUsMjIgQEAgU0VMRUNUIHQxLmEsIHQxLmMsIHQy LmEsIHQyLmMgRlJPTSBwbHQxX2FkdiB0MSBMRUZUIEpPSU4gcGx0Ml9hZHYgdDIgT04gKHQxLmEg PQogICAgICAgICAgLT4gIEhhc2ggUmlnaHQgSm9pbgogICAgICAgICAgICAgICAgSGFzaCBDb25k OiAoKHQyXzEuYSA9IHQxXzEuYSkgQU5EICh0Ml8xLmMgPSB0MV8xLmMpKQogICAgICAgICAgICAg ICAgLT4gIFNlcSBTY2FuIG9uIHBsdDJfYWR2X3AxIHQyXzEKLSAgICAgICAgICAgICAgICAgICAg IEJsb29tIEZpbHRlciAxOiBrZXlzPShhLCBjKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKLSAg ICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAgICAgICAt PiAgU2VxIFNjYW4gb24gcGx0MV9hZHZfcDEgdDFfMQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgRmlsdGVyOiAoYiA8IDEwKQogICAgICAgICAgLT4gIEhhc2ggUmlnaHQgSm9pbgogICAgICAg ICAgICAgICAgSGFzaCBDb25kOiAoKHQyXzIuYSA9IHQxXzIuYSkgQU5EICh0Ml8yLmMgPSB0MV8y LmMpKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDJfYWR2X3AyIHQyXzIKLSAg ICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyOiBrZXlzPShhLCBjKQogICAgICAgICAg ICAgICAgLT4gIEhhc2gKLSAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyCiAgICAg ICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0MV9hZHZfcDIgdDFfMgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA8IDEwKQogICAgICAgICAgLT4gIEhhc2gg UmlnaHQgSm9pbgogICAgICAgICAgICAgICAgSGFzaCBDb25kOiAoKHQyXzMuYSA9IHQxXzMuYSkg QU5EICh0Ml8zLmMgPSB0MV8zLmMpKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBs dDJfYWR2X3AzIHQyXzMKLSAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAzOiBrZXlz PShhLCBjKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKLSAgICAgICAgICAgICAgICAgICAgIEJs b29tIEZpbHRlciAzCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0MV9h ZHZfcDMgdDFfMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA8IDEwKQot KDI3IHJvd3MpCisoMjEgcm93cykKIAogU0VMRUNUIHQxLmEsIHQxLmMsIHQyLmEsIHQyLmMgRlJP TSBwbHQxX2FkdiB0MSBMRUZUIEpPSU4gcGx0Ml9hZHYgdDIgT04gKHQxLmEgPSB0Mi5hIEFORCB0 MS5jID0gdDIuYykgV0hFUkUgdDEuYiA8IDEwIE9SREVSIEJZIHQxLmE7CiAgYSB8ICBjICAgfCBh IHwgIGMgICAKQEAgLTQxMDIsMjggKzM4NzAsMjIgQEAgU0VMRUNUIHQxLiogRlJPTSBwbHQxX2Fk diB0MSBXSEVSRSBOT1QgRVhJU1RTIChTRUxFQ1QgMSBGUk9NIHBsdDJfYWR2IHQyIFdIRVJFIHQK ICAgICAgICAgIC0+ICBIYXNoIFJpZ2h0IEFudGkgSm9pbgogICAgICAgICAgICAgICAgSGFzaCBD b25kOiAoKHQyXzEuYSA9IHQxXzEuYSkgQU5EICh0Ml8xLmMgPSB0MV8xLmMpKQogICAgICAgICAg ICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDJfYWR2X3AxIHQyXzEKLSAgICAgICAgICAgICAgICAg ICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPShhLCBjKQogICAgICAgICAgICAgICAgLT4gIEhhc2gK LSAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAgICAg ICAtPiAgU2VxIFNjYW4gb24gcGx0MV9hZHZfcDEgdDFfMQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgRmlsdGVyOiAoYiA8IDEwKQogICAgICAgICAgLT4gIEhhc2ggUmlnaHQgQW50aSBKb2lu CiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICgodDJfMi5hID0gdDFfMi5hKSBBTkQgKHQyXzIu YyA9IHQxXzIuYykpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0Ml9hZHZfcDIg dDJfMgotICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDI6IGtleXM9KGEsIGMpCiAg ICAgICAgICAgICAgICAtPiAgSGFzaAotICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVy IDIKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQxX2Fkdl9wMiB0MV8y CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiIDwgMTApCiAgICAgICAgICAt PiAgSGFzaCBSaWdodCBBbnRpIEpvaW4KICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKCh0Ml8z LmEgPSB0MV8zLmEpIEFORCAodDJfMy5jID0gdDFfMy5jKSkKICAgICAgICAgICAgICAgIC0+ICBT ZXEgU2NhbiBvbiBwbHQyX2Fkdl9wMyB0Ml8zCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBG aWx0ZXIgMzoga2V5cz0oYSwgYykKICAgICAgICAgICAgICAgIC0+ICBIYXNoCi0gICAgICAgICAg ICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMwogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBT Y2FuIG9uIHBsdDFfYWR2X3AzIHQxXzMKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRl cjogKGIgPCAxMCkKLSgyNyByb3dzKQorKDIxIHJvd3MpCiAKIFNFTEVDVCB0MS4qIEZST00gcGx0 MV9hZHYgdDEgV0hFUkUgTk9UIEVYSVNUUyAoU0VMRUNUIDEgRlJPTSBwbHQyX2FkdiB0MiBXSEVS RSB0MS5hID0gdDIuYSBBTkQgdDEuYyA9IHQyLmMpIEFORCB0MS5iIDwgMTAgT1JERVIgQlkgdDEu YTsKICBhIHwgYiB8ICBjICAgCkBAIC00MzM2LDI4ICs0MDk4LDIyIEBAIFNFTEVDVCB0MS5hLCB0 MS5jLCB0Mi5hLCB0Mi5jIEZST00gcGx0MV9hZHYgdDEgSU5ORVIgSk9JTiBwbHQyX2FkdiB0MiBP TiAodDEuYSA9CiAgICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAgICAgICAgICAgICBIYXNoIENv bmQ6ICgodDJfMS5hID0gdDFfMS5hKSBBTkQgKHQyXzEuYyA9IHQxXzEuYykpCiAgICAgICAgICAg ICAgICAtPiAgU2VxIFNjYW4gb24gcGx0Ml9hZHZfcDEgdDJfMQotICAgICAgICAgICAgICAgICAg ICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KGEsIGMpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAot ICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgICAgICAgICAgICAg IC0+ICBTZXEgU2NhbiBvbiBwbHQxX2Fkdl9wMV9udWxsIHQxXzEKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEZpbHRlcjogKGIgPCAxMCkKICAgICAgICAgIC0+ICBIYXNoIEpvaW4KICAgICAg ICAgICAgICAgIEhhc2ggQ29uZDogKCh0Ml8yLmEgPSB0MV8yLmEpIEFORCAodDJfMi5jID0gdDFf Mi5jKSkKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQyX2Fkdl9wMiB0Ml8yCi0g ICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMjoga2V5cz0oYSwgYykKICAgICAgICAg ICAgICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMgogICAg ICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDFfYWR2X3AyIHQxXzIKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGIgPCAxMCkKICAgICAgICAgIC0+ICBIYXNo IEpvaW4KICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKCh0Ml8zLmEgPSB0MV8zLmEpIEFORCAo dDJfMy5jID0gdDFfMy5jKSkKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQyX2Fk dl9wM19udWxsIHQyXzMKLSAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAzOiBrZXlz PShhLCBjKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKLSAgICAgICAgICAgICAgICAgICAgIEJs b29tIEZpbHRlciAzCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0MV9h ZHZfcDMgdDFfMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA8IDEwKQot KDI3IHJvd3MpCisoMjEgcm93cykKIAogU0VMRUNUIHQxLmEsIHQxLmMsIHQyLmEsIHQyLmMgRlJP TSBwbHQxX2FkdiB0MSBJTk5FUiBKT0lOIHBsdDJfYWR2IHQyIE9OICh0MS5hID0gdDIuYSBBTkQg dDEuYyA9IHQyLmMpIFdIRVJFIHQxLmIgPCAxMCBPUkRFUiBCWSB0MS5hOwogIGEgfCAgYyAgIHwg YSB8ICBjICAgCkBAIC00Mzc5LDI4ICs0MTM1LDIyIEBAIFNFTEVDVCB0MS4qIEZST00gcGx0MV9h ZHYgdDEgV0hFUkUgRVhJU1RTIChTRUxFQ1QgMSBGUk9NIHBsdDJfYWR2IHQyIFdIRVJFIHQxLmEK ICAgICAgICAgIC0+ICBIYXNoIFJpZ2h0IFNlbWkgSm9pbgogICAgICAgICAgICAgICAgSGFzaCBD b25kOiAoKHQyXzEuYSA9IHQxXzEuYSkgQU5EICh0Ml8xLmMgPSB0MV8xLmMpKQogICAgICAgICAg ICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDJfYWR2X3AxIHQyXzEKLSAgICAgICAgICAgICAgICAg ICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPShhLCBjKQogICAgICAgICAgICAgICAgLT4gIEhhc2gK LSAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAgICAg ICAtPiAgU2VxIFNjYW4gb24gcGx0MV9hZHZfcDFfbnVsbCB0MV8xCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBGaWx0ZXI6IChiIDwgMTApCiAgICAgICAgICAtPiAgSGFzaCBSaWdodCBTZW1p IEpvaW4KICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKCh0Ml8yLmEgPSB0MV8yLmEpIEFORCAo dDJfMi5jID0gdDFfMi5jKSkKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQyX2Fk dl9wMiB0Ml8yCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMjoga2V5cz0oYSwg YykKICAgICAgICAgICAgICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBG aWx0ZXIgMgogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDFfYWR2X3Ay IHQxXzIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGIgPCAxMCkKICAgICAg ICAgIC0+ICBIYXNoIFJpZ2h0IFNlbWkgSm9pbgogICAgICAgICAgICAgICAgSGFzaCBDb25kOiAo KHQyXzMuYSA9IHQxXzMuYSkgQU5EICh0Ml8zLmMgPSB0MV8zLmMpKQogICAgICAgICAgICAgICAg LT4gIFNlcSBTY2FuIG9uIHBsdDJfYWR2X3AzX251bGwgdDJfMwotICAgICAgICAgICAgICAgICAg ICAgQmxvb20gRmlsdGVyIDM6IGtleXM9KGEsIGMpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAot ICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDMKICAgICAgICAgICAgICAgICAgICAg IC0+ICBTZXEgU2NhbiBvbiBwbHQxX2Fkdl9wMyB0MV8zCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBGaWx0ZXI6IChiIDwgMTApCi0oMjcgcm93cykKKygyMSByb3dzKQogCiBTRUxFQ1QgdDEu KiBGUk9NIHBsdDFfYWR2IHQxIFdIRVJFIEVYSVNUUyAoU0VMRUNUIDEgRlJPTSBwbHQyX2FkdiB0 MiBXSEVSRSB0MS5hID0gdDIuYSBBTkQgdDEuYyA9IHQyLmMpIEFORCB0MS5iIDwgMTAgT1JERVIg QlkgdDEuYTsKICBhIHwgYiB8ICBjICAgCkBAIC00NDIyLDI4ICs0MTcyLDIyIEBAIFNFTEVDVCB0 MS5hLCB0MS5jLCB0Mi5hLCB0Mi5jIEZST00gcGx0MV9hZHYgdDEgTEVGVCBKT0lOIHBsdDJfYWR2 IHQyIE9OICh0MS5hID0KICAgICAgICAgIC0+ICBIYXNoIFJpZ2h0IEpvaW4KICAgICAgICAgICAg ICAgIEhhc2ggQ29uZDogKCh0Ml8xLmEgPSB0MV8xLmEpIEFORCAodDJfMS5jID0gdDFfMS5jKSkK ICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQyX2Fkdl9wMSB0Ml8xCi0gICAgICAg ICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0oYSwgYykKICAgICAgICAgICAgICAg IC0+ICBIYXNoCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAg ICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDFfYWR2X3AxX251bGwgdDFfMQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA8IDEwKQogICAgICAgICAgLT4gIEhhc2gg UmlnaHQgSm9pbgogICAgICAgICAgICAgICAgSGFzaCBDb25kOiAoKHQyXzIuYSA9IHQxXzIuYSkg QU5EICh0Ml8yLmMgPSB0MV8yLmMpKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBs dDJfYWR2X3AyIHQyXzIKLSAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyOiBrZXlz PShhLCBjKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKLSAgICAgICAgICAgICAgICAgICAgIEJs b29tIEZpbHRlciAyCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0MV9h ZHZfcDIgdDFfMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA8IDEwKQog ICAgICAgICAgLT4gIEhhc2ggUmlnaHQgSm9pbgogICAgICAgICAgICAgICAgSGFzaCBDb25kOiAo KHQyXzMuYSA9IHQxXzMuYSkgQU5EICh0Ml8zLmMgPSB0MV8zLmMpKQogICAgICAgICAgICAgICAg LT4gIFNlcSBTY2FuIG9uIHBsdDJfYWR2X3AzX251bGwgdDJfMwotICAgICAgICAgICAgICAgICAg ICAgQmxvb20gRmlsdGVyIDM6IGtleXM9KGEsIGMpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAot ICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDMKICAgICAgICAgICAgICAgICAgICAg IC0+ICBTZXEgU2NhbiBvbiBwbHQxX2Fkdl9wMyB0MV8zCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBGaWx0ZXI6IChiIDwgMTApCi0oMjcgcm93cykKKygyMSByb3dzKQogCiBTRUxFQ1QgdDEu YSwgdDEuYywgdDIuYSwgdDIuYyBGUk9NIHBsdDFfYWR2IHQxIExFRlQgSk9JTiBwbHQyX2FkdiB0 MiBPTiAodDEuYSA9IHQyLmEgQU5EIHQxLmMgPSB0Mi5jKSBXSEVSRSB0MS5iIDwgMTAgT1JERVIg QlkgdDEuYTsKICBhICB8ICBjICAgfCBhIHwgIGMgICAKQEAgLTQ0NjgsMjggKzQyMTIsMjIgQEAg U0VMRUNUIHQxLiogRlJPTSBwbHQxX2FkdiB0MSBXSEVSRSBOT1QgRVhJU1RTIChTRUxFQ1QgMSBG Uk9NIHBsdDJfYWR2IHQyIFdIRVJFIHQKICAgICAgICAgIC0+ICBIYXNoIFJpZ2h0IEFudGkgSm9p bgogICAgICAgICAgICAgICAgSGFzaCBDb25kOiAoKHQyXzEuYSA9IHQxXzEuYSkgQU5EICh0Ml8x LmMgPSB0MV8xLmMpKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDJfYWR2X3Ax IHQyXzEKLSAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPShhLCBjKQog ICAgICAgICAgICAgICAgLT4gIEhhc2gKLSAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRl ciAxCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0MV9hZHZfcDFfbnVs bCB0MV8xCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiIDwgMTApCiAgICAg ICAgICAtPiAgSGFzaCBSaWdodCBBbnRpIEpvaW4KICAgICAgICAgICAgICAgIEhhc2ggQ29uZDog KCh0Ml8yLmEgPSB0MV8yLmEpIEFORCAodDJfMi5jID0gdDFfMi5jKSkKICAgICAgICAgICAgICAg IC0+ICBTZXEgU2NhbiBvbiBwbHQyX2Fkdl9wMiB0Ml8yCi0gICAgICAgICAgICAgICAgICAgICBC bG9vbSBGaWx0ZXIgMjoga2V5cz0oYSwgYykKICAgICAgICAgICAgICAgIC0+ICBIYXNoCi0gICAg ICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMgogICAgICAgICAgICAgICAgICAgICAgLT4g IFNlcSBTY2FuIG9uIHBsdDFfYWR2X3AyIHQxXzIKICAgICAgICAgICAgICAgICAgICAgICAgICAg IEZpbHRlcjogKGIgPCAxMCkKICAgICAgICAgIC0+ICBIYXNoIFJpZ2h0IEFudGkgSm9pbgogICAg ICAgICAgICAgICAgSGFzaCBDb25kOiAoKHQyXzMuYSA9IHQxXzMuYSkgQU5EICh0Ml8zLmMgPSB0 MV8zLmMpKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDJfYWR2X3AzX251bGwg dDJfMwotICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDM6IGtleXM9KGEsIGMpCiAg ICAgICAgICAgICAgICAtPiAgSGFzaAotICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVy IDMKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQxX2Fkdl9wMyB0MV8z CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiIDwgMTApCi0oMjcgcm93cykK KygyMSByb3dzKQogCiBTRUxFQ1QgdDEuKiBGUk9NIHBsdDFfYWR2IHQxIFdIRVJFIE5PVCBFWElT VFMgKFNFTEVDVCAxIEZST00gcGx0Ml9hZHYgdDIgV0hFUkUgdDEuYSA9IHQyLmEgQU5EIHQxLmMg PSB0Mi5jKSBBTkQgdDEuYiA8IDEwIE9SREVSIEJZIHQxLmE7CiAgYSAgfCBiICB8ICBjICAgCkBA IC00NTY1LDI4ICs0MzAzLDIyIEBAIFNFTEVDVCB0MS5hLCB0MS5jLCB0Mi5hLCB0Mi5jIEZST00g cGx0MV9hZHYgdDEgSU5ORVIgSk9JTiBwbHQyX2FkdiB0MiBPTiAodDEuYSA9CiAgICAgICAgICAt PiAgSGFzaCBKb2luCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICgodDJfMS5hID0gdDFfMS5h KSBBTkQgKHQyXzEuYyA9IHQxXzEuYykpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24g cGx0Ml9hZHZfcDEgdDJfMQotICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtl eXM9KGEsIGMpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAotICAgICAgICAgICAgICAgICAgICAg Qmxvb20gRmlsdGVyIDEKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQx X2Fkdl9wMSB0MV8xCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiIDwgMTAp CiAgICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICgodDJf Mi5hID0gdDFfMi5hKSBBTkQgKHQyXzIuYyA9IHQxXzIuYykpCiAgICAgICAgICAgICAgICAtPiAg U2VxIFNjYW4gb24gcGx0Ml9hZHZfcDIgdDJfMgotICAgICAgICAgICAgICAgICAgICAgQmxvb20g RmlsdGVyIDI6IGtleXM9KGEsIGMpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAotICAgICAgICAg ICAgICAgICAgICAgQmxvb20gRmlsdGVyIDIKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEg U2NhbiBvbiBwbHQxX2Fkdl9wMiB0MV8yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0 ZXI6IChiIDwgMTApCiAgICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAgICAgICAgICAgICBIYXNo IENvbmQ6ICgodDJfMy5hID0gdDFfMy5hKSBBTkQgKHQyXzMuYyA9IHQxXzMuYykpCiAgICAgICAg ICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0Ml9hZHZfcDMgdDJfMwotICAgICAgICAgICAgICAg ICAgICAgQmxvb20gRmlsdGVyIDM6IGtleXM9KGEsIGMpCiAgICAgICAgICAgICAgICAtPiAgSGFz aAotICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDMKICAgICAgICAgICAgICAgICAg ICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQxX2Fkdl9wMyB0MV8zCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBGaWx0ZXI6IChiIDwgMTApCi0oMjcgcm93cykKKygyMSByb3dzKQogCiBTRUxFQ1Qg dDEuYSwgdDEuYywgdDIuYSwgdDIuYyBGUk9NIHBsdDFfYWR2IHQxIElOTkVSIEpPSU4gcGx0Ml9h ZHYgdDIgT04gKHQxLmEgPSB0Mi5hIEFORCB0MS5jID0gdDIuYykgV0hFUkUgdDEuYiA8IDEwIE9S REVSIEJZIHQxLmE7CiAgYSB8ICBjICAgfCBhIHwgIGMgICAKQEAgLTQ2NjIsMjggKzQzOTQsMjIg QEAgU0VMRUNUIHQxLmEsIHQxLmMsIHQyLmEsIHQyLmMgRlJPTSBwbHQxX2FkdiB0MSBJTk5FUiBK T0lOIHBsdDJfYWR2IHQyIE9OICh0MS5hID0KICAgICAgICAgIC0+ICBIYXNoIEpvaW4KICAgICAg ICAgICAgICAgIEhhc2ggQ29uZDogKCh0Ml8xLmEgPSB0MV8xLmEpIEFORCAodDJfMS5jID0gdDFf MS5jKSkKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQyX2Fkdl9wMSB0Ml8xCi0g ICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0oYSwgYykKICAgICAgICAg ICAgICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAg ICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDFfYWR2X3AxIHQxXzEKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGIgPCAxMCkKICAgICAgICAgIC0+ICBIYXNo IEpvaW4KICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKCh0Ml8yLmEgPSB0MV8yLmEpIEFORCAo dDJfMi5jID0gdDFfMi5jKSkKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQyX2Fk dl9wMiB0Ml8yCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMjoga2V5cz0oYSwg YykKICAgICAgICAgICAgICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBG aWx0ZXIgMgogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDFfYWR2X3Ay IHQxXzIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGIgPCAxMCkKICAgICAg ICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKCh0Ml8zLmEgPSB0 MV8zLmEpIEFORCAodDJfMy5jID0gdDFfMy5jKSkKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2Nh biBvbiBwbHQyX2Fkdl9wMyB0Ml8zCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIg Mzoga2V5cz0oYSwgYykKICAgICAgICAgICAgICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAgICAg ICAgICBCbG9vbSBGaWx0ZXIgMwogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9u IHBsdDFfYWR2X3AzIHQxXzMKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGIg PCAxMCkKLSgyNyByb3dzKQorKDIxIHJvd3MpCiAKIFNFTEVDVCB0MS5hLCB0MS5jLCB0Mi5hLCB0 Mi5jIEZST00gcGx0MV9hZHYgdDEgSU5ORVIgSk9JTiBwbHQyX2FkdiB0MiBPTiAodDEuYSA9IHQy LmEgQU5EIHQxLmMgPSB0Mi5jKSBXSEVSRSB0MS5iIDwgMTAgT1JERVIgQlkgdDEuYTsKICBhIHwg IGMgICB8IGEgfCAgYyAgIApAQCAtNDcwNSwyNSArNDQzMSwxOSBAQCBTRUxFQ1QgdDEuYSwgdDEu YywgdDIuYSwgdDIuYyBGUk9NIHBsdDFfYWR2IHQxIExFRlQgSk9JTiBwbHQyX2FkdiB0MiBPTiAo dDEuYSA9CiAgICAgICAgICAtPiAgSGFzaCBSaWdodCBKb2luCiAgICAgICAgICAgICAgICBIYXNo IENvbmQ6ICgodDJfMS5hID0gdDFfMS5hKSBBTkQgKHQyXzEuYyA9IHQxXzEuYykpCiAgICAgICAg ICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0Ml9hZHZfcDEgdDJfMQotICAgICAgICAgICAgICAg ICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KGEsIGMpCiAgICAgICAgICAgICAgICAtPiAgSGFz aAotICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgICAgICAgICAg ICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQxX2Fkdl9wMSB0MV8xCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBGaWx0ZXI6IChiIDwgMTApCiAgICAgICAgICAtPiAgSGFzaCBSaWdodCBKb2luCiAg ICAgICAgICAgICAgICBIYXNoIENvbmQ6ICgodDJfMi5hID0gdDFfMi5hKSBBTkQgKHQyXzIuYyA9 IHQxXzIuYykpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0Ml9hZHZfcDIgdDJf MgotICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDI6IGtleXM9KGEsIGMpCiAgICAg ICAgICAgICAgICAtPiAgSGFzaAotICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDIK ICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQxX2Fkdl9wMiB0MV8yCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiIDwgMTApCiAgICAgICAgICAtPiAg SGFzaCBSaWdodCBKb2luCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICgodDJfMy5hID0gdDFf My5hKSBBTkQgKHQyXzMuYyA9IHQxXzMuYykpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4g b24gcGx0Ml9hZHZfcDMgdDJfMwotICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDM6 IGtleXM9KGEsIGMpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAotICAgICAgICAgICAgICAgICAg ICAgQmxvb20gRmlsdGVyIDMKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBw bHQxX2Fkdl9wMyB0MV8zCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiIDwg MTApCiAgICAgICAgICAtPiAgTmVzdGVkIExvb3AgTGVmdCBKb2luCkBAIC00NzMxLDcgKzQ0NTEs NyBAQCBTRUxFQ1QgdDEuYSwgdDEuYywgdDIuYSwgdDIuYyBGUk9NIHBsdDFfYWR2IHQxIExFRlQg Sk9JTiBwbHQyX2FkdiB0MiBPTiAodDEuYSA9CiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4g b24gcGx0MV9hZHZfZXh0cmEgdDFfNAogICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA8 IDEwKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDJfYWR2X2V4dHJhIHQyXzQK LSgzMiByb3dzKQorKDI2IHJvd3MpCiAKIFNFTEVDVCB0MS5hLCB0MS5jLCB0Mi5hLCB0Mi5jIEZS T00gcGx0MV9hZHYgdDEgTEVGVCBKT0lOIHBsdDJfYWR2IHQyIE9OICh0MS5hID0gdDIuYSBBTkQg dDEuYyA9IHQyLmMpIFdIRVJFIHQxLmIgPCAxMCBPUkRFUiBCWSB0MS5hOwogIGEgIHwgIGMgICB8 IGEgfCAgYyAgIApAQCAtNDgwNSw0MyArNDUyNSwzMSBAQCBTRUxFQ1QgdDEuYSwgdDEuYywgdDIu YSwgdDIuYywgdDMuYSwgdDMuYyBGUk9NIHBsdDFfYWR2IHQxIExFRlQgSk9JTiBwbHQyX2FkdiB0 MgogICAgICAgICAgLT4gIEhhc2ggUmlnaHQgSm9pbgogICAgICAgICAgICAgICAgSGFzaCBDb25k OiAoKHQzXzEuYSA9IHQxXzEuYSkgQU5EICh0M18xLmMgPSB0MV8xLmMpKQogICAgICAgICAgICAg ICAgLT4gIFNlcSBTY2FuIG9uIHBsdDFfYWR2X3AxIHQzXzEKLSAgICAgICAgICAgICAgICAgICAg IEJsb29tIEZpbHRlciAyOiBrZXlzPShhLCBjKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKLSAg ICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyCiAgICAgICAgICAgICAgICAgICAgICAt PiAgSGFzaCBSaWdodCBKb2luCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6 ICgodDJfMS5hID0gdDFfMS5hKSBBTkQgKHQyXzEuYyA9IHQxXzEuYykpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0Ml9hZHZfcDEgdDJfMQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KGEsIGMpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IC0+ICBTZXEgU2NhbiBvbiBwbHQxX2Fkdl9wMSB0MV8xCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiIDwgMTApCiAgICAgICAgICAtPiAgSGFzaCBSaWdo dCBKb2luCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICgodDNfMi5hID0gdDFfMi5hKSBBTkQg KHQzXzIuYyA9IHQxXzIuYykpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0MV9h ZHZfcDIgdDNfMgotICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDQ6IGtleXM9KGEs IGMpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAotICAgICAgICAgICAgICAgICAgICAgQmxvb20g RmlsdGVyIDQKICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoIFJpZ2h0IEpvaW4KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKCh0Ml8yLmEgPSB0MV8yLmEpIEFORCAo dDJfMi5jID0gdDFfMi5jKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2Nh biBvbiBwbHQyX2Fkdl9wMiB0Ml8yCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBC bG9vbSBGaWx0ZXIgMzoga2V5cz0oYSwgYykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ ICBIYXNoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDFfYWR2 X3AyIHQxXzIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjog KGIgPCAxMCkKICAgICAgICAgIC0+ICBIYXNoIFJpZ2h0IEpvaW4KICAgICAgICAgICAgICAgIEhh c2ggQ29uZDogKCh0M18zLmEgPSB0MV8zLmEpIEFORCAodDNfMy5jID0gdDFfMy5jKSkKICAgICAg ICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQxX2Fkdl9wMyB0M18zCi0gICAgICAgICAgICAg ICAgICAgICBCbG9vbSBGaWx0ZXIgNjoga2V5cz0oYSwgYykKICAgICAgICAgICAgICAgIC0+ICBI YXNoCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgNgogICAgICAgICAgICAgICAg ICAgICAgLT4gIEhhc2ggUmlnaHQgSm9pbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGFz aCBDb25kOiAoKHQyXzMuYSA9IHQxXzMuYSkgQU5EICh0Ml8zLmMgPSB0MV8zLmMpKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDJfYWR2X3AzIHQyXzMKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciA1OiBrZXlzPShhLCBj KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2gKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciA1CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0MV9hZHZfcDMgdDFfMwogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoYiA8IDEwKQogICAgICAgICAgLT4gIE5l c3RlZCBMb29wIExlZnQgSm9pbgpAQCAtNDg1Miw3ICs0NTYwLDcgQEAgU0VMRUNUIHQxLmEsIHQx LmMsIHQyLmEsIHQyLmMsIHQzLmEsIHQzLmMgRlJPTSBwbHQxX2FkdiB0MSBMRUZUIEpPSU4gcGx0 Ml9hZHYgdDIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGIgPCAxMCkKICAg ICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQyX2Fkdl9leHRyYSB0Ml80CiAg ICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0MV9hZHZfZXh0cmEgdDNfNAotKDUzIHJv d3MpCisoNDEgcm93cykKIAogU0VMRUNUIHQxLmEsIHQxLmMsIHQyLmEsIHQyLmMsIHQzLmEsIHQz LmMgRlJPTSBwbHQxX2FkdiB0MSBMRUZUIEpPSU4gcGx0Ml9hZHYgdDIgT04gKHQxLmEgPSB0Mi5h IEFORCB0MS5jID0gdDIuYykgTEVGVCBKT0lOIHBsdDFfYWR2IHQzIE9OICh0MS5hID0gdDMuYSBB TkQgdDEuYyA9IHQzLmMpIFdIRVJFIHQxLmIgPCAxMCBPUkRFUiBCWSB0MS5hOwogIGEgIHwgIGMg ICB8IGEgfCAgYyAgIHwgYSB8ICBjICAgCkBAIC00ODg4LDIwICs0NTk2LDE2IEBAIFNFTEVDVCB0 MS5hLCB0MS5jLCB0Mi5hLCB0Mi5jIEZST00gcGx0MV9hZHYgdDEgSU5ORVIgSk9JTiBwbHQyX2Fk diB0MiBPTiAodDEuYSA9CiAgICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAgICAgICAgICAgICBI YXNoIENvbmQ6ICgodDJfMS5hID0gdDFfMi5hKSBBTkQgKHQyXzEuYyA9IHQxXzIuYykpCiAgICAg ICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0Ml9hZHZfcDEgdDJfMQotICAgICAgICAgICAg ICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KGEsIGMpCiAgICAgICAgICAgICAgICAtPiAg SGFzaAotICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgICAgICAg ICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQxX2Fkdl9wMSB0MV8yCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBGaWx0ZXI6IChiIDwgMTApCiAgICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAg ICAgICAgICAgICBIYXNoIENvbmQ6ICgodDJfMi5hID0gdDFfMS5hKSBBTkQgKHQyXzIuYyA9IHQx XzEuYykpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0Ml9hZHZfcDIgdDJfMgot ICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDI6IGtleXM9KGEsIGMpCiAgICAgICAg ICAgICAgICAtPiAgSGFzaAotICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDIKICAg ICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQxX2Fkdl9wMiB0MV8xCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiIDwgMTApCi0oMTkgcm93cykKKygxNSBy b3dzKQogCiBTRUxFQ1QgdDEuYSwgdDEuYywgdDIuYSwgdDIuYyBGUk9NIHBsdDFfYWR2IHQxIElO TkVSIEpPSU4gcGx0Ml9hZHYgdDIgT04gKHQxLmEgPSB0Mi5hIEFORCB0MS5jID0gdDIuYykgV0hF UkUgdDEuYiA8IDEwIE9SREVSIEJZIHQxLmE7CiAgYSB8ICBjICAgfCBhIHwgIGMgICAKQEAgLTQ5 ODMsMzIgKzQ2ODcsMjQgQEAgU0VMRUNUIHQxLmEsIHQxLmMsIHQyLmEsIHQyLmMsIHQzLmEsIHQz LmMgRlJPTSBwbHQxX2FkdiB0MSBMRUZUIEpPSU4gcGx0Ml9hZHYgdDIKICAgICAgICAgIC0+ICBI YXNoIFJpZ2h0IEpvaW4KICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKCh0M18xLmEgPSB0MV8x LmEpIEFORCAodDNfMS5jID0gdDFfMS5jKSkKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBv biBwbHQzX2Fkdl9wMSB0M18xCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMjog a2V5cz0oYSwgYykKICAgICAgICAgICAgICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAgICAgICAg ICBCbG9vbSBGaWx0ZXIgMgogICAgICAgICAgICAgICAgICAgICAgLT4gIEhhc2ggUmlnaHQgSm9p bgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGFzaCBDb25kOiAoKHQyXzIuYSA9IHQxXzEu YSkgQU5EICh0Ml8yLmMgPSB0MV8xLmMpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4g IFNlcSBTY2FuIG9uIHBsdDJfYWR2X3AyIHQyXzIKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPShhLCBjKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgLT4gIEhhc2gKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZp bHRlciAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24g cGx0MV9hZHZfcDIgdDFfMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg RmlsdGVyOiAoYiA8IDEwKQogICAgICAgICAgLT4gIEhhc2ggUmlnaHQgSm9pbgogICAgICAgICAg ICAgICAgSGFzaCBDb25kOiAoKHQzXzIuYSA9IHQxXzIuYSkgQU5EICh0M18yLmMgPSB0MV8yLmMp KQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDNfYWR2X3AyIHQzXzIKLSAgICAg ICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciA0OiBrZXlzPShhLCBjKQogICAgICAgICAgICAg ICAgLT4gIEhhc2gKLSAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciA0CiAgICAgICAg ICAgICAgICAgICAgICAtPiAgSGFzaCBSaWdodCBKb2luCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBIYXNoIENvbmQ6ICgodDJfMS5hID0gdDFfMi5hKSBBTkQgKHQyXzEuYyA9IHQxXzIuYykp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0Ml9hZHZfcDEg dDJfMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDM6IGtl eXM9KGEsIGMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDMKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQxX2Fkdl9wMSB0MV8yCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiIDwgMTApCi0oMzEgcm93 cykKKygyMyByb3dzKQogCiBTRUxFQ1QgdDEuYSwgdDEuYywgdDIuYSwgdDIuYywgdDMuYSwgdDMu YyBGUk9NIHBsdDFfYWR2IHQxIExFRlQgSk9JTiBwbHQyX2FkdiB0MiBPTiAodDEuYSA9IHQyLmEg QU5EIHQxLmMgPSB0Mi5jKSBMRUZUIEpPSU4gcGx0M19hZHYgdDMgT04gKHQxLmEgPSB0My5hIEFO RCB0MS5jID0gdDMuYykgV0hFUkUgdDEuYiA8IDEwIE9SREVSIEJZIHQxLmE7CiAgYSB8ICBjICAg fCBhIHwgIGMgICB8IGEgfCAgYyAgIApAQCAtNTAzNywyMCArNDczMywxNiBAQCBTRUxFQ1QgdDEu YSwgdDEuYywgdDIuYSwgdDIuYyBGUk9NIHBsdDFfYWR2IHQxIElOTkVSIEpPSU4gcGx0Ml9hZHYg dDIgT04gKHQxLmEgPQogICAgICAgICAgLT4gIEhhc2ggSm9pbgogICAgICAgICAgICAgICAgSGFz aCBDb25kOiAoKHQyXzEuYSA9IHQxXzIuYSkgQU5EICh0Ml8xLmMgPSB0MV8yLmMpKQogICAgICAg ICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDJfYWR2X3AxX251bGwgdDJfMQotICAgICAgICAg ICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KGEsIGMpCiAgICAgICAgICAgICAgICAt PiAgSGFzaAotICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgICAg ICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQxX2Fkdl9wMSB0MV8yCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBGaWx0ZXI6IChiIDwgMTApCiAgICAgICAgICAtPiAgSGFzaCBKb2luCiAg ICAgICAgICAgICAgICBIYXNoIENvbmQ6ICgodDJfMi5hID0gdDFfMS5hKSBBTkQgKHQyXzIuYyA9 IHQxXzEuYykpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0Ml9hZHZfcDIgdDJf MgotICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDI6IGtleXM9KGEsIGMpCiAgICAg ICAgICAgICAgICAtPiAgSGFzaAotICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDIK ICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQxX2Fkdl9wMiB0MV8xCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6IChiIDwgMTApCi0oMTkgcm93cykKKygx NSByb3dzKQogCiBTRUxFQ1QgdDEuYSwgdDEuYywgdDIuYSwgdDIuYyBGUk9NIHBsdDFfYWR2IHQx IElOTkVSIEpPSU4gcGx0Ml9hZHYgdDIgT04gKHQxLmEgPSB0Mi5hIEFORCB0MS5jID0gdDIuYykg V0hFUkUgdDEuYiA8IDEwIE9SREVSIEJZIHQxLmE7CiAgYSB8ICBjICAgfCBhIHwgIGMgICAKQEAg LTUwNzUsMTIgKzQ3NjcsMTAgQEAgU0VMRUNUIHQxLmEsIHQxLmMsIHQyLmEsIHQyLmMgRlJPTSBw bHQxX2FkdiB0MSBJTk5FUiBKT0lOIHBsdDJfYWR2IHQyIE9OICh0MS5hID0KICAgIC0+ICBIYXNo IEpvaW4KICAgICAgICAgIEhhc2ggQ29uZDogKCh0Mi5hID0gdDEuYSkgQU5EICh0Mi5jID0gdDEu YykpCiAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0Ml9hZHZfcDIgdDIKLSAgICAgICAgICAg ICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPShhLCBjKQogICAgICAgICAgLT4gIEhhc2gKLSAgICAg ICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24g cGx0MV9hZHZfcDIgdDEKICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGIgPCAxMCkKLSgx MCByb3dzKQorKDggcm93cykKIAogU0VMRUNUIHQxLmEsIHQxLmMsIHQyLmEsIHQyLmMgRlJPTSBw bHQxX2FkdiB0MSBJTk5FUiBKT0lOIHBsdDJfYWR2IHQyIE9OICh0MS5hID0gdDIuYSBBTkQgdDEu YyA9IHQyLmMpIFdIRVJFIHQxLmIgPCAxMCBPUkRFUiBCWSB0MS5hOwogIGEgfCAgYyAgIHwgYSB8 ICBjICAgCkBAIC01MTE5LDIwICs0ODA5LDE2IEBAIFNFTEVDVCB0MS5hLCB0MS5jLCB0Mi5hLCB0 Mi5jIEZST00gcGx0MV9hZHYgdDEgSU5ORVIgSk9JTiBwbHQyX2FkdiB0MiBPTiAodDEuYSA9CiAg ICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICgodDJfMS5h ID0gdDFfMS5hKSBBTkQgKHQyXzEuYyA9IHQxXzEuYykpCiAgICAgICAgICAgICAgICAtPiAgU2Vx IFNjYW4gb24gcGx0Ml9hZHZfcDMgdDJfMQotICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmls dGVyIDE6IGtleXM9KGEsIGMpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAotICAgICAgICAgICAg ICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2Nh biBvbiBwbHQxX2Fkdl9wMyB0MV8xCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6 ICgoYiA8IDEwKSBBTkQgKGMgPSBBTlkgKCd7MDAwMywwMDA0LDAwMDV9Jzo6dGV4dFtdKSkpCiAg ICAgICAgICAtPiAgSGFzaCBKb2luCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICgodDJfMi5h ID0gdDFfMi5hKSBBTkQgKHQyXzIuYyA9IHQxXzIuYykpCiAgICAgICAgICAgICAgICAtPiAgU2Vx IFNjYW4gb24gcGx0Ml9hZHZfcDQgdDJfMgotICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmls dGVyIDI6IGtleXM9KGEsIGMpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAotICAgICAgICAgICAg ICAgICAgICAgQmxvb20gRmlsdGVyIDIKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2Nh biBvbiBwbHQxX2Fkdl9wNCB0MV8yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6 ICgoYiA8IDEwKSBBTkQgKGMgPSBBTlkgKCd7MDAwMywwMDA0LDAwMDV9Jzo6dGV4dFtdKSkpCi0o MTkgcm93cykKKygxNSByb3dzKQogCiBTRUxFQ1QgdDEuYSwgdDEuYywgdDIuYSwgdDIuYyBGUk9N IHBsdDFfYWR2IHQxIElOTkVSIEpPSU4gcGx0Ml9hZHYgdDIgT04gKHQxLmEgPSB0Mi5hIEFORCB0 MS5jID0gdDIuYykgV0hFUkUgdDEuYyBJTiAoJzAwMDMnLCAnMDAwNCcsICcwMDA1JykgQU5EIHQx LmIgPCAxMCBPUkRFUiBCWSB0MS5hOwogIGEgfCAgYyAgIHwgYSB8ICBjICAgCkBAIC01MTUxLDEy ICs0ODM3LDEwIEBAIFNFTEVDVCB0MS5hLCB0MS5jLCB0Mi5hLCB0Mi5jIEZST00gcGx0MV9hZHYg dDEgTEVGVCBKT0lOIHBsdDJfYWR2IHQyIE9OICh0MS5hID0KICAgIC0+ICBIYXNoIFJpZ2h0IEpv aW4KICAgICAgICAgIEhhc2ggQ29uZDogKCh0Mi5hID0gdDEuYSkgQU5EICh0Mi5jID0gdDEuYykp CiAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0Ml9hZHZfcDQgdDIKLSAgICAgICAgICAgICAg IEJsb29tIEZpbHRlciAxOiBrZXlzPShhLCBjKQogICAgICAgICAgLT4gIEhhc2gKLSAgICAgICAg ICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGx0 MV9hZHZfcDQgdDEKICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKChjIElTIE5VTEwpIEFO RCAoYiA8IDEwKSkKLSgxMCByb3dzKQorKDggcm93cykKIAogU0VMRUNUIHQxLmEsIHQxLmMsIHQy LmEsIHQyLmMgRlJPTSBwbHQxX2FkdiB0MSBMRUZUIEpPSU4gcGx0Ml9hZHYgdDIgT04gKHQxLmEg PSB0Mi5hIEFORCB0MS5jID0gdDIuYykgV0hFUkUgdDEuYyBJUyBOVUxMIEFORCB0MS5iIDwgMTAg T1JERVIgQlkgdDEuYTsKICBhICB8IGMgfCBhIHwgYyAKQEAgLTUxNzgsMjAgKzQ4NjIsMTYgQEAg U0VMRUNUIHQxLmEsIHQxLmMsIHQyLmEsIHQyLmMgRlJPTSBwbHQxX2FkdiB0MSBJTk5FUiBKT0lO IHBsdDJfYWR2IHQyIE9OICh0MS5hID0KICAgICAgICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAg ICAgICAgIEhhc2ggQ29uZDogKCh0Ml8xLmEgPSB0MV8xLmEpIEFORCAodDJfMS5jID0gdDFfMS5j KSkKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQyX2Fkdl9wMyB0Ml8xCi0gICAg ICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0oYSwgYykKICAgICAgICAgICAg ICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAg ICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDFfYWR2X3AzIHQxXzEKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKChiIDwgMTApIEFORCAoYyA9IEFOWSAoJ3swMDAz LDAwMDQsMDAwNX0nOjp0ZXh0W10pKSkKICAgICAgICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAg ICAgICAgIEhhc2ggQ29uZDogKCh0Ml8yLmEgPSB0MV8yLmEpIEFORCAodDJfMi5jID0gdDFfMi5j KSkKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQyX2Fkdl9wNCB0Ml8yCi0gICAg ICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMjoga2V5cz0oYSwgYykKICAgICAgICAgICAg ICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMgogICAgICAg ICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBsdDFfYWR2X3A0IHQxXzIKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKChiIDwgMTApIEFORCAoYyA9IEFOWSAoJ3swMDAz LDAwMDQsMDAwNX0nOjp0ZXh0W10pKSkKLSgxOSByb3dzKQorKDE1IHJvd3MpCiAKIFNFTEVDVCB0 MS5hLCB0MS5jLCB0Mi5hLCB0Mi5jIEZST00gcGx0MV9hZHYgdDEgSU5ORVIgSk9JTiBwbHQyX2Fk diB0MiBPTiAodDEuYSA9IHQyLmEgQU5EIHQxLmMgPSB0Mi5jKSBXSEVSRSB0MS5jIElOICgnMDAw MycsICcwMDA0JywgJzAwMDUnKSBBTkQgdDEuYiA8IDEwIE9SREVSIEJZIHQxLmE7CiAgYSB8ICBj ICAgfCBhIHwgIGMgICAKQEAgLTUyMTAsMTIgKzQ4OTAsMTAgQEAgU0VMRUNUIHQxLmEsIHQxLmMs IHQyLmEsIHQyLmMgRlJPTSBwbHQxX2FkdiB0MSBMRUZUIEpPSU4gcGx0Ml9hZHYgdDIgT04gKHQx LmEgPQogICAgLT4gIEhhc2ggUmlnaHQgSm9pbgogICAgICAgICAgSGFzaCBDb25kOiAoKHQyLmEg PSB0MS5hKSBBTkQgKHQyLmMgPSB0MS5jKSkKICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQy X2Fkdl9wNCB0MgotICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KGEsIGMpCiAg ICAgICAgICAtPiAgSGFzaAotICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAg ICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwbHQxX2Fkdl9wNCB0MQogICAgICAgICAgICAgICAgICAg ICAgRmlsdGVyOiAoKGMgSVMgTlVMTCkgQU5EIChiIDwgMTApKQotKDEwIHJvd3MpCisoOCByb3dz KQogCiBTRUxFQ1QgdDEuYSwgdDEuYywgdDIuYSwgdDIuYyBGUk9NIHBsdDFfYWR2IHQxIExFRlQg Sk9JTiBwbHQyX2FkdiB0MiBPTiAodDEuYSA9IHQyLmEgQU5EIHQxLmMgPSB0Mi5jKSBXSEVSRSB0 MS5jIElTIE5VTEwgQU5EIHQxLmIgPCAxMCBPUkRFUiBCWSB0MS5hOwogIGEgIHwgYyB8IGEgfCBj IApAQCAtNTMzNywxNiArNTAxNSwxMiBAQCBTRUxFQ1QgdDEuKiwgdDIuKiBGUk9NIGFscGhhIHQx IElOTkVSIEpPSU4gYmV0YSB0MiBPTiAodDEuYSA9IHQyLmEgQU5EIHQxLmIgPSB0MgogICAgICAg ICAgICAgICAgSGFzaCBDb25kOiAoKHQxXzEuYSA9IHQyXzEuYSkgQU5EICh0MV8xLmIgPSB0Ml8x LmIpKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIGFscGhhX25lZ19wMSB0MV8xCiAg ICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6ICgoYiA+PSAxMjUpIEFORCAoYiA8IDIyNSkpCi0g ICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0oYSwgYikKICAgICAgICAg ICAgICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAg ICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIGJldGFfbmVnX3AxIHQyXzEKICAgICAg ICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKCh0Ml8yLmEgPSB0 MV8yLmEpIEFORCAodDJfMi5iID0gdDFfMi5iKSkKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2Nh biBvbiBiZXRhX25lZ19wMiB0Ml8yCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIg Mjoga2V5cz0oYSwgYikKICAgICAgICAgICAgICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAgICAg ICAgICBCbG9vbSBGaWx0ZXIgMgogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9u IGFscGhhX25lZ19wMiB0MV8yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6ICgo YiA+PSAxMjUpIEFORCAoYiA8IDIyNSkpCiAgICAgICAgICAtPiAgSGFzaCBKb2luCkBAIC01MzYz LDcgKzUwMzcsNyBAQCBTRUxFQ1QgdDEuKiwgdDIuKiBGUk9NIGFscGhhIHQxIElOTkVSIEpPSU4g YmV0YSB0MiBPTiAodDEuYSA9IHQyLmEgQU5EIHQxLmIgPSB0MgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgRmlsdGVyOiAoKGIgPj0gMTI1KSBBTkQgKGIgPCAyMjUpKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIGFscGhhX3Bvc19wMyB0MV82CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWx0ZXI6ICgoYiA+PSAxMjUpIEFORCAo YiA8IDIyNSkpCi0oMzMgcm93cykKKygyOSByb3dzKQogCiBTRUxFQ1QgdDEuKiwgdDIuKiBGUk9N IGFscGhhIHQxIElOTkVSIEpPSU4gYmV0YSB0MiBPTiAodDEuYSA9IHQyLmEgQU5EIHQxLmIgPSB0 Mi5iKSBXSEVSRSB0MS5iID49IDEyNSBBTkQgdDEuYiA8IDIyNSBPUkRFUiBCWSB0MS5hLCB0MS5i OwogIGEgIHwgIGIgIHwgIGMgICB8IGEgIHwgIGIgIHwgIGMgICAKQEAgLTU0NzYsMTggKzUxNTAs MTQgQEAgU0VMRUNUIHQxLiosIHQyLiogRlJPTSBhbHBoYSB0MSBJTk5FUiBKT0lOIGJldGEgdDIg T04gKHQxLmEgPSB0Mi5hIEFORCB0MS5iID0gdDIKICAgICAgICAgICAgICAgIEhhc2ggQ29uZDog KCh0MV8xLmEgPSB0Ml8xLmEpIEFORCAodDFfMS5iID0gdDJfMS5iKSBBTkQgKHQxXzEuYyA9IHQy XzEuYykpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gYWxwaGFfbmVnX3AxIHQxXzEK ICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKChjID0gQU5ZICgnezAwMDQsMDAwOX0nOjp0 ZXh0W10pKSBBTkQgKCgoYiA+PSAxMDApIEFORCAoYiA8IDExMCkpIE9SICgoYiA+PSAyMDApIEFO RCAoYiA8IDIxMCkpKSkKLSAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlz PShhLCBiLCBjKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKLSAgICAgICAgICAgICAgICAgICAg IEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gYmV0 YV9uZWdfcDEgdDJfMQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoKChiID49 IDEwMCkgQU5EIChiIDwgMTEwKSkgT1IgKChiID49IDIwMCkgQU5EIChiIDwgMjEwKSkpCiAgICAg ICAgICAtPiAgSGFzaCBKb2luCiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICgodDFfMi5hID0g dDJfMi5hKSBBTkQgKHQxXzIuYiA9IHQyXzIuYikgQU5EICh0MV8yLmMgPSB0Ml8yLmMpKQogICAg ICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIGFscGhhX25lZ19wMiB0MV8yCiAgICAgICAgICAg ICAgICAgICAgICBGaWx0ZXI6ICgoYyA9IEFOWSAoJ3swMDA0LDAwMDl9Jzo6dGV4dFtdKSkgQU5E ICgoKGIgPj0gMTAwKSBBTkQgKGIgPCAxMTApKSBPUiAoKGIgPj0gMjAwKSBBTkQgKGIgPCAyMTAp KSkpCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMjoga2V5cz0oYSwgYiwgYykK ICAgICAgICAgICAgICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0 ZXIgMgogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIGJldGFfbmVnX3AyIHQy XzIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKCgoYiA+PSAxMDApIEFORCAo YiA8IDExMCkpIE9SICgoYiA+PSAyMDApIEFORCAoYiA8IDIxMCkpKQogICAgICAgICAgLT4gIE5l c3RlZCBMb29wCkBAIC01NTAyLDcgKzUxNzIsNyBAQCBTRUxFQ1QgdDEuKiwgdDIuKiBGUk9NIGFs cGhhIHQxIElOTkVSIEpPSU4gYmV0YSB0MiBPTiAodDEuYSA9IHQyLmEgQU5EIHQxLmIgPSB0Mgog ICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoKGMgPSBBTlkgKCd7MDAwNCwwMDA5fSc6OnRl eHRbXSkpIEFORCAoKChiID49IDEwMCkgQU5EIChiIDwgMTEwKSkgT1IgKChiID49IDIwMCkgQU5E IChiIDwgMjEwKSkpKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIGJldGFfcG9zX3Az IHQyXzQKICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKCgoYiA+PSAxMDApIEFORCAoYiA8 IDExMCkpIE9SICgoYiA+PSAyMDApIEFORCAoYiA8IDIxMCkpKQotKDMzIHJvd3MpCisoMjkgcm93 cykKIAogU0VMRUNUIHQxLiosIHQyLiogRlJPTSBhbHBoYSB0MSBJTk5FUiBKT0lOIGJldGEgdDIg T04gKHQxLmEgPSB0Mi5hIEFORCB0MS5iID0gdDIuYiBBTkQgdDEuYyA9IHQyLmMpIFdIRVJFICgo dDEuYiA+PSAxMDAgQU5EIHQxLmIgPCAxMTApIE9SICh0MS5iID49IDIwMCBBTkQgdDEuYiA8IDIx MCkpIEFORCAoKHQyLmIgPj0gMTAwIEFORCB0Mi5iIDwgMTEwKSBPUiAodDIuYiA+PSAyMDAgQU5E IHQyLmIgPCAyMTApKSBBTkQgdDEuYyBJTiAoJzAwMDQnLCAnMDAwOScpIE9SREVSIEJZIHQxLmEs IHQxLmI7CiAgYSAgfCAgYiAgfCAgYyAgIHwgYSAgfCAgYiAgfCAgYyAgIApAQCAtNTY0NiwyNSAr NTMxNiwxOSBAQCBFWFBMQUlOIChDT1NUUyBPRkYpIFNFTEVDVCAqIEZST00gcGh0MSBwMSBKT0lO IHBodDEgcDIgVVNJTkcgKGMpIExJTUlUIDEwMDA7CiAgICAgICAgICAtPiAgSGFzaCBKb2luCiAg ICAgICAgICAgICAgICBIYXNoIENvbmQ6IChwMV8xLmMgPSBwMl8xLmMpCiAgICAgICAgICAgICAg ICAtPiAgU2VxIFNjYW4gb24gcGh0MV9wMSBwMV8xCi0gICAgICAgICAgICAgICAgICAgICBCbG9v bSBGaWx0ZXIgMToga2V5cz0oYykKICAgICAgICAgICAgICAgIC0+ICBIYXNoCi0gICAgICAgICAg ICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBT Y2FuIG9uIHBodDFfcDEgcDJfMQogICAgICAgICAgLT4gIEhhc2ggSm9pbgogICAgICAgICAgICAg ICAgSGFzaCBDb25kOiAocDFfMi5jID0gcDJfMi5jKQogICAgICAgICAgICAgICAgLT4gIFNlcSBT Y2FuIG9uIHBodDFfcDIgcDFfMgotICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDI6 IGtleXM9KGMpCiAgICAgICAgICAgICAgICAtPiAgSGFzaAotICAgICAgICAgICAgICAgICAgICAg Qmxvb20gRmlsdGVyIDIKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwaHQx X3AyIHAyXzIKICAgICAgICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAgICAgICAgIEhhc2ggQ29u ZDogKHAxXzMuYyA9IHAyXzMuYykKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwaHQx X3AzIHAxXzMKLSAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAzOiBrZXlzPShjKQog ICAgICAgICAgICAgICAgLT4gIEhhc2gKLSAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRl ciAzCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGh0MV9wMyBwMl8zCi0o MjMgcm93cykKKygxNyByb3dzKQogCiBSRVNFVCBlbmFibGVfbWVyZ2Vqb2luOwogU0VUIG1heF9w YXJhbGxlbF93b3JrZXJzX3Blcl9nYXRoZXIgPSAxOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVn cmVzcy9leHBlY3RlZC9wcmVkaWNhdGUub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9w cmVkaWNhdGUub3V0CmluZGV4IDA3OWY2NDIyZmRjLi5mZWFlNzdjYjg0MCAxMDA2NDQKLS0tIGEv c3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wcmVkaWNhdGUub3V0CisrKyBiL3NyYy90ZXN0L3Jl Z3Jlc3MvZXhwZWN0ZWQvcHJlZGljYXRlLm91dApAQCAtNzQ4LDE2ICs3NDgsMTQgQEAgU0VMRUNU IGlkIEZST00gZGlzdF90YWIgV0hFUkUgcm93X25uIElTIERJU1RJTkNUIEZST00gUk9XKDEsIDUp OjpkaXN0X3Jvd190OwogU0VUIGVuYWJsZV9uZXN0bG9vcCBUTyBvZmY7CiBFWFBMQUlOIChDT1NU UyBPRkYpCiBTRUxFQ1QgKiBGUk9NIGRpc3RfdGFiIHQxIEpPSU4gZGlzdF90YWIgdDIgT04gdDEu dmFsX25uIElTIE5PVCBESVNUSU5DVCBGUk9NIHQyLnZhbF9ubjsKLSAgICAgICAgICAgICAgUVVF UlkgUExBTiAgICAgICAgICAgICAgIAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCisgICAgICAgICAgICAgIFFVRVJZIFBMQU4gICAgICAgICAgICAgIAorLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICBIYXNoIEpvaW4KICAgIEhhc2ggQ29uZDog KHQxLnZhbF9ubiA9IHQyLnZhbF9ubikKICAgIC0+ICBTZXEgU2NhbiBvbiBkaXN0X3RhYiB0MQot ICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KHZhbF9ubikKICAgIC0+ICBIYXNoCi0gICAg ICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIGRpc3RfdGFiIHQy Ci0oNyByb3dzKQorKDUgcm93cykKIAogU0VMRUNUICogRlJPTSBkaXN0X3RhYiB0MSBKT0lOIGRp c3RfdGFiIHQyIE9OIHQxLnZhbF9ubiBJUyBOT1QgRElTVElOQ1QgRlJPTSB0Mi52YWxfbm47CiAg aWQgfCB2YWxfbm4gfCB2YWxfbnVsbCB8IHJvd19ubiB8IGlkIHwgdmFsX25uIHwgdmFsX251bGwg fCByb3dfbm4gCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3JldHVybmlu Zy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3JldHVybmluZy5vdXQKaW5kZXggZGM0 NDg3MWI2ODIuLjUwY2QzYmU4MDMwIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL3JldHVybmluZy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9yZXR1cm5p bmcub3V0CkBAIC03MTMsMzMgKzcxMywzMSBAQCBVUERBVEUgam9pbnZpZXcgU0VUIGYzID0gZjMg KyAxIFdIRVJFIGYzID0gNTcKICAgIFVwZGF0ZSBvbiBwZ190ZW1wLmZvbyBmb29fMQogICAgLT4g IEhhc2ggSm9pbgogICAgICAgICAgT3V0cHV0OiBmb29fMi5mMSwgKGZvb18yLmYzICsgMSksIGpv aW5tZS5jdGlkLCBmb29fMi5jdGlkLCBqb2lubWVfMS5jdGlkLCBqb2lubWUub3RoZXIsIGZvb18x LnRhYmxlb2lkLCBmb29fMS5jdGlkLCBmb29fMi50YWJsZW9pZAotICAgICAgICAgSGFzaCBDb25k OiAoZm9vXzEuZjIgPSBqb2lubWUuZjJqKQotICAgICAgICAgLT4gIEhhc2ggSm9pbgotICAgICAg ICAgICAgICAgT3V0cHV0OiBmb29fMS5mMiwgZm9vXzEudGFibGVvaWQsIGZvb18xLmN0aWQsIGpv aW5tZV8xLmN0aWQsIGpvaW5tZV8xLmYyagotICAgICAgICAgICAgICAgSGFzaCBDb25kOiAoam9p bm1lXzEuZjJqID0gZm9vXzEuZjIpCi0gICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcGdf dGVtcC5qb2lubWUgam9pbm1lXzEKLSAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogam9pbm1l XzEuY3RpZCwgam9pbm1lXzEuZjJqCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIg MToga2V5cz0oam9pbm1lXzEuZjJqKQotICAgICAgICAgICAgICAgLT4gIEhhc2gKLSAgICAgICAg ICAgICAgICAgICAgIE91dHB1dDogZm9vXzEuZjIsIGZvb18xLnRhYmxlb2lkLCBmb29fMS5jdGlk Ci0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQotICAgICAgICAgICAgICAgICAg ICAgLT4gIFNlcSBTY2FuIG9uIHBnX3RlbXAuZm9vIGZvb18xCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICBPdXRwdXQ6IGZvb18xLmYyLCBmb29fMS50YWJsZW9pZCwgZm9vXzEuY3RpZAorICAg ICAgICAgSGFzaCBDb25kOiAoam9pbm1lXzEuZjJqID0gZm9vXzEuZjIpCisgICAgICAgICAtPiAg U2VxIFNjYW4gb24gcGdfdGVtcC5qb2lubWUgam9pbm1lXzEKKyAgICAgICAgICAgICAgIE91dHB1 dDogam9pbm1lXzEuY3RpZCwgam9pbm1lXzEuZjJqCisgICAgICAgICAgICAgICBCbG9vbSBGaWx0 ZXIgMjoga2V5cz0oam9pbm1lXzEuZjJqKQogICAgICAgICAgLT4gIEhhc2gKLSAgICAgICAgICAg ICAgIE91dHB1dDogam9pbm1lLmN0aWQsIGpvaW5tZS5vdGhlciwgam9pbm1lLmYyaiwgZm9vXzIu ZjEsIGZvb18yLmYzLCBmb29fMi5jdGlkLCBmb29fMi5mMiwgZm9vXzIudGFibGVvaWQKKyAgICAg ICAgICAgICAgIE91dHB1dDogZm9vXzEuZjIsIGZvb18xLnRhYmxlb2lkLCBmb29fMS5jdGlkLCBq b2lubWUuY3RpZCwgam9pbm1lLm90aGVyLCBqb2lubWUuZjJqLCBmb29fMi5mMSwgZm9vXzIuZjMs IGZvb18yLmN0aWQsIGZvb18yLmYyLCBmb29fMi50YWJsZW9pZAorICAgICAgICAgICAgICAgQmxv b20gRmlsdGVyIDIKICAgICAgICAgICAgICAgIC0+ICBIYXNoIEpvaW4KLSAgICAgICAgICAgICAg ICAgICAgIE91dHB1dDogam9pbm1lLmN0aWQsIGpvaW5tZS5vdGhlciwgam9pbm1lLmYyaiwgZm9v XzIuZjEsIGZvb18yLmYzLCBmb29fMi5jdGlkLCBmb29fMi5mMiwgZm9vXzIudGFibGVvaWQKLSAg ICAgICAgICAgICAgICAgICAgIEhhc2ggQ29uZDogKGpvaW5tZS5mMmogPSBmb29fMi5mMikKKyAg ICAgICAgICAgICAgICAgICAgIE91dHB1dDogZm9vXzEuZjIsIGZvb18xLnRhYmxlb2lkLCBmb29f MS5jdGlkLCBqb2lubWUuY3RpZCwgam9pbm1lLm90aGVyLCBqb2lubWUuZjJqLCBmb29fMi5mMSwg Zm9vXzIuZjMsIGZvb18yLmN0aWQsIGZvb18yLmYyLCBmb29fMi50YWJsZW9pZAorICAgICAgICAg ICAgICAgICAgICAgSGFzaCBDb25kOiAoam9pbm1lLmYyaiA9IGZvb18xLmYyKQogICAgICAgICAg ICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBnX3RlbXAuam9pbm1lCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBPdXRwdXQ6IGpvaW5tZS5jdGlkLCBqb2lubWUub3RoZXIsIGpvaW5tZS5m MmoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyOiBrZXlzPShqb2lu bWUuZjJqKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9 KGpvaW5tZS5mMmopCiAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgT3V0cHV0OiBmb29fMi5mMSwgZm9vXzIuZjMsIGZvb18yLmN0aWQsIGZv b18yLmYyLCBmb29fMi50YWJsZW9pZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvb20g RmlsdGVyIDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwZ190 ZW1wLmZvbyBmb29fMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiBm b29fMi5mMSwgZm9vXzIuZjMsIGZvb18yLmN0aWQsIGZvb18yLmYyLCBmb29fMi50YWJsZW9pZAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoZm9vXzIuZjMgPSA1NykK LSgzMSByb3dzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiBmb29fMS5mMiwg Zm9vXzEudGFibGVvaWQsIGZvb18xLmN0aWQsIGZvb18yLmYxLCBmb29fMi5mMywgZm9vXzIuY3Rp ZCwgZm9vXzIuZjIsIGZvb18yLnRhYmxlb2lkCisgICAgICAgICAgICAgICAgICAgICAgICAgICBC bG9vbSBGaWx0ZXIgMQorICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gIE5lc3RlZCBMb29w CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IGZvb18xLmYyLCBmb29f MS50YWJsZW9pZCwgZm9vXzEuY3RpZCwgZm9vXzIuZjEsIGZvb18yLmYzLCBmb29fMi5jdGlkLCBm b29fMi5mMiwgZm9vXzIudGFibGVvaWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IEpvaW4gRmlsdGVyOiAoZm9vXzEuZjIgPSBmb29fMi5mMikKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwZ190ZW1wLmZvbyBmb29fMgorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiBmb29fMi5mMSwgZm9vXzIuZjMs IGZvb18yLmN0aWQsIGZvb18yLmYyLCBmb29fMi50YWJsZW9pZAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoZm9vXzIuZjMgPSA1NykKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwZ190ZW1wLmZvbyBmb29fMQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiBmb29fMS5mMiwg Zm9vXzEudGFibGVvaWQsIGZvb18xLmN0aWQKKygyOSByb3dzKQogCiBVUERBVEUgam9pbnZpZXcg U0VUIGYzID0gZjMgKyAxIFdIRVJFIGYzID0gNTcKICAgUkVUVVJOSU5HIG9sZC4qLCBuZXcuKiwg KiwgbmV3LmYzIC0gb2xkLmYzIEFTIGRlbHRhX2YzOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVn cmVzcy9leHBlY3RlZC9zdGF0c19leHQub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9z dGF0c19leHQub3V0CmluZGV4IDExY2Y1NmZkYmE0Li4wNzg1NDI0NzAyMCAxMDA2NDQKLS0tIGEv c3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zdGF0c19leHQub3V0CisrKyBiL3NyYy90ZXN0L3Jl Z3Jlc3MvZXhwZWN0ZWQvc3RhdHNfZXh0Lm91dApAQCAtMzYxMCwxNyArMzYxMCwxNiBAQCBBTkFM WVpFIHNiXzEsIHNiXzI7CiAtLSBidWNrZXQgc2l6ZSBpcyBxdWl0ZSBiaWcgYmVjYXVzZSB0aGVy ZSBhcmUgcG9zc2libHkgbWFueSBjb3JyZWxhdGlvbnMuCiBFWFBMQUlOIChDT1NUUyBPRkYpIC0t IENob29zZSBtZXJnZSBqb2luCiBTRUxFQ1QgKiBGUk9NIHNiXzEgYSwgc2JfMiBiIFdIRVJFIGEu eCA9IGIueCBBTkQgYS55ID0gYi55IEFORCBhLnogPSBiLno7Ci0gICAgICAgICAgICAgICAgICAg ICAgICAgUVVFUlkgUExBTiAgICAgICAgICAgICAgICAgICAgICAgICAgCi0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gTWVyZ2Ug Sm9pbgotICAgTWVyZ2UgQ29uZDogKChhLnogPSBiLnopIEFORCAoYS54ID0gYi54KSBBTkQgKGEu eSA9IGIueSkpCi0gICAtPiAgU29ydAotICAgICAgICAgU29ydCBLZXk6IGEueiwgYS54LCBhLnkK KyAgICAgICAgICAgICAgICAgICAgICAgICBRVUVSWSBQTEFOICAgICAgICAgICAgICAgICAgICAg ICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCisgSGFzaCBKb2luCisgICBIYXNoIENvbmQ6ICgoYi54ID0gYS54KSBBTkQgKGIu eSA9IGEueSkgQU5EIChiLnogPSBhLnopKQorICAgLT4gIFNlcSBTY2FuIG9uIHNiXzIgYgorICAg ICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KHgsIHksIHopCisgICAtPiAgSGFzaAorICAgICAg ICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBzYl8xIGEKLSAgIC0+ ICBTb3J0Ci0gICAgICAgICBTb3J0IEtleTogYi56LCBiLngsIGIueQotICAgICAgICAgLT4gIFNl cSBTY2FuIG9uIHNiXzIgYgotKDggcm93cykKKyg3IHJvd3MpCiAKIC0tIFRoZSBuZGlzdGluY3Qg ZXh0ZW5kZWQgc3RhdGlzdGljcyBvbiAoeCwgeSwgeikgcHJvdmlkZXMgbW9yZSByZWxpYWJsZSB2 YWx1ZQogLS0gb2YgYnVja2V0IHNpemUuCkBAIC0zNjMzLDExICszNjMyLDkgQEAgU0VMRUNUICog RlJPTSBzYl8xIGEsIHNiXzIgYiBXSEVSRSBhLnggPSBiLnggQU5EIGEueSA9IGIueSBBTkQgYS56 ID0gYi56OwogIEhhc2ggSm9pbgogICAgSGFzaCBDb25kOiAoKGEueCA9IGIueCkgQU5EIChhLnkg PSBiLnkpIEFORCAoYS56ID0gYi56KSkKICAgIC0+ICBTZXEgU2NhbiBvbiBzYl8xIGEKLSAgICAg ICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPSh4LCB5LCB6KQogICAgLT4gIEhhc2gKLSAgICAgICAg IEJsb29tIEZpbHRlciAxCiAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gc2JfMiBiCi0oNyByb3dz KQorKDUgcm93cykKIAogLS0gQ2hlY2sgdGhhdCB0aGUgSGFzaCBKb2luIGJ1Y2tldCBzaXplIGVz dGltYXRvciBkZXRlY3RzIGVxdWFsIGNsYXVzZXMgY29ycmVjdGx5LgogU0VUIGVuYWJsZV9uZXN0 bG9vcCA9ICdvZmYnOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zdWJz ZWxlY3Qub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zdWJzZWxlY3Qub3V0CmluZGV4 IDVjN2Q0OTA1MGRiLi4zNTE5OTQyMDMwYiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9l eHBlY3RlZC9zdWJzZWxlY3Qub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc3Vi c2VsZWN0Lm91dApAQCAtNDA2LDExICs0MDYsOSBAQCBzZWxlY3QgKiBmcm9tIGludDRfdGJsIG8g d2hlcmUgZXhpc3RzCiAgSGFzaCBTZW1pIEpvaW4KICAgIEhhc2ggQ29uZDogKG8uZjEgPSBpLmYx KQogICAgLT4gIFNlcSBTY2FuIG9uIGludDRfdGJsIG8KLSAgICAgICAgIEJsb29tIEZpbHRlciAx OiBrZXlzPShmMSkKICAgIC0+ICBIYXNoCi0gICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAg ICAgLT4gIFNlcSBTY2FuIG9uIGludDRfdGJsIGkKLSg3IHJvd3MpCisoNSByb3dzKQogCiBleHBs YWluIChjb3N0cyBvZmYpCiBzZWxlY3QgKiBmcm9tIGludDRfdGJsIG8gd2hlcmUgbm90IGV4aXN0 cwpAQCAtMTY3Myw3ICsxNjcxLDcgQEAgc2VsZWN0ICogZnJvbSBpbnQ0X3RibCB3aGVyZQogLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCiAgTmVzdGVkIExvb3AgU2VtaSBKb2luCiAgICBPdXRwdXQ6IGludDRfdGJsLmYx Ci0gICBKb2luIEZpbHRlcjogKENBU0UgV0hFTiAoQU5ZIChpbnQ0X3RibC5mMSA9IChoYXNoZWQg U3ViUGxhbiBhbnlfMSkuY29sMSkpIFRIRU4gaW50NF90YmwuZjEgRUxTRSBOVUxMOjppbnRlZ2Vy IEVORCA9IGIudGVuKQorICAgSm9pbiBGaWx0ZXI6IChiLnRlbiA9IENBU0UgV0hFTiAoQU5ZIChp bnQ0X3RibC5mMSA9IChoYXNoZWQgU3ViUGxhbiBhbnlfMSkuY29sMSkpIFRIRU4gaW50NF90Ymwu ZjEgRUxTRSBOVUxMOjppbnRlZ2VyIEVORCkKICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuaW50 NF90YmwKICAgICAgICAgIE91dHB1dDogaW50NF90YmwuZjEKICAgIC0+ICBTZXEgU2NhbiBvbiBw dWJsaWMudGVuazEgYgpAQCAtMjE4MCwxMyArMjE3OCwxMSBAQCBvcmRlciBieSB0MS50ZW47CiAg ICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0Mi5maXZldGhvdXMgPSB0MS51bmlxdWUxKQogICAg ICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy50ZW5rMSB0MgogICAgICAgICAgICAg ICAgICAgICAgT3V0cHV0OiB0Mi51bmlxdWUxLCB0Mi51bmlxdWUyLCB0Mi50d28sIHQyLmZvdXIs IHQyLnRlbiwgdDIudHdlbnR5LCB0Mi5odW5kcmVkLCB0Mi50aG91c2FuZCwgdDIudHdvdGhvdXNh bmQsIHQyLmZpdmV0aG91cywgdDIudGVudGhvdXMsIHQyLm9kZCwgdDIuZXZlbiwgdDIuc3RyaW5n dTEsIHQyLnN0cmluZ3UyLCB0Mi5zdHJpbmc0Ci0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBG aWx0ZXIgMToga2V5cz0odDIuZml2ZXRob3VzKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKICAg ICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDEudGVuLCB0MS51bmlxdWUxCi0gICAgICAgICAg ICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBT Y2FuIG9uIHB1YmxpYy50ZW5rMSB0MQogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0 OiB0MS50ZW4sIHQxLnVuaXF1ZTEKLSgxNyByb3dzKQorKDE1IHJvd3MpCiAKIHNlbGVjdCB0MS50 ZW4sIHN1bSh4KSBmcm9tCiAgIHRlbmsxIHQxIGxlZnQgam9pbiBsYXRlcmFsICgKQEAgLTIyODEs MTkgKzIyNzcsMTUgQEAgb3JkZXIgYnkgMSwgMjsKICAgICAgICAgICAgICAgIEhhc2ggQ29uZDog KHQyLnEyID0gdDMucTIpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmlu dDhfdGJsIHQyCiAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQyLnExLCB0Mi5xMgotICAg ICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KHQyLnEyKQotICAgICAgICAg ICAgICAgICAgICAgQmxvb20gRmlsdGVyIDI6IGtleXM9KHQyLnEyKQogICAgICAgICAgICAgICAg LT4gIEhhc2gKICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDMucTIKLSAgICAgICAgICAg ICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNj YW4gb24gcHVibGljLmludDhfdGJsIHQzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRw dXQ6IHQzLnEyCiAgICAgICAgICAtPiAgSGFzaAogICAgICAgICAgICAgICAgT3V0cHV0OiB0MS5x MSwgdDEucTIKLSAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAyCiAgICAgICAgICAgICAgICAt PiAgU2VxIFNjYW4gb24gcHVibGljLmludDhfdGJsIHQxCiAgICAgICAgICAgICAgICAgICAgICBP dXRwdXQ6IHQxLnExLCB0MS5xMgotKDIzIHJvd3MpCisoMTkgcm93cykKIAogc2VsZWN0IHQxLnEx LCB4IGZyb20KICAgaW50OF90YmwgdDEgbGVmdCBqb2luCkBAIC0yMzM2LDE2ICsyMzI4LDE0IEBA IG9yZGVyIGJ5IDEsIDI7CiAgICAgICAgICAgICAgICBPdXRwdXQ6IHQyLnEyLCAoKHQyLnExICsg MSkpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmludDhfdGJsIHQyCiAg ICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQyLnExLCB0Mi5xMgotICAgICAgICAgICAgICAg ICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KHQyLnEyKQogICAgICAgICAgICAgICAgLT4gIFNl cSBTY2FuIG9uIHB1YmxpYy5pbnQ4X3RibCB0MwogICAgICAgICAgICAgICAgICAgICAgT3V0cHV0 OiB0My5xMiwgKHQyLnExICsgMSkKICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKHQyLnEy ID0gdDMucTIpCiAgICAgICAgICAtPiAgSGFzaAogICAgICAgICAgICAgICAgT3V0cHV0OiB0MS5x MSwgdDEucTIKLSAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAgICAt PiAgU2VxIFNjYW4gb24gcHVibGljLmludDhfdGJsIHQxCiAgICAgICAgICAgICAgICAgICAgICBP dXRwdXQ6IHQxLnExLCB0MS5xMgotKDE5IHJvd3MpCisoMTcgcm93cykKIAogc2VsZWN0IHQxLnEx LCB4IGZyb20KICAgaW50OF90YmwgdDEgbGVmdCBqb2luCkBAIC0yMzkwLDE5ICsyMzgwLDE1IEBA IG9yZGVyIGJ5IDEsIDI7CiAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0Mi5xMiA9IHQzLnEx KQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5pbnQ4X3RibCB0MgogICAg ICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0Mi5xMSwgdDIucTIKLSAgICAgICAgICAgICAgICAg ICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPSh0Mi5xMikKLSAgICAgICAgICAgICAgICAgICAgIEJs b29tIEZpbHRlciAyOiBrZXlzPSh0Mi5xMSkKICAgICAgICAgICAgICAgIC0+ICBIYXNoCiAgICAg ICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQzLnExCi0gICAgICAgICAgICAgICAgICAgICBCbG9v bSBGaWx0ZXIgMQogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5p bnQ4X3RibCB0MwogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0My5xMQogICAg ICAgICAgLT4gIEhhc2gKICAgICAgICAgICAgICAgIE91dHB1dDogdDEucTEKLSAgICAgICAgICAg ICAgIEJsb29tIEZpbHRlciAyCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGlj LmludDhfdGJsIHQxCiAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQxLnExCi0oMjMgcm93 cykKKygxOSByb3dzKQogCiBzZWxlY3QgdDEucTEsIHggZnJvbQogICBpbnQ4X3RibCB0MSBsZWZ0 IGpvaW4KQEAgLTI0NTUsMTYgKzI0NDEsMTQgQEAgb3JkZXIgYnkgMSwgMjsKICAgICAgICAgICAg ICAgIE91dHB1dDogdDIucTEsICh0Mi5xMikKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBv biBwdWJsaWMuaW50OF90YmwgdDIKICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDIucTEs IHQyLnEyCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0odDIucTEp CiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmludDhfdGJsIHQzCiAgICAg ICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQzLnExLCB0Mi5xMgogICAgICAgICAgICAgICAgICAg ICAgRmlsdGVyOiAodDIucTIgPSB0My5xMSkKICAgICAgICAgIC0+ICBIYXNoCiAgICAgICAgICAg ICAgICBPdXRwdXQ6IHQxLnExCi0gICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMQogICAgICAg ICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5pbnQ4X3RibCB0MQogICAgICAgICAgICAg ICAgICAgICAgT3V0cHV0OiB0MS5xMQotKDE5IHJvd3MpCisoMTcgcm93cykKIAogc2VsZWN0IHQx LnExLCB4IGZyb20KICAgaW50OF90YmwgdDEgbGVmdCBqb2luCkBAIC0yNTI4LDIxICsyNTEyLDE5 IEBAIG9yZGVyIGJ5IDEsIDIsIDM7CiAgICAgICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0 Mi5xMSA9IHQzLnEyKQogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1Ymxp Yy5pbnQ4X3RibCB0MgogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0Mi5xMSwg dDIucTIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPSh0 Mi5xMikKICAgICAgICAgICAgICAgICAgICAgIC0+ICBIYXNoCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBPdXRwdXQ6IHQzLnEyLCAoQ09BTEVTQ0UodDMucTEsIHQzLnExKSkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuaW50OF90YmwgdDMKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDMucTIsIENPQUxFU0NFKHQz LnExLCB0My5xMSkKICAgICAgICAgICAgICAgIC0+ICBIYXNoCiAgICAgICAgICAgICAgICAgICAg ICBPdXRwdXQ6IHQ0LnExLCB0NC5xMgotICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVy IDEKICAgICAgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuaW50OF90Ymwg dDQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDQucTEsIHQ0LnEyCiAgICAg ICAgICAtPiAgSGFzaAogICAgICAgICAgICAgICAgT3V0cHV0OiB0MS5xMgogICAgICAgICAgICAg ICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5pbnQ4X3RibCB0MQogICAgICAgICAgICAgICAgICAg ICAgT3V0cHV0OiB0MS5xMgotKDI4IHJvd3MpCisoMjYgcm93cykKIAogc2VsZWN0IHNzMi4qIGZy b20KICAgaW50OF90YmwgdDEgbGVmdCBqb2luCkBAIC0yNjEwLDEzICsyNTkyLDExIEBAIG9yZGVy IGJ5IDEsIDIsIDM7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQz LnEyLCBDT0FMRVNDRSh0My5xMSwgdDMucTEpCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4g b24gcHVibGljLmludDhfdGJsIHQ0CiAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQ0LnEx LCB0NC5xMiwgKENPQUxFU0NFKHQzLnExLCB0My5xMSkpCi0gICAgICAgICAgICAgICAgICAgICBC bG9vbSBGaWx0ZXIgMToga2V5cz0odDQucTEpCiAgICAgICAgICAtPiAgSGFzaAogICAgICAgICAg ICAgICAgT3V0cHV0OiB0MS5xMgotICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAg ICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuaW50OF90YmwgdDEKICAgICAgICAgICAg ICAgICAgICAgIE91dHB1dDogdDEucTIKLSgyNiByb3dzKQorKDI0IHJvd3MpCiAKIHNlbGVjdCBz czIuKiBmcm9tCiAgIGludDhfdGJsIHQxIGxlZnQgam9pbgpAQCAtMjkxNywxMyArMjg5NywxMSBA QCBzZWxlY3QgKiBmcm9tIHRlbmsxIEEgd2hlcmUgaHVuZHJlZCBpbiAoc2VsZWN0IGh1bmRyZWQg ZnJvbSB0ZW5rMiBCIHdoZXJlIEIub2RkCiAgSGFzaCBKb2luCiAgICBIYXNoIENvbmQ6ICgoYS5v ZGQgPSBiLm9kZCkgQU5EIChhLmh1bmRyZWQgPSBiLmh1bmRyZWQpKQogICAgLT4gIFNlcSBTY2Fu IG9uIHRlbmsxIGEKLSAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPShvZGQsIGh1bmRyZWQp CiAgICAtPiAgSGFzaAotICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgIC0+ICBIYXNo QWdncmVnYXRlCiAgICAgICAgICAgICAgICBHcm91cCBLZXk6IGIub2RkLCBiLmh1bmRyZWQKICAg ICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiB0ZW5rMiBiCi0oOSByb3dzKQorKDcgcm93cykK IAogZXhwbGFpbiAoY29zdHMgb2ZmKQogc2VsZWN0ICogZnJvbSB0ZW5rMSBBIHdoZXJlIGV4aXN0 cwpAQCAtMjk4OCwxMyArMjk2NiwxMSBAQCBPTiBCLmh1bmRyZWQgaW4gKFNFTEVDVCBjLmh1bmRy ZWQgRlJPTSB0ZW5rMiBDIFdIRVJFIGMub2RkID0gYi5vZGQpOwogICAgICAgICAgLT4gIEhhc2gg Sm9pbgogICAgICAgICAgICAgICAgSGFzaCBDb25kOiAoKGIub2RkID0gYy5vZGQpIEFORCAoYi5o dW5kcmVkID0gYy5odW5kcmVkKSkKICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiB0ZW5r MiBiCi0gICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIgMToga2V5cz0ob2RkLCBodW5k cmVkKQogICAgICAgICAgICAgICAgLT4gIEhhc2gKLSAgICAgICAgICAgICAgICAgICAgIEJsb29t IEZpbHRlciAxCiAgICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaEFnZ3JlZ2F0ZQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgR3JvdXAgS2V5OiBjLm9kZCwgYy5odW5kcmVkCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gdGVuazIgYwotKDEyIHJvd3MpCiso MTAgcm93cykKIAogLS0gd2UgY2FuIHB1bGwgdXAgdGhlIHN1YmxpbmsgaW50byB0aGUgaW5uZXIg Sm9pbkV4cHIuCiBleHBsYWluIChjb3N0cyBvZmYpCkBAIC0zMDA5LDE1ICsyOTg1LDEzIEBAIFdI RVJFIGEudGhvdXNhbmQgPCA3NTA7CiAgICAgICAgICBIYXNoIENvbmQ6IChhLmh1bmRyZWQgPSBj Lmh1bmRyZWQpCiAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gdGVuazEgYQogICAgICAgICAgICAg ICAgRmlsdGVyOiAodGhvdXNhbmQgPCA3NTApCi0gICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIg MToga2V5cz0oaHVuZHJlZCkKICAgICAgICAgIC0+ICBIYXNoCi0gICAgICAgICAgICAgICBCbG9v bSBGaWx0ZXIgMQogICAgICAgICAgICAgICAgLT4gIEhhc2hBZ2dyZWdhdGUKICAgICAgICAgICAg ICAgICAgICAgIEdyb3VwIEtleTogYy5vZGQsIGMuaHVuZHJlZAogICAgICAgICAgICAgICAgICAg ICAgLT4gIFNlcSBTY2FuIG9uIHRlbmsyIGMKICAgIC0+ICBIYXNoCiAgICAgICAgICAtPiAgU2Vx IFNjYW4gb24gdGVuazIgYgotKDE0IHJvd3MpCisoMTIgcm93cykKIAogLS0gd2UgY2FuIHB1bGwg dXAgdGhlIGFnZ3JlZ2F0ZSBzdWJsaW5rIGludG8gUkhTIG9mIGEgbGVmdCBqb2luLgogZXhwbGFp biAoY29zdHMgb2ZmKQpAQCAtMzE1NCwxMSArMzEyOCw5IEBAIFdIRVJFIGEudGVuIElOIChWQUxV RVMgKDEpLCAoMikpOwogICAgSGFzaCBDb25kOiAoYS50ZW4gPSBjLnRlbikKICAgIC0+ICBTZXEg U2NhbiBvbiBvbmVrIGEKICAgICAgICAgIEZpbHRlcjogKHRlbiA9IEFOWSAoJ3sxLDJ9Jzo6aW50 ZWdlcltdKSkKLSAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPSh0ZW4pCiAgICAtPiAgSGFz aAotICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiB0ZW5r MSBjCi0oOCByb3dzKQorKDYgcm93cykKIAogRVhQTEFJTiAoQ09TVFMgT0ZGKQogU0VMRUNUIGMu dW5pcXVlMSxjLnRlbiBGUk9NIHRlbmsxIGMgSk9JTiBvbmVrIGEgVVNJTkcgKHRlbikKQEAgLTMx NjksMTEgKzMxNDEsOSBAQCBXSEVSRSBjLnRlbiBJTiAoVkFMVUVTICgxKSwgKDIpKTsKICAgIEhh c2ggQ29uZDogKGMudGVuID0gYS50ZW4pCiAgICAtPiAgU2VxIFNjYW4gb24gdGVuazEgYwogICAg ICAgICAgRmlsdGVyOiAodGVuID0gQU5ZICgnezEsMn0nOjppbnRlZ2VyW10pKQotICAgICAgICAg Qmxvb20gRmlsdGVyIDE6IGtleXM9KHRlbikKICAgIC0+ICBIYXNoCi0gICAgICAgICBCbG9vbSBG aWx0ZXIgMQogICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIG9uZWsgYQotKDggcm93cykKKyg2IHJv d3MpCiAKIC0tIENvbnN0YW50IGV4cHJlc3Npb25zIGFyZSBzaW1wbGlmaWVkCiBFWFBMQUlOIChD T1NUUyBPRkYpCkBAIC0zNDk0LDE1ICszNDY0LDE0IEBAIFdIRVJFIGlkIE5PVCBJTiAoCiAgICBI YXNoIENvbmQ6IChub3RfbnVsbF90YWIuaWQgPSB0Mi5pZCkKICAgIC0+ICBTZXEgU2NhbiBvbiBu b3RfbnVsbF90YWIKICAgIC0+ICBIYXNoCi0gICAgICAgICAtPiAgTWVyZ2UgSm9pbgotICAgICAg ICAgICAgICAgTWVyZ2UgQ29uZDogKHQxLmlkID0gdDIuaWQpCi0gICAgICAgICAgICAgICAtPiAg U29ydAotICAgICAgICAgICAgICAgICAgICAgU29ydCBLZXk6IHQxLmlkCi0gICAgICAgICAgICAg ICAgICAgICAtPiAgU2VxIFNjYW4gb24gbm90X251bGxfdGFiIHQxCi0gICAgICAgICAgICAgICAt PiAgU29ydAotICAgICAgICAgICAgICAgICAgICAgU29ydCBLZXk6IHQyLmlkCisgICAgICAgICAt PiAgSGFzaCBKb2luCisgICAgICAgICAgICAgICBIYXNoIENvbmQ6ICh0MS5pZCA9IHQyLmlkKQor ICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIG5vdF9udWxsX3RhYiB0MQorICAgICAgICAg ICAgICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KGlkKQorICAgICAgICAgICAgICAgLT4g IEhhc2gKKyAgICAgICAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAgICAgICAgICAg ICAgICAgICAtPiAgU2VxIFNjYW4gb24gbm90X251bGxfdGFiIHQyCi0oMTIgcm93cykKKygxMSBy b3dzKQogCiAtLSBBTlRJIEpPSU46IG91dGVyIHNpZGUgaXMgZGVmaW5lZCBOT1QgTlVMTCwgaW5u ZXIgc2lkZSBpcyBmb3JjZWQgbm9ubnVsbGFibGUKIC0tIGJ5IHF1YWwgY2xhdXNlCkBAIC0zNTQz LDExICszNTEyLDggQEAgV0hFUkUgaWQgTk9UIElOICgKICk7CiAgICAgICAgICAgICAgICAgICAg UVVFUlkgUExBTiAgICAgICAgICAgICAgICAgICAgCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gTWVyZ2UgQW50aSBKb2luCi0gICBNZXJnZSBDb25k OiAobm90X251bGxfdGFiLmlkID0gdDEuaWQpCi0gICAtPiAgU29ydAotICAgICAgICAgU29ydCBL ZXk6IG5vdF9udWxsX3RhYi5pZAotICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIG5vdF9udWxsX3Rh YgorIE1lcmdlIFJpZ2h0IEFudGkgSm9pbgorICAgTWVyZ2UgQ29uZDogKHQxLmlkID0gbm90X251 bGxfdGFiLmlkKQogICAgLT4gIE5lc3RlZCBMb29wIExlZnQgSm9pbgogICAgICAgICAgLT4gIE1l cmdlIEpvaW4KICAgICAgICAgICAgICAgIE1lcmdlIENvbmQ6ICh0MS5pZCA9IHQyLmlkKQpAQCAt MzU1OSw2ICszNTI1LDkgQEAgV0hFUkUgaWQgTk9UIElOICgKICAgICAgICAgICAgICAgICAgICAg IC0+ICBTZXEgU2NhbiBvbiBudWxsX3RhYiB0MgogICAgICAgICAgLT4gIE1hdGVyaWFsaXplCiAg ICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gbnVsbF90YWIgdDMKKyAgIC0+ICBTb3J0Cisg ICAgICAgICBTb3J0IEtleTogbm90X251bGxfdGFiLmlkCisgICAgICAgICAtPiAgU2VxIFNjYW4g b24gbm90X251bGxfdGFiCiAoMTYgcm93cykKIAogLS0gQU5USSBKT0lOOiBvdXRlciBzaWRlIGlz IGRlZmluZWQgTk9UIE5VTEwgYW5kIGlzIG5vdCBudWxsZWQgYnkgb3V0ZXIgam9pbiwKZGlmZiAt LWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdXBkYXRhYmxlX3ZpZXdzLm91dCBiL3Ny Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdXBkYXRhYmxlX3ZpZXdzLm91dAppbmRleCA3ZDRhZjgw ZmFmNi4uMTMwMjVjZjkzYzUgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv dXBkYXRhYmxlX3ZpZXdzLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3VwZGF0 YWJsZV92aWV3cy5vdXQKQEAgLTYyMywxMyArNjIzLDExIEBAIE1FUkdFIElOVE8gcndfdmlldzEg dAogICAgICAgICAgSGFzaCBDb25kOiAoYmFzZV90YmwuYSA9IGdlbmVyYXRlX3Nlcmllcy5nZW5l cmF0ZV9zZXJpZXMpCiAgICAgICAgICAtPiAgQml0bWFwIEhlYXAgU2NhbiBvbiBiYXNlX3RibAog ICAgICAgICAgICAgICAgUmVjaGVjayBDb25kOiAoYSA+IDApCi0gICAgICAgICAgICAgICBCbG9v bSBGaWx0ZXIgMToga2V5cz0oYSkKICAgICAgICAgICAgICAgIC0+ICBCaXRtYXAgSW5kZXggU2Nh biBvbiBiYXNlX3RibF9wa2V5CiAgICAgICAgICAgICAgICAgICAgICBJbmRleCBDb25kOiAoYSA+ IDApCiAgICAgICAgICAtPiAgSGFzaAotICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAg ICAgICAgICAgICAgIC0+ICBGdW5jdGlvbiBTY2FuIG9uIGdlbmVyYXRlX3NlcmllcwotKDExIHJv d3MpCisoOSByb3dzKQogCiAtLSBpdCdzIHN0aWxsIHVwZGF0YWJsZSBpZiB3ZSBhZGQgYSBETyBB TFNPIHJ1bGUKIENSRUFURSBUQUJMRSBiYXNlX3RibF9oaXN0KHRzIHRpbWVzdGFtcHR6IGRlZmF1 bHQgbm93KCksIGEgaW50LCBiIHRleHQpOwpAQCAtMzUyOCwxOCArMzUyNiwxNyBAQCBFWFBMQUlO IChDT1NUUyBPRkYpIFVQREFURSB2MiBTRVQgYSA9IDE7CiAgVXBkYXRlIG9uIHQxCiAgICBJbml0 UGxhbiBleGlzdHNfMQogICAgICAtPiAgUmVzdWx0Ci0gICAtPiAgTWVyZ2UgSm9pbgotICAgICAg ICAgTWVyZ2UgQ29uZDogKHQxLmEgPSB2MS5hKQotICAgICAgICAgLT4gIFNvcnQKLSAgICAgICAg ICAgICAgIFNvcnQgS2V5OiB0MS5hCi0gICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gdDEK LSAgICAgICAgIC0+ICBTb3J0Ci0gICAgICAgICAgICAgICBTb3J0IEtleTogdjEuYQorICAgLT4g IEhhc2ggSm9pbgorICAgICAgICAgSGFzaCBDb25kOiAodDEuYSA9IHYxLmEpCisgICAgICAgICAt PiAgU2VxIFNjYW4gb24gdDEKKyAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPShh KQorICAgICAgICAgLT4gIEhhc2gKKyAgICAgICAgICAgICAgIEJsb29tIEZpbHRlciAxCiAgICAg ICAgICAgICAgICAtPiAgU3VicXVlcnkgU2NhbiBvbiB2MQogICAgICAgICAgICAgICAgICAgICAg LT4gIFJlc3VsdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgT25lLVRpbWUgRmlsdGVyOiAo SW5pdFBsYW4gZXhpc3RzXzEpLmNvbDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBT ZXEgU2NhbiBvbiB0MSB0MV8xCi0oMTQgcm93cykKKygxMyByb3dzKQogCiBEUk9QIFZJRVcgdjI7 CiBEUk9QIFZJRVcgdjE7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3dp bmRvdy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3dpbmRvdy5vdXQKaW5kZXggNWM4 NjYxOWYwMjMuLmRmZGE4NDhiMTNjIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL3dpbmRvdy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC93aW5kb3cub3V0 CkBAIC00MzI0LDE1ICs0MzI0LDE0IEBAIFdIRVJFIHMuYyA9IDE7CiAgICAgICAgICBSdW4gQ29u ZGl0aW9uOiAobnRpbGUoZTIuc2FsYXJ5KSBPVkVSIHcxIDw9IDEpCiAgICAgICAgICAtPiAgU29y dAogICAgICAgICAgICAgICAgU29ydCBLZXk6IGUxLmRlcG5hbWUKLSAgICAgICAgICAgICAgIC0+ ICBNZXJnZSBKb2luCi0gICAgICAgICAgICAgICAgICAgICBNZXJnZSBDb25kOiAoZTEuZW1wbm8g PSBlMi5lbXBubykKLSAgICAgICAgICAgICAgICAgICAgIC0+ICBTb3J0Ci0gICAgICAgICAgICAg ICAgICAgICAgICAgICBTb3J0IEtleTogZTEuZW1wbm8KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgIC0+ICBTZXEgU2NhbiBvbiBlbXBzYWxhcnkgZTEKLSAgICAgICAgICAgICAgICAgICAgIC0+ ICBTb3J0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBTb3J0IEtleTogZTIuZW1wbm8KKyAg ICAgICAgICAgICAgIC0+ICBIYXNoIEpvaW4KKyAgICAgICAgICAgICAgICAgICAgIEhhc2ggQ29u ZDogKGUxLmVtcG5vID0gZTIuZW1wbm8pCisgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNj YW4gb24gZW1wc2FsYXJ5IGUxCisgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9vbSBGaWx0 ZXIgMToga2V5cz0oZW1wbm8pCisgICAgICAgICAgICAgICAgICAgICAtPiAgSGFzaAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIC0+ICBTZXEgU2NhbiBvbiBlbXBzYWxhcnkgZTIKLSgxNSByb3dzKQorKDE0IHJvd3Mp CiAKIC0tIEVuc3VyZSB0aGUgcnVuIGNvbmRpdGlvbiBvcHRpbWl6YXRpb24gaXMgdXNlZCBpbiBj YXNlcyB3aGVyZSB0aGUgV2luZG93RnVuYwogLS0gaGFzIGEgVmFyIGZyb20gYW5vdGhlciBxdWVy eSBsZXZlbApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC93aXRoLm91dCBi L3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvd2l0aC5vdXQKaW5kZXggZGI4Yzc3NzIxZTcuLjI1 MjYyYjA4ODM5IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3dpdGgub3V0 CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvd2l0aC5vdXQKQEAgLTY4NiwxMSArNjg2 LDkgQEAgc2VsZWN0IGNvdW50KCopIGZyb20gdGVuazEgYQogICAgLT4gIEhhc2ggU2VtaSBKb2lu CiAgICAgICAgICBIYXNoIENvbmQ6IChhLnVuaXF1ZTEgPSB4LnVuaXF1ZTEpCiAgICAgICAgICAt PiAgSW5kZXggT25seSBTY2FuIHVzaW5nIHRlbmsxX3VuaXF1ZTEgb24gdGVuazEgYQotICAgICAg ICAgICAgICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KHVuaXF1ZTEpCiAgICAgICAgICAtPiAgSGFz aAotICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgICAgICAgIC0+ICBDVEUg U2NhbiBvbiB4Ci0oMTAgcm93cykKKyg4IHJvd3MpCiAKIGV4cGxhaW4gKGNvc3RzIG9mZikKIHdp dGggeCBhcyBtYXRlcmlhbGl6ZWQgKGluc2VydCBpbnRvIHRlbmsxIGRlZmF1bHQgdmFsdWVzIHJl dHVybmluZyB1bmlxdWUxKQpAQCAtNzUzLDIyICs3NTEsMjAgQEAgc2VsZWN0ICogZnJvbSBzZWFy Y2hfZ3JhcGggb3JkZXIgYnkgc2VxOwogICAgICAtPiAgUmVjdXJzaXZlIFVuaW9uCiAgICAgICAg ICAgIC0+ICBTZXEgU2NhbiBvbiBwZ190ZW1wLmdyYXBoMCBnCiAgICAgICAgICAgICAgICAgIE91 dHB1dDogZy5mLCBnLnQsIGcubGFiZWwsIEFSUkFZW1JPVyhnLmYsIGcudCldCi0gICAgICAgICAg IC0+ICBNZXJnZSBKb2luCisgICAgICAgICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAgICAgICAg ICAgT3V0cHV0OiBnXzEuZiwgZ18xLnQsIGdfMS5sYWJlbCwgYXJyYXlfY2F0KHNnLnNlcSwgQVJS QVlbUk9XKGdfMS5mLCBnXzEudCldKQotICAgICAgICAgICAgICAgICBNZXJnZSBDb25kOiAoZ18x LmYgPSBzZy50KQotICAgICAgICAgICAgICAgICAtPiAgU29ydAorICAgICAgICAgICAgICAgICBI YXNoIENvbmQ6IChnXzEuZiA9IHNnLnQpCisgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBv biBwZ190ZW1wLmdyYXBoMCBnXzEKICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiBnXzEu ZiwgZ18xLnQsIGdfMS5sYWJlbAotICAgICAgICAgICAgICAgICAgICAgICBTb3J0IEtleTogZ18x LmYKLSAgICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBnX3RlbXAuZ3JhcGgw IGdfMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IGdfMS5mLCBnXzEudCwg Z18xLmxhYmVsCi0gICAgICAgICAgICAgICAgIC0+ICBTb3J0CisgICAgICAgICAgICAgICAgICAg ICAgIEJsb29tIEZpbHRlciAxOiBrZXlzPShnXzEuZikKKyAgICAgICAgICAgICAgICAgLT4gIEhh c2gKICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiBzZy5zZXEsIHNnLnQKLSAgICAgICAg ICAgICAgICAgICAgICAgU29ydCBLZXk6IHNnLnQKKyAgICAgICAgICAgICAgICAgICAgICAgQmxv b20gRmlsdGVyIDEKICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFdvcmtUYWJsZSBTY2FuIG9u IHNlYXJjaF9ncmFwaCBzZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHNn LnNlcSwgc2cudAogICAgLT4gIENURSBTY2FuIG9uIHNlYXJjaF9ncmFwaAogICAgICAgICAgT3V0 cHV0OiBzZWFyY2hfZ3JhcGguZiwgc2VhcmNoX2dyYXBoLnQsIHNlYXJjaF9ncmFwaC5sYWJlbCwg c2VhcmNoX2dyYXBoLnNlcQotKDIyIHJvd3MpCisoMjAgcm93cykKIAogd2l0aCByZWN1cnNpdmUg c2VhcmNoX2dyYXBoKGYsIHQsIGxhYmVsKSBhcyAoCiAJc2VsZWN0ICogZnJvbSBncmFwaDAgZwpA QCAtODI2LDIyICs4MjIsMjAgQEAgc2VsZWN0ICogZnJvbSBzZWFyY2hfZ3JhcGggb3JkZXIgYnkg c2VxOwogICAgICAtPiAgUmVjdXJzaXZlIFVuaW9uCiAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBv biBwZ190ZW1wLmdyYXBoMCBnCiAgICAgICAgICAgICAgICAgIE91dHB1dDogZy5mLCBnLnQsIGcu bGFiZWwsIFJPVygnMCc6OmJpZ2ludCwgZy5mLCBnLnQpCi0gICAgICAgICAgIC0+ICBNZXJnZSBK b2luCisgICAgICAgICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAgICAgICAgICAgT3V0cHV0OiBn XzEuZiwgZ18xLnQsIGdfMS5sYWJlbCwgUk9XKGludDhpbmMoKHNnLnNlcSkuIipERVBUSCoiKSwg Z18xLmYsIGdfMS50KQotICAgICAgICAgICAgICAgICBNZXJnZSBDb25kOiAoZ18xLmYgPSBzZy50 KQotICAgICAgICAgICAgICAgICAtPiAgU29ydAorICAgICAgICAgICAgICAgICBIYXNoIENvbmQ6 IChnXzEuZiA9IHNnLnQpCisgICAgICAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwZ190ZW1w LmdyYXBoMCBnXzEKICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiBnXzEuZiwgZ18xLnQs IGdfMS5sYWJlbAotICAgICAgICAgICAgICAgICAgICAgICBTb3J0IEtleTogZ18xLmYKLSAgICAg ICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBnX3RlbXAuZ3JhcGgwIGdfMQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IGdfMS5mLCBnXzEudCwgZ18xLmxhYmVs Ci0gICAgICAgICAgICAgICAgIC0+ICBTb3J0CisgICAgICAgICAgICAgICAgICAgICAgIEJsb29t IEZpbHRlciAxOiBrZXlzPShnXzEuZikKKyAgICAgICAgICAgICAgICAgLT4gIEhhc2gKICAgICAg ICAgICAgICAgICAgICAgICAgT3V0cHV0OiBzZy5zZXEsIHNnLnQKLSAgICAgICAgICAgICAgICAg ICAgICAgU29ydCBLZXk6IHNnLnQKKyAgICAgICAgICAgICAgICAgICAgICAgQmxvb20gRmlsdGVy IDEKICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFdvcmtUYWJsZSBTY2FuIG9uIHNlYXJjaF9n cmFwaCBzZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHNnLnNlcSwgc2cu dAogICAgLT4gIENURSBTY2FuIG9uIHNlYXJjaF9ncmFwaAogICAgICAgICAgT3V0cHV0OiBzZWFy Y2hfZ3JhcGguZiwgc2VhcmNoX2dyYXBoLnQsIHNlYXJjaF9ncmFwaC5sYWJlbCwgc2VhcmNoX2dy YXBoLnNlcQotKDIyIHJvd3MpCisoMjAgcm93cykKIAogd2l0aCByZWN1cnNpdmUgc2VhcmNoX2dy YXBoKGYsIHQsIGxhYmVsKSBhcyAoCiAJc2VsZWN0ICogZnJvbSBncmFwaDAgZwpAQCAtMTA5Nywy MCArMTA5MSwyMCBAQCBzZWxlY3QgKiBmcm9tIHNlYXJjaF9ncmFwaDsKICA1IHwgMSB8IGFyYyA1 IC0+IDEgfCBmICAgICAgICB8IHsiKDUsMSkifQogIDEgfCAyIHwgYXJjIDEgLT4gMiB8IGYgICAg ICAgIHwgeyIoNSwxKSIsIigxLDIpIn0KICAxIHwgMyB8IGFyYyAxIC0+IDMgfCBmICAgICAgICB8 IHsiKDUsMSkiLCIoMSwzKSJ9Ci0gMSB8IDQgfCBhcmMgMSAtPiA0IHwgZiAgICAgICAgfCB7Iig1 LDEpIiwiKDEsNCkifQogIDIgfCAzIHwgYXJjIDIgLT4gMyB8IGYgICAgICAgIHwgeyIoMSwyKSIs IigyLDMpIn0KKyAxIHwgNCB8IGFyYyAxIC0+IDQgfCBmICAgICAgICB8IHsiKDUsMSkiLCIoMSw0 KSJ9CiAgNCB8IDUgfCBhcmMgNCAtPiA1IHwgZiAgICAgICAgfCB7IigxLDQpIiwiKDQsNSkifQog IDUgfCAxIHwgYXJjIDUgLT4gMSB8IGYgICAgICAgIHwgeyIoNCw1KSIsIig1LDEpIn0KICAxIHwg MiB8IGFyYyAxIC0+IDIgfCBmICAgICAgICB8IHsiKDQsNSkiLCIoNSwxKSIsIigxLDIpIn0KICAx IHwgMyB8IGFyYyAxIC0+IDMgfCBmICAgICAgICB8IHsiKDQsNSkiLCIoNSwxKSIsIigxLDMpIn0K LSAxIHwgNCB8IGFyYyAxIC0+IDQgfCBmICAgICAgICB8IHsiKDQsNSkiLCIoNSwxKSIsIigxLDQp In0KICAyIHwgMyB8IGFyYyAyIC0+IDMgfCBmICAgICAgICB8IHsiKDUsMSkiLCIoMSwyKSIsIigy LDMpIn0KKyAxIHwgNCB8IGFyYyAxIC0+IDQgfCBmICAgICAgICB8IHsiKDQsNSkiLCIoNSwxKSIs IigxLDQpIn0KICA0IHwgNSB8IGFyYyA0IC0+IDUgfCBmICAgICAgICB8IHsiKDUsMSkiLCIoMSw0 KSIsIig0LDUpIn0KICA1IHwgMSB8IGFyYyA1IC0+IDEgfCBmICAgICAgICB8IHsiKDEsNCkiLCIo NCw1KSIsIig1LDEpIn0KICAxIHwgMiB8IGFyYyAxIC0+IDIgfCBmICAgICAgICB8IHsiKDEsNCki LCIoNCw1KSIsIig1LDEpIiwiKDEsMikifQogIDEgfCAzIHwgYXJjIDEgLT4gMyB8IGYgICAgICAg IHwgeyIoMSw0KSIsIig0LDUpIiwiKDUsMSkiLCIoMSwzKSJ9Ci0gMSB8IDQgfCBhcmMgMSAtPiA0 IHwgdCAgICAgICAgfCB7IigxLDQpIiwiKDQsNSkiLCIoNSwxKSIsIigxLDQpIn0KICAyIHwgMyB8 IGFyYyAyIC0+IDMgfCBmICAgICAgICB8IHsiKDQsNSkiLCIoNSwxKSIsIigxLDIpIiwiKDIsMyki fQorIDEgfCA0IHwgYXJjIDEgLT4gNCB8IHQgICAgICAgIHwgeyIoMSw0KSIsIig0LDUpIiwiKDUs MSkiLCIoMSw0KSJ9CiAgNCB8IDUgfCBhcmMgNCAtPiA1IHwgdCAgICAgICAgfCB7Iig0LDUpIiwi KDUsMSkiLCIoMSw0KSIsIig0LDUpIn0KICA1IHwgMSB8IGFyYyA1IC0+IDEgfCB0ICAgICAgICB8 IHsiKDUsMSkiLCIoMSw0KSIsIig0LDUpIiwiKDUsMSkifQogIDIgfCAzIHwgYXJjIDIgLT4gMyB8 IGYgICAgICAgIHwgeyIoMSw0KSIsIig0LDUpIiwiKDUsMSkiLCIoMSwyKSIsIigyLDMpIn0KQEAg LTExMzUsMjAgKzExMjksMjAgQEAgc2VsZWN0ICogZnJvbSBzZWFyY2hfZ3JhcGg7CiAgNSB8IDEg fCBhcmMgNSAtPiAxIHwgZiAgICAgICAgfCB7Iig1LDEpIn0KICAxIHwgMiB8IGFyYyAxIC0+IDIg fCBmICAgICAgICB8IHsiKDUsMSkiLCIoMSwyKSJ9CiAgMSB8IDMgfCBhcmMgMSAtPiAzIHwgZiAg ICAgICAgfCB7Iig1LDEpIiwiKDEsMykifQotIDEgfCA0IHwgYXJjIDEgLT4gNCB8IGYgICAgICAg IHwgeyIoNSwxKSIsIigxLDQpIn0KICAyIHwgMyB8IGFyYyAyIC0+IDMgfCBmICAgICAgICB8IHsi KDEsMikiLCIoMiwzKSJ9CisgMSB8IDQgfCBhcmMgMSAtPiA0IHwgZiAgICAgICAgfCB7Iig1LDEp IiwiKDEsNCkifQogIDQgfCA1IHwgYXJjIDQgLT4gNSB8IGYgICAgICAgIHwgeyIoMSw0KSIsIig0 LDUpIn0KICA1IHwgMSB8IGFyYyA1IC0+IDEgfCBmICAgICAgICB8IHsiKDQsNSkiLCIoNSwxKSJ9 CiAgMSB8IDIgfCBhcmMgMSAtPiAyIHwgZiAgICAgICAgfCB7Iig0LDUpIiwiKDUsMSkiLCIoMSwy KSJ9CiAgMSB8IDMgfCBhcmMgMSAtPiAzIHwgZiAgICAgICAgfCB7Iig0LDUpIiwiKDUsMSkiLCIo MSwzKSJ9Ci0gMSB8IDQgfCBhcmMgMSAtPiA0IHwgZiAgICAgICAgfCB7Iig0LDUpIiwiKDUsMSki LCIoMSw0KSJ9CiAgMiB8IDMgfCBhcmMgMiAtPiAzIHwgZiAgICAgICAgfCB7Iig1LDEpIiwiKDEs MikiLCIoMiwzKSJ9CisgMSB8IDQgfCBhcmMgMSAtPiA0IHwgZiAgICAgICAgfCB7Iig0LDUpIiwi KDUsMSkiLCIoMSw0KSJ9CiAgNCB8IDUgfCBhcmMgNCAtPiA1IHwgZiAgICAgICAgfCB7Iig1LDEp IiwiKDEsNCkiLCIoNCw1KSJ9CiAgNSB8IDEgfCBhcmMgNSAtPiAxIHwgZiAgICAgICAgfCB7Iigx LDQpIiwiKDQsNSkiLCIoNSwxKSJ9CiAgMSB8IDIgfCBhcmMgMSAtPiAyIHwgZiAgICAgICAgfCB7 IigxLDQpIiwiKDQsNSkiLCIoNSwxKSIsIigxLDIpIn0KICAxIHwgMyB8IGFyYyAxIC0+IDMgfCBm ICAgICAgICB8IHsiKDEsNCkiLCIoNCw1KSIsIig1LDEpIiwiKDEsMykifQotIDEgfCA0IHwgYXJj IDEgLT4gNCB8IHQgICAgICAgIHwgeyIoMSw0KSIsIig0LDUpIiwiKDUsMSkiLCIoMSw0KSJ9CiAg MiB8IDMgfCBhcmMgMiAtPiAzIHwgZiAgICAgICAgfCB7Iig0LDUpIiwiKDUsMSkiLCIoMSwyKSIs IigyLDMpIn0KKyAxIHwgNCB8IGFyYyAxIC0+IDQgfCB0ICAgICAgICB8IHsiKDEsNCkiLCIoNCw1 KSIsIig1LDEpIiwiKDEsNCkifQogIDQgfCA1IHwgYXJjIDQgLT4gNSB8IHQgICAgICAgIHwgeyIo NCw1KSIsIig1LDEpIiwiKDEsNCkiLCIoNCw1KSJ9CiAgNSB8IDEgfCBhcmMgNSAtPiAxIHwgdCAg ICAgICAgfCB7Iig1LDEpIiwiKDEsNCkiLCIoNCw1KSIsIig1LDEpIn0KICAyIHwgMyB8IGFyYyAy IC0+IDMgfCBmICAgICAgICB8IHsiKDEsNCkiLCIoNCw1KSIsIig1LDEpIiwiKDEsMikiLCIoMiwz KSJ9CkBAIC0xMjEwLDIxICsxMjA0LDE5IEBAIHNlbGVjdCAqIGZyb20gc2VhcmNoX2dyYXBoOwog ICAgICAtPiAgUmVjdXJzaXZlIFVuaW9uCiAgICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwZ190 ZW1wLmdyYXBoIGcKICAgICAgICAgICAgICAgICAgT3V0cHV0OiBnLmYsIGcudCwgZy5sYWJlbCwg ZmFsc2UsIEFSUkFZW1JPVyhnLmYsIGcudCldCi0gICAgICAgICAgIC0+ICBNZXJnZSBKb2luCisg ICAgICAgICAgIC0+ICBIYXNoIEpvaW4KICAgICAgICAgICAgICAgICAgT3V0cHV0OiBnXzEuZiwg Z18xLnQsIGdfMS5sYWJlbCwgQ0FTRSBXSEVOIChST1coZ18xLmYsIGdfMS50KSA9IEFOWSAoc2cu cGF0aCkpIFRIRU4gdHJ1ZSBFTFNFIGZhbHNlIEVORCwgYXJyYXlfY2F0KHNnLnBhdGgsIEFSUkFZ W1JPVyhnXzEuZiwgZ18xLnQpXSkKLSAgICAgICAgICAgICAgICAgTWVyZ2UgQ29uZDogKGdfMS5m ID0gc2cudCkKLSAgICAgICAgICAgICAgICAgLT4gIFNvcnQKKyAgICAgICAgICAgICAgICAgSGFz aCBDb25kOiAoZ18xLmYgPSBzZy50KQorICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24g cGdfdGVtcC5ncmFwaCBnXzEKICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiBnXzEuZiwg Z18xLnQsIGdfMS5sYWJlbAotICAgICAgICAgICAgICAgICAgICAgICBTb3J0IEtleTogZ18xLmYK LSAgICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBnX3RlbXAuZ3JhcGggZ18x Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogZ18xLmYsIGdfMS50LCBnXzEu bGFiZWwKLSAgICAgICAgICAgICAgICAgLT4gIFNvcnQKKyAgICAgICAgICAgICAgICAgICAgICAg Qmxvb20gRmlsdGVyIDE6IGtleXM9KGdfMS5mKQorICAgICAgICAgICAgICAgICAtPiAgSGFzaAog ICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHNnLnBhdGgsIHNnLnQKLSAgICAgICAgICAg ICAgICAgICAgICAgU29ydCBLZXk6IHNnLnQKKyAgICAgICAgICAgICAgICAgICAgICAgQmxvb20g RmlsdGVyIDEKICAgICAgICAgICAgICAgICAgICAgICAgLT4gIFdvcmtUYWJsZSBTY2FuIG9uIHNl YXJjaF9ncmFwaCBzZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHNnLnBh dGgsIHNnLnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoTk9UIHNnLmlz X2N5Y2xlKQotKDIwIHJvd3MpCisoMTggcm93cykKIAogd2l0aCByZWN1cnNpdmUgc2VhcmNoX2dy YXBoKGYsIHQsIGxhYmVsKSBhcyAoCiAJc2VsZWN0ICogZnJvbSBncmFwaCBnCkBAIC0xMjQ0LDIw ICsxMjM2LDIwIEBAIHNlbGVjdCAqIGZyb20gc2VhcmNoX2dyYXBoOwogIDUgfCAxIHwgYXJjIDUg LT4gMSB8IGYgICAgICAgIHwgeyIoNSwxKSJ9CiAgMSB8IDIgfCBhcmMgMSAtPiAyIHwgZiAgICAg ICAgfCB7Iig1LDEpIiwiKDEsMikifQogIDEgfCAzIHwgYXJjIDEgLT4gMyB8IGYgICAgICAgIHwg eyIoNSwxKSIsIigxLDMpIn0KLSAxIHwgNCB8IGFyYyAxIC0+IDQgfCBmICAgICAgICB8IHsiKDUs MSkiLCIoMSw0KSJ9CiAgMiB8IDMgfCBhcmMgMiAtPiAzIHwgZiAgICAgICAgfCB7IigxLDIpIiwi KDIsMykifQorIDEgfCA0IHwgYXJjIDEgLT4gNCB8IGYgICAgICAgIHwgeyIoNSwxKSIsIigxLDQp In0KICA0IHwgNSB8IGFyYyA0IC0+IDUgfCBmICAgICAgICB8IHsiKDEsNCkiLCIoNCw1KSJ9CiAg NSB8IDEgfCBhcmMgNSAtPiAxIHwgZiAgICAgICAgfCB7Iig0LDUpIiwiKDUsMSkifQogIDEgfCAy IHwgYXJjIDEgLT4gMiB8IGYgICAgICAgIHwgeyIoNCw1KSIsIig1LDEpIiwiKDEsMikifQogIDEg fCAzIHwgYXJjIDEgLT4gMyB8IGYgICAgICAgIHwgeyIoNCw1KSIsIig1LDEpIiwiKDEsMykifQot IDEgfCA0IHwgYXJjIDEgLT4gNCB8IGYgICAgICAgIHwgeyIoNCw1KSIsIig1LDEpIiwiKDEsNCki fQogIDIgfCAzIHwgYXJjIDIgLT4gMyB8IGYgICAgICAgIHwgeyIoNSwxKSIsIigxLDIpIiwiKDIs MykifQorIDEgfCA0IHwgYXJjIDEgLT4gNCB8IGYgICAgICAgIHwgeyIoNCw1KSIsIig1LDEpIiwi KDEsNCkifQogIDQgfCA1IHwgYXJjIDQgLT4gNSB8IGYgICAgICAgIHwgeyIoNSwxKSIsIigxLDQp IiwiKDQsNSkifQogIDUgfCAxIHwgYXJjIDUgLT4gMSB8IGYgICAgICAgIHwgeyIoMSw0KSIsIig0 LDUpIiwiKDUsMSkifQogIDEgfCAyIHwgYXJjIDEgLT4gMiB8IGYgICAgICAgIHwgeyIoMSw0KSIs Iig0LDUpIiwiKDUsMSkiLCIoMSwyKSJ9CiAgMSB8IDMgfCBhcmMgMSAtPiAzIHwgZiAgICAgICAg fCB7IigxLDQpIiwiKDQsNSkiLCIoNSwxKSIsIigxLDMpIn0KLSAxIHwgNCB8IGFyYyAxIC0+IDQg fCB0ICAgICAgICB8IHsiKDEsNCkiLCIoNCw1KSIsIig1LDEpIiwiKDEsNCkifQogIDIgfCAzIHwg YXJjIDIgLT4gMyB8IGYgICAgICAgIHwgeyIoNCw1KSIsIig1LDEpIiwiKDEsMikiLCIoMiwzKSJ9 CisgMSB8IDQgfCBhcmMgMSAtPiA0IHwgdCAgICAgICAgfCB7IigxLDQpIiwiKDQsNSkiLCIoNSwx KSIsIigxLDQpIn0KICA0IHwgNSB8IGFyYyA0IC0+IDUgfCB0ICAgICAgICB8IHsiKDQsNSkiLCIo NSwxKSIsIigxLDQpIiwiKDQsNSkifQogIDUgfCAxIHwgYXJjIDUgLT4gMSB8IHQgICAgICAgIHwg eyIoNSwxKSIsIigxLDQpIiwiKDQsNSkiLCIoNSwxKSJ9CiAgMiB8IDMgfCBhcmMgMiAtPiAzIHwg ZiAgICAgICAgfCB7IigxLDQpIiwiKDQsNSkiLCIoNSwxKSIsIigxLDIpIiwiKDIsMykifQpAQCAt MTI4MSwyMCArMTI3MywyMCBAQCBzZWxlY3QgKiBmcm9tIHNlYXJjaF9ncmFwaDsKICA1IHwgMSB8 IGFyYyA1IC0+IDEgfCBOICAgICAgICB8IHsiKDUsMSkifQogIDEgfCAyIHwgYXJjIDEgLT4gMiB8 IE4gICAgICAgIHwgeyIoNSwxKSIsIigxLDIpIn0KICAxIHwgMyB8IGFyYyAxIC0+IDMgfCBOICAg ICAgICB8IHsiKDUsMSkiLCIoMSwzKSJ9Ci0gMSB8IDQgfCBhcmMgMSAtPiA0IHwgTiAgICAgICAg fCB7Iig1LDEpIiwiKDEsNCkifQogIDIgfCAzIHwgYXJjIDIgLT4gMyB8IE4gICAgICAgIHwgeyIo MSwyKSIsIigyLDMpIn0KKyAxIHwgNCB8IGFyYyAxIC0+IDQgfCBOICAgICAgICB8IHsiKDUsMSki LCIoMSw0KSJ9CiAgNCB8IDUgfCBhcmMgNCAtPiA1IHwgTiAgICAgICAgfCB7IigxLDQpIiwiKDQs NSkifQogIDUgfCAxIHwgYXJjIDUgLT4gMSB8IE4gICAgICAgIHwgeyIoNCw1KSIsIig1LDEpIn0K ICAxIHwgMiB8IGFyYyAxIC0+IDIgfCBOICAgICAgICB8IHsiKDQsNSkiLCIoNSwxKSIsIigxLDIp In0KICAxIHwgMyB8IGFyYyAxIC0+IDMgfCBOICAgICAgICB8IHsiKDQsNSkiLCIoNSwxKSIsIigx LDMpIn0KLSAxIHwgNCB8IGFyYyAxIC0+IDQgfCBOICAgICAgICB8IHsiKDQsNSkiLCIoNSwxKSIs IigxLDQpIn0KICAyIHwgMyB8IGFyYyAyIC0+IDMgfCBOICAgICAgICB8IHsiKDUsMSkiLCIoMSwy KSIsIigyLDMpIn0KKyAxIHwgNCB8IGFyYyAxIC0+IDQgfCBOICAgICAgICB8IHsiKDQsNSkiLCIo NSwxKSIsIigxLDQpIn0KICA0IHwgNSB8IGFyYyA0IC0+IDUgfCBOICAgICAgICB8IHsiKDUsMSki LCIoMSw0KSIsIig0LDUpIn0KICA1IHwgMSB8IGFyYyA1IC0+IDEgfCBOICAgICAgICB8IHsiKDEs NCkiLCIoNCw1KSIsIig1LDEpIn0KICAxIHwgMiB8IGFyYyAxIC0+IDIgfCBOICAgICAgICB8IHsi KDEsNCkiLCIoNCw1KSIsIig1LDEpIiwiKDEsMikifQogIDEgfCAzIHwgYXJjIDEgLT4gMyB8IE4g ICAgICAgIHwgeyIoMSw0KSIsIig0LDUpIiwiKDUsMSkiLCIoMSwzKSJ9Ci0gMSB8IDQgfCBhcmMg MSAtPiA0IHwgWSAgICAgICAgfCB7IigxLDQpIiwiKDQsNSkiLCIoNSwxKSIsIigxLDQpIn0KICAy IHwgMyB8IGFyYyAyIC0+IDMgfCBOICAgICAgICB8IHsiKDQsNSkiLCIoNSwxKSIsIigxLDIpIiwi KDIsMykifQorIDEgfCA0IHwgYXJjIDEgLT4gNCB8IFkgICAgICAgIHwgeyIoMSw0KSIsIig0LDUp IiwiKDUsMSkiLCIoMSw0KSJ9CiAgNCB8IDUgfCBhcmMgNCAtPiA1IHwgWSAgICAgICAgfCB7Iig0 LDUpIiwiKDUsMSkiLCIoMSw0KSIsIig0LDUpIn0KICA1IHwgMSB8IGFyYyA1IC0+IDEgfCBZICAg ICAgICB8IHsiKDUsMSkiLCIoMSw0KSIsIig0LDUpIiwiKDUsMSkifQogIDIgfCAzIHwgYXJjIDIg LT4gMyB8IE4gICAgICAgIHwgeyIoMSw0KSIsIig0LDUpIiwiKDUsMSkiLCIoMSwyKSIsIigyLDMp In0KQEAgLTE0NDYsMjAgKzE0MzgsMjAgQEAgc2VsZWN0ICogZnJvbSBzZWFyY2hfZ3JhcGg7CiAg NSB8IDEgfCBhcmMgNSAtPiAxIHwgeyIoNSwxKSJ9ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCBmICAgICAgICB8IHsiKDUsMSkifQogIDEgfCAyIHwgYXJjIDEgLT4gMiB8IHsiKDUs MSkiLCIoMSwyKSJ9ICAgICAgICAgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgfCB7Iig1LDEp IiwiKDEsMikifQogIDEgfCAzIHwgYXJjIDEgLT4gMyB8IHsiKDUsMSkiLCIoMSwzKSJ9ICAgICAg ICAgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgfCB7Iig1LDEpIiwiKDEsMykifQotIDEgfCA0 IHwgYXJjIDEgLT4gNCB8IHsiKDUsMSkiLCIoMSw0KSJ9ICAgICAgICAgICAgICAgICAgICAgICAg IHwgZiAgICAgICAgfCB7Iig1LDEpIiwiKDEsNCkifQogIDIgfCAzIHwgYXJjIDIgLT4gMyB8IHsi KDEsMikiLCIoMiwzKSJ9ICAgICAgICAgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgfCB7Iigx LDIpIiwiKDIsMykifQorIDEgfCA0IHwgYXJjIDEgLT4gNCB8IHsiKDUsMSkiLCIoMSw0KSJ9ICAg ICAgICAgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgfCB7Iig1LDEpIiwiKDEsNCkifQogIDQg fCA1IHwgYXJjIDQgLT4gNSB8IHsiKDEsNCkiLCIoNCw1KSJ9ICAgICAgICAgICAgICAgICAgICAg ICAgIHwgZiAgICAgICAgfCB7IigxLDQpIiwiKDQsNSkifQogIDUgfCAxIHwgYXJjIDUgLT4gMSB8 IHsiKDQsNSkiLCIoNSwxKSJ9ICAgICAgICAgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgfCB7 Iig0LDUpIiwiKDUsMSkifQogIDEgfCAyIHwgYXJjIDEgLT4gMiB8IHsiKDQsNSkiLCIoNSwxKSIs IigxLDIpIn0gICAgICAgICAgICAgICAgIHwgZiAgICAgICAgfCB7Iig0LDUpIiwiKDUsMSkiLCIo MSwyKSJ9CiAgMSB8IDMgfCBhcmMgMSAtPiAzIHwgeyIoNCw1KSIsIig1LDEpIiwiKDEsMykifSAg ICAgICAgICAgICAgICAgfCBmICAgICAgICB8IHsiKDQsNSkiLCIoNSwxKSIsIigxLDMpIn0KLSAx IHwgNCB8IGFyYyAxIC0+IDQgfCB7Iig0LDUpIiwiKDUsMSkiLCIoMSw0KSJ9ICAgICAgICAgICAg ICAgICB8IGYgICAgICAgIHwgeyIoNCw1KSIsIig1LDEpIiwiKDEsNCkifQogIDIgfCAzIHwgYXJj IDIgLT4gMyB8IHsiKDUsMSkiLCIoMSwyKSIsIigyLDMpIn0gICAgICAgICAgICAgICAgIHwgZiAg ICAgICAgfCB7Iig1LDEpIiwiKDEsMikiLCIoMiwzKSJ9CisgMSB8IDQgfCBhcmMgMSAtPiA0IHwg eyIoNCw1KSIsIig1LDEpIiwiKDEsNCkifSAgICAgICAgICAgICAgICAgfCBmICAgICAgICB8IHsi KDQsNSkiLCIoNSwxKSIsIigxLDQpIn0KICA0IHwgNSB8IGFyYyA0IC0+IDUgfCB7Iig1LDEpIiwi KDEsNCkiLCIoNCw1KSJ9ICAgICAgICAgICAgICAgICB8IGYgICAgICAgIHwgeyIoNSwxKSIsIigx LDQpIiwiKDQsNSkifQogIDUgfCAxIHwgYXJjIDUgLT4gMSB8IHsiKDEsNCkiLCIoNCw1KSIsIig1 LDEpIn0gICAgICAgICAgICAgICAgIHwgZiAgICAgICAgfCB7IigxLDQpIiwiKDQsNSkiLCIoNSwx KSJ9CiAgMSB8IDIgfCBhcmMgMSAtPiAyIHwgeyIoMSw0KSIsIig0LDUpIiwiKDUsMSkiLCIoMSwy KSJ9ICAgICAgICAgfCBmICAgICAgICB8IHsiKDEsNCkiLCIoNCw1KSIsIig1LDEpIiwiKDEsMiki fQogIDEgfCAzIHwgYXJjIDEgLT4gMyB8IHsiKDEsNCkiLCIoNCw1KSIsIig1LDEpIiwiKDEsMyki fSAgICAgICAgIHwgZiAgICAgICAgfCB7IigxLDQpIiwiKDQsNSkiLCIoNSwxKSIsIigxLDMpIn0K LSAxIHwgNCB8IGFyYyAxIC0+IDQgfCB7IigxLDQpIiwiKDQsNSkiLCIoNSwxKSIsIigxLDQpIn0g ICAgICAgICB8IHQgICAgICAgIHwgeyIoMSw0KSIsIig0LDUpIiwiKDUsMSkiLCIoMSw0KSJ9CiAg MiB8IDMgfCBhcmMgMiAtPiAzIHwgeyIoNCw1KSIsIig1LDEpIiwiKDEsMikiLCIoMiwzKSJ9ICAg ICAgICAgfCBmICAgICAgICB8IHsiKDQsNSkiLCIoNSwxKSIsIigxLDIpIiwiKDIsMykifQorIDEg fCA0IHwgYXJjIDEgLT4gNCB8IHsiKDEsNCkiLCIoNCw1KSIsIig1LDEpIiwiKDEsNCkifSAgICAg ICAgIHwgdCAgICAgICAgfCB7IigxLDQpIiwiKDQsNSkiLCIoNSwxKSIsIigxLDQpIn0KICA0IHwg NSB8IGFyYyA0IC0+IDUgfCB7Iig0LDUpIiwiKDUsMSkiLCIoMSw0KSIsIig0LDUpIn0gICAgICAg ICB8IHQgICAgICAgIHwgeyIoNCw1KSIsIig1LDEpIiwiKDEsNCkiLCIoNCw1KSJ9CiAgNSB8IDEg fCBhcmMgNSAtPiAxIHwgeyIoNSwxKSIsIigxLDQpIiwiKDQsNSkiLCIoNSwxKSJ9ICAgICAgICAg fCB0ICAgICAgICB8IHsiKDUsMSkiLCIoMSw0KSIsIig0LDUpIiwiKDUsMSkifQogIDIgfCAzIHwg YXJjIDIgLT4gMyB8IHsiKDEsNCkiLCIoNCw1KSIsIig1LDEpIiwiKDEsMikiLCIoMiwzKSJ9IHwg ZiAgICAgICAgfCB7IigxLDQpIiwiKDQsNSkiLCIoNSwxKSIsIigxLDIpIiwiKDIsMykifQpAQCAt MTQ4NCwyMCArMTQ3NiwyMCBAQCBzZWxlY3QgKiBmcm9tIHNlYXJjaF9ncmFwaDsKICA1IHwgMSB8 IGFyYyA1IC0+IDEgfCAoMCw1LDEpIHwgZiAgICAgICAgfCB7Iig1LDEpIn0KICAxIHwgMiB8IGFy YyAxIC0+IDIgfCAoMSwxLDIpIHwgZiAgICAgICAgfCB7Iig1LDEpIiwiKDEsMikifQogIDEgfCAz IHwgYXJjIDEgLT4gMyB8ICgxLDEsMykgfCBmICAgICAgICB8IHsiKDUsMSkiLCIoMSwzKSJ9Ci0g MSB8IDQgfCBhcmMgMSAtPiA0IHwgKDEsMSw0KSB8IGYgICAgICAgIHwgeyIoNSwxKSIsIigxLDQp In0KICAyIHwgMyB8IGFyYyAyIC0+IDMgfCAoMSwyLDMpIHwgZiAgICAgICAgfCB7IigxLDIpIiwi KDIsMykifQorIDEgfCA0IHwgYXJjIDEgLT4gNCB8ICgxLDEsNCkgfCBmICAgICAgICB8IHsiKDUs MSkiLCIoMSw0KSJ9CiAgNCB8IDUgfCBhcmMgNCAtPiA1IHwgKDEsNCw1KSB8IGYgICAgICAgIHwg eyIoMSw0KSIsIig0LDUpIn0KICA1IHwgMSB8IGFyYyA1IC0+IDEgfCAoMSw1LDEpIHwgZiAgICAg ICAgfCB7Iig0LDUpIiwiKDUsMSkifQogIDEgfCAyIHwgYXJjIDEgLT4gMiB8ICgyLDEsMikgfCBm ICAgICAgICB8IHsiKDQsNSkiLCIoNSwxKSIsIigxLDIpIn0KICAxIHwgMyB8IGFyYyAxIC0+IDMg fCAoMiwxLDMpIHwgZiAgICAgICAgfCB7Iig0LDUpIiwiKDUsMSkiLCIoMSwzKSJ9Ci0gMSB8IDQg fCBhcmMgMSAtPiA0IHwgKDIsMSw0KSB8IGYgICAgICAgIHwgeyIoNCw1KSIsIig1LDEpIiwiKDEs NCkifQogIDIgfCAzIHwgYXJjIDIgLT4gMyB8ICgyLDIsMykgfCBmICAgICAgICB8IHsiKDUsMSki LCIoMSwyKSIsIigyLDMpIn0KKyAxIHwgNCB8IGFyYyAxIC0+IDQgfCAoMiwxLDQpIHwgZiAgICAg ICAgfCB7Iig0LDUpIiwiKDUsMSkiLCIoMSw0KSJ9CiAgNCB8IDUgfCBhcmMgNCAtPiA1IHwgKDIs NCw1KSB8IGYgICAgICAgIHwgeyIoNSwxKSIsIigxLDQpIiwiKDQsNSkifQogIDUgfCAxIHwgYXJj IDUgLT4gMSB8ICgyLDUsMSkgfCBmICAgICAgICB8IHsiKDEsNCkiLCIoNCw1KSIsIig1LDEpIn0K ICAxIHwgMiB8IGFyYyAxIC0+IDIgfCAoMywxLDIpIHwgZiAgICAgICAgfCB7IigxLDQpIiwiKDQs NSkiLCIoNSwxKSIsIigxLDIpIn0KICAxIHwgMyB8IGFyYyAxIC0+IDMgfCAoMywxLDMpIHwgZiAg ICAgICAgfCB7IigxLDQpIiwiKDQsNSkiLCIoNSwxKSIsIigxLDMpIn0KLSAxIHwgNCB8IGFyYyAx IC0+IDQgfCAoMywxLDQpIHwgdCAgICAgICAgfCB7IigxLDQpIiwiKDQsNSkiLCIoNSwxKSIsIigx LDQpIn0KICAyIHwgMyB8IGFyYyAyIC0+IDMgfCAoMywyLDMpIHwgZiAgICAgICAgfCB7Iig0LDUp IiwiKDUsMSkiLCIoMSwyKSIsIigyLDMpIn0KKyAxIHwgNCB8IGFyYyAxIC0+IDQgfCAoMywxLDQp IHwgdCAgICAgICAgfCB7IigxLDQpIiwiKDQsNSkiLCIoNSwxKSIsIigxLDQpIn0KICA0IHwgNSB8 IGFyYyA0IC0+IDUgfCAoMyw0LDUpIHwgdCAgICAgICAgfCB7Iig0LDUpIiwiKDUsMSkiLCIoMSw0 KSIsIig0LDUpIn0KICA1IHwgMSB8IGFyYyA1IC0+IDEgfCAoMyw1LDEpIHwgdCAgICAgICAgfCB7 Iig1LDEpIiwiKDEsNCkiLCIoNCw1KSIsIig1LDEpIn0KICAyIHwgMyB8IGFyYyAyIC0+IDMgfCAo NCwyLDMpIHwgZiAgICAgICAgfCB7IigxLDQpIiwiKDQsNSkiLCIoNSwxKSIsIigxLDIpIiwiKDIs MykifQpAQCAtMTY3NywyMCArMTY2OSwyMCBAQCBzZWxlY3QgKiBmcm9tIHZfY3ljbGUxOwogIDUg fCAxIHwgYXJjIDUgLT4gMQogIDEgfCAyIHwgYXJjIDEgLT4gMgogIDEgfCAzIHwgYXJjIDEgLT4g MwotIDEgfCA0IHwgYXJjIDEgLT4gNAogIDIgfCAzIHwgYXJjIDIgLT4gMworIDEgfCA0IHwgYXJj IDEgLT4gNAogIDQgfCA1IHwgYXJjIDQgLT4gNQogIDUgfCAxIHwgYXJjIDUgLT4gMQogIDEgfCAy IHwgYXJjIDEgLT4gMgogIDEgfCAzIHwgYXJjIDEgLT4gMwotIDEgfCA0IHwgYXJjIDEgLT4gNAog IDIgfCAzIHwgYXJjIDIgLT4gMworIDEgfCA0IHwgYXJjIDEgLT4gNAogIDQgfCA1IHwgYXJjIDQg LT4gNQogIDUgfCAxIHwgYXJjIDUgLT4gMQogIDEgfCAyIHwgYXJjIDEgLT4gMgogIDEgfCAzIHwg YXJjIDEgLT4gMwotIDEgfCA0IHwgYXJjIDEgLT4gNAogIDIgfCAzIHwgYXJjIDIgLT4gMworIDEg fCA0IHwgYXJjIDEgLT4gNAogIDQgfCA1IHwgYXJjIDQgLT4gNQogIDUgfCAxIHwgYXJjIDUgLT4g MQogIDIgfCAzIHwgYXJjIDIgLT4gMwpAQCAtMTcwNywyMCArMTY5OSwyMCBAQCBzZWxlY3QgKiBm cm9tIHZfY3ljbGUyOwogIDUgfCAxIHwgYXJjIDUgLT4gMQogIDEgfCAyIHwgYXJjIDEgLT4gMgog IDEgfCAzIHwgYXJjIDEgLT4gMwotIDEgfCA0IHwgYXJjIDEgLT4gNAogIDIgfCAzIHwgYXJjIDIg LT4gMworIDEgfCA0IHwgYXJjIDEgLT4gNAogIDQgfCA1IHwgYXJjIDQgLT4gNQogIDUgfCAxIHwg YXJjIDUgLT4gMQogIDEgfCAyIHwgYXJjIDEgLT4gMgogIDEgfCAzIHwgYXJjIDEgLT4gMwotIDEg fCA0IHwgYXJjIDEgLT4gNAogIDIgfCAzIHwgYXJjIDIgLT4gMworIDEgfCA0IHwgYXJjIDEgLT4g NAogIDQgfCA1IHwgYXJjIDQgLT4gNQogIDUgfCAxIHwgYXJjIDUgLT4gMQogIDEgfCAyIHwgYXJj IDEgLT4gMgogIDEgfCAzIHwgYXJjIDEgLT4gMwotIDEgfCA0IHwgYXJjIDEgLT4gNAogIDIgfCAz IHwgYXJjIDIgLT4gMworIDEgfCA0IHwgYXJjIDEgLT4gNAogIDQgfCA1IHwgYXJjIDQgLT4gNQog IDUgfCAxIHwgYXJjIDUgLT4gMQogIDIgfCAzIHwgYXJjIDIgLT4gMwpAQCAtMzI0OCwxMCArMzI0 MCw4IEBAIFdIRU4gTk9UIE1BVENIRUQgVEhFTiBJTlNFUlQgVkFMVUVTKG8uaywgby52KTsKICAg ICAgICAgIEhhc2ggQ29uZDogKG0uayA9IG8uaykKICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBw dWJsaWMubQogICAgICAgICAgICAgICAgT3V0cHV0OiBtLmN0aWQsIG0uawotICAgICAgICAgICAg ICAgQmxvb20gRmlsdGVyIDE6IGtleXM9KG0uaykKICAgICAgICAgIC0+ICBIYXNoCiAgICAgICAg ICAgICAgICBPdXRwdXQ6IG8uaywgby52LCBvLioKLSAgICAgICAgICAgICAgIEJsb29tIEZpbHRl ciAxCiAgICAgICAgICAgICAgICAtPiAgU3VicXVlcnkgU2NhbiBvbiBvCiAgICAgICAgICAgICAg ICAgICAgICBPdXRwdXQ6IG8uaywgby52LCBvLioKICAgICAgICAgICAgICAgICAgICAgIC0+ICBS ZXN1bHQKQEAgLTMyNjIsNyArMzI1Miw3IEBAIFdIRU4gTk9UIE1BVENIRUQgVEhFTiBJTlNFUlQg VkFMVUVTKG8uaywgby52KTsKICAgICAgICAgICAgLT4gIENURSBTY2FuIG9uIGN0ZV9iYXNpYwog ICAgICAgICAgICAgICAgICBPdXRwdXQ6IChjdGVfYmFzaWMuYiB8fCAnIG1lcmdlIHVwZGF0ZSc6 OnRleHQpCiAgICAgICAgICAgICAgICAgIEZpbHRlcjogKGN0ZV9iYXNpYy5hID0gbS5rKQotKDIz IHJvd3MpCisoMjEgcm93cykKIAogLS0gSW5pdFBsYW4KIFdJVEggY3RlX2luaXQgQVMgTUFURVJJ QUxJWkVEIChTRUxFQ1QgMSBhLCAnY3RlX2luaXQgdmFsJyBiKQpAQCAtMzI5OSwxNSArMzI4OSwx MyBAQCBXSEVOIE5PVCBNQVRDSEVEIFRIRU4gSU5TRVJUIFZBTFVFUyhvLmssIG8udik7CiAgICAg ICAgICBIYXNoIENvbmQ6IChtLmsgPSBvLmspCiAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVi bGljLm0KICAgICAgICAgICAgICAgIE91dHB1dDogbS5jdGlkLCBtLmsKLSAgICAgICAgICAgICAg IEJsb29tIEZpbHRlciAxOiBrZXlzPShtLmspCiAgICAgICAgICAtPiAgSGFzaAogICAgICAgICAg ICAgICAgT3V0cHV0OiBvLmssIG8udiwgby4qCi0gICAgICAgICAgICAgICBCbG9vbSBGaWx0ZXIg MQogICAgICAgICAgICAgICAgLT4gIFN1YnF1ZXJ5IFNjYW4gb24gbwogICAgICAgICAgICAgICAg ICAgICAgT3V0cHV0OiBvLmssIG8udiwgby4qCiAgICAgICAgICAgICAgICAgICAgICAtPiAgUmVz dWx0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IDEsICdtZXJnZSBzb3VyY2Ug SW5pdFBsYW4nOjp0ZXh0Ci0oMjMgcm93cykKKygyMSByb3dzKQogCiAtLSBNRVJHRSBzb3VyY2Ug Y29tZXMgZnJvbSBDVEU6CiBXSVRIIG1lcmdlX3NvdXJjZV9jdGUgQVMgTUFURVJJQUxJWkVEIChT RUxFQ1QgMTUgYSwgJ21lcmdlX3NvdXJjZV9jdGUgdmFsJyBiKQpAQCAtMzM0NSwxMyArMzMzMywx MSBAQCBXSEVOIE5PVCBNQVRDSEVEIFRIRU4gSU5TRVJUIFZBTFVFUyhvLmEsIG8uYiB8fCAoU0VM RUNUIG1lcmdlX3NvdXJjZV9jdGUuKjo6dGV4dAogICAgICAgICAgSGFzaCBDb25kOiAobS5rID0g bWVyZ2Vfc291cmNlX2N0ZS5hKQogICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5tCiAg ICAgICAgICAgICAgICBPdXRwdXQ6IG0uY3RpZCwgbS5rCi0gICAgICAgICAgICAgICBCbG9vbSBG aWx0ZXIgMToga2V5cz0obS5rKQogICAgICAgICAgLT4gIEhhc2gKICAgICAgICAgICAgICAgIE91 dHB1dDogbWVyZ2Vfc291cmNlX2N0ZS5hLCBtZXJnZV9zb3VyY2VfY3RlLmIsIG1lcmdlX3NvdXJj ZV9jdGUuKgotICAgICAgICAgICAgICAgQmxvb20gRmlsdGVyIDEKICAgICAgICAgICAgICAgIC0+ ICBDVEUgU2NhbiBvbiBtZXJnZV9zb3VyY2VfY3RlCiAgICAgICAgICAgICAgICAgICAgICBPdXRw dXQ6IG1lcmdlX3NvdXJjZV9jdGUuYSwgbWVyZ2Vfc291cmNlX2N0ZS5iLCBtZXJnZV9zb3VyY2Vf Y3RlLioKLSgyMiByb3dzKQorKDIwIHJvd3MpCiAKIERST1AgVEFCTEUgbTsKIC0tIGNoZWNrIHRo YXQgcnVuIHRvIGNvbXBsZXRpb24gaGFwcGVucyBpbiBwcm9wZXIgb3JkZXJpbmcKLS0gCjIuNTAu MSAoQXBwbGUgR2l0LTE1NSkKCg== --0455746457ab0970430c244854fea2ab8b1d27bc867b14de67f74154839e Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v4-0003-Add-tests-for-CustomScan-filter-pushdown.patch Content-Type: text/plain; charset=utf-8; name=v4-0003-Add-tests-for-CustomScan-filter-pushdown.patch RnJvbSA4MWI0MmJmYmQ3NWQyYTQ2NmM2MTE5YTkyYTFiYjIwNjA4MWFlMTY1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXRoZXVzIEFsY2FudGFyYSA8bXRocy5kZXZAcG0ubWU+CkRh dGU6IFRodSwgMiBKdWwgMjAyNiAxNTo0NjowNSAtMDMwMApTdWJqZWN0OiBbUEFUQ0ggdjQgMy80 XSBBZGQgdGVzdHMgZm9yIEN1c3RvbVNjYW4gZmlsdGVyIHB1c2hkb3duCgotLS0KIHNyYy90ZXN0 L21vZHVsZXMvTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgICB8ICAgMSArCiBzcmMvdGVzdC9t b2R1bGVzL21lc29uLmJ1aWxkICAgICAgICAgICAgICAgICAgfCAgIDEgKwogLi4uL21vZHVsZXMv dGVzdF9ibG9vbV9jdXN0b21zY2FuL01ha2VmaWxlICAgIHwgIDIzICsrCiAuLi4vZXhwZWN0ZWQv dGVzdF9ibG9vbV9jdXN0b21zY2FuLm91dCAgICAgICAgfCAxMTMgKysrKysrCiAuLi4vbW9kdWxl cy90ZXN0X2Jsb29tX2N1c3RvbXNjYW4vbWVzb24uYnVpbGQgfCAgMzMgKysKIC4uLi9zcWwvdGVz dF9ibG9vbV9jdXN0b21zY2FuLnNxbCAgICAgICAgICAgICB8ICA2NiArKysrCiAuLi4vdGVzdF9i bG9vbV9jdXN0b21zY2FuLS0xLjAuc3FsICAgICAgICAgICAgfCAgMjAgKwogLi4uL3Rlc3RfYmxv b21fY3VzdG9tc2Nhbi5jICAgICAgICAgICAgICAgICAgIHwgMzYyICsrKysrKysrKysrKysrKysr KwogLi4uL3Rlc3RfYmxvb21fY3VzdG9tc2Nhbi5jb250cm9sICAgICAgICAgICAgIHwgICA1ICsK IDkgZmlsZXMgY2hhbmdlZCwgNjI0IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBz cmMvdGVzdC9tb2R1bGVzL3Rlc3RfYmxvb21fY3VzdG9tc2Nhbi9NYWtlZmlsZQogY3JlYXRlIG1v ZGUgMTAwNjQ0IHNyYy90ZXN0L21vZHVsZXMvdGVzdF9ibG9vbV9jdXN0b21zY2FuL2V4cGVjdGVk L3Rlc3RfYmxvb21fY3VzdG9tc2Nhbi5vdXQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9t b2R1bGVzL3Rlc3RfYmxvb21fY3VzdG9tc2Nhbi9tZXNvbi5idWlsZAogY3JlYXRlIG1vZGUgMTAw NjQ0IHNyYy90ZXN0L21vZHVsZXMvdGVzdF9ibG9vbV9jdXN0b21zY2FuL3NxbC90ZXN0X2Jsb29t X2N1c3RvbXNjYW4uc3FsCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3QvbW9kdWxlcy90ZXN0 X2Jsb29tX2N1c3RvbXNjYW4vdGVzdF9ibG9vbV9jdXN0b21zY2FuLS0xLjAuc3FsCiBjcmVhdGUg bW9kZSAxMDA2NDQgc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2Jsb29tX2N1c3RvbXNjYW4vdGVzdF9i bG9vbV9jdXN0b21zY2FuLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9tb2R1bGVzL3Rl c3RfYmxvb21fY3VzdG9tc2Nhbi90ZXN0X2Jsb29tX2N1c3RvbXNjYW4uY29udHJvbAoKZGlmZiAt LWdpdCBhL3NyYy90ZXN0L21vZHVsZXMvTWFrZWZpbGUgYi9zcmMvdGVzdC9tb2R1bGVzL01ha2Vm aWxlCmluZGV4IDBhNzRhYjVjODZmLi4zZjgzZmVlYjA3NCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3Qv bW9kdWxlcy9NYWtlZmlsZQorKysgYi9zcmMvdGVzdC9tb2R1bGVzL01ha2VmaWxlCkBAIC0yMCw2 ICsyMCw3IEBAIFNVQkRJUlMgPSBcCiAJCSAgdGVzdF9iaW5hcnloZWFwIFwKIAkJICB0ZXN0X2Jp dG1hcHNldCBcCiAJCSAgdGVzdF9ibG9vbWZpbHRlciBcCisJCSAgdGVzdF9ibG9vbV9jdXN0b21z Y2FuIFwKIAkJICB0ZXN0X2Nsb2V4ZWMgXAogCQkgIHRlc3RfY2hlY2tzdW1zIFwKIAkJICB0ZXN0 X2NvcHlfY2FsbGJhY2tzIFwKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L21vZHVsZXMvbWVzb24uYnVp bGQgYi9zcmMvdGVzdC9tb2R1bGVzL21lc29uLmJ1aWxkCmluZGV4IDRiY2E0MmJiMzcwLi5lOWVm ZGIxZThhNCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvbW9kdWxlcy9tZXNvbi5idWlsZAorKysgYi9z cmMvdGVzdC9tb2R1bGVzL21lc29uLmJ1aWxkCkBAIC0yMCw2ICsyMCw3IEBAIHN1YmRpcigndGVz dF9hdXRvdmFjdXVtJykKIHN1YmRpcigndGVzdF9iaW5hcnloZWFwJykKIHN1YmRpcigndGVzdF9i aXRtYXBzZXQnKQogc3ViZGlyKCd0ZXN0X2Jsb29tZmlsdGVyJykKK3N1YmRpcigndGVzdF9ibG9v bV9jdXN0b21zY2FuJykKIHN1YmRpcigndGVzdF9jbG9leGVjJykKIHN1YmRpcigndGVzdF9jaGVj a3N1bXMnKQogc3ViZGlyKCd0ZXN0X2NvcHlfY2FsbGJhY2tzJykKZGlmZiAtLWdpdCBhL3NyYy90 ZXN0L21vZHVsZXMvdGVzdF9ibG9vbV9jdXN0b21zY2FuL01ha2VmaWxlIGIvc3JjL3Rlc3QvbW9k dWxlcy90ZXN0X2Jsb29tX2N1c3RvbXNjYW4vTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMDAwMDAuLjVkZTViNWU2ZjRiCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rl c3QvbW9kdWxlcy90ZXN0X2Jsb29tX2N1c3RvbXNjYW4vTWFrZWZpbGUKQEAgLTAsMCArMSwyMyBA QAorIyBzcmMvdGVzdC9tb2R1bGVzL3Rlc3RfYmxvb21fY3VzdG9tc2Nhbi9NYWtlZmlsZQorCitN T0RVTEVfYmlnID0gdGVzdF9ibG9vbV9jdXN0b21zY2FuCitPQkpTID0gXAorCSQoV0lOMzJSRVMp IFwKKwl0ZXN0X2Jsb29tX2N1c3RvbXNjYW4ubworUEdGSUxFREVTQyA9ICJ0ZXN0X2Jsb29tX2N1 c3RvbXNjYW4gLSBDdXN0b21TY2FuIGNvbnN1bWluZyBhIGhhc2hqb2luIGJsb29tIGZpbHRlciIK KworRVhURU5TSU9OID0gdGVzdF9ibG9vbV9jdXN0b21zY2FuCitEQVRBID0gdGVzdF9ibG9vbV9j dXN0b21zY2FuLS0xLjAuc3FsCisKK1JFR1JFU1MgPSB0ZXN0X2Jsb29tX2N1c3RvbXNjYW4KKwor aWZkZWYgVVNFX1BHWFMKK1BHX0NPTkZJRyA9IHBnX2NvbmZpZworUEdYUyA6PSAkKHNoZWxsICQo UEdfQ09ORklHKSAtLXBneHMpCitpbmNsdWRlICQoUEdYUykKK2Vsc2UKK3N1YmRpciA9IHNyYy90 ZXN0L21vZHVsZXMvdGVzdF9ibG9vbV9jdXN0b21zY2FuCit0b3BfYnVpbGRkaXIgPSAuLi8uLi8u Li8uLgoraW5jbHVkZSAkKHRvcF9idWlsZGRpcikvc3JjL01ha2VmaWxlLmdsb2JhbAoraW5jbHVk ZSAkKHRvcF9zcmNkaXIpL2NvbnRyaWIvY29udHJpYi1nbG9iYWwubWsKK2VuZGlmCmRpZmYgLS1n aXQgYS9zcmMvdGVzdC9tb2R1bGVzL3Rlc3RfYmxvb21fY3VzdG9tc2Nhbi9leHBlY3RlZC90ZXN0 X2Jsb29tX2N1c3RvbXNjYW4ub3V0IGIvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2Jsb29tX2N1c3Rv bXNjYW4vZXhwZWN0ZWQvdGVzdF9ibG9vbV9jdXN0b21zY2FuLm91dApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZTFjZTU5MDNhMDIKLS0tIC9kZXYvbnVsbAorKysgYi9z cmMvdGVzdC9tb2R1bGVzL3Rlc3RfYmxvb21fY3VzdG9tc2Nhbi9leHBlY3RlZC90ZXN0X2Jsb29t X2N1c3RvbXNjYW4ub3V0CkBAIC0wLDAgKzEsMTEzIEBACitDUkVBVEUgRVhURU5TSU9OIHRlc3Rf Ymxvb21fY3VzdG9tc2NhbjsKKy0tIGVuc3VyZSB0aGUgbGlicmFyeSAoYW5kIGl0cyBwbGFubmVy IGhvb2sgKyBHVUMpIGlzIGxvYWRlZAorTE9BRCAndGVzdF9ibG9vbV9jdXN0b21zY2FuJzsKKy0t IEZvcmNlIGEgc2VyaWFsIGhhc2ggam9pbiwgd2hpY2ggaXMgd2hlcmUgdGhlIGJsb29tLWZpbHRl ciBwdXNoZG93biBhcHBsaWVzLgorU0VUIGVuYWJsZV9oYXNoam9pbl9ibG9vbSA9IG9uOworU0VU IGVuYWJsZV9tZXJnZWpvaW4gPSBvZmY7CitTRVQgZW5hYmxlX25lc3Rsb29wID0gb2ZmOworU0VU IG1heF9wYXJhbGxlbF93b3JrZXJzX3Blcl9nYXRoZXIgPSAwOworQ1JFQVRFIFRBQkxFIGNzX2Zh Y3QgKGEgaW50LCBiIGludCwgcGF5bG9hZCBpbnQpOworQ1JFQVRFIFRBQkxFIGNzX2RpbSAoaWQg aW50LCBpZDIgaW50LCBsYWJlbCB0ZXh0KTsKKy0tIEZhY3Qga2V5cyByYW5nZSBvdmVyIDAuLjk5 OTsgdGhlIGRpbWVuc2lvbiBvbmx5IGNvdmVycyAxLi41MCwgc28gdGhlIGpvaW4KKy0tIGlzIGhp Z2hseSBzZWxlY3RpdmUgYW5kIHRoZSBwdXNoZWQtZG93biBmaWx0ZXIgc2hvdWxkIHJlamVjdCBt b3N0IGZhY3Qgcm93cy4KK0lOU0VSVCBJTlRPIGNzX2ZhY3QKKyAgU0VMRUNUIGcgJSAxMDAwLCBn ICUgMTAwMCwgZyBGUk9NIGdlbmVyYXRlX3NlcmllcygxLCAyMDAwMCkgZzsKK0lOU0VSVCBJTlRP IGNzX2RpbQorICBTRUxFQ1QgZywgZywgJ3gnIHx8IGcgRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSwg NTApIGc7CitBTkFMWVpFIGNzX2ZhY3Q7CitBTkFMWVpFIGNzX2RpbTsKKy0tIE9mZmVyIHRoZSBi bG9vbS1jYXBhYmxlIGN1c3RvbSBzY2FuIGFuZCBmb3JjZSBpdCB0byBiZSBjaG9zZW4gKHRoZSBD dXN0b21QYXRoCistLSBrZWVwcyBkaXNhYmxlZF9ub2RlcyA9IDAsIHNvIGRpc2FibGluZyBzZXFz Y2FuIG1ha2VzIGl0IHdpbikuCitTRVQgdGVzdF9ibG9vbV9jdXN0b21zY2FuLmVuYWJsZSA9IG9u OworU0VUIGVuYWJsZV9zZXFzY2FuID0gb2ZmOworLS0gVGhlIGZhY3QgcmVsYXRpb24gaXMgc2Nh bm5lZCBieSBvdXIgQ3VzdG9tIFNjYW4gYW5kIHJlY2VpdmVzIHRoZSBmaWx0ZXIuCitFWFBMQUlO IChDT1NUUyBPRkYsIFZFUkJPU0UpCitTRUxFQ1QgY291bnQoKikgRlJPTSBjc19mYWN0IGYgSk9J TiBjc19kaW0gZCBPTiBmLmEgPSBkLmlkOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFFVRVJZIFBMQU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCistLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KKyBBZ2dyZWdhdGUKKyAgIE91dHB1dDogY291bnQoKikKKyAgIC0+ICBIYXNoIEpvaW4KKyAg ICAgICAgIEhhc2ggQ29uZDogKGYuYSA9IGQuaWQpCisgICAgICAgICAtPiAgQ3VzdG9tIFNjYW4g KFRlc3RCbG9vbUN1c3RvbVNjYW4pIG9uIHB1YmxpYy5jc19mYWN0IGYKKyAgICAgICAgICAgICAg IE91dHB1dDogZi5hCisgICAgICAgICAtPiAgSGFzaAorICAgICAgICAgICAgICAgT3V0cHV0OiBk LmlkCisgICAgICAgICAgICAgICAtPiAgQ3VzdG9tIFNjYW4gKFRlc3RCbG9vbUN1c3RvbVNjYW4p IG9uIHB1YmxpYy5jc19kaW0gZAorICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiBkLmlkCiso MTAgcm93cykKKworLS0gU2luZ2xlLWtleSBqb2luOiB0aGUgZmlsdGVyIG11c3QgYWN0dWFsbHkg cmVqZWN0IGZhY3Qgcm93cy4KK1NFTEVDVCB0ZXN0X2Jsb29tX2NzX3Jlc2V0KCk7CisgdGVzdF9i bG9vbV9jc19yZXNldCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIAorKDEgcm93KQorCitTRUxF Q1QgY291bnQoKikgRlJPTSBjc19mYWN0IGYgSk9JTiBjc19kaW0gZCBPTiBmLmEgPSBkLmlkOwor IGNvdW50IAorLS0tLS0tLQorICAxMDAwCisoMSByb3cpCisKK1NFTEVDVCB0ZXN0X2Jsb29tX2Nz X3JlamVjdGVkX3Jvd3MoKSA+IDAgQVMgZmlsdGVyX3JlamVjdGVkX3Jvd3M7CisgZmlsdGVyX3Jl amVjdGVkX3Jvd3MgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgZgorKDEgcm93KQorCistLSBD b3JyZWN0bmVzczogdGhlIHJlc3VsdCBtdXN0IGJlIGlkZW50aWNhbCB3aXRoIGFuZCB3aXRob3V0 IHRoZSBmaWx0ZXIuCitTRVQgdGVzdF9ibG9vbV9jdXN0b21zY2FuLmVuYWJsZSA9IG9uOworU0VU IGVuYWJsZV9zZXFzY2FuID0gb2ZmOworQ1JFQVRFIFRFTVAgVEFCTEUgcl9jcyBBUworICBTRUxF Q1QgZi5hLCBjb3VudCgqKSBBUyBuIEZST00gY3NfZmFjdCBmIEpPSU4gY3NfZGltIGQgT04gZi5h ID0gZC5pZCBHUk9VUCBCWSBmLmE7CitTRVQgdGVzdF9ibG9vbV9jdXN0b21zY2FuLmVuYWJsZSA9 IG9mZjsKK1NFVCBlbmFibGVfc2Vxc2NhbiA9IG9uOworQ1JFQVRFIFRFTVAgVEFCTEUgcl9wbGFp biBBUworICBTRUxFQ1QgZi5hLCBjb3VudCgqKSBBUyBuIEZST00gY3NfZmFjdCBmIEpPSU4gY3Nf ZGltIGQgT04gZi5hID0gZC5pZCBHUk9VUCBCWSBmLmE7CitTRUxFQ1QgY291bnQoKikgQVMgY3Nf bWludXNfcGxhaW4KKyAgRlJPTSAoU0VMRUNUICogRlJPTSByX2NzIEVYQ0VQVCBTRUxFQ1QgKiBG Uk9NIHJfcGxhaW4pIHg7CisgY3NfbWludXNfcGxhaW4gCistLS0tLS0tLS0tLS0tLS0tCisgICAg ICAgICAgICAgIDAKKygxIHJvdykKKworU0VMRUNUIGNvdW50KCopIEFTIHBsYWluX21pbnVzX2Nz CisgIEZST00gKFNFTEVDVCAqIEZST00gcl9wbGFpbiBFWENFUFQgU0VMRUNUICogRlJPTSByX2Nz KSB4OworIHBsYWluX21pbnVzX2NzIAorLS0tLS0tLS0tLS0tLS0tLQorICAgICAgICAgICAgICAw CisoMSByb3cpCisKKy0tIFR3by1rZXkgam9pbjogdGhlIG9wdGVkLWluIHJlY2lwaWVudCBhbHNv IGdldHMgcGVyLWtleSBmaWx0ZXJzIGJ1aWx0LgorU0VUIHRlc3RfYmxvb21fY3VzdG9tc2Nhbi5l bmFibGUgPSBvbjsKK1NFVCBlbmFibGVfc2Vxc2NhbiA9IG9mZjsKK1NFTEVDVCB0ZXN0X2Jsb29t X2NzX3Jlc2V0KCk7CisgdGVzdF9ibG9vbV9jc19yZXNldCAKKy0tLS0tLS0tLS0tLS0tLS0tLS0t LQorIAorKDEgcm93KQorCitTRUxFQ1QgY291bnQoKikgRlJPTSBjc19mYWN0IGYgSk9JTiBjc19k aW0gZCBPTiBmLmEgPSBkLmlkIEFORCBmLmIgPSBkLmlkMjsKKyBjb3VudCAKKy0tLS0tLS0KKyAg MTAwMAorKDEgcm93KQorCitTRUxFQ1QgdGVzdF9ibG9vbV9jc19wZXJrZXlfYnVpbHQoKSBBUyBw ZXJrZXlfZmlsdGVyc19idWlsdDsKKyBwZXJrZXlfZmlsdGVyc19idWlsdCAKKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KKyBmCisoMSByb3cpCisKK1NFTEVDVCB0ZXN0X2Jsb29tX2NzX3JlamVjdGVk X3Jvd3MoKSA+IDAgQVMgZmlsdGVyX3JlamVjdGVkX3Jvd3M7CisgZmlsdGVyX3JlamVjdGVkX3Jv d3MgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgZgorKDEgcm93KQorCistLSBjbGVhbnVwCitT RVQgdGVzdF9ibG9vbV9jdXN0b21zY2FuLmVuYWJsZSA9IG9mZjsKK1NFVCBlbmFibGVfc2Vxc2Nh biA9IG9uOworRFJPUCBUQUJMRSBjc19mYWN0LCBjc19kaW07CitEUk9QIEVYVEVOU0lPTiB0ZXN0 X2Jsb29tX2N1c3RvbXNjYW47CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9tb2R1bGVzL3Rlc3RfYmxv b21fY3VzdG9tc2Nhbi9tZXNvbi5idWlsZCBiL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9ibG9vbV9j dXN0b21zY2FuL21lc29uLmJ1aWxkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwLi5lMTJkYzgwOTQyYwotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L21vZHVsZXMvdGVz dF9ibG9vbV9jdXN0b21zY2FuL21lc29uLmJ1aWxkCkBAIC0wLDAgKzEsMzMgQEAKKyMgQ29weXJp Z2h0IChjKSAyMDIyLTIwMjYsIFBvc3RncmVTUUwgR2xvYmFsIERldmVsb3BtZW50IEdyb3VwCisK K3Rlc3RfYmxvb21fY3VzdG9tc2Nhbl9zb3VyY2VzID0gZmlsZXMoCisgICd0ZXN0X2Jsb29tX2N1 c3RvbXNjYW4uYycsCispCisKK2lmIGhvc3Rfc3lzdGVtID09ICd3aW5kb3dzJworICB0ZXN0X2Js b29tX2N1c3RvbXNjYW5fc291cmNlcyArPSByY19saWJfZ2VuLnByb2Nlc3Mod2luMzJ2ZXJfcmMs IGV4dHJhX2FyZ3M6IFsKKyAgICAnLS1OQU1FJywgJ3Rlc3RfYmxvb21fY3VzdG9tc2NhbicsCisg ICAgJy0tRklMRURFU0MnLCAndGVzdF9ibG9vbV9jdXN0b21zY2FuIC0gQ3VzdG9tU2NhbiBjb25z dW1pbmcgYSBoYXNoam9pbiBibG9vbSBmaWx0ZXInLF0pCitlbmRpZgorCit0ZXN0X2Jsb29tX2N1 c3RvbXNjYW4gPSBzaGFyZWRfbW9kdWxlKCd0ZXN0X2Jsb29tX2N1c3RvbXNjYW4nLAorICB0ZXN0 X2Jsb29tX2N1c3RvbXNjYW5fc291cmNlcywKKyAga3dhcmdzOiBwZ190ZXN0X21vZF9hcmdzLAor KQordGVzdF9pbnN0YWxsX2xpYnMgKz0gdGVzdF9ibG9vbV9jdXN0b21zY2FuCisKK3Rlc3RfaW5z dGFsbF9kYXRhICs9IGZpbGVzKAorICAndGVzdF9ibG9vbV9jdXN0b21zY2FuLmNvbnRyb2wnLAor ICAndGVzdF9ibG9vbV9jdXN0b21zY2FuLS0xLjAuc3FsJywKKykKKwordGVzdHMgKz0geworICAn bmFtZSc6ICd0ZXN0X2Jsb29tX2N1c3RvbXNjYW4nLAorICAnc2QnOiBtZXNvbi5jdXJyZW50X3Nv dXJjZV9kaXIoKSwKKyAgJ2JkJzogbWVzb24uY3VycmVudF9idWlsZF9kaXIoKSwKKyAgJ3JlZ3Jl c3MnOiB7CisgICAgJ3NxbCc6IFsKKyAgICAgICd0ZXN0X2Jsb29tX2N1c3RvbXNjYW4nLAorICAg IF0sCisgIH0sCit9CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9tb2R1bGVzL3Rlc3RfYmxvb21fY3Vz dG9tc2Nhbi9zcWwvdGVzdF9ibG9vbV9jdXN0b21zY2FuLnNxbCBiL3NyYy90ZXN0L21vZHVsZXMv dGVzdF9ibG9vbV9jdXN0b21zY2FuL3NxbC90ZXN0X2Jsb29tX2N1c3RvbXNjYW4uc3FsCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5kYWFlODRhNTMxYQotLS0gL2Rldi9u dWxsCisrKyBiL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9ibG9vbV9jdXN0b21zY2FuL3NxbC90ZXN0 X2Jsb29tX2N1c3RvbXNjYW4uc3FsCkBAIC0wLDAgKzEsNjYgQEAKK0NSRUFURSBFWFRFTlNJT04g dGVzdF9ibG9vbV9jdXN0b21zY2FuOworLS0gZW5zdXJlIHRoZSBsaWJyYXJ5IChhbmQgaXRzIHBs YW5uZXIgaG9vayArIEdVQykgaXMgbG9hZGVkCitMT0FEICd0ZXN0X2Jsb29tX2N1c3RvbXNjYW4n OworCistLSBGb3JjZSBhIHNlcmlhbCBoYXNoIGpvaW4sIHdoaWNoIGlzIHdoZXJlIHRoZSBibG9v bS1maWx0ZXIgcHVzaGRvd24gYXBwbGllcy4KK1NFVCBlbmFibGVfaGFzaGpvaW5fYmxvb20gPSBv bjsKK1NFVCBlbmFibGVfbWVyZ2Vqb2luID0gb2ZmOworU0VUIGVuYWJsZV9uZXN0bG9vcCA9IG9m ZjsKK1NFVCBtYXhfcGFyYWxsZWxfd29ya2Vyc19wZXJfZ2F0aGVyID0gMDsKKworQ1JFQVRFIFRB QkxFIGNzX2ZhY3QgKGEgaW50LCBiIGludCwgcGF5bG9hZCBpbnQpOworQ1JFQVRFIFRBQkxFIGNz X2RpbSAoaWQgaW50LCBpZDIgaW50LCBsYWJlbCB0ZXh0KTsKKworLS0gRmFjdCBrZXlzIHJhbmdl IG92ZXIgMC4uOTk5OyB0aGUgZGltZW5zaW9uIG9ubHkgY292ZXJzIDEuLjUwLCBzbyB0aGUgam9p bgorLS0gaXMgaGlnaGx5IHNlbGVjdGl2ZSBhbmQgdGhlIHB1c2hlZC1kb3duIGZpbHRlciBzaG91 bGQgcmVqZWN0IG1vc3QgZmFjdCByb3dzLgorSU5TRVJUIElOVE8gY3NfZmFjdAorICBTRUxFQ1Qg ZyAlIDEwMDAsIGcgJSAxMDAwLCBnIEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsIDIwMDAwKSBnOwor SU5TRVJUIElOVE8gY3NfZGltCisgIFNFTEVDVCBnLCBnLCAneCcgfHwgZyBGUk9NIGdlbmVyYXRl X3NlcmllcygxLCA1MCkgZzsKKworQU5BTFlaRSBjc19mYWN0OworQU5BTFlaRSBjc19kaW07CisK Ky0tIE9mZmVyIHRoZSBibG9vbS1jYXBhYmxlIGN1c3RvbSBzY2FuIGFuZCBmb3JjZSBpdCB0byBi ZSBjaG9zZW4gKHRoZSBDdXN0b21QYXRoCistLSBrZWVwcyBkaXNhYmxlZF9ub2RlcyA9IDAsIHNv IGRpc2FibGluZyBzZXFzY2FuIG1ha2VzIGl0IHdpbikuCitTRVQgdGVzdF9ibG9vbV9jdXN0b21z Y2FuLmVuYWJsZSA9IG9uOworU0VUIGVuYWJsZV9zZXFzY2FuID0gb2ZmOworCistLSBUaGUgZmFj dCByZWxhdGlvbiBpcyBzY2FubmVkIGJ5IG91ciBDdXN0b20gU2NhbiBhbmQgcmVjZWl2ZXMgdGhl IGZpbHRlci4KK0VYUExBSU4gKENPU1RTIE9GRiwgVkVSQk9TRSkKK1NFTEVDVCBjb3VudCgqKSBG Uk9NIGNzX2ZhY3QgZiBKT0lOIGNzX2RpbSBkIE9OIGYuYSA9IGQuaWQ7CisKKy0tIFNpbmdsZS1r ZXkgam9pbjogdGhlIGZpbHRlciBtdXN0IGFjdHVhbGx5IHJlamVjdCBmYWN0IHJvd3MuCitTRUxF Q1QgdGVzdF9ibG9vbV9jc19yZXNldCgpOworU0VMRUNUIGNvdW50KCopIEZST00gY3NfZmFjdCBm IEpPSU4gY3NfZGltIGQgT04gZi5hID0gZC5pZDsKK1NFTEVDVCB0ZXN0X2Jsb29tX2NzX3JlamVj dGVkX3Jvd3MoKSA+IDAgQVMgZmlsdGVyX3JlamVjdGVkX3Jvd3M7CisKKy0tIENvcnJlY3RuZXNz OiB0aGUgcmVzdWx0IG11c3QgYmUgaWRlbnRpY2FsIHdpdGggYW5kIHdpdGhvdXQgdGhlIGZpbHRl ci4KK1NFVCB0ZXN0X2Jsb29tX2N1c3RvbXNjYW4uZW5hYmxlID0gb247CitTRVQgZW5hYmxlX3Nl cXNjYW4gPSBvZmY7CitDUkVBVEUgVEVNUCBUQUJMRSByX2NzIEFTCisgIFNFTEVDVCBmLmEsIGNv dW50KCopIEFTIG4gRlJPTSBjc19mYWN0IGYgSk9JTiBjc19kaW0gZCBPTiBmLmEgPSBkLmlkIEdS T1VQIEJZIGYuYTsKKworU0VUIHRlc3RfYmxvb21fY3VzdG9tc2Nhbi5lbmFibGUgPSBvZmY7CitT RVQgZW5hYmxlX3NlcXNjYW4gPSBvbjsKK0NSRUFURSBURU1QIFRBQkxFIHJfcGxhaW4gQVMKKyAg U0VMRUNUIGYuYSwgY291bnQoKikgQVMgbiBGUk9NIGNzX2ZhY3QgZiBKT0lOIGNzX2RpbSBkIE9O IGYuYSA9IGQuaWQgR1JPVVAgQlkgZi5hOworCitTRUxFQ1QgY291bnQoKikgQVMgY3NfbWludXNf cGxhaW4KKyAgRlJPTSAoU0VMRUNUICogRlJPTSByX2NzIEVYQ0VQVCBTRUxFQ1QgKiBGUk9NIHJf cGxhaW4pIHg7CitTRUxFQ1QgY291bnQoKikgQVMgcGxhaW5fbWludXNfY3MKKyAgRlJPTSAoU0VM RUNUICogRlJPTSByX3BsYWluIEVYQ0VQVCBTRUxFQ1QgKiBGUk9NIHJfY3MpIHg7CisKKy0tIFR3 by1rZXkgam9pbjogdGhlIG9wdGVkLWluIHJlY2lwaWVudCBhbHNvIGdldHMgcGVyLWtleSBmaWx0 ZXJzIGJ1aWx0LgorU0VUIHRlc3RfYmxvb21fY3VzdG9tc2Nhbi5lbmFibGUgPSBvbjsKK1NFVCBl bmFibGVfc2Vxc2NhbiA9IG9mZjsKK1NFTEVDVCB0ZXN0X2Jsb29tX2NzX3Jlc2V0KCk7CitTRUxF Q1QgY291bnQoKikgRlJPTSBjc19mYWN0IGYgSk9JTiBjc19kaW0gZCBPTiBmLmEgPSBkLmlkIEFO RCBmLmIgPSBkLmlkMjsKK1NFTEVDVCB0ZXN0X2Jsb29tX2NzX3BlcmtleV9idWlsdCgpIEFTIHBl cmtleV9maWx0ZXJzX2J1aWx0OworU0VMRUNUIHRlc3RfYmxvb21fY3NfcmVqZWN0ZWRfcm93cygp ID4gMCBBUyBmaWx0ZXJfcmVqZWN0ZWRfcm93czsKKworLS0gY2xlYW51cAorU0VUIHRlc3RfYmxv b21fY3VzdG9tc2Nhbi5lbmFibGUgPSBvZmY7CitTRVQgZW5hYmxlX3NlcXNjYW4gPSBvbjsKK0RS T1AgVEFCTEUgY3NfZmFjdCwgY3NfZGltOworRFJPUCBFWFRFTlNJT04gdGVzdF9ibG9vbV9jdXN0 b21zY2FuOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2Jsb29tX2N1c3RvbXNj YW4vdGVzdF9ibG9vbV9jdXN0b21zY2FuLS0xLjAuc3FsIGIvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0 X2Jsb29tX2N1c3RvbXNjYW4vdGVzdF9ibG9vbV9jdXN0b21zY2FuLS0xLjAuc3FsCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4zMjlkNzk1ZDZmMAotLS0gL2Rldi9udWxs CisrKyBiL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9ibG9vbV9jdXN0b21zY2FuL3Rlc3RfYmxvb21f Y3VzdG9tc2Nhbi0tMS4wLnNxbApAQCAtMCwwICsxLDIwIEBACisvKiBzcmMvdGVzdC9tb2R1bGVz L3Rlc3RfYmxvb21fY3VzdG9tc2Nhbi90ZXN0X2Jsb29tX2N1c3RvbXNjYW4tLTEuMC5zcWwgKi8K KworLS0gY29tcGxhaW4gaWYgc2NyaXB0IGlzIHNvdXJjZWQgaW4gcHNxbCwgcmF0aGVyIHRoYW4g dmlhIENSRUFURSBFWFRFTlNJT04KK1xlY2hvIFVzZSAiQ1JFQVRFIEVYVEVOU0lPTiB0ZXN0X2Js b29tX2N1c3RvbXNjYW4iIHRvIGxvYWQgdGhpcyBmaWxlLiBccXVpdAorCitDUkVBVEUgRlVOQ1RJ T04gdGVzdF9ibG9vbV9jc19yZXNldCgpCisJUkVUVVJOUyB2b2lkCisJQVMgJ01PRFVMRV9QQVRI TkFNRScgTEFOR1VBR0UgQzsKKworQ1JFQVRFIEZVTkNUSU9OIHRlc3RfYmxvb21fY3Nfc2Nhbm5l ZF9yb3dzKCkKKwlSRVRVUk5TIGJpZ2ludAorCUFTICdNT0RVTEVfUEFUSE5BTUUnIExBTkdVQUdF IEM7CisKK0NSRUFURSBGVU5DVElPTiB0ZXN0X2Jsb29tX2NzX3JlamVjdGVkX3Jvd3MoKQorCVJF VFVSTlMgYmlnaW50CisJQVMgJ01PRFVMRV9QQVRITkFNRScgTEFOR1VBR0UgQzsKKworQ1JFQVRF IEZVTkNUSU9OIHRlc3RfYmxvb21fY3NfcGVya2V5X2J1aWx0KCkKKwlSRVRVUk5TIGJvb2xlYW4K KwlBUyAnTU9EVUxFX1BBVEhOQU1FJyBMQU5HVUFHRSBDOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3Qv bW9kdWxlcy90ZXN0X2Jsb29tX2N1c3RvbXNjYW4vdGVzdF9ibG9vbV9jdXN0b21zY2FuLmMgYi9z cmMvdGVzdC9tb2R1bGVzL3Rlc3RfYmxvb21fY3VzdG9tc2Nhbi90ZXN0X2Jsb29tX2N1c3RvbXNj YW4uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMTI0Y2JlZjlkZWQK LS0tIC9kZXYvbnVsbAorKysgYi9zcmMvdGVzdC9tb2R1bGVzL3Rlc3RfYmxvb21fY3VzdG9tc2Nh bi90ZXN0X2Jsb29tX2N1c3RvbXNjYW4uYwpAQCAtMCwwICsxLDM2MiBAQAorLyotLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCisgKgorICogdGVzdF9ibG9vbV9jdXN0b21zY2FuLmMKKyAqCQlNaW5pbWFsIEN1c3Rv bVNjYW4gcHJvdmlkZXIgdGhhdCBjb25zdW1lcyBhIGhhc2gtam9pbiBCbG9vbSBmaWx0ZXIuCisg KgorICogVGhpcyBpcyBhIHRlc3Qtb25seSBzdGFuZC1pbiBmb3IgYSBzdG9yYWdlLWxldmVsIHNj YW4gcHJvdmlkZXIuICBXaGVuIGVuYWJsZWQsIGl0CisgKiBpbnN0YWxscyBhIHNldF9yZWxfcGF0 aGxpc3RfaG9vayB0aGF0IG9mZmVycyBhIEN1c3RvbVBhdGggZm9yIHBsYWluIGhlYXAKKyAqIGJh c2UgcmVsYXRpb25zLCBhZHZlcnRpc2luZyBDVVNUT01QQVRIX1NVUFBPUlRfQkxPT01fRklMVEVS Uy4gIFRoYXQgb3B0LWluCisgKiBpcyB3aGF0IGxldHMgdGhlIHBsYW5uZXIgKGEpIGdlbmVyYXRl IGZpbHRlci1iZWFyaW5nIHBhdGhzIGZvciB0aGUgc2NhbiBhbmQKKyAqIChiKSBwdXNoIGEgaGFz aC1qb2luIEJsb29tIGZpbHRlciBkb3duIHRvIGl0LgorICoKKyAqIFRoZSBzY2FuIGl0c2VsZiBp cyBhbiBvcmRpbmFyeSBoZWFwIHNlcXVlbnRpYWwgc2NhbjsgdGhlIG9ubHkgaW50ZXJlc3RpbmcK KyAqIHBhcnQgaXMgdGhhdCBpdHMgcGVyLXR1cGxlIGxvb3AgcHJvYmVzIHRoZSBwdXNoZWQtZG93 biBjb21iaW5lZCBmaWx0ZXIgd2l0aAorICogRXhlY0Jsb29tRmlsdGVycygpIC0tIGV4YWN0bHkg d2hhdCBhIHN0b2NrIHNjYW4gZG9lcyBpbnNpZGUgRXhlY1NjYW5FeHRlbmRlZCwKKyAqIGJ1dCBo ZXJlIGRvbmUgYnkgdGhlIHByb3ZpZGVyIGl0c2VsZiAtLSBhbmQsIGZvciBhIG11bHRpLWtleSBq b2luLCBjaGVja3MKKyAqIHRoYXQgdGhlIHBlci1rZXkgZmlsdGVycyB3ZXJlIHBvcHVsYXRlZCBv biB0aGUgcHJvZHVjZXIgc2lkZS4KKyAqCisgKiBBIGZldyBTUUwtY2FsbGFibGUgZnVuY3Rpb25z IGV4cG9zZSBjb3VudGVycyBzbyB0aGUgcmVncmVzc2lvbiB0ZXN0IGNhbgorICogYXNzZXJ0IHRo YXQgdGhlIGZpbHRlciB3YXMgYWN0dWFsbHkgcHJvYmVkIGFuZCByZWplY3RlZCB0dXBsZXMsIGFu ZCB0aGF0CisgKiBwZXIta2V5IGZpbHRlcnMgd2VyZSBidWlsdCwgd2l0aG91dCBkZXBlbmRpbmcg b24gdGltaW5nIG9yIEVYUExBSU4gb3V0cHV0LgorICoKKyAqIFBvcnRpb25zIENvcHlyaWdodCAo YykgMTk5Ni0yMDI2LCBQb3N0Z3JlU1FMIEdsb2JhbCBEZXZlbG9wbWVudCBHcm91cAorICogUG9y dGlvbnMgQ29weXJpZ2h0IChjKSAxOTk0LCBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENh bGlmb3JuaWEKKyAqCisgKgkgIHNyYy90ZXN0L21vZHVsZXMvdGVzdF9ibG9vbV9jdXN0b21zY2Fu L3Rlc3RfYmxvb21fY3VzdG9tc2Nhbi5jCisgKgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8KKyNp bmNsdWRlICJwb3N0Z3Jlcy5oIgorCisjaW5jbHVkZSAiYWNjZXNzL3JlbHNjYW4uaCIKKyNpbmNs dWRlICJhY2Nlc3MvdGFibGVhbS5oIgorI2luY2x1ZGUgImV4ZWN1dG9yL2V4ZWN1dG9yLmgiCisj aW5jbHVkZSAiZm1nci5oIgorI2luY2x1ZGUgIm5vZGVzL2V4ZWNub2Rlcy5oIgorI2luY2x1ZGUg Im5vZGVzL2V4dGVuc2libGUuaCIKKyNpbmNsdWRlICJub2Rlcy9wYXRobm9kZXMuaCIKKyNpbmNs dWRlICJub2Rlcy9wbGFubm9kZXMuaCIKKyNpbmNsdWRlICJvcHRpbWl6ZXIvY29zdC5oIgorI2lu Y2x1ZGUgIm9wdGltaXplci9vcHRpbWl6ZXIuaCIKKyNpbmNsdWRlICJvcHRpbWl6ZXIvcGF0aG5v ZGUuaCIKKyNpbmNsdWRlICJvcHRpbWl6ZXIvcGF0aHMuaCIKKyNpbmNsdWRlICJvcHRpbWl6ZXIv cmVzdHJpY3RpbmZvLmgiCisjaW5jbHVkZSAidXRpbHMvZ3VjLmgiCisKK1BHX01PRFVMRV9NQUdJ QzsKKworLyogR1VDOiB3aGVuIG9mZiwgdGhlIGhvb2sgZG9lcyBub3RoaW5nIGFuZCBwbGFucyBs b29rIGV4YWN0bHkgbGlrZSB1cHN0cmVhbS4gKi8KK3N0YXRpYyBib29sIHRlc3RfYmxvb21fY3Nf ZW5hYmxlZCA9IGZhbHNlOworCisvKiBPYnNlcnZhdGlvbiBjb3VudGVycywgcmVzZXQvcmVhZCBm cm9tIFNRTC4gKi8KK3N0YXRpYyB1aW50NjQgdGVzdF9ibG9vbV9jc19zY2FubmVkID0gMDsKK3N0 YXRpYyB1aW50NjQgdGVzdF9ibG9vbV9jc19yZWplY3RlZCA9IDA7CitzdGF0aWMgYm9vbCB0ZXN0 X2Jsb29tX2NzX3BlcmtleV9zZWVuID0gZmFsc2U7CisKK3N0YXRpYyBzZXRfcmVsX3BhdGhsaXN0 X2hvb2tfdHlwZSBwcmV2X3NldF9yZWxfcGF0aGxpc3RfaG9vayA9IE5VTEw7CisKKy8qIEV4ZWN1 dGlvbiBzdGF0ZSwgZW1iZWRkaW5nIEN1c3RvbVNjYW5TdGF0ZSBhcyBpdHMgZmlyc3QgZmllbGQu ICovCit0eXBlZGVmIHN0cnVjdCBCbG9vbUNTU2NhblN0YXRlCit7CisJQ3VzdG9tU2NhblN0YXRl IGNzczsKKwlUYWJsZVNjYW5EZXNjIHNjYW5kZXNjOworCWJvb2wJCWluc3BlY3RlZDsJCS8qIGhh dmUgd2UgY2hlY2tlZCBwZXIta2V5IGZpbHRlcnMgeWV0PyAqLworfQkJCUJsb29tQ1NTY2FuU3Rh dGU7CisKKy8qIGZvcndhcmQgZGVjbGFyYXRpb25zICovCitzdGF0aWMgUGxhbiAqYmxvb21fY3Nf cGxhbl9jdXN0b21fcGF0aChQbGFubmVySW5mbyAqcm9vdCwgUmVsT3B0SW5mbyAqcmVsLAorCQkJ CQkJCQkJICAgQ3VzdG9tUGF0aCAqYmVzdF9wYXRoLCBMaXN0ICp0bGlzdCwKKwkJCQkJCQkJCSAg IExpc3QgKmNsYXVzZXMsIExpc3QgKmN1c3RvbV9wbGFucyk7CitzdGF0aWMgTm9kZSAqYmxvb21f Y3NfY3JlYXRlX3NjYW5fc3RhdGUoQ3VzdG9tU2NhbiAqY3NjYW4pOworc3RhdGljIHZvaWQgYmxv b21fY3NfYmVnaW5fc2NhbihDdXN0b21TY2FuU3RhdGUgKm5vZGUsIEVTdGF0ZSAqZXN0YXRlLAor CQkJCQkJCQlpbnQgZWZsYWdzKTsKK3N0YXRpYyBUdXBsZVRhYmxlU2xvdCAqYmxvb21fY3NfZXhl Y19zY2FuKEN1c3RvbVNjYW5TdGF0ZSAqbm9kZSk7CitzdGF0aWMgdm9pZCBibG9vbV9jc19lbmRf c2NhbihDdXN0b21TY2FuU3RhdGUgKm5vZGUpOworc3RhdGljIHZvaWQgYmxvb21fY3NfcmVzY2Fu KEN1c3RvbVNjYW5TdGF0ZSAqbm9kZSk7CisKK3N0YXRpYyBjb25zdCBDdXN0b21QYXRoTWV0aG9k cyBibG9vbV9jc19wYXRoX21ldGhvZHMgPSB7CisJLkN1c3RvbU5hbWUgPSAiVGVzdEJsb29tQ3Vz dG9tU2NhbiIsCisJLlBsYW5DdXN0b21QYXRoID0gYmxvb21fY3NfcGxhbl9jdXN0b21fcGF0aCwK K307CisKK3N0YXRpYyBjb25zdCBDdXN0b21TY2FuTWV0aG9kcyBibG9vbV9jc19zY2FuX21ldGhv ZHMgPSB7CisJLkN1c3RvbU5hbWUgPSAiVGVzdEJsb29tQ3VzdG9tU2NhbiIsCisJLkNyZWF0ZUN1 c3RvbVNjYW5TdGF0ZSA9IGJsb29tX2NzX2NyZWF0ZV9zY2FuX3N0YXRlLAorfTsKKworc3RhdGlj IGNvbnN0IEN1c3RvbUV4ZWNNZXRob2RzIGJsb29tX2NzX2V4ZWNfbWV0aG9kcyA9IHsKKwkuQ3Vz dG9tTmFtZSA9ICJUZXN0Qmxvb21DdXN0b21TY2FuIiwKKwkuQmVnaW5DdXN0b21TY2FuID0gYmxv b21fY3NfYmVnaW5fc2NhbiwKKwkuRXhlY0N1c3RvbVNjYW4gPSBibG9vbV9jc19leGVjX3NjYW4s CisJLkVuZEN1c3RvbVNjYW4gPSBibG9vbV9jc19lbmRfc2NhbiwKKwkuUmVTY2FuQ3VzdG9tU2Nh biA9IGJsb29tX2NzX3Jlc2NhbiwKK307CisKKy8qCisgKiBzZXRfcmVsX3BhdGhsaXN0X2hvb2s6 IG9mZmVyIGEgYmxvb20tZmlsdGVyLWNhcGFibGUgQ3VzdG9tUGF0aCBmb3IgcGxhaW4KKyAqIGhl YXAgYmFzZSByZWxhdGlvbnMuICBXZSBjb3B5IHRoZSBjb3N0IG9mIHRoZSBleGlzdGluZyBzZXF1 ZW50aWFsIHNjYW4gcGF0aAorICogc28gam9pbiBjb3N0aW5nIHN0YXlzIHNhbmU7IHRoZSB0ZXN0 IGZvcmNlcyB0aGUgY3VzdG9tIHNjYW4gdG8gYmUgY2hvc2VuCisgKiB3aXRoICJTRVQgZW5hYmxl X3NlcXNjYW4gPSBvZmYiICh0aGUgQ3VzdG9tUGF0aCBrZWVwcyBkaXNhYmxlZF9ub2RlcyA9IDAp LgorICovCitzdGF0aWMgdm9pZAorYmxvb21fY3Nfc2V0X3JlbF9wYXRobGlzdChQbGFubmVySW5m byAqcm9vdCwgUmVsT3B0SW5mbyAqcmVsLCBJbmRleCBydGksCisJCQkJCQkgIFJhbmdlVGJsRW50 cnkgKnJ0ZSkKK3sKKwlDdXN0b21QYXRoICpjcGF0aDsKKwlDb3N0CQlzdGFydHVwX2Nvc3QgPSAw OworCUNvc3QJCXRvdGFsX2Nvc3QgPSAwOworCUxpc3RDZWxsICAgKmxjOworCisJaWYgKHByZXZf c2V0X3JlbF9wYXRobGlzdF9ob29rKQorCQlwcmV2X3NldF9yZWxfcGF0aGxpc3RfaG9vayhyb290 LCByZWwsIHJ0aSwgcnRlKTsKKworCWlmICghdGVzdF9ibG9vbV9jc19lbmFibGVkKQorCQlyZXR1 cm47CisKKwkvKiBPbmx5IHBsYWluLCBvcmRpbmFyeSBiYXNlIHRhYmxlcy4gKi8KKwlpZiAocmVs LT5yZWxvcHRraW5kICE9IFJFTE9QVF9CQVNFUkVMKQorCQlyZXR1cm47CisJaWYgKHJ0ZS0+cnRl a2luZCAhPSBSVEVfUkVMQVRJT04gfHwgcnRlLT5yZWxraW5kICE9IFJFTEtJTkRfUkVMQVRJT04p CisJCXJldHVybjsKKworCS8qIEJvcnJvdyB0aGUgc2VxdWVudGlhbCBzY2FuJ3MgY29zdCBlc3Rp bWF0ZS4gKi8KKwlmb3JlYWNoKGxjLCByZWwtPnBhdGhsaXN0KQorCXsKKwkJUGF0aAkgICAqcGF0 aCA9IChQYXRoICopIGxmaXJzdChsYyk7CisKKwkJaWYgKHBhdGgtPnBhdGh0eXBlID09IFRfU2Vx U2NhbiAmJiBwYXRoLT5wYXJhbV9pbmZvID09IE5VTEwpCisJCXsKKwkJCXN0YXJ0dXBfY29zdCA9 IHBhdGgtPnN0YXJ0dXBfY29zdDsKKwkJCXRvdGFsX2Nvc3QgPSBwYXRoLT50b3RhbF9jb3N0Owor CQkJYnJlYWs7CisJCX0KKwl9CisKKwljcGF0aCA9IG1ha2VOb2RlKEN1c3RvbVBhdGgpOworCWNw YXRoLT5wYXRoLnBhdGh0eXBlID0gVF9DdXN0b21TY2FuOworCWNwYXRoLT5wYXRoLnBhcmVudCA9 IHJlbDsKKwljcGF0aC0+cGF0aC5wYXRodGFyZ2V0ID0gcmVsLT5yZWx0YXJnZXQ7CisJY3BhdGgt PnBhdGgucGFyYW1faW5mbyA9IE5VTEw7CisJY3BhdGgtPnBhdGgucGFyYWxsZWxfYXdhcmUgPSBm YWxzZTsKKwljcGF0aC0+cGF0aC5wYXJhbGxlbF9zYWZlID0gZmFsc2U7CisJY3BhdGgtPnBhdGgu cGFyYWxsZWxfd29ya2VycyA9IDA7CisJY3BhdGgtPnBhdGgucm93cyA9IHJlbC0+cm93czsKKwlj cGF0aC0+cGF0aC5zdGFydHVwX2Nvc3QgPSBzdGFydHVwX2Nvc3Q7CisJY3BhdGgtPnBhdGgudG90 YWxfY29zdCA9IHRvdGFsX2Nvc3Q7CisJY3BhdGgtPnBhdGgucGF0aGtleXMgPSBOSUw7CisKKwlj cGF0aC0+Y3VzdG9tX3BhdGhzID0gTklMOworCWNwYXRoLT5jdXN0b21fcHJpdmF0ZSA9IE5JTDsK KwljcGF0aC0+bWV0aG9kcyA9ICZibG9vbV9jc19wYXRoX21ldGhvZHM7CisKKwlhZGRfcGF0aChy ZWwsIChQYXRoICopIGNwYXRoKTsKK30KKworc3RhdGljIFBsYW4gKgorYmxvb21fY3NfcGxhbl9j dXN0b21fcGF0aChQbGFubmVySW5mbyAqcm9vdCwgUmVsT3B0SW5mbyAqcmVsLAorCQkJCQkJICBD dXN0b21QYXRoICpiZXN0X3BhdGgsIExpc3QgKnRsaXN0LAorCQkJCQkJICBMaXN0ICpjbGF1c2Vz LCBMaXN0ICpjdXN0b21fcGxhbnMpCit7CisJQ3VzdG9tU2NhbiAqY3NjYW4gPSBtYWtlTm9kZShD dXN0b21TY2FuKTsKKworCWNzY2FuLT5mbGFncyA9IGJlc3RfcGF0aC0+ZmxhZ3M7CisJY3NjYW4t Pm1ldGhvZHMgPSAmYmxvb21fY3Nfc2Nhbl9tZXRob2RzOworCWNzY2FuLT5jdXN0b21fcGxhbnMg PSBjdXN0b21fcGxhbnM7CisKKwkvKiBBIGJhc2UtcmVsYXRpb24gc2NhbjogbGVhdmUgY3VzdG9t X3NjYW5fdGxpc3QgTklMLCB1c2UgcmVsJ3Mgcm93dHlwZS4gKi8KKwljc2Nhbi0+c2Nhbi5zY2Fu cmVsaWQgPSByZWwtPnJlbGlkOworCWNzY2FuLT5zY2FuLnBsYW4udGFyZ2V0bGlzdCA9IHRsaXN0 OworCWNzY2FuLT5zY2FuLnBsYW4ucXVhbCA9IGV4dHJhY3RfYWN0dWFsX2NsYXVzZXMoY2xhdXNl cywgZmFsc2UpOworCisJcmV0dXJuICZjc2Nhbi0+c2Nhbi5wbGFuOworfQorCitzdGF0aWMgTm9k ZSAqCitibG9vbV9jc19jcmVhdGVfc2Nhbl9zdGF0ZShDdXN0b21TY2FuICpjc2NhbikKK3sKKwlC bG9vbUNTU2NhblN0YXRlICpiY3NzID0gKEJsb29tQ1NTY2FuU3RhdGUgKikgbmV3Tm9kZShzaXpl b2YoQmxvb21DU1NjYW5TdGF0ZSksCisJCQkJCQkJCQkJCQkJCSAgVF9DdXN0b21TY2FuU3RhdGUp OworCisJYmNzcy0+Y3NzLm1ldGhvZHMgPSAmYmxvb21fY3NfZXhlY19tZXRob2RzOworCWJjc3Mt PnNjYW5kZXNjID0gTlVMTDsKKwliY3NzLT5pbnNwZWN0ZWQgPSBmYWxzZTsKKworCS8qCisJICog V2Ugc2NhbiBhIGhlYXAgdGFibGUgd2l0aCB0YWJsZV9zY2FuX2dldG5leHRzbG90KCksIHdoaWNo IHN0b3JlcworCSAqIG9uLWRpc2sgaGVhcCB0dXBsZXMsIHNvIHRoZSBzY2FuIHR1cGxlIHNsb3Qg bXVzdCBiZSBhIGJ1ZmZlci1oZWFwIHNsb3QKKwkgKiByYXRoZXIgdGhhbiB0aGUgZGVmYXVsdCB2 aXJ0dWFsIHNsb3QuICBFeGVjSW5pdEN1c3RvbVNjYW4oKSByZWFkcworCSAqIGNzcy5zbG90T3Bz IHdoZW4gYnVpbGRpbmcgc3NfU2NhblR1cGxlU2xvdCAoYmVmb3JlIEJlZ2luQ3VzdG9tU2Nhbgor CSAqIHJ1bnMpLCBzbyBpdCBoYXMgdG8gYmUgc2V0IGhlcmUuCisJICovCisJYmNzcy0+Y3NzLnNs b3RPcHMgPSAmVFRTT3BzQnVmZmVySGVhcFR1cGxlOworCisJcmV0dXJuIChOb2RlICopIGJjc3M7 Cit9CisKK3N0YXRpYyB2b2lkCitibG9vbV9jc19iZWdpbl9zY2FuKEN1c3RvbVNjYW5TdGF0ZSAq bm9kZSwgRVN0YXRlICplc3RhdGUsIGludCBlZmxhZ3MpCit7CisJQmxvb21DU1NjYW5TdGF0ZSAq YmNzcyA9IChCbG9vbUNTU2NhblN0YXRlICopIG5vZGU7CisKKwkvKgorCSAqIEV4ZWNJbml0Q3Vz dG9tU2NhbiBhbHJlYWR5IG9wZW5lZCB0aGUgc2NhbiByZWxhdGlvbiAoc2NhbnJlbGlkID4gMCkg YW5kCisJICogY2FsbGVkIEV4ZWNJbml0Qmxvb21GaWx0ZXJzKCksIHNvIG5vZGUtPnNzLnBzLmJs b29tX2ZpbHRlcnMgaXMgc2V0IHVwLgorCSAqIFdlIGp1c3QgbmVlZCBhIHRhYmxlIHNjYW4gZGVz Y3JpcHRvci4KKwkgKi8KKwlpZiAoIShlZmxhZ3MgJiAoRVhFQ19GTEFHX0VYUExBSU5fT05MWSB8 IEVYRUNfRkxBR19FWFBMQUlOX0dFTkVSSUMpKSkKKwkJYmNzcy0+c2NhbmRlc2MgPSB0YWJsZV9i ZWdpbnNjYW4obm9kZS0+c3Muc3NfY3VycmVudFJlbGF0aW9uLAorCQkJCQkJCQkJCSBlc3RhdGUt PmVzX3NuYXBzaG90LCAwLCBOVUxMLCAwKTsKK30KKworLyoKKyAqIE9uIHRoZSBmaXJzdCB0dXBs ZSAoYnkgd2hpY2ggcG9pbnQgYW4gZWFnZXIgcHJvZHVjZXIgaGFzIGJ1aWx0IGl0cyBoYXNoCisg KiB0YWJsZSBhbmQgZmlsdGVycyksIHJlY29yZCB3aGV0aGVyIHRoZSBwZXIta2V5IGZpbHRlcnMg d2VyZSBwb3B1bGF0ZWQuCisgKi8KK3N0YXRpYyB2b2lkCitibG9vbV9jc19tYXliZV9pbnNwZWN0 X3BlcmtleShCbG9vbUNTU2NhblN0YXRlICogYmNzcykKK3sKKwlMaXN0Q2VsbCAgICpsYzsKKwor CWlmIChiY3NzLT5pbnNwZWN0ZWQpCisJCXJldHVybjsKKworCWZvcmVhY2gobGMsIGJjc3MtPmNz cy5zcy5wcy5ibG9vbV9maWx0ZXJzKQorCXsKKwkJQmxvb21GaWx0ZXJTdGF0ZSAqYmZzID0gKEJs b29tRmlsdGVyU3RhdGUgKikgbGZpcnN0KGxjKTsKKwkJSGFzaEpvaW5TdGF0ZSAqcHJvZHVjZXIg PSBiZnMtPnByb2R1Y2VyOworCQlIYXNoU3RhdGUgICpoYXNoTm9kZTsKKworCQlpZiAocHJvZHVj ZXIgPT0gTlVMTCkKKwkJCWNvbnRpbnVlOworCQloYXNoTm9kZSA9IGNhc3ROb2RlKEhhc2hTdGF0 ZSwgaW5uZXJQbGFuU3RhdGUoJnByb2R1Y2VyLT5qcy5wcykpOworCisJCS8qIEhhc2ggdGFibGUg KGFuZCBmaWx0ZXJzKSBub3QgYnVpbHQgeWV0OyB0cnkgYWdhaW4gbmV4dCB0dXBsZS4gKi8KKwkJ aWYgKGhhc2hOb2RlLT5ibG9vbV9maWx0ZXIgPT0gTlVMTCkKKwkJCXJldHVybjsKKworCX0KKwor CWJjc3MtPmluc3BlY3RlZCA9IHRydWU7Cit9CisKK3N0YXRpYyBUdXBsZVRhYmxlU2xvdCAqCiti bG9vbV9jc19leGVjX3NjYW4oQ3VzdG9tU2NhblN0YXRlICpub2RlKQoreworCUJsb29tQ1NTY2Fu U3RhdGUgKmJjc3MgPSAoQmxvb21DU1NjYW5TdGF0ZSAqKSBub2RlOworCUV4cHJDb250ZXh0ICpl Y29udGV4dCA9IG5vZGUtPnNzLnBzLnBzX0V4cHJDb250ZXh0OworCVR1cGxlVGFibGVTbG90ICpz Y2Fuc2xvdCA9IG5vZGUtPnNzLnNzX1NjYW5UdXBsZVNsb3Q7CisJRXhwclN0YXRlICAqcXVhbCA9 IG5vZGUtPnNzLnBzLnF1YWw7CisJUHJvamVjdGlvbkluZm8gKnByb2ogPSBub2RlLT5zcy5wcy5w c19Qcm9qSW5mbzsKKworCWJsb29tX2NzX21heWJlX2luc3BlY3RfcGVya2V5KGJjc3MpOworCisJ Zm9yICg7OykKKwl7CisJCVJlc2V0RXhwckNvbnRleHQoZWNvbnRleHQpOworCisJCWlmICghdGFi bGVfc2Nhbl9nZXRuZXh0c2xvdChiY3NzLT5zY2FuZGVzYywgRm9yd2FyZFNjYW5EaXJlY3Rpb24s CisJCQkJCQkJCQlzY2Fuc2xvdCkpCisJCXsKKwkJCWlmIChwcm9qKQorCQkJCXJldHVybiBFeGVj Q2xlYXJUdXBsZShwcm9qLT5waV9zdGF0ZS5yZXN1bHRzbG90KTsKKwkJCXJldHVybiBFeGVjQ2xl YXJUdXBsZShzY2Fuc2xvdCk7CisJCX0KKworCQl0ZXN0X2Jsb29tX2NzX3NjYW5uZWQrKzsKKwkJ ZWNvbnRleHQtPmVjeHRfc2NhbnR1cGxlID0gc2NhbnNsb3Q7CisKKwkJLyoKKwkJICogUHJvYmUg dGhlIHB1c2hlZC1kb3duIGNvbWJpbmVkIEJsb29tIGZpbHRlciwganVzdCBhcyBhIHN0b2NrIHNj YW4KKwkJICogd291bGQgaW5zaWRlIEV4ZWNTY2FuRXh0ZW5kZWQuICBBIGNvbmNsdXNpdmUgbWlz cyBsZXRzIHVzIGRyb3AgdGhlCisJCSAqIHR1cGxlIHdpdGhvdXQgZXZhbHVhdGluZyB0aGUgcXVh bCBvciBwcm9qZWN0aW9uLgorCQkgKi8KKwkJaWYgKCFFeGVjQmxvb21GaWx0ZXJzKG5vZGUtPnNz LnBzLmJsb29tX2ZpbHRlcnMsIGVjb250ZXh0KSkKKwkJeworCQkJdGVzdF9ibG9vbV9jc19yZWpl Y3RlZCsrOworCQkJY29udGludWU7CisJCX0KKworCQlpZiAocXVhbCAhPSBOVUxMICYmICFFeGVj UXVhbChxdWFsLCBlY29udGV4dCkpCisJCQljb250aW51ZTsKKworCQlpZiAocHJvaiAhPSBOVUxM KQorCQkJcmV0dXJuIEV4ZWNQcm9qZWN0KHByb2opOworCisJCXJldHVybiBzY2Fuc2xvdDsKKwl9 Cit9CisKK3N0YXRpYyB2b2lkCitibG9vbV9jc19lbmRfc2NhbihDdXN0b21TY2FuU3RhdGUgKm5v ZGUpCit7CisJQmxvb21DU1NjYW5TdGF0ZSAqYmNzcyA9IChCbG9vbUNTU2NhblN0YXRlICopIG5v ZGU7CisKKwlpZiAoYmNzcy0+c2NhbmRlc2MgIT0gTlVMTCkKKwkJdGFibGVfZW5kc2NhbihiY3Nz LT5zY2FuZGVzYyk7Cit9CisKK3N0YXRpYyB2b2lkCitibG9vbV9jc19yZXNjYW4oQ3VzdG9tU2Nh blN0YXRlICpub2RlKQoreworCUJsb29tQ1NTY2FuU3RhdGUgKmJjc3MgPSAoQmxvb21DU1NjYW5T dGF0ZSAqKSBub2RlOworCisJYmNzcy0+aW5zcGVjdGVkID0gZmFsc2U7CisJaWYgKGJjc3MtPnNj YW5kZXNjICE9IE5VTEwpCisJCXRhYmxlX3Jlc2NhbihiY3NzLT5zY2FuZGVzYywgTlVMTCk7Cit9 CisKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogU1FMLWNhbGxhYmxlIG9ic2VydmF0aW9uIGhlbHBl cnMKKyAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCitQR19GVU5DVElPTl9JTkZPX1YxKHRlc3RfYmxv b21fY3NfcmVzZXQpOworUEdfRlVOQ1RJT05fSU5GT19WMSh0ZXN0X2Jsb29tX2NzX3NjYW5uZWRf cm93cyk7CitQR19GVU5DVElPTl9JTkZPX1YxKHRlc3RfYmxvb21fY3NfcmVqZWN0ZWRfcm93cyk7 CitQR19GVU5DVElPTl9JTkZPX1YxKHRlc3RfYmxvb21fY3NfcGVya2V5X2J1aWx0KTsKKworRGF0 dW0KK3Rlc3RfYmxvb21fY3NfcmVzZXQoUEdfRlVOQ1RJT05fQVJHUykKK3sKKwl0ZXN0X2Jsb29t X2NzX3NjYW5uZWQgPSAwOworCXRlc3RfYmxvb21fY3NfcmVqZWN0ZWQgPSAwOworCXRlc3RfYmxv b21fY3NfcGVya2V5X3NlZW4gPSBmYWxzZTsKKwlQR19SRVRVUk5fVk9JRCgpOworfQorCitEYXR1 bQordGVzdF9ibG9vbV9jc19zY2FubmVkX3Jvd3MoUEdfRlVOQ1RJT05fQVJHUykKK3sKKwlQR19S RVRVUk5fSU5UNjQoKGludDY0KSB0ZXN0X2Jsb29tX2NzX3NjYW5uZWQpOworfQorCitEYXR1bQor dGVzdF9ibG9vbV9jc19yZWplY3RlZF9yb3dzKFBHX0ZVTkNUSU9OX0FSR1MpCit7CisJUEdfUkVU VVJOX0lOVDY0KChpbnQ2NCkgdGVzdF9ibG9vbV9jc19yZWplY3RlZCk7Cit9CisKK0RhdHVtCit0 ZXN0X2Jsb29tX2NzX3BlcmtleV9idWlsdChQR19GVU5DVElPTl9BUkdTKQoreworCVBHX1JFVFVS Tl9CT09MKHRlc3RfYmxvb21fY3NfcGVya2V5X3NlZW4pOworfQorCit2b2lkCitfUEdfaW5pdCh2 b2lkKQoreworCURlZmluZUN1c3RvbUJvb2xWYXJpYWJsZSgidGVzdF9ibG9vbV9jdXN0b21zY2Fu LmVuYWJsZSIsCisJCQkJCQkJICJPZmZlciBhIGJsb29tLWZpbHRlci1jYXBhYmxlIEN1c3RvbVNj YW4gZm9yIGhlYXAgdGFibGVzLiIsCisJCQkJCQkJIE5VTEwsCisJCQkJCQkJICZ0ZXN0X2Jsb29t X2NzX2VuYWJsZWQsCisJCQkJCQkJIGZhbHNlLAorCQkJCQkJCSBQR0NfVVNFUlNFVCwKKwkJCQkJ CQkgMCwKKwkJCQkJCQkgTlVMTCwgTlVMTCwgTlVMTCk7CisKKwlNYXJrR1VDUHJlZml4UmVzZXJ2 ZWQoInRlc3RfYmxvb21fY3VzdG9tc2NhbiIpOworCisJUmVnaXN0ZXJDdXN0b21TY2FuTWV0aG9k cygmYmxvb21fY3Nfc2Nhbl9tZXRob2RzKTsKKworCXByZXZfc2V0X3JlbF9wYXRobGlzdF9ob29r ID0gc2V0X3JlbF9wYXRobGlzdF9ob29rOworCXNldF9yZWxfcGF0aGxpc3RfaG9vayA9IGJsb29t X2NzX3NldF9yZWxfcGF0aGxpc3Q7Cit9CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9tb2R1bGVzL3Rl c3RfYmxvb21fY3VzdG9tc2Nhbi90ZXN0X2Jsb29tX2N1c3RvbXNjYW4uY29udHJvbCBiL3NyYy90 ZXN0L21vZHVsZXMvdGVzdF9ibG9vbV9jdXN0b21zY2FuL3Rlc3RfYmxvb21fY3VzdG9tc2Nhbi5j b250cm9sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4xMGY5MDUxMDMw MgotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9ibG9vbV9jdXN0b21z Y2FuL3Rlc3RfYmxvb21fY3VzdG9tc2Nhbi5jb250cm9sCkBAIC0wLDAgKzEsNSBAQAorIyB0ZXN0 X2Jsb29tX2N1c3RvbXNjYW4gZXh0ZW5zaW9uCitjb21tZW50ID0gJ1Rlc3QgQ3VzdG9tU2NhbiBw cm92aWRlciB0aGF0IGNvbnN1bWVzIGEgaGFzaGpvaW4gYmxvb20gZmlsdGVyJworZGVmYXVsdF92 ZXJzaW9uID0gJzEuMCcKK21vZHVsZV9wYXRobmFtZSA9ICckbGliZGlyL3Rlc3RfYmxvb21fY3Vz dG9tc2NhbicKK3JlbG9jYXRhYmxlID0gdHJ1ZQotLSAKMi41MC4xIChBcHBsZSBHaXQtMTU1KQoK --0455746457ab0970430c244854fea2ab8b1d27bc867b14de67f74154839e Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v4-0004-Allow-a-CustomScan-to-consume-a-pushed-down-hashj.patch Content-Type: text/plain; charset=utf-8; name=v4-0004-Allow-a-CustomScan-to-consume-a-pushed-down-hashj.patch RnJvbSA5MDMzMTFmMGMxYTQ5NGY1MzBkZmE3ZGJhOTJlZGFkNTE4ZWI5MzI5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXRoZXVzIEFsY2FudGFyYSA8bXRocy5kZXZAcG0ubWU+CkRh dGU6IFRodSwgMiBKdWwgMjAyNiAxNjoyOToyNiAtMDMwMApTdWJqZWN0OiBbUEFUQ0ggdjQgNC80 XSBBbGxvdyBhIEN1c3RvbVNjYW4gdG8gY29uc3VtZSBhIHB1c2hlZC1kb3duIGhhc2hqb2luCiBC bG9vbSBmaWx0ZXIKCkV4dGVuZCB0aGUgaGFzaGpvaW4gQmxvb20tZmlsdGVyIHB1c2hkb3duIHNv IHRoYXQgYSBiYXNlLXJlbGF0aW9uCkN1c3RvbVNjYW4gY2FuIGJ1aWxkIGZpbHRlci1hd2FyZSBw YXRocywgYmUgY2hvc2VuIGFzIGEgZmlsdGVyCnJlY2lwaWVudCwgYW5kIGNvbnN1bWUgdGhlIGZp bHRlciBpbnNpZGUgaXRzIG93biBzY2FuIGxvb3AgVGhlIHdob2xlCm1lY2hhbmlzbSBpcyBnYXRl ZCBvbiBhIG5ldyBvcHQtaW4gcGF0aCBmbGFnLApDVVNUT01QQVRIX1NVUFBPUlRfQkxPT01fRklM VEVSUzsgcHJvdmlkZXJzIHRoYXQgZG8gbm90IHNldCBpdCwgYW5kCmhlYXAsIGFyZSB1bmFmZmVj dGVkLgoKVGhlIGNvcmUgb2YgdGhpcyBjaGFuZ2UgaXMgdGVhY2hpbmcgcGF0aCBnZW5lcmF0aW9u IGFib3V0IHRoZSBjdXN0b20Kc2NhbjoKCiogZ2VuZXJhdGVfZXhwZWN0ZWRfZmlsdGVyX3BhdGhz KCkvY3JlYXRlX2ZpbHRlcmVkX3NjYW5fcGF0aCgpIG5vdyBjbG9uZQogIGEgYmFzZS1yZWxhdGlv biBDdXN0b21QYXRoIGludG8gZmlsdGVyLWJlYXJpbmcgdmFyaWFudHMgd2hlbiB0aGUgcGF0aAog IGFkdmVydGlzZWQgQ1VTVE9NUEFUSF9TVVBQT1JUX0JMT09NX0ZJTFRFUlMsIGV4YWN0bHkgYXMg dGhleSBhbHJlYWR5IGRvCiAgZm9yIHRoZSBzdG9jayBzY2FuIHBhdGggdHlwZXMuCgoqIGZpbmRf Ymxvb21fZmlsdGVyX3JlY2lwaWVudCgpIHRyZWF0cyBhIGJhc2UtcmVsIEN1c3RvbVNjYW4KICAo c2NhbnJlbGlkID4gMCkgdGhhdCBjYXJyaWVzIHRoZSBmbGFnIHRoZSBzYW1lIGFzIGEgU2VxU2Nh bi4gIFRoZSBwcm9iZQogIGlzIG5vdCB3aXJlZCBpbnRvIEV4ZWNTY2FuRXh0ZW5kZWQoKSAtLSBh IEN1c3RvbVNjYW4gZGlzcGF0Y2hlcyB0byB0aGUKICBwcm92aWRlcidzIEV4ZWNDdXN0b21TY2Fu IC0tIHNvIHRoZSBwcm92aWRlciBjYWxscyBFeGVjQmxvb21GaWx0ZXJzKCkKICBpdHNlbGYgYXQg d2hhdGV2ZXIgZ3JhbnVsYXJpdHkgaXQgc3VwcG9ydHMuICBFeGVjSW5pdEN1c3RvbVNjYW4oKQog IGNvbXBpbGVzIHRoZSBwcm9iZSBzdGF0ZSB1cCBmcm9udCB2aWEgRXhlY0luaXRCbG9vbUZpbHRl cnMoKSwgYW5kCiAgc2V0X2N1c3RvbXNjYW5fcmVmZXJlbmNlcygpIGZpeGVzIHRoZSBwdXNoZWQg a2V5IGV4cHJlc3Npb25zIGZvciBhCiAgYmFzZS1yZWxhdGlvbiBzY2FuIGp1c3QgbGlrZSB0aGUg c2NhbiBxdWFsLgoKSW4gYWRkaXRpb24sIGFuIG9wdGVkLWluIHJlY2lwaWVudCBnZXRzIHR3byB0 aGluZ3MgYSBzdG9jayBzY2FuIGRvZXMKbm90OgoKKiBQZXIta2V5IGZpbHRlcnMuICBBbG9uZ3Np ZGUgdGhlIGNvbWJpbmVkLWhhc2ggZmlsdGVyLCB0aGUgaGFzaCBqb2luCiAgb3B0aW9uYWxseSBi dWlsZHMgb25lIEJsb29tIGZpbHRlciBwZXIgam9pbiBrZXkuCiAgVGhlIGNvbWJpbmVkIGZpbHRl ciwga2V5ZWQgb24gdGhlIGhhc2ggb2YgYWxsIGtleXMgdG9nZXRoZXIsIHN0YXlzIHRoZQogIGRl ZmF1bHQgYW5kIHJlbWFpbnMgdGhlIG1vcmUgc2VsZWN0aXZlIG9uZSBmb3IgYSBwZXItcm93IHBy b2JlOiBwZXIta2V5CiAgZmlsdGVycyBvbmx5IHRlc3Qgd2hldGhlciBlYWNoIGNvbHVtbidzIHZh bHVlIGFwcGVhcnMgc29tZXdoZXJlIGluIHRoZQogIGJ1aWxkIHNpZGUsIHNvIG9uIGEgbXVsdGkt Y29sdW1uIGpvaW4gdGhleSBhcmUgc3RyaWN0bHkgd2Vha2VyLiAgV2hhdAogIHRoZXkgZW5hYmxl IGlzIHRlc3RpbmcgYSBzaW5nbGUga2V5IGNvbHVtbiBvbiBpdHMgb3duIChhIGNvbHVtbiBzdG9y ZQogIGNhbiBjaGVjayBvbmUgY29sdW1uIGFnYWluc3QgaXRzIHBlci1jb2x1bW4gZGljdGlvbmFy eSBvciB6b25lIG1hcCBhbmQKICBza2lwIHdob2xlIHJvdyBncm91cHMgYmVmb3JlIGRlY29tcHJl c3Npb24sIHdoaWNoIHRoZSBjb21iaW5lZCBmaWx0ZXIKICBjYW5ub3Qgc3VwcG9ydCkuIFRoZSBi dWlsZCByZXVzZXMgcGVyLWtleSBpbm5lciBoYXNoIEV4cHJTdGF0ZXM7IHRoZQogIGV4dHJhIENQ VSBhbmQgbWVtb3J5IGFyZSBwYWlkIG9ubHkgYnkgYSBjb25zdW1lciB0aGF0IG9wdGVkIGluLCBh bmQgYQogIHJlY2lwaWVudCBjb3JyZWxhdGVzIEhhc2hTdGF0ZS5wZXJrZXlfZmlsdGVyc1tpXSB3 aXRoCiAgQmxvb21GaWx0ZXIuZmlsdGVyX2V4cHJzW2ldIGJ5IHBvc2l0aW9uLiAgSGVhcCBhbmQg c2luZ2xlLWtleSBqb2lucyBhcmUKICB1bmFmZmVjdGVkLgoKKiBFYWdlciBmaWx0ZXIgYnVpbGQu ICBXaGVuIHRoZSBvdXRlciByZWxhdGlvbidzIHN0YXJ0dXAgY29zdCBpcyBiZWxvdwogIHRoZSBo YXNoLXRhYmxlIGJ1aWxkIGNvc3QsIEV4ZWNIYXNoSm9pbkltcGwgZmV0Y2hlcyB0aGUgZmlyc3Qg b3V0ZXIKICB0dXBsZSBiZWZvcmUgYnVpbGRpbmcgdGhlIGhhc2ggdGFibGUgdG8gdGFrZSB0aGUg ZW1wdHktb3V0ZXIgc2hvcnRjdXQuCiAgRm9yIGEgQ3VzdG9tU2NhbiB0aGF0IGFwcGxpZXMgdGhl IGZpbHRlciBpbiBpdHMgb3duIHNjYW4gbG9vcCB0aGF0IGlzCiAgdG9vIGxhdGUgLS0gaXRzIGZp cnN0IHR1cGxlIHJlcXVlc3QgbWF5IGRlY29tcHJlc3MgYSB3aG9sZSByb3cgZ3JvdXAKICBiZWZv cmUgdGhlIGZpbHRlciBleGlzdHMuICBBIEhhc2hKb2luLmJsb29tX2VhZ2VyIGZsYWcsIHNldCB3 aGVuIHRoZQogIGZpbHRlciBpcyBwdXNoZWQgdG8gc3VjaCBhIHJlY2lwaWVudCwgdGVsbHMgdGhl IGV4ZWN1dG9yIHRvIHNraXAgdGhlCiAgcHJlZmV0Y2ggYW5kIGJ1aWxkIHRoZSBoYXNoIHRhYmxl IChhbmQgZmlsdGVyKSBmaXJzdC4gIE9ubHkgc3VjaCBhCiAgcmVjaXBpZW50IHBheXMgdGhlIGNv c3Qgb2YgYSBwb3NzaWJseS1uZWVkbGVzcyBoYXNoIGJ1aWxkIG9uIGFuIGVtcHR5CiAgb3V0ZXIu CgpCYXNlZCBvbiBwcmV2aW91cyBwYXRjaGVzIGZyb20gQW5kcmV3IER1bnN0YW4sIGFkYXB0ZWQg dG8gdGhlIHBhdGgtYmFzZWQKcHVzaGRvd24gZGVzaWduLgotLS0KIHNyYy9iYWNrZW5kL2V4ZWN1 dG9yL25vZGVDdXN0b20uYyAgICAgICAgICAgICB8IDExICsrKysrCiBzcmMvYmFja2VuZC9leGVj dXRvci9ub2RlSGFzaC5jICAgICAgICAgICAgICAgfCAzNSArKysrKysrKysrKysrKysKIHNyYy9i YWNrZW5kL2V4ZWN1dG9yL25vZGVIYXNoam9pbi5jICAgICAgICAgICB8IDM2ICsrKysrKysrKysr KysrKwogc3JjL2JhY2tlbmQvb3B0aW1pemVyL3BhdGgvYWxscGF0aHMuYyAgICAgICAgIHwgMTQg KysrKysrCiBzcmMvYmFja2VuZC9vcHRpbWl6ZXIvcGxhbi9jcmVhdGVwbGFuLmMgICAgICAgfCA0 NSArKysrKysrKysrKysrKysrKysrCiBzcmMvYmFja2VuZC9vcHRpbWl6ZXIvcGxhbi9zZXRyZWZz LmMgICAgICAgICAgfCAxMCArKysrKwogc3JjL2JhY2tlbmQvb3B0aW1pemVyL3V0aWwvcGF0aG5v ZGUuYyAgICAgICAgIHwgMjMgKysrKysrKy0tLQogc3JjL2luY2x1ZGUvbm9kZXMvZXhlY25vZGVz LmggICAgICAgICAgICAgICAgIHwgMTQgKysrKysrCiBzcmMvaW5jbHVkZS9ub2Rlcy9leHRlbnNp YmxlLmggICAgICAgICAgICAgICAgfCAgMiArCiBzcmMvaW5jbHVkZS9ub2Rlcy9wbGFubm9kZXMu aCAgICAgICAgICAgICAgICAgfCAyMSArKysrKysrKysKIC4uLi9leHBlY3RlZC90ZXN0X2Jsb29t X2N1c3RvbXNjYW4ub3V0ICAgICAgICB8ICA5ICsrLS0KIC4uLi90ZXN0X2Jsb29tX2N1c3RvbXNj YW4uYyAgICAgICAgICAgICAgICAgICB8ICA1ICsrKwogMTIgZmlsZXMgY2hhbmdlZCwgMjE1IGlu c2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2V4 ZWN1dG9yL25vZGVDdXN0b20uYyBiL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL25vZGVDdXN0b20uYwpp bmRleCBiN2NjODkwY2QyMC4uYzE4ZGNiMTAzNWQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2V4 ZWN1dG9yL25vZGVDdXN0b20uYworKysgYi9zcmMvYmFja2VuZC9leGVjdXRvci9ub2RlQ3VzdG9t LmMKQEAgLTEwMSw2ICsxMDEsMTcgQEAgRXhlY0luaXRDdXN0b21TY2FuKEN1c3RvbVNjYW4gKmNz Y2FuLCBFU3RhdGUgKmVzdGF0ZSwgaW50IGVmbGFncykKIAljc3MtPnNzLnBzLnF1YWwgPQogCQlF eGVjSW5pdFF1YWwoY3NjYW4tPnNjYW4ucGxhbi5xdWFsLCAoUGxhblN0YXRlICopIGNzcyk7CiAK KwkvKgorCSAqIFNldCB1cCBhbnkgYmxvb20gZmlsdGVycyBhIGhhc2ggam9pbiBwdXNoZWQgZG93 biB0byB0aGlzIHNjYW4gKHNlZQorCSAqIG5vZGVIYXNoam9pbi5jKS4gIFRoaXMgY29tcGlsZXMg dGhlIHByb2JlIGV4cHJlc3Npb25zIGFnYWluc3QgdGhlIHNjYW4KKwkgKiB0dXBsZSBzbG90OyB0 aGUgcHJvdmlkZXIgaXMgcmVzcG9uc2libGUgZm9yIGFjdHVhbGx5IHByb2JpbmcgdGhlbSB3aXRo CisJICogRXhlY0Jsb29tRmlsdGVycygpIGZyb20gaXRzIEV4ZWNDdXN0b21TY2FuIGNhbGxiYWNr LCBhdCB3aGF0ZXZlcgorCSAqIGdyYW51bGFyaXR5IGl0IHN1cHBvcnRzLiAgQSBuby1vcCB1bmxl c3MgdGhlIHByb3ZpZGVyIGFkdmVydGlzZWQKKwkgKiBDVVNUT01QQVRIX1NVUFBPUlRfQkxPT01f RklMVEVSUyBhbmQgdGhlIHBsYW5uZXIgZm91bmQgYSBmaWx0ZXIgdG8KKwkgKiBwdXNoLgorCSAq LworCUV4ZWNJbml0Qmxvb21GaWx0ZXJzKChQbGFuU3RhdGUgKikgY3NzLCBjc3MtPnNzLnNzX1Nj YW5UdXBsZVNsb3QpOworCiAJLyoKIAkgKiBUaGUgY2FsbGJhY2sgb2YgY3VzdG9tLXNjYW4gcHJv dmlkZXIgYXBwbGllcyB0aGUgZmluYWwgaW5pdGlhbGl6YXRpb24KIAkgKiBvZiB0aGUgY3VzdG9t LXNjYW4tc3RhdGUgbm9kZSBhY2NvcmRpbmcgdG8gaXRzIGxvZ2ljLgpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvZXhlY3V0b3Ivbm9kZUhhc2guYyBiL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL25vZGVI YXNoLmMKaW5kZXggMzcyMjQzMjRiY2UuLjJiMDQ1ZWFlMTg2IDEwMDY0NAotLS0gYS9zcmMvYmFj a2VuZC9leGVjdXRvci9ub2RlSGFzaC5jCisrKyBiL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL25vZGVI YXNoLmMKQEAgLTE5Nyw2ICsxOTcsMjUgQEAgTXVsdGlFeGVjUHJpdmF0ZUhhc2goSGFzaFN0YXRl ICpub2RlKQogCQkJCQkJCQkgICh1bnNpZ25lZCBjaGFyICopICZoYXNodmFsdWUsCiAJCQkJCQkJ CSAgc2l6ZW9mKGhhc2h2YWx1ZSkpOwogCisJCQkvKgorCQkJICogTGlrZXdpc2UgZm9yIHRoZSBv cHRpb25hbCBwZXIta2V5IGZpbHRlcnMsIHVzaW5nIHRoZSBwZXIta2V5CisJCQkgKiAoc2luZ2xl LWtleSkgaGFzaCBFeHByU3RhdGVzLiAgU2FtZSBlY29udGV4dCBhcyB0aGUgY29tYmluZWQKKwkJ CSAqIGhhc2ggYWJvdmUgKGVjeHRfb3V0ZXJ0dXBsZSBpcyB0aGUganVzdC1mZXRjaGVkIGlubmVy IHR1cGxlKS4KKwkJCSAqLworCQkJZm9yIChpbnQgayA9IDA7IGsgPCBub2RlLT5wZXJrZXlfbmZp bHRlcnM7IGsrKykKKwkJCXsKKwkJCQlib29sCQlrZXlpc251bGw7CisJCQkJdWludDMyCQlrZXlo YXNoOworCisJCQkJa2V5aGFzaCA9IERhdHVtR2V0VUludDMyKEV4ZWNFdmFsRXhwclN3aXRjaENv bnRleHQobm9kZS0+cGVya2V5X2hhc2hba10sCisJCQkJCQkJCQkJCQkJCQkJICAgZWNvbnRleHQs CisJCQkJCQkJCQkJCQkJCQkJICAgJmtleWlzbnVsbCkpOworCQkJCWlmICgha2V5aXNudWxsKQor CQkJCQlibG9vbV9hZGRfZWxlbWVudChub2RlLT5wZXJrZXlfZmlsdGVyc1trXSwKKwkJCQkJCQkJ CSAgKHVuc2lnbmVkIGNoYXIgKikgJmtleWhhc2gsCisJCQkJCQkJCQkgIHNpemVvZihrZXloYXNo KSk7CisJCQl9CisKIAkJCWJ1Y2tldE51bWJlciA9IEV4ZWNIYXNoR2V0U2tld0J1Y2tldChoYXNo dGFibGUsIGhhc2h2YWx1ZSk7CiAJCQlpZiAoYnVja2V0TnVtYmVyICE9IElOVkFMSURfU0tFV19C VUNLRVRfTk8pCiAJCQl7CkBAIC03MjIsNiArNzQxLDIyIEBAIEV4ZWNIYXNoVGFibGVDcmVhdGUo SGFzaFN0YXRlICpzdGF0ZSkKIAkJb2xkY3R4ID0gTWVtb3J5Q29udGV4dFN3aXRjaFRvKGhhc2h0 YWJsZS0+aGFzaEN4dCk7CiAJCXN0YXRlLT5ibG9vbV9maWx0ZXIgPSBibG9vbV9jcmVhdGUoKGlu dDY0KSBNYXgocm93cywgMS4wKSwKIAkJCQkJCQkJCQkgICBibG9vbV93b3JrX21lbSwgMCk7CisK KwkJLyoKKwkJICogSWYgYSByZWNpcGllbnQgb3B0ZWQgaW4sIGFsc28gYnVpbGQgb25lIGZpbHRl ciBwZXIgam9pbiBrZXkgKGluCisJCSAqIGFkZGl0aW9uIHRvIHRoZSBjb21iaW5lZCBvbmUgYWJv dmUpLiAgVGhlc2UgbGV0IGEgcmVjaXBpZW50IHRlc3QgYW4KKwkJICogaW5kaXZpZHVhbCBrZXkg Y29sdW1uIG9uIGl0cyBvd247IHRoZXkgYXJlIGxlc3Mgc2VsZWN0aXZlIHRoYW4gdGhlCisJCSAq IGNvbWJpbmVkIGZpbHRlciwgc28gdGhleSBhcmUgYnVpbHQgb25seSBvbiBkZW1hbmQuCisJCSAq LworCQlpZiAoc3RhdGUtPndhbnRfcGVya2V5X2Jsb29tKQorCQl7CisJCQlzdGF0ZS0+cGVya2V5 X2ZpbHRlcnMgPSBwYWxsb2NfYXJyYXkoc3RydWN0IGJsb29tX2ZpbHRlciAqLAorCQkJCQkJCQkJ CQkJIHN0YXRlLT5wZXJrZXlfbmZpbHRlcnMpOworCQkJZm9yIChpbnQgaSA9IDA7IGkgPCBzdGF0 ZS0+cGVya2V5X25maWx0ZXJzOyBpKyspCisJCQkJc3RhdGUtPnBlcmtleV9maWx0ZXJzW2ldID0g Ymxvb21fY3JlYXRlKChpbnQ2NCkgTWF4KHJvd3MsIDEuMCksCisJCQkJCQkJCQkJCQkJCWJsb29t X3dvcmtfbWVtLCAwKTsKKwkJfQorCiAJCU1lbW9yeUNvbnRleHRTd2l0Y2hUbyhvbGRjdHgpOwog CX0KIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvZXhlY3V0b3Ivbm9kZUhhc2hqb2luLmMgYi9z cmMvYmFja2VuZC9leGVjdXRvci9ub2RlSGFzaGpvaW4uYwppbmRleCBlMzQ2N2YxNDczOS4uYzUw MWI5ODA2N2QgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL25vZGVIYXNoam9pbi5j CisrKyBiL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL25vZGVIYXNoam9pbi5jCkBAIC0zMTcsNiArMzE3 LDE3IEBAIEV4ZWNIYXNoSm9pbkltcGwoUGxhblN0YXRlICpwc3RhdGUsIGJvb2wgcGFyYWxsZWwp CiAJCQkJCSAqLwogCQkJCQlub2RlLT5oal9GaXJzdE91dGVyVHVwbGVTbG90ID0gTlVMTDsKIAkJ CQl9CisJCQkJZWxzZSBpZiAoKChIYXNoSm9pbiAqKSBub2RlLT5qcy5wcy5wbGFuKS0+Ymxvb21f ZWFnZXIpCisJCQkJeworCQkJCQkvKgorCQkJCQkgKiBXZSBwdXNoZWQgYSBibG9vbSBmaWx0ZXIg dG8gYSBDdXN0b21TY2FuIG9uIHRoZSBvdXRlcgorCQkJCQkgKiBzaWRlIHRoYXQgd2FudHMgaXQg YXQgc2NhbiBzdGFydCAoZS5nLiB0byBza2lwIHJvdyBncm91cHMKKwkJCQkJICogYmVmb3JlIGRl Y29tcHJlc3Npb24pLiAgU2tpcCB0aGUgZW1wdHktb3V0ZXIgcHJlZmV0Y2ggYW5kCisJCQkJCSAq IGJ1aWxkIHRoZSBoYXNoIHRhYmxlIC0tIGFuZCB0aGUgZmlsdGVyIC0tIGZpcnN0LCBzbyBpdCBp cworCQkJCQkgKiByZWFkeSBiZWZvcmUgdGhlIG91dGVyIHNjYW4gcHJvZHVjZXMgaXRzIGZpcnN0 IHR1cGxlLgorCQkJCQkgKi8KKwkJCQkJbm9kZS0+aGpfRmlyc3RPdXRlclR1cGxlU2xvdCA9IE5V TEw7CisJCQkJfQogCQkJCWVsc2UgaWYgKEhKX0ZJTExfT1VURVIobm9kZSkgfHwKIAkJCQkJCSAo b3V0ZXJOb2RlLT5wbGFuLT5zdGFydHVwX2Nvc3QgPCBoYXNoTm9kZS0+cHMucGxhbi0+dG90YWxf Y29zdCAmJgogCQkJCQkJICAhbm9kZS0+aGpfT3V0ZXJOb3RFbXB0eSkpCkBAIC05MDgsNiArOTE5 LDcgQEAgRXhlY0luaXRIYXNoSm9pbihIYXNoSm9pbiAqbm9kZSwgRVN0YXRlICplc3RhdGUsIGlu dCBlZmxhZ3MpCiAJaGFzaFN0YXRlID0gY2FzdE5vZGUoSGFzaFN0YXRlLCBpbm5lclBsYW5TdGF0 ZShoanN0YXRlKSk7CiAJaGFzaFN0YXRlLT53YW50X2Jsb29tX2ZpbHRlciA9IChub2RlLT5ibG9v bV9jb25zdW1lcl9jb3VudCA+IDApOwogCWhhc2hTdGF0ZS0+Ymxvb21fZmlsdGVyX2lkID0gbm9k ZS0+Ymxvb21fZmlsdGVyX2lkOworCWhhc2hTdGF0ZS0+d2FudF9wZXJrZXlfYmxvb20gPSBub2Rl LT5ibG9vbV9wZXJrZXk7CiAKIAkvKgogCSAqIEluaXRpYWxpemUgcmVzdWx0IHNsb3QsIHR5cGUg YW5kIHByb2plY3Rpb24uCkBAIC0xMDMxLDYgKzEwNDMsMjggQEAgRXhlY0luaXRIYXNoSm9pbihI YXNoSm9pbiAqbm9kZSwgRVN0YXRlICplc3RhdGUsIGludCBlZmxhZ3MpCiAJCQkJCQkJCSZoYXNo c3RhdGUtPnBzLAogCQkJCQkJCQkwKTsKIAorCQkvKgorCQkgKiBJZiBhIHJlY2lwaWVudCBvcHRl ZCBpbiB0byBwZXIta2V5IGJsb29tIGZpbHRlcnMsIGJ1aWxkIG9uZSBpbm5lcgorCQkgKiAoc2lu Z2xlLWtleSkgaGFzaCBFeHByU3RhdGUgcGVyIGpvaW4ga2V5LCB1c2VkIGJ5IHRoZSBIYXNoIG5v ZGUgdG8KKwkJICogcG9wdWxhdGUgdGhlIHBlci1rZXkgZmlsdGVycy4gIFRoZSBjb21iaW5lZCBo YXNoIGFib3ZlIGNhbm5vdCBiZQorCQkgKiBkZWNvbXBvc2VkLCBzbyB0aGlzIGlzIHRoZSBleHRy YSBjb3N0IGEgcGVyLWtleSBjb25zdW1lciBwYXlzLgorCQkgKi8KKwkJaWYgKGhhc2hzdGF0ZS0+ d2FudF9wZXJrZXlfYmxvb20pCisJCXsKKwkJCWhhc2hzdGF0ZS0+cGVya2V5X25maWx0ZXJzID0g bmtleXM7CisJCQloYXNoc3RhdGUtPnBlcmtleV9oYXNoID0gcGFsbG9jX2FycmF5KEV4cHJTdGF0 ZSAqLCBua2V5cyk7CisJCQlmb3IgKGludCBpID0gMDsgaSA8IG5rZXlzOyBpKyspCisJCQkJaGFz aHN0YXRlLT5wZXJrZXlfaGFzaFtpXSA9CisJCQkJCUV4ZWNCdWlsZEhhc2gzMkV4cHIoaGFzaHN0 YXRlLT5wcy5wc19SZXN1bHRUdXBsZURlc2MsCisJCQkJCQkJCQkJaGFzaHN0YXRlLT5wcy5yZXN1 bHRvcHMsCisJCQkJCQkJCQkJJmlubmVyX2hhc2hmdW5jaWRbaV0sCisJCQkJCQkJCQkJbGlzdF9t YWtlMV9vaWQobGlzdF9udGhfb2lkKG5vZGUtPmhhc2hjb2xsYXRpb25zLCBpKSksCisJCQkJCQkJ CQkJbGlzdF9tYWtlMShsaXN0X250aChoYXNoLT5oYXNoa2V5cywgaSkpLAorCQkJCQkJCQkJCSZo YXNoX3N0cmljdFtpXSwKKwkJCQkJCQkJCQkmaGFzaHN0YXRlLT5wcywKKwkJCQkJCQkJCQkwKTsK KwkJfQorCiAJCS8qIFJlbWVtYmVyIHdoZXRoZXIgd2UgbmVlZCB0byBzYXZlIHR1cGxlcyB3aXRo IG51bGwgam9pbiBrZXlzICovCiAJCWhqc3RhdGUtPmhqX0tlZXBOdWxsVHVwbGVzID0gSEpfRklM TF9PVVRFUihoanN0YXRlKTsKIAkJaGFzaHN0YXRlLT5rZWVwX251bGxfdHVwbGVzID0gSEpfRklM TF9JTk5FUihoanN0YXRlKTsKQEAgLTExMTgsNiArMTE1Miw3IEBAIEV4ZWNFbmRIYXNoSm9pbihI YXNoSm9pblN0YXRlICpub2RlKQogCQlFeGVjSGFzaFRhYmxlRGVzdHJveShub2RlLT5oal9IYXNo VGFibGUpOwogCQlub2RlLT5oal9IYXNoVGFibGUgPSBOVUxMOwogCQloYXNoTm9kZS0+Ymxvb21f ZmlsdGVyID0gTlVMTDsKKwkJaGFzaE5vZGUtPnBlcmtleV9maWx0ZXJzID0gTlVMTDsKIAl9CiAK IAkvKgpAQCAtMTc3NSw2ICsxODEwLDcgQEAgRXhlY1JlU2Nhbkhhc2hKb2luKEhhc2hKb2luU3Rh dGUgKm5vZGUpCiAJCQkgKiBmcmVlZCBieSB0aGUgRXhlY0hhc2hUYWJsZURlc3Ryb3kgY2FsbC4K IAkJCSAqLwogCQkJaGFzaE5vZGUtPmJsb29tX2ZpbHRlciA9IE5VTEw7CisJCQloYXNoTm9kZS0+ cGVya2V5X2ZpbHRlcnMgPSBOVUxMOwogCiAJCQkvKgogCQkJICogaWYgY2hnUGFyYW0gb2Ygc3Vi bm9kZSBpcyBub3QgbnVsbCB0aGVuIHBsYW4gd2lsbCBiZSByZS1zY2FubmVkCmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC9vcHRpbWl6ZXIvcGF0aC9hbGxwYXRocy5jIGIvc3JjL2JhY2tlbmQvb3B0 aW1pemVyL3BhdGgvYWxscGF0aHMuYwppbmRleCA4ODI5YzdjMzEwOC4uNzJjNTE0MjIzOTQgMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL29wdGltaXplci9wYXRoL2FsbHBhdGhzLmMKKysrIGIvc3Jj L2JhY2tlbmQvb3B0aW1pemVyL3BhdGgvYWxscGF0aHMuYwpAQCAtMjUsNiArMjUsNyBAQAogI2lu Y2x1ZGUgImNhdGFsb2cvcGdfcHJvYy5oIgogI2luY2x1ZGUgImZvcmVpZ24vZmR3YXBpLmgiCiAj aW5jbHVkZSAibWlzY2FkbWluLmgiCisjaW5jbHVkZSAibm9kZXMvZXh0ZW5zaWJsZS5oIgogI2lu Y2x1ZGUgIm5vZGVzL21ha2VmdW5jcy5oIgogI2luY2x1ZGUgIm5vZGVzL25vZGVGdW5jcy5oIgog I2luY2x1ZGUgIm5vZGVzL3N1cHBvcnRub2Rlcy5oIgpAQCAtMTI5NCw2ICsxMjk1LDE5IEBAIGdl bmVyYXRlX2V4cGVjdGVkX2ZpbHRlcl9wYXRocyhQbGFubmVySW5mbyAqcm9vdCwgUmVsT3B0SW5m byAqcmVsKQogCQkJY2FzZSBUX1RpZFJhbmdlUGF0aDoKIAkJCQliYXNlcGF0aHMgPSBsYXBwZW5k KGJhc2VwYXRocywgcGF0aCk7CiAJCQkJYnJlYWs7CisJCQljYXNlIFRfQ3VzdG9tUGF0aDoKKwor CQkJCS8qCisJCQkJICogQSBiYXNlLXJlbGF0aW9uIEN1c3RvbVNjYW4gY2FuIHJlY2VpdmUgYSBw dXNoZWQtZG93biBmaWx0ZXIsCisJCQkJICogYnV0IG9ubHkgaWYgdGhlIHByb3ZpZGVyIGFkdmVy dGlzZWQgdGhhdCBpdCBrbm93cyBob3cgdG8KKwkJCQkgKiBjb25zdW1lIG9uZSAoaXQgcHJvYmVz IHRoZSBmaWx0ZXIgaXRzZWxmIGluc2lkZSBpdHMgc2NhbgorCQkJCSAqIGxvb3A7IHNlZSBmaW5k X2Jsb29tX2ZpbHRlcl9yZWNpcGllbnQgaW4gY3JlYXRlcGxhbi5jIGFuZAorCQkJCSAqIEV4ZWNJ bml0Q3VzdG9tU2NhbikuICBQcm92aWRlcnMgdGhhdCBkb24ndCBvcHQgaW4sIGxpa2UgaGVhcCwK KwkJCQkgKiBhcmUgdW5hZmZlY3RlZC4KKwkJCQkgKi8KKwkJCQlpZiAoKChDdXN0b21QYXRoICop IHBhdGgpLT5mbGFncyAmIENVU1RPTVBBVEhfU1VQUE9SVF9CTE9PTV9GSUxURVJTKQorCQkJCQli YXNlcGF0aHMgPSBsYXBwZW5kKGJhc2VwYXRocywgcGF0aCk7CisJCQkJYnJlYWs7CiAJCQlkZWZh dWx0OgogCQkJCWJyZWFrOwogCQl9CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9vcHRpbWl6ZXIv cGxhbi9jcmVhdGVwbGFuLmMgYi9zcmMvYmFja2VuZC9vcHRpbWl6ZXIvcGxhbi9jcmVhdGVwbGFu LmMKaW5kZXggNTE5OTBiOTg0MTkuLmI5ZTQ4MWJhMjk4IDEwMDY0NAotLS0gYS9zcmMvYmFja2Vu ZC9vcHRpbWl6ZXIvcGxhbi9jcmVhdGVwbGFuLmMKKysrIGIvc3JjL2JhY2tlbmQvb3B0aW1pemVy L3BsYW4vY3JlYXRlcGxhbi5jCkBAIC00NzgxLDYgKzQ3ODEsMjUgQEAgZmluZF9ibG9vbV9maWx0 ZXJfcmVjaXBpZW50KFBsYW4gKnBsYW4sIEluZGV4IHRhcmdldF9yZWxpZCkKIAkJCQkJcmV0dXJu IHBsYW47CiAJCQkJcmV0dXJuIE5VTEw7CiAJCQl9CisJCWNhc2UgVF9DdXN0b21TY2FuOgorCQkJ eworCQkJCS8qCisJCQkJICogQSBDdXN0b21TY2FuIG9uIGEgYmFzZSByZWxhdGlvbiBjYW4gYWN0 IGFzIGEgcmVjaXBpZW50LCBidXQKKwkJCQkgKiBvbmx5IGlmIHRoZSBwcm92aWRlciBhZHZlcnRp c2VkIHRoYXQgaXQga25vd3MgaG93IHRvIGNvbnN1bWUKKwkJCQkgKiBhIHB1c2hlZC1kb3duIGJs b29tIGZpbHRlci4gIFVubGlrZSB0aGUgc3RvY2sgc2NhbnMsIHRoZQorCQkJCSAqIHByb2JlIGlz IG5vdCBwZXJmb3JtZWQgYnkgRXhlY1NjYW5FeHRlbmRlZCgpIChhIEN1c3RvbVNjYW4KKwkJCQkg KiBkaXNwYXRjaGVzIHRvIHRoZSBwcm92aWRlcidzIG93biBFeGVjQ3VzdG9tU2Nhbik7IHRoZQor CQkJCSAqIHByb3ZpZGVyIGlzIHJlc3BvbnNpYmxlIGZvciBjYWxsaW5nIEV4ZWNCbG9vbUZpbHRl cnMoKSBhdAorCQkJCSAqIHdoYXRldmVyIGdyYW51bGFyaXR5IGl0IGxpa2VzLiAgTm9uLWxlYWYg Y3VzdG9tIG5vZGVzIGhhdmUKKwkJCQkgKiBzY2FucmVsaWQgPT0gMCBhbmQgc28gYXJlIHJlamVj dGVkIGJ5IHRoZSByZWxpZCB0ZXN0LgorCQkJCSAqLworCQkJCUN1c3RvbVNjYW4gKmNzY2FuID0g KEN1c3RvbVNjYW4gKikgcGxhbjsKKworCQkJCWlmICgoY3NjYW4tPmZsYWdzICYgQ1VTVE9NUEFU SF9TVVBQT1JUX0JMT09NX0ZJTFRFUlMpICYmCisJCQkJCWNzY2FuLT5zY2FuLnNjYW5yZWxpZCA9 PSB0YXJnZXRfcmVsaWQpCisJCQkJCXJldHVybiBwbGFuOworCQkJCXJldHVybiBOVUxMOworCQkJ fQogCQljYXNlIFRfU29ydDoKIAkJY2FzZSBUX0luY3JlbWVudGFsU29ydDoKIAkJY2FzZSBUX01h dGVyaWFsOgpAQCAtNDkxMCw2ICs0OTI5LDMyIEBAIHRyeV9wdXNoX2Jsb29tX2ZpbHRlcihQbGFu bmVySW5mbyAqcm9vdCwgSGFzaEpvaW4gKmhqLCBQbGFuICpvdXRlcl9wbGFuLAogCiAJcmVjaXBp ZW50LT5ibG9vbV9maWx0ZXJzID0gbGFwcGVuZChyZWNpcGllbnQtPmJsb29tX2ZpbHRlcnMsIGJm KTsKIAorCS8qCisJICogQSBDdXN0b21TY2FuIHJlY2lwaWVudCB0aGF0IG9wdGVkIGluIGNvbnN1 bWVzIHRoZSBmaWx0ZXIgaW4gaXRzIG93biBzY2FuCisJICogbG9vcCwgcG9zc2libHkgYXQgdGhl IHN0b3JhZ2UgbGV2ZWwsIHNvIGl0IHdhbnRzIHR3byB0aGluZ3MgYSBzdG9jayBzY2FuCisJICog ZG9lcyBub3QuCisJICovCisJaWYgKElzQShyZWNpcGllbnQsIEN1c3RvbVNjYW4pICYmCisJCSgo KEN1c3RvbVNjYW4gKikgcmVjaXBpZW50KS0+ZmxhZ3MgJiBDVVNUT01QQVRIX1NVUFBPUlRfQkxP T01fRklMVEVSUykpCisJeworCQkvKgorCQkgKiBCdWlsZCB0aGUgaGFzaCB0YWJsZSAoYW5kIGZp bHRlcikgYmVmb3JlIHRoZSBvdXRlciBzY2FuIHN0YXJ0cywgc28KKwkJICogdGhlIGZpbHRlciBp cyBhdmFpbGFibGUgb24gdGhlIGZpcnN0IHR1cGxlIHJlcXVlc3QgcmF0aGVyIHRoYW4gYWZ0ZXIK KwkJICogYSBiYXRjaCBoYXMgYWxyZWFkeSBiZWVuIHNjYW5uZWQgdW5maWx0ZXJlZC4KKwkJICov CisJCWhqLT5ibG9vbV9lYWdlciA9IHRydWU7CisKKwkJLyoKKwkJICogQWxzbyBidWlsZCBhIHNl cGFyYXRlIGZpbHRlciBwZXIgam9pbiBrZXksIHNvIHRoZSByZWNpcGllbnQgY2FuIHRlc3QKKwkJ ICogYSBzaW5nbGUgY29sdW1uIG9uIGl0cyBvd24gKGUuZy4gYWdhaW5zdCBhIHBlci1jb2x1bW4g ZGljdGlvbmFyeSBvcgorCQkgKiB6b25lIG1hcCkuICBUaGUgY29tYmluZWQgZmlsdGVyIGlzIGFs d2F5cyBidWlsdCBhbmQgaXMgdGhlIG1vcmUKKwkJICogc2VsZWN0aXZlIG9uZSBmb3IgYSBwZXIt cm93IHByb2JlOyB0aGVyZSBpcyBub3RoaW5nIHRvIGdhaW4gZm9yIGEKKwkJICogc2luZ2xlLWtl eSBqb2luLCB3aGVyZSB0aGUgdHdvIGNvaW5jaWRlLgorCQkgKi8KKwkJaWYgKGxpc3RfbGVuZ3Ro KGhqLT5oYXNoa2V5cykgPiAxKQorCQkJaGotPmJsb29tX3BlcmtleSA9IHRydWU7CisJfQorCiAJ aGotPmJsb29tX2NvbnN1bWVyX2NvdW50Kys7CiB9CiAKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5k L29wdGltaXplci9wbGFuL3NldHJlZnMuYyBiL3NyYy9iYWNrZW5kL29wdGltaXplci9wbGFuL3Nl dHJlZnMuYwppbmRleCAwMDU5YWNmY2NiZS4uNzRjN2E1YmYzYTUgMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL29wdGltaXplci9wbGFuL3NldHJlZnMuYworKysgYi9zcmMvYmFja2VuZC9vcHRpbWl6 ZXIvcGxhbi9zZXRyZWZzLmMKQEAgLTE4MjYsNiArMTgyNiwxNiBAQCBzZXRfY3VzdG9tc2Nhbl9y ZWZlcmVuY2VzKFBsYW5uZXJJbmZvICpyb290LAogCQljc2Nhbi0+Y3VzdG9tX2V4cHJzID0KIAkJ CWZpeF9zY2FuX2xpc3Qocm9vdCwgY3NjYW4tPmN1c3RvbV9leHBycywKIAkJCQkJCSAgcnRvZmZz ZXQsIE5VTV9FWEVDX1FVQUwoKFBsYW4gKikgY3NjYW4pKTsKKworCQkvKgorCQkgKiBCbG9vbSBm aWx0ZXJzIHB1c2hlZCBkb3duIHRvIGEgYmFzZS1yZWxhdGlvbiBDdXN0b21TY2FuOiB0aGUga2V5 CisJCSAqIGV4cHJlc3Npb25zIGFyZSBwbGFpbiBWYXJzIG9mIHRoZSBzY2FubmVkIHJlbGF0aW9u LCBzbyB0aGV5IGFyZQorCQkgKiBmaXhlZCB1cCB0aGUgc2FtZSB3YXkgYXMgdGhlIHNjYW4gcXVh bC4gIChBIEN1c3RvbVNjYW4gZW1pdHRpbmcgYQorCQkgKiBjdXN0b21fc2Nhbl90bGlzdCB0YWtl cyB0aGUgYnJhbmNoIGFib3ZlIGFuZCB3b3VsZCBpbnN0ZWFkIG5lZWQKKwkJICogZml4X3VwcGVy X2V4cHIgYWdhaW5zdCB0aGUgdGxpc3QgaW5kZXgsIGxpa2UgSW5kZXhPbmx5U2Nhbjsgbm8KKwkJ ICogaW4tdHJlZSBwcm92aWRlciBuZWVkcyB0aGF0IHlldC4pCisJCSAqLworCQlmaXhfc2Nhbl9i bG9vbV9maWx0ZXJzKHJvb3QsIChQbGFuICopIGNzY2FuLCBydG9mZnNldCk7CiAJfQogCiAJLyog QWRqdXN0IGNoaWxkIHBsYW4tbm9kZXMgcmVjdXJzaXZlbHksIGlmIG5lZWRlZCAqLwpkaWZmIC0t Z2l0IGEvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3V0aWwvcGF0aG5vZGUuYyBiL3NyYy9iYWNrZW5k L29wdGltaXplci91dGlsL3BhdGhub2RlLmMKaW5kZXggOWNkOTE4OGExY2YuLjY1NjkwNTUzY2Y1 IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9vcHRpbWl6ZXIvdXRpbC9wYXRobm9kZS5jCisrKyBi L3NyYy9iYWNrZW5kL29wdGltaXplci91dGlsL3BhdGhub2RlLmMKQEAgLTUwMSw2ICs1MDEsMTcg QEAgY3JlYXRlX2ZpbHRlcmVkX3NjYW5fcGF0aChQbGFubmVySW5mbyAqcm9vdCwgUGF0aCAqc3Vi cGF0aCwgTGlzdCAqZmlsdGVycykKIAkJY2FzZSBUX1RpZFJhbmdlUGF0aDoKIAkJCXN6ID0gc2l6 ZW9mKFRpZFJhbmdlUGF0aCk7CiAJCQlicmVhazsKKwkJY2FzZSBUX0N1c3RvbVBhdGg6CisKKwkJ CS8qCisJCQkgKiBBIGJhc2UtcmVsYXRpb24gQ3VzdG9tU2NhbiBwcm92aWRlciB0aGF0IGFkdmVy dGlzZWQKKwkJCSAqIENVU1RPTVBBVEhfU1VQUE9SVF9CTE9PTV9GSUxURVJTIGNhbiByZWNlaXZl IGEgcHVzaGVkLWRvd24KKwkJCSAqIGZpbHRlciBhbmQgYXBwbHkgaXQgaW4gaXRzIG93biBzY2Fu IGxvb3AKKwkJCSAqIC5nZW5lcmF0ZV9leHBlY3RlZF9maWx0ZXJfcGF0aHMoKSBvbmx5IG9mZmVy cyBzdWNoIHBhdGhzIGhlcmUsCisJCQkgKiBzbyB3ZSBuZWVkIG5vdCByZS1jaGVjayB0aGUgZmxh Zy4KKwkJCSAqLworCQkJc3ogPSBzaXplb2YoQ3VzdG9tUGF0aCk7CisJCQlicmVhazsKIAkJZGVm YXVsdDoKIAkJCS8qIHVuc3VwcG9ydGVkIHNjYW4gcGF0aCB0eXBlICovCiAJCQlyZXR1cm4gTlVM TDsKQEAgLTYyMCwxMCArNjMxLDEwIEBAIGFkZF9wYXRoKFJlbE9wdEluZm8gKnBhcmVudF9yZWws IFBhdGggKm5ld19wYXRoKQogCiAJCS8qCiAJCSAqIFBhdGhzIGNhcnJ5aW5nIGRpZmZlcmVudCBz ZXRzIG9mIGV4cGVjdGVkIEJsb29tIGZpbHRlcnMgc2VydmUKLQkJICogZGlmZmVyZW50IHB1cnBv c2VzIChlYWNoIG1heSBiZSBjb25zdW1lZCBieSBhIGRpZmZlcmVudCBwYXJlbnQgam9pbiwKLQkJ ICogb3Igbm9uZSBhdCBhbGwpLCBhbmQgdGhlaXIgY29zdC9yb3cgZXN0aW1hdGVzIGFyZW4ndCBk aXJlY3RseQotCQkgKiBjb21wYXJhYmxlLiAgU28gaWYgdGhlIHR3byBwYXRocyBkb24ndCBleHBl Y3QgdGhlIHNhbWUgZmlsdGVycywga2VlcAotCQkgKiBib3RoIGFuZCBkb24ndCBsZXQgZWl0aGVy IGRvbWluYXRlIHRoZSBvdGhlci4KKwkJICogZGlmZmVyZW50IHB1cnBvc2VzIChlYWNoIG1heSBi ZSBjb25zdW1lZCBieSBhIGRpZmZlcmVudCBwYXJlbnQKKwkJICogam9pbiwgb3Igbm9uZSBhdCBh bGwpLCBhbmQgdGhlaXIgY29zdC9yb3cgZXN0aW1hdGVzIGFyZW4ndCBkaXJlY3RseQorCQkgKiBj b21wYXJhYmxlLiAgU28gaWYgdGhlIHR3byBwYXRocyBkb24ndCBleHBlY3QgdGhlIHNhbWUgZmls dGVycywKKwkJICoga2VlcCBib3RoIGFuZCBkb24ndCBsZXQgZWl0aGVyIGRvbWluYXRlIHRoZSBv dGhlci4KIAkJICovCiAJCWlmICghZXhwZWN0ZWRfZmlsdGVyc19lcXVhbChuZXdfcGF0aC0+ZXhw ZWN0ZWRfZmlsdGVycywKIAkJCQkJCQkJCW9sZF9wYXRoLT5leHBlY3RlZF9maWx0ZXJzKSkKQEAg LTg1NCw4ICs4NjUsOCBAQCBhZGRfcGF0aF9wcmVjaGVjayhSZWxPcHRJbmZvICpwYXJlbnRfcmVs LCBpbnQgZGlzYWJsZWRfbm9kZXMsCiAJCSAqIGZpbHRlcnMgb2YgdGhlaXIgb3duLCBzbyBhbnkg ZmlsdGVyLWJlYXJpbmcgb2xkIHBhdGggaXMgYQogCQkgKiBub24tY29tcGFyYWJsZSBzcGVjdWxh dGl2ZSBwYXRoIGFuZCBtdXN0IG5vdCBiZSBhbGxvd2VkIHRvIGRvbWluYXRlCiAJCSAqIChhbmQg dGhlcmVieSBzdXBwcmVzcykgdGhlIG5ldyBwYXRoLiAgU2tpcHBpbmcgdGhlbSBoZXJlIGFsc28K LQkJICogZ3VhcmFudGVlcyB0aGF0IGEgam9pbiByZWxhdGlvbiBhbHdheXMgcmV0YWlucyBhdCBs ZWFzdCBvbmUgb3JkaW5hcnksCi0JCSAqIGZpbHRlci1mcmVlIHBhdGggdG8gc2VydmUgYXMgY2hl YXBlc3RfdG90YWxfcGF0aC4KKwkJICogZ3VhcmFudGVlcyB0aGF0IGEgam9pbiByZWxhdGlvbiBh bHdheXMgcmV0YWlucyBhdCBsZWFzdCBvbmUKKwkJICogb3JkaW5hcnksIGZpbHRlci1mcmVlIHBh dGggdG8gc2VydmUgYXMgY2hlYXBlc3RfdG90YWxfcGF0aC4KIAkJICovCiAJCWlmIChvbGRfcGF0 aC0+ZXhwZWN0ZWRfZmlsdGVycyAhPSBOSUwpCiAJCQljb250aW51ZTsKZGlmZiAtLWdpdCBhL3Ny Yy9pbmNsdWRlL25vZGVzL2V4ZWNub2Rlcy5oIGIvc3JjL2luY2x1ZGUvbm9kZXMvZXhlY25vZGVz LmgKaW5kZXggYWFkNzIxZjM0MjEuLjg3M2MwMmZiMDgwIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVk ZS9ub2Rlcy9leGVjbm9kZXMuaAorKysgYi9zcmMvaW5jbHVkZS9ub2Rlcy9leGVjbm9kZXMuaApA QCAtMjc4Niw2ICsyNzg2LDIwIEBAIHR5cGVkZWYgc3RydWN0IEhhc2hTdGF0ZQogCSAqLwogCXN0 cnVjdCBibG9vbV9maWx0ZXIgKmJsb29tX2ZpbHRlcjsKIAorCS8qCisJICogT3B0aW9uYWwgcGVy LWtleSBibG9vbSBmaWx0ZXJzLCBidWlsdCBpbiBhZGRpdGlvbiB0byB0aGUgY29tYmluZWQKKwkg KiBibG9vbV9maWx0ZXIgYWJvdmUgd2hlbiBhIHJlY2lwaWVudCBvcHRlZCBpbiAoSGFzaEpvaW4u Ymxvb21fcGVya2V5KS4KKwkgKiBwZXJrZXlfZmlsdGVycyBoYXMgcGVya2V5X25maWx0ZXJzIGVu dHJpZXMsIG9uZSBwZXIgam9pbiBrZXksIGluIGhhc2hrZXkKKwkgKiBvcmRlcjsgYSByZWNpcGll bnQgY29ycmVsYXRlcyB0aGVtIHdpdGggQmxvb21GaWx0ZXIuZmlsdGVyX2V4cHJzIGJ5CisJICog cG9zaXRpb24uICBwZXJrZXlfaGFzaCBob2xkcyB0aGUgbWF0Y2hpbmcgcGVyLWtleSAoc2luZ2xl LWtleSkgaGFzaAorCSAqIEV4cHJTdGF0ZXMgdXNlZCB0byBwb3B1bGF0ZSB0aGVtIGR1cmluZyB0 aGUgYnVpbGQuICBBbGwgbGl2ZSBpbiBoYXNoQ3h0CisJICogYW5kIGZvbGxvdyB0aGUgc2FtZSBs aWZlY3ljbGUgYXMgYmxvb21fZmlsdGVyLgorCSAqLworCWJvb2wJCXdhbnRfcGVya2V5X2Jsb29t OworCWludAkJCXBlcmtleV9uZmlsdGVyczsKKwlzdHJ1Y3QgYmxvb21fZmlsdGVyICoqcGVya2V5 X2ZpbHRlcnM7CisJRXhwclN0YXRlICoqcGVya2V5X2hhc2g7CisKIAkvKgogCSAqIENvdW50ZXJz IHdpdGggdG90YWwgcGVyLWZpbHRlciBpbnN0cnVtZW50YXRpb24uIFNlcGFyYXRlIGZyb20gdGhl CiAJICogcGVyLXJlY2lwaWVudCBjb3VudGVycyBpbiBCbG9vbUZpbHRlclN0YXRlLiBSZWR1bmRh bnQsIGJ1dCB3aWxsIGJlCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9ub2Rlcy9leHRlbnNpYmxl LmggYi9zcmMvaW5jbHVkZS9ub2Rlcy9leHRlbnNpYmxlLmgKaW5kZXggNTE3ZGI5NWM0YTMuLmVh MmNlZjRmZTNiIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9ub2Rlcy9leHRlbnNpYmxlLmgKKysr IGIvc3JjL2luY2x1ZGUvbm9kZXMvZXh0ZW5zaWJsZS5oCkBAIC04NCw2ICs4NCw4IEBAIGV4dGVy biBjb25zdCBFeHRlbnNpYmxlTm9kZU1ldGhvZHMgKkdldEV4dGVuc2libGVOb2RlTWV0aG9kcyhj b25zdCBjaGFyICpleHRub2RlCiAjZGVmaW5lIENVU1RPTVBBVEhfU1VQUE9SVF9CQUNLV0FSRF9T Q0FOCTB4MDAwMQogI2RlZmluZSBDVVNUT01QQVRIX1NVUFBPUlRfTUFSS19SRVNUT1JFCQkweDAw MDIKICNkZWZpbmUgQ1VTVE9NUEFUSF9TVVBQT1JUX1BST0pFQ1RJT04JCTB4MDAwNAorLyogcHJv dmlkZXIgY2FuIGFjY2VwdCBhIGhhc2hqb2luIGJsb29tIGZpbHRlciBwdXNoZWQgZG93biB0byBp dHMgc2NhbiAqLworI2RlZmluZSBDVVNUT01QQVRIX1NVUFBPUlRfQkxPT01fRklMVEVSUwkweDAw MDgKIAogLyoKICAqIEN1c3RvbSBwYXRoIG1ldGhvZHMuICBNb3N0bHksIHdlIGp1c3QgbmVlZCB0 byBrbm93IGhvdyB0byBjb252ZXJ0IGEKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL25vZGVzL3Bs YW5ub2Rlcy5oIGIvc3JjL2luY2x1ZGUvbm9kZXMvcGxhbm5vZGVzLmgKaW5kZXggNGUzNWQ3N2Nj NDkuLjBlMDExZjNkNGUyIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9ub2Rlcy9wbGFubm9kZXMu aAorKysgYi9zcmMvaW5jbHVkZS9ub2Rlcy9wbGFubm9kZXMuaApAQCAtMTEyNCw2ICsxMTI0LDI3 IEBAIHR5cGVkZWYgc3RydWN0IEhhc2hKb2luCiAJICogWmVybyB3aGVuIHRoaXMgSGFzaEpvaW4g aGFzIG5vIGNvbnN1bWVycy4KIAkgKi8KIAlpbnQJCQlibG9vbV9maWx0ZXJfaWQ7CisKKwkvKgor CSAqIFdoZXRoZXIgdG8gYWxzbyBidWlsZCBvbmUgYmxvb20gZmlsdGVyIHBlciBqb2luIGtleSAo aW4gYWRkaXRpb24gdG8gdGhlCisJICogY29tYmluZWQtaGFzaCBmaWx0ZXIpLCBzbyB0aGF0IGEg cmVjaXBpZW50IGNhbiB0ZXN0IGFuIGluZGl2aWR1YWwga2V5CisJICogY29sdW1uIG9uIGl0cyBv d24gLS0gZS5nLiBhIGNvbHVtbiBzdG9yZSBwcm9iaW5nIGEgcGVyLWNvbHVtbiBkaWN0aW9uYXJ5 CisJICogb3Igem9uZSBtYXAuICBTZXQgYXQgcGxhbiB0aW1lIG9ubHkgd2hlbiB0aGUgcmVjaXBp ZW50IGlzIGEgQ3VzdG9tU2NhbgorCSAqIHRoYXQgYWR2ZXJ0aXNlZCBDVVNUT01QQVRIX1NVUFBP UlRfQkxPT01fRklMVEVSUy4gIFRoZSBjb21iaW5lZCBmaWx0ZXIgaXMKKwkgKiBhbHdheXMgYnVp bHQgYW5kIHJlbWFpbnMgdGhlIG1vcmUgc2VsZWN0aXZlIG9uZTsgcGVyLWtleSBmaWx0ZXJzIGFy ZSBhbgorCSAqIG9wdC1pbiBleHRyYSB0aGF0IG5vYm9keSBlbHNlIHBheXMgZm9yLgorCSAqLwor CWJvb2wJCWJsb29tX3BlcmtleTsKKworCS8qCisJICogV2hldGhlciB0byBidWlsZCB0aGUgaGFz aCB0YWJsZSAoYW5kIGJsb29tIGZpbHRlcikgYmVmb3JlIGZldGNoaW5nIHRoZQorCSAqIGZpcnN0 IG91dGVyIHR1cGxlLCBza2lwcGluZyB0aGUgZW1wdHktb3V0ZXIgcHJlZmV0Y2ggb3B0aW1pemF0 aW9uLiAgU2V0CisJICogYXQgcGxhbiB0aW1lIHdoZW4gdGhlIGZpbHRlciBpcyBwdXNoZWQgdG8g YSBDdXN0b21TY2FuIHJlY2lwaWVudCwgd2hpY2gKKwkgKiBtYXkgd2FudCB0byBhcHBseSB0aGUg ZmlsdGVyIHRoZSBtb21lbnQgaXRzIHNjYW4gc3RhcnRzIChlLmcuIGEgY29sdW1uCisJICogc3Rv cmUgc2tpcHBpbmcgcm93IGdyb3VwcyBiZWZvcmUgZGVjb21wcmVzc2lvbikgcmF0aGVyIHRoYW4g YWZ0ZXIgaGF2aW5nCisJICogYWxyZWFkeSBwcm9kdWNlZCBhIGJhdGNoIHVuZmlsdGVyZWQuICBT ZWUgRXhlY0hhc2hKb2luSW1wbC4KKwkgKi8KKwlib29sCQlibG9vbV9lYWdlcjsKIH0gSGFzaEpv aW47CiAKIC8qIC0tLS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL3NyYy90ZXN0L21vZHVsZXMv dGVzdF9ibG9vbV9jdXN0b21zY2FuL2V4cGVjdGVkL3Rlc3RfYmxvb21fY3VzdG9tc2Nhbi5vdXQg Yi9zcmMvdGVzdC9tb2R1bGVzL3Rlc3RfYmxvb21fY3VzdG9tc2Nhbi9leHBlY3RlZC90ZXN0X2Js b29tX2N1c3RvbXNjYW4ub3V0CmluZGV4IGUxY2U1OTAzYTAyLi44ZTc4NDIwOTkwMSAxMDA2NDQK LS0tIGEvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2Jsb29tX2N1c3RvbXNjYW4vZXhwZWN0ZWQvdGVz dF9ibG9vbV9jdXN0b21zY2FuLm91dAorKysgYi9zcmMvdGVzdC9tb2R1bGVzL3Rlc3RfYmxvb21f Y3VzdG9tc2Nhbi9leHBlY3RlZC90ZXN0X2Jsb29tX2N1c3RvbXNjYW4ub3V0CkBAIC0zMyw5ICsz MywxMCBAQCBTRUxFQ1QgY291bnQoKikgRlJPTSBjc19mYWN0IGYgSk9JTiBjc19kaW0gZCBPTiBm LmEgPSBkLmlkOwogICAgICAgICAgICAgICAgT3V0cHV0OiBmLmEKICAgICAgICAgIC0+ICBIYXNo CiAgICAgICAgICAgICAgICBPdXRwdXQ6IGQuaWQKKyAgICAgICAgICAgICAgIEJsb29tIEZpbHRl ciAxCiAgICAgICAgICAgICAgICAtPiAgQ3VzdG9tIFNjYW4gKFRlc3RCbG9vbUN1c3RvbVNjYW4p IG9uIHB1YmxpYy5jc19kaW0gZAogICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiBkLmlkCi0o MTAgcm93cykKKygxMSByb3dzKQogCiAtLSBTaW5nbGUta2V5IGpvaW46IHRoZSBmaWx0ZXIgbXVz dCBhY3R1YWxseSByZWplY3QgZmFjdCByb3dzLgogU0VMRUNUIHRlc3RfYmxvb21fY3NfcmVzZXQo KTsKQEAgLTUzLDcgKzU0LDcgQEAgU0VMRUNUIGNvdW50KCopIEZST00gY3NfZmFjdCBmIEpPSU4g Y3NfZGltIGQgT04gZi5hID0gZC5pZDsKIFNFTEVDVCB0ZXN0X2Jsb29tX2NzX3JlamVjdGVkX3Jv d3MoKSA+IDAgQVMgZmlsdGVyX3JlamVjdGVkX3Jvd3M7CiAgZmlsdGVyX3JlamVjdGVkX3Jvd3Mg CiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gZgorIHQKICgxIHJvdykKIAogLS0gQ29ycmVjdG5l c3M6IHRoZSByZXN1bHQgbXVzdCBiZSBpZGVudGljYWwgd2l0aCBhbmQgd2l0aG91dCB0aGUgZmls dGVyLgpAQCAtOTcsMTMgKzk4LDEzIEBAIFNFTEVDVCBjb3VudCgqKSBGUk9NIGNzX2ZhY3QgZiBK T0lOIGNzX2RpbSBkIE9OIGYuYSA9IGQuaWQgQU5EIGYuYiA9IGQuaWQyOwogU0VMRUNUIHRlc3Rf Ymxvb21fY3NfcGVya2V5X2J1aWx0KCkgQVMgcGVya2V5X2ZpbHRlcnNfYnVpbHQ7CiAgcGVya2V5 X2ZpbHRlcnNfYnVpbHQgCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gZgorIHQKICgxIHJvdykK IAogU0VMRUNUIHRlc3RfYmxvb21fY3NfcmVqZWN0ZWRfcm93cygpID4gMCBBUyBmaWx0ZXJfcmVq ZWN0ZWRfcm93czsKICBmaWx0ZXJfcmVqZWN0ZWRfcm93cyAKIC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KLSBmCisgdAogKDEgcm93KQogCiAtLSBjbGVhbnVwCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9t b2R1bGVzL3Rlc3RfYmxvb21fY3VzdG9tc2Nhbi90ZXN0X2Jsb29tX2N1c3RvbXNjYW4uYyBiL3Ny Yy90ZXN0L21vZHVsZXMvdGVzdF9ibG9vbV9jdXN0b21zY2FuL3Rlc3RfYmxvb21fY3VzdG9tc2Nh bi5jCmluZGV4IDEyNGNiZWY5ZGVkLi45OTMzOGM3ZDM2MSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3Qv bW9kdWxlcy90ZXN0X2Jsb29tX2N1c3RvbXNjYW4vdGVzdF9ibG9vbV9jdXN0b21zY2FuLmMKKysr IGIvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2Jsb29tX2N1c3RvbXNjYW4vdGVzdF9ibG9vbV9jdXN0 b21zY2FuLmMKQEAgLTE0NSw2ICsxNDUsNyBAQCBibG9vbV9jc19zZXRfcmVsX3BhdGhsaXN0KFBs YW5uZXJJbmZvICpyb290LCBSZWxPcHRJbmZvICpyZWwsIEluZGV4IHJ0aSwKIAljcGF0aC0+cGF0 aC50b3RhbF9jb3N0ID0gdG90YWxfY29zdDsKIAljcGF0aC0+cGF0aC5wYXRoa2V5cyA9IE5JTDsK IAorCWNwYXRoLT5mbGFncyA9IENVU1RPTVBBVEhfU1VQUE9SVF9CTE9PTV9GSUxURVJTOwogCWNw YXRoLT5jdXN0b21fcGF0aHMgPSBOSUw7CiAJY3BhdGgtPmN1c3RvbV9wcml2YXRlID0gTklMOwog CWNwYXRoLT5tZXRob2RzID0gJmJsb29tX2NzX3BhdGhfbWV0aG9kczsKQEAgLTIzNCw2ICsyMzUs MTAgQEAgYmxvb21fY3NfbWF5YmVfaW5zcGVjdF9wZXJrZXkoQmxvb21DU1NjYW5TdGF0ZSAqIGJj c3MpCiAJCWlmIChoYXNoTm9kZS0+Ymxvb21fZmlsdGVyID09IE5VTEwpCiAJCQlyZXR1cm47CiAK KwkJaWYgKGhhc2hOb2RlLT53YW50X3BlcmtleV9ibG9vbSAmJgorCQkJaGFzaE5vZGUtPnBlcmtl eV9uZmlsdGVycyA+IDAgJiYKKwkJCWhhc2hOb2RlLT5wZXJrZXlfZmlsdGVycyAhPSBOVUxMKQor CQkJdGVzdF9ibG9vbV9jc19wZXJrZXlfc2VlbiA9IHRydWU7CiAJfQogCiAJYmNzcy0+aW5zcGVj dGVkID0gdHJ1ZTsKLS0gCjIuNTAuMSAoQXBwbGUgR2l0LTE1NSkKCg== --0455746457ab0970430c244854fea2ab8b1d27bc867b14de67f74154839e--