Use merge-based matching for MCVs in eqjoinsel
Hi hackers,
While analyzing planner performance on JOB with
default_statistics_target = 1000, I noticed that a significant portion
of planning time is spent inside the eqjoinsel() function. According to
perf, in most JOB queries at default_statistics_target = 1000,
eqjoinsel() is the most expensive function during planning, accounting
for approximately 8% of total CPU time. At default_statistics_target =
10000, the planner spend up to 75% of its time inside eqjoinsel(),
making it one of the primary bottlenecks.
Еhis overhead is caused by the O(N^2) nested-loop comparison of MCVs in
var1 = var2 clauses.
I propose an optimization: when the column datatype supports
ordering(i.e., has < and >), we can sort both MCV lists and apply
mege-style algorithm to detect matches. This reduces runtime from O(N^2)
to O(NlogN), where N is the number of MCV entries. The patch also
applies the same optimization to semi-join clauses, which show similar
performance behavior.
On JOB, this changes reduce planner time in most queries with complex
joins and large MCVs with no observable effect on plan quality. I’ve
also attached bar charts showing per-query planner time before and after
the patch for default_statistics_target = 100, 1000, 10000 along with
query numbers for reference.
Any feedback or suggestions are welcome!
--
Best regards,
Ilia Evdokimov,
Tantor Labs LLC.
Attachments:
JOB_results.zipapplication/zip; name=JOB_results.zipDownload
PK �i�Z 8� dst_100.pngUT
~h�D~h�D~hux � � ��wT��>���c��"������HQ��� UP@�IDE@C�
H !�!��H'�"R�:�}�������[�������ug�����=g�g?�>{����g�7lX�j��������U�~���>�M���9�~��]���o�j�J�����������8kW�k�NG$d%�������������H8��J�O�L�E������j����j������V��>�#j��w��.�|�'rN��G�I��i������U�D��
V'�|���������s�W�����_s��7������R����w���U��v�z����]\_�>q�3�\e�k�v������������ ���o����?���O�-qO:��������U�U�7J���yy����o�o������y�����m[��cG�I����nFj���.a�f�U���g6��2���a�bj�9��.�����_�����7~OY������*�9��������^��6���p�aqa��!��B�����1-a�������4b��)���X=�5`�x��F�����t�s����
�YXX�-,/W
wSU�v���i�b��������&(�����9B�%>4��d_��XMf����1���c�������-Ojm�?~�'*z�����}�*S�� �X��<U�-���GG�������g�z�P���ohe�t%�6��E�j~~��?���<i�7*,<��m��a����
7���q����*�)��U������G?��� \zFF)g�<N�����^�������{�k7w��g�������`u��DX�4�9v�f�������f:�k:;���\Q�����&��|���l����:{�9����l��i���6j��eC;+���Wg����-wv��s�!1�g~h���grt=-�$��������O�^��R�<^�x��D���fx�&OU�p�/���fP���U!�^�'N���8~��s9���g�E�\�
������6���z���I��WY1�]��������W!��"K����l*��h\�O��b�������[w+>�bV�oXY=�sf�
�Y�*���x���f�����xYA2��N��,d�<u����5r���� ��^����%�Ur�����h��`�!���~�~�.�ooZ���,=�R�{J����6�e�����F�'H��.��1$��%%&�&��
�i]Q����:������:����������N�~����E ?&��`l%u���q))�p`���W��HPG�6(��"�/If�V�Q������')c�t���� ��,A0�O�#���k�<���1��/��>~�+�=�����;���=i�^�-���OMM�=~��<v8�����������`�������a���o��\�vm�����������$��A�&��5`b&&'�N���MY�Hf��O�@�Y��@��c���M���5��g5�J�DH���x/l��
\]]��6�j��|��z�j����y��Er, p��C�������>U���?q��pC��Mo��()�l�0��U���u����y���m����S)��������x�b[3�U8�A�5:���C__XX�999��w�^�Zm��3��|PF��l�N07W77cc1__��\\i��;zc�\�.�������������``��o�����1����kF�d��f����*S�S�������0���5�<L��|�//����~�QR�����D���k^]��������!��x����
�j��+M�V���'����3e�+��Z��Q��/���Z�)�P���lv�[�|����^;�o��V][KK��I���WP���*�]#I&��K&VH�[��!m�X�7�!*)I�,�8���|�YK�f�������^��q�����I�lws�V����i��{?����]��� ���R����O���������owu�zO��g�h$�/
I�}�rv���y|+hK�����91�m��g��y��My���roc3K-,|�� R�9�E<<=�|W�Q���k�o[�k$K!B�:%����R`7D�����fa���W��U<9�s��3?��6�j:�<��������@���q������w��JEJ_y�/ �������<����;����t�5��f���.�~��)�I�2���G��*78�.�����zk�#��Xqr��r�-t���s�baAA��u�C���7��9����m��/�G{{�q��_k���uB7��L��4�_TV@;R��%V�iLz��a�'��\���b� ������@2�\B�d+Y�� B����#y���9g����8c��Z�:C����m�����C����3E�����+�����}X��8�3�N#bj�rc��
xvK]��V�>X�o�>��RU�����u��oHW8u�f��)O�8W}e��WLp^.��1 ����������*=��I�0Os?������.��)���P������jc������
*������Y�8����7���U<�f�q��w� ��H1�����3p���{����g�Oe�{0^���QB����f�.SXy��z��ha �=H4;Z�AZ�L���i�����
5'�c��8���c�t�tT��t���+Z<Q-���%U+��Q���w]?[��5�l�[�-
�}6h8��U=��a��|A��W{���������y�B�b�� WTT�r�}6
�g�@��
7������^��
��gwv�;�l
�T����j8�k�m|rf&<?F�U�t�����TWVV��>�UN�������N�E �?�FK3��#�_=�7$��[���3K:,'G���z�)^%}�W������L����<�gF������I��no�����$\��B;t�eS�Bh��Xe3&�F�d�����x������� W7�,�� �xuF�?�B���`:Z��V, �k��)1]�y �����[����v�����s��}l5�U8C<���`H3���2�4�c�F��_8Y+�__On��VQ�p�3����Wydj�� %���TJ!4"�4�;��
�yx�w�n����^�o'����&c�_}]��W��7m��}
���^��S��=��x&i���� p
����)/����o�3+�Y���J����S��&����1�HD|�z_E*�l��:��?~<hF�g��3zz��%a��\�T� �������]�>������V^^.��� e9�6&��������}��������i��}��-l�d��n��D #���1|W���&�!f;v�������8��')��
r6�&4��YO ���,s/��C�}��M������������;�G����]YL6����e>�9G0��KJ�K���8Cb��\��4�� ���k7�M6��0�E�����G��
��0���I��JG��+1@�a@�V�!�v�����u|��a&N��IJJ2\kR�����������r���UE�
`�25#1�4LG�2��I���f���
���k��������?o%���h������6#VW��r��x��������P������w�C 8Sl��0P���X7)�g^-d�F���PS��K�-����'����L�V�#�#��lO�����4����_�X��z �������\��]�\=9��`�s�q������O��k��-*��y�[����^k{i �/l��;x@B� \��+e�t����be>�sz���l?���w�|S��:0�k�B����\���(�^��F����������+*o��3
"#L�����7<|��eW��b��(����������#��i%a����r�s��:V�Dl9��������\b�����'l������M�j��X��'o�\"*�s���-ZV���w�B�;��)�3`�36 �`�W �%�We��mT�4
����U����Cww85����s��5�;J}KO����u��1�q���q��d777=�J-d���GT'����2L�5�[Rtv:E�MP
l
�,1������Wy�G�h6R�\�S=hQ��$Zt���/��~��(����,��
��S0F�$N����FT�+��.�1>v���p����dh|d�����k ��!��zu_�J����+U��e;��yU���/!�iFqO�X�R���[]���j�y����� �N+����j����:�=x����������������j�>u���� �T��0�Y3"0�~�`��t3|*�����^ �H�.]3PKjZ�0^�T<�����,)A{M���3d�B��n��~w=�u ?�T+,Q�D����>,��u�`l�3������C~��.�K��dGF�@,�~��g\��{s�6��t{9�M���d� X_���?������,|��
�
�V��nU���4��<|��j]�1���i3u�D�����0�-����V�
�2P�$�����Ga(�����d�Q\��'O�J�F���0� 2@7�!�����s��%�������a, ��sd�FW��E���M��8�6��1~ Y��d�C� 9�m~@e���+r�MP���K�Z��.u� D�p���W����%k�`�=Gv�D�0��=�s6Gw��7�b���SP�=E�����P�bb�j�Y�������z����G�j���G���zC�������<�&6�4�3��D�Y���F�
[���A!���Q���jD��8�U#A<T� ��<��f���-X/rG���^���i�d���p}�\4���7�8[s����W���f�����WR�`��i��4��^�!�O5km���^��4�-��o ��+S^^^����I�=p�����<p�=���!�z��NO5W��9S��R+�A����������@ c�������p����*��Z�O��L�\d�e$)���[X�A�xt����(�$0=�d����p�?�>V�"##C�Ri���a�sQ�{�qG��X�>���\0\Y�k���P3+hi�/��B2ZP����j�+�w���/b�g"}�JC����y�j�M@)�U�r!%O�6V�liD�� 5�L���z�F���2���733�2��vAb03��}u����B�t;q���[��E1[(�f���4���+���
1�0v����+�u<lyqR�Z ���D�0��}����� at��#���GV��������U5|RMM��r?3����$6bh=��911�:�(��k�����������GX�����%�V���C���i���:�x��Z �}���AA�(�$q�� Y�:��.�O�����>�"���R��� �VM�=\ X��>�<�B�J�9�n!!!�E��,r��V?�r���N�/�3��.�;1�6m0L���(_db,�|��m��]~��aub��Z>z���e��oNjPK���{�If���:�I�j�7~#����l�����n����%x���^}�h�<�:��6���V���8����0������6�����J�&��
�'�������-hhz����s�b�uI@nt�,���:�
?�UPp��VD�����@O��&e��s)/�t��D ��Ozxx�ki�_�Y��3�lhTp���.�@�+�1J��y�������<�c��xoYu}}Dpp������u�$���3� �����K�H�a�M?�xh��f��TF�
��LA�K�� �d��1�}��@+�)(������4�\� \�`Xx��C�d���;DBe1YO�f���������r�)�O��
Q��Yu%��i��9�r�����vt:Y���R
.J��19�#'����(�iM��s� u�'h�~�z^^����D;3�z�6&������u�l@�2�������!/}a
~�=>�
Vj����\E /�'�UQQv��d�a���qK�e���]��G>�5@JJj�|�C��3���G$%��n���F�8�i+J%��k�e�K��S�d�y���Yw�\���e����7T��W|)J�9�y&`+v����d��<����#�L�[w�+���_s4������Rh����hoo������
xP+��������
�YYY�9:�^ �z�d�M����5��yj���e��^�XI�>i:��I~1�8;��]��}�oRwu�1����6� �{w��5��������$�|�1���8,6���Q?V��JO�h �����]Ph���[��Y�]]��3����X��������s��#�x�)�)�9Y+g/3���s��[�����h�l_�7��{��M��OX�9=����hH�YR������oH���jp=�?���eC��x���V�R�So7k�+++���q>B�4�8���>U�Q=]���V#� ��^�u������������*����a�7����~���[���!3��}�a
`��>�hj���|����c��
������Q����+�)n��p�Dw�Z���W���eU?���p�J����z���;�x;���Bt<K2���������t95����w��&�k����-���]H�b�i ��E���~�:������~��ONL�ac��������l6R+�2*�_���"ZZ�K|ut3������K}7}s��2w�X��:���Zhz�F�^�n�n�rz7`�D5�Jex�-98u]477�.������h�����u4m� RG2��^3�>��-�&�QP��`xIH*�F!���8�{����B
E�:��s�>5����-�����_���$��"i���pP+m����F>v��sj�<b;d���uK�Z�#�M���T��8q���m�e����7K��@�:����gC��)��o�o�H|�t���kSh A�su��i�a�(��s�2�a}j�r���5��������?��(nw�1��������'$�����-�;$d.W<|��n�uE-��q�`�2��6�B��}�
��L�{z.������~���8cE<��������ZVPyEEk'E���f���:�����;sn����,w�����/�c���������x ��Mi����������XvW;��.�;����pdPhl�Xeo��OA'�|�W�Ew�.��fSmjP�g����r�5o���M��7�?��#,� #a��v�%�������/�$�
�l��?*��)L�w����3�Dw+�)q�Q "�Er�a���%���f��]}y�o�j�����*+�z�,:>>%�1\�B��w�Yl��|��S�������/z��Z(T��PCa���K ������#�]���(
\�����hbf&O��d������|g:P���L�Ve���
3���oz_'�{/��Cl=K��T5��kjj�v�&yL~���Pea�n��W'''\p}�����:hb&�Zw!R�L��B:#����c$����6}���Sb]h{��v�l)�{��+ad�%�(3_��\
�0D�m�2�7�O$%'��###����S��}�oiG���k{%a�H��*�9�+��@q����(+h�u���u����%3�JA��|����,���\��h�
����6c�
t�M���o��w�$ow`�����m�9*&���b��Q���.����)����W_����T�U�[j��I����D3�F�[��|�#`p�#'����&��\,s�(���z�����\�XZ1����|�����5|8)E���Ki0?
��h������x�K%����70�co���M����#�fD$�?�h���_Q<>���T��������q�������>�}�PN��S�/�{^���98O2��A^nn���b1��U��U������x-����k����S�L�xiy*��<������u?��5�����uZUu�������5�B�����0���(E� � ap���1����f�ees�Mz���s��z�b���6G ��v��.�^���7�p�
(�
���XS��������ze='���M]T*���IY���0�Y*�F�6PGC{����������?���f��K^:(X{��������
�K��K����W�QB�3si�3n����W1�>�PX!x�����<H��'O�������O����;�������c2Z4��'�p���p
�������
�mU�]z(%1�tww7��V����T/K@��-���b/����X7�fxtq������|�6��E$@�2?L�1�k��:b$��o)�',L�V����gIs�*�(���;�t^r�Na,�s�d_�J+H/�N��k�E��\��~`4��_G�V��#X�� �5����5"�;d/�{c����
u����^\h������wE��*s���&�Z>�����oj���xVG����G�������"����XI5y����/�Lo8nb������� ��*}�$L���4��5���h{����9������i����������eo�^?��s�����A��������Sud^�O�^����U�U��J��^���N8�������t�H+5c�I���K�����>~�`��}s�������)1^v-���
����JsCpe��~=��S0����V$���gvyd�)(���x��q�jn��������bt`H�M^ �W�_� ���J�v�O��
cE �nK�
#Hg��_^\Z2��O|����A�6�s��r�PjrL���g���#��i�E
�?y�O��>������V������se���oNL����]t���K(ssb�|+s)�)44�M w�l6��`����Xw���2H������F��W���aK�3'gfZK��%�g?��tH0:����G�c=�i��7N ��Z���`��2�?�U��<p �P=�La�S�b���Mz
��$<P���,��mbb"4:��u�~hO+m)�P�ZRt���1�Zz�`@��D�oc�����g��I���c<����'p�VT�j0_Tn�������,*�uT�2+�B�D{��ap�^|��,�n��p��;?��������� ����0���c�P���_u3��]����@�\yiJ�dQj��983���_e|�����B#��5'U a$���i zr���X�����J .`��,SS�h�u��0�Q��4-�^�����^�:��x�.��Dm{��}u�~d ��e\��Y��ff�����������(5B����Z�v�nJ
��ND�pz��I���v p��"a�d�/;����~\<;S�u��G��(>Xn�� B���;;<�����?�S'��[U��$���Ng��C�i�I�.DH�I
F�����t���
�TUk�k��G"B#[�H��k����8���FZ����tp[����*�>�c!��h������� @
o��C{��c�eS�S������o�B�D%�`>@��l���J2!zq�<����A��'���������v�<V�l^<�m?v���������o���e��D�#��f���s�s}W|�Qdnn_xll,�d��".-��^���b�Z���Km���c__*��� l�t1��N�iia��Cu��� b�������v�$�a���"2q:���&feg;5Rcx��4M�f����}_�'���n�� ��F���W���!6�� ���s�v�SQ�_?[U�}n,���h��F�l�����g;V
~���=��z�_�\:
��e�������&y�v�z������6@5�w}w'����&Q�L+�������*89y����~����we����T���l��}���UmU�4��pE�aZ���i�M��u���y���������u!4�\y��f�����D���}�*��;�����������e��
`>9|9������$n��o~�����2��/��ko�����]����{]M�6q��#�6��=��6oH�T�>�H�pn��y����=���~Q��/���W� f|w�n.���?���po;t���
mH�E+��;B����!*��������b�/��W|�Jy���/�8����$cN���������b@.�����+*�d���o�w���{(��e��.Wl��S(-!^nu�QF�C�Hye���`�2\t��RSSS�j�,,,.�#/����w�1����� �Hm����a15����_e�t������f-����W����>���I�K��i�������{C�d�3��n������94�,l�/�>��9�0����hy���]0�,`���F��~����_����p�������L>���#o��,c�:�1����IIIUW��C�N���#��+w��1���W�����
]@{8��w�FE��A
e ������|��D+{�v&$��\��u����{-����,D?��*H[Y�Y�<8r���gXXXh4
K>�� ��� 2�7"��cB��yB�"��N"M�?"�2��UVu+��i��_55K2$B���:~�pyy9����w�my�\~�7����������s�d�����W�${�H��(o��|�3X�z�����[�PNY���s��/���.J�%e�����#��%�`��yUW4;��=���0��?i��}@�,--;
���#���c ����q�� ��&I))�#�u����2���:[���,�����%%@J ���q��|�g��G�w��N[(X{��r��@}����6"Q��; �;U|{���w)�6Z��W7Ee��'�������n]�����>���PQQQ��z�j1V�fk��c��=
BU�[%��=&?
��8�6k��f�n��7/=Ox�����Kp�n���
wy��d���(>A
l-�1q�z����#�9�d���+W����@�l�F6����_���!QH�s��Y��M��i�^Fy gI��u
���H�k�:��Au[J�6��Z��bk:Ey�bPx
��������)Zh��� �K�_����Kv����j����'PC���(A-1��j��������F�����qS �0�\l�n%=��7����}��i������������y�,�y $)
*y�t[��tr�2�4q.68h��H��������o'�q��e��I��Y�f�X��R�{���l��
B���Y���E��j������#��&��I����#-��800B+A����m��n���F��������^��g���'&V�c�U�7>?�A�A����_A�� ����A�C��cW���������KKK���t{r�!���{���;�mB� F��� ���y��U����<y[���zA�C6*e����6�� +^�,������o#��?���~�}�����������
��OH(C�\��������2��gY���<��@��w�
�h|�EVn�����v�H�f�A�V���KR�lY�����W��l^���.M�-<��������o������%�(�7��x
�3���5��2��W������i/�%�FF��:����b���}""�3��W��[pk@b����l��{��;|X����9��1JT��� �h����������X)Jm�{!eJ�����k���9�5V���������~��w�:�R�P�H���#�i6�Z�+�n����d,PX������o�V� r�j����V���Q����J���W%��K3x*c����/����+&*zvo�*����_�:�GDdp�\jhj%���RM����a��{��A9�+CmY5!��xv�UXXX
��H{����:��U=gFS�P���<�ul�UY���v�P��0�l)�_{ 7w�Hd�����=x��{��a!�GF��v��5%�kj���z� �`�`f��;r�P���R&�za��s���2n�.tS�c;��t������<��6X�$�w�O;�
C������ +�?H����Qw�����h����O��`N�8������_P��!�ff�MN��y���"C�#�tP�d�� �U��Z��j�S�$���E��ec.F������O���6Tk�1�HJ�^s������!��3��xy~����*�l{� ��P���w��������_��`��'OR ����Tr;�_�Jlr���,+j&��]1���y- ���S]4qi�c_�����b�x:U�$Y��;��?~T��gW�v��cP]���2_������km��Eg�c�����no��YV�����OiY�5b���;J,��Q�8��/�pl�v�����q WiE���^��j(��w�A�6�aL�MM�y�[�oR u[��d�Q��U���(����\����",L!PXX�6!J�����M�������{���j)���M����l[�/�,9*v+�1�y�x7�?�D$�q� �W���� �����R�j��G�;���/��M� NE�U�!P�B]��1�r�=j��
�f�m�^k~�F �b��/��4��J�Qv��TO���h<~�8�x
h�R����)o��4���7�|��u��#���2�k�8���s.��A�i����sB�������������rm���L
*' ��w���x\�u�����n�wi����dt`+����m=g{��{{-97�:6�>�}����#(�o��sh�9���oW�d;��6�"�>��oC��>��� �2���}J�RU��}V��j��HHp<$�F�za���,�� =���~K�^PO��"m��b�[=��� �m�;fW$�w���������������0+�g��w�d�w18v_����_(�6
,��4lp�,��!�
<�F�7Q���p�!p� �����u
Y��;v��Y�d.�(7������/�Ck%l�;03L;���L~�����h����{H�di>�g��=/���R��** C'd��h?��.��\\T�+��u:S��7�q���-h5�p�Y���bmM��nj�����03��*�F�|s����b�@�Hw��zMX�~$<l���u\�L���V��2<��1�C����@W����������No����l��vco�?)
�s��_�fnn��u�
8���d�
h�P�����f{��MN�cWn��-`��0�������m%uUU�����O��������5�y������d�c0����}��9�f����[���W�}%kuQ����_����
b��T9�)��P�2�m�+�-l�(;S� +.+k����UOMM�4�X�7�������(�A-$ u&ff���'lx�T���LXb+�8��b5�j�nN������]�hRu�7�g�DVuhqPn��>[R�T������."Qu��}��/U�h�;�p�=�= �D��e��G`��E���j������%1<|�O����7�cS{�2��(����FG������QC-!�J��5u%Z������S��"g�`5';Z�:W�LNOLN�+��k )����Sk��0l�n�W+'�����:�*�%�sa]-.�����Z,*.��L�_�3p��a���7v�p�s������qu�I8A�/ A�J�B�����6��H����0X; e
8�bR�^�f�S�*���y�Z�v����V�,�����eJb���+;,�w��IE���vc}�u�Pc�w���������%�[�3�g!l]kJTu�����[�[������P ���D"��4��C)�����n|�����4,)*)�pnh�m�="]�VU����R�~��+�I��%E��<�/G��],DW�
�HK�g��=Y�I���a��Qr:n���V"!!�1Qt��O@�qq��>$:e�� �EB��@Xx��� ��)U��) g���!"���*D�@[;���mf�vk�<��+B���(���HsJA�r�~G}���A% |w)�������Nr0�]�~��#�`qY��d �1��^���'K�����!L��Ig `�D���T��V�\�n�O���������'j$i`�BJ��I^A���Dna��7n��J��N��a�6�Wv���]�������L�Xb�,�N@�/�95�N�;�x�A=}i��U�������TK�Z�@I��>6�u�9�#�k����t�Z��!_�<��*�6@�h�5����p��U���=t�Dg��WT4�w{$�`~��M�����`t�����B��I�����=�����RRyA��k�c � A��;���� D����!#ULHD�|7'k������Av"�e�a3:^Z�quu�"�P[����T�di����6,C�
"_���><%c75������N�GX�IHh�=��/N�����au��G�%��oj��'>�iD����-�������8<����CF�P����������-emO���
�2&!�
>~`h�^H�b:�@x��"����K����~��
5�k�$n�!j�r0S �!����7@
7��"$�~D��{�FA��.
`�Jz�d���!��n���t�}j��s��[���������y3�m�D3~\uk�1�@|��?�?� ��������9@Qt���9W�v��yxZ�+��u�"���<�<��ND
�,��!"�#<���������(�n���?��F@3*IC���7�Py�2@�X=gz���F�����~=",,�\�N;j|��5�f{bQ0�L�'��Pom�f�X��iQ��D��[��^�+��+��{��
"1�"��j'���������o�U���C����2:�����0L�4��L����m��3������%K��:�d�[!�H?t�x�?����'jv���o��W��A(� �.a������,h��w���g��bGZ5�GH��LoT7��yY��}m�G��a�����)��C@�n�9���Z9�UK�AUc���x`+:����C��d\�T���9W���%"��=?�������>��o%�����3e���-����^P\/CM�$�$P�(�� ��t��(���ql{yB_���BXd�~���mtB�]�f,�C���Mn���]�&W����:q���l�b�.��`2�3�vf���l�3v�< �G�zG1$�2Ws�:���"���������{��JW��dC��
��D-..���������sc1���5V��:�mt�s��o��u--M�1��sZ�������
��E��Q���Pb��`!���D�����~X�
�W)z�I,`��Jq��h�it�������K�t�����ZLL���p�!���'�f)�c���<gf���[��r�����b��]���+�Y�hc`X�6MN�������W��'/2!4"���K��w�)kP=�0�]�iU�G�+W�>��(��z��06S������R���3�r����|���!�������q���b�
CT�K�A����YYY ��)&�N�W��7
�
��u��\��S>���m$�.��m������j<}W^�O���`.��~j������Fx����M&��{R?�1�*_�4�q6X�6�k.��IGq����������Q��1fi����� ����_���1@�H���kI3 �_����}�|�[p� ��f`lFq�>��g�"��Q��?�V�
��i�Fsao���o��0��4�O��ZD3p���NQ����EE�$�B������B�$N�P��h:aFA�"�������x���k�s�����;�i�u�'�k�V���o�V�J�e2-P��;���7n�K�8��53��2������rNQ�Bp�������,Q���x�^���S���+��E
�e�*�C�4��������p2��a�E��B56b����i������[�\�,/�L�7��o5�o��a�_������� %�T�gfjzE�Yt�]7����e���=-� ��!M���L;N�<�^��1�z��:K*�nn�;�fl�����q<jL�W��y�-�6P�7�,u{��H]�j�@ Q{���l�����%K��q�Q��������cG��~��OQ��Q*PV$�����R������gQC$�RQP0�Aa�k�6������������`�k��������T��r�G��7Z��3HP�q�;�K;������k�/x��4*������d�`4zL�hQ�c���~���������k �H��V}�2��Vp=A����Whx���i:�Q��iE
@F���������/���U0JM0]��$������n9�*h�f0Qt@���?��j������BC�KTLL��~��� �����C��rl�� "�����W)VNnj�e�g����T��4D�65E�n�\����%k�"m�>5�cmkK���WVVFgml=�b=V�������l>�`���#G�`�{N�=����W���������OQ8~SVFt_y?�>r����UU�����w��A�����������66ho7>>�2�U�P��>>�b@�s�41yyc�����O@
�A���N��l]z�~$���P3�T#���5-�9�Q
��l���BIGI��g ���� ��������'��
\����t �i��������X���LA��i�w�u���gAy�w�$������)X__������,�tJ^��z)N�"���#2���c� �7|����)�<���#��A�������>�< � �����>~~q%%3�@��(i���u���{w=k���.F����������36~��v�{�Om��PF��]]��n�@���� �
�������������t����p*���]~>
P.v�Xa�R;i�w�.��'&���j Q�e�����"��c9�`�/��{�#d\���~����_U|�f����������13y��YT�4�����I��?������$*yE�l���tj,�f�k�n���Z�lx,���8���R����\��%�m`wT P�)���\�h� ��|B���������b7��� ���������ZR���������2� 9���gP��c�w��Y�G"��N>�t�Q(�!:O������d_��A���">~�r�b�it���g�Q�8���x��^pP���h����&�J����j!{]A������6����g\k�J��}j��:�^��p�:����s$��-�R� X���P��o"�^��c}i�� G�@ ��e������db�� Q5Xm��-��x�����A����u�NU�B0�����2.=�Q>@G��AU��(���f�O����6����d5�6)�|�+�=�&��`��-j ����, ��.�����^���_���i��I����-����@8bQ���L3*�v|E0�,-Q� ��_B�.��%�U��H�BPE�A�TpexL��
��LJJj
���<����B�x��G����&����|b|<�EXK��nyii�h(�������HA@p"5����{P�����y��EW����9������ V��u���f��:NN���pv�x��sI
,��Z|����?���Q�@p��*�~n�mI���/-��+'K���/))���?�g�c�:!X������e&�}`�;����z��1&@@��`N������(�C��D�C��d����}���#))I=���CR`X&�m�����������W���
�%�_�U(v �R��3�]��0;�(FV�FZ��#TK��[����yP�VS|
�z1�5���$�v��3����h�'�N,-p��a��t2�{���G����n�d���9��v,x�z�M� :l��!m ��K���K��Pr<�g>U���i �v�=&�
`��(�k���`_�=�-��L��Q�&�Z%6$���#\�$#a4
���L �K�*/w�����D�� ����:K{{��&�0�h�����O@�%��s6��b���D���oru�oYx�����y#��b.�t� :
����<3S�y��q���EEE�VoRk���Y��Q�v���K�h�=j����M�a}}�9�a$fM
�����cN����ae<���rH
���>z��Z�tI����W�_P���������k_
�$����A�C=�g�
�%n\Xj~���_�d�#�_jQc�Y�<��Y�r�/Uukw[oD���Q�0?����X�z5*����'��,+k���K� �t:����y4���������i�k�~Yk�y���w��h'n�����"���?�� +e��O�4@,3��[u�\X��z���h��0G@�@@E�LXJ�F����w\We�Yt���Z&7��~��@9`gj�]M���'��X<�L��85���$��X�Ao!���u� :L����rr���/;8?��fD�����L���.O����U�d�
������;����������<�I��EV!�87����
��N���=�5 5:������ ��KI�V q���]u�(�����S�X $����:C�4#�|OP��6�R�����]n���=j���;\;�1~
���,�x��v��� �>�/_��(�I�x�U�.�
��r�S����n�q/��,5���c�%g1U���3��\1gyW������T,,��+>T�P��#�j
x��g�x�|����]iD5^��������`T��aFm�S��a��E���$� j���k55��-����J�`���Y5z�����h;�a:\ex�F��2�����&pM^�����V��U*.�(���-("
*��*�N! [@���"�e��$@ Q�d_�$,B��D���������?3�2_>|f���.���9�9�"����<M����j�����k?���X�0"���fI�; f�]j��.��S����rK�����9v�a����A0���"D>�[d��p��nSB�%�_�Q�������c�,x��I�����*���s,��O!y���S$�5�� ��
C�J�Kz}������/a�P��$�������������C���4���hcj����j�IJh�- �#NH�V��'X9�%���}������B��Gg��[[4N��}�
�U�����o�
��>c���Q�=[cv��8�����}�L?�%��� 1�|��M��S�::����)H��t��@T�� �+�� �%i"����.����y�]�,[5@5Mk�� V������2�{A�H�belE��;��h�s�4�`������������!{����g�U��w��q^\011I����VW�i�����%ix��,�>;�����vv>:����t���;��Bj��jn����P^��
�������t{�r&�4_H�����r�Q�=[���@Z���x��v����
SL�������Xi�L��w�����,�|�%`Cb���<
�4<���X��a@�<���v�<
��<���H������u����>.%�V����*��~&,C,`����v`�P��6�h����'T�5�����7bw�iC%.�0/|
W *E���^�I�""6��P#�h9pF{������aq�P_��A�?x �Y�D�+��>_?��3��:h�@)�Z��s���:uu���S�n��(�v��It���|)D{�� ~���xL>����,==3�99����f$b���5���8�N���A�OWM������������2Z�iQ��N�K�haf��Y�^�����D�H[�l�
** ��%�dh���z���f�b(...rrr&����f[��q�X:��U�=�.c.����}~a��E�>��Z��Q�Y/J�j<�n��k,���G�[���)
J9�*�o����U��IS���AR~7)jXI5����/ �5S�>(Hg�fu=i��;XM L����L�}�z+T�����,i�lH����[��U��K�
=�y<m�/X�I�u�}��*�������`�����'C�����?J�=jl�Ql8sc(&f=�������(�����Q,��}q��`G~�h� N�s ,�#����#+��Ag�?&����������()�uQ���666�WNq������o��&+-;�����#�m����$���� p���{�M�
� ���
�f�l@|3���@j�Ph�!G��;��m����e4]%.�-�QYSs|av�T
�N�ks�����;�U�l����"
WV�s�>y�<K�_��h��);;�T�G�W�jia��h4B�Y�pR�4B�`���{#SSq�����?{6�����'e���~���u��3�~%g���[ �j�������1nY�+/X�x lZZk�8��eH����#J����]��a�7� Uw���
����������gO(2-=����Z�<���W�-��;R���������M��������+OI�rvv����Su����r���P����U��U�\��K x��{`5\�mc;��*LUx����NSv~~~h��Z��`zF�)([{�SC�4�T� *��z������=�jI/��]`�����
j �N� �v �����@
/��m�kvO{
�-��HM��[���NP]�����Q��^d �>���P=�^]��m����p�����<��OW >�w��iuY��g#���4nlO��x }���.�U-l�R�a�5=h���p����^7�������1k�� �����J��-/?�!i��z�t�`�`D�P�nll*�^�D���7�<��zu��9�����CQ:���ccy������K����k�F*$&��b�8N�L2��
�:��� vZ����3�]d������8�,�sS�>u�p��Mx�%]yyy�Pq�&={�,�����w@PlV (l83Bx��Q�g�[����!YHJ��]��?N&(�b(*X�U����<�,�~�]]�����t�,���ig��`��2@���&^J������pa�=H��:;��p�y)i���F|j�U�%�D����(���A@ �&$d�vo'����|��wO��'W�zaC �`n8 Y�qr��IKK������w|I��AMl��������� ��_*&��{�v��v���>���X�_�n�;`�T-^�����_�N�Dk���&S��>L���c�I���J:e�Yi{����3[��\��w���)A�vKF��6=1�����#��#�l�@�V������A��y�E������I1���`�������&�������:~���M������49���W�UB�<d{P�k���05������
��wm|b3`���ug�&�X .88U�j�M�4���%w��{(���k(Uv'���T�����L'/L�|:���*�B�j�w�vr���*�5���������:IM��M�`V>d�[����h� ��`���[�������Xk��q���B C@]�RYI)��)�3x��q5��PDII ��0��-�Gz+��m��T2� ��a�?������X]b�l1�d��B3�m�c ��P?u��Fr;����f��*L�wv�-�G����qjG��� fz�����c_������,�����w% �\d�R.��-������D�����z/�Wx���*g^��9+T������\�e;PZ�����_����d�l��1iJD�xE�0���* �g�n�jsm�F''-]]�A�"<��P����`U��t����%5���<n�����Sg����4��w���9�kX#,5�1��Gg*>a��lQ���Z��N<S�����o��;222X,�����Q��Yj�[,,��[�+hkC���]|��0z���)t�|8���o�q����x�i�
�aL�����Dv�x��^�N��H�8���p\�j
O�H���l� ��������KO���+W�@b��V�� �F�B@��j&}�r��$���=��]��7�877������vqI ����l�(�m��_AP����AD�x5�V,���������y��T����@B
<j�[�S��<�������
69���Y���������tW�l[3�xMEH���W>&��=:X8Ob���T^���;]9��������
l�@1!�x-l��7�?K�ryD��*w��%$����m��E!�a��c�&76��?s9�����g�^�6+ \k ^�)�t�P�W����T@���-
R�H���n�������kL��~Q�f���f�&��95�|��!V����a�w�>�,J�
f�m���v��'�B�%v�Gk������T��RA ��A������;�R��������iz������twOo�;zK�(?8���T��Vk��;�����r�z�6bQ-�- |n71x��������v�D!�U����b���O��t�lC�G\�-:��)~'�.�0U�����a��NX�
�K��z�eMx
Od���1 U��(���W+�,�B�1\:sR4����ms��,3 P�(�������`[dX��
�d��EUf��:%c$����V?��ag���y�����G��QY���VV4>�U���� r���G
��U'�����+x�q`�vO���"�@R�Gc�U�����B�\N����E��q��6EVpE���_����) ���Sd�c ��*N��Z!?�l���^���\���U��������� ���px���+���-������;*��{�� ��X ?q��-�8�3-3�U<���Ky^�$g�w�Sp���?����0l�ta�g -�0������IN�=��i}�-'�U@ >a�YS����T�T�RK����;�0���hX� c4�q:, ��4� Nd������p�c��gY��V��HV�2��}��RHtddd}�r������/]�h�u/��N�������
+�3��UT*Q��|
�����?�9>������d&�����s,z�n���ajq������g���nB 9?�N+�h�%��^��mla�ma@�>l����;�>��X�OyUk`i����>?C
���d�l;dntf�^X�@����. ��#��y���A����]��b
^xq6�j����w�DtRf�����Nl�w���O�l���R:�����8���������+��$��&��B�;Ja
���'