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 1kHmtc-0002LE-FI for pgadmin-hackers@arkaria.postgresql.org; Mon, 14 Sep 2020 11:43:44 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1kHmta-0005En-KD for pgadmin-hackers@arkaria.postgresql.org; Mon, 14 Sep 2020 11:43:42 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kHmta-0005Ef-2n for pgadmin-hackers@lists.postgresql.org; Mon, 14 Sep 2020 11:43:42 +0000 Received: from mail-pg1-x52a.google.com ([2607:f8b0:4864:20::52a]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1kHmtW-00050R-T7 for pgadmin-hackers@postgresql.org; Mon, 14 Sep 2020 11:43:40 +0000 Received: by mail-pg1-x52a.google.com with SMTP id j34so11325738pgi.7 for ; Mon, 14 Sep 2020 04:43:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to; bh=gNcJsP7VbcU6IM4uYBstBjjURbhTGY0U77yBt/RiBjQ=; b=GraQZUTbLJ3FHv6M7b16Qr9qjTerVGlAUeCi5YYFaRj4iAq2y/O0V9ugbOikDTuKq/ n71TFOomymPLmmEf8w+ByRp7ItrH51QZQw3pd21E6CSK349E7Ug2motwTEX+nEa4N6Mj ALm7W+DdmKI9ApSbKNhiq/DRzKRsZOKKhQX5Al4xdFrQDP+9B4sEbfTMWsuMaBd3nfWd Yry/NgPbWpBn3aUpZw/V9+wSnPvSvba38fWeHDJX3rfl+vremccowOi0sur77FHb7Ae4 Bl7YC0VuTO+HlfZo6KWerQ/0klF6Kw012LSlg1ulnfLM/3NsUmJcGTMtt8lvEL5YEA5Y DRbg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=gNcJsP7VbcU6IM4uYBstBjjURbhTGY0U77yBt/RiBjQ=; b=Hnx2u6CNjYWiBMgwOXg9E3zOF4d/fd737qxwoMMq6pIO2NlJCivxvFdQxzAlaZzNXJ fPxbKA7KZyGH5f5S1WJ4VleLVeo6e9sDKyYxV1ga14NH+YbERcx+Fht01l3GAKguVQkt 31FCYouLpsYLBHX/IdUjPadtXGtjT71gFg/m3wvLse7f/aKHklp1C/8p0/w6hjA/8nIT R0FwiBqNO1dYNUXanm8dJUUl6NfDNOszDC4q6tzluPbmXLFF0MRVq3ZViIiQjEj6WZnt hsCZkrLywQayI9K963SC5CD8VGzdS0hgCNwL3DbgeVuiFC1AU1UkiQlmPwxWVB8mkRWh dJ6Q== X-Gm-Message-State: AOAM53236CY7FP3JpLSI9CkcF4MkM2tGHs9TONjGyZN7u8jV9NmNX3hG G2L6jNUfBD690XevUPNkbpk6PG73wm3fBAXAFpxJYSY1RWTPZ5+wWnSxOvbrWXpntniYmYV3Lr0 GTu01DLlxmtik7iRJk5Dl5B6vV5hDkX+IbeNe8AHSsS1QmUlY0cCVYJdsE5LXeq3TU8MdOhEtMq F6xziM9t+coMVqZX8FPvBbTeoYl0QYYjYaXSt4fDn8XPGnZXamK0Mm4ngY4er3/OUKkTWx X-Google-Smtp-Source: ABdhPJxG9AcMmOYNtrurThmTv2SikOZ4IXQbg62la/ubt1gHjY2orzDbMP4QDcvWw8NbN4lUE6++L1hnef1H+Fd0Lm8= X-Received: by 2002:aa7:9a41:: with SMTP id x1mr12854279pfj.138.1600083817285; Mon, 14 Sep 2020 04:43:37 -0700 (PDT) MIME-Version: 1.0 From: Ganesh Jaybhay Date: Mon, 14 Sep 2020 17:13:26 +0530 Message-ID: Subject: [pgAdmin][RM5830] View: parenthesis re-arrangement with AND/OR To: pgadmin-hackers Content-Type: multipart/mixed; boundary="0000000000008a8f4905af448bfb" X-CLOUD-SEC-AV-Info: enterprisedb,google_mail,monitor X-CLOUD-SEC-AV-Sent: true X-Gm-Spam: 0 X-Gm-Phishy: 0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --0000000000008a8f4905af448bfb Content-Type: multipart/alternative; boundary="0000000000008a8f4705af448bf9" --0000000000008a8f4705af448bf9 Content-Type: text/plain; charset="UTF-8" Hi Hackers, Please find the attached patch to add the parenthesis similar to dba_views for the created views. Please review. Regards, Ganesh Jaybhay --0000000000008a8f4705af448bf9 Content-Type: text/html; charset="UTF-8"
Hi Hackers,

Please find the attached patch to add the parenthesis similar to dba_views for the created views.
Please review.

Regards,
Ganesh Jaybhay
--0000000000008a8f4705af448bf9-- --0000000000008a8f4905af448bfb Content-Type: application/octet-stream; name="RM5830.patch" Content-Disposition: attachment; filename="RM5830.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kf2gka8t0 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRlcy9tdmlld3MvcGcvOS4zX3BsdXMvc3FsL3By b3BlcnRpZXMuc3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvdGVtcGxhdGVzL212aWV3cy9wZy85LjNfcGx1cy9zcWwv cHJvcGVydGllcy5zcWwKaW5kZXggMzliNDM1Yy4uYjJkNmU0NiAxMDA2NDQKLS0tIGEvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmll d3MvdGVtcGxhdGVzL212aWV3cy9wZy85LjNfcGx1cy9zcWwvcHJvcGVydGllcy5zcWwKKysrIGIv d2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVt YXMvdmlld3MvdGVtcGxhdGVzL212aWV3cy9wZy85LjNfcGx1cy9zcWwvcHJvcGVydGllcy5zcWwK QEAgLTE1LDcgKzE1LDcgQEAgU0VMRUNUCiAgICAgbnNwLm5zcG5hbWUgYXMgc2NoZW1hLAogICAg IHBnX2dldF91c2VyYnlpZChjLnJlbG93bmVyKSBBUyBvd25lciwKICAgICBkZXNjcmlwdGlvbiBB UyBjb21tZW50LAotICAgIHBnX2dldF92aWV3ZGVmKGMub2lkLCB0cnVlKSBBUyBkZWZpbml0aW9u LAorICAgIHBnX2dldF92aWV3ZGVmKGMub2lkKSBBUyBkZWZpbml0aW9uLAogICAgIHsjID09PT09 PT09PT09PT0gQ2hlY2tzIGlmIGl0IGlzIHN5c3RlbSB2aWV3ID09PT09PT09PT09PT09PT0gI30K ICAgICB7JSBpZiB2aWQgYW5kIGRhdGxhc3RzeXNvaWQgJX0KICAgICBDQVNFIFdIRU4ge3t2aWR9 fSA8PSB7e2RhdGxhc3RzeXNvaWR9fSBUSEVOIFRydWUgRUxTRSBGYWxzZSBFTkQgQVMgc3lzdGVt X3ZpZXcsCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy90ZW1wbGF0ZXMvbXZpZXdzL3BnLzkuNF9wbHVz L3NxbC9wcm9wZXJ0aWVzLnNxbCBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRlcy9tdmlld3MvcGcvOS40X3Bs dXMvc3FsL3Byb3BlcnRpZXMuc3FsCmluZGV4IDM5YjQzNWMuLmIyZDZlNDYgMTAwNjQ0Ci0tLSBh L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hl bWFzL3ZpZXdzL3RlbXBsYXRlcy9tdmlld3MvcGcvOS40X3BsdXMvc3FsL3Byb3BlcnRpZXMuc3Fs CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRlcy9tdmlld3MvcGcvOS40X3BsdXMvc3FsL3Byb3BlcnRp ZXMuc3FsCkBAIC0xNSw3ICsxNSw3IEBAIFNFTEVDVAogICAgIG5zcC5uc3BuYW1lIGFzIHNjaGVt YSwKICAgICBwZ19nZXRfdXNlcmJ5aWQoYy5yZWxvd25lcikgQVMgb3duZXIsCiAgICAgZGVzY3Jp cHRpb24gQVMgY29tbWVudCwKLSAgICBwZ19nZXRfdmlld2RlZihjLm9pZCwgdHJ1ZSkgQVMgZGVm aW5pdGlvbiwKKyAgICBwZ19nZXRfdmlld2RlZihjLm9pZCkgQVMgZGVmaW5pdGlvbiwKICAgICB7 IyA9PT09PT09PT09PT09IENoZWNrcyBpZiBpdCBpcyBzeXN0ZW0gdmlldyA9PT09PT09PT09PT09 PT09ICN9CiAgICAgeyUgaWYgdmlkIGFuZCBkYXRsYXN0c3lzb2lkICV9CiAgICAgQ0FTRSBXSEVO IHt7dmlkfX0gPD0ge3tkYXRsYXN0c3lzb2lkfX0gVEhFTiBUcnVlIEVMU0UgRmFsc2UgRU5EIEFT IHN5c3RlbV92aWV3LApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvdGVtcGxhdGVzL212aWV3cy9wcGFz LzkuM19wbHVzL3NxbC9wcm9wZXJ0aWVzLnNxbCBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRlcy9tdmlld3Mv cHBhcy85LjNfcGx1cy9zcWwvcHJvcGVydGllcy5zcWwKaW5kZXggMzliNDM1Yy4uYjJkNmU0NiAx MDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0 YWJhc2VzL3NjaGVtYXMvdmlld3MvdGVtcGxhdGVzL212aWV3cy9wcGFzLzkuM19wbHVzL3NxbC9w cm9wZXJ0aWVzLnNxbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy90ZW1wbGF0ZXMvbXZpZXdzL3BwYXMvOS4zX3Bs dXMvc3FsL3Byb3BlcnRpZXMuc3FsCkBAIC0xNSw3ICsxNSw3IEBAIFNFTEVDVAogICAgIG5zcC5u c3BuYW1lIGFzIHNjaGVtYSwKICAgICBwZ19nZXRfdXNlcmJ5aWQoYy5yZWxvd25lcikgQVMgb3du ZXIsCiAgICAgZGVzY3JpcHRpb24gQVMgY29tbWVudCwKLSAgICBwZ19nZXRfdmlld2RlZihjLm9p ZCwgdHJ1ZSkgQVMgZGVmaW5pdGlvbiwKKyAgICBwZ19nZXRfdmlld2RlZihjLm9pZCkgQVMgZGVm aW5pdGlvbiwKICAgICB7IyA9PT09PT09PT09PT09IENoZWNrcyBpZiBpdCBpcyBzeXN0ZW0gdmll dyA9PT09PT09PT09PT09PT09ICN9CiAgICAgeyUgaWYgdmlkIGFuZCBkYXRsYXN0c3lzb2lkICV9 CiAgICAgQ0FTRSBXSEVOIHt7dmlkfX0gPD0ge3tkYXRsYXN0c3lzb2lkfX0gVEhFTiBUcnVlIEVM U0UgRmFsc2UgRU5EIEFTIHN5c3RlbV92aWV3LApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvdGVtcGxh dGVzL3ZpZXdzL2dwZGJfNS4wX3BsdXMvc3FsL3Byb3BlcnRpZXMuc3FsIGIvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvdGVt cGxhdGVzL3ZpZXdzL2dwZGJfNS4wX3BsdXMvc3FsL3Byb3BlcnRpZXMuc3FsCmluZGV4IGExZGFh MzQuLjQ1NmYzM2MgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRlcy92aWV3cy9ncGRiXzUu MF9wbHVzL3NxbC9wcm9wZXJ0aWVzLnNxbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy90ZW1wbGF0ZXMvdmlld3Mv Z3BkYl81LjBfcGx1cy9zcWwvcHJvcGVydGllcy5zcWwKQEAgLTgsNyArOCw3IEBAIFNFTEVDVAog ICAgIGRlc2NyaXB0aW9uIEFTIGNvbW1lbnQsCiAgICAgYy5yZWx0YWJsZXNwYWNlIEFTIHNwY29p ZCwKICAgICBwZ19nZXRfdXNlcmJ5aWQoYy5yZWxvd25lcikgQVMgb3duZXIsCi0gICAgcGdfZ2V0 X3ZpZXdkZWYoYy5vaWQsIHRydWUpIEFTIGRlZmluaXRpb24sCisgICAgcGdfZ2V0X3ZpZXdkZWYo Yy5vaWQpIEFTIGRlZmluaXRpb24sCiAgICAgYXJyYXlfdG9fc3RyaW5nKGMucmVsYWNsOjp0ZXh0 W10sICcsICcpIEFTIGFjbCwKICAgICB7Iz09PT09PT09PT09PT1DaGVja3MgaWYgaXQgaXMgc3lz dGVtIHZpZXc9PT09PT09PT09PT09PT09I30KICAgICB7JSBpZiB2aWQgYW5kIGRhdGxhc3RzeXNv aWQgJX0KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRlcy92aWV3cy9wZy85LjFfcGx1cy9z cWwvcHJvcGVydGllcy5zcWwgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy90ZW1wbGF0ZXMvdmlld3MvcGcvOS4xX3BsdXMv c3FsL3Byb3BlcnRpZXMuc3FsCmluZGV4IDAwNWFmNTAuLmUyOGQ4NDcgMTAwNjQ0Ci0tLSBhL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFz L3ZpZXdzL3RlbXBsYXRlcy92aWV3cy9wZy85LjFfcGx1cy9zcWwvcHJvcGVydGllcy5zcWwKKysr IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3Nj aGVtYXMvdmlld3MvdGVtcGxhdGVzL3ZpZXdzL3BnLzkuMV9wbHVzL3NxbC9wcm9wZXJ0aWVzLnNx bApAQCAtOCw3ICs4LDcgQEAgU0VMRUNUCiAgICAgZGVzY3JpcHRpb24gQVMgY29tbWVudCwKICAg ICBjLnJlbHRhYmxlc3BhY2UgQVMgc3Bjb2lkLAogICAgIHBnX2dldF91c2VyYnlpZChjLnJlbG93 bmVyKSBBUyBvd25lciwKLSAgICBwZ19nZXRfdmlld2RlZihjLm9pZCwgdHJ1ZSkgQVMgZGVmaW5p dGlvbiwKKyAgICBwZ19nZXRfdmlld2RlZihjLm9pZCkgQVMgZGVmaW5pdGlvbiwKICAgICBhcnJh eV90b19zdHJpbmcoYy5yZWxhY2w6OnRleHRbXSwgJywgJykgQVMgYWNsLAogICAgIHsjPT09PT09 PT09PT09PUNoZWNrcyBpZiBpdCBpcyBzeXN0ZW0gdmlldz09PT09PT09PT09PT09PT0jfQogICAg IHslIGlmIHZpZCBhbmQgZGF0bGFzdHN5c29pZCAlfQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvdGVt cGxhdGVzL3ZpZXdzL3BnLzkuMl9wbHVzL3NxbC9wcm9wZXJ0aWVzLnNxbCBiL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3Rl bXBsYXRlcy92aWV3cy9wZy85LjJfcGx1cy9zcWwvcHJvcGVydGllcy5zcWwKaW5kZXggODJiZTUy Yy4uM2I0NDNmOSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBz L3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvdGVtcGxhdGVzL3ZpZXdzL3BnLzkuMl9w bHVzL3NxbC9wcm9wZXJ0aWVzLnNxbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy90ZW1wbGF0ZXMvdmlld3MvcGcv OS4yX3BsdXMvc3FsL3Byb3BlcnRpZXMuc3FsCkBAIC04LDcgKzgsNyBAQCBTRUxFQ1QKICAgICAo Q0FTRSBXSEVOIGxlbmd0aChzcGMuc3BjbmFtZTo6dGV4dCkgPiAwIFRIRU4gc3BjLnNwY25hbWUg RUxTRSAncGdfZGVmYXVsdCcgRU5EKSBhcyBzcGNuYW1lLAogICAgIHBnX2dldF91c2VyYnlpZChj LnJlbG93bmVyKSBBUyBvd25lciwKICAgICBkZXNjcmlwdGlvbiBBcyBjb21tZW50LAotICAgIHBn X2dldF92aWV3ZGVmKGMub2lkLCB0cnVlKSBBUyBkZWZpbml0aW9uLAorICAgIHBnX2dldF92aWV3 ZGVmKGMub2lkKSBBUyBkZWZpbml0aW9uLAogICAgIG5zcC5uc3BuYW1lIEFTIHNjaGVtYSwKICAg ICBhcnJheV90b19zdHJpbmcoYy5yZWxhY2w6OnRleHRbXSwgJywgJykgQVMgYWNsLAogICAgIHsj PT09PT09PT09PT09PUNoZWNrcyBpZiBpdCBpcyBzeXN0ZW0gdmlldz09PT09PT09PT09PT09PT0j fQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvdGVtcGxhdGVzL3ZpZXdzL3BnLzkuM19wbHVzL3NxbC9w cm9wZXJ0aWVzLnNxbCBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRlcy92aWV3cy9wZy85LjNfcGx1cy9zcWwv cHJvcGVydGllcy5zcWwKaW5kZXggNDVmOWE3Ni4uOGFmNDNjOCAxMDA2NDQKLS0tIGEvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmll d3MvdGVtcGxhdGVzL3ZpZXdzL3BnLzkuM19wbHVzL3NxbC9wcm9wZXJ0aWVzLnNxbAorKysgYi93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1h cy92aWV3cy90ZW1wbGF0ZXMvdmlld3MvcGcvOS4zX3BsdXMvc3FsL3Byb3BlcnRpZXMuc3FsCkBA IC0xMSw3ICsxMSw3IEBAIFNFTEVDVAogICAgIGMucmVsaXNwb3B1bGF0ZWQgQVMgaXNwb3B1bGF0 ZWQsCiAgICAgcGdfZ2V0X3VzZXJieWlkKGMucmVsb3duZXIpIEFTIG93bmVyLAogICAgIGFycmF5 X3RvX3N0cmluZyhjLnJlbGFjbDo6dGV4dFtdLCAnLCAnKSBBUyBhY2wsCi0gICAgcGdfZ2V0X3Zp ZXdkZWYoYy5vaWQsIHRydWUpIEFTIGRlZmluaXRpb24sCisgICAgcGdfZ2V0X3ZpZXdkZWYoYy5v aWQpIEFTIGRlZmluaXRpb24sCiAgICAgeyMgPT09PT0gQ2hlY2tzIGlmIGl0IGlzIHN5c3RlbSB2 aWV3ID09PT09ICN9CiAgICAgeyUgaWYgdmlkIGFuZCBkYXRsYXN0c3lzb2lkICV9CiAgICAgQ0FT RSBXSEVOIHt7dmlkfX0gPD0ge3tkYXRsYXN0c3lzb2lkfX0gVEhFTiBUcnVlIEVMU0UgRmFsc2Ug RU5EIEFTIHN5c3RlbV92aWV3LApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvdGVtcGxhdGVzL3ZpZXdz L3BnLzkuNF9wbHVzL3NxbC9wcm9wZXJ0aWVzLnNxbCBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRlcy92aWV3 cy9wZy85LjRfcGx1cy9zcWwvcHJvcGVydGllcy5zcWwKaW5kZXggYWE3NDlmZi4uY2Q0NDI4MiAx MDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0 YWJhc2VzL3NjaGVtYXMvdmlld3MvdGVtcGxhdGVzL3ZpZXdzL3BnLzkuNF9wbHVzL3NxbC9wcm9w ZXJ0aWVzLnNxbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVy cy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy90ZW1wbGF0ZXMvdmlld3MvcGcvOS40X3BsdXMvc3Fs L3Byb3BlcnRpZXMuc3FsCkBAIC0xMiw3ICsxMiw3IEBAIFNFTEVDVAogICAgIGMucmVsaXNwb3B1 bGF0ZWQgQVMgaXNwb3B1bGF0ZWQsCiAgICAgcGdfZ2V0X3VzZXJieWlkKGMucmVsb3duZXIpIEFT IG93bmVyLAogICAgIGFycmF5X3RvX3N0cmluZyhjLnJlbGFjbDo6dGV4dFtdLCAnLCAnKSBBUyBh Y2wsCi0gICAgcGdfZ2V0X3ZpZXdkZWYoYy5vaWQsIHRydWUpIEFTIGRlZmluaXRpb24sCisgICAg cGdfZ2V0X3ZpZXdkZWYoYy5vaWQpIEFTIGRlZmluaXRpb24sCiAgICAgeyMgPT09PT0gQ2hlY2tz IGlmIGl0IGlzIHN5c3RlbSB2aWV3ID09PT09ICN9CiAgICAgeyUgaWYgdmlkIGFuZCBkYXRsYXN0 c3lzb2lkICV9CiAgICAgQ0FTRSBXSEVOIHt7dmlkfX0gPD0ge3tkYXRsYXN0c3lzb2lkfX0gVEhF TiBUcnVlIEVMU0UgRmFsc2UgRU5EIEFTIHN5c3RlbV92aWV3LApkaWZmIC0tZ2l0IGEvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmll d3MvdGVtcGxhdGVzL3ZpZXdzL3BwYXMvOS4xX3BsdXMvc3FsL3Byb3BlcnRpZXMuc3FsIGIvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMv dmlld3MvdGVtcGxhdGVzL3ZpZXdzL3BwYXMvOS4xX3BsdXMvc3FsL3Byb3BlcnRpZXMuc3FsCmlu ZGV4IDdhMTRmMWQuLmQ4MWU4NzIgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRlcy92aWV3 cy9wcGFzLzkuMV9wbHVzL3NxbC9wcm9wZXJ0aWVzLnNxbAorKysgYi93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy90ZW1wbGF0 ZXMvdmlld3MvcHBhcy85LjFfcGx1cy9zcWwvcHJvcGVydGllcy5zcWwKQEAgLTExLDcgKzExLDcg QEAgU0VMRUNUCiAgICAgYy5yZWxpc3BvcHVsYXRlZCBBUyBpc3BvcHVsYXRlZCwKICAgICBwZ19n ZXRfdXNlcmJ5aWQoYy5yZWxvd25lcikgQVMgb3duZXIsCiAgICAgYXJyYXlfdG9fc3RyaW5nKGMu cmVsYWNsOjp0ZXh0W10sICcsICcpIEFTIGFjbCwKLSAgICBwZ19nZXRfdmlld2RlZihjLm9pZCwg dHJ1ZSkgQVMgZGVmaW5pdGlvbiwKKyAgICBwZ19nZXRfdmlld2RlZihjLm9pZCkgQVMgZGVmaW5p dGlvbiwKICAgICB7IyA9PT09PSBDaGVja3MgaWYgaXQgaXMgc3lzdGVtIHZpZXcgPT09PT0gI30K ICAgICB7JSBpZiB2aWQgYW5kIGRhdGxhc3RzeXNvaWQgJX0KICAgICBDQVNFIFdIRU4ge3t2aWR9 fSA8PSB7e2RhdGxhc3RzeXNvaWR9fSBUSEVOIFRydWUgRUxTRSBGYWxzZSBFTkQgQVMgc3lzdGVt X3ZpZXcsCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy90ZW1wbGF0ZXMvdmlld3MvcHBhcy85LjJfcGx1 cy9zcWwvcHJvcGVydGllcy5zcWwgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy90ZW1wbGF0ZXMvdmlld3MvcHBhcy85LjJf cGx1cy9zcWwvcHJvcGVydGllcy5zcWwKaW5kZXggZTI3NjRjNi4uYjI5ZWNjZiAxMDA2NDQKLS0t IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3Nj aGVtYXMvdmlld3MvdGVtcGxhdGVzL3ZpZXdzL3BwYXMvOS4yX3BsdXMvc3FsL3Byb3BlcnRpZXMu c3FsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFi YXNlcy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRlcy92aWV3cy9wcGFzLzkuMl9wbHVzL3NxbC9wcm9w ZXJ0aWVzLnNxbApAQCAtNyw3ICs3LDcgQEAgU0VMRUNUCiAgICAgKENBU0UgV0hFTiBsZW5ndGgo c3BjLnNwY25hbWU6OnRleHQpID4gMCBUSEVOIHNwYy5zcGNuYW1lIEVMU0UgJ3BnX2RlZmF1bHQn IEVORCkgYXMgc3BjbmFtZSwKICAgICBwZ19nZXRfdXNlcmJ5aWQoYy5yZWxvd25lcikgQVMgb3du ZXIsCiAgICAgZGVzY3JpcHRpb24gQXMgY29tbWVudCwKLSAgICBwZ19nZXRfdmlld2RlZihjLm9p ZCwgdHJ1ZSkgQVMgZGVmaW5pdGlvbiwKKyAgICBwZ19nZXRfdmlld2RlZihjLm9pZCkgQVMgZGVm aW5pdGlvbiwKICAgICBuc3AubnNwbmFtZSBBUyBzY2hlbWEsCiAgICAgYXJyYXlfdG9fc3RyaW5n KGMucmVsYWNsOjp0ZXh0W10sICcsICcpIEFTIGFjbCwKICAgICB7Iz09PT09PT09PT09PT1DaGVj a3MgaWYgaXQgaXMgc3lzdGVtIHZpZXc9PT09PT09PT09PT09PT09I30KZGlmZiAtLWdpdCBhL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFz L3ZpZXdzL3RlbXBsYXRlcy92aWV3cy9wcGFzLzkuM19wbHVzL3NxbC9wcm9wZXJ0aWVzLnNxbCBi L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hl bWFzL3ZpZXdzL3RlbXBsYXRlcy92aWV3cy9wcGFzLzkuM19wbHVzL3NxbC9wcm9wZXJ0aWVzLnNx bAppbmRleCA0NWY5YTc2Li44YWY0M2M4IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy90ZW1wbGF0ZXMv dmlld3MvcHBhcy85LjNfcGx1cy9zcWwvcHJvcGVydGllcy5zcWwKKysrIGIvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvdGVt cGxhdGVzL3ZpZXdzL3BwYXMvOS4zX3BsdXMvc3FsL3Byb3BlcnRpZXMuc3FsCkBAIC0xMSw3ICsx MSw3IEBAIFNFTEVDVAogICAgIGMucmVsaXNwb3B1bGF0ZWQgQVMgaXNwb3B1bGF0ZWQsCiAgICAg cGdfZ2V0X3VzZXJieWlkKGMucmVsb3duZXIpIEFTIG93bmVyLAogICAgIGFycmF5X3RvX3N0cmlu ZyhjLnJlbGFjbDo6dGV4dFtdLCAnLCAnKSBBUyBhY2wsCi0gICAgcGdfZ2V0X3ZpZXdkZWYoYy5v aWQsIHRydWUpIEFTIGRlZmluaXRpb24sCisgICAgcGdfZ2V0X3ZpZXdkZWYoYy5vaWQpIEFTIGRl ZmluaXRpb24sCiAgICAgeyMgPT09PT0gQ2hlY2tzIGlmIGl0IGlzIHN5c3RlbSB2aWV3ID09PT09 ICN9CiAgICAgeyUgaWYgdmlkIGFuZCBkYXRsYXN0c3lzb2lkICV9CiAgICAgQ0FTRSBXSEVOIHt7 dmlkfX0gPD0ge3tkYXRsYXN0c3lzb2lkfX0gVEhFTiBUcnVlIEVMU0UgRmFsc2UgRU5EIEFTIHN5 c3RlbV92aWV3LApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBz L3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvdGVtcGxhdGVzL3ZpZXdzL3BwYXMvOS40 X3BsdXMvc3FsL3Byb3BlcnRpZXMuc3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvdGVtcGxhdGVzL3ZpZXdzL3BwYXMv OS40X3BsdXMvc3FsL3Byb3BlcnRpZXMuc3FsCmluZGV4IGFhNzQ5ZmYuLmNkNDQyODIgMTAwNjQ0 Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9zY2hlbWFzL3ZpZXdzL3RlbXBsYXRlcy92aWV3cy9wcGFzLzkuNF9wbHVzL3NxbC9wcm9wZXJ0 aWVzLnNxbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9k YXRhYmFzZXMvc2NoZW1hcy92aWV3cy90ZW1wbGF0ZXMvdmlld3MvcHBhcy85LjRfcGx1cy9zcWwv cHJvcGVydGllcy5zcWwKQEAgLTEyLDcgKzEyLDcgQEAgU0VMRUNUCiAgICAgYy5yZWxpc3BvcHVs YXRlZCBBUyBpc3BvcHVsYXRlZCwKICAgICBwZ19nZXRfdXNlcmJ5aWQoYy5yZWxvd25lcikgQVMg b3duZXIsCiAgICAgYXJyYXlfdG9fc3RyaW5nKGMucmVsYWNsOjp0ZXh0W10sICcsICcpIEFTIGFj bCwKLSAgICBwZ19nZXRfdmlld2RlZihjLm9pZCwgdHJ1ZSkgQVMgZGVmaW5pdGlvbiwKKyAgICBw Z19nZXRfdmlld2RlZihjLm9pZCkgQVMgZGVmaW5pdGlvbiwKICAgICB7IyA9PT09PSBDaGVja3Mg aWYgaXQgaXMgc3lzdGVtIHZpZXcgPT09PT0gI30KICAgICB7JSBpZiB2aWQgYW5kIGRhdGxhc3Rz eXNvaWQgJX0KICAgICBDQVNFIFdIRU4ge3t2aWR9fSA8PSB7e2RhdGxhc3RzeXNvaWR9fSBUSEVO IFRydWUgRUxTRSBGYWxzZSBFTkQgQVMgc3lzdGVtX3ZpZXcsCmRpZmYgLS1naXQgYS93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3 cy90ZXN0cy90ZXN0X3ZpZXdzX2dldC5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3Rlc3RzL3Rlc3Rfdmlld3NfZ2V0 LnB5CmluZGV4IDVmNWQ3YTkuLjQ3OWNkN2EgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3Rlc3RzL3Rl c3Rfdmlld3NfZ2V0LnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3Rlc3RzL3Rlc3Rfdmlld3NfZ2V0LnB5CkBA IC04LDYgKzgsNyBAQAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIAogaW1wb3J0IHV1aWQKK2ltcG9ydCBq c29uCiAKIGZyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5kYXRhYmFz ZXMuc2NoZW1hcy50ZXN0cyBpbXBvcnQgXAogICAgIHV0aWxzIGFzIHNjaGVtYV91dGlscwpAQCAt MjcsMTUgKzI4LDI5IEBAIGNsYXNzIFZpZXdzR2V0VGVzdENhc2UoQmFzZVRlc3RHZW5lcmF0b3Ip OgogICAgIG1fdmlld19zcWwgPSAiQ1JFQVRFIE1BVEVSSUFMSVpFRCBWSUVXICVzLiVzIFRBQkxF U1BBQ0UgcGdfZGVmYXVsdCBBUyAiIFwKICAgICAgICAgICAgICAgICAgIlNFTEVDVCAndGVzdF9w Z2FkbWluJyBXSVRIIE5PIERBVEE7QUxURVIgVEFCTEUgJXMuJXMgT1dORVIiIFwKICAgICAgICAg ICAgICAgICAgIiBUTyAlcyIKKyAgICB2aWV3X3NxbF93aXRoX2JyYWNrZXQgPSAiQ1JFQVRFIE9S IFJFUExBQ0UgVklFVyAlcy4lcyBBUyAiIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAi U0VMRUNUIENBU0UgV0hFTiAocGdfZGIuZGF0aXN0ZW1wbGF0ZSA9IGZhbHNlICIgXAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICJBTkQgcGdfZGIuZGF0YWxsb3djb25uID0gdHJ1ZSBBTkQg IiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIihwZ19kYi5kYXRjb25ubGltaXQgPSAt MSBPUiAiIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGdfZGIuZGF0YWNsIGlzIG51 bGwpKSB0aGVuIHRydWUgZWxzZSBmYWxzZSAiIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAiZW5kIGFzIHJlcyBGUk9NIHBnX2RhdGFiYXNlIHBnX2RiOyAiIFwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAiQUxURVIgVEFCTEUgJXMuJXMgT1dORVIgVE8gJXMiCiAgICAgc2NlbmFy aW9zID0gWwogICAgICAgICAoJ0dldCB2aWV3IHVuZGVyIHNjaGVtYSBub2RlJywgZGljdCgKICAg ICAgICAgICAgIHVybD0nL2Jyb3dzZXIvdmlldy9vYmovJywKICAgICAgICAgICAgIHZpZXdfbmFt ZT0idGVzdF92aWV3X2dldF8lcyIgJSAoc3RyKHV1aWQudXVpZDQoKSlbMTo4XSksCi0gICAgICAg ICAgICBzcWxfcXVlcnk9dmlld19zcWwpKSwKKyAgICAgICAgICAgIHNxbF9xdWVyeT12aWV3X3Nx bCwKKyAgICAgICAgICAgIHR5cGU9J3ZpZXdfd2l0aG91dF9jb25kaXRpb25zJykpLAogICAgICAg ICAoJ0dldCBtYXRlcmlhbGl6ZWQgdmlldyB1bmRlciBzY2hlbWEgbm9kZScsCiAgICAgICAgICBk aWN0KHVybD0nL2Jyb3dzZXIvbXZpZXcvb2JqLycsCiAgICAgICAgICAgICAgIHZpZXdfbmFtZT0i dGVzdF9tdmlld19nZXRfJXMiICUgKHN0cih1dWlkLnV1aWQ0KCkpWzE6OF0pLAotICAgICAgICAg ICAgICBzcWxfcXVlcnk9bV92aWV3X3NxbCkpCisgICAgICAgICAgICAgIHNxbF9xdWVyeT1tX3Zp ZXdfc3FsLAorICAgICAgICAgICAgICB0eXBlPSdtX3ZpZXdfd2l0aG91dF9jb25kaXRpb25zJykp LAorICAgICAgICAoJ0dldCB2aWV3IGhhdmluZyBicmFja2V0cyBpbiBzY3JpcHQgdW5kZXIgc2No ZW1hIG5vZGUnLCBkaWN0KAorICAgICAgICAgICAgdXJsPScvYnJvd3Nlci92aWV3L29iai8nLAor ICAgICAgICAgICAgdmlld19uYW1lPSJ0ZXN0X3ZpZXdfZ2V0XyVzIiAlIChzdHIodXVpZC51dWlk NCgpKVsxOjhdKSwKKyAgICAgICAgICAgIHNxbF9xdWVyeT12aWV3X3NxbF93aXRoX2JyYWNrZXQs CisgICAgICAgICAgICB0eXBlPSd2aWV3X3dpdGhfY29uZGl0aW9ucycpKQogICAgIF0KIAogICAg IGRlZiBzZXRVcChzZWxmKToKQEAgLTc3LDYgKzkyLDkgQEAgY2xhc3MgVmlld3NHZXRUZXN0Q2Fz ZShCYXNlVGVzdEdlbmVyYXRvcik6CiAgICAgICAgICAgICBmb2xsb3dfcmVkaXJlY3RzPVRydWUK ICAgICAgICAgKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3BvbnNlLnN0YXR1c19jb2Rl LCAyMDApCisgICAgICAgIGlmIHNlbGYudHlwZSA9PSAndmlld193aXRoX2NvbmRpdGlvbnMnOgor ICAgICAgICAgICAgcmVzcG9uc2VfZGF0YSA9IGpzb24ubG9hZHMocmVzcG9uc2UuZGF0YS5kZWNv ZGUoJ3V0Zi04JykpCisgICAgICAgICAgICBzZWxmLmFzc2VydEluKCcoKHBnX2RiLmRhdGlzdGVt cGxhdGUnLCByZXNwb25zZV9kYXRhWydkZWZpbml0aW9uJ10pCiAKICAgICBkZWYgdGVhckRvd24o c2VsZik6CiAgICAgICAgICMgRGlzY29ubmVjdCB0aGUgZGF0YWJhc2UK --0000000000008a8f4905af448bfb--