Skip to content

Instantly share code, notes, and snippets.

@curran
Last active September 15, 2017 18:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save curran/8c7538843c9ebd1330c347d332dc7f76 to your computer and use it in GitHub Desktop.
Save curran/8c7538843c9ebd1330c347d332dc7f76 to your computer and use it in GitHub Desktop.
Basic Scatter Plot
license: mit

Part of the video course: D3.js in Motion.

An example of a basic scatter plot using D3.

This shows the "Iris" dataset. Originally published at UCI Machine Learning Repository: Iris Data Set, this small dataset from 1936 is often used for testing out machine learning algorithms and visualizations. Each row of the table represents an iris flower, including its species and dimensions of its botanical parts, sepal and petal, in centimeters.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<script src="https://d3js.org/d3.v4.min.js"></script>
<title>Basic Scatter Plot</title>
</head>
<body>
<svg width="960" height="500"></svg>
<script>
const svg = d3.select('svg');
const width = svg.attr('width');
const height = svg.attr('height');
const xValue = d => d.sepalLength;
const yValue = d => d.petalLength;
const xScale = d3.scaleLinear();
const yScale = d3.scaleLinear();
const row = d => {
d.petalLength = +d.petalLength;
d.petalWidth = +d.petalWidth;
d.sepalLength = +d.sepalLength;
d.sepalWidth = +d.sepalWidth;
return d;
};
d3.csv('iris.csv', row, data => {
xScale
.domain(d3.extent(data, xValue))
.range([0, width]);
yScale
.domain(d3.extent(data, yValue))
.range([height, 0]);
svg.selectAll('circle').data(data)
.enter().append('circle')
.attr('cx', d => xScale(xValue(d)))
.attr('cy', d => yScale(yValue(d)))
.attr('r', 8);
});
</script>
</body>
</html>
sepalLength sepalWidth petalLength petalWidth species
5.1 3.5 1.4 0.2 setosa
4.9 3.0 1.4 0.2 setosa
4.7 3.2 1.3 0.2 setosa
4.6 3.1 1.5 0.2 setosa
5.0 3.6 1.4 0.2 setosa
5.4 3.9 1.7 0.4 setosa
4.6 3.4 1.4 0.3 setosa
5.0 3.4 1.5 0.2 setosa
4.4 2.9 1.4 0.2 setosa
4.9 3.1 1.5 0.1 setosa
5.4 3.7 1.5 0.2 setosa
4.8 3.4 1.6 0.2 setosa
4.8 3.0 1.4 0.1 setosa
4.3 3.0 1.1 0.1 setosa
5.8 4.0 1.2 0.2 setosa
5.7 4.4 1.5 0.4 setosa
5.4 3.9 1.3 0.4 setosa
5.1 3.5 1.4 0.3 setosa
5.7 3.8 1.7 0.3 setosa
5.1 3.8 1.5 0.3 setosa
5.4 3.4 1.7 0.2 setosa
5.1 3.7 1.5 0.4 setosa
4.6 3.6 1.0 0.2 setosa
5.1 3.3 1.7 0.5 setosa
4.8 3.4 1.9 0.2 setosa
5.0 3.0 1.6 0.2 setosa
5.0 3.4 1.6 0.4 setosa
5.2 3.5 1.5 0.2 setosa
5.2 3.4 1.4 0.2 setosa
4.7 3.2 1.6 0.2 setosa
4.8 3.1 1.6 0.2 setosa
5.4 3.4 1.5 0.4 setosa
5.2 4.1 1.5 0.1 setosa
5.5 4.2 1.4 0.2 setosa
4.9 3.1 1.5 0.1 setosa
5.0 3.2 1.2 0.2 setosa
5.5 3.5 1.3 0.2 setosa
4.9 3.1 1.5 0.1 setosa
4.4 3.0 1.3 0.2 setosa
5.1 3.4 1.5 0.2 setosa
5.0 3.5 1.3 0.3 setosa
4.5 2.3 1.3 0.3 setosa
4.4 3.2 1.3 0.2 setosa
5.0 3.5 1.6 0.6 setosa
5.1 3.8 1.9 0.4 setosa
4.8 3.0 1.4 0.3 setosa
5.1 3.8 1.6 0.2 setosa
4.6 3.2 1.4 0.2 setosa
5.3 3.7 1.5 0.2 setosa
5.0 3.3 1.4 0.2 setosa
7.0 3.2 4.7 1.4 versicolor
6.4 3.2 4.5 1.5 versicolor
6.9 3.1 4.9 1.5 versicolor
5.5 2.3 4.0 1.3 versicolor
6.5 2.8 4.6 1.5 versicolor
5.7 2.8 4.5 1.3 versicolor
6.3 3.3 4.7 1.6 versicolor
4.9 2.4 3.3 1.0 versicolor
6.6 2.9 4.6 1.3 versicolor
5.2 2.7 3.9 1.4 versicolor
5.0 2.0 3.5 1.0 versicolor
5.9 3.0 4.2 1.5 versicolor
6.0 2.2 4.0 1.0 versicolor
6.1 2.9 4.7 1.4 versicolor
5.6 2.9 3.6 1.3 versicolor
6.7 3.1 4.4 1.4 versicolor
5.6 3.0 4.5 1.5 versicolor
5.8 2.7 4.1 1.0 versicolor
6.2 2.2 4.5 1.5 versicolor
5.6 2.5 3.9 1.1 versicolor
5.9 3.2 4.8 1.8 versicolor
6.1 2.8 4.0 1.3 versicolor
6.3 2.5 4.9 1.5 versicolor
6.1 2.8 4.7 1.2 versicolor
6.4 2.9 4.3 1.3 versicolor
6.6 3.0 4.4 1.4 versicolor
6.8 2.8 4.8 1.4 versicolor
6.7 3.0 5.0 1.7 versicolor
6.0 2.9 4.5 1.5 versicolor
5.7 2.6 3.5 1.0 versicolor
5.5 2.4 3.8 1.1 versicolor
5.5 2.4 3.7 1.0 versicolor
5.8 2.7 3.9 1.2 versicolor
6.0 2.7 5.1 1.6 versicolor
5.4 3.0 4.5 1.5 versicolor
6.0 3.4 4.5 1.6 versicolor
6.7 3.1 4.7 1.5 versicolor
6.3 2.3 4.4 1.3 versicolor
5.6 3.0 4.1 1.3 versicolor
5.5 2.5 4.0 1.3 versicolor
5.5 2.6 4.4 1.2 versicolor
6.1 3.0 4.6 1.4 versicolor
5.8 2.6 4.0 1.2 versicolor
5.0 2.3 3.3 1.0 versicolor
5.6 2.7 4.2 1.3 versicolor
5.7 3.0 4.2 1.2 versicolor
5.7 2.9 4.2 1.3 versicolor
6.2 2.9 4.3 1.3 versicolor
5.1 2.5 3.0 1.1 versicolor
5.7 2.8 4.1 1.3 versicolor
6.3 3.3 6.0 2.5 virginica
5.8 2.7 5.1 1.9 virginica
7.1 3.0 5.9 2.1 virginica
6.3 2.9 5.6 1.8 virginica
6.5 3.0 5.8 2.2 virginica
7.6 3.0 6.6 2.1 virginica
4.9 2.5 4.5 1.7 virginica
7.3 2.9 6.3 1.8 virginica
6.7 2.5 5.8 1.8 virginica
7.2 3.6 6.1 2.5 virginica
6.5 3.2 5.1 2.0 virginica
6.4 2.7 5.3 1.9 virginica
6.8 3.0 5.5 2.1 virginica
5.7 2.5 5.0 2.0 virginica
5.8 2.8 5.1 2.4 virginica
6.4 3.2 5.3 2.3 virginica
6.5 3.0 5.5 1.8 virginica
7.7 3.8 6.7 2.2 virginica
7.7 2.6 6.9 2.3 virginica
6.0 2.2 5.0 1.5 virginica
6.9 3.2 5.7 2.3 virginica
5.6 2.8 4.9 2.0 virginica
7.7 2.8 6.7 2.0 virginica
6.3 2.7 4.9 1.8 virginica
6.7 3.3 5.7 2.1 virginica
7.2 3.2 6.0 1.8 virginica
6.2 2.8 4.8 1.8 virginica
6.1 3.0 4.9 1.8 virginica
6.4 2.8 5.6 2.1 virginica
7.2 3.0 5.8 1.6 virginica
7.4 2.8 6.1 1.9 virginica
7.9 3.8 6.4 2.0 virginica
6.4 2.8 5.6 2.2 virginica
6.3 2.8 5.1 1.5 virginica
6.1 2.6 5.6 1.4 virginica
7.7 3.0 6.1 2.3 virginica
6.3 3.4 5.6 2.4 virginica
6.4 3.1 5.5 1.8 virginica
6.0 3.0 4.8 1.8 virginica
6.9 3.1 5.4 2.1 virginica
6.7 3.1 5.6 2.4 virginica
6.9 3.1 5.1 2.3 virginica
5.8 2.7 5.1 1.9 virginica
6.8 3.2 5.9 2.3 virginica
6.7 3.3 5.7 2.5 virginica
6.7 3.0 5.2 2.3 virginica
6.3 2.5 5.0 1.9 virginica
6.5 3.0 5.2 2.0 virginica
6.2 3.4 5.4 2.3 virginica
5.9 3.0 5.1 1.8 virginica
�PNG

IHDR���D IDATx���O�eY~'�oUx4�5�a cl����
1��Pб��1�C H�:^*V��s��^T���Lg/e4d�Bx��ʨ�YxP�d�]���hYSUL��yq�SDFF���������!����s��"��?��}s�dYQ���d(S?����� Ⳋc϶�
ر������X�q�n��e��AZ
���^� I�H�<���4;GO�[C7�Q8N�&�^�O�lvu��i��b��$��4Ӟ�Nr��_$y0`�`+�K�nZ�u��I0I�|���@?��P��t��L4�d��{�L�F&��) ����z෇n�{��[���jH����w*���[iE���lt�f��h��O�|��r��-Ҥڔ�hQq�����$U� �8�E�D/V�[�f,���v���aA=�F�7S�؊�tJ_�uYP�{�u��9I��y�K������OS?-��A��M��2���E%ӟk�A���I���}�:����[C7����<^����C7����@��0�x�W{��V̔`<N+�0)��VM� �8��N�m�����ôK�t��^��'�}4�r��сQ�w���޳�������a�1U��:H�"�O�Yy��"o����8�ݻf�,,�����;Ɇ��o�0ئ�;= �����<�@_�/msf�/0��$ϒ���Z�W�� �.��4��.`�I>��`d����瀮�D ��T47��a�� =���}�p��'���9z0Ѓ�t~�Ś`�a�f�5y���:�8V�6\���>�!��ݷ �r:@{���I�c
4��N=mY.h/�a3 �-�>�ֵ��^��5��6� t,�K l���pg
�{���X���t�k�'�`��}��d�6�Vg�t��HMC�����-�‡��4�]�%y�&�^��-�3�k��f� ɳ$�����I>�4wc^�i���~M��\��pM����I��lޔ�e�5x��͛��"��C5p��0;]vf^fT��5�q�u������z�똧C/��4��}��,��{�3���#��{�0C%��Sv6�6�y��뿷�n�s5Zd�ӠI�]q��6�څ��?0�_m�2�`g��ԧ��w�n0i�I�]�{��4�Y�OҬ7ơ��x��V���Qu��7I~��׆� �r�����V�5�ޱ��8L��/2ε��oS� �޶�R~]�wl��%9#ǜB��g~#}�#�χh��?� JsFN2]��d�����v=�13�:�p���O�;����9~i��6x����;��n1�Mt`����q6_����d/�O$��m��f:0g���}��i�)���l�iڽN�����5OS7�4�u�l�Qf0b4�m���/tp��h���-�|��e^��_$yk�������R��|9@{��Qڥ���P �]���/tt���C4��t ��~]_��� ��${�'�l�v#�7�5��>���:z�WJ7Wz5DcG����������9��<��jW�!���::L�<o>���e2mr�)ޖiv&�gC���/:�Ѣ}T���26WK����7���,���$�^���4�u���տS���ה4ײ���47��q�rϔ��su_$�~��}����d�۳Loj�}�e_�n��f�޹��i���{����s#�H�"킎�\���]�͎��qag�Y
뜓���0�=���/2�>�=��[��*� Jr�����c}RvY��g�-�>�]��]0F%��2�ұ* t��cJ���e� 뙫���닞u1Ufb�Sx�L}�YJ�B/���<�y�3��/}��a���V^�]06�A��G�JG���cK��ͼ�7�m��n��ҙ�� ��js��.`ܕ��w+�}��?�閎r�ni]��.��v����~``�������J�5���:����=M�}Q���"uA�I�Mn��z�����-q��SW�J�s�`�u�帾��O��Mk.�:*�uW��e
��l�u���B�l��� �@i�8栠&�kP��u�/A�������"e��������7�������Ks�Qɋ9�`f�c� �#� ��6i�ْk�feC�:�a�/z���$�2���꺗)�_��6j�u_ ��1�/��z�6u0b�4#dgy3x��`��uR���X� ��b<��]_���7_���� �� {�0� j���mC��Y�h/{❡{b���iF]��iF_~����$���?O�I��$�H�a��o��I��$���W_{���$�S�϶X�ug;:�}���U;F��nO�3և�L�^`d�����#S�2�ѩ�r��D?�R]'I��P�יƺ�>}���Oho%;@�}Tf�ˎ��ƮN�|�v��E���R]6s�ӊz��Y��g�����_�����R2bu<HK�{���������T>cM�ӷI�6���oS��b׺��Y��Ͱ�I)�Yz�qo�T:��k`Zh/Wnj9���"��{���"���?U��2���0y�S(.Wǎ�Ô_��:���t�y�km�5���;�z��� ���I)2�t$�������������c�b����Y�6�ކ��U��I������c]�i^/�ho5���t۩���|]~��1���6�i���iF{�Y�k���<��5���Z+���X׷*�����A����s�e �_�w�*�wt~��9�a�I��L�ͩ.+꩙�H��;��2��Mx��o.�tP��e��nBt��k�uǺ����Vw�v;w��O����S��<�(Y��ܗ� ���5^뚳�YA}����[���=giI`����-�]2��4g�qA]}����k�,�l��6 8�4��v�������#�5����z.2�W_��\��h�v#qO2�`�͆X_�,�M�ְvŬ�pk��Փ~�9�P�8M����Y�W_�j�^�O��׃����d��.��,S��x�������B�Lk�����x���j١��͢JF��`���>�0a�J�W�����$�_�{���2�Z͟�ޟo�\�$y��ضj��Y��6�<t���O֣ؗi�2�t�/0S�49V7���L���*>�XW�����鿃$/�9����Fn���3_d��[�y�k�^ߜ���i�v�e���Z�ӱ��Y�� �ږ�T>��X�_m��%9���]0F���c ���J�w?�X������JG����Yʂ����/��.��eꃜ���g� a��W�Bd]^^02�A�TF��y��4�[�{����-�3W��G�ۦH�wt��l4�M���\�a�R;��~��NG~�f�麾u��U=SL{ԧ]�_��z�j�����Ƽ�MgI~3���ߟfwkqO#X�����ҽ
��"��4��7y���$�ـ��?5���@�,�� Z��)Ի�0���:�X}/�U�ni��3�@�4�2�T>���Q߻�7I �R�R����`FJ����i���f�����$��_��[�8���R>����K��x���_��˗����է)�_�^�u_��e����4��7�:O�$� J�?_�E�{��K����>�]���5tn��<�3oxg���$���GI����0�&J���s� �V���Ğ�1�I� L��O �\$��s���6Uz�fw�M;gOa]8�,=Ky�����$�:�1���i�_ӏj#���2݃�/ �o���FMǾ��I���ͣ�0�������$/�.��<�yʁ=�,}�����u�u��f�z��)�����$�9/���{J��ˌw-p�)������4H��}�f�����7I����ϓ�I��W����i����\�2`��t��$�����$���:J�n�)��ew�J�<��s�~��z檯��y��}��8�;[kE?|~ت�&���=e�/W߳ �ir�޵A�����\wm4�|�}�C�-b
�T�@���`d~?��������>K��"���^$y�����[���<X��B�+s�kn�#�������uuMES�����ܨ��[���gC4��Ô�c9����H�:���.��4giɃmI�W�Q�̱�Rv��/C4����~죿s����S>��u���\��T�E��媍�n�����7�.9��<�����`�:��_w����e���<����5��\����o(mF��>����z��� `�~��ؿ��{k�&v �K-b�����o(���v����3>^}��3���X�?�g�p��*��V��}(�r�6��U.�)�c��y� �,�� j���30��-�� ͮ��r��a��ԭ{[�<^v����:ֺ<��>���������oHi~W�*�<O���'��u������$��y�[M�\k��,�n��7�5�'ټy�T��������m󗒩���P���u��»L������η�������ڞ �ƶ�z��AI���u}ӱ��꘮ �Y�l�'�u�5Gs�>�>����:���c����4e�%�?,��e�����4gi��7Gs�����([�|�H���6�½�JG��I^��G����:��!�)�z:D�����o��_�JGJ����"�_Č�Zؠ����J��&�j�y�Z}�6�٭��z.S7�3T���>��.�>��ԯ�)8I�3���c�3�䕮�\��k�����lr���o+�� �q��G������7u������tW`ئ���5�������}
70 y�vg���\�(}���ϿL�?�T����m�֣4�Er��������w�n@�u�~����tp�f��m#+��6�a
�. ��4)f�:oM��>���c_�@ߵ���Lo�`r�n<�"�o�t^xMs2D���R�f��ا���c�`�H�k��@m���97Ks�vM2��ھ��]S��1��o�/+.3��Ӯ��Sٸ `2S�s����0�7��ʔ�>��%�b鋑��I���C4v�u})7�`�dd�"��&�yʂ�eʦBwY�y��*����+ >��<H�5}>@{���i�~-R~����&���l��u���^���JC�u�=��ܛ���:w�&�_�^mFM���庣��W�1�2uk#i\��*�;M@W�w_��J��.��`;F5; /����Y9L��4ͬ���?�t��l쵌�0[Q;*1��>���c��4u�4�QFƫfV�2��e���C7`jӻH�GI~��|ʯ���}?۝ҽX��Y�R�\����s2бɛ�����S7
������㙆]}~�� �۱H󠼩���/�M~�g���6�w������ɮ?���D�.З�I�Z�TR�*�� tin�.ul����?�@s�>�E��0[�@l�A�̬���uӨ�ܞ%���nJU�iT_9�K����� �歯��d�Tp;����4Й���]K��ݙKv���b��A���K�kZ� ����○/��hؑ�����|��J�Q��5��
��M����{J�F��k�Lins~/z���o���Nj����a�e��ш�)x^��Zšu���K�"ɓ �}��"}��M��C��aŹ��!ᅮ�=�,��o 0 �4#z���k ��jwv}ҡ�MAh���ݧ�ʶ��W���$��=I3B�~��w��w��U{̮���� ���4�)��=H�_�* ��4S�?�E��N��H�"���5ls��"ɻ�z�r�&���`-ڎ�U��N�s�?z��ʡ�@?H�� ��e�FM����i����5S���5���Ἳ������`����NI
�u9+���|���߬��Dߛ��ms� ���8N�������U��_���?�LIn�eʦ����]�l���l�g�%�SIىw%/|���[s�����`u LKs�v��[��e�z�I�(����+��*0�_I��r��}���3�6��f�`����){Pߴf�򬠾>���v�A�+�]�l�C���>���E�@i����{n��|=h+����{ν�|ZXg���L��T�)o��Ӕ�������w׆�?��:��i���,�C�.FVNV�>�U�u��%ӟץt����;_�����V[:�y]���E���u������wW��?���@q���5�b�H�ԧ9�}�0So���_ t�.�||_�Y��*M0s�&�ӏ��|���9_�*�ΫU�?�<��;�:�Y<�)�5k�/hoWm�o+�k���/R�Sr�h���:�D�@�������"�SH���w�>����R����Zꋔ������2�������������AZ�^Iz���|- L ��+7�2�9��H�@K%�NM`է����w�-�ݺ$0-�]�qA]�6b?�}��RMʠ�`�Om����I�9W�Ϫ���5k�_^�a��J~޾�?h�d��Le�q�N3�ѰE�N�t[�Y2}�z)݁z�fc��������@��=J7�Z���hJiF7O2�\�5���৭MAT����=L���8F,K�?��w�n{� ɻ���q��L'?$۷HsO���We���<��(�i�{}��`��}y����Jm�i����<�e�o��<�7��$?�n�]���w=r=ƿSH�t�٪PF���}�k�2]��I^dz�II��M�T~�ź��}�4M��ԭ_��]�2����Lo���~Ԍ�v�]�ZgYq}@��]~ŋȟ�/�����Á�X��Ǘ��>7�����$_�]��iaCl����ק>�~��̼L�~��ܨ#LD���<�Q����w�M�<��=�y�_��L��+���5�ʺ��R����K_?J7�*�/JgLa7m eo֧�`F�ґ�1�)�) L��}* @�UX�:}�}���G����EEɋ���
{�&僷��t��{�f]䮵ɉzW��=����{)�� �|ڡ���u�u����i��2W�����<�[� {�˃߶������V�5u٨j��ח2L�g�_m@���ק!�~ܗ�u�fTz�)s����[& �V����Z���>8�Ǥ����~����O�����I�����z������ �J���y��i���iF�����\MY���چu �(W����z�H+�w��ZMk��<Վf�q4��k�c���4/��\q�y��m�=�����������z@����o�f�ぎe�j��+�=J�,��z��Z�4К6%��d����_U�'[i�v�y�ݴH�fk���bU^$y��]���c��wӮ~��Ԭ���H �;J�=Q���~ȼ���|4�$�M��!�oNj6VZ�޶����;���yk� ���Ǯ�o����J��.o�G���[O�+�'Jw1�J�4�J�.���>�����)��T� t���ֺ��HYW���fC�>��k}���)y0�>o%������z[)ɍZ�۳�A������RT=��-�y���������~��}����:b�A}?t}�-yP��.\2-�k����>�o�>O���`�fv����6W��R2-y�?�꿾�״�w����+2~m�m�hK�×�~�K�(ȣ�{`����G��ك��Ц��@m,���{����&�zUxMs���g� ����qn8��?���(w?�>O3�����mSjR���ڳlwte���N�|�����$� ״b��5�j7�y�3��}��P���[�yp?����џ�4��ũ��bKm8LsM}L)�v�훓4S�ݐ-�~�m㾨ٙy��|��������?��yg����#)o����e�o[�/v�lU#)��IDAT�`Ԧ�R紵H�n���0����k�����a��+i����>c���1���G��a��N�p�����8�#�5����u&ͨ� �}�iL������3]rm�,SYS׵ z^�lJtI
�u)�}����i�c������`�tM��.SH�7u���e���ґžR��} |_�������A�T�^��ܼ˔M�]���zM�2����K���K]v^}:P�FMʛ����iĝ�, �ItRP_���5����}��1��t��5#~�?�YKZ����]��u~���5tz��U���:�u���KC9L����?O]���L�sԮ��=O]z��4)�J��튺�������?z��<{��/c��hh���e���k�i9@{`o=ΛyK_�����|��%��$_ܨ�"�϶XO���98H]�8���5�Oh/��t�M�I��B]ϒ|sO]_dZ��}�ߜ���Y��[�7]�:MaTf��TԚ����ĩ��]�g��M��~��1�|-I�.6t�*�YZ2�V���$���}���䖝B�X�ti�\���隯
��ua]5;�Z��7W]GL�(v ��<� �q����(f����Q�����|���4� ���]���i�c��o�t[�����1N�����"M�{[ �<��|�ǹ�E�y�Л�<�O;��ie]c ��}s���2����5@'� �r��{�<�����p���4銒�lU>�E��oߜg��#�/ �f�˔�*�*u_~ޗ�
�K��T:Ky�ej�Êz�,��.o�N�����5ͺ�qA]QX�u���-Y�Y�SH�0+�9�AA]�{a]]�E�<�]�y��;�;�#�+����{PQO׍�jr�L�^�}?^�.��( �鶉S�T�u����R35�q�s�:� �^�������ۨ묇�T�8Mn��4#އiF|�ҌbK���{�� ����i���V��e�pM=]G��`��{=�u�W;�A����]�l�䵚u�]��֬�]����ӊz�2J{��Y����e��ݩ��I^�;z���-y�䗹?h�eʧ�^�8�6FekF�/;^ӓ���t�km^&�J�f[�4A�}u=���@�I�N������S������]�Z'un�}D�kp_wM%U�B
/�=x{YPOi`Z(���9s�MA]����>�����%��S=F惔�`�����:]G�KF0kF�ǜ��<e����5��F�d�w]JF��&pi`=.<�u���]��RL�q p�ꋎuͱ����٘�����iFho—i�����n�C�浞��P��t��@�E���@g��6,Ҍ:����`U׶6QC�m�<�����@'�$�y_�"��-�$u��s��I�Uql��$��UPz��g����]8_�m�,�i�>�b;����|���Ћ�lN��*۝Z;��|���zOҬ���S���<���|���Q�1U�Q�9�L��C7h�$ɋl�F{�f㦒݋��_�|�"����lp�3�5#ջ�UӮOz�k��;U2b%�J�A�F�~����]ח����"ɿK�������J�w�\��>ϸ�vb��Si�X��d��>r�ˏ�.��$�_�_�����H�\��i�J�.y��^j������<�s�,���Yag�Y��!�Ĝ�ô�=M]@��%�% �-��l��4S���_���T��i�f�x��~�-��/����0�G��3�5�0yo �`��Q9O��ؖ9x��w���h���&z���3Gi6�*��3��}��s�Z� ͈�٪l3���F]�U��Hc���U\�ީX�����lg�j�:ϛSl�����4� ��t�&U�;z�����.n9g�2�u��?�7OR���Z;Gi�(��g��Zޤ$�ͺ�u�_�Л���c ���5�Ti
��`q�kL�����$�2�v�d'�TH%�e�(����t �γ�����8�#�%�����N!Pt���/_�<���!ְ���q��e���zw��w�=Mو�� ���"M}v��i��û5�0����X�/J��uٖ��od��0"%�R����`���;TĎ9=���լ�9z�H�W�>���2�5�{�00w���1�����$�Yp�ofZyzhA �YM�ݩ��`դAz5@{ءw�n��ld��-�� Ƀ$������i�G�k� -��8��-�}������')��y��ߛ��H����<.�=�Xdz���7��?)�g�v#�7�q�e��i6�j���lj��u\/���i�>My0z���ۜn w:N������端�LE>Hy�LrRQ7l�����l�U�������C�I��ft�`���4k<:T��������$��j*����4�����lq{�����f�t��A�{yӹTxn`�I^���Rа-�)�K^��}ڥ���4���HA�0J���s�Y�ect��D`��<I�{�4�p�=�S���9K�����<� N�Rv��<�]S��(
�I �^��8���=�N���m
�ޒ��8��[6�#4��<�=u�*i�U9�8w��z�f�.��#����ض�4�涃M�*@���nl�Y��5#rЧ�{���0Y`��2�g�
���{��4�`⺦���/L�y�������-R�
I
$��$�=03�ٜ~�fy<L3��㴿�/�E��a� �L����|��_i�`�NҤ�� ��Y)� s�HsO���<�i>�����{k��w�|?�4���ijU�I����(����u~�.؉�$�{��E��.w��� �,���M�؁�i�c�+�9H�e=�
� I�Oל����\��ml�\�d��m�%��2ɋҋ���) J��c��/��b=0���C7��;�8�kP�n�u#f�j��v hk��:`�=0���8�;[k��j� L��];��ؚz�q<0r`v���c/�|VQ�yű����3s��F؊���k
���THv�`k��5#��i�C��뤢.�U���ґ��Ҭ�T�e��-��:L�4�����m{*�$��lp�zO����o ����$�K�߭����|5\s`�N�\$Y�R^&9�iPo��Yn|o� �F�v�v�ﺜ �L(w�n��2�4�! %������ E�R/h/����tTy�i�00tW�
�``��|������ ��(�|����t �O�i&�Y�}�x�6�֜���|[�{��p��ko ����4k|ӌ �� �X9H�1a�`��<Kr�dy��J�a��pM��0��z�v[y��h������'�?x�^q��p�n��z$�tކ����t��I����p���m�f��}��`��� ���EL��0A��T�m����0A��t^y��VZ1]�`"Jv0�^�������o��wl���<IYw4DcGH�L�"�Z�.�ۓAZ:N�`B�>�;��=7�?� Y$y����$'��n��L�[C7��8�V��]+�i������v&�v��"�-�0���O��|�L��ة�$/����$?����9I�W7��$���pM��Ћ6�.����{����$ ���s��x�ni�!��<��O�:�Ћ�t >�#q��6>H���&�C����^,r���6����i�ْ��t�������Qʂ��(ܾ;Iy�}3@{���P���tXq�"M��}���c�J�޶2Q�?�B`�&I ߭<���J+���PH<nI�O���E�gI~���;��$?K��4�$�,ɿȴG�~7�Y�_%�:ɗI�m������_V?u^y��[i�t�����ټ��E�3��^��P�g[��o��|M_� �K���{�컒������H�2�7�����A����E��������q���7�i�e��{)�?���?f�y�=Ж��,IE���k��W���I���z�iv��K���d�ƎГ����ҩ��
����������k����?.��f�~N$�u����AZ:N��?��fy2HK�g) ���3�Êz����]�:�}���C=���<L� ��Lc
~��>~���"�3�AUבŏ*���k��Qe]\y���C�y����<�2f0BG� �w�봲�1�����]S��2���}_��M� tO�|���$F}�:H�>N�t��Q���条0a�$���� �;m����V���$���?J�/lK���߻��S��*�O�|�ú�|{��﨎���I�����wT����e��,�J���<N�*o��J��.n9�Fe�U�U3*�i�⿭8�w7��M�E��N*��;M����9��v�5����e�;�}�fm�mu�2��0w;���ȟe/l��ôK��2�6���뮮��jk�_^��n��o�mC��j����PO�t�.S��{���������8N�^뾺>L]0� ɟ���X|�E���}�W�/�=�H����gI`P�۳$�Ꚃf]Jv1.�-���W�״,���eEI*��9��I�(}�T\%)�ֺ����k�pA0�t}�, Jr{.S6�\2
�e���
���ԳL�iPW��O �*���˂z��� �>(��&������/��#5)oJ��9f���|S�ݠK�֖��tKM����( j��u�k�IY�uĴ���:�}�|����E�2e/{�#�Ӓ�)��4A��=��V~�6#q_�|]iʹ��X�zܒ�e umʥ.ڬ;��t���W�լA���5�Q��� �����=���du���i�Q�m���^�����e��x&�k�����AE=�tI�٬l��w;�U�vI��g�����]�k�P��;�<h.�؎>��ms�e_�W3*�L����Q�e��8=����^�[ʯ9�����vSXL�;;>�a���=H3"u�f�';�{[>I�nű��e4��GI��$���?X��%�ߒ�a�y�Iު8�����r��u�����$����:|o����ʺ>�8v������4�����N���l��Y�B���/3��xOS>�2� g���Ӕ�
��=��T�n�ר�U��ŧ�t�0���+������/��T��������$���Al
�5��}��i���) ������_t��fmi��1�[QO�Q٤Y�]ZW���}��{����vy����:�R�^�������c�M�H�FD�����tOES�[���,S��o�R��aA]%�y�I~ر�I�}A=����J��$Wi�]�y�K�G���t#����ܡt����m�f�j̻Ֆ�.�uT� �O���|��S�KGKKR���SP�ߤl�A��ꬠ��/;�U���A�r�^d�K4�K�v��� �]Ȯ���L �iW����nU����{׀�z�2�8��[k���Y�>���g�5����ח6��ץ4'9�>h.3�)�5yXkv�ݥ�R����B���5��Q�z���g����k�`���U��iS����Лm�A��-9�醿Yq���Vl�?�<�$�G�j~�]�O�n8�[�w��w��4�ߏҌ4��韦u�f*��4k�'W��E��S?r9T���q�~:�����4?���BĮ�w����iZ����x ��Vű���u�p�&���x��\���V���=�����w�~�����ԼN�������חu�u/@O��Z3�8w�^z��Q��)�5��A���v�W���X�Zg�n��ZC���L��c� i���}�?Zz{��L3�S���E�`�Y�~H>J3��~a�jv�-=�$M��V~���.�Y��t�9�]��,M�J���;��B��9�+�q�4P�:�S�N�f��>r����*�1�kPP�[v��; ���}ٱ�d��׷>>�s�?V�3�gu��.��YX�������$PL�^���2|PP�2��Ӯ��}���{^P׫��`�|���t[�HY��Lyj�.#~����u� J�Bw �KF�׺�.������/}~~ֳ�xS�0���t�<�����^�8�ˊ��l�U����L3�_�I��j�����A}�������)�%)���.]� ��5^��]eO�|��G��\}�&m���u���� M�~=��u��.�#�q�&(�>�y��ZM.i�W���/}~~� �N���^���֌�,3�@�fTl�U�o:����Գ,�D��-�������{KR&]W��wWj�4�k����>?��$y���O
����$?H�C�z��U�I���R3����1���mT�o�o���֌6��>g'ټy�E��5LR�.��t�$�f�g�.�}(��x��u�s������o�Ҍ�5�s���l�6��$7�2e�͔n�sx��F�0e�4���})�?�����K
�u{*�>��D���]w]-͙�t��B��50�~�t�������oɋ�1�(��A�r6_Ĭ
`��ɗ�L}~ԃ����(_�|��4/<d^9OY,�F�����}��^5)����`kN��B��m˦���Ls���l�<\���A}��������w��kY����+�(��Vu<L�ϒ�V�iqgw��GiF�iF��3�)��t#iF�����6G����{�nqh}}~�zց�����t��ۅǞ'��[l �V<��L_mj�)M�����6�i:9��\`�0�2M�� �f
40+o���'i6���Y��e��*���Ty؅� V ��mo`�Jw����Jsk/ci 0Rw=�ȍ�u�-�A6+y�d�z`���dN�m��8ܯˋ%3*�Q�� �t�vA��ܿy�T�C�Pڌ�F�.��գ4/q֣W�i����J�Iv����k���V����&�{��OziŴ&�~�����4� ?��o�e p{'��_I��ul�)�;�]c�<�wA}6P�@*���7������]�I%C�ηk�mWT��x����*�q��14}QbQq,;p}��y�G��z�ˮEe�9I�҇�]�<������Öӕ1�[FIEND�B`�
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment