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 1vlK7Y-00A05Y-2V for pgsql-hackers@arkaria.postgresql.org; Thu, 29 Jan 2026 04:59:09 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vlK7X-006HlC-04 for pgsql-hackers@arkaria.postgresql.org; Thu, 29 Jan 2026 04:59:07 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vlK7W-006Hkw-0h for pgsql-hackers@lists.postgresql.org; Thu, 29 Jan 2026 04:59:06 +0000 Received: from mail-oo1-xc32.google.com ([2607:f8b0:4864:20::c32]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vlK7T-002rLq-08 for pgsql-hackers@lists.postgresql.org; Thu, 29 Jan 2026 04:59:05 +0000 Received: by mail-oo1-xc32.google.com with SMTP id 006d021491bc7-6610f407959so173681eaf.2 for ; Wed, 28 Jan 2026 20:59:03 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1769662743; cv=none; d=google.com; s=arc-20240605; b=A2xaukwvhte0WFaEukvAmwiMO/j3eNeMnYz+Fr6JXb9m7q3N5UHrugLQ+2zRixTdEz vMsjyvtnQG2UfleXpqiNhrWi3R+YX+m8XQ5uqVUwP1MjHGx6zD4KpPZNOK/covZyaNB9 z67Q+T//T9QHH0GKbFQyIsxxu6JFhZyYPZhyTk90P3F5LDBBrmFpJZsJGM5N2KK8NLxl 1NOcqYnewiDaj06TkC0GHpMJpELqCx1eCVdOqCwny2C1KGuGFKS0StH+FBaV/UD/RHWL iVxv6GmTgRVRDQoG8BSXcKbmyf+RIcj9XwYiEEVzp5m0HX+tEDnVzjQLrTfXiKLSE6o7 qvKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=yOs8ns44BHUYOwBoMDvK2zjV1VUqoZkNWvQ3Sd55xlQ=; fh=drKwx1o4tlMTUot8WYAbDnuwEpBlvsUnm9K5AzwtDuA=; b=gAnQ7jrop2+qicd3298/eHwhLbFjOJcphZtF+0LmOxWs7sC9BXoM4CkWE6qpulobLV j0zsMeCTAWRO7D9Y/oZvV3pAfiJxr1TrzR+nNkwfmXUIZY81hWCF3KIZaeHPKviBBS4s bidLe3QLnnf4t/Wh5xigomDg6lNS4p0j1B+bv+zyt3S/+UU9S1yHfnLYlJ/Nzm2LBpzd gXd75AGKCiT7QHZTI4Fq6Uz8fHuR0nG6KrGHY/uM1EbB1ZMmq0Uh/1Le+79LaOBowFGp 09feLChFmGYlh2nFVbjWc+Ia0A/3SBDIoGaqomHU+gdEOr96UQGGXgwZ2Qez3hZIHZ4C 7TfA==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1769662743; x=1770267543; 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=yOs8ns44BHUYOwBoMDvK2zjV1VUqoZkNWvQ3Sd55xlQ=; b=lRaShWxDM2ziH3GQdOSeqR9dBA0dFnNTiPOSf89p5hRogfDiayvd83LCFMINzSGI8W xMU7W4cF6Jed+R9ydvdUYw739G/gj/H4TLz2PJu53Lw0anK8TrmcM4v/7EjiRYTAyZo4 W7cABfrZj/qwe+pKwT2lw/a3MJjsc/fgdWI1rLKwm6ZGNd7sASavkBY/dkcSLghiN5BD cbw5sJXJN03mfOo7bUEvrU0qeZAaUveTx+i4B7I//tzaXrF7GXDR0qlpqp+Yi7jcSPHs +qBDaAuWM8EDBLRHYwigvwsHSFUZZ5WhegH/cPp/pztC3zuC485krnPeTtfG/00zOmOC eoCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769662743; x=1770267543; 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=yOs8ns44BHUYOwBoMDvK2zjV1VUqoZkNWvQ3Sd55xlQ=; b=gpHk2LjYelTntS8lH2vd104L5wvFibtbXFVkFcGURszC0/wKSSHcC3d2iyonQRM5Vv CT/78ie6kaT1OMg3lta/a1+FrQUyiDdVQLdBSKS3QLMpNoeFSi27QlP2P+91RLjAxZhg z9AfkueijiBwUmFU0re7IjZjj02PIKBYMtqe1j5it5ijMSaDOvOYoXfdS1FJJpOIuxvp oRyD7Kugci1e/A7SF0Zp4MNEXt2023Gh22glJvDusKPYZEd/VUraueIvKEZjCB7GcZbm GE3xQzEtKSNMqtGli1Wc576JvLOyY8iymYHWfgrOV80PZX1B8ROrlaPuxYs++zh2wpgR m/EQ== X-Forwarded-Encrypted: i=1; AJvYcCXBggV9OmUf4xe/1B8l8kuUk3EsZFexnQ84VykUH58yl6rlvFs2J0pMxFrrF6c1+JO7pDhp4iKrnI0KB45P@lists.postgresql.org X-Gm-Message-State: AOJu0YzamHMOf2UE5GXPEb06cXu9tXJKJRU6KOyK0ewFf1pTnc7PKfUB buO+gveNHfMYFn6dv25P0ZOYTUZXKwrByTrWfsFOblCINOZiFyGoUv/KwAa+7UOACLz+kER3lJl MkW5Ec5Kg/a/0RsGgRLzgGToEUnNs+/w= X-Gm-Gg: AZuq6aK3xPYU7kRTsSsq+AcUAFKUkDGYnc2flHoSS//fHdheLwbhq2i3D6BVYdCs0dN KghPOxeRXUNeWuj4eIaBYh5HYM770c8S4Yj8goi8FR/d3HEivQi72mlIhe8Egg15OFAhhRDMNTk TWzk27XzX/mYzu08VueyNuY/mlMW4VnKzokiXFWfjyayPsudC0bUYT8NSLIhHcVZwRD3EJCKBKs fe2jgcjzG1PBnOZC+tTwTn8VChShACYo1Qn9G2eiWRD5V47z1dHYLmF+8NLLswAl0FclRED X-Received: by 2002:a05:6820:1a05:b0:662:f8bd:fc9 with SMTP id 006d021491bc7-662f8bd13efmr3030597eaf.41.1769662742980; Wed, 28 Jan 2026 20:59:02 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: "David G. Johnston" Date: Wed, 28 Jan 2026 21:58:26 -0700 X-Gm-Features: AZwV_QjVYHNSRQ-B77GKrXYZq1_M759-UBOM3k8D9sONWVWyrYOAL0thDbJ-OGk Message-ID: Subject: Re: pg_plan_advice To: Robert Haas Cc: Lukas Fittl , Jacob Champion , Dian Fay , Matheus Alcantara , Jakub Wartak , PostgreSQL Hackers Content-Type: multipart/mixed; boundary="0000000000002b06f306497fb753" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000002b06f306497fb753 Content-Type: multipart/alternative; boundary="0000000000002b06f106497fb751" --0000000000002b06f106497fb751 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, Jan 28, 2026 at 10:14=E2=80=AFAM Robert Haas wrote: > On Mon, Jan 12, 2026 at 12:13=E2=80=AFPM Robert Haas > wrote: > > If not, I'll rearrange > > the series to move 0004 to the front, and plan to commit that first. > > That rearrangement got done in v11, and I've now committed that patch > after fixing a few typos that I found. Cautiously, woohoo, but let's > see if anything breaks. > > Here's v13. > Documentation review patch attached. Overall it flowed well. Most of the changes are just typos or similar. I found the idea of seeing "Disabled: true" to not make immediate sense. I've left some comments near that section and plan to come back to it. The comment about collector memory usage was duplicated more-or-less. I kept the first, less loud, instance. Removed the few uses of "we" in favor of pg_plan_advice being the actor. David J. --0000000000002b06f106497fb751 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

On Wed, Ja= n 28, 2026 at 10:14=E2=80=AFAM Robert Haas <robertmhaas@gmail.com> wrote:
On Mon, Jan 12, 2026 at 12:13=E2=80=AFPM = Robert Haas <= robertmhaas@gmail.com> wrote:
> If not, I'll rearrange
> the series to move 0004 to the front, and plan to commit that first.
That rearrangement got done in v11, and I've now committed that patch after fixing a few typos that I found. Cautiously, woohoo, but let's see if anything breaks.

Here's v13.=C2=A0

Documentation revie= w patch attached.

Overall it flowed well.=C2=A0 Most o= f the changes are just typos or similar.

I found the i= dea of seeing "Disabled: true" to not make immediate sense.=C2=A0= I've left some comments near that section and plan to come back to it.=

The comment about collector memory usage was duplicat= ed more-or-less.=C2=A0 I kept the first, less loud, instance.

<= /div>
Removed the few uses of "we" in favor of pg_plan_advice b= eing the actor.

David J.

--0000000000002b06f106497fb751-- --0000000000002b06f306497fb753 Content-Type: text/x-patch; charset="US-ASCII"; name="nocfbot-Docs-review.patch" Content-Disposition: attachment; filename="nocfbot-Docs-review.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mkyz6i6x0 RnJvbSBiYzQwY2I5ZGQyYzFjM2FjMjdjNDRlY2JiYWU2YzQ1MDc0NTg3OWQ2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiRGF2aWQgRy4gSm9obnN0b24iIDxEYXZpZC5HLkpvaG5zdG9u QEdtYWlsLmNvbT4KRGF0ZTogV2VkLCAyOCBKYW4gMjAyNiAyMTo0Nzo0NSAtMDcwMApTdWJqZWN0 OiBbUEFUQ0hdIERvY3MgcmV2aWV3CgotLS0KIGRvYy9zcmMvc2dtbC9wZ3BsYW5hZHZpY2Uuc2dt bCB8IDExNSArKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2Vk LCA1OCBpbnNlcnRpb25zKCspLCA1NyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2Mvc3Jj L3NnbWwvcGdwbGFuYWR2aWNlLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcGdwbGFuYWR2aWNlLnNnbWwK aW5kZXggYjMxOWY5MGZlYmUuLjA3YzNkMmEwMTIxIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwv cGdwbGFuYWR2aWNlLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3BncGxhbmFkdmljZS5zZ21sCkBA IC0yMSw3ICsyMSw3IEBACiAgIHVuZGVybHlpbmcgZGF0YSBjaGFuZ2VzLCB0aGUgcGxhbm5lciBu b3JtYWxseSBoYXMgdGhlIG9wdGlvbiB0byBhZGp1c3QgdGhlCiAgIHBsYW4gaW4gYW4gYXR0ZW1w dCB0byBwcmVzZXJ2ZSBnb29kIHBlcmZvcm1hbmNlLiBJZiB0aGUgcGxhbiBhZHZpY2UgcHJldmVu dHMKICAgdGhpcywgYSB2ZXJ5IHBvb3IgcGxhbiBtYXkgYmUgY2hvc2VuLiBJdCBpcyBpbXBvcnRh bnQgdG8gdXNlIHBsYW4gYWR2aWNlCi0gIG9ubHkgd2hlbiByaXNrcyBvZiBjb25zdHJhaW5pbmcg dGhlIHBsYW5uZXIncyBjaG9pY2VzIGFyZSBvdXR3ZWlnaGVkIGJ5CisgIG9ubHkgd2hlbiB0aGUg cmlza3Mgb2YgY29uc3RyYWluaW5nIHRoZSBwbGFubmVyJ3MgY2hvaWNlcyBhcmUgb3V0d2VpZ2hl ZCBieQogICB0aGUgYmVuZWZpdHMuCiAgPC9wYXJhPgogCkBAIC0zOSw3ICszOSw3IEBACiAgICA8 bGluayBsaW5rZW5kPSJzcWwtbG9hZCI+PGxpdGVyYWw+TE9BRDwvbGl0ZXJhbD48L2xpbms+IGNv bW1hbmQuIElmIHlvdQogICAgd2lzaCB0byB1c2UgdGhlCiAgICA8bGluayBsaW5rZW5kPSJwZ3Bs YW5hZHZpY2UtY29sbGVjdG9yIj5jb2xsZWN0b3IgaW50ZXJmYWNlPC9saW5rPiwKLSAgIHlvdSBt dXN0IGFsc28gdGhlIDxsaXRlcmFsPnBnX3BsYW5fYWR2aWNlPC9saXRlcmFsPiBleHRlbnNpb24K KyAgIHlvdSBtdXN0IGFsc28gaW5zdGFsbCB0aGUgPGxpdGVyYWw+cGdfcGxhbl9hZHZpY2U8L2xp dGVyYWw+IGV4dGVuc2lvbgogICAgaW4gdGhlIGRhdGFiYXNlIHdoZXJlIHlvdSB3aXNoIHRvIHVz ZSB0aGUgY29sbGVjdG9yLiBVc2UgdGhlIGNvbW1hbmQKICAgIDxsaXRlcmFsPkNSRUFURSBFWFRF TlNJT04gcGdfcGxhbl9hZHZpY2U8L2xpdGVyYWw+IHRvIGRvIHRoaXMuIElmIHlvdSBkbwogICAg bm90IHdpc2ggdG8gdXNlIHRoZSBjb2xsZWN0b3IgaW50ZXJmYWNlLCB0aGlzIHN0ZXAgaXMgbm90 IHJlcXVpcmVkLgpAQCAtNDgsOCArNDgsOCBAQAogICA8cGFyYT4KICAgIE9uY2UgdGhlIDxsaXRl cmFsPnBnX3BsYW5fYWR2aWNlPC9saXRlcmFsPiBtb2R1bGUgaXMgbG9hZGVkLAogICAgPGxpbmsg bGlua2VuZD0ic3FsLWV4cGxhaW4iPjxsaXRlcmFsPkVYUExBSU48L2xpdGVyYWw+PC9saW5rPiB3 aWxsIHN1cHBvcnQKLSAgIGEgPGxpdGVyYWw+UExBTl9BRFZJQ0U8L2xpdGVyYWw+IG9wdGlvbi4g WW91IGNhbiB1c2UgdGhpcyBvcHRpb24gdG8gc2VlCi0gICBhIHBsYW4gYWR2aWNlIHN0cmluZyBm b3IgdGhlIGNob3NlbiBwbGFuLiBGb3IgZXhhbXBsZToKKyAgIGEgPGxpdGVyYWw+UExBTl9BRFZJ Q0U8L2xpdGVyYWw+IG9wdGlvbi4gWW91IGNhbiB1c2UgdGhpcyBvcHRpb24gdG8gZ2VuZXJhdGUK KyAgIHRoZSBwbGFuIGFkdmljZSBwZXJ0YWluaW5nIHRvIHRoZSBjaG9zZW4gcGxhbi4gRm9yIGV4 YW1wbGU6CiAgIDwvcGFyYT4KIAogPHByb2dyYW1saXN0aW5nPgpAQCAtOTksOSArOTksOSBAQCBF WFBMQUlOIChDT1NUUyBPRkYsIFBMQU5fQURWSUNFKQogICAgT25jZSB5b3UgaGF2ZSBhbiBhZHZp Y2Ugc3RyaW5nIGZvciBhIHF1ZXJ5LCB5b3UgY2FuIHVzZSBpdCB0byBjb250cm9sIGhvdwogICAg dGhhdCBxdWVyeSBpcyBwbGFubmVkLiBZb3UgY2FuIGRvIHRoaXMgYnkgc2V0dGluZwogICAgPGxp dGVyYWw+cGdfcGxhbl9hZHZpY2UuYWR2aWNlPC9saXRlcmFsPiB0byB0aGUgYWR2aWNlIHN0cmlu ZyB5b3UndmUKLSAgIGNob3Nlbi4gVGhpcyBjYW4gYmUgYW4gYWR2aWNlIHN0cmluZyB0aGF0IHdh cyBnZW5lcmF0ZWQgYnkgdGhlIHN5c3RlbSwKKyAgIGNob3Nlbi4gVGhpcyBjYW4gYmUgYW4gYWR2 aWNlIHN0cmluZyB0aGF0IHdhcyBnZW5lcmF0ZWQgYnkgPGxpdGVyYWw+cGdfcGxhbl9hZHZpY2U8 L2xpdGVyYWw+LAogICAgb3Igb25lIHlvdSd2ZSB3cml0dGVuIHlvdXJzZWxmLiBPbmUgZ29vZCB3 YXkgb2YgY3JlYXRpbmcgeW91ciBvd24gYWR2aWNlCi0gICBzdHJpbmcgaXMgdG8gdGFrZSB0aGUg c3RyaW5nIGdlbmVyYXRlZCBieSB0aGUgc3lzdGVtIGFuZCBwaWNrIG91dCBqdXN0CisgICBzdHJp bmcgaXMgdG8gdGFrZSB0aGUgc3RyaW5nIGdlbmVyYXRlZCBieSA8bGl0ZXJhbD5wZ19wbGFuX2Fk dmljZTwvbGl0ZXJhbD4gYW5kIHBpY2sgb3V0IGp1c3QKICAgIHRob3NlIGVsZW1lbnRzIHRoYXQg eW91IHdpc2ggdG8gZW5mb3JjZS4gSW4gdGhlIGV4YW1wbGUgYWJvdmUsCiAgICA8bGl0ZXJhbD5w Z19wbGFuX2FkdmljZTwvbGl0ZXJhbD4gZW1pdHMgYWR2aWNlIGZvciB0aGUgam9pbiBvcmRlciwg dGhlCiAgICBqb2luIG1ldGhvZCwgdGhlIHNjYW4gbWV0aG9kLCBhbmQgdGhlIHVzZSBvZiBwYXJh bGxlbGlzbSwgYnV0IHlvdSBtaWdodApAQCAtMTQ2LDE5ICsxNDYsMTkgQEAgRVhQTEFJTiAoQ09T VFMgT0ZGKQogCiAgIDxwYXJhPgogICAgUGxhbiBhZHZpY2UgaXMgd3JpdHRlbiBpbXBlcmF0aXZl bHk7IHRoYXQgaXMsIGl0IHNwZWNpZmllcyB3aGF0IHNob3VsZCBiZQotICAgZG9uZS4gSG93ZXZl ciwgYXQgYW4gaW1wbGVtZW50YXRpb24gbGV2ZWwsCisgICBkb25lLiBIb3dldmVyLCBhdCB0aGUg aW1wbGVtZW50YXRpb24gbGV2ZWwsCiAgICA8bGl0ZXJhbD5wZ19wbGFuX2FkdmljZTwvbGl0ZXJh bD4gd29ya3MgYnkgdGVsbGluZyB0aGUgY29yZSBwbGFubmVyIHdoYXQKICAgIHNob3VsZCBub3Qg YmUgZG9uZS4gSW4gb3RoZXIgd29yZHMsIGl0IG9wZXJhdGVzIGJ5IGNvbnN0cmFpbmluZyB0aGUK LSAgIHBsYW5uZXIncyBjaG9pY2VzLCBub3QgYnkgcmVwbGFjaW5nIGl0LiBUaGVyZWZvcmUsIG5v IG1hdHRlciB3aGF0IGFkdmljZQorICAgcGxhbm5lcidzIGNob2ljZXMsIG5vdCBieSBkaWN0YXRp bmcgdGhlbS4gVGhlcmVmb3JlLCBubyBtYXR0ZXIgd2hhdCBhZHZpY2UKICAgIHlvdSBwcm92aWRl LCB5b3Ugd2lsbCBvbmx5IGV2ZXIgZ2V0IGEgcGxhbiB0aGF0IHRoZSBjb3JlIHBsYW5uZXIgd291 bGQgaGF2ZQogICAgY29uc2lkZXJlZCBmb3IgdGhlIHF1ZXJ5IGluIHF1ZXN0aW9uLiBJZiB5b3Ug YXR0ZW1wdCB0byBmb3JjZSB3aGF0IHlvdQogICAgYmVsaWV2ZSB0byBiZSB0aGUgY29ycmVjdCBw bGFuIGJ5IHN1cHBseWluZyBhbiBhZHZpY2Ugc3RyaW5nLCBhbmQgdGhlCi0gICBwbGFubmVyIHN0 aWxsIGZhaWxzIHRvIHByb2R1Y2UgdGhlIGRlc2lyZWQgcGxhbiwgdGhpcyBtZWFucyB0aGF0IGVp dGhlcgotICAgdGhlcmUgaXMgYSBidWcgaW4geW91ciBhZHZpY2Ugc3RyaW5nLCBvciB0aGUgcGxh biBpbiBxdWVzdGlvbiB3YXMgbm90CisgICBwbGFubmVyIGZhaWxzIHRvIHByb2R1Y2UgdGhlIGRl c2lyZWQgcGxhbiwgdGhlcmUgaXMgZWl0aGVyCisgICBhIGJ1ZyBpbiB5b3VyIGFkdmljZSBzdHJp bmcsIG9yIHRoZSBwbGFuIGluIHF1ZXN0aW9uIHdhcyBub3QKICAgIGNvbnNpZGVyZWQgdmlhYmxl IGJ5IHRoZSBjb3JlIHBsYW5uZXIuIFRoaXMgY29tbW9ubHkgaGFwcGVucyBmb3Igb25lIG9mIHR3 bwogICAgcmVhc29ucy4gRmlyc3QsIGl0IG1pZ2h0IGJlIHRoZSBwbGFubmVyIGJlbGlldmVzIHRo YXQgdGhlIHBsYW4geW91J3JlIHRyeWluZwotICAgdG8gZm9yY2Ugd291bGQgYmUgc2VtYW50aWNh bGx5IGluY29ycmVjdCAtLSB0aGF0IGlzLCBpdCB3b3VsZCBwcm9kdWNlIHRoZQotICAgd3Jvbmcg cmVzdWx0cyAtLSBhbmQgZm9yIHRoYXQgcmVhc29uIGl0IHdhc24ndCBjb25zaWRlcmVkLiBTZWNv bmQsIGl0IG1pZ2h0CisgICB0byBmb3JjZSB3b3VsZCBiZSBzZW1hbnRpY2FsbHkgaW5jb3JyZWN0 IC0gdGhhdCBpcywgaXQgd291bGQgcHJvZHVjZSB0aGUKKyAgIHdyb25nIHJlc3VsdHMgLSBhbmQg Zm9yIHRoYXQgcmVhc29uIGl0IHdhc24ndCBjb25zaWRlcmVkLiBTZWNvbmQsIGl0IG1pZ2h0CiAg ICBiZSB0aGF0IHRoZSBwbGFubmVyIHJlamVjdGVkIHRoZSBwbGFuIHlvdSB3ZXJlIGhvcGluZyB0 byBnZW5lcmF0ZSBvbiBzb21lCiAgICBncm91bmRzIG90aGVyIHRoYW4gY29zdC4gRm9yIGV4YW1w bGUsIGdpdmVuIGEgdmVyeSBzaW1wbGUgcXVlcnkgc3VjaCBhcwogICAgPGxpdGVyYWw+U0VMRUNU ICogRlJPTSBzb21lX3RhYmxlPC9saXRlcmFsPiwgdGhlIHF1ZXJ5IHBsYW5uZXIgd2lsbApAQCAt MTc2LDYgKzE3NiwxMiBAQCBFWFBMQUlOIChDT1NUUyBPRkYpCiAgICBiYXNpY2FsbHkgdGhlIHNh bWUgcGxhbiB5b3Ugd291bGQgaGF2ZSBnb3R0ZW4gd2l0aCBubyBzdXBwbGllZCBhZHZpY2UgYXQK ICAgIGFsbCwgYnV0IGluIG90aGVyIGNhc2VzLCB0aGV5IG1heSBiZSBtdWNoIHdvcnNlLiBGb3Ig ZXhhbXBsZToKICAgPC9wYXJhPgorICA8IS0tIHRoaXMgd2hvbGUgZGlzYWJsZWQgdGhpbmcgbmVl ZHMgd29yayBmb3IgbWUgdG8gdW5kZXJzdGFuZAorICAgICAgIHRoZSBvdXRwdXQgIkFkdmljZSBJ Z25vcmVkOiBKT0lOX09SREVSKHggZiBkKSIgd291bGQgYmUgbmljZXIuCisgICAgICAgYnV0IG1h eWJlIGl0IGNhbm5vdCBiZSB0aGF0IHNwZWNpZmljLi4ubm90aW5nIHRoYXQgd2hlbiBBZHZpY2UK KyAgICAgICBpcyB1bHRpbWF0ZWx5IGlnbm9yZWQgdGhlIGNob3NlbiBvcHRpb24gbWF5IG5vdCBt YXRjaCB0aGUgY2hvaWNlCisgICAgICAgdGhhdCB3b3VsZCBoYXZlIGhhcHBlbmVkIGhhZCBubyBh ZHZpY2UgYmVlbiBnaXZlbi4KKyAgLS0+CiAKIDxwcm9ncmFtbGlzdGluZz4KIFNFVCBwZ19wbGFu X2FkdmljZS5hZHZpY2UgPSAnSk9JTl9PUkRFUih4IGYgZCknOwpAQCAtMjE4LDggKzIyNCw4IEBA IEVYUExBSU4gKENPU1RTIE9GRikKICAgIGNhc2VzLCBzdWNoIGFzIHRoZSBleGFtcGxlcyBzaG93 biBhYm92ZSwgdGhlIGFkdmljZSB0YXJnZXQgaXMgc2ltcGx5IHRoZQogICAgcmVsYXRpb24gYWxp YXMuIEhvd2V2ZXIsIGEgbW9yZSBjb21wbGV4IHN5bnRheCBpcyByZXF1aXJlZCB3aGVuIHN1YnF1 ZXJpZXMKICAgIGFyZSB1c2VkLCB3aGVuIHRhYmxlcyBhcmUgcGFydGl0aW9uZWQsIG9yIHdoZW4g dGhlIHNhbWUgcmVsYXRpb24gYWxpYXMgaXMKLSAgIG1lbnRpb25lZCBtb3JlIHRoYW4gb25jZSBp biB0aGUgc2FtZSBzdWJxdWVyeSAoZS5nLiA8bGl0ZXJhbD4oZm9vIEpPSU4gYmFyCi0gICBPTiBm b28uYSA9IGJhci5hKSB4IEpPSU4gZm9vIE9OIHguYiA9IGZvby5iPC9saXRlcmFsPi4gQW55IGNv bWJpbmF0aW9uIG9mCisgICBtZW50aW9uZWQgbW9yZSB0aGFuIG9uY2UgaW4gdGhlIHNhbWUgc3Vi cXVlcnkgKGUuZy4sIDxsaXRlcmFsPihmb28gSk9JTiBiYXIKKyAgIE9OIGZvby5hID0gYmFyLmEp IHggSk9JTiBmb28gT04geC5iID0gZm9vLmI8L2xpdGVyYWw+KS4gQW55IGNvbWJpbmF0aW9uIG9m CiAgICB0aGVzZSB0aHJlZSB0aGluZ3MgY2FuIG9jY3VyIHNpbXVsdGFuZW91c2x5OiBhIHJlbGF0 aW9uIGNvdWxkIGJlIG1lbnRpb25lZAogICAgbW9yZSB0aGFuIG9uY2UsIGJlIHBhcnRpdGlvbmVk LCBhbmQgYmUgdXNlZCBpbnNpZGUgb2YgYSBzdWJxdWVyeS4KICAgPC9wYXJhPgpAQCAtMjM0LDIy ICsyNDAsMjIgQEAgYWxpYXNfbmFtZSNvY2N1cnJlbmNlX251bWJlci9wYXJ0aXRpb25fc2NoZW1h LnBhcnRpdGlvbl9uYW1lQHBsYW5fbmFtZQogCiAgIDxwYXJhPgogICAgQWxsIGNvbXBvbmVudHMg ZXhjZXB0IGZvciB0aGUgPGxpdGVyYWw+YWxpYXNfbmFtZTwvbGl0ZXJhbD4gYXJlIG9wdGlvbmFs Ci0gICBhbmQgaW5jbHVkZWQgb25seSB3aGVuIHJlcXVpcmVkLiBXaGVuIGEgY29tcG9uZW50IGlz IG9taXR0ZWQsIHRoZSBhc3NvY2lhdGVkCisgICBhbmQgYXJlIGluY2x1ZGVkIG9ubHkgd2hlbiBy ZXF1aXJlZC4gV2hlbiBhIGNvbXBvbmVudCBpcyBvbWl0dGVkLCB0aGUgcHJlY2VkaW5nCiAgICBw dW5jdHVhdGlvbiBtdXN0IGFsc28gYmUgb21pdHRlZC4gRm9yIHRoZSBmaXJzdCBvY2N1cnJlbmNl IG9mIGEgdGFibGUKICAgIHdpdGhpbiBhIGdpdmVuIHN1YnF1ZXJ5LCBnZW5lcmF0ZWQgYWR2aWNl IHdpbGwgb21pdCB0aGUgb2NjdXJyZW5jZSBudW1iZXIsCiAgICBidXQgaXQgaXMgbGVnYWwgdG8g d3JpdGUgPGxpdGVyYWw+IzE8L2xpdGVyYWw+LCBpZiBkZXNpcmVkLiBUaGUgcGFydGl0aW9uCiAg ICBzY2hlbWEgYW5kIHBhcnRpdGlvbiBuYW1lIGFyZSBpbmNsdWRlZCBvbmx5IGZvciBjaGlsZHJl biBvZiBwYXJ0aXRpb25lZAotICAgdGFibGVzLiBJbiBnZW5lcmF0ZWQgYWR2aWNlLCB3ZSBhbHdh eXMgaW5jdWRlIGJvdGgsIGJ1dCBpdCBpcyBsZWdhbCB0bwotICAgb21pdCB0aGUgc2NoZW1hLiBU aGUgcGxhbiBuYW1lIGlzIG9taXR0ZWQgZm9yIHRoZSB0b3BsZXZlbCBwbGFuLCBhbmQgbXVzdAot ICAgYmUgaW5jbHVkZWQgZm9yIGFueSBzdWJwbGFuLgorICAgdGFibGVzLiBJbiBnZW5lcmF0ZWQg YWR2aWNlLCA8bGl0ZXJhbD5wZ19wbGFuX2FkdmljZTwvbGl0ZXJhbD4gYWx3YXlzIGluY2x1ZGVz CisgICBib3RoLCBidXQgaXQgaXMgbGVnYWwgdG8gb21pdCB0aGUgc2NoZW1hLiBUaGUgcGxhbiBu YW1lIGlzIG9taXR0ZWQgZm9yIHRoZQorICAgdG9wLWxldmVsIHBsYW4sIGFuZCBtdXN0IGJlIGlu Y2x1ZGVkIGZvciBhbnkgc3VicGxhbi4KICAgPC9wYXJhPgogCiAgIDxwYXJhPgogICAgSXQgaXMg bm90IGFsd2F5cyBlYXN5IHRvIGRldGVybWluZSB0aGUgY29ycmVjdCBhZHZpY2UgdGFyZ2V0IGJ5 IGV4YW1pbmluZwotICAgdGhlIHF1ZXJ5OyBmb3IgaW5zdGFuY2UsIGlmIHRoZSBwbGFubmVyIHB1 bGxzIHVwIGEgc3VicXVlcnkgaW50byB0aGUgcGFyZW50CisgICB0aGUgcXVlcnkuIEZvciBpbnN0 YW5jZSwgaWYgdGhlIHBsYW5uZXIgcHVsbHMgdXAgYSBzdWJxdWVyeSBpbnRvIHRoZSBwYXJlbnQK ICAgIHF1ZXJ5IGxldmVsLCBldmVyeXRoaW5nIGluc2lkZSBvZiBpdCBiZWNvbWVzIHBhcnQgb2Yg dGhlIHBhcmVudCBxdWVyeSBsZXZlbCwKICAgIGFuZCB1c2VzIHRoZSBwYXJlbnQgcXVlcnkncyBz dWJwbGFuIG5hbWUgKG9yIG5vIHN1YnBsYW4gbmFtZSwgaWYgcHVsbGVkIHVwCi0gICB0byB0aGUg dG9wbGV2ZWwpLiBGdXJ0aGVybW9yZSwgdGhlIGNvcnJlY3Qgc3VicXVlcnkgbmFtZSBpcyBzb21l dGltZXMgbm90CisgICB0byB0aGUgdG9wIGxldmVsKS4gRnVydGhlcm1vcmUsIHRoZSBjb3JyZWN0 IHN1YnF1ZXJ5IG5hbWUgaXMgc29tZXRpbWVzIG5vdAogICAgb2J2aW91cy4gRm9yIGV4YW1wbGUs IHdoZW4gdHdvIHF1ZXJpZXMgYXJlIGpvaW5lZCB1c2luZyBhbiBvcGVyYXRpb24gc3VjaCBhcwog ICAgPGxpdGVyYWw+VU5JT048L2xpdGVyYWw+IG9yIDxsaXRlcmFsPklOVEVSU0VDVDwvbGl0ZXJh bD4sIG5vIG5hbWUgZm9yIHRoZQogICAgc3VicXVlcmllcyBpcyBwcmVzZW50IGluIHRoZSBTUUwg c3ludGF4OyBpbnN0ZWFkLCBhIHN5c3RlbS1nZW5lcmF0ZWQgbmFtZSBpcwpAQCAtMzAxLDIzICsz MDcsMjEgQEAgQklUTUFQX0hFQVBfU0NBTig8cmVwbGFjZWFibGU+dGFyZ2V0PC9yZXBsYWNlYWJs ZT4gWyAuLi4gXSk8L3N5bm9wc2lzPgogICAgPC9wYXJhPgogCiAgICA8cGFyYT4KLSAgICA8bGl0 ZXJhbD5GT1JFSUdOX1NDQU48L2xpdGVyYWw+IHNwZWNpZmllcyB0aGF0IGEgZm9yZWlnbiBqb2lu IGJldHdlZW4KLSAgICBhIHNldmVyYWwgZm9yZWlnbiB0YWJsZXMgc2hvdWxkIGJlIHB1c2hlZCBk b3duIHRvIGEgcmVtb3RlIHNlcnZlciBzbworICAgIDxsaXRlcmFsPkZPUkVJR05fU0NBTjwvbGl0 ZXJhbD4gc3BlY2lmaWVzIHRoYXQgYSBqb2luIGJldHdlZW4KKyAgICB0d28gb3IgbW9yZSBmb3Jl aWduIHRhYmxlcyBzaG91bGQgYmUgcHVzaGVkIGRvd24gdG8gYSByZW1vdGUgc2VydmVyIHNvCiAg ICAgdGhhdCBpdCBjYW4gYmUgaW1wbGVuZW50ZWQgYXMgYSBzaW5nbGUgPGxpdGVyYWw+Rm9yZWln biBTY2FuPC9saXRlcmFsPi4KLSAgICBTcGVjaWZ5aW5nIDxsaXRlcmFsPkZPUkVJR05fU0NBTjwv bGl0ZXJhbD4gZm9yIGEgc2luZ2xlIGZvcmVpZ24gdGFibGUgaXMKLSAgICBuZWl0aGVyIG5lY2Vz c2FyeSBub3IgcGVybWlzc2libGU6IGEgPGxpdGVyYWw+Rm9yZWlnbiBTY2FuPC9saXRlcmFsPiB3 aWxsCi0gICAgbmVlZCB0byBiZSB1c2VkIHJlZ2FyZGxlc3MuIElmIHlvdSB3YW50IHRvIHByZXZl bnQgYSBqb2luIGZyb20gYmVpbmcKKyAgICBJZiB5b3Ugd2FudCB0byBwcmV2ZW50IGEgam9pbiBm cm9tIGJlaW5nCiAgICAgcHVzaGVkIGRvd24sIGNvbnNpZGVyIHVzaW5nIHRoZSA8bGl0ZXJhbD5K T0lOX09SREVSPC9saXRlcmFsPiB0YWcgZm9yCiAgICAgdGhhdCBwdXJwb3NlLgogICAgPC9wYXJh PgogCiAgICA8cGFyYT4KLSAgICBUaGUgcGxhbm5lciBzdXBwb3J0cyBtYW55IHR5cGVzIG9mIHNj YW5zIG90aGVyIHRoYW4gdGhvc2UgbGlzdGVkIGhlcmU7Ci0gICAgaG93ZXZlciwgaW4gbW9zdCBv ZiB0aG9zZSBjYXNlcywgdGhlcmUgaXMgbm8gbWVhbmluZ2Z1bCBkZWNpc2lvbiB0byBiZQotICAg IG1hZGUsIGFuZCBoZW5jZSBubyBuZWVkIGZvciBhZHZpY2UuIEZvciBleGFtcGxlLCB0aGUgb3V0 cHV0IG9mIGEKKyAgICBXaGlsZSB0aGUgcGxhbm5lciBzdXBwb3J0IGFkZGl0aW9uYWwgc2NhbiB0 eXBlcyBtb3N0IGFyZSBvbWl0dGVkIGFzCisgICAgdGhlcmUgYXJlIG5vIG1lYW5pbmdmdWwgb3B0 aW9ucyBhdmFpbGFibGUgdG8gdGhlbSB0byBiZSBhZHZpc2VkIHRvCisgICAgcHJlZmVyLgorICAg IEZvciBleGFtcGxlLCB0aGUgb3V0cHV0IG9mIGEKICAgICBzZXQtcmV0dXJuaW5nIGZ1bmN0aW9u IHRoYXQgYXBwZWFycyBpbiB0aGUgPGxpdGVyYWw+RlJPTTwvbGl0ZXJhbD4gY2xhdXNlCi0gICAg Y2FuIG9ubHkgZXZlciBiZSBzY2FubmVkIHVzaW5nIGEgPGxpdGVyYWw+RnVuY3Rpb24gU2Nhbjwv bGl0ZXJhbD4sIHNvCi0gICAgdGhlcmUgaXMgbm8gb3Bwb3J0dW5pdHkgZm9yIGFkdmljZSB0byBj aGFuZ2UgYW55dGhpbmcuCisgICAgY2FuIG9ubHkgZXZlciBiZSBzY2FubmVkIHVzaW5nIGEgPGxp dGVyYWw+RnVuY3Rpb24gU2NhbjwvbGl0ZXJhbD4uCiAgICA8L3BhcmE+CiAKICAgPC9zZWN0Mz4K QEAgLTMzNyw3ICszNDEsNyBAQCBKT0lOX09SREVSKDxyZXBsYWNlYWJsZT5qb2luX29yZGVyX2l0 ZW08L3JlcGxhY2VhYmxlPiBbIC4uLiBdKQogICAgIFdoZW4gPGxpdGVyYWw+Sk9JTl9PUkRFUjwv bGl0ZXJhbD4gaXMgdXNlZCB3aXRob3V0IGFueSBzdWJsaXN0cywgaXQKICAgICBzcGVjaWZpZXMg YW4gb3V0ZXItZGVlcCBqb2luIHdpdGggdGhlIGZpcnN0IGFkdmljZSB0YXJnZXQgYXMgdGhlIGRy aXZpbmcKICAgICB0YWJsZSwgam9pbmVkIHRvIGVhY2ggc3Vic2VxdWVudCBhZHZpY2UgdGFyZ2V0 IGluIHR1cm4gaW4gdGhlIG9yZGVyCi0gICAgc3BlY2lmaWVkLiBGb3IgaW5zdGFuY2UsIDxsaXRl cmFsPkpPSU5fT1JERVIoYSBiIGMpPC9saXRlcmFsPiBtZWFucyB0aGF0CisgICAgc3BlY2lmaWVk LiBGb3IgZXhhbXBsZSwgPGxpdGVyYWw+Sk9JTl9PUkRFUihhIGIgYyk8L2xpdGVyYWw+IG1lYW5z IHRoYXQKICAgICA8bGl0ZXJhbD5hPC9saXRlcmFsPiBzaG91bGQgYmUgdGhlIGRyaXZpbmcgdGFi bGUsIGFuZCB0aGF0IGl0IHNob3VsZCBiZQogICAgIGpvaW5lZCBmaXJzdCB0byA8bGl0ZXJhbD5i PC9saXRlcmFsPiBhbmQgdGhlbiB0byA8bGl0ZXJhbD5jPC9saXRlcmFsPi4KICAgICBJZiB0aGVy ZSBhcmUgbW9yZSB0YWJsZXMgaW4gdGhlIHF1ZXJ5IHRoYW4gPGxpdGVyYWw+YTwvbGl0ZXJhbD4s CkBAIC0zNDgsNyArMzUyLDcgQEAgSk9JTl9PUkRFUig8cmVwbGFjZWFibGU+am9pbl9vcmRlcl9p dGVtPC9yZXBsYWNlYWJsZT4gWyAuLi4gXSkKICAgIDxwYXJhPgogICAgIElmIGEgPGxpdGVyYWw+ Sk9JTl9PUkRFUjwvbGl0ZXJhbD4gbGlzdCBjb250YWlucyBhIHBhcmVudGhlc2l6ZWQgc3VibGlz dCwKICAgICBpdCBzcGVjaWZpZXMgYSBub24tb3V0ZXItZGVlcCBqb2luLiBUaGUgdGFibGVzIGlu IHRoZSBzdWJsaXN0IG11c3QgZmlyc3QKLSAgICBiZSBqb2luZWQgdG8gZWFjaCBvdGhlciBtdWNo IGFzIGlmIHRoZSBzdWJsaXN0IHdlcmUgYSB0b3BsZXZlbAorICAgIGJlIGpvaW5lZCB0byBlYWNo IG90aGVyIG11Y2ggYXMgaWYgdGhlIHN1Ymxpc3Qgd2VyZSBhIHRvcC1sZXZlbAogICAgIDxsaXRl cmFsPkpPSU5fT1JERVI8L2xpdGVyYWw+IGxpc3QsIGFuZCB0aGUgcmVzdWx0aW5nIGpvaW4gcHJv ZHVjdCBtdXN0CiAgICAgdGhlbiBhcHBlYXIgb24gdGhlIGlubmVyIHNpZGUgb2YgYSBqb2luIGF0 IHRoZSBhcHByb3ByaWF0ZSBwb2ludCBpbiB0aGUKICAgICBqb2luIG9yZGVyLiBGb3IgZXhhbXBs ZSwgPGxpdGVyYWw+Sk9JTl9PUkRFUihhIChiIGMpIGQpPC9saXRlcmFsPiByZXF1aXJlcwpAQCAt MzY2LDEyICszNzAsMTIgQEAgSm9pbgogPC9wcm9ncmFtbGlzdGluZz4KIAogICAgPHBhcmE+Ci0g ICAgSWYgYSA8bGl0ZXJhbD5KT0lOX09SREVSPC9saXRlcmFsPiBsaXN0IGNvbnRhaW5zIGEgc3Vi bGlzdCBzdXJyb25kZWQgYnkKKyAgICBJZiBhIDxsaXRlcmFsPkpPSU5fT1JERVI8L2xpdGVyYWw+ IGxpc3QgY29udGFpbnMgYSBzdWJsaXN0IHN1cnJvdW5kZWQgYnkKICAgICBjdXJseSBicmFjZXMs IHRoaXMgYWxzbyBzcGVjaWZpZXMgYSBub24tb3V0ZXItZGVlcCBqb2luLiBIb3dldmVyLCB0aGUg am9pbgogICAgIG9yZGVyIHdpdGhpbiB0aGUgc3VibGlzdCBpcyBub3QgY29uc3RyYWluZWQuIEZv ciBleGFtcGxlLCBzcGVjaWZpeWluZwotICAgIDxsaXRlcmFsPkpPSU5fT1JERVIoYSB7YiBjfSBk PC9saXRlcmFsPiB3b3VsZCBhbGxvdyB0aGUgc2NhbnMgb2YKKyAgICA8bGl0ZXJhbD5KT0lOX09S REVSKGEge2IgY30gZCk8L2xpdGVyYWw+IHdvdWxkIGFsbG93IHRoZSBzY2FucyBvZgogICAgIDxs aXRlcmFsPmI8L2xpdGVyYWw+IGFuZCA8bGl0ZXJhbD5jPC9saXRlcmFsPiB0byBiZSBzd2FwcGVk IGluIHRoZQotICAgIHByZXZpb3VzIGV4YW1wbGUsIHdoaWNoIGlzIG5vdCBhbGxvd2VkIHdoZW4g cGFyZW50aGVzZSBhcmUgdXNlZC4KKyAgICBwcmV2aW91cyBleGFtcGxlLCB3aGljaCBpcyBub3Qg YWxsb3dlZCB3aGVuIHBhcmVudGhlc2VzIGFyZSB1c2VkLgogICAgPC9wYXJhPgogCiAgICA8cGFy YT4KQEAgLTQwMSw3ICs0MDUsNyBAQCBqb2luX21ldGhvZF9uYW1lKDxyZXBsYWNlYWJsZT5qb2lu X21ldGhvZF9pdGVtPC9yZXBsYWNlYWJsZT4gWyAuLi4gXSkKIAogPHBocmFzZT5hbmQgPHJlcGxh Y2VhYmxlPmpvaW5fbWV0aG9kX2l0ZW08L3JlcGxhY2VhYmxlPiBpczo8L3BocmFzZT4KIAotPHJl cGxhY2VhYmxlPmFkdmljZV90YXJnZXQ8L3JlcGxhY2VhYmxlPiB8Cit7IDxyZXBsYWNlYWJsZT5h ZHZpY2VfdGFyZ2V0PC9yZXBsYWNlYWJsZT4gfAogKCA8cmVwbGFjZWFibGU+YWR2aWNlX3Rhcmdl dDwvcmVwbGFjZWFibGU+IFsgLi4uIF0gKSB9PC9zeW5vcHNpcz4KIAogICAgPHBhcmE+CkBAIC00 MDksMTMgKzQxMywxMyBAQCBqb2luX21ldGhvZF9uYW1lKDxyZXBsYWNlYWJsZT5qb2luX21ldGhv ZF9pdGVtPC9yZXBsYWNlYWJsZT4gWyAuLi4gXSkKICAgICBhcHBlYXIgb24gdGhlIGlubmVyIHNp ZGUgb2YgYSBqb2luIHVzaW5nIHRoZSBuYW1lZCBqb2luIG1ldGhvZC4gRm9yCiAgICAgZXhhbXBs ZSwgPGxpdGVyYWw+SEFTSF9KT0lOKGEgYik8L2xpdGVyYWw+IG1lYW5zIHRoYXQgZWFjaCBvZgog ICAgIDxsaXRlcmFsPmE8L2xpdGVyYWw+IGFuZCA8bGl0ZXJhbD5iPC9saXRlcmFsPiBzaG91bGQg YXBwZWFyIG9uIHRoZSBpbm5lcgotICAgIHNpZGUgb2YgYSBoYXNoIGpvaW47IGEgY29uZmlybWlu ZyBwbGFuIG11c3QgY29udGFpbiBhdCBsZWFzdCB0d28gaGFzaAorICAgIHNpZGUgb2YgYSBoYXNo IGpvaW47IGEgY29uZm9ybWluZyBwbGFuIG11c3QgY29udGFpbiBhdCBsZWFzdCB0d28gaGFzaAog ICAgIGpvaW5zLCBvbmUgb2Ygd2hpY2ggaGFzIDxsaXRlcmFsPmE8L2xpdGVyYWw+IGFuZCBub3Ro aW5nIGVsc2Ugb24gdGhlCi0gICAgaW5uZXIgc2lkZSwgYW5kIHRoZSBvdGhlciBvZiB3aGljaCBo YXMgPGxpdGVyYWw+YjwvbGl0ZXJhbD4gYW5kIG5vdGhpbmcKKyAgICBpbm5lciBzaWRlLCBhbmQg dGhlIG90aGVyIGhhdmluZyA8bGl0ZXJhbD5iPC9saXRlcmFsPiBhbmQgbm90aGluZwogICAgIGVs c2Ugb24gdGhlIGlubmVyIHNpZGUuIE9uIHRoZSBvdGhlciBoYW5kLAogICAgIDxsaXRlcmFsPkhB U0hfSk9JTigoYSBiKSk8L2xpdGVyYWw+IG1lYW5zIHRoYXQgdGhlIGpvaW4gcHJvZHVjdCBvZgog ICAgIDxsaXRlcmFsPmE8L2xpdGVyYWw+IGFuZCA8bGl0ZXJhbD5iPC9saXRlcmFsPiBzaG91bGQg YXBwZWFyIHRvZ2V0aGVyCi0gICAgb24gdGhlIGlubmVyIHNpZGUgb2YgYSBhIHNpbmdsZSBoYXNo IGpvaW4uCisgICAgb24gdGhlIGlubmVyIHNpZGUgb2YgYSBzaW5nbGUgaGFzaCBqb2luLgogICAg PC9wYXJhPgogCiAgICA8cGFyYT4KQEAgLTQ0Miw3ICs0NDYsNyBAQCBQQVJUSVRJT05XSVNFKDxy ZXBsYWNlYWJsZT5wYXJ0aXRpb253aXNlX2l0ZW08L3JlcGxhY2VhYmxlPiBbIC4uLiBdKQogCiA8 cGhyYXNlPndoZXJlIDxyZXBsYWNlYWJsZT5wYXJ0aXRpb253aXNlX2l0ZW08L3JlcGxhY2VhYmxl PiBpczo8L3BocmFzZT4KIAotPHJlcGxhY2VhYmxlPmFkdmljZV90YXJnZXQ8L3JlcGxhY2VhYmxl PiB8Cit7IDxyZXBsYWNlYWJsZT5hZHZpY2VfdGFyZ2V0PC9yZXBsYWNlYWJsZT4gfAogKCA8cmVw bGFjZWFibGU+YWR2aWNlX3RhcmdldDwvcmVwbGFjZWFibGU+IFsgLi4uIF0gKSB9PC9zeW5vcHNp cz4KIAogICAgPHBhcmE+CkBAIC00NjUsNyArNDY5LDcgQEAgU0VNSUpPSU5fTk9OX1VOSVFVRSg8 cmVwbGFjZWFibGU+c2pfdW5pcXVlX2l0ZW08L3JlcGxhY2VhYmxlPiBbIC4uLiBdKQogCiA8cGhy YXNlPndoZXJlIDxyZXBsYWNlYWJsZT5zal91bmlxdWVfaXRlbTwvcmVwbGFjZWFibGU+IGlzOjwv cGhyYXNlPgogCi08cmVwbGFjZWFibGU+YWR2aWNlX3RhcmdldDwvcmVwbGFjZWFibGU+IHwKK3sg PHJlcGxhY2VhYmxlPmFkdmljZV90YXJnZXQ8L3JlcGxhY2VhYmxlPiB8CiAoIDxyZXBsYWNlYWJs ZT5hZHZpY2VfdGFyZ2V0PC9yZXBsYWNlYWJsZT4gWyAuLi4gXSApIH08L3N5bm9wc2lzPgogCiAg ICA8cGFyYT4KQEAgLTQ4OCw3ICs0OTIsNyBAQCBOT19HQVRIRVIoPHJlcGxhY2VhYmxlPmFkdmlj ZV90YXJnZXQ8L3JlcGxhY2VhYmxlPiBbIC4uLiBdKQogCiA8cGhyYXNlPndoZXJlIDxyZXBsYWNl YWJsZT5nYXRoZXJfaXRlbTwvcmVwbGFjZWFibGU+IGlzOjwvcGhyYXNlPgogCi08cmVwbGFjZWFi bGU+YWR2aWNlX3RhcmdldDwvcmVwbGFjZWFibGU+IHwKK3sgPHJlcGxhY2VhYmxlPmFkdmljZV90 YXJnZXQ8L3JlcGxhY2VhYmxlPiB8CiAoIDxyZXBsYWNlYWJsZT5hZHZpY2VfdGFyZ2V0PC9yZXBs YWNlYWJsZT4gWyAuLi4gXSApIH08L3N5bm9wc2lzPgogCiAgICA8cGFyYT4KQEAgLTU1OSw3ICs1 NjMsNyBAQCByaGFhcz0jIEVYUExBSU4gKENPU1RTIE9GRikKICAgIDxsaXRlcmFsPkhBU0hfSk9J TihmIGcpPC9saXRlcmFsPiBpcyBhY3R1YWxseSBhIHJlcXVlc3QgZm9yIHR3byBsb2dpY2FsbHkK ICAgIHNlcGFyYXRlIGJlaGF2aW9ycywgd2hlcmVhcyA8bGl0ZXJhbD5KT0lOX09SREVSKGYgZyk8 L2xpdGVyYWw+IGlzIGEgc2luZ2xlCiAgICByZXF1ZXN0LiBXaGVuIHByb3ZpZGluZyBhZHZpY2Ug ZmVlZGJhY2ssIDxsaXRlcmFsPkVYUExBSU48L2xpdGVyYWw+IHNob3dzCi0gICBlYWNoIGxvZ2lj YWwgcmVxdWVzdCBzZXBhcnRlbHksIHRvZ2V0aGVyIHdpdGggYWxsIHRoZSBmZWVkYmFjayBhcHBs aWNhYmxlCisgICBlYWNoIGxvZ2ljYWwgcmVxdWVzdCBzZXBhcmF0ZWx5LCB0b2dldGhlciB3aXRo IGFsbCB0aGUgZmVlZGJhY2sgYXBwbGljYWJsZQogICAgdG8gdGhhdCByZXF1ZXN0IHR5cGUuCiAg IDwvcGFyYT4KIApAQCAtNTc5LDcgKzU4Myw3IEBAIHJoYWFzPSMgRVhQTEFJTiAoQ09TVFMgT0ZG KQogICAgPGxpc3RpdGVtPgogICAgIDxwYXJhPgogICAgICA8bGl0ZXJhbD5wYXJ0aWFsbHkgbWF0 Y2hlZDwvbGl0ZXJhbD4gbWVhbnMgdGhhdCBzb21lIGJ1dCBub3QgYWxsIG9mIHRoZQotICAgICBz cGVjaWZpZWQgYWR2aWNlIHRhcmdldGVzIHdlcmUgb2JzZXJ2ZWQgZHVyaW5nIHF1ZXJ5IHBsYW5u aW5nLgorICAgICBzcGVjaWZpZWQgYWR2aWNlIHRhcmdldHMgd2VyZSBvYnNlcnZlZCBkdXJpbmcg cXVlcnkgcGxhbm5pbmcuCiAgICAgPC9wYXJhPgogICAgPC9saXN0aXRlbT4KIApAQCAtNTg3LDcg KzU5MSw3IEBAIHJoYWFzPSMgRVhQTEFJTiAoQ09TVFMgT0ZGKQogICAgIDxwYXJhPgogICAgICA8 bGl0ZXJhbD5ub3QgbWF0Y2hlZDwvbGl0ZXJhbD4gbWVhbnMgdGhhdCBub25lIG9mIHRoZQogICAg ICBzcGVjaWZpZWQgYWR2aWNlIHRhcmdldHMgd2VyZSBvYnNlcnZlZCBkdXJpbmcgcXVlcnkgcGxh bm5pbmcuIFRoaXMgbWF5Ci0gICAgIGJlIGhhcHBlbiBpZiB0aGUgYWR2aWNlIHNpbXBseSBkb2Vz bid0IG1hdGNoIHRoZSBxdWVyeSwgb3IgaXQgbWF5CisgICAgIGhhcHBlbiBpZiB0aGUgYWR2aWNl IHNpbXBseSBkb2Vzbid0IG1hdGNoIHRoZSBxdWVyeSwgb3IgaXQgbWF5CiAgICAgIG9jY3VyIGlm IHRoZSByZWxldmFudCBwb3J0aW9uIG9mIHRoZSBxdWVyeSB3YXMgbm90IHBsYW5uZWQsIHBlcmhh cHMKICAgICAgYmVjYXVzZSBpdCB3YXMgZ2F0ZWQgYnkgYSBjb25kaXRpb24gdGhhdCB3YXMgc2lt cGxpZmllZCB0byBjb25zdGFudCBmYWxzZS4KICAgICA8L3BhcmE+CkBAIC02MjYsNyArNjMwLDcg QEAgcmhhYXM9IyBFWFBMQUlOIChDT1NUUyBPRkYpCiAgICAgIHBsYW4gdGhhdCBjYW4gY29tcGx5 IHdpdGggdGhlIGFkdmljZS4gSXQgaXMgaW1wb3J0YW50IHRvIG5vdGUgdGhhdCB0aGUKICAgICAg c2FuaXR5IGNoZWNrcyBwZXJmb3JtZWQgYnkgPGxpdGVyYWw+cGdfcGxhbl9hZHZpY2U8L2xpdGVy YWw+IGFyZSBmYWlybHkKICAgICAgc3VwZXJmaWNpYWwgYW5kIGZvY3VzZWQgbW9zdGx5IG9uIGxv b2tpbmcgZm9yIGxvZ2ljYWwgaW5jb25zaXN0ZW5jaWVzIGluCi0gICAgIHRoZSBhZHZpY2Ugc3Ry aW5nOyBvbmx5IHRoZSBwbGFubmVyIGtub3dzIHdoYXQgd2lsbCBhY3R1YWxseSB3b3JrLgorICAg ICB0aGUgYWR2aWNlIHN0cmluZzsgb25seSB0aGUgcGxhbm5lciBrbm93cyB3aGF0IGFjdHVhbGx5 IHdvcmtzLgogICAgIDwvcGFyYT4KICAgIDwvbGlzdGl0ZW0+CiAKQEAgLTY1MSwxOCArNjU1LDE1 IEBAIHJoYWFzPSMgRVhQTEFJTiAoQ09TVFMgT0ZGKQogICA8cGFyYT4KICAgIFRvIGVuYWJsZSBh IGNvbGxlY3RvciwgeW91IG11c3QgZmlyc3Qgc2V0IGEgY29sbGVjdGlvbiBsaW1pdC4gV2hlbiB0 aGUKICAgIG51bWJlciBvZiBxdWVyaWVzIGZvciB3aGljaCBhZHZpY2UgaGFzIGJlZW4gc3RvcmVk IGV4Y2VlZHMgdGhlIGNvbGxlY3Rpb24KLSAgIGxpbWl0LCB0aGUgb2xkZXN0IHF1ZXJpZXMgYW5k IHRoZSBjb3JyZXNwb25kaW5nIGFkdmljZSB3aWxsIGJlIGRpc2NhcmRlZC4KLSAgIFRoZW4sIHlv dSBtdXN0IGFkanVzdCBhIHNlcGFyYXRlIHNldHRpbmcgdG8gYWN0dWFsbHkgZW5hYmxlIGFkdmlj ZQorICAgbGltaXQsIHRoZSBvbGRlc3QgcXVlcmllcyBhbmQgY29ycmVzcG9uZGluZyBhZHZpY2Ug d2lsbCBiZSBkaXNjYXJkZWQuCisgICBUaGVuLCB5b3UgbXVzdCBzZXBhcmF0ZWx5IGVuYWJsZSBh ZHZpY2UKICAgIGNvbGxlY3Rpb24uIEZvciB0aGUgbG9jYWwgY29sbGVjdG9yLCBzZXQgdGhlIGNv bGxlY3Rpb24gbGltaXQgYnkgY29uZmlndXJpbmcKICAgIDxsaXRlcmFsPnBnX3BsYW5fYWR2aWNl LmxvY2FsX2NvbGxlY3Rpb25fbGltaXQ8L2xpdGVyYWw+IHRvIGEgdmFsdWUKICAgIGdyZWF0ZXIg dGhhbiB6ZXJvLCBhbmQgdGhlbiBlbmFibGUgYWR2aWNlIGNvbGxlY3Rpb24gYnkgc2V0dGluZwog ICAgPGxpdGVyYWw+cGdfcGxhbl9hZHZpY2UubG9jYWxfY29sbGVjdG9yID0gdHJ1ZTwvbGl0ZXJh bD4uIEZvciB0aGUgc2hhcmVkCiAgICBjb2xsZWN0b3IsIHRoZSBwcm9jZWR1cmUgaXMgdGhlIHNh bWUsIGV4Y2VwdCB0aGF0IHRoZSBuYW1lcyBvZiB0aGUgc2V0dGluZ3MKICAgIGFyZSA8bGl0ZXJh bD5wZ19wbGFuX2FkdmljZS5zaGFyZWRfY29sbGVjdGlvbl9saW1pdDwvbGl0ZXJhbD4gYW5kCi0g ICA8bGl0ZXJhbD5wZ19wbGFuX2FkdmljZS5zaGFyZWRfY29sbGVjdG9yPC9saXRlcmFsPi4gTm90 ZSB0aGF0IHRoZSBsb2NhbAotICAgY29sbGVjdG9yIHN0b3JlcyBxdWVyeSB0ZXh0cyBhbmQgYWR2 aWNlIHN0cmluZ3MgaW4gYmFja2VuZC1sb2NhbCBtZW1vcnksCi0gICBhbmQgdGhlIHNoYXJlZCBj b2xsZWN0b3IgZG9lcyB0aGUgc2FtZSBpbiBkeW5hbWljIHNoYXJlZCBtZW1vcnksIHNvCi0gICBj b25maWd1cmluZyBsYXJnZSBsaW1pdHMgbWF5IHJlc3VsdCBpbiBjb25zaWRlcmFibGUgbWVtb3J5 IGNvbnN1bXB0aW9uLgorICAgPGxpdGVyYWw+cGdfcGxhbl9hZHZpY2Uuc2hhcmVkX2NvbGxlY3Rv cjwvbGl0ZXJhbD4uCiAgIDwvcGFyYT4KIAogICA8cGFyYT4KQEAgLTY3Miw3ICs2NzMsNyBAQCBy aGFhcz0jIEVYUExBSU4gKENPU1RTIE9GRikKICAgIDxsaXRlcmFsPlNFTEVDVCAqIEZST00gcGdf Z2V0X2NvbGxlY3RlZF9sb2NhbF9hZHZpY2UoKTwvbGl0ZXJhbD4gb3IKICAgIDxsaXRlcmFsPlNF TEVDVCAqIEZST00gcGdfZ2V0X2NvbGxlY3RlZF9zaGFyZWRfYWR2aWNlKCk8L2xpdGVyYWw+CiAg ICBjb3JyZXNwb25kcyB0byB0aGUgY29sbGVjdG9yIHlvdSBlbmFibGVkLiBUbyBkaXNjYXJkIHRo ZSBjb2xsZWN0ZWQgYWR2aWNlCi0gICBhbmQgcmVsZWFzZSBtZW1vcnksIHlvdSBjYW4gY2FsbAor ICAgYW5kIHJlbGVhc2UgbWVtb3J5LCB5b3UgY2FsbAogICAgPGxpdGVyYWw+cGdfY2xlYXJfY29s bGVjdGVkX2xvY2FsX2FkdmljZSgpPC9saXRlcmFsPgogICAgb3IgPGxpdGVyYWw+cGdfY2xlYXJf Y29sbGVjdGVkX3NoYXJlZF9hZHZpY2UoKTwvbGl0ZXJhbD4uCiAgIDwvcGFyYT4KQEAgLTY4NCw4 ICs2ODUsOCBAQCByaGFhcz0jIEVYUExBSU4gKENPU1RTIE9GRikKICAgIGFuZCB0aGUgdGltZSBh dCB3aGljaCB0aGUgY29sbGVjdGlvbiBvY2N1cnJlZC4gVGhpcyBtb2R1bGUgZG9lcyBub3QKICAg IGF1dG9tYXRpY2FsbHkgZW5hYmxlIHF1ZXJ5IElEIGNvbXB1dGF0aW9uOyB0aGVyZWZvcmUsIGlm IHlvdSB3YW50IHRoZQogICAgcXVlcnkgSUQgdmFsdWUgdG8gYmUgcG9wdWxhdGVkIGluIGNvbGxl Y3RlZCBhZHZpY2UsIGJlIHN1cmUgdG8gY29uZmlndXJlCi0gICA8bGl0ZXJhbD5lbmFibGVfcXVl cnlfaWQgPSBvbjwvbGl0ZXJhbD4uIE90aGVyd2lzZSwgdGhlIHF1ZXJ5IElEIG1heQotICAgYWx3 YXlzIHNob3cgYXMgPGxpdGVyYWw+MDwvbGl0ZXJhbD4uCisgICA8bGl0ZXJhbD5lbmFibGVfcXVl cnlfaWQgPSBvbjwvbGl0ZXJhbD4uIE90aGVyd2lzZSwgdGhlIHF1ZXJ5IElEIHdpbGwKKyAgIHNo b3cgYXMgPGxpdGVyYWw+MDwvbGl0ZXJhbD4uCiAgIDwvcGFyYT4KIAogIDwvc2VjdDI+CkBAIC04 MjksOSArODMwLDkgQEAgcmhhYXM9IyBFWFBMQUlOIChDT1NUUyBPRkYpCiAgICAgICA8dmFybmFt ZT5wZ19wbGFuX2FkdmljZS5hbHdheXNfc3RvcmVfYWR2aWNlX2RldGFpbHM8L3Zhcm5hbWU+IGFs bG93cwogICAgICAgPGxpdGVyYWw+RVhQTEFJTjwvbGl0ZXJhbD4gdG8gc2hvdyBkZXRhaWxzIHJl bGF0ZWQgdG8gcGxhbiBhZHZpY2UgZXZlbgogICAgICAgd2hlbiBwcmVwYXJlZCBxdWVyaWVzIGFy ZSB1c2VkLiAgVGhlIGRlZmF1bHQgdmFsdWUgaXMKLSAgICAgIDxsaXRlcmFsPmZhbHNlPC9saXRl cmFsPi4gIFdoZW4gcGxhbm5pbmcgYSBwcmVwYXJlZCBxdWVyeSwgd2UgZG8gbm90CisgICAgICA8 bGl0ZXJhbD5mYWxzZTwvbGl0ZXJhbD4uICBXaGVuIHBsYW5uaW5nIGEgcHJlcGFyZWQgcXVlcnks IDxsaXRlcmFsPnBnX3BsYW5fYWR2aWNlPC9saXRlcmFsPiBkb2VzIG5vdAogICAgICAga25vdyB3 aGV0aGVyIDxsaXRlcmFsPkVYUExBSU48L2xpdGVyYWw+IHdpbGwgYmUgdXNlZCwgc28gYnkgZGVm YXVsdCwgdG8KLSAgICAgIHJlZHVjZSBvdmVyaGVhZCwgd2UgZG8gbm90IGdlbmVyYXRlIHBsYW4g YWR2aWNlLCBhbmQgd2UgZG8gbm90IGdlbmVyYXRlCisgICAgICByZWR1Y2Ugb3ZlcmhlYWQsIGl0 IGRvZXMgbm90IGdlbmVyYXRlIHBsYW4gYWR2aWNlLCBhbmQgZG9lcyBub3QgZ2VuZXJhdGUKICAg ICAgIGZlZWRiYWNrIG9uIHN1cHBsaWVkIGFkdmljZS4gVGhpcyBtZWFucyB0aGF0IGlmCiAgICAg ICA8bGl0ZXJhbD5FWFBMQUlOIEVYRUNVVEU8L2xpdGVyYWw+IGlzIGxhdGVyIHVzZWQgb24gdGhl IHByZXBhcmVkIHF1ZXJ5LAogICAgICAgaXQgd2lsbCBub3QgYmUgYWJsZSB0byBzaG93IHRoaXMg aW5mb3JtYXRpb24uIENoYW5naW5nIHRoaXMgc2V0dGluZyB0bwotLSAKMi40My4wCgo= --0000000000002b06f306497fb753--