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 1vPaW0-007aCQ-21 for pgsql-hackers@arkaria.postgresql.org; Sun, 30 Nov 2025 06:02:33 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vPaVz-00G1kD-0q for pgsql-hackers@arkaria.postgresql.org; Sun, 30 Nov 2025 06:02:31 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vPaVy-00G1k4-16 for pgsql-hackers@lists.postgresql.org; Sun, 30 Nov 2025 06:02:31 +0000 Received: from mail-yw1-x112d.google.com ([2607:f8b0:4864:20::112d]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vPaVp-002Mz4-3A for pgsql-hackers@lists.postgresql.org; Sun, 30 Nov 2025 06:02:29 +0000 Received: by mail-yw1-x112d.google.com with SMTP id 00721157ae682-786943affbaso20612847b3.0 for ; Sat, 29 Nov 2025 22:02:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1764482541; x=1765087341; 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=XUwu1anS7R+BwgAToVwy/Lj7JMEhmoctQmpF989TMZk=; b=LGqIi9VFguwtNCBkYR6IECBa6tk9/6GedB8hhaD0fq+I4q8vZoY9ov3uLk1b0olP/s NK2n/mYvW3l0XnL38iy/BkxGsUz7kBzI5ESs3U5UZ5yaSa/yN/sjaUv7l7EokAl805mZ kLsqhBQFavg3OUHmCXUKfHKhpDEEmnYSMSgSbhu3xA1HCxmi9GHqbLCFQauvAUFCReQ4 +aC9SS/OtmekdbYgyyfE2BPjj+W0Rxlg+UeLFlJqD/RalmlXcTuVBs+TuA25VbLlhJAJ jauSgOEfkdt7OmhBSK+dB5/tjT47DylfITJueXiUpVlhgackSaTdIDu7R+I72p7OqobV HA1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764482541; x=1765087341; 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=XUwu1anS7R+BwgAToVwy/Lj7JMEhmoctQmpF989TMZk=; b=MpNuzZL5+8mMWmmpu+E5JRJtas6ve5E+wapb5Hnco0MERgplAKTsXuaMRkighPW2D6 JuWvkemMtrLVcgmPEk8HY2jsOgt7G69MapPAg/xtMmzRUPZpoV1gcuZPRMo17v77xBU6 pFhCHzaiCjjJg5CO4+6Pz7dukSwIHa9n8BpPT/YAgNZ3n0FuDr3XIbHKBRhEjYlcZvEc +Xts5MsEWyT3pvN2ho4NefH7wnJQ/zJ3fmWfhnJlfwbGut4vYD7this2xaEdh1elmIdT GzIxxcYaOd3WLG6aRxE4molADP9gwycpB6GeyAbNO0n33B6fcF/ywO3WMvpW+VkUqOLM VO9g== X-Forwarded-Encrypted: i=1; AJvYcCVZ2xh1sEmsauWSrghRgK7VvCWB9KVa0bZpNdDa049kxTul1o3VSqJqt49ZX/H04uX8wQ08BQKgrWM+G/e1@lists.postgresql.org X-Gm-Message-State: AOJu0Yz605Tn2idNxFszKulGPdbhdIfM15HH1EAu+GTZyOxFD4Es4UcZ VXJkgHg6HjBzVLzAW/6LKmInb03kfE5RMBSM9CJERUpTdPZQKouyVhiUtrqst7eI4/+nbkbv6TI fLfA0huTtdWzSkkSS989WJGAJ+zEuUKs= X-Gm-Gg: ASbGnctnODvENbof90RWSk3aaAHQiFK6ZyjQLK6wAK8rBGm6+FI2VzzYDVCNElt034j B4xz5gXYnvp58rRRJP/QnvynYovj4PKo0D3ELhZQcItscB6RsbC7GUQBHMX3LepF7YVDdcgB7Bu h2460nKfVdNpIqcMXnDqPX+V5Vwv9mxH8lip6aQFLNOde7LBBiYN9705G2Shi1F9tuT8y9DpuX0 6bKSq6hHGiP6Lzxem+rosP7/Za85kdYnoMIk7ZLmDn8w/Oy3hvU6ffef/EnRSL46ErHp0LuqTU8 NQTz9B0K+3deQGfQzA3RHBlStl97EtiTq8i6dkvEYzNH4MKGcZ26iC1oFwLzzi0W7vshXXAdbMl HYEpoox2vwIy6vg== X-Google-Smtp-Source: AGHT+IGdZi0HYmEMZgmkK2784H5flq4znUxByro6l7h0T5FL5Tf8io9aNlTLcP4FQ+AKqZ9icwQ1mGnHS7N7jLF4OAk= X-Received: by 2002:a05:690c:9a87:b0:784:997d:b86 with SMTP id 00721157ae682-78ab6daceefmr169917217b3.2.1764482541562; Sat, 29 Nov 2025 22:02:21 -0800 (PST) MIME-Version: 1.0 References: <9d6897bd-855d-44a6-8ebe-17b2b1d04430@uni-muenster.de> In-Reply-To: From: Pavel Stehule Date: Sun, 30 Nov 2025 07:01:42 +0100 X-Gm-Features: AWmQ_bn_Cw3owta78_AGFJCU7IiStSIpknCGBwrTeYnhIAtMRm02ePb39d2lAhQ Message-ID: Subject: Re: proposal: schema variables To: Jim Jones Cc: Bruce Momjian , Dmitry Dolgov <9erthalion6@gmail.com>, Laurenz Albe , Erik Rijkers , Michael Paquier , Amit Kapila , DUVAL REMI , PostgreSQL Hackers , jian he , Alvaro Herrera , PegoraroF10 Content-Type: multipart/mixed; boundary="0000000000001a90410644c99b27" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000001a90410644c99b27 Content-Type: multipart/alternative; boundary="0000000000001a90410644c99b25" --0000000000001a90410644c99b25 Content-Type: text/plain; charset="UTF-8" Hi only rebase Regards Pavel --0000000000001a90410644c99b25 Content-Type: text/html; charset="UTF-8"
Hi

only rebase

Regards

Pavel


--0000000000001a90410644c99b25-- --0000000000001a90410644c99b27 Content-Type: text/x-patch; charset="US-ASCII"; name="v20251130-0005-svariableReceiver.patch" Content-Disposition: attachment; filename="v20251130-0005-svariableReceiver.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_milbbk1a2 RnJvbSA2NzA1Nzc5ZDExMjg4NDMwNTJjMjM0NWVlZDJiN2U3NzA1YzkzMzBhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPG9rYm9iQGdpdGh1Yi5jb20+ CkRhdGU6IFN1biwgMSBKdW4gMjAyNSAyMToyMDoxNiArMDIwMApTdWJqZWN0OiBbUEFUQ0ggNS83 XSBzdmFyaWFibGVSZWNlaXZlcgoKYWxsb3dzIHRvIHN0b3JlIHJlc3VsdCBvZiB0aGUgcXVlcnkg dG8gc2Vzc2lvbiB2YXJpYWJsZQoKQ2hlY2sgY29ycmVjdCBmb3JtYXQgb2YgcmVzdWx0IC0gb25l IGNvbHVtbiwgb25lIHJvdy4KLS0tCiBzcmMvYmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3Zhcmlh YmxlLmMgIHwgIDUwICsrKysrKysrCiBzcmMvYmFja2VuZC9leGVjdXRvci9NYWtlZmlsZSAgICAg ICAgICAgIHwgICAxICsKIHNyYy9iYWNrZW5kL2V4ZWN1dG9yL21lc29uLmJ1aWxkICAgICAgICAg fCAgIDEgKwogc3JjL2JhY2tlbmQvZXhlY3V0b3Ivc3ZhcmlhYmxlUmVjZWl2ZXIuYyB8IDE0OSAr KysrKysrKysrKysrKysrKysrKysrKwogc3JjL2JhY2tlbmQvdGNvcC9kZXN0LmMgICAgICAgICAg ICAgICAgICB8ICAgNyArKwogc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5o ICB8ICAgMyArCiBzcmMvaW5jbHVkZS9leGVjdXRvci9zdmFyaWFibGVSZWNlaXZlci5oIHwgIDIy ICsrKysKIHNyYy9pbmNsdWRlL3Rjb3AvZGVzdC5oICAgICAgICAgICAgICAgICAgfCAgIDEgKwog c3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QgICAgICAgICB8ICAgMSArCiA5IGZpbGVz IGNoYW5nZWQsIDIzNSBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL2JhY2tl bmQvZXhlY3V0b3Ivc3ZhcmlhYmxlUmVjZWl2ZXIuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy9p bmNsdWRlL2V4ZWN1dG9yL3N2YXJpYWJsZVJlY2VpdmVyLmgKCmRpZmYgLS1naXQgYS9zcmMvYmFj a2VuZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9z ZXNzaW9uX3ZhcmlhYmxlLmMKaW5kZXggMGRhYTQ2ZmRkZTMuLjk1ZDcwOTExYmNjIDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMKKysrIGIvc3JjL2Jh Y2tlbmQvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5jCkBAIC0xNzEsNiArMTcxLDU2IEBAIEdl dFNlc3Npb25WYXJpYWJsZVdpdGhUeXBlY2hlY2soY2hhciAqdmFybmFtZSwKIAlyZXR1cm4gcmVz dWx0OwogfQogCisvKgorICogU3RvcmUgdGhlIGdpdmVuIHZhbHVlIGluIGEgc2Vzc2lvbiB2YXJp YWJsZSBpbiB0aGUgY2FjaGUuCisgKi8KK3ZvaWQKK1NldFNlc3Npb25WYXJpYWJsZVdpdGhUeXBl Y2hlY2soY2hhciAqdmFybmFtZSwKKwkJCQkJCQkJT2lkIHR5cGlkLCBpbnQzMiB0eXBtb2QsCisJ CQkJCQkJCURhdHVtIHZhbHVlLCBib29sIGlzbnVsbCkKK3sKKwlTVmFyaWFibGUJc3ZhcjsKKwor CXN2YXIgPSBzZWFyY2hfdmFyaWFibGUodmFybmFtZSk7CisKKwlpZiAoc3Zhci0+dmFydHlwZSAh PSB0eXBpZCB8fCBzdmFyLT52YXJ0eXBtb2QgIT0gdHlwbW9kKQorCQllcmVwb3J0KEVSUk9SLAor CQkJCShlcnJjb2RlKEVSUkNPREVfREFUQVRZUEVfTUlTTUFUQ0gpLAorCQkJCSBlcnJtc2coInNl c3Npb24gdmFyaWFibGUgJXMgaXMgbm90IG9mIGEgdHlwZSAlcyBidXQgdHlwZSAlcyIsCisJCQkJ CQl2YXJuYW1lLAorCQkJCQkJZm9ybWF0X3R5cGVfd2l0aF90eXBlbW9kKHR5cGlkLCB0eXBtb2Qp LAorCQkJCQkJZm9ybWF0X3R5cGVfd2l0aF90eXBlbW9kKHN2YXItPnZhcnR5cGUsIHN2YXItPnZh cnR5cG1vZCkpKSk7CisKKwkvKiBvbmx5IG93bmVyIGNhbiBzZXQgY29udGVudCBvZiB2YXJpYWJs ZSAqLworCWlmIChzdmFyLT52YXJvd25lciAhPSBHZXRVc2VySWQoKSAmJiAhc3VwZXJ1c2VyKCkp CisJCWVyZXBvcnQoRVJST1IsCisJCQkJKGVycmNvZGUoRVJSQ09ERV9JTlNVRkZJQ0lFTlRfUFJJ VklMRUdFKSwKKwkJCQkgZXJybXNnKCJwZXJtaXNzaW9uIGRlbmllZCBmb3Igc2Vzc2lvbiB2YXJp YWJsZSAlcyIsCisJCQkJCQl2YXJuYW1lKSkpOworCisJaWYgKCFzdmFyLT50eXBieXZhbCkKKwl7 CisJCWlmICghaXNudWxsKQorCQl7CisJCQlNZW1vcnlDb250ZXh0IG9sZGN4dDsKKworCQkJLyoK KwkJCSAqIERvIGNvcHkgb2YgdmFsdWUgaW4gc2Vzc2lvbiB2YXJpYWJsZXMgY29udGV4dC4gVGhp cyBvcGVyYXRpb24KKwkJCSAqIGNhbiBmYWlsLCBzbyBkbyBpdCBiZWZvcmUgcmVsZWFzaW5nIHRo ZSBvbGQgY29udGVudC4KKwkJCSAqLworCQkJb2xkY3h0ID0gTWVtb3J5Q29udGV4dFN3aXRjaFRv KFNWYXJpYWJsZU1lbW9yeUNvbnRleHQpOworCQkJdmFsdWUgPSBkYXR1bUNvcHkodmFsdWUsIHN2 YXItPnR5cGJ5dmFsLCBzdmFyLT50eXBsZW4pOworCQkJTWVtb3J5Q29udGV4dFN3aXRjaFRvKG9s ZGN4dCk7CisJCX0KKworCQlpZiAoIXN2YXItPmlzbnVsbCkKKwkJCXBmcmVlKERhdHVtR2V0UG9p bnRlcihzdmFyLT52YWx1ZSkpOworCX0KKworCXN2YXItPnZhbHVlID0gdmFsdWU7CisJc3Zhci0+ aXNudWxsID0gaXNudWxsOworfQorCiAvKgogICogQ3JlYXRlcyBhIG5ldyB2YXJpYWJsZSAtIGRv ZXMgbmV3IGVudHJ5IGluIHNlc3Npb252YXJzCiAgKgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv ZXhlY3V0b3IvTWFrZWZpbGUgYi9zcmMvYmFja2VuZC9leGVjdXRvci9NYWtlZmlsZQppbmRleCAx MTExOGQwY2UwMi4uNzEyNDhhMzRmMjYgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2V4ZWN1dG9y L01ha2VmaWxlCisrKyBiL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL01ha2VmaWxlCkBAIC03Niw2ICs3 Niw3IEBAIE9CSlMgPSBcCiAJbm9kZVdpbmRvd0FnZy5vIFwKIAlub2RlV29ya3RhYmxlc2Nhbi5v IFwKIAlzcGkubyBcCisJc3ZhcmlhYmxlUmVjZWl2ZXIubyBcCiAJdHF1ZXVlLm8gXAogCXRzdG9y ZVJlY2VpdmVyLm8KIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvZXhlY3V0b3IvbWVzb24uYnVp bGQgYi9zcmMvYmFja2VuZC9leGVjdXRvci9tZXNvbi5idWlsZAppbmRleCAyY2VhNDFmODc3MS4u NDkxMDkyZmNjNGMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL21lc29uLmJ1aWxk CisrKyBiL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL21lc29uLmJ1aWxkCkBAIC02NCw2ICs2NCw3IEBA IGJhY2tlbmRfc291cmNlcyArPSBmaWxlcygKICAgJ25vZGVXaW5kb3dBZ2cuYycsCiAgICdub2Rl V29ya3RhYmxlc2Nhbi5jJywKICAgJ3NwaS5jJywKKyAgJ3N2YXJpYWJsZVJlY2VpdmVyLmMnLAog ICAndHF1ZXVlLmMnLAogICAndHN0b3JlUmVjZWl2ZXIuYycsCiApCmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC9leGVjdXRvci9zdmFyaWFibGVSZWNlaXZlci5jIGIvc3JjL2JhY2tlbmQvZXhlY3V0 b3Ivc3ZhcmlhYmxlUmVjZWl2ZXIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMC4uYjI3MDllOTIxMWIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvYmFja2VuZC9leGVjdXRv ci9zdmFyaWFibGVSZWNlaXZlci5jCkBAIC0wLDAgKzEsMTQ5IEBACisvKi0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KKyAqCisgKiBzdmFyaWFibGVSZWNlaXZlci5jCisgKgkgIEFuIGltcGxlbWVudGF0aW9uIG9m IERlc3RSZWNlaXZlciB0aGF0IHN0b3JlcyB0aGUgcmVzdWx0IHZhbHVlIGluCisgKgkgIGEgc2Vz c2lvbiB2YXJpYWJsZS4KKyAqCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDE5OTYtMjAyNCwg UG9zdGdyZVNRTCBHbG9iYWwgRGV2ZWxvcG1lbnQgR3JvdXAKKyAqIFBvcnRpb25zIENvcHlyaWdo dCAoYykgMTk5NCwgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhCisgKgor ICogSURFTlRJRklDQVRJT04KKyAqCSAgc3JjL2JhY2tlbmQvZXhlY3V0b3Ivc3ZhcmlhYmxlUmVj ZWl2ZXIuYworICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCisKKyNpbmNsdWRlICJwb3N0Z3Jl cy5oIgorI2luY2x1ZGUgIm1pc2NhZG1pbi5oIgorCisjaW5jbHVkZSAiYWNjZXNzL2RldG9hc3Qu aCIKKyNpbmNsdWRlICJhY2Nlc3MvaHR1cF9kZXRhaWxzLmgiCisjaW5jbHVkZSAiY29tbWFuZHMv c2Vzc2lvbl92YXJpYWJsZS5oIgorI2luY2x1ZGUgImV4ZWN1dG9yL3N2YXJpYWJsZVJlY2VpdmVy LmgiCisjaW5jbHVkZSAidXRpbHMvYnVpbHRpbnMuaCIKKyNpbmNsdWRlICJ1dGlscy9sc3lzY2Fj aGUuaCIKKyNpbmNsdWRlICJ1dGlscy9zeXNjYWNoZS5oIgorCisvKgorICogVGhpcyBEZXN0UmVj ZWl2ZXIgaXMgdXNlZCBieSB0aGUgTEVUIGNvbW1hbmQgZm9yIHN0b3JpbmcgdGhlIHJlc3VsdCB0 byBhCisgKiBzZXNzaW9uIHZhcmlhYmxlLiAgVGhlIHJlc3VsdCBoYXMgdG8gaGF2ZSBvbmx5IG9u ZSB0dXBsZSB3aXRoIG9ubHkgb25lCisgKiBub24tZGVsZXRlZCBhdHRyaWJ1dGUuICBUaGUgcm93 IGNvdW50ZXIgKGZpZWxkICJyb3dzIikgaXMgaW5jcmVtZW50ZWQKKyAqIGFmdGVyIHJlY2Vpdmlu ZyBhIHJvdywgYW5kIGFuIGVycm9yIGlzIHJhaXNlZCB3aGVuIHRoZXJlIGFyZSBubyByb3dzIG9y CisgKiB0aGVyZSBhcmUgbW9yZSB0aGFuIG9uZSByZWNlaXZlZCByb3dzLiAgQSByZWNlaXZlZCB0 dXBsZSBjYW5ub3QgdG8gaGF2ZQorICogZGVsZXRlZCBhdHRyaWJ1dGVzLiAgVGhlIHZhbHVlIGlz IGRldG9hc3RlZCBiZWZvcmUgc3RvcmluZyBpdCBpbiB0aGUKKyAqIHNlc3Npb24gdmFyaWFibGUu CisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisJRGVzdFJlY2VpdmVyIHB1YjsKKwljaGFyCSAgICp2 YXJuYW1lOworCU9pZAkJCXR5cGlkOworCWludDMyCQl0eXBtb2Q7CisJYm9vbAkJbmVlZF9kZXRv YXN0OwkvKiBkbyB3ZSBuZWVkIHRvIGRldG9hc3QgdGhlIGF0dHJpYnV0ZT8gKi8KKwlpbnQJCQly b3dzOwkJCS8qIHJvdyBjb3VudGVyICovCit9IFNWYXJpYWJsZVN0YXRlOworCisvKgorICogUHJl cGFyZSB0byByZWNlaXZlIHR1cGxlcyBmcm9tIGV4ZWN1dG9yLgorICovCitzdGF0aWMgdm9pZAor c3ZhcmlhYmxlU3RhcnR1cFJlY2VpdmVyKERlc3RSZWNlaXZlciAqc2VsZiwgaW50IG9wZXJhdGlv biwgVHVwbGVEZXNjIHR5cGVpbmZvKQoreworCVNWYXJpYWJsZVN0YXRlICpteVN0YXRlID0gKFNW YXJpYWJsZVN0YXRlICopIHNlbGY7CisJRm9ybV9wZ19hdHRyaWJ1dGUgYXR0cjsKKworCUFzc2Vy dChteVN0YXRlLT5wdWIubXlkZXN0ID09IERlc3RWYXJpYWJsZSk7CisJQXNzZXJ0KHR5cGVpbmZv LT5uYXR0cyA9PSAxKTsKKworCWF0dHIgPSBUdXBsZURlc2NBdHRyKHR5cGVpbmZvLCAwKTsKKwor CUFzc2VydCghYXR0ci0+YXR0aXNkcm9wcGVkKTsKKworCW15U3RhdGUtPnR5cGlkID0gYXR0ci0+ YXR0dHlwaWQ7CisJbXlTdGF0ZS0+dHlwbW9kID0gYXR0ci0+YXR0dHlwbW9kOworCisJbXlTdGF0 ZS0+bmVlZF9kZXRvYXN0ID0gYXR0ci0+YXR0bGVuID09IC0xOworCW15U3RhdGUtPnJvd3MgPSAw OworfQorCisvKgorICogUmVjZWl2ZSBhIHR1cGxlIGZyb20gdGhlIGV4ZWN1dG9yIGFuZCBzdG9y ZSBpdCBpbiB0aGUgc2Vzc2lvbiB2YXJpYWJsZS4KKyAqLworc3RhdGljIGJvb2wKK3N2YXJpYWJs ZVJlY2VpdmVTbG90KFR1cGxlVGFibGVTbG90ICpzbG90LCBEZXN0UmVjZWl2ZXIgKnNlbGYpCit7 CisJU1ZhcmlhYmxlU3RhdGUgKm15U3RhdGUgPSAoU1ZhcmlhYmxlU3RhdGUgKikgc2VsZjsKKwlE YXR1bQkJdmFsdWU7CisJYm9vbAkJaXNudWxsOworCWJvb2wJCWZyZWV2YWwgPSBmYWxzZTsKKwor CS8qIG1ha2Ugc3VyZSB0aGUgdHVwbGUgaXMgZnVsbHkgZGVjb25zdHJ1Y3RlZCAqLworCXNsb3Rf Z2V0YWxsYXR0cnMoc2xvdCk7CisKKwl2YWx1ZSA9IHNsb3QtPnR0c192YWx1ZXNbMF07CisJaXNu dWxsID0gc2xvdC0+dHRzX2lzbnVsbFswXTsKKworCWlmIChteVN0YXRlLT5uZWVkX2RldG9hc3Qg JiYgIWlzbnVsbCAmJiBWQVJBVFRfSVNfRVhURVJOQUwoRGF0dW1HZXRQb2ludGVyKHZhbHVlKSkp CisJeworCQl2YWx1ZSA9IFBvaW50ZXJHZXREYXR1bShkZXRvYXN0X2V4dGVybmFsX2F0dHIoKHN0 cnVjdCB2YXJsZW5hICopCisJCQkJCQkJCQkJCQkJICBEYXR1bUdldFBvaW50ZXIodmFsdWUpKSk7 CisJCWZyZWV2YWwgPSB0cnVlOworCX0KKworCW15U3RhdGUtPnJvd3MgKz0gMTsKKworCWlmICht eVN0YXRlLT5yb3dzID4gMSkKKwkJZXJlcG9ydChFUlJPUiwKKwkJCQkoZXJyY29kZShFUlJDT0RF X1RPT19NQU5ZX1JPV1MpLAorCQkJCSBlcnJtc2coImV4cHJlc3Npb24gcmV0dXJuZWQgbW9yZSB0 aGFuIG9uZSByb3ciKSkpOworCisJU2V0U2Vzc2lvblZhcmlhYmxlV2l0aFR5cGVjaGVjayhteVN0 YXRlLT52YXJuYW1lLAorCQkJCQkJCQkJbXlTdGF0ZS0+dHlwaWQsIG15U3RhdGUtPnR5cG1vZCwK KwkJCQkJCQkJCXZhbHVlLCBpc251bGwpOworCisJaWYgKGZyZWV2YWwpCisJCXBmcmVlKERhdHVt R2V0UG9pbnRlcih2YWx1ZSkpOworCisJcmV0dXJuIHRydWU7Cit9CisKKy8qCisgKiBDbGVhbiB1 cCBhdCBlbmQgb2YgdGhlIGV4ZWN1dG9yIHJ1bgorICovCitzdGF0aWMgdm9pZAorc3ZhcmlhYmxl U2h1dGRvd25SZWNlaXZlcihEZXN0UmVjZWl2ZXIgKnNlbGYpCit7CisJaWYgKCgoU1ZhcmlhYmxl U3RhdGUgKikgc2VsZiktPnJvd3MgPT0gMCkKKwkJZXJlcG9ydChFUlJPUiwKKwkJCQkoZXJyY29k ZShFUlJDT0RFX05PX0RBVEFfRk9VTkQpLAorCQkJCSBlcnJtc2coImV4cHJlc3Npb24gcmV0dXJu ZWQgbm8gcm93cyIpKSk7Cit9CisKKy8qCisgKiBEZXN0cm95IHRoZSByZWNlaXZlciB3aGVuIHdl IGFyZSBkb25lIHdpdGggaXQKKyAqLworc3RhdGljIHZvaWQKK3N2YXJpYWJsZURlc3Ryb3lSZWNl aXZlcihEZXN0UmVjZWl2ZXIgKnNlbGYpCit7CisJcGZyZWUoKChTVmFyaWFibGVTdGF0ZSAqKSBz ZWxmKS0+dmFybmFtZSk7CisJcGZyZWUoc2VsZik7Cit9CisKKy8qCisgKiBJbml0aWFsbHkgY3Jl YXRlIGEgRGVzdFJlY2VpdmVyIG9iamVjdC4KKyAqLworRGVzdFJlY2VpdmVyICoKK0NyZWF0ZVZh cmlhYmxlRGVzdFJlY2VpdmVyKGNoYXIgKnZhcm5hbWUpCit7CisJU1ZhcmlhYmxlU3RhdGUgKnNl bGYgPSAoU1ZhcmlhYmxlU3RhdGUgKikgcGFsbG9jMChzaXplb2YoU1ZhcmlhYmxlU3RhdGUpKTsK KworCXNlbGYtPnB1Yi5yZWNlaXZlU2xvdCA9IHN2YXJpYWJsZVJlY2VpdmVTbG90OworCXNlbGYt PnB1Yi5yU3RhcnR1cCA9IHN2YXJpYWJsZVN0YXJ0dXBSZWNlaXZlcjsKKwlzZWxmLT5wdWIuclNo dXRkb3duID0gc3ZhcmlhYmxlU2h1dGRvd25SZWNlaXZlcjsKKwlzZWxmLT5wdWIuckRlc3Ryb3kg PSBzdmFyaWFibGVEZXN0cm95UmVjZWl2ZXI7CisJc2VsZi0+cHViLm15ZGVzdCA9IERlc3RWYXJp YWJsZTsKKworCXNlbGYtPnZhcm5hbWUgPSBwc3RyZHVwKHZhcm5hbWUpOworCisJcmV0dXJuIChE ZXN0UmVjZWl2ZXIgKikgc2VsZjsKK30KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3Rjb3AvZGVz dC5jIGIvc3JjL2JhY2tlbmQvdGNvcC9kZXN0LmMKaW5kZXggYjYyMDc2NmM5MzguLjBjMWVlZWIy MmE2IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC90Y29wL2Rlc3QuYworKysgYi9zcmMvYmFja2Vu ZC90Y29wL2Rlc3QuYwpAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgImV4ZWN1dG9yL2Z1bmN0 aW9ucy5oIgogI2luY2x1ZGUgImV4ZWN1dG9yL3RxdWV1ZS5oIgogI2luY2x1ZGUgImV4ZWN1dG9y L3RzdG9yZVJlY2VpdmVyLmgiCisjaW5jbHVkZSAiZXhlY3V0b3Ivc3ZhcmlhYmxlUmVjZWl2ZXIu aCIKICNpbmNsdWRlICJsaWJwcS9saWJwcS5oIgogI2luY2x1ZGUgImxpYnBxL3BxZm9ybWF0Lmgi CiAKQEAgLTE1NSw2ICsxNTYsOSBAQCBDcmVhdGVEZXN0UmVjZWl2ZXIoQ29tbWFuZERlc3QgZGVz dCkKIAogCQljYXNlIERlc3RFeHBsYWluU2VyaWFsaXplOgogCQkJcmV0dXJuIENyZWF0ZUV4cGxh aW5TZXJpYWxpemVEZXN0UmVjZWl2ZXIoTlVMTCk7CisKKwkJY2FzZSBEZXN0VmFyaWFibGU6CisJ CQlyZXR1cm4gQ3JlYXRlVmFyaWFibGVEZXN0UmVjZWl2ZXIoTlVMTCk7CiAJfQogCiAJLyogc2hv dWxkIG5ldmVyIGdldCBoZXJlICovCkBAIC0xOTEsNiArMTk1LDcgQEAgRW5kQ29tbWFuZChjb25z dCBRdWVyeUNvbXBsZXRpb24gKnFjLCBDb21tYW5kRGVzdCBkZXN0LCBib29sIGZvcmNlX3VuZGVj b3JhdGVkX28KIAkJY2FzZSBEZXN0VHJhbnNpZW50UmVsOgogCQljYXNlIERlc3RUdXBsZVF1ZXVl OgogCQljYXNlIERlc3RFeHBsYWluU2VyaWFsaXplOgorCQljYXNlIERlc3RWYXJpYWJsZToKIAkJ CWJyZWFrOwogCX0KIH0KQEAgLTIzNyw2ICsyNDIsNyBAQCBOdWxsQ29tbWFuZChDb21tYW5kRGVz dCBkZXN0KQogCQljYXNlIERlc3RUcmFuc2llbnRSZWw6CiAJCWNhc2UgRGVzdFR1cGxlUXVldWU6 CiAJCWNhc2UgRGVzdEV4cGxhaW5TZXJpYWxpemU6CisJCWNhc2UgRGVzdFZhcmlhYmxlOgogCQkJ YnJlYWs7CiAJfQogfQpAQCAtMjgxLDYgKzI4Nyw3IEBAIFJlYWR5Rm9yUXVlcnkoQ29tbWFuZERl c3QgZGVzdCkKIAkJY2FzZSBEZXN0VHJhbnNpZW50UmVsOgogCQljYXNlIERlc3RUdXBsZVF1ZXVl OgogCQljYXNlIERlc3RFeHBsYWluU2VyaWFsaXplOgorCQljYXNlIERlc3RWYXJpYWJsZToKIAkJ CWJyZWFrOwogCX0KIH0KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Nlc3Npb25f dmFyaWFibGUuaCBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuaAppbmRl eCAzNjg3NDkwYmNiMS4uNjEwYjc1Nzg5OWUgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NvbW1h bmRzL3Nlc3Npb25fdmFyaWFibGUuaAorKysgYi9zcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9u X3ZhcmlhYmxlLmgKQEAgLTIzLDYgKzIzLDkgQEAgZXh0ZXJuIHZvaWQgQ3JlYXRlVmFyaWFibGUo UGFyc2VTdGF0ZSAqcHN0YXRlLCBDcmVhdGVTZXNzaW9uVmFyU3RtdCAqc3RtdCk7CiBleHRlcm4g dm9pZCBEcm9wVmFyaWFibGVCeU5hbWUoY2hhciAqdmFybmFtZSk7CiAKIGV4dGVybiBEYXR1bSBH ZXRTZXNzaW9uVmFyaWFibGVXaXRoVHlwZWNoZWNrKGNoYXIgKnZhcm5hbWUsIE9pZCB0eXBpZCwg aW50MzIgdHlwbW9kLCBib29sICppc251bGwpOworZXh0ZXJuIHZvaWQgU2V0U2Vzc2lvblZhcmlh YmxlV2l0aFR5cGVjaGVjayhjaGFyICp2YXJuYW1lLAorCQkJCQkJCQkJCQlPaWQgdHlwaWQsIGlu dDMyIHR5cG1vZCwKKwkJCQkJCQkJCQkJRGF0dW0gdmFsdWUsIGJvb2wgaXNudWxsKTsKIAogZXh0 ZXJuIHZvaWQgZ2V0X3Nlc3Npb25fdmFyaWFibGVfdHlwZV90eXBtb2RfY29sbGlkKGNoYXIgKnZh cm5hbWUsCiAJCQkJCQkJCQkJCQkJT2lkICp0eXBpZCwKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRl L2V4ZWN1dG9yL3N2YXJpYWJsZVJlY2VpdmVyLmggYi9zcmMvaW5jbHVkZS9leGVjdXRvci9zdmFy aWFibGVSZWNlaXZlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5k ZDAxYzkzYzllOAotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9pbmNsdWRlL2V4ZWN1dG9yL3N2YXJp YWJsZVJlY2VpdmVyLmgKQEAgLTAsMCArMSwyMiBAQAorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKgor ICogc3ZhcmlhYmxlUmVjZWl2ZXIuaAorICoJICBwcm90b3R5cGVzIGZvciBzdmFyaWFibGVSZWNl aXZlci5jCisgKgorICoKKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMTk5Ni0yMDI0LCBQb3N0 Z3JlU1FMIEdsb2JhbCBEZXZlbG9wbWVudCBHcm91cAorICogUG9ydGlvbnMgQ29weXJpZ2h0IChj KSAxOTk0LCBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEKKyAqCisgKiBz cmMvaW5jbHVkZS9leGVjdXRvci9zdmFyaWFibGVSZWNlaXZlci5oCisgKgorICotLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCisgKi8KKworI2lmbmRlZiBTVkFSSUFCTEVfUkVDRUlWRVJfSAorI2RlZmluZSBTVkFS SUFCTEVfUkVDRUlWRVJfSAorCisjaW5jbHVkZSAidGNvcC9kZXN0LmgiCisKK2V4dGVybiBEZXN0 UmVjZWl2ZXIgKkNyZWF0ZVZhcmlhYmxlRGVzdFJlY2VpdmVyKGNoYXIgKnZhcm5hbWUpOworCisj ZW5kaWYJCQkJCQkJLyogU1ZBUklBQkxFX1JFQ0VJVkVSX0ggKi8KZGlmZiAtLWdpdCBhL3NyYy9p bmNsdWRlL3Rjb3AvZGVzdC5oIGIvc3JjL2luY2x1ZGUvdGNvcC9kZXN0LmgKaW5kZXggMDBjMDky ZTNkN2MuLjZjZTNlYTBlNjE3IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS90Y29wL2Rlc3QuaAor KysgYi9zcmMvaW5jbHVkZS90Y29wL2Rlc3QuaApAQCAtOTcsNiArOTcsNyBAQCB0eXBlZGVmIGVu dW0KIAlEZXN0VHJhbnNpZW50UmVsLAkJCS8qIHJlc3VsdHMgc2VudCB0byB0cmFuc2llbnQgcmVs YXRpb24gKi8KIAlEZXN0VHVwbGVRdWV1ZSwJCQkJLyogcmVzdWx0cyBzZW50IHRvIHR1cGxlIHF1 ZXVlICovCiAJRGVzdEV4cGxhaW5TZXJpYWxpemUsCQkvKiByZXN1bHRzIGFyZSBzZXJpYWxpemVk IGFuZCBkaXNjYXJkZWQgKi8KKwlEZXN0VmFyaWFibGUsCQkJCS8qIHJlc3VsdHMgc2VudCB0byBz ZXNzaW9uIHZhcmlhYmxlICovCiB9IENvbW1hbmREZXN0OwogCiAvKiAtLS0tLS0tLS0tLS0tLS0t CmRpZmYgLS1naXQgYS9zcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdCBiL3NyYy90b29s cy9wZ2luZGVudC90eXBlZGVmcy5saXN0CmluZGV4IDJmNTYyYTIxN2JmLi4wODg0MjlkZDQyNCAx MDA2NDQKLS0tIGEvc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QKKysrIGIvc3JjL3Rv b2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QKQEAgLTI2NzQsNiArMjY3NCw3IEBAIFNUUkxFTgog U1YKIFNWYXJpYWJsZURhdGEKIFNWYXJpYWJsZQorU1ZhcmlhYmxlU3RhdGUKIFNZTkNIUk9OSVpB VElPTl9CQVJSSUVSCiBTWVNURU1fSU5GTwogU2FtcGxlU2NhbgotLSAKMi41Mi4wCgo= --0000000000001a90410644c99b27 Content-Type: text/x-patch; charset="US-ASCII"; name="v20251130-0007-DISCARD-TEMP.patch" Content-Disposition: attachment; filename="v20251130-0007-DISCARD-TEMP.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_milbbk070 RnJvbSBkZWI4YWRhZWFlMTY0NTM4OGIxYzQwNjVhNTQxMTVhNzFjOTZjZTg1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPHBhdmVsLnN0ZWh1bGVAZ21h aWwuY29tPgpEYXRlOiBNb24sIDI0IE5vdiAyMDI1IDIwOjA0OjE2ICswMTAwClN1YmplY3Q6IFtQ QVRDSCA3LzddIERJU0NBUkQgVEVNUAoKLS0tCiBkb2Mvc3JjL3NnbWwvcmVmL2Rpc2NhcmQuc2dt bCAgICAgICAgICAgICAgICAgfCAgMyArKy0KIHNyYy9iYWNrZW5kL2NvbW1hbmRzL2Rpc2NhcmQu YyAgICAgICAgICAgICAgICB8ICAzICsrKwogc3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vzc2lvbl92 YXJpYWJsZS5jICAgICAgIHwgMjAgKysrKysrKysrKysrKysrKysrKwogc3JjL2luY2x1ZGUvY29t bWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oICAgICAgIHwgIDIgKysKIC4uLi9leHBlY3RlZC9zZXNz aW9uX3ZhcmlhYmxlc19kZGwub3V0ICAgICAgICB8ICA3ICsrKysrKysKIC4uLi9yZWdyZXNzL3Nx bC9zZXNzaW9uX3ZhcmlhYmxlc19kZGwuc3FsICAgICB8IDEwICsrKysrKysrKysKIDYgZmlsZXMg Y2hhbmdlZCwgNDQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2Rv Yy9zcmMvc2dtbC9yZWYvZGlzY2FyZC5zZ21sIGIvZG9jL3NyYy9zZ21sL3JlZi9kaXNjYXJkLnNn bWwKaW5kZXggYmY0NGM1MjNjYWMuLjI3MDBmN2I3Y2QwIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3Nn bWwvcmVmL2Rpc2NhcmQuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvcmVmL2Rpc2NhcmQuc2dtbApA QCAtNzAsNyArNzAsOCBAQCBESVNDQVJEIHsgQUxMIHwgUExBTlMgfCBTRVFVRU5DRVMgfCBURU1Q T1JBUlkgfCBURU1QIH0KICAgICA8dGVybT48bGl0ZXJhbD5URU1QT1JBUlk8L2xpdGVyYWw+IG9y IDxsaXRlcmFsPlRFTVA8L2xpdGVyYWw+PC90ZXJtPgogICAgIDxsaXN0aXRlbT4KICAgICAgPHBh cmE+Ci0gICAgICBEcm9wcyBhbGwgdGVtcG9yYXJ5IHRhYmxlcyBjcmVhdGVkIGluIHRoZSBjdXJy ZW50IHNlc3Npb24uCisgICAgICBEcm9wcyBhbGwgdGVtcG9yYXJ5IHRhYmxlcyBhbmQgdGVtcG9y YXJ5IHNlc3Npb24gdmFyaWFibGVzIGNyZWF0ZWQgaW4KKyAgICAgIHRoZSBjdXJyZW50IHNlc3Np b24uCiAgICAgIDwvcGFyYT4KICAgICA8L2xpc3RpdGVtPgogICAgPC92YXJsaXN0ZW50cnk+CmRp ZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy9kaXNjYXJkLmMgYi9zcmMvYmFja2VuZC9j b21tYW5kcy9kaXNjYXJkLmMKaW5kZXggODEzMzlhNzVhNTIuLmRlMzIyYzM1YzUxIDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy9kaXNjYXJkLmMKKysrIGIvc3JjL2JhY2tlbmQvY29t bWFuZHMvZGlzY2FyZC5jCkBAIC0xOSw2ICsxOSw3IEBACiAjaW5jbHVkZSAiY29tbWFuZHMvZGlz Y2FyZC5oIgogI2luY2x1ZGUgImNvbW1hbmRzL3ByZXBhcmUuaCIKICNpbmNsdWRlICJjb21tYW5k cy9zZXF1ZW5jZS5oIgorI2luY2x1ZGUgImNvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuaCIKICNp bmNsdWRlICJ1dGlscy9ndWMuaCIKICNpbmNsdWRlICJ1dGlscy9wb3J0YWwuaCIKIApAQCAtNDYs NiArNDcsNyBAQCBEaXNjYXJkQ29tbWFuZChEaXNjYXJkU3RtdCAqc3RtdCwgYm9vbCBpc1RvcExl dmVsKQogCiAJCWNhc2UgRElTQ0FSRF9URU1QOgogCQkJUmVzZXRUZW1wVGFibGVOYW1lc3BhY2Uo KTsKKwkJCVJlc2V0U2Vzc2lvblZhcmlhYmxlcygpOwogCQkJYnJlYWs7CiAKIAkJZGVmYXVsdDoK QEAgLTc1LDQgKzc3LDUgQEAgRGlzY2FyZEFsbChib29sIGlzVG9wTGV2ZWwpCiAJUmVzZXRQbGFu Q2FjaGUoKTsKIAlSZXNldFRlbXBUYWJsZU5hbWVzcGFjZSgpOwogCVJlc2V0U2VxdWVuY2VDYWNo ZXMoKTsKKwlSZXNldFNlc3Npb25WYXJpYWJsZXMoKTsKIH0KZGlmZiAtLWdpdCBhL3NyYy9iYWNr ZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3Nl c3Npb25fdmFyaWFibGUuYwppbmRleCAzNjQ5MDM4N2RhMC4uNzgzN2UyMWNmMWMgMTAwNjQ0Ci0t LSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuYworKysgYi9zcmMvYmFj a2VuZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMKQEAgLTQxMiwzICs0MTIsMjMgQEAgRXhl Y3V0ZUxldFN0bXQoUGFyc2VTdGF0ZSAqcHN0YXRlLAogCiAJUG9wQWN0aXZlU25hcHNob3QoKTsK IH0KKworLyoKKyAqIEZhc3QgZHJvcCBvZiB0aGUgY29tcGxldGUgY29udGVudCBvZiB0aGUgc2Vz c2lvbiB2YXJpYWJsZXMgaGFzaCB0YWJsZSwgYW5kCisgKiBjbGVhbnVwIG9mIGFueSBsaXN0IHRo YXQgd291bGRuJ3QgYmUgcmVsZXZhbnQgYW55bW9yZS4KKyAqIFRoaXMgaXMgdXNlZCBieSB0aGUg RElTQ0FSRCBURU1QLgorICovCit2b2lkCitSZXNldFNlc3Npb25WYXJpYWJsZXModm9pZCkKK3sK KwkvKiBkZXN0cm95IGhhc2ggdGFibGUgYW5kIHJlc2V0IHJlbGF0ZWQgbWVtb3J5IGNvbnRleHQg Ki8KKwlpZiAoc2Vzc2lvbnZhcnMpCisJeworCQloYXNoX2Rlc3Ryb3koc2Vzc2lvbnZhcnMpOwor CQlzZXNzaW9udmFycyA9IE5VTEw7CisJfQorCisJLyogcmVsZWFzZSBtZW1vcnkgYWxsb2NhdGVk IGJ5IHNlc3Npb24gdmFyaWFibGVzICovCisJaWYgKFNWYXJpYWJsZU1lbW9yeUNvbnRleHQgIT0g TlVMTCkKKwkJTWVtb3J5Q29udGV4dFJlc2V0KFNWYXJpYWJsZU1lbW9yeUNvbnRleHQpOworfQpk aWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oIGIvc3Jj L2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oCmluZGV4IGM0YjRkOWU2ODMyLi5j YzFhYTdjZTIzYiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJp YWJsZS5oCisrKyBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuaApAQCAt MzcsNCArMzcsNiBAQCBleHRlcm4gdm9pZCBnZXRfc2Vzc2lvbl92YXJpYWJsZV90eXBlX3R5cG1v ZF9jb2xsaWQoY2hhciAqdmFybmFtZSwKIGV4dGVybiB2b2lkIEV4ZWN1dGVMZXRTdG10KFBhcnNl U3RhdGUgKnBzdGF0ZSwgTGV0U3RtdCAqc3RtdCwgUGFyYW1MaXN0SW5mbyBwYXJhbXMsCiAJCQkJ CQkgICBRdWVyeUVudmlyb25tZW50ICpxdWVyeUVudiwgUXVlcnlDb21wbGV0aW9uICpxYyk7CiAK K2V4dGVybiB2b2lkIFJlc2V0U2Vzc2lvblZhcmlhYmxlcyh2b2lkKTsKKwogI2VuZGlmCmRpZmYg LS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5v dXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5vdXQK aW5kZXggY2M2ZjU5ZThiZTUuLmYxMmQxZjFhNmFlIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5vdXQKKysrIGIvc3JjL3Rlc3QvcmVn cmVzcy9leHBlY3RlZC9zZXNzaW9uX3ZhcmlhYmxlc19kZGwub3V0CkBAIC00MSwzICs0MSwxMCBA QCBEUk9QIFZBUklBQkxFIHg7CiBTRVQgUk9MRSBUTyBERUZBVUxUOwogRFJPUCBST0xFIHJlZ3Jl c3Nfc2Vzc2lvbl92YXJpYWJsZV90ZXN0X3JvbGVfMDE7CiBEUk9QIFJPTEUgcmVncmVzc19zZXNz aW9uX3ZhcmlhYmxlX3Rlc3Rfcm9sZV8wMjsKK0NSRUFURSBURU1QIFZBUklBQkxFIHggQVMgaW50 OworLS0gc2hvdWxkIGZhaWwKK0NSRUFURSBURU1QIFZBUklBQkxFIHggQVMgaW50OworRVJST1I6 ICBzZXNzaW9uIHZhcmlhYmxlICJ4IiBhbHJlYWR5IGV4aXN0cworRElTQ0FSRCBURU1QOworLS0g c2hvdWxkIGJlIG9rCitDUkVBVEUgVEVNUCBWQVJJQUJMRSB4IEFTIGludDsKZGlmZiAtLWdpdCBh L3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5zcWwgYi9zcmMvdGVz dC9yZWdyZXNzL3NxbC9zZXNzaW9uX3ZhcmlhYmxlc19kZGwuc3FsCmluZGV4IDkyZTk3ZWEyYWIw Li5jNjlmZDRiZmE0NyAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc2Vzc2lvbl92 YXJpYWJsZXNfZGRsLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zZXNzaW9uX3Zhcmlh Ymxlc19kZGwuc3FsCkBAIC01NCwzICs1NCwxMyBAQCBEUk9QIFZBUklBQkxFIHg7CiBTRVQgUk9M RSBUTyBERUZBVUxUOwogRFJPUCBST0xFIHJlZ3Jlc3Nfc2Vzc2lvbl92YXJpYWJsZV90ZXN0X3Jv bGVfMDE7CiBEUk9QIFJPTEUgcmVncmVzc19zZXNzaW9uX3ZhcmlhYmxlX3Rlc3Rfcm9sZV8wMjsK KworQ1JFQVRFIFRFTVAgVkFSSUFCTEUgeCBBUyBpbnQ7CisKKy0tIHNob3VsZCBmYWlsCitDUkVB VEUgVEVNUCBWQVJJQUJMRSB4IEFTIGludDsKKworRElTQ0FSRCBURU1QOworCistLSBzaG91bGQg YmUgb2sKK0NSRUFURSBURU1QIFZBUklBQkxFIHggQVMgaW50OwotLSAKMi41Mi4wCgo= --0000000000001a90410644c99b27 Content-Type: text/x-patch; charset="UTF-8"; name="v20251130-0006-LET-command-assign-a-result-of-expression-to-the-ses.patch" Content-Disposition: attachment; filename="v20251130-0006-LET-command-assign-a-result-of-expression-to-the-ses.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_milbbk0w1 RnJvbSA4YzhlOTlkZDNjMTRiZGFhOTIwZDgwMGMxNDBhOGJjYjcwMmRjOTAyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPHBhdmVsLnN0ZWh1bGVAZ21h aWwuY29tPgpEYXRlOiBNb24sIDI0IE5vdiAyMDI1IDE4OjA1OjAzICswMTAwClN1YmplY3Q6IFtQ QVRDSCA2LzddIExFVCBjb21tYW5kIC0gYXNzaWduIGEgcmVzdWx0IG9mIGV4cHJlc3Npb24gdG8g dGhlIAogc2Vzc2lvbiB2YXJpYWJsZQpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRl eHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoK VGhlIHZhbHVlIGlzIGFzc2lnbmVkIHRvIHNlc3Npb24gdmFyaWFibGVzIHVzdWFsbHkgYnkgU0VU IGNvbW1hbmQuIFVuZm9ydHVuYXRlbHkKdGhlcmUgYXJlIHR3byByZWFzb25zIHdoeSBTRVQgc2hv dWxkIG5vdCBiZSB1c2VkIGZvciB0aGlzIHB1cnBvc2UgaW4gUG9zdGdyZXMuCgoxLiBVc2luZyBh X2V4cHIgaW5zaWRlIGdlbmVyaWNfc2V0IHJhbSBydWxlIHByb2R1Y2VzIHJlZHVjZSBjb25mbGlj dHMsIHNvIGl0IG5lZWRzCsKgIMKgdG90YWwgcmVpbXBsZW1lbnRhdGlvbiBvZiByZWxhdGVkIGdy YW0gcnVsZXMuCgoyLiBTRVQgaXMgbm8gcGxhbiBjb21tYW5kIC0gc28gaXQgZG9lc24ndCBzdXBw b3J0IHVzYWdlIG9mIHBhcmFtZXRlcnMuCgozLiBFeGNlcHRpbmcgaW1wbGVtZW50YXRpb24gaXNz dWVzLCB0aGVyZSBpcyBmYWN0LCBzbyBpZiB3ZSB1c2UgU0VUIGNvbW1hbmQKwqAgwqBmb3IgYXNz aWduaW5nIHZhbHVlcyB0byBzZXNzaW9uIHZhcmlhYmxlcywgdGhlbiB0aGVyZSBjYW4gYmUgY29s bGlzaW9ucwrCoCDCoGJldHdlZW4gc2Vzc2lvbiB2YXJpYWJsZXMgYW5kIEdVQywgYW5kIHRoZW4g d2UgbmVlZCBzb21lIGNvbmNlcHRzLCBob3cKwqAgwqB0aGVzZSBjb2xsaXNpb25zIHNob3VsZCBi ZSBzb2x2ZWQsIG9yIGhvdyB0byBwcm90ZWN0IHNlbGYgYWdhaW5zdCB0aGVzZQrCoCDCoGNvbGxp c2lvbnMuIFdpdGggdGhlIGRlZGljYXRlZCBjb21tYW5kLCB0aGUgY29sbGlzaW9ucyBiZXR3ZWVu IEdVQyBhbmQgc2Vzc2lvbgrCoCDCoHZhcmlhYmxlcyBhcmUgbm90IHBvc3NpYmxlLgoKVGhlIGNv bW1hbmQgTEVUIGlzIGV4ZWN1dGVkIGFzIHVzdWFsIHF1ZXJ5IGV4ZWN1dGlvbi4gVGhlIHJlc3Vs dCBpcyBzdG9yZWQKdG8gdGhlIHRhcmdldCBzZXNzaW9uIHZhcmlhYmxlIChyZXN1bHRWYXJpYWJs ZSkgYnkgdXNpbmcgVmFyaWFibGVEZXN0UmVjZWl2ZXIuCgpJbXBsZW1lbnRhdGlvbnMgb2YgRVhQ TEFJTiBMRVQgYW5kIFBSRVBBUkUgTEVUIHN0YXRlbWVudHMgYXJlIG5vdCBzdXBwb3J0ZWQKbm93 LiBQb3N0cG9uZWQgdG8gbmV4dCBzdGVwIGR1ZSByZWR1Y2luZyBwYXRjaCBzaXplLgotLS0KIGRv Yy9zcmMvc2dtbC9kZGwuc2dtbCAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyNyArKysrCiBk b2Mvc3JjL3NnbWwvcmVmL2FsbGZpbGVzLnNnbWwgICAgICAgICAgICAgICAgfCAgIDEgKwogZG9j L3NyYy9zZ21sL3JlZi9jcmVhdGVfdmFyaWFibGUuc2dtbCAgICAgICAgIHwgICAzICsKIGRvYy9z cmMvc2dtbC9yZWYvZHJvcF92YXJpYWJsZS5zZ21sICAgICAgICAgICB8ICAgMSArCiBkb2Mvc3Jj L3NnbWwvcmVmL2xldC5zZ21sICAgICAgICAgICAgICAgICAgICAgfCAgOTUgKysrKysrKysrKysr KysKIGRvYy9zcmMvc2dtbC9yZWZlcmVuY2Uuc2dtbCAgICAgICAgICAgICAgICAgICB8ICAgMSAr CiBzcmMvYmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMgICAgICAgfCAgODYgKysr KysrKysrKysrCiBzcmMvYmFja2VuZC9ub2Rlcy9ub2RlRnVuY3MuYyAgICAgICAgICAgICAgICAg fCAgIDggKysKIHNyYy9iYWNrZW5kL29wdGltaXplci9wbGFuL3BsYW5uZXIuYyAgICAgICAgICB8 ICAgMSArCiBzcmMvYmFja2VuZC9wYXJzZXIvYW5hbHl6ZS5jICAgICAgICAgICAgICAgICAgfCAx MDMgKysrKysrKysrKysrLS0tCiBzcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55ICAgICAgICAgICAg ICAgICAgICAgfCAgMzggKysrKystCiBzcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfYWdnLmMgICAg ICAgICAgICAgICAgfCAgIDcgKwogc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX2V4cHIuYyAgICAg ICAgICAgICAgIHwgICA5ICsrCiBzcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfZnVuYy5jICAgICAg ICAgICAgICAgfCAgIDMgKwogc3JjL2JhY2tlbmQvdGNvcC91dGlsaXR5LmMgICAgICAgICAgICAg ICAgICAgIHwgIDE1ICsrKwogc3JjL2Jpbi9wc3FsL3RhYi1jb21wbGV0ZS5pbi5jICAgICAgICAg ICAgICAgIHwgICA5ICstCiBzcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmgg ICAgICAgfCAgIDUgKwogc3JjL2luY2x1ZGUvbm9kZXMvcGFyc2Vub2Rlcy5oICAgICAgICAgICAg ICAgIHwgIDE1ICsrKwogc3JjL2luY2x1ZGUvbm9kZXMvcGF0aG5vZGVzLmggICAgICAgICAgICAg ICAgIHwgICAzICsKIHNyYy9pbmNsdWRlL3BhcnNlci9rd2xpc3QuaCAgICAgICAgICAgICAgICAg ICB8ICAgMSArCiBzcmMvaW5jbHVkZS9wYXJzZXIvcGFyc2Vfbm9kZS5oICAgICAgICAgICAgICAg fCAgIDEgKwogc3JjL2luY2x1ZGUvdGNvcC9jbWR0YWdsaXN0LmggICAgICAgICAgICAgICAgIHwg ICAxICsKIC4uLi9leHBlY3RlZC9zZXNzaW9uX3ZhcmlhYmxlc19kbWwub3V0ICAgICAgICB8IDEy MyArKysrKysrKysrKysrKysrKysKIC4uLi9yZWdyZXNzL3NxbC9zZXNzaW9uX3ZhcmlhYmxlc19k bWwuc3FsICAgICB8ICA4NyArKysrKysrKysrKysrCiBzcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRl ZnMubGlzdCAgICAgICAgICAgICAgfCAgIDEgKwogMjUgZmlsZXMgY2hhbmdlZCwgNjI0IGluc2Vy dGlvbnMoKyksIDIwIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRvYy9zcmMvc2dt bC9yZWYvbGV0LnNnbWwKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvZGRsLnNnbWwgYi9kb2Mv c3JjL3NnbWwvZGRsLnNnbWwKaW5kZXggMTUwYjA0ZjFkNGIuLjkyMTYzZDBhNzRhIDEwMDY0NAot LS0gYS9kb2Mvc3JjL3NnbWwvZGRsLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL2RkbC5zZ21sCkBA IC01NjgzLDEwICs1NjgzLDM3IEBAIEVYUExBSU4gU0VMRUNUIGNvdW50KCopIEZST00gbWVhc3Vy ZW1lbnQgV0hFUkUgbG9nZGF0ZSAmZ3Q7PSBEQVRFICcyMDA4LTAxLTAxJzsKICAgICBzZXNzaW9u IHZhcmlhYmxlIGlkZW50aWZpZXIsIGFuZCBjYW4gYmUgdXNlZCBvbmx5IGZvciBzZXNzaW9uIHZh cmlhYmxlCiAgICAgaWRlbnRpZmllci4gVGhlIHNwZWNpYWwgc3ludGF4IGZvciBhY2Nlc3Npbmcg c2Vzc2lvbiB2YXJpYWJsZXMgcmVtb3ZlcwogICAgIHJpc2sgb2YgY29sbGlzaW9ucyBiZXR3ZWVu IHZhcmlhYmxlIGlkZW50aWZpZXJzIGFuZCBjb2x1bW4gbmFtZXMuCisgICA8L3BhcmE+CisKKyAg IDxwYXJhPgorICAgIFRoZSB2YWx1ZSBvZiBhIHNlc3Npb24gdmFyaWFibGUgaXMgc2V0IHdpdGgg dGhlIFNRTCBzdGF0ZW1lbnQKKyAgICA8Y29tbWFuZD5MRVQ8L2NvbW1hbmQ+LiAgVGhlIHZhbHVl IG9mIGEgc2Vzc2lvbiB2YXJpYWJsZSBjYW4gYmUgcmV0cmlldmVkCisgICAgd2l0aCB0aGUgU1FM IHN0YXRlbWVudCA8Y29tbWFuZD5TRUxFQ1Q8L2NvbW1hbmQ+LgogPHByb2dyYW1saXN0aW5nPgor Q1JFQVRFIFZBUklBQkxFIHZhcjEgQVMgZGF0ZTsKK0xFVCB2YXIxID0gY3VycmVudF9kYXRlOwor U0VMRUNUIFZBUklBQkxFKHZhcjEpOworPC9wcm9ncmFtbGlzdGluZz4KKworICAgIG9yCisKKzxw cm9ncmFtbGlzdGluZz4KK0NSRUFURSBWQVJJQUJMRSBwdWJsaWMuY3VycmVudF91c2VyX2lkIEFT IGludGVnZXI7CitHUkFOVCBTRUxFQ1QgT04gVkFSSUFCTEUgcHVibGljLmN1cnJlbnRfdXNlcl9p ZCBUTyBQVUJMSUM7CitMRVQgY3VycmVudF91c2VyX2lkID0gKFNFTEVDVCBpZCBGUk9NIHVzZXJz IFdIRVJFIHVzZW5hbWUgPSBzZXNzaW9uX3VzZXIpOwogU0VMRUNUIFZBUklBQkxFKGN1cnJlbnRf dXNlcl9pZCk7CiA8L3Byb2dyYW1saXN0aW5nPgogICAgPC9wYXJhPgorCisgICA8cGFyYT4KKyAg ICBUaGUgdmFsdWUgb2YgYSBzZXNzaW9uIHZhcmlhYmxlIGlzIGxvY2FsIHRvIHRoZSBjdXJyZW50 IHNlc3Npb24uIFJldHJpZXZpbmcKKyAgICBhIHZhcmlhYmxlJ3MgdmFsdWUgcmV0dXJucyBhIDxs aXRlcmFsPk5VTEw8L2xpdGVyYWw+LCB1bmxlc3MgaXRzIHZhbHVlIGhhcworICAgIGJlZW4gc2V0 IHRvIHNvbWV0aGluZyBlbHNlIGluIHRoZSBjdXJyZW50IHNlc3Npb24gdXNpbmcgdGhlCisgICAg PGNvbW1hbmQ+TEVUPC9jb21tYW5kPiBjb21tYW5kLiAgU2Vzc2lvbiB2YXJpYWJsZXMgYXJlIG5v dCB0cmFuc2FjdGlvbmFsOgorICAgIGFueSBjaGFuZ2VzIG1hZGUgdG8gdGhlIHZhbHVlIG9mIGEg c2Vzc2lvbiB2YXJpYWJsZSBpbiBhIHRyYW5zYWN0aW9uIHdvbid0CisgICAgYmUgdW5kb25lIGlm IHRoZSB0cmFuc2FjdGlvbiBpcyByb2xsZWQgYmFjayAoanVzdCBsaWtlIHZhcmlhYmxlcyBpbgor ICAgIHByb2NlZHVyYWwgbGFuZ3VhZ2VzKS4KKyAgIDwvcGFyYT4KICAgPC9zZWN0MT4KIAogIDxz ZWN0MSBpZD0iZGRsLW90aGVycyI+CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmL2FsbGZp bGVzLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2FsbGZpbGVzLnNnbWwKaW5kZXggYTczNDk5MTk2 NTguLmNkM2ZhYTY2N2YwIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVmL2FsbGZpbGVzLnNn bWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9hbGxmaWxlcy5zZ21sCkBAIC0xNTcsNiArMTU3LDcg QEAgQ29tcGxldGUgbGlzdCBvZiB1c2FibGUgc2dtbCBzb3VyY2UgZmlsZXMgaW4gdGhpcyBkaXJl Y3RvcnkuCiA8IUVOVElUWSBncmFudCAgICAgICAgICAgICAgU1lTVEVNICJncmFudC5zZ21sIj4K IDwhRU5USVRZIGltcG9ydEZvcmVpZ25TY2hlbWEgU1lTVEVNICJpbXBvcnRfZm9yZWlnbl9zY2hl bWEuc2dtbCI+CiA8IUVOVElUWSBpbnNlcnQgICAgICAgICAgICAgU1lTVEVNICJpbnNlcnQuc2dt bCI+Cis8IUVOVElUWSBsZXQgICAgICAgICAgICAgICAgU1lTVEVNICJsZXQuc2dtbCI+CiA8IUVO VElUWSBsaXN0ZW4gICAgICAgICAgICAgU1lTVEVNICJsaXN0ZW4uc2dtbCI+CiA8IUVOVElUWSBs b2FkICAgICAgICAgICAgICAgU1lTVEVNICJsb2FkLnNnbWwiPgogPCFFTlRJVFkgbG9jayAgICAg ICAgICAgICAgIFNZU1RFTSAibG9jay5zZ21sIj4KZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9y ZWYvY3JlYXRlX3ZhcmlhYmxlLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV92YXJpYWJs ZS5zZ21sCmluZGV4IDVlZDc0YzVjMTczLi4xMWIxZWY3NDIxMiAxMDA2NDQKLS0tIGEvZG9jL3Ny Yy9zZ21sL3JlZi9jcmVhdGVfdmFyaWFibGUuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvcmVmL2Ny ZWF0ZV92YXJpYWJsZS5zZ21sCkBAIC0xMDcsNiArMTA3LDggQEAgQ1JFQVRFIHsgVEVNUCB8IFRF TVBPUkFMIH0gVkFSSUFCTEUgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm5hbWU8L3Jl cGxhY2UKICAgIENyZWF0ZSBhbiBkYXRlIHNlc3Npb24gdmFyaWFibGUgPGxpdGVyYWw+dmFyMTwv bGl0ZXJhbD46CiA8cHJvZ3JhbWxpc3Rpbmc+CiBDUkVBVEUgVEVNUE9SQVJZIFZBUklBQkxFIHZh cjEgQVMgZGF0ZTsKK0xFVCB2YXIxID0gY3VycmVudF9kYXRlOworU0VMRUNUIFZBUklBQkxFKHZh cjEpOwogPC9wcm9ncmFtbGlzdGluZz4KICAgPC9wYXJhPgogCkBAIC0xMjYsNiArMTI4LDcgQEAg Q1JFQVRFIFRFTVBPUkFSWSBWQVJJQUJMRSB2YXIxIEFTIGRhdGU7CiAKICAgPHNpbXBsZWxpc3Qg dHlwZT0iaW5saW5lIj4KICAgIDxtZW1iZXI+PHhyZWYgbGlua2VuZD0ic3FsLWRyb3B2YXJpYWJs ZSIvPjwvbWVtYmVyPgorICAgPG1lbWJlcj48eHJlZiBsaW5rZW5kPSJzcWwtbGV0Ii8+PC9tZW1i ZXI+CiAgIDwvc2ltcGxlbGlzdD4KICA8L3JlZnNlY3QxPgogCmRpZmYgLS1naXQgYS9kb2Mvc3Jj L3NnbWwvcmVmL2Ryb3BfdmFyaWFibGUuc2dtbCBiL2RvYy9zcmMvc2dtbC9yZWYvZHJvcF92YXJp YWJsZS5zZ21sCmluZGV4IGU4NTE3YTc4MjAwLi5kZWRlNDJlNGZmYiAxMDA2NDQKLS0tIGEvZG9j L3NyYy9zZ21sL3JlZi9kcm9wX3ZhcmlhYmxlLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9k cm9wX3ZhcmlhYmxlLnNnbWwKQEAgLTc4LDYgKzc4LDcgQEAgRFJPUCBWQVJJQUJMRSB2YXIxOwog CiAgIDxzaW1wbGVsaXN0IHR5cGU9ImlubGluZSI+CiAgICA8bWVtYmVyPjx4cmVmIGxpbmtlbmQ9 InNxbC1jcmVhdGV2YXJpYWJsZSIvPjwvbWVtYmVyPgorICAgPG1lbWJlcj48eHJlZiBsaW5rZW5k PSJzcWwtbGV0Ii8+PC9tZW1iZXI+CiAgIDwvc2ltcGxlbGlzdD4KICA8L3JlZnNlY3QxPgogCmRp ZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmL2xldC5zZ21sIGIvZG9jL3NyYy9zZ21sL3JlZi9s ZXQuc2dtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNTkwOWQyMDNl OTQKLS0tIC9kZXYvbnVsbAorKysgYi9kb2Mvc3JjL3NnbWwvcmVmL2xldC5zZ21sCkBAIC0wLDAg KzEsOTUgQEAKKzwhLS0KK2RvYy9zcmMvc2dtbC9yZWYvbGV0LnNnbWwKK1Bvc3RncmVTUUwgZG9j dW1lbnRhdGlvbgorLS0+CisKKzxyZWZlbnRyeSBpZD0ic3FsLWxldCI+CisgPGluZGV4dGVybSB6 b25lPSJzcWwtbGV0Ij4KKyAgPHByaW1hcnk+TEVUPC9wcmltYXJ5PgorIDwvaW5kZXh0ZXJtPgor CisgPGluZGV4dGVybT4KKyAgPHByaW1hcnk+c2Vzc2lvbiB2YXJpYWJsZTwvcHJpbWFyeT4KKyAg PHNlY29uZGFyeT5jaGFuZ2luZzwvc2Vjb25kYXJ5PgorIDwvaW5kZXh0ZXJtPgorCisgPHJlZm1l dGE+CisgIDxyZWZlbnRyeXRpdGxlPkxFVDwvcmVmZW50cnl0aXRsZT4KKyAgPG1hbnZvbG51bT43 PC9tYW52b2xudW0+CisgIDxyZWZtaXNjaW5mbz5TUUwgLSBMYW5ndWFnZSBTdGF0ZW1lbnRzPC9y ZWZtaXNjaW5mbz4KKyA8L3JlZm1ldGE+CisKKyA8cmVmbmFtZWRpdj4KKyAgPHJlZm5hbWU+TEVU PC9yZWZuYW1lPgorICA8cmVmcHVycG9zZT5jaGFuZ2UgYSBzZXNzaW9uIHZhcmlhYmxlJ3MgdmFs dWU8L3JlZnB1cnBvc2U+CisgPC9yZWZuYW1lZGl2PgorCisgPHJlZnN5bm9wc2lzZGl2PgorPHN5 bm9wc2lzPgorTEVUIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5zZXNzaW9uX3Zhcmlh YmxlPC9yZXBsYWNlYWJsZT4gPSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+c3FsX2V4 cHJlc3Npb248L3JlcGxhY2VhYmxlPgorPC9zeW5vcHNpcz4KKyA8L3JlZnN5bm9wc2lzZGl2Pgor CisgPHJlZnNlY3QxPgorICA8dGl0bGU+RGVzY3JpcHRpb248L3RpdGxlPgorCisgIDxwYXJhPgor ICAgVGhlIDxjb21tYW5kPkxFVDwvY29tbWFuZD4gY29tbWFuZCBhc3NpZ25zIGEgdmFsdWUgdG8g dGhlIHNwZWNpZmllZCBzZXNzaW9uCisgICB2YXJpYWJsZS4KKyAgPC9wYXJhPgorCisgPC9yZWZz ZWN0MT4KKworIDxyZWZzZWN0MT4KKyAgPHRpdGxlPlBhcmFtZXRlcnM8L3RpdGxlPgorCisgIDx2 YXJpYWJsZWxpc3Q+CisgICA8dmFybGlzdGVudHJ5PgorICAgIDx0ZXJtPjxyZXBsYWNlYWJsZSBj bGFzcz0icGFyYW1ldGVyIj5zZXNzaW9uX3ZhcmlhYmxlPC9yZXBsYWNlYWJsZT48L3Rlcm0+Cisg ICAgPGxpc3RpdGVtPgorICAgICA8cGFyYT4KKyAgICAgIFRoZSBuYW1lIG9mIHRoZSBzZXNzaW9u IHZhcmlhYmxlLgorICAgICA8L3BhcmE+CisgICAgPC9saXN0aXRlbT4KKyAgIDwvdmFybGlzdGVu dHJ5PgorCisgICA8dmFybGlzdGVudHJ5PgorICAgIDx0ZXJtPjxyZXBsYWNlYWJsZSBjbGFzcz0i cGFyYW1ldGVyIj5zcWxfZXhwcmVzc2lvbjwvcmVwbGFjZWFibGU+PC90ZXJtPgorICAgIDxsaXN0 aXRlbT4KKyAgICAgPHBhcmE+CisgICAgICBBbiBhcmJpdHJhcnkgU1FMIGV4cHJlc3Npb24uICBU aGUgcmVzdWx0IG11c3QgYmUgb2YgYSBkYXRhIHR5cGUgdGhhdCBjYW4KKyAgICAgIGJlIGNhc3Qg dG8gdGhlIHR5cGUgb2YgdGhlIHNlc3Npb24gdmFyaWFibGUgaW4gYW4gYXNzaWdubWVudC4KKyAg ICAgPC9wYXJhPgorICAgIDwvbGlzdGl0ZW0+CisgICA8L3Zhcmxpc3RlbnRyeT4KKworICA8L3Zh cmlhYmxlbGlzdD4KKyA8L3JlZnNlY3QxPgorCisgPHJlZnNlY3QxPgorICA8dGl0bGU+RXhhbXBs ZXM8L3RpdGxlPgorPHByb2dyYW1saXN0aW5nPgorQ1JFQVRFIFZBUklBQkxFIG15dmFyIEFTIGlu dGVnZXI7CitMRVQgbXl2YXIgPSAxMDsKK0xFVCBteXZhciA9IChTRUxFQ1Qgc3VtKHZhbCkgRlJP TSB0YWIpOworPC9wcm9ncmFtbGlzdGluZz4KKyA8L3JlZnNlY3QxPgorCisgPHJlZnNlY3QxPgor ICA8dGl0bGU+Q29tcGF0aWJpbGl0eTwvdGl0bGU+CisKKyAgPHBhcmE+CisgICBUaGUgPGNvbW1h bmQ+TEVUPC9jb21tYW5kPiBpcyBhIDxwcm9kdWN0bmFtZT5Qb3N0Z3JlU1FMPC9wcm9kdWN0bmFt ZT4KKyAgIGV4dGVuc2lvbi4KKyAgPC9wYXJhPgorIDwvcmVmc2VjdDE+CisKKyA8cmVmc2VjdDE+ CisgIDx0aXRsZT5TZWUgQWxzbzwvdGl0bGU+CisKKyAgPHNpbXBsZWxpc3QgdHlwZT0iaW5saW5l Ij4KKyAgIDxtZW1iZXI+PHhyZWYgbGlua2VuZD0ic3FsLWNyZWF0ZXZhcmlhYmxlIi8+PC9tZW1i ZXI+CisgICA8bWVtYmVyPjx4cmVmIGxpbmtlbmQ9InNxbC1kcm9wdmFyaWFibGUiLz48L21lbWJl cj4KKyAgPC9zaW1wbGVsaXN0PgorIDwvcmVmc2VjdDE+Cis8L3JlZmVudHJ5PgpkaWZmIC0tZ2l0 IGEvZG9jL3NyYy9zZ21sL3JlZmVyZW5jZS5zZ21sIGIvZG9jL3NyYy9zZ21sL3JlZmVyZW5jZS5z Z21sCmluZGV4IGMwM2U3NjkyYzdhLi42ZmNkN2E4MTMyMSAxMDA2NDQKLS0tIGEvZG9jL3NyYy9z Z21sL3JlZmVyZW5jZS5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9yZWZlcmVuY2Uuc2dtbApAQCAt MTg1LDYgKzE4NSw3IEBACiAgICAmZ3JhbnQ7CiAgICAmaW1wb3J0Rm9yZWlnblNjaGVtYTsKICAg ICZpbnNlcnQ7CisgICAmbGV0OwogICAgJmxpc3RlbjsKICAgICZsb2FkOwogICAgJmxvY2s7CmRp ZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMgYi9zcmMv YmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMKaW5kZXggOTVkNzA5MTFiY2MuLjM2 NDkwMzg3ZGEwIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3Zhcmlh YmxlLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5jCkBAIC0x OSwxNCArMTksMTkgQEAKICNpbmNsdWRlICJjYXRhbG9nL3BnX3Byb2MuaCIKICNpbmNsdWRlICJj YXRhbG9nL3BnX3R5cGUuaCIKICNpbmNsdWRlICJjb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmgi CisjaW5jbHVkZSAiZXhlY3V0b3IvZXhlY3V0b3IuaCIKKyNpbmNsdWRlICJleGVjdXRvci9zdmFy aWFibGVSZWNlaXZlci5oIgogI2luY2x1ZGUgIm1pc2NhZG1pbi5oIgogI2luY2x1ZGUgInBhcnNl ci9wYXJzZV90eXBlLmgiCisjaW5jbHVkZSAicmV3cml0ZS9yZXdyaXRlSGFuZGxlci5oIgogI2lu Y2x1ZGUgInN0b3JhZ2UvcHJvYy5oIgorI2luY2x1ZGUgInRjb3AvdGNvcHByb3QuaCIKICNpbmNs dWRlICJ1dGlscy9hY2wuaCIKICNpbmNsdWRlICJ1dGlscy9idWlsdGlucy5oIgogI2luY2x1ZGUg InV0aWxzL2RhdHVtLmgiCiAjaW5jbHVkZSAidXRpbHMvbHN5c2NhY2hlLmgiCiAjaW5jbHVkZSAi dXRpbHMvbWVtdXRpbHMuaCIKKyNpbmNsdWRlICJ1dGlscy9zbmFwbWdyLmgiCiAjaW5jbHVkZSAi dXRpbHMvc3lzY2FjaGUuaCIKIAogLyoKQEAgLTMyNiwzICszMzEsODQgQEAgRHJvcFZhcmlhYmxl QnlOYW1lKGNoYXIgKnZhcm5hbWUpCiAJCQkJCSAgIEhBU0hfUkVNT1ZFLAogCQkJCQkgICBOVUxM KTsKIH0KKworLyoKKyAqIEFzc2lnbiB0aGUgcmVzdWx0IG9mIHRoZSBldmFsdWF0ZWQgZXhwcmVz c2lvbiB0byB0aGUgc2Vzc2lvbiB2YXJpYWJsZQorICovCit2b2lkCitFeGVjdXRlTGV0U3RtdChQ YXJzZVN0YXRlICpwc3RhdGUsCisJCQkgICBMZXRTdG10ICpzdG10LAorCQkJICAgUGFyYW1MaXN0 SW5mbyBwYXJhbXMsCisJCQkgICBRdWVyeUVudmlyb25tZW50ICpxdWVyeUVudiwKKwkJCSAgIFF1 ZXJ5Q29tcGxldGlvbiAqcWMpCit7CisJUXVlcnkJICAgKnF1ZXJ5ID0gY2FzdE5vZGUoUXVlcnks IHN0bXQtPnF1ZXJ5KTsKKwlMaXN0CSAgICpyZXdyaXR0ZW47CisJRGVzdFJlY2VpdmVyICpkZXN0 OworCVBsYW5uZWRTdG10ICpwbGFuOworCVF1ZXJ5RGVzYyAgKnF1ZXJ5RGVzYzsKKwljaGFyCSAg ICp2YXJuYW1lID0gcXVlcnktPnJlc3VsdFZhcmlhYmxlOworCVNWYXJpYWJsZQlzdmFyOworCisJ c3ZhciA9IHNlYXJjaF92YXJpYWJsZSh2YXJuYW1lKTsKKworCS8qIG9ubHkgb3duZXIgY2FuIHNl dCBjb250ZW50IG9mIHZhcmlhYmxlICovCisJaWYgKHN2YXItPnZhcm93bmVyICE9IEdldFVzZXJJ ZCgpICYmICFzdXBlcnVzZXIoKSkKKwkJZXJlcG9ydChFUlJPUiwKKwkJCQkoZXJyY29kZShFUlJD T0RFX0lOU1VGRklDSUVOVF9QUklWSUxFR0UpLAorCQkJCSBlcnJtc2coInBlcm1pc3Npb24gZGVu aWVkIGZvciBzZXNzaW9uIHZhcmlhYmxlICVzIiwKKwkJCQkJCXZhcm5hbWUpKSk7CisKKwkvKiBj cmVhdGUgYSBkZXN0IHJlY2VpdmVyIGZvciBMRVQgKi8KKwlkZXN0ID0gQ3JlYXRlVmFyaWFibGVE ZXN0UmVjZWl2ZXIodmFybmFtZSk7CisKKwkvKiBydW4gdGhlIHF1ZXJ5IHJld3JpdGVyICovCisJ cXVlcnkgPSBjb3B5T2JqZWN0KHF1ZXJ5KTsKKworCXJld3JpdHRlbiA9IFF1ZXJ5UmV3cml0ZShx dWVyeSk7CisKKwlBc3NlcnQobGlzdF9sZW5ndGgocmV3cml0dGVuKSA9PSAxKTsKKworCXF1ZXJ5 ID0gbGluaXRpYWxfbm9kZShRdWVyeSwgcmV3cml0dGVuKTsKKwlBc3NlcnQocXVlcnktPmNvbW1h bmRUeXBlID09IENNRF9TRUxFQ1QpOworCisJLyogcGxhbiB0aGUgcXVlcnkgKi8KKwlwbGFuID0g cGdfcGxhbl9xdWVyeShxdWVyeSwgcHN0YXRlLT5wX3NvdXJjZXRleHQsCisJCQkJCQkgQ1VSU09S X09QVF9QQVJBTExFTF9PSywgcGFyYW1zLCBOVUxMKTsKKworCS8qCisJICogVXNlIGEgc25hcHNo b3Qgd2l0aCBhbiB1cGRhdGVkIGNvbW1hbmQgSUQgdG8gZW5zdXJlIHRoaXMgcXVlcnkgc2VlcyB0 aGUKKwkgKiByZXN1bHRzIG9mIGFueSBwcmV2aW91c2x5IGV4ZWN1dGVkIHF1ZXJpZXMuICAoVGhp cyBjb3VsZCBvbmx5IG1hdHRlciBpZgorCSAqIHRoZSBwbGFubmVyIGV4ZWN1dGVkIGFuIGFsbGVn ZWRseS1zdGFibGUgZnVuY3Rpb24gdGhhdCBjaGFuZ2VkIHRoZQorCSAqIGRhdGFiYXNlIGNvbnRl bnRzLCBidXQgbGV0J3MgZG8gaXQgYW55d2F5IHRvIGJlIHBhcmFsbGVsIHRvIHRoZSBFWFBMQUlO CisJICogY29kZSBwYXRoLikKKwkgKi8KKwlQdXNoQ29waWVkU25hcHNob3QoR2V0QWN0aXZlU25h cHNob3QoKSk7CisJVXBkYXRlQWN0aXZlU25hcHNob3RDb21tYW5kSWQoKTsKKworCS8qIGNyZWF0 ZSBhIFF1ZXJ5RGVzYywgcmVkaXJlY3Rpbmcgb3V0cHV0IHRvIG91ciB0dXBsZSByZWNlaXZlciAq LworCXF1ZXJ5RGVzYyA9IENyZWF0ZVF1ZXJ5RGVzYyhwbGFuLCBwc3RhdGUtPnBfc291cmNldGV4 dCwKKwkJCQkJCQkJR2V0QWN0aXZlU25hcHNob3QoKSwgSW52YWxpZFNuYXBzaG90LAorCQkJCQkJ CQlkZXN0LCBwYXJhbXMsIHF1ZXJ5RW52LCAwKTsKKworCS8qIGNhbGwgRXhlY3V0b3JTdGFydCB0 byBwcmVwYXJlIHRoZSBwbGFuIGZvciBleGVjdXRpb24gKi8KKwlFeGVjdXRvclN0YXJ0KHF1ZXJ5 RGVzYywgMCk7CisKKwkvKgorCSAqIFJ1biB0aGUgcGxhbiB0byBjb21wbGV0aW9uLiAgVGhlIHJl c3VsdCBzaG91bGQgYmUgb25seSBvbmUgcm93LiAgVG8KKwkgKiBjaGVjayBpZiB0aGVyZSBhcmUg dG9vIG1hbnkgcmVzdWx0IHJvd3MsIHdlIHRyeSB0byBmZXRjaCB0d28uCisJICovCisJRXhlY3V0 b3JSdW4ocXVlcnlEZXNjLCBGb3J3YXJkU2NhbkRpcmVjdGlvbiwgMkwpOworCisJLyogc2F2ZSB0 aGUgcm93Y291bnQgaWYgd2UncmUgZ2l2ZW4gYSBRdWVyeUNvbXBsZXRpb24gdG8gZmlsbCAqLwor CWlmIChxYykKKwkJU2V0UXVlcnlDb21wbGV0aW9uKHFjLCBDTURUQUdfTEVULCBxdWVyeURlc2Mt PmVzdGF0ZS0+ZXNfcHJvY2Vzc2VkKTsKKworCS8qIGFuZCBjbGVhbiB1cCAqLworCUV4ZWN1dG9y RmluaXNoKHF1ZXJ5RGVzYyk7CisJRXhlY3V0b3JFbmQocXVlcnlEZXNjKTsKKworCUZyZWVRdWVy eURlc2MocXVlcnlEZXNjKTsKKworCVBvcEFjdGl2ZVNuYXBzaG90KCk7Cit9CmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC9ub2Rlcy9ub2RlRnVuY3MuYyBiL3NyYy9iYWNrZW5kL25vZGVzL25vZGVG dW5jcy5jCmluZGV4IGMxZWI4MWY3OWU1Li5mZGIxM2FkYTc1ZCAxMDA2NDQKLS0tIGEvc3JjL2Jh Y2tlbmQvbm9kZXMvbm9kZUZ1bmNzLmMKKysrIGIvc3JjL2JhY2tlbmQvbm9kZXMvbm9kZUZ1bmNz LmMKQEAgLTQzNzQsNiArNDM3NCwxNCBAQCByYXdfZXhwcmVzc2lvbl90cmVlX3dhbGtlcl9pbXBs KE5vZGUgKm5vZGUsCiAJCQkJCXJldHVybiB0cnVlOwogCQkJfQogCQkJYnJlYWs7CisJCWNhc2Ug VF9MZXRTdG10OgorCQkJeworCQkJCUxldFN0bXQgICAgKnN0bXQgPSAoTGV0U3RtdCAqKSBub2Rl OworCisJCQkJaWYgKFdBTEsoc3RtdC0+cXVlcnkpKQorCQkJCQlyZXR1cm4gdHJ1ZTsKKwkJCX0K KwkJCWJyZWFrOwogCQljYXNlIFRfUExBc3NpZ25TdG10OgogCQkJewogCQkJCVBMQXNzaWduU3Rt dCAqc3RtdCA9IChQTEFzc2lnblN0bXQgKikgbm9kZTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5k L29wdGltaXplci9wbGFuL3BsYW5uZXIuYyBiL3NyYy9iYWNrZW5kL29wdGltaXplci9wbGFuL3Bs YW5uZXIuYwppbmRleCBjYzAzYjAzMTFhNC4uNmFjYzYzYzliY2UgMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL29wdGltaXplci9wbGFuL3BsYW5uZXIuYworKysgYi9zcmMvYmFja2VuZC9vcHRpbWl6 ZXIvcGxhbi9wbGFubmVyLmMKQEAgLTM3NSw2ICszNzUsNyBAQCBzdGFuZGFyZF9wbGFubmVyKFF1 ZXJ5ICpwYXJzZSwgY29uc3QgY2hhciAqcXVlcnlfc3RyaW5nLCBpbnQgY3Vyc29yT3B0aW9ucywK IAlnbG9iLT5wYXJ0aXRpb25fZGlyZWN0b3J5ID0gTlVMTDsKIAlnbG9iLT5yZWxfbm90bnVsbGF0 dHNfaGFzaCA9IE5VTEw7CiAJZ2xvYi0+c2Vzc2lvblZhcmlhYmxlcyA9IE5JTDsKKwlnbG9iLT5y ZXN1bHRWYXJpYWJsZSA9IHBhcnNlLT5yZXN1bHRWYXJpYWJsZTsKIAogCS8qCiAJICogQXNzZXNz IHdoZXRoZXIgaXQncyBmZWFzaWJsZSB0byB1c2UgcGFyYWxsZWwgbW9kZSBmb3IgdGhpcyBxdWVy eS4gV2UKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9hbmFseXplLmMgYi9zcmMvYmFj a2VuZC9wYXJzZXIvYW5hbHl6ZS5jCmluZGV4IDViMGI1OTUxZWY0Li45NTY1NTFjNTc1NyAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFyc2VyL2FuYWx5emUuYworKysgYi9zcmMvYmFja2VuZC9w YXJzZXIvYW5hbHl6ZS5jCkBAIC01MywxNSArNTMsMTggQEAKICNpbmNsdWRlICJ1dGlscy9idWls dGlucy5oIgogI2luY2x1ZGUgInV0aWxzL2d1Yy5oIgogI2luY2x1ZGUgInV0aWxzL3JlbC5oIgor I2luY2x1ZGUgInV0aWxzL2xzeXNjYWNoZS5oIgogI2luY2x1ZGUgInV0aWxzL3N5c2NhY2hlLmgi CiAKIAotLyogUGFzc3Rocm91Z2ggZGF0YSBmb3IgdHJhbnNmb3JtUExBc3NpZ25TdG10VGFyZ2V0 ICovCisvKiBQYXNzdGhyb3VnaCBkYXRhIGZvciB0cmFuc2Zvcm1Bc3NpZ25UYXJnZXQgKi8KIHR5 cGVkZWYgc3RydWN0IFNlbGVjdFN0bXRQYXNzdGhyb3VnaAogewotCVBMQXNzaWduU3RtdCAqc3Rt dDsJCQkvKiB0aGUgYXNzaWdubWVudCBzdGF0ZW1lbnQgKi8KKwlOb2RlCSAgICpzdG10OwkJCS8q IHRoZSBhc3NpZ25tZW50IHN0YXRlbWVudCAqLwogCU5vZGUJICAgKnRhcmdldDsJCQkvKiBub2Rl IHJlcHJlc2VudGluZyB0aGUgdGFyZ2V0IHZhcmlhYmxlICovCisJY2hhcgkgICAqdGFyZ2V0X25h bWU7CS8qIHRoZSBuYW1lIHVzZWQgYnkgZXJyICovCiAJTGlzdAkgICAqaW5kaXJlY3Rpb247CS8q IGluZGlyZWN0aW9uIHlldCB0byBiZSBhcHBsaWVkIHRvIHRhcmdldCAqLworCUNvZXJjaW9uQ29u dGV4dCBjY29udGV4dDsgCS8qIGNvbnRleHQgaW5kaWNhdG9ycyB0byBjb250cm9sIGNvZXJjaW9u cyAqLwogfSBTZWxlY3RTdG10UGFzc3Rocm91Z2g7CiAKIC8qIEhvb2sgZm9yIHBsdWdpbnMgdG8g Z2V0IGNvbnRyb2wgYXQgZW5kIG9mIHBhcnNlIGFuYWx5c2lzICovCkBAIC04NSw3ICs4OCw3IEBA IHN0YXRpYyBRdWVyeSAqdHJhbnNmb3JtUmV0dXJuU3RtdChQYXJzZVN0YXRlICpwc3RhdGUsIFJl dHVyblN0bXQgKnN0bXQpOwogc3RhdGljIFF1ZXJ5ICp0cmFuc2Zvcm1VcGRhdGVTdG10KFBhcnNl U3RhdGUgKnBzdGF0ZSwgVXBkYXRlU3RtdCAqc3RtdCk7CiBzdGF0aWMgUXVlcnkgKnRyYW5zZm9y bVBMQXNzaWduU3RtdChQYXJzZVN0YXRlICpwc3RhdGUsCiAJCQkJCQkJCQlQTEFzc2lnblN0bXQg KnN0bXQpOwotc3RhdGljIExpc3QgKnRyYW5zZm9ybVBMQXNzaWduU3RtdFRhcmdldChQYXJzZVN0 YXRlICpwc3RhdGUsIExpc3QgKnRsaXN0LAorc3RhdGljIExpc3QgKnRyYW5zZm9ybUFzc2lnblRh cmdldChQYXJzZVN0YXRlICpwc3RhdGUsIExpc3QgKnRsaXN0LAogCQkJCQkJCQkJCSBTZWxlY3RT dG10UGFzc3Rocm91Z2ggKnBhc3N0aHJ1KTsKIHN0YXRpYyBRdWVyeSAqdHJhbnNmb3JtRGVjbGFy ZUN1cnNvclN0bXQoUGFyc2VTdGF0ZSAqcHN0YXRlLAogCQkJCQkJCQkJCSBEZWNsYXJlQ3Vyc29y U3RtdCAqc3RtdCk7CkBAIC05NSw2ICs5OCw4IEBAIHN0YXRpYyBRdWVyeSAqdHJhbnNmb3JtQ3Jl YXRlVGFibGVBc1N0bXQoUGFyc2VTdGF0ZSAqcHN0YXRlLAogCQkJCQkJCQkJCSBDcmVhdGVUYWJs ZUFzU3RtdCAqc3RtdCk7CiBzdGF0aWMgUXVlcnkgKnRyYW5zZm9ybUNhbGxTdG10KFBhcnNlU3Rh dGUgKnBzdGF0ZSwKIAkJCQkJCQkJQ2FsbFN0bXQgKnN0bXQpOworc3RhdGljIFF1ZXJ5ICp0cmFu c2Zvcm1MZXRTdG10KFBhcnNlU3RhdGUgKnBzdGF0ZSwKKwkJCQkJCQkgICBMZXRTdG10ICpzdG10 KTsKIHN0YXRpYyB2b2lkIHRyYW5zZm9ybUxvY2tpbmdDbGF1c2UoUGFyc2VTdGF0ZSAqcHN0YXRl LCBRdWVyeSAqcXJ5LAogCQkJCQkJCQkgICBMb2NraW5nQ2xhdXNlICpsYywgYm9vbCBwdXNoZWRE b3duKTsKICNpZmRlZiBERUJVR19OT0RFX1RFU1RTX0VOQUJMRUQKQEAgLTM0Miw2ICszNDcsNyBA QCB0cmFuc2Zvcm1TdG10KFBhcnNlU3RhdGUgKnBzdGF0ZSwgTm9kZSAqcGFyc2VUcmVlKQogCQkJ Y2FzZSBUX1VwZGF0ZVN0bXQ6CiAJCQljYXNlIFRfRGVsZXRlU3RtdDoKIAkJCWNhc2UgVF9NZXJn ZVN0bXQ6CisJCQljYXNlIFRfTGV0U3RtdDoKIAkJCQkodm9pZCkgdGVzdF9yYXdfZXhwcmVzc2lv bl9jb3ZlcmFnZShwYXJzZVRyZWUsIE5VTEwpOwogCQkJCWJyZWFrOwogCQkJZGVmYXVsdDoKQEAg LTQyMSw2ICs0MjcsMTEgQEAgdHJhbnNmb3JtU3RtdChQYXJzZVN0YXRlICpwc3RhdGUsIE5vZGUg KnBhcnNlVHJlZSkKIAkJCQkJCQkJCSAgIChDYWxsU3RtdCAqKSBwYXJzZVRyZWUpOwogCQkJYnJl YWs7CiAKKwkJY2FzZSBUX0xldFN0bXQ6CisJCQlyZXN1bHQgPSB0cmFuc2Zvcm1MZXRTdG10KHBz dGF0ZSwKKwkJCQkJCQkJCSAgKExldFN0bXQgKikgcGFyc2VUcmVlKTsKKwkJCWJyZWFrOworCiAJ CWRlZmF1bHQ6CiAKIAkJCS8qCkBAIC00ODIsNiArNDkzLDcgQEAgc3RtdF9yZXF1aXJlc19wYXJz ZV9hbmFseXNpcyhSYXdTdG10ICpwYXJzZVRyZWUpCiAJCWNhc2UgVF9FeHBsYWluU3RtdDoKIAkJ Y2FzZSBUX0NyZWF0ZVRhYmxlQXNTdG10OgogCQljYXNlIFRfQ2FsbFN0bXQ6CisJCWNhc2UgVF9M ZXRTdG10OgogCQkJcmVzdWx0ID0gdHJ1ZTsKIAkJCWJyZWFrOwogCkBAIC01NDcsNiArNTU5LDcg QEAgcXVlcnlfcmVxdWlyZXNfcmV3cml0ZV9wbGFuKFF1ZXJ5ICpxdWVyeSkKIAkJCWNhc2UgVF9F eHBsYWluU3RtdDoKIAkJCWNhc2UgVF9DcmVhdGVUYWJsZUFzU3RtdDoKIAkJCWNhc2UgVF9DYWxs U3RtdDoKKwkJCWNhc2UgVF9MZXRTdG10OgogCQkJCXJlc3VsdCA9IHRydWU7CiAJCQkJYnJlYWs7 CiAJCQlkZWZhdWx0OgpAQCAtMTM5MCw3ICsxNDAzLDcgQEAgY291bnRfcm93ZXhwcl9jb2x1bW5z KFBhcnNlU3RhdGUgKnBzdGF0ZSwgTm9kZSAqZXhwcikKICAqCiAgKiBUaGlzIGZ1bmN0aW9uIGlz IGFsc28gdXNlZCB0byB0cmFuc2Zvcm0gdGhlIHNvdXJjZSBleHByZXNzaW9uIG9mIGEKICAqIFBM QXNzaWduU3RtdC4gIEluIHRoYXQgdXNhZ2UsIHBhc3N0aHJ1IGlzIG5vbi1OVUxMIGFuZCB3ZSBu ZWVkIHRvCi0gKiBjYWxsIHRyYW5zZm9ybVBMQXNzaWduU3RtdFRhcmdldCBhZnRlciB0aGUgaW5p dGlhbCB0cmFuc2Zvcm1hdGlvbiBvZiB0aGUKKyAqIGNhbGwgdHJhbnNmb3JtQXNzaWduVGFyZ2V0 IGFmdGVyIHRoZSBpbml0aWFsIHRyYW5zZm9ybWF0aW9uIG9mIHRoZQogICogU0VMRUNUJ3MgdGFy Z2V0bGlzdC4gIChXZSBjb3VsZCBnZW5lcmFsaXplIHRoaXMgaW50byBhbiBhcmJpdHJhcnkgY2Fs bGJhY2sKICAqIGZ1bmN0aW9uLCBidXQgZm9yIG5vdyB0aGF0IHdvdWxkIGp1c3QgYmUgbW9yZSBu b3RhdGlvbiB3aXRoIG5vIGJlbmVmaXQuKQogICogQWxsIHRoZSByZXN0IGlzIHRoZSBzYW1lIGFz IGEgcmVndWxhciBTZWxlY3RTdG10LgpAQCAtMTQ0Myw4ICsxNDU2LDggQEAgdHJhbnNmb3JtU2Vs ZWN0U3RtdChQYXJzZVN0YXRlICpwc3RhdGUsIFNlbGVjdFN0bXQgKnN0bXQsCiAJICogT3RoZXJ3 aXNlLCBtYXJrIGNvbHVtbiBvcmlnaW5zICh3aGljaCBhcmUgdXNlbGVzcyBpbiBhIFBMQXNzaWdu U3RtdCkuCiAJICovCiAJaWYgKHBhc3N0aHJ1KQotCQlxcnktPnRhcmdldExpc3QgPSB0cmFuc2Zv cm1QTEFzc2lnblN0bXRUYXJnZXQocHN0YXRlLCBxcnktPnRhcmdldExpc3QsCi0JCQkJCQkJCQkJ CQkJICBwYXNzdGhydSk7CisJCXFyeS0+dGFyZ2V0TGlzdCA9IHRyYW5zZm9ybUFzc2lnblRhcmdl dChwc3RhdGUsIHFyeS0+dGFyZ2V0TGlzdCwKKwkJCQkJCQkJCQkJCXBhc3N0aHJ1KTsKIAllbHNl CiAJCW1hcmtUYXJnZXRMaXN0T3JpZ2lucyhwc3RhdGUsIHFyeS0+dGFyZ2V0TGlzdCk7CiAKQEAg LTI4NDIsOSArMjg1NSwxMSBAQCB0cmFuc2Zvcm1QTEFzc2lnblN0bXQoUGFyc2VTdGF0ZSAqcHN0 YXRlLCBQTEFzc2lnblN0bXQgKnN0bXQpCiAJCQkJCQkgICBFWFBSX0tJTkRfVVBEQVRFX1RBUkdF VCk7CiAKIAkvKiBTZXQgdXAgcGFzc3Rocm91Z2ggZGF0YSBmb3IgdHJhbnNmb3JtUExBc3NpZ25T dG10VGFyZ2V0ICovCi0JcGFzc3RocnUuc3RtdCA9IHN0bXQ7CisJcGFzc3RocnUuc3RtdCA9IChO b2RlICopIHN0bXQ7CiAJcGFzc3RocnUudGFyZ2V0ID0gdGFyZ2V0OworCXBhc3N0aHJ1LnRhcmdl dF9uYW1lID0gc3RtdC0+bmFtZTsKIAlwYXNzdGhydS5pbmRpcmVjdGlvbiA9IGluZGlyZWN0aW9u OworCXBhc3N0aHJ1LmNjb250ZXh0ID0gQ09FUkNJT05fUExQR1NRTDsKIAogCS8qCiAJICogVG8g YXZvaWQgZHVwbGljYXRpbmcgYSBsb3Qgb2YgY29kZSwgd2UgdXNlIHRyYW5zZm9ybVNlbGVjdFN0 bXQgdG8gZG8KQEAgLTI4NjcsMTggKzI4ODIsMjEgQEAgdHJhbnNmb3JtUExBc3NpZ25TdG10KFBh cnNlU3RhdGUgKnBzdGF0ZSwgUExBc3NpZ25TdG10ICpzdG10KQogCiAvKgogICogQ2FsbGJhY2sg ZnVuY3Rpb24gdG8gYWRqdXN0IGEgU0VMRUNUJ3MgdGxpc3QgdG8gbWFrZSB0aGUgb3V0cHV0IHN1 aXRhYmxlCi0gKiBmb3IgYXNzaWdubWVudCB0byBhIFBMQXNzaWduU3RtdCdzIHRhcmdldCB2YXJp YWJsZS4KKyAqIGZvciBhc3NpZ25tZW50IHRvIGEgUExBc3NpZ25TdG10J3MgdGFyZ2V0IHZhcmlh YmxlIHByIExFVCdzIHRhcmdldAorICogc2Vzc2lvbiB2YXJpYWJsZS4KICAqCiAgKiBOb3RlOiB3 ZSBhY3R1YWxseSBtb2RpZnkgdGhlIHRsZS0+ZXhwciBpbi1wbGFjZSwgYnV0IHRoZSBmdW5jdGlv bidzIEFQSQogICogaXMgc2V0IHVwIHRvIG5vdCBwcmVzdW1lIHRoYXQuCiAgKi8KIHN0YXRpYyBM aXN0ICoKLXRyYW5zZm9ybVBMQXNzaWduU3RtdFRhcmdldChQYXJzZVN0YXRlICpwc3RhdGUsIExp c3QgKnRsaXN0LAotCQkJCQkJCVNlbGVjdFN0bXRQYXNzdGhyb3VnaCAqcGFzc3RocnUpCit0cmFu c2Zvcm1Bc3NpZ25UYXJnZXQoUGFyc2VTdGF0ZSAqcHN0YXRlLCBMaXN0ICp0bGlzdCwKKwkJCQkJ ICBTZWxlY3RTdG10UGFzc3Rocm91Z2ggKnBhc3N0aHJ1KQogewotCVBMQXNzaWduU3RtdCAqc3Rt dCA9IHBhc3N0aHJ1LT5zdG10OworCU5vZGUJICAgKnN0bXQgPSBwYXNzdGhydS0+c3RtdDsKIAlO b2RlCSAgICp0YXJnZXQgPSBwYXNzdGhydS0+dGFyZ2V0OworCWNoYXIJICAgKnRhcmdldF9uYW1l ID0gcGFzc3RocnUtPnRhcmdldF9uYW1lOwogCUxpc3QJICAgKmluZGlyZWN0aW9uID0gcGFzc3Ro cnUtPmluZGlyZWN0aW9uOworCUNvZXJjaW9uQ29udGV4dCBjY29udGV4dCA9IHBhc3N0aHJ1LT5j Y29udGV4dDsKIAlPaWQJCQl0YXJnZXR0eXBlOwogCWludDMyCQl0YXJnZXR0eXBtb2Q7CiAJT2lk CQkJdGFyZ2V0Y29sbGF0aW9uOwpAQCAtMjkxMyw3ICsyOTMxLDcgQEAgdHJhbnNmb3JtUExBc3Np Z25TdG10VGFyZ2V0KFBhcnNlU3RhdGUgKnBzdGF0ZSwgTGlzdCAqdGxpc3QsCiAJCXRsZS0+ZXhw ciA9IChFeHByICopCiAJCQl0cmFuc2Zvcm1Bc3NpZ25tZW50SW5kaXJlY3Rpb24ocHN0YXRlLAog CQkJCQkJCQkJCSAgIHRhcmdldCwKLQkJCQkJCQkJCQkgICBzdG10LT5uYW1lLAorCQkJCQkJCQkJ CSAgIHRhcmdldF9uYW1lLAogCQkJCQkJCQkJCSAgIGZhbHNlLAogCQkJCQkJCQkJCSAgIHRhcmdl dHR5cGUsCiAJCQkJCQkJCQkJICAgdGFyZ2V0dHlwbW9kLApAQCAtMjkyMSwxMCArMjkzOSwxMCBA QCB0cmFuc2Zvcm1QTEFzc2lnblN0bXRUYXJnZXQoUGFyc2VTdGF0ZSAqcHN0YXRlLCBMaXN0ICp0 bGlzdCwKIAkJCQkJCQkJCQkgICBpbmRpcmVjdGlvbiwKIAkJCQkJCQkJCQkgICBsaXN0X2hlYWQo aW5kaXJlY3Rpb24pLAogCQkJCQkJCQkJCSAgIChOb2RlICopIHRsZS0+ZXhwciwKLQkJCQkJCQkJ CQkgICBDT0VSQ0lPTl9QTFBHU1FMLAorCQkJCQkJCQkJCSAgIGNjb250ZXh0LAogCQkJCQkJCQkJ CSAgIGV4cHJMb2NhdGlvbih0YXJnZXQpKTsKIAl9Ci0JZWxzZSBpZiAodGFyZ2V0dHlwZSAhPSB0 eXBlX2lkICYmCisJZWxzZSBpZiAoSXNBKHN0bXQsIFBMQXNzaWduU3RtdCkgJiYgdGFyZ2V0dHlw ZSAhPSB0eXBlX2lkICYmCiAJCQkgKHRhcmdldHR5cGUgPT0gUkVDT1JET0lEIHx8IElTQ09NUExF WCh0YXJnZXR0eXBlKSkgJiYKIAkJCSAodHlwZV9pZCA9PSBSRUNPUkRPSUQgfHwgSVNDT01QTEVY KHR5cGVfaWQpKSkKIAl7CkBAIC0yOTQ3LDcgKzI5NjUsNyBAQCB0cmFuc2Zvcm1QTEFzc2lnblN0 bXRUYXJnZXQoUGFyc2VTdGF0ZSAqcHN0YXRlLCBMaXN0ICp0bGlzdCwKIAkJCWNvZXJjZV90b190 YXJnZXRfdHlwZShwc3RhdGUsCiAJCQkJCQkJCSAgb3JpZ19leHByLCB0eXBlX2lkLAogCQkJCQkJ CQkgIHRhcmdldHR5cGUsIHRhcmdldHR5cG1vZCwKLQkJCQkJCQkJICBDT0VSQ0lPTl9QTFBHU1FM LAorCQkJCQkJCQkgIGNjb250ZXh0LAogCQkJCQkJCQkgIENPRVJDRV9JTVBMSUNJVF9DQVNULAog CQkJCQkJCQkgIC0xKTsKIAkJLyogV2l0aCBDT0VSQ0lPTl9QTFBHU1FMLCB0aGlzIGVycm9yIGlz IHByb2JhYmx5IHVucmVhY2hhYmxlICovCkBAIC0yOTU2LDcgKzI5NzQsNyBAQCB0cmFuc2Zvcm1Q TEFzc2lnblN0bXRUYXJnZXQoUGFyc2VTdGF0ZSAqcHN0YXRlLCBMaXN0ICp0bGlzdCwKIAkJCQkJ KGVycmNvZGUoRVJSQ09ERV9EQVRBVFlQRV9NSVNNQVRDSCksCiAJCQkJCSBlcnJtc2coInZhcmlh YmxlIFwiJXNcIiBpcyBvZiB0eXBlICVzIgogCQkJCQkJCSIgYnV0IGV4cHJlc3Npb24gaXMgb2Yg dHlwZSAlcyIsCi0JCQkJCQkJc3RtdC0+bmFtZSwKKwkJCQkJCQl0YXJnZXRfbmFtZSwKIAkJCQkJ CQlmb3JtYXRfdHlwZV9iZSh0YXJnZXR0eXBlKSwKIAkJCQkJCQlmb3JtYXRfdHlwZV9iZSh0eXBl X2lkKSksCiAJCQkJCSBlcnJoaW50KCJZb3Ugd2lsbCBuZWVkIHRvIHJld3JpdGUgb3IgY2FzdCB0 aGUgZXhwcmVzc2lvbi4iKSwKQEAgLTMzMjQsNiArMzM0Miw1OSBAQCB0cmFuc2Zvcm1DYWxsU3Rt dChQYXJzZVN0YXRlICpwc3RhdGUsIENhbGxTdG10ICpzdG10KQogCXJldHVybiByZXN1bHQ7CiB9 CiAKKy8qCisgKiB0cmFuc2Zvcm1MZXRTdG10IC0KKyAqCSAgdHJhbnNmb3JtIGFuIExldCBTdGF0 ZW1lbnQKKyAqLworc3RhdGljIFF1ZXJ5ICoKK3RyYW5zZm9ybUxldFN0bXQoUGFyc2VTdGF0ZSAq cHN0YXRlLCBMZXRTdG10ICpzdG10KQoreworCVF1ZXJ5CSAgICpxcnk7CisJUXVlcnkJICAgKnJl c3VsdDsKKwlOb2RlCSAgICp0YXJnZXQ7CisJVmFyaWFibGVGZW5jZSAqdmY7CisJU2VsZWN0U3Rt dFBhc3N0aHJvdWdoIHBhc3N0aHJ1OworCVBhcmFtCSAgICpwYXJhbXZhcjsKKworCS8qIGdyYW0g YWxsb3dzIG9ubHkgU0VMRUNUICovCisJQXNzZXJ0KElzQShzdG10LT5xdWVyeSwgU2VsZWN0U3Rt dCkpOworCisJLyogVXNlIGltcGxpY2l0IFZhcmlhYmxlRmVuY2UgZm9yIGZvcmNpbmcgc2Vzc2lv biB2YXJpYWJsZXMgKi8KKwl2ZiA9IG1ha2VOb2RlKFZhcmlhYmxlRmVuY2UpOworCXZmLT52YXJu YW1lID0gc3RtdC0+dGFyZ2V0OworCXZmLT5sb2NhdGlvbiA9IHN0bXQtPmxvY2F0aW9uOworCisJ dGFyZ2V0ID0gdHJhbnNmb3JtRXhwcihwc3RhdGUsIChOb2RlICopIHZmLCBFWFBSX0tJTkRfTEVU X1RBUkdFVCk7CisKKwlwYXJhbXZhciA9IGNhc3ROb2RlKFBhcmFtLCB0YXJnZXQpOworCisJQXNz ZXJ0KHBhcmFtdmFyLT5wYXJhbWtpbmQgPT0gUEFSQU1fVkFSSUFCTEUpOworCisJLyogU2V0IHVw IHBhc3N0aHJvdWdoIGRhdGEgZm9yIHRyYW5zZm9ybUFzc2lnblRhcmdldCAqLworCXBhc3N0aHJ1 LnN0bXQgPSAoTm9kZSAqKSBzdG10OworCXBhc3N0aHJ1LnRhcmdldCA9IChOb2RlICopIHBhcmFt dmFyOworCXBhc3N0aHJ1LnRhcmdldF9uYW1lID0gcGFyYW12YXItPnBhcmFtdmFybmFtZTsKKwlw YXNzdGhydS5pbmRpcmVjdGlvbiA9IE5JTDsKKwlwYXNzdGhydS5jY29udGV4dCA9IENPRVJDSU9O X0FTU0lHTk1FTlQ7CisKKwkvKiB3ZSBuZWVkIHRvIHBvc3Rwb25lIGNvbnZlcnNpb24gb2YgInVu a25vd24iIHRvIHRleHQgKi8KKwlwc3RhdGUtPnBfcmVzb2x2ZV91bmtub3ducyA9IGZhbHNlOwor CisJcXJ5ID0gdHJhbnNmb3JtU2VsZWN0U3RtdChwc3RhdGUsIChTZWxlY3RTdG10ICopIHN0bXQt PnF1ZXJ5LCAmcGFzc3RocnUpOworCisJcXJ5LT5yZXN1bHRWYXJpYWJsZSA9IHBhcmFtdmFyLT5w YXJhbXZhcm5hbWU7CisJcXJ5LT5jYW5TZXRUYWcgPSB0cnVlOworCisJc3RtdC0+cXVlcnkgPSAo Tm9kZSAqKSBxcnk7CisKKwkvKiByZXByZXNlbnQgdGhlIGNvbW1hbmQgYXMgYSB1dGlsaXR5IFF1 ZXJ5ICovCisJcmVzdWx0ID0gbWFrZU5vZGUoUXVlcnkpOworCXJlc3VsdC0+Y29tbWFuZFR5cGUg PSBDTURfVVRJTElUWTsKKwlyZXN1bHQtPnV0aWxpdHlTdG10ID0gKE5vZGUgKikgc3RtdDsKKwor CXJldHVybiByZXN1bHQ7Cit9CisKIC8qCiAgKiBQcm9kdWNlIGEgc3RyaW5nIHJlcHJlc2VudGF0 aW9uIG9mIGEgTG9ja0NsYXVzZVN0cmVuZ3RoIHZhbHVlLgogICogVGhpcyBzaG91bGQgb25seSBi ZSBhcHBsaWVkIHRvIHZhbGlkIHZhbHVlcyAobm90IExDU19OT05FKS4KZGlmZiAtLWdpdCBhL3Ny Yy9iYWNrZW5kL3BhcnNlci9ncmFtLnkgYi9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55CmluZGV4 IDgzNzMzMGE4MDdmLi4zMjdlY2Y4ODcxMiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFyc2Vy L2dyYW0ueQorKysgYi9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55CkBAIC0zMDEsNyArMzAxLDcg QEAgc3RhdGljIE5vZGUgKm1ha2VSZWN1cnNpdmVWaWV3U2VsZWN0KGNoYXIgKnJlbG5hbWUsIExp c3QgKmFsaWFzZXMsIE5vZGUgKnF1ZXJ5KTsKIAkJRHJvcFRyYW5zZm9ybVN0bXQKIAkJRHJvcFVz ZXJNYXBwaW5nU3RtdCBFeHBsYWluU3RtdCBGZXRjaFN0bXQKIAkJR3JhbnRTdG10IEdyYW50Um9s ZVN0bXQgSW1wb3J0Rm9yZWlnblNjaGVtYVN0bXQgSW5kZXhTdG10IEluc2VydFN0bXQKLQkJTGlz dGVuU3RtdCBMb2FkU3RtdCBMb2NrU3RtdCBNZXJnZVN0bXQgTm90aWZ5U3RtdCBFeHBsYWluYWJs ZVN0bXQgUHJlcGFyYWJsZVN0bXQKKwkJTGV0U3RtdCBMaXN0ZW5TdG10IExvYWRTdG10IExvY2tT dG10IE1lcmdlU3RtdCBOb3RpZnlTdG10IEV4cGxhaW5hYmxlU3RtdCBQcmVwYXJhYmxlU3RtdAog CQlDcmVhdGVGdW5jdGlvblN0bXQgQWx0ZXJGdW5jdGlvblN0bXQgUmVpbmRleFN0bXQgUmVtb3Zl QWdnclN0bXQKIAkJUmVtb3ZlRnVuY1N0bXQgUmVtb3ZlT3BlclN0bXQgUmVuYW1lU3RtdCBSZXR1 cm5TdG10IFJldm9rZVN0bXQgUmV2b2tlUm9sZVN0bXQKIAkJUnVsZUFjdGlvblN0bXQgUnVsZUFj dGlvblN0bXRPckVtcHR5IFJ1bGVTdG10CkBAIC03NDcsNyArNzQ3LDcgQEAgc3RhdGljIE5vZGUg Km1ha2VSZWN1cnNpdmVWaWV3U2VsZWN0KGNoYXIgKnJlbG5hbWUsIExpc3QgKmFsaWFzZXMsIE5v ZGUgKnF1ZXJ5KTsKIAlLRUVQIEtFWSBLRVlTCiAKIAlMQUJFTCBMQU5HVUFHRSBMQVJHRV9QIExB U1RfUCBMQVRFUkFMX1AKLQlMRUFESU5HIExFQUtQUk9PRiBMRUFTVCBMRUZUIExFVkVMIExJS0Ug TElNSVQgTElTVEVOIExPQUQgTE9DQUwKKwlMRUFESU5HIExFQUtQUk9PRiBMRUFTVCBMRVQgTEVG VCBMRVZFTCBMSUtFIExJTUlUIExJU1RFTiBMT0FEIExPQ0FMCiAJTE9DQUxUSU1FIExPQ0FMVElN RVNUQU1QIExPQ0FUSU9OIExPQ0tfUCBMT0NLRUQgTE9HR0VEIExTTl9QCiAKIAlNQVBQSU5HIE1B VENIIE1BVENIRUQgTUFURVJJQUxJWkVEIE1BWFZBTFVFIE1FUkdFIE1FUkdFX0FDVElPTiBNRVRI T0QKQEAgLTEwOTUsNiArMTA5NSw3IEBAIHN0bXQ6CiAJCQl8IEltcG9ydEZvcmVpZ25TY2hlbWFT dG10CiAJCQl8IEluZGV4U3RtdAogCQkJfCBJbnNlcnRTdG10CisJCQl8IExldFN0bXQKIAkJCXwg TGlzdGVuU3RtdAogCQkJfCBSZWZyZXNoTWF0Vmlld1N0bXQKIAkJCXwgTG9hZFN0bXQKQEAgLTEy OTMyLDYgKzEyOTMzLDM3IEBAIG9wdF9ob2xkOiAvKiBFTVBUWSAqLwkJCQkJCXsgJCQgPSAwOyB9 CiAJCQl8IFdJVEhPVVQgSE9MRAkJCQkJeyAkJCA9IDA7IH0KIAkJOwogCisvKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioKKyAqCisgKgkJUVVFUlk6CisgKgkJCQlMRVQgU1RBVEVNRU5UCisgKgorICoqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqLworTGV0U3RtdDoJTEVUIENvbElkICc9JyBhX2V4cHIKKwkJCQl7CisJ CQkJCUxldFN0bXQJICAgKm4gPSBtYWtlTm9kZShMZXRTdG10KTsKKwkJCQkJU2VsZWN0U3RtdCAq c2VsZWN0OworCQkJCQlSZXNUYXJnZXQgICpyZXM7CisKKwkJCQkJbi0+dGFyZ2V0ID0gJDI7CisK KwkJCQkJc2VsZWN0ID0gbWFrZU5vZGUoU2VsZWN0U3RtdCk7CisJCQkJCXJlcyA9IG1ha2VOb2Rl KFJlc1RhcmdldCk7CisKKwkJCQkJLyogY3JlYXRlIHRhcmdldCBsaXN0IGZvciBpbXBsaWNpdCBx dWVyeSAqLworCQkJCQlyZXMtPm5hbWUgPSBOVUxMOworCQkJCQlyZXMtPmluZGlyZWN0aW9uID0g TklMOworCQkJCQlyZXMtPnZhbCA9IChOb2RlICopICQ0OworCQkJCQlyZXMtPmxvY2F0aW9uID0g QDQ7CisKKwkJCQkJc2VsZWN0LT50YXJnZXRMaXN0ID0gbGlzdF9tYWtlMShyZXMpOworCQkJCQlu LT5xdWVyeSA9IChOb2RlICopIHNlbGVjdDsKKworCQkJCQluLT5sb2NhdGlvbiA9IEAyOworCQkJ CQkkJCA9IChOb2RlICopIG47CisJCQkJfQorCQk7CisKIC8qKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgog ICoKICAqCQlRVUVSWToKQEAgLTE4MDM3LDYgKzE4MDY5LDcgQEAgdW5yZXNlcnZlZF9rZXl3b3Jk OgogCQkJfCBMQVJHRV9QCiAJCQl8IExBU1RfUAogCQkJfCBMRUFLUFJPT0YKKwkJCXwgTEVUCiAJ CQl8IExFVkVMCiAJCQl8IExJU1RFTgogCQkJfCBMT0FECkBAIC0xODY1Myw2ICsxODY4Niw3IEBA IGJhcmVfbGFiZWxfa2V5d29yZDoKIAkJCXwgTEVBS1BST09GCiAJCQl8IExFQVNUCiAJCQl8IExF RlQKKwkJCXwgTEVUCiAJCQl8IExFVkVMCiAJCQl8IExJS0UKIAkJCXwgTElTVEVOCmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfYWdnLmMgYi9zcmMvYmFja2VuZC9wYXJzZXIv cGFyc2VfYWdnLmMKaW5kZXggYjgzNDA1NTdiMzQuLmE5YmQ0ZTY4MTU0IDEwMDY0NAotLS0gYS9z cmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfYWdnLmMKKysrIGIvc3JjL2JhY2tlbmQvcGFyc2VyL3Bh cnNlX2FnZy5jCkBAIC01ODQsNiArNTg0LDEwIEBAIGNoZWNrX2FnZ2xldmVsc19hbmRfY29uc3Ry YWludHMoUGFyc2VTdGF0ZSAqcHN0YXRlLCBOb2RlICpleHByKQogCQkJZXJya2luZCA9IHRydWU7 CiAJCQlicmVhazsKIAorCQljYXNlIEVYUFJfS0lORF9MRVRfVEFSR0VUOgorCQkJZXJya2luZCA9 IHRydWU7CisJCQlicmVhazsKKwogCQkJLyoKIAkJCSAqIFRoZXJlIGlzIGludGVudGlvbmFsbHkg bm8gZGVmYXVsdDogY2FzZSBoZXJlLCBzbyB0aGF0IHRoZQogCQkJICogY29tcGlsZXIgd2lsbCB3 YXJuIGlmIHdlIGFkZCBhIG5ldyBQYXJzZUV4cHJLaW5kIHdpdGhvdXQKQEAgLTEwMjMsNiArMTAy Nyw5IEBAIHRyYW5zZm9ybVdpbmRvd0Z1bmNDYWxsKFBhcnNlU3RhdGUgKnBzdGF0ZSwgV2luZG93 RnVuYyAqd2Z1bmMsCiAJCWNhc2UgRVhQUl9LSU5EX0NZQ0xFX01BUks6CiAJCQllcnJraW5kID0g dHJ1ZTsKIAkJCWJyZWFrOworCQljYXNlIEVYUFJfS0lORF9MRVRfVEFSR0VUOgorCQkJZXJya2lu ZCA9IHRydWU7CisJCQlicmVhazsKIAogCQkJLyoKIAkJCSAqIFRoZXJlIGlzIGludGVudGlvbmFs bHkgbm8gZGVmYXVsdDogY2FzZSBoZXJlLCBzbyB0aGF0IHRoZQpkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvcGFyc2VyL3BhcnNlX2V4cHIuYyBiL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9leHBy LmMKaW5kZXggZjk0ZDZjZjA2OTQuLmEwYjFhMTVkOGYxIDEwMDY0NAotLS0gYS9zcmMvYmFja2Vu ZC9wYXJzZXIvcGFyc2VfZXhwci5jCisrKyBiL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9leHBy LmMKQEAgLTU5MSw2ICs1OTEsOSBAQCB0cmFuc2Zvcm1Db2x1bW5SZWYoUGFyc2VTdGF0ZSAqcHN0 YXRlLCBDb2x1bW5SZWYgKmNyZWYpCiAJCWNhc2UgRVhQUl9LSU5EX1BBUlRJVElPTl9CT1VORDoK IAkJCWVyciA9IF8oImNhbm5vdCB1c2UgY29sdW1uIHJlZmVyZW5jZSBpbiBwYXJ0aXRpb24gYm91 bmQgZXhwcmVzc2lvbiIpOwogCQkJYnJlYWs7CisJCWNhc2UgRVhQUl9LSU5EX0xFVF9UQVJHRVQ6 CisJCQllcnIgPSBfKCJjYW5ub3QgdXNlIGNvbHVtbiByZWZlcmVuY2UgYXMgdGFyZ2V0IG9mIExF VCBjb21tYW5kIik7CisJCQlicmVhazsKIAogCQkJLyoKIAkJCSAqIFRoZXJlIGlzIGludGVudGlv bmFsbHkgbm8gZGVmYXVsdDogY2FzZSBoZXJlLCBzbyB0aGF0IHRoZQpAQCAtOTYxLDYgKzk2NCw3 IEBAIGV4cHJfa2luZF9hbGxvd3Nfc2Vzc2lvbl92YXJpYWJsZXMoUGFyc2VFeHByS2luZCBwX2V4 cHJfa2luZCkKIAkJY2FzZSBFWFBSX0tJTkRfUkVUVVJOSU5HOgogCQljYXNlIEVYUFJfS0lORF9W QUxVRVM6CiAJCWNhc2UgRVhQUl9LSU5EX1ZBTFVFU19TSU5HTEU6CisJCWNhc2UgRVhQUl9LSU5E X0xFVF9UQVJHRVQ6CiAJCQlyZXN1bHQgPSB0cnVlOwogCQkJYnJlYWs7CiAKQEAgLTE5ODAsNiAr MTk4NCw5IEBAIHRyYW5zZm9ybVN1YkxpbmsoUGFyc2VTdGF0ZSAqcHN0YXRlLCBTdWJMaW5rICpz dWJsaW5rKQogCQljYXNlIEVYUFJfS0lORF9HRU5FUkFURURfQ09MVU1OOgogCQkJZXJyID0gXygi Y2Fubm90IHVzZSBzdWJxdWVyeSBpbiBjb2x1bW4gZ2VuZXJhdGlvbiBleHByZXNzaW9uIik7CiAJ CQlicmVhazsKKwkJY2FzZSBFWFBSX0tJTkRfTEVUX1RBUkdFVDoKKwkJCWVyciA9IF8oImNhbm5v dCB1c2Ugc3VicXVlcnkgYXMgYSB0YXJnZXQgb2YgTEVUIGNvbW1hbmQiKTsKKwkJCWJyZWFrOwog CiAJCQkvKgogCQkJICogVGhlcmUgaXMgaW50ZW50aW9uYWxseSBubyBkZWZhdWx0OiBjYXNlIGhl cmUsIHNvIHRoYXQgdGhlCkBAIC0zMzM5LDYgKzMzNDYsOCBAQCBQYXJzZUV4cHJLaW5kTmFtZShQ YXJzZUV4cHJLaW5kIGV4cHJLaW5kKQogCQkJcmV0dXJuICJHRU5FUkFURUQgQVMiOwogCQljYXNl IEVYUFJfS0lORF9DWUNMRV9NQVJLOgogCQkJcmV0dXJuICJDWUNMRSI7CisJCWNhc2UgRVhQUl9L SU5EX0xFVF9UQVJHRVQ6CisJCQlyZXR1cm4gIkxFVCI7CiAKIAkJCS8qCiAJCQkgKiBUaGVyZSBp cyBpbnRlbnRpb25hbGx5IG5vIGRlZmF1bHQ6IGNhc2UgaGVyZSwgc28gdGhhdCB0aGUKZGlmZiAt LWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9mdW5jLmMgYi9zcmMvYmFja2VuZC9wYXJz ZXIvcGFyc2VfZnVuYy5jCmluZGV4IDc3OGQ2OWM2ZjNjLi4xMzYxNmM5YjNjMiAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX2Z1bmMuYworKysgYi9zcmMvYmFja2VuZC9wYXJz ZXIvcGFyc2VfZnVuYy5jCkBAIC0yNzgzLDYgKzI3ODMsOSBAQCBjaGVja19zcmZfY2FsbF9wbGFj ZW1lbnQoUGFyc2VTdGF0ZSAqcHN0YXRlLCBOb2RlICpsYXN0X3NyZiwgaW50IGxvY2F0aW9uKQog CQljYXNlIEVYUFJfS0lORF9DWUNMRV9NQVJLOgogCQkJZXJya2luZCA9IHRydWU7CiAJCQlicmVh azsKKwkJY2FzZSBFWFBSX0tJTkRfTEVUX1RBUkdFVDoKKwkJCWVycmtpbmQgPSB0cnVlOworCQkJ YnJlYWs7CiAKIAkJCS8qCiAJCQkgKiBUaGVyZSBpcyBpbnRlbnRpb25hbGx5IG5vIGRlZmF1bHQ6 IGNhc2UgaGVyZSwgc28gdGhhdCB0aGUKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3Rjb3AvdXRp bGl0eS5jIGIvc3JjL2JhY2tlbmQvdGNvcC91dGlsaXR5LmMKaW5kZXggN2RjOWMwYTZjODAuLjNm MWM4Y2I1ZTg5IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC90Y29wL3V0aWxpdHkuYworKysgYi9z cmMvYmFja2VuZC90Y29wL3V0aWxpdHkuYwpAQCAtMjM3LDYgKzIzNyw3IEBAIENsYXNzaWZ5VXRp bGl0eUNvbW1hbmRBc1JlYWRPbmx5KE5vZGUgKnBhcnNldHJlZSkKIAogCQljYXNlIFRfQ2FsbFN0 bXQ6CiAJCWNhc2UgVF9Eb1N0bXQ6CisJCWNhc2UgVF9MZXRTdG10OgogCQkJewogCQkJCS8qCiAJ CQkJICogQ29tbWFuZHMgaW5zaWRlIHRoZSBETyBibG9jayBvciB0aGUgY2FsbGVkIHByb2NlZHVy ZSBtaWdodApAQCAtMTA3NSw2ICsxMDc2LDExIEBAIHN0YW5kYXJkX1Byb2Nlc3NVdGlsaXR5KFBs YW5uZWRTdG10ICpwc3RtdCwKIAkJCURyb3BWYXJpYWJsZUJ5TmFtZSgoKERyb3BTZXNzaW9uVmFy U3RtdCAqKSBwYXJzZXRyZWUpLT5uYW1lKTsKIAkJCWJyZWFrOwogCisJCWNhc2UgVF9MZXRTdG10 OgorCQkJRXhlY3V0ZUxldFN0bXQocHN0YXRlLCAoTGV0U3RtdCAqKSBwYXJzZXRyZWUsIHBhcmFt cywKKwkJCQkJCSAgIHF1ZXJ5RW52LCBxYyk7CisJCQlicmVhazsKKwogCQlkZWZhdWx0OgogCQkJ LyogQWxsIG90aGVyIHN0YXRlbWVudCB0eXBlcyBoYXZlIGV2ZW50IHRyaWdnZXIgc3VwcG9ydCAq LwogCQkJUHJvY2Vzc1V0aWxpdHlTbG93KHBzdGF0ZSwgcHN0bXQsIHF1ZXJ5U3RyaW5nLApAQCAt MjIxOSw2ICsyMjI1LDEwIEBAIFV0aWxpdHlDb250YWluc1F1ZXJ5KE5vZGUgKnBhcnNldHJlZSkK IAkJCQlyZXR1cm4gVXRpbGl0eUNvbnRhaW5zUXVlcnkocXJ5LT51dGlsaXR5U3RtdCk7CiAJCQly ZXR1cm4gcXJ5OwogCisJCWNhc2UgVF9MZXRTdG10OgorCQkJcXJ5ID0gY2FzdE5vZGUoUXVlcnks ICgoTGV0U3RtdCAqKSBwYXJzZXRyZWUpLT5xdWVyeSk7CisJCQlyZXR1cm4gcXJ5OworCiAJCWRl ZmF1bHQ6CiAJCQlyZXR1cm4gTlVMTDsKIAl9CkBAIC0yNDE0LDYgKzI0MjQsMTAgQEAgQ3JlYXRl Q29tbWFuZFRhZyhOb2RlICpwYXJzZXRyZWUpCiAJCQl0YWcgPSBDTURUQUdfU0VMRUNUOwogCQkJ YnJlYWs7CiAKKwkJY2FzZSBUX0xldFN0bXQ6CisJCQl0YWcgPSBDTURUQUdfTEVUOworCQkJYnJl YWs7CisKIAkJCS8qIHV0aWxpdHkgc3RhdGVtZW50cyAtLS0gc2FtZSB3aGV0aGVyIHJhdyBvciBj b29rZWQgKi8KIAkJY2FzZSBUX1RyYW5zYWN0aW9uU3RtdDoKIAkJCXsKQEAgLTMzMDQsNiArMzMx OCw3IEBAIEdldENvbW1hbmRMb2dMZXZlbChOb2RlICpwYXJzZXRyZWUpCiAJCQlicmVhazsKIAog CQljYXNlIFRfUExBc3NpZ25TdG10OgorCQljYXNlIFRfTGV0U3RtdDoKIAkJCWxldiA9IExPR1NU TVRfQUxMOwogCQkJYnJlYWs7CiAKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcHNxbC90YWItY29tcGxl dGUuaW4uYyBiL3NyYy9iaW4vcHNxbC90YWItY29tcGxldGUuaW4uYwppbmRleCBkMjU3YjRmYzM3 YS4uNGRhMzYxNDQxNDUgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcHNxbC90YWItY29tcGxldGUuaW4u YworKysgYi9zcmMvYmluL3BzcWwvdGFiLWNvbXBsZXRlLmluLmMKQEAgLTEyNjUsOCArMTI2NSw4 IEBAIHN0YXRpYyBjb25zdCBjaGFyICpjb25zdCBzcWxfY29tbWFuZHNbXSA9IHsKIAkiQUJPUlQi LCAiQUxURVIiLCAiQU5BTFlaRSIsICJCRUdJTiIsICJDQUxMIiwgIkNIRUNLUE9JTlQiLCAiQ0xP U0UiLCAiQ0xVU1RFUiIsCiAJIkNPTU1FTlQiLCAiQ09NTUlUIiwgIkNPUFkiLCAiQ1JFQVRFIiwg IkRFQUxMT0NBVEUiLCAiREVDTEFSRSIsCiAJIkRFTEVURSBGUk9NIiwgIkRJU0NBUkQiLCAiRE8i LCAiRFJPUCIsICJFTkQiLCAiRVhFQ1VURSIsICJFWFBMQUlOIiwKLQkiRkVUQ0giLCAiR1JBTlQi LCAiSU1QT1JUIEZPUkVJR04gU0NIRU1BIiwgIklOU0VSVCBJTlRPIiwgIkxJU1RFTiIsICJMT0FE IiwgIkxPQ0siLAotCSJNRVJHRSBJTlRPIiwgIk1PVkUiLCAiTk9USUZZIiwgIlBSRVBBUkUiLAor CSJGRVRDSCIsICJHUkFOVCIsICJJTVBPUlQgRk9SRUlHTiBTQ0hFTUEiLCAiSU5TRVJUIElOVE8i LCAiTEVUIiwKKwkiTElTVEVOIiwgIkxPQUQiLCAiTE9DSyIsICJNRVJHRSBJTlRPIiwgIk1PVkUi LCAiTk9USUZZIiwgIlBSRVBBUkUiLAogCSJSRUFTU0lHTiIsICJSRUZSRVNIIE1BVEVSSUFMSVpF RCBWSUVXIiwgIlJFSU5ERVgiLCAiUkVMRUFTRSIsCiAJIlJFU0VUIiwgIlJFVk9LRSIsICJST0xM QkFDSyIsCiAJIlNBVkVQT0lOVCIsICJTRUNVUklUWSBMQUJFTCIsICJTRUxFQ1QiLCAiU0VUIiwg IlNIT1ciLCAiU1RBUlQiLApAQCAtNDc5OCw2ICs0Nzk4LDExIEBAIG1hdGNoX3ByZXZpb3VzX3dv cmRzKGludCBwYXR0ZXJuX2lkLAogCWVsc2UgaWYgKFRhaWxNYXRjaGVzKCJWQUxVRVMiKSAmJiAh VGFpbE1hdGNoZXMoIkRFRkFVTFQiLCAiVkFMVUVTIikpCiAJCUNPTVBMRVRFX1dJVEgoIigiKTsK IAorLyogTEVUICovCisJLyogQ29tcGxldGUgTEVUIDx2YXJpYWJsZT4gd2l0aCAiPSIgKi8KKwll bHNlIGlmIChUYWlsTWF0Y2hlcygiTEVUIiwgTWF0Y2hBbnkpKQorCQlDT01QTEVURV9XSVRIKCI9 Iik7CisKIC8qIExPQ0sgKi8KIAkvKiBDb21wbGV0ZSBMT0NLIFtUQUJMRV0gW09OTFldIHdpdGgg YSBsaXN0IG9mIHRhYmxlcyAqLwogCWVsc2UgaWYgKE1hdGNoZXMoIkxPQ0siKSkKZGlmZiAtLWdp dCBhL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuaCBiL3NyYy9pbmNsdWRl L2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuaAppbmRleCA2MTBiNzU3ODk5ZS4uYzRiNGQ5ZTY4 MzIgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuaAor KysgYi9zcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmgKQEAgLTE2LDggKzE2 LDEwIEBACiAjZGVmaW5lIFNFU1NJT05WQVJJQUJMRV9ICiAKICNpbmNsdWRlICJjYXRhbG9nL29i amVjdGFkZHJlc3MuaCIKKyNpbmNsdWRlICJub2Rlcy9wYXJhbXMuaCIKICNpbmNsdWRlICJwYXJz ZXIvcGFyc2Vfbm9kZS5oIgogI2luY2x1ZGUgIm5vZGVzL3BhcnNlbm9kZXMuaCIKKyNpbmNsdWRl ICJ0Y29wL2NtZHRhZy5oIgogCiBleHRlcm4gdm9pZCBDcmVhdGVWYXJpYWJsZShQYXJzZVN0YXRl ICpwc3RhdGUsIENyZWF0ZVNlc3Npb25WYXJTdG10ICpzdG10KTsKIGV4dGVybiB2b2lkIERyb3BW YXJpYWJsZUJ5TmFtZShjaGFyICp2YXJuYW1lKTsKQEAgLTMyLDQgKzM0LDcgQEAgZXh0ZXJuIHZv aWQgZ2V0X3Nlc3Npb25fdmFyaWFibGVfdHlwZV90eXBtb2RfY29sbGlkKGNoYXIgKnZhcm5hbWUs CiAJCQkJCQkJCQkJCQkJaW50MzIgKnR5cG1vZCwKIAkJCQkJCQkJCQkJCQlPaWQgKmNvbGxpZCk7 CiAKK2V4dGVybiB2b2lkIEV4ZWN1dGVMZXRTdG10KFBhcnNlU3RhdGUgKnBzdGF0ZSwgTGV0U3Rt dCAqc3RtdCwgUGFyYW1MaXN0SW5mbyBwYXJhbXMsCisJCQkJCQkgICBRdWVyeUVudmlyb25tZW50 ICpxdWVyeUVudiwgUXVlcnlDb21wbGV0aW9uICpxYyk7CisKICNlbmRpZgpkaWZmIC0tZ2l0IGEv c3JjL2luY2x1ZGUvbm9kZXMvcGFyc2Vub2Rlcy5oIGIvc3JjL2luY2x1ZGUvbm9kZXMvcGFyc2Vu b2Rlcy5oCmluZGV4IDQ4NzQ2NGIxNGIxLi4zZGVjYzYzOWQ4MSAxMDA2NDQKLS0tIGEvc3JjL2lu Y2x1ZGUvbm9kZXMvcGFyc2Vub2Rlcy5oCisrKyBiL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9k ZXMuaApAQCAtMTQ3LDYgKzE0Nyw5IEBAIHR5cGVkZWYgc3RydWN0IFF1ZXJ5CiAJICovCiAJaW50 CQkJcmVzdWx0UmVsYXRpb24gcGdfbm9kZV9hdHRyKHF1ZXJ5X2p1bWJsZV9pZ25vcmUpOwogCisJ LyogdGFyZ2V0IHZhcmlhYmxlIG9mIExFVCBzdGF0ZW1lbnQgKi8KKwljaGFyCSAgICpyZXN1bHRW YXJpYWJsZTsKKwogCS8qIGhhcyBhZ2dyZWdhdGVzIGluIHRsaXN0IG9yIGhhdmluZ1F1YWwgKi8K IAlib29sCQloYXNBZ2dzIHBnX25vZGVfYXR0cihxdWVyeV9qdW1ibGVfaWdub3JlKTsKIAkvKiBo YXMgd2luZG93IGZ1bmN0aW9ucyBpbiB0bGlzdCAqLwpAQCAtMjE3MCw2ICsyMTczLDE4IEBAIHR5 cGVkZWYgc3RydWN0IE1lcmdlU3RtdAogCVdpdGhDbGF1c2UgKndpdGhDbGF1c2U7CQkvKiBXSVRI IGNsYXVzZSAqLwogfSBNZXJnZVN0bXQ7CiAKKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAq CQlMZXQgU3RhdGVtZW50CisgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8KK3R5cGVkZWYg c3RydWN0IExldFN0bXQKK3sKKwlOb2RlVGFnCQl0eXBlOworCWNoYXIJICAgKnRhcmdldDsJCQkv KiB0YXJnZXQgdmFyaWFibGUgKi8KKwlOb2RlCSAgICpxdWVyeTsJCQkvKiBzb3VyY2UgZXhwcmVz c2lvbiAqLworCVBhcnNlTG9jCWxvY2F0aW9uOworfSBMZXRTdG10OworCiAvKiAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tCiAgKgkJU2VsZWN0IFN0YXRlbWVudAogICoKZGlmZiAtLWdpdCBhL3NyYy9p bmNsdWRlL25vZGVzL3BhdGhub2Rlcy5oIGIvc3JjL2luY2x1ZGUvbm9kZXMvcGF0aG5vZGVzLmgK aW5kZXggOTdhMDBkZjhkMWYuLjRhYTBhMDdmNDRhIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9u b2Rlcy9wYXRobm9kZXMuaAorKysgYi9zcmMvaW5jbHVkZS9ub2Rlcy9wYXRobm9kZXMuaApAQCAt MTkyLDYgKzE5Miw5IEBAIHR5cGVkZWYgc3RydWN0IFBsYW5uZXJHbG9iYWwKIAogCS8qIGxpc3Qg b2YgdXNlZCBzZXNzaW9uIHZhcmlhYmxlcyAqLwogCUxpc3QJICAgKnNlc3Npb25WYXJpYWJsZXM7 CisKKwkvKiBuYW1lIG9mIHNlc3Npb24gdmFyaWFibGUgdXNlZCBsaWtlIHRhcmdldCBvZiBMRVQg Y29tbWFuZCAqLworCWNoYXIJICAgKnJlc3VsdFZhcmlhYmxlOwogfSBQbGFubmVyR2xvYmFsOwog CiAvKiBtYWNybyBmb3IgZmV0Y2hpbmcgdGhlIFBsYW4gYXNzb2NpYXRlZCB3aXRoIGEgU3ViUGxh biBub2RlICovCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9wYXJzZXIva3dsaXN0LmggYi9zcmMv aW5jbHVkZS9wYXJzZXIva3dsaXN0LmgKaW5kZXggOGIxZjJiZDNiNjguLjIxODE5Mjc2ODJjIDEw MDY0NAotLS0gYS9zcmMvaW5jbHVkZS9wYXJzZXIva3dsaXN0LmgKKysrIGIvc3JjL2luY2x1ZGUv cGFyc2VyL2t3bGlzdC5oCkBAIC0yNTgsNiArMjU4LDcgQEAgUEdfS0VZV09SRCgibGVhZGluZyIs IExFQURJTkcsIFJFU0VSVkVEX0tFWVdPUkQsIEJBUkVfTEFCRUwpCiBQR19LRVlXT1JEKCJsZWFr cHJvb2YiLCBMRUFLUFJPT0YsIFVOUkVTRVJWRURfS0VZV09SRCwgQkFSRV9MQUJFTCkKIFBHX0tF WVdPUkQoImxlYXN0IiwgTEVBU1QsIENPTF9OQU1FX0tFWVdPUkQsIEJBUkVfTEFCRUwpCiBQR19L RVlXT1JEKCJsZWZ0IiwgTEVGVCwgVFlQRV9GVU5DX05BTUVfS0VZV09SRCwgQkFSRV9MQUJFTCkK K1BHX0tFWVdPUkQoImxldCIsIExFVCwgVU5SRVNFUlZFRF9LRVlXT1JELCBCQVJFX0xBQkVMKQog UEdfS0VZV09SRCgibGV2ZWwiLCBMRVZFTCwgVU5SRVNFUlZFRF9LRVlXT1JELCBCQVJFX0xBQkVM KQogUEdfS0VZV09SRCgibGlrZSIsIExJS0UsIFRZUEVfRlVOQ19OQU1FX0tFWVdPUkQsIEJBUkVf TEFCRUwpCiBQR19LRVlXT1JEKCJsaW1pdCIsIExJTUlULCBSRVNFUlZFRF9LRVlXT1JELCBBU19M QUJFTCkKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3BhcnNlci9wYXJzZV9ub2RlLmggYi9zcmMv aW5jbHVkZS9wYXJzZXIvcGFyc2Vfbm9kZS5oCmluZGV4IDg0ZTg4Njk0MGQ4Li4wMjY3NDNiNzMz NyAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvcGFyc2VyL3BhcnNlX25vZGUuaAorKysgYi9zcmMv aW5jbHVkZS9wYXJzZXIvcGFyc2Vfbm9kZS5oCkBAIC04Miw2ICs4Miw3IEBAIHR5cGVkZWYgZW51 bSBQYXJzZUV4cHJLaW5kCiAJRVhQUl9LSU5EX0NPUFlfV0hFUkUsCQkvKiBXSEVSRSBjb25kaXRp b24gaW4gQ09QWSBGUk9NICovCiAJRVhQUl9LSU5EX0dFTkVSQVRFRF9DT0xVTU4sIC8qIGdlbmVy YXRpb24gZXhwcmVzc2lvbiBmb3IgYSBjb2x1bW4gKi8KIAlFWFBSX0tJTkRfQ1lDTEVfTUFSSywJ CS8qIGN5Y2xlIG1hcmsgdmFsdWUgKi8KKwlFWFBSX0tJTkRfTEVUX1RBUkdFVCwJCS8qIG9ubHkg c2Vzc2lvbiB2YXJpYWJsZXMgKi8KIH0gUGFyc2VFeHByS2luZDsKIAogCmRpZmYgLS1naXQgYS9z cmMvaW5jbHVkZS90Y29wL2NtZHRhZ2xpc3QuaCBiL3NyYy9pbmNsdWRlL3Rjb3AvY21kdGFnbGlz dC5oCmluZGV4IDdlNTlkMGE1Mjc1Li5mZDIxMjI1NzE2NyAxMDA2NDQKLS0tIGEvc3JjL2luY2x1 ZGUvdGNvcC9jbWR0YWdsaXN0LmgKKysrIGIvc3JjL2luY2x1ZGUvdGNvcC9jbWR0YWdsaXN0LmgK QEAgLTE4NSw2ICsxODUsNyBAQCBQR19DTURUQUcoQ01EVEFHX0dSQU5ULCAiR1JBTlQiLCB0cnVl LCBmYWxzZSwgZmFsc2UpCiBQR19DTURUQUcoQ01EVEFHX0dSQU5UX1JPTEUsICJHUkFOVCBST0xF IiwgZmFsc2UsIGZhbHNlLCBmYWxzZSkKIFBHX0NNRFRBRyhDTURUQUdfSU1QT1JUX0ZPUkVJR05f U0NIRU1BLCAiSU1QT1JUIEZPUkVJR04gU0NIRU1BIiwgdHJ1ZSwgZmFsc2UsIGZhbHNlKQogUEdf Q01EVEFHKENNRFRBR19JTlNFUlQsICJJTlNFUlQiLCBmYWxzZSwgZmFsc2UsIHRydWUpCitQR19D TURUQUcoQ01EVEFHX0xFVCwgIkxFVCIsIGZhbHNlLCBmYWxzZSwgZmFsc2UpCiBQR19DTURUQUco Q01EVEFHX0xJU1RFTiwgIkxJU1RFTiIsIGZhbHNlLCBmYWxzZSwgZmFsc2UpCiBQR19DTURUQUco Q01EVEFHX0xPQUQsICJMT0FEIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSkKIFBHX0NNRFRBRyhDTURU QUdfTE9DS19UQUJMRSwgIkxPQ0sgVEFCTEUiLCBmYWxzZSwgZmFsc2UsIGZhbHNlKQpkaWZmIC0t Z2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zZXNzaW9uX3ZhcmlhYmxlc19kbWwub3V0 IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zZXNzaW9uX3ZhcmlhYmxlc19kbWwub3V0Cmlu ZGV4IDAxZWZhNzFjOGYwLi43OWEwNjJmNmVmYSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVz cy9leHBlY3RlZC9zZXNzaW9uX3ZhcmlhYmxlc19kbWwub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jl c3MvZXhwZWN0ZWQvc2Vzc2lvbl92YXJpYWJsZXNfZG1sLm91dApAQCAtMTMzLDMgKzEzMywxMjYg QEAgUkVTRVQgbWluX3BhcmFsbGVsX3RhYmxlX3NjYW5fc2l6ZTsKIFJFU0VUIG1heF9wYXJhbGxl bF93b3JrZXJzX3Blcl9nYXRoZXI7CiBEUk9QIFRBQkxFIHRlc3R2YXJfdGVzdHRhYjsKIERST1Ag VkFSSUFCTEUgdGVtcF92YXIwMjsKK0NSRUFURSBURU1QIFZBUklBQkxFIHRlbXBfdmFyMDMgQVMg bnVtZXJpYzsKKy0tIExFVCBzdG10IGlzIG5vdCBhbGxvd2VkIGluc2lkZSBDVEUKK1dJVEggeCBB UyAoTEVUICB0ZW1wX3ZhcjAzID0gMy4xNCkgU0VMRUNUICogRlJPTSB4OworRVJST1I6ICBzeW50 YXggZXJyb3IgYXQgb3IgbmVhciAiTEVUIgorTElORSAxOiBXSVRIIHggQVMgKExFVCAgdGVtcF92 YXIwMyA9IDMuMTQpIFNFTEVDVCAqIEZST00geDsKKyAgICAgICAgICAgICAgICAgICBeCistLSBM RVQgc3RtdCByZXF1aXJlcyByZXN1bHQgd2l0aCBleGFjdGx5IG9uZSByb3cKK0xFVCB0ZW1wX3Zh cjAzID0gZ2VuZXJhdGVfc2VyaWVzKDEsMSk7CitTRUxFQ1QgVkFSSUFCTEUodGVtcF92YXIwMyk7 CisgdGVtcF92YXIwMyAKKy0tLS0tLS0tLS0tLQorICAgICAgICAgIDEKKygxIHJvdykKKworLS0g c2hvdWxkIGZhaWwKK0xFVCB0ZW1wX3ZhcjAzID0gZ2VuZXJhdGVfc2VyaWVzKDEsMik7CitFUlJP UjogIGV4cHJlc3Npb24gcmV0dXJuZWQgbW9yZSB0aGFuIG9uZSByb3cKK0xFVCB0ZW1wX3ZhcjAz ID0gZ2VuZXJhdGVfc2VyaWVzKDEsMCk7CitFUlJPUjogIGV4cHJlc3Npb24gcmV0dXJuZWQgbm8g cm93cworQ1JFQVRFIE9SIFJFUExBQ0UgRlVOQ1RJT04gdGVzdHZhcl9zcWwwMShudW1lcmljKQor UkVUVVJOUyB2b2lkIEFTICQkCitMRVQgdGVtcF92YXIwMyA9ICQxOworJCQgTEFOR1VBR0Ugc3Fs OworQ1JFQVRFIE9SIFJFUExBQ0UgRlVOQ1RJT04gdGVzdHZhcl9zcWwwMigpCitSRVRVUk5TIG51 bWVyaWMgQVMgJCQKK1NFTEVDVCBWQVJJQUJMRSh0ZW1wX3ZhcjAzKTsKKyQkIExBTkdVQUdFIHNx bDsKK1NFTEVDVCB0ZXN0dmFyX3NxbDAxKDMuMTQpOworIHRlc3R2YXJfc3FsMDEgCistLS0tLS0t LS0tLS0tLS0KKyAKKygxIHJvdykKKworU0VMRUNUIHRlc3R2YXJfc3FsMDIoKSwgVkFSSUFCTEUo dGVtcF92YXIwMyk7CisgdGVzdHZhcl9zcWwwMiB8IHRlbXBfdmFyMDMgCistLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tCisgICAgICAgICAgMy4xNCB8ICAgICAgIDMuMTQKKygxIHJvdykKKwor Q1JFQVRFIE9SIFJFUExBQ0UgRlVOQ1RJT04gdGVzdHZhcl9wbCh2YXJjaGFyKQorUkVUVVJOUyB2 YXJjaGFyIEFTICQkCitCRUdJTgorICBMRVQgdGVtcF92YXIwMyA9ICQxOjpudW1lcmljOworICBS RVRVUk4gVkFSSUFCTEUodGVtcF92YXIwMyk7CitFTkQKKyQkIExBTkdVQUdFIHBscGdzcWwgU0VD VVJJVFkgREVGSU5FUjsKK1NFTEVDVCB0ZXN0dmFyX3BsKCczLjE0Jyk7CisgdGVzdHZhcl9wbCAK Ky0tLS0tLS0tLS0tLQorIDMuMTQKKygxIHJvdykKKworRFJPUCBWQVJJQUJMRSB0ZW1wX3ZhcjAz OworU0VUIHBsYW5fY2FjaGVfbW9kZSB0byBmb3JjZV9nZW5lcmljX3BsYW47CistLSBzaG91bGQg bm90IGNyYXNoCitTRUxFQ1QgdGVzdHZhcl9zcWwwMSgzLjE0KTsKK0VSUk9SOiAgc2Vzc2lvbiB2 YXJpYWJsZSAidGVtcF92YXIwMyIgZG9lc24ndCBleGlzdAorQ09OVEVYVDogIFNRTCBmdW5jdGlv biAidGVzdHZhcl9zcWwwMSIgZHVyaW5nIGlubGluaW5nCitTRUxFQ1QgdGVzdHZhcl9zcWwwMigp LCBWQVJJQUJMRSh0ZW1wX3ZhcjAzKTsKK0VSUk9SOiAgc2Vzc2lvbiB2YXJpYWJsZSAidGVtcF92 YXIwMyIgZG9lc24ndCBleGlzdAorU0VMRUNUIHRlc3R2YXJfcGwoJzMuMTQxNTkyJyk7CitFUlJP UjogIHNlc3Npb24gdmFyaWFibGUgInRlbXBfdmFyMDMiIGRvZXNuJ3QgZXhpc3QKK0NPTlRFWFQ6 ICBTUUwgc3RhdGVtZW50ICJMRVQgdGVtcF92YXIwMyA9ICQxOjpudW1lcmljIgorUEwvcGdTUUwg ZnVuY3Rpb24gdGVzdHZhcl9wbChjaGFyYWN0ZXIgdmFyeWluZykgbGluZSAzIGF0IFNRTCBzdGF0 ZW1lbnQKKy0tIGNhbiB3b3JrIGFnYWluIGlmIHdlIGNyZWF0ZSB2YXJpYWJsZQorQ1JFQVRFIFRF TVAgVkFSSUFCTEUgdGVtcF92YXIwMyBBUyBudW1lcmljOworU0VMRUNUIHRlc3R2YXJfc3FsMDEo My4xNCk7CisgdGVzdHZhcl9zcWwwMSAKKy0tLS0tLS0tLS0tLS0tLQorIAorKDEgcm93KQorCitT RUxFQ1QgdGVzdHZhcl9zcWwwMigpLCBWQVJJQUJMRSh0ZW1wX3ZhcjAzKTsKKyB0ZXN0dmFyX3Nx bDAyIHwgdGVtcF92YXIwMyAKKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyAgICAgICAg ICAzLjE0IHwgICAgICAgMy4xNAorKDEgcm93KQorCitTRUxFQ1QgdGVzdHZhcl9wbCgnMy4xNDE1 OTInKTsKKyB0ZXN0dmFyX3BsIAorLS0tLS0tLS0tLS0tCisgMy4xNDE1OTIKKygxIHJvdykKKwor Q1JFQVRFIFJPTEUgcmVncmVzc19zZXNzaW9uX3ZhcmlhYmxlX3Rlc3Rfcm9sZV8wNDsKK1NFVCBS T0xFIHJlZ3Jlc3Nfc2Vzc2lvbl92YXJpYWJsZV90ZXN0X3JvbGVfMDQ7CistLSBzaG91bGQgZmFp bAorU0VMRUNUIHRlc3R2YXJfc3FsMDEoMy4xNCk7CitFUlJPUjogIHBlcm1pc3Npb24gZGVuaWVk IGZvciBzZXNzaW9uIHZhcmlhYmxlIHRlbXBfdmFyMDMKK0NPTlRFWFQ6ICBTUUwgZnVuY3Rpb24g InRlc3R2YXJfc3FsMDEiIHN0YXRlbWVudCAxCistLSBzaG91bGQgYmUgb2sgKHNlY3VyaXR5IGRl ZmluZXIpCitTRUxFQ1QgdGVzdHZhcl9wbCgnMy4xNDE1OTInKTsKKyB0ZXN0dmFyX3BsIAorLS0t LS0tLS0tLS0tCisgMy4xNDE1OTIKKygxIHJvdykKKworU0VUIFJPTEUgVE8gREVGQVVMVDsKK0RS T1AgRlVOQ1RJT04gdGVzdHZhcl9zcWwwMShudW1lcmljKTsKK0RST1AgRlVOQ1RJT04gdGVzdHZh cl9zcWwwMigpOworRFJPUCBGVU5DVElPTiB0ZXN0dmFyX3BsKHZhcmNoYXIpOworRFJPUCBST0xF IHJlZ3Jlc3Nfc2Vzc2lvbl92YXJpYWJsZV90ZXN0X3JvbGVfMDQ7CitEUk9QIFZBUklBQkxFIHRl bXBfdmFyMDM7CitTRVQgcGxhbl9jYWNoZV9tb2RlIFRPIERFRkFVTFQ7CistLSB0ZXN0IGV4dGVu ZGVkIHF1ZXJ5IHByb3RvY29sCitDUkVBVEUgVEVNUCBWQVJJQUJMRSB0ZW1wX3ZhcjA0IEFTIGlu dDsKK0xFVCB0ZW1wX3ZhcjA0ID0gJDEgXGJpbmQgMTAgXGcKK1NFTEVDVCBWQVJJQUJMRSh0ZW1w X3ZhcjA0KTsKKyB0ZW1wX3ZhcjA0IAorLS0tLS0tLS0tLS0tCisgICAgICAgICAxMAorKDEgcm93 KQorCitMRVQgdGVtcF92YXIwNCA9ICQxIFxwYXJzZSBsZXRwcworXGJpbmRfbmFtZWQgbGV0cHMg MTAwIFxnCitTRUxFQ1QgVkFSSUFCTEUodGVtcF92YXIwNCk7CisgdGVtcF92YXIwNCAKKy0tLS0t LS0tLS0tLQorICAgICAgICAxMDAKKygxIHJvdykKKworXGNsb3NlX3ByZXBhcmVkIGxldHBzCitE Uk9QIFZBUklBQkxFIHRlbXBfdmFyMDQ7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3Nx bC9zZXNzaW9uX3ZhcmlhYmxlc19kbWwuc3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc2Vzc2lv bl92YXJpYWJsZXNfZG1sLnNxbAppbmRleCBiZjU2YjE5NDY3Yi4uYjg0MDhjOTdjYWQgMTAwNjQ0 Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Nlc3Npb25fdmFyaWFibGVzX2RtbC5zcWwKKysr IGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc2Vzc2lvbl92YXJpYWJsZXNfZG1sLnNxbApAQCAtMTE4 LDMgKzExOCw5MCBAQCBSRVNFVCBtYXhfcGFyYWxsZWxfd29ya2Vyc19wZXJfZ2F0aGVyOwogCiBE Uk9QIFRBQkxFIHRlc3R2YXJfdGVzdHRhYjsKIERST1AgVkFSSUFCTEUgdGVtcF92YXIwMjsKKwor Q1JFQVRFIFRFTVAgVkFSSUFCTEUgdGVtcF92YXIwMyBBUyBudW1lcmljOworCistLSBMRVQgc3Rt dCBpcyBub3QgYWxsb3dlZCBpbnNpZGUgQ1RFCitXSVRIIHggQVMgKExFVCAgdGVtcF92YXIwMyA9 IDMuMTQpIFNFTEVDVCAqIEZST00geDsKKworLS0gTEVUIHN0bXQgcmVxdWlyZXMgcmVzdWx0IHdp dGggZXhhY3RseSBvbmUgcm93CitMRVQgdGVtcF92YXIwMyA9IGdlbmVyYXRlX3NlcmllcygxLDEp OworU0VMRUNUIFZBUklBQkxFKHRlbXBfdmFyMDMpOworCistLSBzaG91bGQgZmFpbAorTEVUIHRl bXBfdmFyMDMgPSBnZW5lcmF0ZV9zZXJpZXMoMSwyKTsKK0xFVCB0ZW1wX3ZhcjAzID0gZ2VuZXJh dGVfc2VyaWVzKDEsMCk7CisKK0NSRUFURSBPUiBSRVBMQUNFIEZVTkNUSU9OIHRlc3R2YXJfc3Fs MDEobnVtZXJpYykKK1JFVFVSTlMgdm9pZCBBUyAkJAorTEVUIHRlbXBfdmFyMDMgPSAkMTsKKyQk IExBTkdVQUdFIHNxbDsKKworQ1JFQVRFIE9SIFJFUExBQ0UgRlVOQ1RJT04gdGVzdHZhcl9zcWww MigpCitSRVRVUk5TIG51bWVyaWMgQVMgJCQKK1NFTEVDVCBWQVJJQUJMRSh0ZW1wX3ZhcjAzKTsK KyQkIExBTkdVQUdFIHNxbDsKKworU0VMRUNUIHRlc3R2YXJfc3FsMDEoMy4xNCk7CitTRUxFQ1Qg dGVzdHZhcl9zcWwwMigpLCBWQVJJQUJMRSh0ZW1wX3ZhcjAzKTsKKworQ1JFQVRFIE9SIFJFUExB Q0UgRlVOQ1RJT04gdGVzdHZhcl9wbCh2YXJjaGFyKQorUkVUVVJOUyB2YXJjaGFyIEFTICQkCitC RUdJTgorICBMRVQgdGVtcF92YXIwMyA9ICQxOjpudW1lcmljOworICBSRVRVUk4gVkFSSUFCTEUo dGVtcF92YXIwMyk7CitFTkQKKyQkIExBTkdVQUdFIHBscGdzcWwgU0VDVVJJVFkgREVGSU5FUjsK KworU0VMRUNUIHRlc3R2YXJfcGwoJzMuMTQnKTsKKworRFJPUCBWQVJJQUJMRSB0ZW1wX3ZhcjAz OworCitTRVQgcGxhbl9jYWNoZV9tb2RlIHRvIGZvcmNlX2dlbmVyaWNfcGxhbjsKKworLS0gc2hv dWxkIG5vdCBjcmFzaAorU0VMRUNUIHRlc3R2YXJfc3FsMDEoMy4xNCk7CitTRUxFQ1QgdGVzdHZh cl9zcWwwMigpLCBWQVJJQUJMRSh0ZW1wX3ZhcjAzKTsKK1NFTEVDVCB0ZXN0dmFyX3BsKCczLjE0 MTU5MicpOworCistLSBjYW4gd29yayBhZ2FpbiBpZiB3ZSBjcmVhdGUgdmFyaWFibGUKK0NSRUFU RSBURU1QIFZBUklBQkxFIHRlbXBfdmFyMDMgQVMgbnVtZXJpYzsKK1NFTEVDVCB0ZXN0dmFyX3Nx bDAxKDMuMTQpOworU0VMRUNUIHRlc3R2YXJfc3FsMDIoKSwgVkFSSUFCTEUodGVtcF92YXIwMyk7 CitTRUxFQ1QgdGVzdHZhcl9wbCgnMy4xNDE1OTInKTsKKworQ1JFQVRFIFJPTEUgcmVncmVzc19z ZXNzaW9uX3ZhcmlhYmxlX3Rlc3Rfcm9sZV8wNDsKKworU0VUIFJPTEUgcmVncmVzc19zZXNzaW9u X3ZhcmlhYmxlX3Rlc3Rfcm9sZV8wNDsKKworLS0gc2hvdWxkIGZhaWwKK1NFTEVDVCB0ZXN0dmFy X3NxbDAxKDMuMTQpOworCistLSBzaG91bGQgYmUgb2sgKHNlY3VyaXR5IGRlZmluZXIpCitTRUxF Q1QgdGVzdHZhcl9wbCgnMy4xNDE1OTInKTsKKworU0VUIFJPTEUgVE8gREVGQVVMVDsKKworRFJP UCBGVU5DVElPTiB0ZXN0dmFyX3NxbDAxKG51bWVyaWMpOworRFJPUCBGVU5DVElPTiB0ZXN0dmFy X3NxbDAyKCk7CitEUk9QIEZVTkNUSU9OIHRlc3R2YXJfcGwodmFyY2hhcik7CisKK0RST1AgUk9M RSByZWdyZXNzX3Nlc3Npb25fdmFyaWFibGVfdGVzdF9yb2xlXzA0OworCitEUk9QIFZBUklBQkxF IHRlbXBfdmFyMDM7CisKK1NFVCBwbGFuX2NhY2hlX21vZGUgVE8gREVGQVVMVDsKKworLS0gdGVz dCBleHRlbmRlZCBxdWVyeSBwcm90b2NvbAorQ1JFQVRFIFRFTVAgVkFSSUFCTEUgdGVtcF92YXIw NCBBUyBpbnQ7CisKK0xFVCB0ZW1wX3ZhcjA0ID0gJDEgXGJpbmQgMTAgXGcKK1NFTEVDVCBWQVJJ QUJMRSh0ZW1wX3ZhcjA0KTsKKworTEVUIHRlbXBfdmFyMDQgPSAkMSBccGFyc2UgbGV0cHMKK1xi aW5kX25hbWVkIGxldHBzIDEwMCBcZworU0VMRUNUIFZBUklBQkxFKHRlbXBfdmFyMDQpOworCitc Y2xvc2VfcHJlcGFyZWQgbGV0cHMKKworRFJPUCBWQVJJQUJMRSB0ZW1wX3ZhcjA0OwpkaWZmIC0t Z2l0IGEvc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QgYi9zcmMvdG9vbHMvcGdpbmRl bnQvdHlwZWRlZnMubGlzdAppbmRleCAwODg0MjlkZDQyNC4uN2ZiYzVjODgzNGQgMTAwNjQ0Ci0t LSBhL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0CisrKyBiL3NyYy90b29scy9wZ2lu ZGVudC90eXBlZGVmcy5saXN0CkBAIC0xNTUwLDYgKzE1NTAsNyBAQCBMYXJnZU9iamVjdERlc2MK IExhdGNoCiBMYXVuY2hlckxhc3RTdGFydFRpbWVzRW50cnkKIExlcnBGdW5jCitMZXRTdG10CiBM ZXhEZXNjcgogTGV4ZW1lRW50cnkKIExleGVtZUhhc2hLZXkKLS0gCjIuNTIuMAoK --0000000000001a90410644c99b27 Content-Type: text/x-patch; charset="US-ASCII"; name="v20251130-0003-collect-session-variables-used-in-plan-and-assign-pa.patch" Content-Disposition: attachment; filename="v20251130-0003-collect-session-variables-used-in-plan-and-assign-pa.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_milbbk1u4 RnJvbSBmYmEwNzhlNGNhYjRhYzE4NzAxNmEwMmJlMDlhNzJlYjMzMmQ4MmYxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPHBhdmVsLnN0ZWh1bGVAZ21h aWwuY29tPgpEYXRlOiBGcmksIDIxIE5vdiAyMDI1IDIwOjQyOjU2ICswMTAwClN1YmplY3Q6IFtQ QVRDSCAzLzddIGNvbGxlY3Qgc2Vzc2lvbiB2YXJpYWJsZXMgdXNlZCBpbiBwbGFuIGFuZCBhc3Np Z24gcGFyYW1pZAoKSW4gdGhlIHBsYW4gc3RhZ2Ugd2UgbmVlZCB0byBjb2xsZWN0IHVzZWQgc2Vz c2lvbiB2YXJpYWJsZXMuIE9uIHRoZQpvcmRlciBvZiB0aGlzIGxpc3QsIHRoZSBwYXJhbSBub2Rl cyBnZXRzIHBhcmFtaWQgKGZpeF9wYXJhbV9ub2RlKS4KVGhpcyBudW1iZXIgaXMgdXNlZCAobGF0 ZXIpIGFzIGluZGV4IHRvIGJ1ZmZlciBvZiB2YWx1ZXMgb2YgdGhlCnVzZWQgc2Vzc2lvbiB2YXJp YWJsZXMuIFRoZSBidWZmZXIgaXMgcHJlcGFyZWQgYW5kIGZpbGxlZCBieSBleGVjdXRvci4KClNv bWUgdW5zdXBwb3J0ZWQgb3B0aW1pemF0aW9ucyBhcmUgZGlzYWJsZWQ6CgoqIHBhcmFsbGVsIGV4 ZWN1dGlvbgoqIHNpbXBsZSBleHByZXNzaW9uIGV4ZWN1dGlvbiBpbiBQTC9wZ1NRTAoqIFNRTCBm dW5jdGlvbnMgaW5saW5pbmcKCkJlZm9yZSBleGVjdXRpb24gb2YgcXVlcnkgd2l0aCBzZXNzaW9u IHZhcmlhYmxlcyB3ZSBuZWVkIHRvIGNvbGxlY3QKdXNlZCBzZXNzaW9uIHZhcmlhYmxlcy4gVGhp cyBsaXN0IGlzIHVzZWQgZm9yIGxvYWRpbmcgdmFyaWFibGVzIHRvCmV4ZWN1dGVkIHF1ZXJ5LgoK cGxhbgotLS0KIGRvYy9zcmMvc2dtbC9wYXJhbGxlbC5zZ21sICAgICAgICAgICAgICAgIHwgIDYg KysKIHNyYy9iYWNrZW5kL2NhdGFsb2cvZGVwZW5kZW5jeS5jICAgICAgICAgIHwgMTAgKysrCiBz cmMvYmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMgICB8IDM5ICsrKysrKysrKysK IHNyYy9iYWNrZW5kL29wdGltaXplci9wbGFuL3BsYW5uZXIuYyAgICAgIHwgMTEgKysrCiBzcmMv YmFja2VuZC9vcHRpbWl6ZXIvcGxhbi9zZXRyZWZzLmMgICAgICB8IDk0ICsrKysrKysrKysrKysr KysrKysrKystCiBzcmMvYmFja2VuZC9vcHRpbWl6ZXIvcHJlcC9wcmVwam9pbnRyZWUuYyB8ICAz ICsKIHNyYy9iYWNrZW5kL29wdGltaXplci91dGlsL2NsYXVzZXMuYyAgICAgIHwgMzUgKysrKysr KystCiBzcmMvYmFja2VuZC91dGlscy9mbWdyL2ZtZ3IuYyAgICAgICAgICAgICB8IDEwICsrLQog c3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oICAgfCAgMiArCiBzcmMvaW5j bHVkZS9ub2Rlcy9wYXRobm9kZXMuaCAgICAgICAgICAgICB8ICA1ICsrCiBzcmMvaW5jbHVkZS9u b2Rlcy9wbGFubm9kZXMuaCAgICAgICAgICAgICB8ICAzICsKIHNyYy9pbmNsdWRlL29wdGltaXpl ci9wbGFubWFpbi5oICAgICAgICAgIHwgIDIgKwogMTIgZmlsZXMgY2hhbmdlZCwgMjE0IGluc2Vy dGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3BhcmFs bGVsLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcGFyYWxsZWwuc2dtbAppbmRleCBhZjQzNDg0NzAzZS4u ODQzZTJjM2Y2NjMgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9wYXJhbGxlbC5zZ21sCisrKyBi L2RvYy9zcmMvc2dtbC9wYXJhbGxlbC5zZ21sCkBAIC01MjQsNiArNTI0LDEyIEBAIEVYUExBSU4g U0VMRUNUICogRlJPTSBwZ2JlbmNoX2FjY291bnRzIFdIRVJFIGZpbGxlciBMSUtFICcleCUnOwog ICAgICAgICBQbGFuIG5vZGVzIHRoYXQgcmVmZXJlbmNlIGEgY29ycmVsYXRlZCA8bGl0ZXJhbD5T dWJQbGFuPC9saXRlcmFsPi4KICAgICAgIDwvcGFyYT4KICAgICA8L2xpc3RpdGVtPgorCisgICAg PGxpc3RpdGVtPgorICAgICAgPHBhcmE+CisgICAgICAgIFVzYWdlIG9mIGEgc2Vzc2lvbiB2YXJp YWJsZS4KKyAgICAgIDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgogICA8L2l0ZW1pemVkbGlzdD4K IAogIDxzZWN0MiBpZD0icGFyYWxsZWwtbGFiZWxpbmciPgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvY2F0YWxvZy9kZXBlbmRlbmN5LmMgYi9zcmMvYmFja2VuZC9jYXRhbG9nL2RlcGVuZGVuY3ku YwppbmRleCA4ZTcwYTg1YTNmNy4uNTI0NDJjNzQ2YTUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5k L2NhdGFsb2cvZGVwZW5kZW5jeS5jCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvZGVwZW5kZW5j eS5jCkBAIC0xOTAyLDYgKzE5MDIsMTYgQEAgZmluZF9leHByX3JlZmVyZW5jZXNfd2Fsa2VyKE5v ZGUgKm5vZGUsCiAJewogCQlQYXJhbQkgICAqcGFyYW0gPSAoUGFyYW0gKikgbm9kZTsKIAorCQkv KgorCQkqIGNhdGFsb2cgbGVzcyBzZXNzaW9uIHZhcmlhYmxlIHZhcmlhYmxlIGNhbm5vdCBiZSB1 c2VkIGluIHBlcnNpc3RlbnQKKwkJKiBjYXRhbG9nIGJhc2VkIG9iamVjdC4KKwkJKi8KKwkJaWYg KHBhcmFtLT5wYXJhbWtpbmQgPT0gUEFSQU1fVkFSSUFCTEUpCisJCQllcmVwb3J0KEVSUk9SLAor CQkJCQkoZXJyY29kZShFUlJDT0RFX0ZFQVRVUkVfTk9UX1NVUFBPUlRFRCksCisJCQkJCSBlcnJt c2coInNlc3Npb24gdmFyaWFibGUgXCIlc1wiIGNhbm5vdCBiZSByZWZlcmVuY2VkIGluIGEgcGVy c2lzdGVudCBvYmplY3QiLAorCQkJCQkJCXBhcmFtLT5wYXJhbXZhcm5hbWUpKSk7CisKIAkJLyog QSBwYXJhbWV0ZXIgbXVzdCBkZXBlbmQgb24gdGhlIHBhcmFtZXRlcidzIGRhdGF0eXBlICovCiAJ CWFkZF9vYmplY3RfYWRkcmVzcyhUeXBlUmVsYXRpb25JZCwgcGFyYW0tPnBhcmFtdHlwZSwgMCwK IAkJCQkJCSAgIGNvbnRleHQtPmFkZHJzKTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1h bmRzL3Nlc3Npb25fdmFyaWFibGUuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFy aWFibGUuYwppbmRleCA4NjFjMmE1NWY0ZS4uMGRhYTQ2ZmRkZTMgMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuYworKysgYi9zcmMvYmFja2VuZC9jb21t YW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMKQEAgLTEzMiw2ICsxMzIsNDUgQEAgZ2V0X3Nlc3Npb25f 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 bm5lci5jCmluZGV4IGM0ZmQ2NDZiOTk5Li5jYzAzYjAzMTFhNCAxMDA2NDQKLS0tIGEvc3JjL2Jh Y2tlbmQvb3B0aW1pemVyL3BsYW4vcGxhbm5lci5jCisrKyBiL3NyYy9iYWNrZW5kL29wdGltaXpl ci9wbGFuL3BsYW5uZXIuYwpAQCAtMzc0LDYgKzM3NCw3IEBAIHN0YW5kYXJkX3BsYW5uZXIoUXVl cnkgKnBhcnNlLCBjb25zdCBjaGFyICpxdWVyeV9zdHJpbmcsIGludCBjdXJzb3JPcHRpb25zLAog CWdsb2ItPmRlcGVuZHNPblJvbGUgPSBmYWxzZTsKIAlnbG9iLT5wYXJ0aXRpb25fZGlyZWN0b3J5 ID0gTlVMTDsKIAlnbG9iLT5yZWxfbm90bnVsbGF0dHNfaGFzaCA9IE5VTEw7CisJZ2xvYi0+c2Vz c2lvblZhcmlhYmxlcyA9IE5JTDsKIAogCS8qCiAJICogQXNzZXNzIHdoZXRoZXIgaXQncyBmZWFz aWJsZSB0byB1c2UgcGFyYWxsZWwgbW9kZSBmb3IgdGhpcyBxdWVyeS4gV2UKQEAgLTYxNyw2ICs2 MTgsOSBAQCBzdGFuZGFyZF9wbGFubmVyKFF1ZXJ5ICpwYXJzZSwgY29uc3QgY2hhciAqcXVlcnlf c3RyaW5nLCBpbnQgY3Vyc29yT3B0aW9ucywKIAlyZXN1bHQtPnBhcmFtRXhlY1R5cGVzID0gZ2xv Yi0+cGFyYW1FeGVjVHlwZXM7CiAJLyogdXRpbGl0eVN0bXQgc2hvdWxkIGJlIG51bGwsIGJ1dCB3 ZSBtaWdodCBhcyB3ZWxsIGNvcHkgaXQgKi8KIAlyZXN1bHQtPnV0aWxpdHlTdG10ID0gcGFyc2Ut PnV0aWxpdHlTdG10OworCisJcmVzdWx0LT5zZXNzaW9uVmFyaWFibGVzID0gZ2xvYi0+c2Vzc2lv blZhcmlhYmxlczsKKwogCXJlc3VsdC0+c3RtdF9sb2NhdGlvbiA9IHBhcnNlLT5zdG10X2xvY2F0 aW9uOwogCXJlc3VsdC0+c3RtdF9sZW4gPSBwYXJzZS0+c3RtdF9sZW47CiAKQEAgLTgwNSw2ICs4 MDksMTMgQEAgc3VicXVlcnlfcGxhbm5lcihQbGFubmVyR2xvYmFsICpnbG9iLCBRdWVyeSAqcGFy c2UsIGNoYXIgKnBsYW5fbmFtZSwKIAkgKi8KIAlwdWxsX3VwX3N1YnF1ZXJpZXMocm9vdCk7CiAK KwkvKgorCSAqIENoZWNrIGlmIHNvbWUgc3VicXVlcnkgdXNlcyBhIHNlc3Npb24gdmFyaWFibGUu ICBUaGUgZmxhZworCSAqIGhhc1Nlc3Npb25WYXJpYWJsZXMgc2hvdWxkIGJlIHRydWUgaWYgdGhl IHF1ZXJ5IG9yIHNvbWUgc3VicXVlcnkgdXNlcyBhCisJICogc2Vzc2lvbiB2YXJpYWJsZS4KKwkg Ki8KKwlwdWxsX3VwX2hhc19zZXNzaW9uX3ZhcmlhYmxlcyhyb290KTsKKwogCS8qCiAJICogSWYg dGhpcyBpcyBhIHNpbXBsZSBVTklPTiBBTEwgcXVlcnksIGZsYXR0ZW4gaXQgaW50byBhbiBhcHBl bmRyZWwuIFdlCiAJICogZG8gdGhpcyBub3cgYmVjYXVzZSBpdCByZXF1aXJlcyBhcHBseWluZyBw dWxsX3VwX3N1YnF1ZXJpZXMgdG8gdGhlIGxlYWYKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL29w dGltaXplci9wbGFuL3NldHJlZnMuYyBiL3NyYy9iYWNrZW5kL29wdGltaXplci9wbGFuL3NldHJl ZnMuYwppbmRleCBjY2RjOWJjMjY0YS4uNDhkZThiZjRmMTQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNr ZW5kL29wdGltaXplci9wbGFuL3NldHJlZnMuYworKysgYi9zcmMvYmFja2VuZC9vcHRpbWl6ZXIv cGxhbi9zZXRyZWZzLmMKQEAgLTIxMCw2ICsyMTAsOCBAQCBzdGF0aWMgTGlzdCAqc2V0X3JldHVy bmluZ19jbGF1c2VfcmVmZXJlbmNlcyhQbGFubmVySW5mbyAqcm9vdCwKIHN0YXRpYyBMaXN0ICpz ZXRfd2luZG93YWdnX3J1bmNvbmRpdGlvbl9yZWZlcmVuY2VzKFBsYW5uZXJJbmZvICpyb290LAog CQkJCQkJCQkJCQkJICAgTGlzdCAqcnVuY29uZGl0aW9uLAogCQkJCQkJCQkJCQkJICAgUGxhbiAq cGxhbik7CitzdGF0aWMgYm9vbCBwdWxsX3VwX2hhc19zZXNzaW9uX3ZhcmlhYmxlc193YWxrZXIo Tm9kZSAqbm9kZSwKKwkJCQkJCQkJCQkJCSBQbGFubmVySW5mbyAqcm9vdCk7CiAKIAogLyoqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqCkBAIC0xMzQxLDYgKzEzNDMsNTAgQEAgc2V0X3BsYW5fcmVmcyhQbGFu bmVySW5mbyAqcm9vdCwgUGxhbiAqcGxhbiwgaW50IHJ0b2Zmc2V0KQogCXJldHVybiBwbGFuOwog fQogCisvKgorICogU2VhcmNoIHVzYWdlIG9mIHNlc3Npb24gdmFyaWFibGVzIGluIHN1YnF1ZXJp ZXMKKyAqLwordm9pZAorcHVsbF91cF9oYXNfc2Vzc2lvbl92YXJpYWJsZXMoUGxhbm5lckluZm8g KnJvb3QpCit7CisJUXVlcnkJICAgKnF1ZXJ5ID0gcm9vdC0+cGFyc2U7CisKKwlpZiAocXVlcnkt Pmhhc1Nlc3Npb25WYXJpYWJsZXMpCisJeworCQlyb290LT5oYXNTZXNzaW9uVmFyaWFibGVzID0g dHJ1ZTsKKwl9CisJZWxzZQorCXsKKwkJKHZvaWQpIHF1ZXJ5X3RyZWVfd2Fsa2VyKHF1ZXJ5LAor CQkJCQkJCQkgcHVsbF91cF9oYXNfc2Vzc2lvbl92YXJpYWJsZXNfd2Fsa2VyLAorCQkJCQkJCQkg KHZvaWQgKikgcm9vdCwgMCk7CisJfQorfQorCitzdGF0aWMgYm9vbAorcHVsbF91cF9oYXNfc2Vz c2lvbl92YXJpYWJsZXNfd2Fsa2VyKE5vZGUgKm5vZGUsIFBsYW5uZXJJbmZvICpyb290KQorewor CWlmIChub2RlID09IE5VTEwpCisJCXJldHVybiBmYWxzZTsKKwlpZiAoSXNBKG5vZGUsIFF1ZXJ5 KSkKKwl7CisJCVF1ZXJ5CSAgICpxdWVyeSA9IChRdWVyeSAqKSBub2RlOworCisJCWlmIChxdWVy eS0+aGFzU2Vzc2lvblZhcmlhYmxlcykKKwkJeworCQkJcm9vdC0+aGFzU2Vzc2lvblZhcmlhYmxl cyA9IHRydWU7CisJCQlyZXR1cm4gZmFsc2U7CisJCX0KKworCQkvKiByZWN1cnNlIGludG8gc3Vi c2VsZWN0cyAqLworCQlyZXR1cm4gcXVlcnlfdHJlZV93YWxrZXIoKFF1ZXJ5ICopIG5vZGUsCisJ CQkJCQkJCSBwdWxsX3VwX2hhc19zZXNzaW9uX3ZhcmlhYmxlc193YWxrZXIsCisJCQkJCQkJCSAo dm9pZCAqKSByb290LCAwKTsKKwl9CisJcmV0dXJuIGV4cHJlc3Npb25fdHJlZV93YWxrZXIobm9k ZSwgcHVsbF91cF9oYXNfc2Vzc2lvbl92YXJpYWJsZXNfd2Fsa2VyLAorCQkJCQkJCQkgICh2b2lk ICopIHJvb3QpOworfQorCiAvKgogICogc2V0X2luZGV4b25seXNjYW5fcmVmZXJlbmNlcwogICoJ CURvIHNldF9wbGFuX3JlZmVyZW5jZXMgcHJvY2Vzc2luZyBvbiBhbiBJbmRleE9ubHlTY2FuCkBA IC0yMTQxLDYgKzIxODcsMTAgQEAgZml4X2V4cHJfY29tbW9uKFBsYW5uZXJJbmZvICpyb290LCBO b2RlICpub2RlKQogICogSWYgaXQncyBhIFBBUkFNX01VTFRJRVhQUiwgcmVwbGFjZSBpdCB3aXRo IHRoZSBhcHByb3ByaWF0ZSBQYXJhbSBmcm9tCiAgKiByb290LT5tdWx0aWV4cHJfcGFyYW1zOyBv dGhlcndpc2Ugbm8gY2hhbmdlIGlzIG5lZWRlZC4KICAqIEp1c3QgZm9yIHBhcmFub2lhJ3Mgc2Fr ZSwgd2UgbWFrZSBhIGNvcHkgb2YgdGhlIG5vZGUgaW4gZWl0aGVyIGNhc2UuCisgKgorICogSWYg aXQncyBhIFBBUkFNX1ZBUklBQkxFLCB0aGVuIHdlIGNvbGxlY3QgdXNlZCBzZXNzaW9uIHZhcmlh YmxlcyBpbgorICogdGhlIGxpc3Qgcm9vdC0+Z2xvYi0+c2Vzc2lvblZhcmlhYmxlLiAgQWxzbywg YXNzaWduIHRoZSBwYXJhbWV0ZXIncworICogInBhcmFtaWQiIHRvIHRoZSBwYXJhbWV0ZXIncyBw b3NpdGlvbiBpbiB0aGF0IGxpc3QuCiAgKi8KIHN0YXRpYyBOb2RlICoKIGZpeF9wYXJhbV9ub2Rl KFBsYW5uZXJJbmZvICpyb290LCBQYXJhbSAqcCkKQEAgLTIxNTksNiArMjIwOSw0MyBAQCBmaXhf cGFyYW1fbm9kZShQbGFubmVySW5mbyAqcm9vdCwgUGFyYW0gKnApCiAJCQllbG9nKEVSUk9SLCAi dW5leHBlY3RlZCBQQVJBTV9NVUxUSUVYUFIgSUQ6ICVkIiwgcC0+cGFyYW1pZCk7CiAJCXJldHVy biBjb3B5T2JqZWN0KGxpc3RfbnRoKHBhcmFtcywgY29sbm8gLSAxKSk7CiAJfQorCisJaWYgKHAt PnBhcmFta2luZCA9PSBQQVJBTV9WQVJJQUJMRSkKKwl7CisJCWludAkJCW4gPSAwOworCisJCS8q IHdlIHdpbGwgbW9kaWZ5IG9iamVjdCAqLworCQlwID0gKFBhcmFtICopIGNvcHlPYmplY3QocCk7 CisKKwkJLyoKKwkJICogTm93LCB3ZSBjYW4gYWN0dWFsaXplIGxpc3Qgb2Ygc2Vzc2lvbiB2YXJp YWJsZXMsIGFuZCB3ZSBjYW4KKwkJICogY29tcGxldGUgcGFyYW1pZCBwYXJhbWV0ZXIuCisJCSAq LworCQlmb3JlYWNoX25vZGUoUGFyYW0sIHBhcmFtdmFyLCByb290LT5nbG9iLT5zZXNzaW9uVmFy aWFibGVzKQorCQl7CisJCQlpZiAoc3RyY21wKHBhcmFtdmFyLT5wYXJhbXZhcm5hbWUsIHAtPnBh cmFtdmFybmFtZSkgPT0gMCkKKwkJCXsKKwkJCQlwLT5wYXJhbWlkID0gcGFyYW12YXItPnBhcmFt aWQ7CisKKwkJCQlyZXR1cm4gKE5vZGUgKikgcDsKKwkJCX0KKworCQkJbiArPSAxOworCQl9CisK KwkJcC0+cGFyYW1pZCA9IG47CisKKwkJLyoKKwkJICogQmVjYXVzZSBzZXNzaW9uIHZhcmlhYmxl cyBhcmUgY2F0YWxvZ2xlc3MsIHdlIGNhbm5vdCB0byB1c2UgcGxhbgorCQkgKiBpbnZhbGlkYXRp b24uIFRoZW4gd2UgbmVlZCB0byBjaGVjayB0eXBlLCB0eXBtb2QsIGNvbGxpZCBhbnkgdGltZSwK KwkJICogd2hlbiB3ZSBsb2FkIHZhbHVlcyBvZiBzZXNzaW9uIHZhcmlhYmxlcyB0byBwYXJhbWV0 ZXIncyBidWZmZXIuCisJCSAqIEZvciB0aGlzIHB1cnBvc2UgaXQgaXMgbW9yZSBlYXN5IHRvIHNh dmUgY29tcGxldGUgUGFyYW0gbm9kZS4KKwkJICovCisJCXJvb3QtPmdsb2ItPnNlc3Npb25WYXJp YWJsZXMgPSBsYXBwZW5kKHJvb3QtPmdsb2ItPnNlc3Npb25WYXJpYWJsZXMsIHApOworCisJCXJl dHVybiAoTm9kZSAqKSBwOworCX0KKwogCXJldHVybiAoTm9kZSAqKSBjb3B5T2JqZWN0KHApOwog fQogCkBAIC0yMjIwLDcgKzIzMDcsOSBAQCBmaXhfYWx0ZXJuYXRpdmVfc3VicGxhbihQbGFubmVy SW5mbyAqcm9vdCwgQWx0ZXJuYXRpdmVTdWJQbGFuICphc3BsYW4sCiAgKiByZXBsYWNpbmcgQWdn cmVmIG5vZGVzIHRoYXQgc2hvdWxkIGJlIHJlcGxhY2VkIGJ5IGluaXRwbGFuIG91dHB1dCBQYXJh bXMsCiAgKiBjaG9vc2luZyB0aGUgYmVzdCBpbXBsZW1lbnRhdGlvbiBmb3IgQWx0ZXJuYXRpdmVT dWJQbGFucywKICAqIGxvb2tpbmcgdXAgb3BlcmF0b3Igb3Bjb2RlIGluZm8gZm9yIE9wRXhwciBh bmQgcmVsYXRlZCBub2RlcywKLSAqIGFuZCBhZGRpbmcgT0lEcyBmcm9tIHJlZ2NsYXNzIENvbnN0 IG5vZGVzIGludG8gcm9vdC0+Z2xvYi0+cmVsYXRpb25PaWRzLgorICogYWRkaW5nIE9JRHMgZnJv bSByZWdjbGFzcyBDb25zdCBub2RlcyBpbnRvIHJvb3QtPmdsb2ItPnJlbGF0aW9uT2lkcywKKyAq IGFzc2lnbmluZyBwYXJhbXZhcmlkIHRvIFBBUkFNX1ZBUklBQkxFIHBhcmFtcywgYW5kIGNvbGxl Y3RpbmcgdGhlCisgKiBvZiBzZXNzaW9uIHZhcmlhYmxlcyBpbiB0aGUgcm9vdC0+Z2xvYi0+c2Vz c2lvblZhcmlhYmxlcyBsaXN0LgogICoKICAqICdub2RlJzogdGhlIGV4cHJlc3Npb24gdG8gYmUg bW9kaWZpZWQKICAqICdydG9mZnNldCc6IGhvdyBtdWNoIHRvIGluY3JlbWVudCB2YXJub3MgYnkK QEAgLTIyNDIsNyArMjMzMSw4IEBAIGZpeF9zY2FuX2V4cHIoUGxhbm5lckluZm8gKnJvb3QsIE5v ZGUgKm5vZGUsIGludCBydG9mZnNldCwgZG91YmxlIG51bV9leGVjKQogCQlyb290LT5tdWx0aWV4 cHJfcGFyYW1zICE9IE5JTCB8fAogCQlyb290LT5nbG9iLT5sYXN0UEhJZCAhPSAwIHx8CiAJCXJv b3QtPm1pbm1heF9hZ2dzICE9IE5JTCB8fAotCQlyb290LT5oYXNBbHRlcm5hdGl2ZVN1YlBsYW5z KQorCQlyb290LT5oYXNBbHRlcm5hdGl2ZVN1YlBsYW5zIHx8CisJCXJvb3QtPmhhc1Nlc3Npb25W YXJpYWJsZXMpCiAJewogCQlyZXR1cm4gZml4X3NjYW5fZXhwcl9tdXRhdG9yKG5vZGUsICZjb250 ZXh0KTsKIAl9CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9vcHRpbWl6ZXIvcHJlcC9wcmVwam9p bnRyZWUuYyBiL3NyYy9iYWNrZW5kL29wdGltaXplci9wcmVwL3ByZXBqb2ludHJlZS5jCmluZGV4 IDc1ODE2OTU2NDdkLi4yODJiYjdkNWUyNSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvb3B0aW1p emVyL3ByZXAvcHJlcGpvaW50cmVlLmMKKysrIGIvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3ByZXAv cHJlcGpvaW50cmVlLmMKQEAgLTE2NDksNiArMTY0OSw5IEBAIHB1bGxfdXBfc2ltcGxlX3N1YnF1 ZXJ5KFBsYW5uZXJJbmZvICpyb290LCBOb2RlICpqdG5vZGUsIFJhbmdlVGJsRW50cnkgKnJ0ZSwK IAkvKiBJZiBzdWJxdWVyeSBoYWQgYW55IFJMUyBjb25kaXRpb25zLCBub3cgbWFpbiBxdWVyeSBk b2VzIHRvbyAqLwogCXBhcnNlLT5oYXNSb3dTZWN1cml0eSB8PSBzdWJxdWVyeS0+aGFzUm93U2Vj dXJpdHk7CiAKKwkvKiBpZiB0aGUgc3VicXVlcnkgaGFkIHNlc3Npb24gdmFyaWFibGVzLCB0aGUg bWFpbiBxdWVyeSBkb2VzIHRvbyAqLworCXBhcnNlLT5oYXNTZXNzaW9uVmFyaWFibGVzIHw9IHN1 YnF1ZXJ5LT5oYXNTZXNzaW9uVmFyaWFibGVzOworCiAJLyoKIAkgKiBzdWJxdWVyeSB3b24ndCBi ZSBwdWxsZWQgdXAgaWYgaXQgaGFzQWdncywgaGFzV2luZG93RnVuY3MsIG9yCiAJICogaGFzVGFy Z2V0U1JGcywgc28gbm8gd29yayBuZWVkZWQgb24gdGhvc2UgZmxhZ3MKZGlmZiAtLWdpdCBhL3Ny Yy9iYWNrZW5kL29wdGltaXplci91dGlsL2NsYXVzZXMuYyBiL3NyYy9iYWNrZW5kL29wdGltaXpl ci91dGlsL2NsYXVzZXMuYwppbmRleCBiZGE0YzRlYjI5Mi4uYzZhYTA5YThkMzkgMTAwNjQ0Ci0t LSBhL3NyYy9iYWNrZW5kL29wdGltaXplci91dGlsL2NsYXVzZXMuYworKysgYi9zcmMvYmFja2Vu ZC9vcHRpbWl6ZXIvdXRpbC9jbGF1c2VzLmMKQEAgLTI1LDYgKzI1LDcgQEAKICNpbmNsdWRlICJj YXRhbG9nL3BnX29wZXJhdG9yLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19wcm9jLmgiCiAjaW5j bHVkZSAiY2F0YWxvZy9wZ190eXBlLmgiCisjaW5jbHVkZSAiY29tbWFuZHMvc2Vzc2lvbl92YXJp YWJsZS5oIgogI2luY2x1ZGUgImV4ZWN1dG9yL2V4ZWN1dG9yLmgiCiAjaW5jbHVkZSAiZXhlY3V0 b3IvZnVuY3Rpb25zLmgiCiAjaW5jbHVkZSAiZnVuY2FwaS5oIgpAQCAtOTQ3LDYgKzk0OCwxMyBA QCBtYXhfcGFyYWxsZWxfaGF6YXJkX3dhbGtlcihOb2RlICpub2RlLCBtYXhfcGFyYWxsZWxfaGF6 YXJkX2NvbnRleHQgKmNvbnRleHQpCiAJCWlmIChwYXJhbS0+cGFyYW1raW5kID09IFBBUkFNX0VY VEVSTikKIAkJCXJldHVybiBmYWxzZTsKIAorCQkvKiB3ZSBkb24ndCBzdXBwb3J0IHBhc3Npbmcg c2Vzc2lvbiB2YXJpYWJsZXMgdG8gd29ya2VycyAqLworCQlpZiAocGFyYW0tPnBhcmFta2luZCA9 PSBQQVJBTV9WQVJJQUJMRSkKKwkJeworCQkJaWYgKG1heF9wYXJhbGxlbF9oYXphcmRfdGVzdChQ Uk9QQVJBTExFTF9SRVNUUklDVEVELCBjb250ZXh0KSkKKwkJCQlyZXR1cm4gdHJ1ZTsKKwkJfQor CiAJCWlmIChwYXJhbS0+cGFyYW1raW5kICE9IFBBUkFNX0VYRUMgfHwKIAkJCSFsaXN0X21lbWJl cl9pbnQoY29udGV4dC0+c2FmZV9wYXJhbV9pZHMsIHBhcmFtLT5wYXJhbWlkKSkKIAkJewpAQCAt MjQwNSw2ICsyNDEzLDcgQEAgY29udmVydF9zYW9wX3RvX2hhc2hlZF9zYW9wX3dhbGtlcihOb2Rl ICpub2RlLCB2b2lkICpjb250ZXh0KQogICoJICB2YWx1ZSBvZiB0aGUgUGFyYW0uCiAgKiAyLiBG b2xkIHN0YWJsZSwgYXMgd2VsbCBhcyBpbW11dGFibGUsIGZ1bmN0aW9ucyB0byBjb25zdGFudHMu CiAgKiAzLiBSZWR1Y2UgUGxhY2VIb2xkZXJWYXIgbm9kZXMgdG8gdGhlaXIgY29udGFpbmVkIGV4 cHJlc3Npb25zLgorICogNC4gQ3VycmVudCB2YWx1ZSBvZiBzZXNzaW9uIHZhcmlhYmxlIGNhbiBi ZSB1c2VkIGZvciBlc3RpbWF0aW9uIHRvby4KICAqLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqLwog Tm9kZSAqCkBAIC0yNTMxLDYgKzI1NDAsMjkgQEAgZXZhbF9jb25zdF9leHByZXNzaW9uc19tdXRh dG9yKE5vZGUgKm5vZGUsCiAJCQkJCQl9CiAJCQkJCX0KIAkJCQl9CisJCQkJZWxzZSBpZiAocGFy YW0tPnBhcmFta2luZCA9PSBQQVJBTV9WQVJJQUJMRSAmJgorCQkJCQkJIGNvbnRleHQtPmVzdGlt YXRlKQorCQkJCXsKKwkJCQkJaW50MTYJCXR5cExlbjsKKwkJCQkJYm9vbAkJdHlwQnlWYWw7CisJ CQkJCURhdHVtCQlwdmFsOworCQkJCQlib29sCQlpc251bGw7CisKKwkJCQkJZ2V0X3R5cGxlbmJ5 dmFsKHBhcmFtLT5wYXJhbXR5cGUsICZ0eXBMZW4sICZ0eXBCeVZhbCk7CisKKwkJCQkJcHZhbCA9 IEdldFNlc3Npb25WYXJpYWJsZVdpdGhUeXBlY2hlY2socGFyYW0tPnBhcmFtdmFybmFtZSwKKwkJ CQkJCQkJCQkJCQkJICAgcGFyYW0tPnBhcmFtdHlwZSwKKwkJCQkJCQkJCQkJCQkJICAgcGFyYW0t PnBhcmFtdHlwbW9kLAorCQkJCQkJCQkJCQkJCQkgICAmaXNudWxsKTsKKworCQkJCQlyZXR1cm4g KE5vZGUgKikgbWFrZUNvbnN0KHBhcmFtLT5wYXJhbXR5cGUsCisJCQkJCQkJCQkJCSAgcGFyYW0t PnBhcmFtdHlwbW9kLAorCQkJCQkJCQkJCQkgIHBhcmFtLT5wYXJhbWNvbGxpZCwKKwkJCQkJCQkJ CQkJICAoaW50KSB0eXBMZW4sCisJCQkJCQkJCQkJCSAgcHZhbCwKKwkJCQkJCQkJCQkJICBpc251 bGwsCisJCQkJCQkJCQkJCSAgdHlwQnlWYWwpOworCQkJCX0KIAogCQkJCS8qCiAJCQkJICogTm90 IHJlcGxhY2VhYmxlLCBzbyBqdXN0IGNvcHkgdGhlIFBhcmFtIChubyBuZWVkIHRvCkBAIC00OTAz LDcgKzQ5MzUsOCBAQCBpbmxpbmVfZnVuY3Rpb24oT2lkIGZ1bmNpZCwgT2lkIHJlc3VsdF90eXBl LCBPaWQgcmVzdWx0X2NvbGxpZCwKIAkJcXVlcnl0cmVlLT5saW1pdE9mZnNldCB8fAogCQlxdWVy eXRyZWUtPmxpbWl0Q291bnQgfHwKIAkJcXVlcnl0cmVlLT5zZXRPcGVyYXRpb25zIHx8Ci0JCWxp c3RfbGVuZ3RoKHF1ZXJ5dHJlZS0+dGFyZ2V0TGlzdCkgIT0gMSkKKwkJKGxpc3RfbGVuZ3RoKHF1 ZXJ5dHJlZS0+dGFyZ2V0TGlzdCkgIT0gMSkgfHwKKwkJcXVlcnl0cmVlLT5oYXNTZXNzaW9uVmFy aWFibGVzKQogCQlnb3RvIGZhaWw7CiAKIAkvKiBJZiB0aGUgZnVuY3Rpb24gcmVzdWx0IGlzIGNv bXBvc2l0ZSwgcmVzb2x2ZSBpdCAqLwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvZm1n ci9mbWdyLmMgYi9zcmMvYmFja2VuZC91dGlscy9mbWdyL2ZtZ3IuYwppbmRleCAwZmU2M2M2YmI4 My4uZDI2ZTc0NGUyOTYgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2ZtZ3IvZm1nci5j CisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2ZtZ3IvZm1nci5jCkBAIC0xOTkxLDkgKzE5OTEsMTMg QEAgZ2V0X2NhbGxfZXhwcl9hcmdfc3RhYmxlKE5vZGUgKmV4cHIsIGludCBhcmdudW0pCiAJICov CiAJaWYgKElzQShhcmcsIENvbnN0KSkKIAkJcmV0dXJuIHRydWU7Ci0JaWYgKElzQShhcmcsIFBh cmFtKSAmJgotCQkoKFBhcmFtICopIGFyZyktPnBhcmFta2luZCA9PSBQQVJBTV9FWFRFUk4pCi0J CXJldHVybiB0cnVlOworCWlmIChJc0EoYXJnLCBQYXJhbSkpCisJeworCQlQYXJhbQkgICAqcCA9 IChQYXJhbSAqKSBhcmc7CisKKwkJaWYgKHAtPnBhcmFta2luZCA9PSBQQVJBTV9FWFRFUk4gfHwg cC0+cGFyYW1raW5kID09IFBBUkFNX1ZBUklBQkxFKQorCQkJcmV0dXJuIHRydWU7CisJfQogCiAJ cmV0dXJuIGZhbHNlOwogfQpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lv bl92YXJpYWJsZS5oIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oCmlu ZGV4IDk2YmU5NjhjM2Q0Li4zNjg3NDkwYmNiMSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY29t bWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oCisrKyBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Nlc3Np b25fdmFyaWFibGUuaApAQCAtMjIsNiArMjIsOCBAQAogZXh0ZXJuIHZvaWQgQ3JlYXRlVmFyaWFi bGUoUGFyc2VTdGF0ZSAqcHN0YXRlLCBDcmVhdGVTZXNzaW9uVmFyU3RtdCAqc3RtdCk7CiBleHRl cm4gdm9pZCBEcm9wVmFyaWFibGVCeU5hbWUoY2hhciAqdmFybmFtZSk7CiAKK2V4dGVybiBEYXR1 bSBHZXRTZXNzaW9uVmFyaWFibGVXaXRoVHlwZWNoZWNrKGNoYXIgKnZhcm5hbWUsIE9pZCB0eXBp ZCwgaW50MzIgdHlwbW9kLCBib29sICppc251bGwpOworCiBleHRlcm4gdm9pZCBnZXRfc2Vzc2lv bl92YXJpYWJsZV90eXBlX3R5cG1vZF9jb2xsaWQoY2hhciAqdmFybmFtZSwKIAkJCQkJCQkJCQkJ CQlPaWQgKnR5cGlkLAogCQkJCQkJCQkJCQkJCWludDMyICp0eXBtb2QsCmRpZmYgLS1naXQgYS9z cmMvaW5jbHVkZS9ub2Rlcy9wYXRobm9kZXMuaCBiL3NyYy9pbmNsdWRlL25vZGVzL3BhdGhub2Rl cy5oCmluZGV4IDQ2YTg2NTU2MjFkLi45N2EwMGRmOGQxZiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1 ZGUvbm9kZXMvcGF0aG5vZGVzLmgKKysrIGIvc3JjL2luY2x1ZGUvbm9kZXMvcGF0aG5vZGVzLmgK QEAgLTE4OSw2ICsxODksOSBAQCB0eXBlZGVmIHN0cnVjdCBQbGFubmVyR2xvYmFsCiAJLyogZXh0 ZW5zaW9uIHN0YXRlICovCiAJdm9pZAkgICoqZXh0ZW5zaW9uX3N0YXRlIHBnX25vZGVfYXR0cihy ZWFkX3dyaXRlX2lnbm9yZSk7CiAJaW50CQkJZXh0ZW5zaW9uX3N0YXRlX2FsbG9jYXRlZDsKKwor CS8qIGxpc3Qgb2YgdXNlZCBzZXNzaW9uIHZhcmlhYmxlcyAqLworCUxpc3QJICAgKnNlc3Npb25W YXJpYWJsZXM7CiB9IFBsYW5uZXJHbG9iYWw7CiAKIC8qIG1hY3JvIGZvciBmZXRjaGluZyB0aGUg UGxhbiBhc3NvY2lhdGVkIHdpdGggYSBTdWJQbGFuIG5vZGUgKi8KQEAgLTU0Nyw2ICs1NTAsOCBA QCBzdHJ1Y3QgUGxhbm5lckluZm8KIAlib29sCQloYXNSZWN1cnNpb247CiAJLyogdHJ1ZSBpZiBh IHBsYW5uZXIgZXh0ZW5zaW9uIG1heSByZXBsYW4gdGhpcyBzdWJxdWVyeSAqLwogCWJvb2wJCWFz c3VtZVJlcGxhbm5pbmc7CisJLyogdHJ1ZSBpZiBzZXNzaW9uIHZhcmlhYmxlcyB3ZXJlIHVzZWQg Ki8KKwlib29sCQloYXNTZXNzaW9uVmFyaWFibGVzOwogCiAJLyoKIAkgKiBUaGUgcmFuZ2V0YWJs ZSBpbmRleCBmb3IgdGhlIFJURV9HUk9VUCBSVEUsIG9yIDAgaWYgdGhlcmUgaXMgbm8KZGlmZiAt LWdpdCBhL3NyYy9pbmNsdWRlL25vZGVzL3BsYW5ub2Rlcy5oIGIvc3JjL2luY2x1ZGUvbm9kZXMv cGxhbm5vZGVzLmgKaW5kZXggYzQzOTNhOTQzMjEuLjYxNzU0YWU0ZWZjIDEwMDY0NAotLS0gYS9z cmMvaW5jbHVkZS9ub2Rlcy9wbGFubm9kZXMuaAorKysgYi9zcmMvaW5jbHVkZS9ub2Rlcy9wbGFu bm9kZXMuaApAQCAtMTU4LDYgKzE1OCw5IEBAIHR5cGVkZWYgc3RydWN0IFBsYW5uZWRTdG10CiAJ ICovCiAJTGlzdAkgICAqZXh0ZW5zaW9uX3N0YXRlOwogCisJLyogUEFSQU1fVkFSSUFCTEUgUGFy YW1zICovCisJTGlzdAkgICAqc2Vzc2lvblZhcmlhYmxlczsKKwogCS8qIHN0YXRlbWVudCBsb2Nh dGlvbiBpbiBzb3VyY2Ugc3RyaW5nIChjb3BpZWQgZnJvbSBRdWVyeSkgKi8KIAkvKiBzdGFydCBs b2NhdGlvbiwgb3IgLTEgaWYgdW5rbm93biAqLwogCVBhcnNlTG9jCXN0bXRfbG9jYXRpb247CmRp ZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9vcHRpbWl6ZXIvcGxhbm1haW4uaCBiL3NyYy9pbmNsdWRl L29wdGltaXplci9wbGFubWFpbi5oCmluZGV4IDAwYWRkZjE1OTkyLi5mYjgxY2ViMzc1ZiAxMDA2 NDQKLS0tIGEvc3JjL2luY2x1ZGUvb3B0aW1pemVyL3BsYW5tYWluLmgKKysrIGIvc3JjL2luY2x1 ZGUvb3B0aW1pemVyL3BsYW5tYWluLmgKQEAgLTEzMiw0ICsxMzIsNiBAQCBleHRlcm4gdm9pZCBy ZWNvcmRfcGxhbl9mdW5jdGlvbl9kZXBlbmRlbmN5KFBsYW5uZXJJbmZvICpyb290LCBPaWQgZnVu Y2lkKTsKIGV4dGVybiB2b2lkIHJlY29yZF9wbGFuX3R5cGVfZGVwZW5kZW5jeShQbGFubmVySW5m byAqcm9vdCwgT2lkIHR5cGlkKTsKIGV4dGVybiBib29sIGV4dHJhY3RfcXVlcnlfZGVwZW5kZW5j aWVzX3dhbGtlcihOb2RlICpub2RlLCBQbGFubmVySW5mbyAqY29udGV4dCk7CiAKK2V4dGVybiB2 b2lkIHB1bGxfdXBfaGFzX3Nlc3Npb25fdmFyaWFibGVzKFBsYW5uZXJJbmZvICpyb290KTsKKwog I2VuZGlmCQkJCQkJCS8qIFBMQU5NQUlOX0ggKi8KLS0gCjIuNTIuMAoK --0000000000001a90410644c99b27 Content-Type: text/x-patch; charset="US-ASCII"; name="v20251130-0004-fill-an-auxiliary-buffer-with-values-of-session-vari.patch" Content-Disposition: attachment; filename="v20251130-0004-fill-an-auxiliary-buffer-with-values-of-session-vari.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_milbbk1l3 RnJvbSAzNzlkY2FhNzg3N2E0Y2MzNzJhNjU3ZTU1ZWY4YmFmN2M3ODQxODcxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPHBhdmVsLnN0ZWh1bGVAZ21h aWwuY29tPgpEYXRlOiBTYXQsIDIyIE5vdiAyMDI1IDA2OjQwOjQ2ICswMTAwClN1YmplY3Q6IFtQ QVRDSCA0LzddIGZpbGwgYW4gYXV4aWxpYXJ5IGJ1ZmZlciB3aXRoIHZhbHVlcyBvZiBzZXNzaW9u IAogdmFyaWFibGVzIHVzZWQgaW4gcXVlcnkKCmFuZCBsb2NrcyB2YXJpYWJsZXMgdXNlZCBpbiBx dWVyeS4gTm93IHdlIGNhbiByZWFkIHRoZSBjb250ZW50IG9mIGFueQpzZXNzaW9uIHZhcmlhYmxl LiBEaXJlY3QgcmVhZGluZyBmcm9tIGV4cHJlc3Npb24gZXhlY3V0b3IgaXMgbm90IGFsbG93ZWQs CnNvIHdlIGNhbm5vdCB0byB1c2Ugc2Vzc2lvbiB2YXJpYWJsZXMgaW5zaWRlIENBTEwgb3IgRVhF Q1VURSBjb21tYW5kcwooY2FuIGJlIHN1cHBvcnRlZCB3aXRoIGRpcmVjdCBhY2Nlc3MgdG8gc2Vz c2lvbiB2YXJpYWJsZXMgKGZyb20gZXhwcmVzc2lvbgpleGVjdXRvcikgLSBwb3N0cG9uZWQpLgoK VXNpbmcgc2Vzc2lvbiB2YXJpYWJsZXMgYmxvY2tzIHBhcmFsbGVsIHF1ZXJ5IGV4ZWN1dGlvbi4g SXQgaXMgbm90CnRlY2huaWNhbCBwcm9ibGVtIChpdCBqdXN0IG5lZWRzIGEgc2VyaWFsaXphdGlv bi9kZXNlcmlhbGl6YXRpb24gb2YKZXNfc2Vzc2lvbl92YXJpYmxlcyBidWZmZXIpLCBidXQgaXQg aW5jcmVhc2VzIGEgc2l6ZSBvZiBwYXRjaCAoYW5kIHRoZW4KaXQgaXMgcG9zdHBvbmVkKS4KLS0t CiBzcmMvYmFja2VuZC9leGVjdXRvci9leGVjRXhwci5jICAgICAgICAgICAgICAgfCAgMjkgKysr Kwogc3JjL2JhY2tlbmQvZXhlY3V0b3IvZXhlY01haW4uYyAgICAgICAgICAgICAgIHwgIDQ5ICsr KysrKysKIHNyYy9pbmNsdWRlL25vZGVzL2V4ZWNub2Rlcy5oICAgICAgICAgICAgICAgICB8ICAx NCArKwogLi4uL2V4cGVjdGVkL3Nlc3Npb25fdmFyaWFibGVzX2RtbC5vdXQgICAgICAgIHwgMTM1 ICsrKysrKysrKysrKysrKysrKwogc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZSAg ICAgICAgICAgIHwgICA1ICsKIC4uLi9yZWdyZXNzL3NxbC9zZXNzaW9uX3ZhcmlhYmxlc19kbWwu c3FsICAgICB8IDEyMCArKysrKysrKysrKysrKysrCiBzcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRl ZnMubGlzdCAgICAgICAgICAgICAgfCAgIDEgKwogNyBmaWxlcyBjaGFuZ2VkLCAzNTMgaW5zZXJ0 aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc2Vz c2lvbl92YXJpYWJsZXNfZG1sLm91dAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0L3JlZ3Jl c3Mvc3FsL3Nlc3Npb25fdmFyaWFibGVzX2RtbC5zcWwKCmRpZmYgLS1naXQgYS9zcmMvYmFja2Vu ZC9leGVjdXRvci9leGVjRXhwci5jIGIvc3JjL2JhY2tlbmQvZXhlY3V0b3IvZXhlY0V4cHIuYwpp bmRleCBmMTU2OTg3OWI1Mi4uMDQ1N2E3Mjk1MzcgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2V4 ZWN1dG9yL2V4ZWNFeHByLmMKKysrIGIvc3JjL2JhY2tlbmQvZXhlY3V0b3IvZXhlY0V4cHIuYwpA QCAtMTA2OSw2ICsxMDY5LDM1IEBAIEV4ZWNJbml0RXhwclJlYyhFeHByICpub2RlLCBFeHByU3Rh dGUgKnN0YXRlLAogCQkJCQkJCUV4cHJFdmFsUHVzaFN0ZXAoc3RhdGUsICZzY3JhdGNoKTsKIAkJ CQkJCX0KIAkJCQkJCWJyZWFrOworCQkJCQljYXNlIFBBUkFNX1ZBUklBQkxFOgorCQkJCQkJewor CQkJCQkJCWludAkJCWVzX251bV9zZXNzaW9uX3ZhcmlhYmxlcyA9IDA7CisJCQkJCQkJU2Vzc2lv blZhcmlhYmxlVmFsdWUgKmVzX3Nlc3Npb25fdmFyaWFibGVzID0gTlVMTDsKKwkJCQkJCQlTZXNz aW9uVmFyaWFibGVWYWx1ZSAqdmFyOworCisJCQkJCQkJaWYgKHN0YXRlLT5wYXJlbnQgJiYgc3Rh dGUtPnBhcmVudC0+c3RhdGUpCisJCQkJCQkJeworCQkJCQkJCQllc19zZXNzaW9uX3ZhcmlhYmxl cyA9IHN0YXRlLT5wYXJlbnQtPnN0YXRlLT5lc19zZXNzaW9uX3ZhcmlhYmxlczsKKwkJCQkJCQkJ ZXNfbnVtX3Nlc3Npb25fdmFyaWFibGVzID0gc3RhdGUtPnBhcmVudC0+c3RhdGUtPmVzX251bV9z ZXNzaW9uX3ZhcmlhYmxlczsKKwkJCQkJCQl9CisKKwkJCQkJCQlBc3NlcnQoZXNfc2Vzc2lvbl92 YXJpYWJsZXMpOworCisJCQkJCQkJLyogcGFyYW1ldGVyIHNhbml0eSBjaGVja3MgKi8KKwkJCQkJ CQlpZiAocGFyYW0tPnBhcmFtaWQgPj0gZXNfbnVtX3Nlc3Npb25fdmFyaWFibGVzKQorCQkJCQkJ CQllbG9nKEVSUk9SLCAicGFyYW1pZCBvZiBQQVJBTV9WQVJJQUJMRSBwYXJhbSBpcyBvdXQgb2Yg cmFuZ2UiKTsKKworCQkJCQkJCXZhciA9ICZlc19zZXNzaW9uX3ZhcmlhYmxlc1twYXJhbS0+cGFy YW1pZF07CisKKwkJCQkJCQkvKgorCQkJCQkJCSAqIEluIHRoaXMgY2FzZSwgcGFzcyB0aGUgdmFs dWUgbGlrZSBhIGNvbnN0YW50LgorCQkJCQkJCSAqLworCQkJCQkJCXNjcmF0Y2gub3Bjb2RlID0g RUVPUF9DT05TVDsKKwkJCQkJCQlzY3JhdGNoLmQuY29uc3R2YWwudmFsdWUgPSB2YXItPnZhbHVl OworCQkJCQkJCXNjcmF0Y2guZC5jb25zdHZhbC5pc251bGwgPSB2YXItPmlzbnVsbDsKKwkJCQkJ CQlFeHByRXZhbFB1c2hTdGVwKHN0YXRlLCAmc2NyYXRjaCk7CisJCQkJCQl9CisJCQkJCQlicmVh azsKIAkJCQkJZGVmYXVsdDoKIAkJCQkJCWVsb2coRVJST1IsICJ1bnJlY29nbml6ZWQgcGFyYW1r aW5kOiAlZCIsCiAJCQkJCQkJIChpbnQpIHBhcmFtLT5wYXJhbWtpbmQpOwpkaWZmIC0tZ2l0IGEv c3JjL2JhY2tlbmQvZXhlY3V0b3IvZXhlY01haW4uYyBiL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL2V4 ZWNNYWluLmMKaW5kZXggMjdjOWVlYzY5N2IuLjE5OGJlMGNmMTQzIDEwMDY0NAotLS0gYS9zcmMv YmFja2VuZC9leGVjdXRvci9leGVjTWFpbi5jCisrKyBiL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL2V4 ZWNNYWluLmMKQEAgLTQ0LDYgKzQ0LDcgQEAKICNpbmNsdWRlICJjYXRhbG9nL25hbWVzcGFjZS5o IgogI2luY2x1ZGUgImNhdGFsb2cvcGFydGl0aW9uLmgiCiAjaW5jbHVkZSAiY29tbWFuZHMvbWF0 dmlldy5oIgorI2luY2x1ZGUgImNvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuaCIKICNpbmNsdWRl ICJjb21tYW5kcy90cmlnZ2VyLmgiCiAjaW5jbHVkZSAiZXhlY3V0b3IvZXhlY3V0b3IuaCIKICNp bmNsdWRlICJleGVjdXRvci9leGVjUGFydGl0aW9uLmgiCkBAIC0xOTYsNiArMTk3LDU0IEBAIHN0 YW5kYXJkX0V4ZWN1dG9yU3RhcnQoUXVlcnlEZXNjICpxdWVyeURlc2MsIGludCBlZmxhZ3MpCiAJ QXNzZXJ0KHF1ZXJ5RGVzYy0+c291cmNlVGV4dCAhPSBOVUxMKTsKIAllc3RhdGUtPmVzX3NvdXJj ZVRleHQgPSBxdWVyeURlc2MtPnNvdXJjZVRleHQ7CiAKKwkvKgorCSAqIFRoZSBleGVjdXRvciBk b2Vzbid0IHdvcmsgd2l0aCBzZXNzaW9uIHZhcmlhYmxlcyBkaXJlY3RseS4gVmFsdWVzIG9mCisJ ICogcmVsYXRlZCBzZXNzaW9uIHZhcmlhYmxlcyBhcmUgY29waWVkIHRvIGEgZGVkaWNhdGVkIGFy cmF5LCBhbmQgdGhpcworCSAqIGFycmF5IGlzIHBhc3NlZCB0byB0aGUgZXhlY3V0b3IuIFRoaXMg YXJyYXkgaXMgc3RhYmxlICJzbmFwc2hvdCIgb2YKKwkgKiB2YWx1ZXMgb2YgdXNlZCBzZXNzaW9u IHZhcmlhYmxlcy4gVGhlcmUgYXJlIHRocmVlIGJlbmVmaXRzIG9mIHRoaXMKKwkgKiBzdHJhdGVn eToKKwkgKgorCSAqIC0gY29uc2lzdGVuY3kgd2l0aCBleHRlcm5hbCBwYXJhbWV0ZXJzIGFuZCBw bHBnc3FsIHZhcmlhYmxlcywKKwkgKgorCSAqIC0gc2Vzc2lvbiB2YXJpYWJsZXMgY2FuIGJlIHBh cmFsbGVsIHNhZmUsCisJICoKKwkgKiAtIHdlIGRvbid0IG5lZWQgbWFrZSBmcmVzaCBjb3B5IGZv ciBhbnkgcmVhZCBvZiBzZXNzaW9uIHZhcmlhYmxlICh0aGlzCisJICogaXMgbmVjZXNzYXJ5IGJl Y2F1c2UgdGhlIGludGVybmFsbHkgdGhlIHNlc3Npb24gdmFyaWFibGUgY2FuIGJlIGNoYW5nZWQK KwkgKiBpbnNpZGUgcXVlcnkgZXhlY3V0aW9uIHRpbWUsIGFuZCB0aGVuIGEgcmVmZXJlbmNlIHRv IHByZXZpb3VzbHkKKwkgKiByZXR1cm5lZCB2YWx1ZSBjYW4gYmUgY29ycnVwdGVkKS4KKwkgKi8K KwlpZiAocXVlcnlEZXNjLT5wbGFubmVkc3RtdC0+c2Vzc2lvblZhcmlhYmxlcykKKwl7CisJCWlu dAkJCW5TZXNzaW9uVmFyaWFibGVzOworCQlpbnQJCQlpID0gMDsKKworCQkvKgorCQkgKiBJbiB0 aGlzIGNhc2UsIHRoZSBxdWVyeSB1c2VzIHNlc3Npb24gdmFyaWFibGVzLCBidXQgd2UgaGF2ZSB0 bworCQkgKiBwcmVwYXJlIHRoZSBhcnJheSB3aXRoIHBhc3NlZCB2YWx1ZXMgKG9mIHVzZWQgc2Vz c2lvbiB2YXJpYWJsZXMpCisJCSAqIGZpcnN0LgorCQkgKi8KKwkJQXNzZXJ0KCFJc1BhcmFsbGVs V29ya2VyKCkpOworCQluU2Vzc2lvblZhcmlhYmxlcyA9IGxpc3RfbGVuZ3RoKHF1ZXJ5RGVzYy0+ cGxhbm5lZHN0bXQtPnNlc3Npb25WYXJpYWJsZXMpOworCisJCS8qIGNyZWF0ZSB0aGUgYXJyYXkg dXNlZCBmb3IgcGFzc2luZyB2YWx1ZXMgb2YgdXNlZCBzZXNzaW9uIHZhcmlhYmxlcyAqLworCQll c3RhdGUtPmVzX3Nlc3Npb25fdmFyaWFibGVzID0gKFNlc3Npb25WYXJpYWJsZVZhbHVlICopCisJ CQlwYWxsb2MoblNlc3Npb25WYXJpYWJsZXMgKiBzaXplb2YoU2Vzc2lvblZhcmlhYmxlVmFsdWUp KTsKKworCQkvKiBmaWxsIHRoZSBhcnJheSAqLworCQlmb3JlYWNoX25vZGUoUGFyYW0sIHBhcmFt LCBxdWVyeURlc2MtPnBsYW5uZWRzdG10LT5zZXNzaW9uVmFyaWFibGVzKQorCQl7CisJCQllc3Rh dGUtPmVzX3Nlc3Npb25fdmFyaWFibGVzW2ldLnZhbHVlID0KKwkJCQlHZXRTZXNzaW9uVmFyaWFi bGVXaXRoVHlwZWNoZWNrKHBhcmFtLT5wYXJhbXZhcm5hbWUsCisJCQkJCQkJCQkJCQlwYXJhbS0+ cGFyYW10eXBlLAorCQkJCQkJCQkJCQkJcGFyYW0tPnBhcmFtdHlwbW9kLAorCQkJCQkJCQkJCQkJ JmVzdGF0ZS0+ZXNfc2Vzc2lvbl92YXJpYWJsZXNbaV0uaXNudWxsKTsKKworCQkJaSsrOworCQl9 CisKKwkJZXN0YXRlLT5lc19udW1fc2Vzc2lvbl92YXJpYWJsZXMgPSBuU2Vzc2lvblZhcmlhYmxl czsKKwl9CisKIAkvKgogCSAqIEZpbGwgaW4gdGhlIHF1ZXJ5IGVudmlyb25tZW50LCBpZiBhbnks IGZyb20gcXVlcnlEZXNjLgogCSAqLwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvbm9kZXMvZXhl Y25vZGVzLmggYi9zcmMvaW5jbHVkZS9ub2Rlcy9leGVjbm9kZXMuaAppbmRleCA2NGZmNjk5NjQz MS4uZDA2NDJlYWU0MTggMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL25vZGVzL2V4ZWNub2Rlcy5o CisrKyBiL3NyYy9pbmNsdWRlL25vZGVzL2V4ZWNub2Rlcy5oCkBAIC02NDUsNiArNjQ1LDE2IEBA IHR5cGVkZWYgc3RydWN0IEFzeW5jUmVxdWVzdAogCQkJCQkJCQkgKiB0dXBsZXMpICovCiB9IEFz eW5jUmVxdWVzdDsKIAorLyogLS0tLS0tLS0tLS0tLS0tLQorICogU2Vzc2lvblZhcmlhYmxlVmFs dWUKKyAqIC0tLS0tLS0tLS0tLS0tLS0KKyAqLwordHlwZWRlZiBzdHJ1Y3QgU2Vzc2lvblZhcmlh YmxlVmFsdWUKK3sKKwlib29sCQlpc251bGw7CisJRGF0dW0JCXZhbHVlOworfSBTZXNzaW9uVmFy aWFibGVWYWx1ZTsKKwogLyogLS0tLS0tLS0tLS0tLS0tLQogICoJICBFU3RhdGUgaW5mb3JtYXRp b24KICAqCkBAIC03MDQsNiArNzE0LDEwIEBAIHR5cGVkZWYgc3RydWN0IEVTdGF0ZQogCVBhcmFt TGlzdEluZm8gZXNfcGFyYW1fbGlzdF9pbmZvOwkvKiB2YWx1ZXMgb2YgZXh0ZXJuYWwgcGFyYW1z ICovCiAJUGFyYW1FeGVjRGF0YSAqZXNfcGFyYW1fZXhlY192YWxzOwkvKiB2YWx1ZXMgb2YgaW50 ZXJuYWwgcGFyYW1zICovCiAKKwkvKiBTZXNzaW9uIHZhcmlhYmxlcyBpbmZvOiAqLworCWludAkJ CWVzX251bV9zZXNzaW9uX3ZhcmlhYmxlczsJLyogbnVtYmVyIG9mIHVzZWQgdmFyaWFibGVzICov CisJU2Vzc2lvblZhcmlhYmxlVmFsdWUgKmVzX3Nlc3Npb25fdmFyaWFibGVzOyAvKiBhcnJheSBv ZiBjb3BpZXMgb2YgdmFsdWVzICovCisKIAlRdWVyeUVudmlyb25tZW50ICplc19xdWVyeUVudjsJ LyogcXVlcnkgZW52aXJvbm1lbnQgKi8KIAogCS8qIE90aGVyIHdvcmtpbmcgc3RhdGU6ICovCmRp ZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Nlc3Npb25fdmFyaWFibGVzX2Rt bC5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Nlc3Npb25fdmFyaWFibGVzX2RtbC5v dXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjAxZWZhNzFjOGYwCi0t LSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zZXNzaW9uX3Zhcmlh Ymxlc19kbWwub3V0CkBAIC0wLDAgKzEsMTM1IEBACitDUkVBVEUgVEVNUCBWQVJJQUJMRSB0ZW1w X3ZhcjAxIEFTIGludDsKKy0tIHNob3VsZCBub3QgYmUgYWNjZXNzaWJsZSB3aXRob3V0IHZhcmlh YmxlJ3MgZmVuY2UKKy0tIHNob3VsZCBmYWlsCitTRUxFQ1QgdGVtcF92YXIwMTsKK0VSUk9SOiAg Y29sdW1uICJ0ZW1wX3ZhcjAxIiBkb2VzIG5vdCBleGlzdAorTElORSAxOiBTRUxFQ1QgdGVtcF92 YXIwMTsKKyAgICAgICAgICAgICAgIF4KKy0tIHNob3VsZCBiZSBvaworU0VMRUNUIFZBUklBQkxF KHRlbXBfdmFyMDEpOworIHRlbXBfdmFyMDEgCistLS0tLS0tLS0tLS0KKyAgICAgICAgICAgCiso MSByb3cpCisKKy0tIHNob3VsZCBub3QgY3Jhc2gKK0RPICQkCitCRUdJTgorICBSQUlTRSBOT1RJ Q0UgJyUnLCBWQVJJQUJMRSh0ZW1wX3ZhcjAxKTsKK0VORDsKKyQkOworTk9USUNFOiAgPE5VTEw+ CistLSB2YXJpYWJsZXMgY2Fubm90IGJlIHVzZWQgYnkgcGVyc2lzdGVudCBvYmplY3RzCistLSB0 aGF0IGNoZWNrcyBkZXBlbmRlbmN5CistLSBzaG91bGQgZmFpbAorQ1JFQVRFIFRFTVAgVklFVyB0 ZW1wdiBBUyBTRUxFQ1QgVkFSSUFCTEUodGVtcF92YXIwMSk7CitFUlJPUjogIHNlc3Npb24gdmFy aWFibGUgInRlbXBfdmFyMDEiIGNhbm5vdCBiZSByZWZlcmVuY2VkIGluIGEgcGVyc2lzdGVudCBv YmplY3QKK0NSRUFURSBPUiBSRVBMQUNFIEZVTkNUSU9OIHRlc3R2YXJfc3FsKCkKK1JFVFVSTlMg aW50IEFTICQkCitTRUxFQ1QgVkFSSUFCTEUodGVtcF92YXIwMSk7CiskJCBMQU5HVUFHRSBzcWw7 CitTRUxFQ1QgdGVzdHZhcl9zcWwoKTsKKyB0ZXN0dmFyX3NxbCAKKy0tLS0tLS0tLS0tLS0KKyAg ICAgICAgICAgIAorKDEgcm93KQorCistLSBzZXNzaW9uIHZhcmlhYmxlIGNhbm5vdCBiZSB1c2Vk IGFzIHBhcmFtZXRlciBvZiBDQUxMIG9yIEVYRUNVVEUKK0NSRUFURSBPUiBSRVBMQUNFIFBST0NF RFVSRSB0ZXN0dmFyX3Byb2MoaW50KQorQVMgJCQKK0JFR0lOCisgIFJBSVNFIE5PVElDRSAnJScs ICQxOworRU5EOworJCQgTEFOR1VBR0UgcGxwZ3NxbDsKKy0tIHNob3VsZCBub3QgY3Jhc2gKK0NB TEwgdGVzdHZhcl9wcm9jKFZBUklBQkxFKHRlbXBfdmFyMDEpKTsKK0VSUk9SOiAgc2Vzc2lvbiB2 YXJpYWJsZSByZWZlcmVuY2UgaXMgbm90IHN1cHBvcnRlZCBoZXJlCitMSU5FIDE6IENBTEwgdGVz dHZhcl9wcm9jKFZBUklBQkxFKHRlbXBfdmFyMDEpKTsKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgorUFJFUEFSRSBwcmVwc3RtdChpbnQpIEFTIFNFTEVDVCAkMTsKKy0tIHNo b3VsZCBub3QgY3Jhc2gKK0VYRUNVVEUgcHJlcHN0bXQoVkFSSUFCTEUodGVtcF92YXIwMSkpOwor RVJST1I6ICBzZXNzaW9uIHZhcmlhYmxlIHJlZmVyZW5jZSBpcyBub3Qgc3VwcG9ydGVkIGhlcmUK K0xJTkUgMTogRVhFQ1VURSBwcmVwc3RtdChWQVJJQUJMRSh0ZW1wX3ZhcjAxKSk7CisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXgorRFJPUCBQUk9DRURVUkUgdGVzdHZhcl9wcm9j OworREVBTExPQ0FURSBwcmVwc3RtdDsKK0NSRUFURSBST0xFIHJlZ3Jlc3Nfc2Vzc2lvbl92YXJp YWJsZV90ZXN0X3JvbGVfMDM7CitDUkVBVEUgT1IgUkVQTEFDRSBGVU5DVElPTiB0ZXN0dmFyX3Nk KCkKK1JFVFVSTlMgdm9pZCBBUyAkJAorQkVHSU4KKyAgUkFJU0UgTk9USUNFICclJywgVkFSSUFC TEUodGVtcF92YXIwMSk7CitFTkQ7CiskJCBMQU5HVUFHRSBwbHBnc3FsOworLS0gb25seSBvd25l ciBjYW4gcmVhZCBkYXRhCitTRVQgUk9MRSBUTyByZWdyZXNzX3Nlc3Npb25fdmFyaWFibGVfdGVz dF9yb2xlXzAzOworLS0gc2hvdWxkIGZhaWwKK1NFTEVDVCBWQVJJQUJMRSh0ZW1wX3ZhcjAxKTsK K0VSUk9SOiAgcGVybWlzc2lvbiBkZW5pZWQgZm9yIHNlc3Npb24gdmFyaWFibGUgdGVtcF92YXIw MQorLS0gZnggd2l0aCBzZWN1cml0eSBkZWZpbmVyIHNob3VsZCBiZSBvaworU0VMRUNUIHRlc3R2 YXJfc2QoKTsKK0VSUk9SOiAgcGVybWlzc2lvbiBkZW5pZWQgZm9yIHNlc3Npb24gdmFyaWFibGUg dGVtcF92YXIwMQorQ09OVEVYVDogIFBML3BnU1FMIGV4cHJlc3Npb24gIlZBUklBQkxFKHRlbXBf dmFyMDEpIgorUEwvcGdTUUwgZnVuY3Rpb24gdGVzdHZhcl9zZCgpIGxpbmUgMyBhdCBSQUlTRQor U0VUIFJPTEUgVE8gZGVmYXVsdDsKK0RST1AgVkFSSUFCTEUgdGVtcF92YXIwMTsKKy0tIHRoZXJl IGlzIG5vdCBwbGFuIGNhY2hlIGludmFsaWRhdGlvbgorLS0gYnV0IHN0aWxsIGZ1bmN0aW9ucyB0 aGF0IHVzZXMgZHJvcHBlZCB2YXJpYWJsZXMKKy0tIHNob3VsZCBub3QgdG8gY3Jhc2gKK1NFTEVD VCB0ZXN0dmFyX3NkKCk7CitFUlJPUjogIHNlc3Npb24gdmFyaWFibGUgInRlbXBfdmFyMDEiIGRv ZXNuJ3QgZXhpc3QKK0NPTlRFWFQ6ICBQTC9wZ1NRTCBleHByZXNzaW9uICJWQVJJQUJMRSh0ZW1w X3ZhcjAxKSIKK1BML3BnU1FMIGZ1bmN0aW9uIHRlc3R2YXJfc2QoKSBsaW5lIDMgYXQgUkFJU0UK K1NFTEVDVCB0ZXN0dmFyX3NxbCgpOworRVJST1I6ICBzZXNzaW9uIHZhcmlhYmxlICJ0ZW1wX3Zh cjAxIiBkb2Vzbid0IGV4aXN0CitDT05URVhUOiAgU1FMIGZ1bmN0aW9uICJ0ZXN0dmFyX3NxbCIg ZHVyaW5nIGlubGluaW5nCitEUk9QIEZVTkNUSU9OIHRlc3R2YXJfc3FsKCk7CitEUk9QIEZVTkNU SU9OIHRlc3R2YXJfc2QoKTsKK0RST1AgUk9MRSByZWdyZXNzX3Nlc3Npb25fdmFyaWFibGVfdGVz dF9yb2xlXzAzOworQ1JFQVRFIFRBQkxFIHRlc3R2YXJfdGVzdHRhYihhIGludCk7CitDUkVBVEUg VEVNUCBWQVJJQUJMRSB0ZW1wX3ZhcjAyIEFTIGludDsKK0lOU0VSVCBJTlRPIHRlc3R2YXJfdGVz dHRhYiBTRUxFQ1QgKiBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDEwMDApOworQ1JFQVRFIElOREVY IHRlc3R2YXJfdGVzdHRhYl9hIE9OIHRlc3R2YXJfdGVzdHRhYihhKTsKK0FOQUxZWkUgdGVzdHZh cl90ZXN0dGFiOworLS0gZm9yY2UgaW5kZXgKK1NFVCBlbmFibGVfc2Vxc2NhbiBUTyBPRkY7Cist LSBpbmRleCBzY2FuIHNob3VsZCBiZSB1c2VkCitFWFBMQUlOIChDT1NUUyBPRkYpIFNFTEVDVCAq IEZST00gdGVzdHZhcl90ZXN0dGFiIFdIRVJFIGEgPSBWQVJJQUJMRSh0ZW1wX3ZhcjAyKTsKKyAg ICAgICAgICAgICAgICAgICAgICAgICBRVUVSWSBQTEFOICAgICAgICAgICAgICAgICAgICAgICAg IAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCisgSW5kZXggT25seSBTY2FuIHVzaW5nIHRlc3R2YXJfdGVzdHRhYl9hIG9uIHRlc3R2 YXJfdGVzdHRhYgorICAgSW5kZXggQ29uZDogKGEgPSBWQVJJQUJMRVModGVtcF92YXIwMikpCiso MiByb3dzKQorCitEUk9QIElOREVYIHRlc3R2YXJfdGVzdHRhYl9hOworU0VUIGVuYWJsZV9zZXFz Y2FuIFRPIERFRkFVTFQ7CistLSBwYXJhbGxlbCBleGVjdXRpb24gc2hvdWxkIGJlIGJsb2NrZWQK Ky0tIEVuY291cmFnZSB1c2Ugb2YgcGFyYWxsZWwgcGxhbnMKK1NFVCBwYXJhbGxlbF9zZXR1cF9j b3N0ID0gMDsKK1NFVCBwYXJhbGxlbF90dXBsZV9jb3N0ID0gMDsKK1NFVCBtaW5fcGFyYWxsZWxf dGFibGVfc2Nhbl9zaXplID0gMDsKK1NFVCBtYXhfcGFyYWxsZWxfd29ya2Vyc19wZXJfZ2F0aGVy ID0gMjsKKy0tIHBhcmFsbGVsIHBsYW4gc2hvdWxkIGJlIHVzZWQKK0VYUExBSU4gKENPU1RTIE9G RikgU0VMRUNUICogRlJPTSB0ZXN0dmFyX3Rlc3R0YWIgV0hFUkUgYSA9IDEwMDsKKyAgICAgICAg ICAgICAgICAgUVVFUlkgUExBTiAgICAgICAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEdhdGhlcgorICAgV29ya2VycyBQbGFubmVkOiAy CisgICAtPiAgUGFyYWxsZWwgU2VxIFNjYW4gb24gdGVzdHZhcl90ZXN0dGFiCisgICAgICAgICBG aWx0ZXI6IChhID0gMTAwKQorKDQgcm93cykKKworLS0gcGFyYWxsZWwgcGxhbiBzaG91bGQgbm90 IGJlIHVzZWQKK0VYUExBSU4gKENPU1RTIE9GRikgU0VMRUNUICogRlJPTSB0ZXN0dmFyX3Rlc3R0 YWIgV0hFUkUgYSA9IFZBUklBQkxFKHRlbXBfdmFyMDIpOworICAgICAgICAgICAgICBRVUVSWSBQ TEFOICAgICAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KKyBTZXEgU2NhbiBvbiB0ZXN0dmFyX3Rlc3R0YWIKKyAgIEZpbHRlcjogKGEgPSBWQVJJQUJM RVModGVtcF92YXIwMikpCisoMiByb3dzKQorCitSRVNFVCBwYXJhbGxlbF9zZXR1cF9jb3N0Owor UkVTRVQgcGFyYWxsZWxfdHVwbGVfY29zdDsKK1JFU0VUIG1pbl9wYXJhbGxlbF90YWJsZV9zY2Fu X3NpemU7CitSRVNFVCBtYXhfcGFyYWxsZWxfd29ya2Vyc19wZXJfZ2F0aGVyOworRFJPUCBUQUJM RSB0ZXN0dmFyX3Rlc3R0YWI7CitEUk9QIFZBUklBQkxFIHRlbXBfdmFyMDI7CmRpZmYgLS1naXQg YS9zcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlIGIvc3JjL3Rlc3QvcmVncmVzcy9w YXJhbGxlbF9zY2hlZHVsZQppbmRleCA5ZGE3YzZhYjkyOC4uNTUzNjdhMTNkNjkgMTAwNjQ0Ci0t LSBhL3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUKKysrIGIvc3JjL3Rlc3QvcmVn cmVzcy9wYXJhbGxlbF9zY2hlZHVsZQpAQCAtMTQwLDMgKzE0MCw4IEBAIHRlc3Q6IGZhc3RfZGVm YXVsdAogIyBydW4gdGFibGVzcGFjZSB0ZXN0IGF0IHRoZSBlbmQgYmVjYXVzZSBpdCBkcm9wcyB0 aGUgdGFibGVzcGFjZSBjcmVhdGVkIGR1cmluZwogIyBzZXR1cCB0aGF0IG90aGVyIHRlc3RzIG1h eSB1c2UuCiB0ZXN0OiB0YWJsZXNwYWNlCisKKyMgLS0tLS0tLS0tLQorIyBBbm90aGVyIGdyb3Vw IG9mIHBhcmFsbGVsIHRlc3RzIChzZXNzaW9uIHZhcmlhYmxlcyByZWxhdGVkKQorIyAtLS0tLS0t LS0tCit0ZXN0OiBzZXNzaW9uX3ZhcmlhYmxlc19kZGwgc2Vzc2lvbl92YXJpYWJsZXNfZG1sCmRp ZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zZXNzaW9uX3ZhcmlhYmxlc19kbWwuc3Fs IGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc2Vzc2lvbl92YXJpYWJsZXNfZG1sLnNxbApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uYmY1NmIxOTQ2N2IKLS0tIC9kZXYvbnVs bAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zZXNzaW9uX3ZhcmlhYmxlc19kbWwuc3FsCkBA IC0wLDAgKzEsMTIwIEBACitDUkVBVEUgVEVNUCBWQVJJQUJMRSB0ZW1wX3ZhcjAxIEFTIGludDsK KworLS0gc2hvdWxkIG5vdCBiZSBhY2Nlc3NpYmxlIHdpdGhvdXQgdmFyaWFibGUncyBmZW5jZQor LS0gc2hvdWxkIGZhaWwKK1NFTEVDVCB0ZW1wX3ZhcjAxOworCistLSBzaG91bGQgYmUgb2sKK1NF TEVDVCBWQVJJQUJMRSh0ZW1wX3ZhcjAxKTsKKworLS0gc2hvdWxkIG5vdCBjcmFzaAorRE8gJCQK K0JFR0lOCisgIFJBSVNFIE5PVElDRSAnJScsIFZBUklBQkxFKHRlbXBfdmFyMDEpOworRU5EOwor JCQ7CisKKy0tIHZhcmlhYmxlcyBjYW5ub3QgYmUgdXNlZCBieSBwZXJzaXN0ZW50IG9iamVjdHMK Ky0tIHRoYXQgY2hlY2tzIGRlcGVuZGVuY3kKKy0tIHNob3VsZCBmYWlsCitDUkVBVEUgVEVNUCBW SUVXIHRlbXB2IEFTIFNFTEVDVCBWQVJJQUJMRSh0ZW1wX3ZhcjAxKTsKKworQ1JFQVRFIE9SIFJF UExBQ0UgRlVOQ1RJT04gdGVzdHZhcl9zcWwoKQorUkVUVVJOUyBpbnQgQVMgJCQKK1NFTEVDVCBW QVJJQUJMRSh0ZW1wX3ZhcjAxKTsKKyQkIExBTkdVQUdFIHNxbDsKKworU0VMRUNUIHRlc3R2YXJf c3FsKCk7CisKKy0tIHNlc3Npb24gdmFyaWFibGUgY2Fubm90IGJlIHVzZWQgYXMgcGFyYW1ldGVy IG9mIENBTEwgb3IgRVhFQ1VURQorQ1JFQVRFIE9SIFJFUExBQ0UgUFJPQ0VEVVJFIHRlc3R2YXJf cHJvYyhpbnQpCitBUyAkJAorQkVHSU4KKyAgUkFJU0UgTk9USUNFICclJywgJDE7CitFTkQ7Cisk JCBMQU5HVUFHRSBwbHBnc3FsOworCistLSBzaG91bGQgbm90IGNyYXNoCitDQUxMIHRlc3R2YXJf cHJvYyhWQVJJQUJMRSh0ZW1wX3ZhcjAxKSk7CisKK1BSRVBBUkUgcHJlcHN0bXQoaW50KSBBUyBT RUxFQ1QgJDE7CisKKy0tIHNob3VsZCBub3QgY3Jhc2gKK0VYRUNVVEUgcHJlcHN0bXQoVkFSSUFC TEUodGVtcF92YXIwMSkpOworCitEUk9QIFBST0NFRFVSRSB0ZXN0dmFyX3Byb2M7CitERUFMTE9D QVRFIHByZXBzdG10OworCitDUkVBVEUgUk9MRSByZWdyZXNzX3Nlc3Npb25fdmFyaWFibGVfdGVz dF9yb2xlXzAzOworCitDUkVBVEUgT1IgUkVQTEFDRSBGVU5DVElPTiB0ZXN0dmFyX3NkKCkKK1JF VFVSTlMgdm9pZCBBUyAkJAorQkVHSU4KKyAgUkFJU0UgTk9USUNFICclJywgVkFSSUFCTEUodGVt cF92YXIwMSk7CitFTkQ7CiskJCBMQU5HVUFHRSBwbHBnc3FsOworCistLSBvbmx5IG93bmVyIGNh biByZWFkIGRhdGEKK1NFVCBST0xFIFRPIHJlZ3Jlc3Nfc2Vzc2lvbl92YXJpYWJsZV90ZXN0X3Jv bGVfMDM7CisKKy0tIHNob3VsZCBmYWlsCitTRUxFQ1QgVkFSSUFCTEUodGVtcF92YXIwMSk7CisK Ky0tIGZ4IHdpdGggc2VjdXJpdHkgZGVmaW5lciBzaG91bGQgYmUgb2sKK1NFTEVDVCB0ZXN0dmFy X3NkKCk7CisKK1NFVCBST0xFIFRPIGRlZmF1bHQ7CisKK0RST1AgVkFSSUFCTEUgdGVtcF92YXIw MTsKKworLS0gdGhlcmUgaXMgbm90IHBsYW4gY2FjaGUgaW52YWxpZGF0aW9uCistLSBidXQgc3Rp bGwgZnVuY3Rpb25zIHRoYXQgdXNlcyBkcm9wcGVkIHZhcmlhYmxlcworLS0gc2hvdWxkIG5vdCB0 byBjcmFzaAorCitTRUxFQ1QgdGVzdHZhcl9zZCgpOworU0VMRUNUIHRlc3R2YXJfc3FsKCk7CisK K0RST1AgRlVOQ1RJT04gdGVzdHZhcl9zcWwoKTsKK0RST1AgRlVOQ1RJT04gdGVzdHZhcl9zZCgp OworCitEUk9QIFJPTEUgcmVncmVzc19zZXNzaW9uX3ZhcmlhYmxlX3Rlc3Rfcm9sZV8wMzsKKwor Q1JFQVRFIFRBQkxFIHRlc3R2YXJfdGVzdHRhYihhIGludCk7CitDUkVBVEUgVEVNUCBWQVJJQUJM RSB0ZW1wX3ZhcjAyIEFTIGludDsKKworSU5TRVJUIElOVE8gdGVzdHZhcl90ZXN0dGFiIFNFTEVD VCAqIEZST00gZ2VuZXJhdGVfc2VyaWVzKDEsMTAwMCk7CisKK0NSRUFURSBJTkRFWCB0ZXN0dmFy X3Rlc3R0YWJfYSBPTiB0ZXN0dmFyX3Rlc3R0YWIoYSk7CisKK0FOQUxZWkUgdGVzdHZhcl90ZXN0 dGFiOworCistLSBmb3JjZSBpbmRleAorU0VUIGVuYWJsZV9zZXFzY2FuIFRPIE9GRjsKKworLS0g aW5kZXggc2NhbiBzaG91bGQgYmUgdXNlZAorRVhQTEFJTiAoQ09TVFMgT0ZGKSBTRUxFQ1QgKiBG Uk9NIHRlc3R2YXJfdGVzdHRhYiBXSEVSRSBhID0gVkFSSUFCTEUodGVtcF92YXIwMik7CisKK0RS T1AgSU5ERVggdGVzdHZhcl90ZXN0dGFiX2E7CisKK1NFVCBlbmFibGVfc2Vxc2NhbiBUTyBERUZB VUxUOworCistLSBwYXJhbGxlbCBleGVjdXRpb24gc2hvdWxkIGJlIGJsb2NrZWQKKy0tIEVuY291 cmFnZSB1c2Ugb2YgcGFyYWxsZWwgcGxhbnMKK1NFVCBwYXJhbGxlbF9zZXR1cF9jb3N0ID0gMDsK K1NFVCBwYXJhbGxlbF90dXBsZV9jb3N0ID0gMDsKK1NFVCBtaW5fcGFyYWxsZWxfdGFibGVfc2Nh bl9zaXplID0gMDsKK1NFVCBtYXhfcGFyYWxsZWxfd29ya2Vyc19wZXJfZ2F0aGVyID0gMjsKKwor LS0gcGFyYWxsZWwgcGxhbiBzaG91bGQgYmUgdXNlZAorRVhQTEFJTiAoQ09TVFMgT0ZGKSBTRUxF Q1QgKiBGUk9NIHRlc3R2YXJfdGVzdHRhYiBXSEVSRSBhID0gMTAwOworCistLSBwYXJhbGxlbCBw bGFuIHNob3VsZCBub3QgYmUgdXNlZAorRVhQTEFJTiAoQ09TVFMgT0ZGKSBTRUxFQ1QgKiBGUk9N IHRlc3R2YXJfdGVzdHRhYiBXSEVSRSBhID0gVkFSSUFCTEUodGVtcF92YXIwMik7CisKK1JFU0VU IHBhcmFsbGVsX3NldHVwX2Nvc3Q7CitSRVNFVCBwYXJhbGxlbF90dXBsZV9jb3N0OworUkVTRVQg bWluX3BhcmFsbGVsX3RhYmxlX3NjYW5fc2l6ZTsKK1JFU0VUIG1heF9wYXJhbGxlbF93b3JrZXJz X3Blcl9nYXRoZXI7CisKK0RST1AgVEFCTEUgdGVzdHZhcl90ZXN0dGFiOworRFJPUCBWQVJJQUJM RSB0ZW1wX3ZhcjAyOwpkaWZmIC0tZ2l0IGEvc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxp c3QgYi9zcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdAppbmRleCA3YmY0NzUwYzViNi4u MmY1NjJhMjE3YmYgMTAwNjQ0Ci0tLSBhL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0 CisrKyBiL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0CkBAIC0yNzMyLDYgKzI3MzIs NyBAQCBTZXJpYWxpemVkVHJhbnNhY3Rpb25TdGF0ZQogU2Vzc2lvbgogU2Vzc2lvbkJhY2t1cFN0 YXRlCiBTZXNzaW9uRW5kVHlwZQorU2Vzc2lvblZhcmlhYmxlVmFsdWUKIFNldENvbnN0cmFpbnRT dGF0ZQogU2V0Q29uc3RyYWludFN0YXRlRGF0YQogU2V0Q29uc3RyYWludFRyaWdnZXJEYXRhCi0t IAoyLjUyLjAKCg== --0000000000001a90410644c99b27 Content-Type: text/x-patch; charset="US-ASCII"; name="v20251130-0002-parsing-session-variable-fences.patch" Content-Disposition: attachment; filename="v20251130-0002-parsing-session-variable-fences.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_milbbk235 RnJvbSAyYmJmNmZmMWY1ZjY3NmMyN2E1YTk2M2NiMGUzYjE1NDFhZDFkNjgyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPHBhdmVsLnN0ZWh1bGVAZ21h aWwuY29tPgpEYXRlOiBGcmksIDIxIE5vdiAyMDI1IDE1OjI4OjU5ICswMTAwClN1YmplY3Q6IFtQ QVRDSCAyLzddIHBhcnNpbmcgc2Vzc2lvbiB2YXJpYWJsZSBmZW5jZXMKClRoZSBzZXNzaW9uIHZh cmlhYmxlcyBjYW4gYmUgdXNlZCBpbiBxdWVyeSBvbmx5IGluc2lkZSB0aGUgdmFyaWFibGUgZmVu Y2UuClRoaXMgaXMgc3BlY2lhbCBzeW50YXggVkFSSUFCTEUodmFybmFtZSksIHRoYXQgZWxpbWlu YXRlcyBhIHJpc2sgb2YKY29sbGlzaW9uIGJldHdlZW4gdmFyaWFibGUgYW5kIGNvbHVtbiBpZGVu dGlmaWVyLgoKVGhlIHNlc3Npb24gdmFyaWFibGVzIGNhbm5vdCBiZSB1c2VkIGFzIHBhcmFtZXRl cnMgb2YgQ0FMTCBvciBFWEVDVVRFCmNvbW1hbmRzLiBUaGVzZSBjb21tYW5kcyBldmFsdWF0ZXMg YXJndW1lbnRzIGJ5IGRpcmVjdCBjYWxsIG9mIGV4cHJlc3Npb24KZXhlY3V0b3IsIGFuZCBkaXJl Y3QgYWNjZXNzIHRvIHNlc3Npb24gdmFyaWFibGVzIGZyb20gZXhwcmVzc2lvbiBleGVjdXRvcgp3 aWxsIGJlIGltcGxlbWVudGVkIGxhdGVyIChpbiBuZXh0IHN0ZXApCi0tLQogZG9jL3NyYy9zZ21s L2RkbC5zZ21sICAgICAgICAgICAgICAgICAgIHwgIDExICsrKwogc3JjL2JhY2tlbmQvY29tbWFu ZHMvcHJlcGFyZS5jICAgICAgICAgIHwgICA4ICsrCiBzcmMvYmFja2VuZC9jb21tYW5kcy9zZXNz aW9uX3ZhcmlhYmxlLmMgfCAgMjEgKysrKysKIHNyYy9iYWNrZW5kL25vZGVzL25vZGVGdW5jcy5j ICAgICAgICAgICB8ICAgNiArKwogc3JjL2JhY2tlbmQvcGFyc2VyL2FuYWx5emUuYyAgICAgICAg ICAgIHwgICA3ICsrCiBzcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55ICAgICAgICAgICAgICAgfCAg MTcgKysrLQogc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX2V4cHIuYyAgICAgICAgIHwgMTE5ICsr KysrKysrKysrKysrKysrKysrKysrKwogc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX21lcmdlLmMg ICAgICAgIHwgICAxICsKIHNyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV90YXJnZXQuYyAgICAgICB8 ICAgNyArKwogc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3J1bGV1dGlscy5jICAgICAgIHwgICA4ICsr CiBzcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmggfCAgIDUgKwogc3JjL2lu Y2x1ZGUvbm9kZXMvcGFyc2Vub2Rlcy5oICAgICAgICAgIHwgIDEyICsrKwogc3JjL2luY2x1ZGUv bm9kZXMvcHJpbW5vZGVzLmggICAgICAgICAgIHwgICA1ICsKIHNyYy9pbmNsdWRlL3BhcnNlci9w YXJzZV9ub2RlLmggICAgICAgICB8ICAgMSArCiBzcmMvcGwvcGxwZ3NxbC9zcmMvcGxfZXhlYy5j ICAgICAgICAgICAgfCAgIDMgKy0KIHNyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0ICAg ICAgICB8ICAgMSArCiAxNiBmaWxlcyBjaGFuZ2VkLCAyMjkgaW5zZXJ0aW9ucygrKSwgMyBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvZGRsLnNnbWwgYi9kb2Mvc3JjL3Nn bWwvZGRsLnNnbWwKaW5kZXggMTBmMWEwMGMyNzUuLjE1MGIwNGYxZDRiIDEwMDY0NAotLS0gYS9k b2Mvc3JjL3NnbWwvZGRsLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL2RkbC5zZ21sCkBAIC01Njc2 LDYgKzU2NzYsMTcgQEAgRVhQTEFJTiBTRUxFQ1QgY291bnQoKikgRlJPTSBtZWFzdXJlbWVudCBX SEVSRSBsb2dkYXRlICZndDs9IERBVEUgJzIwMDgtMDEtMDEnOwogICAgIFRoZSBzZXNzaW9uIHZh cmlhYmxlIGhvbGRzIHZhbHVlIGluIHNlc3Npb24gbWVtb3J5LiAgVGhpcyB2YWx1ZSBpcyBwcml2 YXRlCiAgICAgdG8gZWFjaCBzZXNzaW9uIGFuZCBpcyByZWxlYXNlZCB3aGVuIHRoZSBzZXNzaW9u IGVuZHMuCiAgICA8L3BhcmE+CisKKyAgIDxwYXJhPgorICAgIEluIGFuIHF1ZXJ5IHRoZSBzZXNz aW9uIHZhcmlhYmxlIGNhbiBiZSB1c2VkIG9ubHkgaW5zaWRlCisgICAgPGZpcnN0dGVybT52YXJp YWJsZSBmZW5jZTwvZmlyc3R0ZXJtPi4gVGhpcyBpcyBzcGVjaWFsIHN5bnRheCBmb3IKKyAgICBz ZXNzaW9uIHZhcmlhYmxlIGlkZW50aWZpZXIsIGFuZCBjYW4gYmUgdXNlZCBvbmx5IGZvciBzZXNz aW9uIHZhcmlhYmxlCisgICAgaWRlbnRpZmllci4gVGhlIHNwZWNpYWwgc3ludGF4IGZvciBhY2Nl c3Npbmcgc2Vzc2lvbiB2YXJpYWJsZXMgcmVtb3ZlcworICAgIHJpc2sgb2YgY29sbGlzaW9ucyBi ZXR3ZWVuIHZhcmlhYmxlIGlkZW50aWZpZXJzIGFuZCBjb2x1bW4gbmFtZXMuCis8cHJvZ3JhbWxp c3Rpbmc+CitTRUxFQ1QgVkFSSUFCTEUoY3VycmVudF91c2VyX2lkKTsKKzwvcHJvZ3JhbWxpc3Rp bmc+CisgICA8L3BhcmE+CiAgIDwvc2VjdDE+CiAKICA8c2VjdDEgaWQ9ImRkbC1vdGhlcnMiPgpk aWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvcHJlcGFyZS5jIGIvc3JjL2JhY2tlbmQv Y29tbWFuZHMvcHJlcGFyZS5jCmluZGV4IDM0YjY0MTBkNmEyLi5mY2FkY2Q5YmMzZiAxMDA2NDQK LS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvcHJlcGFyZS5jCisrKyBiL3NyYy9iYWNrZW5kL2Nv bW1hbmRzL3ByZXBhcmUuYwpAQCAtMzQxLDYgKzM0MSwxNCBAQCBFdmFsdWF0ZVBhcmFtcyhQYXJz ZVN0YXRlICpwc3RhdGUsIFByZXBhcmVkU3RhdGVtZW50ICpwc3RtdCwgTGlzdCAqcGFyYW1zLAog CQlpKys7CiAJfQogCisJLyoKKwkgKiBUaGUgYXJndW1lbnRzIG9mIEVYRUNVVEUgYXJlIGV2YWx1 YXRlZCBieSBhIGRpcmVjdCBleHByZXNzaW9uIGV4ZWN1dG9yCisJICogY2FsbC4gIFRoaXMgbW9k ZSBkb2Vzbid0IHN1cHBvcnQgc2Vzc2lvbiB2YXJpYWJsZXMgeWV0LiBJdCB3aWxsIGJlCisJICog ZW5hYmxlZCBsYXRlci4gVGhpcyBjYXNlIHNob3VsZCBiZSBibG9ja2VkIHBhcnNlciBieQorCSAq IGV4cHJfa2luZF9hbGxvd3Nfc2Vzc2lvbl92YXJpYWJsZXMsIHNvIG9ubHkgYXNzZXJ0aW9ucyBp cyB1c2VkIGhlcmUuCisJICovCisJQXNzZXJ0KCFwc3RhdGUtPnBfaGFzU2Vzc2lvblZhcmlhYmxl cyk7CisKIAkvKiBQcmVwYXJlIHRoZSBleHByZXNzaW9ucyBmb3IgZXhlY3V0aW9uICovCiAJZXhw cnN0YXRlcyA9IEV4ZWNQcmVwYXJlRXhwckxpc3QocGFyYW1zLCBlc3RhdGUpOwogCmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMgYi9zcmMvYmFja2Vu ZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMKaW5kZXggZDc4ZTgyYjg3YzAuLjg2MWMyYTU1 ZjRlIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMK KysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5jCkBAIC0xMTEsNiAr MTExLDI3IEBAIHNlYXJjaF92YXJpYWJsZShjaGFyICp2YXJuYW1lKQogCXJldHVybiBzdmFyOwog fQogCisvKgorICogUmV0dXJucyB0aGUgdHlwZSwgdHlwbW9kIGFuZCBjb2xsaWQgb2YgdGhlIGdp dmVuIHNlc3Npb24gdmFyaWFibGUuCisgKgorICogUmFpc2VzIGFuIGVycm9yIHdoZW4gdGhlIHZh cmlhYmxlIGRvZXNuJ3QgZXhpc3RzIGFuZCAqZXJyb3IgaXMgbnVsbC4KKyAqLwordm9pZAorZ2V0 X3Nlc3Npb25fdmFyaWFibGVfdHlwZV90eXBtb2RfY29sbGlkKGNoYXIgKnZhcm5hbWUsCisJCQkJ CQkJCQkJT2lkICp0eXBpZCwKKwkJCQkJCQkJCQlpbnQzMiAqdHlwbW9kLAorCQkJCQkJCQkJCU9p ZCAqY29sbGlkKQoreworCVNWYXJpYWJsZQlzdmFyOworCisJc3ZhciA9IHNlYXJjaF92YXJpYWJs ZSh2YXJuYW1lKTsKKworCS8qIG9ubHkgb3duZXIgY2FuIHNldCBjb250ZW50IG9mIHZhcmlhYmxl ICovCisJKnR5cGlkID0gc3Zhci0+dmFydHlwZTsKKwkqdHlwbW9kID0gc3Zhci0+dmFydHlwbW9k OworCSpjb2xsaWQgPSBzdmFyLT52YXJjb2xsYXRpb247Cit9CisKIC8qCiAgKiBDcmVhdGVzIGEg bmV3IHZhcmlhYmxlIC0gZG9lcyBuZXcgZW50cnkgaW4gc2Vzc2lvbnZhcnMKICAqCmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC9ub2Rlcy9ub2RlRnVuY3MuYyBiL3NyYy9iYWNrZW5kL25vZGVzL25v ZGVGdW5jcy5jCmluZGV4IGQyMjgzMThkYzcyLi5jMWViODFmNzllNSAxMDA2NDQKLS0tIGEvc3Jj L2JhY2tlbmQvbm9kZXMvbm9kZUZ1bmNzLmMKKysrIGIvc3JjL2JhY2tlbmQvbm9kZXMvbm9kZUZ1 bmNzLmMKQEAgLTE2NjksNiArMTY2OSw5IEBAIGV4cHJMb2NhdGlvbihjb25zdCBOb2RlICpleHBy KQogCQljYXNlIFRfUGFyYW1SZWY6CiAJCQlsb2MgPSAoKGNvbnN0IFBhcmFtUmVmICopIGV4cHIp LT5sb2NhdGlvbjsKIAkJCWJyZWFrOworCQljYXNlIFRfVmFyaWFibGVGZW5jZToKKwkJCWxvYyA9 ICgoY29uc3QgVmFyaWFibGVGZW5jZSAqKSBleHByKS0+bG9jYXRpb247CisJCQlicmVhazsKIAkJ Y2FzZSBUX0FfQ29uc3Q6CiAJCQlsb2MgPSAoKGNvbnN0IEFfQ29uc3QgKikgZXhwciktPmxvY2F0 aW9uOwogCQkJYnJlYWs7CkBAIC00NzAxLDYgKzQ3MDQsOSBAQCByYXdfZXhwcmVzc2lvbl90cmVl X3dhbGtlcl9pbXBsKE5vZGUgKm5vZGUsCiAJCQkJCXJldHVybiB0cnVlOwogCQkJfQogCQkJYnJl YWs7CisJCWNhc2UgVF9WYXJpYWJsZUZlbmNlOgorCQkJLyogd2UgYXNzdW1lIHRoZSBmaWVsZHMg Y29udGFpbiBub3RoaW5nIGludGVyZXN0aW5nICovCisJCQlicmVhazsKIAkJZGVmYXVsdDoKIAkJ CWVsb2coRVJST1IsICJ1bnJlY29nbml6ZWQgbm9kZSB0eXBlOiAlZCIsCiAJCQkJIChpbnQpIG5v ZGVUYWcobm9kZSkpOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcGFyc2VyL2FuYWx5emUuYyBi L3NyYy9iYWNrZW5kL3BhcnNlci9hbmFseXplLmMKaW5kZXggNzg0M2EwYzg1N2UuLjViMGI1OTUx ZWY0IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wYXJzZXIvYW5hbHl6ZS5jCisrKyBiL3NyYy9i YWNrZW5kL3BhcnNlci9hbmFseXplLmMKQEAgLTYxOSw2ICs2MTksNyBAQCB0cmFuc2Zvcm1EZWxl dGVTdG10KFBhcnNlU3RhdGUgKnBzdGF0ZSwgRGVsZXRlU3RtdCAqc3RtdCkKIAlxcnktPmhhc1dp bmRvd0Z1bmNzID0gcHN0YXRlLT5wX2hhc1dpbmRvd0Z1bmNzOwogCXFyeS0+aGFzVGFyZ2V0U1JG cyA9IHBzdGF0ZS0+cF9oYXNUYXJnZXRTUkZzOwogCXFyeS0+aGFzQWdncyA9IHBzdGF0ZS0+cF9o YXNBZ2dzOworCXFyeS0+aGFzU2Vzc2lvblZhcmlhYmxlcyA9IHBzdGF0ZS0+cF9oYXNTZXNzaW9u VmFyaWFibGVzOwogCiAJYXNzaWduX3F1ZXJ5X2NvbGxhdGlvbnMocHN0YXRlLCBxcnkpOwogCkBA IC0xMDQ0LDYgKzEwNDUsNyBAQCB0cmFuc2Zvcm1JbnNlcnRTdG10KFBhcnNlU3RhdGUgKnBzdGF0 ZSwgSW5zZXJ0U3RtdCAqc3RtdCkKIAogCXFyeS0+aGFzVGFyZ2V0U1JGcyA9IHBzdGF0ZS0+cF9o YXNUYXJnZXRTUkZzOwogCXFyeS0+aGFzU3ViTGlua3MgPSBwc3RhdGUtPnBfaGFzU3ViTGlua3M7 CisJcXJ5LT5oYXNTZXNzaW9uVmFyaWFibGVzID0gcHN0YXRlLT5wX2hhc1Nlc3Npb25WYXJpYWJs ZXM7CiAKIAlhc3NpZ25fcXVlcnlfY29sbGF0aW9ucyhwc3RhdGUsIHFyeSk7CiAKQEAgLTE1Mjcs NiArMTUyOSw3IEBAIHRyYW5zZm9ybVNlbGVjdFN0bXQoUGFyc2VTdGF0ZSAqcHN0YXRlLCBTZWxl Y3RTdG10ICpzdG10LAogCXFyeS0+aGFzV2luZG93RnVuY3MgPSBwc3RhdGUtPnBfaGFzV2luZG93 RnVuY3M7CiAJcXJ5LT5oYXNUYXJnZXRTUkZzID0gcHN0YXRlLT5wX2hhc1RhcmdldFNSRnM7CiAJ cXJ5LT5oYXNBZ2dzID0gcHN0YXRlLT5wX2hhc0FnZ3M7CisJcXJ5LT5oYXNTZXNzaW9uVmFyaWFi bGVzID0gcHN0YXRlLT5wX2hhc1Nlc3Npb25WYXJpYWJsZXM7CiAKIAlmb3JlYWNoKGwsIHN0bXQt PmxvY2tpbmdDbGF1c2UpCiAJewpAQCAtMTc1Myw2ICsxNzU2LDcgQEAgdHJhbnNmb3JtVmFsdWVz Q2xhdXNlKFBhcnNlU3RhdGUgKnBzdGF0ZSwgU2VsZWN0U3RtdCAqc3RtdCkKIAlxcnktPmpvaW50 cmVlID0gbWFrZUZyb21FeHByKHBzdGF0ZS0+cF9qb2lubGlzdCwgTlVMTCk7CiAKIAlxcnktPmhh c1N1YkxpbmtzID0gcHN0YXRlLT5wX2hhc1N1YkxpbmtzOworCXFyeS0+aGFzU2Vzc2lvblZhcmlh YmxlcyA9IHBzdGF0ZS0+cF9oYXNTZXNzaW9uVmFyaWFibGVzOwogCiAJYXNzaWduX3F1ZXJ5X2Nv bGxhdGlvbnMocHN0YXRlLCBxcnkpOwogCkBAIC0yMDA0LDYgKzIwMDgsNyBAQCB0cmFuc2Zvcm1T ZXRPcGVyYXRpb25TdG10KFBhcnNlU3RhdGUgKnBzdGF0ZSwgU2VsZWN0U3RtdCAqc3RtdCkKIAlx cnktPmhhc1dpbmRvd0Z1bmNzID0gcHN0YXRlLT5wX2hhc1dpbmRvd0Z1bmNzOwogCXFyeS0+aGFz VGFyZ2V0U1JGcyA9IHBzdGF0ZS0+cF9oYXNUYXJnZXRTUkZzOwogCXFyeS0+aGFzQWdncyA9IHBz dGF0ZS0+cF9oYXNBZ2dzOworCXFyeS0+aGFzU2Vzc2lvblZhcmlhYmxlcyA9IHBzdGF0ZS0+cF9o YXNTZXNzaW9uVmFyaWFibGVzOwogCiAJZm9yZWFjaChsLCBsb2NraW5nQ2xhdXNlKQogCXsKQEAg LTI0NzYsNiArMjQ4MSw3IEBAIHRyYW5zZm9ybVJldHVyblN0bXQoUGFyc2VTdGF0ZSAqcHN0YXRl LCBSZXR1cm5TdG10ICpzdG10KQogCXFyeS0+aGFzV2luZG93RnVuY3MgPSBwc3RhdGUtPnBfaGFz V2luZG93RnVuY3M7CiAJcXJ5LT5oYXNUYXJnZXRTUkZzID0gcHN0YXRlLT5wX2hhc1RhcmdldFNS RnM7CiAJcXJ5LT5oYXNBZ2dzID0gcHN0YXRlLT5wX2hhc0FnZ3M7CisJcXJ5LT5oYXNTZXNzaW9u VmFyaWFibGVzID0gcHN0YXRlLT5wX2hhc1Nlc3Npb25WYXJpYWJsZXM7CiAKIAlhc3NpZ25fcXVl cnlfY29sbGF0aW9ucyhwc3RhdGUsIHFyeSk7CiAKQEAgLTI1NDMsNiArMjU0OSw3IEBAIHRyYW5z Zm9ybVVwZGF0ZVN0bXQoUGFyc2VTdGF0ZSAqcHN0YXRlLCBVcGRhdGVTdG10ICpzdG10KQogCiAJ cXJ5LT5oYXNUYXJnZXRTUkZzID0gcHN0YXRlLT5wX2hhc1RhcmdldFNSRnM7CiAJcXJ5LT5oYXNT dWJMaW5rcyA9IHBzdGF0ZS0+cF9oYXNTdWJMaW5rczsKKwlxcnktPmhhc1Nlc3Npb25WYXJpYWJs ZXMgPSBwc3RhdGUtPnBfaGFzU2Vzc2lvblZhcmlhYmxlczsKIAogCWFzc2lnbl9xdWVyeV9jb2xs YXRpb25zKHBzdGF0ZSwgcXJ5KTsKIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcGFyc2VyL2dy YW0ueSBiL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkKaW5kZXggMGE1ZWZkNzMzZGMuLjgzNzMz MGE4MDdmIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55CisrKyBiL3NyYy9i YWNrZW5kL3BhcnNlci9ncmFtLnkKQEAgLTUzMSw3ICs1MzEsNyBAQCBzdGF0aWMgTm9kZSAqbWFr ZVJlY3Vyc2l2ZVZpZXdTZWxlY3QoY2hhciAqcmVsbmFtZSwgTGlzdCAqYWxpYXNlcywgTm9kZSAq cXVlcnkpOwogJXR5cGUgPG5vZGU+CWRlZl9hcmcgY29sdW1uRWxlbSB3aGVyZV9jbGF1c2Ugd2hl cmVfb3JfY3VycmVudF9jbGF1c2UKIAkJCQlhX2V4cHIgYl9leHByIGNfZXhwciBBZXhwckNvbnN0 IGluZGlyZWN0aW9uX2VsIG9wdF9zbGljZV9ib3VuZAogCQkJCWNvbHVtbnJlZiBoYXZpbmdfY2xh dXNlIGZ1bmNfdGFibGUgeG1sdGFibGUgYXJyYXlfZXhwcgotCQkJCU9wdFdoZXJlQ2xhdXNlIG9w ZXJhdG9yX2RlZl9hcmcKKwkJCQlPcHRXaGVyZUNsYXVzZSBvcGVyYXRvcl9kZWZfYXJnIHZhcmlh YmxlX2ZlbmNlCiAldHlwZSA8bGlzdD4Jb3B0X2NvbHVtbl9hbmRfcGVyaW9kX2xpc3QKICV0eXBl IDxsaXN0Pglyb3dzZnJvbV9pdGVtIHJvd3Nmcm9tX2xpc3Qgb3B0X2NvbF9kZWZfbGlzdAogJXR5 cGUgPGJvb2xlYW4+IG9wdF9vcmRpbmFsaXR5IG9wdF93aXRob3V0X292ZXJsYXBzCkBAIC04ODcs NyArODg3LDcgQEAgc3RhdGljIE5vZGUgKm1ha2VSZWN1cnNpdmVWaWV3U2VsZWN0KGNoYXIgKnJl bG5hbWUsIExpc3QgKmFsaWFzZXMsIE5vZGUgKnF1ZXJ5KTsKICAqLwogJW5vbmFzc29jCVVOQk9V TkRFRCBORVNURUQgLyogaWRlYWxseSB3b3VsZCBoYXZlIHNhbWUgcHJlY2VkZW5jZSBhcyBJREVO VCAqLwogJW5vbmFzc29jCUlERU5UIFBBUlRJVElPTiBSQU5HRSBST1dTIEdST1VQUyBQUkVDRURJ TkcgRk9MTE9XSU5HIENVQkUgUk9MTFVQCi0JCQlTRVQgS0VZUyBPQkpFQ1RfUCBTQ0FMQVIgVkFM VUVfUCBXSVRIIFdJVEhPVVQgUEFUSAorCQkJU0VUIEtFWVMgT0JKRUNUX1AgU0NBTEFSIFZBTFVF X1AgV0lUSCBXSVRIT1VUIFBBVEggVkFSSUFCTEUKICVsZWZ0CQlPcCBPUEVSQVRPUgkJLyogbXVs dGktY2hhcmFjdGVyIG9wcyBhbmQgdXNlci1kZWZpbmVkIG9wZXJhdG9ycyAqLwogJWxlZnQJCScr JyAnLScKICVsZWZ0CQknKicgJy8nICclJwpAQCAtMTU3MTksNiArMTU3MTksOCBAQCBjX2V4cHI6 CQljb2x1bW5yZWYJCQkJCQkJCXsgJCQgPSAkMTsgfQogCQkJCQllbHNlCiAJCQkJCQkkJCA9ICQy OwogCQkJCX0KKwkJCXwgdmFyaWFibGVfZmVuY2UKKwkJCQl7ICQkID0gJDE7IH0KIAkJCXwgY2Fz ZV9leHByCiAJCQkJeyAkJCA9ICQxOyB9CiAJCQl8IGZ1bmNfZXhwcgpAQCAtMTcxMjEsNiArMTcx MjMsMTcgQEAgY2FzZV9hcmc6CWFfZXhwcgkJCQkJCQkJCXsgJCQgPSAkMTsgfQogCQkJfCAvKkVN UFRZKi8JCQkJCQkJCXsgJCQgPSBOVUxMOyB9CiAJCTsKIAordmFyaWFibGVfZmVuY2U6CisJCQlW QVJJQUJMRSAnKCcgQ29sSWQgJyknCisJCQkJeworCQkJCQlWYXJpYWJsZUZlbmNlICp2ZiA9IG1h a2VOb2RlKFZhcmlhYmxlRmVuY2UpOworCisJCQkJCXZmLT52YXJuYW1lID0gJDM7CisJCQkJCXZm LT5sb2NhdGlvbiA9IEAzOworCQkJCQkkJCA9IChOb2RlICopIHZmOworCQkJCX0KKwkJOworCiBj b2x1bW5yZWY6CUNvbElkCiAJCQkJewogCQkJCQkkJCA9IG1ha2VDb2x1bW5SZWYoJDEsIE5JTCwg QDEsIHl5c2Nhbm5lcik7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfZXhw ci5jIGIvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX2V4cHIuYwppbmRleCA0NGZkMTM4NWY4Yy4u Zjk0ZDZjZjA2OTQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9leHByLmMK KysrIGIvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX2V4cHIuYwpAQCAtMTgsNiArMTgsNyBAQAog I2luY2x1ZGUgImFjY2Vzcy9odHVwX2RldGFpbHMuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX2Fn Z3JlZ2F0ZS5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfdHlwZS5oIgorI2luY2x1ZGUgImNvbW1h bmRzL3Nlc3Npb25fdmFyaWFibGUuaCIKICNpbmNsdWRlICJtaXNjYWRtaW4uaCIKICNpbmNsdWRl ICJub2Rlcy9tYWtlZnVuY3MuaCIKICNpbmNsdWRlICJub2Rlcy9ub2RlRnVuY3MuaCIKQEAgLTc3 LDYgKzc4LDcgQEAgc3RhdGljIE5vZGUgKnRyYW5zZm9ybVdob2xlUm93UmVmKFBhcnNlU3RhdGUg KnBzdGF0ZSwKIHN0YXRpYyBOb2RlICp0cmFuc2Zvcm1JbmRpcmVjdGlvbihQYXJzZVN0YXRlICpw c3RhdGUsIEFfSW5kaXJlY3Rpb24gKmluZCk7CiBzdGF0aWMgTm9kZSAqdHJhbnNmb3JtVHlwZUNh c3QoUGFyc2VTdGF0ZSAqcHN0YXRlLCBUeXBlQ2FzdCAqdGMpOwogc3RhdGljIE5vZGUgKnRyYW5z Zm9ybUNvbGxhdGVDbGF1c2UoUGFyc2VTdGF0ZSAqcHN0YXRlLCBDb2xsYXRlQ2xhdXNlICpjKTsK K3N0YXRpYyBOb2RlICp0cmFuc2Zvcm1WYXJpYWJsZUZlbmNlKFBhcnNlU3RhdGUgKnBzdGF0ZSwg VmFyaWFibGVGZW5jZSAqdmYpOwogc3RhdGljIE5vZGUgKnRyYW5zZm9ybUpzb25PYmplY3RDb25z dHJ1Y3RvcihQYXJzZVN0YXRlICpwc3RhdGUsCiAJCQkJCQkJCQkJCUpzb25PYmplY3RDb25zdHJ1 Y3RvciAqY3Rvcik7CiBzdGF0aWMgTm9kZSAqdHJhbnNmb3JtSnNvbkFycmF5Q29uc3RydWN0b3Io UGFyc2VTdGF0ZSAqcHN0YXRlLApAQCAtMzcxLDYgKzM3MywxMCBAQCB0cmFuc2Zvcm1FeHByUmVj dXJzZShQYXJzZVN0YXRlICpwc3RhdGUsIE5vZGUgKmV4cHIpCiAJCQlyZXN1bHQgPSB0cmFuc2Zv cm1Kc29uRnVuY0V4cHIocHN0YXRlLCAoSnNvbkZ1bmNFeHByICopIGV4cHIpOwogCQkJYnJlYWs7 CiAKKwkJY2FzZSBUX1ZhcmlhYmxlRmVuY2U6CisJCQlyZXN1bHQgPSB0cmFuc2Zvcm1WYXJpYWJs ZUZlbmNlKHBzdGF0ZSwgKFZhcmlhYmxlRmVuY2UgKikgZXhwcik7CisJCQlicmVhazsKKwogCQlk ZWZhdWx0OgogCQkJLyogc2hvdWxkIG5vdCByZWFjaCBoZXJlICovCiAJCQllbG9nKEVSUk9SLCAi dW5yZWNvZ25pemVkIG5vZGUgdHlwZTogJWQiLCAoaW50KSBub2RlVGFnKGV4cHIpKTsKQEAgLTkw NCw2ICs5MTAsMTE5IEBAIHRyYW5zZm9ybVBhcmFtUmVmKFBhcnNlU3RhdGUgKnBzdGF0ZSwgUGFy YW1SZWYgKnByZWYpCiAJcmV0dXJuIHJlc3VsdDsKIH0KIAorLyoKKyAqIFJldHVybnMgdHJ1ZSBp ZiB0aGUgZ2l2ZW4gZXhwcmVzc2lvbiBraW5kIGlzIHZhbGlkIGZvciBzZXNzaW9uIHZhcmlhYmxl cy4KKyAqIFNlc3Npb24gdmFyaWFibGVzIGNhbiBiZSB1c2VkIGV2ZXJ5d2hlcmUgd2hlcmUgZXh0 ZXJuYWwgcGFyYW1ldGVycyBjYW4gYmUKKyAqIHVzZWQuICBTZXNzaW9uIHZhcmlhYmxlcyBhcmUg bm90IGFsbG93ZWQgaW4gRERMIGNvbW1hbmRzIG9yIGluIGNvbnN0cmFpbnRzLgorICoKKyAqIEFu IGlkZW50aWZpZXIgY2FuIGJlIHBhcnNlZCBhcyBhIHNlc3Npb24gdmFyaWFibGUgb25seSBmb3Ig ZXhwcmVzc2lvbiBraW5kcworICogd2hlcmUgc2Vzc2lvbiB2YXJpYWJsZXMgYXJlIGFsbG93ZWQu ICBUaGlzIGlzIHRoZSBwcmltYXJ5IHVzYWdlIG9mIHRoaXMKKyAqIGZ1bmN0aW9uLgorICoKKyAq IFRoZSBzZWNvbmQgdXNhZ2Ugb2YgdGhpcyBmdW5jdGlvbiBpcyB0byBkZWNpZGUgd2hldGhlciBh ICJjb2x1bW4gZG9lcyBub3QKKyAqIGV4aXN0IiBvciBhICJjb2x1bW4gb3IgdmFyaWFibGUgZG9l cyBub3QgZXhpc3QiIGVycm9yIG1lc3NhZ2Ugc2hvdWxkIGJlCisgKiBwcmludGVkLiAgV2hlbiB3 ZSBhcmUgaW4gYW4gZXhwcmVzc2lvbiB3aGVyZSBzZXNzaW9uIHZhcmlhYmxlcyBjYW5ub3QgYmUK KyAqIHVzZWQsIHdlIHJhaXNlIHRoZSBmaXJzdCBmb3JtIG9mIGVycm9yIG1lc3NhZ2UuCisgKi8K K3N0YXRpYyBib29sCitleHByX2tpbmRfYWxsb3dzX3Nlc3Npb25fdmFyaWFibGVzKFBhcnNlRXhw cktpbmQgcF9leHByX2tpbmQpCit7CisJYm9vbAkJcmVzdWx0ID0gZmFsc2U7CisKKwlzd2l0Y2gg KHBfZXhwcl9raW5kKQorCXsKKwkJY2FzZSBFWFBSX0tJTkRfTk9ORToKKwkJCUFzc2VydChmYWxz ZSk7CQkvKiBjYW4ndCBoYXBwZW4gKi8KKwkJCXJldHVybiBmYWxzZTsKKworCQkJLyogc2Vzc2lv biB2YXJpYWJsZXMgYWxsb3dlZCAqLworCQljYXNlIEVYUFJfS0lORF9PVEhFUjoKKwkJY2FzZSBF WFBSX0tJTkRfSk9JTl9PTjoKKwkJY2FzZSBFWFBSX0tJTkRfRlJPTV9TVUJTRUxFQ1Q6CisJCWNh c2UgRVhQUl9LSU5EX0ZST01fRlVOQ1RJT046CisJCWNhc2UgRVhQUl9LSU5EX1dIRVJFOgorCQlj YXNlIEVYUFJfS0lORF9IQVZJTkc6CisJCWNhc2UgRVhQUl9LSU5EX0ZJTFRFUjoKKwkJY2FzZSBF WFBSX0tJTkRfV0lORE9XX1BBUlRJVElPTjoKKwkJY2FzZSBFWFBSX0tJTkRfV0lORE9XX09SREVS OgorCQljYXNlIEVYUFJfS0lORF9XSU5ET1dfRlJBTUVfUkFOR0U6CisJCWNhc2UgRVhQUl9LSU5E X1dJTkRPV19GUkFNRV9ST1dTOgorCQljYXNlIEVYUFJfS0lORF9XSU5ET1dfRlJBTUVfR1JPVVBT OgorCQljYXNlIEVYUFJfS0lORF9TRUxFQ1RfVEFSR0VUOgorCQljYXNlIEVYUFJfS0lORF9VUERB VEVfVEFSR0VUOgorCQljYXNlIEVYUFJfS0lORF9VUERBVEVfU09VUkNFOgorCQljYXNlIEVYUFJf S0lORF9NRVJHRV9XSEVOOgorCQljYXNlIEVYUFJfS0lORF9NRVJHRV9SRVRVUk5JTkc6CisJCWNh c2UgRVhQUl9LSU5EX0dST1VQX0JZOgorCQljYXNlIEVYUFJfS0lORF9PUkRFUl9CWToKKwkJY2Fz ZSBFWFBSX0tJTkRfRElTVElOQ1RfT046CisJCWNhc2UgRVhQUl9LSU5EX0xJTUlUOgorCQljYXNl IEVYUFJfS0lORF9PRkZTRVQ6CisJCWNhc2UgRVhQUl9LSU5EX1JFVFVSTklORzoKKwkJY2FzZSBF WFBSX0tJTkRfVkFMVUVTOgorCQljYXNlIEVYUFJfS0lORF9WQUxVRVNfU0lOR0xFOgorCQkJcmVz dWx0ID0gdHJ1ZTsKKwkJCWJyZWFrOworCisJCQkvKiBzZXNzaW9uIHZhcmlhYmxlcyBub3QgYWxs b3dlZCAqLworCQljYXNlIEVYUFJfS0lORF9JTlNFUlRfVEFSR0VUOgorCQljYXNlIEVYUFJfS0lO RF9FWEVDVVRFX1BBUkFNRVRFUjoKKwkJY2FzZSBFWFBSX0tJTkRfQ0FMTF9BUkdVTUVOVDoKKwkJ Y2FzZSBFWFBSX0tJTkRfQ0hFQ0tfQ09OU1RSQUlOVDoKKwkJY2FzZSBFWFBSX0tJTkRfRE9NQUlO X0NIRUNLOgorCQljYXNlIEVYUFJfS0lORF9DT0xVTU5fREVGQVVMVDoKKwkJY2FzZSBFWFBSX0tJ TkRfRlVOQ1RJT05fREVGQVVMVDoKKwkJY2FzZSBFWFBSX0tJTkRfSU5ERVhfRVhQUkVTU0lPTjoK KwkJY2FzZSBFWFBSX0tJTkRfSU5ERVhfUFJFRElDQVRFOgorCQljYXNlIEVYUFJfS0lORF9TVEFU U19FWFBSRVNTSU9OOgorCQljYXNlIEVYUFJfS0lORF9UUklHR0VSX1dIRU46CisJCWNhc2UgRVhQ Ul9LSU5EX1BBUlRJVElPTl9CT1VORDoKKwkJY2FzZSBFWFBSX0tJTkRfUEFSVElUSU9OX0VYUFJF U1NJT046CisJCWNhc2UgRVhQUl9LSU5EX0dFTkVSQVRFRF9DT0xVTU46CisJCWNhc2UgRVhQUl9L SU5EX0pPSU5fVVNJTkc6CisJCWNhc2UgRVhQUl9LSU5EX0NZQ0xFX01BUks6CisJCWNhc2UgRVhQ Ul9LSU5EX0FMVEVSX0NPTF9UUkFOU0ZPUk06CisJCWNhc2UgRVhQUl9LSU5EX1BPTElDWToKKwkJ Y2FzZSBFWFBSX0tJTkRfQ09QWV9XSEVSRToKKwkJCXJlc3VsdCA9IGZhbHNlOworCQkJYnJlYWs7 CisJfQorCisJcmV0dXJuIHJlc3VsdDsKK30KKworc3RhdGljIE5vZGUgKgordHJhbnNmb3JtVmFy aWFibGVGZW5jZShQYXJzZVN0YXRlICpwc3RhdGUsIFZhcmlhYmxlRmVuY2UgKnZmKQoreworCVBh cmFtCSAgICpwYXJhbTsKKwlPaWQJCQl0eXBpZDsKKwlpbnQzMgkJdHlwbW9kOworCU9pZAkJCWNv bGxpZDsKKworCS8qIFZhcmlhYmxlRmVuY2UgY2FuIGJlIHVzZWQgb25seSBpbiBjb250ZXh0IHdo ZW4gdmFyaWFibGVzIGFyZSBzdXBwb3J0ZWQgKi8KKwlpZiAoIWV4cHJfa2luZF9hbGxvd3Nfc2Vz c2lvbl92YXJpYWJsZXMocHN0YXRlLT5wX2V4cHJfa2luZCkpCisJCWVyZXBvcnQoRVJST1IsCisJ CQkJKGVycmNvZGUoRVJSQ09ERV9GRUFUVVJFX05PVF9TVVBQT1JURUQpLAorCQkJCSBlcnJtc2co InNlc3Npb24gdmFyaWFibGUgcmVmZXJlbmNlIGlzIG5vdCBzdXBwb3J0ZWQgaGVyZSIpLAorCQkJ CSBwYXJzZXJfZXJycG9zaXRpb24ocHN0YXRlLCB2Zi0+bG9jYXRpb24pKSk7CisKKwlnZXRfc2Vz c2lvbl92YXJpYWJsZV90eXBlX3R5cG1vZF9jb2xsaWQodmYtPnZhcm5hbWUsCisJCQkJCQkJCQkJ CSZ0eXBpZCwgJnR5cG1vZCwgJmNvbGxpZCk7CisKKworCXBhcmFtID0gbWFrZU5vZGUoUGFyYW0p OworCisJcGFyYW0tPnBhcmFta2luZCA9IFBBUkFNX1ZBUklBQkxFOworCXBhcmFtLT5wYXJhbXZh cm5hbWUgPSBwc3RyZHVwKHZmLT52YXJuYW1lKTsKKwlwYXJhbS0+cGFyYW10eXBlID0gdHlwaWQ7 CisJcGFyYW0tPnBhcmFtdHlwbW9kID0gdHlwbW9kOworCXBhcmFtLT5wYXJhbWNvbGxpZCA9IGNv bGxpZDsKKworCXBzdGF0ZS0+cF9oYXNTZXNzaW9uVmFyaWFibGVzID0gdHJ1ZTsKKworCXJldHVy biAoTm9kZSAqKSBwYXJhbTsKK30KKwogLyogVGVzdCB3aGV0aGVyIGFuIGFfZXhwciBpcyBhIHBs YWluIE5VTEwgY29uc3RhbnQgb3Igbm90ICovCiBzdGF0aWMgYm9vbAogZXhwcklzTnVsbENvbnN0 YW50KE5vZGUgKmFyZykKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9tZXJn ZS5jIGIvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX21lcmdlLmMKaW5kZXggNTFkNzcwM2VmZjcu LjI0NGVmY2RkZjMyIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfbWVyZ2Uu YworKysgYi9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfbWVyZ2UuYwpAQCAtNDA1LDYgKzQwNSw3 IEBAIHRyYW5zZm9ybU1lcmdlU3RtdChQYXJzZVN0YXRlICpwc3RhdGUsIE1lcmdlU3RtdCAqc3Rt dCkKIAogCXFyeS0+aGFzVGFyZ2V0U1JGcyA9IGZhbHNlOwogCXFyeS0+aGFzU3ViTGlua3MgPSBw c3RhdGUtPnBfaGFzU3ViTGlua3M7CisJcXJ5LT5oYXNTZXNzaW9uVmFyaWFibGVzID0gcHN0YXRl LT5wX2hhc1Nlc3Npb25WYXJpYWJsZXM7CiAKIAlhc3NpZ25fcXVlcnlfY29sbGF0aW9ucyhwc3Rh dGUsIHFyeSk7CiAKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV90YXJnZXQu YyBiL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV90YXJnZXQuYwppbmRleCA5MDVjOTc1ZDgzYi4u MmY0MjYyN2YwMDkgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV90YXJnZXQu YworKysgYi9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfdGFyZ2V0LmMKQEAgLTIwMzMsNiArMjAz MywxMyBAQCBGaWd1cmVDb2xuYW1lSW50ZXJuYWwoTm9kZSAqbm9kZSwgY2hhciAqKm5hbWUpCiAJ CQkJCQkgKGludCkgKChKc29uRnVuY0V4cHIgKikgbm9kZSktPm9wKTsKIAkJCX0KIAkJCWJyZWFr OworCQljYXNlIFRfVmFyaWFibGVGZW5jZToKKwkJCXsKKwkJCQkvKiByZXR1cm4gbGFzdCBmaWVs ZCBuYW1lICovCisJCQkJKm5hbWUgPSAoKFZhcmlhYmxlRmVuY2UgKikgbm9kZSktPnZhcm5hbWU7 CisJCQkJcmV0dXJuIDI7CisJCQl9CisJCQlicmVhazsKIAkJZGVmYXVsdDoKIAkJCWJyZWFrOwog CX0KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9ydWxldXRpbHMuYyBiL3NyYy9i YWNrZW5kL3V0aWxzL2FkdC9ydWxldXRpbHMuYwppbmRleCA1NTZhYjA1N2U1YS4uZTA1MGRjMTM0 NWEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9ydWxldXRpbHMuYworKysgYi9z cmMvYmFja2VuZC91dGlscy9hZHQvcnVsZXV0aWxzLmMKQEAgLTg4MTYsNiArODgxNiwxNCBAQCBn ZXRfcGFyYW1ldGVyKFBhcmFtICpwYXJhbSwgZGVwYXJzZV9jb250ZXh0ICpjb250ZXh0KQogCQl9 CiAJfQogCisJLyogTm90ZTogY2FuIGJlIGJlIHVzZWQgYnkgRVhQTEFJTiAqLworCWlmIChwYXJh bS0+cGFyYW1raW5kID09IFBBUkFNX1ZBUklBQkxFKQorCXsKKwkJYXBwZW5kU3RyaW5nSW5mbyhj b250ZXh0LT5idWYsICJWQVJJQUJMRVMoJXMpIiwKKwkJCQkJCSBxdW90ZV9pZGVudGlmaWVyKHBh cmFtLT5wYXJhbXZhcm5hbWUpKTsKKwkJcmV0dXJuOworCX0KKwogCS8qCiAJICogTm90IFBBUkFN X0VYRUMsIG9yIGNvdWxkbid0IGZpbmQgcmVmZXJlbnQ6IGp1c3QgcHJpbnQgJE4uCiAJICoKZGlm ZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuaCBiL3NyYy9p bmNsdWRlL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuaAppbmRleCAxZWQ0MGQ4N2EzOC4uOTZi ZTk2OGMzZDQgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFi bGUuaAorKysgYi9zcmMvaW5jbHVkZS9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmgKQEAgLTIy LDQgKzIyLDkgQEAKIGV4dGVybiB2b2lkIENyZWF0ZVZhcmlhYmxlKFBhcnNlU3RhdGUgKnBzdGF0 ZSwgQ3JlYXRlU2Vzc2lvblZhclN0bXQgKnN0bXQpOwogZXh0ZXJuIHZvaWQgRHJvcFZhcmlhYmxl QnlOYW1lKGNoYXIgKnZhcm5hbWUpOwogCitleHRlcm4gdm9pZCBnZXRfc2Vzc2lvbl92YXJpYWJs ZV90eXBlX3R5cG1vZF9jb2xsaWQoY2hhciAqdmFybmFtZSwKKwkJCQkJCQkJCQkJCQlPaWQgKnR5 cGlkLAorCQkJCQkJCQkJCQkJCWludDMyICp0eXBtb2QsCisJCQkJCQkJCQkJCQkJT2lkICpjb2xs aWQpOworCiAjZW5kaWYKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMu aCBiL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaAppbmRleCA1NjdlNTk3MGU1MC4uNDg3 NDY0YjE0YjEgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaAorKysg Yi9zcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmgKQEAgLTE2Nyw2ICsxNjcsOCBAQCB0eXBl ZGVmIHN0cnVjdCBRdWVyeQogCWJvb2wJCWhhc1Jvd1NlY3VyaXR5IHBnX25vZGVfYXR0cihxdWVy eV9qdW1ibGVfaWdub3JlKTsKIAkvKiBwYXJzZXIgaGFzIGFkZGVkIGFuIFJURV9HUk9VUCBSVEUg Ki8KIAlib29sCQloYXNHcm91cFJURSBwZ19ub2RlX2F0dHIocXVlcnlfanVtYmxlX2lnbm9yZSk7 CisJLyogdXNlcyBzZXNzaW9uIHZhcmlhYmxlcyAqLworCWJvb2wJCWhhc1Nlc3Npb25WYXJpYWJs ZXMgcGdfbm9kZV9hdHRyKHF1ZXJ5X2p1bWJsZV9pZ25vcmUpOwogCS8qIGlzIGEgUkVUVVJOIHN0 YXRlbWVudCAqLwogCWJvb2wJCWlzUmV0dXJuIHBnX25vZGVfYXR0cihxdWVyeV9qdW1ibGVfaWdu b3JlKTsKIApAQCAtMzIyLDYgKzMyNCwxNiBAQCB0eXBlZGVmIHN0cnVjdCBQYXJhbVJlZgogCVBh cnNlTG9jCWxvY2F0aW9uOwkJLyogdG9rZW4gbG9jYXRpb24sIG9yIC0xIGlmIHVua25vd24gKi8K IH0gUGFyYW1SZWY7CiAKKy8qCisgKiBWYXJpYWJsZUZlbmNlIC0gZW5zdXJlIHNvIGZpZWxkcyB3 aWxsIGJlIGludGVycHJldHRlZCBhcyBhIHZhcmlhYmxlCisgKi8KK3R5cGVkZWYgc3RydWN0IFZh cmlhYmxlRmVuY2UKK3sKKwlOb2RlVGFnCQl0eXBlOworCWNoYXIJICAgKnZhcm5hbWU7CQkvKiB2 YXJpYWJsZSBuYW1lICovCisJUGFyc2VMb2MJbG9jYXRpb247CQkvKiB0b2tlbiBsb2NhdGlvbiwg b3IgLTEgaWYgdW5rbm93biAqLworfSBWYXJpYWJsZUZlbmNlOworCiAvKgogICogQV9FeHByIC0g aW5maXgsIHByZWZpeCwgYW5kIHBvc3RmaXggZXhwcmVzc2lvbnMKICAqLwpkaWZmIC0tZ2l0IGEv c3JjL2luY2x1ZGUvbm9kZXMvcHJpbW5vZGVzLmggYi9zcmMvaW5jbHVkZS9ub2Rlcy9wcmltbm9k ZXMuaAppbmRleCAxYjQ0MzZmMmZmNi4uNzYwY2EwM2Y3ZTEgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNs dWRlL25vZGVzL3ByaW1ub2Rlcy5oCisrKyBiL3NyYy9pbmNsdWRlL25vZGVzL3ByaW1ub2Rlcy5o CkBAIC0zNzgsNiArMzc4LDggQEAgdHlwZWRlZiBzdHJ1Y3QgQ29uc3QKICAqCQkJCW9mIHRoZSBg cGFyYW1pZCcgZmllbGQgY29udGFpbiB0aGUgU3ViTGluaydzIHN1YkxpbmtJZCwgYW5kCiAgKgkJ CQl0aGUgbG93LW9yZGVyIDE2IGJpdHMgY29udGFpbiB0aGUgY29sdW1uIG51bWJlci4gIChUaGlz IHR5cGUKICAqCQkJCW9mIFBhcmFtIGlzIGFsc28gY29udmVydGVkIHRvIFBBUkFNX0VYRUMgZHVy aW5nIHBsYW5uaW5nLikKKyAqCQlQQVJBTV9WQVJJQUJMRTogIFRoZSBwYXJhbWV0ZXIgaXMgYSBy ZWZlcmVuY2UgdG8gYSBzZXNzaW9uIHZhcmlhYmxlCisgKgkJCQkocGFyYW12YXJuYW1lIGhvbGRz IHRoZSB2YXJpYWJsZSdzIG5hbWUpLgogICovCiB0eXBlZGVmIGVudW0gUGFyYW1LaW5kCiB7CkBA IC0zODUsNiArMzg3LDcgQEAgdHlwZWRlZiBlbnVtIFBhcmFtS2luZAogCVBBUkFNX0VYRUMsCiAJ UEFSQU1fU1VCTElOSywKIAlQQVJBTV9NVUxUSUVYUFIsCisJUEFSQU1fVkFSSUFCTEUsCiB9IFBh cmFtS2luZDsKIAogdHlwZWRlZiBzdHJ1Y3QgUGFyYW0KQEAgLTM5OSw2ICs0MDIsOCBAQCB0eXBl ZGVmIHN0cnVjdCBQYXJhbQogCWludDMyCQlwYXJhbXR5cG1vZDsKIAkvKiBPSUQgb2YgY29sbGF0 aW9uLCBvciBJbnZhbGlkT2lkIGlmIG5vbmUgKi8KIAlPaWQJCQlwYXJhbWNvbGxpZDsKKwkvKiBP SUQgb2YgdXNlZCBzZXNzaW9uIHZhcmlhYmxlIG9yIEludmFsaWRPaWQgaWYgbm9uZSAqLworCWNo YXIJICAgKnBhcmFtdmFybmFtZSBwZ19ub2RlX2F0dHIocXVlcnlfanVtYmxlX2lnbm9yZSk7CiAJ LyogdG9rZW4gbG9jYXRpb24sIG9yIC0xIGlmIHVua25vd24gKi8KIAlQYXJzZUxvYwlsb2NhdGlv bjsKIH0gUGFyYW07CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9wYXJzZXIvcGFyc2Vfbm9kZS5o IGIvc3JjL2luY2x1ZGUvcGFyc2VyL3BhcnNlX25vZGUuaAppbmRleCBmN2QwN2M4NDU0Mi4uODRl ODg2OTQwZDggMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3BhcnNlci9wYXJzZV9ub2RlLmgKKysr IGIvc3JjL2luY2x1ZGUvcGFyc2VyL3BhcnNlX25vZGUuaApAQCAtMjI4LDYgKzIyOCw3IEBAIHN0 cnVjdCBQYXJzZVN0YXRlCiAJYm9vbAkJcF9oYXNUYXJnZXRTUkZzOwogCWJvb2wJCXBfaGFzU3Vi TGlua3M7CiAJYm9vbAkJcF9oYXNNb2RpZnlpbmdDVEU7CisJYm9vbAkJcF9oYXNTZXNzaW9uVmFy aWFibGVzOwogCiAJTm9kZQkgICAqcF9sYXN0X3NyZjsJCS8qIG1vc3QgcmVjZW50IHNldC1yZXR1 cm5pbmcgZnVuYy9vcCBmb3VuZCAqLwogCmRpZmYgLS1naXQgYS9zcmMvcGwvcGxwZ3NxbC9zcmMv cGxfZXhlYy5jIGIvc3JjL3BsL3BscGdzcWwvc3JjL3BsX2V4ZWMuYwppbmRleCBkMTk0MjViN2E3 MS4uOTY4NTc4NzRmZmUgMTAwNjQ0Ci0tLSBhL3NyYy9wbC9wbHBnc3FsL3NyYy9wbF9leGVjLmMK KysrIGIvc3JjL3BsL3BscGdzcWwvc3JjL3BsX2V4ZWMuYwpAQCAtODI2OCw3ICs4MjY4LDggQEAg ZXhlY19pc19zaW1wbGVfcXVlcnkoUExwZ1NRTF9leHByICpleHByKQogCQlxdWVyeS0+c29ydENs YXVzZSB8fAogCQlxdWVyeS0+bGltaXRPZmZzZXQgfHwKIAkJcXVlcnktPmxpbWl0Q291bnQgfHwK LQkJcXVlcnktPnNldE9wZXJhdGlvbnMpCisJCXF1ZXJ5LT5zZXRPcGVyYXRpb25zIHx8CisJCXF1 ZXJ5LT5oYXNTZXNzaW9uVmFyaWFibGVzKQogCQlyZXR1cm4gZmFsc2U7CiAKIAkvKgpkaWZmIC0t Z2l0IGEvc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QgYi9zcmMvdG9vbHMvcGdpbmRl bnQvdHlwZWRlZnMubGlzdAppbmRleCAwODg1ZTU1ZmRlYy4uN2JmNDc1MGM1YjYgMTAwNjQ0Ci0t LSBhL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0CisrKyBiL3NyYy90b29scy9wZ2lu ZGVudC90eXBlZGVmcy5saXN0CkBAIC0zMjI1LDYgKzMyMjUsNyBAQCBWYWxpZGF0b3JWYWxpZGF0 ZUNCCiBWYWx1ZXNTY2FuCiBWYWx1ZXNTY2FuU3RhdGUKIFZhcgorVmFyaWFibGVGZW5jZQogVmFy Qml0CiBWYXJDaGFyCiBWYXJQYXJhbVN0YXRlCi0tIAoyLjUyLjAKCg== --0000000000001a90410644c99b27 Content-Type: text/x-patch; charset="US-ASCII"; name="v20251130-0001-CREATE-VARIABLE-DROP-VARIABLE.patch" Content-Disposition: attachment; filename="v20251130-0001-CREATE-VARIABLE-DROP-VARIABLE.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_milbbk2c6 RnJvbSA2ZGZmNzY1ZWQ3ZmNhOGQ3ZWUxNzIzNjAwNmU1MDhiZjEzY2Y3MGQ3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAib2tib2JAZ2l0aHViLmNvbSIgPHBhdmVsLnN0ZWh1bGVAZ21h aWwuY29tPgpEYXRlOiBXZWQsIDE5IE5vdiAyMDI1IDE5OjM2OjA3ICswMTAwClN1YmplY3Q6IFtQ QVRDSCAxLzddIENSRUFURSBWQVJJQUJMRSwgRFJPUCBWQVJJQUJMRQoKLS0tCiBkb2Mvc3JjL3Nn bWwvZGRsLnNnbWwgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMjMgKysKIGRvYy9zcmMvc2dt bC9nbG9zc2FyeS5zZ21sICAgICAgICAgICAgICAgICAgICB8ICAxNSArKwogZG9jL3NyYy9zZ21s L3JlZi9hbGxmaWxlcy5zZ21sICAgICAgICAgICAgICAgIHwgICAyICsKIGRvYy9zcmMvc2dtbC9y ZWYvY3JlYXRlX3ZhcmlhYmxlLnNnbWwgICAgICAgICB8IDEzMiArKysrKysrKysrKwogZG9jL3Ny Yy9zZ21sL3JlZi9kcm9wX3ZhcmlhYmxlLnNnbWwgICAgICAgICAgIHwgIDg0ICsrKysrKysKIGRv Yy9zcmMvc2dtbC9yZWZlcmVuY2Uuc2dtbCAgICAgICAgICAgICAgICAgICB8ICAgMiArCiBzcmMv YmFja2VuZC9jb21tYW5kcy9NYWtlZmlsZSAgICAgICAgICAgICAgICAgfCAgIDEgKwogc3JjL2Jh Y2tlbmQvY29tbWFuZHMvZHJvcGNtZHMuYyAgICAgICAgICAgICAgIHwgICAxICsKIHNyYy9iYWNr ZW5kL2NvbW1hbmRzL21lc29uLmJ1aWxkICAgICAgICAgICAgICB8ICAgMSArCiBzcmMvYmFja2Vu ZC9jb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmMgICAgICAgfCAyMTggKysrKysrKysrKysrKysr KysrCiBzcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55ICAgICAgICAgICAgICAgICAgICAgfCAgNTUg KysrKy0KIHNyYy9iYWNrZW5kL3Rjb3AvdXRpbGl0eS5jICAgICAgICAgICAgICAgICAgICB8ICAy NiArKysKIHNyYy9iaW4vcHNxbC90YWItY29tcGxldGUuaW4uYyAgICAgICAgICAgICAgICB8ICAx MCArLQogc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5oICAgICAgIHwgIDI1 ICsrCiBzcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmggICAgICAgICAgICAgICAgfCAgMjMg KysKIHNyYy9pbmNsdWRlL3BhcnNlci9rd2xpc3QuaCAgICAgICAgICAgICAgICAgICB8ICAgMSAr CiBzcmMvaW5jbHVkZS90Y29wL2NtZHRhZ2xpc3QuaCAgICAgICAgICAgICAgICAgfCAgIDIgKwog Li4uL2V4cGVjdGVkL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5vdXQgICAgICAgIHwgIDQzICsrKysK IHNyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUgICAgICAgICAgICB8ICAgMiArLQog Li4uL3JlZ3Jlc3Mvc3FsL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5zcWwgICAgIHwgIDU2ICsrKysr CiBzcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdCAgICAgICAgICAgICAgfCAgIDQgKwog MjEgZmlsZXMgY2hhbmdlZCwgNzE5IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCiBjcmVh dGUgbW9kZSAxMDA2NDQgZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfdmFyaWFibGUuc2dtbAogY3Jl YXRlIG1vZGUgMTAwNjQ0IGRvYy9zcmMvc2dtbC9yZWYvZHJvcF92YXJpYWJsZS5zZ21sCiBjcmVh dGUgbW9kZSAxMDA2NDQgc3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5jCiBj cmVhdGUgbW9kZSAxMDA2NDQgc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5o CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zZXNzaW9uX3Zh cmlhYmxlc19kZGwub3V0CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3QvcmVncmVzcy9zcWwv c2Vzc2lvbl92YXJpYWJsZXNfZGRsLnNxbAoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9kZGwu c2dtbCBiL2RvYy9zcmMvc2dtbC9kZGwuc2dtbAppbmRleCAwOWFkODQwMGZkMC4uMTBmMWEwMGMy NzUgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9kZGwuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwv ZGRsLnNnbWwKQEAgLTU2NTUsNiArNTY1NSwyOSBAQCBFWFBMQUlOIFNFTEVDVCBjb3VudCgqKSBG Uk9NIG1lYXN1cmVtZW50IFdIRVJFIGxvZ2RhdGUgJmd0Oz0gREFURSAnMjAwOC0wMS0wMSc7CiAg ICA8L3BhcmE+CiAgPC9zZWN0MT4KIAorICA8c2VjdDEgaWQ9ImRkbC1zZXNzaW9uLXZhcmlhYmxl cyI+CisgICA8dGl0bGU+U2Vzc2lvbiBWYXJpYWJsZXM8L3RpdGxlPgorCisgICA8aW5kZXh0ZXJt IHpvbmU9ImRkbC1zZXNzaW9uLXZhcmlhYmxlcyI+CisgICAgPHByaW1hcnk+U2Vzc2lvbiB2YXJp YWJsZXM8L3ByaW1hcnk+CisgICA8L2luZGV4dGVybT4KKworICAgPGluZGV4dGVybT4KKyAgICA8 cHJpbWFyeT5zZXNzaW9uIHZhcmlhYmxlPC9wcmltYXJ5PgorICAgPC9pbmRleHRlcm0+CisKKyAg IDxwYXJhPgorICAgIFNlc3Npb24gdmFyaWFibGVzIGFyZSB0ZW1wb3JhbCBkYXRhYmFzZSBvYmpl Y3RzIHRoYXQgY2FuIGhvbGQgYSB2YWx1ZS4KKyAgICBBIHNlc3Npb24gdmFyaWFibGUgY2FuIGJl IGNyZWF0ZWQgYnkgdGhlIDxjb21tYW5kPkNSRUFURSBWQVJJQUJMRTwvY29tbWFuZD4KKyAgICBj b21tYW5kLiBPbmx5IG93bmVyIGNhbiB1c2Ugc2Vzc2lvbiB2YXJpYWJsZS4KKyAgIDwvcGFyYT4K KworICAgPHBhcmE+CisgICAgVGhlIHNlc3Npb24gdmFyaWFibGUgaG9sZHMgdmFsdWUgaW4gc2Vz c2lvbiBtZW1vcnkuICBUaGlzIHZhbHVlIGlzIHByaXZhdGUKKyAgICB0byBlYWNoIHNlc3Npb24g YW5kIGlzIHJlbGVhc2VkIHdoZW4gdGhlIHNlc3Npb24gZW5kcy4KKyAgIDwvcGFyYT4KKyAgPC9z ZWN0MT4KKwogIDxzZWN0MSBpZD0iZGRsLW90aGVycyI+CiAgIDx0aXRsZT5PdGhlciBEYXRhYmFz ZSBPYmplY3RzPC90aXRsZT4KIApkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2dsb3NzYXJ5LnNn bWwgYi9kb2Mvc3JjL3NnbWwvZ2xvc3Nhcnkuc2dtbAppbmRleCBhNzZjZjVjMzgzZi4uNjRkNWZk NDAyMTkgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9nbG9zc2FyeS5zZ21sCisrKyBiL2RvYy9z cmMvc2dtbC9nbG9zc2FyeS5zZ21sCkBAIC0xNzI2LDYgKzE3MjYsMjEgQEAKICAgIDwvZ2xvc3Nk ZWY+CiAgIDwvZ2xvc3NlbnRyeT4KIAorICA8Z2xvc3NlbnRyeSBpZD0iZ2xvc3Nhcnktc2Vzc2lv bi12YXJpYWJsZSI+CisgICA8Z2xvc3N0ZXJtPlNlc3Npb24gdmFyaWFibGU8L2dsb3NzdGVybT4K KyAgIDxnbG9zc2RlZj4KKyAgICA8cGFyYT4KKyAgICAgQSB0ZW1wb3JhbCBkYXRhYmFzZSBvYmpl Y3QgdGhhdCBob2xkcyBhIHZhbHVlIGluIHNlc3Npb24gbWVtb3J5LiAgVGhpcworICAgICB2YWx1 ZSBpcyBwcml2YXRlIHRvIGVhY2ggc2Vzc2lvbiBhbmQgaXMgcmVsZWFzZWQgd2hlbiB0aGUgc2Vz c2lvbiBlbmRzLgorICAgICBUaGUgZGVmYXVsdCB2YWx1ZSBvZiB0aGUgc2Vzc2lvbiB2YXJpYWJs ZSBpcyBudWxsLiAgUmVhZCBvciB3cml0ZSBhY2Nlc3MKKyAgICAgdG8gc2Vzc2lvbiB2YXJpYWJs ZXMgaXMgYWxsb3dlZCBvbmx5IHRvIG93bmVyIChjcmVhdG9yKS4KKyAgICA8L3BhcmE+CisgICAg PHBhcmE+CisgICAgIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgPHhyZWYgbGlua2VuZD0iZGRs LXNlc3Npb24tdmFyaWFibGVzIi8+LgorICAgIDwvcGFyYT4KKyAgIDwvZ2xvc3NkZWY+CisgIDwv Z2xvc3NlbnRyeT4KKwogICA8Z2xvc3NlbnRyeSBpZD0iZ2xvc3Nhcnktc2hhcmVkLW1lbW9yeSI+ CiAgICA8Z2xvc3N0ZXJtPlNoYXJlZCBtZW1vcnk8L2dsb3NzdGVybT4KICAgIDxnbG9zc2RlZj4K ZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9yZWYvYWxsZmlsZXMuc2dtbCBiL2RvYy9zcmMvc2dt bC9yZWYvYWxsZmlsZXMuc2dtbAppbmRleCBlMTY3NDA2Yzc0NC4uYTczNDk5MTk2NTggMTAwNjQ0 Ci0tLSBhL2RvYy9zcmMvc2dtbC9yZWYvYWxsZmlsZXMuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwv cmVmL2FsbGZpbGVzLnNnbWwKQEAgLTk5LDYgKzk5LDcgQEAgQ29tcGxldGUgbGlzdCBvZiB1c2Fi bGUgc2dtbCBzb3VyY2UgZmlsZXMgaW4gdGhpcyBkaXJlY3RvcnkuCiA8IUVOVElUWSBjcmVhdGVU eXBlICAgICAgICAgU1lTVEVNICJjcmVhdGVfdHlwZS5zZ21sIj4KIDwhRU5USVRZIGNyZWF0ZVVz ZXIgICAgICAgICBTWVNURU0gImNyZWF0ZV91c2VyLnNnbWwiPgogPCFFTlRJVFkgY3JlYXRlVXNl ck1hcHBpbmcgIFNZU1RFTSAiY3JlYXRlX3VzZXJfbWFwcGluZy5zZ21sIj4KKzwhRU5USVRZIGNy ZWF0ZVZhcmlhYmxlICAgICBTWVNURU0gImNyZWF0ZV92YXJpYWJsZS5zZ21sIj4KIDwhRU5USVRZ IGNyZWF0ZVZpZXcgICAgICAgICBTWVNURU0gImNyZWF0ZV92aWV3LnNnbWwiPgogPCFFTlRJVFkg ZGVhbGxvY2F0ZSAgICAgICAgIFNZU1RFTSAiZGVhbGxvY2F0ZS5zZ21sIj4KIDwhRU5USVRZIGRl Y2xhcmUgICAgICAgICAgICBTWVNURU0gImRlY2xhcmUuc2dtbCI+CkBAIC0xNDcsNiArMTQ4LDcg QEAgQ29tcGxldGUgbGlzdCBvZiB1c2FibGUgc2dtbCBzb3VyY2UgZmlsZXMgaW4gdGhpcyBkaXJl Y3RvcnkuCiA8IUVOVElUWSBkcm9wVHlwZSAgICAgICAgICAgU1lTVEVNICJkcm9wX3R5cGUuc2dt bCI+CiA8IUVOVElUWSBkcm9wVXNlciAgICAgICAgICAgU1lTVEVNICJkcm9wX3VzZXIuc2dtbCI+ CiA8IUVOVElUWSBkcm9wVXNlck1hcHBpbmcgICAgU1lTVEVNICJkcm9wX3VzZXJfbWFwcGluZy5z Z21sIj4KKzwhRU5USVRZIGRyb3BWYXJpYWJsZSAgICAgICBTWVNURU0gImRyb3BfdmFyaWFibGUu c2dtbCI+CiA8IUVOVElUWSBkcm9wVmlldyAgICAgICAgICAgU1lTVEVNICJkcm9wX3ZpZXcuc2dt bCI+CiA8IUVOVElUWSBlbmQgICAgICAgICAgICAgICAgU1lTVEVNICJlbmQuc2dtbCI+CiA8IUVO VElUWSBleGVjdXRlICAgICAgICAgICAgU1lTVEVNICJleGVjdXRlLnNnbWwiPgpkaWZmIC0tZ2l0 IGEvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfdmFyaWFibGUuc2dtbCBiL2RvYy9zcmMvc2dtbC9y ZWYvY3JlYXRlX3ZhcmlhYmxlLnNnbWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMDAuLjVlZDc0YzVjMTczCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9j cmVhdGVfdmFyaWFibGUuc2dtbApAQCAtMCwwICsxLDEzMiBAQAorPCEtLQorZG9jL3NyYy9zZ21s L3JlZi9jcmVhdGVfdmFyaWFibGUuc2dtbAorUG9zdGdyZVNRTCBkb2N1bWVudGF0aW9uCistLT4K KworPHJlZmVudHJ5IGlkPSJzcWwtY3JlYXRldmFyaWFibGUiPgorIDxpbmRleHRlcm0gem9uZT0i c3FsLWNyZWF0ZXZhcmlhYmxlIj4KKyAgPHByaW1hcnk+Q1JFQVRFIFZBUklBQkxFPC9wcmltYXJ5 PgorIDwvaW5kZXh0ZXJtPgorCisgPGluZGV4dGVybT4KKyAgPHByaW1hcnk+c2Vzc2lvbiB2YXJp YWJsZTwvcHJpbWFyeT4KKyAgPHNlY29uZGFyeT5kZWZpbmluZzwvc2Vjb25kYXJ5PgorIDwvaW5k ZXh0ZXJtPgorCisgPHJlZm1ldGE+CisgIDxyZWZlbnRyeXRpdGxlPkNSRUFURSBWQVJJQUJMRTwv cmVmZW50cnl0aXRsZT4KKyAgPG1hbnZvbG51bT43PC9tYW52b2xudW0+CisgIDxyZWZtaXNjaW5m bz5TUUwgLSBMYW5ndWFnZSBTdGF0ZW1lbnRzPC9yZWZtaXNjaW5mbz4KKyA8L3JlZm1ldGE+CisK KyA8cmVmbmFtZWRpdj4KKyAgPHJlZm5hbWU+Q1JFQVRFIFZBUklBQkxFPC9yZWZuYW1lPgorICA8 cmVmcHVycG9zZT5kZWZpbmUgYSBzZXNzaW9uIHZhcmlhYmxlPC9yZWZwdXJwb3NlPgorIDwvcmVm bmFtZWRpdj4KKworIDxyZWZzeW5vcHNpc2Rpdj4KKzxzeW5vcHNpcz4KK0NSRUFURSB7IFRFTVAg fCBURU1QT1JBTCB9IFZBUklBQkxFIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5uYW1l PC9yZXBsYWNlYWJsZT4gWyBBUyBdIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5kYXRh X3R5cGU8L3JlcGxhY2VhYmxlPgorPC9zeW5vcHNpcz4KKyA8L3JlZnN5bm9wc2lzZGl2PgorIDxy ZWZzZWN0MT4KKyAgPHRpdGxlPkRlc2NyaXB0aW9uPC90aXRsZT4KKworICA8cGFyYT4KKyAgIFRo ZSA8Y29tbWFuZD5DUkVBVEUgVkFSSUFCTEU8L2NvbW1hbmQ+IGNvbW1hbmQgY3JlYXRlcyBhIHRl bXBvcmFsIHNlc3Npb24KKyAgIHZhcmlhYmxlLgorICA8L3BhcmE+CisKKyAgPHBhcmE+CisgICBU aGUgdmFsdWUgb2YgYSBzZXNzaW9uIHZhcmlhYmxlIGlzIGxvY2FsIHRvIHRoZSBjdXJyZW50IHNl c3Npb24uICBSZXRyaWV2aW5nCisgICBhIHNlc3Npb24gdmFyaWFibGUncyB2YWx1ZSByZXR1cm5z IE5VTEwsIHVubGVzcyBpdHMgdmFsdWUgaXMgc2V0IHRvCisgICBzb21ldGhpbmcgZWxzZSBpbiB0 aGUgY3VycmVudCBzZXNzaW9uIHdpdGggYSA8Y29tbWFuZD5MRVQ8L2NvbW1hbmQ+IGNvbW1hbmQu CisgICBUaGUgY29udGVudCBvZiBhIHNlc3Npb24gdmFyaWFibGUgaXMgbm90IHRyYW5zYWN0aW9u YWwuIFRoaXMgaXMgdGhlIHNhbWUgYXMKKyAgIHJlZ3VsYXIgdmFyaWFibGVzIGluIHByb2NlZHVy YWwgbGFuZ3VhZ2VzLgorICA8L3BhcmE+CisKKyAgPHBhcmE+CisgICBTZXNzaW9uIHZhcmlhYmxl cyBhcmUgcmV0cmlldmVkIGJ5IHRoZSA8Y29tbWFuZD5TRUxFQ1Q8L2NvbW1hbmQ+CisgICBjb21t YW5kLiAgVGhlaXIgdmFsdWUgaXMgc2V0IHdpdGggdGhlIDxjb21tYW5kPkxFVDwvY29tbWFuZD4g Y29tbWFuZC4KKyAgPC9wYXJhPgorCisgIDxwYXJhPgorICAgU2Vzc2lvbiB2YXJpYWJsZXMgY2Fu bm90IGJlIHVzZWQgaW4gdmlld3Mgb3IgaW4gU1FMIGZ1bmN0aW9ucyB1c2luZworICAgU1FMLWNv bmZvcm1pbmcgc3R5bGUgc3ludGF4LgorICA8L3BhcmE+CisKKyAgPG5vdGU+CisgICA8cGFyYT4K KyAgICBTZXNzaW9uIHZhcmlhYmxlcyBjYW4gYmUgPHF1b3RlPnNoYWRvd2VkPC9xdW90ZT4gYnkg b3RoZXIgaWRlbnRpZmllcnMuCisgICAgRm9yIGRldGFpbHMsIHNlZSA8eHJlZiBsaW5rZW5kPSJk ZGwtc2Vzc2lvbi12YXJpYWJsZXMiLz4uCisgICA8L3BhcmE+CisgIDwvbm90ZT4KKyA8L3JlZnNl Y3QxPgorCisgPHJlZnNlY3QxPgorICA8dGl0bGU+UGFyYW1ldGVyczwvdGl0bGU+CisKKyAgPHZh cmlhYmxlbGlzdD4KKworICAgPHZhcmxpc3RlbnRyeSBpZD0ic3FsLWNyZWF0ZXZhcmlhYmxlLW5h bWUiPgorICAgIDx0ZXJtPjxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5uYW1lPC9yZXBs YWNlYWJsZT48L3Rlcm0+CisgICAgPGxpc3RpdGVtPgorICAgICA8cGFyYT4KKyAgICAgIFRoZSBu YW1lIG9mIHRoZSBzZXNzaW9uIHZhcmlhYmxlLgorICAgICA8L3BhcmE+CisgICAgPC9saXN0aXRl bT4KKyAgIDwvdmFybGlzdGVudHJ5PgorCisgICA8dmFybGlzdGVudHJ5IGlkPSJzcWwtY3JlYXRl dmFyaWFibGUtZGF0YV90eXBlIj4KKyAgICA8dGVybT48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFt ZXRlciI+ZGF0YV90eXBlPC9yZXBsYWNlYWJsZT48L3Rlcm0+CisgICAgPGxpc3RpdGVtPgorICAg ICA8cGFyYT4KKyAgICAgIFRoZSBuYW1lLCBvcHRpb25hbGx5IHNjaGVtYS1xdWFsaWZpZWQsIG9m IHRoZSBkYXRhIHR5cGUgb2YgdGhlIHNlc3Npb24KKyAgICAgIHZhcmlhYmxlLiBPbmx5IGJ1aWxk aW4gc2NhbGFyIGRhdGEgdHlwZXMgYXJlIGFsbG93ZWQuIEFycmF5cyBvciBjb21wb3NpdGUKKyAg ICAgIHR5cGVzIGFyZSBub3QgYWxsb3dlZC4KKyAgICAgPC9wYXJhPgorICAgIDwvbGlzdGl0ZW0+ CisgICA8L3Zhcmxpc3RlbnRyeT4KKworICA8L3ZhcmlhYmxlbGlzdD4KKyA8L3JlZnNlY3QxPgor CisgPHJlZnNlY3QxPgorICA8dGl0bGU+Tm90ZXM8L3RpdGxlPgorCisgIDxwYXJhPgorICAgVXNl IHRoZSA8Y29tbWFuZD5EUk9QIFZBUklBQkxFPC9jb21tYW5kPiBjb21tYW5kIHRvIHJlbW92ZSBh IHNlc3Npb24KKyAgIHZhcmlhYmxlLgorICA8L3BhcmE+CisgPC9yZWZzZWN0MT4KKworIDxyZWZz ZWN0MT4KKyAgPHRpdGxlPkV4YW1wbGVzPC90aXRsZT4KKworICA8cGFyYT4KKyAgIENyZWF0ZSBh biBkYXRlIHNlc3Npb24gdmFyaWFibGUgPGxpdGVyYWw+dmFyMTwvbGl0ZXJhbD46Cis8cHJvZ3Jh bWxpc3Rpbmc+CitDUkVBVEUgVEVNUE9SQVJZIFZBUklBQkxFIHZhcjEgQVMgZGF0ZTsKKzwvcHJv Z3JhbWxpc3Rpbmc+CisgIDwvcGFyYT4KKworIDwvcmVmc2VjdDE+CisKKyA8cmVmc2VjdDE+Cisg IDx0aXRsZT5Db21wYXRpYmlsaXR5PC90aXRsZT4KKworICA8cGFyYT4KKyAgIFRoZSA8Y29tbWFu ZD5DUkVBVEUgVkFSSUFCTEU8L2NvbW1hbmQ+IGNvbW1hbmQgaXMgYQorICAgPHByb2R1Y3RuYW1l PlBvc3RncmVTUUw8L3Byb2R1Y3RuYW1lPiBleHRlbnNpb24uCisgIDwvcGFyYT4KKyA8L3JlZnNl Y3QxPgorCisgPHJlZnNlY3QxPgorICA8dGl0bGU+U2VlIEFsc288L3RpdGxlPgorCisgIDxzaW1w bGVsaXN0IHR5cGU9ImlubGluZSI+CisgICA8bWVtYmVyPjx4cmVmIGxpbmtlbmQ9InNxbC1kcm9w dmFyaWFibGUiLz48L21lbWJlcj4KKyAgPC9zaW1wbGVsaXN0PgorIDwvcmVmc2VjdDE+CisKKzwv cmVmZW50cnk+CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmL2Ryb3BfdmFyaWFibGUuc2dt bCBiL2RvYy9zcmMvc2dtbC9yZWYvZHJvcF92YXJpYWJsZS5zZ21sCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5lODUxN2E3ODIwMAotLS0gL2Rldi9udWxsCisrKyBiL2Rv Yy9zcmMvc2dtbC9yZWYvZHJvcF92YXJpYWJsZS5zZ21sCkBAIC0wLDAgKzEsODQgQEAKKzwhLS0K K2RvYy9zcmMvc2dtbC9yZWYvZHJvcF92YXJpYWJsZS5zZ21sCitQb3N0Z3JlU1FMIGRvY3VtZW50 YXRpb24KKy0tPgorCis8cmVmZW50cnkgaWQ9InNxbC1kcm9wdmFyaWFibGUiPgorIDxpbmRleHRl cm0gem9uZT0ic3FsLWRyb3B2YXJpYWJsZSI+CisgIDxwcmltYXJ5PkRST1AgVkFSSUFCTEU8L3By aW1hcnk+CisgPC9pbmRleHRlcm0+CisKKyA8aW5kZXh0ZXJtPgorICA8cHJpbWFyeT5zZXNzaW9u IHZhcmlhYmxlPC9wcmltYXJ5PgorICA8c2Vjb25kYXJ5PnJlbW92aW5nPC9zZWNvbmRhcnk+Cisg PC9pbmRleHRlcm0+CisKKyA8cmVmbWV0YT4KKyAgPHJlZmVudHJ5dGl0bGU+RFJPUCBWQVJJQUJM RTwvcmVmZW50cnl0aXRsZT4KKyAgPG1hbnZvbG51bT43PC9tYW52b2xudW0+CisgIDxyZWZtaXNj aW5mbz5TUUwgLSBMYW5ndWFnZSBTdGF0ZW1lbnRzPC9yZWZtaXNjaW5mbz4KKyA8L3JlZm1ldGE+ CisKKyA8cmVmbmFtZWRpdj4KKyAgPHJlZm5hbWU+RFJPUCBWQVJJQUJMRTwvcmVmbmFtZT4KKyAg PHJlZnB1cnBvc2U+cmVtb3ZlIGEgc2Vzc2lvbiB2YXJpYWJsZTwvcmVmcHVycG9zZT4KKyA8L3Jl Zm5hbWVkaXY+CisKKyA8cmVmc3lub3BzaXNkaXY+Cis8c3lub3BzaXM+CitEUk9QIFZBUklBQkxF IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5uYW1lPC9yZXBsYWNlYWJsZT4KKzwvc3lu b3BzaXM+CisgPC9yZWZzeW5vcHNpc2Rpdj4KKworIDxyZWZzZWN0MT4KKyAgPHRpdGxlPkRlc2Ny aXB0aW9uPC90aXRsZT4KKworICA8cGFyYT4KKyAgIDxjb21tYW5kPkRST1AgVkFSSUFCTEU8L2Nv bW1hbmQ+IHJlbW92ZXMgYSBzZXNzaW9uIHZhcmlhYmxlLgorICAgQSBzZXNzaW9uIHZhcmlhYmxl IGNhbiBvbmx5IGJlIHJlbW92ZWQgYnkgaXRzIG93bmVyIG9yIGEgc3VwZXJ1c2VyLgorICA8L3Bh cmE+CisgPC9yZWZzZWN0MT4KKworIDxyZWZzZWN0MT4KKyAgPHRpdGxlPlBhcmFtZXRlcnM8L3Rp dGxlPgorICA8dmFyaWFibGVsaXN0PgorICAgPHZhcmxpc3RlbnRyeT4KKyAgICA8dGVybT48cmVw bGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVwbGFjZWFibGU+PC90ZXJtPgorICAg IDxsaXN0aXRlbT4KKyAgICAgPHBhcmE+CisgICAgICBUaGUgbmFtZSBvZiBhIHNlc3Npb24gdmFy aWFibGUuCisgICAgIDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0ZW50cnk+ CisgIDwvdmFyaWFibGVsaXN0PgorIDwvcmVmc2VjdDE+CisKKyA8cmVmc2VjdDE+CisgIDx0aXRs ZT5FeGFtcGxlczwvdGl0bGU+CisKKyAgPHBhcmE+CisgICBUbyByZW1vdmUgdGhlIHNlc3Npb24g dmFyaWFibGUgPGxpdGVyYWw+dmFyMTwvbGl0ZXJhbD46CisKKzxwcm9ncmFtbGlzdGluZz4KK0RS T1AgVkFSSUFCTEUgdmFyMTsKKzwvcHJvZ3JhbWxpc3Rpbmc+PC9wYXJhPgorIDwvcmVmc2VjdDE+ CisKKyA8cmVmc2VjdDE+CisgIDx0aXRsZT5Db21wYXRpYmlsaXR5PC90aXRsZT4KKworICA8cGFy YT4KKyAgIFRoZSA8Y29tbWFuZD5EUk9QIFZBUklBQkxFPC9jb21tYW5kPiBjb21tYW5kIGlzIGEK KyAgIDxwcm9kdWN0bmFtZT5Qb3N0Z3JlU1FMPC9wcm9kdWN0bmFtZT4gZXh0ZW5zaW9uLgorICA8 L3BhcmE+CisgPC9yZWZzZWN0MT4KKworIDxyZWZzZWN0MT4KKyAgPHRpdGxlPlNlZSBBbHNvPC90 aXRsZT4KKworICA8c2ltcGxlbGlzdCB0eXBlPSJpbmxpbmUiPgorICAgPG1lbWJlcj48eHJlZiBs aW5rZW5kPSJzcWwtY3JlYXRldmFyaWFibGUiLz48L21lbWJlcj4KKyAgPC9zaW1wbGVsaXN0Pgor IDwvcmVmc2VjdDE+CisKKzwvcmVmZW50cnk+CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVm ZXJlbmNlLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmZXJlbmNlLnNnbWwKaW5kZXggMmNmMDJjMzdi MTcuLmMwM2U3NjkyYzdhIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVmZXJlbmNlLnNnbWwK KysrIGIvZG9jL3NyYy9zZ21sL3JlZmVyZW5jZS5zZ21sCkBAIC0xMjcsNiArMTI3LDcgQEAKICAg ICZjcmVhdGVUeXBlOwogICAgJmNyZWF0ZVVzZXI7CiAgICAmY3JlYXRlVXNlck1hcHBpbmc7Cisg ICAmY3JlYXRlVmFyaWFibGU7CiAgICAmY3JlYXRlVmlldzsKICAgICZkZWFsbG9jYXRlOwogICAg JmRlY2xhcmU7CkBAIC0xNzUsNiArMTc2LDcgQEAKICAgICZkcm9wVHlwZTsKICAgICZkcm9wVXNl cjsKICAgICZkcm9wVXNlck1hcHBpbmc7CisgICAmZHJvcFZhcmlhYmxlOwogICAgJmRyb3BWaWV3 OwogICAgJmVuZDsKICAgICZleGVjdXRlOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFu ZHMvTWFrZWZpbGUgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9NYWtlZmlsZQppbmRleCBmOTlhY2Zk MmI0Yi4uMjlmZTg3MmRjMTYgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL01ha2Vm aWxlCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL01ha2VmaWxlCkBAIC01Myw2ICs1Myw3IEBA IE9CSlMgPSBcCiAJc2NoZW1hY21kcy5vIFwKIAlzZWNsYWJlbC5vIFwKIAlzZXF1ZW5jZS5vIFwK KwlzZXNzaW9uX3ZhcmlhYmxlLm8gXAogCXN0YXRzY21kcy5vIFwKIAlzdWJzY3JpcHRpb25jbWRz Lm8gXAogCXRhYmxlY21kcy5vIFwKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2Ry b3BjbWRzLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9kcm9wY21kcy5jCmluZGV4IGNlYjlhMjI5 YjYzLi45NTI0Zjg2Nzg1NyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvZHJvcGNt ZHMuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9kcm9wY21kcy5jCkBAIC0yMiw2ICsyMiw3 IEBACiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19uYW1lc3BhY2UuaCIKICNpbmNsdWRlICJjYXRhbG9n L3BnX3Byb2MuaCIKICNpbmNsdWRlICJjb21tYW5kcy9kZWZyZW0uaCIKKyNpbmNsdWRlICJjb21t YW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmgiCiAjaW5jbHVkZSAibWlzY2FkbWluLmgiCiAjaW5jbHVk ZSAicGFyc2VyL3BhcnNlX3R5cGUuaCIKICNpbmNsdWRlICJ1dGlscy9hY2wuaCIKZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL21lc29uLmJ1aWxkIGIvc3JjL2JhY2tlbmQvY29tbWFu ZHMvbWVzb24uYnVpbGQKaW5kZXggOWY2NDBhZDQ4MTAuLmJlZWNmM2M4YWRmIDEwMDY0NAotLS0g YS9zcmMvYmFja2VuZC9jb21tYW5kcy9tZXNvbi5idWlsZAorKysgYi9zcmMvYmFja2VuZC9jb21t YW5kcy9tZXNvbi5idWlsZApAQCAtNDEsNiArNDEsNyBAQCBiYWNrZW5kX3NvdXJjZXMgKz0gZmls ZXMoCiAgICdzY2hlbWFjbWRzLmMnLAogICAnc2VjbGFiZWwuYycsCiAgICdzZXF1ZW5jZS5jJywK KyAgJ3Nlc3Npb25fdmFyaWFibGUuYycsCiAgICdzdGF0c2NtZHMuYycsCiAgICdzdWJzY3JpcHRp b25jbWRzLmMnLAogICAndGFibGVjbWRzLmMnLApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29t bWFuZHMvc2Vzc2lvbl92YXJpYWJsZS5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvc2Vzc2lvbl92 YXJpYWJsZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5kNzhlODJi ODdjMAotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3Nlc3Npb25fdmFy aWFibGUuYwpAQCAtMCwwICsxLDIxOCBAQAorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKgorICogc2Vz c2lvbl92YXJpYWJsZS5jCisgKgkgIHNlc3Npb24gdmFyaWFibGUgY3JlYXRpb24vbWFuaXB1bGF0 aW9uIGNvbW1hbmRzCisgKgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAxOTk2LTIwMjUsIFBv c3RncmVTUUwgR2xvYmFsIERldmVsb3BtZW50IEdyb3VwCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQg KGMpIDE5OTQsIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYQorICoKKyAq CisgKiBJREVOVElGSUNBVElPTgorICoJICBzcmMvYmFja2VuZC9jb21tYW5kcy9zZXNzaW9uX3Zh cmlhYmxlLmMKKyAqCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqLworI2luY2x1ZGUgInBvc3RncmVz LmgiCisKKyNpbmNsdWRlICJhY2Nlc3MvaHR1cF9kZXRhaWxzLmgiCisjaW5jbHVkZSAiY2F0YWxv Zy9wZ19sYW5ndWFnZS5oIgorI2luY2x1ZGUgImNhdGFsb2cvcGdfcHJvYy5oIgorI2luY2x1ZGUg ImNhdGFsb2cvcGdfdHlwZS5oIgorI2luY2x1ZGUgImNvbW1hbmRzL3Nlc3Npb25fdmFyaWFibGUu aCIKKyNpbmNsdWRlICJtaXNjYWRtaW4uaCIKKyNpbmNsdWRlICJwYXJzZXIvcGFyc2VfdHlwZS5o IgorI2luY2x1ZGUgInN0b3JhZ2UvcHJvYy5oIgorI2luY2x1ZGUgInV0aWxzL2FjbC5oIgorI2lu Y2x1ZGUgInV0aWxzL2J1aWx0aW5zLmgiCisjaW5jbHVkZSAidXRpbHMvZGF0dW0uaCIKKyNpbmNs dWRlICJ1dGlscy9sc3lzY2FjaGUuaCIKKyNpbmNsdWRlICJ1dGlscy9tZW11dGlscy5oIgorI2lu Y2x1ZGUgInV0aWxzL3N5c2NhY2hlLmgiCisKKy8qCisgKiBUaGUgc2Vzc2lvbiB2YXJpYWJsZXMg YXJlIHN0b3JlZCBpbiB0aGUgYmFja2VuZCdzIHByaXZhdGUgbWVtb3J5IChkYXRhLAorICogbWV0 YWRhdGEpIGluIHRoZSBkZWRpY2F0ZWQgbWVtb3J5IGNvbnRleHQgU1ZhcmlhYmxlTWVtb3J5Q29u dGV4dCBpbiBiaW5hcnkKKyAqIGZvcm1hdC4gVGhleSBhcmUgc3RvcmVkIGluIHRoZSAic2Vzc2lv bnZhcnMiIGhhc2ggdGFibGUsIHdob3NlIGtleSBpcyB0aGUKKyAqIG5hbWUgb2YgdGhlIHZhcmlh YmxlLgorICoKKyAqIE9ubHkgb3duZXIgKGNyZWF0b3IpIGNhbiBhY2Nlc3MgdGhlIHNlc3Npb24g dmFyaWFibGVzLiBCZWNhdXNlIHRoZXJlIGlzCisgKiBub3QgY2F0YWxvZyBzdXBwb3J0LCB0aGVy ZSBpcyBub3QgcG9zc2liaWxpdHkgdG8gdHJhY2sgZGVwZW5kZWNpZXMsIGFuZAorICogdGhlbiBv bmx5IGJ1aWxkaW4gdHlwZXMuCisgKi8KK3R5cGVkZWYgc3RydWN0IFNWYXJpYWJsZURhdGEKK3sK KwlOYW1lRGF0YQl2YXJuYW1lOworCisJT2lkCQkJdmFyb3duZXI7CisJT2lkCQkJdmFydHlwZTsK KwlpbnQzMgkJdmFydHlwbW9kOworCU9pZAkJCXZhcmNvbGxhdGlvbjsKKworCWJvb2wJCWlzbnVs bDsKKwlEYXR1bQkJdmFsdWU7CisKKwlpbnQxNgkJdHlwbGVuOworCWJvb2wJCXR5cGJ5dmFsOwor fSBTVmFyaWFibGVEYXRhOworCit0eXBlZGVmIFNWYXJpYWJsZURhdGEgKlNWYXJpYWJsZTsKKwor c3RhdGljIEhUQUIgKnNlc3Npb252YXJzID0gTlVMTDsJLyogaGFzaCB0YWJsZSBmb3Igc2Vzc2lv biB2YXJpYWJsZXMgKi8KKworc3RhdGljIE1lbW9yeUNvbnRleHQgU1ZhcmlhYmxlTWVtb3J5Q29u dGV4dCA9IE5VTEw7CisKKy8qCisgKiBDcmVhdGUgdGhlIGhhc2ggdGFibGUgZm9yIHN0b3Jpbmcg c2Vzc2lvbiB2YXJpYWJsZXMuCisgKi8KK3N0YXRpYyB2b2lkCitjcmVhdGVfc2Vzc2lvbnZhcnNf aGFzaHRhYmxlcyh2b2lkKQoreworCUhBU0hDVEwJCXZhcnNfY3RsOworCisJQXNzZXJ0KCFzZXNz aW9udmFycyk7CisKKwlpZiAoIVNWYXJpYWJsZU1lbW9yeUNvbnRleHQpCisJeworCQkvKiB3ZSBu ZWVkIG91ciBvd24gbG9uZy1saXZlZCBtZW1vcnkgY29udGV4dCAqLworCQlTVmFyaWFibGVNZW1v cnlDb250ZXh0ID0KKwkJCUFsbG9jU2V0Q29udGV4dENyZWF0ZShUb3BNZW1vcnlDb250ZXh0LAor CQkJCQkJCQkgICJzZXNzaW9uIHZhcmlhYmxlcyIsCisJCQkJCQkJCSAgQUxMT0NTRVRfU1RBUlRf U01BTExfU0laRVMpOworCX0KKworCXZhcnNfY3RsLmtleXNpemUgPSBOQU1FREFUQUxFTjsKKwl2 YXJzX2N0bC5lbnRyeXNpemUgPSBzaXplb2YoU1ZhcmlhYmxlRGF0YSk7CisJdmFyc19jdGwuaGN4 dCA9IFNWYXJpYWJsZU1lbW9yeUNvbnRleHQ7CisKKwlzZXNzaW9udmFycyA9IGhhc2hfY3JlYXRl KCJTZXNzaW9uIHZhcmlhYmxlcyIsIDY0LCAmdmFyc19jdGwsCisJCQkJCQkJICBIQVNIX0VMRU0g fCBIQVNIX1NUUklOR1MgfCBIQVNIX0NPTlRFWFQpOworfQorCisvKgorICogUmV0dXJucyBlbnRy eSBvZiBzZXNzaW9uIHZhcmlhYmxlIHNwZWNpZmllZCBieSBuYW1lCisgKi8KK3N0YXRpYyBTVmFy aWFibGUKK3NlYXJjaF92YXJpYWJsZShjaGFyICp2YXJuYW1lKQoreworCVNWYXJpYWJsZQlzdmFy OworCisJaWYgKCFzZXNzaW9udmFycykKKwkJY3JlYXRlX3Nlc3Npb252YXJzX2hhc2h0YWJsZXMo KTsKKworCXN2YXIgPSAoU1ZhcmlhYmxlKSBoYXNoX3NlYXJjaChzZXNzaW9udmFycywgdmFybmFt ZSwKKwkJCQkJCQkJICAgSEFTSF9GSU5ELCBOVUxMKTsKKworCWlmICghc3ZhcikKKwkJZXJlcG9y dChFUlJPUiwKKwkJCQkoZXJyY29kZShFUlJDT0RFX1VOREVGSU5FRF9PQkpFQ1QpLAorCQkJCSBl cnJtc2coInNlc3Npb24gdmFyaWFibGUgXCIlc1wiIGRvZXNuJ3QgZXhpc3QiLAorCQkJCQkJdmFy bmFtZSkpKTsKKworCXJldHVybiBzdmFyOworfQorCisvKgorICogQ3JlYXRlcyBhIG5ldyB2YXJp YWJsZSAtIGRvZXMgbmV3IGVudHJ5IGluIHNlc3Npb252YXJzCisgKgorICogVXNlZCBieSBDUkVB VEUgVkFSSUFCTEUgY29tbWFuZAorICovCit2b2lkCitDcmVhdGVWYXJpYWJsZShQYXJzZVN0YXRl ICpwc3RhdGUsIENyZWF0ZVNlc3Npb25WYXJTdG10ICpzdG10KQoreworCU9pZAkJCXR5cGVpZDsK KwlpbnQzMgkJdHlwbW9kOworCU9pZAkJCXR5cGNvbGxhdGlvbjsKKwlPaWQJCQl2YXJvd25lciA9 IEdldFVzZXJJZCgpOworCVNWYXJpYWJsZQlzdmFyOworCWJvb2wJCWZvdW5kOworCUhlYXBUdXBs ZQlwcm9jdHVwOworCUZvcm1fcGdfcHJvYyBwcm9jOworCWludDE2CQl0eXBsZW47CisJYm9vbAkJ dHlwYnl2YWw7CisJT2lkCQkJdHlwaW5wdXQ7CisJT2lkCQkJdHlwaW9wYXJhbTsKKwlBY2xSZXN1 bHQJYWNscmVzdWx0OworCisJdHlwZW5hbWVUeXBlSWRBbmRNb2QocHN0YXRlLCBzdG10LT50eXBl TmFtZSwgJnR5cGVpZCwgJnR5cG1vZCk7CisKKwlpZiAoZ2V0X3R5cHR5cGUodHlwZWlkKSAhPSBU WVBUWVBFX0JBU0UpCisJCWVyZXBvcnQoRVJST1IsCisJCQkJKGVycmNvZGUoRVJSQ09ERV9XUk9O R19PQkpFQ1RfVFlQRSksCisJCQkJIGVycm1zZygiJXMgaXMgbm90IGEgYmFzZSB0eXBlIiwKKwkJ CQkJCWZvcm1hdF90eXBlX2JlKHR5cGVpZCkpKSk7CisKKwlpZiAoT2lkSXNWYWxpZChnZXRfZWxl bWVudF90eXBlKHR5cGVpZCkpKQorCQllcmVwb3J0KEVSUk9SLAorCQkJCShlcnJjb2RlKEVSUkNP REVfV1JPTkdfT0JKRUNUX1RZUEUpLAorCQkJCSBlcnJtc2coIiVzIHR5cGUgaXMgYW4gYXJyYXki LAorCQkJCQkJZm9ybWF0X3R5cGVfYmUodHlwZWlkKSkpKTsKKworCWFjbHJlc3VsdCA9IG9iamVj dF9hY2xjaGVjayhUeXBlUmVsYXRpb25JZCwgdHlwZWlkLCBHZXRVc2VySWQoKSwgQUNMX1VTQUdF KTsKKwlpZiAoYWNscmVzdWx0ICE9IEFDTENIRUNLX09LKQorCQlhY2xjaGVja19lcnJvcl90eXBl KGFjbHJlc3VsdCwgdHlwZWlkKTsKKworCS8qIGFsbG93IG9ubHkgYnVpbGRpbiB0eXBlcyAqLwor CWdldFR5cGVJbnB1dEluZm8odHlwZWlkLCAmdHlwaW5wdXQsICZ0eXBpb3BhcmFtKTsKKworCXBy b2N0dXAgPSBTZWFyY2hTeXNDYWNoZTEoUFJPQ09JRCwgT2JqZWN0SWRHZXREYXR1bSh0eXBpbnB1 dCkpOworCWlmICghSGVhcFR1cGxlSXNWYWxpZChwcm9jdHVwKSkKKwkJZWxvZyhFUlJPUiwgImNh bm5vdCB0byBmaW5kIGZ1bmN0aW9uIG9pZCAlZCIsIHR5cGlucHV0KTsKKworCXByb2MgPSAoRm9y bV9wZ19wcm9jKSBHRVRTVFJVQ1QocHJvY3R1cCk7CisJaWYgKHByb2MtPnByb2xhbmcgIT0gSU5U RVJOQUxsYW5ndWFnZUlkKQorCQllcmVwb3J0KEVSUk9SLAorCQkJCShlcnJjb2RlKEVSUkNPREVf V1JPTkdfT0JKRUNUX1RZUEUpLAorCQkJCSBlcnJtc2coIiVzIGlzIG5vdCBhIGludGVybmFsIHR5 cGUiLAorCQkJCQkJZm9ybWF0X3R5cGVfYmUodHlwZWlkKSkpKTsKKworCVJlbGVhc2VTeXNDYWNo ZShwcm9jdHVwKTsKKworCWdldF90eXBsZW5ieXZhbCh0eXBlaWQsICZ0eXBsZW4sICZ0eXBieXZh bCk7CisJdHlwY29sbGF0aW9uID0gZ2V0X3R5cGNvbGxhdGlvbih0eXBlaWQpOworCisJaWYgKCFz ZXNzaW9udmFycykKKwkJY3JlYXRlX3Nlc3Npb252YXJzX2hhc2h0YWJsZXMoKTsKKworCXN2YXIg PSBoYXNoX3NlYXJjaChzZXNzaW9udmFycywgc3RtdC0+bmFtZSwKKwkJCQkJICAgSEFTSF9FTlRF UiwgJmZvdW5kKTsKKworCWlmIChmb3VuZCkKKwkJZXJlcG9ydChFUlJPUiwKKwkJCQkoZXJyY29k ZShFUlJDT0RFX0RVUExJQ0FURV9PQkpFQ1QpLAorCQkJCSBlcnJtc2coInNlc3Npb24gdmFyaWFi bGUgXCIlc1wiIGFscmVhZHkgZXhpc3RzIiwKKwkJCQkJCXN0bXQtPm5hbWUpKSk7CisKKwluYW1l c3RyY3B5KCZzdmFyLT52YXJuYW1lLCBzdG10LT5uYW1lKTsKKwlzdmFyLT52YXJ0eXBlID0gdHlw ZWlkOworCXN2YXItPnZhcnR5cG1vZCA9IHR5cG1vZDsKKwlzdmFyLT52YXJjb2xsYXRpb24gPSB0 eXBjb2xsYXRpb247CisJc3Zhci0+dmFyb3duZXIgPSB2YXJvd25lcjsKKwlzdmFyLT50eXBsZW4g PSB0eXBsZW47CisJc3Zhci0+dHlwYnl2YWwgPSB0eXBieXZhbDsKKworCXN2YXItPnZhbHVlID0g KERhdHVtKSAwOworCXN2YXItPmlzbnVsbCA9IHRydWU7Cit9CisKKy8qCisgKiBEcm9wIHZhcmlh YmxlIGJ5IG5hbWUKKyAqLwordm9pZAorRHJvcFZhcmlhYmxlQnlOYW1lKGNoYXIgKnZhcm5hbWUp Cit7CisJU1ZhcmlhYmxlCXN2YXI7CisKKwlzdmFyID0gc2VhcmNoX3ZhcmlhYmxlKHZhcm5hbWUp OworCisJLyogb25seSBvd25lciBjYW4gZ2V0IGNvbnRlbnQgb2YgdmFyaWFibGUgKi8KKwlpZiAo c3Zhci0+dmFyb3duZXIgIT0gR2V0VXNlcklkKCkgJiYgIXN1cGVydXNlcigpKQorCQllcmVwb3J0 KEVSUk9SLAorCQkJCShlcnJjb2RlKEVSUkNPREVfSU5TVUZGSUNJRU5UX1BSSVZJTEVHRSksCisJ CQkJIGVycm1zZygibXVzdCBiZSBvd25lciBvZiBzZXNzaW9uIHZhcmlhYmxlICVzIiwKKwkJCQkJ CXZhcm5hbWUpKSk7CisKKwkodm9pZCkgaGFzaF9zZWFyY2goc2Vzc2lvbnZhcnMsCisJCQkJCSAg IHZhcm5hbWUsCisJCQkJCSAgIEhBU0hfUkVNT1ZFLAorCQkJCQkgICBOVUxMKTsKK30KZGlmZiAt LWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkgYi9zcmMvYmFja2VuZC9wYXJzZXIvZ3Jh bS55CmluZGV4IGMzYTBhMzU0YTljLi4wYTVlZmQ3MzNkYyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tl bmQvcGFyc2VyL2dyYW0ueQorKysgYi9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55CkBAIC0yOTAs MTMgKzI5MCwxMyBAQCBzdGF0aWMgTm9kZSAqbWFrZVJlY3Vyc2l2ZVZpZXdTZWxlY3QoY2hhciAq cmVsbmFtZSwgTGlzdCAqYWxpYXNlcywgTm9kZSAqcXVlcnkpOwogCQlDb25zdHJhaW50c1NldFN0 bXQgQ29weVN0bXQgQ3JlYXRlQXNTdG10IENyZWF0ZUNhc3RTdG10CiAJCUNyZWF0ZURvbWFpblN0 bXQgQ3JlYXRlRXh0ZW5zaW9uU3RtdCBDcmVhdGVHcm91cFN0bXQgQ3JlYXRlT3BDbGFzc1N0bXQK IAkJQ3JlYXRlT3BGYW1pbHlTdG10IEFsdGVyT3BGYW1pbHlTdG10IENyZWF0ZVBMYW5nU3RtdAot CQlDcmVhdGVTY2hlbWFTdG10IENyZWF0ZVNlcVN0bXQgQ3JlYXRlU3RtdCBDcmVhdGVTdGF0c1N0 bXQgQ3JlYXRlVGFibGVTcGFjZVN0bXQKLQkJQ3JlYXRlRmR3U3RtdCBDcmVhdGVGb3JlaWduU2Vy dmVyU3RtdCBDcmVhdGVGb3JlaWduVGFibGVTdG10CisJCUNyZWF0ZVNjaGVtYVN0bXQgQ3JlYXRl U2VxU3RtdCBDcmVhdGVTZXNzaW9uVmFyU3RtdCBDcmVhdGVTdG10IENyZWF0ZVN0YXRzU3RtdAor CQlDcmVhdGVUYWJsZVNwYWNlU3RtdCBDcmVhdGVGZHdTdG10IENyZWF0ZUZvcmVpZ25TZXJ2ZXJT dG10IENyZWF0ZUZvcmVpZ25UYWJsZVN0bXQKIAkJQ3JlYXRlQXNzZXJ0aW9uU3RtdCBDcmVhdGVU cmFuc2Zvcm1TdG10IENyZWF0ZVRyaWdTdG10IENyZWF0ZUV2ZW50VHJpZ1N0bXQKIAkJQ3JlYXRl VXNlclN0bXQgQ3JlYXRlVXNlck1hcHBpbmdTdG10IENyZWF0ZVJvbGVTdG10IENyZWF0ZVBvbGlj eVN0bXQKIAkJQ3JlYXRlZGJTdG10IERlY2xhcmVDdXJzb3JTdG10IERlZmluZVN0bXQgRGVsZXRl U3RtdCBEaXNjYXJkU3RtdCBEb1N0bXQKIAkJRHJvcE9wQ2xhc3NTdG10IERyb3BPcEZhbWlseVN0 bXQgRHJvcFN0bXQKLQkJRHJvcENhc3RTdG10IERyb3BSb2xlU3RtdAorCQlEcm9wQ2FzdFN0bXQg RHJvcFJvbGVTdG10IERyb3BTZXNzaW9uVmFyU3RtdAogCQlEcm9wZGJTdG10IERyb3BUYWJsZVNw YWNlU3RtdAogCQlEcm9wVHJhbnNmb3JtU3RtdAogCQlEcm9wVXNlck1hcHBpbmdTdG10IEV4cGxh aW5TdG10IEZldGNoU3RtdApAQCAtNzg5LDggKzc4OSw4IEBAIHN0YXRpYyBOb2RlICptYWtlUmVj dXJzaXZlVmlld1NlbGVjdChjaGFyICpyZWxuYW1lLCBMaXN0ICphbGlhc2VzLCBOb2RlICpxdWVy eSk7CiAJVUVTQ0FQRSBVTkJPVU5ERUQgVU5DT05ESVRJT05BTCBVTkNPTU1JVFRFRCBVTkVOQ1JZ UFRFRCBVTklPTiBVTklRVUUgVU5LTk9XTgogCVVOTElTVEVOIFVOTE9HR0VEIFVOVElMIFVQREFU RSBVU0VSIFVTSU5HCiAKLQlWQUNVVU0gVkFMSUQgVkFMSURBVEUgVkFMSURBVE9SIFZBTFVFX1Ag VkFMVUVTIFZBUkNIQVIgVkFSSUFESUMgVkFSWUlORwotCVZFUkJPU0UgVkVSU0lPTl9QIFZJRVcg VklFV1MgVklSVFVBTCBWT0xBVElMRQorCVZBQ1VVTSBWQUxJRCBWQUxJREFURSBWQUxJREFUT1Ig VkFMVUVfUCBWQUxVRVMgVkFSQ0hBUiBWQVJJQURJQyBWQVJJQUJMRQorCVZBUllJTkcgVkVSQk9T RSBWRVJTSU9OX1AgVklFVyBWSUVXUyBWSVJUVUFMIFZPTEFUSUxFCiAKIAlXQUlUIFdIRU4gV0hF UkUgV0hJVEVTUEFDRV9QIFdJTkRPVyBXSVRIIFdJVEhJTiBXSVRIT1VUIFdPUksgV1JBUFBFUiBX UklURQogCkBAIC0xMDU2LDYgKzEwNTYsNyBAQCBzdG10OgogCQkJfCBDcmVhdGVQb2xpY3lTdG10 CiAJCQl8IENyZWF0ZVBMYW5nU3RtdAogCQkJfCBDcmVhdGVTY2hlbWFTdG10CisJCQl8IENyZWF0 ZVNlc3Npb25WYXJTdG10CiAJCQl8IENyZWF0ZVNlcVN0bXQKIAkJCXwgQ3JlYXRlU3RtdAogCQkJ fCBDcmVhdGVTdWJzY3JpcHRpb25TdG10CkBAIC0xMDgzLDYgKzEwODQsNyBAQCBzdG10OgogCQkJ fCBEcm9wVGFibGVTcGFjZVN0bXQKIAkJCXwgRHJvcFRyYW5zZm9ybVN0bXQKIAkJCXwgRHJvcFJv bGVTdG10CisJCQl8IERyb3BTZXNzaW9uVmFyU3RtdAogCQkJfCBEcm9wVXNlck1hcHBpbmdTdG10 CiAJCQl8IERyb3BkYlN0bXQKIAkJCXwgRXhlY3V0ZVN0bXQKQEAgLTUzMzYsNiArNTMzOCw0NyBA QCBjcmVhdGVfZXh0ZW5zaW9uX29wdF9pdGVtOgogCQkJCX0KIAkJOwogCisvKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioKKyAqCisgKgkJUVVFUlkgOgorICoJCQkJQ1JFQVRFIHsgVEVNUCB8IFRFTVBPUkFS WSB9IFZBUklBQkxFIHZhcm5hbWUgW0FTXSB0eXBlCisgKgorICoqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq LworCitDcmVhdGVTZXNzaW9uVmFyU3RtdDoKKwkJCUNSRUFURSBPcHRUZW1wIFZBUklBQkxFIENv bElkIG9wdF9hcyBUeXBlbmFtZQorCQkJCXsKKwkJCQkJQ3JlYXRlU2Vzc2lvblZhclN0bXQgKm4g PSBtYWtlTm9kZShDcmVhdGVTZXNzaW9uVmFyU3RtdCk7CisKKwkJCQkJaWYgKCQyICE9IFJFTFBF UlNJU1RFTkNFX1RFTVApCisJCQkJCQllcmVwb3J0KEVSUk9SLAorCQkJCQkJCShlcnJjb2RlKEVS UkNPREVfRkVBVFVSRV9OT1RfU1VQUE9SVEVEKSwKKwkJCQkJCQkgZXJybXNnKCJvbmx5IHRlbXBv cmFsIHNlc3Npb24gdmFyaWFibGVzIGFyZSBzdXBwb3J0ZWQiKSwKKwkJCQkJCQkgcGFyc2VyX2Vy cnBvc2l0aW9uKEAyKSkpOworCisJCQkJCW4tPm5hbWUgPSAkNDsKKwkJCQkJbi0+dHlwZU5hbWUg PSAkNjsKKwkJCQkJJCQgPSAoTm9kZSAqKSBuOworCQkJCX0KKwkJOworCisvKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioKKyAqCisgKgkJUVVFUlkgOgorICoJCQkJRFJPUCBWQVJJQUJMRSB2YXJuYW1lCisg KgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqLworCitEcm9wU2Vzc2lvblZhclN0bXQ6CisJCQlEUk9Q IFZBUklBQkxFIENvbElkCisJCQkJeworCQkJCQlEcm9wU2Vzc2lvblZhclN0bXQgKm4gPSBtYWtl Tm9kZShEcm9wU2Vzc2lvblZhclN0bXQpOworCisJCQkJCW4tPm5hbWUgPSAkMzsKKwkJCQkJJCQg PSAoTm9kZSAqKSBuOworCQkJCX0KKwkJOworCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqCiAg KiBBTFRFUiBFWFRFTlNJT04gbmFtZSBVUERBVEUgWyBUTyB2ZXJzaW9uIF0KQEAgLTE4MTU0LDYg KzE4MTk3LDcgQEAgdW5yZXNlcnZlZF9rZXl3b3JkOgogCQkJfCBWQUxJREFURQogCQkJfCBWQUxJ REFUT1IKIAkJCXwgVkFMVUVfUAorCQkJfCBWQVJJQUJMRQogCQkJfCBWQVJZSU5HCiAJCQl8IFZF UlNJT05fUAogCQkJfCBWSUVXCkBAIC0xODgxMiw2ICsxODg1Niw3IEBAIGJhcmVfbGFiZWxfa2V5 d29yZDoKIAkJCXwgVkFMVUVfUAogCQkJfCBWQUxVRVMKIAkJCXwgVkFSQ0hBUgorCQkJfCBWQVJJ QUJMRQogCQkJfCBWQVJJQURJQwogCQkJfCBWRVJCT1NFCiAJCQl8IFZFUlNJT05fUApkaWZmIC0t Z2l0IGEvc3JjL2JhY2tlbmQvdGNvcC91dGlsaXR5LmMgYi9zcmMvYmFja2VuZC90Y29wL3V0aWxp dHkuYwppbmRleCBkMThhM2E2MGE0Ni4uN2RjOWMwYTZjODAgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNr ZW5kL3Rjb3AvdXRpbGl0eS5jCisrKyBiL3NyYy9iYWNrZW5kL3Rjb3AvdXRpbGl0eS5jCkBAIC00 OCw2ICs0OCw3IEBACiAjaW5jbHVkZSAiY29tbWFuZHMvc2NoZW1hY21kcy5oIgogI2luY2x1ZGUg ImNvbW1hbmRzL3NlY2xhYmVsLmgiCiAjaW5jbHVkZSAiY29tbWFuZHMvc2VxdWVuY2UuaCIKKyNp bmNsdWRlICJjb21tYW5kcy9zZXNzaW9uX3ZhcmlhYmxlLmgiCiAjaW5jbHVkZSAiY29tbWFuZHMv c3Vic2NyaXB0aW9uY21kcy5oIgogI2luY2x1ZGUgImNvbW1hbmRzL3RhYmxlY21kcy5oIgogI2lu Y2x1ZGUgImNvbW1hbmRzL3RhYmxlc3BhY2UuaCIKQEAgLTE4Myw2ICsxODQsNyBAQCBDbGFzc2lm eVV0aWxpdHlDb21tYW5kQXNSZWFkT25seShOb2RlICpwYXJzZXRyZWUpCiAJCWNhc2UgVF9DcmVh dGVSYW5nZVN0bXQ6CiAJCWNhc2UgVF9DcmVhdGVSb2xlU3RtdDoKIAkJY2FzZSBUX0NyZWF0ZVNj aGVtYVN0bXQ6CisJCWNhc2UgVF9DcmVhdGVTZXNzaW9uVmFyU3RtdDoKIAkJY2FzZSBUX0NyZWF0 ZVNlcVN0bXQ6CiAJCWNhc2UgVF9DcmVhdGVTdGF0c1N0bXQ6CiAJCWNhc2UgVF9DcmVhdGVTdG10 OgpAQCAtMjAxLDYgKzIwMyw3IEBAIENsYXNzaWZ5VXRpbGl0eUNvbW1hbmRBc1JlYWRPbmx5KE5v ZGUgKnBhcnNldHJlZSkKIAkJY2FzZSBUX0Ryb3BUYWJsZVNwYWNlU3RtdDoKIAkJY2FzZSBUX0Ry b3BVc2VyTWFwcGluZ1N0bXQ6CiAJCWNhc2UgVF9Ecm9wZGJTdG10OgorCQljYXNlIFRfRHJvcFNl c3Npb25WYXJTdG10OgogCQljYXNlIFRfR3JhbnRSb2xlU3RtdDoKIAkJY2FzZSBUX0dyYW50U3Rt dDoKIAkJY2FzZSBUX0ltcG9ydEZvcmVpZ25TY2hlbWFTdG10OgpAQCAtMTA2Myw2ICsxMDY2LDE1 IEBAIHN0YW5kYXJkX1Byb2Nlc3NVdGlsaXR5KFBsYW5uZWRTdG10ICpwc3RtdCwKIAkJCX0KIAkJ CWJyZWFrOwogCisJCWNhc2UgVF9DcmVhdGVTZXNzaW9uVmFyU3RtdDoKKwkJCUNyZWF0ZVZhcmlh YmxlKHBzdGF0ZSwgKENyZWF0ZVNlc3Npb25WYXJTdG10ICopIHBhcnNldHJlZSk7CisJCQlicmVh azsKKworCQljYXNlIFRfRHJvcFNlc3Npb25WYXJTdG10OgorCQkJLyogTm8gZXZlbnQgdHJpZ2dl cnMgZm9yIGNhdGFsb2cgbGVzcyBzZXNzaW9uIHZhcmlhYmxlcyAqLworCQkJRHJvcFZhcmlhYmxl QnlOYW1lKCgoRHJvcFNlc3Npb25WYXJTdG10ICopIHBhcnNldHJlZSktPm5hbWUpOworCQkJYnJl YWs7CisKIAkJZGVmYXVsdDoKIAkJCS8qIEFsbCBvdGhlciBzdGF0ZW1lbnQgdHlwZXMgaGF2ZSBl dmVudCB0cmlnZ2VyIHN1cHBvcnQgKi8KIAkJCVByb2Nlc3NVdGlsaXR5U2xvdyhwc3RhdGUsIHBz dG10LCBxdWVyeVN0cmluZywKQEAgLTEzODgsNiArMTQwMCw3IEBAIFByb2Nlc3NVdGlsaXR5U2xv dyhQYXJzZVN0YXRlICpwc3RhdGUsCiAJCQkJfQogCQkJCWJyZWFrOwogCisKIAkJCQkvKgogCQkJ CSAqICoqKioqKioqKioqKiogb2JqZWN0IGNyZWF0aW9uIC8gZGVzdHJ1Y3Rpb24gKioqKioqKioq KioqKioKIAkJCQkgKi8KQEAgLTMyMzUsNiArMzI0OCwxNCBAQCBDcmVhdGVDb21tYW5kVGFnKE5v ZGUgKnBhcnNldHJlZSkKIAkJCX0KIAkJCWJyZWFrOwogCisJCWNhc2UgVF9DcmVhdGVTZXNzaW9u VmFyU3RtdDoKKwkJCXRhZyA9IENNRFRBR19DUkVBVEVfVkFSSUFCTEU7CisJCQlicmVhazsKKwor CQljYXNlIFRfRHJvcFNlc3Npb25WYXJTdG10OgorCQkJdGFnID0gQ01EVEFHX0RST1BfVkFSSUFC TEU7CisJCQlicmVhazsKKwogCQlkZWZhdWx0OgogCQkJZWxvZyhXQVJOSU5HLCAidW5yZWNvZ25p emVkIG5vZGUgdHlwZTogJWQiLAogCQkJCSAoaW50KSBub2RlVGFnKHBhcnNldHJlZSkpOwpAQCAt Mzc3Myw2ICszNzk0LDExIEBAIEdldENvbW1hbmRMb2dMZXZlbChOb2RlICpwYXJzZXRyZWUpCiAJ CQl9CiAJCQlicmVhazsKIAorCQljYXNlIFRfQ3JlYXRlU2Vzc2lvblZhclN0bXQ6CisJCWNhc2Ug VF9Ecm9wU2Vzc2lvblZhclN0bXQ6CisJCQlsZXYgPSBMT0dTVE1UX0RETDsKKwkJCWJyZWFrOwor CiAJCWRlZmF1bHQ6CiAJCQllbG9nKFdBUk5JTkcsICJ1bnJlY29nbml6ZWQgbm9kZSB0eXBlOiAl ZCIsCiAJCQkJIChpbnQpIG5vZGVUYWcocGFyc2V0cmVlKSk7CmRpZmYgLS1naXQgYS9zcmMvYmlu L3BzcWwvdGFiLWNvbXBsZXRlLmluLmMgYi9zcmMvYmluL3BzcWwvdGFiLWNvbXBsZXRlLmluLmMK aW5kZXggMjBkN2E2NWM2MTQuLmQyNTdiNGZjMzdhIDEwMDY0NAotLS0gYS9zcmMvYmluL3BzcWwv dGFiLWNvbXBsZXRlLmluLmMKKysrIGIvc3JjL2Jpbi9wc3FsL3RhYi1jb21wbGV0ZS5pbi5jCkBA IC0xMzYzLDYgKzEzNjMsNyBAQCBzdGF0aWMgY29uc3QgcGdzcWxfdGhpbmdfdCB3b3Jkc19hZnRl cl9jcmVhdGVbXSA9IHsKIAkJCQkJCQkJCQkJCQkJCQkJCQkgKiBUQUJMRSAuLi4gKi8KIAl7IlVT RVIiLCBRdWVyeV9mb3JfbGlzdF9vZl9yb2xlcywgTlVMTCwgTlVMTCwgS2V5d29yZHNfZm9yX3Vz ZXJfdGhpbmd9LAogCXsiVVNFUiBNQVBQSU5HIEZPUiIsIE5VTEwsIE5VTEwsIE5VTEx9LAorCXsi VkFSSUFCTEUiLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLCBUSElOR19OT19BTFRFUn0sCiAJeyJW SUVXIiwgTlVMTCwgTlVMTCwgJlF1ZXJ5X2Zvcl9saXN0X29mX3ZpZXdzfSwKIAl7TlVMTH0JCQkJ CQkvKiBlbmQgb2YgbGlzdCAqLwogfTsKQEAgLTM3MjMsNyArMzcyNCw3IEBAIG1hdGNoX3ByZXZp b3VzX3dvcmRzKGludCBwYXR0ZXJuX2lkLAogLyogQ1JFQVRFIFRBQkxFIC0tLSBpcyBhbGxvd2Vk IGluc2lkZSBDUkVBVEUgU0NIRU1BLCBzbyB1c2UgVGFpbE1hdGNoZXMgKi8KIAkvKiBDb21wbGV0 ZSAiQ1JFQVRFIFRFTVAvVEVNUE9SQVJZIiB3aXRoIHRoZSBwb3NzaWJsZSB0ZW1wIG9iamVjdHMg Ki8KIAllbHNlIGlmIChUYWlsTWF0Y2hlcygiQ1JFQVRFIiwgIlRFTVB8VEVNUE9SQVJZIikpCi0J CUNPTVBMRVRFX1dJVEgoIlNFUVVFTkNFIiwgIlRBQkxFIiwgIlZJRVciKTsKKwkJQ09NUExFVEVf V0lUSCgiU0VRVUVOQ0UiLCAiVEFCTEUiLCAiVkFSSUFCTEUiLCAiVklFVyIpOwogCS8qIENvbXBs ZXRlICJDUkVBVEUgVU5MT0dHRUQiIHdpdGggVEFCTEUgb3IgU0VRVUVOQ0UgKi8KIAllbHNlIGlm IChUYWlsTWF0Y2hlcygiQ1JFQVRFIiwgIlVOTE9HR0VEIikpCiAJCUNPTVBMRVRFX1dJVEgoIlRB QkxFIiwgIlNFUVVFTkNFIik7CkBAIC00MDc2LDYgKzQwNzcsMTMgQEAgbWF0Y2hfcHJldmlvdXNf d29yZHMoaW50IHBhdHRlcm5faWQsCiAJCQlDT01QTEVURV9XSVRIKCIsIiwgIikiKTsKIAl9CiAK Ky8qIENSRUFURSBWQVJJQUJMRSAqLworCWVsc2UgaWYgKE1hdGNoZXMoIkNSRUFURSIsICJURU1Q fFRFTVBPUkFSWSIsICJWQVJJQUJMRSIsIE1hdGNoQW55KSkKKwkJQ09NUExFVEVfV0lUSCgiQVMi KTsKKwllbHNlIGlmIChUYWlsTWF0Y2hlcygiVkFSSUFCTEUiLCBNYXRjaEFueSwgIkFTIikpCisJ CS8qIENvbXBsZXRlIENSRUFURSBWQVJJQUJMRSA8bmFtZT4gd2l0aCBBUyB0eXBlcyAqLworCQlD T01QTEVURV9XSVRIX1NDSEVNQV9RVUVSWShRdWVyeV9mb3JfbGlzdF9vZl9kYXRhdHlwZXMpOwor CiAvKiBDUkVBVEUgVklFVyAtLS0gaXMgYWxsb3dlZCBpbnNpZGUgQ1JFQVRFIFNDSEVNQSwgc28g dXNlIFRhaWxNYXRjaGVzICovCiAJLyogQ29tcGxldGUgQ1JFQVRFIFsgT1IgUkVQTEFDRSBdIFZJ RVcgPG5hbWU+IHdpdGggQVMgb3IgV0lUSCAqLwogCWVsc2UgaWYgKFRhaWxNYXRjaGVzKCJDUkVB VEUiLCAiVklFVyIsIE1hdGNoQW55KSB8fApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY29tbWFu ZHMvc2Vzc2lvbl92YXJpYWJsZS5oIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvc2Vzc2lvbl92YXJp YWJsZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4xZWQ0MGQ4N2Ez OAotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Nlc3Npb25fdmFyaWFi bGUuaApAQCAtMCwwICsxLDI1IEBACisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqCisgKiBzZXNzaW9u dmFyaWFibGUuaAorICoJICBwcm90b3R5cGVzIGZvciBzZXNzaW9udmFyaWFibGUuYy4KKyAqCisg KgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAxOTk2LTIwMjUsIFBvc3RncmVTUUwgR2xvYmFs IERldmVsb3BtZW50IEdyb3VwCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDE5OTQsIFJlZ2Vu dHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYQorICoKKyAqIHNyYy9pbmNsdWRlL2Nv bW1hbmRzL3Nlc3Npb25fdmFyaWFibGUuaAorICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCisK KyNpZm5kZWYgU0VTU0lPTlZBUklBQkxFX0gKKyNkZWZpbmUgU0VTU0lPTlZBUklBQkxFX0gKKwor I2luY2x1ZGUgImNhdGFsb2cvb2JqZWN0YWRkcmVzcy5oIgorI2luY2x1ZGUgInBhcnNlci9wYXJz ZV9ub2RlLmgiCisjaW5jbHVkZSAibm9kZXMvcGFyc2Vub2Rlcy5oIgorCitleHRlcm4gdm9pZCBD cmVhdGVWYXJpYWJsZShQYXJzZVN0YXRlICpwc3RhdGUsIENyZWF0ZVNlc3Npb25WYXJTdG10ICpz dG10KTsKK2V4dGVybiB2b2lkIERyb3BWYXJpYWJsZUJ5TmFtZShjaGFyICp2YXJuYW1lKTsKKwor I2VuZGlmCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmggYi9zcmMv aW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmgKaW5kZXggZDE0Mjk0YTRlY2UuLjU2N2U1OTcwZTUw IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmgKKysrIGIvc3JjL2lu Y2x1ZGUvbm9kZXMvcGFyc2Vub2Rlcy5oCkBAIC0zNTU1LDYgKzM1NTUsMjkgQEAgdHlwZWRlZiBz dHJ1Y3QgQWx0ZXJTdGF0c1N0bXQKIAlib29sCQltaXNzaW5nX29rOwkJLyogc2tpcCBlcnJvciBp ZiBzdGF0aXN0aWNzIG9iamVjdCBpcyBtaXNzaW5nICovCiB9IEFsdGVyU3RhdHNTdG10OwogCisK Ky8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqCQlDcmVhdGUgVmFyaWFibGUgU3RhdGVtZW50 CisgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8KK3R5cGVkZWYgc3RydWN0IENyZWF0ZVNl c3Npb25WYXJTdG10Cit7CisJTm9kZVRhZwkJdHlwZTsKKwljaGFyCSAgICpuYW1lOwkJLyogdGhl IHZhcmlhYmxlIHRvIGNyZWF0ZSAqLworCVR5cGVOYW1lICAgKnR5cGVOYW1lOwkJLyogdGhlIHR5 cGUgb2YgdmFyaWFibGUgKi8KK30gQ3JlYXRlU2Vzc2lvblZhclN0bXQ7CisKKy8qIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KKyAqCQlEUk9QIFZhcmlhYmxlIFN0YXRlbWVudAorICogLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorICovCit0eXBlZGVmIHN0cnVjdCBEcm9wU2Vzc2lvblZhclN0bXQKK3sK KwlOb2RlVGFnCQl0eXBlOworCWNoYXIJICAgKm5hbWU7Cit9IERyb3BTZXNzaW9uVmFyU3RtdDsK KworCiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgKgkJQ3JlYXRlIEZ1bmN0aW9uIFN0YXRl bWVudAogICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUv cGFyc2VyL2t3bGlzdC5oIGIvc3JjL2luY2x1ZGUvcGFyc2VyL2t3bGlzdC5oCmluZGV4IDVkNGZl MjdlZjk2Li44YjFmMmJkM2I2OCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvcGFyc2VyL2t3bGlz dC5oCisrKyBiL3NyYy9pbmNsdWRlL3BhcnNlci9rd2xpc3QuaApAQCAtNDg5LDYgKzQ4OSw3IEBA IFBHX0tFWVdPUkQoInZhbGlkYXRvciIsIFZBTElEQVRPUiwgVU5SRVNFUlZFRF9LRVlXT1JELCBC QVJFX0xBQkVMKQogUEdfS0VZV09SRCgidmFsdWUiLCBWQUxVRV9QLCBVTlJFU0VSVkVEX0tFWVdP UkQsIEJBUkVfTEFCRUwpCiBQR19LRVlXT1JEKCJ2YWx1ZXMiLCBWQUxVRVMsIENPTF9OQU1FX0tF WVdPUkQsIEJBUkVfTEFCRUwpCiBQR19LRVlXT1JEKCJ2YXJjaGFyIiwgVkFSQ0hBUiwgQ09MX05B TUVfS0VZV09SRCwgQkFSRV9MQUJFTCkKK1BHX0tFWVdPUkQoInZhcmlhYmxlIiwgVkFSSUFCTEUs IFVOUkVTRVJWRURfS0VZV09SRCwgQkFSRV9MQUJFTCkKIFBHX0tFWVdPUkQoInZhcmlhZGljIiwg VkFSSUFESUMsIFJFU0VSVkVEX0tFWVdPUkQsIEJBUkVfTEFCRUwpCiBQR19LRVlXT1JEKCJ2YXJ5 aW5nIiwgVkFSWUlORywgVU5SRVNFUlZFRF9LRVlXT1JELCBBU19MQUJFTCkKIFBHX0tFWVdPUkQo InZlcmJvc2UiLCBWRVJCT1NFLCBUWVBFX0ZVTkNfTkFNRV9LRVlXT1JELCBCQVJFX0xBQkVMKQpk aWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvdGNvcC9jbWR0YWdsaXN0LmggYi9zcmMvaW5jbHVkZS90 Y29wL2NtZHRhZ2xpc3QuaAppbmRleCBjNDYwNmQ2NTA0My4uN2U1OWQwYTUyNzUgMTAwNjQ0Ci0t LSBhL3NyYy9pbmNsdWRlL3Rjb3AvY21kdGFnbGlzdC5oCisrKyBiL3NyYy9pbmNsdWRlL3Rjb3Av Y21kdGFnbGlzdC5oCkBAIC0xMjMsNiArMTIzLDcgQEAgUEdfQ01EVEFHKENNRFRBR19DUkVBVEVf VFJBTlNGT1JNLCAiQ1JFQVRFIFRSQU5TRk9STSIsIHRydWUsIGZhbHNlLCBmYWxzZSkKIFBHX0NN RFRBRyhDTURUQUdfQ1JFQVRFX1RSSUdHRVIsICJDUkVBVEUgVFJJR0dFUiIsIHRydWUsIGZhbHNl LCBmYWxzZSkKIFBHX0NNRFRBRyhDTURUQUdfQ1JFQVRFX1RZUEUsICJDUkVBVEUgVFlQRSIsIHRy dWUsIGZhbHNlLCBmYWxzZSkKIFBHX0NNRFRBRyhDTURUQUdfQ1JFQVRFX1VTRVJfTUFQUElORywg IkNSRUFURSBVU0VSIE1BUFBJTkciLCB0cnVlLCBmYWxzZSwgZmFsc2UpCitQR19DTURUQUcoQ01E VEFHX0NSRUFURV9WQVJJQUJMRSwgIkNSRUFURSBWQVJJQUJMRSIsIHRydWUsIGZhbHNlLCBmYWxz ZSkKIFBHX0NNRFRBRyhDTURUQUdfQ1JFQVRFX1ZJRVcsICJDUkVBVEUgVklFVyIsIHRydWUsIGZh bHNlLCBmYWxzZSkKIFBHX0NNRFRBRyhDTURUQUdfREVBTExPQ0FURSwgIkRFQUxMT0NBVEUiLCBm YWxzZSwgZmFsc2UsIGZhbHNlKQogUEdfQ01EVEFHKENNRFRBR19ERUFMTE9DQVRFX0FMTCwgIkRF QUxMT0NBVEUgQUxMIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSkKQEAgLTE3NSw2ICsxNzYsNyBAQCBQ R19DTURUQUcoQ01EVEFHX0RST1BfVFJBTlNGT1JNLCAiRFJPUCBUUkFOU0ZPUk0iLCB0cnVlLCBm YWxzZSwgZmFsc2UpCiBQR19DTURUQUcoQ01EVEFHX0RST1BfVFJJR0dFUiwgIkRST1AgVFJJR0dF UiIsIHRydWUsIGZhbHNlLCBmYWxzZSkKIFBHX0NNRFRBRyhDTURUQUdfRFJPUF9UWVBFLCAiRFJP UCBUWVBFIiwgdHJ1ZSwgZmFsc2UsIGZhbHNlKQogUEdfQ01EVEFHKENNRFRBR19EUk9QX1VTRVJf TUFQUElORywgIkRST1AgVVNFUiBNQVBQSU5HIiwgdHJ1ZSwgZmFsc2UsIGZhbHNlKQorUEdfQ01E VEFHKENNRFRBR19EUk9QX1ZBUklBQkxFLCAiRFJPUCBWQVJJQUJMRSIsIHRydWUsIGZhbHNlLCBm YWxzZSkKIFBHX0NNRFRBRyhDTURUQUdfRFJPUF9WSUVXLCAiRFJPUCBWSUVXIiwgdHJ1ZSwgZmFs c2UsIGZhbHNlKQogUEdfQ01EVEFHKENNRFRBR19FWEVDVVRFLCAiRVhFQ1VURSIsIGZhbHNlLCBm YWxzZSwgZmFsc2UpCiBQR19DTURUQUcoQ01EVEFHX0VYUExBSU4sICJFWFBMQUlOIiwgZmFsc2Us IGZhbHNlLCBmYWxzZSkKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc2Vz c2lvbl92YXJpYWJsZXNfZGRsLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc2Vzc2lv bl92YXJpYWJsZXNfZGRsLm91dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw MC4uY2M2ZjU5ZThiZTUKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL3Nlc3Npb25fdmFyaWFibGVzX2RkbC5vdXQKQEAgLTAsMCArMSw0MyBAQAorU0VUIGxvZ19z dGF0ZW1lbnQgVE8gZGRsOworLS0gc2hvdWxkIHRvIGZhaWwKK0NSRUFURSBWQVJJQUJMRSB4IEFT IGludDsKK0VSUk9SOiAgb25seSB0ZW1wb3JhbCBzZXNzaW9uIHZhcmlhYmxlcyBhcmUgc3VwcG9y dGVkCistLSBzaG91bGQgYmUgb2sKK0NSRUFURSBURU1QT1JBUlkgVkFSSUFCTEUgeCBBUyBpbnQ7 CistLSBzaG91bGQgdG8gZmFpbAorQ1JFQVRFIFRFTVBPUkFSWSBWQVJJQUJMRSB4IEFTIGludDsK K0VSUk9SOiAgc2Vzc2lvbiB2YXJpYWJsZSAieCIgYWxyZWFkeSBleGlzdHMKKy0tIHNob3VsZCB0 byBmYWlsCitEUk9QIFZBUklBQkxFIHk7CitFUlJPUjogIHNlc3Npb24gdmFyaWFibGUgInkiIGRv ZXNuJ3QgZXhpc3QKKy0tIHNob3VsZCBiZSBvaworRFJPUCBWQVJJQUJMRSB4OworQ1JFQVRFIFRZ UEUgdGVzdF90eXBlIEFTICh4IGludCwgeSBpbnQpOworLS0gc2hvdWxkIHRvIGZhaWwKK0NSRUFU RSBWQVJJQUJMRSB4IEFTIHRlc3RfdHlwZTsKK0VSUk9SOiAgb25seSB0ZW1wb3JhbCBzZXNzaW9u IHZhcmlhYmxlcyBhcmUgc3VwcG9ydGVkCitEUk9QIFRZUEUgdGVzdF90eXBlOworLS0gc2hvdWxk IHRvIGZhaWwKK0NSRUFURSBWQVJJQUJMRSB4IEFTIGludFtdOworRVJST1I6ICBvbmx5IHRlbXBv cmFsIHNlc3Npb24gdmFyaWFibGVzIGFyZSBzdXBwb3J0ZWQKK0NSRUFURSBET01BSU4gdGVzdF9k b21haW4gQVMgaW50OworLS0gc2hvdWxkIHRvIGZhaWwKK0NSRUFURSBWQVJJQUJMRSB4IEFTIHRl c3RfZG9tYWluOworRVJST1I6ICBvbmx5IHRlbXBvcmFsIHNlc3Npb24gdmFyaWFibGVzIGFyZSBz dXBwb3J0ZWQKK0RST1AgRE9NQUlOIHRlc3RfZG9tYWluOworQ1JFQVRFIFJPTEUgcmVncmVzc19z ZXNzaW9uX3ZhcmlhYmxlX3Rlc3Rfcm9sZV8wMTsKK0NSRUFURSBST0xFIHJlZ3Jlc3Nfc2Vzc2lv bl92YXJpYWJsZV90ZXN0X3JvbGVfMDI7CitTRVQgUk9MRSBUTyByZWdyZXNzX3Nlc3Npb25fdmFy aWFibGVfdGVzdF9yb2xlXzAxOworQ1JFQVRFIFRFTVAgVkFSSUFCTEUgeCBBUyBpbnQ7CitTRVQg Uk9MRSBUTyBkZWZhdWx0OworU0VUIFJPTEUgVE8gcmVncmVzc19zZXNzaW9uX3ZhcmlhYmxlX3Rl c3Rfcm9sZV8wMjsKKy0tIHNob3VsZCB0byBmYWlsCitEUk9QIFZBUklBQkxFIHg7CitFUlJPUjog IG11c3QgYmUgb3duZXIgb2Ygc2Vzc2lvbiB2YXJpYWJsZSB4CitTRVQgUk9MRSBUTyBkZWZhdWx0 OworU0VUIFJPTEUgVE8gcmVncmVzc19zZXNzaW9uX3ZhcmlhYmxlX3Rlc3Rfcm9sZV8wMTsKKy0t IHNob3VsZCBiZSBvaworRFJPUCBWQVJJQUJMRSB4OworU0VUIFJPTEUgVE8gREVGQVVMVDsKK0RS T1AgUk9MRSByZWdyZXNzX3Nlc3Npb25fdmFyaWFibGVfdGVzdF9yb2xlXzAxOworRFJPUCBST0xF IHJlZ3Jlc3Nfc2Vzc2lvbl92YXJpYWJsZV90ZXN0X3JvbGVfMDI7CmRpZmYgLS1naXQgYS9zcmMv dGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlIGIvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxl bF9zY2hlZHVsZQppbmRleCBjYzZkNzk5YmNlYS4uOWRhN2M2YWI5MjggMTAwNjQ0Ci0tLSBhL3Ny Yy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9w YXJhbGxlbF9zY2hlZHVsZQpAQCAtMTE1LDcgKzExNSw3IEBAIHRlc3Q6IGpzb24ganNvbmIganNv bl9lbmNvZGluZyBqc29ucGF0aCBqc29ucGF0aF9lbmNvZGluZyBqc29uYl9qc29ucGF0aCBzcWxq c29uCiAjIE5COiB0ZW1wLnNxbCBkb2VzIHJlY29ubmVjdHMgd2hpY2ggdHJhbnNpZW50bHkgdXNl cyAyIGNvbm5lY3Rpb25zLAogIyBzbyBrZWVwIHRoaXMgcGFyYWxsZWwgZ3JvdXAgdG8gYXQgbW9z dCAxOSB0ZXN0cwogIyAtLS0tLS0tLS0tCi10ZXN0OiBwbGFuY2FjaGUgbGltaXQgcGxwZ3NxbCBj b3B5MiB0ZW1wIGRvbWFpbiByYW5nZWZ1bmNzIHByZXBhcmUgY29udmVyc2lvbiB0cnVuY2F0ZSBh bHRlcl90YWJsZSBzZXF1ZW5jZSBwb2x5bW9ycGhpc20gcm93dHlwZXMgcmV0dXJuaW5nIGxhcmdl b2JqZWN0IHdpdGggeG1sCit0ZXN0OiBwbGFuY2FjaGUgbGltaXQgcGxwZ3NxbCBjb3B5MiB0ZW1w IGRvbWFpbiByYW5nZWZ1bmNzIHByZXBhcmUgY29udmVyc2lvbiB0cnVuY2F0ZSBhbHRlcl90YWJs ZSBzZXF1ZW5jZSBwb2x5bW9ycGhpc20gcm93dHlwZXMgcmV0dXJuaW5nIGxhcmdlb2JqZWN0IHdp dGggeG1sIHNlc3Npb25fdmFyaWFibGVzX2RkbAogCiAjIC0tLS0tLS0tLS0KICMgQW5vdGhlciBn cm91cCBvZiBwYXJhbGxlbCB0ZXN0cwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwv c2Vzc2lvbl92YXJpYWJsZXNfZGRsLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Nlc3Npb25f dmFyaWFibGVzX2RkbC5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAu LjkyZTk3ZWEyYWIwCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc2Vz c2lvbl92YXJpYWJsZXNfZGRsLnNxbApAQCAtMCwwICsxLDU2IEBACitTRVQgbG9nX3N0YXRlbWVu dCBUTyBkZGw7CisKKy0tIHNob3VsZCB0byBmYWlsCitDUkVBVEUgVkFSSUFCTEUgeCBBUyBpbnQ7 CisKKy0tIHNob3VsZCBiZSBvaworQ1JFQVRFIFRFTVBPUkFSWSBWQVJJQUJMRSB4IEFTIGludDsK KworLS0gc2hvdWxkIHRvIGZhaWwKK0NSRUFURSBURU1QT1JBUlkgVkFSSUFCTEUgeCBBUyBpbnQ7 CisKKy0tIHNob3VsZCB0byBmYWlsCitEUk9QIFZBUklBQkxFIHk7CisKKy0tIHNob3VsZCBiZSBv aworRFJPUCBWQVJJQUJMRSB4OworCitDUkVBVEUgVFlQRSB0ZXN0X3R5cGUgQVMgKHggaW50LCB5 IGludCk7CisKKy0tIHNob3VsZCB0byBmYWlsCitDUkVBVEUgVkFSSUFCTEUgeCBBUyB0ZXN0X3R5 cGU7CisKK0RST1AgVFlQRSB0ZXN0X3R5cGU7CisKKy0tIHNob3VsZCB0byBmYWlsCitDUkVBVEUg VkFSSUFCTEUgeCBBUyBpbnRbXTsKKworQ1JFQVRFIERPTUFJTiB0ZXN0X2RvbWFpbiBBUyBpbnQ7 CisKKy0tIHNob3VsZCB0byBmYWlsCitDUkVBVEUgVkFSSUFCTEUgeCBBUyB0ZXN0X2RvbWFpbjsK KworRFJPUCBET01BSU4gdGVzdF9kb21haW47CisKK0NSRUFURSBST0xFIHJlZ3Jlc3Nfc2Vzc2lv bl92YXJpYWJsZV90ZXN0X3JvbGVfMDE7CitDUkVBVEUgUk9MRSByZWdyZXNzX3Nlc3Npb25fdmFy aWFibGVfdGVzdF9yb2xlXzAyOworCitTRVQgUk9MRSBUTyByZWdyZXNzX3Nlc3Npb25fdmFyaWFi bGVfdGVzdF9yb2xlXzAxOworCitDUkVBVEUgVEVNUCBWQVJJQUJMRSB4IEFTIGludDsKKworU0VU IFJPTEUgVE8gZGVmYXVsdDsKK1NFVCBST0xFIFRPIHJlZ3Jlc3Nfc2Vzc2lvbl92YXJpYWJsZV90 ZXN0X3JvbGVfMDI7CisKKy0tIHNob3VsZCB0byBmYWlsCitEUk9QIFZBUklBQkxFIHg7CisKK1NF VCBST0xFIFRPIGRlZmF1bHQ7CitTRVQgUk9MRSBUTyByZWdyZXNzX3Nlc3Npb25fdmFyaWFibGVf dGVzdF9yb2xlXzAxOworCistLSBzaG91bGQgYmUgb2sKK0RST1AgVkFSSUFCTEUgeDsKKworU0VU IFJPTEUgVE8gREVGQVVMVDsKK0RST1AgUk9MRSByZWdyZXNzX3Nlc3Npb25fdmFyaWFibGVfdGVz dF9yb2xlXzAxOworRFJPUCBST0xFIHJlZ3Jlc3Nfc2Vzc2lvbl92YXJpYWJsZV90ZXN0X3JvbGVf MDI7CmRpZmYgLS1naXQgYS9zcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdCBiL3NyYy90 b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0CmluZGV4IGNmM2Y2YTdkYWZkLi4wODg1ZTU1ZmRl YyAxMDA2NDQKLS0tIGEvc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QKKysrIGIvc3Jj L3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QKQEAgLTU2Miw2ICs1NjIsNyBAQCBDcmVhdGVS b2xlU3RtdAogQ3JlYXRlU2NoZW1hU3RtdAogQ3JlYXRlU2NoZW1hU3RtdENvbnRleHQKIENyZWF0 ZVNlcVN0bXQKK0NyZWF0ZVNlc3Npb25WYXJTdG10CiBDcmVhdGVTdGF0c1N0bXQKIENyZWF0ZVN0 bXQKIENyZWF0ZVN0bXRDb250ZXh0CkBAIC02NjYsNiArNjY3LDcgQEAgRHJvcEJlaGF2aW9yCiBE cm9wT3duZWRTdG10CiBEcm9wUmVwbGljYXRpb25TbG90Q21kCiBEcm9wUm9sZVN0bXQKK0Ryb3BT ZXNzaW9uVmFyU3RtdAogRHJvcFN0bXQKIERyb3BTdWJzY3JpcHRpb25TdG10CiBEcm9wVGFibGVT cGFjZVN0bXQKQEAgLTI2NzAsNiArMjY3Miw4IEBAIFNTTF9DVFgKIFNUQVJUVVBJTkZPCiBTVFJM RU4KIFNWCitTVmFyaWFibGVEYXRhCitTVmFyaWFibGUKIFNZTkNIUk9OSVpBVElPTl9CQVJSSUVS CiBTWVNURU1fSU5GTwogU2FtcGxlU2NhbgotLSAKMi41Mi4wCgo= --0000000000001a90410644c99b27--