pgadmin4-doc-8.5-150600.3.6.1<>,gg-p9|4jw'ö)6%d&]2}-,q&iW {VüGX>;Q?Qd  ;! 7Jagp    " 1      w( 8 ;9 ;:;FGHIXY\] ^rbcndefluv$#zQsQQQQCpgadmin4-doc8.5150600.3.6.1Documentation for pgAdmin4pgAdmin 4 is a rewrite of the pgAdmin3 management tool for the PostgreSQL database. This package contains the documentation for pgadmin4.g-h04-ch1buSUSE Linux Enterprise 15SUSE LLC PostgreSQLhttps://www.suse.com/Documentation/HTMLhttp://www.pgadmin.orglinuxnoarch0!- H FcQ$ J{  3 !G( L!@='v O+G{ B>> z}   _-+Sy,7& x<h XEScu.g/ KwZM;o546˛nC|bGuMt(Y) oݳ}OxOLZV-)of'mT6YD_#gbzt><b1uIxQlH0~mx'.koH>Io 1]Wx"pJx\x~hV.@{pNQ"Y `\ee?Fy(Pw}gzh,gE4aQZ?ko{4-`+^Y7M[z|QCyfd5fcdwmb27R[LZD7* 5s<,39@=)U bLЃ{8875 JZaUyd\zmkjHO3ZQ8PL`=tQ'Kx#GP_g:Ta(2G O b^4 z$a FSyW,e -_$'~0 m I~R 3 = m-5 ~s &S 4! | v  ? & xlj   T " 2H A1 <= ]dM *}    L,:-EU h$sEoh4) {-'' ! ^ AA큤A큤AA큤A큤ggf f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f :f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f ;f ;f f ;f f f f f f f f f f f f f f f f f 439fd5d1283b5e0c9f152d14b7f9a7b56d2f98bf7cc5ac4adafd2275100eff91eacdbbacde7877ac765d55d00a5592b054975d9e45d788cf02760501d78219f1ef156476b05f65914445310b33263458b9a867d78326f7d350d54c7e957e2ed7e7664d62ad0a8b59be4682e21dbbb41878d9471975897396959f8d6fb55ba52831440d2b6ce61907167d1b93681ed61a46ee8dfedc744d0cde92e6d7e47a30ab0771a9df0ab62011da71cb858fc4a5680358036c658d9c6c64028f7e0f990e2d59b400522e2e1403ac20d293e19ad37aa4b7fa80af750b8e5f838d0aea6270d17f9f27e91678cdcc093b5d45d092f1303c555ded36c8c48fb7ac42e7894352dc93e6d0d794d0594ea75e792c70233ef5f3eb3b70740ae7ff3a5f81ff3ed622986455f99deabe94704580b26e6e748e2ce45f7f7b80b05af108983c7184417db3f8c5adaa2531da4318efb0c009996b6a6520d888b91140fc71a067dfee3b8890037dab1320db68529bb31b8737822f9c12f0fdb11d6798ee8b83250f7629e5ed7dd73ed8c065527a1658d77f0672e8a92ce3f0df2f505fde111ea74c0765cb1e9d197cc65a0958104cdd7e36250469eb3ef65aae31b37e6647641231449029746227984d0d51f17c7d2c690c74a3c5401bf5a8c22bf8fe23a1e9a35e223d0dc89b7a99664e9030a03ea261a34ee865452df8c5fbb0685b432bf29874ce3bd142a5272f4cf4c5826c6ee296fae16e81c3865859f94a103d6e77337e4f9bfdf7c23377f4b35e37fc58d6eac4a0a103975a56e816d150622721d442731edf07d59e77c82f866b8cdf9b266ab2a1f5f4b0475cff1524a232c034680c1aab46893da589e92282411a2bf0c5a65bf858ea1d95d5f31bafae8f0ba2a1181583129630d330e3b229a6d4d4648c0404f11d9be9ed559e37258970015d84e812060340e63367ba50aae40ce0dc61b722984d7a1ce54cede8902d117ef688c352af7f17a7759f93f5264a87c5a45b4bd02861634323518e7fc96a0fcba4bd78572985ffa3138bc37c5afd85227e58632a02d7be12d24090f6e9f7a0ff8fce8b8fe0aae8ae1bb93af7eb8befa373e07db61d0ce2dcabff6225a51f6a1796a25788532f2fa9f93b8f8f00ba509cda8b497c2ed1749aefccfef0f6b88f231a015efd92233a433f57be6ef8ae9fba23dc9386618f28c076b0b867b4cb13bb618d46e5f615d7489dbf269d4955dd920db8f7ec3c81f71a2ee6c85da817ba403950bde5d825ab11d58ef551b387ec8569a61c4f2c57fd442c0997fccb25e86d75e6ef5c70562e3c8377ac547dc1c88c6d5229c15dd27412216369f427c25767cace42bfc9f8d87b34eb6635c07b7c4a14334272e9b58ae65b3027e20432c3e726904c00b914df58451ed66c21811f2c69fffb11a20db3e2120677954c86ff32d26b66f993d8bace5d334cc07e13ddd6148850c63f490f9e9d705ba02953bb8338d9859cb7ca17863815c697e03ebebb65d79731477862c5726c0efd6b536def00ca4c019d0bbbc6c6ed91c648e5a116d769e4afac9de9396bdbb0f3aa4201b367efebb71340d19f475c7316726e8a92325cdf9beec37772a58bc8508fdbd58f5c3abc963ab692f91905a9fbe742ff5a86e9a8c9fe3ecbbbc04e0c36201a0ef1547837bf993e66e1a78dbf5dd7bc40d65ce5e8947d918612f1a5ab716249800a58a2fda34d2b18faabe23e3977bb965a409b839c2dfce4288b000ab5415bee75a57f5847c9f6c885f0770287131c9e17205b61cf34f10bf256c2b01c318d2fc4b17d8ef37f8cb2e3db51a596c5104ade65c120f55cd3af7cb71852d56b958cd05ce086e3fbb2c62d61a5e4dfc6c14851f2bdffbfc782f1ce9d168befc9a8d2002f2d11b87bca8ebd2a045bcbd5d911ef1568fdd917dbdea987fad5c7ad04dcf9c506c2c3ff32ac5cecbf35edb8cf2b31dea8a7fe86eaffc4b53291657ef3c315743b4e4a887cc80baab5a8bd9f73ebd7e6ebd89d8df73350436a6070af0092e741d63d21c3f5164b3fa54d2f257872852306faf4bc3d92272e14fe542cb61a455f941ff2ddae5fb54b8a36b97c793269f4ec0ae78cac21f349effecd1c02a0d5ec3cced696759eadeeef689750ae13cc0a639aff73a426d0b432c67e75b5d627b36b82d2cae183c36ae714b85e32a3dff39bc362d2cc634602b3fb05c65977797142bd999ab450c74722b8f6cb642d4a5c786edcb8bacd8bf29ce49daf8704af7b3f2d3cdb749b8225a5f435520e51cc7da910815e0218814e3ac6910c0e25c5efce7f2babdb7906b6d842e441c041c405feead1e7dc5d88a9019dca69c66bda09510020ba38b63f8d5feaa1e70f63440cbaca7a383d2359a784ac17e671d3e2976e94b49844cda252eb463f16bede02d3f161efc9902e3180d4756b490492a90c0f4ab5a05e4e2b905a8048c653007c248bceaf167c600df8c4bd28322ecfddaf6c3bdf31c4671c46b3773b1842a72fd1ec7f446f651a29460514cf2857c5ca40edb10982ae007a46dd3b981906aeab5a05fc39ac82b0bd3ba1ef8d657c70f9e7cf73a284a407c6e368066cf832317efed009bb4e3c925548e6672058d79503dcd906840b8f4f89309e07b9bda2166db98e3c33afda0d594e13da47bb0f14381f5160f8b0fe46467926cff19229d18f948d111b9f07c9d6f8265ea6ae377be200d41d7e869a766b3ae71527d61c2c7c123e41a978e6e2a5c3da1d36c27f934e4d8cc657f3b346600af8327aa093e82afec37bc91e82c718ef65960816e304ef58ab6fb8f24e82290d3b5bb4f7bff80349a7fa250e56c32d814289365a79dfb65f40d9440d1b1cc1e961df4edce09ef1192d5c1e78109563fff0a06992e702f2aa39532a9c1d107ea8fb91127a0bc23845a26de733eca40a501cd85368177af12e10a85aa6d3cab4ee1cf99f4ee202c83a473c72d956957b891412d449c8bf283c20e865d7860bc1d821b52e518d3181a190c130eb07dcf529077e9138949376b09fd4f5fc1f325ca5e690fcbc027727119fbc2fe854fed4b59d3dbff3c938cb5f345de72165e4efd30d3629f4582584648dade1c76cfe5d1ece10729e3d1578c8f738fdc6e0c34d4e141687b55d117e4d3847423965abb70a5116e5f301bfb603f8994e80131edb4ef8fcfce5b4e032cd7f860510ef1bfe471841d76a159ab935800744a027adc9254b9f446db13eac799774fb62a462dd755cdacf71fb2e935deb739d160f3ed3957171c886f5ecf2ee05799e2077a0dd42a6691c155c534814adf6e80a7f42857c7fd405e078f89cc883ffb033c9883c5e97faa9e400646343437ec75e7483813ef9e9700e3b31050d6fcc2c678d78f563bbd9f488b1aadf298b9c8c5f69c86d9d5356df8f2438bd97f864f59aa6682c716f5e26616063b693f551b03474d9333bae68f18d8498118844bb99321e64ab72c102ac368a8591fb496befc367ebfaf11f0fdbca7d3c3ff447184a4bac1532523abcff2ea0b3f306cb227ae7a4a4c0c09952e95b4b7ca078e7f6ea991c37dee6efbd4a8c757ca8410f1f73c9fc11343f785fadb44573002012a367219d1920b76143a1e177e3d04b0ee7c2d14add5d473323300ef764fe8ac3d14fb616601043e663f1bccd29a581c9ae71df22c847278a9e19dbe9f14d98c57596cc6e7a02c384c1ac7bc6a5182c945171f87767ea131f9a8bbc8ba5b80db340d4ba9f47861bd949e5c07f3761be2b455769427f837b725926ddbd5a65b64aa004a6c13c14611f7b673202c4a2f56b778ea42c09826aef6416c0ce03d6fcb880a5125da106b2dabc6493e914749aeac19adc53b4ab1eca3671e837addaee7c8e4b24cc311b268314d7bdef9f54e177037c6ba0d571978d916bca6e9c2d1195857c52e5c32d4c3ae674ccaf6bc21786cc7ff7b886b382a4bdca7785866df25a565ec87cf5e8e8968d1c54992d6937d9e448ded81888662c82381c0a9944050a73a32259f39042f8b62129cc448bdd407bc7423d2b7e9883147ce8a7834b027776367404524dab27fe44395dd06eccbc6297885e633c50bb9405cb888f728c6aff07f24f55992f54e121fc1cbdb5f7aae86385c14e47ceaff7e66de1e086b9f13470b60fc5c5fe9c6ee0b6b66603252506a82d72490f77d6f423d4ac585ae0ef331cff62bce85ef363342f2d7c06f14b484b697544d66e4dcc758b6a26a2ede1a8a6d30bbb3b1e79f26b953720b45f0c4b3a6d4a658996de3082c4d35afe86d9518dc338082c8548779bf8b49c59ef2c5c8848d4674cb72bed1d9805c9253c24135dae5fd3dabe13ed27cde9ad185ea53afc9758d1b2be329d0798abe3c8e66df501252014a85d938835a3e1cfb259a3fc9d64441b40d9da35592d6a194c344f97d49caf0b1e5c5eebfc6c8d7c2819680f902d5c2b73e288f24c0026e1c1a73b276371efafd6ff06e6bf12f128216e62e83f7b0ac07fa3971e676459c3e568ca8378e7d46d192aea48362b31c55a6ec71f60b1e86c58586c042166640fbb24a69bfc8305b68e5f0247e92bcb00c493856feabc13f7f4b7a39ca17bdcf6d6920948fed7178840511819ffd01f26b441533691f54b1fd4977789b01607e61d1f2999760302242ef69b66e57c8ce03299ef4843066d2516ed8042369987da2e1fbb00011efa18bdd42311f128a4e627c266abb7c7d465c2a64a4fba1386e547cac58244a31513a226a0f8d5f330b73bc40940307e7f217c7fd45ba3fe88503b138938ee6ddb234556d5ff40afffb613df7ad2d355d3c60b36cd9a8c0b9f7208463839c686aa1ec4230472114d15e974ee3816a5b21fef6df18e299333c1d958f3210fb68543a80a71cee2b37758654d39a068193e6e343f026d6d329d4bd6cdc7f62d208afd75d746901a217b77d247c66e09d1fd94f9d005320104fa47b459f9f59b23343acf7bce9f625876556e6338010221c0d36371b797715003f1d0e240836dcb7127cda72649694471092e666680ee0e9fcae7ea5d38f78fe76b3cf59a9e3e697ba6cbd5ae7f38dec2fa21456f9a2dfaaf009554cdb20e9e3bd3354f7517815d4687a5e09cbc4ecb7891506071bfd36d8bdb6154f2bfc460df7c3034b9243e6bd708580b9cba971438677f88a91147a899b701c93ce1c948711203a1802b5821a15548eb17a6af0cc169e403131041051722ef01cb3ec97f7875318810ef4ebd806b2d9046f832cfbedf07720b378d0e57d1f84495d7354ae2531092216ff43ff6d6bcec8fe375e246c61fbdacfee7c2d130e44589cfe0197758d55f19b6a8d7d2c37255a36830503e831ab27572610e21a35c3dcd3b9ce41f4b1edc84120b1c571de566bea98046e7d36e8b941250a545ccc91df42d36d20842026045ef1dff4681a553ec60e5edeb787caa481ecba9586cb3d8cbfc8fe35f23ba64f6de0bae6cdf5381928377286bcbe104e681c83446f0d8e23ef5ff0a7a80d44876e05aa5365543e5c271ba3ef0a95981ab18b4cc0fe93cc6a3c8309e6cb282daea97691839b0bd05ffdb58d343e47639314e795bb1d954e509f65edc6f5b0ba2c9f951defc05a9540f1f3cfb49007077118bf5c5433bcae89e7f25e4da4a9a756b6b2bb6b8465806f0a81e5c4282d9bac855a1989ecfb1111dc4e03ebfaed442916a45932aaed2000506ddc89cb0735670b0f62da35737a2081b2f2bc691da413d826cf94545056cda2158dfc737db0a4076f1d483760a6bcc5111996d6313068887cbc75045815d4f324c23ecf3b6bac78fdb822cebda974b75e8e7ffe0ac4ac34ff365d00fe8b1cbc8a013a1685702d9ca782d43978848c5b094eb1a4b85a4b79bdfc646dcc1cc32a38031df974e4760c87bc4fbce41cbe00fe5032c081ff584b330b83edc289a28f8b2c250b9d2bca4f5db7c50f15bd4e6cc2cc4d732dae6d1330e3702c4309ec25b250e42155b63b90cbf6d9714d4064e9945ef493fe40275db9fe7d124763818b3a8b3793b043707a6ac4ee88cf20ab6f55d59dbf33141baf5baf0e109f58fc98d1f689a3248bb8e7ea5bf2013595971d04d545c1ad8a4e91663ce9828772756581952b97f1a5af79fad733c0050c8b9882f51b8431acdc41474c9c778f299c2600046139b6e0309aa0ac63dd91214a3ae326c7dd52b5d67d19056223ec42ff0c7ffe57e1c682d8b679256118ec14ff7799897736969baf9d74f7cdba8b4ee8b7d0d191752817faee2aab58861363c675c7b89dae553d856c4e8b2cac2450b13085b6046216d0af7d75d7229a97d996c7868f671163dfa230d170e29889e734ad35609ba301d34265fe5e200e234e8c3177fecfb2b2e616bd66c3d2b4e24dc50bf8c6ec6364e353084a135212ca1760b806c466a21cfbea45639d76186090a3fdf3823912c62a53cec27b2a012aa8c2ed868a4c2d57dacf0de97ed65fa80c7938cdfcd079b64ac2e53b1f19d9b136e2bd69fe9dd76120e075e2f70257a203698a75bd81854aaf4fd1cc224ae32590e668f6385f6ba872f7aef0448866641c1e102e93e7d2541ae5dcb70c6b6e85323a00f3b1da95901ac21774ded0800fcc3a28c8be5cf6194b75a175d5ef66c569fb6dad28aba7e979090e88da298ce92a8874fe2e2e773627ecff0688aa6fdcf714c5ba8b67da79c6f93d4164dfc80351aec60b00215aea8e64ee19e84aae6af32cbcef8f6148e1bb02705f36d36e2ad732afe72852d1ed948a665445be60b19bd7cdf176a53deecce4aad477827c973e061289b419076682e7b4687131afdb608f33e321129deb9d797686b0cdfd601ac33b72deed4d2debe75a36123dc74fd1c174bf874564d85f2345dc5dc943682db9120fedbb623163b73e0a8607809502c0d6542c79d9ab501852d543ebde7b1b8700584a60051fab93a477c5ed55a06f532fcab335553297caba996158721a879b490421ecf06078c87773508cf9f3a43a82b97374d05d794450e247f14ba90be0e9375691e649ed0d8610ba80ecfb46a73c30a6609c39c9da73d063b5707dba3be45c73efd549a9c399b906d6bda4c43e14ea58c8f4107ad5f1e418ecb143d2a92f4ee3bb3645abeedd0497611cc255b03dff195822174a7e5c2c7e3d88af6e88380e9122fb3bca589db2d9f98115502842aa749f168e1e8ae2ba1aabf065bce89d8196cf3163a3125ba34b77af6bc3ab2cdb8d2ce7ec2d483fea2e629c01330f8c0a2512bc63eaee59fda433d75b8d6b95b744e4d90627b84fefb6bfa55c676470bc1ff27e7893912d176e6b90b0f560c560f871ed029f60cbce7f2ba08e8d9128313b5897808b93aa79c1892b0ccbf33ed3aa883af0f7fcef67d2d9b5401d6a2f8036d6932521dd2b360b95e71f9c5b15a9c1fb7a785d823afc198df090320b4b079674ce265fca1ba30a9b91075749e6709ef73955ee54c95867d6c4435fe2270014c2cf3114700ef05e7ca523c72995b744e4d90627b84fefb6bfa55c676470bc1ff27e7893912d176e6b90b0f560c8573d99df58e4a18bdaa3689245dab784dfe447019331f350240e470b68dc9df4627030e0bbdea02caa7831faf982bd08dc0167e7f75467fdf44539ead12a1dffca502dae8c487bbb2ec0f7f266e83981f78e1cd4275dfa3a16ff67dd243c9c78d996a9cec8238566f207a3f6bc39e50ad8e098c96eab8fbefac148ffc83bfe1ecc207ca3c06dc7b12a1861f6529db532cfa1f5f7b7b053f01b0d56c37624ac6d56e593a6cf692c68f53ebd49c836c6922318ad74c65197a2d17721f71a7980419c6fcb276d6293824d30240270f8e9f5087dbbb6a7d7486feb042afb56b84eea67054a4b6e0811afda49e3d958c1d4259f9c50fbb0a70aa1fb1e3fb5bbbc6388376ee7f1e5460204adeb590c61e67335b49ea649685b1c2677ab74f559926477a0eea176d158244c5ead83e94f3b0dd8b28d7343e158ee75e39879158abf910db85c7985b74b0f00738d8bd11f9c90c23ab506ce7395f40e3483de5de141376918e73a128e56922871b3f57123967cbed27eedc1463252a3a881eeadc7966a09593d075bcecf6651de1ea0bec9770d51fc77a1667867e35f6315d17f2f1a1dc047272585ba2b523640530a1d86c1f55c368f08206f788a34ac14eed6aa78323f9583d27559d5e2b2048ad10727a650780e12165ed1982976fd1141e60039041fa2c23fced9ebf91b9f10fde6c5c4a04411efeb79d4665489064d9fca47cb87bad6d57fa8450a1ba8ac80f9086de1add095d166cc7731f4c899022cd2f4a07d0afa62dc393cd66c89124f8177417440d7cfe0e51f81b35b183171a1e5d69a03e0b0ce2ebe3da8756ade93d57afe5a2bc021cd4409d4e389480a05ae8fc0a7beee55273dd5d4b974af242601dd3f3a3908236110d923abd3e51a6c8101b1e0e929667c3ecc070eeaea39b9459d0626b97c7517ecddf8edb5abdd17a858014990392baca40c66b08031447fad4eabb6e972e25c84ab0a3d9833e2f360da1f4fe45ce3636acb993d3d5a92943578ec268ec4182c98e5c36e4528332cc65b53657a2e24f6da6880cfbe50b4e0cc5998bcef9f835c3d132baba321eb263c80a2c32aaf8d78a9b72bc81148b460cf82ede0fef87600366ddf5087a6c204e7f8a0cdae7e42dc281b51a9c94c9c973f22877dfe5b1b8c82c881cb1c4033b41de9bc56ca56ba83ab584a86f8488275f77462126ec66ccc7e8ad24bb9b2f5f000542784e8821036841a881e63de5803904d2bd861c81f81e3691e0362658a027fb54ef67a40f02d30694cee305e2ba7543bb0457fd29f05cfa5edd6d80ea48b2f00ca42315d26289f8436eda8bcffd3355ab432108fefb32bbd92481705c6d077a199b8976c1c28691b367179a2548a57ebc389ee6235e98076998728b8ac3bfa0542ac88c13c902b2941cec7126eaf821529a643346e36a081fe3725b37ab1465da598d50c72981278776777a453ac0e97db4aa3bd9e10b71360603f302bdb87637067a16579e94d1c16b78ad379b4d48e3ebc08aa9df7dacbf0229b0a85ad45b86afcbec5b67a0b3b88b9c92c57c4ca0efee3335342aa6d8bbe70e6b2b60205547a2499320fa94621bd3b7a236d9798bb9abe10d8cd2f7605027afae6ad8a9c920d9f9baf3e43c18c0ebaea085bba415f49ffbcc901263d0a9b205ebfc167172e5a31e56b6ce3cfcac317c3ca2f07a955ecf51a9e8038aa07909500b879ab38e5f9f048facad5e1d01875e766d239e192d5fe274faf9b2c99d896445a84299a4a37b78940040e221394bbf6cb2bf0683cc6f3ac1f509d8f15268d95b2b0bb5eb630284cf011c2d073ee47eed15bba089c84705a5c55f37561df067bb2aa985b6e0dfa44355641530aba8ea138d843fa752d084da05400fd9ab47baed0bf606fcd107b5f90b0dbd6f811aed991e8ddbe745dcde2fcc59a5c8c5ee73b3e12ed450ee6c7f5e93c38264f8271d5116c8cccd6bc63bb021b107f4e6b35608d189e40b76e92e3ca870469912759d55bf0c1fc5e98c89fb0f2c88b7842759ba60df3a903db6769db8c927cd33a41ae1b78e8276101e61c719dbc494b910e534cc01cff76a81d4b84d420cafd68bececcf1b5fd95aba994fd28add5253582d00527fd97d678507fd5df9fa0ce9c9a577736c42c627d1bb80556866c00c459c61a1b4049e8843712eb2c54846f14409dddf8fd6bbf862ec6c9abee245827fc53e6d23907d83a615ccde39e9c0d8c4272ffb36df2a9306934bb3c0bc1205f808e5993dc5dbbdecece9c6d343c3fd8b7987cc3501e81225718f2920edab8fd2ae9836dde3134ebc4c00bfef7aa7bdf5886718e486af2651a59644a62452dbb2170ef00e15f710032cab4ada28ba49be9259e142658080bd41d3a00f9690499c432ad228ab42ac9dce2d525bbc822f46b20696b9be53241cfcf56c27ead26deb4e55654d28ce02c950a88b29838a6de22150c7e8572e14bdea70aa71b5bb874065627f25a2af9881286613fba4e76ad926b1adc8dcbdfe0e5a05a77dbe38e91ab7345bac9289de3b21ec18e2c5353a168a49083933b03a310a2382d2a083379f5220b971e65c4dcd6a9869d8fbd04bc68df0de0bbcf954730187e62c6716db3208a86894fddfb2464d0156808366c4dc6a53c74e95e022098ec71dab96ffa6df9aa202ce79ed6852ab9376a13465898f746e110a47eb7bf1a26069d764e51387fba8d05af3907e3a2647f42c155ade0080eae31b40fb511979a6e538f8a7b5566088ada682cba41327d67f2bbe9d6db15af494b2467af1d170183a218f72029d054541c1b906f13fe480e258f7dce48df0f8093c1e0a5fd10b2563834a91dfc560e7c800e59651080c46ae279b8eb77dc38eddeaf7a4ffe1474b5c759bd9f3146cc4136e05bf23cb4c2875639d9e036b3191142ab89938c96c9ae4ac217b6425972ef1c21c50a182eaa2719e7dba02d298b7e25d8b71aea412b5c8c25419465505a6cfdaae5b24114139199cf3456a235a4b2ae3642d277fccca58ac91b0402f903597cefd70b1a61a765cb1a76e2c7d97dc8eebf0c73d14a0fc31d144462c97b257c22ae385c72b63b5bec7ea6f90ff638cf9a7b899766dcf3775de2059d635ebd66605a75c1decfa0743b38b5436161372bfaf768b654b26d88127fda0ad675c002642d9ca6289506f6f5ce8279f88357ffa8c7890e6615ba002b991380bb0fe02a2296485dc4d644c48d46de78b129e255bd35163f9ca4769ae04c220810db68efe3b87fc27b7ff5c7984616069b1df1b8ddc31b01691f97fbe9bf2428020fb7af09868b14993298ff7f12f4f9971ca915db8aff86cc4b4cbd5ca6c006e27d2a971a5aa6bc9b783e8bfdacd1e51cbab059810c924a6d2ffbc372f5d43a04a46e61b28d3a14c53e4331671f7434b9a198f277ff41315da8c95a3d5ad0dfd77f0cadf9009439c30a1c507120927d747e08a22f492df436c4c15070fab9762f14dec6e115450a39b1ff995f113e6fed925b256eb30266e8db28f6a37197629277d22bd0847f5c6d838d4acadcb6ec6a8189f86638ecae480fe986aeca9fd7375572f52b932867cfdc9ff62525b162fe7642f9356883fb5e240f5019b046a2dd33f31d3d6a3e210a0efb465382e3013c6f0acfc01d985bd1192c8fd7d3850ae659244b4793e348ba132da93de3a35ec8937f78ba0f85aa66afe5701544d30e2072e02a4da41bc61c16d45c0ffa9c5f1f09dffde6f311ab7c39f4ecea65213ff8a68f5062154726a77b125575746d045dc4d632e8daf513edbe4fbc4174fd3af79c77d3409bb6c5a1d6bdf023c3d82acb5a319aa4ad5cc4f01dd4bd910c71301de5ca0c7d9fd0956441eca7b50bdc6f837bc286c85d37337bc37b82a96706fc6c2337e8f74c358230a33148e521faca25cc20f911c2ebfadac4abe1938955a3aa6ec5895d74265508a336d4748b9f7c58527f8b2090bbc3fcb3ea63b19d2e3c095251f41ca3a6399b07f045312be7e88464720c6ce6536d837faff159d5ec049934b5269af1dcfc3a2586212d84aa4f56d1c46b45f9b636a0521c8ffaeaf054192371c53b4e60bbb12ce3891612fb61bfd02d17b14f9b37d8467b18818822f196e9d7944ae5c26d99368fbd797ffb9d695f5c294e3688c0519c21774ee6759d1e9bc1e73a07389939b0eb648daa563c00984d51353a704e41acfe4d7f4c2e570bffefc2e4487c0250077d499248be8a223826c1878ddd4f53fea8fa633c33de937b72b2a85e453ead04cf5c1a7374e3ecd33d43ee64719546c505e2f2a13a240f83e5182b27d6c7e0b1db6edd7c29efed66bc06fc7cf868d03a811e6c7d0b291a7fac5f1eebedd3f261c90ce780443c3703be214c744a05eec6dd1c74f53c4b3913c1c2f6d0c14866e2903ebaa4cf9e7e0e28b51f3edb8514745098c641c3c131dcc06ffd6ef7c2f7dd9db3ae03c52ebe3bb080e6a15cf1f3bcb746df41bf652c4114032f92103a8e73ee579fbd9ddc7a5d2143d2e187f4fa5678544c1ed17b0859e7ad528a1f228f7d0a8f441863ef706dc09dfe4d4248dd401dc42265eb86a092b2011bc03a10e97170857031e9c5ca44daf4784316ea2938c806e2042629b34c064369867262b1c33177bbdf132055cc914a07d4fa0bb19fe71de168a7ac81209244cd35e538f70cc0d0725130df725dd538f4d6fd945a9c0ac49e2da8c4a723ab5aa9fe0badf218719d19e191237b77aaf9d705dbf6650de1b93eb93312a3db07b824b3c425e3d30e08a8269771d294c5d10528ae0c8726b9f7a027f3480db66c21a049347500779f5aca61c8101cb801ab7b7b5ed66e9bdd3c7b16020d03c08c715bc755a33a694edf0e5dd4b6a2600b73e85c6fe65975d6c57502fb24c1db59414dd88716514d1f50e6b21b0aba846ea36d24722fd37d1f6d2669cf7298b6c9c42dd4074c802d00cf81b2d552031fb2dda93433d4cde3eb90a9ea3de72e03faeed7c2d023ad42f31c36cf4cb786a8a0f84076ad29f52f9bfa5faa97ce4858e2b5b7f78fb7e3d7df61b7a66a2bab904f26e7203374ba5b94be7762010553ee70d24d4e5bff6d861f6bc3b1faa4dc761683a0739f80bfeab4151ff5bd542620134d1c9f5347ad6494e1223ee574e2d8099c682dcb6350f59d22187ad2e5057e5216d061c0865eeb1ac2da25dfcc46b95d81341faf25c51c4cd8e1f2c473e844490911ad358a5289fa90e37ec5ed67734bd887d32286e70487ce43cf3d92d3d4d038a8dda96aa3ea37cf8696d7db4ea9fad74808658e7102bff0d2c66ca7d1993e589cb54fcebf047edd33079a03a1d871a153faafefca7c34379eb189ec37532f31298f436656e79b0741c5f3838539dab978340154a7e4002740028e1026b73909341eac77dac7b1d4942ccfdf978eab2d5bcabba3f3bd81eaa232deaeb7510ff9f175e6fb63f3953f946bb428477fe1ad4b26cc0b9b007be626d1ad50386a7a0d3a005f41d90d8c21c8f00900f636bc4cf8745a49e0cc47da9e3fef9334574af467c96cf05fdb8cf6259b7137feec13268d6b4e2b5b59cef4652e2757e54fc768c9b00739964096b668d5017b63ef8ca47ce7a4b0c5b378995fad60f59ce9e1a4bbe819d8a39e1d554f75b4ef071677c5248201267f8ec501654de4873e942546bf30c7428e22713320e75a2f00709504077e584c877d3ec5633f708b00c620ce70e045b83a2542e61e80ce14d5c361b1aad1759526348e3567e21b95a5131c8bd01beae004386fe8c76a43b4a3320b8386ee4d43a4daeb5ca4c443994c45443c2d890cb2faeb1280a24ad4b40387a63816ae6e5218184d0109ee28e6ba0b08438be71d8cfb332e629c51ee644b099cf63a1b6e89c98759f08a306a63c0c12c58e6a6f36e865c26546696c9bb4e784a2bcc8ae40738642816fd843e2c9bfaa28ad246b4773a9dba8fbc8a31acbd75c767c7c3f71bad73a82eb216da1c683a334ca36bebf6094c3bfc0114e938653a23b1befc513fccd13c64a15c545a57ca1b48cb693a89da70b9a3f0dedd9d3d252c1d167f4d95947b44d5ef6e30cef17375dca44857f8a54a74cfa1606dbf85bbff03ab5dc7e79295a7ac81d579d1a7c2b4d11771e8bb7aafd67e2aa4822933815a5913a555dc5378b7f53c3aeedacc4e103fcd0b83c99fba3a9c34287a836fe8b43b4a432329de92aafdd2cfed1d0857bb25f81c073bfa1a1750e2fcffcbc072a34a234c676f3d67814e72f61a36703aee9447be14dfc9592d9f2c66e2948d9aac822174897797f939370665cddd8515694d5e6fe50b5b9a6f8a2062eb752e0273af6c8def2bdc9bdfb53f750946335129d77473b943cba0e1a822ac121c2bdb323a191f3f5412da963dd120cd7970e039fc892a2eae6fc24ca98df6a5433af4a351c22b08bf4e342ede8d6d3c5a24f6d512bb3c5e39abfee80617759f3c255c066193d2caac39677d99e8c548992f836b599e2fa2d9134b242f608f92415a6e86b9e6614aa7d645ad26b27e821346cefa405e905449ba3c64e4f9cfc3122ae23f8716dd49822467ac9b6d475c45cbd488f7d3310c9ed3c4c2765e62a6a52d6ab7010f4851c02d539bceb3646dd16e46302641e7fc660a905736da08e8f147ea23aafa75255ac430eca96b64fcff691d2277acc6c2ac5c7363ed818c3daac03bba93d43a9ce2ebc6a4c172a88d1e5aa97235c4950d58911917ff769027a36255e62a5a5d455e6be6b2f6a8a33f9ae0e0ed473bc4013cfec6fbc2c3d68970d6a49fe6a7e76382602304d0d2116242336d8d7f3a449fa6c8bb63eea759e32a8224b5ea88f1d9efdc07e31f469860dfa428b28fdb919b1710eac8a54ead269a5716d5d83b30da93d1df863f0b13c801adb5259739487ea0d35aada74b6357f83131d7e7e008ee59f126e5f734ab98759cc29e866fad2002663ec0d4b83758753f45951acfb15068e67bc26046ef6a401530d79d9d3d14ed54923d9df4a6215f6e38af341e164426e941fd566ac476cb277ffb33507cc7073c38ce500754468032e31d47b41db06d0c7a635327633ff161aac122bf7605528f2adad10f982cbcabd750f26637e576fde0dec58f578b111f4ee2c0818cb04ff5fb0ed925a833c03d3d73db555e0e240d1fe207fd7c1a7259dd7c3a8127dc91fd25a81efb4f2dd6d6b0092d8003ccce5f1b3cd5ab0fab330a4223dbfad593a8f7d550f13cf2f3c682b1d2f3cb91855b4ead5c2da5da47e4ff6c07f3cc241f9de3a6a1131ec3ad101b46b691784c2732f9951fcbafc6f42ffcb2ed283529f0c43eefe513abbd70bd6926b8ba4a5504b73ca5e8226c5a11ffdc1ef0e4b43e72a0c5cdfb423e97732d89162cffb6733f3525985b63bc5bc538663317b000c41a605ef8536b8a81c622009d148f71996ee321c6418c5723487d79585a9768a2e4006b037eaef6373ee34f68ea3aa5e3327eeb2c5434cb0af349901dc42e190c5594b656174ffeef1f45c383157fac55ebb737f8aa7e378a2f660116d45127532a1bccbf22d31b04f58e20082c05d8f492dce356344041bb84bab8b18d3aa01cabcfd2469e6db5fe7012d6cbe63a14184386d94ca22340678e705f26a7f4b99a0438b4cb108ddfa3d90f7a20db9dc953f8026c7aec2c5642d172d34f45ccf0a038c6f1b31cae9cfef75c08e689105d8bcf5046fd458eac0298a285db10c8f8a516e609507a3f21c2c1c08d29b2722adc08d8704c1bfe0ffa67ec077df9456575ca45c3e5969b142352a83ea262b995c0012925a94f194b3769cc27de86ad57a8fdab5a3cfdf47a01613e7f54ac158a990a5de08beb5417b2b4514e2fbdce4923cff4c12fc3b825e5f1ec559fe28141ec6ee75b4ba7935255b6f0d165eba91187893d96d2bc0cfa2c9e4968c12da8303f5ec44a5b038068760f394bd88b0b1378e0442007cb8932e643975309de40f14bddb54b13d11ac0012ffe1f3b529a029b76c63dbd08016bd46d62a26b369f05068fb2a8e7abc3546bb5bc9e2045a58bdbefb3f45d0081bd2ccaa29dc9722932d8472835a21af6560941c5bffa497156fe5acbd4e1ccc36351293efb8fbc5492657cc0281d62eb558d55145c060c7bcf7133b8734e333612a5b98238c92c8a7b8969915d26dbc390e8007a78c82301d01633cd323adf0bdc78fd51aae8b3a8714049d5c08e17356e88cf6d710f46f7c1e9655767c4488e23cac5ff26ac54a5a59c10379fdc4fa92e495330d9e3d7702efca3cb1fa5cfa4e6d9e00dac504b019ef6df8912cdb77ac2e8ef6edc618185bdcfdabc53dd6aef99ec7db26baa28ed260c40ed10183ef4bf76c48948fb8252378d9832a18bbf382e9747c28e3b7d8c0e700b0153b3b1e50d7699bd9681d2c9a4e2ba242e8590502cb7b9aaed67e3c126fd490144b7662c6ace50062af9fea07ca01190828246eafdad3898359870dc512277957add3b1efe5606e636eefab7706d56b71b31695317ce4371a044bf08f8f8cea4d11779ae502397fc211f57b83d16f95f5480fd4d788bcef43af13b775af6783b69795c5219eb9813c2fbf26abf4ccc3d48761cbb852a0a590dab6258443ecc5b15829382f4616fcacf0f0d31df37f9c2632fed08886edb916e1173eda920c0fc07522ae7f675f3b2d126ad96d08cd15b6d6ad51406aa9015cf21e7c4ed22177dee10a51a58de0b98f48c516e106b37defc3d41b4fec62645eb898cbd4023317ed0b5dfeae2cdb449dd8309483d4ea0ffe9623884a4c5e7f0ef89e069f969b23b31900849fe553723c62bb9f81352b43e15972faf06bce5d5bb325f0fe9d33e1c1e4e7c0e1887938b4278f42940b248e60d3a89fe4aea16ce180dc14900ebd32b02314eb8dd4a9091ee3c56d4ba5f672ed1c02a88349cf488ba1315244745ca9838234ccf908f78c6628e6a39be1e6e08042b9868929a397edec8f93683d73eb36b2d025da123035429c5d618623bd1228b4264e7e8238644abe6b9ed64a4d43a0f1169ca89dd5cc11f508258ad6a65052762aafcd48f4d7c7d5e560f7c5fc1c1209243c76d97e3e5ee3b179a2c0f325debe1d522e47bb76e80e7e7062e9d2ec2cbf3c9bb7577bc949abebc35a399e93ba887dbbf8ec2d5c47626bc05d0f5e808909af92644835a98f871eafb9cd342ec5c2977f1fddf8c9a10d89802d536862246aba0615d052d9596ab5ab166b3b2e1abf84433bea92e34cc47a99f0c49d7095d09d44d088fd0437d36bbb246f24eaa9d2da81a42617c27b9135b6f1dec1ca6f1c3d96c6fb02ac674f4732a5bfcb8767b6aaf2ef5279afe447a48197bb3c05dae6c9fbfa58c0dd5652293fee92f3dc8319eb881baf8a49d8e72910e26b7b748eaaa17bec8330f174e4d447578231ad1a6df844ecf4facb87dd6686beb71c2c544f139682e8c33fa011a9da7e410c5461ead527141e04432d9f4144c689ec9228efd763169d23d66a0cd444b6e20cb2634da889d51a4545508ff46769e0fec6a6a5dde6cd1b67170e4605254eccbf908edd485a6cfaa508bd43a112e587acd267395f04bf9073258b54c41cdd614f81226940327069685d3e5ef9a93398c8569d413900a73ee86d1aef10d29c928551f5b3e44afee07eabdcdd512f9a52741ee64581aa5196e5c1f744b6c187dbcc123cad42b9406d7b6c8f953379af2fab17f3898f968b376d05e47bfe214f7ee5c420d063c82669a3dc537d5b000ffd05ab6d2239b56be2fc0806bb37cc677236a0be049f6f0fe661672c84256bae1a224194aa1709b0fa07bbdf9cbbc96abbc067a87a187089df79b348b3c7efd4dcb7759439b5c7afc00250ecad4b599fbe10158a98dc95c98ce217e4020f2b4ed492c22a9e2c36f52cb92b5c261f49bc59e8565bd7d8c85c8ec73cf9a737c691d63672651b71f25d6ab35ad1465643af0ae16fe4f8aae98beb1ed8b87e8d2b275e9646c4e71c8434c97b60d02568b6c3001390158934681a2f4f95d53769e8c08b1f633c081cb854a3f8002b9c4b29b0c10ebfd63608e13ffa907427550411e64349636230fdfcec3d46654c90c6cc4b470f7d839a277c1364b6adc0f525da1b0535239b9a2f5cf19fbb64dee9dd54628b8d3fddbcaddfdbb8dcaee38ed8a6fb45d2803f1671b455d8b8692625ec7c8cfc092f625267c29238a85c72ee4f0bf84761aa57df73956bba95db2c5a6f792bb72b5a2f97c7ebadece1fa8b82608bea21f962c611149da9b56938295cecad8253654fa552a18d8751b43eebfb019bcde82fff5135c093950539c0f3b3e1bf3f1d08972e2442f6e12db879021be62fc782aaa6b586e85f9844361875855acd534bf37e6ea566e5156ef27d8d1d1e3da5be6740b95beafad068228d2f5a84234f37226e070c05b23e539893dccaf4f916b9088f96ba9f583a01054212c8e7b763898303d989ed74f4020ffd4fd57ad56b52e4f5773f3d6770cfc3c6128a9b72ae35f262137f947f50864c050f0207251e503cd900737e153b692615fb1c819af17740a7b48b84a0bfc8f779ab353fcfb0451fa08fc3c79f23f49b3966c0c9c8fa0e9f6fa08eadb149a801b1a0670d6c7325acea0fb7932ad293127effd3ae951e2d808238c4e17376c54b604bb05904ea928cfddbd490ec51a9bcfa668a62a25362195eaea9fda01cbf9e8c4ce5209eaf9b876e78048cedd71ae02c3e3034fc4763166cc52bf408e391bbaee1fdb818288fd0139b26f9cca17ecaddb50b9857ea3b190c4be94a991041c3957f654b7daedef3b5d3d06b13752d520fb83cb6f9f54a03bb6bc4b220eb2a233b7da6ccba1f3218f1e74c4680c67fe89f17afa1c0d263ff902552f47fdf1869a7f185f9cd2b1be045f94b82e64b2074b37eb500ddb4e50ae8672da254b081d45f539e5dc90aecaca48b79fb3a8096628dfb27b933d64614e779e21b2be885dc69b3ce1a361973ad2852ef2ba0c2bc497d125d9b9339f8b0247c897d8a78062f5d4d24e06480140f29108e895ff7821f6cf6d63e594c200ee10bc4da561192e329cb571d7081194e525e67908041acba00398c1a47fe0100acaf2e62c8c5842edba87be3d0fc479d471da465ef46d102347827bc0b86f72e3875d7e6f7d589c8d2a471e644a18a92924f504475b251545f70d120646766fe244feb1c069d0b9e96a16b600448da1a0d0a43f87306cf236e57cb61003fb33272736500d1a0461fece0e9831051718bd306074f56370b6ee8f3e3dfc5dccd24da436e099dead38d01ff0a1225e149653caefcd44791268ed06648ccde5c1e4217d41c603a57a5cfd104e32c0f42f528ecfdbefd54f9c270c31056a6f7c3822bb204980578b2eeeb4c461d784d73bb1186589272400f6d9f44cbdea62bc8c869090e38408cfc8a292e9d83fd2846c3cdbc077413538c58159bd1fcfeddd9c4b55227b4cf6414b3967d1af2ad27d6b349cc910ccbf94f0beac53b4750b56176d1588e50b2d30b8b60f12bd9753fb4e128c3ac752520482bb27aef0d6b18f1e52c2b298a746cc2b63b131556d6365d4571a46743bd822a54d44b81251be4111b08e3e679a99e428f9366e11190401656ca574825205fbd75564cd08e37aac51d5c4105e0204a348a1742eee4f319bf2291476bb1baeb8f0ab4e833646b03a4d7d201a5f7a928f05c2fd1bdff70fc7425f836a7be5e2d3ce19e457307dfd4caf3d96a808f98ba5ab52d22af38d0e54347b40e95838e9c5da1cbcf105c0a99b7b8cd88758889f1e6b07f91e70e63d6e407d92ca8283a4656c4a3d9cd52c20354e50a57ddfd494f8612e0e029ebb59662a3ff603f921366dfee6140417211d8aa4562a8e45e9713b8ddd4dd444f9efdf63bbd8ef9abe4370c5d5c1991d646a355d6ed8fa984025affe0882a69ac664f74fb2c698a5d9d5879efc357fabaa2ccdc32f97bfe2680f10babd268cdf0769180c4bfab9e94b8688bc6053eb58a71c28e5abd8551277b623ead4a8b907c8832af14f8416c8808fd84af70a21855ebafcd7dbdd997c8c820fd473756f36b3ddfba3927f5d95708f26734674001a958998d0249d826a97774d49b0c8e0a33cde8afce293d691b05d19ce351b218a0e7b8f6fc37b113e885d557f7fc41639f9432aea7040507145b64a35f5f769755009917e415fc35b0d0678234ba82b3f877d37f4f1bd056afeae0263c384a1bba60b742cd6968bf2b7efb40ff9d579518b8e8e9e3d711e23fbd57763ca57de5fe2511ed9bc95250fb5a2ae87af3c3be62b3be9d94489e14f89c47d60fd936ce97d3a9e6bdd07db06c1a2c3917a3e2501bc77e0696185b8403e94af58dcd89c8064ab39be7c3c47df286ef27fc46adde7361204ba41f60e68627789a68d95d5b5f67e38feb0904f0271f45770e47d57db84e61a967ef4631ba2530ec9d34dd235d3e3a789a6833470302fdf229d61c6de8e3ec8f234a1bfdb4b67e454837d7c39bcf36e10848333ae004a21564f77da6eb130de1f42dbcc17927ed1c777fb718a08a2c1b61b28cc54b18d4342355285ce5d05f1e59e1c60e56ef1f2afa5f6ba77c71018e7b2e9c510f615d5c7efd212ad5a96940d00414d7cc2994b0f1a8b7f70912143cc67a0fd3b2bc2fd20b3378c1afb14e34557d23cbe6354d886697ebb41e999b96f20830d9353fdd65520986beb74cddd2ee54a07d532c17b4cfc4ecdcae164df86dc8b2d3105baf79a83d54adff7b86d9aa4de730b6824b99a948ea020ab1e8c25bf5c66e6f697bf2060b5b0020aa755a01ebfd6d9dc1df749cee9b8bc20f8700c2e36dc4881d7f4c77c0053a0d2742e62973bd195c96d2d33a3f65c829cfe0aa8a59bf52b716cc7e84151092bdaeb50b857332ce7f62783028281828c17879beff31500a4ac37f633bb967d85db81200e764bb1b71417cdc9937b504da4ffcf0f28eccad45c21ba6288b7406fb50820c1fc459c68bc9706f4a1796bae8370736311e796220ff519eceb56d337e6544126672b3a9e092b81e828aeb8e8463b1a9f2cc1921783c4e8386bff2df0b04ee972446b43a278b0b352c196103a4492321bdf915d91a65c01abaa5edbe6a20f703a2aa31fc1c300faec9f71f38043ad099204deadddd0b1fb397490714dc983c021e7ef84fef6037d17cf99356f57edfc68ab3dcc5a997b5026acc7a79be0d6fe90bee7ebab27a9b3318ce991ec7ffafa5f13518d6d57c3db41eac5a4ea304dea9f015e46c43f83781e69b335781bad854a9480b7a09c697ff1fed25a809f7c7837c8f3b5ec6c56ae1939575853793732cfafe4174f2b6a0c1547c73ea3a7b9a5ebb5c6e14710b0005360522d4465a3b7ef29ae4231fe84b3fe8cfbe377ec3f9c261cd44c36f715d6489ae1016affe2933370e590ea74c66457122217d44dbe0d5277279cda3252c1f962e99f9d53bf637eaa3b2dc143d9650d2af274411b560582965a9b02dd98b6deec14f08808e802bf2418f0eaeebf335ef45e80fd327e0bd7be77ec47d3eadc42de33645557245fb2052126a8413ee824bc033f38161cb5e7592edb46af971fb5d38a60abaf7b648fb31b9a36fa1ced0fb8bde55fe94f42ae541f2e8f66e481ebd892293d5a29477f656c7ddb33e39d565d20ffae717a92c723555943061a53bf21c4a7c026ec90cca96b56b6efc749a99ee8548acbf54b17aa37ba7b800905c336359a63149827f5d72204f4c28f073d4defcf2a403944c14d239b0729b421f8f9e2657a49ea68dfa6ae16e66ce445d81725c9f624f821c975aa2e54c7004755e003482eff23bcde80a49921383fad9f365b0e3c63fe2d7ec21519cb7ed3a7dbf0d780ba0b4410fcc10c1d8d7c26389dc8d8e408d6d91b041c47b842ebe8a0c6b6093ecdb0a9ce6a264da19d9a46256d160f64ee80155890505e2396aa0368ffc055d89ac4a15eeb5efab8a8fc6b2ef7948cfe85d27894c54b7a42298d7c544e37bdb732e3bc0f6c1c8fc9d2c4db199a22a7de2f659ba3ead19f5fd0d00ae4e8dec80b09f48e4702fb16f3259243d9bdaa9ef41b47d922a092679446caf2ddaca6c08446d460e7243f8ff80462c6ceb08cfcec5e84cad6dbf97587b032f914f0c85aae181697c33886dd387ae86e8012b7f09c3d679d74a9768e07f892b2f26c116e90de689ff189a51adc6a38eb9b7a6a29c0ac4ea5e5bdcbd39250f7b07f3aee8b67c022fe37c4f07beb83ab2ce67cba18b92f871bd3f55721958203eb7d9a71e22f49a68da9bad83e6f7fc4aabdb1ae5a6fbf861023e5dec5ae61b0178e869c8d01a2b39c68b1b863fbc05e40ff47509730cdaf15e33772841cdd2d491be3cf50b0b0b84a19a3acc15d1f04e1ab03f2076a4dacd455eb2c869f745b402ba498a4860d53fdbdc839a1c755d593982743b0baaf40a041da220d1311a7f4c0a5ba16364c24a0a58ee6b588e669e9c6cc3c5b4f30fabc2f28ce7754d811586a13fb3c30c02af17e67d5f62ec2e174c84d7da311909ddaac59b06928fbdd17d15ad2b2a978ebc82dc354dbab3f85becbf49919038a8419317230040cefe2fdca2916cc2a58d59631ca6ccfffc254d468eed76535edfafc432d5f846ac608ca537299092455b3a2aab91a24d3cb116ae7a0f47a3fcb4dcb85fa6cf3a570488a248c41d5f34eb089cf0b9fa0c78489d78b4e0fb11950ec20bc1ddfeadee349a4572957c9b980f89723bef0e75217a6d6bc790373a36c70b332f79456ea23e1e980b188a21b09efa9e1942fc3624b31244277f355b227649e297028d7cfb1bd77c7ea87c019f8f7b0c5de4228ce37a305d68d52185c8b843967a32997c0abb50250cb313505e1fc599fb6b5b147bef7acedd09f9d624e2b1faa37f4d019a692f75144156ea1623a12587165e574823fa4c220505313fd2600bcbf0a8a877ce89fe9fdb7e1991ec1db988ec63d8753bcd0c5a8d0a09fba51e5460bec2b2e61a40c878c23703de516e64ee240f107e2edeef2354ae45855e4f85fd4998fbdc0aa60ea1e9dc28006f4281e10efda0bca79b6c17cf0817e05ca409b2e4fc726c0de56fceb6e3881903ebeee43698be51276f5dc8ea89c8cbdca288835ced2056f8d3eb5403ed4f9a71bbd66757eac0c43b2c671f52f1118f58dec4da0862c11748ea63d461a8b9252657224a28ffc47517af0a56243d12915ed68d5cd57f701de7f98a1407fbf160021e8ee921d4157c7a093581669fdcc096e2e24e0831c87a2bace3df5dd155065a951a3064089820d2795048f65ffa36abde85918dd8cad4c7dc03f0cf73356b65acc1c6d0c99f96ba1bf9a494db06566f56a598f43d245892ad55e7715a2c2fddce6da3174757d3ea251e891128486fc29f8f21f4cbfbf3dc25ddd701d787936a013716b6545576e13765ee8bf8ddbd3098c95e80fafe1b56e2ef4cec0f332ff74be24a76dbddd85a6d855c56a5ba22df46111d6777b02f2b2bab1e3fc462c97b7a291d235b1452bd364d9492fe330695c76c24aad67f6aff3d81cffa95198a56c5eac575fdeecd7a4c27ecdc8e382896825723d297c198bc33b5d57607e3f1e4de9643acea36ca8f672d3f0d942a9e96dd318da905f9e8b51366d89665a8a4b578b1bdfdb7044a591c8534e534a21674f0e398d1f133b887a9eaccf2b24dde5c471ba928c5658886956bc3bd494083925edeeaa6f050b36b2c876430b47a23ac1aa874d52121ce21411e868c2353118a22c6b1c5cb5fec60ec9f359beee2e7aff926649d50082edfd15f9f7755717eb338e878bd9c6d81134cc56602cd4701318d1c2060e090994ec170e79681cba069873634fe7522b81ae2b3a353d5a0574fc54c835404b4f4a3c80f91a8b5a4d4b0df9768bfb00fa18d8d9e09ac00288613b09b32849f09d3f3145f90d7b5eb4f6d85a3821dcad00cb541ae4aad4d3185dceda11f50da7323803489613100d5e67a886a25cb4ad7604fc3ae104d2bcdc2058b77f73d1f4e3bd4303679de0d3617b2fd6ee70f04edca1a414a4c92aaaf0b6fb9128fa2c8ca174c3d86e7267d9d09bca465b4ea3f7e91f0c82ec10b7cd75c3d65c3cf279c6ba19c237125632e2f085aa1d9c397b458d6f068b1b7bd61d04f691b5515081463e4da6cd8eb05010b5b786b37c1e2d636f4c19a6918dae308e93fd2b124492bdd2e1d0fdacdba92a05fa38e84969b6991fa3fbcdc4f21b3bc9fff21066e7fa6949725a28375f86a6b21aeecdc22a6b7052f63c6e43512dedb1b9116d0e984b3fae12a8c77e915582b4fea946f95c7ea73914643b9c96244a1b9eb70ec558e69dd77bc8e2093b6fc0ee8f73800bd19ffc59041b9b1551f5240095a33bcc4c75d01f8b1288b581052a3d64d77121c6bb594601c53709012e9dcf18f154b8062d5564fbe88ca4bcf2189fefd097752e61a82ad3ece5f9509e7b8cd62208af32ad152281860339f95b20e68cba57e53ee163dc0275d1f5a58bddc9691509e3d67060366530204bc9f627e9a2075d5889e38715768e143fa4a919728e4fa1e2876975a34dd8755b6522566ec7a4f725d358449ddbc0ee801c13996ac4b829e309257bde0c58feb296516d1ac1c86613e46cd7895909bc89d1a26fe7d811c9ad4c75f892450cdd9ec8dd3f3266912ca24f7be553a25c2558cfb5353368cd30678eaa2068c4e54824e2ccf0094e3ed885b5063659e8e20235f6e2b88331994a725ffd574e9023bb6d74aa2c339e42736bac734704cd1d097086bfd7261252f4440cdd21ba82b598d4e4585e758ceacd6c14cfa95bdb21d65fe8e935c59e2c4445fcdcf4e69feb75dcc56e18eb9fa39d0611417036855f9678276e1701dbcb9d751a0a2f382e13045a1702b0541f0c3de5e8834bca08374ef1c9e4b5c3c91b1fee502bde4d11e0b34d1c7a274b85b4c4e23af1244ae7f3f9478404560a4c1530b4ee7cd57cfd2711317f28bf2f0641d0dbc25f15fdd6a5a75475b1064f50fa19802a8ef05337ef36fe56e0c51c299a1d98b3416115f437bbc2eaf36e9c9d34543f2f58f0b8f6b01d393667ef583b9988cc1bfe014834085e43009ce3c213f9c7fdf3cd8333bb7d4d10cc733135a8ba23afa4c3a77f62848cfb36b78ff958945c147cec1cf6091f8166b9d595fe2f5048f3aeecad54d59d072a2e754e557b59cd598fb7c706cdcec8443623a5e1242b241e1bcb493a1a250155350e6f37024d6c9e57ff5099341274ab32ab6cc8532898896b3c24025e948dba6018b41909a8e50cc73e102a4feb984b40f692e902208b471723f3c80f4b80b4080c12cd186c0f7a07ea198a8bead4077f4ca81c7b701f767597f4c566f7306456289aa0bedc30a7e3538429823783faf6d546b5c0a9421b83d187af9a4b0b25125e0eb425c11320bd8ae66c0efb6b31fd64ef4f5bf4016203f6dc862c31a65f078f24c58eaed91d5773dde02725cd4280b72d6bc10576878e0b612efe1fbfbe75f378bba9d37e156563e49ba1afde116088cefb4fdcfcd4a6001396a3a7415b084bd5e711e39a924a2e8f98fcb215932f7d2a9653fcd739ced9903cefe07d430b4019c066f0c0d139ea9f734992d28ad6bb204ef7d42578f9ca13cb7d207edb3f5fa730554e5111738e916d2fa03796139ab0514e8865cd4bc38c8004c505a09cbdd4aa7ed2bcd0973bbc3c99e0e0050f961dbb23b76857fe36e910a6aeb283ae0f5bf1d426b29b561e65c693839a4374248c40031a7cc559a9afd03db3365f0ec0e57629a57d0f898f0f749485f61c23a4ec9bf8c58edcd52cbbc0c8961bec65aa888774cc3e4bd67f7d007a89ab6a1748531dab177c400f7aec69196dccccec5a3815e9963dd94e0e763a9947bf1cda994e9effdfa2b7bf4782c31fe435923ed5ca57b21e6e26e7a60dced5fd42d45349ef254959c18e2d89b360efb54b7ce0d046e2d9316753ec4b182f404888c2599ee4fb0d777667c9d298bb323426d120642f138a4f7dc6fcf4c182bfd0c3e3a7bf289ea38eddec53068dcbe3b0f9f6b601b9be0976d2c8b6423bb02806dcd683b592b8521a7d1e9bf902a7164c0ce261d1861547c5b6e295112798558c0d9f2e677374d90728d21fefa9d9e0785e08e433f75d2de697aa7fcbdc6c42b475010ab5e94d5c4ba16b1711660e970de2b9084c553af50b62b7d935573250d72cd45b7b02ddcb4fed9c3283e0ef00e0d3c265230c6051ace8515579daa9e36e3d64eb83b1c30bcecbd0f850187f4fec9d64cef4fbfe01812759b9b971d0d5541b8ff7543a82921315dd7f562645236122ae965fff24f8c3b6fedc573f2b760cb8906ea5f69e6020c94d9d05d8e95f982edc4406e415524307a3ccc5adaf1385f876438d6d70cff7f06d7ab1a19b33c2cee9286862aff8c45c92e0a170a2376b8a8ff4d0f5dc964b0091792de25a4689334bb5a92731116d10f77ff0048a4f5ca4169aa4654d6d65227a37397a86b1e2c683b750a9d4eff434baa82d1be7ff5fff1d5724f258f4381ec347c0eb014c13a5b6e5d3dcd2faec3eb67f23f2b44152f5f8dc84193e10758d4aaa2a1e8584ee7ea98c1970d8b2675bc216c3904393e10fa4d7d3077a9f1f668aaa2b58b1a3960599126026a218a179f675727abeb156c6648f8a6d36de8cbde28f160e671e3bff022de5745c06b67ada78715aa4b6c7477386363bd7705a72ee006dca1f794e8ebb89082b06a0395c152d8e95771baf3dc247b644f81caf24fbc7b933c4edef334cd371667f377c169b344e67cc335b558d6d1ac40ace303a8b9176aed0eeccb0d01bf3484caf093d8ccd3f44174869069c42d3b9d28bed0925b07ab8e64041edc6f1ab73115315303393b78af5128f96fa43768a8643421e14c606f8e90bbb8234ed6da46f522832c630d81aea960b5428e7f48b869467bf0e696932cd8fb55384171e598a016e7d297585335197cfc95e2725544e94d8f60de682b9183cdb186df486084129d186c7efa4241ac96c88ade44937d00047ea09be0b4f7d2a63e60c8ae0daf8b04d9ca51077020ceebb737a71cda3f21032967340424c278597e88481b874509f51e2f9a5391d050d983c4276aab322904f668af588ec73c7cebca0b3074b146f38e87194fe5788eb4949b63584a827bd14565e553c7fa5eb9339f7a054dc27c217d204df2793bc38426e4c70c4399750168ad6244dc94265122854542bfa85eddb110115b8db99534b29efa7899196ad133e277c58d42f49712de4766e8d32b005dc8be9b78f9f1de3bb2e53e017d86a14bc31bf208bcb66cba6db0534b46785fe57c47e8d47955d5a38c2c8d68fdb689e5957076932c75e87052c504359f7f1bd3fd4391a75f7f3afedd6230b23acfd0dcb3266b2d59544043af901d396f07b1d9612ca5d4b4ccf7c949e8aee14e8eb3e1e43087bf65c566994edbf0e4824da91a0cce6c2c928de7a971098df077c226f88679a64d2b878aa9630b288c079fb42d07c65baad6d7df32e3d93a50efff17c2985ad36e8ceab0a5b7ab50551b329f45c0c53e5ea50a21ae7dfc7d1f75684f2a77cac5c543248a30bdd8b25e43c7ed18732e621fde9845d3dac4bff18253b5e5e0c24695f7014dc151aa9fcb89cd507948c340533453f572833129ebbd77711e94a131c089ace80bb5261ac9d24b55a2a5988ed49304ff81ba74e1dc179f310f0f58a854aa294ec2b540b63bc60a23940f58f3f6b7522388a935b9f359d59703fd1a1806f515611fb7cb5a2dd9cdf802017629f902ee2fa5fd71ca75f119e5f00dee22b976704e7945c6cdbd2395ed519e61364c5c252de1d9564ae3bf49fcea965b7885fcd29d6c251c18a611d6c7d2e8faa7a72937f1559c499af7826866230ff1f8cfb15c78010cce9420ff1341ed5d7439d8314a5a5bf09be21a1b6e4945fd68946ea4f95e7bb39977c5cff7584b1153a3c4105b9d86a7cb290ce4ceb22c017d33585b12b40516c98fb85d0f4f01e0f1b9657c89c3ff97d4684af24c4f83436bfcfcadfb7d8d7553343fca03913c20d79ddd59a3e524aa7e13e0d9718a75bd79911b2bcee3a55b277854dac4ecdba2bf99171835f5501893aad39139f57fb57b93fb52f776e0188ca20267d0924e3af2e0cd1f1ea9d10f23ea9b4d594f74c03f1dc5580a58ae766b5435de885591f9f01e279cdc05059af258beb5955229396cb7dc6d9d9ef2097f9ec1c98bbbe90d77c5d00d361b44870ac0ebbbaaf3b42295106de2be4ebe44e491954ea60cbf14a4c49d2ca825127df59a31742b55447bd638eca16eda69cd8a5214651fb78a15b9d6ff15fb1f06981498aaa2eb13acadc20d2efde69ce086e7329e8759623d43886fe29ea487d6c3e2b3815ef0d9500c83ded19ca0450dfcaeb5e65412a07dfb3b37b466e3b0a13454a3cd72035e2d4e2190aaaa21c019b2b02534dbd7e4da11c282a80eeb258178a899fafad94765ba30506e74de8f6b14b64ec85dcc260c48d83225340622673a334eab337390bb6b8e951a5d30b0b5ee2509aac43bac096c74ff7d3a1ea0afb70515848c1e5e2bec0427144bb5844ae48cac9bf105215822af7c959087f79e99513010bb9cae79511f83269908847377cc4bcea8347bb2cf8e4564629c78d004d122fdfaf5182bd99093c4409073327fe16d7b8bf3946e8012d412e4d157177aba97aa022df07bb4b6ccab784fe557d2bbf2f987377e36f47b4d06d798c75e464c5b7b3cc24361b97ee6ed4f98c62e7a2d96c4608d9d44536243fcd1261eb978e890c52647efb0c6e1af9ff891e290b105d1f1d35d49b54c182b9d2c1b1088df99afb84a9d0c4e1e813b45e05d50ad294c01ca1edb33d458a6d67542214b6512948d91d61f004abe287895c063806164191b4cd6e87efa0398dc83987871b7215f6e3efd8e0176eae8dfc27d245f64539634b883ac44d36cc4c3b0e60c723d448c15416c374b750bcd92a20efde424cc61b08d431d4a2b49dd3eb400c1b961f530e72dfc90e5835f7cf99aa3eb4a82dc6a1dbdb62add17b634a99fba4e2b1d11a9fc44d6bdc7203bccb880486aa513b83ca937c82652224d6fb9adde3663dceb3ec5778acbf7ab5ba4852b1c27b1f38755b20779e1a5a7dba170388fc69d6a7dc4e9bace8476672dec25c1a359d822ddfcb5428c5e6535a1f712248113ece89b0c2bd471d125e0200d49605bf35f134991e1e0d4037e8a8645afd46e3a7b3c88440c259b60c83656562764fb55a5d520959b32b17e52504927063fe9f9cef9dd0782bffba75a0ae029d8e07e807232b8ade4586389167aca05fe7211a4745b8fd8d2f6b3e5ec609c3a9d6dc413d08e98ca784ce9ec43aef4788424723b909db5d143d1937a6ae302c077848922495e8109eca1534a897583f0fcea6ef9e4148b6dba53c58a5b0671c6a7915f61c132df3b401d6d2b89930413ef409ad743168a2c630df6ae1bcd41ebb5ad25a4acd866c9536c34754ad23498bd055c97b9b8add97fd2d2153f57364707521454bafcf8b6e69787f5a35e488aca60944c117ef4d79de06dc4ef0fbfd2917bb51967ddec1f69cd7fed33f650c44bb0e06e5d8397f62a2a2feb1878fb1faf7a37d2e610ea1e36a59fb40f7099e1091465407366ec003b40aaf12e63cd5d800367519585e39a1f9ceb456b6e1ed1db9318e5b9ac5cc44cf6c6da1f9a5e3da71939a3e92dee8352ea653e044546ce5b042a2d1c710361bbe99174440c61da23b3cf3d53a5441df499afdf051bbc10d04dcf85202da6b71024f3a971c7e5121f2357b39ca0d5939ef5fba3e3db4d17c4204501a79e68258fd3bb5a36690d841890583946e54cbc66456fedcb3f37836b82ce5cc3625f80c36a5c86300208509df3bdcf88e8d33e92766deaa18ae02c2bf6730c5cd14a310fbb0fe647c9bccf6e2a391cd3ecee34d609584a540140e1cde95b5e08878874245942e441bb51aa09a74198416d023626ff5eed0b28167598efedbb9055e41195915d15be7f3e80bf6258c49f116ff2b75d10409b7e3e0e3a645cc495c58485e906df1ea517b23db35e79be2a83c115b447c71d5ea9b503940ca23ea2135341e7591554717667c05f451e3e8b7b0652773d86fd1d51cb82d36a747928024b02ff7f737230990f6bd581d233e1b7302022a5fc6373375a479b6003b272641cd2fc2a11a098170eadf0d0240a0a828bee062157fc3ca36b8e29a284f53bb0e39a0f7472fb0c2018433f95408c1f53276ec5038d5291dcc6b25a54803779a12dcb23341d3d6f8e159e89779f91ca524ac328613508ac8ce4088c701908be0f074d4dd43600052012b7cc46d5db34951392e21c28ae884f7b3dcdeb9e57384c0db5b0ef844a8b7c1a30945e2522ff3e9817840f8c523896d10254a9d58589321027bf34208e24bd78d197c1624b850c98986d72334698c89ab9f389c5c4a12f15b303a8c68821cf28ee5237ee20c70a19dae6ab4159d7d00dae080947934e0ef056a5f5cfa6aae05b4ddc0966f3859f26187c401a61b650b38f63596919f76b872b2078ed726fae0b27b289330a013eff7b0037d266ce7ee3777e8065c594ae18f0cb398e0e7d2e71afb5da8dd94e1c3fbd44a167f6a19fe7213867c3aadb2660e2cbbbee1dca51ccbe0c48d43161c77b0bb67ac078677f285844cd6c2eeef3a148ddb768aad6ae6a23a4118bc85749894b64726a1165c715d730044b6b0e85180989b13b5b9034ecc468b0299207c3a8e75371d4e46c69c94c45d0217786711b30b12887eb20f3974bf44d4dd17e3f18477b370351b8f522f31542f17200ab56c072ab52f46f3dc783222867bb8742c247b68ebd369c0ecf5ff405f52017d0aefa0a6df2c1d2a462668249f1bd49eed0302511845667fb8df17fb369d9941a230f3f8a069fb948b44c3e474183f38cc78f8cb98fe994af16f39fbec4c67f3b517204fa18b8b83373f4c5595ceefbf2056ee113efc3228bd3369e2f82976fbac12d0b50687d7e3b95ecfb3e15337a1872a2e5d7b2eaf0dadea1f83247c9aecbed357f205144d0a8d7e3ebf7b510ab4b80aaf6306f4437ef46cd27b989e26a76cc177471b4d47bd00c65bc6256b87d4956b5d58b29a17cdaa9973f4adfa4855eace7d9d2ba10442efacc6048f5f809208512294e0043e84adf315479707d7d43d1ed6925f7c8c68ee1434f7fa19d512a077b10960499dd0099148b5010d964fd3c252854990eeee65c61d72b5730dbe42219b6dcf25135776b4dccdb5cbe04d418b3859ab0ab5f04c6c067e10b066661285a5d03a0ec29acfca2fa147f38bf9e398a9c990867f5335433914e6ae541543d5cb234cdbd1484c32e4cd51d66693e2daa364e220cf92c8cd5e3ff993ec2fc04d1ab4b1dda6114917afb67648df192c5d1035fbe0ba293d38255997567cdbc5b2f9092d92f938966e10bb858f658e816e568635461582dfc53d1d0faf95f4eeb6493157f562e91767a99750737dc508e6a21a77e5c371a2676164bc31f3cf8ba4cb08a3b9d294785aef38cf6484edf512e7d31393ff7ef8ee448a274e358da1622033111051431b7312ca95c65b839ac965e8369c764552b89fb682674bcbdd6e4859b6831efc9dd47ed7c4f588e53ff6afa287fc6721817d9931bd8d7a796646ea535596f8bb038ff048666e19cfd170c3e9da4c225c9db7e2911f68a8dda374dc2263f4fd7d5ded1fd948c25dca28a47feff3a1cac760491b0fb992723db78b04a63803b24ff54fc3e4f621bf1571e462cf76eafa339c021329051bce7d2e8e049a276a2c0cd3f51da89ae81a2dd3cc0b9cd8ac21824cb29927fe861a06af602ab3b5082b7091b7d579ea5c1fc06da0346de9a5ee1450c74e903a7e4b73acde8f881ac5e70e9ac301a916ecff4c8d7e59722284487cd8b97719e55bb76901ee88be98c0a90d947da07d687b2f084cd2e5a7ffdd4ead486bd215fd0b426b0a92ae02ae6b17442b99ec036e9b29c670bafdc7b004b2245cd6d765e60db86b64112d88c46d49ca32e7d93f3f42b4907b7b81b8b75d92d31fa02d8864768faea7fc25976519b5cf10021695238801f9fd289f9bd9eef9d223130d8aea94763f15b7065170ec5c5a9967a4a7a990571d1bd0a9a50af0e350846344da2bad7bda94dd449a0d74a2a4ac06dbbecbaee55c9e127fb5691c3218f24fa5aa2578ccded49ac5080a9ed8830fd9577c0972880019a0c15df6ce8364fc6e43b54e88144be854d9dbaaf7d45d824949638ae8e28e82ec044d314370edc64f9a565a03198f0805f6466c16ca5e5cf1479a3c2ab159d4babadeef3ae8ccdde7c18482a3dd64845cdf774c5489364a9a0a8ce29107fd9c116dc9b65971f3aa6651671b56a781c9339aa10c7e1a5edf9a1df2d55c1391119rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpgadmin4-8.5-150600.3.6.1.src.rpmpgadmin4-doc    rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.3ggB@f;i@f@eeBee@e@e@e@e@ehy@e`@e?e9@e9@ddǢ@c@`@`>`@`J@`U`U__@__@_ __h_gD@_[f_Z@_V _)M_ @^b^2^@^y@^oj@]@]@]]s\]@\@\@\r@\\~d\=@\&@[@[[F[@[{alarrosa@suse.comalarrosa@suse.comalarrosa@suse.comalarrosa@suse.comalarrosa@suse.comalarrosa@suse.comalarrosa@suse.comalarrosa@suse.comalarrosa@suse.comalarrosa@suse.comadam.majer@suse.dealarrosa@suse.comalarrosa@suse.comalarrosa@suse.comalarrosa@suse.comalarrosa@suse.comalarrosa@suse.comsimonf.lees@suse.comsteven.kowalik@suse.commcepl@suse.comralf.habacker@freenet.dealarrosa@suse.commrueckert@suse.demrueckert@suse.dealarrosa@suse.comalarrosa@suse.comasn@cryptomilk.orgecsos@opensuse.orgmrueckert@suse.deecsos@opensuse.orgasn@cryptomilk.orgmrueckert@suse.deasn@cryptomilk.orgasn@cryptomilk.orginfo@paolostivanin.commrueckert@suse.demrueckert@suse.demvyskocil@opensuse.orgalarrosa@suse.comalarrosa@suse.comalarrosa@suse.comalarrosa@suse.commrueckert@suse.demrueckert@suse.deecsos@opensuse.orgecsos@opensuse.orgecsos@opensuse.orgecsos@opensuse.orgecsos@opensuse.orgecsos@opensuse.orgecsos@opensuse.orgecsos@opensuse.orgalarrosa@suse.comalarrosa@suse.comjengelh@inai.dealarrosa@suse.comalarrosa@suse.comalarrosa@suse.comalarrosa@suse.com- Add patches to fix issues in several js packages (in some cases, by updating the vendored packages): - The npm package micromatch is vulnerable to Regular Expression Denial of Service (bsc#1224366, CVE-2024-4067): * use-micromatch-4.0.8.patch - The npm package socket.io can be forced to trigger an uncaught exception, thus killing the Node.js process (bsc#1226967, CVE-2024-38355): * use-socket.io-4.7.4.patch - Not affected by bsc#1221454, CVE-2024-28849 (follow-redirect keeps the proxy-authorization header, which contains credentials, across hosts), we already use follow-redirect 1.15.6 which includes the fix for it. - Not affected by bsc#1227080, CVE-2024-6238, since we don't use the related install scripts. - requirejs v2.3.6 contains a prototype pollution issue which allows attackers to execute arbitrary code or cause a Denial of Service (DoS) via injecting arbitrary properties (bsc#1227248, CVE-2024-38998, bsc#1227252, CVE-2024-38999): * 0001-Fixes-requirejs-prototype-pollution.patch - The NPM package `braces` in versions < 3.0.2 fails to limit the number of characters it can handle, which could lead to a memory exhaustion. The package was updated to 3.0.3 as part of the micromatch update to 4.0.8 (bsc#1224295, CVE-2024-4068). - axios < 1.7.4 allows SSRF via unexpected behavior where requests for path relative URLs get processed as protocol relative URLs (bsc#1229423, CVE-2024-39338): * use-axios-1.7.7.patch - webpack < 5.94.0 has a DOM Clobbering vulnerability in AutoPublicPathRuntimeModule (bsc#1229861, CVE-2024-43788): * use-webpack-5.95.0.patch - Force using elliptic 6.5.7 which fixes a missing validation (bsc#1231564, CVE-2024-48949) and also fixes an incorrect verification of valid signatures if the hash contains at least four leading 0 bytes (bsc#1231684, CVE-2024-48948): * use-elliptic-6.5.7.patch - Ran update-vendor.sh which updates: * node_modules.obscpio * node_modules.spec.inc * package-lock.json- Add a patch from upstream to fix a vulnerability to a security flaw in OAuth2 authentication which allows an attacker to potentially obtain the client ID and secret (bsc#1230928, CVE-2024-9014): * 0001-Fixed-a-security-issue-where-the-OAuth2-client-ID-and-secret.patch- Add patch from upstream to fix a multi-factor authentication bypass vulnerability (bsc#1223867, CVE-2024-4215): * 0001-Fixed-Multi-Factor-Authentication-bypass-vulnerability.patch - Add patch from upstream to fix a XSS vulnerability in /settings/store API response json payload (bsc#1223868, CVE-2024-4216): * 0001-Fixed-the-following-code-smells.patch * 0002-Fixed-a-XSS-vulnerability-in-the-_settings_store-endpoint.patch- update to 8.5: * supported database servers - postgresql: 12, 13, 14, 15, and 16 - edb advanced server: 12, 13, 14, 15, and 16 * bundled postgresql utilities - psql, pg_dump, pg_dumpall, pg_restore: 16.1 * New features - Added support for provider, deterministic, version and RULES parameter while creating collation. - Added support for EDB Job Scheduler. - Added support for viewing Log Based Clusters. - Added support for UNIX socket in entrypoint.sh for Docker implementation. * Bug fixes - Fixed an issue in Schema Diff where Columns with sequences get altered unnecessarily. - Fixed an issue where user was unable to share a newly registered server. - Bug fixes and improvements in pgAdmin CLI. - Fixed an issue where the 'Save Password' option for SSH tunneling password was consistently disabled. - Fixed schema diff wrong query generation for table, foreign table and sequence. - Fixed an issue where table properties were not updating from properties dialog. - Fixed an issue where maximize icon is missing from query tool panel. - Fix an issue in table dialog where changing column name was not syncing table constraints appropriately. - Fixed rollback and commit button activation on execute button click. - Fixed an issue where taking backup of a shared server was using server owner's user name. - Fix an issue in editor where replace option in query tool edit menu is not working on non-Mac OS. - Fix an issue in editor where Format SQL shortcut and multiline selection are not working. - Fix an issue in editor where "Use Spaces?" Preference of Editor is not working. - Fixed an issue where Triggers, Rules, Indexes were absent from the Schema Diff when comparing views. - Fix an issue in query tool where toggle case of selected text loses selection. - Fix query tool autocomplete results when cursor is in between the SQL query. - Fix an issue in query tool where custom keyboard shortcuts are not working for some. - Fixed the issue where the update-user CLI command doesn't change the password. - Fixed issue related to email authentication of Two-factor authentication. - Fixed a remote code execution issue in the validate binary path (boo#1222390, CVE-2024-3116). - update to 8.4: * supported database servers - postgresql: 12, 13, 14, 15, and 16 - edb advanced server: 12, 13, 14, 15, and 16 * bundled postgresql utilities - psql, pg_dump, pg_dumpall, pg_restore: 16.1 * New features - Allow preferences customization using a configuration file. - Add support for JSON log format. - Add --yes option for skipping the confirmation prompt while deleting the user via CLI for scripting purpose. * Housekeeping - Upgrade CodeMirror from version 5 to 6. - Added documentation for Dashboard's System Statistics tab. - Separate the application name, branding & version information from the configuration file. - Upgrade python packages cryptography to 42.0.x and Flask-Security-Too to 5.3.x. * Bug fixes - Fix multiple issues where PasswordExecCommand was not working in server mode and PasswordExecCommand was not loaded when importing servers. - Fix the tabbed panel backward/forward shortcut for tabs. - Fixed an issue where dependencies and dependents were not showing if a composite type is used as an attribute in another composite type. - Fix an issue where constraint check control is enabled in the edit table dialog. - Fix an issue where the scripts created by generate script of Schema diff for Table with sequence was not working earlier. - Ensure that the OAuth2 session is logged out when users log out from pgAdmin. - Remove role related checks on the UI dashboard when terminating session/query and let PostgreSQL take care of it. - Fix an issue where type column in dependents/dependencies tab is not showing correct label. - Unsafe Deserialization and Remote Code Execution by an Authenticated user in pgAdmin 4 (boo#1221172, CVE-2024-2044). - Replace the requirement for cryptography 42.0 to be satisfied with 41.0 (which is the version we have in SLE) given that the code using the cryptography module doesn't seem to really require 42.0 .- ExcludeArch: s390x- Update to 8.3: * Supported Database Servers - PostgreSQL: 12, 13, 14, 15, and 16 - EDB Advanced Server: 12, 13, 14, 15, and 16 * Bundled PostgreSQL Utilities - psql, pg_dump, pg_dumpall, pg_restore: 16.0 * New features - Allow drag-n-drop columns collection tree node as comma separated columns. - Added support to rename columns in Views. - Added BYPASSRLS|NOBYPASSRLS option while creating a Role. - Added support for column storage syntax while creating table. - Use COOKIE_DEFAULT_PATH or SCRIPT_NAME in session cookie path. - Added configurable parameter to enable support for PasswordExecCommand in server mode. * Bug fixes - Fixed an issue where format sql was messing up operator. Included many other feature changes, more details here - Fixed an issue where formatting inserts empty lines in specific case. - Add support for selecting a schema in the backup database dialog with no tables, mviews, views or foreign tables. - Fixed a UI border issue on the dependencies tab for columns with icon. - Fixed an issue where multiple errors were showing if user does not have connect privileges. - Fixed an issue where group membership information was displayed incorrectly. - Ensure that the correct SQL is generated when changing the column data type to "char". - Fixed an issue pgAdmin fails to launch due to inconsistent PATH variable name on windows. - Fix a backend server error when creating a named restore point. - Fix wrong default for FORCE_LOWER in the FLASK_GRAVATAR module.- Add node_modules.spec.inc as Source to satisfy factory-auto.- Fix shebang of pgadmin4-desktop to use python3.11- New pgadmin4-cloud subpackage that includes now the cloud dependencies and make the pgadmin4-cloud package optional so it's now optional to depend on the azure/aws/google python packages. - Add patch to let pgadmin4 work without cloud support: * make-cloud-packages-optional.patch- Add a optipng script that actually uses pngcrush to compress png images so we don't depend on optipng which is not available in SLE. - Fix pgadmin4-desktop to use a timer instead of threads. It seems there's an issue the way python threads were used with Qt5 that made the script fail to update the systray menu when pgadmin was started. - Add missing python-typer dependency - Add pgadmin4-user.conf file to create the pgadmin user/group using systemd with the new system-user-pgadmin package.- Replace yarn (which is not available in SLE) with local-npm-registry. - Add node_modules service and node_modules.obscpio / node_modules.spec.inc source files which replace vendor.tar.xz that is now removed. - package_deps.patch - dependency fixes - package_git_local.patch - dependency fixes that are needed *after* generating package-lock.json since only registry-supplied packages are available locally. - Update update-vendor.sh script.- Update to 8.2 * Supported Database Servers - PostgreSQL: 12, 13, 14, 15, and 16 - EDB Advanced Server: 12, 13, 14, 15, and 16 * Bundled PostgreSQL Utilities - psql, pg_dump, pg_dumpall, pg_restore: 16.0 * New features - Administer pgAdmin Users and Preferences Using the Command Line Interface (CLI). - Allow users to convert View/Edit table into a Query tool to enable editing the SQL generated. - Added copy server support, allowing the duplication of existing servers with the option to make certain modifications. - Added keep-alive support for SSH sessions when connecting to a PostgreSQL server via an SSH tunnel. * Housekeeping - Ensure that eventlet's subprocess should be used following the resolution of an issue with Python 3.12 by eventlet. * Bug fixes - Fixed an issue where query tool title did not change after "Save As" until any new change is made. - Fixed an issue where export servers was not adding extension if not specified. - Fixed an issue where pgAdmin imports servers to the wrong accounts for the external authentication. - Fixed an issue where an error occurred in the SQL tab when using an extended index(pgroonga). - Fixed an issue where changes done to a node using edit dialog are not reflecting on the properties tab if the properties tab is active. - Fixed an issue where DB Restrictions were not visible on the server dialog. - Ensure that the 'Dbo' schema is displayed as a regular schema rather than a system catalog schema. - Introduce LDAP configuration parameter LDAP_IGNORE_MALFORMED_SCHEMA to ignore fetching schema from the LDAP server. - Fixed an error-'amname' when generating ERD for database containing partition tables. - Fixed an issue where object explorer last tree state was not saving. - Fixed an issue where pgAgent job schedule dialog is not opening for edit. - Fixed an issue where user is not able to cancel or terminate active queries from dashboard. - Fixed browser autocomplete related issues on pgAdmin authentication related pages. - Fixed an issue where auto commit/rollback setting not persisting across query tool connection change. - Fixed an issue where Schema Diff not generating difference for missing columns. - Update to 8.1 * Supported Database Servers - PostgreSQL: 12, 13, 14, 15, and 16 - EDB Advanced Server: 12, 13, 14, 15, and 16 * Bundled PostgreSQL Utilities - psql, pg_dump, pg_dumpall, pg_restore: 16.0 * New features - Add support for generating ERD for a schema. - Add support for creating a function with custom return type. * Housekeeping - Fixed several accessibility-related issues for enhanced usability. * Bug fixes - Ensure focus is not changed to ssh tunnel password input when user explicitly focus on server password input. - Provide a way to bypass the SSL cert verification for OAuth2 provider. - Fixed an issue where database name was missing in an error message if name contains any special characters. - Ensure that indexes created by constraints are visible in the object explorer when "Show system objects" is enabled. - Fixed an issue where reading process logs throws an error when DATA_DIR is moved to a networked drive. - Remove the 'Close Window' submenu specifically for OSX to prevent unintended closure of the entire application. - Rename all references of 'Execute query' to 'Execute script' to be more relevant. - Fixed an issue where syntax error was not highlighting in query tool. - Fixed an issue where on entering full screen, the option label is not changed to 'Exit Full Screen' in desktop mode. - Ensure that the Authentication Source in the drop-down of the UserManagement dialog aligns with the entries specified for AUTHENTICATION_SOURCES in the configuration file. - Reverse engineer serial columns when generating ERD for database/table. - Fixed an issue where the Schema was not visible in the dropdown for table properties or when creating a new table. - Fixed an issue where option key was not registering in PSQL tool. - Fixed an issue where the Vacuum option INDEX_CLEANUP have an incorrect value ('AUTO') for database versions < 14. - Fixed an issue where the pgAdmin page went blank when clicking the delete button in the User Management dialog. - Ensure that correct timezone is set for Docker deployments. - Fixed an issue where all rows and filter rows buttons of object explorer toolbar were disabled for views and other supported nodes. - Fixed an issue where schema diff tool is not loading preferences on start.- Changes in the spec file so it can be used in Factory as well as in SLE - Modify the pgadmin4-desktop helper to use PyQt5 instead of PyQt6 since the latter is not available in SLE- Update to 8.0 * Supported Database Servers - PostgreSQL: 12, 13, 14, 15, and 16 - EDB Advanced Server: 12, 13, 14, 15, and 16 * Bundled PostgreSQL Utilities - psql, pg_dump, pg_dumpall, pg_restore: 16.0 * New features - Have close buttons on individual panel tabs instead of common. - Allow closing all the tabs, including SQL and Properties. - Changes in the context menu on panel tabs - Add close, close all and close others menu items. * Housekeeping - Update app bundle built to use notarytool instead of altool. - Replace the current layout library wcDocker with ReactJS based rc-dock. - Upgrade Flask, Werkzeug and other modules depends on the latest version of Flask. * Bug fixes - Fix an issue where the scroll position of panels was not remembered on Firefox. - Add DROP SQL for foreign keys in SQL generated by ERD when using WITH DROP option. - Fixed an issue where psql was not taking the role used to connect in server properties. - Fixed an issue where Geometry Viewer renders geometry incorrectly after trying to view 3D or non-4326 SRID geometry. - Fix the sorting of size on the statistics panel. - Fixed restoration of query tool database connection after dropping and re-creating the database with the same name. - Fix an issue where the default server-group is being deleted if the load-server json file contains no servers. - Fix an issue of the incorrect format (no indent) of SQL stored functions/procedures. - Server config information in the about dialog should be only visible to admin users. - Fixed an issue where Schema Diff does not work when the user language is set to any language other than English in Preferences. - Fixed the query generated when creating subscription where copy_data parameter was missing. - Ensure backup/restore/maintenance works with invalid pgpass file parameter. - Fix an issue where OAUTH_ADDITIONAL_CLAIMS does not recognise AzureAD with > 150 groups. - Fixed circular import error occurring while deploying cloud PostgreSQL instance from pgAdmin. - Fix an issue where the browser window stuck on spinning with an Oauth user without email. - Fix an issue where import/export data is not working for shared servers. - Remove the max length of 255 from password exec command in server configuration dialog. - Remove gettext from empty strings in the title of the storage graph. - Fixed an issue where the change server password is not working in desktop mode. - Fix a crash issue occurring when debugging a function with arguments when using pgAdmin with external config database. - Fix an issue in ERD tool where SQL generated is missing columns for the table. - Clear the password field in the config database on clear saved server password. - Fixed an issue where the data type of the array type was not visible for the column in the Foreign Table dialog. - Drop patches that are not needed anymore: * support-new-werkzeug.patch * support-new-flask.patch- Add obsoletes: pgadmin4-web- Add a vendor.tar.xz source package with node modules that have to be downloaded in the developer workstation since otherwise they won't be able to get downloaded in the build service. - Add an update-vendor.sh script that updates (actually, recreates) the vendor.tar.xz package. This should be run manually with each package update. - Remove obsoleted file pgadmin4.qt.conf.in which hasn't been used at all for some time. - Add patch to set the environment variable EVENTLET_NO_GREENDNS which fixes pgadmin4 to build successfully with eventlet 0.33.3, httpcore 0.17.1 and httpx 0.24.0: * fix-eventlet-select_epoll.patch - Merged pgadmin4-web subpackage into the main pgadmin4 package which now installs the pgAdmin4 server. - Create new pgadmin4-desktop subpackage that includes a very small python script I wrote that starts the pgadmin4 server in runtime mode (as a regular user) and provides a system tray icon so users can open new windows and quit the server with a UI since the alternative (using the official pgAdmin4 runtime application would require providing a full node.js modules tree and using NW.js for the ui). - Fix .desktop file which was now moved to the pgadmin4-desktop subpackage. The "Encoding" key is deprecated so it has been removed, only one main category is now used in the Categories key and the path to the icon was fixed. - Remove pgadmin4.qt.conf.in which is not used anymore- Update to 7.8 * Supported Database Servers - PostgreSQL: 12, 13, 14, 15, and 16 - EDB Advanced Server: 12, 13, 14 and 15 * Bundled PostgreSQL Utilities - psql, pg_dump, pg_dumpall, pg_restore: 16.0 * New features - Add support for foreign table's new functionality for PG 11 and above. - Allow setting custom username for shared servers, with default as username of server being shared. - Add 'GENERATED ALWAYS AS..' option while creating column constraints for Foreign Table. - GUI representation of the system's activity using the 'system_stats' extension. - Added 'load_balance_hosts' connection string parameter for PG 16 and above. * Housekeeping - Use PG16 as the default PostgreSQL version. * Bug fixes - Fixed an issue in ERD tool where the downloaded images have a few links cut. - Fixed an issue where user was not able to assign new/old columns as primary key once column with primary key is deleted. - Add support for setting prepare threshold in server connection. - Fixed an issue where the wrong message "Current database has been moved or renamed" is displayed when debugging any function. - Fixed an issue where Processes tab displays wrong server name in some scenario. - Fix an issue where global/native keyboard shortcuts are not working when any cell of data output grid has focus. - Fixed query history slowness issue by storing query only for those having certain threshold max length. - Fix an issue where foreign table column name becomes "none" if the user changes any column data type. - Pin the cryptography version to fix PyO3 modules initialisation error. - Ensure that the backup works properly for PG 16 on the latest docker image. - Fixed an issue where the user is unable to select objects on the backup dialog due to tree flickering. - Fixed an issue where non-super PostgreSQL users are not able to terminate their own connections from dashboard. - Fix an issue where scale in columns is not allowed to have value as 0 or below. - Fix an issue in graphical explain plan where query tool crashes when the plan has parallel workers details and sort node is clicked for details. - Fix an issue where user login is not working if username/email contains single quote in server mode. - Update to 7.7 * Supported Database Servers - PostgreSQL: 11, 12, 13, 14 and 15 - EDB Advanced Server: 11, 12, 13, 14 and 15 * Bundled PostgreSQL Utilities - psql, pg_dump, pg_dumpall, pg_restore: 15.4 * New features - Added support to select/deselect objects in the Backup dialog. - Added all the new options of the 'WITH' clause in the subscription dialog. - Added USING method while creating the table. - Added compression method option while creating a column. - Added Strategy, Locale Provider, ICU Locale, ICU Rules, and OID options while creating a database. - Added USING method while creating the materialized view. - Add support for additional ID token claim checks for OAuth 2 authentication. * Housekeeping - Added the ‘data type’ column in the properties tab of the Columns collection node. * Bug fixes - Fix an issue where user is not able to change the password when SMTP is not configured. - Ensure user is redirected to login page after failed login. - Ensure that Materialized view size fields in "Statistics" should be human-readable. - Fix an issue where changing the password shows success but the new password is not working. - Fix an issue where login form doesn't appear if internal auth source is removed. - Fix a security related issue where an authenticated user can run remote command using validate binary path API (CVE-2023-5002, boo#1215603).- Update to 7.6 - Features: - Added Expression to CREATE INDEX. - Added cascade option while creating an extension. - Added ‘Ignore Grants’ option in the schema diff tool. - Added ‘Ignore Tablespace’ option in the schema diff tool. - Added support for ALTER INDEX column statistics. - Added unlogged option while creating a sequence. - Added all like options while creating a table. - Added support for SYSTEM, CONCURRENTLY and TABLESPACE options in REINDEX. - Added WAL option to EXPLAIN ANALYZE command. - Added new/missing options to the VACUUM command. - Added SKIP_LOCKED and BUFFER_USAGE_LIMIT option to Analyze command. - Add support for TRUNCATE trigger in foreign table. - Ensure that Schema Diff comparison results should be displayed in the sorted order. - Added support to detach partitions using concurrently and finalize. - Added all supported index storage parameters while creating an index. - Added new/missing parameters to pg_dumpall (Backup Server). - Added new/missing parameters to pg_dump (Backup Objects). - Added new/missing parameters to pg_restore. - Housekeeping: - Generate software bill of materials as part of the package builds. - Added support for PostgreSQL and EPAS 16 to ensure it works without any errors. - Remove Bootstrap and jQuery from authentication pages and rewrite them in ReactJS. - Enable cluster deployment with gp3 volume for AWS & BigAnimal cloud providers. - Clarify the LICENSE file to indicate that it is the PostgreSQL Licence. - Remove unsupported PostgreSQL versions from the container. - Bug fixes: - Fix incorrect redirection URL after authentication by removing fixed value set to SCRIPT_NAME environment variable in pgAdmin4.wsgi file. - Allow changing the POOL_SIZE and MAX_OVERFLOW config values of the pgAdmin config DB connection pool. - Fix an issue where query tool on shared server is throwing error if the pgAdmin config DB is external. - Fix the query tool issue where raise Notice from func/proc or code blocks are no longer displayed live. - Fix the issue where query tool window turns blank if the user tries to generate a graph on the result. - Fix an issue where changing MFA_SUPPORTED_METHODS breaks the MFA validation. - Fix an issue where pgAdmin 7.5 fails to render table SQL with extension loaded index method. - Fix an issue where cycle syntax was not added in SQL when creating new sequence from UI. - Fix an issue where the SET directive is excluded from the function header in the schema diff tool. - Fix a query tool error ‘pgAdminThread’ object has no attribute ‘native_id’. - Ensure keyboard shortcut for query execution is disabled when query execution is in progress. - Fix an issue where queries can’t complete execution. - Fixed an issue where Import Export not working when using pgpassfile. - Fix an issue where queries longer than 1 minute get stuck - Container 7.1 - Fix an issue where queries get stuck with auto-completion enabled. - Fixed Query Tool/ PSQL tool tab title not getting updated on database rename. - Ensure user gets proper error if incorrect credentials are entered while authenticating AWS. - Fix an issue where the edit server fails in desktop mode if the server password is not stored. - Ensure that Backup, Restore, and Maintenance should work properly when pgpass file is used. - Fix the query tool auto-complete issue on the server reconnection. - Fix the query tool restore connection issue. - Fix the reconnecton issue if the PostgreSQL server is restarted from the backend. - Fix the connection and stability issues since v7, possibly related to background schema changes. - Fixed an issue where the query tool is unable to execute a query on Postgres 10 and below versions. - Fix the lost connection error in v7.4. - Fixed an issue where pgAdmin failed to setup role with hyphens in name. - Fixed an issue where filters are not working and query history shows empty queries. - Fix an issue where adding a sub-folder inside a folder is not working as expected in File Manager. - Fix an error ‘list’ object has no attribute ‘strip’ while attempting to populate auto-complete manually the first time. - Fixed an issue where ERD Tool can’t load the saved pgerd file from Shared Storage. - Fix an issue where inserting more than 10 rows does not work correctly in View Data; only parts end up in the table. - Add support-new-flask.patch to fix build with flask 2.3- Update to 7.4, extremely large list of changes, partially chosen: * Make Statistics, Dependencies, Dependants tabs closable and the user can add them back using the 'Add panel' option. * Added support for Logical Replication. * Implemented runtime using NWjs to open pgAdmin4 in a standalone window instead of the system tray and web browser. * Added Quick Search functionality for menu items and help articles. * Added publication and subscription support in Schema Diff. * Use cheroot as the default production server for pgAdmin4. * Show the login roles that are members of a group role be shown when examining a group role. * Added '--replace' option in Import server to replace the list of servers with the newly imported one. * Added zoom scaling options with keyboard shortcuts in runtime. * Use schema qualification while accessing the catalog objects. * Make the 'Save Data Changes' icon to be more intuitive. * Improve code coverage and API test cases for Server module. * Added support to set auto width of columns by content size in the data output window. * Added support to connect PostgreSQL servers via Kerberos authentication. * Added "IF NOT EXISTS" clause while creating tables and partition tables which is convenient while using the ERD tool. * Added browse button to select the binary path in the Preferences. * Added Grant Wizard option under Package node. * Added support to launch PSQL for the connected database server. * Added window maximize/restore functionality for properties dialog. * Added support to set the binary path for the different database server versions. * Added OS, Browser, Configuration details in the About dialog. * Added support for rotating the pgAdmin log file on the basis of size and age. * Added RESQL/MSQL test cases for Table and its child nodes. * Updated Flask-Security-Too to the latest v4. * Added a mechanism to detect a corrupt/broken config database file. * Highlighted long running queries on the dashboards. * Added support for Reassign/Drop Owned for login roles. * Do not block the query editor window when running a query. * Added support for OAuth 2 authentication. * Added option to provide maximum width of the column when 'Resize by data?’ option in the preferences is set to True. * Added support to copy SQL from main window to query tool. * Added support for formatted JSON viewer/editor when interacting with data in a JSON column. * Rename the "Resize by data?" to "Columns sized by" and disabled the 'Maximum column width' button if 'Columns sized by' is set to 'Column data'. * Added support for the truncate table with restart identity. * Make code folding case insensitive in the code mirror. * Added database and server information on the Maintenance process watcher dialog. * Allow the referenced table to be the same as the local table in one to many relationship for ERD Tool. * Set PSQLRC and PSQL_HISTORY env vars to apt. user storage path in the server mode. * Added support for OWNED BY Clause for sequences. * Revisit all the CREATE and DROP DDL's to add appropriate 'IF EXISTS', 'CASCADE' and 'CREATE OR REPLACE'. * Added support for indent guides in the browser tree. * Added support for advanced table fields like the foreign key, primary key in the ERD tool. * Added support to allow tables to be dragged to ERD Tool. * Added index creation when generating SQL in the ERD tool. * Added support for authentication via the webserver (REMOTE_USER). * Added support to enable/disable rules. * Added support of Aggregate and Operator node in view-only mode. * Ensure that users should be able to modify the REMOTE_USER environment variable as per their environment by introducing the new config parameter WEBSERVER_REMOTE_USER. * Added support for Two-factor authentication for improving security. * Added support to disable the auto-discovery of the database servers. * Replace Flask-BabelEx with Flask-Babel. * Upgrade Flask to version 2. * Added support to import/export server groups and servers from GUI. * Added support to open SQL help, Dialog help, and online help in an external web browser. * Rename the menu 'Disconnect Server' to 'Disconnect from server'. * Added capability to deploy PostgreSQL servers on Amazon RDS. * Rename the menu 'Disconnect Database' to 'Disconnect from database'. * Added transaction start time to Server activity sessions view. * Added support for unique keys in ERD. * Added status bar to the Query Tool. * Ensure that row numbers should be visible in view when scrolling horizontally. * Relocate GIS Viewer Button to the Left Side of the Results Table. * Added capability to deploy PostgreSQL servers on EDB BigAnimal. * Added options 'Ignore owner' and 'Ignore whitespace' to the schema diff panel. * Added support for Azure AD OAUTH2 authentication. * Ensure the database and schema restriction controls are not shown as a drop-down. * Added the ability to resize columns on dashboard tables. * PG 15 compatibility issues fixed. * Added capability to deploy PostgreSQL servers on Microsoft Azure. * Added support for visualise the graph using a Line chart in the query tool. * Added option to trigger autocomplete on key press in the query tool. * Allow users to delete files/folders from the storage manager. * Allow users to search within the file/storage manager. * Added support for visualizing the graphs using Stacked Line, Bar, and Stacked Bar charts in the query tool. * Added support for visualise the graph using a Pie chart in the query tool. * Removing dynamic module loading and replacing it with static loading. * Added support to show all background processes in separate panel. * Added support to create triggers from existing trigger functions in EPAS. * Remove the SQL files for the unsupported versions of the database server. * Fixed improper parsing of HTTP requests in Pallets Werkzeug v2.1.0 and below (CVE-2022-29361). - Included in 6.19: Fix a vulnerability that allows a user of the product to change another user's settings or alter the database (bsc#1207464, CVE-2023-0241). - Included in 6.14: Fix a vulnerability that allows a remote unauthenticated user to redirect a user to an arbitrary web site by crafting a malicious URL (boo#1207238, CVE-2023-22298). - Included in 6.7: Fix for unrestricted file upload (boo#1197143, CVE-2022-0959). - Included in 6.5: Fixed an issue when uploading a CSV throwing an error in the Desktop mode - Drop patches remove_simplejson_dep.patch, fix-python-lib.patch and 0001-Fix-bug-ValueError-unsupported-format-character-D.patch - Add patch support-new-werkzeug.patch and support-new-azure-mgmt-rdbms.patch: * Support changes among our dependencies.- Remove dependency on python-simplejson (gh#pgadmin-org/pgadmin4#5853).- Add 0001-Fix-bug-ValueError-unsupported-format-character-D.patch to fix bug reported at https://redmine.postgresql.org/issues/6522- Fix typos (chmod being used instead of chown in %postun web and pgadmin4 used in the service file for User/Group keys instead of pgadmin)- the system wide service does not need to run as root. switch to user/group pgadmin- Update to 4.30 - Features: - ERD Tool (Beta): The Entity-Relationship Diagram (ERD) tool is a database design tool that provides a graphical representation of database tables, columns, and inter-relationships. You can use the ERD tool to design a new schema and generate the SQL required to create it, or to reverse engineer and diagram an existing database schema. - Kerberos support is added in pgAdmin 4 using SPNEGO for logging into pgAdmin, similar to the existing LDAP and "internal" options. Note that support for logging into database servers using Kerberos is not included in this release, but will be added in a future version. - Add a container option (PGADMIN_DISABLE_POSTFIX) to disable the Postfix server: Postfix (like other MTAs) must start as user 'root', and the pgAdmin container achieves this using 'sudo'. Whilst that works well in most environments, it can cause problems in some. This option allows you to completely disable Postfix to avoid these issues, though you will need to configure an external mail server to be used to send password reset emails. - Bugs/Housekeeping: - Improve the explain plan details by showing a popup instead of a tooltip when clicking on plan nodes. - Ensure that verbose logs are visible for Utility (Backup, Maintenance etc.) jobs. - Added support for expressions in exclusion constraints. - Ensure that the 'template1' database is not visible after pg_upgrade. - Added appropriate help message and a placeholder for letting users know about the account password expiry for Login/Group Role. - Updated Flask-BabelEx to the latest version. - Fixed extra parentheses issue around joins for Views. - Ensure that the current value of sequences is ignored while comparing using Schema Diff. - Fixed an issue when the user tries to delete multiple records in the data grid. - Fixed TypeError exception in schema diff when selecting two identical objects. - Include PostgreSQL 13 utilities in the container distribution. https://www.pgadmin.org/docs/pgadmin4/4.30/release_notes_4_30.html- Fix the desktop application by removing the overriding of SERVER_MODE in config_system.py and config_distro.py which were forcing SERVER_MODE to always have a specific value instead of letting the runtime choose so there's no need to force it. - Rename pgadmin4.conf to pgadmin4.conf.in, pgadmin4.uwsgi to pgadmin4.uwsgi.in and README.SUSE.uwsgi to README.SUSE.uwsgi.in and make them also replace PYTHONSITELIB with the python version used at build time - Replace all variables from config files in %prep instead of %install - Include README.SUSE.uwsgi in the web-uwsgi subpackage- Add BuildRequires for python-cryptography and replace dependency for python-Flask-Babel with python-Flask-BabelEx- Add BuildRequires for python modules- Update to 4.29: - Ensure that folder rename should work properly in Storage Manager - Fixed an issue where the debugger's custom tab title not applied when opened in the new browser tab - Fixed an issue where dynamic tab title has not applied the first time for debugger panel - Fixed an issue where schema diff doesn't show the result of compare if source schema has tables with RLS - Fixed an issue where the process watcher dialog throws an error for the database server which is already removed - Ensure that code coverage should cover class and function declarations - Ensure that dirty indicator (*) should not be visible when renaming the tabs - Fixed an issue where shared servers import is failing - Improve code coverage and API test cases for Foreign Tables, Debugger, Views and Materialized Views - Fix some requirement versions.- Update to 4.28: - Added support to download utility files at the client-side. - Added support to rename query tool and debugger tabs title. - Added support for dynamic tab size. - Added tab title placeholder for Query Tool, View/Edit Data, and Debugger. - Added support to compare schemas and databases in schema diff. - Ensure that non-superuser should be able to debug the function. - Ensure that query history should be listed by date/time in descending order. - Ensure that Grant Wizard should include foreign tables. - Ensure that search object functionality works with case insensitive string.- Update to 4.27: - Added Macro support. - Added support to view trigger function under the respective trigger node. - Allow user to change the database connection from an open query tool tab. - Added support to ignore the owner while comparing objects in the Schema Diff tool. - Merged the latest code of 'pgcli' used for the autocomplete feature. - Fixed invalid literal issue when fetching dependencies for Materialized View. - Fixed an issue where schema diff is showing identical table as different due to default vacuum settings. - Ensure that the user should be able to change the start value of the existing sequence. - Fixed an issue where the query tool is not fetching more than 1000 rows for the table does not have any primary key. - Fixed an issue where 'Rows X' column values were not visible properly for Explain Analyze in Dark theme. - Fixed an issue where file extension is stripped on renaming a file.- Specify path for pg_dump and pg_restore - Disable update check (if you're on leap or other you wont be able to upgrade to a newer version anyway)- Update to 4.26: - Added SQL Formatter support in Query Tool. - Added a new button to the query tool toolbar to open a new query tool window. - Added shared server support for admin users. - Warn the user when connecting to a server that is older than pgAdmin supports. - Ensure that schema names starting with 'pg' should be visible in browser tree when standard_conforming_strings is set to off. - Fixed an issue where --load-server does not allow loading connections that use pg_services. - Fixed string indices must be integers issue for PostgreSQL < 9.3. - Fixed an issue where the application ignores the fixed port configuration value. - Remove illegal argument from trigger function in trigger DDL statement. - Ensure that 'setup-web.sh' should work in Debian 10. - Fixed excessive CPU usage by stopping the indefinite growth of the graph dataset.- Create a pgadmin user and group - Add uwsgi configuration (fast, user privileges and apparmor support)- Only activate the pgadmin4 apache config if the PGADMIN4 flag is set. For mod_wsgi you should use `a2enmod wsgi` - Create /etc/pgadmin/config_system.py with server mode for web Run /usr/lib/python3.6/site-packages/pgadmin4-web/setup.py to create the admin user - Remove config_local.py with outdated options- Update to 4.25: - Modified schema diff tool to compare two databases instead of two schemas - Resolve schema diff dependencies by selecting the appropriate node automatically and maintain the order in the generated script. - Replace charting library Flotr2 with ChartJS using React. - Upgrade font-awesome from v4 to v5. - Fixed an issue where debugger doesn't work if the search path is set other than 'public'. - Fixed ssh tunnel hang issue when the user tries to disconnect the server. - Fixed an issue where conversion of bytea to the binary string results in an error. - Fixed an issue where the entire logs are in red text when the user runs backup and restore. - Ensure that the user will be able to modify the start value of the Identity column. - Fixed an issue where 'ALTER VIEW' statement is missing when the user sets the default value of a column for View.- Update to 4.24 - New features - Issue #5235 - Support configuration files that are external to the application installation. - Issue #5484 - Added support for LDAP authentication with different DN by setting the dedicated user for the LDAP connection. - Issue #5583 - Added support for schema level restriction. - Issue #5601 - Added RLS Policy support in Schema Diff. - Issue #5622 - Added support for permissive/restricted policy type while creating RLS Policy. - Issue #5650 - Added support for LDAP anonymous binding. - Issue #5653 - Added High Contrast theme support. - Housekeeping - Issue #5323 - Improve code coverage and API test cases for Foreign Data Wrapper. - Issue #5326 - Improve code coverage and API test cases for Domain and Domain Constraints. - Issue #5329 - Improve code coverage and API test cases for FTS Configuration, FTS Parser, FTS Dictionaries, and FTS Template. - Bug fixes - Issue #3814 - Fixed issue of error message not getting displayed when filename is empty for backup, restore, and import/export. - Issue #3851 - Add proper indentation to the code while generating functions, procedures, and trigger functions. - Issue #4235 - Fixed tab indent issue on a selection of lines is deleting the content when ‘use spaces == true’ in the preferences. - Issue #5137 - Fixed save button enable issue when focusing in and out of numeric input field. - Issue #5287 - Fixed dark theme-related CSS and modify the color codes. - Issue #5414 - Use QStandardPaths::AppLocalDataLocation in the runtime to determine where to store runtime logs. - Issue #5463 - Fixed an issue where CSV download quotes numeric columns. - Issue #5470 - Fixed backgrid row hover issue where on hover background color is set for edit and delete cell only. - Issue #5530 - Ensure that the referenced table should be displayed on foreign key constraints. - Issue #5554 - Replace the runtime themes with ones that don’t have sizing issues. - Issue #5569 - Fixed reverse engineered SQL for partitions when storage parameters are specified. - Issue #5577 - Include LICENSE and DEPENDENCIES [inventory] files in official packages. - Issue #5621 - Remove extra brackets from reverse engineering SQL of RLS Policy. - Issue #5629 - Fixed an issue where the user is able to edit properties when some of the collection nodes are selected. - Issue #5630 - Fixed an issue where installation of pgadmin4 not working on 32-bit Windows. - Issue #5631 - Fixed ‘cant execute empty query’ issue when remove the value of ‘USING’ or ‘WITH CHECK’ option of RLS Policy. - Issue #5633 - Ensure that create RLS Policy menu should not be visible for catalog objects. - Issue #5647 - Fixed an issue where difference DDL is showing the wrong SQL when changing the policy owner. - Issue #5662 - Fixed accessibility issue where few dialogs are not rendering properly when we zoomed in browser window 200% and screen resolution is low. - Issue #5666 - Added missing dependencies/dependent and corrected some wrongly identified. - Issue #5673 - Fixed an issue where fetching the schema throws an error if the database is not connected in Schema Diff. - Issue #5675 - Fixed CSRF errors when pgAdmin opened in an iframe on safari browser. - Issue #5677 - Fixed text color issue in explain analyze for the Dark theme. - Issue #5686 - Fixed issue where the user was not able to update policy if the policy is created with space. - update requires to match requirements.txt- Update to 4.23 - New features - Issue #5468 - Added option to ignore the whitespaces while comparing objects in schema diff. - Issue #5500 - Added server group name while selecting servers in schema diff. - Issue #5516 - Added support of Row Security Policies. - Issue #5576 - Improve error messaging if the storage and log directories cannot be created. - Housekeeping - Issue #5325 - Improve code coverage and API test cases for Collations. - Issue #5574 - Cleanup Windows build scripts and ensure Windows x64 builds will work. - Issue #5581 - Documentation of Row Level Security Policies. - Bug fixes - Issue #3591 - Ensure that the query tool should display the proper error message while terminating the active session. - Issue #3669 - Ensure that proper error should be displayed for the deleted node. - Issue #3787 - Disabled the Stop process button after clicking it and added a message ‘Terminating the process…’ to notify the user. - Issue #4226 - Fixed an issue where select all checkbox only selects the first 50 tables. - Issue #5416 - Ensure that the query tool panel gets closed when clicking on the ‘Don’t Save’ button. - Issue #5465 - Fixed an issue where the Edge browser version is showing wrong and warning message gets displayed. - Issue #5492 - Fixed an issue where the search object is unable to locate inherited tables and constraint filters are not working. - Issue #5507 - Fixed connection and version number detection issue when the database server is upgraded. - Issue #5521 - Fixed an issue when dumping servers from a desktop pgAdmin app by providing an option ‘–sqlite-path’. - Issue #5539 - Fixed typo in exception keyword. - Issue #5584 - Fixed an issue where two identical tables showing different by schema diff tool. - Issue #5592 - Ensure that pgadmin should be able to connect to the server which has password more than 1000 characters.- Update to 4.22 - New features * Added connected pgAdmin user and connection name in the log file. * Show the startup log as well as the server log in the runtime's log viewer. - Bugfixes * Gracefully informed the user that the database is already connected when they click on "Connect Database...". * Fixed an issue where clicking on the cross button of the alert box on the login page is not working. * Fixed the SQL help issue for EDB Postgres Advanced Server. * Ensure that maintenance job should be worked properly for indexes under a materialized view. * Ensure that file browse "home" button should point to $HOME rather than /. * Ensure that 'With OID' option should be disabled while taking backup of database server version 12 and above. * Fixed invalid literal issue when removing the connection limit for the existing role. * Fixed internal server error when clicking on Triggers -> 'Enable All' for partitions. * Fixed generated SQL issue for auto vacuum options. * Ensure that the dependencies tab shows correct information for Synonyms. * Fixed an issue where the newly added table is not alphabetically added to the tree. * Fixed list sorting issue in the schema diff tool. * Fixed an issue while comparing the two identical schemas using the schema diff tool. * Fixed an issue when renaming the column not added in the proper order. * Correct ipv4 "all interfaces" address in the container docs, per Frank Limpert. * Fixed an issue where select2 hover is inconsistent for the SSL field in create server dialog. * Fixed post-login redirect location when running in server mode under a non-default root. * Fixed an issue where the background job creation fails if there is only a version-specific python binary available in PATH. * Fixed data truncation issue when updating the data of type character with length. * Fixed an issue where if LDAP_SEARCH_BASE_DN is not set then, the value for LDAP_BASE_DN will be considered. * Fixed an issue where clicking on Select All button, not selecting all the options in pgAgent job scheduler. * Clarify and correct the docs on enabling the pl/debugger plugin on the server. * Fixed Unicode decode error 'utf-8' codec can't decode byte. - Packaging: * refresh fix-python-lib.patch * add keyring e8697e2eef76c02d3a6332778881b2a8210976f2 enabling GPG source tarballs verification- Decrease requirements to build in SLE/Leap: * Werkzeug from 0.15.0 to 0.14.1 * passlib from 1.7.2 to 1.7.1 * psycopg from 2.8 to 2.7.4 * python-dateutil from 2.8.0 to 2.7.3 * simplejson from 3.16.0 to 3.13.2 * pytz from 2018.9 to 2018.3 pgadmin has this tendency to just follow the latest versions instead of properly specify required versions.- Update to 4.21 - New features * Added search object functionality. * Added LDAP authentication support. * Added support for parameter toast_tuple_target and parallel_workers of the table. * Added support of Packages, Sequences and Synonyms to the Schema Diff. * Added an option to prevent a browser tab being opened at startup. - Bug fixes * Ensure that the start and end date should be deleted when clear the selection for pgAgent Job. * Fixed calendar opening issue on the exception tab inside the schedules tab of pgAgent. * Fixed an issue where the autovacuum_enabled parameter is added automatically in the RE-SQL when the table has been created using the WITH clause. * Fixed generated SQL when any token in FTS Configuration or any option in FTS Dictionary is changed. * Fixed tab key navigation issue for parameters in table dialog. * Ensure that switch cell is in sync with switch control for accessibility. * Fixed compilation warnings while building pgAdmin. - Update to 4.20 - New features * Added support of Collation, FTS Configuration, FTS Dictionary, FTS Parser and FTS Template to the Schema Diff. * Added support of Domain, Domain Constraints and Types to the Schema Diff. - Housekeeping * Enhance the color of switch control for both light and dark theme. * Added and fixed gettext usage for better translation coverage. - Bug fixes * Fix an issue where the user can not change the value of DateTime picker control using keyboard. * Fixed some accessibility issues in the dialogs. * Fixed chrome driver download utility issue for Ubuntu. * Change some colors and opacity to comply with WCAG color contrast standards. * Fix an accessibility issue to maximize the panel for all alertify dialog. * Improve logic to get the DDL statements as a part of the comparison. * Fixed tab key navigation issue for Grant Wizard. * Fixed Unicode character issue causing error on Python2 environment. * Fixed focus color issue for Alertify dialog buttons.- Update dependencies versions and replace python-Flask-Security with python-Flask-Security-Too (fixes boo#1166991)- Update to 4.19 (boo#1166681) - New features * Added accessibility support in AlertifyJS. * Added Czech language support. * Added Python 3.8 support. - Housekeeping * Improve code coverage and API test cases for the Event Trigger module. * Improvements in the UI for both default and dark themes. * Enhance logging by tracking stdout and stderr of subprocess when log level set to DEBUG. * Added option to override the class name of a label tag for select2 control. - Bug fixes * Changed the color of selected and hovered item for Select2 dropdown. * Improve the style of the highlighted code after query execution for Dark mode. * Ensure that AlertifyJS should not be visible as a title for alert dialog. * Changed background pattern for geometry viewer to use #fff for all themes. * Fix an issue where debugger not showing all arguments anymore after hitting SQL error while debugging. * Set proper focus on tab navigation for file manager dialog. * Fix an issue where command and statements were parsed incorrectly for Rules. * Ensure that all the transactions should be canceled before closing the connections when a server is disconnected using pgAdmin. * Fixed Firefox monospaced issue by updating the font to the latest version. * Update Flask-SQLAlchemy and SQLAlchemy package which is not working on Windows with Python 3.8. * Fix syntax error when changing the event type for the existing rule. - Update to 4.18 - New features * Added support for a multi-level partitioned table. * Added a Schema Diff tool to compare two schemas and generate a diff script. * Allow screen-reader to read label & description of non-textable elements. * Allow screen-reader to identify the alert errors. * Added labels and titles after parsing and validating all the pgAdmin4 web pages for accessibility. * Set input controls as read-only instead of disabled will allow tab navigation in the properties tab and also allow screen readers to read it. - Housekeeping * Improve code coverage and API test cases for the CAST module. * Improve code coverage and API test cases for the LANGUAGE module. * Improve the test framework to run for multiple classes defined in a single file. * Updated wcDocker package which includes aria-label accessibility improvements. * Replace node-sass with sass for SCSS compilation. - Bug fixes * Ensure that path file name should not disappear when changing ext from the dropdown in file explorer dialog. * Fixed an issue while editing char[] or character varying[] column from View/Edit data throwing an error. * Fixed an issue where Grant wizard unable to handle multiple objects when the query string parameter exceeds its limit. * Added tab navigation on close buttons for all the panels and create/properties dialog. * Fix column resizable issue in the file explorer dialog. * Logout the pgAdmin session when no user activity of mouse move, click or keypress. * Fix an issue where setting STORAGE_DIR to empty should show all the volumes on Windows in server mode. * Updated the incorrect icon used for the cast node on refresh. * Fix an issue where refreshing a package results in the change in the object completely. * Fix an issue where select, insert and update scripts on tables throwing an error. * Ensure Postfix starts in the container, now it runs as non-root by default. * Fixed an issue where Save Password control disappears after clicking on it while creating a server. - Update to 4.17 - New features * Allow screen-reader to read relationship attributes in nested elements. * Ensure all binaries are securely signed and linked with the hardened runtime in the macOS bundle - Housekeeping * Refactored SQL of Table’s and it’s child nodes. * Refactored SQL of Views and Materialized Views. * Refactored SQL of Functions and Procedures. * Added support for on-demand loading of items in Select2. * Added code coverage tool for pgAdmin. - Bug fixes * Fix syntax highlighting in code mirror for backslash and escape constant. * Fix an issue where clicking on an empty textbox like fill factor or comments, considers it as change and enabled the save button. * Added support to view multilevel partitioned tables. * Ensure that constraints, indexes, rules, triggers, and compound triggers should be created on partitions. * Added more information to the ‘Database connected/disconnected’ message. * Ensure that the user should be able to select/modify tablespace for the partitioned table on v12 and above. * Rename some internal environment variables that could conflict with Kubernetes. * Fix vulnerability issues reported by ‘yarn audit’. Replace the deprecated uglifyjs-webpack-plugin with a terser-webpack-plugin. * Ensure that the error message should not be displayed if Tablespace is not selected while creating the index. * Fix an issue where operator, access method and operator class is not visible for exclusion constraints. * Add a note to the documentation about the use of non-privileged ports on filesystems that don’t support extended attributes when running the container. * Added tab navigation for tabs under explain panel in query tool. * Fix an issue where the table is not created with autovacuum_enabled and toast.autovacuum_enabled for PG/EPAS 12. - Update to 4.16 - New features * Warn the user on changing the definition of Materialized View about the loss of data and its dependent objects. * Allow drag and drop functionality for all the nodes under the database node, excluding collection nodes. * Use a ‘play’ icon for the Execute Query button in the Query Tool for greater consistency with other applications. * Added aria-label to provide an invisible label where a visible label cannot be used. * Added role=”status” attribute to all the status messages for accessibility. * Run pgAdmin in the container as a non-root user (pgadmin, UID: 5050) * Allow Gunicorn logs in the container to be directed to a file specified through GUNICORN_ACCESS_LOGFILE. * Changed the open query tool and data filter icons. - Housekeeping * Add Reverse Engineered and Modified SQL tests for Materialized Views. * Refactored code of table and it’s child nodes. * Refactored code of columns node. - Bug fixes * Fix issue where the Reset button does not get enabled till all the mandatory fields are provided in the dialog. * Fix scrolling issue in ‘Users’ dialog. * Remove the sorting of table headers with no labels. * Updated documentation for default privileges to clarify more on the grantor. * Fix query tool launch error if user name contains HTML characters. It’s a regression. * Fix network disconnect issue while establishing the connection via SSH Tunnel and it impossible to expand the Servers node. * Fix an issue where the wrong type is displayed when changing the datatype from timestamp with time zone to timestamp without time zone. * Ensure that the superuser should be able to create database, as the superuser overrides all the access restrictions. * Fix server connection drops out issue in query tool. * Updated the json file name from ‘servers.json’ to ‘pgadmin4/servers.json’ in the container deployment section of the documentation. * Ensure that the superuser should be able to create role, as the superuser overrides all the access restrictions. * Fix reverse engineering SQL issue for partitions when specifying digits as comments. * Enhance the logic to change the label from ‘Delete/Drop’ to ‘Remove’ for the server and server group node. * Shown some text on process watcher till the initial logs are loaded. * Fix VPN network disconnect issue where pgAdmin4 hangs on expanding the Servers node. * Fix main window tab navigation accessibility issue. * Ensure that the Servers collection node should expand independently of server connections. * Fix the help button link on the User Management dialog. * Fix accessibility issues. * Fix XSS issue in explain and explain analyze for table and type which contain HTML. * Fix an issue of retrieving properties for Compound Triggers. It’s a regression. * Fix an issue where pgAdmin4 unable to retrieve table node if the trigger is already disabled and the user clicks on Enable All. * Fix reverse engineering SQL issue for triggers when passed a single argument to trigger function. * Fix an issue where length and precision are not removed from table/column dialog. * Fix an issue where the Interval data type is not displayed in the properties dialog of table/column. * Fix ‘Could not find the object on the server.’ error while refreshing the check constraint. * Fix issue where the user can not switch the UI language. It’s a regression. * Fix reverse engineering SQL issue where when clause is not visible for PG/EPAS 12. * Fix pgAdmin4 failed to start issue after upgrading to version 4.15. * Added statistics and storage information in reverse engineering SQL of table/column. * Fix an issue where the inherited table name with quotes did not escape correctly. * Fix an issue where context menu is open along with submenu and the focus is not on context menu or submenu. - Update to 4.15 - New features * Added encrypted password in reverse engineered SQL for roles. * Added Dark(Beta) UI Theme option. * Support Enable Always and Enable Replica on triggers. * Add an option to request confirmation before cancelling/resetting changes on a Properties dialog. * Added support for custom theme creation and selection. - Bug fixes * Ensure create new object dialog should be opened when alt+shift+n key is pressed on the collection node. * Fixed issue where Drop and Disconnect connection menu points are too close to each other. * Ensure context menus never get hidden below the menu bar. * Rename the context menu from ‘Drop Server’ to ‘Remove Server’. * Ensure the correct “running at” agent is shown when a pgAgent job is executing. * Fix an issue in the Query Tool where shortcut keys could be ignored following a query error. * Fix the toggle case shortcut key combination. * Fix an issue where a black arrow-kind image is displaying at the background of browser tree images. * Ensure comments are shown in reverse engineered SQL for table partitions. * Handle NULL values appropriately when sorting backgrid tables. * Give appropriate error messages when the user tries to use an blank master password. * Remove arbitrary (and incorrect) requirement that composite types must have at least two members. * Don’t quote bigints when copying them from the Query Tool results grid. * Ensure compression level is passed to pg_dump when backing up in directory format. * Ensure the number of jobs can be specified when backing up in directory format. * Ensure Javascript errors during Query Tool execution are reported as such and not as Ajax errors. * Suppress Enter key presses in Alertify dialogues when the come from Select2 controls to allow item selection with Enter. * Ensure that units are respected when sorting by file size in the File dialog. * Ensure all messages are retained in the Query Tool from long running queries. * Updated documentation for the delete row button that only strikeout the row instead of deleting it. * Updated documentation for the query tool toolbar buttons. * Fixed an issue where psql of v12 throwing “symbol not found” error while running Maintenance and Import/Export. * Fixed potential error in the properties dialog for the Code tab. * Fixed an issue where Datetimepicker control opens when clicking on the label. * Fixed potential issue in reset function for nested objects. * Fixed an issue where escape key not working to close the open/save file dialog. * Fixed an issue where keyboard shortcut for context menu is not working when using Firefox on CentOS7. * Fixed docker container exit issue occurs due to change in Gunicorn’s latest version. - Rebase patches: * use-os-makedirs.patch - Add patch to fix command to link to the python library * fix-python-lib.patch- refresh use-os-makedirs.patch to apply cleanly again- add back defattr to fix sle12 build- Update to 4.14 - New features * Added Copy with headers functionality when copy data from Query Tool/View Data. * Implemeted the Query Plan Analyser. * Include PostgreSQL 12 binaries in the container. - Housekeeping * Add Reverse Engineered and Modified SQL tests for Synonyms. * Add Reverse Engineered and Modified SQL tests for Unique Constraints. - Optimize Webpack to improve overall performance. - Bug fixes * Ensure backup a partition table should not backup the whole database. * Ensure that ‘ENTER’ key in the data filter should not run the query. * Fix issue where backup fails for schema name that needs quoting. * Highlighted the color of closing or opening parenthesis when user select them in CodeMirror. * Fix issue where export job fails when deselecting all the columns. * Fix an error where ‘false’ string is displayed when we add a new parameter in the Parameters tab, also clear the old value when the user changes the parameter name. * Ensure that pgAdmin should work behind reverse proxy if the inbuilt server is used as it is. * Fix issue where pgAdmin does not load completely if loaded in an iframe. * Ensure the search path should not be quoted for Database. * Ensure pgAdmin should work behind reverse proxy on a non standard port. * Fix query tool open issue on Internet Explorer. * Fix issue where query history is not visible in the query history tab. * Ensure the search path should not be quoted for Function, Procedure and Trigger Function. * Fix issue where VALID foreign keys show as NOT VALID in the SQL tab for tables. * Ensure the MAC OSX app should be notarized for Catalina. - Changes from 4.13 - New features * Added Gather Merge, Named Tuple Store Scan and Table Function Scan icon for explain module. * Don’t wait for the database connection before rendering the Query Tool UI, for improved UX. * Allow configuration options to be set from the environment in the container distribution. * Ensure editable and read-only columns in Query Tool should be identified by icons and tooltips in the column header. * Add an Italian translation. * Refactor Dockerfile to avoid needing to run supporting scripts (i.e. ‘docker build .’ will work) and minimise layers. - Housekeeping * Add Reverse Engineered SQL tests for Schemas. * Add Reverse Engineered SQL tests for Views. * Add Reverse Engineered SQL tests for Rules. * Add Reverse Engineered and Modified SQL tests for Foreign Keys. * Add Reverse Engineered and Modified SQL tests for Foreign Servers. * Add Reverse Engineered and Modified SQL tests for Foreign Tables. * Add Reverse Engineered and Modified SQL tests for FTS Templates. * Add Reverse Engineered and Modified SQL tests for Indexes. * Add Reverse Engineered and Modified SQL tests for Primary Keys. * Add Reverse Engineered and Modified SQL tests for User Mappings. * Add Modified SQL tests for Resource Group. - Bug fixes * Added ProjectSet icon for explain module. * Ensure Boolean columns should be editable using keyboard keys. * Further code refactoring to stabilise the Feature Tests. * Fix an issue where oid column should not be pasted when copy/paste row is used on query output containing the oid column. * Fix display of validation error message in SlickGrid cells. * Fix issue where Validated switch option is inverted for the Foreign Key. * Fix a debugger error when using Python 2.7. * Fix error while importing data to a table using Import/Export dialog and providing “Not null columns” option. * Ensure View should be created with special characters. * Ensure Boolean columns should be editable in View/Edit data and Query Tool. * Fix an error that could be seen when click on any system column of a table. * Unescape HTML entities in database names in the Query Tool title bar. * Add editor options for plain text mode and to disable block folding to workaround rendering speed issues in CodeMirror with very large scripts. * Ensure port and username should not be mandatory when a service is provided. * Fix Truncate option deselect issue for compound triggers. * Fix length and precision enable/disable issue when changing the data type for Domain node. * Fix SQL tab issue for Views. It’s a regression of compound triggers. * Fix PGADMIN_SERVER_JSON_FILE environment variable support in the container. * Fix exception in query history for python 2.7. * Fix query tool launch error if user name contain html characters. * Increase cache control max age for static files to improve performance over longer run. * Fix SQL issue of length and precision when changing the data type of Column. * Fix modified SQL for Index when reset the value of Fill factor and Clustered?. * Fix reversed engineered SQL for btree Index when provided sort order and NULLs. * Ensure sequence with negative value should be created. * Fix issue where EXEC script doesn’t write the complete script for Procedures. * Fix query tool and view data issue with the Italian language. * Ensure Primary Key should be created with Index. * Fix query history exception for Python 3.6.- Update to 4.12 - New features * Add support of Compound Triggers for EPAS 12+. * Add support for planner support functions in PostgreSQL 12+ functions. * Add support for generated columns in Postgres 12+. * Use the full tab space for CodeMirror instances on dialogues where appropriate. * Allow a banner to be displayed on the login and other related pages showing custom text. * Allow enhanced cookie protection to be disabled for compatibility with dynamically addressed hosting environments. * Add an optimisation to the internal code responsible for searching for treeview nodes. * Display the row count in the popup message when counting table rows, not just in the properties list. * Add support in query history to show internal queries generated by pgAdmin during save data operations. - Housekeeping * Add Reverse Engineered SQL tests for Columns. * Add Reverse Engineered SQL tests for Trigger Functions. * Add Reverse Engineered SQL tests for Exclusion Constraint. * Add a –modules option to the RE-SQL test suite to allow testing of specific object types. - Bug fixes * Fix issue where Deleting N number of rows makes first N number of rows disable. * Fix generation of reverse engineered SQL for tables with Greenplum 5.x. * Update wcDocker to allow the browser’s context menu to be used except in tab strips and panel headers. * Ensure type names are properly encoded in the results grid. * Fix generation of reverse engineered SQL for partition table, partitions were shown as a child of indexes. * Update wcDocker to prevent window state loading creating blank dialogues. * Fix accessibility issue for checkbox in IE11. * Ensure the Query Tool doesn’t throw an error when viewing the contents of a table with no columns. * Ensure columns can be created when they are IDENTITY fields with the CYCLE option enabled. * Ensure purely numeric comments can be saved on new columns. * Fix accessibility issue for Datetime cell in backgrid. * Ensure the query tool will work with older versions of psycopg2 than we officially support, albeit without updatable resultsets. * Ensure command tags are shown in the messages tab of the Query Tool. * Fix load on demand in View/Edit data mode. * Fix some errors thrown on the JS console when dragging text in the Query Tool. * Ensure triggers should be updated properly for EPAS server. * Fix the reverse engineered SQL for trigger functions with the WINDOW option selected. * Ensure enable trigger menu should be visible when trigger is disabled. * Ensure the comment on a Primary Key constraint can be edited under the Table node. * Fix console error when changing kind(SQL/BATCH) for pgAgent job step. * Fix double click issue to expand the contents of a cell if the resultset was not editable. * Fix generation of reverse engineered SQL for Rules. * Ensure compound triggers for event should be updated properly. * Ensure compound triggers should be displayed under Views. * Ensure Truncate option should be available for Compound Triggers. - Changes from 4.11 - New features * Add support for editing of resultsets in the Query Tool, if the data can be identified as updatable. * Set the mouse cursor appropriately based on the layout lock state. * Add EXPLAIN options for SETTINGS and SUMMARY. - Housekeeping * Add Reverse Engineered SQL tests for Roles and Resource Groups. * Add Reverse Engineered SQL tests for FDWs. * Add Reverse Engineered SQL tests for Languages. * Add Reverse Engineered SQL tests for Extensions. * Add Reverse Engineered SQL tests for FTS Configurations. * Add Reverse Engineered SQL tests for Packages. * Add Reverse Engineered SQL tests for FTS Dictionaries. * Add Reverse Engineered SQL tests for Domains. * Add Reverse Engineered SQL tests for Collations. * Add Reverse Engineered SQL tests for Types. * Add Reverse Engineered SQL tests for Sequences. * Add Reverse Engineered SQL tests for FTS Parsers. * Add Reverse Engineered SQL tests for Constraints. - Bug fixes * Allow keyboard navigation of all controls on subnode grids. * Fix dropping of pgAgent schedules through the Job properties. * Prevent flickering of large tooltips on the Graphical EXPLAIN canvas. * Fix an error that could be seen when editing column privileges. * Ensure parameter values are quoted when needed when editing roles. * EXPLAIN options should be Query Tool instance-specific. * Fix an error while retrieving json data from the table. * Fix ‘malformed array literal’ error when updating a pgAgent job. * Ensure drag/drop from the treeview works as expected on Firefox. * Fix table icon issue when updating any existing field. * Ensure browser should not be started by Selenium when feature tests are excluded from a test run. * Use ROLE consistently when generating RE-SQL for roles, not USER. * Fix an error seen when updating a connection string in a pgAgent job step. * Fix reverse engineered sql for Foreign Data Wrapper created on EPAS server in redwood mode. * Fix some minor UI issues on IE11. * Fix sequence reverse engineered SQL generation with quoted names on PG/EPAS 10+. * Fix an issue where Explain and Explain Analyze are not working, it’s regression of #1760. * Fix an issue where Filter toolbar button is not working in view/edit data, it’s regression of keyboard navigation. - Changes from 4.10 - New features * Allow some objects to be dragged/dropped into the Query Tool to insert their signature into the query text. * Allow the path to /pgadmin4/servers.json to be overridden in the container distribution. - Bug fixes * Ensure the browser close confirmation is only shown when closing a Query Tool which is running in a separate browser tab. * Prevent an error that may occur when editing data with an integer primary key. * Fix a quoting issue that caused a blank UI to be displayed when running in French. * Ensure the version comparision should be correct for windows installer. - Changes from 4.9 - New features * Visually distinguish simple tables from tables that are inherited and from which other tables are inherited. - Housekeeping * Add a framework for testing reversed engineered SQL and CRUD API endpoints. - Bug fixes * Fix issue where the dependencies tab for inherited tables/foreign keys shows partial text. * Allow editing of data where a primary key column includes a % sign in the value. * Fix issue where reverse engineered SQL was failing for foreign tables, if it had “=” in the options. * Fix keyboard navigation in “inner” tabsets such as the Query Tool and Debugger. * Ensure the correct label is used in panel headers when viewing filtered rows. * Fix issue where new column should be created with Default value. * Initial support for PostgreSQL 12. * Initial support for PostgreSQL 12. * Initial support for PostgreSQL 12. * Prevent the geometry viewer grabbing key presses when not in focus under Firefox, IE and Edge. * Prevent the “Please login to access this page” message displaying multiple times. * Ensure that the Return key can be used to submit the Master Password dialogue. * Ensure that browser auto-fill doesn’t cause Help pages to be opened unexpectedly. * Fix issue where SSH tunnel connection using password is failing, it’s regression of Master Password. * Fix an initialisation error when two functions with parameters are debugged in parallel. * Fix issue where property dialog of column should open properly for EPAS v12. * Capitalize the word ‘export’ used in Import/Export module. * Ensure strings are properly encoded in the Query History. * Ensure we include the CSRF token when uploading files. * Fix connection restoration issue when pgAdmin server is restarted and the page is refreshed. * Ensure the debugger control buttons are only enabled once initialisation is complete. * Remove additional “SETOF” included when generating CREATE scripts for trigger functions. * Fix help links for backup globals and backup server. * Fix an XSS issue seen in View/Edit data mode if a column name includes HTML. * Ensure Python escaping matched JS escaping and fix a minor XSS issue in the Query Tool that required superuser access to trigger. * Ensure that both columns and partitions can be edited at the same time in the table dialog. * Fix an XSS issue when username contains XSS vulnerable text.- Update to pgadmin4 4.8 - New features * Feature #2653 - Allow the UI layout to be fully locked or to prevent docking changes. - Bug fixes * Omit the geometry viewer in the Query Tool from layout saving. * Improve the performance of explain plan by embedding the images only when downloading it. * Fix the issue of accessing the SQL for Views and Materialized Views. Regression of pluralisation of folder names.- Update to pgadmin4 4.7 - Bug fixes * In server mode, update all the saved server credentials when user password is changed. * Fix the responsive layout of the main menu bar. * Fix syntax error when adding more than one column to the existing table. * Fix file browser path issue which occurs when client is on Windows and server is on Mac/Linux. * Added Master Password to increase the security of saved passwords. * Fix accessibility issue for menu navigation. * Update the UI logo. * Fixed CSRF security vulnerability issue, per Alvin Lindstam * Properly assign dropdownParent in Select2 controls. * Ensure popper.js is installed when needed. * Fixed Tab key navigation for Maintenance dialog. * Fix Tab key issue for Toggle switch controls and button on the dialog footer in Safari browser. * Ensure that element should get highlighted when they get focus on using Tab key. * Fixed console error when subnode control is used in panels. * Stop using application/x-javascript as a mime type and use the RFC-compliant application/javascript instead. * Fixed error on displaying table properties of a table partitioned by list having a default partition. * Fix handling of JSON in the Query Tool with NULL elements. * Fix navigation of switch cells in grids. * Clarify wording for the NO INHERIT option on constraints, per Michel Feinstein. * Relax the permission check on the directory containing the config database, as it may fail in some environments such as OpenShift. * Prevent Backgrid Password cells from losing focus if the browser opens an autocomplete list. * Fix syntax error when creating a table with a serial column.- Update to pgadmin4 4.6 - Features * Feature #4165 - Depend on psycopg2-binary in the Python wheel, rather than psycopg2. - Bug fixes * Ensure that on clicking Delete button should not delete rows immediately from the database server, it should be deleted when Save button will be clicked. * Ensure that newly added row in backgrid should be visible. * Ensure that JSON strings as comments should be added properly for all the objects. * Fix an issue where Deleting N number of rows makes first N number of rows disable. * Added support for Default Partition. * Fix an issue where ‘GRANT UPDATE’ sql should be displayed for default sequence privileges. * Ensure that confirmation dialog should be popped up before reload of query tool or debugger if it is opened in a new browser tab. * Ensure that record should be add/edited for root partition table with primary keys. * Fixed alignment issue of columns in definition section of Index node. * Fixed ‘Location cannot be empty’ error when open Tablespace properties. * Fix an issue where the dropdown becomes misaligned/displaced. * Ensure the treeview shows all sequences except those used to implement IDENTITY columns (which can be edited as part of the column). Show all if Show System Objects is enabled. * Fixed ‘Increment value cannot be empty’ error for existing tables. * Ensure that parameters of procedures for EPAS server 10 and below should be set/reset properly. * Prevent duplicate columns being included in reverse engineered SQL for tables. * Ensure sanity of the permissions on the storage and session directories and the config database.- Update to pgadmin4 4.5 - Bug fixes * Fixed ‘Change Password’ issue for SCRAM authentication. * Ensure that two consecutive SELECT statements should work properly. * Relabel the Save button on the datagrid text editor to avoid confusion with the actual Save button that updates the database. * Added recommended ESLinter checks. * Ensure that pgAdmin4 should work properly with psycopg2 v2.8 - Changes from pgadmin4 4.4 Warning: This release includes a bug fix (Bug #3887) which will rename the per-user storage directories for existing users when running in server mode. Previously, saved SQL queries were stored under the STORAGE_DIR in a sub-directory named after the username part of the user’s email address. From this version onwards, the full email address is used, with the @ replaced with an underscore. For example, in v.4.3 with STORAGE_DIR set to /var/lib/pgadmin4 user files may be stored in: /var/lib/pgadmin4/storage/username/ With the fix, that directory will be renamed (or created for new users) as: /var/lib/pgadmin4/storage/username_example.com/ - Features * Add support for reverse proxied setups with Gunicorn, and document Gunicorn, uWSGI & NGINX configurations. * Make the Query Tool history persistent across sessions. * Remove the large and unnecessary dependency on React and 87 other related libraries. * Add support for IDENTITY columns. * Add an ePub doc build target. - Bug fixes * Fix naming inconsistency for the column and FTS parser modules. * Include inherited column comments and defaults in reverse engineered table SQL. * Improve a couple of German translations. * Use the user’s full email address (not just the username part) as the basis for the storage directory name. * Update wcDocker to fix the issue where the Scratch Pad grows in size if the results panel is resized. * Avoid ‘bogus varno’ message from Postgres when viewing the SQL for a table with triggers. * Update all Python and JavaScript dependencies. * Include comment SQL for inherited columns in reverse engineered table SQL. * Make the WHEN field a CodeMirror control on the Event Trigger dialogue. * Fix the online help button on the resource group dialogue. * Enable the online help button on the index dialogue. * Handle resultsets with zero columns correctly in the Query Tool. * Include inherited columns in SELECT scripts. * Fix the latexpdf doc build. * Fix handling of numeric arrays in View/Edit Data. * Enlarge the grab handles for resizing dialogs etc. * Append the file suffix to filenames when needed in the File Create dialogue. * Ensure that Firefox prompts for a filename/location when downloading query results as a CSV file. * Change the CodeMirror active line background colour to $color-danger-lighter so it doesn’t conflict with the selection colour. * Fix the RE-SQL syntax for roles with a VALID UNTIL clause. * Prevent an empty error message being shown when “downloading” a CREATE script using the CSV download. * Overhaul the layout saving code so it includes the Query Tool and Debugger, and stores the layout when change events are detected rather than (unreliably) on exit. * Display errors during CSV download from the Query Tool in the UI rather than putting them in the CSV file. * Improve the German translation for Backup Server. * Ensure the toolbar buttons are properly reset following a CSV download in the Query Tool. * Fix SQL help for EPAS 10+, and refactor the URL generation code into a testable function. * Ensure sequences can be created with increment, start, minimum and maximum options set. * Fix an issue where JSON data would not be rendered in the Query Tool. * Ensure View/Materialized View node should be visible after updating any property. * Fix custom autovacuum configuration for Materialized Views.- Update to pgadmin4 4.3 - Features * Install a script to start pgAdmin (pgadmin4) from the command line when installed from the Python wheel. * Add a “scratch pad” to the Query Tool to hold text snippets whilst editing. * Add Commit and Rollback buttons to the Query Tool. * Allow X-FRAME-OPTIONS to be set for security. Default to SAMEORIGIN. * Automatically expand child nodes as well as the selected node on the treeview if there is only one. * Include multiple versions of the PG utilties in containers. * Update Alpine Linux version in the docker container. * Support double-click on Query Tool result grid column resize handles to auto-size to the content. - Bug fixes * Ensure size stats are prettified on the statistics tab when the UI language is not English. * Handle display of roles with expiration set to infinity correctly. * Allow editing of values in columns with the oid datatype which are not an actual row OID. * Make the Query Tool tab titles more concise and useful. * Fix support for bigint’s in JSONB data. * Update CodeMirror to 5.43.0 to resolve issues with auto-indent. * Ensure JSON data isn’t modified in-flight by psycopg2 when using View/Edit data. * Modify the Download as CSV option to use the same connection as the Query Tool its running in so temporary tables etc. can be used. * Fix context sub-menu alignment on Safari. * Update documentation screenshots as per new design. * Fix alignment of Close and Maximize button of Grant Wizard. * Add full support and testsfor all PG server side encodings. * Fix editing of table data with a JSON primary key. * Ignore exceptions in the logger. * Close connections gracefully when the user logs out of pgAdmin. * Fix alignment of checkbox to drop multiple schedules of pgAgent job. * Don’t exclude SELECT statements from transaction management in the Query Tool in case they call data-modifying functions. * Optimise display of Dependencies and Dependents, and use on-demand loading of rows in batches of 100. * Fix alignment of import/export toggle switch. * Prevent an error when closing the Sort/Filter dialogue with an empty filter string. * Fix alignment of Connection type toggle switch of pgagent. * Fix the query to set bytea_output so that read-only standbys don’t consider it a write query. * Add full support and testsfor all PG server side encodings. * Don’t embed docs and external sites in iframes, to allow the external sites to set X-FRAME-OPTIONS = DENY for security. * Add full support and testsfor all PG server side encodings. * Custom-encode forward slashes in URL parameters as Apache HTTPD doesn’t allow them in some cases. * Update CodeMirror to 5.43.0 to resolve issues with tab indent with use spaces enabled. * Ensure long queries don’t cause errors when downloading CSV in the Query Tool. * Disable the editor and execute functions whilst queries are executing. * Fix an issue where importing servers fails if a group already exists for a different user.- Update to pgadmin4 4.2 - Bug fixes * Replace Bootstrap switch with Bootstrap4 toggle to improve the performance. * Replace the PyCrypto module with the cryptography module. * Fixed SQL for foreign table options. * Fixed execution time to show Hours part for long running queries in Query Tool. * Messages tab of query tool should be clear on subsequent execution of table/view using View/Edit Data. * Clear drop-down menu should be disabled for View/Edit Data. * Fixed Statistics panel hang issue for 1000+ tables. * Proper error should be thrown when server group is created with existing name. * Ensure long string should be wrap in alertify dialogs. * Ensure that output of the query should be displayed even if Data Output window is detached from the Query Tool. * Inline edbspl trigger functions should not be visible in Grant Wizard. * Proper SQL should be generated when create function with return type as custom type argument. * Ensure that database restriction of server dialog should work with special characters. * Ensure that Backup/Restore button should work on single click. * Fixed SQL for when clause while creating Trigger. * Proper SQL should be generated when creating/changing column with custom type argument. * Ensure that file format combo box value should be retained when hidden files checkbox is toggled. * Proper SQL should be generated when create procedure with custom type arguments. * Ensure that browser should warn before close or refresh. * Fixed EXEC script for procedures. * Proper SQL should be generated when create domain of type interval with precision. * Drop-down should be closed when click on any other toolbar button. * Fixed keyboard navigation for dialog tabs. * Increase frames splitter mouse hover area to make it easier to resize. * Fixed alignment of tree arrow icons for Internet Explorer. * Ensure object names in external process dialogues are properly escaped. * Correct order of Save and Cancel button for json/jsonb editing. * Data should be updated properly for FTS Configurations, FTS Dictionaries, FTS Parsers and FTS Templates. * Fixed unable to drop multiple Rules and Foreign Tables from properties tab. * Fixed Query Tool Initialization Error. * Fixed keyboard navigation for Select2 and Privilege cell in Backgrid. * Correct schema should be displayed in Materialized View dialog. * Fixed debugger issue for procedure inside package for EPAS servers. * Fix alignment of help messages in properties panels. * Fix alignment of submenu for Internet Explorer. * Ensure that grant wizard should list down functions for EPAS server running with no-redwood-compat mode. * Dashboard graph optimization. * Remove Python 2.6 code that’s now obsolete. * Expose the bind address in the Docker container via PGADMIN_BIND_ADDRESS. * Exclude HTTPExceptions from the all_exception_handler as they should be returned as-is. - Rebase fix-python3-crypto-call.patch- Update to pgadmin4 4.1 - Bug fixes * Fix SQL generated for tables with inherited columns. * Ensure the context menu works after a server is renamed. * Fix ordering of VACUUM options which changed in PG11. * Don’t show system catalogs in the schemas property list unless show system objects is enabled. * Fix help for the backup/restore dialogues. * Ensure that last row of table data should be visible and user will be able to add new row. * Make the browser more robust in the face of multibyte characters in SQL_ASCII databases. - Update to pgadmin4 4.0 - Features * Allow query plans to be downloaded as an SVG file. * New UI design. * Allow servers to be pre-loaded into container deployments. - Bug fixes * Increase the size of the resize handle of the edit grid text pop-out. * Fix handling of array types as inputs to the debugger. * Fix an issue that could cause the Query Tool to fail to render. * Display event trigger functions correctly on EPAS. * Further improvements to treeview restoration. * Run Postfix in the container build so passwords can be reset etc. * Add titles to the code areas of the Query Tool and Debugger to ensure that panels can be re-docked within them. * Fix a webpack issue that could cause the Query Tool to fail to render. * Ensure we display the relation name (and not the OID) in the locks table wherever possible. * Fix an encoding issue in the query tool. * Include the WHERE clause on EXCLUDE constraints in RE-SQL. * Fix an issue when user define Cast from smallint->text is created. * Hide Radio buttons that should not be shown on the maintenance dialogue. * Ensure that null values handled properly in CSV download. * Tweak the wording on the Grant Wizard. * Prevent attempts to bulk-drop schema objects. * Ensure the browser toolbar buttons work in languages other than English. * Allow horizontal sizing of the edit grid text pop-out. * Ensure auto complete should works when first identifier in the FROM clause needs quoting. * Ensure auto complete should works for columns from a schema-qualified table. * Ensure identifiers are properly displayed in the plan viewer. * Make the setup process more robust against aborted executions. * Fixed an issue while creating export job. - Make pgadmin4-web suggest the pgadmin4-doc package instead of requiring it.- Update to pgadmin4 3.6 - Features * Add support for dropping multiple objects at once from the collection Properties panel. * Add the ability to import and export server definitions from a config database - Bug fixes * Ensure previous notices are not removed from the Messages tab in the Query Tool if an error occurs during query execution. * Allow the selection order to be preserved in the Select2 control to fix column ordering in data Import/Export. * Allow use of 0 (integer) and empty strings as parameters in the debugger. * Properly report errors when debugging cannot be started. * Prevent the debugger controls being pressed again before previous processing is complete. * Fix toggle breakpoints buttons in the debugger. * Fix changes to the NOT NULL and default value options in the Table Dialogue. * Fix dropping of multiple functions/procedures at once.- Compact description and trim first-person grammar. - Rename pgadmin4-docs to pgadmin4-doc to be in line with the naming of other packages in openSUSE. - Safeguard fdupes to not run over partition boundaries.- Update to pgadmin4 3.5 - Features * Save the treeview state periodically, and restore it automatically when reconnecting. * Migrate from Bootstrap 3 to Bootstrap 4. - Bug fixes * Ensure that Utilities(Backup/Restore/Maintenence/Import-Export) should not be started if binary path is wrong and also added ‘Stop Process’ button to cancel the process. * Fix syntax error when creating new pgAgent schedules with a start date/time and exception. * Cleanup session files periodically. * Rename the ‘SQL Editor’ section of the Preferences to ‘Query Tool’ as it applies to the whole tool, not just the editor. * Fix CREATE Script functionality for EDB-Wrapped functions. * Fix connection garbage collector. * Purge connections from the cache on logout. * Ensure that utility existence check should work for schema and other child objects while taking Backup/Restore. * Fixed fatal error while launching the pgAdmin4 3.5. Update the version of the Flask to 0.12.4 for release.- Update to pgadmin4 3.4 - Features * Move all CSS into SCSS files for consistency and ease of colour maintenance etc. * Add optional data point markers and mouse-over tooltips to display values on graphs. * Add shortcuts for View Data and the Query tool to the Browser header bar. - Bug fixes * Ensure the runtime can startup properly if there are wide characters in the logfile path on Windows. * Fix handling of backslashes in the edit grid. * Ensure queries are no longer executed when dashboards are closed. * Fix support for the CLOB datatype in EPAS. * Fix logic around validation and highlighting of Sort/Filter in the Query Tool. * Ensure auto-complete works for objects in schemas other than public and pg_catalog. * Ensure changes to Query Tool settings from the Preferences dialogue are applied before executing queries. * Swap the Schema and Schemas icons and Catalog and Catalogs icons that had been used the wrong way around.- Update to pgadmin4 3.3 - Features * Add a geometry viewer that can render PostGIS data on a blank canvas or various map sources. * Added new backup/restore options for PostgreSQL 11. Added dump options for 'pg_dumpall'. * Add a Spanish translation. - Bug fixes * Stabilise feature tests for continuous running on CI systems. * Fixed debugger execution issues. * Ensure 'select all' and 'unselect all' working properly for pgAgent schedule. * Fix sort/filter dialog issue where it incorrectly requires ASC/DESC. * Ensure backup should work with '--data-only' and '--schema-only' for any format. * Fix keyboard shortcuts layout in the preferences panel. * Merge pgcli code with version 1.10.3, which is used for auto complete feature. * Ensure that refreshing a node also updates the Property list. * Ensure that refresh button on dashboard should refresh the table. * Handle connection errors properly in the query tool. * Make session implementation thread safe * Ensure external table node should be visible only for GPDB. * Fix auto scrolling issue in debugger on step in and step out. * Fix sort/filter dialog editing issue. * Ensure sort/filter dialog should display proper message after losing database connection. * Ensure sql for Role should be visible in SQL panel for GPDB. * When building the Windows installer, copy system Python packages before installing dependencies to ensure we don't end up with older versions than intended. * Correct the documentation of View/Edit data.- Initial release of pgadmin4 3.2h04-ch1b 1729673517  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~8.5-150600.3.6.1pgadmin4-docsen_USMakefile.sphinxadd_restore_point_dialog.rstbackup_and_restore.rstbackup_dialog.rstbackup_globals_dialog.rstbackup_server_dialog.rstbuild_code_snippet.pycast_dialog.rstchange_ownership.rstchange_password_dialog.rstchange_user_password.rstcheck_dialog.rstclear_saved_passwords.rstcloud_aws_rds.rstcloud_azure_database.rstcloud_biganimal_cluster.pngcloud_deployment.rstcloud_edb_biganimal.rstcloud_google_cloud_sql.rstcode_overview.rstcode_review.rstcoding_standards.rstcollation_dialog.rstcolumn_dialog.rstcompound_trigger_dialog.rstconf.pyconfig_py.rstconnect_error.rstconnect_to_server.rstconnecting.rstcontainer_deployment.rstcontributions.rstdatabase_dialog.rstdbms_job.rstdbms_job_scheduler.rstdbms_program.rstdbms_schedule.rstdebugger.rstdeployment.rstdesktop_deployment.rstdeveloper_tools.rstdomain_constraint_dialog.rstdomain_dialog.rsteditgrid.rsterd_tool.rstevent_trigger_dialog.rstexclusion_constraint_dialog.rstextension_dialog.rstexternal_database.rstforeign_data_wrapper_dialog.rstforeign_key_dialog.rstforeign_server_dialog.rstforeign_table_dialog.rstfts_configuration_dialog.rstfts_dictionary_dialog.rstfts_parser_dialog.rstfts_template_dialog.rstfunction_dialog.rstgetting_started.rstgrant_wizard.rstimagesadd_restore_point.pngadd_user.pngbackup_disable.pngbackup_do_not_save.pngbackup_general.pngbackup_globals_general.pngbackup_miscellaneous.pngbackup_object_selection.pngbackup_objects.pngbackup_process_watcher.pngbackup_queries.pngbackup_sections.pngbackup_server_disable.pngbackup_server_do_not_save.pngbackup_server_general.pngbackup_server_miscellaneous.pngbackup_server_objects.pngbackup_server_queries.pngbackup_server_table.pngbackup_table.pngcast_definition.pngcast_general.pngcast_sql.pngce_error_hba.pngce_not_running.pngce_password_failed.pngce_timeout.pngchange_ownership.pngchange_ownership_info.pngchange_user_password.pngcheck_definition.pngcheck_general.pngcheck_sql.pngclear_saved_password.pngclear_tunnel_password.pngcloud_aws_credentials.pngcloud_aws_database.pngcloud_aws_instance.pngcloud_aws_review.pngcloud_azure_bg_process_watcher.pngcloud_azure_credentials.pngcloud_azure_database.pngcloud_azure_instance.pngcloud_azure_network.pngcloud_azure_review.pngcloud_biganimal_cluster.pngcloud_biganimal_credentials.pngcloud_biganimal_database.pngcloud_biganimal_instance.pngcloud_biganimal_review.pngcloud_deployment_tree.pngcloud_google_credentials.pngcloud_google_database.pngcloud_google_deployment_tree.pngcloud_google_instance.pngcloud_google_network.pngcloud_google_review.pngcloud_provider_for_postgresql.pngcollation_definition.pngcollation_general.pngcollation_sql.pngcolumn_constraint_generated.pngcolumn_constraint_identity.pngcolumn_constraints.pngcolumn_definition.pngcolumn_general.pngcolumn_security.pngcolumn_sql.pngcolumn_variables.pngcompound_trigger_code.pngcompound_trigger_events.pngcompound_trigger_general.pngcompound_trigger_general_enabled.pngcompound_trigger_sql.pngconnect_to_server.pngconnect_to_tunneled_server.pngdatabase_advanced.pngdatabase_definition.pngdatabase_general.pngdatabase_parameters.pngdatabase_security.pngdatabase_sql.pngdbms_job_action.pngdbms_job_arguments.pngdbms_job_code.pngdbms_job_details.pngdbms_job_general.pngdbms_job_predefined.pngdbms_job_repeat.pngdbms_job_scheduler.pngdbms_job_sql.pngdbms_program_action.pngdbms_program_arguments.pngdbms_program_code.pngdbms_program_general.pngdbms_program_sql.pngdbms_schedule_general.pngdbms_schedule_repeat.pngdbms_schedule_sql.pngdebug_error_message.pngdebug_ic_step_in.pngdebug_main.pngdebug_params.pngdebug_set_breakpoint.pngdebug_stack.pngdebug_step_in.pngdebug_toolbar.pngdebug_variables.pngdomain_constraint_definition.pngdomain_constraint_general.pngdomain_constraint_sql.pngdomain_constraints.pngdomain_definition.pngdomain_general.pngdomain_security.pngdomain_sql.pngeditgrid.pngeditgrid_filter_dialog.pngeditgrid_toolbar.pngerd_1m_dialog.pngerd_mm_dialog.pngerd_table_dialog.pngerd_table_link.pngerd_table_node.pngerd_table_note.pngerd_tool.pngerd_tool_toolbar.pngevent_trigger_definition.pngevent_trigger_general.pngevent_trigger_security.pngevent_trigger_sql.pngexclusion_constraint_columns.pngexclusion_constraint_definition.pngexclusion_constraint_general.pngexclusion_constraint_sql.pngextension_definition.pngextension_general.pngextension_sql.pngfile_menu.pngforeign_data_wrapper_definition.pngforeign_data_wrapper_general.pngforeign_data_wrapper_options.pngforeign_data_wrapper_security.pngforeign_data_wrapper_sql.pngforeign_key_action.pngforeign_key_columns.pngforeign_key_definition.pngforeign_key_general.pngforeign_key_sql.pngforeign_server_definition.pngforeign_server_general.pngforeign_server_options.pngforeign_server_security.pngforeign_server_sql.pngforeign_table_columns.pngforeign_table_constraints.pngforeign_table_definition.pngforeign_table_general.pngforeign_table_options.pngforeign_table_security.pngforeign_table_sql.pngfts_configuration_definition.pngfts_configuration_general.pngfts_configuration_sql.pngfts_configuration_tokens.pngfts_dictionary_definition.pngfts_dictionary_general.pngfts_dictionary_options.pngfts_dictionary_sql.pngfts_parser_definition.pngfts_parser_general.pngfts_parser_sql.pngfts_template_definition.pngfts_template_general.pngfts_template_sql.pngfunction_code.pngfunction_definition.pngfunction_general.pngfunction_options.pngfunction_parameters.pngfunction_security.pngfunction_sql.pnggeometry_viewer.pnggeometry_viewer_property_table.pnggrant_wizard_step1.pnggrant_wizard_step2.pnggrant_wizard_step3.pnghelp_menu.pngimport_export_columns.pngimport_export_complete.pngimport_export_general.pngimport_export_options.pngimport_export_pw.pngimport_export_servers_step1.pngimport_export_servers_step2.pngimport_export_servers_step3.pngindex_columns.pngindex_definition.pngindex_general.pngindex_sql.pngjson_editor_code_preview_tool_bar.pngjson_editor_modes.pngjson_editor_tree_form_mode_tool_bar.pnglanguage_definition.pnglanguage_general.pnglanguage_security.pnglanguage_sql.pnglogin.pnglogin_attempt_user.pnglogin_recover.pnglogo-128.pnglogo-right-128.pngmain_dashboard_general.pngmain_dashboard_sys_statistics_cpu.pngmain_dashboard_sys_statistics_memory.pngmain_dashboard_sys_statistics_storage.pngmain_dashboard_sys_statistics_summary.pngmain_dependencies.pngmain_dependents.pngmain_left_pane.pngmain_properties_edit.pngmain_properties_icons.pngmain_properties_table.pngmain_query_tool.pngmain_sql.pngmain_statistics.pngmaintenance_analyze.pngmaintenance_cluster.pngmaintenance_reindex.pngmaintenance_vacuum.pngmaster_password_enter.pngmaster_password_reset.pngmaster_password_set.pngmaterialized_view_code.pngmaterialized_view_definition.pngmaterialized_view_general.pngmaterialized_view_parameter.pngmaterialized_view_security.pngmaterialized_view_sql.pngmfa_registration.pngoauth2_login.pngobject_menu.pngpackage_body.pngpackage_general.pngpackage_header.pngpackage_security.pngpackage_sql.pngpassword.pngpgagent_general.pngpgagent_properties.pngpgagent_schedule_definition.pngpgagent_schedule_exceptions.pngpgagent_schedule_repeat.pngpgagent_schedules.pngpgagent_sql.pngpgagent_step_definition.pngpgagent_step_definition_code.pngpgagent_steps.pngpreferences_browser_breadcrumbs.pngpreferences_browser_display.pngpreferences_browser_keyboard_shortcuts.pngpreferences_browser_nodes.pngpreferences_browser_processes.pngpreferences_browser_properties.pngpreferences_browser_tab_settings.pngpreferences_dashboard_display.pngpreferences_dashboard_graphs.pngpreferences_dashboard_refresh.pngpreferences_debugger_keyboard_shortcuts.pngpreferences_erd_keyboard_shortcuts.pngpreferences_erd_options.pngpreferences_graph_visualiser.pngpreferences_misc_themes.pngpreferences_misc_user_language.pngpreferences_paths_binary.pngpreferences_paths_help.pngpreferences_schema_diff.pngpreferences_sql_auto_completion.pngpreferences_sql_csv_output.pngpreferences_sql_display.pngpreferences_sql_editor.pngpreferences_sql_explain.pngpreferences_sql_formatting.pngpreferences_sql_keyboard_shortcuts.pngpreferences_sql_options.pngpreferences_sql_results_grid.pngpreferences_storage_options.pngprimary_key_definition.pngprimary_key_general.pngprimary_key_sql.pngprocedure_code.pngprocedure_definition.pngprocedure_general.pngprocedure_options.pngprocedure_parameters.pngprocedure_security.pngprocedure_sql.pngprocess_watcher_storage_manager.pngprocesses_details.pngprocesses_main.pngpromote_view_edit_data_warning.pngpsql_tool.pngpublication_general.pngpublication_options.pngpublication_sql.pngpublication_tables_14.pngpublication_tables_15.pngquery_autocomplete.pngquery_bar_chart.pngquery_data_editing.pngquery_editing.pngquery_execute_section.pngquery_execution.pngquery_explain_analyze_statistics.pngquery_explain_analyze_table.pngquery_graph_toolbar.pngquery_graph_type.pngquery_graph_visualiser_panel.pngquery_graph_xaxis.pngquery_graph_yaxis.pngquery_line_chart.pngquery_output_data.pngquery_output_error.pngquery_output_explain_details.pngquery_output_history.pngquery_output_messages.pngquery_output_notifications_listen.pngquery_output_notifications_notify.pngquery_output_notifications_panel.pngquery_pie_chart.pngquery_sql_editor.pngquery_stacked_bar_chart.pngquery_stacked_line_chart.pngquery_status_bar.pngquery_tool.pngquery_tool_connection_status.pngquery_tool_editable_columns.pngquery_tool_macros_clear_confirmation.pngquery_tool_manage_macros.pngquery_tool_manage_macros_dialog.pngquery_tool_message.pngquery_tool_new_connection_dialog.pngquery_tool_new_connection_options.pngquery_toolbar.pngquery_toolbar_explain.pngreplica_nodes_general.pngreplica_nodes_replication.pngresource_group_general.pngresource_group_sql.pngrestore_disable.pngrestore_do_not_save.pngrestore_general.pngrestore_miscellaneous.pngrestore_objects.pngrestore_queries.pngrestore_sections.pngrestore_table.pngrls_policy_commands_tab.pngrls_policy_general_tab.pngrls_policy_sql_tab.pngrole_definition.pngrole_drop_dialog.pngrole_drop_dialog_sql.pngrole_general.pngrole_membership.pngrole_parameters.pngrole_privileges.pngrole_reassign_dialog.pngrole_reassign_dialog_sql.pngrole_security.pngrole_sql.pngrule_commands.pngrule_condition.pngrule_definition.pngrule_definition_enabled.pngrule_general.pngrule_sql.pngruntime_configuration.pngruntime_error.pngruntime_menu.pngruntime_standalone.pngruntime_view_log.pngschema_default_privileges.pngschema_diff_DDL_comparison.pngschema_diff_compare_button.pngschema_diff_comparison_results.pngschema_diff_dialog.pngschema_diff_filter_option.pngschema_diff_generate_script_query_editor.pngschema_general.pngschema_security.pngschema_sql.pngsearch_objects.pngsequence_definition.pngsequence_general.pngsequence_security.pngsequence_sql.pngserver_advanced.pngserver_connection.pngserver_general.pngserver_group.pngserver_parameters.pngserver_ssh_tunnel.pngshared_storage.pngsm_download.pngsm_go_back.pngsm_home.pngsm_icon.pngsm_new_folder.pngsm_options.pngsm_refresh.pngsm_ss.pngstorage_manager.pngsubscription_connection.pngsubscription_general.pngsubscription_sql.pngsubscription_ssl.pngsubscription_with_1.pngsubscription_with_2.pngsynonym_definition.pngsynonym_general.pngsynonym_sql.pngtable_advanced.pngtable_check.pngtable_columns.pngtable_constraints.pngtable_exclude.pngtable_foreign_key.pngtable_general.pngtable_parameter.pngtable_partition.pngtable_partition_tree.pngtable_security.pngtable_sql.pngtable_unique.pngtablespace_definition.pngtablespace_general.pngtablespace_parameters.pngtablespace_security.pngtablespace_sql.pngtool_menu.pngtoolbar.pngtrigger_code.pngtrigger_definition.pngtrigger_definition_enabled.pngtrigger_events.pngtrigger_function_code.pngtrigger_function_definition.pngtrigger_function_general.pngtrigger_function_options.pngtrigger_function_parameters.pngtrigger_function_security.pngtrigger_function_sql.pngtrigger_general.pngtrigger_sql.pngtrigger_transition.pngtype_composite.pngtype_enumeration.pngtype_external.pngtype_general.pngtype_range.pngtype_security.pngtype_shell.pngtype_sql.pngunique_constraint_definition.pngunique_constraint_general.pngunique_constraint_sql.pnguser.pnguser_mapping_general.pnguser_mapping_options.pnguser_mapping_sql.pngview_code.pngview_definition.pngview_general.pngview_security.pngview_sql.pngviewdata_filter_dialog.pngwelcome.pngimport_export_data.rstimport_export_servers.rstindex.rstindex_dialog.rstkerberos.rstkeyboard_shortcuts.rstlanguage_dialog.rstldap.rstlicence.rstlogin.rstmaintenance_dialog.rstmanagement_basics.rstmanaging_cluster_objects.rstmanaging_database_objects.rstmaster_password.rstmaterialized_view_dialog.rstmenu_bar.rstmfa.rstmodifying_tables.rstoauth2.rstpackage_dialog.rstpgagent.rstpgagent_install.rstpgagent_jobs.rstpreferences.rstprimary_key_dialog.rstprocedure_dialog.rstprocesses.rstpsql_tool.rstpublication_dialog.rstquery_tool.rstquery_tool_toolbar.rstrelease_notes.rstrelease_notes_1_0.rstrelease_notes_1_1.rstrelease_notes_1_2.rstrelease_notes_1_3.rstrelease_notes_1_4.rstrelease_notes_1_5.rstrelease_notes_1_6.rstrelease_notes_2_0.rstrelease_notes_2_1.rstrelease_notes_3_0.rstrelease_notes_3_1.rstrelease_notes_3_2.rstrelease_notes_3_3.rstrelease_notes_3_4.rstrelease_notes_3_5.rstrelease_notes_3_6.rstrelease_notes_4_0.rstrelease_notes_4_1.rstrelease_notes_4_10.rstrelease_notes_4_11.rstrelease_notes_4_12.rstrelease_notes_4_13.rstrelease_notes_4_14.rstrelease_notes_4_15.rstrelease_notes_4_16.rstrelease_notes_4_17.rstrelease_notes_4_18.rstrelease_notes_4_19.rstrelease_notes_4_2.rstrelease_notes_4_20.rstrelease_notes_4_21.rstrelease_notes_4_22.rstrelease_notes_4_23.rstrelease_notes_4_24.rstrelease_notes_4_25.rstrelease_notes_4_26.rstrelease_notes_4_27.rstrelease_notes_4_28.rstrelease_notes_4_29.rstrelease_notes_4_3.rstrelease_notes_4_30.rstrelease_notes_4_4.rstrelease_notes_4_5.rstrelease_notes_4_6.rstrelease_notes_4_7.rstrelease_notes_4_8.rstrelease_notes_4_9.rstrelease_notes_5_0.rstrelease_notes_5_1.rstrelease_notes_5_2.rstrelease_notes_5_3.rstrelease_notes_5_4.rstrelease_notes_5_5.rstrelease_notes_5_6.rstrelease_notes_5_7.rstrelease_notes_6_0.rstrelease_notes_6_1.rstrelease_notes_6_10.rstrelease_notes_6_11.rstrelease_notes_6_12.rstrelease_notes_6_13.rstrelease_notes_6_14.rstrelease_notes_6_15.rstrelease_notes_6_16.rstrelease_notes_6_17.rstrelease_notes_6_18.rstrelease_notes_6_19.rstrelease_notes_6_2.rstrelease_notes_6_20.rstrelease_notes_6_21.rstrelease_notes_6_3.rstrelease_notes_6_4.rstrelease_notes_6_5.rstrelease_notes_6_6.rstrelease_notes_6_7.rstrelease_notes_6_8.rstrelease_notes_6_9.rstrelease_notes_7_0.rstrelease_notes_7_1.rstrelease_notes_7_2.rstrelease_notes_7_3.rstrelease_notes_7_4.rstrelease_notes_7_5.rstrelease_notes_7_6.rstrelease_notes_7_7.rstrelease_notes_7_8.rstrelease_notes_8_0.rstrelease_notes_8_1.rstrelease_notes_8_2.rstrelease_notes_8_3.rstrelease_notes_8_4.rstrelease_notes_8_5.rstreplica_nodes_dialog.rstresource_group_dialog.rstrestore_dialog.rstrestore_locked_user.rstrls_policy_dialog.rstrole_dialog.rstrole_reassign_dialog.rstrule_dialog.rstschema_dialog.rstschema_diff.rstsearch_objects.rstsequence_dialog.rstserver_deployment.rstserver_dialog.rstserver_group_dialog.rststorage_manager.rstsubmitting_pull_requests.rstsubscription_dialog.rstsynonym_dialog.rsttabbed_browser.rsttable_dialog.rsttablespace_dialog.rstthemepgadmin4layout.htmlstaticfavicon.icostyle.csstheme.conftoolbar.rsttranslations.rsttree_control.rsttrigger_dialog.rsttrigger_function_dialog.rsttype_dialog.rstunique_constraint_dialog.rstuser_interface.rstuser_management.rstuser_mapping_dialog.rstusing_pgagent.rstview_dialog.rstviewdata_filter.rstwebserver.rst/usr/share/doc/packages//usr/share/doc/packages/pgadmin4-docs//usr/share/doc/packages/pgadmin4-docs/en_US//usr/share/doc/packages/pgadmin4-docs/en_US/images//usr/share/doc/packages/pgadmin4-docs/en_US/theme//usr/share/doc/packages/pgadmin4-docs/en_US/theme/pgadmin4//usr/share/doc/packages/pgadmin4-docs/en_US/theme/pgadmin4/static/-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:36129/SUSE_SLE-15-SP6_Update/369e26ffb6199e11b93477977d17a8df-pgadmin4.SUSE_SLE-15-SP6_Updatedrpmxz5noarch-suse-linux  !"##$%&'()*+,-../01234566789:;<=>?@ABCCDEAFGHIHJHHKLKMKKLNOPPPPQKRSTUUVWXUYZA=A=[\V]^_`abcde=Affggh>hijA=AEAAAE=HkklklkEAm=====AnJooooopqrstuvwxyz{|}~=A=JJJ=AAAH==jAA=      A AAA===BEA=AA !"!directoryASCII textUTF-8 Unicode textPython script, ASCII text executablePNG image data, 875 x 611, 8-bit/color RGBA, non-interlacedAlgol 68 source, ASCII textASCII text, with very long linesPNG image data, 583 x 149, 8-bit/color RGB, non-interlacedPNG image data, 900 x 425, 8-bit/color RGB, non-interlacedPNG image data, 800 x 231, 8-bit/color RGBA, non-interlacedPNG image data, 800 x 406, 8-bit/color RGBA, non-interlacedPNG image data, 800 x 630, 8-bit/color RGBA, non-interlacedPNG image data, 800 x 552, 8-bit/color RGB, non-interlacedPNG image data, 800 x 446, 8-bit/color RGBA, non-interlacedPNG image data, 800 x 629, 8-bit/color RGBA, non-interlacedPNG image data, 800 x 266, 8-bit/color RGBA, non-interlacedPNG image data, 1000 x 627, 8-bit/color RGB, non-interlacedPNG image data, 800 x 575, 8-bit/color RGBA, non-interlacedPNG image data, 800 x 280, 8-bit/color RGBA, non-interlacedPNG image data, 800 x 243, 8-bit/color RGBA, non-interlacedPNG image data, 800 x 518, 8-bit/color RGBA, non-interlacedPNG image data, 800 x 482, 8-bit/color RGBA, non-interlacedPNG image data, 800 x 432, 8-bit/color RGBA, non-interlacedPNG image data, 800 x 294, 8-bit/color RGBA, non-interlacedPNG image data, 800 x 481, 8-bit/color RGBA, non-interlacedPNG image data, 800 x 520, 8-bit/color RGBA, non-interlacedPNG image data, 800 x 628, 8-bit/color RGBA, non-interlacedPNG image data, 520 x 572, 8-bit/color RGB, non-interlacedPNG image data, 583 x 304, 8-bit/color RGB, non-interlacedPNG image data, 583 x 305, 8-bit/color RGB, non-interlacedPNG image data, 583 x 283, 8-bit/color RGB, non-interlacedPNG image data, 583 x 150, 8-bit/color RGB, non-interlacedPNG image data, 550 x 315, 8-bit/color RGB, non-interlacedPNG image data, 550 x 316, 8-bit/color RGB, non-interlacedPNG image data, 550 x 353, 8-bit/color RGBA, non-interlacedPNG image data, 520 x 489, 8-bit/color RGB, non-interlacedPNG image data, 520 x 490, 8-bit/color RGB, non-interlacedPNG image data, 583 x 152, 8-bit/color RGB, non-interlacedPNG image data, 583 x 151, 8-bit/color RGB, non-interlacedPNG image data, 875 x 591, 8-bit/color RGB, non-interlacedPNG image data, 875 x 590, 8-bit/color RGB, non-interlacedPNG image data, 875 x 650, 8-bit/color RGB, non-interlacedPNG image data, 875 x 592, 8-bit/color RGB, non-interlacedPNG image data, 875 x 549, 8-bit/color RGB, non-interlacedPNG image data, 875 x 618, 8-bit/color RGBA, non-interlacedPNG image data, 875 x 580, 8-bit/color RGB, non-interlacedPNG image data, 875 x 578, 8-bit/color RGB, non-interlacedPNG image data, 875 x 615, 8-bit/color RGB, non-interlacedPNG image data, 800 x 422, 8-bit/color RGBA, non-interlacedPNG image data, 800 x 456, 8-bit/color RGBA, non-interlacedPNG image data, 800 x 372, 8-bit/color RGBA, non-interlacedPNG image data, 800 x 592, 8-bit/color RGBA, non-interlacedPNG image data, 800 x 576, 8-bit/color RGBA, non-interlacedPNG image data, 650 x 300, 8-bit/color RGB, non-interlacedPNG image data, 875 x 619, 8-bit/color RGBA, non-interlacedPNG image data, 875 x 400, 8-bit/color RGBA, non-interlacedPNG image data, 875 x 620, 8-bit/color RGBA, non-interlacedPNG image data, 875 x 621, 8-bit/color RGBA, non-interlacedPNG image data, 875 x 691, 8-bit/color RGBA, non-interlacedPNG image data, 875 x 612, 8-bit/color RGBA, non-interlacedPNG image data, 520 x 571, 8-bit colormap, non-interlacedPNG image data, 520 x 571, 8-bit/color RGB, non-interlacedPNG image data, 520 x 571, 8-bit/color RGBA, non-interlacedPNG image data, 520 x 594, 8-bit/color RGB, non-interlacedPNG image data, 520 x 593, 8-bit/color RGB, non-interlacedPNG image data, 520 x 573, 8-bit/color RGB, non-interlacedPNG image data, 520 x 573, 8-bit/color RGBA, non-interlacedPNG image data, 520 x 592, 8-bit/color RGB, non-interlacedPNG image data, 520 x 591, 8-bit/color RGB, non-interlacedPNG image data, 520 x 574, 8-bit/color RGB, non-interlacedPNG image data, 600 x 185, 8-bit/color RGB, non-interlacedPNG image data, 600 x 280, 8-bit/color RGB, non-interlacedPNG image data, 650 x 511, 8-bit/color RGBA, non-interlacedPNG image data, 650 x 600, 8-bit/color RGBA, non-interlacedPNG image data, 650 x 512, 8-bit/color RGBA, non-interlacedPNG image data, 524 x 575, 8-bit/color RGBA, non-interlacedPNG image data, 523 x 575, 8-bit/color RGBA, non-interlacedPNG image data, 2000 x 465, 8-bit/color RGBA, non-interlacedPNG image data, 450 x 419, 8-bit/color RGBA, non-interlacedPNG image data, 600 x 494, 8-bit/color RGBA, non-interlacedPNG image data, 485 x 575, 8-bit/color RGBA, non-interlacedPNG image data, 600 x 520, 8-bit/color RGBA, non-interlacedPNG image data, 525 x 575, 8-bit/color RGBA, non-interlacedPNG image data, 575 x 521, 8-bit/color RGBA, non-interlacedPNG image data, 875 x 441, 8-bit/color RGB, non-interlacedPNG image data, 875 x 380, 8-bit/color RGB, non-interlacedPNG image data, 875 x 501, 8-bit/color RGB, non-interlacedPNG image data, 875 x 521, 8-bit/color RGBA, non-interlacedPNG image data, 875 x 353, 8-bit/color RGB, non-interlacedPNG image data, 875 x 26, 8-bit/color RGB, non-interlacedPNG image data, 875 x 519, 8-bit/color RGB, non-interlacedPNG image data, 520 x 382, 8-bit/color RGB, non-interlacedPNG image data, 950 x 629, 8-bit/color RGB, non-interlacedPNG image data, 750 x 30, 8-bit/color RGB, non-interlacedPNG image data, 950 x 424, 8-bit/color RGB, non-interlacedPNG image data, 950 x 425, 8-bit/color RGB, non-interlacedPNG image data, 950 x 426, 8-bit/color RGB, non-interlacedPNG image data, 650 x 772, 8-bit/color RGB, non-interlacedPNG image data, 400 x 498, 8-bit/color RGB, non-interlacedPNG image data, 750 x 522, 8-bit/color RGB, non-interlacedPNG image data, 1050 x 607, 8-bit/color RGBA, non-interlacedPNG image data, 850 x 37, 8-bit/color RGBA, non-interlacedPNG image data, 520 x 405, 8-bit/color RGB, non-interlacedPNG image data, 520 x 406, 8-bit/color RGB, non-interlacedPNG image data, 520 x 572, 8-bit/color RGBA, non-interlacedPNG image data, 552 x 294, 8-bit/color RGBA, non-interlacedPNG image data, 520 x 570, 8-bit/color RGB, non-interlacedPNG image data, 650 x 536, 8-bit/color RGB, non-interlacedPNG image data, 650 x 538, 8-bit/color RGB, non-interlacedPNG image data, 520 x 429, 8-bit/color RGB, non-interlacedPNG image data, 650 x 502, 8-bit/color RGB, non-interlacedPNG image data, 650 x 503, 8-bit/color RGB, non-interlacedPNG image data, 1000 x 373, 8-bit/color RGB, non-interlacedPNG image data, 1000 x 357, 8-bit/color RGB, non-interlacedPNG image data, 870 x 531, 8-bit/color RGB, non-interlacedPNG image data, 870 x 532, 8-bit/color RGB, non-interlacedPNG image data, 870 x 507, 8-bit/color RGB, non-interlacedPNG image data, 600 x 292, 8-bit/color RGB, non-interlacedPNG image data, 800 x 631, 8-bit/color RGB, non-interlacedPNG image data, 800 x 322, 8-bit/color RGB, non-interlacedPNG image data, 800 x 630, 8-bit/color RGB, non-interlacedPNG image data, 800 x 892, 8-bit/color RGB, non-interlacedPNG image data, 800 x 503, 8-bit/color RGB, non-interlacedPNG image data, 870 x 545, 8-bit/color RGB, non-interlacedPNG image data, 870 x 544, 8-bit/color RGB, non-interlacedPNG image data, 870 x 543, 8-bit/color RGB, non-interlacedPNG image data, 726 x 411, 8-bit colormap, non-interlacedPNG image data, 725 x 618, 8-bit colormap, non-interlacedPNG image data, 707 x 434, 8-bit colormap, non-interlacedPNG image data, 725 x 414, 8-bit colormap, non-interlacedPNG image data, 1104 x 74, 8-bit/color RGB, non-interlacedPNG image data, 2018 x 1244, 8-bit/color RGB, non-interlacedPNG image data, 1102 x 80, 8-bit/color RGB, non-interlacedPNG image data, 400 x 292, 8-bit/color RGBA, non-interlacedPNG image data, 1200 x 607, 8-bit/color RGB, non-interlacedPNG image data, 400 x 243, 8-bit/color RGBA, non-interlacedPNG image data, 128 x 128, 8-bit/color RGBA, non-interlacedJPEG image data, JFIF standard 1.01, resolution (DPI), density 72x72, segment length 16, baseline, precision 8, 827x507, frames 3PNG image data, 823 x 81, 8-bit/color RGB, non-interlacedPNG image data, 823 x 125, 8-bit/color RGB, non-interlacedPNG image data, 450 x 1050, 8-bit/color RGBA, non-interlacedPNG image data, 823 x 441, 8-bit/color RGB, non-interlacedPNG image data, 823 x 61, 8-bit/color RGB, non-interlacedPNG image data, 823 x 187, 8-bit/color RGB, non-interlacedPNG image data, 823 x 442, 8-bit/color RGB, non-interlacedPNG image data, 823 x 252, 8-bit/color RGB, non-interlacedPNG image data, 823 x 444, 8-bit/color RGB, non-interlacedPNG image data, 800 x 526, 8-bit/color RGBA, non-interlacedPNG image data, 800 x 527, 8-bit/color RGBA, non-interlacedPNG image data, 800 x 775, 8-bit/color RGBA, non-interlacedPNG image data, 580 x 165, 8-bit/color RGB, non-interlacedPNG image data, 580 x 154, 8-bit/color RGB, non-interlacedPNG image data, 650 x 540, 8-bit/color RGB, non-interlacedPNG image data, 650 x 490, 8-bit/color RGBA, non-interlacedPNG image data, 650 x 502, 8-bit/color RGBA, non-interlacedPNG image data, 800 x 455, 8-bit/color RGBA, non-interlacedPNG image data, 800 x 371, 8-bit/color RGBA, non-interlacedPNG image data, 525 x 481, 8-bit/color RGBA, non-interlacedPNG image data, 520 x 498, 8-bit/color RGB, non-interlacedPNG image data, 520 x 501, 8-bit/color RGB, non-interlacedPNG image data, 520 x 499, 8-bit/color RGB, non-interlacedPNG image data, 583 x 352, 8-bit/color RGB, non-interlacedPNG image data, 520 x 437, 8-bit/color RGB, non-interlacedPNG image data, 700 x 528, 8-bit/color RGB, non-interlacedPNG image data, 520 x 477, 8-bit/color RGB, non-interlacedPNG image data, 600 x 599, 8-bit/color RGB, non-interlacedPNG image data, 520 x 438, 8-bit/color RGB, non-interlacedPNG image data, 600 x 596, 8-bit/color RGB, non-interlacedPNG image data, 520 x 436, 8-bit/color RGB, non-interlacedPNG image data, 875 x 534, 8-bit/color RGBA, non-interlacedPNG image data, 875 x 532, 8-bit/color RGBA, non-interlacedPNG image data, 875 x 536, 8-bit/color RGBA, non-interlacedPNG image data, 875 x 538, 8-bit/color RGBA, non-interlacedPNG image data, 875 x 533, 8-bit/color RGBA, non-interlacedPNG image data, 875 x 535, 8-bit/color RGB, non-interlacedPNG image data, 875 x 536, 8-bit/color RGB, non-interlacedPNG image data, 875 x 802, 8-bit/color RGB, non-interlacedPNG image data, 875 x 535, 8-bit/color RGBA, non-interlacedPNG image data, 876 x 536, 8-bit/color RGB, non-interlacedPNG image data, 650 x 512, 8-bit/color RGB, non-interlacedPNG image data, 650 x 510, 8-bit/color RGB, non-interlacedPNG image data, 650 x 509, 8-bit/color RGB, non-interlacedPNG image data, 650 x 511, 8-bit/color RGB, non-interlacedPNG image data, 800 x 500, 8-bit/color RGB, non-interlacedPNG image data, 900 x 578, 8-bit/color RGB, non-interlacedPNG image data, 950 x 435, 8-bit/color RGB, non-interlacedPNG image data, 875 x 525, 8-bit/color RGBA, non-interlacedPNG image data, 900 x 487, 8-bit/color RGB, non-interlacedPNG image data, 650 x 509, 8-bit colormap, non-interlacedPNG image data, 650 x 508, 8-bit colormap, non-interlacedPNG image data, 700 x 458, 8-bit colormap, non-interlacedPNG image data, 650 x 512, 8-bit colormap, non-interlacedPNG image data, 950 x 490, 8-bit/color RGB, non-interlacedPNG image data, 950 x 398, 8-bit/color RGB, non-interlacedPNG image data, 596 x 130, 8-bit/color RGBA, non-interlacedPNG image data, 250 x 302, 8-bit/color RGB, non-interlacedPNG image data, 950 x 597, 8-bit/color RGB, non-interlacedPNG image data, 450 x 58, 8-bit/color RGB, non-interlacedPNG image data, 950 x 355, 8-bit/color RGB, non-interlacedPNG image data, 950 x 363, 8-bit/color RGB, non-interlacedPNG image data, 375 x 207, 8-bit/color RGB, non-interlacedPNG image data, 450 x 386, 8-bit/color RGB, non-interlacedPNG image data, 950 x 183, 8-bit/color RGB, non-interlacedPNG image data, 450 x 555, 8-bit/color RGB, non-interlacedPNG image data, 450 x 515, 8-bit/color RGB, non-interlacedPNG image data, 950 x 399, 8-bit/color RGB, non-interlacedPNG image data, 950 x 462, 8-bit/color RGB, non-interlacedPNG image data, 950 x 508, 8-bit/color RGB, non-interlacedPNG image data, 950 x 364, 8-bit/color RGB, non-interlacedPNG image data, 950 x 339, 8-bit/color RGB, non-interlacedPNG image data, 950 x 512, 8-bit/color RGB, non-interlacedPNG image data, 950 x 376, 8-bit/color RGB, non-interlacedPNG image data, 950 x 509, 8-bit/color RGB, non-interlacedPNG image data, 950 x 379, 8-bit/color RGB, non-interlacedPNG image data, 950 x 438, 8-bit/color RGB, non-interlacedPNG image data, 1500 x 42, 8-bit/color RGB, non-interlacedPNG image data, 950 x 598, 8-bit/color RGB, non-interlacedPNG image data, 920 x 487, 8-bit/color RGB, non-interlacedPNG image data, 950 x 641, 8-bit/color RGB, non-interlacedPNG image data, 950 x 216, 8-bit/color RGB, non-interlacedPNG image data, 950 x 510, 8-bit/color RGB, non-interlacedPNG image data, 950 x 451, 8-bit/color RGB, non-interlacedPNG image data, 750 x 453, 8-bit/color RGB, non-interlacedPNG image data, 850 x 191, 8-bit/color RGB, non-interlacedPNG image data, 950 x 100, 8-bit/color RGB, non-interlacedPNG image data, 950 x 425, 8-bit/color RGBA, non-interlacedPNG image data, 650 x 714, 8-bit/color RGBA, non-interlacedPNG image data, 650 x 713, 8-bit/color RGBA, non-interlacedPNG image data, 520 x 513, 8-bit/color RGB, non-interlacedPNG image data, 800 x 278, 8-bit/color RGB, non-interlacedPNG image data, 800 x 361, 8-bit/color RGBA, non-interlacedPNG image data, 800 x 484, 8-bit/color RGBA, non-interlacedPNG image data, 800 x 230, 8-bit/color RGBA, non-interlacedPNG image data, 650 x 534, 8-bit/color RGB, non-interlacedPNG image data, 650 x 417, 8-bit/color RGB, non-interlacedPNG image data, 650 x 418, 8-bit/color RGB, non-interlacedPNG image data, 650 x 420, 8-bit/color RGB, non-interlacedPNG image data, 650 x 419, 8-bit/color RGB, non-interlacedPNG image data, 800 x 809, 8-bit/color RGB, non-interlacedPNG image data, 800 x 459, 8-bit/color RGB, non-interlacedPNG image data, 580 x 398, 8-bit/color RGBA, non-interlacedPNG image data, 900 x 641, 8-bit/color RGB, non-interlacedPNG image data, 800 x 453, 8-bit/color RGB, non-interlacedPNG image data, 1100 x 682, 8-bit/color RGB, non-interlacedPNG image data, 1100 x 256, 8-bit/color RGBA, non-interlacedPNG image data, 1100 x 681, 8-bit/color RGB, non-interlacedPNG image data, 1100 x 357, 8-bit/color RGB, non-interlacedPNG image data, 1100 x 511, 8-bit/color RGB, non-interlacedPNG image data, 520 x 691, 8-bit/color RGBA, non-interlacedPNG image data, 520 x 609, 8-bit/color RGB, non-interlacedPNG image data, 520 x 611, 8-bit/color RGB, non-interlacedPNG image data, 575 x 452, 8-bit/color RGBA, non-interlacedPNG image data, 600 x 473, 8-bit/color RGBA, non-interlacedPNG image data, 600 x 464, 8-bit/color RGBA, non-interlacedPNG image data, 520 x 210, 8-bit/color RGB, non-interlacedPNG image data, 600 x 472, 8-bit/color RGBA, non-interlacedPNG image data, 850 x 486, 8-bit/color RGBA, non-interlacedPNG image data, 82 x 72, 8-bit colormap, non-interlacedPNG image data, 80 x 68, 8-bit colormap, non-interlacedPNG image data, 76 x 64, 8-bit colormap, non-interlacedPNG image data, 50 x 45, 8-bit colormap, non-interlacedPNG image data, 90 x 76, 8-bit colormap, non-interlacedPNG image data, 300 x 414, 8-bit/color RGB, non-interlacedPNG image data, 78 x 72, 8-bit colormap, non-interlacedPNG image data, 80 x 68, 8-bit/color RGBA, non-interlacedPNG image data, 520 x 558, 8-bit/color RGB, non-interlacedPNG image data, 800 x 500, 8-bit colormap, non-interlacedPNG image data, 520 x 559, 8-bit/color RGB, non-interlacedPNG image data, 520 x 647, 8-bit colormap, non-interlacedPNG image data, 650 x 565, 8-bit/color RGBA, non-interlacedPNG image data, 650 x 440, 8-bit/color RGB, non-interlacedPNG image data, 650 x 399, 8-bit/color RGB, non-interlacedPNG image data, 650 x 438, 8-bit/color RGB, non-interlacedPNG image data, 650 x 560, 8-bit/color RGB, non-interlacedPNG image data, 650 x 508, 8-bit/color RGB, non-interlacedPNG image data, 481 x 319, 8-bit/color RGB, non-interlacedPNG image data, 650 x 507, 8-bit/color RGB, non-interlacedPNG image data, 515 x 616, 8-bit/color RGB, non-interlacedPNG image data, 600 x 89, 8-bit/color RGBA, non-interlacedPNG image data, 550 x 605, 8-bit/color RGB, non-interlacedPNG image data, 550 x 603, 8-bit/color RGB, non-interlacedPNG image data, 550 x 606, 8-bit/color RGB, non-interlacedPNG image data, 550 x 475, 8-bit/color RGB, non-interlacedPNG image data, 490 x 535, 8-bit/color RGB, non-interlacedPNG image data, 520 x 572, 8-bit colormap, non-interlacedPNG image data, 605 x 572, 8-bit colormap, non-interlacedPNG image data, 700 x 421, 8-bit/color RGB, non-interlacedPNG image data, 900 x 511, 8-bit/color RGB, non-interlacedUTF-8 Unicode text, with very long linesHTML document, ASCII textX@0V l@Vutf-810d0d457fc40932bcd2a03d4851482e24e1aa3842bacae344f3dc9cbb79f8ae3?P7zXZ !t/ ]"k%r&UB{Np'˪j!.Mm'p ih]7%W qe7Q>Įb.o9,,L(ӠE-`m13)9t9`z_ k-7kdNTyF¤~Rj_MX9֙R06ޞ"* 4P:!p_FE5EIX3I kg)b&.&*gf1RrLm% #uK,~dN;69~3Xi񯒵t1ۤrHI97R;5]"f& ť߭AXg:}zU,ͽ=8ݻ}Z+W7Lc 8ܟ&vE+EnIcK,ݧAGNt9™?,=f2X7Y %Y`=8"@ɺsk{u[N?#^q "Q\gؠpx~/)2(,XvYx ^(g#2OQލ")[ 귓 !#^{oٓto6,Wx%4pxTz:I48Wɵ:Eȝ8&vbU~D٠YW00D% {w7x|W^g0=t&l A{Sy8LX&A7Jy!r rfe Kcx?p]̍Y%$`سiu!<w.$ŕb)o2 #tS:橈Ԏ)ΰ)8 .Y}fGz-s`Mnzr qZX`UgSK.OOx}3Z\9oLZcN 6P´C1@9 藒WY;z8sE7"kA6U)_7+L9Xr@1;j?NT-ϜCxe3TuG_TyAz/ zwCf.^^ )Z)xwQhNQlm]" _:,C!%&/̜WI{]]m(L fPuU !0D)oD1It#"6xj2ȸtoZ. }RjI'XzU1מ|foue|i%҉M"gfϞ"-(pDv.օNz!fd, ({)M#AHrsC9'(yzRܒ^VP gwbW{;TҐQN\0~/n2 6ؐc=fm0tsַ Bon)j.wnRwPN0t`q\`x?XVYRj Q ҌPEPq~'[z6&bO]Zp[IcV{9V(_ ncPk{?=hc-q0OʎmZ4u]wPHN7Mu?8V80OD ԟ>U#;H;xjI)*my"U&2`&eRQzdzXrM;Fl\ō1#cC1׾__h#p-ؐhN@R4EIgۑǻ^?N)tƼUO{[,ӟT'j^|$UQlS&$ͥ1b ;xLP5Ϗ| ߝ `wTB#nhw~Sm:D$-4S[ErAʼn< JP׶L{>7*r)H$#Hg{[d+Š =|ӛ}ELA4@ye_NlRպtH1nܽeaI)W22 b;n f{~N{$ۼT־,GS۵6a}[G1IpW?#F)(*_dӽ~7j73 5Z;R ȼsd$ڹM/3]J8/ IñYG}8L>D=a7o27._{dQ1 e"ͬ xkE{]˳ґOe^|J_:q霂t'_b2gR+X]J8L,κ["uNp]\Ϣ~g'+5OeL٤Cia'% f(Ğu>t?}-=}GPhG)L'/^~nhHڱZFm&2OfhrU͚tCd,);u!Q @odjkI*s/`[1epFK =O ebeA 3頋Dr׉cL2Óꦅ[7p6aPEWC@W $6]f"X&,6M ͑AK\Q$^Ch0<ƾ~P:i/S/яeLsVxQ ~zaT#S)V/1Q,.=hnH/O2,4X5#N3ׄˉ"q~wƒhِ̻F<[atXI/gred+N@,GX:E_T!Y.4,)赎2+m)p_*Z&w+DmwrI "NIw:Eb1]f}2ZΛkz\xq0s_q/F+Sb;>5! ۱dz|} M#t(m˙{@𩟡uۄ/TtTx|8ƅ`vN ïZg{kLjap" O ":q`^?֙C HDnO!.B0BkCմu?1Fe&Ҁg*DWt`/rptd {@/IlzVz":I.y7{.rY|.֑+% $ԼV8*8UMF46؀#^z= x`ĭpMNSb =LLUH2[Uٟ1,TW/q `V7m|VdUs_[!t Q5Rn١M(ʊöҦ]>Wϱ . ;᦭ӚGsgdBAS^IɑԶ0b //8 :%6+|OgXж(`\1H-0떃P" =˱!inSZ%p?hnl(VßvU:qPtN#^;J#L:a:iÃP[|Wsn.mSz;vzlל ZvpkD|{ N^O+x uR| ە;jSDs :uAox mߚ*ǰ7 =Y9usG|GEs7Ԇc"nkzx^]AgnV n9K䔼5Kr~heuQîz6گLiI[%Lh`?L,.f +tc\ʔI7ձq)>+ܪ WlTԢϑߖrˈ|05oZ̼zlU=ξOOm9` 1!|;sTЬ.@%@=tĝ3>ys#AURDW/Gv'@/؀..H܉ F ) Na7 #A? YZ