postgresql17-docs-17.2-150600.13.5.1<>,Hg>p9||}Qopi;c/I}w~3BГj//:F匕rV!RqDmM;Ȩ?Șd ' I $=^i  B ( ; o t|x3H\(8A9A:AF:GPHLI.HX3Y3\38]F4^.bcVdefluvz7HLRȔCpostgresql17-docs17.2150600.13.5.1HTML Documentation for PostgreSQLPostgreSQL is an advanced object-relational database management system that supports an extended subset of the SQL standard, including transactions, foreign keys, subqueries, triggers, and user-defined types and functions. This package contains the HTML documentation for PostgreSQL. The start page is: file:///usr/share/doc/packages/postgresql17/html/index.html . Manual pages for the PostgreSQL SQL statements can be found in the postgresql package.g>h03-ch2d1SUSE Linux Enterprise 15SUSE LLC PostgreSQLhttps://www.suse.com/Productivity/Databases/Toolshttps://www.postgresql.org/linuxnoarchTC=o1AO-Z*(oyPok$jG'(8v+Q\+Y< UHJMR6Z= \y7,)Gz"k:^OVYB0EK!4$v~G>4'y I\6ו!N4#;k#ycO$ ;,Z8|s 3n"#n@0I8Z#]`h .9(.aa;-V9|CI̥  bYlFE" T  j k $Ck9&b&+||589$v8݊C< tU@/'-r1P"{/'55 1<$DE sW _> @7d : j%+k ~3h0 =*a"' .  *9dX1!E0 E@8 `L3D;KM%a=Yr,̈QT6  A<;Cx%L_;""-b(=fFo7r?4KQR_ YL.55t*JO$ /7*}!i+ %/l^;i"O:7X&3 =uBfU=1y65~sq$6%KJv )[PXq- 1#V(r c {\"?t(V)c-C/{t .l\?%iEC[VZrj&d}U' &Z$G[%"2n&(F_d AUR#o ,@, \8~ xz%(" \o^''8]*?8  9: "Lfpr'K{"?7N{Y1dsQ#:;: '(`3kY >6(Js{hX=8L>(ro4!z:$CC; U Mri>& :H4rg &CM)h%D n(iV)i» Kk+&2I%-q_>!dwD+^ v \:bgbL5-g"1zbfMDXbN)a! 6/3?8%'Xg?-uGV[(9 4<Lhra 9(<r# -dHZ f>"_$('7 >]T5u- # O$*y L ' 1 @Z@_"L%SX)n?ҙ1%C /}0kKmX7ssk;l0t+.%f$ S#xe%b6 Uˍ I^Q!! !'MH RZa+@FD\}*+3j{* r, D5,YykSR'2A,a>CF=g}AA큤g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>g>4147f1b94b00c18980d6574ad1fc55c796c822bf1f85badc8af9fe4dd3ff6f77222e09e647e321f08bc3726d70d6d20158bfdb8979f8ccc58338f849865944271d264c2d99a74ca22c744f201b926809dae6bc5ff23a715c48a91f0117d6608e003afe5645ff696d7c6159dbfb6f2c9d1759af727cc588a125080565018de3418be1c07f04724ca0cdd78987e2a38a7b2aa5f7eed3f33c1fca224ef8b786e23dae638abec8235546b61d1bdab9b2ea3ff12f27aaccbf3e792ac4d6c3febea9230771529b93b9d0a2e5417b3d95c6d788393ca1c30aa2829c96c1b0a5460ab1a1066093fc13a9a3ea43190448e6a106216c7f761be25a3949238309c2ef5810dd12e20499c195b7d19ba1ac6d44c36563eeca0506316720b81bee7e71f866ae506b71f3020b287ab81ffa9688fd4c1fbce8398924924f50eef9daabb7c60c762cc91ee26dfc87d05fc0430abf748e4ca6491771ff81527c60c54ecbb9d080bdc189a564538624f83db9ad221d389cc1f5dc837e0cf1846579be8c156a5e438754617a1eb85a24b0bd3f09f1a08886e645c19d20a78b6bd7298194668a0eec233ffc45761fa6eddd1635755c999756d9cf0d9bbe17faf862c7c6167c89926fcb61d53eaed5d68569af09e55f1e51ebbbea35df2201275f9e691e1b597152543175f8b759f91a70eaeb8665ef11c91d7e494a9ee77468f359957db91923a7b8709c1be1773d55c3b931f0cb22ef2f696f3c65a5c60c7de53d4736876a20f2628113b83e3ed3567d5b232830e7a161dc043d8ba426f630cbdd495bd38e1e423eccc3cd851f61d7a1feb6401f5ed4da620cf79213e18f9634439125b8b765f82d679902750cc3d20f216622c728f70d84e63dbe0c1103827b236fbb868c0cd92855e5272bf84f3a8d2a5ffaf8cc7acc2ffcd27ce7c9a01e8ca5ae0622e11928524bdded798d07e0a545c8d8c3291db6879ceaed5a8c6b92baee177e8bffb55416c33536dcc43177fdae35eb74dbec22edaae4aace72476a235e088454aba438a269b510e26f68c2bda09af445665d3fe08b8d2de1bd066b7e0bcd4c86a7da30757c7e480408835f0284ab77956b6d85d5b5a008ecb06d925d94b971c9bc6e588cc82593629da5fbcfbeb79542d7af1a990dc060b24b86da70aa4d07c0863b25f07d1d40f09c5726459d56b98a2a0a1ab3c67ae19433c6a91806f2d7898f427d8006c18ea243258ffec9bf9da7eff399f4bf323874fd7a4170168f127c1a8eadb3062f12f50539bb3a89bb2ff502a7ed19bcd7e7e31d7a4706ae6d0c85f9dc254d1f89ac02313091c6649920f8856164f893cb8e3a347ddc3d9905ef31d04568d9b7f9f233644abe89812a5854192cb3043e9e5e56e8f716430a92877d8a93cf8468f450838e08c64c0b2f116afb9404a127bba9095fccf7bb5dc52e3ec3fc07def019e39d51551b8473c810899e1f8cd9861f4f5091b9754561cbb8a1c0c63a3a47f673326562d9024c60d6e5bd8d7224a182658f762f88c00362bf620964a3e66d28b2620b346c68b2018b99f8edd14677db005064cd55daf36c66d3b65632c0b0ad4022f5e0e4f31b69550ad80c56d05905ca613b1aacc50e99059b882d2e889fbf6f82392103021675dae64ac1c14277e2abdd015e3f967585609136418c291a299c3246397097ccee278dd77f44ebceba58dbba7e14a808e6af67ed16a7774925281ff66385bd5799978d5a1a01ea2fd92db463f4d23dabee73c755b4441585d919166abaf2b9f512f49cb81726d3bbede40453c9182bcec131bf947219a44a435d68993711d6c941c5358c8b4e1ffb4c14d967c82f096e558a8e7f9add4549fade344ee2e8528ea5288c630d2b7aa652aad0f9be1ddf21771d3247b79d4b84385bf95893091823290b0b1a4ef904475d3a1ba968b2f15ee13319a752fc8e09ed82b457a805a980c30d4af5e815a6231258a29905431ecb7dca85eb67db3cbf102b0feab3a8a5b6afdb733ba6e6f9e01244ae5d0082f642feb6f1c78573e00be663e6479ab4d9a98aa5fd854852eac6c8760c5f8e6280ff072c6bdb7af794745af52aedf414ce260c215ae7663ac8401fefc2174c6c33e2ac4b804f307cf08e92f1c653bf9441ff29500e6012b961c606bd7239469114dc6e975622fc887449ead5c8d6702c118a8706337a0edfffe212ef1f3383400a4f39d7864da6b9671a9aa9a9e207135a95138a90b3fa591952b5eee2dd1f77833110fbfb6bb191544d1b820a10e4f0c3d69b47682bb46a30dda73d1a29760c81279a84dc236a371498666303fa0b8d84e25b7cdd230b3401ad8302a5c342b271fba474cb83d988bff80603c918520cd478e10e5aeaa0a994f7e703e576e2a4f382509b2049a4dc3a6a9ffe9fed76fe916216856cfa1ddaef6f02bf109882405f5260827cf29eda59c3b29ec9015e0ef58e6d7396763954f8c7bb0fe8ad9f647214ce945215c58fa36a21a7c4d69a5bf08b39d518da72a4de60b97b7df7f87b9f27fc3b7f4c56345e136084235b4b9b8e3a3f4a9352583f3f7c7a00f5b66b8abbc1b0874b09f12156a5779ca8f99ed4375869b082c068f0bd329b0c3cad244418088712578bb029396534ecb2e7084115926ad7dff811b1ba4989da7663652926feea4a324c7cf8d83b136d83cb1b78013b4de76e03f44604bb24d76c50fdcefaf99d9c0f1fcd0f426f1160a8dc51bd249e529155938cecd2a7824dc3f87d642c980cf50cbc91f1b6818542f8c723e797b76b226ee9fc907d58fd5b28d148fa9ad39f2598363a5a29b0b808710c278f1a39c850356ff949896c5f2d51d1c9127693ca7ef456ea2f61dd2cf8298f503f3d19e7d9d447163e65ba5562eddbdc232cdfa57a842ad15cf9d22daa477e4e8c08c7d8741fcb9aa34285aba7b58f6876d5c627318886bb9493abef01526c24ed607162f3cf9618703c92a775b94830232f079a7fefb812615a1723daea626df1f9d3b9b9cef434948a4d1a63599868cf575ee5200113f40cd2ce6a89d26af487fd4929f03082d29fdd16ea004e665928d6398b9c761a16b75e95ff02bb87f86d429cb0bd1f53f951840238bbbca3b9fb6e9fe4c40995ba387119b6e54a3636ffb51740c8655a2c4d697650a24e67518ee8b6f5126950553760a1474206609fa188231170e3c360b6dc18cca98e1aa6fc50a585ce1e89441e57e8bd52a64172b0abee1d0fa9346c79ca387f9d7157bf86c348becb9513575f38cb8b5e317a4fcfc509c130c48c4648fe3e12e0041c4d2f1ab5d1aba37d32ba0926806ee10429664a219cc6ad0ee0dc8e11098ed98c0da5ff08fdd8cd4cfea1662aae6a61a5b3cec97d32b4f165e4d39ce09a0fd5a6a541933768f012bf15e4d0083421477747585e05f2edc2e0cc3c956f0e2b4d7e9b856ef7f4230732d4b18f935ddb2fab8905484eede50201439e51dc3cbf5f1c7ce33b4a5515dd8bec0d4b6219b43b4562239f15421c9bc6e425c9f9642d549eda0b4652c19d22f48b8c85ee89d9559b86d943f1cbfcdd3f2801080124246fcb26563f0cacd8367c5facbf82428257aaff3d9de5fd3bcecfdb35ddd732a0525f92b0907fb74ec074618d3e6e82bcd8d2f6ef320c4dedf060702262d8f507706cf8267c60724678ae238511e8856cd27aa5c1ff83d8a366adaf5b37623e6770151637a64adf8df4170f9dd7aa99bef273eab91a3ca285b956a2e095249ab19946fc154d6780f4231aa9b6145bc982dfa7ec2284510829ed0e8d8c51702aaafad0bfd06992d99a7536daedd5f1b3eb33fd46eeb17029ef9cb2d1532556c6023ddabdd0755f4d1c1c70df97c5ac36147b89213c6d6438af1dc3658eeb2269d6229c67c24be5538b783a89d4c5519d1a6ea5cf43fd498fdcfa57cd297317914db1dd0b595a664bacb88ac114fcbd83672992bd886c6ba0865ee8d978780fd19cc464d52c9cfe1f1515c0715a173635ac97acc6f98242709228abaa2e40b116e70d43af725fe793eb6fd0338280212b441fd1e1562f91193d9bccd087d463342dc30b8298b36df8dd4eccbd9813e810064dfbe3d3a22ca25cecb02a06c783299477b4126386f8b464b29d4b654ef9e1f2e3801e61d2147d6eb68eee0bebd65fc82165a599d23909436aee83d8f4bb9078f22ee30968a84cf1ab1b961fc2c393cd9bf402fe814536a2eb58415db72845088250b021c446d9b4cee20d4eba00f4dca052c3176321e5f444ac0d4f12dd0a00eb55860ce613c0eb88c2c6f455c87dfdb0cf2ddbf31f1bcd6754468916c0d14ca86d64a80aa8ef9f7466c772d1d92fd8a46b53456481e690585fc51f7a6ca384796312d0a5af7c401db90b60abd079e45c39d62127fbd937b721f2d37ecdb13a575b44862729f88f73c87c45b2fb3ccabdfb6aba31ead1993cf986221d1f025c378d303a3f4937bcffc8b85e9286359298921a1ea4de8c7c161466c381b26b2cacf9d430e97c204f1996269d79f857a73245a4853abc78ad452d6e333917b5de543f03d4cc8350eec73481a30210c81d5b8ca5ddf867b0171876ce6189bd89526345dc56d75e0020c3fa46739ee9887380adde5caa5caeaf016e182051f0e32cc87f80cebdba2385364ab43cd70d29ea936871f592e58e158ec2a38b3911ee811263d9bb155489fc5660a09b2e3630d47962d3483409e5c1c0270d54c876435d5de0922d91672a96dddc328562f7cd2e26c3361a76d476d141734681fb6eacb8a536317c0c26f2adde8675dde1f60bd81a2b5830baa613c679aeb8516c104980f18dca7db5a4ac18d9445b82c24202e7842121b3d760c76215c209c407e90f41ae4a3deb0b4fa9589861ca74006a0b8ed7a2452755f17588adb450b48ef9bb07c1fffd95bc132181c374fbde566ae87476e796e7e04f173c48df1324ddb31c398440ef5d96bab755517fd5f100161ed94de09327aa5b751688f41d6b5c7ec275508636bb93351fdd3d0e6d01f2fe1e3318d82b89a3dc20c42c52d9fcfd0762b25e6b7ae23fdff2b0b579e31423d17b58d337b6d0c43665b3e009a03cc7ab239ea27ce2204d4e1798897ae39ff09e145777794e1cdd9ae1220fffba31f3752f36c96c76f564931e81112239bbdb77ba15fb8319dd9c70cdae6f0b6e97f64f8da47f78ddc0f6829b54b5ebe4bea3901b069c56487d716cbe097ebd6b4d6d60cca939c5188e1a37127eed1b85471e59c3e5094601660e99069033879fbe85dfea1928558e59a13544388ae89e2c8358d88323d8ac2a28c40c225da5da33eb82f725351911bcf152e5f56a66fac99bb7f6c494c08a139b4e51982e355019a2e454a48ec2c77b88dcad76f0f2a785a80752e53a35bfcedb9c08251392c19bd2e42255c11678c1eee1bc488be37be48a66344cde2104e4b7a9983a08fc10a720b273e05008523eb07de0e7db8e1d0408c3bfef0397904249a2819e639169f5881ba75ad74815cc4f0472e0215795f09292010c796dba9414a9fe0c94c82cf3a28ce74023c92be1127d0b804fee0fa4013421a58484e217b7e380fe0bca045ff47bc4183380aa0114cc8f818df24936277c1012eea3272be9401ba6fc7fb94e62bc5ee3695a4f05de2951990524469907b608c49552e673de0c071236f5e5a5d780599dbf8700addeff84516e146459aab36d3910433bf558cbd8cc0c37ed776582f318de954ccc9136c043294e69af0f65e2f6a9baa058039a9fb9f9d9da2ab61c536f11e8625a75464a512f4ab4e47713ca47e6334d35453ebdf8cf5e9d53950f6a516b5e46ae519210706e6e7405ad686fa83aab450ac294b3eaa5dbc12e76179980ab27f123cd30f54e266036b56af2ad595bc0e120d08bb9343eec633a168d6ed3097be9c7478f6cfcb1088e99f652b5afa9e1a1fa6182a83f37d52c62a5b8e1081e95316483c62c00e1f35f917b7f57e405b18973802b2d6f1703d2adf3a579429e3736cf5fb19c513f99935138a7b0f96ed852fd0118eb1da26f691eb72db12e4860bb3d6941c8e644b2989a6561624c42c117218e383831fc9416432779b1762848e50d664d04578f6d0976ac2faf95627fb403114b7739267fc14070ebb777d5f00eeebe426f003d2600490090f5a70c2ee99fcd9a4c6c5d967dd66e3e179dd1283a72b04801b928cdba93720981277be0b65b6297c9e00b2af05929c73bde8862875bd645c505344f5b3aaf4c8d431f19cd4a6865bbe35f2d02f957f9379e3b91b2f2404ec0a8277551b73c0d5b5143fa4236fd2a72720379bc2971cbb9b3c935da4cf10025090b53cdbfe27277f80227465393f7fdde72dfdac59e439b431a8fca188a73fc5d53a4fae92555431add6fbf2f1bc3bb0be3c8dd5c6d146d6b4514209329effe59fd31929be130f1de274bffa87f8727ec6e403d8a156553e1480722c0e9aa15cb2d2a99ad8a8ccfcd15f96f5bbde5131f0c4a9a67444e3364ed4dc9429e7c201d3fc6ca8a1d11fda2cd5ac4267144c37fd8a026ca6bfcc02e34de1dafba95da618a6238062037fb34545baaa773f93ff54ff01559aa68e90e4cabf9f5594b87aaaec83667476e87616fae6f263b2820f083ff2b30ae38b88ecb5b201c8fd355299b5e1d7b6375933b38f942feebe6ab1804540247b1bd8fb1d35c2766c897ca18757ec24bc6fe349aff53772ea9e91ebbdb8c2c77e982bfed6fdc8f432f51dd561acc40c3c6d3b4afb9c478e1f5bc04502c5f942f627bc6acaebbf0f1eb459d9e409ff2b3e2dde01731fd521af12ad02dfaeec10c8cfcd3db4ff1bf970585ec709fda645b7666661282c82a5c3a73e668038a19c6b0be2f3c23d4df49553af02b621623622eb98588f24229dcf46ac97d2f76708f832e20d5c52411073136da6d6a80f96e94ff47dc517a8dd2c1f2ae15d68c55fac6924a1274287e3c93e45e160a757535a86b5d13638ab39341e7ec7b66bebc80353128c9697bb1c73b1e805267bcee324e7aab7171a28723402e9193ee6b935515ca69471f40590aeaa49e443b32c8e37f7302678ca23b7e15d67fdf55e755006619168d7aac41f1b322ede91ecf9f6077e61cefca537e607a0757a5d51ca91072c69f46a4ebcfc4b17d383e2b1ff094f5535df341070fc9ca2629311e87eb10ec808157a529de30e475a510dd9c05876d526d54f1061bdbb0f0e851b4b8317eb09262eac9a65be5960d115cf3fbd29315c01f98583616f836439c77744965e79b2fe059a58f3760a1c149c9b5dc41adb26166b251cc52b3de386a0d266e70ea6b77605799edc368474f0bac8ad373118562080bc79747af4ae6c37386ab7fc8e05574417c67cb68240f7ef8d0fc51a4db02dd7afbf18b130ef8e1aa66f729554cffc1c7ccb9b3a27be37dddbf6461a2584e3d2aaedc70a46c7ae51638c6502f07d0a86f9fcbc3ba2de73c8b1276cdb42cb5b4d4f280ee57dfd0cadda3fd50e46cb3b7dc16297f254d731909614b0323357fca7c4af667e9721db51fbd1e2530cf0ca3f4434dfc025132b81c2039ab57e16c0dba21dccaccf7c7e84db83fddb11aad11db5d4c48fe547698ba31ad7fa8bd1353cd325698c374ee25075aa428281a43f3b7aa7436e81293c02f6b45795aaee369fb01112414d21fa4a803153b2b90cc24f49ed5717363a1daaa37be455d0bf8666d382275f7c1107cf44589eb25770e83322ee2e991553bceb4cddb068566adc8fbe63f17c68b4afc95e9f01c26be798cdb19cf0612263697672d6d84d0cbbfd089d8bfb649cf67882973e9b938823cad76e50caff586c392d9f5ae32bfc3b582d93bb775c823169d36804be3cc2d4f67fd2c9b8a646ed6a4467f9890d9f4361146c53d5c6ad3e70c669abd56b6ac3929b7b82720e36f37944bc414e31c4373cbb9da8aa1ce0e9f218ceda1871457292c41146d2ee11da7e9082d23b457baa2ea2bfac3a2a2355c5827f1112f61cbb6327b4e22bf4cae3427a6a9141be85c0b71c1b838b325c7e8c508ed9dc76d28c7328e032fa968a436ac03c31c74d31219d2f50191b27529e7d1e90b8e2888b9251981a401d4a749cf1f4f94db6c6faf4f4f03ad0e84164a512f92468476d38a6f756fb7ffdc8f2f8194b0a44e6a443067dfd6470d3f2dc1e2487326b6767642fe1459b131841f5c9a2452f99a4a9cfc562e7e8082858d7d1bc5e9002f3b049dce5bdcd6dbdedc7f21b6d6e478d81ca9bb59a5a73eb6b94420e9e4ff25897a65d4663a9bf2455b8b6bcda5840994f31ba0c9c8e58c77af837196c452b33516e2c6ae29da110d3412318a626bff3d2d33b0f2368d58ac208b5f746e27b17c0b85475475e2352747f5d724eacf5eb02e18bed198716810657a01e35773baeb6defb7a7d354deb4767ff1e34469145ae48b82b4203e77b521e028806171cae8ffbacf0bdc9c3cbb394f5fd2e5a6a98d4aa56088bb17809cecb058fb948d36af8ed7b31783363a7d9990c3ab2680377994551d11bbe15171fcad1ab9c463482a0a88847a35b3a655f26c824ad07743bc2884fd22c5d0b9674942b73d7b902192da00c4c5e6a74ee2a18e5e0959193defa9c2dc2c4377f549467bf0e9ca01924f4eddb725b904fd61f965289b0d5936da169e40591f4f7908dadb29ac4f7938624407427038238a3421ea137b71f8a45e0af9ab6f9de119203b93526e2cda0f52d9c13996c97cfbefc6f72ab3a4f4226b3ad2c7a379b9d151670daca20f5b4db7d031766d6619c37a3693a944895e339af9a925fb3a959b88fb9b083807c13162a0664969e6d80565c2940873a60a9011348e10c2c9e55d7cbb03edf2883d5f80474a95face756c2efac5f928135453c0cee2d30e44c9abe15c01666becf0ba58d7972c6d3d22b7adc7324cff7a6031daa838f267912822b9b9f7ce7dcc3c5a7269b8503cd9d8de00d2849caf1c3b147612484b7676bd3f2c4e705bf1d62c625e16c00a249907896a2deba8afc6ab57bf20bef92419dfa6294daba33606cd868e918e4dbaee4160d2b108942420ef43f7bbd01b9c74cecefbdb863499cd005b069196a5b133321577c308293cfba8f24d1bcaa21391f4b0c1ebc0063589f2bb5227b2792b956761c31fe7704eb3e571b8c26937a390a3ada9f1c4d00d26b0c07c7df6557ef5dac5b6bd4db39a610e8a0809c91ea86aa571951b217646b5ff96fd53bc45be1b36073a4f0b4ebda247dea915f6eddd010e45a55df65d96ef0b8b0e81010da6009616beaa1a9dcd178aae100e22cff806855527961be03d33d0beefa464e6ab8b7dcae669421a4e74865152df351ae2ab0515bd7f3b2c439e51a71d31f104677154bb6bc41c6ba8e0b7660d267d7dce5af449dddd136875ce18b7739522bbc459968347d3fa073fe585e95f8036b248e911377f8496912f53d530eddf82c3ea2d54ae36e0c54ece75156fecc2de9cd3b969ec72d8eef880f64a44ce1b42f23126e58da47cab71243b30eb58f3066a0b55f9f8c0d0179a844b1be4b657286a1686f70c5ff99c4397b7c58121971ffe4d97f6a817c30f3fc3a7cce5cb84f76963adfed127d29785729ba8bb1331ce0b38460125d5b7ea07d0c73afcd9c19f993c28e2705cfb70bf6e958abc7dad63fd1eeeb5e036ce750d204dad451fe7b1b741f670925bfe7776990a0b01ee07d4a69fb444609970bbbd210e069926369985eba917ae9893c61abe590774a05bc55d1e32b1b49a6bc0d5256843af246e4bb2097ea97df0341c27d8615e746bb451806d10996416d291bcf7d83b6890657f4d163af10047ffdf76b0741a269b90a0a697843e11e72aa7f92cbcf6e2e4673d70d6706d0b32002b09441aff9e419fb2267ce1df3fe0c9e0c781456f668289fcc56320ad4053cc450093c91a8825df696f1e55bbeb10bbdc8fa160fbd25499204fc78fa4140c5e7f531d4a1f58ee15588190b724a2e6816ac6b017af8ceefc842522504bad7a477fd5a0940a6bd05fbd5c030813ebc876c317f6fa93ebcbeb312d744bfc08faf55969b2550f05a8cd2e0721e130915b6a8a71607ab4fb334dca14528d6ebc96fc35c7812af57dc69cf36925f3e3ac4b53686471a3087f4a2cb4fc00d52b7e5090668d29063a510d9ac9614bd1cdf07d5fc974dc3c26d0b3e3a1bb5a0e3c20ab2b08ff5e3a81b07591fc55b33c174f2b9a734dcbf7ad4aab290ee4c98902abdf60bf25c6b50772c27c1f310c3851519f5725c937359fa84a5d99f1651fa8e6dd405110251c1af11d34d9331c4e833cf5f5144d6deb17c7e77ca804a493eb34c4e04abc4a63af7c68d012211e0d67645b9c5730c25e3977fe40b84f9167a6c45697b571164dacda7f55db2d736aa7ffc278d21d663eb4fa004e802ac9f06f6925bb32ab2f2dcf994216b0b305ad7670b6fca3193b3658e9a6084f4803569199150afd7b788b96c44e10933f3c2e74a8164bb1ce7ca6725bc596b6db4e8c36ea01fac3e5f3e980c1a48acc5403f021b9476f4f546fb11f12a6b89e99b4f3f453261ceadfb57c68627126e5ce636358f96d8941461a97fca1ac85e2cc18a2bd28f0e9a26aef589fd9cec74a9b1e09bea9e5411d18a7d06147c66c06c02076e8e3e879da0e3eea35a100070151a3582d6e7b31f164821a9ebb349235865acf9c308b5a0b46e7e9a11fc67127a9e7e8646bbb7c773cf7e03e61722bec36a13babf0aeab5162d2edf771286f98b1c027abad0060bb9522a6c5d313edefa1d64d79b6e14d41ee427447e448cf786e986d63878008325df62008cd23d7f8b7c9d82f4518f121eac89f7fa70056ccefa1d8d1ad84c3675e7a4998ed0c49d6ba62b9e7b486e76ec37a01e597b5262dd3a0a5eb70eca347c3a8462485024f2190c8f5f4854742ee801dc4fa5d88192376b98ce48d89d80e8bcf86b028d1bb77f0c879d6ffd8cc266deb26f57d6095abcc8df84fcb947473f835ced08c9329403045c3637bebe54cbad5c50731ef61d55dadb7af5fadab4bd6023e5de54f79d298aeb10740f28914b3fd370bb8e75a94d420b124a6222a0e53235e3d331d5b1130c7992689474f3010ba7661020e718a38de2d80da54a7ad3e7126c97ca489c0fe846677bc38000eb418c1574b50e1b12ec3346e8765f1d6047b616a18153e89b6d4ceeeaa746fb4fced07cf512978f04cff8dd4c5c841d2f4f641747ed824ee77b3a118c8211f4b714fe9fc6e50e8f57aa63b4c8e39d715f9e58ee4356fa49255f33b9bec1680d43ed849832def09b53c5f3f0439238482f7b40ef1c72531016603fd497a120b045930a0afa558e241fb6efedfc1d6c2996a590f9360cb4c6657381304e59dbc2c68545a23cced9f047233a168472c3451ad8bdcadf2edba4e476b5851255b7072cb9ccf986b2f5ff6928e03f290d936c5d7968a4140a9433f82be8cd03b061ba9f387159fc549bdfd52ccb8df04782ddacf6778e2cb8237ef7e33a7b9a5506d1b3df775486386002a5e95d92042d9a9f806525caccf34eeacd60ec13f6b1d676ad83f2f88bb384c9048ef89dcfeeb11ec9194657c2f606a4d73a5c78903ac265a226972877d6d4fe67f0716780b775fac753cd4941140d1655232c6eb5df753f913c1108d02f72937c2551db73fcbefa1eaf4afcbb7d2a4238ee0dac8b9a2a954d3aaab083231b330294a3989ea5a79d4ad041b751b696340aadf25dce8d0fd77b5f8971f1ff82ee6f04a253a3b208dc0015323f16d8edfb274fc4d13254035b248c04f015e3c55f8d074a09ef35b38747581165395bbd0bbb6bed10c2d07925176367624ecc2c6c529bca3b185edfd7d2e1f28e1950bc5d3f9513c494743362d783b8059bbcfa7f91253e63b763456432411b09654fb7078fcab0b55d59a3421f4e95a2f23edb3737a63fcacae1ac4711e532ac857ba29ab458b62d698734e0aa58f1dbcb053e753e87b576ea92ed5b113a7519cc56128afaa5d773e17e1cd02d7ebff637fc4c45fdf87f2ad3cbab9a4c6a693a4311e34452f7eb01caa8eb0e18a041aba0bfc9dcd2981a6c628f322cf7de2d1964b8b744886a039ba68f54a59752ab305454adb7530382442efd0cd462041f8d191df6d7ce5be142cd207b487ab0d08a05729e1bb903adb258ccf763ff6a9e5661aefc1b6fddb8c1dbe192a22aa0f875a0b2f0dc278ba85e5e0d558da55f55466c323f8241bae824ddf6f82cdf092a58f9d95813cdcb1d4002455ee902a21174f0e168e493e8f99fa64a7d270d24974780be672c782c98a0fed28f6777121f2ba4ed406923cf1151650bf5ed758cf8a8c0da37cdd562905fbda6765221fb5888f8ef49be8d55f19c039069eb4023446fd266bea6c7f405355cdaf31306d0898c574542308cbe22b2d6988a0303fa24fb9ceed5e1800eac10c9754119af90b046c5e9402ffc67256b52cb6297e9749ce90a83cc3d60e69746363fd1b759e95ba029e8e85bcd9e5d31505dfaa143390f74facd8cedb65661784df421e35c562093c7d869efc95ef8444b2c2067d0d78ff58aa1efd19250f97b843b053be75e4481ff020cb5c05460bbfcd5c608baf9c5cff826b2c9e90a25ba099c87742110bd90161b448370a13eff423e534e6c9138fe9d45226972771e055f74307f3a3390bdea6ccaabbd4de4b155cd67a9df0afd105f42496fc854e6387242d88f4dd03aad64f9b0d376c78662b01a41bf42ad9e316147a1013aaeaf1333eb944d00ccc955070ce6ffa8a1f5105cfa4efddc94bb99f1092bdb05b4a8a02eff1f29f792ccc3a208b67df686fe05ba29f3d38567076ff0c8a57d1829b4f40d07396c98bd46b368c2f3f39564dd3ea96b24b7a828a076dbc9d625278fb580b88842a3afaab2997d11cb118a51aee0d2d52bb4d815c29aa8e760510fbc455ce0e1d09c1cf97685dafd4d861fa83054936362a6d48f93e4756532e711ed898366c7734a28d872b7728e7511c7362e8e79f936c673764aabe7c31844305a1ff6570dacd80ac1a93460b4742c63e718249b055bef161a39a865daed1bee899dcc07c0668d2c72cd8994d03046c9d99279cc06d63de2a6ce9cdeb24da00a40f43700eaa0e437da5a99461d37f4813d3b8847ad271aa1c6370a93e94d63fce0934688a945ae7e41cc9696b0a6f18c7a2d1954e99b12663dd0cf9501e5d795fb0f36e2a18c8c345f6e84241bac671db7121a2cbfe9e397c9fe7761562841c5df3b1cf2f86691a8336e6165b73c23d03133383f87e71cd6692ceb2228dc72ebcfc9e72afcb58fe15f92972b700ef3b4dee0e4502ef72dba6813513ac3653f27339977c91c8a456a3060ecc40a494f647ebcc3f14afd96576490138c6e2081e9f81708545b358cc85fc9462ba69180f5577bbb8d7fa1dff29970f0fa1fdaae7e1fec3468109f685cae57794059ef52d0a3bd059fafa248a7b93dd479d28ed41022b97a738509081571a6e7e7d98e311bb7832f0694251edcb6fe186c91e2bca91f01760deb4e4351bfdf2ae6ec3931c33f3534fb0f011492a613ac64cfd3778cdbb150b995134db173240efc8c73eaca5e4a3fce6c8ef12d66cc2f53d9001f9abf757aee12c6e65dd461fb60702bd9a2bd0fbe6c707cd2550cea3f3beef87303901116722a95e9ec84903434b12941c574cb0ed5f55e0ee7c389e42ad13b8a8f3f1e3413d89c1dff39db84a3a2462a2d01f75d50056df3d707e80f61f9025c1ecceca642f673b2a9ccd8a0c4f2c384eec01e9afe0647ae92a5f1990741c9bed705dd9d16b0e7b90a3e87afc9183cbe296781c55cd5291aeee7280e8115ca6881d0df1d30b6e7918115b4204a1f52be6cb73c7018ec680b72bb023a2b5aaf7f35de8f2fd9b3bb5bac83f2029bcc447da7a37cb2e1c618cf6cfa3442374c36d6df2ea283bbabade331608f6e8310ffbe221a962827cafd082511fbab3a994d29456825d15ca4ce22ed1090c00997649fd7c50f32888b9d4f6d6e4a7f183a3fb8c5388e1c40bbfd1d507734171366bda1c7cde744097cac3c465471e0543c85a0db6884d6ca0d9fc5a0be722b22a3c726436f6ff96c0aa0be9cc85d8fb7226df42b811e034c090658398001475c6d154de60e6d85f317a8d0c90e7edd6a7ad6dde380375c7c3afefe8bdc7f9db6a7bd9dfa299ae924766c804a68baa4cdf683c6e67f8fa1735c208ad50f57097f4d492800d39c57883ff042a81507adabd50a35600a1aff113cb31cc96925afeb3128e7fd248747ddad1f4451b99cb035153758e4e0abf48484a28d913604b228abb998ec743c9333ca3bcb536ace093858116eaa0cdbaaf15400df3e033922b5520bdbcfc8bd083f259a83c4d978d43935683066ce4cda8d1a2f9d4e7d2ec79983814ba503f55f94830ccfa504516e78d39768a388a6fed50bcc687d47676b89b06c6b8baa241a0d46b72ecddcefa6a5e0637102fc85a22db973e82db15ac5f27ee49b2bfa357627e5fa679e46e9f3f4ae326f5ed4166a0dec49d0585173da5d792650d93c0f5b779aa6fb31644cddf662fb1cc910d9c310fbb19c7b47fc6451e13d421a26586a30543638899bd4e89f700296886974dd5a8cad17445b715f9558605f4fac0b284174e246daca6ca790d5b0588eb9829c4d068fdcea3fab79e88204e3d20d40221cca0b78e65a1176a2f72a88200157d6a890fe87f79907ee27a1fca090b938f15003beb1ef8a2494479b51fc173d3e43c8b456af54cc7091a7d264101e2ffdeaa97c987871ccbd2a4186dbfb67189f77ef3a41ad455887a8c75b24ef178cc75da2787c6c839b94aa3a1afd834d79a41230b984dbc6efb022aadcda2c595c7e4b1016393acbb91e922d22dd38737b55eb20d6aec6a0140c61ae1eae18e8ee6e37806c3ee31f9eb16e218667867f5b2fc7a0587e9bd24b739ac41a2426157921f338b37b477a74a77d681041f916892c49ce93cbfda85610da6c22ba828f19dcb53a4bbdfc42fc150d62fcfc4b1f65cb4c36643018c70e96113edd6d86521df530792cf2504bac066b70a130c9c8c3d2cf6f3c19b556cc34a4de0742ccbaeac92f58718bcbd9b0e4c47391cdcebf5dd00aa609a64cfbe48f7bf567630f7fea5b55476a0047a1573d3fd33431565d68c372d3129941212834f30feb84f0bca356d13bfe69ac1248f6437d113127986f52e7603e670c8caa00880228d203f53658c828e2bbf8232cb4faaf29488dcc5def5884c349a35120c9cefb6173e22279f97878aed960bf0641db5e42a6a890fc068b96eb89d160634329479a2381b2335031696899d9ed385d74e005cf25fdfc68fcf1d1d4fd9e49acdc39eda75fc93ff69aa27fb7fa9cdc834ae451f35703c4ac68debb5e8dfb8deab6dcd6a437e4619e886c30555f6a7b6f74289437fd0f9289f2da9b08291095f6e696610c41d2a7a3443bf84483bc25ea1a0b2feac332afc980f65da0a65eed58516796e7c19994776c6707d4fa58c7bfdbe884411bbeecf247296feacb63ce60a9ac19e8843ae919d766107ecc584d4b4bf6e14c1e89b32c743f2658a625f4f20f1339adbfa95d3ff3a482f9afbc21b70c189b20226fa265e036697a743c282278b57a05b983ed8ffffa4d7d2eff315532f231bf6d42863921c550b0549520f42c74e2493be89eb07f88a1c68a49dcee7070c66577c81533b87f440077bf57855dd7acc62734abb1ef4c980f5d237d50ae56957dee13837b193a5e251b6f885f809a5622744affb1724d83b76db6ab8f1b8d09da14a7ef02ab79f8605b511a8efcef80916d785a57cf6ff3c7fcff559fa89b67e97c8e37c9b195be6050c8b216e7592aa104cd129db29d9840d8f5a67e76bfafd24747744add12e30e83aff1a3c0af3431290e385f259b3603983dadb220c19cd902c129fb39836b778e9eb5cdeb6fa9662687eb8e90257af579f51433ec94fef572f438681c99db388ffad99355b210d939858ef6f08091704cbba3ceba064c1cb9df3f621ce072cae254b35d1ae0227b17e7ddd3f1185e542b8ce24706bee62674724fdee3ca0ceb2a98bf2c824dc89019a50ae040c6703b0e99ec1087f2512f0bf5f0f162d36cf23e696780c17d4954dedeea689d0639927832004a3ff04e844263ed14f9538182ae2ff6b2cb922486e5aaae8c7e18e5ff14fc087f94b545d101b2423d0ba5cbe3c12ecd6c6829441c5fc3ab2872d648fccb2ee742bcdec5fbaf929e4e26f74573310525a828317616ad9bf41432955f74644e75393fdf53364e5240ecdb681f300f2ab5a2f6e69ad1d7f3cf91e27d55fdd8864ea8f221d3041470f43a2f2f041271a00fbe2459afd5fff8131ffaa2f0ecab175a2112274653f754806e6733fa8b7a142363b75a442cf77abb67a19cf24c8d43132d678bb622a393a823fb3327b0bdb0865e397dd159e7359a6330e94ce2d66566248d3c81282667610628b24444aeabc2e3a163d3f167e1f3e659a3bca062c8efb8d6088ed7cae46f0965c6e4c2e49efe1908800af63d2ca0f8417b81f5a97695d48e29219e283f52b47bf36504f56fb020e40e031431ff4f0786276b3383dbe3a0835cce400d97b70bc0c1c48d2e9368a11cb4fe9deb22590074351415372201d5a284e2215ccf738b35deb3ea1410484e5bab2186408a70d0135c7439cc5783db13e60009487c8b1b449415154c047efee05bf96ed36528df0186675de254d1a7ecc68d4f8b36fcfbb44d9823c36cae51fc96750a9566bee3be15ef0223fde7f3fe994db2566104169e84a02f159981afacf911ced8d7d9d8bb7fcee1041395c41a532b2f1c8591f2bdf1c4be7d9f81b865c5f785e17f96b2ec14d47a40ec05221c939492910cf317df4ef2726b6b21e6df9873f7806b7fe0957e80edab32d33db9ff122b19793ee640b9ff7664e63de3f916bbfe7fa236ade840e5747c5ba1131189b5e10b1b392eee7f3aa069baa251352e57138d765c6c1b0406fd5a79903204b3fb80103f24a5d9ea2d9af0257298b1e26727651b3bb641713b422ae682a9f6b60edef0924a1a92a5ab9232fa4328b57c4a34157a34b6a781a82513e9e118231ef0705049a5559e3c0133d21c2825588b9bef8ebe9d6c99957a24b10dcb0f25482edfe299785a57faf2fbdec8657adf69995858cce368eb9e2eb41f768a2512ada9ccfdedf9683c72457da8970f0fe1a5db37146712aacada9e7bf071d25690c6516e8b6f91fd345173d2630aa6cb79205bfde666eaab047ca767d48b5a59be0e46224d42b4f6e5faf55fcc108f55bf7f9ef19ca8377bf10fed6e0a019df2bebc619a6688269648806928beb20fe644b2561f28f6959a928ef32cb13feb9b6091063fc0501ecc31b5413558aca71c2e36e0cf7ff891dd0c5833746245353643a455c42034e3e820f2a0898c980264b0e0687be3c122c3103dcd3614ad7984180ebd8f18adf7d2f8b82860301cd401145154d3592aecc2f538ca7c5f34e7030c5ca99d6cbdd3970216e02f5078bfb8bdcb7f4fd4719987a854b8871203bdfc0deec6e1875d14459fef1b2851acb54d7e11fb79f3962d88e9d1dbfe0998ed0ac71c090ddbee5ea9fd1e9eedd60059a5a11ed7f15a4d94cafa74f2e720a464a1e59ed4c224fb83464778c9f2714ef6295110996bd9c8c110deb1b57a2359f4906317a084f420c7fd6b3b3c3efd87fb3d7ba04c39fbf6a03ce83bc031d39ac86bcea0426739ee3fe23da8156563f5a149e780498d64f1d90746ee1bdc8c3cb39c24ddb13e28b3500d069ad627840a6288211bc8ab3ec0fa18423283021875019eb1f93b0454906fe107601830d62a051e5c1e96203328c3328a628bec754ec4159c0f849528d18ef84c2a5f14a79d4abfad381754cc45be3e155868b4c597fb5670e6bb24088c3318fd37eed3493ab8a5e71416bc695adc939c4faf8d3cfffb88a430082f99165cb9b9253c55829571e6311e97d6e233b426b1e8b18b71ad92e994a5902321b8b48f8bdfc8c2e9ff208d123bc0589ceb782233b42af2e7898b94e2ccf7f3923b42a17c3c0aeac6dd2c1238c6c139603f2045fca800fbf0819d5fe05cfb265800f8674db559afce3a3580e5723b047e7f3d24be4cfeac8ad35bc809ab109349f6aadefb0140bdf590967c70fd3c2376823af8e45f5df1bc59c0a7d7d00a2a18dbd251050677db497a4784c965daf1f47ef6c3f81bcfaf7fca9be186ec58493737775c19e15a6c22a15f3978907a394d864191e8eaebd149e15f66104ca96a05b60d8dbeaef9bf15429b70270da4dcb0a22e5a939a4c6234a1b4e17dab71e2c71b87f26ed27e35811122935d90c497ff25e106a17a862537af2220339b8d9e9a3a1530a0884d3ee5414405540caad502cb96d8013f10e995f701cd622bfcd7ab0025b510e5c9da072d29a000fa6fd15eb7dfe95e05dbcee996c60ad14cff3e76fde4d712e05795e86320c6e1fdc27bad1ac79e5e965ade9dc21a5e41c7c5da793126e299cde836c4ca6b6e8e8e609b0ce9c732c6dba98fac4c00587c7bdbdbe08de2ece6c7f93cdfebf8886972bd980bae0f87c19589c6a20ca455fde90341691f67fb5e9a626f80ea1c6c0f24348c331022b4f67360dbb3a0bca048c1272311debd91c63ae5eb49366b35d81e865fbe641562be07bf7fac9a7f35963e0cb1b9a3736178b7313c81116f10b27b5b4af779469c7ba62104f8f7669eeb3aea3adafd8149483456364ef01832cefe487e14c2086e3853be7eb1b071a942d0f0da8d0291af05fb74b6182bf5233c5f2155c43edcabee80035b788e29ba6ec326ee335d2cda3f7209a67e9820af68e8d1fe6644d311b5c1ea6205dfeeb0be70587eda09e72d66a2fbcd112ef9e31c024c216cfbb1e0a1148a08092c1d8672065283104c9d98191d658ad7d7cd65ab1a7e5b78820c1fb65d7cb0d06414f397c1ef3dee0827b67c2eefb5f7d6a326a14d63d485eb9eff555aece4bdabc0863b32dc92ce151d70ee077b2919b79082585372372537a14549fc6ac70c5ac289a1ff78bee927e66c3691dfe8651b63d48bf243207e03eb6c421eba33b5fe7e5daaa5d3149ebed7feff9602805134a947725f6405e1ea22ea601eb5616a09a1c537518252198d6ff895bd512ac27491104e8bdf0704f611ab0290e08abb31435b438a06ecdd0fe373779a7277cd437a82ee45a908bfd35b1845a356c9a9dd6e92b175f7436b3d1ba26de0c8de4b8b773c149329750ba5fd36b1a49db3922d751fcef8f3f9a2c16519b5bce801f60647a21d5ce760eb7c90a9fd2fb40ac4dd13588bc6b82148eb9d76ea792c4e5fe6e1e7a27f512dce6e3cf34814a4c8a6fa8a1157843b5c2f6a282926c77047d734f252b729000012b9f0f88c9c9fa5eec87d85c2ad4a5a6c95e43c3e021ba9456dcae65e321586697916ca653e6f899d7210ad9726afe00146ae3a85a900dfca71dfb6f9c690447d6ea3fcebbea69eef8a06dc9ca368badd8019106fa3b9d7ab9a9abf3cc79ed3f2e2e0fcd807e0fd6579f762bf8c1b985f44e22ca8f7a5c9eb2b2ac461426e586b1b919124b39c404b43300032e1f6600c150c960f27ad47f2648cd145c0ff95e4a246b3d13b58086c3422c06383ba4721de802b6d3a79b6faa62a6623b9d8da50fc516181bd861623aa8cb143a4e0863847521f95e067022006240d3b5154da1eabb24209a13ede705f879210d73e97ff847acd8ebfdd8303b4fd599841cc05d421a5661961037a16c59c9d6c2d1b9ee630c82c90f07c5b6c83b87b509a55bf8b89a00935a0937381ed8cb6626fd1e279fc89e030c6b9fe8754192d92adaaaa8ff91211c5206cfa9059f7773e8db179332ad2b82b88968c38fdce4b176897252ebaf29ed8f129655b18dc1b1bfdbdb69a5d33aa319735c009d2099d59a9704a0f649720dc19f97fad23911d278f9d42945491fde33338592d80d70b2df165da443979a1607f13aa22f309523144e4aa27b304a1b33be98340bec437aab93fad4d88a183957daea80d5872983fb6bd98d228462e5e6378c4cb8cc3200929520405c253cefeec83c993fe7db9bb83d6c3a8fe0d7e3b21bacd3d3fe6d81ea72b336a3d342f77bc6482552bccf02b05c22c46c45b512e09c4c252f56b7b5b0f815ad7ccfd4bf9f628a0bbdf01ecd9a0164cdcbdc92c512de60390b442d66b46e31ae2cbd642affd392cd6626bc6e4a05b1c55b764d5a949b9f03050059d00bf2de93b2dd1f46d9815ce045c42d5fe9914bf6b114e953d8f5879679ac38722e8947230ec790565bbd0e83276e4a6fe60a6ba34655ea18670b57640ef892685fb72e4cba7bdc0f9fd54d40ab6882b68a86dddde7079892e856aa1611b44922e1f320d62dae0cd1e6ce525fbb2125dbeb655aab710a2401b05736536c96f621e043627ddb44e24cd16a9bf49844a28643e6b9ba784a5052860d7da76f687d61c1ddf85b62e3257b04c9ed37d37eded0f2137c8c2f7c2b7db09bc3c19f173bfebfc00978f92b337bb76745cba8799de4e0ce4cebc3bbf1b3cc25a90b6a0b77d69727b832dbaf1e74177a6b1aba1a31b4adcc11162b34a4f6a9b25dd1e3b852bc341beef1363f2bb987cbd3a8eb6c3725d387c68756a4953a1331f360454d0445e4b5816d83371dbbd5b1553f7b62444612909418bc11e3a1eb777df94b52f8c4953d013918041b9eb8926f6ee68e77ccc0be6ac5b23e804e7835af11dace03997fb7be285e4e4dd03f98a5b1535e6e11682ba4803c3543c5bbfc03edbcfadcde7cb20afeb2b4e70e9b6221d705b2a7a16f35d2688381a8f941bbed934cf3cecf0593c50ce0bdee0ac780d51b03c4a8d3cbb2010224eb8764d1d74985f000dbbc98893cc24c5eff3542de8040ef6999f32314d9dff2ce7ae86071f70005d79d62f97bc09a12f90b34941f6b9f60553d6c15a29a38351c55db54854d8a00b722bd35ad379affd93c953faa4e121bc64a232d2ac34f2384641afc3f3d814fabaa04cf1648d2b2bc8e71c94ce9791db15bbf5c8022ad7d4c0f948e1594af04b97e97d81ba20f58292adcf99c79596b4f4c9617b7d37df5ea4ed0d9c19582be736d2adf25ae2e53aa900948f9dd43b696594dc2b5fecd94a9490bf1e7d31fa424a2bb67d840fef6243beb93e076c7f71977077f93e14d9a0068400ee1834f68568ded1bc427c3e62e774aa460fb3cb1f445b0c752201b23e6fcc7968274120938d0e0cc25f16a0954b2aad4d8c4169b6629122b47f37aee5c36df205e04a9a2cc7ef9959400085264f0e8217512318dfb147cbcbb8af52e9d8ca363ff327c76245a5d78722baef181267789e6b503a43e6c5c05fa2097ffbc6f8f219a5145b5a138fa12cefdf307f246e226c5f27e708296367a152d08ac02c3d5f6e500d586d70f50379896aecba6eb22d14c1ece88ef6a881856c07755b99512ac669175c7ef2d8fd1408706b81218b3bd34b2c91a291979e6268bec410b986ef7d82f8ab4240b71c84b14f5c4e5a7ea734e367c8b1ff3267029b3f52b9bdce6ed2d54428a79454dda7ef4dabe85c7954f80b05688001a84f781b00384a835020418bdf5950ebe99a54d284ef071d17dc880e628b982639c88de4c571a40704cb8a917e00163f6c7f53ca96d2ac9fe6084e9db5c0a8f536b8bb6f229c6965465d3d2ae189a4d70a00dd06c348a6ad2d2de4d303022822d8183556b5d25a91dea1e154b3a6e25f7461e538b5992475c845f344c92c799c1a90580bf190d04af87d1feb869063b5b4d06c9544bd9b334ac4c40196d5305feadb07937c73810258fb7f9b4a7652ada36f076580e4981c9599a078a158b684d2e874640f3668ce45014af6cb457a9530adb85e58166a7e459dc31b9d782f2b5299ab122e2d7d0385cb3a952c642e5589203e8cb315119466c06e8aaad11eda3c1c9da7b4564a2445f15027f44a76be60e95d0aec02bf2475e5338b69335f0863c742c8dab01a5fbd7150d0ea7b466ea7060b345205229bb33c24d5b506124de350bfb5be73c5271186c45ff0b8453214066dbd19bf13c9e06bca62aa13f582c4dfdaf78a6b09d5b01f96b7ab8577167499a4b6bde77964cbc97c52bedaf23d1b13fe195bc785491d4ce3e0cdff5a9a9f9b67c75f7c22f4fbb3278856eca45d1d9121c5a583be72c2513df4fa05428792f3060b0a3c89b67f557967b28f715701db73ea9335599946c611cf5c652b95f7372920c4652d846b9f842a1205a6257284b248499c45afe177449b3e48990ef6092c4c6e874f414ec9e878e2bd4dc8252c062331836783b90cd59846ce705d5aee02d3e63ea12034d444fb9270033fd04140ccb86c0f61462318e7ac39266b98e9c125117020bfdfb23131bd50fb12a9959080d48be259033ac2f771c4d3ad9f51ae13c07c4a9799442b4131035d3e7f3dacc189ef91cb41556951a5d4840ae451e363b85d3426543b516237ba85bc0d6a14b423a50d6348322bd338c7eb374cdee38fa747ffdcf6b37619a57b040b935cce0c3fc421e32e2e4f3682889615bdaa7d889867e7da85d2640a5dfbb66f8ea4f743709dadd167441cbf70540aa8393b5adc646b370fc88fdae3bf738c1954e90c98011364b058f4e271c9f83e8ec919a04f592e994721641fa93b882fcc4f8f87508dd44bfd3422029b79784b089d6b347c9d20290e3696141203ef19ec1e6a0cff0b3ca0cb0f255e259519cd1a1e9d18b5df030ff0339bbe0a709b2c57209c50bf287e17de58eb3100212f67a626960553e034a6fd0f2b1635623baf5d5361d9551eed9f2de4e2d7fa0a86efa0a13b13adbea19409c850fd54991bdfc89c9bd3d304db1c552db046fce631d661c84d164c4b9da5b341c0bae2c559e64f8b8877c5b2c9ebb70be974c8c8a1fbba3827f3eca0834555ecd30f48956598fbe21b6dfb6e6fe310fa2221746893531757561546deeee634657eb975ebc90bc452b3db6278e4fab148e634096779352c8c1a3a4ad220511c5980807cde7b7c3ecbc67bdab237d7c19c8e73be401311e420c1f78b462c19d9fc294654631bb4a12784fc3d891960f465802b735e39784e47a791e7665cc055e4deb7147f1486a347bedaff75a78e336caf6fb0c86b92688ca321cfb75322c14657c9db1cb5536634c1dfd00f2e9eea2b783f5c709123cacd4167347bcd461bddb57335a224df0712be47462a3e27fc8b20c4655fc3aebdef05559978cf284804ecbc1357aab735cab2e75cae8ebe67594d5ed289a53917e9beceb182aef66886ca613b1a4652ac998eff037ffd84a8c98940cb52470eb8e0edbf29ae9f1689bc24c31cc89531478b76fafaaea1113ee60824785b3e8ebf1828673cadf652149152b850945319b28ce1d54e6a05154a4259b00b01d26fac6c728291f11695cd1db414cfcaaa9b511bbf4479ad54e40db5b58f34079d35c39044f1c1522109b7c8604bbf27666dfa089fbfb7813ecbce33234f256c259e86b156724a4e165b586c400601faa4bd0e9e17cb1388bfb2d08cc35466e667edb74fdbe2a03bea4e2e5107f3c0be6fee811438ca2a6d9b49da283b9c0a0f774265b31a3d7b62c37d62b9763f8f14e363e41af54d347dc2074ce614cf249ae50401068eb7002fd75036cafaeb079171d91eedcd2336506d78fd6426f60764e3a6f73fcd187dfb00750b1e965fd7bdeee9828026ca40befc608e8eafbf91ee42a4a38ed4114e08baa6dd56592e43230301253a49280df7fee13b4a4cbb5a7a6029f0886173c1a39e6af47060a53d135eb656d5ecabf1257c175bef6c0b94c3386d6676d72fd031d274c35061790d36d7535d87902fce5f5d4a8d774e113f2f9f1a8112dfd1c52a38b8f80dcd607f9048f2f9c826d1df2c399283bfe4b5a10e136359912da4281a6f4540b8e42717f8ac4200cd6ed0244a250a32b0a72a6ad2aacbb433ed2c96c58a96613e89fd8fb55a6051a36303c6340957fc9eec81421823ce9317ee1863fb262e53a6c37620bdc54bbacf0ad827ef6ee4a96136e9bfceceb0513c7af190a9d81bdb42adfcda4fcfef41c91f916fc54bcd079efa836c36c998b4981d395cddb874bdc518b902a8c70e1276ffd75534de585457884e78b7b39e443f416d849521e3ab7b9b477501017961b9669b83a357b336cccded09577897c9592384315c45ba083bc134f80bcfd91ff9722aefdf2199de10766f28b116bd7af09ea27d787930ae67ad57f4bdf08388da380c50db2fc7a04f3c11dfafdd448a4bafbc225f33ae3f130a49fde000f5fc5dc0d8e53ff44ab9db6561213cb7986f46867bfb1eafe1b6bd015902cb25372ef8050e17a235e772d8b562d5aa223d5ee7f7bb5890d4a77ef56f872691486763a66911844aa4d6f6ea0485df20bc4c2fc7006c0f6b25569d72f7cda10c22a1425f2d6a928803ef2f709bf5d044f4f379ca18177814c7365ef9151016f402ef104b54528d73d0d3b2c3f24c6712b93cc75d591e591229b16c832c42e144fd8e129433edd8046fc92f1ae114b28a79ad7061c44b46daddab2034045fc994508c461aac75416b98184064978918c1973a400143ff4912d0e1db393752bb443e29a9cd6adfca452c873ec4d269042892a8b8eed109f45c066a8a22b1aa4de78c9ca89057c61517ce0aa329f234737fd63aff210db3039d55f0d8bea3ade55eb498b2c4958cfde6cefebc8c86329682a8c622c91235f25c98c8d5bdc19daa9f76f77a9d10fbbee4ac4a3e91a0054691bc59ee044bf38aec48ab9dd997c81c5da53876b6139613881e9ae2473e51d2994997dbb833e7589a3c9c385dd450efd34f88e87c222492cce0529463b88c2926690396150474267380c55d0c206c86a3121066e59a0e6ae6f3e93b1a48fc7510602150ee074dc0573c118e17bcd6e171a35320ae99250f9f3b28773c43c2357b37ccca0a967ff3fc7057152aabf6c3c7ea097b38b865c1fb0c71dbbb55426861dfcbaa2097ce6cd1987496ba111816b55191bfadd09bdea8cc0a8904aa2ac05878c3c14036bfa6188f4d1f468ff30714a5974761d2e5d151d0e408c1a436cb792cbfbe3fa24c77aeecf9bb9204b8ccbe6d4439952d08d7d6d489ad35cd981173c967b025d646b8ac9ab0a817367dfb39a1f66c430ba290aa69076369c76c36232601ba37184a1228baa5d475ec248be27f8d99380308e86cabb423928a9720ef0ac41efaa88b209f5cf8e710bf0900e2bb2f79e85b355da85e47bc7dac87c26eb8fa40ee9a8eb2d1abc0339ff4c86a372c6522bd52578758f89abbdd7c787d675482afc880ff19a95a8ad2c9ed250c7405b373e7260eb0510479bff96febb4b9df630e05826f122ebb9e91a63db5ab4e1730544f5bc66dffd9cd31974131a3cf7c34f1369616e6587b257bdd09d9e14a5510a12e8d0a171833440758bace3c07422424d7bb392331956517649b52162d1dfe0d195a9580c4de0a7e54ea5ea3b32f29eedaab2d99926dbbf5af235767adac2713c3ebddff81f562733f62338b7dcd54b53d248f5109f58cfebe00ee1cdc9c8417d7c8b896730a547d47faf9f8b999c8bfa4e003ada12d15e13bd34c42c5910f40b29fec5aa53ee68930c537f268beffde0052c8d8d23805b550357c4e0ce5cad13323cfbd95898eaf863f60b8c9da83d904355486e107f54d5860cd8d0b9da4506e407849ad65f857bd1ea1d1ef0c96fdbf0425fa4cdc1317e860b6cc6d7485a57158a1c319f7f5a6e59db0d0dae670e4c91f4b9759eef236ca946807b3b4f2d6bfcc99ae6e0ae5d45600f63522a9d3977906db6f71fbdcaf33f7681bbc9bea63d3c74ce4bac3c9702f83252710103946ad1f026a42f34c032d5b37b60db1ee88be613d859ffdb6caa9302853e3ee2917dde895714e08218f9af28edec70784b0bbd2e9bf5c6b480bde7ba64ed60076eb3417e7f0b0b5143626112cbaa09a590da219cfb2bbb8f57a0de5676795659ae29927658f106b1f3e21fd2d3fad45bcfe3422aa2b3128329989b0c9b57fd1fca525d82e72c96c53869d8467eb17d7d9d51c7c60bd751650c78d8fed25be3aee3e967cef0c5fa26a47ae54eed5289e685db426d243cb89d2bad5e1e6019d1a771495dbfda1be5be4efb749dd96ddb3ab3b292d5821550c4f13b72a0df8353735239945fab03520d8490177e143b777c488d1744a2fe33c6985dbab03e05c99ef72ca8c842317f8922baa24c96e84682151f72ff0488c9492febcbda30833679daa57b2c3c97afa7ca59c3a1ddb8475abcb575c004309a216ca134b7bb5c026fd23148aecf9ad28ce9896c5213a6859500b11be942723be7e47fa5078568dd091c751d02ebddf9bd45500b0ba4bc1045b94c9c78f40ddcb30629c26c15030717b00f4e89ca34cf1d322aca71bb89fbd153e3bfba20f25ec4433a542892ecda28e36837d945e10f4870f87414f9d52ad1649e4fefa3839be7a753fb5db7d4fb03fe839af3af7103a07acffcc5e73736e5f9e149d5644ef71f27456cb3b0fef05b51c9ce621fb2e0d24734ed1865e4a1afa9a4b53ec26bcbbc3747bd57b918cb90a24b4008c005f4c857bb7144a8423c13ef6f3ed589023745bc862d95a22ec76dd6ed1fc510d1743dc61c29fbc3fe7abcce7a394214385446f034bdd85a60f335e585723a6de79415d03ec4e547c5ac3cfd2c2758b66512d8d7c5cef56121e8a404ae6ec92807e5292948db7723922327c9c7d176a7432b4f1e4f39ed2dd3d0247132fac00abcc369d9cd8047cea8fea1118463d61afc577a74155d970abbd2fdb76589483cf93b4c51886d2ebfffbd7935e944bfad66710c2469bb049b722bee0a74becfe42bcc28cd7cb542d38bf7e49833a943ce61a262975896332b8119cee4b3747aad193eb4778bb6a11c7757fed23d2c37b57406f1c621d39435c1f34ea50bffb3864a4f5953758f2235f636ed419139dc801fba0e009b6f85c81b443712280947d938f8a9430038c542014d7ce000c0be7be685cb28d5c7ea0b8949d5a1cc753c88374e6a5f9fbb549e7b9db4adf924784a39e168e5b1f387290b8d6c4d7a863dd6ca6e736b33110ad0ff55972cceb4d08c8fc921dfdbc3542c14746a013c552bdb4c6313da4f4313f0d46fe82674886746364b5dd56c3e6b9e9f491108e0fdd3a954219a196e481976139de6c7c9546372b3c16b499d277a379ec0311699e647ce4a2ace531a5c042b9bc4b841004b33db765ca82bbdff2b2934145bb235ed2339f86eb6864a2c58f52c512f67e8d4bebfe83e08b0c456cfbcca3a0743347f55fef6b65a664310b6a837939dbd358bed60b36bbaf07d3abdcae1767f2efeaee4fb15d78b2a01d74c4668977939414650ba6cc16a743e32cc57d25d5c2093e054b97220300bd3d803a9c81e0ddf0d8a31cdfab33807be68343a4839743976688cf7ec23d4467243efef343a73918973076644a6cfd520fa1758eaf290a4573a0bd752e9efa44d4b5255b3f0b4bb8e1e3b7c68b21f94f78a874291e56f4d6be94b34740b65dad2695001d5f1c4ed33e52a1388a3f96be487819d4c1f1617da1c55f984c34c88353498e65f568814f25f898b34bfe335ed92ecfd08182650b3547c2ed29bc72a7540e64a02ab3d9de87998e120b0dd99b6b6a4dd32511772cd6e06c6180c08022bb2765057379bd51813d72e1c46440be22ef571bd91a11c70f549dd2039269f128e5bab346a110df70b37541b935ef0ef8efed33dc32b3205d19ae33eb142fc7890e10cad9f832b5dc8724d582b5f70b0091a1f633197d57eae756d6b6fd454cfa129240899ab211be4141082e338bee92150d354ce5817f9d82cd5955b1d8733b2bec4429b01541281799a6722889099b15d755c3ec69843ebb824f5d5788c54c8d2479c9d50005adb73d06112cbfa82de0cedae3803a738e3b1e1cc0077ccfdc2e4f060358783a2d97f17b3708561bd76e0a696ae78643095fe44921b6ff09f2dbc9a718ef8caa0cfb4a2d5c617117168b9b13230071f8ef798237260aa7af1b95a8a8bc4e2b0fa6e500266f36fe1c8361edf4bad6d642167aa8e58736efcdda497a143d1bb3cc339deef4352111f6011d8f512cceb60a2854883b20fe9b3deafdfd11db84c4690aae1f3df561c4c4d214c47f2922cc1072747a3d5b33a396207884f388982cc5abeada0c74e8e1d64c910e033fa3c47357f845b0169203b8551487dcc356e773d9abc14c9285b408f53ce3945d1c4523ab67eeef37f363559b59e710e8843e77f5d95bda8840a73d7c95cb0c8cb280b67689031d66434273cef94646d54afbd27fe9badaa224190b057cba19616fddb32c6cdc2f13425eb9531a3943ca459c04ac52a2120e98ff8b10f00118ac61a2916c32ca2fe1edc3b4cee1c0ea45f1069b41fee6d397a3b5f2ca6eca88c9a7fdf8ca8937a379c36c81bc3a903a653da8392ac5d5bd1459c60e144f281174474cb31357ecfa806b4a6ab30ce5c04ee500b0929c9d15faa9e11e76d54e3920bd89e64ecb7cabad007f062425f70b5277586e40d984460fcd5de1b5a3dc5c7523bf418e50ae3c4e7c182aa0c60650f7a3448c4b2d4878cb32fcb676d24576e37fb65c64a3290bc8e20231c0a4d70f7dc6d5f2485b7774b344d30cf090d19bbacbaa4c2b535b1a6c157d51aabe8bb289be7314f2f2bbc4f488d89be503f3ba92a5edf20d4af92d719ca027bb3fb5c9a483149d0a04b43213bc19f85f253574e90647cbc316fa2d423cd8c816523a66be3889630f0e90b848493e6d2b689a059a1afc713369bc6d2ab36f683fdf9329aafab4afe64e14cb3c7ef551ed7ed0cf38386adab8a177782147de0cfc73198d2cc07a585f598d95fec8d2379cf6b84efa5c51f7c953bf7c3f00e88b3ec05fe06223e0f5413e0fd8500314b6736591897bee8c238781efb7e2ae70e25bbb26e973928f71675648b6c7312304a0fd1c46efa27970f1f972ddeca1ffefd269df391e4f04f0a79805a9b6f7706ee31a3c273ce6773c7b7c784bf26896950522118da4054e769bbf44835e5a40c9745f0ec51cf46063ff63f578ea73ed20253dc85fb07b36e620ad574256c1ba2ebfb2fdfc22a2637c708fcdb5517f6519382a5bba6b9f8c20407fc83c5f689dd652063dc2c86c380aa061bad9498773d422fcfa525a552e5281825bdd414d27c86d90522d6607a007f851f7d90a18e7f296dde73dc3475ae5da06c2f4fe37f70f93749e70e07cb6394f0e12d9c73dc8e48ce54978f0623272a9f92bedf1b9663f66f4ca23d6623cc77a8a356c2e0fcb8b8e8e36baff79d95016a604a4a57294d0d6f6d3d2b810229006d1eed5f6473be741dd295e75aeecb7bcd3a72e1b537f1795ed928ae3ee7915b23b50ab2f76c1aaa650e35ada52b067f2e23c400f6d85ab72ed46332131dcf5b85f5100829198403c43e3fed959f4d271299918db847b11e8774cdbc4bda964a9315458223a046ef170170533378d7bc6416701a234a40a39305f33dbd90f05c6b61e3b25ddc401999c8b1b9cdb5392492b0590654d4f8dfa6734d7957c13c28ace7ae892794516de3ec870c29fb31b6e26872b91efc594a7da4577165d7c1e903d73500797f4bf692bdc99699d6d0c59990ea392c560ddcb0d244721a19ea1f2ec0620ec29be65911c6a764732ee5ed08141047f08b8ee667739fae0fe36d126b7948288ce6d7f9a169f26e7d6fa1fb616bd0bb9ddf35ad5de3f4bd6319ae716a95a1efeb518ea604f597969b99f520c6268b8bd2b62990705bf8ea45c57e95ed64cced57e9b3f96faf6f91cb83c574d52a8c218b39aedac9c7e562b07c1f0bee2440b61406e04b9dab83e636f36a2a096a9dd37462c1c8a2efa9ebcccf31bc973c15d7b9b1ec192f71606ba3650205b3c6c25bfb598d79c3522f4eb960aa92cf55e16c242e3ee88b368a7eb9aaf0840237b4672ffd185ab14b07e1122c70f07c4c4b8e45613ecd7f7fe1066c74a529015cb3a2cf6880e4b7bfa63ddbffe4e0aa31637e39677f4e9bfbc38bc66951df7b37e8ac9650ae76ba3e6817977e7b6df9fa2aa1dd9bf178200dc6d5a27fb389ae0bed4f08dc3f08300892e513bb81545bf6119be159e507d606ab4d2f6aa0b8ecc41035023638b819959c8a3084949f5bb1c475de0fd70ec34be0f4bafd361ba5033eb17b8e0d6612b28b4ea3da37f29d2175e7072f2fd78772fbad56426189512ac2e1de21f5ac3753502c1989a278b3a5de14342f7666ceb1a895f993f022321cc491163c55167bf6aaea728808cdc994aed06701b5dbdcd38db5d6d2dfe06c57d150a91e5f7fa6880c9ff20af3b689397c985616c1001e05a34711b4798f15d7932c8384f70c95c589b1b738049f77de17468c10fec01e7ce3ae698055d6e66d0e48c1f4e5705aebde3550830b51034f9301347d330bb25c7bd77da537c81fd43c2ced57e4e07f675b1f141931bea04c86aaf45bfcc511be800ccd119d1b403b4eb89ce53bf956f0ffed78e0c91fe35649d5d7d2279b522a37b69d5dd77dc70da455742db84d366351c5d28f05a47ba3fb8d206c8b82427786957e65c1f3568ff3f9c95eb40dd2b6044f04a85707c0200e3f25fd3ac5b0a9c844ad540c4c5afa2dcf01f90a0df7ff84408c197ae88e47858e4438c61e5ef2c61f2ea2f4b927147e175d9ef388ca8ade59bae039e52af8b934e220fe87a16350e75ca4ac8456f594660ad8376b835d1aabb4fce9fd7776599d6d0adf77aa6ad04bc6aea1428289c4f721327e528ace873149d2d83152b912c659e7f769742385ff614a91870fc02e66109d1c397c46eba4167034e09c63ade8ac7b77d4d23b9dfaf06b7dde5f9d92d4f981081d215e35876a36000a3ee24661de41d6eb88a1e6cf4efb38f14447e52cc4f2ea65a9cf290f3beda0708a7a04e251a0bdb0efb198eaf79f9ea67fd49e10406b53f7ec1072341310b873ec6a8df62e3ad68e1fe0310e6634898d81b4ed75294844b1c907051d3241d0da106519ceb32994e2e2319e03aaeb224321967340d5044b3528352d0ef804d46629e4a065497138ce135bb4c609bad1c87900944d9f2593eb856875dc74e24575fd90f55e43d7887bdaeb463500ba2fedafac26af1887c86b0f7548ae63b313bc1bae0dff0d0dd69f48277800046ea6bddb7a745c7bd6e9ac3c83283d18bab8455289caba292e59c12d30d64317d1eaa27a5071091371c02243878e718e94226155fbc9f1e33f2e67372d26fb05bd670ab1ff1a577a51e09060efa582277e8c9acde2077a7a1c8430355151bb6cb56bfaffd2035363e9f26e975809d82dfbe4ba8fab228cd8c49c91301836d5233c9b6e3791a098576064ee5889b4f0eb7f481cc62e4014b57949ec2eb8f74907c5595bc572c72f882f08f0a2868ff48905c80d6fd50ee01e3f10115c14cccf77d026d6ff8076a408c8b9e78fc76e87721a694c4b59eef650a1c3111baa336a5f7c25477c5d34ea1a2f0183b132ff473001b84455323a539403acd6990a76e50a138c70d23da0f79a3c4e259c07800d2884b2670c924bc5c474d45b21fa6dded83b0602c1b6d5e839decba00292a4e775a6408103bbc030265cba51ac8c78309bd217d297de0141023800ef3d5515519bf2924036032d7e9232e9e6bcf9ca29e7dac1d4223f183f6324f32c03800fc0213ec61445cf17e6e0c5a64fb33aa6d15631a40d304ded03b0222b1e70d6ed306459eab06da0d95a0e98b87676f51372931099b2c67b1ff814192dceccd4091ea6dc9694c222ea3c469500648d8e01d00d5ec5255aab34d004c6b3d51f7d67eaf34607412ea7388a7e1e8b46f798397170cae9ed28c00afddecf8b2f168524e8c3ba6dec6a5651d97c27b5904e7ea8c5ff69ddcb740b2febe988117d8e7d4f2c5e41a12f96fe8651720909e0ca946c709cba4c636fe2fff2dcd05aa8bf36344de4d0dd08f1d500cc4cbf378e6f87e838cb1346acf3b639a4fb39241d5416d89390aa4fec33e4255887cffd772ae00756c5588da8c543178ad503f5a29acea644888908ca8c115ae2e4644673f640160e1d07cabf05fec3d5b3153ebe60b0c1535765295ca3eb450badbf75a04f38190c47648253f63e171059b16b059805d67bfe964fca0371622bae4fdef9518643cd944980775371aa6d2c68b7a04a768e6c3228594470df210f404ee1bf6c280f3d68aaedefb415fc0e41f518a0793ee29c2b6b7c513f92bb2a8a4a2d0ac2d73574ee7773a33fcb59b4144b020e4aa3e51dd6bce56c53223c628182f573d5ec5b6d6291c992a790341bf5c8c7a9b059c334e36f590803e85360fe3be5dc5c054c6dbcf2872e3cabb5c9f5f13ee6d7f75770217f89bed3c2717c0956d89a60f25a2749b887f4f0784bec437524921b4071bfdada59ca66ec388a545520f616c06880feeaf6ed47694d8b91173c8679085d437830f7603d30f48cccc533c03b061eebab50c2320b52f41eac0b0ac1fc34ff7040d24dcb3e531c273b77ca3bcaf9322f0933f25ad3d05649e915ec27a37658b896732c7ea3b0ab0c16e2f2df26e28f01924ea5bd1a1e3955afcfc263c9b541a8ce505e67ffaea805c1e62d859019592601bae1972121febec27a341e8eaf78e7b4cb804d8ac4ad6287886ff04d71522d07e2dc6fe9bc929b8e78458f5f522a1d5541650fc337af34362ff5f155834464a0f5a5ab4579c1f1bb1e965970afe0ce94d2b83d196a42c424687c3d9b60da537f3951a085c48c8836d4118c11b54b52b1ffad0deba754a28206561b04e4e23d81eb76722cd69e392de759e016210ae405133de893bbc73f5f3600b879022c796389d413559dd902008ddf69b9c35c77b68ee935ea9379cc84bc87bb8810ff5d78c6a659a57b094575a3c165085b14e6d325e162cb20c9e055b9d0fae00c9e4e16323824ca0f325356784e20c2f57397b273cc17d6b4db6dd7f5157909d3c9d745fb248b20a18557debaa756d934694a87394f050a85cfa13ce17ce296552665896bdcd99dc35ee5c6eba64f26f05415f21248c0eb497b38578fdd301a0748f6c7caffa8f118e2e8163feb65574b6b7fc4c803bf4c1b448126f6cc1fdc9ae97b1d3ad2aaa7dacd6006bdee85538866357fe25871d6c3d3449742618d73bd37937ffee6776993c3dd19447b6f12c33fc68cb6bb33c95fee20b6bd9e410fa7a70cdd3cbdf4fec8a0e11e86712847096f303d9ac8e5867be07ef9bb8e0287faadea80911577d454009012600679d5c9f242a497cdd82e8c0e7923acda282a6607c2c4ffdebef5839deed363bd80e86118962f4c7f198482020f8d2607462da2e27bd89c136dc9ceb3e8108109f4899cfa698d6c3d732bf07b86f6637aa71ade8b678874e9d38348beafe2eb7b3655db571baceda42b964f6773ca18ae38944662424954305b16dc40939d75803d21135ff56f4f34007d7a075d6468ca135468580f6684ec7623760a90fb02a2ae9e09ed046f920326170f4a9ab4c124e9a3f2be87cac842a0b94379e9787e207aa71d4c717245b7bc5d9e2472c1de9bb574d886f02079a6490335e5bf71ad70f1ad39d1ace6f394f673d08501904ebc0f46ed107e48697c66955b31d69965681a85992817a4d7802cb8f6228492fff4b4a0c336cfffcbe077feb65ea004aae693db1a1f0f27eb451797c27b5de618f53ee0a231852ff316fe87fe5ed0fececff4c7e3f6e4c3f7e8ac6a57db9b3fdfa067d045cdcad08024c132371bf255c7b37da161568d0643f7ae269cfc1b002cc154503eb04287e03390e255869c31e7222f133e2f62df45677ac4883956a45991f08cfa9adbf8d4ec6bf58adf12e350d81e5da491f26bc38561ba2ce7a937e77202aa485ff96ee5d402798e13fc1b3f525beae780bae91e7e81d65086e6549c1775580ab593c3cac768b1e6579490044f664f3296d4e84624536a9e6db321bb9536289e0838f5b6fe16c06c439a180dc9157e6c0d9c1585e3c5974382c4b2b39cad305a21e4d7e0c53f6a52f73078813ce211a12e605ac94ba19173b2803ffe9a8bbc39a3680a063925b671e91d05b7b4fcdbe8e3949c2570f2f43dccc4584f8a5d6d7c810552c3b72c95bd2e54db273ff7b899ce2ee7cb4fe1d4d28f4d9f36790b5a4051f8d6f96969c35cbbdbbc2fd3c6a0fa414a18a82fdeb99a5f9030163aa88b6ab501e15eecc8a9b0a1c294c75e9a8987086fd318aadf43dfd64539918abe12c89028986ee6210809c6ca4ef4ce56e6e50496fdd22159468b1ae080e0a526e7d60c4a4b8ed85c5be47e63e36689a254f8d484d8e81b21a145ee06005377a7082a6635779a49c3078dba0015c9447ea2163b7ba27a0f52e6d7a7e569e7da6f63299a6db78dc91984234b9d2ecbe6e7db12fa3eaeb7a87b8c2f7af1bf07f74b05a2d035c10aa89c089df447b5dcd7274786661f89284d8a9b8003bd71d7e6ee5e46561bbadbc8ac9703fc88a3da8e8fcf5b24a9ba77c7e62a77b7b4a27b814d1a90733e6321c5e8fdf93725b21d53c89a085a3b0a0c088a3b4492774d445a51d63da20b61bd735e30023109db12dcc3cbf6cf2b611f22f36ec558f7615bddaf5998c1beeb5a6e78f296740fc0e25ebcac31ab8ffb809ddf5db11ec7c49759d6b7a1b2da5e32ceeb18e1ae5e736e789406342607a3cc8474a248008f0bebf8296d72f77558524a6ff815c309ef5a10517dcd0d4ff10f162ce16093d6dc17c235a30978f3b513554469dd8548ae28bf70505a447d8714119098b0e8fc8f6d81dcf2110c4c563ff6e7942d290466d11a9a4f412a080c94545c65dd6a28e379e84d2af037d794d1ac392c04f410af7d3104bcecd88df985486ac931c5320e6e8dc7296e72782259ea316ef7c748065fa67c7311d733aeb920f96749ee6144c8d58762ac994c0ec34857c74e70713ed00a189554b524e74e4a948d0a8e53a4b3ce2d5b32db97a3e4988e091105d8cac2f4674d7c147782bfd54c6f4205e3478ab173919595714ff7fcfe30d64efcf16d40952aa7725d7662b0d8281af34b0ae72d234a064d4afa5090bc24a5330340c348ce3ec847ee94da937c50633499c3028225a8c14733717550965d50dba0892b68e790f76e98113503549429ab3e760c4f17f6be3a73e668d6b2343706fd85e24f580197317ed443495c683932492d65db1a76a8ac01e45b0a0146791dc5e655a1e45f2fddbfc51a9f1c1ee91860dcffef6166317dd8c28e39148892d0d8e65b95b665c6c1524ae7ff889012e1047a42041451e2f7d935db4a8b8ce6286deae26fc7fbd8dd4b073b88c3b12f1752e2d252bc3625130659c85ccec15ee45a57fd370118b35dd7d2d75ca13abbc25947c1dd93c4ddd48100df85bda073c7eb9c75fb57c43febf913a6220c666133b6eb49a6ba27268a55fdd4db936f8e630dc83fdd414090eb9e076e93377871b009ce40b321ccd02d8a73b7bc0d4726b8948e566c4a9c624ef37997367ed488961255cbfbca6b0afb2e591ee16d1e5a5fbbb42472b29a97d5d3912890aeff245fa30a65a8cf39c925a24d344c462546c6da19818cb3c27ee61b736a693a0b24b90d0ff923b3a581f19d5f9b49eeca66ef77df9f468e35b0cd3d5538f37b02ef7a410376a38659bc63285a58f6c96a2e4283e2ffbd2d554661c606b4233882c6df774f595291966882fe4109d96934566b2d90012e74b7f16eee1825f82c20e3a417074b727f5db1dcb45b7bfab96f967f82504c5296802173e1057fd5d87f43101dd2373d18c315fb2bf0a4dea5ebb93dc5ab5318bb516f3e7f476b62c047355d551bf6389feaba20136eaa1210371879b48e1d30c4fe4fb55e347aaed932dbc4dfcf918bd56a3ca4fce0ca31d1a15c39a5c5fd64fe3cadd9879f5272ad693ffec61d14a76fcaf4db27492d02c040058b085661865cc8c6ab33fb51d952b5f59b2497e514011765b5deadbca1fc4f1e94d501e7a25ca2a3d58a95f63973827b135ad00c82bd4c8717faa7313d243d79fa2129ccb9474620e18f82df0231d0101d10e76faa5d95319ee2b95a78a47adf77f7d200c97b1e80060028e4eae8c454b7e2bb1af092fbfe82faeee01fe53802f190ef762d512df8023e99bf1f2ed32ad048a8349d2f7682586b4ca6de97f580cd43c6245a943c7384f4b13078641016079d69b3fd53a3664ba061faff7a57936636af9d916b4e61901e928bf6e7be687ec37df2820688ed996b018630234fb6f0653105792c2aed73a637ac862cd260e991ed68db41bce1adb72a511563614a67a2aa2a7d90d35bfc1232495c842c62e2a803b670dafb369014d61c599b0cf76845a0b402a239437bc9736aeb0a86da8d39186796d3af273dce5d5f4e5c0ac7d8fa616592bf2e930c79e6aec9a1a2ddc16449a15288786bf54c3918151c5e89aad66ff2fd5226dbea7df5e3126b8a84e23f1af62537e9a4939c6e409dee6c9a9d5902243824038413160a03e6fe01b1ca2c82eaf3a1504c7b351540d4961b42b2a7c426d0112e6ae257e595556d9b4ea1c75d97b69fd596fd9535997f95ba3e421fdc0e1bfce5615319a7aec28c9f56b379afd76efa100f336f9e55e3593710f5e4bf90f1989a8ae2ccf6db503d10bf1d3f18f1e777f761794251fb159e7d23447aba4a046d2b7a81571166ce0d685003797f6ee7d2c03a367db01613e4add2eb818f3a8896ddaf63d9c414776f82e079bbc1b409f5b8d5d318374135ac13f88c7cdc2243d406ef0d2552ca9232756360b9699caf756364d227a098427ebb63da05485e2ed37feb34b6d95f6197495a9b33c52e7e242422c9edc8fb869decb602ac048b5d22bddc825a27705346f5c389a9dad523aa698dea5314bcb2f65935e122ec5ebf4256282dc12dadfa77be4d71cf676eeb1f447b8452be5534225d52fe97b80e70009ad2bd0163b1d1e1509e68728a4c1a714d485217825657ad0b49d10ede4585094329a3324c8b8c88f548b56efc158d850c495788d84260e3c5f6d7098229f80122702ac4189acdc33833372e7f5c0cb089389a67e5890e5759cd5f2409c85ac809a0c142e498af62bc403195c03b7dc1deb8f3c731269c3ce80e080fa7b3fa9023b4baa99e7ebfa6c03c42e98a5157a705d979a0cabad22ec33b41f729eb371368917f46407ff8f14ffa55a0e31effe67b05ba5d93c27d24b35e579dcd5b2babab0476ee76c26be6a36b772fbe7b638d043c2152dc69a7728983958c5e021795d1159d9f6ee31e0b8af2f7affbf0ff9c7e58679b6c2183117f46df3e659f6db262ce3e5489dcd49e8d52509c7d50fee5739dd737624fb57304eac7df7ed49a1b1b9a70730e1a95d8d78ad4e41b1d1bcbe7ebe085a6ee3e45d269ee72210cb9f8c0102534945df2e536e98c6f06ff92fc3ebc9f51fb72c0f0b5fcd6d60f9fdc2f217e6a755ad5b1fc106c338b55205f674ac0b8ea9badc49ce932db267862bdea646e50690d16a85834c885d4fb7101d04b28801d6d911d059f5898e3491d0b4fb08faaa014562eee755758936744e0087db7a9e15da7020cdb5d59a0e3b389ea18763bae8e9aeb825d530d941c2391aa3bb5e0931381cc54a162421d46e4d831d45e6478101ced68f662e723b553d31f63a92c433a85e79f4eb85f723ba4ebbe3f67de05c5625a75d5f2d412423a1256f3d9a831d7e062b3071a30f3813cd62d9efd97277cca163fb91859013173769d064251a4b62da9b9675f10ead4d974c199dc6f8678e8a515db94961976af04192f38a3427b41037d24348b3f04a35457ca0b3b45552e4574251bd90fbde5ad6991b026e3eb1130b47c63e2113a6983419b6b69e735281fc78db62d9bd98f2e49aa3c8ef3d9e38e316e861424131051006a8d64de50c1a8b0b362714c84259fea1e86a9f08fe92f90e29cdfb172b2cde8ed20222606337f40a9296f3387273a6ad5cb214d08cf2e6a445faf7468478d24d39f3e690450d4acbd6e5906f8f2f40b36326947df566b0ded4b909be503b7e88ce0bcdf6911c7e7a57e71728c6fdda2d7399961f64d379e6d90cba493ddeee125844ace81c77416595c89284d819602adc1ea784ed8a03a4f468dc3334959c46eb32f7bc6ff3b8264dbdc4ffd4d23784642449cd073d16eb74e77b0d3bf6f0b6a2648de7d6e5d46aad5260370f647fc01601d394fe0dc5957df7dd21a6f2eb08533d5704bb76ecfc068e3f4a53e512f567da1c40715a83e37ed00d10cb635ece802371d0685c803f293e2a78d97f233e91c5bf8e70bf82ff3da5a740190c64fac7cc75acacecabadd6bef9ddce85c3b870899442245cc501e7af1ceb11e9035b26fc7e1a631f9f18d75a725c5919ed26254ca91fa527355e639a53c70ad54bfc99b6bdeca79a279e0333fbfb16f5039cdf886e14b9f2830d0f84980c3322d5138bad01483a6ff9960a604a638788fa807e22ffaf4bb88ff1224d1d6a9d5c9fb6bb869430a38d63429a2c128ba331d2fd919d4f020eb93efc6350d1ca2b984e18e6e0b8111b0fa8c88a10781d3a5702fbb7f3ba4c02d91d9cdb501247f575ce2e00c4d7597d4275e4fdb19e077756c5d75e45b86864f0b69b9d03ca372dbf7e56f0a560fe08ceb059222bf1c4aded4d4d9547b9f6f8c851dec05602b9c55bf4d79ba6cbd8c6d798521c4382b5faf3277d34fd8b272a81ee560008598e6daf260b821f38a50d4f765b20e31667c391e826a77a002474c5f3be3043d4c2c337b7ef78c1079ef20e8830644ac5e18ab3eccb2fb148047ad1039283873ece25440de7884abb1adf64ecc1ce69321e2bc00bfc00b7d7d008f53d25a595fa90d3af4682f43718567d60158ea718b37081999df9f452ef3be0086034b277997ea0c0795391b19274c900913be0a82bb4039f9ecddb369800e49d2333a1eda1326e6e48c1e489442c07580c613ae9731958243a3580d11555f80bc4fbfbf662399a3762f3721f05133dacfde76ee6cd7f3f054899ad125801545cb3d0464aa65cc94874bdc602abf355569767b00a18820702e1349d060f4076cdd74d6ef387a4ae3fbd412dcaa56627031c8c42b83919f0fa616a2408bbe2e4330feaeab975c1e4a944074ad10b0d238b873ccdf466ce927f998e490c6600caaca128af489ffc6fb927905826288cc9f459410f0b552ba1bea8fb1fbea74e62c1a7dbdc594f5e53a02866eba7fb48f549c170f18193aa402c46b59df7a82073adac0ac9a7be45954695251b18083ce7f1a4a5d0a36a47da7f8f1463308f6e03100f54fcdf1612bbc4a68fd1b0d63ba326a27762d69001c3d75a8d5fa500092962627412381a0cc7b839acf6772aec07b92ca7a74dd00b370b75904520eb072678fba2ef29abd773edc7f8c161af810617b9b806fc50bda832cdafc0eb1f3921689fad44986d06a39af506712172aa540a8cfaabc614dced580dd4718d48ad3b209e011930bce0bca4efbf93759217dc15579d193d84043209f3d92d887056ef744954166fdf9a0dd85b06c0e2b4e24baa677db1c46c49ab56d515f902f783620997b6ed26cdaa3fbbffb09ec18b9bcad872b3fec22f8579fcfe78eb84cf5e00e14ba230edd7f48c74858fe04f537a321afbfe0c0e82a39a54f7200a539af46c6879ffd7cce9bad1565741a62161a59ab5ff5b79c4ddbfe42724d7014c7afba2e64fe7313b17f9e57efa13804f4468a65f3f17adb736323c6894f108b8c7a83825dffc4d684146b91dab3dbb73f195cf8e0323c40ceed36a78336c3630eb8b838e0f2a126c57abd1061ae7cb8fd9705cf83296a68a378aa00487d658875fa9173f2e20e782d803ac797cfa9739163c567094337707746183697b15f7276512992f99024eeaec01ac0b260872c3bd7f2c0bc010b7f82db03c87e28b3ff8bff6eaa2cd3c249e3c60ce3ddf56a8f77974c99d7419076264255c447e6e41886e8e8dbe92244edf05c1fbc5e20f4eea116f75a5f2681c4e85bfa8bd8d81798d8e674532bbe051fcde589d8679d6febc074c5d6ee9f8d9b079b91a96c90c0c8d31f5ae20ee9f938a1352a045ee06cccd3a89add4cca9939ce0b771236068631309ddbd8011a0947af08c58d29b216e292b345071ba646327f9cd115b87f6eb9976e8b39157ea51d3afb457ffc51f78568fef1f09dd87b440a70c2d50f66af07835eefbdc1d0711def170ab918608d35dd4dda73af9e04f48e70452ac1f09c8df559511f452943e468f0b6afab4f167f68ad9d2452ef7be8222d5b811acba2196d26114e09a937d53a88e1a855187d9e9c10f623e57bdabd29a1bffc75186f4c45568d6148cdb282a99e0c0415bfce4d519cb55e0d5b9269dd2ecae5f13bcb86f44233ebf1ec116f9698f2b866e5cb849d063b8759793551726808e33ef5ba6c1f6714ce2b819a3e813032ba58d96c26c633f1d44c9109935baf4c6d72bfc4dfa7576e43834e75a5d6c4445243e754ab459e9fd9008cd3c94db22643f2066821f54d4c5dd904c14afc25ddfd732484be160044a112773357a429d4673b8cdfd3c99ac3643e786ac4e5937f0cf46a1a65609e2880b5608f96505041af59f7bff83b68820381f0b211d89ff1a51d745934e4960bd14b040d711fe20327dd2e84fa8f94faab4e834dee5203b7d7511665ba3d05673821aeb91b9b6c96bfefbf91f605f2c66109dca5173cd9161a2f2eb2a822b171605d19e345bfc584b3524d31bb7cb0520da86074a3ad091dea9291ca82db5a63fd9d5becede18808402f618b3ef378e673fb84094d3f8dd2d3e7b1c8146dfb8f65adfd0afc79a8be06a3947aab13527cc03f55b4b1a0fd3878c48b69d53237c99a841715f6133588ee743377c94289dcfe57b877435918cbd7e90371ab46d33fc6bd6c17ab6cae88c9dbdc3d266cf08ceee2f46132f474ed2afde3036c1ed9fbb140b082f79b18eca9811e3840db73883a9538516b90676c698af34751dc6575ab7864e922e6ccbae85e73ce790d3b7d8f975eacd3c0f003697edcfb1af4d4c15242e695c0d5bf380c675af4d77ee5f1b691edb801238adf12c44d1ee14a50ac61702b42da2d29f7ba408025099b23fc7912d0ccebdcb743ecd050552d03b5a6bdcc39d253f86b1a316ade67a32bbce59c89a65a3e838d62eeaa19fa0050dff05244dc2810a480779d54deafa76bbb583e12384c381f5ed1cbb660acc7f8813d23d81ae08a380f6edeab63382dd23ee913b1cb4d149a9d08db5a80dd814f357bbd3c6f9f5a496327891ce8ebc88b0a39e7659f56e10527c76a667c71578453019466bdf9e4266fca929eed8e0790196fac78dd547ba76035b54cc4729cfd42da37490586447b87b7fccc6b2c624407887906b38095bebe66a5cc14c0e65b30d9479568dcdc7ced599053a75f14fd1bcfb6adabca87a051055ac69bc07e8ece61a48e2a9770c511c38b440982ce839b38ba48661e6bc796c7bb38d4fee35ca588a2c68fe4235011dc93b974ad1e3cf22accfe0f7562d96eef5154600f44e60bb665195f34f875f743d9d22bad87ab4c9b9c5a1f70c550c10b03184371f44b6dab146078814baf5bf333e84ce5d899ffef686af8843d01aa71de89f4228bb77ca5e84f63ff4ee0aaaf4f288c6d60c2ee25d4b10fc0654a29af786f42aaaf328617524a1bf4368b514c960189d2835aa1d9b63920c1a78437d56dc75a59237c05339378ec94b4cbf09fe3f3d8af50bb9f8ebd85cfdfcc17929654c6b868f0a149fb1f42f51682e459cff26cd530d9880aebf67075fb3773dd46948f3983299aadf4850e3d04e6bb01181f0a96d23f098ccaf80bfb7d0f529d6b46578b9d209e5b7b694fbac7f7e0d145e772a86daab3ee1b1d5c6b7bdc1268e1e891728bb615b916740faf97f6895eff21808f65b2652330d52eca0341b7fe9c6c3c150f60dde8879a26fe1758947e45cd964d982d2a4515f751ea7cb6d74cf246477d4af64987ea355caeb40c00541c656ec58ccbd43f9ef8fa1bf616772efb7b8e8acf5d13d1940a480ee25092582831cba79e21f5f43ffb79472b68562936677e3628f22949d3ca2c9190dfe78c72c75dfcd568678eb6c5b58d7b1f5decc347711815e21009c1975d98ed626d4909992045209695a2684e53e07ee80414c77cca14d2d6cc67f1f0b88a52e78bbf3df34d023824013a91228c1b888db9a491ca1dce6208d157d100bf445c9b03c13d48a3b723ef39a062b0e7ae7ae636179cb727dd24a2950af1b2f2f1bedc64fbd5aba135b7079db187e1e04ffa5f4799b15793486e1bcbac62758e4804292bfab5dbb2f5b8f801ee29c4b078ea011f90a63f3d2f1869cac3a3d54818e1dccc83d03580c10fe5b597c37fbb7dc9c42f1652486e8f3000eb74df17d34612962020e4f21905c2b88feaccb652eb95c2dfc9395e7014249ba0e5f5790fc9ec02806610eb8eed729a6ae53dea2b868e010085d28f57bb95afddfe692aa49484f897dc054e66b0b4e0e6160283549f04df849dd8ee3b150faa85d6e0e9044adbf4674effa10bdac7d4be798b32b10b6825ca13822b01cee17d5ae654929593e39de276388f1f3d6d9f105db19795b1962e8aea0a4a4a7fa19ef58b819652ddd58e489a5936948eb7376b7fdb0b4ede06b725cfefe83bf57610879861823be9c0dcde18a456c4805503e55e02d695b6c0d095e91c05696ededdeb28b840e94cadc814ac40ed3e6d85fa5317b9051a9bcbf46afce41edc037b14d2ca48cf25b86452e037d84290f45062d276f3bc3afdb2fc73f8e5872439d823c8d0480c140b6f5bf68b14aa19cb223fef33be6517778704ceb9a57ddef30c1f28a18109aef4da5cc9e6d727a3b99900c31a884468fc72bf08e62d33de41cf27f093507fe36a3605438bea3378bd7e02e0423cf58ad1dd68b699d320d20fa55a96229ef6df1ec37b7fcc2973a0bef7a4297220d7a7c7ba8cb0b0c03736081a0cfd16843464375419750d312a9abcca32d98a282b92c463806d55d95ca20254c2c902cb32490575b3a79308e1a62ff1ede664aca09fbf2dc7436011b8b6271455af861566267a41e18e4869a38e86b7cc61a8db46a950546eba53d5ad093516ad2e8314f833fa155b149f26f27a7da23ee773d11d959fba849b3a3abf3cb9e1aebbe66c06a82d999b36601d9d29cd48656dcb3f444744025c9736e658e89c2b64ccaff44eaa59cbdd7da91fdd59d5977f0a1ae59ece7feb9a0d36aa8dfc7ca634f32cc75a55110dca7baf321e2fecfe1b1b98c1cac3df309fb5fe48f411d5595754d652d7d8ff71922df26cf5d3d35e76f1754eb4915ec2c57fa211d7ec0c01d23050be868ef0d493af46bb28587b3781c8ccb1172e07b97b1031a8147377da5b5fa64321d1ddda7a0ab5e8e472f74b344026cc080026b9e931c697c4d99248bce489173719ef3e89101803be74a46f4cf5d0d8c4310af433de46d9553283d396382fc23f8ede012c7b3d348653309438aa75dc5b704dd742eb013ccc17e3c4d7b16a80aaa272a28be66475ae57e8d6a204c0c2405db97b33cf3bce78d6cb9c8dfed88d98251e883258c17ec5e9b06f551c23997d4ae667f494156b85573b8d384b3929f4cb320de0eefcec7194bf662b2ebff91f03dffed36fb492ea14c755aeda85b55c33c822944615b567737543ef4440b69e4a63b0b7fc997aa668f71c4862003723bb02e9e63b7f83e8c41f99e418b2c3ddbf642f175d24d4f64b5c6285af8b7a4b6f33d1c926a9235e6117cca968feaeb6771019ba643225c5796520d21411f5998e0cb99bdf57d1fd36926b7bd293ffc91be4b70d4b6a4950420fc5cf6e85fba766092f13ad225dcf7edc61302ffe839b29ce53e950672000cfb1b2749d7858bc51796ede623ec676d4e4b695f534ffe5e8de1c50d16e7747663cb23e2e364acbdf8eec8994e2db99941845df91b4085a056c321b64be3a478521dde3385e3278edd345ce98f81981024c4e94469d18b03711ef3a0436d62a91e53994df7bfcc1fcec4bd10181b5178b56d7c35bf148bbe77ccaf86952fd095db25f32ca082baa8da9fb4a0ada98ce9d73de7813b9036673ecd9b23361af8d3e0af4acc6479af7c6f863c5f072c275b2e5998bb0c029c98fe859709359dbd93fc1f34072b2112f55b76e0cae1440c06ae2bd349ec3bbaf143999a2b6eafdc744fc0cce4828a6ddc7f961d53dc3607228d62288867fe0a03677b92aad86efdb8d0ef6f9fd6798523d96d545855e986326e3d6af28a5445a53de102b24098f75ed1fbd1398a3671a55d2e9f3d427b627b6302facf16b164bfe136702f3f50e0d52a9aae619c51a472bf95a7465013f6b5de6170a65cd7cbb3c44486ab077429d99aa5ceccdc8c0641b32bfb556faa23d838c6082990e39b78a0caecbb149b9191c5c089825bcb03ef9e319eed3413e36a2950cc417caabcb33e4171285b52f3aa3b7d739565a15f83d1584657a609b622d1cea77c6ab3cacac3d701603146c83f80c927a2bc79552edb5c1d580bd7c666bb830f4e244497b03c4ea1ca360a68c56077fd2717928357411777fed8e9f80b89658a146cb1ad11f650d8c3e3cf69c78760684c9f82da44175e6d5a41db3115899fbc0d35b80b48ce048b44c4831a6fd3c8511c1f6c3c1c79084d06c2a1befd42a1880b66b134ad16519d41a7ee2ac2f25114084b9499253647c3bde4fbf9de9796ae30cefa02aca8887e1702d85732b1189f9091357d0535c45b5c2ea0884109aa376ac730902f95a45da11f7df4abf7a0401a7ce457374e1d97231980fdc0fb55041fde02f63de8542906ece7e61a8f890b2eb136f2729f0ef060e013e89ecb79dc7afc49541fd7cdeeb2421eb6624cdfe0732fd40cbf95f639ed8853d04cf5f72ef06d4b20033a5c28d60c09538121270755c662c6fa63612b0b24231edc894eef58753ed682aa006a41e6c1b0862ade9fe56edc2126be2ba7a900b6a87916988886e99fba4c25dc6ae30568ed54cff4ffac04f070929e05bacce7cab6ee7776ac8551a0f6537beb909a0cc6ff0afc8619d8b228219a64de71d55c70771a1a51eeccefa9211fd02872deb15703023faa61a7e8100f0eb91980791d5e8e63b57654798807db5ebb6468718e6bf9ce36ece3ccc3ed5e5ef14560ba6b1a693056bacd78fe025453eab9574e32be3683b6666c5cbba7638f06567396cb9daeaa00500bb70e1892be61af49b5eeb2b464f2cfc42871600d8945981daca7464a9fbf35a6aab2748bc63dca4e0b4b23954c9f1f1d074d150dbdfedef1e9ec6a456d4065833760603c4d1fe1d0449ceda371bc7f866b01e4d979d7b2b2395ea6db2d24ffe83523553dc501c0672cd16ddc06b3d64ed79ebfcd32136f556eacfa8adfcf1b68f174acc434762cdc10530bba623bc86ba8e5da7d470d4ec1cbbead296aefc4d096a965c3f2166e51b41b620f017bc4b7ecaa205502cbbee2a678c63dcab21fc4c0968606edfa8ded8eb0ce011759eae53cc568ffaf8beb8df965661ea9a7715e0d7f26a6d0d2ae1e61284335109ccc350e4b7d79e3f0ee927b0a0d8588bbcfcf3a8e346ec59f69c045d7f8aa35e5b013d38d5e5ec50337aa7ac6770268c812d0a81d2ea84217fd312e921c328112cdfc7767184b7a0f768adcfd75538c09b5942d7caf4a1da7c3206b75090a28865f84566bc0649aedde22a35bb79d418b90d46f8557f614e76ca45b1313886bd42c4a5d8aca9e9672f2360b0203d2deeb1aec00720fad2437d20f19622cfaf6afdd932489460cea2dd9c3100d757a53322314b9ae60e26f6708dd6fa44e4f3125b3580d1d49153791308e61348e6aeefd1159bbb6e00081d89370bcb7b63842e14a131dc6f84690c2584a090ebdf9dee1a73afd92a37b42b81f3afb932babfba85834dc2811d5a93a91ae26d0af75b7cc9e612b2acd708054c258e7110fc6787b512b6111695602205d36b1322b5ac70cf33f11f0d7849e731fce08fba5870e9b51c9e0e7c6d0dfbb477d2459b749b1c4a9a92821d35b828501da47acbdf6c16375ffd14c9e2726f5b3c4411f7f29174997e5dace2911e5fedf11ba6b7f0c0130ae1d75acb99d65e0062116f4c080dfae20e562922d71320f15ca11b45e0bd8cd024198c3275042d4d32b2bb9b4abea09fe0393f6aae91bd912cbd50c37db763c2c4bf28d587f5ea8106e180cfbe548255ceb1eb862eb00a2801fe88821c0385764e0606b9291fe1975e60dc897cb37fe693009e123b7ba4c09745c466da51cd3f853941b5eabe9e0173c710b092c973be6dcfc7947aa2314c9b2bae2867831edb171c45f112995d62cfbcd25e789a2ab6fab2f72b34d16110c9e8a72dbf7e40918214e41669d64cbb8c550fdf7d0454b4a55450d55ca01d853be5caf172358a7c5186e5f030499102cfa1a20b6d8d8222f630fe6b9e378484707ef9bd35f908d2bc4986ee0d5c0fa56e9c33d46155e0e9ff7ac444417f01fc4d38a88c43125080ae5e537dbc69e03d237d74c07556e02f6c677a50ea5e26466ae26e574d4d8c88ca196c6838907186aaa63a58d87170bddde6d14a7285dfaedf1be31b8e945a157bd3a5374cfb8a7320a9901230acdaec6d254c29d9d8cb3f85ecaa3dd459acd09c50d9129e3b4aba482643f50352f7f2d54d4400d3d78b08cd1637b6ade3726eb6d868c98e5873e278996499f05c7f07c46e714ae0e4fc8c415e8b822a53539860b0f1f0fcada2daccf3ba29c74bcc68a3fcbe47bc46170f05c87e95cf4d001e8c041a9a2f2df3fbf7ac78867314768d43cb897f648a12906a3b4b8a77109e9dedf72d723cd5130cdcb88c9aef32256807380a0f080433761dd7a2fe8f329d3c9ddd416413e03a206d7318b121b6d32fd474cd233285f8f5bc113cdfb8052a8b4d3e07475b3871177de4946842457a9d2492575a57fead73617c3f2dec5feb2583a307d8079ea8d67362f658d30f1d0aacbf7fbefd4f665569000ff9b9b0eccb37a66f09b4e781958cc5617680c5a22310222a3018baff4cb01c16432496ee59fb349d5c83301ccff607b1c5c3831200147bb1b69fdc4c0883112703e9c9bc64d6bb8d46a9cd3998b3f57a44fa3a3f6377c3f3304be3db7a15a2bf636ed576afcdd3c40b4e141e5ee816d8cbb7dae1a5287b9474fd83f3490679a2deee2805da86436a63b87054e999c2715b6d3a836432ff36bcd7e07216647feb98f5a828c2c669e19c1f1e02f68fb4ce10d7286148a167a4f0ab2779dfbdfdb9cdae17cad52d4ea314dc0161642f6b9838e59f6ee8748e2b55aebc28d33942c4bbd5d2efc86076a1e3d92e55779050063b8185db02607e2f63242f939fd4768841f8ea4d206bd1f98da7e3465480f9d3fd3dfdd6b44c68db860f41a5a64e85993f9766432aaf4044982d7cb7ff124d368c2277d486389601e605484d6e3826efbe989bf900cbe525c22aea3dd50dc799f89cf3ca1b9bd5dca767362576ded6145d3da99e7b887b022b7afe366e410c64aa1f5ca23df8b924bdb157dfbf04c3f26ccc918c09546efa63620ec9d0fdbc931efdda229557fdb51e70d56e29405912349364cf3830ace0966dcf99eb2f678287230d5458f84f66c2757d555502cb776b1e6a86fc953989aa75a8058fb457a19ce8abe871c7432c04714deeb80e5fa4b9c52ba262b01a5180cd5384b89fa0a6cf218f1cc55dda6c2b25dbec219ae937b9f8fe2c19ad5bf7db0e2c6bd122bdc90c4cf355e7f68a671c019ea9e1b3aa93808b11cdb300222e2b616882c65ef37288a2cc597c7c485ab70cf6be5dcedac680aebadb9a772fd901ab13cae2d18abb8e6e6df93016dd2ad5ff78ca66c1a58558033128ffd8d18f01cc5c19f13c79c750b820eab94f7a8c12d751ccc6efe81207683e71f6e4f8e7fa43144b45f23e1292d26ed14935a12009f8cd5f3b72c66779abb922a2334332e6755111e64eeff1c5171d39528b14d6e86ca095cb207969d1ac2283569a5f70e122960d7c4c3d32e8a421c31e4163faba94a33f688413116540c8308478375d286cc8f0833c23ec7bb779f5fd74975aaa631752c8a531c17f6d51e3615b56f284f1a51b26ac08a2b31416f6f41fbd9c5be472d5672e5187ffb6ac419c8a9f2180193ae475277c58d7b9ca0f380a9023b8c75947fc7c36cf3a85db13fec63fd709806fa6290b08b0db5a01f36e8276c1e7c194030cda4aac5bc213c2250f6a42e5b8f3ea223073dc7d6a807ea4a1a6845dcb916c52458e347e3605f57cd30677b6828025c15d476c7c0924371a98b6ca4d778f1c80476fc95ba76094f044b17e39630442b29e95ee592e33f8a860515bd5060c10df09832913831ee0611b8c49633a4df530b6f090e77aa310b5a06b0dfaf14890f42f6ae24a9d510f572275c84d5cf9d16fe7272d646452993acf84d29119573cb7ee48ed42ca60d8341e3ed32add4ec104f094e483eae33b07d1ead5d7bba2fc9b364dc1c3e1b68b2851588db7d915763a3becb7d430affd1fda45db39c171a78e1dec9dedf58ceefc1181193cd3f582f4a7daf1696f9b6cf4401c7ff683f8d288f32d4276e4ee24af4f4133c3f391d772a251a97a08cd9b89670b728d5512bf0049c2e4eb1d1c6e57e79cd98538a2f84033b04a5c931e295087a1c6ce9ced5cf6d325dfe23a275af4b15d2bee9f446ac76411cd14b0805cec1536c8404413bc376802ebe247cb0c4e1f258cbfdf402b852c493eb9d1c522aa30a3036804024a8bd5616cec1857b34da41a961e23e01043257ea40792734062d71f0f73b1567016408cb131294b4bc067de817e83da1c3ccf150dd66fbd63435fa357ec04e87056b62801922a2555aee0fbca0ae1206bb94dbd98bb9440d6c1389ee40de092031bc1d19d383ee8c88bb1b2de56cd4b2b7dd0c9f121c60e796177ade981bf09b5dc469bb18e39aabde5a02771235d92c0b7dce3c98282b3538b7051f4b08df69e380370ebf14625f28e6d445da788a6f50f2f703878147344bd9e9f6efc5dc9680edb2eabab0f4f0f182d81495e4ca6ad1425b236dcd918943e0665dd4f150f56b57531db6bd97b442e353ffc750d069c4810955cb97a7ea2c55f17ff6a1702877948a56aa99ac63c419365acff1699423d0817f48f0723ded9401e1a3ebe0e85d94036dae8cc0d28e08689657ddcd5a3c62ec6dbfdce5c0fd84f598488692cb3a5f774f40cb20e386dfd171a27f8f27a95cef9934be02d4a713dcbdbae6897359e70e2efad877d71b1ac1cf9c7867057709a31d51d3ee4d748f953052efb4548f67957cb315aaac14f6365109e466100a68f9c6c0a2633ced588ff89bb7788fca7caec9fe2d55789c4c1f459772c9b7fd29aebdad947229b2aa5311a47c3fbac9c92035364eb7893d356fb7d31d70ecca9bac2775e601e438ed5a88ccfbc2672845705ddd840d9aa3e9611c9b86fe2c243dc19437ed4e53f66054f82101a35fcbcca8e801acace4188dafd1cb6291a327330ed28a891d181713ab3e2da33e9a621978ac3dcb4ffa2c2d5f3789091b7f5333c47608b2c3f2d240748517281a53b3496a65df87041a8b4749cb1e5597c408f78af8530c28c917a26d0e1b5604a793f893624100bc658b2069ded81f28feaeac3f49e0d1dea3131a5003d0787499062942d9963d3fa218f992aa9dc3a79bf471b04a4aa5db270a42bf169d280d1599d5f0af0505fcb92bbaad37f0a66a54b9017f8c53cb2413c35352c1f477768479801964c9a352df822abbc4e41e951f086d2cf30faf840ebf1413ced54bf6ee31f59cc387f4717c2d1a1b3c0b6fe16720ac8534d1384f5d1f2617c4f426e63862fcffe9a065e8bcbc83290839c2ac26ec4ba831b6cb7cc29e230c54189b8beaa7db707a30c6fdefa71c5bf8691253888f4ab01ae413cc6291ea8e31bea5f44168b923754bc3af299a315a0e8003fd057c5f79b5e338243d3f6ddc820f8ef28a4fbc1d6fafc4ed347d0b39d18aab3a5eb0ecce21c4ee2cb34a0af61d57fe234cd8c3968e703251eaf59e811b4d92c7f06b711e23bf849746072392ba3091d212e6ebbb49547d96356ade140fbc9065c7d9ba0e37e25c153ac6365cf40dbcf8aa5d6f78cfab52b83a58d9a5f8e16dc21901a873334a5afdc9d0962c4fbadd6f983f4980fbf21d2f5b1eeb271ae94629e8cd36ef531d5d5706f87ed8c8ca93cc60b2815ecec50052e9b253245e623cd04b710b10527fb7ff9f4910fd72d3e749da7f3edc748c22142c77a9472fc25d6b382c1b8a584e2ec388f93e5d520a161b47012c5909993e776a8fa4d9e369bcb8bcf97ad7b094e9ea7679dd04ac672fe00ab12b185c65a875ed3173e7f7eeb8c99101ca2391f8755be0e5a8ed3af970e80966e7f1e9aff75f53761f29c9b65b9cc5f0fa4ec7020d7bfc876951940068fb1c96eb84efd310fff72651fd8d2b2176fb03771f124f6f07ac13655d502fa43f9d1e534b05f1909aadcecfb4c66443a4c993a13ce21f95d6d253f3ac82888de007d48ee17fa3d51ac528db8eb2975d7468ced0ae69445309efafb5b2090448ae74b025e59062808cb6190d2f0845d99adac9ff2dd0355114d324a8688f43bbd136b09f2b42fa62f0daa9b700330179064eed3c0175acebc6695af29306af0bec9a88bad3a32317b5ee49ea5a8f1426c61a328fac093def39cab88c4666ee4d0937c58bf2aa13bc8b84f9f7db07b74a1e0a62fd710f13ece8e841d20fbc32abab71f594b48bc3b55150174c7f2f6a72b036785f8d245faa665695a8927805374aa7eb1746aa5cc965f4dac636265678d21e297852726b2d56d8b707d3e16df329a762c026db0fead30ab554e5a1a20fa6d5a5558c734568f746ff2d73ea83742f4d561382813acb707799437e71fe0fe2163fa3c142d960e45608a329780952839ea58aa52646f190e9085771752debf73cbf7bca1f8e31f09cd50fd8ac350214f32d5c751b489b3a6efaa51130ca8d9ffc139be7471bfc951041623b411b6404903d0d94e306fd15f873ea005ea9d6be64c08352a078c1b3aaf294978ba92a2d0a21a4fafb9823b905031192f9d064f2936e6a661e2987a4345cd778e149be05044416c62908b7b7604eedabdd6e5725edbfcbc15505d06dfaf99c471a6c5c0ef67fdbbe8fb651372ddd1199ab52b602505a7936ef64a909802b97a798f958fd86a9234f321ccbd1f27060ed5b2593556f70cfb22f2d1993a2f1ad32c7fad5ea8b93464b5ea67892d0dc37abfe0fefa7f3dd7f65c548e808b16463a818ef91164f25532e0ad5353ffc66bf318852a3643731e706e105f445f72b868c8882ca05656ca1a2fd11841e0dab96c269db285ff01399715ef8ebedf730dbe286b4243817950d9323f7d33218698665fd1422f270d0f00223b261e5f784c3613928b5bb52019167cbadb67129d59074cbc191b0b2546a544ff68b002dc35e5aab07ea3d0231a6a8ca9e40c1c9dacc6e7111a3936da8cbbdc0556cec09e2b6f74fbf281e48f1a8ca2140927c487d24284c6783b9185fe05e2ab2c67558357a56aea1a07264ee7f9499ace49eed343e1da016873fa75a889fccb5dc41806e45e12984c8cbc91615737b61606a78c10de5b912ccfd2a9296379c72f6cda028414c22169eb9f1c8ebfced21e4700d1f9972165e04fb5455a1575c23fe4343796ca8990ad4d98725e7a284b6fd83b00a8bec9d2d721217509faae5dfd7e55e0bb458b153fba0e4c55b1dce9f7ebef4b71db158326f3359dc6dafe133a3030cb632b286bb4b79f2b07c112367f6d154fa2aaeff5b56cd774594639b1f0e83c4f0e6dfbc9b48dcc2decda4d9ec15fbeb4890fa1c4749aa0bc3f1a9ab25e4a7d2c1cd0fec14bce94dbb9827bb860d82b4225ded57c8025afcfb84158ec0416357824a6fd573a4c46dbcb99b91042a07c022f70126d17afd35b5992e3848c2638d31e07d1fbb4bd27720f528b04a4f1f862a891e644cb80198180527c782e6363590bf9348bdbd71f2707b65a5a8d4283b72704c1f9d8db8fd9eab427cfb98de7a2f21a59822a0879bfe9b7b146e0f7df679ac4e9820e1339e9c9882d21a6e16c40d8903a2faa4ca53c7fe0fe9d3b7e397390290aec04783277954ac6047816218aeceae9e15a344b7776d561e4d260db45618f66dd65227b731e5871a7e9f182e7b262b738ec29ff4b0a0867fdf9d273c2c708921846908a18da2ab0d3765413fd0001d91911cf42c8adfdf4aff3bb6e90c578f05988972fa2ac4262a54d9c40dde4a1958dda4d7d81a74beb8c55834fc36a14ea3314396ce8eb340feaa4392e026d9f79e53aa20699c52805583fe85d09a46cc5d160de4833af7254801c76ad83339ee9df8294bda1d76deee676ed6430732e1cb5f24610e22656eb68baab8750b17083351888b1e7246bd3fc007ed6a7969a3d43b2c66e76fba641bfecf8d3f22f6c3adee58f4497f52f3629d7e663e425bcfafa26955cf088d69411442e6bbf989ca53e14b9417a7d6148a26e05c39df33ac92ae26dfa281cadb064b0c3e6b133e72cc33b7e620a063223463df59f3430359adc81833ad613801ba82116904596e727d8bd026246d32385f40cb04159932dd044eec0aef65225c22747503a25654585720eff9d2496ed9ab832b2f728d98cf12b36e7bb138819587474c784cbfe0733b314a2cb3eb33c3b486ab54b35a9bdfd7c4c4988416201311e03e9e9f065422922389d72c42dfac6d6e3827a2a49229b3b51099bc7010147b798828aae45ed463a24c30042246b936d2c22bca0a72730fc28190840085b0dfa7f7eceb4e223e195d6daa3a98f56f3c13d2741e01a1d120c2339d10f86e8cd8b553843a441cb8dec5b6f529c235364279c10996eb622a895c08516dc8a72a972fb66aa95934ae959c359e8eae778a243f88b1c24ef327776c95ceb8d6e96c6d6d8f5a631b927a6a7007195d6cd64cc33d8a7e2c1039db0f8c614a5c6b2f96f75aa2a7e883ae80353cfd5c50a3e588226fe9a56c4f1613209a0c02bb74e4750f75fdc228a389c30ba8134f8ba61e48d3ccc98c8e84ccc40680b934c0e4f4102f534dadedfb2950227fb00ada9824733e6edef774e60c95924d6c17fedb79611a43d6f0a32cb8b555a3a054519f821cb8ad1c72e651a816fe0b0d1cb889cb0e03c646d5b775ac214786f4748494bc4c77bec6b78fdaadd611d697948db802453036c9b00ac7d1641ac1aa6d1e40166494c7b8d81fec9cbb7b049040135552068371046780308d737bb0c4983a0ca8af8a90b3e9dff8f2bb40c2e130dd566d6225299c4afb28042087b8fa552c70fef93f862dad90440148eb2416ec67d60e17fb7dd6e5bc27b3836e809810c3d94b05fe4cd38944222d03120357db5af1e030a7afcbe4d2b92cbbc47361b12e48abe7c141ed78d4be38040223a3c8005cb1e3e7820bdb7ad30aef26d4c8a9c158273954ddf232a73924963c12af1b0d4a3f082721b061f1fc8b4df5946e3a8f4eacd16bcdbdf724353daa146cc18f502703ff55793ea371083ad5a154a9998d1dc69e1e7895b8f8ef169261076b9780bf1fecf58a53b8810bc5f7f45465d68526787a7d51feb4f31a0711a647d2f38dcadc6c987f15d0d250b76abae084310a65da2e8b4a8dc662ffbec336768d1f4937345469bf9a0da4c444b10c0cf5582186137757d71fd1e826e1edc46715582835695960cf161cea74715eddbebd4e6d16e7488ed3f0820ee4c2eea346dbe807144d6bd40ed9b3e1a05d35e58ead7d9f7dfaf5b4ab2b6d64b5046a6f124b96612ac495188cd7b7329e1066e0575c821f8023a9f1d37c83bf9c6bc7bf869f1d5314f8866399394e6ccf3db6df817f55d7791110f5543d0e919451be5937aeb3474ce36e328f9bb9911ab69bd58036bf2cf79d1dd7240a41b8b585e619b5390a6d005f31205ade81c5b1fec306afaeb6c677a0a00c2ced2982125fc8e5e3b2952115cc16e14e9af32b8467d3b274463834df2987c58a3a72489e41c9c04994be98e5d030c9573f9946bd546b2771c3e41a4d352ce0761eec53c3cbb7f09d144a71a342600797c9be4f1f8bea755b4a158687dab774e9b42a3ce08a25f04cc253526b3093152288d6cbc7ebbdb3f3f9398051bea6f22b683d01d98a386d9f6aa696e7425271f05adda0b953f8f11d48d8bdb629c8295caee6478a49674ae2af0f4e5633ca93becaec07370a98d0c035e97f3c0e043841879781800e345ecb22d61886c3b3ebf61c6b42ed5a381fbd4ac35a6ef39309406e325532eda8d8c18c0a5e63730f6a0013c38782e9acb4310479280fc4946326046477310f3de97944138f118c524ed948c30fe29044af685d10a900a67cb17c5be8297b73c17e48cd67de7dd0db284dde1c0bb0b1c97b890906f0b624ac1ded434ac2e13c85da0dde760c22b02c26e3ebb5103d0f7512028613f5aececcfaef13bbc8d69bbcd2c8a7e463e7177a3fbec2844c44e55becdf9f657dca8eb655397f6b6c0933332e7360f6bd12de61e4a9e214ac314d0b3ce46a11fe25bb92488ff16e23ca4ce00d7ee607ce239f5a5189e790382d409c2b0aa3ac68ec08c771f20a5bad3dc33ecd09c41e205b1dbeb0358c4a5ba9bc8dc82b30102590a42e6f7b232480699a88133b0eeada2f535cc8c8c98f2475127cb5e59e8f3d533981131be32d5c6719e0d29867cfc56cc4d7af2c29552a71afcdae9012df70889c1c995e391c54cc64ba3acbcd60dd67e12f499241e6cb8de03557dbcd8484b31d7db34a004388736ab483cdd8ff4625c0baf5ff2f567cd756e7d8c7246755e0829b501872cbbefc43bc43215142f6da2e3c5614bffdc80b72fb4497f0d9ef8bee93f0e60af70eaa8d7f55f4fb5f0e73f964173c74755c46413db54c3bd600715353fd46531aeefdd71fcfd2d1933f97aeccbd3b74fa12d94c27c7b7b5856788d21b40bff9ced2c133fa59c192b5094c9ae3618814c441371rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpostgresql17-17.2-150600.13.5.1.src.rpmpostgresql-docs-implementationpostgresql17-docs     postgresql-docs-noarchrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)173.0.4-14.6.0-14.0-15.2-14.14.3g<}g4g(@g@fLf@@fV@f|fTuf8@eCe@eqe@eKx@e@@e%@d,@c@clcGc>@c6@c5c,N@c@c@cb@b@b@b@b|bV@b[@aaza@apa\>@aUaQ@aO@`@```q`OL@`Gc@`/@`#_S__@_F@_mmax@suse.commax@suse.commax@suse.comfvogt@suse.commax@suse.commrueckert@suse.demrueckert@suse.demax@suse.commax@suse.commax@suse.comaaronpuchert@alice-dsl.netsarah.kriesch@opensuse.orgdimstar@opensuse.orgmax@suse.commax@suse.commax@suse.commax@suse.comdimstar@opensuse.orgmax@suse.commrueckert@suse.demax@suse.commax@suse.commax@suse.commax@suse.commax@suse.commax@suse.comfvogt@suse.commax@suse.commax@suse.commax@suse.commax@suse.comfvogt@suse.commax@suse.comaaronpuchert@alice-dsl.netschwab@suse.demax@suse.commax@suse.commrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demax@suse.commax@suse.commax@suse.comada.lovelace@gmx.demax@suse.commax@suse.commax@suse.commax@suse.commrueckert@suse.demax@suse.commrueckert@suse.demrueckert@suse.demrueckert@suse.demax@suse.commax@suse.commax@suse.commax@suse.commax@suse.commax@suse.comgmbr3@opensuse.orgmax@suse.commax@suse.commax@suse.commax@suse.com- Upgrade to 17.2: * Repair ABI break for extensions that work with struct ResultRelInfo. * Restore functionality of ALTER {ROLE|DATABASE} SET role. * Fix cases where a logical replication slot's restart_lsn could go backwards. * Avoid deleting still-needed WAL files during pg_rewind. * Fix race conditions associated with dropping shared statistics entries. * Count index scans in contrib/bloom indexes in the statistics views, such as the pg_stat_user_indexes.idx_scan counter. * Fix crash when checking to see if an index's opclass options have changed. * Avoid assertion failure caused by disconnected NFA sub-graphs in regular expression parsing. * https://www.postgresql.org/docs/release/17.2/- Upgrade to 17.1: * CVE-2024-10976, bsc#1233323: Ensure cached plans are marked as dependent on the calling role when RLS applies to a non-top-level table reference. * CVE-2024-10977, bsc#1233325: Make libpq discard error messages received during SSL or GSS protocol negotiation. * CVE-2024-10978, bsc#1233326: Fix unintended interactions between SET SESSION AUTHORIZATION and SET ROLE * CVE-2024-10979, bsc#1233327: Prevent trusted PL/Perl code from changing environment variables. * obsoletes postgresql17-jsonb_jsonpath.patch * https://www.postgresql.org/about/news/p-2955/ * https://www.postgresql.org/docs/release/17.1/- Add postgresql17-jsonb_jsonpath.patch as a temporary build fix.- Use cmake(LLVM) < instead of <= to also allow building against LLVM 18.1 and newer 18.x versions- Upgrade to 17.0: * New memory management system for VACUUM, which reduces memory consumption and can improve overall vacuuming performance. * New SQL/JSON capabilities, including constructors, identity functions, and the JSON_TABLE() function, which converts JSON data into a table representation. * Various query performance improvements, including for sequential reads using streaming I/O, write throughput under high concurrency, and searches over multiple values in a btree index. * Logical replication enhancements, including: + Failover control + pg_createsubscriber, a utility that creates logical replicas from physical standbys + pg_upgrade now preserves replication slots on both publishers and subscribers * New client-side connection option, sslnegotiation=direct, that performs a direct TLS handshake to avoid a round-trip negotiation. * pg_basebackup now supports incremental backup. * COPY adds a new option, ON_ERROR ignore, that allows a copy operation to continue in the event of an error. * https://www.postgresql.org/about/news/p-2936/ * https://www.postgresql.org/docs/17/release-17.html- Upgrade to 17rc1 https://www.postgresql.org/about/news/postgresql-17-rc1-released-2926/- Upgrade to 17beta3 (bsc#1229013): * bsc#1229013, CVE-2024-7348 PostgreSQL relation replacement during pg_dump executes arbitrary SQL * https://www.postgresql.org/about/news/p-2910/- Upgrade to 17beta2.- Upgrade to 17beta1. - Allow LLVM <= 18- Prepare for PostgreSQL 17. - Make sure all compilation and doc generation happens in %build.- Require LLVM <= 17 for now, because LLVM 18 doesn't seem to work.- Remove constraints file because improved memory usage for s390x- Use %patch -P N instead of deprecated %patchN.- Upgrade to 16.2: * bsc#1219679, CVE-2024-0985: Tighten security restrictions within REFRESH MATERIALIZED VIEW CONCURRENTLY. One step of a concurrent refresh command was run under weak security restrictions. If a materialized view's owner could persuade a superuser or other high-privileged user to perform a concurrent refresh on that view, the view's owner could control code executed with the privileges of the user running REFRESH. Fix things so that all user-determined code is run as the view's owner, as expected * If you use GIN indexes, you may need to reindex after updating to this release. * LLVM 18 is now supported. * https://www.postgresql.org/docs/release/16.2/- Upgrade to 16.1: * bsc#1216962, CVE-2023-5868: Fix handling of unknown-type arguments in DISTINCT "any" aggregate functions. This error led to a text-type value being interpreted as an unknown-type value (that is, a zero-terminated string) at runtime. This could result in disclosure of server memory following the text value. * bsc#1216961, CVE-2023-5869: Detect integer overflow while computing new array dimensions. When assigning new elements to array subscripts that are outside the current array bounds, an undetected integer overflow could occur in edge cases. Memory stomps that are potentially exploitable for arbitrary code execution are possible, and so is disclosure of server memory. * bsc#1216960, CVE-2023-5870: Prevent the pg_signal_backend role from signalling background workers and autovacuum processes. The documentation says that pg_signal_backend cannot issue signals to superuser-owned processes. It was able to signal these background processes, though, because they advertise a role OID of zero. Treat that as indicating superuser ownership. The security implications of cancelling one of these process types are fairly small so far as the core code goes (we'll just start another one), but extensions might add background workers that are more vulnerable. Also ensure that the is_superuser parameter is set correctly in such processes. No specific security consequences are known for that oversight, but it might be significant for some extensions. * Add support for LLVM 16 and 17 * https://www.postgresql.org/docs/16/release-16-1.html- boo#1216734: Revert the last change and make the devel package independend of all other subpackages except for the libs.- boo#1216022: Call install-alternatives from the devel subpackage as well, otherwise the symlink for ecpg might be missing.- Also buildignore the postgresql*-implementation symbols: this is needed in order to bootstrap when no postgresql version currently has valid symbols provided. Once the packages are built, OBS could translate this to the pgname-* packages and accept the ignores; during bootstrap though, there is nothing providing the symbol and the existing buildignores do not suffice.- Upgrade to 16.0: * https://www.postgresql.org/about/news/2715 * https://www.postgresql.org/docs/16/release-16.html- Upgrade to 16rc1: * https://www.postgresql.org/about/news/2702/- Upgrade too v16beta3.- Copy postgresql15 to postgresql16 and upgrade to v16beta2. - Don't create a unix domain socket under /tmp anymore.- Restore the independence of mini builds from the main build after the -mini name change from April 4, 2023. - Adjust icu handling to prepare for PostgreSQL 16.- Overhaul postgresql-README.SUSE and move it from the binary package to the noarch wrapper package. - Change the unix domain socket location from /var/run to /run.- Update to 15.3: * bsc#1211228, CVE-2023-2454: Prevent CREATE SCHEMA from defeating changes in search_path * bsc#1211229, CVE-2023-2455: Enforce row-level security policies correctly after inlining a set-returning function * https://www.postgresql.org/about/news/2637/ * https://www.postgresql.org/docs/15/release-15-3.html- bsc#1210303: Stop using the obsolete internal %_restart_on_update macro and drop support for sysv init to simplify the scriptlets.- Include -mini in Name: to avoid conflicts in the source package name and OBS internal dependency tracking.- Update to 15.2: * CVE-2022-41862, bsc#1208102: memory leak in libpq * https://www.postgresql.org/about/news/2592/ * https://www.postgresql.org/docs/15/release-15-2.html - Bump latest_supported_llvm_ver to 15.- Update to 15.1: * https://www.postgresql.org/about/news/2543/ * https://www.postgresql.org/docs/15/release-15-1.html- Update to 15.0: * https://www.postgresql.org/about/news/p-2526/ * https://www.postgresql.org/docs/15/release-15.html - Move pg_upgrade from *-contrib to *-server. - Drop support for the 9.x versioning scheme.- Update to 15~rc2 * https://www.postgresql.org/about/news/p-2521/ * Reverting the "optimized order of GROUP BY keys" feature.- Fix source URLs- Update to 15~rc1 https://www.postgresql.org/about/news/p-2516/- Create mechanism to specify the latest supported LLVM version. Automatically pin to that version if the distribution has a newer unsupported default version.- Disable LLVM JIT on riscv64- Update to 15~beta4 https://www.postgresql.org/about/news/p-2507/- Update to 15~beta3 https://www.postgresql.org/about/news/p-2496/- use %version requires for the contrib package for now as 15~beta1 is actually smaller than 15.- Add proper conditionals for lz4 and zstd- Upgrade to 15~beta1 https://www.postgresql.org/about/news/postgresql-15-beta-1-released-2453/ https://www.postgresql.org/docs/15/release-15.html - Refreshed patches to apply cleanly again: 0001-jit-Workaround-potential-datalayout-mismatch-on-s390.patch postgresql-conf.patch postgresql-llvm-optional.patch postgresql-plperl-keep-rpath.patch postgresql-testsuite-keep-results-file.patch postgresql-var-run-socket.patch - Add buildrequires for lz4 and zstd support- fork package for postgresql 15- Upgrade to 14.3: * bsc#1199475, CVE-2022-1552: Confine additional operations within "security restricted operation" sandboxes. * https://www.postgresql.org/docs/14/release-14-3.html- bsc#1198166: Pin to llvm13 until the next patchlevel update.- bsc#1195680: Upgrade to 14.2: * https://www.postgresql.org/docs/14/release-14-2.html * Reindexing might be needed after applying this upgrade, so please read the release notes carefully.- boo#1190740: Add constraints file with 12GB of memory for s390x as a workaround- Add a llvmjit-devel subpackage to pull in the right versions of clang and llvm for building extensions. - Fix some mistakes in the interdependencies between the implementation packages and their noarch counterpart. - Update the BuildIgnore section.- bsc#1192516: Upgrade to 14.1 * Make the server reject extraneous data after an SSL or GSS encryption handshake (CVE-2021-23214). * Make libpq reject extraneous data after an SSL or GSS encryption handshake (CVE-2021-23222). * https://www.postgresql.org/docs/14/release-14-1.html- boo#1191782: Let rpmlint ignore shlib-policy-name-error.- Remove postgresql-testsuite-int8.sql.patch, because its purpose is unclear. This affects only the test subpackage.- Upgrade to 14.0 https://www.postgresql.org/about/news/postgresql-14-released-2318/ https://www.postgresql.org/docs/14/release-14.html- Let genlists skip non-existing binaries to avoid lots of version conditionals in the file lists.- Upgrade to 14~rc1 https://www.postgresql.org/about/news/postgresql-14-rc-1-released-2309/ https://www.postgresql.org/docs/14/release-14.html https://wiki.postgresql.org/wiki/PostgreSQL_14_Open_Items- Upgrade to 14~beta2 https://www.postgresql.org/about/news/postgresql-14-beta-2-released-2249/ https://www.postgresql.org/docs/14/release-14.html https://wiki.postgresql.org/wiki/PostgreSQL_14_Open_Items- Upgrade to 14~beta1 https://www.postgresql.org/about/news/postgresql-14-beta-1-released-2213/ https://www.postgresql.org/docs/14/release-14.html https://wiki.postgresql.org/wiki/PostgreSQL_14_Open_Items - disable postgresql-testsuite-int8.sql.patch: it seems it is not needed anymore, need to be double checked.- bsc#1185952: llvm12 breaks PostgreSQL 11 and 12 on s390x. Use llvm11 as a workaround.- Upgrade to version 13.3: * https://www.postgresql.org/docs/13/release-13-3.html * CVE-2021-32027, bsc#1185924: Prevent integer overflows in array subscripting calculations. * CVE-2021-32028, bsc#1185925: Fix mishandling of “junk” columns in INSERT ... ON CONFLICT ... UPDATE target lists. * CVE-2021-32029, bsc#1185926: Fix possibly-incorrect computation of UPDATE ... RETURNING "pg_psql_temporary_savepoint" does not exist”. - Don't use %_stop_on_removal, because it was meant to be private and got removed from openSUSE. %_restart_on_update is also private, but still supported and needed for now (bsc#1183168).- Re-enable build of the llvmjit subpackage on SLE, but it will only be delivered on PackageHub for now (boo#1183118).- Remove leftover PreReq on chkconfig, we stopped using it long time ago.- boo#1179945: Disable icu for PostgreSQL 10 (and older) on TW.- Upgrade to version 13.2: * https://www.postgresql.org/docs/13/release-13-2.html * Updating stored views and reindexing might be needed after applying this update. * CVE-2021-3393, bsc#1182040: Fix information leakage in constraint-violation error messages. * CVE-2021-20229, bsc#1182039: Fix failure to check per-column SELECT privileges in some join queries. * Obsoletes postgresql-icu68.patch.- Add postgresql-icu68.patch: fix build with ICU 68- bsc#1178961: %ghost the symlinks to pg_config and ecpg. - boo#1179765: BuildRequire libpq5 and libecpg6 when not building them to avoid dangling symlinks in the devel package.- Upgrade to version 13.1: * CVE-2020-25695, bsc#1178666: Block DECLARE CURSOR ... WITH HOLD and firing of deferred triggers within index expressions and materialized view queries. * CVE-2020-25694, bsc#1178667: a) Fix usage of complex connection-string parameters in pg_dump, pg_restore, clusterdb, reindexdb, and vacuumdb. b) When psql's \connect command re-uses connection parameters, ensure that all non-overridden parameters from a previous connection string are re-used. * CVE-2020-25696, bsc#1178668: Prevent psql's \gset command from modifying specially-treated variables. * Fix recently-added timetz test case so it works when the USA is not observing daylight savings time. (obsoletes postgresql-timetz.patch) * https://www.postgresql.org/about/news/2111/ * https://www.postgresql.org/docs/13/release-13-1.html- Fix a DST problem in the test suite: postgresql-timetz.patch https://postgr.es/m/16689-57701daa23b377bf@postgresql.org- Initial packaging of PostgreSQL 13: * https://www.postgresql.org/about/news/2077/ * https://www.postgresql.org/docs/13/release-13.htmlh03-ch2d 1732121065  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~17.2-150600.13.5.117.2-150600.13.5.1postgresql17htmlacronyms.htmladmin.htmlamcheck.htmlapp-clusterdb.htmlapp-createdb.htmlapp-createuser.htmlapp-dropdb.htmlapp-dropuser.htmlapp-ecpg.htmlapp-initdb.htmlapp-pg-ctl.htmlapp-pg-dumpall.htmlapp-pg-isready.htmlapp-pgamcheck.htmlapp-pgbasebackup.htmlapp-pgchecksums.htmlapp-pgcombinebackup.htmlapp-pgconfig.htmlapp-pgcontroldata.htmlapp-pgcreatesubscriber.htmlapp-pgdump.htmlapp-pgreceivewal.htmlapp-pgreceivexlog.htmlapp-pgrecvlogical.htmlapp-pgresetwal.htmlapp-pgresetxlog.htmlapp-pgrestore.htmlapp-pgrewind.htmlapp-pgverifybackup.htmlapp-pgwalsummary.htmlapp-postgres.htmlapp-psql.htmlapp-reindexdb.htmlapp-vacuumdb.htmlappendix-obsolete.htmlappendixes.htmlapplevel-consistency.htmlarchive-module-callbacks.htmlarchive-module-init.htmlarchive-modules.htmlarrays.htmlauth-bsd.htmlauth-cert.htmlauth-delay.htmlauth-ident.htmlauth-ldap.htmlauth-methods.htmlauth-pam.htmlauth-password.htmlauth-peer.htmlauth-pg-hba-conf.htmlauth-radius.htmlauth-trust.htmlauth-username-maps.htmlauto-explain.htmlbackup-dump.htmlbackup-file.htmlbackup-manifest-files.htmlbackup-manifest-format.htmlbackup-manifest-toplevel.htmlbackup-manifest-wal-ranges.htmlbackup.htmlbasebackup-to-shell.htmlbasic-archive.htmlbgworker.htmlbiblio.htmlbki-commands.htmlbki-example.htmlbki-format.htmlbki-structure.htmlbki.htmlbloom.htmlbookindex.htmlbrin.htmlbtree-gin.htmlbtree-gist.htmlbtree.htmlbug-reporting.htmlcatalog-pg-aggregate.htmlcatalog-pg-am.htmlcatalog-pg-amop.htmlcatalog-pg-amproc.htmlcatalog-pg-attrdef.htmlcatalog-pg-attribute.htmlcatalog-pg-auth-members.htmlcatalog-pg-authid.htmlcatalog-pg-cast.htmlcatalog-pg-class.htmlcatalog-pg-collation.htmlcatalog-pg-constraint.htmlcatalog-pg-conversion.htmlcatalog-pg-database.htmlcatalog-pg-db-role-setting.htmlcatalog-pg-default-acl.htmlcatalog-pg-depend.htmlcatalog-pg-description.htmlcatalog-pg-enum.htmlcatalog-pg-event-trigger.htmlcatalog-pg-extension.htmlcatalog-pg-foreign-data-wrapper.htmlcatalog-pg-foreign-server.htmlcatalog-pg-foreign-table.htmlcatalog-pg-index.htmlcatalog-pg-inherits.htmlcatalog-pg-init-privs.htmlcatalog-pg-language.htmlcatalog-pg-largeobject-metadata.htmlcatalog-pg-largeobject.htmlcatalog-pg-namespace.htmlcatalog-pg-opclass.htmlcatalog-pg-operator.htmlcatalog-pg-opfamily.htmlcatalog-pg-parameter-acl.htmlcatalog-pg-partitioned-table.htmlcatalog-pg-policy.htmlcatalog-pg-proc.htmlcatalog-pg-publication-namespace.htmlcatalog-pg-publication-rel.htmlcatalog-pg-publication.htmlcatalog-pg-range.htmlcatalog-pg-replication-origin.htmlcatalog-pg-rewrite.htmlcatalog-pg-seclabel.htmlcatalog-pg-sequence.htmlcatalog-pg-shdepend.htmlcatalog-pg-shdescription.htmlcatalog-pg-shseclabel.htmlcatalog-pg-statistic-ext-data.htmlcatalog-pg-statistic-ext.htmlcatalog-pg-statistic.htmlcatalog-pg-subscription-rel.htmlcatalog-pg-subscription.htmlcatalog-pg-tablespace.htmlcatalog-pg-transform.htmlcatalog-pg-trigger.htmlcatalog-pg-ts-config-map.htmlcatalog-pg-ts-config.htmlcatalog-pg-ts-dict.htmlcatalog-pg-ts-parser.htmlcatalog-pg-ts-template.htmlcatalog-pg-type.htmlcatalog-pg-user-mapping.htmlcatalogs-overview.htmlcatalogs.htmlcharset.htmlchecksums.htmlcitext.htmlclient-authentication-problems.htmlclient-authentication.htmlclient-interfaces.htmlcollation.htmlcolor-when.htmlcolor-which.htmlcolor.htmlconfig-setting.htmlconnect-estab.htmlcontinuous-archiving.htmlcontrib-dblink-build-sql-delete.htmlcontrib-dblink-build-sql-insert.htmlcontrib-dblink-build-sql-update.htmlcontrib-dblink-cancel-query.htmlcontrib-dblink-close.htmlcontrib-dblink-connect-u.htmlcontrib-dblink-connect.htmlcontrib-dblink-disconnect.htmlcontrib-dblink-error-message.htmlcontrib-dblink-exec.htmlcontrib-dblink-fetch.htmlcontrib-dblink-function.htmlcontrib-dblink-get-connections.htmlcontrib-dblink-get-notify.htmlcontrib-dblink-get-pkey.htmlcontrib-dblink-get-result.htmlcontrib-dblink-is-busy.htmlcontrib-dblink-open.htmlcontrib-dblink-send-query.htmlcontrib-prog-client.htmlcontrib-prog-server.htmlcontrib-prog.htmlcontrib-spi.htmlcontrib.htmlcreating-cluster.htmlcube.htmlcustom-rmgr.htmlcustom-scan-execution.htmlcustom-scan-path.htmlcustom-scan-plan.htmlcustom-scan.htmldatabase-roles.htmldatatype-binary.htmldatatype-bit.htmldatatype-boolean.htmldatatype-character.htmldatatype-datetime.htmldatatype-enum.htmldatatype-geometric.htmldatatype-json.htmldatatype-money.htmldatatype-net-types.htmldatatype-numeric.htmldatatype-oid.htmldatatype-pg-lsn.htmldatatype-pseudo.htmldatatype-textsearch.htmldatatype-uuid.htmldatatype-xml.htmldatatype.htmldatetime-appendix.htmldatetime-config-files.htmldatetime-input-rules.htmldatetime-invalid-input.htmldatetime-julian-dates.htmldatetime-keywords.htmldatetime-posix-timezone-specs.htmldatetime-units-history.htmldblink.htmlddl-alter.htmlddl-basics.htmlddl-constraints.htmlddl-default.htmlddl-depend.htmlddl-foreign-data.htmlddl-generated-columns.htmlddl-identity-columns.htmlddl-inherit.htmlddl-others.htmlddl-partitioning.htmlddl-priv.htmlddl-rowsecurity.htmlddl-schemas.htmlddl-system-columns.htmlddl.htmldefault-roles.htmldict-int.htmldict-xsyn.htmldifferent-replication-solutions.htmldiskusage.htmldml-delete.htmldml-insert.htmldml-returning.htmldml-update.htmldml.htmldocguide-authoring.htmldocguide-build-meson.htmldocguide-build.htmldocguide-docbook.htmldocguide-style.htmldocguide-toolsets.htmldocguide.htmldomains.htmldynamic-trace.htmlearthdistance.htmlecpg-commands.htmlecpg-concept.htmlecpg-connect.htmlecpg-cpp.htmlecpg-descriptors.htmlecpg-develop.htmlecpg-dynamic.htmlecpg-errors.htmlecpg-informix-compat.htmlecpg-library.htmlecpg-lo.htmlecpg-oracle-compat.htmlecpg-pgtypes.htmlecpg-preproc.htmlecpg-process.htmlecpg-sql-allocate-descriptor.htmlecpg-sql-commands.htmlecpg-sql-connect.htmlecpg-sql-deallocate-descriptor.htmlecpg-sql-declare-statement.htmlecpg-sql-declare.htmlecpg-sql-describe.htmlecpg-sql-disconnect.htmlecpg-sql-execute-immediate.htmlecpg-sql-get-descriptor.htmlecpg-sql-open.htmlecpg-sql-prepare.htmlecpg-sql-set-autocommit.htmlecpg-sql-set-connection.htmlecpg-sql-set-descriptor.htmlecpg-sql-type.htmlecpg-sql-var.htmlecpg-sql-whenever.htmlecpg-variables.htmlecpg.htmlencryption-options.htmlerrcodes-appendix.htmlerror-message-reporting.htmlerror-style-guide.htmlevent-log-registration.htmlevent-trigger-database-login-example.htmlevent-trigger-definition.htmlevent-trigger-example.htmlevent-trigger-interface.htmlevent-trigger-matrix.htmlevent-trigger-table-rewrite-example.htmlevent-triggers.htmlexecutor.htmlexplicit-joins.htmlexplicit-locking.htmlextend-extensions.htmlextend-how.htmlextend-pgxs.htmlextend-type-system.htmlextend.htmlexternal-admin-tools.htmlexternal-extensions.htmlexternal-interfaces.htmlexternal-pl.htmlexternal-projects.htmlfdw-callbacks.htmlfdw-functions.htmlfdw-helpers.htmlfdw-planning.htmlfdw-row-locking.htmlfdwhandler.htmlfeatures-sql-standard.htmlfeatures.htmlfile-fdw.htmlfunctions-admin.htmlfunctions-aggregate.htmlfunctions-array.htmlfunctions-binarystring.htmlfunctions-bitstring.htmlfunctions-comparison.htmlfunctions-comparisons.htmlfunctions-conditional.htmlfunctions-datetime.htmlfunctions-enum.htmlfunctions-event-triggers.htmlfunctions-formatting.htmlfunctions-geometry.htmlfunctions-info.htmlfunctions-json.htmlfunctions-logical.htmlfunctions-matching.htmlfunctions-math.htmlfunctions-merge-support.htmlfunctions-net.htmlfunctions-range.htmlfunctions-sequence.htmlfunctions-srf.htmlfunctions-statistics.htmlfunctions-string.htmlfunctions-subquery.htmlfunctions-textsearch.htmlfunctions-trigger.htmlfunctions-uuid.htmlfunctions-window.htmlfunctions-xml.htmlfunctions.htmlfuzzystrmatch.htmlgeneric-wal.htmlgenetic-algorithm.svggeqo-biblio.htmlgeqo-intro.htmlgeqo-intro2.htmlgeqo-pg-intro.htmlgeqo.htmlgin.htmlgin.svggist.htmlgit.htmlglossary.htmlgssapi-auth.htmlgssapi-enc.htmlhash-index.htmlhigh-availability.htmlhistory.htmlhot-standby.htmlhow-parallel-query-works.htmlhstore.htmlindex-api.htmlindex-cost-estimation.htmlindex-functions.htmlindex-locking.htmlindex-scanning.htmlindex-unique-checks.htmlindex.htmlindexam.htmlindexes-bitmap-scans.htmlindexes-collations.htmlindexes-examine.htmlindexes-expressional.htmlindexes-index-only-scans.htmlindexes-intro.htmlindexes-multicolumn.htmlindexes-opclass.htmlindexes-ordering.htmlindexes-partial.htmlindexes-types.htmlindexes-unique.htmlindexes.htmlindextypes.htmlinformation-schema.htmlinfoschema-administrable-role-authorizations.htmlinfoschema-applicable-roles.htmlinfoschema-attributes.htmlinfoschema-character-sets.htmlinfoschema-check-constraint-routine-usage.htmlinfoschema-check-constraints.htmlinfoschema-collation-character-set-applicab.htmlinfoschema-collations.htmlinfoschema-column-column-usage.htmlinfoschema-column-domain-usage.htmlinfoschema-column-options.htmlinfoschema-column-privileges.htmlinfoschema-column-udt-usage.htmlinfoschema-columns.htmlinfoschema-constraint-column-usage.htmlinfoschema-constraint-table-usage.htmlinfoschema-data-type-privileges.htmlinfoschema-datatypes.htmlinfoschema-domain-constraints.htmlinfoschema-domain-udt-usage.htmlinfoschema-domains.htmlinfoschema-element-types.htmlinfoschema-enabled-roles.htmlinfoschema-foreign-data-wrapper-options.htmlinfoschema-foreign-data-wrappers.htmlinfoschema-foreign-server-options.htmlinfoschema-foreign-servers.htmlinfoschema-foreign-table-options.htmlinfoschema-foreign-tables.htmlinfoschema-information-schema-catalog-name.htmlinfoschema-key-column-usage.htmlinfoschema-parameters.htmlinfoschema-referential-constraints.htmlinfoschema-role-column-grants.htmlinfoschema-role-routine-grants.htmlinfoschema-role-table-grants.htmlinfoschema-role-udt-grants.htmlinfoschema-role-usage-grants.htmlinfoschema-routine-column-usage.htmlinfoschema-routine-privileges.htmlinfoschema-routine-routine-usage.htmlinfoschema-routine-sequence-usage.htmlinfoschema-routine-table-usage.htmlinfoschema-routines.htmlinfoschema-schema.htmlinfoschema-schemata.htmlinfoschema-sequences.htmlinfoschema-sql-features.htmlinfoschema-sql-implementation-info.htmlinfoschema-sql-parts.htmlinfoschema-sql-sizing.htmlinfoschema-table-constraints.htmlinfoschema-table-privileges.htmlinfoschema-tables.htmlinfoschema-transforms.htmlinfoschema-triggered-update-columns.htmlinfoschema-triggers.htmlinfoschema-udt-privileges.htmlinfoschema-usage-privileges.htmlinfoschema-user-defined-types.htmlinfoschema-user-mapping-options.htmlinfoschema-user-mappings.htmlinfoschema-view-column-usage.htmlinfoschema-view-routine-usage.htmlinfoschema-view-table-usage.htmlinfoschema-views.htmlinstall-binaries.htmlinstall-getsource.htmlinstall-make.htmlinstall-meson.htmlinstall-post.htmlinstall-requirements.htmlinstallation-platform-notes.htmlinstallation.htmlintagg.htmlintarray.htmlinternals.htmlintro-whatis.htmlisn.htmljit-configuration.htmljit-decision.htmljit-extensibility.htmljit-reason.htmljit.htmlkernel-resources.htmllargeobjects.htmllegalnotice.htmllibpq-async.htmllibpq-build.htmllibpq-cancel.htmllibpq-connect.htmllibpq-control.htmllibpq-copy.htmllibpq-envars.htmllibpq-events.htmllibpq-example.htmllibpq-exec.htmllibpq-fastpath.htmllibpq-ldap.htmllibpq-misc.htmllibpq-notice-processing.htmllibpq-notify.htmllibpq-pgpass.htmllibpq-pgservice.htmllibpq-pipeline-mode.htmllibpq-single-row-mode.htmllibpq-ssl.htmllibpq-status.htmllibpq-threading.htmllibpq.htmllimits.htmllo-examplesect.htmllo-funcs.htmllo-implementation.htmllo-interfaces.htmllo-intro.htmllo.htmllocale.htmllocking-indexes.htmllogfile-maintenance.htmllogical-replication-architecture.htmllogical-replication-col-lists.htmllogical-replication-config.htmllogical-replication-conflicts.htmllogical-replication-failover.htmllogical-replication-monitoring.htmllogical-replication-publication.htmllogical-replication-quick-setup.htmllogical-replication-restrictions.htmllogical-replication-row-filter.htmllogical-replication-security.htmllogical-replication-subscription.htmllogical-replication.htmllogicaldecoding-catalogs.htmllogicaldecoding-example.htmllogicaldecoding-explanation.htmllogicaldecoding-output-plugin.htmllogicaldecoding-sql.htmllogicaldecoding-streaming.htmllogicaldecoding-synchronous.htmllogicaldecoding-two-phase-commits.htmllogicaldecoding-walsender.htmllogicaldecoding-writer.htmllogicaldecoding.htmlltree.htmlmaintenance.htmlmanage-ag-config.htmlmanage-ag-createdb.htmlmanage-ag-dropdb.htmlmanage-ag-overview.htmlmanage-ag-tablespaces.htmlmanage-ag-templatedbs.htmlmanaging-databases.htmlmonitoring-locks.htmlmonitoring-ps.htmlmonitoring-stats.htmlmonitoring.htmlmultibyte.htmlmultivariate-statistics-examples.htmlmvcc-caveats.htmlmvcc-intro.htmlmvcc-serialization-failure-handling.htmlmvcc.htmlnls-programmer.htmlnls-translator.htmlnls.htmlnon-durability.htmlnotation.htmloid2name.htmloverview.htmlpageinspect.htmlpagelayout.svgparallel-plans.htmlparallel-query.htmlparallel-safety.htmlparser-stage.htmlpasswordcheck.htmlperformance-tips.htmlperm-functions.htmlpgarchivecleanup.htmlpgbench.htmlpgbuffercache.htmlpgcrypto.htmlpgfreespacemap.htmlpgprewarm.htmlpgrowlocks.htmlpgstatstatements.htmlpgstattuple.htmlpgsurgery.htmlpgtestfsync.htmlpgtesttiming.htmlpgtrgm.htmlpgupgrade.htmlpgvisibility.htmlpgwaldump.htmlpgwalinspect.htmlpgxlogdump.htmlplanner-optimizer.htmlplanner-stats-details.htmlplanner-stats-security.htmlplanner-stats.htmlplhandler.htmlplperl-builtins.htmlplperl-data.htmlplperl-event-triggers.htmlplperl-funcs.htmlplperl-global.htmlplperl-triggers.htmlplperl-trusted.htmlplperl-under-the-hood.htmlplperl.htmlplpgsql-control-structures.htmlplpgsql-cursors.htmlplpgsql-declarations.htmlplpgsql-development-tips.htmlplpgsql-errors-and-messages.htmlplpgsql-expressions.htmlplpgsql-implementation.htmlplpgsql-overview.htmlplpgsql-porting.htmlplpgsql-statements.htmlplpgsql-structure.htmlplpgsql-transactions.htmlplpgsql-trigger.htmlplpgsql.htmlplpython-data.htmlplpython-database.htmlplpython-do.htmlplpython-envar.htmlplpython-funcs.htmlplpython-python23.htmlplpython-sharing.htmlplpython-subtransaction.htmlplpython-transactions.htmlplpython-trigger.htmlplpython-util.htmlplpython.htmlpltcl-config.htmlpltcl-data.htmlpltcl-dbaccess.htmlpltcl-error-handling.htmlpltcl-event-trigger.htmlpltcl-functions.htmlpltcl-global.htmlpltcl-overview.htmlpltcl-procnames.htmlpltcl-subtransactions.htmlpltcl-transactions.htmlpltcl-trigger.htmlpltcl.htmlpopulate.htmlpostgres-fdw.htmlpostgres-user.htmlpredefined-roles.htmlpreface.htmlpreventing-server-spoofing.htmlprogress-reporting.htmlprotocol-changes.htmlprotocol-error-fields.htmlprotocol-flow.htmlprotocol-logical-replication.htmlprotocol-logicalrep-message-formats.htmlprotocol-message-formats.htmlprotocol-message-types.htmlprotocol-overview.htmlprotocol-replication.htmlprotocol.htmlqueries-limit.htmlqueries-order.htmlqueries-overview.htmlqueries-select-lists.htmlqueries-table-expressions.htmlqueries-union.htmlqueries-values.htmlqueries-with.htmlqueries.htmlquery-path.htmlquerytree.htmlrangetypes.htmlrecovery-config.htmlreference-client.htmlreference-server.htmlreference.htmlregress-coverage.htmlregress-evaluation.htmlregress-run.htmlregress-tap.htmlregress-variant.htmlregress.htmlrelease-17-1.htmlrelease-17-2.htmlrelease-17.htmlrelease-prior.htmlrelease.htmlreplication-origins.htmlresources.htmlrole-attributes.htmlrole-membership.htmlrole-removal.htmlroutine-reindex.htmlroutine-vacuuming.htmlrow-estimation-examples.htmlrowtypes.htmlrule-system.htmlrules-materializedviews.htmlrules-privileges.htmlrules-status.htmlrules-triggers.htmlrules-update.htmlrules-views.htmlrules.htmlruntime-config-autovacuum.htmlruntime-config-client.htmlruntime-config-compatible.htmlruntime-config-connection.htmlruntime-config-custom.htmlruntime-config-developer.htmlruntime-config-error-handling.htmlruntime-config-file-locations.htmlruntime-config-locks.htmlruntime-config-logging.htmlruntime-config-preset.htmlruntime-config-query.htmlruntime-config-replication.htmlruntime-config-resource.htmlruntime-config-short.htmlruntime-config-statistics.htmlruntime-config-wal.htmlruntime-config.htmlruntime.htmlsasl-authentication.htmlseg.htmlsepgsql.htmlserver-programming.htmlserver-shutdown.htmlserver-start.htmlsource-conventions.htmlsource-format.htmlsource.htmlsourcerepo.htmlspgist.htmlspi-examples.htmlspi-interface-support.htmlspi-interface.htmlspi-memory.htmlspi-realloc.htmlspi-spi-commit.htmlspi-spi-connect.htmlspi-spi-copytuple.htmlspi-spi-cursor-close.htmlspi-spi-cursor-fetch.htmlspi-spi-cursor-find.htmlspi-spi-cursor-move.htmlspi-spi-cursor-open-with-args.htmlspi-spi-cursor-open-with-paramlist.htmlspi-spi-cursor-open.htmlspi-spi-cursor-parse-open.htmlspi-spi-exec.htmlspi-spi-execp.htmlspi-spi-execute-extended.htmlspi-spi-execute-plan-extended.htmlspi-spi-execute-plan-with-paramlist.htmlspi-spi-execute-plan.htmlspi-spi-execute-with-args.htmlspi-spi-execute.htmlspi-spi-finish.htmlspi-spi-fname.htmlspi-spi-fnumber.htmlspi-spi-freeplan.htmlspi-spi-freetuple.htmlspi-spi-freetupletable.htmlspi-spi-getargcount.htmlspi-spi-getargtypeid.htmlspi-spi-getbinval.htmlspi-spi-getnspname.htmlspi-spi-getrelname.htmlspi-spi-gettype.htmlspi-spi-gettypeid.htmlspi-spi-getvalue.htmlspi-spi-is-cursor-plan.htmlspi-spi-keepplan.htmlspi-spi-modifytuple.htmlspi-spi-palloc.htmlspi-spi-pfree.htmlspi-spi-prepare-cursor.htmlspi-spi-prepare-extended.htmlspi-spi-prepare-params.htmlspi-spi-prepare.htmlspi-spi-register-relation.htmlspi-spi-register-trigger-data.htmlspi-spi-result-code-string.htmlspi-spi-returntuple.htmlspi-spi-rollback.htmlspi-spi-saveplan.htmlspi-spi-scroll-cursor-fetch.htmlspi-spi-scroll-cursor-move.htmlspi-spi-start-transaction.htmlspi-spi-unregister-relation.htmlspi-transaction.htmlspi-visibility.htmlspi.htmlsql-abort.htmlsql-alteraggregate.htmlsql-altercollation.htmlsql-alterconversion.htmlsql-alterdatabase.htmlsql-alterdefaultprivileges.htmlsql-alterdomain.htmlsql-altereventtrigger.htmlsql-alterextension.htmlsql-alterforeigndatawrapper.htmlsql-alterforeigntable.htmlsql-alterfunction.htmlsql-altergroup.htmlsql-alterindex.htmlsql-alterlanguage.htmlsql-alterlargeobject.htmlsql-altermaterializedview.htmlsql-alteropclass.htmlsql-alteroperator.htmlsql-alteropfamily.htmlsql-alterpolicy.htmlsql-alterprocedure.htmlsql-alterpublication.htmlsql-alterrole.htmlsql-alterroutine.htmlsql-alterrule.htmlsql-alterschema.htmlsql-altersequence.htmlsql-alterserver.htmlsql-alterstatistics.htmlsql-altersubscription.htmlsql-altersystem.htmlsql-altertable.htmlsql-altertablespace.htmlsql-altertrigger.htmlsql-altertsconfig.htmlsql-altertsdictionary.htmlsql-altertsparser.htmlsql-altertstemplate.htmlsql-altertype.htmlsql-alteruser.htmlsql-alterusermapping.htmlsql-alterview.htmlsql-analyze.htmlsql-begin.htmlsql-call.htmlsql-checkpoint.htmlsql-close.htmlsql-cluster.htmlsql-commands.htmlsql-comment.htmlsql-commit-prepared.htmlsql-commit.htmlsql-copy.htmlsql-create-access-method.htmlsql-createaggregate.htmlsql-createcast.htmlsql-createcollation.htmlsql-createconversion.htmlsql-createdatabase.htmlsql-createdomain.htmlsql-createeventtrigger.htmlsql-createextension.htmlsql-createforeigndatawrapper.htmlsql-createforeigntable.htmlsql-createfunction.htmlsql-creategroup.htmlsql-createindex.htmlsql-createlanguage.htmlsql-creatematerializedview.htmlsql-createopclass.htmlsql-createoperator.htmlsql-createopfamily.htmlsql-createpolicy.htmlsql-createprocedure.htmlsql-createpublication.htmlsql-createrole.htmlsql-createrule.htmlsql-createschema.htmlsql-createsequence.htmlsql-createserver.htmlsql-createstatistics.htmlsql-createsubscription.htmlsql-createtable.htmlsql-createtableas.htmlsql-createtablespace.htmlsql-createtransform.htmlsql-createtrigger.htmlsql-createtsconfig.htmlsql-createtsdictionary.htmlsql-createtsparser.htmlsql-createtstemplate.htmlsql-createtype.htmlsql-createuser.htmlsql-createusermapping.htmlsql-createview.htmlsql-deallocate.htmlsql-declare.htmlsql-delete.htmlsql-discard.htmlsql-do.htmlsql-drop-access-method.htmlsql-drop-owned.htmlsql-dropaggregate.htmlsql-dropcast.htmlsql-dropcollation.htmlsql-dropconversion.htmlsql-dropdatabase.htmlsql-dropdomain.htmlsql-dropeventtrigger.htmlsql-dropextension.htmlsql-dropforeigndatawrapper.htmlsql-dropforeigntable.htmlsql-dropfunction.htmlsql-dropgroup.htmlsql-dropindex.htmlsql-droplanguage.htmlsql-dropmaterializedview.htmlsql-dropopclass.htmlsql-dropoperator.htmlsql-dropopfamily.htmlsql-droppolicy.htmlsql-dropprocedure.htmlsql-droppublication.htmlsql-droprole.htmlsql-droproutine.htmlsql-droprule.htmlsql-dropschema.htmlsql-dropsequence.htmlsql-dropserver.htmlsql-dropstatistics.htmlsql-dropsubscription.htmlsql-droptable.htmlsql-droptablespace.htmlsql-droptransform.htmlsql-droptrigger.htmlsql-droptsconfig.htmlsql-droptsdictionary.htmlsql-droptsparser.htmlsql-droptstemplate.htmlsql-droptype.htmlsql-dropuser.htmlsql-dropusermapping.htmlsql-dropview.htmlsql-end.htmlsql-execute.htmlsql-explain.htmlsql-expressions.htmlsql-fetch.htmlsql-grant.htmlsql-importforeignschema.htmlsql-insert.htmlsql-keywords-appendix.htmlsql-listen.htmlsql-load.htmlsql-lock.htmlsql-merge.htmlsql-move.htmlsql-notify.htmlsql-prepare-transaction.htmlsql-prepare.htmlsql-reassign-owned.htmlsql-refreshmaterializedview.htmlsql-reindex.htmlsql-release-savepoint.htmlsql-reset.htmlsql-revoke.htmlsql-rollback-prepared.htmlsql-rollback-to.htmlsql-rollback.htmlsql-savepoint.htmlsql-security-label.htmlsql-select.htmlsql-selectinto.htmlsql-set-constraints.htmlsql-set-role.htmlsql-set-session-authorization.htmlsql-set-transaction.htmlsql-set.htmlsql-show.htmlsql-start-transaction.htmlsql-syntax-calling-funcs.htmlsql-syntax-lexical.htmlsql-syntax.htmlsql-truncate.htmlsql-unlisten.htmlsql-update.htmlsql-vacuum.htmlsql-values.htmlsql.htmlssh-tunnels.htmlssl-tcp.htmlsslinfo.htmlsspi-auth.htmlstorage-file-layout.htmlstorage-fsm.htmlstorage-hot.htmlstorage-init.htmlstorage-page-layout.htmlstorage-toast.htmlstorage-vm.htmlstorage.htmlstylesheet.csssubxacts.htmlsupported-platforms.htmlsystem-catalog-declarations.htmlsystem-catalog-initial-data.htmltableam.htmltablefunc.htmltablesample-method.htmltablesample-support-functions.htmltcn.htmltest-decoding.htmltextsearch-configuration.htmltextsearch-controls.htmltextsearch-debugging.htmltextsearch-dictionaries.htmltextsearch-features.htmltextsearch-indexes.htmltextsearch-intro.htmltextsearch-limitations.htmltextsearch-parsers.htmltextsearch-psql.htmltextsearch-tables.htmltextsearch.htmltransaction-id.htmltransaction-iso.htmltransactions.htmltrigger-datachanges.htmltrigger-definition.htmltrigger-example.htmltrigger-interface.htmltriggers.htmltsm-system-rows.htmltsm-system-time.htmltutorial-accessdb.htmltutorial-advanced-intro.htmltutorial-advanced.htmltutorial-agg.htmltutorial-arch.htmltutorial-concepts.htmltutorial-conclusion.htmltutorial-createdb.htmltutorial-delete.htmltutorial-fk.htmltutorial-inheritance.htmltutorial-install.htmltutorial-join.htmltutorial-populate.htmltutorial-select.htmltutorial-sql-intro.htmltutorial-sql.htmltutorial-start.htmltutorial-table.htmltutorial-transactions.htmltutorial-update.htmltutorial-views.htmltutorial-window.htmltutorial.htmltwo-phase.htmltypeconv-func.htmltypeconv-oper.htmltypeconv-overview.htmltypeconv-query.htmltypeconv-select.htmltypeconv-union-case.htmltypeconv.htmlunaccent.htmlunsupported-features-sql-standard.htmlupgrading.htmluser-manag.htmlusing-explain.htmluuid-ossp.htmlvacuumlo.htmlview-pg-available-extension-versions.htmlview-pg-available-extensions.htmlview-pg-backend-memory-contexts.htmlview-pg-config.htmlview-pg-cursors.htmlview-pg-file-settings.htmlview-pg-group.htmlview-pg-hba-file-rules.htmlview-pg-ident-file-mappings.htmlview-pg-indexes.htmlview-pg-locks.htmlview-pg-matviews.htmlview-pg-policies.htmlview-pg-prepared-statements.htmlview-pg-prepared-xacts.htmlview-pg-publication-tables.htmlview-pg-replication-origin-status.htmlview-pg-replication-slots.htmlview-pg-roles.htmlview-pg-rules.htmlview-pg-seclabels.htmlview-pg-sequences.htmlview-pg-settings.htmlview-pg-shadow.htmlview-pg-shmem-allocations.htmlview-pg-stats-ext-exprs.htmlview-pg-stats-ext.htmlview-pg-stats.htmlview-pg-tables.htmlview-pg-timezone-abbrevs.htmlview-pg-timezone-names.htmlview-pg-user-mappings.htmlview-pg-user.htmlview-pg-views.htmlview-pg-wait-events.htmlviews-overview.htmlviews.htmlwal-async-commit.htmlwal-configuration.htmlwal-for-extensions.htmlwal-internals.htmlwal-intro.htmlwal-reliability.htmlwal.htmlwarm-standby-failover.htmlwarm-standby.htmlwhen-can-parallel-query-be-used.htmlxact-locking.htmlxaggr.htmlxfunc-c.htmlxfunc-internal.htmlxfunc-optimization.htmlxfunc-overload.htmlxfunc-pl.htmlxfunc-sql.htmlxfunc-volatility.htmlxfunc.htmlxindex.htmlxml-limits-conformance.htmlxml2.htmlxoper-optimization.htmlxoper.htmlxplang-install.htmlxplang.htmlxproc.htmlxtypes.htmlSPI_commit.3pg17.gzSPI_commit_and_chain.3pg17.gzSPI_connect.3pg17.gzSPI_connect_ext.3pg17.gzSPI_copytuple.3pg17.gzSPI_cursor_close.3pg17.gzSPI_cursor_fetch.3pg17.gzSPI_cursor_find.3pg17.gzSPI_cursor_move.3pg17.gzSPI_cursor_open.3pg17.gzSPI_cursor_open_with_args.3pg17.gzSPI_cursor_open_with_paramlist.3pg17.gzSPI_cursor_parse_open.3pg17.gzSPI_exec.3pg17.gzSPI_execp.3pg17.gzSPI_execute.3pg17.gzSPI_execute_extended.3pg17.gzSPI_execute_plan.3pg17.gzSPI_execute_plan_extended.3pg17.gzSPI_execute_plan_with_paramlist.3pg17.gzSPI_execute_with_args.3pg17.gzSPI_finish.3pg17.gzSPI_fname.3pg17.gzSPI_fnumber.3pg17.gzSPI_freeplan.3pg17.gzSPI_freetuple.3pg17.gzSPI_freetuptable.3pg17.gzSPI_getargcount.3pg17.gzSPI_getargtypeid.3pg17.gzSPI_getbinval.3pg17.gzSPI_getnspname.3pg17.gzSPI_getrelname.3pg17.gzSPI_gettype.3pg17.gzSPI_gettypeid.3pg17.gzSPI_getvalue.3pg17.gzSPI_is_cursor_plan.3pg17.gzSPI_keepplan.3pg17.gzSPI_modifytuple.3pg17.gzSPI_palloc.3pg17.gzSPI_pfree.3pg17.gzSPI_prepare.3pg17.gzSPI_prepare_cursor.3pg17.gzSPI_prepare_extended.3pg17.gzSPI_prepare_params.3pg17.gzSPI_register_relation.3pg17.gzSPI_register_trigger_data.3pg17.gzSPI_repalloc.3pg17.gzSPI_result_code_string.3pg17.gzSPI_returntuple.3pg17.gzSPI_rollback.3pg17.gzSPI_rollback_and_chain.3pg17.gzSPI_saveplan.3pg17.gzSPI_scroll_cursor_fetch.3pg17.gzSPI_scroll_cursor_move.3pg17.gzSPI_start_transaction.3pg17.gzSPI_unregister_relation.3pg17.gzdblink.3pg17.gzdblink_build_sql_delete.3pg17.gzdblink_build_sql_insert.3pg17.gzdblink_build_sql_update.3pg17.gzdblink_cancel_query.3pg17.gzdblink_close.3pg17.gzdblink_connect.3pg17.gzdblink_connect_u.3pg17.gzdblink_disconnect.3pg17.gzdblink_error_message.3pg17.gzdblink_exec.3pg17.gzdblink_fetch.3pg17.gzdblink_get_connections.3pg17.gzdblink_get_notify.3pg17.gzdblink_get_pkey.3pg17.gzdblink_get_result.3pg17.gzdblink_is_busy.3pg17.gzdblink_open.3pg17.gzdblink_send_query.3pg17.gz/usr/share/doc/packages//usr/share/doc/packages/postgresql17//usr/share/doc/packages/postgresql17/html//usr/share/man/man3/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:36478/SUSE_SLE-15-SP6_Update/cb4f272246b2b292d9753e078efbd56d-postgresql17.SUSE_SLE-15-SP6_Updatedrpmxz5x86_64-suse-linuxdirectoryXML 1.0 document, UTF-8 Unicode text, with very long linesSVG Scalable Vector Graphics imageASCII texttroff or preprocessor input, ASCII text, with very long lines (gzip compressed data, max compression, from Unix)troff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)AXg4wAutf-8f2aec4f9da01db666942727a62d24ece171e685ce587af4547faa2ad94edaf0c?P7zXZ !t/']"k%4E0#J:fW3sOo%y8oR=1.RD&VHӈW˖֝HʹW pJ :1Ĩ'uAN\#vR~|(MR ` uVc#lx:HUwnC7dzQunOM ?@Vdp8F޿`@@֣ ף l#-׽F' FC;,c߮,hRe_i!Y`*(C5 `J)L".Rw{KYuZt&qwA k%u Xt&w[sw L=w#i?L*XC%7j>2:VCpkG`+I {uC\L8LkwV,r ~lp?]W"2iw5m^I4>l3b+ssu}?dzͱP6jEC. Kҷ Nm6> qH-G# ?b[wu mps ]Éo䁻LluAD]qe^=&%.f]Ev}.lL~fo7Iv=O-v1A7XsC=s^5t=qMQ F7&_ OiFN[ Ur⍊3`M]ӜrX೨&87c,M~x;JtELͭJ!>8!0\V@:xaZ54FGI^d[ܣrR::&=tԗ d~ȋ9$EM٦߳f?pRp^MKTPɫC藀l*ܻ']ʿնJi%]W" kӐ2 dSb E9W5bFZ_5i_z0Sjoz0 EY ЩEon)6fJC7c(XNH?[|Z5OS;X enP˺®hj 7BVxS<"n 6o8ZLyƵ=95Q9p Z=T H#=jס.gE ľ&oq?2YRwZK  2'%QVO+z_+4WXT(@;RA3Wh55F@ =D^p-7PEoas}9v2}2UX"еO;ט YWr[> $kQ=⓹<1~eݎD#K4i9>ힳn?ܓ#7$H- 99$@>m6uPO-ƽk:#f: n~'/{*k6nn=U}X"ԑ.lMM&<֙"_Y]`0TecgEfx~mE +k;*Cʃ^Դ꼴jb'[x"Y5p:Q̤> 3}N ČįF%{:j`6lcOd<h͢vZ{:n)C\0cQ#CN8a `جfAcJI=mKW`W ﴐ"zq-כ^Ǣ0Trj* +gLwvO6h?Vj2*gosK:d\Za'p]p~kg [uO l΄ЛhbM:&gclKj-FO2CdvLEr)-xs ])RmqZO~1)yLʵ354m3-[řk F* $hAY PD&`X}>%G(V Fc1SSZަsmK<Gt>ÐJ83mƊl? tfj{^?q`i.-l䗻C 3IMFZ1v5 M&Q̙Sdow5W<]1G3ͨ=ߠZ%zهg *v==U9;Z?&֌13Xf~:^q.cՊdvA&O ȕg8*`9DaNX͞<=SCC|*s5oH|-KXi{}JSVR>FZ\I>}xk7̵UiBTh;}jx5u!w!oZZ(i_#RsMdl͆zgZ'Jd(BEM܊4ԃu>ڒN$ ϿTg*?[O.C{::,/F%ZH"eao,N?L;ͼvJ&[ܘQ' Jcқz7u,?[kATsifU&V!9|;P#{g+~&n*ӄ]2k;9ZXj;Dό:Q(=M[kk3́<8QPgTgmnj7ȀWvM $6"~UPpw CǼmzѯ"s>v3IJǯU]F,`8JGMB+H{\d`؀0B꡵,L%P,`*"<)&պlBTc>mP!p &14i%.f0v=-4/o~?+M֞:#RAA&w ۠!,kOH-cbLrd8n0 Zc-N/>NoɃ[BYnF[Ԁya&1>R m5z : MqX@ڴ FpNseVmy i`R%9'QmdDc*>М@lAu| '؁F~tt)1B˔ª|=)}Zpp!BL⤤" Gp/~xĄrBZe_߲zw,Uzf)jEݍIs%`lD[i!IKnZ/cn􌂯UYE(x3m/Tv6ZR5A` #!ڿ5U`9B82j0[s +* Ei$,GcĿ=Xa*NYڳͮ"dTpfr/է|=Z3sU%r3x+b̋p`5 Us.K'e) ɡbB4mi|ު'98uN9`-Y8BmܢPkص9Z jf@T#?h=&KJ9gX3K ;Fd'zg0")x;B:iJPsk-0Z1мSTQBtr dV ` 2 „N^&ɲ^|Rsݺf=݇(m\k~J1KwS+v9?(l ;K [n&ڨK|6qrFfة$AY,3_J 4tMIc jFͼ֞G(qt^+҅liF/,-3&)k%9wU."8r& J40u>w5c,Ҿ>#bȑ2a(Ie⽄#KX!bgz]֙ׄeEuGQg/wMH{foW+Y7_n#aܺ)IUPbha8*:l>%{IDX.hrbX5fIEd4;gDqMzIޑTSkOE}W]boW;s"PtX oSd_|;hcS" [{4ޅ&Rz*M|uvw&6EQ/}B!_7=/ P B,g=k^cMlb'Rv[&A ~+ˏȭ8]S-|)QCMdJ.ti(r7KI7j|Jv΂+0ըsBS _$͊l ת[N5$;M ]m#hwSf gR[iA&XaNdLּ KrNwpW*#C&E15Å!dL=  &;0a`qEkmJj7+<pCQ(!WTgd3LƳ2LKMV1~.iqw4s 8{hC97eœ`f.. x[Ig:$U6,=9D;^;w fJ"2V<)f6/թϞ"j vG_^@c@qʹ?uxb[h