Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tpOd9-004exq-RP for pgsql-hackers@arkaria.postgresql.org; Tue, 04 Mar 2025 09:32:04 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1tpOd8-00Ag4B-KO for pgsql-hackers@arkaria.postgresql.org; Tue, 04 Mar 2025 09:32:02 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tpOd8-00Ag43-57 for pgsql-hackers@lists.postgresql.org; Tue, 04 Mar 2025 09:32:02 +0000 Received: from mail-yb1-xb2d.google.com ([2607:f8b0:4864:20::b2d]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1tpOd4-000sD4-23 for pgsql-hackers@postgresql.org; Tue, 04 Mar 2025 09:32:01 +0000 Received: by mail-yb1-xb2d.google.com with SMTP id 3f1490d57ef6-e60aef2711fso2922748276.2 for ; Tue, 04 Mar 2025 01:31:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=datadoghq.com; s=google; t=1741080718; x=1741685518; darn=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=rANWg2BKap0ir0gSpEuLF2ZmUjFfJqC5FHYLQF2MSfM=; b=P2S+aULnt/fHWulWrpFq4/bsi7WOxDmeMVirPmReWvJZIzSWOafoz1p+XNU4CMBK1V vGZu0+hf9IsjXuizvLrWUtAPvRG4KS2zJU7I6Zswq0QWQKVMMrDFBSU3UepeXpR74Ja7 kfXXmbpAmWl5dZ1cmamHBt69Ta7F2e3KOiF/c= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741080718; x=1741685518; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=rANWg2BKap0ir0gSpEuLF2ZmUjFfJqC5FHYLQF2MSfM=; b=v6enTpED+9ue3qnmgRenNB+ZD46wHiK8BO8o0M0NV7i1y4tZzMBaC3cfOStHnyqvx/ KBr3+zoE0W03MpZTOPOh3DATgxxsTyrmo3mjtNwYHJT+FY4aVyVCYLJQ7iJSSY5YF3c/ Zib7G3dQ0aSbsBpV4Xctu/uNptju9iJJ7q2UXZ+CxTWxv2YltMbqN0qGE7IYYeoEiEaN hRD960ydL/1kgGSGCZBjIkN69UOb9eItKONJAbjqyClYtIxqR6KfEvy1hVsBM1P+/qRM +6PwxaFcRKs34EXZ7Piaa7bh4WbHdFaIej/0b1o+lOtg8UlJEoSKnKVZqLuvUEh+8HAI gLLQ== X-Forwarded-Encrypted: i=1; AJvYcCUr1k+BLDu/TvbB7ieQyqUvX2hHma4TwyT7U2PuIctxwk2C/dn17/HB38OygyxxhtoDoNU3Su3L/50+2ll7@postgresql.org X-Gm-Message-State: AOJu0YwhVxaZ58vJVe484Qw+wj+uHx0u5uBnZOT2VZKCgoNegD4ABxay adJ69BJlc9yePqKVzJgImjVqQOmM6jSuTUvqud8IHiqw0Wm8qEyHRum49ck+JNPgwMe04Z7mlFG rbHVPyKFAtH7AMrxr6Hp0it6NGGgVKsDNwzGeBzTs4qrgRi3shnxZgw== X-Gm-Gg: ASbGncv6F9a6x3WGe1Hw1kJs1XBS9B/Fud+JrTw3Ddh37vco5KEt+Helvdcrl8HVgo3 1CYgpxHIeLVB8cnK03S0S9I2W/gWSa56xLuIIXcorXE3+AWD7KeM5usfrAYj8e+Q7Tar4ydo03m uc1rXnekoIH6Cwt0QIy4jsF3IOMA== X-Google-Smtp-Source: AGHT+IEQTS8i4J1IYzXmpGJJFRdX5Lert1EmTMRyXWRjJd1KmElyU0CxjYkfm1MTpv2NBEOcW//dt8X6Zw6iKcXazZM= X-Received: by 2002:a05:6902:218e:b0:e5d:d340:b046 with SMTP id 3f1490d57ef6-e60b2f3e9camr18822665276.31.1741080717578; Tue, 04 Mar 2025 01:31:57 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Anthonin Bonnefoy Date: Tue, 4 Mar 2025 10:31:46 +0100 X-Gm-Features: AQ5f1JqADiDLaZwmfeGNJQ2Yed54sM6LnyT7mA-0-EG56tExpASI0ZfFjGxWja4 Message-ID: Subject: Re: Add Pipelining support in psql To: Michael Paquier Cc: Daniel Verite , Jelte Fennema-Nio , PostgreSQL Hackers Content-Type: multipart/mixed; boundary="000000000000b35c86062f80f1be" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000b35c86062f80f1be Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, Mar 4, 2025 at 1:57=E2=80=AFAM Michael Paquier wrote: > Anyway, can we really say that the set of printQueryOpt saved at > execution is the correct set to use? It is possible to have the > opposite argument and say that we should just apply the printQueryOpt > at the moment where \getresult is run. A benefit of that it to keep > the loop retrieving results simpler in ExecQueryAndProcessResults(), > because we pass down to this call *one* printQueryOpt as "opt". > > There's of course the simplicity argument that I do like a lot here, > but applying the printing options at the time of \getresult feels also > more natural to me. Saving the printQueryOpt when a command is pushed was an option I had in mind if that was straightforward to implement. However, even with savePsetInfo, you will need to save values like gfname and gset_prefix since it impacts the output (it may make sense to move those in printQueryOpt). This would also need to be saved for all commands, like \close or \parse since we don't distinguish if a piped command generates an output or not. So that definitely looks like it would add a lot of complexity for limited benefit. > FWIW, I agree that HEAD is unbalanced with its handling of \gx, so we > could do one of the following two things: > 1) Ignore any formatting options given to \g, but also allow \gx to > run, documenting that during a pipeline the formatting options are > ignored, and that the set of options defined when doing a \getresult > is the only thing that matters. > 2) Invent a new meta-command (suggested by Daniel Verite off-list, and > not published to the lists because I don't know how to do a > reply-all), like a \send, a \push, forbiding entirely \gx and \g when > in a pipeline. If we were to integrate options into this new > meta-command, a split with \g would make an integration easier to > think about. One name suggestion I can come up is \sendpipeline. > > I'd consider option 2, based on Daniel's concerns. One line I'm going > to draw here is that we should not go down to manipulations of > printQueryOpt while retrieving batch of results depending on the style > of output that was defined when sending a query in a pipeline. Another possible option would be to directly send the command without requiring an additional meta-command, like "SELECT 1 \bind". However, this would make it more painful to introduce new parameters, plus it makes the \bind and \bind_named inconsistent as it is normally required to send the result with a separate meta-command. I like the \sendpipeline option. It makes it clearer that formatting options are not applicable within a pipeline (at least, in the current implementation) and I think it would make more sense to have those formatting options in \getresults or \endpipeline. I took a stab at creating the \sendpipeline meta-command. I've also realised there's a small leak where fname is currently not freed on queries like 'select ... \bind \gx filename' when within a pipeline, which is fixed in patch 0001. --000000000000b35c86062f80f1be Content-Type: application/octet-stream; name="v01-0001-Fix-fname-leak-on-gx-within-a-pipeline.patch" Content-Disposition: attachment; filename="v01-0001-Fix-fname-leak-on-gx-within-a-pipeline.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_m7uaasa60 RnJvbSA4Mjg2NTM5ZDI0Njk4YjEzZjI4M2E5ZmFlZjZmMmFlYzMwOTNlNzVhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRob25pbiBCb25uZWZveSA8YW50aG9uaW4uYm9ubmVmb3lA ZGF0YWRvZ2hxLmNvbT4KRGF0ZTogVHVlLCA0IE1hciAyMDI1IDA5OjA0OjMxICswMTAwClN1Ympl Y3Q6IEZpeCBmbmFtZSBsZWFrIG9uIFxneCB3aXRoaW4gYSBwaXBlbGluZQoKV2hpbGUgaW5zaWRl IGEgcGlwZWxpbmUsIFxneCBpcyBmb3JiaWRkZW4gYW5kIHdpbGwgbWFrZSBleGVjX2NvbW1hbmRf ZwpleGl0IGVhcmx5LiBJZiBhIGZpbGVuYW1lIHBhcmFtZXRlciB3YXMgcHJvdmlkZWQsIHRoZSBh bGxvY2F0ZWQgZm5hbWUKY3VycmVudGx5IGlzbid0IGZyZWVkLgoKVGhpcyBwYXRjaCBhZGRzIHRo ZSBtaXNzaW5nIGZyZWUgd2hlbiB0aGlzIGhhcHBlbnMuCi0tLQogc3JjL2Jpbi9wc3FsL2NvbW1h bmQuYyB8IDEgKwogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCgpkaWZmIC0tZ2l0IGEv c3JjL2Jpbi9wc3FsL2NvbW1hbmQuYyBiL3NyYy9iaW4vcHNxbC9jb21tYW5kLmMKaW5kZXggMGYy N2JmN2E5MWYuLmZiMGIyNzU2OGM1IDEwMDY0NAotLS0gYS9zcmMvYmluL3BzcWwvY29tbWFuZC5j CisrKyBiL3NyYy9iaW4vcHNxbC9jb21tYW5kLmMKQEAgLTE3MzksNiArMTczOSw3IEBAIGV4ZWNf Y29tbWFuZF9nKFBzcWxTY2FuU3RhdGUgc2Nhbl9zdGF0ZSwgYm9vbCBhY3RpdmVfYnJhbmNoLCBj b25zdCBjaGFyICpjbWQpCiAJCXsKIAkJCXBnX2xvZ19lcnJvcigiXFxneCBub3QgYWxsb3dlZCBp biBwaXBlbGluZSBtb2RlIik7CiAJCQljbGVhbl9leHRlbmRlZF9zdGF0ZSgpOworCQkJZnJlZShm bmFtZSk7CiAJCQlyZXR1cm4gUFNRTF9DTURfRVJST1I7CiAJCX0KIAotLSAKMi4zOS41IChBcHBs ZSBHaXQtMTU0KQoK --000000000000b35c86062f80f1be Content-Type: application/octet-stream; name="v01-0002-psql-Create-new-sendpipeline-meta-command.patch" Content-Disposition: attachment; filename="v01-0002-psql-Create-new-sendpipeline-meta-command.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_m7uaasac1 RnJvbSBkMTc3M2ExMDc1ZDlhYTVmMGM4NzBhZTZkMmJhMWMwNWI2ZjkyZTY1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRob25pbiBCb25uZWZveSA8YW50aG9uaW4uYm9ubmVmb3lA ZGF0YWRvZ2hxLmNvbT4KRGF0ZTogVHVlLCA0IE1hciAyMDI1IDA5OjQ3OjQ1ICswMTAwClN1Ympl Y3Q6IHBzcWw6IENyZWF0ZSBuZXcgXHNlbmRwaXBlbGluZSBtZXRhLWNvbW1hbmQKCkluIHRoZSBp bml0aWFsIHBpcGVsaW5pbmcgc3VwcG9ydCBmb3IgcHNxbCwgXGcgd2FzIHJldXNlZCBhcyBhIHdh eSB0bwpwdXNoIGV4dGVuZGVkIHF1ZXJ5IGludG8gYW4gb25nb2luZyBwaXBlbGluZS4gSG93ZXZl ciwgYWxsIHJlbGF0ZWQKbWV0YS1jb21tYW5kIG9wdGlvbnMgYXJlIG5vdCBhcHBsaWNhYmxlIGlu IHBpcGVsaW5lIG1vZGUuIFBpcGVsaW5lCm91dHB1dCBvbmx5IGhhcHBlbnMgZHVyaW5nIFxnZXRy ZXN1bHRzIG9yIFxlbmRwaXBlbGluZSBhbmQgYW55IGNoYW5nZSB0bwpvdXRwdXQgb3B0aW9ucyB3 b3VsZCBoYXZlIGJlZW4gcmVzZXQuCgpUbyBhdm9pZCBwb3NzaWJsZSBjb25mdXNpb24sIGEgbmV3 IFxzZW5kcGlwZWxpbmUgbWV0YS1jb21tYW5kIGlzCmludHJvZHVjZWQsIHJlcGxhY2luZyBcZyB3 aGVuIHdpdGhpbiBhIHBpcGVsaW5lLgotLS0KIGRvYy9zcmMvc2dtbC9yZWYvcHNxbC1yZWYuc2dt bCAgICAgICAgICAgICAgfCAgMTEgKy0KIHNyYy9iaW4vcHNxbC9jb21tYW5kLmMgICAgICAgICAg ICAgICAgICAgICAgfCAgNDUgKysrLQogc3JjL2Jpbi9wc3FsL2hlbHAuYyAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAgMSArCiBzcmMvYmluL3BzcWwvdGFiLWNvbXBsZXRlLmluLmMgICAgICAg ICAgICAgIHwgICAyICstCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BzcWwub3V0ICAgICAg ICAgIHwgICAxICsKIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHNxbF9waXBlbGluZS5vdXQg fCAyNDUgKysrKysrKysrKystLS0tLS0tLS0KIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3BzcWwuc3Fs ICAgICAgICAgICAgICAgfCAgIDEgKwogc3JjL3Rlc3QvcmVncmVzcy9zcWwvcHNxbF9waXBlbGlu ZS5zcWwgICAgICB8IDIzMCArKysrKysrKystLS0tLS0tLS0KIDggZmlsZXMgY2hhbmdlZCwgMzEw IGluc2VydGlvbnMoKyksIDIyNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3Nn bWwvcmVmL3BzcWwtcmVmLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL3BzcWwtcmVmLnNnbWwKaW5k ZXggY2VkY2NjMTQxMjkuLmNkZGY2ZTA3NTMxIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVm L3BzcWwtcmVmLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9wc3FsLXJlZi5zZ21sCkBAIC0z Njc3LDYgKzM2NzcsNyBAQCB0ZXN0ZGI9Jmd0OyA8dXNlcmlucHV0PlxzZXRlbnYgTEVTUyAtaW14 NEY8L3VzZXJpbnB1dD4KIAogICAgICA8dmFybGlzdGVudHJ5IGlkPSJhcHAtcHNxbC1tZXRhLWNv bW1hbmQtcGlwZWxpbmUiPgogICAgICAgPHRlcm0+PGxpdGVyYWw+XHN0YXJ0cGlwZWxpbmU8L2xp dGVyYWw+PC90ZXJtPgorICAgICAgPHRlcm0+PGxpdGVyYWw+XHNlbmRwaXBlbGluZTwvbGl0ZXJh bD48L3Rlcm0+CiAgICAgICA8dGVybT48bGl0ZXJhbD5cc3luY3BpcGVsaW5lPC9saXRlcmFsPjwv dGVybT4KICAgICAgIDx0ZXJtPjxsaXRlcmFsPlxlbmRwaXBlbGluZTwvbGl0ZXJhbD48L3Rlcm0+ CiAgICAgICA8dGVybT48bGl0ZXJhbD5cZmx1c2hyZXF1ZXN0PC9saXRlcmFsPjwvdGVybT4KQEAg LTM3MDEsMTAgKzM3MDIsMTAgQEAgdGVzdGRiPSZndDsgPHVzZXJpbnB1dD5cc2V0ZW52IExFU1Mg LWlteDRGPC91c2VyaW5wdXQ+CiAgICAgICAgIHF1ZXJpZXMgbmVlZCB0byBiZSBzZW50IHVzaW5n IHRoZSBtZXRhLWNvbW1hbmRzCiAgICAgICAgIDxsaXRlcmFsPlxiaW5kPC9saXRlcmFsPiwgPGxp dGVyYWw+XGJpbmRfbmFtZWQ8L2xpdGVyYWw+LAogICAgICAgICA8bGl0ZXJhbD5cY2xvc2U8L2xp dGVyYWw+IG9yIDxsaXRlcmFsPlxwYXJzZTwvbGl0ZXJhbD4uIFdoaWxlIGEKLSAgICAgICAgcGlw ZWxpbmUgaXMgb25nb2luZywgPGxpdGVyYWw+XGc8L2xpdGVyYWw+IHdpbGwgYXBwZW5kIHRoZSBj dXJyZW50Ci0gICAgICAgIHF1ZXJ5IGJ1ZmZlciB0byB0aGUgcGlwZWxpbmUuIE90aGVyIG1ldGEt Y29tbWFuZHMgbGlrZQotICAgICAgICA8bGl0ZXJhbD5cZ3g8L2xpdGVyYWw+IG9yIDxsaXRlcmFs PlxnZGVzYzwvbGl0ZXJhbD4gYXJlIG5vdCBhbGxvd2VkCi0gICAgICAgIGluIHBpcGVsaW5lIG1v ZGUuCisgICAgICAgIHBpcGVsaW5lIGlzIG9uZ29pbmcsIDxsaXRlcmFsPlxzZW5kcGlwZWxpbmU8 L2xpdGVyYWw+IHdpbGwgYXBwZW5kIHRoZQorICAgICAgICBjdXJyZW50IHF1ZXJ5IGJ1ZmZlciB0 byB0aGUgcGlwZWxpbmUuIE90aGVyIG1ldGEtY29tbWFuZHMgbGlrZQorICAgICAgICA8bGl0ZXJh bD5cZzwvbGl0ZXJhbD4sIDxsaXRlcmFsPlxneDwvbGl0ZXJhbD4gb3IgPGxpdGVyYWw+XGdkZXNj PC9saXRlcmFsPgorICAgICAgICBhcmUgbm90IGFsbG93ZWQgaW4gcGlwZWxpbmUgbW9kZS4KICAg ICAgICA8L3BhcmE+CiAKICAgICAgICA8cGFyYT4KQEAgLTM3MzgsNyArMzczOSw3IEBAIHRlc3Rk Yj0mZ3Q7IDx1c2VyaW5wdXQ+XHNldGVudiBMRVNTIC1pbXg0RjwvdXNlcmlucHV0PgogICAgICAg ICBFeGFtcGxlOgogPHByb2dyYW1saXN0aW5nPgogXHN0YXJ0cGlwZWxpbmUKLVNFTEVDVCAxIFxi aW5kIFxnCitTRUxFQ1QgMSBcYmluZCBcc2VuZHBpcGVsaW5lCiBcZmx1c2hyZXF1ZXN0CiBcZ2V0 cmVzdWx0cwogXGVuZHBpcGVsaW5lCmRpZmYgLS1naXQgYS9zcmMvYmluL3BzcWwvY29tbWFuZC5j IGIvc3JjL2Jpbi9wc3FsL2NvbW1hbmQuYwppbmRleCBmYjBiMjc1NjhjNS4uNzY3MGMyMGIyOWUg MTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcHNxbC9jb21tYW5kLmMKKysrIGIvc3JjL2Jpbi9wc3FsL2Nv bW1hbmQuYwpAQCAtMTM3LDYgKzEzNyw3IEBAIHN0YXRpYyBiYWNrc2xhc2hSZXN1bHQgZXhlY19j b21tYW5kX3NldGVudihQc3FsU2NhblN0YXRlIHNjYW5fc3RhdGUsIGJvb2wgYWN0aXZlCiBzdGF0 aWMgYmFja3NsYXNoUmVzdWx0IGV4ZWNfY29tbWFuZF9zZl9zdihQc3FsU2NhblN0YXRlIHNjYW5f c3RhdGUsIGJvb2wgYWN0aXZlX2JyYW5jaCwKIAkJCQkJCQkJCQkgIGNvbnN0IGNoYXIgKmNtZCwg Ym9vbCBpc19mdW5jKTsKIHN0YXRpYyBiYWNrc2xhc2hSZXN1bHQgZXhlY19jb21tYW5kX3N0YXJ0 cGlwZWxpbmUoUHNxbFNjYW5TdGF0ZSBzY2FuX3N0YXRlLCBib29sIGFjdGl2ZV9icmFuY2gpOwor c3RhdGljIGJhY2tzbGFzaFJlc3VsdCBleGVjX2NvbW1hbmRfc2VuZHBpcGVsaW5lKFBzcWxTY2Fu U3RhdGUgc2Nhbl9zdGF0ZSwgYm9vbCBhY3RpdmVfYnJhbmNoKTsKIHN0YXRpYyBiYWNrc2xhc2hS ZXN1bHQgZXhlY19jb21tYW5kX3N5bmNwaXBlbGluZShQc3FsU2NhblN0YXRlIHNjYW5fc3RhdGUs IGJvb2wgYWN0aXZlX2JyYW5jaCk7CiBzdGF0aWMgYmFja3NsYXNoUmVzdWx0IGV4ZWNfY29tbWFu ZF90KFBzcWxTY2FuU3RhdGUgc2Nhbl9zdGF0ZSwgYm9vbCBhY3RpdmVfYnJhbmNoKTsKIHN0YXRp YyBiYWNrc2xhc2hSZXN1bHQgZXhlY19jb21tYW5kX1QoUHNxbFNjYW5TdGF0ZSBzY2FuX3N0YXRl LCBib29sIGFjdGl2ZV9icmFuY2gpOwpAQCAtNDI3LDYgKzQyOCw4IEBAIGV4ZWNfY29tbWFuZChj b25zdCBjaGFyICpjbWQsCiAJCXN0YXR1cyA9IGV4ZWNfY29tbWFuZF9zZl9zdihzY2FuX3N0YXRl LCBhY3RpdmVfYnJhbmNoLCBjbWQsIGZhbHNlKTsKIAllbHNlIGlmIChzdHJjbXAoY21kLCAic3Rh cnRwaXBlbGluZSIpID09IDApCiAJCXN0YXR1cyA9IGV4ZWNfY29tbWFuZF9zdGFydHBpcGVsaW5l KHNjYW5fc3RhdGUsIGFjdGl2ZV9icmFuY2gpOworCWVsc2UgaWYgKHN0cmNtcChjbWQsICJzZW5k cGlwZWxpbmUiKSA9PSAwKQorCQlzdGF0dXMgPSBleGVjX2NvbW1hbmRfc2VuZHBpcGVsaW5lKHNj YW5fc3RhdGUsIGFjdGl2ZV9icmFuY2gpOwogCWVsc2UgaWYgKHN0cmNtcChjbWQsICJzeW5jcGlw ZWxpbmUiKSA9PSAwKQogCQlzdGF0dXMgPSBleGVjX2NvbW1hbmRfc3luY3BpcGVsaW5lKHNjYW5f c3RhdGUsIGFjdGl2ZV9icmFuY2gpOwogCWVsc2UgaWYgKHN0cmNtcChjbWQsICJ0IikgPT0gMCkK QEAgLTE3MzQsMTAgKzE3MzcsOSBAQCBleGVjX2NvbW1hbmRfZyhQc3FsU2NhblN0YXRlIHNjYW5f c3RhdGUsIGJvb2wgYWN0aXZlX2JyYW5jaCwgY29uc3QgY2hhciAqY21kKQogCiAJaWYgKHN0YXR1 cyA9PSBQU1FMX0NNRF9TS0lQX0xJTkUgJiYgYWN0aXZlX2JyYW5jaCkKIAl7Ci0JCWlmIChzdHJj bXAoY21kLCAiZ3giKSA9PSAwICYmCi0JCQlQUXBpcGVsaW5lU3RhdHVzKHBzZXQuZGIpICE9IFBR X1BJUEVMSU5FX09GRikKKwkJaWYgKFBRcGlwZWxpbmVTdGF0dXMocHNldC5kYikgIT0gUFFfUElQ RUxJTkVfT0ZGKQogCQl7Ci0JCQlwZ19sb2dfZXJyb3IoIlxcZ3ggbm90IGFsbG93ZWQgaW4gcGlw ZWxpbmUgbW9kZSIpOworCQkJcGdfbG9nX2Vycm9yKCJcXCVzIG5vdCBhbGxvd2VkIGluIHBpcGVs aW5lIG1vZGUiLCBjbWQpOwogCQkJY2xlYW5fZXh0ZW5kZWRfc3RhdGUoKTsKIAkJCWZyZWUoZm5h bWUpOwogCQkJcmV0dXJuIFBTUUxfQ01EX0VSUk9SOwpAQCAtMjk3OSw2ICsyOTgxLDQzIEBAIGV4 ZWNfY29tbWFuZF9zdGFydHBpcGVsaW5lKFBzcWxTY2FuU3RhdGUgc2Nhbl9zdGF0ZSwgYm9vbCBh Y3RpdmVfYnJhbmNoKQogCXJldHVybiBzdGF0dXM7CiB9CiAKKy8qCisgKiBcc2VuZHBpcGVsaW5l IC0tIHNlbmQgYW4gZXh0ZW5kZWQgcXVlcnkgdG8gYW4gb25nb2luZyBwaXBlbGluZQorICovCitz dGF0aWMgYmFja3NsYXNoUmVzdWx0CitleGVjX2NvbW1hbmRfc2VuZHBpcGVsaW5lKFBzcWxTY2Fu U3RhdGUgc2Nhbl9zdGF0ZSwgYm9vbCBhY3RpdmVfYnJhbmNoKQoreworCWJhY2tzbGFzaFJlc3Vs dCBzdGF0dXMgPSBQU1FMX0NNRF9TS0lQX0xJTkU7CisKKwlpZiAoYWN0aXZlX2JyYW5jaCkKKwl7 CisJCWlmIChQUXBpcGVsaW5lU3RhdHVzKHBzZXQuZGIpICE9IFBRX1BJUEVMSU5FX09GRikKKwkJ eworCQkJaWYgKHBzZXQuc2VuZF9tb2RlID09IFBTUUxfU0VORF9FWFRFTkRFRF9RVUVSWV9QUkVQ QVJFRCB8fAorCQkJCXBzZXQuc2VuZF9tb2RlID09IFBTUUxfU0VORF9FWFRFTkRFRF9RVUVSWV9Q QVJBTVMpCisJCQl7CisJCQkJc3RhdHVzID0gUFNRTF9DTURfU0VORDsKKwkJCX0KKwkJCWVsc2UK KwkJCXsKKwkJCQlwZ19sb2dfZXJyb3IoIlxcc2VuZHBpcGVsaW5lIG11c3QgYmUgdXNlZCBhZnRl ciBcXGJpbmQgb3IgXFxiaW5kX25hbWVkIik7CisJCQkJY2xlYW5fZXh0ZW5kZWRfc3RhdGUoKTsK KwkJCQlyZXR1cm4gUFNRTF9DTURfRVJST1I7CisJCQl9CisJCX0KKwkJZWxzZQorCQl7CisJCQlw Z19sb2dfZXJyb3IoIlxcc2VuZHBpcGVsaW5lIG5vdCBhbGxvd2VkIG91dHNpZGUgb2YgcGlwZWxp bmUgbW9kZSIpOworCQkJY2xlYW5fZXh0ZW5kZWRfc3RhdGUoKTsKKwkJCXJldHVybiBQU1FMX0NN RF9FUlJPUjsKKwkJfQorCX0KKwllbHNlCisJCWlnbm9yZV9zbGFzaF9vcHRpb25zKHNjYW5fc3Rh dGUpOworCisJcmV0dXJuIHN0YXR1czsKK30KKwogLyoKICAqIFxzeW5jcGlwZWxpbmUgLS0gc2Vu ZCBhIHN5bmMgbWVzc2FnZSB0byBhbiBhY3RpdmUgcGlwZWxpbmUKICAqLwpkaWZmIC0tZ2l0IGEv c3JjL2Jpbi9wc3FsL2hlbHAuYyBiL3NyYy9iaW4vcHNxbC9oZWxwLmMKaW5kZXggNzE0Yjg2MTky MzMuLmVkZmM3OTRiNzZmIDEwMDY0NAotLS0gYS9zcmMvYmluL3BzcWwvaGVscC5jCisrKyBiL3Ny Yy9iaW4vcHNxbC9oZWxwLmMKQEAgLTE4Miw2ICsxODIsNyBAQCBzbGFzaFVzYWdlKHVuc2lnbmVk IHNob3J0IGludCBwYWdlcikKIAlIRUxQMCgiICBcXHBhcnNlIFNUTVRfTkFNRSAgICAgICBjcmVh dGUgYSBwcmVwYXJlZCBzdGF0ZW1lbnRcbiIpOwogCUhFTFAwKCIgIFxccSAgICAgICAgICAgICAg ICAgICAgIHF1aXQgcHNxbFxuIik7CiAJSEVMUDAoIiAgXFxzdGFydHBpcGVsaW5lICAgICAgICAg ZW50ZXIgcGlwZWxpbmUgbW9kZVxuIik7CisJSEVMUDAoIiAgXFxzZW5kcGlwZWxpbmUgICAgICAg ICAgc2VuZCBhbiBleHRlbmRlZCBxdWVyeSB0byBhbiBvbmdvaW5nIHBpcGVsaW5lXG4iKTsKIAlI RUxQMCgiICBcXHN5bmNwaXBlbGluZSAgICAgICAgICBhZGQgYSBzeW5jaHJvbmlzYXRpb24gcG9p bnQgdG8gYW4gb25nb2luZyBwaXBlbGluZVxuIik7CiAJSEVMUDAoIiAgXFx3YXRjaCBbW2k9XVNF Q10gW2M9Tl0gW209TUlOXVxuIgogCQkgICIgICAgICAgICAgICAgICAgICAgICAgICAgZXhlY3V0 ZSBxdWVyeSBldmVyeSBTRUMgc2Vjb25kcywgdXAgdG8gTiB0aW1lcyxcbiIKZGlmZiAtLWdpdCBh L3NyYy9iaW4vcHNxbC90YWItY29tcGxldGUuaW4uYyBiL3NyYy9iaW4vcHNxbC90YWItY29tcGxl dGUuaW4uYwppbmRleCA4NDMyYmU2NDFhYy4uYjJkZTYzYTViNzQgMTAwNjQ0Ci0tLSBhL3NyYy9i aW4vcHNxbC90YWItY29tcGxldGUuaW4uYworKysgYi9zcmMvYmluL3BzcWwvdGFiLWNvbXBsZXRl LmluLmMKQEAgLTE4OTUsNyArMTg5NSw3IEBAIHBzcWxfY29tcGxldGlvbihjb25zdCBjaGFyICp0 ZXh0LCBpbnQgc3RhcnQsIGludCBlbmQpCiAJCSJcXHBhcnNlIiwgIlxccGFzc3dvcmQiLCAiXFxw cmludCIsICJcXHByb21wdCIsICJcXHBzZXQiLAogCQkiXFxxZWNobyIsICJcXHF1aXQiLAogCQki XFxyZXNldCIsCi0JCSJcXHMiLCAiXFxzZXQiLCAiXFxzZXRlbnYiLCAiXFxzZiIsICJcXHN0YXJ0 cGlwZWxpbmUiLCAiXFxzdiIsICJcXHN5bmNwaXBlbGluZSIsCisJCSJcXHMiLCAiXFxzZXQiLCAi XFxzZXRlbnYiLCAiXFxzZiIsICJcXHN0YXJ0cGlwZWxpbmUiLCAiXFxzZW5kcGlwZWxpbmUiLCAi XFxzdiIsICJcXHN5bmNwaXBlbGluZSIsCiAJCSJcXHQiLCAiXFxUIiwgIlxcdGltaW5nIiwKIAkJ IlxcdW5zZXQiLAogCQkiXFx4IiwKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvcHNxbC5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BzcWwub3V0CmluZGV4IDY1 NDNlOTBkZTc1Li5lZTZmODY3MWJlYSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC9wc3FsLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BzcWwub3V0CkBA IC00NzExLDYgKzQ3MTEsNyBAQCBpbnZhbGlkIGNvbW1hbmQgXGxvCiAJXHNmIHdob2xlX2xpbmUK IAlcc3Ygd2hvbGVfbGluZQogCVxzdGFydHBpcGVsaW5lCisJXHNlbmRwaXBlbGluZQogCVxzeW5j cGlwZWxpbmUKIAlcdCBhcmcxCiAJXFQgYXJnMQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVz cy9leHBlY3RlZC9wc3FsX3BpcGVsaW5lLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv cHNxbF9waXBlbGluZS5vdXQKaW5kZXggM2RmMjQxNWE4NDAuLjUzZjJlZGZkOTg2IDEwMDY0NAot LS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BzcWxfcGlwZWxpbmUub3V0CisrKyBiL3Ny Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHNxbF9waXBlbGluZS5vdXQKQEAgLTQsNyArNCw3IEBA CiBDUkVBVEUgVEFCTEUgcHNxbF9waXBlbGluZShhIElOVEVHRVIgUFJJTUFSWSBLRVksIHMgVEVY VCk7CiAtLSBTaW5nbGUgcXVlcnkKIFxzdGFydHBpcGVsaW5lCi1TRUxFQ1QgJDEgXGJpbmQgJ3Zh bDEnIFxnCitTRUxFQ1QgJDEgXGJpbmQgJ3ZhbDEnIFxzZW5kcGlwZWxpbmUKIFxlbmRwaXBlbGlu ZQogID9jb2x1bW4/IAogLS0tLS0tLS0tLQpAQCAtMTMsOSArMTMsOSBAQCBTRUxFQ1QgJDEgXGJp bmQgJ3ZhbDEnIFxnCiAKIC0tIE11bHRpcGxlIHF1ZXJpZXMKIFxzdGFydHBpcGVsaW5lCi1TRUxF Q1QgJDEgXGJpbmQgJ3ZhbDEnIFxnCi1TRUxFQ1QgJDEsICQyIFxiaW5kICd2YWwyJyAndmFsMycg XGcKLVNFTEVDVCAkMSwgJDIgXGJpbmQgJ3ZhbDInICd2YWwzJyBcZworU0VMRUNUICQxIFxiaW5k ICd2YWwxJyBcc2VuZHBpcGVsaW5lCitTRUxFQ1QgJDEsICQyIFxiaW5kICd2YWwyJyAndmFsMycg XHNlbmRwaXBlbGluZQorU0VMRUNUICQxLCAkMiBcYmluZCAndmFsMicgJ3ZhbDMnIFxzZW5kcGlw ZWxpbmUKIFxlbmRwaXBlbGluZQogID9jb2x1bW4/IAogLS0tLS0tLS0tLQpAQCAtMzUsMTAgKzM1 LDEwIEBAIFNFTEVDVCAkMSwgJDIgXGJpbmQgJ3ZhbDInICd2YWwzJyBcZwogLS0gVGVzdCBcZmx1 c2gKIFxzdGFydHBpcGVsaW5lCiBcZmx1c2gKLVNFTEVDVCAkMSBcYmluZCAndmFsMScgXGcKK1NF TEVDVCAkMSBcYmluZCAndmFsMScgXHNlbmRwaXBlbGluZQogXGZsdXNoCi1TRUxFQ1QgJDEsICQy IFxiaW5kICd2YWwyJyAndmFsMycgXGcKLVNFTEVDVCAkMSwgJDIgXGJpbmQgJ3ZhbDInICd2YWwz JyBcZworU0VMRUNUICQxLCAkMiBcYmluZCAndmFsMicgJ3ZhbDMnIFxzZW5kcGlwZWxpbmUKK1NF TEVDVCAkMSwgJDIgXGJpbmQgJ3ZhbDInICd2YWwzJyBcc2VuZHBpcGVsaW5lCiBcZW5kcGlwZWxp bmUKICA/Y29sdW1uPyAKIC0tLS0tLS0tLS0KQEAgLTYzLDEyICs2MywxMiBAQCBTRUxFQ1QgJDEs ICQyIFxiaW5kICd2YWwyJyAndmFsMycgXGcKIDAKIFxlY2hvIDpQSVBFTElORV9SRVNVTFRfQ09V TlQKIDAKLVNFTEVDVCAkMSBcYmluZCAndmFsMScgXGcKK1NFTEVDVCAkMSBcYmluZCAndmFsMScg XHNlbmRwaXBlbGluZQogXHN5bmNwaXBlbGluZQogXHN5bmNwaXBlbGluZQotU0VMRUNUICQxLCAk MiBcYmluZCAndmFsMicgJ3ZhbDMnIFxnCitTRUxFQ1QgJDEsICQyIFxiaW5kICd2YWwyJyAndmFs MycgXHNlbmRwaXBlbGluZQogXHN5bmNwaXBlbGluZQotU0VMRUNUICQxLCAkMiBcYmluZCAndmFs NCcgJ3ZhbDUnIFxnCitTRUxFQ1QgJDEsICQyIFxiaW5kICd2YWw0JyAndmFsNScgXHNlbmRwaXBl bGluZQogXGVjaG8gOlBJUEVMSU5FX0NPTU1BTkRfQ09VTlQKIDEKIFxlY2hvIDpQSVBFTElORV9T WU5DX0NPVU5UCkBAIC05NCw3ICs5NCw3IEBAIFNFTEVDVCAkMSwgJDIgXGJpbmQgJ3ZhbDQnICd2 YWw1JyBcZwogLS0gXHN0YXJ0cGlwZWxpbmUgc2hvdWxkIG5vdCBoYXZlIGFueSBlZmZlY3QgaWYg YWxyZWFkeSBpbiBhIHBpcGVsaW5lLgogXHN0YXJ0cGlwZWxpbmUKIFxzdGFydHBpcGVsaW5lCi1T RUxFQ1QgJDEgXGJpbmQgJ3ZhbDEnIFxnCitTRUxFQ1QgJDEgXGJpbmQgJ3ZhbDEnIFxzZW5kcGlw ZWxpbmUKIFxlbmRwaXBlbGluZQogID9jb2x1bW4/IAogLS0tLS0tLS0tLQpAQCAtMTAzLDI0ICsx MDMsMjQgQEAgU0VMRUNUICQxIFxiaW5kICd2YWwxJyBcZwogCiAtLSBDb252ZXJ0IGFuIGltcGxp Y2l0IHRyYW5zYWN0aW9uIGJsb2NrIHRvIGFuIGV4cGxpY2l0IHRyYW5zYWN0aW9uIGJsb2NrLgog XHN0YXJ0cGlwZWxpbmUKLUlOU0VSVCBJTlRPIHBzcWxfcGlwZWxpbmUgVkFMVUVTICgkMSkgXGJp bmQgMSBcZwotQkVHSU4gXGJpbmQgXGcKLUlOU0VSVCBJTlRPIHBzcWxfcGlwZWxpbmUgVkFMVUVT ICgkMSkgXGJpbmQgMiBcZwotUk9MTEJBQ0sgXGJpbmQgXGcKK0lOU0VSVCBJTlRPIHBzcWxfcGlw ZWxpbmUgVkFMVUVTICgkMSkgXGJpbmQgMSBcc2VuZHBpcGVsaW5lCitCRUdJTiBcYmluZCBcc2Vu ZHBpcGVsaW5lCitJTlNFUlQgSU5UTyBwc3FsX3BpcGVsaW5lIFZBTFVFUyAoJDEpIFxiaW5kIDIg XHNlbmRwaXBlbGluZQorUk9MTEJBQ0sgXGJpbmQgXHNlbmRwaXBlbGluZQogXGVuZHBpcGVsaW5l CiAtLSBNdWx0aXBsZSBleHBsaWNpdCB0cmFuc2FjdGlvbnMKIFxzdGFydHBpcGVsaW5lCi1CRUdJ TiBcYmluZCBcZwotSU5TRVJUIElOVE8gcHNxbF9waXBlbGluZSBWQUxVRVMgKCQxKSBcYmluZCAx IFxnCi1ST0xMQkFDSyBcYmluZCBcZwotQkVHSU4gXGJpbmQgXGcKLUlOU0VSVCBJTlRPIHBzcWxf cGlwZWxpbmUgVkFMVUVTICgkMSkgXGJpbmQgMSBcZwotQ09NTUlUIFxiaW5kIFxnCitCRUdJTiBc YmluZCBcc2VuZHBpcGVsaW5lCitJTlNFUlQgSU5UTyBwc3FsX3BpcGVsaW5lIFZBTFVFUyAoJDEp IFxiaW5kIDEgXHNlbmRwaXBlbGluZQorUk9MTEJBQ0sgXGJpbmQgXHNlbmRwaXBlbGluZQorQkVH SU4gXGJpbmQgXHNlbmRwaXBlbGluZQorSU5TRVJUIElOVE8gcHNxbF9waXBlbGluZSBWQUxVRVMg KCQxKSBcYmluZCAxIFxzZW5kcGlwZWxpbmUKK0NPTU1JVCBcYmluZCBcc2VuZHBpcGVsaW5lCiBc ZW5kcGlwZWxpbmUKIC0tIENPUFkgRlJPTSBTVERJTgogXHN0YXJ0cGlwZWxpbmUKLVNFTEVDVCAk MSBcYmluZCAndmFsMScgXGcKLUNPUFkgcHNxbF9waXBlbGluZSBGUk9NIFNURElOIFxiaW5kIFxn CitTRUxFQ1QgJDEgXGJpbmQgJ3ZhbDEnIFxzZW5kcGlwZWxpbmUKK0NPUFkgcHNxbF9waXBlbGlu ZSBGUk9NIFNURElOIFxiaW5kIFxzZW5kcGlwZWxpbmUKIFxlbmRwaXBlbGluZQogID9jb2x1bW4/ IAogLS0tLS0tLS0tLQpAQCAtMTI5LDggKzEyOSw4IEBAIENPUFkgcHNxbF9waXBlbGluZSBGUk9N IFNURElOIFxiaW5kIFxnCiAKIC0tIENPUFkgRlJPTSBTVERJTiB3aXRoIFxmbHVzaHJlcXVlc3Qg KyBcZ2V0cmVzdWx0cwogXHN0YXJ0cGlwZWxpbmUKLVNFTEVDVCAkMSBcYmluZCAndmFsMScgXGcK LUNPUFkgcHNxbF9waXBlbGluZSBGUk9NIFNURElOIFxiaW5kIFxnCitTRUxFQ1QgJDEgXGJpbmQg J3ZhbDEnIFxzZW5kcGlwZWxpbmUKK0NPUFkgcHNxbF9waXBlbGluZSBGUk9NIFNURElOIFxiaW5k IFxzZW5kcGlwZWxpbmUKIFxmbHVzaHJlcXVlc3QKIFxnZXRyZXN1bHRzCiAgP2NvbHVtbj8gCkBA IC0xNDIsOCArMTQyLDggQEAgbWVzc2FnZSB0eXBlIDB4NWEgYXJyaXZlZCBmcm9tIHNlcnZlciB3 aGlsZSBpZGxlCiBcZW5kcGlwZWxpbmUKIC0tIENPUFkgRlJPTSBTVERJTiB3aXRoIFxzeW5jcGlw ZWxpbmUgKyBcZ2V0cmVzdWx0cwogXHN0YXJ0cGlwZWxpbmUKLVNFTEVDVCAkMSBcYmluZCAndmFs MScgXGcKLUNPUFkgcHNxbF9waXBlbGluZSBGUk9NIFNURElOIFxiaW5kIFxnCitTRUxFQ1QgJDEg XGJpbmQgJ3ZhbDEnIFxzZW5kcGlwZWxpbmUKK0NPUFkgcHNxbF9waXBlbGluZSBGUk9NIFNURElO IFxiaW5kIFxzZW5kcGlwZWxpbmUKIFxzeW5jcGlwZWxpbmUKIFxnZXRyZXN1bHRzCiAgP2NvbHVt bj8gCkBAIC0xNTQsOCArMTU0LDggQEAgQ09QWSBwc3FsX3BpcGVsaW5lIEZST00gU1RESU4gXGJp bmQgXGcKIFxlbmRwaXBlbGluZQogLS0gQ09QWSBUTyBTVERPVVQKIFxzdGFydHBpcGVsaW5lCi1T RUxFQ1QgJDEgXGJpbmQgJ3ZhbDEnIFxnCi1jb3B5IHBzcWxfcGlwZWxpbmUgVE8gU1RET1VUIFxi aW5kIFxnCitTRUxFQ1QgJDEgXGJpbmQgJ3ZhbDEnIFxzZW5kcGlwZWxpbmUKK2NvcHkgcHNxbF9w aXBlbGluZSBUTyBTVERPVVQgXGJpbmQgXHNlbmRwaXBlbGluZQogXGVuZHBpcGVsaW5lCiAgP2Nv bHVtbj8gCiAtLS0tLS0tLS0tCkBAIC0xNjgsOCArMTY4LDggQEAgY29weSBwc3FsX3BpcGVsaW5l IFRPIFNURE9VVCBcYmluZCBcZwogNAl0ZXN0NAogLS0gQ09QWSBUTyBTVERPVVQgd2l0aCBcZmx1 c2hyZXF1ZXN0ICsgXGdldHJlc3VsdHMKIFxzdGFydHBpcGVsaW5lCi1TRUxFQ1QgJDEgXGJpbmQg J3ZhbDEnIFxnCi1jb3B5IHBzcWxfcGlwZWxpbmUgVE8gU1RET1VUIFxiaW5kIFxnCitTRUxFQ1Qg JDEgXGJpbmQgJ3ZhbDEnIFxzZW5kcGlwZWxpbmUKK2NvcHkgcHNxbF9waXBlbGluZSBUTyBTVERP VVQgXGJpbmQgXHNlbmRwaXBlbGluZQogXGZsdXNocmVxdWVzdAogXGdldHJlc3VsdHMKICA/Y29s dW1uPyAKQEAgLTE4NCw4ICsxODQsOCBAQCBjb3B5IHBzcWxfcGlwZWxpbmUgVE8gU1RET1VUIFxi aW5kIFxnCiBcZW5kcGlwZWxpbmUKIC0tIENPUFkgVE8gU1RET1VUIHdpdGggXHN5bmNwaXBlbGlu ZSArIFxnZXRyZXN1bHRzCiBcc3RhcnRwaXBlbGluZQotU0VMRUNUICQxIFxiaW5kICd2YWwxJyBc ZwotY29weSBwc3FsX3BpcGVsaW5lIFRPIFNURE9VVCBcYmluZCBcZworU0VMRUNUICQxIFxiaW5k ICd2YWwxJyBcc2VuZHBpcGVsaW5lCitjb3B5IHBzcWxfcGlwZWxpbmUgVE8gU1RET1VUIFxiaW5k IFxzZW5kcGlwZWxpbmUKIFxzeW5jcGlwZWxpbmUKIFxnZXRyZXN1bHRzCiAgP2NvbHVtbj8gCkBA IC0yMDMsMTQgKzIwMywxNCBAQCBjb3B5IHBzcWxfcGlwZWxpbmUgVE8gU1RET1VUIFxiaW5kIFxn CiBTRUxFQ1QgJDEgXHBhcnNlICcnCiBTRUxFQ1QgJDEsICQyIFxwYXJzZSAnJwogU0VMRUNUICQy IFxwYXJzZSBwaXBlbGluZV8xCi1cYmluZF9uYW1lZCAnJyAxIDIgXGcKLVxiaW5kX25hbWVkIHBp cGVsaW5lXzEgMiBcZworXGJpbmRfbmFtZWQgJycgMSAyIFxzZW5kcGlwZWxpbmUKK1xiaW5kX25h bWVkIHBpcGVsaW5lXzEgMiBcc2VuZHBpcGVsaW5lCiBcZW5kcGlwZWxpbmUKIEVSUk9SOiAgY291 bGQgbm90IGRldGVybWluZSBkYXRhIHR5cGUgb2YgcGFyYW1ldGVyICQxCiAtLSBcZ2V0cmVzdWx0 cyBkaXNwbGF5cyBhbGwgcmVzdWx0cyBwcmVjZWRpbmcgYSBcZmx1c2hyZXF1ZXN0LgogXHN0YXJ0 cGlwZWxpbmUKLVNFTEVDVCAkMSBcYmluZCAxIFxnCi1TRUxFQ1QgJDEgXGJpbmQgMiBcZworU0VM RUNUICQxIFxiaW5kIDEgXHNlbmRwaXBlbGluZQorU0VMRUNUICQxIFxiaW5kIDIgXHNlbmRwaXBl bGluZQogXGZsdXNocmVxdWVzdAogXGdldHJlc3VsdHMKICA/Y29sdW1uPyAKQEAgLTIyNiw4ICsy MjYsOCBAQCBTRUxFQ1QgJDEgXGJpbmQgMiBcZwogXGVuZHBpcGVsaW5lCiAtLSBcZ2V0cmVzdWx0 cyBkaXNwbGF5cyBhbGwgcmVzdWx0cyBwcmVjZWRpbmcgYSBcc3luY3BpcGVsaW5lLgogXHN0YXJ0 cGlwZWxpbmUKLVNFTEVDVCAkMSBcYmluZCAxIFxnCi1TRUxFQ1QgJDEgXGJpbmQgMiBcZworU0VM RUNUICQxIFxiaW5kIDEgXHNlbmRwaXBlbGluZQorU0VMRUNUICQxIFxiaW5kIDIgXHNlbmRwaXBl bGluZQogXHN5bmNwaXBlbGluZQogXGdldHJlc3VsdHMKICA/Y29sdW1uPyAKQEAgLTI0NSw3ICsy NDUsNyBAQCBTRUxFQ1QgJDEgXGJpbmQgMiBcZwogXHN0YXJ0cGlwZWxpbmUKIFxnZXRyZXN1bHRz CiBObyBwZW5kaW5nIHJlc3VsdHMgdG8gZ2V0Ci1TRUxFQ1QgJDEgXGJpbmQgMiBcZworU0VMRUNU ICQxIFxiaW5kIDIgXHNlbmRwaXBlbGluZQogXGdldHJlc3VsdHMKIE5vIHBlbmRpbmcgcmVzdWx0 cyB0byBnZXQKIFxmbHVzaHJlcXVlc3QKQEAgLTI1OSw5ICsyNTksOSBAQCBObyBwZW5kaW5nIHJl c3VsdHMgdG8gZ2V0CiBObyBwZW5kaW5nIHJlc3VsdHMgdG8gZ2V0CiAtLSBcZ2V0cmVzdWx0cyBv bmx5IGZldGNoZXMgcmVzdWx0cyBwcmVjZWRpbmcgYSBcZmx1c2hyZXF1ZXN0LgogXHN0YXJ0cGlw ZWxpbmUKLVNFTEVDVCAkMSBcYmluZCAyIFxnCitTRUxFQ1QgJDEgXGJpbmQgMiBcc2VuZHBpcGVs aW5lCiBcZmx1c2hyZXF1ZXN0Ci1TRUxFQ1QgJDEgXGJpbmQgMiBcZworU0VMRUNUICQxIFxiaW5k IDIgXHNlbmRwaXBlbGluZQogXGdldHJlc3VsdHMKICA/Y29sdW1uPyAKIC0tLS0tLS0tLS0KQEAg LTI3Niw5ICsyNzYsOSBAQCBTRUxFQ1QgJDEgXGJpbmQgMiBcZwogCiAtLSBcZ2V0cmVzdWx0cyBv bmx5IGZldGNoZXMgcmVzdWx0cyBwcmVjZWRpbmcgYSBcc3luY3BpcGVsaW5lLgogXHN0YXJ0cGlw ZWxpbmUKLVNFTEVDVCAkMSBcYmluZCAyIFxnCitTRUxFQ1QgJDEgXGJpbmQgMiBcc2VuZHBpcGVs aW5lCiBcc3luY3BpcGVsaW5lCi1TRUxFQ1QgJDEgXGJpbmQgMiBcZworU0VMRUNUICQxIFxiaW5k IDIgXHNlbmRwaXBlbGluZQogXGdldHJlc3VsdHMKICA/Y29sdW1uPyAKIC0tLS0tLS0tLS0KQEAg LTI5NCw3ICsyOTQsNyBAQCBTRUxFQ1QgJDEgXGJpbmQgMiBcZwogLS0gVXNlIHBpcGVsaW5lIHdp dGggY2h1bmtlZCByZXN1bHRzIGZvciBib3RoIFxnZXRyZXN1bHRzIGFuZCBcZW5kcGlwZWxpbmUu CiBcc3RhcnRwaXBlbGluZQogXHNldCBGRVRDSF9DT1VOVCAxMAotU0VMRUNUICQxIFxiaW5kIDIg XGcKK1NFTEVDVCAkMSBcYmluZCAyIFxzZW5kcGlwZWxpbmUKIFxmbHVzaHJlcXVlc3QKIFxnZXRy ZXN1bHRzCiAgP2NvbHVtbj8gCkBAIC0zMDIsNyArMzAyLDcgQEAgU0VMRUNUICQxIFxiaW5kIDIg XGcKICAyCiAoMSByb3cpCiAKLVNFTEVDVCAkMSBcYmluZCAyIFxnCitTRUxFQ1QgJDEgXGJpbmQg MiBcc2VuZHBpcGVsaW5lCiBcZW5kcGlwZWxpbmUKICA/Y29sdW1uPyAKIC0tLS0tLS0tLS0KQEAg LTMxMiw5ICszMTIsOSBAQCBTRUxFQ1QgJDEgXGJpbmQgMiBcZwogXHVuc2V0IEZFVENIX0NPVU5U CiAtLSBcZ2V0cmVzdWx0cyB3aXRoIHNwZWNpZmljIG51bWJlciBvZiByZXF1ZXN0ZWQgcmVzdWx0 cy4KIFxzdGFydHBpcGVsaW5lCi1TRUxFQ1QgJDEgXGJpbmQgMSBcZwotU0VMRUNUICQxIFxiaW5k IDIgXGcKLVNFTEVDVCAkMSBcYmluZCAzIFxnCitTRUxFQ1QgJDEgXGJpbmQgMSBcc2VuZHBpcGVs aW5lCitTRUxFQ1QgJDEgXGJpbmQgMiBcc2VuZHBpcGVsaW5lCitTRUxFQ1QgJDEgXGJpbmQgMyBc c2VuZHBpcGVsaW5lCiBcZWNobyA6UElQRUxJTkVfU1lOQ19DT1VOVAogMAogXHN5bmNwaXBlbGlu ZQpAQCAtMzMwLDcgKzMzMCw3IEBAIFNFTEVDVCAkMSBcYmluZCAzIFxnCiAKIFxlY2hvIDpQSVBF TElORV9SRVNVTFRfQ09VTlQKIDIKLVNFTEVDVCAkMSBcYmluZCA0IFxnCitTRUxFQ1QgJDEgXGJp bmQgNCBcc2VuZHBpcGVsaW5lCiBcZ2V0cmVzdWx0cyAzCiAgP2NvbHVtbj8gCiAtLS0tLS0tLS0t CkBAIC0zNTQsNyArMzU0LDcgQEAgU0VMRUNUICQxIFxiaW5kIDQgXGcKIFxzdGFydHBpcGVsaW5l CiBcc3luY3BpcGVsaW5lCiBcc3luY3BpcGVsaW5lCi1TRUxFQ1QgJDEgXGJpbmQgMSBcZworU0VM RUNUICQxIFxiaW5kIDEgXHNlbmRwaXBlbGluZQogXGZsdXNocmVxdWVzdAogXGdldHJlc3VsdHMg MgogXGdldHJlc3VsdHMgMQpAQCAtMzY2LDkgKzM2Niw5IEBAIFNFTEVDVCAkMSBcYmluZCAxIFxn CiBcZW5kcGlwZWxpbmUKIC0tIFxnZXRyZXN1bHRzIDAgc2hvdWxkIGdldCBhbGwgdGhlIHJlc3Vs dHMuCiBcc3RhcnRwaXBlbGluZQotU0VMRUNUICQxIFxiaW5kIDEgXGcKLVNFTEVDVCAkMSBcYmlu ZCAyIFxnCi1TRUxFQ1QgJDEgXGJpbmQgMyBcZworU0VMRUNUICQxIFxiaW5kIDEgXHNlbmRwaXBl bGluZQorU0VMRUNUICQxIFxiaW5kIDIgXHNlbmRwaXBlbGluZQorU0VMRUNUICQxIFxiaW5kIDMg XHNlbmRwaXBlbGluZQogXHN5bmNwaXBlbGluZQogXGdldHJlc3VsdHMgMAogID9jb2x1bW4/IApA QCAtMzk4LDcgKzM5OCw3IEBAIGNhbm5vdCBzZW5kIHBpcGVsaW5lIHdoZW4gbm90IGluIHBpcGVs aW5lIG1vZGUKIFxzdGFydHBpcGVsaW5lCiBTRUxFQ1QgMTsKIFBRc2VuZFF1ZXJ5IG5vdCBhbGxv d2VkIGluIHBpcGVsaW5lIG1vZGUKLVNFTEVDVCAkMSBcYmluZCAndmFsMScgXGcKK1NFTEVDVCAk MSBcYmluZCAndmFsMScgXHNlbmRwaXBlbGluZQogXGVuZHBpcGVsaW5lCiAgP2NvbHVtbj8gCiAt LS0tLS0tLS0tCkBAIC00MDgsOSArNDA4LDkgQEAgU0VMRUNUICQxIFxiaW5kICd2YWwxJyBcZwog LS0gQWZ0ZXIgYW4gYWJvcnRlZCBwaXBlbGluZSwgY29tbWFuZHMgYWZ0ZXIgYSBcc3luY3BpcGVs aW5lIHNob3VsZCBiZQogLS0gZGlzcGxheWVkLgogXHN0YXJ0cGlwZWxpbmUKLVNFTEVDVCAkMSBc YmluZCBcZworU0VMRUNUICQxIFxiaW5kIFxzZW5kcGlwZWxpbmUKIFxzeW5jcGlwZWxpbmUKLVNF TEVDVCAkMSBcYmluZCAxIFxnCitTRUxFQ1QgJDEgXGJpbmQgMSBcc2VuZHBpcGVsaW5lCiBcZW5k cGlwZWxpbmUKIEVSUk9SOiAgYmluZCBtZXNzYWdlIHN1cHBsaWVzIDAgcGFyYW1ldGVycywgYnV0 IHByZXBhcmVkIHN0YXRlbWVudCAiIiByZXF1aXJlcyAxCiAgP2NvbHVtbj8gCkBAIC00MjEsMjMg KzQyMSwyMyBAQCBFUlJPUjogIGJpbmQgbWVzc2FnZSBzdXBwbGllcyAwIHBhcmFtZXRlcnMsIGJ1 dCBwcmVwYXJlZCBzdGF0ZW1lbnQgIiIgcmVxdWlyZXMgMQogLS0gRm9yIGFuIGluY29ycmVjdCBu dW1iZXIgb2YgcGFyYW1ldGVycywgdGhlIHBpcGVsaW5lIGlzIGFib3J0ZWQgYW5kCiAtLSB0aGUg Zm9sbG93aW5nIHF1ZXJpZXMgd2lsbCBub3QgYmUgZXhlY3V0ZWQuCiBcc3RhcnRwaXBlbGluZQot U0VMRUNUIFxiaW5kICd2YWwxJyBcZwotU0VMRUNUICQxIFxiaW5kICd2YWwxJyBcZworU0VMRUNU IFxiaW5kICd2YWwxJyBcc2VuZHBpcGVsaW5lCitTRUxFQ1QgJDEgXGJpbmQgJ3ZhbDEnIFxzZW5k cGlwZWxpbmUKIFxlbmRwaXBlbGluZQogRVJST1I6ICBiaW5kIG1lc3NhZ2Ugc3VwcGxpZXMgMSBw YXJhbWV0ZXJzLCBidXQgcHJlcGFyZWQgc3RhdGVtZW50ICIiIHJlcXVpcmVzIDAKIC0tIEFuIGV4 cGxpY2l0IHRyYW5zYWN0aW9uIHdpdGggYW4gZXJyb3IgbmVlZHMgdG8gYmUgcm9sbGJhY2tlZCBh ZnRlcgogLS0gdGhlIHBpcGVsaW5lLgogXHN0YXJ0cGlwZWxpbmUKLUJFR0lOIFxiaW5kIFxnCi1J TlNFUlQgSU5UTyBwc3FsX3BpcGVsaW5lIFZBTFVFUyAoJDEpIFxiaW5kIDEgXGcKLVJPTExCQUNL IFxiaW5kIFxnCitCRUdJTiBcYmluZCBcc2VuZHBpcGVsaW5lCitJTlNFUlQgSU5UTyBwc3FsX3Bp cGVsaW5lIFZBTFVFUyAoJDEpIFxiaW5kIDEgXHNlbmRwaXBlbGluZQorUk9MTEJBQ0sgXGJpbmQg XHNlbmRwaXBlbGluZQogXGVuZHBpcGVsaW5lCiBFUlJPUjogIGR1cGxpY2F0ZSBrZXkgdmFsdWUg dmlvbGF0ZXMgdW5pcXVlIGNvbnN0cmFpbnQgInBzcWxfcGlwZWxpbmVfcGtleSIKIERFVEFJTDog IEtleSAoYSk9KDEpIGFscmVhZHkgZXhpc3RzLgogUk9MTEJBQ0s7CiAtLSBcd2F0Y2ggc2VuZHMg YSBzaW1wbGUgcXVlcnksIHNvbWV0aGluZyBub3QgYWxsb3dlZCB3aXRoaW4gYSBwaXBlbGluZS4K IFxzdGFydHBpcGVsaW5lCi1TRUxFQ1QgXGJpbmQgXGcKK1NFTEVDVCBcYmluZCBcc2VuZHBpcGVs aW5lCiBcd2F0Y2ggMQogUFFzZW5kUXVlcnkgbm90IGFsbG93ZWQgaW4gcGlwZWxpbmUgbW9kZQog CkBAIC00NTAsNyArNDUwLDcgQEAgUFFzZW5kUXVlcnkgbm90IGFsbG93ZWQgaW4gcGlwZWxpbmUg bW9kZQogXHN0YXJ0cGlwZWxpbmUKIFNFTEVDVCAkMSBcYmluZCAxIFxnZGVzYwogc3luY2hyb25v dXMgY29tbWFuZCBleGVjdXRpb24gZnVuY3Rpb25zIGFyZSBub3QgYWxsb3dlZCBpbiBwaXBlbGlu ZSBtb2RlCi1TRUxFQ1QgJDEgXGJpbmQgMSBcZworU0VMRUNUICQxIFxiaW5kIDEgXHNlbmRwaXBl bGluZQogXGVuZHBpcGVsaW5lCiAgP2NvbHVtbj8gCiAtLS0tLS0tLS0tCkBAIC00NjUsMTkgKzQ2 NSwzMyBAQCBTRUxFQ1QgJDEgYXMgaywgJDIgYXMgbCBccGFyc2UgJ3NlY29uZCcKIFxnc2V0IG5v dCBhbGxvd2VkIGluIHBpcGVsaW5lIG1vZGUKIFxiaW5kX25hbWVkIHNlY29uZCAxIDIgXGdzZXQg cHJlZjAyXyBcZWNobyA6cHJlZjAyX2kgOnByZWYwMl9qCiBcZ3NldCBub3QgYWxsb3dlZCBpbiBw aXBlbGluZSBtb2RlCi1cYmluZF9uYW1lZCAnJyAxIDIgXGcKK1xiaW5kX25hbWVkICcnIDEgMiBc c2VuZHBpcGVsaW5lCiBcZW5kcGlwZWxpbmUKICBpIHwgaiAKIC0tLSstLS0KICAxIHwgMgogKDEg cm93KQogCi0tLSBcZ3ggaXMgbm90IGFsbG93ZWQsIHBpcGVsaW5lIHNob3VsZCBzdGlsbCBiZSB1 c2FibGUuCistLSBcZyBhbmQgXGd4IGFyZSBub3QgYWxsb3dlZCwgcGlwZWxpbmUgc2hvdWxkIHN0 aWxsIGJlIHVzYWJsZS4KIFxzdGFydHBpcGVsaW5lCitTRUxFQ1QgJDEgXGJpbmQgMSBcZworXGcg bm90IGFsbG93ZWQgaW4gcGlwZWxpbmUgbW9kZQorU0VMRUNUICQxIFxiaW5kIDEgXGcgZmlsZW5h bWUKK1xnIG5vdCBhbGxvd2VkIGluIHBpcGVsaW5lIG1vZGUKK1NFTEVDVCAkMSBcYmluZCAxIFxn IHxjYXQKK1xnIG5vdCBhbGxvd2VkIGluIHBpcGVsaW5lIG1vZGUKK1NFTEVDVCAkMSBcYmluZCAx IFxnIChmb3JtYXQ9dW5hbGlnbmVkIHR1cGxlc19vbmx5PW9uKQorXGcgbm90IGFsbG93ZWQgaW4g cGlwZWxpbmUgbW9kZQogU0VMRUNUICQxIFxiaW5kIDEgXGd4CiBcZ3ggbm90IGFsbG93ZWQgaW4g cGlwZWxpbmUgbW9kZQorU0VMRUNUICQxIFxiaW5kIDEgXGd4IGZpbGVuYW1lCitcZ3ggbm90IGFs bG93ZWQgaW4gcGlwZWxpbmUgbW9kZQorU0VMRUNUICQxIFxiaW5kIDEgXGd4IHxjYXQKK1xneCBu b3QgYWxsb3dlZCBpbiBwaXBlbGluZSBtb2RlCitTRUxFQ1QgJDEgXGJpbmQgMSBcZ3ggKGZvcm1h dD11bmFsaWduZWQgdHVwbGVzX29ubHk9b24pCitcZ3ggbm90IGFsbG93ZWQgaW4gcGlwZWxpbmUg bW9kZQogXHJlc2V0Ci1TRUxFQ1QgJDEgXGJpbmQgMSBcZworU0VMRUNUICQxIFxiaW5kIDEgXHNl bmRwaXBlbGluZQogXGVuZHBpcGVsaW5lCiAgP2NvbHVtbj8gCiAtLS0tLS0tLS0tCkBAIC00ODcs NTQgKzUwMSw2MyBAQCBTRUxFQ1QgJDEgXGJpbmQgMSBcZwogLS0gXGd4IHdhcm5pbmcgc2hvdWxk IGJlIGVtaXR0ZWQgaW4gYW4gYWJvcnRlZCBwaXBlbGluZSwgd2l0aAogLS0gcGlwZWxpbmUgc3Rp bGwgdXNhYmxlLgogXHN0YXJ0cGlwZWxpbmUKLVNFTEVDVCAkMSBcYmluZCBcZworU0VMRUNUICQx IFxiaW5kIFxzZW5kcGlwZWxpbmUKIFxmbHVzaHJlcXVlc3QKIFxnZXRyZXN1bHRzCiBFUlJPUjog IGJpbmQgbWVzc2FnZSBzdXBwbGllcyAwIHBhcmFtZXRlcnMsIGJ1dCBwcmVwYXJlZCBzdGF0ZW1l bnQgIiIgcmVxdWlyZXMgMQogU0VMRUNUICQxIFxiaW5kIDEgXGd4CiBcZ3ggbm90IGFsbG93ZWQg aW4gcGlwZWxpbmUgbW9kZQogXGVuZHBpcGVsaW5lCistLSBcc2VuZHBpcGVsaW5lIGlzIG5vdCBh bGxvd2VkIG91dHNpZGUgb2YgYSBwaXBlbGluZQorXHNlbmRwaXBlbGluZQorXHNlbmRwaXBlbGlu ZSBub3QgYWxsb3dlZCBvdXRzaWRlIG9mIHBpcGVsaW5lIG1vZGUKK1NFTEVDVCAkMSBcYmluZCAx IFxzZW5kcGlwZWxpbmUKK1xzZW5kcGlwZWxpbmUgbm90IGFsbG93ZWQgb3V0c2lkZSBvZiBwaXBl bGluZSBtb2RlCitccmVzZXQKKy0tIFxzZW5kcGlwZWxpbmUgaXMgbm90IGFsbG93ZWQgaWYgbm90 IHByZWNlZGVkIGJ5IFxiaW5kIG9yIFxiaW5kX25hbWVkCitcc3RhcnRwaXBlbGluZQorXHNlbmRw aXBlbGluZQorXHNlbmRwaXBlbGluZSBtdXN0IGJlIHVzZWQgYWZ0ZXIgXGJpbmQgb3IgXGJpbmRf bmFtZWQKK1NFTEVDVCAxIFxzZW5kcGlwZWxpbmUKK1xzZW5kcGlwZWxpbmUgbXVzdCBiZSB1c2Vk IGFmdGVyIFxiaW5kIG9yIFxiaW5kX25hbWVkCitcZW5kcGlwZWxpbmUKIC0tIFxnZXhlYyBpcyBu b3QgYWxsb3dlZCwgcGlwZWxpbmUgc2hvdWxkIHN0aWxsIGJlIHVzYWJsZS4KIFxzdGFydHBpcGVs aW5lCiBTRUxFQ1QgJ0lOU0VSVCBJTlRPIHBzcWxfcGlwZWxpbmUoYSkgU0VMRUNUIGdlbmVyYXRl X3NlcmllcygxLCAxMCknIFxwYXJzZSAnaW5zZXJ0X3N0bXQnCiBcYmluZF9uYW1lZCBpbnNlcnRf c3RtdCBcZ2V4ZWMKIFxnZXhlYyBub3QgYWxsb3dlZCBpbiBwaXBlbGluZSBtb2RlCi1cYmluZF9u YW1lZCBpbnNlcnRfc3RtdCBcZworXGJpbmRfbmFtZWQgaW5zZXJ0X3N0bXQgXHNlbmRwaXBlbGlu ZQogU0VMRUNUIENPVU5UKCopIEZST00gcHNxbF9waXBlbGluZSBcYmluZCBcZworXGcgbm90IGFs bG93ZWQgaW4gcGlwZWxpbmUgbW9kZQogXGVuZHBpcGVsaW5lCiAgICAgICAgICAgICAgICAgICAg ICAgICAgID9jb2x1bW4/ICAgICAgICAgICAgICAgICAgICAgICAgICAKIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIElOU0VSVCBJ TlRPIHBzcWxfcGlwZWxpbmUoYSkgU0VMRUNUIGdlbmVyYXRlX3NlcmllcygxLCAxMCkKICgxIHJv dykKIAotIGNvdW50IAotLS0tLS0tLQotICAgICA0Ci0oMSByb3cpCi0KIC0tIEFmdGVyIGFuIGVy cm9yLCBwaXBlbGluZSBpcyBhYm9ydGVkIGFuZCByZXF1aXJlcyBcc3luY3BpcGVsaW5lIHRvIGJl CiAtLSByZXVzYWJsZS4KIFxzdGFydHBpcGVsaW5lCi1TRUxFQ1QgJDEgXGJpbmQgXGcKLVNFTEVD VCAkMSBcYmluZCAxIFxnCitTRUxFQ1QgJDEgXGJpbmQgXHNlbmRwaXBlbGluZQorU0VMRUNUICQx IFxiaW5kIDEgXHNlbmRwaXBlbGluZQogU0VMRUNUICQxIFxwYXJzZSBhCi1cYmluZF9uYW1lZCBh IDEgXGcKK1xiaW5kX25hbWVkIGEgMSBcc2VuZHBpcGVsaW5lCiBcY2xvc2UgYQogXGZsdXNocmVx dWVzdAogXGdldHJlc3VsdHMKIEVSUk9SOiAgYmluZCBtZXNzYWdlIHN1cHBsaWVzIDAgcGFyYW1l dGVycywgYnV0IHByZXBhcmVkIHN0YXRlbWVudCAiIiByZXF1aXJlcyAxCiAtLSBQaXBlbGluZSBp cyBhYm9ydGVkLgotU0VMRUNUICQxIFxiaW5kIDEgXGcKK1NFTEVDVCAkMSBcYmluZCAxIFxzZW5k cGlwZWxpbmUKIFNFTEVDVCAkMSBccGFyc2UgYQotXGJpbmRfbmFtZWQgYSAxIFxnCitcYmluZF9u YW1lZCBhIDEgXHNlbmRwaXBlbGluZQogXGNsb3NlIGEKIC0tIFN5bmMgYWxsb3dzIHBpcGVsaW5l IHRvIHJlY292ZXIuCiBcc3luY3BpcGVsaW5lCiBcZ2V0cmVzdWx0cwogUGlwZWxpbmUgYWJvcnRl ZCwgY29tbWFuZCBkaWQgbm90IHJ1bgotU0VMRUNUICQxIFxiaW5kIDEgXGcKK1NFTEVDVCAkMSBc YmluZCAxIFxzZW5kcGlwZWxpbmUKIFNFTEVDVCAkMSBccGFyc2UgYQotXGJpbmRfbmFtZWQgYSAx IFxnCitcYmluZF9uYW1lZCBhIDEgXHNlbmRwaXBlbGluZQogXGNsb3NlIGEKIFxmbHVzaHJlcXVl c3QKIFxnZXRyZXN1bHRzCkBAIC01NTEsMTAgKzU3NCwxMCBAQCBTRUxFQ1QgJDEgXHBhcnNlIGEK IFxlbmRwaXBlbGluZQogLS0gSW4gYW4gYWJvcnRlZCBwaXBlbGluZSwgXGdldHJlc3VsdHMgMSBh Ym9ydHMgY29tbWFuZHMgb25lIGF0IGEgdGltZS4KIFxzdGFydHBpcGVsaW5lCi1TRUxFQ1QgJDEg XGJpbmQgXGcKLVNFTEVDVCAkMSBcYmluZCAxIFxnCitTRUxFQ1QgJDEgXGJpbmQgXHNlbmRwaXBl bGluZQorU0VMRUNUICQxIFxiaW5kIDEgXHNlbmRwaXBlbGluZQogU0VMRUNUICQxIFxwYXJzZSBh Ci1cYmluZF9uYW1lZCBhIDEgXGcKK1xiaW5kX25hbWVkIGEgMSBcc2VuZHBpcGVsaW5lCiBcc3lu Y3BpcGVsaW5lCiBcZ2V0cmVzdWx0cyAxCiBFUlJPUjogIGJpbmQgbWVzc2FnZSBzdXBwbGllcyAw IHBhcmFtZXRlcnMsIGJ1dCBwcmVwYXJlZCBzdGF0ZW1lbnQgIiIgcmVxdWlyZXMgMQpAQCAtNTY5 LDExICs1OTIsMTEgQEAgUGlwZWxpbmUgYWJvcnRlZCwgY29tbWFuZCBkaWQgbm90IHJ1bgogLS0g VGVzdCBjaHVua2VkIHJlc3VsdHMgd2l0aCBhbiBhYm9ydGVkIHBpcGVsaW5lLgogXHN0YXJ0cGlw ZWxpbmUKIFxzZXQgRkVUQ0hfQ09VTlQgMTAKLVNFTEVDVCAkMSBcYmluZCBcZworU0VMRUNUICQx IFxiaW5kIFxzZW5kcGlwZWxpbmUKIFxmbHVzaHJlcXVlc3QKIFxnZXRyZXN1bHRzCiBFUlJPUjog IGJpbmQgbWVzc2FnZSBzdXBwbGllcyAwIHBhcmFtZXRlcnMsIGJ1dCBwcmVwYXJlZCBzdGF0ZW1l bnQgIiIgcmVxdWlyZXMgMQotU0VMRUNUICQxIFxiaW5kIFxnCitTRUxFQ1QgJDEgXGJpbmQgXHNl bmRwaXBlbGluZQogXGVuZHBpcGVsaW5lCiBmZXRjaGluZyByZXN1bHRzIGluIGNodW5rZWQgbW9k ZSBmYWlsZWQKIFBpcGVsaW5lIGFib3J0ZWQsIGNvbW1hbmQgZGlkIG5vdCBydW4KQEAgLTU5NSw3 ICs2MTgsNyBAQCBzZWxlY3QgMTsKIAogLS0gRXJyb3IgbWVzc2FnZXMgYWNjdW11bGF0ZSBhbmQg YXJlIHJlcGVhdGVkLgogXHN0YXJ0cGlwZWxpbmUKLVNFTEVDVCAxIFxiaW5kIFxnCitTRUxFQ1Qg MSBcYmluZCBcc2VuZHBpcGVsaW5lCiBTRUxFQ1QgMTsKIFBRc2VuZFF1ZXJ5IG5vdCBhbGxvd2Vk IGluIHBpcGVsaW5lIG1vZGUKIFNFTEVDVCAxOwpAQCAtNjE2LDEyICs2MzksMTIgQEAgUFFzZW5k UXVlcnkgbm90IGFsbG93ZWQgaW4gcGlwZWxpbmUgbW9kZQogLS0gY29tbWl0IHRoZSBpbXBsaWNp dCB0cmFuc2FjdGlvbiBibG9jay4gVGhlIGZpcnN0IGNvbW1hbmQgYWZ0ZXIgYQogLS0gc3luYyB3 aWxsIG5vdCBiZSBzZWVuIGFzIGJlbG9uZ2luZyB0byBhIHBpcGVsaW5lLgogXHN0YXJ0cGlwZWxp bmUKLVNFVCBMT0NBTCBzdGF0ZW1lbnRfdGltZW91dD0nMWgnIFxiaW5kIFxnCi1TSE9XIHN0YXRl bWVudF90aW1lb3V0IFxiaW5kIFxnCitTRVQgTE9DQUwgc3RhdGVtZW50X3RpbWVvdXQ9JzFoJyBc YmluZCBcc2VuZHBpcGVsaW5lCitTSE9XIHN0YXRlbWVudF90aW1lb3V0IFxiaW5kIFxzZW5kcGlw ZWxpbmUKIFxzeW5jcGlwZWxpbmUKLVNIT1cgc3RhdGVtZW50X3RpbWVvdXQgXGJpbmQgXGcKLVNF VCBMT0NBTCBzdGF0ZW1lbnRfdGltZW91dD0nMmgnIFxiaW5kIFxnCi1TSE9XIHN0YXRlbWVudF90 aW1lb3V0IFxiaW5kIFxnCitTSE9XIHN0YXRlbWVudF90aW1lb3V0IFxiaW5kIFxzZW5kcGlwZWxp bmUKK1NFVCBMT0NBTCBzdGF0ZW1lbnRfdGltZW91dD0nMmgnIFxiaW5kIFxzZW5kcGlwZWxpbmUK K1NIT1cgc3RhdGVtZW50X3RpbWVvdXQgXGJpbmQgXHNlbmRwaXBlbGluZQogXGVuZHBpcGVsaW5l CiBXQVJOSU5HOiAgU0VUIExPQ0FMIGNhbiBvbmx5IGJlIHVzZWQgaW4gdHJhbnNhY3Rpb24gYmxv Y2tzCiAgc3RhdGVtZW50X3RpbWVvdXQgCkBAIC02NDEsOSArNjY0LDkgQEAgV0FSTklORzogIFNF VCBMT0NBTCBjYW4gb25seSBiZSB1c2VkIGluIHRyYW5zYWN0aW9uIGJsb2NrcwogCiAtLSBSRUlO REVYIENPTkNVUlJFTlRMWSBmYWlscyBpZiBub3QgdGhlIGZpcnN0IGNvbW1hbmQgaW4gYSBwaXBl bGluZS4KIFxzdGFydHBpcGVsaW5lCi1TRUxFQ1QgJDEgXGJpbmQgMSBcZwotUkVJTkRFWCBUQUJM RSBDT05DVVJSRU5UTFkgcHNxbF9waXBlbGluZSBcYmluZCBcZwotU0VMRUNUICQxIFxiaW5kIDIg XGcKK1NFTEVDVCAkMSBcYmluZCAxIFxzZW5kcGlwZWxpbmUKK1JFSU5ERVggVEFCTEUgQ09OQ1VS UkVOVExZIHBzcWxfcGlwZWxpbmUgXGJpbmQgXHNlbmRwaXBlbGluZQorU0VMRUNUICQxIFxiaW5k IDIgXHNlbmRwaXBlbGluZQogXGVuZHBpcGVsaW5lCiAgP2NvbHVtbj8gCiAtLS0tLS0tLS0tCkBA IC02NTMsOCArNjc2LDggQEAgU0VMRUNUICQxIFxiaW5kIDIgXGcKIEVSUk9SOiAgUkVJTkRFWCBD T05DVVJSRU5UTFkgY2Fubm90IHJ1biBpbnNpZGUgYSB0cmFuc2FjdGlvbiBibG9jawogLS0gUkVJ TkRFWCBDT05DVVJSRU5UTFkgd29ya3MgaWYgaXQgaXMgdGhlIGZpcnN0IGNvbW1hbmQgaW4gYSBw aXBlbGluZS4KIFxzdGFydHBpcGVsaW5lCi1SRUlOREVYIFRBQkxFIENPTkNVUlJFTlRMWSBwc3Fs X3BpcGVsaW5lIFxiaW5kIFxnCi1TRUxFQ1QgJDEgXGJpbmQgMiBcZworUkVJTkRFWCBUQUJMRSBD T05DVVJSRU5UTFkgcHNxbF9waXBlbGluZSBcYmluZCBcc2VuZHBpcGVsaW5lCitTRUxFQ1QgJDEg XGJpbmQgMiBcc2VuZHBpcGVsaW5lCiBcZW5kcGlwZWxpbmUKICA/Y29sdW1uPyAKIC0tLS0tLS0t LS0KQEAgLTY2MywyNSArNjg2LDI1IEBAIFNFTEVDVCAkMSBcYmluZCAyIFxnCiAKIC0tIFN1YnRy YW5zYWN0aW9ucyBhcmUgbm90IGFsbG93ZWQgaW4gYSBwaXBlbGluZS4KIFxzdGFydHBpcGVsaW5l Ci1TQVZFUE9JTlQgYSBcYmluZCBcZwotU0VMRUNUICQxIFxiaW5kIDEgXGcKLVJPTExCQUNLIFRP IFNBVkVQT0lOVCBhIFxiaW5kIFxnCi1TRUxFQ1QgJDEgXGJpbmQgMiBcZworU0FWRVBPSU5UIGEg XGJpbmQgXHNlbmRwaXBlbGluZQorU0VMRUNUICQxIFxiaW5kIDEgXHNlbmRwaXBlbGluZQorUk9M TEJBQ0sgVE8gU0FWRVBPSU5UIGEgXGJpbmQgXHNlbmRwaXBlbGluZQorU0VMRUNUICQxIFxiaW5k IDIgXHNlbmRwaXBlbGluZQogXGVuZHBpcGVsaW5lCiBFUlJPUjogIFNBVkVQT0lOVCBjYW4gb25s eSBiZSB1c2VkIGluIHRyYW5zYWN0aW9uIGJsb2NrcwogLS0gTE9DSyBmYWlscyBhcyB0aGUgZmly c3QgY29tbWFuZCBpbiBhIHBpcGVsaW5lLCBhcyBub3Qgc2VlbiBpbiBhbgogLS0gaW1wbGljaXQg dHJhbnNhY3Rpb24gYmxvY2suCiBcc3RhcnRwaXBlbGluZQotTE9DSyBwc3FsX3BpcGVsaW5lIFxi aW5kIFxnCi1TRUxFQ1QgJDEgXGJpbmQgMiBcZworTE9DSyBwc3FsX3BpcGVsaW5lIFxiaW5kIFxz ZW5kcGlwZWxpbmUKK1NFTEVDVCAkMSBcYmluZCAyIFxzZW5kcGlwZWxpbmUKIFxlbmRwaXBlbGlu ZQogRVJST1I6ICBMT0NLIFRBQkxFIGNhbiBvbmx5IGJlIHVzZWQgaW4gdHJhbnNhY3Rpb24gYmxv Y2tzCiAtLSBMT0NLIHN1Y2NlZWRzIGFzIGl0IGlzIG5vdCB0aGUgZmlyc3QgY29tbWFuZCBpbiBh IHBpcGVsaW5lLAogLS0gc2VlbiBpbiBhbiBpbXBsaWNpdCB0cmFuc2FjdGlvbiBibG9jay4KIFxz dGFydHBpcGVsaW5lCi1TRUxFQ1QgJDEgXGJpbmQgMSBcZwotTE9DSyBwc3FsX3BpcGVsaW5lIFxi aW5kIFxnCi1TRUxFQ1QgJDEgXGJpbmQgMiBcZworU0VMRUNUICQxIFxiaW5kIDEgXHNlbmRwaXBl bGluZQorTE9DSyBwc3FsX3BpcGVsaW5lIFxiaW5kIFxzZW5kcGlwZWxpbmUKK1NFTEVDVCAkMSBc YmluZCAyIFxzZW5kcGlwZWxpbmUKIFxlbmRwaXBlbGluZQogID9jb2x1bW4/IAogLS0tLS0tLS0t LQpAQCAtNjk1LDEyICs3MTgsMTIgQEAgU0VMRUNUICQxIFxiaW5kIDIgXGcKIAogLS0gVkFDVVVN IHdvcmtzIGFzIHRoZSBmaXJzdCBjb21tYW5kIGluIGEgcGlwZWxpbmUuCiBcc3RhcnRwaXBlbGlu ZQotVkFDVVVNIHBzcWxfcGlwZWxpbmUgXGJpbmQgXGcKK1ZBQ1VVTSBwc3FsX3BpcGVsaW5lIFxi aW5kIFxzZW5kcGlwZWxpbmUKIFxlbmRwaXBlbGluZQogLS0gVkFDVVVNIGZhaWxzIHdoZW4gbm90 IHRoZSBmaXJzdCBjb21tYW5kIGluIGEgcGlwZWxpbmUuCiBcc3RhcnRwaXBlbGluZQotU0VMRUNU IDEgXGJpbmQgXGcKLVZBQ1VVTSBwc3FsX3BpcGVsaW5lIFxiaW5kIFxnCitTRUxFQ1QgMSBcYmlu ZCBcc2VuZHBpcGVsaW5lCitWQUNVVU0gcHNxbF9waXBlbGluZSBcYmluZCBcc2VuZHBpcGVsaW5l CiBcZW5kcGlwZWxpbmUKICA/Y29sdW1uPyAKIC0tLS0tLS0tLS0KQEAgLTcxMCw5ICs3MzMsOSBA QCBWQUNVVU0gcHNxbF9waXBlbGluZSBcYmluZCBcZwogRVJST1I6ICBWQUNVVU0gY2Fubm90IHJ1 biBpbnNpZGUgYSB0cmFuc2FjdGlvbiBibG9jawogLS0gVkFDVVVNIHdvcmtzIGFmdGVyIGEgXHN5 bmNwaXBlbGluZS4KIFxzdGFydHBpcGVsaW5lCi1TRUxFQ1QgMSBcYmluZCBcZworU0VMRUNUIDEg XGJpbmQgXHNlbmRwaXBlbGluZQogXHN5bmNwaXBlbGluZQotVkFDVVVNIHBzcWxfcGlwZWxpbmUg XGJpbmQgXGcKK1ZBQ1VVTSBwc3FsX3BpcGVsaW5lIFxiaW5kIFxzZW5kcGlwZWxpbmUKIFxlbmRw aXBlbGluZQogID9jb2x1bW4/IAogLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVn cmVzcy9zcWwvcHNxbC5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9wc3FsLnNxbAppbmRleCA5 N2QxYmUzYWFjMy4uYjZiYTk0N2I4MTIgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3Fs L3BzcWwuc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3BzcWwuc3FsCkBAIC0xMDc5LDYg KzEwNzksNyBAQCBzZWxlY3QgXGlmIGZhbHNlIFxcIChib2d1cyBcZWxzZSBcXCA0MiBcZW5kaWYg XFwgZm9ydHlfdHdvOwogCVxzZiB3aG9sZV9saW5lCiAJXHN2IHdob2xlX2xpbmUKIAlcc3RhcnRw aXBlbGluZQorCVxzZW5kcGlwZWxpbmUKIAlcc3luY3BpcGVsaW5lCiAJXHQgYXJnMQogCVxUIGFy ZzEKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3BzcWxfcGlwZWxpbmUuc3FsIGIv c3JjL3Rlc3QvcmVncmVzcy9zcWwvcHNxbF9waXBlbGluZS5zcWwKaW5kZXggNjUxN2ViYjcxZjgu LjI1NjA4MWRmZDVmIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9wc3FsX3BpcGVs aW5lLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9wc3FsX3BpcGVsaW5lLnNxbApAQCAt NiwyMyArNiwyMyBAQCBDUkVBVEUgVEFCTEUgcHNxbF9waXBlbGluZShhIElOVEVHRVIgUFJJTUFS WSBLRVksIHMgVEVYVCk7CiAKIC0tIFNpbmdsZSBxdWVyeQogXHN0YXJ0cGlwZWxpbmUKLVNFTEVD VCAkMSBcYmluZCAndmFsMScgXGcKK1NFTEVDVCAkMSBcYmluZCAndmFsMScgXHNlbmRwaXBlbGlu ZQogXGVuZHBpcGVsaW5lCiAKIC0tIE11bHRpcGxlIHF1ZXJpZXMKIFxzdGFydHBpcGVsaW5lCi1T RUxFQ1QgJDEgXGJpbmQgJ3ZhbDEnIFxnCi1TRUxFQ1QgJDEsICQyIFxiaW5kICd2YWwyJyAndmFs MycgXGcKLVNFTEVDVCAkMSwgJDIgXGJpbmQgJ3ZhbDInICd2YWwzJyBcZworU0VMRUNUICQxIFxi aW5kICd2YWwxJyBcc2VuZHBpcGVsaW5lCitTRUxFQ1QgJDEsICQyIFxiaW5kICd2YWwyJyAndmFs MycgXHNlbmRwaXBlbGluZQorU0VMRUNUICQxLCAkMiBcYmluZCAndmFsMicgJ3ZhbDMnIFxzZW5k cGlwZWxpbmUKIFxlbmRwaXBlbGluZQogCiAtLSBUZXN0IFxmbHVzaAogXHN0YXJ0cGlwZWxpbmUK IFxmbHVzaAotU0VMRUNUICQxIFxiaW5kICd2YWwxJyBcZworU0VMRUNUICQxIFxiaW5kICd2YWwx JyBcc2VuZHBpcGVsaW5lCiBcZmx1c2gKLVNFTEVDVCAkMSwgJDIgXGJpbmQgJ3ZhbDInICd2YWwz JyBcZwotU0VMRUNUICQxLCAkMiBcYmluZCAndmFsMicgJ3ZhbDMnIFxnCitTRUxFQ1QgJDEsICQy IFxiaW5kICd2YWwyJyAndmFsMycgXHNlbmRwaXBlbGluZQorU0VMRUNUICQxLCAkMiBcYmluZCAn dmFsMicgJ3ZhbDMnIFxzZW5kcGlwZWxpbmUKIFxlbmRwaXBlbGluZQogCiAtLSBTZW5kIG11bHRp cGxlIHN5bmNzCkBAIC0zMCwxMiArMzAsMTIgQEAgU0VMRUNUICQxLCAkMiBcYmluZCAndmFsMicg J3ZhbDMnIFxnCiBcZWNobyA6UElQRUxJTkVfQ09NTUFORF9DT1VOVAogXGVjaG8gOlBJUEVMSU5F X1NZTkNfQ09VTlQKIFxlY2hvIDpQSVBFTElORV9SRVNVTFRfQ09VTlQKLVNFTEVDVCAkMSBcYmlu ZCAndmFsMScgXGcKK1NFTEVDVCAkMSBcYmluZCAndmFsMScgXHNlbmRwaXBlbGluZQogXHN5bmNw aXBlbGluZQogXHN5bmNwaXBlbGluZQotU0VMRUNUICQxLCAkMiBcYmluZCAndmFsMicgJ3ZhbDMn IFxnCitTRUxFQ1QgJDEsICQyIFxiaW5kICd2YWwyJyAndmFsMycgXHNlbmRwaXBlbGluZQogXHN5 bmNwaXBlbGluZQotU0VMRUNUICQxLCAkMiBcYmluZCAndmFsNCcgJ3ZhbDUnIFxnCitTRUxFQ1Qg JDEsICQyIFxiaW5kICd2YWw0JyAndmFsNScgXHNlbmRwaXBlbGluZQogXGVjaG8gOlBJUEVMSU5F X0NPTU1BTkRfQ09VTlQKIFxlY2hvIDpQSVBFTElORV9TWU5DX0NPVU5UCiBcZWNobyA6UElQRUxJ TkVfUkVTVUxUX0NPVU5UCkBAIC00NCwzOSArNDQsMzkgQEAgU0VMRUNUICQxLCAkMiBcYmluZCAn dmFsNCcgJ3ZhbDUnIFxnCiAtLSBcc3RhcnRwaXBlbGluZSBzaG91bGQgbm90IGhhdmUgYW55IGVm ZmVjdCBpZiBhbHJlYWR5IGluIGEgcGlwZWxpbmUuCiBcc3RhcnRwaXBlbGluZQogXHN0YXJ0cGlw ZWxpbmUKLVNFTEVDVCAkMSBcYmluZCAndmFsMScgXGcKK1NFTEVDVCAkMSBcYmluZCAndmFsMScg XHNlbmRwaXBlbGluZQogXGVuZHBpcGVsaW5lCiAKIC0tIENvbnZlcnQgYW4gaW1wbGljaXQgdHJh bnNhY3Rpb24gYmxvY2sgdG8gYW4gZXhwbGljaXQgdHJhbnNhY3Rpb24gYmxvY2suCiBcc3RhcnRw aXBlbGluZQotSU5TRVJUIElOVE8gcHNxbF9waXBlbGluZSBWQUxVRVMgKCQxKSBcYmluZCAxIFxn Ci1CRUdJTiBcYmluZCBcZwotSU5TRVJUIElOVE8gcHNxbF9waXBlbGluZSBWQUxVRVMgKCQxKSBc YmluZCAyIFxnCi1ST0xMQkFDSyBcYmluZCBcZworSU5TRVJUIElOVE8gcHNxbF9waXBlbGluZSBW QUxVRVMgKCQxKSBcYmluZCAxIFxzZW5kcGlwZWxpbmUKK0JFR0lOIFxiaW5kIFxzZW5kcGlwZWxp bmUKK0lOU0VSVCBJTlRPIHBzcWxfcGlwZWxpbmUgVkFMVUVTICgkMSkgXGJpbmQgMiBcc2VuZHBp cGVsaW5lCitST0xMQkFDSyBcYmluZCBcc2VuZHBpcGVsaW5lCiBcZW5kcGlwZWxpbmUKIAogLS0g TXVsdGlwbGUgZXhwbGljaXQgdHJhbnNhY3Rpb25zCiBcc3RhcnRwaXBlbGluZQotQkVHSU4gXGJp bmQgXGcKLUlOU0VSVCBJTlRPIHBzcWxfcGlwZWxpbmUgVkFMVUVTICgkMSkgXGJpbmQgMSBcZwot Uk9MTEJBQ0sgXGJpbmQgXGcKLUJFR0lOIFxiaW5kIFxnCi1JTlNFUlQgSU5UTyBwc3FsX3BpcGVs aW5lIFZBTFVFUyAoJDEpIFxiaW5kIDEgXGcKLUNPTU1JVCBcYmluZCBcZworQkVHSU4gXGJpbmQg XHNlbmRwaXBlbGluZQorSU5TRVJUIElOVE8gcHNxbF9waXBlbGluZSBWQUxVRVMgKCQxKSBcYmlu ZCAxIFxzZW5kcGlwZWxpbmUKK1JPTExCQUNLIFxiaW5kIFxzZW5kcGlwZWxpbmUKK0JFR0lOIFxi aW5kIFxzZW5kcGlwZWxpbmUKK0lOU0VSVCBJTlRPIHBzcWxfcGlwZWxpbmUgVkFMVUVTICgkMSkg XGJpbmQgMSBcc2VuZHBpcGVsaW5lCitDT01NSVQgXGJpbmQgXHNlbmRwaXBlbGluZQogXGVuZHBp cGVsaW5lCiAKIC0tIENPUFkgRlJPTSBTVERJTgogXHN0YXJ0cGlwZWxpbmUKLVNFTEVDVCAkMSBc YmluZCAndmFsMScgXGcKLUNPUFkgcHNxbF9waXBlbGluZSBGUk9NIFNURElOIFxiaW5kIFxnCitT RUxFQ1QgJDEgXGJpbmQgJ3ZhbDEnIFxzZW5kcGlwZWxpbmUKK0NPUFkgcHNxbF9waXBlbGluZSBG Uk9NIFNURElOIFxiaW5kIFxzZW5kcGlwZWxpbmUKIFxlbmRwaXBlbGluZQogMgl0ZXN0MgogXC4K IAogLS0gQ09QWSBGUk9NIFNURElOIHdpdGggXGZsdXNocmVxdWVzdCArIFxnZXRyZXN1bHRzCiBc c3RhcnRwaXBlbGluZQotU0VMRUNUICQxIFxiaW5kICd2YWwxJyBcZwotQ09QWSBwc3FsX3BpcGVs aW5lIEZST00gU1RESU4gXGJpbmQgXGcKK1NFTEVDVCAkMSBcYmluZCAndmFsMScgXHNlbmRwaXBl bGluZQorQ09QWSBwc3FsX3BpcGVsaW5lIEZST00gU1RESU4gXGJpbmQgXHNlbmRwaXBlbGluZQog XGZsdXNocmVxdWVzdAogXGdldHJlc3VsdHMKIDMJdGVzdDMKQEAgLTg1LDggKzg1LDggQEAgQ09Q WSBwc3FsX3BpcGVsaW5lIEZST00gU1RESU4gXGJpbmQgXGcKIAogLS0gQ09QWSBGUk9NIFNURElO IHdpdGggXHN5bmNwaXBlbGluZSArIFxnZXRyZXN1bHRzCiBcc3RhcnRwaXBlbGluZQotU0VMRUNU ICQxIFxiaW5kICd2YWwxJyBcZwotQ09QWSBwc3FsX3BpcGVsaW5lIEZST00gU1RESU4gXGJpbmQg XGcKK1NFTEVDVCAkMSBcYmluZCAndmFsMScgXHNlbmRwaXBlbGluZQorQ09QWSBwc3FsX3BpcGVs aW5lIEZST00gU1RESU4gXGJpbmQgXHNlbmRwaXBlbGluZQogXHN5bmNwaXBlbGluZQogXGdldHJl c3VsdHMKIDQJdGVzdDQKQEAgLTk1LDIyICs5NSwyMiBAQCBDT1BZIHBzcWxfcGlwZWxpbmUgRlJP TSBTVERJTiBcYmluZCBcZwogCiAtLSBDT1BZIFRPIFNURE9VVAogXHN0YXJ0cGlwZWxpbmUKLVNF TEVDVCAkMSBcYmluZCAndmFsMScgXGcKLWNvcHkgcHNxbF9waXBlbGluZSBUTyBTVERPVVQgXGJp bmQgXGcKK1NFTEVDVCAkMSBcYmluZCAndmFsMScgXHNlbmRwaXBlbGluZQorY29weSBwc3FsX3Bp cGVsaW5lIFRPIFNURE9VVCBcYmluZCBcc2VuZHBpcGVsaW5lCiBcZW5kcGlwZWxpbmUKIAogLS0g Q09QWSBUTyBTVERPVVQgd2l0aCBcZmx1c2hyZXF1ZXN0ICsgXGdldHJlc3VsdHMKIFxzdGFydHBp cGVsaW5lCi1TRUxFQ1QgJDEgXGJpbmQgJ3ZhbDEnIFxnCi1jb3B5IHBzcWxfcGlwZWxpbmUgVE8g U1RET1VUIFxiaW5kIFxnCitTRUxFQ1QgJDEgXGJpbmQgJ3ZhbDEnIFxzZW5kcGlwZWxpbmUKK2Nv cHkgcHNxbF9waXBlbGluZSBUTyBTVERPVVQgXGJpbmQgXHNlbmRwaXBlbGluZQogXGZsdXNocmVx dWVzdAogXGdldHJlc3VsdHMKIFxlbmRwaXBlbGluZQogCiAtLSBDT1BZIFRPIFNURE9VVCB3aXRo IFxzeW5jcGlwZWxpbmUgKyBcZ2V0cmVzdWx0cwogXHN0YXJ0cGlwZWxpbmUKLVNFTEVDVCAkMSBc YmluZCAndmFsMScgXGcKLWNvcHkgcHNxbF9waXBlbGluZSBUTyBTVERPVVQgXGJpbmQgXGcKK1NF TEVDVCAkMSBcYmluZCAndmFsMScgXHNlbmRwaXBlbGluZQorY29weSBwc3FsX3BpcGVsaW5lIFRP IFNURE9VVCBcYmluZCBcc2VuZHBpcGVsaW5lCiBcc3luY3BpcGVsaW5lCiBcZ2V0cmVzdWx0cwog XGVuZHBpcGVsaW5lCkBAIC0xMjAsMjIgKzEyMCwyMiBAQCBjb3B5IHBzcWxfcGlwZWxpbmUgVE8g U1RET1VUIFxiaW5kIFxnCiBTRUxFQ1QgJDEgXHBhcnNlICcnCiBTRUxFQ1QgJDEsICQyIFxwYXJz ZSAnJwogU0VMRUNUICQyIFxwYXJzZSBwaXBlbGluZV8xCi1cYmluZF9uYW1lZCAnJyAxIDIgXGcK LVxiaW5kX25hbWVkIHBpcGVsaW5lXzEgMiBcZworXGJpbmRfbmFtZWQgJycgMSAyIFxzZW5kcGlw ZWxpbmUKK1xiaW5kX25hbWVkIHBpcGVsaW5lXzEgMiBcc2VuZHBpcGVsaW5lCiBcZW5kcGlwZWxp bmUKIAogLS0gXGdldHJlc3VsdHMgZGlzcGxheXMgYWxsIHJlc3VsdHMgcHJlY2VkaW5nIGEgXGZs dXNocmVxdWVzdC4KIFxzdGFydHBpcGVsaW5lCi1TRUxFQ1QgJDEgXGJpbmQgMSBcZwotU0VMRUNU ICQxIFxiaW5kIDIgXGcKK1NFTEVDVCAkMSBcYmluZCAxIFxzZW5kcGlwZWxpbmUKK1NFTEVDVCAk MSBcYmluZCAyIFxzZW5kcGlwZWxpbmUKIFxmbHVzaHJlcXVlc3QKIFxnZXRyZXN1bHRzCiBcZW5k cGlwZWxpbmUKIAogLS0gXGdldHJlc3VsdHMgZGlzcGxheXMgYWxsIHJlc3VsdHMgcHJlY2VkaW5n IGEgXHN5bmNwaXBlbGluZS4KIFxzdGFydHBpcGVsaW5lCi1TRUxFQ1QgJDEgXGJpbmQgMSBcZwot U0VMRUNUICQxIFxiaW5kIDIgXGcKK1NFTEVDVCAkMSBcYmluZCAxIFxzZW5kcGlwZWxpbmUKK1NF TEVDVCAkMSBcYmluZCAyIFxzZW5kcGlwZWxpbmUKIFxzeW5jcGlwZWxpbmUKIFxnZXRyZXN1bHRz CiBcZW5kcGlwZWxpbmUKQEAgLTE0Myw3ICsxNDMsNyBAQCBTRUxFQ1QgJDEgXGJpbmQgMiBcZwog LS0gXGdldHJlc3VsdHMgaW1tZWRpYXRlbHkgcmV0dXJucyBpZiB0aGVyZSBpcyBubyByZXN1bHQg dG8gZmV0Y2guCiBcc3RhcnRwaXBlbGluZQogXGdldHJlc3VsdHMKLVNFTEVDVCAkMSBcYmluZCAy IFxnCitTRUxFQ1QgJDEgXGJpbmQgMiBcc2VuZHBpcGVsaW5lCiBcZ2V0cmVzdWx0cwogXGZsdXNo cmVxdWVzdAogXGVuZHBpcGVsaW5lCkBAIC0xNTEsNDIgKzE1MSw0MiBAQCBTRUxFQ1QgJDEgXGJp bmQgMiBcZwogCiAtLSBcZ2V0cmVzdWx0cyBvbmx5IGZldGNoZXMgcmVzdWx0cyBwcmVjZWRpbmcg YSBcZmx1c2hyZXF1ZXN0LgogXHN0YXJ0cGlwZWxpbmUKLVNFTEVDVCAkMSBcYmluZCAyIFxnCitT RUxFQ1QgJDEgXGJpbmQgMiBcc2VuZHBpcGVsaW5lCiBcZmx1c2hyZXF1ZXN0Ci1TRUxFQ1QgJDEg XGJpbmQgMiBcZworU0VMRUNUICQxIFxiaW5kIDIgXHNlbmRwaXBlbGluZQogXGdldHJlc3VsdHMK IFxlbmRwaXBlbGluZQogCiAtLSBcZ2V0cmVzdWx0cyBvbmx5IGZldGNoZXMgcmVzdWx0cyBwcmVj ZWRpbmcgYSBcc3luY3BpcGVsaW5lLgogXHN0YXJ0cGlwZWxpbmUKLVNFTEVDVCAkMSBcYmluZCAy IFxnCitTRUxFQ1QgJDEgXGJpbmQgMiBcc2VuZHBpcGVsaW5lCiBcc3luY3BpcGVsaW5lCi1TRUxF Q1QgJDEgXGJpbmQgMiBcZworU0VMRUNUICQxIFxiaW5kIDIgXHNlbmRwaXBlbGluZQogXGdldHJl c3VsdHMKIFxlbmRwaXBlbGluZQogCiAtLSBVc2UgcGlwZWxpbmUgd2l0aCBjaHVua2VkIHJlc3Vs dHMgZm9yIGJvdGggXGdldHJlc3VsdHMgYW5kIFxlbmRwaXBlbGluZS4KIFxzdGFydHBpcGVsaW5l CiBcc2V0IEZFVENIX0NPVU5UIDEwCi1TRUxFQ1QgJDEgXGJpbmQgMiBcZworU0VMRUNUICQxIFxi aW5kIDIgXHNlbmRwaXBlbGluZQogXGZsdXNocmVxdWVzdAogXGdldHJlc3VsdHMKLVNFTEVDVCAk MSBcYmluZCAyIFxnCitTRUxFQ1QgJDEgXGJpbmQgMiBcc2VuZHBpcGVsaW5lCiBcZW5kcGlwZWxp bmUKIFx1bnNldCBGRVRDSF9DT1VOVAogCiAtLSBcZ2V0cmVzdWx0cyB3aXRoIHNwZWNpZmljIG51 bWJlciBvZiByZXF1ZXN0ZWQgcmVzdWx0cy4KIFxzdGFydHBpcGVsaW5lCi1TRUxFQ1QgJDEgXGJp bmQgMSBcZwotU0VMRUNUICQxIFxiaW5kIDIgXGcKLVNFTEVDVCAkMSBcYmluZCAzIFxnCitTRUxF Q1QgJDEgXGJpbmQgMSBcc2VuZHBpcGVsaW5lCitTRUxFQ1QgJDEgXGJpbmQgMiBcc2VuZHBpcGVs aW5lCitTRUxFQ1QgJDEgXGJpbmQgMyBcc2VuZHBpcGVsaW5lCiBcZWNobyA6UElQRUxJTkVfU1lO Q19DT1VOVAogXHN5bmNwaXBlbGluZQogXGVjaG8gOlBJUEVMSU5FX1NZTkNfQ09VTlQKIFxlY2hv IDpQSVBFTElORV9SRVNVTFRfQ09VTlQKIFxnZXRyZXN1bHRzIDEKIFxlY2hvIDpQSVBFTElORV9S RVNVTFRfQ09VTlQKLVNFTEVDVCAkMSBcYmluZCA0IFxnCitTRUxFQ1QgJDEgXGJpbmQgNCBcc2Vu ZHBpcGVsaW5lCiBcZ2V0cmVzdWx0cyAzCiBcZWNobyA6UElQRUxJTkVfUkVTVUxUX0NPVU5UCiBc ZW5kcGlwZWxpbmUKQEAgLTE5NSw3ICsxOTUsNyBAQCBTRUxFQ1QgJDEgXGJpbmQgNCBcZwogXHN0 YXJ0cGlwZWxpbmUKIFxzeW5jcGlwZWxpbmUKIFxzeW5jcGlwZWxpbmUKLVNFTEVDVCAkMSBcYmlu ZCAxIFxnCitTRUxFQ1QgJDEgXGJpbmQgMSBcc2VuZHBpcGVsaW5lCiBcZmx1c2hyZXF1ZXN0CiBc Z2V0cmVzdWx0cyAyCiBcZ2V0cmVzdWx0cyAxCkBAIC0yMDMsOSArMjAzLDkgQEAgU0VMRUNUICQx IFxiaW5kIDEgXGcKIAogLS0gXGdldHJlc3VsdHMgMCBzaG91bGQgZ2V0IGFsbCB0aGUgcmVzdWx0 cy4KIFxzdGFydHBpcGVsaW5lCi1TRUxFQ1QgJDEgXGJpbmQgMSBcZwotU0VMRUNUICQxIFxiaW5k IDIgXGcKLVNFTEVDVCAkMSBcYmluZCAzIFxnCitTRUxFQ1QgJDEgXGJpbmQgMSBcc2VuZHBpcGVs aW5lCitTRUxFQ1QgJDEgXGJpbmQgMiBcc2VuZHBpcGVsaW5lCitTRUxFQ1QgJDEgXGJpbmQgMyBc c2VuZHBpcGVsaW5lCiBcc3luY3BpcGVsaW5lCiBcZ2V0cmVzdWx0cyAwCiBcZW5kcGlwZWxpbmUK QEAgLTIyMSwzNiArMjIxLDM2IEBAIFNFTEVDVCAkMSBcYmluZCAzIFxnCiAtLSBwaXBlbGluZSB1 c2FibGUuCiBcc3RhcnRwaXBlbGluZQogU0VMRUNUIDE7Ci1TRUxFQ1QgJDEgXGJpbmQgJ3ZhbDEn IFxnCitTRUxFQ1QgJDEgXGJpbmQgJ3ZhbDEnIFxzZW5kcGlwZWxpbmUKIFxlbmRwaXBlbGluZQog CiAtLSBBZnRlciBhbiBhYm9ydGVkIHBpcGVsaW5lLCBjb21tYW5kcyBhZnRlciBhIFxzeW5jcGlw ZWxpbmUgc2hvdWxkIGJlCiAtLSBkaXNwbGF5ZWQuCiBcc3RhcnRwaXBlbGluZQotU0VMRUNUICQx IFxiaW5kIFxnCitTRUxFQ1QgJDEgXGJpbmQgXHNlbmRwaXBlbGluZQogXHN5bmNwaXBlbGluZQot U0VMRUNUICQxIFxiaW5kIDEgXGcKK1NFTEVDVCAkMSBcYmluZCAxIFxzZW5kcGlwZWxpbmUKIFxl bmRwaXBlbGluZQogCiAtLSBGb3IgYW4gaW5jb3JyZWN0IG51bWJlciBvZiBwYXJhbWV0ZXJzLCB0 aGUgcGlwZWxpbmUgaXMgYWJvcnRlZCBhbmQKIC0tIHRoZSBmb2xsb3dpbmcgcXVlcmllcyB3aWxs IG5vdCBiZSBleGVjdXRlZC4KIFxzdGFydHBpcGVsaW5lCi1TRUxFQ1QgXGJpbmQgJ3ZhbDEnIFxn Ci1TRUxFQ1QgJDEgXGJpbmQgJ3ZhbDEnIFxnCitTRUxFQ1QgXGJpbmQgJ3ZhbDEnIFxzZW5kcGlw ZWxpbmUKK1NFTEVDVCAkMSBcYmluZCAndmFsMScgXHNlbmRwaXBlbGluZQogXGVuZHBpcGVsaW5l CiAKIC0tIEFuIGV4cGxpY2l0IHRyYW5zYWN0aW9uIHdpdGggYW4gZXJyb3IgbmVlZHMgdG8gYmUg cm9sbGJhY2tlZCBhZnRlcgogLS0gdGhlIHBpcGVsaW5lLgogXHN0YXJ0cGlwZWxpbmUKLUJFR0lO IFxiaW5kIFxnCi1JTlNFUlQgSU5UTyBwc3FsX3BpcGVsaW5lIFZBTFVFUyAoJDEpIFxiaW5kIDEg XGcKLVJPTExCQUNLIFxiaW5kIFxnCitCRUdJTiBcYmluZCBcc2VuZHBpcGVsaW5lCitJTlNFUlQg SU5UTyBwc3FsX3BpcGVsaW5lIFZBTFVFUyAoJDEpIFxiaW5kIDEgXHNlbmRwaXBlbGluZQorUk9M TEJBQ0sgXGJpbmQgXHNlbmRwaXBlbGluZQogXGVuZHBpcGVsaW5lCiBST0xMQkFDSzsKIAogLS0g XHdhdGNoIHNlbmRzIGEgc2ltcGxlIHF1ZXJ5LCBzb21ldGhpbmcgbm90IGFsbG93ZWQgd2l0aGlu IGEgcGlwZWxpbmUuCiBcc3RhcnRwaXBlbGluZQotU0VMRUNUIFxiaW5kIFxnCitTRUxFQ1QgXGJp bmQgXHNlbmRwaXBlbGluZQogXHdhdGNoIDEKIFxlbmRwaXBlbGluZQogCkBAIC0yNTgsNyArMjU4 LDcgQEAgU0VMRUNUIFxiaW5kIFxnCiAtLSBhbmQgdGhlIHBpcGVsaW5lIHNob3VsZCBzdGlsbCBi ZSB1c2FibGUuCiBcc3RhcnRwaXBlbGluZQogU0VMRUNUICQxIFxiaW5kIDEgXGdkZXNjCi1TRUxF Q1QgJDEgXGJpbmQgMSBcZworU0VMRUNUICQxIFxiaW5kIDEgXHNlbmRwaXBlbGluZQogXGVuZHBp cGVsaW5lCiAKIC0tIFxnc2V0IGlzIG5vdCBhbGxvd2VkIGluIGEgcGlwZWxpbmUsIHBpcGVsaW5l IHNob3VsZCBzdGlsbCBiZSB1c2FibGUuCkBAIC0yNjcsNTQgKzI2Nyw3MiBAQCBTRUxFQ1QgJDEg YXMgaSwgJDIgYXMgaiBccGFyc2UgJycKIFNFTEVDVCAkMSBhcyBrLCAkMiBhcyBsIFxwYXJzZSAn c2Vjb25kJwogXGJpbmRfbmFtZWQgJycgMSAyIFxnc2V0CiBcYmluZF9uYW1lZCBzZWNvbmQgMSAy IFxnc2V0IHByZWYwMl8gXGVjaG8gOnByZWYwMl9pIDpwcmVmMDJfagotXGJpbmRfbmFtZWQgJycg MSAyIFxnCitcYmluZF9uYW1lZCAnJyAxIDIgXHNlbmRwaXBlbGluZQogXGVuZHBpcGVsaW5lCiAK LS0tIFxneCBpcyBub3QgYWxsb3dlZCwgcGlwZWxpbmUgc2hvdWxkIHN0aWxsIGJlIHVzYWJsZS4K Ky0tIFxnIGFuZCBcZ3ggYXJlIG5vdCBhbGxvd2VkLCBwaXBlbGluZSBzaG91bGQgc3RpbGwgYmUg dXNhYmxlLgogXHN0YXJ0cGlwZWxpbmUKK1NFTEVDVCAkMSBcYmluZCAxIFxnCitTRUxFQ1QgJDEg XGJpbmQgMSBcZyBmaWxlbmFtZQorU0VMRUNUICQxIFxiaW5kIDEgXGcgfGNhdAorU0VMRUNUICQx IFxiaW5kIDEgXGcgKGZvcm1hdD11bmFsaWduZWQgdHVwbGVzX29ubHk9b24pCiBTRUxFQ1QgJDEg XGJpbmQgMSBcZ3gKK1NFTEVDVCAkMSBcYmluZCAxIFxneCBmaWxlbmFtZQorU0VMRUNUICQxIFxi aW5kIDEgXGd4IHxjYXQKK1NFTEVDVCAkMSBcYmluZCAxIFxneCAoZm9ybWF0PXVuYWxpZ25lZCB0 dXBsZXNfb25seT1vbikKIFxyZXNldAotU0VMRUNUICQxIFxiaW5kIDEgXGcKK1NFTEVDVCAkMSBc YmluZCAxIFxzZW5kcGlwZWxpbmUKIFxlbmRwaXBlbGluZQogCiAtLSBcZ3ggd2FybmluZyBzaG91 bGQgYmUgZW1pdHRlZCBpbiBhbiBhYm9ydGVkIHBpcGVsaW5lLCB3aXRoCiAtLSBwaXBlbGluZSBz dGlsbCB1c2FibGUuCiBcc3RhcnRwaXBlbGluZQotU0VMRUNUICQxIFxiaW5kIFxnCitTRUxFQ1Qg JDEgXGJpbmQgXHNlbmRwaXBlbGluZQogXGZsdXNocmVxdWVzdAogXGdldHJlc3VsdHMKIFNFTEVD VCAkMSBcYmluZCAxIFxneAogXGVuZHBpcGVsaW5lCiAKKy0tIFxzZW5kcGlwZWxpbmUgaXMgbm90 IGFsbG93ZWQgb3V0c2lkZSBvZiBhIHBpcGVsaW5lCitcc2VuZHBpcGVsaW5lCitTRUxFQ1QgJDEg XGJpbmQgMSBcc2VuZHBpcGVsaW5lCitccmVzZXQKKworLS0gXHNlbmRwaXBlbGluZSBpcyBub3Qg YWxsb3dlZCBpZiBub3QgcHJlY2VkZWQgYnkgXGJpbmQgb3IgXGJpbmRfbmFtZWQKK1xzdGFydHBp cGVsaW5lCitcc2VuZHBpcGVsaW5lCitTRUxFQ1QgMSBcc2VuZHBpcGVsaW5lCitcZW5kcGlwZWxp bmUKKwogLS0gXGdleGVjIGlzIG5vdCBhbGxvd2VkLCBwaXBlbGluZSBzaG91bGQgc3RpbGwgYmUg dXNhYmxlLgogXHN0YXJ0cGlwZWxpbmUKIFNFTEVDVCAnSU5TRVJUIElOVE8gcHNxbF9waXBlbGlu ZShhKSBTRUxFQ1QgZ2VuZXJhdGVfc2VyaWVzKDEsIDEwKScgXHBhcnNlICdpbnNlcnRfc3RtdCcK IFxiaW5kX25hbWVkIGluc2VydF9zdG10IFxnZXhlYwotXGJpbmRfbmFtZWQgaW5zZXJ0X3N0bXQg XGcKK1xiaW5kX25hbWVkIGluc2VydF9zdG10IFxzZW5kcGlwZWxpbmUKIFNFTEVDVCBDT1VOVCgq KSBGUk9NIHBzcWxfcGlwZWxpbmUgXGJpbmQgXGcKIFxlbmRwaXBlbGluZQogCiAtLSBBZnRlciBh biBlcnJvciwgcGlwZWxpbmUgaXMgYWJvcnRlZCBhbmQgcmVxdWlyZXMgXHN5bmNwaXBlbGluZSB0 byBiZQogLS0gcmV1c2FibGUuCiBcc3RhcnRwaXBlbGluZQotU0VMRUNUICQxIFxiaW5kIFxnCi1T RUxFQ1QgJDEgXGJpbmQgMSBcZworU0VMRUNUICQxIFxiaW5kIFxzZW5kcGlwZWxpbmUKK1NFTEVD VCAkMSBcYmluZCAxIFxzZW5kcGlwZWxpbmUKIFNFTEVDVCAkMSBccGFyc2UgYQotXGJpbmRfbmFt ZWQgYSAxIFxnCitcYmluZF9uYW1lZCBhIDEgXHNlbmRwaXBlbGluZQogXGNsb3NlIGEKIFxmbHVz aHJlcXVlc3QKIFxnZXRyZXN1bHRzCiAtLSBQaXBlbGluZSBpcyBhYm9ydGVkLgotU0VMRUNUICQx IFxiaW5kIDEgXGcKK1NFTEVDVCAkMSBcYmluZCAxIFxzZW5kcGlwZWxpbmUKIFNFTEVDVCAkMSBc cGFyc2UgYQotXGJpbmRfbmFtZWQgYSAxIFxnCitcYmluZF9uYW1lZCBhIDEgXHNlbmRwaXBlbGlu ZQogXGNsb3NlIGEKIC0tIFN5bmMgYWxsb3dzIHBpcGVsaW5lIHRvIHJlY292ZXIuCiBcc3luY3Bp cGVsaW5lCiBcZ2V0cmVzdWx0cwotU0VMRUNUICQxIFxiaW5kIDEgXGcKK1NFTEVDVCAkMSBcYmlu ZCAxIFxzZW5kcGlwZWxpbmUKIFNFTEVDVCAkMSBccGFyc2UgYQotXGJpbmRfbmFtZWQgYSAxIFxn CitcYmluZF9uYW1lZCBhIDEgXHNlbmRwaXBlbGluZQogXGNsb3NlIGEKIFxmbHVzaHJlcXVlc3QK IFxnZXRyZXN1bHRzCkBAIC0zMjIsMTAgKzM0MCwxMCBAQCBTRUxFQ1QgJDEgXHBhcnNlIGEKIAog LS0gSW4gYW4gYWJvcnRlZCBwaXBlbGluZSwgXGdldHJlc3VsdHMgMSBhYm9ydHMgY29tbWFuZHMg b25lIGF0IGEgdGltZS4KIFxzdGFydHBpcGVsaW5lCi1TRUxFQ1QgJDEgXGJpbmQgXGcKLVNFTEVD VCAkMSBcYmluZCAxIFxnCitTRUxFQ1QgJDEgXGJpbmQgXHNlbmRwaXBlbGluZQorU0VMRUNUICQx IFxiaW5kIDEgXHNlbmRwaXBlbGluZQogU0VMRUNUICQxIFxwYXJzZSBhCi1cYmluZF9uYW1lZCBh IDEgXGcKK1xiaW5kX25hbWVkIGEgMSBcc2VuZHBpcGVsaW5lCiBcc3luY3BpcGVsaW5lCiBcZ2V0 cmVzdWx0cyAxCiBcZ2V0cmVzdWx0cyAxCkBAIC0zMzcsMTAgKzM1NSwxMCBAQCBTRUxFQ1QgJDEg XHBhcnNlIGEKIC0tIFRlc3QgY2h1bmtlZCByZXN1bHRzIHdpdGggYW4gYWJvcnRlZCBwaXBlbGlu ZS4KIFxzdGFydHBpcGVsaW5lCiBcc2V0IEZFVENIX0NPVU5UIDEwCi1TRUxFQ1QgJDEgXGJpbmQg XGcKK1NFTEVDVCAkMSBcYmluZCBcc2VuZHBpcGVsaW5lCiBcZmx1c2hyZXF1ZXN0CiBcZ2V0cmVz dWx0cwotU0VMRUNUICQxIFxiaW5kIFxnCitTRUxFQ1QgJDEgXGJpbmQgXHNlbmRwaXBlbGluZQog XGVuZHBpcGVsaW5lCiBcdW5zZXQgRkVUQ0hfQ09VTlQKIApAQCAtMzU2LDcgKzM3NCw3IEBAIHNl bGVjdCAxOwogCiAtLSBFcnJvciBtZXNzYWdlcyBhY2N1bXVsYXRlIGFuZCBhcmUgcmVwZWF0ZWQu CiBcc3RhcnRwaXBlbGluZQotU0VMRUNUIDEgXGJpbmQgXGcKK1NFTEVDVCAxIFxiaW5kIFxzZW5k cGlwZWxpbmUKIFNFTEVDVCAxOwogU0VMRUNUIDE7CiBcZW5kcGlwZWxpbmUKQEAgLTM3MSw2NiAr Mzg5LDY2IEBAIFNFTEVDVCAxOwogLS0gY29tbWl0IHRoZSBpbXBsaWNpdCB0cmFuc2FjdGlvbiBi bG9jay4gVGhlIGZpcnN0IGNvbW1hbmQgYWZ0ZXIgYQogLS0gc3luYyB3aWxsIG5vdCBiZSBzZWVu IGFzIGJlbG9uZ2luZyB0byBhIHBpcGVsaW5lLgogXHN0YXJ0cGlwZWxpbmUKLVNFVCBMT0NBTCBz dGF0ZW1lbnRfdGltZW91dD0nMWgnIFxiaW5kIFxnCi1TSE9XIHN0YXRlbWVudF90aW1lb3V0IFxi aW5kIFxnCitTRVQgTE9DQUwgc3RhdGVtZW50X3RpbWVvdXQ9JzFoJyBcYmluZCBcc2VuZHBpcGVs aW5lCitTSE9XIHN0YXRlbWVudF90aW1lb3V0IFxiaW5kIFxzZW5kcGlwZWxpbmUKIFxzeW5jcGlw ZWxpbmUKLVNIT1cgc3RhdGVtZW50X3RpbWVvdXQgXGJpbmQgXGcKLVNFVCBMT0NBTCBzdGF0ZW1l bnRfdGltZW91dD0nMmgnIFxiaW5kIFxnCi1TSE9XIHN0YXRlbWVudF90aW1lb3V0IFxiaW5kIFxn CitTSE9XIHN0YXRlbWVudF90aW1lb3V0IFxiaW5kIFxzZW5kcGlwZWxpbmUKK1NFVCBMT0NBTCBz dGF0ZW1lbnRfdGltZW91dD0nMmgnIFxiaW5kIFxzZW5kcGlwZWxpbmUKK1NIT1cgc3RhdGVtZW50 X3RpbWVvdXQgXGJpbmQgXHNlbmRwaXBlbGluZQogXGVuZHBpcGVsaW5lCiAKIC0tIFJFSU5ERVgg Q09OQ1VSUkVOVExZIGZhaWxzIGlmIG5vdCB0aGUgZmlyc3QgY29tbWFuZCBpbiBhIHBpcGVsaW5l LgogXHN0YXJ0cGlwZWxpbmUKLVNFTEVDVCAkMSBcYmluZCAxIFxnCi1SRUlOREVYIFRBQkxFIENP TkNVUlJFTlRMWSBwc3FsX3BpcGVsaW5lIFxiaW5kIFxnCi1TRUxFQ1QgJDEgXGJpbmQgMiBcZwor U0VMRUNUICQxIFxiaW5kIDEgXHNlbmRwaXBlbGluZQorUkVJTkRFWCBUQUJMRSBDT05DVVJSRU5U TFkgcHNxbF9waXBlbGluZSBcYmluZCBcc2VuZHBpcGVsaW5lCitTRUxFQ1QgJDEgXGJpbmQgMiBc c2VuZHBpcGVsaW5lCiBcZW5kcGlwZWxpbmUKIAogLS0gUkVJTkRFWCBDT05DVVJSRU5UTFkgd29y a3MgaWYgaXQgaXMgdGhlIGZpcnN0IGNvbW1hbmQgaW4gYSBwaXBlbGluZS4KIFxzdGFydHBpcGVs aW5lCi1SRUlOREVYIFRBQkxFIENPTkNVUlJFTlRMWSBwc3FsX3BpcGVsaW5lIFxiaW5kIFxnCi1T RUxFQ1QgJDEgXGJpbmQgMiBcZworUkVJTkRFWCBUQUJMRSBDT05DVVJSRU5UTFkgcHNxbF9waXBl bGluZSBcYmluZCBcc2VuZHBpcGVsaW5lCitTRUxFQ1QgJDEgXGJpbmQgMiBcc2VuZHBpcGVsaW5l CiBcZW5kcGlwZWxpbmUKIAogLS0gU3VidHJhbnNhY3Rpb25zIGFyZSBub3QgYWxsb3dlZCBpbiBh IHBpcGVsaW5lLgogXHN0YXJ0cGlwZWxpbmUKLVNBVkVQT0lOVCBhIFxiaW5kIFxnCi1TRUxFQ1Qg JDEgXGJpbmQgMSBcZwotUk9MTEJBQ0sgVE8gU0FWRVBPSU5UIGEgXGJpbmQgXGcKLVNFTEVDVCAk MSBcYmluZCAyIFxnCitTQVZFUE9JTlQgYSBcYmluZCBcc2VuZHBpcGVsaW5lCitTRUxFQ1QgJDEg XGJpbmQgMSBcc2VuZHBpcGVsaW5lCitST0xMQkFDSyBUTyBTQVZFUE9JTlQgYSBcYmluZCBcc2Vu ZHBpcGVsaW5lCitTRUxFQ1QgJDEgXGJpbmQgMiBcc2VuZHBpcGVsaW5lCiBcZW5kcGlwZWxpbmUK IAogLS0gTE9DSyBmYWlscyBhcyB0aGUgZmlyc3QgY29tbWFuZCBpbiBhIHBpcGVsaW5lLCBhcyBu b3Qgc2VlbiBpbiBhbgogLS0gaW1wbGljaXQgdHJhbnNhY3Rpb24gYmxvY2suCiBcc3RhcnRwaXBl bGluZQotTE9DSyBwc3FsX3BpcGVsaW5lIFxiaW5kIFxnCi1TRUxFQ1QgJDEgXGJpbmQgMiBcZwor TE9DSyBwc3FsX3BpcGVsaW5lIFxiaW5kIFxzZW5kcGlwZWxpbmUKK1NFTEVDVCAkMSBcYmluZCAy IFxzZW5kcGlwZWxpbmUKIFxlbmRwaXBlbGluZQogCiAtLSBMT0NLIHN1Y2NlZWRzIGFzIGl0IGlz IG5vdCB0aGUgZmlyc3QgY29tbWFuZCBpbiBhIHBpcGVsaW5lLAogLS0gc2VlbiBpbiBhbiBpbXBs aWNpdCB0cmFuc2FjdGlvbiBibG9jay4KIFxzdGFydHBpcGVsaW5lCi1TRUxFQ1QgJDEgXGJpbmQg MSBcZwotTE9DSyBwc3FsX3BpcGVsaW5lIFxiaW5kIFxnCi1TRUxFQ1QgJDEgXGJpbmQgMiBcZwor U0VMRUNUICQxIFxiaW5kIDEgXHNlbmRwaXBlbGluZQorTE9DSyBwc3FsX3BpcGVsaW5lIFxiaW5k IFxzZW5kcGlwZWxpbmUKK1NFTEVDVCAkMSBcYmluZCAyIFxzZW5kcGlwZWxpbmUKIFxlbmRwaXBl bGluZQogCiAtLSBWQUNVVU0gd29ya3MgYXMgdGhlIGZpcnN0IGNvbW1hbmQgaW4gYSBwaXBlbGlu ZS4KIFxzdGFydHBpcGVsaW5lCi1WQUNVVU0gcHNxbF9waXBlbGluZSBcYmluZCBcZworVkFDVVVN IHBzcWxfcGlwZWxpbmUgXGJpbmQgXHNlbmRwaXBlbGluZQogXGVuZHBpcGVsaW5lCiAKIC0tIFZB Q1VVTSBmYWlscyB3aGVuIG5vdCB0aGUgZmlyc3QgY29tbWFuZCBpbiBhIHBpcGVsaW5lLgogXHN0 YXJ0cGlwZWxpbmUKLVNFTEVDVCAxIFxiaW5kIFxnCi1WQUNVVU0gcHNxbF9waXBlbGluZSBcYmlu ZCBcZworU0VMRUNUIDEgXGJpbmQgXHNlbmRwaXBlbGluZQorVkFDVVVNIHBzcWxfcGlwZWxpbmUg XGJpbmQgXHNlbmRwaXBlbGluZQogXGVuZHBpcGVsaW5lCiAKIC0tIFZBQ1VVTSB3b3JrcyBhZnRl ciBhIFxzeW5jcGlwZWxpbmUuCiBcc3RhcnRwaXBlbGluZQotU0VMRUNUIDEgXGJpbmQgXGcKK1NF TEVDVCAxIFxiaW5kIFxzZW5kcGlwZWxpbmUKIFxzeW5jcGlwZWxpbmUKLVZBQ1VVTSBwc3FsX3Bp cGVsaW5lIFxiaW5kIFxnCitWQUNVVU0gcHNxbF9waXBlbGluZSBcYmluZCBcc2VuZHBpcGVsaW5l CiBcZW5kcGlwZWxpbmUKIAogLS0gQ2xlYW4gdXAKLS0gCjIuMzkuNSAoQXBwbGUgR2l0LTE1NCkK Cg== --000000000000b35c86062f80f1be--