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 1vg01d-006wjI-0y for pgsql-bugs@arkaria.postgresql.org; Wed, 14 Jan 2026 12:31:02 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vg01c-00ADEn-0t for pgsql-bugs@arkaria.postgresql.org; Wed, 14 Jan 2026 12:31:00 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vg01b-00ADEf-2t for pgsql-bugs@lists.postgresql.org; Wed, 14 Jan 2026 12:31:00 +0000 Received: from mail-pf1-x42b.google.com ([2607:f8b0:4864:20::42b]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vg01Z-000QMC-1D for pgsql-bugs@lists.postgresql.org; Wed, 14 Jan 2026 12:30:59 +0000 Received: by mail-pf1-x42b.google.com with SMTP id d2e1a72fcca58-81dab89f286so2609654b3a.2 for ; Wed, 14 Jan 2026 04:30:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1768393855; x=1768998655; 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=zoZSzorx7YU1VNtSay+bxYA5Fsv8wj8W2cZfe5OerI8=; b=fdzuyptsX+UDHrkwAe8yXDMiXEUBt0FBvakHZFnDqoMWAA4sChv7SgFxXKd6pEXNlP O1QclhHRpjUb3ovkIDw6Tq5Okuonw5r87xi3Cz6KWYtXmyZSyqnQoeR37YIZBoBeqRR4 N/2RHxPUCXXidaoq/GmZBiCIkFdqn0yahNdrUuB4JfVGQe1yS9OnXp+dd1pdwrCwOLVC UKQdbOqJuM1d+onL8CLTDmLkL1x4w/sImwLUCsNsi67j+yuzss50o/PRdPbF8d7M7FMS G2FBeYLNJFOPn/DJ9OyfXxJI0vifQdrYYwxipogqcnZ4X0C9zk2pnc6FNEGPul5zClzO CjGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768393855; x=1768998655; 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=zoZSzorx7YU1VNtSay+bxYA5Fsv8wj8W2cZfe5OerI8=; b=Nb/4wWkjsPdK5cW7eJP7A6Y8z/ywalWZblISxvK9OsLOQVCO1zW1aB2Cctqi97WeWJ l8NlG/Rkv3LGXZUoRC665MMv4zaVti1Wo16lWflIxPjEtKmB+iebnz7xp8sxue/PYztQ meDVPwa5cbiankB9EfDRI9qK/yFDV3KnxjvroP4t4QNYYl1kPH0WMZnWkFSLrzKeMH/o FK9+zsNhth9QOXrwXcCWlK5tYGsS0UEbJ6llw6D0QJRs8DqEIlrPXLlRSrcVqAiC4KYj GTpIrC/BfWUBCkJZdu7I3jD0RIx7ao16EJBzVVnLU5eKXeEJjyv8HyY/JTVywLLRjylg 181A== X-Forwarded-Encrypted: i=1; AJvYcCUvw64MCMIq2+gJnZbMryc95QVQgg0d+XHamLMWYKwx/4QCDnSXoc3ZzO3EfV98hzGUF+h9YWJNCsvA@lists.postgresql.org X-Gm-Message-State: AOJu0Yz/Y0+vmwVjN+LX9c+BnGTNyPcGdHmIwRrIUio+oLgQV7ek2IEj twYROT/L9mKmKqb4uRD0ocMTKKtUaZDGV9JUE+EnE9Ojv1JRM0HZBU6bkeNIGNQO0HXev0HwaBe 1gJvP7SpnBwN2U8PGoCXxL/4RxLMx16k= X-Gm-Gg: AY/fxX5lHWUQvIfCjoJ5y6p2A6DoOtyXLrzamV0hh09xJ9T8ivU1rPKUJG139e72N5U 7DOiyleUAUPAHVLxOWgKcv6cPoYQowZrOWCgmgme9hMoAuzWuljwzYdheq1fsl9IO3WGAUjPzm7 3a1sakKlBO0zGemxDaMSl4MPJhcqZzOZ1gj2cLKH90H491pmGaSftMSNL4TLI1HlnDD4+R6/HPn 61sMWKR6CoOZ9do94MIQmQxhKUtVb/Hg3fC2b4y43UYMjdA1Ay5PVrO8tTC9RIba4afsAQOjw2b yn09M/A= X-Received: by 2002:a05:6a20:4326:b0:366:1e42:630 with SMTP id adf61e73a8af0-38bed0b35b0mr2711734637.1.1768393855245; Wed, 14 Jan 2026 04:30:55 -0800 (PST) MIME-Version: 1.0 References: <19099-e05dcfa022fe553d@postgresql.org> <2960545.1761800903@sss.pgh.pa.us> <3017911.1761832112@sss.pgh.pa.us> In-Reply-To: From: Amit Langote Date: Wed, 14 Jan 2026 21:30:37 +0900 X-Gm-Features: AZwV_QiYB0eI8_NU0GQoST3TeAcvykxfHgo8Zg_-jgmtqBqt1ptsxOUlNznfnLI Message-ID: Subject: Re: BUG #19099: Conditional DELETE from partitioned table with non-updatable partition raises internal error To: Tender Wang Cc: David Rowley , Tom Lane , Kirill Reshke , jian he , Alexander Lakhin , PostgreSQL mailing lists Content-Type: multipart/mixed; boundary="00000000000090d2240648584729" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --00000000000090d2240648584729 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi, On Sun, Nov 30, 2025 at 3:00=E2=80=AFPM Tender Wang wr= ote: > Amit Langote =E4=BA=8E2025=E5=B9=B411=E6=9C=882= 6=E6=97=A5=E5=91=A8=E4=B8=89 19:27=E5=86=99=E9=81=93=EF=BC=9A >> On Thu, Nov 6, 2025 at 7:00=E2=80=AFPM Amit Langote wrote: >> > Among those options, I considered the following block, which adds a >> > ctid for the partitioned root table when it=E2=80=99s the only target = in the >> > query after partition pruning removes all child tables due to the >> > WHERE false condition in the problematic case: >> > >> > /* >> > * Ordinarily, we expect that leaf result relation(s) will have ad= ded some >> > * ROWID_VAR Vars to the query. However, it's possible that const= raint >> > * exclusion suppressed every leaf relation. The executor will ge= t upset >> > * if the plan has no row identity columns at all, even though it = will >> > * certainly process no rows. Handle this edge case by re-opening= the top >> > * result relation and adding the row identity columns it would ha= ve used, >> > * as preprocess_targetlist() would have done if it weren't marked= "inh". >> > * Then re-run build_base_rel_tlists() to ensure that the added co= lumns >> > * get propagated to the relation's reltarget. (This is a bit ugl= y, but >> > * it seems better to confine the ugliness and extra cycles to thi= s >> > * unusual corner case.) >> > */ >> > if (root->row_identity_vars =3D=3D NIL) >> > { >> > Relation target_relation; >> > >> > target_relation =3D table_open(target_rte->relid, NoLock); >> > add_row_identity_columns(root, result_relation, >> > target_rte, target_relation); >> > table_close(target_relation, NoLock); >> > build_base_rel_tlists(root, root->processed_tlist); >> > /* There are no ROWID_VAR Vars in this case, so we're done. */ >> > return; >> > } >> > >> > If enable_partition_pruning is off, root->row_identity_vars already >> > contains a RowIdentityVarInfo entry for the tableoid Var that was >> > added while processing the foreign-table child partition. Because of >> > that, the if (root->row_identity_vars =3D=3D NIL) block doesn=E2=80=99= t run in >> > this case, so it won=E2=80=99t add any row identity columns such as ct= id for >> > the partitioned root table. >> > >> > In theory, we could prevent the planner from adding tableoid in the >> > first place when the child table doesn=E2=80=99t support any row ident= ity >> > column -- or worse, doesn=E2=80=99t support the UPDATE/DELETE/MERGE co= mmand at >> > all -- but doing so would require changing the order in which tableoid >> > appears in root->processed_tlist. That would be too invasive for a >> > back-patch. >> >> I=E2=80=99ve implemented this alternative as well -- the version that pr= events >> adding tableoid when no other row-identity columns are added for the >> child. That allows to keep root->row_identity_vars empty so the >> dummy-root path can add ctid as intended by the above code block of >> distribute_row_identity_vars(). >> >> This provides an alternative approach to compare against the other patch= . >> >> -- >> Thanks, Amit Langote > > > I apply the patch, and I find it forgets to update the diff for postgres_= fdw. > So I add it in the v2 patch. Oops. > With this patch, the targetlists are identical whether or not enable_part= ition_pruning is on. > > In my first email on this thread, to avoid adding "tableoid", I tried to = add the following codes: > "(childrte->relkind !=3D RELKIND_PARTITIONED_TABLE && childrte->relkind = !=3D RELKIND_FOREIGN_TABLE)" > in expand_single_inheritance_child(). > > But this didn't work for all test cases. It would trigger an assert failu= re in fix_scan_expr_walker(): > Assert(!(IsA(node, Var) && ((Var *) node)->varno =3D=3D ROWID_VAR)); > > Your patch is much better than mine. Thanks for taking a look. Attached is an updated version with improved comments and simplified test c= ases. Regarding back-patch safety (to v14 where the bug was introduced): * EXPLAIN VERBOSE output order changes (ctid now appears before tableoid) * AddForeignUpdateTargets is no longer called when the FDW doesn't support the command Does anyone see issues with back-patching these changes? -- Thanks, Amit Langote --00000000000090d2240648584729 Content-Type: application/octet-stream; name="v3-0001-Fix-row-identity-handling-for-dummy-partitioned-r.patch" Content-Disposition: attachment; filename="v3-0001-Fix-row-identity-handling-for-dummy-partitioned-r.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mke012jr0 RnJvbSBiOTM4NmI0ZGY1OTZjZmFmNWJhNmFiNWM4OGIzMDk1Njk4YmUzM2EzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbWl0IExhbmdvdGUgPGFtaXRsYW5AcG9zdGdyZXNxbC5vcmc+ CkRhdGU6IFdlZCwgMTQgSmFuIDIwMjYgMjE6Mjc6NDggKzA5MDAKU3ViamVjdDogW1BBVENIIHYz XSBGaXggcm93LWlkZW50aXR5IGhhbmRsaW5nIGZvciBkdW1teSBwYXJ0aXRpb25lZCByZXN1bHRy ZWxzCgpTdG9wIGFkZGluZyB0YWJsZW9pZCBmb3IgY2hpbGQgcmVsYXRpb25zIHRoYXQgZG8gbm90 IGhhdmUgYW55CnJvdy1pZGVudGl0eSBjb2x1bW5zLiAgSW4gY2FzZXMgd2hlcmUgYWxsIHBhcnRp dGlvbnMgYXJlIGV4Y2x1ZGVkCmJ5IHBydW5pbmcgb3IgY29uc3RyYWludCBleGNsdXNpb24sIHRo aXMgYWxsb3dzCmRpc3RyaWJ1dGVfcm93X2lkZW50aXR5X3ZhcnMoKSB0byBkZXRlY3QgdGhlIGVt cHR5IHN0YXRlCihyb290LT5yb3dfaWRlbnRpdHlfdmFycyA9PSBOSUwpIGFuZCBhZGQgdGhlIGFw cHJvcHJpYXRlIGN0aWQKY29sdW1uIGZvciB0aGUgZHVtbXkgcGFydGl0aW9uZWQgcmVzdWx0IHJl bGF0aW9uLCBzYXRpc2Z5aW5nIHRoZQpleGVjdXRvcidzIHJlcXVpcmVtZW50IHRoYXQgYSByZXN1 bHRyZWwgYWx3YXlzIGhhdmUgYSByb3cgaWRlbnRpdHkuCgpBcyBwYXJ0IG9mIHRoaXMsIG1ha2Ug YWRkX3Jvd19pZGVudGl0eV9jb2x1bW5zKCkgcmV0dXJuIGEgYm9vbGVhbgp0byByZXBvcnQgd2hl dGhlciBhbnkgcm93LWlkZW50aXR5IGNvbHVtbnMgd2VyZSBhZGRlZCwgYW5kIHNraXAgRkRXCmNo aWxkcmVuIHRoYXQgY2Fubm90IHN1cHBvcnQgdGhlIGN1cnJlbnQgY29tbWFuZC4gIEFkanVzdCBl eHBlY3RlZApFWFBMQUlOIG91dHB1dCBhY2NvcmRpbmdseSBhbmQgZXh0ZW5kIGZpbGVfZmR3IHRl c3RzIHRvIGNvdmVyCmR1bW15LXJvb3QgcGxhbnMgd2l0aCBhbmQgd2l0aG91dCBwcnVuaW5nLgoK VGhpcyBjaGFuZ2VzIHRoZSBvcmRlciBvZiBjdGlkIGFuZCB0YWJsZW9pZCBjb2x1bW5zIGluIEVY UExBSU4KVkVSQk9TRSBvdXRwdXQgZm9yIFVQREFURS9ERUxFVEUvTUVSR0Ugb24gaW5oZXJpdGFu Y2UgdHJlZXM7CmN0aWQgbm93IGFwcGVhcnMgYmVmb3JlIHRhYmxlb2lkLgoKQWRkaXRpb25hbGx5 LCBBZGRGb3JlaWduVXBkYXRlVGFyZ2V0cyBpcyBubyBsb25nZXIgY2FsbGVkIGZvcgpmb3JlaWdu IHRhYmxlIGNoaWxkcmVuIHdob3NlIEZEVyBkb2VzIG5vdCBzdXBwb3J0IHRoZSBjdXJyZW50CmNv bW1hbmQgKGUuZy4sIG1pc3NpbmcgRXhlY0ZvcmVpZ25EZWxldGUgZm9yIERFTEVURSkuICBGRFdz CnRoYXQgcmVseSBvbiB0aGlzIGNhbGxiYWNrIGJlaW5nIGludm9rZWQgdW5jb25kaXRpb25hbGx5 IG1heQpuZWVkIGFkanVzdG1lbnQuCgpCYWNrLXBhdGNoIHRvIHYxNCB3aGVyZSB0aGUgYnVnIHdh cyBpbnRyb2R1Y2VkLgoKQnVnOiAjMTkwOTkKUmVwb3J0ZWQtYnk6IEFsZXhhbmRlciBMYWtoaW4g PGV4Y2x1c2lvbkBnbWFpbC5jb20+CkF1dGhvcjogQW1pdCBMYW5nb3RlIDxhbWl0bGFuZ290ZTA5 QGdtYWlsLmNvbT4KUmV2aWV3ZWQtYnk6IFRlbmRlciBXYW5nIDx0bmRyd2FuZ0BnbWFpbC5jb20+ ClJldmlld2VkLWJ5OiBLaXJpbGwgUmVzaGtlIDxyZXNoa2VraXJpbGxAZ21haWwuY29tPgpEaXNj dXNzaW9uOiBodHRwczovL3Bvc3Rnci5lcy9tLzE5MDk5LWUwNWRjZmEwMjJmZTU1M2QlNDBwb3N0 Z3Jlc3FsLm9yZwpCYWNrcGF0Y2gtdGhyb3VnaDogMTQKLS0tCiBjb250cmliL2ZpbGVfZmR3L2V4 cGVjdGVkL2ZpbGVfZmR3Lm91dCAgICAgICAgfCAyNiArKysrKysKIGNvbnRyaWIvZmlsZV9mZHcv c3FsL2ZpbGVfZmR3LnNxbCAgICAgICAgICAgICB8IDEwICsrKwogLi4uL3Bvc3RncmVzX2Zkdy9l eHBlY3RlZC9wb3N0Z3Jlc19mZHcub3V0ICAgIHwgODYgKysrKysrKysrLS0tLS0tLS0tLQogc3Jj L2JhY2tlbmQvb3B0aW1pemVyL3ByZXAvcHJlcHRsaXN0LmMgICAgICAgIHwgIDQgKy0KIHNyYy9i YWNrZW5kL29wdGltaXplci91dGlsL2FwcGVuZGluZm8uYyAgICAgICB8IDI4ICsrKysrLQogc3Jj L2JhY2tlbmQvb3B0aW1pemVyL3V0aWwvaW5oZXJpdC5jICAgICAgICAgIHwgMTEgKystCiBzcmMv aW5jbHVkZS9vcHRpbWl6ZXIvYXBwZW5kaW5mby5oICAgICAgICAgICAgfCAgMiArLQogc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC9pbmhlcml0Lm91dCAgICAgICAgIHwgMTQgKy0tCiBzcmMvdGVz dC9yZWdyZXNzL2V4cGVjdGVkL21lcmdlLm91dCAgICAgICAgICAgfCAgNiArLQogc3JjL3Rlc3Qv cmVncmVzcy9leHBlY3RlZC9wYXJ0aXRpb25fcHJ1bmUub3V0IHwgIDQgKy0KIHNyYy90ZXN0L3Jl Z3Jlc3MvZXhwZWN0ZWQvcmV0dXJuaW5nLm91dCAgICAgICB8IDI0ICsrKy0tLQogc3JjL3Rlc3Qv cmVncmVzcy9leHBlY3RlZC91cGRhdGFibGVfdmlld3Mub3V0IHwgMjAgKystLS0KIHNyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQvd2l0aC5vdXQgICAgICAgICAgICB8IDE0ICstLQogMTMgZmlsZXMg Y2hhbmdlZCwgMTU1IGluc2VydGlvbnMoKyksIDk0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2NvbnRyaWIvZmlsZV9mZHcvZXhwZWN0ZWQvZmlsZV9mZHcub3V0IGIvY29udHJpYi9maWxlX2Zk dy9leHBlY3RlZC9maWxlX2Zkdy5vdXQKaW5kZXggNTEyMWUyN2RjZTUuLmUyNmY3ODY0MDNjIDEw MDY0NAotLS0gYS9jb250cmliL2ZpbGVfZmR3L2V4cGVjdGVkL2ZpbGVfZmR3Lm91dAorKysgYi9j b250cmliL2ZpbGVfZmR3L2V4cGVjdGVkL2ZpbGVfZmR3Lm91dApAQCAtNDU3LDYgKzQ1NywzMiBA QCBTRUxFQ1QgdGFibGVvaWQ6OnJlZ2NsYXNzLCAqIEZST00gcDI7CiAgcDIgICAgICAgfCAyIHwg eHl6enkKICgzIHJvd3MpCiAKKy0tIFZlcmlmeSB0aGF0IERFTEVURS9VUERBVEUgb24gYSBwYXJ0 aXRpb25lZCB0YWJsZSB3aXRoIGEgZm9yZWlnbiBwYXJ0aXRpb24KKy0tIHRoYXQgZG9lc24ndCBz dXBwb3J0IHRoZSBvcGVyYXRpb24gd29ya3Mgd2hlbiBhbGwgcGFydGl0aW9ucyBhcmUgZXhjbHVk ZWQKKy0tIChieSBwcnVuaW5nIG9yIGNvbnN0cmFpbnQgZXhjbHVzaW9uKS4gVGhlIGR1bW15IHJv b3Qgc2hvdWxkIGdldCBjdGlkIGFkZGVkLgorRFJPUCBUQUJMRSBwMjsKK1NFVCBlbmFibGVfcGFy dGl0aW9uX3BydW5pbmcgVE8gb2ZmOworRVhQTEFJTiAoQ09TVFMgT0ZGLCBWRVJCT1NFKSBERUxF VEUgRlJPTSBwdCBXSEVSRSBmYWxzZTsKKyAgICAgICAgICAgUVVFUlkgUExBTiAgICAgICAgICAg CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIERlbGV0ZSBvbiBwdWJsaWMucHQK KyAgIC0+ICBSZXN1bHQKKyAgICAgICAgIE91dHB1dDogcHQuY3RpZAorICAgICAgICAgUmVwbGFj ZXM6IFNjYW4gb24gcHQKKyAgICAgICAgIE9uZS1UaW1lIEZpbHRlcjogZmFsc2UKKyg1IHJvd3Mp CisKK1NFVCBlbmFibGVfcGFydGl0aW9uX3BydW5pbmcgVE8gb247CitFWFBMQUlOIChDT1NUUyBP RkYsIFZFUkJPU0UpIERFTEVURSBGUk9NIHB0IFdIRVJFIGZhbHNlOworICAgICAgICAgICBRVUVS WSBQTEFOICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgRGVs ZXRlIG9uIHB1YmxpYy5wdAorICAgLT4gIFJlc3VsdAorICAgICAgICAgT3V0cHV0OiBjdGlkCisg ICAgICAgICBSZXBsYWNlczogU2NhbiBvbiBwdAorICAgICAgICAgT25lLVRpbWUgRmlsdGVyOiBm YWxzZQorKDUgcm93cykKKwogRFJPUCBUQUJMRSBwdDsKIC0tIGdlbmVyYXRlZCBjb2x1bW4gdGVz dHMKIFxzZXQgZmlsZW5hbWUgOmFic19zcmNkaXIgJy9kYXRhL2xpc3QxLmNzdicKZGlmZiAtLWdp dCBhL2NvbnRyaWIvZmlsZV9mZHcvc3FsL2ZpbGVfZmR3LnNxbCBiL2NvbnRyaWIvZmlsZV9mZHcv c3FsL2ZpbGVfZmR3LnNxbAppbmRleCAxYTM5N2FkNGJkMS4uZThhOGM4NDMwYWYgMTAwNjQ0Ci0t LSBhL2NvbnRyaWIvZmlsZV9mZHcvc3FsL2ZpbGVfZmR3LnNxbAorKysgYi9jb250cmliL2ZpbGVf ZmR3L3NxbC9maWxlX2Zkdy5zcWwKQEAgLTI0Miw2ICsyNDIsMTYgQEAgVVBEQVRFIHB0IHNldCBh ID0gMSB3aGVyZSBhID0gMjsgLS0gRVJST1IKIFNFTEVDVCB0YWJsZW9pZDo6cmVnY2xhc3MsICog RlJPTSBwdDsKIFNFTEVDVCB0YWJsZW9pZDo6cmVnY2xhc3MsICogRlJPTSBwMTsKIFNFTEVDVCB0 YWJsZW9pZDo6cmVnY2xhc3MsICogRlJPTSBwMjsKKworLS0gVmVyaWZ5IHRoYXQgREVMRVRFL1VQ REFURSBvbiBhIHBhcnRpdGlvbmVkIHRhYmxlIHdpdGggYSBmb3JlaWduIHBhcnRpdGlvbgorLS0g dGhhdCBkb2Vzbid0IHN1cHBvcnQgdGhlIG9wZXJhdGlvbiB3b3JrcyB3aGVuIGFsbCBwYXJ0aXRp b25zIGFyZSBleGNsdWRlZAorLS0gKGJ5IHBydW5pbmcgb3IgY29uc3RyYWludCBleGNsdXNpb24p LiBUaGUgZHVtbXkgcm9vdCBzaG91bGQgZ2V0IGN0aWQgYWRkZWQuCitEUk9QIFRBQkxFIHAyOwor U0VUIGVuYWJsZV9wYXJ0aXRpb25fcHJ1bmluZyBUTyBvZmY7CitFWFBMQUlOIChDT1NUUyBPRkYs IFZFUkJPU0UpIERFTEVURSBGUk9NIHB0IFdIRVJFIGZhbHNlOworU0VUIGVuYWJsZV9wYXJ0aXRp b25fcHJ1bmluZyBUTyBvbjsKK0VYUExBSU4gKENPU1RTIE9GRiwgVkVSQk9TRSkgREVMRVRFIEZS T00gcHQgV0hFUkUgZmFsc2U7CisKIERST1AgVEFCTEUgcHQ7CiAKIC0tIGdlbmVyYXRlZCBjb2x1 bW4gdGVzdHMKZGlmZiAtLWdpdCBhL2NvbnRyaWIvcG9zdGdyZXNfZmR3L2V4cGVjdGVkL3Bvc3Rn cmVzX2Zkdy5vdXQgYi9jb250cmliL3Bvc3RncmVzX2Zkdy9leHBlY3RlZC9wb3N0Z3Jlc19mZHcu b3V0CmluZGV4IDYwNjY1MTBjN2MwLi4wNGRhNGMxNzFlYiAxMDA2NDQKLS0tIGEvY29udHJpYi9w b3N0Z3Jlc19mZHcvZXhwZWN0ZWQvcG9zdGdyZXNfZmR3Lm91dAorKysgYi9jb250cmliL3Bvc3Rn cmVzX2Zkdy9leHBlY3RlZC9wb3N0Z3Jlc19mZHcub3V0CkBAIC03Mzk5LDcgKzczOTksNyBAQCBV UERBVEUgcndfdmlldyBTRVQgYiA9IGIgKyA1OwogICAgRm9yZWlnbiBVcGRhdGUgb24gcHVibGlj LmZvcmVpZ25fdGJsIHBhcmVudF90YmxfMQogICAgICBSZW1vdGUgU1FMOiBVUERBVEUgcHVibGlj LmNoaWxkX3RibCBTRVQgYiA9ICQyIFdIRVJFIGN0aWQgPSAkMSBSRVRVUk5JTkcgYSwgYgogICAg LT4gIEZvcmVpZ24gU2NhbiBvbiBwdWJsaWMuZm9yZWlnbl90YmwgcGFyZW50X3RibF8xCi0gICAg ICAgICBPdXRwdXQ6IChwYXJlbnRfdGJsXzEuYiArIDUpLCBwYXJlbnRfdGJsXzEudGFibGVvaWQs IHBhcmVudF90YmxfMS5jdGlkLCBwYXJlbnRfdGJsXzEuKgorICAgICAgICAgT3V0cHV0OiAocGFy ZW50X3RibF8xLmIgKyA1KSwgcGFyZW50X3RibF8xLmN0aWQsIHBhcmVudF90YmxfMS4qLCBwYXJl bnRfdGJsXzEudGFibGVvaWQKICAgICAgICAgIFJlbW90ZSBTUUw6IFNFTEVDVCBhLCBiLCBjdGlk IEZST00gcHVibGljLmNoaWxkX3RibCBXSEVSRSAoKGEgPCBiKSkgRk9SIFVQREFURQogKDYgcm93 cykKIApAQCAtNzQxNCw3ICs3NDE0LDcgQEAgVVBEQVRFIHJ3X3ZpZXcgU0VUIGIgPSBiICsgMTU7 CiAgICBGb3JlaWduIFVwZGF0ZSBvbiBwdWJsaWMuZm9yZWlnbl90YmwgcGFyZW50X3RibF8xCiAg ICAgIFJlbW90ZSBTUUw6IFVQREFURSBwdWJsaWMuY2hpbGRfdGJsIFNFVCBiID0gJDIgV0hFUkUg Y3RpZCA9ICQxIFJFVFVSTklORyBhLCBiCiAgICAtPiAgRm9yZWlnbiBTY2FuIG9uIHB1YmxpYy5m b3JlaWduX3RibCBwYXJlbnRfdGJsXzEKLSAgICAgICAgIE91dHB1dDogKHBhcmVudF90YmxfMS5i ICsgMTUpLCBwYXJlbnRfdGJsXzEudGFibGVvaWQsIHBhcmVudF90YmxfMS5jdGlkLCBwYXJlbnRf dGJsXzEuKgorICAgICAgICAgT3V0cHV0OiAocGFyZW50X3RibF8xLmIgKyAxNSksIHBhcmVudF90 YmxfMS5jdGlkLCBwYXJlbnRfdGJsXzEuKiwgcGFyZW50X3RibF8xLnRhYmxlb2lkCiAgICAgICAg ICBSZW1vdGUgU1FMOiBTRUxFQ1QgYSwgYiwgY3RpZCBGUk9NIHB1YmxpYy5jaGlsZF90YmwgV0hF UkUgKChhIDwgYikpIEZPUiBVUERBVEUKICg2IHJvd3MpCiAKQEAgLTc0NzAsNyArNzQ3MCw3IEBA IFVQREFURSByd192aWV3IFNFVCBiID0gJ3RleHQnLCBjID0gMTIzLjQ1NjsKICAgIEZvcmVpZ24g VXBkYXRlIG9uIHB1YmxpYy5jaGlsZF9mb3JlaWduIHBhcmVudF90YmxfMQogICAgICBSZW1vdGUg U1FMOiBVUERBVEUgcHVibGljLmNoaWxkX2xvY2FsIFNFVCBiID0gJDIsIGMgPSAkMyBXSEVSRSBj dGlkID0gJDEgUkVUVVJOSU5HIGEKICAgIC0+ICBGb3JlaWduIFNjYW4gb24gcHVibGljLmNoaWxk X2ZvcmVpZ24gcGFyZW50X3RibF8xCi0gICAgICAgICBPdXRwdXQ6ICd0ZXh0Jzo6dGV4dCwgMTIz LjQ1NiwgcGFyZW50X3RibF8xLnRhYmxlb2lkLCBwYXJlbnRfdGJsXzEuY3RpZCwgcGFyZW50X3Ri bF8xLioKKyAgICAgICAgIE91dHB1dDogJ3RleHQnOjp0ZXh0LCAxMjMuNDU2LCBwYXJlbnRfdGJs XzEuY3RpZCwgcGFyZW50X3RibF8xLiosIHBhcmVudF90YmxfMS50YWJsZW9pZAogICAgICAgICAg UmVtb3RlIFNRTDogU0VMRUNUIGIsIGMsIGEsIGN0aWQgRlJPTSBwdWJsaWMuY2hpbGRfbG9jYWwg V0hFUkUgKChhIDwgNSkpIEZPUiBVUERBVEUKICg2IHJvd3MpCiAKQEAgLTgyNjgsNyArODI2OCw3 IEBAIFVQREFURSBwYXJlbnRfdGJsIFNFVCBiID0gYiArIDE7CiAgICBGb3JlaWduIFVwZGF0ZSBv biBwdWJsaWMuZm9yZWlnbl90YmwgcGFyZW50X3RibF8xCiAgICAgIFJlbW90ZSBTUUw6IFVQREFU RSBwdWJsaWMubG9jYWxfdGJsIFNFVCBiID0gJDIgV0hFUkUgY3RpZCA9ICQxCiAgICAtPiAgRm9y ZWlnbiBTY2FuIG9uIHB1YmxpYy5mb3JlaWduX3RibCBwYXJlbnRfdGJsXzEKLSAgICAgICAgIE91 dHB1dDogKHBhcmVudF90YmxfMS5iICsgMSksIHBhcmVudF90YmxfMS50YWJsZW9pZCwgcGFyZW50 X3RibF8xLmN0aWQsIHBhcmVudF90YmxfMS4qCisgICAgICAgICBPdXRwdXQ6IChwYXJlbnRfdGJs XzEuYiArIDEpLCBwYXJlbnRfdGJsXzEuY3RpZCwgcGFyZW50X3RibF8xLiosIHBhcmVudF90Ymxf MS50YWJsZW9pZAogICAgICAgICAgUmVtb3RlIFNRTDogU0VMRUNUIGEsIGIsIGN0aWQgRlJPTSBw dWJsaWMubG9jYWxfdGJsIEZPUiBVUERBVEUKICg2IHJvd3MpCiAKQEAgLTgyODIsNyArODI4Miw3 IEBAIERFTEVURSBGUk9NIHBhcmVudF90Ymw7CiAgICBGb3JlaWduIERlbGV0ZSBvbiBwdWJsaWMu Zm9yZWlnbl90YmwgcGFyZW50X3RibF8xCiAgICAgIFJlbW90ZSBTUUw6IERFTEVURSBGUk9NIHB1 YmxpYy5sb2NhbF90YmwgV0hFUkUgY3RpZCA9ICQxCiAgICAtPiAgRm9yZWlnbiBTY2FuIG9uIHB1 YmxpYy5mb3JlaWduX3RibCBwYXJlbnRfdGJsXzEKLSAgICAgICAgIE91dHB1dDogcGFyZW50X3Ri bF8xLnRhYmxlb2lkLCBwYXJlbnRfdGJsXzEuY3RpZAorICAgICAgICAgT3V0cHV0OiBwYXJlbnRf dGJsXzEuY3RpZCwgcGFyZW50X3RibF8xLnRhYmxlb2lkCiAgICAgICAgICBSZW1vdGUgU1FMOiBT RUxFQ1QgY3RpZCBGUk9NIHB1YmxpYy5sb2NhbF90YmwgRk9SIFVQREFURQogKDYgcm93cykKIApA QCAtODMwOCwxMiArODMwOCwxMiBAQCBVUERBVEUgcGFyZW50X3RibCBTRVQgYiA9IGIgKyAxOwog ICAgRm9yZWlnbiBVcGRhdGUgb24gcHVibGljLmZvcmVpZ25fdGJsIHBhcmVudF90YmxfMgogICAg ICBSZW1vdGUgU1FMOiBVUERBVEUgcHVibGljLmxvY2FsX3RibCBTRVQgYiA9ICQyIFdIRVJFIGN0 aWQgPSAkMQogICAgLT4gIFJlc3VsdAotICAgICAgICAgT3V0cHV0OiAocGFyZW50X3RibC5iICsg MSksIHBhcmVudF90YmwudGFibGVvaWQsIHBhcmVudF90YmwuY3RpZCwgKE5VTEw6OnJlY29yZCkK KyAgICAgICAgIE91dHB1dDogKHBhcmVudF90YmwuYiArIDEpLCBwYXJlbnRfdGJsLmN0aWQsIHBh cmVudF90YmwudGFibGVvaWQsIChOVUxMOjpyZWNvcmQpCiAgICAgICAgICAtPiAgQXBwZW5kCiAg ICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLnBhcmVudF90YmwgcGFyZW50X3Ri bF8xCi0gICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHBhcmVudF90YmxfMS5iLCBwYXJlbnRf dGJsXzEudGFibGVvaWQsIHBhcmVudF90YmxfMS5jdGlkLCBOVUxMOjpyZWNvcmQKKyAgICAgICAg ICAgICAgICAgICAgIE91dHB1dDogcGFyZW50X3RibF8xLmIsIHBhcmVudF90YmxfMS5jdGlkLCBw YXJlbnRfdGJsXzEudGFibGVvaWQsIE5VTEw6OnJlY29yZAogICAgICAgICAgICAgICAgLT4gIEZv cmVpZ24gU2NhbiBvbiBwdWJsaWMuZm9yZWlnbl90YmwgcGFyZW50X3RibF8yCi0gICAgICAgICAg ICAgICAgICAgICBPdXRwdXQ6IHBhcmVudF90YmxfMi5iLCBwYXJlbnRfdGJsXzIudGFibGVvaWQs IHBhcmVudF90YmxfMi5jdGlkLCBwYXJlbnRfdGJsXzIuKgorICAgICAgICAgICAgICAgICAgICAg T3V0cHV0OiBwYXJlbnRfdGJsXzIuYiwgcGFyZW50X3RibF8yLmN0aWQsIHBhcmVudF90YmxfMi50 YWJsZW9pZCwgcGFyZW50X3RibF8yLioKICAgICAgICAgICAgICAgICAgICAgIFJlbW90ZSBTUUw6 IFNFTEVDVCBhLCBiLCBjdGlkIEZST00gcHVibGljLmxvY2FsX3RibCBGT1IgVVBEQVRFCiAoMTIg cm93cykKIApAQCAtODMyOSw5ICs4MzI5LDkgQEAgREVMRVRFIEZST00gcGFyZW50X3RibDsKICAg ICAgUmVtb3RlIFNRTDogREVMRVRFIEZST00gcHVibGljLmxvY2FsX3RibCBXSEVSRSBjdGlkID0g JDEKICAgIC0+ICBBcHBlbmQKICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMucGFyZW50 X3RibCBwYXJlbnRfdGJsXzEKLSAgICAgICAgICAgICAgIE91dHB1dDogcGFyZW50X3RibF8xLnRh Ymxlb2lkLCBwYXJlbnRfdGJsXzEuY3RpZAorICAgICAgICAgICAgICAgT3V0cHV0OiBwYXJlbnRf dGJsXzEuY3RpZCwgcGFyZW50X3RibF8xLnRhYmxlb2lkCiAgICAgICAgICAtPiAgRm9yZWlnbiBT Y2FuIG9uIHB1YmxpYy5mb3JlaWduX3RibCBwYXJlbnRfdGJsXzIKLSAgICAgICAgICAgICAgIE91 dHB1dDogcGFyZW50X3RibF8yLnRhYmxlb2lkLCBwYXJlbnRfdGJsXzIuY3RpZAorICAgICAgICAg ICAgICAgT3V0cHV0OiBwYXJlbnRfdGJsXzIuY3RpZCwgcGFyZW50X3RibF8yLnRhYmxlb2lkCiAg ICAgICAgICAgICAgICBSZW1vdGUgU1FMOiBTRUxFQ1QgY3RpZCBGUk9NIHB1YmxpYy5sb2NhbF90 YmwgRk9SIFVQREFURQogKDEwIHJvd3MpCiAKQEAgLTg2ODIsMTQgKzg2ODIsMTQgQEAgdXBkYXRl IGJhciBzZXQgZjIgPSBmMiArIDEwMCB3aGVyZSBmMSBpbiAoc2VsZWN0IGYxIGZyb20gZm9vKTsK ICAgIEZvcmVpZ24gVXBkYXRlIG9uIHB1YmxpYy5iYXIyIGJhcl8yCiAgICAgIFJlbW90ZSBTUUw6 IFVQREFURSBwdWJsaWMubG9jdDIgU0VUIGYyID0gJDIgV0hFUkUgY3RpZCA9ICQxCiAgICAtPiAg SGFzaCBKb2luCi0gICAgICAgICBPdXRwdXQ6IChiYXIuZjIgKyAxMDApLCBmb28uY3RpZCwgYmFy LnRhYmxlb2lkLCBiYXIuY3RpZCwgKE5VTEw6OnJlY29yZCksIGZvby4qLCBmb28udGFibGVvaWQK KyAgICAgICAgIE91dHB1dDogKGJhci5mMiArIDEwMCksIGZvby5jdGlkLCBiYXIuY3RpZCwgYmFy LnRhYmxlb2lkLCAoTlVMTDo6cmVjb3JkKSwgZm9vLiosIGZvby50YWJsZW9pZAogICAgICAgICAg SW5uZXIgVW5pcXVlOiB0cnVlCiAgICAgICAgICBIYXNoIENvbmQ6IChiYXIuZjEgPSBmb28uZjEp CiAgICAgICAgICAtPiAgQXBwZW5kCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVi bGljLmJhciBiYXJfMQotICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiBiYXJfMS5mMiwgYmFy XzEuZjEsIGJhcl8xLnRhYmxlb2lkLCBiYXJfMS5jdGlkLCBOVUxMOjpyZWNvcmQKKyAgICAgICAg ICAgICAgICAgICAgIE91dHB1dDogYmFyXzEuZjIsIGJhcl8xLmYxLCBiYXJfMS5jdGlkLCBiYXJf MS50YWJsZW9pZCwgTlVMTDo6cmVjb3JkCiAgICAgICAgICAgICAgICAtPiAgRm9yZWlnbiBTY2Fu IG9uIHB1YmxpYy5iYXIyIGJhcl8yCi0gICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IGJhcl8y LmYyLCBiYXJfMi5mMSwgYmFyXzIudGFibGVvaWQsIGJhcl8yLmN0aWQsIGJhcl8yLioKKyAgICAg ICAgICAgICAgICAgICAgIE91dHB1dDogYmFyXzIuZjIsIGJhcl8yLmYxLCBiYXJfMi5jdGlkLCBi YXJfMi50YWJsZW9pZCwgYmFyXzIuKgogICAgICAgICAgICAgICAgICAgICAgUmVtb3RlIFNRTDog U0VMRUNUIGYxLCBmMiwgZjMsIGN0aWQgRlJPTSBwdWJsaWMubG9jdDIgRk9SIFVQREFURQogICAg ICAgICAgLT4gIEhhc2gKICAgICAgICAgICAgICAgIE91dHB1dDogZm9vLmN0aWQsIGZvby5mMSwg Zm9vLiosIGZvby50YWJsZW9pZApAQCAtODcyOSwxNiArODcyOSwxNiBAQCB3aGVyZSBiYXIuZjEg PSBzcy5mMTsKICAgIEZvcmVpZ24gVXBkYXRlIG9uIHB1YmxpYy5iYXIyIGJhcl8yCiAgICAgIFJl bW90ZSBTUUw6IFVQREFURSBwdWJsaWMubG9jdDIgU0VUIGYyID0gJDIgV0hFUkUgY3RpZCA9ICQx CiAgICAtPiAgTWVyZ2UgSm9pbgotICAgICAgICAgT3V0cHV0OiAoYmFyLmYyICsgMTAwKSwgKFJP Vyhmb28uZjEpKSwgYmFyLnRhYmxlb2lkLCBiYXIuY3RpZCwgKE5VTEw6OnJlY29yZCkKKyAgICAg ICAgIE91dHB1dDogKGJhci5mMiArIDEwMCksIChST1coZm9vLmYxKSksIGJhci5jdGlkLCBiYXIu dGFibGVvaWQsIChOVUxMOjpyZWNvcmQpCiAgICAgICAgICBNZXJnZSBDb25kOiAoYmFyLmYxID0g Zm9vLmYxKQogICAgICAgICAgLT4gIFNvcnQKLSAgICAgICAgICAgICAgIE91dHB1dDogYmFyLmYy LCBiYXIuZjEsIGJhci50YWJsZW9pZCwgYmFyLmN0aWQsIChOVUxMOjpyZWNvcmQpCisgICAgICAg ICAgICAgICBPdXRwdXQ6IGJhci5mMiwgYmFyLmYxLCBiYXIuY3RpZCwgYmFyLnRhYmxlb2lkLCAo TlVMTDo6cmVjb3JkKQogICAgICAgICAgICAgICAgU29ydCBLZXk6IGJhci5mMQogICAgICAgICAg ICAgICAgLT4gIEFwcGVuZAogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1 YmxpYy5iYXIgYmFyXzEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogYmFyXzEu ZjIsIGJhcl8xLmYxLCBiYXJfMS50YWJsZW9pZCwgYmFyXzEuY3RpZCwgTlVMTDo6cmVjb3JkCisg ICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IGJhcl8xLmYyLCBiYXJfMS5mMSwgYmFy XzEuY3RpZCwgYmFyXzEudGFibGVvaWQsIE5VTEw6OnJlY29yZAogICAgICAgICAgICAgICAgICAg ICAgLT4gIEZvcmVpZ24gU2NhbiBvbiBwdWJsaWMuYmFyMiBiYXJfMgotICAgICAgICAgICAgICAg ICAgICAgICAgICAgT3V0cHV0OiBiYXJfMi5mMiwgYmFyXzIuZjEsIGJhcl8yLnRhYmxlb2lkLCBi YXJfMi5jdGlkLCBiYXJfMi4qCisgICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IGJh cl8yLmYyLCBiYXJfMi5mMSwgYmFyXzIuY3RpZCwgYmFyXzIudGFibGVvaWQsIGJhcl8yLioKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFJlbW90ZSBTUUw6IFNFTEVDVCBmMSwgZjIsIGYzLCBj dGlkIEZST00gcHVibGljLmxvY3QyIEZPUiBVUERBVEUKICAgICAgICAgIC0+ICBTb3J0CiAgICAg ICAgICAgICAgICBPdXRwdXQ6IChST1coZm9vLmYxKSksIGZvby5mMQpAQCAtODg4OCw3ICs4ODg4 LDcgQEAgZGVsZXRlIGZyb20gZm9vIHdoZXJlIGYxIDwgNSByZXR1cm5pbmcgKjsKICAgIEZvcmVp Z24gRGVsZXRlIG9uIHB1YmxpYy5mb28yIGZvb18yCiAgICAtPiAgQXBwZW5kCiAgICAgICAgICAt PiAgSW5kZXggU2NhbiB1c2luZyBpX2Zvb19mMSBvbiBwdWJsaWMuZm9vIGZvb18xCi0gICAgICAg ICAgICAgICBPdXRwdXQ6IGZvb18xLnRhYmxlb2lkLCBmb29fMS5jdGlkCisgICAgICAgICAgICAg ICBPdXRwdXQ6IGZvb18xLmN0aWQsIGZvb18xLnRhYmxlb2lkCiAgICAgICAgICAgICAgICBJbmRl eCBDb25kOiAoZm9vXzEuZjEgPCA1KQogICAgICAgICAgLT4gIEZvcmVpZ24gRGVsZXRlIG9uIHB1 YmxpYy5mb28yIGZvb18yCiAgICAgICAgICAgICAgICBSZW1vdGUgU1FMOiBERUxFVEUgRlJPTSBw dWJsaWMubG9jdDEgV0hFUkUgKChmMSA8IDUpKSBSRVRVUk5JTkcgZjEsIGYyCkBAIC04OTEzLDEw ICs4OTEzLDEwIEBAIHVwZGF0ZSBiYXIgc2V0IGYyID0gZjIgKyAxMDAgcmV0dXJuaW5nICo7CiAg ICBVcGRhdGUgb24gcHVibGljLmJhciBiYXJfMQogICAgRm9yZWlnbiBVcGRhdGUgb24gcHVibGlj LmJhcjIgYmFyXzIKICAgIC0+ICBSZXN1bHQKLSAgICAgICAgIE91dHB1dDogKGJhci5mMiArIDEw MCksIGJhci50YWJsZW9pZCwgYmFyLmN0aWQsIChOVUxMOjpyZWNvcmQpCisgICAgICAgICBPdXRw dXQ6IChiYXIuZjIgKyAxMDApLCBiYXIuY3RpZCwgYmFyLnRhYmxlb2lkLCAoTlVMTDo6cmVjb3Jk KQogICAgICAgICAgLT4gIEFwcGVuZAogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1 YmxpYy5iYXIgYmFyXzEKLSAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogYmFyXzEuZjIsIGJh cl8xLnRhYmxlb2lkLCBiYXJfMS5jdGlkLCBOVUxMOjpyZWNvcmQKKyAgICAgICAgICAgICAgICAg ICAgIE91dHB1dDogYmFyXzEuZjIsIGJhcl8xLmN0aWQsIGJhcl8xLnRhYmxlb2lkLCBOVUxMOjpy ZWNvcmQKICAgICAgICAgICAgICAgIC0+ICBGb3JlaWduIFVwZGF0ZSBvbiBwdWJsaWMuYmFyMiBi YXJfMgogICAgICAgICAgICAgICAgICAgICAgUmVtb3RlIFNRTDogVVBEQVRFIHB1YmxpYy5sb2N0 MiBTRVQgZjIgPSAoZjIgKyAxMDApIFJFVFVSTklORyBmMSwgZjIKICgxMSByb3dzKQpAQCAtODk0 OCwxMiArODk0OCwxMiBAQCB1cGRhdGUgYmFyIHNldCBmMiA9IGYyICsgMTAwOwogICAgRm9yZWln biBVcGRhdGUgb24gcHVibGljLmJhcjIgYmFyXzIKICAgICAgUmVtb3RlIFNRTDogVVBEQVRFIHB1 YmxpYy5sb2N0MiBTRVQgZjEgPSAkMiwgZjIgPSAkMywgZjMgPSAkNCBXSEVSRSBjdGlkID0gJDEg UkVUVVJOSU5HIGYxLCBmMiwgZjMKICAgIC0+ICBSZXN1bHQKLSAgICAgICAgIE91dHB1dDogKGJh ci5mMiArIDEwMCksIGJhci50YWJsZW9pZCwgYmFyLmN0aWQsIChOVUxMOjpyZWNvcmQpCisgICAg ICAgICBPdXRwdXQ6IChiYXIuZjIgKyAxMDApLCBiYXIuY3RpZCwgYmFyLnRhYmxlb2lkLCAoTlVM TDo6cmVjb3JkKQogICAgICAgICAgLT4gIEFwcGVuZAogICAgICAgICAgICAgICAgLT4gIFNlcSBT Y2FuIG9uIHB1YmxpYy5iYXIgYmFyXzEKLSAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogYmFy XzEuZjIsIGJhcl8xLnRhYmxlb2lkLCBiYXJfMS5jdGlkLCBOVUxMOjpyZWNvcmQKKyAgICAgICAg ICAgICAgICAgICAgIE91dHB1dDogYmFyXzEuZjIsIGJhcl8xLmN0aWQsIGJhcl8xLnRhYmxlb2lk LCBOVUxMOjpyZWNvcmQKICAgICAgICAgICAgICAgIC0+ICBGb3JlaWduIFNjYW4gb24gcHVibGlj LmJhcjIgYmFyXzIKLSAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogYmFyXzIuZjIsIGJhcl8y LnRhYmxlb2lkLCBiYXJfMi5jdGlkLCBiYXJfMi4qCisgICAgICAgICAgICAgICAgICAgICBPdXRw dXQ6IGJhcl8yLmYyLCBiYXJfMi5jdGlkLCBiYXJfMi50YWJsZW9pZCwgYmFyXzIuKgogICAgICAg ICAgICAgICAgICAgICAgUmVtb3RlIFNRTDogU0VMRUNUIGYxLCBmMiwgZjMsIGN0aWQgRlJPTSBw dWJsaWMubG9jdDIgRk9SIFVQREFURQogKDEyIHJvd3MpCiAKQEAgLTg5ODAsMTAgKzg5ODAsMTAg QEAgZGVsZXRlIGZyb20gYmFyIHdoZXJlIGYyIDwgNDAwOwogICAgICBSZW1vdGUgU1FMOiBERUxF VEUgRlJPTSBwdWJsaWMubG9jdDIgV0hFUkUgY3RpZCA9ICQxIFJFVFVSTklORyBmMSwgZjIsIGYz CiAgICAtPiAgQXBwZW5kCiAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmJhciBiYXJf MQotICAgICAgICAgICAgICAgT3V0cHV0OiBiYXJfMS50YWJsZW9pZCwgYmFyXzEuY3RpZCwgTlVM TDo6cmVjb3JkCisgICAgICAgICAgICAgICBPdXRwdXQ6IGJhcl8xLmN0aWQsIGJhcl8xLnRhYmxl b2lkLCBOVUxMOjpyZWNvcmQKICAgICAgICAgICAgICAgIEZpbHRlcjogKGJhcl8xLmYyIDwgNDAw KQogICAgICAgICAgLT4gIEZvcmVpZ24gU2NhbiBvbiBwdWJsaWMuYmFyMiBiYXJfMgotICAgICAg ICAgICAgICAgT3V0cHV0OiBiYXJfMi50YWJsZW9pZCwgYmFyXzIuY3RpZCwgYmFyXzIuKgorICAg ICAgICAgICAgICAgT3V0cHV0OiBiYXJfMi5jdGlkLCBiYXJfMi50YWJsZW9pZCwgYmFyXzIuKgog ICAgICAgICAgICAgICAgUmVtb3RlIFNRTDogU0VMRUNUIGYxLCBmMiwgZjMsIGN0aWQgRlJPTSBw dWJsaWMubG9jdDIgV0hFUkUgKChmMiA8IDQwMCkpIEZPUiBVUERBVEUKICgxMSByb3dzKQogCkBA IC05MDI0LDEzICs5MDI0LDEzIEBAIHVwZGF0ZSBwYXJlbnQgc2V0IGIgPSBwYXJlbnQuYiB8fCBy ZW10Mi5iIGZyb20gcmVtdDIgd2hlcmUgcGFyZW50LmEgPSByZW10Mi5hIHJlCiAgICBGb3JlaWdu IFVwZGF0ZSBvbiBwdWJsaWMucmVtdDEgcGFyZW50XzIKICAgICAgUmVtb3RlIFNRTDogVVBEQVRF IHB1YmxpYy5sb2N0MSBTRVQgYiA9ICQyIFdIRVJFIGN0aWQgPSAkMSBSRVRVUk5JTkcgYSwgYgog ICAgLT4gIE5lc3RlZCBMb29wCi0gICAgICAgICBPdXRwdXQ6IChwYXJlbnQuYiB8fCByZW10Mi5i KSwgcmVtdDIuKiwgcmVtdDIuYSwgcmVtdDIuYiwgcGFyZW50LnRhYmxlb2lkLCBwYXJlbnQuY3Rp ZCwgKE5VTEw6OnJlY29yZCkKKyAgICAgICAgIE91dHB1dDogKHBhcmVudC5iIHx8IHJlbXQyLmIp LCByZW10Mi4qLCByZW10Mi5hLCByZW10Mi5iLCBwYXJlbnQuY3RpZCwgcGFyZW50LnRhYmxlb2lk LCAoTlVMTDo6cmVjb3JkKQogICAgICAgICAgSm9pbiBGaWx0ZXI6IChwYXJlbnQuYSA9IHJlbXQy LmEpCiAgICAgICAgICAtPiAgQXBwZW5kCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24g cHVibGljLnBhcmVudCBwYXJlbnRfMQotICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiBwYXJl bnRfMS5iLCBwYXJlbnRfMS5hLCBwYXJlbnRfMS50YWJsZW9pZCwgcGFyZW50XzEuY3RpZCwgTlVM TDo6cmVjb3JkCisgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHBhcmVudF8xLmIsIHBhcmVu dF8xLmEsIHBhcmVudF8xLmN0aWQsIHBhcmVudF8xLnRhYmxlb2lkLCBOVUxMOjpyZWNvcmQKICAg ICAgICAgICAgICAgIC0+ICBGb3JlaWduIFNjYW4gb24gcHVibGljLnJlbXQxIHBhcmVudF8yCi0g ICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHBhcmVudF8yLmIsIHBhcmVudF8yLmEsIHBhcmVu dF8yLnRhYmxlb2lkLCBwYXJlbnRfMi5jdGlkLCBwYXJlbnRfMi4qCisgICAgICAgICAgICAgICAg ICAgICBPdXRwdXQ6IHBhcmVudF8yLmIsIHBhcmVudF8yLmEsIHBhcmVudF8yLmN0aWQsIHBhcmVu dF8yLnRhYmxlb2lkLCBwYXJlbnRfMi4qCiAgICAgICAgICAgICAgICAgICAgICBSZW1vdGUgU1FM OiBTRUxFQ1QgYSwgYiwgY3RpZCBGUk9NIHB1YmxpYy5sb2N0MSBGT1IgVVBEQVRFCiAgICAgICAg ICAtPiAgTWF0ZXJpYWxpemUKICAgICAgICAgICAgICAgIE91dHB1dDogcmVtdDIuYiwgcmVtdDIu KiwgcmVtdDIuYQpAQCAtOTA1NiwxMyArOTA1NiwxMyBAQCBkZWxldGUgZnJvbSBwYXJlbnQgdXNp bmcgcmVtdDIgd2hlcmUgcGFyZW50LmEgPSByZW10Mi5hIHJldHVybmluZyBwYXJlbnQ7CiAgICBG b3JlaWduIERlbGV0ZSBvbiBwdWJsaWMucmVtdDEgcGFyZW50XzIKICAgICAgUmVtb3RlIFNRTDog REVMRVRFIEZST00gcHVibGljLmxvY3QxIFdIRVJFIGN0aWQgPSAkMSBSRVRVUk5JTkcgYSwgYgog ICAgLT4gIE5lc3RlZCBMb29wCi0gICAgICAgICBPdXRwdXQ6IHJlbXQyLiosIHBhcmVudC50YWJs ZW9pZCwgcGFyZW50LmN0aWQKKyAgICAgICAgIE91dHB1dDogcmVtdDIuKiwgcGFyZW50LmN0aWQs IHBhcmVudC50YWJsZW9pZAogICAgICAgICAgSm9pbiBGaWx0ZXI6IChwYXJlbnQuYSA9IHJlbXQy LmEpCiAgICAgICAgICAtPiAgQXBwZW5kCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24g cHVibGljLnBhcmVudCBwYXJlbnRfMQotICAgICAgICAgICAgICAgICAgICAgT3V0cHV0OiBwYXJl bnRfMS5hLCBwYXJlbnRfMS50YWJsZW9pZCwgcGFyZW50XzEuY3RpZAorICAgICAgICAgICAgICAg ICAgICAgT3V0cHV0OiBwYXJlbnRfMS5hLCBwYXJlbnRfMS5jdGlkLCBwYXJlbnRfMS50YWJsZW9p ZAogICAgICAgICAgICAgICAgLT4gIEZvcmVpZ24gU2NhbiBvbiBwdWJsaWMucmVtdDEgcGFyZW50 XzIKLSAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogcGFyZW50XzIuYSwgcGFyZW50XzIudGFi bGVvaWQsIHBhcmVudF8yLmN0aWQKKyAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogcGFyZW50 XzIuYSwgcGFyZW50XzIuY3RpZCwgcGFyZW50XzIudGFibGVvaWQKICAgICAgICAgICAgICAgICAg ICAgIFJlbW90ZSBTUUw6IFNFTEVDVCBhLCBjdGlkIEZST00gcHVibGljLmxvY3QxIEZPUiBVUERB VEUKICAgICAgICAgIC0+ICBNYXRlcmlhbGl6ZQogICAgICAgICAgICAgICAgT3V0cHV0OiByZW10 Mi4qLCByZW10Mi5hCkBAIC05MjkzLDcgKzkyOTMsNyBAQCB1cGRhdGUgdXRydGVzdCBzZXQgYSA9 IDEgd2hlcmUgYSA9IDEgb3IgYSA9IDIgcmV0dXJuaW5nICo7CiAgICAgICAgICAtPiAgRm9yZWln biBVcGRhdGUgb24gcHVibGljLnJlbXAgdXRydGVzdF8xCiAgICAgICAgICAgICAgICBSZW1vdGUg U1FMOiBVUERBVEUgcHVibGljLmxvY3QgU0VUIGEgPSAxIFdIRVJFICgoKGEgPSAxKSBPUiAoYSA9 IDIpKSkgUkVUVVJOSU5HIGEsIGIKICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMubG9j cCB1dHJ0ZXN0XzIKLSAgICAgICAgICAgICAgIE91dHB1dDogMSwgdXRydGVzdF8yLnRhYmxlb2lk LCB1dHJ0ZXN0XzIuY3RpZCwgTlVMTDo6cmVjb3JkCisgICAgICAgICAgICAgICBPdXRwdXQ6IDEs IHV0cnRlc3RfMi5jdGlkLCBOVUxMOjpyZWNvcmQsIHV0cnRlc3RfMi50YWJsZW9pZAogICAgICAg ICAgICAgICAgRmlsdGVyOiAoKHV0cnRlc3RfMi5hID0gMSkgT1IgKHV0cnRlc3RfMi5hID0gMikp CiAoMTAgcm93cykKIApAQCAtOTMxMSw3ICs5MzExLDcgQEAgdXBkYXRlIHV0cnRlc3Qgc2V0IGEg PSAxIHdoZXJlIGEgPSAyIHJldHVybmluZyAqOwogICAgT3V0cHV0OiB1dHJ0ZXN0XzEuYSwgdXRy dGVzdF8xLmIKICAgIFVwZGF0ZSBvbiBwdWJsaWMubG9jcCB1dHJ0ZXN0XzEKICAgIC0+ICBTZXEg U2NhbiBvbiBwdWJsaWMubG9jcCB1dHJ0ZXN0XzEKLSAgICAgICAgIE91dHB1dDogMSwgdXRydGVz dF8xLnRhYmxlb2lkLCB1dHJ0ZXN0XzEuY3RpZAorICAgICAgICAgT3V0cHV0OiAxLCB1dHJ0ZXN0 XzEuY3RpZCwgdXRydGVzdF8xLnRhYmxlb2lkCiAgICAgICAgICBGaWx0ZXI6ICh1dHJ0ZXN0XzEu YSA9IDIpCiAoNiByb3dzKQogCkBAIC05MzQyLDcgKzkzNDIsNyBAQCB1cGRhdGUgdXRydGVzdCBz ZXQgYSA9IDEgcmV0dXJuaW5nICo7CiAgICAgICAgICAtPiAgRm9yZWlnbiBVcGRhdGUgb24gcHVi bGljLnJlbXAgdXRydGVzdF8xCiAgICAgICAgICAgICAgICBSZW1vdGUgU1FMOiBVUERBVEUgcHVi bGljLmxvY3QgU0VUIGEgPSAxIFJFVFVSTklORyBhLCBiCiAgICAgICAgICAtPiAgU2VxIFNjYW4g b24gcHVibGljLmxvY3AgdXRydGVzdF8yCi0gICAgICAgICAgICAgICBPdXRwdXQ6IDEsIHV0cnRl c3RfMi50YWJsZW9pZCwgdXRydGVzdF8yLmN0aWQsIE5VTEw6OnJlY29yZAorICAgICAgICAgICAg ICAgT3V0cHV0OiAxLCB1dHJ0ZXN0XzIuY3RpZCwgTlVMTDo6cmVjb3JkLCB1dHJ0ZXN0XzIudGFi bGVvaWQKICg5IHJvd3MpCiAKIHVwZGF0ZSB1dHJ0ZXN0IHNldCBhID0gMSByZXR1cm5pbmcgKjsK QEAgLTkzNjEsMTQgKzkzNjEsMTQgQEAgdXBkYXRlIHV0cnRlc3Qgc2V0IGEgPSAxIGZyb20gKHZh bHVlcyAoMSksICgyKSkgcyh4KSB3aGVyZSBhID0gcy54IHJldHVybmluZyAqOwogICAgICBSZW1v dGUgU1FMOiBVUERBVEUgcHVibGljLmxvY3QgU0VUIGEgPSAkMiBXSEVSRSBjdGlkID0gJDEgUkVU VVJOSU5HIGEsIGIKICAgIFVwZGF0ZSBvbiBwdWJsaWMubG9jcCB1dHJ0ZXN0XzIKICAgIC0+ICBI YXNoIEpvaW4KLSAgICAgICAgIE91dHB1dDogMSwgIipWQUxVRVMqIi4qLCAiKlZBTFVFUyoiLmNv bHVtbjEsIHV0cnRlc3QudGFibGVvaWQsIHV0cnRlc3QuY3RpZCwgdXRydGVzdC4qCisgICAgICAg ICBPdXRwdXQ6IDEsICIqVkFMVUVTKiIuKiwgIipWQUxVRVMqIi5jb2x1bW4xLCB1dHJ0ZXN0LmN0 aWQsIHV0cnRlc3QuKiwgdXRydGVzdC50YWJsZW9pZAogICAgICAgICAgSGFzaCBDb25kOiAodXRy dGVzdC5hID0gIipWQUxVRVMqIi5jb2x1bW4xKQogICAgICAgICAgLT4gIEFwcGVuZAogICAgICAg ICAgICAgICAgLT4gIEZvcmVpZ24gU2NhbiBvbiBwdWJsaWMucmVtcCB1dHJ0ZXN0XzEKLSAgICAg ICAgICAgICAgICAgICAgIE91dHB1dDogdXRydGVzdF8xLmEsIHV0cnRlc3RfMS50YWJsZW9pZCwg dXRydGVzdF8xLmN0aWQsIHV0cnRlc3RfMS4qCisgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6 IHV0cnRlc3RfMS5hLCB1dHJ0ZXN0XzEuY3RpZCwgdXRydGVzdF8xLiosIHV0cnRlc3RfMS50YWJs ZW9pZAogICAgICAgICAgICAgICAgICAgICAgUmVtb3RlIFNRTDogU0VMRUNUIGEsIGIsIGN0aWQg RlJPTSBwdWJsaWMubG9jdCBGT1IgVVBEQVRFCiAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4g b24gcHVibGljLmxvY3AgdXRydGVzdF8yCi0gICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHV0 cnRlc3RfMi5hLCB1dHJ0ZXN0XzIudGFibGVvaWQsIHV0cnRlc3RfMi5jdGlkLCBOVUxMOjpyZWNv cmQKKyAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdXRydGVzdF8yLmEsIHV0cnRlc3RfMi5j dGlkLCBOVUxMOjpyZWNvcmQsIHV0cnRlc3RfMi50YWJsZW9pZAogICAgICAgICAgLT4gIEhhc2gK ICAgICAgICAgICAgICAgIE91dHB1dDogIipWQUxVRVMqIi4qLCAiKlZBTFVFUyoiLmNvbHVtbjEK ICAgICAgICAgICAgICAgIC0+ICBWYWx1ZXMgU2NhbiBvbiAiKlZBTFVFUyoiCkBAIC05NDAwLDcg Kzk0MDAsNyBAQCB1cGRhdGUgdXRydGVzdCBzZXQgYSA9IDMgcmV0dXJuaW5nICo7CiAgICBGb3Jl aWduIFVwZGF0ZSBvbiBwdWJsaWMucmVtcCB1dHJ0ZXN0XzIKICAgIC0+ICBBcHBlbmQKICAgICAg ICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMubG9jcCB1dHJ0ZXN0XzEKLSAgICAgICAgICAgICAg IE91dHB1dDogMywgdXRydGVzdF8xLnRhYmxlb2lkLCB1dHJ0ZXN0XzEuY3RpZCwgTlVMTDo6cmVj b3JkCisgICAgICAgICAgICAgICBPdXRwdXQ6IDMsIHV0cnRlc3RfMS5jdGlkLCB1dHJ0ZXN0XzEu dGFibGVvaWQsIE5VTEw6OnJlY29yZAogICAgICAgICAgLT4gIEZvcmVpZ24gVXBkYXRlIG9uIHB1 YmxpYy5yZW1wIHV0cnRlc3RfMgogICAgICAgICAgICAgICAgUmVtb3RlIFNRTDogVVBEQVRFIHB1 YmxpYy5sb2N0IFNFVCBhID0gMyBSRVRVUk5JTkcgYSwgYgogKDkgcm93cykKQEAgLTk0MTgsMTMg Kzk0MTgsMTMgQEAgdXBkYXRlIHV0cnRlc3Qgc2V0IGEgPSAzIGZyb20gKHZhbHVlcyAoMiksICgz KSkgcyh4KSB3aGVyZSBhID0gcy54IHJldHVybmluZyAqOwogICAgRm9yZWlnbiBVcGRhdGUgb24g cHVibGljLnJlbXAgdXRydGVzdF8yCiAgICAgIFJlbW90ZSBTUUw6IFVQREFURSBwdWJsaWMubG9j dCBTRVQgYSA9ICQyIFdIRVJFIGN0aWQgPSAkMSBSRVRVUk5JTkcgYSwgYgogICAgLT4gIEhhc2gg Sm9pbgotICAgICAgICAgT3V0cHV0OiAzLCAiKlZBTFVFUyoiLiosICIqVkFMVUVTKiIuY29sdW1u MSwgdXRydGVzdC50YWJsZW9pZCwgdXRydGVzdC5jdGlkLCAoTlVMTDo6cmVjb3JkKQorICAgICAg ICAgT3V0cHV0OiAzLCAiKlZBTFVFUyoiLiosICIqVkFMVUVTKiIuY29sdW1uMSwgdXRydGVzdC5j dGlkLCB1dHJ0ZXN0LnRhYmxlb2lkLCAoTlVMTDo6cmVjb3JkKQogICAgICAgICAgSGFzaCBDb25k OiAodXRydGVzdC5hID0gIipWQUxVRVMqIi5jb2x1bW4xKQogICAgICAgICAgLT4gIEFwcGVuZAog ICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5sb2NwIHV0cnRlc3RfMQotICAg ICAgICAgICAgICAgICAgICAgT3V0cHV0OiB1dHJ0ZXN0XzEuYSwgdXRydGVzdF8xLnRhYmxlb2lk LCB1dHJ0ZXN0XzEuY3RpZCwgTlVMTDo6cmVjb3JkCisgICAgICAgICAgICAgICAgICAgICBPdXRw dXQ6IHV0cnRlc3RfMS5hLCB1dHJ0ZXN0XzEuY3RpZCwgdXRydGVzdF8xLnRhYmxlb2lkLCBOVUxM OjpyZWNvcmQKICAgICAgICAgICAgICAgIC0+ICBGb3JlaWduIFNjYW4gb24gcHVibGljLnJlbXAg dXRydGVzdF8yCi0gICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHV0cnRlc3RfMi5hLCB1dHJ0 ZXN0XzIudGFibGVvaWQsIHV0cnRlc3RfMi5jdGlkLCB1dHJ0ZXN0XzIuKgorICAgICAgICAgICAg ICAgICAgICAgT3V0cHV0OiB1dHJ0ZXN0XzIuYSwgdXRydGVzdF8yLmN0aWQsIHV0cnRlc3RfMi50 YWJsZW9pZCwgdXRydGVzdF8yLioKICAgICAgICAgICAgICAgICAgICAgIFJlbW90ZSBTUUw6IFNF TEVDVCBhLCBiLCBjdGlkIEZST00gcHVibGljLmxvY3QgRk9SIFVQREFURQogICAgICAgICAgLT4g IEhhc2gKICAgICAgICAgICAgICAgIE91dHB1dDogIipWQUxVRVMqIi4qLCAiKlZBTFVFUyoiLmNv bHVtbjEKQEAgLTEyMzI1LDcgKzEyMzI1LDcgQEAgVVBEQVRFIGFzeW5jX3B0IFNFVCBjID0gYyB8 fCBjIFdIRVJFIGIgPSAwIFJFVFVSTklORyAqOwogICAgICAgICAgLT4gIEZvcmVpZ24gVXBkYXRl IG9uIHB1YmxpYy5hc3luY19wMiBhc3luY19wdF8yCiAgICAgICAgICAgICAgICBSZW1vdGUgU1FM OiBVUERBVEUgcHVibGljLmJhc2VfdGJsMiBTRVQgYyA9IChjIHx8IGMpIFdIRVJFICgoYiA9IDAp KSBSRVRVUk5JTkcgYSwgYiwgYwogICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5hc3lu Y19wMyBhc3luY19wdF8zCi0gICAgICAgICAgICAgICBPdXRwdXQ6IChhc3luY19wdF8zLmMgfHwg YXN5bmNfcHRfMy5jKSwgYXN5bmNfcHRfMy50YWJsZW9pZCwgYXN5bmNfcHRfMy5jdGlkLCBOVUxM OjpyZWNvcmQKKyAgICAgICAgICAgICAgIE91dHB1dDogKGFzeW5jX3B0XzMuYyB8fCBhc3luY19w dF8zLmMpLCBhc3luY19wdF8zLmN0aWQsIE5VTEw6OnJlY29yZCwgYXN5bmNfcHRfMy50YWJsZW9p ZAogICAgICAgICAgICAgICAgRmlsdGVyOiAoYXN5bmNfcHRfMy5iID0gMCkKICgxMyByb3dzKQog CkBAIC0xMjM1Miw3ICsxMjM1Miw3IEBAIERFTEVURSBGUk9NIGFzeW5jX3B0IFdIRVJFIGIgPSAw IFJFVFVSTklORyAqOwogICAgICAgICAgLT4gIEZvcmVpZ24gRGVsZXRlIG9uIHB1YmxpYy5hc3lu Y19wMiBhc3luY19wdF8yCiAgICAgICAgICAgICAgICBSZW1vdGUgU1FMOiBERUxFVEUgRlJPTSBw dWJsaWMuYmFzZV90YmwyIFdIRVJFICgoYiA9IDApKSBSRVRVUk5JTkcgYSwgYiwgYwogICAgICAg ICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5hc3luY19wMyBhc3luY19wdF8zCi0gICAgICAgICAg ICAgICBPdXRwdXQ6IGFzeW5jX3B0XzMudGFibGVvaWQsIGFzeW5jX3B0XzMuY3RpZAorICAgICAg ICAgICAgICAgT3V0cHV0OiBhc3luY19wdF8zLmN0aWQsIGFzeW5jX3B0XzMudGFibGVvaWQKICAg ICAgICAgICAgICAgIEZpbHRlcjogKGFzeW5jX3B0XzMuYiA9IDApCiAoMTMgcm93cykKIApkaWZm IC0tZ2l0IGEvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3ByZXAvcHJlcHRsaXN0LmMgYi9zcmMvYmFj a2VuZC9vcHRpbWl6ZXIvcHJlcC9wcmVwdGxpc3QuYwppbmRleCBmZjljN2M0ZmI5Ni4uYjMyYWUz ODc1NjAgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL29wdGltaXplci9wcmVwL3ByZXB0bGlzdC5j CisrKyBiL3NyYy9iYWNrZW5kL29wdGltaXplci9wcmVwL3ByZXB0bGlzdC5jCkBAIC0xMjIsOCAr MTIyLDggQEAgcHJlcHJvY2Vzc190YXJnZXRsaXN0KFBsYW5uZXJJbmZvICpyb290KQogCXsKIAkJ Lyogcm93LWlkZW50aXR5IGxvZ2ljIGV4cGVjdHMgdG8gYWRkIHN0dWZmIHRvIHByb2Nlc3NlZF90 bGlzdCAqLwogCQlyb290LT5wcm9jZXNzZWRfdGxpc3QgPSB0bGlzdDsKLQkJYWRkX3Jvd19pZGVu dGl0eV9jb2x1bW5zKHJvb3QsIHJlc3VsdF9yZWxhdGlvbiwKLQkJCQkJCQkJIHRhcmdldF9ydGUs IHRhcmdldF9yZWxhdGlvbik7CisJCSh2b2lkKSBhZGRfcm93X2lkZW50aXR5X2NvbHVtbnMocm9v dCwgcmVzdWx0X3JlbGF0aW9uLAorCQkJCQkJCQkJCXRhcmdldF9ydGUsIHRhcmdldF9yZWxhdGlv bik7CiAJCXRsaXN0ID0gcm9vdC0+cHJvY2Vzc2VkX3RsaXN0OwogCX0KIApkaWZmIC0tZ2l0IGEv c3JjL2JhY2tlbmQvb3B0aW1pemVyL3V0aWwvYXBwZW5kaW5mby5jIGIvc3JjL2JhY2tlbmQvb3B0 aW1pemVyL3V0aWwvYXBwZW5kaW5mby5jCmluZGV4IDY4OTg0MGQ2NTY0Li4wNDNhYTgzNzNhNCAx MDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3V0aWwvYXBwZW5kaW5mby5jCisrKyBi L3NyYy9iYWNrZW5kL29wdGltaXplci91dGlsL2FwcGVuZGluZm8uYwpAQCAtOTQ5LDggKzk0OSwx MiBAQCBhZGRfcm93X2lkZW50aXR5X3ZhcihQbGFubmVySW5mbyAqcm9vdCwgVmFyICpvcmlnX3Zh ciwKICAqIFRoaXMgZnVuY3Rpb24gYWRkcyB0aGUgcm93IGlkZW50aXR5IGNvbHVtbnMgbmVlZGVk IGJ5IHRoZSBjb3JlIGNvZGUuCiAgKiBGRFdzIG1pZ2h0IGNhbGwgYWRkX3Jvd19pZGVudGl0eV92 YXIoKSBmb3IgdGhlbXNlbHZlcyB0byBhZGQgbm9uc3RhbmRhcmQKICAqIGNvbHVtbnMuICAoRHVw bGljYXRlIHJlcXVlc3RzIGFyZSBmaW5lLikKKyAqCisgKiBSZXR1cm5zIHRydWUgaWYgYW55IHJv dy1pZGVudGl0eSBjb2x1bW5zIHdlcmUgYWRkZWQsIGZhbHNlIGlmIG5vdC4KKyAqIEZvciBmb3Jl aWduIHRhYmxlcyB3aG9zZSBGRFcgZG9lcyBub3Qgc3VwcG9ydCB0aGUgY3VycmVudCBjb21tYW5k LAorICogZG9lcyBub3RoaW5nIGFuZCByZXR1cm5zIGZhbHNlLgogICovCi12b2lkCitib29sCiBh ZGRfcm93X2lkZW50aXR5X2NvbHVtbnMoUGxhbm5lckluZm8gKnJvb3QsIEluZGV4IHJ0aW5kZXgs CiAJCQkJCQkgUmFuZ2VUYmxFbnRyeSAqdGFyZ2V0X3J0ZSwKIAkJCQkJCSBSZWxhdGlvbiB0YXJn ZXRfcmVsYXRpb24pCkBAIC05NzYsNiArOTgwLDcgQEAgYWRkX3Jvd19pZGVudGl0eV9jb2x1bW5z KFBsYW5uZXJJbmZvICpyb290LCBJbmRleCBydGluZGV4LAogCQkJCQkgIEludmFsaWRPaWQsCiAJ CQkJCSAgMCk7CiAJCWFkZF9yb3dfaWRlbnRpdHlfdmFyKHJvb3QsIHZhciwgcnRpbmRleCwgImN0 aWQiKTsKKwkJcmV0dXJuIHRydWU7CiAJfQogCWVsc2UgaWYgKHJlbGtpbmQgPT0gUkVMS0lORF9G T1JFSUdOX1RBQkxFKQogCXsKQEAgLTk4Niw2ICs5OTEsMTkgQEAgYWRkX3Jvd19pZGVudGl0eV9j b2x1bW5zKFBsYW5uZXJJbmZvICpyb290LCBJbmRleCBydGluZGV4LAogCiAJCWZkd3JvdXRpbmUg PSBHZXRGZHdSb3V0aW5lRm9yUmVsYXRpb24odGFyZ2V0X3JlbGF0aW9uLCBmYWxzZSk7CiAKKwkJ LyoKKwkJICogSWYgdGhlIEZEVyBkb2Vzbid0IHN1cHBvcnQgdGhlIGN1cnJlbnQgY29tbWFuZCwg c2tpcCBhZGRpbmcKKwkJICogcm93LWlkZW50aXR5IGNvbHVtbnMuICBUaGlzIGFsbG93cyBkaXN0 cmlidXRlX3Jvd19pZGVudGl0eV92YXJzKCkKKwkJICogdG8gZGV0ZWN0IHdoZW4gYWxsIGNoaWxk cmVuIGxhY2sgcm93IGlkZW50aXR5IGFuZCBhZGQgY3RpZCBmb3IKKwkJICogdGhlIGR1bW15IHJl c3VsdCByZWxhdGlvbi4KKwkJICovCisJCWlmIChjb21tYW5kVHlwZSA9PSBDTURfTUVSR0UgfHwK KwkJCShjb21tYW5kVHlwZSA9PSBDTURfVVBEQVRFICYmCisJCQkgZmR3cm91dGluZS0+RXhlY0Zv cmVpZ25VcGRhdGUgPT0gTlVMTCkgfHwKKwkJCShjb21tYW5kVHlwZSA9PSBDTURfREVMRVRFICYm CisJCQkgZmR3cm91dGluZS0+RXhlY0ZvcmVpZ25EZWxldGUgPT0gTlVMTCkpCisJCQlyZXR1cm4g ZmFsc2U7CisKIAkJaWYgKGZkd3JvdXRpbmUtPkFkZEZvcmVpZ25VcGRhdGVUYXJnZXRzICE9IE5V TEwpCiAJCQlmZHdyb3V0aW5lLT5BZGRGb3JlaWduVXBkYXRlVGFyZ2V0cyhyb290LCBydGluZGV4 LAogCQkJCQkJCQkJCQkJdGFyZ2V0X3J0ZSwgdGFyZ2V0X3JlbGF0aW9uKTsKQEAgLTEwMTYsNyAr MTAzNCwxMSBAQCBhZGRfcm93X2lkZW50aXR5X2NvbHVtbnMoUGxhbm5lckluZm8gKnJvb3QsIElu ZGV4IHJ0aW5kZXgsCiAJCQkJCQkgIDApOwogCQkJYWRkX3Jvd19pZGVudGl0eV92YXIocm9vdCwg dmFyLCBydGluZGV4LCAid2hvbGVyb3ciKTsKIAkJfQorCisJCXJldHVybiB0cnVlOwogCX0KKwor CXJldHVybiBmYWxzZTsKIH0KIAogLyoKQEAgLTEwNzQsOCArMTA5Niw4IEBAIGRpc3RyaWJ1dGVf cm93X2lkZW50aXR5X3ZhcnMoUGxhbm5lckluZm8gKnJvb3QpCiAJCVJlbGF0aW9uCXRhcmdldF9y ZWxhdGlvbjsKIAogCQl0YXJnZXRfcmVsYXRpb24gPSB0YWJsZV9vcGVuKHRhcmdldF9ydGUtPnJl bGlkLCBOb0xvY2spOwotCQlhZGRfcm93X2lkZW50aXR5X2NvbHVtbnMocm9vdCwgcmVzdWx0X3Jl bGF0aW9uLAotCQkJCQkJCQkgdGFyZ2V0X3J0ZSwgdGFyZ2V0X3JlbGF0aW9uKTsKKwkJKHZvaWQp IGFkZF9yb3dfaWRlbnRpdHlfY29sdW1ucyhyb290LCByZXN1bHRfcmVsYXRpb24sCisJCQkJCQkJ CQkJdGFyZ2V0X3J0ZSwgdGFyZ2V0X3JlbGF0aW9uKTsKIAkJdGFibGVfY2xvc2UodGFyZ2V0X3Jl bGF0aW9uLCBOb0xvY2spOwogCQlidWlsZF9iYXNlX3JlbF90bGlzdHMocm9vdCwgcm9vdC0+cHJv Y2Vzc2VkX3RsaXN0KTsKIAkJLyogVGhlcmUgYXJlIG5vIFJPV0lEX1ZBUiBWYXJzIGluIHRoaXMg Y2FzZSwgc28gd2UncmUgZG9uZS4gKi8KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL29wdGltaXpl ci91dGlsL2luaGVyaXQuYyBiL3NyYy9iYWNrZW5kL29wdGltaXplci91dGlsL2luaGVyaXQuYwpp bmRleCA0OGI1ZDBhYWM0Yy4uNTZjZWNjMmQ1YzAgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL29w dGltaXplci91dGlsL2luaGVyaXQuYworKysgYi9zcmMvYmFja2VuZC9vcHRpbWl6ZXIvdXRpbC9p bmhlcml0LmMKQEAgLTYzNCwxMSArNjM0LDE0IEBAIGV4cGFuZF9zaW5nbGVfaW5oZXJpdGFuY2Vf Y2hpbGQoUGxhbm5lckluZm8gKnJvb3QsIFJhbmdlVGJsRW50cnkgKnBhcmVudHJ0ZSwKIAkJCQkJ CQktMSwKIAkJCQkJCQlJbnZhbGlkT2lkLAogCQkJCQkJCTApOwotCQkJYWRkX3Jvd19pZGVudGl0 eV92YXIocm9vdCwgcnJ2YXIsIGNoaWxkUlRpbmRleCwgInRhYmxlb2lkIik7CiAKLQkJCS8qIFJl Z2lzdGVyIGFueSByb3ctaWRlbnRpdHkgY29sdW1ucyBuZWVkZWQgYnkgdGhpcyBjaGlsZC4gKi8K LQkJCWFkZF9yb3dfaWRlbnRpdHlfY29sdW1ucyhyb290LCBjaGlsZFJUaW5kZXgsCi0JCQkJCQkJ CQkgY2hpbGRydGUsIGNoaWxkcmVsKTsKKwkJCS8qCisJCQkgKiBSZWdpc3RlciBhbnkgcm93LWlk ZW50aXR5IGNvbHVtbnMgbmVlZGVkIGJ5IHRoaXMgY2hpbGQuCisJCQkgKiBBZGQgdGFibGVvaWQg b25seSBpZiByb3ctaWRlbnRpdHkgY29sdW1ucyB3ZXJlIGFkZGVkLgorCQkJICovCisJCQlpZiAo YWRkX3Jvd19pZGVudGl0eV9jb2x1bW5zKHJvb3QsIGNoaWxkUlRpbmRleCwKKwkJCQkJCQkJCQkg Y2hpbGRydGUsIGNoaWxkcmVsKSkKKwkJCQlhZGRfcm93X2lkZW50aXR5X3Zhcihyb290LCBycnZh ciwgY2hpbGRSVGluZGV4LCAidGFibGVvaWQiKTsKIAkJfQogCX0KIH0KZGlmZiAtLWdpdCBhL3Ny Yy9pbmNsdWRlL29wdGltaXplci9hcHBlbmRpbmZvLmggYi9zcmMvaW5jbHVkZS9vcHRpbWl6ZXIv YXBwZW5kaW5mby5oCmluZGV4IGI1OWE2MjE4ODUzLi41ZmE4YWFkNmRmOCAxMDA2NDQKLS0tIGEv c3JjL2luY2x1ZGUvb3B0aW1pemVyL2FwcGVuZGluZm8uaAorKysgYi9zcmMvaW5jbHVkZS9vcHRp bWl6ZXIvYXBwZW5kaW5mby5oCkBAIC00Miw3ICs0Miw3IEBAIGV4dGVybiBBcHBlbmRSZWxJbmZv ICoqZmluZF9hcHBpbmZvc19ieV9yZWxpZHMoUGxhbm5lckluZm8gKnJvb3QsCiAJCQkJCQkJCQkJ CSAgIFJlbGlkcyByZWxpZHMsIGludCAqbmFwcGluZm9zKTsKIGV4dGVybiB2b2lkIGFkZF9yb3df aWRlbnRpdHlfdmFyKFBsYW5uZXJJbmZvICpyb290LCBWYXIgKm9yaWdfdmFyLAogCQkJCQkJCQkg SW5kZXggcnRpbmRleCwgY29uc3QgY2hhciAqcm93aWRfbmFtZSk7Ci1leHRlcm4gdm9pZCBhZGRf cm93X2lkZW50aXR5X2NvbHVtbnMoUGxhbm5lckluZm8gKnJvb3QsIEluZGV4IHJ0aW5kZXgsCitl eHRlcm4gYm9vbCBhZGRfcm93X2lkZW50aXR5X2NvbHVtbnMoUGxhbm5lckluZm8gKnJvb3QsIElu ZGV4IHJ0aW5kZXgsCiAJCQkJCQkJCQkgUmFuZ2VUYmxFbnRyeSAqdGFyZ2V0X3J0ZSwKIAkJCQkJ CQkJCSBSZWxhdGlvbiB0YXJnZXRfcmVsYXRpb24pOwogZXh0ZXJuIHZvaWQgZGlzdHJpYnV0ZV9y b3dfaWRlbnRpdHlfdmFycyhQbGFubmVySW5mbyAqcm9vdCk7CmRpZmYgLS1naXQgYS9zcmMvdGVz dC9yZWdyZXNzL2V4cGVjdGVkL2luaGVyaXQub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC9pbmhlcml0Lm91dAppbmRleCAwNDkwYTc0NjU1NS4uZThmY2FlNjUxNGYgMTAwNjQ0Ci0tLSBh L3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvaW5oZXJpdC5vdXQKKysrIGIvc3JjL3Rlc3QvcmVn cmVzcy9leHBlY3RlZC9pbmhlcml0Lm91dApAQCAtNTc5LDcgKzU3OSw3IEBAIHVwZGF0ZSBzb21l X3RhYiBzZXQgYSA9IGEgKyAxIHdoZXJlIGZhbHNlOwogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICBVcGRhdGUgb24gcHVibGljLnNvbWVf dGFiCiAgICAtPiAgUmVzdWx0Ci0gICAgICAgICBPdXRwdXQ6IChzb21lX3RhYi5hICsgMSksIE5V TEw6Om9pZCwgTlVMTDo6dGlkCisgICAgICAgICBPdXRwdXQ6IChzb21lX3RhYi5hICsgMSksIE5V TEw6OnRpZCwgTlVMTDo6b2lkCiAgICAgICAgICBSZXBsYWNlczogU2NhbiBvbiBzb21lX3RhYgog ICAgICAgICAgT25lLVRpbWUgRmlsdGVyOiBmYWxzZQogKDUgcm93cykKQEAgLTU5Miw3ICs1OTIs NyBAQCB1cGRhdGUgc29tZV90YWIgc2V0IGEgPSBhICsgMSB3aGVyZSBmYWxzZSByZXR1cm5pbmcg YiwgYTsKICBVcGRhdGUgb24gcHVibGljLnNvbWVfdGFiCiAgICBPdXRwdXQ6IHNvbWVfdGFiLmIs IHNvbWVfdGFiLmEKICAgIC0+ICBSZXN1bHQKLSAgICAgICAgIE91dHB1dDogKHNvbWVfdGFiLmEg KyAxKSwgTlVMTDo6b2lkLCBOVUxMOjp0aWQKKyAgICAgICAgIE91dHB1dDogKHNvbWVfdGFiLmEg KyAxKSwgTlVMTDo6dGlkLCBOVUxMOjpvaWQKICAgICAgICAgIFJlcGxhY2VzOiBTY2FuIG9uIHNv bWVfdGFiCiAgICAgICAgICBPbmUtVGltZSBGaWx0ZXI6IGZhbHNlCiAoNiByb3dzKQpAQCAtMjA1 NCwxMiArMjA1NCwxMiBAQCB1cGRhdGUgaW5ocGFyIGkgc2V0IChmMSwgZjIpID0gKHNlbGVjdCBp LmYxLCBpLmYyIHx8ICctJyBmcm9tIGludDRfdGJsIGxpbWl0IDEpOwogICAgVXBkYXRlIG9uIHB1 YmxpYy5pbmhwYXIgaV8xCiAgICBVcGRhdGUgb24gcHVibGljLmluaGNsZCBpXzIKICAgIC0+ICBS ZXN1bHQKLSAgICAgICAgIE91dHB1dDogKFN1YlBsYW4gbXVsdGlleHByXzEpLmNvbDEsIChTdWJQ bGFuIG11bHRpZXhwcl8xKS5jb2wyLCAocmVzY2FuIFN1YlBsYW4gbXVsdGlleHByXzEpLCBpLnRh Ymxlb2lkLCBpLmN0aWQKKyAgICAgICAgIE91dHB1dDogKFN1YlBsYW4gbXVsdGlleHByXzEpLmNv bDEsIChTdWJQbGFuIG11bHRpZXhwcl8xKS5jb2wyLCAocmVzY2FuIFN1YlBsYW4gbXVsdGlleHBy XzEpLCBpLmN0aWQsIGkudGFibGVvaWQKICAgICAgICAgIC0+ICBBcHBlbmQKICAgICAgICAgICAg ICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuaW5ocGFyIGlfMQotICAgICAgICAgICAgICAgICAg ICAgT3V0cHV0OiBpXzEuZjEsIGlfMS5mMiwgaV8xLnRhYmxlb2lkLCBpXzEuY3RpZAorICAgICAg ICAgICAgICAgICAgICAgT3V0cHV0OiBpXzEuZjEsIGlfMS5mMiwgaV8xLmN0aWQsIGlfMS50YWJs ZW9pZAogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5pbmhjbGQgaV8yCi0g ICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IGlfMi5mMSwgaV8yLmYyLCBpXzIudGFibGVvaWQs IGlfMi5jdGlkCisgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IGlfMi5mMSwgaV8yLmYyLCBp XzIuY3RpZCwgaV8yLnRhYmxlb2lkCiAgICAgICAgICBTdWJQbGFuIG11bHRpZXhwcl8xCiAgICAg ICAgICAgIC0+ICBMaW1pdAogICAgICAgICAgICAgICAgICBPdXRwdXQ6IChpLmYxKSwgKCgoaS5m Mik6OnRleHQgfHwgJy0nOjp0ZXh0KSkKQEAgLTIxMDMsMTQgKzIxMDMsMTQgQEAgdXBkYXRlIGlu aHBhciBpIHNldCAoZjEsIGYyKSA9IChzZWxlY3QgaS5mMSwgaS5mMiB8fCAnLScgZnJvbSBpbnQ0 X3RibCBsaW1pdCAxKTsKICAgIFVwZGF0ZSBvbiBwdWJsaWMuaW5oY2xkMiBpXzIKICAgIC0+ICBB cHBlbmQKICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMuaW5oY2xkMSBpXzEKLSAgICAg ICAgICAgICAgIE91dHB1dDogKFN1YlBsYW4gbXVsdGlleHByXzEpLmNvbDEsIChTdWJQbGFuIG11 bHRpZXhwcl8xKS5jb2wyLCAocmVzY2FuIFN1YlBsYW4gbXVsdGlleHByXzEpLCBpXzEudGFibGVv aWQsIGlfMS5jdGlkCisgICAgICAgICAgICAgICBPdXRwdXQ6IChTdWJQbGFuIG11bHRpZXhwcl8x KS5jb2wxLCAoU3ViUGxhbiBtdWx0aWV4cHJfMSkuY29sMiwgKHJlc2NhbiBTdWJQbGFuIG11bHRp ZXhwcl8xKSwgaV8xLmN0aWQsIGlfMS50YWJsZW9pZAogICAgICAgICAgICAgICAgU3ViUGxhbiBt dWx0aWV4cHJfMQogICAgICAgICAgICAgICAgICAtPiAgTGltaXQKICAgICAgICAgICAgICAgICAg ICAgICAgT3V0cHV0OiAoaV8xLmYxKSwgKCgoaV8xLmYyKTo6dGV4dCB8fCAnLSc6OnRleHQpKQog ICAgICAgICAgICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLmludDRfdGJsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogaV8xLmYxLCAoKGlfMS5mMik6OnRl eHQgfHwgJy0nOjp0ZXh0KQogICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5pbmhjbGQy IGlfMgotICAgICAgICAgICAgICAgT3V0cHV0OiAoU3ViUGxhbiBtdWx0aWV4cHJfMSkuY29sMSwg KFN1YlBsYW4gbXVsdGlleHByXzEpLmNvbDIsIChyZXNjYW4gU3ViUGxhbiBtdWx0aWV4cHJfMSks IGlfMi50YWJsZW9pZCwgaV8yLmN0aWQKKyAgICAgICAgICAgICAgIE91dHB1dDogKFN1YlBsYW4g bXVsdGlleHByXzEpLmNvbDEsIChTdWJQbGFuIG11bHRpZXhwcl8xKS5jb2wyLCAocmVzY2FuIFN1 YlBsYW4gbXVsdGlleHByXzEpLCBpXzIuY3RpZCwgaV8yLnRhYmxlb2lkCiAoMTMgcm93cykKIAog dXBkYXRlIGluaHBhciBpIHNldCAoZjEsIGYyKSA9IChzZWxlY3QgaS5mMSwgaS5mMiB8fCAnLScg ZnJvbSBpbnQ0X3RibCBsaW1pdCAxKTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQvbWVyZ2Uub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9tZXJnZS5vdXQKaW5k ZXggOWNiMWQ4NzA2NmEuLjEwYjI3YjAxNTMyIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNz L2V4cGVjdGVkL21lcmdlLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL21lcmdl Lm91dApAQCAtMjM4NywxNSArMjM4NywxNSBAQCBNRVJHRSBJTlRPIHBhX3RhcmdldCB0IFVTSU5H IHBhX3NvdXJjZSBzIE9OIHQudGlkID0gcy5zaWQKICBNZXJnZSBvbiBwdWJsaWMucGFfdGFyZ2V0 IHQKICAgIE1lcmdlIG9uIHB1YmxpYy5wYV90YXJnZXRwIHRfMQogICAgLT4gIEhhc2ggTGVmdCBK b2luCi0gICAgICAgICBPdXRwdXQ6IHMuc2lkLCBzLmN0aWQsIHRfMS50YWJsZW9pZCwgdF8xLmN0 aWQKKyAgICAgICAgIE91dHB1dDogcy5zaWQsIHMuY3RpZCwgdF8xLmN0aWQsIHRfMS50YWJsZW9p ZAogICAgICAgICAgSW5uZXIgVW5pcXVlOiB0cnVlCiAgICAgICAgICBIYXNoIENvbmQ6IChzLnNp ZCA9IHRfMS50aWQpCiAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLnBhX3NvdXJjZSBz CiAgICAgICAgICAgICAgICBPdXRwdXQ6IHMuc2lkLCBzLmN0aWQKICAgICAgICAgIC0+ICBIYXNo Ci0gICAgICAgICAgICAgICBPdXRwdXQ6IHRfMS50aWQsIHRfMS50YWJsZW9pZCwgdF8xLmN0aWQK KyAgICAgICAgICAgICAgIE91dHB1dDogdF8xLnRpZCwgdF8xLmN0aWQsIHRfMS50YWJsZW9pZAog ICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5wYV90YXJnZXRwIHRfMQotICAg ICAgICAgICAgICAgICAgICAgT3V0cHV0OiB0XzEudGlkLCB0XzEudGFibGVvaWQsIHRfMS5jdGlk CisgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHRfMS50aWQsIHRfMS5jdGlkLCB0XzEudGFi bGVvaWQKICgxMiByb3dzKQogCiBNRVJHRSBJTlRPIHBhX3RhcmdldCB0IFVTSU5HIHBhX3NvdXJj ZSBzIE9OIHQudGlkID0gcy5zaWQKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvcGFydGl0aW9uX3BydW5lLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcGFydGl0 aW9uX3BydW5lLm91dAppbmRleCBkZWFjZGQ3NTgwNy4uMjRjNmFjNDA4ZjMgMTAwNjQ0Ci0tLSBh L3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcGFydGl0aW9uX3BydW5lLm91dAorKysgYi9zcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BhcnRpdGlvbl9wcnVuZS5vdXQKQEAgLTQ1ODUsNyArNDU4 NSw3IEBAIGV4cGxhaW4gKHZlcmJvc2UsIGNvc3RzIG9mZikgZXhlY3V0ZSB1cGRhdGVfcGFydF9h YmNfdmlldyAoMSwgJ2QnKTsKICAgIC0+ICBBcHBlbmQKICAgICAgICAgIFN1YnBsYW5zIFJlbW92 ZWQ6IDEKICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMucGFydF9hYmNfMQotICAgICAg ICAgICAgICAgT3V0cHV0OiAkMiwgcGFydF9hYmNfMS50YWJsZW9pZCwgcGFydF9hYmNfMS5jdGlk CisgICAgICAgICAgICAgICBPdXRwdXQ6ICQyLCBwYXJ0X2FiY18xLmN0aWQsIHBhcnRfYWJjXzEu dGFibGVvaWQKICAgICAgICAgICAgICAgIEZpbHRlcjogKChwYXJ0X2FiY18xLmIgPD4gJ2EnOjp0 ZXh0KSBBTkQgKHBhcnRfYWJjXzEuYSA9ICQxKSkKICg4IHJvd3MpCiAKQEAgLTQ2MDQsNyArNDYw NCw3IEBAIGV4cGxhaW4gKHZlcmJvc2UsIGNvc3RzIG9mZikgZXhlY3V0ZSB1cGRhdGVfcGFydF9h YmNfdmlldyAoMiwgJ2EnKTsKICAgIC0+ICBBcHBlbmQKICAgICAgICAgIFN1YnBsYW5zIFJlbW92 ZWQ6IDEKICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwdWJsaWMucGFydF9hYmNfMgotICAgICAg ICAgICAgICAgT3V0cHV0OiAkMiwgcGFydF9hYmNfMi50YWJsZW9pZCwgcGFydF9hYmNfMi5jdGlk CisgICAgICAgICAgICAgICBPdXRwdXQ6ICQyLCBwYXJ0X2FiY18yLmN0aWQsIHBhcnRfYWJjXzIu dGFibGVvaWQKICAgICAgICAgICAgICAgIEZpbHRlcjogKChwYXJ0X2FiY18yLmIgPD4gJ2EnOjp0 ZXh0KSBBTkQgKHBhcnRfYWJjXzIuYSA9ICQxKSkKICg4IHJvd3MpCiAKZGlmZiAtLWdpdCBhL3Ny Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcmV0dXJuaW5nLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvcmV0dXJuaW5nLm91dAppbmRleCBjZmFhZjAxNWJiMy4uMmIyMTYxZjI0NWMgMTAw NjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcmV0dXJuaW5nLm91dAorKysgYi9z cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3JldHVybmluZy5vdXQKQEAgLTUwNCw5ICs1MDQsOSBA QCBVUERBVEUgZm9vIFNFVCBmNCA9IDEwMCBXSEVSRSBmMSA9IDUKICAgIE91dHB1dDogKG9sZC50 YWJsZW9pZCk6OnJlZ2NsYXNzLCBvbGQuY3RpZCwgb2xkLmYxLCBvbGQuZjIsIG9sZC5mMywgb2xk LmY0LCBvbGQuKiwgKG5ldy50YWJsZW9pZCk6OnJlZ2NsYXNzLCBuZXcuY3RpZCwgbmV3LmYxLCBu ZXcuZjIsIG5ldy5mMywgbmV3LmY0LCBuZXcuKiwgKCgob2xkLmY0KTo6dGV4dCB8fCAnLT4nOjp0 ZXh0KSB8fCAobmV3LmY0KTo6dGV4dCkKICAgIFVwZGF0ZSBvbiBwZ190ZW1wLmZvbyBmb29fMQog ICAgLT4gIFJlc3VsdAotICAgICAgICAgT3V0cHV0OiAnMTAwJzo6YmlnaW50LCBmb29fMS50YWJs ZW9pZCwgZm9vXzEuY3RpZAorICAgICAgICAgT3V0cHV0OiAnMTAwJzo6YmlnaW50LCBmb29fMS5j dGlkLCBmb29fMS50YWJsZW9pZAogICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBnX3RlbXAuZm9v IGZvb18xCi0gICAgICAgICAgICAgICBPdXRwdXQ6IGZvb18xLnRhYmxlb2lkLCBmb29fMS5jdGlk CisgICAgICAgICAgICAgICBPdXRwdXQ6IGZvb18xLmN0aWQsIGZvb18xLnRhYmxlb2lkCiAgICAg ICAgICAgICAgICBGaWx0ZXI6IChmb29fMS5mMSA9IDUpCiAoOCByb3dzKQogCkBAIC01MzAsNyAr NTMwLDcgQEAgREVMRVRFIEZST00gZm9vIFdIRVJFIGYxID0gNQogICAgT3V0cHV0OiAob2xkLnRh Ymxlb2lkKTo6cmVnY2xhc3MsIG9sZC5jdGlkLCBvbGQuZjEsIG9sZC5mMiwgb2xkLmYzLCBvbGQu ZjQsIChuZXcudGFibGVvaWQpOjpyZWdjbGFzcywgbmV3LmN0aWQsIG5ldy5mMSwgbmV3LmYyLCBu ZXcuZjMsIG5ldy5mNCwgZm9vXzEuZjEsIGZvb18xLmYyLCBmb29fMS5mMywgZm9vXzEuZjQKICAg IERlbGV0ZSBvbiBwZ190ZW1wLmZvbyBmb29fMQogICAgLT4gIFNlcSBTY2FuIG9uIHBnX3RlbXAu Zm9vIGZvb18xCi0gICAgICAgICBPdXRwdXQ6IGZvb18xLnRhYmxlb2lkLCBmb29fMS5jdGlkCisg ICAgICAgICBPdXRwdXQ6IGZvb18xLmN0aWQsIGZvb18xLnRhYmxlb2lkCiAgICAgICAgICBGaWx0 ZXI6IChmb29fMS5mMSA9IDUpCiAoNiByb3dzKQogCkBAIC01ODYsOSArNTg2LDkgQEAgVVBEQVRF IGZvbyBTRVQgZjQgPSAxMDAgV0hFUkUgZjEgPSA1CiAgICBPdXRwdXQ6IChTdWJQbGFuIGV4cHJf MSksIChTdWJQbGFuIGV4cHJfMiksIChTdWJQbGFuIGV4cHJfMykKICAgIFVwZGF0ZSBvbiBwZ190 ZW1wLmZvbyBmb29fMQogICAgLT4gIFJlc3VsdAotICAgICAgICAgT3V0cHV0OiAnMTAwJzo6Ymln aW50LCBmb29fMS50YWJsZW9pZCwgZm9vXzEuY3RpZAorICAgICAgICAgT3V0cHV0OiAnMTAwJzo6 YmlnaW50LCBmb29fMS5jdGlkLCBmb29fMS50YWJsZW9pZAogICAgICAgICAgLT4gIFNlcSBTY2Fu IG9uIHBnX3RlbXAuZm9vIGZvb18xCi0gICAgICAgICAgICAgICBPdXRwdXQ6IGZvb18xLnRhYmxl b2lkLCBmb29fMS5jdGlkCisgICAgICAgICAgICAgICBPdXRwdXQ6IGZvb18xLmN0aWQsIGZvb18x LnRhYmxlb2lkCiAgICAgICAgICAgICAgICBGaWx0ZXI6IChmb29fMS5mMSA9IDUpCiAgICBTdWJQ bGFuIGV4cHJfMQogICAgICAtPiAgUmVzdWx0CkBAIC02MjYsNyArNjI2LDcgQEAgREVMRVRFIEZS T00gZm9vIFdIRVJFIGYxID0gNQogICAgT3V0cHV0OiAoU3ViUGxhbiBleHByXzEpLCAoU3ViUGxh biBleHByXzIpCiAgICBEZWxldGUgb24gcGdfdGVtcC5mb28gZm9vXzEKICAgIC0+ICBTZXEgU2Nh biBvbiBwZ190ZW1wLmZvbyBmb29fMQotICAgICAgICAgT3V0cHV0OiBmb29fMS50YWJsZW9pZCwg Zm9vXzEuY3RpZAorICAgICAgICAgT3V0cHV0OiBmb29fMS5jdGlkLCBmb29fMS50YWJsZW9pZAog ICAgICAgICAgRmlsdGVyOiAoZm9vXzEuZjEgPSA1KQogICAgU3ViUGxhbiBleHByXzEKICAgICAg LT4gIEFnZ3JlZ2F0ZQpAQCAtNjYyLDkgKzY2Miw5IEBAIERFTEVURSBGUk9NIGZvbyBXSEVSRSBm MSA9IDQgUkVUVVJOSU5HIG9sZC4qLG5ldy4qLCAqOwogICAgT3V0cHV0OiBvbGQuZjEsIG9sZC5m Miwgb2xkLmYzLCBvbGQuZjQsIG5ldy5mMSwgbmV3LmYyLCBuZXcuZjMsIG5ldy5mNCwgZm9vXzIu ZjEsIGZvb18yLmYyLCBmb29fMi5mMywgZm9vXzIuZjQKICAgIFVwZGF0ZSBvbiBwZ190ZW1wLmZv byBmb29fMgogICAgLT4gIE5lc3RlZCBMb29wCi0gICAgICAgICBPdXRwdXQ6IChmb29fMi5mMiB8 fCAnIChkZWxldGVkKSc6OnRleHQpLCAnLTEnOjppbnRlZ2VyLCAnLTEnOjpiaWdpbnQsIGZvb18x LmN0aWQsIGZvb18xLnRhYmxlb2lkLCBmb29fMi50YWJsZW9pZCwgZm9vXzIuY3RpZAorICAgICAg ICAgT3V0cHV0OiAoZm9vXzIuZjIgfHwgJyAoZGVsZXRlZCknOjp0ZXh0KSwgJy0xJzo6aW50ZWdl ciwgJy0xJzo6YmlnaW50LCBmb29fMS5jdGlkLCBmb29fMS50YWJsZW9pZCwgZm9vXzIuY3RpZCwg Zm9vXzIudGFibGVvaWQKICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwZ190ZW1wLmZvbyBmb29f MgotICAgICAgICAgICAgICAgT3V0cHV0OiBmb29fMi5mMiwgZm9vXzIuZjEsIGZvb18yLnRhYmxl b2lkLCBmb29fMi5jdGlkCisgICAgICAgICAgICAgICBPdXRwdXQ6IGZvb18yLmYyLCBmb29fMi5m MSwgZm9vXzIuY3RpZCwgZm9vXzIudGFibGVvaWQKICAgICAgICAgICAgICAgIEZpbHRlcjogKGZv b18yLmYxID0gNCkKICAgICAgICAgIC0+ICBTZXEgU2NhbiBvbiBwZ190ZW1wLmZvbyBmb29fMQog ICAgICAgICAgICAgICAgT3V0cHV0OiBmb29fMS5jdGlkLCBmb29fMS5mMSwgZm9vXzEudGFibGVv aWQKQEAgLTY4NywxNyArNjg3LDE3IEBAIFVQREFURSBqb2ludmlldyBTRVQgZjMgPSBmMyArIDEg V0hFUkUgZjMgPSA1NwogICAgT3V0cHV0OiBvbGQuZjEsIG9sZC5mMiwgb2xkLmYzLCBvbGQuZjQs IGpvaW5tZS5vdGhlciwgbmV3LmYxLCBuZXcuZjIsIG5ldy5mMywgbmV3LmY0LCBqb2lubWUub3Ro ZXIsIGZvb18xLmYxLCBmb29fMS5mMiwgZm9vXzEuZjMsIGZvb18xLmY0LCBqb2lubWUub3RoZXIs IChuZXcuZjMgLSBvbGQuZjMpCiAgICBVcGRhdGUgb24gcGdfdGVtcC5mb28gZm9vXzEKICAgIC0+ ICBIYXNoIEpvaW4KLSAgICAgICAgIE91dHB1dDogZm9vXzIuZjEsIChmb29fMi5mMyArIDEpLCBq b2lubWUuY3RpZCwgZm9vXzIuY3RpZCwgam9pbm1lXzEuY3RpZCwgam9pbm1lLm90aGVyLCBmb29f MS50YWJsZW9pZCwgZm9vXzEuY3RpZCwgZm9vXzIudGFibGVvaWQKKyAgICAgICAgIE91dHB1dDog Zm9vXzIuZjEsIChmb29fMi5mMyArIDEpLCBqb2lubWUuY3RpZCwgZm9vXzIuY3RpZCwgam9pbm1l XzEuY3RpZCwgam9pbm1lLm90aGVyLCBmb29fMS5jdGlkLCBmb29fMS50YWJsZW9pZCwgZm9vXzIu dGFibGVvaWQKICAgICAgICAgIEhhc2ggQ29uZDogKGZvb18xLmYyID0gam9pbm1lLmYyaikKICAg ICAgICAgIC0+ICBIYXNoIEpvaW4KLSAgICAgICAgICAgICAgIE91dHB1dDogZm9vXzEuZjIsIGZv b18xLnRhYmxlb2lkLCBmb29fMS5jdGlkLCBqb2lubWVfMS5jdGlkLCBqb2lubWVfMS5mMmoKKyAg ICAgICAgICAgICAgIE91dHB1dDogZm9vXzEuZjIsIGZvb18xLmN0aWQsIGZvb18xLnRhYmxlb2lk LCBqb2lubWVfMS5jdGlkLCBqb2lubWVfMS5mMmoKICAgICAgICAgICAgICAgIEhhc2ggQ29uZDog KGpvaW5tZV8xLmYyaiA9IGZvb18xLmYyKQogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9u IHBnX3RlbXAuam9pbm1lIGpvaW5tZV8xCiAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IGpv aW5tZV8xLmN0aWQsIGpvaW5tZV8xLmYyagogICAgICAgICAgICAgICAgLT4gIEhhc2gKLSAgICAg ICAgICAgICAgICAgICAgIE91dHB1dDogZm9vXzEuZjIsIGZvb18xLnRhYmxlb2lkLCBmb29fMS5j dGlkCisgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IGZvb18xLmYyLCBmb29fMS5jdGlkLCBm b29fMS50YWJsZW9pZAogICAgICAgICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHBnX3Rl bXAuZm9vIGZvb18xCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IGZvb18xLmYy LCBmb29fMS50YWJsZW9pZCwgZm9vXzEuY3RpZAorICAgICAgICAgICAgICAgICAgICAgICAgICAg T3V0cHV0OiBmb29fMS5mMiwgZm9vXzEuY3RpZCwgZm9vXzEudGFibGVvaWQKICAgICAgICAgIC0+ ICBIYXNoCiAgICAgICAgICAgICAgICBPdXRwdXQ6IGpvaW5tZS5jdGlkLCBqb2lubWUub3RoZXIs IGpvaW5tZS5mMmosIGZvb18yLmYxLCBmb29fMi5mMywgZm9vXzIuY3RpZCwgZm9vXzIuZjIsIGZv b18yLnRhYmxlb2lkCiAgICAgICAgICAgICAgICAtPiAgSGFzaCBKb2luCmRpZmYgLS1naXQgYS9z cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3VwZGF0YWJsZV92aWV3cy5vdXQgYi9zcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL3VwZGF0YWJsZV92aWV3cy5vdXQKaW5kZXggMDNkZjdlNzViN2IuLmQw NTllNzBlMGM1IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3VwZGF0YWJs ZV92aWV3cy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC91cGRhdGFibGVfdmll d3Mub3V0CkBAIC0zMjQ4LDEwICszMjQ4LDEwIEBAIFVQREFURSB2MSBTRVQgYT0xMDAgV0hFUkUg c25vb3AoYSkgQU5EIGxlYWtwcm9vZihhKSBBTkQgYSA8IDcgQU5EIGEgIT0gNjsKICAgIFVwZGF0 ZSBvbiBwdWJsaWMudDEyIHQxXzMKICAgIFVwZGF0ZSBvbiBwdWJsaWMudDExMSB0MV80CiAgICAt PiAgUmVzdWx0Ci0gICAgICAgICBPdXRwdXQ6IDEwMCwgdDEudGFibGVvaWQsIHQxLmN0aWQKKyAg ICAgICAgIE91dHB1dDogMTAwLCB0MS5jdGlkLCB0MS50YWJsZW9pZAogICAgICAgICAgLT4gIEFw cGVuZAogICAgICAgICAgICAgICAgLT4gIEluZGV4IFNjYW4gdXNpbmcgdDFfYV9pZHggb24gcHVi bGljLnQxIHQxXzEKLSAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDFfMS50YWJsZW9pZCwg dDFfMS5jdGlkCisgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQxXzEuY3RpZCwgdDFfMS50 YWJsZW9pZAogICAgICAgICAgICAgICAgICAgICAgSW5kZXggQ29uZDogKCh0MV8xLmEgPiA1KSBB TkQgKHQxXzEuYSA8IDcpKQogICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoKHQxXzEuYSA8 PiA2KSBBTkQgRVhJU1RTKFN1YlBsYW4gZXhpc3RzXzEpIEFORCBzbm9vcCh0MV8xLmEpIEFORCBs ZWFrcHJvb2YodDFfMS5hKSkKICAgICAgICAgICAgICAgICAgICAgIFN1YlBsYW4gZXhpc3RzXzEK QEAgLTMyNjEsMTUgKzMyNjEsMTUgQEAgVVBEQVRFIHYxIFNFVCBhPTEwMCBXSEVSRSBzbm9vcChh KSBBTkQgbGVha3Byb29mKGEpIEFORCBhIDwgNyBBTkQgYSAhPSA2OwogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAtPiAgU2VxIFNjYW4gb24gcHVibGljLnQxMTEgdDEyXzIKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAodDEyXzIuYSA9IHQxXzEuYSkKICAg ICAgICAgICAgICAgIC0+ICBJbmRleCBTY2FuIHVzaW5nIHQxMV9hX2lkeCBvbiBwdWJsaWMudDEx IHQxXzIKLSAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDFfMi50YWJsZW9pZCwgdDFfMi5j dGlkCisgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQxXzIuY3RpZCwgdDFfMi50YWJsZW9p ZAogICAgICAgICAgICAgICAgICAgICAgSW5kZXggQ29uZDogKCh0MV8yLmEgPiA1KSBBTkQgKHQx XzIuYSA8IDcpKQogICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoKHQxXzIuYSA8PiA2KSBB TkQgRVhJU1RTKFN1YlBsYW4gZXhpc3RzXzEpIEFORCBzbm9vcCh0MV8yLmEpIEFORCBsZWFrcHJv b2YodDFfMi5hKSkKICAgICAgICAgICAgICAgIC0+ICBJbmRleCBTY2FuIHVzaW5nIHQxMl9hX2lk eCBvbiBwdWJsaWMudDEyIHQxXzMKLSAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDFfMy50 YWJsZW9pZCwgdDFfMy5jdGlkCisgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IHQxXzMuY3Rp ZCwgdDFfMy50YWJsZW9pZAogICAgICAgICAgICAgICAgICAgICAgSW5kZXggQ29uZDogKCh0MV8z LmEgPiA1KSBBTkQgKHQxXzMuYSA8IDcpKQogICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAo KHQxXzMuYSA8PiA2KSBBTkQgRVhJU1RTKFN1YlBsYW4gZXhpc3RzXzEpIEFORCBzbm9vcCh0MV8z LmEpIEFORCBsZWFrcHJvb2YodDFfMy5hKSkKICAgICAgICAgICAgICAgIC0+ICBJbmRleCBTY2Fu IHVzaW5nIHQxMTFfYV9pZHggb24gcHVibGljLnQxMTEgdDFfNAotICAgICAgICAgICAgICAgICAg ICAgT3V0cHV0OiB0MV80LnRhYmxlb2lkLCB0MV80LmN0aWQKKyAgICAgICAgICAgICAgICAgICAg IE91dHB1dDogdDFfNC5jdGlkLCB0MV80LnRhYmxlb2lkCiAgICAgICAgICAgICAgICAgICAgICBJ bmRleCBDb25kOiAoKHQxXzQuYSA+IDUpIEFORCAodDFfNC5hIDwgNykpCiAgICAgICAgICAgICAg ICAgICAgICBGaWx0ZXI6ICgodDFfNC5hIDw+IDYpIEFORCBFWElTVFMoU3ViUGxhbiBleGlzdHNf MSkgQU5EIHNub29wKHQxXzQuYSkgQU5EIGxlYWtwcm9vZih0MV80LmEpKQogKDMwIHJvd3MpCkBA IC0zMjk1LDEwICszMjk1LDEwIEBAIFVQREFURSB2MSBTRVQgYT1hKzEgV0hFUkUgc25vb3AoYSkg QU5EIGxlYWtwcm9vZihhKSBBTkQgYSA9IDg7CiAgICBVcGRhdGUgb24gcHVibGljLnQxMiB0MV8z CiAgICBVcGRhdGUgb24gcHVibGljLnQxMTEgdDFfNAogICAgLT4gIFJlc3VsdAotICAgICAgICAg T3V0cHV0OiAodDEuYSArIDEpLCB0MS50YWJsZW9pZCwgdDEuY3RpZAorICAgICAgICAgT3V0cHV0 OiAodDEuYSArIDEpLCB0MS5jdGlkLCB0MS50YWJsZW9pZAogICAgICAgICAgLT4gIEFwcGVuZAog ICAgICAgICAgICAgICAgLT4gIEluZGV4IFNjYW4gdXNpbmcgdDFfYV9pZHggb24gcHVibGljLnQx IHQxXzEKLSAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDFfMS5hLCB0MV8xLnRhYmxlb2lk LCB0MV8xLmN0aWQKKyAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDFfMS5hLCB0MV8xLmN0 aWQsIHQxXzEudGFibGVvaWQKICAgICAgICAgICAgICAgICAgICAgIEluZGV4IENvbmQ6ICgodDFf MS5hID4gNSkgQU5EICh0MV8xLmEgPSA4KSkKICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjog KEVYSVNUUyhTdWJQbGFuIGV4aXN0c18xKSBBTkQgc25vb3AodDFfMS5hKSBBTkQgbGVha3Byb29m KHQxXzEuYSkpCiAgICAgICAgICAgICAgICAgICAgICBTdWJQbGFuIGV4aXN0c18xCkBAIC0zMzA4 LDE1ICszMzA4LDE1IEBAIFVQREFURSB2MSBTRVQgYT1hKzEgV0hFUkUgc25vb3AoYSkgQU5EIGxl YWtwcm9vZihhKSBBTkQgYSA9IDg7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+ICBT ZXEgU2NhbiBvbiBwdWJsaWMudDExMSB0MTJfMgogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBGaWx0ZXI6ICh0MTJfMi5hID0gdDFfMS5hKQogICAgICAgICAgICAgICAgLT4gIElu ZGV4IFNjYW4gdXNpbmcgdDExX2FfaWR4IG9uIHB1YmxpYy50MTEgdDFfMgotICAgICAgICAgICAg ICAgICAgICAgT3V0cHV0OiB0MV8yLmEsIHQxXzIudGFibGVvaWQsIHQxXzIuY3RpZAorICAgICAg ICAgICAgICAgICAgICAgT3V0cHV0OiB0MV8yLmEsIHQxXzIuY3RpZCwgdDFfMi50YWJsZW9pZAog ICAgICAgICAgICAgICAgICAgICAgSW5kZXggQ29uZDogKCh0MV8yLmEgPiA1KSBBTkQgKHQxXzIu YSA9IDgpKQogICAgICAgICAgICAgICAgICAgICAgRmlsdGVyOiAoRVhJU1RTKFN1YlBsYW4gZXhp c3RzXzEpIEFORCBzbm9vcCh0MV8yLmEpIEFORCBsZWFrcHJvb2YodDFfMi5hKSkKICAgICAgICAg ICAgICAgIC0+ICBJbmRleCBTY2FuIHVzaW5nIHQxMl9hX2lkeCBvbiBwdWJsaWMudDEyIHQxXzMK LSAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDFfMy5hLCB0MV8zLnRhYmxlb2lkLCB0MV8z LmN0aWQKKyAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDFfMy5hLCB0MV8zLmN0aWQsIHQx XzMudGFibGVvaWQKICAgICAgICAgICAgICAgICAgICAgIEluZGV4IENvbmQ6ICgodDFfMy5hID4g NSkgQU5EICh0MV8zLmEgPSA4KSkKICAgICAgICAgICAgICAgICAgICAgIEZpbHRlcjogKEVYSVNU UyhTdWJQbGFuIGV4aXN0c18xKSBBTkQgc25vb3AodDFfMy5hKSBBTkQgbGVha3Byb29mKHQxXzMu YSkpCiAgICAgICAgICAgICAgICAtPiAgSW5kZXggU2NhbiB1c2luZyB0MTExX2FfaWR4IG9uIHB1 YmxpYy50MTExIHQxXzQKLSAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDFfNC5hLCB0MV80 LnRhYmxlb2lkLCB0MV80LmN0aWQKKyAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogdDFfNC5h LCB0MV80LmN0aWQsIHQxXzQudGFibGVvaWQKICAgICAgICAgICAgICAgICAgICAgIEluZGV4IENv bmQ6ICgodDFfNC5hID4gNSkgQU5EICh0MV80LmEgPSA4KSkKICAgICAgICAgICAgICAgICAgICAg IEZpbHRlcjogKEVYSVNUUyhTdWJQbGFuIGV4aXN0c18xKSBBTkQgc25vb3AodDFfNC5hKSBBTkQg bGVha3Byb29mKHQxXzQuYSkpCiAoMzAgcm93cykKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jl c3MvZXhwZWN0ZWQvd2l0aC5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3dpdGgub3V0 CmluZGV4IDc3ZGVkMDFiMDQ2Li40MTc1MTRmZmMzMSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVn cmVzcy9leHBlY3RlZC93aXRoLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3dp dGgub3V0CkBAIC0zNjM4LDIxICszNjM4LDIxIEBAIERFTEVURSBGUk9NIGFfc3RhciBVU0lORyB3 Y3RlIFdIRVJFIGFhID0gcTI7CiAgICAgICAgICAgIC0+ICBSZXN1bHQKICAgICAgICAgICAgICAg ICAgT3V0cHV0OiAnNDInOjpiaWdpbnQsICc0Nyc6OmJpZ2ludAogICAgLT4gIEhhc2ggSm9pbgot ICAgICAgICAgT3V0cHV0OiB3Y3RlLiosIGFfc3Rhci50YWJsZW9pZCwgYV9zdGFyLmN0aWQKKyAg ICAgICAgIE91dHB1dDogd2N0ZS4qLCBhX3N0YXIuY3RpZCwgYV9zdGFyLnRhYmxlb2lkCiAgICAg ICAgICBIYXNoIENvbmQ6IChhX3N0YXIuYWEgPSB3Y3RlLnEyKQogICAgICAgICAgLT4gIEFwcGVu ZAogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5hX3N0YXIgYV9zdGFyXzEK LSAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogYV9zdGFyXzEuYWEsIGFfc3Rhcl8xLnRhYmxl b2lkLCBhX3N0YXJfMS5jdGlkCisgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IGFfc3Rhcl8x LmFhLCBhX3N0YXJfMS5jdGlkLCBhX3N0YXJfMS50YWJsZW9pZAogICAgICAgICAgICAgICAgLT4g IFNlcSBTY2FuIG9uIHB1YmxpYy5iX3N0YXIgYV9zdGFyXzIKLSAgICAgICAgICAgICAgICAgICAg IE91dHB1dDogYV9zdGFyXzIuYWEsIGFfc3Rhcl8yLnRhYmxlb2lkLCBhX3N0YXJfMi5jdGlkCisg ICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IGFfc3Rhcl8yLmFhLCBhX3N0YXJfMi5jdGlkLCBh X3N0YXJfMi50YWJsZW9pZAogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5j X3N0YXIgYV9zdGFyXzMKLSAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogYV9zdGFyXzMuYWEs IGFfc3Rhcl8zLnRhYmxlb2lkLCBhX3N0YXJfMy5jdGlkCisgICAgICAgICAgICAgICAgICAgICBP dXRwdXQ6IGFfc3Rhcl8zLmFhLCBhX3N0YXJfMy5jdGlkLCBhX3N0YXJfMy50YWJsZW9pZAogICAg ICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5kX3N0YXIgYV9zdGFyXzQKLSAgICAg ICAgICAgICAgICAgICAgIE91dHB1dDogYV9zdGFyXzQuYWEsIGFfc3Rhcl80LnRhYmxlb2lkLCBh X3N0YXJfNC5jdGlkCisgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6IGFfc3Rhcl80LmFhLCBh X3N0YXJfNC5jdGlkLCBhX3N0YXJfNC50YWJsZW9pZAogICAgICAgICAgICAgICAgLT4gIFNlcSBT Y2FuIG9uIHB1YmxpYy5lX3N0YXIgYV9zdGFyXzUKLSAgICAgICAgICAgICAgICAgICAgIE91dHB1 dDogYV9zdGFyXzUuYWEsIGFfc3Rhcl81LnRhYmxlb2lkLCBhX3N0YXJfNS5jdGlkCisgICAgICAg ICAgICAgICAgICAgICBPdXRwdXQ6IGFfc3Rhcl81LmFhLCBhX3N0YXJfNS5jdGlkLCBhX3N0YXJf NS50YWJsZW9pZAogICAgICAgICAgICAgICAgLT4gIFNlcSBTY2FuIG9uIHB1YmxpYy5mX3N0YXIg YV9zdGFyXzYKLSAgICAgICAgICAgICAgICAgICAgIE91dHB1dDogYV9zdGFyXzYuYWEsIGFfc3Rh cl82LnRhYmxlb2lkLCBhX3N0YXJfNi5jdGlkCisgICAgICAgICAgICAgICAgICAgICBPdXRwdXQ6 IGFfc3Rhcl82LmFhLCBhX3N0YXJfNi5jdGlkLCBhX3N0YXJfNi50YWJsZW9pZAogICAgICAgICAg LT4gIEhhc2gKICAgICAgICAgICAgICAgIE91dHB1dDogd2N0ZS4qLCB3Y3RlLnEyCiAgICAgICAg ICAgICAgICAtPiAgQ1RFIFNjYW4gb24gd2N0ZQotLSAKMi40Ny4zCgo= --00000000000090d2240648584729--