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 1vinVT-00Fler-2e for pgsql-hackers@arkaria.postgresql.org; Thu, 22 Jan 2026 05:45:24 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vinVR-00B7ID-2n for pgsql-hackers@arkaria.postgresql.org; Thu, 22 Jan 2026 05:45:22 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vinVR-00B7I5-1E for pgsql-hackers@lists.postgresql.org; Thu, 22 Jan 2026 05:45:21 +0000 Received: from mail-lf1-x132.google.com ([2a00:1450:4864:20::132]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vinVP-001qjM-0J for pgsql-hackers@lists.postgresql.org; Thu, 22 Jan 2026 05:45:21 +0000 Received: by mail-lf1-x132.google.com with SMTP id 2adb3069b0e04-59b672f8ec4so588323e87.1 for ; Wed, 21 Jan 2026 21:45:18 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1769060718; cv=none; d=google.com; s=arc-20240605; b=Z8YyC8ljjQ7D7u8xC8lcgRNZyRIkbPYt+4Lo6Kk6s0/XuqltJrThaOcvKPyVwPYq6f ryjxJVE06BpSnE5Bp4/luAPiZTWf1JDCPqFur6/21humlXNzho26ZUdb8N6v31P3Lqp8 Y0m4Xo69y+3DmXZ7/d1xNRqeC2x3yoDe5KQpRrVlsn7vs3AdcaY1/S3glMBLDd0dIDD+ oECLCcK9DUkGCaauAac7OnWsm+Xw/dGGQedE/io7dbIwACj0uIhCwLQSi7r9niX+3lOv YLlR6S6rJLg5ix6sYGu/iSundY9pUTcUm7bRD4qunK2vP/dC7UkmOG754LxAhpqmhP0d k6oQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=Zv4nd23ERSw31XM2pVi43MUTQLGqy1yXOOtE5funT68=; fh=16Bl0Bi12mUQUaEW7xS2cGGxJsDqHmVoPf7zOVKgPUo=; b=K8l/jhzAXWYyIARmJclGhfYwUh351Rl7yDNrXHzCxs+EgkM6IfHFQDmySuxyeqkP6v 5sICbYxs+XWBz+Tr6O48OtEpD4GVZA7zpxbsgBp1rafvhI+RBW0xYfJQr6Sy5AX8aGth /dXDtlnsD0dHhORdrZUt9I+UWUrxTyVT7o4z/5S/w3yyX4ubNuCXcnjliJb0ymGV8cpE RNISYUCooTkTFxMSBSVLs1gI6FtVDva7gaGkMc9+T5ULu8tMNKU+6e5EtTmyRC4J5BpY mXFUDCTmtB9wpBOQefYZWkVNf4pF7Qteb3HNMu5rAwnKpAXCz7l4nczThwo/NKHhTELZ Ar/A==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1769060718; x=1769665518; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=Zv4nd23ERSw31XM2pVi43MUTQLGqy1yXOOtE5funT68=; b=TeKZqOGGdmk9I+H6jmq3FzrXB0q7Ey1kVGIfIVTnx+GUZghkiFFnzkOd4TusIjBXr3 i8MheC3RwHep26myj0tdSCwtu2zu/wKJH44F04YWL2Xf1yvWy9nEmOjOF17XD9KRRyLo hudCtycoLnojepW7HiFbFXeMzSGK9Q0ngyFJOvgNOTchQmqkIOAuLxmPJDt7t60pEMSm m/V9hFdpUtcuGQyhu5ztcQJM1MGN7msMsjm8WavqMBfdX81dPtr3d0Dnkk+8PQyMUNHc O5a6mHcB9HO3i6sBXNizsH3y02frhxOlUb+uqdBM/v1gD+5W6c1aaIZ37IIL4oXICUM6 ULZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769060718; x=1769665518; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Zv4nd23ERSw31XM2pVi43MUTQLGqy1yXOOtE5funT68=; b=Xr7Anx8K+J0B2lt70YBP5vGAbFPLgcOpuZxyCFQH01Ed0KBgjbFAI5VFOggEPTAfGa 6Z3YiyFOO6/IlfxrKn3IH8abOk0h0Wbqaq0+i+Wv2VX7h2z/FhgnXQJ4Obc+rt74bouH omC9AkMZk1L9CCw4mD1f2rFze8kBdBtWiak8VGtvgumtz+ADxSpaJodamg/J9KpGDWEr sxd+0Xv+H1ZkjFA4y51qcPDbfqhk2MIH1PrHtZ2nhsVFTT+1ks8pdd3LOp1ZOSHyXSGT SApwpooh7su9lrcM1BbEJAwUiXcO7nqrORFeHYYDmNyvqUCDZVlnCohtlnuypKDkTDuQ mvRA== X-Forwarded-Encrypted: i=1; AJvYcCWdvPoKlqBtAKK+ejTXYgcR9rgZaS73uOba6rRjepVpHId44yHtQu4bKhHNzz4MFaF5AWnsSvTCeiaqaj4G@lists.postgresql.org X-Gm-Message-State: AOJu0YwWcozUuEKoOSAfEKpHX8gGvh8UN1bOUy+pOsbZqogXcsN1BpGh Eo7Qq2gSzzxQnUlUrJAWRBXu7e+cRW7W2lgIr8ciSdw1OP0lG0QXcrXpdg52ZRPr7BUjK7RqBw1 I7pUS2NQL1BFlOmn+syKnIhG/EFXjO5g= X-Gm-Gg: AZuq6aJ3eIRqThhr38wAE3jfDhhXVVCloAi0pnEw3WAKkLxfwDIxURBejInFCaH0Phl 2GlisvqVr152L4XlwrYqu0vouVc5bBRgoVUiOHQ45cdAPEcNfRjRBXdMsPzF/3XiBEPLnihoCKf /F0CTi5x0aN3axFU2sERpp/DVzEmKjIv3XmT49+kIm4fYPSOgmcPBToSIhNL2StyJlhN50GqKGw 9GqydR9W61wzRorgvbtVxBhj211VU1p2E14UuPw/jO2NEVWWZ7GxntY4lbiKLbDol7/dGm0 X-Received: by 2002:a05:6512:3ba8:b0:59b:7c28:e347 with SMTP id 2adb3069b0e04-59dc9366584mr2997721e87.49.1769060717344; Wed, 21 Jan 2026 21:45:17 -0800 (PST) MIME-Version: 1.0 References: <6eff5e43-cacd-4a2a-ad1d-e3b313c86050@uni-muenster.de> <950BB7B5-0180-4C36-82A0-7E17B920F740@gmail.com> In-Reply-To: <950BB7B5-0180-4C36-82A0-7E17B920F740@gmail.com> From: Chao Li Date: Thu, 22 Jan 2026 13:45:05 +0800 X-Gm-Features: AZwV_Qg5T8f6Tw7eQuSSXu-F2sBdMOJNzpedXFidHAzFRjpxnAb1LA07TouWcg8 Message-ID: Subject: Re: ALTER TABLE: warn when actions do not recurse to partitions To: Jim Jones Cc: "David G. Johnston" , Greg Sabino Mullane , Postgres hackers Content-Type: multipart/mixed; boundary="000000000000a4d0870648f38bce" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000a4d0870648f38bce Content-Type: multipart/alternative; boundary="000000000000a4d0850648f38bcc" --000000000000a4d0850648f38bcc Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Jan 14, 2026, at 08:52, Chao Li wrote: On Jan 13, 2026, at 19:16, Jim Jones wrote: Hi Chao On 13/01/2026 05:02, Chao Li wrote: PSA v3: * Rephrased the notice message as David's suggestion. * Removed partition count from notice message. * If a partitioned table doesn't have any partition, then suppress the message. I've been playing with this patch, and it seems to work as expected - I'm surprised it didn't break any existing tests :). Do you plan to extend this patch to other subcommands mentioned in your initial post, such as SET STATISTICS? Thanks for the patch Best, Jim Hi Jim, Thanks for your testing. Yes, I plan to add the notice to other sub-commands as needed. I only updated REPLICA IDENTITY first to call for feedback. As you see, David has suggested the great wording for the notice message. Once the change on REPLICA IDENTITY is reviewed, it=E2=80=99s easy= to extend to other sub-commands. PFA v4. I=E2=80=99ve extended the NOTICE to cover all sub-commands for which ONLY h= as no effect and where actions on a partitioned table do not propagate to its partitions: - ALTER COLUMN SET/RESET attribute_option - ALTER COLUMN SET COMPRESSION - ENABLE/DISABLE RULE - ENABLE/DISABLE/FORCE/NO FORCE ROW LEVEL SECURITY - REPLICA IDENTITY - OWNER TO - SET TABLESPACE - SET SCHEMA RENAME is intentionally excluded. Using ONLY (or not) has no effect for RENAME, since relation names are independent by nature and there is no expectation of recursion. OF / NOT OF are also excluded. Using ONLY has no effect for these commands, as they apply only to the partitioned table itself and not to its partitions. One thing worth noting: following David=E2=80=99s suggestion, I removed the= action name from the NOTICE message in v2. However, I later realized that we do need to include the action name, because an ALTER TABLE command may contain multiple sub-commands, and the NOTICE would otherwise be ambiguous. In v4, I reuse alter_table_type_to_string() to construct the action name, consistent with what ATSimplePermissions() does. The NOTICE message itself also follows the same style as messages emitted by ATSimplePermissions(). For example, when an ALTER TABLE contains multiple sub-commands, the output now looks like: ``` evantest=3D# alter table p_test replica identity full, alter column usernam= e set (n_distinct =3D 0.1); NOTICE: ALTER action REPLICA IDENTITY on relation "p_test" does not affect present partitions HINT: partitions may be modified individually, or specify ONLY to suppress this message NOTICE: ALTER action ALTER COLUMN ... SET on relation "p_test" does not affect present partitions HINT: partitions may be modified individually, or specify ONLY to suppress this message ALTER TABLE ``` Regression tests have been updated, and a few new tests have been added. v4 should now be ready for review. Best regards, -- Chao Li (Evan) HighGo Software Co., Ltd. https://www.highgo.com/ --000000000000a4d0850648f38bcc Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
<= br id=3D"m_-3352202514251687429lineBreakAtBeginningOfMessage">
On Jan 14, 2026, at 08:52, Chao Li <li.evan.chao@gmail.com> wro= te:



On Jan 13, 2026, at 19:16, Jim= Jones <j= im.jones@uni-muenster.de> wrote:

Hi Chao

On 13/01/2026= 05:02, Chao Li wrote:

PSA v3:

* Re= phrased the notice message as David's suggestion.
* Removed partitio= n count from notice message.
* If a partitioned table doesn't have a= ny partition, then suppress the
message.

I've be= en playing with this patch, and it seems to work as expected -
I'm s= urprised it didn't break any existing tests :). Do you plan to
exten= d this patch to other subcommands mentioned in your initial post,
such a= s SET STATISTICS?

Thanks for the patch

Best, Jim


Hi Jim,

Thanks for your testing. Yes, I plan to add the = notice to other sub-commands as needed. I only updated REPLICA IDENTITY fir= st to call for feedback. As you see, David has suggested the great wording = for the notice message. Once the change on REPLICA IDENTITY is reviewed, it= =E2=80=99s easy to extend to other sub-commands.

<= br>
PFA v4.

I=E2=80=99ve extended the NO= TICE to cover all sub-commands for which=C2=A0ONLY=C2=A0has no effect and w= here actions on a partitioned table do not propagate to its partitions:

=C2=A0- ALTER COLUMN SET/RESET attribute_option<= /div>
=C2=A0- ALTER COLUMN SET COMPRESSION
=C2=A0- ENABLE/DIS= ABLE RULE
=C2=A0- ENABLE/DISABLE/FORCE/NO FORCE ROW LEVEL SECURIT= Y
=C2=A0- REPLICA IDENTITY
=C2=A0- OWNER TO
= =C2=A0- SET TABLESPACE
=C2=A0- SET SCHEMA

RENAME=C2=A0is intentionally excluded. Using=C2=A0ONLY=C2=A0(or not) has = no effect for=C2=A0RENAME, since relation names are independent by nature a= nd there is no expectation of recursion.

OF / NOT OF=C2=A0are= also excluded. Using=C2=A0ONLY=C2=A0has no effect for these commands, as t= hey apply only to the partitioned table itself and not to its partitions.

One thing worth noting: following David=E2=80=99s suggestion, = I removed the action name from the NOTICE message in v2. However, I later r= ealized that we do need to include the action name, because an=C2=A0ALTER T= ABLE=C2=A0command may contain multiple sub-commands, and the NOTICE would o= therwise be ambiguous.

In v4, I reuse=C2=A0alter_table_type_t= o_string()=C2=A0to construct the action name, consistent with what=C2=A0ATS= implePermissions()=C2=A0does. The NOTICE message itself also follows the sa= me style as messages emitted by=C2=A0ATSimplePermissions(). For example, wh= en an=C2=A0ALTER TABLE=C2=A0contains multiple sub-commands, the output now = looks like:

```
evantest=3D# alter = table p_test replica identity full, alter column username set (n_distinct = =3D 0.1);
NOTICE: =C2=A0ALTER action REPLICA IDENTITY on relation= "p_test" does not affect present partitions
HINT: =C2= =A0partitions may be modified individually, or specify ONLY to suppress thi= s message
NOTICE: =C2=A0ALTER action ALTER COLUMN ... SET on rela= tion "p_test" does not affect present partitions
HINT: = =C2=A0partitions may be modified individually, or specify ONLY to suppress = this message
ALTER TABLE
```

=
Regression tests have been updated, and a few new tests have been adde= d. v4 should now be ready for review.

Best regards,
=
--
Chao Li (Evan)
HighGo Software Co., Ltd.
https://www.highgo.com/




--000000000000a4d0850648f38bcc-- --000000000000a4d0870648f38bce Content-Type: application/octet-stream; name="v4-0001-ALTER-TABLE-emit-NOTICE-when-ONLY-is-omitted-but-.patch" Content-Disposition: attachment; filename="v4-0001-ALTER-TABLE-emit-NOTICE-when-ONLY-is-omitted-but-.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mkp11zrj0 RnJvbSAzYjg5YmFmYmU1MTAxZWVjZWM4NGE3OWI4NzM0NGNlNWJkYzMzOGEyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiQ2hhbyBMaSAoRXZhbikiIDxsaWNAaGlnaGdvLmNvbT4KRGF0 ZTogTW9uLCAxMiBKYW4gMjAyNiAxNjo1Njo1OCArMDgwMApTdWJqZWN0OiBbUEFUQ0ggdjRdIEFM VEVSIFRBQkxFOiBlbWl0IE5PVElDRSB3aGVuIE9OTFkgaXMgb21pdHRlZCBidXQgbm8KIHBhcnRp dGlvbiByZWN1cnNpb24gb2NjdXJzCgpTb21lIEFMVEVSIFRBQkxFIHN1Yi1jb21tYW5kcyBkbyBu b3QgcmVjdXJzZSB0byBwYXJ0aXRpb25zIGV2ZW4gd2hlbiBPTkxZCmlzIG5vdCBzcGVjaWZpZWQg b24gYSBwYXJ0aXRpb25lZCB0YWJsZS4gIFRoaXMgY2FuIGJlIHN1cnByaXNpbmcsIHNpbmNlCnRo ZSBkZWZhdWx0IGV4cGVjdGF0aW9uIGlzIHRoYXQgY29tbWFuZHMgcHJvcGFnYXRlIHRvIGFsbCBw YXJ0aXRpb25zLgoKRW1pdCBhIE5PVElDRSBpbiBzdWNoIGNhc2VzIHRvIG1ha2UgdGhlIGJlaGF2 aW9yIGV4cGxpY2l0LCBhbmQgYWR2aXNlIGhvdwp0byBzdXBwcmVzcyB0aGUgbWVzc2FnZSBvciBt b2RpZnkgcGFydGl0aW9ucyBpbmRpdmlkdWFsbHkuCgpBZmZlY3RlZCBzdWItY29tbWFuZHMgaW5j bHVkZToKICAtIEFMVEVSIENPTFVNTiBTRVQvUkVTRVQgYXR0cmlidXRlX29wdGlvbgogIC0gQUxU RVIgQ09MVU1OIFNFVCBDT01QUkVTU0lPTgogIC0gRU5BQkxFL0RJU0FCTEUgUlVMRQogIC0gRU5B QkxFL0RJU0FCTEUvRk9SQ0UvTk8gRk9SQ0UgUk9XIExFVkVMIFNFQ1VSSVRZCiAgLSBSRVBMSUNB IElERU5USVRZCiAgLSBPV05FUiBUTwogIC0gU0VUIFRBQkxFU1BBQ0UKICAtIFNFVCBTQ0hFTUEK ClJFTkFNRSBpcyBpbnRlbnRpb25hbGx5IGV4Y2x1ZGVkLiBVc2luZyBPTkxZIChvciBub3QpIGhh cyBubyBlZmZlY3QgZm9yClJFTkFNRSwgc2luY2UgcmVsYXRpb24gbmFtZXMgYXJlIGluZGVwZW5k ZW50IGJ5IG5hdHVyZSBhbmQgdGhlcmUgaXMgbm8KZXhwZWN0YXRpb24gb2YgcmVjdXJzaW9uLgoK T0YgLyBOT1QgT0YgYXJlIGFsc28gZXhjbHVkZWQuIFVzaW5nIE9OTFkgaGFzIG5vIGVmZmVjdCBm b3IgdGhlc2UKY29tbWFuZHMsIGFzIHRoZXkgYXBwbHkgb25seSB0byB0aGUgcGFydGl0aW9uZWQg dGFibGUgaXRzZWxmIGFuZCBub3QgdG8KaXRzIHBhcnRpdGlvbnMuCgpSZWdyZXNzaW9uIHRlc3Rz IGFyZSB1cGRhdGVkIHRvIHVzZSBPTkxZIHdoZXJlIGFwcHJvcHJpYXRlLgoKQXV0aG9yOiBDaGFv IExpIDxsaWNAaGlnaGdvLmNvbT4KUmV2aWV3ZWQtYnk6IERhdmlkIEcuIEpvaG5zdG9uIDxkYXZp ZC5nLmpvaG5zdG9uQGdtYWlsLmNvbT4KUmV2aWV3ZWQtYnk6IEdyZWcgU2FiaW5vIE11bGxhbmUg PGh0YW1maWRzQGdtYWlsLmNvbT4KRGlzY3Vzc2lvbjogaHR0cHM6Ly9wb3N0Z3IuZXMvbS9DQUVv V3gyPVNMZ2EteEgwOUNxX1BBdnNIaFFIckJLK1YwdkY4MjFKS2d6Uz1CbTBoYUFAbWFpbC5nbWFp bC5jb20KLS0tCiBzcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYyAgICAgICAgICAgICAg fCA3MiArKysrKysrKysrKysrKysrKy0tCiBzcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmgg ICAgICAgICAgICAgICAgfCAgMSArCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2FsdGVyX3Rh YmxlLm91dCAgICAgfCA2OCArKysrKysrKysrKysrKysrKy0KIHNyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQvY2x1c3Rlci5vdXQgICAgICAgICB8ICAyICstCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL21lcmdlLm91dCAgICAgICAgICAgfCAgNCArLQogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC9wYXJ0aXRpb25fbWVyZ2Uub3V0IHwgIDIgKy0KIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv cGFydGl0aW9uX3NwbGl0Lm91dCB8ICAyICstCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3By aXZpbGVnZXMub3V0ICAgICAgfCAgMiArLQogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9yb3dz ZWN1cml0eS5vdXQgICAgIHwgIDQgKy0KIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdGFibGVz cGFjZS5vdXQgICAgICB8ICA0ICstCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3VwZGF0ZS5v dXQgICAgICAgICAgfCAgMiArLQogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW0ub3V0 ICAgICAgICAgIHwgIDYgKy0KIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2FsdGVyX3RhYmxlLnNxbCAg ICAgICAgICB8IDUxICsrKysrKysrKysrKy0KIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2NsdXN0ZXIu c3FsICAgICAgICAgICAgICB8ICAyICstCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC9tZXJnZS5zcWwg ICAgICAgICAgICAgICAgfCAgNCArLQogc3JjL3Rlc3QvcmVncmVzcy9zcWwvcGFydGl0aW9uX21l cmdlLnNxbCAgICAgIHwgIDIgKy0KIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3BhcnRpdGlvbl9zcGxp dC5zcWwgICAgICB8ICAyICstCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC9wcml2aWxlZ2VzLnNxbCAg ICAgICAgICAgfCAgMiArLQogc3JjL3Rlc3QvcmVncmVzcy9zcWwvcm93c2VjdXJpdHkuc3FsICAg ICAgICAgIHwgIDQgKy0KIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3RhYmxlc3BhY2Uuc3FsICAgICAg ICAgICB8ICA0ICstCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC91cGRhdGUuc3FsICAgICAgICAgICAg ICAgfCAgMiArLQogc3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtLnNxbCAgICAgICAgICAgICAg IHwgIDYgKy0KIDIyIGZpbGVzIGNoYW5nZWQsIDIxMiBpbnNlcnRpb25zKCspLCAzNiBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYyBiL3Ny Yy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jCmluZGV4IGY5NzZjMGU1YzdlLi5hYjg4NDk0 MDZkYSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRzLmMKKysrIGIv c3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRzLmMKQEAgLTc0NSw2ICs3NDUsNyBAQCBzdGF0 aWMgdm9pZCBBVEV4ZWNNZXJnZVBhcnRpdGlvbnMoTGlzdCAqKndxdWV1ZSwgQWx0ZXJlZFRhYmxl SW5mbyAqdGFiLCBSZWxhdGlvbgogc3RhdGljIHZvaWQgQVRFeGVjU3BsaXRQYXJ0aXRpb24oTGlz dCAqKndxdWV1ZSwgQWx0ZXJlZFRhYmxlSW5mbyAqdGFiLAogCQkJCQkJCQkgUmVsYXRpb24gcmVs LCBQYXJ0aXRpb25DbWQgKmNtZCwKIAkJCQkJCQkJIEFsdGVyVGFibGVVdGlsaXR5Q29udGV4dCAq Y29udGV4dCk7CitzdGF0aWMgdm9pZCBFbWl0UGFydGl0aW9uTm9SZWN1cnNlTm90aWNlKEFsdGVy VGFibGVUeXBlIGNtZHR5cGUsIFJlbGF0aW9uIHJlbCwgYm9vbCByZWN1cnNlLCBib29sIHJlY3Vy c2luZyk7CiAKIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqCQlEZWZpbmVSZWxhdGlvbgpAQCAtNTA1Niw2ICs1MDU3 LDggQEAgQVRQcmVwQ21kKExpc3QgKip3cXVldWUsIFJlbGF0aW9uIHJlbCwgQWx0ZXJUYWJsZUNt ZCAqY21kLAogCQkJCQkJCQlBVFRfTUFUVklFVyB8IEFUVF9GT1JFSUdOX1RBQkxFKTsKIAkJCS8q IFRoaXMgY29tbWFuZCBuZXZlciByZWN1cnNlcyAqLwogCQkJcGFzcyA9IEFUX1BBU1NfTUlTQzsK KwkJCS8qIEVtaXQgYSBub3RpY2UgaWYgbmVlZGVkICovCisJCQlFbWl0UGFydGl0aW9uTm9SZWN1 cnNlTm90aWNlKGNtZC0+c3VidHlwZSwgcmVsLCByZWN1cnNlLCByZWN1cnNpbmcpOwogCQkJYnJl YWs7CiAJCWNhc2UgQVRfU2V0U3RvcmFnZToJCS8qIEFMVEVSIENPTFVNTiBTRVQgU1RPUkFHRSAq LwogCQkJQVRTaW1wbGVQZXJtaXNzaW9ucyhjbWQtPnN1YnR5cGUsIHJlbCwKQEAgLTUwNzEsNiAr NTA3NCw4IEBAIEFUUHJlcENtZChMaXN0ICoqd3F1ZXVlLCBSZWxhdGlvbiByZWwsIEFsdGVyVGFi bGVDbWQgKmNtZCwKIAkJCS8qIFRoaXMgY29tbWFuZCBuZXZlciByZWN1cnNlcyAqLwogCQkJLyog Tm8gY29tbWFuZC1zcGVjaWZpYyBwcmVwIG5lZWRlZCAqLwogCQkJcGFzcyA9IEFUX1BBU1NfTUlT QzsKKwkJCS8qIEVtaXQgYSBub3RpY2UgaWYgbmVlZGVkICovCisJCQlFbWl0UGFydGl0aW9uTm9S ZWN1cnNlTm90aWNlKGNtZC0+c3VidHlwZSwgcmVsLCByZWN1cnNlLCByZWN1cnNpbmcpOwogCQkJ YnJlYWs7CiAJCWNhc2UgQVRfRHJvcENvbHVtbjoJCS8qIERST1AgQ09MVU1OICovCiAJCQlBVFNp bXBsZVBlcm1pc3Npb25zKGNtZC0+c3VidHlwZSwgcmVsLApAQCAtNTEzOCw2ICs1MTQzLDggQEAg QVRQcmVwQ21kKExpc3QgKip3cXVldWUsIFJlbGF0aW9uIHJlbCwgQWx0ZXJUYWJsZUNtZCAqY21k LAogCQkJLyogVGhpcyBjb21tYW5kIG5ldmVyIHJlY3Vyc2VzICovCiAJCQkvKiBObyBjb21tYW5k LXNwZWNpZmljIHByZXAgbmVlZGVkICovCiAJCQlwYXNzID0gQVRfUEFTU19NSVNDOworCQkJLyog RW1pdCBhIG5vdGljZSBpZiBuZWVkZWQgKi8KKwkJCUVtaXRQYXJ0aXRpb25Ob1JlY3Vyc2VOb3Rp Y2UoY21kLT5zdWJ0eXBlLCByZWwsIHJlY3Vyc2UsIHJlY3Vyc2luZyk7CiAJCQlicmVhazsKIAkJ Y2FzZSBBVF9DbHVzdGVyT246CQkvKiBDTFVTVEVSIE9OICovCiAJCWNhc2UgQVRfRHJvcENsdXN0 ZXI6CS8qIFNFVCBXSVRIT1VUIENMVVNURVIgKi8KQEAgLTUxODEsNiArNTE4OCw4IEBAIEFUUHJl cENtZChMaXN0ICoqd3F1ZXVlLCBSZWxhdGlvbiByZWwsIEFsdGVyVGFibGVDbWQgKmNtZCwKIAkJ CS8qIFRoaXMgY29tbWFuZCBuZXZlciByZWN1cnNlcyAqLwogCQkJQVRQcmVwU2V0VGFibGVTcGFj ZSh0YWIsIHJlbCwgY21kLT5uYW1lLCBsb2NrbW9kZSk7CiAJCQlwYXNzID0gQVRfUEFTU19NSVND OwkvKiBkb2Vzbid0IGFjdHVhbGx5IG1hdHRlciAqLworCQkJLyogRW1pdCBhIG5vdGljZSBpZiBu ZWVkZWQgKi8KKwkJCUVtaXRQYXJ0aXRpb25Ob1JlY3Vyc2VOb3RpY2UoY21kLT5zdWJ0eXBlLCBy ZWwsIHJlY3Vyc2UsIHJlY3Vyc2luZyk7CiAJCQlicmVhazsKIAkJY2FzZSBBVF9TZXRSZWxPcHRp b25zOgkvKiBTRVQgKC4uLikgKi8KIAkJY2FzZSBBVF9SZXNldFJlbE9wdGlvbnM6CS8qIFJFU0VU ICguLi4pICovCkBAIC01MTkwLDYgKzUxOTksNyBAQCBBVFByZXBDbWQoTGlzdCAqKndxdWV1ZSwg UmVsYXRpb24gcmVsLCBBbHRlclRhYmxlQ21kICpjbWQsCiAJCQkJCQkJCUFUVF9NQVRWSUVXIHwg QVRUX0lOREVYKTsKIAkJCS8qIFRoaXMgY29tbWFuZCBuZXZlciByZWN1cnNlcyAqLwogCQkJLyog Tm8gY29tbWFuZC1zcGVjaWZpYyBwcmVwIG5lZWRlZCAqLworCQkJLyogSXQgd2lsbCBjaGVjayBm b3IgcGFydGl0aW9uZWQgdGFibGUgYXQgZXhlYyB0aW1lICovCiAJCQlwYXNzID0gQVRfUEFTU19N SVNDOwogCQkJYnJlYWs7CiAJCWNhc2UgQVRfQWRkSW5oZXJpdDoJCS8qIElOSEVSSVQgKi8KQEAg LTUyMjcsOCArNTIzNyw4IEBAIEFUUHJlcENtZChMaXN0ICoqd3F1ZXVlLCBSZWxhdGlvbiByZWws IEFsdGVyVGFibGVDbWQgKmNtZCwKIAkJCUFUU2ltcGxlUGVybWlzc2lvbnMoY21kLT5zdWJ0eXBl LCByZWwsCiAJCQkJCQkJCUFUVF9UQUJMRSB8IEFUVF9QQVJUSVRJT05FRF9UQUJMRSB8IEFUVF9N QVRWSUVXKTsKIAkJCXBhc3MgPSBBVF9QQVNTX01JU0M7Ci0JCQkvKiBUaGlzIGNvbW1hbmQgbmV2 ZXIgcmVjdXJzZXMgKi8KLQkJCS8qIE5vIGNvbW1hbmQtc3BlY2lmaWMgcHJlcCBuZWVkZWQgKi8K KwkJCS8qIFRoaXMgY29tbWFuZCBkb2Vzbid0IHJlY3Vyc2UgdG8gcGFydGl0aW9ucywgc28gbm90 aWNlIGlmIG5lZWRlZCAqLworCQkJRW1pdFBhcnRpdGlvbk5vUmVjdXJzZU5vdGljZShjbWQtPnN1 YnR5cGUsIHJlbCwgcmVjdXJzZSwgcmVjdXJzaW5nKTsKIAkJCWJyZWFrOwogCQljYXNlIEFUX0Vu YWJsZVRyaWc6CQkvKiBFTkFCTEUgVFJJR0dFUiB2YXJpYW50cyAqLwogCQljYXNlIEFUX0VuYWJs ZUFsd2F5c1RyaWc6CkBAIC01MjQ5LDE3ICs1MjU5LDMwIEBAIEFUUHJlcENtZChMaXN0ICoqd3F1 ZXVlLCBSZWxhdGlvbiByZWwsIEFsdGVyVGFibGVDbWQgKmNtZCwKIAkJY2FzZSBBVF9FbmFibGVB bHdheXNSdWxlOgogCQljYXNlIEFUX0VuYWJsZVJlcGxpY2FSdWxlOgogCQljYXNlIEFUX0Rpc2Fi bGVSdWxlOgotCQljYXNlIEFUX0FkZE9mOgkJCS8qIE9GICovCi0JCWNhc2UgQVRfRHJvcE9mOgkJ CS8qIE5PVCBPRiAqLwotCQljYXNlIEFUX0VuYWJsZVJvd1NlY3VyaXR5OgorCQljYXNlIEFUX0Vu YWJsZVJvd1NlY3VyaXR5OgkvKiBFTkFCTEUvRElTQUJMRSBST1cgU0VDVVJJVFkgdmFyaWFudHMg Ki8KIAkJY2FzZSBBVF9EaXNhYmxlUm93U2VjdXJpdHk6Ci0JCWNhc2UgQVRfRm9yY2VSb3dTZWN1 cml0eToKKwkJY2FzZSBBVF9Gb3JjZVJvd1NlY3VyaXR5OgkvKiBGT1JDRS9OTyBGT1JDRSBST1cg U0VDVVJJVFkgdmFyaWFudHMgKi8KIAkJY2FzZSBBVF9Ob0ZvcmNlUm93U2VjdXJpdHk6CiAJCQlB VFNpbXBsZVBlcm1pc3Npb25zKGNtZC0+c3VidHlwZSwgcmVsLAogCQkJCQkJCQlBVFRfVEFCTEUg fCBBVFRfUEFSVElUSU9ORURfVEFCTEUpOwogCQkJLyogVGhlc2UgY29tbWFuZHMgbmV2ZXIgcmVj dXJzZSAqLwogCQkJLyogTm8gY29tbWFuZC1zcGVjaWZpYyBwcmVwIG5lZWRlZCAqLwogCQkJcGFz cyA9IEFUX1BBU1NfTUlTQzsKKwkJCS8qIEVtaXQgYSBub3RpY2UgaWYgbmVlZGVkICovCisJCQlF bWl0UGFydGl0aW9uTm9SZWN1cnNlTm90aWNlKGNtZC0+c3VidHlwZSwgcmVsLCByZWN1cnNlLCBy ZWN1cnNpbmcpOworCQkJYnJlYWs7CisJCWNhc2UgQVRfQWRkT2Y6CQkJLyogT0YgKi8KKwkJY2Fz ZSBBVF9Ecm9wT2Y6CQkJLyogTk9UIE9GICovCisJCQlBVFNpbXBsZVBlcm1pc3Npb25zKGNtZC0+ c3VidHlwZSwgcmVsLAorCQkJCQkJCQlBVFRfVEFCTEUgfCBBVFRfUEFSVElUSU9ORURfVEFCTEUp OworCQkJLyogVGhlc2UgY29tbWFuZHMgbmV2ZXIgcmVjdXJzZSAqLworCQkJLyogTm8gY29tbWFu ZC1zcGVjaWZpYyBwcmVwIG5lZWRlZCAqLworCisJCQkvKgorCQkJICogVGhleSBvbmx5IHdvcmsg b24gcGFydGl0aW9uZWQgdGFibGVzIGJ1dCBjaGlsZCBwYXJ0aXRpb25zLCB0aHVzCisJCQkgKiBu byBuZWVkIHRvIGVtaXQgYSBub3RpY2UKKwkJCSAqLworCQkJcGFzcyA9IEFUX1BBU1NfTUlTQzsK IAkJCWJyZWFrOwogCQljYXNlIEFUX0dlbmVyaWNPcHRpb25zOgogCQkJQVRTaW1wbGVQZXJtaXNz aW9ucyhjbWQtPnN1YnR5cGUsIHJlbCwgQVRUX0ZPUkVJR05fVEFCTEUpOwpAQCAtNjc1Miw2ICs2 Nzc1LDggQEAgYWx0ZXJfdGFibGVfdHlwZV90b19zdHJpbmcoQWx0ZXJUYWJsZVR5cGUgY21kdHlw ZSkKIAkJCXJldHVybiAiQUxURVIgQ09MVU1OIC4uLiBEUk9QIElERU5USVRZIjsKIAkJY2FzZSBB VF9SZUFkZFN0YXRpc3RpY3M6CiAJCQlyZXR1cm4gTlVMTDsJCS8qIG5vdCByZWFsIGdyYW1tYXIg Ki8KKwkJY2FzZSBBVF9TZXRTY2hlbWE6CisJCQlyZXR1cm4gIlNFVCBTQ0hFTUEiOwogCX0KIAog CXJldHVybiBOVUxMOwpAQCAtMTg5OTYsNiArMTkwMjEsMTMgQEAgQWx0ZXJUYWJsZU5hbWVzcGFj ZShBbHRlck9iamVjdFNjaGVtYVN0bXQgKnN0bXQsIE9pZCAqb2xkc2NoZW1hKQogCiAJcmVsID0g cmVsYXRpb25fb3BlbihyZWxpZCwgTm9Mb2NrKTsKIAorCS8qCisJICogU0VUIFNDSEVNQSBkb2Vz bid0IHJlY3Vyc2UgdG8gY2hpbGRyZW4sIGVtaXQgYSBub3RpY2UgaWYgT05MWSBpcyBub3QKKwkg KiBzcGVjaWZpZWQuIEFzIHRoaXMgYWN0aW9uIGRvZXNuJ3QgZ28gdGhyb3VnaCBBVFByZXBDbWQs IHdlIGhhdmUgdG8gZW1pdAorCSAqIHRoZSBub3RpY2UgaGVyZS4KKwkgKi8KKwlFbWl0UGFydGl0 aW9uTm9SZWN1cnNlTm90aWNlKEFUX1NldFNjaGVtYSwgcmVsLCBzdG10LT5yZWxhdGlvbi0+aW5o LCBmYWxzZSk7CisKIAlvbGROc3BPaWQgPSBSZWxhdGlvbkdldE5hbWVzcGFjZShyZWwpOwogCiAJ LyogSWYgaXQncyBhbiBvd25lZCBzZXF1ZW5jZSwgZGlzYWxsb3cgbW92aW5nIGl0IGJ5IGl0c2Vs Zi4gKi8KQEAgLTIzMzQwLDMgKzIzMzcyLDMxIEBAIEFURXhlY1NwbGl0UGFydGl0aW9uKExpc3Qg Kip3cXVldWUsIEFsdGVyZWRUYWJsZUluZm8gKnRhYiwgUmVsYXRpb24gcmVsLAogCS8qIFJlc3Rv cmUgdGhlIHVzZXJpZCBhbmQgc2VjdXJpdHkgY29udGV4dC4gKi8KIAlTZXRVc2VySWRBbmRTZWND b250ZXh0KHNhdmVfdXNlcmlkLCBzYXZlX3NlY19jb250ZXh0KTsKIH0KKworLyoKKyAqIFdoZW4g T05MWSBpcyBub3Qgc3BlY2lmaWVkIHdpdGggYSBwYXJ0aXRpb25lZCB0YWJsZSwgaXQgaXMgZXhw ZWN0ZWQgdGhhdCB0aGUKKyAqIGNvbW1hbmQgcmVjdXJzZXMgdG8gYWxsIHBhcnRpdGlvbnMuIEhv d2V2ZXIsIHNvbWUgc3ViLWNvbW1hbmRzIGRvIG5vdCByZWN1cnNlLgorICogSW4gc3VjaCBjYXNl cywgZW1pdCBhIE5PVElDRSB0byBtYWtlIHRoaXMgYmVoYXZpb3IgZXhwbGljaXQgdG8gdGhlIHVz ZXIuCisgKi8KK3N0YXRpYyB2b2lkCitFbWl0UGFydGl0aW9uTm9SZWN1cnNlTm90aWNlKEFsdGVy VGFibGVUeXBlIGNtZHR5cGUsIFJlbGF0aW9uIHJlbCwgYm9vbCByZWN1cnNlLCBib29sIHJlY3Vy c2luZykKK3sKKwkvKiBPbmx5IGVtaXQgdGhlIG5vdGljZSBhdCB0aGUgdG9wIGxldmVsIG9mIHJl Y3Vyc2lvbiAqLworCWlmIChyZWwtPnJkX3JlbC0+cmVsa2luZCA9PSBSRUxLSU5EX1BBUlRJVElP TkVEX1RBQkxFICYmIHJlY3Vyc2UgJiYgIXJlY3Vyc2luZykKKwl7CisJCVBhcnRpdGlvbkRlc2Mg cGQgPSBSZWxhdGlvbkdldFBhcnRpdGlvbkRlc2MocmVsLCB0cnVlKTsKKwkJaW50CQkJbnBhcnRz ID0gcGQtPm5wYXJ0czsKKwkJY29uc3QgY2hhciAqYWN0aW9uX3N0cjsKKworCQkvKiBFbWl0IGEg bm90aWNlIG9ubHkgaWYgdGhlcmUgYXJlIHBhcnRpdGlvbnMgKi8KKwkJaWYgKG5wYXJ0cyA9PSAw KQorCQkJcmV0dXJuOworCisJCWFjdGlvbl9zdHIgPSBhbHRlcl90YWJsZV90eXBlX3RvX3N0cmlu ZyhjbWR0eXBlKTsKKwkJZXJlcG9ydChOT1RJQ0UsCisJCQkJZXJybXNnKCJBTFRFUiBhY3Rpb24g JXMgb24gcmVsYXRpb24gXCIlc1wiIGRvZXMgbm90IGFmZmVjdCBwcmVzZW50IHBhcnRpdGlvbnMi LAorCQkJCQkgICBhY3Rpb25fc3RyLAorCQkJCQkgICBSZWxhdGlvbkdldFJlbGF0aW9uTmFtZShy ZWwpKSwKKwkJCQllcnJoaW50KCJwYXJ0aXRpb25zIG1heSBiZSBtb2RpZmllZCBpbmRpdmlkdWFs bHksIG9yIHNwZWNpZnkgT05MWSB0byBzdXBwcmVzcyB0aGlzIG1lc3NhZ2UiKSk7CisJfQorfQpk aWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvbm9kZXMvcGFyc2Vub2Rlcy5oIGIvc3JjL2luY2x1ZGUv bm9kZXMvcGFyc2Vub2Rlcy5oCmluZGV4IDY0NmQ2Y2VkNzYzLi5jNjFjYzNjMGVhZiAxMDA2NDQK LS0tIGEvc3JjL2luY2x1ZGUvbm9kZXMvcGFyc2Vub2Rlcy5oCisrKyBiL3NyYy9pbmNsdWRlL25v ZGVzL3BhcnNlbm9kZXMuaApAQCAtMjUwOSw2ICsyNTA5LDcgQEAgdHlwZWRlZiBlbnVtIEFsdGVy VGFibGVUeXBlCiAJQVRfU2V0SWRlbnRpdHksCQkJCS8qIFNFVCBpZGVudGl0eSBjb2x1bW4gb3B0 aW9ucyAqLwogCUFUX0Ryb3BJZGVudGl0eSwJCQkvKiBEUk9QIElERU5USVRZICovCiAJQVRfUmVB ZGRTdGF0aXN0aWNzLAkJCS8qIGludGVybmFsIHRvIGNvbW1hbmRzL3RhYmxlY21kcy5jICovCisJ QVRfU2V0U2NoZW1hLAkJCQkvKiBTRVQgU0NIRU1BICovCiB9IEFsdGVyVGFibGVUeXBlOwogCiB0 eXBlZGVmIHN0cnVjdCBBbHRlclRhYmxlQ21kCS8qIG9uZSBzdWJjb21tYW5kIG9mIGFuIEFMVEVS IFRBQkxFICovCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2FsdGVyX3Rh YmxlLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvYWx0ZXJfdGFibGUub3V0CmluZGV4 IGFjMWE3MzQ1ZDBmLi45MTY3NjFmNGQwZiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9l eHBlY3RlZC9hbHRlcl90YWJsZS5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9h bHRlcl90YWJsZS5vdXQKQEAgLTQ1NzIsOCArNDU3Miw3NCBAQCBTRUxFQ1QgKiBGUk9NIGxpc3Rf cGFydGVkOwogLS0tCiAoMCByb3dzKQogCitDUkVBVEUgVEFCTEUgbGlzdF9wYXJ0ZWQ0IChhIGlu dCwgYiB0ZXh0KSBQQVJUSVRJT04gQlkgTElTVCAoYSk7CitDUkVBVEUgVEFCTEUgbGlzdF9wYXJ0 ZWQ0XzEgUEFSVElUSU9OIE9GIGxpc3RfcGFydGVkNCBGT1IgVkFMVUVTIElOICgxKTsKKy0tIHNl dCBjb2x1bW4gYXR0cmlidXRlIG9uIHBhcnRpdGlvbmVkIHRhYmxlIHNob3VsZCBnZXQgYSBub3Rp Y2UKK0FMVEVSIFRBQkxFIGxpc3RfcGFydGVkNCBBTFRFUiBDT0xVTU4gYiBTRVQgKG5fZGlzdGlu Y3QgPSAwLjIpOworTk9USUNFOiAgQUxURVIgYWN0aW9uIEFMVEVSIENPTFVNTiAuLi4gU0VUIG9u IHJlbGF0aW9uICJsaXN0X3BhcnRlZDQiIGRvZXMgbm90IGFmZmVjdCBwcmVzZW50IHBhcnRpdGlv bnMKK0hJTlQ6ICBwYXJ0aXRpb25zIG1heSBiZSBtb2RpZmllZCBpbmRpdmlkdWFsbHksIG9yIHNw ZWNpZnkgT05MWSB0byBzdXBwcmVzcyB0aGlzIG1lc3NhZ2UKK0FMVEVSIFRBQkxFIGxpc3RfcGFy dGVkNCBBTFRFUiBDT0xVTU4gYiBSRVNFVCAobl9kaXN0aW5jdCk7CitOT1RJQ0U6ICBBTFRFUiBh Y3Rpb24gQUxURVIgQ09MVU1OIC4uLiBSRVNFVCBvbiByZWxhdGlvbiAibGlzdF9wYXJ0ZWQ0IiBk b2VzIG5vdCBhZmZlY3QgcHJlc2VudCBwYXJ0aXRpb25zCitISU5UOiAgcGFydGl0aW9ucyBtYXkg YmUgbW9kaWZpZWQgaW5kaXZpZHVhbGx5LCBvciBzcGVjaWZ5IE9OTFkgdG8gc3VwcHJlc3MgdGhp cyBtZXNzYWdlCitBTFRFUiBUQUJMRSBPTkxZIGxpc3RfcGFydGVkNCBBTFRFUiBDT0xVTU4gYiBT RVQgKG5fZGlzdGluY3QgPSAwLjIpOworQUxURVIgVEFCTEUgT05MWSBsaXN0X3BhcnRlZDQgQUxU RVIgQ09MVU1OIGIgUkVTRVQgKG5fZGlzdGluY3QpOworLS0gZW5hYmxlL2Rpc2FibGUgcnVsZXMg b24gcGFydGl0aW9uZWQgdGFibGVzIHNob3VsZCBnZXQgYSBub3RpY2UKK0NSRUFURSBSVUxFIGxp c3RfcGFydGVkNF9ydWxlIEFTIE9OIElOU0VSVCBUTyBsaXN0X3BhcnRlZDQgRE8gSU5TVEVBRCBO T1RISU5HOworQUxURVIgVEFCTEUgbGlzdF9wYXJ0ZWQ0IERJU0FCTEUgUlVMRSBsaXN0X3BhcnRl ZDRfcnVsZTsKK05PVElDRTogIEFMVEVSIGFjdGlvbiBESVNBQkxFIFJVTEUgb24gcmVsYXRpb24g Imxpc3RfcGFydGVkNCIgZG9lcyBub3QgYWZmZWN0IHByZXNlbnQgcGFydGl0aW9ucworSElOVDog IHBhcnRpdGlvbnMgbWF5IGJlIG1vZGlmaWVkIGluZGl2aWR1YWxseSwgb3Igc3BlY2lmeSBPTkxZ IHRvIHN1cHByZXNzIHRoaXMgbWVzc2FnZQorQUxURVIgVEFCTEUgT05MWSBsaXN0X3BhcnRlZDQg RElTQUJMRSBSVUxFIGxpc3RfcGFydGVkNF9ydWxlOworQUxURVIgVEFCTEUgbGlzdF9wYXJ0ZWQ0 IEVOQUJMRSBSVUxFIGxpc3RfcGFydGVkNF9ydWxlOworTk9USUNFOiAgQUxURVIgYWN0aW9uIEVO QUJMRSBSVUxFIG9uIHJlbGF0aW9uICJsaXN0X3BhcnRlZDQiIGRvZXMgbm90IGFmZmVjdCBwcmVz ZW50IHBhcnRpdGlvbnMKK0hJTlQ6ICBwYXJ0aXRpb25zIG1heSBiZSBtb2RpZmllZCBpbmRpdmlk dWFsbHksIG9yIHNwZWNpZnkgT05MWSB0byBzdXBwcmVzcyB0aGlzIG1lc3NhZ2UKK0FMVEVSIFRB QkxFIE9OTFkgbGlzdF9wYXJ0ZWQ0IEVOQUJMRSBSVUxFIGxpc3RfcGFydGVkNF9ydWxlOworRFJP UCBSVUxFIGxpc3RfcGFydGVkNF9ydWxlIE9OIGxpc3RfcGFydGVkNDsKKy0tIGVuYWJsZS9kaXNh YmxlIHJvdyBsZXZlbCBzZWN1cml0eSBvbiBwYXJ0aXRpb25lZCB0YWJsZXMgc2hvdWxkIGdldCBh IG5vdGljZQorQUxURVIgVEFCTEUgbGlzdF9wYXJ0ZWQ0IEVOQUJMRSBST1cgTEVWRUwgU0VDVVJJ VFk7CitOT1RJQ0U6ICBBTFRFUiBhY3Rpb24gRU5BQkxFIFJPVyBTRUNVUklUWSBvbiByZWxhdGlv biAibGlzdF9wYXJ0ZWQ0IiBkb2VzIG5vdCBhZmZlY3QgcHJlc2VudCBwYXJ0aXRpb25zCitISU5U OiAgcGFydGl0aW9ucyBtYXkgYmUgbW9kaWZpZWQgaW5kaXZpZHVhbGx5LCBvciBzcGVjaWZ5IE9O TFkgdG8gc3VwcHJlc3MgdGhpcyBtZXNzYWdlCitBTFRFUiBUQUJMRSBPTkxZIGxpc3RfcGFydGVk NCBFTkFCTEUgUk9XIExFVkVMIFNFQ1VSSVRZOworQUxURVIgVEFCTEUgbGlzdF9wYXJ0ZWQ0IERJ U0FCTEUgUk9XIExFVkVMIFNFQ1VSSVRZOworTk9USUNFOiAgQUxURVIgYWN0aW9uIERJU0FCTEUg Uk9XIFNFQ1VSSVRZIG9uIHJlbGF0aW9uICJsaXN0X3BhcnRlZDQiIGRvZXMgbm90IGFmZmVjdCBw cmVzZW50IHBhcnRpdGlvbnMKK0hJTlQ6ICBwYXJ0aXRpb25zIG1heSBiZSBtb2RpZmllZCBpbmRp dmlkdWFsbHksIG9yIHNwZWNpZnkgT05MWSB0byBzdXBwcmVzcyB0aGlzIG1lc3NhZ2UKK0FMVEVS IFRBQkxFIE9OTFkgbGlzdF9wYXJ0ZWQ0IERJU0FCTEUgUk9XIExFVkVMIFNFQ1VSSVRZOworLS0g Zm9yY2Uvbm8gZm9yY2Ugcm93IGxldmVsIHNlY3VyaXR5IG9uIHBhcnRpdGlvbmVkIHRhYmxlcyBz aG91bGQgZ2V0IGEgbm90aWNlCitBTFRFUiBUQUJMRSBsaXN0X3BhcnRlZDQgRk9SQ0UgUk9XIExF VkVMIFNFQ1VSSVRZOworTk9USUNFOiAgQUxURVIgYWN0aW9uIEZPUkNFIFJPVyBTRUNVUklUWSBv biByZWxhdGlvbiAibGlzdF9wYXJ0ZWQ0IiBkb2VzIG5vdCBhZmZlY3QgcHJlc2VudCBwYXJ0aXRp b25zCitISU5UOiAgcGFydGl0aW9ucyBtYXkgYmUgbW9kaWZpZWQgaW5kaXZpZHVhbGx5LCBvciBz cGVjaWZ5IE9OTFkgdG8gc3VwcHJlc3MgdGhpcyBtZXNzYWdlCitBTFRFUiBUQUJMRSBPTkxZIGxp c3RfcGFydGVkNCBGT1JDRSBST1cgTEVWRUwgU0VDVVJJVFk7CitBTFRFUiBUQUJMRSBsaXN0X3Bh cnRlZDQgTk8gRk9SQ0UgUk9XIExFVkVMIFNFQ1VSSVRZOworTk9USUNFOiAgQUxURVIgYWN0aW9u IE5PIEZPUkNFIFJPVyBTRUNVUklUWSBvbiByZWxhdGlvbiAibGlzdF9wYXJ0ZWQ0IiBkb2VzIG5v dCBhZmZlY3QgcHJlc2VudCBwYXJ0aXRpb25zCitISU5UOiAgcGFydGl0aW9ucyBtYXkgYmUgbW9k aWZpZWQgaW5kaXZpZHVhbGx5LCBvciBzcGVjaWZ5IE9OTFkgdG8gc3VwcHJlc3MgdGhpcyBtZXNz YWdlCitBTFRFUiBUQUJMRSBPTkxZIGxpc3RfcGFydGVkNCBOTyBGT1JDRSBST1cgTEVWRUwgU0VD VVJJVFk7CistLSBzZXQgcmVwbGljYSBpZGVudGl0eSBvbiBwYXJ0aXRpb25lZCB0YWJsZXMgc2hv dWxkIGdldCBhIG5vdGljZQorQUxURVIgVEFCTEUgbGlzdF9wYXJ0ZWQ0IFJFUExJQ0EgSURFTlRJ VFkgRlVMTDsKK05PVElDRTogIEFMVEVSIGFjdGlvbiBSRVBMSUNBIElERU5USVRZIG9uIHJlbGF0 aW9uICJsaXN0X3BhcnRlZDQiIGRvZXMgbm90IGFmZmVjdCBwcmVzZW50IHBhcnRpdGlvbnMKK0hJ TlQ6ICBwYXJ0aXRpb25zIG1heSBiZSBtb2RpZmllZCBpbmRpdmlkdWFsbHksIG9yIHNwZWNpZnkg T05MWSB0byBzdXBwcmVzcyB0aGlzIG1lc3NhZ2UKK0FMVEVSIFRBQkxFIE9OTFkgbGlzdF9wYXJ0 ZWQ0IFJFUExJQ0EgSURFTlRJVFkgRlVMTDsKK0FMVEVSIFRBQkxFIGxpc3RfcGFydGVkNCBSRVBM SUNBIElERU5USVRZIE5PVEhJTkc7CitOT1RJQ0U6ICBBTFRFUiBhY3Rpb24gUkVQTElDQSBJREVO VElUWSBvbiByZWxhdGlvbiAibGlzdF9wYXJ0ZWQ0IiBkb2VzIG5vdCBhZmZlY3QgcHJlc2VudCBw YXJ0aXRpb25zCitISU5UOiAgcGFydGl0aW9ucyBtYXkgYmUgbW9kaWZpZWQgaW5kaXZpZHVhbGx5 LCBvciBzcGVjaWZ5IE9OTFkgdG8gc3VwcHJlc3MgdGhpcyBtZXNzYWdlCitBTFRFUiBUQUJMRSBP TkxZIGxpc3RfcGFydGVkNCBSRVBMSUNBIElERU5USVRZIE5PVEhJTkc7CistLSBzZXQgY29tcHJl c3Npb24gb24gcGFydGl0aW9uZWQgdGFibGVzIHNob3VsZCBnZXQgYSBub3RpY2UKK0FMVEVSIFRB QkxFIGxpc3RfcGFydGVkNCBBTFRFUiBDT0xVTU4gYiBTRVQgQ09NUFJFU1NJT04gcGdsejsKK05P VElDRTogIEFMVEVSIGFjdGlvbiBBTFRFUiBDT0xVTU4gLi4uIFNFVCBDT01QUkVTU0lPTiBvbiBy ZWxhdGlvbiAibGlzdF9wYXJ0ZWQ0IiBkb2VzIG5vdCBhZmZlY3QgcHJlc2VudCBwYXJ0aXRpb25z CitISU5UOiAgcGFydGl0aW9ucyBtYXkgYmUgbW9kaWZpZWQgaW5kaXZpZHVhbGx5LCBvciBzcGVj aWZ5IE9OTFkgdG8gc3VwcHJlc3MgdGhpcyBtZXNzYWdlCitBTFRFUiBUQUJMRSBPTkxZIGxpc3Rf cGFydGVkNCBBTFRFUiBDT0xVTU4gYiBTRVQgQ09NUFJFU1NJT04gcGdsejsKKy0tIHNldCBvd25l ciBvbiBwYXJ0aXRpb25lZCB0YWJsZXMgc2hvdWxkIGdldCBhIG5vdGljZQorQUxURVIgVEFCTEUg bGlzdF9wYXJ0ZWQ0IE9XTkVSIFRPIHJlZ3Jlc3NfYWx0ZXJfdGFibGVfdXNlcjE7CitOT1RJQ0U6 ICBBTFRFUiBhY3Rpb24gT1dORVIgVE8gb24gcmVsYXRpb24gImxpc3RfcGFydGVkNCIgZG9lcyBu b3QgYWZmZWN0IHByZXNlbnQgcGFydGl0aW9ucworSElOVDogIHBhcnRpdGlvbnMgbWF5IGJlIG1v ZGlmaWVkIGluZGl2aWR1YWxseSwgb3Igc3BlY2lmeSBPTkxZIHRvIHN1cHByZXNzIHRoaXMgbWVz c2FnZQorQUxURVIgVEFCTEUgT05MWSBsaXN0X3BhcnRlZDQgT1dORVIgVE8gcmVncmVzc19hbHRl cl90YWJsZV91c2VyMTsKKy0tIHNldCBzY2hlbWEgb24gcGFydGl0aW9uZWQgdGFibGVzIHNob3Vs ZCBnZXQgYSBub3RpY2UKK0NSRUFURSBTQ0hFTUEgYWx0ZXJfdGFibGVfdGVzdF9zY2hlbWE7CitB TFRFUiBUQUJMRSBsaXN0X3BhcnRlZDQgU0VUIFNDSEVNQSBhbHRlcl90YWJsZV90ZXN0X3NjaGVt YTsKK05PVElDRTogIEFMVEVSIGFjdGlvbiBTRVQgU0NIRU1BIG9uIHJlbGF0aW9uICJsaXN0X3Bh cnRlZDQiIGRvZXMgbm90IGFmZmVjdCBwcmVzZW50IHBhcnRpdGlvbnMKK0hJTlQ6ICBwYXJ0aXRp b25zIG1heSBiZSBtb2RpZmllZCBpbmRpdmlkdWFsbHksIG9yIHNwZWNpZnkgT05MWSB0byBzdXBw cmVzcyB0aGlzIG1lc3NhZ2UKK0FMVEVSIFRBQkxFIE9OTFkgYWx0ZXJfdGFibGVfdGVzdF9zY2hl bWEubGlzdF9wYXJ0ZWQ0IFNFVCBTQ0hFTUEgcHVibGljOworRFJPUCBTQ0hFTUEgYWx0ZXJfdGFi bGVfdGVzdF9zY2hlbWEgQ0FTQ0FERTsKIC0tIGNsZWFudXAKLURST1AgVEFCTEUgbGlzdF9wYXJ0 ZWQsIGxpc3RfcGFydGVkMiwgcmFuZ2VfcGFydGVkLCBsaXN0X3BhcnRlZDM7CitEUk9QIFRBQkxF IGxpc3RfcGFydGVkLCBsaXN0X3BhcnRlZDIsIHJhbmdlX3BhcnRlZCwgbGlzdF9wYXJ0ZWQzLCBs aXN0X3BhcnRlZDQ7CiBEUk9QIFRBQkxFIGZhaWxfZGVmX3BhcnQ7CiBEUk9QIFRBQkxFIGhhc2hf cGFydGVkOwogLS0gbW9yZSB0ZXN0cyBmb3IgY2VydGFpbiBtdWx0aS1sZXZlbCBwYXJ0aXRpb25p bmcgc2NlbmFyaW9zCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2NsdXN0 ZXIub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9jbHVzdGVyLm91dAppbmRleCA0ZDQw YTY4MDlhYi4uNmVhOGM5OWQwOTIgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvY2x1c3Rlci5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9jbHVzdGVyLm91 dApAQCAtNTA3LDcgKzUwNyw3IEBAIFNFVCBTRVNTSU9OIEFVVEhPUklaQVRJT04gcmVncmVzc19w dG5vd25lcjsKIENMVVNURVIgcHRub3duZXIgVVNJTkcgcHRub3duZXJfaV9pZHg7CiBFUlJPUjog IHBlcm1pc3Npb24gZGVuaWVkIGZvciB0YWJsZSBwdG5vd25lcgogUkVTRVQgU0VTU0lPTiBBVVRI T1JJWkFUSU9OOwotQUxURVIgVEFCTEUgcHRub3duZXIgT1dORVIgVE8gcmVncmVzc19wdG5vd25l cjsKK0FMVEVSIFRBQkxFIE9OTFkgcHRub3duZXIgT1dORVIgVE8gcmVncmVzc19wdG5vd25lcjsK IENSRUFURSBURU1QIFRBQkxFIHB0bm93bmVyX29sZG5vZGVzIEFTCiAgIFNFTEVDVCBvaWQsIHJl bG5hbWUsIHJlbGZpbGVub2RlIEZST00gcGdfcGFydGl0aW9uX3RyZWUoJ3B0bm93bmVyJykgQVMg dHJlZQogICBKT0lOIHBnX2NsYXNzIEFTIGMgT04gYy5vaWQ9dHJlZS5yZWxpZDsKZGlmZiAtLWdp dCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvbWVyZ2Uub3V0IGIvc3JjL3Rlc3QvcmVncmVz cy9leHBlY3RlZC9tZXJnZS5vdXQKaW5kZXggOWNiMWQ4NzA2NmEuLmJkNmFhYzcyMzM2IDEwMDY0 NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL21lcmdlLm91dAorKysgYi9zcmMvdGVz dC9yZWdyZXNzL2V4cGVjdGVkL21lcmdlLm91dApAQCAtMjI5OCw4ICsyMjk4LDggQEAgU0VMRUNU ICogRlJPTSBwYV90YXJnZXQgT1JERVIgQlkgdGlkLCB2YWw7CiBST0xMQkFDSzsKIC0tIHRlc3Qg UkxTIGVuZm9yY2VtZW50CiBCRUdJTjsKLUFMVEVSIFRBQkxFIHBhX3RhcmdldCBFTkFCTEUgUk9X IExFVkVMIFNFQ1VSSVRZOwotQUxURVIgVEFCTEUgcGFfdGFyZ2V0IEZPUkNFIFJPVyBMRVZFTCBT RUNVUklUWTsKK0FMVEVSIFRBQkxFIE9OTFkgcGFfdGFyZ2V0IEVOQUJMRSBST1cgTEVWRUwgU0VD VVJJVFk7CitBTFRFUiBUQUJMRSBPTkxZIHBhX3RhcmdldCBGT1JDRSBST1cgTEVWRUwgU0VDVVJJ VFk7CiBDUkVBVEUgUE9MSUNZIHBhX3RhcmdldF9wb2wgT04gcGFfdGFyZ2V0IFVTSU5HICh0aWQg IT0gMCk7CiBNRVJHRSBJTlRPIHBhX3RhcmdldCB0CiAgIFVTSU5HIHBhX3NvdXJjZSBzCmRpZmYg LS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BhcnRpdGlvbl9tZXJnZS5vdXQgYi9z cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BhcnRpdGlvbl9tZXJnZS5vdXQKaW5kZXggOTI1ZmU0 ZjU3MGEuLmY2MjlmYzdmM2U1IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L3BhcnRpdGlvbl9tZXJnZS5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wYXJ0 aXRpb25fbWVyZ2Uub3V0CkBAIC04MTAsNyArODEwLDcgQEAgU0VUIFNFU1NJT04gQVVUSE9SSVpB VElPTiByZWdyZXNzX3BhcnRpdGlvbl9tZXJnZV9ib2I7CiBBTFRFUiBUQUJMRSB0IE1FUkdFIFBB UlRJVElPTlMgKHRwXzBfMSwgdHBfMV8yKSBJTlRPIHRwXzBfMjsKIEVSUk9SOiAgbXVzdCBiZSBv d25lciBvZiB0YWJsZSB0CiBSRVNFVCBTRVNTSU9OIEFVVEhPUklaQVRJT047Ci1BTFRFUiBUQUJM RSB0IE9XTkVSIFRPIHJlZ3Jlc3NfcGFydGl0aW9uX21lcmdlX2JvYjsKK0FMVEVSIFRBQkxFIE9O TFkgdCBPV05FUiBUTyByZWdyZXNzX3BhcnRpdGlvbl9tZXJnZV9ib2I7CiBTRVQgU0VTU0lPTiBB VVRIT1JJWkFUSU9OIHJlZ3Jlc3NfcGFydGl0aW9uX21lcmdlX2JvYjsKIC0tIEVSUk9SOiAgbXVz dCBiZSBvd25lciBvZiB0YWJsZSB0cF8wXzEKIEFMVEVSIFRBQkxFIHQgTUVSR0UgUEFSVElUSU9O UyAodHBfMF8xLCB0cF8xXzIpIElOVE8gdHBfMF8yOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVn cmVzcy9leHBlY3RlZC9wYXJ0aXRpb25fc3BsaXQub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC9wYXJ0aXRpb25fc3BsaXQub3V0CmluZGV4IDQwMDRlZmUwZGFjLi40MjFmYTM2ZWMwZiAx MDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wYXJ0aXRpb25fc3BsaXQub3V0 CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcGFydGl0aW9uX3NwbGl0Lm91dApAQCAt MTM3Miw3ICsxMzcyLDcgQEAgQUxURVIgVEFCTEUgdCBTUExJVCBQQVJUSVRJT04gdHBfMF8yIElO VE8KICAgIFBBUlRJVElPTiB0cF8xXzIgRk9SIFZBTFVFUyBGUk9NICgxKSBUTyAoMikpOyAtLWVy cm9yCiBFUlJPUjogIG11c3QgYmUgb3duZXIgb2YgdGFibGUgdAogUkVTRVQgU0VTU0lPTiBBVVRI T1JJWkFUSU9OOwotQUxURVIgVEFCTEUgdCBPV05FUiBUTyByZWdyZXNzX3BhcnRpdGlvbl9zcGxp dF9ib2I7CitBTFRFUiBUQUJMRSBPTkxZIHQgT1dORVIgVE8gcmVncmVzc19wYXJ0aXRpb25fc3Bs aXRfYm9iOwogU0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTiByZWdyZXNzX3BhcnRpdGlvbl9zcGxp dF9ib2I7CiBBTFRFUiBUQUJMRSB0IFNQTElUIFBBUlRJVElPTiB0cF8wXzIgSU5UTwogICAoUEFS VElUSU9OIHRwXzBfMSBGT1IgVkFMVUVTIEZST00gKDApIFRPICgxKSwKZGlmZiAtLWdpdCBhL3Ny Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHJpdmlsZWdlcy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNz L2V4cGVjdGVkL3ByaXZpbGVnZXMub3V0CmluZGV4IGRhYWZhYTk0ZmRlLi44Njg3ZTUwZmQ1MCAx MDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wcml2aWxlZ2VzLm91dAorKysg Yi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ByaXZpbGVnZXMub3V0CkBAIC0xODgyLDcgKzE4 ODIsNyBAQCBTRUxFQ1QgYnJpbl9zdW1tYXJpemVfcmFuZ2UoJ3Nyb19icmluJywgMCk7CiBEUk9Q IFRBQkxFIHNyb190YWI7CiAtLSBDaGVjayB3aXRoIGEgcGFydGl0aW9uZWQgdGFibGUKIENSRUFU RSBUQUJMRSBzcm9fcHRhYiAoYSBpbnQpIFBBUlRJVElPTiBCWSBSQU5HRSAoYSk7Ci1BTFRFUiBU QUJMRSBzcm9fcHRhYiBPV05FUiBUTyByZWdyZXNzX3Nyb191c2VyOworQUxURVIgVEFCTEUgT05M WSBzcm9fcHRhYiBPV05FUiBUTyByZWdyZXNzX3Nyb191c2VyOwogQ1JFQVRFIFRBQkxFIHNyb19w YXJ0IFBBUlRJVElPTiBPRiBzcm9fcHRhYiBGT1IgVkFMVUVTIEZST00gKDEpIFRPICgxMCk7CiBB TFRFUiBUQUJMRSBzcm9fcGFydCBPV05FUiBUTyByZWdyZXNzX3Nyb191c2VyOwogSU5TRVJUIElO VE8gc3JvX3B0YWIgVkFMVUVTICgxKSwgKDIpLCAoMyk7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL3Jvd3NlY3VyaXR5Lm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvcm93c2VjdXJpdHkub3V0CmluZGV4IGM5NThlZjRkNzBhLi5kNzUxZGU4NDkyMCAxMDA2NDQK LS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9yb3dzZWN1cml0eS5vdXQKKysrIGIvc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC9yb3dzZWN1cml0eS5vdXQKQEAgLTExODgsNyArMTE4OCw3 IEBAIElOU0VSVCBJTlRPIHBhcnRfZG9jdW1lbnQgVkFMVUVTCiAgICAgKCA4LCA1NSwgMiwgJ3Jl Z3Jlc3NfcmxzX2Nhcm9sJywgJ2dyZWF0IHNhdGlyZScpLAogICAgICggOSwgMTEsIDEsICdyZWdy ZXNzX3Jsc19kYXZlJywgJ2F3ZXNvbWUgc2NpZW5jZSBmaWN0aW9uJyksCiAgICAgKDEwLCA5OSwg MiwgJ3JlZ3Jlc3NfcmxzX2RhdmUnLCAnYXdlc29tZSB0ZWNobm9sb2d5IGJvb2snKTsKLUFMVEVS IFRBQkxFIHBhcnRfZG9jdW1lbnQgRU5BQkxFIFJPVyBMRVZFTCBTRUNVUklUWTsKK0FMVEVSIFRB QkxFIE9OTFkgcGFydF9kb2N1bWVudCBFTkFCTEUgUk9XIExFVkVMIFNFQ1VSSVRZOwogLS0gQ3Jl YXRlIHBvbGljeSBvbiBwYXJlbnQKIC0tIHVzZXIncyBzZWN1cml0eSBsZXZlbCBtdXN0IGJlIGhp Z2hlciB0aGFuIG9yIGVxdWFsIHRvIGRvY3VtZW50J3MKIENSRUFURSBQT0xJQ1kgcHAxIE9OIHBh cnRfZG9jdW1lbnQgQVMgUEVSTUlTU0lWRQpAQCAtNDgyMSw3ICs0ODIxLDcgQEAgQ1JFQVRFIFRB QkxFIHJsc19wdGJsIChhIGludCkgUEFSVElUSU9OIEJZIFJBTkdFIChhKTsKIENSRUFURSBUQUJM RSBybHNfcGFydCBQQVJUSVRJT04gT0YgcmxzX3B0YmwgRk9SIFZBTFVFUyBGUk9NICgtMTAwKSBU TyAoMTAwKTsKIElOU0VSVCBJTlRPIHJsc19wdGJsIFNFTEVDVCB4LzEwIEZST00gZ2VuZXJhdGVf c2VyaWVzKDEsIDEwMCkgeDsKIEFOQUxZWkUgcmxzX3B0YmwsIHJsc19wYXJ0OwotQUxURVIgVEFC TEUgcmxzX3B0YmwgRU5BQkxFIFJPVyBMRVZFTCBTRUNVUklUWTsKK0FMVEVSIFRBQkxFIE9OTFkg cmxzX3B0YmwgRU5BQkxFIFJPVyBMRVZFTCBTRUNVUklUWTsKIEFMVEVSIFRBQkxFIHJsc19wYXJ0 IEVOQUJMRSBST1cgTEVWRUwgU0VDVVJJVFk7CiBHUkFOVCBTRUxFQ1QgT04gcmxzX3B0YmwgVE8g cmVncmVzc19ybHNfYWxpY2U7CiBHUkFOVCBTRUxFQ1QgT04gcmxzX3BhcnQgVE8gcmVncmVzc19y bHNfYWxpY2U7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3RhYmxlc3Bh Y2Uub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC90YWJsZXNwYWNlLm91dAppbmRleCBh OTBlMzllNTczOC4uZWVmOWRlN2Q5Y2EgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQvdGFibGVzcGFjZS5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC90YWJs ZXNwYWNlLm91dApAQCAtMjkwLDEzICsyOTAsMTMgQEAgQ1JFQVRFIFRBQkxFIHRlc3RzY2hlbWEu cGFydF8yIFBBUlRJVElPTiBPRiB0ZXN0c2NoZW1hLnBhcnQgRk9SIFZBTFVFUyBJTiAoMik7CiBT RVQgZGVmYXVsdF90YWJsZXNwYWNlIFRPIHBnX2dsb2JhbDsKIENSRUFURSBUQUJMRSB0ZXN0c2No ZW1hLnBhcnRfMyBQQVJUSVRJT04gT0YgdGVzdHNjaGVtYS5wYXJ0IEZPUiBWQUxVRVMgSU4gKDMp OwogRVJST1I6ICBvbmx5IHNoYXJlZCByZWxhdGlvbnMgY2FuIGJlIHBsYWNlZCBpbiBwZ19nbG9i YWwgdGFibGVzcGFjZQotQUxURVIgVEFCTEUgdGVzdHNjaGVtYS5wYXJ0IFNFVCBUQUJMRVNQQUNF IHJlZ3Jlc3NfdGJsc3BhY2U7CitBTFRFUiBUQUJMRSBPTkxZIHRlc3RzY2hlbWEucGFydCBTRVQg VEFCTEVTUEFDRSByZWdyZXNzX3RibHNwYWNlOwogQ1JFQVRFIFRBQkxFIHRlc3RzY2hlbWEucGFy dF8zIFBBUlRJVElPTiBPRiB0ZXN0c2NoZW1hLnBhcnQgRk9SIFZBTFVFUyBJTiAoMyk7CiBDUkVB VEUgVEFCTEUgdGVzdHNjaGVtYS5wYXJ0XzQgUEFSVElUSU9OIE9GIHRlc3RzY2hlbWEucGFydCBG T1IgVkFMVUVTIElOICg0KQogICBUQUJMRVNQQUNFIHBnX2RlZmF1bHQ7CiBDUkVBVEUgVEFCTEUg dGVzdHNjaGVtYS5wYXJ0XzU2IFBBUlRJVElPTiBPRiB0ZXN0c2NoZW1hLnBhcnQgRk9SIFZBTFVF UyBJTiAoNSwgNikKICAgUEFSVElUSU9OIEJZIExJU1QgKGEpOwotQUxURVIgVEFCTEUgdGVzdHNj aGVtYS5wYXJ0IFNFVCBUQUJMRVNQQUNFIHBnX2RlZmF1bHQ7CitBTFRFUiBUQUJMRSBPTkxZIHRl c3RzY2hlbWEucGFydCBTRVQgVEFCTEVTUEFDRSBwZ19kZWZhdWx0OwogQ1JFQVRFIFRBQkxFIHRl c3RzY2hlbWEucGFydF83OCBQQVJUSVRJT04gT0YgdGVzdHNjaGVtYS5wYXJ0IEZPUiBWQUxVRVMg SU4gKDcsIDgpCiAgIFBBUlRJVElPTiBCWSBMSVNUIChhKTsKIEVSUk9SOiAgb25seSBzaGFyZWQg cmVsYXRpb25zIGNhbiBiZSBwbGFjZWQgaW4gcGdfZ2xvYmFsIHRhYmxlc3BhY2UKZGlmZiAtLWdp dCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdXBkYXRlLm91dCBiL3NyYy90ZXN0L3JlZ3Jl c3MvZXhwZWN0ZWQvdXBkYXRlLm91dAppbmRleCBlZWYyYmFjMWNiZi4uNTg0YjQwNTk4ZWIgMTAw NjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdXBkYXRlLm91dAorKysgYi9zcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL3VwZGF0ZS5vdXQKQEAgLTYwNyw3ICs2MDcsNyBAQCBEUk9Q IFRSSUdHRVIgdHJpZ19kMTVfMjAgT04gcGFydF9kXzE1XzIwOwogRFJPUCBGVU5DVElPTiBmdW5j X3BhcnRlZF9tb2RfYigpOwogLS0gUkxTIHBvbGljaWVzIHdpdGggdXBkYXRlLXJvdy1tb3ZlbWVu dAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUFMVEVSIFRBQkxF IHJhbmdlX3BhcnRlZCBFTkFCTEUgUk9XIExFVkVMIFNFQ1VSSVRZOworQUxURVIgVEFCTEUgT05M WSByYW5nZV9wYXJ0ZWQgRU5BQkxFIFJPVyBMRVZFTCBTRUNVUklUWTsKIENSRUFURSBVU0VSIHJl Z3Jlc3NfcmFuZ2VfcGFydGVkX3VzZXI7CiBHUkFOVCBBTEwgT04gcmFuZ2VfcGFydGVkLCBtaW50 YWIgVE8gcmVncmVzc19yYW5nZV9wYXJ0ZWRfdXNlcjsKIENSRUFURSBQT0xJQ1kgc2VlYWxsIE9O IHJhbmdlX3BhcnRlZCBBUyBQRVJNSVNTSVZFIEZPUiBTRUxFQ1QgVVNJTkcgKHRydWUpOwpkaWZm IC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW0ub3V0IGIvc3JjL3Rlc3Qv cmVncmVzcy9leHBlY3RlZC92YWN1dW0ub3V0CmluZGV4IGQ0Njk2YmMzMzI1Li5mMjJiYjIxMjdl MSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC92YWN1dW0ub3V0CisrKyBi L3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdmFjdXVtLm91dApAQCAtNjE0LDcgKzYxNCw3IEBA IFZBQ1VVTSAoQU5BTFlaRSkgdmFjb3duZWRfcGFydDI7CiBXQVJOSU5HOiAgcGVybWlzc2lvbiBk ZW5pZWQgdG8gdmFjdXVtICJ2YWNvd25lZF9wYXJ0MiIsIHNraXBwaW5nIGl0CiBSRVNFVCBST0xF OwogLS0gUGFydGl0aW9uZWQgdGFibGUgYW5kIG9uZSBwYXJ0aXRpb24gb3duZWQgYnkgb3RoZXIg dXNlci4KLUFMVEVSIFRBQkxFIHZhY293bmVkX3BhcnRlZCBPV05FUiBUTyByZWdyZXNzX3ZhY3V1 bTsKK0FMVEVSIFRBQkxFIE9OTFkgdmFjb3duZWRfcGFydGVkIE9XTkVSIFRPIHJlZ3Jlc3NfdmFj dXVtOwogQUxURVIgVEFCTEUgdmFjb3duZWRfcGFydDEgT1dORVIgVE8gcmVncmVzc192YWN1dW07 CiBTRVQgUk9MRSByZWdyZXNzX3ZhY3V1bTsKIFZBQ1VVTSB2YWNvd25lZF9wYXJ0ZWQ7CkBAIC02 MzQsNyArNjM0LDcgQEAgVkFDVVVNIChBTkFMWVpFKSB2YWNvd25lZF9wYXJ0MjsKIFdBUk5JTkc6 ICBwZXJtaXNzaW9uIGRlbmllZCB0byB2YWN1dW0gInZhY293bmVkX3BhcnQyIiwgc2tpcHBpbmcg aXQKIFJFU0VUIFJPTEU7CiAtLSBPbmx5IG9uZSBwYXJ0aXRpb24gb3duZWQgYnkgb3RoZXIgdXNl ci4KLUFMVEVSIFRBQkxFIHZhY293bmVkX3BhcnRlZCBPV05FUiBUTyBDVVJSRU5UX1VTRVI7CitB TFRFUiBUQUJMRSBPTkxZIHZhY293bmVkX3BhcnRlZCBPV05FUiBUTyBDVVJSRU5UX1VTRVI7CiBT RVQgUk9MRSByZWdyZXNzX3ZhY3V1bTsKIFZBQ1VVTSB2YWNvd25lZF9wYXJ0ZWQ7CiBXQVJOSU5H OiAgcGVybWlzc2lvbiBkZW5pZWQgdG8gdmFjdXVtICJ2YWNvd25lZF9wYXJ0ZWQiLCBza2lwcGlu ZyBpdApAQCAtNjU2LDcgKzY1Niw3IEBAIFZBQ1VVTSAoQU5BTFlaRSkgdmFjb3duZWRfcGFydDI7 CiBXQVJOSU5HOiAgcGVybWlzc2lvbiBkZW5pZWQgdG8gdmFjdXVtICJ2YWNvd25lZF9wYXJ0MiIs IHNraXBwaW5nIGl0CiBSRVNFVCBST0xFOwogLS0gT25seSBwYXJ0aXRpb25lZCB0YWJsZSBvd25l ZCBieSBvdGhlciB1c2VyLgotQUxURVIgVEFCTEUgdmFjb3duZWRfcGFydGVkIE9XTkVSIFRPIHJl Z3Jlc3NfdmFjdXVtOworQUxURVIgVEFCTEUgT05MWSB2YWNvd25lZF9wYXJ0ZWQgT1dORVIgVE8g cmVncmVzc192YWN1dW07CiBBTFRFUiBUQUJMRSB2YWNvd25lZF9wYXJ0MSBPV05FUiBUTyBDVVJS RU5UX1VTRVI7CiBTRVQgUk9MRSByZWdyZXNzX3ZhY3V1bTsKIFZBQ1VVTSB2YWNvd25lZF9wYXJ0 ZWQ7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9hbHRlcl90YWJsZS5zcWwgYi9z cmMvdGVzdC9yZWdyZXNzL3NxbC9hbHRlcl90YWJsZS5zcWwKaW5kZXggNDE3MjAyNDMwYTUuLmNl YTE4ZDI3YWUzIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9hbHRlcl90YWJsZS5z cWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvYWx0ZXJfdGFibGUuc3FsCkBAIC0yOTAwLDgg KzI5MDAsNTcgQEAgQUxURVIgVEFCTEUgbGlzdF9wYXJ0ZWQyIEFMVEVSIENPTFVNTiBiIFRZUEUg dGV4dDsKIEFMVEVSIFRBQkxFIGxpc3RfcGFydGVkIERST1AgQ09MVU1OIGI7CiBTRUxFQ1QgKiBG Uk9NIGxpc3RfcGFydGVkOwogCitDUkVBVEUgVEFCTEUgbGlzdF9wYXJ0ZWQ0IChhIGludCwgYiB0 ZXh0KSBQQVJUSVRJT04gQlkgTElTVCAoYSk7CitDUkVBVEUgVEFCTEUgbGlzdF9wYXJ0ZWQ0XzEg UEFSVElUSU9OIE9GIGxpc3RfcGFydGVkNCBGT1IgVkFMVUVTIElOICgxKTsKKworLS0gc2V0IGNv bHVtbiBhdHRyaWJ1dGUgb24gcGFydGl0aW9uZWQgdGFibGUgc2hvdWxkIGdldCBhIG5vdGljZQor QUxURVIgVEFCTEUgbGlzdF9wYXJ0ZWQ0IEFMVEVSIENPTFVNTiBiIFNFVCAobl9kaXN0aW5jdCA9 IDAuMik7CitBTFRFUiBUQUJMRSBsaXN0X3BhcnRlZDQgQUxURVIgQ09MVU1OIGIgUkVTRVQgKG5f ZGlzdGluY3QpOworQUxURVIgVEFCTEUgT05MWSBsaXN0X3BhcnRlZDQgQUxURVIgQ09MVU1OIGIg U0VUIChuX2Rpc3RpbmN0ID0gMC4yKTsKK0FMVEVSIFRBQkxFIE9OTFkgbGlzdF9wYXJ0ZWQ0IEFM VEVSIENPTFVNTiBiIFJFU0VUIChuX2Rpc3RpbmN0KTsKKworLS0gZW5hYmxlL2Rpc2FibGUgcnVs ZXMgb24gcGFydGl0aW9uZWQgdGFibGVzIHNob3VsZCBnZXQgYSBub3RpY2UKK0NSRUFURSBSVUxF IGxpc3RfcGFydGVkNF9ydWxlIEFTIE9OIElOU0VSVCBUTyBsaXN0X3BhcnRlZDQgRE8gSU5TVEVB RCBOT1RISU5HOworQUxURVIgVEFCTEUgbGlzdF9wYXJ0ZWQ0IERJU0FCTEUgUlVMRSBsaXN0X3Bh cnRlZDRfcnVsZTsKK0FMVEVSIFRBQkxFIE9OTFkgbGlzdF9wYXJ0ZWQ0IERJU0FCTEUgUlVMRSBs aXN0X3BhcnRlZDRfcnVsZTsKK0FMVEVSIFRBQkxFIGxpc3RfcGFydGVkNCBFTkFCTEUgUlVMRSBs aXN0X3BhcnRlZDRfcnVsZTsKK0FMVEVSIFRBQkxFIE9OTFkgbGlzdF9wYXJ0ZWQ0IEVOQUJMRSBS VUxFIGxpc3RfcGFydGVkNF9ydWxlOworRFJPUCBSVUxFIGxpc3RfcGFydGVkNF9ydWxlIE9OIGxp c3RfcGFydGVkNDsKKworLS0gZW5hYmxlL2Rpc2FibGUgcm93IGxldmVsIHNlY3VyaXR5IG9uIHBh cnRpdGlvbmVkIHRhYmxlcyBzaG91bGQgZ2V0IGEgbm90aWNlCitBTFRFUiBUQUJMRSBsaXN0X3Bh cnRlZDQgRU5BQkxFIFJPVyBMRVZFTCBTRUNVUklUWTsKK0FMVEVSIFRBQkxFIE9OTFkgbGlzdF9w YXJ0ZWQ0IEVOQUJMRSBST1cgTEVWRUwgU0VDVVJJVFk7CitBTFRFUiBUQUJMRSBsaXN0X3BhcnRl ZDQgRElTQUJMRSBST1cgTEVWRUwgU0VDVVJJVFk7CitBTFRFUiBUQUJMRSBPTkxZIGxpc3RfcGFy dGVkNCBESVNBQkxFIFJPVyBMRVZFTCBTRUNVUklUWTsKKworLS0gZm9yY2Uvbm8gZm9yY2Ugcm93 IGxldmVsIHNlY3VyaXR5IG9uIHBhcnRpdGlvbmVkIHRhYmxlcyBzaG91bGQgZ2V0IGEgbm90aWNl CitBTFRFUiBUQUJMRSBsaXN0X3BhcnRlZDQgRk9SQ0UgUk9XIExFVkVMIFNFQ1VSSVRZOworQUxU RVIgVEFCTEUgT05MWSBsaXN0X3BhcnRlZDQgRk9SQ0UgUk9XIExFVkVMIFNFQ1VSSVRZOworQUxU RVIgVEFCTEUgbGlzdF9wYXJ0ZWQ0IE5PIEZPUkNFIFJPVyBMRVZFTCBTRUNVUklUWTsKK0FMVEVS IFRBQkxFIE9OTFkgbGlzdF9wYXJ0ZWQ0IE5PIEZPUkNFIFJPVyBMRVZFTCBTRUNVUklUWTsKKwor LS0gc2V0IHJlcGxpY2EgaWRlbnRpdHkgb24gcGFydGl0aW9uZWQgdGFibGVzIHNob3VsZCBnZXQg YSBub3RpY2UKK0FMVEVSIFRBQkxFIGxpc3RfcGFydGVkNCBSRVBMSUNBIElERU5USVRZIEZVTEw7 CitBTFRFUiBUQUJMRSBPTkxZIGxpc3RfcGFydGVkNCBSRVBMSUNBIElERU5USVRZIEZVTEw7CitB TFRFUiBUQUJMRSBsaXN0X3BhcnRlZDQgUkVQTElDQSBJREVOVElUWSBOT1RISU5HOworQUxURVIg VEFCTEUgT05MWSBsaXN0X3BhcnRlZDQgUkVQTElDQSBJREVOVElUWSBOT1RISU5HOworCistLSBz ZXQgY29tcHJlc3Npb24gb24gcGFydGl0aW9uZWQgdGFibGVzIHNob3VsZCBnZXQgYSBub3RpY2UK K0FMVEVSIFRBQkxFIGxpc3RfcGFydGVkNCBBTFRFUiBDT0xVTU4gYiBTRVQgQ09NUFJFU1NJT04g cGdsejsKK0FMVEVSIFRBQkxFIE9OTFkgbGlzdF9wYXJ0ZWQ0IEFMVEVSIENPTFVNTiBiIFNFVCBD T01QUkVTU0lPTiBwZ2x6OworCistLSBzZXQgb3duZXIgb24gcGFydGl0aW9uZWQgdGFibGVzIHNo b3VsZCBnZXQgYSBub3RpY2UKK0FMVEVSIFRBQkxFIGxpc3RfcGFydGVkNCBPV05FUiBUTyByZWdy ZXNzX2FsdGVyX3RhYmxlX3VzZXIxOworQUxURVIgVEFCTEUgT05MWSBsaXN0X3BhcnRlZDQgT1dO RVIgVE8gcmVncmVzc19hbHRlcl90YWJsZV91c2VyMTsKKworLS0gc2V0IHNjaGVtYSBvbiBwYXJ0 aXRpb25lZCB0YWJsZXMgc2hvdWxkIGdldCBhIG5vdGljZQorQ1JFQVRFIFNDSEVNQSBhbHRlcl90 YWJsZV90ZXN0X3NjaGVtYTsKK0FMVEVSIFRBQkxFIGxpc3RfcGFydGVkNCBTRVQgU0NIRU1BIGFs dGVyX3RhYmxlX3Rlc3Rfc2NoZW1hOworQUxURVIgVEFCTEUgT05MWSBhbHRlcl90YWJsZV90ZXN0 X3NjaGVtYS5saXN0X3BhcnRlZDQgU0VUIFNDSEVNQSBwdWJsaWM7CitEUk9QIFNDSEVNQSBhbHRl cl90YWJsZV90ZXN0X3NjaGVtYSBDQVNDQURFOworCiAtLSBjbGVhbnVwCi1EUk9QIFRBQkxFIGxp c3RfcGFydGVkLCBsaXN0X3BhcnRlZDIsIHJhbmdlX3BhcnRlZCwgbGlzdF9wYXJ0ZWQzOworRFJP UCBUQUJMRSBsaXN0X3BhcnRlZCwgbGlzdF9wYXJ0ZWQyLCByYW5nZV9wYXJ0ZWQsIGxpc3RfcGFy dGVkMywgbGlzdF9wYXJ0ZWQ0OwogRFJPUCBUQUJMRSBmYWlsX2RlZl9wYXJ0OwogRFJPUCBUQUJM RSBoYXNoX3BhcnRlZDsKIApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvY2x1c3Rl ci5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9jbHVzdGVyLnNxbAppbmRleCBiNzExNWY4NjEw NC4uMDZjZGIzMTFiOTcgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2NsdXN0ZXIu c3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2NsdXN0ZXIuc3FsCkBAIC0yNDEsNyArMjQx LDcgQEAgQUxURVIgVEFCTEUgcHRub3duZXIxIE9XTkVSIFRPIHJlZ3Jlc3NfcHRub3duZXI7CiBT RVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9OIHJlZ3Jlc3NfcHRub3duZXI7CiBDTFVTVEVSIHB0bm93 bmVyIFVTSU5HIHB0bm93bmVyX2lfaWR4OwogUkVTRVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9OOwot QUxURVIgVEFCTEUgcHRub3duZXIgT1dORVIgVE8gcmVncmVzc19wdG5vd25lcjsKK0FMVEVSIFRB QkxFIE9OTFkgcHRub3duZXIgT1dORVIgVE8gcmVncmVzc19wdG5vd25lcjsKIENSRUFURSBURU1Q IFRBQkxFIHB0bm93bmVyX29sZG5vZGVzIEFTCiAgIFNFTEVDVCBvaWQsIHJlbG5hbWUsIHJlbGZp bGVub2RlIEZST00gcGdfcGFydGl0aW9uX3RyZWUoJ3B0bm93bmVyJykgQVMgdHJlZQogICBKT0lO IHBnX2NsYXNzIEFTIGMgT04gYy5vaWQ9dHJlZS5yZWxpZDsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0 L3JlZ3Jlc3Mvc3FsL21lcmdlLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL21lcmdlLnNxbApp bmRleCAyNjYwYjE5ZjIzOC4uMmJmZmNmN2FhOTggMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jl c3Mvc3FsL21lcmdlLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9tZXJnZS5zcWwKQEAg LTE0MjIsOCArMTQyMiw4IEBAIFJPTExCQUNLOwogCiAtLSB0ZXN0IFJMUyBlbmZvcmNlbWVudAog QkVHSU47Ci1BTFRFUiBUQUJMRSBwYV90YXJnZXQgRU5BQkxFIFJPVyBMRVZFTCBTRUNVUklUWTsK LUFMVEVSIFRBQkxFIHBhX3RhcmdldCBGT1JDRSBST1cgTEVWRUwgU0VDVVJJVFk7CitBTFRFUiBU QUJMRSBPTkxZIHBhX3RhcmdldCBFTkFCTEUgUk9XIExFVkVMIFNFQ1VSSVRZOworQUxURVIgVEFC TEUgT05MWSBwYV90YXJnZXQgRk9SQ0UgUk9XIExFVkVMIFNFQ1VSSVRZOwogQ1JFQVRFIFBPTElD WSBwYV90YXJnZXRfcG9sIE9OIHBhX3RhcmdldCBVU0lORyAodGlkICE9IDApOwogTUVSR0UgSU5U TyBwYV90YXJnZXQgdAogICBVU0lORyBwYV9zb3VyY2UgcwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3Qv cmVncmVzcy9zcWwvcGFydGl0aW9uX21lcmdlLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Bh cnRpdGlvbl9tZXJnZS5zcWwKaW5kZXggYTIxMWZlZTJhZDEuLjczYmZmYjUzMGRkIDEwMDY0NAot LS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9wYXJ0aXRpb25fbWVyZ2Uuc3FsCisrKyBiL3NyYy90 ZXN0L3JlZ3Jlc3Mvc3FsL3BhcnRpdGlvbl9tZXJnZS5zcWwKQEAgLTU3MSw3ICs1NzEsNyBAQCBT RVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9OIHJlZ3Jlc3NfcGFydGl0aW9uX21lcmdlX2JvYjsKIEFM VEVSIFRBQkxFIHQgTUVSR0UgUEFSVElUSU9OUyAodHBfMF8xLCB0cF8xXzIpIElOVE8gdHBfMF8y OwogUkVTRVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9OOwogCi1BTFRFUiBUQUJMRSB0IE9XTkVSIFRP IHJlZ3Jlc3NfcGFydGl0aW9uX21lcmdlX2JvYjsKK0FMVEVSIFRBQkxFIE9OTFkgdCBPV05FUiBU TyByZWdyZXNzX3BhcnRpdGlvbl9tZXJnZV9ib2I7CiBTRVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9O IHJlZ3Jlc3NfcGFydGl0aW9uX21lcmdlX2JvYjsKIC0tIEVSUk9SOiAgbXVzdCBiZSBvd25lciBv ZiB0YWJsZSB0cF8wXzEKIEFMVEVSIFRBQkxFIHQgTUVSR0UgUEFSVElUSU9OUyAodHBfMF8xLCB0 cF8xXzIpIElOVE8gdHBfMF8yOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcGFy dGl0aW9uX3NwbGl0LnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3BhcnRpdGlvbl9zcGxpdC5z cWwKaW5kZXggMzdjNmQ3MzA4NDAuLmY0ZjljNzg4NmU0IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9y ZWdyZXNzL3NxbC9wYXJ0aXRpb25fc3BsaXQuc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3Fs L3BhcnRpdGlvbl9zcGxpdC5zcWwKQEAgLTk2MCw3ICs5NjAsNyBAQCBBTFRFUiBUQUJMRSB0IFNQ TElUIFBBUlRJVElPTiB0cF8wXzIgSU5UTwogICAgUEFSVElUSU9OIHRwXzFfMiBGT1IgVkFMVUVT IEZST00gKDEpIFRPICgyKSk7IC0tZXJyb3IKIFJFU0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTjsK IAotQUxURVIgVEFCTEUgdCBPV05FUiBUTyByZWdyZXNzX3BhcnRpdGlvbl9zcGxpdF9ib2I7CitB TFRFUiBUQUJMRSBPTkxZIHQgT1dORVIgVE8gcmVncmVzc19wYXJ0aXRpb25fc3BsaXRfYm9iOwog U0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTiByZWdyZXNzX3BhcnRpdGlvbl9zcGxpdF9ib2I7CiBB TFRFUiBUQUJMRSB0IFNQTElUIFBBUlRJVElPTiB0cF8wXzIgSU5UTwogICAoUEFSVElUSU9OIHRw XzBfMSBGT1IgVkFMVUVTIEZST00gKDApIFRPICgxKSwKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3Jl Z3Jlc3Mvc3FsL3ByaXZpbGVnZXMuc3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcHJpdmlsZWdl cy5zcWwKaW5kZXggOTZlZmYxMTA0ZDIuLjU1ZjA0M2ZkMDQ5IDEwMDY0NAotLS0gYS9zcmMvdGVz dC9yZWdyZXNzL3NxbC9wcml2aWxlZ2VzLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9w cml2aWxlZ2VzLnNxbApAQCAtMTIxMiw3ICsxMjEyLDcgQEAgU0VMRUNUIGJyaW5fc3VtbWFyaXpl X3JhbmdlKCdzcm9fYnJpbicsIDApOwogRFJPUCBUQUJMRSBzcm9fdGFiOwogLS0gQ2hlY2sgd2l0 aCBhIHBhcnRpdGlvbmVkIHRhYmxlCiBDUkVBVEUgVEFCTEUgc3JvX3B0YWIgKGEgaW50KSBQQVJU SVRJT04gQlkgUkFOR0UgKGEpOwotQUxURVIgVEFCTEUgc3JvX3B0YWIgT1dORVIgVE8gcmVncmVz c19zcm9fdXNlcjsKK0FMVEVSIFRBQkxFIE9OTFkgc3JvX3B0YWIgT1dORVIgVE8gcmVncmVzc19z cm9fdXNlcjsKIENSRUFURSBUQUJMRSBzcm9fcGFydCBQQVJUSVRJT04gT0Ygc3JvX3B0YWIgRk9S IFZBTFVFUyBGUk9NICgxKSBUTyAoMTApOwogQUxURVIgVEFCTEUgc3JvX3BhcnQgT1dORVIgVE8g cmVncmVzc19zcm9fdXNlcjsKIElOU0VSVCBJTlRPIHNyb19wdGFiIFZBTFVFUyAoMSksICgyKSwg KDMpOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcm93c2VjdXJpdHkuc3FsIGIv c3JjL3Rlc3QvcmVncmVzcy9zcWwvcm93c2VjdXJpdHkuc3FsCmluZGV4IDVkOTIzYzVjYTNiLi4w ZDcwZDI2MGRmZCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcm93c2VjdXJpdHku c3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Jvd3NlY3VyaXR5LnNxbApAQCAtNDgzLDcg KzQ4Myw3IEBAIElOU0VSVCBJTlRPIHBhcnRfZG9jdW1lbnQgVkFMVUVTCiAgICAgKCA5LCAxMSwg MSwgJ3JlZ3Jlc3NfcmxzX2RhdmUnLCAnYXdlc29tZSBzY2llbmNlIGZpY3Rpb24nKSwKICAgICAo MTAsIDk5LCAyLCAncmVncmVzc19ybHNfZGF2ZScsICdhd2Vzb21lIHRlY2hub2xvZ3kgYm9vaycp OwogCi1BTFRFUiBUQUJMRSBwYXJ0X2RvY3VtZW50IEVOQUJMRSBST1cgTEVWRUwgU0VDVVJJVFk7 CitBTFRFUiBUQUJMRSBPTkxZIHBhcnRfZG9jdW1lbnQgRU5BQkxFIFJPVyBMRVZFTCBTRUNVUklU WTsKIAogLS0gQ3JlYXRlIHBvbGljeSBvbiBwYXJlbnQKIC0tIHVzZXIncyBzZWN1cml0eSBsZXZl bCBtdXN0IGJlIGhpZ2hlciB0aGFuIG9yIGVxdWFsIHRvIGRvY3VtZW50J3MKQEAgLTIzNTgsNyAr MjM1OCw3IEBAIENSRUFURSBUQUJMRSBybHNfcGFydCBQQVJUSVRJT04gT0YgcmxzX3B0YmwgRk9S IFZBTFVFUyBGUk9NICgtMTAwKSBUTyAoMTAwKTsKIElOU0VSVCBJTlRPIHJsc19wdGJsIFNFTEVD VCB4LzEwIEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsIDEwMCkgeDsKIEFOQUxZWkUgcmxzX3B0Ymws IHJsc19wYXJ0OwogCi1BTFRFUiBUQUJMRSBybHNfcHRibCBFTkFCTEUgUk9XIExFVkVMIFNFQ1VS SVRZOworQUxURVIgVEFCTEUgT05MWSBybHNfcHRibCBFTkFCTEUgUk9XIExFVkVMIFNFQ1VSSVRZ OwogQUxURVIgVEFCTEUgcmxzX3BhcnQgRU5BQkxFIFJPVyBMRVZFTCBTRUNVUklUWTsKIEdSQU5U IFNFTEVDVCBPTiBybHNfcHRibCBUTyByZWdyZXNzX3Jsc19hbGljZTsKIEdSQU5UIFNFTEVDVCBP TiBybHNfcGFydCBUTyByZWdyZXNzX3Jsc19hbGljZTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3Jl Z3Jlc3Mvc3FsL3RhYmxlc3BhY2Uuc3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdGFibGVzcGFj ZS5zcWwKaW5kZXggZGZlM2RiMDk2ZTIuLmM4NmVjMjYxZWQ1IDEwMDY0NAotLS0gYS9zcmMvdGVz dC9yZWdyZXNzL3NxbC90YWJsZXNwYWNlLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC90 YWJsZXNwYWNlLnNxbApAQCAtMTk1LDEzICsxOTUsMTMgQEAgU0VUIGRlZmF1bHRfdGFibGVzcGFj ZSBUTyByZWdyZXNzX3RibHNwYWNlOwogQ1JFQVRFIFRBQkxFIHRlc3RzY2hlbWEucGFydF8yIFBB UlRJVElPTiBPRiB0ZXN0c2NoZW1hLnBhcnQgRk9SIFZBTFVFUyBJTiAoMik7CiBTRVQgZGVmYXVs dF90YWJsZXNwYWNlIFRPIHBnX2dsb2JhbDsKIENSRUFURSBUQUJMRSB0ZXN0c2NoZW1hLnBhcnRf MyBQQVJUSVRJT04gT0YgdGVzdHNjaGVtYS5wYXJ0IEZPUiBWQUxVRVMgSU4gKDMpOwotQUxURVIg VEFCTEUgdGVzdHNjaGVtYS5wYXJ0IFNFVCBUQUJMRVNQQUNFIHJlZ3Jlc3NfdGJsc3BhY2U7CitB TFRFUiBUQUJMRSBPTkxZIHRlc3RzY2hlbWEucGFydCBTRVQgVEFCTEVTUEFDRSByZWdyZXNzX3Ri bHNwYWNlOwogQ1JFQVRFIFRBQkxFIHRlc3RzY2hlbWEucGFydF8zIFBBUlRJVElPTiBPRiB0ZXN0 c2NoZW1hLnBhcnQgRk9SIFZBTFVFUyBJTiAoMyk7CiBDUkVBVEUgVEFCTEUgdGVzdHNjaGVtYS5w YXJ0XzQgUEFSVElUSU9OIE9GIHRlc3RzY2hlbWEucGFydCBGT1IgVkFMVUVTIElOICg0KQogICBU QUJMRVNQQUNFIHBnX2RlZmF1bHQ7CiBDUkVBVEUgVEFCTEUgdGVzdHNjaGVtYS5wYXJ0XzU2IFBB UlRJVElPTiBPRiB0ZXN0c2NoZW1hLnBhcnQgRk9SIFZBTFVFUyBJTiAoNSwgNikKICAgUEFSVElU SU9OIEJZIExJU1QgKGEpOwotQUxURVIgVEFCTEUgdGVzdHNjaGVtYS5wYXJ0IFNFVCBUQUJMRVNQ QUNFIHBnX2RlZmF1bHQ7CitBTFRFUiBUQUJMRSBPTkxZIHRlc3RzY2hlbWEucGFydCBTRVQgVEFC TEVTUEFDRSBwZ19kZWZhdWx0OwogQ1JFQVRFIFRBQkxFIHRlc3RzY2hlbWEucGFydF83OCBQQVJU SVRJT04gT0YgdGVzdHNjaGVtYS5wYXJ0IEZPUiBWQUxVRVMgSU4gKDcsIDgpCiAgIFBBUlRJVElP TiBCWSBMSVNUIChhKTsKIENSRUFURSBUQUJMRSB0ZXN0c2NoZW1hLnBhcnRfOTEwIFBBUlRJVElP TiBPRiB0ZXN0c2NoZW1hLnBhcnQgRk9SIFZBTFVFUyBJTiAoOSwgMTApCmRpZmYgLS1naXQgYS9z cmMvdGVzdC9yZWdyZXNzL3NxbC91cGRhdGUuc3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdXBk YXRlLnNxbAppbmRleCA4YjQ3MDdlYjljMy4uNTZiMWVkYjAwY2UgMTAwNjQ0Ci0tLSBhL3NyYy90 ZXN0L3JlZ3Jlc3Mvc3FsL3VwZGF0ZS5zcWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdXBk YXRlLnNxbApAQCAtMzQxLDcgKzM0MSw3IEBAIERST1AgRlVOQ1RJT04gZnVuY19wYXJ0ZWRfbW9k X2IoKTsKIC0tIFJMUyBwb2xpY2llcyB3aXRoIHVwZGF0ZS1yb3ctbW92ZW1lbnQKIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLUFMVEVSIFRBQkxFIHJhbmdlX3Bh cnRlZCBFTkFCTEUgUk9XIExFVkVMIFNFQ1VSSVRZOworQUxURVIgVEFCTEUgT05MWSByYW5nZV9w YXJ0ZWQgRU5BQkxFIFJPVyBMRVZFTCBTRUNVUklUWTsKIENSRUFURSBVU0VSIHJlZ3Jlc3NfcmFu Z2VfcGFydGVkX3VzZXI7CiBHUkFOVCBBTEwgT04gcmFuZ2VfcGFydGVkLCBtaW50YWIgVE8gcmVn cmVzc19yYW5nZV9wYXJ0ZWRfdXNlcjsKIENSRUFURSBQT0xJQ1kgc2VlYWxsIE9OIHJhbmdlX3Bh cnRlZCBBUyBQRVJNSVNTSVZFIEZPUiBTRUxFQ1QgVVNJTkcgKHRydWUpOwpkaWZmIC0tZ2l0IGEv c3JjL3Rlc3QvcmVncmVzcy9zcWwvdmFjdXVtLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Zh Y3V1bS5zcWwKaW5kZXggMjQ3YjhlMjNiMjMuLmFjZmY1ODI0ZWJiIDEwMDY0NAotLS0gYS9zcmMv dGVzdC9yZWdyZXNzL3NxbC92YWN1dW0uc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Zh Y3V1bS5zcWwKQEAgLTQ1Miw3ICs0NTIsNyBAQCBWQUNVVU0gKEFOQUxZWkUpIHZhY293bmVkX3Bh cnQxOwogVkFDVVVNIChBTkFMWVpFKSB2YWNvd25lZF9wYXJ0MjsKIFJFU0VUIFJPTEU7CiAtLSBQ YXJ0aXRpb25lZCB0YWJsZSBhbmQgb25lIHBhcnRpdGlvbiBvd25lZCBieSBvdGhlciB1c2VyLgot QUxURVIgVEFCTEUgdmFjb3duZWRfcGFydGVkIE9XTkVSIFRPIHJlZ3Jlc3NfdmFjdXVtOworQUxU RVIgVEFCTEUgT05MWSB2YWNvd25lZF9wYXJ0ZWQgT1dORVIgVE8gcmVncmVzc192YWN1dW07CiBB TFRFUiBUQUJMRSB2YWNvd25lZF9wYXJ0MSBPV05FUiBUTyByZWdyZXNzX3ZhY3V1bTsKIFNFVCBS T0xFIHJlZ3Jlc3NfdmFjdXVtOwogVkFDVVVNIHZhY293bmVkX3BhcnRlZDsKQEAgLTQ2Niw3ICs0 NjYsNyBAQCBWQUNVVU0gKEFOQUxZWkUpIHZhY293bmVkX3BhcnQxOwogVkFDVVVNIChBTkFMWVpF KSB2YWNvd25lZF9wYXJ0MjsKIFJFU0VUIFJPTEU7CiAtLSBPbmx5IG9uZSBwYXJ0aXRpb24gb3du ZWQgYnkgb3RoZXIgdXNlci4KLUFMVEVSIFRBQkxFIHZhY293bmVkX3BhcnRlZCBPV05FUiBUTyBD VVJSRU5UX1VTRVI7CitBTFRFUiBUQUJMRSBPTkxZIHZhY293bmVkX3BhcnRlZCBPV05FUiBUTyBD VVJSRU5UX1VTRVI7CiBTRVQgUk9MRSByZWdyZXNzX3ZhY3V1bTsKIFZBQ1VVTSB2YWNvd25lZF9w YXJ0ZWQ7CiBWQUNVVU0gdmFjb3duZWRfcGFydDE7CkBAIC00NzksNyArNDc5LDcgQEAgVkFDVVVN IChBTkFMWVpFKSB2YWNvd25lZF9wYXJ0MTsKIFZBQ1VVTSAoQU5BTFlaRSkgdmFjb3duZWRfcGFy dDI7CiBSRVNFVCBST0xFOwogLS0gT25seSBwYXJ0aXRpb25lZCB0YWJsZSBvd25lZCBieSBvdGhl ciB1c2VyLgotQUxURVIgVEFCTEUgdmFjb3duZWRfcGFydGVkIE9XTkVSIFRPIHJlZ3Jlc3NfdmFj dXVtOworQUxURVIgVEFCTEUgT05MWSB2YWNvd25lZF9wYXJ0ZWQgT1dORVIgVE8gcmVncmVzc192 YWN1dW07CiBBTFRFUiBUQUJMRSB2YWNvd25lZF9wYXJ0MSBPV05FUiBUTyBDVVJSRU5UX1VTRVI7 CiBTRVQgUk9MRSByZWdyZXNzX3ZhY3V1bTsKIFZBQ1VVTSB2YWNvd25lZF9wYXJ0ZWQ7Ci0tIAoy LjUwLjEgKEFwcGxlIEdpdC0xNTUpCgo= --000000000000a4d0870648f38bce--