Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tYH1U-007VDe-8z for pgsql-hackers@arkaria.postgresql.org; Thu, 16 Jan 2025 03:58:25 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1tYH1R-004gfe-7X for pgsql-hackers@arkaria.postgresql.org; Thu, 16 Jan 2025 03:58:21 +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.94.2) (envelope-from ) id 1tYH1Q-004gfW-MZ for pgsql-hackers@lists.postgresql.org; Thu, 16 Jan 2025 03:58:21 +0000 Received: from mail-lj1-x235.google.com ([2a00:1450:4864:20::235]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1tYH1P-000dwB-2q for pgsql-hackers@lists.postgresql.org; Thu, 16 Jan 2025 03:58:20 +0000 Received: by mail-lj1-x235.google.com with SMTP id 38308e7fff4ca-304d9a1f198so4449361fa.0 for ; Wed, 15 Jan 2025 19:58:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1736999896; x=1737604696; darn=lists.postgresql.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=YbBwwWbrEIJe6QOEppVRZ5oPUF4Xzq7uRZx/pwruOfI=; b=B8qahXXFh3gd+g2bj8tONU37oP2BXsqTOaOyVkH6n3mhhy3eVDPFJZjDFatpzi0+z0 kRrBk7QTlUeA/3WXGW7OBdzPlAFPZXDBK9NiXrhwaMm6ooukJdmV1eXlG2Vt3+i6orYK I3Iq06Qd9Rd/tHG/HXUIdYqrYqKElYRwzE0OxYvZhPfbUZB7Ux+6P9XKftq90cpzK9hj FXZcn6JF/4clBY7A/oipH5Onkttn2CNN598UEKuFH57eKSYRSsLXrXE5Jb1l7ptgbDB4 nWpjTHN0iXMR2VDqFQhe+J0x/EZJp+fR2YkejYq3e16VE67gKjOLSTa9m4yDij8lmI8D hVvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736999896; x=1737604696; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=YbBwwWbrEIJe6QOEppVRZ5oPUF4Xzq7uRZx/pwruOfI=; b=mVS0a9UDGwQAafXTVHOWQzD9IZT4HdkYH1DZlZJiMBj7Yv937/SnYrOs/XHhP4iv6J HtM5iIWLh7X4dOVHYFbD9odpiCA9IZHYCw88Cj89c3HSpmLQEZbXTEDeTbvDo55U8t02 XMUurorT70kETb7TQcmZYHewTVt1AjFD+IGZfWSex2zVa3pKTGiYyTpJadUYXOXm1Wgg SS/ejTaVdkX6Iq0eOIXt9jGTFL3OwYvNiZhc+7Ip9AfpSuv0ZLnk+BhA+Z1MBaueSBlp M0gXsrirTOwcfdpedugj+80aqbBWQonS34kqDjQHkjWhmqrTbmGkWvriUtZW0HltjKGn VEWQ== X-Gm-Message-State: AOJu0Yw80r17rP5xcF+wGI9rTXFGHImCMHblhmCT1YgidUiIz0V9kLyS 24svYYmeCQB0/XHkLKUBV+yiejmJcugsKNYkdqxo5lElUcHgESk+as3PbmI4Wb7KynkanQ1/Wpa KrmyurIIlsm9NWXA5DFqoMIz9nUV6k8Eo X-Gm-Gg: ASbGnctDVHklDum17CUbAwblRQY7RvorX6yKwCwBb6WCzF879BI5v2BPg01TGgNTmtz Leha8Loj4VI2GSJBxiB0AaJpsrI5MTcqxkL2zXg== X-Google-Smtp-Source: AGHT+IH5omf2QD1YU70RL7qyyV9jQefFC2bvU5G+wSOpE54PxpsYgmSJpUSb12ayq0/wUO6790MoNnOY9NESS7iqa7c= X-Received: by 2002:a05:651c:1508:b0:302:40ec:a1b9 with SMTP id 38308e7fff4ca-305f455f0e3mr98227251fa.5.1736999896337; Wed, 15 Jan 2025 19:58:16 -0800 (PST) MIME-Version: 1.0 From: Peter Smith Date: Thu, 16 Jan 2025 14:57:49 +1100 X-Gm-Features: AbW1kvY-JsMfFP62UOOzkTv3YNaEewmJbF2AxHZcyvsGKyLx01gCRqA6Wsw58mE Message-ID: Subject: TOAST versus toast To: PostgreSQL Hackers Content-Type: multipart/mixed; boundary="000000000000cbee27062bcacdfc" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000cbee27062bcacdfc Content-Type: text/plain; charset="UTF-8" Hi, During some recent reviews, I came across some comments mentioning "toast" ... TOAST is a PostgreSQL acronym for "The Oversized-Attribute Storage Technique" [1]. But, toast is just toast [2]. ~ AFAIK it is usual practice to uppercase acronyms to distinguish them from ordinary words, but PostgreSQL currently has a scattered mixture of "TOAST" versus "toast". Usage seems about 50:50. Now that I have seen the problem I can't unsee it, and it is everywhere, so here is a patch to address all the lowercase toast in the documentation. Note, for the unusual cases I have used the same wording as per the original TOAST page [1], so: - "toasted" becomes "TOASTed". - "toastable" becomes "TOAST-able" - "untoasted" becomes "un-TOASTed" - "detoasted" is unchanged (and so is "detoast") ~~~ There are many more "toast" examples found in the source code comments, but I'll first wait to see if this patch is accepted before looking to address those. ====== [1] TOAST -- https://www.postgresql.org/docs/current/storage-toast.html [2] toast -- https://en.wikipedia.org/wiki/Toast_(food) Kind Regards, Peter Smith. Fujitsu Australia --000000000000cbee27062bcacdfc Content-Type: application/octet-stream; name="v1-0001-TOAST-not-toast.patch" Content-Disposition: attachment; filename="v1-0001-TOAST-not-toast.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_m5ysss6z0 RnJvbSAzNjZmYWU4MGJjZWY0YmE2OTcyNWE2ZGRjZDIwMDRjNTY1YmY4ODRlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBTbWl0aCA8cGV0ZXIuYi5zbWl0aEBmdWppdHN1LmNv bT4KRGF0ZTogVGh1LCAxNiBKYW4gMjAyNSAxNDo0NDozMCArMTEwMApTdWJqZWN0OiBbUEFUQ0gg djFdIFRPQVNUIG5vdCB0b2FzdC4KCi0tLQogZG9jL3NyYy9zZ21sL2FtY2hlY2suc2dtbCAgICAg ICAgICAgICB8IDEwICsrKysrLS0tLS0KIGRvYy9zcmMvc2dtbC9ia2kuc2dtbCAgICAgICAgICAg ICAgICAgfCAgMiArLQogZG9jL3NyYy9zZ21sL2NhdGFsb2dzLnNnbWwgICAgICAgICAgICB8ICA2 ICsrKy0tLQogZG9jL3NyYy9zZ21sL2xvZ2ljYWwtcmVwbGljYXRpb24uc2dtbCB8ICAyICstCiBk b2Mvc3JjL3NnbWwvbG9naWNhbGRlY29kaW5nLnNnbWwgICAgIHwgIDIgKy0KIGRvYy9zcmMvc2dt bC9yZWYvYWx0ZXJfdGFibGUuc2dtbCAgICAgfCAgMiArLQogZG9jL3NyYy9zZ21sL3JlZi9jcmVh dGVfdGFibGUuc2dtbCAgICB8ICAyICstCiBkb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV90eXBlLnNn bWwgICAgIHwgIDQgKystLQogZG9jL3NyYy9zZ21sL3JlZi9wZ19hbWNoZWNrLnNnbWwgICAgICB8 IDEyICsrKysrKy0tLS0tLQogZG9jL3NyYy9zZ21sL3NlcGdzcWwuc2dtbCAgICAgICAgICAgICB8 ICAyICstCiBkb2Mvc3JjL3NnbWwveGZ1bmMuc2dtbCAgICAgICAgICAgICAgIHwgIDIgKy0KIGRv Yy9zcmMvc2dtbC94dHlwZXMuc2dtbCAgICAgICAgICAgICAgfCAgMiArLQogMTIgZmlsZXMgY2hh bmdlZCwgMjQgaW5zZXJ0aW9ucygrKSwgMjQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9j L3NyYy9zZ21sL2FtY2hlY2suc2dtbCBiL2RvYy9zcmMvc2dtbC9hbWNoZWNrLnNnbWwKaW5kZXgg M2FmMDY1Ni4uNDk3NGU5YyAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL2FtY2hlY2suc2dtbAor KysgYi9kb2Mvc3JjL3NnbWwvYW1jaGVjay5zZ21sCkBAIC0yNTQsMTIgKzI1NCwxMiBAQCBTRVQg Y2xpZW50X21pbl9tZXNzYWdlcyA9IERFQlVHMTsKICAgICAgICA8dGVybT48bGl0ZXJhbD5jaGVj a190b2FzdDwvbGl0ZXJhbD48L3Rlcm0+CiAgICAgICAgPGxpc3RpdGVtPgogICAgICAgICA8cGFy YT4KLSAgICAgICAgIElmIHRydWUsIHRvYXN0ZWQgdmFsdWVzIGFyZSBjaGVja2VkIGFnYWluc3Qg dGhlIHRhcmdldCByZWxhdGlvbidzCisgICAgICAgICBJZiB0cnVlLCBUT0FTVGVkIHZhbHVlcyBh cmUgY2hlY2tlZCBhZ2FpbnN0IHRoZSB0YXJnZXQgcmVsYXRpb24ncwogICAgICAgICAgVE9BU1Qg dGFibGUuCiAgICAgICAgIDwvcGFyYT4KICAgICAgICAgPHBhcmE+Ci0gICAgICAgICBUaGlzIG9w dGlvbiBpcyBrbm93biB0byBiZSBzbG93LiAgQWxzbywgaWYgdGhlIHRvYXN0IHRhYmxlIG9yIGl0 cwotICAgICAgICAgaW5kZXggaXMgY29ycnVwdCwgY2hlY2tpbmcgaXQgYWdhaW5zdCB0b2FzdCB2 YWx1ZXMgY291bGQgY29uY2VpdmFibHkKKyAgICAgICAgIFRoaXMgb3B0aW9uIGlzIGtub3duIHRv IGJlIHNsb3cuICBBbHNvLCBpZiB0aGUgVE9BU1QgdGFibGUgb3IgaXRzCisgICAgICAgICBpbmRl eCBpcyBjb3JydXB0LCBjaGVja2luZyBpdCBhZ2FpbnN0IFRPQVNUIHZhbHVlcyBjb3VsZCBjb25j ZWl2YWJseQogICAgICAgICAgY3Jhc2ggdGhlIHNlcnZlciwgYWx0aG91Z2ggaW4gbWFueSBjYXNl cyB0aGlzIHdvdWxkIGp1c3QgcHJvZHVjZSBhbgogICAgICAgICAgZXJyb3IuCiAgICAgICAgIDwv cGFyYT4KQEAgLTUxNCw4ICs1MTQsOCBAQCBTRVQgY2xpZW50X21pbl9tZXNzYWdlcyA9IERFQlVH MTsKICAgUmVsYXRpb24gcGFnZXMgd2hpY2ggYXJlIGNvcnJlY3RseSBmb3JtYXR0ZWQsIGludGVy bmFsbHkgY29uc2lzdGVudCwgYW5kCiAgIGNvcnJlY3QgcmVsYXRpdmUgdG8gdGhlaXIgb3duIGlu dGVybmFsIGNoZWNrc3VtcyBtYXkgc3RpbGwgY29udGFpbgogICBsb2dpY2FsIGNvcnJ1cHRpb24u ICBBcyBzdWNoLCB0aGlzIGtpbmQgb2YgY29ycnVwdGlvbiBjYW5ub3QgYmUgZGV0ZWN0ZWQKLSAg d2l0aCA8YXBwbGljYXRpb24+Y2hlY2tzdW1zPC9hcHBsaWNhdGlvbj4uICBFeGFtcGxlcyBpbmNs dWRlIHRvYXN0ZWQKLSAgdmFsdWVzIGluIHRoZSBtYWluIHRhYmxlIHdoaWNoIGxhY2sgYSBjb3Jy ZXNwb25kaW5nIGVudHJ5IGluIHRoZSB0b2FzdAorICB3aXRoIDxhcHBsaWNhdGlvbj5jaGVja3N1 bXM8L2FwcGxpY2F0aW9uPi4gIEV4YW1wbGVzIGluY2x1ZGUgVE9BU1RlZAorICB2YWx1ZXMgaW4g dGhlIG1haW4gdGFibGUgd2hpY2ggbGFjayBhIGNvcnJlc3BvbmRpbmcgZW50cnkgaW4gdGhlIFRP QVNUCiAgIHRhYmxlLCBhbmQgdHVwbGVzIGluIHRoZSBtYWluIHRhYmxlIHdpdGggYSBUcmFuc2Fj dGlvbiBJRCB0aGF0IGlzIG9sZGVyCiAgIHRoYW4gdGhlIG9sZGVzdCB2YWxpZCBUcmFuc2FjdGlv biBJRCBpbiB0aGUgZGF0YWJhc2Ugb3IgY2x1c3Rlci4KICA8L3BhcmE+CmRpZmYgLS1naXQgYS9k b2Mvc3JjL3NnbWwvYmtpLnNnbWwgYi9kb2Mvc3JjL3NnbWwvYmtpLnNnbWwKaW5kZXggM2NkNWJl ZS4uNTNhOTgyYiAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL2JraS5zZ21sCisrKyBiL2RvYy9z cmMvc2dtbC9ia2kuc2dtbApAQCAtMTA0Miw3ICsxMDQyLDcgQEAgJCBwZXJsICByZXdyaXRlX2Rh dF93aXRoX3Byb2tpbmQucGwgIHBnX3Byb2MuZGF0CiAgICAgPC9saXN0aXRlbT4KICAgICA8bGlz dGl0ZW0+CiAgICAgIDxwYXJhPgotICAgICAgRGVmaW5lIGluZGV4ZXMgYW5kIHRvYXN0IHRhYmxl cy4KKyAgICAgIERlZmluZSBpbmRleGVzIGFuZCBUT0FTVCB0YWJsZXMuCiAgICAgIDwvcGFyYT4K ICAgICA8L2xpc3RpdGVtPgogICAgIDxsaXN0aXRlbT4KZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dt bC9jYXRhbG9ncy5zZ21sIGIvZG9jL3NyYy9zZ21sL2NhdGFsb2dzLnNnbWwKaW5kZXggMjM4ZWQ2 Ny4uNjNlOGFhMiAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL2NhdGFsb2dzLnNnbWwKKysrIGIv ZG9jL3NyYy9zZ21sL2NhdGFsb2dzLnNnbWwKQEAgLTE5NTQsNyArMTk1NCw3IEBAIFNDUkFNLVNI QS0yNTYkPHJlcGxhY2VhYmxlPiZsdDtpdGVyYXRpb24gY291bnQmZ3Q7PC9yZXBsYWNlYWJsZT46 PHJlcGxhY2VhYmxlPiZsCiAgICAgICA8L3BhcmE+CiAgICAgICA8cGFyYT4KICAgICAgICBUaGUg T0lEIG9mIHRoZSBkYXRhIHR5cGUgdGhhdCBjb3JyZXNwb25kcyB0byB0aGlzIHRhYmxlJ3Mgcm93 IHR5cGUsCi0gICAgICAgaWYgYW55OyB6ZXJvIGZvciBpbmRleGVzLCBzZXF1ZW5jZXMsIGFuZCB0 b2FzdCB0YWJsZXMsIHdoaWNoIGhhdmUKKyAgICAgICBpZiBhbnk7IHplcm8gZm9yIGluZGV4ZXMs IHNlcXVlbmNlcywgYW5kIFRPQVNUIHRhYmxlcywgd2hpY2ggaGF2ZQogICAgICAgIG5vIDxzdHJ1 Y3RuYW1lPnBnX3R5cGU8L3N0cnVjdG5hbWU+IGVudHJ5CiAgICAgICA8L3BhcmE+PC9lbnRyeT4K ICAgICAgPC9yb3c+CkBAIC05NDM0LDcgKzk0MzQsNyBAQCBTQ1JBTS1TSEEtMjU2JDxyZXBsYWNl YWJsZT4mbHQ7aXRlcmF0aW9uIGNvdW50Jmd0OzwvcmVwbGFjZWFibGU+OjxyZXBsYWNlYWJsZT4m bAogICAgICAgPHBhcmE+CiAgICAgICAgPHN0cnVjdGZpZWxkPnR5cHN0b3JhZ2U8L3N0cnVjdGZp ZWxkPiB0ZWxscyBmb3IgdmFybGVuYQogICAgICAgIHR5cGVzICh0aG9zZSB3aXRoIDxzdHJ1Y3Rm aWVsZD50eXBsZW48L3N0cnVjdGZpZWxkPiA9IC0xKSBpZgotICAgICAgIHRoZSB0eXBlIGlzIHBy ZXBhcmVkIGZvciB0b2FzdGluZyBhbmQgd2hhdCB0aGUgZGVmYXVsdCBzdHJhdGVneQorICAgICAg IHRoZSB0eXBlIGlzIHByZXBhcmVkIGZvciBUT0FTVGluZyBhbmQgd2hhdCB0aGUgZGVmYXVsdCBz dHJhdGVneQogICAgICAgIGZvciBhdHRyaWJ1dGVzIG9mIHRoaXMgdHlwZSBzaG91bGQgYmUuCiAg ICAgICAgUG9zc2libGUgdmFsdWVzIGFyZToKICAgICAgICA8aXRlbWl6ZWRsaXN0PgpAQCAtOTQ2 NCw3ICs5NDY0LDcgQEAgU0NSQU0tU0hBLTI1NiQ8cmVwbGFjZWFibGU+Jmx0O2l0ZXJhdGlvbiBj b3VudCZndDs8L3JlcGxhY2VhYmxlPjo8cmVwbGFjZWFibGU+JmwKICAgICAgICAgIDwvcGFyYT4K ICAgICAgICAgPC9saXN0aXRlbT4KICAgICAgICA8L2l0ZW1pemVkbGlzdD4KLSAgICAgICA8bGl0 ZXJhbD54PC9saXRlcmFsPiBpcyB0aGUgdXN1YWwgY2hvaWNlIGZvciB0b2FzdC1hYmxlIHR5cGVz LgorICAgICAgIDxsaXRlcmFsPng8L2xpdGVyYWw+IGlzIHRoZSB1c3VhbCBjaG9pY2UgZm9yIFRP QVNULWFibGUgdHlwZXMuCiAgICAgICAgTm90ZSB0aGF0IDxsaXRlcmFsPm08L2xpdGVyYWw+IHZh bHVlcyBjYW4gYWxzbyBiZSBtb3ZlZCBvdXQgdG8KICAgICAgICBzZWNvbmRhcnkgc3RvcmFnZSwg YnV0IG9ubHkgYXMgYSBsYXN0IHJlc29ydCAoPGxpdGVyYWw+ZTwvbGl0ZXJhbD4KICAgICAgICBh bmQgPGxpdGVyYWw+eDwvbGl0ZXJhbD4gdmFsdWVzIGFyZSBtb3ZlZCBmaXJzdCkuCmRpZmYgLS1n aXQgYS9kb2Mvc3JjL3NnbWwvbG9naWNhbC1yZXBsaWNhdGlvbi5zZ21sIGIvZG9jL3NyYy9zZ21s L2xvZ2ljYWwtcmVwbGljYXRpb24uc2dtbAppbmRleCA4MjkwY2QxLi4xODExNjE3IDEwMDY0NAot LS0gYS9kb2Mvc3JjL3NnbWwvbG9naWNhbC1yZXBsaWNhdGlvbi5zZ21sCisrKyBiL2RvYy9zcmMv c2dtbC9sb2dpY2FsLXJlcGxpY2F0aW9uLnNnbWwKQEAgLTE3MzgsNyArMTczOCw3IEBAIERFVEFJ TDogIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5kZXRhaWxlZF9leHBsYW5hdGlvbjwv cmVwbGFjZWFibGU+LgogICAgICAgICAgVGhlIDxsaXRlcmFsPnJlbW90ZSB0dXBsZTwvbGl0ZXJh bD4gc2VjdGlvbiBpbmNsdWRlcyB0aGUgbmV3IHR1cGxlIGZyb20KICAgICAgICAgIHRoZSByZW1v dGUgaW5zZXJ0IG9yIHVwZGF0ZSBvcGVyYXRpb24gdGhhdCBjYXVzZWQgdGhlIGNvbmZsaWN0LiBO b3RlIHRoYXQKICAgICAgICAgIGZvciBhbiB1cGRhdGUgb3BlcmF0aW9uLCB0aGUgY29sdW1uIHZh bHVlIG9mIHRoZSBuZXcgdHVwbGUgd2lsbCBiZSBudWxsCi0gICAgICAgICBpZiB0aGUgdmFsdWUg aXMgdW5jaGFuZ2VkIGFuZCB0b2FzdGVkLgorICAgICAgICAgaWYgdGhlIHZhbHVlIGlzIHVuY2hh bmdlZCBhbmQgVE9BU1RlZC4KICAgICAgICAgPC9wYXJhPgogICAgICAgIDwvbGlzdGl0ZW0+CiAg ICAgICAgPGxpc3RpdGVtPgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2xvZ2ljYWxkZWNvZGlu Zy5zZ21sIGIvZG9jL3NyYy9zZ21sL2xvZ2ljYWxkZWNvZGluZy5zZ21sCmluZGV4IDFjNGFlMzgu LmVhNjVhNGEgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9sb2dpY2FsZGVjb2Rpbmcuc2dtbAor KysgYi9kb2Mvc3JjL3NnbWwvbG9naWNhbGRlY29kaW5nLnNnbWwKQEAgLTEzNjgsNyArMTM2OCw3 IEBAIGNvbW1pdF9wcmVwYXJlZF9jYiguLi4pOyAgJmx0Oy0tIGNvbW1pdCBvZiB0aGUgcHJlcGFy ZWQgdHJhbnNhY3Rpb24KICAgICBjdXJyZW50bHkgdXNlZCBmb3IgZGVjb2RlZCBjaGFuZ2VzKSBp cyBzZWxlY3RlZCBhbmQgc3RyZWFtZWQuICBIb3dldmVyLCBpbgogICAgIHNvbWUgY2FzZXMgd2Ug c3RpbGwgaGF2ZSB0byBzcGlsbCB0byBkaXNrIGV2ZW4gaWYgc3RyZWFtaW5nIGlzIGVuYWJsZWQK ICAgICBiZWNhdXNlIHdlIGV4Y2VlZCB0aGUgbWVtb3J5IHRocmVzaG9sZCBidXQgc3RpbGwgaGF2 ZSBub3QgZGVjb2RlZCB0aGUKLSAgICBjb21wbGV0ZSB0dXBsZSBlLmcuLCBvbmx5IGRlY29kZWQg dG9hc3QgdGFibGUgaW5zZXJ0IGJ1dCBub3QgdGhlIG1haW4gdGFibGUKKyAgICBjb21wbGV0ZSB0 dXBsZSBlLmcuLCBvbmx5IGRlY29kZWQgVE9BU1QgdGFibGUgaW5zZXJ0IGJ1dCBub3QgdGhlIG1h aW4gdGFibGUKICAgICBpbnNlcnQuCiAgICA8L3BhcmE+CiAKZGlmZiAtLWdpdCBhL2RvYy9zcmMv c2dtbC9yZWYvYWx0ZXJfdGFibGUuc2dtbCBiL2RvYy9zcmMvc2dtbC9yZWYvYWx0ZXJfdGFibGUu c2dtbAppbmRleCA5Mzg0NTBmLi4wYzQ2MmQyIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVm L2FsdGVyX3RhYmxlLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9hbHRlcl90YWJsZS5zZ21s CkBAIC04MjUsNyArODI1LDcgQEAgV0lUSCAoIE1PRFVMVVMgPHJlcGxhY2VhYmxlIGNsYXNzPSJw YXJhbWV0ZXIiPm51bWVyaWNfbGl0ZXJhbDwvcmVwbGFjZWFibGU+LCBSRU0KIAogICAgICA8cGFy YT4KICAgICAgIDxsaXRlcmFsPlNIQVJFIFVQREFURSBFWENMVVNJVkU8L2xpdGVyYWw+IGxvY2sg d2lsbCBiZSB0YWtlbiBmb3IKLSAgICAgIGZpbGxmYWN0b3IsIHRvYXN0IGFuZCBhdXRvdmFjdXVt IHN0b3JhZ2UgcGFyYW1ldGVycywgYXMgd2VsbCBhcyB0aGUKKyAgICAgIGZpbGxmYWN0b3IsIFRP QVNUIGFuZCBhdXRvdmFjdXVtIHN0b3JhZ2UgcGFyYW1ldGVycywgYXMgd2VsbCBhcyB0aGUKICAg ICAgIHBsYW5uZXIgcGFyYW1ldGVyIDx2YXJuYW1lPnBhcmFsbGVsX3dvcmtlcnM8L3Zhcm5hbWU+ LgogICAgICA8L3BhcmE+CiAgICAgPC9saXN0aXRlbT4KZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dt bC9yZWYvY3JlYXRlX3RhYmxlLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV90YWJsZS5z Z21sCmluZGV4IDIyMzczMjEuLjczZmM4ZTMgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9yZWYv Y3JlYXRlX3RhYmxlLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfdGFibGUuc2dt bApAQCAtMTU5Miw3ICsxNTkyLDcgQEAgV0lUSCAoIE1PRFVMVVMgPHJlcGxhY2VhYmxlIGNsYXNz PSJwYXJhbWV0ZXIiPm51bWVyaWNfbGl0ZXJhbDwvcmVwbGFjZWFibGU+LCBSRU0KICAgICAgPHBh cmE+CiAgICAgICBUaGUgdG9hc3RfdHVwbGVfdGFyZ2V0IHNwZWNpZmllcyB0aGUgbWluaW11bSB0 dXBsZSBsZW5ndGggcmVxdWlyZWQgYmVmb3JlCiAgICAgICB3ZSB0cnkgdG8gY29tcHJlc3MgYW5k L29yIG1vdmUgbG9uZyBjb2x1bW4gdmFsdWVzIGludG8gVE9BU1QgdGFibGVzLCBhbmQKLSAgICAg IGlzIGFsc28gdGhlIHRhcmdldCBsZW5ndGggd2UgdHJ5IHRvIHJlZHVjZSB0aGUgbGVuZ3RoIGJl bG93IG9uY2UgdG9hc3RpbmcKKyAgICAgIGlzIGFsc28gdGhlIHRhcmdldCBsZW5ndGggd2UgdHJ5 IHRvIHJlZHVjZSB0aGUgbGVuZ3RoIGJlbG93IG9uY2UgVE9BU1RpbmcKICAgICAgIGJlZ2lucy4g VGhpcyBhZmZlY3RzIGNvbHVtbnMgbWFya2VkIGFzIEV4dGVybmFsIChmb3IgbW92ZSksCiAgICAg ICBNYWluIChmb3IgY29tcHJlc3Npb24pLCBvciBFeHRlbmRlZCAoZm9yIGJvdGgpIGFuZCBhcHBs aWVzIG9ubHkgdG8gbmV3CiAgICAgICB0dXBsZXMuIFRoZXJlIGlzIG5vIGVmZmVjdCBvbiBleGlz dGluZyByb3dzLgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfdHlwZS5zZ21s IGIvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfdHlwZS5zZ21sCmluZGV4IDk5NGRmYzYuLmE0OTE5 MTQgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX3R5cGUuc2dtbAorKysgYi9k b2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV90eXBlLnNnbWwKQEAgLTQxMSwxMCArNDExLDEwIEBAIENS RUFURSBUWVBFIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5uYW1lPC9yZXBsYWNlYWJs ZT4KICAgPHBhcmE+CiAgICBBbGwgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnN0b3Jh Z2U8L3JlcGxhY2VhYmxlPiB2YWx1ZXMgb3RoZXIKICAgIHRoYW4gPGxpdGVyYWw+cGxhaW48L2xp dGVyYWw+IGltcGx5IHRoYXQgdGhlIGZ1bmN0aW9ucyBvZiB0aGUgZGF0YSB0eXBlCi0gICBjYW4g aGFuZGxlIHZhbHVlcyB0aGF0IGhhdmUgYmVlbiA8Zmlyc3R0ZXJtPnRvYXN0ZWQ8L2ZpcnN0dGVy bT4sIGFzIGRlc2NyaWJlZAorICAgY2FuIGhhbmRsZSB2YWx1ZXMgdGhhdCBoYXZlIGJlZW4gPGZp cnN0dGVybT5UT0FTVGVkPC9maXJzdHRlcm0+LCBhcyBkZXNjcmliZWQKICAgIGluIDx4cmVmIGxp bmtlbmQ9InN0b3JhZ2UtdG9hc3QiLz4gYW5kIDx4cmVmIGxpbmtlbmQ9Inh0eXBlcy10b2FzdCIv Pi4KICAgIFRoZSBzcGVjaWZpYyBvdGhlciB2YWx1ZSBnaXZlbiBtZXJlbHkgZGV0ZXJtaW5lcyB0 aGUgZGVmYXVsdCBUT0FTVAotICAgc3RvcmFnZSBzdHJhdGVneSBmb3IgY29sdW1ucyBvZiBhIHRv YXN0YWJsZSBkYXRhIHR5cGU7IHVzZXJzIGNhbiBwaWNrCisgICBzdG9yYWdlIHN0cmF0ZWd5IGZv ciBjb2x1bW5zIG9mIGEgVE9BU1QtYWJsZSBkYXRhIHR5cGU7IHVzZXJzIGNhbiBwaWNrCiAgICBv dGhlciBzdHJhdGVnaWVzIGZvciBpbmRpdmlkdWFsIGNvbHVtbnMgdXNpbmcgPGxpdGVyYWw+QUxU RVIgVEFCTEUKICAgIFNFVCBTVE9SQUdFPC9saXRlcmFsPi4KICAgPC9wYXJhPgpkaWZmIC0tZ2l0 IGEvZG9jL3NyYy9zZ21sL3JlZi9wZ19hbWNoZWNrLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL3Bn X2FtY2hlY2suc2dtbAppbmRleCA2YmZlMjg3Li5lZjJiZGZkIDEwMDY0NAotLS0gYS9kb2Mvc3Jj L3NnbWwvcmVmL3BnX2FtY2hlY2suc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvcmVmL3BnX2FtY2hl Y2suc2dtbApAQCAtNDEsNyArNDEsNyBAQCBQb3N0Z3JlU1FMIGRvY3VtZW50YXRpb24KICAgPC9w YXJhPgogCiAgIDxwYXJhPgotICAgT25seSBvcmRpbmFyeSBhbmQgdG9hc3QgdGFibGUgcmVsYXRp b25zLCBtYXRlcmlhbGl6ZWQgdmlld3MsIHNlcXVlbmNlcywgYW5kCisgICBPbmx5IG9yZGluYXJ5 IGFuZCBUT0FTVCB0YWJsZSByZWxhdGlvbnMsIG1hdGVyaWFsaXplZCB2aWV3cywgc2VxdWVuY2Vz LCBhbmQKICAgIGJ0cmVlIGluZGV4ZXMgYXJlIGN1cnJlbnRseSBzdXBwb3J0ZWQuICBPdGhlciBy ZWxhdGlvbiB0eXBlcyBhcmUgc2lsZW50bHkKICAgIHNraXBwZWQuCiAgIDwvcGFyYT4KQEAgLTI3 Niw3ICsyNzYsNyBAQCBQb3N0Z3JlU1FMIGRvY3VtZW50YXRpb24KICAgICAgPHRlcm0+PG9wdGlv bj4tLW5vLWRlcGVuZGVudC10b2FzdDwvb3B0aW9uPjwvdGVybT4KICAgICAgPGxpc3RpdGVtPgog ICAgICAgPHBhcmE+Ci0gICAgICAgQnkgZGVmYXVsdCwgaWYgYSB0YWJsZSBpcyBjaGVja2VkLCBp dHMgdG9hc3QgdGFibGUsIGlmIGFueSwgd2lsbCBhbHNvCisgICAgICAgQnkgZGVmYXVsdCwgaWYg YSB0YWJsZSBpcyBjaGVja2VkLCBpdHMgVE9BU1QgdGFibGUsIGlmIGFueSwgd2lsbCBhbHNvCiAg ICAgICAgYmUgY2hlY2tlZCwgZXZlbiBpZiBpdCBpcyBub3QgZXhwbGljaXRseSBzZWxlY3RlZCBi eSBhbiBvcHRpb24KICAgICAgICBzdWNoIGFzIDxsaXRlcmFsPi0tdGFibGU8L2xpdGVyYWw+IG9y IDxsaXRlcmFsPi0tcmVsYXRpb248L2xpdGVyYWw+LgogICAgICAgIFRoaXMgb3B0aW9uIHN1cHBy ZXNzZXMgdGhhdCBiZWhhdmlvci4KQEAgLTMwNiw5ICszMDYsOSBAQCBQb3N0Z3JlU1FMIGRvY3Vt ZW50YXRpb24KICAgICAgPHRlcm0+PG9wdGlvbj4tLWV4Y2x1ZGUtdG9hc3QtcG9pbnRlcnM8L29w dGlvbj48L3Rlcm0+CiAgICAgIDxsaXN0aXRlbT4KICAgICAgIDxwYXJhPgotICAgICAgIEJ5IGRl ZmF1bHQsIHdoZW5ldmVyIGEgdG9hc3QgcG9pbnRlciBpcyBlbmNvdW50ZXJlZCBpbiBhIHRhYmxl LAorICAgICAgIEJ5IGRlZmF1bHQsIHdoZW5ldmVyIGEgVE9BU1QgcG9pbnRlciBpcyBlbmNvdW50 ZXJlZCBpbiBhIHRhYmxlLAogICAgICAgIGEgbG9va3VwIGlzIHBlcmZvcm1lZCB0byBlbnN1cmUg dGhhdCBpdCByZWZlcmVuY2VzIGFwcGFyZW50bHktdmFsaWQKLSAgICAgICBlbnRyaWVzIGluIHRo ZSB0b2FzdCB0YWJsZS4gVGhlc2UgY2hlY2tzIGNhbiBiZSBxdWl0ZSBzbG93LCBhbmQgdGhpcwor ICAgICAgIGVudHJpZXMgaW4gdGhlIFRPQVNUIHRhYmxlLiBUaGVzZSBjaGVja3MgY2FuIGJlIHF1 aXRlIHNsb3csIGFuZCB0aGlzCiAgICAgICAgb3B0aW9uIGNhbiBiZSB1c2VkIHRvIHNraXAgdGhl bS4KICAgICAgIDwvcGFyYT4KICAgICAgPC9saXN0aXRlbT4KQEAgLTM2OCw5ICszNjgsOSBAQCBQ b3N0Z3JlU1FMIGRvY3VtZW50YXRpb24KICAgICAgICBFbmQgY2hlY2tpbmcgYXQgdGhlIHNwZWNp ZmllZCBibG9jayBudW1iZXIuICBBbiBlcnJvciB3aWxsIG9jY3VyIGlmIHRoZQogICAgICAgIHRh YmxlIHJlbGF0aW9uIGJlaW5nIGNoZWNrZWQgaGFzIGZld2VyIHRoYW4gdGhpcyBudW1iZXIgb2Yg YmxvY2tzLgogICAgICAgIFRoaXMgb3B0aW9uIGRvZXMgbm90IGFwcGx5IHRvIGluZGV4ZXMsIGFu ZCBpcyBwcm9iYWJseSBvbmx5IHVzZWZ1bCB3aGVuCi0gICAgICAgY2hlY2tpbmcgYSBzaW5nbGUg dGFibGUgcmVsYXRpb24uIElmIGJvdGggYSByZWd1bGFyIHRhYmxlIGFuZCBhIHRvYXN0CisgICAg ICAgY2hlY2tpbmcgYSBzaW5nbGUgdGFibGUgcmVsYXRpb24uIElmIGJvdGggYSByZWd1bGFyIHRh YmxlIGFuZCBhIFRPQVNUCiAgICAgICAgdGFibGUgYXJlIGNoZWNrZWQsIHRoaXMgb3B0aW9uIHdp bGwgYXBwbHkgdG8gYm90aCwgYnV0IGhpZ2hlci1udW1iZXJlZAotICAgICAgIHRvYXN0IGJsb2Nr cyBtYXkgc3RpbGwgYmUgYWNjZXNzZWQgd2hpbGUgdmFsaWRhdGluZyB0b2FzdCBwb2ludGVycywK KyAgICAgICBUT0FTVCBibG9ja3MgbWF5IHN0aWxsIGJlIGFjY2Vzc2VkIHdoaWxlIHZhbGlkYXRp bmcgVE9BU1QgcG9pbnRlcnMsCiAgICAgICAgdW5sZXNzIHRoYXQgaXMgc3VwcHJlc3NlZCB1c2lu ZwogICAgICAgIDxvcHRpb24+LS1leGNsdWRlLXRvYXN0LXBvaW50ZXJzPC9vcHRpb24+LgogICAg ICAgPC9wYXJhPgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3NlcGdzcWwuc2dtbCBiL2RvYy9z cmMvc2dtbC9zZXBnc3FsLnNnbWwKaW5kZXggY2EwMzhkNy4uZWFiNWZkZSAxMDA2NDQKLS0tIGEv ZG9jL3NyYy9zZ21sL3NlcGdzcWwuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvc2VwZ3NxbC5zZ21s CkBAIC00MzMsNyArNDMzLDcgQEAgVVBEQVRFIHQxIFNFVCB4ID0gMiwgeSA9IGZ1bmMxKHkpIFdI RVJFIHogPSAxMDA7CiAgICA8cGFyYT4KICAgICBUaGUgZGVmYXVsdCBkYXRhYmFzZSBwcml2aWxl Z2Ugc3lzdGVtIGFsbG93cyBkYXRhYmFzZSBzdXBlcnVzZXJzIHRvCiAgICAgbW9kaWZ5IHN5c3Rl bSBjYXRhbG9ncyB1c2luZyBETUwgY29tbWFuZHMsIGFuZCByZWZlcmVuY2Ugb3IgbW9kaWZ5Ci0g ICAgdG9hc3QgdGFibGVzLiAgVGhlc2Ugb3BlcmF0aW9ucyBhcmUgcHJvaGliaXRlZCB3aGVuCisg ICAgVE9BU1QgdGFibGVzLiAgVGhlc2Ugb3BlcmF0aW9ucyBhcmUgcHJvaGliaXRlZCB3aGVuCiAg ICAgPGZpbGVuYW1lPnNlcGdzcWw8L2ZpbGVuYW1lPiBpcyBlbmFibGVkLgogICAgPC9wYXJhPgog ICA8L3NlY3QzPgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3hmdW5jLnNnbWwgYi9kb2Mvc3Jj L3NnbWwveGZ1bmMuc2dtbAppbmRleCBhZjc4NjRhLi42OTc0N2QwIDEwMDY0NAotLS0gYS9kb2Mv c3JjL3NnbWwveGZ1bmMuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwveGZ1bmMuc2dtbApAQCAtMjU1 NSw3ICsyNTU1LDcgQEAgQ1JFQVRFIEZVTkNUSU9OIGNvbmNhdF90ZXh0KHRleHQsIHRleHQpIFJF VFVSTlMgdGV4dAogICAgICB0byBiZSBqdXN0IHBvaW50bGVzcyBvYnNjdXJhbnRpc20sIGNvbXBh cmVkIHRvIHVzaW5nCiAgICAgIHBsYWluIDxsaXRlcmFsPkM8L2xpdGVyYWw+IGNhbGxpbmcgY29u dmVudGlvbnMuICBUaGV5IGRvIGhvd2V2ZXIgYWxsb3cKICAgICAgdXMgdG8gZGVhbCB3aXRoIDxs aXRlcmFsPk5VTEw8L2xpdGVyYWw+YWJsZSBhcmd1bWVudHMvcmV0dXJuIHZhbHVlcywKLSAgICAg YW5kIDxxdW90ZT50b2FzdGVkPC9xdW90ZT4gKGNvbXByZXNzZWQgb3Igb3V0LW9mLWxpbmUpIHZh bHVlcy4KKyAgICAgYW5kIDxxdW90ZT5UT0FTVGVkPC9xdW90ZT4gKGNvbXByZXNzZWQgb3Igb3V0 LW9mLWxpbmUpIHZhbHVlcy4KICAgICA8L3BhcmE+CiAKICAgICA8cGFyYT4KZGlmZiAtLWdpdCBh L2RvYy9zcmMvc2dtbC94dHlwZXMuc2dtbCBiL2RvYy9zcmMvc2dtbC94dHlwZXMuc2dtbAppbmRl eCBlNjdlNWJkLi4xM2FmMTEzIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwveHR5cGVzLnNnbWwK KysrIGIvZG9jL3NyYy9zZ21sL3h0eXBlcy5zZ21sCkBAIC0yNjcsNyArMjY3LDcgQEAgQ1JFQVRF IFRZUEUgY29tcGxleCAoCiAKICA8cGFyYT4KICAgVG8gc3VwcG9ydCA8YWNyb255bT5UT0FTVDwv YWNyb255bT4gc3RvcmFnZSwgdGhlIEMgZnVuY3Rpb25zIG9wZXJhdGluZyBvbiB0aGUgZGF0YQot ICB0eXBlIG11c3QgYWx3YXlzIGJlIGNhcmVmdWwgdG8gdW5wYWNrIGFueSB0b2FzdGVkIHZhbHVl cyB0aGV5IGFyZSBoYW5kZWQKKyAgdHlwZSBtdXN0IGFsd2F5cyBiZSBjYXJlZnVsIHRvIHVucGFj ayBhbnkgVE9BU1RlZCB2YWx1ZXMgdGhleSBhcmUgaGFuZGVkCiAgIGJ5IHVzaW5nIDxmdW5jdGlv bj5QR19ERVRPQVNUX0RBVFVNPC9mdW5jdGlvbj4uICAoVGhpcyBkZXRhaWwgaXMgY3VzdG9tYXJp bHkgaGlkZGVuCiAgIGJ5IGRlZmluaW5nIHR5cGUtc3BlY2lmaWMgPGZ1bmN0aW9uPkdFVEFSR19E QVRBVFlQRV9QPC9mdW5jdGlvbj4gbWFjcm9zLikKICAgVGhlbiwgd2hlbiBydW5uaW5nIHRoZSA8 Y29tbWFuZD5DUkVBVEUgVFlQRTwvY29tbWFuZD4gY29tbWFuZCwgc3BlY2lmeSB0aGUKLS0gCjEu OC4zLjEKCg== --000000000000cbee27062bcacdfc--