Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kObDo-0000UT-Cb for pgsql-hackers@arkaria.postgresql.org; Sat, 03 Oct 2020 06:40:45 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1kObDm-0004C8-91 for pgsql-hackers@arkaria.postgresql.org; Sat, 03 Oct 2020 06:40:42 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kObDl-0004Bv-8B for pgsql-hackers@lists.postgresql.org; Sat, 03 Oct 2020 06:40:42 +0000 Received: from forward5-smtp.messagingengine.com ([66.111.4.239]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kObDg-0004Gl-Rw for pgsql-hackers@postgresql.org; Sat, 03 Oct 2020 06:40:40 +0000 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailforward.nyi.internal (Postfix) with ESMTP id A8DFE1942238 for ; Sat, 3 Oct 2020 02:40:34 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute1.internal (MEProxy); Sat, 03 Oct 2020 02:40:34 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:message-id :mime-version:subject:to:x-me-proxy:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm3; bh=Q1x58dOkWm72YbZMOyM/ILtxK5/ds PNSLoZlTPGEryI=; b=MPlWbyfxsqIvYzdAAxHWpB/n5SV4yULj/bCYnLjnVF88H 1H8+eMIFcG5i80F1i6b+/h8USIAAp7If3SUlQV9ys7gy1dTqf9ge2IhkOKdnUDoK 2nNlP2OhJb63+S8Uv5pqZgDZ+Wg3U3lUuV175OPzuWdmFQh/4tC1QBhijbWU57w8 96sAbUGFpRxIshxnXHdqS41vdMEuhE7h2z3ruhl/RwNdwkmb0BedghEizV2/3quh tvUOZq6oMTuNqvV9meqbHua7BLoFW17cwlOhnoXv0vDx14qiSm1FdC0NrxdpHUvi JfwFXjelclDl23D7ER41rl/+6LBZNfdjpl8nK3Iqw== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedujedrfeejgdduuddtucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefhuffvohfkffgfgggtsehmtderre dtfeejnecuhfhrohhmpefrvghtvghrucfgihhsvghnthhrrghuthcuoehpvghtvghrrdgv ihhsvghnthhrrghuthesvdhnughquhgrughrrghnthdrtghomheqnecuggftrfgrthhtvg hrnhepkefhffekffetfeeuffetieevvdeljefgfeevudevgedvgeeuhfefueevfefhjeff necuffhomhgrihhnpedvnhguqhhurggurhgrnhhtrdgtohhmnecukfhppeekjedrudejje drieegrdduledunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhf rhhomhepphgvthgvrhdrvghishgvnhhtrhgruhhtsedvnhguqhhurggurhgrnhhtrdgtoh hm X-ME-Proxy: Received: from april.pezone.net (p57b140bf.dip0.t-ipconnect.de [87.177.64.191]) by mail.messagingengine.com (Postfix) with ESMTPA id DB110306467E for ; Sat, 3 Oct 2020 02:40:33 -0400 (EDT) From: Peter Eisentraut Subject: Add primary keys to system catalogs To: pgsql-hackers Organization: 2ndQuadrant Message-ID: Date: Sat, 3 Oct 2020 08:40:31 +0200 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------67C80651FCD8574DF4C6EBE3" Content-Language: en-US List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk This is a multi-part message in MIME format. --------------67C80651FCD8574DF4C6EBE3 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit I saw someone ask once for a schema diagram of the system catalogs. Things like that have occasionally been produced manually, but they are not regularly updated. That made me wonder, why can't we add primary and foreign keys to system catalogs and then have existing tools produce such a schema diagram automatically? Since we have ADD PRIMARY KEY USING INDEX, we can declare a primary key for an existing index. So this doesn't have to affect the low-level early bootstrapping. The attached patch adds those commands manually. Another option might be to have the catalog generation Perl tooling create those declarations automatically from some marker in the catalog files. That would also allow declaring unique constraints for the unique indexes that don't end up being the primary key. I'm not dealing here with how we might do foreign keys between system catalogs, but I think the idea would be to have some way to declare a foreign key "on paper" without any actual triggers. Any thoughts on this direction? -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services --------------67C80651FCD8574DF4C6EBE3 Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="0001-Add-primary-keys-to-system-catalogs.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0001-Add-primary-keys-to-system-catalogs.patch" RnJvbSBjOWIxZmY1NjFkYzdkYjA0NTUxMWE0ZGEzY2M4N2VjYWFjOWM1MjBiIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogU2F0LCAzIE9jdCAyMDIwIDA4OjI3OjM2ICswMjAwClN1YmplY3Q6 IFtQQVRDSF0gQWRkIHByaW1hcnkga2V5cyB0byBzeXN0ZW0gY2F0YWxvZ3MKCkZvciB0aG9z ZSBzeXN0ZW0gY2F0YWxvZ3MgdGhhdCBoYXZlIGEgdW5pcXVlIGluZGV4LCBtYWtlIGEgcHJp bWFyeSBrZXkKY29uc3RyYWludCwgdXNpbmcgQUxURVIgVEFCTEUgLi4uIFBSSU1BUlkgS0VZ IFVTSU5HIElOREVYLgoKVGhpcyBjYW4gYmUgaGVscGZ1bCBmb3IgR1VJIHRvb2xzIHRoYXQg bG9vayBmb3IgYSBwcmltYXJ5IGtleSwgYW5kIGl0Cm1pZ2h0IGluIHRoZSBmdXR1cmUgYWxs b3cgZGVjbGFyaW5nIGZvcmVpZ24ga2V5cywgZm9yIG1ha2luZyBzY2hlbWEKZGlhZ3JhbXMu CgpTeXN0ZW0gY2F0YWxvZ3Mgd2l0aG91dCBhIHByaW1hcnkga2V5IHNvIGZhcjogcGdfZGVw ZW5kLCBwZ19zaGRlcGVuZApkb24ndCBoYXZlIGEgdW5pcXVlIGtleTsgcGdfc2VjbGFiZWws IHBnX3Noc2VjbGFiZWwgdXNlIGEgbm9uZGVmYXVsdApvcGVyYXRvciBjbGFzcy4KLS0tCiBz cmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwgICAgICAgICAgfCA2MCArKysr KysrKysrKysrKysrKysrCiAuLi4vZXhwZWN0ZWQvYWx0ZXJfc3lzdGVtX3RhYmxlLm91dCAg ICAgICAgICAgfCAgNSArLQogLi4uL3Vuc2FmZV90ZXN0cy9zcWwvYWx0ZXJfc3lzdGVtX3Rh YmxlLnNxbCAgIHwgIDUgKy0KIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvbWlzY19zYW5p dHkub3V0ICAgICB8IDE0ICsrKysrCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC9taXNjX3Nhbml0 eS5zcWwgICAgICAgICAgfCAgOSArKysKIDUgZmlsZXMgY2hhbmdlZCwgODcgaW5zZXJ0aW9u cygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9n L3N5c3RlbV92aWV3cy5zcWwgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5z cWwKaW5kZXggZWQ0ZjNmMTQyZC4uYTFjZGFlZDU3MSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tl bmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cv c3lzdGVtX3ZpZXdzLnNxbApAQCAtMTQsNiArMTQsNjYgQEAKICAqIHN0cmluZyBsaXRlcmFs IChpbmNsdWRpbmcgYSBmdW5jdGlvbiBib2R5ISkgb3IgYSBtdWx0aWxpbmUgY29tbWVudC4K ICAqLwogCitBTFRFUiBUQUJMRSBwZ19hZ2dyZWdhdGUgQUREIFBSSU1BUlkgS0VZIFVTSU5H IElOREVYIHBnX2FnZ3JlZ2F0ZV9mbm9pZF9pbmRleDsKK0FMVEVSIFRBQkxFIHBnX2FtIEFE RCBQUklNQVJZIEtFWSBVU0lORyBJTkRFWCBwZ19hbV9vaWRfaW5kZXg7CitBTFRFUiBUQUJM RSBwZ19hbW9wIEFERCBQUklNQVJZIEtFWSBVU0lORyBJTkRFWCBwZ19hbW9wX29pZF9pbmRl eDsKK0FMVEVSIFRBQkxFIHBnX2FtcHJvYyBBREQgUFJJTUFSWSBLRVkgVVNJTkcgSU5ERVgg cGdfYW1wcm9jX29pZF9pbmRleDsKK0FMVEVSIFRBQkxFIHBnX2F0dHJkZWYgQUREIFBSSU1B UlkgS0VZIFVTSU5HIElOREVYIHBnX2F0dHJkZWZfb2lkX2luZGV4OworQUxURVIgVEFCTEUg cGdfYXR0cmlidXRlIEFERCBQUklNQVJZIEtFWSBVU0lORyBJTkRFWCBwZ19hdHRyaWJ1dGVf cmVsaWRfYXR0bnVtX2luZGV4OworQUxURVIgVEFCTEUgcGdfYXV0aGlkIEFERCBQUklNQVJZ IEtFWSBVU0lORyBJTkRFWCBwZ19hdXRoaWRfb2lkX2luZGV4OworQUxURVIgVEFCTEUgcGdf YXV0aF9tZW1iZXJzIEFERCBQUklNQVJZIEtFWSBVU0lORyBJTkRFWCBwZ19hdXRoX21lbWJl cnNfcm9sZV9tZW1iZXJfaW5kZXg7CitBTFRFUiBUQUJMRSBwZ19jYXN0IEFERCBQUklNQVJZ IEtFWSBVU0lORyBJTkRFWCBwZ19jYXN0X29pZF9pbmRleDsKK0FMVEVSIFRBQkxFIHBnX2Ns YXNzIEFERCBQUklNQVJZIEtFWSBVU0lORyBJTkRFWCBwZ19jbGFzc19vaWRfaW5kZXg7CitB TFRFUiBUQUJMRSBwZ19jb2xsYXRpb24gQUREIFBSSU1BUlkgS0VZIFVTSU5HIElOREVYIHBn X2NvbGxhdGlvbl9vaWRfaW5kZXg7CitBTFRFUiBUQUJMRSBwZ19jb25zdHJhaW50IEFERCBQ UklNQVJZIEtFWSBVU0lORyBJTkRFWCBwZ19jb25zdHJhaW50X29pZF9pbmRleDsKK0FMVEVS IFRBQkxFIHBnX2NvbnZlcnNpb24gQUREIFBSSU1BUlkgS0VZIFVTSU5HIElOREVYIHBnX2Nv bnZlcnNpb25fb2lkX2luZGV4OworQUxURVIgVEFCTEUgcGdfZGF0YWJhc2UgQUREIFBSSU1B UlkgS0VZIFVTSU5HIElOREVYIHBnX2RhdGFiYXNlX29pZF9pbmRleDsKK0FMVEVSIFRBQkxF IHBnX2RiX3JvbGVfc2V0dGluZyBBREQgUFJJTUFSWSBLRVkgVVNJTkcgSU5ERVggcGdfZGJf cm9sZV9zZXR0aW5nX2RhdGFiYXNlaWRfcm9sX2luZGV4OworQUxURVIgVEFCTEUgcGdfZGVm YXVsdF9hY2wgQUREIFBSSU1BUlkgS0VZIFVTSU5HIElOREVYIHBnX2RlZmF1bHRfYWNsX29p ZF9pbmRleDsKK0FMVEVSIFRBQkxFIHBnX2Rlc2NyaXB0aW9uIEFERCBQUklNQVJZIEtFWSBV U0lORyBJTkRFWCBwZ19kZXNjcmlwdGlvbl9vX2Nfb19pbmRleDsKK0FMVEVSIFRBQkxFIHBn X2VudW0gQUREIFBSSU1BUlkgS0VZIFVTSU5HIElOREVYIHBnX2VudW1fb2lkX2luZGV4Owor QUxURVIgVEFCTEUgcGdfZXZlbnRfdHJpZ2dlciBBREQgUFJJTUFSWSBLRVkgVVNJTkcgSU5E RVggcGdfZXZlbnRfdHJpZ2dlcl9vaWRfaW5kZXg7CitBTFRFUiBUQUJMRSBwZ19leHRlbnNp b24gQUREIFBSSU1BUlkgS0VZIFVTSU5HIElOREVYIHBnX2V4dGVuc2lvbl9vaWRfaW5kZXg7 CitBTFRFUiBUQUJMRSBwZ19mb3JlaWduX2RhdGFfd3JhcHBlciBBREQgUFJJTUFSWSBLRVkg VVNJTkcgSU5ERVggcGdfZm9yZWlnbl9kYXRhX3dyYXBwZXJfb2lkX2luZGV4OworQUxURVIg VEFCTEUgcGdfZm9yZWlnbl9zZXJ2ZXIgQUREIFBSSU1BUlkgS0VZIFVTSU5HIElOREVYIHBn X2ZvcmVpZ25fc2VydmVyX29pZF9pbmRleDsKK0FMVEVSIFRBQkxFIHBnX2ZvcmVpZ25fdGFi bGUgQUREIFBSSU1BUlkgS0VZIFVTSU5HIElOREVYIHBnX2ZvcmVpZ25fdGFibGVfcmVsaWRf aW5kZXg7CitBTFRFUiBUQUJMRSBwZ19pbmRleCBBREQgUFJJTUFSWSBLRVkgVVNJTkcgSU5E RVggcGdfaW5kZXhfaW5kZXhyZWxpZF9pbmRleDsKK0FMVEVSIFRBQkxFIHBnX2luaGVyaXRz IEFERCBQUklNQVJZIEtFWSBVU0lORyBJTkRFWCBwZ19pbmhlcml0c19yZWxpZF9zZXFub19p bmRleDsKK0FMVEVSIFRBQkxFIHBnX2luaXRfcHJpdnMgQUREIFBSSU1BUlkgS0VZIFVTSU5H IElOREVYIHBnX2luaXRfcHJpdnNfb19jX29faW5kZXg7CitBTFRFUiBUQUJMRSBwZ19sYW5n dWFnZSBBREQgUFJJTUFSWSBLRVkgVVNJTkcgSU5ERVggcGdfbGFuZ3VhZ2Vfb2lkX2luZGV4 OworQUxURVIgVEFCTEUgcGdfbGFyZ2VvYmplY3QgQUREIFBSSU1BUlkgS0VZIFVTSU5HIElO REVYIHBnX2xhcmdlb2JqZWN0X2xvaWRfcG5faW5kZXg7CitBTFRFUiBUQUJMRSBwZ19sYXJn ZW9iamVjdF9tZXRhZGF0YSBBREQgUFJJTUFSWSBLRVkgVVNJTkcgSU5ERVggcGdfbGFyZ2Vv YmplY3RfbWV0YWRhdGFfb2lkX2luZGV4OworQUxURVIgVEFCTEUgcGdfbmFtZXNwYWNlIEFE RCBQUklNQVJZIEtFWSBVU0lORyBJTkRFWCBwZ19uYW1lc3BhY2Vfb2lkX2luZGV4OworQUxU RVIgVEFCTEUgcGdfb3BjbGFzcyBBREQgUFJJTUFSWSBLRVkgVVNJTkcgSU5ERVggcGdfb3Bj bGFzc19vaWRfaW5kZXg7CitBTFRFUiBUQUJMRSBwZ19vcGVyYXRvciBBREQgUFJJTUFSWSBL RVkgVVNJTkcgSU5ERVggcGdfb3BlcmF0b3Jfb2lkX2luZGV4OworQUxURVIgVEFCTEUgcGdf b3BmYW1pbHkgQUREIFBSSU1BUlkgS0VZIFVTSU5HIElOREVYIHBnX29wZmFtaWx5X29pZF9p bmRleDsKK0FMVEVSIFRBQkxFIHBnX3BhcnRpdGlvbmVkX3RhYmxlIEFERCBQUklNQVJZIEtF WSBVU0lORyBJTkRFWCBwZ19wYXJ0aXRpb25lZF90YWJsZV9wYXJ0cmVsaWRfaW5kZXg7CitB TFRFUiBUQUJMRSBwZ19wb2xpY3kgQUREIFBSSU1BUlkgS0VZIFVTSU5HIElOREVYIHBnX3Bv bGljeV9vaWRfaW5kZXg7CitBTFRFUiBUQUJMRSBwZ19wcm9jIEFERCBQUklNQVJZIEtFWSBV U0lORyBJTkRFWCBwZ19wcm9jX29pZF9pbmRleDsKK0FMVEVSIFRBQkxFIHBnX3B1YmxpY2F0 aW9uIEFERCBQUklNQVJZIEtFWSBVU0lORyBJTkRFWCBwZ19wdWJsaWNhdGlvbl9vaWRfaW5k ZXg7CitBTFRFUiBUQUJMRSBwZ19wdWJsaWNhdGlvbl9yZWwgQUREIFBSSU1BUlkgS0VZIFVT SU5HIElOREVYIHBnX3B1YmxpY2F0aW9uX3JlbF9vaWRfaW5kZXg7CitBTFRFUiBUQUJMRSBw Z19yYW5nZSBBREQgUFJJTUFSWSBLRVkgVVNJTkcgSU5ERVggcGdfcmFuZ2Vfcm5ndHlwaWRf aW5kZXg7CitBTFRFUiBUQUJMRSBwZ19yZXBsaWNhdGlvbl9vcmlnaW4gQUREIFBSSU1BUlkg S0VZIFVTSU5HIElOREVYIHBnX3JlcGxpY2F0aW9uX29yaWdpbl9yb2lpZGVudF9pbmRleDsK K0FMVEVSIFRBQkxFIHBnX3Jld3JpdGUgQUREIFBSSU1BUlkgS0VZIFVTSU5HIElOREVYIHBn X3Jld3JpdGVfb2lkX2luZGV4OworQUxURVIgVEFCTEUgcGdfc2VxdWVuY2UgQUREIFBSSU1B UlkgS0VZIFVTSU5HIElOREVYIHBnX3NlcXVlbmNlX3NlcXJlbGlkX2luZGV4OworQUxURVIg VEFCTEUgcGdfc2hkZXNjcmlwdGlvbiBBREQgUFJJTUFSWSBLRVkgVVNJTkcgSU5ERVggcGdf c2hkZXNjcmlwdGlvbl9vX2NfaW5kZXg7CitBTFRFUiBUQUJMRSBwZ19zdGF0aXN0aWMgQURE IFBSSU1BUlkgS0VZIFVTSU5HIElOREVYIHBnX3N0YXRpc3RpY19yZWxpZF9hdHRfaW5oX2lu ZGV4OworQUxURVIgVEFCTEUgcGdfc3RhdGlzdGljX2V4dCBBREQgUFJJTUFSWSBLRVkgVVNJ TkcgSU5ERVggcGdfc3RhdGlzdGljX2V4dF9vaWRfaW5kZXg7CitBTFRFUiBUQUJMRSBwZ19z dGF0aXN0aWNfZXh0X2RhdGEgQUREIFBSSU1BUlkgS0VZIFVTSU5HIElOREVYIHBnX3N0YXRp c3RpY19leHRfZGF0YV9zdHhvaWRfaW5kZXg7CitBTFRFUiBUQUJMRSBwZ19zdWJzY3JpcHRp b24gQUREIFBSSU1BUlkgS0VZIFVTSU5HIElOREVYIHBnX3N1YnNjcmlwdGlvbl9vaWRfaW5k ZXg7CitBTFRFUiBUQUJMRSBwZ19zdWJzY3JpcHRpb25fcmVsIEFERCBQUklNQVJZIEtFWSBV U0lORyBJTkRFWCBwZ19zdWJzY3JpcHRpb25fcmVsX3NycmVsaWRfc3JzdWJpZF9pbmRleDsK K0FMVEVSIFRBQkxFIHBnX3RhYmxlc3BhY2UgQUREIFBSSU1BUlkgS0VZIFVTSU5HIElOREVY IHBnX3RhYmxlc3BhY2Vfb2lkX2luZGV4OworQUxURVIgVEFCTEUgcGdfdHJhbnNmb3JtIEFE RCBQUklNQVJZIEtFWSBVU0lORyBJTkRFWCBwZ190cmFuc2Zvcm1fb2lkX2luZGV4OworQUxU RVIgVEFCTEUgcGdfdHJpZ2dlciBBREQgUFJJTUFSWSBLRVkgVVNJTkcgSU5ERVggcGdfdHJp Z2dlcl9vaWRfaW5kZXg7CitBTFRFUiBUQUJMRSBwZ190c19jb25maWcgQUREIFBSSU1BUlkg S0VZIFVTSU5HIElOREVYIHBnX3RzX2NvbmZpZ19vaWRfaW5kZXg7CitBTFRFUiBUQUJMRSBw Z190c19jb25maWdfbWFwIEFERCBQUklNQVJZIEtFWSBVU0lORyBJTkRFWCBwZ190c19jb25m aWdfbWFwX2luZGV4OworQUxURVIgVEFCTEUgcGdfdHNfZGljdCBBREQgUFJJTUFSWSBLRVkg VVNJTkcgSU5ERVggcGdfdHNfZGljdF9vaWRfaW5kZXg7CitBTFRFUiBUQUJMRSBwZ190c19w YXJzZXIgQUREIFBSSU1BUlkgS0VZIFVTSU5HIElOREVYIHBnX3RzX3BhcnNlcl9vaWRfaW5k ZXg7CitBTFRFUiBUQUJMRSBwZ190c190ZW1wbGF0ZSBBREQgUFJJTUFSWSBLRVkgVVNJTkcg SU5ERVggcGdfdHNfdGVtcGxhdGVfb2lkX2luZGV4OworQUxURVIgVEFCTEUgcGdfdHlwZSBB REQgUFJJTUFSWSBLRVkgVVNJTkcgSU5ERVggcGdfdHlwZV9vaWRfaW5kZXg7CitBTFRFUiBU QUJMRSBwZ191c2VyX21hcHBpbmcgQUREIFBSSU1BUlkgS0VZIFVTSU5HIElOREVYIHBnX3Vz ZXJfbWFwcGluZ19vaWRfaW5kZXg7CisKKwogQ1JFQVRFIFZJRVcgcGdfcm9sZXMgQVMKICAg ICBTRUxFQ1QKICAgICAgICAgcm9sbmFtZSwKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L21vZHVs ZXMvdW5zYWZlX3Rlc3RzL2V4cGVjdGVkL2FsdGVyX3N5c3RlbV90YWJsZS5vdXQgYi9zcmMv dGVzdC9tb2R1bGVzL3Vuc2FmZV90ZXN0cy9leHBlY3RlZC9hbHRlcl9zeXN0ZW1fdGFibGUu b3V0CmluZGV4IGVjZDE1MDVjZGMuLjk0MWU0MDk1ZDUgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0 L21vZHVsZXMvdW5zYWZlX3Rlc3RzL2V4cGVjdGVkL2FsdGVyX3N5c3RlbV90YWJsZS5vdXQK KysrIGIvc3JjL3Rlc3QvbW9kdWxlcy91bnNhZmVfdGVzdHMvZXhwZWN0ZWQvYWx0ZXJfc3lz dGVtX3RhYmxlLm91dApAQCAtMTYsNyArMTYsNyBAQCBERVRBSUw6ICBTeXN0ZW0gY2F0YWxv ZyBtb2RpZmljYXRpb25zIGFyZSBjdXJyZW50bHkgZGlzYWxsb3dlZC4KIENSRUFURSBUQUJM RSB0MXggKGEgaW50LCBiIGFueWFycmF5KTsKIEVSUk9SOiAgY29sdW1uICJiIiBoYXMgcHNl dWRvLXR5cGUgYW55YXJyYXkKIC0tIGluZGV4IG9uIHN5c3RlbSBjYXRhbG9nCi1BTFRFUiBU QUJMRSBwZ19uYW1lc3BhY2UgQUREIFVOSVFVRSBVU0lORyBJTkRFWCBwZ19uYW1lc3BhY2Vf b2lkX2luZGV4OworQUxURVIgVEFCTEUgcGdfbmFtZXNwYWNlIEFERCBVTklRVUUgVVNJTkcg SU5ERVggcGdfbmFtZXNwYWNlX25zcG5hbWVfaW5kZXg7CiBFUlJPUjogIHBlcm1pc3Npb24g ZGVuaWVkOiAicGdfbmFtZXNwYWNlIiBpcyBhIHN5c3RlbSBjYXRhbG9nCiAtLSB3cml0ZSB0 byBzeXN0ZW0gY2F0YWxvZyB0YWJsZSBhcyBzdXBlcnVzZXIKIC0tIChhbGxvd2VkIGV2ZW4g d2l0aG91dCBhbGxvd19zeXN0ZW1fdGFibGVfbW9kcykKQEAgLTEwMiw3ICsxMDIsNyBAQCBD UkVBVEUgVEFCTEUgdDEgKGEgaW50LCBiIGFueWFycmF5KTsKIFJPTExCQUNLOwogLS0gaW5k ZXggb24gc3lzdGVtIGNhdGFsb2cKIEJFR0lOOwotQUxURVIgVEFCTEUgcGdfbmFtZXNwYWNl IEFERCBVTklRVUUgVVNJTkcgSU5ERVggcGdfbmFtZXNwYWNlX29pZF9pbmRleDsKK0FMVEVS IFRBQkxFIHBnX25hbWVzcGFjZSBBREQgVU5JUVVFIFVTSU5HIElOREVYIHBnX25hbWVzcGFj ZV9uc3BuYW1lX2luZGV4OwogUk9MTEJBQ0s7CiAtLSB3cml0ZSB0byBzeXN0ZW0gY2F0YWxv ZyB0YWJsZSBhcyBzdXBlcnVzZXIKIEJFR0lOOwpAQCAtMTQ2LDcgKzE0Niw2IEBAIEFMVEVS IFRBQkxFIHBnX2Rlc2NyaXB0aW9uIEFMVEVSIENPTFVNTiBkZXNjcmlwdGlvbiBTRVQgU1RB VElTVElDUyAtMTsKIFJPTExCQUNLOwogLS0gZm9yZWlnbiBrZXkgcmVmZXJlbmNpbmcgY2F0 YWxvZwogQkVHSU47Ci1BTFRFUiBUQUJMRSBwZ19kZXNjcmlwdGlvbiBBREQgUFJJTUFSWSBL RVkgVVNJTkcgSU5ERVggcGdfZGVzY3JpcHRpb25fb19jX29faW5kZXg7CiBDUkVBVEUgVEFC TEUgZm9vIChhIG9pZCwgYiBvaWQsIGMgaW50LCBGT1JFSUdOIEtFWSAoYSwgYiwgYykgUkVG RVJFTkNFUyBwZ19kZXNjcmlwdGlvbik7CiBST0xMQkFDSzsKIC0tIFJhbmdlVmFyQ2FsbGJh Y2tPd25zUmVsYXRpb24oKQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvbW9kdWxlcy91bnNhZmVf dGVzdHMvc3FsL2FsdGVyX3N5c3RlbV90YWJsZS5zcWwgYi9zcmMvdGVzdC9tb2R1bGVzL3Vu c2FmZV90ZXN0cy9zcWwvYWx0ZXJfc3lzdGVtX3RhYmxlLnNxbAppbmRleCA1NjYzNTcwZDMx Li5kNjU2NTlhZmE2IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9tb2R1bGVzL3Vuc2FmZV90ZXN0 cy9zcWwvYWx0ZXJfc3lzdGVtX3RhYmxlLnNxbAorKysgYi9zcmMvdGVzdC9tb2R1bGVzL3Vu c2FmZV90ZXN0cy9zcWwvYWx0ZXJfc3lzdGVtX3RhYmxlLnNxbApAQCAtMTgsNyArMTgsNyBA QCBDUkVBVEUgVEFCTEUgcGdfY2F0YWxvZy50ZXN0IChhIGludCk7CiBDUkVBVEUgVEFCTEUg dDF4IChhIGludCwgYiBhbnlhcnJheSk7CiAKIC0tIGluZGV4IG9uIHN5c3RlbSBjYXRhbG9n Ci1BTFRFUiBUQUJMRSBwZ19uYW1lc3BhY2UgQUREIFVOSVFVRSBVU0lORyBJTkRFWCBwZ19u YW1lc3BhY2Vfb2lkX2luZGV4OworQUxURVIgVEFCTEUgcGdfbmFtZXNwYWNlIEFERCBVTklR VUUgVVNJTkcgSU5ERVggcGdfbmFtZXNwYWNlX25zcG5hbWVfaW5kZXg7CiAKIC0tIHdyaXRl IHRvIHN5c3RlbSBjYXRhbG9nIHRhYmxlIGFzIHN1cGVydXNlcgogLS0gKGFsbG93ZWQgZXZl biB3aXRob3V0IGFsbG93X3N5c3RlbV90YWJsZV9tb2RzKQpAQCAtMTA0LDcgKzEwNCw3IEBA IENSRUFURSBUQUJMRSB0MSAoYSBpbnQsIGIgYW55YXJyYXkpOwogCiAtLSBpbmRleCBvbiBz eXN0ZW0gY2F0YWxvZwogQkVHSU47Ci1BTFRFUiBUQUJMRSBwZ19uYW1lc3BhY2UgQUREIFVO SVFVRSBVU0lORyBJTkRFWCBwZ19uYW1lc3BhY2Vfb2lkX2luZGV4OworQUxURVIgVEFCTEUg cGdfbmFtZXNwYWNlIEFERCBVTklRVUUgVVNJTkcgSU5ERVggcGdfbmFtZXNwYWNlX25zcG5h bWVfaW5kZXg7CiBST0xMQkFDSzsKIAogLS0gd3JpdGUgdG8gc3lzdGVtIGNhdGFsb2cgdGFi bGUgYXMgc3VwZXJ1c2VyCkBAIC0xNTYsNyArMTU2LDYgQEAgQ1JFQVRFIFNDSEVNQSBwZ19m b287CiAKIC0tIGZvcmVpZ24ga2V5IHJlZmVyZW5jaW5nIGNhdGFsb2cKIEJFR0lOOwotQUxU RVIgVEFCTEUgcGdfZGVzY3JpcHRpb24gQUREIFBSSU1BUlkgS0VZIFVTSU5HIElOREVYIHBn X2Rlc2NyaXB0aW9uX29fY19vX2luZGV4OwogQ1JFQVRFIFRBQkxFIGZvbyAoYSBvaWQsIGIg b2lkLCBjIGludCwgRk9SRUlHTiBLRVkgKGEsIGIsIGMpIFJFRkVSRU5DRVMgcGdfZGVzY3Jp cHRpb24pOwogUk9MTEJBQ0s7CiAKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQvbWlzY19zYW5pdHkub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9taXNj X3Nhbml0eS5vdXQKaW5kZXggODUzODE3M2ZmOC4uN2RlNThhNjlkMiAxMDA2NDQKLS0tIGEv c3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9taXNjX3Nhbml0eS5vdXQKKysrIGIvc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC9taXNjX3Nhbml0eS5vdXQKQEAgLTEwOSwzICsxMDksMTcg QEAgT1JERVIgQlkgMSwgMjsKICBwZ19sYXJnZW9iamVjdF9tZXRhZGF0YSB8IGxvbWFjbCAg ICAgICAgfCBhY2xpdGVtW10KICgxMSByb3dzKQogCistLSBzeXN0ZW0gY2F0YWxvZ3Mgd2l0 aG91dCBwcmltYXJ5IGtleXMKK1NFTEVDVCByZWxuYW1lCitGUk9NIHBnX2NsYXNzCitXSEVS RSByZWxuYW1lc3BhY2UgPSAncGdfY2F0YWxvZyc6OnJlZ25hbWVzcGFjZSBBTkQgcmVsa2lu ZCA9ICdyJworICAgICAgQU5EIHBnX2NsYXNzLm9pZCBOT1QgSU4gKFNFTEVDVCBpbmRyZWxp ZCBGUk9NIHBnX2luZGV4IFdIRVJFIGluZGlzcHJpbWFyeSkKK09SREVSIEJZIDE7CisgICAg cmVsbmFtZSAgICAKKy0tLS0tLS0tLS0tLS0tLQorIHBnX2RlcGVuZAorIHBnX3NlY2xhYmVs CisgcGdfc2hkZXBlbmQKKyBwZ19zaHNlY2xhYmVsCisoNCByb3dzKQorCmRpZmYgLS1naXQg YS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9taXNjX3Nhbml0eS5zcWwgYi9zcmMvdGVzdC9yZWdy ZXNzL3NxbC9taXNjX3Nhbml0eS5zcWwKaW5kZXggM2NlMzJlNDcyNS4uZTQ0NTFmZDExZiAx MDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvbWlzY19zYW5pdHkuc3FsCisrKyBi L3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL21pc2Nfc2FuaXR5LnNxbApAQCAtOTQsMyArOTQsMTIg QEAKICAgICAgIHJlbGtpbmQgPSAncicgQU5ECiAgICAgICBhdHRzdG9yYWdlICE9ICdwJwog T1JERVIgQlkgMSwgMjsKKworCistLSBzeXN0ZW0gY2F0YWxvZ3Mgd2l0aG91dCBwcmltYXJ5 IGtleXMKKworU0VMRUNUIHJlbG5hbWUKK0ZST00gcGdfY2xhc3MKK1dIRVJFIHJlbG5hbWVz cGFjZSA9ICdwZ19jYXRhbG9nJzo6cmVnbmFtZXNwYWNlIEFORCByZWxraW5kID0gJ3InCisg ICAgICBBTkQgcGdfY2xhc3Mub2lkIE5PVCBJTiAoU0VMRUNUIGluZHJlbGlkIEZST00gcGdf aW5kZXggV0hFUkUgaW5kaXNwcmltYXJ5KQorT1JERVIgQlkgMTsKLS0gCjIuMjguMAoK --------------67C80651FCD8574DF4C6EBE3--