Received: from maia.hub.org (maia-5.hub.org [200.46.204.29]) by mail.postgresql.org (Postfix) with ESMTP id 6087EB5DBE0 for ; Tue, 18 Oct 2011 02:58:10 -0300 (ADT) Received: from mail.postgresql.org ([200.46.204.86]) by maia.hub.org (mx1.hub.org [200.46.204.29]) (amavisd-maia, port 10024) with ESMTP id 10069-01 for ; Tue, 18 Oct 2011 05:58:03 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.8.0-rc2 Received: from kylie.comodo.net (brad.comodogroup.com [82.109.38.202]) by mail.postgresql.org (Postfix) with ESMTP id 2BD6CB5D803 for ; Tue, 18 Oct 2011 02:58:02 -0300 (ADT) Received: (qmail 17748 invoked by uid 1114); 18 Oct 2011 05:58:00 -0000 Received: from Unknown (HELO [192.168.199.58]) (220.227.26.101) (smtp-auth username robinst, mechanism plain) by kylie.comodo.net (qpsmtpd/0.40) with (CAMELLIA256-SHA encrypted) ESMTPSA; Tue, 18 Oct 2011 06:58:00 +0100 Message-ID: <4E9D1565.3020403@comodo.com> Date: Tue, 18 Oct 2011 11:27:57 +0530 From: Robins Tharakan Organization: Comodo User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.23) Gecko/20110922 Thunderbird/3.1.15 MIME-Version: 1.0 To: PGSQL Performance List Subject: Re: Bad plan by Planner (Already resolved?) References: <4E9BCB1F.9060208@comodo.com> <4E9C0B340200002500042051@gw.wicourts.gov> In-Reply-To: <4E9C0B340200002500042051@gw.wicourts.gov> Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; boundary="------------ms000605090404010906090006" X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=-1.9 tagged_above=-10 required=5 tests=BAYES_00=-1.9 X-Spam-Level: X-Archive-Number: 201110/151 X-Sequence-Number: 45373 This is a cryptographically signed message in MIME format. --------------ms000605090404010906090006 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable Hi, I'll try to answer in-line. On 10/17/2011 09:32 PM, Kevin Grittner wrote: > First off, did you use pg_upgrade from an earlier major release? If > so, be sure you've dealt with this issue: Although I joined recently, I doubt whether pg_upgrade was used here.=20 And this doesn't look like the issue either. There are no data loss=20 issues and this seems primarily a planner specific bug. > the description is a > little vague without table definitions and EXPLAIN ANALYZE output, > so people might just not be sure. Makes sense. Just that, I thought I shouldn't drop in a large mail, in=20 case the issue was a well-known one. Please find below the EXPLAIN=20 ANALYSE output. I've changed the table-names / field-names and provided=20 other details as well. large_table_a: ~20million n_dead_tuples / reltuples : ~7% analysed: <2 weeks large_table_b: ~140million n_dead_tuples / reltuples : ~0% analysed: <2 days default_statistics_target: 1000 field_a: int (indexed) field_b: int (indexed) > Since it's arguably in your best > interest to update at least to 8.4.9 anyway, the easiest way to get > your answer might be to do so and test it. Frankly, its slightly difficult to just try out versions. DB>1Tb and=20 getting that kind of resources to just try out versions for a query is=20 not that simple. Hope you would understand. I have the workaround=20 implemented, but just wanted to be sure that this is accommodated in a=20 newer version. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D EXISTING QUERY: SELECT field_a FROM large_table_a JOIN large_table_b USING (field_a) WHERE field_b IN (SELECT large_table_b.field_b FROM large_table_b WHERE field_a =3D 2673056) ANALYSE: Hash Join (cost=3D273247.23..6460088.89 rows=3D142564896 width=3D4) Hash Cond: (public.large_table_b.field_b =3D=20 public.large_table_b.field_b) -> Merge Join (cost=3D273112.62..5925331.24 rows=3D142564896 width= =3D8) Merge Cond: (large_table_a.field_a =3D=20 public.large_table_b.field_a) -> Index Scan using "PK_large_table_a" on large_table_a=20 (cost=3D0.00..570804.30 rows=3D22935395 width=3D4) -> Index Scan using "IX_large_table_b_field_a" on=20 large_table_b (cost=3D0.00..4381499.54 rows=3D142564896 width=3D8) -> Hash (cost=3D133.32..133.32 rows=3D103 width=3D4) -> HashAggregate (cost=3D132.29..133.32 rows=3D103 width=3D4= ) -> Index Scan using "IX_large_table_b_field_a" on=20 large_table_b (cost=3D0.00..131.87 rows=3D165 width=3D4) Index Cond: (field_a =3D 2673056) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D ALTERNATE QUERY: SELECT s1.field_a FROM large_table_a JOIN large_table_b s1 USING (field_a) JOIN large_table_b s2 ON s1.field_b =3D s2.field_b WHERE s2.field_a =3D 2673056 ANALYSE: Nested Loop (cost=3D0.00..2368.74 rows=3D469 width=3D4) (actual=20 time=3D0.090..0.549 rows=3D6 loops=3D1) -> Nested Loop (cost=3D0.00..1784.06 rows=3D469 width=3D4) (actual= =20 time=3D0.057..0.350 rows=3D16 loops=3D1) -> Index Scan using "IX_large_table_b_field_a" on=20 large_table_b s2 (cost=3D0.00..131.87 rows=3D165 width=3D4) (actual=20 time=3D0.033..0.046 rows=3D6 loops=3D1) Index Cond: (field_a =3D 2673056) -> Index Scan using "IX_large_table_b_SampleId" on=20 large_table_b s1 (cost=3D0.00..9.99 rows=3D2 width=3D8) (actual=20 time=3D0.037..0.047 rows=3D3 loops=3D6) Index Cond: (s1.field_b =3D s2.field_b) -> Index Scan using "PK_large_table_a" on large_table_a=20 (cost=3D0.00..1.23 rows=3D1 width=3D4) (actual time=3D0.011..0.011 rows=3D= 0 loops=3D16) Index Cond: (large_table_a.field_a =3D s1.field_a) Total runtime: 0.620 ms -- Robins Tharakan --------------ms000605090404010906090006 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIVdjCC BIowggNyoAMCAQICECf06hH0eobEbp27bqkXBwcwDQYJKoZIhvcNAQEFBQAwbzELMAkGA1UE BhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5h bCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9vdDAeFw0w NTA2MDcwODA5MTBaFw0yMDA1MzAxMDQ4MzhaMIGuMQswCQYDVQQGEwJVUzELMAkGA1UECBMC VVQxFzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5l dHdvcmsxITAfBgNVBAsTGGh0dHA6Ly93d3cudXNlcnRydXN0LmNvbTE2MDQGA1UEAxMtVVRO LVVTRVJGaXJzdC1DbGllbnQgQXV0aGVudGljYXRpb24gYW5kIEVtYWlsMIIBIjANBgkqhkiG 9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsjmFpPJ9q0E7YkY3rs3BYHW8OWX5ShpHornMSMxqmNVN NRm5pELlzkniii8efNIxB8dOtINknS4p1aJkxIW9hVE1eaROaJB7HHqkkqgX8pgV8pPMyaQy lbsMTzC9mKALi+VuG6JG+ni8om+rWV6lL8/K2m2qL+usobNqqrcuZzWLeeEeaYji5kbNoKXq vgvOdjp6Dpvq/NonWz1zHyLmSGHGTPNpsaguG7bUMSAsvIKKjqQOpdeJQ/wWWq8dcdcRWdq6 hw2v+vPhwvCkxWeM1tZUOt4KpLoDd7NlyP0e03RiqhjKaJMeoYV+9Udly/hNVyh00jT/MLbu 9mIwFIws6wIDAQABo4HhMIHeMB8GA1UdIwQYMBaAFK29mHo0tCb3+sQmVO8DveAky1QaMB0G A1UdDgQWBBSJgmd9xJ0mcABLtFBIfN49rgRufTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ BAUwAwEB/zB7BgNVHR8EdDByMDigNqA0hjJodHRwOi8vY3JsLmNvbW9kb2NhLmNvbS9BZGRU cnVzdEV4dGVybmFsQ0FSb290LmNybDA2oDSgMoYwaHR0cDovL2NybC5jb21vZG8ubmV0L0Fk ZFRydXN0RXh0ZXJuYWxDQVJvb3QuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQAZ2IkRbyispgCi 54fBm5AD236hEv0e8+LwAamUVEJrmgnEoG3XkJIEA2Z5Q3H8+G+v23ZF4jcaPd3kWQR4rBz0 g0bzes9bhHIt5UbBuhgRKfPLSXmHPLptBZ2kbWhPrXIUNqi5sf2/z3/wpGqUNVCPz4FtVbHd WTBK322gnGQfSXzvNrv042n0+DmPWq1LhTq3Du3Tzw1EovsEv+QvcI4l+1pUBrPQxLxtjftz Mizpm4QkLdZ/kXpoAlAfDj9N6cz1u2fo3BwuO/xOzf4CjuOoEwqlJkRl6RDyTVKnrtw+ymsy XEFs/vVdoOr/0fqbhlhtPZZH5f4ulQTCAMyOofK7MIIFGjCCBAKgAwIBAgIQbRnqpxlPajMi 5iIyeqpx3jANBgkqhkiG9w0BAQUFADCBrjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcw FQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3Jr MSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xNjA0BgNVBAMTLVVUTi1VU0VS Rmlyc3QtQ2xpZW50IEF1dGhlbnRpY2F0aW9uIGFuZCBFbWFpbDAeFw0xMTA0MjgwMDAwMDBa Fw0yMDA1MzAxMDQ4MzhaMIGTMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5j aGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01PRE8gQ0EgTGltaXRlZDE5 MDcGA1UEAxMwQ09NT0RPIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWls IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkoSEW0tXmNReL4uk4UDIo1NY X2Zl8TJO958yfVXQeExVt0KU4PkncQfFxmmkuTLE8UAakMwnVmJ/F7Vxaa7lIBvky2NeYMqi QfZq4aP/uN8fSG1lQ4wqLitjOHffsReswtqCAtbUMmrUZ28gE49cNfrlVICv2HEKHTcKAlBT bJUdqRAUtJmVWRIx/wmi0kzcUtve4kABW0ho3cVKtODtJB86r3FfB+OsvxQ7sCVxaD30D9YX WEYVgTxoi4uDD216IVfmNLDbMn7jSuGlUnJkJpFOpZIP/+CxYP0ab2hRmWONGoulzEKbm30i Y9OpoPzOnpDfRBn0XFs1uhbzp5v/wQIDAQABo4IBSzCCAUcwHwYDVR0jBBgwFoAUiYJnfcSd JnAAS7RQSHzePa4Ebn0wHQYDVR0OBBYEFHoTTgB0W8Z4Y2QnwS/ioFu8ecV7MA4GA1UdDwEB /wQEAwIBBjASBgNVHRMBAf8ECDAGAQH/AgEAMBEGA1UdIAQKMAgwBgYEVR0gADBYBgNVHR8E UTBPME2gS6BJhkdodHRwOi8vY3JsLnVzZXJ0cnVzdC5jb20vVVROLVVTRVJGaXJzdC1DbGll bnRBdXRoZW50aWNhdGlvbmFuZEVtYWlsLmNybDB0BggrBgEFBQcBAQRoMGYwPQYIKwYBBQUH MAKGMWh0dHA6Ly9jcnQudXNlcnRydXN0LmNvbS9VVE5BZGRUcnVzdENsaWVudF9DQS5jcnQw JQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLnVzZXJ0cnVzdC5jb20wDQYJKoZIhvcNAQEFBQAD ggEBAIXWvnhXVW0zf0RS/kLVBqgBA4CK+w2y/Uq/9q9BSfUbWsXSrRtzbj7pJnzmTJjBMCjf y/tCPKElPgp11tA9OYZm0aGbtU2bb68obB2v5ep0WqjascDxdXovnrqTecr+4pEeVnSy+I3T 4ENyG+2P/WA5IEf7i686ZUg8mD2lJb+972DgSeUWyOs/Q4Pw4O4NwdPNM1+b0L1garM7/vrU yTo8H+2b/5tJM75CKTmD7jNpLoKdRU2oadqAGx490hpdfEeZpZsIbRKZhtZdVwcbpzC+S0lE uJB+ytF5OOu0M/qgOl0mWJ5hVRi0IdWZ1eBDQEIwvuql55TSsP7zdfl/bucwggXhMIIEyaAD AgECAhBfecn+BRfRwsBoBq9kPMYvMA0GCSqGSIb3DQEBBQUAMIGTMQswCQYDVQQGEwJHQjEb MBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQK ExFDT01PRE8gQ0EgTGltaXRlZDE5MDcGA1UEAxMwQ09NT0RPIENsaWVudCBBdXRoZW50aWNh dGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTExMDgzMDAwMDAwMFoXDTE0MDgyOTIzNTk1 OVowgcAxDjAMBgNVBBETBTA3MzEwMRowGAYDVQQKExFDb21vZG8gR3JvdXAgSW5jLjEdMBsG A1UECRMUNTI1IFdhc2hpbmd0b24gQmx2ZC4xCzAJBgNVBAgTAk5KMRQwEgYDVQQHEwtKZXJz ZXkgQ2l0eTELMAkGA1UEBhMCVVMxGDAWBgNVBAMTD1JvYmlucyBUaGFyYWthbjEpMCcGCSqG SIb3DQEJARYacm9iaW5zLnRoYXJha2FuQGNvbW9kby5jb20wggEiMA0GCSqGSIb3DQEBAQUA A4IBDwAwggEKAoIBAQCckvPmEZ6upE2ch9jYGwz+P/qRpSqy5EYOQ0W7T2k6SZJ8c6MosxCR Dhp3wIVNjgKTrOh5fsDZnrFm8ct+QGOXTscKi0KG12HSmZJW8ACxOXCaEGrjKX8xL629Gf9w JEnoRKrkm4lvZV7j9LTxhSfMLE+CQdakQaNM7+C9xZvazFU9VdmiB2NX1OAR5bBsJcJk4vWv 55buaVqRQqTTE7J7N7ZHPPYeNA2TKD6a6q/2gwpi5OUKXK13x/2T5V4STYcN5rVjO6uJik+y ZUf5OyAuGIt50Y3IPVLHOpn7muh7/Z9hV+6OyjnJEu00emZjT/f5KbtWUJh5itJgKoln+Csj AgMBAAGjggIAMIIB/DAfBgNVHSMEGDAWgBR6E04AdFvGeGNkJ8Ev4qBbvHnFezAdBgNVHQ4E FgQUBvR8jLJLDqVVQXdVWsc/n7XQK9AwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAw HQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMCMEYGA1UdIAQ/MD0wOwYMKwYBBAGyMQEC AQMFMCswKQYIKwYBBQUHAgEWHWh0dHBzOi8vc2VjdXJlLmNvbW9kby5uZXQvQ1BTMFcGA1Ud HwRQME4wTKBKoEiGRmh0dHA6Ly9jcmwuY29tb2RvY2EuY29tL0NPTU9ET0NsaWVudEF1dGhl bnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYgGCCsGAQUFBwEBBHwwejBSBggrBgEF BQcwAoZGaHR0cDovL2NydC5jb21vZG9jYS5jb20vQ09NT0RPQ2xpZW50QXV0aGVudGljYXRp b25hbmRTZWN1cmVFbWFpbENBLmNydDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuY29tb2Rv Y2EuY29tMFEGA1UdEQRKMEigKgYKKwYBBAGCNxQCA6AcDBpyb2JpbnMudGhhcmFrYW5AY29t b2RvLmNvbYEacm9iaW5zLnRoYXJha2FuQGNvbW9kby5jb20wDQYJKoZIhvcNAQEFBQADggEB AHoaVJ/H1rq8vKCcgKtpJjc0V4zJ+MJpQo0piYBxHIn8oHYv2WccGfzeR+2r8HfEbkwuCr21 ILj/XKfcT4JCxbNNTNMVLnyYgC89meCKHdS1Huj8eN39oLulImQ1Lbfbklm8wS2ox1iq7ucO RIA3Dyz+fX/HNUlLRL+hevMXz4IvmcKCC/15Pd2xBuXfdulhzpZiCiLNDqfFwAYa9gVxruDH W2IMgU/Qfg7W9revhOTjEiBXDMKq5YXXWzr3Wjyk5J2vmfaX35JCIhL8a/64io6kAmCTh1Tj fe9Wwo5zs2A8yKOBeZToA07+koyM+NRpREvDULLjamrIGz48ghvgSMswggXhMIIEyaADAgEC AhBfecn+BRfRwsBoBq9kPMYvMA0GCSqGSIb3DQEBBQUAMIGTMQswCQYDVQQGEwJHQjEbMBkG A1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFD T01PRE8gQ0EgTGltaXRlZDE5MDcGA1UEAxMwQ09NT0RPIENsaWVudCBBdXRoZW50aWNhdGlv biBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTExMDgzMDAwMDAwMFoXDTE0MDgyOTIzNTk1OVow gcAxDjAMBgNVBBETBTA3MzEwMRowGAYDVQQKExFDb21vZG8gR3JvdXAgSW5jLjEdMBsGA1UE CRMUNTI1IFdhc2hpbmd0b24gQmx2ZC4xCzAJBgNVBAgTAk5KMRQwEgYDVQQHEwtKZXJzZXkg Q2l0eTELMAkGA1UEBhMCVVMxGDAWBgNVBAMTD1JvYmlucyBUaGFyYWthbjEpMCcGCSqGSIb3 DQEJARYacm9iaW5zLnRoYXJha2FuQGNvbW9kby5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IB DwAwggEKAoIBAQCckvPmEZ6upE2ch9jYGwz+P/qRpSqy5EYOQ0W7T2k6SZJ8c6MosxCRDhp3 wIVNjgKTrOh5fsDZnrFm8ct+QGOXTscKi0KG12HSmZJW8ACxOXCaEGrjKX8xL629Gf9wJEno RKrkm4lvZV7j9LTxhSfMLE+CQdakQaNM7+C9xZvazFU9VdmiB2NX1OAR5bBsJcJk4vWv55bu aVqRQqTTE7J7N7ZHPPYeNA2TKD6a6q/2gwpi5OUKXK13x/2T5V4STYcN5rVjO6uJik+yZUf5 OyAuGIt50Y3IPVLHOpn7muh7/Z9hV+6OyjnJEu00emZjT/f5KbtWUJh5itJgKoln+CsjAgMB AAGjggIAMIIB/DAfBgNVHSMEGDAWgBR6E04AdFvGeGNkJ8Ev4qBbvHnFezAdBgNVHQ4EFgQU BvR8jLJLDqVVQXdVWsc/n7XQK9AwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYD VR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMCMEYGA1UdIAQ/MD0wOwYMKwYBBAGyMQECAQMF MCswKQYIKwYBBQUHAgEWHWh0dHBzOi8vc2VjdXJlLmNvbW9kby5uZXQvQ1BTMFcGA1UdHwRQ ME4wTKBKoEiGRmh0dHA6Ly9jcmwuY29tb2RvY2EuY29tL0NPTU9ET0NsaWVudEF1dGhlbnRp Y2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYgGCCsGAQUFBwEBBHwwejBSBggrBgEFBQcw AoZGaHR0cDovL2NydC5jb21vZG9jYS5jb20vQ09NT0RPQ2xpZW50QXV0aGVudGljYXRpb25h bmRTZWN1cmVFbWFpbENBLmNydDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuY29tb2RvY2Eu Y29tMFEGA1UdEQRKMEigKgYKKwYBBAGCNxQCA6AcDBpyb2JpbnMudGhhcmFrYW5AY29tb2Rv LmNvbYEacm9iaW5zLnRoYXJha2FuQGNvbW9kby5jb20wDQYJKoZIhvcNAQEFBQADggEBAHoa VJ/H1rq8vKCcgKtpJjc0V4zJ+MJpQo0piYBxHIn8oHYv2WccGfzeR+2r8HfEbkwuCr21ILj/ XKfcT4JCxbNNTNMVLnyYgC89meCKHdS1Huj8eN39oLulImQ1Lbfbklm8wS2ox1iq7ucORIA3 Dyz+fX/HNUlLRL+hevMXz4IvmcKCC/15Pd2xBuXfdulhzpZiCiLNDqfFwAYa9gVxruDHW2IM gU/Qfg7W9revhOTjEiBXDMKq5YXXWzr3Wjyk5J2vmfaX35JCIhL8a/64io6kAmCTh1Tjfe9W wo5zs2A8yKOBeZToA07+koyM+NRpREvDULLjamrIGz48ghvgSMsxggQMMIIECAIBATCBqDCB kzELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMH U2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxOTA3BgNVBAMTMENPTU9ETyBD bGllbnQgQXV0aGVudGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIQX3nJ/gUX0cLAaAav ZDzGLzAJBgUrDgMCGgUAoIICODAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3 DQEJBTEPFw0xMTEwMTgwNTU3NTdaMCMGCSqGSIb3DQEJBDEWBBTiw5h83cSSH5irHMpuevLR eLPGoDBfBgkqhkiG9w0BCQ8xUjBQMAsGCWCGSAFlAwQBAjAKBggqhkiG9w0DBzAOBggqhkiG 9w0DAgICAIAwDQYIKoZIhvcNAwICAUAwBwYFKw4DAgcwDQYIKoZIhvcNAwICASgwgbkGCSsG AQQBgjcQBDGBqzCBqDCBkzELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hl c3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxOTA3 BgNVBAMTMENPTU9ETyBDbGllbnQgQXV0aGVudGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBD QQIQX3nJ/gUX0cLAaAavZDzGLzCBuwYLKoZIhvcNAQkQAgsxgauggagwgZMxCzAJBgNVBAYT AkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAOBgNVBAcTB1NhbGZvcmQxGjAY BgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVkMTkwNwYDVQQDEzBDT01PRE8gQ2xpZW50IEF1dGhl bnRpY2F0aW9uIGFuZCBTZWN1cmUgRW1haWwgQ0ECEF95yf4FF9HCwGgGr2Q8xi8wDQYJKoZI hvcNAQEBBQAEggEAgbgl8KHF1ap7okFpPacv8gu6XEdSOfPNveBB4QCSmWlA0J8upmOZtgog /nDpPxUE4hw3iTxQExdx686n8VvqPRTuEmQ02gTgRW2jA7+HBVH7cDzH+igFb1mUzvVrXSn3 cYte+xkFUw6Ycd9Ndu0O/iwviZamf7RrssEpgEbQ25A5AXmTfXqct4thBFlr8+kX/UxY8AWl B58VA4BhvqQaHk8WZJ4ob5kbw6IafXkHoLn05Vkx3KufDbSulAYRkoB18366/osrPnuYnth1 +gPNLj+ZzJFNmNdlbLwdOYeO6ZC15pPnWS4AuPt33sREDIGXt3dVswDyi/mPtf4qllQuuAAA AAAAAA== --------------ms000605090404010906090006--