[prev in list] [next in list] [prev in thread] [next in thread] List: kde-pim Subject: Re: Help proposal for Akregator From: Pierre <pinaraf () pinaraf ! info> Date: 2018-05-05 15:52:09 Message-ID: 10899233.jzPfmx1XYn () peanuts2 [Download RAW message or body] [Attachment #2 (multipart/mixed)] On Thursday, May 3, 2018 10:22:49 PM CEST Pierre wrote: > On Thursday, May 3, 2018 5:02:52 PM CEST you wrote: > > Hey, > > > > > I plan to do that yes. I don't think it's going to be worse than what we > > > currently have (the Metakit files already store the entire articles). > > > For huge archives (>2GB maybe ?) SQLite may hit some limits and > > > something > > > stronger like PostgreSQL could be helpful. > > > But I don't see how it could not be far better than our current Metakit. > > > I > > > also think that the current system has huge performance issues that we > > > will > > > solve using SQL queries to order articles instead of fetching every > > > article, filtering and sorting using QSortFilterProxyModel. This will > > > take a few months, but after I write a data migration solution I hope to > > > be quickly able to demonstrate the final benefits using my archives. > > > > Great, that you are started the task of maintaining Akregator. > > > > I still think that we should not forget, that Akonadi is exactly created > > for handling the storage and accessing big data sources like it is done > > for mails. That's why it makes sense if you would share your ideas of how > > your new archive system should work. Maybe we find a solution, where also > > a later Akonadi replacement would benefit from. I just thinking, that a > > redesign of Aktrgator could push the code in the right direction. For > > switching backends easily, it makes sense to have a clear layer between > > interaction of SQL database and application and do not add direct SQL > > commands everywhere in the code... > > The current Akregator code already has the archiving code in plugins. > I have started a git branch with a QSQLITE based archive backend. It is > already working, just «a bit » buggy. Since I could not migrate my MK > archives, I am not using it right now, but I hope to start doing that soon. > The SQL schema I planned so far is really simple. It's a basic mapping of > the archive objects and calls. It is not optimal, but I will have to > migrate everything first to be able to inspect the real data. > A jump to Akonadi could be possible, but doing so immediately would be > really hard. The metakit storage had a serious impact on the API design > (see the number of API calls I removed recently), and writing an akonadi > storage would just kill the akonadiserver with a query-storm. I will first > have a complete, working, optimized SQLite storage, and then we will see > about the next step. I fixed my mistakes and wrote a basic migration script⦠So now instead of a 2.1GB folder I have a 2.0 GB SQLite file (the migration took ~2 minutes). Everything seems fine so far, performance is globally the same as before. For really huge feeds, it seems to be a bit slower, but I was expecting that. The attached screenshot shows one of my killer feeds (101k articles). This one exhibits a perceivable performance penalty, mostly because of the way articles are fetched (one query per article). With my planned switch to real on the fly loading of articles, these problems should disappear soon. If you want to try it out, it's all in a sqlstorage branch in my personal akregator clone. Be careful, this might kill kittens, lose or corrupt your archives⦠(One of these is unlikely) Pierre ["Screenshot_20180505_174511.png" (Screenshot_20180505_174511.png)] �PNG IHDR 8 � @K�/ pHYs � ��i�� IDATx���wtTu�����L2��@ ���B�B�"]{]{o?]�꺶��(�A��*қ)�$id�����!#C&���:'�{疜���k�b�] \ P��AKyo �dp UG P�p U��2w>v� \ X�2� �7v�X���]�"�,.ȸa�� TQmڴ p,&�X�a��R�@cqA���T� TQ�j� Z<>�xL��B�6D� ���YYY 8�̝;א ��uy<Y�0�mg�ر����� \ cnn�!I�[�.�� ���q�FIRXX�)I����Pca��a�O:�X�DZc�s�εH������ن$9�N:7 p�p8�$U�V͔���a�^�zy�s�� �un�;w�%++�HLL4����yyy�$�\����%� @%9t�P�`bhh�)Iv��o���0�U�fn߾��4�9J' \ t,��������TK^^��r��cC������|�� �&BBBL鯠c�C������Z�jy� 9��c�qqq���tKdd���r����6"## Ir��~����| ��X�D��f�{VV�Y8-""����8p�[^�O*��schh�5##��p8,n���x<Fxx \ �!�`<���8� T��Yb�0�xl��j��999��j5m6��t:����IHH�W'Dz�:7nذ�HMM5jժeٳg��n�[%����,v���r�,���x<���1�^�a�� ���~�] ���b *xh�X̼�<�b��V�մZ����4CCC�yyy^����.%�(�!�xB��:7�\�I6��j�� \ ͵���X�n�%44��z�~?aaa� #AF ����cΌ����l^��bZ,��r��Ŵ�l^����.�)�N�����(�� \ �xBL��d�X,V��c 1<��f��i�B����Rb�� �gF�a~~����-�i��v�M�0L�� \ �Z��p�i���9JA�p,�sc~~~��j�{<����P[~~��R���x,�i�!�cwb�ZK���# '������1-g�_����xm6��4M�$�����x<ye9�t�L� ��Z��n��n�ZCM�1���x�����z-V��0M��z�����f+� #�F *��A���n�������z��^� \ �j��1#��v燄��z<��2����A���h�Zÿ����e?E �t6��g�@ȱ����q?�����7fddX��� \ ,V��j�����n{�1 ���n�����a�Z�<���DFFZRSS-����$mذ�;vla��"��B���u��ڳg�!�p8I��e�X,V��j3M3�� �n�Vk��ju������\��n� \ g����3Z�n��۷����X���~ \ �7���YYYFvv��r����|��v.��b�Z�*J�L�9�C ��4CðZ,kHH���rY�n����o�\.#;;�(��c@%����k8�N#66$��c8��v[<���v[ ð��� �ӑaV��m=�)�8���n��5�Ng����p<�{c�֭}��n�/�jX�V��j�x<� �=� �6���r�,���Fdd�/�غukeee���Fi]m'RAdd�a���r�I�i����X,��;B �3�i����H*S���P \ ��v���z����5l6�qLa �o���ZL�4l6�/_X8D���2�����l#777� � up<� \ �b�� 8 �7d�X,�a6L<�.�Asss���l#//�pXjI��n�a�f��� ���,� \ ��5�v�/W����?�IwpT �{9�!4�+KX�����2�v�4�0$aaar���Z 8�u4[��z ��s�� ���L�w�Ԩ˯��y|�&}=Y}R��XY����t�w�>:�j����o_re��J����3`�.^R٥��ǣ�o�Eo��~��{쉱s�uS�i�tz~UE\O �tV�MOx�j��cX�Vy�^�D�J�[�A���P�y����t:�r�N�� �o�y�ހ���M5m�X��w̿L����n�:�k�p��y���5���5U�N����t�������*/ϥ��<^O��t*-Y�L�g���m \ �С4��vժ�vm�Ҡ�����7g2��W\#�ǣI��f+�c,нd����\�:��Y�)��{�>�V�Y���lEGE)!!^=�wӰ���k�J��n��o�i�?a���� ���3�d�8D����#�p�wߧ��#�q�² �;��&��#�4 ��kHYC���z1�p�<���C-�7�*Ijִ�~����]u�h�L�{�(2�f��2o+�1{<���{z�_OVh�_�^���3w���"� \ w%����;4f�(��Æh���U��)͑#G��/k[����|�bcc�������i��_u�y�Vv�~J�o�d˖����2MS��,S��]˴~q� \ �f���?=�����Bw���Vll�RSi�h��e'p�r��jղe��������>/p<]�� ��N:�X���0��& \ I�;w���:e5l��F]Rn�;�W�\����r�~qZ�h���x�:{N�㯳�J�����v:|?�y�W�x�R�x�3z��O�����+Ji \ �͙jڴ�jެ�Lӫi�g�9�Xҽt�_�?�<MG�ћ���֭[��s��e�^ff�֬]�V-[��`�b�;��# N�i���j5�8��Vb+��[��;����Wj�k����I�s�9����r� ���:EՖ,;�>��-X�X999j��X7�x�l��\��?�q�'h���?�r?�0Y�����ۻ��;w�q��~��̝�ƍ*�q#IҤ�'�� \ >��?�놷c�.}��8�[�^�W�[�ԍ�_�͛i�=����UW\�[�)S���o����M�m���>��T={t/��]�r�.Z�! \ �.ҕcF\&P�1=#C���%K�)##S�j�T�^�t���D'E�4��7�jʴ_t�@�bcb4�_]9ft�� ��Y��7���s���p���S \ ;v8eǔ�����-טѣ�O?�\*�)�'�*2�������[Z��rխS[ݻu-�^4l�zv��7������~��3�w�>����Ib�� \ �^ծWl���<:��-Ij~\gO��5�����?���+�H�ԯ�ѣ.Q�$I�~[���y���i�� 7~�$�����o���U�%I}* \ �g��z��>�{b��]>z�>���[�Av{�Z4o�[n���s&i�n���GZ�f�,����A���&=��ժe�q�-�c�t�-^�Tii�U��k�K�t�� N�4l�n��FU����'|���F���߯����*� (/咊 �i��i��ֶk��z��Wճ{7 2X��k�W�h�ƍz�7VY�I*��ז��4b�P5i�X;����SO+"<\իW/v�^=��j���O���oUӦM$�o��7~�fϙ�� \ ��7}��-ڻo�n���߾}���A������i�T�s�Cz��W���Xq�ji��u~�EK��nղ��e�����5ke�:�U�_])�\>*�u���u�=��С4 :X���i���$�Z�Z���Vk����_�fϙ��#��i�&ںu��O���{���G�-콳x�R=1��jܸ����s�i���Z�t�);��3g��v�W� ���i��Y������cO��z5ꒋ���ږ�^��3�i��E:��.���N�6o٪���bש��Q������u��Ë].77Ww��22�4z�HEGEkђ�z���tjȠ��$1Q�?�{b�^�_]8@�ԨQCՈ�TDD�,\���$)<���� ��#��{�t�?nR��������G��g+<<\�t(-M����]�t�Ŋ����5kt��+���j�·ͧ�~V;w%i��Q���с�Z�r��^�ɞ�rw���w?��l <HQQ5����$�$���_�� �*��A��*��)3#S)���Mw8J���tꭷ�S������7o�L<��2C�V \ �5�!�Y��V�jլ)I��p�6�Y�^}����J�2g�n�'��L��ڰa�LJ�$5n�Hm�jS��+!��Z4o��s��g͙+�0|ފ��;�z��z�e��%I�z��ӸϿп�:v8[s��� ��k֪���y�tm��7k*IZ�f��7k��PV;w%)66Vu���~�p�r� e��>'~9I��%�����-ӦM+��/�)S5b�� ��PI���u�5c毺��5|�IR�>���&��/Sb�Fe�w���ED��^P�j�����wߧ� =ҿ�2}��$&�:�l�BӦ���_VdX��k֪w���� 9^�{��+�`�"���b�v��A�X�����s��;�i��k���|N�"�f�7�j�z��7���X�4�_�s������4�Bլ���IR�8�sպu+� x�<:����n������j����+W�{���ƿ��kedd�/��ׅqİ!z�4��ɾu�n�֬]�1�Gi�%�_~٥A����_(??��r� \ &v�٫q���z�$IÇ���>�9����ѣ��hX �Lrr\�D;8���G�����~����_�r�r�N���CN���ӢEs� \ ��h��'RV��_���1�}߃ոb�$i��A~�u��|EV�V��U�>�������T0���ytV��%˛���5kשk����z}߅�jU�͵v�: \ IR�핗���[�J��B.�K�G]�p�CK��&I����֭�ԩ�A������������n��}�Y�K��a��~�F�`x�ؘ͙����-T�}3 \ �"Y,u����(����;�*i�n�����\Y�V��ۧU�6lܤ]I�տooߴ�}zi߾��a��֛�e�x�RI��Q��*�yd������ \ ���=�>�+��A?O����ԴI��֭�Wc�핞���ݻ˽6�0t��~�ڴn-I:t(�7m���հA�"CL��B��6�M ��1�W���r��4��?����ly\mZ���V�^�jU� @R%:8^<bX���Ԯ��S$WHFf���۷��ㆄ ;ڽP*�^�p��0Պ�U��U�^=���j�yjݪ�֬]�C���c��$e������~���~_d~a'�N ��U�x�2%��SBB�:v젥˖뚫���u���zuN����GEV���*t�%�G�n��w���o^rJ�:�ө�:�a�^�zJII��b�Q�}���,�K/�2Ъ�<zO{�H�$%$�Y���ky�z4�עEs����� ��2]�۵�[>::J���'�����ےT���j��k�a�m��0�+���kڴ�=x�=����9�N ~I�mdff�{]5�W/2shhA�H��㛖��_]:�Sd��;�J�3O?����O*!!^C.�!�/� w]�=�����~��㚨U��{">� �x��R� 8U��c��M���Ox}��J�z�^%� `ED��W�j�ŕzk�Nr!!!r�+���g�����u�m��e��ԳG��3��ň�Cջg��߰a�]�^W\~��\�$�����J \ OOך��e���M�V�wp�I��۔z�ojIjղ�Z�l!I���ul6�L�,f���G�CE*���v�^x�k���z��X8�qEr:��;�� \ +�}>Rd���tϝ���ʣ.�iJF��V��T�=�Kgu�|�����t]>z�������6�u��\7�q�r��f/}���=�����h��u�i�T}�������O�YӦ'XipJz�O�r�����>��5�v��f�Z~)�5 p��ǓU;��k�=4Tm�jS��V�f��WQVV�"##��L=�����7t�,}{��/�����Т%KtN���Q�z��� ι�ݥ~�:tЌY��e�6�gd����I���r�L�Ԋ���f�:�k۶BCt]����s�����j�zu�jϞ�E��������6w*ծ���<ի \ WW�11�/�S�h�39�hg�ԃO���͝�@N�Sc.�L͛��6m�C���V�Ι[d�@�r/լ�������z��j�#�0t�5{�\�߿_ \ ��T�v��32J����\����j)9e��ߥ�}��j߮���u���A}��g��OWH}'�<�������T0�x\�� g��-O3]:wRXX����\.We�P�gK��L��o��5ku(�����s8 �vM;|�+F��]�o&�����קW��DGG��Ym4����p����leg��i�U���j�Z���M���k۟�S��p4����5k�D���V3g�j�^=�k�=Z�� ��Ι�������(5h=�u�$}��%.�WK���i��y����M7MS�Ξ[.5�d��Q�����J�������k�V�j���̠�U�{��s�H��0�zq*�y���p�ߖK�kH��ݺiϞ��=w^��s8�����y'�S�ھ}�6o��7=�uv|�F �A� b�d��5�e�6�ڕ�7��JR�?# *���1<<\w�q�^���;շO/Eը���Ҵz�]~٥��hw��s�.M�zr���ST��գ����[}��JMMUӦM����)S��^���n�E�f �G��Snn�L���=��Z���6<<\��Y�.RXXX�������>��~��u����-[��~��h������j�j毳իgw�t�;�� \ .�z�r��:���;6�MO>�}�)=��K��ͷ�ء�bb���ڗ�����ոQC�:�.�Xs�-Г�F���x�رS?N�Y͚6Ո�C+���t�p�诟�L��ԥ�9 ��_K�-��o��j�"�t��tõz����{Р��b�hђ�J�Ȩ�cIڽ[6nҘ�/���n�k�����c�.��)���K�w��t_NҾ��t�Ym�t�h��?t��(�^�"�T����Q� �Vl���yZ�z�6nܤ�C��N�N�W\>J�/ֳϽ���W�E��r��)i���߯����a�[4o��~U�zu�&�����Xm۴�DIϽ� \ .�O�G��w��p���4g�<=��'5ꒋ�M�6k��+�Hw:��;գ[Wկ��АP�^�F���\��ە�<���qq���G4|����Ҋ��5{�\ �߷B� � Έ��$ ���jժ�������~��SQQQ�ء�W��7o٪�[��ޱcEը!�����c͙7_S���M�'��%K�b���_�zu=�z����o�f \ ll��6%�_�`��^p���Z'�q#����l����9J��P�áV�Z�s�������բEsmܸI]�?�o�u�Ͽ�RQQQjܸQ�Oq���ӻo \ ��)?O���5c֯��̒�nWlL��w�@ݺ�Uchh�^{�E}:�s͙7Oii���#��Thhh��\���W�Z�����>���V�:ut���),��[.�{�g��oF� \ IDAT�ժ�&�?Vdd5���[�?�F^vE���_f�0 +a��Æh�w�k�/3t�7�����K�a�=� �үs�j��e w�U˖��V��}T���ޚ��\͛�@YYي������'�u��0����4�/5o�B�:g�l6�5l�����棏<��_yC:^��=��CJ \ Ll����믽Z?�4E/��ڷk[.�ڵ����^�{|� ��a:�][���3�}Cc�����9�4g�|:����P�O���ޭA]x�u����&�t9G�Z��������\�\Uq� @e3��<v�XcÆ Fjj����jiР�q��kXX��0��� �z���n�f�����ǟ~8�� 8�>��KF_���������9� �^=�����R J4|����%�0�,�Ǔc�X�.��e�X�M�t���z���<IIIf�Z���j�2۴ic�;�<f3��- \ � @�2{�\IR�fM*��Jb�f� �aΘ!� ���6�ͷ�չ]:�f�X�C�ڰi�~����έ� p�p T���U�fM5g�|��V^^�bcc4t� \ ]�U�Z��]" N� �*#&&Z�{we�Q�L����. �R�$�] ���4Z*� �@8 �*��# �rǎklذ�HMM5� 8���Ɔ ��c��*�� T9������ N���4Z�nT6�� �� *�غu \ k9�N:9 �[�" @�C� T9 @�S� \ �c�����p8���-�x� ��������x<'�5��# �rl�] 83 \ ��iH*�ѡ�� �� ��!� ��r 8��i7 \ ��� T9��. ��rss���������J����PEGG+�vmEDDTv��i�πA'���S˩ p" \ 8V�A�F�g�nz��+�������>���>�n�_�圑N����c�c�NM�i��q�}r���oVv)%:t�V��5m*{X��Pnn���i�u�Y��'&�b��5�������KԾm[%$�Wv9A[�d����w�Z٥e�S��ڷk[٥�� )�l8�Tz쉱Jڽ[��Qe�rR>��M��k���תV�`�N�� ���]�q�� ������O�}]�^�V�tv�v'][Y�8D^�7���ySM�$��N����Z�PΚ���Ï?���+q�3�z)��z5�k��x4i�x�l�� \ �������u��<�{�嶯3I|BB�i���P\\mm۶U7nP��m�r�z�ڳg���ۧ#Gr�v�+�nW��Hկ���qq�y�j�o�u�С��Z�j�ƍ��v�,]p^�ͦ�i{��I�S�Q�V6y�;��>�^=�\��r��˯Tv� <H��sg��(��;���l����YmZ�1��I�� T%��c��={�E�f~�BCC˼�/'}�V-[VZ`�E�f�ݳG��5k�VB5���aC��3���� :�f�:�:�:S�IZ��wNO�i�Z�d�zt/�sW���j���ǟ>���ݮ6m�҆ �c�v5i�4��rss�����TT�JH���jQN�SRT��3*�(I!!!��1U<�W�n]ըQ�o��b-�v�ܾ]�QQ��;����� \ 8w�B��ѭ���M�9���E�����^��ƩP^�3��W�Q��H�8�ڽ{�,Z��K���_Qb�F�] �mT��cEw�+Թs' ��DJ����Ԛ��ժe˓���h�.uI���o�VO>�h�!�cÍe��Δ�E��M���͚�4��6}F��:�k��v����:t�`�� \ iڴ�V�Z�:u�*"��[M�Ԫ�k���phg�4e�� �^��l6%6n\�e�Y��5Oz�mW~��VtTT9UuzKO���o���\Rǒ���n \ �VQQ5J��y�v�����vX11�E�O�>S�t�M�6Q�W�3�E��V������)U�' �T�����W�4��7�j \ ʴ_t�@�bcb4�_]9f�l6��\�������Ӹ�4n�Iҳ�����"Iڱs�>���Y�V9N��j�Ԑ�t٥#}��4o�B}1�+�Jڭ��:�sg�x�5�^�z���j����I�s�9����r� �:.�c�.}��8�[�^�W�[�ԍ�_[��Ӓe�i�g�k�$ED��O���رC��z"� 9�h�1������-טѣ�O?�\:�?������p�be�V���5z�%�ӻ��r���B��G��G�h�����Q��ƺ���e������ \ �������JNIQX�]���8�����T����e���C��nW��z:���2D���v�7�3C�a�><xH���������<���U�n]5m��7$vFF�.^�ݻi�~�Gyyy s8T?!A���m���;v*#3S2���p�l�\5k֔$���k�ڿ���ݪV-B���^��e:7e�����[�(��a����(�h�L5j�� \ -??_�7oQ���r�^]-�7��0�-��M�Ԏ�;��{�r�N��v%$īi�&2CRS�j�y<mٶM[�m�$u��Iqq�|ǽu�6�����v+,̡ ��u��X,JNIџnWvv�BC튫US�[4WhH�_M�ПnWfV�lV�jժ�V-[�u����֖�[u�p���|���)::Z͛5���(���ko \ ����I�˕W��.W��������ݻw՜y�5k��g�$HM��U���c�h�5E�]�r�~�2U���Siii���U�^�t�Uc|Ϲ�[��;� \ фqk��x�gJIٯ�y�3g��_|Y�^}����2��}K���a����z��L��RU�v�.9��9��%K���I�h�Ν�z��];N� \ ;�����6�}���l�l6HM����4MM�e�~�=G�w�ё����F�T�}��� �.�\��Tu�+��/�O������ԴimݺM�'L��={��Ib��a=��X ���.�p�$�Q����?6oֽ<���p]8������kW����Ck���Wh�����ƍh��iڗ�����IǴ�3��˯�g�n6d��� \ į���;o*,,L��}��}߃����M7^'I�i�T�s�Cz��W��X�m�zb�ոq#�q�?���ӂ���x鲓��d�v�Td�Q:}���3g��v�W� ���i��Y�r��r?'�������=���,�5R�Q�Z�d��y��8�~A��Ϋ$y<=���ڲu�F�&�kgR��iE���?�O���>�B�G]��M�(#=C6mRff�);~� \ ,�,ȡ���-[���\J�~I^�q 5U�i�Q� \ ����C���2,5k��o�ի��4Mկ����%'��͛e�����;w�҆M�T�zu%6n$�aQzF�BB \ p�G��.S�˥�ƍj����j��=n5�_?ȳ���,-^�� hټ�$i���Z�t��^p�"##�T�i�������PÆ \ U=2RY���}�J��l 9.x�֮[�}�ըQCU��̌Lm�������U=2Rڷ��+T?!^ G;������˖�fQB|�B�vegg�f� \ ٦��)5�6�/{�]��ӕ�{������.�}��GkW�:uԠA}��\�s�v>����.��jU~~��.[&�á͛�b��ȑ#:x�P��e'bނ����[t��7<ޜ���އ�>ϝ�PO��NLt�:u�3g 8Θ9K�""�����x�������x4r�0���jŪU�� ���+��-���)�ۻ������F�Y��r���+>t�I����R�s���z�w�z�y�j��:x蠾��/P]�`���5k��SO�G��6d \ �r��}�������v�U�v�oZ��3�04c�,�OHP��=�s觟���_R�8�k{����� ����Sӑ/3#S)���Mw8T�zu�]�^3f�{�]Ç�$���[aaa?a����2%6n��S۳��m덷ޕ�j�{o�Qbw�={�j�G�� �_����5{�233K���\g��Ym�Y3VN�So�z���nټY3=����]<b�$��w�S�����+/�n�K�z��1W]�q��=�OI� \ �~���p����V�`��wߧ�+�x�]7�n<S��_��T��D5>�l٢��M��+.��H��z�5�I�|��{�����g��{�X:^�^(���y��p�6�Y�^}����J���j�JO���s��jٲ�n��zߴÇ��q+77W�AIJJJ����o�@ 4�$�9���+u�G���n��V겒Ժ��u��QFF�8P$��V��|(ԯ�9s�+99�p���צ͛����0��}�9rDݻ^ \ �&��k��eڲe��'$�4���Ng��aaa2C6nRhh��?�\_�u�����e�6u:ډ6��RRR�����͚�V����b媠��|W���6�BCB��vX{���YmZ���� \ �^=YmVm��6ITdd��;����"yæM2��u=�0�ȑ#�٣�o�xy<�ݷO��|������h��?T�Nu�p�o�5�k�o˵{� \ 5j�P�r�����};���ϩRصq�uz�����St���q��u۟z����t��GT����.��?=���u۟~��/3f�w� \ 84����W��ڲe�/]V$���?��W^R�f��7lܤ��zv僚�ڥ�y��7ǡC�4�tv�v��� \ �PW^sCP�s�V�Z-Iz��:�+#=C�!������]����e��` \ �}&I���E��w�r�F\2ZK���8��} U2�(U|G�w?�H�~�ߴA/ԃ�ߣ��b��{~���۷�� �v�z�a \ =�w�p�6�YC*u�ߖ-�B�u���5{��.�?f�_�H�,�V�^]}��GZ�r�r�N�����8Z�h����]�^����L�Y� \ N#/.���[�f��e��Z�n�$)��A%���d�Zտomٺ��ZO��I�ҹ�L�^6lܤ]I�u��7����Ko��֮[_��-��"�}�A���G�.R�&��[�����ء�֭_��ݻըaà���$IC�^p���]�ƍi����4x��r�Wf�yB�R�4� \ �s�\ 9�.yJKK+2�^�:~�k�����:t�e<$�F�ۑ-%e��GF�.�1]�jU����>r���W�ܼ\͞;���{�b�* \ -�5j(S��ӰXU�������$�H���qqe��6�Y����7�~B�ڵ=K)))2Cuj��%6&F[����B���幔������n��QQ�pc���(�ݷOy�y ����U�n]�zjԨ!��Rp�6T�j�m����0EF�,O�ڶջo������#�|B]�;W7\w��� �%OO��G����e�t�5Wk��Aw,d���u�@���1s�/�X�}s��� Z�v]����-6�h�X�g�>=��Sj{V����)�w\�s�\�F^�WC_䷿ؘu>��-^T��;�5j�P�i�ͷ�� �_��/�mw������S�?�7L}��@"�UStt�R��?��} U6�(UlG��GS����M�S��$)99Y^�W�^~ \ e�U���Y��c��A�@��PH�_C������4���~�GC,�S$IO=x�⌣Ǒ�L���o���o�/�\a@"�@�����8*˱�r��L�^�N�.� \ l�w߾�ߛtS����r 8��]����V����9�N ~I�u���HMU��u�a�V\-�i���F9�N����t� ��W��u�� OBhhAW��0Y�c�4�$/7�$���������{�23��v��k�2�f�g��M�$���יΙ�+IE�r���ɑ����3� \ �w�]!{hh��R����ʖ)S;v�Ԏ�;�,sl,��rsse��|]o}�2�s8�6T���iG�y�q:e��f͞p]W���m��] \ P��h��4�����V�Z�WA=aaa�Ա��oؠ�*6&F \ ��Wݺuʵ[l�,����=�k��/t�?nѣ$I_|9I����g��y*����=����su��7�f��3հa�lѢ��.^���?�oWv \ �y<��n_ �X͚5 ���LSO����u٥#�4sy����o�@K����`�Y�^=����Ͽ�R�g�R�h�!��<�������z�WT? \ !A��^(�����?NѼ�g�^9s��zM�����z}˗�} U:�(U\G�fM������5M��v���3�+9�W����p�C�/T��qq�Ga \ ��UB|� Aa����Ç�w���3Pg�J�W�����u�_/N�Ss�/�$���#E��_�H��y����Oh��;�SG_8�x^�Wg�i�7L� \ �]��Z�������ȝ��}w8���=�k��B?�<����?��{����8�����CeSJKS� \ �����+#3SyyyE�w�KJڭu6�aC�6��\��`+�9v,�6%�DG�E���W/�+aq,V�jsݙ*��QÆ�Z�R[qa=� \ �"�1��Ԩ^�MSV�U]:�p�#�h��o��]�q���wۮ�Y��c;����R��=���_����j��عS]:�Si��~��2�"���� \ ���O(e����O?O��ߖ��ּ�u�Uc�]�������v���8Y���އڲuk��K:o{��S�s:)//O/�>x�-�n�%)�w\�s:ѿ%�rή3ZC_�_f�ҏS~�����A�w��������c�_���}���/�������_Ҝy�u٥#u� שF��2,F�n��� �������W�ڵ㔗��z��*6&����3�gハ(/h�����jV(�h8��.q��5kJ*�Xt�c�X�**�9��p�@N�Sc.����6�I�|�_��-2,fE�S;N��v� �֬��G���Ud��t�� �e�v�ͺ��1z�����[�j@��e��D�ծ����).�v��cY-��Z���j)9%EI�w�Y����ڹ+Ia�n{dž� �R�e�ȑ�b�Mw8�s�p~y+z��R�lmaav�_$�����fY9y<E���|��9�(��%�kPߝ�bQ�zuU�^]�ݷO�U��=j�ظ\�9Q �'��<]��m{VիWW�g�̬,���߾�.��?�f�X����:.��e�����٧��t����W^�SO<vB�q�`�����Q3���&��~��[���z���ґ�t������i�T ����j����������O��>���Ԝy�իgw��|ӽ^���\�eO�} �?{wյ�q���=X��^�8�W������*�.T�@���R,Phqw�� \ $A��e��H"!� ��Z,�}��2'Y+� ��nL��\9^�p�$�m�J�4�)���HI9e����jU�%:u���Y� �F5����~��cC����u���E��/ �WhH�-Y����2�E/ZR�K������y��Ӥ��vmZ[�z��{���y�?����i�Z G�h��b���6jع�� \ IDAT@�4'z�U��t2%Ū��c�%���]��WFF�rr��H�rss������/X��8�aa6Q,777폍ӱG��"�������مVo \ �������:T�=�(80Piii:��X�y�����|��u��Q�����BP�p|�U�ɓ)ʼ�#t>4����/T_��hrg''y�L:z��?����~���S�ņ`�{ �A�\�X�]�Nwh��}�L5�jR��K��f���Y�N�>����]�NN����W�Z5u�=C�t� ͉�W�=\��g���s4hPO�As��[}NRSӴv��+������Ϡ�hT��T^<:�V�AA�ӫ�V�Z�-[������be�˫oڼ���t5_� �vqSTp��FU�k��v��s�u�����i��+1)Yk֮�W�*ww7988�F�jZ��� ������WQxx=��4����Ï=�;�t���IG�&���A�1�����UO>�>���x�q�ѱ��<=u�d��lݪ��V��%IO=�|� \ 9���'ԣ{W���ٳڷ/F*VЈ�H��5�~���{z���Խ�2�Z�z�N�9sC�t��]��������y9���vk�����䤮]��� \ g���C�R��5�w%C��U���~�FըQ]�YY:����d�y�I����۶Ѵ�~���~����QU��I�=��(QIz�W������4���x͘9[M�_U%��P%<\�v��Ν;Q�T�7�jԠ��oب�7���G���3*;;[gϞSx�* 𗟯�:�������VZZ�������Ay�y%����AիGh��}Z�f��d�A�RS��秐�`U����cڲe��?!/OO����5kUj��E�ujk��Z�r�*T� \ 7WWe�s�����#�m][pP�8��{c���)��I���:|8An�tܻ����BCu�p�������/�Ѡ��;v\�Z6�����F��<=�p \ �\/T{4�<���ڵji��Z�j��BC�����t�Fլi{;I���W�m�v-_�R!!�rttTVf�N��(<��t�� 폍�����\]�g�ӑ \ Uj�:��Vѥ��0i����i�����mԨ�9[s��nd���lj?���C�����[�{���M����oU72R�*V(�X�>�m�#��_}z�� \ 3g����P��M����y����Ҋ_�����'�p|�"kג��N�:��3f���K�uj_��p��!���B}1�}7����yyy)<���H ԗ�����ة�?O���uEƫ�z ���*�x#=��ӪU���D�Rnn����ԲEs9;�Dz�ő����5��Iruu�K/<���*�W7R�~�&�4E3g�VvN��4x��7t]��,?�2m����32���F �+�#BëT�7c?��IS��ߋu������V���j�(�_��m&M��o�'w�ѡ�^y��8��M*��bi(ϟ���d0Ի������3 \ �м����#�y��8;;��O?��)?k���{���۫r�J�ֵ�U_[�W{{{�y�}��8-^�L��(�j��x��Z�F7m��u��= \ 'Z�Z$�|Uһ����A��c4U�v��Ӗ͛"o9���b�(+3S'SRdg4*4,��7�Ljݪ�:���c:x���yrtp����\\�W�Y��,��������jx�,�h��%�_��p9;;���Cڿ?V�A���A+;;;�l�L�c㔔���Ge4��� %د-<<<ԺuK����ѣG���-;{{y{y���/���k3�j�4J������$�'$�d2�q��J>vL'l8n���Օ�����+&&Ff�E��. ��bW�~=m߾C{cbdog������C>>�jѼ�b������2����l�5�j������Yq���C��͕����|}e�p��������u��!e�����A&�I͚F��?f7(0P��F*��A����2b������ ����� a�:x����~�]��`0��}^#�����{����t[����=��>,_͍�� 7)(0@��'???���b�b�{ָQC�ܵ['OU�#�5l�aCɵdOO����O��y�ճ{7��������r�z�we�XT�z5�z�e \ ͞3W����� �.~Y5j�a�Ν��ǏΝ;g7?~����h���f4�����999����F���b�X,�3g͞y� 7���4KN��ӧ�1l0���Y��� ��Xj ��꾗+/az ʻ>�{�1��9�ٜ&)���!;===�h4渹����������qqq�����N�:�Q�FY.� � P����T%<����2$ pk0�� .G� �; \ @�C� �; @�C� �; @�C� \ �; @�C� �; @�C� �; \ @�c=������{d����� %f4T�f-��_�o� @)�.?�߽{�B+�����z ��}1�U�ZDY/���O��ٯ� ��x���iמ=�Yjc ��w]�f��p# (�""t,��kf�Y���J�ȸ� ������*�2��m�f � \ ..Na���W�K �\;v�b��T-��`y� 7���t � \ �_����u� ��!� �� ��!� ��^ ��j�������6����$���=��զy��6 � ʩ�|X�=�^ e� � %e�\������ɮ�\ �7 J(/��Lw=s���r�w�]����q�� �<"�(��k�/�4��i \ rww+�� ��3�l�:m����M�4^A��e��r#*�C��so�\� ��2 8n߱SO=�|�����4{ƴ�" ��-�{��}�>��=5�_�����4��7@C Ј�,��V?����/�O�J�46������k��<\�b��bQ���u��l��h���~vy�炿�rꔆP�K)�l6k� U��Mm��<� ʛ2��ء][ը^ͪ��ѱ�V @�п__�J9��z��3�i`�~�m&O�U��d�r�[���c)��| �����s�p \ ���p�OHжm;t��I��rsu����j֨����RZ�i߾���=��")''W999e�0 �ŕi�1*�1A .��V�-Y��� пD����i���+���2�PY�r���8��-���C�jՔ���ΝKՑ�� ��'�X�٬Uk֪K�NVG;�QC�-��P�� �[[���b�h�o�kμ�:v�|}|ԥ�6d����K��i�5'z��;�� \ � ���ת�E��Ͽ�ʜgV``�����_�_h ��:m�~����+}��x�^�VY�٪X!L���-���ݻ/F�<�&O���b4n�D% \ %%��^|^��Y�q�f͚��JII����:�o���R�g��l����'{ժYS���:�%Iǎ�3#_TbR�$�c��w����,���/�ߋ+>>Ai�� ��� -Q����כ�`��y�n�.ggg���KN�T˶X,�\�V�p�rrr�F� ��r�y�GZ�x��������ٯI��*>�^y酫���k��jղ��2X'N��Ͽ�&��h5����o�m�V�ݳ�2��w����p�II9��/�$??_ 2Hf�E̚�WG�O�~�A~P�Ys�5s��ѡ����^��%��,^�n����ԯOo���j����i�T98���aC������c�>��kՍ���ܧ��\-^�Tό|Qo�Z�h.w��������'{D����'�|@k�¿T!,L;�����fύֻ�Q`@��Ս,�-�l ��*�� ujX�9�5��e2yX�/�kwٸ)�Ni�MJJJ��bV@@���4���_~�Ţ}1��N�>���L�_��"����۶}�v�ܥ!��֦�[�k�eg�hȠ���ꪬ�,mܴE�Vzz�����������h��ɓ)Z�~C��b�~��j,o�b�}���عK�II:w.U��� V��M���ϱ��'�V-����G+W����'T�fu999k������?p�0988h�^��ڵm��{mÞ.g�X�}�.�W���rssU��5hP \ Ov�<�:���w(%�$����U�B��4il� ne��;{欒����\]\d2��m�-X�z�Q���S�ԩc9;;k��:x�«T���ɓ'5}�L5�_O��Z�|ݺީa� �Zæ�[$I/�8R�� �V�Q���E���o�-^��@�q��Y���1�^-"���g�$=����ڷk�}�b�j�����<�oW�Νӷ?� \ S���4��w����G�xZ}�5������F֑������T7�N��>����M�6Q��z�:�6�%�x<+VS3��=�M���_�][� \ ��б���_��)))�5'Z&�IM�K�v�ޣY��uW�����9��A{�����SU�����A�v���%����ࠠ�1322�f�z��P�� \ �d4����Y��ٚ��l����z�j���TZZ���<����dkޟU-"\UÕ���m�wh���<�n9::��S�O�ĉ���.OOO�9sF��lSzz�zt�j�7��1�^�NAA�jؠ���|���.�Ѩ 7�e�f���{���e+�������Չ'�y�V�9{V۷�$ML҂��J�J�rssu�d�RS�7 �e�i����~����`�ֽ���SZ�|��F�ڴj������ ��Ӥ�S�m��W�ls�M[��l6�g�nV����(�I#�\�&��r�J�X,��o4������y]� �E�;�X���d�ɓ'�����p \ �$���E���۶翾�g��jæ����V�^=��Z:::�O���/�m�5lP���pw������8Q�K�5�xD��,e��iٱ���tuzE����`�b�t GI7i�P��I�5;Z5�WS�Z5���S���5�����=���«T��_�i�-���c�{��nuoXh�&�4U�� VG�٬� ��WNNN��[�n�Tu��Q�*U,r��jۦ�jT������e�W��ѣ�R�R��V�\���lm߱S999rp�'�g�>�l�\uj״���iI���������j�t�Ĥ$��U���U���#�����^�6oU�z�����ѣ��������Φ� �fW�ǻ��.� <����D��f�=xX�={��?~>�Q!,�@�� �Vwl�N��I�i���s�_jӪ����Yh�+ �\|�^���AyyyګU�Z���g�$�X�Zs��+6.N��i���Snn���� �_�3�v���$I )p-����*>������h��JH8���������b6���o1If�����}��9:����Ҥ4��G��y�M�<�(�L�Womٺ \ ]{��՞��௨&�,I������$E֩-���g@��F�����\�rrr����R��\kܰ�U�Q�>,OO�MA��U�^_<b=#=������4I�����y�b��47^����E��`P�ʕ��sI ��UII����#o/IҪ�kդqC���\�Z �fP��jUպe�B��-999i�oz=0 ��]d,��K��\4l� \ ���M��Ys�jѳϫG�z��'�� ����ֲ������)�|���99;h+Ja�L[�ų�F��O�P�fM���O* \ @vvF���{틉)p����ۑ]��co+ �m(���-^�L�� @�&�F��z���\�-�� ��9�m�rvk��nj��[�����s�k��J���ռY�7j�ظڼe��F���ڨZDU�;�*Iڱs�v��U�Xyf�v�ޣ�u����X�Ef��е���hKMMSHH� �v*p$� �fK��'S�m�%;������˗Y����{�Թs�d�X4y�/�^��ʒ$��W��s�i�V�ٯʕ+�N��W�* 7�2 8'00@YYY ��O�#���߅Z'&&�jx���4�Lxw?�ݯ�>��+͞���T�5J�# ��.�:��QM \?p�$]�0����?fΖ����x���Rnn�U��<�o7CT�� �a}dx|B�$Yl0�̙�Z�t�ڷk����v�����[��b��lK� \ Ѣ�����䜯Dhv4�$��m��ࠚ5�+�J͘9[k�mP����\�֮]SU�T)v�%K�+.��խ��&����,�Ys��_ؑʶ���p��N�L����d�PT����b�h��-�)�c�K�wd�Xdgg��]�z���=�� ��S�յ/&V�w���y�Y��ڴnY�5 @yV�O�ˁ��[I�&�4�T�5hPO�As��[��955Mk��{���F�Z�8_i���s�m n�ի) \ �_Ӧ�ЩS���effj¤�rrrR�fMK}n[��f�Y~�~V��ӧOk�}V��}��j�Hnnn�9{��Q���ٚ='Z��&E֩����⢔�SVcX.T���M��Y �T��r���j��3�����\I���EV�,�p������rw;�3�X�/���$.�«TV��Q ����L&�#���������Ҷg�>��fu��AU�����G^^�2I�����Cyyy�0y�Y�wvvV��u4��T�f �ٻOǎ/�m @�Qn+86j�@]�t��9�:r䨚F5�������f�Z}�rww��_������?f��˯��͛*55M���)??_�������� :���ڵ��S�Ni����Rd��e� @������SO����}�G�C�� TJ�)�^�VI����S2�L�>����F ���ٚ=Ou##��pD?N�I���b��<�oWNNNz�G���c����U�����g�ߋ���Cz�����q䑑u����Y����=�4���ë \ h�_�A}���i���4y{{���n.�Q�s!3����U^R���`�(��(��(���<.+�y-NjGG_^E1''G�I�rww���(WW(f��ׯ+��G�����ݪ���D��E��R� ھc��T!,��6e���d��E� G�j���.gfd\�oI�T�RE�ڽG�7oU�V-��g�X�>F�Q�*U��={��y��s�Ru8>A�rrt,�-9�Μ=�jU|� �<)�GIz�U�f ͉��'���\�e��rvv��~O<�|}|47z�6lܤ�� ����������5n�P;w����S���-oo5j�@Æ����| �4�j��?�)�Lӊ��t.5U&��jլ�F>����^��my��rss5 \ ~�$����BX��(��|g5�����Y���i2i�Ͽj���|%��ᆬƍZ��:y�,�[��A�iTc�����r�z�we�XT�z5�z�e͞ \ 3W��Wt��,ێ�6���\�:�ݯU^����*�h0�__�<����є��)4$X&��\�]���������;:���۪es͞�3f�f��2 \ �L�����'��驦Q����,ooo평UHp���ܔ�|L[�n������jP��b�h��E�U���<=�������٥S��z���`�ڽGk�mP�Z5����;v)=-����;�w�n�F����"�«T���c��%�Shh��W���={u���"� \ IDATYU���Q�Υ���x�է��a�f�>}Z���rwsUFf��o�)gg��*�7mV��Xeee�Q��E�x���������B� �A��F�Ѣ�W�g0ԫgw��ٽ�� 2HÆ*p���4lP_ Կ�� �<�Q���x�e���_�/�گS&Y�[�Z��n[�����z�����֩c����̾|��gE^�j�XQM_q��� ������*���3OY�.�r��%x������{d���K�K2GQ���U-���t41I999rss����:��A�~~�}}}|ԯoomܴE���)#3S �WhhH~�.�:h�u�{�Y,R���:u��{�*'7צu9;;�o��ڰq�8���L����r�%�륪T��͛jǎ]ڽg�\]]T�z55o�T?���8;;�S��Z�n�V�\%W7WU�PA��K���mZ) \ �_�����M����'��C�+U����o�CB���|L�6oV^n�\\]�� \ ����A�������;�����|e�0 �g庂# @yf�d�!|Xͷ�233����b�<�XT�Q�(i��h4�U��6�7� \ L�о��V������u��uT�n�"�qsuU�6���^T�C�ɤ=P�%)�NmE֩]���{�bǩT��*U*R,쾒��`0�V��U�F��+4$��u֍����u��ֹS�b� ��# @IYl�����,���ܫ 7J�(yG nJ J�rU�G;99�h4�l6�n�.�(I8 n/ JȢ��äc�e6�%�A)�� \ ��E������lΓd��ݕÍ�0�F ��# @ ���֡�<tX9���Í����Ïɦp�E>&�x�Jy \ �_ J(�JEET�X�� �d,� \��# (w8 \ �r��# (w���'O��^C�m��Ǜg�-��O���x߰�\]]t��q�߰9 �%;&W��:�u8���^���bbT�Z�RZ�ͻ p�T ��qڷY/ �r���UU��_�9�[� �fc4U�ZDY/ H2�� .G� \ �; @�c_� (k)��zxm�2��z% �\���I��?6G p�{ \ xm���� Jþ�^-�����������Vjc��zN��ү�Jm̋�)>