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 1w4XAI-002Hwo-0X for pgsql-hackers@arkaria.postgresql.org; Mon, 23 Mar 2026 04:45:22 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w4XAG-00FM2U-2B for pgsql-hackers@arkaria.postgresql.org; Mon, 23 Mar 2026 04:45: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.96) (envelope-from ) id 1w4XAG-00FM2M-0Q for pgsql-hackers@lists.postgresql.org; Mon, 23 Mar 2026 04:45:20 +0000 Received: from mail-vs1-xe2b.google.com ([2607:f8b0:4864:20::e2b]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w4XAD-00000000ZBM-3Xpi for pgsql-hackers@postgresql.org; Mon, 23 Mar 2026 04:45:19 +0000 Received: by mail-vs1-xe2b.google.com with SMTP id ada2fe7eead31-6027ef7e068so2681659137.1 for ; Sun, 22 Mar 2026 21:45:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1774241117; cv=none; d=google.com; s=arc-20240605; b=SvkjgidTyHeblMR+RHmY10oQbgH+AgccG9pvP6LgULEyYorm21spgWt3fjyz08/yQl mT2zhZNtigQjhRIjjtuADKjedbKnSy8WZDrfdHeZGzpNrUbUqYWpkwMHXunp5rgH+7ln r3vukFqvW6Pv50rZSUST4aXKqgb5G5RKYreirYGvohbtRjQyB8psDN20MXojud3AXqXv HB8/xOx9IvcZrLaf9uNcyM4HKqu+FYGXv7zEA+KCI4bP624w9Fghe8XQIfnNERUSYcoS /yZT16tlKqbGS00SQls0XO0p7c3xlQ6mt/k252wP9Dyhfea/YTLzl7SBZRygBcKHM1y+ J5EQ== 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=yvLpeDmylsvmB/LEJZlSy65IWRbPaYcP6y6ijQXc9tU=; fh=ApLHohzeZngI1SJNo6gQl0L5Fqxw9FbrfaTB1ZThJgY=; b=H4LF5mU6vPKbLqVEFASBrcZ28Y6QjSH8xm580Wsk6oji8XJGn4lXgFcs1wHdQzeqtr nXFv3JypIGxJN7f/QdxEcBS0Wf0naF0+u1S2LpDLamuAx1ARjaWug+GG6x8SgjJH6I+K rG1R/wTcdQz2A4fuz4nT3Wx38GZtXb7WpVdqvQ76QJlwdHFoZBsJY5Rs+ulqbwceYfis 4beZoqIAA815TFByHU75HJIDddR3u6q5/LxUkKHTzRJqjSSrZ4kQikIb9LYeYgQ8ohAN a6L0gXe+FXYx/2OjsPa8PhicekgthM6rbkP38W7aBZchmj7g8oox/P7IANhmYQx9hyRw bsEA==; darn=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=1774241117; x=1774845917; darn=postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=yvLpeDmylsvmB/LEJZlSy65IWRbPaYcP6y6ijQXc9tU=; b=ZDRiJ86Z7J0wxiW1MEBMTV7ESs9+MZuHN8/xkMZAacG+IBGMWWnXRBswwWYM6iPPfp rUIQWSCSuGb2D9E5Ys7C7HJtZEeehor1v/lsIN27tIFeFHgkcnyhrPa1g0S3G3AVOEvO ipY8+3k58iCNafXZ9jZGMG+hCwxZ7kszxjBpfljwUjP+3wuWRpSyLotCxF1+mk5zXzNS jn5PvYM84oI9KTn55zcsMgd5EpOm4IJ7o4LQpcLXYd1VoRW8PmTY1Bucinf6k3qlA2P9 MUVFysBpHuU+eU4xhyUN2wMuoesFGIAwO+pNp1oPGgAzlYIOsIY3Yg3xYCeZcVgLxk8L 3X/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774241117; x=1774845917; 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=yvLpeDmylsvmB/LEJZlSy65IWRbPaYcP6y6ijQXc9tU=; b=ZhhvUE3YnBAoin5IKRZ0Ih0AEguLXURFwsTcGAd6WCfuetkmvmnlXSpCTZL28ue3Wy TjWwLJfVutBd35pHWfE5iGyYWMvNDLAuJGohsVUhzZHE+Zg9/wX22Z9exAmmo/4FnShq P3LA66EdLdMh6D7/mkgMJkmRVq/HrTgQUKs3oncUEqZ3gf7oAS12ZoyppjKEh9LnZIHj AAPEVkwZSYWOR6EgoQ2T6g9Vn/AOH6E/9CavSr0hESi65O+jUCsbvPTB5C8fmfAvThxv UTk4gxak4EIm+PYol2xHI2Vtu46dzInBdfSxib4kpTcknMONw0U+g6zkmySF8y+oekhW YA8g== X-Forwarded-Encrypted: i=1; AJvYcCUm4Ccb4lrSDxMVkN83Te7fhCj8NJ4r+OnFMi65awW1L7+4/TyuFv9nnvChrNpHMo5TJUZTt64eaARbbi92@postgresql.org X-Gm-Message-State: AOJu0Yy7wtSoOYW18P4q0yg/xralj+FETVLkesu8Mm0pzcD9O/WtUbMs /2Lf31Cct4fGSx9X+qOzh85yEgFO16Jbgc39oGmuOpMx45S+UAKCNu7GW6UjiL2YDpTqdAjSB2Q u3kHqyBvjLgdJzTywzIPcwRL9R5OiDYI= X-Gm-Gg: ATEYQzwWAhAWKmE3NgtK7T6Uz6rxbrqX6GugHdUFKivlIGultuk7RS9PKv+IQ6QmMbe iWiXELwNz4aK3f45CImeUW3MfXdmoL9eNy8xMUbLvEXDuLMp6MUSFJaenWL9WzwAAo3lQ86fcIu MegCfJoWK9Gs4QIZ2FIniwrZh2szpDaIy8jISodShk0bh7mv97ptvbe2BygQSK7jW8PHV27RxYs PI0KfCYB0X/obx03lYELNVOb4fZREnWpZv1SdvGr3OIgOmwIeA7GbmB5yFxIg3NXIfc0tGo+Vpc PoLcFkoL46Wg7Fmd8GWAYAovPIbcsM6W26raYwNQ1bu0zzyOuNIuYem0tnn2dQPOy188vtfUB2X xxqUbDzOm4YZ4PgNGv6c+1pkPElg+sL5jg1u79kO72L98Bb17TUTXAH7MHhe6FljFP0UOzNyLko eBjHCNUJs2RJewnc+VR7Ha0g== X-Received: by 2002:a05:6102:3913:b0:5ff:b8d8:b40d with SMTP id ada2fe7eead31-602aec9e242mr5107648137.21.1774241116996; Sun, 22 Mar 2026 21:45:16 -0700 (PDT) MIME-Version: 1.0 References: <0d2d7026-a34f-44bf-b22d-ae9be5e48575@app.fastmail.com> In-Reply-To: <0d2d7026-a34f-44bf-b22d-ae9be5e48575@app.fastmail.com> From: jian he Date: Mon, 23 Mar 2026 12:44:40 +0800 X-Gm-Features: AQROBzC5x2Bm82t87mVW9reuvx1Og_sOaSSUF7tCrY_5yY5PmOB7lBINqSeDzZE Message-ID: Subject: Re: create table like including storage parameter To: Euler Taveira Cc: Nathan Bossart , "David G. Johnston" , pgsql-hackers Content-Type: multipart/mixed; boundary="000000000000867078064da9b36c" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000867078064da9b36c Content-Type: text/plain; charset="UTF-8" transformTableLikeClause, we have: ``` if (relation->rd_rel->relkind != RELKIND_RELATION && relation->rd_rel->relkind != RELKIND_VIEW && relation->rd_rel->relkind != RELKIND_MATVIEW && relation->rd_rel->relkind != RELKIND_COMPOSITE_TYPE && relation->rd_rel->relkind != RELKIND_FOREIGN_TABLE && relation->rd_rel->relkind != RELKIND_PARTITIONED_TABLE) ereport(ERROR, (errcode(ERRCODE_WRONG_OBJECT_TYPE), errmsg("relation \"%s\" is invalid in LIKE clause", RelationGetRelationName(relation)), errdetail_relkind_not_supported(relation->rd_rel->relkind))); ``` RELKIND_COMPOSITE_TYPE, RELKIND_FOREIGN_TABLE, RELKIND_PARTITIONED_TABLE cann't/don't have storage parameters. https://www.postgresql.org/docs/current/sql-creatematerializedview.html says "All parameters supported for CREATE TABLE are also supported for CREATE MATERIALIZED VIEW" However for RELKIND_VIEW: CREATE TABLE t_sp (a text) WITH (toast_tuple_target = 128); CREATE VIEW v1 with (check_option=local) as select a from t_sp; CREATE TABLE t_sp1 (LIKE v1 INCLUDING PARAMETERS); ERROR: unrecognized parameter "check_option" INCLUDING PARAMETERS: basically copy source pg_class.reloptions and use it for the target table. RELKIND_VIEW pg_class.reloptions is different from RELKIND_RELATION, Therefore INCLUDING PARAMETERS should not be applied when the source relation is RELKIND_VIEW. -- jian https://www.enterprisedb.com/ --000000000000867078064da9b36c Content-Type: text/x-patch; charset="US-ASCII"; name="v8-0001-Add-INCLUDING-PARAMETERS-to-CREATE-TABLE-LIKE.patch" Content-Disposition: attachment; filename="v8-0001-Add-INCLUDING-PARAMETERS-to-CREATE-TABLE-LIKE.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mn2pa0a30 RnJvbSBjMjEwMzY4OWY0YzdjN2Q1ZTdjNjU2MGM4ZjIyMzExYmQ2YTA4MDI3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IE1vbiwgMjMgTWFyIDIwMjYgMTI6Mzk6MDQgKzA4MDAKU3ViamVjdDogW1BBVENIIHY4 IDEvMV0gQWRkIElOQ0xVRElORyBQQVJBTUVURVJTIHRvIENSRUFURSBUQUJMRSBMSUtFCgpJbnRy b2R1Y2UgdGhlIFBBUkFNRVRFUlMgb3B0aW9uIHRvIGNvcHkgcGFyYW1ldGVycyB3aGVuIHVzaW5n IENSRUFURSBUQUJMRSBMSUtFLgpDdXJyZW50bHksIHRoaXMgcHJpbWFyaWx5IGFwcGxpZXMgdG8g dGhlIHN0b3JhZ2UgcGFyYW1ldGVycywgYnV0IGluIHRoZSBmdXR1cmUsCml0IG1heSBlbmNvbXBh c3Mgb3RoZXIga2luZCBwYXJhbWV0ZXJzIGluIHRoZSB0YWJsZS4KClNpbmNlIHN0b3JhZ2UgcGFy YW1ldGVycyBhcmUgbm90IGluIHRoZSBzdGFuZGFyZCwgSU5DTFVESU5HIFBBUkFNRVRFUlMgZG9l cyBub3QKY29tcGx5IHdpdGggdGhlIHN0YW5kYXJkLiAgQWxzbyBiZWNhdXNlIGZvcmVpZ24gdGFi bGVzIGNhbm5vdCBzcGVjaWZ5IHN0b3JhZ2UKcGFyYW1ldGVycywgQ1JFQVRFIEZPUkVJR04gVEFC TEUgTElLRSB3aWxsIHNpbGVudGx5IGlnbm9yZSBJTkNMVURJTkcgUEFSQU1FVEVSUy4KClRoaXMg bWFrZXMgY3JlYXRpbmcgYSBuZXcgdGFibGUgdmlhIENSRUFURSBUQUJMRSBMSUtFIG1vcmUgY29u dmVuaWVudCwgYXMgdGhlCnVzZXIgd291bGQgb3RoZXJ3aXNlIGhhdmUgdG8gbWFudWFsbHkgc3Bl Y2lmeSBldmVyeSBzdG9yYWdlIHBhcmFtZXRlci4gSXQgaXMgYQpmdXJ0aGVyIHN0ZXAgdG93YXJk IG1ha2luZyBhIG5ldyB0YWJsZSBjcmVhdGVkIHdpdGggQ1JFQVRFIFRBQkxFIExJS0UgbW9yZQpp ZGVudGljYWwgdG8gdGhlIG9yaWdpbmFsIHRhYmxlLgoKQXV0aG9yOiBqaWFuIGhlIDxqaWFuLnVu aXZlcnNhbGl0eUBnbWFpbC5jb20+ClJldmlld2VkLWJ5OiBFdWxlciBUYXZlaXJhIDxldWxlckBl dWxlcnRvLmNvbT4KUmV2aWV3ZWQtYnk6IE5hdGhhbiBCb3NzYXJ0IDxuYXRoYW5kYm9zc2FydEBn bWFpbC5jb20+ClJldmlld2VkLWJ5OiBEYXZpZCBHLiBKb2huc3RvbiA8ZGF2aWQuZy5qb2huc3Rv bkBnbWFpbC5jb20+CgpEaXNjdXNzaW9uOiBodHRwczovL3Bvc3Rnci5lcy9tL0NBQ0p1ZnhIcj1u S0VzUzY2TTdyVEhnQittWGRROTQ4PV9lSjFqenRBYzdQVC1lSmVmQUBtYWlsLmdtYWlsLmNvbQpD b21taXRmZXN0OiBodHRwczovL2NvbW1pdGZlc3QucG9zdGdyZXNxbC5vcmcvcGF0Y2gvNjA4OAot LS0KIGRvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX3RhYmxlLnNnbWwgICAgICAgICAgICB8IDE0ICsr Ky0KIHNyYy9iYWNrZW5kL2FjY2Vzcy9jb21tb24vcmVsb3B0aW9ucy5jICAgICAgICB8IDE3ICsr Ky0KIHNyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkgICAgICAgICAgICAgICAgICAgICB8ICA1ICst CiBzcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfdXRpbGNtZC5jICAgICAgICAgICAgfCA3OCArKysr KysrKysrKysrKysrKystCiBzcmMvaW5jbHVkZS9hY2Nlc3MvcmVsb3B0aW9ucy5oICAgICAgICAg ICAgICAgfCAgMSArCiBzcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmggICAgICAgICAgICAg ICAgfCAgMSArCiBzcmMvaW5jbHVkZS9wYXJzZXIva3dsaXN0LmggICAgICAgICAgICAgICAgICAg fCAgMSArCiAuLi4vcmVncmVzcy9leHBlY3RlZC9jcmVhdGVfdGFibGVfbGlrZS5vdXQgICAgfCA2 NiArKysrKysrKysrKysrKystCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC9jcmVhdGVfdGFibGVfbGlr ZS5zcWwgICAgfCA0NCArKysrKysrKysrLQogOSBmaWxlcyBjaGFuZ2VkLCAyMTggaW5zZXJ0aW9u cygrKSwgOSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0 ZV90YWJsZS5zZ21sIGIvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfdGFibGUuc2dtbAppbmRleCA5 ODI1MzJmZTcyNS4uMmEyNzhkMTk0YTUgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9yZWYvY3Jl YXRlX3RhYmxlLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfdGFibGUuc2dtbApA QCAtODgsNyArODgsNyBAQCBjbGFzcz0icGFyYW1ldGVyIj5yZWZlcmVudGlhbF9hY3Rpb248L3Jl cGxhY2VhYmxlPiBdIFsgT04gVVBEQVRFIDxyZXBsYWNlYWJsZSBjbAogCiA8cGhyYXNlPmFuZCA8 cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bGlrZV9vcHRpb248L3JlcGxhY2VhYmxlPiBp czo8L3BocmFzZT4KIAoteyBJTkNMVURJTkcgfCBFWENMVURJTkcgfSB7IENPTU1FTlRTIHwgQ09N UFJFU1NJT04gfCBDT05TVFJBSU5UUyB8IERFRkFVTFRTIHwgR0VORVJBVEVEIHwgSURFTlRJVFkg fCBJTkRFWEVTIHwgU1RBVElTVElDUyB8IFNUT1JBR0UgfCBBTEwgfQoreyBJTkNMVURJTkcgfCBF WENMVURJTkcgfSB7IENPTU1FTlRTIHwgQ09NUFJFU1NJT04gfCBDT05TVFJBSU5UUyB8IERFRkFV TFRTIHwgR0VORVJBVEVEIHwgSURFTlRJVFkgfCBJTkRFWEVTIHwgU1RBVElTVElDUyB8IFNUT1JB R0UgfCBQQVJBTUVURVJTIHwgQUxMIH0KIAogPHBocmFzZT5hbmQgPHJlcGxhY2VhYmxlIGNsYXNz PSJwYXJhbWV0ZXIiPnBhcnRpdGlvbl9ib3VuZF9zcGVjPC9yZXBsYWNlYWJsZT4gaXM6PC9waHJh c2U+CiAKQEAgLTc1NCw2ICs3NTQsMTggQEAgV0lUSCAoIE1PRFVMVVMgPHJlcGxhY2VhYmxlIGNs YXNzPSJwYXJhbWV0ZXIiPm51bWVyaWNfbGl0ZXJhbDwvcmVwbGFjZWFibGU+LCBSRU0KICAgICAg ICAgPC9saXN0aXRlbT4KICAgICAgICA8L3Zhcmxpc3RlbnRyeT4KIAorICAgICAgIDx2YXJsaXN0 ZW50cnkgaWQ9InNxbC1jcmVhdGV0YWJsZS1wYXJtcy1saWtlLW9wdC1wYXJhbXRlcnMiPgorICAg ICAgICA8dGVybT48bGl0ZXJhbD5JTkNMVURJTkcgUEFSQU1FVEVSUzwvbGl0ZXJhbD48L3Rlcm0+ CisgICAgICAgIDxsaXN0aXRlbT4KKyAgICAgICAgIDxwYXJhPgorICAgICAgICAgIEFsbCB0YWJs ZSBwYXJhbWV0ZXJzLCBzdWNoIGFzIHRoZSBzdG9yYWdlIHBhcmFtZXRlcgorICAgICAgICAgIHNl dHRpbmdzIG9mIHRoZSBzb3VyY2UgdGFibGUsIHdpbGwgYmUgY29waWVkLiAgRm9yIHRhYmxlIHN0 b3JhZ2UKKyAgICAgICAgICBwYXJhbWV0ZXJzLCBzZWUgPHhyZWYgbGlua2VuZD0ic3FsLWNyZWF0 ZXRhYmxlLXN0b3JhZ2UtcGFyYW1ldGVycyIvPgorICAgICAgICAgIGJlbG93IGZvciBtb3JlIGlu Zm9ybWF0aW9uLgorICAgICAgICAgPC9wYXJhPgorICAgICAgICA8L2xpc3RpdGVtPgorICAgICAg IDwvdmFybGlzdGVudHJ5PgorCiAgICAgICAgPHZhcmxpc3RlbnRyeSBpZD0ic3FsLWNyZWF0ZXRh YmxlLXBhcm1zLWxpa2Utb3B0LXN0YXRpc3RpY3MiPgogICAgICAgICA8dGVybT48bGl0ZXJhbD5J TkNMVURJTkcgU1RBVElTVElDUzwvbGl0ZXJhbD48L3Rlcm0+CiAgICAgICAgIDxsaXN0aXRlbT4K ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9jb21tb24vcmVsb3B0aW9ucy5jIGIvc3Jj L2JhY2tlbmQvYWNjZXNzL2NvbW1vbi9yZWxvcHRpb25zLmMKaW5kZXggMjM3YWI4ZDBlZDkuLmI4 ZjY4ZTY2MjBlIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvY29tbW9uL3JlbG9wdGlv bnMuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvY29tbW9uL3JlbG9wdGlvbnMuYwpAQCAtMTQz OCw2ICsxNDM4LDE1IEBAIHRyYW5zZm9ybVJlbE9wdGlvbnMoRGF0dW0gb2xkT3B0aW9ucywgTGlz dCAqZGVmTGlzdCwgY29uc3QgY2hhciAqbmFtZVNwYWNlLAogICovCiBMaXN0ICoKIHVudHJhbnNm b3JtUmVsT3B0aW9ucyhEYXR1bSBvcHRpb25zKQoreworCXJldHVybiB1bnRyYW5zZm9ybVJlbE9w dGlvbnNFeHRlbmRlZChvcHRpb25zLCBOVUxMKTsKK30KKworLyoKKyAqIFNhbWUgYXMgdW50cmFu c2Zvcm1SZWxPcHRpb25zKCkgYnV0IGluY2x1ZGVzIGEgbmFtZXNwYWNlIGludG8gRGVmRWxlbS4K KyAqLworTGlzdCAqCit1bnRyYW5zZm9ybVJlbE9wdGlvbnNFeHRlbmRlZChEYXR1bSBvcHRpb25z LCBjaGFyICpuYW1lU3BhY2UpCiB7CiAJTGlzdAkgICAqcmVzdWx0ID0gTklMOwogCUFycmF5VHlw ZSAgKmFycmF5OwpAQCAtMTQ2Niw3ICsxNDc1LDEzIEBAIHVudHJhbnNmb3JtUmVsT3B0aW9ucyhE YXR1bSBvcHRpb25zKQogCQkJKnArKyA9ICdcMCc7CiAJCQl2YWwgPSAoTm9kZSAqKSBtYWtlU3Ry aW5nKHApOwogCQl9Ci0JCXJlc3VsdCA9IGxhcHBlbmQocmVzdWx0LCBtYWtlRGVmRWxlbShzLCB2 YWwsIC0xKSk7CisKKwkJaWYgKG5hbWVTcGFjZSA9PSBOVUxMKQorCQkJcmVzdWx0ID0gbGFwcGVu ZChyZXN1bHQsIG1ha2VEZWZFbGVtKHMsIHZhbCwgLTEpKTsKKwkJZWxzZQorCQkJcmVzdWx0ID0g bGFwcGVuZChyZXN1bHQsIG1ha2VEZWZFbGVtRXh0ZW5kZWQobmFtZVNwYWNlLCBzLCB2YWwsCisJ CQkJCQkJCQkJCQkJCSBERUZFTEVNX1VOU1BFQywKKwkJCQkJCQkJCQkJCQkJIC0xKSk7CiAJfQog CiAJcmV0dXJuIHJlc3VsdDsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkg Yi9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55CmluZGV4IDBmZWE3MjZjZGQ1Li43MTIyY2ZmOGE1 OCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueQorKysgYi9zcmMvYmFja2Vu ZC9wYXJzZXIvZ3JhbS55CkBAIC03OTksNyArNzk5LDcgQEAgc3RhdGljIE5vZGUgKm1ha2VSZWN1 cnNpdmVWaWV3U2VsZWN0KGNoYXIgKnJlbG5hbWUsIExpc3QgKmFsaWFzZXMsIE5vZGUgKnF1ZXJ5 KTsKIAlPUkRFUiBPUkRJTkFMSVRZIE9USEVSUyBPVVRfUCBPVVRFUl9QCiAJT1ZFUiBPVkVSTEFQ UyBPVkVSTEFZIE9WRVJSSURJTkcgT1dORUQgT1dORVIKIAotCVBBUkFMTEVMIFBBUkFNRVRFUiBQ QVJTRVIgUEFSVElBTCBQQVJUSVRJT04gUEFSVElUSU9OUyBQQVNTSU5HIFBBU1NXT1JEIFBBVEgK KwlQQVJBTExFTCBQQVJBTUVURVIgUEFSQU1FVEVSUyBQQVJTRVIgUEFSVElBTCBQQVJUSVRJT04g UEFSVElUSU9OUyBQQVNTSU5HIFBBU1NXT1JEIFBBVEgKIAlQRVJJT0QgUExBQ0lORyBQTEFOIFBM QU5TIFBPTElDWQogCVBPU0lUSU9OIFBSRUNFRElORyBQUkVDSVNJT04gUFJFU0VSVkUgUFJFUEFS RSBQUkVQQVJFRCBQUklNQVJZCiAJUFJJT1IgUFJJVklMRUdFUyBQUk9DRURVUkFMIFBST0NFRFVS RSBQUk9DRURVUkVTIFBST0dSQU0gUFJPUEVSVElFUyBQUk9QRVJUWSBQVUJMSUNBVElPTgpAQCAt NDM0NSw2ICs0MzQ1LDcgQEAgVGFibGVMaWtlT3B0aW9uOgogCQkJCXwgSU5ERVhFUwkJCXsgJCQg PSBDUkVBVEVfVEFCTEVfTElLRV9JTkRFWEVTOyB9CiAJCQkJfCBTVEFUSVNUSUNTCQl7ICQkID0g Q1JFQVRFX1RBQkxFX0xJS0VfU1RBVElTVElDUzsgfQogCQkJCXwgU1RPUkFHRQkJCXsgJCQgPSBD UkVBVEVfVEFCTEVfTElLRV9TVE9SQUdFOyB9CisJCQkJfCBQQVJBTUVURVJTIAkJeyAkJCA9IENS RUFURV9UQUJMRV9MSUtFX1BBUkFNRVRFUlM7IH0KIAkJCQl8IEFMTAkJCQl7ICQkID0gQ1JFQVRF X1RBQkxFX0xJS0VfQUxMOyB9CiAJCTsKIApAQCAtMTg5MjMsNiArMTg5MjQsNyBAQCB1bnJlc2Vy dmVkX2tleXdvcmQ6CiAJCQl8IE9XTkVSCiAJCQl8IFBBUkFMTEVMCiAJCQl8IFBBUkFNRVRFUgor CQkJfCBQQVJBTUVURVJTCiAJCQl8IFBBUlNFUgogCQkJfCBQQVJUSUFMCiAJCQl8IFBBUlRJVElP TgpAQCAtMTk1NjYsNiArMTk1NjgsNyBAQCBiYXJlX2xhYmVsX2tleXdvcmQ6CiAJCQl8IE9XTkVS CiAJCQl8IFBBUkFMTEVMCiAJCQl8IFBBUkFNRVRFUgorCQkJfCBQQVJBTUVURVJTCiAJCQl8IFBB UlNFUgogCQkJfCBQQVJUSUFMCiAJCQl8IFBBUlRJVElPTgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvcGFyc2VyL3BhcnNlX3V0aWxjbWQuYyBiL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV91dGls Y21kLmMKaW5kZXggOWE5MThlMTRhYTcuLjgyY2ZjNWUyOWY3IDEwMDY0NAotLS0gYS9zcmMvYmFj a2VuZC9wYXJzZXIvcGFyc2VfdXRpbGNtZC5jCisrKyBiL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJz ZV91dGlsY21kLmMKQEAgLTg5LDYgKzg5LDggQEAgdHlwZWRlZiBzdHJ1Y3QKIAlMaXN0CSAgICpm a2NvbnN0cmFpbnRzOwkvKiBGT1JFSUdOIEtFWSBjb25zdHJhaW50cyAqLwogCUxpc3QJICAgKml4 Y29uc3RyYWludHM7CS8qIGluZGV4LWNyZWF0aW5nIGNvbnN0cmFpbnRzICovCiAJTGlzdAkgICAq bGlrZWNsYXVzZXM7CS8qIExJS0UgY2xhdXNlcyB0aGF0IG5lZWQgcG9zdC1wcm9jZXNzaW5nICov CisJTGlzdAkgICAqb3B0aW9uczsJCS8qIG9wdGlvbnMgZnJvbSBXSVRIIGNsYXVzZSwgdGFibGUg QU0gc3BlY2lmaWMKKwkJCQkJCQkJICogcGFyYW1ldGVycyAqLwogCUxpc3QJICAgKmJsaXN0OwkJ CS8qICJiZWZvcmUgbGlzdCIgb2YgdGhpbmdzIHRvIGRvIGJlZm9yZQogCQkJCQkJCQkgKiBjcmVh dGluZyB0aGUgdGFibGUgKi8KIAlMaXN0CSAgICphbGlzdDsJCQkvKiAiYWZ0ZXIgbGlzdCIgb2Yg dGhpbmdzIHRvIGRvIGFmdGVyIGNyZWF0aW5nCkBAIC0yNDksNiArMjUxLDcgQEAgdHJhbnNmb3Jt Q3JlYXRlU3RtdChDcmVhdGVTdG10ICpzdG10LCBjb25zdCBjaGFyICpxdWVyeVN0cmluZykKIAlj eHQuZmtjb25zdHJhaW50cyA9IE5JTDsKIAljeHQuaXhjb25zdHJhaW50cyA9IE5JTDsKIAljeHQu bGlrZWNsYXVzZXMgPSBOSUw7CisJY3h0Lm9wdGlvbnMgPSBzdG10LT5vcHRpb25zOwogCWN4dC5i bGlzdCA9IE5JTDsKIAljeHQuYWxpc3QgPSBOSUw7CiAJY3h0LnBrZXkgPSBOVUxMOwpAQCAtMzcz LDYgKzM3Niw3IEBAIHRyYW5zZm9ybUNyZWF0ZVN0bXQoQ3JlYXRlU3RtdCAqc3RtdCwgY29uc3Qg Y2hhciAqcXVlcnlTdHJpbmcpCiAJc3RtdC0+dGFibGVFbHRzID0gY3h0LmNvbHVtbnM7CiAJc3Rt dC0+Y29uc3RyYWludHMgPSBjeHQuY2tjb25zdHJhaW50czsKIAlzdG10LT5ubmNvbnN0cmFpbnRz ID0gY3h0Lm5uY29uc3RyYWludHM7CisJc3RtdC0+b3B0aW9ucyA9IGN4dC5vcHRpb25zOwogCiAJ cmVzdWx0ID0gbGFwcGVuZChjeHQuYmxpc3QsIHN0bXQpOwogCXJlc3VsdCA9IGxpc3RfY29uY2F0 KHJlc3VsdCwgY3h0LmFsaXN0KTsKQEAgLTExMjMsOCArMTEyNyw4IEBAIHRyYW5zZm9ybVRhYmxl Q29uc3RyYWludChDcmVhdGVTdG10Q29udGV4dCAqY3h0LCBDb25zdHJhaW50ICpjb25zdHJhaW50 KQogICogdGFibGUgaGFzIGJlZW4gY3JlYXRlZC4KICAqCiAgKiBTb21lIG9wdGlvbnMgYXJlIGln bm9yZWQuICBGb3IgZXhhbXBsZSwgYXMgZm9yZWlnbiB0YWJsZXMgaGF2ZSBubyBzdG9yYWdlLAot ICogdGhlc2UgSU5DTFVESU5HIG9wdGlvbnMgaGF2ZSBubyBlZmZlY3Q6IFNUT1JBR0UsIENPTVBS RVNTSU9OLCBJREVOVElUWQotICogYW5kIElOREVYRVMuICBTaW1pbGFybHksIElOQ0xVRElORyBJ TkRFWEVTIGlzIGlnbm9yZWQgZnJvbSBhIHZpZXcuCisgKiB0aGVzZSBJTkNMVURJTkcgb3B0aW9u cyBoYXZlIG5vIGVmZmVjdDogU1RPUkFHRSwgQ09NUFJFU1NJT04sIElERU5USVRZLAorICogSU5E RVhFUyBhbmQgUEFSQU1FVEVSUy4gIFNpbWlsYXJseSwgSU5DTFVESU5HIElOREVYRVMgaXMgaWdu b3JlZCBmcm9tIGEgdmlldy4KICAqLwogc3RhdGljIHZvaWQKIHRyYW5zZm9ybVRhYmxlTGlrZUNs YXVzZShDcmVhdGVTdG10Q29udGV4dCAqY3h0LCBUYWJsZUxpa2VDbGF1c2UgKnRhYmxlX2xpa2Vf Y2xhdXNlKQpAQCAtMTI3Miw2ICsxMjc2LDc1IEBAIHRyYW5zZm9ybVRhYmxlTGlrZUNsYXVzZShD cmVhdGVTdG10Q29udGV4dCAqY3h0LCBUYWJsZUxpa2VDbGF1c2UgKnRhYmxlX2xpa2VfY2xhCiAJ CX0KIAl9CiAKKwkvKiBMaWtld2lzZSwgY29weSBzdG9yYWdlIHBhcmFtZXRlcnMgaWYgcmVxdWVz dGVkICovCisJaWYgKCh0YWJsZV9saWtlX2NsYXVzZS0+b3B0aW9ucyAmIENSRUFURV9UQUJMRV9M SUtFX1BBUkFNRVRFUlMpICYmCisJCSFjeHQtPmlzZm9yZWlnbiAmJgorCQlyZWxhdGlvbi0+cmRf cmVsLT5yZWxraW5kICE9IFJFTEtJTkRfVklFVykKKwl7CisJCUhlYXBUdXBsZQl0dXBsZTsKKwkJ RGF0dW0JCXJlbG9wdGlvbnM7CisJCWJvb2wJCWlzbnVsbDsKKwkJT2lkCQkJcmVsaWQ7CisJCUxp c3QJICAgKm9sZG9wdGlvbnMgPSBOSUw7CisJCUxpc3QJICAgKm9sZHRvYXN0b3B0aW9ucyA9IE5J TDsKKworCQlyZWxpZCA9IFJlbGF0aW9uR2V0UmVsaWQocmVsYXRpb24pOworCQl0dXBsZSA9IFNl YXJjaFN5c0NhY2hlMShSRUxPSUQsIE9iamVjdElkR2V0RGF0dW0ocmVsaWQpKTsKKworCQlpZiAo IUhlYXBUdXBsZUlzVmFsaWQodHVwbGUpKQorCQkJZWxvZyhFUlJPUiwgImNhY2hlIGxvb2t1cCBm YWlsZWQgZm9yIHJlbGF0aW9uICV1IiwgcmVsaWQpOworCisJCXJlbG9wdGlvbnMgPSBTeXNDYWNo ZUdldEF0dHIoUkVMT0lELCB0dXBsZSwKKwkJCQkJCQkJCSBBbnVtX3BnX2NsYXNzX3JlbG9wdGlv bnMsICZpc251bGwpOworCQlpZiAoIWlzbnVsbCkKKwkJeworCQkJb2xkb3B0aW9ucyA9IHVudHJh bnNmb3JtUmVsT3B0aW9ucyhyZWxvcHRpb25zKTsKKworCQkJZm9yZWFjaF9ub2RlKERlZkVsZW0s IG9wdGlvbiwgb2xkb3B0aW9ucykKKwkJCQljeHQtPm9wdGlvbnMgPSBsYXBwZW5kKGN4dC0+b3B0 aW9ucywgb3B0aW9uKTsKKwkJfQorCisJCVJlbGVhc2VTeXNDYWNoZSh0dXBsZSk7CisKKwkJLyog Z2V0IHRoZSB0b2FzdCByZWxhdGlvbidzIHJlbG9wdGlvbnMgKi8KKwkJaWYgKE9pZElzVmFsaWQo cmVsYXRpb24tPnJkX3JlbC0+cmVsdG9hc3RyZWxpZCkpCisJCXsKKwkJCVJlbGF0aW9uCXRvYXN0 cmVsOworCQkJT2lkCQkJdG9hc3RpZCA9IHJlbGF0aW9uLT5yZF9yZWwtPnJlbHRvYXN0cmVsaWQ7 CisKKwkJCS8qCisJCQkgKiBUaGUgcmVmZXJlbmNlZCB0YWJsZSBpcyBhbHJlYWR5IGxvY2tlZDsg YWNxdWlyZSB0aGUgbG9jayBvbiBpdHMKKwkJCSAqIGFzc29jaWF0ZWQgVE9BU1QgcmVsYXRpb24g bm93LgorCQkJICovCisJCQl0b2FzdHJlbCA9IHRhYmxlX29wZW4odG9hc3RpZCwgQWNjZXNzU2hh cmVMb2NrKTsKKworCQkJdHVwbGUgPSBTZWFyY2hTeXNDYWNoZTEoUkVMT0lELCBPYmplY3RJZEdl dERhdHVtKHRvYXN0aWQpKTsKKworCQkJaWYgKCFIZWFwVHVwbGVJc1ZhbGlkKHR1cGxlKSkKKwkJ CQllbG9nKEVSUk9SLCAiY2FjaGUgbG9va3VwIGZhaWxlZCBmb3IgcmVsYXRpb24gJXUiLCB0b2Fz dGlkKTsKKworCQkJcmVsb3B0aW9ucyA9IFN5c0NhY2hlR2V0QXR0cihSRUxPSUQsIHR1cGxlLCBB bnVtX3BnX2NsYXNzX3JlbG9wdGlvbnMsCisJCQkJCQkJCQkJICZpc251bGwpOworCQkJaWYgKCFp c251bGwpCisJCQl7CisJCQkJb2xkdG9hc3RvcHRpb25zID0gdW50cmFuc2Zvcm1SZWxPcHRpb25z RXh0ZW5kZWQocmVsb3B0aW9ucywgInRvYXN0Iik7CisKKwkJCQlmb3JlYWNoX25vZGUoRGVmRWxl bSwgb3B0aW9uLCBvbGR0b2FzdG9wdGlvbnMpCisJCQkJCWN4dC0+b3B0aW9ucyA9IGxhcHBlbmQo Y3h0LT5vcHRpb25zLCBvcHRpb24pOworCQkJfQorCisJCQlSZWxlYXNlU3lzQ2FjaGUodHVwbGUp OworCisJCQkvKgorCQkJICogQ2xvc2UgdGhlIHRvYXN0IHJlbGF0aW9uLCBidXQga2VlcCBvdXIg QWNjZXNzU2hhcmVMb2NrIG9uIGl0CisJCQkgKiB1bnRpbCB4YWN0IGNvbW1pdC4gIFRoYXQgd2ls bCBwcmV2ZW50IHNvbWVvbmUgZWxzZSBmcm9tCisJCQkgKiBkZWxldGluZyBvciBBTFRFUmluZyB0 aGUgcGFyZW50IFRPQVNUIGJlZm9yZSB3ZSBjYW4gcnVuCisJCQkgKiBleHBhbmRUYWJsZUxpa2VD bGF1c2UuCisJCQkgKi8KKwkJCXRhYmxlX2Nsb3NlKHRvYXN0cmVsLCBOb0xvY2spOworCQl9CisJ fQorCiAJLyoKIAkgKiBSZXByb2R1Y2Ugbm90LW51bGwgY29uc3RyYWludHMsIGlmIGFueSwgYnkg Y29weWluZyB0aGVtLiAgV2UgZG8gdGhpcwogCSAqIHJlZ2FyZGxlc3Mgb2Ygb3B0aW9ucyBnaXZl bi4KQEAgLTM4NjcsNiArMzk0MCw3IEBAIHRyYW5zZm9ybUFsdGVyVGFibGVTdG10KE9pZCByZWxp ZCwgQWx0ZXJUYWJsZVN0bXQgKnN0bXQsCiAJY3h0LmZrY29uc3RyYWludHMgPSBOSUw7CiAJY3h0 Lml4Y29uc3RyYWludHMgPSBOSUw7CiAJY3h0Lmxpa2VjbGF1c2VzID0gTklMOworCWN4dC5vcHRp b25zID0gTklMOwogCWN4dC5ibGlzdCA9IE5JTDsKIAljeHQuYWxpc3QgPSBOSUw7CiAJY3h0LnBr ZXkgPSBOVUxMOwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvYWNjZXNzL3JlbG9wdGlvbnMuaCBi L3NyYy9pbmNsdWRlL2FjY2Vzcy9yZWxvcHRpb25zLmgKaW5kZXggMGJkMTdiMzBjYTcuLjIxY2U1 OGNlOGE3IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9hY2Nlc3MvcmVsb3B0aW9ucy5oCisrKyBi L3NyYy9pbmNsdWRlL2FjY2Vzcy9yZWxvcHRpb25zLmgKQEAgLTIzNiw2ICsyMzYsNyBAQCBleHRl cm4gRGF0dW0gdHJhbnNmb3JtUmVsT3B0aW9ucyhEYXR1bSBvbGRPcHRpb25zLCBMaXN0ICpkZWZM aXN0LAogCQkJCQkJCQkgY29uc3QgY2hhciAqbmFtZVNwYWNlLCBjb25zdCBjaGFyICpjb25zdCB2 YWxpZG5zcHNbXSwKIAkJCQkJCQkJIGJvb2wgYWNjZXB0T2lkc09mZiwgYm9vbCBpc1Jlc2V0KTsK IGV4dGVybiBMaXN0ICp1bnRyYW5zZm9ybVJlbE9wdGlvbnMoRGF0dW0gb3B0aW9ucyk7CitleHRl cm4gTGlzdCAqdW50cmFuc2Zvcm1SZWxPcHRpb25zRXh0ZW5kZWQoRGF0dW0gb3B0aW9ucywgY2hh ciAqbmFtZVNwYWNlKTsKIGV4dGVybiBieXRlYSAqZXh0cmFjdFJlbE9wdGlvbnMoSGVhcFR1cGxl IHR1cGxlLCBUdXBsZURlc2MgdHVwZGVzYywKIAkJCQkJCQkJYW1vcHRpb25zX2Z1bmN0aW9uIGFt b3B0aW9ucyk7CiBleHRlcm4gdm9pZCAqYnVpbGRfcmVsb3B0aW9ucyhEYXR1bSByZWxvcHRpb25z LCBib29sIHZhbGlkYXRlLApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvbm9kZXMvcGFyc2Vub2Rl cy5oIGIvc3JjL2luY2x1ZGUvbm9kZXMvcGFyc2Vub2Rlcy5oCmluZGV4IGRmNDMxMjIwYWM1Li5j YzFlMTRlZjhiOCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvbm9kZXMvcGFyc2Vub2Rlcy5oCisr KyBiL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaApAQCAtODA4LDYgKzgwOCw3IEBAIHR5 cGVkZWYgZW51bSBUYWJsZUxpa2VPcHRpb24KIAlDUkVBVEVfVEFCTEVfTElLRV9JTkRFWEVTID0g MSA8PCA2LAogCUNSRUFURV9UQUJMRV9MSUtFX1NUQVRJU1RJQ1MgPSAxIDw8IDcsCiAJQ1JFQVRF X1RBQkxFX0xJS0VfU1RPUkFHRSA9IDEgPDwgOCwKKwlDUkVBVEVfVEFCTEVfTElLRV9QQVJBTUVU RVJTID0gMSA8PCA5LAogCUNSRUFURV9UQUJMRV9MSUtFX0FMTCA9IFBHX0lOVDMyX01BWAogfSBU YWJsZUxpa2VPcHRpb247CiAKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3BhcnNlci9rd2xpc3Qu aCBiL3NyYy9pbmNsdWRlL3BhcnNlci9rd2xpc3QuaAppbmRleCBiN2RlZDZlNjA4OC4uNDhkOWIy MGJiMzcgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3BhcnNlci9rd2xpc3QuaAorKysgYi9zcmMv aW5jbHVkZS9wYXJzZXIva3dsaXN0LmgKQEAgLTM0MSw2ICszNDEsNyBAQCBQR19LRVlXT1JEKCJv d25lZCIsIE9XTkVELCBVTlJFU0VSVkVEX0tFWVdPUkQsIEJBUkVfTEFCRUwpCiBQR19LRVlXT1JE KCJvd25lciIsIE9XTkVSLCBVTlJFU0VSVkVEX0tFWVdPUkQsIEJBUkVfTEFCRUwpCiBQR19LRVlX T1JEKCJwYXJhbGxlbCIsIFBBUkFMTEVMLCBVTlJFU0VSVkVEX0tFWVdPUkQsIEJBUkVfTEFCRUwp CiBQR19LRVlXT1JEKCJwYXJhbWV0ZXIiLCBQQVJBTUVURVIsIFVOUkVTRVJWRURfS0VZV09SRCwg QkFSRV9MQUJFTCkKK1BHX0tFWVdPUkQoInBhcmFtZXRlcnMiLCBQQVJBTUVURVJTLCBVTlJFU0VS VkVEX0tFWVdPUkQsIEJBUkVfTEFCRUwpCiBQR19LRVlXT1JEKCJwYXJzZXIiLCBQQVJTRVIsIFVO UkVTRVJWRURfS0VZV09SRCwgQkFSRV9MQUJFTCkKIFBHX0tFWVdPUkQoInBhcnRpYWwiLCBQQVJU SUFMLCBVTlJFU0VSVkVEX0tFWVdPUkQsIEJBUkVfTEFCRUwpCiBQR19LRVlXT1JEKCJwYXJ0aXRp b24iLCBQQVJUSVRJT04sIFVOUkVTRVJWRURfS0VZV09SRCwgQkFSRV9MQUJFTCkKZGlmZiAtLWdp dCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvY3JlYXRlX3RhYmxlX2xpa2Uub3V0IGIvc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC9jcmVhdGVfdGFibGVfbGlrZS5vdXQKaW5kZXggZDNjMzVj MTQ4NDcuLmIxNzZjMzlhNGZjIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L2NyZWF0ZV90YWJsZV9saWtlLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2Ny ZWF0ZV90YWJsZV9saWtlLm91dApAQCAtNjA1LDcgKzYwNSw4IEBAIENSRUFURSBUQUJMRSBjdGxf dGFibGUoYSBpbnQgUFJJTUFSWSBLRVksCiAgIGIgdmFyY2hhciBDT01QUkVTU0lPTiBwZ2x6LAog ICBjIGludCBHRU5FUkFURUQgQUxXQVlTIEFTIChhICogMikgU1RPUkVELAogICBkIGJpZ2ludCBH RU5FUkFURUQgQUxXQVlTIEFTIElERU5USVRZLAotICBlIGludCBERUZBVUxUIDEpOworICBlIGlu dCBERUZBVUxUIDEpCisgIFdJVEggKGZpbGxmYWN0b3IgPSAxMDApOwogQ1JFQVRFIElOREVYIGN0 bF90YWJsZV9hX2tleSBPTiBjdGxfdGFibGUoYSk7CiBDT01NRU5UIE9OIENPTFVNTiBjdGxfdGFi bGUuYiBJUyAnQ29sdW1uIGInOwogQ1JFQVRFIFNUQVRJU1RJQ1MgY3RsX3RhYmxlX3N0YXQgT04g YSxiIEZST00gY3RsX3RhYmxlOwpAQCAtNjMwLDYgKzYzMSw3IEBAIFN0YXRpc3RpY3Mgb2JqZWN0 czoKIE5vdC1udWxsIGNvbnN0cmFpbnRzOgogICAgICJjdGxfdGFibGVfYV9ub3RfbnVsbCIgTk9U IE5VTEwgImEiCiAgICAgImN0bF90YWJsZV9kX25vdF9udWxsIiBOT1QgTlVMTCAiZCIKK09wdGlv bnM6IGZpbGxmYWN0b3I9MTAwCiAKIC0tIFRlc3QgRVhDTFVESU5HIEFMTAogQ1JFQVRFIEZPUkVJ R04gVEFCTEUgY3RsX2ZvcmVpZ25fdGFibGUxKExJS0UgY3RsX3RhYmxlIEVYQ0xVRElORyBBTEwp IFNFUlZFUiBjdGxfczA7CkBAIC02NjEsNyArNjYzLDcgQEAgU0VMRUNUIGF0dG5hbWUsIGF0dGNv bXByZXNzaW9uIEZST00gcGdfYXR0cmlidXRlCiAoNSByb3dzKQogCiAtLSBUZXN0IElOQ0xVRElO RyBBTEwKLS0tIElOREVYRVMsIElERU5USVRZLCBDT01QUkVTU0lPTiwgU1RPUkFHRSBhcmUgbm90 IGNvcGllZC4KKy0tIElOREVYRVMsIElERU5USVRZLCBDT01QUkVTU0lPTiwgU1RPUkFHRSwgUEFS QU1FVEVSUyBhcmUgbm90IGNvcGllZC4KIENSRUFURSBGT1JFSUdOIFRBQkxFIGN0bF9mb3JlaWdu X3RhYmxlMihMSUtFIGN0bF90YWJsZSBJTkNMVURJTkcgQUxMKSBTRVJWRVIgY3RsX3MwOwogXGQr IGN0bF9mb3JlaWduX3RhYmxlMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBGb3JlaWduIHRhYmxlICJwdWJsaWMuY3RsX2ZvcmVpZ25fdGFibGUyIgpA QCAtNjk5LDMgKzcwMSw2MyBAQCBEUk9QIEZPUkVJR04gVEFCTEUgY3RsX2ZvcmVpZ25fdGFibGUx OwogRFJPUCBGT1JFSUdOIFRBQkxFIGN0bF9mb3JlaWduX3RhYmxlMjsKIERST1AgRk9SRUlHTiBE QVRBIFdSQVBQRVIgY3RsX2R1bW15IENBU0NBREU7CiBOT1RJQ0U6ICBkcm9wIGNhc2NhZGVzIHRv IHNlcnZlciBjdGxfczAKKy0tIENSRUFURSBUQUJMRSBMSUtFIHdpdGggUEFSQU1FVEVSUworQ1JF QVRFIFRBQkxFIHRfc3AgKGEgdGV4dCkgV0lUSCAoCisgIGZpbGxmYWN0b3IgPSAxMDAsCisgIHRv YXN0X3R1cGxlX3RhcmdldCA9IDEyOCwKKyAgdmFjdXVtX2luZGV4X2NsZWFudXAgPSBhdXRvLAor ICB0b2FzdC52YWN1dW1faW5kZXhfY2xlYW51cCA9IGF1dG8sCisgIHZhY3V1bV90cnVuY2F0ZSA9 IHRydWUsCisgIHRvYXN0LnZhY3V1bV90cnVuY2F0ZSA9IGZhbHNlLAorICBsb2dfYXV0b3ZhY3V1 bV9taW5fZHVyYXRpb24gPSAxMDAsCisgIHRvYXN0LmxvZ19hdXRvdmFjdXVtX21pbl9kdXJhdGlv biA9IDEwMCk7CitDUkVBVEUgVEFCTEUgdF9zcDEgKExJS0UgdF9zcCBJTkNMVURJTkcgUEFSQU1F VEVSUykgV0lUSCAoZmlsbGZhY3RvciA9IDEwMCk7IC0tIGZhaWwKK0VSUk9SOiAgcGFyYW1ldGVy ICJmaWxsZmFjdG9yIiBzcGVjaWZpZWQgbW9yZSB0aGFuIG9uY2UKK0NSRUFURSBUQUJMRSB0X3Nw MSAoTElLRSB0X3NwIEVYQ0xVRElORyBQQVJBTUVURVJTKSBXSVRIIChmaWxsZmFjdG9yID0gMTAw KTsgLS0gb2sKK1xkKyB0X3NwMQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRh YmxlICJwdWJsaWMudF9zcDEiCisgQ29sdW1uIHwgVHlwZSB8IENvbGxhdGlvbiB8IE51bGxhYmxl IHwgRGVmYXVsdCB8IFN0b3JhZ2UgIHwgU3RhdHMgdGFyZ2V0IHwgRGVzY3JpcHRpb24gCistLS0t LS0tLSstLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCisgYSAgICAgIHwgdGV4dCB8ICAgICAgICAgICB8 ICAgICAgICAgIHwgICAgICAgICB8IGV4dGVuZGVkIHwgICAgICAgICAgICAgIHwgCitPcHRpb25z OiBmaWxsZmFjdG9yPTEwMAorCitDUkVBVEUgVEFCTEUgdF9zcDIgKExJS0UgdF9zcCBJTkNMVURJ TkcgUEFSQU1FVEVSUykgV0lUSCAoCisgIHBhcmFsbGVsX3dvcmtlcnMgPSAzLAorICB0b2FzdC5h dXRvdmFjdXVtX3ZhY3V1bV90aHJlc2hvbGQgPSAxMDEsCisgIHRvYXN0LmF1dG92YWN1dW1fdmFj dXVtX3NjYWxlX2ZhY3RvciA9IDAuMyk7CitTRUxFQ1QgYy5yZWxuYW1lLCBjLnJlbG9wdGlvbnMs IHQucmVsb3B0aW9ucyBhcyB0b2FzdF9yZWxvcHRpb25zCisgIEZST00gcGdfY2F0YWxvZy5wZ19j bGFzcyBjCisgIExFRlQgSk9JTiBwZ19jYXRhbG9nLnBnX2NsYXNzIHQgT04gKGMucmVsdG9hc3Ry ZWxpZCA9IHQub2lkKQorICBXSEVSRSBjLnJlbG5hbWUgSU4gKCd0X3NwMScsICd0X3NwMicpCisg IE9SREVSIEJZIGMucmVsbmFtZSBcZ3gKKy1bIFJFQ09SRCAxIF0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCityZWxuYW1lICAgICAgICAgIHwgdF9zcDEKK3JlbG9wdGlv bnMgICAgICAgfCB7ZmlsbGZhY3Rvcj0xMDB9Cit0b2FzdF9yZWxvcHRpb25zIHwgCistWyBSRUNP UkQgMiBdLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorcmVsbmFtZSAg ICAgICAgICB8IHRfc3AyCityZWxvcHRpb25zICAgICAgIHwge3BhcmFsbGVsX3dvcmtlcnM9Myxm aWxsZmFjdG9yPTEwMCx0b2FzdF90dXBsZV90YXJnZXQ9MTI4LHZhY3V1bV9pbmRleF9jbGVhbnVw PWF1dG8sdmFjdXVtX3RydW5jYXRlPXRydWUsbG9nX2F1dG92YWN1dW1fbWluX2R1cmF0aW9uPTEw MH0KK3RvYXN0X3JlbG9wdGlvbnMgfCB7YXV0b3ZhY3V1bV92YWN1dW1fdGhyZXNob2xkPTEwMSxh dXRvdmFjdXVtX3ZhY3V1bV9zY2FsZV9mYWN0b3I9MC4zLHZhY3V1bV9pbmRleF9jbGVhbnVwPWF1 dG8sdmFjdXVtX3RydW5jYXRlPWZhbHNlLGxvZ19hdXRvdmFjdXVtX21pbl9kdXJhdGlvbj0xMDB9 CisKK0NSRUFURSBNQVRFUklBTElaRUQgVklFVyBtdl9kdW1teSBXSVRIIChmaWxsZmFjdG9yID0g MTApIEFTIFNFTEVDVCAxIEFTIGE7CitDUkVBVEUgVEFCTEUgdF9zcDMgKExJS0UgbXZfZHVtbXkg SU5DTFVESU5HIFBBUkFNRVRFUlMpOworXGQrIHRfc3AzCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFRhYmxlICJwdWJsaWMudF9zcDMiCisgQ29sdW1uIHwgIFR5cGUgICB8IENv bGxhdGlvbiB8IE51bGxhYmxlIHwgRGVmYXVsdCB8IFN0b3JhZ2UgfCBTdGF0cyB0YXJnZXQgfCBE ZXNjcmlwdGlvbiAKKy0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0t LS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQorIGEgICAgICB8 IGludGVnZXIgfCAgICAgICAgICAgfCAgICAgICAgICB8ICAgICAgICAgfCBwbGFpbiAgIHwgICAg ICAgICAgICAgIHwgCitPcHRpb25zOiBmaWxsZmFjdG9yPTEwCisKK0NSRUFURSBWSUVXIHRfc3B2 MSBXSVRIIChjaGVja19vcHRpb249bG9jYWwpIEFTIFNFTEVDVCBhIEZST00gdF9zcDsKK0NSRUFU RSBUQUJMRSB0X3NwNCAoTElLRSB0X3NwdjEgSU5DTFVESU5HIFBBUkFNRVRFUlMpIFdJVEggKGZp bGxmYWN0b3IgPSAxMCk7CistLSB2aWV3IG9wdGlvbiAoY2hlY2tfb3B0aW9uPWxvY2FsKSB3aWxs IG5vdCBjb3BpZWQgdG8gbmV3IHRhYmxlCitcZCsgdF9zcDQKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBUYWJsZSAicHVibGljLnRfc3A0IgorIENvbHVtbiB8IFR5cGUgfCBDb2xs YXRpb24gfCBOdWxsYWJsZSB8IERlZmF1bHQgfCBTdG9yYWdlICB8IFN0YXRzIHRhcmdldCB8IERl c2NyaXB0aW9uIAorLS0tLS0tLS0rLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0t LS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQorIGEgICAgICB8IHRl eHQgfCAgICAgICAgICAgfCAgICAgICAgICB8ICAgICAgICAgfCBleHRlbmRlZCB8ICAgICAgICAg ICAgICB8IAorT3B0aW9uczogZmlsbGZhY3Rvcj0xMAorCitEUk9QIFZJRVcgdF9zcHYxOworRFJP UCBNQVRFUklBTElaRUQgVklFVyBtdl9kdW1teTsKK0RST1AgVEFCTEUgdF9zcCwgdF9zcDEsIHRf c3AyLCB0X3NwMzsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2NyZWF0ZV90YWJs ZV9saWtlLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2NyZWF0ZV90YWJsZV9saWtlLnNxbApp bmRleCA5MzM4OWI1N2RiZi4uMDdhNmI1MGY3ZTAgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jl c3Mvc3FsL2NyZWF0ZV90YWJsZV9saWtlLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9j cmVhdGVfdGFibGVfbGlrZS5zcWwKQEAgLTI0OSw3ICsyNDksOCBAQCBDUkVBVEUgVEFCTEUgY3Rs X3RhYmxlKGEgaW50IFBSSU1BUlkgS0VZLAogICBiIHZhcmNoYXIgQ09NUFJFU1NJT04gcGdseiwK ICAgYyBpbnQgR0VORVJBVEVEIEFMV0FZUyBBUyAoYSAqIDIpIFNUT1JFRCwKICAgZCBiaWdpbnQg R0VORVJBVEVEIEFMV0FZUyBBUyBJREVOVElUWSwKLSAgZSBpbnQgREVGQVVMVCAxKTsKKyAgZSBp bnQgREVGQVVMVCAxKQorICBXSVRIIChmaWxsZmFjdG9yID0gMTAwKTsKIAogQ1JFQVRFIElOREVY IGN0bF90YWJsZV9hX2tleSBPTiBjdGxfdGFibGUoYSk7CiBDT01NRU5UIE9OIENPTFVNTiBjdGxf dGFibGUuYiBJUyAnQ29sdW1uIGInOwpAQCAtMjY4LDcgKzI2OSw3IEBAIFNFTEVDVCBhdHRuYW1l LCBhdHRjb21wcmVzc2lvbiBGUk9NIHBnX2F0dHJpYnV0ZQogICBXSEVSRSBhdHRyZWxpZCA9ICdj dGxfZm9yZWlnbl90YWJsZTEnOjpyZWdjbGFzcyBhbmQgYXR0bnVtID4gMCBPUkRFUiBCWSBhdHRu dW07CiAKIC0tIFRlc3QgSU5DTFVESU5HIEFMTAotLS0gSU5ERVhFUywgSURFTlRJVFksIENPTVBS RVNTSU9OLCBTVE9SQUdFIGFyZSBub3QgY29waWVkLgorLS0gSU5ERVhFUywgSURFTlRJVFksIENP TVBSRVNTSU9OLCBTVE9SQUdFLCBQQVJBTUVURVJTIGFyZSBub3QgY29waWVkLgogQ1JFQVRFIEZP UkVJR04gVEFCTEUgY3RsX2ZvcmVpZ25fdGFibGUyKExJS0UgY3RsX3RhYmxlIElOQ0xVRElORyBB TEwpIFNFUlZFUiBjdGxfczA7CiBcZCsgY3RsX2ZvcmVpZ25fdGFibGUyCiAtLSBcZCsgZG9lcyBu b3QgcmVwb3J0IHRoZSB2YWx1ZSBvZiBhdHRjb21wcmVzc2lvbiBmb3IgYSBmb3JlaWduIHRhYmxl LCBzbwpAQCAtMjgwLDMgKzI4MSw0MiBAQCBEUk9QIFRBQkxFIGN0bF90YWJsZTsKIERST1AgRk9S RUlHTiBUQUJMRSBjdGxfZm9yZWlnbl90YWJsZTE7CiBEUk9QIEZPUkVJR04gVEFCTEUgY3RsX2Zv cmVpZ25fdGFibGUyOwogRFJPUCBGT1JFSUdOIERBVEEgV1JBUFBFUiBjdGxfZHVtbXkgQ0FTQ0FE RTsKKworLS0gQ1JFQVRFIFRBQkxFIExJS0Ugd2l0aCBQQVJBTUVURVJTCitDUkVBVEUgVEFCTEUg dF9zcCAoYSB0ZXh0KSBXSVRIICgKKyAgZmlsbGZhY3RvciA9IDEwMCwKKyAgdG9hc3RfdHVwbGVf dGFyZ2V0ID0gMTI4LAorICB2YWN1dW1faW5kZXhfY2xlYW51cCA9IGF1dG8sCisgIHRvYXN0LnZh Y3V1bV9pbmRleF9jbGVhbnVwID0gYXV0bywKKyAgdmFjdXVtX3RydW5jYXRlID0gdHJ1ZSwKKyAg dG9hc3QudmFjdXVtX3RydW5jYXRlID0gZmFsc2UsCisgIGxvZ19hdXRvdmFjdXVtX21pbl9kdXJh dGlvbiA9IDEwMCwKKyAgdG9hc3QubG9nX2F1dG92YWN1dW1fbWluX2R1cmF0aW9uID0gMTAwKTsK KworQ1JFQVRFIFRBQkxFIHRfc3AxIChMSUtFIHRfc3AgSU5DTFVESU5HIFBBUkFNRVRFUlMpIFdJ VEggKGZpbGxmYWN0b3IgPSAxMDApOyAtLSBmYWlsCitDUkVBVEUgVEFCTEUgdF9zcDEgKExJS0Ug dF9zcCBFWENMVURJTkcgUEFSQU1FVEVSUykgV0lUSCAoZmlsbGZhY3RvciA9IDEwMCk7IC0tIG9r CitcZCsgdF9zcDEKKworQ1JFQVRFIFRBQkxFIHRfc3AyIChMSUtFIHRfc3AgSU5DTFVESU5HIFBB UkFNRVRFUlMpIFdJVEggKAorICBwYXJhbGxlbF93b3JrZXJzID0gMywKKyAgdG9hc3QuYXV0b3Zh Y3V1bV92YWN1dW1fdGhyZXNob2xkID0gMTAxLAorICB0b2FzdC5hdXRvdmFjdXVtX3ZhY3V1bV9z Y2FsZV9mYWN0b3IgPSAwLjMpOworCitTRUxFQ1QgYy5yZWxuYW1lLCBjLnJlbG9wdGlvbnMsIHQu cmVsb3B0aW9ucyBhcyB0b2FzdF9yZWxvcHRpb25zCisgIEZST00gcGdfY2F0YWxvZy5wZ19jbGFz cyBjCisgIExFRlQgSk9JTiBwZ19jYXRhbG9nLnBnX2NsYXNzIHQgT04gKGMucmVsdG9hc3RyZWxp ZCA9IHQub2lkKQorICBXSEVSRSBjLnJlbG5hbWUgSU4gKCd0X3NwMScsICd0X3NwMicpCisgIE9S REVSIEJZIGMucmVsbmFtZSBcZ3gKKworQ1JFQVRFIE1BVEVSSUFMSVpFRCBWSUVXIG12X2R1bW15 IFdJVEggKGZpbGxmYWN0b3IgPSAxMCkgQVMgU0VMRUNUIDEgQVMgYTsKK0NSRUFURSBUQUJMRSB0 X3NwMyAoTElLRSBtdl9kdW1teSBJTkNMVURJTkcgUEFSQU1FVEVSUyk7CitcZCsgdF9zcDMKKwor Q1JFQVRFIFZJRVcgdF9zcHYxIFdJVEggKGNoZWNrX29wdGlvbj1sb2NhbCkgQVMgU0VMRUNUIGEg RlJPTSB0X3NwOworQ1JFQVRFIFRBQkxFIHRfc3A0IChMSUtFIHRfc3B2MSBJTkNMVURJTkcgUEFS QU1FVEVSUykgV0lUSCAoZmlsbGZhY3RvciA9IDEwKTsKKy0tIHZpZXcgb3B0aW9uIChjaGVja19v cHRpb249bG9jYWwpIHdpbGwgbm90IGNvcGllZCB0byBuZXcgdGFibGUKK1xkKyB0X3NwNAorCitE Uk9QIFZJRVcgdF9zcHYxOworRFJPUCBNQVRFUklBTElaRUQgVklFVyBtdl9kdW1teTsKK0RST1Ag VEFCTEUgdF9zcCwgdF9zcDEsIHRfc3AyLCB0X3NwMzsKLS0gCjIuMzQuMQoK --000000000000867078064da9b36c--