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 1vy8EC-00HSwM-1k for pgsql-hackers@arkaria.postgresql.org; Thu, 05 Mar 2026 12:54:57 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vy8EA-00HBOl-2J for pgsql-hackers@arkaria.postgresql.org; Thu, 05 Mar 2026 12:54:55 +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 1vy8EA-00HBOd-0N for pgsql-hackers@lists.postgresql.org; Thu, 05 Mar 2026 12:54:54 +0000 Received: from mail-yx1-xb12c.google.com ([2607:f8b0:4864:20::b12c]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1vy8E4-00000000wAC-0QXL for pgsql-hackers@lists.postgresql.org; Thu, 05 Mar 2026 12:54:54 +0000 Received: by mail-yx1-xb12c.google.com with SMTP id 956f58d0204a3-64ca09f2170so8390298d50.1 for ; Thu, 05 Mar 2026 04:54:48 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1772715287; cv=none; d=google.com; s=arc-20240605; b=JFHMfdTIB/oSfuhXxgmutMtQmaz+G8+ilLGL+INWmZDt12cBt9L0f+jXZaVTsxl2st DRMWNlUu7faKOz7kVVOP8QbMxmvVtoPAOrP7kjKlCdhWcQ5pwxZ0PqiZxYUVm1FwaPzB liEeuBO0Rc6XHb8hZlJYpAYThABipcwKGFoxkFUEWnOU/+kEzvXX8jIPt9UtS5gSa/UG xBMdSCkIFv/oijFzi1SNzbSyyMqvbPPbxG+2RuTbUptNJJ+zEJ/FNwgM91rDj3HxsOsS kmi7/5eJngCJm2N1d7tb7Lxb/Q67Xya8IdRaBnJEdkvQI8FoGOca2g0kZOAR0qymlSmS Nfbw== 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=0igAIdJXRjNWSPFajcfFdXZx0sufl16Uy4+WrBkRZ0E=; fh=DM93uH3yrF4DPPX8Y9V5dMqy4/x8ZfJipUK5QQFIBhE=; b=UEz6BKvb3zaQljdEG83KI6QLyNDBVai5V9HhRo2lyATMH2DZPfSNpql9oPjIRgR28X Hnwf5zFWSSnm23CsmGMku7zUPyBGrCNNVtZYyxAetuH916K2ph0QsObJlCyPhBvl734e gLVd9pyteeljkqP07T83kY3uYZD+CMBSCdUw4uA5VfQPPR2MXkEWNQj1NFP6Fd9ffm6y FHi0H04cV/fAB9c42sSYDOiFJXE8BB53PTvClDQTkDiVm69hWSAtxliOcdfrSNnRv8uZ /F4pFPsMpKTvLycbPkcWI1Ea2eIL6s+pzv0wF2FmeKKk5Qa6HOH9hwV8XjF8GhCdExtj sn0A==; 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=1772715287; x=1773320087; 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=0igAIdJXRjNWSPFajcfFdXZx0sufl16Uy4+WrBkRZ0E=; b=hN4z4qzxepp5J8Mi+oQ+pI/kz1pKkCz/6g3rK+57qrrX+ru185AbyyJk10YegAmXT4 XAi2vzbw5q2EUQcuPnYpN1LHFC5ar60OUhgmgYDCzpvGDUloXERsEYRBrEJLt8PmsbF6 MTHrYXt93fQ7+ed9KJqN6o3t9QN7zvzYxaEvHQ9CcRogDS/OmrHVTFtSyo5Y/pj5mnAy Cb3s+leOLnEDL/m9JtX/FHJj5VGhtEHDyvdKt/AYoXdyGV+GbUlGV4P3mjYqvQMQgTM3 lTfsw3WF5wPjFMrLbipTtWNNP1rrHvwrbZkua9B0TZhj1XMGmdH1AY0IerpqbmJZ2nvC W2dg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772715287; x=1773320087; 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=0igAIdJXRjNWSPFajcfFdXZx0sufl16Uy4+WrBkRZ0E=; b=UhVIFFn4expHvbuRitXdEylR7Aebk/fC11kv0i/G7SRLyKEUlErpk4i+mrJdZSicrz 3xc00yWFlj7UTWV0/HpuHpE8IUwJqF+9N3hvq9cM705Y71qno9b7Y7n36KtL40WZZEaC O/54+xNQar/Ok96fMvHH5FXByJBsnN0QrCuC70y7s/xamxbJMnDvXB8Jwk8lUNf9cCYc SBXpLwFPmOdhQPX8+7rOTPTtqPxCIDtqms/Vvdvf/sPkMIPVQpLmHePRiMJIgsjDtWhx zsWEGqeXOWxyqrmNdIUvUJaXiE4h/tn0JGwtsyVSALbvtSGs0DzTDtu5t4f7QqAyVwSm V74A== X-Gm-Message-State: AOJu0Yyiai1LaEzwVKnweO7m7iAls6wPsa1s03G6Hq0/5MjLs5iV/a1k XQNmwrZSr30URRyeu5Fl4LlF633Z5nW3V4IU+2Y+ykIQluHfKA/oJhtQkip2A4/8SpfPNWqoeF+ xDpMTZBAdJQ0aJ+rHZiW0S6QSJz+F+lg= X-Gm-Gg: ATEYQzzZY1o2W467oMZuq6JgpU61ebXJMAo7DJ2R748oaPDDvjPj0/2A0YyFed8vENo FEyr0QVUSIHthGrj7Jmy7LtseOtSwVfI8K0LgTJCFsH51/n3OFkT28fMjW+arosZbSKOO7c7Z9o 1lzfk/8bDdQkgNCNXvv0zPPolVf8FINKse0GFNVFuMONUiqZLDPQg/WPhROtQf4YPhatsmHH+2c 9+WvVeVH5cmyV527OnAPh3oaks5vBPpkEEvrdLONy1Bj87i46jqh5ufI+GwvVPVu2uS3Ho37K8N fIhcIgrAIJ1EBJPGyLOio3dgdCLCeFx8q4KkTcIJyXl+VU0wmKNfSghCbXrU8yct+M23bIMC0+k yZTuJb2vq1wA+ZYgdAQLuqFZIFptHDcX0xBgIbyJmF6mvMy7BFWEbjwcPsw== X-Received: by 2002:a53:ece4:0:b0:64c:9bc9:307f with SMTP id 956f58d0204a3-64cf9bb0fecmr3560728d50.42.1772715286584; Thu, 05 Mar 2026 04:54:46 -0800 (PST) MIME-Version: 1.0 References: <177261853144.1094601.11795093672679754617.pgcf@coridan.postgresql.org> In-Reply-To: <177261853144.1094601.11795093672679754617.pgcf@coridan.postgresql.org> From: Pavel Stehule Date: Thu, 5 Mar 2026 13:54:06 +0100 X-Gm-Features: AaiRm51owy8Z__Rul7cVSF0EKRGIJ28ZftekTVTpdrB9jUgMXnvHRIkeAeGBsQA Message-ID: Subject: Re: proposal: schema variables To: Haritabh Gupta Cc: pgsql-hackers@lists.postgresql.org Content-Type: multipart/mixed; boundary="000000000000f2b535064c467044" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000f2b535064c467044 Content-Type: multipart/alternative; boundary="000000000000f2b534064c467042" --000000000000f2b534064c467042 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi st 4. 3. 2026 v 11:03 odes=C3=ADlatel Haritabh Gupta napsal: > Hi, > > While reviewing I came across this behaviour and wanted to > check whether it's intended: > > CREATE TEMP VARIABLE y AS int; > LET y =3D 42; > > BEGIN; > SAVEPOINT s1; > LET y =3D generate_series(1,2); -- ERROR: too many rows > ROLLBACK TO s1; > SELECT VARIABLE(y); -- returns 1, not 42 > > It looks like svariableReceiveSlot writes the first row to the > variable (pfree'ing the old datum) before the second row triggers the > error, so the old value is lost even though LET failed. > > I understand variable values are intentionally non-transactional, but > is it expected that a failed LET has this side effect? > please, check attached patch Regards Pavel > > --- > Haritabh Gupta > Supabase --000000000000f2b534064c467042 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi

st 4. 3. 2026 v=C2=A011:03 od= es=C3=ADlatel Haritabh Gupta <= haritabh1992@gmail.com> napsal:
Hi,

While reviewing I came across this behaviour and wanted to
check whether it's intended:

=C2=A0 =C2=A0 CREATE TEMP VARIABLE y AS int;
=C2=A0 =C2=A0 LET y =3D 42;

=C2=A0 =C2=A0 BEGIN;
=C2=A0 =C2=A0 SAVEPOINT s1;
=C2=A0 =C2=A0 LET y =3D generate_series(1,2);=C2=A0 -- ERROR: too many rows=
=C2=A0 =C2=A0 ROLLBACK TO s1;
=C2=A0 =C2=A0 SELECT VARIABLE(y);=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = -- returns 1, not 42

It looks like svariableReceiveSlot writes the first row to the
variable (pfree'ing the old datum) before the second row triggers the error, so the old value is lost even though LET failed.

I understand variable values are intentionally non-transactional, but
is it expected that a failed LET has this side effect?

please, check attached patch

Rega= rds

Pavel
=C2=A0

---
Haritabh Gupta
Supabase
--000000000000f2b534064c467042-- --000000000000f2b535064c467044 Content-Type: text/x-patch; charset="US-ASCII"; name="v20260305-0011-subtransaction-support-for-session-variables-DDL-CRE.patch" Content-Disposition: attachment; filename="v20260305-0011-subtransaction-support-for-session-variables-DDL-CRE.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmdgvcna0 RnJvbSBkNjJkZjcwNzI1NWU5OGNmZDZhMTMwMzcyYTFkOGMwNDAxOTc1OGIxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPG9rYm9iQGdpdGh1Yi5jb20+ CkRhdGU6IE1vbiwgOCBEZWMgMjAyNSAwNTowMDoxMiArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMTEv MTFdIHN1YnRyYW5zYWN0aW9uIHN1cHBvcnQgZm9yIHNlc3Npb24gdmFyaWFibGVzIERETAogKENS RUFURSwgRFJPUCkKCklmIHdlIHN1cHBvcnQgdHJhbnNhY3Rpb25hbCBEREwgZm9yIENSRUFURSwg RFJPUCBzZXNzaW9uICB2YXJpYWJsZXMsIHdlIHNob3VsZCB0bwpzdXBwb3J0IHN1YnRyYW5zYWN0 aW9ucyB0b28uIEltcGxlbWVudGF0aW9uIGlzIHNpbXBsZS4gQW55IHZhbHVlIGhhcyB0d28gbmV3 IGZsYWdzOgpjcmVhdGVkX3N1YmlkIGFuZCBkcm9wcGVkX3N1YmlkLiBBdCB0aGUgc3VidHJhbnNh Y3Rpb24gZW5kIGZvciByb2xsYmFjayB3ZQpjbGVhbiBlbnRyaWVzIGZyb20gdGhlIHN0YWNrIHJl bGF0ZWQgdG8gc3VidHJhbnNhY3Rpb25zLiBXaGVuIGNvbW1pdCB3ZSB1cGRhdGUKY3JlYXRlZF9z dWJpZCBhbmQgZHJvcHBlZF9zdWJpZCBmb3IgcGFyZW50IHN1YnRyYW5zYWN0aW9uLgotLS0KIHNy Yy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hhY3QuYyAgICAgICAgICAgICB8ICAgNCArCiBzcmMv YmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMgICAgICAgfCAxMDkgKysrKysrKysr KysrKysrKysrCiBzcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmggICAgICAg fCAgIDMgKwogLi4uL2V4cGVjdGVkL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5vdXQgICAgICAgIHwg IDIxICsrKysKIC4uLi9yZWdyZXNzL3NxbC9zZXNzaW9uX3ZhcmlhYmxlc19kZGwuc3FsICAgICB8 ICAxMiArKwogNSBmaWxlcyBjaGFuZ2VkLCAxNDkgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hhY3QuYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy90 cmFuc2FtL3hhY3QuYwppbmRleCBkYTUxNzA4NjFiOC4uZDMyZWU0OTNhNDggMTAwNjQ0Ci0tLSBh L3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hhY3QuYworKysgYi9zcmMvYmFja2VuZC9hY2Nl c3MvdHJhbnNhbS94YWN0LmMKQEAgLTUyMTIsNiArNTIxMiw4IEBAIENvbW1pdFN1YlRyYW5zYWN0 aW9uKHZvaWQpCiAJQXRFT1N1YlhhY3RfU1BJKHRydWUsIHMtPnN1YlRyYW5zYWN0aW9uSWQpOwog CUF0RU9TdWJYYWN0X29uX2NvbW1pdF9hY3Rpb25zKHRydWUsIHMtPnN1YlRyYW5zYWN0aW9uSWQs CiAJCQkJCQkJCSAgcy0+cGFyZW50LT5zdWJUcmFuc2FjdGlvbklkKTsKKwlBdEVPU3ViWGFjdF9T ZXNzaW9uVmFyaWFibGVzKHRydWUsIHMtPnN1YlRyYW5zYWN0aW9uSWQsCisJCQkJCQkJCSBzLT5w YXJlbnQtPnN1YlRyYW5zYWN0aW9uSWQpOwogCUF0RU9TdWJYYWN0X05hbWVzcGFjZSh0cnVlLCBz LT5zdWJUcmFuc2FjdGlvbklkLAogCQkJCQkJICBzLT5wYXJlbnQtPnN1YlRyYW5zYWN0aW9uSWQp OwogCUF0RU9TdWJYYWN0X0ZpbGVzKHRydWUsIHMtPnN1YlRyYW5zYWN0aW9uSWQsCkBAIC01Mzgx LDYgKzUzODMsOCBAQCBBYm9ydFN1YlRyYW5zYWN0aW9uKHZvaWQpCiAJCUF0RU9TdWJYYWN0X1NQ SShmYWxzZSwgcy0+c3ViVHJhbnNhY3Rpb25JZCk7CiAJCUF0RU9TdWJYYWN0X29uX2NvbW1pdF9h Y3Rpb25zKGZhbHNlLCBzLT5zdWJUcmFuc2FjdGlvbklkLAogCQkJCQkJCQkJICBzLT5wYXJlbnQt PnN1YlRyYW5zYWN0aW9uSWQpOworCQlBdEVPU3ViWGFjdF9TZXNzaW9uVmFyaWFibGVzKGZhbHNl LCBzLT5zdWJUcmFuc2FjdGlvbklkLAorCQkJCQkJCQkJIHMtPnBhcmVudC0+c3ViVHJhbnNhY3Rp b25JZCk7CiAJCUF0RU9TdWJYYWN0X05hbWVzcGFjZShmYWxzZSwgcy0+c3ViVHJhbnNhY3Rpb25J ZCwKIAkJCQkJCQkgIHMtPnBhcmVudC0+c3ViVHJhbnNhY3Rpb25JZCk7CiAJCUF0RU9TdWJYYWN0 X0ZpbGVzKGZhbHNlLCBzLT5zdWJUcmFuc2FjdGlvbklkLApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vz c2lvbl92YXJpYWJsZS5jCmluZGV4IDhmMjQ5ZDUxNWQ1Li40YTMxMWQyNDk4YiAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5jCisrKyBiL3NyYy9iYWNr ZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuYwpAQCAtMTQsNiArMTQsNyBAQAogICovCiAj aW5jbHVkZSAicG9zdGdyZXMuaCIKIAorI2luY2x1ZGUgImFjY2Vzcy94YWN0LmgiCiAjaW5jbHVk ZSAiY2F0YWxvZy9wZ19sYW5ndWFnZS5oIgogI2luY2x1ZGUgImNvbW1hbmRzL3Nlc3Npb25fdmFy aWFibGUuaCIKICNpbmNsdWRlICJleGVjdXRvci9leGVjdXRvci5oIgpAQCAtNTksNiArNjAsOCBA QCB0eXBlZGVmIHN0cnVjdCBTVmFyaWFibGVEYXRhCiAJYm9vbAkJc3RhY2tlZDsKIAlMb2NhbFRy YW5zYWN0aW9uSWQgY3JlYXRlZF9seGlkOwogCUxvY2FsVHJhbnNhY3Rpb25JZCBkcm9wcGVkX2x4 aWQ7CisJU3ViVHJhbnNhY3Rpb25JZCBjcmVhdGVkX3N1YmlkOworCVN1YlRyYW5zYWN0aW9uSWQg ZHJvcHBlZF9zdWJpZDsKIH0gU1ZhcmlhYmxlRGF0YTsKIAogdHlwZWRlZiBTVmFyaWFibGVEYXRh ICpTVmFyaWFibGU7CkBAIC0zNDksNiArMzUyLDggQEAgQ3JlYXRlVmFyaWFibGUoUGFyc2VTdGF0 ZSAqcHN0YXRlLCBDcmVhdGVTZXNzaW9uVmFyU3RtdCAqc3RtdCkKIAlzdmFyLT5zdGFja2VkID0g ZmFsc2U7CiAJc3Zhci0+ZHJvcHBlZF9seGlkID0gSW52YWxpZExvY2FsVHJhbnNhY3Rpb25JZDsK IAlzdmFyLT5jcmVhdGVkX2x4aWQgPSBNeVByb2MtPnZ4aWQubHhpZDsKKwlzdmFyLT5kcm9wcGVk X3N1YmlkID0gSW52YWxpZFN1YlRyYW5zYWN0aW9uSWQ7CisJc3Zhci0+Y3JlYXRlZF9zdWJpZCA9 IEdldEN1cnJlbnRTdWJUcmFuc2FjdGlvbklkKCk7CiAJY3JlYXRlZF9vcl9kcm9wcGVkX2x4aWQg PSBNeVByb2MtPnZ4aWQubHhpZDsKIH0KIApAQCAtMzg1LDYgKzM5MCw3IEBAIERyb3BWYXJpYWJs ZUJ5TmFtZShEcm9wU2Vzc2lvblZhclN0bXQgKnN0bXQpCiAJCQkJCQlzdG10LT5uYW1lKSkpOwog CiAJc3Zhci0+ZHJvcHBlZF9seGlkID0gTXlQcm9jLT52eGlkLmx4aWQ7CisJc3Zhci0+ZHJvcHBl ZF9zdWJpZCA9IEdldEN1cnJlbnRTdWJUcmFuc2FjdGlvbklkKCk7CiAJY3JlYXRlZF9vcl9kcm9w cGVkX2x4aWQgPSBNeVByb2MtPnZ4aWQubHhpZDsKIH0KIApAQCAtNDU0LDYgKzQ2MCw3IEBAIEF0 UHJlRU9YYWN0X1Nlc3Npb25WYXJpYWJsZXMoYm9vbCBpc0NvbW1pdCkKIAkJCQkJCWZyZWVfc3Rh Y2tlZF9zdmFycyhzdmFyLT5wcmV2KTsKIAkJCQkJCXN2YXItPnByZXYgPSBOVUxMOwogCQkJCQkJ c3Zhci0+Y3JlYXRlZF9seGlkID0gSW52YWxpZExvY2FsVHJhbnNhY3Rpb25JZDsKKwkJCQkJCXN2 YXItPmNyZWF0ZWRfc3ViaWQgPSBJbnZhbGlkU3ViVHJhbnNhY3Rpb25JZDsKIAkJCQkJfQogCQkJ CX0KIAkJCQllbHNlCkBAIC01MDAsNiArNTA3LDcgQEAgQXRQcmVFT1hhY3RfU2Vzc2lvblZhcmlh Ymxlcyhib29sIGlzQ29tbWl0KQogCiAJCQkJCQkvKiByZXZlcnQgZHJvcHBlZCBmbGFnICovCiAJ CQkJCQlzdmFyLT5kcm9wcGVkX2x4aWQgPSBJbnZhbGlkTG9jYWxUcmFuc2FjdGlvbklkOworCQkJ CQkJc3Zhci0+ZHJvcHBlZF9zdWJpZCA9IEludmFsaWRTdWJUcmFuc2FjdGlvbklkOwogCQkJCQl9 CiAJCQkJfQogCQkJfQpAQCAtNTA5LDYgKzUxNywxMDcgQEAgQXRQcmVFT1hhY3RfU2Vzc2lvblZh cmlhYmxlcyhib29sIGlzQ29tbWl0KQogCX0KIH0KIAorLyoKKyAqIFBvc3Qtc3ViY29tbWl0IG9y IHBvc3Qtc3ViYWJvcnQgY2xlYW51cAorICoKKyAqIER1cmluZyBzdWJhYm9ydCwgd2UgY2FuIGlt bWVkaWF0ZWx5IHJlbW92ZSBlbnRyaWVzIGNyZWF0ZWQgZHVyaW5nIHRoaXMKKyAqIHN1YnRyYW5z YWN0aW9uLiBEdXJpbmcgc3ViY29tbWl0LCBqdXN0IHRyYW5zZmVyIGVudHJpZXMgbWFya2VkIGR1 cmluZworICogdGhpcyBzdWJ0cmFuc2FjdGlvbiBhcyBiZWluZyB0aGUgcGFyZW50J3MgcmVzcG9u c2liaWxpdHkuCisgKi8KK3ZvaWQKK0F0RU9TdWJYYWN0X1Nlc3Npb25WYXJpYWJsZXMoYm9vbCBp c0NvbW1pdCwKKwkJCQkJCQkgU3ViVHJhbnNhY3Rpb25JZCBteVN1YmlkLAorCQkJCQkJCSBTdWJU cmFuc2FjdGlvbklkIHBhcmVudFN1YmlkKQoreworCWlmIChjcmVhdGVkX29yX2Ryb3BwZWRfbHhp ZCAhPSBJbnZhbGlkTG9jYWxUcmFuc2FjdGlvbklkKQorCXsKKwkJSEFTSF9TRVFfU1RBVFVTIHN0 YXR1czsKKwkJU1ZhcmlhYmxlCXN2YXI7CisKKwkJQXNzZXJ0KGNyZWF0ZWRfb3JfZHJvcHBlZF9s eGlkID09IE15UHJvYy0+dnhpZC5seGlkKTsKKwkJQXNzZXJ0KHNlc3Npb252YXJzKTsKKworCQlo YXNoX3NlcV9pbml0KCZzdGF0dXMsIHNlc3Npb252YXJzKTsKKworCQl3aGlsZSAoKHN2YXIgPSAo U1ZhcmlhYmxlKSBoYXNoX3NlcV9zZWFyY2goJnN0YXR1cykpICE9IE5VTEwpCisJCXsKKwkJCWlm ICgoc3Zhci0+ZHJvcHBlZF9seGlkICE9IEludmFsaWRMb2NhbFRyYW5zYWN0aW9uSWQpIHx8CisJ CQkJKHN2YXItPmNyZWF0ZWRfbHhpZCAhPSBJbnZhbGlkTG9jYWxUcmFuc2FjdGlvbklkKSkKKwkJ CXsKKwkJCQlpZiAoIWlzQ29tbWl0KQorCQkJCXsKKwkJCQkJU1ZhcmlhYmxlIGl0ZXJhdG9yID0g c3ZhcjsKKwkJCQkJU1ZhcmlhYmxlIGxhc3QgPSBOVUxMOworCQkJCQlTVmFyaWFibGUgZmlyc3Qg PSBOVUxMOworCisJCQkJCS8qIHJlbW92ZSBlbnRyaWVzIG9yIGZsYWdzIGJ5IGN1cnJlbnQgc3Vi dHJhbnNhY3Rpb25zICovCisJCQkJCXdoaWxlIChpdGVyYXRvcikKKwkJCQkJeworCQkJCQkJU1Zh cmlhYmxlIGN1cnJlbnQgPSBpdGVyYXRvcjsKKworCQkJCQkJaXRlcmF0b3IgPSBjdXJyZW50LT5w cmV2OworCisJCQkJCQlpZiAoY3VycmVudC0+ZHJvcHBlZF9zdWJpZCA9PSBteVN1YmlkKQorCQkJ CQkJeworCQkJCQkJCWN1cnJlbnQtPmRyb3BwZWRfbHhpZCA9IEludmFsaWRMb2NhbFRyYW5zYWN0 aW9uSWQ7CisJCQkJCQkJY3VycmVudC0+ZHJvcHBlZF9zdWJpZCA9IEludmFsaWRTdWJUcmFuc2Fj dGlvbklkOworCQkJCQkJfQorCisJCQkJCQlpZiAoY3VycmVudC0+Y3JlYXRlZF9zdWJpZCA9PSBt eVN1YmlkKQorCQkJCQkJeworCQkJCQkJCWZyZWVfc3Zhcl92YWx1ZShjdXJyZW50KTsKKwkJCQkJ CQlpZiAoY3VycmVudC0+c3RhY2tlZCkKKwkJCQkJCQkJcGZyZWUoY3VycmVudCk7CisJCQkJCQl9 CisJCQkJCQllbHNlCisJCQkJCQl7CisJCQkJCQkJLyogcmVtZW1iZXIgZmlyc3Qgbm90IGRlbGV0 ZWQgc3ZhciAqLworCQkJCQkJCWlmIChmaXJzdCA9PSBOVUxMKQorCQkJCQkJCQlmaXJzdCA9IGN1 cnJlbnQ7CisKKwkJCQkJCQlpZiAobGFzdCkKKwkJCQkJCQkJbGFzdC0+cHJldiA9IGN1cnJlbnQ7 CisKKwkJCQkJCQlsYXN0ID0gY3VycmVudDsKKwkJCQkJCX0KKwkJCQkJfQorCisJCQkJCS8qIFNv bWUgc3ZhcnMgd2FzIHJlbW92ZWQgLSBzZXQgaGFzaHRhYiBlbnRyeSBvciByZW1vdmUgaXQgKi8K KwkJCQkJaWYgKCFmaXJzdCkKKwkJCQkJeworCQkJCQkJLyogd2UgaGF2ZSB0byByZW1vdmUgZW50 cnkgZnJvbSBoYXNoIHRhYmxlICovCisJCQkJCQkodm9pZCkgaGFzaF9zZWFyY2goc2Vzc2lvbnZh cnMsCisJCQkJCQkJCQkJICAgTmFtZVN0cihzdmFyLT52YXJuYW1lKSwKKwkJCQkJCQkJCQkgICBI QVNIX1JFTU9WRSwKKwkJCQkJCQkJCQkgICBOVUxMKTsKKwkJCQkJfQorCQkJCQllbHNlIGlmIChm aXJzdC0+c3RhY2tlZCkKKwkJCQkJeworCQkJCQkJbWVtY3B5KHN2YXIsIGZpcnN0LCBzaXplb2Yo U1ZhcmlhYmxlRGF0YSkpOworCQkJCQkJc3Zhci0+c3RhY2tlZCA9IGZhbHNlOworCQkJCQkJcGZy ZWUoZmlyc3QpOworCQkJCQl9CisJCQkJfQorCQkJCWVsc2UKKwkJCQl7CisJCQkJCVNWYXJpYWJs ZSBpdGVyYXRvciA9IHN2YXI7CisKKwkJCQkJLyogdHJhbnNmZXIgcmVzcG9uc2liaWxpdHkgdG8g cGFyZW50ICovCisJCQkJCXdoaWxlIChpdGVyYXRvcikKKwkJCQkJeworCQkJCQkJaWYgKGl0ZXJh dG9yLT5kcm9wcGVkX3N1YmlkID09IG15U3ViaWQpCisJCQkJCQkJaXRlcmF0b3ItPmRyb3BwZWRf c3ViaWQgPSBwYXJlbnRTdWJpZDsKKwkJCQkJCWlmIChpdGVyYXRvci0+Y3JlYXRlZF9zdWJpZCA9 PSBteVN1YmlkKQorCQkJCQkJCWl0ZXJhdG9yLT5jcmVhdGVkX3N1YmlkID0gcGFyZW50U3ViaWQ7 CisKKwkJCQkJCWl0ZXJhdG9yID0gaXRlcmF0b3ItPnByZXY7CisJCQkJCX0KKwkJCQl9CisJCQl9 CisJCX0KKwl9Cit9CisKIC8qCiAgKiBBc3NpZ24gdGhlIHJlc3VsdCBvZiB0aGUgZXZhbHVhdGVk IGV4cHJlc3Npb24gdG8gdGhlIHNlc3Npb24gdmFyaWFibGUKICAqLwpkaWZmIC0tZ2l0IGEvc3Jj L2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oIGIvc3JjL2luY2x1ZGUvY29tbWFu ZHMvc2Vzc2lvbl92YXJpYWJsZS5oCmluZGV4IDEyMThjNTY2NzY3Li40NWNjYmUyZjA0NiAxMDA2 NDQKLS0tIGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oCisrKyBiL3Ny Yy9pbmNsdWRlL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuaApAQCAtNDAsNSArNDAsOCBAQCBl eHRlcm4gdm9pZCBFeGVjdXRlTGV0U3RtdChQYXJzZVN0YXRlICpwc3RhdGUsIExldFN0bXQgKnN0 bXQsIFBhcmFtTGlzdEluZm8gcGFyYQogZXh0ZXJuIHZvaWQgUmVzZXRTZXNzaW9uVmFyaWFibGVz KHZvaWQpOwogCiBleHRlcm4gdm9pZCBBdFByZUVPWGFjdF9TZXNzaW9uVmFyaWFibGVzKGJvb2wg aXNDb21taXQpOworZXh0ZXJuIHZvaWQgQXRFT1N1YlhhY3RfU2Vzc2lvblZhcmlhYmxlcyhib29s IGlzQ29tbWl0LAorCQkJCQkJCQkJCSBTdWJUcmFuc2FjdGlvbklkIG15U3ViaWQsCisJCQkJCQkJ CQkJIFN1YlRyYW5zYWN0aW9uSWQgcGFyZW50U3ViaWQpOwogCiAjZW5kaWYKZGlmZiAtLWdpdCBh L3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc2Vzc2lvbl92YXJpYWJsZXNfZGRsLm91dCBiL3Ny Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc2Vzc2lvbl92YXJpYWJsZXNfZGRsLm91dAppbmRleCAy ZDAwNDcxZGE5Ni4uOTAzMWI1YzM4NGMgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQvc2Vzc2lvbl92YXJpYWJsZXNfZGRsLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5vdXQKQEAgLTEwNyw0ICsxMDcsMjUgQEAgU0VM RUNUIFZBUklBQkxFKHgpOwogIEhpCiAoMSByb3cpCiAKK0JFR0lOOworU0FWRVBPSU5UIHMxOwor RFJPUCBWQVJJQUJMRSB4OworQ1JFQVRFIFRFTVAgVkFSSUFCTEUgeCBBUyB2YXJjaGFyOworRFJP UCBWQVJJQUJMRSB4OworQ1JFQVRFIFRFTVAgVkFSSUFCTEUgeCBBUyB2YXJjaGFyOworTEVUIHgg PSAnSGVsbG8nOworU0VMRUNUIFZBUklBQkxFKHgpOworICAgeCAgIAorLS0tLS0tLQorIEhlbGxv CisoMSByb3cpCisKK1JPTExCQUNLIFRPIHMxOworU0VMRUNUIFZBUklBQkxFKHgpOworIHggIAor LS0tLQorIEhpCisoMSByb3cpCisKK0NPTU1JVDsKIERST1AgVkFSSUFCTEUgeDsKZGlmZiAtLWdp dCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5zcWwgYi9zcmMv dGVzdC9yZWdyZXNzL3NxbC9zZXNzaW9uX3ZhcmlhYmxlc19kZGwuc3FsCmluZGV4IDczMzVmMTVl ZDM5Li41ZWM0MTJhZDdjOSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc2Vzc2lv bl92YXJpYWJsZXNfZGRsLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zZXNzaW9uX3Zh cmlhYmxlc19kZGwuc3FsCkBAIC05OCw0ICs5OCwxNiBAQCBTRUxFQ1QgVkFSSUFCTEUoeCk7CiBS T0xMQkFDSzsKIFNFTEVDVCBWQVJJQUJMRSh4KTsKIAorQkVHSU47CitTQVZFUE9JTlQgczE7CitE Uk9QIFZBUklBQkxFIHg7CitDUkVBVEUgVEVNUCBWQVJJQUJMRSB4IEFTIHZhcmNoYXI7CitEUk9Q IFZBUklBQkxFIHg7CitDUkVBVEUgVEVNUCBWQVJJQUJMRSB4IEFTIHZhcmNoYXI7CitMRVQgeCA9 ICdIZWxsbyc7CitTRUxFQ1QgVkFSSUFCTEUoeCk7CitST0xMQkFDSyBUTyBzMTsKK1NFTEVDVCBW QVJJQUJMRSh4KTsKK0NPTU1JVDsKKwogRFJPUCBWQVJJQUJMRSB4OwotLSAKMi41My4wCgo= --000000000000f2b535064c467044 Content-Type: text/x-patch; charset="US-ASCII"; name="v20260305-0008-support-CREATE-IF-NOT-EXISTS-and-DROP-IF-EXISTS.patch" Content-Disposition: attachment; filename="v20260305-0008-support-CREATE-IF-NOT-EXISTS-and-DROP-IF-EXISTS.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmdgvcof3 RnJvbSBhNmRjNjQyMjdlMDI5MTZkZjE4MzZkMWIwMmQ1MjIyOTYwOTdmNjc1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPHBhdmVsLnN0ZWh1bGVAZ21h aWwuY29tPgpEYXRlOiBUaHUsIDQgRGVjIDIwMjUgMDY6MTc6NTQgKzAxMDAKU3ViamVjdDogW1BB VENIIDA4LzExXSBzdXBwb3J0IENSRUFURSBJRiBOT1QgRVhJU1RTIGFuZCBEUk9QIElGIEVYSVNU UwoKLS0tCiBkb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV92YXJpYWJsZS5zZ21sICAgICAgICAgfCAx MiArKysrLQogZG9jL3NyYy9zZ21sL3JlZi9kcm9wX3ZhcmlhYmxlLnNnbWwgICAgICAgICAgIHwg MTIgKysrKy0KIHNyYy9iYWNrZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuYyAgICAgICB8 IDQ2ICsrKysrKysrKysrKystLS0tLS0KIHNyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkgICAgICAg ICAgICAgICAgICAgICB8IDMxICsrKysrKysrKysrKy0KIHNyYy9iYWNrZW5kL3Rjb3AvdXRpbGl0 eS5jICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBzcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNz aW9uX3ZhcmlhYmxlLmggICAgICAgfCAgMiArLQogc3JjL2luY2x1ZGUvbm9kZXMvcGFyc2Vub2Rl cy5oICAgICAgICAgICAgICAgIHwgIDQgKy0KIC4uLi9leHBlY3RlZC9zZXNzaW9uX3ZhcmlhYmxl c19kZGwub3V0ICAgICAgICB8ICA2ICsrKwogLi4uL3JlZ3Jlc3Mvc3FsL3Nlc3Npb25fdmFyaWFi bGVzX2RkbC5zcWwgICAgIHwgIDYgKysrCiA5IGZpbGVzIGNoYW5nZWQsIDEwMCBpbnNlcnRpb25z KCspLCAyMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0 ZV92YXJpYWJsZS5zZ21sIGIvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfdmFyaWFibGUuc2dtbApp bmRleCAxMzE1YjEyNDhjNy4uZGVmMzY4ZmMyMzcgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9y ZWYvY3JlYXRlX3ZhcmlhYmxlLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfdmFy aWFibGUuc2dtbApAQCAtMjYsNyArMjYsNyBAQCBQb3N0Z3JlU1FMIGRvY3VtZW50YXRpb24KIAog IDxyZWZzeW5vcHNpc2Rpdj4KIDxzeW5vcHNpcz4KLUNSRUFURSB7IFRFTVAgfCBURU1QT1JBUlkg fSBWQVJJQUJMRSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVwbGFjZWFi bGU+IFsgQVMgXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZGF0YV90eXBlPC9yZXBs YWNlYWJsZT4KK0NSRUFURSB7IFRFTVAgfCBURU1QT1JBUlkgfSBWQVJJQUJMRSBbIElGIE5PVCBF WElTVFMgXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVwbGFjZWFibGU+ IFsgQVMgXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZGF0YV90eXBlPC9yZXBsYWNl YWJsZT4KIDwvc3lub3BzaXM+CiAgPC9yZWZzeW5vcHNpc2Rpdj4KICA8cmVmc2VjdDE+CkBAIC02 OSw2ICs2OSwxNiBAQCBDUkVBVEUgeyBURU1QIHwgVEVNUE9SQVJZIH0gVkFSSUFCTEUgPHJlcGxh Y2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxhYwogCiAgIDx2YXJpYWJsZWxpc3Q+ CiAKKyAgIDx2YXJsaXN0ZW50cnkgIGlkPSJzcWwtY3JlYXRldmFyaWFibGUtaWYtbm90LWV4aXN0 cyI+CisgICAgPHRlcm0+PGxpdGVyYWw+SUYgTk9UIEVYSVNUUzwvbGl0ZXJhbD48L3Rlcm0+Cisg ICAgPGxpc3RpdGVtPgorICAgICA8cGFyYT4KKyAgICAgIERvIG5vdCB0aHJvdyBhbiBlcnJvciBp ZiB0aGUgbmFtZSBhbHJlYWR5IGV4aXN0cy4gQSBub3RpY2UgaXMgaXNzdWVkIGluCisgICAgICB0 aGlzIGNhc2UuCisgICAgIDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0ZW50 cnk+CisKICAgIDx2YXJsaXN0ZW50cnkgaWQ9InNxbC1jcmVhdGV2YXJpYWJsZS1uYW1lIj4KICAg ICA8dGVybT48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVwbGFjZWFibGU+ PC90ZXJtPgogICAgIDxsaXN0aXRlbT4KZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9yZWYvZHJv cF92YXJpYWJsZS5zZ21sIGIvZG9jL3NyYy9zZ21sL3JlZi9kcm9wX3ZhcmlhYmxlLnNnbWwKaW5k ZXggZGVkZTQyZTRmZmIuLjVkZTZhNzM3NDkzIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVm L2Ryb3BfdmFyaWFibGUuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvcmVmL2Ryb3BfdmFyaWFibGUu c2dtbApAQCAtMjYsNyArMjYsNyBAQCBQb3N0Z3JlU1FMIGRvY3VtZW50YXRpb24KIAogIDxyZWZz eW5vcHNpc2Rpdj4KIDxzeW5vcHNpcz4KLURST1AgVkFSSUFCTEUgPHJlcGxhY2VhYmxlIGNsYXNz PSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxhY2VhYmxlPgorRFJPUCBWQVJJQUJMRSBbIElGIEVYSVNU UyBdIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5uYW1lPC9yZXBsYWNlYWJsZT4KIDwv c3lub3BzaXM+CiAgPC9yZWZzeW5vcHNpc2Rpdj4KIApAQCAtNDIsNiArNDIsMTYgQEAgRFJPUCBW QVJJQUJMRSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVwbGFjZWFibGU+ CiAgPHJlZnNlY3QxPgogICA8dGl0bGU+UGFyYW1ldGVyczwvdGl0bGU+CiAgIDx2YXJpYWJsZWxp c3Q+CisgICA8dmFybGlzdGVudHJ5PgorICAgIDx0ZXJtPjxsaXRlcmFsPklGIEVYSVNUUzwvbGl0 ZXJhbD48L3Rlcm0+CisgICAgPGxpc3RpdGVtPgorICAgICA8cGFyYT4KKyAgICAgIERvIG5vdCB0 aHJvdyBhbiBlcnJvciBpZiB0aGUgc2Vzc2lvbiB2YXJpYWJsZSBkb2VzIG5vdCBleGlzdC4gQSBu b3RpY2UgaXMKKyAgICAgIGlzc3VlZCBpbiB0aGlzIGNhc2UuCisgICAgIDwvcGFyYT4KKyAgICA8 L2xpc3RpdGVtPgorICAgPC92YXJsaXN0ZW50cnk+CisKICAgIDx2YXJsaXN0ZW50cnk+CiAgICAg PHRlcm0+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxhY2VhYmxlPjwv dGVybT4KICAgICA8bGlzdGl0ZW0+CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy9z ZXNzaW9uX3ZhcmlhYmxlLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxl LmMKaW5kZXggNWNjMTkyMTZmNmUuLjJlM2NlNWM0MDE3IDEwMDY0NAotLS0gYS9zcmMvYmFja2Vu ZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMv c2Vzc2lvbl92YXJpYWJsZS5jCkBAIC05Miw3ICs5Miw3IEBAIGNyZWF0ZV9zZXNzaW9udmFyc19o YXNodGFibGVzKHZvaWQpCiAgKiBSZXR1cm5zIGVudHJ5IG9mIHNlc3Npb24gdmFyaWFibGUgc3Bl Y2lmaWVkIGJ5IG5hbWUKICAqLwogc3RhdGljIFNWYXJpYWJsZQotc2VhcmNoX3ZhcmlhYmxlKGNo YXIgKnZhcm5hbWUpCitzZWFyY2hfdmFyaWFibGUoY2hhciAqdmFybmFtZSwgYm9vbCBtaXNzaW5n X29rKQogewogCVNWYXJpYWJsZQlzdmFyOwogCkBAIC0xMDIsNyArMTAyLDcgQEAgc2VhcmNoX3Zh cmlhYmxlKGNoYXIgKnZhcm5hbWUpCiAJc3ZhciA9IChTVmFyaWFibGUpIGhhc2hfc2VhcmNoKHNl c3Npb252YXJzLCB2YXJuYW1lLAogCQkJCQkJCQkgICBIQVNIX0ZJTkQsIE5VTEwpOwogCi0JaWYg KCFzdmFyKQorCWlmICghc3ZhciAmJiAhbWlzc2luZ19vaykKIAkJZXJlcG9ydChFUlJPUiwKIAkJ CQkoZXJyY29kZShFUlJDT0RFX1VOREVGSU5FRF9PQkpFQ1QpLAogCQkJCSBlcnJtc2coInNlc3Np b24gdmFyaWFibGUgXCIlc1wiIGRvZXNuJ3QgZXhpc3QiLApAQCAtMTI0LDcgKzEyNCw3IEBAIGdl dF9zZXNzaW9uX3ZhcmlhYmxlX3R5cGVfdHlwbW9kX2NvbGxpZChjaGFyICp2YXJuYW1lLAogewog CVNWYXJpYWJsZQlzdmFyOwogCi0Jc3ZhciA9IHNlYXJjaF92YXJpYWJsZSh2YXJuYW1lKTsKKwlz dmFyID0gc2VhcmNoX3ZhcmlhYmxlKHZhcm5hbWUsIGZhbHNlKTsKIAogCS8qIG9ubHkgb3duZXIg Y2FuIHNldCBjb250ZW50IG9mIHZhcmlhYmxlICovCiAJKnR5cGlkID0gc3Zhci0+dmFydHlwZTsK QEAgLTE0NCw3ICsxNDQsNyBAQCBHZXRTZXNzaW9uVmFyaWFibGVXaXRoVHlwZWNoZWNrKGNoYXIg KnZhcm5hbWUsCiAJU1ZhcmlhYmxlCXN2YXI7CiAJRGF0dW0JCXJlc3VsdDsKIAotCXN2YXIgPSBz ZWFyY2hfdmFyaWFibGUodmFybmFtZSk7CisJc3ZhciA9IHNlYXJjaF92YXJpYWJsZSh2YXJuYW1l LCBmYWxzZSk7CiAKIAlpZiAoc3Zhci0+dmFydHlwZSAhPSB0eXBpZCB8fCBzdmFyLT52YXJ0eXBt b2QgIT0gdHlwbW9kKQogCQllcmVwb3J0KEVSUk9SLApAQCAtMTgxLDcgKzE4MSw3IEBAIFNldFNl c3Npb25WYXJpYWJsZVdpdGhUeXBlY2hlY2soY2hhciAqdmFybmFtZSwKIHsKIAlTVmFyaWFibGUJ c3ZhcjsKIAotCXN2YXIgPSBzZWFyY2hfdmFyaWFibGUodmFybmFtZSk7CisJc3ZhciA9IHNlYXJj aF92YXJpYWJsZSh2YXJuYW1lLCBmYWxzZSk7CiAKIAlpZiAoc3Zhci0+dmFydHlwZSAhPSB0eXBp ZCB8fCBzdmFyLT52YXJ0eXBtb2QgIT0gdHlwbW9kKQogCQllcmVwb3J0KEVSUk9SLApAQCAtMjc3 LDEwICsyNzcsMjEgQEAgQ3JlYXRlVmFyaWFibGUoUGFyc2VTdGF0ZSAqcHN0YXRlLCBDcmVhdGVT ZXNzaW9uVmFyU3RtdCAqc3RtdCkKIAkJCQkJICAgSEFTSF9FTlRFUiwgJmZvdW5kKTsKIAogCWlm IChmb3VuZCkKLQkJZXJlcG9ydChFUlJPUiwKLQkJCQkoZXJyY29kZShFUlJDT0RFX0RVUExJQ0FU RV9PQkpFQ1QpLAotCQkJCSBlcnJtc2coInNlc3Npb24gdmFyaWFibGUgXCIlc1wiIGFscmVhZHkg ZXhpc3RzIiwKLQkJCQkJCXN0bXQtPm5hbWUpKSk7CisJeworCQlpZiAoc3RtdC0+aWZfbm90X2V4 aXN0cykKKwkJeworCQkJZXJlcG9ydChOT1RJQ0UsCisJCQkJCShlcnJjb2RlKEVSUkNPREVfRFVQ TElDQVRFX09CSkVDVCksCisJCQkJCSBlcnJtc2coInNlc3Npb24gdmFyaWFibGUgXCIlc1wiIGFs cmVhZHkgZXhpc3RzLCBza2lwcGluZyIsCisJCQkJCQkJc3RtdC0+bmFtZSkpKTsKKwkJCXJldHVy bjsKKwkJfQorCQllbHNlCisJCQllcmVwb3J0KEVSUk9SLAorCQkJCQkoZXJyY29kZShFUlJDT0RF X0RVUExJQ0FURV9PQkpFQ1QpLAorCQkJCQkgZXJybXNnKCJzZXNzaW9uIHZhcmlhYmxlIFwiJXNc IiBhbHJlYWR5IGV4aXN0cyIsCisJCQkJCQkJc3RtdC0+bmFtZSkpKTsKKwl9CiAKIAluYW1lc3Ry Y3B5KCZzdmFyLT52YXJuYW1lLCBzdG10LT5uYW1lKTsKIAlzdmFyLT52YXJ0eXBlID0gdHlwZWlk OwpAQCAtMjk4LDcgKzMwOSw3IEBAIENyZWF0ZVZhcmlhYmxlKFBhcnNlU3RhdGUgKnBzdGF0ZSwg Q3JlYXRlU2Vzc2lvblZhclN0bXQgKnN0bXQpCiAgKiBEcm9wIHZhcmlhYmxlIGJ5IG5hbWUKICAq Lwogdm9pZAotRHJvcFZhcmlhYmxlQnlOYW1lKGNoYXIgKnZhcm5hbWUpCitEcm9wVmFyaWFibGVC eU5hbWUoRHJvcFNlc3Npb25WYXJTdG10ICpzdG10KQogewogCVNWYXJpYWJsZQlzdmFyOwogCkBA IC0zMTAsMjAgKzMyMSwyNyBAQCBEcm9wVmFyaWFibGVCeU5hbWUoY2hhciAqdmFybmFtZSkKIAlQ cmV2ZW50Q29tbWFuZElmUGFyYWxsZWxNb2RlKCJEUk9QIFZBUklBQkxFIik7CiAJUHJldmVudENv bW1hbmREdXJpbmdSZWNvdmVyeSgiRFJPUCBWQVJJQUJMRSIpOwogCi0Jc3ZhciA9IHNlYXJjaF92 YXJpYWJsZSh2YXJuYW1lKTsKKwlzdmFyID0gc2VhcmNoX3ZhcmlhYmxlKHN0bXQtPm5hbWUsIHN0 bXQtPm1pc3Npbmdfb2spOworCWlmICghc3ZhcikKKwl7CisJCWVyZXBvcnQoTk9USUNFLAorCQkJ CShlcnJtc2coInNlc3Npb24gdmFyaWFibGUgXCIlc1wiIGRvZXMgbm90IGV4aXN0cywgc2tpcHBp bmciLAorCQkJCQkJc3RtdC0+bmFtZSkpKTsKKwkJcmV0dXJuOworCX0KIAogCS8qIG9ubHkgb3du ZXIgY2FuIGdldCBjb250ZW50IG9mIHZhcmlhYmxlICovCiAJaWYgKHN2YXItPnZhcm93bmVyICE9 IEdldFVzZXJJZCgpICYmICFzdXBlcnVzZXIoKSkKIAkJZXJlcG9ydChFUlJPUiwKIAkJCQkoZXJy Y29kZShFUlJDT0RFX0lOU1VGRklDSUVOVF9QUklWSUxFR0UpLAogCQkJCSBlcnJtc2coIm11c3Qg YmUgb3duZXIgb2Ygc2Vzc2lvbiB2YXJpYWJsZSAlcyIsCi0JCQkJCQl2YXJuYW1lKSkpOworCQkJ CQkJc3RtdC0+bmFtZSkpKTsKIAogCWlmICghc3Zhci0+dHlwYnl2YWwgJiYgIXN2YXItPmlzbnVs bCkKIAkJcGZyZWUoRGF0dW1HZXRQb2ludGVyKHN2YXItPnZhbHVlKSk7CiAKIAlpZiAoaGFzaF9z ZWFyY2goc2Vzc2lvbnZhcnMsCi0JCQkJCSAgIHZhcm5hbWUsCisJCQkJCSAgIHN0bXQtPm5hbWUs CiAJCQkJCSAgIEhBU0hfUkVNT1ZFLAogCQkJCQkgICBOVUxMKSA9PSBOVUxMKQogCQllbG9nKEVS Uk9SLCAiaGFzaCB0YWJsZSBjb3JydXB0ZWQiKTsKQEAgLTM0Nyw3ICszNjUsNyBAQCBFeGVjdXRl TGV0U3RtdChQYXJzZVN0YXRlICpwc3RhdGUsCiAJY2hhcgkgICAqdmFybmFtZSA9IHF1ZXJ5LT5y ZXN1bHRWYXJpYWJsZTsKIAlTVmFyaWFibGUJc3ZhcjsKIAotCXN2YXIgPSBzZWFyY2hfdmFyaWFi bGUodmFybmFtZSk7CisJc3ZhciA9IHNlYXJjaF92YXJpYWJsZSh2YXJuYW1lLCBmYWxzZSk7CiAK IAkvKiBvbmx5IG93bmVyIGNhbiBzZXQgY29udGVudCBvZiB2YXJpYWJsZSAqLwogCWlmIChzdmFy LT52YXJvd25lciAhPSBHZXRVc2VySWQoKSAmJiAhc3VwZXJ1c2VyKCkpCmRpZmYgLS1naXQgYS9z cmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55IGIvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueQppbmRl eCAzY2ZhMzYyZTAzYi4uYTM4NTg3MGNiOGUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNl ci9ncmFtLnkKKysrIGIvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueQpAQCAtNTM5Nyw3ICs1Mzk3 LDcgQEAgY3JlYXRlX2V4dGVuc2lvbl9vcHRfaXRlbToKIC8qKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgog ICoKICAqCQlRVUVSWSA6Ci0gKgkJCQlDUkVBVEUgeyBURU1QIHwgVEVNUE9SQVJZIH0gVkFSSUFC TEUgdmFybmFtZSBbQVNdIHR5cGUKKyAqCQkJCUNSRUFURSB7IFRFTVAgfCBURU1QT1JBUlkgfSBW QVJJQUJMRSBbSUYgTk9UIEVYSVNUUyBdIHZhcm5hbWUgW0FTXSB0eXBlCiAgKgogICoqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqLwogCkBAIC01NDE0LDE0ICs1NDE0LDMxIEBAIENyZWF0ZVNlc3Npb25WYXJT dG10OgogCiAJCQkJCW4tPm5hbWUgPSAkNDsKIAkJCQkJbi0+dHlwZU5hbWUgPSAkNjsKKwkJCQkJ bi0+aWZfbm90X2V4aXN0cyA9IGZhbHNlOworCQkJCQkkJCA9IChOb2RlICopIG47CisJCQkJfQor CQkgIHwgQ1JFQVRFIE9wdFRlbXAgVkFSSUFCTEUgSUZfUCBOT1QgRVhJU1RTIENvbElkIG9wdF9h cyBUeXBlbmFtZQorCQkJCXsKKwkJCQkJQ3JlYXRlU2Vzc2lvblZhclN0bXQgKm4gPSBtYWtlTm9k ZShDcmVhdGVTZXNzaW9uVmFyU3RtdCk7CisKKwkJCQkJaWYgKCQyICE9IFJFTFBFUlNJU1RFTkNF X1RFTVApCisJCQkJCQllcmVwb3J0KEVSUk9SLAorCQkJCQkJCShlcnJjb2RlKEVSUkNPREVfRkVB VFVSRV9OT1RfU1VQUE9SVEVEKSwKKwkJCQkJCQkgZXJybXNnKCJvbmx5IHRlbXBvcmFsIHNlc3Np b24gdmFyaWFibGVzIGFyZSBzdXBwb3J0ZWQiKSwKKwkJCQkJCQkgcGFyc2VyX2VycnBvc2l0aW9u KEAyKSkpOworCisJCQkJCW4tPm5hbWUgPSAkNzsKKwkJCQkJbi0+dHlwZU5hbWUgPSAkOTsKKwkJ CQkJbi0+aWZfbm90X2V4aXN0cyA9IHRydWU7CiAJCQkJCSQkID0gKE5vZGUgKikgbjsKIAkJCQl9 CisKIAkJOwogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqCiAgKgkJUVVFUlkgOgotICoJCQkJ RFJPUCBWQVJJQUJMRSB2YXJuYW1lCisgKgkJCQlEUk9QIFZBUklBQkxFIFsgSUYgRVhJU1RTIF0g dmFybmFtZQogICoKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIApAQCAtNTQzMSw4ICs1NDQ4LDE4 IEBAIERyb3BTZXNzaW9uVmFyU3RtdDoKIAkJCQkJRHJvcFNlc3Npb25WYXJTdG10ICpuID0gbWFr ZU5vZGUoRHJvcFNlc3Npb25WYXJTdG10KTsKIAogCQkJCQluLT5uYW1lID0gJDM7CisJCQkJCW4t Pm1pc3Npbmdfb2sgPSBmYWxzZTsKKwkJCQkJJCQgPSAoTm9kZSAqKSBuOworCQkJCX0KKwkJCXwg RFJPUCBWQVJJQUJMRSBJRl9QIEVYSVNUUyBDb2xJZAorCQkJCXsKKwkJCQkJRHJvcFNlc3Npb25W YXJTdG10ICpuID0gbWFrZU5vZGUoRHJvcFNlc3Npb25WYXJTdG10KTsKKworCQkJCQluLT5uYW1l ID0gJDU7CisJCQkJCW4tPm1pc3Npbmdfb2sgPSB0cnVlOwogCQkJCQkkJCA9IChOb2RlICopIG47 CiAJCQkJfQorCiAJCTsKIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC90Y29wL3V0aWxpdHkuYyBiL3NyYy9iYWNrZW5kL3Rjb3AvdXRpbGl0eS5jCmluZGV4 IDQ4NWY3MjQwODIxLi42NDJlNWRjMjcxZCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdGNvcC91 dGlsaXR5LmMKKysrIGIvc3JjL2JhY2tlbmQvdGNvcC91dGlsaXR5LmMKQEAgLTEwNzMsNyArMTA3 Myw3IEBAIHN0YW5kYXJkX1Byb2Nlc3NVdGlsaXR5KFBsYW5uZWRTdG10ICpwc3RtdCwKIAogCQlj YXNlIFRfRHJvcFNlc3Npb25WYXJTdG10OgogCQkJLyogTm8gZXZlbnQgdHJpZ2dlcnMgZm9yIGNh dGFsb2cgbGVzcyBzZXNzaW9uIHZhcmlhYmxlcyAqLwotCQkJRHJvcFZhcmlhYmxlQnlOYW1lKCgo RHJvcFNlc3Npb25WYXJTdG10ICopIHBhcnNldHJlZSktPm5hbWUpOworCQkJRHJvcFZhcmlhYmxl QnlOYW1lKChEcm9wU2Vzc2lvblZhclN0bXQgKikgcGFyc2V0cmVlKTsKIAkJCWJyZWFrOwogCiAJ CWNhc2UgVF9MZXRTdG10OgpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lv bl92YXJpYWJsZS5oIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oCmlu ZGV4IGNjMWFhN2NlMjNiLi4zZjA3YWU1NWFhYyAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY29t bWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oCisrKyBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Nlc3Np b25fdmFyaWFibGUuaApAQCAtMjIsNyArMjIsNyBAQAogI2luY2x1ZGUgInRjb3AvY21kdGFnLmgi CiAKIGV4dGVybiB2b2lkIENyZWF0ZVZhcmlhYmxlKFBhcnNlU3RhdGUgKnBzdGF0ZSwgQ3JlYXRl U2Vzc2lvblZhclN0bXQgKnN0bXQpOwotZXh0ZXJuIHZvaWQgRHJvcFZhcmlhYmxlQnlOYW1lKGNo YXIgKnZhcm5hbWUpOworZXh0ZXJuIHZvaWQgRHJvcFZhcmlhYmxlQnlOYW1lKERyb3BTZXNzaW9u VmFyU3RtdCAqc3RtdCk7CiAKIGV4dGVybiBEYXR1bSBHZXRTZXNzaW9uVmFyaWFibGVXaXRoVHlw ZWNoZWNrKGNoYXIgKnZhcm5hbWUsIE9pZCB0eXBpZCwgaW50MzIgdHlwbW9kLCBib29sICppc251 bGwpOwogZXh0ZXJuIHZvaWQgU2V0U2Vzc2lvblZhcmlhYmxlV2l0aFR5cGVjaGVjayhjaGFyICp2 YXJuYW1lLApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvbm9kZXMvcGFyc2Vub2Rlcy5oIGIvc3Jj L2luY2x1ZGUvbm9kZXMvcGFyc2Vub2Rlcy5oCmluZGV4IGY1YjY1ZjdkMGU5Li45NDcwNDJmZWY2 MSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvbm9kZXMvcGFyc2Vub2Rlcy5oCisrKyBiL3NyYy9p bmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaApAQCAtMzYyMyw2ICszNjIzLDcgQEAgdHlwZWRlZiBz dHJ1Y3QgQ3JlYXRlU2Vzc2lvblZhclN0bXQKIAlOb2RlVGFnCQl0eXBlOwogCWNoYXIJICAgKm5h bWU7CQkvKiB0aGUgdmFyaWFibGUgdG8gY3JlYXRlICovCiAJVHlwZU5hbWUgICAqdHlwZU5hbWU7 CQkvKiB0aGUgdHlwZSBvZiB2YXJpYWJsZSAqLworCWJvb2wJCWlmX25vdF9leGlzdHM7CS8qIGp1 c3QgZG8gbm90aGluZyBpZiB2YXJpYWJsZSBhbHJlYWR5IGV4aXN0cz8gKi8KIH0gQ3JlYXRlU2Vz c2lvblZhclN0bXQ7CiAKIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTM2MzIsNyArMzYz Myw4IEBAIHR5cGVkZWYgc3RydWN0IENyZWF0ZVNlc3Npb25WYXJTdG10CiB0eXBlZGVmIHN0cnVj dCBEcm9wU2Vzc2lvblZhclN0bXQKIHsKIAlOb2RlVGFnCQl0eXBlOwotCWNoYXIJICAgKm5hbWU7 CisJY2hhcgkgICAqbmFtZTsJCQkvKiB0aGUgdmFyaWFibGUgbmFtZSB0byBkcm9wICovCisJYm9v bAkJbWlzc2luZ19vazsJCS8qIHNraXAgZXJyb3Igb2YgdmFyaWFibGUgaXMgbWlzc2luZyAqLwog fSBEcm9wU2Vzc2lvblZhclN0bXQ7CiAKIApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9l eHBlY3RlZC9zZXNzaW9uX3ZhcmlhYmxlc19kZGwub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC9zZXNzaW9uX3ZhcmlhYmxlc19kZGwub3V0CmluZGV4IGMzNmZlYmQ4OTRlLi45ZjViMDg4 ZGU3MiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zZXNzaW9uX3Zhcmlh Ymxlc19kZGwub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc2Vzc2lvbl92YXJp YWJsZXNfZGRsLm91dApAQCAtNDgsMyArNDgsOSBAQCBFUlJPUjogIHNlc3Npb24gdmFyaWFibGUg IngiIGFscmVhZHkgZXhpc3RzCiBESVNDQVJEIFRFTVA7CiAtLSBzaG91bGQgYmUgb2sKIENSRUFU RSBURU1QIFZBUklBQkxFIHggQVMgaW50OworLS0gc2hvdWxkIGJlIG9rCitDUkVBVEUgVEVNUCBW QVJJQUJMRSBJRiBOT1QgRVhJU1RTIHggQVMgaW50OworTk9USUNFOiAgc2Vzc2lvbiB2YXJpYWJs ZSAieCIgYWxyZWFkeSBleGlzdHMsIHNraXBwaW5nCitEUk9QIFZBUklBQkxFIHg7CitEUk9QIFZB UklBQkxFIElGIEVYSVNUUyB4OworTk9USUNFOiAgc2Vzc2lvbiB2YXJpYWJsZSAieCIgZG9lcyBu b3QgZXhpc3RzLCBza2lwcGluZwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc2Vz c2lvbl92YXJpYWJsZXNfZGRsLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Nlc3Npb25fdmFy aWFibGVzX2RkbC5zcWwKaW5kZXggN2ZkNzM5ZDY2NzcuLjYwZjc4NjcxZTNiIDEwMDY0NAotLS0g YS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zZXNzaW9uX3ZhcmlhYmxlc19kZGwuc3FsCisrKyBiL3Ny Yy90ZXN0L3JlZ3Jlc3Mvc3FsL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5zcWwKQEAgLTY0LDMgKzY0 LDkgQEAgRElTQ0FSRCBURU1QOwogCiAtLSBzaG91bGQgYmUgb2sKIENSRUFURSBURU1QIFZBUklB QkxFIHggQVMgaW50OworCistLSBzaG91bGQgYmUgb2sKK0NSRUFURSBURU1QIFZBUklBQkxFIElG IE5PVCBFWElTVFMgeCBBUyBpbnQ7CisKK0RST1AgVkFSSUFCTEUgeDsKK0RST1AgVkFSSUFCTEUg SUYgRVhJU1RTIHg7Ci0tIAoyLjUzLjAKCg== --000000000000f2b535064c467044 Content-Type: text/x-patch; charset="US-ASCII"; name="v20260305-0007-DISCARD-TEMP.patch" Content-Disposition: attachment; filename="v20260305-0007-DISCARD-TEMP.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmdgvcom4 RnJvbSAwNTM3ODA4ZGE4ZTlhYWZjMTU4MGU3MDNmZmI0ODFlOWI2ZGE1ZGQ4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPHBhdmVsLnN0ZWh1bGVAZ21h aWwuY29tPgpEYXRlOiBNb24sIDI0IE5vdiAyMDI1IDIwOjA0OjE2ICswMTAwClN1YmplY3Q6IFtQ QVRDSCAwNy8xMV0gRElTQ0FSRCBURU1QCgotLS0KIGRvYy9zcmMvc2dtbC9yZWYvZGlzY2FyZC5z Z21sICAgICAgICAgICAgICAgICB8ICAzICsrLQogc3JjL2JhY2tlbmQvY29tbWFuZHMvZGlzY2Fy ZC5jICAgICAgICAgICAgICAgIHwgIDMgKysrCiBzcmMvYmFja2VuZC9jb21tYW5kcy9zZXNzaW9u X3ZhcmlhYmxlLmMgICAgICAgfCAyMCArKysrKysrKysrKysrKysrKysrCiBzcmMvaW5jbHVkZS9j b21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmggICAgICAgfCAgMiArKwogLi4uL2V4cGVjdGVkL3Nl c3Npb25fdmFyaWFibGVzX2RkbC5vdXQgICAgICAgIHwgIDcgKysrKysrKwogLi4uL3JlZ3Jlc3Mv c3FsL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5zcWwgICAgIHwgMTAgKysrKysrKysrKwogNiBmaWxl cyBjaGFuZ2VkLCA0NCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEv ZG9jL3NyYy9zZ21sL3JlZi9kaXNjYXJkLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2Rpc2NhcmQu c2dtbAppbmRleCBiZjQ0YzUyM2NhYy4uMjcwMGY3YjdjZDAgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMv c2dtbC9yZWYvZGlzY2FyZC5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9yZWYvZGlzY2FyZC5zZ21s CkBAIC03MCw3ICs3MCw4IEBAIERJU0NBUkQgeyBBTEwgfCBQTEFOUyB8IFNFUVVFTkNFUyB8IFRF TVBPUkFSWSB8IFRFTVAgfQogICAgIDx0ZXJtPjxsaXRlcmFsPlRFTVBPUkFSWTwvbGl0ZXJhbD4g b3IgPGxpdGVyYWw+VEVNUDwvbGl0ZXJhbD48L3Rlcm0+CiAgICAgPGxpc3RpdGVtPgogICAgICA8 cGFyYT4KLSAgICAgIERyb3BzIGFsbCB0ZW1wb3JhcnkgdGFibGVzIGNyZWF0ZWQgaW4gdGhlIGN1 cnJlbnQgc2Vzc2lvbi4KKyAgICAgIERyb3BzIGFsbCB0ZW1wb3JhcnkgdGFibGVzIGFuZCB0ZW1w b3Jhcnkgc2Vzc2lvbiB2YXJpYWJsZXMgY3JlYXRlZCBpbgorICAgICAgdGhlIGN1cnJlbnQgc2Vz c2lvbi4KICAgICAgPC9wYXJhPgogICAgIDwvbGlzdGl0ZW0+CiAgICA8L3Zhcmxpc3RlbnRyeT4K ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2Rpc2NhcmQuYyBiL3NyYy9iYWNrZW5k L2NvbW1hbmRzL2Rpc2NhcmQuYwppbmRleCA3YjU1MjBiOWFiZS4uZGU2ZDE4ZmNjNWUgMTAwNjQ0 Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2Rpc2NhcmQuYworKysgYi9zcmMvYmFja2VuZC9j b21tYW5kcy9kaXNjYXJkLmMKQEAgLTE5LDYgKzE5LDcgQEAKICNpbmNsdWRlICJjb21tYW5kcy9k aXNjYXJkLmgiCiAjaW5jbHVkZSAiY29tbWFuZHMvcHJlcGFyZS5oIgogI2luY2x1ZGUgImNvbW1h bmRzL3NlcXVlbmNlLmgiCisjaW5jbHVkZSAiY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oIgog I2luY2x1ZGUgInV0aWxzL2d1Yy5oIgogI2luY2x1ZGUgInV0aWxzL3BvcnRhbC5oIgogCkBAIC00 Niw2ICs0Nyw3IEBAIERpc2NhcmRDb21tYW5kKERpc2NhcmRTdG10ICpzdG10LCBib29sIGlzVG9w TGV2ZWwpCiAKIAkJY2FzZSBESVNDQVJEX1RFTVA6CiAJCQlSZXNldFRlbXBUYWJsZU5hbWVzcGFj ZSgpOworCQkJUmVzZXRTZXNzaW9uVmFyaWFibGVzKCk7CiAJCQlicmVhazsKIAogCQlkZWZhdWx0 OgpAQCAtNzUsNCArNzcsNSBAQCBEaXNjYXJkQWxsKGJvb2wgaXNUb3BMZXZlbCkKIAlSZXNldFBs YW5DYWNoZSgpOwogCVJlc2V0VGVtcFRhYmxlTmFtZXNwYWNlKCk7CiAJUmVzZXRTZXF1ZW5jZUNh Y2hlcygpOworCVJlc2V0U2Vzc2lvblZhcmlhYmxlcygpOwogfQpkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMv c2Vzc2lvbl92YXJpYWJsZS5jCmluZGV4IGJmYzQxOTFkOTU0Li41Y2MxOTIxNmY2ZSAxMDA2NDQK LS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5jCisrKyBiL3NyYy9i YWNrZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuYwpAQCAtNDA5LDMgKzQwOSwyMyBAQCBF eGVjdXRlTGV0U3RtdChQYXJzZVN0YXRlICpwc3RhdGUsCiAKIAlQb3BBY3RpdmVTbmFwc2hvdCgp OwogfQorCisvKgorICogRmFzdCBkcm9wIG9mIHRoZSBjb21wbGV0ZSBjb250ZW50IG9mIHRoZSBz ZXNzaW9uIHZhcmlhYmxlcyBoYXNoIHRhYmxlLCBhbmQKKyAqIGNsZWFudXAgb2YgYW55IGxpc3Qg dGhhdCB3b3VsZG4ndCBiZSByZWxldmFudCBhbnltb3JlLgorICogVGhpcyBpcyB1c2VkIGJ5IHRo ZSBESVNDQVJEIFRFTVAuCisgKi8KK3ZvaWQKK1Jlc2V0U2Vzc2lvblZhcmlhYmxlcyh2b2lkKQor eworCS8qIGRlc3Ryb3kgaGFzaCB0YWJsZSBhbmQgcmVzZXQgcmVsYXRlZCBtZW1vcnkgY29udGV4 dCAqLworCWlmIChzZXNzaW9udmFycykKKwl7CisJCWhhc2hfZGVzdHJveShzZXNzaW9udmFycyk7 CisJCXNlc3Npb252YXJzID0gTlVMTDsKKwl9CisKKwkvKiByZWxlYXNlIG1lbW9yeSBhbGxvY2F0 ZWQgYnkgc2Vzc2lvbiB2YXJpYWJsZXMgKi8KKwlpZiAoU1ZhcmlhYmxlTWVtb3J5Q29udGV4dCAh PSBOVUxMKQorCQlNZW1vcnlDb250ZXh0UmVzZXQoU1ZhcmlhYmxlTWVtb3J5Q29udGV4dCk7Cit9 CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmggYi9z cmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmgKaW5kZXggYzRiNGQ5ZTY4MzIu LmNjMWFhN2NlMjNiIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3Zh cmlhYmxlLmgKKysrIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oCkBA IC0zNyw0ICszNyw2IEBAIGV4dGVybiB2b2lkIGdldF9zZXNzaW9uX3ZhcmlhYmxlX3R5cGVfdHlw bW9kX2NvbGxpZChjaGFyICp2YXJuYW1lLAogZXh0ZXJuIHZvaWQgRXhlY3V0ZUxldFN0bXQoUGFy c2VTdGF0ZSAqcHN0YXRlLCBMZXRTdG10ICpzdG10LCBQYXJhbUxpc3RJbmZvIHBhcmFtcywKIAkJ CQkJCSAgIFF1ZXJ5RW52aXJvbm1lbnQgKnF1ZXJ5RW52LCBRdWVyeUNvbXBsZXRpb24gKnFjKTsK IAorZXh0ZXJuIHZvaWQgUmVzZXRTZXNzaW9uVmFyaWFibGVzKHZvaWQpOworCiAjZW5kaWYKZGlm ZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc2Vzc2lvbl92YXJpYWJsZXNfZGRs Lm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc2Vzc2lvbl92YXJpYWJsZXNfZGRsLm91 dAppbmRleCA0NWMyZDI3YWI0NC4uYzM2ZmViZDg5NGUgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3Jl Z3Jlc3MvZXhwZWN0ZWQvc2Vzc2lvbl92YXJpYWJsZXNfZGRsLm91dAorKysgYi9zcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5vdXQKQEAgLTQxLDMgKzQxLDEw IEBAIERST1AgVkFSSUFCTEUgeDsKIFNFVCBST0xFIFRPIERFRkFVTFQ7CiBEUk9QIFJPTEUgcmVn cmVzc19zZXNzaW9uX3ZhcmlhYmxlX3Rlc3Rfcm9sZV8wMTsKIERST1AgUk9MRSByZWdyZXNzX3Nl c3Npb25fdmFyaWFibGVfdGVzdF9yb2xlXzAyOworQ1JFQVRFIFRFTVAgVkFSSUFCTEUgeCBBUyBp bnQ7CistLSBzaG91bGQgZmFpbAorQ1JFQVRFIFRFTVAgVkFSSUFCTEUgeCBBUyBpbnQ7CitFUlJP UjogIHNlc3Npb24gdmFyaWFibGUgIngiIGFscmVhZHkgZXhpc3RzCitESVNDQVJEIFRFTVA7Cist LSBzaG91bGQgYmUgb2sKK0NSRUFURSBURU1QIFZBUklBQkxFIHggQVMgaW50OwpkaWZmIC0tZ2l0 IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc2Vzc2lvbl92YXJpYWJsZXNfZGRsLnNxbCBiL3NyYy90 ZXN0L3JlZ3Jlc3Mvc3FsL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5zcWwKaW5kZXggMzRmMzRkZDg5 OGYuLjdmZDczOWQ2Njc3IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zZXNzaW9u X3ZhcmlhYmxlc19kZGwuc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Nlc3Npb25fdmFy aWFibGVzX2RkbC5zcWwKQEAgLTU0LDMgKzU0LDEzIEBAIERST1AgVkFSSUFCTEUgeDsKIFNFVCBS T0xFIFRPIERFRkFVTFQ7CiBEUk9QIFJPTEUgcmVncmVzc19zZXNzaW9uX3ZhcmlhYmxlX3Rlc3Rf cm9sZV8wMTsKIERST1AgUk9MRSByZWdyZXNzX3Nlc3Npb25fdmFyaWFibGVfdGVzdF9yb2xlXzAy OworCitDUkVBVEUgVEVNUCBWQVJJQUJMRSB4IEFTIGludDsKKworLS0gc2hvdWxkIGZhaWwKK0NS RUFURSBURU1QIFZBUklBQkxFIHggQVMgaW50OworCitESVNDQVJEIFRFTVA7CisKKy0tIHNob3Vs ZCBiZSBvaworQ1JFQVRFIFRFTVAgVkFSSUFCTEUgeCBBUyBpbnQ7Ci0tIAoyLjUzLjAKCg== --000000000000f2b535064c467044 Content-Type: text/x-patch; charset="US-ASCII"; name="v20260305-0009-use-names-of-currently-used-temp-variables-for-tab-c.patch" Content-Disposition: attachment; filename="v20260305-0009-use-names-of-currently-used-temp-variables-for-tab-c.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmdgvco92 RnJvbSA5NzlmZTYxOWViYTQxZmI5ZGRmZjRjNDlkNjAyZDljZTY2ZDM2Y2MyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPHBhdmVsLnN0ZWh1bGVAZ21h aWwuY29tPgpEYXRlOiBUaHUsIDQgRGVjIDIwMjUgMTg6NDk6MDYgKzAxMDAKU3ViamVjdDogW1BB VENIIDA5LzExXSB1c2UgbmFtZXMgb2YgY3VycmVudGx5IHVzZWQgdGVtcCB2YXJpYWJsZXMgZm9y IHRhYgogY29tcGxldGUgb2YgRFJPUCBWQVJJQUJMRSwgTEVUIGFuZCBWQVJJQUJMRSgpCgotLS0K IHNyYy9iYWNrZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuYyAgICAgICB8IDM2ICsrKysr KysrKysrKysrKysrKysKIHNyYy9iaW4vcHNxbC90YWItY29tcGxldGUuaW4uYyAgICAgICAgICAg ICAgICB8IDE3ICsrKysrKysrKwogc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCAgICAg ICAgICAgICAgIHwgIDUgKysrCiAuLi4vZXhwZWN0ZWQvc2Vzc2lvbl92YXJpYWJsZXNfZGRsLm91 dCAgICAgICAgfCAxNiArKysrKysrKysKIC4uLi9yZWdyZXNzL3NxbC9zZXNzaW9uX3ZhcmlhYmxl c19kZGwuc3FsICAgICB8ICA4ICsrKysrCiA1IGZpbGVzIGNoYW5nZWQsIDgyIGluc2VydGlvbnMo KykKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMg Yi9zcmMvYmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMKaW5kZXggMmUzY2U1YzQw MTcuLjY0MzA0NTVjMGE2IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy9zZXNzaW9u X3ZhcmlhYmxlLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5j CkBAIC0xOCw2ICsxOCw3IEBACiAjaW5jbHVkZSAiY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5o IgogI2luY2x1ZGUgImV4ZWN1dG9yL2V4ZWN1dG9yLmgiCiAjaW5jbHVkZSAiZXhlY3V0b3Ivc3Zh cmlhYmxlUmVjZWl2ZXIuaCIKKyNpbmNsdWRlICJmdW5jYXBpLmgiCiAjaW5jbHVkZSAibWlzY2Fk bWluLmgiCiAjaW5jbHVkZSAicGFyc2VyL3BhcnNlX3R5cGUuaCIKICNpbmNsdWRlICJyZXdyaXRl L3Jld3JpdGVIYW5kbGVyLmgiCkBAIC00NDcsMyArNDQ4LDM4IEBAIFJlc2V0U2Vzc2lvblZhcmlh Ymxlcyh2b2lkKQogCWlmIChTVmFyaWFibGVNZW1vcnlDb250ZXh0ICE9IE5VTEwpCiAJCU1lbW9y eUNvbnRleHRSZXNldChTVmFyaWFibGVNZW1vcnlDb250ZXh0KTsKIH0KKworLyoKKyAqIHBnX2dl dF90ZW1wb3Jhcnlfc2Vzc2lvbl92YXJpYWJsZXNfbmFtZXMKKyAqCisgKiBSZXR1cm5zIGxpc3Qg b2YgdGVtcG9yYXJ5IHNlc3Npb24gdmFyaWFibGVzLiBJdCBpcyB1c2VkIGJ5IHBzcWwncworICog dGFiIGNvbXBsZXRlIGZvciBEUk9QIFZBUklBQkxFIGFuZCBMRVQgY29tbWFuZHMuCisgKi8KK0Rh dHVtCitwZ19nZXRfdGVtcG9yYXJ5X3Nlc3Npb25fdmFyaWFibGVzX25hbWVzKFBHX0ZVTkNUSU9O X0FSR1MpCit7CisJSW5pdE1hdGVyaWFsaXplZFNSRihmY2luZm8sIE1BVF9TUkZfVVNFX0VYUEVD VEVEX0RFU0MpOworCisJaWYgKHNlc3Npb252YXJzKQorCXsKKwkJUmV0dXJuU2V0SW5mbyAqcnNp bmZvID0gKFJldHVyblNldEluZm8gKikgZmNpbmZvLT5yZXN1bHRpbmZvOworCQlIQVNIX1NFUV9T VEFUVVMgc3RhdHVzOworCQlTVmFyaWFibGUJc3ZhcjsKKworCQloYXNoX3NlcV9pbml0KCZzdGF0 dXMsIHNlc3Npb252YXJzKTsKKworCQl3aGlsZSAoKHN2YXIgPSAoU1ZhcmlhYmxlKSBoYXNoX3Nl cV9zZWFyY2goJnN0YXR1cykpICE9IE5VTEwpCisJCXsKKwkJCURhdHVtCQl2YWx1ZXNbMV07CisJ CQlib29sCQludWxsc1sxXTsKKworCQkJdmFsdWVzWzBdID0gQ1N0cmluZ0dldFRleHREYXR1bSgo TmFtZVN0cihzdmFyLT52YXJuYW1lKSkpOworCQkJbnVsbHNbMF0gPSBmYWxzZTsKKworCQkJdHVw bGVzdG9yZV9wdXR2YWx1ZXMocnNpbmZvLT5zZXRSZXN1bHQsIHJzaW5mby0+c2V0RGVzYywKKwkJ CQkJCQkJIHZhbHVlcywgbnVsbHMpOworCQl9CisJfQorCisJcmV0dXJuIChEYXR1bSkgMDsKK30K ZGlmZiAtLWdpdCBhL3NyYy9iaW4vcHNxbC90YWItY29tcGxldGUuaW4uYyBiL3NyYy9iaW4vcHNx bC90YWItY29tcGxldGUuaW4uYwppbmRleCA1MTNjNWQ5NDI4Zi4uN2U0NTU4ZjUyZmMgMTAwNjQ0 Ci0tLSBhL3NyYy9iaW4vcHNxbC90YWItY29tcGxldGUuaW4uYworKysgYi9zcmMvYmluL3BzcWwv dGFiLWNvbXBsZXRlLmluLmMKQEAgLTEyMDAsNiArMTIwMCwxMSBAQCBLZXl3b3Jkc19mb3JfbGlz dF9vZl9vd25lcl9yb2xlcywgIlBVQkxJQyIKICIgIEZST00gcGdfY2F0YWxvZy5wZ190aW1lem9u ZV9uYW1lcygpICJcCiAiIFdIRVJFIHBnX2NhdGFsb2cucXVvdGVfbGl0ZXJhbChwZ19jYXRhbG9n Lmxvd2VyKG5hbWUpKSBMSUtFIHBnX2NhdGFsb2cubG93ZXIoJyVzJykiCiAKKyNkZWZpbmUgUXVl cnlfZm9yX2xpc3Rfb2ZfdGVtcG9yYXJ5X3Nlc3Npb25fdmFyaWFibGVzIFwKKyJTRUxFQ1QgdmFy bmFtZSAiXAorIiAgIEZST00gcGdfY2F0YWxvZy5wZ19nZXRfdGVtcG9yYXJ5X3Nlc3Npb25fdmFy aWFibGVzX25hbWVzKCkgQVMgdmFybmFtZSAiXAorIiAgV0hFUkUgdmFybmFtZSBMSUtFICclcyci CisKIC8qIFByaXZpbGVnZSBvcHRpb25zIHNoYXJlZCBiZXR3ZWVuIEdSQU5UIGFuZCBSRVZPS0Ug Ki8KICNkZWZpbmUgUHJpdmlsZWdlX29wdGlvbnNfb2ZfZ3JhbnRfYW5kX3Jldm9rZSBcCiAiU0VM RUNUIiwgIklOU0VSVCIsICJVUERBVEUiLCAiREVMRVRFIiwgIlRSVU5DQVRFIiwgIlJFRkVSRU5D RVMiLCAiVFJJR0dFUiIsIFwKQEAgLTQ0MzAsNiArNDQzNSwxMCBAQCBtYXRjaF9wcmV2aW91c193 b3JkcyhpbnQgcGF0dGVybl9pZCwKIAllbHNlIGlmIChNYXRjaGVzKCJEUk9QIiwgIlRSQU5TRk9S TSIsICJGT1IiLCBNYXRjaEFueSwgIkxBTkdVQUdFIiwgTWF0Y2hBbnkpKQogCQlDT01QTEVURV9X SVRIKCJDQVNDQURFIiwgIlJFU1RSSUNUIik7CiAKKwkvKiBEUk9QIFZBUklBQkxFICovCisJZWxz ZSBpZiAoTWF0Y2hlcygiRFJPUCIsICJWQVJJQUJMRSIpKQorCQlDT01QTEVURV9XSVRIX1FVRVJZ KFF1ZXJ5X2Zvcl9saXN0X29mX3RlbXBvcmFyeV9zZXNzaW9uX3ZhcmlhYmxlcyk7CisKIC8qIEVY RUNVVEUgKi8KIAllbHNlIGlmIChNYXRjaGVzKCJFWEVDVVRFIikpCiAJCUNPTVBMRVRFX1dJVEhf UVVFUlkoUXVlcnlfZm9yX2xpc3Rfb2ZfcHJlcGFyZWRfc3RhdGVtZW50cyk7CkBAIC00ODcwLDYg KzQ4NzksOCBAQCBtYXRjaF9wcmV2aW91c193b3JkcyhpbnQgcGF0dGVybl9pZCwKIAogLyogTEVU ICovCiAJLyogQ29tcGxldGUgTEVUIDx2YXJpYWJsZT4gd2l0aCAiPSIgKi8KKwllbHNlIGlmIChN YXRjaGVzKCJMRVQiKSkKKwkJQ09NUExFVEVfV0lUSF9RVUVSWShRdWVyeV9mb3JfbGlzdF9vZl90 ZW1wb3Jhcnlfc2Vzc2lvbl92YXJpYWJsZXMpOwogCWVsc2UgaWYgKFRhaWxNYXRjaGVzKCJMRVQi LCBNYXRjaEFueSkpCiAJCUNPTVBMRVRFX1dJVEgoIj0iKTsKIApAQCAtNTQzOCw2ICs1NDQ5LDEy IEBAIG1hdGNoX3ByZXZpb3VzX3dvcmRzKGludCBwYXR0ZXJuX2lkLAogCQkJQ09NUExFVEVfV0lU SCgiJ3N0YW5kYnlfcmVwbGF5JyIsICInc3RhbmRieV93cml0ZSciLCAiJ3N0YW5kYnlfZmx1c2gn IiwgIidwcmltYXJ5X2ZsdXNoJyIpOwogCX0KIAorLyoKKyAqIFZBUklBQkxFIGZlbmNlCisgKi8K KwllbHNlIGlmIChUYWlsTWF0Y2hlcygiVkFSSUFCTEUiLCAiKCIpKQorCQlDT01QTEVURV9XSVRI X1FVRVJZKFF1ZXJ5X2Zvcl9saXN0X29mX3RlbXBvcmFyeV9zZXNzaW9uX3ZhcmlhYmxlcyk7CisK IC8qIFdJVEggW1JFQ1VSU0lWRV0gKi8KIAogCS8qCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9j YXRhbG9nL3BnX3Byb2MuZGF0IGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdAppbmRl eCBkYWM0MDk5MmNiYy4uZDI3ZTFmN2RhZDkgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFs b2cvcGdfcHJvYy5kYXQKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdApAQCAt MTI3NTksNCArMTI3NTksOSBAQAogICBwcm9uYW1lID0+ICdoYXNob2lkOGV4dGVuZGVkJywgcHJv cmV0dHlwZSA9PiAnaW50OCcsCiAgIHByb2FyZ3R5cGVzID0+ICdvaWQ4IGludDgnLCBwcm9zcmMg PT4gJ2hhc2hvaWQ4ZXh0ZW5kZWQnIH0sCiAKKyMgU2Vzc2lvbiB2YXJpYWJsZXMgc3VwcG9ydAor eyBvaWQgPT4gJzgwNjgnLCBkZXNjciA9PiAncmV0dXJucyBuYW1lcyBvZiB0ZW1wb3Jhcnkgc2Vz c2lvbiB2YXJpYWJsZXMnLAorICBwcm9uYW1lID0+ICdwZ19nZXRfdGVtcG9yYXJ5X3Nlc3Npb25f dmFyaWFibGVzX25hbWVzJywgcHJvcm93cyA9PiAnMTAwMCcsIHByb3JldHNldCA9PiAndCcsCisg IHByb3ZvbGF0aWxlID0+ICd2JywgcHJvcGFyYWxsZWwgPT4gJ3InLCBwcm9yZXR0eXBlID0+ICd0 ZXh0JywgcHJvYXJndHlwZXMgPT4gJycsCisgIHByb3NyYyA9PiAncGdfZ2V0X3RlbXBvcmFyeV9z ZXNzaW9uX3ZhcmlhYmxlc19uYW1lcycgfSwKIF0KZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jl c3MvZXhwZWN0ZWQvc2Vzc2lvbl92YXJpYWJsZXNfZGRsLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvc2Vzc2lvbl92YXJpYWJsZXNfZGRsLm91dAppbmRleCA5ZjViMDg4ZGU3Mi4uNzU4 Y2U1ODJmY2EgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc2Vzc2lvbl92 YXJpYWJsZXNfZGRsLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Nlc3Npb25f dmFyaWFibGVzX2RkbC5vdXQKQEAgLTU0LDMgKzU0LDE5IEBAIE5PVElDRTogIHNlc3Npb24gdmFy aWFibGUgIngiIGFscmVhZHkgZXhpc3RzLCBza2lwcGluZwogRFJPUCBWQVJJQUJMRSB4OwogRFJP UCBWQVJJQUJMRSBJRiBFWElTVFMgeDsKIE5PVElDRTogIHNlc3Npb24gdmFyaWFibGUgIngiIGRv ZXMgbm90IGV4aXN0cywgc2tpcHBpbmcKK0NSRUFURSBURU1QIFZBUklBQkxFIHggQVMgaW50Owor Q1JFQVRFIFRFTVAgVkFSSUFCTEUgeSBBUyBpbnQ7CitTRUxFQ1QgKiBGUk9NIHBnX2dldF90ZW1w b3Jhcnlfc2Vzc2lvbl92YXJpYWJsZXNfbmFtZXMoKTsKKyBwZ19nZXRfdGVtcG9yYXJ5X3Nlc3Np b25fdmFyaWFibGVzX25hbWVzIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCisgeQorIHgKKygyIHJvd3MpCisKK0RST1AgVkFSSUFCTEUgeDsKK0RST1AgVkFSSUFC TEUgeTsKK1NFTEVDVCAqIEZST00gcGdfZ2V0X3RlbXBvcmFyeV9zZXNzaW9uX3ZhcmlhYmxlc19u YW1lcygpOworIHBnX2dldF90ZW1wb3Jhcnlfc2Vzc2lvbl92YXJpYWJsZXNfbmFtZXMgCistLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKygwIHJvd3MpCisKZGlmZiAt LWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5zcWwgYi9z cmMvdGVzdC9yZWdyZXNzL3NxbC9zZXNzaW9uX3ZhcmlhYmxlc19kZGwuc3FsCmluZGV4IDYwZjc4 NjcxZTNiLi5jNGNiZmQxNzE2OSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc2Vz c2lvbl92YXJpYWJsZXNfZGRsLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zZXNzaW9u X3ZhcmlhYmxlc19kZGwuc3FsCkBAIC03MCwzICs3MCwxMSBAQCBDUkVBVEUgVEVNUCBWQVJJQUJM RSBJRiBOT1QgRVhJU1RTIHggQVMgaW50OwogCiBEUk9QIFZBUklBQkxFIHg7CiBEUk9QIFZBUklB QkxFIElGIEVYSVNUUyB4OworCitDUkVBVEUgVEVNUCBWQVJJQUJMRSB4IEFTIGludDsKK0NSRUFU RSBURU1QIFZBUklBQkxFIHkgQVMgaW50OworU0VMRUNUICogRlJPTSBwZ19nZXRfdGVtcG9yYXJ5 X3Nlc3Npb25fdmFyaWFibGVzX25hbWVzKCk7CisKK0RST1AgVkFSSUFCTEUgeDsKK0RST1AgVkFS SUFCTEUgeTsKK1NFTEVDVCAqIEZST00gcGdfZ2V0X3RlbXBvcmFyeV9zZXNzaW9uX3ZhcmlhYmxl c19uYW1lcygpOwotLSAKMi41My4wCgo= --000000000000f2b535064c467044 Content-Type: text/x-patch; charset="US-ASCII"; name="v20260305-0010-transactional-DDL-CREATE-VARIABLE-DROP-VARIABLE.patch" Content-Disposition: attachment; filename="v20260305-0010-transactional-DDL-CREATE-VARIABLE-DROP-VARIABLE.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmdgvco01 RnJvbSBiZGNkMTY0MTUwOGIwMDQ1MWMwNjBiODIwYzAyN2JkNTgzNjQwMTc4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPHBhdmVsLnN0ZWh1bGVAZ21h aWwuY29tPgpEYXRlOiBTYXQsIDYgRGVjIDIwMjUgMDc6MzU6MzAgKzAxMDAKU3ViamVjdDogW1BB VENIIDEwLzExXSB0cmFuc2FjdGlvbmFsIERETCAtIENSRUFURSBWQVJJQUJMRSwgRFJPUCBWQVJJ QUJMRQoKR2VuZXJhbGx5IFBvc3RncmVTUUwgRERMIHN0YXRlbWVudHMgYXJlIHRyYW5zYWN0aW9u YWwuIFdlIGNhbiBpbXBsZW1lbnQgdHJhbnNhY3Rpb25hbCBiZWhhdmUKZm9yICggQ1JFQVRFIHwg RFJPUCApIFZBUklBQkxFIHRvby4gSW1wbGVtZW50YXRpb24gaXMgYWxtb3N0IHNpbXBsZS4gRFJP UCBqdXN0IHNldCBkcm9wcGVkX2x4aWQsCkNSRUFURSBzZXQgY3JlYXRlZF9seGlkIGFuZCBtb3Zl cyBwcmV2aW91cyBlbnRyeSBvZiByZWxhdGVkIHNlc3Npb252YXJzIGhhc2h0YWIgdG8gc3RhY2su IEF0IHRoZQplbmQgb2YgdHJhbnNhY3Rpb24gZm9yIGNvbW1pdCB3ZSBqdXN0IGNsZWFuIHRoaXMg c3RhY2suIEZvciByb2xsYmFjayB3ZSBkbyBjb3B5IHRoZSBib290b20gdmFsdWUKZnJvbSB0aGUg c3RhY2sgYW5kIGFnYWluIGNsZWFuIHN0YWNrLgotLS0KIHNyYy9iYWNrZW5kL2FjY2Vzcy90cmFu c2FtL3hhY3QuYyAgICAgICAgICAgICB8ICAgNSArCiBzcmMvYmFja2VuZC9jb21tYW5kcy9zZXNz aW9uX3ZhcmlhYmxlLmMgICAgICAgfCAyMTcgKysrKysrKysrKysrKysrKy0tCiBzcmMvaW5jbHVk ZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmggICAgICAgfCAgIDIgKwogLi4uL2V4cGVjdGVk L3Nlc3Npb25fdmFyaWFibGVzX2RkbC5vdXQgICAgICAgIHwgIDM4ICsrKwogLi4uL3JlZ3Jlc3Mv c3FsL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5zcWwgICAgIHwgIDIxICsrCiA1IGZpbGVzIGNoYW5n ZWQsIDI1OCBpbnNlcnRpb25zKCspLCAyNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94YWN0LmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNh bS94YWN0LmMKaW5kZXggZWJhNGYwNjMxNjguLmRhNTE3MDg2MWI4IDEwMDY0NAotLS0gYS9zcmMv YmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94YWN0LmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL3Ry YW5zYW0veGFjdC5jCkBAIC0zOSw2ICszOSw3IEBACiAjaW5jbHVkZSAiY29tbWFuZHMvYXN5bmMu aCIKICNpbmNsdWRlICJjb21tYW5kcy90YWJsZWNtZHMuaCIKICNpbmNsdWRlICJjb21tYW5kcy90 cmlnZ2VyLmgiCisjaW5jbHVkZSAiY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oIgogI2luY2x1 ZGUgImNvbW1vbi9wZ19wcm5nLmgiCiAjaW5jbHVkZSAiZXhlY3V0b3Ivc3BpLmgiCiAjaW5jbHVk ZSAibGlicHEvYmUtZnNzdHVicy5oIgpAQCAtMjMzMyw2ICsyMzM0LDkgQEAgQ29tbWl0VHJhbnNh Y3Rpb24odm9pZCkKIAkvKiBjbG9zZSBsYXJnZSBvYmplY3RzIGJlZm9yZSBsb3dlci1sZXZlbCBj bGVhbnVwICovCiAJQXRFT1hhY3RfTGFyZ2VPYmplY3QodHJ1ZSk7CiAKKwkvKiByZW1vdmUgc3Rh Y2tlZCBzZXNzaW9uIHZhcmlhYmxlcyAqLworCUF0UHJlRU9YYWN0X1Nlc3Npb25WYXJpYWJsZXMo dHJ1ZSk7CisKIAkvKgogCSAqIEluc2VydCBub3RpZmljYXRpb25zIHNlbnQgYnkgTk9USUZZIGNv bW1hbmRzIGludG8gdGhlIHF1ZXVlLiAgVGhpcwogCSAqIHNob3VsZCBiZSBsYXRlIGluIHRoZSBw cmUtY29tbWl0IHNlcXVlbmNlIHRvIG1pbmltaXplIHRpbWUgc3BlbnQKQEAgLTI5MzksNiArMjk0 Myw3IEBAIEFib3J0VHJhbnNhY3Rpb24odm9pZCkKIAlBdEFib3J0X1BvcnRhbHMoKTsKIAlzbWdy RG9QZW5kaW5nU3luY3MoZmFsc2UsIGlzX3BhcmFsbGVsX3dvcmtlcik7CiAJQXRFT1hhY3RfTGFy Z2VPYmplY3QoZmFsc2UpOworCUF0UHJlRU9YYWN0X1Nlc3Npb25WYXJpYWJsZXMoZmFsc2UpOwog CUF0QWJvcnRfTm90aWZ5KCk7CiAJQXRFT1hhY3RfUmVsYXRpb25NYXAoZmFsc2UsIGlzX3BhcmFs bGVsX3dvcmtlcik7CiAJQXRBYm9ydF9Ud29waGFzZSgpOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vz c2lvbl92YXJpYWJsZS5jCmluZGV4IDY0MzA0NTVjMGE2Li44ZjI0OWQ1MTVkNSAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5jCisrKyBiL3NyYy9iYWNr ZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuYwpAQCAtNTQsNiArNTQsMTEgQEAgdHlwZWRl ZiBzdHJ1Y3QgU1ZhcmlhYmxlRGF0YQogCiAJaW50MTYJCXR5cGxlbjsKIAlib29sCQl0eXBieXZh bDsKKworCXN0cnVjdCBTVmFyaWFibGVEYXRhICpwcmV2OworCWJvb2wJCXN0YWNrZWQ7CisJTG9j YWxUcmFuc2FjdGlvbklkIGNyZWF0ZWRfbHhpZDsKKwlMb2NhbFRyYW5zYWN0aW9uSWQgZHJvcHBl ZF9seGlkOwogfSBTVmFyaWFibGVEYXRhOwogCiB0eXBlZGVmIFNWYXJpYWJsZURhdGEgKlNWYXJp YWJsZTsKQEAgLTYyLDYgKzY3LDE0IEBAIHN0YXRpYyBIVEFCICpzZXNzaW9udmFycyA9IE5VTEw7 CS8qIGhhc2ggdGFibGUgZm9yIHNlc3Npb24gdmFyaWFibGVzICovCiAKIHN0YXRpYyBNZW1vcnlD b250ZXh0IFNWYXJpYWJsZU1lbW9yeUNvbnRleHQgPSBOVUxMOwogCisvKgorICogV2hlbiB3ZSB0 byByZW1vdmUgY29tbWl0dGVkIGRyb3BwZWQgdmFyaWFibGVzIG9yIHVuY29tbWl0dGVkCisgKiBj cmVhdGVkIHZhcmlhYmxlcyBmcm9tIHNlc3Npb252YXJzIHRhYi4gY3JlYXRlZF9vcl9kcm9wcGVk X2x4aWQKKyAqIGlzIHRyYW5zYWN0aW9uIGlkIG9mIHRyYW5zYWN0aW9uIHdoZW4gc29tZSBvZiBE Uk9QIG9yIENSRUFURSB2YXJpYWJsZQorICogd2FzIGV4ZWN1dGVkLgorICovCitzdGF0aWMgTG9j YWxUcmFuc2FjdGlvbklkIGNyZWF0ZWRfb3JfZHJvcHBlZF9seGlkID0gSW52YWxpZExvY2FsVHJh bnNhY3Rpb25JZDsKKwogLyoKICAqIENyZWF0ZSB0aGUgaGFzaCB0YWJsZSBmb3Igc3RvcmluZyBz ZXNzaW9uIHZhcmlhYmxlcy4KICAqLwpAQCAtMTAzLDYgKzExNiwxNCBAQCBzZWFyY2hfdmFyaWFi bGUoY2hhciAqdmFybmFtZSwgYm9vbCBtaXNzaW5nX29rKQogCXN2YXIgPSAoU1ZhcmlhYmxlKSBo YXNoX3NlYXJjaChzZXNzaW9udmFycywgdmFybmFtZSwKIAkJCQkJCQkJICAgSEFTSF9GSU5ELCBO VUxMKTsKIAorCS8qIFNlc3Npb24gdmFyaWFibGUgY2FuIGJlIGRyb3BwZWQgaW5zaWRlIGN1cnJl bnQgdHJhbnNhY3Rpb24gKi8KKwlpZiAoc3ZhciAmJiBzdmFyLT5kcm9wcGVkX2x4aWQgIT0gSW52 YWxpZExvY2FsVHJhbnNhY3Rpb25JZCkKKwl7CisJCUFzc2VydChjcmVhdGVkX29yX2Ryb3BwZWRf bHhpZCA9PSBNeVByb2MtPnZ4aWQubHhpZCk7CisJCUFzc2VydChzdmFyLT5kcm9wcGVkX2x4aWQg PT0gTXlQcm9jLT52eGlkLmx4aWQpOworCQlzdmFyID0gTlVMTDsKKwl9CisKIAlpZiAoIXN2YXIg JiYgIW1pc3Npbmdfb2spCiAJCWVyZXBvcnQoRVJST1IsCiAJCQkJKGVycmNvZGUoRVJSQ09ERV9V TkRFRklORURfT0JKRUNUKSwKQEAgLTIzNSw2ICsyNTYsNyBAQCBDcmVhdGVWYXJpYWJsZShQYXJz ZVN0YXRlICpwc3RhdGUsIENyZWF0ZVNlc3Npb25WYXJTdG10ICpzdG10KQogCU9pZAkJCXR5cGNv bGxhdGlvbjsKIAlPaWQJCQl2YXJvd25lciA9IEdldFVzZXJJZCgpOwogCVNWYXJpYWJsZQlzdmFy OworCVNWYXJpYWJsZQlwcmV2X3N2YXIgPSBOVUxMOwogCWJvb2wJCWZvdW5kOwogCWludDE2CQl0 eXBsZW47CiAJYm9vbAkJdHlwYnl2YWw7CkBAIC0yNzksMTkgKzMwMSwzNyBAQCBDcmVhdGVWYXJp YWJsZShQYXJzZVN0YXRlICpwc3RhdGUsIENyZWF0ZVNlc3Npb25WYXJTdG10ICpzdG10KQogCiAJ aWYgKGZvdW5kKQogCXsKLQkJaWYgKHN0bXQtPmlmX25vdF9leGlzdHMpCisJCWlmIChzdmFyLT5k cm9wcGVkX2x4aWQgPT0gSW52YWxpZExvY2FsVHJhbnNhY3Rpb25JZCkKIAkJewotCQkJZXJlcG9y dChOT1RJQ0UsCi0JCQkJCShlcnJjb2RlKEVSUkNPREVfRFVQTElDQVRFX09CSkVDVCksCi0JCQkJ CSBlcnJtc2coInNlc3Npb24gdmFyaWFibGUgXCIlc1wiIGFscmVhZHkgZXhpc3RzLCBza2lwcGlu ZyIsCi0JCQkJCQkJc3RtdC0+bmFtZSkpKTsKLQkJCXJldHVybjsKKwkJCWlmIChzdG10LT5pZl9u b3RfZXhpc3RzKQorCQkJeworCQkJCWVyZXBvcnQoTk9USUNFLAorCQkJCQkJKGVycmNvZGUoRVJS Q09ERV9EVVBMSUNBVEVfT0JKRUNUKSwKKwkJCQkJCSBlcnJtc2coInNlc3Npb24gdmFyaWFibGUg XCIlc1wiIGFscmVhZHkgZXhpc3RzLCBza2lwcGluZyIsCisJCQkJCQkJCXN0bXQtPm5hbWUpKSk7 CisJCQkJcmV0dXJuOworCQkJfQorCQkJZWxzZQorCQkJCWVyZXBvcnQoRVJST1IsCisJCQkJCQko ZXJyY29kZShFUlJDT0RFX0RVUExJQ0FURV9PQkpFQ1QpLAorCQkJCQkJIGVycm1zZygic2Vzc2lv biB2YXJpYWJsZSBcIiVzXCIgYWxyZWFkeSBleGlzdHMiLAorCQkJCQkJCQlzdG10LT5uYW1lKSkp OwogCQl9CiAJCWVsc2UKLQkJCWVyZXBvcnQoRVJST1IsCi0JCQkJCShlcnJjb2RlKEVSUkNPREVf RFVQTElDQVRFX09CSkVDVCksCi0JCQkJCSBlcnJtc2coInNlc3Npb24gdmFyaWFibGUgXCIlc1wi IGFscmVhZHkgZXhpc3RzIiwKLQkJCQkJCQlzdG10LT5uYW1lKSkpOworCQl7CisJCQlNZW1vcnlD b250ZXh0IG9sZGN4dDsKKworCQkJQXNzZXJ0KGNyZWF0ZWRfb3JfZHJvcHBlZF9seGlkID09IE15 UHJvYy0+dnhpZC5seGlkKTsKKwkJCUFzc2VydChzdmFyLT5kcm9wcGVkX2x4aWQgPT0gTXlQcm9j LT52eGlkLmx4aWQpOworCisJCQlvbGRjeHQgPSBNZW1vcnlDb250ZXh0U3dpdGNoVG8oU1Zhcmlh YmxlTWVtb3J5Q29udGV4dCk7CisJCQlwcmV2X3N2YXIgPSBwYWxsb2Nfb2JqZWN0KFNWYXJpYWJs ZURhdGEpOworCQkJbWVtY3B5KHByZXZfc3Zhciwgc3Zhciwgc2l6ZW9mKFNWYXJpYWJsZURhdGEp KTsKKwkJCXByZXZfc3Zhci0+c3RhY2tlZCA9IHRydWU7CisJCQltZW1zZXQoc3ZhciwgMCwgc2l6 ZW9mKFNWYXJpYWJsZURhdGEpKTsKKworCQkJTWVtb3J5Q29udGV4dFN3aXRjaFRvKG9sZGN4dCk7 CisJCX0KIAl9CiAKIAluYW1lc3RyY3B5KCZzdmFyLT52YXJuYW1lLCBzdG10LT5uYW1lKTsKQEAg LTMwNCw2ICszNDQsMTIgQEAgQ3JlYXRlVmFyaWFibGUoUGFyc2VTdGF0ZSAqcHN0YXRlLCBDcmVh dGVTZXNzaW9uVmFyU3RtdCAqc3RtdCkKIAogCXN2YXItPnZhbHVlID0gKERhdHVtKSAwOwogCXN2 YXItPmlzbnVsbCA9IHRydWU7CisKKwlzdmFyLT5wcmV2ID0gcHJldl9zdmFyOworCXN2YXItPnN0 YWNrZWQgPSBmYWxzZTsKKwlzdmFyLT5kcm9wcGVkX2x4aWQgPSBJbnZhbGlkTG9jYWxUcmFuc2Fj dGlvbklkOworCXN2YXItPmNyZWF0ZWRfbHhpZCA9IE15UHJvYy0+dnhpZC5seGlkOworCWNyZWF0 ZWRfb3JfZHJvcHBlZF9seGlkID0gTXlQcm9jLT52eGlkLmx4aWQ7CiB9CiAKIC8qCkBAIC0zMzgs MTQgKzM4NCwxMjkgQEAgRHJvcFZhcmlhYmxlQnlOYW1lKERyb3BTZXNzaW9uVmFyU3RtdCAqc3Rt dCkKIAkJCQkgZXJybXNnKCJtdXN0IGJlIG93bmVyIG9mIHNlc3Npb24gdmFyaWFibGUgJXMiLAog CQkJCQkJc3RtdC0+bmFtZSkpKTsKIAotCWlmICghc3Zhci0+dHlwYnl2YWwgJiYgIXN2YXItPmlz bnVsbCkKKwlzdmFyLT5kcm9wcGVkX2x4aWQgPSBNeVByb2MtPnZ4aWQubHhpZDsKKwljcmVhdGVk X29yX2Ryb3BwZWRfbHhpZCA9IE15UHJvYy0+dnhpZC5seGlkOworfQorCitzdGF0aWMgdm9pZAor ZnJlZV9zdmFyX3ZhbHVlKFNWYXJpYWJsZSBzdmFyKQoreworCWlmICghc3Zhci0+aXNudWxsICYm ICFzdmFyLT50eXBieXZhbCkKIAkJcGZyZWUoRGF0dW1HZXRQb2ludGVyKHN2YXItPnZhbHVlKSk7 Cit9CisKK3N0YXRpYyB2b2lkCitmcmVlX3N0YWNrZWRfc3ZhcnMoU1ZhcmlhYmxlIHN2YXIpCit7 CisJd2hpbGUgKHN2YXIpCisJeworCQlTVmFyaWFibGUJY3VycmVudCA9IHN2YXI7CisKKwkJZnJl ZV9zdmFyX3ZhbHVlKGN1cnJlbnQpOworCQlzdmFyID0gY3VycmVudC0+cHJldjsKKwkJcGZyZWUo Y3VycmVudCk7CisJfQorfQorCisvKgorICogcmVtb3ZlIGRyb3BwZWQgY29tbWl0dGVkIGVudHJp ZXMgb3IgY3JlYXRlZCB1bmNvbW1pdHRlZCBlbnRyaWVzCisgKiBmcm9tIGhhc2ggdGFibGUuCisg Ki8KK3ZvaWQKK0F0UHJlRU9YYWN0X1Nlc3Npb25WYXJpYWJsZXMoYm9vbCBpc0NvbW1pdCkKK3sK KwlpZiAoY3JlYXRlZF9vcl9kcm9wcGVkX2x4aWQgIT0gSW52YWxpZExvY2FsVHJhbnNhY3Rpb25J ZCkKKwl7CisJCUhBU0hfU0VRX1NUQVRVUyBzdGF0dXM7CisJCVNWYXJpYWJsZQlzdmFyOwogCi0J aWYgKGhhc2hfc2VhcmNoKHNlc3Npb252YXJzLAotCQkJCQkgICBzdG10LT5uYW1lLAotCQkJCQkg ICBIQVNIX1JFTU9WRSwKLQkJCQkJICAgTlVMTCkgPT0gTlVMTCkKLQkJZWxvZyhFUlJPUiwgImhh c2ggdGFibGUgY29ycnVwdGVkIik7CisJCUFzc2VydChjcmVhdGVkX29yX2Ryb3BwZWRfbHhpZCA9 PSBNeVByb2MtPnZ4aWQubHhpZCk7CisJCUFzc2VydChzZXNzaW9udmFycyk7CisKKwkJaGFzaF9z ZXFfaW5pdCgmc3RhdHVzLCBzZXNzaW9udmFycyk7CisKKwkJd2hpbGUgKChzdmFyID0gKFNWYXJp YWJsZSkgaGFzaF9zZXFfc2VhcmNoKCZzdGF0dXMpKSAhPSBOVUxMKQorCQl7CisJCQlpZiAoKHN2 YXItPmRyb3BwZWRfbHhpZCAhPSBJbnZhbGlkTG9jYWxUcmFuc2FjdGlvbklkKSB8fAorCQkJCShz dmFyLT5jcmVhdGVkX2x4aWQgIT0gSW52YWxpZExvY2FsVHJhbnNhY3Rpb25JZCkpCisJCQl7CisJ CQkJQXNzZXJ0KChzdmFyLT5kcm9wcGVkX2x4aWQgPT0gSW52YWxpZExvY2FsVHJhbnNhY3Rpb25J ZCkgfHwKKwkJCQkJCShzdmFyLT5kcm9wcGVkX2x4aWQgPT0gTXlQcm9jLT52eGlkLmx4aWQpKTsK KworCQkJCUFzc2VydCgoc3Zhci0+Y3JlYXRlZF9seGlkID09IEludmFsaWRMb2NhbFRyYW5zYWN0 aW9uSWQpIHx8CisJCQkJCQkoc3Zhci0+Y3JlYXRlZF9seGlkID09IE15UHJvYy0+dnhpZC5seGlk KSk7CisKKwkJCQlpZiAoaXNDb21taXQpCisJCQkJeworCQkJCQlpZiAoc3Zhci0+ZHJvcHBlZF9s eGlkID09IE15UHJvYy0+dnhpZC5seGlkKQorCQkJCQl7CisJCQkJCQlmcmVlX3N0YWNrZWRfc3Zh cnMoc3Zhci0+cHJldik7CisJCQkJCQlmcmVlX3N2YXJfdmFsdWUoc3Zhcik7CisKKwkJCQkJCSh2 b2lkKSBoYXNoX3NlYXJjaChzZXNzaW9udmFycywKKwkJCQkJCQkJCQkgICBOYW1lU3RyKHN2YXIt PnZhcm5hbWUpLAorCQkJCQkJCQkJCSAgIEhBU0hfUkVNT1ZFLAorCQkJCQkJCQkJCSAgIE5VTEwp OworCQkJCQkJc3ZhciA9IE5VTEw7CisJCQkJCX0KKwkJCQkJZWxzZQorCQkJCQl7CisJCQkJCQlm cmVlX3N0YWNrZWRfc3ZhcnMoc3Zhci0+cHJldik7CisJCQkJCQlzdmFyLT5wcmV2ID0gTlVMTDsK KwkJCQkJCXN2YXItPmNyZWF0ZWRfbHhpZCA9IEludmFsaWRMb2NhbFRyYW5zYWN0aW9uSWQ7CisJ CQkJCX0KKwkJCQl9CisJCQkJZWxzZQorCQkJCXsKKwkJCQkJU1ZhcmlhYmxlCWl0ZXI7CisKKwkJ CQkJLyoKKwkJCQkJICogV2UgaGF2ZSB0byBzZWFyY2ggdmFsdWUgdGhlIG9sZGVzdCBzdmFyIGlu IHRoZSBzdGFjay4gSWYgaXQgaXMganVzdCBkcm9wcGVkLAorCQkJCQkgKiB0aGVuIHdlIHJldmVy dCBkcm9wcGVkIGZsYWcuIElmIGl0IGlzIGNyZWF0ZWQgaW4gY3VycmVudCB0cmFuc2FjdGlvbiwg dGhlbgorCQkJCQkgKiB3ZSByZW1vdmUgdGhpcyBzdmFyIHRvby4KKwkJCQkJICovCisJCQkJCWl0 ZXIgPSBzdmFyOworCQkJCQl3aGlsZSAoaXRlci0+cHJldikKKwkJCQkJeworCQkJCQkJU1Zhcmlh YmxlCWN1cnJlbnQgPSBpdGVyOworCisJCQkJCQlmcmVlX3N2YXJfdmFsdWUoY3VycmVudCk7CisK KwkJCQkJCWl0ZXIgPSBjdXJyZW50LT5wcmV2OworCisJCQkJCQlpZiAoY3VycmVudC0+c3RhY2tl ZCkKKwkJCQkJCQlwZnJlZShjdXJyZW50KTsKKwkJCQkJfQorCisJCQkJCWlmIChpdGVyLT5jcmVh dGVkX2x4aWQgPT0gTXlQcm9jLT52eGlkLmx4aWQpCisJCQkJCXsKKwkJCQkJCWZyZWVfc3Zhcl92 YWx1ZShpdGVyKTsKKwkJCQkJCWlmIChpdGVyLT5zdGFja2VkKQorCQkJCQkJCXBmcmVlKGl0ZXIp OworCisJCQkJCQkodm9pZCkgaGFzaF9zZWFyY2goc2Vzc2lvbnZhcnMsCisJCQkJCQkJCQkJICAg TmFtZVN0cihzdmFyLT52YXJuYW1lKSwKKwkJCQkJCQkJCQkgICBIQVNIX1JFTU9WRSwKKwkJCQkJ CQkJCQkgICBOVUxMKTsKKwkJCQkJfQorCQkJCQllbHNlCisJCQkJCXsKKwkJCQkJCWlmIChpdGVy LT5zdGFja2VkKQorCQkJCQkJeworCQkJCQkJCW1lbWNweShzdmFyLCBpdGVyLCBzaXplb2YoU1Zh cmlhYmxlRGF0YSkpOworCQkJCQkJCXN2YXItPnN0YWNrZWQgPSBmYWxzZTsKKwkJCQkJCQlwZnJl ZShpdGVyKTsKKwkJCQkJCX0KKworCQkJCQkJLyogcmV2ZXJ0IGRyb3BwZWQgZmxhZyAqLworCQkJ CQkJc3Zhci0+ZHJvcHBlZF9seGlkID0gSW52YWxpZExvY2FsVHJhbnNhY3Rpb25JZDsKKwkJCQkJ fQorCQkJCX0KKwkJCX0KKwkJfQorCisJCWNyZWF0ZWRfb3JfZHJvcHBlZF9seGlkID0gSW52YWxp ZExvY2FsVHJhbnNhY3Rpb25JZDsKKwl9CiB9CiAKIC8qCkBAIC00MzAsMjMgKzU5MSwyOSBAQCBF eGVjdXRlTGV0U3RtdChQYXJzZVN0YXRlICpwc3RhdGUsCiB9CiAKIC8qCi0gKiBGYXN0IGRyb3Ag b2YgdGhlIGNvbXBsZXRlIGNvbnRlbnQgb2YgdGhlIHNlc3Npb24gdmFyaWFibGVzIGhhc2ggdGFi bGUsIGFuZAotICogY2xlYW51cCBvZiBhbnkgbGlzdCB0aGF0IHdvdWxkbid0IGJlIHJlbGV2YW50 IGFueW1vcmUuCiAgKiBUaGlzIGlzIHVzZWQgYnkgdGhlIERJU0NBUkQgVEVNUC4KICAqLwogdm9p ZAogUmVzZXRTZXNzaW9uVmFyaWFibGVzKHZvaWQpCiB7Ci0JLyogZGVzdHJveSBoYXNoIHRhYmxl IGFuZCByZXNldCByZWxhdGVkIG1lbW9yeSBjb250ZXh0ICovCisJLyogbWFyayBhbGwgc2Vzc2lv biB2YXJpYWJsZXMgYXMgZHJvcHBlZCAqLwogCWlmIChzZXNzaW9udmFycykKIAl7Ci0JCWhhc2hf ZGVzdHJveShzZXNzaW9udmFycyk7Ci0JCXNlc3Npb252YXJzID0gTlVMTDsKLQl9CisJCUhBU0hf U0VRX1NUQVRVUyBzdGF0dXM7CisJCVNWYXJpYWJsZQlzdmFyOworCQlib29sCQlmb3VuZCA9IGZh bHNlOwogCi0JLyogcmVsZWFzZSBtZW1vcnkgYWxsb2NhdGVkIGJ5IHNlc3Npb24gdmFyaWFibGVz ICovCi0JaWYgKFNWYXJpYWJsZU1lbW9yeUNvbnRleHQgIT0gTlVMTCkKLQkJTWVtb3J5Q29udGV4 dFJlc2V0KFNWYXJpYWJsZU1lbW9yeUNvbnRleHQpOworCQloYXNoX3NlcV9pbml0KCZzdGF0dXMs IHNlc3Npb252YXJzKTsKKworCQl3aGlsZSAoKHN2YXIgPSAoU1ZhcmlhYmxlKSBoYXNoX3NlcV9z ZWFyY2goJnN0YXR1cykpICE9IE5VTEwpCisJCXsKKwkJCXN2YXItPmRyb3BwZWRfbHhpZCA9IE15 UHJvYy0+dnhpZC5seGlkOworCQkJZm91bmQgPSB0cnVlOworCQl9CisKKwkJaWYgKGZvdW5kKQor CQkJY3JlYXRlZF9vcl9kcm9wcGVkX2x4aWQgPSBNeVByb2MtPnZ4aWQubHhpZDsKKwl9CiB9CiAK IC8qCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmgg Yi9zcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmgKaW5kZXggM2YwN2FlNTVh YWMuLjEyMThjNTY2NzY3IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9u X3ZhcmlhYmxlLmgKKysrIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5o CkBAIC0zOSw0ICszOSw2IEBAIGV4dGVybiB2b2lkIEV4ZWN1dGVMZXRTdG10KFBhcnNlU3RhdGUg KnBzdGF0ZSwgTGV0U3RtdCAqc3RtdCwgUGFyYW1MaXN0SW5mbyBwYXJhCiAKIGV4dGVybiB2b2lk IFJlc2V0U2Vzc2lvblZhcmlhYmxlcyh2b2lkKTsKIAorZXh0ZXJuIHZvaWQgQXRQcmVFT1hhY3Rf U2Vzc2lvblZhcmlhYmxlcyhib29sIGlzQ29tbWl0KTsKKwogI2VuZGlmCmRpZmYgLS1naXQgYS9z cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5vdXQgYi9zcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5vdXQKaW5kZXggNzU4 Y2U1ODJmY2EuLjJkMDA0NzFkYTk2IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC9zZXNzaW9uX3ZhcmlhYmxlc19kZGwub3V0CkBAIC03MCwzICs3MCw0MSBAQCBTRUxFQ1Qg KiBGUk9NIHBnX2dldF90ZW1wb3Jhcnlfc2Vzc2lvbl92YXJpYWJsZXNfbmFtZXMoKTsKIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogKDAgcm93cykKIAorQ1JFQVRF IFRFTVAgVkFSSUFCTEUgeCBBUyB2YXJjaGFyOworTEVUIHggPSAnSGknOworQkVHSU47CitEUk9Q IFZBUklBQkxFIHg7CitDUkVBVEUgVEVNUCBWQVJJQUJMRSB4IEFTIHZhcmNoYXI7CitMRVQgeCA9 ICdIZWxsbyc7CitTRUxFQ1QgVkFSSUFCTEUoeCk7CisgICB4ICAgCistLS0tLS0tCisgSGVsbG8K KygxIHJvdykKKworQ09NTUlUOworU0VMRUNUIFZBUklBQkxFKHgpOworICAgeCAgIAorLS0tLS0t LQorIEhlbGxvCisoMSByb3cpCisKK0xFVCB4ID0gJ0hpJzsKK0JFR0lOOworRFJPUCBWQVJJQUJM RSB4OworQ1JFQVRFIFRFTVAgVkFSSUFCTEUgeCBBUyB2YXJjaGFyOworTEVUIHggPSAnSGVsbG8n OworU0VMRUNUIFZBUklBQkxFKHgpOworICAgeCAgIAorLS0tLS0tLQorIEhlbGxvCisoMSByb3cp CisKK1JPTExCQUNLOworU0VMRUNUIFZBUklBQkxFKHgpOworIHggIAorLS0tLQorIEhpCisoMSBy b3cpCisKK0RST1AgVkFSSUFCTEUgeDsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3Fs L3Nlc3Npb25fdmFyaWFibGVzX2RkbC5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zZXNzaW9u X3ZhcmlhYmxlc19kZGwuc3FsCmluZGV4IGM0Y2JmZDE3MTY5Li43MzM1ZjE1ZWQzOSAxMDA2NDQK LS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc2Vzc2lvbl92YXJpYWJsZXNfZGRsLnNxbAorKysg Yi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zZXNzaW9uX3ZhcmlhYmxlc19kZGwuc3FsCkBAIC03OCwz ICs3OCwyNCBAQCBTRUxFQ1QgKiBGUk9NIHBnX2dldF90ZW1wb3Jhcnlfc2Vzc2lvbl92YXJpYWJs ZXNfbmFtZXMoKTsKIERST1AgVkFSSUFCTEUgeDsKIERST1AgVkFSSUFCTEUgeTsKIFNFTEVDVCAq IEZST00gcGdfZ2V0X3RlbXBvcmFyeV9zZXNzaW9uX3ZhcmlhYmxlc19uYW1lcygpOworCitDUkVB VEUgVEVNUCBWQVJJQUJMRSB4IEFTIHZhcmNoYXI7CitMRVQgeCA9ICdIaSc7CitCRUdJTjsKK0RS T1AgVkFSSUFCTEUgeDsKK0NSRUFURSBURU1QIFZBUklBQkxFIHggQVMgdmFyY2hhcjsKK0xFVCB4 ID0gJ0hlbGxvJzsKK1NFTEVDVCBWQVJJQUJMRSh4KTsKK0NPTU1JVDsKK1NFTEVDVCBWQVJJQUJM RSh4KTsKKworTEVUIHggPSAnSGknOworQkVHSU47CitEUk9QIFZBUklBQkxFIHg7CitDUkVBVEUg VEVNUCBWQVJJQUJMRSB4IEFTIHZhcmNoYXI7CitMRVQgeCA9ICdIZWxsbyc7CitTRUxFQ1QgVkFS SUFCTEUoeCk7CitST0xMQkFDSzsKK1NFTEVDVCBWQVJJQUJMRSh4KTsKKworRFJPUCBWQVJJQUJM RSB4OwotLSAKMi41My4wCgo= --000000000000f2b535064c467044 Content-Type: text/x-patch; charset="UTF-8"; name="v20260305-0006-LET-command-assign-a-result-of-expression-to-the-ses.patch" Content-Disposition: attachment; filename="v20260305-0006-LET-command-assign-a-result-of-expression-to-the-ses.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmdgvcow5 RnJvbSBmMzk5ZDE0NzhjNjI3NDkxN2ViNDdiNzgwNzNmZmE3OWIwMzYxMDE2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPHBhdmVsLnN0ZWh1bGVAZ21h aWwuY29tPgpEYXRlOiBNb24sIDI0IE5vdiAyMDI1IDE4OjA1OjAzICswMTAwClN1YmplY3Q6IFtQ QVRDSCAwNi8xMV0gTEVUIGNvbW1hbmQgLSBhc3NpZ24gYSByZXN1bHQgb2YgZXhwcmVzc2lvbiB0 byB0aGUgCiBzZXNzaW9uIHZhcmlhYmxlCk1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTog dGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0 CgpUaGUgdmFsdWUgaXMgYXNzaWduZWQgdG8gc2Vzc2lvbiB2YXJpYWJsZXMgdXN1YWxseSBieSBT RVQgY29tbWFuZC4gVW5mb3J0dW5hdGVseQp0aGVyZSBhcmUgdHdvIHJlYXNvbnMgd2h5IFNFVCBz aG91bGQgbm90IGJlIHVzZWQgZm9yIHRoaXMgcHVycG9zZSBpbiBQb3N0Z3Jlcy4KCjEuIFVzaW5n IGFfZXhwciBpbnNpZGUgZ2VuZXJpY19zZXQgcmFtIHJ1bGUgcHJvZHVjZXMgcmVkdWNlIGNvbmZs aWN0cywgc28gaXQgbmVlZHMKwqAgwqB0b3RhbCByZWltcGxlbWVudGF0aW9uIG9mIHJlbGF0ZWQg Z3JhbSBydWxlcy4KCjIuIFNFVCBpcyBubyBwbGFuIGNvbW1hbmQgLSBzbyBpdCBkb2Vzbid0IHN1 cHBvcnQgdXNhZ2Ugb2YgcGFyYW1ldGVycy4KCjMuIEV4Y2VwdGluZyBpbXBsZW1lbnRhdGlvbiBp c3N1ZXMsIHRoZXJlIGlzIGZhY3QsIHNvIGlmIHdlIHVzZSBTRVQgY29tbWFuZArCoCDCoGZvciBh c3NpZ25pbmcgdmFsdWVzIHRvIHNlc3Npb24gdmFyaWFibGVzLCB0aGVuIHRoZXJlIGNhbiBiZSBj b2xsaXNpb25zCsKgIMKgYmV0d2VlbiBzZXNzaW9uIHZhcmlhYmxlcyBhbmQgR1VDLCBhbmQgdGhl biB3ZSBuZWVkIHNvbWUgY29uY2VwdHMsIGhvdwrCoCDCoHRoZXNlIGNvbGxpc2lvbnMgc2hvdWxk IGJlIHNvbHZlZCwgb3IgaG93IHRvIHByb3RlY3Qgc2VsZiBhZ2FpbnN0IHRoZXNlCsKgIMKgY29s bGlzaW9ucy4gV2l0aCB0aGUgZGVkaWNhdGVkIGNvbW1hbmQsIHRoZSBjb2xsaXNpb25zIGJldHdl ZW4gR1VDIGFuZCBzZXNzaW9uCsKgIMKgdmFyaWFibGVzIGFyZSBub3QgcG9zc2libGUuCgpUaGUg Y29tbWFuZCBMRVQgaXMgZXhlY3V0ZWQgYXMgdXN1YWwgcXVlcnkgZXhlY3V0aW9uLiBUaGUgcmVz dWx0IGlzIHN0b3JlZAp0byB0aGUgdGFyZ2V0IHNlc3Npb24gdmFyaWFibGUgKHJlc3VsdFZhcmlh YmxlKSBieSB1c2luZyBWYXJpYWJsZURlc3RSZWNlaXZlci4KCkltcGxlbWVudGF0aW9ucyBvZiBF WFBMQUlOIExFVCBhbmQgUFJFUEFSRSBMRVQgc3RhdGVtZW50cyBhcmUgbm90IHN1cHBvcnRlZApu b3cuIFBvc3Rwb25lZCB0byBuZXh0IHN0ZXAgZHVlIHJlZHVjaW5nIHBhdGNoIHNpemUuCi0tLQog ZG9jL3NyYy9zZ21sL2RkbC5zZ21sICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIyICsrKwog ZG9jL3NyYy9zZ21sL3JlZi9hbGxmaWxlcy5zZ21sICAgICAgICAgICAgICAgIHwgICAxICsKIGRv Yy9zcmMvc2dtbC9yZWYvY3JlYXRlX3ZhcmlhYmxlLnNnbWwgICAgICAgICB8ICAgMyArCiBkb2Mv c3JjL3NnbWwvcmVmL2Ryb3BfdmFyaWFibGUuc2dtbCAgICAgICAgICAgfCAgIDEgKwogZG9jL3Ny Yy9zZ21sL3JlZi9sZXQuc2dtbCAgICAgICAgICAgICAgICAgICAgIHwgIDk1ICsrKysrKysrKysr CiBkb2Mvc3JjL3NnbWwvcmVmZXJlbmNlLnNnbWwgICAgICAgICAgICAgICAgICAgfCAgIDEgKwog c3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5jICAgICAgIHwgIDg2ICsrKysr KysrKysKIHNyYy9iYWNrZW5kL25vZGVzL25vZGVGdW5jcy5jICAgICAgICAgICAgICAgICB8ICAg OCArCiBzcmMvYmFja2VuZC9vcHRpbWl6ZXIvcGxhbi9wbGFubmVyLmMgICAgICAgICAgfCAgIDEg Kwogc3JjL2JhY2tlbmQvcGFyc2VyL2FuYWx5emUuYyAgICAgICAgICAgICAgICAgIHwgMTAzICsr KysrKysrKystLQogc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueSAgICAgICAgICAgICAgICAgICAg IHwgIDM4ICsrKystCiBzcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfYWdnLmMgICAgICAgICAgICAg ICAgfCAgIDcgKwogc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX2V4cHIuYyAgICAgICAgICAgICAg IHwgICA5ICsKIHNyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9mdW5jLmMgICAgICAgICAgICAgICB8 ICAgMyArCiBzcmMvYmFja2VuZC90Y29wL3V0aWxpdHkuYyAgICAgICAgICAgICAgICAgICAgfCAg MTUgKysKIHNyYy9iaW4vcHNxbC90YWItY29tcGxldGUuaW4uYyAgICAgICAgICAgICAgICB8ICAg OSArLQogc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oICAgICAgIHwgICA1 ICsKIHNyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaCAgICAgICAgICAgICAgICB8ICAxNSAr Kwogc3JjL2luY2x1ZGUvbm9kZXMvcGF0aG5vZGVzLmggICAgICAgICAgICAgICAgIHwgICAzICsK IHNyYy9pbmNsdWRlL3BhcnNlci9rd2xpc3QuaCAgICAgICAgICAgICAgICAgICB8ICAgMSArCiBz cmMvaW5jbHVkZS9wYXJzZXIvcGFyc2Vfbm9kZS5oICAgICAgICAgICAgICAgfCAgIDEgKwogc3Jj L2luY2x1ZGUvdGNvcC9jbWR0YWdsaXN0LmggICAgICAgICAgICAgICAgIHwgICAxICsKIC4uLi9l eHBlY3RlZC9zZXNzaW9uX3ZhcmlhYmxlc19kbWwub3V0ICAgICAgICB8IDE1NiArKysrKysrKysr KysrKysrKysKIC4uLi9yZWdyZXNzL3NxbC9zZXNzaW9uX3ZhcmlhYmxlc19kbWwuc3FsICAgICB8 IDExMyArKysrKysrKysrKysrCiBzcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdCAgICAg ICAgICAgICAgfCAgIDEgKwogMjUgZmlsZXMgY2hhbmdlZCwgNjc4IGluc2VydGlvbnMoKyksIDIw IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRvYy9zcmMvc2dtbC9yZWYvbGV0LnNn bWwKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvZGRsLnNnbWwgYi9kb2Mvc3JjL3NnbWwvZGRs LnNnbWwKaW5kZXggOGMwYWU3MTU4NjkuLjE5ZDJhZmMyMjAxIDEwMDY0NAotLS0gYS9kb2Mvc3Jj L3NnbWwvZGRsLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL2RkbC5zZ21sCkBAIC01NzE3LDEwICs1 NzE3LDMyIEBAIEVYUExBSU4gU0VMRUNUIGNvdW50KCopIEZST00gbWVhc3VyZW1lbnQgV0hFUkUg bG9nZGF0ZSAmZ3Q7PSBEQVRFICcyMDA4LTAxLTAxJzsKICAgICA8bGl0ZXJhbD5WQVJJQUJMRSh2 YXJuYW1lKTwvbGl0ZXJhbD4gc3ludGF4LiBUaGlzIGF2b2lkcyBhbnkgcmlzayBvZgogICAgIGNv bGxpc2lvbiBiZXR3ZWVuIHZhcmlhYmxlIG5hbWVzIGFuZCBjb2x1bW4gbmFtZXMuCiAgICA8L3Bh cmE+CisKKyAgIDxwYXJhPgorICAgIFlvdSBzZXQgdGhlIHZhbHVlIG9mIGEgc2Vzc2lvbiB2YXJp YWJsZSB3aXRoIHRoZSA8Y29tbWFuZD5MRVQ8L2NvbW1hbmQ+CisgICAgc3RhdGVtZW50IGFuZCBy ZXRyaWV2ZSBpdCB3aXRoIDxjb21tYW5kPlNFTEVDVDwvY29tbWFuZD46Cis8cHJvZ3JhbWxpc3Rp bmc+CitDUkVBVEUgVEVNUCBWQVJJQUJMRSB2YXIxIEFTIGRhdGU7CitMRVQgdmFyMSA9IGN1cnJl bnRfZGF0ZTsKK1NFTEVDVCBWQVJJQUJMRSh2YXIxKTsKKzwvcHJvZ3JhbWxpc3Rpbmc+CisKKyAg ICBvcgorCiA8cHJvZ3JhbWxpc3Rpbmc+CitDUkVBVEUgVEVNUCBWQVJJQUJMRSBjdXJyZW50X3Vz ZXJfaWQgQVMgaW50ZWdlcjsKK0xFVCBjdXJyZW50X3VzZXJfaWQgPSAoU0VMRUNUIGlkIEZST00g dXNlcnMgV0hFUkUgdXNlbmFtZSA9IHNlc3Npb25fdXNlcik7CiBTRUxFQ1QgVkFSSUFCTEUoY3Vy cmVudF91c2VyX2lkKTsKIDwvcHJvZ3JhbWxpc3Rpbmc+CiAgICA8L3BhcmE+CisKKyAgIDxwYXJh PgorICAgIEJ5IGRlZmF1bHQsIHJldHJpZXZpbmcgYSBzZXNzaW9uIHZhcmlhYmxlIHJldHVybnMK KyAgICA8bGl0ZXJhbD5OVUxMPC9saXRlcmFsPiB1bmxlc3MgaXQgaGFzIGJlZW4gc2V0IGluIHRo ZSBjdXJyZW50IHNlc3Npb24KKyAgICB1c2luZyB0aGUgPGNvbW1hbmQ+TEVUPC9jb21tYW5kPiBj b21tYW5kLiBTZXNzaW9uIHZhcmlhYmxlcyBhcmUgbm90CisgICAgdHJhbnNhY3Rpb25hbDogY2hh bmdlcyB0byB0aGVpciB2YWx1ZXMgcGVyc2lzdCBldmVuIGlmIHRoZSB0cmFuc2FjdGlvbgorICAg IGlzIHJvbGxlZCBiYWNrLCBzaW1pbGFyIHRvIHZhcmlhYmxlcyBpbiBwcm9jZWR1cmFsIGxhbmd1 YWdlcworICAgPC9wYXJhPgogIDwvc2VjdDE+CiAKICA8c2VjdDEgaWQ9ImRkbC1vdGhlcnMiPgpk aWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3JlZi9hbGxmaWxlcy5zZ21sIGIvZG9jL3NyYy9zZ21s L3JlZi9hbGxmaWxlcy5zZ21sCmluZGV4IGE3MzQ5OTE5NjU4Li5jZDNmYWE2NjdmMCAxMDA2NDQK LS0tIGEvZG9jL3NyYy9zZ21sL3JlZi9hbGxmaWxlcy5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9y ZWYvYWxsZmlsZXMuc2dtbApAQCAtMTU3LDYgKzE1Nyw3IEBAIENvbXBsZXRlIGxpc3Qgb2YgdXNh YmxlIHNnbWwgc291cmNlIGZpbGVzIGluIHRoaXMgZGlyZWN0b3J5LgogPCFFTlRJVFkgZ3JhbnQg ICAgICAgICAgICAgIFNZU1RFTSAiZ3JhbnQuc2dtbCI+CiA8IUVOVElUWSBpbXBvcnRGb3JlaWdu U2NoZW1hIFNZU1RFTSAiaW1wb3J0X2ZvcmVpZ25fc2NoZW1hLnNnbWwiPgogPCFFTlRJVFkgaW5z ZXJ0ICAgICAgICAgICAgIFNZU1RFTSAiaW5zZXJ0LnNnbWwiPgorPCFFTlRJVFkgbGV0ICAgICAg ICAgICAgICAgIFNZU1RFTSAibGV0LnNnbWwiPgogPCFFTlRJVFkgbGlzdGVuICAgICAgICAgICAg IFNZU1RFTSAibGlzdGVuLnNnbWwiPgogPCFFTlRJVFkgbG9hZCAgICAgICAgICAgICAgIFNZU1RF TSAibG9hZC5zZ21sIj4KIDwhRU5USVRZIGxvY2sgICAgICAgICAgICAgICBTWVNURU0gImxvY2su c2dtbCI+CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV92YXJpYWJsZS5zZ21s IGIvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfdmFyaWFibGUuc2dtbAppbmRleCA0ZThjMTk0MDI1 Mi4uMTMxNWIxMjQ4YzcgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX3Zhcmlh YmxlLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfdmFyaWFibGUuc2dtbApAQCAt MTA4LDYgKzEwOCw4IEBAIENSRUFURSB7IFRFTVAgfCBURU1QT1JBUlkgfSBWQVJJQUJMRSA8cmVw bGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVwbGFjCiAgICBDcmVhdGUgYW4gZGF0 ZSBzZXNzaW9uIHZhcmlhYmxlIDxsaXRlcmFsPnZhcjE8L2xpdGVyYWw+OgogPHByb2dyYW1saXN0 aW5nPgogQ1JFQVRFIFRFTVBPUkFSWSBWQVJJQUJMRSB2YXIxIEFTIGRhdGU7CitMRVQgdmFyMSA9 IGN1cnJlbnRfZGF0ZTsKK1NFTEVDVCBWQVJJQUJMRSh2YXIxKTsKIDwvcHJvZ3JhbWxpc3Rpbmc+ CiAgIDwvcGFyYT4KIApAQCAtMTI3LDYgKzEyOSw3IEBAIENSRUFURSBURU1QT1JBUlkgVkFSSUFC TEUgdmFyMSBBUyBkYXRlOwogCiAgIDxzaW1wbGVsaXN0IHR5cGU9ImlubGluZSI+CiAgICA8bWVt YmVyPjx4cmVmIGxpbmtlbmQ9InNxbC1kcm9wdmFyaWFibGUiLz48L21lbWJlcj4KKyAgIDxtZW1i ZXI+PHhyZWYgbGlua2VuZD0ic3FsLWxldCIvPjwvbWVtYmVyPgogICA8L3NpbXBsZWxpc3Q+CiAg PC9yZWZzZWN0MT4KIApkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3JlZi9kcm9wX3ZhcmlhYmxl LnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2Ryb3BfdmFyaWFibGUuc2dtbAppbmRleCBlODUxN2E3 ODIwMC4uZGVkZTQyZTRmZmIgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9yZWYvZHJvcF92YXJp YWJsZS5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9yZWYvZHJvcF92YXJpYWJsZS5zZ21sCkBAIC03 OCw2ICs3OCw3IEBAIERST1AgVkFSSUFCTEUgdmFyMTsKIAogICA8c2ltcGxlbGlzdCB0eXBlPSJp bmxpbmUiPgogICAgPG1lbWJlcj48eHJlZiBsaW5rZW5kPSJzcWwtY3JlYXRldmFyaWFibGUiLz48 L21lbWJlcj4KKyAgIDxtZW1iZXI+PHhyZWYgbGlua2VuZD0ic3FsLWxldCIvPjwvbWVtYmVyPgog ICA8L3NpbXBsZWxpc3Q+CiAgPC9yZWZzZWN0MT4KIApkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21s L3JlZi9sZXQuc2dtbCBiL2RvYy9zcmMvc2dtbC9yZWYvbGV0LnNnbWwKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjMzZWU0MmQzZjIwCi0tLSAvZGV2L251bGwKKysrIGIv ZG9jL3NyYy9zZ21sL3JlZi9sZXQuc2dtbApAQCAtMCwwICsxLDk1IEBACis8IS0tCitkb2Mvc3Jj L3NnbWwvcmVmL2xldC5zZ21sCitQb3N0Z3JlU1FMIGRvY3VtZW50YXRpb24KKy0tPgorCis8cmVm ZW50cnkgaWQ9InNxbC1sZXQiPgorIDxpbmRleHRlcm0gem9uZT0ic3FsLWxldCI+CisgIDxwcmlt YXJ5PkxFVDwvcHJpbWFyeT4KKyA8L2luZGV4dGVybT4KKworIDxpbmRleHRlcm0+CisgIDxwcmlt YXJ5PnNlc3Npb24gdmFyaWFibGU8L3ByaW1hcnk+CisgIDxzZWNvbmRhcnk+Y2hhbmdpbmc8L3Nl Y29uZGFyeT4KKyA8L2luZGV4dGVybT4KKworIDxyZWZtZXRhPgorICA8cmVmZW50cnl0aXRsZT5M RVQ8L3JlZmVudHJ5dGl0bGU+CisgIDxtYW52b2xudW0+NzwvbWFudm9sbnVtPgorICA8cmVmbWlz Y2luZm8+U1FMIC0gTGFuZ3VhZ2UgU3RhdGVtZW50czwvcmVmbWlzY2luZm8+CisgPC9yZWZtZXRh PgorCisgPHJlZm5hbWVkaXY+CisgIDxyZWZuYW1lPkxFVDwvcmVmbmFtZT4KKyAgPHJlZnB1cnBv c2U+Y2hhbmdlIGEgc2Vzc2lvbiB2YXJpYWJsZSdzIHZhbHVlPC9yZWZwdXJwb3NlPgorIDwvcmVm bmFtZWRpdj4KKworIDxyZWZzeW5vcHNpc2Rpdj4KKzxzeW5vcHNpcz4KK0xFVCA8cmVwbGFjZWFi bGUgY2xhc3M9InBhcmFtZXRlciI+c2Vzc2lvbl92YXJpYWJsZTwvcmVwbGFjZWFibGU+ID0gPHJl cGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnNxbF9leHByZXNzaW9uPC9yZXBsYWNlYWJsZT4K Kzwvc3lub3BzaXM+CisgPC9yZWZzeW5vcHNpc2Rpdj4KKworIDxyZWZzZWN0MT4KKyAgPHRpdGxl PkRlc2NyaXB0aW9uPC90aXRsZT4KKworICA8cGFyYT4KKyAgIFRoZSA8Y29tbWFuZD5MRVQ8L2Nv bW1hbmQ+IGNvbW1hbmQgYXNzaWducyBhIHZhbHVlIHRvIHRoZSBzcGVjaWZpZWQgc2Vzc2lvbgor ICAgdmFyaWFibGUuCisgIDwvcGFyYT4KKworIDwvcmVmc2VjdDE+CisKKyA8cmVmc2VjdDE+Cisg IDx0aXRsZT5QYXJhbWV0ZXJzPC90aXRsZT4KKworICA8dmFyaWFibGVsaXN0PgorICAgPHZhcmxp c3RlbnRyeT4KKyAgICA8dGVybT48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+c2Vzc2lv bl92YXJpYWJsZTwvcmVwbGFjZWFibGU+PC90ZXJtPgorICAgIDxsaXN0aXRlbT4KKyAgICAgPHBh cmE+CisgICAgICBUaGUgbmFtZSBvZiB0aGUgc2Vzc2lvbiB2YXJpYWJsZS4KKyAgICAgPC9wYXJh PgorICAgIDwvbGlzdGl0ZW0+CisgICA8L3Zhcmxpc3RlbnRyeT4KKworICAgPHZhcmxpc3RlbnRy eT4KKyAgICA8dGVybT48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+c3FsX2V4cHJlc3Np b248L3JlcGxhY2VhYmxlPjwvdGVybT4KKyAgICA8bGlzdGl0ZW0+CisgICAgIDxwYXJhPgorICAg ICAgQW4gYXJiaXRyYXJ5IFNRTCBleHByZXNzaW9uLiAgVGhlIHJlc3VsdCBtdXN0IGJlIG9mIGEg ZGF0YSB0eXBlIHRoYXQgY2FuCisgICAgICBiZSBjYXN0IHRvIHRoZSB0eXBlIG9mIHRoZSBzZXNz aW9uIHZhcmlhYmxlIGluIGFuIGFzc2lnbm1lbnQuCisgICAgIDwvcGFyYT4KKyAgICA8L2xpc3Rp dGVtPgorICAgPC92YXJsaXN0ZW50cnk+CisKKyAgPC92YXJpYWJsZWxpc3Q+CisgPC9yZWZzZWN0 MT4KKworIDxyZWZzZWN0MT4KKyAgPHRpdGxlPkV4YW1wbGVzPC90aXRsZT4KKzxwcm9ncmFtbGlz dGluZz4KK0NSRUFURSBURU1QT1JBUlkgVkFSSUFCTEUgbXl2YXIgQVMgaW50ZWdlcjsKK0xFVCBt eXZhciA9IDEwOworTEVUIG15dmFyID0gKFNFTEVDVCBzdW0odmFsKSBGUk9NIHRhYik7Cis8L3By b2dyYW1saXN0aW5nPgorIDwvcmVmc2VjdDE+CisKKyA8cmVmc2VjdDE+CisgIDx0aXRsZT5Db21w YXRpYmlsaXR5PC90aXRsZT4KKworICA8cGFyYT4KKyAgIFRoZSA8Y29tbWFuZD5MRVQ8L2NvbW1h bmQ+IGlzIGEgPHByb2R1Y3RuYW1lPlBvc3RncmVTUUw8L3Byb2R1Y3RuYW1lPgorICAgZXh0ZW5z aW9uLgorICA8L3BhcmE+CisgPC9yZWZzZWN0MT4KKworIDxyZWZzZWN0MT4KKyAgPHRpdGxlPlNl ZSBBbHNvPC90aXRsZT4KKworICA8c2ltcGxlbGlzdCB0eXBlPSJpbmxpbmUiPgorICAgPG1lbWJl cj48eHJlZiBsaW5rZW5kPSJzcWwtY3JlYXRldmFyaWFibGUiLz48L21lbWJlcj4KKyAgIDxtZW1i ZXI+PHhyZWYgbGlua2VuZD0ic3FsLWRyb3B2YXJpYWJsZSIvPjwvbWVtYmVyPgorICA8L3NpbXBs ZWxpc3Q+CisgPC9yZWZzZWN0MT4KKzwvcmVmZW50cnk+CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3Nn bWwvcmVmZXJlbmNlLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmZXJlbmNlLnNnbWwKaW5kZXggYzAz ZTc2OTJjN2EuLjZmY2Q3YTgxMzIxIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVmZXJlbmNl LnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZmVyZW5jZS5zZ21sCkBAIC0xODUsNiArMTg1LDcg QEAKICAgICZncmFudDsKICAgICZpbXBvcnRGb3JlaWduU2NoZW1hOwogICAgJmluc2VydDsKKyAg ICZsZXQ7CiAgICAmbGlzdGVuOwogICAgJmxvYWQ7CiAgICAmbG9jazsKZGlmZiAtLWdpdCBhL3Ny Yy9iYWNrZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuYyBiL3NyYy9iYWNrZW5kL2NvbW1h bmRzL3Nlc3Npb25fdmFyaWFibGUuYwppbmRleCBkZWI1ZDdlODBmOS4uYmZjNDE5MWQ5NTQgMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuYworKysgYi9z cmMvYmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMKQEAgLTE2LDEzICsxNiwxOCBA QAogCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19sYW5ndWFnZS5oIgogI2luY2x1ZGUgImNvbW1hbmRz L3Nlc3Npb25fdmFyaWFibGUuaCIKKyNpbmNsdWRlICJleGVjdXRvci9leGVjdXRvci5oIgorI2lu Y2x1ZGUgImV4ZWN1dG9yL3N2YXJpYWJsZVJlY2VpdmVyLmgiCiAjaW5jbHVkZSAibWlzY2FkbWlu LmgiCiAjaW5jbHVkZSAicGFyc2VyL3BhcnNlX3R5cGUuaCIKKyNpbmNsdWRlICJyZXdyaXRlL3Jl d3JpdGVIYW5kbGVyLmgiCiAjaW5jbHVkZSAic3RvcmFnZS9wcm9jLmgiCisjaW5jbHVkZSAidGNv cC90Y29wcHJvdC5oIgogI2luY2x1ZGUgInV0aWxzL2J1aWx0aW5zLmgiCiAjaW5jbHVkZSAidXRp bHMvZGF0dW0uaCIKICNpbmNsdWRlICJ1dGlscy9sc3lzY2FjaGUuaCIKICNpbmNsdWRlICJ1dGls cy9tZW11dGlscy5oIgorI2luY2x1ZGUgInV0aWxzL3NuYXBtZ3IuaCIKIAogLyoKICAqIFRoZSBz ZXNzaW9uIHZhcmlhYmxlcyBhcmUgc3RvcmVkIGluIHRoZSBiYWNrZW5kJ3MgcHJpdmF0ZSBtZW1v cnkgKGRhdGEsCkBAIC0zMjMsMyArMzI4LDg0IEBAIERyb3BWYXJpYWJsZUJ5TmFtZShjaGFyICp2 YXJuYW1lKQogCQkJCQkgICBOVUxMKSA9PSBOVUxMKQogCQllbG9nKEVSUk9SLCAiaGFzaCB0YWJs ZSBjb3JydXB0ZWQiKTsKIH0KKworLyoKKyAqIEFzc2lnbiB0aGUgcmVzdWx0IG9mIHRoZSBldmFs dWF0ZWQgZXhwcmVzc2lvbiB0byB0aGUgc2Vzc2lvbiB2YXJpYWJsZQorICovCit2b2lkCitFeGVj dXRlTGV0U3RtdChQYXJzZVN0YXRlICpwc3RhdGUsCisJCQkgICBMZXRTdG10ICpzdG10LAorCQkJ ICAgUGFyYW1MaXN0SW5mbyBwYXJhbXMsCisJCQkgICBRdWVyeUVudmlyb25tZW50ICpxdWVyeUVu diwKKwkJCSAgIFF1ZXJ5Q29tcGxldGlvbiAqcWMpCit7CisJUXVlcnkJICAgKnF1ZXJ5ID0gY2Fz dE5vZGUoUXVlcnksIHN0bXQtPnF1ZXJ5KTsKKwlMaXN0CSAgICpyZXdyaXR0ZW47CisJRGVzdFJl Y2VpdmVyICpkZXN0OworCVBsYW5uZWRTdG10ICpwbGFuOworCVF1ZXJ5RGVzYyAgKnF1ZXJ5RGVz YzsKKwljaGFyCSAgICp2YXJuYW1lID0gcXVlcnktPnJlc3VsdFZhcmlhYmxlOworCVNWYXJpYWJs ZQlzdmFyOworCisJc3ZhciA9IHNlYXJjaF92YXJpYWJsZSh2YXJuYW1lKTsKKworCS8qIG9ubHkg b3duZXIgY2FuIHNldCBjb250ZW50IG9mIHZhcmlhYmxlICovCisJaWYgKHN2YXItPnZhcm93bmVy ICE9IEdldFVzZXJJZCgpICYmICFzdXBlcnVzZXIoKSkKKwkJZXJlcG9ydChFUlJPUiwKKwkJCQko ZXJyY29kZShFUlJDT0RFX0lOU1VGRklDSUVOVF9QUklWSUxFR0UpLAorCQkJCSBlcnJtc2coInBl cm1pc3Npb24gZGVuaWVkIGZvciBzZXNzaW9uIHZhcmlhYmxlICVzIiwKKwkJCQkJCXZhcm5hbWUp KSk7CisKKwkvKiBjcmVhdGUgYSBkZXN0IHJlY2VpdmVyIGZvciBMRVQgKi8KKwlkZXN0ID0gQ3Jl YXRlVmFyaWFibGVEZXN0UmVjZWl2ZXIodmFybmFtZSk7CisKKwkvKiBydW4gdGhlIHF1ZXJ5IHJl d3JpdGVyICovCisJcXVlcnkgPSBjb3B5T2JqZWN0KHF1ZXJ5KTsKKworCXJld3JpdHRlbiA9IFF1 ZXJ5UmV3cml0ZShxdWVyeSk7CisKKwlBc3NlcnQobGlzdF9sZW5ndGgocmV3cml0dGVuKSA9PSAx KTsKKworCXF1ZXJ5ID0gbGluaXRpYWxfbm9kZShRdWVyeSwgcmV3cml0dGVuKTsKKwlBc3NlcnQo cXVlcnktPmNvbW1hbmRUeXBlID09IENNRF9TRUxFQ1QpOworCisJLyogcGxhbiB0aGUgcXVlcnkg Ki8KKwlwbGFuID0gcGdfcGxhbl9xdWVyeShxdWVyeSwgcHN0YXRlLT5wX3NvdXJjZXRleHQsCisJ CQkJCQkgQ1VSU09SX09QVF9QQVJBTExFTF9PSywgcGFyYW1zLCBOVUxMKTsKKworCS8qCisJICog VXNlIGEgc25hcHNob3Qgd2l0aCBhbiB1cGRhdGVkIGNvbW1hbmQgSUQgdG8gZW5zdXJlIHRoaXMg cXVlcnkgc2VlcyB0aGUKKwkgKiByZXN1bHRzIG9mIGFueSBwcmV2aW91c2x5IGV4ZWN1dGVkIHF1 ZXJpZXMuICAoVGhpcyBjb3VsZCBvbmx5IG1hdHRlciBpZgorCSAqIHRoZSBwbGFubmVyIGV4ZWN1 dGVkIGFuIGFsbGVnZWRseS1zdGFibGUgZnVuY3Rpb24gdGhhdCBjaGFuZ2VkIHRoZQorCSAqIGRh dGFiYXNlIGNvbnRlbnRzLCBidXQgbGV0J3MgZG8gaXQgYW55d2F5IHRvIGJlIHBhcmFsbGVsIHRv IHRoZSBFWFBMQUlOCisJICogY29kZSBwYXRoLikKKwkgKi8KKwlQdXNoQ29waWVkU25hcHNob3Qo R2V0QWN0aXZlU25hcHNob3QoKSk7CisJVXBkYXRlQWN0aXZlU25hcHNob3RDb21tYW5kSWQoKTsK KworCS8qIGNyZWF0ZSBhIFF1ZXJ5RGVzYywgcmVkaXJlY3Rpbmcgb3V0cHV0IHRvIG91ciB0dXBs ZSByZWNlaXZlciAqLworCXF1ZXJ5RGVzYyA9IENyZWF0ZVF1ZXJ5RGVzYyhwbGFuLCBwc3RhdGUt PnBfc291cmNldGV4dCwKKwkJCQkJCQkJR2V0QWN0aXZlU25hcHNob3QoKSwgSW52YWxpZFNuYXBz aG90LAorCQkJCQkJCQlkZXN0LCBwYXJhbXMsIHF1ZXJ5RW52LCAwKTsKKworCS8qIGNhbGwgRXhl Y3V0b3JTdGFydCB0byBwcmVwYXJlIHRoZSBwbGFuIGZvciBleGVjdXRpb24gKi8KKwlFeGVjdXRv clN0YXJ0KHF1ZXJ5RGVzYywgMCk7CisKKwkvKgorCSAqIFJ1biB0aGUgcGxhbiB0byBjb21wbGV0 aW9uLiAgVGhlIHJlc3VsdCBzaG91bGQgYmUgb25seSBvbmUgcm93LiAgVG8KKwkgKiBjaGVjayBp ZiB0aGVyZSBhcmUgdG9vIG1hbnkgcmVzdWx0IHJvd3MsIHdlIHRyeSB0byBmZXRjaCB0d28uCisJ ICovCisJRXhlY3V0b3JSdW4ocXVlcnlEZXNjLCBGb3J3YXJkU2NhbkRpcmVjdGlvbiwgMkwpOwor CisJLyogc2F2ZSB0aGUgcm93Y291bnQgaWYgd2UncmUgZ2l2ZW4gYSBRdWVyeUNvbXBsZXRpb24g dG8gZmlsbCAqLworCWlmIChxYykKKwkJU2V0UXVlcnlDb21wbGV0aW9uKHFjLCBDTURUQUdfTEVU LCBxdWVyeURlc2MtPmVzdGF0ZS0+ZXNfcHJvY2Vzc2VkKTsKKworCS8qIGFuZCBjbGVhbiB1cCAq LworCUV4ZWN1dG9yRmluaXNoKHF1ZXJ5RGVzYyk7CisJRXhlY3V0b3JFbmQocXVlcnlEZXNjKTsK KworCUZyZWVRdWVyeURlc2MocXVlcnlEZXNjKTsKKworCVBvcEFjdGl2ZVNuYXBzaG90KCk7Cit9 CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9ub2Rlcy9ub2RlRnVuY3MuYyBiL3NyYy9iYWNrZW5k L25vZGVzL25vZGVGdW5jcy5jCmluZGV4IDRlMjYxYTQ5MTI4Li5kZTFlMWM2NDIxZiAxMDA2NDQK LS0tIGEvc3JjL2JhY2tlbmQvbm9kZXMvbm9kZUZ1bmNzLmMKKysrIGIvc3JjL2JhY2tlbmQvbm9k ZXMvbm9kZUZ1bmNzLmMKQEAgLTQzNzcsNiArNDM3NywxNCBAQCByYXdfZXhwcmVzc2lvbl90cmVl X3dhbGtlcl9pbXBsKE5vZGUgKm5vZGUsCiAJCQkJCXJldHVybiB0cnVlOwogCQkJfQogCQkJYnJl YWs7CisJCWNhc2UgVF9MZXRTdG10OgorCQkJeworCQkJCUxldFN0bXQgICAgKnN0bXQgPSAoTGV0 U3RtdCAqKSBub2RlOworCisJCQkJaWYgKFdBTEsoc3RtdC0+cXVlcnkpKQorCQkJCQlyZXR1cm4g dHJ1ZTsKKwkJCX0KKwkJCWJyZWFrOwogCQljYXNlIFRfUExBc3NpZ25TdG10OgogCQkJewogCQkJ CVBMQXNzaWduU3RtdCAqc3RtdCA9IChQTEFzc2lnblN0bXQgKikgbm9kZTsKZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL29wdGltaXplci9wbGFuL3BsYW5uZXIuYyBiL3NyYy9iYWNrZW5kL29wdGlt aXplci9wbGFuL3BsYW5uZXIuYwppbmRleCA1M2FmMjhjNDlkOC4uMmM2YThlN2FmYjYgMTAwNjQ0 Ci0tLSBhL3NyYy9iYWNrZW5kL29wdGltaXplci9wbGFuL3BsYW5uZXIuYworKysgYi9zcmMvYmFj a2VuZC9vcHRpbWl6ZXIvcGxhbi9wbGFubmVyLmMKQEAgLTM3NSw2ICszNzUsNyBAQCBzdGFuZGFy ZF9wbGFubmVyKFF1ZXJ5ICpwYXJzZSwgY29uc3QgY2hhciAqcXVlcnlfc3RyaW5nLCBpbnQgY3Vy c29yT3B0aW9ucywKIAlnbG9iLT5wYXJ0aXRpb25fZGlyZWN0b3J5ID0gTlVMTDsKIAlnbG9iLT5y ZWxfbm90bnVsbGF0dHNfaGFzaCA9IE5VTEw7CiAJZ2xvYi0+c2Vzc2lvblZhcmlhYmxlcyA9IE5J TDsKKwlnbG9iLT5yZXN1bHRWYXJpYWJsZSA9IHBhcnNlLT5yZXN1bHRWYXJpYWJsZTsKIAogCS8q CiAJICogQXNzZXNzIHdoZXRoZXIgaXQncyBmZWFzaWJsZSB0byB1c2UgcGFyYWxsZWwgbW9kZSBm b3IgdGhpcyBxdWVyeS4gV2UKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9hbmFseXpl LmMgYi9zcmMvYmFja2VuZC9wYXJzZXIvYW5hbHl6ZS5jCmluZGV4IGU4ZWQxNmJiNmZkLi5mODgz ZmZiYTVhNCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFyc2VyL2FuYWx5emUuYworKysgYi9z cmMvYmFja2VuZC9wYXJzZXIvYW5hbHl6ZS5jCkBAIC01MywxNSArNTMsMTggQEAKICNpbmNsdWRl ICJ1dGlscy9idWlsdGlucy5oIgogI2luY2x1ZGUgInV0aWxzL2d1Yy5oIgogI2luY2x1ZGUgInV0 aWxzL3JlbC5oIgorI2luY2x1ZGUgInV0aWxzL2xzeXNjYWNoZS5oIgogI2luY2x1ZGUgInV0aWxz L3N5c2NhY2hlLmgiCiAKIAotLyogUGFzc3Rocm91Z2ggZGF0YSBmb3IgdHJhbnNmb3JtUExBc3Np Z25TdG10VGFyZ2V0ICovCisvKiBQYXNzdGhyb3VnaCBkYXRhIGZvciB0cmFuc2Zvcm1Bc3NpZ25U YXJnZXQgKi8KIHR5cGVkZWYgc3RydWN0IFNlbGVjdFN0bXRQYXNzdGhyb3VnaAogewotCVBMQXNz aWduU3RtdCAqc3RtdDsJCQkvKiB0aGUgYXNzaWdubWVudCBzdGF0ZW1lbnQgKi8KKwlOb2RlCSAg ICpzdG10OwkJCS8qIHRoZSBhc3NpZ25tZW50IHN0YXRlbWVudCAqLwogCU5vZGUJICAgKnRhcmdl dDsJCQkvKiBub2RlIHJlcHJlc2VudGluZyB0aGUgdGFyZ2V0IHZhcmlhYmxlICovCisJY2hhcgkg ICAqdGFyZ2V0X25hbWU7CS8qIHRoZSBuYW1lIHVzZWQgYnkgZXJyICovCiAJTGlzdAkgICAqaW5k aXJlY3Rpb247CS8qIGluZGlyZWN0aW9uIHlldCB0byBiZSBhcHBsaWVkIHRvIHRhcmdldCAqLwor CUNvZXJjaW9uQ29udGV4dCBjY29udGV4dDsgCS8qIGNvbnRleHQgaW5kaWNhdG9ycyB0byBjb250 cm9sIGNvZXJjaW9ucyAqLwogfSBTZWxlY3RTdG10UGFzc3Rocm91Z2g7CiAKIC8qIEhvb2sgZm9y IHBsdWdpbnMgdG8gZ2V0IGNvbnRyb2wgYXQgZW5kIG9mIHBhcnNlIGFuYWx5c2lzICovCkBAIC04 NSw3ICs4OCw3IEBAIHN0YXRpYyBRdWVyeSAqdHJhbnNmb3JtUmV0dXJuU3RtdChQYXJzZVN0YXRl ICpwc3RhdGUsIFJldHVyblN0bXQgKnN0bXQpOwogc3RhdGljIFF1ZXJ5ICp0cmFuc2Zvcm1VcGRh dGVTdG10KFBhcnNlU3RhdGUgKnBzdGF0ZSwgVXBkYXRlU3RtdCAqc3RtdCk7CiBzdGF0aWMgUXVl cnkgKnRyYW5zZm9ybVBMQXNzaWduU3RtdChQYXJzZVN0YXRlICpwc3RhdGUsCiAJCQkJCQkJCQlQ TEFzc2lnblN0bXQgKnN0bXQpOwotc3RhdGljIExpc3QgKnRyYW5zZm9ybVBMQXNzaWduU3RtdFRh cmdldChQYXJzZVN0YXRlICpwc3RhdGUsIExpc3QgKnRsaXN0LAorc3RhdGljIExpc3QgKnRyYW5z Zm9ybUFzc2lnblRhcmdldChQYXJzZVN0YXRlICpwc3RhdGUsIExpc3QgKnRsaXN0LAogCQkJCQkJ CQkJCSBTZWxlY3RTdG10UGFzc3Rocm91Z2ggKnBhc3N0aHJ1KTsKIHN0YXRpYyBRdWVyeSAqdHJh bnNmb3JtRGVjbGFyZUN1cnNvclN0bXQoUGFyc2VTdGF0ZSAqcHN0YXRlLAogCQkJCQkJCQkJCSBE ZWNsYXJlQ3Vyc29yU3RtdCAqc3RtdCk7CkBAIC05NSw2ICs5OCw4IEBAIHN0YXRpYyBRdWVyeSAq dHJhbnNmb3JtQ3JlYXRlVGFibGVBc1N0bXQoUGFyc2VTdGF0ZSAqcHN0YXRlLAogCQkJCQkJCQkJ CSBDcmVhdGVUYWJsZUFzU3RtdCAqc3RtdCk7CiBzdGF0aWMgUXVlcnkgKnRyYW5zZm9ybUNhbGxT dG10KFBhcnNlU3RhdGUgKnBzdGF0ZSwKIAkJCQkJCQkJQ2FsbFN0bXQgKnN0bXQpOworc3RhdGlj IFF1ZXJ5ICp0cmFuc2Zvcm1MZXRTdG10KFBhcnNlU3RhdGUgKnBzdGF0ZSwKKwkJCQkJCQkgICBM ZXRTdG10ICpzdG10KTsKIHN0YXRpYyB2b2lkIHRyYW5zZm9ybUxvY2tpbmdDbGF1c2UoUGFyc2VT dGF0ZSAqcHN0YXRlLCBRdWVyeSAqcXJ5LAogCQkJCQkJCQkgICBMb2NraW5nQ2xhdXNlICpsYywg Ym9vbCBwdXNoZWREb3duKTsKICNpZmRlZiBERUJVR19OT0RFX1RFU1RTX0VOQUJMRUQKQEAgLTM0 Miw2ICszNDcsNyBAQCB0cmFuc2Zvcm1TdG10KFBhcnNlU3RhdGUgKnBzdGF0ZSwgTm9kZSAqcGFy c2VUcmVlKQogCQkJY2FzZSBUX1VwZGF0ZVN0bXQ6CiAJCQljYXNlIFRfRGVsZXRlU3RtdDoKIAkJ CWNhc2UgVF9NZXJnZVN0bXQ6CisJCQljYXNlIFRfTGV0U3RtdDoKIAkJCQkodm9pZCkgdGVzdF9y YXdfZXhwcmVzc2lvbl9jb3ZlcmFnZShwYXJzZVRyZWUsIE5VTEwpOwogCQkJCWJyZWFrOwogCQkJ ZGVmYXVsdDoKQEAgLTQyMSw2ICs0MjcsMTEgQEAgdHJhbnNmb3JtU3RtdChQYXJzZVN0YXRlICpw c3RhdGUsIE5vZGUgKnBhcnNlVHJlZSkKIAkJCQkJCQkJCSAgIChDYWxsU3RtdCAqKSBwYXJzZVRy ZWUpOwogCQkJYnJlYWs7CiAKKwkJY2FzZSBUX0xldFN0bXQ6CisJCQlyZXN1bHQgPSB0cmFuc2Zv cm1MZXRTdG10KHBzdGF0ZSwKKwkJCQkJCQkJCSAgKExldFN0bXQgKikgcGFyc2VUcmVlKTsKKwkJ CWJyZWFrOworCiAJCWRlZmF1bHQ6CiAKIAkJCS8qCkBAIC00ODIsNiArNDkzLDcgQEAgc3RtdF9y ZXF1aXJlc19wYXJzZV9hbmFseXNpcyhSYXdTdG10ICpwYXJzZVRyZWUpCiAJCWNhc2UgVF9FeHBs YWluU3RtdDoKIAkJY2FzZSBUX0NyZWF0ZVRhYmxlQXNTdG10OgogCQljYXNlIFRfQ2FsbFN0bXQ6 CisJCWNhc2UgVF9MZXRTdG10OgogCQkJcmVzdWx0ID0gdHJ1ZTsKIAkJCWJyZWFrOwogCkBAIC01 NDcsNiArNTU5LDcgQEAgcXVlcnlfcmVxdWlyZXNfcmV3cml0ZV9wbGFuKFF1ZXJ5ICpxdWVyeSkK IAkJCWNhc2UgVF9FeHBsYWluU3RtdDoKIAkJCWNhc2UgVF9DcmVhdGVUYWJsZUFzU3RtdDoKIAkJ CWNhc2UgVF9DYWxsU3RtdDoKKwkJCWNhc2UgVF9MZXRTdG10OgogCQkJCXJlc3VsdCA9IHRydWU7 CiAJCQkJYnJlYWs7CiAJCQlkZWZhdWx0OgpAQCAtMTQwMCw3ICsxNDEzLDcgQEAgY291bnRfcm93 ZXhwcl9jb2x1bW5zKFBhcnNlU3RhdGUgKnBzdGF0ZSwgTm9kZSAqZXhwcikKICAqCiAgKiBUaGlz IGZ1bmN0aW9uIGlzIGFsc28gdXNlZCB0byB0cmFuc2Zvcm0gdGhlIHNvdXJjZSBleHByZXNzaW9u IG9mIGEKICAqIFBMQXNzaWduU3RtdC4gIEluIHRoYXQgdXNhZ2UsIHBhc3N0aHJ1IGlzIG5vbi1O VUxMIGFuZCB3ZSBuZWVkIHRvCi0gKiBjYWxsIHRyYW5zZm9ybVBMQXNzaWduU3RtdFRhcmdldCBh ZnRlciB0aGUgaW5pdGlhbCB0cmFuc2Zvcm1hdGlvbiBvZiB0aGUKKyAqIGNhbGwgdHJhbnNmb3Jt QXNzaWduVGFyZ2V0IGFmdGVyIHRoZSBpbml0aWFsIHRyYW5zZm9ybWF0aW9uIG9mIHRoZQogICog U0VMRUNUJ3MgdGFyZ2V0bGlzdC4gIChXZSBjb3VsZCBnZW5lcmFsaXplIHRoaXMgaW50byBhbiBh cmJpdHJhcnkgY2FsbGJhY2sKICAqIGZ1bmN0aW9uLCBidXQgZm9yIG5vdyB0aGF0IHdvdWxkIGp1 c3QgYmUgbW9yZSBub3RhdGlvbiB3aXRoIG5vIGJlbmVmaXQuKQogICogQWxsIHRoZSByZXN0IGlz IHRoZSBzYW1lIGFzIGEgcmVndWxhciBTZWxlY3RTdG10LgpAQCAtMTQ1Myw4ICsxNDY2LDggQEAg dHJhbnNmb3JtU2VsZWN0U3RtdChQYXJzZVN0YXRlICpwc3RhdGUsIFNlbGVjdFN0bXQgKnN0bXQs CiAJICogT3RoZXJ3aXNlLCBtYXJrIGNvbHVtbiBvcmlnaW5zICh3aGljaCBhcmUgdXNlbGVzcyBp biBhIFBMQXNzaWduU3RtdCkuCiAJICovCiAJaWYgKHBhc3N0aHJ1KQotCQlxcnktPnRhcmdldExp c3QgPSB0cmFuc2Zvcm1QTEFzc2lnblN0bXRUYXJnZXQocHN0YXRlLCBxcnktPnRhcmdldExpc3Qs Ci0JCQkJCQkJCQkJCQkJICBwYXNzdGhydSk7CisJCXFyeS0+dGFyZ2V0TGlzdCA9IHRyYW5zZm9y bUFzc2lnblRhcmdldChwc3RhdGUsIHFyeS0+dGFyZ2V0TGlzdCwKKwkJCQkJCQkJCQkJCXBhc3N0 aHJ1KTsKIAllbHNlCiAJCW1hcmtUYXJnZXRMaXN0T3JpZ2lucyhwc3RhdGUsIHFyeS0+dGFyZ2V0 TGlzdCk7CiAKQEAgLTI4NTAsOSArMjg2MywxMSBAQCB0cmFuc2Zvcm1QTEFzc2lnblN0bXQoUGFy c2VTdGF0ZSAqcHN0YXRlLCBQTEFzc2lnblN0bXQgKnN0bXQpCiAJCQkJCQkgICBFWFBSX0tJTkRf VVBEQVRFX1RBUkdFVCk7CiAKIAkvKiBTZXQgdXAgcGFzc3Rocm91Z2ggZGF0YSBmb3IgdHJhbnNm b3JtUExBc3NpZ25TdG10VGFyZ2V0ICovCi0JcGFzc3RocnUuc3RtdCA9IHN0bXQ7CisJcGFzc3Ro cnUuc3RtdCA9IChOb2RlICopIHN0bXQ7CiAJcGFzc3RocnUudGFyZ2V0ID0gdGFyZ2V0OworCXBh c3N0aHJ1LnRhcmdldF9uYW1lID0gc3RtdC0+bmFtZTsKIAlwYXNzdGhydS5pbmRpcmVjdGlvbiA9 IGluZGlyZWN0aW9uOworCXBhc3N0aHJ1LmNjb250ZXh0ID0gQ09FUkNJT05fUExQR1NRTDsKIAog CS8qCiAJICogVG8gYXZvaWQgZHVwbGljYXRpbmcgYSBsb3Qgb2YgY29kZSwgd2UgdXNlIHRyYW5z Zm9ybVNlbGVjdFN0bXQgdG8gZG8KQEAgLTI4NzUsMTggKzI4OTAsMjEgQEAgdHJhbnNmb3JtUExB c3NpZ25TdG10KFBhcnNlU3RhdGUgKnBzdGF0ZSwgUExBc3NpZ25TdG10ICpzdG10KQogCiAvKgog ICogQ2FsbGJhY2sgZnVuY3Rpb24gdG8gYWRqdXN0IGEgU0VMRUNUJ3MgdGxpc3QgdG8gbWFrZSB0 aGUgb3V0cHV0IHN1aXRhYmxlCi0gKiBmb3IgYXNzaWdubWVudCB0byBhIFBMQXNzaWduU3RtdCdz IHRhcmdldCB2YXJpYWJsZS4KKyAqIGZvciBhc3NpZ25tZW50IHRvIGEgUExBc3NpZ25TdG10J3Mg dGFyZ2V0IHZhcmlhYmxlIHByIExFVCdzIHRhcmdldAorICogc2Vzc2lvbiB2YXJpYWJsZS4KICAq CiAgKiBOb3RlOiB3ZSBhY3R1YWxseSBtb2RpZnkgdGhlIHRsZS0+ZXhwciBpbi1wbGFjZSwgYnV0 IHRoZSBmdW5jdGlvbidzIEFQSQogICogaXMgc2V0IHVwIHRvIG5vdCBwcmVzdW1lIHRoYXQuCiAg Ki8KIHN0YXRpYyBMaXN0ICoKLXRyYW5zZm9ybVBMQXNzaWduU3RtdFRhcmdldChQYXJzZVN0YXRl ICpwc3RhdGUsIExpc3QgKnRsaXN0LAotCQkJCQkJCVNlbGVjdFN0bXRQYXNzdGhyb3VnaCAqcGFz c3RocnUpCit0cmFuc2Zvcm1Bc3NpZ25UYXJnZXQoUGFyc2VTdGF0ZSAqcHN0YXRlLCBMaXN0ICp0 bGlzdCwKKwkJCQkJICBTZWxlY3RTdG10UGFzc3Rocm91Z2ggKnBhc3N0aHJ1KQogewotCVBMQXNz aWduU3RtdCAqc3RtdCA9IHBhc3N0aHJ1LT5zdG10OworCU5vZGUJICAgKnN0bXQgPSBwYXNzdGhy dS0+c3RtdDsKIAlOb2RlCSAgICp0YXJnZXQgPSBwYXNzdGhydS0+dGFyZ2V0OworCWNoYXIJICAg KnRhcmdldF9uYW1lID0gcGFzc3RocnUtPnRhcmdldF9uYW1lOwogCUxpc3QJICAgKmluZGlyZWN0 aW9uID0gcGFzc3RocnUtPmluZGlyZWN0aW9uOworCUNvZXJjaW9uQ29udGV4dCBjY29udGV4dCA9 IHBhc3N0aHJ1LT5jY29udGV4dDsKIAlPaWQJCQl0YXJnZXR0eXBlOwogCWludDMyCQl0YXJnZXR0 eXBtb2Q7CiAJT2lkCQkJdGFyZ2V0Y29sbGF0aW9uOwpAQCAtMjkyMSw3ICsyOTM5LDcgQEAgdHJh bnNmb3JtUExBc3NpZ25TdG10VGFyZ2V0KFBhcnNlU3RhdGUgKnBzdGF0ZSwgTGlzdCAqdGxpc3Qs CiAJCXRsZS0+ZXhwciA9IChFeHByICopCiAJCQl0cmFuc2Zvcm1Bc3NpZ25tZW50SW5kaXJlY3Rp b24ocHN0YXRlLAogCQkJCQkJCQkJCSAgIHRhcmdldCwKLQkJCQkJCQkJCQkgICBzdG10LT5uYW1l LAorCQkJCQkJCQkJCSAgIHRhcmdldF9uYW1lLAogCQkJCQkJCQkJCSAgIGZhbHNlLAogCQkJCQkJ CQkJCSAgIHRhcmdldHR5cGUsCiAJCQkJCQkJCQkJICAgdGFyZ2V0dHlwbW9kLApAQCAtMjkyOSwx MCArMjk0NywxMCBAQCB0cmFuc2Zvcm1QTEFzc2lnblN0bXRUYXJnZXQoUGFyc2VTdGF0ZSAqcHN0 YXRlLCBMaXN0ICp0bGlzdCwKIAkJCQkJCQkJCQkgICBpbmRpcmVjdGlvbiwKIAkJCQkJCQkJCQkg ICBsaXN0X2hlYWQoaW5kaXJlY3Rpb24pLAogCQkJCQkJCQkJCSAgIChOb2RlICopIHRsZS0+ZXhw ciwKLQkJCQkJCQkJCQkgICBDT0VSQ0lPTl9QTFBHU1FMLAorCQkJCQkJCQkJCSAgIGNjb250ZXh0 LAogCQkJCQkJCQkJCSAgIGV4cHJMb2NhdGlvbih0YXJnZXQpKTsKIAl9Ci0JZWxzZSBpZiAodGFy Z2V0dHlwZSAhPSB0eXBlX2lkICYmCisJZWxzZSBpZiAoSXNBKHN0bXQsIFBMQXNzaWduU3RtdCkg JiYgdGFyZ2V0dHlwZSAhPSB0eXBlX2lkICYmCiAJCQkgKHRhcmdldHR5cGUgPT0gUkVDT1JET0lE IHx8IElTQ09NUExFWCh0YXJnZXR0eXBlKSkgJiYKIAkJCSAodHlwZV9pZCA9PSBSRUNPUkRPSUQg fHwgSVNDT01QTEVYKHR5cGVfaWQpKSkKIAl7CkBAIC0yOTU1LDcgKzI5NzMsNyBAQCB0cmFuc2Zv cm1QTEFzc2lnblN0bXRUYXJnZXQoUGFyc2VTdGF0ZSAqcHN0YXRlLCBMaXN0ICp0bGlzdCwKIAkJ CWNvZXJjZV90b190YXJnZXRfdHlwZShwc3RhdGUsCiAJCQkJCQkJCSAgb3JpZ19leHByLCB0eXBl X2lkLAogCQkJCQkJCQkgIHRhcmdldHR5cGUsIHRhcmdldHR5cG1vZCwKLQkJCQkJCQkJICBDT0VS Q0lPTl9QTFBHU1FMLAorCQkJCQkJCQkgIGNjb250ZXh0LAogCQkJCQkJCQkgIENPRVJDRV9JTVBM SUNJVF9DQVNULAogCQkJCQkJCQkgIC0xKTsKIAkJLyogV2l0aCBDT0VSQ0lPTl9QTFBHU1FMLCB0 aGlzIGVycm9yIGlzIHByb2JhYmx5IHVucmVhY2hhYmxlICovCkBAIC0yOTY0LDcgKzI5ODIsNyBA QCB0cmFuc2Zvcm1QTEFzc2lnblN0bXRUYXJnZXQoUGFyc2VTdGF0ZSAqcHN0YXRlLCBMaXN0ICp0 bGlzdCwKIAkJCQkJKGVycmNvZGUoRVJSQ09ERV9EQVRBVFlQRV9NSVNNQVRDSCksCiAJCQkJCSBl cnJtc2coInZhcmlhYmxlIFwiJXNcIiBpcyBvZiB0eXBlICVzIgogCQkJCQkJCSIgYnV0IGV4cHJl c3Npb24gaXMgb2YgdHlwZSAlcyIsCi0JCQkJCQkJc3RtdC0+bmFtZSwKKwkJCQkJCQl0YXJnZXRf bmFtZSwKIAkJCQkJCQlmb3JtYXRfdHlwZV9iZSh0YXJnZXR0eXBlKSwKIAkJCQkJCQlmb3JtYXRf dHlwZV9iZSh0eXBlX2lkKSksCiAJCQkJCSBlcnJoaW50KCJZb3Ugd2lsbCBuZWVkIHRvIHJld3Jp dGUgb3IgY2FzdCB0aGUgZXhwcmVzc2lvbi4iKSwKQEAgLTMzMzIsNiArMzM1MCw1OSBAQCB0cmFu c2Zvcm1DYWxsU3RtdChQYXJzZVN0YXRlICpwc3RhdGUsIENhbGxTdG10ICpzdG10KQogCXJldHVy biByZXN1bHQ7CiB9CiAKKy8qCisgKiB0cmFuc2Zvcm1MZXRTdG10IC0KKyAqCSAgdHJhbnNmb3Jt IGFuIExldCBTdGF0ZW1lbnQKKyAqLworc3RhdGljIFF1ZXJ5ICoKK3RyYW5zZm9ybUxldFN0bXQo UGFyc2VTdGF0ZSAqcHN0YXRlLCBMZXRTdG10ICpzdG10KQoreworCVF1ZXJ5CSAgICpxcnk7CisJ UXVlcnkJICAgKnJlc3VsdDsKKwlOb2RlCSAgICp0YXJnZXQ7CisJVmFyaWFibGVGZW5jZSAqdmY7 CisJU2VsZWN0U3RtdFBhc3N0aHJvdWdoIHBhc3N0aHJ1OworCVBhcmFtCSAgICpwYXJhbXZhcjsK KworCS8qIGdyYW0gYWxsb3dzIG9ubHkgU0VMRUNUICovCisJQXNzZXJ0KElzQShzdG10LT5xdWVy eSwgU2VsZWN0U3RtdCkpOworCisJLyogVXNlIGltcGxpY2l0IFZhcmlhYmxlRmVuY2UgZm9yIGZv cmNpbmcgc2Vzc2lvbiB2YXJpYWJsZXMgKi8KKwl2ZiA9IG1ha2VOb2RlKFZhcmlhYmxlRmVuY2Up OworCXZmLT52YXJuYW1lID0gc3RtdC0+dGFyZ2V0OworCXZmLT5sb2NhdGlvbiA9IHN0bXQtPmxv Y2F0aW9uOworCisJdGFyZ2V0ID0gdHJhbnNmb3JtRXhwcihwc3RhdGUsIChOb2RlICopIHZmLCBF WFBSX0tJTkRfTEVUX1RBUkdFVCk7CisKKwlwYXJhbXZhciA9IGNhc3ROb2RlKFBhcmFtLCB0YXJn ZXQpOworCisJQXNzZXJ0KHBhcmFtdmFyLT5wYXJhbWtpbmQgPT0gUEFSQU1fVkFSSUFCTEUpOwor CisJLyogU2V0IHVwIHBhc3N0aHJvdWdoIGRhdGEgZm9yIHRyYW5zZm9ybUFzc2lnblRhcmdldCAq LworCXBhc3N0aHJ1LnN0bXQgPSAoTm9kZSAqKSBzdG10OworCXBhc3N0aHJ1LnRhcmdldCA9IChO b2RlICopIHBhcmFtdmFyOworCXBhc3N0aHJ1LnRhcmdldF9uYW1lID0gcGFyYW12YXItPnBhcmFt dmFybmFtZTsKKwlwYXNzdGhydS5pbmRpcmVjdGlvbiA9IE5JTDsKKwlwYXNzdGhydS5jY29udGV4 dCA9IENPRVJDSU9OX0FTU0lHTk1FTlQ7CisKKwkvKiB3ZSBuZWVkIHRvIHBvc3Rwb25lIGNvbnZl cnNpb24gb2YgInVua25vd24iIHRvIHRleHQgKi8KKwlwc3RhdGUtPnBfcmVzb2x2ZV91bmtub3du cyA9IGZhbHNlOworCisJcXJ5ID0gdHJhbnNmb3JtU2VsZWN0U3RtdChwc3RhdGUsIChTZWxlY3RT dG10ICopIHN0bXQtPnF1ZXJ5LCAmcGFzc3RocnUpOworCisJcXJ5LT5yZXN1bHRWYXJpYWJsZSA9 IHBhcmFtdmFyLT5wYXJhbXZhcm5hbWU7CisJcXJ5LT5jYW5TZXRUYWcgPSB0cnVlOworCisJc3Rt dC0+cXVlcnkgPSAoTm9kZSAqKSBxcnk7CisKKwkvKiByZXByZXNlbnQgdGhlIGNvbW1hbmQgYXMg YSB1dGlsaXR5IFF1ZXJ5ICovCisJcmVzdWx0ID0gbWFrZU5vZGUoUXVlcnkpOworCXJlc3VsdC0+ Y29tbWFuZFR5cGUgPSBDTURfVVRJTElUWTsKKwlyZXN1bHQtPnV0aWxpdHlTdG10ID0gKE5vZGUg Kikgc3RtdDsKKworCXJldHVybiByZXN1bHQ7Cit9CisKIC8qCiAgKiBQcm9kdWNlIGEgc3RyaW5n IHJlcHJlc2VudGF0aW9uIG9mIGEgTG9ja0NsYXVzZVN0cmVuZ3RoIHZhbHVlLgogICogVGhpcyBz aG91bGQgb25seSBiZSBhcHBsaWVkIHRvIHZhbGlkIHZhbHVlcyAobm90IExDU19OT05FKS4KZGlm ZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkgYi9zcmMvYmFja2VuZC9wYXJzZXIv Z3JhbS55CmluZGV4IDdmZWQ1YWQ3ZWNlLi4zY2ZhMzYyZTAzYiAxMDA2NDQKLS0tIGEvc3JjL2Jh Y2tlbmQvcGFyc2VyL2dyYW0ueQorKysgYi9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55CkBAIC0z MDMsNyArMzAzLDcgQEAgc3RhdGljIE5vZGUgKm1ha2VSZWN1cnNpdmVWaWV3U2VsZWN0KGNoYXIg KnJlbG5hbWUsIExpc3QgKmFsaWFzZXMsIE5vZGUgKnF1ZXJ5KTsKIAkJRHJvcFRyYW5zZm9ybVN0 bXQKIAkJRHJvcFVzZXJNYXBwaW5nU3RtdCBFeHBsYWluU3RtdCBGZXRjaFN0bXQKIAkJR3JhbnRT dG10IEdyYW50Um9sZVN0bXQgSW1wb3J0Rm9yZWlnblNjaGVtYVN0bXQgSW5kZXhTdG10IEluc2Vy dFN0bXQKLQkJTGlzdGVuU3RtdCBMb2FkU3RtdCBMb2NrU3RtdCBNZXJnZVN0bXQgTm90aWZ5U3Rt dCBFeHBsYWluYWJsZVN0bXQgUHJlcGFyYWJsZVN0bXQKKwkJTGV0U3RtdCBMaXN0ZW5TdG10IExv YWRTdG10IExvY2tTdG10IE1lcmdlU3RtdCBOb3RpZnlTdG10IEV4cGxhaW5hYmxlU3RtdCBQcmVw YXJhYmxlU3RtdAogCQlDcmVhdGVGdW5jdGlvblN0bXQgQWx0ZXJGdW5jdGlvblN0bXQgUmVpbmRl eFN0bXQgUmVtb3ZlQWdnclN0bXQKIAkJUmVtb3ZlRnVuY1N0bXQgUmVtb3ZlT3BlclN0bXQgUmVu YW1lU3RtdCBSZXR1cm5TdG10IFJldm9rZVN0bXQgUmV2b2tlUm9sZVN0bXQKIAkJUnVsZUFjdGlv blN0bXQgUnVsZUFjdGlvblN0bXRPckVtcHR5IFJ1bGVTdG10CkBAIC03NTMsNyArNzUzLDcgQEAg c3RhdGljIE5vZGUgKm1ha2VSZWN1cnNpdmVWaWV3U2VsZWN0KGNoYXIgKnJlbG5hbWUsIExpc3Qg KmFsaWFzZXMsIE5vZGUgKnF1ZXJ5KTsKIAlLRUVQIEtFWSBLRVlTCiAKIAlMQUJFTCBMQU5HVUFH RSBMQVJHRV9QIExBU1RfUCBMQVRFUkFMX1AKLQlMRUFESU5HIExFQUtQUk9PRiBMRUFTVCBMRUZU IExFVkVMIExJS0UgTElNSVQgTElTVEVOIExPQUQgTE9DQUwKKwlMRUFESU5HIExFQUtQUk9PRiBM RUFTVCBMRVQgTEVGVCBMRVZFTCBMSUtFIExJTUlUIExJU1RFTiBMT0FEIExPQ0FMCiAJTE9DQUxU SU1FIExPQ0FMVElNRVNUQU1QIExPQ0FUSU9OIExPQ0tfUCBMT0NLRUQgTE9HR0VEIExTTl9QCiAK IAlNQVBQSU5HIE1BVENIIE1BVENIRUQgTUFURVJJQUxJWkVEIE1BWFZBTFVFIE1FUkdFIE1FUkdF X0FDVElPTiBNRVRIT0QKQEAgLTExMDEsNiArMTEwMSw3IEBAIHN0bXQ6CiAJCQl8IEltcG9ydEZv cmVpZ25TY2hlbWFTdG10CiAJCQl8IEluZGV4U3RtdAogCQkJfCBJbnNlcnRTdG10CisJCQl8IExl dFN0bXQKIAkJCXwgTGlzdGVuU3RtdAogCQkJfCBSZWZyZXNoTWF0Vmlld1N0bXQKIAkJCXwgTG9h ZFN0bXQKQEAgLTEzMDI5LDYgKzEzMDMwLDM3IEBAIG9wdF9ob2xkOiAvKiBFTVBUWSAqLwkJCQkJ CXsgJCQgPSAwOyB9CiAJCQl8IFdJVEhPVVQgSE9MRAkJCQkJeyAkJCA9IDA7IH0KIAkJOwogCisv KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioKKyAqCisgKgkJUVVFUlk6CisgKgkJCQlMRVQgU1RBVEVNRU5U CisgKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqLworTGV0U3RtdDoJTEVUIENvbElkICc9JyBhX2V4 cHIKKwkJCQl7CisJCQkJCUxldFN0bXQJICAgKm4gPSBtYWtlTm9kZShMZXRTdG10KTsKKwkJCQkJ U2VsZWN0U3RtdCAqc2VsZWN0OworCQkJCQlSZXNUYXJnZXQgICpyZXM7CisKKwkJCQkJbi0+dGFy Z2V0ID0gJDI7CisKKwkJCQkJc2VsZWN0ID0gbWFrZU5vZGUoU2VsZWN0U3RtdCk7CisJCQkJCXJl cyA9IG1ha2VOb2RlKFJlc1RhcmdldCk7CisKKwkJCQkJLyogY3JlYXRlIHRhcmdldCBsaXN0IGZv ciBpbXBsaWNpdCBxdWVyeSAqLworCQkJCQlyZXMtPm5hbWUgPSBOVUxMOworCQkJCQlyZXMtPmlu ZGlyZWN0aW9uID0gTklMOworCQkJCQlyZXMtPnZhbCA9IChOb2RlICopICQ0OworCQkJCQlyZXMt PmxvY2F0aW9uID0gQDQ7CisKKwkJCQkJc2VsZWN0LT50YXJnZXRMaXN0ID0gbGlzdF9tYWtlMShy ZXMpOworCQkJCQluLT5xdWVyeSA9IChOb2RlICopIHNlbGVjdDsKKworCQkJCQluLT5sb2NhdGlv biA9IEAyOworCQkJCQkkJCA9IChOb2RlICopIG47CisJCQkJfQorCQk7CisKIC8qKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKgogICoKICAqCQlRVUVSWToKQEAgLTE4MTM5LDYgKzE4MTcxLDcgQEAgdW5yZXNl cnZlZF9rZXl3b3JkOgogCQkJfCBMQVJHRV9QCiAJCQl8IExBU1RfUAogCQkJfCBMRUFLUFJPT0YK KwkJCXwgTEVUCiAJCQl8IExFVkVMCiAJCQl8IExJU1RFTgogCQkJfCBMT0FECkBAIC0xODc1Nyw2 ICsxODc5MCw3IEBAIGJhcmVfbGFiZWxfa2V5d29yZDoKIAkJCXwgTEVBS1BST09GCiAJCQl8IExF QVNUCiAJCQl8IExFRlQKKwkJCXwgTEVUCiAJCQl8IExFVkVMCiAJCQl8IExJS0UKIAkJCXwgTElT VEVOCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfYWdnLmMgYi9zcmMvYmFj a2VuZC9wYXJzZXIvcGFyc2VfYWdnLmMKaW5kZXggZDAxODdlYTg0YTAuLjBhNWFiNjc4YWZjIDEw MDY0NAotLS0gYS9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfYWdnLmMKKysrIGIvc3JjL2JhY2tl bmQvcGFyc2VyL3BhcnNlX2FnZy5jCkBAIC01ODQsNiArNTg0LDEwIEBAIGNoZWNrX2FnZ2xldmVs c19hbmRfY29uc3RyYWludHMoUGFyc2VTdGF0ZSAqcHN0YXRlLCBOb2RlICpleHByKQogCQkJZXJy a2luZCA9IHRydWU7CiAJCQlicmVhazsKIAorCQljYXNlIEVYUFJfS0lORF9MRVRfVEFSR0VUOgor CQkJZXJya2luZCA9IHRydWU7CisJCQlicmVhazsKKwogCQkJLyoKIAkJCSAqIFRoZXJlIGlzIGlu dGVudGlvbmFsbHkgbm8gZGVmYXVsdDogY2FzZSBoZXJlLCBzbyB0aGF0IHRoZQogCQkJICogY29t cGlsZXIgd2lsbCB3YXJuIGlmIHdlIGFkZCBhIG5ldyBQYXJzZUV4cHJLaW5kIHdpdGhvdXQKQEAg LTEwMjMsNiArMTAyNyw5IEBAIHRyYW5zZm9ybVdpbmRvd0Z1bmNDYWxsKFBhcnNlU3RhdGUgKnBz dGF0ZSwgV2luZG93RnVuYyAqd2Z1bmMsCiAJCWNhc2UgRVhQUl9LSU5EX0NZQ0xFX01BUks6CiAJ CQllcnJraW5kID0gdHJ1ZTsKIAkJCWJyZWFrOworCQljYXNlIEVYUFJfS0lORF9MRVRfVEFSR0VU OgorCQkJZXJya2luZCA9IHRydWU7CisJCQlicmVhazsKIAogCQkJLyoKIAkJCSAqIFRoZXJlIGlz IGludGVudGlvbmFsbHkgbm8gZGVmYXVsdDogY2FzZSBoZXJlLCBzbyB0aGF0IHRoZQpkaWZmIC0t Z2l0IGEvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX2V4cHIuYyBiL3NyYy9iYWNrZW5kL3BhcnNl ci9wYXJzZV9leHByLmMKaW5kZXggYWExMTBlODBiMDYuLjJhNzVlNmVlNmM0IDEwMDY0NAotLS0g YS9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfZXhwci5jCisrKyBiL3NyYy9iYWNrZW5kL3BhcnNl ci9wYXJzZV9leHByLmMKQEAgLTU5Miw2ICs1OTIsOSBAQCB0cmFuc2Zvcm1Db2x1bW5SZWYoUGFy c2VTdGF0ZSAqcHN0YXRlLCBDb2x1bW5SZWYgKmNyZWYpCiAJCWNhc2UgRVhQUl9LSU5EX1BBUlRJ VElPTl9CT1VORDoKIAkJCWVyciA9IF8oImNhbm5vdCB1c2UgY29sdW1uIHJlZmVyZW5jZSBpbiBw YXJ0aXRpb24gYm91bmQgZXhwcmVzc2lvbiIpOwogCQkJYnJlYWs7CisJCWNhc2UgRVhQUl9LSU5E X0xFVF9UQVJHRVQ6CisJCQllcnIgPSBfKCJjYW5ub3QgdXNlIGNvbHVtbiByZWZlcmVuY2UgYXMg dGFyZ2V0IG9mIExFVCBjb21tYW5kIik7CisJCQlicmVhazsKIAogCQkJLyoKIAkJCSAqIFRoZXJl IGlzIGludGVudGlvbmFsbHkgbm8gZGVmYXVsdDogY2FzZSBoZXJlLCBzbyB0aGF0IHRoZQpAQCAt OTYyLDYgKzk2NSw3IEBAIGV4cHJfa2luZF9hbGxvd3Nfc2Vzc2lvbl92YXJpYWJsZXMoUGFyc2VF eHByS2luZCBwX2V4cHJfa2luZCkKIAkJY2FzZSBFWFBSX0tJTkRfUkVUVVJOSU5HOgogCQljYXNl IEVYUFJfS0lORF9WQUxVRVM6CiAJCWNhc2UgRVhQUl9LSU5EX1ZBTFVFU19TSU5HTEU6CisJCWNh c2UgRVhQUl9LSU5EX0xFVF9UQVJHRVQ6CiAJCQlyZXN1bHQgPSB0cnVlOwogCQkJYnJlYWs7CiAK QEAgLTE5OTAsNiArMTk5NCw5IEBAIHRyYW5zZm9ybVN1YkxpbmsoUGFyc2VTdGF0ZSAqcHN0YXRl LCBTdWJMaW5rICpzdWJsaW5rKQogCQljYXNlIEVYUFJfS0lORF9HRU5FUkFURURfQ09MVU1OOgog CQkJZXJyID0gXygiY2Fubm90IHVzZSBzdWJxdWVyeSBpbiBjb2x1bW4gZ2VuZXJhdGlvbiBleHBy ZXNzaW9uIik7CiAJCQlicmVhazsKKwkJY2FzZSBFWFBSX0tJTkRfTEVUX1RBUkdFVDoKKwkJCWVy ciA9IF8oImNhbm5vdCB1c2Ugc3VicXVlcnkgYXMgYSB0YXJnZXQgb2YgTEVUIGNvbW1hbmQiKTsK KwkJCWJyZWFrOwogCiAJCQkvKgogCQkJICogVGhlcmUgaXMgaW50ZW50aW9uYWxseSBubyBkZWZh dWx0OiBjYXNlIGhlcmUsIHNvIHRoYXQgdGhlCkBAIC0zMzQ5LDYgKzMzNTYsOCBAQCBQYXJzZUV4 cHJLaW5kTmFtZShQYXJzZUV4cHJLaW5kIGV4cHJLaW5kKQogCQkJcmV0dXJuICJHRU5FUkFURUQg QVMiOwogCQljYXNlIEVYUFJfS0lORF9DWUNMRV9NQVJLOgogCQkJcmV0dXJuICJDWUNMRSI7CisJ CWNhc2UgRVhQUl9LSU5EX0xFVF9UQVJHRVQ6CisJCQlyZXR1cm4gIkxFVCI7CiAKIAkJCS8qCiAJ CQkgKiBUaGVyZSBpcyBpbnRlbnRpb25hbGx5IG5vIGRlZmF1bHQ6IGNhc2UgaGVyZSwgc28gdGhh dCB0aGUKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9mdW5jLmMgYi9zcmMv YmFja2VuZC9wYXJzZXIvcGFyc2VfZnVuYy5jCmluZGV4IDI0ZjY3NDU5MjNiLi4yZTYzYTU2YmVl MSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX2Z1bmMuYworKysgYi9zcmMv YmFja2VuZC9wYXJzZXIvcGFyc2VfZnVuYy5jCkBAIC0yNzgzLDYgKzI3ODMsOSBAQCBjaGVja19z cmZfY2FsbF9wbGFjZW1lbnQoUGFyc2VTdGF0ZSAqcHN0YXRlLCBOb2RlICpsYXN0X3NyZiwgaW50 IGxvY2F0aW9uKQogCQljYXNlIEVYUFJfS0lORF9DWUNMRV9NQVJLOgogCQkJZXJya2luZCA9IHRy dWU7CiAJCQlicmVhazsKKwkJY2FzZSBFWFBSX0tJTkRfTEVUX1RBUkdFVDoKKwkJCWVycmtpbmQg PSB0cnVlOworCQkJYnJlYWs7CiAKIAkJCS8qCiAJCQkgKiBUaGVyZSBpcyBpbnRlbnRpb25hbGx5 IG5vIGRlZmF1bHQ6IGNhc2UgaGVyZSwgc28gdGhhdCB0aGUKZGlmZiAtLWdpdCBhL3NyYy9iYWNr ZW5kL3Rjb3AvdXRpbGl0eS5jIGIvc3JjL2JhY2tlbmQvdGNvcC91dGlsaXR5LmMKaW5kZXggOTlj OTViODA3NjcuLjQ4NWY3MjQwODIxIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC90Y29wL3V0aWxp dHkuYworKysgYi9zcmMvYmFja2VuZC90Y29wL3V0aWxpdHkuYwpAQCAtMjM3LDYgKzIzNyw3IEBA IENsYXNzaWZ5VXRpbGl0eUNvbW1hbmRBc1JlYWRPbmx5KE5vZGUgKnBhcnNldHJlZSkKIAogCQlj YXNlIFRfQ2FsbFN0bXQ6CiAJCWNhc2UgVF9Eb1N0bXQ6CisJCWNhc2UgVF9MZXRTdG10OgogCQkJ ewogCQkJCS8qCiAJCQkJICogQ29tbWFuZHMgaW5zaWRlIHRoZSBETyBibG9jayBvciB0aGUgY2Fs bGVkIHByb2NlZHVyZSBtaWdodApAQCAtMTA3NSw2ICsxMDc2LDExIEBAIHN0YW5kYXJkX1Byb2Nl c3NVdGlsaXR5KFBsYW5uZWRTdG10ICpwc3RtdCwKIAkJCURyb3BWYXJpYWJsZUJ5TmFtZSgoKERy b3BTZXNzaW9uVmFyU3RtdCAqKSBwYXJzZXRyZWUpLT5uYW1lKTsKIAkJCWJyZWFrOwogCisJCWNh c2UgVF9MZXRTdG10OgorCQkJRXhlY3V0ZUxldFN0bXQocHN0YXRlLCAoTGV0U3RtdCAqKSBwYXJz ZXRyZWUsIHBhcmFtcywKKwkJCQkJCSAgIHF1ZXJ5RW52LCBxYyk7CisJCQlicmVhazsKKwogCQlk ZWZhdWx0OgogCQkJLyogQWxsIG90aGVyIHN0YXRlbWVudCB0eXBlcyBoYXZlIGV2ZW50IHRyaWdn ZXIgc3VwcG9ydCAqLwogCQkJUHJvY2Vzc1V0aWxpdHlTbG93KHBzdGF0ZSwgcHN0bXQsIHF1ZXJ5 U3RyaW5nLApAQCAtMjIyMCw2ICsyMjI2LDEwIEBAIFV0aWxpdHlDb250YWluc1F1ZXJ5KE5vZGUg KnBhcnNldHJlZSkKIAkJCQlyZXR1cm4gVXRpbGl0eUNvbnRhaW5zUXVlcnkocXJ5LT51dGlsaXR5 U3RtdCk7CiAJCQlyZXR1cm4gcXJ5OwogCisJCWNhc2UgVF9MZXRTdG10OgorCQkJcXJ5ID0gY2Fz dE5vZGUoUXVlcnksICgoTGV0U3RtdCAqKSBwYXJzZXRyZWUpLT5xdWVyeSk7CisJCQlyZXR1cm4g cXJ5OworCiAJCWRlZmF1bHQ6CiAJCQlyZXR1cm4gTlVMTDsKIAl9CkBAIC0yNDE1LDYgKzI0MjUs MTAgQEAgQ3JlYXRlQ29tbWFuZFRhZyhOb2RlICpwYXJzZXRyZWUpCiAJCQl0YWcgPSBDTURUQUdf U0VMRUNUOwogCQkJYnJlYWs7CiAKKwkJY2FzZSBUX0xldFN0bXQ6CisJCQl0YWcgPSBDTURUQUdf TEVUOworCQkJYnJlYWs7CisKIAkJCS8qIHV0aWxpdHkgc3RhdGVtZW50cyAtLS0gc2FtZSB3aGV0 aGVyIHJhdyBvciBjb29rZWQgKi8KIAkJY2FzZSBUX1RyYW5zYWN0aW9uU3RtdDoKIAkJCXsKQEAg LTMzMDUsNiArMzMxOSw3IEBAIEdldENvbW1hbmRMb2dMZXZlbChOb2RlICpwYXJzZXRyZWUpCiAJ CQlicmVhazsKIAogCQljYXNlIFRfUExBc3NpZ25TdG10OgorCQljYXNlIFRfTGV0U3RtdDoKIAkJ CWxldiA9IExPR1NUTVRfQUxMOwogCQkJYnJlYWs7CiAKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcHNx bC90YWItY29tcGxldGUuaW4uYyBiL3NyYy9iaW4vcHNxbC90YWItY29tcGxldGUuaW4uYwppbmRl eCA3N2YxMjYzZDc5OS4uNTEzYzVkOTQyOGYgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcHNxbC90YWIt Y29tcGxldGUuaW4uYworKysgYi9zcmMvYmluL3BzcWwvdGFiLWNvbXBsZXRlLmluLmMKQEAgLTEy NjUsOCArMTI2NSw4IEBAIHN0YXRpYyBjb25zdCBjaGFyICpjb25zdCBzcWxfY29tbWFuZHNbXSA9 IHsKIAkiQUJPUlQiLCAiQUxURVIiLCAiQU5BTFlaRSIsICJCRUdJTiIsICJDQUxMIiwgIkNIRUNL UE9JTlQiLCAiQ0xPU0UiLCAiQ0xVU1RFUiIsCiAJIkNPTU1FTlQiLCAiQ09NTUlUIiwgIkNPUFki LCAiQ1JFQVRFIiwgIkRFQUxMT0NBVEUiLCAiREVDTEFSRSIsCiAJIkRFTEVURSBGUk9NIiwgIkRJ U0NBUkQiLCAiRE8iLCAiRFJPUCIsICJFTkQiLCAiRVhFQ1VURSIsICJFWFBMQUlOIiwKLQkiRkVU Q0giLCAiR1JBTlQiLCAiSU1QT1JUIEZPUkVJR04gU0NIRU1BIiwgIklOU0VSVCBJTlRPIiwgIkxJ U1RFTiIsICJMT0FEIiwgIkxPQ0siLAotCSJNRVJHRSBJTlRPIiwgIk1PVkUiLCAiTk9USUZZIiwg IlBSRVBBUkUiLAorCSJGRVRDSCIsICJHUkFOVCIsICJJTVBPUlQgRk9SRUlHTiBTQ0hFTUEiLCAi SU5TRVJUIElOVE8iLCAiTEVUIiwKKwkiTElTVEVOIiwgIkxPQUQiLCAiTE9DSyIsICJNRVJHRSBJ TlRPIiwgIk1PVkUiLCAiTk9USUZZIiwgIlBSRVBBUkUiLAogCSJSRUFTU0lHTiIsICJSRUZSRVNI IE1BVEVSSUFMSVpFRCBWSUVXIiwgIlJFSU5ERVgiLCAiUkVMRUFTRSIsCiAJIlJFU0VUIiwgIlJF Vk9LRSIsICJST0xMQkFDSyIsCiAJIlNBVkVQT0lOVCIsICJTRUNVUklUWSBMQUJFTCIsICJTRUxF Q1QiLCAiU0VUIiwgIlNIT1ciLCAiU1RBUlQiLApAQCAtNDg2OCw2ICs0ODY4LDExIEBAIG1hdGNo X3ByZXZpb3VzX3dvcmRzKGludCBwYXR0ZXJuX2lkLAogCWVsc2UgaWYgKFRhaWxNYXRjaGVzKCJW QUxVRVMiKSAmJiAhVGFpbE1hdGNoZXMoIkRFRkFVTFQiLCAiVkFMVUVTIikpCiAJCUNPTVBMRVRF X1dJVEgoIigiKTsKIAorLyogTEVUICovCisJLyogQ29tcGxldGUgTEVUIDx2YXJpYWJsZT4gd2l0 aCAiPSIgKi8KKwllbHNlIGlmIChUYWlsTWF0Y2hlcygiTEVUIiwgTWF0Y2hBbnkpKQorCQlDT01Q TEVURV9XSVRIKCI9Iik7CisKIC8qIExPQ0sgKi8KIAkvKiBDb21wbGV0ZSBMT0NLIFtUQUJMRV0g W09OTFldIHdpdGggYSBsaXN0IG9mIHRhYmxlcyAqLwogCWVsc2UgaWYgKE1hdGNoZXMoIkxPQ0si KSkKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuaCBi L3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuaAppbmRleCA2MTBiNzU3ODk5 ZS4uYzRiNGQ5ZTY4MzIgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Nlc3Npb25f dmFyaWFibGUuaAorKysgYi9zcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmgK QEAgLTE2LDggKzE2LDEwIEBACiAjZGVmaW5lIFNFU1NJT05WQVJJQUJMRV9ICiAKICNpbmNsdWRl ICJjYXRhbG9nL29iamVjdGFkZHJlc3MuaCIKKyNpbmNsdWRlICJub2Rlcy9wYXJhbXMuaCIKICNp bmNsdWRlICJwYXJzZXIvcGFyc2Vfbm9kZS5oIgogI2luY2x1ZGUgIm5vZGVzL3BhcnNlbm9kZXMu aCIKKyNpbmNsdWRlICJ0Y29wL2NtZHRhZy5oIgogCiBleHRlcm4gdm9pZCBDcmVhdGVWYXJpYWJs ZShQYXJzZVN0YXRlICpwc3RhdGUsIENyZWF0ZVNlc3Npb25WYXJTdG10ICpzdG10KTsKIGV4dGVy biB2b2lkIERyb3BWYXJpYWJsZUJ5TmFtZShjaGFyICp2YXJuYW1lKTsKQEAgLTMyLDQgKzM0LDcg QEAgZXh0ZXJuIHZvaWQgZ2V0X3Nlc3Npb25fdmFyaWFibGVfdHlwZV90eXBtb2RfY29sbGlkKGNo YXIgKnZhcm5hbWUsCiAJCQkJCQkJCQkJCQkJaW50MzIgKnR5cG1vZCwKIAkJCQkJCQkJCQkJCQlP aWQgKmNvbGxpZCk7CiAKK2V4dGVybiB2b2lkIEV4ZWN1dGVMZXRTdG10KFBhcnNlU3RhdGUgKnBz dGF0ZSwgTGV0U3RtdCAqc3RtdCwgUGFyYW1MaXN0SW5mbyBwYXJhbXMsCisJCQkJCQkgICBRdWVy eUVudmlyb25tZW50ICpxdWVyeUVudiwgUXVlcnlDb21wbGV0aW9uICpxYyk7CisKICNlbmRpZgpk aWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvbm9kZXMvcGFyc2Vub2Rlcy5oIGIvc3JjL2luY2x1ZGUv bm9kZXMvcGFyc2Vub2Rlcy5oCmluZGV4IGM3OWYwN2YzYzQwLi5mNWI2NWY3ZDBlOSAxMDA2NDQK LS0tIGEvc3JjL2luY2x1ZGUvbm9kZXMvcGFyc2Vub2Rlcy5oCisrKyBiL3NyYy9pbmNsdWRlL25v ZGVzL3BhcnNlbm9kZXMuaApAQCAtMTQ3LDYgKzE0Nyw5IEBAIHR5cGVkZWYgc3RydWN0IFF1ZXJ5 CiAJICovCiAJaW50CQkJcmVzdWx0UmVsYXRpb24gcGdfbm9kZV9hdHRyKHF1ZXJ5X2p1bWJsZV9p Z25vcmUpOwogCisJLyogdGFyZ2V0IHZhcmlhYmxlIG9mIExFVCBzdGF0ZW1lbnQgKi8KKwljaGFy CSAgICpyZXN1bHRWYXJpYWJsZTsKKwogCS8qIGhhcyBhZ2dyZWdhdGVzIGluIHRsaXN0IG9yIGhh dmluZ1F1YWwgKi8KIAlib29sCQloYXNBZ2dzIHBnX25vZGVfYXR0cihxdWVyeV9qdW1ibGVfaWdu b3JlKTsKIAkvKiBoYXMgd2luZG93IGZ1bmN0aW9ucyBpbiB0bGlzdCAqLwpAQCAtMjE5OSw2ICsy MjAyLDE4IEBAIHR5cGVkZWYgc3RydWN0IE1lcmdlU3RtdAogCVdpdGhDbGF1c2UgKndpdGhDbGF1 c2U7CQkvKiBXSVRIIGNsYXVzZSAqLwogfSBNZXJnZVN0bXQ7CiAKKy8qIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KKyAqCQlMZXQgU3RhdGVtZW50CisgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisg Ki8KK3R5cGVkZWYgc3RydWN0IExldFN0bXQKK3sKKwlOb2RlVGFnCQl0eXBlOworCWNoYXIJICAg KnRhcmdldDsJCQkvKiB0YXJnZXQgdmFyaWFibGUgKi8KKwlOb2RlCSAgICpxdWVyeTsJCQkvKiBz b3VyY2UgZXhwcmVzc2lvbiAqLworCVBhcnNlTG9jCWxvY2F0aW9uOworfSBMZXRTdG10OworCiAv KiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgKgkJU2VsZWN0IFN0YXRlbWVudAogICoKZGlmZiAt LWdpdCBhL3NyYy9pbmNsdWRlL25vZGVzL3BhdGhub2Rlcy5oIGIvc3JjL2luY2x1ZGUvbm9kZXMv cGF0aG5vZGVzLmgKaW5kZXggN2FjYzllNTFmMGUuLjg0MDdmOGFmZmUxIDEwMDY0NAotLS0gYS9z cmMvaW5jbHVkZS9ub2Rlcy9wYXRobm9kZXMuaAorKysgYi9zcmMvaW5jbHVkZS9ub2Rlcy9wYXRo bm9kZXMuaApAQCAtMjc0LDYgKzI3NCw5IEBAIHR5cGVkZWYgc3RydWN0IFBsYW5uZXJHbG9iYWwK IAogCS8qIGxpc3Qgb2YgdXNlZCBzZXNzaW9uIHZhcmlhYmxlcyAqLwogCUxpc3QJICAgKnNlc3Np b25WYXJpYWJsZXM7CisKKwkvKiBuYW1lIG9mIHNlc3Npb24gdmFyaWFibGUgdXNlZCBsaWtlIHRh cmdldCBvZiBMRVQgY29tbWFuZCAqLworCWNoYXIJICAgKnJlc3VsdFZhcmlhYmxlOwogfSBQbGFu bmVyR2xvYmFsOwogCiAvKiBtYWNybyBmb3IgZmV0Y2hpbmcgdGhlIFBsYW4gYXNzb2NpYXRlZCB3 aXRoIGEgU3ViUGxhbiBub2RlICovCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9wYXJzZXIva3ds aXN0LmggYi9zcmMvaW5jbHVkZS9wYXJzZXIva3dsaXN0LmgKaW5kZXggZDRiMTIyM2EzM2UuLmNh NjFlMThkOGFiIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9wYXJzZXIva3dsaXN0LmgKKysrIGIv c3JjL2luY2x1ZGUvcGFyc2VyL2t3bGlzdC5oCkBAIC0yNTgsNiArMjU4LDcgQEAgUEdfS0VZV09S RCgibGVhZGluZyIsIExFQURJTkcsIFJFU0VSVkVEX0tFWVdPUkQsIEJBUkVfTEFCRUwpCiBQR19L RVlXT1JEKCJsZWFrcHJvb2YiLCBMRUFLUFJPT0YsIFVOUkVTRVJWRURfS0VZV09SRCwgQkFSRV9M QUJFTCkKIFBHX0tFWVdPUkQoImxlYXN0IiwgTEVBU1QsIENPTF9OQU1FX0tFWVdPUkQsIEJBUkVf TEFCRUwpCiBQR19LRVlXT1JEKCJsZWZ0IiwgTEVGVCwgVFlQRV9GVU5DX05BTUVfS0VZV09SRCwg QkFSRV9MQUJFTCkKK1BHX0tFWVdPUkQoImxldCIsIExFVCwgVU5SRVNFUlZFRF9LRVlXT1JELCBC QVJFX0xBQkVMKQogUEdfS0VZV09SRCgibGV2ZWwiLCBMRVZFTCwgVU5SRVNFUlZFRF9LRVlXT1JE LCBCQVJFX0xBQkVMKQogUEdfS0VZV09SRCgibGlrZSIsIExJS0UsIFRZUEVfRlVOQ19OQU1FX0tF WVdPUkQsIEJBUkVfTEFCRUwpCiBQR19LRVlXT1JEKCJsaW1pdCIsIExJTUlULCBSRVNFUlZFRF9L RVlXT1JELCBBU19MQUJFTCkKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3BhcnNlci9wYXJzZV9u b2RlLmggYi9zcmMvaW5jbHVkZS9wYXJzZXIvcGFyc2Vfbm9kZS5oCmluZGV4IDI3ODU5OGE5MGY3 Li4zYWE4NzRlNDkxMCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvcGFyc2VyL3BhcnNlX25vZGUu aAorKysgYi9zcmMvaW5jbHVkZS9wYXJzZXIvcGFyc2Vfbm9kZS5oCkBAIC04Miw2ICs4Miw3IEBA IHR5cGVkZWYgZW51bSBQYXJzZUV4cHJLaW5kCiAJRVhQUl9LSU5EX0NPUFlfV0hFUkUsCQkvKiBX SEVSRSBjb25kaXRpb24gaW4gQ09QWSBGUk9NICovCiAJRVhQUl9LSU5EX0dFTkVSQVRFRF9DT0xV TU4sIC8qIGdlbmVyYXRpb24gZXhwcmVzc2lvbiBmb3IgYSBjb2x1bW4gKi8KIAlFWFBSX0tJTkRf Q1lDTEVfTUFSSywJCS8qIGN5Y2xlIG1hcmsgdmFsdWUgKi8KKwlFWFBSX0tJTkRfTEVUX1RBUkdF VCwJCS8qIG9ubHkgc2Vzc2lvbiB2YXJpYWJsZXMgKi8KIH0gUGFyc2VFeHByS2luZDsKIAogCmRp ZmYgLS1naXQgYS9zcmMvaW5jbHVkZS90Y29wL2NtZHRhZ2xpc3QuaCBiL3NyYy9pbmNsdWRlL3Rj b3AvY21kdGFnbGlzdC5oCmluZGV4IDRiOTY0ZDBmYjVhLi45NDVhM2EwZjI0YiAxMDA2NDQKLS0t IGEvc3JjL2luY2x1ZGUvdGNvcC9jbWR0YWdsaXN0LmgKKysrIGIvc3JjL2luY2x1ZGUvdGNvcC9j bWR0YWdsaXN0LmgKQEAgLTE4NSw2ICsxODUsNyBAQCBQR19DTURUQUcoQ01EVEFHX0dSQU5ULCAi R1JBTlQiLCB0cnVlLCBmYWxzZSwgZmFsc2UpCiBQR19DTURUQUcoQ01EVEFHX0dSQU5UX1JPTEUs ICJHUkFOVCBST0xFIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSkKIFBHX0NNRFRBRyhDTURUQUdfSU1Q T1JUX0ZPUkVJR05fU0NIRU1BLCAiSU1QT1JUIEZPUkVJR04gU0NIRU1BIiwgdHJ1ZSwgZmFsc2Us IGZhbHNlKQogUEdfQ01EVEFHKENNRFRBR19JTlNFUlQsICJJTlNFUlQiLCBmYWxzZSwgZmFsc2Us IHRydWUpCitQR19DTURUQUcoQ01EVEFHX0xFVCwgIkxFVCIsIGZhbHNlLCBmYWxzZSwgZmFsc2Up CiBQR19DTURUQUcoQ01EVEFHX0xJU1RFTiwgIkxJU1RFTiIsIGZhbHNlLCBmYWxzZSwgZmFsc2Up CiBQR19DTURUQUcoQ01EVEFHX0xPQUQsICJMT0FEIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSkKIFBH X0NNRFRBRyhDTURUQUdfTE9DS19UQUJMRSwgIkxPQ0sgVEFCTEUiLCBmYWxzZSwgZmFsc2UsIGZh bHNlKQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zZXNzaW9uX3Zhcmlh Ymxlc19kbWwub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zZXNzaW9uX3ZhcmlhYmxl c19kbWwub3V0CmluZGV4IDE1MTliZjcyM2UwLi41OTk3NTFlYzVjOCAxMDA2NDQKLS0tIGEvc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zZXNzaW9uX3ZhcmlhYmxlc19kbWwub3V0CisrKyBiL3Ny Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc2Vzc2lvbl92YXJpYWJsZXNfZG1sLm91dApAQCAtMTMz LDMgKzEzMywxNTkgQEAgUkVTRVQgbWluX3BhcmFsbGVsX3RhYmxlX3NjYW5fc2l6ZTsKIFJFU0VU IG1heF9wYXJhbGxlbF93b3JrZXJzX3Blcl9nYXRoZXI7CiBEUk9QIFRBQkxFIHRlc3R2YXJfdGVz dHRhYjsKIERST1AgVkFSSUFCTEUgdGVtcF92YXIwMjsKK0NSRUFURSBURU1QIFZBUklBQkxFIHRl bXBfdmFyMDMgQVMgbnVtZXJpYzsKKy0tIExFVCBzdG10IGlzIG5vdCBhbGxvd2VkIGluc2lkZSBD VEUKK1dJVEggeCBBUyAoTEVUICB0ZW1wX3ZhcjAzID0gMy4xNCkgU0VMRUNUICogRlJPTSB4Owor RVJST1I6ICBzeW50YXggZXJyb3IgYXQgb3IgbmVhciAiTEVUIgorTElORSAxOiBXSVRIIHggQVMg KExFVCAgdGVtcF92YXIwMyA9IDMuMTQpIFNFTEVDVCAqIEZST00geDsKKyAgICAgICAgICAgICAg ICAgICBeCistLSBMRVQgc3RtdCByZXF1aXJlcyByZXN1bHQgd2l0aCBleGFjdGx5IG9uZSByb3cK K0xFVCB0ZW1wX3ZhcjAzID0gZ2VuZXJhdGVfc2VyaWVzKDEsMSk7CitTRUxFQ1QgVkFSSUFCTEUo dGVtcF92YXIwMyk7CisgdGVtcF92YXIwMyAKKy0tLS0tLS0tLS0tLQorICAgICAgICAgIDEKKygx IHJvdykKKworLS0gc2hvdWxkIGZhaWwKK0xFVCB0ZW1wX3ZhcjAzID0gZ2VuZXJhdGVfc2VyaWVz KDEsMik7CitFUlJPUjogIGV4cHJlc3Npb24gcmV0dXJuZWQgbW9yZSB0aGFuIG9uZSByb3cKK0xF VCB0ZW1wX3ZhcjAzID0gZ2VuZXJhdGVfc2VyaWVzKDEsMCk7CitFUlJPUjogIGV4cHJlc3Npb24g cmV0dXJuZWQgbm8gcm93cworQ1JFQVRFIE9SIFJFUExBQ0UgRlVOQ1RJT04gdGVzdHZhcl9zcWww MShudW1lcmljKQorUkVUVVJOUyB2b2lkIEFTICQkCitMRVQgdGVtcF92YXIwMyA9ICQxOworJCQg TEFOR1VBR0Ugc3FsOworQ1JFQVRFIE9SIFJFUExBQ0UgRlVOQ1RJT04gdGVzdHZhcl9zcWwwMigp CitSRVRVUk5TIG51bWVyaWMgQVMgJCQKK1NFTEVDVCBWQVJJQUJMRSh0ZW1wX3ZhcjAzKTsKKyQk IExBTkdVQUdFIHNxbDsKK1NFTEVDVCB0ZXN0dmFyX3NxbDAxKDMuMTQpOworIHRlc3R2YXJfc3Fs MDEgCistLS0tLS0tLS0tLS0tLS0KKyAKKygxIHJvdykKKworU0VMRUNUIHRlc3R2YXJfc3FsMDIo KSwgVkFSSUFCTEUodGVtcF92YXIwMyk7CisgdGVzdHZhcl9zcWwwMiB8IHRlbXBfdmFyMDMgCist LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgICAgICAgICAgMy4xNCB8ICAgICAgIDMuMTQK KygxIHJvdykKKworQ1JFQVRFIE9SIFJFUExBQ0UgRlVOQ1RJT04gdGVzdHZhcl9wbCh2YXJjaGFy KQorUkVUVVJOUyB2YXJjaGFyIEFTICQkCitCRUdJTgorICBMRVQgdGVtcF92YXIwMyA9ICQxOjpu dW1lcmljOworICBSRVRVUk4gVkFSSUFCTEUodGVtcF92YXIwMyk7CitFTkQKKyQkIExBTkdVQUdF IHBscGdzcWwgU0VDVVJJVFkgREVGSU5FUjsKK1NFTEVDVCB0ZXN0dmFyX3BsKCczLjE0Jyk7Cisg dGVzdHZhcl9wbCAKKy0tLS0tLS0tLS0tLQorIDMuMTQKKygxIHJvdykKKworRFJPUCBWQVJJQUJM RSB0ZW1wX3ZhcjAzOworU0VUIHBsYW5fY2FjaGVfbW9kZSB0byBmb3JjZV9nZW5lcmljX3BsYW47 CistLSBzaG91bGQgbm90IGNyYXNoCitTRUxFQ1QgdGVzdHZhcl9zcWwwMSgzLjE0KTsKK0VSUk9S OiAgc2Vzc2lvbiB2YXJpYWJsZSAidGVtcF92YXIwMyIgZG9lc24ndCBleGlzdAorQ09OVEVYVDog IFNRTCBmdW5jdGlvbiAidGVzdHZhcl9zcWwwMSIgZHVyaW5nIGlubGluaW5nCitTRUxFQ1QgdGVz dHZhcl9zcWwwMigpLCBWQVJJQUJMRSh0ZW1wX3ZhcjAzKTsKK0VSUk9SOiAgc2Vzc2lvbiB2YXJp YWJsZSAidGVtcF92YXIwMyIgZG9lc24ndCBleGlzdAorU0VMRUNUIHRlc3R2YXJfcGwoJzMuMTQx NTkyJyk7CitFUlJPUjogIHNlc3Npb24gdmFyaWFibGUgInRlbXBfdmFyMDMiIGRvZXNuJ3QgZXhp c3QKK0NPTlRFWFQ6ICBTUUwgc3RhdGVtZW50ICJMRVQgdGVtcF92YXIwMyA9ICQxOjpudW1lcmlj IgorUEwvcGdTUUwgZnVuY3Rpb24gdGVzdHZhcl9wbChjaGFyYWN0ZXIgdmFyeWluZykgbGluZSAz IGF0IFNRTCBzdGF0ZW1lbnQKKy0tIGNhbiB3b3JrIGFnYWluIGlmIHdlIGNyZWF0ZSB2YXJpYWJs ZQorQ1JFQVRFIFRFTVAgVkFSSUFCTEUgdGVtcF92YXIwMyBBUyBudW1lcmljOworU0VMRUNUIHRl c3R2YXJfc3FsMDEoMy4xNCk7CisgdGVzdHZhcl9zcWwwMSAKKy0tLS0tLS0tLS0tLS0tLQorIAor KDEgcm93KQorCitTRUxFQ1QgdGVzdHZhcl9zcWwwMigpLCBWQVJJQUJMRSh0ZW1wX3ZhcjAzKTsK KyB0ZXN0dmFyX3NxbDAyIHwgdGVtcF92YXIwMyAKKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0KKyAgICAgICAgICAzLjE0IHwgICAgICAgMy4xNAorKDEgcm93KQorCitTRUxFQ1QgdGVzdHZh cl9wbCgnMy4xNDE1OTInKTsKKyB0ZXN0dmFyX3BsIAorLS0tLS0tLS0tLS0tCisgMy4xNDE1OTIK KygxIHJvdykKKworQ1JFQVRFIFJPTEUgcmVncmVzc19zZXNzaW9uX3ZhcmlhYmxlX3Rlc3Rfcm9s ZV8wNDsKK1NFVCBST0xFIHJlZ3Jlc3Nfc2Vzc2lvbl92YXJpYWJsZV90ZXN0X3JvbGVfMDQ7Cist LSBzaG91bGQgZmFpbAorU0VMRUNUIHRlc3R2YXJfc3FsMDEoMy4xNCk7CitFUlJPUjogIHBlcm1p c3Npb24gZGVuaWVkIGZvciBzZXNzaW9uIHZhcmlhYmxlIHRlbXBfdmFyMDMKK0NPTlRFWFQ6ICBT UUwgZnVuY3Rpb24gInRlc3R2YXJfc3FsMDEiIHN0YXRlbWVudCAxCistLSBzaG91bGQgYmUgb2sg KHNlY3VyaXR5IGRlZmluZXIpCitTRUxFQ1QgdGVzdHZhcl9wbCgnMy4xNDE1OTInKTsKKyB0ZXN0 dmFyX3BsIAorLS0tLS0tLS0tLS0tCisgMy4xNDE1OTIKKygxIHJvdykKKworU0VUIFJPTEUgVE8g REVGQVVMVDsKK0RST1AgRlVOQ1RJT04gdGVzdHZhcl9zcWwwMShudW1lcmljKTsKK0RST1AgRlVO Q1RJT04gdGVzdHZhcl9zcWwwMigpOworRFJPUCBGVU5DVElPTiB0ZXN0dmFyX3BsKHZhcmNoYXIp OworRFJPUCBST0xFIHJlZ3Jlc3Nfc2Vzc2lvbl92YXJpYWJsZV90ZXN0X3JvbGVfMDQ7CitEUk9Q IFZBUklBQkxFIHRlbXBfdmFyMDM7CitTRVQgcGxhbl9jYWNoZV9tb2RlIFRPIERFRkFVTFQ7Cist LSB0ZXN0IGV4dGVuZGVkIHF1ZXJ5IHByb3RvY29sCitDUkVBVEUgVEVNUCBWQVJJQUJMRSB0ZW1w X3ZhcjA0IEFTIGludDsKK0xFVCB0ZW1wX3ZhcjA0ID0gJDEgXGJpbmQgMTAgXGcKK1NFTEVDVCBW QVJJQUJMRSh0ZW1wX3ZhcjA0KTsKKyB0ZW1wX3ZhcjA0IAorLS0tLS0tLS0tLS0tCisgICAgICAg ICAxMAorKDEgcm93KQorCitMRVQgdGVtcF92YXIwNCA9ICQxIFxwYXJzZSBsZXRwcworXGJpbmRf bmFtZWQgbGV0cHMgMTAwIFxnCitTRUxFQ1QgVkFSSUFCTEUodGVtcF92YXIwNCk7CisgdGVtcF92 YXIwNCAKKy0tLS0tLS0tLS0tLQorICAgICAgICAxMDAKKygxIHJvdykKKworXGNsb3NlX3ByZXBh cmVkIGxldHBzCitEUk9QIFZBUklBQkxFIHRlbXBfdmFyMDQ7CistLSBvcmlnaW5hbCB2YWx1ZSBz aG91bGQgbm90IGJlIGNoYW5nZWQgd2hlbiBMRVQgZmFpbHMKK0NSRUFURSBURU1QIFZBUklBQkxF IHRlbXBfdmFyMDQgQVMgbnVtZXJpYzsKK0xFVCB0ZW1wX3ZhcjA0ID0gNDI7CitMRVQgdGVtcF92 YXIwNCA9IGdlbmVyYXRlX3NlcmllcygxLDIpOyAtLSBFUlJPUjogdG9vIG1hbnkgcm93CitFUlJP UjogIGV4cHJlc3Npb24gcmV0dXJuZWQgbW9yZSB0aGFuIG9uZSByb3cKK1NFTEVDVCBWQVJJQUJM RSh0ZW1wX3ZhcjA0KTsgLS0gZXhwZWN0ZWQgNDIKKyB0ZW1wX3ZhcjA0IAorLS0tLS0tLS0tLS0t CisgICAgICAgICA0MgorKDEgcm93KQorCitEUk9QIFZBUklBQkxFIHRlbXBfdmFyMDQ7CitDUkVB VEUgVEVNUCBWQVJJQUJMRSB0ZW1wX3ZhcjA0IEFTIGludDsKK0xFVCB0ZW1wX3ZhcjA0ID0gNDI7 CitMRVQgdGVtcF92YXIwNCA9IGdlbmVyYXRlX3NlcmllcygxLDIpOyAtLSBFUlJPUjogdG9vIG1h bnkgcm93CitFUlJPUjogIGV4cHJlc3Npb24gcmV0dXJuZWQgbW9yZSB0aGFuIG9uZSByb3cKK1NF TEVDVCBWQVJJQUJMRSh0ZW1wX3ZhcjA0KTsgLS0gZXhwZWN0ZWQgNDIKKyB0ZW1wX3ZhcjA0IAor LS0tLS0tLS0tLS0tCisgICAgICAgICA0MgorKDEgcm93KQorCitEUk9QIFZBUklBQkxFIHRlbXBf dmFyMDQ7CitDUkVBVEUgVEVNUCBWQVJJQUJMRSB0ZW1wX3ZhcjA0IEFTIGludDsKK0xFVCB0ZW1w X3ZhcjA0ID0gZ2VuZXJhdGVfc2VyaWVzKDEsMik7IC0tIEVSUk9SOiB0b28gbWFueSByb3cKK0VS Uk9SOiAgZXhwcmVzc2lvbiByZXR1cm5lZCBtb3JlIHRoYW4gb25lIHJvdworU0VMRUNUIFZBUklB QkxFKHRlbXBfdmFyMDQpOyAtLSBleHBlY3RlZCBOVUxMCisgdGVtcF92YXIwNCAKKy0tLS0tLS0t LS0tLQorICAgICAgICAgICAKKygxIHJvdykKKworRFJPUCBWQVJJQUJMRSB0ZW1wX3ZhcjA0Owpk aWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc2Vzc2lvbl92YXJpYWJsZXNfZG1sLnNx bCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Nlc3Npb25fdmFyaWFibGVzX2RtbC5zcWwKaW5kZXgg YmY1NmIxOTQ2N2IuLmZjYjQyOWY2YmJmIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3Nx bC9zZXNzaW9uX3ZhcmlhYmxlc19kbWwuc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Nl c3Npb25fdmFyaWFibGVzX2RtbC5zcWwKQEAgLTExOCwzICsxMTgsMTE2IEBAIFJFU0VUIG1heF9w YXJhbGxlbF93b3JrZXJzX3Blcl9nYXRoZXI7CiAKIERST1AgVEFCTEUgdGVzdHZhcl90ZXN0dGFi OwogRFJPUCBWQVJJQUJMRSB0ZW1wX3ZhcjAyOworCitDUkVBVEUgVEVNUCBWQVJJQUJMRSB0ZW1w X3ZhcjAzIEFTIG51bWVyaWM7CisKKy0tIExFVCBzdG10IGlzIG5vdCBhbGxvd2VkIGluc2lkZSBD VEUKK1dJVEggeCBBUyAoTEVUICB0ZW1wX3ZhcjAzID0gMy4xNCkgU0VMRUNUICogRlJPTSB4Owor CistLSBMRVQgc3RtdCByZXF1aXJlcyByZXN1bHQgd2l0aCBleGFjdGx5IG9uZSByb3cKK0xFVCB0 ZW1wX3ZhcjAzID0gZ2VuZXJhdGVfc2VyaWVzKDEsMSk7CitTRUxFQ1QgVkFSSUFCTEUodGVtcF92 YXIwMyk7CisKKy0tIHNob3VsZCBmYWlsCitMRVQgdGVtcF92YXIwMyA9IGdlbmVyYXRlX3Nlcmll cygxLDIpOworTEVUIHRlbXBfdmFyMDMgPSBnZW5lcmF0ZV9zZXJpZXMoMSwwKTsKKworQ1JFQVRF IE9SIFJFUExBQ0UgRlVOQ1RJT04gdGVzdHZhcl9zcWwwMShudW1lcmljKQorUkVUVVJOUyB2b2lk IEFTICQkCitMRVQgdGVtcF92YXIwMyA9ICQxOworJCQgTEFOR1VBR0Ugc3FsOworCitDUkVBVEUg T1IgUkVQTEFDRSBGVU5DVElPTiB0ZXN0dmFyX3NxbDAyKCkKK1JFVFVSTlMgbnVtZXJpYyBBUyAk JAorU0VMRUNUIFZBUklBQkxFKHRlbXBfdmFyMDMpOworJCQgTEFOR1VBR0Ugc3FsOworCitTRUxF Q1QgdGVzdHZhcl9zcWwwMSgzLjE0KTsKK1NFTEVDVCB0ZXN0dmFyX3NxbDAyKCksIFZBUklBQkxF KHRlbXBfdmFyMDMpOworCitDUkVBVEUgT1IgUkVQTEFDRSBGVU5DVElPTiB0ZXN0dmFyX3BsKHZh cmNoYXIpCitSRVRVUk5TIHZhcmNoYXIgQVMgJCQKK0JFR0lOCisgIExFVCB0ZW1wX3ZhcjAzID0g JDE6Om51bWVyaWM7CisgIFJFVFVSTiBWQVJJQUJMRSh0ZW1wX3ZhcjAzKTsKK0VORAorJCQgTEFO R1VBR0UgcGxwZ3NxbCBTRUNVUklUWSBERUZJTkVSOworCitTRUxFQ1QgdGVzdHZhcl9wbCgnMy4x NCcpOworCitEUk9QIFZBUklBQkxFIHRlbXBfdmFyMDM7CisKK1NFVCBwbGFuX2NhY2hlX21vZGUg dG8gZm9yY2VfZ2VuZXJpY19wbGFuOworCistLSBzaG91bGQgbm90IGNyYXNoCitTRUxFQ1QgdGVz dHZhcl9zcWwwMSgzLjE0KTsKK1NFTEVDVCB0ZXN0dmFyX3NxbDAyKCksIFZBUklBQkxFKHRlbXBf dmFyMDMpOworU0VMRUNUIHRlc3R2YXJfcGwoJzMuMTQxNTkyJyk7CisKKy0tIGNhbiB3b3JrIGFn YWluIGlmIHdlIGNyZWF0ZSB2YXJpYWJsZQorQ1JFQVRFIFRFTVAgVkFSSUFCTEUgdGVtcF92YXIw MyBBUyBudW1lcmljOworU0VMRUNUIHRlc3R2YXJfc3FsMDEoMy4xNCk7CitTRUxFQ1QgdGVzdHZh cl9zcWwwMigpLCBWQVJJQUJMRSh0ZW1wX3ZhcjAzKTsKK1NFTEVDVCB0ZXN0dmFyX3BsKCczLjE0 MTU5MicpOworCitDUkVBVEUgUk9MRSByZWdyZXNzX3Nlc3Npb25fdmFyaWFibGVfdGVzdF9yb2xl XzA0OworCitTRVQgUk9MRSByZWdyZXNzX3Nlc3Npb25fdmFyaWFibGVfdGVzdF9yb2xlXzA0Owor CistLSBzaG91bGQgZmFpbAorU0VMRUNUIHRlc3R2YXJfc3FsMDEoMy4xNCk7CisKKy0tIHNob3Vs ZCBiZSBvayAoc2VjdXJpdHkgZGVmaW5lcikKK1NFTEVDVCB0ZXN0dmFyX3BsKCczLjE0MTU5Micp OworCitTRVQgUk9MRSBUTyBERUZBVUxUOworCitEUk9QIEZVTkNUSU9OIHRlc3R2YXJfc3FsMDEo bnVtZXJpYyk7CitEUk9QIEZVTkNUSU9OIHRlc3R2YXJfc3FsMDIoKTsKK0RST1AgRlVOQ1RJT04g dGVzdHZhcl9wbCh2YXJjaGFyKTsKKworRFJPUCBST0xFIHJlZ3Jlc3Nfc2Vzc2lvbl92YXJpYWJs ZV90ZXN0X3JvbGVfMDQ7CisKK0RST1AgVkFSSUFCTEUgdGVtcF92YXIwMzsKKworU0VUIHBsYW5f Y2FjaGVfbW9kZSBUTyBERUZBVUxUOworCistLSB0ZXN0IGV4dGVuZGVkIHF1ZXJ5IHByb3RvY29s CitDUkVBVEUgVEVNUCBWQVJJQUJMRSB0ZW1wX3ZhcjA0IEFTIGludDsKKworTEVUIHRlbXBfdmFy MDQgPSAkMSBcYmluZCAxMCBcZworU0VMRUNUIFZBUklBQkxFKHRlbXBfdmFyMDQpOworCitMRVQg dGVtcF92YXIwNCA9ICQxIFxwYXJzZSBsZXRwcworXGJpbmRfbmFtZWQgbGV0cHMgMTAwIFxnCitT RUxFQ1QgVkFSSUFCTEUodGVtcF92YXIwNCk7CisKK1xjbG9zZV9wcmVwYXJlZCBsZXRwcworCitE Uk9QIFZBUklBQkxFIHRlbXBfdmFyMDQ7CisKKy0tIG9yaWdpbmFsIHZhbHVlIHNob3VsZCBub3Qg YmUgY2hhbmdlZCB3aGVuIExFVCBmYWlscworQ1JFQVRFIFRFTVAgVkFSSUFCTEUgdGVtcF92YXIw NCBBUyBudW1lcmljOworCitMRVQgdGVtcF92YXIwNCA9IDQyOworCitMRVQgdGVtcF92YXIwNCA9 IGdlbmVyYXRlX3NlcmllcygxLDIpOyAtLSBFUlJPUjogdG9vIG1hbnkgcm93CitTRUxFQ1QgVkFS SUFCTEUodGVtcF92YXIwNCk7IC0tIGV4cGVjdGVkIDQyCisKK0RST1AgVkFSSUFCTEUgdGVtcF92 YXIwNDsKKworQ1JFQVRFIFRFTVAgVkFSSUFCTEUgdGVtcF92YXIwNCBBUyBpbnQ7CisKK0xFVCB0 ZW1wX3ZhcjA0ID0gNDI7CisKK0xFVCB0ZW1wX3ZhcjA0ID0gZ2VuZXJhdGVfc2VyaWVzKDEsMik7 IC0tIEVSUk9SOiB0b28gbWFueSByb3cKK1NFTEVDVCBWQVJJQUJMRSh0ZW1wX3ZhcjA0KTsgLS0g ZXhwZWN0ZWQgNDIKKworRFJPUCBWQVJJQUJMRSB0ZW1wX3ZhcjA0OworCitDUkVBVEUgVEVNUCBW QVJJQUJMRSB0ZW1wX3ZhcjA0IEFTIGludDsKKworTEVUIHRlbXBfdmFyMDQgPSBnZW5lcmF0ZV9z ZXJpZXMoMSwyKTsgLS0gRVJST1I6IHRvbyBtYW55IHJvdworU0VMRUNUIFZBUklBQkxFKHRlbXBf dmFyMDQpOyAtLSBleHBlY3RlZCBOVUxMCisKK0RST1AgVkFSSUFCTEUgdGVtcF92YXIwNDsKZGlm ZiAtLWdpdCBhL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0IGIvc3JjL3Rvb2xzL3Bn aW5kZW50L3R5cGVkZWZzLmxpc3QKaW5kZXggMTg0Yjc5MGRlOTcuLmJkMmQxYWU4YzllIDEwMDY0 NAotLS0gYS9zcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdAorKysgYi9zcmMvdG9vbHMv cGdpbmRlbnQvdHlwZWRlZnMubGlzdApAQCAtMTU3MCw2ICsxNTcwLDcgQEAgTGFyZ2VPYmplY3RE ZXNjCiBMYXRjaAogTGF1bmNoZXJMYXN0U3RhcnRUaW1lc0VudHJ5CiBMZXJwRnVuYworTGV0U3Rt dAogTGV4RGVzY3IKIExleGVtZUVudHJ5CiBMZXhlbWVIYXNoS2V5Ci0tIAoyLjUzLjAKCg== --000000000000f2b535064c467044 Content-Type: text/x-patch; charset="US-ASCII"; name="v20260305-0005-svariableReceiver.patch" Content-Disposition: attachment; filename="v20260305-0005-svariableReceiver.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmdgvcp46 RnJvbSBhMDUxMGU3MTY3MjcyODlhODI1ODYyNTE0YWJiZGE0ZDE3NDkyOGM3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPG9rYm9iQGdpdGh1Yi5jb20+ CkRhdGU6IFN1biwgMSBKdW4gMjAyNSAyMToyMDoxNiArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDUv MTFdIHN2YXJpYWJsZVJlY2VpdmVyCgphbGxvd3MgdG8gc3RvcmUgcmVzdWx0IG9mIHRoZSBxdWVy eSB0byBzZXNzaW9uIHZhcmlhYmxlCgpDaGVjayBjb3JyZWN0IGZvcm1hdCBvZiByZXN1bHQgLSBv bmUgY29sdW1uLCBvbmUgcm93LgotLS0KIHNyYy9iYWNrZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFy aWFibGUuYyAgfCAgNTAgKysrKysrCiBzcmMvYmFja2VuZC9leGVjdXRvci9NYWtlZmlsZSAgICAg ICAgICAgIHwgICAxICsKIHNyYy9iYWNrZW5kL2V4ZWN1dG9yL21lc29uLmJ1aWxkICAgICAgICAg fCAgIDEgKwogc3JjL2JhY2tlbmQvZXhlY3V0b3Ivc3ZhcmlhYmxlUmVjZWl2ZXIuYyB8IDE5OSAr KysrKysrKysrKysrKysrKysrKysrKwogc3JjL2JhY2tlbmQvdGNvcC9kZXN0LmMgICAgICAgICAg ICAgICAgICB8ICAgNyArCiBzcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmgg IHwgICAzICsKIHNyYy9pbmNsdWRlL2V4ZWN1dG9yL3N2YXJpYWJsZVJlY2VpdmVyLmggfCAgMjIg KysrCiBzcmMvaW5jbHVkZS90Y29wL2Rlc3QuaCAgICAgICAgICAgICAgICAgIHwgICAxICsKIHNy Yy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0ICAgICAgICAgfCAgIDEgKwogOSBmaWxlcyBj aGFuZ2VkLCAyODUgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy9iYWNrZW5k L2V4ZWN1dG9yL3N2YXJpYWJsZVJlY2VpdmVyLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvaW5j bHVkZS9leGVjdXRvci9zdmFyaWFibGVSZWNlaXZlci5oCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vz c2lvbl92YXJpYWJsZS5jCmluZGV4IGY4ZWE4NTI2ZTFkLi5kZWI1ZDdlODBmOSAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5jCisrKyBiL3NyYy9iYWNr ZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuYwpAQCAtMTY2LDYgKzE2Niw1NiBAQCBHZXRT ZXNzaW9uVmFyaWFibGVXaXRoVHlwZWNoZWNrKGNoYXIgKnZhcm5hbWUsCiAJcmV0dXJuIHJlc3Vs dDsKIH0KIAorLyoKKyAqIFN0b3JlIHRoZSBnaXZlbiB2YWx1ZSBpbiBhIHNlc3Npb24gdmFyaWFi bGUgaW4gdGhlIGNhY2hlLgorICovCit2b2lkCitTZXRTZXNzaW9uVmFyaWFibGVXaXRoVHlwZWNo ZWNrKGNoYXIgKnZhcm5hbWUsCisJCQkJCQkJCU9pZCB0eXBpZCwgaW50MzIgdHlwbW9kLAorCQkJ CQkJCQlEYXR1bSB2YWx1ZSwgYm9vbCBpc251bGwpCit7CisJU1ZhcmlhYmxlCXN2YXI7CisKKwlz dmFyID0gc2VhcmNoX3ZhcmlhYmxlKHZhcm5hbWUpOworCisJaWYgKHN2YXItPnZhcnR5cGUgIT0g dHlwaWQgfHwgc3Zhci0+dmFydHlwbW9kICE9IHR5cG1vZCkKKwkJZXJlcG9ydChFUlJPUiwKKwkJ CQkoZXJyY29kZShFUlJDT0RFX0RBVEFUWVBFX01JU01BVENIKSwKKwkJCQkgZXJybXNnKCJzZXNz aW9uIHZhcmlhYmxlICVzIGlzIG5vdCBvZiBhIHR5cGUgJXMgYnV0IHR5cGUgJXMiLAorCQkJCQkJ dmFybmFtZSwKKwkJCQkJCWZvcm1hdF90eXBlX3dpdGhfdHlwZW1vZCh0eXBpZCwgdHlwbW9kKSwK KwkJCQkJCWZvcm1hdF90eXBlX3dpdGhfdHlwZW1vZChzdmFyLT52YXJ0eXBlLCBzdmFyLT52YXJ0 eXBtb2QpKSkpOworCisJLyogb25seSBvd25lciBjYW4gc2V0IGNvbnRlbnQgb2YgdmFyaWFibGUg Ki8KKwlpZiAoc3Zhci0+dmFyb3duZXIgIT0gR2V0VXNlcklkKCkgJiYgIXN1cGVydXNlcigpKQor CQllcmVwb3J0KEVSUk9SLAorCQkJCShlcnJjb2RlKEVSUkNPREVfSU5TVUZGSUNJRU5UX1BSSVZJ TEVHRSksCisJCQkJIGVycm1zZygicGVybWlzc2lvbiBkZW5pZWQgZm9yIHNlc3Npb24gdmFyaWFi bGUgJXMiLAorCQkJCQkJdmFybmFtZSkpKTsKKworCWlmICghc3Zhci0+dHlwYnl2YWwpCisJewor CQlpZiAoIWlzbnVsbCkKKwkJeworCQkJTWVtb3J5Q29udGV4dCBvbGRjeHQ7CisKKwkJCS8qCisJ CQkgKiBEbyBjb3B5IG9mIHZhbHVlIGluIHNlc3Npb24gdmFyaWFibGVzIGNvbnRleHQuIFRoaXMg b3BlcmF0aW9uCisJCQkgKiBjYW4gZmFpbCwgc28gZG8gaXQgYmVmb3JlIHJlbGVhc2luZyB0aGUg b2xkIGNvbnRlbnQuCisJCQkgKi8KKwkJCW9sZGN4dCA9IE1lbW9yeUNvbnRleHRTd2l0Y2hUbyhT VmFyaWFibGVNZW1vcnlDb250ZXh0KTsKKwkJCXZhbHVlID0gZGF0dW1Db3B5KHZhbHVlLCBzdmFy LT50eXBieXZhbCwgc3Zhci0+dHlwbGVuKTsKKwkJCU1lbW9yeUNvbnRleHRTd2l0Y2hUbyhvbGRj eHQpOworCQl9CisKKwkJaWYgKCFzdmFyLT5pc251bGwpCisJCQlwZnJlZShEYXR1bUdldFBvaW50 ZXIoc3Zhci0+dmFsdWUpKTsKKwl9CisKKwlzdmFyLT52YWx1ZSA9IHZhbHVlOworCXN2YXItPmlz bnVsbCA9IGlzbnVsbDsKK30KKwogLyoKICAqIENyZWF0ZXMgYSBuZXcgdmFyaWFibGUgLSBkb2Vz IG5ldyBlbnRyeSBpbiBzZXNzaW9udmFycwogICoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2V4 ZWN1dG9yL01ha2VmaWxlIGIvc3JjL2JhY2tlbmQvZXhlY3V0b3IvTWFrZWZpbGUKaW5kZXggMTEx MThkMGNlMDIuLjcxMjQ4YTM0ZjI2IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9leGVjdXRvci9N YWtlZmlsZQorKysgYi9zcmMvYmFja2VuZC9leGVjdXRvci9NYWtlZmlsZQpAQCAtNzYsNiArNzYs NyBAQCBPQkpTID0gXAogCW5vZGVXaW5kb3dBZ2cubyBcCiAJbm9kZVdvcmt0YWJsZXNjYW4ubyBc CiAJc3BpLm8gXAorCXN2YXJpYWJsZVJlY2VpdmVyLm8gXAogCXRxdWV1ZS5vIFwKIAl0c3RvcmVS ZWNlaXZlci5vCiAKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL21lc29uLmJ1aWxk IGIvc3JjL2JhY2tlbmQvZXhlY3V0b3IvbWVzb24uYnVpbGQKaW5kZXggZGM0NWJlMGIyY2UuLmE1 NzJiNmRhYjdjIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9leGVjdXRvci9tZXNvbi5idWlsZAor KysgYi9zcmMvYmFja2VuZC9leGVjdXRvci9tZXNvbi5idWlsZApAQCAtNjQsNiArNjQsNyBAQCBi YWNrZW5kX3NvdXJjZXMgKz0gZmlsZXMoCiAgICdub2RlV2luZG93QWdnLmMnLAogICAnbm9kZVdv cmt0YWJsZXNjYW4uYycsCiAgICdzcGkuYycsCisgICdzdmFyaWFibGVSZWNlaXZlci5jJywKICAg J3RxdWV1ZS5jJywKICAgJ3RzdG9yZVJlY2VpdmVyLmMnLAogKQpkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvZXhlY3V0b3Ivc3ZhcmlhYmxlUmVjZWl2ZXIuYyBiL3NyYy9iYWNrZW5kL2V4ZWN1dG9y L3N2YXJpYWJsZVJlY2VpdmVyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MDAuLmI5NmYyMTBhMDcyCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL2JhY2tlbmQvZXhlY3V0b3Iv c3ZhcmlhYmxlUmVjZWl2ZXIuYwpAQCAtMCwwICsxLDE5OSBAQAorLyotLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CisgKgorICogc3ZhcmlhYmxlUmVjZWl2ZXIuYworICoJICBBbiBpbXBsZW1lbnRhdGlvbiBvZiBE ZXN0UmVjZWl2ZXIgdGhhdCBzdG9yZXMgdGhlIHJlc3VsdCB2YWx1ZSBpbgorICoJICBhIHNlc3Np b24gdmFyaWFibGUuCisgKgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAxOTk2LTIwMjQsIFBv c3RncmVTUUwgR2xvYmFsIERldmVsb3BtZW50IEdyb3VwCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQg KGMpIDE5OTQsIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYQorICoKKyAq IElERU5USUZJQ0FUSU9OCisgKgkgIHNyYy9iYWNrZW5kL2V4ZWN1dG9yL3N2YXJpYWJsZVJlY2Vp dmVyLmMKKyAqCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqLworCisjaW5jbHVkZSAicG9zdGdyZXMu aCIKKyNpbmNsdWRlICJtaXNjYWRtaW4uaCIKKworI2luY2x1ZGUgImFjY2Vzcy9kZXRvYXN0Lmgi CisjaW5jbHVkZSAiYWNjZXNzL2h0dXBfZGV0YWlscy5oIgorI2luY2x1ZGUgImNvbW1hbmRzL3Nl c3Npb25fdmFyaWFibGUuaCIKKyNpbmNsdWRlICJleGVjdXRvci9zdmFyaWFibGVSZWNlaXZlci5o IgorI2luY2x1ZGUgInV0aWxzL2J1aWx0aW5zLmgiCisjaW5jbHVkZSAidXRpbHMvZGF0dW0uaCIK KyNpbmNsdWRlICJ1dGlscy9tZW11dGlscy5oIgorI2luY2x1ZGUgInV0aWxzL2xzeXNjYWNoZS5o IgorI2luY2x1ZGUgInV0aWxzL3N5c2NhY2hlLmgiCisKKy8qCisgKiBUaGlzIERlc3RSZWNlaXZl ciBpcyB1c2VkIGJ5IHRoZSBMRVQgY29tbWFuZCBmb3Igc3RvcmluZyB0aGUgcmVzdWx0IHRvIGEK KyAqIHNlc3Npb24gdmFyaWFibGUuICBUaGUgcmVzdWx0IGhhcyB0byBoYXZlIG9ubHkgb25lIHR1 cGxlIHdpdGggb25seSBvbmUKKyAqIG5vbi1kZWxldGVkIGF0dHJpYnV0ZS4gIFRoZSByb3cgY291 bnRlciAoZmllbGQgInJvd3MiKSBpcyBpbmNyZW1lbnRlZAorICogYWZ0ZXIgcmVjZWl2aW5nIGEg cm93LCBhbmQgYW4gZXJyb3IgaXMgcmFpc2VkIHdoZW4gdGhlcmUgYXJlIG5vIHJvd3Mgb3IKKyAq IHRoZXJlIGFyZSBtb3JlIHRoYW4gb25lIHJlY2VpdmVkIHJvd3MuICBBIHJlY2VpdmVkIHR1cGxl IGNhbm5vdCB0byBoYXZlCisgKiBkZWxldGVkIGF0dHJpYnV0ZXMuICBUaGUgdmFsdWUgaXMgZGV0 b2FzdGVkIGJlZm9yZSBzdG9yaW5nIGl0IGluIHRoZQorICogc2Vzc2lvbiB2YXJpYWJsZS4KKyAq CisgKiBUaGUgYXNzaWdubWVudCB0byBzZXNzaW9uIHZhcmlhYmxlIGhhdmUgdG8gYmUgcG9zdHBv bmVkIHVudGlsIHdlIGFyZQorICogc3VyZSBzbyBvbmx5IG9uZSByb3cgd2FzIHJlY2VpdmVkLiBX ZSBuZWVkIHRvIGhvbGQgdmFsdWUgZnJvbSBmaXJzdAorICogcm93IGluIGRlZGljYXRlZCBjb250 ZXh0LgorICovCit0eXBlZGVmIHN0cnVjdAoreworCURlc3RSZWNlaXZlciBwdWI7CisJY2hhcgkg ICAqdmFybmFtZTsKKwlPaWQJCQl0eXBpZDsKKwlpbnQzMgkJdHlwbW9kOworCWludDE2CQl0eXBs ZW47CisJYm9vbAkJdHlwYnl2YWw7CisJRGF0dW0JCWJ1ZmZlcmVkX3ZhbHVlOwkvKiBmaXJzdCBy b3cgdmFsdWUgKi8KKwlib29sCQlidWZmZXJlZF92YWx1ZV9pc19udWxsOworCU1lbW9yeUNvbnRl eHQgYnVmZmVyX2N4dDsJLyogaG9sZHMgYSB2YWx1ZSBiZWZvcmUgc3RvcmluZyB0byB2YXJpYWJs ZSAqLworCWludAkJCXJvd3M7CQkJLyogcm93IGNvdW50ZXIgKi8KK30gU1ZhcmlhYmxlU3RhdGU7 CisKKy8qCisgKiBQcmVwYXJlIHRvIHJlY2VpdmUgdHVwbGVzIGZyb20gZXhlY3V0b3IuCisgKi8K K3N0YXRpYyB2b2lkCitzdmFyaWFibGVTdGFydHVwUmVjZWl2ZXIoRGVzdFJlY2VpdmVyICpzZWxm LCBpbnQgb3BlcmF0aW9uLCBUdXBsZURlc2MgdHlwZWluZm8pCit7CisJU1ZhcmlhYmxlU3RhdGUg Km15U3RhdGUgPSAoU1ZhcmlhYmxlU3RhdGUgKikgc2VsZjsKKwlGb3JtX3BnX2F0dHJpYnV0ZSBh dHRyOworCisJQXNzZXJ0KG15U3RhdGUtPnB1Yi5teWRlc3QgPT0gRGVzdFZhcmlhYmxlKTsKKwlB c3NlcnQodHlwZWluZm8tPm5hdHRzID09IDEpOworCisJYXR0ciA9IFR1cGxlRGVzY0F0dHIodHlw ZWluZm8sIDApOworCisJQXNzZXJ0KCFhdHRyLT5hdHRpc2Ryb3BwZWQpOworCisJbXlTdGF0ZS0+ dHlwaWQgPSBhdHRyLT5hdHR0eXBpZDsKKwlteVN0YXRlLT50eXBtb2QgPSBhdHRyLT5hdHR0eXBt b2Q7CisJbXlTdGF0ZS0+dHlwbGVuID0gYXR0ci0+YXR0bGVuOworCW15U3RhdGUtPnR5cGJ5dmFs ID0gYXR0ci0+YXR0Ynl2YWw7CisKKwlteVN0YXRlLT5idWZmZXJlZF92YWx1ZSA9IChEYXR1bSkg MDsKKwlteVN0YXRlLT5idWZmZXJlZF92YWx1ZV9pc19udWxsID0gdHJ1ZTsKKworCWlmICghbXlT dGF0ZS0+dHlwYnl2YWwpCisJCW15U3RhdGUtPmJ1ZmZlcl9jeHQgPSBBbGxvY1NldENvbnRleHRD cmVhdGUoQ3VycmVudE1lbW9yeUNvbnRleHQsCisJCQkJCQkJCQkJCQkJIlNWYXJpYWJsZVJlY2Vp dmVyQnVmZmVyIiwKKwkJCQkJCQkJCQkJCQlBTExPQ1NFVF9ERUZBVUxUX1NJWkVTKTsKKwllbHNl CisJCW15U3RhdGUtPmJ1ZmZlcl9jeHQgPSBOVUxMOworCisJbXlTdGF0ZS0+cm93cyA9IDA7Cit9 CisKKy8qCisgKiBSZWNlaXZlIGEgdHVwbGUgZnJvbSB0aGUgZXhlY3V0b3IgYW5kIHN0b3JlIGl0 IGluIHRoZSBidWZmZXIKKyAqLworc3RhdGljIGJvb2wKK3N2YXJpYWJsZVJlY2VpdmVTbG90KFR1 cGxlVGFibGVTbG90ICpzbG90LCBEZXN0UmVjZWl2ZXIgKnNlbGYpCit7CisJU1ZhcmlhYmxlU3Rh dGUgKm15U3RhdGUgPSAoU1ZhcmlhYmxlU3RhdGUgKikgc2VsZjsKKwlEYXR1bQkJdmFsdWU7CisJ Ym9vbAkJaXNudWxsOworCWJvb2wJCWZyZWV2YWwgPSBmYWxzZTsKKworCS8qIG1ha2Ugc3VyZSB0 aGUgdHVwbGUgaXMgZnVsbHkgZGVjb25zdHJ1Y3RlZCAqLworCXNsb3RfZ2V0YWxsYXR0cnMoc2xv dCk7CisKKwl2YWx1ZSA9IHNsb3QtPnR0c192YWx1ZXNbMF07CisJaXNudWxsID0gc2xvdC0+dHRz X2lzbnVsbFswXTsKKworCWlmICgobXlTdGF0ZS0+dHlwbGVuID09IC0xKSAmJiAhaXNudWxsICYm CisJCVZBUkFUVF9JU19FWFRFUk5BTChEYXR1bUdldFBvaW50ZXIodmFsdWUpKSkKKwl7CisJCXZh bHVlID0gUG9pbnRlckdldERhdHVtKGRldG9hc3RfZXh0ZXJuYWxfYXR0cigoc3RydWN0IHZhcmxl bmEgKikKKwkJCQkJCQkJCQkJCQkgIERhdHVtR2V0UG9pbnRlcih2YWx1ZSkpKTsKKwkJZnJlZXZh bCA9IHRydWU7CisJfQorCisJbXlTdGF0ZS0+cm93cyArPSAxOworCisJaWYgKG15U3RhdGUtPnJv d3MgPiAxKQorCQllcmVwb3J0KEVSUk9SLAorCQkJCShlcnJjb2RlKEVSUkNPREVfVE9PX01BTllf Uk9XUyksCisJCQkJIGVycm1zZygiZXhwcmVzc2lvbiByZXR1cm5lZCBtb3JlIHRoYW4gb25lIHJv dyIpKSk7CisKKwkvKgorCSAqIFdlIGNhbm5vdCB0byBhc3NpZ24gcmVjZWl2ZWQgdmFsdWUgZGly ZWN0bHksIHNvIHdlIHNob3VsZCB0bworCSAqIHNhdmUgcmVjZWl2ZWQgdmFsdWUgaW4gdGhlIGJ1 ZmZlci4KKwkgKi8KKwlpZiAoIWlzbnVsbCkKKwl7CisJCWlmICghbXlTdGF0ZS0+dHlwYnl2YWwp CisJCXsKKwkJCU1lbW9yeUNvbnRleHQgb2xkY3h0ID0gTWVtb3J5Q29udGV4dFN3aXRjaFRvKG15 U3RhdGUtPmJ1ZmZlcl9jeHQpOworCisJCQlteVN0YXRlLT5idWZmZXJlZF92YWx1ZSA9IGRhdHVt Q29weSh2YWx1ZSwKKwkJCQkJCQkJCQkJCW15U3RhdGUtPnR5cGJ5dmFsLAorCQkJCQkJCQkJCQkJ bXlTdGF0ZS0+dHlwbGVuKTsKKworCQkJTWVtb3J5Q29udGV4dFN3aXRjaFRvKG9sZGN4dCk7CisJ CX0KKwkJZWxzZQorCQkJbXlTdGF0ZS0+YnVmZmVyZWRfdmFsdWUgPSB2YWx1ZTsKKworCQlteVN0 YXRlLT5idWZmZXJlZF92YWx1ZV9pc19udWxsID0gZmFsc2U7CisJfQorCisJaWYgKGZyZWV2YWwp CisJCXBmcmVlKERhdHVtR2V0UG9pbnRlcih2YWx1ZSkpOworCisJcmV0dXJuIHRydWU7Cit9CisK Ky8qCisgKiBDbGVhbiB1cCBhdCBlbmQgb2YgdGhlIGV4ZWN1dG9yIHJ1bgorICovCitzdGF0aWMg dm9pZAorc3ZhcmlhYmxlU2h1dGRvd25SZWNlaXZlcihEZXN0UmVjZWl2ZXIgKnNlbGYpCit7CisJ U1ZhcmlhYmxlU3RhdGUgKm15U3RhdGUgPSAoU1ZhcmlhYmxlU3RhdGUgKikgc2VsZjsKKworCWlm IChteVN0YXRlLT5yb3dzID09IDApCisJCWVyZXBvcnQoRVJST1IsCisJCQkJKGVycmNvZGUoRVJS Q09ERV9OT19EQVRBX0ZPVU5EKSwKKwkJCQkgZXJybXNnKCJleHByZXNzaW9uIHJldHVybmVkIG5v IHJvd3MiKSkpOworCisJU2V0U2Vzc2lvblZhcmlhYmxlV2l0aFR5cGVjaGVjayhteVN0YXRlLT52 YXJuYW1lLAorCQkJCQkJCQkJbXlTdGF0ZS0+dHlwaWQsIG15U3RhdGUtPnR5cG1vZCwKKwkJCQkJ CQkJCW15U3RhdGUtPmJ1ZmZlcmVkX3ZhbHVlLAorCQkJCQkJCQkJbXlTdGF0ZS0+YnVmZmVyZWRf dmFsdWVfaXNfbnVsbCk7CisKKwlpZiAobXlTdGF0ZS0+YnVmZmVyX2N4dCkKKwkJTWVtb3J5Q29u dGV4dERlbGV0ZShteVN0YXRlLT5idWZmZXJfY3h0KTsKK30KKworLyoKKyAqIERlc3Ryb3kgdGhl IHJlY2VpdmVyIHdoZW4gd2UgYXJlIGRvbmUgd2l0aCBpdAorICovCitzdGF0aWMgdm9pZAorc3Zh cmlhYmxlRGVzdHJveVJlY2VpdmVyKERlc3RSZWNlaXZlciAqc2VsZikKK3sKKwlwZnJlZSgoKFNW YXJpYWJsZVN0YXRlICopIHNlbGYpLT52YXJuYW1lKTsKKwlwZnJlZShzZWxmKTsKK30KKworLyoK KyAqIEluaXRpYWxseSBjcmVhdGUgYSBEZXN0UmVjZWl2ZXIgb2JqZWN0LgorICovCitEZXN0UmVj ZWl2ZXIgKgorQ3JlYXRlVmFyaWFibGVEZXN0UmVjZWl2ZXIoY2hhciAqdmFybmFtZSkKK3sKKwlT VmFyaWFibGVTdGF0ZSAqc2VsZiA9IChTVmFyaWFibGVTdGF0ZSAqKSBwYWxsb2MwKHNpemVvZihT VmFyaWFibGVTdGF0ZSkpOworCisJc2VsZi0+cHViLnJlY2VpdmVTbG90ID0gc3ZhcmlhYmxlUmVj ZWl2ZVNsb3Q7CisJc2VsZi0+cHViLnJTdGFydHVwID0gc3ZhcmlhYmxlU3RhcnR1cFJlY2VpdmVy OworCXNlbGYtPnB1Yi5yU2h1dGRvd24gPSBzdmFyaWFibGVTaHV0ZG93blJlY2VpdmVyOworCXNl bGYtPnB1Yi5yRGVzdHJveSA9IHN2YXJpYWJsZURlc3Ryb3lSZWNlaXZlcjsKKwlzZWxmLT5wdWIu bXlkZXN0ID0gRGVzdFZhcmlhYmxlOworCisJc2VsZi0+dmFybmFtZSA9IHBzdHJkdXAodmFybmFt ZSk7CisKKwlyZXR1cm4gKERlc3RSZWNlaXZlciAqKSBzZWxmOworfQpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvdGNvcC9kZXN0LmMgYi9zcmMvYmFja2VuZC90Y29wL2Rlc3QuYwppbmRleCBmYjE2 MzkzMGM4OS4uMTNmZTUzNmI0MzIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3Rjb3AvZGVzdC5j CisrKyBiL3NyYy9iYWNrZW5kL3Rjb3AvZGVzdC5jCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVk ZSAiZXhlY3V0b3IvZnVuY3Rpb25zLmgiCiAjaW5jbHVkZSAiZXhlY3V0b3IvdHF1ZXVlLmgiCiAj aW5jbHVkZSAiZXhlY3V0b3IvdHN0b3JlUmVjZWl2ZXIuaCIKKyNpbmNsdWRlICJleGVjdXRvci9z dmFyaWFibGVSZWNlaXZlci5oIgogI2luY2x1ZGUgImxpYnBxL2xpYnBxLmgiCiAjaW5jbHVkZSAi bGlicHEvcHFmb3JtYXQuaCIKIApAQCAtMTU1LDYgKzE1Niw5IEBAIENyZWF0ZURlc3RSZWNlaXZl cihDb21tYW5kRGVzdCBkZXN0KQogCiAJCWNhc2UgRGVzdEV4cGxhaW5TZXJpYWxpemU6CiAJCQly ZXR1cm4gQ3JlYXRlRXhwbGFpblNlcmlhbGl6ZURlc3RSZWNlaXZlcihOVUxMKTsKKworCQljYXNl IERlc3RWYXJpYWJsZToKKwkJCXJldHVybiBDcmVhdGVWYXJpYWJsZURlc3RSZWNlaXZlcihOVUxM KTsKIAl9CiAKIAkvKiBzaG91bGQgbmV2ZXIgZ2V0IGhlcmUgKi8KQEAgLTE5Miw2ICsxOTYsNyBA QCBFbmRDb21tYW5kKGNvbnN0IFF1ZXJ5Q29tcGxldGlvbiAqcWMsIENvbW1hbmREZXN0IGRlc3Qs IGJvb2wgZm9yY2VfdW5kZWNvcmF0ZWRfbwogCQljYXNlIERlc3RUcmFuc2llbnRSZWw6CiAJCWNh c2UgRGVzdFR1cGxlUXVldWU6CiAJCWNhc2UgRGVzdEV4cGxhaW5TZXJpYWxpemU6CisJCWNhc2Ug RGVzdFZhcmlhYmxlOgogCQkJYnJlYWs7CiAJfQogfQpAQCAtMjM4LDYgKzI0Myw3IEBAIE51bGxD b21tYW5kKENvbW1hbmREZXN0IGRlc3QpCiAJCWNhc2UgRGVzdFRyYW5zaWVudFJlbDoKIAkJY2Fz ZSBEZXN0VHVwbGVRdWV1ZToKIAkJY2FzZSBEZXN0RXhwbGFpblNlcmlhbGl6ZToKKwkJY2FzZSBE ZXN0VmFyaWFibGU6CiAJCQlicmVhazsKIAl9CiB9CkBAIC0yODIsNiArMjg4LDcgQEAgUmVhZHlG b3JRdWVyeShDb21tYW5kRGVzdCBkZXN0KQogCQljYXNlIERlc3RUcmFuc2llbnRSZWw6CiAJCWNh c2UgRGVzdFR1cGxlUXVldWU6CiAJCWNhc2UgRGVzdEV4cGxhaW5TZXJpYWxpemU6CisJCWNhc2Ug RGVzdFZhcmlhYmxlOgogCQkJYnJlYWs7CiAJfQogfQpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUv Y29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lv bl92YXJpYWJsZS5oCmluZGV4IDM2ODc0OTBiY2IxLi42MTBiNzU3ODk5ZSAxMDA2NDQKLS0tIGEv c3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oCisrKyBiL3NyYy9pbmNsdWRl L2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuaApAQCAtMjMsNiArMjMsOSBAQCBleHRlcm4gdm9p ZCBDcmVhdGVWYXJpYWJsZShQYXJzZVN0YXRlICpwc3RhdGUsIENyZWF0ZVNlc3Npb25WYXJTdG10 ICpzdG10KTsKIGV4dGVybiB2b2lkIERyb3BWYXJpYWJsZUJ5TmFtZShjaGFyICp2YXJuYW1lKTsK IAogZXh0ZXJuIERhdHVtIEdldFNlc3Npb25WYXJpYWJsZVdpdGhUeXBlY2hlY2soY2hhciAqdmFy bmFtZSwgT2lkIHR5cGlkLCBpbnQzMiB0eXBtb2QsIGJvb2wgKmlzbnVsbCk7CitleHRlcm4gdm9p ZCBTZXRTZXNzaW9uVmFyaWFibGVXaXRoVHlwZWNoZWNrKGNoYXIgKnZhcm5hbWUsCisJCQkJCQkJ CQkJCU9pZCB0eXBpZCwgaW50MzIgdHlwbW9kLAorCQkJCQkJCQkJCQlEYXR1bSB2YWx1ZSwgYm9v bCBpc251bGwpOwogCiBleHRlcm4gdm9pZCBnZXRfc2Vzc2lvbl92YXJpYWJsZV90eXBlX3R5cG1v ZF9jb2xsaWQoY2hhciAqdmFybmFtZSwKIAkJCQkJCQkJCQkJCQlPaWQgKnR5cGlkLApkaWZmIC0t Z2l0IGEvc3JjL2luY2x1ZGUvZXhlY3V0b3Ivc3ZhcmlhYmxlUmVjZWl2ZXIuaCBiL3NyYy9pbmNs dWRlL2V4ZWN1dG9yL3N2YXJpYWJsZVJlY2VpdmVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwMDAuLmRkMDFjOTNjOWU4Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL2luY2x1 ZGUvZXhlY3V0b3Ivc3ZhcmlhYmxlUmVjZWl2ZXIuaApAQCAtMCwwICsxLDIyIEBACisvKi0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KKyAqCisgKiBzdmFyaWFibGVSZWNlaXZlci5oCisgKgkgIHByb3RvdHlwZXMg Zm9yIHN2YXJpYWJsZVJlY2VpdmVyLmMKKyAqCisgKgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChj KSAxOTk2LTIwMjQsIFBvc3RncmVTUUwgR2xvYmFsIERldmVsb3BtZW50IEdyb3VwCisgKiBQb3J0 aW9ucyBDb3B5cmlnaHQgKGMpIDE5OTQsIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2Fs aWZvcm5pYQorICoKKyAqIHNyYy9pbmNsdWRlL2V4ZWN1dG9yL3N2YXJpYWJsZVJlY2VpdmVyLmgK KyAqCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqLworCisjaWZuZGVmIFNWQVJJQUJMRV9SRUNFSVZF Ul9ICisjZGVmaW5lIFNWQVJJQUJMRV9SRUNFSVZFUl9ICisKKyNpbmNsdWRlICJ0Y29wL2Rlc3Qu aCIKKworZXh0ZXJuIERlc3RSZWNlaXZlciAqQ3JlYXRlVmFyaWFibGVEZXN0UmVjZWl2ZXIoY2hh ciAqdmFybmFtZSk7CisKKyNlbmRpZgkJCQkJCQkvKiBTVkFSSUFCTEVfUkVDRUlWRVJfSCAqLwpk aWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvdGNvcC9kZXN0LmggYi9zcmMvaW5jbHVkZS90Y29wL2Rl c3QuaAppbmRleCA0ZTRmNTMyZDhjYy4uMWU3MDQzZGM3ZjcgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNs dWRlL3Rjb3AvZGVzdC5oCisrKyBiL3NyYy9pbmNsdWRlL3Rjb3AvZGVzdC5oCkBAIC05Nyw2ICs5 Nyw3IEBAIHR5cGVkZWYgZW51bQogCURlc3RUcmFuc2llbnRSZWwsCQkJLyogcmVzdWx0cyBzZW50 IHRvIHRyYW5zaWVudCByZWxhdGlvbiAqLwogCURlc3RUdXBsZVF1ZXVlLAkJCQkvKiByZXN1bHRz IHNlbnQgdG8gdHVwbGUgcXVldWUgKi8KIAlEZXN0RXhwbGFpblNlcmlhbGl6ZSwJCS8qIHJlc3Vs dHMgYXJlIHNlcmlhbGl6ZWQgYW5kIGRpc2NhcmRlZCAqLworCURlc3RWYXJpYWJsZSwJCQkJLyog cmVzdWx0cyBzZW50IHRvIHNlc3Npb24gdmFyaWFibGUgKi8KIH0gQ29tbWFuZERlc3Q7CiAKIC8q IC0tLS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVm cy5saXN0IGIvc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QKaW5kZXggMDg4NjI3MDBh NWYuLjE4NGI3OTBkZTk3IDEwMDY0NAotLS0gYS9zcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMu bGlzdAorKysgYi9zcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdApAQCAtMjcwMyw2ICsy NzAzLDcgQEAgU1RSTEVOCiBTVgogU1ZhcmlhYmxlRGF0YQogU1ZhcmlhYmxlCitTVmFyaWFibGVT dGF0ZQogU1lOQ0hST05JWkFUSU9OX0JBUlJJRVIKIFNZU1RFTV9JTkZPCiBTYW1wbGVTY2FuCi0t IAoyLjUzLjAKCg== --000000000000f2b535064c467044 Content-Type: text/x-patch; charset="US-ASCII"; name="v20260305-0004-fill-an-auxiliary-buffer-with-values-of-session-vari.patch" Content-Disposition: attachment; filename="v20260305-0004-fill-an-auxiliary-buffer-with-values-of-session-vari.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmdgvcpb7 RnJvbSBlY2Y1YTczMWFhMTk3NjFlMTFlNmM0MmUxMjI1NjM1NTBiYzM5MGQzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPHBhdmVsLnN0ZWh1bGVAZ21h aWwuY29tPgpEYXRlOiBTYXQsIDIyIE5vdiAyMDI1IDA2OjQwOjQ2ICswMTAwClN1YmplY3Q6IFtQ QVRDSCAwNC8xMV0gZmlsbCBhbiBhdXhpbGlhcnkgYnVmZmVyIHdpdGggdmFsdWVzIG9mIHNlc3Np b24gCiB2YXJpYWJsZXMgdXNlZCBpbiBxdWVyeQoKYW5kIGxvY2tzIHZhcmlhYmxlcyB1c2VkIGlu IHF1ZXJ5LiBOb3cgd2UgY2FuIHJlYWQgdGhlIGNvbnRlbnQgb2YgYW55CnNlc3Npb24gdmFyaWFi bGUuIERpcmVjdCByZWFkaW5nIGZyb20gZXhwcmVzc2lvbiBleGVjdXRvciBpcyBub3QgYWxsb3dl ZCwKc28gd2UgY2Fubm90IHRvIHVzZSBzZXNzaW9uIHZhcmlhYmxlcyBpbnNpZGUgQ0FMTCBvciBF WEVDVVRFIGNvbW1hbmRzCihjYW4gYmUgc3VwcG9ydGVkIHdpdGggZGlyZWN0IGFjY2VzcyB0byBz ZXNzaW9uIHZhcmlhYmxlcyAoZnJvbSBleHByZXNzaW9uCmV4ZWN1dG9yKSAtIHBvc3Rwb25lZCku CgpVc2luZyBzZXNzaW9uIHZhcmlhYmxlcyBibG9ja3MgcGFyYWxsZWwgcXVlcnkgZXhlY3V0aW9u LiBJdCBpcyBub3QKdGVjaG5pY2FsIHByb2JsZW0gKGl0IGp1c3QgbmVlZHMgYSBzZXJpYWxpemF0 aW9uL2Rlc2VyaWFsaXphdGlvbiBvZgplc19zZXNzaW9uX3ZhcmlibGVzIGJ1ZmZlciksIGJ1dCBp dCBpbmNyZWFzZXMgYSBzaXplIG9mIHBhdGNoIChhbmQgdGhlbgppdCBpcyBwb3N0cG9uZWQpLgot LS0KIHNyYy9iYWNrZW5kL2V4ZWN1dG9yL2V4ZWNFeHByLmMgICAgICAgICAgICAgICB8ICAyOSAr KysrCiBzcmMvYmFja2VuZC9leGVjdXRvci9leGVjTWFpbi5jICAgICAgICAgICAgICAgfCAgNDkg KysrKysrKwogc3JjL2luY2x1ZGUvbm9kZXMvZXhlY25vZGVzLmggICAgICAgICAgICAgICAgIHwg IDE0ICsrCiAuLi4vZXhwZWN0ZWQvc2Vzc2lvbl92YXJpYWJsZXNfZG1sLm91dCAgICAgICAgfCAx MzUgKysrKysrKysrKysrKysrKysrCiBzcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxl ICAgICAgICAgICAgfCAgIDUgKwogLi4uL3JlZ3Jlc3Mvc3FsL3Nlc3Npb25fdmFyaWFibGVzX2Rt bC5zcWwgICAgIHwgMTIwICsrKysrKysrKysrKysrKysKIHNyYy90b29scy9wZ2luZGVudC90eXBl ZGVmcy5saXN0ICAgICAgICAgICAgICB8ICAgMSArCiA3IGZpbGVzIGNoYW5nZWQsIDM1MyBpbnNl cnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9z ZXNzaW9uX3ZhcmlhYmxlc19kbWwub3V0CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3QvcmVn cmVzcy9zcWwvc2Vzc2lvbl92YXJpYWJsZXNfZG1sLnNxbAoKZGlmZiAtLWdpdCBhL3NyYy9iYWNr ZW5kL2V4ZWN1dG9yL2V4ZWNFeHByLmMgYi9zcmMvYmFja2VuZC9leGVjdXRvci9leGVjRXhwci5j CmluZGV4IDA4OGVjYTI0MDIxLi5lNzIyYzcyMzY0OSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv ZXhlY3V0b3IvZXhlY0V4cHIuYworKysgYi9zcmMvYmFja2VuZC9leGVjdXRvci9leGVjRXhwci5j CkBAIC0xMDY5LDYgKzEwNjksMzUgQEAgRXhlY0luaXRFeHByUmVjKEV4cHIgKm5vZGUsIEV4cHJT dGF0ZSAqc3RhdGUsCiAJCQkJCQkJRXhwckV2YWxQdXNoU3RlcChzdGF0ZSwgJnNjcmF0Y2gpOwog CQkJCQkJfQogCQkJCQkJYnJlYWs7CisJCQkJCWNhc2UgUEFSQU1fVkFSSUFCTEU6CisJCQkJCQl7 CisJCQkJCQkJaW50CQkJZXNfbnVtX3Nlc3Npb25fdmFyaWFibGVzID0gMDsKKwkJCQkJCQlTZXNz aW9uVmFyaWFibGVWYWx1ZSAqZXNfc2Vzc2lvbl92YXJpYWJsZXMgPSBOVUxMOworCQkJCQkJCVNl c3Npb25WYXJpYWJsZVZhbHVlICp2YXI7CisKKwkJCQkJCQlpZiAoc3RhdGUtPnBhcmVudCAmJiBz dGF0ZS0+cGFyZW50LT5zdGF0ZSkKKwkJCQkJCQl7CisJCQkJCQkJCWVzX3Nlc3Npb25fdmFyaWFi bGVzID0gc3RhdGUtPnBhcmVudC0+c3RhdGUtPmVzX3Nlc3Npb25fdmFyaWFibGVzOworCQkJCQkJ CQllc19udW1fc2Vzc2lvbl92YXJpYWJsZXMgPSBzdGF0ZS0+cGFyZW50LT5zdGF0ZS0+ZXNfbnVt X3Nlc3Npb25fdmFyaWFibGVzOworCQkJCQkJCX0KKworCQkJCQkJCUFzc2VydChlc19zZXNzaW9u X3ZhcmlhYmxlcyk7CisKKwkJCQkJCQkvKiBwYXJhbWV0ZXIgc2FuaXR5IGNoZWNrcyAqLworCQkJ CQkJCWlmIChwYXJhbS0+cGFyYW1pZCA+PSBlc19udW1fc2Vzc2lvbl92YXJpYWJsZXMpCisJCQkJ CQkJCWVsb2coRVJST1IsICJwYXJhbWlkIG9mIFBBUkFNX1ZBUklBQkxFIHBhcmFtIGlzIG91dCBv ZiByYW5nZSIpOworCisJCQkJCQkJdmFyID0gJmVzX3Nlc3Npb25fdmFyaWFibGVzW3BhcmFtLT5w YXJhbWlkXTsKKworCQkJCQkJCS8qCisJCQkJCQkJICogSW4gdGhpcyBjYXNlLCBwYXNzIHRoZSB2 YWx1ZSBsaWtlIGEgY29uc3RhbnQuCisJCQkJCQkJICovCisJCQkJCQkJc2NyYXRjaC5vcGNvZGUg PSBFRU9QX0NPTlNUOworCQkJCQkJCXNjcmF0Y2guZC5jb25zdHZhbC52YWx1ZSA9IHZhci0+dmFs dWU7CisJCQkJCQkJc2NyYXRjaC5kLmNvbnN0dmFsLmlzbnVsbCA9IHZhci0+aXNudWxsOworCQkJ CQkJCUV4cHJFdmFsUHVzaFN0ZXAoc3RhdGUsICZzY3JhdGNoKTsKKwkJCQkJCX0KKwkJCQkJCWJy ZWFrOwogCQkJCQlkZWZhdWx0OgogCQkJCQkJZWxvZyhFUlJPUiwgInVucmVjb2duaXplZCBwYXJh bWtpbmQ6ICVkIiwKIAkJCQkJCQkgKGludCkgcGFyYW0tPnBhcmFta2luZCk7CmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC9leGVjdXRvci9leGVjTWFpbi5jIGIvc3JjL2JhY2tlbmQvZXhlY3V0b3Iv ZXhlY01haW4uYwppbmRleCBiZmQzZWJjNjAxZS4uYTgwYmUxMzg4YmEgMTAwNjQ0Ci0tLSBhL3Ny Yy9iYWNrZW5kL2V4ZWN1dG9yL2V4ZWNNYWluLmMKKysrIGIvc3JjL2JhY2tlbmQvZXhlY3V0b3Iv ZXhlY01haW4uYwpAQCAtNDQsNiArNDQsNyBAQAogI2luY2x1ZGUgImNhdGFsb2cvbmFtZXNwYWNl LmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wYXJ0aXRpb24uaCIKICNpbmNsdWRlICJjb21tYW5kcy9t YXR2aWV3LmgiCisjaW5jbHVkZSAiY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oIgogI2luY2x1 ZGUgImNvbW1hbmRzL3RyaWdnZXIuaCIKICNpbmNsdWRlICJleGVjdXRvci9leGVjdXRvci5oIgog I2luY2x1ZGUgImV4ZWN1dG9yL2V4ZWNQYXJ0aXRpb24uaCIKQEAgLTE5Niw2ICsxOTcsNTQgQEAg c3RhbmRhcmRfRXhlY3V0b3JTdGFydChRdWVyeURlc2MgKnF1ZXJ5RGVzYywgaW50IGVmbGFncykK IAlBc3NlcnQocXVlcnlEZXNjLT5zb3VyY2VUZXh0ICE9IE5VTEwpOwogCWVzdGF0ZS0+ZXNfc291 cmNlVGV4dCA9IHF1ZXJ5RGVzYy0+c291cmNlVGV4dDsKIAorCS8qCisJICogVGhlIGV4ZWN1dG9y IGRvZXNuJ3Qgd29yayB3aXRoIHNlc3Npb24gdmFyaWFibGVzIGRpcmVjdGx5LiBWYWx1ZXMgb2YK KwkgKiByZWxhdGVkIHNlc3Npb24gdmFyaWFibGVzIGFyZSBjb3BpZWQgdG8gYSBkZWRpY2F0ZWQg YXJyYXksIGFuZCB0aGlzCisJICogYXJyYXkgaXMgcGFzc2VkIHRvIHRoZSBleGVjdXRvci4gVGhp cyBhcnJheSBpcyBzdGFibGUgInNuYXBzaG90IiBvZgorCSAqIHZhbHVlcyBvZiB1c2VkIHNlc3Np b24gdmFyaWFibGVzLiBUaGVyZSBhcmUgdGhyZWUgYmVuZWZpdHMgb2YgdGhpcworCSAqIHN0cmF0 ZWd5OgorCSAqCisJICogLSBjb25zaXN0ZW5jeSB3aXRoIGV4dGVybmFsIHBhcmFtZXRlcnMgYW5k IHBscGdzcWwgdmFyaWFibGVzLAorCSAqCisJICogLSBzZXNzaW9uIHZhcmlhYmxlcyBjYW4gYmUg cGFyYWxsZWwgc2FmZSwKKwkgKgorCSAqIC0gd2UgZG9uJ3QgbmVlZCBtYWtlIGZyZXNoIGNvcHkg Zm9yIGFueSByZWFkIG9mIHNlc3Npb24gdmFyaWFibGUgKHRoaXMKKwkgKiBpcyBuZWNlc3Nhcnkg YmVjYXVzZSB0aGUgaW50ZXJuYWxseSB0aGUgc2Vzc2lvbiB2YXJpYWJsZSBjYW4gYmUgY2hhbmdl ZAorCSAqIGluc2lkZSBxdWVyeSBleGVjdXRpb24gdGltZSwgYW5kIHRoZW4gYSByZWZlcmVuY2Ug dG8gcHJldmlvdXNseQorCSAqIHJldHVybmVkIHZhbHVlIGNhbiBiZSBjb3JydXB0ZWQpLgorCSAq LworCWlmIChxdWVyeURlc2MtPnBsYW5uZWRzdG10LT5zZXNzaW9uVmFyaWFibGVzKQorCXsKKwkJ aW50CQkJblNlc3Npb25WYXJpYWJsZXM7CisJCWludAkJCWkgPSAwOworCisJCS8qCisJCSAqIElu IHRoaXMgY2FzZSwgdGhlIHF1ZXJ5IHVzZXMgc2Vzc2lvbiB2YXJpYWJsZXMsIGJ1dCB3ZSBoYXZl IHRvCisJCSAqIHByZXBhcmUgdGhlIGFycmF5IHdpdGggcGFzc2VkIHZhbHVlcyAob2YgdXNlZCBz ZXNzaW9uIHZhcmlhYmxlcykKKwkJICogZmlyc3QuCisJCSAqLworCQlBc3NlcnQoIUlzUGFyYWxs ZWxXb3JrZXIoKSk7CisJCW5TZXNzaW9uVmFyaWFibGVzID0gbGlzdF9sZW5ndGgocXVlcnlEZXNj LT5wbGFubmVkc3RtdC0+c2Vzc2lvblZhcmlhYmxlcyk7CisKKwkJLyogY3JlYXRlIHRoZSBhcnJh eSB1c2VkIGZvciBwYXNzaW5nIHZhbHVlcyBvZiB1c2VkIHNlc3Npb24gdmFyaWFibGVzICovCisJ CWVzdGF0ZS0+ZXNfc2Vzc2lvbl92YXJpYWJsZXMgPSBwYWxsb2NfYXJyYXkoU2Vzc2lvblZhcmlh YmxlVmFsdWUsCisJCQkJCQkJCQkJCQkJblNlc3Npb25WYXJpYWJsZXMpOworCisJCS8qIGZpbGwg dGhlIGFycmF5ICovCisJCWZvcmVhY2hfbm9kZShQYXJhbSwgcGFyYW0sIHF1ZXJ5RGVzYy0+cGxh bm5lZHN0bXQtPnNlc3Npb25WYXJpYWJsZXMpCisJCXsKKwkJCWVzdGF0ZS0+ZXNfc2Vzc2lvbl92 YXJpYWJsZXNbaV0udmFsdWUgPQorCQkJCUdldFNlc3Npb25WYXJpYWJsZVdpdGhUeXBlY2hlY2so cGFyYW0tPnBhcmFtdmFybmFtZSwKKwkJCQkJCQkJCQkJCXBhcmFtLT5wYXJhbXR5cGUsCisJCQkJ CQkJCQkJCQlwYXJhbS0+cGFyYW10eXBtb2QsCisJCQkJCQkJCQkJCQkmZXN0YXRlLT5lc19zZXNz aW9uX3ZhcmlhYmxlc1tpXS5pc251bGwpOworCisJCQlpKys7CisJCX0KKworCQllc3RhdGUtPmVz X251bV9zZXNzaW9uX3ZhcmlhYmxlcyA9IG5TZXNzaW9uVmFyaWFibGVzOworCX0KKwogCS8qCiAJ ICogRmlsbCBpbiB0aGUgcXVlcnkgZW52aXJvbm1lbnQsIGlmIGFueSwgZnJvbSBxdWVyeURlc2Mu CiAJICovCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9ub2Rlcy9leGVjbm9kZXMuaCBiL3NyYy9p bmNsdWRlL25vZGVzL2V4ZWNub2Rlcy5oCmluZGV4IDYzYzA2N2Q1YWFlLi5iM2FmNjAzMmM5MiAx MDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvbm9kZXMvZXhlY25vZGVzLmgKKysrIGIvc3JjL2luY2x1 ZGUvbm9kZXMvZXhlY25vZGVzLmgKQEAgLTY0OCw2ICs2NDgsMTYgQEAgdHlwZWRlZiBzdHJ1Y3Qg QXN5bmNSZXF1ZXN0CiAJCQkJCQkJCSAqIHR1cGxlcykgKi8KIH0gQXN5bmNSZXF1ZXN0OwogCisv KiAtLS0tLS0tLS0tLS0tLS0tCisgKiBTZXNzaW9uVmFyaWFibGVWYWx1ZQorICogLS0tLS0tLS0t LS0tLS0tLQorICovCit0eXBlZGVmIHN0cnVjdCBTZXNzaW9uVmFyaWFibGVWYWx1ZQoreworCWJv b2wJCWlzbnVsbDsKKwlEYXR1bQkJdmFsdWU7Cit9IFNlc3Npb25WYXJpYWJsZVZhbHVlOworCiAv KiAtLS0tLS0tLS0tLS0tLS0tCiAgKgkgIEVTdGF0ZSBpbmZvcm1hdGlvbgogICoKQEAgLTcwNyw2 ICs3MTcsMTAgQEAgdHlwZWRlZiBzdHJ1Y3QgRVN0YXRlCiAJUGFyYW1MaXN0SW5mbyBlc19wYXJh bV9saXN0X2luZm87CS8qIHZhbHVlcyBvZiBleHRlcm5hbCBwYXJhbXMgKi8KIAlQYXJhbUV4ZWNE YXRhICplc19wYXJhbV9leGVjX3ZhbHM7CS8qIHZhbHVlcyBvZiBpbnRlcm5hbCBwYXJhbXMgKi8K IAorCS8qIFNlc3Npb24gdmFyaWFibGVzIGluZm86ICovCisJaW50CQkJZXNfbnVtX3Nlc3Npb25f dmFyaWFibGVzOwkvKiBudW1iZXIgb2YgdXNlZCB2YXJpYWJsZXMgKi8KKwlTZXNzaW9uVmFyaWFi bGVWYWx1ZSAqZXNfc2Vzc2lvbl92YXJpYWJsZXM7IC8qIGFycmF5IG9mIGNvcGllcyBvZiB2YWx1 ZXMgKi8KKwogCVF1ZXJ5RW52aXJvbm1lbnQgKmVzX3F1ZXJ5RW52OwkvKiBxdWVyeSBlbnZpcm9u bWVudCAqLwogCiAJLyogT3RoZXIgd29ya2luZyBzdGF0ZTogKi8KZGlmZiAtLWdpdCBhL3NyYy90 ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc2Vzc2lvbl92YXJpYWJsZXNfZG1sLm91dCBiL3NyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQvc2Vzc2lvbl92YXJpYWJsZXNfZG1sLm91dApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMTUxOWJmNzIzZTAKLS0tIC9kZXYvbnVsbAorKysg Yi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Nlc3Npb25fdmFyaWFibGVzX2RtbC5vdXQKQEAg LTAsMCArMSwxMzUgQEAKK0NSRUFURSBURU1QIFZBUklBQkxFIHRlbXBfdmFyMDEgQVMgaW50Owor LS0gc2hvdWxkIG5vdCBiZSBhY2Nlc3NpYmxlIHdpdGhvdXQgdmFyaWFibGUncyBmZW5jZQorLS0g c2hvdWxkIGZhaWwKK1NFTEVDVCB0ZW1wX3ZhcjAxOworRVJST1I6ICBjb2x1bW4gInRlbXBfdmFy MDEiIGRvZXMgbm90IGV4aXN0CitMSU5FIDE6IFNFTEVDVCB0ZW1wX3ZhcjAxOworICAgICAgICAg ICAgICAgXgorLS0gc2hvdWxkIGJlIG9rCitTRUxFQ1QgVkFSSUFCTEUodGVtcF92YXIwMSk7Cisg dGVtcF92YXIwMSAKKy0tLS0tLS0tLS0tLQorICAgICAgICAgICAKKygxIHJvdykKKworLS0gc2hv dWxkIG5vdCBjcmFzaAorRE8gJCQKK0JFR0lOCisgIFJBSVNFIE5PVElDRSAnJScsIFZBUklBQkxF KHRlbXBfdmFyMDEpOworRU5EOworJCQ7CitOT1RJQ0U6ICA8TlVMTD4KKy0tIHZhcmlhYmxlcyBj YW5ub3QgYmUgdXNlZCBieSBwZXJzaXN0ZW50IG9iamVjdHMKKy0tIHRoYXQgY2hlY2tzIGRlcGVu ZGVuY3kKKy0tIHNob3VsZCBmYWlsCitDUkVBVEUgVEVNUCBWSUVXIHRlbXB2IEFTIFNFTEVDVCBW QVJJQUJMRSh0ZW1wX3ZhcjAxKTsKK0VSUk9SOiAgc2Vzc2lvbiB2YXJpYWJsZSAidGVtcF92YXIw MSIgY2Fubm90IGJlIHJlZmVyZW5jZWQgaW4gYSBjYXRhbG9nIG9iamVjdAorQ1JFQVRFIE9SIFJF UExBQ0UgRlVOQ1RJT04gdGVzdHZhcl9zcWwoKQorUkVUVVJOUyBpbnQgQVMgJCQKK1NFTEVDVCBW QVJJQUJMRSh0ZW1wX3ZhcjAxKTsKKyQkIExBTkdVQUdFIHNxbDsKK1NFTEVDVCB0ZXN0dmFyX3Nx bCgpOworIHRlc3R2YXJfc3FsIAorLS0tLS0tLS0tLS0tLQorICAgICAgICAgICAgCisoMSByb3cp CisKKy0tIHNlc3Npb24gdmFyaWFibGUgY2Fubm90IGJlIHVzZWQgYXMgcGFyYW1ldGVyIG9mIENB TEwgb3IgRVhFQ1VURQorQ1JFQVRFIE9SIFJFUExBQ0UgUFJPQ0VEVVJFIHRlc3R2YXJfcHJvYyhp bnQpCitBUyAkJAorQkVHSU4KKyAgUkFJU0UgTk9USUNFICclJywgJDE7CitFTkQ7CiskJCBMQU5H VUFHRSBwbHBnc3FsOworLS0gc2hvdWxkIG5vdCBjcmFzaAorQ0FMTCB0ZXN0dmFyX3Byb2MoVkFS SUFCTEUodGVtcF92YXIwMSkpOworRVJST1I6ICBzZXNzaW9uIHZhcmlhYmxlIHJlZmVyZW5jZSBp cyBub3Qgc3VwcG9ydGVkIGhlcmUKK0xJTkUgMTogQ0FMTCB0ZXN0dmFyX3Byb2MoVkFSSUFCTEUo dGVtcF92YXIwMSkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCitQUkVQ QVJFIHByZXBzdG10KGludCkgQVMgU0VMRUNUICQxOworLS0gc2hvdWxkIG5vdCBjcmFzaAorRVhF Q1VURSBwcmVwc3RtdChWQVJJQUJMRSh0ZW1wX3ZhcjAxKSk7CitFUlJPUjogIHNlc3Npb24gdmFy aWFibGUgcmVmZXJlbmNlIGlzIG5vdCBzdXBwb3J0ZWQgaGVyZQorTElORSAxOiBFWEVDVVRFIHBy ZXBzdG10KFZBUklBQkxFKHRlbXBfdmFyMDEpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeCitEUk9QIFBST0NFRFVSRSB0ZXN0dmFyX3Byb2M7CitERUFMTE9DQVRFIHByZXBz dG10OworQ1JFQVRFIFJPTEUgcmVncmVzc19zZXNzaW9uX3ZhcmlhYmxlX3Rlc3Rfcm9sZV8wMzsK K0NSRUFURSBPUiBSRVBMQUNFIEZVTkNUSU9OIHRlc3R2YXJfc2QoKQorUkVUVVJOUyB2b2lkIEFT ICQkCitCRUdJTgorICBSQUlTRSBOT1RJQ0UgJyUnLCBWQVJJQUJMRSh0ZW1wX3ZhcjAxKTsKK0VO RDsKKyQkIExBTkdVQUdFIHBscGdzcWw7CistLSBvbmx5IG93bmVyIGNhbiByZWFkIGRhdGEKK1NF VCBST0xFIFRPIHJlZ3Jlc3Nfc2Vzc2lvbl92YXJpYWJsZV90ZXN0X3JvbGVfMDM7CistLSBzaG91 bGQgZmFpbAorU0VMRUNUIFZBUklBQkxFKHRlbXBfdmFyMDEpOworRVJST1I6ICBwZXJtaXNzaW9u IGRlbmllZCBmb3Igc2Vzc2lvbiB2YXJpYWJsZSB0ZW1wX3ZhcjAxCistLSBmeCB3aXRoIHNlY3Vy aXR5IGRlZmluZXIgc2hvdWxkIGJlIG9rCitTRUxFQ1QgdGVzdHZhcl9zZCgpOworRVJST1I6ICBw ZXJtaXNzaW9uIGRlbmllZCBmb3Igc2Vzc2lvbiB2YXJpYWJsZSB0ZW1wX3ZhcjAxCitDT05URVhU OiAgUEwvcGdTUUwgZXhwcmVzc2lvbiAiVkFSSUFCTEUodGVtcF92YXIwMSkiCitQTC9wZ1NRTCBm dW5jdGlvbiB0ZXN0dmFyX3NkKCkgbGluZSAzIGF0IFJBSVNFCitTRVQgUk9MRSBUTyBkZWZhdWx0 OworRFJPUCBWQVJJQUJMRSB0ZW1wX3ZhcjAxOworLS0gdGhlcmUgaXMgbm90IHBsYW4gY2FjaGUg aW52YWxpZGF0aW9uCistLSBidXQgc3RpbGwgZnVuY3Rpb25zIHRoYXQgdXNlcyBkcm9wcGVkIHZh cmlhYmxlcworLS0gc2hvdWxkIG5vdCB0byBjcmFzaAorU0VMRUNUIHRlc3R2YXJfc2QoKTsKK0VS Uk9SOiAgc2Vzc2lvbiB2YXJpYWJsZSAidGVtcF92YXIwMSIgZG9lc24ndCBleGlzdAorQ09OVEVY VDogIFBML3BnU1FMIGV4cHJlc3Npb24gIlZBUklBQkxFKHRlbXBfdmFyMDEpIgorUEwvcGdTUUwg ZnVuY3Rpb24gdGVzdHZhcl9zZCgpIGxpbmUgMyBhdCBSQUlTRQorU0VMRUNUIHRlc3R2YXJfc3Fs KCk7CitFUlJPUjogIHNlc3Npb24gdmFyaWFibGUgInRlbXBfdmFyMDEiIGRvZXNuJ3QgZXhpc3QK K0NPTlRFWFQ6ICBTUUwgZnVuY3Rpb24gInRlc3R2YXJfc3FsIiBkdXJpbmcgaW5saW5pbmcKK0RS T1AgRlVOQ1RJT04gdGVzdHZhcl9zcWwoKTsKK0RST1AgRlVOQ1RJT04gdGVzdHZhcl9zZCgpOwor RFJPUCBST0xFIHJlZ3Jlc3Nfc2Vzc2lvbl92YXJpYWJsZV90ZXN0X3JvbGVfMDM7CitDUkVBVEUg VEFCTEUgdGVzdHZhcl90ZXN0dGFiKGEgaW50KTsKK0NSRUFURSBURU1QIFZBUklBQkxFIHRlbXBf dmFyMDIgQVMgaW50OworSU5TRVJUIElOVE8gdGVzdHZhcl90ZXN0dGFiIFNFTEVDVCAqIEZST00g Z2VuZXJhdGVfc2VyaWVzKDEsMTAwMCk7CitDUkVBVEUgSU5ERVggdGVzdHZhcl90ZXN0dGFiX2Eg T04gdGVzdHZhcl90ZXN0dGFiKGEpOworQU5BTFlaRSB0ZXN0dmFyX3Rlc3R0YWI7CistLSBmb3Jj ZSBpbmRleAorU0VUIGVuYWJsZV9zZXFzY2FuIFRPIE9GRjsKKy0tIGluZGV4IHNjYW4gc2hvdWxk IGJlIHVzZWQKK0VYUExBSU4gKENPU1RTIE9GRikgU0VMRUNUICogRlJPTSB0ZXN0dmFyX3Rlc3R0 YWIgV0hFUkUgYSA9IFZBUklBQkxFKHRlbXBfdmFyMDIpOworICAgICAgICAgICAgICAgICAgICAg ICAgIFFVRVJZIFBMQU4gICAgICAgICAgICAgICAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBJbmRleCBPbmx5 IFNjYW4gdXNpbmcgdGVzdHZhcl90ZXN0dGFiX2Egb24gdGVzdHZhcl90ZXN0dGFiCisgICBJbmRl eCBDb25kOiAoYSA9IFZBUklBQkxFKHRlbXBfdmFyMDIpKQorKDIgcm93cykKKworRFJPUCBJTkRF WCB0ZXN0dmFyX3Rlc3R0YWJfYTsKK1NFVCBlbmFibGVfc2Vxc2NhbiBUTyBERUZBVUxUOworLS0g cGFyYWxsZWwgZXhlY3V0aW9uIHNob3VsZCBiZSBibG9ja2VkCistLSBFbmNvdXJhZ2UgdXNlIG9m IHBhcmFsbGVsIHBsYW5zCitTRVQgcGFyYWxsZWxfc2V0dXBfY29zdCA9IDA7CitTRVQgcGFyYWxs ZWxfdHVwbGVfY29zdCA9IDA7CitTRVQgbWluX3BhcmFsbGVsX3RhYmxlX3NjYW5fc2l6ZSA9IDA7 CitTRVQgbWF4X3BhcmFsbGVsX3dvcmtlcnNfcGVyX2dhdGhlciA9IDI7CistLSBwYXJhbGxlbCBw bGFuIHNob3VsZCBiZSB1c2VkCitFWFBMQUlOIChDT1NUUyBPRkYpIFNFTEVDVCAqIEZST00gdGVz dHZhcl90ZXN0dGFiIFdIRVJFIGEgPSAxMDA7CisgICAgICAgICAgICAgICAgIFFVRVJZIFBMQU4g ICAgICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KKyBHYXRoZXIKKyAgIFdvcmtlcnMgUGxhbm5lZDogMgorICAgLT4gIFBhcmFsbGVsIFNl cSBTY2FuIG9uIHRlc3R2YXJfdGVzdHRhYgorICAgICAgICAgRmlsdGVyOiAoYSA9IDEwMCkKKyg0 IHJvd3MpCisKKy0tIHBhcmFsbGVsIHBsYW4gc2hvdWxkIG5vdCBiZSB1c2VkCitFWFBMQUlOIChD T1NUUyBPRkYpIFNFTEVDVCAqIEZST00gdGVzdHZhcl90ZXN0dGFiIFdIRVJFIGEgPSBWQVJJQUJM RSh0ZW1wX3ZhcjAyKTsKKyAgICAgICAgICAgICAgUVVFUlkgUExBTiAgICAgICAgICAgICAgCist LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIFNlcSBTY2FuIG9uIHRlc3R2 YXJfdGVzdHRhYgorICAgRmlsdGVyOiAoYSA9IFZBUklBQkxFKHRlbXBfdmFyMDIpKQorKDIgcm93 cykKKworUkVTRVQgcGFyYWxsZWxfc2V0dXBfY29zdDsKK1JFU0VUIHBhcmFsbGVsX3R1cGxlX2Nv c3Q7CitSRVNFVCBtaW5fcGFyYWxsZWxfdGFibGVfc2Nhbl9zaXplOworUkVTRVQgbWF4X3BhcmFs bGVsX3dvcmtlcnNfcGVyX2dhdGhlcjsKK0RST1AgVEFCTEUgdGVzdHZhcl90ZXN0dGFiOworRFJP UCBWQVJJQUJMRSB0ZW1wX3ZhcjAyOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9wYXJh bGxlbF9zY2hlZHVsZSBiL3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUKaW5kZXgg OGY5OTg4OTU0ZjkuLmY4ODlhYzI2YjA4IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3Bh cmFsbGVsX3NjaGVkdWxlCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUK QEAgLTE0MCwzICsxNDAsOCBAQCB0ZXN0OiBmYXN0X2RlZmF1bHQKICMgcnVuIHRhYmxlc3BhY2Ug dGVzdCBhdCB0aGUgZW5kIGJlY2F1c2UgaXQgZHJvcHMgdGhlIHRhYmxlc3BhY2UgY3JlYXRlZCBk dXJpbmcKICMgc2V0dXAgdGhhdCBvdGhlciB0ZXN0cyBtYXkgdXNlLgogdGVzdDogdGFibGVzcGFj ZQorCisjIC0tLS0tLS0tLS0KKyMgQW5vdGhlciBncm91cCBvZiBwYXJhbGxlbCB0ZXN0cyAoc2Vz c2lvbiB2YXJpYWJsZXMgcmVsYXRlZCkKKyMgLS0tLS0tLS0tLQordGVzdDogc2Vzc2lvbl92YXJp YWJsZXNfZGRsIHNlc3Npb25fdmFyaWFibGVzX2RtbApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVn cmVzcy9zcWwvc2Vzc2lvbl92YXJpYWJsZXNfZG1sLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3Fs L3Nlc3Npb25fdmFyaWFibGVzX2RtbC5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAuLmJmNTZiMTk0NjdiCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3QvcmVncmVz cy9zcWwvc2Vzc2lvbl92YXJpYWJsZXNfZG1sLnNxbApAQCAtMCwwICsxLDEyMCBAQAorQ1JFQVRF IFRFTVAgVkFSSUFCTEUgdGVtcF92YXIwMSBBUyBpbnQ7CisKKy0tIHNob3VsZCBub3QgYmUgYWNj ZXNzaWJsZSB3aXRob3V0IHZhcmlhYmxlJ3MgZmVuY2UKKy0tIHNob3VsZCBmYWlsCitTRUxFQ1Qg dGVtcF92YXIwMTsKKworLS0gc2hvdWxkIGJlIG9rCitTRUxFQ1QgVkFSSUFCTEUodGVtcF92YXIw MSk7CisKKy0tIHNob3VsZCBub3QgY3Jhc2gKK0RPICQkCitCRUdJTgorICBSQUlTRSBOT1RJQ0Ug JyUnLCBWQVJJQUJMRSh0ZW1wX3ZhcjAxKTsKK0VORDsKKyQkOworCistLSB2YXJpYWJsZXMgY2Fu bm90IGJlIHVzZWQgYnkgcGVyc2lzdGVudCBvYmplY3RzCistLSB0aGF0IGNoZWNrcyBkZXBlbmRl bmN5CistLSBzaG91bGQgZmFpbAorQ1JFQVRFIFRFTVAgVklFVyB0ZW1wdiBBUyBTRUxFQ1QgVkFS SUFCTEUodGVtcF92YXIwMSk7CisKK0NSRUFURSBPUiBSRVBMQUNFIEZVTkNUSU9OIHRlc3R2YXJf c3FsKCkKK1JFVFVSTlMgaW50IEFTICQkCitTRUxFQ1QgVkFSSUFCTEUodGVtcF92YXIwMSk7Cisk JCBMQU5HVUFHRSBzcWw7CisKK1NFTEVDVCB0ZXN0dmFyX3NxbCgpOworCistLSBzZXNzaW9uIHZh cmlhYmxlIGNhbm5vdCBiZSB1c2VkIGFzIHBhcmFtZXRlciBvZiBDQUxMIG9yIEVYRUNVVEUKK0NS RUFURSBPUiBSRVBMQUNFIFBST0NFRFVSRSB0ZXN0dmFyX3Byb2MoaW50KQorQVMgJCQKK0JFR0lO CisgIFJBSVNFIE5PVElDRSAnJScsICQxOworRU5EOworJCQgTEFOR1VBR0UgcGxwZ3NxbDsKKwor LS0gc2hvdWxkIG5vdCBjcmFzaAorQ0FMTCB0ZXN0dmFyX3Byb2MoVkFSSUFCTEUodGVtcF92YXIw MSkpOworCitQUkVQQVJFIHByZXBzdG10KGludCkgQVMgU0VMRUNUICQxOworCistLSBzaG91bGQg bm90IGNyYXNoCitFWEVDVVRFIHByZXBzdG10KFZBUklBQkxFKHRlbXBfdmFyMDEpKTsKKworRFJP UCBQUk9DRURVUkUgdGVzdHZhcl9wcm9jOworREVBTExPQ0FURSBwcmVwc3RtdDsKKworQ1JFQVRF IFJPTEUgcmVncmVzc19zZXNzaW9uX3ZhcmlhYmxlX3Rlc3Rfcm9sZV8wMzsKKworQ1JFQVRFIE9S IFJFUExBQ0UgRlVOQ1RJT04gdGVzdHZhcl9zZCgpCitSRVRVUk5TIHZvaWQgQVMgJCQKK0JFR0lO CisgIFJBSVNFIE5PVElDRSAnJScsIFZBUklBQkxFKHRlbXBfdmFyMDEpOworRU5EOworJCQgTEFO R1VBR0UgcGxwZ3NxbDsKKworLS0gb25seSBvd25lciBjYW4gcmVhZCBkYXRhCitTRVQgUk9MRSBU TyByZWdyZXNzX3Nlc3Npb25fdmFyaWFibGVfdGVzdF9yb2xlXzAzOworCistLSBzaG91bGQgZmFp bAorU0VMRUNUIFZBUklBQkxFKHRlbXBfdmFyMDEpOworCistLSBmeCB3aXRoIHNlY3VyaXR5IGRl ZmluZXIgc2hvdWxkIGJlIG9rCitTRUxFQ1QgdGVzdHZhcl9zZCgpOworCitTRVQgUk9MRSBUTyBk ZWZhdWx0OworCitEUk9QIFZBUklBQkxFIHRlbXBfdmFyMDE7CisKKy0tIHRoZXJlIGlzIG5vdCBw bGFuIGNhY2hlIGludmFsaWRhdGlvbgorLS0gYnV0IHN0aWxsIGZ1bmN0aW9ucyB0aGF0IHVzZXMg ZHJvcHBlZCB2YXJpYWJsZXMKKy0tIHNob3VsZCBub3QgdG8gY3Jhc2gKKworU0VMRUNUIHRlc3R2 YXJfc2QoKTsKK1NFTEVDVCB0ZXN0dmFyX3NxbCgpOworCitEUk9QIEZVTkNUSU9OIHRlc3R2YXJf c3FsKCk7CitEUk9QIEZVTkNUSU9OIHRlc3R2YXJfc2QoKTsKKworRFJPUCBST0xFIHJlZ3Jlc3Nf c2Vzc2lvbl92YXJpYWJsZV90ZXN0X3JvbGVfMDM7CisKK0NSRUFURSBUQUJMRSB0ZXN0dmFyX3Rl c3R0YWIoYSBpbnQpOworQ1JFQVRFIFRFTVAgVkFSSUFCTEUgdGVtcF92YXIwMiBBUyBpbnQ7CisK K0lOU0VSVCBJTlRPIHRlc3R2YXJfdGVzdHRhYiBTRUxFQ1QgKiBGUk9NIGdlbmVyYXRlX3Nlcmll cygxLDEwMDApOworCitDUkVBVEUgSU5ERVggdGVzdHZhcl90ZXN0dGFiX2EgT04gdGVzdHZhcl90 ZXN0dGFiKGEpOworCitBTkFMWVpFIHRlc3R2YXJfdGVzdHRhYjsKKworLS0gZm9yY2UgaW5kZXgK K1NFVCBlbmFibGVfc2Vxc2NhbiBUTyBPRkY7CisKKy0tIGluZGV4IHNjYW4gc2hvdWxkIGJlIHVz ZWQKK0VYUExBSU4gKENPU1RTIE9GRikgU0VMRUNUICogRlJPTSB0ZXN0dmFyX3Rlc3R0YWIgV0hF UkUgYSA9IFZBUklBQkxFKHRlbXBfdmFyMDIpOworCitEUk9QIElOREVYIHRlc3R2YXJfdGVzdHRh Yl9hOworCitTRVQgZW5hYmxlX3NlcXNjYW4gVE8gREVGQVVMVDsKKworLS0gcGFyYWxsZWwgZXhl Y3V0aW9uIHNob3VsZCBiZSBibG9ja2VkCistLSBFbmNvdXJhZ2UgdXNlIG9mIHBhcmFsbGVsIHBs YW5zCitTRVQgcGFyYWxsZWxfc2V0dXBfY29zdCA9IDA7CitTRVQgcGFyYWxsZWxfdHVwbGVfY29z dCA9IDA7CitTRVQgbWluX3BhcmFsbGVsX3RhYmxlX3NjYW5fc2l6ZSA9IDA7CitTRVQgbWF4X3Bh cmFsbGVsX3dvcmtlcnNfcGVyX2dhdGhlciA9IDI7CisKKy0tIHBhcmFsbGVsIHBsYW4gc2hvdWxk IGJlIHVzZWQKK0VYUExBSU4gKENPU1RTIE9GRikgU0VMRUNUICogRlJPTSB0ZXN0dmFyX3Rlc3R0 YWIgV0hFUkUgYSA9IDEwMDsKKworLS0gcGFyYWxsZWwgcGxhbiBzaG91bGQgbm90IGJlIHVzZWQK K0VYUExBSU4gKENPU1RTIE9GRikgU0VMRUNUICogRlJPTSB0ZXN0dmFyX3Rlc3R0YWIgV0hFUkUg YSA9IFZBUklBQkxFKHRlbXBfdmFyMDIpOworCitSRVNFVCBwYXJhbGxlbF9zZXR1cF9jb3N0Owor UkVTRVQgcGFyYWxsZWxfdHVwbGVfY29zdDsKK1JFU0VUIG1pbl9wYXJhbGxlbF90YWJsZV9zY2Fu X3NpemU7CitSRVNFVCBtYXhfcGFyYWxsZWxfd29ya2Vyc19wZXJfZ2F0aGVyOworCitEUk9QIFRB QkxFIHRlc3R2YXJfdGVzdHRhYjsKK0RST1AgVkFSSUFCTEUgdGVtcF92YXIwMjsKZGlmZiAtLWdp dCBhL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0IGIvc3JjL3Rvb2xzL3BnaW5kZW50 L3R5cGVkZWZzLmxpc3QKaW5kZXggZDAyMGFmNjE4ZDAuLjA4ODYyNzAwYTVmIDEwMDY0NAotLS0g YS9zcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdAorKysgYi9zcmMvdG9vbHMvcGdpbmRl bnQvdHlwZWRlZnMubGlzdApAQCAtMjc2MSw2ICsyNzYxLDcgQEAgU2VyaWFsaXplZFRyYW5zYWN0 aW9uU3RhdGUKIFNlc3Npb24KIFNlc3Npb25CYWNrdXBTdGF0ZQogU2Vzc2lvbkVuZFR5cGUKK1Nl c3Npb25WYXJpYWJsZVZhbHVlCiBTZXRDb25zdHJhaW50U3RhdGUKIFNldENvbnN0cmFpbnRTdGF0 ZURhdGEKIFNldENvbnN0cmFpbnRUcmlnZ2VyRGF0YQotLSAKMi41My4wCgo= --000000000000f2b535064c467044 Content-Type: text/x-patch; charset="US-ASCII"; name="v20260305-0003-collect-session-variables-used-in-plan-and-assign-pa.patch" Content-Disposition: attachment; filename="v20260305-0003-collect-session-variables-used-in-plan-and-assign-pa.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmdgvcpg8 RnJvbSBiNDJmNGQwN2ZiYzhjMzkzNjY2YWJkZWIxMjIyZDNkMTQyMzZjYmYzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPHBhdmVsLnN0ZWh1bGVAZ21h aWwuY29tPgpEYXRlOiBGcmksIDIxIE5vdiAyMDI1IDIwOjQyOjU2ICswMTAwClN1YmplY3Q6IFtQ QVRDSCAwMy8xMV0gY29sbGVjdCBzZXNzaW9uIHZhcmlhYmxlcyB1c2VkIGluIHBsYW4gYW5kIGFz c2lnbgogcGFyYW1pZAoKSW4gdGhlIHBsYW4gc3RhZ2Ugd2UgbmVlZCB0byBjb2xsZWN0IHVzZWQg c2Vzc2lvbiB2YXJpYWJsZXMuIE9uIHRoZQpvcmRlciBvZiB0aGlzIGxpc3QsIHRoZSBwYXJhbSBu b2RlcyBnZXRzIHBhcmFtaWQgKGZpeF9wYXJhbV9ub2RlKS4KVGhpcyBudW1iZXIgaXMgdXNlZCAo bGF0ZXIpIGFzIGluZGV4IHRvIGJ1ZmZlciBvZiB2YWx1ZXMgb2YgdGhlCnVzZWQgc2Vzc2lvbiB2 YXJpYWJsZXMuIFRoZSBidWZmZXIgaXMgcHJlcGFyZWQgYW5kIGZpbGxlZCBieSBleGVjdXRvci4K ClNvbWUgdW5zdXBwb3J0ZWQgb3B0aW1pemF0aW9ucyBhcmUgZGlzYWJsZWQ6CgoqIHBhcmFsbGVs IGV4ZWN1dGlvbgoqIHNpbXBsZSBleHByZXNzaW9uIGV4ZWN1dGlvbiBpbiBQTC9wZ1NRTAoqIFNR TCBmdW5jdGlvbnMgaW5saW5pbmcKCkJlZm9yZSBleGVjdXRpb24gb2YgcXVlcnkgd2l0aCBzZXNz aW9uIHZhcmlhYmxlcyB3ZSBuZWVkIHRvIGNvbGxlY3QKdXNlZCBzZXNzaW9uIHZhcmlhYmxlcy4g VGhpcyBsaXN0IGlzIHVzZWQgZm9yIGxvYWRpbmcgdmFyaWFibGVzIHRvCmV4ZWN1dGVkIHF1ZXJ5 LgoKcGxhbgotLS0KIGRvYy9zcmMvc2dtbC9wYXJhbGxlbC5zZ21sICAgICAgICAgICAgICAgIHwg IDYgKysKIHNyYy9iYWNrZW5kL2NhdGFsb2cvZGVwZW5kZW5jeS5jICAgICAgICAgIHwgMTAgKysr CiBzcmMvYmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMgICB8IDM5ICsrKysrKysr KysKIHNyYy9iYWNrZW5kL29wdGltaXplci9wbGFuL3BsYW5uZXIuYyAgICAgIHwgMTEgKysrCiBz cmMvYmFja2VuZC9vcHRpbWl6ZXIvcGxhbi9zZXRyZWZzLmMgICAgICB8IDk0ICsrKysrKysrKysr KysrKysrKysrKystCiBzcmMvYmFja2VuZC9vcHRpbWl6ZXIvcHJlcC9wcmVwam9pbnRyZWUuYyB8 ICAzICsKIHNyYy9iYWNrZW5kL29wdGltaXplci91dGlsL2NsYXVzZXMuYyAgICAgIHwgMzUgKysr KysrKystCiBzcmMvYmFja2VuZC91dGlscy9mbWdyL2ZtZ3IuYyAgICAgICAgICAgICB8IDEwICsr LQogc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oICAgfCAgMiArCiBzcmMv aW5jbHVkZS9ub2Rlcy9wYXRobm9kZXMuaCAgICAgICAgICAgICB8ICA1ICsrCiBzcmMvaW5jbHVk ZS9ub2Rlcy9wbGFubm9kZXMuaCAgICAgICAgICAgICB8ICAzICsKIHNyYy9pbmNsdWRlL29wdGlt aXplci9wbGFubWFpbi5oICAgICAgICAgIHwgIDIgKwogMTIgZmlsZXMgY2hhbmdlZCwgMjE0IGlu c2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3Bh cmFsbGVsLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcGFyYWxsZWwuc2dtbAppbmRleCBhZjQzNDg0NzAz ZS4uODQzZTJjM2Y2NjMgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9wYXJhbGxlbC5zZ21sCisr KyBiL2RvYy9zcmMvc2dtbC9wYXJhbGxlbC5zZ21sCkBAIC01MjQsNiArNTI0LDEyIEBAIEVYUExB SU4gU0VMRUNUICogRlJPTSBwZ2JlbmNoX2FjY291bnRzIFdIRVJFIGZpbGxlciBMSUtFICcleCUn OwogICAgICAgICBQbGFuIG5vZGVzIHRoYXQgcmVmZXJlbmNlIGEgY29ycmVsYXRlZCA8bGl0ZXJh bD5TdWJQbGFuPC9saXRlcmFsPi4KICAgICAgIDwvcGFyYT4KICAgICA8L2xpc3RpdGVtPgorCisg ICAgPGxpc3RpdGVtPgorICAgICAgPHBhcmE+CisgICAgICAgIFVzYWdlIG9mIGEgc2Vzc2lvbiB2 YXJpYWJsZS4KKyAgICAgIDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgogICA8L2l0ZW1pemVkbGlz dD4KIAogIDxzZWN0MiBpZD0icGFyYWxsZWwtbGFiZWxpbmciPgpkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvY2F0YWxvZy9kZXBlbmRlbmN5LmMgYi9zcmMvYmFja2VuZC9jYXRhbG9nL2RlcGVuZGVu Y3kuYwppbmRleCA1NzBjNDM0ZWRlOC4uNjFiYjJmNDdhMGQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNr ZW5kL2NhdGFsb2cvZGVwZW5kZW5jeS5jCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvZGVwZW5k ZW5jeS5jCkBAIC0xOTUxLDYgKzE5NTEsMTYgQEAgZmluZF9leHByX3JlZmVyZW5jZXNfd2Fsa2Vy KE5vZGUgKm5vZGUsCiAJewogCQlQYXJhbQkgICAqcGFyYW0gPSAoUGFyYW0gKikgbm9kZTsKIAor CQkvKgorCQkqIGNhdGFsb2cgbGVzcyBzZXNzaW9uIHZhcmlhYmxlIHZhcmlhYmxlIGNhbm5vdCBi ZSB1c2VkIGluIHBlcnNpc3RlbnQKKwkJKiBjYXRhbG9nIGJhc2VkIG9iamVjdC4KKwkJKi8KKwkJ aWYgKHBhcmFtLT5wYXJhbWtpbmQgPT0gUEFSQU1fVkFSSUFCTEUpCisJCQllcmVwb3J0KEVSUk9S LAorCQkJCQkoZXJyY29kZShFUlJDT0RFX0ZFQVRVUkVfTk9UX1NVUFBPUlRFRCksCisJCQkJCSBl cnJtc2coInNlc3Npb24gdmFyaWFibGUgXCIlc1wiIGNhbm5vdCBiZSByZWZlcmVuY2VkIGluIGEg Y2F0YWxvZyBvYmplY3QiLAorCQkJCQkJCXBhcmFtLT5wYXJhbXZhcm5hbWUpKSk7CisKIAkJLyog QSBwYXJhbWV0ZXIgbXVzdCBkZXBlbmQgb24gdGhlIHBhcmFtZXRlcidzIGRhdGF0eXBlICovCiAJ CWFkZF9vYmplY3RfYWRkcmVzcyhUeXBlUmVsYXRpb25JZCwgcGFyYW0tPnBhcmFtdHlwZSwgMCwK IAkJCQkJCSAgIGNvbnRleHQtPmFkZHJzKTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1h bmRzL3Nlc3Npb25fdmFyaWFibGUuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFy aWFibGUuYwppbmRleCA3NWM2MmJhZWNhMi4uZjhlYTg1MjZlMWQgMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuYworKysgYi9zcmMvYmFja2VuZC9jb21t YW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMKQEAgLTEyNyw2ICsxMjcsNDUgQEAgZ2V0X3Nlc3Npb25f dmFyaWFibGVfdHlwZV90eXBtb2RfY29sbGlkKGNoYXIgKnZhcm5hbWUsCiAJKmNvbGxpZCA9IHN2 YXItPnZhcmNvbGxhdGlvbjsKIH0KIAorLyoKKyAqIFJldHVybnMgYSBjb3B5IG9mIHRoZSB2YWx1 ZSBvZiB0aGUgc2Vzc2lvbiB2YXJpYWJsZSAoaW4gdGhlIGN1cnJlbnQgbWVtb3J5CisgKiBjb250 ZXh0KS4KKyAqLworRGF0dW0KK0dldFNlc3Npb25WYXJpYWJsZVdpdGhUeXBlY2hlY2soY2hhciAq dmFybmFtZSwKKwkJCQkJCQkJT2lkIHR5cGlkLCBpbnQzMiB0eXBtb2QsCisJCQkJCQkJCWJvb2wg KmlzbnVsbCkKK3sKKwlTVmFyaWFibGUJc3ZhcjsKKwlEYXR1bQkJcmVzdWx0OworCisJc3ZhciA9 IHNlYXJjaF92YXJpYWJsZSh2YXJuYW1lKTsKKworCWlmIChzdmFyLT52YXJ0eXBlICE9IHR5cGlk IHx8IHN2YXItPnZhcnR5cG1vZCAhPSB0eXBtb2QpCisJCWVyZXBvcnQoRVJST1IsCisJCQkJKGVy cmNvZGUoRVJSQ09ERV9EQVRBVFlQRV9NSVNNQVRDSCksCisJCQkJIGVycm1zZygic2Vzc2lvbiB2 YXJpYWJsZSAlcyBpcyBub3Qgb2YgYSB0eXBlICVzIGJ1dCB0eXBlICVzIiwKKwkJCQkJCXZhcm5h bWUsCisJCQkJCQlmb3JtYXRfdHlwZV93aXRoX3R5cGVtb2QodHlwaWQsIHR5cG1vZCksCisJCQkJ CQlmb3JtYXRfdHlwZV93aXRoX3R5cGVtb2Qoc3Zhci0+dmFydHlwZSwgc3Zhci0+dmFydHlwbW9k KSkpKTsKKworCS8qIG9ubHkgb3duZXIgY2FuIGdldCBjb250ZW50IG9mIHZhcmlhYmxlICovCisJ aWYgKHN2YXItPnZhcm93bmVyICE9IEdldFVzZXJJZCgpICYmICFzdXBlcnVzZXIoKSkKKwkJZXJl cG9ydChFUlJPUiwKKwkJCQkoZXJyY29kZShFUlJDT0RFX0lOU1VGRklDSUVOVF9QUklWSUxFR0Up LAorCQkJCSBlcnJtc2coInBlcm1pc3Npb24gZGVuaWVkIGZvciBzZXNzaW9uIHZhcmlhYmxlICVz IiwKKwkJCQkJCXZhcm5hbWUpKSk7CisKKwlpZiAoIXN2YXItPmlzbnVsbCkKKwkJcmVzdWx0ID0g ZGF0dW1Db3B5KHN2YXItPnZhbHVlLCBzdmFyLT50eXBieXZhbCwgc3Zhci0+dHlwbGVuKTsKKwll bHNlCisJCXJlc3VsdCA9IChEYXR1bSkgMDsKKworCSppc251bGwgPSBzdmFyLT5pc251bGw7CisK KwlyZXR1cm4gcmVzdWx0OworfQorCiAvKgogICogQ3JlYXRlcyBhIG5ldyB2YXJpYWJsZSAtIGRv ZXMgbmV3IGVudHJ5IGluIHNlc3Npb252YXJzCiAgKgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv b3B0aW1pemVyL3BsYW4vcGxhbm5lci5jIGIvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3BsYW4vcGxh bm5lci5jCmluZGV4IDQyNjA0YTBmNzVjLi41M2FmMjhjNDlkOCAxMDA2NDQKLS0tIGEvc3JjL2Jh Y2tlbmQvb3B0aW1pemVyL3BsYW4vcGxhbm5lci5jCisrKyBiL3NyYy9iYWNrZW5kL29wdGltaXpl ci9wbGFuL3BsYW5uZXIuYwpAQCAtMzc0LDYgKzM3NCw3IEBAIHN0YW5kYXJkX3BsYW5uZXIoUXVl cnkgKnBhcnNlLCBjb25zdCBjaGFyICpxdWVyeV9zdHJpbmcsIGludCBjdXJzb3JPcHRpb25zLAog CWdsb2ItPmRlcGVuZHNPblJvbGUgPSBmYWxzZTsKIAlnbG9iLT5wYXJ0aXRpb25fZGlyZWN0b3J5 ID0gTlVMTDsKIAlnbG9iLT5yZWxfbm90bnVsbGF0dHNfaGFzaCA9IE5VTEw7CisJZ2xvYi0+c2Vz c2lvblZhcmlhYmxlcyA9IE5JTDsKIAogCS8qCiAJICogQXNzZXNzIHdoZXRoZXIgaXQncyBmZWFz aWJsZSB0byB1c2UgcGFyYWxsZWwgbW9kZSBmb3IgdGhpcyBxdWVyeS4gV2UKQEAgLTY2Nyw2ICs2 NjgsOSBAQCBzdGFuZGFyZF9wbGFubmVyKFF1ZXJ5ICpwYXJzZSwgY29uc3QgY2hhciAqcXVlcnlf c3RyaW5nLCBpbnQgY3Vyc29yT3B0aW9ucywKIAkvKiB1dGlsaXR5U3RtdCBzaG91bGQgYmUgbnVs bCwgYnV0IHdlIG1pZ2h0IGFzIHdlbGwgY29weSBpdCAqLwogCXJlc3VsdC0+dXRpbGl0eVN0bXQg PSBwYXJzZS0+dXRpbGl0eVN0bXQ7CiAJcmVzdWx0LT5lbGlkZWROb2RlcyA9IGdsb2ItPmVsaWRl ZE5vZGVzOworCisJcmVzdWx0LT5zZXNzaW9uVmFyaWFibGVzID0gZ2xvYi0+c2Vzc2lvblZhcmlh YmxlczsKKwogCXJlc3VsdC0+c3RtdF9sb2NhdGlvbiA9IHBhcnNlLT5zdG10X2xvY2F0aW9uOwog CXJlc3VsdC0+c3RtdF9sZW4gPSBwYXJzZS0+c3RtdF9sZW47CiAKQEAgLTg1NSw2ICs4NTksMTMg QEAgc3VicXVlcnlfcGxhbm5lcihQbGFubmVyR2xvYmFsICpnbG9iLCBRdWVyeSAqcGFyc2UsIGNo YXIgKnBsYW5fbmFtZSwKIAkgKi8KIAlwdWxsX3VwX3N1YnF1ZXJpZXMocm9vdCk7CiAKKwkvKgor CSAqIENoZWNrIGlmIHNvbWUgc3VicXVlcnkgdXNlcyBhIHNlc3Npb24gdmFyaWFibGUuICBUaGUg ZmxhZworCSAqIGhhc1Nlc3Npb25WYXJpYWJsZXMgc2hvdWxkIGJlIHRydWUgaWYgdGhlIHF1ZXJ5 IG9yIHNvbWUgc3VicXVlcnkgdXNlcyBhCisJICogc2Vzc2lvbiB2YXJpYWJsZS4KKwkgKi8KKwlw dWxsX3VwX2hhc19zZXNzaW9uX3ZhcmlhYmxlcyhyb290KTsKKwogCS8qCiAJICogSWYgdGhpcyBp cyBhIHNpbXBsZSBVTklPTiBBTEwgcXVlcnksIGZsYXR0ZW4gaXQgaW50byBhbiBhcHBlbmRyZWwu IFdlCiAJICogZG8gdGhpcyBub3cgYmVjYXVzZSBpdCByZXF1aXJlcyBhcHBseWluZyBwdWxsX3Vw X3N1YnF1ZXJpZXMgdG8gdGhlIGxlYWYKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL29wdGltaXpl ci9wbGFuL3NldHJlZnMuYyBiL3NyYy9iYWNrZW5kL29wdGltaXplci9wbGFuL3NldHJlZnMuYwpp bmRleCAxYjViOWI1ZWQ5Yy4uYzk4ZDk2Yzg2OTIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL29w dGltaXplci9wbGFuL3NldHJlZnMuYworKysgYi9zcmMvYmFja2VuZC9vcHRpbWl6ZXIvcGxhbi9z ZXRyZWZzLmMKQEAgLTIxMCw2ICsyMTAsOCBAQCBzdGF0aWMgTGlzdCAqc2V0X3JldHVybmluZ19j bGF1c2VfcmVmZXJlbmNlcyhQbGFubmVySW5mbyAqcm9vdCwKIHN0YXRpYyBMaXN0ICpzZXRfd2lu ZG93YWdnX3J1bmNvbmRpdGlvbl9yZWZlcmVuY2VzKFBsYW5uZXJJbmZvICpyb290LAogCQkJCQkJ CQkJCQkJICAgTGlzdCAqcnVuY29uZGl0aW9uLAogCQkJCQkJCQkJCQkJICAgUGxhbiAqcGxhbik7 CitzdGF0aWMgYm9vbCBwdWxsX3VwX2hhc19zZXNzaW9uX3ZhcmlhYmxlc193YWxrZXIoTm9kZSAq bm9kZSwKKwkJCQkJCQkJCQkJCSBQbGFubmVySW5mbyAqcm9vdCk7CiAKIHN0YXRpYyB2b2lkIHJl Y29yZF9lbGlkZWRfbm9kZShQbGFubmVyR2xvYmFsICpnbG9iLCBpbnQgcGxhbl9ub2RlX2lkLAog CQkJCQkJCSAgIE5vZGVUYWcgZWxpZGVkX3R5cGUsIEJpdG1hcHNldCAqcmVsaWRzKTsKQEAgLTEz NjUsNiArMTM2Nyw1MCBAQCBzZXRfcGxhbl9yZWZzKFBsYW5uZXJJbmZvICpyb290LCBQbGFuICpw bGFuLCBpbnQgcnRvZmZzZXQpCiAJcmV0dXJuIHBsYW47CiB9CiAKKy8qCisgKiBTZWFyY2ggdXNh Z2Ugb2Ygc2Vzc2lvbiB2YXJpYWJsZXMgaW4gc3VicXVlcmllcworICovCit2b2lkCitwdWxsX3Vw X2hhc19zZXNzaW9uX3ZhcmlhYmxlcyhQbGFubmVySW5mbyAqcm9vdCkKK3sKKwlRdWVyeQkgICAq cXVlcnkgPSByb290LT5wYXJzZTsKKworCWlmIChxdWVyeS0+aGFzU2Vzc2lvblZhcmlhYmxlcykK Kwl7CisJCXJvb3QtPmhhc1Nlc3Npb25WYXJpYWJsZXMgPSB0cnVlOworCX0KKwllbHNlCisJewor CQkodm9pZCkgcXVlcnlfdHJlZV93YWxrZXIocXVlcnksCisJCQkJCQkJCSBwdWxsX3VwX2hhc19z ZXNzaW9uX3ZhcmlhYmxlc193YWxrZXIsCisJCQkJCQkJCSAodm9pZCAqKSByb290LCAwKTsKKwl9 Cit9CisKK3N0YXRpYyBib29sCitwdWxsX3VwX2hhc19zZXNzaW9uX3ZhcmlhYmxlc193YWxrZXIo Tm9kZSAqbm9kZSwgUGxhbm5lckluZm8gKnJvb3QpCit7CisJaWYgKG5vZGUgPT0gTlVMTCkKKwkJ cmV0dXJuIGZhbHNlOworCWlmIChJc0Eobm9kZSwgUXVlcnkpKQorCXsKKwkJUXVlcnkJICAgKnF1 ZXJ5ID0gKFF1ZXJ5ICopIG5vZGU7CisKKwkJaWYgKHF1ZXJ5LT5oYXNTZXNzaW9uVmFyaWFibGVz KQorCQl7CisJCQlyb290LT5oYXNTZXNzaW9uVmFyaWFibGVzID0gdHJ1ZTsKKwkJCXJldHVybiBm YWxzZTsKKwkJfQorCisJCS8qIHJlY3Vyc2UgaW50byBzdWJzZWxlY3RzICovCisJCXJldHVybiBx dWVyeV90cmVlX3dhbGtlcigoUXVlcnkgKikgbm9kZSwKKwkJCQkJCQkJIHB1bGxfdXBfaGFzX3Nl c3Npb25fdmFyaWFibGVzX3dhbGtlciwKKwkJCQkJCQkJICh2b2lkICopIHJvb3QsIDApOworCX0K KwlyZXR1cm4gZXhwcmVzc2lvbl90cmVlX3dhbGtlcihub2RlLCBwdWxsX3VwX2hhc19zZXNzaW9u X3ZhcmlhYmxlc193YWxrZXIsCisJCQkJCQkJCSAgKHZvaWQgKikgcm9vdCk7Cit9CisKIC8qCiAg KiBzZXRfaW5kZXhvbmx5c2Nhbl9yZWZlcmVuY2VzCiAgKgkJRG8gc2V0X3BsYW5fcmVmZXJlbmNl cyBwcm9jZXNzaW5nIG9uIGFuIEluZGV4T25seVNjYW4KQEAgLTIxOTIsNiArMjIzOCwxMCBAQCBm aXhfZXhwcl9jb21tb24oUGxhbm5lckluZm8gKnJvb3QsIE5vZGUgKm5vZGUpCiAgKiBJZiBpdCdz IGEgUEFSQU1fTVVMVElFWFBSLCByZXBsYWNlIGl0IHdpdGggdGhlIGFwcHJvcHJpYXRlIFBhcmFt IGZyb20KICAqIHJvb3QtPm11bHRpZXhwcl9wYXJhbXM7IG90aGVyd2lzZSBubyBjaGFuZ2UgaXMg bmVlZGVkLgogICogSnVzdCBmb3IgcGFyYW5vaWEncyBzYWtlLCB3ZSBtYWtlIGEgY29weSBvZiB0 aGUgbm9kZSBpbiBlaXRoZXIgY2FzZS4KKyAqCisgKiBJZiBpdCdzIGEgUEFSQU1fVkFSSUFCTEUs IHRoZW4gd2UgY29sbGVjdCB1c2VkIHNlc3Npb24gdmFyaWFibGVzIGluCisgKiB0aGUgbGlzdCBy b290LT5nbG9iLT5zZXNzaW9uVmFyaWFibGUuICBBbHNvLCBhc3NpZ24gdGhlIHBhcmFtZXRlcidz CisgKiAicGFyYW1pZCIgdG8gdGhlIHBhcmFtZXRlcidzIHBvc2l0aW9uIGluIHRoYXQgbGlzdC4K ICAqLwogc3RhdGljIE5vZGUgKgogZml4X3BhcmFtX25vZGUoUGxhbm5lckluZm8gKnJvb3QsIFBh cmFtICpwKQpAQCAtMjIxMCw2ICsyMjYwLDQzIEBAIGZpeF9wYXJhbV9ub2RlKFBsYW5uZXJJbmZv ICpyb290LCBQYXJhbSAqcCkKIAkJCWVsb2coRVJST1IsICJ1bmV4cGVjdGVkIFBBUkFNX01VTFRJ RVhQUiBJRDogJWQiLCBwLT5wYXJhbWlkKTsKIAkJcmV0dXJuIGNvcHlPYmplY3QobGlzdF9udGgo cGFyYW1zLCBjb2xubyAtIDEpKTsKIAl9CisKKwlpZiAocC0+cGFyYW1raW5kID09IFBBUkFNX1ZB UklBQkxFKQorCXsKKwkJaW50CQkJbiA9IDA7CisKKwkJLyogd2Ugd2lsbCBtb2RpZnkgb2JqZWN0 ICovCisJCXAgPSAoUGFyYW0gKikgY29weU9iamVjdChwKTsKKworCQkvKgorCQkgKiBOb3csIHdl IGNhbiBhY3R1YWxpemUgbGlzdCBvZiBzZXNzaW9uIHZhcmlhYmxlcywgYW5kIHdlIGNhbgorCQkg KiBjb21wbGV0ZSBwYXJhbWlkIHBhcmFtZXRlci4KKwkJICovCisJCWZvcmVhY2hfbm9kZShQYXJh bSwgcGFyYW12YXIsIHJvb3QtPmdsb2ItPnNlc3Npb25WYXJpYWJsZXMpCisJCXsKKwkJCWlmIChz dHJjbXAocGFyYW12YXItPnBhcmFtdmFybmFtZSwgcC0+cGFyYW12YXJuYW1lKSA9PSAwKQorCQkJ eworCQkJCXAtPnBhcmFtaWQgPSBwYXJhbXZhci0+cGFyYW1pZDsKKworCQkJCXJldHVybiAoTm9k ZSAqKSBwOworCQkJfQorCisJCQluICs9IDE7CisJCX0KKworCQlwLT5wYXJhbWlkID0gbjsKKwor CQkvKgorCQkgKiBCZWNhdXNlIHNlc3Npb24gdmFyaWFibGVzIGFyZSBjYXRhbG9nbGVzcywgd2Ug Y2Fubm90IHRvIHVzZSBwbGFuCisJCSAqIGludmFsaWRhdGlvbi4gVGhlbiB3ZSBuZWVkIHRvIGNo ZWNrIHR5cGUsIHR5cG1vZCwgY29sbGlkIGFueSB0aW1lLAorCQkgKiB3aGVuIHdlIGxvYWQgdmFs dWVzIG9mIHNlc3Npb24gdmFyaWFibGVzIHRvIHBhcmFtZXRlcidzIGJ1ZmZlci4KKwkJICogRm9y IHRoaXMgcHVycG9zZSBpdCBpcyBtb3JlIGVhc3kgdG8gc2F2ZSBjb21wbGV0ZSBQYXJhbSBub2Rl LgorCQkgKi8KKwkJcm9vdC0+Z2xvYi0+c2Vzc2lvblZhcmlhYmxlcyA9IGxhcHBlbmQocm9vdC0+ Z2xvYi0+c2Vzc2lvblZhcmlhYmxlcywgcCk7CisKKwkJcmV0dXJuIChOb2RlICopIHA7CisJfQor CiAJcmV0dXJuIChOb2RlICopIGNvcHlPYmplY3QocCk7CiB9CiAKQEAgLTIyNzEsNyArMjM1OCw5 IEBAIGZpeF9hbHRlcm5hdGl2ZV9zdWJwbGFuKFBsYW5uZXJJbmZvICpyb290LCBBbHRlcm5hdGl2 ZVN1YlBsYW4gKmFzcGxhbiwKICAqIHJlcGxhY2luZyBBZ2dyZWYgbm9kZXMgdGhhdCBzaG91bGQg YmUgcmVwbGFjZWQgYnkgaW5pdHBsYW4gb3V0cHV0IFBhcmFtcywKICAqIGNob29zaW5nIHRoZSBi ZXN0IGltcGxlbWVudGF0aW9uIGZvciBBbHRlcm5hdGl2ZVN1YlBsYW5zLAogICogbG9va2luZyB1 cCBvcGVyYXRvciBvcGNvZGUgaW5mbyBmb3IgT3BFeHByIGFuZCByZWxhdGVkIG5vZGVzLAotICog YW5kIGFkZGluZyBPSURzIGZyb20gcmVnY2xhc3MgQ29uc3Qgbm9kZXMgaW50byByb290LT5nbG9i LT5yZWxhdGlvbk9pZHMuCisgKiBhZGRpbmcgT0lEcyBmcm9tIHJlZ2NsYXNzIENvbnN0IG5vZGVz IGludG8gcm9vdC0+Z2xvYi0+cmVsYXRpb25PaWRzLAorICogYXNzaWduaW5nIHBhcmFtdmFyaWQg dG8gUEFSQU1fVkFSSUFCTEUgcGFyYW1zLCBhbmQgY29sbGVjdGluZyB0aGUKKyAqIG9mIHNlc3Np b24gdmFyaWFibGVzIGluIHRoZSByb290LT5nbG9iLT5zZXNzaW9uVmFyaWFibGVzIGxpc3QuCiAg KgogICogJ25vZGUnOiB0aGUgZXhwcmVzc2lvbiB0byBiZSBtb2RpZmllZAogICogJ3J0b2Zmc2V0 JzogaG93IG11Y2ggdG8gaW5jcmVtZW50IHZhcm5vcyBieQpAQCAtMjI5Myw3ICsyMzgyLDggQEAg Zml4X3NjYW5fZXhwcihQbGFubmVySW5mbyAqcm9vdCwgTm9kZSAqbm9kZSwgaW50IHJ0b2Zmc2V0 LCBkb3VibGUgbnVtX2V4ZWMpCiAJCXJvb3QtPm11bHRpZXhwcl9wYXJhbXMgIT0gTklMIHx8CiAJ CXJvb3QtPmdsb2ItPmxhc3RQSElkICE9IDAgfHwKIAkJcm9vdC0+bWlubWF4X2FnZ3MgIT0gTklM IHx8Ci0JCXJvb3QtPmhhc0FsdGVybmF0aXZlU3ViUGxhbnMpCisJCXJvb3QtPmhhc0FsdGVybmF0 aXZlU3ViUGxhbnMgfHwKKwkJcm9vdC0+aGFzU2Vzc2lvblZhcmlhYmxlcykKIAl7CiAJCXJldHVy biBmaXhfc2Nhbl9leHByX211dGF0b3Iobm9kZSwgJmNvbnRleHQpOwogCX0KZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL29wdGltaXplci9wcmVwL3ByZXBqb2ludHJlZS5jIGIvc3JjL2JhY2tlbmQv b3B0aW1pemVyL3ByZXAvcHJlcGpvaW50cmVlLmMKaW5kZXggYzkwZjRiMzI3MzMuLjJmYzJiNWIz ODk3IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9vcHRpbWl6ZXIvcHJlcC9wcmVwam9pbnRyZWUu YworKysgYi9zcmMvYmFja2VuZC9vcHRpbWl6ZXIvcHJlcC9wcmVwam9pbnRyZWUuYwpAQCAtMTY1 Myw2ICsxNjUzLDkgQEAgcHVsbF91cF9zaW1wbGVfc3VicXVlcnkoUGxhbm5lckluZm8gKnJvb3Qs IE5vZGUgKmp0bm9kZSwgUmFuZ2VUYmxFbnRyeSAqcnRlLAogCS8qIElmIHN1YnF1ZXJ5IGhhZCBh bnkgUkxTIGNvbmRpdGlvbnMsIG5vdyBtYWluIHF1ZXJ5IGRvZXMgdG9vICovCiAJcGFyc2UtPmhh c1Jvd1NlY3VyaXR5IHw9IHN1YnF1ZXJ5LT5oYXNSb3dTZWN1cml0eTsKIAorCS8qIGlmIHRoZSBz dWJxdWVyeSBoYWQgc2Vzc2lvbiB2YXJpYWJsZXMsIHRoZSBtYWluIHF1ZXJ5IGRvZXMgdG9vICov CisJcGFyc2UtPmhhc1Nlc3Npb25WYXJpYWJsZXMgfD0gc3VicXVlcnktPmhhc1Nlc3Npb25WYXJp YWJsZXM7CisKIAkvKgogCSAqIHN1YnF1ZXJ5IHdvbid0IGJlIHB1bGxlZCB1cCBpZiBpdCBoYXNB Z2dzLCBoYXNXaW5kb3dGdW5jcywgb3IKIAkgKiBoYXNUYXJnZXRTUkZzLCBzbyBubyB3b3JrIG5l ZWRlZCBvbiB0aG9zZSBmbGFncwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3V0 aWwvY2xhdXNlcy5jIGIvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3V0aWwvY2xhdXNlcy5jCmluZGV4 IGE0MWQ4MTczNGNmLi5hZWFmNGFjNTAyZiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvb3B0aW1p emVyL3V0aWwvY2xhdXNlcy5jCisrKyBiL3NyYy9iYWNrZW5kL29wdGltaXplci91dGlsL2NsYXVz ZXMuYwpAQCAtMjUsNiArMjUsNyBAQAogI2luY2x1ZGUgImNhdGFsb2cvcGdfb3BlcmF0b3IuaCIK ICNpbmNsdWRlICJjYXRhbG9nL3BnX3Byb2MuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX3R5cGUu aCIKKyNpbmNsdWRlICJjb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmgiCiAjaW5jbHVkZSAiZXhl Y3V0b3IvZXhlY3V0b3IuaCIKICNpbmNsdWRlICJleGVjdXRvci9mdW5jdGlvbnMuaCIKICNpbmNs dWRlICJmdW5jYXBpLmgiCkBAIC05NDQsNiArOTQ1LDEzIEBAIG1heF9wYXJhbGxlbF9oYXphcmRf d2Fsa2VyKE5vZGUgKm5vZGUsIG1heF9wYXJhbGxlbF9oYXphcmRfY29udGV4dCAqY29udGV4dCkK IAkJaWYgKHBhcmFtLT5wYXJhbWtpbmQgPT0gUEFSQU1fRVhURVJOKQogCQkJcmV0dXJuIGZhbHNl OwogCisJCS8qIHdlIGRvbid0IHN1cHBvcnQgcGFzc2luZyBzZXNzaW9uIHZhcmlhYmxlcyB0byB3 b3JrZXJzICovCisJCWlmIChwYXJhbS0+cGFyYW1raW5kID09IFBBUkFNX1ZBUklBQkxFKQorCQl7 CisJCQlpZiAobWF4X3BhcmFsbGVsX2hhemFyZF90ZXN0KFBST1BBUkFMTEVMX1JFU1RSSUNURUQs IGNvbnRleHQpKQorCQkJCXJldHVybiB0cnVlOworCQl9CisKIAkJaWYgKHBhcmFtLT5wYXJhbWtp bmQgIT0gUEFSQU1fRVhFQyB8fAogCQkJIWxpc3RfbWVtYmVyX2ludChjb250ZXh0LT5zYWZlX3Bh cmFtX2lkcywgcGFyYW0tPnBhcmFtaWQpKQogCQl7CkBAIC0yNDAyLDYgKzI0MTAsNyBAQCBjb252 ZXJ0X3Nhb3BfdG9faGFzaGVkX3Nhb3Bfd2Fsa2VyKE5vZGUgKm5vZGUsIHZvaWQgKmNvbnRleHQp CiAgKgkgIHZhbHVlIG9mIHRoZSBQYXJhbS4KICAqIDIuIEZvbGQgc3RhYmxlLCBhcyB3ZWxsIGFz IGltbXV0YWJsZSwgZnVuY3Rpb25zIHRvIGNvbnN0YW50cy4KICAqIDMuIFJlZHVjZSBQbGFjZUhv bGRlclZhciBub2RlcyB0byB0aGVpciBjb250YWluZWQgZXhwcmVzc2lvbnMuCisgKiA0LiBDdXJy ZW50IHZhbHVlIG9mIHNlc3Npb24gdmFyaWFibGUgY2FuIGJlIHVzZWQgZm9yIGVzdGltYXRpb24g dG9vLgogICotLS0tLS0tLS0tLS0tLS0tLS0tLQogICovCiBOb2RlICoKQEAgLTI1MjgsNiArMjUz NywyOSBAQCBldmFsX2NvbnN0X2V4cHJlc3Npb25zX211dGF0b3IoTm9kZSAqbm9kZSwKIAkJCQkJ CX0KIAkJCQkJfQogCQkJCX0KKwkJCQllbHNlIGlmIChwYXJhbS0+cGFyYW1raW5kID09IFBBUkFN X1ZBUklBQkxFICYmCisJCQkJCQkgY29udGV4dC0+ZXN0aW1hdGUpCisJCQkJeworCQkJCQlpbnQx NgkJdHlwTGVuOworCQkJCQlib29sCQl0eXBCeVZhbDsKKwkJCQkJRGF0dW0JCXB2YWw7CisJCQkJ CWJvb2wJCWlzbnVsbDsKKworCQkJCQlnZXRfdHlwbGVuYnl2YWwocGFyYW0tPnBhcmFtdHlwZSwg JnR5cExlbiwgJnR5cEJ5VmFsKTsKKworCQkJCQlwdmFsID0gR2V0U2Vzc2lvblZhcmlhYmxlV2l0 aFR5cGVjaGVjayhwYXJhbS0+cGFyYW12YXJuYW1lLAorCQkJCQkJCQkJCQkJCQkgICBwYXJhbS0+ cGFyYW10eXBlLAorCQkJCQkJCQkJCQkJCQkgICBwYXJhbS0+cGFyYW10eXBtb2QsCisJCQkJCQkJ CQkJCQkJCSAgICZpc251bGwpOworCisJCQkJCXJldHVybiAoTm9kZSAqKSBtYWtlQ29uc3QocGFy YW0tPnBhcmFtdHlwZSwKKwkJCQkJCQkJCQkJICBwYXJhbS0+cGFyYW10eXBtb2QsCisJCQkJCQkJ CQkJCSAgcGFyYW0tPnBhcmFtY29sbGlkLAorCQkJCQkJCQkJCQkgIChpbnQpIHR5cExlbiwKKwkJ CQkJCQkJCQkJICBwdmFsLAorCQkJCQkJCQkJCQkgIGlzbnVsbCwKKwkJCQkJCQkJCQkJICB0eXBC eVZhbCk7CisJCQkJfQogCiAJCQkJLyoKIAkJCQkgKiBOb3QgcmVwbGFjZWFibGUsIHNvIGp1c3Qg Y29weSB0aGUgUGFyYW0gKG5vIG5lZWQgdG8KQEAgLTUxNDEsNyArNTE3Myw4IEBAIGlubGluZV9m dW5jdGlvbihPaWQgZnVuY2lkLCBPaWQgcmVzdWx0X3R5cGUsIE9pZCByZXN1bHRfY29sbGlkLAog CQlxdWVyeXRyZWUtPmxpbWl0T2Zmc2V0IHx8CiAJCXF1ZXJ5dHJlZS0+bGltaXRDb3VudCB8fAog CQlxdWVyeXRyZWUtPnNldE9wZXJhdGlvbnMgfHwKLQkJbGlzdF9sZW5ndGgocXVlcnl0cmVlLT50 YXJnZXRMaXN0KSAhPSAxKQorCQkobGlzdF9sZW5ndGgocXVlcnl0cmVlLT50YXJnZXRMaXN0KSAh PSAxKSB8fAorCQlxdWVyeXRyZWUtPmhhc1Nlc3Npb25WYXJpYWJsZXMpCiAJCWdvdG8gZmFpbDsK IAogCS8qIElmIHRoZSBmdW5jdGlvbiByZXN1bHQgaXMgY29tcG9zaXRlLCByZXNvbHZlIGl0ICov CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9mbWdyL2ZtZ3IuYyBiL3NyYy9iYWNrZW5k L3V0aWxzL2ZtZ3IvZm1nci5jCmluZGV4IDRlMjZkZjdjNjNhLi44M2JjNTdhNGQ3OSAxMDA2NDQK LS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvZm1nci9mbWdyLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRp bHMvZm1nci9mbWdyLmMKQEAgLTE5OTEsOSArMTk5MSwxMyBAQCBnZXRfY2FsbF9leHByX2FyZ19z dGFibGUoTm9kZSAqZXhwciwgaW50IGFyZ251bSkKIAkgKi8KIAlpZiAoSXNBKGFyZywgQ29uc3Qp KQogCQlyZXR1cm4gdHJ1ZTsKLQlpZiAoSXNBKGFyZywgUGFyYW0pICYmCi0JCSgoUGFyYW0gKikg YXJnKS0+cGFyYW1raW5kID09IFBBUkFNX0VYVEVSTikKLQkJcmV0dXJuIHRydWU7CisJaWYgKElz QShhcmcsIFBhcmFtKSkKKwl7CisJCVBhcmFtCSAgICpwID0gKFBhcmFtICopIGFyZzsKKworCQlp ZiAocC0+cGFyYW1raW5kID09IFBBUkFNX0VYVEVSTiB8fCBwLT5wYXJhbWtpbmQgPT0gUEFSQU1f VkFSSUFCTEUpCisJCQlyZXR1cm4gdHJ1ZTsKKwl9CiAKIAlyZXR1cm4gZmFsc2U7CiB9CmRpZmYg LS1naXQgYS9zcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmggYi9zcmMvaW5j bHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmgKaW5kZXggOTZiZTk2OGMzZDQuLjM2ODc0 OTBiY2IxIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxl LmgKKysrIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oCkBAIC0yMiw2 ICsyMiw4IEBACiBleHRlcm4gdm9pZCBDcmVhdGVWYXJpYWJsZShQYXJzZVN0YXRlICpwc3RhdGUs IENyZWF0ZVNlc3Npb25WYXJTdG10ICpzdG10KTsKIGV4dGVybiB2b2lkIERyb3BWYXJpYWJsZUJ5 TmFtZShjaGFyICp2YXJuYW1lKTsKIAorZXh0ZXJuIERhdHVtIEdldFNlc3Npb25WYXJpYWJsZVdp dGhUeXBlY2hlY2soY2hhciAqdmFybmFtZSwgT2lkIHR5cGlkLCBpbnQzMiB0eXBtb2QsIGJvb2wg KmlzbnVsbCk7CisKIGV4dGVybiB2b2lkIGdldF9zZXNzaW9uX3ZhcmlhYmxlX3R5cGVfdHlwbW9k X2NvbGxpZChjaGFyICp2YXJuYW1lLAogCQkJCQkJCQkJCQkJCU9pZCAqdHlwaWQsCiAJCQkJCQkJ CQkJCQkJaW50MzIgKnR5cG1vZCwKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL25vZGVzL3BhdGhu b2Rlcy5oIGIvc3JjL2luY2x1ZGUvbm9kZXMvcGF0aG5vZGVzLmgKaW5kZXggYzE3NWVlOTViNjgu LjdhY2M5ZTUxZjBlIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9ub2Rlcy9wYXRobm9kZXMuaAor KysgYi9zcmMvaW5jbHVkZS9ub2Rlcy9wYXRobm9kZXMuaApAQCAtMjcxLDYgKzI3MSw5IEBAIHR5 cGVkZWYgc3RydWN0IFBsYW5uZXJHbG9iYWwKIAkvKiBleHRlbnNpb24gc3RhdGUgKi8KIAl2b2lk CSAgKipleHRlbnNpb25fc3RhdGUgcGdfbm9kZV9hdHRyKHJlYWRfd3JpdGVfaWdub3JlKTsKIAlp bnQJCQlleHRlbnNpb25fc3RhdGVfYWxsb2NhdGVkOworCisJLyogbGlzdCBvZiB1c2VkIHNlc3Np b24gdmFyaWFibGVzICovCisJTGlzdAkgICAqc2Vzc2lvblZhcmlhYmxlczsKIH0gUGxhbm5lckds b2JhbDsKIAogLyogbWFjcm8gZm9yIGZldGNoaW5nIHRoZSBQbGFuIGFzc29jaWF0ZWQgd2l0aCBh IFN1YlBsYW4gbm9kZSAqLwpAQCAtNjI5LDYgKzYzMiw4IEBAIHN0cnVjdCBQbGFubmVySW5mbwog CWJvb2wJCWhhc1JlY3Vyc2lvbjsKIAkvKiB0cnVlIGlmIGEgcGxhbm5lciBleHRlbnNpb24gbWF5 IHJlcGxhbiB0aGlzIHN1YnF1ZXJ5ICovCiAJYm9vbAkJYXNzdW1lUmVwbGFubmluZzsKKwkvKiB0 cnVlIGlmIHNlc3Npb24gdmFyaWFibGVzIHdlcmUgdXNlZCAqLworCWJvb2wJCWhhc1Nlc3Npb25W YXJpYWJsZXM7CiAKIAkvKgogCSAqIFRoZSByYW5nZXRhYmxlIGluZGV4IGZvciB0aGUgUlRFX0dS T1VQIFJURSwgb3IgMCBpZiB0aGVyZSBpcyBubwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvbm9k ZXMvcGxhbm5vZGVzLmggYi9zcmMvaW5jbHVkZS9ub2Rlcy9wbGFubm9kZXMuaAppbmRleCA4Yzkz MjFhYWI4Yy4uZDk5ZDg0ZTZkYjkgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL25vZGVzL3BsYW5u b2Rlcy5oCisrKyBiL3NyYy9pbmNsdWRlL25vZGVzL3BsYW5ub2Rlcy5oCkBAIC0xNjQsNiArMTY0 LDkgQEAgdHlwZWRlZiBzdHJ1Y3QgUGxhbm5lZFN0bXQKIAkgKi8KIAlMaXN0CSAgICpleHRlbnNp b25fc3RhdGU7CiAKKwkvKiBQQVJBTV9WQVJJQUJMRSBQYXJhbXMgKi8KKwlMaXN0CSAgICpzZXNz aW9uVmFyaWFibGVzOworCiAJLyogc3RhdGVtZW50IGxvY2F0aW9uIGluIHNvdXJjZSBzdHJpbmcg KGNvcGllZCBmcm9tIFF1ZXJ5KSAqLwogCS8qIHN0YXJ0IGxvY2F0aW9uLCBvciAtMSBpZiB1bmtu b3duICovCiAJUGFyc2VMb2MJc3RtdF9sb2NhdGlvbjsKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRl L29wdGltaXplci9wbGFubWFpbi5oIGIvc3JjL2luY2x1ZGUvb3B0aW1pemVyL3BsYW5tYWluLmgK aW5kZXggZDBkYzM3NjFiMTMuLjQ2MDY5ZWYyZTllIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9v cHRpbWl6ZXIvcGxhbm1haW4uaAorKysgYi9zcmMvaW5jbHVkZS9vcHRpbWl6ZXIvcGxhbm1haW4u aApAQCAtMTMyLDQgKzEzMiw2IEBAIGV4dGVybiB2b2lkIHJlY29yZF9wbGFuX2Z1bmN0aW9uX2Rl cGVuZGVuY3koUGxhbm5lckluZm8gKnJvb3QsIE9pZCBmdW5jaWQpOwogZXh0ZXJuIHZvaWQgcmVj b3JkX3BsYW5fdHlwZV9kZXBlbmRlbmN5KFBsYW5uZXJJbmZvICpyb290LCBPaWQgdHlwaWQpOwog ZXh0ZXJuIGJvb2wgZXh0cmFjdF9xdWVyeV9kZXBlbmRlbmNpZXNfd2Fsa2VyKE5vZGUgKm5vZGUs IFBsYW5uZXJJbmZvICpjb250ZXh0KTsKIAorZXh0ZXJuIHZvaWQgcHVsbF91cF9oYXNfc2Vzc2lv bl92YXJpYWJsZXMoUGxhbm5lckluZm8gKnJvb3QpOworCiAjZW5kaWYJCQkJCQkJLyogUExBTk1B SU5fSCAqLwotLSAKMi41My4wCgo= --000000000000f2b535064c467044 Content-Type: text/x-patch; charset="US-ASCII"; name="v20260305-0002-parsing-session-variable-fences.patch" Content-Disposition: attachment; filename="v20260305-0002-parsing-session-variable-fences.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmdgvcpp9 RnJvbSA3ZWJiMGViYTJmNzExNTdlYzA0NmU1ZWFiYzQ0MzQ4MGYwNDE2OGZmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPHBhdmVsLnN0ZWh1bGVAZ21h aWwuY29tPgpEYXRlOiBGcmksIDIxIE5vdiAyMDI1IDE1OjI4OjU5ICswMTAwClN1YmplY3Q6IFtQ QVRDSCAwMi8xMV0gcGFyc2luZyBzZXNzaW9uIHZhcmlhYmxlIGZlbmNlcwoKVGhlIHNlc3Npb24g dmFyaWFibGVzIGNhbiBiZSB1c2VkIGluIHF1ZXJ5IG9ubHkgaW5zaWRlIHRoZSB2YXJpYWJsZSBm ZW5jZS4KVGhpcyBpcyBzcGVjaWFsIHN5bnRheCBWQVJJQUJMRSh2YXJuYW1lKSwgdGhhdCBlbGlt aW5hdGVzIGEgcmlzayBvZgpjb2xsaXNpb24gYmV0d2VlbiB2YXJpYWJsZSBhbmQgY29sdW1uIGlk ZW50aWZpZXIuCgpUaGUgc2Vzc2lvbiB2YXJpYWJsZXMgY2Fubm90IGJlIHVzZWQgYXMgcGFyYW1l dGVycyBvZiBDQUxMIG9yIEVYRUNVVEUKY29tbWFuZHMuIFRoZXNlIGNvbW1hbmRzIGV2YWx1YXRl cyBhcmd1bWVudHMgYnkgZGlyZWN0IGNhbGwgb2YgZXhwcmVzc2lvbgpleGVjdXRvciwgYW5kIGRp cmVjdCBhY2Nlc3MgdG8gc2Vzc2lvbiB2YXJpYWJsZXMgZnJvbSBleHByZXNzaW9uIGV4ZWN1dG9y CndpbGwgYmUgaW1wbGVtZW50ZWQgbGF0ZXIgKGluIG5leHQgc3RlcCkKLS0tCiBkb2Mvc3JjL3Nn bWwvZGRsLnNnbWwgICAgICAgICAgICAgICAgICAgfCAgMTAgKysKIHNyYy9iYWNrZW5kL2NvbW1h bmRzL3ByZXBhcmUuYyAgICAgICAgICB8ICAgOCArKwogc3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vz c2lvbl92YXJpYWJsZS5jIHwgIDIxICsrKysrCiBzcmMvYmFja2VuZC9ub2Rlcy9ub2RlRnVuY3Mu YyAgICAgICAgICAgfCAgIDYgKysKIHNyYy9iYWNrZW5kL3BhcnNlci9hbmFseXplLmMgICAgICAg ICAgICB8ICAgNyArKwogc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueSAgICAgICAgICAgICAgIHwg IDE3ICsrKy0KIHNyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9leHByLmMgICAgICAgICB8IDExOSAr KysrKysrKysrKysrKysrKysrKysrKysKIHNyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9tZXJnZS5j ICAgICAgICB8ICAgMSArCiBzcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfdGFyZ2V0LmMgICAgICAg fCAgIDcgKysKIHNyYy9iYWNrZW5kL3V0aWxzL2FkdC9ydWxldXRpbHMuYyAgICAgICB8ICAgOCAr Kwogc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oIHwgICA1ICsKIHNyYy9p bmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaCAgICAgICAgICB8ICAxMiArKysKIHNyYy9pbmNsdWRl L25vZGVzL3ByaW1ub2Rlcy5oICAgICAgICAgICB8ICAgNSArCiBzcmMvaW5jbHVkZS9wYXJzZXIv cGFyc2Vfbm9kZS5oICAgICAgICAgfCAgIDEgKwogc3JjL3BsL3BscGdzcWwvc3JjL3BsX2V4ZWMu YyAgICAgICAgICAgIHwgICAzICstCiBzcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdCAg ICAgICAgfCAgIDEgKwogMTYgZmlsZXMgY2hhbmdlZCwgMjI4IGluc2VydGlvbnMoKyksIDMgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2RkbC5zZ21sIGIvZG9jL3NyYy9z Z21sL2RkbC5zZ21sCmluZGV4IDM1YTZiMzIyY2Q5Li44YzBhZTcxNTg2OSAxMDA2NDQKLS0tIGEv ZG9jL3NyYy9zZ21sL2RkbC5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9kZGwuc2dtbApAQCAtNTcx MSw2ICs1NzExLDE2IEBAIEVYUExBSU4gU0VMRUNUIGNvdW50KCopIEZST00gbWVhc3VyZW1lbnQg V0hFUkUgbG9nZGF0ZSAmZ3Q7PSBEQVRFICcyMDA4LTAxLTAxJzsKICAgICB2YXJpYWJsZSBpcyBz dG9yZWQgaW4gc2Vzc2lvbiBtZW1vcnkgYW5kIGlzIHByaXZhdGUgdG8gZWFjaCBzZXNzaW9uLiBJ dCBpcwogICAgIGF1dG9tYXRpY2FsbHkgcmVsZWFzZWQgd2hlbiB0aGUgc2Vzc2lvbiBlbmRzLgog ICAgPC9wYXJhPgorCisgICA8cGFyYT4KKyAgICBJbiBhIHF1ZXJ5LCBhIHNlc3Npb24gdmFyaWFi bGUgY2FuIG9ubHkgYmUgcmVmZXJlbmNlZCB1c2luZyB0aGUgc3BlY2lhbAorICAgIDxsaXRlcmFs PlZBUklBQkxFKHZhcm5hbWUpPC9saXRlcmFsPiBzeW50YXguIFRoaXMgYXZvaWRzIGFueSByaXNr IG9mCisgICAgY29sbGlzaW9uIGJldHdlZW4gdmFyaWFibGUgbmFtZXMgYW5kIGNvbHVtbiBuYW1l cy4KKyAgIDwvcGFyYT4KKzxwcm9ncmFtbGlzdGluZz4KK1NFTEVDVCBWQVJJQUJMRShjdXJyZW50 X3VzZXJfaWQpOworPC9wcm9ncmFtbGlzdGluZz4KKyAgIDwvcGFyYT4KICA8L3NlY3QxPgogCiAg PHNlY3QxIGlkPSJkZGwtb3RoZXJzIj4KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRz L3ByZXBhcmUuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ByZXBhcmUuYwppbmRleCA1Yjg2YTcy NzU4Ny4uNDUyYjI0OTg3MTYgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ByZXBh cmUuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9wcmVwYXJlLmMKQEAgLTM0MSw2ICszNDEs MTQgQEAgRXZhbHVhdGVQYXJhbXMoUGFyc2VTdGF0ZSAqcHN0YXRlLCBQcmVwYXJlZFN0YXRlbWVu dCAqcHN0bXQsIExpc3QgKnBhcmFtcywKIAkJaSsrOwogCX0KIAorCS8qCisJICogVGhlIGFyZ3Vt ZW50cyBvZiBFWEVDVVRFIGFyZSBldmFsdWF0ZWQgYnkgYSBkaXJlY3QgZXhwcmVzc2lvbiBleGVj dXRvcgorCSAqIGNhbGwuICBUaGlzIG1vZGUgZG9lc24ndCBzdXBwb3J0IHNlc3Npb24gdmFyaWFi bGVzIHlldC4gSXQgd2lsbCBiZQorCSAqIGVuYWJsZWQgbGF0ZXIuIFRoaXMgY2FzZSBzaG91bGQg YmUgYmxvY2tlZCBwYXJzZXIgYnkKKwkgKiBleHByX2tpbmRfYWxsb3dzX3Nlc3Npb25fdmFyaWFi bGVzLCBzbyBvbmx5IGFzc2VydGlvbnMgaXMgdXNlZCBoZXJlLgorCSAqLworCUFzc2VydCghcHN0 YXRlLT5wX2hhc1Nlc3Npb25WYXJpYWJsZXMpOworCiAJLyogUHJlcGFyZSB0aGUgZXhwcmVzc2lv bnMgZm9yIGV4ZWN1dGlvbiAqLwogCWV4cHJzdGF0ZXMgPSBFeGVjUHJlcGFyZUV4cHJMaXN0KHBh cmFtcywgZXN0YXRlKTsKIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vzc2lv bl92YXJpYWJsZS5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5jCmlu ZGV4IGNkNjFkZjRhMzcwLi43NWM2MmJhZWNhMiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29t bWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3Nlc3Np b25fdmFyaWFibGUuYwpAQCAtMTA2LDYgKzEwNiwyNyBAQCBzZWFyY2hfdmFyaWFibGUoY2hhciAq dmFybmFtZSkKIAlyZXR1cm4gc3ZhcjsKIH0KIAorLyoKKyAqIFJldHVybnMgdGhlIHR5cGUsIHR5 cG1vZCBhbmQgY29sbGlkIG9mIHRoZSBnaXZlbiBzZXNzaW9uIHZhcmlhYmxlLgorICoKKyAqIFJh aXNlcyBhbiBlcnJvciB3aGVuIHRoZSB2YXJpYWJsZSBkb2Vzbid0IGV4aXN0cyBhbmQgKmVycm9y IGlzIG51bGwuCisgKi8KK3ZvaWQKK2dldF9zZXNzaW9uX3ZhcmlhYmxlX3R5cGVfdHlwbW9kX2Nv bGxpZChjaGFyICp2YXJuYW1lLAorCQkJCQkJCQkJCU9pZCAqdHlwaWQsCisJCQkJCQkJCQkJaW50 MzIgKnR5cG1vZCwKKwkJCQkJCQkJCQlPaWQgKmNvbGxpZCkKK3sKKwlTVmFyaWFibGUJc3ZhcjsK KworCXN2YXIgPSBzZWFyY2hfdmFyaWFibGUodmFybmFtZSk7CisKKwkvKiBvbmx5IG93bmVyIGNh biBzZXQgY29udGVudCBvZiB2YXJpYWJsZSAqLworCSp0eXBpZCA9IHN2YXItPnZhcnR5cGU7CisJ KnR5cG1vZCA9IHN2YXItPnZhcnR5cG1vZDsKKwkqY29sbGlkID0gc3Zhci0+dmFyY29sbGF0aW9u OworfQorCiAvKgogICogQ3JlYXRlcyBhIG5ldyB2YXJpYWJsZSAtIGRvZXMgbmV3IGVudHJ5IGlu IHNlc3Npb252YXJzCiAgKgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvbm9kZXMvbm9kZUZ1bmNz LmMgYi9zcmMvYmFja2VuZC9ub2Rlcy9ub2RlRnVuY3MuYwppbmRleCAxOTllZDI3OTk1Zi4uNGUy NjFhNDkxMjggMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL25vZGVzL25vZGVGdW5jcy5jCisrKyBi L3NyYy9iYWNrZW5kL25vZGVzL25vZGVGdW5jcy5jCkBAIC0xNjY5LDYgKzE2NjksOSBAQCBleHBy TG9jYXRpb24oY29uc3QgTm9kZSAqZXhwcikKIAkJY2FzZSBUX1BhcmFtUmVmOgogCQkJbG9jID0g KChjb25zdCBQYXJhbVJlZiAqKSBleHByKS0+bG9jYXRpb247CiAJCQlicmVhazsKKwkJY2FzZSBU X1ZhcmlhYmxlRmVuY2U6CisJCQlsb2MgPSAoKGNvbnN0IFZhcmlhYmxlRmVuY2UgKikgZXhwcikt PmxvY2F0aW9uOworCQkJYnJlYWs7CiAJCWNhc2UgVF9BX0NvbnN0OgogCQkJbG9jID0gKChjb25z dCBBX0NvbnN0ICopIGV4cHIpLT5sb2NhdGlvbjsKIAkJCWJyZWFrOwpAQCAtNDcwNCw2ICs0NzA3 LDkgQEAgcmF3X2V4cHJlc3Npb25fdHJlZV93YWxrZXJfaW1wbChOb2RlICpub2RlLAogCQkJCQly ZXR1cm4gdHJ1ZTsKIAkJCX0KIAkJCWJyZWFrOworCQljYXNlIFRfVmFyaWFibGVGZW5jZToKKwkJ CS8qIHdlIGFzc3VtZSB0aGUgZmllbGRzIGNvbnRhaW4gbm90aGluZyBpbnRlcmVzdGluZyAqLwor CQkJYnJlYWs7CiAJCWRlZmF1bHQ6CiAJCQllbG9nKEVSUk9SLCAidW5yZWNvZ25pemVkIG5vZGUg dHlwZTogJWQiLAogCQkJCSAoaW50KSBub2RlVGFnKG5vZGUpKTsKZGlmZiAtLWdpdCBhL3NyYy9i YWNrZW5kL3BhcnNlci9hbmFseXplLmMgYi9zcmMvYmFja2VuZC9wYXJzZXIvYW5hbHl6ZS5jCmlu ZGV4IDUzOWMxNmM0Zjc5Li5lOGVkMTZiYjZmZCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFy c2VyL2FuYWx5emUuYworKysgYi9zcmMvYmFja2VuZC9wYXJzZXIvYW5hbHl6ZS5jCkBAIC02MTks NiArNjE5LDcgQEAgdHJhbnNmb3JtRGVsZXRlU3RtdChQYXJzZVN0YXRlICpwc3RhdGUsIERlbGV0 ZVN0bXQgKnN0bXQpCiAJcXJ5LT5oYXNXaW5kb3dGdW5jcyA9IHBzdGF0ZS0+cF9oYXNXaW5kb3dG dW5jczsKIAlxcnktPmhhc1RhcmdldFNSRnMgPSBwc3RhdGUtPnBfaGFzVGFyZ2V0U1JGczsKIAlx cnktPmhhc0FnZ3MgPSBwc3RhdGUtPnBfaGFzQWdnczsKKwlxcnktPmhhc1Nlc3Npb25WYXJpYWJs ZXMgPSBwc3RhdGUtPnBfaGFzU2Vzc2lvblZhcmlhYmxlczsKIAogCWFzc2lnbl9xdWVyeV9jb2xs YXRpb25zKHBzdGF0ZSwgcXJ5KTsKIApAQCAtMTA1OCw2ICsxMDU5LDcgQEAgdHJhbnNmb3JtSW5z ZXJ0U3RtdChQYXJzZVN0YXRlICpwc3RhdGUsIEluc2VydFN0bXQgKnN0bXQpCiAKIAlxcnktPmhh c1RhcmdldFNSRnMgPSBwc3RhdGUtPnBfaGFzVGFyZ2V0U1JGczsKIAlxcnktPmhhc1N1Ykxpbmtz ID0gcHN0YXRlLT5wX2hhc1N1YkxpbmtzOworCXFyeS0+aGFzU2Vzc2lvblZhcmlhYmxlcyA9IHBz dGF0ZS0+cF9oYXNTZXNzaW9uVmFyaWFibGVzOwogCiAJYXNzaWduX3F1ZXJ5X2NvbGxhdGlvbnMo cHN0YXRlLCBxcnkpOwogCkBAIC0xNTM3LDYgKzE1MzksNyBAQCB0cmFuc2Zvcm1TZWxlY3RTdG10 KFBhcnNlU3RhdGUgKnBzdGF0ZSwgU2VsZWN0U3RtdCAqc3RtdCwKIAlxcnktPmhhc1dpbmRvd0Z1 bmNzID0gcHN0YXRlLT5wX2hhc1dpbmRvd0Z1bmNzOwogCXFyeS0+aGFzVGFyZ2V0U1JGcyA9IHBz dGF0ZS0+cF9oYXNUYXJnZXRTUkZzOwogCXFyeS0+aGFzQWdncyA9IHBzdGF0ZS0+cF9oYXNBZ2dz OworCXFyeS0+aGFzU2Vzc2lvblZhcmlhYmxlcyA9IHBzdGF0ZS0+cF9oYXNTZXNzaW9uVmFyaWFi bGVzOwogCiAJZm9yZWFjaChsLCBzdG10LT5sb2NraW5nQ2xhdXNlKQogCXsKQEAgLTE3NjMsNiAr MTc2Niw3IEBAIHRyYW5zZm9ybVZhbHVlc0NsYXVzZShQYXJzZVN0YXRlICpwc3RhdGUsIFNlbGVj dFN0bXQgKnN0bXQpCiAJcXJ5LT5qb2ludHJlZSA9IG1ha2VGcm9tRXhwcihwc3RhdGUtPnBfam9p bmxpc3QsIE5VTEwpOwogCiAJcXJ5LT5oYXNTdWJMaW5rcyA9IHBzdGF0ZS0+cF9oYXNTdWJMaW5r czsKKwlxcnktPmhhc1Nlc3Npb25WYXJpYWJsZXMgPSBwc3RhdGUtPnBfaGFzU2Vzc2lvblZhcmlh YmxlczsKIAogCWFzc2lnbl9xdWVyeV9jb2xsYXRpb25zKHBzdGF0ZSwgcXJ5KTsKIApAQCAtMjAx NCw2ICsyMDE4LDcgQEAgdHJhbnNmb3JtU2V0T3BlcmF0aW9uU3RtdChQYXJzZVN0YXRlICpwc3Rh dGUsIFNlbGVjdFN0bXQgKnN0bXQpCiAJcXJ5LT5oYXNXaW5kb3dGdW5jcyA9IHBzdGF0ZS0+cF9o YXNXaW5kb3dGdW5jczsKIAlxcnktPmhhc1RhcmdldFNSRnMgPSBwc3RhdGUtPnBfaGFzVGFyZ2V0 U1JGczsKIAlxcnktPmhhc0FnZ3MgPSBwc3RhdGUtPnBfaGFzQWdnczsKKwlxcnktPmhhc1Nlc3Np b25WYXJpYWJsZXMgPSBwc3RhdGUtPnBfaGFzU2Vzc2lvblZhcmlhYmxlczsKIAogCWZvcmVhY2go bCwgbG9ja2luZ0NsYXVzZSkKIAl7CkBAIC0yNDg2LDYgKzI0OTEsNyBAQCB0cmFuc2Zvcm1SZXR1 cm5TdG10KFBhcnNlU3RhdGUgKnBzdGF0ZSwgUmV0dXJuU3RtdCAqc3RtdCkKIAlxcnktPmhhc1dp bmRvd0Z1bmNzID0gcHN0YXRlLT5wX2hhc1dpbmRvd0Z1bmNzOwogCXFyeS0+aGFzVGFyZ2V0U1JG cyA9IHBzdGF0ZS0+cF9oYXNUYXJnZXRTUkZzOwogCXFyeS0+aGFzQWdncyA9IHBzdGF0ZS0+cF9o YXNBZ2dzOworCXFyeS0+aGFzU2Vzc2lvblZhcmlhYmxlcyA9IHBzdGF0ZS0+cF9oYXNTZXNzaW9u VmFyaWFibGVzOwogCiAJYXNzaWduX3F1ZXJ5X2NvbGxhdGlvbnMocHN0YXRlLCBxcnkpOwogCkBA IC0yNTUyLDYgKzI1NTgsNyBAQCB0cmFuc2Zvcm1VcGRhdGVTdG10KFBhcnNlU3RhdGUgKnBzdGF0 ZSwgVXBkYXRlU3RtdCAqc3RtdCkKIAogCXFyeS0+aGFzVGFyZ2V0U1JGcyA9IHBzdGF0ZS0+cF9o YXNUYXJnZXRTUkZzOwogCXFyeS0+aGFzU3ViTGlua3MgPSBwc3RhdGUtPnBfaGFzU3ViTGlua3M7 CisJcXJ5LT5oYXNTZXNzaW9uVmFyaWFibGVzID0gcHN0YXRlLT5wX2hhc1Nlc3Npb25WYXJpYWJs ZXM7CiAKIAlhc3NpZ25fcXVlcnlfY29sbGF0aW9ucyhwc3RhdGUsIHFyeSk7CiAKZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkgYi9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55 CmluZGV4IGE1NjQzMGZiZGZkLi43ZmVkNWFkN2VjZSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv cGFyc2VyL2dyYW0ueQorKysgYi9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55CkBAIC01MzQsNyAr NTM0LDcgQEAgc3RhdGljIE5vZGUgKm1ha2VSZWN1cnNpdmVWaWV3U2VsZWN0KGNoYXIgKnJlbG5h bWUsIExpc3QgKmFsaWFzZXMsIE5vZGUgKnF1ZXJ5KTsKICV0eXBlIDxub2RlPglkZWZfYXJnIGNv bHVtbkVsZW0gd2hlcmVfY2xhdXNlIHdoZXJlX29yX2N1cnJlbnRfY2xhdXNlCiAJCQkJYV9leHBy IGJfZXhwciBjX2V4cHIgQWV4cHJDb25zdCBpbmRpcmVjdGlvbl9lbCBvcHRfc2xpY2VfYm91bmQK IAkJCQljb2x1bW5yZWYgaGF2aW5nX2NsYXVzZSBmdW5jX3RhYmxlIHhtbHRhYmxlIGFycmF5X2V4 cHIKLQkJCQlPcHRXaGVyZUNsYXVzZSBvcGVyYXRvcl9kZWZfYXJnCisJCQkJT3B0V2hlcmVDbGF1 c2Ugb3BlcmF0b3JfZGVmX2FyZyB2YXJpYWJsZV9mZW5jZQogJXR5cGUgPGxpc3Q+CW9wdF9jb2x1 bW5fYW5kX3BlcmlvZF9saXN0CiAldHlwZSA8bGlzdD4Jcm93c2Zyb21faXRlbSByb3dzZnJvbV9s aXN0IG9wdF9jb2xfZGVmX2xpc3QKICV0eXBlIDxib29sZWFuPiBvcHRfb3JkaW5hbGl0eSBvcHRf d2l0aG91dF9vdmVybGFwcwpAQCAtODkzLDcgKzg5Myw3IEBAIHN0YXRpYyBOb2RlICptYWtlUmVj dXJzaXZlVmlld1NlbGVjdChjaGFyICpyZWxuYW1lLCBMaXN0ICphbGlhc2VzLCBOb2RlICpxdWVy eSk7CiAgKi8KICVub25hc3NvYwlVTkJPVU5ERUQgTkVTVEVEIC8qIGlkZWFsbHkgd291bGQgaGF2 ZSBzYW1lIHByZWNlZGVuY2UgYXMgSURFTlQgKi8KICVub25hc3NvYwlJREVOVCBQQVJUSVRJT04g UkFOR0UgUk9XUyBHUk9VUFMgUFJFQ0VESU5HIEZPTExPV0lORyBDVUJFIFJPTExVUAotCQkJU0VU IEtFWVMgT0JKRUNUX1AgU0NBTEFSIFZBTFVFX1AgV0lUSCBXSVRIT1VUIFBBVEgKKwkJCVNFVCBL RVlTIE9CSkVDVF9QIFNDQUxBUiBWQUxVRV9QIFdJVEggV0lUSE9VVCBQQVRIIFZBUklBQkxFCiAl bGVmdAkJT3AgT1BFUkFUT1IJCS8qIG11bHRpLWNoYXJhY3RlciBvcHMgYW5kIHVzZXItZGVmaW5l ZCBvcGVyYXRvcnMgKi8KICVsZWZ0CQknKycgJy0nCiAlbGVmdAkJJyonICcvJyAnJScKQEAgLTE1 ODIxLDYgKzE1ODIxLDggQEAgY19leHByOgkJY29sdW1ucmVmCQkJCQkJCQl7ICQkID0gJDE7IH0K IAkJCQkJZWxzZQogCQkJCQkJJCQgPSAkMjsKIAkJCQl9CisJCQl8IHZhcmlhYmxlX2ZlbmNlCisJ CQkJeyAkJCA9ICQxOyB9CiAJCQl8IGNhc2VfZXhwcgogCQkJCXsgJCQgPSAkMTsgfQogCQkJfCBm dW5jX2V4cHIKQEAgLTE3MjIzLDYgKzE3MjI1LDE3IEBAIGNhc2VfYXJnOglhX2V4cHIJCQkJCQkJ CQl7ICQkID0gJDE7IH0KIAkJCXwgLypFTVBUWSovCQkJCQkJCQl7ICQkID0gTlVMTDsgfQogCQk7 CiAKK3ZhcmlhYmxlX2ZlbmNlOgorCQkJVkFSSUFCTEUgJygnIENvbElkICcpJworCQkJCXsKKwkJ CQkJVmFyaWFibGVGZW5jZSAqdmYgPSBtYWtlTm9kZShWYXJpYWJsZUZlbmNlKTsKKworCQkJCQl2 Zi0+dmFybmFtZSA9ICQzOworCQkJCQl2Zi0+bG9jYXRpb24gPSBAMzsKKwkJCQkJJCQgPSAoTm9k ZSAqKSB2ZjsKKwkJCQl9CisJCTsKKwogY29sdW1ucmVmOglDb2xJZAogCQkJCXsKIAkJCQkJJCQg PSBtYWtlQ29sdW1uUmVmKCQxLCBOSUwsIEAxLCB5eXNjYW5uZXIpOwpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvcGFyc2VyL3BhcnNlX2V4cHIuYyBiL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9l eHByLmMKaW5kZXggZGNmZTFhY2M0YzMuLmFhMTEwZTgwYjA2IDEwMDY0NAotLS0gYS9zcmMvYmFj a2VuZC9wYXJzZXIvcGFyc2VfZXhwci5jCisrKyBiL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9l eHByLmMKQEAgLTE4LDYgKzE4LDcgQEAKICNpbmNsdWRlICJhY2Nlc3MvaHR1cF9kZXRhaWxzLmgi CiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19hZ2dyZWdhdGUuaCIKICNpbmNsdWRlICJjYXRhbG9nL3Bn X3R5cGUuaCIKKyNpbmNsdWRlICJjb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmgiCiAjaW5jbHVk ZSAibWlzY2FkbWluLmgiCiAjaW5jbHVkZSAibm9kZXMvbWFrZWZ1bmNzLmgiCiAjaW5jbHVkZSAi bm9kZXMvbm9kZUZ1bmNzLmgiCkBAIC03OCw2ICs3OSw3IEBAIHN0YXRpYyBOb2RlICp0cmFuc2Zv cm1XaG9sZVJvd1JlZihQYXJzZVN0YXRlICpwc3RhdGUsCiBzdGF0aWMgTm9kZSAqdHJhbnNmb3Jt SW5kaXJlY3Rpb24oUGFyc2VTdGF0ZSAqcHN0YXRlLCBBX0luZGlyZWN0aW9uICppbmQpOwogc3Rh dGljIE5vZGUgKnRyYW5zZm9ybVR5cGVDYXN0KFBhcnNlU3RhdGUgKnBzdGF0ZSwgVHlwZUNhc3Qg KnRjKTsKIHN0YXRpYyBOb2RlICp0cmFuc2Zvcm1Db2xsYXRlQ2xhdXNlKFBhcnNlU3RhdGUgKnBz dGF0ZSwgQ29sbGF0ZUNsYXVzZSAqYyk7CitzdGF0aWMgTm9kZSAqdHJhbnNmb3JtVmFyaWFibGVG ZW5jZShQYXJzZVN0YXRlICpwc3RhdGUsIFZhcmlhYmxlRmVuY2UgKnZmKTsKIHN0YXRpYyBOb2Rl ICp0cmFuc2Zvcm1Kc29uT2JqZWN0Q29uc3RydWN0b3IoUGFyc2VTdGF0ZSAqcHN0YXRlLAogCQkJ CQkJCQkJCQlKc29uT2JqZWN0Q29uc3RydWN0b3IgKmN0b3IpOwogc3RhdGljIE5vZGUgKnRyYW5z Zm9ybUpzb25BcnJheUNvbnN0cnVjdG9yKFBhcnNlU3RhdGUgKnBzdGF0ZSwKQEAgLTM3Miw2ICsz NzQsMTAgQEAgdHJhbnNmb3JtRXhwclJlY3Vyc2UoUGFyc2VTdGF0ZSAqcHN0YXRlLCBOb2RlICpl eHByKQogCQkJcmVzdWx0ID0gdHJhbnNmb3JtSnNvbkZ1bmNFeHByKHBzdGF0ZSwgKEpzb25GdW5j RXhwciAqKSBleHByKTsKIAkJCWJyZWFrOwogCisJCWNhc2UgVF9WYXJpYWJsZUZlbmNlOgorCQkJ cmVzdWx0ID0gdHJhbnNmb3JtVmFyaWFibGVGZW5jZShwc3RhdGUsIChWYXJpYWJsZUZlbmNlICop IGV4cHIpOworCQkJYnJlYWs7CisKIAkJZGVmYXVsdDoKIAkJCS8qIHNob3VsZCBub3QgcmVhY2gg aGVyZSAqLwogCQkJZWxvZyhFUlJPUiwgInVucmVjb2duaXplZCBub2RlIHR5cGU6ICVkIiwgKGlu dCkgbm9kZVRhZyhleHByKSk7CkBAIC05MDUsNiArOTExLDExOSBAQCB0cmFuc2Zvcm1QYXJhbVJl ZihQYXJzZVN0YXRlICpwc3RhdGUsIFBhcmFtUmVmICpwcmVmKQogCXJldHVybiByZXN1bHQ7CiB9 CiAKKy8qCisgKiBSZXR1cm5zIHRydWUgaWYgdGhlIGdpdmVuIGV4cHJlc3Npb24ga2luZCBpcyB2 YWxpZCBmb3Igc2Vzc2lvbiB2YXJpYWJsZXMuCisgKiBTZXNzaW9uIHZhcmlhYmxlcyBjYW4gYmUg dXNlZCBldmVyeXdoZXJlIHdoZXJlIGV4dGVybmFsIHBhcmFtZXRlcnMgY2FuIGJlCisgKiB1c2Vk LiAgU2Vzc2lvbiB2YXJpYWJsZXMgYXJlIG5vdCBhbGxvd2VkIGluIERETCBjb21tYW5kcyBvciBp biBjb25zdHJhaW50cy4KKyAqCisgKiBBbiBpZGVudGlmaWVyIGNhbiBiZSBwYXJzZWQgYXMgYSBz ZXNzaW9uIHZhcmlhYmxlIG9ubHkgZm9yIGV4cHJlc3Npb24ga2luZHMKKyAqIHdoZXJlIHNlc3Np b24gdmFyaWFibGVzIGFyZSBhbGxvd2VkLiAgVGhpcyBpcyB0aGUgcHJpbWFyeSB1c2FnZSBvZiB0 aGlzCisgKiBmdW5jdGlvbi4KKyAqCisgKiBUaGUgc2Vjb25kIHVzYWdlIG9mIHRoaXMgZnVuY3Rp b24gaXMgdG8gZGVjaWRlIHdoZXRoZXIgYSAiY29sdW1uIGRvZXMgbm90CisgKiBleGlzdCIgb3Ig YSAiY29sdW1uIG9yIHZhcmlhYmxlIGRvZXMgbm90IGV4aXN0IiBlcnJvciBtZXNzYWdlIHNob3Vs ZCBiZQorICogcHJpbnRlZC4gIFdoZW4gd2UgYXJlIGluIGFuIGV4cHJlc3Npb24gd2hlcmUgc2Vz c2lvbiB2YXJpYWJsZXMgY2Fubm90IGJlCisgKiB1c2VkLCB3ZSByYWlzZSB0aGUgZmlyc3QgZm9y bSBvZiBlcnJvciBtZXNzYWdlLgorICovCitzdGF0aWMgYm9vbAorZXhwcl9raW5kX2FsbG93c19z ZXNzaW9uX3ZhcmlhYmxlcyhQYXJzZUV4cHJLaW5kIHBfZXhwcl9raW5kKQoreworCWJvb2wJCXJl c3VsdCA9IGZhbHNlOworCisJc3dpdGNoIChwX2V4cHJfa2luZCkKKwl7CisJCWNhc2UgRVhQUl9L SU5EX05PTkU6CisJCQlBc3NlcnQoZmFsc2UpOwkJLyogY2FuJ3QgaGFwcGVuICovCisJCQlyZXR1 cm4gZmFsc2U7CisKKwkJCS8qIHNlc3Npb24gdmFyaWFibGVzIGFsbG93ZWQgKi8KKwkJY2FzZSBF WFBSX0tJTkRfT1RIRVI6CisJCWNhc2UgRVhQUl9LSU5EX0pPSU5fT046CisJCWNhc2UgRVhQUl9L SU5EX0ZST01fU1VCU0VMRUNUOgorCQljYXNlIEVYUFJfS0lORF9GUk9NX0ZVTkNUSU9OOgorCQlj YXNlIEVYUFJfS0lORF9XSEVSRToKKwkJY2FzZSBFWFBSX0tJTkRfSEFWSU5HOgorCQljYXNlIEVY UFJfS0lORF9GSUxURVI6CisJCWNhc2UgRVhQUl9LSU5EX1dJTkRPV19QQVJUSVRJT046CisJCWNh c2UgRVhQUl9LSU5EX1dJTkRPV19PUkRFUjoKKwkJY2FzZSBFWFBSX0tJTkRfV0lORE9XX0ZSQU1F X1JBTkdFOgorCQljYXNlIEVYUFJfS0lORF9XSU5ET1dfRlJBTUVfUk9XUzoKKwkJY2FzZSBFWFBS X0tJTkRfV0lORE9XX0ZSQU1FX0dST1VQUzoKKwkJY2FzZSBFWFBSX0tJTkRfU0VMRUNUX1RBUkdF VDoKKwkJY2FzZSBFWFBSX0tJTkRfVVBEQVRFX1RBUkdFVDoKKwkJY2FzZSBFWFBSX0tJTkRfVVBE QVRFX1NPVVJDRToKKwkJY2FzZSBFWFBSX0tJTkRfTUVSR0VfV0hFTjoKKwkJY2FzZSBFWFBSX0tJ TkRfTUVSR0VfUkVUVVJOSU5HOgorCQljYXNlIEVYUFJfS0lORF9HUk9VUF9CWToKKwkJY2FzZSBF WFBSX0tJTkRfT1JERVJfQlk6CisJCWNhc2UgRVhQUl9LSU5EX0RJU1RJTkNUX09OOgorCQljYXNl IEVYUFJfS0lORF9MSU1JVDoKKwkJY2FzZSBFWFBSX0tJTkRfT0ZGU0VUOgorCQljYXNlIEVYUFJf S0lORF9SRVRVUk5JTkc6CisJCWNhc2UgRVhQUl9LSU5EX1ZBTFVFUzoKKwkJY2FzZSBFWFBSX0tJ TkRfVkFMVUVTX1NJTkdMRToKKwkJCXJlc3VsdCA9IHRydWU7CisJCQlicmVhazsKKworCQkJLyog c2Vzc2lvbiB2YXJpYWJsZXMgbm90IGFsbG93ZWQgKi8KKwkJY2FzZSBFWFBSX0tJTkRfSU5TRVJU X1RBUkdFVDoKKwkJY2FzZSBFWFBSX0tJTkRfRVhFQ1VURV9QQVJBTUVURVI6CisJCWNhc2UgRVhQ Ul9LSU5EX0NBTExfQVJHVU1FTlQ6CisJCWNhc2UgRVhQUl9LSU5EX0NIRUNLX0NPTlNUUkFJTlQ6 CisJCWNhc2UgRVhQUl9LSU5EX0RPTUFJTl9DSEVDSzoKKwkJY2FzZSBFWFBSX0tJTkRfQ09MVU1O X0RFRkFVTFQ6CisJCWNhc2UgRVhQUl9LSU5EX0ZVTkNUSU9OX0RFRkFVTFQ6CisJCWNhc2UgRVhQ Ul9LSU5EX0lOREVYX0VYUFJFU1NJT046CisJCWNhc2UgRVhQUl9LSU5EX0lOREVYX1BSRURJQ0FU RToKKwkJY2FzZSBFWFBSX0tJTkRfU1RBVFNfRVhQUkVTU0lPTjoKKwkJY2FzZSBFWFBSX0tJTkRf VFJJR0dFUl9XSEVOOgorCQljYXNlIEVYUFJfS0lORF9QQVJUSVRJT05fQk9VTkQ6CisJCWNhc2Ug RVhQUl9LSU5EX1BBUlRJVElPTl9FWFBSRVNTSU9OOgorCQljYXNlIEVYUFJfS0lORF9HRU5FUkFU RURfQ09MVU1OOgorCQljYXNlIEVYUFJfS0lORF9KT0lOX1VTSU5HOgorCQljYXNlIEVYUFJfS0lO RF9DWUNMRV9NQVJLOgorCQljYXNlIEVYUFJfS0lORF9BTFRFUl9DT0xfVFJBTlNGT1JNOgorCQlj YXNlIEVYUFJfS0lORF9QT0xJQ1k6CisJCWNhc2UgRVhQUl9LSU5EX0NPUFlfV0hFUkU6CisJCQly ZXN1bHQgPSBmYWxzZTsKKwkJCWJyZWFrOworCX0KKworCXJldHVybiByZXN1bHQ7Cit9CisKK3N0 YXRpYyBOb2RlICoKK3RyYW5zZm9ybVZhcmlhYmxlRmVuY2UoUGFyc2VTdGF0ZSAqcHN0YXRlLCBW YXJpYWJsZUZlbmNlICp2ZikKK3sKKwlQYXJhbQkgICAqcGFyYW07CisJT2lkCQkJdHlwaWQ7CisJ aW50MzIJCXR5cG1vZDsKKwlPaWQJCQljb2xsaWQ7CisKKwkvKiBWYXJpYWJsZUZlbmNlIGNhbiBi ZSB1c2VkIG9ubHkgaW4gY29udGV4dCB3aGVuIHZhcmlhYmxlcyBhcmUgc3VwcG9ydGVkICovCisJ aWYgKCFleHByX2tpbmRfYWxsb3dzX3Nlc3Npb25fdmFyaWFibGVzKHBzdGF0ZS0+cF9leHByX2tp bmQpKQorCQllcmVwb3J0KEVSUk9SLAorCQkJCShlcnJjb2RlKEVSUkNPREVfRkVBVFVSRV9OT1Rf U1VQUE9SVEVEKSwKKwkJCQkgZXJybXNnKCJzZXNzaW9uIHZhcmlhYmxlIHJlZmVyZW5jZSBpcyBu b3Qgc3VwcG9ydGVkIGhlcmUiKSwKKwkJCQkgcGFyc2VyX2VycnBvc2l0aW9uKHBzdGF0ZSwgdmYt PmxvY2F0aW9uKSkpOworCisJZ2V0X3Nlc3Npb25fdmFyaWFibGVfdHlwZV90eXBtb2RfY29sbGlk KHZmLT52YXJuYW1lLAorCQkJCQkJCQkJCQkmdHlwaWQsICZ0eXBtb2QsICZjb2xsaWQpOworCisK KwlwYXJhbSA9IG1ha2VOb2RlKFBhcmFtKTsKKworCXBhcmFtLT5wYXJhbWtpbmQgPSBQQVJBTV9W QVJJQUJMRTsKKwlwYXJhbS0+cGFyYW12YXJuYW1lID0gcHN0cmR1cCh2Zi0+dmFybmFtZSk7CisJ cGFyYW0tPnBhcmFtdHlwZSA9IHR5cGlkOworCXBhcmFtLT5wYXJhbXR5cG1vZCA9IHR5cG1vZDsK KwlwYXJhbS0+cGFyYW1jb2xsaWQgPSBjb2xsaWQ7CisKKwlwc3RhdGUtPnBfaGFzU2Vzc2lvblZh cmlhYmxlcyA9IHRydWU7CisKKwlyZXR1cm4gKE5vZGUgKikgcGFyYW07Cit9CisKIC8qIFRlc3Qg d2hldGhlciBhbiBhX2V4cHIgaXMgYSBwbGFpbiBOVUxMIGNvbnN0YW50IG9yIG5vdCAqLwogc3Rh dGljIGJvb2wKIGV4cHJJc051bGxDb25zdGFudChOb2RlICphcmcpCmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC9wYXJzZXIvcGFyc2VfbWVyZ2UuYyBiL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9t ZXJnZS5jCmluZGV4IDBhNzBkNDhmZDRjLi4xMmY4OWFhMmE1YyAxMDA2NDQKLS0tIGEvc3JjL2Jh Y2tlbmQvcGFyc2VyL3BhcnNlX21lcmdlLmMKKysrIGIvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNl X21lcmdlLmMKQEAgLTQwMCw2ICs0MDAsNyBAQCB0cmFuc2Zvcm1NZXJnZVN0bXQoUGFyc2VTdGF0 ZSAqcHN0YXRlLCBNZXJnZVN0bXQgKnN0bXQpCiAKIAlxcnktPmhhc1RhcmdldFNSRnMgPSBmYWxz ZTsKIAlxcnktPmhhc1N1YkxpbmtzID0gcHN0YXRlLT5wX2hhc1N1YkxpbmtzOworCXFyeS0+aGFz U2Vzc2lvblZhcmlhYmxlcyA9IHBzdGF0ZS0+cF9oYXNTZXNzaW9uVmFyaWFibGVzOwogCiAJYXNz aWduX3F1ZXJ5X2NvbGxhdGlvbnMocHN0YXRlLCBxcnkpOwogCmRpZmYgLS1naXQgYS9zcmMvYmFj a2VuZC9wYXJzZXIvcGFyc2VfdGFyZ2V0LmMgYi9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfdGFy Z2V0LmMKaW5kZXggM2JjZmMxZjVlM2QuLjY2Y2Q0YmEyZjU5IDEwMDY0NAotLS0gYS9zcmMvYmFj a2VuZC9wYXJzZXIvcGFyc2VfdGFyZ2V0LmMKKysrIGIvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNl X3RhcmdldC5jCkBAIC0yMDMzLDYgKzIwMzMsMTMgQEAgRmlndXJlQ29sbmFtZUludGVybmFsKE5v ZGUgKm5vZGUsIGNoYXIgKipuYW1lKQogCQkJCQkJIChpbnQpICgoSnNvbkZ1bmNFeHByICopIG5v ZGUpLT5vcCk7CiAJCQl9CiAJCQlicmVhazsKKwkJY2FzZSBUX1ZhcmlhYmxlRmVuY2U6CisJCQl7 CisJCQkJLyogcmV0dXJuIGxhc3QgZmllbGQgbmFtZSAqLworCQkJCSpuYW1lID0gKChWYXJpYWJs ZUZlbmNlICopIG5vZGUpLT52YXJuYW1lOworCQkJCXJldHVybiAyOworCQkJfQorCQkJYnJlYWs7 CiAJCWRlZmF1bHQ6CiAJCQlicmVhazsKIAl9CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGls cy9hZHQvcnVsZXV0aWxzLmMgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvcnVsZXV0aWxzLmMKaW5k ZXggZjE2ZjE1MzU3ODUuLjcxOTQ4Y2FjN2NlIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGls cy9hZHQvcnVsZXV0aWxzLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3J1bGV1dGlscy5j CkBAIC04ODM1LDYgKzg4MzUsMTQgQEAgZ2V0X3BhcmFtZXRlcihQYXJhbSAqcGFyYW0sIGRlcGFy c2VfY29udGV4dCAqY29udGV4dCkKIAkJfQogCX0KIAorCS8qIE5vdGU6IGNhbiBiZSBiZSB1c2Vk IGJ5IEVYUExBSU4gKi8KKwlpZiAocGFyYW0tPnBhcmFta2luZCA9PSBQQVJBTV9WQVJJQUJMRSkK Kwl7CisJCWFwcGVuZFN0cmluZ0luZm8oY29udGV4dC0+YnVmLCAiVkFSSUFCTEUoJXMpIiwKKwkJ CQkJCSBxdW90ZV9pZGVudGlmaWVyKHBhcmFtLT5wYXJhbXZhcm5hbWUpKTsKKwkJcmV0dXJuOwor CX0KKwogCS8qCiAJICogTm90IFBBUkFNX0VYRUMsIG9yIGNvdWxkbid0IGZpbmQgcmVmZXJlbnQ6 IGp1c3QgcHJpbnQgJE4uCiAJICoKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Nl c3Npb25fdmFyaWFibGUuaCBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUu aAppbmRleCAxZWQ0MGQ4N2EzOC4uOTZiZTk2OGMzZDQgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRl L2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuaAorKysgYi9zcmMvaW5jbHVkZS9jb21tYW5kcy9z ZXNzaW9uX3ZhcmlhYmxlLmgKQEAgLTIyLDQgKzIyLDkgQEAKIGV4dGVybiB2b2lkIENyZWF0ZVZh cmlhYmxlKFBhcnNlU3RhdGUgKnBzdGF0ZSwgQ3JlYXRlU2Vzc2lvblZhclN0bXQgKnN0bXQpOwog ZXh0ZXJuIHZvaWQgRHJvcFZhcmlhYmxlQnlOYW1lKGNoYXIgKnZhcm5hbWUpOwogCitleHRlcm4g dm9pZCBnZXRfc2Vzc2lvbl92YXJpYWJsZV90eXBlX3R5cG1vZF9jb2xsaWQoY2hhciAqdmFybmFt ZSwKKwkJCQkJCQkJCQkJCQlPaWQgKnR5cGlkLAorCQkJCQkJCQkJCQkJCWludDMyICp0eXBtb2Qs CisJCQkJCQkJCQkJCQkJT2lkICpjb2xsaWQpOworCiAjZW5kaWYKZGlmZiAtLWdpdCBhL3NyYy9p bmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaCBiL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMu aAppbmRleCA0ZDlhMzdlYzc1Ni4uYzc5ZjA3ZjNjNDAgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRl L25vZGVzL3BhcnNlbm9kZXMuaAorKysgYi9zcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmgK QEAgLTE2Nyw2ICsxNjcsOCBAQCB0eXBlZGVmIHN0cnVjdCBRdWVyeQogCWJvb2wJCWhhc1Jvd1Nl Y3VyaXR5IHBnX25vZGVfYXR0cihxdWVyeV9qdW1ibGVfaWdub3JlKTsKIAkvKiBwYXJzZXIgaGFz IGFkZGVkIGFuIFJURV9HUk9VUCBSVEUgKi8KIAlib29sCQloYXNHcm91cFJURSBwZ19ub2RlX2F0 dHIocXVlcnlfanVtYmxlX2lnbm9yZSk7CisJLyogdXNlcyBzZXNzaW9uIHZhcmlhYmxlcyAqLwor CWJvb2wJCWhhc1Nlc3Npb25WYXJpYWJsZXMgcGdfbm9kZV9hdHRyKHF1ZXJ5X2p1bWJsZV9pZ25v cmUpOwogCS8qIGlzIGEgUkVUVVJOIHN0YXRlbWVudCAqLwogCWJvb2wJCWlzUmV0dXJuIHBnX25v ZGVfYXR0cihxdWVyeV9qdW1ibGVfaWdub3JlKTsKIApAQCAtMzIyLDYgKzMyNCwxNiBAQCB0eXBl ZGVmIHN0cnVjdCBQYXJhbVJlZgogCVBhcnNlTG9jCWxvY2F0aW9uOwkJLyogdG9rZW4gbG9jYXRp b24sIG9yIC0xIGlmIHVua25vd24gKi8KIH0gUGFyYW1SZWY7CiAKKy8qCisgKiBWYXJpYWJsZUZl bmNlIC0gZW5zdXJlIHNvIGZpZWxkcyB3aWxsIGJlIGludGVycHJldHRlZCBhcyBhIHZhcmlhYmxl CisgKi8KK3R5cGVkZWYgc3RydWN0IFZhcmlhYmxlRmVuY2UKK3sKKwlOb2RlVGFnCQl0eXBlOwor CWNoYXIJICAgKnZhcm5hbWU7CQkvKiB2YXJpYWJsZSBuYW1lICovCisJUGFyc2VMb2MJbG9jYXRp b247CQkvKiB0b2tlbiBsb2NhdGlvbiwgb3IgLTEgaWYgdW5rbm93biAqLworfSBWYXJpYWJsZUZl bmNlOworCiAvKgogICogQV9FeHByIC0gaW5maXgsIHByZWZpeCwgYW5kIHBvc3RmaXggZXhwcmVz c2lvbnMKICAqLwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvbm9kZXMvcHJpbW5vZGVzLmggYi9z cmMvaW5jbHVkZS9ub2Rlcy9wcmltbm9kZXMuaAppbmRleCAzODRkZjUwYzgwYS4uOWIyYTI3N2U5 ZjYgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL25vZGVzL3ByaW1ub2Rlcy5oCisrKyBiL3NyYy9p bmNsdWRlL25vZGVzL3ByaW1ub2Rlcy5oCkBAIC0zNzksNiArMzc5LDggQEAgdHlwZWRlZiBzdHJ1 Y3QgQ29uc3QKICAqCQkJCW9mIHRoZSBgcGFyYW1pZCcgZmllbGQgY29udGFpbiB0aGUgU3ViTGlu aydzIHN1YkxpbmtJZCwgYW5kCiAgKgkJCQl0aGUgbG93LW9yZGVyIDE2IGJpdHMgY29udGFpbiB0 aGUgY29sdW1uIG51bWJlci4gIChUaGlzIHR5cGUKICAqCQkJCW9mIFBhcmFtIGlzIGFsc28gY29u dmVydGVkIHRvIFBBUkFNX0VYRUMgZHVyaW5nIHBsYW5uaW5nLikKKyAqCQlQQVJBTV9WQVJJQUJM RTogIFRoZSBwYXJhbWV0ZXIgaXMgYSByZWZlcmVuY2UgdG8gYSBzZXNzaW9uIHZhcmlhYmxlCisg KgkJCQkocGFyYW12YXJuYW1lIGhvbGRzIHRoZSB2YXJpYWJsZSdzIG5hbWUpLgogICovCiB0eXBl ZGVmIGVudW0gUGFyYW1LaW5kCiB7CkBAIC0zODYsNiArMzg4LDcgQEAgdHlwZWRlZiBlbnVtIFBh cmFtS2luZAogCVBBUkFNX0VYRUMsCiAJUEFSQU1fU1VCTElOSywKIAlQQVJBTV9NVUxUSUVYUFIs CisJUEFSQU1fVkFSSUFCTEUsCiB9IFBhcmFtS2luZDsKIAogdHlwZWRlZiBzdHJ1Y3QgUGFyYW0K QEAgLTQwMCw2ICs0MDMsOCBAQCB0eXBlZGVmIHN0cnVjdCBQYXJhbQogCWludDMyCQlwYXJhbXR5 cG1vZDsKIAkvKiBPSUQgb2YgY29sbGF0aW9uLCBvciBJbnZhbGlkT2lkIGlmIG5vbmUgKi8KIAlP aWQJCQlwYXJhbWNvbGxpZDsKKwkvKiBPSUQgb2YgdXNlZCBzZXNzaW9uIHZhcmlhYmxlIG9yIElu dmFsaWRPaWQgaWYgbm9uZSAqLworCWNoYXIJICAgKnBhcmFtdmFybmFtZSBwZ19ub2RlX2F0dHIo cXVlcnlfanVtYmxlX2lnbm9yZSk7CiAJLyogdG9rZW4gbG9jYXRpb24sIG9yIC0xIGlmIHVua25v d24gKi8KIAlQYXJzZUxvYwlsb2NhdGlvbjsKIH0gUGFyYW07CmRpZmYgLS1naXQgYS9zcmMvaW5j bHVkZS9wYXJzZXIvcGFyc2Vfbm9kZS5oIGIvc3JjL2luY2x1ZGUvcGFyc2VyL3BhcnNlX25vZGUu aAppbmRleCBmMjNlMjFmMzE4Yi4uMjc4NTk4YTkwZjcgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRl L3BhcnNlci9wYXJzZV9ub2RlLmgKKysrIGIvc3JjL2luY2x1ZGUvcGFyc2VyL3BhcnNlX25vZGUu aApAQCAtMjIzLDYgKzIyMyw3IEBAIHN0cnVjdCBQYXJzZVN0YXRlCiAJYm9vbAkJcF9oYXNUYXJn ZXRTUkZzOwogCWJvb2wJCXBfaGFzU3ViTGlua3M7CiAJYm9vbAkJcF9oYXNNb2RpZnlpbmdDVEU7 CisJYm9vbAkJcF9oYXNTZXNzaW9uVmFyaWFibGVzOwogCiAJTm9kZQkgICAqcF9sYXN0X3NyZjsJ CS8qIG1vc3QgcmVjZW50IHNldC1yZXR1cm5pbmcgZnVuYy9vcCBmb3VuZCAqLwogCmRpZmYgLS1n aXQgYS9zcmMvcGwvcGxwZ3NxbC9zcmMvcGxfZXhlYy5jIGIvc3JjL3BsL3BscGdzcWwvc3JjL3Bs X2V4ZWMuYwppbmRleCA4NDU1MmUzMmM4Ny4uODk0YTdkZTkzYTggMTAwNjQ0Ci0tLSBhL3NyYy9w bC9wbHBnc3FsL3NyYy9wbF9leGVjLmMKKysrIGIvc3JjL3BsL3BscGdzcWwvc3JjL3BsX2V4ZWMu YwpAQCAtODI1Myw3ICs4MjUzLDggQEAgZXhlY19pc19zaW1wbGVfcXVlcnkoUExwZ1NRTF9leHBy ICpleHByKQogCQlxdWVyeS0+c29ydENsYXVzZSB8fAogCQlxdWVyeS0+bGltaXRPZmZzZXQgfHwK IAkJcXVlcnktPmxpbWl0Q291bnQgfHwKLQkJcXVlcnktPnNldE9wZXJhdGlvbnMpCisJCXF1ZXJ5 LT5zZXRPcGVyYXRpb25zIHx8CisJCXF1ZXJ5LT5oYXNTZXNzaW9uVmFyaWFibGVzKQogCQlyZXR1 cm4gZmFsc2U7CiAKIAkvKgpkaWZmIC0tZ2l0IGEvc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZz Lmxpc3QgYi9zcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdAppbmRleCA1ZjkyMTkzYmU1 OC4uZDAyMGFmNjE4ZDAgMTAwNjQ0Ci0tLSBhL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5s aXN0CisrKyBiL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0CkBAIC0zMjY0LDYgKzMy NjQsNyBAQCBWYWxpZGF0b3JWYWxpZGF0ZUNCCiBWYWx1ZXNTY2FuCiBWYWx1ZXNTY2FuU3RhdGUK IFZhcgorVmFyaWFibGVGZW5jZQogVmFyQml0CiBWYXJDaGFyCiBWYXJQYXJhbVN0YXRlCi0tIAoy LjUzLjAKCg== --000000000000f2b535064c467044 Content-Type: text/x-patch; charset="US-ASCII"; name="v20260305-0001-CREATE-VARIABLE-DROP-VARIABLE.patch" Content-Disposition: attachment; filename="v20260305-0001-CREATE-VARIABLE-DROP-VARIABLE.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmdgvcpw10 RnJvbSBhMmUwY2YzNjRjZjI0YzNlMGIxOTk5MzJjYWVjODM5NDI0ZTM3NjBhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPHBhdmVsLnN0ZWh1bGVAZ21h aWwuY29tPgpEYXRlOiBXZWQsIDE5IE5vdiAyMDI1IDE5OjM2OjA3ICswMTAwClN1YmplY3Q6IFtQ QVRDSCAwMS8xMV0gQ1JFQVRFIFZBUklBQkxFLCBEUk9QIFZBUklBQkxFCgotLS0KIGRvYy9zcmMv c2dtbC9kZGwuc2dtbCAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyMCArKwogZG9jL3NyYy9z Z21sL2dsb3NzYXJ5LnNnbWwgICAgICAgICAgICAgICAgICAgIHwgIDE1ICsrCiBkb2Mvc3JjL3Nn bWwvcmVmL2FsbGZpbGVzLnNnbWwgICAgICAgICAgICAgICAgfCAgIDIgKwogZG9jL3NyYy9zZ21s L3JlZi9jcmVhdGVfdmFyaWFibGUuc2dtbCAgICAgICAgIHwgMTMzICsrKysrKysrKysrCiBkb2Mv c3JjL3NnbWwvcmVmL2Ryb3BfdmFyaWFibGUuc2dtbCAgICAgICAgICAgfCAgODQgKysrKysrKwog ZG9jL3NyYy9zZ21sL3JlZmVyZW5jZS5zZ21sICAgICAgICAgICAgICAgICAgIHwgICAyICsKIHNy Yy9iYWNrZW5kL2NvbW1hbmRzL01ha2VmaWxlICAgICAgICAgICAgICAgICB8ICAgMSArCiBzcmMv YmFja2VuZC9jb21tYW5kcy9kcm9wY21kcy5jICAgICAgICAgICAgICAgfCAgIDEgKwogc3JjL2Jh Y2tlbmQvY29tbWFuZHMvbWVzb24uYnVpbGQgICAgICAgICAgICAgIHwgICAxICsKIHNyYy9iYWNr ZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuYyAgICAgICB8IDIxNSArKysrKysrKysrKysr KysrKysKIHNyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkgICAgICAgICAgICAgICAgICAgICB8ICA1 NSArKysrLQogc3JjL2JhY2tlbmQvdGNvcC91dGlsaXR5LmMgICAgICAgICAgICAgICAgICAgIHwg IDI2ICsrKwogc3JjL2Jpbi9wc3FsL3RhYi1jb21wbGV0ZS5pbi5jICAgICAgICAgICAgICAgIHwg IDEwICstCiBzcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmggICAgICAgfCAg MjUgKysKIHNyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaCAgICAgICAgICAgICAgICB8ICAy MyArKwogc3JjL2luY2x1ZGUvcGFyc2VyL2t3bGlzdC5oICAgICAgICAgICAgICAgICAgIHwgICAx ICsKIHNyYy9pbmNsdWRlL3Rjb3AvY21kdGFnbGlzdC5oICAgICAgICAgICAgICAgICB8ICAgMiAr CiAuLi4vZXhwZWN0ZWQvc2Vzc2lvbl92YXJpYWJsZXNfZGRsLm91dCAgICAgICAgfCAgNDMgKysr Kwogc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZSAgICAgICAgICAgIHwgICAyICst CiAuLi4vcmVncmVzcy9zcWwvc2Vzc2lvbl92YXJpYWJsZXNfZGRsLnNxbCAgICAgfCAgNTYgKysr KysKIHNyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0ICAgICAgICAgICAgICB8ICAgNCAr CiAyMSBmaWxlcyBjaGFuZ2VkLCA3MTQgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBkb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV92YXJpYWJsZS5zZ21sCiBj cmVhdGUgbW9kZSAxMDA2NDQgZG9jL3NyYy9zZ21sL3JlZi9kcm9wX3ZhcmlhYmxlLnNnbWwKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBzcmMvYmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMK IGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxl LmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Nlc3Npb25f dmFyaWFibGVzX2RkbC5vdXQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9yZWdyZXNzL3Nx bC9zZXNzaW9uX3ZhcmlhYmxlc19kZGwuc3FsCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2Rk bC5zZ21sIGIvZG9jL3NyYy9zZ21sL2RkbC5zZ21sCmluZGV4IDkwNzBhYWE1YTdjLi4zNWE2YjMy MmNkOSAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL2RkbC5zZ21sCisrKyBiL2RvYy9zcmMvc2dt bC9kZGwuc2dtbApAQCAtNTY5Myw2ICs1NjkzLDI2IEBAIEVYUExBSU4gU0VMRUNUIGNvdW50KCop IEZST00gbWVhc3VyZW1lbnQgV0hFUkUgbG9nZGF0ZSAmZ3Q7PSBEQVRFICcyMDA4LTAxLTAxJzsK ICAgIDwvcGFyYT4KICA8L3NlY3QxPgogCisgPHNlY3QxIGlkPSJkZGwtc2Vzc2lvbi12YXJpYWJs ZXMiPgorICAgPHRpdGxlPlNlc3Npb24gVmFyaWFibGVzPC90aXRsZT4KKworICAgPGluZGV4dGVy bSB6b25lPSJkZGwtc2Vzc2lvbi12YXJpYWJsZXMiPgorICAgIDxwcmltYXJ5PlNlc3Npb24gdmFy aWFibGVzPC9wcmltYXJ5PgorICAgPC9pbmRleHRlcm0+CisKKyAgIDxpbmRleHRlcm0+CisgICAg PHByaW1hcnk+c2Vzc2lvbiB2YXJpYWJsZTwvcHJpbWFyeT4KKyAgIDwvaW5kZXh0ZXJtPgorCisg ICA8cGFyYT4KKyAgICBTZXNzaW9uIHZhcmlhYmxlcyBhcmUgdGVtcG9yYXJ5IGRhdGFiYXNlIG9i amVjdHMgdGhhdCBjYW4gaG9sZCBhIHZhbHVlLgorICAgIEEgc2Vzc2lvbiB2YXJpYWJsZSBjYW4g YmUgY3JlYXRlZCBieSB0aGUgPGNvbW1hbmQ+Q1JFQVRFIFZBUklBQkxFPC9jb21tYW5kPgorICAg IGNvbW1hbmQgYW5kIGNhbiBvbmx5IGJlIGFjY2Vzc2VkIGJ5IGl0cyBvd25lci4gVGhlIHZhbHVl IG9mIGEgc2Vzc2lvbgorICAgIHZhcmlhYmxlIGlzIHN0b3JlZCBpbiBzZXNzaW9uIG1lbW9yeSBh bmQgaXMgcHJpdmF0ZSB0byBlYWNoIHNlc3Npb24uIEl0IGlzCisgICAgYXV0b21hdGljYWxseSBy ZWxlYXNlZCB3aGVuIHRoZSBzZXNzaW9uIGVuZHMuCisgICA8L3BhcmE+CisgPC9zZWN0MT4KKwog IDxzZWN0MSBpZD0iZGRsLW90aGVycyI+CiAgIDx0aXRsZT5PdGhlciBEYXRhYmFzZSBPYmplY3Rz PC90aXRsZT4KIApkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2dsb3NzYXJ5LnNnbWwgYi9kb2Mv c3JjL3NnbWwvZ2xvc3Nhcnkuc2dtbAppbmRleCBlMmRiNWJjYzc4Yy4uZWFiMjJmMTFhNjQgMTAw NjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9nbG9zc2FyeS5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9n bG9zc2FyeS5zZ21sCkBAIC0xNzQzLDYgKzE3NDMsMjEgQEAKICAgIDwvZ2xvc3NkZWY+CiAgIDwv Z2xvc3NlbnRyeT4KIAorICA8Z2xvc3NlbnRyeSBpZD0iZ2xvc3Nhcnktc2Vzc2lvbi12YXJpYWJs ZSI+CisgICA8Z2xvc3N0ZXJtPlNlc3Npb24gdmFyaWFibGU8L2dsb3NzdGVybT4KKyAgIDxnbG9z c2RlZj4KKyAgICA8cGFyYT4KKyAgICAgQSB0ZW1wb3JhbCBkYXRhYmFzZSBvYmplY3QgdGhhdCBo b2xkcyBhIHZhbHVlIGluIHNlc3Npb24gbWVtb3J5LiAgVGhpcworICAgICB2YWx1ZSBpcyBwcml2 YXRlIHRvIGVhY2ggc2Vzc2lvbiBhbmQgaXMgcmVsZWFzZWQgd2hlbiB0aGUgc2Vzc2lvbiBlbmRz LgorICAgICBUaGUgZGVmYXVsdCB2YWx1ZSBvZiB0aGUgc2Vzc2lvbiB2YXJpYWJsZSBpcyBudWxs LiAgUmVhZCBvciB3cml0ZSBhY2Nlc3MKKyAgICAgdG8gc2Vzc2lvbiB2YXJpYWJsZXMgaXMgYWxs b3dlZCBvbmx5IHRvIG93bmVyIChjcmVhdG9yKS4KKyAgICA8L3BhcmE+CisgICAgPHBhcmE+Cisg ICAgIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgPHhyZWYgbGlua2VuZD0iZGRsLXNlc3Npb24t dmFyaWFibGVzIi8+LgorICAgIDwvcGFyYT4KKyAgIDwvZ2xvc3NkZWY+CisgIDwvZ2xvc3NlbnRy eT4KKwogICA8Z2xvc3NlbnRyeSBpZD0iZ2xvc3Nhcnktc2hhcmVkLW1lbW9yeSI+CiAgICA8Z2xv c3N0ZXJtPlNoYXJlZCBtZW1vcnk8L2dsb3NzdGVybT4KICAgIDxnbG9zc2RlZj4KZGlmZiAtLWdp dCBhL2RvYy9zcmMvc2dtbC9yZWYvYWxsZmlsZXMuc2dtbCBiL2RvYy9zcmMvc2dtbC9yZWYvYWxs ZmlsZXMuc2dtbAppbmRleCBlMTY3NDA2Yzc0NC4uYTczNDk5MTk2NTggMTAwNjQ0Ci0tLSBhL2Rv Yy9zcmMvc2dtbC9yZWYvYWxsZmlsZXMuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvcmVmL2FsbGZp bGVzLnNnbWwKQEAgLTk5LDYgKzk5LDcgQEAgQ29tcGxldGUgbGlzdCBvZiB1c2FibGUgc2dtbCBz b3VyY2UgZmlsZXMgaW4gdGhpcyBkaXJlY3RvcnkuCiA8IUVOVElUWSBjcmVhdGVUeXBlICAgICAg ICAgU1lTVEVNICJjcmVhdGVfdHlwZS5zZ21sIj4KIDwhRU5USVRZIGNyZWF0ZVVzZXIgICAgICAg ICBTWVNURU0gImNyZWF0ZV91c2VyLnNnbWwiPgogPCFFTlRJVFkgY3JlYXRlVXNlck1hcHBpbmcg IFNZU1RFTSAiY3JlYXRlX3VzZXJfbWFwcGluZy5zZ21sIj4KKzwhRU5USVRZIGNyZWF0ZVZhcmlh YmxlICAgICBTWVNURU0gImNyZWF0ZV92YXJpYWJsZS5zZ21sIj4KIDwhRU5USVRZIGNyZWF0ZVZp ZXcgICAgICAgICBTWVNURU0gImNyZWF0ZV92aWV3LnNnbWwiPgogPCFFTlRJVFkgZGVhbGxvY2F0 ZSAgICAgICAgIFNZU1RFTSAiZGVhbGxvY2F0ZS5zZ21sIj4KIDwhRU5USVRZIGRlY2xhcmUgICAg ICAgICAgICBTWVNURU0gImRlY2xhcmUuc2dtbCI+CkBAIC0xNDcsNiArMTQ4LDcgQEAgQ29tcGxl dGUgbGlzdCBvZiB1c2FibGUgc2dtbCBzb3VyY2UgZmlsZXMgaW4gdGhpcyBkaXJlY3RvcnkuCiA8 IUVOVElUWSBkcm9wVHlwZSAgICAgICAgICAgU1lTVEVNICJkcm9wX3R5cGUuc2dtbCI+CiA8IUVO VElUWSBkcm9wVXNlciAgICAgICAgICAgU1lTVEVNICJkcm9wX3VzZXIuc2dtbCI+CiA8IUVOVElU WSBkcm9wVXNlck1hcHBpbmcgICAgU1lTVEVNICJkcm9wX3VzZXJfbWFwcGluZy5zZ21sIj4KKzwh RU5USVRZIGRyb3BWYXJpYWJsZSAgICAgICBTWVNURU0gImRyb3BfdmFyaWFibGUuc2dtbCI+CiA8 IUVOVElUWSBkcm9wVmlldyAgICAgICAgICAgU1lTVEVNICJkcm9wX3ZpZXcuc2dtbCI+CiA8IUVO VElUWSBlbmQgICAgICAgICAgICAgICAgU1lTVEVNICJlbmQuc2dtbCI+CiA8IUVOVElUWSBleGVj dXRlICAgICAgICAgICAgU1lTVEVNICJleGVjdXRlLnNnbWwiPgpkaWZmIC0tZ2l0IGEvZG9jL3Ny Yy9zZ21sL3JlZi9jcmVhdGVfdmFyaWFibGUuc2dtbCBiL2RvYy9zcmMvc2dtbC9yZWYvY3JlYXRl X3ZhcmlhYmxlLnNnbWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjRl OGMxOTQwMjUyCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfdmFy aWFibGUuc2dtbApAQCAtMCwwICsxLDEzMyBAQAorPCEtLQorZG9jL3NyYy9zZ21sL3JlZi9jcmVh dGVfdmFyaWFibGUuc2dtbAorUG9zdGdyZVNRTCBkb2N1bWVudGF0aW9uCistLT4KKworPHJlZmVu dHJ5IGlkPSJzcWwtY3JlYXRldmFyaWFibGUiPgorIDxpbmRleHRlcm0gem9uZT0ic3FsLWNyZWF0 ZXZhcmlhYmxlIj4KKyAgPHByaW1hcnk+Q1JFQVRFIFZBUklBQkxFPC9wcmltYXJ5PgorIDwvaW5k ZXh0ZXJtPgorCisgPGluZGV4dGVybT4KKyAgPHByaW1hcnk+c2Vzc2lvbiB2YXJpYWJsZTwvcHJp bWFyeT4KKyAgPHNlY29uZGFyeT5kZWZpbmluZzwvc2Vjb25kYXJ5PgorIDwvaW5kZXh0ZXJtPgor CisgPHJlZm1ldGE+CisgIDxyZWZlbnRyeXRpdGxlPkNSRUFURSBWQVJJQUJMRTwvcmVmZW50cnl0 aXRsZT4KKyAgPG1hbnZvbG51bT43PC9tYW52b2xudW0+CisgIDxyZWZtaXNjaW5mbz5TUUwgLSBM YW5ndWFnZSBTdGF0ZW1lbnRzPC9yZWZtaXNjaW5mbz4KKyA8L3JlZm1ldGE+CisKKyA8cmVmbmFt ZWRpdj4KKyAgPHJlZm5hbWU+Q1JFQVRFIFZBUklBQkxFPC9yZWZuYW1lPgorICA8cmVmcHVycG9z ZT5kZWZpbmUgYSBzZXNzaW9uIHZhcmlhYmxlPC9yZWZwdXJwb3NlPgorIDwvcmVmbmFtZWRpdj4K KworIDxyZWZzeW5vcHNpc2Rpdj4KKzxzeW5vcHNpcz4KK0NSRUFURSB7IFRFTVAgfCBURU1QT1JB UlkgfSBWQVJJQUJMRSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVwbGFj ZWFibGU+IFsgQVMgXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZGF0YV90eXBlPC9y ZXBsYWNlYWJsZT4KKzwvc3lub3BzaXM+CisgPC9yZWZzeW5vcHNpc2Rpdj4KKyA8cmVmc2VjdDE+ CisgIDx0aXRsZT5EZXNjcmlwdGlvbjwvdGl0bGU+CisKKyAgPHBhcmE+CisgICBUaGUgPGNvbW1h bmQ+Q1JFQVRFIFZBUklBQkxFPC9jb21tYW5kPiBjb21tYW5kIGNyZWF0ZXMgYSBzZXNzaW9uCisg ICB2YXJpYWJsZS4gQ3VycmVudGx5IG9ubHkgdGVtcG9yYXJ5IHNlc3Npb24gdmFyaWFibGVzIGFy ZSBzdXBwb3J0ZWQsCisgICBhbmQgdGhlbiB0aGUga2V5d29yZCA8bGl0ZXJhbD5URU1QT1JBUlk8 L2xpdGVyYWw+IGlzIHJlcXVpcmVkLgorICA8L3BhcmE+CisKKyAgPHBhcmE+CisgICBUaGUgdmFs dWUgb2YgYSBzZXNzaW9uIHZhcmlhYmxlIGlzIGxvY2FsIHRvIHRoZSBjdXJyZW50IHNlc3Npb24u ICBSZXRyaWV2aW5nCisgICBhIHNlc3Npb24gdmFyaWFibGUncyB2YWx1ZSByZXR1cm5zIE5VTEws IHVubGVzcyBpdHMgdmFsdWUgaXMgc2V0IHRvCisgICBzb21ldGhpbmcgZWxzZSBpbiB0aGUgY3Vy cmVudCBzZXNzaW9uIHdpdGggYSA8Y29tbWFuZD5MRVQ8L2NvbW1hbmQ+IGNvbW1hbmQuCisgICBU aGUgY29udGVudCBvZiBhIHNlc3Npb24gdmFyaWFibGUgaXMgbm90IHRyYW5zYWN0aW9uYWwuIFRo aXMgaXMgdGhlIHNhbWUgYXMKKyAgIHJlZ3VsYXIgdmFyaWFibGVzIGluIHByb2NlZHVyYWwgbGFu Z3VhZ2VzLgorICA8L3BhcmE+CisKKyAgPHBhcmE+CisgICBTZXNzaW9uIHZhcmlhYmxlcyBhcmUg cmV0cmlldmVkIGJ5IHRoZSA8Y29tbWFuZD5TRUxFQ1Q8L2NvbW1hbmQ+CisgICBjb21tYW5kLiAg VGhlaXIgdmFsdWUgaXMgc2V0IHdpdGggdGhlIDxjb21tYW5kPkxFVDwvY29tbWFuZD4gY29tbWFu ZC4KKyAgPC9wYXJhPgorCisgIDxwYXJhPgorICAgU2Vzc2lvbiB2YXJpYWJsZXMgY2Fubm90IGJl IHVzZWQgaW4gdmlld3Mgb3IgaW4gU1FMIGZ1bmN0aW9ucyB1c2luZworICAgU1FMLWNvbmZvcm1p bmcgc3R5bGUgc3ludGF4LgorICA8L3BhcmE+CisKKyAgPG5vdGU+CisgICA8cGFyYT4KKyAgICBT ZXNzaW9uIHZhcmlhYmxlcyBjYW4gYmUgPHF1b3RlPnNoYWRvd2VkPC9xdW90ZT4gYnkgb3RoZXIg aWRlbnRpZmllcnMuCisgICAgRm9yIGRldGFpbHMsIHNlZSA8eHJlZiBsaW5rZW5kPSJkZGwtc2Vz c2lvbi12YXJpYWJsZXMiLz4uCisgICA8L3BhcmE+CisgIDwvbm90ZT4KKyA8L3JlZnNlY3QxPgor CisgPHJlZnNlY3QxPgorICA8dGl0bGU+UGFyYW1ldGVyczwvdGl0bGU+CisKKyAgPHZhcmlhYmxl bGlzdD4KKworICAgPHZhcmxpc3RlbnRyeSBpZD0ic3FsLWNyZWF0ZXZhcmlhYmxlLW5hbWUiPgor ICAgIDx0ZXJtPjxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5uYW1lPC9yZXBsYWNlYWJs ZT48L3Rlcm0+CisgICAgPGxpc3RpdGVtPgorICAgICA8cGFyYT4KKyAgICAgIFRoZSBuYW1lIG9m IHRoZSBzZXNzaW9uIHZhcmlhYmxlLgorICAgICA8L3BhcmE+CisgICAgPC9saXN0aXRlbT4KKyAg IDwvdmFybGlzdGVudHJ5PgorCisgICA8dmFybGlzdGVudHJ5IGlkPSJzcWwtY3JlYXRldmFyaWFi bGUtZGF0YV90eXBlIj4KKyAgICA8dGVybT48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ ZGF0YV90eXBlPC9yZXBsYWNlYWJsZT48L3Rlcm0+CisgICAgPGxpc3RpdGVtPgorICAgICA8cGFy YT4KKyAgICAgIFRoZSBuYW1lLCBvcHRpb25hbGx5IHNjaGVtYS1xdWFsaWZpZWQsIG9mIHRoZSBk YXRhIHR5cGUgb2YgdGhlIHNlc3Npb24KKyAgICAgIHZhcmlhYmxlLiBPbmx5IGJ1aWxkaW4gc2Nh bGFyIGRhdGEgdHlwZXMgYXJlIGFsbG93ZWQuIEFycmF5cyBvciBjb21wb3NpdGUKKyAgICAgIHR5 cGVzIGFyZSBub3QgYWxsb3dlZC4KKyAgICAgPC9wYXJhPgorICAgIDwvbGlzdGl0ZW0+CisgICA8 L3Zhcmxpc3RlbnRyeT4KKworICA8L3ZhcmlhYmxlbGlzdD4KKyA8L3JlZnNlY3QxPgorCisgPHJl ZnNlY3QxPgorICA8dGl0bGU+Tm90ZXM8L3RpdGxlPgorCisgIDxwYXJhPgorICAgVXNlIHRoZSA8 Y29tbWFuZD5EUk9QIFZBUklBQkxFPC9jb21tYW5kPiBjb21tYW5kIHRvIHJlbW92ZSBhIHNlc3Np b24KKyAgIHZhcmlhYmxlLgorICA8L3BhcmE+CisgPC9yZWZzZWN0MT4KKworIDxyZWZzZWN0MT4K KyAgPHRpdGxlPkV4YW1wbGVzPC90aXRsZT4KKworICA8cGFyYT4KKyAgIENyZWF0ZSBhbiBkYXRl IHNlc3Npb24gdmFyaWFibGUgPGxpdGVyYWw+dmFyMTwvbGl0ZXJhbD46Cis8cHJvZ3JhbWxpc3Rp bmc+CitDUkVBVEUgVEVNUE9SQVJZIFZBUklBQkxFIHZhcjEgQVMgZGF0ZTsKKzwvcHJvZ3JhbWxp c3Rpbmc+CisgIDwvcGFyYT4KKworIDwvcmVmc2VjdDE+CisKKyA8cmVmc2VjdDE+CisgIDx0aXRs ZT5Db21wYXRpYmlsaXR5PC90aXRsZT4KKworICA8cGFyYT4KKyAgIFRoZSA8Y29tbWFuZD5DUkVB VEUgVkFSSUFCTEU8L2NvbW1hbmQ+IGNvbW1hbmQgaXMgYQorICAgPHByb2R1Y3RuYW1lPlBvc3Rn cmVTUUw8L3Byb2R1Y3RuYW1lPiBleHRlbnNpb24uCisgIDwvcGFyYT4KKyA8L3JlZnNlY3QxPgor CisgPHJlZnNlY3QxPgorICA8dGl0bGU+U2VlIEFsc288L3RpdGxlPgorCisgIDxzaW1wbGVsaXN0 IHR5cGU9ImlubGluZSI+CisgICA8bWVtYmVyPjx4cmVmIGxpbmtlbmQ9InNxbC1kcm9wdmFyaWFi bGUiLz48L21lbWJlcj4KKyAgPC9zaW1wbGVsaXN0PgorIDwvcmVmc2VjdDE+CisKKzwvcmVmZW50 cnk+CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmL2Ryb3BfdmFyaWFibGUuc2dtbCBiL2Rv Yy9zcmMvc2dtbC9yZWYvZHJvcF92YXJpYWJsZS5zZ21sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAwLi5lODUxN2E3ODIwMAotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9zcmMv c2dtbC9yZWYvZHJvcF92YXJpYWJsZS5zZ21sCkBAIC0wLDAgKzEsODQgQEAKKzwhLS0KK2RvYy9z cmMvc2dtbC9yZWYvZHJvcF92YXJpYWJsZS5zZ21sCitQb3N0Z3JlU1FMIGRvY3VtZW50YXRpb24K Ky0tPgorCis8cmVmZW50cnkgaWQ9InNxbC1kcm9wdmFyaWFibGUiPgorIDxpbmRleHRlcm0gem9u ZT0ic3FsLWRyb3B2YXJpYWJsZSI+CisgIDxwcmltYXJ5PkRST1AgVkFSSUFCTEU8L3ByaW1hcnk+ CisgPC9pbmRleHRlcm0+CisKKyA8aW5kZXh0ZXJtPgorICA8cHJpbWFyeT5zZXNzaW9uIHZhcmlh YmxlPC9wcmltYXJ5PgorICA8c2Vjb25kYXJ5PnJlbW92aW5nPC9zZWNvbmRhcnk+CisgPC9pbmRl eHRlcm0+CisKKyA8cmVmbWV0YT4KKyAgPHJlZmVudHJ5dGl0bGU+RFJPUCBWQVJJQUJMRTwvcmVm ZW50cnl0aXRsZT4KKyAgPG1hbnZvbG51bT43PC9tYW52b2xudW0+CisgIDxyZWZtaXNjaW5mbz5T UUwgLSBMYW5ndWFnZSBTdGF0ZW1lbnRzPC9yZWZtaXNjaW5mbz4KKyA8L3JlZm1ldGE+CisKKyA8 cmVmbmFtZWRpdj4KKyAgPHJlZm5hbWU+RFJPUCBWQVJJQUJMRTwvcmVmbmFtZT4KKyAgPHJlZnB1 cnBvc2U+cmVtb3ZlIGEgc2Vzc2lvbiB2YXJpYWJsZTwvcmVmcHVycG9zZT4KKyA8L3JlZm5hbWVk aXY+CisKKyA8cmVmc3lub3BzaXNkaXY+Cis8c3lub3BzaXM+CitEUk9QIFZBUklBQkxFIDxyZXBs YWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5uYW1lPC9yZXBsYWNlYWJsZT4KKzwvc3lub3BzaXM+ CisgPC9yZWZzeW5vcHNpc2Rpdj4KKworIDxyZWZzZWN0MT4KKyAgPHRpdGxlPkRlc2NyaXB0aW9u PC90aXRsZT4KKworICA8cGFyYT4KKyAgIDxjb21tYW5kPkRST1AgVkFSSUFCTEU8L2NvbW1hbmQ+ IHJlbW92ZXMgYSBzZXNzaW9uIHZhcmlhYmxlLgorICAgQSBzZXNzaW9uIHZhcmlhYmxlIGNhbiBv bmx5IGJlIHJlbW92ZWQgYnkgaXRzIG93bmVyIG9yIGEgc3VwZXJ1c2VyLgorICA8L3BhcmE+Cisg PC9yZWZzZWN0MT4KKworIDxyZWZzZWN0MT4KKyAgPHRpdGxlPlBhcmFtZXRlcnM8L3RpdGxlPgor ICA8dmFyaWFibGVsaXN0PgorICAgPHZhcmxpc3RlbnRyeT4KKyAgICA8dGVybT48cmVwbGFjZWFi bGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVwbGFjZWFibGU+PC90ZXJtPgorICAgIDxsaXN0 aXRlbT4KKyAgICAgPHBhcmE+CisgICAgICBUaGUgbmFtZSBvZiBhIHNlc3Npb24gdmFyaWFibGUu CisgICAgIDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0ZW50cnk+CisgIDwv dmFyaWFibGVsaXN0PgorIDwvcmVmc2VjdDE+CisKKyA8cmVmc2VjdDE+CisgIDx0aXRsZT5FeGFt cGxlczwvdGl0bGU+CisKKyAgPHBhcmE+CisgICBUbyByZW1vdmUgdGhlIHNlc3Npb24gdmFyaWFi bGUgPGxpdGVyYWw+dmFyMTwvbGl0ZXJhbD46CisKKzxwcm9ncmFtbGlzdGluZz4KK0RST1AgVkFS SUFCTEUgdmFyMTsKKzwvcHJvZ3JhbWxpc3Rpbmc+PC9wYXJhPgorIDwvcmVmc2VjdDE+CisKKyA8 cmVmc2VjdDE+CisgIDx0aXRsZT5Db21wYXRpYmlsaXR5PC90aXRsZT4KKworICA8cGFyYT4KKyAg IFRoZSA8Y29tbWFuZD5EUk9QIFZBUklBQkxFPC9jb21tYW5kPiBjb21tYW5kIGlzIGEKKyAgIDxw cm9kdWN0bmFtZT5Qb3N0Z3JlU1FMPC9wcm9kdWN0bmFtZT4gZXh0ZW5zaW9uLgorICA8L3BhcmE+ CisgPC9yZWZzZWN0MT4KKworIDxyZWZzZWN0MT4KKyAgPHRpdGxlPlNlZSBBbHNvPC90aXRsZT4K KworICA8c2ltcGxlbGlzdCB0eXBlPSJpbmxpbmUiPgorICAgPG1lbWJlcj48eHJlZiBsaW5rZW5k PSJzcWwtY3JlYXRldmFyaWFibGUiLz48L21lbWJlcj4KKyAgPC9zaW1wbGVsaXN0PgorIDwvcmVm c2VjdDE+CisKKzwvcmVmZW50cnk+CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmZXJlbmNl LnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmZXJlbmNlLnNnbWwKaW5kZXggMmNmMDJjMzdiMTcuLmMw M2U3NjkyYzdhIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVmZXJlbmNlLnNnbWwKKysrIGIv ZG9jL3NyYy9zZ21sL3JlZmVyZW5jZS5zZ21sCkBAIC0xMjcsNiArMTI3LDcgQEAKICAgICZjcmVh dGVUeXBlOwogICAgJmNyZWF0ZVVzZXI7CiAgICAmY3JlYXRlVXNlck1hcHBpbmc7CisgICAmY3Jl YXRlVmFyaWFibGU7CiAgICAmY3JlYXRlVmlldzsKICAgICZkZWFsbG9jYXRlOwogICAgJmRlY2xh cmU7CkBAIC0xNzUsNiArMTc2LDcgQEAKICAgICZkcm9wVHlwZTsKICAgICZkcm9wVXNlcjsKICAg ICZkcm9wVXNlck1hcHBpbmc7CisgICAmZHJvcFZhcmlhYmxlOwogICAgJmRyb3BWaWV3OwogICAg JmVuZDsKICAgICZleGVjdXRlOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvTWFr ZWZpbGUgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9NYWtlZmlsZQppbmRleCA2NGNiNjI3ODQwOS4u ZDQyZWQ4OTUyYTIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL01ha2VmaWxlCisr KyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL01ha2VmaWxlCkBAIC01NCw2ICs1NCw3IEBAIE9CSlMg PSBcCiAJc2VjbGFiZWwubyBcCiAJc2VxdWVuY2UubyBcCiAJc2VxdWVuY2VfeGxvZy5vIFwKKwlz ZXNzaW9uX3ZhcmlhYmxlLm8gXAogCXN0YXRzY21kcy5vIFwKIAlzdWJzY3JpcHRpb25jbWRzLm8g XAogCXRhYmxlY21kcy5vIFwKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2Ryb3Bj bWRzLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9kcm9wY21kcy5jCmluZGV4IDkyNTI2MDEyZDJh Li43NzA3NWY5MDUxZCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvZHJvcGNtZHMu YworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9kcm9wY21kcy5jCkBAIC0yMiw2ICsyMiw3IEBA CiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19uYW1lc3BhY2UuaCIKICNpbmNsdWRlICJjYXRhbG9nL3Bn X3Byb2MuaCIKICNpbmNsdWRlICJjb21tYW5kcy9kZWZyZW0uaCIKKyNpbmNsdWRlICJjb21tYW5k cy9zZXNzaW9uX3ZhcmlhYmxlLmgiCiAjaW5jbHVkZSAibWlzY2FkbWluLmgiCiAjaW5jbHVkZSAi cGFyc2VyL3BhcnNlX3R5cGUuaCIKICNpbmNsdWRlICJ1dGlscy9hY2wuaCIKZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL2NvbW1hbmRzL21lc29uLmJ1aWxkIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMv bWVzb24uYnVpbGQKaW5kZXggY2EzZjUzYzYyMTMuLmU4OGUzYjljMDU4IDEwMDY0NAotLS0gYS9z cmMvYmFja2VuZC9jb21tYW5kcy9tZXNvbi5idWlsZAorKysgYi9zcmMvYmFja2VuZC9jb21tYW5k cy9tZXNvbi5idWlsZApAQCAtNDIsNiArNDIsNyBAQCBiYWNrZW5kX3NvdXJjZXMgKz0gZmlsZXMo CiAgICdzZWNsYWJlbC5jJywKICAgJ3NlcXVlbmNlLmMnLAogICAnc2VxdWVuY2VfeGxvZy5jJywK KyAgJ3Nlc3Npb25fdmFyaWFibGUuYycsCiAgICdzdGF0c2NtZHMuYycsCiAgICdzdWJzY3JpcHRp b25jbWRzLmMnLAogICAndGFibGVjbWRzLmMnLApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29t bWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vzc2lvbl92 YXJpYWJsZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5jZDYxZGY0 YTM3MAotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFy aWFibGUuYwpAQCAtMCwwICsxLDIxNSBAQAorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKgorICogc2Vz c2lvbl92YXJpYWJsZS5jCisgKgkgIHNlc3Npb24gdmFyaWFibGUgY3JlYXRpb24vbWFuaXB1bGF0 aW9uIGNvbW1hbmRzCisgKgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAxOTk2LTIwMjUsIFBv c3RncmVTUUwgR2xvYmFsIERldmVsb3BtZW50IEdyb3VwCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQg KGMpIDE5OTQsIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYQorICoKKyAq CisgKiBJREVOVElGSUNBVElPTgorICoJICBzcmMvYmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3Zh cmlhYmxlLmMKKyAqCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqLworI2luY2x1ZGUgInBvc3RncmVz LmgiCisKKyNpbmNsdWRlICJjYXRhbG9nL3BnX2xhbmd1YWdlLmgiCisjaW5jbHVkZSAiY29tbWFu ZHMvc2Vzc2lvbl92YXJpYWJsZS5oIgorI2luY2x1ZGUgIm1pc2NhZG1pbi5oIgorI2luY2x1ZGUg InBhcnNlci9wYXJzZV90eXBlLmgiCisjaW5jbHVkZSAic3RvcmFnZS9wcm9jLmgiCisjaW5jbHVk ZSAidXRpbHMvYnVpbHRpbnMuaCIKKyNpbmNsdWRlICJ1dGlscy9kYXR1bS5oIgorI2luY2x1ZGUg InV0aWxzL2xzeXNjYWNoZS5oIgorI2luY2x1ZGUgInV0aWxzL21lbXV0aWxzLmgiCisKKy8qCisg KiBUaGUgc2Vzc2lvbiB2YXJpYWJsZXMgYXJlIHN0b3JlZCBpbiB0aGUgYmFja2VuZCdzIHByaXZh dGUgbWVtb3J5IChkYXRhLAorICogbWV0YWRhdGEpIGluIHRoZSBkZWRpY2F0ZWQgbWVtb3J5IGNv bnRleHQgU1ZhcmlhYmxlTWVtb3J5Q29udGV4dCBpbiBiaW5hcnkKKyAqIGZvcm1hdC4gVGhleSBh cmUgc3RvcmVkIGluIHRoZSAic2Vzc2lvbnZhcnMiIGhhc2ggdGFibGUsIHdob3NlIGtleSBpcyB0 aGUKKyAqIG5hbWUgb2YgdGhlIHZhcmlhYmxlLgorICoKKyAqIE9ubHkgb3duZXIgKGNyZWF0b3Ip IGNhbiBhY2Nlc3MgdGhlIHNlc3Npb24gdmFyaWFibGVzLiBCZWNhdXNlIHRoZXJlIGlzCisgKiBu b3QgY2F0YWxvZyBzdXBwb3J0LCB0aGVyZSBpcyBub3QgcG9zc2liaWxpdHkgdG8gdHJhY2sgZGVw ZW5kZWNpZXMsIGFuZAorICogdGhlbiBvbmx5IGJ1aWxkaW4gdHlwZXMuCisgKi8KK3R5cGVkZWYg c3RydWN0IFNWYXJpYWJsZURhdGEKK3sKKwlOYW1lRGF0YQl2YXJuYW1lOworCisJT2lkCQkJdmFy b3duZXI7CisJT2lkCQkJdmFydHlwZTsKKwlpbnQzMgkJdmFydHlwbW9kOworCU9pZAkJCXZhcmNv bGxhdGlvbjsKKworCWJvb2wJCWlzbnVsbDsKKwlEYXR1bQkJdmFsdWU7CisKKwlpbnQxNgkJdHlw bGVuOworCWJvb2wJCXR5cGJ5dmFsOworfSBTVmFyaWFibGVEYXRhOworCit0eXBlZGVmIFNWYXJp YWJsZURhdGEgKlNWYXJpYWJsZTsKKworc3RhdGljIEhUQUIgKnNlc3Npb252YXJzID0gTlVMTDsJ LyogaGFzaCB0YWJsZSBmb3Igc2Vzc2lvbiB2YXJpYWJsZXMgKi8KKworc3RhdGljIE1lbW9yeUNv bnRleHQgU1ZhcmlhYmxlTWVtb3J5Q29udGV4dCA9IE5VTEw7CisKKy8qCisgKiBDcmVhdGUgdGhl IGhhc2ggdGFibGUgZm9yIHN0b3Jpbmcgc2Vzc2lvbiB2YXJpYWJsZXMuCisgKi8KK3N0YXRpYyB2 b2lkCitjcmVhdGVfc2Vzc2lvbnZhcnNfaGFzaHRhYmxlcyh2b2lkKQoreworCUhBU0hDVEwJCXZh cnNfY3RsOworCisJQXNzZXJ0KCFzZXNzaW9udmFycyk7CisKKwlpZiAoIVNWYXJpYWJsZU1lbW9y eUNvbnRleHQpCisJeworCQkvKiB3ZSBuZWVkIG91ciBvd24gbG9uZy1saXZlZCBtZW1vcnkgY29u dGV4dCAqLworCQlTVmFyaWFibGVNZW1vcnlDb250ZXh0ID0KKwkJCUFsbG9jU2V0Q29udGV4dENy ZWF0ZShUb3BNZW1vcnlDb250ZXh0LAorCQkJCQkJCQkgICJzZXNzaW9uIHZhcmlhYmxlcyIsCisJ CQkJCQkJCSAgQUxMT0NTRVRfU1RBUlRfU01BTExfU0laRVMpOworCX0KKworCXZhcnNfY3RsLmtl eXNpemUgPSBOQU1FREFUQUxFTjsKKwl2YXJzX2N0bC5lbnRyeXNpemUgPSBzaXplb2YoU1Zhcmlh YmxlRGF0YSk7CisJdmFyc19jdGwuaGN4dCA9IFNWYXJpYWJsZU1lbW9yeUNvbnRleHQ7CisKKwlz ZXNzaW9udmFycyA9IGhhc2hfY3JlYXRlKCJTZXNzaW9uIHZhcmlhYmxlcyIsIDY0LCAmdmFyc19j dGwsCisJCQkJCQkJICBIQVNIX0VMRU0gfCBIQVNIX1NUUklOR1MgfCBIQVNIX0NPTlRFWFQpOwor fQorCisvKgorICogUmV0dXJucyBlbnRyeSBvZiBzZXNzaW9uIHZhcmlhYmxlIHNwZWNpZmllZCBi eSBuYW1lCisgKi8KK3N0YXRpYyBTVmFyaWFibGUKK3NlYXJjaF92YXJpYWJsZShjaGFyICp2YXJu YW1lKQoreworCVNWYXJpYWJsZQlzdmFyOworCisJaWYgKCFzZXNzaW9udmFycykKKwkJY3JlYXRl X3Nlc3Npb252YXJzX2hhc2h0YWJsZXMoKTsKKworCXN2YXIgPSAoU1ZhcmlhYmxlKSBoYXNoX3Nl YXJjaChzZXNzaW9udmFycywgdmFybmFtZSwKKwkJCQkJCQkJICAgSEFTSF9GSU5ELCBOVUxMKTsK KworCWlmICghc3ZhcikKKwkJZXJlcG9ydChFUlJPUiwKKwkJCQkoZXJyY29kZShFUlJDT0RFX1VO REVGSU5FRF9PQkpFQ1QpLAorCQkJCSBlcnJtc2coInNlc3Npb24gdmFyaWFibGUgXCIlc1wiIGRv ZXNuJ3QgZXhpc3QiLAorCQkJCQkJdmFybmFtZSkpKTsKKworCXJldHVybiBzdmFyOworfQorCisv KgorICogQ3JlYXRlcyBhIG5ldyB2YXJpYWJsZSAtIGRvZXMgbmV3IGVudHJ5IGluIHNlc3Npb252 YXJzCisgKgorICogVXNlZCBieSBDUkVBVEUgVkFSSUFCTEUgY29tbWFuZAorICovCit2b2lkCitD cmVhdGVWYXJpYWJsZShQYXJzZVN0YXRlICpwc3RhdGUsIENyZWF0ZVNlc3Npb25WYXJTdG10ICpz dG10KQoreworCU9pZAkJCXR5cGVpZDsKKwlpbnQzMgkJdHlwbW9kOworCU9pZAkJCXR5cGNvbGxh dGlvbjsKKwlPaWQJCQl2YXJvd25lciA9IEdldFVzZXJJZCgpOworCVNWYXJpYWJsZQlzdmFyOwor CWJvb2wJCWZvdW5kOworCWludDE2CQl0eXBsZW47CisJYm9vbAkJdHlwYnl2YWw7CisKKwkvKgor CSAqIEN1cnJlbnQgaW1wbGVtZW50YXRpb24gaXMgbm90IGNhdGFsb2cgYmFzZWQsIGJ1dCB3ZSBl eHBlY3QgY2F0YWxvZworCSAqIGJhc2VkIGltcGxlbWVudGF0aW9uIGZvciBmdXR1cmUsIHNvIHdl IGZvcmNlIHNhbWUgbGltaXRzLgorCSAqLworCVByZXZlbnRDb21tYW5kSWZSZWFkT25seSgiQ1JF QVRFIFZBUklBQkxFIik7CisJUHJldmVudENvbW1hbmRJZlBhcmFsbGVsTW9kZSgiQ1JFQVRFIFZB UklBQkxFIik7CisJUHJldmVudENvbW1hbmREdXJpbmdSZWNvdmVyeSgiQ1JFQVRFIFZBUklBQkxF Iik7CisKKwl0eXBlbmFtZVR5cGVJZEFuZE1vZChwc3RhdGUsIHN0bXQtPnR5cGVOYW1lLCAmdHlw ZWlkLCAmdHlwbW9kKTsKKworCWlmIChnZXRfdHlwdHlwZSh0eXBlaWQpICE9IFRZUFRZUEVfQkFT RSkKKwkJZXJlcG9ydChFUlJPUiwKKwkJCQkoZXJyY29kZShFUlJDT0RFX0ZFQVRVUkVfTk9UX1NV UFBPUlRFRCksCisJCQkJIGVycm1zZygiJXMgaXMgbm90IGEgYmFzZSB0eXBlIiwKKwkJCQkJCWZv cm1hdF90eXBlX2JlKHR5cGVpZCkpKSk7CisKKwlpZiAoT2lkSXNWYWxpZChnZXRfZWxlbWVudF90 eXBlKHR5cGVpZCkpKQorCQllcmVwb3J0KEVSUk9SLAorCQkJCShlcnJjb2RlKEVSUkNPREVfRkVB VFVSRV9OT1RfU1VQUE9SVEVEKSwKKwkJCQkgZXJybXNnKCIlcyB0eXBlIGlzIGFuIGFycmF5IiwK KwkJCQkJCWZvcm1hdF90eXBlX2JlKHR5cGVpZCkpKSk7CisKKwkvKiBhbGxvdyBvbmx5IGJ1aWxk aW4gdHlwZXMgKi8KKwlpZiAodHlwZWlkID49IEZpcnN0VW5waW5uZWRPYmplY3RJZCkKKwkJZXJl cG9ydChFUlJPUiwKKwkJCQllcnJjb2RlKEVSUkNPREVfRkVBVFVSRV9OT1RfU1VQUE9SVEVEKSwK KwkJCQllcnJtc2coInNlc3Npb24gdmFyaWFibGUgY2Fubm90IGhhdmUgYSB1c2VyLWRlZmluZWQg dHlwZSIpLAorCQkJCWVycmRldGFpbCgiU2Vzc2lvbiB2YXJpYWJsZXMgdGhhdCBtYWtlIHVzZSBv ZiB1c2VyLWRlZmluZWQgdHlwZXMgYXJlIG5vdCB5ZXQgc3VwcG9ydGVkLiIpKTsKKworCWdldF90 eXBsZW5ieXZhbCh0eXBlaWQsICZ0eXBsZW4sICZ0eXBieXZhbCk7CisJdHlwY29sbGF0aW9uID0g Z2V0X3R5cGNvbGxhdGlvbih0eXBlaWQpOworCisJaWYgKCFzZXNzaW9udmFycykKKwkJY3JlYXRl X3Nlc3Npb252YXJzX2hhc2h0YWJsZXMoKTsKKworCXN2YXIgPSBoYXNoX3NlYXJjaChzZXNzaW9u dmFycywgc3RtdC0+bmFtZSwKKwkJCQkJICAgSEFTSF9FTlRFUiwgJmZvdW5kKTsKKworCWlmIChm b3VuZCkKKwkJZXJlcG9ydChFUlJPUiwKKwkJCQkoZXJyY29kZShFUlJDT0RFX0RVUExJQ0FURV9P QkpFQ1QpLAorCQkJCSBlcnJtc2coInNlc3Npb24gdmFyaWFibGUgXCIlc1wiIGFscmVhZHkgZXhp c3RzIiwKKwkJCQkJCXN0bXQtPm5hbWUpKSk7CisKKwluYW1lc3RyY3B5KCZzdmFyLT52YXJuYW1l LCBzdG10LT5uYW1lKTsKKwlzdmFyLT52YXJ0eXBlID0gdHlwZWlkOworCXN2YXItPnZhcnR5cG1v ZCA9IHR5cG1vZDsKKwlzdmFyLT52YXJjb2xsYXRpb24gPSB0eXBjb2xsYXRpb247CisJc3Zhci0+ dmFyb3duZXIgPSB2YXJvd25lcjsKKwlzdmFyLT50eXBsZW4gPSB0eXBsZW47CisJc3Zhci0+dHlw Ynl2YWwgPSB0eXBieXZhbDsKKworCXN2YXItPnZhbHVlID0gKERhdHVtKSAwOworCXN2YXItPmlz bnVsbCA9IHRydWU7Cit9CisKKy8qCisgKiBEcm9wIHZhcmlhYmxlIGJ5IG5hbWUKKyAqLwordm9p ZAorRHJvcFZhcmlhYmxlQnlOYW1lKGNoYXIgKnZhcm5hbWUpCit7CisJU1ZhcmlhYmxlCXN2YXI7 CisKKwkvKgorCSAqIEN1cnJlbnQgaW1wbGVtZW50YXRpb24gaXMgbm90IGNhdGFsb2cgYmFzZWQs IGJ1dCB3ZSBleHBlY3QgY2F0YWxvZworCSAqIGJhc2VkIGltcGxlbWVudGF0aW9uIGZvciBmdXR1 cmUsIHNvIHdlIGZvcmNlIHNhbWUgbGltaXRzLgorCSAqLworCVByZXZlbnRDb21tYW5kSWZSZWFk T25seSgiRFJPUCBWQVJJQUJMRSIpOworCVByZXZlbnRDb21tYW5kSWZQYXJhbGxlbE1vZGUoIkRS T1AgVkFSSUFCTEUiKTsKKwlQcmV2ZW50Q29tbWFuZER1cmluZ1JlY292ZXJ5KCJEUk9QIFZBUklB QkxFIik7CisKKwlzdmFyID0gc2VhcmNoX3ZhcmlhYmxlKHZhcm5hbWUpOworCisJLyogb25seSBv d25lciBjYW4gZ2V0IGNvbnRlbnQgb2YgdmFyaWFibGUgKi8KKwlpZiAoc3Zhci0+dmFyb3duZXIg IT0gR2V0VXNlcklkKCkgJiYgIXN1cGVydXNlcigpKQorCQllcmVwb3J0KEVSUk9SLAorCQkJCShl cnJjb2RlKEVSUkNPREVfSU5TVUZGSUNJRU5UX1BSSVZJTEVHRSksCisJCQkJIGVycm1zZygibXVz dCBiZSBvd25lciBvZiBzZXNzaW9uIHZhcmlhYmxlICVzIiwKKwkJCQkJCXZhcm5hbWUpKSk7CisK KwlpZiAoIXN2YXItPnR5cGJ5dmFsICYmICFzdmFyLT5pc251bGwpCisJCXBmcmVlKERhdHVtR2V0 UG9pbnRlcihzdmFyLT52YWx1ZSkpOworCisJaWYgKGhhc2hfc2VhcmNoKHNlc3Npb252YXJzLAor CQkJCQkgICB2YXJuYW1lLAorCQkJCQkgICBIQVNIX1JFTU9WRSwKKwkJCQkJICAgTlVMTCkgPT0g TlVMTCkKKwkJZWxvZyhFUlJPUiwgImhhc2ggdGFibGUgY29ycnVwdGVkIik7Cit9CmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55IGIvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0u eQppbmRleCAzYzNlMjQzMjRhOC4uYTU2NDMwZmJkZmQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5k L3BhcnNlci9ncmFtLnkKKysrIGIvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueQpAQCAtMjkyLDEz ICsyOTIsMTMgQEAgc3RhdGljIE5vZGUgKm1ha2VSZWN1cnNpdmVWaWV3U2VsZWN0KGNoYXIgKnJl bG5hbWUsIExpc3QgKmFsaWFzZXMsIE5vZGUgKnF1ZXJ5KTsKIAkJQ29uc3RyYWludHNTZXRTdG10 IENvcHlTdG10IENyZWF0ZUFzU3RtdCBDcmVhdGVDYXN0U3RtdAogCQlDcmVhdGVEb21haW5TdG10 IENyZWF0ZUV4dGVuc2lvblN0bXQgQ3JlYXRlR3JvdXBTdG10IENyZWF0ZU9wQ2xhc3NTdG10CiAJ CUNyZWF0ZU9wRmFtaWx5U3RtdCBBbHRlck9wRmFtaWx5U3RtdCBDcmVhdGVQTGFuZ1N0bXQKLQkJ Q3JlYXRlU2NoZW1hU3RtdCBDcmVhdGVTZXFTdG10IENyZWF0ZVN0bXQgQ3JlYXRlU3RhdHNTdG10 IENyZWF0ZVRhYmxlU3BhY2VTdG10Ci0JCUNyZWF0ZUZkd1N0bXQgQ3JlYXRlRm9yZWlnblNlcnZl clN0bXQgQ3JlYXRlRm9yZWlnblRhYmxlU3RtdAorCQlDcmVhdGVTY2hlbWFTdG10IENyZWF0ZVNl cVN0bXQgQ3JlYXRlU2Vzc2lvblZhclN0bXQgQ3JlYXRlU3RtdCBDcmVhdGVTdGF0c1N0bXQKKwkJ Q3JlYXRlVGFibGVTcGFjZVN0bXQgQ3JlYXRlRmR3U3RtdCBDcmVhdGVGb3JlaWduU2VydmVyU3Rt dCBDcmVhdGVGb3JlaWduVGFibGVTdG10CiAJCUNyZWF0ZUFzc2VydGlvblN0bXQgQ3JlYXRlVHJh bnNmb3JtU3RtdCBDcmVhdGVUcmlnU3RtdCBDcmVhdGVFdmVudFRyaWdTdG10CiAJCUNyZWF0ZVVz ZXJTdG10IENyZWF0ZVVzZXJNYXBwaW5nU3RtdCBDcmVhdGVSb2xlU3RtdCBDcmVhdGVQb2xpY3lT dG10CiAJCUNyZWF0ZWRiU3RtdCBEZWNsYXJlQ3Vyc29yU3RtdCBEZWZpbmVTdG10IERlbGV0ZVN0 bXQgRGlzY2FyZFN0bXQgRG9TdG10CiAJCURyb3BPcENsYXNzU3RtdCBEcm9wT3BGYW1pbHlTdG10 IERyb3BTdG10Ci0JCURyb3BDYXN0U3RtdCBEcm9wUm9sZVN0bXQKKwkJRHJvcENhc3RTdG10IERy b3BSb2xlU3RtdCBEcm9wU2Vzc2lvblZhclN0bXQKIAkJRHJvcGRiU3RtdCBEcm9wVGFibGVTcGFj ZVN0bXQKIAkJRHJvcFRyYW5zZm9ybVN0bXQKIAkJRHJvcFVzZXJNYXBwaW5nU3RtdCBFeHBsYWlu U3RtdCBGZXRjaFN0bXQKQEAgLTc5NSw4ICs3OTUsOCBAQCBzdGF0aWMgTm9kZSAqbWFrZVJlY3Vy c2l2ZVZpZXdTZWxlY3QoY2hhciAqcmVsbmFtZSwgTGlzdCAqYWxpYXNlcywgTm9kZSAqcXVlcnkp OwogCVVFU0NBUEUgVU5CT1VOREVEIFVOQ09ORElUSU9OQUwgVU5DT01NSVRURUQgVU5FTkNSWVBU RUQgVU5JT04gVU5JUVVFIFVOS05PV04KIAlVTkxJU1RFTiBVTkxPR0dFRCBVTlRJTCBVUERBVEUg VVNFUiBVU0lORwogCi0JVkFDVVVNIFZBTElEIFZBTElEQVRFIFZBTElEQVRPUiBWQUxVRV9QIFZB TFVFUyBWQVJDSEFSIFZBUklBRElDIFZBUllJTkcKLQlWRVJCT1NFIFZFUlNJT05fUCBWSUVXIFZJ RVdTIFZJUlRVQUwgVk9MQVRJTEUKKwlWQUNVVU0gVkFMSUQgVkFMSURBVEUgVkFMSURBVE9SIFZB TFVFX1AgVkFMVUVTIFZBUkNIQVIgVkFSSUFESUMgVkFSSUFCTEUKKwlWQVJZSU5HIFZFUkJPU0Ug VkVSU0lPTl9QIFZJRVcgVklFV1MgVklSVFVBTCBWT0xBVElMRQogCiAJV0FJVCBXSEVOIFdIRVJF IFdISVRFU1BBQ0VfUCBXSU5ET1cgV0lUSCBXSVRISU4gV0lUSE9VVCBXT1JLIFdSQVBQRVIgV1JJ VEUKIApAQCAtMTA2Miw2ICsxMDYyLDcgQEAgc3RtdDoKIAkJCXwgQ3JlYXRlUG9saWN5U3RtdAog CQkJfCBDcmVhdGVQTGFuZ1N0bXQKIAkJCXwgQ3JlYXRlU2NoZW1hU3RtdAorCQkJfCBDcmVhdGVT ZXNzaW9uVmFyU3RtdAogCQkJfCBDcmVhdGVTZXFTdG10CiAJCQl8IENyZWF0ZVN0bXQKIAkJCXwg Q3JlYXRlU3Vic2NyaXB0aW9uU3RtdApAQCAtMTA4OSw2ICsxMDkwLDcgQEAgc3RtdDoKIAkJCXwg RHJvcFRhYmxlU3BhY2VTdG10CiAJCQl8IERyb3BUcmFuc2Zvcm1TdG10CiAJCQl8IERyb3BSb2xl U3RtdAorCQkJfCBEcm9wU2Vzc2lvblZhclN0bXQKIAkJCXwgRHJvcFVzZXJNYXBwaW5nU3RtdAog CQkJfCBEcm9wZGJTdG10CiAJCQl8IEV4ZWN1dGVTdG10CkBAIC01MzkxLDYgKzUzOTMsNDcgQEAg Y3JlYXRlX2V4dGVuc2lvbl9vcHRfaXRlbToKIAkJCQl9CiAJCTsKIAorLyoqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqCisgKgorICoJCVFVRVJZIDoKKyAqCQkJCUNSRUFURSB7IFRFTVAgfCBURU1QT1JBUlkg fSBWQVJJQUJMRSB2YXJuYW1lIFtBU10gdHlwZQorICoKKyAqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8K KworQ3JlYXRlU2Vzc2lvblZhclN0bXQ6CisJCQlDUkVBVEUgT3B0VGVtcCBWQVJJQUJMRSBDb2xJ ZCBvcHRfYXMgVHlwZW5hbWUKKwkJCQl7CisJCQkJCUNyZWF0ZVNlc3Npb25WYXJTdG10ICpuID0g bWFrZU5vZGUoQ3JlYXRlU2Vzc2lvblZhclN0bXQpOworCisJCQkJCWlmICgkMiAhPSBSRUxQRVJT SVNURU5DRV9URU1QKQorCQkJCQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJCQkoZXJyY29kZShFUlJD T0RFX0ZFQVRVUkVfTk9UX1NVUFBPUlRFRCksCisJCQkJCQkJIGVycm1zZygib25seSB0ZW1wb3Jh bCBzZXNzaW9uIHZhcmlhYmxlcyBhcmUgc3VwcG9ydGVkIiksCisJCQkJCQkJIHBhcnNlcl9lcnJw b3NpdGlvbihAMikpKTsKKworCQkJCQluLT5uYW1lID0gJDQ7CisJCQkJCW4tPnR5cGVOYW1lID0g JDY7CisJCQkJCSQkID0gKE5vZGUgKikgbjsKKwkJCQl9CisJCTsKKworLyoqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqCisgKgorICoJCVFVRVJZIDoKKyAqCQkJCURST1AgVkFSSUFCTEUgdmFybmFtZQorICoK KyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKi8KKworRHJvcFNlc3Npb25WYXJTdG10OgorCQkJRFJPUCBW QVJJQUJMRSBDb2xJZAorCQkJCXsKKwkJCQkJRHJvcFNlc3Npb25WYXJTdG10ICpuID0gbWFrZU5v ZGUoRHJvcFNlc3Npb25WYXJTdG10KTsKKworCQkJCQluLT5uYW1lID0gJDM7CisJCQkJCSQkID0g KE5vZGUgKikgbjsKKwkJCQl9CisJCTsKKwogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKgogICog QUxURVIgRVhURU5TSU9OIG5hbWUgVVBEQVRFIFsgVE8gdmVyc2lvbiBdCkBAIC0xODI1OCw2ICsx ODMwMSw3IEBAIHVucmVzZXJ2ZWRfa2V5d29yZDoKIAkJCXwgVkFMSURBVEUKIAkJCXwgVkFMSURB VE9SCiAJCQl8IFZBTFVFX1AKKwkJCXwgVkFSSUFCTEUKIAkJCXwgVkFSWUlORwogCQkJfCBWRVJT SU9OX1AKIAkJCXwgVklFVwpAQCAtMTg5MTgsNiArMTg5NjIsNyBAQCBiYXJlX2xhYmVsX2tleXdv cmQ6CiAJCQl8IFZBTFVFX1AKIAkJCXwgVkFMVUVTCiAJCQl8IFZBUkNIQVIKKwkJCXwgVkFSSUFC TEUKIAkJCXwgVkFSSUFESUMKIAkJCXwgVkVSQk9TRQogCQkJfCBWRVJTSU9OX1AKZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL3Rjb3AvdXRpbGl0eS5jIGIvc3JjL2JhY2tlbmQvdGNvcC91dGlsaXR5 LmMKaW5kZXggYmY3MDdmMmQ1N2YuLjk5Yzk1YjgwNzY3IDEwMDY0NAotLS0gYS9zcmMvYmFja2Vu ZC90Y29wL3V0aWxpdHkuYworKysgYi9zcmMvYmFja2VuZC90Y29wL3V0aWxpdHkuYwpAQCAtNDgs NiArNDgsNyBAQAogI2luY2x1ZGUgImNvbW1hbmRzL3NjaGVtYWNtZHMuaCIKICNpbmNsdWRlICJj b21tYW5kcy9zZWNsYWJlbC5oIgogI2luY2x1ZGUgImNvbW1hbmRzL3NlcXVlbmNlLmgiCisjaW5j bHVkZSAiY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oIgogI2luY2x1ZGUgImNvbW1hbmRzL3N1 YnNjcmlwdGlvbmNtZHMuaCIKICNpbmNsdWRlICJjb21tYW5kcy90YWJsZWNtZHMuaCIKICNpbmNs dWRlICJjb21tYW5kcy90YWJsZXNwYWNlLmgiCkBAIC0xODMsNiArMTg0LDcgQEAgQ2xhc3NpZnlV dGlsaXR5Q29tbWFuZEFzUmVhZE9ubHkoTm9kZSAqcGFyc2V0cmVlKQogCQljYXNlIFRfQ3JlYXRl UmFuZ2VTdG10OgogCQljYXNlIFRfQ3JlYXRlUm9sZVN0bXQ6CiAJCWNhc2UgVF9DcmVhdGVTY2hl bWFTdG10OgorCQljYXNlIFRfQ3JlYXRlU2Vzc2lvblZhclN0bXQ6CiAJCWNhc2UgVF9DcmVhdGVT ZXFTdG10OgogCQljYXNlIFRfQ3JlYXRlU3RhdHNTdG10OgogCQljYXNlIFRfQ3JlYXRlU3RtdDoK QEAgLTIwMSw2ICsyMDMsNyBAQCBDbGFzc2lmeVV0aWxpdHlDb21tYW5kQXNSZWFkT25seShOb2Rl ICpwYXJzZXRyZWUpCiAJCWNhc2UgVF9Ecm9wVGFibGVTcGFjZVN0bXQ6CiAJCWNhc2UgVF9Ecm9w VXNlck1hcHBpbmdTdG10OgogCQljYXNlIFRfRHJvcGRiU3RtdDoKKwkJY2FzZSBUX0Ryb3BTZXNz aW9uVmFyU3RtdDoKIAkJY2FzZSBUX0dyYW50Um9sZVN0bXQ6CiAJCWNhc2UgVF9HcmFudFN0bXQ6 CiAJCWNhc2UgVF9JbXBvcnRGb3JlaWduU2NoZW1hU3RtdDoKQEAgLTEwNjMsNiArMTA2NiwxNSBA QCBzdGFuZGFyZF9Qcm9jZXNzVXRpbGl0eShQbGFubmVkU3RtdCAqcHN0bXQsCiAJCQl9CiAJCQli cmVhazsKIAorCQljYXNlIFRfQ3JlYXRlU2Vzc2lvblZhclN0bXQ6CisJCQlDcmVhdGVWYXJpYWJs ZShwc3RhdGUsIChDcmVhdGVTZXNzaW9uVmFyU3RtdCAqKSBwYXJzZXRyZWUpOworCQkJYnJlYWs7 CisKKwkJY2FzZSBUX0Ryb3BTZXNzaW9uVmFyU3RtdDoKKwkJCS8qIE5vIGV2ZW50IHRyaWdnZXJz IGZvciBjYXRhbG9nIGxlc3Mgc2Vzc2lvbiB2YXJpYWJsZXMgKi8KKwkJCURyb3BWYXJpYWJsZUJ5 TmFtZSgoKERyb3BTZXNzaW9uVmFyU3RtdCAqKSBwYXJzZXRyZWUpLT5uYW1lKTsKKwkJCWJyZWFr OworCiAJCWRlZmF1bHQ6CiAJCQkvKiBBbGwgb3RoZXIgc3RhdGVtZW50IHR5cGVzIGhhdmUgZXZl bnQgdHJpZ2dlciBzdXBwb3J0ICovCiAJCQlQcm9jZXNzVXRpbGl0eVNsb3cocHN0YXRlLCBwc3Rt dCwgcXVlcnlTdHJpbmcsCkBAIC0xMzg4LDYgKzE0MDAsNyBAQCBQcm9jZXNzVXRpbGl0eVNsb3co UGFyc2VTdGF0ZSAqcHN0YXRlLAogCQkJCX0KIAkJCQlicmVhazsKIAorCiAJCQkJLyoKIAkJCQkg KiAqKioqKioqKioqKioqIG9iamVjdCBjcmVhdGlvbiAvIGRlc3RydWN0aW9uICoqKioqKioqKioq KioqCiAJCQkJICovCkBAIC0zMjM2LDYgKzMyNDksMTQgQEAgQ3JlYXRlQ29tbWFuZFRhZyhOb2Rl ICpwYXJzZXRyZWUpCiAJCQl9CiAJCQlicmVhazsKIAorCQljYXNlIFRfQ3JlYXRlU2Vzc2lvblZh clN0bXQ6CisJCQl0YWcgPSBDTURUQUdfQ1JFQVRFX1ZBUklBQkxFOworCQkJYnJlYWs7CisKKwkJ Y2FzZSBUX0Ryb3BTZXNzaW9uVmFyU3RtdDoKKwkJCXRhZyA9IENNRFRBR19EUk9QX1ZBUklBQkxF OworCQkJYnJlYWs7CisKIAkJZGVmYXVsdDoKIAkJCWVsb2coV0FSTklORywgInVucmVjb2duaXpl ZCBub2RlIHR5cGU6ICVkIiwKIAkJCQkgKGludCkgbm9kZVRhZyhwYXJzZXRyZWUpKTsKQEAgLTM3 NzQsNiArMzc5NSwxMSBAQCBHZXRDb21tYW5kTG9nTGV2ZWwoTm9kZSAqcGFyc2V0cmVlKQogCQkJ fQogCQkJYnJlYWs7CiAKKwkJY2FzZSBUX0NyZWF0ZVNlc3Npb25WYXJTdG10OgorCQljYXNlIFRf RHJvcFNlc3Npb25WYXJTdG10OgorCQkJbGV2ID0gTE9HU1RNVF9EREw7CisJCQlicmVhazsKKwog CQlkZWZhdWx0OgogCQkJZWxvZyhXQVJOSU5HLCAidW5yZWNvZ25pemVkIG5vZGUgdHlwZTogJWQi LAogCQkJCSAoaW50KSBub2RlVGFnKHBhcnNldHJlZSkpOwpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9w c3FsL3RhYi1jb21wbGV0ZS5pbi5jIGIvc3JjL2Jpbi9wc3FsL3RhYi1jb21wbGV0ZS5pbi5jCmlu ZGV4IGY4YzA4NjVjYTg5Li43N2YxMjYzZDc5OSAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wc3FsL3Rh Yi1jb21wbGV0ZS5pbi5jCisrKyBiL3NyYy9iaW4vcHNxbC90YWItY29tcGxldGUuaW4uYwpAQCAt MTM2NCw2ICsxMzY0LDcgQEAgc3RhdGljIGNvbnN0IHBnc3FsX3RoaW5nX3Qgd29yZHNfYWZ0ZXJf Y3JlYXRlW10gPSB7CiAJeyJVU0VSIiwgUXVlcnlfZm9yX2xpc3Rfb2Zfcm9sZXMsIE5VTEwsIE5V TEwsIEtleXdvcmRzX2Zvcl91c2VyX3RoaW5nfSwKIAl7IlVTRVIgTUFQUElORyBGT1IiLCBOVUxM LCBOVUxMLCBOVUxMfSwKIAl7IlZJRVciLCBOVUxMLCBOVUxMLCAmUXVlcnlfZm9yX2xpc3Rfb2Zf dmlld3N9LAorCXsiVkFSSUFCTEUiLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLCBUSElOR19OT19D UkVBVEV9LAogCXtOVUxMfQkJCQkJCS8qIGVuZCBvZiBsaXN0ICovCiB9OwogCkBAIC0zNzkxLDcg KzM3OTIsNyBAQCBtYXRjaF9wcmV2aW91c193b3JkcyhpbnQgcGF0dGVybl9pZCwKIC8qIENSRUFU RSBUQUJMRSAtLS0gaXMgYWxsb3dlZCBpbnNpZGUgQ1JFQVRFIFNDSEVNQSwgc28gdXNlIFRhaWxN YXRjaGVzICovCiAJLyogQ29tcGxldGUgIkNSRUFURSBURU1QL1RFTVBPUkFSWSIgd2l0aCB0aGUg cG9zc2libGUgdGVtcCBvYmplY3RzICovCiAJZWxzZSBpZiAoVGFpbE1hdGNoZXMoIkNSRUFURSIs ICJURU1QfFRFTVBPUkFSWSIpKQotCQlDT01QTEVURV9XSVRIKCJTRVFVRU5DRSIsICJUQUJMRSIs ICJWSUVXIik7CisJCUNPTVBMRVRFX1dJVEgoIlNFUVVFTkNFIiwgIlRBQkxFIiwgIlZBUklBQkxF IiwgIlZJRVciKTsKIAkvKiBDb21wbGV0ZSAiQ1JFQVRFIFVOTE9HR0VEIiB3aXRoIFRBQkxFIG9y IFNFUVVFTkNFICovCiAJZWxzZSBpZiAoVGFpbE1hdGNoZXMoIkNSRUFURSIsICJVTkxPR0dFRCIp KQogCQlDT01QTEVURV9XSVRIKCJUQUJMRSIsICJTRVFVRU5DRSIpOwpAQCAtNDE0NCw2ICs0MTQ1 LDEzIEBAIG1hdGNoX3ByZXZpb3VzX3dvcmRzKGludCBwYXR0ZXJuX2lkLAogCQkJQ09NUExFVEVf V0lUSCgiLCIsICIpIik7CiAJfQogCisvKiBDUkVBVEUgVkFSSUFCTEUgKi8KKwllbHNlIGlmIChN YXRjaGVzKCJDUkVBVEUiLCAiVEVNUHxURU1QT1JBUlkiLCAiVkFSSUFCTEUiLCBNYXRjaEFueSkp CisJCUNPTVBMRVRFX1dJVEgoIkFTIik7CisJZWxzZSBpZiAoVGFpbE1hdGNoZXMoIlZBUklBQkxF IiwgTWF0Y2hBbnksICJBUyIpKQorCQkvKiBDb21wbGV0ZSBDUkVBVEUgVkFSSUFCTEUgPG5hbWU+ IHdpdGggQVMgdHlwZXMgKi8KKwkJQ09NUExFVEVfV0lUSF9TQ0hFTUFfUVVFUlkoUXVlcnlfZm9y X2xpc3Rfb2ZfZGF0YXR5cGVzKTsKKwogLyogQ1JFQVRFIFZJRVcgLS0tIGlzIGFsbG93ZWQgaW5z aWRlIENSRUFURSBTQ0hFTUEsIHNvIHVzZSBUYWlsTWF0Y2hlcyAqLwogCS8qIENvbXBsZXRlIENS RUFURSBbIE9SIFJFUExBQ0UgXSBWSUVXIDxuYW1lPiB3aXRoIEFTIG9yIFdJVEggKi8KIAllbHNl IGlmIChUYWlsTWF0Y2hlcygiQ1JFQVRFIiwgIlZJRVciLCBNYXRjaEFueSkgfHwKZGlmZiAtLWdp dCBhL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuaCBiL3NyYy9pbmNsdWRl L2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMC4uMWVkNDBkODdhMzgKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvaW5jbHVkZS9j b21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmgKQEAgLTAsMCArMSwyNSBAQAorLyotLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCisgKgorICogc2Vzc2lvbnZhcmlhYmxlLmgKKyAqCSAgcHJvdG90eXBlcyBmb3Igc2Vz c2lvbnZhcmlhYmxlLmMuCisgKgorICoKKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMTk5Ni0y MDI1LCBQb3N0Z3JlU1FMIEdsb2JhbCBEZXZlbG9wbWVudCBHcm91cAorICogUG9ydGlvbnMgQ29w eXJpZ2h0IChjKSAxOTk0LCBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEK KyAqCisgKiBzcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmgKKyAqCisgKi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KKyAqLworCisjaWZuZGVmIFNFU1NJT05WQVJJQUJMRV9ICisjZGVmaW5l IFNFU1NJT05WQVJJQUJMRV9ICisKKyNpbmNsdWRlICJjYXRhbG9nL29iamVjdGFkZHJlc3MuaCIK KyNpbmNsdWRlICJwYXJzZXIvcGFyc2Vfbm9kZS5oIgorI2luY2x1ZGUgIm5vZGVzL3BhcnNlbm9k ZXMuaCIKKworZXh0ZXJuIHZvaWQgQ3JlYXRlVmFyaWFibGUoUGFyc2VTdGF0ZSAqcHN0YXRlLCBD cmVhdGVTZXNzaW9uVmFyU3RtdCAqc3RtdCk7CitleHRlcm4gdm9pZCBEcm9wVmFyaWFibGVCeU5h bWUoY2hhciAqdmFybmFtZSk7CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvbm9k ZXMvcGFyc2Vub2Rlcy5oIGIvc3JjL2luY2x1ZGUvbm9kZXMvcGFyc2Vub2Rlcy5oCmluZGV4IGZm NDE5NDNhNmRiLi40ZDlhMzdlYzc1NiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvbm9kZXMvcGFy c2Vub2Rlcy5oCisrKyBiL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaApAQCAtMzU4Niw2 ICszNTg2LDI5IEBAIHR5cGVkZWYgc3RydWN0IEFsdGVyU3RhdHNTdG10CiAJYm9vbAkJbWlzc2lu Z19vazsJCS8qIHNraXAgZXJyb3IgaWYgc3RhdGlzdGljcyBvYmplY3QgaXMgbWlzc2luZyAqLwog fSBBbHRlclN0YXRzU3RtdDsKIAorCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKgkJQ3Jl YXRlIFZhcmlhYmxlIFN0YXRlbWVudAorICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCit0 eXBlZGVmIHN0cnVjdCBDcmVhdGVTZXNzaW9uVmFyU3RtdAoreworCU5vZGVUYWcJCXR5cGU7CisJ Y2hhcgkgICAqbmFtZTsJCS8qIHRoZSB2YXJpYWJsZSB0byBjcmVhdGUgKi8KKwlUeXBlTmFtZSAg ICp0eXBlTmFtZTsJCS8qIHRoZSB0eXBlIG9mIHZhcmlhYmxlICovCit9IENyZWF0ZVNlc3Npb25W YXJTdG10OworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKgkJRFJPUCBWYXJpYWJsZSBT dGF0ZW1lbnQKKyAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqLwordHlwZWRlZiBzdHJ1Y3Qg RHJvcFNlc3Npb25WYXJTdG10Cit7CisJTm9kZVRhZwkJdHlwZTsKKwljaGFyCSAgICpuYW1lOwor fSBEcm9wU2Vzc2lvblZhclN0bXQ7CisKKwogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICoJ CUNyZWF0ZSBGdW5jdGlvbiBTdGF0ZW1lbnQKICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KZGlm ZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3BhcnNlci9rd2xpc3QuaCBiL3NyYy9pbmNsdWRlL3BhcnNl ci9rd2xpc3QuaAppbmRleCBmNzc1M2M1YzhhOC4uZDRiMTIyM2EzM2UgMTAwNjQ0Ci0tLSBhL3Ny Yy9pbmNsdWRlL3BhcnNlci9rd2xpc3QuaAorKysgYi9zcmMvaW5jbHVkZS9wYXJzZXIva3dsaXN0 LmgKQEAgLTQ5MSw2ICs0OTEsNyBAQCBQR19LRVlXT1JEKCJ2YWxpZGF0b3IiLCBWQUxJREFUT1Is IFVOUkVTRVJWRURfS0VZV09SRCwgQkFSRV9MQUJFTCkKIFBHX0tFWVdPUkQoInZhbHVlIiwgVkFM VUVfUCwgVU5SRVNFUlZFRF9LRVlXT1JELCBCQVJFX0xBQkVMKQogUEdfS0VZV09SRCgidmFsdWVz IiwgVkFMVUVTLCBDT0xfTkFNRV9LRVlXT1JELCBCQVJFX0xBQkVMKQogUEdfS0VZV09SRCgidmFy Y2hhciIsIFZBUkNIQVIsIENPTF9OQU1FX0tFWVdPUkQsIEJBUkVfTEFCRUwpCitQR19LRVlXT1JE KCJ2YXJpYWJsZSIsIFZBUklBQkxFLCBVTlJFU0VSVkVEX0tFWVdPUkQsIEJBUkVfTEFCRUwpCiBQ R19LRVlXT1JEKCJ2YXJpYWRpYyIsIFZBUklBRElDLCBSRVNFUlZFRF9LRVlXT1JELCBCQVJFX0xB QkVMKQogUEdfS0VZV09SRCgidmFyeWluZyIsIFZBUllJTkcsIFVOUkVTRVJWRURfS0VZV09SRCwg QVNfTEFCRUwpCiBQR19LRVlXT1JEKCJ2ZXJib3NlIiwgVkVSQk9TRSwgVFlQRV9GVU5DX05BTUVf S0VZV09SRCwgQkFSRV9MQUJFTCkKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3Rjb3AvY21kdGFn bGlzdC5oIGIvc3JjL2luY2x1ZGUvdGNvcC9jbWR0YWdsaXN0LmgKaW5kZXggMTI5MGM5YmFiNjgu LjRiOTY0ZDBmYjVhIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS90Y29wL2NtZHRhZ2xpc3QuaAor KysgYi9zcmMvaW5jbHVkZS90Y29wL2NtZHRhZ2xpc3QuaApAQCAtMTIzLDYgKzEyMyw3IEBAIFBH X0NNRFRBRyhDTURUQUdfQ1JFQVRFX1RSQU5TRk9STSwgIkNSRUFURSBUUkFOU0ZPUk0iLCB0cnVl LCBmYWxzZSwgZmFsc2UpCiBQR19DTURUQUcoQ01EVEFHX0NSRUFURV9UUklHR0VSLCAiQ1JFQVRF IFRSSUdHRVIiLCB0cnVlLCBmYWxzZSwgZmFsc2UpCiBQR19DTURUQUcoQ01EVEFHX0NSRUFURV9U WVBFLCAiQ1JFQVRFIFRZUEUiLCB0cnVlLCBmYWxzZSwgZmFsc2UpCiBQR19DTURUQUcoQ01EVEFH X0NSRUFURV9VU0VSX01BUFBJTkcsICJDUkVBVEUgVVNFUiBNQVBQSU5HIiwgdHJ1ZSwgZmFsc2Us IGZhbHNlKQorUEdfQ01EVEFHKENNRFRBR19DUkVBVEVfVkFSSUFCTEUsICJDUkVBVEUgVkFSSUFC TEUiLCB0cnVlLCBmYWxzZSwgZmFsc2UpCiBQR19DTURUQUcoQ01EVEFHX0NSRUFURV9WSUVXLCAi Q1JFQVRFIFZJRVciLCB0cnVlLCBmYWxzZSwgZmFsc2UpCiBQR19DTURUQUcoQ01EVEFHX0RFQUxM T0NBVEUsICJERUFMTE9DQVRFIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSkKIFBHX0NNRFRBRyhDTURU QUdfREVBTExPQ0FURV9BTEwsICJERUFMTE9DQVRFIEFMTCIsIGZhbHNlLCBmYWxzZSwgZmFsc2Up CkBAIC0xNzUsNiArMTc2LDcgQEAgUEdfQ01EVEFHKENNRFRBR19EUk9QX1RSQU5TRk9STSwgIkRS T1AgVFJBTlNGT1JNIiwgdHJ1ZSwgZmFsc2UsIGZhbHNlKQogUEdfQ01EVEFHKENNRFRBR19EUk9Q X1RSSUdHRVIsICJEUk9QIFRSSUdHRVIiLCB0cnVlLCBmYWxzZSwgZmFsc2UpCiBQR19DTURUQUco Q01EVEFHX0RST1BfVFlQRSwgIkRST1AgVFlQRSIsIHRydWUsIGZhbHNlLCBmYWxzZSkKIFBHX0NN RFRBRyhDTURUQUdfRFJPUF9VU0VSX01BUFBJTkcsICJEUk9QIFVTRVIgTUFQUElORyIsIHRydWUs IGZhbHNlLCBmYWxzZSkKK1BHX0NNRFRBRyhDTURUQUdfRFJPUF9WQVJJQUJMRSwgIkRST1AgVkFS SUFCTEUiLCB0cnVlLCBmYWxzZSwgZmFsc2UpCiBQR19DTURUQUcoQ01EVEFHX0RST1BfVklFVywg IkRST1AgVklFVyIsIHRydWUsIGZhbHNlLCBmYWxzZSkKIFBHX0NNRFRBRyhDTURUQUdfRVhFQ1VU RSwgIkVYRUNVVEUiLCBmYWxzZSwgZmFsc2UsIGZhbHNlKQogUEdfQ01EVEFHKENNRFRBR19FWFBM QUlOLCAiRVhQTEFJTiIsIGZhbHNlLCBmYWxzZSwgZmFsc2UpCmRpZmYgLS1naXQgYS9zcmMvdGVz dC9yZWdyZXNzL2V4cGVjdGVkL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5vdXQgYi9zcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5vdXQKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjQ1YzJkMjdhYjQ0Ci0tLSAvZGV2L251bGwKKysrIGIv c3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zZXNzaW9uX3ZhcmlhYmxlc19kZGwub3V0CkBAIC0w LDAgKzEsNDMgQEAKK1NFVCBsb2dfc3RhdGVtZW50IFRPIGRkbDsKKy0tIHNob3VsZCB0byBmYWls CitDUkVBVEUgVkFSSUFCTEUgeCBBUyBpbnQ7CitFUlJPUjogIG9ubHkgdGVtcG9yYWwgc2Vzc2lv biB2YXJpYWJsZXMgYXJlIHN1cHBvcnRlZAorLS0gc2hvdWxkIGJlIG9rCitDUkVBVEUgVEVNUE9S QVJZIFZBUklBQkxFIHggQVMgaW50OworLS0gc2hvdWxkIGZhaWwKK0NSRUFURSBURU1QT1JBUlkg VkFSSUFCTEUgeCBBUyBpbnQ7CitFUlJPUjogIHNlc3Npb24gdmFyaWFibGUgIngiIGFscmVhZHkg ZXhpc3RzCistLSBzaG91bGQgZmFpbAorRFJPUCBWQVJJQUJMRSB5OworRVJST1I6ICBzZXNzaW9u IHZhcmlhYmxlICJ5IiBkb2Vzbid0IGV4aXN0CistLSBzaG91bGQgYmUgb2sKK0RST1AgVkFSSUFC TEUgeDsKK0NSRUFURSBUWVBFIHRlc3RfdHlwZSBBUyAoeCBpbnQsIHkgaW50KTsKKy0tIHNob3Vs ZCBmYWlsCitDUkVBVEUgVkFSSUFCTEUgeCBBUyB0ZXN0X3R5cGU7CitFUlJPUjogIG9ubHkgdGVt cG9yYWwgc2Vzc2lvbiB2YXJpYWJsZXMgYXJlIHN1cHBvcnRlZAorRFJPUCBUWVBFIHRlc3RfdHlw ZTsKKy0tIHNob3VsZCBmYWlsCitDUkVBVEUgVkFSSUFCTEUgeCBBUyBpbnRbXTsKK0VSUk9SOiAg b25seSB0ZW1wb3JhbCBzZXNzaW9uIHZhcmlhYmxlcyBhcmUgc3VwcG9ydGVkCitDUkVBVEUgRE9N QUlOIHRlc3RfZG9tYWluIEFTIGludDsKKy0tIHNob3VsZCBmYWlsCitDUkVBVEUgVEVNUCBWQVJJ QUJMRSB4IEFTIHRlc3RfZG9tYWluOworRVJST1I6ICB0ZXN0X2RvbWFpbiBpcyBub3QgYSBiYXNl IHR5cGUKK0RST1AgRE9NQUlOIHRlc3RfZG9tYWluOworQ1JFQVRFIFJPTEUgcmVncmVzc19zZXNz aW9uX3ZhcmlhYmxlX3Rlc3Rfcm9sZV8wMTsKK0NSRUFURSBST0xFIHJlZ3Jlc3Nfc2Vzc2lvbl92 YXJpYWJsZV90ZXN0X3JvbGVfMDI7CitTRVQgUk9MRSBUTyByZWdyZXNzX3Nlc3Npb25fdmFyaWFi bGVfdGVzdF9yb2xlXzAxOworQ1JFQVRFIFRFTVAgVkFSSUFCTEUgeCBBUyBpbnQ7CitTRVQgUk9M RSBUTyBkZWZhdWx0OworU0VUIFJPTEUgVE8gcmVncmVzc19zZXNzaW9uX3ZhcmlhYmxlX3Rlc3Rf cm9sZV8wMjsKKy0tIHNob3VsZCBmYWlsCitEUk9QIFZBUklBQkxFIHg7CitFUlJPUjogIG11c3Qg YmUgb3duZXIgb2Ygc2Vzc2lvbiB2YXJpYWJsZSB4CitTRVQgUk9MRSBUTyBkZWZhdWx0OworU0VU IFJPTEUgVE8gcmVncmVzc19zZXNzaW9uX3ZhcmlhYmxlX3Rlc3Rfcm9sZV8wMTsKKy0tIHNob3Vs ZCBiZSBvaworRFJPUCBWQVJJQUJMRSB4OworU0VUIFJPTEUgVE8gREVGQVVMVDsKK0RST1AgUk9M RSByZWdyZXNzX3Nlc3Npb25fdmFyaWFibGVfdGVzdF9yb2xlXzAxOworRFJPUCBST0xFIHJlZ3Jl c3Nfc2Vzc2lvbl92YXJpYWJsZV90ZXN0X3JvbGVfMDI7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9y ZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlIGIvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hl ZHVsZQppbmRleCA1NDllOWIyZDdiZS4uOGY5OTg4OTU0ZjkgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0 L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxl bF9zY2hlZHVsZQpAQCAtMTE1LDcgKzExNSw3IEBAIHRlc3Q6IGpzb24ganNvbmIganNvbl9lbmNv ZGluZyBqc29ucGF0aCBqc29ucGF0aF9lbmNvZGluZyBqc29uYl9qc29ucGF0aCBzcWxqc29uCiAj IE5COiB0ZW1wLnNxbCBkb2VzIHJlY29ubmVjdHMgd2hpY2ggdHJhbnNpZW50bHkgdXNlcyAyIGNv bm5lY3Rpb25zLAogIyBzbyBrZWVwIHRoaXMgcGFyYWxsZWwgZ3JvdXAgdG8gYXQgbW9zdCAxOSB0 ZXN0cwogIyAtLS0tLS0tLS0tCi10ZXN0OiBwbGFuY2FjaGUgbGltaXQgcGxwZ3NxbCBjb3B5MiB0 ZW1wIGRvbWFpbiByYW5nZWZ1bmNzIHByZXBhcmUgY29udmVyc2lvbiB0cnVuY2F0ZSBhbHRlcl90 YWJsZSBzZXF1ZW5jZSBwb2x5bW9ycGhpc20gcm93dHlwZXMgcmV0dXJuaW5nIGxhcmdlb2JqZWN0 IHdpdGggeG1sCit0ZXN0OiBwbGFuY2FjaGUgbGltaXQgcGxwZ3NxbCBjb3B5MiB0ZW1wIGRvbWFp biByYW5nZWZ1bmNzIHByZXBhcmUgY29udmVyc2lvbiB0cnVuY2F0ZSBhbHRlcl90YWJsZSBzZXF1 ZW5jZSBwb2x5bW9ycGhpc20gcm93dHlwZXMgcmV0dXJuaW5nIGxhcmdlb2JqZWN0IHdpdGggeG1s IHNlc3Npb25fdmFyaWFibGVzX2RkbAogCiAjIC0tLS0tLS0tLS0KICMgQW5vdGhlciBncm91cCBv ZiBwYXJhbGxlbCB0ZXN0cwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc2Vzc2lv bl92YXJpYWJsZXNfZGRsLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Nlc3Npb25fdmFyaWFi bGVzX2RkbC5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjM0ZjM0 ZGQ4OThmCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc2Vzc2lvbl92 YXJpYWJsZXNfZGRsLnNxbApAQCAtMCwwICsxLDU2IEBACitTRVQgbG9nX3N0YXRlbWVudCBUTyBk ZGw7CisKKy0tIHNob3VsZCB0byBmYWlsCitDUkVBVEUgVkFSSUFCTEUgeCBBUyBpbnQ7CisKKy0t IHNob3VsZCBiZSBvaworQ1JFQVRFIFRFTVBPUkFSWSBWQVJJQUJMRSB4IEFTIGludDsKKworLS0g c2hvdWxkIGZhaWwKK0NSRUFURSBURU1QT1JBUlkgVkFSSUFCTEUgeCBBUyBpbnQ7CisKKy0tIHNo b3VsZCBmYWlsCitEUk9QIFZBUklBQkxFIHk7CisKKy0tIHNob3VsZCBiZSBvaworRFJPUCBWQVJJ QUJMRSB4OworCitDUkVBVEUgVFlQRSB0ZXN0X3R5cGUgQVMgKHggaW50LCB5IGludCk7CisKKy0t IHNob3VsZCBmYWlsCitDUkVBVEUgVkFSSUFCTEUgeCBBUyB0ZXN0X3R5cGU7CisKK0RST1AgVFlQ RSB0ZXN0X3R5cGU7CisKKy0tIHNob3VsZCBmYWlsCitDUkVBVEUgVkFSSUFCTEUgeCBBUyBpbnRb XTsKKworQ1JFQVRFIERPTUFJTiB0ZXN0X2RvbWFpbiBBUyBpbnQ7CisKKy0tIHNob3VsZCBmYWls CitDUkVBVEUgVEVNUCBWQVJJQUJMRSB4IEFTIHRlc3RfZG9tYWluOworCitEUk9QIERPTUFJTiB0 ZXN0X2RvbWFpbjsKKworQ1JFQVRFIFJPTEUgcmVncmVzc19zZXNzaW9uX3ZhcmlhYmxlX3Rlc3Rf cm9sZV8wMTsKK0NSRUFURSBST0xFIHJlZ3Jlc3Nfc2Vzc2lvbl92YXJpYWJsZV90ZXN0X3JvbGVf MDI7CisKK1NFVCBST0xFIFRPIHJlZ3Jlc3Nfc2Vzc2lvbl92YXJpYWJsZV90ZXN0X3JvbGVfMDE7 CisKK0NSRUFURSBURU1QIFZBUklBQkxFIHggQVMgaW50OworCitTRVQgUk9MRSBUTyBkZWZhdWx0 OworU0VUIFJPTEUgVE8gcmVncmVzc19zZXNzaW9uX3ZhcmlhYmxlX3Rlc3Rfcm9sZV8wMjsKKwor LS0gc2hvdWxkIGZhaWwKK0RST1AgVkFSSUFCTEUgeDsKKworU0VUIFJPTEUgVE8gZGVmYXVsdDsK K1NFVCBST0xFIFRPIHJlZ3Jlc3Nfc2Vzc2lvbl92YXJpYWJsZV90ZXN0X3JvbGVfMDE7CisKKy0t IHNob3VsZCBiZSBvaworRFJPUCBWQVJJQUJMRSB4OworCitTRVQgUk9MRSBUTyBERUZBVUxUOwor RFJPUCBST0xFIHJlZ3Jlc3Nfc2Vzc2lvbl92YXJpYWJsZV90ZXN0X3JvbGVfMDE7CitEUk9QIFJP TEUgcmVncmVzc19zZXNzaW9uX3ZhcmlhYmxlX3Rlc3Rfcm9sZV8wMjsKZGlmZiAtLWdpdCBhL3Ny Yy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0IGIvc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVk ZWZzLmxpc3QKaW5kZXggNzdlM2MwNDE0NGUuLjVmOTIxOTNiZTU4IDEwMDY0NAotLS0gYS9zcmMv dG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdAorKysgYi9zcmMvdG9vbHMvcGdpbmRlbnQvdHlw ZWRlZnMubGlzdApAQCAtNTc0LDYgKzU3NCw3IEBAIENyZWF0ZVJvbGVTdG10CiBDcmVhdGVTY2hl bWFTdG10CiBDcmVhdGVTY2hlbWFTdG10Q29udGV4dAogQ3JlYXRlU2VxU3RtdAorQ3JlYXRlU2Vz c2lvblZhclN0bXQKIENyZWF0ZVN0YXRzU3RtdAogQ3JlYXRlU3RtdAogQ3JlYXRlU3RtdENvbnRl eHQKQEAgLTY3OCw2ICs2NzksNyBAQCBEcm9wQmVoYXZpb3IKIERyb3BPd25lZFN0bXQKIERyb3BS ZXBsaWNhdGlvblNsb3RDbWQKIERyb3BSb2xlU3RtdAorRHJvcFNlc3Npb25WYXJTdG10CiBEcm9w U3RtdAogRHJvcFN1YnNjcmlwdGlvblN0bXQKIERyb3BUYWJsZVNwYWNlU3RtdApAQCAtMjY5OSw2 ICsyNzAxLDggQEAgU1NMX0NUWAogU1RBUlRVUElORk8KIFNUUkxFTgogU1YKK1NWYXJpYWJsZURh dGEKK1NWYXJpYWJsZQogU1lOQ0hST05JWkFUSU9OX0JBUlJJRVIKIFNZU1RFTV9JTkZPCiBTYW1w bGVTY2FuCi0tIAoyLjUzLjAKCg== --000000000000f2b535064c467044--