Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1i5qAP-0006Pz-Og for pgsql-sql@arkaria.postgresql.org; Thu, 05 Sep 2019 11:43:10 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1i5qAO-0000M7-4X for pgsql-sql@arkaria.postgresql.org; Thu, 05 Sep 2019 11:43:08 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1i5qAN-0000Cb-NS for pgsql-sql@lists.postgresql.org; Thu, 05 Sep 2019 11:43:07 +0000 Received: from mail.inqbus.de ([164.177.165.236]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1i5qAK-0008KF-Qz for pgsql-sql@lists.postgresql.org; Thu, 05 Sep 2019 11:43:07 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=stb-datenservice.de; s=20160215; h=Content-Type:In-Reply-To:MIME-Version: Date:Message-ID:From:References:To:Subject:Sender:Reply-To:Cc: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=w0zbY2LlIk+47y2g7l1DHCcwXrK0/GopMzwGQQniXss=; b=uAECwOANvPmwXVg/W7sLO65BG gpRKGKO31pfCfqwUVFI72AnI+v+A/BwSSkf8azHue5AYIwxw5bpOBS7bCN6SJaV+3t2PZTLDcWBL9 6+ZD+dFMy3HylJwWHDf8GXtTWxsu6tn0wRdf0X0UcitaWOOjdeEZ7J6RMVygKpG0AEmOE=; Received: from p578c3f48.dip0.t-ipconnect.de ([87.140.63.72]:65488 helo=[192.168.178.130]) by mail.inqbus.de with esmtpa (Exim 4.89) (envelope-from ) id 1i5qAJ-0001XG-1K for pgsql-sql@lists.postgresql.org; Thu, 05 Sep 2019 13:43:03 +0200 Subject: Re: Question about WHERE CASE To: pgsql-sql@lists.postgresql.org References: From: =?UTF-8?Q?Martin_St=c3=b6cker?= Message-ID: Date: Thu, 5 Sep 2019 13:42:57 +0200 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/alternative; boundary="------------C026AF04E280AC3EE89CA252" Content-Language: de List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk This is a multi-part message in MIME format. --------------C026AF04E280AC3EE89CA252 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Hi, where requires a boolean expression, for instance select * from stuff where true; Hence "CASE WHEN $1=dir THEN TRUE ELSE metadir=$1 END" returns a boolean value everything is fine. Regards martin Am 05.09.2019 um 13:04 schrieb Mike Martin: > I have come across the following construct which works in postgres > > WHERE CASE WHEN $1=dir THEN TRUE ELSE metadir=$1 END > > via > (https://stackoverflow.com/questions/49859153/filter-with-yes-no-and-all-in-postgres) > |casewhen('yes'=lower($1))then(phone_number > isnotnull)when('no'=lower($1))then(phone_number isnull)elsetrue end | > |I was always under the impression that a case expression could only > be on the right side of a where expression ie: | > |WHERE fieldname= | > |Is this a postgres extention, cant find any documentation on this | > |thanks | > |Mike | -- Widdersdorfer Str. 415, 50933 Köln; Tel. +49 / 221 / 9544 010 HRB Köln HRB 75439, Geschäftsführer: Dr. Dirk Goldner, ppa. Melanie Lillich --------------C026AF04E280AC3EE89CA252 Content-Type: multipart/related; boundary="------------BAB5CDA77A56A952F7BB06B1" --------------BAB5CDA77A56A952F7BB06B1 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 8bit
Hi,

where requires a boolean expression, for instance
select * from stuff where true;

Hence "CASE WHEN $1=dir THEN TRUE ELSE metadir=$1 END" returns a boolean value everything is fine.

Regards martin



Am 05.09.2019 um 13:04 schrieb Mike Martin:
I have come across the following construct which works in postgres

WHERE CASE WHEN $1=dir THEN TRUE ELSE metadir=$1 END

case when ('yes'= lower($1)) then (phone_number is not null) 
     when ('no'=lower($1)) then (phone_number is null) 
     else true end

I was always under the impression that a case expression could only be on the right side of a where expression ie:
WHERE fieldname=<cse expression>

Is this a postgres extention, cant find any documentation on this

thanks

Mike

-- 

Widdersdorfer Str. 415, 50933 Köln; Tel. +49 / 221 / 9544 010
HRB Köln HRB 75439, Geschäftsführer: Dr. Dirk Goldner, ppa. Melanie Lillich
--------------BAB5CDA77A56A952F7BB06B1 Content-Type: image/jpeg; name="icapbifdkakidkdn.jpg" Content-Transfer-Encoding: base64 Content-ID: Content-Disposition: inline; filename="icapbifdkakidkdn.jpg" /9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAA AAEAAQBIAAAAAQAB/+Eop2h0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8APD94cGFja2V0 IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0 YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42 LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPgogICA8cmRm OlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRh eC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAg ICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICAgICAg ICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAg ICAgeG1sbnM6eG1wR0ltZz0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL2cvaW1nLyIK ICAgICAgICAgICAgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9t bS8iCiAgICAgICAgICAgIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8x LjAvc1R5cGUvUmVzb3VyY2VSZWYjIgogICAgICAgICAgICB4bWxuczpzdEV2dD0iaHR0cDov L25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIgogICAgICAgICAg ICB4bWxuczppbGx1c3RyYXRvcj0iaHR0cDovL25zLmFkb2JlLmNvbS9pbGx1c3RyYXRvci8x LjAvIgogICAgICAgICAgICB4bWxuczpwZGY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGRmLzEu My8iPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL2pwZWc8L2RjOmZvcm1hdD4KICAgICAg ICAgPGRjOnRpdGxlPgogICAgICAgICAgICA8cmRmOkFsdD4KICAgICAgICAgICAgICAgPHJk ZjpsaSB4bWw6bGFuZz0ieC1kZWZhdWx0Ij5EcnVjazwvcmRmOmxpPgogICAgICAgICAgICA8 L3JkZjpBbHQ+CiAgICAgICAgIDwvZGM6dGl0bGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFE YXRlPjIwMTktMDYtMDVUMTU6MjQ6NTUrMDI6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAg ICAgIDx4bXA6TW9kaWZ5RGF0ZT4yMDE5LTA2LTA1VDEzOjI1OjE2WjwveG1wOk1vZGlmeURh dGU+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE5LTA2LTA1VDE1OjI0OjU0KzAyOjAw PC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBJbGx1 c3RyYXRvciBDQyAyMy4wIChNYWNpbnRvc2gpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAg IDx4bXA6VGh1bWJuYWlscz4KICAgICAgICAgICAgPHJkZjpBbHQ+CiAgICAgICAgICAgICAg IDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8 eG1wR0ltZzp3aWR0aD4yNTY8L3htcEdJbWc6d2lkdGg+CiAgICAgICAgICAgICAgICAgIDx4 bXBHSW1nOmhlaWdodD4yODwveG1wR0ltZzpoZWlnaHQ+CiAgICAgICAgICAgICAgICAgIDx4 bXBHSW1nOmZvcm1hdD5KUEVHPC94bXBHSW1nOmZvcm1hdD4KICAgICAgICAgICAgICAgICAg PHhtcEdJbWc6aW1hZ2U+LzlqLzRBQVFTa1pKUmdBQkFnRUFTQUJJQUFELzdRQXNVR2h2ZEc5 emFHOXdJRE11TUFBNFFrbE5BKzBBQUFBQUFCQUFTQUFBQUFFQSYjeEE7QVFCSUFBQUFBUUFC Lys0QURrRmtiMkpsQUdUQUFBQUFBZi9iQUlRQUJnUUVCQVVFQmdVRkJna0dCUVlKQ3dnR0Jn Z0xEQW9LQ3dvSyYjeEE7REJBTURBd01EQXdRREE0UEVBOE9EQk1URkJRVEV4d2JHeHNjSHg4 Zkh4OGZIeDhmSHdFSEJ3Y05EQTBZRUJBWUdoVVJGUm9mSHg4ZiYjeEE7SHg4Zkh4OGZIeDhm SHg4Zkh4OGZIeDhmSHg4Zkh4OGZIeDhmSHg4Zkh4OGZIeDhmSHg4Zkh4OGZIeDhmLzhBQUVR Z0FIQUVBQXdFUiYjeEE7QUFJUkFRTVJBZi9FQWFJQUFBQUhBUUVCQVFFQUFBQUFBQUFBQUFR RkF3SUdBUUFIQ0FrS0N3RUFBZ0lEQVFFQkFRRUFBQUFBQUFBQSYjeEE7QVFBQ0F3UUZCZ2NJ Q1FvTEVBQUNBUU1EQWdRQ0JnY0RCQUlHQW5NQkFnTVJCQUFGSVJJeFFWRUdFMkVpY1lFVU1w R2hCeFd4UWlQQiYjeEE7VXRIaE14Wmk4Q1J5Z3ZFbFF6UlRrcUt5WTNQQ05VUW5rNk96Tmhk VVpIVEQwdUlJSm9NSkNoZ1poSlJGUnFTMFZ0TlZLQnJ5NC9QRSYjeEE7MU9UMFpYV0ZsYVcx eGRYbDlXWjJocGFtdHNiVzV2WTNSMWRuZDRlWHA3ZkgxK2YzT0VoWWFIaUltS2k0eU5qbytD azVTVmxwZVltWiYjeEE7cWJuSjJlbjVLanBLV21wNmlwcXF1c3JhNnZvUkFBSUNBUUlEQlFV RUJRWUVDQU1EYlFFQUFoRURCQ0VTTVVFRlVSTmhJZ1p4Z1pFeSYjeEE7b2JId0ZNSFI0U05D RlZKaWN2RXpKRFJEZ2hhU1V5V2lZN0xDQjNQU05lSkVneGRVa3dnSkNoZ1pKalpGR2lka2RG VTM4cU96d3lncCYjeEE7MCtQemhKU2t0TVRVNVBSbGRZV1ZwYlhGMWVYMVJsWm1kb2FXcHJi RzF1YjJSMWRuZDRlWHA3ZkgxK2YzT0VoWWFIaUltS2k0eU5qbyYjeEE7K0RsSldXbDVpWm1w dWNuWjZma3FPa3BhYW5xS21xcTZ5dHJxK3YvYUFBd0RBUUFDRVFNUkFEOEE2M3BmNTZXT3E4 eHBubHpWNzVvZyYjeEE7RE1MV0ZadUhLdE9YQmpTdERTdUtvenpIK2NWaG9XbTZUZTNXazNh dnFxVE90ckp4aWxpRUxoS1NLM2RxMXkzRmlNM1hhN3RHT25JcyYjeEE7WGJIMi9PcnpocXY3 dnkxNVNta1kvWm1sRXN5NzlDd2pXTUQvQUlQTGZBaU9aY0E5cjVwN1k4WiswL2o1c211L3pT L1IvbVBSL0xkNyYjeEE7cFVxNm5xY2RvMGhEb0VpYTVJVndSOFg5MmVYZmVtWXg1dTl4a21J SkZHbWVZR2FTZWJmOTVMRC9BTGFkaC8xRXBrNGZvY2JWY2gvVyYjeEE7ajk2ZDVCeVdENnor WXVvLzRndWZML2xmUkpOZDFHeFZXdnBQV1MzZ2hMYmhUSSt4YjJxUHBvY1ZSdWhlYi9NRjdK ZTJlcCtXYnJUZCYjeEE7U3RMYzNFY2ZxSkxiemtiQ09PNFVCT1RIdHZpcVI2aithbm1UVGJx eXRMN3lkY1EzR295ZWpaUm03aEpra0ZQaEZGSUgyaDF4Vk5aLyYjeEE7UGV0V0hselZkYjFq eTdMcHk2Y3NUUlc3M0VjalQrby9CcU1nUEhqVWRldUtwYmMvbXBydGhacHFPcCtUcjIzMG9x c2tsM0ZORlB4aiYjeEE7Ym81VlFQSHVSaXJPdEwxT3gxVFRyZlViR1VUV2wwZ2toa0cxVlBz ZHdmRVlxeG56VjUrdk5HOHgyZWdXR2l5YXRmWHR1MXhHc2N5UiYjeEE7YktXREQ0d1JzRXIx eFZTMHI4ellYMXVIUlBNR2xYUGwvVWJ2YXlGeVZlR1kxcHhTVmFEa1QwOTlxMXBpck5jVmRp cVZ5K1pOTGo4eCYjeEE7dytYV2RqcWsxdWJ4WXdqRlJDR0tjaS8yZnRLUlRGVTB4VjJLdXhW Mkt1eFYyS3V4VjJLdXhWMktwUFk2dnE4L21QVU5ObjBtUzMwMiYjeEE7MWpqZTExTm5VcE96 L2FVS1BEK0c5S2pGVTR4VjJLdXhWODRma2w1bTFIUS8wMTlUME84MW42eDlXOVQ2bUsrbHc5 V25QWS9hNWJmTCYjeEE7RlgwQm9XbzNXcGFUYjN0MVpTYWRjVEFsN0tiKzhqb3hBRGJMMUFy MHhWNVIrUXVxYW5mNjU1ayt2WGs5MTZmcEJQWGtlVGlQVWw2YyYjeEE7aWFZcWhmUDMvaytm TG4vUmwveWVmRlh1R0twSjV0LzNrc1ArMm5ZZjlSS1pPSDZIRzFYSWYxby9lbmVRY2w1WGVh TjUrOG4rYnRZMSYjeEE7M3kvcDhldWFQclVnbnU3TU9FblIxcWZocnZVTTdVNGhxanFNVlpQ NUsvTWpTdk05emNhZjlXbjAzV2JSZVZ6cDEwdkZ3QVFDVk8xYSYjeEE7RWl0UUQ3WXFrMzVu L3dES1grUXYrMm0zNjRzVlRYODMvd0R5Vyt0LzhZby8rVHlZcXhMWC9OL25TVHlKSnA0OG8z RUZ0Y1dBdDVkUSYjeEE7TXF6b2tEUkJIbDlPSlMzMkRYMjY5c1ZaMStYRVdrdytTTkpoMHE3 K3UyU1EwUzVvVkxOeUprcXAzV2oxRkQweFZqdXVmK1R4OHVmOSYjeEE7c3k0LzVuWXE3OCti V0ovSXJYdjJiclQ3cUNhMWxHekt6TndORDE2Tlg2TVZUcnpRdXBYMmg2ZmREekFQTFZteXJK cWR4UkZkbGRBUSYjeEE7aVN5RmZUSWJGV0ZlVnRmU3gvTW5UZEcwZnpUZGVZOUgxT0djWEsz a3h1R2hsaGplUlNzaEE2OE93RzNqaXFuZitWcnU2L09tNHRFMSYjeEE7elVMWjU5UGU3VzZp a0FsalY1alMzUTAyaVd1d3hWTmZQbm1oMDgxNmI1UU91Tm9XbUxiZldkVTFVU2hMaGh1c2NT U3Q5bG00MUo2NyYjeEE7KzFDcXBlVGZNdjFMeitubHV5OHd5ZVpkRXY3UnA0TGk0bVc0bWdu ajVGa2FVVTVBcWxhZTQ5NnF1czdQelo1Zzg3K2JOR1R6SGRhZiYjeEE7cEZoUEE3Q0EvdjhB L1NJMlpJNFpHSjlKRm9hOGV1MktweCtWOTdyUzN2bVBRZFQxQ1RVeG90MmtWdGR6N3lsSkZK bzdHcFAyZTV4ViYjeEE7aUdnNmhhK1o3N1ZKUE12bSs5MFBYSXJ5V0MwMDJHNkZuSEFpYkx4 Umh4YzFxcmIxMjM4Y1ZacitZSG1TKzhtZVFVbWd1VGQ2bWZTcyYjeEE7cmU5bjRrdEs2a21W aDBKNG96ZlAyeFZnbXMrWUkvTFZoYTYzcEhucWJYdFZobGovQUVqcGM5MGs5dk9qYlNDS0VD c1krK2d4VmsvNSYjeEE7b2FuNWxIbUh5ZmFlWHRSZXdrMVY3bU5pU2ZTSTR4QldrajZOd1dS aUFlK0tvVFdiYnpCNUd2ZkxHb1hPdlh1cWFjOTYxdHJUM01ybSYjeEE7TS9XVjRvL0FzNFZV SElnVjJJR0twMzV5MVhWTHZ6ejViOHI2WGN5V3dabTFIVm5oWW9mcTBWUXFNVjM0eUZXWDUw eFZyeTlxdXBULyYjeEE7QUp0ZWF0UG11cFpMRzF0N1EyMXF6c1lveThNYk1WU3RBU1NhNHFs R25mcDc4d05lMXVWZGN2TkcwUFNMbHJLeGgwMlQwbmxrU3ZLVyYjeEE7U1FmYUhRMDkrMU4x VXo4ODYvcmZrZjhBTDJHdCtkUTFtU1ZMS0hVcDBWZmprNXY2akx1dndSb1FLMTMzTmNWWWJy UG1LRHl0YjJXdCYjeEE7YVA1NW4xKzlqbWpYVTlMdUxsYmlHYU52N3d3eC93QzY2SHArdkZV cy9KelhManloRnJFdXA2THFzeTN3dHpBYmEwZDYrajZ2T3BZbyYjeEE7Qi9lRHZpcjNiUWRa aDFuU0xmVTRZSnJhSzVCWllMbFFrcWdNVitOUVdwMDhjVmVSL2tCWjN0dHJYbUZybTJtZ1c0 V0o0V2xqZEF5aSYjeEE7U1RjRmdQNXNWVXZ6SVM5Zy9PTFNkV2pzTHE3dExDTzFrdURhd3ZL UUVrZGlCeEZLMDk4VmVsK1YvUFZuNWl2cm0wZzAzVUxGN1ZBNyYjeEE7dmZRQ0FNR05BRStK aWZIY0RGVVY1dC8za3NQKzJuWWY5UktaT0g2SEcxWElmMW8vZW5lUWNsaEYxK1o0MDNVTG16 MW5RTlR0RmlsZCYjeEE7YmE2aWcrc1F6UmduaTRaRHNXQTZDdnp4VktmSzFscW5tTDh5SnZP a21temFUcFZ2YWZWTFJicGZTbnVXTzNxTkg0QldPL3N0TzlGVSYjeEE7ZCtZOWplM0htcnlS TGIyOGswVnZxTFBPOGFNeXhyV1A0bklCNGpidmlxWi9tdGEzTjErWDJzd1cwVHp6eVJ4aElv MUx1eEV5SFpWcSYjeEE7VGlxUTJmNW96Sm8wVmxaZVU5Y3ViK0szU0pFa3MrTUpkVkNmRzRk aUVyMzQ0cW5YNVVlV2RROHVlUzdXdzFFY0wxM2tubWhxRDZaayYjeEE7T3lWQklxQUJXbmZG V1BlZXI2NTBmODB0RTF3NmJmWDlsYmFmTEhMOVJnTXpCcERJb0hWVi9hOGNWVWZNRW12L0FK bFMyT2oyK2pYdSYjeEE7aitYSTUwdWRTdnRSVDBKSkZRR2tjY2RUV3RUdUNkNmRLWXFpZnpT dEowOHkrV05RdmRQbTFIeXJZdko5ZXRJSXpNcVNFVWplU0lEZCYjeEE7UnQxOENPKzZxRC9T RGFuK1pmbHJXN0xRN3UzMEtFVDJNVjI4Qmg1VFN4UDhZaSswSXdEVGt3OGZERlVaNWp2Sk5B L055RFhieXp1cCYjeEE7ZE11TksrcXBQYlFQT1BXOVF0d1BBZGR2eEdLclBQT2xTMlBuVFR2 T2Y2R2JXdEdtdFBxdXAyYXdMTE5IdVdTWDBuRmFnTVBsU2hJciYjeEE7aXFlZVVkWTh2YXBx OWRIOHJ6V01FVVRNZFhsczQ3VlE1b1BUUTBEc1NDYTB4VlQ4bDJkNUQrWVBubWVhQ1NPQzRr c0RieXVqS2tnVyYjeEE7R1FOd1lpalVydlRGWGVSTE84dC9OL25hYWVDU09LZThoYUIzUmxX UlFqMUtFaWpmUmlySGZOT3YrUzlkc2IyTFUvS04rdm1CNDNqZyYjeEE7amF3WVhMUzBLeGxa NDl5dGFkL29PS3FsL3dDUWZNVi8rUytuYUxNdlBYdFBwZHd3T1F4cXJ1VmhKYmFxd3ljUU9s UlRwaXFyWWVhZiYjeEE7TEYxSERiRHlGY0hXbUtwY1dQNk9pVkkyTkE3Tks0VlFnN0UvVFRG VXk4KzJGNU41NzhpUzI5dEpKYjJ0eGRHZVNOR1pJMUt3OGVaQSYjeEE7b29OTnE0cXlEejk1 ZEhtSHlocWVsaGVVOHNKZTFIL0YwZnh4Nys3S0I4c1ZZbitVTmpyZDljNmo1cTh3VzhrR3BY RWNHbjI2VEt5TyYjeEE7SWJhTlJJNFZnRFNWd0crWU9LbzN5NVkzc2Y1ditiYnVTM2tTMW10 N01RM0RJd2pjckRFQ0ZjamlhRWIweFZKdEIxQ2Y4dk5iMS9UdCYjeEE7VDB5OW4welVidHI3 Uzc2emhhZFdFbldKcUhad0tENysxTVZUTHp6cHVzZWVmeTdTNGcwdVd5MUtDNFc5dGRNdXFD UjFpTG9BdzJvWCYjeEE7amNuaWUrM3ZpcUYwL3dBMGVWcjBRVzBYa080T3F1eXBjV1owNkpF aUpJNXMwcmhWQ2plaE5LKzJLdlVNVmRpcnNWZGlyc1ZTVHpiLyYjeEE7QUx5V0gvYlRzUDhB cUpUSncvUTQycTVEK3RINzA3eURrdXhWMkt1eFYyS3V4VjJLdXhWMkt1eFYyS3V4VjJLdXhW Mkt1eFYyS3V4ViYjeEE7Mkt1eFYyS3V4VjJLdXhWMkt1eFYvOWs9PC94bXBHSW1nOmltYWdl PgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgPC9yZGY6QWx0PgogICAg ICAgICA8L3htcDpUaHVtYm5haWxzPgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAu aWlkOmQyYjc0NzMxLTYzZjgtNDA3Ny1hNTU4LTdmYWU5MDg5ZDZhNzwveG1wTU06SW5zdGFu Y2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDpkMmI3NDczMS02M2Y4 LTQwNzctYTU1OC03ZmFlOTA4OWQ2YTc8L3htcE1NOkRvY3VtZW50SUQ+CiAgICAgICAgIDx4 bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+dXVpZDo1RDIwODkyNDkzQkZEQjExOTE0QTg1OTBE MzE1MDhDODwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06UmVu ZGl0aW9uQ2xhc3M+cHJvb2Y6cGRmPC94bXBNTTpSZW5kaXRpb25DbGFzcz4KICAgICAgICAg PHhtcE1NOkRlcml2ZWRGcm9tIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAg ICAgPHN0UmVmOmluc3RhbmNlSUQ+dXVpZDphMDI5YmJlYi03MzMzLWMyNGYtYTNiMi01NDcz ZDc2ZTMwZWQ8L3N0UmVmOmluc3RhbmNlSUQ+CiAgICAgICAgICAgIDxzdFJlZjpkb2N1bWVu dElEPnhtcC5kaWQ6ZTZlMGU0NDctZmMyNy00MWYzLThjOTQtNDQ5ZWFiYjNkYmExPC9zdFJl Zjpkb2N1bWVudElEPgogICAgICAgICAgICA8c3RSZWY6b3JpZ2luYWxEb2N1bWVudElEPnV1 aWQ6NUQyMDg5MjQ5M0JGREIxMTkxNEE4NTkwRDMxNTA4Qzg8L3N0UmVmOm9yaWdpbmFsRG9j dW1lbnRJRD4KICAgICAgICAgICAgPHN0UmVmOnJlbmRpdGlvbkNsYXNzPnByb29mOnBkZjwv c3RSZWY6cmVuZGl0aW9uQ2xhc3M+CiAgICAgICAgIDwveG1wTU06RGVyaXZlZEZyb20+CiAg ICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAg ICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAg ICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAg ICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDozYWY1YTVkOS1lYzJjLTQ2YWMtYWQwOC1m NWQwY2RmMGVmYzU8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2 dDp3aGVuPjIwMTctMDctMDZUMTE6Mjg6NTgrMDI6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAg ICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIElsbHVzdHJhdG9yIENDIDIw MTcgKE1hY2ludG9zaCk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAg IDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRm OmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4K ICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgog ICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOmQyYjc0NzMxLTYz ZjgtNDA3Ny1hNTU4LTdmYWU5MDg5ZDZhNzwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAg ICAgICAgICAgPHN0RXZ0OndoZW4+MjAxOS0wNi0wNVQxNToyNDo1NSswMjowMDwvc3RFdnQ6 d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgSWxs dXN0cmF0b3IgQ0MgMjMuMCAoTWFjaW50b3NoKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAg ICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAg ICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94 bXBNTTpIaXN0b3J5PgogICAgICAgICA8aWxsdXN0cmF0b3I6U3RhcnR1cFByb2ZpbGU+UHJp bnQ8L2lsbHVzdHJhdG9yOlN0YXJ0dXBQcm9maWxlPgogICAgICAgICA8cGRmOlByb2R1Y2Vy PkFkb2JlIFBERiBsaWJyYXJ5IDEwLjAxPC9wZGY6UHJvZHVjZXI+CiAgICAgIDwvcmRmOkRl c2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz7/ 4gJASUNDX1BST0ZJTEUAAQEAAAIwQURCRQIQAABtbnRyUkdCIFhZWiAHzwAGAAMAAAAAAABh Y3NwQVBQTAAAAABub25lAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLUFEQkUAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApjcHJ0AAAA/AAAADJk ZXNjAAABMAAAAGt3dHB0AAABnAAAABRia3B0AAABsAAAABRyVFJDAAABxAAAAA5nVFJDAAAB 1AAAAA5iVFJDAAAB5AAAAA5yWFlaAAAB9AAAABRnWFlaAAACCAAAABRiWFlaAAACHAAAABR0 ZXh0AAAAAENvcHlyaWdodCAxOTk5IEFkb2JlIFN5c3RlbXMgSW5jb3Jwb3JhdGVkAAAAZGVz YwAAAAAAAAARQWRvYmUgUkdCICgxOTk4KQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWFla IAAAAAAAAPNRAAEAAAABFsxYWVogAAAAAAAAAAAAAAAAAAAAAGN1cnYAAAAAAAAAAQIzAABj dXJ2AAAAAAAAAAECMwAAY3VydgAAAAAAAAABAjMAAFhZWiAAAAAAAACcGAAAT6UAAAT8WFla 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 zARmALMBGYA//9k= --------------BAB5CDA77A56A952F7BB06B1-- --------------C026AF04E280AC3EE89CA252--