luci-0.26.0-93.el6.centos$>L8ͽ-tewbR˚>@ ?d  S 1\bi ( . 4 &@   X!!!(;8D9Δ:=P>Q?Q @QGQHY(Ia4Xc8YcH\c]k^"bdefltuv,wx$y0 Cluci0.26.093.el6.centosWeb-based high availability administration applicationLuci is a web-based high availability administration application built on the TurboGears 2 framework.X_c1bm.rdu2.centos.org$CentOSGPLv2 and MITCentOS BuildSystem Applications/Systemhttps://fedorahosted.org/cluster/wiki/Lucilinuxx86_64if [ "$1" -eq "2" ] && [ -f "/var/lib/luci/etc/luci.ini" ]; then installed="$(rpm -q --queryformat="%{V}-%{R}\n" --last -- luci \ | sed -ne '/^[[:digit:]]/{s|\(\S*\)\s\+$|\1|;p}')" new="0.26.0-93.el6.centos" # NOTE "new"/"old" used loosely until settled old=$(echo "${installed}" | sed -ne "/^${new}$/n;p"); old=${old:-"${new}"} echo "${installed}" | grep -q "^${new}$"; taken_over=$? # 0~true old="${old%.[a-z]*}"; new="${new%.[a-z]*}" # drop dist tags [ ${taken_over} -eq 0 ] && orig="${new}" || orig="${old}" # backup f. tail # settle down old is not newer of the two and viceversa if [ "$(echo -e "${old}\n${new}" | sort -V | head -n1)" != "${old}" ]; then temp="${new}"; new="${old}"; old="${temp}" fi # dummy (non-bisection) + optimistic (don't trigger on same-ver reinstall) breakpoints=" 0.23.0-1 0.26.0-53 0.26.0-72 0.26.0-89" # neutralize newlines for breakpoint in ${breakpoints}; do [ "${breakpoint}" = "${old}" ] && continue check_order=$(echo -en "${old}\n${breakpoint}\n${new}") if [ "$(echo -e "${check_order}" | sort -V)" = "${check_order}" ]; then mv -f --backup=t -- "/var/lib/luci/etc/luci.ini"{,".rpmsave-${orig}"} || : break fi done fi /usr/sbin/groupadd -g 141 luci 2> /dev/null /usr/sbin/useradd -u 141 -g 141 -d /var/lib/luci -s /sbin/nologin -r \ -c "luci high availability management application" luci 2> /dev/null exit 0/sbin/chkconfig --add "luci" || :if [ "$1" == "0" ]; then /sbin/service "luci" stop &>/dev/null /sbin/chkconfig --del "luci" rm -f -- "/var/lib/luci/certs"/cert_rnd.* "/var/lib/luci/etc/luci.ini".rpmsave-* || : elif [ "$1" -ge "1" ] && [ -f "/var/lib/luci/etc/luci.ini" ]; then installed="$(rpm -q --queryformat="%{V}-%{R}\n" --last -- luci \ | sed -ne '/^[[:digit:]]/{s|\(\S*\)\s\+$|\1|;p}')" new="0.26.0-93.el6.centos" # NOTE "new"/"old" used loosely until settled old=$(echo "${installed}" | sed -ne "/^${new}$/n;p"); old=${old:-"${new}"} echo "${installed}" | grep -q "^${new}$"; taken_over=$? # 0~true old="${old%.[a-z]*}"; new="${new%.[a-z]*}" # drop dist tags [ ${taken_over} -eq 0 ] && orig="${new}" || orig="${old}" # backup f. tail # settle down old is not newer of the two and viceversa if [ "$(echo -e "${old}\n${new}" | sort -V | head -n1)" != "${old}" ]; then temp="${new}"; new="${old}"; old="${temp}" fi # dummy (non-bisection) + optimistic (don't trigger on same-ver reinstall) breakpoints=" 0.23.0-1 0.26.0-53 0.26.0-72 0.26.0-89" # neutralize newlines for breakpoint in ${breakpoints}; do [ "${breakpoint}" = "${old}" ] && continue check_order=$(echo -en "${old}\n${breakpoint}\n${new}") if [ "$(echo -e "${check_order}" | sort -V)" = "${check_order}" ]; then mv -f --backup=t -- "/var/lib/luci/etc/luci.ini"{,".rpmsave-${orig}"} || : break fi done fiif [ "$1" -ge "1" ]; then /sbin/service "luci" condrestart &>/dev/null || : fiDZSL%+,((B% %  D < C C;;"'j'j;33       _!! ;;+p+p  +o+o    $~~i Y  ">  Txx/ c c6NvvI!t!t_ **<ssKee   ((CCCC !!S9l9l  q{##7""**!!**xdd]vv1SS XXV+HdHdxx AA 3 3!DnZZffWEE[[4[4OmmeiiOrr8.|xionweAb-s$2~%6@ %Fya'6 G^,i1W5 u6} uG.Xz O-e>- @#VE% =<j : $Jl* k['9X3\ [  } y   F5)>)>Z|5r 8 8!F')큤AA큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큀A큠A큤A큠AX_X_X_X_X_X_X_X_X_X_X_X_X_X_OX_X_X_OX_X_X_X_X_X_X_X_X_X_X_X_X_OX_X_X_X_X_X_X_X_OX_X_X_X_X_OX_X_X_X_X_X_X_OX_X_X_X_X_OX_X_OX_X_X_X_X_X_X_X_OX_X_X_X_X_OX_X_OX_X_OX_X_OX_X_X_X_X_X_X_X_OX_X_X_X_X_OX_X_OX_X_X_X_X_OX_X_OX_X_OX_X_X_X_X_OX_X_X_X_X_OX_X_OX_X_OX_X_X_X_X_OX_X_OX_X_OX_X_OX_X_OX_X_OX_X_X_X_X_OX_X_OX_X_OX_X_X_X_X_OX_X_OX_X_X_X_X_OX_X_X_X_X_OX_X_OX_X_OX_X_X_X_X_X_X_X_X_X_X_X_X_X_OX_X_X_X_X_X_X_X_OX_X_X_X_X_OX_X_OX_X_OX_X_OX_X_X_X_X_OX_X_OX_X_X_X_X_OX_X_OX_X_X_X_X_OX_X_X_X_X_OX_X_OX_X_OX_X_OX_X_OX_X_OX_X_OX_X_OX_X_X_X_X_OX_X_X_X_X_OX_X_X_X_X_X_X_X_X_X_X_OX_X_X_X_X_X_X_X_X_X_X_X_OX_X_X_X_X_OX_X_X_X_OX_OOOX_OOOOOOOOOOOOOOOOOOX_X_X_X_OOOOX_X_OOOOOOOOOOOOX_OOOOOOOOOOOOOOOOOOOOX_OOOOX_X_X_X_X_X_OOX_X_X_OOOOOX_OOX_X_X_X_OX_X_OX_X_OX_X_X_X_X_X_OX_X_X_X_OOOOOX_X_OX_X_X_OOX_OX_X_X_OX_X_OX_X_OX_X_X_OX_X_OX_X_X_OX_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_X_OOX_X_X_X_X_X_X_X_X_X_X_5b4a180ec42b5e9862d33f18f7c20383a428e1302684fb906b5aa43db2940c94aa2401f90a785a3fdad47b0e2873b35f8de22ea96f24951344f06a7136329bb1bac17f8048f3b391717b75c752ab0070cc78d419cceaec85f8fce7add1c717d13ae0e78c4f4fe1aac1a941d23d404adf308650191355d3652ab584542cb5b0f13b9b9fb5c1a066acd809609ed312cadd20cf9ca6f3ac042c798af9f18b661a1f434e1921b577337a570421c5c95f8c36b431fb6ac86dbea949f1693158610f42c61f4c087cd0e9f0aba5b8b127dab157e32d449c5cdfba50d102f1eeff01309201ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b3e8a900556b252c38881874a41a9c3e75cdce017b7d7a521c8835670fb658d953346f9108345b1a71ddc5a5c626bbb977c84adc0d440f00d9459737ee124c9b3f29b902a88e4fd907ae8b5ef6a1fb2ab34bfc24f3af5d566d20e55fc6e48c6a572f79537c77fcc039a703020df8191e7cd8f168c2f4627daaa7825520f2af9a028bb4e7a75ec2ab9f551fc8918fbe7e248486b883ae3ad3d69be3c5f5cc058de2d3f319c1bece4c2c9df939ce5ea7b423ae43eb12a460e1e37fdc3336e3ffe3e2d3f319c1bece4c2c9df939ce5ea7b423ae43eb12a460e1e37fdc3336e3ffe3e3bd093d41d85f9c541f1e953d04a0225b82471f7e3be59aab5ea9abece208838afa27474c2aab4e7764444a9a3481324d80d926f620c07c3ee36eb55b1c7545eafa27474c2aab4e7764444a9a3481324d80d926f620c07c3ee36eb55b1c7545e9193738be7da3cfceee00d52d0595f0b0fa7590335852e5b35e06ea0df698ab59de80bbf3268892b37d9f23bc4e142789556920b5a62d116b4918a92f517762a9de80bbf3268892b37d9f23bc4e142789556920b5a62d116b4918a92f517762a963a42e37b09dc38a2333fc80f87c244341fe7083beddf8ebc5f0881e17e13ecefea39db10bc7234a1ff8a72cb02d522f2c49e6a765854d8b92e258442bb2c814ed439089c3235265faea3d38cb659cb46d49ca0bc8ae6a62688ff5a3470422b4ed439089c3235265faea3d38cb659cb46d49ca0bc8ae6a62688ff5a3470422b126506a6dea2350216152e603f6c7dee4a834111739c8950a5c687539919a727d844d27d029dc39cc27247a863c482c76c0956da28bf8f072f92b0771c3d020ad844d27d029dc39cc27247a863c482c76c0956da28bf8f072f92b0771c3d020a1735d619a5c0ac25f0fea7a29707440c11da716e335246636fedb3c5101ffe420b36c8f81c3990536191e3ca236a934553886657d14fb27149393319523901750b36c8f81c3990536191e3ca236a934553886657d14fb2714939331952390175a37da695f108350982cea9cc9b4179fc7b94be7ace9c1cc9929ea1d417cb8ad6baefd901db059bf783bc3baf9cfb3412ae65f7aac14d9a779decc281667be99bbaefd901db059bf783bc3baf9cfb3412ae65f7aac14d9a779decc281667be99b30706dba0134eaf426a0a1fa5e8f2fbc23a06ac4318c546d1a935b0fced4b6d585592f1b3fb4df1733c176f28144631950c0475be3af8517c567d9eaed04613185592f1b3fb4df1733c176f28144631950c0475be3af8517c567d9eaed0461317ec2d551618f1f79cf06880d052220fdc29e3a33c998e839b4ee57f12042a00dd634dcf98183d949183616cd91798ff14e0aa5c784fdb085898b0a5cf0a36c71d634dcf98183d949183616cd91798ff14e0aa5c784fdb085898b0a5cf0a36c71c0366e284cc8aa7e94aea01be7a64e35b6f92ecc2a6a96a39a3b05f167a653b14cd99bfe8c20af9886da54db06738c61ca8d1e53496a58b4571b6f92b7375dcb4cd99bfe8c20af9886da54db06738c61ca8d1e53496a58b4571b6f92b7375dcbba227fcba0a961f6eee8c1bb6012bba8fc84c697b0f20518ee623972fdeaa7eb79008049bb6307d558f9537206597e3e5314d6a5f6a3fedca6a3ad4a2339d40d79008049bb6307d558f9537206597e3e5314d6a5f6a3fedca6a3ad4a2339d40d58a5080fbe9ec139fcccf622e5ec705200efb835b6b033606c3169f2715ba57bc092fe002aac8e5407bfbf3216db4ea3db5967643e377819a094e557169efb11c092fe002aac8e5407bfbf3216db4ea3db5967643e377819a094e557169efb11fda598be422b3e5fcea6070b010702cdfed6de683f33f2235a6007470b65ebca1f920e5ecb81fd9f1ceba9f0f6cadf4ba7b86b55da9edb4b2803b5a188eb3eff1f920e5ecb81fd9f1ceba9f0f6cadf4ba7b86b55da9edb4b2803b5a188eb3eff252999f31c5a45af4c8ab5f81ed04b1215aa06223fd998674d11589a63443f889f8836c782bd8d115683b36bada11f46e2981529f8fbfb4d337bd444725376b59f8836c782bd8d115683b36bada11f46e2981529f8fbfb4d337bd444725376b52e38d8ede63b63d56c80f5228d7caac11b05d60bf4984280fdc0baa495c9c97d4cfa97ad853f981623466c267bdbfc55fccb3c7cde6b87cb6a4bf850fffe78264cfa97ad853f981623466c267bdbfc55fccb3c7cde6b87cb6a4bf850fffe7826633c37c50c8707f32eeef393f73034d15f6c5781d2fd612e28233da8bb18088cabf25fc4dc82d665475d192eca862e67fabd664280426d6e6652d59a979f9a3eabf25fc4dc82d665475d192eca862e67fabd664280426d6e6652d59a979f9a3e460b1080a509473dee962af412ec8505a568ce0aaed35d50915fdc36df4e732159f3dee8a35c8e5b0ba472181b0f897f29845474010268371f8585cd507fb0a859f3dee8a35c8e5b0ba472181b0f897f29845474010268371f8585cd507fb0a8da6b84611751704bca30ab609a4ee55cda7c6215d59e5e4bafe0ec7e04933409a0b6138af3be5286d409f16b85f516fe85c4a9db304ddef465c6ad131b0ac2eaa0b6138af3be5286d409f16b85f516fe85c4a9db304ddef465c6ad131b0ac2ea42cbc5b3663cb19a1d22f077e3bcafebe6c9b0d91287f6103bf0b45e45592e22cac3c6aad6fdb6e36929ff8f42b5932e6deb6f2e223294cc85e5adff266c470bcac3c6aad6fdb6e36929ff8f42b5932e6deb6f2e223294cc85e5adff266c470b2be748e87db2b027fd342baa4de2edd29c98a3b42883faf6b40e55a26c527fb46aca2360b4e9a2dd09071536ec7c729a0aae69ab3628215ad6ac98edbcb065e76aca2360b4e9a2dd09071536ec7c729a0aae69ab3628215ad6ac98edbcb065e7679635a123c0853228edaba8d21add076f6942fbaeb3d0b51704857e3ceca9d0408013683007a0128f8899d31e06cf6e2b35946137bf78e293c4e314fcfd22a8408013683007a0128f8899d31e06cf6e2b35946137bf78e293c4e314fcfd22a8515f0e3f676a739036157e9718171511ebe2da72921ff6abde37e22dfebd712e013e02c54632d3b0bd8635172a46a36b544ed64abd2a74f89a9e60de9cd7e7b0013e02c54632d3b0bd8635172a46a36b544ed64abd2a74f89a9e60de9cd7e7b08aab34805444160035f5289f5725bb28236c32edc78a971b8a3e378654299168b0f278241a312ad0645356476194b6920cac3379c485322c281c5310322f89deb0f278241a312ad0645356476194b6920cac3379c485322c281c5310322f89de3118d831a52c45b7ce1065a1e5363440b858ee7e87284ab6b39ee7b651357448f676b32b352fb0836403b37d868de2a5263c9b0cac462371d38d31b3e028a24df676b32b352fb0836403b37d868de2a5263c9b0cac462371d38d31b3e028a24d88569b96b80a22df02711616884647040f6224f62af32122d03cf2ddf873d1e831a9ab3ff76b53ff19f8c1b93e522b1fadc884e720ed4d3bfa0d6ae807c7707831a9ab3ff76b53ff19f8c1b93e522b1fadc884e720ed4d3bfa0d6ae807c7707883b4d954222e836a02e7ab2be5cdba2c9a145c525f6d68de6d847686539826ecc75ec51c291b0611eb3f42ca5ea946dd545f0a1462b90fa307841b0234b2a19fc75ec51c291b0611eb3f42ca5ea946dd545f0a1462b90fa307841b0234b2a19fd666b97e5752359119d820b335c6dee7f014b410e843685195c50a1cd43232d247da6c941e4b0d3a1a283a17f0b71df723f914cf5b6401bd203d794eaad58c9147da6c941e4b0d3a1a283a17f0b71df723f914cf5b6401bd203d794eaad58c91ebcc382d4ba5cc2e5cc143c833da3b1d34da4332dec85cce876b801ef95e7106e59983e8099ce67039b9ed3a9e99d5944487e70819caa90a77113df042267ea2e59983e8099ce67039b9ed3a9e99d5944487e70819caa90a77113df042267ea290cf11ef404d08c749cfc9eb3e10454eb8f584ed83c31fcb9ca5fb69edbd92126e1c1a9f8a68c6ce7d095b62ec9103b67373f265f1775d5e928eaf3aee9b8ecb6e1c1a9f8a68c6ce7d095b62ec9103b67373f265f1775d5e928eaf3aee9b8ecb2b19cb91942d1c66b527ce8b288cfcc03cdbe3b7e8d24ef39df6d9c5b6be459ac539ad8f8c83824245fdbba30793fb05fe68d489d07cbbb7f4e13a47f46e424fc539ad8f8c83824245fdbba30793fb05fe68d489d07cbbb7f4e13a47f46e424f3c6cd67bac3e091b9efdf09bb5d2c7a5ec588d8ea6a1b9c336d5afff8caba7a5de358f67d88020b45838f4c13596652b8e4deebcfbca4b996ef1b0946c3c68ddde358f67d88020b45838f4c13596652b8e4deebcfbca4b996ef1b0946c3c68dd83b41310afbc2a7e41760535b94f2cdcb8f3a2e4237ec4f1f1403448878b173845295753bd20b7257f0321b9c6dc00d406032ce92a87f4c5a29b977c827d6a6845295753bd20b7257f0321b9c6dc00d406032ce92a87f4c5a29b977c827d6a68f2a47cdc091c1dfb0d89edc2bf4e9469fcfd11d45a2d0da20599772a68763d86c5447b8dce3fd03bdc82835c85375125bc8916b884312fe91fed1b2db4ab5513c5447b8dce3fd03bdc82835c85375125bc8916b884312fe91fed1b2db4ab5513cd4b0541d2771d22cc40c2dd0141a9fa73bb2343b34cb04d055be75b76a27e8a44c111a1d8c3d15148d414fe2ab88d39f3e91433a8465b0083f14edc6b782c0644c111a1d8c3d15148d414fe2ab88d39f3e91433a8465b0083f14edc6b782c06196917a8188e6409623cd795eab3859d2a7dafefd9e818ef3f51b2f7aea23c14e1ed102f521e20c298989d789332b3feb34c8e2f1ca5119375af60604e52ad9de1ed102f521e20c298989d789332b3feb34c8e2f1ca5119375af60604e52ad9d2b2d4df8e7611a645c5aeac203d67f07fbdf1eccb46e2da11b0fcc9f27849933225b10df3e10fd88d4dec6fa0e189b8f9c0eca752199d0e360be4f3fe09cd6f2225b10df3e10fd88d4dec6fa0e189b8f9c0eca752199d0e360be4f3fe09cd6f282b53d300074793bdca0bf8086506335bfd87da11c3e53b5a815fd914a416ba7d30c9f693c6b48b45d4d50d3994b66da560886cb111a8998c3f4934da80b3bd5d30c9f693c6b48b45d4d50d3994b66da560886cb111a8998c3f4934da80b3bd54205bc80baab4df39384e94f5e82aa504f8abcc403997491ed80f2c41651e486c8720306bf4172569d7c91b04c38445818fbf251184ca61045a55b6d96c40648c8720306bf4172569d7c91b04c38445818fbf251184ca61045a55b6d96c40648b622e9a97b291d6f61af08a53e687946014a9a0e1d221a558e2e00f4135be51be42fe0c03e45591a4cf34a9131249dbd0032d59c3e593068d0641b46e62c1572e42fe0c03e45591a4cf34a9131249dbd0032d59c3e593068d0641b46e62c15726c87dfe8981fa041c699b9b7fbc820d7499d1f18f66aa327bc64799041130f306df04bd5e48c1bb8a299b9d4449577b135777fbc0f07888e51d320ad2e687a516df04bd5e48c1bb8a299b9d4449577b135777fbc0f07888e51d320ad2e687a5188b09199f7e3ca5f01bb35e78c52a82a3e096b971abf3482bb947f5b9c2f9cb5abcbd8ef4159039ac40f1b2fa8675f8ee094cdba7e9fb99fe2426b39800c7f5cabcbd8ef4159039ac40f1b2fa8675f8ee094cdba7e9fb99fe2426b39800c7f5cfb9024bf57bc4e26ce6c1396ddd885ee57fd4c6aabe3841e0e84b7f0303bff611a124ded32e94920a392c594dc367a34688347f5a6cc60af734d570f19d1e73f1a124ded32e94920a392c594dc367a34688347f5a6cc60af734d570f19d1e73ffd1791c69c351458109ce5621d1cb32af857806536e9fc2a1fa2bf18e26fe41c70569fc06776a4a5b7ea2b2d0a8e36f171df7deadde4cd34de616b1e1e56defd70569fc06776a4a5b7ea2b2d0a8e36f171df7deadde4cd34de616b1e1e56defd6842d046466a5d27442da38b4fe361e696f83641f8028daa4e5dd97cec3b0a8de1bb6a52eb79370efc116d4fb3df19e7fa4ae3d4a05474c9ec5560ff6a1c555ae1bb6a52eb79370efc116d4fb3df19e7fa4ae3d4a05474c9ec5560ff6a1c555a6d643fa95d976ed8c2c0287bfe782289d3835cef85d5e2f60e81cc1d4beb7bc8857a8db1742f09db6cee221e0ab1c569dbbb541b57b223b136fcacd0d537b179857a8db1742f09db6cee221e0ab1c569dbbb541b57b223b136fcacd0d537b17949a39909908102801a38044a80bfaa99eb1421502d314215e84d9f2e2b7abd5f1aa7da40e42ace2dd7db7570f268b771402cd94389a1a67e24f94464ce029e6f1aa7da40e42ace2dd7db7570f268b771402cd94389a1a67e24f94464ce029e6f8ea586873ed890e7ac6ef0409eb04624f8480386c2319e47c9c9e95e65ee19b3551dc34ed399f86894186273552479421813cd099e8ac6b0cbd317b29a7245f7551dc34ed399f86894186273552479421813cd099e8ac6b0cbd317b29a7245f7e3033b6761be7634c4f7e2cb92f337f6dc03bbbe45c86ce7fa28356bfea471bdc1e983eba3df342cc610a5434e6e94a9267a25b5098dd47548065a804aa26bb1c1e983eba3df342cc610a5434e6e94a9267a25b5098dd47548065a804aa26bb1dbbc404d17c7fe421d208a3359e4a3d58d6abfa59efdaede657bf9d866024d7117f38d2b49b01c99d374630b4dd6e4cb010b5d6da56e5dee7efa4d1fe5e03a0f17f38d2b49b01c99d374630b4dd6e4cb010b5d6da56e5dee7efa4d1fe5e03a0f98eb6606282f6638ba07e762ea452e54278868776a71e42e408d3f9a87d70edb85ab77235f2e6060f694958a0abcc8c3f642eb61d73b9abcbe4e5fdfcc3b043685ab77235f2e6060f694958a0abcc8c3f642eb61d73b9abcbe4e5fdfcc3b0436e4d4e42ccdfb4ae78bcf8859feaca778506c37a6cec7dcf767c0ed934621bb5efdc2f5f1fdff9c9177eeefff3bc3ea48d2a9a558086b505dafe14a95ffc855b0fdc2f5f1fdff9c9177eeefff3bc3ea48d2a9a558086b505dafe14a95ffc855b047be7f0af441a39fd769907805fdff264b84023e5552d449c4b0a1e4fed026e96d1b16690c55cfc55c571d6520a235a128148865fc15343cbb00ee06284bb9d66d1b16690c55cfc55c571d6520a235a128148865fc15343cbb00ee06284bb9d6593f78a8009b35116174d50bbd37d5f43bc711b63b039dc7818e47868ebbca9d8b4d25836c3d1c4735f185a8f96e44deafcf85de4fb881358f908bea4dfd73dc8b4d25836c3d1c4735f185a8f96e44deafcf85de4fb881358f908bea4dfd73dce26020270b932a6f85d2f5f1476d3ae4221f737e33948d670e489b4c1e235549947fa074d1132f53ce3d6c511a030b014fb528891a6823f7763f031f4d3c750b947fa074d1132f53ce3d6c511a030b014fb528891a6823f7763f031f4d3c750b56892592cd569c213dd0399840f59779d87b5c8e50f82d4a6d10f78dde94787eeb5dfc9c8e21e96d1b3111fad1cb043a1b234ebdd49d3f8f108c1c57558fa3d6eb5dfc9c8e21e96d1b3111fad1cb043a1b234ebdd49d3f8f108c1c57558fa3d6ebc6af978a49456b82308fd2e7b23d4109c9b640d3df6051149edbff6c3ec08f7144025e61356b3dac0cb78abe01e88d1de415635a2c05b26c55928afb474f7d7144025e61356b3dac0cb78abe01e88d1de415635a2c05b26c55928afb474f7d7f1b9d54ba7945b52bff74e8bbfa82000c186e3137a9c3ac255a23eb08c6e5beef597c82ecee0d7c4c5699b3b1e397f4c509ab367a0a1f782ef337f251d05c9aef597c82ecee0d7c4c5699b3b1e397f4c509ab367a0a1f782ef337f251d05c9a9f620a5c0a8aba0d3ce62d247345c7d437fe7fafddc546b295bbbed8cb3ee824d3be338900d6ec804754afd70ab1e955d768894cfe2d6f4cb47a9a0537b0908ad3be338900d6ec804754afd70ab1e955d768894cfe2d6f4cb47a9a0537b0908a39187a12f3fd69748ad96e53931aaf6d449fb800a74bc77c08d3a953a188b878597edb50afa754aafdb3874825b70d63307befba7c13e89efc9899a20eab547f597edb50afa754aafdb3874825b70d63307befba7c13e89efc9899a20eab547fe9d229a39fb9e86c7bbdd3279af5c3a9ba3d0cc317f9e76bdf3388225948c3eab526313d95621ac967bb23f285ebf0f5d812684e648c5caf85d95b71fad0cc27b526313d95621ac967bb23f285ebf0f5d812684e648c5caf85d95b71fad0cc27dfddc3d2140ee4abc3854f1bfc7d5c8d7d40bd594d489e7254733061a9de24309922ba58aeee8b102967ce3f3801908a7e94acab4c00521409b1124b1e0a9e599922ba58aeee8b102967ce3f3801908a7e94acab4c00521409b1124b1e0a9e592cac4a28e68e6138ac3c9c6283de571fe1ad26d3250024a42607fc5c4f8d1c90cdc5c0330bc1ae65a77544457f1d87c0f38dcb491fa722724a2ef1831196ded8cdc5c0330bc1ae65a77544457f1d87c0f38dcb491fa722724a2ef1831196ded833346300a8ed7d1d5d1d9dff4b44f4c4a3416ea1f27a54a83609b390e3ee47ca27b60bc323115b97531ea1b90bdf4c458af4f423e782114bc2d3131e0a15dc2727b60bc323115b97531ea1b90bdf4c458af4f423e782114bc2d3131e0a15dc279b8c659de36f1149bd6d402b78afa49dc6f410da6606f74867d1ebf33d5fc3e4fbe121cdcdfb2345a659534630ec36b8c4e03acbc6f4403dad409c2f2301b2b8fbe121cdcdfb2345a659534630ec36b8c4e03acbc6f4403dad409c2f2301b2b860309a101b2843576406c1d584cc3492b433cd9158914ee7a9e9195d1372d5c83ccef63cdfa6bfc241fed0b2d27a654c474297b6533ca044b00f1fca6faf9ebc3ccef63cdfa6bfc241fed0b2d27a654c474297b6533ca044b00f1fca6faf9ebc349d182ef37b80eac7154ceffb38998ed7d82cdc3162f5be33a2dfd1bdbb278f0832a41a8852f4781f4d1f2ba3bf1f2f222ccc538ddb4523481a09a6bbed39030832a41a8852f4781f4d1f2ba3bf1f2f222ccc538ddb4523481a09a6bbed3903b28d2296b937d17f1493e9b83d6f698dd3184e042f1ae187e20ac1a228c703331fb36f37cc69de36794ce11266bba93e61c974a839362bcffdb15766891a38dc1fb36f37cc69de36794ce11266bba93e61c974a839362bcffdb15766891a38dc6f45dc12e5513755b80b72ff41e4eda6e20dd231967bae9dbbd0e8d074665208ab92da46692097f635b4465ea0e46cfc4f36d5e0424a88145d74a27463c5ccdaab92da46692097f635b4465ea0e46cfc4f36d5e0424a88145d74a27463c5ccdafa8dcec00cf13099b626c14bf90f6f518da89d8746badf5086edef1c48100b959e2c3b89340e6372451f6d5fb6da981ac52fd3620cfc347c9ea3b37f3661424b9e2c3b89340e6372451f6d5fb6da981ac52fd3620cfc347c9ea3b37f3661424b2539b65855a24ae30f600df23d2cabfd62c0aca481041d6d6cbbd5102bbbfa6999a30d328e05cb5cfd0a0572f416e3f9b474c8c02c11cc56199b51dce67c1d3499a30d328e05cb5cfd0a0572f416e3f9b474c8c02c11cc56199b51dce67c1d34f9f3e0d2d86df21e47aea10610849021c6a62a521fdc609baa082ccd1b76e2f0b887e6a1616797e98718d5c0c9b8021bd432f8e30d3d29da88e85e8df0d445b7b887e6a1616797e98718d5c0c9b8021bd432f8e30d3d29da88e85e8df0d445b79dcfb0d38bef409fbd31155faddaad6a25dedebb5fda03adb4dcd293f949a2962919c48f323aadc896be3d2410bfb53875d9d939454b2749275eb819aa73e0f82919c48f323aadc896be3d2410bfb53875d9d939454b2749275eb819aa73e0f8febd70156413f83af99ba3920577886bb5bf72c4698a5cdbdbcb069f6380d28b017f5c48aff047ce4a877b9cfa5ca410afabdb27806f90d1e099084345b3e797017f5c48aff047ce4a877b9cfa5ca410afabdb27806f90d1e099084345b3e7975aef95657cfc447df93291db9d37e098bb3b08ac98629eaf03ec48ccdcd4d60be53e126a0c48b01ae6e59de1a63748f46d6ede8ad04bbf692c92f3a5652b08a4e53e126a0c48b01ae6e59de1a63748f46d6ede8ad04bbf692c92f3a5652b08a498280b6fdbe7f564b964f308d201688029fb7de4e859d0bffc99f24f8f6d4624cc0d5bf3a45d35dc2a279caf46b878fdcd6f647356328f682903c6a2d419db34cc0d5bf3a45d35dc2a279caf46b878fdcd6f647356328f682903c6a2d419db34102f0afa617b9a6b743722cc351de04babd1d2ecf2db289ff3c9ee505c82e9cfcbcfe325bc317ba7d8ef4be460f979df8cb8de15f12db2ea867afef5e6ecaed4cbcfe325bc317ba7d8ef4be460f979df8cb8de15f12db2ea867afef5e6ecaed42ee9dc8d806c0b5edefeb551b2b0e273f6161e4cf91e79231d45e67a9ffb83b39ac5fb71209b7f031dfb6791f7a5d8e7fc70169768dea69519ffebb2472001cd9ac5fb71209b7f031dfb6791f7a5d8e7fc70169768dea69519ffebb2472001cda7bc703efc0ed1f633765478634d62fca7d2bdf2cd1ace121165a08319d1c0ff9c933a310ebdf40978cb5d7bc685295602f67ac7e5590207b0baecb19d03f5299c933a310ebdf40978cb5d7bc685295602f67ac7e5590207b0baecb19d03f529842cd6a2d4df925e8cec58a7ab9aa431b309cc7df9e490aa3a1509db3721653a624b8fa276e8f675a2335118f07bfae4b265e3475b6ee7f38052fdbc5ea4bc3b624b8fa276e8f675a2335118f07bfae4b265e3475b6ee7f38052fdbc5ea4bc3b15d09df258a1bcf8565498bbe1163de421a743cb1fd571dc3bd86d37e15ab96385f751c1b3dbdce4bba6a63d1b7b01220ff008a49f5903602e6841909a3af26485f751c1b3dbdce4bba6a63d1b7b01220ff008a49f5903602e6841909a3af264266e554114b294817eacabf28a067d1adba55ea73191d103a50a97dd688c07f742473176e9ab6c34be7f498894ae94436ea3dc74dbdd576407de7c4a5fe147a342473176e9ab6c34be7f498894ae94436ea3dc74dbdd576407de7c4a5fe147a33eeb82634e1896d41054d4c540e341d447db53c46953a88f182207b7f7ba7db87bee18cd9aa61e7e5326441feb22d2bdcdb55bf1e4f1c1f6822adf2340f79bd07bee18cd9aa61e7e5326441feb22d2bdcdb55bf1e4f1c1f6822adf2340f79bd0f7ff302fd49cbfcfc2b3c1c9c891c6bf1d6fc1712bb2ebe5b00a8d64b709411da829f819ee4fff4d95a27cb21cd809be70f15b2f4c7861f3df6cb2a2c1e8ac70a829f819ee4fff4d95a27cb21cd809be70f15b2f4c7861f3df6cb2a2c1e8ac703bd093d41d85f9c541f1e953d04a0225b82471f7e3be59aab5ea9abece208838e264a03671c1daa491ceee8c89f43f4ad73ecb162e7b93fdb99fb198ad419bfde264a03671c1daa491ceee8c89f43f4ad73ecb162e7b93fdb99fb198ad419bfdc25ab3ca08d3c84d7ce0a8ddf1dbed93bc494545ba9ed8788a13ed30b53a34b2429a9d786ed969de05e32ba34cea97f12adf75d5cf24871eeabfeea3650ff54d429a9d786ed969de05e32ba34cea97f12adf75d5cf24871eeabfeea3650ff54d44405358dad92df56ff072dba25cd6c0ed10a7853713ba3de35e16a14daa558e340644dd899acadea03f9b762dbed2e7cd463cc0990add24cb2fa7c0cea3f056340644dd899acadea03f9b762dbed2e7cd463cc0990add24cb2fa7c0cea3f0566fcdd2edaedc8e365ccc81011e67f7c8d82faec5d397b83f704cfed3e510218cdef3a2cc6a7609494b39f4976848d265f6fbedbee03b595f6c1ac96f16eedd81def3a2cc6a7609494b39f4976848d265f6fbedbee03b595f6c1ac96f16eedd81bab6953b875945aa9958e6c036cc991e3ff7be7541ed3f5ed353921971afb3ef27b77a2eda58f76ac5bb4ecbdc196209382046e4cd8c422f4ba2157566495c2527b77a2eda58f76ac5bb4ecbdc196209382046e4cd8c422f4ba2157566495c25c7e2ef775f2470320fd236a7fdb055fd5974dc20115697fc4c276d6175517cf672134d99305bced8c37994af440d2d0999e1b9a50c2ddb26d9bd1dcb0a01564072134d99305bced8c37994af440d2d0999e1b9a50c2ddb26d9bd1dcb0a0156408ba15560241431b5ddd0b94258eaac1618f88490133ca102798161dbf5f339efbe732984cc3a6c588212c28c7960324ab8c758d8f2c8b4725da39abaf5c5617ebe732984cc3a6c588212c28c7960324ab8c758d8f2c8b4725da39abaf5c5617e86268d30baf6263b84e371748590843ee943bb77a83f50585d5a53d8cb1085fff7f086912d17992c9e4d613d11e268319f6e6c1d8a4fe88c02cca0c31cedd173f7f086912d17992c9e4d613d11e268319f6e6c1d8a4fe88c02cca0c31cedd17343c84aa57b9d794146af9c15c4b07a2095fc04ca90592cdff1c18eb8f7a3a2aeef7457fef1484dcc075d09d5766c40e1753df7f548f1b48dee93f6bf10c33d98ef7457fef1484dcc075d09d5766c40e1753df7f548f1b48dee93f6bf10c33d9800da64980c3024cd7614893cfdf055ee9a2c8deda53f8c3cffa57c10123cf32af69b3d9886c25c8bb98116498c892e5ba11ab19fd107aa2da608113cc48a8a15f69b3d9886c25c8bb98116498c892e5ba11ab19fd107aa2da608113cc48a8a15b7a110bad459758622127944aca1e18553f3fc3f480933790489a66d0ab5803188a95e09053f0d1177cf273838be28506f1dc591907d3379dabffae0fb3ede3e88a95e09053f0d1177cf273838be28506f1dc591907d3379dabffae0fb3ede3e1de1937370511368345806c96f5536f5d92a57c01556b822c200d28e51fd6139a2328cca90856244e99f3c679ba006007b380b3f323570b334a401a2503a1e05a2328cca90856244e99f3c679ba006007b380b3f323570b334a401a2503a1e05cd6089c3b7cdf7649ec2077cb78d8789bdb6dd9b4f2934909edda521deea77ed03555c582afd163b3fbb4b4411b0099268f8018bae41c51a1029746cdf205fb803555c582afd163b3fbb4b4411b0099268f8018bae41c51a1029746cdf205fb872e7c038f4a7de3db4c5ca236f5f19cc01936f4004ce3ca1da9f11c19ffc0e43f063914f21e268a26750b61a242e077d4ff03ab3ed244848dca9c41b2cac40bff063914f21e268a26750b61a242e077d4ff03ab3ed244848dca9c41b2cac40bf8aefe68b9046ff4939f07f35f05a79453f74f0ad88652c02357cee569231ef542b787bead8a13eb87309d3e750c97ebcc8c516427435398d6e11ac52726179612b787bead8a13eb87309d3e750c97ebcc8c516427435398d6e11ac527261796148d60cb926c6f808296b7fa4b0fa7cc4ee3a2d4703b3d3bcd530301d68842f81e46e03f14076d5be9232eb3246952f7e7192ca9b846d7f27b93926fa564de8d0e46e03f14076d5be9232eb3246952f7e7192ca9b846d7f27b93926fa564de8d0c9c904b38d3f272eb36142541c2184f6334b5f3da49acf1d133320637b15312b542c3502cd66f7a21ad1ca62ae58b84e190fd2c5c35ca1389a31a512d6f2836a542c3502cd66f7a21ad1ca62ae58b84e190fd2c5c35ca1389a31a512d6f2836a653384cdec194ffb9a1fc8ef62fac95f8a9f0f6beffe8c2d4be8fc65187ab503ee7e80163194c6f1fe78b9eabfe6b6c72ee4d039ccfb3c40e0a38c4d3b6133c8ee7e80163194c6f1fe78b9eabfe6b6c72ee4d039ccfb3c40e0a38c4d3b6133c8078f822e67fee74d487e57fb15a363303e1db73b35698d218368524b32d6f418c871b30d0cbb31a015cef2779f5858237523e03903629afc8ef642bc5b0a05c1c871b30d0cbb31a015cef2779f5858237523e03903629afc8ef642bc5b0a05c175b3923880fbc4f8f1fafd0f9301a537d61fab91ca7b1dda9713aa3525aa1637c9971d4436991f69fd4a452af54c911b14814aafa434a2b8c64a2d26f810ae1fc9971d4436991f69fd4a452af54c911b14814aafa434a2b8c64a2d26f810ae1f43d932e36422f43a423644b045c3a0d491416a568be928c9bddcfe57ce91d51a201811c0c4509767e981338628d749fe76d641c03f68a7b14fa71a68b3d9a761201811c0c4509767e981338628d749fe76d641c03f68a7b14fa71a68b3d9a76135b3c58eb20c4d6a08516618d7f1df71316bd70a6f7f597040dfc5dda54a10cb8eea46c536d32e86a58ed5c3f38d3b002b6587964774bed85253f265d9bd6c241e5cefdf557907f6291e05dd9fe357d3306aafbcb1131e25a4790970cf6237e738a509b75561f917c3d7edf1f2edd9d1c9765188996751a3c0f0bdafe5e0423754a93ee55f720ae3b54907f5def625e15c2bf019c24e0af9f9a8cd00c46ab1a99a8492a580bf85d3e98ae8861fbd45567e5a1f83eeafcf9574da0399d5f602ab39ab7ccd9f4e82579da78a9241265df288d8eb65dbbd7cf48aed2d0129887df5691597e8a40a891ea94d3589976ecfc33e6145c49422443b00ac2b5a0022964cf0e6cd91b837d5c5644d026e5ffeccd907953317cd5c0f689901733afda260b2c108f5cbf2dd9ec07a26530695ddd95e1664597ce6c056ae44c162cc2e28cec4ddf5dd4e0ef2b185e8bb0af7b6e90ebe74a84384cb4700658e76e754c8bfe550f6f1c1bedf1a0f37cfef81d12f5f012869d1ee7c984775a569827a1784d34f5c54270656df079c4da5182629a080fc633b6f84b87985eb016d25a560e2c38d4aa2ccfdc001858222885a9df39200840ac7a3f479ba889727d32a10398db7918a4f907b912e024625d36b8af307f1043e6ebc97074e31216175d14bb74c370dc3cb36e80beaf2a527d463da552a5c679a46c4ff8c881318a194bb0ccb61cb2d5ca42b23e21050a0f0f90c1f7a443b8087a409771611eae402861959a793be38e853f9f6be37d5c395c125a53dbf39c697fc3e5fd44a5f09f0d99710910f840dd650a34bad4a30a4b5b0a1bac46183e16c545442193bb822135c040daa8bae49d0b714a956eaa534038df27e0b43d08f529aa0895316b9b5de15a2705c1a47cf9ee8ea86d36177a3faf0bedbbfa70031350e721a7f0fab8526be36093ab666be97822182bb6da3d1295aeb92a1c14c42419e325559abf461268a17c5210c19a9721fc8c6a6e5db5e2b802fbb671fa104ee32e29b1701a35a8fc65ded848cb984b4b6a25595686705dab08245c0a5e4ef5852173d9cc4b5ae1b6e89f31b7780632bf9e90c9df5f2c6af0f6d5a2ae4c4011471df1b2e03598faae60a1613d5cf7bc063a83085d86e5c2b56ce5076fadf6489ea93de3ac44ae9fa69e4c7a39ab291e80f7aaf4c55925407436653f949791694831419f27fa4a83b10b2f735a8971ff17e939740c7b4469e60d7ecbba091971fd72a9940a9fb02d91cf4d7813feacb5bc1c572418a4035c66191f95e1500dd3462764f916f683b1b06a78a3fe8d8529a433dce1c9b9152af258a84042741feea52e78ee0aeea6a438fd5b59fcac2a3b71bf8b7f7affee67f19707d3514c565805efdf2e5801ea6b4186a3bed176e197540e9c2b688f78c0cd43c60298ecd353fcd54745bb6e83a3ffa6b0fb19e1936fbd34922fbaf2352268c029b1b0384477b0e94a5e651a0af6b7a2a1d3dd74e7d87f386222130f684ad9c976d3658a0b49e6829b119d624d8bb6ebfd54de6781aa7c49011f6319a4e68b113f2c7e54d97c8e13f42513543ab0402c125cb9f05cba1cbc52866a97f4c9cfe240f672c48f7cf41d0899ba4c71ff165440be87e8a660cb7d1d00b641b7209da983e7b97f5f40466e1109dbed4a10d75a26ae3c9e8abd822578e0880ab474eeb037544f9d4ad41381ef69efb0d41d7e976a3cb64ae5d0c62a6b617571a4ea026747642b43bca73b8dcd39fda1a34344f726e30318253058339cd27415634bbc639ffd62dcb4558985a7ab0e964709bb58cd6379bf79ca71de46a65539051a2108e1445ba8d2ec1fb3bfa5ecafad935e526a3cae09c4639b402b792ce87e56458b6701630f9fd1f04940748e48876c8ea877b559cf07b879fefea393ea09c85991fecef8d0df4130f7cb146f49003a84700a4deb7e5f3485553509448ea1b58b894a6dece4a158e759af730f324f9e9e3b36f32abab550ed8e961459052dc6a9ca57e587cbd89105322af6b87cb73d1b59f0e8b4ea4bf8135db0209c66f39c915bc343fb2d375175780311b23be085c4a11be9f7b92f419aa0231f1466476248f76f778d5bff1c3898c8930d3df088e612f6fa83c15c6b0b7b9ce56f04e8002ac161fe9532fcff6961fdc3eebf0c7d8f7f5a84afb7a7d9f85949a40094f0acbdde5950edaad6a73829bdbc71cc9eecd1fdeaaf21411f380c65cc41468aca1e069bd6a6300547393e9350807de058d23b8b94838e509c0f6505cdcc1390fda7e0c56cec8d3da43b24f4fa7c4170b2b2c067004ce87d841e24bfc97ab32ac8775bea86337f08bd3e598acdc452c3408953560568affda91c1378404ed5ab5a61f2090ba4204ba7a4098b0ed955a25dc19818261f2f10b380aeb492d6962f8696c7b2d7aceb1f6fb24b12eaea1322e5fb3789217e892770b753ab7b2bd6fc64cb81b74a116cd9bb35da33b47781769051882b1cdd68a9a3eaee18d8d9074ddeaf61c4ae63ecfe0d07a386a6b8f852d61678ce2dd427429bd5dabafcb91fe9fad064c988fe93b9a4ee64e78e43bdfc7774013e1d1e3eaee4c37a8a03a4ef5618173e56a8a91d27a8a5ed8b1c09ee1e9fb2f5070ab1e70da7a2979db26ace9575c4b1f8ec4ed1b97f7763b56f37f7c7f87c8c0b9a1021f07fc2379f99497f5a2414664835b4cf4f2dd9598637a99ce8327abf54c0999260998ffe4df439067ca91cb2d1fa96ca0c5e4f8c64c0c6847305ed12e52b3eac39289252faee80d5fda1081e53622c48be1663941c34aa91e91b4f97ee349f003bf6f55d3b060a8f7a8f9a26cb299110e83b010c75fa93a5a01cdfd4293265be5f7104b5d671ede826d94624a9e80a0048b41160ad82d68d55a7cee7500ff47b8f9b9375398a6cbc80eafc46e2170614a3b44d302669724935e8b45e79ef016d47533f5f5e89e2dcab450f354631c8b92187c2dc93b7e318f296d4b535db1cd87dc7785b666e60beddeba764c95109415217f36bd3f566a309232c8ccc6f62d5307e3642142909b8dca372945d2abfbbe505dc52ebf465efe8dcde1bc4d185efe68a1ca92c1f8efd60d8312607dc8b4bc88e23e980525478c066c1f6cd7fcadbf906969c262e11e562cad6ba8f03b09ac7d90b1e0a20f99a90dfdd8a4906fc14e1742bebc68d78bb08d350557c0f3c2564455b5a75964b2d2c8e2c7ab0325cfe6af6df70922a273511ffff7a9adc9ea8cad449c39b480fff95999d0d521415251cfb41f6333f458272a5a54c177c2bb0e7fbcd7b3d484fe44b5ff2583b2e5a4ca3add542c3535f6c4c9e0c04c3d47b290833ff9fb4688bc54e9f9e4eea9799da2ae531f0695369e38f236d91ce7c9f0336b578c5d71c2325018568d1323ab3e939f48be353a6d9b98bb6e8127b7bda8085e2923fcd3f43991ca4982cf33fd15eeecf5286e6f74315f4c26e9b5ba9a81747e8cded4583b3a01075f41c0018d07409b11f334c0b651c18ea1262de47c958f1c55cd73ae1298203ddc4b339607a54e5757ea7cd001bde2436792f558e4ad962d34f732ccc7ac4f60f906a9e15b801141c19f55e2c743f4a1d97e33331600d3c8e9a4e7e70ec164b34c42e874717e736bd0898f0a19ee8c606b35a10904951e0a27da1896eafe33c6e88cb7bcbe455f05a24a3b0f474e2891ab3746f751e317f7750300b653dfa59d93248f00b6426fb7acbfc55c02e1d32fcf2af5800f0204a952aad0d572c217c8fb468cf7e5ef38d5b5104f6a9c99d36c51fabdd3e290c6a7fafb8252e6f34627d37d133ee9381a7880e543c53cdbea7e37fce8da22413e338f63f6d3349c7d6f7fdceea3f7d03e49f06e021b42a30a7a1f340211764fd0175b935260f4f118b71f3f8d991f1c98176367d694c67682fc130b5181faa370489ab34a256dcd0210e598efaaa89055569a4e8b4d11dc9ce933ade05544a38d7eb98a7cb3bee40b45e5529dfad6759bc4bce572375e7a3d4681f8845cac7589a1995888b3538b36e4998483ee1160acda632f93bde7ed61a45ffaeca5f30f39c5d0e7f8d4eea081530bad71f7a321ab17a96d32ae1d7da399c5a652f7c8ef5017f3b6787c2e18c5821a7ebf74be3894909eeec33a663212e8c8cfbb70cb97a25f928e435170a9fdbf135a402dd5b075d0898f8525766aa8e80a2b0a18914f365a95bd62122cf802e254c7604acdea331cc309a2c48e191d4d6b71b5054d8fa95b823a80a0ae3c46f8f25878a4d9c03a90cb4ab637683be10c1c09fcb754b15040c82bd08bc570a03d9aed1cdd3058f1206a27c778dbe9ebde3d7338451a2a1a2ed867d7ba6852fbd5f52b22708748d4260837c778dbe9ebde3d7338451a2a1a2ed867d7ba6852fbd5f52b22708748d4260837687f439b07fa1f0c51efc84c2eaca42150393736557c570936b8d16335bd3214d1c5ef169692ff1eb72d9f065d135f52bfdec35226674ae64c7ba4592833d9e1831dbda3667f443e976f6018558232ae3e4223c3724ebe023fa4b422c109ff9d5b70fa6b0952a2e692cce280ab6d4fe24fc1c8f3ae2aa3469ed3bc998a188c00def49b49b09adc4f78517a343dcb7d8a265391bc8a0570a2e5b037866a9cc8e0b7b0efd564f7672855271223b886d05a44742fe883ff9abeac52bbf013f93c4c2e5c51d2ae6918572e77eb7a365f69ab2134fe2468a895a732cc29812d305ee5877ee5f8afc2d06bf79da9056ad672743f8c496ea9fdea5fa25f14d1a12c4d2520a3b1a52d315e501b87e3fe1df85f27a35e24d84b86a166c48d12ff88cd7c33a00424a8169c9fe3fbb432e1d4b465e1947bbe65cb9b152762f2d973f1212de2a6a0f3223f80b6f27f67746d07180ce2fc1cbc88115226e0abe65a32891e899324f322c9968cfe4700849041add2d0a229b748f506339aab5832a4fe1ceb62b93f34e43913f6be5d9e7799744b6db55e9f5ace0a48f14019ed75725135499a8cf71bc042d4dfc31d580c38078cb1cf93cb695ebb662a99fc3079bb06a314c8729d049568a23c298be7b7909173bc76e104a96dc0200011ce4c8231201b8ba2049b6473c445512c484684c021ab24b9e01aef2a59b35e8e43cbb94b08817c86bc9d1b05d15804cb021758eb47165e5ce8ef2d44f00774cceb1c51fddbf3f542473c7412b1db29d8420a6e0ebbf71c3083166b90cfecefcdf871ebd48f121656a791bd72fce139b0cdfa27cd6975fb99dfed3c1654900bd5afcfce05415d36d7586c5fd1645ac428bc5cf8d15fe6c62ac33ba7ff0c6ecb02ba723792ae5e0faea0c96b6af7f4b6377f611cae0abc250c02b6aeb9eee9a924ee127cfa5e05823a3e0b21531fff65779582448c27513f29d1259f3651174c8e3bd6722789e4f880ae2c99ccb44bcfffb5afd535d25e9ff7a3e9561fcbb547b0540a9b913b7e49d201ea9c10af412e2243223a098140d6cf4d7eac733ac5f0c192087e28c4c020eeeecf59842395aa67adc362596e7744ae1cdd686d07918521a9f08491f61b90667dd2298494556073b302f73b6f63e2d3c43ab24af299422e485559620941d8e8b543ccb56fa3d5df9b213737f1af902e1259bf4d5b4902d323a7ab1af6635b2d3a43ccb56fa3d5df9b213737f1af902e1259bf4d5b4902d323a7ab1af6635b2d3a740230fd4ea5234edb022142e723bb3651328adb48f3b85162c00c469e680051086d4b34dea4f48dafed64bf54c6a064d8491d0a71974918b7372d22a483e841086d4b34dea4f48dafed64bf54c6a064d8491d0a71974918b7372d22a483e84163f739ef798596adcd2b8319a1561a7dcdd2b43af30f6d7d4697f46dd19635e89b9d7d9dadaef7dec7778d26eb66c2011eafa8745cc993dedcb285086a11627badc99a4002fc130e16174022e036758935f1af82f0ea0e5c9609f92000c0f587110e8e15511ad849007e4f8b685cb990f1cb86b7f472708c48a3731d01f08e529f47e5eccc9db1cef6f05722485044978fffd689b663d750e149f4fd261f964b4531552ba878a5e8e28d8bddc5bd648ef3a465f184a2e8a70d752fe191c07b60f433b1acea75ebc78753560466dfd6e46a53fd07ec848aeaabed2ac554753a4a1fcb2fc1d800192c5f3f792b0e341701992b6e65d988ccb9fdc5761085ffdd491fcb2fc1d800192c5f3f792b0e341701992b6e65d988ccb9fdc5761085ffdd49429cd109a2de597644b589f0e0a5fc78e603c8ae766219323137ea51848baf149b979943f04e806061499577821300a559ac471c2ab99546b54a0828a3946edf9b979943f04e806061499577821300a559ac471c2ab99546b54a0828a3946edfe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855382595b6a826b3d8088b39d736a29ad525047779bed62a38be27637eb665294f382595b6a826b3d8088b39d736a29ad525047779bed62a38be27637eb665294f7ad32ad6307d2d44a1a5e3cf94a8545561aa8158fdab4c70bc2e951d7a2610a052797a3d65f9bb14c1e2945e585100d0059dba069bcfd5a3b71806e6ffbc294d52797a3d65f9bb14c1e2945e585100d0059dba069bcfd5a3b71806e6ffbc294da613373321625b26eca3f49dc89e3798b7bb3d70a68ea19c22ba8076a294524a6034fb0e531a1d9c64934b01863eeb63e4b381356aa6f0d67d1c1ea5ef78ea746034fb0e531a1d9c64934b01863eeb63e4b381356aa6f0d67d1c1ea5ef78ea7429bb497d8585cb07059483157a7b6eb4beb4e831b56ce1fa5266c565d8c10fe5e7e12cd55fb62ba5404ab66efdbb10ee03557044153330a046f387ccf3884b17b0960bda6daa4174f939587a49063ba3efd3b08df39b9b0f8fe407f1da0a5ca79ccc12545732877b498b11e2951bcf854a6d996ddf3a7f7ef7f78d66eee9617aea94bf14c21acc1ed825211a94bbfa5dca50f3ae62a4675fc133ec9cfc5cd24aea94bf14c21acc1ed825211a94bbfa5dca50f3ae62a4675fc133ec9cfc5cd24a60ea20f3ef494f2f16c99c5da401d5532a7228cde3ca9816fdd734928c39b6484472a0712a8dde3cc7647ad4b7b884dc7acc282b85aefc0f297233ecc52042314472a0712a8dde3cc7647ad4b7b884dc7acc282b85aefc0f297233ecc520423106b1a320ee4c317e84c60df978a83673b214063f066986bb5629bffd74594fc38177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b8806439b1e2d8830389bc31d1089e924f0baf48dd2504d177c72c5c08620217fc8167ae3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85580dcfdfefe1b9e25b9ed1ed17f1f4dea976b066dacc890dbce0b633c49c6e3eee3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855@@@@@rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootlucilucilucilucilucilucilucirootlucilucilucirootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootluciluciluciluciluciluciluciluciluciluciluciluci-0.26.0-93.el6.centos.src.rpmconfig(luci)sasl2auth.so()(64bit)luciluci(x86-64)@  @@@@@@     @ /bin/bash/bin/sh/bin/sh/bin/sh/bin/shTurboGears2chkconfigchkconfigconfig(luci)coreutilscyrus-saslinitscriptsinitscriptsiproutelibc.so.6()(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libpthread.so.0()(64bit)libpython2.6.so.1.0()(64bit)libsasl2.so.2()(64bit)opensslpampython(abi)python-pastepython-repoze-who-friendlyformrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rtld(GNU_HASH)sedshadow-utilsutil-linux-ngrpmlib(PayloadIsXz)0.26.0-93.el6.centos2.1.222.61.7.2-53.0.4-14.6.0-14.0.4-14.0-15.2-14.8.0XXx@XS@X>@X2X,J@X)@X%X$a@X&X@X@V3V3VIV@V@VvVvV<@VU[%U[%UHT9T9TT@T@SvSS@SS^SSS;@SǺSQ@S @Sh@SSS@R[RD!RD!R6R7R q@R@R@Q@P @PqP @P @P @PP@PN@PPPP{Px@Puc@Pr@Pr@P@@O@O@OO@Oc+@Oc+@O`@OU@OTOG{O>A@O:LOKN/NFNNx@Nw.Ns:@Ns:@NqNh@Nf @Nf @NRDNNP@NI @N@NpNpMMM>MUMMx@MMMp@Mn1@MfH@MbSMK@MK@M4/@M Lr@L+@LmL^@LRLQm@LN@LMxL=L - 0.26.0-93Jan Pokorny - 0.26.0-93Jan Pokorny - 0.26.0-92Jan Pokorny - 0.26.0-91Ryan McCabe - 0.26.0-88Jan Pokorny - 0.26.0-87Jan Pokorny - 0.26.0-86Jan Pokorny - 0.26.0-85Jan Pokorny - 0.26.0-84Ryan McCabe - 0.26.0-82Ryan McCabe - 0.26.0-81Ryan McCabe - 0.26.0-80Jan Pokorny - 0.26.0-79Jan Pokorny - 0.26.0-78Ryan McCabe - 0.26.0-77Ryan McCabe - 0.26.0-76Ryan McCabe - 0.26.0-75Ryan McCabe - 0.26.0-74Ryan McCabe - 0.26.0-73Jan Pokorny - 0.26.0-72Jan Pokorny - 0.26.0-71Ryan McCabe - 0.26.0-70Ryan McCabe - 0.26.0-69Ryan McCabe - 0.26.0-68Ryan McCabe - 0.26.0-67Ryan McCabe - 0.26.0-66Ryan McCabe - 0.26.0-65Ryan McCabe - 0.26.0-64Ryan McCabe - 0.26.0-63Ryan McCabe - 0.26.0-62Jan Pokorny - 0.26.0-61Jan Pokorny - 0.26.0-60Ryan McCabe - 0.26.0-59Jan Pokorny - 0.26.0-58Jan Pokorny - 0.26.0-57Ryan McCabe - 0.26.0-56Jan Pokorny - 0.26.0-55Ryan McCabe - 0.26.0-54Jan Pokorny - 0.26.0-53Jan Pokorny - 0.26.0-52Jan Pokorny - 0.26.0-51Ryan McCabe - 0.26.0-50Ryan McCabe - 0.26.0-49Jan Pokorny - 0.26.0-48Jan Pokorny - 0.26.0-47Jan Pokorny - 0.26.0-46Jan Pokorny - 0.26.0-43Jan Pokorny - 0.26.0-42Jan Pokorny - 0.26.0-41Ryan McCabe - 0.26.0-40Ryan McCabe - 0.26.0-39Ryan McCabe - 0.26.0-38Ryan McCabe - 0.26.0-37John Ruemker - 0.26.0-36Jan Pokorny - 0.26.0-35Ryan McCabe - 0.26.0-33Jan Pokorny - 0.26.0-32Jan Pokorny - 0.26.0-31Ryan McCabe - 0.26.0-30Ryan McCabe - 0.26.0-29Jan Pokorny - 0.26.0-28Ryan McCabe - 0.26.0-27Ryan McCabe - 0.26.0-21Ryan McCabe - 0.26.0-20Ryan McCabe - 0.26.0-19Ryan McCabe - 0.26.0-18Ryan McCabe - 0.26.0-17Ryan McCabe - 0.26.0-16Jan Pokorny - 0.26.0-15Ryan McCabe - 0.26.0-13Ryan McCabe - 0.26.0-12Ryan McCabe - 0.26.0-11Ryan McCabe - 0.26.0-10Ryan McCabe - 0.26.0-9Ryan McCabe - 0.26.0-8Ryan McCabe - 0.26.0-7Ryan McCabe - 0.26.0-6Ryan McCabe - 0.26.0-5Ryan McCabe - 0.26.0-4Ryan McCabe - 0.26.0-3Ryan McCabe - 0.26.0-2Ryan McCabe - 0.26.0-1Ryan McCabe - 0.23.0-32Ryan McCabe - 0.23.0-31Ryan McCabe - 0.23.0-30Ryan McCabe - 0.23.0-29Ryan McCabe - 0.23.0-28Ryan McCabe - 0.23.0-27Ryan McCabe - 0.23.0-26Ryan McCabe - 0.23.0-25Ryan McCabe - 0.23.0-24Ryan McCabe - 0.23.0-23Ryan McCabe - 0.23.0-22Ryan McCabe - 0.23.0-21Ryan McCabe - 0.23.0-20Ryan McCabe - 0.23.0-19Ryan McCabe - 0.23.0-18Ryan McCabe - 0.23.0-17Ryan McCabe - 0.23.0-16Ryan McCabe - 0.23.0-15Ryan McCabe - 0.23.0-14Ryan McCabe - 0.23.0-13Ryan McCabe - 0.23.0-12Ryan McCabe - 0.23.0-11Ryan McCabe - 0.23.0-10Ryan McCabe - 0.23.0-9Ryan McCabe - 0.23.0-8Ryan McCabe - 0.23.0-7Ryan McCabe - 0.23.0-6Ryan McCabe - 0.23.0-5Ryan McCabe - 0.23.0-4Ryan McCabe - 0.23.0-3Ryan McCabe - 0.23.0-2Ryan McCabe - 0.23.0-1Ryan McCabe - 0.22.6-1Ryan McCabe - 0.22.5-1Fabio M. Di Nitto - 0.22.4-2.0.b9faf868074gitFabio M. Di Nitto - 0.22.4-1.0.b9faf868074gitRyan McCabe - 0.22.4-1Ryan McCabe - 0.22.3-1Ryan McCabe - 0.22.2-11Ryan McCabe - 0.22.2-10Ryan McCabe - 0.22.2-9Ryan McCabe - 0.22.2-8Ryan McCabe - 0.22.2-7Ryan McCabe - 0.22.2-6Ryan McCabe - 0.22.2-5Ryan McCabe - 0.22.2-4Ryan McCabe - 0.22.2-3Chris Feist - 0.22.2-2Ryan McCabe - 0.22.2-1Ryan McCabe - 0.22.1-3Ryan McCabe - 0.22.1-2Ryan McCabe - 0.22.1-1Ryan McCabe - 0.22.0-16Chris Feist - 0.22.0-13Chris Feist - 0.22.0-11Fabio M. Di Nitto - 0.21.0-8Ryan McCabe - 0.22.0-4Ryan McCabe - 0.22.0-3Ryan McCabe - 0.22.0-2Ryan McCabe - 0.22.0-1Fabio M. Di Nitto - 0.21.0-7Ryan McCabe - 0.21.0-6Ryan McCabe - 0.21.0-4Ryan McCabe - 0.21.0-2Ryan McCabe - 0.21.0-1Ryan McCabe - 0.20.0-1- Roll in CentOS Branding- Further fixes for rhbz#885028 and rhbz#1173942 Resolves: rhbz#885028 and rhbz#1173942- Further fixes for rhbz#853462, rhbz#877999 and rhbz#885028 Resolves: rhbz#853462, rhbz#877999, rhbz#885028- Fix side navigation panel displayed unexpectedly when accessing index page without prior logging in after luci start Resolves: rhbz#853462 - Rectify suboptimal logrotate arrangement imposing server restarts Resolves: rhbz#887340- luci: Support method attribute for fence ipmilan Related: rhbz#1337718- Ensure luci cannot change its own bootstrap configuration in luci.ini Resolves: rhbz#991608- Remove temporary seeding file leftover/s upon uninstall Resolves: rhbz#988985- Allow for listing configured actions per particular resources Resolves: rhbz#1173942- Add authenticity check of ricci instance via its public key fingerprint Resolves: rhbz#885028- luci: Fix cluster shutdown action Resolves: rhbz#1316970- luci: Add support for Oracle Data Guard resources Resolves: rhbz#1316952- luci: Suport fence_ilo_moonshot luci: Add support for fence_ilo_ssh fence devices Resolves: rhbz#1337718- Fix luci not running after /etc/init.d/luci reports that it has started Resolves: rhbz#877999- Further fix for configuration logic wrt. SSL/TLS insecurities avoidance - Enforce new configuration of luci self-managed certificate, preserving the possibly modified content in a backup file Related: rhbz#1156167, rhbz#1156187- luci: Fix handling of binary totem "secauth" attribute Resolves: rhbz#1285840- luci: Allow RRP configuration for UDPU Resolves: rhbz#1273954- luci: Support alternate timeout attributes for fence devices Resolves: rhbz#1255207- luci: Fix defaults for dlm/gfs_controld plock_ownership Resolves: rhbz#988945 - luci: Fix allowed values for totem/@secauth Resolves: rhbz#1285840- luci: Remove references to named_sdb Resolves: rhbz#1208649- Make luci implicitly avoid SSLv2 and SSLv3 versions of the protocol, and also by default, disable RC4 cipher (unless overridden by user) at both the web browser/HTTPS (rhbz#1156167) and ricci daemon/SSL (rhbz#1156187) sides of communication Resolves: rhbz#1156167, rhbz#1156187 - Update luci self-managed certificate signature digest from sha1 to sha256 Related: rhbz#1156167, rhbz#1156187 - Force generating luci.ini anew on update otherwise intended security hardenings will not take effect with luci already in use (and avoid respective downgrade issues, both using a mechanism already in place) Related: rhbz#1270958- Prevent clickjacking (malicious use) of luci and enable enforcement of some more web service security mechanisms Resolves: rhbz#1270958- luci: Rebuild for changelog cleanup- luci: Add support for fence_emerson and fence_mpath Resolves: rhbz#1210683- luci: Add expand/collapse buttons for each inline resource Resolves: rhbz#919223 - luci: Preserve expert mode resource attributes when editing service groups Resolves: rhbz#1112297 - luci: Warn when config can't be set or activated Resolves: rhbz#1136456 - luci: Update fence_virt / fence_xvm labels Resolves: rhbz#1204910- Rebuild for new stop image Resolves: rhbz#1111249- luci: Add expand and collapse buttons for services Resolves: rhbz#919223 - luci: Add a "stop" service action in expert mode Resolves: rhbz#1111249 - luci: Don't lose nfsserver "nfspath" when not in expert mode Resolves: rhbz#1112297- luci: Add a cancel button to the services add resource dialog Resolves: rhbz#886526 - luci: Add support for miss_count_const Resolves: rhbz#917761 - luci: Add support for rrp_problem_count_threshold Resolves: rhbz#917773 - Luci: Indicate that shutdown_wait is ignored for postgres8 resources Resolves: rhbz#917781 - luci: Add support for the fence_apc cmd_prompt attr Resolves: rhbz#1010400 - luci: Don't let the add resource button disappear after adding a VM Resolves: rhbz#1100831- luci: Don't active new conf if any of the nodes didn't receive it Resolves: rhbz#1136456- luci: Fix editing services that VM references- luci: Fix editing services that VM references - luci: Fix error in fence_lpar form luci: Fix issues with bind-mount resource name display Resolves: rhbz#1117398- Resolve newly introduced issue with doubled Edit Fence Instance forms Related: rhbz#1127286 (CVE-2014-3593)- Resolve issue with custom luci launcher upon update while luci running Related: rhbz#1026374- luci: Allow & in XML attribute values Resolves: rhbz#855112 - luci: Fix positioning of sort arrows Resolves: rhbz#919225 - luci: Allow nfsclient to be a child of nfsserver Resolves: rhbz#919243 - luci: Remove bad default values for startup_wait and luci: Remove ssh_options fields from fence agents that do luci: Support newly added bind-mount "name" attribute Resolves: rhbz#1117398- Additional fix for regression with "extensionless" node names Related: rhbz#999324- Fix luci unable to handle node name ending with recognized filetype extension Resolves: rhbz#999324 - Add a custom luci launcher allowing sane Python runtime + SELinux coexistence Resolves: rhbz#1026374 - Fix privilege escalation through cluster with specially crafted configuration Resolves: rhbz#1127286 (CVE-2014-3593)- luci: Update the fence_kdump config forms Resolves: rhbz#918795 - luci: Move sort arrows for resources Resolves: rhbz#919225 - luci: Cope better with editing services containing VM Resolves: rhbz#1100817 - luci: Add support for the bind-mount resource luci: Update fence_brocade luci: Add support for the reboot_on_pid_exhaustion luci: Remove mention of fenced skip_undefined luci: Add support for the postgres-8 startup_wait attr luci: Add the ssh_options attribute to applicable fence luci: Add support for the no_kill attribute of the VM luci: Add support for the use_findmnt attribute Resolves: rhbz#1117398- Fine-tune update-downgrade-uninstall scriptlets as changed in rhbz#991575 fix and modify new suggested value in sysconfig file Related: rhbz#991575- luci: Add support for the IP "prefer_interface" attr Resolves: rhbz#917738- Fix breakage upon update due to changes introduced with fix for rhbz#991575 Related: rhbz#991575- Add the ability to block weak ciphers (revisited) Resolves: rhbz#991575- Add the ability to block weak ciphers Resolves: rhbz#991575 - Check length of secret on startup Resolves: rhbz#982771- luci: Don't remove attributes from xvm fence devs in Resolves: rhbz#1004011 - luci: Fix for option to completely disable rgmanager Resolves: rhbz#723925- luci: Add option to completely disable rgmanager Resolves: rhbz#723925 - luci: Disallow XML-unsafe characters in attribute Resolves: rhbz#855112 - luci: Add support for configuring missing totem Resolves: rhbz#917771 - luci: Add support for fence_kdump Resolves: rhbz#918795 - luci: Add support for sorting by columns of the Resolves: rhbz#919225 - luci: Don't allow nfsclient without nfsexport Resolves: rhbz#919243 - luci: Fix broken display on permissions page Resolves: rhbz#988446 - luci: Don't write type attribute for oracledb for Resolves: rhbz#1003062 - luci: Allow configuration of more fence_xvm attributes Resolves: rhbz#1004011 - luci: Fix default value for post_join_delay Resolves: rhbz#1004922 - luci: Update name for fence_egenera Resolves: rhbz#1008510 - luci: Support configuring "self_fence" attribute for Resolves: rhbz#1019853 - luci: Add support for the apache "httpd" attribute Resolves: rhbz#1061786 - luci: Add support for newly added nfsserver statdport Resolves: rhbz#1070760 - luci: Fix crash when config contains a globally defined Resolves: rhbz#1100817- Postpone fix for luci not running after reportedly started due to missed corner-case Related: rhbz#877999- Additional fix for support for missing fence devices Resolves: rhbz#917747- Do not propagate "unfencing" verbatim to configuration Resolves: rhbz#883008 - Add a guard to enforce code validity during compilation phase Related: rhbz#883008- Fix short exposure of authentication details while generating configuration file Resolves: rhbz#1005385 (part 1) - Fix hidden untrusted path and "command" (callable association) injection Resolves: rhbz#1005385 (part 2)- module_name parameter for fence_drac5 is optional, not required Resolves: rhbz#1001835 - fence_ilo denoted as HP iLO / iLO2, but the latter has a separate entry Resolves: rhbz#1001836- Default syslog facility is "local4" (not "daemon") Resolves: rhbz#896244 - Fix cluster_version mismatch upon adding 2+ nodes Resolves: rhbz#978479 - Fix luci not running after /etc/init.d/luci reports that it has started Resolves: rhbz#877999- luci: Add support for TNS_ADMIN in oracle agents Resolves: rhbz#983693- luci: Make pop-up messages act like static status Resolves: rhbz#773491 - luci: Add support for fence_scsi 'delay' attribute Resolves: rhbz#883008 - Enable the ricci and modclusterd services when creating a Resolves: rhbz#886517 - luci: Remove useless "remove this instance" button Resolves: rhbz#886576 - luci: Add support for missing fence devices Resolves: rhbz#917747 - luci: Ask for confirmation when removing a cluster Resolves: rhbz#917814 - luci: Update Oracle agent configuration Resolves: rhbz#983693- luci: Make pop-up messages act like static status messages Resolves: rhbz#773491 - luci: Fix uncaught exception luci: Fix for tracebacks when no nodes can be contacted Resolves: rhbz#878149 - luci: Don't let anonymous users access the preferences page Resolves: rhbz#878960 - luci: Fix garbled error messages Resolves: rhbz#880363 - luci: Add support for fence device attributes Resolves: rhbz#883008 Resolves: rhbz#917743- Revert the change that caused pop-up dialogs to be centered. Resolves: rhbz#773491- Correctly display the 'type' attribute value when editing an oracledb resource Resolves: rhbz#886678- additional fix for luci support for fence_sanlock (in technical preview)- luci: Update unfence when renaming fence devices Resolves: rhbz#882995- luci support for fence_sanlock (in technical preview) Resolves rhbz#877098- luci: Cont'd fix of controller wrt. unicode Resolves rhbz#807344- luci: Fix matching of unfence blocks Resolves: rhbz#815666- luci: Fix the interaction of the force_unmount and nfsrestart checkboxes Resolves: rhbz#822502 - luci: Error out if max_restarts is set but not restart_expire_time is not luci: Fix handling of subtree options Resolves: rhbz#877188 - luci: Fix value for LVM self_fence Resolves: rhbz#877392 - Remove trailing commas that cause problems for some old Resolves: rhbz#881796 - luci: Audit of resource agent checkbox input Resolves: rhbz#881955- luci: Cont'd fix of templates wrt. unicode Resolves rhbz#807344- luci: Add missing JS include Resolves: rhbz#822502- luci: Allow global resources to be referenced multiple times Resolves: rhbz#860042- luci: Fix label on fence_hpblade form Resolves: rhbz#865533- luci: Add support for fence_eaton_snmp Resolves: rhbz#865300 - luci: Add support for fence_hpblade Resolves: rhbz#865533- luci: Add back missing unfence patch Resolves: rhbz#815666- luci: Add the ability to remove users Resolves: rhbz#809892- luci: Add support for the IBM iPDU fence device Resolves: rhbz#740867 - luci: Center popup messages Resolves: rhbz#773491 - luci: Fix handling of resource and services luci: More fixes for resource/service/failover naming Resolves: rhbz#807344 - luci: Fix unfence display on node page Resolves: rhbz#815666 - luci: Add support for fence_ipmilan privlvl Resolves: rhbz#821928 - luci: Add support for nfsrestart Resolves: rhbz#822502 - luci: Fix double click on add existing dialog Resolves: rhbz#856253- Fix bz853151 ("No object (name: translator) has been registered for this thread" due to private threading) - Fix bz826951 (Prevent from invalid ID and IDREF values in cluster.conf)- Allow altmulticast port overlap and address overlap as long as both don't overlap the primary channel's values.- Fix the handling of power wait for fence_intelmodular- Fix bz820402 (fence_ifmib and fence_intelmodular disappeared from the fence device list) - Additional fixes for the RRP configuration interface.- Additional fixes for bz772314 (The ability to add RHEL6 luci non-root users as root user)- Additional fix for bz740835 ([RFE] Better handling of Prioritized/Priority fields in failover domain configuration)- Fix bz803398 (Luci shows incorrect verbosity level for sqlalchemy logging facility) - Fix bz801491 (A global resource with "." in the name of resource will throw an error in luci)- Additional fix for bz690621 (Luci Debug options for end users to enable)- Fix bz800239 (Add support for KVM --tunneled migration option in vm.sh resource script)- Update the fix for bz786584 per the latest updates to the condor resource agent.- Additional fix for bz749668 (Invalid fence configuration causes luci database corruption) - Fix for bz796731 (Error 500 from luci when try to edit a Service)- Fix bz690621 (Luci Debug options for end users to enable)- Fix bz786584 (condor_schedd Resource Agent integration)- Rebase to latest upstream version. This pulls in fixes for: - bz690621 ([RFE]Luci Debug options for end users to enable) - bz704978 ([RFE] UI: Make it easier to tell which resource a “Add a child resource” button belongs to.) - bz707471 ([RFE] Make reboot icon more obvious) - bz755092 (Luci does not expose the force_unmount option for filesystem resources) - bz740835 ([RFE] Better handling of Prioritized/Priority fields in failover domain configuration) - bz744048 ([RFE] A confirmation box before removing clustered services from conga.) - bz749668 (Invalid fence configuration causes luci database corruption) - bz758821 (cman and corosync RRP handling are not consistent and needs improvements) - bz768406 (The "monitor_link" ip attribute default is backwards) - bz772314 (The ability to add RHEL6 luci non-root users as root user)- Additional cleanups for dialogs that were not reset properly when closed.- Additional fix for bz705884 (luci chokes on working cluster.conf line) - Fix to mitigate SELinux issues (bz737635)- Additional fix for bz639121 (Lightbox dialog state is not reset when the dialog is closed) - Additional fix for bz718355 (Logging feature in Luci not working as expected) - Additional fix for bz599074 ("Use same password for all nodes" doesn't work.)- Add a note about the implications of creating, deleting, and editing service groups on the admin page.- Make sure cluster permission database objects are created properly after a cluster is destroyed, then recreated.- Additional fixes for bz522005- Additional fixes for bz522005- Fix bz733084 (Cleared options are not saved correctly in Virtual Machine services) - Additional fixes for bz522005- Fix a regression introduced by the fix for bz522005- Revert bz703574-2.patch as there is no /usr/bin/sqlite on RHEL6.- Fix bz729730 (Windows 7 IE 8 will fail with error opening url for luci cluster management) - Fix for bz522005 that re-enables the warning added by bz671285- Fix bz522005 (improve upon existing luci user access controls/roles) - Additional fix for bz703574- Fix bz703574 (Luci Configuration Backup and Restore) - Fix bz639121 (Lightbox dialog state is not reset when the dialog is closed) - Fix bz643488 (UI: inconsistent lower/upper casing) - Fix bz671285 (And warning text to Luci UI about relying on UI w/o core understanding of clustering)- Fix bz718355 (Logging feature in Luci not working as expected) - Additional fix for bz632536 (luci UpgradeTest-selinux Test) - Fix bz664036 ([RFE] Conga should ask for confirmations before executing certain destructive operations)- Fix bz705072 (Support new fence_vmware agent configuration) - Fix bz718355 (Logging feature in Luci not working as expected) - Fix bz632536 (luci UpgradeTest-selinux Test) - Fix bz705884 (luci chokes on working cluster.conf line)- Fix bz707918 (Luci doesn't allow subsequent service changes when non global filesystem resource is added)- Fix bz705111 (When editing a failover domain without restricted/prioritized, adding a node has no effect) - Fix bz714285 (Migration of VMs doesn't work from luci GUI)- Fix bz711625 (Unable to create a cluster of KVM guests)- Fix bz711625 (Unable to create a cluster of KVM guests)- More fixes for bz617586 (Implement progress dialog for long-running operations) - More fixes for bz616239 (Need option to completely destroy cluster) - More fixes for bz557234 ([RFE] luci update to handle private network/hostnames for cluster create/config)- Fix bz617587 (Luci doesn't display underlying errors) - Fix bz617586 (Implement progress dialog for long-running operations)- Additional fix for bz613871 (luci should not give ungraceful error messages when encountering fence devices that it does not recognize/support)- Fix possible exception path in the luci cluster model object related to bz624558 (replace broadcast option with udpu) - Correct duplication of the fence brocade menu item in the fence devices section related to bz681506 (readd urgently fence_brocade to the list of shipped fence_agents in luci)- Fix bz639120 (Create "expert" user mode)- Fix bz682843 (luci still tries to setup obsolete smb.sh Resource)- Fix bz680173 (Add support for DRBD resource agent in luci)- Fix bz681506 (readd urgently fence_brocade to the list of shipped fence_agents in luci)- Fix bz678424 (can't add node to existing cluster)- Fix bz678366 (fence management not fully functional)- Fix bz659014 (Luci returns an Error 500 when accessing node configuration with FQDN names)- Fix bz616239 (Need option to completely destroy cluster) - Fix bz624558 (replace broadcast option with udpu) - Fix bz666971 (Disable updates to static routes by RHCS IP tooling) - Fix bz605932 (Missing "reset to defaults" button in qdisk configuration) - Fix bz639123 (Disable action buttons when no nodes are selected)- Fix bz622562 (Need to add support for unfencing conf. generation for SAN fencing agents and fence_scsi) - Fix bz472972 (Separate the Oracle 10g Failover Instance in Conga to two resources called "Oracle Instance" and "Oracle Listener") - Fix bz557234 (luci update to handle private network/hostnames for cluster create/config) - Fix bz600078 (Warn about qdisk use for certain configurations) - Fix bz624716 (luci displays misleading error status on initial cluster configuration pages) - Fix bz633983 (Luci does not handle parameter "nodename" related to fence_scsi fence agent correctly) - Fix bz536841 (Need ability to change number of votes for a node through luci) - Fix bz600057 (Fix node uptime display) - Fix bz613871 (luci should not give ungraceful error messages when encountering fence devices that it does not recognize/support) - Fix bz618701 (Spaces in cluster name confuse luci) - Fix bz620343 (Consider renaming "Services" to "Service Groups") - Fix bz620373 (Consider changing the tab order) - Fix bz620377 (Drop-down menus do not remember the selection) - Fix bz632344 (Enable centralized logging configuration via Luci) - Fix bz636267 ("Update" buttons at "Fence Devices" tab do effectively nothing) - Fix bz636300 (Egenera fence agent: specifying username not arranged correctly) - Fix bz639107 (Add luci support for configuring fence_rhev) - Fix bz639124 (Reconcile local database with changes in cluster membership made outside of luci) - Fix bz613155 (running luci init script as non-root user results in traceback) - Fix bz614963 (Python 2.6 deprecation of BaseException.message) - Fix bz637223 (Cisco UCS Fencing Agent) - Fix bz643488 (inconsistent er/upper casing) - Fix bz639111 (Support configuration of non-critical resources) - Resolves: bz622562 bz472972 bz557234 bz600078 bz624716 bz633983 bz536841 bz600057 bz613871 bz618701 bz620343 bz620373 bz620377 bz632344 bz636267 bz636300 bz639107 bz639124 bz613155 bz614963 bz637223 bz643488 bz639111- New upstream release (0.22.6)- New upstream release (0.22.5) - Display all fence and resource agents for Fedora clusters - Add support for fence_rhevm and fence_cisco_ucs - Cleanup of cluster.conf handler - Fixes for running on TG2.1 - Allow configuration of saslauthd - Enforce a 15 minute idle session timeout - Add back node uptime to the cluster node list display - Allow users to configure the ricci address and port for cluster nodes - Fixes to cope with cluster membership changes made outside of luci- Fix CVE-2010-3852 (bug #645404)- New upstream release (0.22.4) - Steal fixes from upstream git up to b9faf868074git Fix bz622562 (add support for unfencing) Fix bz624819 (add compatibility with TG2.1) - Update spec file to support alphatag- Version 0.22.4 - Remove extra debugging logging from the fix for bz619220 - Fix bz614130 (implement tomcat6 resource agent) - Fix bz618578 (ip resource should have netmask field) - Fix bz615926 (luci does not handle qdisk / cman config correctly) - Fix bz619220 (Luci does extra queries which slows down page load) - Fix bz619652 (luci sometimes prints a traceback when deleting multiple nodes at the same time) - Fix bz619641 (luci init script prints a python traceback when status is queried by a non-root user)- Version 0.22.3- Fix bz614433 (cannot configure ipport for fence agents) - Fix bz617575 (Unclear options when configuring a cluster) - Fix bz617591 (Some fields when adding an IP address are unclear) - Fix bz617602 (Fields in "Fence Daemon Properties" have no units) - Fix bz618577 (wrong message displayed when adding ip resource) - Fix bz619220 (Luci does extra queries which slows down page load)- Additional fixes for bz600027 (Fix cluster service creation/configuration UX issues) - Additional fixes for bz600055 ("cluster busy" dialog does not work) - Fix bz618424 (Can't remove nodes in node add dialog or create cluster dialog) - Fix bz616382 (luci db error removing a node from a cluster) - Fix bz613871 (luci should not give ungraceful error messages when encountering fence devices that it does not recognize/support)- Fix bz600027 (Fix cluster service creation/configuration UX issues) - Fix bz600040 (Add nodes to existing cluster does not work) - Fix bz600045 (Removing nodes from existing clusters fails) - Fix bz600055 ("cluster busy" dialog does not work) - Fix bz613868 (Remove fence_virsh from luci UI since this fence is not supported with RHEL HA/Cluster) - Fix bz614434 (adding an IP resource ends with an error 500) - Fix bz614439 (adding GFS2 resource type in RHEL6 cluster is "interesting") - Fix bz615096 (Traceback when unchecking "Prioritized" in Failover Domains) - Fix bz615468 (When creating a new failover domain, adding nodes has no effect) - Fix bz615872 (unicode error deleting a cluster) - Fix bz615889 (luci cannot start an imported cluster) - Fix bz615911 (luci shows many unsupported fence devices when adding a new fence device) - Fix bz615917 (adding per node fence instance results in error 500 if no fence devices are configured) - Fix bz615929 (luci generated cluster.conf with fence_scsi fails to validate) - Fix bz616094 (Deleting a fence device which is in use, causes a traceback on Nodes page) - Fix bz616228 (Clicking on cluster from manage clusters page results in traceback (500 error)) - Fix bz616230 (Clicking on the join button doesn't work on nodes page) - Fix bz616244 (Clicking on the leave button doesn't work on nodes page.)- Fix bz600021 (Fix node fence configuration UX issues)- Build fix for bz600056- Build fix for bz600056- Fix bz604740 (Support nfsserver resource agent which is for NFSv4 and NFSv3) - Fix bz600056 (Replace logo image)- Fix bz600059 (Hide optional fields for fence_scsi) - Fix bz600077 (cman "two_node" attribute should not be set when using qdisk) - Fix bz600083 (Add text to broadcast mode to note that it is for demos only - no production support) - Fix bz605780 (Qdisk shouldn't be part of the main page, it should be in the configuration tab)- Fix bz598859 (Adding fence_xvm fence device through luci interface throws TypeError Traceback) - Fix bz599074 ("Use same password for all nodes" doesn't work.) - Fix bz599080 (Conga ignores "reboot nodes" check box) - Fix bz600047 (luci allows deletion of global resources that are used by services) - Fix bz600050 (luci requires wrongly requires users to fill interval / tko / minimum score / votes fields for qdisk configuration) - Fix bz600052 (luci allows deletion of the last qdisk heuristics row) - Fix bz600058 (ssh_identity field values are dropped) - Fix bz600060 (Formatting error on fence devices overview page) - Fix bz600061 (Default values not populated in advanced network configuration) - Fix bz600066 (Update resource agent labels) - Fix bz600069 (Configuration page always returns to General Properties Page) - Fix bz600071 (If luci cannot communicate with the nodes they don't appear in the list of nodes) - Fix bz600073 (Update resource agent list) - Fix bz600074 (Fix display error on the resource list page) - Fix bz600075 (update fence_virt / fence_xvm configuration) - Fix bz600076 (When creating a cluster no default radio button is selected for Download Packages/Use locally installed packages) - Fix bz600079 (Unable to edit existing resources) - Fix bz600080 (Homebase page only shows a '-' for Nodes Joined) - Fix bz602482 (Multicast settings are not relayed to cluster.conf and no default) - Fix bz603833 ("Nodes Joined" in main page is inaccurate when no nodes have joined)- Fix missing requires which will cause some installations to fail - Resolves: rhbz#598725- Fix for bugs related to cluster service creation and editing (bz593836).- Fix remaining unresolved issues for 593836 - Make sure the cluster version is updated when creating services - Fix a bug that caused IP resources to fail in services- Rebuild to fix a bug introduced during last build.- Fix service creation, display, and edit. - Fix qdisk heuristic submission.- Rebase to upstream- Added static UID/GID for luci user - Resolves: rhbz#585988- Add support for PAM authentication - Resync with main branch - Resolves: rhbz#518206- Do not build on ppc and ppc64. Resolves: rhbz#590987- Update from devel tree.- Update from development tree.- Update from development tree.- Rebase to luci version 0.22.0- Resolves: rhbz#568005 - Add ExcludeArch to drop s390 and s390x- Remove dependency on python-tg-devtools- And again.- Fix missing build dep.- Add init script. - Run as the luci user, not root. - Turn off debugging.- Initial build./bin/sh/bin/sh/bin/sh/bin/sh  !""$%%'((*++-..01134467899;<<>??ABBDEEGHHJKKMNNPQQSTTVWWYZZ\]]_``bcceffhiikllnooqrrtuuwxxz{{}~~      "##%&&())+,,.//122455788:;;=>>@AACDEEGHHJKKMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~0.26.0-93.el6.centos0.26.0-93.el6.centos0.26.0-93.el6.centos       !luciluciluciluci.confluciluciluci-0.26.0-py2.6.egg-infoPKG-INFOSOURCES.txtdependency_links.txtentry_points.txtpaster_plugins.txtrequires.txttop_level.txt__init__.py__init__.pyc__init__.pyoconfig__init__.py__init__.pyc__init__.pyoapp_cfg.pyapp_cfg.pycapp_cfg.pyoconfig.tmplenvironment.pyenvironment.pycenvironment.pyomiddleware.pymiddleware.pycmiddleware.pyocontrollers__init__.py__init__.pyc__init__.pyoasync.pyasync.pycasync.pyocluster.pycluster.pyccluster.pyoerror.pyerror.pycerror.pyoroot.pyroot.pycroot.pyotemplate.pytemplate.pyctemplate.pyoinitwrappers.pyinitwrappers.pycinitwrappers.pyolibClusterConfAction.pyAction.pycAction.pyoAltmulticast.pyAltmulticast.pycAltmulticast.pyoAltname.pyAltname.pycAltname.pyoApache.pyApache.pycApache.pyoBaseResource.pyBaseResource.pycBaseResource.pyoBindMount.pyBindMount.pycBindMount.pyoCluster.pyCluster.pycCluster.pyoClusterNode.pyClusterNode.pycClusterNode.pyoClusterNodes.pyClusterNodes.pycClusterNodes.pyoClusterfs.pyClusterfs.pycClusterfs.pyoClvmd.pyClvmd.pycClvmd.pyoCman.pyCman.pycCman.pyoCondor.pyCondor.pycCondor.pyoDLM.pyDLM.pycDLM.pyoDRBD.pyDRBD.pycDRBD.pyoDevice.pyDevice.pycDevice.pyoEvent.pyEvent.pycEvent.pyoEvents.pyEvents.pycEvents.pyoFailoverDomain.pyFailoverDomain.pycFailoverDomain.pyoFailoverDomainNode.pyFailoverDomainNode.pycFailoverDomainNode.pyoFailoverDomains.pyFailoverDomains.pycFailoverDomains.pyoFence.pyFence.pycFence.pyoFenceDaemon.pyFenceDaemon.pycFenceDaemon.pyoFenceDevice.pyFenceDevice.pycFenceDevice.pyoFenceDeviceAttr.pyFenceDeviceAttr.pycFenceDeviceAttr.pyoFenceDevices.pyFenceDevices.pycFenceDevices.pyoFenceXVMd.pyFenceXVMd.pycFenceXVMd.pyoFs.pyFs.pycFs.pyoGFSControld.pyGFSControld.pycGFSControld.pyoGroup.pyGroup.pycGroup.pyoHeuristic.pyHeuristic.pycHeuristic.pyoInterface.pyInterface.pycInterface.pyoIp.pyIp.pycIp.pyoLVM.pyLVM.pycLVM.pyoLockspace.pyLockspace.pycLockspace.pyoLogging.pyLogging.pycLogging.pyoLoggingDaemon.pyLoggingDaemon.pycLoggingDaemon.pyoMaster.pyMaster.pycMaster.pyoMethod.pyMethod.pycMethod.pyoModelBuilder.pyModelBuilder.pycModelBuilder.pyoMulticast.pyMulticast.pycMulticast.pyoMySQL.pyMySQL.pycMySQL.pyoNFSClient.pyNFSClient.pycNFSClient.pyoNFSExport.pyNFSExport.pycNFSExport.pyoNFSServer.pyNFSServer.pycNFSServer.pyoNamed.pyNamed.pycNamed.pyoNetfs.pyNetfs.pycNetfs.pyoOpenLDAP.pyOpenLDAP.pycOpenLDAP.pyoOraDG.pyOraDG.pycOraDG.pyoOracleDB.pyOracleDB.pycOracleDB.pyoOracleInstance.pyOracleInstance.pycOracleInstance.pyoOracleListener.pyOracleListener.pycOracleListener.pyoPostgres8.pyPostgres8.pycPostgres8.pyoQuorumD.pyQuorumD.pycQuorumD.pyoRefObject.pyRefObject.pycRefObject.pyoResources.pyResources.pycResources.pyoRm.pyRm.pycRm.pyoSAPDatabase.pySAPDatabase.pycSAPDatabase.pyoSAPInstance.pySAPInstance.pycSAPInstance.pyoSamba.pySamba.pycSamba.pyoScript.pyScript.pycScript.pyoService.pyService.pycService.pyoSmb.pySmb.pycSmb.pyoSybaseASE.pySybaseASE.pycSybaseASE.pyoTagObject.pyTagObject.pycTagObject.pyoTomcat5.pyTomcat5.pycTomcat5.pyoTomcat6.pyTomcat6.pycTomcat6.pyoTotem.pyTotem.pycTotem.pyoUnfence.pyUnfence.pycUnfence.pyoVm.pyVm.pycVm.pyo__init__.py__init__.pyc__init__.pyo__init__.py__init__.pyc__init__.pyoapp_globals.pyapp_globals.pycapp_globals.pyoasync_helpers.pyasync_helpers.pycasync_helpers.pyobase.pybase.pycbase.pyocluster_conf_helpers.pycluster_conf_helpers.pyccluster_conf_helpers.pyocluster_permissions.pycluster_permissions.pyccluster_permissions.pyocluster_status.pycluster_status.pyccluster_status.pyodb_helpers.pydb_helpers.pycdb_helpers.pyoflash2.pyflash2.pycflash2.pyohelpers.pyhelpers.pychelpers.pyoluci_tasks.pyluci_tasks.pycluci_tasks.pyoplugin_sasl2auth.pyplugin_sasl2auth.pycplugin_sasl2auth.pyopyopenssl_wrapper.pypyopenssl_wrapper.pycpyopenssl_wrapper.pyoricci_communicator.pyricci_communicator.pycricci_communicator.pyoricci_defines.pyricci_defines.pycricci_defines.pyoricci_helpers.pyricci_helpers.pycricci_helpers.pyoricci_queries.pyricci_queries.pycricci_queries.pyostrings.pystrings.pycstrings.pyomodel__init__.py__init__.pyc__init__.pyoauth.pyauth.pycauth.pyoobjects.pyobjects.pycobjects.pyopubliccsscluster.csscreate.cssfailover.cssfence.cssglobal_res.cssimagesui-bg_flat_0_aaaaaa_40x100.pngui-bg_flat_75_ffffff_40x100.pngui-bg_glass_55_fbf9ee_1x400.pngui-bg_glass_65_ffffff_1x400.pngui-bg_glass_75_dadada_1x400.pngui-bg_glass_75_e6e6e6_1x400.pngui-bg_glass_95_fef1ec_1x400.pngui-bg_highlight-soft_75_cccccc_1x100.pngui-icons_222222_256x240.pngui-icons_2e83ff_256x240.pngui-icons_454545_256x240.pngui-icons_888888_256x240.pngui-icons_cd0a0a_256x240.pngjquery-ui-1.8.11.custom.cssjquery.jnotify-alt.cssjquery.jnotify.min.cssnode.cssservice.cssshared.cssstyle.cssfavicon.icoimages100wait.gifadd-blue.pngadd-grey.pngadd-white.pngasc.gifbg.gifbreadcrumb_bg.pngbreadcrumb_separator_0.pngcheck-11.pngcluster-ok.pngcluster-problem.pngcontent_bg.pngcreate-blue.pngcreate-grey.pngcreate-white.pngdelete-blue.pngdelete-grey.pngdelete-white.pngdesc.giferror.pngexclamation.pngfence-blue.pngfence-grey.pngfence-white.pnginfo.pngjoin-blue.pngleave-blue.pngleave-grey.pngleave-white.pnglogin_bg.pnglogo.pngok.pngpage_bg.pngquestion.pngreboot-blue.pngreboot-grey.pngreboot-white.pngstart-blue.pngstop-blue.pngstop-temp-blue.pngtab_bg.pngtab_separator.pngtoolbar_bg.pngwarning.pngjsadd_existing.jsadd_nodes.jsadmin.jsbusy.jscluster_list.jsencoder.jsfailover.jsfailover_form.jsfence.jshomebase.jsjquery-1.5.2.min.jsjquery-ui-1.8.11.custom.min.jsjquery.blockUI.min.jsjquery.cookie.jsjquery.jnotify.min.jsjquery.tablesorter.min.jsnode.jsqdisk.jsresource.jsservice.jsshared.jssystem_spec.jsuser_prefs.jssasl2auth.sotemplates__init__.py__init__.pyc__init__.pyoabout.htmladd_existing.htmladd_node.htmladmin.htmlcluster_list.htmlconfigure.htmlcreate_cluster.htmlerror.htmlfailover.htmlfence.htmlfence_devices.htmlfence_instances.htmlfooter.htmlheader.htmlhomebase.htmllogin.htmlmainmenu.htmlmaster.htmlnode.htmlprefs.htmlresource.htmlresource_list.htmlservice.htmlsubmenu.htmltitle.htmltests__init__.py__init__.pyc__init__.pyofunctional__init__.py__init__.pyc__init__.pyotest_authentication.pytest_authentication.pyctest_authentication.pyotest_root.pytest_root.pyctest_root.pyomodels__init__.py__init__.pyc__init__.pyotest_auth.pytest_auth.pyctest_auth.pyovalidation__init__.py__init__.pyc__init__.pyovalidate_cluster_prop.pyvalidate_cluster_prop.pycvalidate_cluster_prop.pyovalidate_create_cluster_form.pyvalidate_create_cluster_form.pycvalidate_create_cluster_form.pyovalidate_fence.pyvalidate_fence.pycvalidate_fence.pyovalidate_resource.pyvalidate_resource.pycvalidate_resource.pyowebsetup.pywebsetup.pycwebsetup.pyoluciluci-0.26.0COPYINGREADMElucicertshost.pemdataluci.dbetccacert.configluci.iniluciluci.logluci/etc/logrotate.d//etc/pam.d//etc/rc.d/init.d//etc/sasl2//etc/sysconfig//usr/lib64/python2.6/site-packages//usr/lib64/python2.6/site-packages/luci-0.26.0-py2.6.egg-info//usr/lib64/python2.6/site-packages/luci//usr/lib64/python2.6/site-packages/luci/config//usr/lib64/python2.6/site-packages/luci/controllers//usr/lib64/python2.6/site-packages/luci/lib//usr/lib64/python2.6/site-packages/luci/lib/ClusterConf//usr/lib64/python2.6/site-packages/luci/model//usr/lib64/python2.6/site-packages/luci/public//usr/lib64/python2.6/site-packages/luci/public/css//usr/lib64/python2.6/site-packages/luci/public/css/images//usr/lib64/python2.6/site-packages/luci/public/images//usr/lib64/python2.6/site-packages/luci/public/js//usr/lib64/python2.6/site-packages/luci/templates//usr/lib64/python2.6/site-packages/luci/tests//usr/lib64/python2.6/site-packages/luci/tests/functional//usr/lib64/python2.6/site-packages/luci/tests/models//usr/lib64/python2.6/site-packages/luci/validation//usr/sbin//usr/share/doc//usr/share/doc/luci-0.26.0//var/lib//var/lib/luci//var/lib/luci/certs//var/lib/luci/data//var/lib/luci/etc//var/log//var/log/luci//var/run/-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=genericdrpmxz2x86_64-redhat-linux-gnu))#++)++#++#++#++)#++#++#++#++#++#++#++))#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++#++++++#++#++#++#++#++#++#++#++#++++#++#++#++++#++#++#++)#++#++#++))) ) "  !)&$&)#++    )#++)#++#++#++)#++#++)*++#++#++#++#++#++')%))*)*)*)()ASCII textASCII text, with CRLF line terminatorsASCII text, with very long linesASCII text, with very long lines, with CRLF line terminatorsASCII text, with very long lines, with no line terminatorsBourne-Again shell script text executableELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, strippedGIF image data, version 89a, 100 x 100GIF image data, version 89a, 21 x 4GIF image data, version 89a, 21 x 9HTML document textPNG image data, 1 x 100, 8-bit/color RGBA, non-interlacedPNG image data, 1 x 400, 8-bit/color RGBA, non-interlacedPNG image data, 11 x 11, 8-bit/color RGBA, non-interlacedPNG image data, 14 x 14, 8-bit/color RGBA, non-interlacedPNG image data, 15 x 15, 8-bit/color RGBA, non-interlacedPNG image data, 16 x 20, 8-bit/color RGBA, non-interlacedPNG image data, 18 x 19, 8-bit/color RGBA, non-interlacedPNG image data, 19 x 18, 8-bit/color RGBA, non-interlacedPNG image data, 19 x 19, 8-bit/color RGBA, non-interlacedPNG image data, 2 x 36, 8-bit/color RGBA, non-interlacedPNG image data, 23 x 601, 8-bit/color RGB, non-interlacedPNG image data, 24 x 93, 8-bit/color RGB, non-interlacedPNG image data, 250 x 60, 8-bit/color RGBA, non-interlacedPNG image data, 256 x 240, 8-bit colormap, non-interlacedPNG image data, 3 x 32, 8-bit/color RGB, non-interlacedPNG image data, 30 x 18, 8-bit/color RGBA, non-interlacedPNG image data, 302 x 211, 8-bit/color RGBA, non-interlacedPNG image data, 40 x 100, 8-bit/color RGBA, non-interlacedPNG image data, 42 x 42, 8-bit/color RGBA, non-interlacedPNG image data, 43 x 43, 8-bit/color RGBA, non-interlacedPNG image data, 45 x 32, 8-bit/color RGBA, non-interlacedPNG image data, 6 x 36, 8-bit/color RGB, non-interlacedPNG image data, 960 x 10, 8-bit/color RGB, non-interlacedPython script text executableUTF-8 Unicode (with BOM) textUTF-8 Unicode textUTF-8 Unicode text, with very long linesa /usr/bin/python -Es script text executablecannot open `/builddir/build/BUILDROOT/luci-0.26.0-93.el6.centos.x86_64/var/log/luci/luci.log' (No such file or directory)directoryemptypython 2.6 byte-compiled  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRPRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR?7zXZ !PH6?]"k%rJwMndmtXֈ% r蠶(}|aT4XTJ ň@`4~C'@:5sPR!c1O9[&h<6w]ڕb2Yr醭|@9 )#ֲ9f3D+rӧGރ#_8E}Jm | vwmUເuN/#9ם6N"q k̍Ipm3o˗ pZZ+ֲ\dz ?W쎪Stޝ V׫݀cpAM>~cJ*Oc~F>!r;(**6m&+Gz7f?~#=鹖T$qFE;>Y WG7;g)7kB$B2B@/b5%mZNz}(ў3ݺՑLzC̜'/P%OzZ:_1nS=pmJ͈WN.;5ۜ!9=7f<4QMu,q8{ԩ*.jQIÒx@Cs>和K^~ҀyS_~QC*ĭc$ |qQ /&\N#ػ\[IMbt*- ˼)sNoq "/o.S>Tъ$hÉ|SPWk͎A%v)bu|@),M|3#SD%Un˺zk$/?IjN8呞!9T˸unjW'oDpB9||^;Y>P )/44e|PTx#O9!,]eU!m׮wY;.C=(|K [ڄ.WEn̜ /Fa4,)xʊ׿LsNx5ŚZyoJ?XSuCM[f.ڡ)9Fܖ΂ 6xA%^m>:>ep*-N~2dpf=66Ä"*_ڼLX2l=d2(Ћ(H@)iL_JFUlq 1TUp%gi׺mc5FhR1TP,Wn)@թM@̫۴F,~?Ag&|K'f Z yȋQ0ȝ6Ev5p'=MX |ZMK]~znpG gIXSv)mBG=N&إflFW"*L=S,۞ 80 j^PN!|.Fdbl񤨵V%]97pMns$ȦHűQ rWsy~0u~؞ZF:(sS^aWOIVG:%kA}/"iaջhK\UkK^r2^vzb%5#7pwB72RĊ./C&l~2K|xaTD{>4PnT8-gȝ!qO?syh~GAy2J/W8 @P%T>N]qm(x&kgyd6]Snk딷{cp߅XǕz- EOcaZ8K CƳ=emR([(}LG)/m! &'p@o/\KJGA޵W(.f0}%aJ5lS w1zWٕiA[TmqaNޭ }.ΡgfrYPgt'ZlCM1/00"ۍ] f_eg{Mi>MQ 燔R؈sfZY,c+yڈ^~jTyT)vԠP_ar~%edZ1]+[fR,94.,l8lKݗs#!Ep~b'6I'46B0 \5+ݓNm 2O0K k}_J<( (wY)!90ܙC+{9х,3&?0uHBwv& }Ygrѥ< 4{Ŏ)zh(e # BHR;N4fŅ/3$\=)ڿWiƹ n0wХ:09HFQQ ]fBYaQ:e#p+pn wT%/JQ;Qy>/͊l! $OHtH ae".BemwB.pv=ԈU4H~ jSPՅQ2*vy\&J;plLi5'LryF[Ao\k{9,c_hONyOVOרxG~Hg e 3X@Vugz n@H^_UpZ1geGs8=I8׺)ݵ֧H.\nM.q~V *FPC 0H`g;,)& CiT~̼qOم0ݣ\h)|n9;X4XCoV 8 e=9ŔMd;=~o]a84cjK%!"Bʻvq;:ys߆u`1ɲ{]搜,#Z^ZT%ȵ:jd̀]IBvnexʯOCYm i>!UHdi0/=j!a~m6tBNdݸɫW#V G# 4LجW|}@}[_V"BFC̚"ېfsqD}NE͝8=QȤ@.-qIR59-;  N#9ebd/sq1pDK*E.Oѥu>=(fԆq{9I3  /hLg(1nt]8gJUCOG*z=ZSB*q'7!*H0G8ΐ(Ȁi\2!+/׊y?˱(Rem@J[ZN4;eN0G/(F Z38A?͸""!~ğ5_0Qb褌"K؝ZFpN(MsxAjТ#U^əOAK(!O lDd&2LR# ϸeCo5 =Kh g% J"I)nm>刃R*$U' Q0ҴA;GF5OWh?O=?0پY OTLh :X4 s jQvF10!I}t*zz][s +RZs ֘sbGݟ;r G.ٓw'}j51_72 x)gޯG g0Î+祙avzJUzPJj Y0߹b>f9͐KĴx+}93wj))~U΃^Rd YU썧I>695bOӏ ]#OAQ̿xl9λbiP>MT/"}~OVA#<`NĘݫmz(ee=E JQ&pڻgaz?jՊB|LĊ`(| TMq ÍHX‌By-mԟi"X(Rj٢1R D_M?yVגC zLksO*߅=*$sd;J4"'} ); Jՙfd )yÿ˓&$Rrhq h8y=[a58ϕؘRnZ$Y[QinB |!6&D(e[*`o7mZJ<|Ȭ*1>&YnTKC qd LQ tXqk62>#J"#W[>x%-#<{eηڲFPu~+=/5a<5d5 ;Q%+r9V ,tV_,$7/iR4g˟7w~]$葀6½̹$#80 )&NYu5oHxGHR{rt"Z7Φwh'80Y$oȻm*uwpxSl<۠'A& HXY,US7<9$Uh3/NxͷdD,;=]qXtw8lfx"RQ!) 4H6WeDǔN Ӝ=/Kd~H9.5w5Z陜Ll_*" FL~o^[V^)JoK6ViZ6O~\{o>Fja~`|Cc&8Wh0O4`;(f8RcQfENC=k?vd]I Qv$%ӥS;JI xrIGy0ǺUIWr/(WIbBГvE wG?hIUc f}ucR.H9ј 8󻫠`&XSI_**Tԭ7!GK{KMUЛJk=YխH _l^X{X= _k-2*Y(qtӷQ(I.#=ʤ x1h.xX~ R›Q{+;Dpu]W$SI0k~-:-_,=;̡/٘vT&ܲdl*I̠W!Z<ǾfǗ tkO%%3e DŠZx9+f+<}32EI|c dUC!79 M0 )mjEsrM⛂?)6,eQn*5I'N1#X&^b~HȞ{u7 ?ß{LL_}hT_0{z[I PٴN(3"MG.;K3 >v=ȈgB~ElʳiSM&Y!}#lvh^< ϩyhQidNʂ%]:m<ǓsWK#M':9{u׶[Fw̶(?"o5D9ҚEbG8+zq@W9E$tMҽ"I-y0"Z=?~vh2z'&A,``x'Z\PKD\QAy vg͓x ߌnT@ހ/^`8=6KP\<`> UIqm$ǙG#GfF,NJ(ʉ75$qe) jD y! ON:y~J4'aUxJ^0{ﯬE%aL~k'OUƲc >*z0Nkc&5_a<mMY 3swʴueܟ;6>%d7,9$!ēu6%Ϋ^^FAU1Xw<Yp0N cY4ؼ 0'^$Fë=O,*} Uu$⿒fR># Fuwsxs`JX%$K|%.Jn\p7;uA܅4%sXLhr݌lWp*%@?ZFzMbūؓ Q Z+ۂ'J b^FzkdXhY ՞O,Ta3yA5HNUJn?M*&m?8 A0_lr,4̕Ύ-{ W@kd &&ȣ&`ӑ?.I W^nmӦ-7[phmm"Lϣuߧ9R!)UG-}keϚ3ZQY< wY{6+ZMiL˥tU1 Peg= &ƊVitM08fBy[BV 6 L{PmC%.1XXo zУ#[C'vB]E Df~$مB& (3Ҋyhi{횘ukVqKҀ^݆D*]pTa0nvt?Yną3Kr[˔Xk/̥Mz|W^rC +rr$O6&X喪~+gP7+HTfIZ`;;I"@e0 y1XGt:]Nr7 sz`BGUQ;_p-a'y)|~APiqGvL)9 ͟ #69#s Y\’¬nؾH30x/n.JAn)w.=d=J-zm̄P3(W[}XBPjbjlJZ{|%i7H"/LJ=2yoIC^b8ح|2,fRma56dPT\#=t18pX`u2ra߲O ?jVG7U4K~o*XIʆ9|yl軻 P avd_\s;Hђw?69@u01%t]2"~BMIH?KwPQlUy{*/s!}%icJ'ʹLPIg*70QԄfx=d1&+Cbm6ݷX ʕ>q.Y#5VȝQ=( .;QnF)\n hMFꗁ%}8VScV@-NEEͪ$1^֬Pc*4"t:~\rԵ.UZL992'46L[9鸚l; f& oV{#"S RGZݽ1 W&y3FN ۘrI:&w6'7>b͎esL nije?,44bc?DC9\?SvsZgq[|#rsHz2ǦxX oXoRI=m@/˨nS16-CRWolMsB vxo;΁i||iFv*z=\2z!1r،Dw:JpFUf'{K6&[nzw2\>"Pf&'Wn^޼ ۫^<O #P.:?!wzk*+qviG $0J18v!?1ުϋ30Ԉ `0? W2r2w`텒ve e/xT r~k˜6l;y٩-,'78_ <ՙG}wYZ"mE>V BФ6[`珧rho·G)+Ă!c,&n`P{@/{uORbS6I:l,Ӟ+%+ZG۸]Jtt3KPfO1tmK<'A9>Z|<&ػ{kf`#cs6?H VF8F4ظL܅KwC,+Ԍ.!0vʣq!|3FY- HTu7R! xGCDmIӯUg~7z=υ/-#2uzqchS|kkGB4>WUy!WSظ+ p7쑙Pxb!"C^@MUM&Ŕ{Bd VLXˍR0 ]NS!Ɲ)4Z;xh6ĺvKvLBn F9>JYj3##k^&t^:x7dH^c9'86w&3D;AY=QC57j00/69VcʞPuB u ֬VŪ9Jt gMV]EDMeHuk8ѿ%e묜E-ղ d/uYeMT@x"2UAO-Cy`BLA'FkFԩ1Eo˸jӇ1nXlw`3/QK%3ֽH$sVXհbX%}xHC6`8dR:GT2~R $h%QCS\8jg:h%UƘjt;"yJ(AS6{k0W)E|ec؄;0AڔH*MA#i09KN6"]*n-3qif-Mz+A`d籷+qC]tdzl9uk|^T8)}*/l;;{E,@XOWPiTϘl=qro~O²h$~s0F>"|PL*:VOx,jB } #;&CJ|[zs V/?V+R8Ŋ?Мbsex%DknL%,1)CD%J :xߥ=v@{]ܤ hv@dBf`Щf=kWJXQ 9ό3b[&sZ+pl]U!掝ňЄ&JE`/o 2sJ'j`007|{ Lq-VŁܧ;rM9+^a ՗a9l+Hc''_DZTY3jI;Tqn"azCW cJ\jHBQ2x_4{YȒQM0fh9%S< E`-ޱ9h\qptPY -{lV4>h+u%_%]2ҕbqdFLBڙUqY8iy>E65U/@Ccӣߎ9#H~JuSvdh;E\8ۿ p;N t{tÙ@W#GfjA(jdP@=&9cXC/#]mχe%z\ͿH%s`"uKg0B$^|6ClFklBYׅQ1dIgS'lὁjKlrS4BPv-FqoXpk5<` 6N_߶ߖ; z![QdW_5L*Cjc8Mlg\U2XfO+E}]<i7 !}H\ @xSk|>n])v_̡%)d=H_e+J0kJ^~sCfT89^G9X8kTT)ҕwmz}cLGa4Pf*r\C,czFE[S{$ژ 0X}NswvCWDf}ePZ"[%,fn? ,"}C㽵}&2Wfܢj **&3MDʿ`5.Qp3}["@}45ӈD$`Qs/뭦xCۀQT䞮b-6˯2\]Zuv~7^W H3*~.D\jhaw ,MV/|.WYMvӢ}Kho> -R|3RbUugF#P;2,]isC.0drD[=l; 3Xp3\'vI9iq rWd9bvv!#}xIhoGp?=K()_e :퍝yhV3*D,*3 <|pqVLZbs<89PJH!C!XEV ^{Є!# gA_DnYh+dgꧠْ?R?,V; /I PZ[3 ջ.x8SFI 22r{wL ,Nx9g u7C5Ծ0?aqD[;MPK5{sE!ʊXm9%8UTM<Hϴԍx1iXTiPnJOʖE{ivJ_==KtK6.{#~d98g1.%KD Ijg}Si&n&0M\Elk^%yPČ<@xo="@YX@b/$Sz~YS2C&B,u,$g5Mv{p_Ѣj-mDМStFC7 ,+#}k`Gq;ZUx54J=pU0Q+nRȌ L4+1ڋG<@1%| d7$0s$V;;#Wv|m9 3?#S c:d/cZ܍jPL^j6g wk@*Sg-Sӝtn8ujXam 1BŚ>%;u>-v5jRL:s M$g.0?5oCs-XɞB= M󾰂I])ݩj&b_g⺌ +(liI9(4,Gbffn(s_%@ZUH Sª!8fB@:kEo6}|4zIi[f\kΎ2u4@;:E 7x |"'G9nXoc9pp1k}jN3̂]$!xq:A|OIeb0PNFN!)j^N<4s4Mmq1COqq7C@6 [x>82&]N4fB}O5   #kp,id`9MC5/p>EGPIJ !:9kls/ 8/Vdôܳ?"&6@`MFk]Qqg"y:.2wtp@i}*N~h"h7}c^]̸ Z-#zbmY-*4 طH#UtƇ AtpL8uRHsB}gO@O(Dŧ?4g(4uƳ0LDeNE? q2H1''$@ d+}ORSR)׋6N펻IjЇ'LN]&`?J\u5_sts *2f1O僾Zz\ 3 &G5=CI uhò ymOwA)X"9Gx]˸;=m_(d^cKzN#0g&}$R7ݱNb b睢Mw-vlj~Lh2Kr5DJK67bEmh 7Vs/=lQ#c`O ;8/~dJ=gn"@8.{a{aSFt-Iw{iXDGRՏWT_Si04d %p4lFVvXE t0?}6զJNBADG.@qcxWl84٠ ´W4Ro0ԁg:l8ya$2ùcÎ7K{\w ηZc֡'}! |&|?/uCd"X Pm6N9ykX݌q˖sU[c%_y5o@uUVdTFqo<_ 6(-ew~QFYufuƠP|hc7@ h32+˒Ĩ;$e}ݭftYKu=!8l~nb>yk>@FhPI6djKax ?j\DۓDON1 }m٦vZ$;'=݀AiDglS#3l&ɇ&~RhLҗoGU3`j 9Pt, 9J:#$QE[0Z`XdFhJki!%=QPsCꭼ YKpEڕ_÷E_Ɖx-{ 'ؠZ` d uѤtzkL>΋Uߙ~p#%4|),B |we9)-f=*@/)$(t;]b,##ꊶR`|PhL$D W 6:xޛ/6`CAX?ېӣU>BZ~5dMyY + ]mj1.rs?<Z<#_eӶFZ?b1gW7do*!5,<S\Ŭ(ޑ1;s8kZ(#F#9 ʵ ?rXqf%T3\wG?\`ptɇ~E4]ΥaF_9vr{4}JTau8T!tp%4-JA6; k`UxBi!}@<-UmmZX2tmc5g}|$yzeQI~OT`Ve)H ,<9\ Ce9Ly%*Os2hW,Sy3ݖڽL'iz4ɗ?܍r !ed* 6H;q {l G}Y(`6*;ɘӅ+SUYP?`:%~3\b`,(~k,IJ[ \8/ǂYDQTbX*gU'D5SXZKh h꣛S:Lt l{"slnH{.K9VW ' SBI,o61*8f2 umC_˵|DCn96ztʚ Ա"˖\q;<5jex:ISE' "3iyϠ;8+pݤ Zhfu&`\2,Kh 9cbO\fŠIix; l/Xne*fMnv.]ĸc,@fȞɀy&P ]&S!:8rE_ű ݔ7 ђGV3_۵ˌVjvc"%q5X3oXFcВz E_W ,2E>kx?Po|M[Y  !BtL[/Kɴx\a1y\OwzYU~(!x6" :QŐ5Hl;N* 409ّnjO28/_KN/TP+{u,!Avwٓhd~Ia3y&EP^Y2ц˗XOp^l\wωn2xR:Y>8}[5I)P]jZ*b=B˝0_ dBϒ&7gm/t#fK.E矈}x}hE#._1ڙܰdHݬ$>+u)^Oėq20AtտƂK2vId {p?@7A#{JF&6"%}<8ך:TSoif?GѾ,%^xWBil9 n-Uigjiɷ?Ulou:0=8{XE)d5qXu+|K3W̉#;$i/U_D4fP{.)OLCw}88rwJcj0ݍWCtO kgL.bpgoL3д_m a mk }Rh.fy"] |#M7:_IXoÓK(0>]G>-B &v.6Â2H\Kb.WlG{RS&R?ݳgZ1#xmۂL% q=mrbd$EW] cKw.v*FKhpt{z *Odž8#SVQ4$)s @]l$eSs =tpƀ,@KG<$J;!lH2M/VGR؈/L qh/@ \NT=JbU(|]Mq GcmB ~~o@G9`9J6Ͼ,EN g*bT؊u/J 1}2V{>o 74pjAͬP֠%h|'f8]XJpHTTJta6>d0l,tl<~d9"Aÿ;R c )h[jmE@:'˸5|! `r:DԼpꡌ^[{k1O[\L+!s*{BƯC#ږ csRM$'*M _暘Hi߆YN#%9 [6UΞt|LF( >S-aہ#J.JZt(|B ^"dWͭ,;i ]JIeooST )d-Q/k߳"SKTMq%Yqڹ FO篱L@% @50bN,ٗj llnWqMk\alJ\Ӝ[9t09,Jk FS`ӆW֖h X2xv!41lC"KSkA#U W܄ Na#! 1+$ \}= fcw]$m/=Z2F+J!\~Aa)$^ m1(| AslYj9{a3Ed5RkțI/!c SW ۭLrNkNiÅMON"VvMO 5Gs%gs+Sgd0hpUuwX%ut ?=XdgG[qo-'ʤwSZ ݳ-DfhREAN:^ 2 {A.LGII/#4^?ԇziaJi啝u@X)-}uȂ-y&( >ȸRs2t = )bk t- ΁pc8qg[A?[{=ݝ\W'UfF'&m}ED˲nF {Ӱ~ŏ}iOy^C {>a^(b_Uk MNQElⶭleٵrYr'ie՟ I8+ybP[>^sOC:&CG󎀩dZI*Ė?<y~)H:/=vҀL~ ]:*=oN+˯`jBz%22^Pcb>Vږ D ^HObssq-̚ZswjBkbItڑfn&ƻ1=ľ#V~q-?i8\,ۜzUNN1EDm'yYꔝv:X=:$PrTj,:1>͈ۜlL[?᳣|ȰT\4]fqZ-JwB`=L4ʨps[ƃv*BNB .^b0`8gPlع(;eǁwٍ_Ѧ1_ԛ"(*Մ,[A/&EcLې95)-"D<@:GO}q͐ԈmV#+CGW MRh-)(|ڿIp4sD܏\E%\"c `0J\>S]iڢ)FLj*]6EU,1to0H lڶ.+C?mjR=89,m<|wq?Mגe`Ȥ;k͏(¢΄ǹWHDJ}6my.1oMm~v _c^cjoV!'a8џ76 bMC\|U 4Ր鍢{ɖJBr,3GHZMuBOA4/fn;Sud^-t73u剒(mR-IrUݕY"8TIVV%Π/XngVyjG+7KB7hă deI!\#*:N-ᗽiGݳZ v7o"t  *ELj2&KZT<~WirJϔs=h7 xAټqWY|ްޟvVɔ"(OK Ѷ҈{ɚqYҵ,^_݇|P"`5 2_CH,+F^;ܓrT>;pɣ6lys s}1E"F|sYj>)M_A_)mrp%^Ѹi='(F\XEVc=XjT[DBS/ rG$TH4RA.;d,kq]* Xsab7ۼMI j]L],+sGkW-V=`Կ)DX ,3 _۠ vDLoxg@*9?(A ~aX8zj"I6.]]Ѐɸb-zQB]t)8I}%Gsn KM?3Ϫa GDPybx]-M+gsP愝˰WɛFNTח |;5~T\=$0FWi5K(Nxm-,o[8,!I(\?$}QyvmU eUyCʣ> PN!5Gy/ ͟9ȹU Ͷ-xw#=иYUL.WbئA'=ŕy' Rބ!(/x7\. xM(-f*7FH8\g>fxb} [qy[uդc W'`۽U'bZ#8{᢮E*֗fy˘d}fa$xd _|,3 7]Qy7޲tDÎssҸF3=$;āx OlރW!MGw͏UdEJSu9KGSwk(elMywRX&١FJ mjF.X}m2D lwv?p {)3t}Ѳ[b΍ ot/rn<6:w"q ,b8 y)Dw_$v?m! 1F|CUIdϦ'EFIj@y(+ch+mAZJq(t1!'uOi.VC>PB$I)ѿPa3mQfu3WgK\H1]~Vf4 y.MZBP~ϷAv)~FSM{;*B0-`tVTsG#~A9 g+b7 GRU-As G ѡG|FP9`\ʫ.~*6B\Qoh^j`i~jqs!A2T^N$PL~CKXOT§#'Z L4 ul5 I|4*ѵo0ʹ\?c^ 62|NnbK3o&h!+M'Mn. o2hɇ(3|A~MK명r ב ͳD's;Nޔ ͷ oηq4!%xW(&\tlzP9z/-$k7w}/?ӓW7 taޘ}|.6tv(-X߿~XGsTm<|7nnٚ!_nmh;H xDHM B- fgi(`7 @MPI2 Gnp촮PB9"aQsr.ENZ^,Ĥ%qCMbedػ@V6V൬Nf`d=pCѵ饼'쪆&c@рSjzzd|t4aAݯ[3 ؠu,hZfz:]XϟTS] <%Fbreӎ%Xr,L(rW7֝9-|T4LrR`l>qRA/YQyBqK=riYu>-P^r ӺqB'wg"㮂vhߨ^C⥉zKʥbCNHYk'v9" dlku4]>O 1kB$$IcRwTOf-9lnC>͒sZ֧!J"ȨQ, [#  ?_̦u._Ö-mxͱbQ֍䲉D#ڢy'9z}6CXVҟNJ*eO&Ok7dQh/{uayɣU?e5w s cQ֩ƪlq r#j=0o*[|%J8 3ΫAO]rBi eܻ,Zej(~'yL@T$7^mq2zO^gs{љF)oId%;=1(vJ9|B :|E1B%a+hnڠ,ZyŮXzP/8D?PTwN+G%^cDXcNifu &b[߅a=!DŽ#d%n=p-xzi ] iLTNnG3̢rF܉.To33w.ʼt7~AπlKl9HW U.֣j}\c#R \AϾ/67HnJk`^ōCb+OM}9ΫdW|K8ٵTiz0Jv2ǡkO=}EB +kt,siA/mç= ڇsPFlRE  ܲ<~l- 'u $Q ߥbN44h#c{.ЩŒXNg z>ʟחgE@#qICS ф^f5૰ .l+1{G|ȆwBoI考40GbM}VJ@9i6Q"IݼȟYvt‹_xS#ޭU P9>URqWsFsr%x6m}I_zPtqfl\y _ԇ8\8o:ߘYn;PY4B a0>;~v$~%΢=$;3I@ Yfs'ȾBMWL$`ff .ah8s7 +£u{e›-NtWwx'VM=D1ܸ e֓״V>)GDkf e^RP|$.Lg**.ϲV|$p{-X-f>2;l9ݥ۫gNՠ-@2ui36w`̮9b!J\m\&2`ÞQz:_x \c@W3cjۃkV<Złyx˜tƃ1+\hjzx0p*J.'p {l ``XzW߲¯j7s[ S<()ulM?%ΰAA| ded^*Ag~!{U>>Lg]-},JneKTRL]kG@^IAƪ ~{X~A~#GF_&̝e{:LT9WvU6zA6B2 1<8DfjOnщ&8^#zf 4i- \r1<8hkLX~jil"B9BYgS-X\ f}Yh2Ug¡|.2"V ,ɱؓqN]XᡐT(v"moaufrRңP}*=FGỔ64(GmK9.?A ~'M6o8ӵE ˕´3cw=*-../jYiy g5c/X1nLmkV!iQ/iSmX,**NA:S19 I lCkƢzk3wIF3[MJ*mm>c | aX (2r ȏi#KG_G,2D6o=raGn ssFLJ8AѮ~y V/N,"jG~ٺBGk9mMR0\ԨeW ļT< 3%Ŷ;^v ?xUUR^eSISj0;>-_ QcX4ٯẋQ:k"߅%joMeeP4Nk{g_FM*bӹLxɾEv]`pP꺕W-udÙo,usyIJ5fyY5l s}OU*$2qE*$/ ԛ. 怂r:&旖F2k J3Oꝱ+о&*]YS> YZ