JezK
Edit File: autorules.2158dfd92b0b4e8bf38140c0dadb8b66614c8047f4a02852a57f6e47dd6076ee.srule
j@ �%zW � � K � w � � � � � � � � � j � C uuuuL|ELooo�i�9��F�#b�\��g��g��g��o��o��o��o��o��-�>��>��>��c��c��c�5�m������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������"��c��c��c��g��g��g��g�c,���������� "7`"�k�v�� �� �� �� �'���h�b,�����������h)��'�&�&�&�'�'�'��4�4�4� �;������ ����K��@��S��R̄S��Q��J��^��O��M��E��R��R��S��S��S��C��G��G���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� ���� ��� ��� ��� ����������������������������������������������������������������������� ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ �������������������������������������������p��������W��W��W��W��W��W��W��W��W��W��W��G��G��G����@��@��@�W��W��W��W��G�G�G��#���w��gu^Lg^Lg^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !^ !