Home

Awesome

��<�!�-�-� �P�R�O�J�E�C�T� �L�O�G�O� �-�-�>� � �<�b�r� �/�>� � �<�d�i�v� �a�l�i�g�n�=�"�c�e�n�t�e�r�"�>� � � � �<�a� �h�r�e�f�=�"�h�t�t�p�s�:�/�/�g�i�t�h�u�b�.�c�o�m�/�o�t�h�n�e�i�l�d�r�e�w�/�B�e�s�t�-�R�E�A�D�M�E�-�T�e�m�p�l�a�t�e�"�>� � � � � � �<�i�m�g� �s�r�c�=�"�m�e�d�i�a�/�l�o�g�o�.�p�n�g�"� �a�l�t�=�"�L�o�g�o�"� �w�i�d�t�h�=�"�1�7�8�"� �h�e�i�g�h�t�=�"�7�1�"�>� � � � �<�/�a�>� � � � �<�h�3� �a�l�i�g�n�=�"�c�e�n�t�e�r�"�>�C�s�v�M�o�l�e�.�N�E�T�<�/�h�3�>� � � � �<�p� �a�l�i�g�n�=�"�c�e�n�t�e�r�"�>� � � � � � �A� �s�o�u�r�c�e� �g�e�n�e�r�a�t�e�d� �C�S�V� �P�a�r�s�e�r� �f�o�r� �.�N�E�T� � � � � � �<�b�r� �/�>� � � � � � �<�b�r� �/�>� � � � � � �<�a� �h�r�e�f�=�"�h�t�t�p�s�:�/�/�g�i�t�h�u�b�.�c�o�m�/�p�i�p�p�i�n�m�o�l�e�/�C�s�v�M�o�l�e�.�N�E�T�/�i�s�s�u�e�s�/�n�e�w�?�a�s�s�i�g�n�e�e�s�=�&�l�a�b�e�l�s�=�&�p�r�o�j�e�c�t�s�=�&�t�e�m�p�l�a�t�e�=�b�u�g��r�e�p�o�r�t�.�m�d�&�t�i�t�l�e�=�"�>�R�e�p�o�r�t� �B�u�g�<�/�a�>� � � � � � ��� � � � � � �<�a� �h�r�e�f�=�"�h�t�t�p�s�:�/�/�g�i�t�h�u�b�.�c�o�m�/�p�i�p�p�i�n�m�o�l�e�/�C�s�v�M�o�l�e�.�N�E�T�/�i�s�s�u�e�s�/�n�e�w�?�a�s�s�i�g�n�e�e�s�=�&�l�a�b�e�l�s�=�&�p�r�o�j�e�c�t�s�=�&�t�e�m�p�l�a�t�e�=�f�e�a�t�u�r�e��r�e�q�u�e�s�t�.�m�d�&�t�i�t�l�e�=�"�>�R�e�q�u�e�s�t� �F�e�a�t�u�r�e�<�/�a�>� � � � �<�/�p�>� � �<�/�d�i�v�>� � � � �<�!�-�-� �G�E�T�T�I�N�G� �S�T�A�R�T�E�D� �-�-�>� � �#�#� �G�e�t�t�i�n�g� �S�t�a�r�t�e�d� � � � �T�h�e�r�e� �i�s� �c�u�r�r�e�n�t�l�y� �n�o� �p�a�c�k�a�g�e� �o�n� �N�u�G�e�t�,� �b�u�t� �y�o�u� �c�a�n� �c�l�o�n�e� �t�h�e� �r�e�p�o� �a�n�d� �b�u�i�l�d� �t�h�e� �p�r�o�j�e�c�t� �y�o�u�r�s�e�l�f�.� � � � �<�p� �a�l�i�g�n�=�"�r�i�g�h�t�"�>�(�<�a� �h�r�e�f�=�"�#�r�e�a�d�m�e�-�t�o�p�"�>�b�a�c�k� �t�o� �t�o�p�<�/�a�>�)�<�/�p�>� � � � �<�!�-�-� �U�S�A�G�E� �E�X�A�M�P�L�E�S� �-�-�>� � �#�#� �U�s�a�g�e� � � � ��c�s�h�a�r�p� � �/�/� �D�e�f�i�n�e� �y�o�u�r� �p�a�r�s�e�r�.� �M�a�k�e� �s�u�r�e� �t�h�e� �c�l�a�s�s� �a�n�d� �m�e�t�h�o�d� �d�e�f�i�n�i�t�i�o�n�s� �a�r�e� �p�a�r�t�i�a�l�.� � �[�C�s�v�P�a�r�s�e�r�]� � �p�u�b�l�i�c� �p�a�r�t�i�a�l� �c�l�a�s�s� �C�u�s�t�o�m�P�a�r�s�e�r� � �{� � � � � � �p�u�b�l�i�c� �p�a�r�t�i�a�l� �I�E�n�u�m�e�r�a�b�l�e�<�C�u�s�t�o�m�M�o�d�e�l�>� �P�a�r�s�e�(�S�t�r�i�n�g�R�e�a�d�e�r� �s�t�r�i�n�g�R�e�a�d�e�r�,� �C�s�v�O�p�t�i�o�n�s�?� �o�p�t�i�o�n�s�)�;� � �}� � � � �/�/� �D�e�f�i�n�e� �y�o�u�r� �m�o�d�e�l� � �[�C�s�v�D�e�l�i�m�i�t�e�r�(�"�,�"�)�]� �/�/� �I�f� �y�o�u� �d�o�n�'�t� �d�e�f�i�n�e� �t�h�i�s� �a�t�t�r�i�b�u�t�e�,� �i�t� �w�i�l�l� �d�e�f�a�u�l�t� �t�o� �"�,�"� � �p�u�b�l�i�c� �s�e�a�l�e�d� �c�l�a�s�s� �C�u�s�t�o�m�M�o�d�e�l� � �{� � � � � � �[�C�s�v�O�r�d�e�r�(�0�)�]� � � � � � �p�u�b�l�i�c� �s�t�r�i�n�g� �I�d� �{� �g�e�t�;� �s�e�t�;� �}� �=� �n�u�l�l�!�;� � � � � � � � �[�C�s�v�O�r�d�e�r�(�1�)�]� � � � � � �[�C�s�v�C�o�n�v�e�r�t�e�r�(�t�y�p�e�o�f�(�C�s�v�D�a�t�e�T�i�m�e�C�o�n�v�e�r�t�e�r�)�)�]� � � � � � �p�u�b�l�i�c� �D�a�t�e�T�i�m�e�?� �D�a�t�e� �{� �g�e�t�;� �s�e�t�;� �}� � �}� � � � �/�/� �U�s�e� �y�o�u�r� �p�a�r�s�e�r� � �v�a�r� �c�s�v� �=� �"�I�d�,�D�a�t�e�\�n�1�,�2�0�2�1�-�0�1�-�0�1�"�;� � �v�a�r� �s�t�r�i�n�g�R�e�a�d�e�r� �=� �n�e�w� �S�t�r�i�n�g�R�e�a�d�e�r�(�c�s�v�)�;� � �v�a�r� �p�a�r�s�e�r� �=� �n�e�w� �C�u�s�t�o�m�P�a�r�s�e�r�(�)�;� � � � �v�a�r� �m�o�d�e�l�s� �=� �p�a�r�s�e�r�.�P�a�r�s�e�(�s�t�r�i�n�g�R�e�a�d�e�r�,� �n�u�l�l�)�;� � � � �f�o�r�e�a�c�h� �(�v�a�r� �m�o�d�e�l� �i�n� �m�o�d�e�l�s�)� � �{� � � � � � �C�o�n�s�o�l�e�.�W�r�i�t�e�L�i�n�e�(�m�o�d�e�l�.�I�d�)�;� � � � � � �C�o�n�s�o�l�e�.�W�r�i�t�e�L�i�n�e�(�m�o�d�e�l�.�D�a�t�e�)�;� � �}� � �� � � � � � � � �<�p� �a�l�i�g�n�=�"�r�i�g�h�t�"�>�(�<�a� �h�r�e�f�=�"�#�r�e�a�d�m�e�-�t�o�p�"�>�b�a�c�k� �t�o� �t�o�p�<�/�a�>�)�<�/�p�>� � � � � � � � �<�!�-�-� �C�O�N�T�R�I�B�U�T�I�N�G� �-�-�>� � �#�#� �C�o�n�t�r�i�b�u�t�i�n�g� � � � �C�o�n�t�r�i�b�u�t�i�o�n�s� �a�r�e� �w�h�a�t� �m�a�k�e� �t�h�e� �o�p�e�n� �s�o�u�r�c�e� �c�o�m�m�u�n�i�t�y� �s�u�c�h� �a�n� �a�m�a�z�i�n�g� �p�l�a�c�e� �t�o� �l�e�a�r�n�,� �i�n�s�p�i�r�e�,� �a�n�d� �c�r�e�a�t�e�.� �A�n�y� �c�o�n�t�r�i�b�u�t�i�o�n�s� �y�o�u� �m�a�k�e� �a�r�e� ��g�r�e�a�t�l�y� �a�p�p�r�e�c�i�a�t�e�d��.� � � � �I�f� �y�o�u� �h�a�v�e� �a� �s�u�g�g�e�s�t�i�o�n� �t�h�a�t� �w�o�u�l�d� �m�a�k�e� �t�h�i�s� �b�e�t�t�e�r�,� �p�l�e�a�s�e� �f�o�r�k� �t�h�e� �r�e�p�o� �a�n�d� �c�r�e�a�t�e� �a� �p�u�l�l� �r�e�q�u�e�s�t�.� �Y�o�u� �c�a�n� �a�l�s�o� �s�i�m�p�l�y� �o�p�e�n� �a�n� �i�s�s�u�e� �w�i�t�h� �t�h�e� �t�a�g� �"�e�n�h�a�n�c�e�m�e�n�t�"�.� � �D�o�n�'�t� �f�o�r�g�e�t� �t�o� �g�i�v�e� �t�h�e� �p�r�o�j�e�c�t� �a� �s�t�a�r�!� �T�h�a�n�k�s� �a�g�a�i�n�!� � � � �1�.� �F�o�r�k� �t�h�e� �P�r�o�j�e�c�t� � �2�.� �C�r�e�a�t�e� �y�o�u�r� �F�e�a�t�u�r�e� �B�r�a�n�c�h� �(��g�i�t� �c�h�e�c�k�o�u�t� �-�b� �f�e�a�t�u�r�e�/�A�m�a�z�i�n�g�F�e�a�t�u�r�e��)� � �3�.� �C�o�m�m�i�t� �y�o�u�r� �C�h�a�n�g�e�s� �(��g�i�t� �c�o�m�m�i�t� �-�m� �'�A�d�d� �s�o�m�e� �A�m�a�z�i�n�g�F�e�a�t�u�r�e�'��)� � �4�.� �P�u�s�h� �t�o� �t�h�e� �B�r�a�n�c�h� �(��g�i�t� �p�u�s�h� �o�r�i�g�i�n� �f�e�a�t�u�r�e�/�A�m�a�z�i�n�g�F�e�a�t�u�r�e��)� � �5�.� �O�p�e�n� �a� �P�u�l�l� �R�e�q�u�e�s�t� � � � �<�p� �a�l�i�g�n�=�"�r�i�g�h�t�"�>�(�<�a� �h�r�e�f�=�"�#�r�e�a�d�m�e�-�t�o�p�"�>�b�a�c�k� �t�o� �t�o�p�<�/�a�>�)�<�/�p�>� � � � � � �<�!�-�-� �L�I�C�E�N�S�E� �-�-�>� � �#�#� �L�i�c�e�n�s�e� � � � �D�i�s�t�r�i�b�u�t�e�d� �u�n�d�e�r� �t�h�e� �M�I�T� �L�i�c�e�n�s�e�.� �S�e�e� ��L�I�C�E�N�S�E�.�t�x�t�� �f�o�r� �m�o�r�e� �i�n�f�o�r�m�a�t�i�o�n�.� � � � �<�p� �a�l�i�g�n�=�"�r�i�g�h�t�"�>�(�<�a� �h�r�e�f�=�"�#�r�e�a�d�m�e�-�t�o�p�"�>�b�a�c�k� �t�o� �t�o�p�<�/�a�>�)�<�/�p�>� � �