Mini Kabibi Habibi

Current Path : C:/Users/ITO/AppData/Roaming/Zoom/bin/
Upload File :
Current File : C:/Users/ITO/AppData/Roaming/Zoom/bin/clDNN64.dll

MZ����@��	�!�L�!This program cannot be run in DOS mode.

$�B+�#ES�#ES�#ES�KFR�#ES�K@Rh#ESyRAR�#ESyRFR�#ESyR@RI#ES�KAR�#ES�KDR�#ESR}DR�#ES�#DS#ES_Q@Rd"ES_QER�#ES_Q�S�#ES_QGR�#ESRich�#ESPEd��^�`�" B$�.p���SÙS`A��MT4Nd�R�@Ql��R�_Spz@XGTZG(�XG8`$�.text�@$B$ `.rdata(�)`$�)F$@@.data� N��M@�.pdatal�@Q��P@@_RDATA��RxR@@.rsrc��RzR@@.relocpzS||R@BH��H�XH�pH�x UH��8�H���H�t$8D�^�L�\$0��%�D$ ��%f�D$(3�@�|$*H�t$XL�\$P��%�D$@��%f�D$H@�|$JH�t$x�N�H�L$p�D$`gold@�|$dH�u��^�H�]����%�E����%�E�@�}�H�u�H�M��E�blue@�}�H�u�H�M��E�cyan@�}�H�u�H�]�z�%�E�u�%�E�@�}�H�uH�]�d�%�E�_�%�E@�}H�u8D�V�L�U0�J�%�E �D�%f�E$@�}&H�uX�N�H�MP�1�%�E@�.�%�EH�(�%f�EL@�}NH�uxL�]p��%�E`��%f�Eh@�}jH���H������%�����%���@���H���D�N�L����ѧ%����˧%���@���H���L������%������%���@���H���L������%������%���@���H��H���l�%���d�%��@��H��8H��0�I�%�� �C�%��(�:�%f��,@��.H��XD�F�L��PH�cornsilkH��@@��HH��x�V�H��p��%��`��%f��d�ۦ%��f@��gH���L������%������%���@���H���HDž����%������%���@���H���L���H�deeppinkH���@���H����N�H����K�%����D�%f����9�%���@���H��H����%����%f���
�%��@��H��8L��0��%�� ��%f��(@��*H��XL��P�ƥ%��@���%��H@��IH��xH��p���%��`���%f��h���%��j@��kH���H����v�%����o�%f����d�%���@���H���L����G�%����A�%���@���H���L����&�%�����%f���@���H���L�����%������%���@���H��H����%���ۤ%f���Ф%��
@��H��8L��0H�honeydewH�� @��(H��XH��P���%��@���%f��D�{�%��F@��GH��xL��p�Z�%��`�T�%��h@��iH���L����7�%����.�%f���@���H���H�����%�����%���@���H���H�����%�����%���@���H���H���@���H�£%H�����A�H��H��@��H���%H���A�H��0H��8@�� H���%H�� �A�H��PH��X@��@H�w�%H��@�kA�H��pH��x@��`H�^�%H��`�BA�H���H���@���H�E�%H����A�H���H���@���H�,�%H�����@�H���H���@���H��%H�����@�H���H���@���H��%H����@�H��H��@��H��%H���u@�H��0H��8@�� H�Т%H�� �L@�H��PH��X@��@H���%H��@�#@�H��pH��x@��`H���%H��`�?�H���H���@���H���%H�����?�H���H���@���H�l�%H����?�H���H���@���H�S�%H����?�H���H���@���H�6�%H����V?�H��H��@��H��%H���-?�H��0H��8@�� H���%H�� �?�H��PH��X@��@H�ߡ%H��@��>�H��pH��x@��`H���%H��`�>�H���H���@���H���%H����>�H���H���@���H���%H����`>�H���H���@���H�s�%H����7>�H���H���@���H�Z�%H����>�H��H��@��H�A�%H����=�H��0H��8@�� H�(�%H�� �=�H��PH��X@��@H��%H��@�=�H��pH��x@��`H���%H��`�j=�H���H���@���H��%H����A=�H���H���@���H�̠%H����=�H���H���@���H���%H�����<�H���H���@���H���%H�����<�H��H��@��H���%H���<�H��0H��8@�� H�h�%H�� �t<�H��PH��X@��@H�K�%H��@�K<�H��pH��x@��`H�.�%H��`�"<�H���H���@���H�
�%H����;�H���H���@���H��%H�����;�H���H���@���H�ϟ%H����;�H���H���@���H���%H����~;�H��	H��	@��	H���%H��	�U;�H��0	H��8	@�� 	H�x�%H�� 	�,;�H��P	H��X	@��@	H�_�%H��@	�;�H��p	H��x	@��`	H�F�%H��`	��:�H���	H���	@���	H�-�%H���	�:�H���	H���	@���	H��%H���	�:�H���	H���	@���	H���%H���	�_:�H���	H���	@���	H�ޞ%H���	�6:�H��
H��
@��
H���%H��
�
:�H��0
H��8
@�� 
H���%H�� 
��9�H��P
H��X
@��@
H��%H��@
�9�H��p
H��x
@��`
H�b�%H��`
�9�H���
H���
@���
H�A�%H���
�i9�H���
H���
@���
H��%H���
�@9�H���
H���
@���
H��%H���
�9�H���
H���
@���
H��%H���
��8�H��H��@��H�͝%H����8�H��0H��8@�� H���%H�� �8�H��PH��X@��@H���%H��@�s8�H��pH��x@��`H�~�%H��`�J8�H���H���@���H�a�%H����!8�H���H���@���H�@�%H����7�H���H���@���H�#�%H�����7�H���H���@���H��%H����7�H��H��@��H��%H���}7�H��0H��8@�� H�Ȝ%H�� �T7�H��PH��X@��@H���%H��@�+7�H��pH��x@��`H���%H��`�7�H���H���@���H�m�%H�����6�H���H���@���H�L�%H����6�H���H���@���H�+�%H����6�H���H���@���H�
�%H����^6�H��
H��
@��
H��%H��
�56����
H�� 
��H�� 
�&�H�Û%H�� 
�6�H���%H��@
��-�H���%H��`
��-�H���%H���
��-�L���
H�T$ H���
�_���
L���
H���
H�
v�P�u_�L�
AO�VD�FeH�L$ �sH�
�$L��$�I�[I�s I�{(I��]��y������������H��(H�
�P��H�
�!$H��(�y@UH��$����H��@E3�D�\$0A��L�D$8D�\$@L���%L�T$HL�
ԳL�L$PH�D$HH�E�D�]�A�P�H�U�D�]�L�U�L�M�H�E�H�E؍J��M�L�E�D�]�L�U�L�MH�E�H�E0�M8H�U@D�]HL�UPL�MXH�EPH���A�K���L���D���L���L���H���H������H���D���L��L��H��H��8H�D$0H�D$ H��@H�D$(H�L$ �v��L�
���XD�B�H�L$0�qH�
� $H��@]�Gx�������H�t$H�|$UAVAWH��H���e�H�E��e�L�=4�%L�5m�L�}���L�u�H�U�H�E�H�M�H�u����e�H�E��e��~�H�U�H�E�H�M�L�}�L�u�H�}��S��e�H�E�H�U�H�E�H�M�L�}�L�u��E�H�u��'��e�H�E�H�U�H�E�H�M�L�}�L�u��E�H�}����e�H�E�H�U�H�E�H�M�L�}�L�u��E�H�u�����e�H�E�H�U�H�E�H�M�L�}�L�u��E�H�}���H�
H$L��$�I�s(I�{0I��A_A^]��v�����������L�d$L�|$UH��H���e�H�E�L�%��%H�E�L�=Q�L�e�H�U�L�}�H�M��E�H�E���a��e�H�E�H�U�H�E�H�M�L�e�L�}��E�H�E���1��e�H�E�H�U�H�E�H�M�L�e�L�}��E�H�E����e�H�E��e�H�U�H�M�H�E�L�e�L�}�H�E������e�H�E��e�H�U�H�M�H�E�L�e�L�}�H�E�����e�H�E��e�H�U�H�M�H�E�L�e�L�}�H�E��z�H�
$L��$�M�cM�{ I��]�u������H�\$H�t$UWATAVAWH��H��H�E�E3�L�=��%H�E�L�5�L�}���L�u�H�U�D�e�H�M�H�u�D�e��H�E�L�}��~�H�E�H�U�L�u�H�M�D�e�H�}�D�e���H�E�L�}��_�H�E�H�U�L�u�H�M��]�H�u�D�e��H�E�L�}�H�U�H�E�H�M�L�u��]�H�}�D�e��z��]�H�E�A�\$H�E�H�U�H�]�H�M�L�}�L�u�D�e��M�H�E�L�}�H�U�H�E�H�M�L�u�D�e�H�]�D�e��$�H�E�L�}�H�U�H�E�H�M�L�u��]�H�u�D�e��H�E�L�}�H�E�L�u�H�U��]�H�M�H�}�D�e���H�E�L�}�H�U�H�E�H�M�L�u��]�H�]�D�e��H�
q$L��$�I�[8I�s@I��A_A^A\_]�s�H�t$H�|$UAVAWH��H���e�H�E��e�L�=��%L�5mL�}���L�u�H�U�H�E�H�M�H�u���e�H�E��e��~�H�U�H�E�H�M�L�}�L�u�H�}��S�e�H�E�H�U�H�E�H�M�L�}�L�u��E�H�u��'�e�H�E�H�U�H�E�H�M�L�}�L�u��E�H�}���e�H�E�H�U�H�E�H�M�L�}�L�u��E�H�u����e�H�E�H�U�H�E�H�M�L�}�L�u��E�H�}��H�
H$L��$�I�s(I�{0I��A_A^]�[r�����������H�t$H�|$UAVAWH��H���e�H�E��e�L�=\�%L�5�,L�}���L�u�H�U�H�E�H�M�H�u���+�e�H�E��e��~�H�U�H�E�H�M�L�}�L�u�H�}���+�e�H�E�H�U�H�E�H�M�L�}�L�u��E�H�u��+�e�H�E�H�U�H�E�H�M�L�}�L�u��E�H�}��k+�e�H�E�H�U�H�E�H�M�L�}�L�u��E�H�u��?+�e�H�E�H�U�H�E�H�M�L�}�L�u��E�H�}��+H�
$L��$�I�s(I�{0I��A_A^]�p�����������H�
��P�8����H�t$H�|$L�t$ UH��H���e�H�E�L�5g�%H�E�H�5�LL�u��H�u�H�U��}�H�M�H�E���K�e�H�E�H�U�H�E�H�M�L�u�H�u��}�H�E���K�e�H�E�H�U�H�E�H�M�L�u�H�u��}�H�E��_K�e�H�E�H�U�H�E�H�M�L�u�H�u��}�H�E�A�3K�e�H�E�H�U�H�E�H�M�L�u�H�u��}�H�E��K�e�H�E�H�U�H�E�H�M�L�u�H�u��}�H�E���JL��$�I�sI�{ M�s(I��]���H��(H�
-�P�cH�
�$H��(�poH�t$L�t$UH��H���e�H�E�L�5<�%H�E�H�5�|L�u�H�U�H�u�H�M��E�H�E���1w�e�H�E��e�H�U�H�M�H�E�L�u�H�u�H�E���wL��$�I�sM�s I��]������������H�t$H�|$L�t$ UH��H���e�H�E�L�5��%H�E�H�5��L�u��H�u�H�U��}�H�M�H�E�����e�H�E�H�U�H�E�H�M�L�u�H�u��}�H�E�����e�H�E�H�U�H�E�H�M�L�u�H�u��}�H�E�軉�e�H�E�H�U�H�E�H�M�L�u�H�u��}�H�E�A菉�e�H�E�H�U�H�E�H�M�L�u�H�u��}�H�E��c��e�H�E�H�U�H�E�H�M�L�u�H�u��}�H�E��7�L��$�I�sI�{ M�s(I��]���H��(H�
��P��H�
�$H��(�`mH�t$H�|$UAVAWH��H���e�H�E��e�L�=$�%L�5�L�}���L�u�H�U�H�E�H�M�H�u����e�H�E�H�U�H�E�H�M�L�}�L�u��E�H�u�����e�H�E��e��~�H�U�H�E�H�M�L�}�L�u�H�}����e�H�E�H�U�H�E�H�M�L�}�L�u��E�H�}����e�H�E�H�U�H�E�H�M�L�}�L�u��E�H�u��S��e�H�E�H�U�H�E�H�M�L�}�L�u��E�H�}��'�H�
�$L��$�I�s(I�{0I��A_A^]�l�����������H��(H�
��P��H�
�$H��(��kL��H���d$0H�"�%I�C�H��'I�C�I�C�I�C�I�C�I�C�I�C�I�C�I�K���L�
��HD�B�H�L$0�eH�
x$H�Ĉ�lk������������H�t$L�d$UAVAWH��H���e�H�E��e�L�%��%L�=�LL�e�A��L�}�H�U�H�E�H�M�L�u��zJ�e�H�E�H�U�H�E�H�M�L�e�L�}��E�L�u��NJ�e�H�E�H�U�H�E�H�M�L�e�L�}��E�!L�u��"J�e�H�E��e�A�v�H�U�H�E�H�M�L�e�L�}�H�u��I�e�H�E�H�U�H�E�H�M�L�e�L�}��E�H�u���I�e�H�E�H�U�H�E�H�M�L�e�L�}��E�!H�u��I�e�H�E�H�U�H�E�H�M�L�e�L�}��E�L�u��qI�e�H�E�H�E�L�e�L�}��E�H�u�H�U�H�M��EIH�
$L��$�I�s(M�c0I��A_A^]�i�H�\$H�|$UH��H���e�H�E�H�=��%H�E�H���H�}�H�U�H�]�H�M��E�H�E�����e�H�E�H�U�H�E�H�M�H�}�H�]��E�H�E������e�H�E�H�=��%H�E�H���H�}�H�U�H�]�H�M��E�H�E���G��e�H�E�H�U�H�E�H�M�H�}�H�]��E�H�E����H�
8$L��$�I�[I�{ I��]�h���������������H��(H�
�P�,�H�
I$H��(�ph@UH�l$�H����E�H�E���e�H���%H�U�H�
-
H�M�H�E�H�E��E�H�E��eH�UH�MH�EH�EOH�E�H�E�H�EWH�E�H�M���L�
-��XD�B�H�M��{aH�
�$H���]��g�������H��(H�
5�P�<|H�
�$H��(�g@UH��$����H��@E3�D�\$0A��L�D$8D�\$@L��%L�T$HL�
ēL�L$PH�D$HH�E�D�]�A�P�H�U�D�]�L�U�L�M�H�E�H�E؍J��M�L�E�D�]�L�U�L�MH�E�H�E0�M8H�U@D�]HL�UPL�MXH�EPH���A�K���L���D���L���L���H���H������H���D���L��L��H��H��8H�D$0H�D$ H��@H�D$(H�L$ �b��L�
��XD�B�H�L$0�_H�
�$H��@]�Gf�������@UH��$����H��@E3�D�\$0A��L�D$8D�\$@L��%L�T$HL�
ĭL�L$PH�D$HH�E�D�]�A�P�H�U�D�]�L�U�L�M�H�E�H�E؍J��M�L�E�D�]�L�U�L�MH�E�H�E0�M8H�U@D�]HL�UPL�MXH�EPH���A�K���L���D���L���L���H���H������H���D���L��L��H��H��8H�D$0H�D$ H��@H�D$(H�L$ ��L�
N~�XD�B�H�L$0�^H�
d$H��@]��d�������H�t$H�|$UH��H���e�H�E�H�5�%H�E�H�=�H�u�H�U�H�}�H�M��E�H�E�����e�H�E�H�U�H�E�H�M�H�u�H�}��E�H�E���m�H�
�$L��$�I�sI�{ I��]�=d�������������H�t$H�|$UATAWH��H���e�H�E�L�%��%H�E�L�==�L�e��L�}�H�U��}�H�M�H�E�����e�H�E��e�H�U�H�M�H�E�L�e�L�}�H�E���s��e�H�E�H�U�H�E�H�M�L�e�L�}��}�H�E���G��e�H�E��w�H�E�H�U�L�e�H�M�L�}��}�H�u����e�H�E��}�H�U��~@H�E�H�M�H�}�L�e�L�}�����e�H�E�H�U�H�E�H�M�L�e�L�}��E�H�u�����e�H�E�H�U�H�E�H�M�L�e�L�}��E�H�u���H�E�L�e�H�E�L�}��E�H�}��e�H�U�H�M��m�H�
n$L��$�I�s(I�{0I��A_A\]�b�H�t$H�|$UH��H���e�H�E�H�5�%H�E�H�=H�u�H�U�H�}�H�M��E�H�E����e�H�E�H�U�H�E�H�M�H�u�H�}��E�H�E����L��$�I�sI�{ I��]���������L��H���d$0H�2�%I�C�H��I�C�I�C�I�C�I�C�I�C�I�C�I�C�I�K��^�L�
��HD�B�H�L$0�[H�
�
$H�Ĉ�la������������H�
A�P������L�d$L�|$UH��H���e�H�E��e�L�% &L�=A�L�e�H�U�L�}�H�M�H�E�H�E���T��e�H�E��e�H�U�H�M�H�E�L�e�L�}�H�E���'��e�H�E��e�H�U�H�M�H�E�L�e�L�}�H�E����e�H�E�H�U�H�E�H�M�L�e�L�}��E�H�E������e�H�E�H�U�H�E�H�M�L�e�L�}��E�H�E�����e�H�E�H�U�H�E�H�M�L�e�L�}��E�H�E��j�H�
?$L��$�M�cM�{ I��]�_������H�t$H�|$UAVAWH��H���e�H�E��e�L�=�&L�5��L�}���L�u�H�U�H�E�H�M�H�u����e�H�E��e��~�H�U�H�E�H�M�L�}�L�u�H�}����e�H�E�H�U�H�E�H�M�L�}�L�u��E�H�u��[��e�H�E�H�U�H�E�H�M�L�}�L�u��E�H�}��/��e�H�E�H�U�H�E�H�M�L�}�L�u��E�H�u����e�H�E�H�U�H�E�H�M�L�}�L�u��E�H�}����H�
$L��$�I�s(I�{0I��A_A^]�^�����������@UH��$p���H����L$0A��L�D$8E3�D�\$@L��&L�T$HL�
�L�L$PH�D$HH�E��M�A�P�H�U�D�]�L�U�L�M�H�E�H�E؍J��M�L�E�D�]�L�U�L�MH�E�H�E0�M8H�U@D�]HL�UPL�MXH�EPH���H�D$0H�D$ H���H�D$(H�L$ ���L�
�v�XD�B�H�L$0�LWH�
5
$H�Đ]�]��������@UH��$p���H����L$0A��L�D$8E3�D�\$@L��&L�T$HL�
�L�L$PH�D$HH�E��M�A�P�H�U�D�]�L�U�L�M�H�E�H�E؍J��M�L�E�D�]�L�U�L�MH�E�H�E0�M8H�U@D�]HL�UPL�MXH�EPH���H�D$0H�D$ H���H�D$(H�L$ ��L�
�u�XD�B�H�L$0�LVH�
e	$H�Đ]�\��������H�\$H�t$UWATAVAWH��H��H�E�E3�L�=V&H�E�L�5�&L�}���L�u�H�U�D�e�H�M�H�u�D�e��%H�E�L�}��~�H�E�H�U�L�u�H�M�D�e�H�}�D�e���%H�E�L�}��_�H�E�H�U�L�u�H�M��]�H�u�D�e��%H�E�L�}�H�U�H�E�H�M�L�u��]�H�}�D�e��z%�]�H�E�A�\$H�E�H�U�H�]�H�M�L�}�L�u�D�e��M%H�E�L�}�H�U�H�E�H�M�L�u�D�e�H�]�D�e��$%H�E�L�}�H�U�H�E�H�M�L�u��]�H�u�D�e��$H�E�L�}�H�E�L�u�H�U��]�H�M�H�}�D�e���$H�E�L�}�H�U�H�E�H�M�L�u��]�H�]�D�e��$H�
�$L��$�I�[8I�s@I��A_A^A\_]�Z�L��H���d$0H�R&I�C�H�FI�C�I�C�I�C�I�C�I�C�I�C�I�C�I�K��vE�L�
��HD�B�H�L$0�SH�
x$H�Ĉ�LZ������������H�t$H�|$UATAWH��H���e�H�E�L�%H&H�E�L�=�SL�e���L�}�H�U�H�u�H�M��E��R�e�H�E��~�H�E�H�U�L�e�H�M�L�}��E�H�}��R�e�H�E��e�H�U�H�M�H�E�L�e�L�}�H�u��dR�e�H�E��e�H�U�H�M�H�E�L�e�L�}�H�}��;R�e�H�E�H�U�H�E�H�M�L�e�L�}��E�H�u��R�e�H�E�H�U�H�E�H�M�L�e�L�}��E�H�}���QH�
8$L��$�I�s(I�{0I��A_A\]��X�����������H�t$H�|$UATAWH��H���e�H�E�L�%�&H�E�L�=]bL�e���L�}�H�U�H�u�H�M��E��pa�e�H�E��~�H�E�H�U�L�e�H�M�L�}��E�H�}��Aa�e�H�E��e�H�U�H�M�H�E�L�e�L�}�H�u��a�e�H�E��e�H�U�H�M�H�E�L�e�L�}�H�}���`�e�H�E�H�U�H�E�H�M�L�e�L�}��E�H�u���`�e�H�E�H�U�H�E�H�M�L�e�L�}��E�H�}��`H�
$L��$�I�s(I�{0I��A_A\]�W�����������L��H��XD�L$`H��&I�C�M�C����D$(��L$,H��&I�C�I�SȉL$8H���%���L$<I�C�L$HH�
z�P�D$L��5eH�
�$H��X�W�����H�t$L�t$UH��H���e�H�E�L�5�&H�E�H�5��L�u�H�U�H�u�H�M��E�H�E�����e�H�E�H�U�H�E�H�M�L�u�H�u��E�H�E�A���e�H�E�H�U�H�E�H�M�L�u�H�u��E�H�E��q��e�H�E�H�U�H�E�H�M�L�u�H�u��E�H�E��A�L��$�I�sM�s I��]���������L��H���d$0H�Z&I�C�H���I�C�I�C�I�C�I�C�I�C�I�C�I�C�I�K��>��L�
��HD�B�H�L$0�?OH�
x$H�Ĉ�U������������H��(H�
]�P�<�H�
y$H��(�`UH�t$H�|$UH��H���e�H�E�H�54&H�E�H�=a%H�u�H�U�H�}�H�M��E�H�E���u$�e�H�E�H�U�H�E�H�M�H�u�H�}��E�H�E���E$H�
$L��$�I�sI�{ I��]�T�������������H�t$H�|$UH��H���e�H�E�H�5�&H�E�H�=a@H�u�H�U�H�}�H�M��E�H�E���}?�e�H�E�H�U�H�E�H�M�H�u�H�}��E�H�E���M?L��$�I�sI�{ I��]���������@UH��$p���H����L$0A��L�D$8E3�D�\$@L�&L�T$HL�
�RL�L$PH�D$HH�E��M�A�P�H�U�D�]�L�U�L�M�H�E�H�E�A�K�M�L�E�D�]�L�U�L�MH�E�H�E0�M8H�U@D�]HL�UPL�MXH�EPH���H�D$0H�D$ H���H�D$(H�L$ �Q�L�
~l�XD�B�H�L$0��LH�
�$H�Đ]�S�������L��H���d$0H�
&I�C�H�obI�C�I�C�I�C�I�C�I�C�I�C�I�C�I�K���a�L�
��HD�B�H�L$0�OLH�
8$H�Ĉ�R������������H�t$H�|$UATAWH��H���e�H�E�L�%P&H�E�L�=
tL�e���L�}�H�U�H�u�H�M��E��$s�e�H�E��~�H�E�H�U�L�e�H�M�L�}��E�H�}��r�e�H�E��e�H�U�H�M�H�E�L�e�L�}�H�u���r�e�H�E��e�H�U�H�M�H�E�L�e�L�}�H�}��r�e�H�E�H�U�H�E�H�M�L�e�L�}��E�H�u��wr�e�H�E�H�U�H�E�H�M�L�e�L�}��E�H�}��KrH�
$L��$�I�s(I�{0I��A_A\]�;Q�����������L��H���d$0H�r&I�C�H�_�I�C�I�C�I�C�I�C�I�C�I�C�I�C�I�K����L�
��HD�B�H�L$0�oJH�
��#H�Ĉ�P������������H�t$H�|$UH��H���e�H�E�H�5�&H�E�H�=ёH�u�H�U�H�}�H�M��E�H�E�����e�H�E�H�U�H�E�H�M�H�u�H�}��E�H�E��赐H�
F�#L��$�I�sI�{ I��]�
P�������������H�t$H�|$UAVAWH��H���e�H�E��e�L�=�&L�5M�L�}���L�u�H�U�H�E�H�M�H�u��k��e�H�E��e��~�H�U�H�E�H�M�L�}�L�u�H�}��?��e�H�E�H�U�H�E�H�M�L�}�L�u��E�H�u����e�H�E�H�U�H�E�H�M�L�}�L�u��E�H�}����e�H�E�H�U�H�E�H�M�L�}�L�u��E�H�u�軦�e�H�E�H�U�H�E�H�M�L�}�L�u��E�H�}�菦H�
�#L��$�I�s(I�{0I��A_A^]�N�����������H�t$H�|$UAVAWH��H���e�H�E��e�L�=�&L�5M�L�}���L�u�H�U�H�E�H�M�H�u��k��e�H�E��e��~�H�U�H�E�H�M�L�}�L�u�H�}��?��e�H�E�H�U�H�E�H�M�L�}�L�u��E�H�u����e�H�E�H�U�H�E�H�M�L�}�L�u��E�H�}����e�H�E�H�U�H�E�H�M�L�}�L�u��E�H�u�軲�e�H�E�H�U�H�E�H�M�L�}�L�u��E�H�}�菲H�
�#L��$�I�s(I�{0I��A_A^]�KM�����������H�t$H�|$UAVAWH��H���e�H�E��e�L�=&L�5M�L�}���L�u�H�U�H�E�H�M�H�u��g��e�H�E��e��~�H�U�H�E�H�M�L�}�L�u�H�}��;��e�H�E�H�U�H�E�H�M�L�}�L�u��E�H�u����e�H�E�H�U�H�E�H�M�L�}�L�u��E�H�}�����e�H�E�H�U�H�E�H�M�L�}�L�u��E�H�u����e�H�E�H�U�H�E�H�M�L�}�L�u��E�H�}���H�
x�#L��$�I�s(I�{0I��A_A^]��K�����������H��(H�
��P�8�H�
i�#H��(�KH�t$H�|$UAVAWH��H���e�H�E��e�L�=D&L�5��L�}���L�u�H�U�H�E�H�M�H�u�����e�H�E��e��~�H�U�H�E�H�M�L�}�L�u�H�}�����e�H�E�H�U�H�E�H�M�L�}�L�u��E�H�u����e�H�E�H�U�H�E�H�M�L�}�L�u��E�H�}��o��e�H�E�H�U�H�E�H�M�L�}�L�u��E�H�u��C��e�H�E�H�U�H�E�H�M�L�}�L�u��E�H�}���H�
H�#L��$�I�s(I�{0I��A_A^]�kJ�����������H�t$H�|$UAVAWH��H���e�H�E��e�L�=�&L�5m�L�}���L�u�H�U�H�E�H�M�H�u���e�H�E��e��~�H�U�H�E�H�M�L�}�L�u�H�}��[��e�H�E�H�U�H�E�H�M�L�}�L�u��E�H�u��/��e�H�E�H�U�H�E�H�M�L�}�L�u��E�H�}����e�H�E�H�U�H�E�H�M�L�}�L�u��E�H�u����e�H�E�H�U�H�E�H�M�L�}�L�u��E�H�}��H�
�#L��$�I�s(I�{0I��A_A^]�I�����������H�t$H�|$UH��H���e�H�E�H�5,&H�E�H�=�H�u�H�U�H�}�H�M��E�H�E�����e�H�E�H�U�H�E�H�M�H�u�H�}��E�H�E���H�
��#L��$�I�sI�{ I��]�]H�������������@UH��$����H��@E3�D�\$0A��L�D$8D�\$@L�H&L�T$HL�
�L�L$PH�D$HH�E�D�]�A�P�H�U�D�]�L�U�L�M�H�E�H�E؍J��M�L�E�D�]�L�U�L�MH�E�H�E0�M8H�U@D�]HL�UPL�MXH�EPH���A�K���L���D���L���L���H���H������H���D���L��L��H��H��8H�D$0H�D$ H��@H�D$(H�L$ ��L�
^`�XD�B�H�L$0�@H�
T�#H��@]�F�������H�\$H�|$UH��H���e�H��&H�E�H�5H�E�H�E�H�E�H�E�H�E�H�E�H�E�H�M����L�
���D�Ǎ_G��H�M��"@�e�H�_&H�E�H��H�E�H�E�H�E�H�E�H�E�H�E�H�E�H�M����L�
_�D�Nj�H�M���?�e�H�F&H�E�H��H�E�H�E�H�E�H�E�H�E�H�E�H�E�H�M���L�
�D�Nj�H�M��?H�
Y�#L��$�I�[I�{I��]�EH��(�H�
P�P�.H�
4�#H��(�E�����������H��(H�
}�P��H�
Y�#H��(�pEH��(H�
��P�8 H�
��#H��(�PEH�
	�#�DE����H�
��#�4E����H��(�d$0�D$0E3�H���PH�
>�M�=�H�
�#H��(�D��������@SH�� ��P!H�
y�PH���)�H��=%E3�H��H�]�PH�
V�P�
H�
�#H�� [�DH�
*�P�1����H��(H�
�P�XH�
�#H��(�pDH��(H�
��P�8H�
�#H��(�PDH�
�#�DD����H�
	�#�4D����H��(��!H���PH��(�������H��(�[gH�8�PH��(������������H�
9�PH�%*	$��H��(H���MH�D$0H�q�MH�T$8H�Eo$H�^�ML���MH�
��M��"�H�
{�#H��(�C��H��(H���MH�D$0H�a�MH�T$8H�5CFH�N�ML�O�MH�
��M蛺"�H�
;�#H��(�BC��@SH�� I�xH��I��H��rI�M�@H����"3�H�KH�KHKH�HH�@�H��H�� [�������������@SH�� I��L��I��H��I��B�<u�H��I���"H�cH�cHKH�`H�@�H��H�� [��������@SH��@H��I��H�JI��C�<u�H��������H+�I;�r7H�zH��rH�L�L$0L��L�D$(L�ŠT$XH�L$ H���iH��H��@[��g�������@SH��@H��I��I��B�<
u�I�HH��������H+�I;�r4I�xI��rI�H�L$0H��H�D$(L�L$ L�ʊT$`�
H��H��@[������������H��(H�A'H;�v'H���;H��H��tH��'H���H�H�H��(���� �����H��H��XW��@�H�`��@�H�@�H�D$ ���H�L$0H��tH�T$@H+�H���H��X�����������H��(H��rL�A�H��'I+�H�A�H��wI��H��(�;�I� �������������H;�tHH�\$WH�� H��H��H�SH��rH�H�����H�cH�C�H�� H;�u�H�\$0H�� _���H�\$H�t$ WATAUAVAWH��@L�D$0L��H��H�L$8L��L+9I��H�AH+H��I��������?I;��L�hH�IH+H��H��H��I��H+�H;�vL�D$ H������-H�
M��I;�LC�M;���J�4�L�t$ H��rH���.���H��H�D$(�#H��tH���':H��H�D$(�3�H�\$(L�t$ N�4�H�D$0�A�L�GH�H��M;�uL+��M��L+��& I�NL�GM+�I����& �H�H��tH�WH+�H���8���H�J��H�OH�H�OI��L�\$@I�[@I�sHI��A_A^A]A\_����=�������������@SUVWAVH�� I��H��H+�L��H��H��H��r]H��������?H;�wYH��H��r
H�������3�H��tH���9H��I�H�I�^L��H��I�FH���& H�I�FH�� A^_^][������������������H�\$H�l$H�t$ WH�� I��H��H��I��H+�H��E3�H��t\H��������H;�wbH��H��r
H���m����
H��tH���n8L��L�L�GJ�H�GH�|$8L��H��H���qH�GH�\$0H�l$@H�t$HH�� _��+���H�\$ UVWH�� I��E3�H+�I��H��H��H��H��t^H��������H;�w\H��H��r
H�������
H��tH����7L��L�J�L�NH�F�H�I�I��H��H;�u�L�NH�\$XH�� _^]���H�\$UVWAVAWH�� H��������M��L��H��H;���H�iH��H��H;�wH��H��H��H+�H;�wH�*H��H;�HB�H��H�����H��HB�H��r
����H���H��t�7��3�M��L�wI��H�_H���# A�6H��rH�H�U�U���H�7H��H�\$`H�� A_A^_^]���H�\$UVWATAUAVAWH�� L�aH��������H��M��I+�H��H;���H�iN�4"I��H��H;�wH��H��H��H+�H;�wH�*H��H;�HB�H��H�����H��HB�H��r
����H���H��t�6��3�L��$�M��L�wN�4&H�_H��H��r,H�H���# M��I��I����" H�UC�>H���Q����H����" M��I��I����" C�>H�7H��H�\$pH�� A_A^A]A\_^]��t����H�\$H�t$WH�� H�qH��L�	H��I+�H��H;�sI���8v:H�GI+�H��H;�v
H���4� H+�H��H��3�L���N& H�3H�GH�\$0H�t$8H�� _���H�\$VWATAVAWH��@L��H��H�L$0I��������I;���L�aL+!I��H�IH+H��H��H��I��H+�H;�vL�D$ I������"H�4
I;�s+I��L�4�H�t$ I��rI���v���H��H�D$(�.I;�����M��tI���d4H��H�D$(�3�H�\$(H�t$ J��M��M+�I��3��Y% L�GL+H�H���7! �H�H��tH�WH+�H�����H�J��H�GI�H�GH��$�H��@A_A^A\_^��������H��H�XH�hH�p WH��@I��I��H��H��W�@�H�X�H�X�L�H�H;�t'H�cH�cH��H���H�� H�\$(H�� H;�u�L��H��H���+���H��H�\$XH�l$`H�t$hH��@_����L��I�[I�s WH��pH�q�MH3�H�D$`H��H��I�K�I�S��d$XI�C�I�C�H�J8H����H�I�S�H�@��$H��|$XuhH�WH��rH��H��Y���H�gH�G�H�K8H��tH�H;���H�@ �]$H�c8H��H�L$`H3��3L�\$pI�[ I�s(I��_����H��H�d$H���H��H���H��D�D$XH�L$(�H��~MH�L$(� �����H�\$H�l$H�L$VWAVH�� I��I��L��H�����2H��H�D$@H��t/W���C�CH��e$H�H�KL��L��I������3�W�H�CH�H�_H��H�\$HH�l$PH�� A^_^���H�\$H�t$H�|$ AVH��0I��I��H��L��I;�t4��3�+�H�S�D$ H;St	�H�C�
L�D$ H���c���H��H;�u�H�t$PI��H�|$XI�H�\$HH��0A^���H�\$UVWATAUAVAWH�� L��$��L��$�M��H�aH��H�aH��L��$�K�,>H;�vZH��H�H��������H;�w�H��H;�HB�H��H�����H��HB�H��r
��H���H��t�0��3�H�>M��H�nI��H�^H��� I�>M��I���p H�\$hH���/H�� A_A^A]A\_^]�H��H�XH�pH�x H�HAVH��0I��I��H��L���VH�D$@H�T$@H�D$`L��H�D$(L��I��H�\$ �H�\$HH��a$H�t$PH�|$XI�I��H��0A^�H�\$H�l$ VWAVH�� 3�H��H�H�YH�YL�2H�jL;�teI+�H��������?H��H��H;�wbH��H��r
H���d��
H��tH���e/H��H�H�H�_L��H�OI��H���U H�H�OH�\$PH��H�l$XH�� A^_^�����H�\$UVWH��0H��E3�L�L�AL�AH�2H�jH;�tfH��H+�H��H��������H;�w]H��H��r
H�����
H��tH���.L��L�L�GJ�H�GH�|$ L��H��H�����H�GH��H�\$`H��0_^]��<����@SH�� H��H��H�
M_$W�H�H�SH�H�K H�`_$H�H��H�� [�@SH�� H��H��H�
_$W�H�H�SH�H� H�<_$H�H��H�� [�H�aH�4_$H�AH�_$H�H�����H�\$WH�� H��H��^$H�H�QH��W�H�K� H�4_$H��CH�\$0�GH��H�� _��H�\$WH�� A��H���_H�_$�{H�H��H�\$0H�� _�H�\$WH��@H���MH3�H�D$0H�L$ H�'^$L��H�H�QL�L$ H���D$(W�H�L$ A��� H��^$�{H�H��H�L$0H3��X.H�\$`H��@_��@SH�� H��H��H�
�]$W�H�H�SH�H�
 H��H�� [���H�\$WH�� H�H��H�H�ڋBW��A�H��`H�W(H�W8H�GdH�G0H�WtH�WPH�GhH�G@H�S`H�OA� H�GH�O H�GHH�GXA�J H���H����H�\$@H��H�� _��H�\$WH�� H�\$PH��H�W�D�A�H��`H�W(H�GdH�G0L�GtH�W8H�GhL�GPI�QPH�G@A� H�OH�GH�O H�GHH�GXA� H���H���H�\$8H��H�� _�H�\$H�|$ ATH�� H��A�H��PW�H��H��PH�H�GTH�G E�D$H�GH�GXH�G0H�GdH�G@H�OL�gL�g(H�G8H�GHA� H���HLJ�W�H�OxH���H���H���H���H���H���H���H���L���E�D$L���HLJ�HLJ�A� ���H��H�\$@���H�|$HH�� A\����H�\$WH��PH��)t$@H�L$ (�I���~E3�H��H���H�L$ H��tH�T$0H+�H����H��H�L$ �HH�KxE3�H���MH�L$ H��tH�T$0H+�H���^����H��H�\$`(t$@H��P_����H��SH��PH��W�@�W��H�H�`�D�L$ L�@�H�P�H�H���W�L�D$(H�T$(H�������H�L$(H��tH�T$8H+�H�����H��H��P[�H�\$VWAVH��0I��L��H�L$ H�|$pH��Z$H�H�H�AH��H�aH�aI���|	�I��8I�^0I�N8H���t���H�L$xI��0H�\$(H��H�����H�cH�c H�c(I��H�\$XH��0A^_^�@USVWAVAWH�l$�H��M��H��H��H�ML�}wW��E�I��H�M����W��E�H�e�D�M�L�EH�U�H�M����I�M���H�D$ L�E�H��H������H�]�H��t[H�u�H;�t2H�SH��rH��H���H�cH�C�H�� H;�u�H�]�H�U�H+�H���H���d�W��E�H�e�L�
�� D�B�H�M���&H��Y$H�A�N��@HLJ`H��XƇHH��hI������M���H��H�ĈA_A^_^[]��@SH�� H��H��H�
9X$W�H�H�SH�H�7 H��X$H�H��H�� [���������@SH��@H�K�MH3�H�D$0H�L$ L��H�zH��rL�H�QL�D$ H��W$�D$(H�W�H�L$ �� H�7X$H�H��H�L$0H3��(H��@[���H�\$H�|$H�AL�YPL�H�AXL�YH�YdH�A(L��H�A0H�QTH�Q �H�yL��H�A8H�Y@H�AHfAn�D�G�fp�AACI��A�I��H�
��I��B�I�H��|�I�II�H��H+�H��H��r�BA�B`I�II�H��H+�H��H��u�B�I�II�H+�H��H��v ;�L�Hc�I;�~I�	B��C��I��L;�|�H�\$I��H�|$�@SH�� H�H��t5H�H��t-H�SL���6�H�SH+H�H������H�#H�cH�cH�� [����L�AH�QH�	��������������@SH�� H�QH��H��rH�	H����H�cH�C�H�� [�@SH�� H��H�I8H��tH�H;���H�@ ���#H�c8H�� [�@SH�� H��H��8�H�S(H��rH�KH���!�H�c H�C(�CH�� [�����������@SH�� H�YH��t9����C��u,H�H��H���#����C��uH�H��H�@���#H�� [���@SH�� H��H�	H��tH�SH+�H����H�#H�cH�cH�� [������������@SH�� H��H�	H��t-H�SL����H�SH+H�H����@�H�#H�cH�cH�� [�H��T$H�H���% �@SH�� H��H�IH��tH�S(H+�H����H�cH�c H�c(H�H��t-H�SL����H�SH+H�H�����H�#H�cH�cH�� [�@SH�� H��H��hH��t+H��xH+�H����H��hH��pH��xH��`H��rH��HH���P�H��XH��8Hǃ`ƃH����H�S(H��rH�KH����H�c H�C(�CH�� [��H�\$H�t$ WH�� H�3�H��H��H9uA�B9Au9L�AL;Bu/H�IH�RI���J ��uH���H������t@�H�\$@@��H�t$HH�� _��H�\$H�t$WH�� L�A3�H��H��L;BuNH�H�	I����
 ��u;L���L;��u+H�OxH�SxI����
 ��u���.��zu@�H�\$0@��H�t$8H�� _�������@SH�� H�U$H��H���t
���!H��H�� [������H�\$WH�� H�ً�H��8���H�S(H��rH�KH����H�c H�C(�C@��t
�@H���;!H��H�\$0H�� _��������������H�\$WH�� H��Q$H��H���H���J���t
�H���� H�\$0H��H�� _���������������H�\$WH�� H�gQ$H��H���H�����t
� H��� H�\$0H��H�� _���������������H�\$WH�� H�ً�H��8���H�S(H��rH�KH����H�c H�C(�C@��t
�hH���+ H��H�\$0H�� _��������������H�\$WH�� ��H�������t
��H����H�\$0H��H�� _�������������H�\$H�l$H�t$WH�� H�zH��H�jH��rH��H��s	��FH�H��������H;�HG�H�OH��r���3�H��t� L�EH�H��H��� H�nH�~H�\$0H�l$8H�t$@H�� _��H��R$H�H�����H��R$H�H�����H��(��t
��>�H��(����������H��(H��tH��H�@�E�#H��(�H��3�H�H�H�%-�#�������������H�
����������H�
���������H�A������������3���������������H���H�\$VWAVH��@H��H�L$(H�T$0L�qL+1I��H��������?H;���H�4�H��r
H�����H���H��t
H������3�H�\$ L�GL+H�H���
 �H�H��tH�WH+�H����H�J��H�GH�H�GH�\$pH��@A^_^��/���������������H�y�M���������H���M���������H��HH�L$ �2�H��hMH�L$ ���H��(H�
mN$�����������������H��(H�
�P$������H�\$UVWAVAWH�l$�H��H��MH3�H�EI��M��L��H�}W�EI�I��H�@�R�#H��L��N$H�M����H��H�H�AH��,�#L��H��H�M����H��I�H�AI��
�#L��L��H��H�M���H�U�H��rH��H�M���3�H�}��_H�]�@�}�H�U�H��rH��H�M���H�}�H�]�@�}�W�fE�H�]H��t�CH�](EfE�H�U�I����H���H���L��H;���M99tI��L;�����L+�I��M����H+�H��L;�s@�|$(�D$ L��H��I���z��H��t>����C��u1H�]H�H��H����#����C��uH�MH�H�@���#H�MH3��~H��$�H��A_A^_^]�A��H��M$H�M���H��gMH�M���A��H�'M$H�M��j�H�wgMH�M��~���I��I��B�<u��	���������H�\$H�t$WH��0H��I��H�IH�GH+�L;�w*H�J�H�GH��rH�H�H���j H���3�L��H�t$ H��E3�H����H�\$@H�t$HH��0_����H��J�����H��J�������������3�H�H�BH�BH������������������@SH��0H�T$(H��3�H9�XH�H�SH�St#D�L$ H��HH��H�D$(L�D$0H�T$(�q�H��H��0[�H�\$H�|$UH�l$�H��H�AH��H�xrH�H��pH��hH�AH�UGH��8H��;H��0�L���H�U�H����xH�GP��H�E�H�G`��H�E�H�GpH�E�H���H�E�H���H�E�H���H�E�H���H�EH���)E��H�E��)M��)E��(�E7)M'JAB AHJ0A@ B@AH0JPA@@B`AHPA@`BpH�AD�I��ˆ���0��H�H�BH����#L��$�H��I�[I�{ I��]��H�\$H�t$WH�� H��H�qH�QL�D$0H+H��H��H���G�H�E3�H�CH+�H��H��t1A��H�H�yrH�	H�H�� J��I��H�H�CH+�H��L;�r�H�H�K H�H+�H��H��H�OH�\$8H�t$@H�� _���������H��H�XH�pH�x UATAUAVAWH������H��PH�k�MH3�H��@L��H�M�H�����H�0H�6I�����H;0�/H�H�6H�u�H�KH���H+��H��r�H�H�@���#H��H�H�AHH��q�#��u�H�KH�H�@�\�#H���xH;�t�H�KH�H�@�>�#L��H�H�A(L�CI�UI��#�#���W���E2�H�KL���H����I�$D8���RI��L;�u�forJ$�� L�� A�H�U H�K��CH�P`H�M�H�L$0H�D$8H�M�H�L$@H�D$HH�M�H�L$PH�D$XH�M�H�L$`H�D$hH�M�H�L$pH�D$xW�E�E�A� H�M�� A�H���H�K�<CH��H�����H�D$ L�L$0E�H�H����E�H���H�M ��H��A�H�K�VFH�KH�H�@���#L��H�H�A0L�CI�UI����#���JI��H��0L;������4A�H�� �BH�P`H�M�H�L$0H�D$8H�M�H�L$@H�D$HH�M�H�L$PH�D$XH�M�H�L$`H�D$hH�M�H�L$pH�D$xW�E�E�A� H�M��z M�4$A�H���H�K�BL��H�����H��A�H�U I����AH�|$ L�L$0D�@I�H�����H���H�M �M�H��A�H�K�EH�KH�H�@���#L��H�H�A0L�CI�UI��z�#���~�A�E���H�KH���H;�������H�u�L�?H��H�H�@�4�#L���L;���I�I��H�@��#L���L;�thA���t^A�H�U I����@L��A�H���H�K��@I��H�����u*A�H�� H�K�@H�D$ L�KM��I��H������H�KH;���E���H�u����H��@H3��%L��$PI�[0I�s@I�{HI��A_A^A]A\]�H�KH�H�@�C�#L��H��E$H�M�����L��E$H��H�M�����A��H��H�� ���H�_MH�� ���H�KH�H�@���#L��H�)E$H�M�����L�E$H��H�M����H��I�$H�H�B���#L��H��H�M��9���A��H��H�� �A�H�~^MH�� ����H�\$H�L$WH��@H��H�كd$0W�3�H�AH!H!AH!A�D$0L�BH�I��H+�H��H��tH��������?H;�w/�1�L�GH��D$ L��H��H�L$X���H��H�\$`H��@_��.���@UH��H��H�E�H�EH��D$H�E�H�E�H�E�H�e�H�E��E�L�
�B$E3�A�PH�M��M���H�U�H�M����H�Ā]���@UH��H��H�E�H�EH��D$H�E�H�E�H�E�H�e�H�E��E�L�
�B$E3�A�PH�M������H�U�H�M����H�Ā]���������������H����@L�����H��HH�xrH�H���H��hH��pH+�H�$H��H�L$$���A������H������������H�yH��@$HEA���H�\$WH��@H��H��H�!H�aH�L$(H�L$0�0�H�H�@H�@f�@H�D�D$ H��H���;H�d$0H�L$(�CH��H�\$`H��@_��I;���L��I�[I�sWH��0I��H��H��H�I�C�I�c�H�yu,I�c���H�KH�HH�d$(H�FH�FH�FH�H;�t@H�d$(���H�KH�HH�NH�H�NH�HH�d$(H�FH�FH�H��H;�u�H�\$HH�t$PH��0_���H�\$H�l$H�t$WH��0H��I��H�L$0I��H����L��H�D$ L��H��H���L��$0I�[I�kI�s I��_�H����H�\$VWAVH�� E3�H��������?M��H��H��H;�w\H�<�H��r
H�������
H��tH����
L��L�J�L�NH�FA�A�I��H��u�H�\$PL�NH�� A^_^�����@SH��PH��H�L$ H�d$(H�L$ �:���H�D$ H�D$@H�d$H��|
H��L�D$(M��u	H�H�@�H�L$8H�H�D$0H�BH�QH�L�CH�H��P[��H�\$WH�� H��E��H�H��L�H�R�rL�E3�I�@H�H�CH�GL�BE8Hu;I�D8IuH�L��H��D8Ht�L�H�H�BH�H�H��H�ID8It�H�B�
H�H�H�@H�\$0H�� _����H�\$VWATAVAWH��@A��M��L��L��H�L$ H�1�zupH�L$(H�d$0�0�lH��AG �@ H�0H�pf�`L�`A�G�G�~HE�H�t$(D��L��I�I���~���H�D��L��I�WI���i���H�GH��H��$�H��@A_A^A\_^��@SVWH�� A�xI��H��H��u%L�CH��H������H�˺0H��A���{t�H�� _^[����H�\$H�l$H�L$VWAVH�� I��I��L��H�����H��H�D$@H��t/W���C�CH��@$H�H�KL��L��I������3�W�H�CH�H�_H��H�\$HH�l$PH�� A^_^���H��H�XH�pH�x H�HAVH��0I��I��H��L����H�D$@H�T$@H�D$`L��H�D$(L��I��H�\$ �{�H�\$HH��?$H�t$PH�|$XI�I��H��0A^�@SH�� H��H��H�
};$W�H�H�SH�H�{�H��>$H�H��H�� [�@SH��@H���MH3�H�D$0H�L$ H�3;$L��H�H�QL�D$ H���D$(W�H�L$ � �H��>$H�H��H�L$0H3��jH��@[�@SH�� H��H��H�
�:$W�H�H�SH�H���H�,>$H�H��H�� [�@USVWAVH��H��M��H��H��H�M�H�]PW��E�I��H�M����W��E�H�e�D�M�L�E�H�U�H�M�����H�L$ �L��L�E�H��H���:����H�]�H��t[H�}�H;�t2H�SH��rH��H����H�cH�C�H�� H;�u�H�]�H�U�H+�H���H���~��W��E�H�e�L�
���D�ÍSH�M��H��=$H�H���H��XHdž`H��hH��pH���H��xH���H���H���Hdž�H���H���Hdž�W�AI�VPD�C�W��H��H�ĀA^_^[]��H�\$fo�>$L�QPL��L�H�A�H�AA��H�A(L�ITL�QI�CdL�I H��XI�C@�D$(I�K0I�C8I�CHAABA�E��A�C\��uE��u��u��uA!C`H�\$I�����H��(H�IH��t
��	��H��(�H��(H�IH��t
�0����H��(�@SH�� H�yt,H�AH�`H�AH� H�Y�H�˺H����H��u�H�� [��H�\$H�t$WH�� H�YH��tBH�1H�H�y�u(L�GH��H�����H�Ϻ0H�?�a���t�H��0�N��H�\$8H�t$@H�� _���H�\$WH�� H�H��H�BH� H�
H��tH�����H��H��u�H��H�\$0H�� _����H�\$H�t$WH�� H�yH��H�H�Y�{u(L�CH��H���F���H�˺0H�����{t�H��0���H��H�AH� H�	H��tH�H���x��H��H��u�H�H��H�\$8H�t$@H�� _�V��������@SH�� H�[;$H��H���t
����H��H�� [������H�\$WH�� H�ً�H��8���H�S(H��rH�KH������H�c H�C(�C@��t
�XH���H��H�\$0H�� _��������������H�\$WH�� H�ً�H��8�}�H�S(H��rH�KH�����H�c H�C(�C@��t
��H���H��H�\$0H�� _��������������H��:$H�H�����H��:$H�H�����H�Y:$H�H�����H�
鈦��������H�
鸡��������H�
�X���������H�Y�M���������H���M���������H���M���������H��(H�
e9$�0�����H�\$H�t$WH�� H������tvH����H���H+�H��H;�vmH�IH�H�@���#H���MH;�u9H���H���H+�H��H��v4H�IH�H�@�H�#H���H;�t@2�H�\$0@��H�t$8H�� _��@�������������������H��H�XH�pH�x UATAUAVAWH��x�H��`H�k�MH3�H��P
L��H�����H��W����	H�L��H�H���	�G����H�SL�D$0H���	��L���	I�I;��TE3�E�l$H�KH�H�@�h�#H����H;��H�sH�H��H�@�C�#H���H;��hH���^�������H�sH�H��H�@��#H���rH;��H�������H�sH�H��H�@���#H���=H;���H���H���H+�H��I;��iE��H���H�I�/H���H��PHDžXH���H��`L��hH���H��pL��xH���H���HDž�H���H���HDž�(�0)��(�@)��D9)uD9iu	D9*��H�sH�H��H�@���#H���BH;��eH���H���H+�H��I;��AH�IH�H�@���#L��`	L��h	H��H��P	�A��W�3��	H��(	H��	H��P�F�H��	L�� 	I;�tH�Q��9HL�H��I;�u�1W���L��P	H��5$H�M`�����L��4$H��H������H��H�KH�H�B���#L��H��H����o��H��D�l$ E��D��A��H�������L��L��P	H��H����9�H���H��rH��H����L��L����H���D���H���H��rH��H������L���H���D���H�UxH��rH��H�M`����L�epH�}xD�e`W�fD$@H���H��t�DoH���(��fD$@H�T$@I���عD�d$(D�l$ M��L�CH��I�����H��tD������G�u6H���H�H��H����#����G�uH���H�H�@�o�#�H��	H��t%H��(	H+�H�����W���	L��(	H��h	H��rH��H��P	����H�sH�H��H�@�
�#H���qH;��g
H���H���H+�H��H���B
E��H���H�I��+H�P`H�� 
H���	HDž�	H�� 
H���	L���	H��$
H���	L���	H��(
H��
HDž
H��4
H��
HDž
W�� 
�0
A� H�� 
��H��
��PH���	A;�uA;�u	D9(��H�sH�H��H�@���#H���X
H;��!H���H���H+�H��H����H�IH�H�@���#L��@	L��H	H��H��0	�V���W�3��	H��	H��	H���	�[�H��	L��	I;�tH�Q��9HL�H��I;�u�1W���L��0	H��1$H�M ���L��0$H��H����
���H��H�KH�H�B���#L��H��H�M@臾��H��D�l$ E��D��A��H�����L��L��0	H��H����Q�H�UXH��rH��H�M@�j���L�eP�H�}XD�e@H���H��rH��H����=���L���H���D���H�U8H��rH��H�M ����L�e0H�}8D�e W�fD$PH���H��t�DoH���(��fD$PH�T$PI���D�d$(D�l$ A�L�CH��I���8��H��tD������G�u6H���H�H��H����#����G�uH���H�H�@���#�H��	H��t%H��	H+�H���C���W���	L��	H��H	H��rH��H��0	����H�sH�H��H�@�1�#H���
H;��1	H���D
����H�sH�H��H�@���#H���`
H;���H���H���H+�H��H��rH�I�
I;���H�IE��H���'H�P`H���
H��P
HDžX
H���
H��`
L��h
H���
H��p
L��x
H���
H���
HDž�
H���
H���
HDž�
W���
��
A� H���
�r�H���
��PH��`
A;�uA;�u	D9(��H�sH�H��H�@���#H���<	H;���H���H���H+�H��H��rH�I�
I;��TH�IH�H�@���#L���	L���	H��H��p	�/���W�3���H���H���H��P
�4�H���L���I;�tH�Q��9HL�H��I;�u�1W���L��p	H��-$H�M��ʻ���L��,$H��H�M����H��H�KH�H�B���#L��H��H�M�c���H��D�l$ E��D��A��H�����L��L��p	H��H����-��H�UH��rH��H�M�F���L�e�H�}D�eH�U�H��rH��H�M�����L�e�H�}�D�e�H�U�H��rH��H�M����L�e�H�}�D�e�W�fD$`H���H��t�DoH���(��fD$`H�T$`I����D�d$(D�l$ A�L�CH��I���#��H��tD������G�u6H���H�H��H����#����G�uH���H�H�@�~�#�H���H��t%H���H+�H���.���W����L���H���	H��rH��H��p	����H�sH�H��H�@��#H���H;���H���H���H+�H��H��rH�I �H���jH�IE��H����#H�P`H�� H���
HDž�
H�� H���
L���
H��$H���
L���
H��(H��HDžH��4H��HDžW�� �0A� H�� ��H����PH���
A;�uA;�u	D9(��H�sH�H��H�@���#H���[H;��IH���H���H+�H��H��rH�I �H���H�IH�H�@���#L���	L���	H��H���	�M���W�3���H���H���H���
�R�H���L���I;�tH�Q��9HL�H��I;�u�1W���L���	H��)$H�������L��($H��H�M�����H��H�KH�H�B��#L��H��H�M��~���H��D�l$ E��D��A��H������L��L���	H��H����H��H�U�H��rH��H�M��a���L�e��H�u�D�e�H�U�H��rH��H�M��:���L�e�H�u�D�e�H���H��rH��H�������L���H���D���W�fD$pH���H��t�DoH���(��fD$pH�T$pI���D�d$(D�l$ A�L�CH��I���/��H��tD������G�u6H���H�H��H����#����G�uH���H�H�@���#�H���H��t%H���H+�H���:���W����L���H���	H��rH��H���	����H�H��I;����H���	��H��P
H3����L��$`I�[0I�s@I�{HI��A_A^A]A\]�H��'$H������H�??MH�������H�s'$H�����H�?MH���������H�F'$H����n�H��>MH���������H�'$H���A�H��>MH���Z���d��H��&$H����H��>MH���-���7��H��&$H��0���H�d>MH��0���H��&$H��H��H�=>MH��H��������H�k&$H��`��H�>MH��`������H�>&$H��x�f�H��=MH��x������H�&$H����9�H��=MH����R���\��H��%$H�����H��=MH����%��H��H�XH�pH�PWH�� 3�L�@H�ډxW�H��H�:H��H�zH�z�W���H�CH+H��H��t�D�PH���H��H�CH+H��H;�r�H�t$@H��H�\$0H�� _��@UH��H��H�E�H�EH��%$H�E�H�E�H�E�H�e�H�E��E�L�
-$$E3�A�PH�M������H�U�H�M��7���H�Ā]���@UH��H��H�E�H�EH�Y%$H�E�H�E�H�E�H�e�H�E��E�L�
�#$E3�A�PH�M�蝷���H�U�H�M��ϻ��H�Ā]���@UH��H��H�E�H�EH�)%$H�E�H�E�H�E�H�e�H�E��E�L�
�#$E3�A�PH�M��5����H�U�H�M��g���H�Ā]���������������H��HH��p��H�$H�����H�D$H���($H�D$H�����H�D$(L$������H��H��H�\$H�t$H�|$ AVH�� H�Y��d$0H��H��t�sH�YH��H�AA����H��Xt"H��t�wH�yH�AH��x�t�
H�|$0@2���t>H��t9A����GA�u,H�H��H��J�#A����GA�uH�H��H�@�-�#H��t9A����CA�u,H�H��H���#A����SA�uH�H��H�B��#H�\$8@��H�t$@H�|$HH�� A^���H�\$H�t$H�|$ AVH�� H�Y��d$0H��H��t�sH�YH��H�AA����H���t"H��t�wH�yH�AH����t�
H�|$0@2���t>H��t9A����GA�u,H�H��H��:�#A����GA�uH�H��H�@��#H��t9A����CA�u,H�H��H����#A����SA�uH�H��H�B�߹#H�\$8@��H�t$@H�|$HH�� A^���@SH���H��H��$�H�T$ ��H@ JH0B @@J0HPB@@`JPB`H�@pH�H��B�@
H B@0J H@H�@PB0J@H�BPH�T$ ��H��H���[���L��SVWH��pH��{MH3�H�D$`I��H��H��I�S�I�[��d$XI�C�I�C�I�H8H����H�M�C�H��H�@���#�|$Xu^H�WH��rH��H��p���H�gH�G�H�K8H��tL�H;���I�@ �t�#H�c8H��H�L$`H3���H��p_^[���{�H��H�/$H������H��H������H��D�D$XH�L$(�޼��H�7MH�L$(�!�������L��I�[WH��pH�}zMH3�H�D$`H��H��I�K�I�S��d$XI�C�I�C�H�J8H����H�I�S�H�@���#�|$XuaH�WH��rH��H��h���H�gH�G�H�K8H��tH�H;���H�@ �l�#H�c8H�L$`H3��
�H��$�H��p_���z�H��H�$$H������H��H�����H��D�D$XH�L$(�ӻ��H�6MH�L$(����������@SH��M�H��H��H�T$ H�����H�H@ KH0C @@K0HPC@@`KPC`@pH�B�@
H B@0J H@H�@PB0J@H�BPH��H��[��H��H�XH�hH�p H�HWH�� I��H��H�����}�H��H�D$0H��t,W���C�CH��$H�H�KL��H����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��0I��I��H��L������H�D$@H�T$@H�D$`L��H�D$(L��I��H�\$ �w���H�\$HH��$H�t$PH�|$XI�I��H��0A^�H�\$H�t$H�L$AVH��PI��H��L��W��D$0H�d$@H�L$P誽��L��H�L$ �L�D$0H��I���9����H�|$0tOH�\$0�)H�SH��rH��H�謫��H�cH�C�H�� H;\$8u�H�T$@H+T$0H���H�L$0�y���H�$I�I�� H�H�H�VH�K����H���H���H���H���H���
�I��L��$PI�[I�s I��A^����H�\$WH�� H�H��H�H�ڋBW��A�H��`H�W(H�W8H�GdH�G0H�WtH�WPH�GhH�G@H�S0H�OA� H�GH�O H�GHH�GXA�&�H�SPH����H�\$@H��H�� _�H�\$H�t$ WH��@H�yH�H��H�����?���H��H#���H�úH���H�NH�F L���HcH��H��I;�u�H�>H���tH�\$`H��H�t$hH��@_�H��$H�L$ ���H�w2MH�L$ ���H�\$H�|$ ATH�� H��A�H��PW�H��H�� H�H�GTH�G E�D$H�GH�GXH�G0H�GdH�G@H�OL�gL�g(H�G8H�GHA���H���HLJ�W�H�OxH���H���H���H���H���H���H���H�S`L���E�D$L���HLJ�HLJ�A�j����H��H�\$@���H�|$HH�� A\���H��(�
�H��(��@SH��H��H�H�L$ �Ov��H�H@ KH0C @@K0HPC@@`KPC`@pH�A�@	H A@0I H@H�@PA0I@H�APH��H��[������������@SH�� H��$H��H���t
����H��H�� [������H�\$WH�� H�ً�H��8蝿��H�S(H��rH�KH��蟧��H�c H�C(�C@��t
� H���;�H��H�\$0H�� _��������������H�\$WH�� ��H��H�� �-	�H��8� ���H�S(H��rH��H�K�"���H�c H�C(�C@��t
��H����H��H�\$0H�� _�H�I$H�H�AH�BH�������������H�a$H�H�AH�BH�������������H��$H�H�AH�BH�������������H�Y$H�H�����H�IH�H�	鱄�H�IH�H�	�!��@SH�� H��H�QH�����H��H�� [���H�
�x���������H��M���������H���M���������H�	�M���������H�9�M�H�\$VWAVH�� H�ZPH�BH�BTH�H�B W�H�BXH�ZH�B0�H�rH�BdH�B@H��H�B(M��H�B8D�FH�BHH�QPH��C��L+�A�H�[H��u�H�\$PH��H�� A^_^����H�\$UH��$`���H���PA�H���`H�E�L�M�)E���H�E�E�Q�E�A�)M��A�Q�L�E�H�E�H�U�H�E�H��H�E�L�D$XH�E�L�D$ H�E�H�T$hH�E�H�U H�EL�U�H�E�H�D$pH�D$ H�D$pH�D$0H�D$tH�D$@H�D$xH�D$PH�E�H�D$`L�U�L�L$(L�T$8L�T$H)D$p)M��q���H��L�E�H���b���H��H��$�H�Ġ]���H�\$UH�l$�H��H��oMH3�H�EGH��H��txH�EH�E�H�5$H�EH�UH�EH�E?H�e�H�E��E�L�
$E3�A�PH�M��ŧ���L�EH�U�H�����H��H�MGH3���H��$�H�Ġ]�H��$H�M����H�%,MH�M��Ľ����H��H�XH�pH�x UH�h�H��H�oMH3�H�EOW�H�U�3�H��E7H�EG���H��H�U7�N��C���u#L�E7A���Ic����+ȃ�A��A�A;�uL�E7A��wIc����+ȃ� �о;�uL�E7A�?�QIc����?+ȃ�@몃�	u1L�E7A�A#�u
E�X�'Ic��tH��I#�H+�H�A�����
u,L�E7A���u
E�X��Ic��t�H����H+�H���ǃ�uQL�E7A���uA�@��Ic��t
H����H+�H��A�H�U7�BHcJt
H����H+�H���J���u&L�E7A�@�qIcH����+ȃ�A�H�V���������udL�E7A�PA#�uA�@A�@��.IcH��tH��I#�H+�H�A�HH�U7�B�BHcȨt
H����H+�H���JH�E7�x����u"L�E7A�@��IcH����+ȃ� �^������L�E7A�@��u
E�X��H�u�H�UH�U�A�H�}�H�MH�M�H�MH�M�H�MH�M�H�MH�M�H�MH�}�H�E�L�U�����)E)MD�
H�UH�M�H�MH�M�H�MH�M�H�MH�M�IcHH�u�H�}�H�}�H�U�H�E�L�U��P�`)E)MD���t
H����H+�H��A�HH�U7�BA�A�Hc�A��tH��I#�H+�HΉJC�
H�M7)A���uPL�E7A�@��u
A���IcH��t
H����H+�H�� A�HH�U7�Hc
t
H����H+�H���
�C��u"L�E7A�@�3IcH����+ȃ������"�4�����uKL�E7E��A�@��Ic��A#�+��A�H�U7�BHcJ�L���H����H+�H�� �:�����u(L�E7A���A�@��Ic����+ȃ� 묃��������u,L�E7A�@uA�t{A�Ict�H����H+�H�� �r������;�wUH�U7�BHcJt
H����H+�H���JH�U7Hc
D�tH��I#�H+�HΉ
H�U7HcJD�ZtH��I#�H+�HΉJL�E7I��L;E?tHcH��H��H;M?u�M��tH�UGI��I+�H���@���H��H�MOH3���L��$�I�[I�s I�{(I��]�@UH�l$�H��H��iMH3�H�EGH�EH�E�H��$H�EH�MH�EH�E?H�e�H�E��E�L�
$E3�A�PH�M�襡���H�UH�M����H�MGH3��{�H�Ġ]���@UH�l$�H��H�3iMH3�H�EGH�EH�E�H��$H�EH�MH�EH�E?H�e�H�E��E�L�
}$E3�A�PH�M������H�UH�M��G�H�MGH3����H�Ġ]�����������H��H�XH�pH�x UAVAWH������H��PH��hMH3�H��@L��H���H�H�I����H;��H�;H�H�OH�H�@�ĥ#H���H;�u�H�wH�H��H�@���#H����H;���H���BH���H���H+�H��H����L��H�I��肯H��0�BH�M���H�H��H�@�9�#L��H��$H�L$P����L��$H��H�L$0�����L�E�H��H�L$x���W��D$ H�H�L$ H�HH�L$(H� H�`H�T$ I���ёL��H�}�H��t:����O��u-H�H��H����#����G��uH�H��H�@���#�H�T$HH��r
H��H�L$0�?���H�d$@�H�|$H�D$0H�T$hH��r
H��H�L$P����H�d$`H�|$h�D$PM��H��I��贳�H�M�������(���H��@H3���L��$PI�[ I�s0I�{8I��A_A^]�H��$H�M����H�9#MH�M��ش�������@UH��H��H�E�H�EH�E$H�E�H�E�H�E�H�e�H�E��E�L�

$E3�A�PH�M��1����H�U�H�M��c���H�Ā]�����������H�� H�����H�\$H�t$ WH��0H�!H��H�aH��H�:H��t>��`�H�D$ H��t�W��H�HH�
�
$H�H�xH�;H�CH�&H�t$XH��H�\$PH��0_��H�\$WH��0H��H�L$ �q���H�L�H�H�WL�L�@H�PH�\$(L�GH��t9����C��u,H�H��H��o�#����C��uH�H��H�@�R�#H�\$@H��H��0_�H��(H�	H��tH��H��'�#H��(���@SH�� H���t
���H��H�� [����������������H��(H�IH��tH��H��ҡ#H��(��������������@SH�� H��H�JH��tM����uH�C�3�H�� [������H�\$H�l$H�t$ WH��H��H���z�H�8H��H�KH�H�@�R�#H��H�H�AHH��?�#����H�KH�H�@�&�#H���B��H;���A�H�T$0H�K�H�KH�H�@��#H�����H;���H�KH�H�@�Ѡ#H����H;�uH�KH���H9��tdH�KH�H�@���#L��H�H�A L�KL�EH��$�I��|�#�H�KH�� H������H��$�H��tH��H��L�#H�H;�����L��$�I�[I�kI�s(I��_����H�\$WH�� H�zL��rL�
H�yH��rH�H�zI��H�YH��H;�L��LB��C���uH;�s���3�H;���H�\$0��H�� _����H�\$H�t$WH�� H�I��bH��H�BH�XH��*H�K H�H���`�����tH�[3��H�_�H��G�{t�H�\$0H��H�t$8H�� _�H�\$H�l$ VWAVH�� 3�H��H�H�YH�YL�2H�jL;�teI+�H��������H��H��H;�wbH��H��r
H���4����
H��tH���5�H��H�H�H�_L��H�OI��H���%�H�H�OH�\$PH��H�l$XH�� A^_^�貳����@SH�� H��H�	H��tH�SH+�H���O���H�#H�cH�cH�� [������������H��	$H�H�����H��	$H�H�����H�
�Z��������H�
�]��������H��qM���������H�iqM�@USVWATAUAVAWH��$h���H��H�m`MH3�H���M��I��L��H�T$0H�L$8A�M9����W�D$HI�xH��t	�DI�xM�pL�t$@L�t$HH�|$PD$ I���L�H�T$ I����E��H�T$`H�L$ �]�H�P`H��PH��HDžH��PH��L��H��TH�� L��(H��XH��0HDž8H��dH��@HDžHW��P�`A� H��P��H��0�A;���D9y��W�3���H���H���H����+����L���M��L;��tOM�&I�$I��H�@�S�#H���H;�tI��L;��u��M��M��H�T$0H�L$8�����I���H�D$@ƀ��H���v��M����H���I+�H��I��貒���~I�E0D�M���E�A+�A+�A���IA+H+HA��A2�A2�tI��tEA�A�A�A�I���I�E0�HA+�JAƆ�A��H����3�I�E0D�<H��H��|��H�L$(H��t=����A�u2H�\$(H�H��H��6�#����C�uH�L$(H�H�@��#�H��t5����G�u*H�H��H����#����G�uH�H��H�@�ޚ#H���H3���H�ĘA_A^A]A\_^[]����H�\$H�t$WH��@H��H���H�T$ I������H�|$0�uHH�W H���W�����u8H�#H�cH�OHH��t�AH�OHH�G@H�t$XH�H��H�KH�\$PH��@_�H�
h$蓬���H�\$UVWATAUAVAWH��$����H��H��\MH3�H��xH�T$8H�L$@H���H�8H�|$HH��H�KH�H�@�͙#H���}H;���A�H�T$`H�K�H�8tYA�H���H�K�H�8�t=A�H��`H�K�z�H�8��~A�H���H�K�Z��x�aW�D$PH�CL�pL�t$(M��t�A�FL�pL�t$(L�xL�|$PL�t$XI���I9����3��`H��pH�SH�¸H��`����E3�H��hL��`I+�H��H��td3�H��L�t$8K��H�L$ H�H�@���#H����H;�uM���L�L�D$ I��H�L$@�l���I��H��xL;�r�H�\$0H�|$HL�t$(M��t)H��pI+�H��I������W���`H��pM��t;���A�F��u-I�I��H��	�#���A�F��uI�I��H�@��#H�H;�H�\$0�����H��xH3��{�H��$�H�ĀA_A^A]A\_^]�@UH��H��H�E�H�EH��$H�E�H�E�H�E�H�e�H�E��E�L�
i$E3�A�PH�M��!����H�U�H�M��S���H�Ā]���@UH��H��H�E�H�EH��$H�E�H�E�H�E�H�e�H�E��E�L�
!$E3�A�PH�M�蹑���H�U�H�M����H�Ā]���@SH�� H�zL��rL�
H�yH��rH�L�A3�L;BuI��H���	���u���H�� [������������H�\$H�t$ WATAUAVAWH��@L�D$0L��H��H�L$8L��L+9I��H�AH+H��I��������I;��L�hH�IH+H��H��H��I��H+�H;�vL�D$ H������-H�
M��I;�LC�M;���J�4�L�t$ H��rH������H��H�D$(�#H��tH����H��H�D$(�3�H�\$(L�t$ N�4�H�D$0H�I�L�GH�H��M;�uL+��M��L+��I�NL�GM+�I���д�H�H��tH�WH+�H���'���H�J��H�OH�H�OI��L�\$@I�[@I�sHI��A_A^A]A\_��r�����,�������@SVWATAUAVAWH��@L�D$0L��L��H�L$8H��I+I���������I��H��L�,I��I��H��?L�I�NI+I��H��H�H��H��H��?H�H�"""""""H;��bL�zI�NI+I��H��H�H��H��H��?H�H��H��H��H+�H;�vH�|$ H���,H�I��I;�HC�H;��Hk�xH��H�t$ H��r�m���H��H�D$(� 3�H��t�g�H��H�D$(�H�\$(H�t$ Ik�xH�H�NPH�H�FH�N�H�VH�FTH�F H�V(H�FXH�F0H�F8H�FdH�F@H�FHW�AH�T$0H��PA� �I�VM��L��I�L;�u�O�I���EL�FxM��I�VI���2�L��M��H��I���lH��H��@A_A^A]A\_^[�舨����B�����H�\$H�l$H�t$ WH�� I��H��H��H;���I�X(I+�H�K(H�C�W�H�H�K�H�C,H�C�H�V(H�C�H�C0H�CH�H�H�C<H�CA� H�CH�C A�H��xH�N�H�H��xH;�u�H�\$8H��H�l$@H�t$HH�� _��@SH�� L��H��H�QH;QtkH�JPH�BH�BTH�
H�B A�H�BXH�JH�B0W�L�JH�BdH�B@L�J(H�B8H�BHI�PPE�AA�Z�H�CxH�� [�H�� [�����H�\$H�l$H�t$WH�� H��I��H�	I��H��H��t.L�SH���������L+�I��I�H��H��H��?H�Hk�x�^���Hk�xH�l$8H�H�;H�CHk�xH�t$@H�H�CH�\$0H�� _�H��Ik�x�$�������H��H�XH�pH�x UATAUAVAWH��h���H��p	H��SMH3�H��`H�T$X3�H���W����H!��H���H�0H�t$pH�H;���H�KH�H�@�̐#H���|���H;��YA�H�U0H�K��H�8tYA�H���H�K��H�8�t=A�H��0H�K�z�H�8��A�H���H�K�Z��x��W�D$xH�CL�xM��t	�A�GL�xH�@H�D$xL�}�L���L�t$hI�FI9�fE3�3��t$0H���H�����H�SH!��H!��H���L��H�H����[����H���H�D$`H�8H;���D�d$HL�oL�l$PI�EI��H�@���#H������H;���W�E�I�EL�pM��t�A�FL�pL�l$PL� L�e�L�u�I��$�H�HH+H��H����D$8L�H�T$8H�L$X�]�H�KH�H�@��#H��H�T$8H�
H�AH���#H��H�����������D��H��0H�L$8���H�P`H��0H���HDž�H��0H���H���H��4H��H��H��8H��HDžH��DH�� HDž(W��0�@D�FH��0腭H��90�9p�	I��$�D� D;�	9p���L$H��DE�t$0��u�p�t$0D9 ��9p��H���H;��t
L�(H����L�D$PH���H��������H�L$@H��tD����A��u7H�t$@H�H��H��h�#����F��uH�L$@H�H�@�I�#�t$0M��t;���A�F��u-I�I��H��#�#���A�F��uI�I��H�@��#H�H��H;D$`�N���L�t$h3�H�KH9��v1�t$ E��E3�3�H�M����H�U�I���O���H��H�KH;��rϲ��E3�H���H+��H��H����W�E�L���K��H�zH��t�GH�zH�RH�U�H�}�3�H����H��H��|�Ƃ��K�����H��t9����G��u,H�H��H��
�#����G��uH�H��H�@��#I��L;��Z���H���H�AH� H�	H��tH�9�萂��H��H��u�H����w���H�t$pM��t;���A�G��u-I�I��H����#���A�G��uI�I��H�@�b�#H�H��H;��v���H���H��tH���H+�H������H��`H3��վL��$p	I�[0I�s@I�{HI��A_A^A]A\]Ã�H�L$@H��t=����A�u2H�|$@H�H��H��؊#����G�uH�L$@H�H�@���#�M���������A�F������I�I��H����#���A�F������I�I��H�@�r�#���M����������A�F���n���I�I��H��C�#���A�F����H�\$WH��0I��H��H�L$ H�H�a�P�]�H��H�GH�D$`H�H�H�J H�b8H�B@�B(H�bHH�GH�H�OH�YH�OH�Y3�H�O�DH��H��|�H��H�\$HH��0_�@SH�� H�L��H�RH��HcHI�H���#H��H�� [�H����������H�L$SH�� M��H��L�ŠT$0�$(H��H�� [������������@SH�� I��H��I��I��B�<
u�L��H��3��9�H�cH�cHKH�`H�@�H��H�� [�H�\$H�t$WH�� H��H�L$0H���#H�H������H�VH�N �`�H�N H�F(H+�H��H�N8H�F@H�\$8H�t$@H�� _��H�\$H�t$H�|$AVH��0L��I��H�L$0I��H�����H�L$ �L�ȋL��H��I����)L��$0A�� I�[H��#I�sI�{ I�I��A^���@USVWAVAWH��$8���H���H��0L�U�L�T$PA�L�U�L�t$XL�T$`L��@PH��(E�~�H`H�EI��L�� A�v�H�E�L�U�L�T$pH�EH�E�L�U�E�L�U�L�U�APH�EL�U�H�E�E�V�H�E L�U�H�E�H��H��HH�E,H�EH���H�E@H���H�EPH���H�E`H���H�EpH���H���H��@H�T$HEL�UA@PL���M�L�|$hI`L�|$x��H�u��H��8�D$@M(L�u�D�H�D$PAH`D�T$8H�D$0H�E�H�D$(H�E@H�D$ L�}�L�}�H�uL�uHL�}XL�}hH�ux��L��H��I���2H���A_A^_^[]����@USVWATAVAWH��$0���H���H��HL�U�L��0A�L�T$`H��H��@L�U�@PE�g�L�T$pH`H�E(I��L��8E�w�H�E�L�U�L�U�H�E(H�E�L�U�E�L�U�L�U�APH�E,L�U�H�E�E�W�H�E0L�U�H�EH��H��`H�E<H�EH���H�EPH���H�E`H���H�EpH���H���H���H���H��XH�T$PE(L�U A@PL���M�L�|$hI`L�d$x��L�e��H��P�D$HM8L�u�D�H�D$`AH`D�T$@H�D$8H�E�H�D$0H�EPL�}�L�e�L�eL�uL�}XL�ehL�exL�����H�D$(L��H��L�\$ H���%+H���A_A^A\_^[]����H�\$H�l$H�t$WH��0H��I��H�L$0I��H����H�D$(L��H��$`L��H��H�D$ H����4L��$0I�[I�kI�s I��_����@USVWAVH��$����H��@H���H��H��H�U�H���M��H�T$PA�@PH�U�I��H`H�T$`E�Q�E�A�L�L$XH�EL�T$hH�E�H�U�H�T$pH�EH�E�H�U�H�U�H�EH�U�H�E�H�E H�U�A�Q�H�E�E�H�E,L�T$xAPH�EM�L�E�I`H�M@H�U�L�M�L�U�L�U�L�EH�UEM(�ˋ���D$HW�H�D$@M���D$8H�D$P�D$0L��H�D$(H��H�E�H��H�D$ �5H��@A^_^[]��L��I�[I�kI�s WAVAWH��I��I��L��L��H�D$hI�CI�����H�D$`H��$�H�L$h�R�H��H��$�H��$��
���H��H��$��
����H�D$PH��$��T$HH��$��T$@H�|$8H�\$0H��$���L$(H��$���D$ L��L��I��I����:L��$�I�[(I�k0I�s8I��A_A^_�H�\$H�l$H�t$WH��PH��I��H�L$PI��H���c���H�D$@L��H��$�L��H��H��D�H��$�D�T$8H�D$0H��$�H�D$(H��$�H�D$ �2<L��$PI�[I�kI�s I��_��������������H��t}H�\$H�t$ WH�� 3�H��������H��H;�w[H�<�H��r
H���_w���
H��tH���`�H��H�H�L��H�F3�H���e�H�H�\$@H�FH�t$HH�� _��(�������H��t}H�\$H�t$ WH�� H��H��������3�H��H;�wXH��H��H��r
H����v���
H��tH���ҲH��H�H�H�NL��H��H�F�H�\$@H�FH�t$HH�� _�蜕������H�\$ UVWH��0I��H��H��H�UUUUUUUH9AtZH�L$ H�d$(�0�^�H��H�D$(H�HH�` H�`(H��谒���H�GH�NH�3H�KH�^H�H��H�\$hH��0_^]�H�
�#��������������@SVWATAUAVAWH��PL�D$ L��H��H�L$8L��L+1H�AH+H��H��������H;��L�`H�IH+H��H��H��H��H+�H;�vH�\$(H����,H�
I��I;�HC�H;���H��H��H�\$(H��r�Mu��H��L�D$ �H��t�I�H��L�D$ �3�H�\$(H�|$0I���L�M�~ L�|$@L�|$ I�fI�fI��I���y���L�t$ H�VH�L;�uL���L��L��I���YH�|$ H�VI��L��M���B�L��M��H��H���UI��H��PA_A^A]A\_^[�褓����^�����H�\$H�t$ WATAUAVAWH��@M��H��H��H�L$8L��L+!I��H�AH+H��I��������I;��NL�@L�D$0H�IH+H��H��H��I��H+�H;�vL�L$ I������-H�
M��I;�LC�M;��
N�<�L�t$ I��rI����s��H��H�D$(�#M��tI���ЯH��H�D$(�3�H�\$(L�t$ N�4�I�EI�H�VH�L��H;���H;�tH�I�M�@H��H;�u�H�VI�NH;�tH+�H�H�9H��H;�u�H�>tH�VH+H��H���s��H�H�D$0H��H�NI�H�NI��L�\$@I�[@I�sHI��A_A^A]A\_�H�I�M�@H��H;�u������趑����H��H�XH�hH�pH�x ATAVAWH�� H�)M��H��H��L�uI��4I��H�K �B����tH�[��tH�S I���&����HE�H��H��{tƀLD�I��H�S I�������tH��H��H�[�{t�H�\$@H��H�.H�l$HH�~H�t$PH�|$XH�� A_A^A\�H�\$ UVWH�� A�xI��H��H��u1L�GH��H������H��H�?H�K �=�PH���ir���t�H�\$XH�� _^]���H�\$ UVWH�� A�xI��H��H��uOL�GH��H������H��H�?H�S@H��rH�K(H���
r��H�c8�PH��H�C@�C(��q���t�H�\$XH�� _^]�H�\$H�t$WH�� H��H��H���<u�H�x�H���a H��H��t&H��tL��H��H���!�H�t$8H��H�\$0H�� _��}��H�\$UVWAVAWH�� H��������E��L��H��H;���H�iH��H��H;�wH��H��H��H+�H;�wH�*H��H;�HB�H��H�����H��HB�H��r
�lp��H���H��t�m���3�A��L�wM��H�_H���s�A�6H��rH�H�U�p��H�7H��H�\$`H�� A_A^_^]���������H�\$UVWATAUAVAWH��0L�qH��������H��M��I+�H��H;��H�iN�$2I��H��H;�wH��H��H��H+�H;�wH�*H��H;�HB�H��H�����H��HB�H��r�o���3�H��t脫H��D��$�M+�H�_M��L�gM�$7H��I�^L��$�H�\$ H��r9H�H���Q�M��A��I���S�L�D$ I�K�4�1�H�UH���o���&H����M��A��I����I�?L��K�4�H�7H��H��$�H��0A_A^A]A\_^]�認����H�\$UVWATAUAVAWH��0H�iH��������H��L�L$ H+�M��H��H;���L�qL�<*I��H��H;�wI��H��H��H+�L;�wJ�2H��H;�HB�H��H�����H��HB�H��r
�)n��H���H��t�*���3�L�L�~D��$�L�$/H�^L��H��I��r/H�H����L�D$ A��I����I�VB�D-H���Un���H���ۖL�D$ A��I���ۚB�D-H�>H��H��$�H��0A_A^A]A\_^]��r�����H�\$UVWATAUAVAWH��0H��$�H��������L�qM��H�D$ H��H��I+�H;��
H�iN�$2I��H��H;�wH��H��H��H+�H;�wH�*H��H;�HB�H��H�����H��HB�H��r��l���3�H��t��H��M+�L�gH�_M�$7M��H��M�nL��$�K�4H��r9H�H���•H�T$ M��I��貕I�M��K�4袕H�UH���m���'H��茕H�T$ M��I���|�I�?M��H���m�H�7H��H��$�H��0A_A^A]A\_^]�������H��H�XH�hH�pL�p AWH�� I��H��H9T$PwfH��H+D$PL;�wYH�|$PuI���PE�9I�L��L+t$PL�M�FL+��!L�D$PH��H���ݓ��t<H��M�FL+�H��A���d�H��H��u�H��H�\$0H�l$8H�t$@L�t$HH�� A_�H+�H�����H�\$UVWH��`�d$HH��H�	H��H��H�AH�D$@�xu-M�H�D$@L9H s�d$HH�@�H���D$HH��xtրzuH�B I9rH��C�H�3333333H9F��H��$�L��$�H�D$(L�
H�#H��$�L��H��H�D$ H�L$0�?�H�hH�`H�|$8H��t;H�W@H��rH�O(H���k��H�g8H�G@�G(H�L$8H��t
�P�j��D$@L��H�T$@H���D$@��[H��CH��H��$�H��`_^]��f���D��H�ɸ����A������D�E�E*�A��0D�	D�ʅ�u�H���������L��H��H���������I��H�����D�E�E*�A��0D�	L��H��u�H����������H�\$WH��PH��5MH3�H�D$@H��H�L$ H�L$=�]���H�gH�L$=H�G�H;�t4H�\$=H��H+�H��wL��H�_H���k���L��E3�H���m��H��H�L$@H3�藦H�\$pH��P_�������������H�\$WH��PH�G5MH3�H�D$@H��H�L$ H�L$=���H�gH�L$=H�G�H;�t4H�\$=H��H+�H��wL��H�_H���ˑ��L��E3�H���m��H��H�L$@H3��H�\$pH��P_�@SH�� I��H;�tBL+�H�AE3�M�T�M�@�H�KL�P�H�� H�D�P�H�@ H�H�H;�u�M��H��H����h��H��H�� [��@SH�� H��H��tH�cH�C�H�� H��u�H��H���h��H��H�� [�H�\$WH��@H�H��H�@�~q#H������H;�uH�\$PH��H��@_�H��#H�L$ �6���H���LH�L$ �Q��L�D$USVWH�l$�H��(H��3MH3�H�EH��H��H�M�M���|J��H�EЋ�?���H#�H���<��H��H9E���H�E�H�D$@H�t$ H�E`H�D$(H�E�H�D$0H��#H�E�D$ E��L$0�M�H�E�H�EH�d$0H�D$8�D$ L�
\�#E3�A�PH�L$ �+k���H�U�H�L$ �\o��H��H��詼��H��H�MH3���H��(_^[]�H���rdH��H�M��r�H��H�U�H�M��b��L��H���#H�L$p���L���#H��H�L$P��d���L��H��H�M��h��H�L$P��|���H�L$p��|���H�M���|���H�M���|��H�U�H�L$ �l'H��LH�L$ 蟀�H��#H�L$ �a���H���LH�L$ �|�����H�\$H�t$WH��0H�9H��H�q�H�H�H�@�=o#��t9H��H;�u�3�H�L$ ��H�D$ H�H�D$(H�t$HH�CH��H�\$@H��0_�H�H�#H�cH�GH��t�@H�H�G���H�\$H�t$WH��0H�9H��H�q�H�H�H�@��n#����H��H;�u�H�L$ 襢3�H�H�SH�H�HH�KH�H�PH�|$(H��t8������G�u*H�H��H��Sn#����G�uH�H��H�@�8n#H�t$HH��H�\$@H��0_�H�3�H�H�SH�GH��t�@H�H�GH�C�����H�\$H�t$WH��0H�9H��H�q�H�H�H�@��m#��t9H��H;�u�3�H�L$ �#cH�D$ H�H�D$(H�t$HH�CH��H�\$@H��0_�H�H�#H�cH�GH��t�@H�H�G���H�\$WH�� H��H��� 覟3�H�D$0L��H��t3W�H���#�AA�@A�@H�@�#I����I�P��I�H�L��I�@W�H�H��L�CH�\$8H�� _���H�\$WH�� H��H��� �&�3�H�D$0L��H��t3W�H�-�#�AA�@A�@H���#I����I�P��I�H�L��I�@W�H�H��L�CH�\$8H�� _���H�\$H�t$H�L$WH�� H��H���X蜞H��H�D$0H��t)W���C�CH���#H�H�KH���0��3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H�\$H�l$H�L$VWAVH�� I��I��L��H���8��H��H�D$@H��t/W���C�CH���#H�H�KL��L��I�����3�W�H�CH�H�_H��H�\$HH�l$PH�� A^_^���H�\$H�l$H�L$VWAVH��PI��I��L��H������H��H�D$pH��t}W���C�CH�2�#H�H�KH��$�H�D$HH��$�H�D$@H��$�H�D$8H��$�H�D$0H��$�H�D$(H��$�H�D$ L��L��I�����3�W�H�CH�H�_H��L�\$PI�[(I�k0I��A^_^���H�\$H�l$H�L$VWAVH��`I��I��L��H����蛜H��H��$�H����W���C�CH�G�#H�H�KH��$�H�D$PH��$�H�D$HH��$�H�D$@H��$�H�D$8H��$�H�D$0H��$�H�D$(H��$�H�D$ L��L��I���S��3�W�H�CH�H�_H��L�\$`I�[(I�k0I��A^_^���H�\$H�l$H�L$VWAVH��0I��I��L��H����裛H��H�D$PH��t9W���C�CH���#H�H�KH�D$pH�D$ L��L��I�����3�W�H�CH�H�_H��H�\$XH�l$`H��0A^_^�H�\$H�l$H�L$VWAVH��0I��I��L��H�����H��H�D$PH��tCW���C�CH���#H�H�KH�D$xH�D$(H�D$pH�D$ L��L��I���E��3�W�H�CH�H�_H��H�\$XH�l$`H��0A^_^���H�\$H�l$H�L$VWAVH��PI��I��L��H���X�_�H��H�D$pH����W���C�CH�6�#H�H��$�H�D$HH��$���L$@H��$���T$8H��$���T$0H��$���T$(H��$���T$ D�L��I��H�K�~�3�W�H�CH�H�_H��L�\$PI�[(I�k0I��A^_^��H�\$H�l$H�L$VWAVH��PI��I��L��H�����s�H��H�D$pH��t}W���C�CH���#H�H�KH��$�H�D$HH��$�H�D$@H��$�H�D$8H��$�H�D$0H��$�H�D$(H��$�H�D$ L��L��I�����3�W�H�CH�H�_H��L�\$PI�[(I�k0I��A^_^���H�\$H�l$H�L$VWAVH��@I��I��L��H����菘H��H�D$`H��tcW���C�CH���#H�H�KH��$�H�D$8H��$�H�D$0H��$�H�D$(H��$�H�D$ L��L��I������3�W�H�CH�H�_H��H�\$hH�l$pH��@A^_^���L��I�[I�kI�s WH��@H�(MH3�H�D$0H��3�I�K��ox�H�5��OH�t$ H�
P�2.H��H�EH;xsH�HH��H��uh�3ۀx$t�zH;xs
H�@H��H��uFH��tH���<H��H�L$ �HH���tXH�\$ H�\$ H���+zH�H�AH���d#H� �OH�L$(�BxH��H�L$0H3��n�H�\$XH�l$`H�t$hH��@_��V����L��I�[I�kI�s WH��@H�
'MH3�H�D$0H��3�I�K��kw�H�5��OH�t$ H�
��O�.-H��H�EH;xsH�HH��H��uh�3ۀx$t�yH;xs
H�@H��H��uFH��tH���<H��H�L$ ��HH���tXH�\$ H�\$ H���'yH�H�AH���c#H�$�OH�L$(�>wH��H�L$0H3��j�H�\$XH�l$`H�t$hH��@_��U����L��I�[I�kI�s WH��@H�	&MH3�H�D$0H��3�I�K��gv�H�5��OH�t$ H�
��O�*,H��H�EH;xsH�HH��H��uh�3ۀx$t�xH;xs
H�@H��H��uFH��tH���<H��H�L$ �HH���tXH�\$ H�\$ H���#xH�H�AH���b#H�(�OH�L$(�:vH��H�L$0H3��f�H�\$XH�l$`H�t$hH��@_��T����H�L$SH�� L��H�كd$@E��t(H�g�#H�H�e�#H�AH��#H�A �D$@H�HcHH� �#H�H�HcH�Q�T�H�cH�HcHH�E3�I�����L�CL�D$0I�HcHH���#J�I�HcH�Q�B�T�H�HcHH���#H�H�HcH�Q�T�H��H�� [�H�\$WH�� H��H���#H���H��H��tW���wH�G�3�H�{`L�SL�SL�CL�C L�K(L�K8H�K0H�K@H�SHH�SPH�CLH�CXI� H�!� I�"I�!�"H��H�\$0H�� _���H�\$UVWATAUAVAWH�� E3�H��L�qI��L�qI��M�xM�aI�@I�II+�O�,<L;�wVI;HwPAH��AHNM�pI�@E�0H�~rH�I�yrI�9M�D$H��J�8�L�n��I+�L;�wHAM�D$AINM�qI�AE�1H�>H��J�?�H�{rH�M��H��H���H��������H��I+�I;���I��H��H;�w�H��H;�HB�H��H�����H��HB�H��r�2V���
H��t�6�L��L�6L�nH�nH�{rH�M��H��I��� H�rH�?M�D$H��K�>�H�\$hH��H�� A_A^A]A\_^]��t����������H�\$ H�L$WH�� H���d$8��t+H�n�#H�H�l�#H�AH���#H����D$8H�YE3�H������H�HcHH�$�#H�9H�HcH��h����T9�H�\$@H���2���H�{�#H�H�ch�cpH��H�\$HH�� _��H�\$H�T$H�L$WH�� H��H��H�H�H��t�@H�
H�H�@��^#H�GH�H��t����A��uH��H��u^#H�#H��H�\$@H�� _����H��H�XH�pH�x H�HAVH��0I��I��H��L��螽H�D$@H�T$@H�D$`L��H�D$(L��I��H�\$ �g��H�\$HH���#H�t$PH�|$XI�I��H��0A^�H��H�XH�pH�x H�HAVH��0I��I��H��L�����H�D$@H�T$@H�D$`L��H�D$(L��I��H�\$ �f��H�\$HH���#H�t$PH�|$XI�I��H��0A^�H��H�XH�pH�x H�HAVH��0I��I��H��L����H�D$@H�T$@H�D$`L��H�D$(L��I��H�\$ �'f��H�\$HH���#H�t$PH�|$XI�I��H��0A^�H��H�XH�pH�x H�HAVH��0I��I��H��L����H�D$@H�T$@H�D$`L��H�D$(L��I��H�\$ �e��H�\$HH�'�#H�t$PH�|$XI�I��H��0A^�H��H�XH�pH�x H�HAVH��0I��I��H��L���n�H�D$@H�T$@H�D$`L��H�D$(L��I��H�\$ �?e��H�\$HH�C�#H�t$PH�|$XI�I��H��0A^�H��H�XH�pH�x H�HAVH��0I��I��H��L���ʽH�D$@H�T$@H�D$`L��H�D$(L��I��H�\$ ��d��H�\$HH���#H�t$PH�|$XI�I��H��0A^�H��H�XH�pH�x H�HAVH��0I��I��H��L��辽H�D$@H�T$@H�D$`L��H�D$(L��I��H�\$ �Wd��H�\$HH���#H�t$PH�|$XI�I��H��0A^�H�\$H�L$WH�� H��H��3��n�3�H�C�CH�C�C H�C(f�C0H�C8f�C@H�CH�CPH�CX�C`H��tH��H����q�H��H�\$8H�� _�H�
{�#�Bm��H��H�X WH��pH�L$ H��H�`�H��H�`�H�H�I���Om��L�D$0H�T$ H�L$P�D$ �VHH��H���e��H�T$hH��r
H�L$PH���Q��H�M�#H�H���CH��$�H��p_�H�\$WH�� H��H�P�#H�H�QH��W�H�K�KjH��#H�H��CH�\$0�GH�� _���@SH�� H��H��H�
�#W�H�H�SH�H�iH�t�#H�H��H�� [�H�aH�l�#H�AH�Q�#H�H�����@USVWATAUAVAWH�l$�H��M��H��L��H�M�L�eoH�EwH�E�H�EH�E�H���H�E�H���W��E�I��H�M���k���W��E�3�H�u�D�M�L�E�H�U�H�M��|R���H�L$ �L��L�E�H��I������H�]�H��tYH�}�H;�t1H�SH��rH��H��O��H�sH�C@�3H�� H;�u�H�]�H�U�H+�H���H���\O��W��E�H�u�L�
�e��� D�B�H�M���H���#I�I��I���I��8I��I��hI��M���M����?A��A��I��pI�� ILJ(I��0�I��8I��tI��@I��HI��xI��PILJXI���I��`ILJhW�AH�U�H��PA� ��vI���I���ILJ�I����I���I���I���I���I���I���ILJ�I���I���ILJ�W�AH�U�H��PA� �RvI��`I��ILJI�� �I��(I��dI��0I��8I��hI��@ILJHI��tI��PILJXW�AH�U�H��PA� ��u���A�������A��AƇ�I���I���ILJ�I����I���I���I���I���I���I���ILJ�I���I���ILJ�W�AA��I���d$ E3�E3�3����I����d$ E3�E3�3����H�]�I��H���X��3�H�CH�C H�C(H�}�I��H���X��3�H�_H�_ H�_(W��E�H�]�L�E�3�H�M��]��H�E�H�H�E�H�FH�E�H�FW��E�H�]�H�^H�^ H�^(�E�H�]�L�E�3�H�M����H�E�I�H�E�I�FH�E�I�FW��E�H�]�I�^I�^ I�^(I�L$I+$H��H��tI�EI+EH��H;�uI��H�ĘA_A^A]A\_^[]�H���#H�M��H���LH�M��qe�@USVWATAUAVAWH�l$�H��M��H��L��H�M�L�moH�EwH�E�H�EH�E�H���W��E�I��H�M���f���W��E�3�H�u�D�M�L�E�H�U�H�M��gM���H�L$ �L��L�E�H��I������H�]�H��tYH�}�H;�t1H�SH��rH��H��vJ��H�sH�C@�3H�� H;�u�H�]�H�U�H+�H���H���GJ��W��E�H�u�L�
�`��� D�B�H�M��҄H�s�#I�I��I���I��8I��I��hI��M���M����?A��A��I��pI�� ILJ(I��0�I��8I��tI��@I��HI��xI��PILJXI���I��`ILJhW�AH�U�H��PA� ��qI���I���ILJ�I����I���I���I���I���I���I���ILJ�I���I���ILJ�W�AI�UPA� �AqI��`I��ILJI�� �I��(I��dI��0I��8I��hI��@ILJHI��tI��PD�jM��XW�AH�U�H��PE�E�p���A�������A��AƇ�I���I���ILJ�I���A�U�I���I���I���I���I���I���ILJ�I���I���M���W�AA��I��E3�D�l$ E3�E3�3��z��I���D�l$ E3�E3�3��z��H�]�I��H���S��L�kL�k L�k(W��E�L�m�L�E�3�H�M��o��H�E�H�H�E�H�GH�E�H�GW��E�L�m�L�oL�o L�o(�E�L�m�L�E�3�H�M��(��H�E�H�H�E�H�FH�E�H�FW��E�L�m�L�nL�n L�n(�E�L�m�L�E�3�H�M�����H�M�I�H�M�I�NH�M�I�NM�nM�n M�n(I��H�ĘA_A^A]A\_^[]����@USVWAUAVAWH��H��M��H��H��H�M�L�}`H�]hW��E�I��H�M��a���W��E�H�e�D�M�L�E�H�U�H�M��H���H�L$ �L��L�E�H��H����H�]�H��t[H�}�H;�t2H�SH��rH��H��E��H�cH�C�H�� H;�u�H�]�H�U�H+�H���H���vE��W��E�H�e�L�
�[��A�E��A�UH�M��H�-�#H�H���H���Hdž�H���L���H���H���L���H���H���A�}H���H���H����_�H���W�AI�VPE�uE���KmH��`H��HdžH�� L��(H��dH��0L��8H��hH��@H��HH��tH��PH��XW�AI�WPE����l�H��H�ĀA_A^A]_^[]��@USVWATAUAVAWH�l$�H��M��H��H��H�M�L�}oL�mwH���W��E�I��H�M���_���W��E�E3�L�e�D�M�L�E�H�U�H�M��jF���H�L$ �L��L�E�H��H������H�]�H��tYH�}�H;�t1H�SH��rH��H��yC��L�cH�CD�#H�� H;�u�H�]�H�U�H+�H���H���JC��W��E�L�e�L�
�Y��A�E��A�T$H�M���}H��#H�H���H��H���H��H��pH�� Hdž(H��0L��8H��tH��@L��HH��xH��PHdžXH���H��`A�L��hW�AI�UPE�D$�kH���H���Hdž�H���A�T$�H���H���H���H���H���H���E�l$L���H���H���L���W�AI�WPE�D$�zj�E�������E3�D��H��pH�� Hdž(H��0A�T$�H��8H��tH��@H��HH��xH��PL��XH���H��`L��hW�A���H�]�I��H���M��L�{L�{ L�{(W��E�L�}�L�E�3�H�M��r��H�M�H�H�M�H�OH�M�H�OL�L� L�(�����H��H�ĈA_A^A]A\_^[]�@USVWAVH��H��E��H��H��H�M�H�]xW��E�I��H�M��\���W��E�H�e�D�M�L�E�H�U�H�M��'C���H�L$ �L��L�E�H��H�����H�]�H��t[H�}�H;�t2H�SH��rH��H��6@��H�cH�C�H�� H;�u�H�]�H�U�H+�H���H���@��W��E�H�e�L�
BV��� D�B�H�M��zH�A�#H�D��0�MP��4�MX��8�M`��<�Mh��@�Mp��DH��H�ĀA^_^[]��H�\$WH�� H��H��#H�H�QH��W�H�K��XH���#H�H�µ#CH�\$0H�H���GH�� _�@SH��0AL��H��H�T$ �D$ ��H���#H�H��H��0[��@SH��@H��
MH3�H�D$0H�L$ L��H�zH��rL�H�QL�D$ H�2�#�D$(H�W�H�L$ �.XH���#H�H��H�L$0H3��x{H��@[���@SH��@H�;
MH3�H�D$0H�L$ L��H�zH��rL�H�QL�D$ H���#�D$(H�W�H�L$ �WH��#H�H��H�L$0H3��{H��@[���@USVWATAUAVAWH�l$�H��H��	MH3�H�E�M��H��L��H�M�L�}L�}�H���H�u�H���W��E�I��H�M��Y���W��E�E3�L�m�D�M�L�E�H�U�H�M��E@���H�L$ �L��L�E�H��I�����H�]�H��tYH�}�H;�t1H�SH��rH��H��T=��L�kH�CD�+H�� H;�u�H�]�H�U�H+�H���H���%=��W��E�L�m�L�
bS��� D�B�H�M��wH�a�#I�I��XL�iL�iI����X����Eo�A�x�EwA��|I���I���gH���I���H��臦�����A������A���I�H��tI�WH+�H���u<��M�/M�oM�oH�H��tH�VH+�H���R<��L�.L�nL�nI��H�M�H3��yH�ĘA_A^A]A\_^[]�@USVWATAUAVAWH�l$�H��M��H��H��H�M�L�}oL�ewL�mH���W��E�I��H�M���W���W��E�H�e�D�M�L�E�H�U�H�M��d>���H�L$ �L��L�E�H��H���#��H�]�H��t\H�}�H;�t2H�SH��rH��H��s;��H�cH�C�H�� H;�u�H�]�H�U�H+�H���H���C;��W��E�3�H�]�L�
~Q��� D�B�H�M���uH�
�#H�H��@H�YH�YI����V���H��`H�YH�YI����V���H���H�YH�YI���V���H���H�YH�YI���V��������H��H�ĈA_A^A]A\_^[]�@SH��@H�;MH3�H�D$0H�L$ H�צ#L��H�H�QL�D$ H���D$(W�H�L$ ��SH�1�#H�H��H�L$0H3��wH��@[�H�\$H�t$H�L$WH�� H��H��H�H�HcBH�LH3�H��tH�H�@�C#H�HcJ9|u(H�LPH��tH;�t�GH�HcH9|@���@�@�~H��H�\$8H�t$@H�� _����H�\$WH�� H��H��#H�H�QH��W�H�K��RH���#H�H���#CH�\$0H�H���GH�� _�H��H�X WH��PH��H��H�L$@H�`�H�@��@�I��H�H��5��D$@L�D$ H�T$@H���h��H�T$8H��r
H��H�L$ ��8��H�$�#H�H��H�\$xH��P_����@SH�� H��L��H��P�W�H�SH�CTH�S(H�SdH�C H�CXH�S@I�PPH�C0A� H�H�CH�KH�C8H�CHA��`H��H�� [���H��(H�IH��t
�P�18��H��(�@SH�� H�H��tH�K�( H�K �( H�K(�( H�� [��@SH�� H��H�	H��t��' H�#H�� [�H��(H�Y�#H��]�H��(����H�A�L��HcPH�Ʈ#H�D
�H�A�HcPD�B�D�D
�H�A�HcPH�y�#H�D
�H�A�HcH�Q�B�T	�I�A�HcHH�m�#J�D	�I�A�HcH�Q�B�T	�����H�A�HcPH�E�#H�D
�H�A�HcPD�B�D�D
����H�A�HcPH��#H�D
�H�A�HcPD�B�D�D
����@SH�� H�Y`H�#�#H�H��t<H�KH��t&H�H�@��?#H��H��tH�H����?#�H���grH�� [��@SH�� H�K�#H��H��1H���#H�H�[`H��t<H�KH��t&H�H�@��?#H��H��tH�H���v?#�H���qH�� [����H�\$WH�� H��h���H��HcPH�I�#H��
h���H��h���HcPD��h���D��
d���H����F���H��h���H�\$0HcHH��#H��9h���H��h���HcH�Q�9d���H��x���HcHH���#H��9x���H��x���HcH�Q�9t���H��h���HcHH�y�#H��9h���H��h���HcH�Q艔9d���H�� _���@SH�� L�H��H��M�@����H��PH�� [�"5����@SH�� H��H�aH�	H�H�@�2>#H�H��t����A��uH��H��>#H�#H�� [���H�\$WH�� H�y(H��H��t9����G��u,H�H��H���=#����G��uH�H��H�@��=#H�SH��rH�H���l4��H�cH�C�H�\$0H�� _��@SH�� H��H�	H��t����A��uH��H��Q=#H�#H�� [����@SH�� H���TH�KXH��t�# H�cXH�KHH��t��# H�cHH�K8H��t��# H�c8H�K(H��t�# H�c(H�KH��t�# H�cH�KH��t�# H�cH��H�� [�+P���H��(H�H�HcHH�LHH��tH�H�@��<#�H��(��@SH�� H��H�I H��tH�S0H+�H���63��H�c H�c(H�c0H�KH��t1H�SL�C�Q3��H�SH+SH�KH����2��H�cH�cH�cH�� [����@SH�� H��H����J��H��h�J��H��8�J��H���J��H��8�J��H�S(H��rH�KH���2��H�c H�C(�CH�� [���H�9�#H���H��(H�IH��t)H�H�@�z;#L��H��tH��H�I��^;#H��(��@SH�� H��H���H��t+H���H+�H���2��H���H���H���H���H��t+H���H+�H����1��H���H���H���H��pH��rH��XH���1��H��hH��8HǃpƃX�WI��H�S(H��rH�KH���Y1��H�c H�C(�CH�� [���H�\$VH�� H���H��H��rH���H���1��H����H���ƃ�H���H��rH���H����0��H���H���ƃ�H��xH��rH��`H���0��H��pH��xƃ`H��XH��rH��@H���|0��H��PH��8H��Xƃ@�BH��H�S(H��rH�KH���D0��H�c H�s(�CH�\$0H�� ^�@SH�� H���L��u	H��'�H�H�HcHH�LHH��tH�H�@� 9#�H�� [����������H�\$H�L$VWAVH��H��H��3ۉ�$�H��H�L$@����8\$H��H�Hc@H�D8@H�HH�L$XH�H�@��8#�H�L$P���L��H�L$XH��t(H�H�B��8#L��H��tH�H��SI��s8#�H�LcHL�I�AH�D$PH�D$XA�IX(D$PfD$PI�H�t$(�L$ L�D$PH�T$`I��H�@0�(8#A��|$`AEى�$��H��$���$�A�H�Lc@L�A�H�I�@HH����A#�у�A�PA�@#�uO�oK��uH�L$@�u&�H�T$@H�HcHH�LHH��tH�H�@��7#�H��H��$�H�ĠA^_^�A��t	H�Ѥ#��H�ޤ#H��#HDغH�L$`��kL��H��H�L$p���H��LH�L$p�;H���@SH��0H���LH3�H�D$(H�H��H��u23�H�L$ �IH�;u���O���x�OH�H�H�L$ �MJH�H�L$(H3��yjH��0[����H�\$H�t$ WH�� H�H��H�H�ًA� �BD��H�A(H�BH�A8H�BH�AHH�B H�AXH�B(H�Q`H�O0��UH���H���H�GPH�OpH���D��H�GXH���H�G`H���H�Gh�UH��H��PH���D��H��(H���H��8H���H��HH���H����=U��xH��H�\$@H�t$H���H�� _���H�E3�H�PD8JtH�P�H;Bu*H�H��H�RD8Jt��L�E8HuI�I��L��D8Ht�H�H������H�\$WH���H��H��H�	H��$���H�SL�D$ ��L��H�HA@ AHH0A@ @@AH0HPA@@@`AHPA@`L�@pH�H�L$ A@�@AH A@@0AH H@H�@PA@0AH@I�@PL�CM���H��$�H���_�H��(L�I I�A�HcHH�e�#J�D	�I�A�HcH�Q�B�T	�I�A�HcHH��#J�D	�I�A�HcH�Q�B�T	�I�A�HcPH�
�#J�D
�I�A�HcPD�B�F�D
�H�p�#I�I���P�H��(��������@SH�� H���H����H�;�#H�H���xP�H�� [��HcA�H+��T����HcA�H+��|����HcA�H+�������HcA�H+�������@SH�� H���#H��H���t
� �eH��H�� [������@SH�� H���#H��H���t
� ��eH��H�� [������@SH�� H���#H��H���t
�X�eH��H�� [������@SH�� H��#H��H���t
�8�neH��H�� [������@SH�� H��#H��H���t
���>eH��H�� [������@SH�� H��#H��H���t
���eH��H�� [������@SH�� H�c�#H��H���t
���dH��H�� [������@SH�� H���#H��H���t
�X�dH��H�� [������@SH�� H�˨#H��H���t
���~dH��H�� [������@SH�� H�s�#H��H���t
���NdH��H�� [������H�\$WH�� ��H��H��#H��2N���t
�`H���dH��H�\$0H�� _��H�\$WH�� H�y��H��������t
��H����cH�\$0H��H�� _�H�\$WH�� ��H�y�H�Lc@H��#I�D�H�Lc@E�H�E�L�H�V�#H��M���t
�xH���scH��H�\$0H�� _��H�\$WH�� ��H�y�H�Lc@H�v�#I�D�H�Lc@E�H�E�L�H��#H��2M���t
�pH���cH��H�\$0H�� _��H�\$H�t$WH�� H�y`H�^�#H���H��H��t<H�OH��t&H�H�@�30#H��H��tH�H���0#�H���b@��t
�hH���bH�t$8H��H�\$0H�� _��������H�\$WH�� ��H������t
�xH���JbH�\$0H��H�� _�H�\$H�t$WH�� ��H��H��h����,�H�ܜ#H�H���L�@��t
��H���aH��H�\$0H�t$8H�� _���@SH�� H���t
���aH��H�� [����������������H�\$WH�� H��#��H�H�ًA ��~H�I�� �y	H�I�zaH�K(� H�z�#H�@��t
�0H���TaH��H�\$0H�� _�������@SH�� H�C�#H��H���t
��aH��H�� [������H�\$WH�� H��#H��H���H�I�. H�O �% H�O(� H��#H���t
�0H���`H�\$0H��H�� _���H�\$WH�� H�ً�H��8�<��H�S(H��rH�KH���$��H�c H�C(�C@��t
��H���[`H��H�\$0H�� _��������������H�\$WH�� H�ً�H��8�M<��H�S(H��rH�KH���O$��H�c H�C(�C@��t
��H����_H��H�\$0H�� _��������������H�\$WH�� H�ً�H��8��;��H�S(H��rH�KH����#��H�c H�C(�C@��t
�H���{_H��H�\$0H�� _��������������H�\$WH�� H�ً�H��8�m;��H�S(H��rH�KH���o#��H�c H�C(�C@��t
�0H���_H��H�\$0H�� _��������������@SH�� H��#H��H���t
���^H��H�� [������H�\$WH�� H�W�#H��H���H����<��t
�(H���^H�\$0H��H�� _���������������H�\$WH�� ��H���D���t
�HH���J^H�\$0H��H�� _�������������H�\$WH�� H�ً�H��8�=:��H�S(H��rH�KH���?"��H�c H�C(�C@��t
�(H����]H��H�\$0H�� _��������������H�\$WH�� ��H������t
��H���]H�\$0H��H�� _�������������H�\$WH�� H�ً�H��8�9��H�S(H��rH�KH���!��H�c H�C(�C@��t
��H���+]H��H�\$0H�� _��������������H�\$WH�� H�ً�H����9��H����9��H��8�9��H�S(H��rH�KH���!��H�c H�C(�C@��t
�H���\H��H�\$0H�� _������H�\$WH�� H�ً�H��8�8��H�S(H��rH�KH��� ��H�c H�C(�C@��t
�HH���;\H��H�\$0H�� _��������������H�\$WH�� ��H��H�Җ#H��F���t
�HH����[H��H�\$0H�� _��H�\$WH�� ��H�������t
��H���[H�\$0H��H�� _�������������H�\$WH�� ��H������t
��H���z[H�\$0H��H�� _�H�\$H�l$H�t$WH�� H��I��H�	I��H��H��tH�SL�����H�SH+H�H����e��H�+H��H�H��H�sH�H�l$8H�t$@H�{H�\$0H�� _��������H���#H�H�����H�1�#H�H�����H���#H�H��AB�I�J�H�ɠ#H�H�����H��#H�H�����H�Y�#H�H�����H���#H�H�����H�Q�#H�H�����H��#H�H�����H��#H�H�����H�y�#H�H�����@SH�� H�ك���A��u)H�H��~'#����C��uH�H��H�@�a'#H�� [�������������A��HD���H��(��t
� ���H��(��I��L��L��H��I���$������H�
����������H�
�h���������H�H���x�����H�
���������H�
����������H�
�����������H�
�X���������H�
�(���������H�
�(��������H�
�����������H�
���H�\$H�t$WH�� H�I��H��H��H;uA�xt��XH;�tSH�CH�ӀxtH�C�
H;Xu
H��H�@�xt�H���H�H�؀yuH�H��H�Ȁxt�H���H;�u�H�\$8H��H�t$@H�� _����H�\$WH�� H�ZE3�L��H��D8KtH�Z�
H;Cu'H��H�[D8Kt��H�D8IuH�H��H��D8Ht�I���(H��H�H �h��PH���+��H��H�\$0H�� _��H�\$H�t$H�|$ L�J3�I�H��H��L��@8ptH�B�
H;Pu'H��H�@@8pt��H�@8ruH�
H��H��@8qt�I�
M�@8quA8ptL���
L�@I;���I�RA8puI�PH�L9PuL�@�L9uL��L�BL�M9u)A8ptL���I�M��@8quH�L��H��@8pt�M�L�M9Qu%A8ptH���I�HI���H��H�I@8qt�I�AD�O�kH�AI�
H�I;uH���H�PA8puI�PL�I�	H�HI�	H�AH�L9QuH�A�I�JL9uH��H�AI�JD�HH�HA�J�HE�J@�D:���H�L;@��L��A8x��H�
L;���H�J@8quT@�yH�J@�rH�H�BH�@8puH�PH�BH�AH�H;PuH�H�H�BH;uH��H�HH�H�JH�J@8q��L�	A8yuH�A@8x��H�A@8x��A�yL�	@�qI�AH�I�A@8puH�HH�AI�AH�H;H��L�H�@8quU@�yH�
@�rH�AH�H�A@8puH�PH�BH�AH�H;PuH�H�H�BH;PuH�H�H�H�QH�JH�
@8quL�IA8y��H�@8x��@�qH�M��H�RL;X���H�AH;HuL�H�L�I�IL�IH�J�B�A@�zH�A@�xH�JH�H�BH�@8puH�PH�BH�AH�H;PuH�H�H�BH;uH��H�HH��H�@8xuSA�yL�I@�qI�H�AI�@8puH�HH�AI�AH�H;HuL�H�H�AH;uL��L�HI�	L�IH�
�B�A@�zH�@�xH�
H�AH�H�A@8puH�PH�BH�AH�H;PuH�H�H�BH;PuH�H�H�H�QH�JA�xH�KH��tH��H�KH�\$I��H�t$H�|$ �����%L��H�JA�� t�+H��A��t�#H��f�.*H��E��tD�H��A�Ѹ0#�A��t�� t;�u�A�2�GD�@���� u�f�;�u�a��gD�@���AD��I���A���H�\$UVWATAUAVAWH�l$�H���H���LH3�H�E�M��M��H�U�L��H�M��Eo�D$0L�uwH�}H��tA�,+��u��3�A�A�0#�;�t	H�Ŕ#�$H���#H�KH;�wA�<0u
A�D,X��HD�I���? H�E��.f�E��	$ H���E�H�U�I��� H��I�E@H�HH�M�H�H�@�m#�H�L$@边��H�E�H�M�H��t&H�H�@�H#H��H��tH��H��/#H�e�H�E��E�H�M�H��wH�}�L��3��vB�D=��E3�E3�H���I����L�M�H�}�LCM�H�M�H�N�7I��H�@8��#I�E@H�HH�M�H�H�@��#�H�L$@�
���L��H�M�H��t&H�H�@��#H��H��tH��H��t#I�H�U�I��H�@(�`#�I�I��H�@ �O#�D$1H;�t&I�I��H�@�6#��H�E�H�}�HCE��0H;�HDu�H�}�H�}�HC}ߊ<tED�d$1��~8H��H��H+�H;�s)H+�E��A�H��H�M��SPH�G�8HO��<u�L�e�H�u�I�}(H��~
H;�vH+��3�A�E%�AL�D$@H�U�I���D$@��@��=tCH�|$ D�t$0E���43��D$@L�M�H�}�LCM�H�\$ L�D$@H�U�I����`L�M�H�}�LCM�H�\$ ��D$@H�|$ D�t$0E��L�D$@H�U�I����
3��L�M�H�}�LCM�H�\$ �HD�t$0�A�D$@L�M�H�}�LCM�L�H+�H�t$ L�D$@H�U�I���3�I�u(�D$@H�|$ E��L�D$@H�]�H��I���@
�H�U�H��rH��H�M��-��H�u�H�E�@�u�H�U�H��rH��H�M����H��H�M�H3���OH��$H���A_A^A]A\_^]��H�\$H�l$H�t$ WH��H��H��3���$�H����H91���N0�NH��H��$�H��tWH�EH��tH�P(H��u
H�P0�H�͇#H�L$@�_�����cH�c�#H�H�L$ ��3CHK �3�H�@��t
H�L$@����L��$�I�[I�k I�s(I��_���H�\$H�l$H�t$ WH��H��H��3���$�H��tpH91uk�N�HMH��H��$�H��t>H�EH��tH�P(H��u
H�P0�H���#H�L$ 苿����cH��#H��3�H�@��t
H�L$ �Q���L��$�I�[I�k I�s(I��_����H��H�XUVWH��H��H��3��pH����H91���N0�LH��H��$�H��tcW�@@ H�EH��tH�P(H��u
H�P0�H�1�#H�L$ �þ������$��cH�
��#H�D��H��H���F��3�H�@��t
H�L$ �r���H��$�H�Đ_^]����������������A����H�\$H�l$H�t$ WH��A��H���� H��H�L$ �3H�cH�c H�c(H��$�@��H�5h�#uH�wH�L$ �l3L�D$P3�H���
���H�CL�D$ 3�H�
υ#���H�C L�D$ 3�H�
��#�ߝ��H�C(@��t�C.�,�H���KH�G��CL��$�I�[I�k I�s(I��_�H�\$WH�� H��H�a@H�a�a�AH�A H�a(H�a0H�a83��P
��JH��H��tW����-H�G�3�H�{@H�\$0H�� _�����������H�\$H�t$H�|$H�AH��L�H�I�@I;�uM�M�BM�BA�@�3�9ruL�@I;BuM�B�L�I;uM�I�@I���L�ZI�H�YL�I�H;���I�A@8p��L�II;�uII�H��H�AI�@8puH�HH�I�AH�H;HuL�H�H�H;uL��L�HI�	L��L��L��A�AI�H�H@�qI�H�HL�	I�AH�I�A@8puH�HH�AI�AH�H;HuL�H�H�AH;HuL�H�L�I�I��@8pu�A�@I�H�H@�qI�H�P�H�H;�uMH��H��H�@H�H�A@8puH�PH�H�AH�H;PuH�H�H�H;PuH�H�H�H�QL��H��AI�H�H@�qI�H�HL�II�H�AI�@8puH�HH�AI�AH�H;HuL�H�H�AH;uL��L�HI�	L�IH�B@8p�;���I�B�@H�\$I��H�t$H�|$�H�\$UVWATAUAVAWH�l$�H��H�M�LH3�H�EM��M��H�U�L��Eo�E�H�uwH�}H��t�,+��u��3�A�A%=uH�KH;�w�<0u�D,X��HD�I�A@H�HH�M�H�H�@�I#�H�M�蛯��L��H�M�H��t&H�H�@�&#H��H��tH��H��
#H�e�H�E��E�H�M�H��wH�}�L��3��T8�D=��E3�E3�H���'����L�M�H�}�LCM�I�$L�7H��I��H�@8��#I�F@H�HH�M�H�H�@��#�H�M����L��H�M�H��t&H�H�@�l#H��H��tH��H��S#I�$H�U�I��H�@(�>#�H�u�H�}�HCu���<}wSI�$I��H�@ �#D���6��~9H��H��H+�H;�s*H+�E��A�H��H�M��bFH�F�8HO���u�H�u�I�~(H��~
H;�vH+��3�A�F%�AL�E�H�U�I���E���@��=t@H�|$ D�e�E���I3��E�L�M�H�}�LCM�H�\$ L�E�H�U�I����\L�M�H�}�LCM�H�\$ ��E�H�|$ D�e�E��L�E�H�U�I����3��L�M�H�}�LCM�H�\$ �bD�e��A�E�L�M�H�}�LCM�L�H+�H�t$ L�E�H�U�I���(3�I�v(�E�H�|$ E��L�E�H�]�H��I���_�H�U�H��rH��H�M��L	��H�u�H�E�@�u�H�U�H��rH��H�M��&	��H��H�MH3��EH��$�H�İA_A^A]A\_^]���������������@SVWH��PH���LH3�H�D$HI��H��H��H�L$@H�\$@I�xtA�H��u#H���)��H�NH�D�H�T$ H�@��#�H�T$ H�|$8HCT$ L�D$0H���N)���H�T$8H��r
H��H�L$ �U��H�gH�gKOH�cH�C�H��H�L$HH3��DH��P_^[��@SH��`H��H�HcH�|u;�Dt4H�LHH�H�@h�#���uH�HcH�D�����D�T#�uH��`[��t	H�@~#���H�L~#H�]~#HDغH�L$ �VEL��H��H�L$0�B��H���LH�L$0�!�����@SUVWAVH�� H�|$pM��I��H��H��t`I�XH��tKH�C@E�E��H�8tH�CX�8~�H�K@H�H�BH�D�
�H�A��H��H�@�+#D��A���u�I��H��u�H���EH�� A^_^][�H�\$VWAVH��@H��H�L$(H�T$0L�qL+1I��H��������H;���H�4�H��r
H������H���H��t
H����A��3�H�\$ L�GH�H���H�H�H�RH��I;�u�H�H��tH�WH+�H���-��H�J��H�GH�H�GH�\$pH��@A^_^��G$�����@SUVWAVH�� H�l$pI��E��H��H��tYI�XH��tGH�C@E��H�8tH�CX�8~�H�K@H�H�BH�D�2�H�A��H��H�@��#D��A���u�H��u�H���H�� A^_^][��������H�)�L���������H�Y�L���������H���L���������H�y�L���������H�)�L���������H���L���������H���L���������H�y�L���������H���L���������H���L���������H�	�L�H��HH�L$ �J���H�ۍLH�L$ �����������H��(H�
�y#�����@SH�� �ApH��t5H�A@H�H��tH�CXHcH��H�CPHcH�C8HH�CH+H��H��H�CH� H�C8H� H�CP� H�C H� H�C@H� H�CX� H�ch�cp�H�� [����H��(H�
%�#�����H�\$H�t$WH��0H��H��H�IH�GH+�H;�w1H�H�H�GH��rH�H�A��H��L���G0H���3�D�D$ L��E3�H���C���H�\$@H�t$HH��0_������������H�\$H�t$WH�� H��H��H�ǀ<:u�H;yw"H�yH��rH�1H�yL��H���+�>�L��E3�H�����H��H�t$8H��H�\$0H�� _��H�\$WH�� H�YH��t�CH�YH�AH���@��H��t9����C��u,H�H��H���#����S��uH�H��H�B��#H�\$0@��H�� _��@SH�� ��?���H#��^��H��H�� [��H�\$H�t$H�|$ AVH�� H�9H��L�w�+M�FH��H��茏��I��M�6H�K �]���PH��� ��A�~t�H�\$8H�H�?H�H�fH�t$@H�|$HH�� A^����@SH��`�A���Q#�uH��`[èt	H�\x#��H�ix#H�zx#HDغH�L$ �s?L��H�L$0H���_��H���LH�L$0����I��H��I���u�������D�H��H�J��H�\$WH��@H��LH3�H�D$8H�L$ H���T$0H�L$ H�T$0�p���3�H��H�H�WH�H�H�AH�GH�H�QH�\$(H��t9����C��u,H�H��H��
#����S��uH�H��H�B��	#H��H�L$8H3��=H�\$`H��@_�̊A�������������@SH��0H��H�T$ H�Q H��H�cH�C�����H��H��0[��������������@SH��0H��H�T$ H�QH��H�cH�C�����H��H��0[�������������̊���������������@SH�� H�L$PI��L+��(H��H�� [��@SVWH��H���LH3�H��$�A�D$QH��A�+�D$P%H��I��A�Q�ʃ� �D$@AE����D$QL�D$RH�D$QIB���t�#H�����l����u�o���t�d����Ҁ� ��XD��$�L�D$P�PH�L$`�@�@�vHc�L�D$@H�T$0H�D$`��$�L��H�D$(H�ΈT$ H���I�H��H��$�H3���;H�İ_^[����@SVWH��H���LH3�H��$�A�D$QH��A�+�D$P%H��I��A�Q�ʃ� �D$@AE����D$QL�D$RH�D$QIB���t�#H�����l����u�o���t�u����Ҁ� ��XD��$�L�D$P�PH�L$`�@�@��tHc�L�D$@H�T$0H�D$`��$�L��H�D$(H�ΈT$ H���9�H��H��$�H3��:H�İ_^[����H��USVWATAVAWH�h�H��)p�H�e�LH3�H�E�I��M��L��L��E3�L�M�E�QL�U�D�MNjF�0#��u;�u	H���_�wH�~ H��~���u
��u�X�_3���Hc�= uL(�T�#f/�#v8H�U�(����E�3�+�iȗu������
����H�H�L�U�L�M�H�S2I;�wH�U�H�E�I��HCE���I+�E3�H�M�����H�]�H�}�HC]�D�NE3�H�U�I�����L���t$ D��H�U�H���\sHc�A$�E�H�E�H�}�HCE�H�T$0H�D$(�Ew�D$ L��L�E�I��I���*��H�U�H��rH��H�M��7���I��H�M�H3��9(�$�H�ĠA_A^A\_^[]���������������H��USVWATAVAWH�h�H��)p�H���LH3�H�E�I��M��L��L��E3�L�M�E�QL�U�D�MNjF�0#��u;�u	H���_�wH�~ H��~���u
��u�X�_3���Hc�= uL(�TF~#f/~#v8H�U�(��D��E�3�+�iȗu������
����H�H�L�U�L�M�H�S2I;�wH�U�H�E�I��HCE���I+�E3�H�M�����H�]�H�}�HC]�D�NA�LH�U�I����L���t$ D��H�U�H���qHc�A$�E�H�E�H�}�HCE�H�T$0H�D$(�Ew�D$ L��L�E�I��I���Z��H�U�H��rH��H�M��g���I��H�M�H3��87(�$�H�ĠA_A^A\_^[]���������������@SVWH��H���LH3�H��$�AI��L��w#L��$�H��H�ٺ@H�L$P�D$@�pHc�L�D$@H�T$0H�D$P��$�L��H�D$(H�ˈT$ H����H��H��$�H3��6H�Ġ_^[�����@SVWH��H�6�LH3�H��$�A�D$QH��A�+�D$P%H��I��A�Q�ʃ� �D$@AE����D$QL�D$RH�D$QIB���t�#H����f�I6���@4��u�o���t�d����Ҁ� ��XL��$�L�D$P�PH�L$`�@�@�oHc�L�D$@H�T$0H�D$`��$�L��H�D$(H�ΈT$ H�����H��H��$�H3��h5H�İ_^[��������������@SVWH��H��LH3�H��$�A�D$QH��A�+�D$P%H��I��A�Q�ʃ� �D$@AE����D$QL�D$RH�D$QIB���t�#H����f�I6���@4��u�o���t�u����Ҁ� ��XL��$�L�D$P�PH�L$`�@�@�{nHc�L�D$@H�T$0H�D$`��$�L��H�D$(H�ΈT$ H�����H��H��$�H3��H4H�İ_^[��������������@USVWATAUAVAWH�l$�H��H���LH3�H�E�I��M��L��L��D�mwA�A@u1A�E�H�D�EH�BHD�D$(D�l$ L�E�I��#�PI�A@H�HH�M�H�H�@���"�H�M��O���H��H�M�3�H��t'H�H�B��"L��H��tH�H��VI����"H�u�H�E�@�u�H�H�U�H��@8utH�@8�H�@0���"M�E�M�E�H�_(H�u�H��~
H;�vH+��3ۋG%���@t+A�E�H�\$ E��L�E�H�U�I�����A3�A�E�L�M�H�}�LCM�H�t$ L�E�H�U�I���e�H�g(�E�H�\$ E��L�E�I��I�����H�U�H��rH��H�M����I��H�M�H3��_2H�ĨA_A^A]A\_^[]�����������̊A���������������H�Q�����H�\$H�t$ WH�� I��H��I;�tH�y�H���[�H��H;�u�H�t$HH��H�\$@H�� _�������������H�Q������H�\$H�t$ WH�� I��H��I;�tH�y�H�����H��H;�u�H�t$HH��H�\$@H�� _�����������@SH��0H��H�T$ H�Q(H��H�cH�C���H��H��0[��������������@SH�� I��I��L+���H��H�� [����H�BL�HL9IuD9u��2���������@SH��0H�I��D��H�T$ H�@�"�"H�KL�HH�QI9Qu
�9u��2�H��0[���H�\$WH��@H�s�LH3�H�D$0L��H��H�T$ �/���H�T$ E3�L�D$(H��A��I;�tKH�HH��D8QtH�H�
H;Au
H��H�ID8Qt�H���L�	H��E8QuI�	I��L��D8Qt�I;�u�H�����H��H�L$0H3��0H�\$`H��@_��H��H�XH�hH�pWH��@H��I��H�P�H���j\��H�\$0�{uH�S H����[����tH�H�l$XH��H�t$`H�H�\$PH��@_��H�\$WH��pH�c�LH3�H�D$hH��H�HcHH�|HH��tH��H�L$X�Z�����|$`t2H�H��H�@h���"���uH�HcH�D�����D�T#�uV���uH�L$X�!��H�T$XH�HcHH�LHH��tH�H�B�A�"�H��H�L$hH3���.H��$�H��p_��t	H�vh#���H��h#H��h#HDغH�L$ �/L��H��H�L$0�x���H��{LH�L$0�����������������H�A������������H�A8������������H��H�XH�PUVWH��0H��H��3ɉH�W�H�
H�JH�J�@�H���H��H��H��L�@L+I��H�CH+H��L�H�AH+H��L�H�BH+H��L�t%H��������L;��I��H����H���H�{H��*H�\$PH�VH;Vt
H�H�F�
L�D$PH���x{��H�� H;�u�H��H�{H��*H�\$PH�VH;Vt
H�H�F�
L�D$PH���9{��H�� H;�u�H��H�{H��*H�\$PH�VH;Vt
H�H�F�
L�D$PH���z��H�� H;�u�H��H�{H��*H�\$PH�VH;Vt
H�H�F�
L�D$PH���z��H�� H;�u�H��H�\$`H��0_^]��9�����������H��H�XH�PUVWH��0H��H��3ɉH�W�H�
H�JH�J�@�H��H��H�PH+H��H�CH+H��H�t"H��������H;���H���g�H��H�{H��*H�\$PH�VH;Vt
H�H�F�
L�D$PH����y��H�� H;�u�H��H�{H��*H�\$PH�VH;Vt
H�H�F�
L�D$PH���y��H�� H;�u�H��H�\$`H��0_^]��$
������H�T$SH��0H��3҉T$ W�H�H�SH�S�D$ H9�htH��XH�D$@L�D$@H���6y��H��H��0[����������L��I�[I�SWH��0H��H���d$ W�3�H�BH!H!BH!B�D$ H��@I�CM�C3�H����x��H��`H�D$@H�SH;St
H�H�C�
L�D$@H���x��H���t-H���H�D$@H�SH;St
H�H�C�
L�D$@H���mx��H���t-H�ǠH�|$@H�SH;St
H�:H�C�
L�D$@H���6x��H��H�\$PH��0_�����H�\$WH��@H��LH3�H��$0H��H��H�L$ 3�A��H�L$0��H�L$0襖����H�L$ �H��H�L$@�`l��L��H�HcHB�DX0H��I���ݼ��H��H�L$H��S�H��$��r����H�"c#H��$�H��$��U�H��H��$0H3��Q)H��$`H��@_ø����������̸����������̸���H��H�XH�pH�x UATAUAVAWH�h�H��@H�ƷLH3�H�E0L��E3�D�|$TL���I�$H�H;��L�B L��H�CD8xtH�C�
H;Xu
H��H�@D8xt�H���H��H�D8yuH��H�H��D8xt�M�v@H�U�I��迆����L$TH�L9xt_I�I��H�@���"H���4UH;�uBI�I��H�@��"H��H�xrH�H�D$ L�
:h#E3�H�P�n~��H���@�tA���D$TtG�d$T�H�}�H��t9����G��u,H�H��H���"����G��uH�H��H�@���"@����I�I��H�@���"L�}L�}H��H�M�����L��g#H�U�H�M���L�EI��I���:W�E�I�I��H�@���"H���+TH;���I�~I�vH��t�FI�vH�}�H�u�W�E�L$X�D�|$\D�|$PD�|$`D�|$dD�|$hH��8I�I��H�@�,�"L��H�|$HH�D$XH�D$@H�D$\H�D$8H�D$PH�D$0H�D$`H�D$(H�D$dH�D$ L�L$hH�U�H�M�褊���W�fD$pH�M�H��t�A(E�fD$pH�T$pI����
W�E�L�E�H�U�I����R��L�}�A�uI�W H�M��_R����tM�<$I�HH��t�GI�HI�O@H�M�H�}�E3�M9��t(I���L�D�|$(D�|$ E3�M�@H��I��舴
�L��I��I��茲
�I��H��t:A����GA�u-H�H��H����"A����GA�uH�H��H�@���"�H�M�H��t?A����AA�u2H�}�H�H��H����"A����GA�uH�M�H�H�@���"�H��t:A����FA�u-H�H��H��o�"A����FA�uH�H��H�@�R�"�H�U(H��rH��H�M��L�} H�E(D�}H�UH��rH��H�M����I;$t	M�E ���H�M0H3��$L��$@I�[0I�s@I�{HI��A_A^A]A\]�H��X#H�M����H�*pLH�M����H��H�XH�pH�x UATAUAVAWH�����P�$H+�H�
�LH3�H��@L��H�U�3�D���t$PL���I�H�8H;���L��H�}�H�G@8ptH�G�
H;xu
H��H�@@8pt�H���H��H�@8quH��H�H��@8pt�@�t$`I�L$@H�H�@���"H���\QH;��mI�t$@H�H��H�@���"H���6QH;��H���!�D$UI�t$@H�H��H�B���"H���QH;��. H���!�D$XI�t$@H�H��H�B�j�"H����PH;���H�����D$TW���I�t$@H�H�AH��.�"H���PH;��rH�^H�]�H�FH�E�H��t�@H�FH�E�D�t$PH���H���H���3�H���	H���	H���	����H���H��p	H��x	H��`	�d���@8t$Tt.H���H���H���H��p�;��H��pA���H�E8H�u0@�u H�E A����	H��	H�pH�@@�0A��t*A��H�U8H��rH��H�M ���H�u0H�E8@�u �D��t A��H���H��rH��H��p��@8t$Ut.H���H��`H��hH��P�p��H��PA���H�EH�u@�uH�EA����	H�
H�pH�@@�0A��t*A��H�UH��rH��H�M��H�uH�E@�uA��t A��H��hH��rH��H��P���@�t$X3�@��t0H��H��@H��HH��0���H��0A��3��H�E�H�M�M�H�E�A�� D�t$P�
H�(
H�HH�@�A�� t0A���D�t$PH�U�H��rH��H�M��A�3�H�M�H�E��M�A��t%A���D�t$PH��HH��rH��H��0��L���	H���I���cL��H����{�VH�S H���	��K�����>M�D$@H�S@I���	�
L��`	H��I���L��H���{�H�S H��`	�K������M�D$@H�S@I���
�|$TtPL���	H��8I���K��H��H�{��H�S H���	�3K������M�D$@H�S@I���b�
�|$UtPL���	H�� I���eK��H��0�{�XH�S H���	��J�����@M�D$@H�S@I����
@��tPL��
H��I���K��H���{�H�S H��
�J������M�D$@H�S@I����
I�D$@L���H���I+�H��H�����D��H���I�	�\JH�P`H��pH�� HDž(H��pH��0H��8H��tH��@H��HH��xH��PHDžXH���H��`HDžhW��p��D�FH��p�	L��`	H���I����I��H����{��H�S H��`	�cI������D��H��pH�K@�pIH�P`H���H���HDž�H���H���H���H���H���H���H���H���HDž�H��H���HDž�W����D�FH����2�t$ H���D�D��H��0�H�������H�����D$\H��P�@�E�I�t$@L���L+��I��L�}�H�H��H�@�g�"H����IH;��dH���CH�D$p�H;���L;���I�D$@H���H���H+�H��E3�H����L�"D��H���I���GH���
H���
HDž�
H���
H���
H���
H���
H���
H���
H���
H���
HDž�
H��H���
HDž�
(� )��
(�0)�H���HcH�L$pH;���A��H��H������H��I�$H�AI��(�"H��L��Z#H���r���L��L���T$XH����˅��A��@D�t$PH��(H��rH��H�����L�� �H��(D��H��H��rH��H����p��L��H��D���H���
�H���
D��@�D$ A�H��@
�{��D�|$ E3�D��3�H��@�b��W��	I�$I��H�@�+�"L��H��@H�D$ L��@
H���H��	�|���W�f��H��	H��t��CH��	D�t$P(�	f��H���I����
L��H�M�H�I@H���H���H+�H��H���wM��H�I����
H�E�L�@@I��I���ݥ
�E3�H��tMA��A����CA�u7H��	H�H��H��=�"A����CA�uH��	H�H�@��"D�t$PH���H��rH��H�������H��H;t$p�����L�e�M�D$@I���I���H+�H��H����H�I�����
I�D$@H���H+��H��H�M��$v"HcL$\H;�uL�|$p�I��H��H�L$p�L�e�I�D$@L���I�I;�tGD�l$`A�H�KH�H�@�J�"H���EE��H;�ED�H�H��I;�u�D�l$`L�m�L�e�H�E���x�A��;�v�D$W�	�T$W��t	���D$Vu�T$V3�H��	W����H!�	L�|$pI��HcD$\H��H��H���L�E�H��H����Cb���3�H���W����H!��L�D$YH��H����b���W��pH��pH��x�P�H�H�@H�@f�@H��pW�3���	H���	I�T$@H�¸H���	�C���3�H�\$xH���e
3�H���H���H���	H�������H���H���H��
H����u����H�t$hM����H��I��H�E�L�<I�\$@I��H�����H��H�H��H�B�p�"H��L�NV#H�������L��L���T$YH��@����A��H���H��rH��H�������3�H����sH������H���H��rH��H������H���H������I�\$@I��H��`�U�H��H�H��H�B���"H��L��U#H�������L��L���T$YH��x
�U���A��H���H��rH��H����4��3�H����sH������H��xH��rH��H��`���H��pH��x��`I�\$@I��H�� ��H��H�H��H�B���"H��L��T#H��@�>���L��L���T$YH�� ���A��	H��XH��rH��H��@�v��3�H��P�^H��X@��@H��8H��rH��H�� �@��H��0H��8@�� H�L$hH��H�D$pH9E��LI��L�|$xI�D$@H���H���H+�H��H;��!H��H��h
H��p
H��H��X
��A��
D�t$PW��0	D�}�H�E�H�D$8H���H�D$0H���	H�D$(H��`	H�D$ L���	L��X
H��@H��0	�"y���W�f��H��8	H��t��AD�t$P(�0	f��H���I���N�
H��W��@	D�}�H�E�H��|H��`L��HL��DL��@H�E�H�D$HH�L$@H�T$8L�D$0L�L$(L�T$ L���L��@H��x
H��@	�w���W�f��H��H	H��t��AD�t$P(�@	f��H���I����
L��H�E�L��H��I����
I�L$@L���H���I+�H��H;��UL��I��I��贞
L���	H���I����n>��H���{�H�S H���	��=������
L��H�S@I���b�
L��`	H��I����>��H��(�{��
H�S H��`	�=������
L��H�S@I����
�|$TtRL���	H��0I�����=��H��@�{�c
H�S H���	�:=�����K
L��H�S@I��距
H�D$hH��tkH�X�HcL$\H��H\$xH���M��H��I��腝
H���L��H��I���o�
3����}������L�|$xM�������H��H+�H������|$UtRL���H��HI����<��H��X�{��H�S H����l<�����}L��H�S@I����
3�@8t$XtRL���H��`I����<��H��p@8s�:H�S H����<�����"M��H�S@I��莜
L�'P#H�� H����d��H��H���H;�t@H���H��rH��H��������K��H�sH�C@�3H���H��rH��H����i��W�� 	�t$ E3�E3�3�H������H�D$ L���L��x
H���H�� 	��q���W�f��H��(	H��t��FH��(	D�t$P(� 	f��H���I���
�
L��L��H�U�I���d�
�|$`t/I�L$@L���I�$I;�tL�CI��I���9�
H�H��I;�u�L�l$hLcD$\M��Ll$xH���N�<�L�d$pI��L9d$ht�|$V��H�exH���H���H�Mh�)�L���L���L���H��PH��p�
e��H�H��(H�EhH;�t8H�SH��rH��H������EhMxK��H����Eh�H���L�{ H��r
H��H�Mh����H��tMA��A����FA�u7H��(	H�H��H����"A����CA�uH��(	H�H�@���"D�t$PH�t$hI;�r�|$W�HL��M#H�� H������H��H���H;�tAH���H��rH��H��������K��H�cH�C�H���H��rH��H������W��P	�d$ E3�A�YD��3�H��p����H�D$ L���L��x
H���H��P	�!o���W�f��H��X	H��t�^H��X	D�t$P(�P	f��H���H�M��^�
L��L��H�U�H�M�跘
H���N�<�L9d$h��E3�L�ePL�eXH���H�M@���L�}`H�D$xH��H���L���H��`H��p�b��H�H��(H�E@H;�t5H�SH��rH��H�����E@MPK��H�EXD�e@�H�UXL�{ H��r
H��H�M@�V���A��H��tIA����FA�u7H��X	H�H��H��Y�"A����CA�uH��X	H�H�@�8�"D�t$PH�t$h�A��H��H	H��tIA����AA�u7H��H	H�H��H����"A����CA�uH��H	H�H�@���"D�t$PH��8	H��tIA����AA�u7H��8	H�H��H����"A����CA�uH��8	H�H�@���"D�t$PH��p
H��rH��H��X
�2���H��8H��rH��H�� ����H���
H��rH��H��x
����H��XH��rH��H��@����H��H�t$hL�|$pI;�L�m�L�e�H�E��N�H�\$xH���H��rH��H�������H���H��rH��H����{��H��H�\$xHcL$\H;����3�@8t$`�~3�W����H���H��pH�@8s��H���L�C(H;�t$H�qH�qI����H���H�� H����H��H����mU��H���H�C@8ptH�C�
H;Xu
H��H�@@8pt�H���H��H�@8ruH��H�H��@8pt�@8suH����h���I�L$@H�H�@���"H��H
H��P
H��H��8
�R��L��H#H��8
H��`�����W���	��]�L�M�L���H��`H���	�Vh���W�f�H���	H��t	�XD�t$P(��	f�H��I����
H��H��pH�	H�M�3��L��H�QHI���S�
H�M�����H�M�8Yt�D�L$\A���A�I�8\$VIE�H��0�H���D�A8\$WDD�D�L$ D�H���
���L��G#H��8
H��������W���	L���
L��`H���H���	����W�f�H���	H��t��HD�t$P(��	f�H��I����
H��L��H��I���[�
L��I�T$@I����
�H���	���H���H��r"H��H�������L��I�T$@I�����
�H���	�b��H��xH��rH��H��`�E���H��P
H��rH��H��8
�(���H���3�H��t?L���H����F��H���H���H+�H�������W����H���I�T$@I�����
I�L$@H�H�@���"H��M���I�������H���	H��t%H���	H+�H�����H���	W����	L��pM�@H��pH��p�V���PH��p�H���H���H��t%H���H+�H���(��W����H���H���H��t%H��	H+�H�����W����H��	H��0
H��rH��H��
�����H��
H��rH��H���	����H���	H��rH��H���	����H��x	H��rH��H��`	�r���H���	H��rH��H���	�U���H�M�H��t�֨��I;?��H��@H3��L��$PI�[0I�s@I�{HI��A_A^A]A\]�H��7#H�������H��OLH����(���2�����,����H�
4;#�_������������H��7#H�������H�@OLH�������H�
�:#��������H�
�:#���H�T7#H��x�|���H��NLH��x���H�-7#H����U���H��NLH����n��H�7#H����.���H��NLH����G����H�\$H�t$WH��`A��H��H���g���H�gP� H��H�_H�:H�H�GXu�G�O�����G#�u@��tH����H�\$pH�t$xH��`_��t	H�<#���H�*<#H�;<#HDغH�L$ �4L��H�L$0H��� ���H�aOLH�L$0�����H�\$WH�� H�YH��t�CH�YH�AH��@��H��t9����C��u,H�H��H��(�"����S��uH�H��H�B��"H�\$0@��H�� _��H�\$WH�� H�YH��t�CH�YH�AH���@��H��t9����C��u,H�H��H����"����S��uH�H��H�B���"H�\$0@��H�� _��H�\$H�l$H�t$WH��0I��A��L�AH��L;�rvH�AI+�H;�w=H�yI�0H�AH��rH�H�L+�I��H�3H������L��H����H���L��@�l$(H��H�t$ E3��0S��H�\$@H�l$HH�t$PH��0_�調����H��H�XH�pH�xL�p AWH��0M��I��L�AH��L;���H�AI+�L;�wwH�yK�H�ArH�	L�<K�I;�vJ�L;�wM;�w3��I��I+��H��L+�K�I��I����L��I��I����L��J�3L+�J�;H���H���3�H�|$(L��L�t$ D��H����T��H�\$@H�t$HH�|$PL�t$XH��0A_�輾������H��H�XVH��@H��W��@�H�`�H�P��G�H�|$ tOH�\$ �)H�SH��rH��H��v��H�cH�C�H�� H;\$(u�H�T$0H+T$ H���H�L$ �C��H��H�\$PH��@^��H���L�H�AH������@SH��0H�T$ H��A��u(H�bL�
�7#H�BE3��H��A�P�����#A����H�cH��H�CH����Q���H��H��0[���������H�I7#�H�\$VWAVH�� H�ZPH�BH�BTH�H�B W�H�BXH�ZH�B0�H�rH�BdH�B@H��H�B(L��H�B8D�FH�BHH�QPH��C��L+�A��ىH�[H��u�H�\$PH��H�� A^_^��H�\$WH��@H���LH3�H�D$8H�L$ H���T$0H�L$ H�T$0�\��3�H��H�H�WH�H�H�AH�GH�H�QH�\$(H��t9����C��u,H�H��H����"����S��uH�H��H�B���"H��H�L$8H3��@�H�\$`H��@_��H�\$WH��0H��H�L$ �\��H�H� H�H�PH�`H�\$(H�WH��t9����C��u,H�H��H��0�"����C��uH�H��H�@��"H�\$@H��H��0_�����̃��������������H�\$H�l$H�t$ WAVAWH�� �ApD��H���]���u3��TH�A@H�QXL�HcI�M��t*L;�s%�ȉH�K@H�H�BH�I�@D�2H�ChA���H�C� L�8I+�I��H�H#�H;�rH�����?s H�<6H��s!H��t
H����3������H;���H���_���H��L��I��H���n�H�.��H�B+�H�Ch�H�C H�(H�C@H�H�CX��CptH�CH�(H�C8H� H�CP�(�)H�C8L�KhL�H�CM+�L�E+�H�(H�C8L�H�CPD��Cp�tH��I���`����Cp���CpH�CX�H�K@H�H�BH�D�2�����H�\$HH�l$PH�t$XH�� A_A^_����������������H�A8E3�L�M��t<H�AL;v3���tA:P�t�Apu"H�AP�H�A8H����t	H�A8H��ADы�Ã���H��H�XH�pH�x UATAUAVAWH�������H+�)�$�)�$�D)�$�D)�$�D)�$�H��LH3�H��pL��H�T$x�e�H���H�E�H�H�0H;����D�?#�D�?#�D
�?#H��H�F�xt"H�F�
H;pu
H��H�@�xt�H��H�E��#H��H�E�H��yuH��H�M�H�H�Ȁxt�L�j@L�l$hI�MH�H�@���"H���{(I�MH;���E3�L9���A�H����%H��H���HDž�H��H���HDž�H��H���HDž�H��H���HDž�H��H���HDž�(�P)�(�`)�W���M�uI�I��H�@���"H���'H;��
M�fI�~H��t�GI�~L���H���I�D$0L���L���H�H����Z���I��$HI+�$@H���������H��L�,I��I��H��?L�L�}���L�|$pM��L�}�H�D$hH�H�H�@�?�"H��L�U3#H��p艹���I��$8L�M�H��H���諸���H���H��rH��H��p辺��W���L���H�� L�u�I���$��H��0D8{uH�S H����#����tI�L�sHM��t	�A�FL�sHL�{@L���L���H��`H��HDžH��`H�� HDž(H��dH��0HDž8H��hH��@HDžHH��tH��PHDžXW��`�pI�E�H�L$pI�$@H9E�t>H�YxH������L��H���H�����3ɋ�
�
`H��H�� r��<H�� ���L��H��0H����U��3ɋ�
��
`H��H�� r�3�H�����u
H�����H��H�� |�I���H��xH;�tH�KPA� H����s�H�KxH���H;�tH��PA� H��@�M���h���I�I��H�@��"H���!H;���I�OI�_H��t�CI�_H���H��H;�tH��PA� H��`���E3�H��t:����C��u-H�H��H��Z�"����C��uH�H��H�@�=�"�M��t<���A�F��u.I�I��H���"���A�F��uI�I��H�@���"�H���H��rH��H���请��H�]�H��H�]�L�u�I�� L�u�H�D$pxI;��e���H�\$hL�I���I���H+�H��H����H�L�d$xI����
H�H�H�@�s�"I��$�L��H��@��H�H�H�@�P�"H��I��$��D���H���H��rH��H������H����A��A����GA���H�H��H����"A����GA��aH�H���LH�H�@�̿"H����"I�}H��H;�H�H�@��W������"H���"H;���H�_L�L�}�E3�M��t
�A�GL�L�}�H���L�����8tKM����A��A���A�GA���I�I��H��&�"A���A�GA���I�I���|D9�4��I�MH�H�@��"L��pL��xH��H��`����I�EH���H���H+�H��H����H�H�E�H�C0L���L���H�H����C���D��4D�u���0�\$ D�˺D��H����r��C�fn�[��AY�����D,�A��D�L$ E3�3�H��p�@���%�}�ȃ����<+��|$pH�� ���H�؉|$ D�ϺD��H�����L��H�\$ ��A�H��p���3�H���
W����
H!��
E3�E����fn�[��AY��*��H,ȋ�W��H*���+ȍA�W��H*�(��X��^�H��pH���
����L��H���
L�t$xI�N��H���
H�E�H��t�@H�U�H�M��7^���L�U�E3ɺH���H���L���HcH��H��I;�u�L;���Hc�3�I��H��L��3�H��W�H��x�H*��H��H���H��H*��X��^��\�AT�A(��\�W�M��x�I*��I��H��A��I��H*��X��^��\�AT�A(��\��Y��C�I���8���A��H���H���]���L��/#H��`H�MP�s����L��L���T$`H�����Z�����]�H�UhH��rH��H�MP謲��3�H�}`H�Eh@�}PH��0H��rH��H���~���H���2��H�ظ�D$ D��D����H��0��L��H�\$ ��A�H��������W��A�L��H���H��	��I���L��H���H�������H��	�����W�fEH��H��t�A(�fEH�UI����
H���
H;��
t!H�xH�xH���H���v��H���
 �L���H��H���
��:��W���L���H��8I���H�����H��H�{uH�S H����.����tH�H�{HH��t�GH�{HL�s@L���H���I�I��H�@��"H���4��H;���E3�H���
I���A�A��H��t:A����GA�u-H�H��H��Ϲ"A����GA�uH�H��H�@���"�H��H��tEA����AA�u8H��H�H��H����"A����CA�uH��H�H�@�a�"�H���H��rH��H��������H�e�H�M�H�H�@�-�"H�M�H��t#A����AA�uH��tH��H���"H�e�H���
H��t#A����AA�uH��tH��H��͸"H���
A��D;e��|$p�X���M�EI���I���H+�H��H���zH�L�d$xI����
L�K,#H��`H��0�ȭ���L��0I�UI�����
W�� H��pH�D$(H���H�D$ L���
L���H��`H�� �-O���W�fEH��(H��t�A(� fEH�UI����
W�E�L��`H��PI��$�H�����H��`�{uH�S H��`�z����tH�L�sHL�t$hM��t�A�FL�sHL�t$hH�C@H�E�L�u�W���L��0H��hH�����H��x�{uH�S H��0�����tH�H�{HH�}�H��t�GH�{HH�}�H�S@H���H���L�E�I���4�
I��$�L��0H��6��H��0I��$��͹��L�E�H�U�I���)w
�E�����E3�D��L�t$xH�}�W���H���
I�L��H���H�����L���A�}uI�U H���;����tL�/I�]HH��t�CI�]HI�U@H���H���L�E�I���v
�H��t=A��A����CA�u,H�H��H���"A����CA�uH�H��H�@��"I�� I���9���H�}�L�t$hL�}�L�d$xA��H��t:A����GA�u-H�H��H����"A����GA�uH�H��H�@���"�M��t<A���A�FA�u.I�I��H��a�"A���A�FA�uI�I��H�@�C�"�H��(H��tEA����AA�u8H��(H�H��H���"A����CA�uH��(H�H�@��"�H��HH��rH��H��0襫��H��@HDžHƅ0H���
H��t@L���
H���
謫��H���
H���
H+�H����R���W����
H���
H���H��rH��H����#����H��xH��rH��H��`�����M����
���!�"H���QH;���
I�L$ H��`�D��H�H�yH��hH��t9����C��u,H�H��H��г"����C��uH�H��H�@���"H���'
W���I�}H�H��H�@���"H���H;��U
L�L�wL�t$pM��t�A�FL�wL�t$pL���L���I����8�v	�x�l	A���^	I�MH�H�@��"H���H���H��H�������I�EH���H���H+�H��H����	H�H�E�I�G0H��H��H�H����h���H���H��0HDž8H���H��@HDžHH���H��PHDžXH���H��`HDžhH���H��pHDžxW�����I���A� H����`�I��3�W����
H���
H�H�xH;�t`H���
H;�t)H�`H�`H��H���x��H���
H�� H���
�L��H��H���
��1��H���
H�� H;�t	H���
�I��H�}�W����
3�H���
H�L�gI;�t`H���
H;�t)H�`H�`H��H������H���
H�� H���
�L��H��H���
�W1��H���
H�� I;�t	H���
�I�� H�����n��A���D$`�A��E�I�W8H��p肷����\$ D��D�Ë�H��p���M�EI���I���H+�H��H����H�H�L$x芺
L���
L���
M;���H�|$hL�t$xH�u�W���M��H��HH���ٳ��H�H�YHH��t�CH�YHL�a@L���H���L�I��I����
H���
I�������t9A�H��0I����H��H��pH;�tH�PPA� H������H��tH�����I�� M;��J���H�}�H�u�L�t$p�L�� A��3�+‹�H���+�A�L�� L���A�A�3�+‹�A+H�A�AL���
L���
L�l$xM;�t{H�|$hL�u�W��M��H��@I��讲��H�H�ZHH��t�CH�ZHH�R@H��H��L�I����
�H��tH������I�� M;�u�H�}�L�t$p�L�m"#H���H�������L���H�D$hH�I����
H�GH+W��\$ D��D��H�� ���PH����[��H��pH�L$PH�M�H�L$HH�L$`H�L$@H�D$8H���H�D$0H��0H�D$(H���
H�D$ L���
L���H���H��P�^C���W�fE�H��XH��t�X(�PfE�H�U�I��詚
�H��P���H��0���H��pH�L$HH�M�H�L$@H�L$`H�L$8H�D$0H���H�D$(H��0H�D$ L���
L���H���H�����A���W�fE H���H��t�X(��fE H�U I���
�H���躺��W�E�L���H��8I����}���H�L�{HL�|$hM��t�A�GL�{HL�|$hH�[@H�]�L�}�H���:��ƀ5L��H�U�I����l
L���
L���
M;�trL�t$xL�}�W�E@M��H��I�����H�H�zHH��t�GH�zHH�]�H�R@H�U@H�}HL��I���l
�H��tH���n���I�� M;�u�L�t$pL�|$hL���
L���
M;�trL�t$xL�}�W�EpM��H��XI���z���H�H�zHH��t�GH�zHH�]�H�R@H�UpH�}xL��I���l
�H��tH�����I�� M;�u�L�t$pL�|$hW�E0L���H��PL�m�I���	���H�H�zHH��t�GH�zHH�]�H�R@H�U0H�}8L��L�d$xI���a�
I��$�L���H���*��H���I������H��t	H���M����M��t	I���?����H���H��rH��H���蒡��H���HDž�ƅ�H���
H��t@L���
H���
虡��H���
H���
H+�H����?���W����
H���
H���
H��t@L���
H���
�M���H���
H���
H+�H�����W����
H���
H��H��rH��H����Ġ���H���H��rH��H���觠���M��tNI���)����DM��t?A��A���A�FA�u-I�I��H����"A���A�FA�uI�I��H�@���"I;�$��.�H��pH3���L��$�I�[0I�s@I�{HA(s�A({�E(C�E(K�E(S�I��A_A^A]A\]��G���H��#H�����H�t(LH�����H��#H�������H�M(LH�����������H�{#H������H� (LH���輹�I���'��H��H�H�AH����"L��H��#H����J����L��#H��H����c����H��H����`��H��)LH����P��H��#H������H��'LH����)���3����-���I�����H��H�H�AH���"L��H�W#H���諝���L�;#H��H���Ĝ���H��H�����_��H�)LH���豸�H�I#H����q��H��&LH���芸��������H�\$WH�� H��H���k�H��H�����H��H��荶��H��H���H���>�
H��H��H�\$0H�� _�J	�������������H�
�3�H�bH�BH����������������H��H�XH�hH�pH�x AVL�q8L��H�A@M��I�>H�H��t
I9JhsI�JhI�BI�jhD�D$0H��H�H+�E��tXA��tA����H���EA����<��A��tH��u	H����H��H+��A����H��uH��uzH����3�L�L;�wkM��tA��tH��t[A��tH��tPN�A��tH��tM�A+�I�BP�(A��t*H��t%I�BXHcI�B@HI�B A+�H�I�B@L�I�BX�L��H�
�H�bH�\$3�H�l$H�t$ H�|$(H�BH��A^��������H��H�XH�pH�xL�p L�q8L��H�A@A��M�XMI�6H�H��t
I9JhsI�JhI�BM�JhH�8I��H+�L;�whM��t��tH��tY��tH��tON���tH��t
M�E+�I�BPD���t*H��t%I�BXHcI�B@HI�B A+�H�8I�B@L�I�BX�L��H�
�H�b3�H�\$H�t$H�|$L�t$ H�BH�����H�\$WH�� H�YH��t�CH�YH�AH�H0H�yH+9H��H��t9����C��u,H�H��H��m�"����S��uH�H��H�B�P�"H�\$0H��H�� _���H�\$H�t$ UATAUAVAWH��H��`L��W�E�H�J H�U��35���H�E�H�pL�`M���A��I;���W�E�L��H�U�I�����L�u�A�~��I�V H���������I�^HH��t�CI�^HI�F@H�E�H�]�ƀ�H�E8I�MHH�QH;Qt
H�H�A�
L�E8�����A��H��t9A����CA�u,H�H��H��F�"A����CA�uH�H��H�@�)�"H�� I;����)���I�H��H�C@H���u0ƀ�H�C@H�E@I�MHH�QH;Qt
H�H�A�	L�E@�>��H�C�xtH�C�
H;Xu
H��H�@�xt�H���H��H��yuH��H�H�Ȁxt�{�u���H�M�H��t>A����AA�u1H�]�H�H��H��X�"A����CA�uH�M�H�H�@�:�"L�\$`I�[0I�sHI��A_A^A]A\]�H�
I
#�t�����H��H�XH�PWH��0H�ڃ`�H�bH�B��@��Apu.H�A@H�8H��t"H�A L�H;yhHByhI+�H��H��wJH�z�3�ApuIH�A8H�H��t=H�AL�H�APHc8I+�H�H��H��wH�{L��I�����;�E3�H������H��H�\$@H��0_��H�\$H�t$WH�� H��L�D$83�W�3�H��H�AH�RH+H��H�H�YH�Y���H�H�FH+�H��H��t0��H�H�yrH�	H�H�� H��H��H�H�FH+�H��H;�r�H�\$0H��H�t$@H�� _��������@SH�� H����-��H��H�� [��@UH��H��H�E�H�EH��#H�E�H�E�H�E�H�e�H�E��E�L�
1#E3�A�PH�M��	����H�U�H�M��;���H�Ā]���@UH��H��H�E�H�EH��#H�E�H�E�H�E�H�e�H�E��E�L�
�#E3�A�PH�M�衚���H�U�H�M��Ӟ��H�Ā]���@UH��H��H�E�H�EH�
#H�E�H�E�H�E�H�e�H�E��E�L�
Q#E3�A�PH�M��9����H�U�H�M��k���H�Ā]���@UH��H��H�E�H�EH��#H�E�H�E�H�E�H�e�H�E��E�L�
	#E3�A�PH�M��љ���H�U�H�M�����H�Ā]���@UH��H��H�E�H�EH��#H�E�H�E�H�E�H�e�H�E��E�L�
#E3�A�P$H�M��i����H�U�H�M�蛝��H�Ā]���@UH��H��H�E�H�EH�}#H�E�H�E�H�E�H�e�H�E��E�L�
�#E3�A�PH�M������H�U�H�M��3���H�Ā]���@UH��H��H�E�H�EH��#H�E�H�E�H�E�H�e�H�E��E�L�
A#E3�A�PH�M�虘���H�U�H�M��˜��H�Ā]���@UH��H��H�E�H�EH��#H�E�H�E�H�E�H�e�H�E��E�L�
i#E3�A�PH�M��1����H�U�H�M��c���H�Ā]���@UH��H��H�E�H�EH��#H�E�H�E�H�E�H�e�H�E��E�L�
�#E3�A�PH�M��ɗ���H�U�H�M����H�Ā]���@UH��H��H�E�H�EH��#H�E�H�E�H�E�H�e�H�E��E�L�
�#E3�A�PH�M��a����H�U�H�M�蓛��H�Ā]�����������@SH�� H�H��H�@0�j�"��;�tH�CPH�K8H�H�BH����H�� [�����L�I8H��M�M��tQH�APHcI�L;�sA��H�B@H�8t3�Bpu-H�JhH;HBI;�vH�JhI�I�+�H�BP�H�B8H��Ã�������������̋� �������H�\$H�|$ UH��H��pH��H��H��H�U����H��8H�U�����ŵ��H��hH�U����誵��H���H�U����菵�������������H��8�pH�E�H��H��H�E�H��X(E�H�E�H��h��H�E�(M�������H�����H�E�H�����H�E�H���(E�H�E�H�����H�E�(M���� H���H�HH+H����x�����p�����tH��(�`H�E�H��8�pH�E�H��H(E�H�E�H��XH�E�(M��0�@�PL�\$p�`�����|H�����H�E�H�����H�E�H���(E�H�E�H�����H�E�(M�����������H��0�hH�E�H��@�xH�E�H��P(E�H�E�H��`�H�E�(M�� �0�@H�����H�E�H�����H�E�H���(E�H�E�H���I�[ �PH�E�(M��`�p��I�{(I��]�����@UH��H��@H�����H�E�H�����H�E�H���(E�H�E�H�����H�E�(M�������H��(�`H�E�H��8�pH�E�H��H(E�H�E�H��X��H�E�(M���� H��@]������H�\$H�|$ UH��H��pH��H��H���H�U����H���H�U�����ű��L�\$p���H��8�pH�E�H��H��H�E�H��X(E�H�E�H��h��H�E�(M�������H��H�HH+H����8H�����H�E�H�����H�E�H���(E�H�E�H�����H�E�(M���� ����0����4����<H��8�pH�E�H��H��H�E�H��X(E�H�E�H��h�@H�E�(M��P�`�p��������I�[ ���I�{(I��]���������������̋�4�����0�����8�����<�����@�����D����������H�\$WH�� H��XH��H�xH��rH�H���A���������x�����|���H���H���H+�H��I;�uH����x�H���A�H���H+�H��I;�uH����L����H�\$0���H�� _������H��@H�xrH�H���H��`H�xrH�H���H���H�xrH�H���H���H�xrH�H�������������@SH��0��H�A@H�HH�L$(H�H�@�>�"�H�L$ �.��L��H�H�A@��I���"��H�L$(H��t)H�H�B��"L��H��tH�H��I���"��H��0[��H��H�XH�hH�pH�x AVH�� I��L��H��I��M��~jH�G8H�H��t6H�GP�8Hc~*H;�H��HM�I��L����H�GPH+�)(H�O8Hc�H� H�H��H�@8�d�"���tA�H�˽L�H���H�l$8H+�H�\$0H��H�t$@H�|$HH�� A^������������H��H�XH�hH�pH�x AVH�� I��L��H��I��M��~kH�F@H�H��t6H�FX�8Hc~*H;�H��HM�I��L���)�H�FXH+�)(H�N@Hc�H�!H�H��A�H�@���"���tH�˽L�H���H�l$8H+�H�\$0H��H�|$HH�t$@H�� A^���H��)O�L�D$L�L$ SUVWH��8I��H�l$xH��H������H�l$(L��H�d$ L��H��H��'�����H�H��8_^][���H�zH��rH�L�BH������H�\$H�t$ ATAVAWH��pL��H��H�L$(E3�D�t$ I��I��F84:u�H�HcHH�t(H��~
I;�~I+��3�H��H�L$8�:N����|$@uA��!H�HcH�D%���@tdH��~_H�HcHD�LXH�LHH�A@E��H�8tH�AX�8~�H�I@H�H�BH�D�
�H�A��H�@��"D��A�����H���H�HcHH�LHH�M��I��H�@H��"I;�u[H��~aH�HcHD�LXH�LHH�A@E��H�8tH�AX�8~�H�I@H�H�BH�D�
�H�A��H�@���"D��A���uA�D�t$ H�HcHH�d(�H���D�t$ H�\$(H�Lc@L�A�HA�I�@HH���҃�у�A�PA�@#�uR�ѣ��uH�L$8��~���H�T$8H�HcHH�LHH��tH�H�B���"�H��L�\$pI�[0I�s8I��A_A^A\èt	H�1�"��H�>�"H�O�"HDغH�L$(�H��L��H��H�L$H�4G��H�uLH�L$H蛠���H�\$H�l$H�t$WH��@H��I��H�L$@I��H�����H�D$8L��H��$�L��H��H���H��$x�D$0D�H��$pD�T$(H�D$ ��L��$@I�[I�kI�s I��_��������������@SVATAVAWH��pM��L��H��H�L$(E3�D�t$ H�HcHH�t(H��~
I;�vI+��3�H��H�L$8�KK����|$@uA��>H�HcH�D%���@��H����H�HcHD�LXH�LHH�A@E��H�8tH�AX�8~�H�I@H�H�BH�D�
�H�A��H�@�!�"D��A���uOE�pD�t$ H����H�HcHD�LXH�LHH�A@E��H�8tRH�AX�8~I�H�I@H�H�BH�D�
�GH���J���H�HcHH�LHH�M��I��H�@H���"I;�t�A��H�A��H�@���"D��A���uA��D�t$ H�HcHH�d(�H���M���D�t$ H�\$(H�Lc@L�A�HA�I�@HH���҃�у�A�PA�@#�uH�Š��uH�L$8��{���H�T$8H�HcHH�LHH��tH�H�B��"�H��H��pA_A^A\^[èt	H�/�"��H�<�"H�M�"HDغH�L$(�F���L��H��H�L$H�2D��H�s
LH�L$H虝���������@SH�� H�H�ٲ
HcHH�������H���	H���h���H��H�� [����@SUVWATAUAVAWH��HH��NLH3�H��$0I��M��D��L��$�H��$���$�L��$�;���3�A��H�L$0�N��H�L$0�O,���H��H�{rH�L�CH�L$@����H�@#H�����H�ȋ��H��H�@#���H��H�rH�L�GH�����H��#H���s���H�ȋ��YH��H�#�Z���H������L�l$ L�L$0M��A��I���2��H��$��K���H�l�"H��$�H��$�蟧�H��$0H3�螾H��HA_A^A]A\_^][���@SUVWATAUAVAWH��HH�EMLH3�H��$0I��M��D��L��$�H��$���$�L��$�;���3�A��H�L$0�ޭ�H�L$0��*���H��H�{rH�L�CH�L$@�S���H��#H���D���H�ȋ��*H��H��#�+���H��H�rH�L�GH������H��#H������H�ȋ���H��H��#���H���R���L�l$ L�L$0M��A��I������H��$��LJ���H���"H��$�H��$��/��H��$0H3��.�H��HA_A^A]A\_^][���H�\$H�l$H�L$VWAVH��@I��I��L��H����苻H��H�D$`H��tVW���C�CH��#H�H�KH��$�H�D$0H��$�H�D$(H��$�H�D$ L��L��I���R����3�W�H�CH�H�_H��H�\$hH�l$pH��@A^_^����H��H�XH�pH�x H�HAVH��0I��I��H��L���!H�D$@H�T$@H�D$`L��H�D$(L��I��H�\$ �[���H�\$HH�#H�t$PH�|$XI�I��H��0A^�@USVWAUAVAWH��H��M��H��H��H�M�L�}`H�]xW��E�I��H�M�躚���W��E�H�e�D�M�L�E�H�U�H�M��W����H�L$ �L��L�E�H��H�������H�]�H��t[H�}�H;�t2H�SH��rH��H��f~��H�cH�C�H�� H;�u�H�]�H�U�H+�H���H���6~��W��E�H�e�L�
r���A�E��A�UH�M�輸H�-#H�H���H���Hdž�H���L���H���H���L���H���H���A�}H���H��H����_�H���W�AI�VPE�uE����H��hH��Hdž H��(L��0H��lH��8L��@H��pH��HH��PH��|H��XH��`W�AI�WPE��菥�Mh����Ep���H��H�ĀA_A^A]_^[]�����H�\$H�L$VWAVH����H��3ۉ�$�H��H�L$@�xB���8\$H��H�Hc@H�D8@H�HH�L$XH�H�@���"�H�L$P� ��L��H�L$XH��t'H�H�B�~�"L��H��tH�H��SI��d�"H�HcHL�9I�AH�D$PH�D$XA�IX(D$PfD$PI��t$(�L$ L�D$PH�T$`I��H�@H��"A��|$`AEى�$��H��$���$�A�H�Lc@L�A�H�I�@HH����A#�у�A�PA�@#�uO�a���uH�L$@�gs���H�T$@H�HcHH�LHH��tH�H�@���"�H��H��$�H�ĠA^_^�A��t	H���"��H���"H���"HDغH�L$`�ڸ��L��H��H�L$p��;��H�LH�L$p�-��������������@SH�� H��#H��H���t
���~�H��H�� [������H�\$WH�� H�ً�H��8�}���H�S(H��rH�KH���z��H�c H�C(�C@��t
��H����H��H�\$0H�� _��������������H�\$WH�� H�ً�H��8�
���H�S(H��rH�KH���z��H�c H�C(�C@��t
��H��諵H��H�\$0H�� _��������������H��"H�H�����H�
�h<��������H�)ZL�H�\$WH��p��H��H�L$(�d$ H��H�L$8�Y?����|$@uA�A���mH�HcHH�LHH�A@D��H�8tH�AX�8~�H�I@H�H�BH�@�:�H�A��H�@�W�"D��3�D�JA���ADщT$ �A��T$ H�\$(H�Lc@L�A�H�I�@HH����A#�у�A�PA�@#�uI襕��uH�L$8�p���H�T$8H�HcHH�LHH��tH�H�B�ˁ"�H��H��$�H��p_�A��t	H�
�"��H��"H�+�"HDغH�L$(�$���L��H��H�L$H�9��H�QLH�L$H�w��������H��H�XH�pH�x UATAUAVAWH������H���
H��CLH3�H���	H���E3�D�l$@H���s
H��W����	H�L��H�H���	若���H�SL�D$DH���	�]����H���	H�D$`H�H;��KA��L�d$`H�KH�H�@���"H�����H;��UH�sH�H��H�@���"H�����H;���H�NH��t�AH�NH�FH�E�H�M��L$@H��HD9(��H�sH�H��H�@�*�"H���r�H;��|H�NH��t�AH�NH�FH�E�H�M��L$@H��HD9h��H�sH�H��H�@��"H����H;���H�NH��t�AH�NH�FH�E�H�M��L$@H���D9(uNH�sH�H��H�@�"H�����H;���L�fM��t
�A�D$L�f�L$@H�FH���D9it@��A���D$@�tJ�d$@�M��t@A���A�D$A�u1I�$I��H��"A���A�D$A�uI�$I��H�@��~"��D$@�tM�d$@�H�M�H��t?A����AA�u2H�}�H�H��H���~"A����GA�uH�M�H�H�@��~"��D$@�tM�d$@�H�M�H��t?A����AA�u2H�}�H�H��H��`~"A����GA�uH�M�H�H�@�B~"��D$@�tL�d$@�H�M�H��t>A����AA�u1H�}�H�H��H��~"A����GA�uH�M�H�H�@��}"@���^W���H�sH�H��H�@��}"H����H;���H�FH�D$PH��t
�@H�FH�D$PH�NH�L$XH���H���H�sH�H��H�@�o}"H����H;��%L�vM��t	�A�FL�vL�nL��L���L$@L�{I�I��H�@�!}"H���i�H;���I�wH��t�FI�wI�GH��H���L$@ H���I��H�9��L�{I�I��H�@��|"H����H;���I�GH��t�@I�GM�oL�m�H�EȃL$@@L�{I�I��H�@�u|"H����H;��I�H�|$hH��t
�GI�H�|$h�l$@I��HI�GH����A9Bu
E3�E���H�|$hA�E3�D$@��yE�t$@H��t:����G��u-H�H��H���{"����G��uH�H��H�@��{"��D$@���@tM�d$@�H�M�H��t?����A�u4H�}�H�H��H���{"����G���uH�M�H�H�@�r{"��D$@� t@�d$@�H��t6����F�u+H�H��H��E{"����F�uH�H��H�@�*{"��D$@�tA�d$@�M��t7���A�F�u+I�I��H���z"���A�F�uI�I��H�@��z"L�t$XE���uL���	L���	I�VH��p	�t����I�F0L��`L��hH�H��P�R����H��@	H���A�L���H��@	H��	A�H�H��	H��D	H��	H��	H��H	H�� 	E�H�L��(	H��T	H��0	�QH��8	A�h)�@	A�x)�P	H���H��pL��xH���H���H���H���H���H���H���H���L���H���H���H���A��)��A��)��L���E�xL���D���L�
��"E�ōQ(H����t���L��hL��`D��PL�� L��(D��L�
n�"E��A�WH���s���L��L��D���L�
^�"E��A�WKH����s���H�sH�H��H�@��x"H����H;���H�H��H�@��x"L��H���H�D$8D�l$0H��PH�D$(H��	��L$ L��A�W&H����y��H��H��rH��H����o��L��L��D���H��(H��rH��H����n��L�� L��(D��H��hH��rH��H��P�n��L��`L��hD��PH���H��rH��H����qn��L���L���D���L�
e�"E�ź'H����1r���L���L���D��pL�m�L�}�D�m�L�
P�"E�źH�M��q���L�m�L�}�D�l$pL�
��"E�źZH�L$p��q���H�sH�H��H�@��v"H���C��H;��H�H��H�@��v"L��H���H�D$8D�l$0H��pH�D$(H��	��L$ L�Mк6H�L$p����H�U�H��r
H��H�L$p�Rm��L�m�L�}�D�l$pH�U�H��rH��H�M��/m��L�m�L�}�D�m�H���H��rH��H��p�m��L���L���D��pH���H��rH��H�����l��L���L���D���L�
�"E�ź)H����p���L���L���D���L�m L�}(D�mL�
��"E�źH�M�\p���L�mL�}D�m�L�
�"E�źZH�M��7p���H�sH�H��H�@�bu"H�����H;��P
H�H��H�@�Au"L��H���H�D$8D�l$0H���H�D$(H�����L$ L�M�7H�M��*��H�U�H;�rH��H�M��k��L�mL�}D�m�H�U(H;�rH��H�M�k��L�m L�}(D�mH���H;�rH��H����ok��L���L���D���H���H;�rH��H����?k��L���L���D��pL�
��"E�ź'H��p�n���L��HL��@D��0L���L���D���L�
��"E�źH����n���L�m@L�}HD�m0H�=e�"H��H�M0�9g���H�K�7��H��H�H�AH���s"L��H��pH�D$8D�l$0H��0H�D$(H�����L$ L����8H�M0���H�UHH;�rH��H�M0�4j��L�m@L�}HD�m0H���H;�rH��H����
j��L���L���D���H��HH;�rH��H��0��i��L��@L��HD��0H���H;�rH��H��p�i��L��L��D���H�i�"H����f���L���L���D���H���"H�����e���L���L���D���H�?�"H�����e���L���L���D�mpH��H�Mp�e���H�K���H��H�H�AH��'r"L��H���H�D$8D�l$0H���H�D$(H�� 	��L$ L����:H�Mp���H���H;�rH��H�Mp�h��L���L���D�mpH���H;�rH��H����oh��L���L���D���H���H;�rH��H����?h��L���L���D���H��H;�rH��H����h��L��`L��hD��PH��"H��P�wd���L�� L��(D��H�*�"H���Nd���L��L��D���H���"H����%d���L���L���D���H��H����d���H�K���H��H�� 	H�H�AH��|p"L��H��PH�D$8D�l$0H��H�D$(�G�D$ L����;H������H���H;�rH��H�����f��L���L���D���H��H;�rH��H����f��L��L��D���H��(H;�rH��H���f��L�� L��(D��H��hH;�rH��H��P�af��L��@L��HD��0H���"H��0��b���L�m`L�}hD�mPH���"H�MP�b���L��`L��hD��PH�o�"H��P�b���L��@L��HD��0H���"H��0�Zb���H�K�X���H��H�H�AH���n"L��H��0H�D$8D�l$0H�EPH�D$(H�����L$ L��P�<H��0�S��H��HH;�rH��H��0�Oe��L��@L��HD��0H��hH;�rH��H��P�e��L��`L��hD��PH�UhH;�rH��H�MP�d��L�m`L�}hD�mPH��HH;�rH��H��0��d��L�� L��(D��H�2�"H���6a���L���L���D���H���"H����
a���L���L���D���H��"H�����`���L���L���D��pH���"H��p�`���H�K���H��H���H�H�AH��7m"L��H��H�D$8D�l$0H���H�D$(�G�D$ L����=H��p���H���H;�rH��H��p�c��L���L���D��pH���H;�rH��H����|c��L���L���D���H���H;�rH��H����Lc��L���L���D���H��(H;�rH��H���c��D�l$ E3�E3�3�H��@�O���I��H;�tH��PH�PPA� �t�D�l$ E3�E3�3�H��@����I���H;�tH��PH�PPA� �<�L�]�"H��PH����"a���L��p	H��H���	�K`���H���H;�rH��H����_b��L���L���D���W��@�d$HD�l$LH�D$HH�D$0H�D$LH�D$(H��pH�D$ L���L��PH���	H��@���W�f��H��HH��t�@(�@f��H���H�����W
D�l$(�D$ E3�L�CH��H����#-
�H��@�x���H���	H;�rH��H���	�na���H��hH;�rH��H��P�Ra���H���	H;���H��H��p	�2a����I�� I��H���H���h���H��L��H��@����H;�tH�OPH�PPA� �v�D�l$ E3�E3�3�H�������H;�tH�NPH�PPA� �E�D�l$ E3�E3�3�H������I���H;�tH��PH�PPA� �
�H�K����H�Ȳ��
�H�L$PH��t��A��A��H�H��H;D$`���H���	�I���H���	H3��
�L��$�
I�[0I�s@I�{HI��A_A^A]A\]�H���"H��h�
���H���KH��h�#z�H���"H������H�`�KH����y�H���"H�� 輐��H�9�KH�� ��y�H�m�"H��8蕐��H��KH��8�y�H�F�"H��P�n���H���KH��P�y�H��"H��(�G���H���KH��(�`y�H���"H��� ���H���KH���9y�H���"H������H�v�KH����y�H���"H����ҏ��H�O�KH�����x�H���"H���諏��H�(�KH�����x�H�\�"H���脏��H��KH����x�H�5�"H����]���H���KH����vx��@UH��H��H�E�H�EH�A�"H�E�H�E�H�E�H�e�H�E��E�L�
=�"E3�A�PH�M���a���H�U�H�M��f��H�Ā]���������������@UH��H��@H�����H�E�H����H�E�H���(E�H�E�H�����H�E�(M�������H��0�hH�E�H��@�xH�E�H��P(E�H�E�H��`��H�E�(M���� �����0�����4H��@]��H�\$H�l$H�t$WH��`I��I��H��H��W��D$@H�d$PH�L$`�`n��H�D$8�D$0H�D$@H�D$(H��$�H�H�L$ D�L��H��H����H�L$@H��tH�T$PH+�H���L\��L��$`I�[I�kI�s I��_����H�\$H�l$H�t$WH��`I��H��H��W��D$@H�d$PA�H�L$`�m��H�D$8�D$0H�D$@H�D$(H��$�H�H�L$ D��L��H��H���p�H�L$@H��tH�T$PH+�H���[��L��$`I�[I�kI�s I��_����H�\$H�l$H�L$VWAVH��0I��I��L��H�����זH��H�D$PH��t9W���C�CH�Z�"H�H�KH�D$pH�D$ L��L��I���7����3�W�H�CH�H�_H��H�\$XH�l$`H��0A^_^�H�\$H�l$H�L$VWAVH��0I��I��L��H�����;�H��H�D$PH��t9W���C�CH���"H�H�KH�D$pH�D$ L��L��I���G����3�W�H�CH�H�_H��H�\$XH�l$`H��0A^_^�H�\$ UVWAVAWH��H��A��H��L��H�M�L�}XH�}hW��E�I��H�M��u���W��E�H�e�D�M�L�E�H�U�H�M��\���H�EPH�D$ L��L�E�H��I���
e���H�}�H��t[H�u�H;�t2H�WH��rH��H��Y��H�gH�G�H�� H;�u�H�}�H�U�H+�H���H���vY��W��E�H�e�L�
�o��� D�B�H�M���H���"I�A��@Idž`I��XAƆHI��hI����d���M`A���I��H��$�H�ĀA_A^_^]��H�\$WH�� 3�H��8��t2���H�T$ ��
H��H���H���L���9��H��I;�u�H��H��H���9u}H��H;�u�H���H���H+�H��H��tmH�	H��$�E3��
H��H���H���L���9u,H��I;�u�H��H��H���9uH��H;�u���H��$8H�� _��@�������������������H��H�XH�pH�x UATAUAVAWH����H�� H�k#LH3�H��H�T$PH����R
H�0H�t$xH�>H�|$hH;��
E3�L�wI�H�H�@��`"H�����H;���I�H���H���H+�H��H���!
H�
H�L$8H�H�@�U`"H���ف��H;���A�H���I��6�
M�>I�I��H�@�`"H���S���H;���I�������t
I�ƀ�W���pL���I�L���I�]L��xI;�tjL�cI�$H�H�@��_"L���;���L;�u6L;��tI�$I�I��L��x�M��I��H��p����L��xH�H��I;�u�L�wE3�L9�p��M�&I�$I��H�@�A_"H���u���H;���M�l$L�l$`3�M��t�A�EM�l$L�l$`L��xI�T$H���L���H��PH��HDžH��PH��HDžH��TH�� HDž(H��XH��0HDž8H��dH��@HDžHW��P�`H�¨A� H��P�}W�W����H����\$0��I�H���H���H���L��H�H���衂���H���H�D$pH�H;���L���H�t$PD�l$0H�KH��pE��uQH9t	H��I;�u�I;�t6L;��tI�I�$I��L����M��I��H������L���A��8H9t	H��I;�u�I;��!W���H�H�@�L]"L��H�j�"H�M��	S���L��"H��H�M�%R��L��H�OH�H�B�]"L��I��H�M �Q��L��H�T$8H�
H�AH���\"L��L��I��H����q����H�U8H��rH��H�M �S��E3�L�u0H�E8D�u H�UH��rH��H�M�aS��L�uH�ED�uH�U�H��rH��H�M��;S��L�u�H�E�D�u�W�fE�L���M��t�A�FL��xL���L���(��fE�H�U�H���I
H�D$@L�D$83�H�K耾
�D$(�D$ E3�L�CH�T$@H���>
H�D$@H�D$@L;��tI�$I��L����L�D$@I��H������L���M��tXA��A���A�FA�u8L���I�I��H��v["A���A�FA�uH���H�H�@�T["L���L��xL�wH�H��H;D$p�V���L��pH���H�|$PL�l$8A�H��I�$�
�
W���I�$H�H�@��Z"L��H��"H�M`�P���L���"H��H�M@��O��H��H�H�H�B��Z"L��H��H�M��BO��H��I�MH�AI���Z"L��H��H�D$ L��H��H�������H�U�H��rH��H�M��"Q��3�H�]�H�E��]�H�UXH��rH��H�M@�P��H�]PH�EX�]@H�UxH��rH��H�M`��P��H�]pH�Ex�]`W�fE�H���H��t�CL��xH���(��fE�H�U�H���F
H���H9�����D$(�L$ E3�L�H��H����
H��H��tOA��A����CA�u7H���H�H��H��^Y"A����CA�uH���H�H�@�=Y"L��xI��M;�����H�|$hH�t$xL�l$`H���H�AE3�L� H�	H��tH����O��H��H��u�H����O���H���H��t%H���H+�H���O��W����L���M��t<�����A�E�u-I�EI��H���X"���A�E�uI�EI��H�@�hX"A�H���I��Z�
I�D8���dA�D9���QH��H���HDž�H��H���HDž�H��H���HDž�H��H���HDž�H��$H��L��(���(�� H����"`��H�D$ L���E��H���H��p�]��H��pH���	�\��L���	H���H�L$H��
D8`�YW���D�|$LI�H�H�@�W"L��H�J�"H�����L��H��H�D$8H�H��H�B��V"L��H���H�D$ L�L$LH��H�����H���H��rH��H����~M��L���HDž�D���W�fE�L���M��t�A�GL���(��fE�H�U�L�l$PI���\C
H���H9����D�d$(�L$ E3�M�H��I���
W���I�L���L���H���L��H�H����z���L���I�$I;��wW���I�H�H�@��U"L��H��"H����K��L��H�KH�H�B��U"L��H���H�D$ L���I��H������H���H��rH��H����.L��E3�L���HDž�D���W�fE�L���M��t�A�GL���(��fE�H�U�I���B
H���H9����D�t$(�L$ L�wM�L�CH��I���
�M��tJ���A�G��u<L���I�I��H���T"���A�F��uH���H�H�@��T"L�wH�H��I;������L���L���I�D$H� I�$E3�H��tH���K��H��H��u�H����K���M��tJA��A���A�GA�u8H���H�H��H��T"A����CA�uH���H�H�@��S"�H��pH��t%H���H+�H���J��W���pL���H�?H�|$hH;����H��H3��A�L��$ I�[0I�s@I�{HI��A_A^A]A\]�H��"H��8�A{��H���KH��8�Zd��d����H��"H��P�{��H���KH��P�-d�H�\$H�t$WH�� H��H���E
H�8H��H�SH���vF
H�H;�u�H�\$0H�t$8H�� _���H�\$H�t$WH�� H��H����D
H�8H��H�SH���F
H�H;�u�H�\$0H�t$8H�� _���������������H�\$WH�� H��H���O���H��H��H�\$0H�� _�����H�\$WH�� L�BH��M��t	�A�@L�BH�YH�H�L�AH��t9����C��u,H�H��H��R"����C��uH�H��H�@��Q"H�\$0H��H�� _������������H�Q�"H�H�����H�
�h��������H��)L�H�\$UVWAVAWH�l$�H��H�LH3�H�EI��M��L��H�}W�EI�I��H�@�^Q"H��L��"H�M��F��H��H�H�AH��8Q"L��H��H�M���E��H��I�H�AI��Q"L��L��H��H�M�Q���H�U�H��rH��H�M��G��H�e��H�]��E�H�U�H��rH��H�M��G��H�e�H�]��E�W�fE�H�]H��t�CH�](EfE�H�U�I���=
H��H���H���L��H;���M99tI��L;�����L+�I��M����H+�H��L;����D$(�D$ L��H��I���}
�H��t>����C��u1H�]H�H��H���O"����C��uH�MH�H�@��O"H��H�MH3��~�H��$�H��A_A^_^]�A��H���"H�M��T��H���KH�M��`�A��H�'�"H�M��jT��H�w�KH�M��~`��������������H�\$UVWATAUAVAWH��$����H��p	H��LH3�H��`L��L��H���.A
H�H��H�;H�W�D$8H�OH�A L�pM��t
�A�FL�pH�OL� L�d$8L�t$@H�H�@��N"H���H;���D$ L�
q&LL�:&L3�I���|H��H����PDH��P��7H�GH���A�H��`H��j�
��P9�h��H�E�H�D$HH�D$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pH�E�H�D$xH�E�H�E�H�E�H�E�(��E�(��M�H�M��nV��H�D$ L�L$HD��PH��`H�����S��H���H����?S��H��A�H�O��
A�H��PH�O艭
H�D$ L�OL�I��I������H��A�H���H���]�
H�H�AH��IM"L��H�H�A L��M�GH�T$0I��*M"�H��H�M��ݩ��H��H�N H�����H�H��t9������G�u+H�H��H���L"����G�uH�H��H�@��L"�H�L$0H��tH��H���L"�M��t:�����A�F�u+I�I��H���L"���A�F�uI�I��H�@�qL"I���u>
H;�I���H��`H3���H��$�	H��p	A_A^A]A\_^]���@UH��H��H�E�H�EH���"H�E�H�E�H�E�H�e�H�E��E�L�
U�"E3�A�PH�M��F���H�U�H�M���J��H�Ā]���H;�t-H�\$WH�� H��H��3�H���aH��H;�u�H�\$0H�� _��H�\$UVWATAUAVAWH��$P���H��H��
LH3�H���L�L$@M��L�D$PH��H�ZH��t�CH�ZH�BH�H0H�qH+1H��A��H��t9A����CA�u,H�H��H��K"A����CA�uH�H��H�@��J"H�_H��t�CH�_H�GH���L�yL+9I��L�H��t9A����CA�u,H�H��H���J"A����CA�uH�H��H�@��J"I;��cH���H���H+�H��H;��oL�4�H�_(H��t�CH�_(L�o H��t9����C��u,H�H��H��)J"����C��uH�H��H�@�J"A�H�� H���
H���H���H+�H��H����A�H���H�I�̩
W�3���H���I�I��H�@��I"H�d$pH�d$xH��H�L$`�L\��M�E�d$(H���H�D$ L�L$`H���I���k�L���L���M;���I��L�l$@W��D$0I�H��t�AI�I�F�H�D$0H�L$8A�~���D$(�D$ L��L��H�T$0I���
H���H���H+�H��H;���H��E3�H�U�H���˨
H�H��H�@��H"L��H�H�A L��M�EH�T$HI���H"�H�K H���å���H�L$HH��tH��H��oH"I��I�F�I;�����H�� H����M��H��E3�H��襫
�H����H��I;�s
L�d$P���H���H3��{H��$�H�İA_A^A]A\_^]��v����	v���H�\$UVWATAUAVAWH��$P���H��H�J
LH3�H���L�L$@M��L�D$PH��H�ZH��t�CH�ZH�BH�H0H�qH+1H��A��H��t9A����CA�u,H�H��H��_G"A����CA�uH�H��H�@�BG"H�_H��t�CH�_H�GH��L�yL+9I��L�H��t9A����CA�u,H�H��H���F"A����CA�uH�H��H�@��F"I;��cH���H���H+�H��H;��oL�4�H�_(H��t�CH�_(L�o H��t9����C��u,H�H��H��yF"����C��uH�H��H�@�\F"A�H�� H���N�
H���H���H+�H��H����A�H���H�I��
W�3���H���I�I��H�@��E"H�d$pH�d$xH��H�L$`�X��M�E�d$(H���H�D$ L�L$`H���I����g�L���L���M;���I��L�l$@W��D$0I�H��t�AI�I�F�H�D$0H�L$8A�~���D$(�D$ L��L��H�T$0I���\	
H���H���H+�H��H;���H��E3�H�U�H����
H�H��H�@�E"L��H�H�A L��M�EH�T$HI���D"�H�K H�������H�L$HH��tH��H���D"I��I�F�I;�����H�� H���3J��H��E3�H���
�H�����H��I;�s
L�d$P���H���H3��xH��$�H�İA_A^A]A\_^]��_r����Yr���H�\$UVWATAUAVAWH��$P���H��H��LH3�H���L�L$@M��L�D$PH��H�ZH��t�CH�ZH�BH�H0H�qH+1H��A��H��t9A����CA�u,H�H��H���C"A����CA�uH�H��H�@��C"H�_H��t�CH�_L�~H��t9A����CA�u,H�H��H��\C"A����CA�uH�H��H�@�?C"I;��cH���H���H+�H��H;��oL�4�H�_(H��t�CH�_(L�o H��t9����C��u,H�H��H���B"����C��uH�H��H�@��B"A�H�� H��賢
H���H���H+�H��H����A�H���H�I聢
W�3���H���I�I��H�@�ZB"H�d$pH�d$xH��H�L$`�U��M�E�d$(H���H�D$ L�L$`H���I���Td�L���L���M;���I��L�l$@W��D$0I�H��t�AI�I�F�H�D$0H�L$8A�~���D$(�D$ L��L��H�T$0I���
H���H���H+�H��H;���H��E3�H�U�H��耡
H�H��H�@�lA"L��H�H�A L��M�EH�T$HI��MA"�H�K H���x����H�L$HH��tH��H��$A"I��I�F�I;�����H�� H���F��H��E3�H���Z�
�H����=H��I;�s
L�d$P���H���H3��ttH��$�H�İA_A^A]A\_^]���n����n����H�\$UVWATAUAVAWH��$P���H��H��LH3�H���L�L$@M��L�D$PH��H�ZH��t�CH�ZH�BH�H0H�qH+1H��A��H��t9A����CA�u,H�H��H��@"A����CA�uH�H��H�@��?"H�_H��t�CH�_H�GH���L�yL+9I��L�H��t9A����CA�u,H�H��H���?"A����CA�uH�H��H�@��?"I;��cH���H���H+�H��H;��oL�4�H�_(H��t�CH�_(L�o H��t9����C��u,H�H��H��-?"����C��uH�H��H�@�?"A�H�� H����
H���H���H+�H��H����A�H���H�I�О
W�3���H���I�I��H�@��>"H�d$pH�d$xH��H�L$`�PQ��M�E�d$(H���H�D$ L�L$`H���I���`�L���L���M;���I��L�l$@W��D$0I�H��t�AI�I�F�H�D$0H�L$8A�~���D$(�D$ L��L��H�T$0I���
H���H���H+�H��H;���H��E3�H�U�H���ϝ
H�H��H�@��="L��H�H�A L��M�EH�T$HI���="�H�K H���ǚ���H�L$HH��tH��H��s="I��I�F�I;�����H�� H����B��H��E3�H��詠
�H����H��I;�s
L�d$P���H���H3���pH��$�H�İA_A^A]A\_^]��k����
k���H��H�XWH��PH��H��H�L$@H�`�H�@��@�L�
ź"E3�A�PH�H��m7���H�e�"H�H�KH�aH�aH�T$ �JO���H�T$8H��r
H��H�L$ �A3��H�:�"H�H�{(H��H�\$hH��P_������H�\$H�t$WH�� H�Y��H��H��t9����C��u,H�H��H��<"����C��uH�H��H�@��;"@��t
�H���snH�\$0H��H�t$8H�� _�H��"H�H�����H�
����������H�	L�@SH�� H��H�	H��tLH�SL����H�SH��������*H+H�H��H��H��H��?H�H�RH���)2��H�#H�cH�cH�� [������H�L�A(H�@H�%.;"��������������H�\$H�t$H�|$UATAUAVAWH��H��@L��M��H��L���,
H�8H�H;��?H�KH�H�@��:"H������L�{H;�I��I�H�@u-��:"H�����H;��;M��M��I��I��������:"H��貚��L�{H;�I��I�H�@u-�a:"H��葚��H;��M��M��I��I���W���4:"H����L�{H;�I��I�H�@u*�:"H�����H;���M��M��I��I������E��9"H����H;�u2L�{I��I�H�@��9"H���H;�u7M��M��I��I������H����L�\$@I�[0I�s8I�{@I��A_A^A]A\]�H�-�"H�M��Xa��H�ոKH�M��tJ�H��"H�M��7a��H���KH�M��SJ�H��"H�M��a��H���KH�M��2J�H�ʠ"H�M��`��H�r�KH�M��J�@UH��H��H�E�H�EH�
�"H�E�H�E�H�E�H�e�H�E��E�L�
��"E3�A�P!H�M��q3���H�U�H�M��7��H�Ā]���@SUVWH���H�
�KH3�H��$�L��$(H��H�T$0I��H��$0I��D��$ H��H�T$(H�T$@L�T$ �JH�D$@L��L��H�D$ H��H����EH��H��$�H3��kH���_^][����@SUVWH���H�u�KH3�H��$�L��$(H��H�T$0I��H��$0I��D��$ H��H�T$(H�T$@L�T$ ��OH�D$@L��L��H�D$ H��H���*EH��H��$�H3��'kH���_^][����@SUVWH���H��KH3�H��$�L��$(H��H�T$0I��H��$0I��D��$ H��H�T$(H�T$@L�T$ �QH�D$@L��L��H�D$ H��H���DH��H��$�H3��jH���_^][����@SUVWH���H�E�KH3�H��$�L��$(H��H�T$0I��H��$0I��D��$ H��H�T$(H�T$@L�T$ �SH�D$@L��L��H�D$ H��H���CH��H��$�H3��iH���_^][����H�\$UVWATAUAVAWH��$����H��H���KH3�H��pM��M��H��A�H���H����
H�^H��t�CH�^H�FH�H0H�yH+9H��A��H��t9A����CA�u,H�H��H���5"A����CA�uH�H��H�@��5"H�^H��t�CH�^H�FH���L�qL+1I��L�H���UA����CA��DH�H��H��45"A����CA��$H�H��H�@�5"�H+�H��I;��JJ�<�H�H��H�@��4"H��H�T$PH���v�
L��H���H�D$0H�t$(�D$ L��H���I�������H���H��tXW��D$@H���H��t�@H���H���H�L$@H�D$H������D$(�D$ M��L��H�T$@I���\�	�H���H��t9A����CA�u,H�H��H��4"A����CA�uH�H��H�@�4"I��H���H���H��H+�H��L;�����H��pH3��gH��$�H�ĀA_A^A]A\_^]���a�����H�\$UVWATAUAVAWH��$����H��H��KH3�H��pM��M��H��A�H���H���e�
H�^H��t�CH�^H�FH�H0H�yH+9H��A��H��t9A����CA�u,H�H��H��3"A����CA�uH�H��H�@��2"H�^H��t�CH�^H�FH��L�qL+1I��L�H���UA����CA��DH�H��H���2"A����CA��$H�H��H�@��2"�H+�H��I;��JJ�<�H�H��H�@�^2"H��H�T$PH����
L��H���H�D$0H�t$(�D$ L��H���I��� ����H���H��tXW��D$@H���H��t�@H���H���H�L$@H�D$H������D$(�D$ M��L��H�T$@I����	�H���H��t9A����CA�u,H�H��H���1"A����CA�uH�H��H�@�v1"I��H���H���H��H+�H��L;�����H��pH3���dH��$�H�ĀA_A^A]A\_^]��C_�����H�\$UVWATAUAVAWH��$����H��H���KH3�H��pM��M��H��A�H���H���ِ
H�^H��t�CH�^H�FH�H0L�qL+1I��A��H��t9A����CA�u,H�H��H���0"A����CA�uH�H��H�@�o0"H�^H��t�CH�^I��H���UA����CA��DH�H��H��20"A����CA��$H�H��H�@�0"�H+�H��I;��JJ�<�H�H��H�@��/"H��H�T$PH���t�
L��H���H�D$0H�t$(�D$ L��H���I���B����H���H��tXW��D$@H���H��t�@H���H���H�L$@H�D$H������D$(�D$ M��L��H�T$@I���Z�	�H���H��t9A����CA�u,H�H��H��/"A����CA�uH�H��H�@�/"I��H���H���H��H+�H��L;�����H��pH3��}bH��$�H�ĀA_A^A]A\_^]���\���H�\$UVWATAUAVAWH��$����H��H��KH3�H��pM��M��H��A�H���H���e�
H�^H��t�CH�^H�FH�H0L�qL+1I��A��H��t9A����CA�u,H�H��H��."A����CA�uH�H��H�@��-"H�^H��t�CH�^I��H���UA����CA��DH�H��H���-"A����CA��$H�H��H�@��-"�H+�H��I;��JJ�<�H�H��H�@�t-"H��H�T$PH����
L��H���H�D$0H�t$(�D$ L��H���I���f����H���H��tXW��D$@H���H��t�@H���H���H�L$@H�D$H������D$(�D$ M��L��H�T$@I�����	�H���H��t9A����CA�u,H�H��H���,"A����CA�uH�H��H�@��,"I��H���H���H��H+�H��L;�����H��pH3��	`H��$�H�ĀA_A^A]A\_^]��YZ���H��H�XWH��PH��H��H�L$@H�`�H�@��@�L�
��"E3�A�PH�H��&���H���"H�H�KH�aH�aH�T$ �>���H�T$8H��r
H��H�L$ �"��H�.�"H�H�{(H��H�\$hH��P_��H�A�"H�H�����H�
����������H�L���������H�\$H�t$H�|$UATAUAVAWH��H��@L��M��H��L���L
H�8H�H;���H�KH�H�@� +"H���h���L�{H;�I��I�H�@ub��*"H���G���H;���I������JL�{I��I�H�@��*"H������H;��lM��M��I��I���p����*"H���͊��L�{H;�I��I�H�@u-�|*"H��謊��H;��`M��M��I��I�������O*"H�����L�{H;�I��I�H�@u[�.*"H������H;��TI���Y��u}L�{I��I�H�@��)"H�����H;��M��M��I��I���/����E��)"H���#H;�u2L�{I��I�H�@��)"H���H;�u7M��M��I��I���t���H��R���L�\$@I�[0I�s8I�{@I��A_A^A]A\]�H��"H�M��BQ��H���KH�M��^:�H���"H�M��!Q��H���KH�M��=:�H�Ր"H�M��Q��H�}�KH�M��:�H���"H�M���P��H�\�KH�M��9�H���"H�M��P��H�;�KH�M���9�H�r�"H�M��P��H��KH�M��9�@UH��H��H�E�H�EH�5�"H�E�H�E�H�E�H�e�H�E��E�L�
��"E3�A�PH�M��#���H�U�H�M��K'��H�Ā]���H�\$WH�� H�YH��t�CH�YH�AH��H�AH+H��H��@��H��t9����C��u,H�H��H���'"����S��uH�H��H�B��'"H�\$0@��H�� _�H�\$WH�� H�YH��t�CH�YH�AH���@��H��t9����C��u,H�H��H��p'"����S��uH�H��H�B�S'"H�\$0@��H�� _��H�\$UVWATAUAVAWH��$���p�B[H+�H���KH3�H��`M��H��H�T$0A��4�]A��@��v���HAǀ@�8I�XH��t�CI�XI�@H���L�iL+)I����H��t5����C�u*H�H��H���&"����C�uH�H��H�@�l&"I�^H��t�CI�^I�FH�H0L�aL+!I��H��t5����C�u*H�H��H��)&"����C�uH�H��H�@�&"I���I���H+�H��I;���J�<�H�H��H�@��%"H���F��H;��iE��H��H��`�ui
Mc�L�|$8K�'H��`H����2+��L��H�\$ M��I��H�N�j
I��I�^H��t�CI�^I�FH��H�yH+9H��t8������C�u*H�H��H��;%"����C�uH�H��H�@� %"�H�� ��I���I���H+�H��I;���A�H���	J����
H�� 
H����]-��H��D�E���D$ �S�D��H�L$x��N��L��H�t$ D��H���	H�����*��K�<'H���H��H�*��L��H�|$ M��I��H�L$0H�I��h
I��I�I��H�@�G$"H��菌��H;��<I�I��H�@�&$"H���n���H;���M�~M��t	�A�GM�~I�FH�D$@H���	L���	H��H�HH+H�� ��I���I���H+�H��I;���A�H��`J��觃
H���H���� ,��H��D�E���D$ �D��H�M��M��L��H�t$ D��H��`H��`�)��H�|$8I�H��`H�����(��L��H�|$ M��I��H�D$0H�H�g
I��H�D$@H��H�HH+H�� ��I���I���H+�H��I;��lA�H���J���˂
H��
H����D+��H��D�E���D$ �D��H�Mh�L��L��H�t$ D��H���H����(��H�\$8I�H���H��H��'��L��H�\$ M��I��H�D$0H�H��f
���M��t<���A�G�u0I�I��H��""���A�G�uI�I��H�@��!"���I�^H��t�CI�^I�~H��t5����C�u*H�H��H���!"����C�uH�H��H�@��!"H��tAdž0H��`H3��9UH��$�H��pA_A^A]A\_^]��O����O���H��"H�L$H�5I��H���KH�L$H�P2��ZO���H��"H�L$`�I��H���KH�L$`�'2��1O���H�\$UVWATAUAVAWH��$���p�UH+�H�l�KH3�H��`M��H��H�T$0A��4�]A��8��v���HAǀ8�8I�XH��t�CI�XI�@H��L�iL+)I����H��t5����C�u*H�H��H��S "����C�uH�H��H�@�8 "I�^H��t�CI�^I�FH�H0L�aL+!I��H��t5����C�u*H�H��H���"����C�uH�H��H�@��"I���I���H+�H��I;���J�<�H�H��H�@��"H����@��H;��iE��H��H��`�Ac
Mc�L�|$8K�'H��`H����$��L��H�\$ M��I��H�N��c
I��I�^H��t�CI�^I�FH��H�yH+9H��t8������C�u*H�H��H��"����C�uH�H��H�@��"�H�� ��I���I���H+�H��I;���A�H���	J���~
H�� 
H����)'��H��D�E���D$ �S�D��H�L$x�H��L��H�t$ D��H���	H����$��K�<'H���H��H��#��L��H�|$ M��I��H�L$0H�I�b
I��I�I��H�@�"H���[���H;��<I�I��H�@��"H���:���H;���M�~M��t	�A�GM�~I�FH�D$@H���	L���	H��H�HH+H�� ��I���I���H+�H��I;���A�H��`J���s}
H���H�����%��H��D�E���D$ �D��H�M��UG��L��H�t$ D��H��`H��`�S#��H�|$8I�H��`H����"��L��H�|$ M��I��H�D$0H�H�xa
I��H�D$@H��H�HH+H�� ��I���I���H+�H��I;��lA�H���J���|
H��
H����%��H��D�E���D$ �D��H�Mh�yF��L��H�t$ D��H���H����w"��H�\$8I�H���H��H�!��L��H�\$ M��I��H�D$0H�H�`
���M��t<���A�G�u0I�I��H���"���A�G�uI�I��H�@��"���I�^H��t�CI�^I�~H��t5����C�u*H�H��H���"����C�uH�H��H�@�t"H��tAdž0H��`H3��OH��$�H��pA_A^A]A\_^]��UI����OI���H�ׂ"H�L$H�C��H�~�KH�L$H�,��&I���H���"H�L$`��B��H�U�KH�L$`��+��H���������������H�\$H�l$H�t$WAVAWH��@L��H��H���
H�8H�H;���H�KH�H�@��"H���҂��L�sH;�I��I�H�@u'�i"H��豂��H;���M��H��I�����B�B"H���rz��H;�u/L�sI��I�H�@�!"H���Qz��H;�u/M��H��I�����H��Z���H�\$`H�l$hH�t$pH��@A_A^_�H���"H�L$ �A��H�5�KH�L$ ��*�H�k�"H�L$ �A��H��KH�L$ �*����H�\$ WH��0I��H�L$ H���2z��H�OhH�G �H�OH�W0H�GlH�W@W�H�G8H�W|H�WXH�GpH�GHH�SPH�O(A� H�GPH�G`A�8H�\$XH��H��0_���@SH��0H��H�L$ 3�L��W�H�H�KH�KH�H�H�BH�CH�BH�CH�ClH�
H�JH�JH�KhH�C8�H�S0H�CpH�S@H�S|H�SXI�PhH�KA� H�C H�K(H�CHH�CPH�C`A��7H��H��0[���I;���L��I�[I�kI�sWH��0I��H��H��H�I�C�I�c�H�yuqI�c����lJH��H�D$(H�HH���lH�_�3H�d$(���BJH��H�D$(H�HH���BH�OH�H�OH�KH�d$(H�GH�_H�ƐH;�u�H�\$@H�l$HH�t$PH��0_�@SH��PH��H�L$ H�d$(H�L$ ����H�D$ H�D$@H�d$H���IH��L�D$(M��u	H�H�@�H�L$8H�H�D$0H�BH�QH�L�CH�H��P[��H�\$ UVWH��0I��H��H��H��������H9AtPH�L$ H�d$(���BIH��H�D$(H�HH���B�H�GH�NH�3H�KH�^H�H��H�\$hH��0_^]�H�
��"��(���H�\$H�t$WH��0H�9H��H�q�H�H�H�@�}"��t9H��H;�u�3�H�L$ �"H�D$ H�H�D$(H�t$HH�CH��H�\$@H��0_�H�H�#H�cH�GH��t�@H�H�G���H�\$WH�� H��H��� �RH3�H�D$0L��H��t3W�H��"�AA�@A�@H��"I����I�P��I�H�L��I�@W�H�H��L�CH�\$8H�� _���H�\$WH��0H��H�L$ H���2v��H�OhH�G �H�OH�W0H�GlH�W@W�H�G8H�W|H�WXH�GpH�GHH�ShH�O(A� H�GPH�G`A�4H�\$PH��H��0_���H��(H�IH��t
������H��(�H�\$WH�� H�ytWH�AH�`H�AH� H�Y�;H��H�H�OH��tH�W H+�H���}��H�gH�gH�g ��H���a��H��u�H�\$0H�� _������H��H�XH�pH�x UATAUAVAWH�����0�oHH+�H���KH3�H�� L��H�T$hH�L$XE3�D�l$PA�D�d$0E��D�d$1H���H�~H�H;���A�H���H���s
H��(H��0H���
D9)��
H��H;�u�H���H���H���
D9)��
H��H;�u�A��A��A�Ƅ�D�D����D"�H��H;�u�D�d$0�L$1I�_A�H��t	�DcI�_I�GHc� A��H��t9A����CA�u,H�H��H��."A����CA�uH�H��H�@�"E��H��I���s
H���H������H��`H���H��H��`H�� L��(H��dH��0L��8H��hH��@�S�H��HH��tH��P�K�H��X(��)�`(�)�pH���H���H���H���H���L���H���H���L���H���H���H���H���H���H����h)���x)��E��H���I����q
H��H���.c��H�|$8H�H��D�4�D+4�D�t$PH���H���H���H���H���L���H���H���L���H���H���HDž�H���H���HDž�(�`)��(�p)��W��D�l$ E3�E3�3�H����;��L��H��H����<���D�d$@H���H��`����L��L��L���H��`H������L�
�q��M�ĺ�H��`�A�H���H��t(H���H+�H���+��L���L���L���L9��VH��H�H��H������H��H�H�L)�H�CH�H�CH�AH�KH��tH�S H+�H�����L�kL�kL�k ��H�����H��`H��HDžH��`H�� L��(H��dH��0L��8H��hH��@HDžHH��tH��PHDžX�x)�`��)�pH���D�4�(��)�`(��)�pE��H��	H��H�	�n
�xL��H��H�\$HL;���M�.3�A8����A8��tH�D$X8H��M���I����I��vVI���H�H;��L��H�KH�H�@�r"H����m��H;�uI��H�H��I;�u�L�|$hI���AH�\$HA�H���
I���5n
9x�!I��L;��B���H��H�\$HL��E3�L;���L��H�|$8I�6A�H��H����m
H�@��A�H���
I����m
�H���D�,A����DE�H���D),�H���H���A�L���H���H���E�A�L���H���H���L���H���H���E�Y�L���H���H���E�Q�L���(�`)��(�p)��H�����H��`H��L��H��`H�� L��(H��dH��0L��8H��hH��@L��HH��tH��PL��X(��)�`(��)�pH����)�H�UH���IN��H��H�T$pH����5N���W�L��H��H����#��H��H���H;�tH�OPH�PPA� �q+H�SxH�OxH;�tH��PH��PA� �Q+������H�L$pH��tH�U�H+�H�����H�d$pW��D$xH�MH��tH�U H+�H���s��H��H�|$8D,�H�H��H�@��"H����j��H;������H�H��H�@�U"H���j��H;��6H�~H��t�GH�~H�FI�_H��t�CI�_D�� I�G�� �D$HH��t9����C��u,H�H��H���
"����C��uH�H��H�@��
"H��t9����G��u,H�H��H���
"����G��uH�H��H�@��
"D;l$H�{H���H�CH9�A�H���H���`j
H���H�M�H�M�H�E�H�M�H�M�H�E�H�M�H�M�H�E�H�M�H�M�H�E�H�M�H�M�H�E�W�E�E�A� H�M��K)L�E�H��H����<�L$@H���H�M@��L�E@H��H����H�M@H��tH�UPH+�H���a��H�e@H�eHH�ePH���H��tH��H+�H���3��H�|$8I��M;��]���L��E3�M��tH�� I+�H��I�����A�L9�t:H�|$8D�t$P������i���H��E3�H��tVH�� H+�H������AE���I���H�H;�tH�HD���H�H��H;�u�D8l$0uD8l$1uE���H��H�AL�(H�H��t=H�;H�KH��tH�S H+�H���@���L�kL�kL�k ��H���'���H��H��uú�H������H�� H3���;L��$0I�[0I�s@I�{HI��A_A^A]A\]�H��o"H�M(��/��H�_�KH�M(���H��H�XH�pH�x UATAUAVAWH��8���H��H�G�KH3�H���
H��E3�D8��t
D8a�V	A�L9��uCH���H�H�IH�H�@�r"H����f��H;�uH���H�H�@D8���	H���H+��H��I;���L9����E��H���H���g
���W�D$xH�~H��t	�DH�~L�vL�t$xH�}�H���H���H+�H��H����E��H��	H�	�f
A�A;��!H��0	�H���9�	H��P	�H���9���A9B��H�E�H�E�A�]H�]�H�E�H�E�L�}�H�M�H�M�L�}�H�E�H�E�E�EL�E�H�E�H�E�L�m�W��h)]��x)e�D9!�H�E`H�EH�]H�E`H�E L�}(H�MdH�M0L�}8H�EhH�E@L�EHH�EtH�EPL�mX(��)M`(��)UpD9!�$H���H���H���H���H���L���H���H���L���H���H���L���H���H���L���)��)��D9!��H��`H��H��H��`H�� L��(H��dH��0L��8H��hH��@L��HH��tH��PL��X)�`)�pD9!�$H���H���H���H���H���L���H���H���L���H���H���L���H���H���L���)��)��D9!��H��`H��H��H��`H�� L��(H��dH��0L��8H��hH��@L��HH��tH��PL��X)�`)�pD9a�#H���H���H���H���H���L���H���H���L���H���H���L���H���H���L���)��)��D9!��H��`H��H��H��`H�� L��(H��dH��0L��8H��hH��@L��HH��tH��PL��X)�`)�pD9a�"H���H���H���H���H���L���H���H���L���H���H���L���H���H���L���)��)����D$(I��0�H��@	�+�H���+�T$,H��`H��H��H��`H�� L��(H��dH��0L��8H��hH��@L��HH��tH��PL��X)�`)�p��D$0H���H���H���H���H���L���H���H���L���H���H���L���H���H���L���)��)���A�D$4�D$`L�d$pD�L$ L�D$8H�T$(H�L$`�����H��`H��H��H��`H�� L��(H��dH��0L��8H��hH��@�S�H��HH��tH��PL��XW��h)�`�x)�p��D$8I��0��L$<H���H���H���H���H���L���H���H���L���H���H���H���H���H���L���)��)����D$@H��`H��H��H��`H�� L��(H��dH��0L��8H��hH��@H��HH��tH��PL��X)�`)�p�A�D$D�D$HL�d$XD�L$ L�D$HH�T$8H�L$H�
����W�L�D$`H�T$HH������H��L���A� L;�tI�NPH�PPE���KH�SxI�NxH;�tH��PH��PM���.���A���H�L$HH��tH�T$XH+�H���v����H�L$`H��tH�T$pH+�H���Z���D���H��t8������G�u*H�H��H��a�!����G�uH�H��H�@�F�!H���
H3���1L��$�I�[0I�s@I�{HI��A_A^A]A\]��1,���H�\$UVWATAUAVAWH��$����H��`H�r�KH3�H��PL��H�M�L���H���I+�H��3�H���|M�?D�fE��H��PI���]
I�I��H�@���!H����H;�tI�I��H�@�s�!H����\��H;�u��XuM9��D�d$1t@�t$1I�I��H�@�:�!H���e��H;�u&M9��uE��H���I���]
D9`D�d$0t@�t$0I�I��H�@��!H���:e��H;�u-I���E��H���H�	��\
�xu��XD�d$2t@�t$2I�I��H�@���!H����H;�uOI���H�H�H�@��!H����d��H;�u+I���H�L9��uE��H����T\
�xA��t@��@�|$4I�I��H�@�/�!H���wd��H;�u$M9��uE��H���I���\
�xE��tD��D�L$3��X"t<��Xu=I��H��`H��hL��I;�t#HcH��H��I;�u�H�� �v
@��u
E��uD���E��A��I���H�E��H���H�I�[
�xM���I�$I;�t(D��H���H�K�][
9xu
H�H��I;�u��@2�A�H���I���6[
H��PH9@��I�I��H�@��!H���\
H;�u/��Xw&A�H���I����Z
�x"t@��t	@����D�d$1E���I�I��H�@���!H���c��H;�uA�H���I���Z
�x�I�I��H�@���!H���1c��H;�u��Xw@��t	@����@�|$0@��t]I���H�H�IH�H�@�8�!H����b��H;�t(I���H�H�IH�H�@��!H���X	H;�u
��X"���|$2t	@���oE���7�
@�|$0D�d$1E���QI���H�H�AH���H�	A�H���H�I�Y
�����A�H��PI���Y
H�E�H�D$8H�D$@H�E�H�D$HH�D$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pH�E�H�D$xH�E�(��E�(��M�H���H�M�����H�D$ L�L$8D���H��PH�������H���H�M��c���I��E3�H���%\
Aƅ�I��H�M�H�	���	H��PH3��G,H��$�H��`A_A^A]A\_^]�@�|$0@���zI���H�;H;���H�WW��8H��8H��@H���L��H�H��8����L��8I�4$I;�tIA�H���H�N�X
�xtH�NH�H�@��!L���`��L;�ubH�H��I;�u�L��8I�D$H� I�$H��tH�1��{�H��H��u�H��8�b�H�?H;��+���I���H�;�|H��8H�AH� H�	H��tH���&�H��H��u�H��8�
����H�wA�H��PI���&W
H��PH������H��E3�H���iZ
H�?H;�u��7���E�����|$3tI���
I���H�8A�H��PH����V
��XH�E�H�D$8H�D$@H�E�H�D$HH�D$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pH�E�H�D$xH�E�(��E�(��M�H���H�M�����H�D$ L�L$8D��H��PH����V����|$4taI��H���� L;�tI�OPD��H��(�LI�OxH��PH;�tH��PL��H����)����A���H�(���8��(��)� (��)�0�����HH���H�����A�H�����H��PH����m����X#����������@SH�� H�;t"H��H���t
� �'H��H�� [������H�9t"H�H�����H�
����������H���K�H�\$H�t$WH�� H�H��H�BH� H�H��t@H�KH�3H��tH�S H+�H���g�H�cH�cH�c ��H���K�H��H��u�H���H�\$0H�t$8H�� _�'����H�\$WH��@H�˶KH3�H�D$8H�L$ H���T$0H�L$ H�T$0���3�H��H�H�WH�H�H�AH�GH�H�QH�\$(H��t9����C��u,H�H��H����!����S��uH�H��H�B���!H��H�L$8H3��\'H�\$`H��@_�̸�����������H�\$H�t$UWATAVAWH��$���H���L��H�J H�T$X���H�\$`H�H�yA��H��t8������C�u*H�H��H��+�!����C�uH�H��H�@��!I����	H�H�I����	H;��H�;H�L�wA���u�A�� u�I�I��L�|$8D�d$@H�@���!H���R��H;�u.I�I��H�@���!H���Q��H;��rI��H�L$8���L�wI��L�|$HD�d$PI�H�@�`�!H���(R��H;�u.I�I��H�@�C�!H���R��H;��<I��H�L$H�9�L�wI��I�H�@��!H���E5��H;�uOI�I��H�@���!H���(5��H;��A�H�T$pI����Q
I��諏����tA�� uAƆ�H�wH��L��(H�H�@���!H�����H;������H�H��H�@�y�!H�����H;�u0H��H��(�M��V���L��$�I�[0I�s@I��A_A^A\_]�H��X"H�L$ ���H��pKH�L$ �*�H��X"H�L$ ����H�ipKH�L$ ��H��X"H�L$ ����H�FpKH�L$ ���H�|X"H�L$ ���H�#pKH�L$ ��@UH��H��H�E�H�EH��o"H�E�H�E�H�E�H�e�H�E��E�L�
Io"E3�A�PH�M��!��H�U�H�M��S�H�Ā]���H��H�XH�hH�p WATAVH��0H���`��@��H�rH��t�FH�rH�BH�D$ H�t$(���$XH���H�XH+H��H���H���H+�H��H���D��H�T$0H�	�O
H�@0������=H�_H��t�CH�_���$XH�GH���H�AH+H����|
E2��H��$XA�A��@��tO���$XH��t@A����CA�u,H�H��H��#�!A����CA�uH�H��H�@��!��$X@��t>H��t9A����FA�u,H�H��H����!A����FA�uH�H��H�@���!E�����H���H���H��H+�H��H;���H+�H��H;���H��H�����H�H�@�]�!H���y��H;�upH��H���H���H��H+�H��H;�r��GH���H���H+�H��H��tQA�H��$�H�	�N
��@H�@03ҋ��w��rƇ4L��$0I�[ I�k0I�s8I��A^A\_�����������������H��H�XH�hH�p WATAVH��0H���`��8��H�rH��t�FH�rH�BH�D$ H�t$(���$XH��H�XH+H��H���H���H+�H��H���D��H�T$0H�	�M
H�@0������=H�_H��t�CH�_���$XH�GH��H�AH+H����|
E2��H��$XA�A��@��tO���$XH��t@A����CA�u,H�H��H����!A����CA�uH�H��H�@�n�!��$X@��t>H��t9A����FA�u,H�H��H��@�!A����FA�uH�H��H�@�#�!E�����H���H���H��H+�H��H;���H+�H��H;���H��H�����H�H�@���!H������H;�upH��H���H���H��H+�H��H;�r��GH���H���H+�H��H��tQA�H��$�H�	�mK
��8H�@03ҋ��w��rƇ4L��$0I�[ I�k0I�s8I��A^A\_��F����@����:������������H��H�XH�hH�pH�x AVH��@H��H����	H�8H�H;���H�KH�H�@���!H���S��L�sH;�I��I�H�@u$���!H����R��H;���I��H���G����?���!H���J��H;�u,L�sI��I�H�@�f�!H���J��H;�u.I��H�����H��`���H�\$PH�l$XH�t$`H�|$hH��@A^�H��Q"H�L$ ���H�{iKH�L$ ���H��Q"H�L$ ����H�XiKH�L$ ���H��H�XH�pH�x UATAUAVAWH�h�H��PH�B�KH3�H�E@H�B0E3�M��H��H��D9��D9X��D9X��I�@0�����D�@E����D�HE����H���H�G0D9��D9X��D9X�~H���H�H0D9�G�A���<D�QE���/fo�Q"E�{D���E����A�H���L�E�L�D$@A�A�E�L�E�H�D$HA�A��L�D$PA�L�E��U�L�D$`H�T$@L�E��M�L�D$pH�M�L�E�L�|$XL�E�A�E�L��L�|$hH�D$xH�E�L�]��E���L�f0E��I�u0L�0L�m�A�$D�E�E�UH���A�H��C�
;�A+�A�@�A+�™A��D�X�D�D�FE�OE�UA�T$E��A�I��C�;�A+�A�A�A+�™A��D�P�D�D�FE�OA�uA�T$E��A�I��B�;�+�A�A�A+�™A������foDP"L�KPL�L�CTL�KH�SXL�C H�KdH�S0H�K@H�CH�CH�C(H�C8H�CHAAAA�!A� �C`H��D�D�S\H�M@H3���L��$PI�[8I�s@I�{HI��A_A^A]A\]�H��f"H�L$ ����H�NfKH�L$ ���H�Dg"H�L$ ���H�+fKH�L$ ���H��f"H�L$ ���H�fKH�L$ ��H��f"H�L$ �h��H��eKH�L$ ����H�\$H�l$H�t$ WATAVH��@H�B0L�ы����D�XE�����H���}I�@0�8���x���x��H��$�H�P0�2�����j����D�rE���tH��$�H�P0�:�<�z�2�z�(I�y0�C�D��$�A�L��$�EċA��;�+�A+܋Ù��A��A��WA�C�A��;�D+�E+�A�Ù��E��E��W�A�A��;�+�A+̋��A��A��A�fo�M"M�JPH�l$pM�BTH�t$xI�RXM�
I�JdM�JM�B I�R0I�J@I�BM�bM�b(I�B8I�BHAAAA�!A� �H�\$hA�B`I��E�Z\H��@A^A\_�H�sd"H�L$ ���H�dKH�L$ ��H��d"H�L$ �b��H��cKH�L$ �}��H��d"H�L$ �?��H��cKH�L$ �Z��H�Bd"H�L$ ���H��cKH�L$ �7����@USVWATAUAVAWH��$����H��XH���KH3�H��@H���L��H���H���H���M��H�\$8M���D$0L��H�|$(H�t$ �bH�\$8H��@�D$0M��H�|$(M��I��H�t$ �9H�\$8H����D$0M��H�|$(M��I��H�t$ ���H�\$8H��@�D$0M��H�|$(M��I��H�t$ �W���H�\$8H����D$0M��H�|$(M��I��H�t$ ���H�\$8H��@�D$0M��H�|$(M��I��H�t$ �y���L��@H���H�L$@�E
L��@H��H���H�M��+
L��@H��H���H�M@�
H��H���L���H��L��I����I��H��@H3��H��XA_A^A]A\_^[]����H�\$H�t$UWATAUAVH�l$�H���H���KH3�H�EL�Z0M��L��A�;�/A�{�$A�{�I�@0����tD�HE���g�X���\H�EgL�@0A�8�'A�x�A�x�H�EoH�H0�9���A�����y����fo1J"L�m��uwA�M�v0A���A�I���L�M�L�M��C�E׃e�L�M׃e�A�L�M�ẢU�L�M�L�M���E�L�M�H�E���L�M�L�ML�e�L�e�A�L�m��E�H�E�H�E��M�A�A�]A��;�+�+ˋ��A�8A�<�A�9A�VA�]A�K�֍;�+�+ˋ��A�xA��A�A�VA�K��A�u�;�+�+ʋ��A�xA��A�foI"M�JPM�
M�BTM�JI�RXM�B I�JdI�R0I�J@I�BM�bM�b(I�B8I�BHAAAA�!A� A�B`I�‰:A�Z\H�MH3��L��$�I�[8I�s@I��A^A]A\_]�H��_"H�L$ ���H�5_KH�L$ ����H�+`"H�L$ ���H�_KH�L$ ���H��_"H�L$ �r��H��^KH�L$ ���H�u_"H�L$ �O��H��^KH�L$ �j���@SH�� H��H��H�
}B"W�H�H�SH�H�{�H��^"H�H��H�� [�@SH��@H���KH3�H�D$0H�L$ H�3B"L��H�H�QL�D$ H���D$(W�H�L$ � �H�E^"H�H��H�L$0H3��jH��@[�����H��_"H�H�����H�
�H���������H�ٷK�@USVWATAUAVAWH��$���H��8H��KH3�H�� I��I��H�T$`L��H���L���L���L���H�EpH�E H�E(H�EpH�E0�H�M8H�EtH�E@H�MHH�ExH�EPH�EXH���H�E`H�EhW�Ep��L�d$8L��L��H�Ӏ��t�D$0L�|$(L�t$ H����}����Z�L$0L�|$(L�t$ H����L�d$8�D$0L�|$(L�t$ L��L��H��H�� �xL�� H���H�M��H�M H;�tA� H�PPH�Mp�H�D$`H�HH��pH�� A�L��(H��pH��0E�A�L��8H��tH��@L��HH��xH��PE�Q�L��XH���H��`E�Y�L��h��)�p��)��H���H���L���H���H���L���H���H���L���H���H���L���H��H���L����P)���`)�H�U��#��L��H���H�M �,��L���H���H����BH�����L$HH�����L$LH�����D$P�A�D$T�A�D$XW��D$hH�d$xD�L$@L�D$\H�T$HH�L$h�Q���H�U�H�� �L���W�L�D$hH��I���<��H�M�H��tH�U�H+�H�����H�e�W��E�H�L$hH��tH�T$xH+�H������I��H�� H3��H��8A_A^A]A\_^[]�H�\$H�t$UWAUAVAWH�l$�H���H�G�KH3�H�EL�Z0M��L��A�;�A�{�A�{��I�@0����Q�X���F�x���;H�EgL�H0A�9�A�y��A�y��H�EoH�H0�9���A�����q����fo�B"L�}�D�EwA�E����K�E׃e�H�]׃e�H�]�H�]�H�]�A���H�]�H�]��G���H�]�H�]�E�H�E�A͉M�I�N0AʼnE�L�m�L�m�L�}�H�E�H�E��UߋA�3�YA+�A�1�yA��A��A���A�CA7A+�A�A�A�CA_A+�A�A�H�EA���0������8fo�A"M�JPM�
M�BTM�JI�RXM�B I�JdI�R0I��I�J@I�BM�jM�j(I�B8I�BHAAAA�!A� �2A�Z\A�z`H�MH3��dL��$�I�[8I�s@I��A_A^A]_]�H�AY"H�L$ �k��H��WKH�L$ ���H��X"H�L$ �H��H��WKH�L$ �c��H��X"H�L$ �%��H��WKH�L$ �@��H�(X"H�L$ ���H�WKH�L$ ���H��H�X UVWATAUAVAWH��X���H��p)p�H�i�KH3�H��P(�I��H��H��H�D$pH�D$ A�L�d$(H�D$pH�D$0E�l$�L�l$8H�D$tH�D$@L�l$HH�D$xH�D$PE�|$�L�|$XH�E�H�D$`E�t$�L�t$hA@P)D$pAH`)M�H�E�H�E�L�e�H�E�H�E�L�m�H�E�H�E�L�m�H�E�H�E�L�}�H�EH�E�L�u�BP)E�J`)ML�D$ H�U�H�MP�oH�E�H�E�L�e�H�E�H�E�L�m�H�E�H�E�L�m�H�E�H�E�L�}�H�EH�E�L�u���)E���)MH�D$pH�D$ L�d$(H�D$pH�D$0L�l$8H�D$tH�D$@L�l$HH�D$xH�D$PL�|$XH�E�H�D$`L�t$h��)D$p��)M�L�E�H�T$ H����H�U8H�MP���H��H�U H�������(�L��H��H�������H�M H��tH�U0H+�H�����H�e W��E(H�M8H��tH�UHH+�H�����H��H��PH3��_	L��$pI�[XA(s�I��A_A^A]A\_^]����H�\$UVWH�� H�YPH�AH�ATH�H�A W�H�AXH�YH�A0�H�qH�AdH�A@I��H�A(H��H�A8D�FH�AHH��PH��C�t�H+�;+L+�H�[H��u�H�\$PH��H�� _^]�������������H��H�XH�pH�x UATAUAVAWH��h��p��H+�H�5�KH3�H��`H��H�T$XA��3�@8y(�xH����	H�H�D$pH�H;��\H�KH�H�@�^�!H���<��L�kI��H;�I�EH�@�A�8�!H���<��H;��M�e3�M��t
�A�D$M�eM�}L���L���A8��uUM����A���A�D$A���I�$I��H����!A���A�D$A���I�$I��H�@���!�A9�0�S
I���I���H+�H���H;��*
D��H���H�I�c3
H�P`H��H���HDž�H��H���H���H��H���H���H��H���HDž�H��H���HDž�W���D�FH���%��t$`I���I���H+�H��H���UI��I���M�� A�H��0H�	�2
H��H�D$`H�D$@�D$8H�|$0H�t$(L�t$ L���M���H��`��M���I���I+�H��3�H����L��`M�I��H�t$XH���Ϧ	�A���������!H���'2��L�cI��H;�I�$H�@�W���!H���2��H;���M�|$3�D�oM��t
�EoM�|$M�t$L���L���A8�uKA��M���ZA���A�GA��HI�I��H��\�!A���A�GA��'I�I�����A9�$0�CI��$�I��$�H+�H��I;��E��H���H�I�1
H�P`H���H��0HDž8H���H��@L��HH���H��PL��XH���H��`HDžhH���H��pHDžxW�����A� H������D�l$dD�l$ E��E��A��H��0�_���I��$�I��$�H+�H��H���)
I���I�� E��H��0H�	�0
H��H�D$dH�D$@D�l$8H��0H�D$0H�|$(H�t$ L��0M�� H��`�9�M��$�I��$�I+�H��3�H����	L��`M�I��H�t$XH���M�	����z�!H������H;��DL�kI�EI��H�@�T�!H�����H;���	M�e3�M��t
�A�D$M�eM�}L���L���A8��u����H������A�H���	H�K��.
�x����D$h�D$ D��D����H������I���I���H+�H��H����I���I��XA�H��0H�	�.
H��H�D$hH�D$@�D$8H���H�D$0H�|$(H�t$ M��HM���H�����H��H���H;�tH�WPA� H��0��H�WxH��XH;�tH��PA� H����Y�H�t$XA���I���I���H+�H��H���0A�H���H�	��-
H���H���H;�tH�WPA� H��0��H�WxH��XH;�tH��PA� H������������M���I���I+�H��3�H����L���M�I��H����	����3�H�H��H;D$p���H���H�@8{�TE3�H�K@H�H�@���!H���35��H;���L�c@I�$I��H�@���!H���
5��H;��?I��$�I9�$���W�E�M�|$E3�M��t�A�GM�|$I��$�M�t$L�u�L�}�I��$�H+�H��H����H�6H�t$pA�H���I���=,
���"��Hc��H��H����D8����H�H��H�@���!H����H;���I�$I��H�@���!H���4��H;��uE9�$0�FI��$�I��$�H+�H���H;��H�IW�E�L�iM��t	�A}L�iH�AH�E�L�m�D��H����Z+
D��H��`H���H+
H���H��0HDž8H���H��@H��HH���H��PH��XH���H��`HDžhH���H��pHDžxW�����I��p� D��H�����H���H��0HDž8H���H��@H��HH���H��PH��XH���H��`HDžhH���H��pHDžxW�����I���D��H����g�H��H���HDž�H��H���H���H��H���H���H��H���HDž�H��H���HDž�W���I��`D��H�����L��`E�3L�� A�+�L���A�L�� A�+�H��`�
A�<���A�sA�B��A�AA�H���J����A�޹DH��H�H���+8H�+PH�H�L$x�}��U�W��E�H�M�D�L$PL�E�H�T$xH�M�����3�H�}�D�u��u�W��E�H�}�D�L$PL�E�H�U�H�M��k����W�L�E�H�U�H����c���H�M�H��tH�U�H+�H���)����H�M�H��tH�U�H+�H������W�L���H���H�����H��H���H;�tH�WPA� H��0�]�H�WxH��XH;�tH��PA� H����7�������L���L�D$pI��H�L$X�v�	���M��t:���A�E�u.I�EI��H����!���A�E�uI�EI��H�@�l�!�M��tk���A�G�u_I�I��H��K�!���A�G��2M��t?A��A���A�GA�u-I�I��H���!A���A�GA�uI�I��H�@���!E3�H�CD8xtH�C�
H;Xu
H��H�@D8xt�H���H��H�D8yuH��H�H��D8xt�D8{�����H��`H3��L�L��$pI�[0I�s@I�{HI��A_A^A]A\]���H�."H�M�I�H��EKH�M�e���o���i���c��H��E"H�M0��H��GKH�M0�2��H��-"H�MH��H�rEKH�MH������������H�oE"H�M`���H�gGKH�M`����H�v-"H�Mx��H�EKH�Mx������������H�C-"H����k�H��DKH���������H��D"H�M��A�H��FKH�M��]��H��,"H�M� �H��DKH�M�<�����@UH��H��H�E�H�EH��E"H�E�H�E�H�E�H�e�H�E��E�L�
�D"E3�A�P#H�M�虿���H�U�H�M�����H�Ā]���L��SH���H�ىA�AH��H"H�H��H��$HI�C�H��$@I�C�H��$8I�C�H��$0I�C�H��$(I�C�H��$ I�C�H��$I�C�H��$I�C�H��$I�C�H��$I�C�H��$�I�C�H��$�I�C�H��$�I�C�H��$�I�C�H��$�I�C�H��$�H�D$ �CH��H�Ġ[����H�\$ UVWAVAWH�� L��I��I��I���������H+�H��I��I�H��L�I�NH+�I��I��H��?L�I��H��L�I��I��H��?L�M;���I�NI��H+�H��H�H��H��H��?H�L;�vI��I���I�E3�Ik�xH�H;�t+L�PH+�H��tI�A� I���Z�I��xI�G�H;�u�M�FM��H��H���/��H���.Ik�xH�� H;�tH�WPA� H�KP��H��xH��xH;�u�I�vH�\$hH�� A_A^_^]����@USVWATAUAVAWH��$����H��8H���A�L��xL��H���L���@PL���E�Z�H`H���H�E`H���H���H�EH�E`H�E H�EdH�E0H�EhH�E@H�EtL�E�L�E�H�EPH���L�E�L�E�H���H���L�E�L�E�H���H���L�E�L�E�E�H���H���APL�E�L�E�M�H�U�I`H���H��E`H���H���MpL�M�E�J�BPL�E�E�B�J`H���L�U�L�]�L�]�L�M�L�E�L�UL�](L�]8L�MHL�EXL���L���L���L���L����������H��$��H��$�H������$�H���L�M�L�E�H�U��H�����$��H�����$��H�E���$�I��H�D$xH�EH�D$pH���H�D$hH���H�\$`H�|$X�H����D$P�H��p�L$HH�t$@L�t$8D�L�|$0L�d$(D�T$ �KH��8A_A^A]A\_^[]����L��I�[I�s WH��0I��H��H��H��������
H9At@I�K�I�c����H�H�HH�CH�OH�8H�HH�GH�H�\$PH�t$XH��0_�H�
�6"������H��H�XH�hH�p H�HWH��I��I��H��H�ٹ��L��H��$�3�H����L��$HL��$�H��$@H��$�H��$8H��$�H��$0H��$�H��$(H�D$xH��$ H�D$pH��$H�D$hH��$H�D$`H��$H�D$XH��$H�D$PH��$�H�D$HH��$�H�D$@H��$�H�D$8H��$�H�D$0H��$�H�D$(H��$�H�D$ L��L��H��I�����H��W�H�AH�H�KH��L��$�I�[I�k I�s(I��_�H��H�XH�hH�p H�HWH�� I��H��H�����I�H��H�D$0H��t/W���C�CH��A"H�H�KE3�L��H���k�3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _���H��H�XH�pH�x H�HAVH��0I��I��H��L���f���H�D$@H�T$@H�D$`L��H�D$(L��I��H�\$ �?��H�\$HH�3?"H�t$PH�|$XI�I��Adž��?AƆ�H��0A^��H��H�XH�pH�x H�HAVH��0I��I��H��L�����H�D$@H�T$@H�D$`L��H�D$(L��I��H�\$ ���H�\$HH�[>"H�t$PH�|$XI�I��H��0A^�H�\$H�L��H�W�I�A�H�AI�I���H�AH�D$(A�[�E�K�E�C�H�I�B|I�JI�JxI�BHI���I�BXI���I�BhI���I�J(I�J8I�Z@I�ZPM�Z0M�J`M�BpAI���I���I���I���I���I��I���I��lI���I���I���M���M���M���AI��8I��hI��I��pI��HI��|I��XI���I��(I��0I��@M�� M��PM��`AI���I���I���I��I���I��I���H�\$I���I���M���I���M���M���B���@USVWATAUAVAWH�l$�H��I��H��L��H�M�L�mxH���H�D$`H���H�D$hH���H�E�H���H�D$PH���H�E�H���H�M�H���H�E�H���H�E�H���W�fE�I��H�M������W�fE�H��H�M������W��D$8E3�L�t$HD�L$0L�EH�U�H�L$8�n����H���H�D$ L��L�D$8H��I���>����H�\$8H��t^H�|$@H;�t2H�SH��rH��H��t���L�sH�CD�3H�� H;�u�H�\$8H�T$HH+�H���H���C���W��D$8L�t$HL�
~��� D�B�H�M����H�m;"I�$M��$�L�|$pM��$xL�t$xI��$HH�u�I��$H�|$XI��$�H�D$pH�D$ L�L$xL�E�H�T$X�U���I��$�H�\$X3�H�CH�CH�T$PH�����3�H�C0H�C8H�C@����A�$A��$H�|$PI��H��轻��3�H�GH�G H�G(H�t$PH�\$`H��H��蚻��3�H�~H�~ H�~(L�t$`H�T$hI���z���I�~I�~ I�~(L�|$hH�U�I���]���I�I� I�(I��$�I��$�I��$�����A�$�ADŽ$��?I��$�H�E��w H;�tH��PH�PPD���'�I��$PH�E�H;�tH��PH�PPL����I��$�H�E�H;�tH��PH�PPL��������A��$@����A�$DA��$H�EpA��$����A��$�����A�$�I��$�H�E�H;�tD�L$0L�@H��L�H�KH+H��H��tI�EI+EH��H;�uwI��$�H�HH+H;�r)I�UI+UH��H��tI��$�H�HH+H��H;�uI��H��A_A^A]A\_^[]�H��7"H�L$8��r��H��6KH�L$8���H��&"H�L$8�r��H��6KH�L$8�f���H��H�XH�hH�x H�HAVH��PA��M��H��H��W��D$0H�d$@H�L$P裾��L��H�L$ �L�D$0H��H�����H�|$0tOH�\$0�)H�SH��rH��H�襬��H�cH�C�H�� H;\$8u�H�T$@H+T$0H���H�L$0�r���H�s7"H�H��(I�H�I�VH�K����I���H���I���H���H��������H��L��$PI�[I�k I�{(I��A^����@SH�� H��H�	H��tH�SH+�H�����H�#H�cH�cH�� [����@SH�� H��H�	H��t<L�CH���������L+�I��I�H��H��H��?H�Hk�x荫��H�#H�cH�cH�� [��@SH�� H��H�I0H��t=L�C@H���������L+�I��I�H��H��H��?H�Hk�x�8���H�c0H�c8H�c@H�SH��rH�H������H�cH�C�H�� [���H�\$VH�� H��H�������H��h���H��XH��rH��@H��軪��H��P�H��Xƃ@H��8H��rH�� H��脪��H��0H��8H��8ƃ �J��H�S(H��rH�KH���L���H�c H�s(�CH�\$0H�� ^�@SH�� H��H���H��t+H���H+�H������H���H���H���H�������H��x����H��H���H�����H����@���H��8���H�S(H��rH�KH��薩��H�c H�C(�CH�� [����H�\$VWAVH���H�uKH3�H��$�H�ZH��L��H��t�CH�ZH�B��tu+H���3�H+��H��8�4��H+�H��u@2��@�H��t9����C��u,H�H��H���!����C��uH�H��H�@���!@����H���H���H+�H��H����H�	H�H�@�ñ!H������H;���H���H���H+�H��H����H�IH�H�@���!H�����H;��iH���H���H+�H��H���oH�2H���bH�RL��I��q	H���H���H+�H��H���4H�RL��I��-�	I��
�	H��H�T$ L���ZI�H����	H�H���?ZI��ߢ	H��H�T$(L���ZI�H���Ģ	L�H�T$0H��L���Z�� ��t&��$��(��$��(�� A�H�T$@H���i
H��H���H;�tH�SPA� H�NP��H�SxH�NxH;�tH��PH��PA� �����H��I�����8�	H��$�H3���H��$H���A^_^�������H�\$UVWATAVH��H�JrKH3�H��$�H���H��H���L��H+�H��H���&H�?H���l
����8��t
A8F�������H���H+��H��H���������H������� ��H�H��H�@�
�!H���q�H;��!H�H��H�@��!H���L��H;��H�H��H�@�ˮ!H�����H;���H�H��H�@���!H���r��H;���H�H��H�@���!H�����H;���H�H��H�@�h�!H�����H;��|H�H��H�@�G�!H���b��H;��[H�H��H�@�&�!H���F+H;��:H�H��H�@��!H���+H;��H�H��H�@��!H���<,H;���H�H��H�@�í!H������H;���H�H��H�@���!H���&��H;���H�H��H�@���!H����H;���H�H��H�@�`�!H��� ,H;�txH�H��H�@�C�!H���k,H;�t[H�H��H�@�&�!H���-H;�t>H�H��H�@�	�!H�����H;�t!H�H��H�@��!H���t*H;��GH�]H��H��t�CH�]H��H�EH��H��t�FH�uH�M��4A����8��0��$��(�� H��t9A����FA�u,H�H��H��[�!A����FA�uH�H��H�@�>�!H��t9A����CA�u,H�H��H���!A����CA�uH�H��H�@��!A�H�T$ H����
H��� H���H;�tH�SPD��H�OP�(�H�SxH�OxH;�tH��PH��PL�������H�Չ��I��ē	H��$�H3��4�H��$�H�İA^A\_^]������������@SH�� H�k/"H��H���t
�����H��H�� [������@SH�� H�c/"H��H���t
���H��H�� [������@SH�� H��."H��H���t
���n�H��H�� [������H�\$WH�� H�ً�H��8�m���H�S(H��rH�KH���o���H�c H�C(�C@��t
� H����H��H�\$0H�� _��������������H�\$WH�� H�ً�H��8���H�S(H��rH�KH�����H�c H�C(�C@��t
��H����H��H�\$0H�� _��������������H�\$WH�� ��H�������t
��H���Z�H�\$0H��H�� _�������������H�\$WH�� ��H���8�����t
��H����H�\$0H��H�� _�������������H�\$WH�� ��H��H��(�
���H��8����H�S(H��rH��H�K����H�c H�C(�C@��t
��H����H��H�\$0H�� _�H�\$H�l$H�t$WH�� H��������L��H��H;���H�QH��H+H��H��H��H+�H;�vH���H�<I;�IB�3�H9tH�H���d���H�H�^H�^H;�wKH��H��r
H��诞���
H��tH����H��H�l$8H�H�H�^H�\$0H�FH�t$@H�� _��D�����~�����H�\$H�l$H�t$WH�� H�"""""""L��H��H;���H�IH���������H+H��H�H��H��H��?H�H��H��H��H+�H;�vH���H�<I;�IB�3�H9tH�Hk�x�v���H�H�^H�^H;�wKHk�xH��r
H������
H��tH�����H��H�l$8H�H�H�^H�\$0H�FH�t$@H�� _��V����萼������������������H��-"H�H�����H�a,"H�H�����H��,"H�H�����H��-"H�H�����H�-"H�H�����H��,"H�H�����H��+"H�H�����H�9,"H�H�����H�A-"H�H�����H�9+"H�H�����H��+"H�H�����H��*"H�H�����H�
���������H�
�Hg��������H�
�Xv��������H�
��|��������H�
�v��������H�
��u��������H�
�_��������H�
�Ht��������H�
�|��������H�
�[��������H�
�_��������H�
��{��������H��K���������H��K���������H��K���������H�	K���������H��K���������H�)�K���������H��K���������H�I�K���������H��~K���������H�)�K���������H���K���������H�I�K�H�\$UVWATAUAVAWH��$���H��H�ZgKH3�H���
M��H��H�T$PE3�D�l$0I���I���H+�H��H���2L�aA��A��H��H�H�@�{�!H���� H;�����I���I���H+�H����H;�r�A�H���I���>
H��A�H��@I���)
H��H��������cI�$I��H�@��!H������H;�uII�$I��H�@�ޣ!H����H;��oM��$0L�|$@M��t�A�GH�L$@��D$0�/A�H���I���
L��H�T$HH�N�K�H�ȋÉ\$0L�9L�}�L�)����t9��D$0H�L$HH��t#����A�uH��tH��WH��9�!�D$0L�l$H�t+H�D$@H��t!����H�uH�L$@H��H���!W���@	H����z���H����D$ D��D����H�M����L��H�|$ D�ú�H��p	���W��`	�D��L��@	H��p	H����E1��H��I�H�AI��r�!H��L�0&"H�M�迗���L��H��H��`	�(��H�U�H��rH��H�M�����L�m�H�E�D�m�H��������W��P	L��L��@	H��p	H�� �0��H��I�H�AI��ޡ!H��L��%"H�M��+����L��H��H��P	���H�U�H��rH��H�M��q���L�m�H�E�D�m�H�� �=����W�fD$`H��h	H��t�y(�`	fD$`H�T$`H���U�	L��W�fD$pH��X	H��t�y(�P	fD$pH�T$pH����	H��H�D$8I�MH�AI���!H�����H;���E3�I��I���/�H�H��H�@�Ӡ!H����H;��=E3�I��H�����D$(�D$ A�M��I��H����b	I��$�H�H;���H�;H�I�EI��H�@�k�!H��H�WH�
H�AH��T�!H��H���i	����uEI�I��H�@�5�!H��H�WH�
H�AH���!H��H���3	����uM��I��H�O�<
I;�$��p���E3�I���H�H�HH���L����<H�>I�I��H�@���!H��H�H�AH����!H��H�������uI��H��I;�u�M���M��D$(�D$ M��M�@L�d$8I��H�L$P�a	I���H�H;���H�;H�I�$I��H�@�9�!H��H�OH�H�B�%�!H��H���:����uBI�I��H�@��!H��H�OH�H�B��!H��H�������uM��I��H�O�
I;���w���I�^H��t�CI�^I�~��H��t5����C�u*H�H��H����!����C�uH�H��H�@�u�!ƇH��X	H��tA����A�u6H��X	H�H��H��A�!����C�uH��X	H�H�@�"�!�H��h	H��tA����A�u6H��h	H�H��H���!����C�uH��h	H�H�@�՝!�M��t ���A�G�uI��I��H����!H���
H3��P�H��$@H��A_A^A]A\_^]�H�."H�M��Y��H��KH�M��u������H�"H�M��2��H��KH�M��N��H��"H�M����H��KH�M��-��H�\$UVWATAUAVAWH��$����H��pH�~_KH3�H��@M��L�E�L��H�U�A�M9����A�����I���H�H�HH�H�@���!H���R��H;���I�^H��t	�DkI�^I�~H�}�H��t9����CA;�u,H�H��H��V�!����CA;�uH�H��H�@�9�!E��H�UpI���.�	�XE��H���I����	H���uI;�t4��uH�A�H�����t#��u	H���t����
H�����
W�E�H���L�H�U�I������E��H��pH�M��	H�P`H��H���HDž�H��H���L���H��H���L���H��H���HDž�H��$H��HDžW��� A� H���g�H���D9(��	D9h��	H���D9(��	D9h�}	I���H�H�pH�u�H���H+��H��3�8�4��H+�H���A	����4	H�^H��t	�DkH�^L�fH��t8������C�u*H�H��H��R�!����C�uH�H��H�@�7�!I��$tH�E�8��I��$�H�E� uD�(��$�A�$��	�8��H���H���H+�H��H����H�?I���Ћ	H�H�L��H�UXH���sCH�E3�H;�tI��H�H��H;�u�H���H���H+�H��H����H�I���w�	H�H�L��H�U`H���CH�3�H;�tH��H�H��H;�u�yE�}3�D;���H���H���H+�H��H;��2H��H�H�@��!L�m�I�UH���������W�3�H��0W��� H!�0H���H��@HDžHH���H��P�H��XH���H��`H��hH���H��pHDžxH���H���HDž�����I���D�AH���苷M��$�I��$�I+�H���������H��H�H��H��H��?H�L���I��H+��H��3�8�4��H+�H;�ubLk�xK�L0H��p���H��pI��$�I�L0�B�A�B3�D;���H�]�Hk�xI�$�H�� �	��L����3�D;���H�]�W���
�"�M�H���L+�I��L;��QH��H�E�I���I���H+�H��H���+H�H�E�L��"I�UH�M8�U����M�D$H��H�M胋��H�E�I��$�I���I���M��M�� I��PI��H�U�H�
H�AH����!H�E�H�U�H�
H�AH����!L��H��$�H�E�H��$�H��$�H��$�L�t$xL�|$pH��@H�D$hH�� H�D$`L�d$XH�E�H�D$PL�l$HH�}�H��H�D$@H��H�D$8H��H�D$0H���H�D$(H�E�H�D$ L�M�H�U�H���L���H�U0H��rH��H�M荌��3�H�u(�^H�]0@�uH�UPH��rH��H�M8�f���H�uHH�]P@�u8W�fE�L��M��t�A�EL��(�fE�H�U�H�}�H���R�	L��L��H�U�H���̤	I���H�JH�1H�
H��tH�����H��H��u�I���H�I���H�@I���M��H�]�H��H���#�	W����H��M���I�I�FH+�H��H����H�H�E�L�E�3�H����
���H���H���H+�H��L�e�I;���J��H�E�H���H��H;�tH�H��H����!L�E�H��H������H��H���L�}H���H���H+�H��I;��7J��H���L�EH�����A�I�I�FH+�H��I;�vON��H;�tI�H�H��H����H��H�������H��H���I��I�I�FH+�H��L;�r�H���c����L���H���I+�H��3�8�4��H��H+�H;��yI��H�EH;�tH�H��H����!L�EH��H������H��H���L�}L���H���I+�H��3�8�4��H��H+�H;��I��H���L�EH�����H���L���L;�tFI+�H��H��I�H�M�I�FH+�H��H;�vI����I�H�M�L��I���ֱH�E�H�I�FH�}�H���H���H��H+�H��H��v%H+�H��H�A�H;��bL��H��H���J�	�H��H���Iz	�I����	�M��tI+�H��H��I���ˆ���M��tF���A�E��u8H��H�H��H��ȑ!����C��uH��H�H�@���!�H�� H��tDL��0L+�H���������I��I�H��H��H��?H�Hk�x�9���W��� H��0H�M�H��t>����A��u1H�]�H�H��H��-�!����C��uH�M�H�H�@��!H��@H3���H��$�H��pA_A^A]A\_^]������������������H�\$WH��@I�I��I��H�T$XH�@���!H���Z���H;�u*H�H��H�@���!H���=���H;�uH��H�L$X����H�\$PH��@_�H��!H�L$ �;���H��KH�L$ �V�������H�\$H�T$UVWH��0H��H��d$ W�3�H�BH!H!BH!B�D$ H�� H��(H�SH+H��H�AH+H��H�3�H9�P��H�3�H9�0��H�t"H��������H;��H�����H�� H�{H��*H�\$PH�VH;Vt
H�H�F�
L�D$PH���!��H�� H;�u�H��(H�{H��*H�\$PH�VH;Vt
H�H�F�
L�D$PH������H�� H;�u�H��0t-H�� H�D$PH�VH;Vt
H�H�F�
L�D$PH�����H��Pt-H��@H�l$PH�VH;Vt
H�*H�F�
L�D$PH���k��H��H�\$`H��0_^]�����H�\$H�t$ H�T$UWAVH��H��0H��L��e�W�3�H�BH!H!BH!B�E�H���H���I���I���L�@L+I��H�AH+H��L�H�BH+H��L�H�CH+H��L�3�I9����L�t%H��������L;��JI��H����}��I���H�{H��(H�] H�VH;Vt
H�H�F�L�E H���^��H�� H;�u�I���H�{H��(H�] H�VH;Vt
H�H�F�L�E H���!��H�� H;�u�I���H�{H��(H�] H�VH;Vt
H�H�F�L�E H������H�� H;�u�I���H�{H��(H�] H�VH;Vt
H�H�F�L�E H�����H�� H;�u�I���t+I���L�u H�VH;Vt
L�2H�F�L�E H���i��H��H�\$`H�t$hH��0A^_]������H�\$WH�� H�YH�AH��t�CH�YH��X@��H��t9����C��u,H�H��H��L�!����S��uH�H��H�B�/�!H�\$0@��H�� _��H�\$WH�� H�YH��t�CH�YH�AH��`@��H��t9����C��u,H�H��H��ԋ!����S��uH�H��H�B���!H�\$0@��H�� _����������H�\$H�l$H�t$ WAVAWH��@H�	NKH3�H�D$0H��H��W��L$ A�A��謽H�H�@H�D$ H���T}	H�H��7L�3H�I�NH�H�@�)�!H���q�H;�uM�FH�T$ H�L$ �	��H���
}	H;u�H�L$ H�H;�tL�CH�;H��H��H����H�L$ H;�u�H�AH� H�	H��tH�I��腁��H��H��u�I��H�L$ �p���H�L$0H3��C�H�\$`H�l$pH�t$xH��@A_A^_�����������H�\$H�l$H�t$ WAVAWH��@H��LKH3�H�D$0H��H��W��L$ A�A���|�H�H�@H�D$ H���$|	H�H��7L�3H�I�NH�H�@���!H����P��H;�uM�FH�T$ H�L$ ����H����{	H;u�H�L$ H�H;�tL�CH�;H��H��H����H�L$ H;�u�H�AH� H�	H��tH�I���U���H��H��u�I��H�L$ �@���H�L$0H3���H�\$`H�l$pH�t$xH��@A_A^_�����������H��H�XH�pH�x UATAUAVAWH������H�� H��KKH3�H��H��L��H�L$0E3�D�l$(H�J H�T$@�@r��L�I�@H�D$(H��A��D�d$ ��H�\$HH��t5����C�u*H�H��H����!����C�uH�H��H�@���!W�����ɺH�H�@H��H���oz	H�H��;L�3H�I�NH�H�@�D�!H����H;�uM�FH��H��� ��H���$z	H;u�H���z	H�H�H���	z	H;�L�|$0L�sH�A�����I�I��H�@�ʇ!H���N���H;���I�I��H�@���!H���-���H;���M���I���I+�H��H����M�$$I���R�	���cA8�$�tH�|$(�MI���I+��H��H���1A��$��"I9�$���I�$I��H�@��!H��芨��H;�t>I���H�A�H�U�H�I���	H��A�H��I�����	H��H��蓖����t;I��������u/M�~M��t	�A�GM�~A��I�NH��pH9�hu@2��@�A��tDA��M��t;���A�G��u-I�I��H��Q�!���A�G��uI�I��H�@�3�!@��u+A�H���I��� �	H��E3�I���v�	I��H���3n	H���x	H;����L�|$0D�d$ H����w	H�H�H����w	H;t^L�sH�H�t$0D�d$8I�I��H�@���!H���,H;�u�I�I��H�@���!H���H;���I��H�L$0����H���sw	H�H�H���ew	H;t"L�CH�;H��H��I���s�H���Cw	H;8u�H��H�AH� H�	H��tH����{��H��H��u�H����{��H��H3�薸L��$ I�[0I�s@I�{HI��A_A^A]A\]�H�n�!H�L$h蘬��H�KH�L$h賕�轲���H�E�!H�L$P�o���H��KH�L$P芕��@UH��H��H�E�H�EH��"H�E�H�E�H�E�H�e�H�E��E�L�
�"E3�A�PH�M���~���H�U�H�M�����H�Ā]���@UH��H��H�E�H�EH��"H�E�H�E�H�E�H�e�H�E��E�L�
"E3�A�PH�M��~���H�U�H�M�賂��H�Ā]���@UH��H��H�E�H�EH��"H�E�H�E�H�E�H�e�H�E��E�L�
�"E3�A�PH�M��~���H�U�H�M��K���H�Ā]���@UH��H��H�E�H�EH�m"H�E�H�E�H�E�H�e�H�E��E�L�
�"E3�A�P"H�M��}���H�U�H�M����H�Ā]���@UH��H��H�E�H�EH�="H�E�H�E�H�E�H�e�H�E��E�L�
�"E3�A�PH�M��I}���H�U�H�M��{���H�Ā]���@UH��H��H�E�H�EH�
"H�E�H�E�H�E�H�e�H�E��E�L�
I"E3�A�PH�M���|���H�U�H�M�����H�Ā]���@UH��H��H�E�H�EH��"H�E�H�E�H�E�H�e�H�E��E�L�
�"E3�A�PH�M��y|���H�U�H�M�諀��H�Ā]���@UH��H��H�E�H�EH��"H�E�H�E�H�E�H�e�H�E��E�L�
�"E3�A�PH�M��|���H�U�H�M��C���H�Ā]���@UH��H��H�E�H�EH��"H�E�H�E�H�E�H�e�H�E��E�L�
"E3�A�PH�M��{���H�U�H�M�����H�Ā]���@UH��H��H�E�H�EH�M"H�E�H�E�H�E�H�e�H�E��E�L�
"E3�A�PH�M��A{���H�U�H�M��s��H�Ā]���@UH��H��H�E�H�EH�"H�E�H�E�H�E�H�e�H�E��E�L�
�"E3�A�P!H�M���z���H�U�H�M����H�Ā]���@UH��H��H�E�H�EH�E"H�E�H�E�H�E�H�e�H�E��E�L�
)"E3�A�PH�M��qz���H�U�H�M��~��H�Ā]�����������H�\$H�|$ UH��H��pH��H��H��hH�U�谙��H���H�U����蕙�����H��H��H�E�H��X��H�E�H��h(E�H�E�H��x��H�E�(M�������H�����H�E�H����H�E�H���(E�H�E�H�����H�E�(M���� H��8�pH�E�H��H��H�E�H��X(E�H�E�H��h�0H�E�(M��@�P�`H�� H�HH+H����x�����p�����t��`���H��@H�xrH�H���H�� H�xrH�L�\$pH���I�[ I�{(I��]����������H�\$H�|$ UH��H��pH��H��H��H�U����H��HH�U����襗��H��xH�U����芗��H���H�U�����o����������������H����(H�E�H���8H�E�H��(E�H�E�H�� ��H�E�(M�������H��h��H�E�H��x��H�E�H���(E�H�E�H�����H�E�(M���� H���H�HH+H����x��@��p��D��tH����H�E�H����(H�E�H��(E�H�E�H��H�E�(M��0�@�P�`��H��|H��h��H�E�H��x��H�E�H���(E�H�E�H�����H�E�H���(M�������H�xrH�H��L�\$p���������������(�����,H���H���H+�H�E�H��H�M�E���0����@��I�[ ��DI�{(I��]���H��(H�����������H�\$H�L$WH�� I��H��H�H�a�8转H��H�GH�` H�`(@KH H�cH�C�H�C H�B0H�c H��H�\$8H�� _���H�\$H�t$WH��0I��I��H��H�L$ H�H�a�0�A�H��H�FH�` H�`(H�H�A H�CH�A(H�#H�cH�FH�8H�NH�yH�NH�y3�H�N�DH��H��|�H��H�\$HH�t$PH��0_���H;�tMH�\$WH�� H��H��H�H��t����A��uH��H��My!H�#H��H;�u�H�\$8H�� _������H;�t-H�\$WH�� H��H��3�H����H��H;�u�H�\$0H�� _��H�\$ WH��0H��$I�$I�H��H��H9AtoH��H�L$ �;���H�CH�D$(H�OH�8H�D$(H�HH�\$(H�d$(H�_H�H�L$(H��tH��3���H�L$(H��t
�8�Ko��H��H�\$XH��0_�H�
v�!虊�H�\$H�t$WH��P�d$8H��H�	H��H��H�AH�D$0�xu-M�H�D$0L9H s�d$8H�@�H���D$8H��xtրzuH�B I9r	H��C�wH�UUUUUUUH9GtzM��H��L��H�L$ ���H�pH�`H�L$(H��tH�� 3��sH�L$(H��t
�0�gn��D$0L��H�T$0H���D$0�L_��H��CH�t$hH��H�\$`H��P_��i���������������L�D$H�L$SVWATAUAVAWH��0L��L��H��H+1H�AH+H��H��������H;��&L�hH�II+H��H��H��H��H+�H;�vH�\$xH���,H�
I��I;�HC�H;���H��H��H�\$xH��r��l��H��L��$��H��t��H��L��$��3�H�\$xH��$�H���H�L�~L�|$(H�&H�fI�@H��t�@I�H�I�@H�FH�t$ I�VI�L;�uL���M��L��I���H�|$ I�VI��M��M����L��M��H��I���>H��H��0A_A^A]A\_^[��2�����������@SH�� I��H��H;�t7H+�H�#H�cH�LH��t�AH�H�H�LH�KH��H�H;�u�M��H��H���R���H��H�� [��@SH�� I��L��H;�t3L+�E3�L�L�SI�H�I�LH�KM�M�TH��I�H;�u�M��H��H�����H��H�� [��L��SH��@H��7KH3�H�D$8I�K�I�C�L��I�C�3�I�K�M�M�M;�tAH�M�I9@u(I�JI�I� I�@H�H�AH�D$0L�L�T$ L�D$0M��M;�u�H�L$(H��tH���bk��H��H��u�H�L$8H3��-�H��@[����H�\$UVWH�� 3�H��H�H�AH�AH�2H�jH;�taH��H��������H+�H��H;�wXH��H��r
H���^j���
H��tH���_�H�L�H�GL��L�OH��L��H������H�GH�\$PH��H�� _^]������H��(H�IH��t
�8�j��H��(�����@SH�� H��H�I H��t����A��uH��H���s!H�c H�SH��rH�H���6j��H�cH�C�H�� [�@SH�� H��H�	H��t-H�SL�����H�SH+H�H����i��H�#H�cH�cH�� [�������������@SH�� H��H�	H��t-H�SL�����H�SH+H�H����i��H�#H�cH�cH�� [�H�\$WH�� H�ً�H�I H��t����A��uH��H���r!H�c H�SH��rH�H���<i��H�cH�C�@��t
�(H���٤H��H�\$0H�� _����H�\$H�t$WH�� H�Y��H��H��t9����C��u,H�H��H���q!����C��uH�H��H�@��q!@��t
�H���_�H�\$0H��H�t$8H�� _�H�\$H�l$H�t$WH�� H��I��H�	I��H��H��tH�SL���X���H�SH+H�H����Eh��H�+H��H�H��H�sH�H�l$8H�t$@H�{H�\$0H�� _��������H�y�!H�H�����I��L��L��H��I�����������������H�
�2��������H��MK�H�\$H�t$WH�� H�H��H�BH� H�:H��t#H�H�O3��	����8H���g��H��H��u�H��8H�\$0H�t$8H�� _�dg��H�\$ UVWATAVH��PI��L��H��I�I��H�@�kp!H��臑��H;��4H�_H��t�CH�_L�GL�D$ H�\$(I��H�T$0I���r���H�MXL��H�T$@����A��H�t$8H��t:A����FA�u-H�H��H���o!A����FA�uH�H��H�@��o!�H��t9A����CA�u,H�H��H���o!A����CA�uH�H��H�@��o!�E(H���t	���tBH�H��H�@�jo!H�MHH;MPtH�aH�aH������H�EH �L��H��H�M@��L���I��H���H��$�H��PA^A\_^]���H��H�XH�pH�x UATAUAVAWH�h�H��L��L��I�0M�pI;��,A��H�H�H�@��n!H���ߏ��H;���W�E�L�I�XH��t�CI�XM�@L�E�H�]�I��H�U�I�������H��t9A����CA�u,H�H��H��Yn!A����CA�uH�H��H�@�<n!I�GXH�HH��L�E�E3��L9A sH�I�H��H�	D8It�D8JuL;B r	H;���L�I�XH��t�CI�XM�@L�E�H�]�I��H�U�I������L��H�UI�OX�Z����H�}�H��t:A����GA�u-H�H��H���m!A����GA�uH�H��H�@�wm!�H��t9A����CA�u,H�H��H��Um!A����CA�uH�H��H�@�8m!H�>H�H��H�@�%m!H���A���H;���H�}wI�O0L�EwH������H�M�H��t>A����AA�u1H�]�H�H��H���l!A����CA�uH�M�H�H�@��l!H��I;�����L��$�I�[0I�s8I�{HI��A_A^A]A\]�H�3�!H�M�^���H���JH�M�z}��H��H�XH�hH�p H�PWAVAWH�� H��L��L�9H�i�-I�H�>H�H�@�*l!��H�H��H�B�l!;�t>I��L;�u�I�VI;Vt8H�"H�bH�FH��t�@H�H�H�FH�BI�F�H��I���w���L��I���n�H�~H��t8������G�u*H�H��H���k!����G�uH�H��H�@�|k!H�\$@H�l$PH�t$XH�� A_A^_����H�\$ UVWAVAWH�l$�H��H��-KH3�H�EI��H��H��H�U�E3�D8y(uL�:L�zA�O8�d�H�H�@H��?W��M�L�}�3�H�M�趠��H��H�M��H�S@H�M��Q���H��H�M��L�CX�D$ L�M�H�U�H�����L�s0I�I;�t2H�{H�H��H�@��j!H��L��0H�M���H�H��I;�u�W��D$8L�|$HH�T$8H�M��m��H�\$8H��tUH�|$@H;�t7H�H��t����A��uH��H��j!L�;H��H;�u�H�\$8H�T$HH+�H��H����`���H�M��6�W�3�E�H�E�H�U�H��PH�M��X����W��M��8����H�H�@H�E�H�]�L�u��H�H�HH�H�@��i!L�|$`L�|$hH��H�L$P�4|���H�H�HXD$PD$pL$`M�L�|$`H�D$hD�|$PH�M�H��t�AL�D$pH�U�H�M��+�H�M�H��t"����A��uH�M�H��H���h!H�U�H��rH��H�L$p�_���H��I;��7���L�>L�~H����H�H�@H�M�H�H�E�H�VH�M�H�NH�U�H�HL�9L�0M��t!I�I�N3�����H��I���M_��L��H��u�H��H�M��9_���H�M�H��t-L�E�H�U��"�H�U�H�M�H+�H����_��W��E�L�}�H�M�H��t#����A��uH��tH��H��h!L�}�H�]�H��t3H�}�H;�t3�H�����H��H;�u�H�]�H�U�H+�H���H���^��H��H�MH3��g�H��$XH��A_A^_^]�I��H��I���a^���H�\$ UVWH�� I�H��I��I��H��H�@�kg!H��臈��H;�t_L��H��H�����H��H���U��tBH�H��H�@�1g!H�NHH;NPtH�aH��H�a��y��H�FH �H��L��H�N@�O�H�\$XH�� _^]��̀��t$H���H��H�P���tH�H;�u�2�ð�H�\$UVWATAUAVAWH��$@���H��H�")KH3�H���L��H�T$8H��H�L$@H���X	H�8H�E3�H;�t#L�CE8��tI��H������H�H��H;�u�M�FH�U�H�������I���:X	H�8H�?I���,X	H;8��L�/H�?I�]D8��t�H��H���	�����u�D8��tH�H��H�@��e!H�����H;�u�M�}I��I���I���H��H+�H��H��tDH+�H��H;��cH��H���I�U�k�H��I���I���H��H+�H��H;�r�I���M���I�$I;���H�CH�H�D$0H�PL�0L;�tiI�MI9t	I��L;�u�L;�tRI�FH;�t I�ML�L;�tM�I��I�MH��H;�u�H�D$0L;�tH�pH+�L��I���5�J�6H�L$0H�AH�H��I;��m���M���H�t$@L�t$8I�D$H� I�$E3�H��tH���V[��H��H��u�I���H�I���H�@M���I�UD8���)���I���
o	����H�E�H�0H;���H�VI����P	L��L�d$0H�H�AI��d!H���`H;��JW�D$pI�I��H�@��c!H���7H;��}I�^H��t�CI�^I�FH�D$pH�\$xD8����D8����D�d$ L�
I@KL�@K3�H�N0苑H��tyH�F0H�D$XH��t�@A�L�D$XH�T$@L�l$8I�M螮H�L$0H;�tH�H�L$0L� H�L$@H��t#����A��uH��tH��H��c!L�d$@�L�l$8H��t9����C��u,H�H��H���b!����C��uH�H��H�@��b!L9d$0u&�L�l$8H�F0H�L$0H;�tH�H�D$0H��t�@H�|$0H�|$HH��H�M�Ӯ����GW�E�L�FH���!H�M��+X���L�EH��H�M����H�U�H��rH��H�M��Y��L�e�H�E�D�e�W�fD$`L�e�M��t
�A�D$L�e�(E�fD$`H�T$`I����N	H�D$PI�H�AI���a!H���+H;���W�3�E�H�E�I���H�M��]���H�E�L��H;E���H�|$8W�E�I�H�e�H�e�H���L��H�H�M������L�m�I�]I;�t#L9suM��I�H���nk	H�H��I;�u�L�m�I�EH� I�MH��tH����W��H��H��u�H�M���W��I��L;}��c���H�|$HH�E�H��t H�U�H+�H��H���W��W��E�H�e�I���I���M���I�I;�tH�H���uH�H��I;�u�L��I;�t'H�I;�tH�A���uI�@M�H�H��I;�u�M;�t0I�@L�8I�GE3�I��I���W��L��I��I;�u�M)��L�D$PI��L�t$8I���o	�A��M��tAA���A�D$A�u2H�]�H�H��H���_!A����CA�uH�M�H�H�@��_!�H�M聸���E3�L9d$0t#A����G��uH�L$0H�A�T$H���_!H�H��H;E��R���H�M���H���H3��$�H��$H��A_A^A]A\_^]�H��!H�M��-���H���JH�M��Ip��S������H�T$SH��0H��W��D$ L�BM��t	�A�@L�BH�H�D$ L�D$(H�T$ ��H�[H��t9����C��u,H�H��H���^!����C��uH�H��H�@��^!H��0[�@UH��H��H�E�H�EH���!H�E�H�E�H�E�H�e�H�E��E�L�
i�!E3�A�PH�M��Y���H�U�H�M��K]��H�Ā]���H��H�XH�pH�x UATAUAVAWH�����H��H�� KH3�H���H��H�T$0E3�D�l$ H���O	H�8H�?H����O	H;8�hL�d$(H�H�?H�KH�H�@��]!H���B��H;��(H�sW��M�E3�L�u�L�}��xH�H��H�@��]!H�����H;��WH��������uEL�fM��t�A�D$L�fL�u�L�}�A��D�l$ H�NH��pH9�hu
���u2���A��tYA��D�l$ M��tKA��A���A�D$A�u0I�$I��H���\!A���A�D$A�uI�$I��H�@��\!L�}�L�u�����H�t$8M;�t
I�7I��L�}��L�D$8I��H�M����L�u�L�}�H���H���H+�H��H���IH�	H�H�@�X\!H����}��H;�u;H���H���H+�H��H��u H���uH�1H���u	H������I�G�H���H���H+�H��H����H�A�H��0L�m�I�M�ػ	A�H�U�H���ɻ	L�E�H��0H�M��m�	�}��I��M;���H�H�L$(H�H�@��[!H���
}��H;���}�tI�}�tCH�D$(���t5H���H���H+�H��H���H�	H���H9����H��I;��y���H�M�H����L+�I��I����Q���wI��M;�tXH�H��H�L$(H�H�@��Z!H���_|��H;���H�T$(Ƃ��}�����0�}�t
H�L$0��B	I;�u�M+�I��I��I���ZQ��D�l$ H�L$0�L	H;8�����H���H3���L��$�I�[0I�s@I�{HI��A_A^A]A\]�H��!H�L$p����H���JH�L$p�0k��:����H��!H�L$@���H�i�JH�L$@�k�H���!H�L$X�Ɂ��H�F�JH�L$X��j����H��t}H�\$H�t$ WH�� 3�H��������?H��H;�w[H�<�H��r
H����O���
H��tH���ЋH��H�H�L��H�F3�H����|H�H�\$@H�FH�t$HH�� _��n������H��tvH�\$H�t$ WH�� H��H�"""""""3�H��H;�wQHk�xH��r
H���DO���
H��tH���E�H��H�H�L��H�FH���LH�\$@H�FH�t$HH�� _��n�����H�\$H�l$H�t$WH�� M��H���������L+�H��I��I��H��I�H��H��H��?H�tZH��������H;�w`H��H��r
H���N���E3�H��tH��薊L��L�J�L�GL��H��H�GH���"H�GH�\$0H�l$8H�t$@H�� _��Xm������H�\$H�t$WH�� I��H��H;�tFH�y(H�G�H�W(H�A� H�H�CH�GH�CH�O H�KH�K �wH�xH��@H�O�H;�u�H�t$@H��H�\$8H�� _��L��H��teL�I(A�M�A(I�A�I�A,M�I�A�I�I<M�A�I�A0I�AW�M�Y�I��xM�I�AI�II�A M�IxAA@I+�u�I������@SUVWH���H��KH3�H��$�L��$(H��H�T$0I��H��$0I��D��$ H��H�T$(H�T$@L�T$ �UvH�D$@L��L��H�D$ H��H���FdH��H��$�H3��C�H���_^][����H�\$H�l$H�L$VWAVH��@I��I��L��H����览H��H�D$`H��t\W���C�CH���!H�H�KH��$�H�D$0H��$���D$(H��$���T$ D�L��I���l�3�W�H�CH�H�_H��H�\$hH�l$pH��@A^_^��H�\$H�l$H�L$VWAVH��@I��I��L��H������H��H�D$`H��tgW���C�CH�j�!H�H�KH��$�H�D$8H��$���T$0H��$�H�D$(H��$�H�H�T$ D�L��I�����3�W�H�CH�H�_H��H�\$hH�l$pH��@A^_^���H��H�XH�pH�x H�HAVH��0I��I��H��L��膽��H�D$@H�T$@H�D$`L��H�D$(L��I��H�\$ �]��H�\$HH�K�!H�t$PH�|$XI�I��H��0A^�H�\$ WH��PA��H��H�L$8L��$�H�L$ ��d����H�,�!H�HLJhH��`ƇPLJp�?��tH��xH�!H�aH�aL�D$13��6������$������$����H���H�#H�cH�cL�D$03�H�������H���H�L$@L�CH�H�!H�aH�aD�L$0�����H��H�\$xH��P_�H��H�XWH��PH��H��H�L$@H�@�H�@����!�@ȋ��!�D$(��!f�D$,3҈T$.H���!H�H��H�QH�QH�T$ ��e���H�T$8H��r
H��H�L$ ��I��H��!H�H�{(H��H�\$hH��P_����H�\$WH�� H��3�H���H��t(H���H+�H���I��H���H���H���H���H��tFL���H���������L+�I��I�H��H��H��?H�Hk�x�0I��H���H���H���H��xH��t(H���H+�H���H��H��xH���H���H��hH��rH��PH����H��H��8H��`Hǃh@��P�`��H�S(H��rH�KH���H��H�{ H�C(@�{H�\$0H�� _��H�\$UVWATAUAVAWH��$�H��H�KH3�H��L��L��W�D$hL�rM��t	�A�FL�rH�BH�D$hL�t$pE3�H���H���H��H+�H����H���H+�H��I;��[J�4�W�D$@H�E�H�D$xH�E�H�E�H�E�H�E�H�E�H�E�H�E�H�E�H�E�H�E�H�E�H�E�H�E�E�E�H�M�1Y��H�D$ L�L$x��A�H���V��H��H�H��H�B�mP!H��A�H���H���\�	L��H�|$0L�|$(�D$ L��H�U�I�M����H�0H�t$@H�HH�L$`H��H�L$HH� H�`H�}�H��t=������G�u*H�H��H���O!����G�uH�H��H�@��O!H�\$HH��tDW�fD$PH�|$`t	�CH�\$H(D$@fD$P�D$(�D$ M��M��H�T$PI�M�	���H��t<����C�u1H�\$HH�H��H��[O!����C�uH�L$HH�H�@�>O!I��I���I���H��H+�H��L;������M��t7���A�F�u+I�I��H���N!���A�F�uI�I��H�@��N!H��H3���H��$`H��A_A^A]A\_^]���|�����H�\$UVWATAUAVAWH��$`���誂H+�H�KH3�H���H��L��W�EpL�bE3�M��t
�A�D$L�bL�zL�|$HL�}pL�exH���H���H+�H��H���H�9D9�0�H���-A�H��H�I�	A�H��
H����	W�fL$PH�H��H�@��M!H���Po��H�H��H;���W���H�B��M!H���%o��H;���L�oL�M��t	�A�GL�L���L���H���H���H+�H��H����H�H�E�A�H���H���9�	I��0H���M�MH��H�D$0H�t$(�D$ L���H��(I�N�[��H�H�L$`H�XH� H�`H�L$PH�\$XH��0H�L$pH��t8����A��u+H�H���L!��H�L$p��A��u
H�H�@��L!�D$@H�D$`H���rHc�@��"wH��H���RA�H��H�M��I�	H��H���HDž�H��H����H���H��H���H���H��H���HDž�H��H���HDž�(�p�(���H��@�3T��H�D$ L���H�D$`D��@H��0H����Q��H���H���9[��E3�����I��pI9�h��M9�X��I�M8I�E@H���
D9��H��H;�u�I���I���H���
D9��H��H;�u�L�E�3�H���e�	H���u���uH��I��2	D���D�l$@W�fD$PH��t9����K��u,H�H�H���J!����C��uH�H��H�@�vJ!E��tkH���i���A��@W�H���H��fD$PI��0t=A��A����CA�u,H�H��H��#J!A����CA�uH�H��H�@�J!H�ϲ�p�	�E3�M��t:�����A�G�u+I�I��H���I!���A�G�uI�I��H�@��I!L�|$HH�D$PH�D$`H������@��
H��@I�� �~��L�� 
H���H���C���H��`H��A�L��H��`H�� E�B�L��(H��dH��0L��8L��hL��@HDžHH��tH��PHDžXW��`�pH������#�}	A+ȃ�Aȸ+�#�}	A+���A�A�H����H����#�}	A+ȃ�A�A��+�#�}	A+Ѓ�A�H��@�PH��XH���K���H��H���I�� �q}��H��H�U��)����W�L��H��H��@�P��L��L��H��I���	�H�M�H��tH�UH+�H����>��L�m�W��EH��XH��tH��hH+�H���>��W����D$xW��M�L�m�H�H��H�@��G!L��H���!H�M�`=��H��H���H�H�AH��vG!L��H�|$8H�D$xH�D$0H�E�H�D$(H��
H�D$ L��
H��H����u�H�U(H��rH��H�M��=��L�m H�E(D�mH�M�H��tH�U�H+�H����=��H��@�}O��H��H;�tH�OPH�PPA� �2fH�SxH�OxH;�tH��PH��PA� �f������W�fE�H���H��t�A(��fE�H�U�I��z3	L��I��w8	H��L��H��(��H�H�I��W8	H��M��L��H��0�J�H���D��D$@���iH���H���H+�H��H���V
H�XH�\$pW�3���H��I�I��H�@��E!W�f��H��H��p�zX���H�H��H�@��E!W�f��H��H����OX���W����H��D�L$@L���H��pH�����>���L�
tR��A�E�hA��H��p�vW����d$|I�I��H�@�E!H��L�^�!H�M0�i:��H��A�H��@
I���	H�L�D$HI���I���H�D$0H�L$(H�T$ L�L$|L���H��H����-��H�UHH��rH��H�M0�j;��H�e@H�EH�E0H��@�
M��H��A�H��@I���l�	H���H;�tH�KPH�WPM���cH�WxH�KxH;�tH��PH��PM���c������W�fE�L���M��t�A�EL���(��fE�H�U�I���0	H��I���5	H��M��H��8��H�H�I���5	H��L��L��H��@��L��I��I���V	L��I��I��	L��H�T$pI���	H��諤	L��H��I��V	�M��tE�����A�E�u6H���H�H��H��>C!����C�uH���H�H�@�C!�H���H��tWH���H;�t5H�SH��rH��H��9��H�cH�C�H�� H;�u�H���H��H+�H���H���9��D�l$@H�L$H����\H�FH�^H��t�CH�^ƀ�H��t=������C�u/H�H��H��fB!����C�uH�H��H�@�KB!H�L$HE�������E�3��E�ALJ �A�$�E��A�(�H�B��A!H��A�H���H����	L��H��H�D$0H�t$(�D$ L��H���I�N�	��H�H�HL�(L�hH�T$PH�L$XH���H����������C������H�H��H��nA!����C�������H�H��H�@�MA!���E��uH���o�	M��H��I��mT	M��H��I��	W�fE�H�L$XH��t�A(D$PfE�H�U�I��-	H��H�H�AH���@!H���db��H;���H��8H�T$HH�� H;�tH��PH��PA� �`E��uUM��H��I��iX	E3�D8��� D���AƇ�I�H�HHH�PP�	H91tH��H;�u���L�9���H����	I�I��H�@�-@!H��L�o�!H�MP�z5��L��I�>L���L��H���I���?���H����{uH�S I��辟��E3�u�E3�I�H�[@H�UhH��rH��H�MP�6��I�>L�m`H�EhD�mPL��H��H���pW	D8��t.D���ƃ�I�H�HHH�PP�	H91tH��H;�u��H�H���H��tC������A�u5H���H�H��H��1?!����C�uH���H�H�@�?!H�D$`��@��t	����W���H�H��H�@��>!L��H�-�!H����4��H��H�H�AH���>!L��H��
H�D$ L��
H��H��������H���H��rH��H����D5��L���HDž�D���W�fE�L���M��t�A�GL���(��fE�H�U�I��'+	H��I��$0	H��L��H��H���H�H�I��0	H��L��L��H��P��H����	L��H��I��
Q	L��H��I��/�H��I��<1	H��I��1	H��I��&1	H��I��1	�M��tD�����A�G�u5H���H�H��H��h=!����C�uH���H�H�@�I=!W�fE�H�L$XH��t�A(D$PfE�H�U�I��!*	L���L9��A��D�l$(D�D$ E3�L��H��I��L��H���Z�	�H�L$X��H��t=����A�u2H�\$XH�H��H���<!����C�uH�L$XH�H�@��<!�M��t;���A�D$�u.I�$I��H��y<!���A�D$�uI�$I��H�@�[<!H���H3��oH��$�H�ĠA_A^A]A\_^]�H�ڣ!H����d��H��JH����M��%j���H���!H�����\��H�z�JH�����L��i���H���!H���c��H�%�JH���L���i�����i�������@SH�� H��!H��H���t
���nH��H�� [������H�\$WH�� H�ً�H��8�
J��H�S(H��rH�KH���2��H�c H�C(�C@��t
�PH���mH��H�\$0H�� _��������������H�\$WH�� ��H������t
��H���jmH�\$0H��H�� _�������������H���!H�H�����H�I�!H�H�����H���!H�H�����H�
���������H�
����������H�
�H��������H��K���������H��K���������H�iK�H�\$WH�� H�YH��t�CH�YH�AH��H�AH+H��H��@��H��t9����C��u,H�H��H���9!����S��uH�H��H�B��9!H�\$0@��H�� _�����H�T$SH��0H��3҉T$ W�H�H�SH�S�D$ H9�`tH��PH�D$@L�D$@H������H��H��0[����������H�\$H�T$UVWATAUAVAWH�l$�H���H��D��E�3�D�uD��H�E�D��M���+	H�8H�H;���L�sI��I�H�@��8!H���1���H;���I�I��H�@��8!H������H;���I�vH��t�FI�vI�FH���L�yL+9I��H��t9����F��u,H�H��H��o8!����F��uH�H��H�@�R8!A��~3�I��D�B�&bI�I���E�H�@�'8!H���o���H;��7L�E�I��I���_L�}���tI��L�}�I��I�I��H�@��7!H���}���H;���I�I��H�@��7!H���H;�ttI�I��H�@��7!H���g���H;�tWI�I��H�@��7!H��躗��H;�t:I�I��H�@�m7!H���u���H;�tI�I��H�@�P7!H���H;�u�I��D���a3�A8���I�I��H�@�7!H���\���H;���I�I��H�@��6!H���;F��H;���I�I��H�@��6!H��肟��H;���I�I��H�@��6!H���u�H;�thI�I��H�@��6!H���X��H;�tKI�I��H�@�w6!H����H;�t.I�I��H�@�Z6!H���R����M�H;��ɸEȉM��3�A8���
I�I��H�@�6!H���e���H;���I�I��H�@��5!H���DE��H;���I�I��H�@��5!H��苞��H;���I�I��H�@��5!H������H;���I�I��H�@��5!H���]�H;�tlI�I��H�@�|5!H���W��H;�tOI�I��H�@�_5!H����H;�t2I�I��H�@�B5!H���:���D�uH;�E���DE�D�u�D�uH�H;�����3�8]�t�I��D�B���^E��tI��M;�r�I��D�B���^H�EoH��H�E�L�e�H�E�L�e���&	H�8H�H;���L�sI��I�H�@��4!H�����I�H;�I��H�Bu%�~4!H���Ɯ��H;���I��H�M����<�Y4!H����H;�u)I�I��H�@�<4!H���Ԕ��H;�u/I��H�M���H��c���H��$�H�ĠA_A^A]A\_^]�H���!H�M���[��H�Q�JH�M���D�H���!H�M��[��H�0�JH�M���D�H�g�!H�M�[��H��JH�M�D�H�F�!H�M��q[��H��JH�M��D�@UH��H��H�E�H�EH�q�!H�E�H�E�H�E�H�e�H�E��E�L�
5�!E3�A�PH�M���-���H�U�H�M��2��H�Ā]���@UH��H��H�E�H�EH���!H�E�H�E�H�E�H�e�H�E��E�L�
E�!E3�A�PH�M��-���H�U�H�M��1��H�Ā]���@UH��H��H�E�H�EH�i�!H�E�H�E�H�E�H�e�H�E��E�L�
��!E3�A�PH�M��-���H�U�H�M��O1��H�Ā]�������H��H��PL��H�xrH�H�����p�����t���H��xH���H+�H�$H��H�L$$���A������A������I���I���H+�H�$H��H�L$$���H����I;���L��I�[I�sWH��0I��H��H��H�I�C�I�c�H�yuTI�c���cH�H�HH�C�&H�d$(��cH�H�HH�KH�H�KH�HH�d$(H�CH�CH��H;�u�H�\$@H�t$HH��0_���@SH��PH��H�L$ H�d$(H�L$ �B���H�D$ H�D$@H�d$H��cH��L�D$(M��u	H�H�@�H�L$8H�H�D$0H�BH�QH�L�CH�H��P[��H��!H�H�����H�
���������H�IK���������H��H�XH�pH�x UATAUAVAWH�h�H��H���JH3�H�E'L��3�D���u�H���"	H�PH���UI�MHH�AH+H��H;��=W�E�H�M�H�u�H�u�L�E�H�U�H�M������W��M�H�uI���!	L�8L�}�I�I;��]H�u�L�cI�$H�H�@��/!H�����H;���I�$H�H�@�`/!H���H;���I�$H�H�@�>/!H���q��H;�tnI�$H�H�@� /!H���h>��H;�uKM�<$I�I��H�@��.!H���G>��H;��qI�wH��t�FI�wA��I�GL�}ǃ�Pt@2��@�A��tBA��H��t9����F��u,H�H��H���.!����F��uH�H��H�@�x.!@��t$H�UH;UtI�$H�H�E�M��H�M�迗��H�H��I;������3�H�E�H�E�L�E�H�U�H�M��%n��A��yH�E�H�H�YH�I��L�E�H�AH�H�AH�BI���$��H�{H��?H�@8��u/ƀ�H�H���H�AH9tH�M�L�E�H�U�H�M��m��H��H;�u�L�E�M���z���W��MI����_H�H�@H�EI���	H�8H�H;�t(L�CI�@8��u
H�UH�M�Lm��H�H��H;�u�H�UI���8	�H�MH�AH�0H�	H��tH�I����#��H��H��u�I��H�M��#���H�M�H��tH�UH+�H���#��W��E�H�uH�M�H�AH�0H�	H��tH�I���#��H��H��u�I��H�M��z#��H�M'H3��N`L��$�I�[0I�s@I�{HI��A_A^A]A\]�H�&�!H�M��QT��H�ΫJH�M��m=�@UH��H��H�E�H�EH���!H�E�H�E�H�E�H�e�H�E��E�L�
]�!E3�A�PH�M���&���H�U�H�M��*��H�Ā]���H�\$H�t$ WH��0I��H��H�L$ H�H�a�@�^H�FH�XH�cH�cH��H���k>��H�c H�c(H�O(H��t�AH�O H�K H�O(H�K(H��H�\$HH�t$XH��0_��H�\$H�t$ WH��@H��H��H�L$ ��3�H�qH�q�N@�]H�H�@H�GH�OH�1H�qH�qH�C0H�G0H�C8H�G8H�S H+SH��L�G�=(H�sH�H;�tL�CH�T$(H���hH�H��H;�u�H��H�\$`H�t$hH��@_���H�\$WH�� H�H��H�"L�BH�bH�YH�L�AH��t9����C��u,H�H��H��{*!����C��uH�H��H�@�^*!H�\$0H��H�� _�H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@��)!H���s���H;�u#L��H��H���`H�\$PH�l$XH�t$`H��@_�H�l�!H�L$ �Q��H��JH�L$ �:�@SUVWAVH�� A�xI��L��H��uML�CI��H������H��H�H�w8H�N8H��tH�H;���H�@ �P)!H�f8�xH��� ���{t�H�� A^_^][��H�\$ UVWH�� A�xI��H��H��uOL�GH��H������H��H�?H�S8H��rH�K H�����H�c0�@H��H�C8�C ����t�H�\$XH�� _^]�L�	E3�M��I�ID8Yu1D�RD9Q0|H�BH9A(rw�9A |L��H�	�H�ID8Yt�E8Xu#A�@09B|I�@(H9BrwA�@ 9|I���I������H�\$H�l$H�t$WH�� H�A0H��H�iI#�H�QH�I��H�|�H;�u
H�H�c�*H�l��	H;�t6H�H�WH��������t�H�H�H�{H�l$8H��H�\$0H�t$@H�� _�H�;��E3�I�%#"����H��tA�	I��L3�I��M��L;�r�I���H�\$WH�� H��H��H�IH+H��H;�sH�WL��H��HH���^��H�_�2v0H�GH+H��H;�v
H���&�H+�L��H�OH���F���H�GH�\$0H�� _����H�L$SVWAVAWH��0L��H��I��������I;���L�yL+9I��H�IH+H��H��H��I��H+�H;�vI��H�\$hH����!H�
I;�sI��H�\$hH��H��H��r����H�\$hI;�wm��3�H��t�XH��H�|$xI��H��H�H�L$(I��I+�L���n���H�D$ L��L��H�VH�����L��M��H��H��H��0A_A^_^[�2����Y;����;�����@SUVWATAVAWH��@I��H��H��I��I�xrI�I�P����L��L��L��H�T$ H���|���H�L$(H��tH��G�OH��������H9E�ML�eL�d$0H�d$8�@��WH��H�D$8H�` H�`(H��H�H�8��H�c8H�c0H�c8L�MI�QW�H��x�H*��H��H��H�ƒ�H��H*��X�H�M8W�H��x�H*��H��H���H��H*��X��^�/E����t4H����"H��H���w#M��L�CH�T$0H�������D$ L�MH�T$ L�BI�AH�EH�L�CI�H�ZH�MH�E0I#�H�L��M;$uH���L;�uH���L9D�uH�\�H��GH��H��@A_A^A\_^][�H�
��!�q6�@SVWH��`H���JH3�H�D$PH��H��H�T$@�T$HH�T$HH�L$ �
H��H�OL��H�T$0���H�H��0H�������H�\$(H��t9������C�u+H�H��H���#!����C�uH�H��H�@��#!�H�VH��rH��H��U��H�fH�F�H�L$PH3��WH��`_^[�L��I�[ VWAVH��`H���JH3�H�D$PI��L��H��I�S�M�C�I��I�K��Q
H��H�OM��H�T$0����H�H��0H���>����H�\$(H��t9������C�u+H�H��H���"!����C�uH�H��H�@��"!�I�VH��rH��I��y��I�f�I�^A�H�VH��rH��H��R��H�fH�^�H�L$PH3��VH��$�H��`A^_^�L��SVWH��`H���JH3�H�D$PH��H��I�S�E�C�I�S�I�K���	H��H�OL��H�T$0����H�H��0H���=����H�\$(H��t9������C�u+H�H��H���!!����C�uH�H��H�@��!!�H�VH��rH��H��x��H�fH�F�H�L$PH3��;UH��`_^[����@SH��@H�����H9u	H��H��@[�H�U�!H�L$ �7I��H���JH�L$ �R2��H�\$WH��H���JH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@�@.�H�L$xH��tYH�H��H�@�� !H�H�L$xH��tH�H�T$@H;���H�@ �� !H��H��$�H3��]TH��$�H�Đ_��2�H�߯!H�L$(�iH��H��JH�L$(�1����@SH��@H�BH9Hu;L��H�L$PH�T$ E3����.H�T$ H�����H���.H;��H��@[�H�n�!H�L$ �G��H�u�JH�L$ �1���@SH��H�BL��H9HuJH�T$@I���y�	�d$0H��HH�T$(�L$ �P.H�T$ H������H���;.H;��H��[�H��!H�L$ �sG��H��JH�L$ �0��@SUVWAVH��@I��H��H��I��I�xrI�I�P���H��L��L��H�T$0H�����H�L$8H��tH��G�SH��������H9F�ML��H�VH�L$ �
�L�NI�QW�H��x�H*��H��H��H�ƒ�H��H*��X�H�N8W�H��x�H*��H��H���H��H*��X��^�/����t;H���H��H���,H�\$(L�CL��H�T$0H���/����D$0L�N�H�\$(H�d$(H�T$0L�BI�AH�FH�L�CI�H�ZH�NH�F0H#�H�L��L;NuH���L;�uH���L9D�uH�\�H��GH�L$(H��tH������H�L$(H��t
�@���H��H��@A^_^][�H�
6�!��/�@SUVWATAUAVAWH��HH�%�JH3�H��$0I��M��D��L��H��$�H��$�Hc�$�L��$�H;���3�A��H�L$0�@�H�L$0輽���H��H�{rH�L�CH�L$@�0���H���!H���!���H��H����H��H���!����H��H�rH�L�GH�����H�k�!H���ߊ��H�ȋ��Ŗ��H��H�{�!�Ɗ��H���.���L�l$ L�L$0M��A��I���r�H��$��(���H�؉!H��$�H��$��9�H��$0H3��
PH��HA_A^A]A\_^][���@SUVWATAUAVAWH��HH���JH3�H��$0I��M��D��L��H��$�H��$�H��$�L��$�H;���3�A��H�L$0�G?�H�L$0�H����H��H�{rH�L�CH�L$@輌��H�9�!H��證��H��H����H��H� �!蓉��H��H�rH�L�GH���z���H���!H���k���H��H���@�H��H��!�Q���H��蹎��L�l$ L�L$0M��A��I���)q�H��$�����H�c�!H��$�H��$��7�H��$0H3��NH��HA_A^A]A\_^][��H�|$L��3�H+�L��H��H��I;�HG�H��t?H��r9I�H���H��M;�wI;�s$H��I��H��H��H���H�L��
I�I�I��M;�u�H�|$���H��H�XH�hH�p H�HWH�� I��H��H���@�LH��H�D$0H��t,W���C�CH��!H�H�KL��H�����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H���p�KH��H�D$0H��t)W���C�CH���!H�H�KH���3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H�\$WH�� H��H��� �KH�D$0L��H��t0W��A�@A�@H���!I�H�%�!I�@�A�@�E3�I�@W�H�H��L�CH�\$8H�� _����H�\$H�t$ WH��0H��H��H�L$ �8�KH��H�D$ H��t>W���C�CH���!H�H���!H�CH�KH�aH�aH���'+���3�W�H�KH�H�_H��H�\$PH�t$XH��0_����H�\$WH�� H��H��� �rJH�D$0L��H��t0W��A�@A�@H���!I�H���!I�@�A�@�E3�I�@W�H�H��L�CH�\$8H�� _����H��H�XH�hH�p H�HWH�� I��H��H������IH��H�D$0H��t,W���C�CH� �!H�H�KL��H���>��3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$ WH�� H��H���X�aIH��H�D$@H��t?W���C�CH�̥!H�H�J�!H�CH�KH�L$0H�VL�D$0�W��3�W�H�CH�H�_H��H�\$8H�t$HH�� _����@SH��0H��H�L$ ��H�aH�a�@��HH�H�@H�CH�KH�!H�aH�aH�C0H�C8��?L�C��q�H��H��0[����H��H�XH�pH�x H�HAVH��@I��H���X�H�4�!H�L�wI�I��H�@��!H���e���H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H���!����C�uH�H��H�@�~!�H��H�\$XH�t$`H�|$hH��@A^�H�
}!H�L$ �7=��H���JH�L$ �R&��L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��5`	H���!H�H�[H��t9����C��u,H�H��H���!����C��uH�H��H�@��!H��H�\$PH��0_����������������@SH�� H�aH��H�A�����H��H�� [��@USVWATAVAWH��$ ���H���H���JH3�H���I��H��H��H�M�I���xD��L��H��H������H�o�!H�H���H���H+�H��E3�H���^E�wE��H��PH�	��s	H���H���rt	L�}�E�gL�e�D�}�L�
��!E��A�WH�M��o���L�}�L�e�D�}�L�
��!E��A�WH�M��K���L�|$pL�d$xD�|$`L�
��!E��A�WH�L$`�#���L�|$PL�d$XD�|$@L�
|�!E��A�W@H�L$@�
���H�H��H�@�*!L��H�E�H�D$8H���H�D$0H�E�H�D$(H��hH�D$ L�L$`A�WNH�L$@����H�T$XH��r
H��H�L$@�	��L�|$PL�d$XD�|$@H�T$xH��r
H��H�L$`�z	��L�|$pL�d$xD�|$`H�U�H��rH��H�M��U	��L�}�L�e�D�}�H�U�H��rH��H�M��3	��H�FpL9�P��H���H���H+�H��I;���E��H�UPH�I�(r	H�E H�E�H�E�H�E H�E�L�u�H�E$H�E�L�u�H�E(H�EH�EH�E4H�EH�E(��)E (��)M0H����L�}�L�e�D�}�L�
ڝ!E�ǺzH�M��Y���L�|$pL�d$xD�|$`L�
2�!E�ǺH�L$`�0���L�d$XH�D$P�!�!�D$@��!�D$HD�|$LL�}�L�e�D�}�L�
a�!E�Ǻ@H�M������H�H��H�@�!L��H�E�H�D$8�\$0H�D$`H�D$(H�E��L$ L�L$@�WH�M�萄���H�U�H��rH��H�M����L�}�L�e�D�}�H�T$XH��r
H��H�L$@�m��L�|$PL�d$XD�|$@H�T$xH��r
H��H�L$`�F��L�|$pL�d$xD�|$`H�U�H��rH��H�M��!��L�}�L�e�D�}�L�
�!E�Ǻ7H�M���
���L�|$PL�d$XD�|$@L�
&�!E�ǺH�L$@��
���L�|$pL�d$xD�|$`L�
�!E�ǺH�L$`�
���L�}�L�e�D�}�L�
��!E�Ǻ@H�M��v
���H�M�H�E�H���HcL��H��H;�u�H�H��H�@��!L��H�E�H�D$8H�E��L$0H�D$@H�D$(L�t$ L�L$`�ZH�M���H�U�H��rH��H�M����L�}�L�e�D�}�H�T$xH��r
H��H�L$`����L�|$pL�d$xD�|$`H�T$XH��r
H��H�L$@���L�|$PL�d$XD�|$@H�U�H��r
H��H�M�����H��H���H3��eBH���A_A^A\_^[]��<����<������H�\$H�T$WH��0H��H��W��D$ L�JM��t	�A�AL�JH�H�D$ L�L$(H�T$ �
���H�^�!H�Ƈ�H�[H��t9����C��u,H�H��H��!����C��uH�H��H�@��
!H��H�\$PH��0_�H�\$WH��@H��H��H�L$ ��H�r�!H��J���H9uXH���!H������0�����4H���H��@H�aH�A������H��H�\$`H��@_�H��!H�L$(�85��H���JH�L$(�S���H�\$H�t$ WH��@H��H��H�L$ H�q!H�H�H�AH�RH��H�aH�A��X���H��8H�s0H�W H�K8��Y�����t	Hc���H��H��0G�D$0H�T$0H����H��H�\$`H�t$hH��@_����H�\$H�L$UVWH�� H��H��3�H�9H�yH�yH�yH�y H�y(H�jL�D$HH�����H��tH�6H�H�H����H�� H�vH��u�H��H�\$PH�� _^]����H��(H�IH��t
�@����H��(�@SH�� H�QH��H+H�	H�����3�H�H�CH�CH�� [��@SH�� H��H�IH��tH�����H�KH��t
�@�r��H�� [�����������H��(H�	H��tH��H�@�n!H��(��@SH�� H��XH��H��rH��@H�����H��PH��8HǃXƃ@����H�S(H��rH�KH������H�c H�C(�CH�� [�@SH�� H��H�I H�S(H+�H�����3�H�KH�C H�C(H�C0H�� [����H�\$WH�� H��H�IXH��t����A��uH��H���
!H�cXH�{@H�H��t-H�WL���3���H�WH+H�H���� ��H�'H�gH�gH�{(H�H��t-H�WL�����H�WH+H�H�������H�'H�gH�gH�[ H��t9����C��u,H�H��H���	!����C��uH�H��H�@��	!H�\$8H�� _�H�\$H�t$WH�� H��H��H��rH��H���^��H��H���HLJH��ƇH��L�M�@�/�H��@���H����H�AH� H�	H��tH�H�����H��H��u�H���H�����H���H��t+H���H+�H�����H���H���H���H�_(��H��t5����C�u*H�H��H���!����C�uH�H��H�@��!H�_H��t5����C�u*H�H��H��u!����C�uH�H��H�@�Z!H�\$0H�t$8H�� _�����������H��H�HSVWH��)p�(�H��3ۉ�$�H��H�L$@����8\$H��H�Hc@H�D8@H�HH�L$XH�H�@��!�H�L$P�7���H��H�L$XH��t(H�H�B��!L��H��tH�H��SI���!�H�LcHL�I�AH�D$PH�D$XA�IX(D$PfD$PH�W��Z��L$(�L$ L�D$PH�T$`H��H�@(�P!A��|$`AEى�$��H��$���$�A�H�Lc@L�A�H�I�@HH����A#�у�A�PA�@#�uN���uH�L$@����H�T$@H�HcHH�LHH��tH�H�@��!�H��(�$�H�İ_^[�A��t	H��s!��H�t!H�t!HDغH�L$`�;��L��H��H�L$p���H�>�JH�L$p�d����H�\$UVWH�� I���A��I���H��H+�H��H��tNH�?H�T$ H��A��f	A�H��$�H��H���e	�KH��$@H�H��H�V��nH�� _^]���3����������������@SH�� H���!H��H���t
�@�.8H��H�� [������@SH�� H���!H��H���t
�p�7H��H�� [������@SH�� H�;�!H��H���t
� ��7H��H�� [������@SH�� H�3�!H��H���t
�8�7H��H�� [������@SH�� H���!H��H���t
� �n7H��H�� [������@SH�� H�s�!H��H���t
���>7H��H�� [������@SH�� H�s�!H��H���t
�X�7H��H�� [������H�\$WH�� ��H�������t
�xH����6H�\$0H��H�� _�������������H�\$WH�� ��H���`�����t
�0H���6H�\$0H��H�� _�������������H�\$WH�� ��H��H�Q H��rH�IH�����H�cH�C �C@��t
�(H���76H��H�\$0H�� _����������@SH�� H���t
��6H��H�� [����������������H�\$WH�� ��H�������t
�`H����5H�\$0H��H�� _�������������H�\$WH�� ��H��H�I H�W(H+�H������3�H�OH�G H�G(H�G0�:��t
�HH���d5H�\$0H��H�� _���L�D$SUVWAVH�� H�iI��H+)L��H��H;�srH��������H;�wH�4�H��r
H�����H���H��t
H���4��3�H��tI�H������H�>I�>I�FI�F�H�H��H;�u��H�QL�D$`H�	�L�H�� A^_^][��������@SH�� H�Y8W�H��x�H*��H�ƒ�H��H��H*��X��^�q�
��!3�/�r�\�/�s
H��H���H,�HȸH;�HG�H;�sH��sH��H;�rH��H�� [���������H��3�H�H�@H�%\!H�\$UVWATAUAVAWH��0H��������H�L$ H��H�ȋ�H��H;��dH�nH�B�H�L�fH��L���H��I��H��4���H�C�H�^8H�^H�F0H�H��H;���H�?L�{I�I��rI�I�W���M�$$L��L#v0M�K9,�uK��K�\��K�t�I��H�V�i����t0L�L;�t!H�SH�:H�OL�I�@H�I�HH�WH�CK�\��GL���H�vI��L��H�V�]i����uXK94�u�H�SH�:H�OL�)I�EH�I�MH�WH�CK��H�t$ L�fH��H;�� ���H��$�H��0A_A^A]A\_^]�L�H�SH�:H�OL�I�@H�I�HH�WH�C�H�
L�!�����H�\$H�t$WH�� H�H��H�BH� H�:H��t!H�H�O�{����@H���>���H��H��u�H��@H�\$0H�t$8H�� _������H��(eH�%X�
�M�4H�ȋ
9ÖMH�z�JH��(�H�
��M�8�=��M�u�H�
Y� ��6H�
��M�8����L��I�[ UVWH��`H�W�JH3�H�D$PI��H��H��I�S�M�C�I��I�K��z�H��H�OL��H�T$0���H�H��0H�������H�\$(H��t9������C�u+H�H��H��_� ����C�uH�H��H�@�D� �H�VH��rH��H���H�fH�F�H�M H�U(H+�H�����H�e H�e(H�e0H�M�F���H�L$PH3��1H��$�H��`_^]������H�\$H�t$WH��@I�H��I��I��H��H�@��� H;�u;H�H��H�@��� H���y��H;�uAH��H���[H�\$PH��H�t$XH��@_�H��!H�L$ �;%��H��|JH�L$ �V�H��d!H�L$ �%��H��|JH�L$ �3���H�\$H�t$ UWAVH�l$�H��H���JH3�H�E7H��H��H���H���H+�H��H����A�H��H�	��[	H�_H��t�CH�_H�GD��0H��t9����C��u,H�H��H���� ����C��uH�H��H�@�l� W�3�H�E/!E��E��E��EH!E/D�M�L�E�H�U�H�M�����H�]H�>��H��H�M'H;�tD90t	H��H;�u�H;���H�eA�L�u�E�L�
І!E3�A�V/H�M�����H�e�L�u��E�L�
�!E3�A�V1H�M��s����H�H��H�@��� L��L�M�A�V H�M��S�H�U�H��rH��H�M��G�H�e�L�u��E�H�UH��r
H��H�M��$�H��tH�U/H+�H��H����H��H�M7H3���.L��$�I�[0I�s8I��A^_]��/)�����������������H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@�� H;���H�H��H�@��� H���7v��H;�uML��H�T$PH���Z��H�H� H�H�L$PH��tH��H��u� H�\$XH��H�t$hH�l$`H��@_�H�b!H�L$ �0"��H��yJH�L$ �K�H���!H�L$ �
"��H��yJH�L$ �(��������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@�� H;���L��H�L$ H����H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H���� ����C�uH�H��H�@�n� H�\$`H��H�l$hH�t$pH��P_�H�W�!H�L$0�)!��H��xJH�L$0�D
����H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0�{��H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H���� ����C�uH�H��H�@��� �H�L$(H��t=����A�u2H�\$(H�H��H��X� ����C�uH�L$(H�H�@�;� �H�_H��t5����C�u*H�H��H��� ����C�uH�H��H�@��� H��L�\$`I�[I�kI�s I��_�H�$�!H�L$@���H�3wJH�L$@���H�\$H�l$H�t$WH�� H���H��H��!H�KH�H�@��� H����V��H;�tH�H;�uڰH�\$0H�l$8H�t$@H�� _�H���u�H���H�H�A���t�2��������������H�\$H�t$WH��@I�H��I��I��H��H�@�� H;�u8H�H��H�@�� H���sr��H;�u>H��H���k��H�\$PH�t$XH��@_�H���!H�L$ ���H�vJH�L$ ��H�Q^!H�L$ �{��H��uJH�L$ �������H�\$H�t$WH��@I�H��I��I��H��H�@�X� H;�u8H�H��H�@�C� H����q��H;�u>H��H���+��H�\$PH�t$XH��@_�H�܃!H�L$ ����H�kuJH�L$ �	�H��]!H�L$ ����H�HuJH�L$ ��������H��(�IH����H��H�%�!H��(�c��������������H��(H�y H��H�QrH�QL�AH���f��H��H��!H��(�{c�������������H��(H�‹QH���No��H��H���!H��(�Kc�������������H�\$UVWAVAWH��H��PH���JH3�H�E�H��L��A�x��Hc�H�e�H�E��E�H�M�H��wH�]�L�ú �?�D��A� E3�H���z�����~+H�*!H���b��H�U�H�}�HCU�L�E�H���e���H��H��~!H���b��M�I�I;�teH�U�H�}�HCU�L�E�H���be��H�SH�{(rH�SL�C H���Ge��H��H��~!�8b��H�K0H�D��H��H��� H�H��I;�u�H�U�L�E�H�΅�~H�}�HCU��d��H�f~!�H�}�HCU���d��H�R~!H����a���H�U�H��rH��H�M��{�H�M�H3��O'H��$�H��PA_A^_^]������������H�\$WH��PH��I9��I������H�T$`H�D$`H�L$ �~��H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H��� ����C��uH�H��H�@��� H�\$hH��H��P_�H�g�!H�L$0���H�6rJH�L$0������H��H�XH�HWH��H��M��D��H�T$ H�H �F��H�T$ H������H���H;8t5H�c8H�OpH��tH�H��H��Z� H�C8H��H��$�H�Ġ_�H���!H�L$8���H��H�
W�J�FL��H��H�L$X���L�2�!H��H�L$x���H��H�L$ ����H�@rJH�L$ ����������������@SH��0H�T$(H��3�H9�PH�H�SH�St#D�L$ H��@H��H�D$(L�D$0H�T$(��H��H��0[�H�AH������H��(�
�MeH�%X�4H�ȋ
9�MH��MH��(�H�
�M��*�=�M�u�W��ɈM�x�g#H�H�@H�@f�@H���MH�
h� ��(�H�
��M�*�����2���H��H�q�M�������������H�\$H�t$WH��@I�H��I��I��H��H�@��� H;�u^H�H��H�@��� H���l��H;�uH��H���[H�\$PH��H�t$XH��@_�H�X!H�L$ �+��H��oJH�L$ �F�H�n}!H�L$ ���H��oJH�L$ �#���H�\$UVWATAUAVAWH��$0���H���H�r�JH3�H���H��L��H�L$@H�T$@H����>	H�0E3�L�8H�uE�gH�L$@H��tH�A��H�@��� W�E�H�{H��t	�DgH�{H�[H�]�H�}�3�A��H�����A��H����Տ���3�D�BHH�Mp�L�-�y!L�mpW��D$8L�D$ H�T$8H�Mx����A�L�d$`L�d$X�}z!�D$H�yz!�D$P�rz!f�D$T�iz!�D$VD�|$WD��0H�T$HH�Mp�m��L�}�L�e�D�}�L�
:z!E��E�|$A��H�M��^���4H�U�H�Mp�Q��H�e�L�e��E�L�
z!E3�A��H�M��&���8H�U�H�Mp���H�E�H�D$(H��@3�H�]H�]H�M������H�]�L�e�]�L�
�y!D�ÍSH�M�����L�E�H�U�H�Mp���H�E H�D$0L�m L�D$!H�UxH�M(�k���L�e�L�d$x��y!�D$h��y!�D$p��y!f�D$t��y!�D$v�\$wL�E H�T$hH����H�A��E��H���H��H��q� I��H����RK���H���H���H+�H����W�f��H���H����}��H��X輭���H�lZ!H��XH��X�	�H��t:A����GA�u-H�H��H���� A����GA�uH�H��H�@��� �L��H��I�@��� I��H���H3��J H��$ H���A_A^A]A\_^]����������������H�AH�@�������̋�0�����4H��@���H�yrH�	H�������H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@��� H���CH;�u#L��H��H���H�\$PH�l$XH�t$`H��@_�H�DS!H�L$ �n��H��jJH�L$ ��L��SVWH��`H��JH3�H�D$PH��H��I�S�E�C�I�S�I�K��H��H�OL��H�T$0�0��H�H��0H���]����H�\$(H��t9������C�u+H�H��H���� ����C�uH�H��H�@��� �H�VH��rH��H���H�fH�F�H�L$PH3��[H��`_^[����@SH��@H���H9u	H��H��@[�H�uz!H�L$ �W��H��iJH�L$ �r���H�\$WH��H�ԬJH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@��H�L$xH��tYH�H��H�@�� H�H�L$xH��tH�H�T$@H;���H�@ ��� H��H��$�H3��}H��$�H�Đ_���H��x!H�L$(���H�iJH�L$(�����@SH��@H�BH9Hu;L��H�L$PH�T$ E3����*H�T$ H�����H���H;��H��@[�H��x!H�L$ ���H��hJH�L$ �3����@SH��H�BL��H9HuJH�T$@I���I	�d$0H��HH�T$(�L$ �H�T$ H���#���H���H;��H��[�H�	x!H�L$ ���H�hJH�L$ ���H��H�XH�hH�p H�HWH�� I��H��H���@�H��H�D$0H��t,W���C�CH��{!H�H�KL��H�������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H���p�8H��H�D$0H��t)W���C�CH�[{!H�H�KH��@�3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H�\$WH�� H��H��� ��H�D$0L��H��t0W��A�@A�@H�C{!I�H�qz!I�@�A�@�E3�I�@W�H�H��L�CH�\$8H�� _����H��H�XH�hH�p H�HWH�� I��H��H�����5H��H�D$0H��t,W���C�CH�z!H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H���)�H�Dx!H�L�wI�I��H�@�=� H���H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H���� ����C�uH�H��H�@��� �H��H�\$XH�t$`H�|$hH��@A^�H�eM!H�L$ �
��H�eJH�L$ ���L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��0	H�
w!H�H�[H��t9����C��u,H�H��H��2� ����C��uH�H��H�@�� H��H�\$PH��0_����@USVWATAVAWH��$����H��`H�k�JH3�H��PI��H��L��H�M�I����D��L��H��I���3����H��v!I�H���H���H+�H��E3�H���sA�wD��H��PH�	�uD	H���H���H+�H��H;��?D��H���H�I�DD	H���H����D	L�}�E�gL�e�D�}�L�
�v!E�ǍV!H�M������L�}�L�e�D�}�L�
p!E�ǍVH�M�����L�|$pL�d$xD�|$`L�
�v!E�ǍVH�L$`����L�|$PL�d$XD�|$@L�
�v!E�Ǎ^D��H�L$@�X���H�H��H�@��� L��H�E�H�D$8H���H�D$0H�E�H�D$(H��hH�D$ L�L$`�V?H�L$@����H�T$XH��r
H��H�L$@���L�|$PL�d$XD�|$@H�T$xH��r
H��H�L$`����L�|$pL�d$xD�|$`H�U�H��rH��H�M����L�}�L�e�D�}�H�U�H��rH��H�M����L�}�L�e�D�}�L�
�n!E�ǺH�M��]���L�|$PL�d$XD�|$@L�
�n!E�ǺH�L$@�4���L�|$pL�d$xD�|$`L�
un!E�ǺH�L$`����L�}�L�e�D�}�L�
u!E��H��H�M������H�H��H�@�� L��H�E�H�D$8H���H�D$0H�D$@H�D$(H���H�D$ L�L$`�AH�M�����H�U�H��rH��H�M����L�}�L�e�D�}�H�T$xH��r
H��H�L$`�k��L�|$pL�d$xD�|$`H�T$XH��r
H��H�L$@�D��L�|$PL�d$XD�|$@H�U�H��rH��H�M����I�FpL9�P�H���H���H+�H��H���D��H�U�H�I�A	H�P`H���H��PHDžXH���H��`H��hH���H��pH��xH���H���HDž�H���H���HDž�W�����A� H�����H���H���H+�H��H���;D��H�U�H�	�J@	H�@0�L�}�L�e�D�}�L�
]l!E�ǺzH�M������L�|$pL�d$xD�|$`L�
�l!E�ǺH�L$`����L�d$XH�D$P��l!�D$@��l!�D$HD�|$LL�}�L�e�D�}�L�
�r!E�ǺEH�M��c���H�H��H�@��� L��H�E�H�D$8�\$0H�D$`H�D$(H�����L$ L�L$@�IH�M��S���H�U�H��rH��H�M����L�}�L�e�D�}�H�T$XH��r
H��H�L$@����L�|$PL�d$XD�|$@H�T$xH��r
H��H�L$`����L�|$pL�d$xD�|$`H�U�H��rH��H�M����L�}�L�e�D�}�L�
�k!E�Ǻ7H�M��m���L�|$PL�d$XD�|$@L�
�k!E�ǺH�L$@�D���L�|$pL�d$xD�|$`L�
�k!E�ǺH�L$`����L�}�L�e�D�}�L�
'q!E�ǺEH�M�����H��PH��XH���HcH��H��H;�u�H�H��H�@�� L��H�E�H�D$8H�����L$0H�D$@H�D$(H�t$ L�L$`�LH�M������H�U�H��rH��H�M����L�}�L�e�D�}�H�T$xH��r
H��H�L$`�[��L�|$pL�d$xD�|$`H�T$XH��r
H��H�L$@�4��L�|$PL�d$XD�|$@H�U�H��r
H��H�M�����I��H��PH3���H��`A_A^A\_^[]��5����/����)���L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��9���H��n!H�H�[H��t9����C��u,H�H��H���� ����C��uH�H��H�@��� H��H�\$PH��0_����H�\$WH��@H��H��H�L$ ����H��m!H���
H9uXH��m!H������0�����4H���H��@H�aH�A��\���H��H�\$`H��@_�H��j!H�L$(���H�=[JH�L$(��������������@SH�� H�#o!H��H���t
�@�.H��H�� [������@SH�� H�o!H��H���t
�p�
H��H�� [������@SH�� H�Ko!H��H���t
� ��
H��H�� [������@SH�� H�kn!H��H���t
���
H��H�� [������H��n!H�H�����H�
�Ȑ��������H�i�J�H��(eH�%X�
u�M�4H�ȋ
9orMH��JH��(�H�
ZrM�)�=NrM�u�H�
9� �dH�
9rM���������H�\$H�t$WH��@I�H��I��I��H��H�@�H� H;�u;H�H��H�@�3� H���H;�uAH��H���[H�\$PH��H�t$XH��@_�H��g!H�L$ ����H�XYJH�L$ ���H��A!H�L$ ���H�5YJH�L$ ������@SH�� H���H��H���H+�H��H��tH�	A�H���8	H��H�� [�����H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@�P� H;���H�H��H�@�7� H���
H;�uML��H�T$PH����H�H� H�H�L$PH��tH��H���� H�\$XH��H�t$hH�l$`H��@_�H��@!H�L$ ���H�-XJH�L$ ����H�{f!H�L$ ���H�
XJH�L$ ����������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@�`� H;���L��H�L$ H���7�H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H��	� ����C�uH�H��H�@��� H�\$`H��H�l$hH�t$pH��P_�H��e!H�L$0���H�&WJH�L$0�������H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0��H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H��� ����C�uH�H��H�@�� �H�L$(H��t=����A�u2H�\$(H�H��H���� ����C�uH�L$(H�H�@��� �H�_H��t5����C�u*H�H��H���� ����C�uH�H��H�@�|� H��L�\$`I�[I�kI�s I��_�H��d!H�L$@�6���H��UJH�L$@�Q��H�\$H�t$WH��@I�H��I��I��H��H�@�� H;�u8H�H��H�@�� H���{H;�u>H��H���[�H�\$PH�t$XH��@_�H��c!H�L$ ���H�+UJH�L$ ����H�a=!H�L$ ���H�UJH�L$ ��������H�\$H�t$WH��@I�H��I��I��H��H�@�h� H;�u8H�H��H�@�S� H����H;�u>H��H����H�\$PH�t$XH��@_�H��b!H�L$ ���H�{TJH�L$ ���H��<!H�L$ ����H�XTJH�L$ ��������H�\$WH��PH��I9��I���"�H�T$`H�D$`H�L$ ��H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H��q� ����C��uH�H��H�@�T� H�\$hH��H��P_�H��b!H�L$0����H��SJH�L$0�4�����H��H�XH�HWH��H��M��D��H�T$ H�H ����H�T$ H���0���H���H;8t5H�c8H�OpH��tH�H��H���� H�C8H��H��$�H�Ġ_�H��c!H�L$8��H��H�
߱J��L��H��H�L$X�r���L��c!H��H�L$x�]���H��H�L$ ���H��SJH�L$ �N���H��(�
�MeH�%X�4H�ȋ
9�jMH��jMH��(�H�
�jM��=�jM�u�W���jM�x�/H�H�@H�@f�@H��jMH�
�� �
�H�
�jM���������������H�\$H�t$WH��@I�H��I��I��H��H�@�x� H;�u^H�H��H�@�c� H����H;�uH��H���[H�\$PH��H�t$XH��@_�H��9!H�L$ ����H��QJH�L$ �&��H�N_!H�L$ ���H�eQJH�L$ �����H�\$H�t$ UWAUAVAWH��$0���H���H�P�JH3�H���H��L��H�L$8H�T$8H���� 	H�0E3�L�8H�uH�L$8H��tH�A�WH�@�~� W�D$HH�{H��t�GH�{H�[H�\$HH�|$P3�A��H������H����q���3�D�BHH�Mp��H��[!H�EpW��D$0L�D$ H�T$0H�Mx�_����L�|$hA�L�l$pD�|$XL�
Nc!E��A�UH�L$X���D��0H�T$XH�Mp�@�L�}�L�m�D�|$xL�
,\!E��E�}A��H�L$x�P����4H�T$xH�Mp�B���H�e�L�m��E�L�
\!E3�A��H�M������8H�U�H�Mp�
���H�E�H�D$(H��@3�H�]H�]H�M�����H�]�L�mЈ]�L�
�[!D�ÍSH�M�����L�E�H�U�H�Mp苬��H�E H�D$@H�CZ!H�E L�D$!H�UxH�M(�U����H�]�L�m�]�L�
:b!D�ÍSH�M��c���L�E H�U�H�����H�A��E��H���H��H��u� I��H����V-���H���H���H+�H�����W�f��H���H�������H��X����H�p<!H��XH��X���H��t:A����GA�u-H�H��H���� A����GA�uH�H��H�@��� �L��H��I�@��� I��H���H3��NL��$�I�[@I�sHI��A_A^A]_]���@UH��H��H�E�H�EH�%b!H�E�H�E�H�E�H�e�H�E��E�L�
�_!E3�A�PH�M������H�U�H�M��#��H�Ā]���H�\$H�t$WH��0I��I��H��H�L$ H�H�a���9H��H�F��A H�SH��(��H�FH�8H�FH�xH�NH�y3�H�N�DH��H��|�H��H�\$HH�t$PH��0_���H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@�3� H���;H;�u#L��H��H���tH�\$PH�l$XH�t$`H��@_�H��4!H�L$ ���H�SLJH�L$ ����H�\$UVWH�� H��H��H�	H�y�u6L�GH��H���>H��3�H�?H�K �m��H���d���t�H���H�\$PH�� _^]�E���H�\$ UVWH�� A�xI��H��H��u3L�GH��H������H��3�H�?H�K ���H������t�H�\$XH�� _^]���������H�\$H�l$VWAVH��@H�)E3�I��H��E8pt0H�ED8puA�9��H�E9x ��H�EH�D�sD�s�WA�9H;uuA;x }Z�BD�r�5A;x }HH�L$`H�t$`�HH�9z }-H�B�HH��D�s��tH�D�s�H�3�C�����a��I�HD�AE��t)H�ND8q��H��H��H;Au'H�IH��D8qt��H�D8ruH�H��H��D8pt�D8qui��;y |bH�EH�D$ D�t$(�#H�D$ 9P }H�@D�t$(�H���D$(H�D8pt�D8uu;} |H�+�C�C�5D$ �����D�sH��E��tH�3�
���H�����D�r�BH�2H��H�\$hH�l$pH��@A^_^����@SH��@H���9H9u	H��H��@[�H�!Z!H�L$ ��H��IJH�L$ ����H�\$WH��H���JH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@�L�H�L$xH��tYH�H��H�@��� H�H�L$xH��tH�H�T$@H;���H�@ ��� H��H��$�H3��)�H��$�H�Đ_��W��H��X!H�L$(�5�H��HJH�L$(�P�����@SH��@H�BH9Hu;L��H�L$PH�T$ E3������rH�T$ H���Q���H���]H;��H��@[�H�:X!H�L$ ���H�AHJH�L$ ������@SH��H�BL��H9HuJH�T$@I���E)	�d$0H��HH�T$(�L$ ��H�T$ H���ϟ��H����H;��H��[�H��W!H�L$ �?�H��GJH�L$ �Z���@USVWATAVAWH�l$�H��pH���JH3�H�E`I��M��D��L��H�������D$P����D$TH�D$P���;0��H��H�L$XH;�u�3�A��H�L$`�9��H�L$`�:h������"H�P 3�H�t$@H�t$HH�L$0�X���H��H�{rH�L�CH�L$p�8��H��^!H���}5��H�T$0H�|$HHCT$0L�D$@H���_8��H�P^!H���P5��H��H�rH�L�GH���78��H��H�
^!�(5���H�T$HH��r
H��H�L$0�Ͻ��H�\$P��G!H�P H�t$@H�t$HH�L$0����H�T$0H�|$HHCT$0L�D$@H�L$p��7��H��H��]!�4���H�T$HH��r
H��H�L$0�b���H��H�D$XH;�u�H�L$p�9��H�D$HH�t$@@�t$0H�D$0H�D$ L�L$`M��A��I���R�H�T$HH��rH��H�L$0�����H�M��dž���H�w3!H�E�H�M����H�M`H3��H��pA_A^A\_^[]����H��H�XH�hH�p H�HWH�� I��H��H���@��H��H�D$0H��t,W���C�CH�]!H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H����H��H�D$0H��t)W���C�CH��\!H�H�KH���	�3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H������H��H�D$0H��t,W���C�CH��[!H�H�KL��H�������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H�����H�\Y!H�L�wI�I��H�@�
� H����2H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H���� ����C�uH�H��H�@��� �H��H�\$XH�t$`H�|$hH��@A^�H�5+!H�L$ �_�H��BJH�L$ �z���L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��]	H�"X!H�H�[H��t9����C��u,H�H��H��� ����C��uH�H��H�@��� H��H�\$PH��0_����H��H�XH�h VWAVH��)p�H��H��H�H�H�!H�a�����H��H�H�@H�@f�@H�fH~�fs�fI~�I;���L��L��H�T$@H���H���0�@�D$p�|$puoH��������H9G��L��L�H��H�L$ ��H�hH�`H�L$(H��tH�� 3���H�L$(H��t
��躸���t$@L��H�T$@H��褩��H��h�W���H��L��$�I�[0I�k8A(s�I��A^_^��ֳ����H�\$ UVWATAUAVAWH��$���H��0M��H��L��H�M�I�����D��M��H��I�������H��V!I�$I���I���H+�H��H���<A�H�U�H�I�(!	�XI���I���H+�H��H���A�H�U�H�I� 	�xI���I���H+�H��H����A�H�U�H�I�� 	�pI���I���H+�H��H����A�H�U�H�I � 	D�pE3�L�m�H�E�D�m�L�
pV!E��A�UH�M�� ����A�MH�L$xH�D$pH�M formatH�D$`D�l$hL�l$PH�L$XD�l$@L�
CV!E�ōQ1H�L$@�Ӻ���I�I��H�@�� L���D$8D�l$0H�E�H�D$(�\$ L�L$`A�UMH�L$@����H�T$XH��r
H��H�L$@艶��L�l$P�H�\$XD�l$@H�T$xH��r
H��H�L$`�]���L�l$pH�\$xD�l$`H�U�H��rH��H�M��8���L�m�H�]�D�m�L�
�U!E�źH�M������H�\$XH�D$PH�V formatH�D$@D�l$HL�l$pH�\$xD�l$`L�
+U!E�ź@H�L$`蹹���I�I��H�@�� L���D$8D�l$0H�E�H�D$(�|$ L�L$@�NH�L$`�o����H�T$xH��r
H��H�L$`�n���L�l$pH�\$xD�l$`H�T$XH��r
H��H�L$@�G���L�l$PH�\$XD�l$@H�U�H��rH��H�M��"���L�m�H�]�D�m�L�
�T!E�ſ��H�M�����L�l$PH�\$XD�l$@L�
�T!E�ōW�H�L$@�Ÿ���L�l$pH�\$xD�l$`L�
T!E�ōW#H�L$`螸���I�I��H�@�ͽ L���D$8D�l$0H�E�H�D$(�t$ L�L$@�W2H�L$`�V����H�T$xH��r
H��H�L$`�U���L�l$pH�\$xD�l$`H�T$XH��r
H��H�L$@�.���L�l$PH�\$XD�l$@H�U�H��rH��H�M��	���L�m�H�]�D�m�L�
�S!E��H��H�M��׷���L�l$PH�\$XD�l$@L�
�S!E�źH�L$@讷���L�l$pH�\$xD�l$`L�
�R!E�ź@H�L$`腷���I�I��H�@��� L���D$8D�l$0H�E�H�D$(D�t$ L�L$@�PH�L$`�:�H�T$xH��r
H��H�L$`�9���L�l$pH�\$xD�l$`H�T$XH��r
H��H�L$@����L�l$PH�\$XD�l$@H�U�H��r
H��H�M�����I��H��$�H��0A_A^A]A\_^]��������
�������H�\$H�T$WH��0H��H��W��D$ L�JM��t	�A�AL�JH�H�D$ L�L$(H�T$ �5���H��P!H�Ƈ�H�[H��t9����C��u,H�H��H��g� ����C��uH�H��H�@�J� H��H�\$PH��0_�H�\$H�t$ WH��@H��H��H�L$ �ݭ���H��O!H���)H9��H��O!H�H���H��PH�a�H�q��6����H���H��pH�aH�q������H���H���H�aH�q�����H���H���H�aH�q��֭���������������������������H���H���H�aH�q�膭���H��H�\$`H�t$hH��@_�H��H!H�L$(���H�b9JH�L$(������H�\$WH��0H��H��H�L$ H�H�H�BH�AH�BH�AH�BH�AH�� H�aH�aH�� �b���H�O@H�aH�aH�S@�J���H��H�\$PH��0_����H��(H�IH��t
���1���H��(�H���t�����@SH�� H�Q`H��H��rH�IHH������H�cXH�C`�CHH�S@H��rH�K(H���گ��H�c8H�C@�C(H�� [����H�\$H�t$WH�� H���H��H��rH���H��蒯��3�H���@����wH���H���H��rH���H���\���H���H���@���H���H��rH���H���+���H���H���@���H���H��rH��pH�����H���H���@��pH��hH��rH��PH���ɮ��H��8H��`H��h@��P���H�S(H��rH�KH��蒮��H�s(H�t$8H�{ @�{H�\$0H�� _���@SH�� H�QXH��H��rH�I@H���U���H�cPH�CX�C@H�S8H��rH�K H���.���H�c0H�C8�C H�� [��������H�H�рxt	H�@H��[H��yt<H�H�yu*L��L��L��L��I��L;uL��H�
H�IM��I���yt܀xu�H�A�H��H�@�xt�H�
H���������������@SH�� H�N!H��H���t
�@�.�H��H�� [������@SH�� H�N!H��H���t
���H��H�� [������@SH�� H��M!H��H���t
�����H��H�� [��H�\$WH�� ��H��H�Q`H��rH�IHH���߬��H�cXH�C`�CHH�S@H��rH�K(H��踬��H�c8H�C@�C(@��t
�hH���T�H��H�\$0H�� _�������H�\$WH�� ��H�������t
�H����H�\$0H��H�� _�������������H�M!H�H�����H�
�(m��������H�I�J�H��(eH�%X�
�qM�4H�ȋ
9MMH��oJH��(�H�
�LM���=�LM�u�H�
�� ���H�
�LM������H��(L�E3�I�@D8Hu�
9H }H�@�L��H�D8Ht�E8HuA�@ 9|	I�@(H��(�H�
�!�������H�\$H�t$WH��@I�H��I��I��H��H�@�h� H;�u;H�H��H�@�S� H���#H;�uAH��H���{��H�\$PH��H�t$XH��@_�H��A!H�L$ ���H�x3JH�L$ ���H��!H�L$ ����H�U3JH�L$ ������H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@��� H;���H�H��H�@��� H���c"H;�uML��H�T$PH���n�H�H� H�H�L$PH��tH��H��U� H�\$XH��H�t$hH�l$`H��@_�H��!H�L$ ���H��2JH�L$ �+��H��@!H�L$ ����H�j2JH�L$ ����������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@��� H;���L��H�L$ H�����H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H��i� ����C�uH�H��H�@�N� H�\$`H��H�l$hH�t$pH��P_�H�7@!H�L$0�	��H��1JH�L$0�$�����H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0���H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H��}� ����C�uH�H��H�@�b� �H�L$(H��t=����A�u2H�\$(H�H��H��8� ����C�uH�L$(H�H�@�� �H�_H��t5����C�u*H�H��H���� ����C�uH�H��H�@�ܰ H��L�\$`I�[I�kI�s I��_�H�?!H�L$@���H�0JH�L$@��H�\$H�t$WH��@I�H��I��I��H��H�@�x� H;�u8H�H��H�@�c� H���/H;�u>H��H����H�\$PH�t$XH��@_�H��=!H�L$ ���H��/JH�L$ �)��H��!H�L$ ����H�h/JH�L$ ��������H�\$H�t$WH��@I�H��I��I��H��H�@�ȯ H;�u8H�H��H�@��� H���H;�u>H��H�����H�\$PH�t$XH��@_�H�L=!H�L$ �^��H��.JH�L$ �y��H�!H�L$ �;��H��.JH�L$ �V�������H�\$WH��PH��I9��I�����H�T$`H�D$`H�L$ ��H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H��Ѯ ����C��uH�H��H�@��� H�\$hH��H��P_�H�'=!H�L$0�y��H��-JH�L$0蔿����H��H�XH�HWH��H��M��D��H�T$ H�H �����H�T$ H��萅��H���H;8t5H�c8H�OpH��tH�H��H��� H�C8H��H��$�H�Ġ_�H�S>!H�L$8�Q���H��H�
��J����L��H��H�L$X�Ң���L��=!H��H�L$x轢���H��H�L$ �߸��H�.JH�L$ 设��������������L��I�[WH��`H��H��I�S�d$$W�3�H�BH��PI�C�H��pI�C�H���I�C�H���I�C�H�"H�bH�bD�L$ M�C�I�S�H���B����D$$H���3�H����H�CH+H��H;�vH�����H���H��t-H���H�D$(H�SH;St
H�H�C�
L�D$(H���f.��H��H��$�H��`_��H��(�
FiMeH�%X�4H�ȋ
9{DMH�bDMH��(�H�
fDM����=ZDM�u�W��=DM�x��H�H�@H�@f�@H�DMH�
4y ���H�
DM�B��H�\$H�t$WH��@I�H��I��I��H��H�@�� H;�u^H�H��H�@�ӫ H���H;�uH��H���[H�\$PH��H�t$XH��@_�H�Q!H�L$ �{��H��*JH�L$ 薼�H��8!H�L$ �X��H��*JH�L$ �s����H�\$UVWATAUAVAWH��$P���H��H��mJH3�H���H��H��H�L$8W�EH�zH��t�GH�zL�zL�}H�}H�T$`H����L�0H� L���H�L$`H��tH��H�@�ʪ H���H���H+�H��H����H�QH�T$8H����L�aH����L�iH����H�Y 3�A��H�������H�����J���3�D�BHH��P��H��4!H��PW��D$0L�D$(H�T$0H��X�w����H�ExH�D$ H�L$8H�H�@��� H���H���H��H�Mx蛼���H�E0H�E(�Em_id�EL�ExH�UH��P�K���H���H�D$ I�$I��H�@��� E3�L���L���H��H����.����H�EPH�EH�E8v_idD�e<L���H�U8H��P�ۅ��H���H�D$ I�EI��H�@�� L���L���H��H�������E�l$L�m�E�e�L�d$x��>!�D$h��>!�D$p��>!f�D$t�D$vL���H�T$hH��P�M���H���H�D$ H�H��H�@��� H���H���H��H����2����L�m�L�e��)>!�E��&>!�E�� >!f�E�E3�D�e�L���H�U�H��P�ʄ��L�mpH�Eh�lrf�EXD�eZ�A��H�UXH��P���L�m�A�]�H�]؋�=!�EȊ�=!�E�D�e��A��H�U�H��P腃��L�mH�]���=!�E��=!�E�D�e��A��H�U�H��P�N���L�m�H�E��\=!�E��V=!f�E��N=!�E�D�e��A��H�U�H��P����H��H�D$ H��1!H��L�D$)H��XH���{���L�l$XL�l$P��<!�D$@��<!�D$H��<!f�D$L��<!�D$ND�d$OL��H�T$@I���ا��I���D��H���I��H���� H��H�������H��xH��pH+�H���F���W�f�pL���H��`謦���H��8��f���H��!H��8H��8����I��SI��H�@�� �H��t5����G�u*H�H��H���� ����W�uH�H��H�B�� H��H���H3���H��$H�İA_A^A]A\_^]��������H��H�XH�pH�x �HUATAUAVAWH��H�����H+�
'bMeH�%XA�4H��A�9B=M4H���H�
"=M�a�L��$�I�[8I�s@I�{HI��A_A^A]A\]�H�
=M���=�<M�u�W��<MA�L��pL��xE�eL���E3�L���A�]H���E�uL���Dž�yxfbD���H����s�H�����8!�����8!���D���D��PH��pH��X���L��L��L�� L��(H��HL��@Dž0byxfD��4H��hH��`�78!��P�/8!��TD��UD���H��H������L���L���L���L���H���L����bfyx���D���H��H����7!�����7!���D���D�� 
H���H��(
�x��L��PL��XL��`L��hH���L���DžpfyxbD��tH���H����07!����(7!���D���E�}D���
H��PH���
����L���L���L��3�H��H��(L�� ����H��HL��@�bfxy��0��4D���
H���H���
���L���L���L���H����F
H���L������ƅ�H���L������ƅ���XH���H��`���L���L���L��3�H���^
H��(L�� ����H��HH��@��5!��0��5!��4��5Dž�H���H������L���L���L���3�H���H���L���������H���H����E5!����=5!������Dž(H���H��0���L��0L��8L��@3�H��HH��hL��`��P��TH���H�����4!��p��4!��t��uDž�H��0H������L���L���L���3�H���H��L���bxf�������F
H��(H�� �X4!���P4!����Dž�	H���H�����L��pL��xL���3�H����F
H���L���f������H���H�����3!�����3!������Dž`
H��pH��h�u��L��L��L�� 3�H��(�F
H��HL��@f��0��2��H��hH��`�J3!��P�B3!��T��UDž�H��H�������L���L���L���3�H���H���L���������H��H����2!�����2!������Dž0H���H��8�k��L�mPL�mXL�e`3�H�MhH���L����}p�MtH���H����82!����02!������Dž�
H�UPH������L�m�L�m�L�e3�H�MH�](L�u �}�MH�]HH�u@��1!�E0��1!�E4�M5DžH�U�H�����L�m�L�m�L�e�3�H�M�H�]�L�u��E�bxyf�M�H�]�H�u�{1!�EЊv1!�EԈMՉ�hH�U�H��p�N��L�l$0L�l$8L�d$@H�d$HH�\$hL�t$`�|$P3�@�|$TH�]�H�u��1!�D$p�1!�D$t@�|$uDž�H�T$0H�������L��0L��8L��@H��HH��hL��`DžPxyfb@��TH���D��H���@��pH�5�0!H��H��p�ɏ���Dž8H��0H��@�_��L���
L���
L���
H���
H��H��@���
H�V0!H��H���
�c����H�� L��(@��H��H���>����Dž�H���
H�������L��p
L��x
L���
H���
H���
L���
@���
H��H���
�ߎ���H���
L���
@���
H��H���
躎���DžH��p
H���P��L��
L��
L�� 
H��(
H��@
L��H
@��0
H��H��0
�[����H��`
L��h
@��P
H��H��P
�6����DžpH��
H��x����L���	L���	L���	H���	H���	L���	@���	H�=�.!H��H���	�Ѝ���3�H��
L��
���	H��H���	認���Dž�H���	H����@��L��P	L��X	L��`	H��h	H���	L���	��p	H��H��p	�L����H���	L���	���	H��H���	�(����Dž@H��P	H��H����L���L���L��	H��	H�� 	L��(	��	H��-!H��H��	�Ì���H��@	L��H	ƅ0	H��H��0	蝌���Dž�H���H����3���L���L���L���3�H���H���L������H��H����=����H���L���ƅ�H�-!H��������DžH���H������L��0L��8L��@3�H��HH��`L��h��PH��,!H��P诋���H���L���ƅpH��H��p艋���DžxH��0H�������L���L���L���3�H���H��L�����H��H����)����H�� L��(ƅH��H�������Dž�H���H�������L��pL��xL���3�H���H���L������H��H���裊���H���L���ƅ�H��H����}����DžHH��pH��P����L��L��L�� 3�H��(H��@L��H��0H��H��0�����H��`L��hƅPH��H��P����Dž�H��H�������L���L���L���3�H���H���L������H��H���藉���3�H��L�����H��H����q����DžH���H�� ����L��PL��XL��`L��hH���L�����pH�*!H��p�����H���L������H��)!H�������Dž�H��PH����}���L���L���L��H��H�� L��(��H��H��艈���H��@L��H��0H��H��0�e����Dž�H���H�������L���L���L���H���H���L������H��(!H��������H���L������H��H����߇���DžP H���H��X�u���L��0L��8L��@H��HH��`L��h��PH��(!H��P�}����H���L�����pH�y(!H��p�U����Dž�!H��0H��������L���L���L���H���H��L�����H��'!H������H�� L��(��H��'!H���ˆ���Dž "H���H��(�a���H��PH�D$ H���H�D$(H�T$ H�
+M�O���L�
����ShE�E"H��P���H����W���H��0�J���H����=���H����0���H��P�#���H�������H���	���H��p����H��������H��0�����H��������H��������H��P	����H���	����H��
����H��p
����H���
����H��0�z���H�L$0�o���H�M��e���H�M��[���H�MP�Q���H����D���H���7���H��p�*���H�������H��0����H�������H�������H��������H��������H��P�����H��������H������H��p���H�
�^ � ��H�
 )M�c������@UH��H��H�E�H�EH��(!H�E�H�E�H�E�H�e�H�E��E�L�
�%!E3�A�PH�M�蝋���H�U�H�M��Ϗ��H�Ā]�������H��PH�xrH�H���H��pH�xrH�H���H���H�xrH�H���H���H�xrH�H������������������������H������H�yrH�	H�������H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�hH��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@��� H���W"H;�u#L��H��H����
H�\$PH�l$XH�t$`H��@_�H�0� H�L$ �Z���H��JH�L$ �u��L��SVWH��`H��QJH3�H�D$PH��H��I�S�E�C�I�S�I�K���H��H�OL��H�T$0�i��H�H��0H���Id���H�\$(H��t9������C�u+H�H��H��� ����C�uH�H��H�@�ʎ �H�VH��rH��H�脅��H�fH�F�H�L$PH3��G�H��`_^[����L��SVWH��`H�QJH3�H�D$PH��H��I�S�M�C�I�S�I�K��H��H�OL��H�T$0�Dh��H�H��0H���qc���H�\$(H��t9������C�u+H�H��H��
� ����C�uH�H��H�@�� �H�VH��rH��H�謄��H�fH�F�H�L$PH3��o�H��`_^[����L��SVWH��`H�+PJH3�H�D$PH��H��I�S�E�C�I�S�I�K��$H��H�OL��H�T$0�lg��H�H��0H���b���H�\$(H��t9������C�u+H�H��H��5� ����C�uH�H��H�@�� �H�VH��rH��H��ԃ��H�fH�F�H�L$PH3��H��`_^[����@SH��@H���vH9u	H��H��@[�H��!H�L$ 蓴��H�JH�L$ 讝��H�\$WH��H�OJH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@�\�H�L$xH��tYH�H��H�@�A� H�H�L$xH��tH�H�T$@H;���H�@ �� H��H��$�H3�蹿H��$�H�Đ_����H�;!H�L$(�ų��H�BJH�L$(������@SH��@H�BH9Hu;L��H�L$PH�T$ E3��W����H�T$ H����b��H���qH;��H��@[�H��!H�L$ �T���H��
JH�L$ �o����@SH��H�BL��H9HuJH�T$@I������d$0H��HH�T$(�L$ �H�T$ H���_b��H����H;��H��[�H�E!H�L$ �ϲ��H�L
JH�L$ ����@SUVWATAUAVAWH��HH�EMJH3�H��$0I��M��D��L��H��$�H��$�H��$�L��$�H;���3�A��H�L$0�ۭ�H�L$0��*���H��H�{rH�L�CH�L$@�P���H��!H���A���H��H���Q��H��H�L$!�'���H��H�rH�L�GH������H��!H�����H��H����P��H��H��!���H���M���L�l$ L�L$0M��A��I�����H��$��GJ���H��� H��$�H��$��*��H��$0H3��)�H��HA_A^A]A\_^][��H��H�XH�hH�p H�HWH�� I��H��H���@艻H��H�D$0H��t,W���C�CH��#!H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H���H��H��H�D$0H��t)W���C�CH�s#!H�H�KH���3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H�\$WH�� H��H��� 芺H�D$0L��H��t0W��A�@A�@H�[#!I�H�Y"!I�@�A�@�E3�I�@W�H�H��L�CH�\$8H�� _����H�\$WH�� H��H��� ��H�D$0L��H��t1W��A�@A�@H�#!I�H��!!I�@H�I�@�E3�I�@W�H�H��L�CH�\$8H�� _���H�\$WH�� H��H��� 蒹H�D$0L��H��t0W��A�@A�@H��"!I�H��!!I�@�A�@�E3�I�@W�H�H��L�CH�\$8H�� _����H��H�XH�hH�p H�HWH�� I��H��H������H��H�D$0H��t,W���C�CH�(!!H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H������H��!H�L�wI�I��H�@�
� H���H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H���� ����C�uH�H��H�@��� �H��H�\$XH�t$`H�|$hH��@A^�H�5� H�L$ �_���H��JH�L$ �z���L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��]�H��!H�H�[H��t9����C��u,H�H��H��� ����C��uH�H��H�@�� H��H�\$PH��0_����H�\$H�t$WH�� H��I��I��H����D��L��H��H���S���H�\$0H�O!H�H��H�t$8H�� _���H�\$H�T$WH��0H��H��W��D$ L�JM��t	�A�AL�JH�H�D$ L�L$(H�T$ ����H��!H�H�[H��t9����C��u,H�H��H��� ����C��uH�H��H�@�� H��H�\$PH��0_����H�\$H�L$WH��@H��H���v���H��!H��^H9uLH��!H������(�����,�����0�������4H��H�\$XH��@_�H�!H�L$ �8���H��JH�L$ �S����H�\$H�L$VWAVH����H��3ۉ�$�H��H�L$@�?���8\$H��H�Hc@H�D8@H�HH�L$XH�H�@�� �H�L$P�8��L��H�L$XH��t(H�H�B��� L��H��tH�H��SI���� �H�LcHL�I�AH�D$PH�D$XA�IX(D$PfD$PI��t$(�L$ L�D$PH�T$`I��H�@@�Z� A��|$`AEى�$��H��$���$�A�H�Lc@L�A�H�I�@HH����A#�у�A�PA�@#�uO衕��uH�L$@�p���H�T$@H�HcHH�LHH��tH�H�@�ǁ �H��H��$�H�ĠA^_^�A��t	H�� ��H�� H�!� HDغH�L$`����L��H��H�L$p�9��H�GJH�L$p�m��H�\$UVWAVAWH�l$�H��H��H��H�L�E3�I���u��kI���u��[I��tPI��tCI��t1I��9t$I��AtI��tI���2H���&������H���������������H;��TL�u'A�L�}/D�uL�
�!E��A�W6H�M�H{���L�uL�}D�u�L�
�!E��A�WH�M��${���L�u�L�}�D�u�L�
�!E��A�WH�M��{���L�u�L�}�D�u�L�
�!E��A�W2H�M���z���H�NH�H�@�
� L��H�EH�D$8H�\$0H�E�H�D$(H�|$ L�M�A�W&H�M������H�U�H��rH��H�M��v��L�u�L�}�D�u�H�U�H��rH��H�M��qv��L�u�L�}�D�u�H�UH��rH��H�M��Ov��L�uL�}D�u�H�U/H��rH��H�M�-v��H��$H��A_A^_^]�������@SH�� H��!H��H���t
�@讱H��H�� [������@SH�� H��!H��H���t
�H�~�H��H�� [������@SH�� H�!H��H���t
� �N�H��H�� [������@SH�� H�!H��H���t
� ��H��H�� [������@SH�� H�!H��H���t
� ��H��H�� [������@SH�� H��!H��H���t
��辰H��H�� [������H�\$WH�� H�ً�H��8轌��H�S(H��rH�KH���t��H�c H�C(�C@��t
�8H���[�H��H�\$0H�� _��������������H��!H�H�����H�
�5��������H��\J�H��(eH�%X�
%:M�4H�ȋ
9gMH��7JH��(�H�
RM�ٶ�=FM�u�H�
�J ��H�
1M�X���������H�\$H�t$WH��@I�H��I��I��H��H�@��| H;�u;H�H��H�@��| H���H;�uAH��H���[H�\$PH��H�t$XH��@_�H�1
!H�L$ 苤��H��IH�L$ 覍�H�>� H�L$ �h���H��IH�L$ 胍���H�\$UVWATAUAVAWH��$��H�� 	H��>JH3�H��H��L��W�D$@L�bA�M��t
�Et$L�bH�ZH�\$@L�d$HH���H���H+�H��H���E��H���H�	���H��0H���H���HE�H���H���H�D$0H�|$8��4����0�������A��������H���HcPH�L$0����H���D�8H���D�0H����8��(H����Ã��H�L$PH��\$ D��E��A���5���H�t$ L��A�H���I���4����M�������A�D$����I�$I��H���z ���A�D$����I�$H�@�H���HcH�L$0�?���H���D�8H���D�0��(H����XH������H���\$ D��E��A��H�M��n���H�|$ �4���H���HcH�L$0����H���D�8D��(H����8�XH���蛂��H�M@����H���HcH�L$0���D��(H���D�0H����8�XH����U���H������H����QH�����Hc�H�L$0�9���H����8��(H����
���H��D�t$ D��E�Ƌ�H��0�z���L��H�t$ D���H���I���x���M��t?���A�D$��u0I�$I��H��y ���A�L$��uI�$H�AI���x I��H��H3�虬H��$p	H�� 	A_A^A]A\_^]�������������H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@��x H;���H�H��H�@�wx H���H;�uML��H�T$PH����H�H� H�H�L$PH��tH��H��5x H�\$XH��H�t$hH�l$`H��@_�H��� H�L$ ��H�m�IH�L$ ���H��!H�L$ �͟��H�J�IH�L$ ����������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@��w H;���L��H�L$ H����H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H��Iw ����C�uH�H��H�@�.w H�\$`H��H�l$hH�t$pH��P_�H�!H�L$0���H�f�IH�L$0������H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0�7�H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H��]v ����C�uH�H��H�@�Bv �H�L$(H��t=����A�u2H�\$(H�H��H��v ����C�uH�L$(H�H�@��u �H�_H��t5����C�u*H�H��H���u ����C�uH�H��H�@��u H��L�\$`I�[I�kI�s I��_�H��!H�L$@�v���H���IH�L$@葆�H�\$H�t$WH��@I�H��I��I��H��H�@�Xu H;�u8H�H��H�@�Cu H����H;�u>H��H���_�H�\$PH�t$XH��@_�H��!H�L$ ���H�k�IH�L$ �	��H��� H�L$ �˜��H�H�IH�L$ ��������H�\$H�t$WH��@I�H��I��I��H��H�@��t H;�u8H�H��H�@��t H���3H;�u>H��H����H�\$PH�t$XH��@_�H�,!H�L$ �>���H���IH�L$ �Y��H��� H�L$ ����H���IH�L$ �6�������H��(H�‹QH�����H��H�t!H��(�������������H��(H��H�QH�����H��H�C!H��(�������������H�\$WH��PH��I9��I�����H�T$`H�D$`H�L$ ��H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H��Qs ����C��uH�H��H�@�4s H�\$hH��H��P_�H��!H�L$0���H�v�IH�L$0������H��H�XH�HWH��H��M��D��H�T$ H�H �l���H�T$ H���J��H���H;8t5H�c8H�OpH��tH�H��H���r H�C8H��H��$�H�Ġ_�H��!H�L$8��]��H��H�
�QJ膁��L��H��H�L$X�Rg���L�r!H��H�L$x�=g���H��H�L$ �_}��H���IH�L$ �.���H��(�
�.MeH�%X�4H�ȋ
9
MH��	MH��(�H�
�	M�m��=�	M�u�W���	M�x��H�H�@H�@f�@H��	MH�
? �{��H�
�	M辪�������������H�\$H�t$WH��@I�H��I��I��H��H�@�Xq H;�u^H�H��H�@�Cq H����H;�uH��H���[H�\$PH��H�t$XH��@_�H��� H�L$ ���H�h�IH�L$ ���H�.� H�L$ �Ș��H�E�IH�L$ �����H�\$H�t$ UWATAVAWH��$P���H��H�03JH3�H���H��L��H�L$8W�E�H�zH��t�GH�zH�rH�u�H�}�H�T$8H��肿L�8H� L�}�H�L$8H��tH��H�@�;p H�� H��� ��4HE�H��	!L�%�	!��,LE�3�A��H����e��H����d���3�D�BHH�MP�D�H�5� H�EPW��D$0L�D$ H�T$0H�MX�Y���H�E�H�D$x��	!�D$h�{	!�D$l�D$mD��(H�T$hH�MP�	�H�E�H�E�	�M	!�E��J	!�E��E�L��H�U�H�MP�����4t+H�]�H�E��E�axis�E�D��0H�U�H�MP�F�H�\$`H�D$X��!�D$H��!f�D$P��!�D$R�D$SM��H�T$HH�MP�&�H�EH�D$(H�
� H�EL�D$!H�UXH�M�C���H�e�H�]��E�L�
�!E3�A�PH�M��'i���L�EH�U�I���ro��I���D��H���I��H��:n I��H�������H�UxH�MpH+�H����d��W�fEpH���H�M`�Qn���H��8�.���H�@� H��8H��8�u��I��SI��H�@��m �H��t5����G�u*H�H��H���m ����W�uH�H��H�B��m I��H���H3��$�L��$�I�[@I�sHI��A_A^A\_]�@UH��H��H�E�H�EH�M!H�E�H�E�H�E�H�e�H�E��E�L�
Q!E3�A�PH�M���g���H�U�H�M��k��H�Ā]��̋�(�����,�����4�����0������H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�hH��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@�_l H���#H;�u#L��H��H����H�\$PH�l$XH�t$`H��@_�H��� H�L$ ����H��IH�L$ �}�@SH��@H���2#H9u	H��H��@[�H�� H�L$ �Ó��H�@�IH�L$ ��|��H�\$WH��H�@.JH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@��H�L$xH��tYH�H��H�@�qk H�H�L$xH��tH�H�T$@H;���H�@ �Lk H��H��$�H3���H��$�H�Đ_��}�H�k� H�L$(���H�r�IH�L$(�|����@SH��@H�BH9Hu;L��H�L$PH�T$ E3��d���&H�T$ H���B��H���H;��H��@[�H��� H�L$ 脒��H��IH�L$ �{���@SH��H�BL��H9HuJH�T$@I�����d$0H��HH�T$(�L$ �H�T$ H���A��H���H;��H��[�H�u� H�L$ ���H�|�IH�L$ �{��@SUVWATAUAVAWH��HH�u,JH3�H��$0I��M��D��L��$�H��$���$�L��$�;���3�A��H�L$0���H�L$0�
���H��H�{rH�L�CH�L$@���H�� H���t��H�ȋ��Z�H��H�(!�[��H��H�rH�L�GH���B��H��� H���3��H�ȋ���H��H��� ���H�����L�l$ L�L$0M��A��I�����H��$��|)���H�,� H��$�H��$��_��H��$0H3��^�H��HA_A^A]A\_^][���H��H�XH�hH�p H�HWH�� I��H��H���@轚H��H�D$0H��t,W���C�CH�p!H�H�KL��H���z����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H���P�4�H��H�D$0H��t)W���C�CH�!H�H�KH���3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H����譙H��H�D$0H��t,W���C�CH�8!H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H��舩�H�l!H�L�wI�I��H�@��f H����H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H��if ����C�uH�H��H�@�Nf �H��H�\$XH�t$`H�|$hH��@A^�H��� H�L$ ����H���IH�L$ �"w��L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S���H�2!H�H�[H��t9����C��u,H�H��H���e ����C��uH�H��H�@��e H��H�\$PH��0_����H�\$H�t$WH�� H��I��I��H���m��D��L��H��H���S���H�\$0H��!H�H��H�t$8H�� _���L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S����H�n!H�H�[H��t9����C��u,H�H��H���d ����C��uH�H��H�@��d H��H�\$PH��0_����H�\$H�l$ VWATAVAWH��@H��H��H�L$ �2W���H�R!H��H9��H�b!H�H��(H���A�L���H���E�g�L���H��,H���L��H��0H��E�w�L��H��<H��A�o�H�� W�AH����uD����H���H��PL��XH��`L��hH���H��pL��xH���H���L���H���H���H���W�AH��D��褂H��H���L���H���L���H��H���L���H�� H���L��H��,H��H��W�AH��PD���)�H��L�\$@I�[@I�kHI��A_A^A\_^�H�f� H�L$(耊��H���IH�L$(�s�����������@SH�� H��!H��H���t
�@��H��H�� [������@SH�� H��!H��H���t
�P辔H��H�� [������@SH�� H�!H��H���t
��莔H��H�� [������H�\$WH�� H�ً�H��8�p��H�S(H��rH�KH���X��H�c H�C(�C@��t
��H���+�H��H�\$0H�� _��������������H�\$WH�� H�ً�H��8�p��H�S(H��rH�KH���X��H�c H�C(�C@��t
�@H��軓H��H�\$0H�� _��������������H��!H�H�����H�
���������H��@J�H��(eH�%X�
�M�4H�ȋ
9�LH�:JH��(�H�
�L�9��=��L�u�H�
I. �t�H�
��L踙��������H�\$H�t$WH��@I�H��I��I��H��H�@�X` H;�u;H�H��H�@�C` H���oH;�uAH��H���[H�\$PH��H�t$XH��@_�H��� H�L$ ���H�h�IH�L$ �q�H��� H�L$ �ȇ��H�E�IH�L$ ��p���H�\$UVWATAUAVAWH��$0���H���H�2"JH3�H���H��L��W��@H�zA�E3�H��t	�DoH�zL�rL��@H��HH���H���H+�H��H���FE��H��@H�	�7�H��H���HDž�H��H���L���H��H���L���H��H���HDž�H��$H��HDžW��� I��(� D��H����}H���H��@HDžHH���H��PL��XH���H��`L��hH���H��pHDžxH���H���HDž�W�����I���D��H����V}L���D�k�L���D���L�
�� E�čSH����X���L�mXL�ePD�e@L�d$pL�l$xD�d$`L�
� E��A�]��H�L$`�NX���L�d$PL�l$XD�d$@L�
� E�čS7H�L$@�'X���H�H��H�@�V] L��H���H�D$8D�d$0H�E@H�D$(H�����L$ L�L$`�SH�L$@��H�T$XH;�r
H��H�L$@��S��L�d$PL�l$XD�d$@H�T$xH;�r
H��H�L$`�S��L�d$pL�l$xD�d$`H�UXH;�rH��H�M@�S��L�ePL�mXD�e@H���H;�rH��H����aS��L���L���D���L�
-� E�ĺ(H����!W���L�mxL�epD�e`L�e�L�m�D�e�L�
)� E��H��H�M���V���L�e�L�m�D�e�L�
�� E�ĺGH�M���V���H���H�H��H�@��[ L��H���H�D$8D�d$0H�E`H�D$(�C�D$ L�M��,H�M���H�U�H��rH��H�M��xR��L�e�L�m�D�e�H�U�H��rH��H�M��VR��L�e�L�m�D�e�H�UxH��rH��H�M`�4R��L�epL�mxD�e`H���H��rH��H����R��L��L��D��L�
 � E�Ļ2��H����U���L���L���D���L�e�L�m�D�e�L�
� E�čS�H�M��U���L�e�L�m�D�e�L�
.� E�čSH�M��oU���H�H��H�@��Z L��H��H�D$8D�d$0H���H�D$(H��p��L$ L�M�S�H�M��Y�H�U�H��rH��H�M��Q��L�e�L�m�D�e�H�U�H��rH��H�M��P��L�e�L�m�D�e�H���H��rH��H�����P��L���L���D���H��H��rH��H���P��L��0L��8D�� L�
� E��H��H�� �aT���L���L���D���L�e0L�m8D�e L�
� E�ĺH�M �'T���L�eL�mD�eL�
� E�ĺGH�M�T���H��pH�H��H�@�*Y L��H�� H�D$8D�d$0H���H�D$(�C�D$ L�M �.H�M����H�U�H;�rH��H�M�O��L�eL�mD�eH�U8H;�rH��H�M �O��L�e0L�m8D�e H���H;�rH��H����^O��L���L���D���H��8H;�rH��H�� �.O��I����A�D$ D�	H��pD�H��`�H����J���H���H��PHDžXH���H��`�H��hH���H��pH��xH���H���HDž�H���H���HDž�(���(� ��H����`��H�D$ L��PD��HH��@I���]���H��t8������G�u*H�H��H��GW ����W�uH�H��H�B�,W I��H���H3��ʊH��$ H���A_A^A]A\_^]���������������H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@��V H;���H�H��H�@��V H����
H;�uML��H�T$PH����H�H� H�H�L$PH��tH��H��eV H�\$XH��H�t$hH�l$`H��@_�H��� H�L$ � ~��H���IH�L$ �;g�H��� H�L$ �}��H�z�IH�L$ �g��������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@��U H;���L��H�L$ H���/�H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H��yU ����C�uH�H��H�@�^U H�\$`H��H�l$hH�t$pH��P_�H�G� H�L$0�}��H���IH�L$0�4f����H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0�3�H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H���T ����C�uH�H��H�@�rT �H�L$(H��t=����A�u2H�\$(H�H��H��HT ����C�uH�L$(H�H�@�+T �H�_H��t5����C�u*H�H��H��T ����C�uH�H��H�@��S H��L�\$`I�[I�kI�s I��_�H�� H�L$@�{��H�#�IH�L$@�d�H�\$H�t$WH��@I�H��I��I��H��H�@��S H;�u8H�H��H�@�sS H���
H;�u>H��H���_�H�\$PH�t$XH��@_�H�� H�L$ �{��H���IH�L$ �9d�H�Ѻ H�L$ �z��H�x�IH�L$ �d������H�\$H�t$WH��@I�H��I��I��H��H�@��R H;�u8H�H��H�@��R H����	H;�u>H��H����H�\$PH�t$XH��@_�H�\� H�L$ �nz��H���IH�L$ �c�H�!� H�L$ �Kz��H���IH�L$ �fc������H�\$WH��PH��I9��I���&�H�T$`H�D$`H�L$ ��H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H���Q ����C��uH�H��H�@��Q H�\$hH��H��P_�H�7� H�L$0�y��H��IH�L$0�b����H��H�XH�HWH��H��M��D��H�T$ H�H �K���H�T$ H���(��H���H;8t5H�c8H�OpH��tH�H��H��*Q H�C8H��H��$�H�Ġ_�H�c� H�L$8�a<��H��H�
�0J�`��L��H��H�L$X��E���L�� H��H�L$x��E���H��H�L$ ��[��H��IH�L$ �a��H��(�
R
MeH�%X�4H�ȋ
9��LH���LH��(�H�
��L��=��L�u�W��y�L�x蟂H�H�@H�@f�@H�W�LH�
� ���H�
S�L�N��������������H�\$H�t$WH��@I�H��I��I��H��H�@��O H;�u^H�H��H�@��O H���H;�uH��H���[H�\$PH��H�t$XH��@_�H�Q� H�L$ �{w��H���IH�L$ �`�H��� H�L$ �Xw��H���IH�L$ �s`���H�\$UVWATAUAVAWH��$���H���H��JH3�H���H��L��H�L$8W�E�L�rA�M��t	�EnL�rH�rH�u�L�u�H�T$8H���
�L� H� L�e�H�L$8H��tH�A��H�@��N H���H���H+�H��H����H�3�A��H����rA��H������3�D�BHH�����qL�-�� L���W��D$0L�D$ H�T$0H����7���H�E�H�D$(H�H��H�@�*N H�e�H�e�H��H�M���`����H�]�H�D$x��� �D$h��� �D$l�D$mL�E�H�T$hH����s*��H�EHH�D$(H�UHH����L��H�]�H�E��M� �E��G� f�E�3�@�}�H�U�H����!*��H�EhH�D$(H�UhH��P�L��H�\$`H�D$X��� �D$H��� f�D$P��� �D$R@�|$SH�T$HH����)��H�EH�D$(L�mL�D$!H���H�M�!���H�}�H�]�@�}�L�
�� D�ǍSH�M��G���L�EH�U�I����M��I�$��D��H���I��H���L I��H���苪���H���H���H+�H���PC��W�f��H���H����L���H��x����H��� H��xH��x��h�I�$�WI��H�@�%L �M��t7���A�F�u+I�I��H��L ���A�V�uI�I��H�B��K I��H���H3��H��$@H���A_A^A]A\_^]���y����H�\$H�t$ UWATAVAWH��$ ���H���H�JH3�H���L��H��H�U�3�A��H�M���n�H�M�����L�=�� M��H�� H�M��N���3�H9wv+H�_I��H�M��6���H�ȋ����L�%�� H��H;wr�H��� H�M�����3�H9w(v+H�_ I��H�M���H�ȋ�����L�=�� H��H;w(r�W�3�H�E�D�`L�d$H�HH�L$@�s� f�D$0�j� �D$2�D$3L�d$hH�L$`�R� f�D$P�I� �D$R�D$SL�e�H�M��3� f�D$p�*� �D$r�D$sL�e�H�M��� f�E��� �E��E��E�H�e�D�L$ L�E�H�T$0H�M��C���L�
"W��A�T$E�D$�H�L$0�n{3�H9w8vO3�L�0L�E�L�I��I�xrI�M�@H�M��Ϻ��H�ظ H�����H��A�����H��H�� H;w8r�H�l� H�M�藷��I��H�M��k����H�]�H��tWH�}�H;�t.H�SH��rH��H��#@��H�cL�c�H�� H;�u�H�]�H�U�H+�H���H���?��W��E�H�e�H�Mh�	���H�a� H�EhH�Mh�e�I��H���H3��|L��$�I�[@I�sHI��A_A^A\_]��@UH��H��H�E�H�EH�)� H�E�H�E�H�E�H�e�H�E��E�L�
�� E3�A�P H�M��=C���H�U�H�M��oG��H�Ā]�������@UH��H��@H����(H�E�H���8H�E�H��(E�H�E�H�� ��H�E�(M�������H��h��H�E�H��x��H�E�H���(E�H�E�H�����H�E�(M���� H����H�E�H����(H�E�H��(E�H�E�H���0H�E�(M��@�P�`H��@]����H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@��F H���;���H;�u#L��H��H���H�\$PH�l$XH�t$`H��@_�H�P� H�L$ �zn��H���IH�L$ �W�@SH��@H�����H9u	H��H��@[�H�Y� H�L$ �;n��H���IH�L$ �VW��H�\$WH��H��JH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@���H�L$xH��tYH�H��H�@��E H�H�L$xH��tH�H�T$@H;���H�@ ��E H��H��$�H3��ayH��$�H�Đ_��W�H��� H�L$(�mm��H���IH�L$(�V����@SH��@H�BH9Hu;L��H�L$PH�T$ E3��>���RH�T$ H�����H���=H;��H��@[�H�r� H�L$ �l��H�y�IH�L$ �V���@SH��H�BL��H9HuJH�T$@I���}��d$0H��HH�T$(�L$ ��H�T$ H�����H���H;��H��[�H��� H�L$ �wl��H���IH�L$ �U��@USVWATAVAWH�l$�H��pH��JH3�H�E`I��M��D��L��H�������D$P����D$T����D$XH�D$P���;0��H��H�L$\H;�u�3�A��H�L$`�gg�H�L$`�h�����4���H�P 3�H�t$@H�t$HH�L$0�V���H��H�{rH�L�CH�L$p躴��H��� H��諱��H�T$0H�|$HHCT$0L�D$@H��荴��H�~� H���~���H��H�rH�L�GH���e���H��H�;� �V����H�T$HH��r
H��H�L$0�9��H�\$P��u���H�P H�t$@H�t$HH�L$0��U���H�T$0H�|$HHCT$0L�D$@H�L$p���H��H�� ����H�T$HH��r
H��H�L$0�9��H��H�D$\H;�u�H�L$p�(���H�D$HH�t$@@�t$0H�D$0H�D$ L�L$`M��A��I��耘�H�T$HH��rH��H�L$0�/9���H�M�����H��� H�E�H�M���^�H�M`H3���uH��pA_A^A\_^[]��H��H�XH�hH�p H�HWH�� I��H��H���@�EtH��H�D$0H��t,W���C�CH�8� H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H����sH��H�D$0H��t)W���C�CH��� H�H�KH����3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H�����5sH��H�D$0H��t,W���C�CH�� H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H�����H��� H�L�wI�I��H�@�=@ H��衂��H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H���? ����C�uH�H��H�@��? �H��H�\$XH�t$`H�|$hH��@A^�H�e� H�L$ �g��H��IH�L$ �P��L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S�荊H�b� H�H�[H��t9����C��u,H�H��H��2? ����C��uH�H��H�@�? H��H�\$PH��0_����@USVWATAVAWH��$����H��@I��H��L��H�M�I���G��D��L��H��I���D����H�� I�I�FpA�E3�L9�X�JL9�x�=H���H���H+�H��H���cA�H�U�H�I�g��XH���H���H+�H��H���7A�H�U�H�I�5��xL�}�L�e�D�}�L�
� E��A�T$H�M���8���L�d$hH�D$`�� �D$P��� f�D$X��� �D$ZD�|$[L�}�L�e�D�|$pL�
�� E��A�T$1H�L$p�l8���H�H��H�@��= L���D$@�D$8D�|$0H�E�H�D$(�\$ L�L$PA�T$?H�L$p����H�U�H��r
H��H�L$p�4��L�}�L�e�D�|$pH�T$hH��r
H��H�L$P�3��L�|$`L�d$hD�|$PH�U�H��rH��H�M���3��L�}�L�e�D�}�L�
U� E�ǺH�M��7���L�d$hL�d$`�Q� �D$P�M� �D$X�F� f�D$\�=� �D$^D�|$_L�}�L�e�D�|$pL�
�� E�Ǻ@H�L$p�87���H�H��H�@�g< L���D$@�D$8D�|$0H�E�H�D$(�|$ L�L$P�OH�L$p����H�U�H��r
H��H�L$p��2��L�}�L�e�D�|$pH�T$hH��r
H��H�L$P�2��L�|$`L�d$hD�|$PH�U�H��rH��H�M��2��H���H���H+�H��H����H�IH�H�@��; H���h~��H;�@��H���H���H+�H��H���XH�IH�H�@�]; H���)~��H;���L�e�L�}�D�}�L�|$`L�d$hD�|$PL�
�� E�Ǻ'H�L$P��5���L�}�L�e�D�|$pL�
&� E�Ǻ@H�L$p�5���@2�H�H��H�@��: L��H�E�H�D$(@�|$ L�L$P�TH�L$p�Ӓ�H�U�H��r
H��H�L$p�s1��L�}�L�e�D�|$pH�T$hH��r
H��H�L$P�N1��L�|$`L�d$hD�|$PH�U�H��rH��H�M��)1��I�FpL9����H���H���H+�H��H��rH�I�H���H�IA�H�U����XH���H���H+�H��H��rH�I �H����H�IA�H�U��ә�xL�}�L�e�D�}�L�
y� E�ǺH�M��h4���L�d$hH�D$`�i� �D$P�e� �D$XD�|$\L�}�L�e�D�|$pL�
�� E�Ǻ@H�L$p�4���H�H��H�@�E9 L���D$@�D$8D�|$0H�E�H�D$(�\$ L�L$P�[H�L$p��H�U�H��r
H��H�L$p��/��L�}�L�e�D�|$pH�T$hH��r
H��H�L$P�/��L�|$`L�d$hD�|$PH�U�H��rH��H�M��z/��L�}�L�e�D�}�L�
� E�ǺH�M��F3���L�d$hH�D$`�o� �D$P�k� �D$XD�|$\L�}�L�e�D�|$pL�
f� E�Ǻ@H�L$p��2���H�H��H�@�#8 L���D$@�D$8D�|$0H�E�H�D$(�|$ L�L$P�\H�L$p�j�H�U�H��r
H��H�L$p�.��L�}�L�e�D�|$pH�T$hH��r
H��H�L$P�}.��L�|$`L�d$hD�|$PH�U�H��rH��H�M��X.��I�FpL9���LH���H���H+�H��H��uH�I�H��uH�I(�H���*H�IH�H�@�/7 H���y��H��L�e�L�}�D�}�L�|$`L�d$hD�|$PL�
� E�Ǻ%H�L$P�1���L�}�L�e�D�|$pL�
�� E�Ǻ@H�L$p�1���H;���H�H��H�@��6 L��H�E�H�D$(�\$ L�L$P�bH�L$p覎�H�U�H��r
H��H�L$p�F-��L�}�L�e�D�|$pH�T$hH��r
H��H�L$P�!-��L�|$`L�d$hD�|$PH�U�H��r
H��H�M��,���I��H��@A_A^A\_^[]��1d����+d����%d����d����d���L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��)���H��� H�H�[H��t9����C��u,H�H��H���5 ����C��uH�H��H�@�u5 H��H�\$PH��0_����H�\$H�t$ WH��@H��H��H�L$ �(���H��� H��w��H9��H�� H�H���H��HH�a�H�q��^(���H���H��hH�aH�q��>(���H���H���H�aH�q��(���H���H���H�aH�q��'���H���H���H�aH�q���'��������H��H�\$`H�t$hH��@_�H�� H�L$(�2\��H���IH�L$(�ME�H�\$H�t$WH�� H���H��H��rH���H����*��3�H���@����wH���H���H��rH���H���*��H���H���@���H���H��rH���H���w*��H���H���@���H���H��rH��hH���F*��H��xH���@��hH��`H��rH��HH���*��H��8H��XH��`@��H��A��H�S(H��rH�KH����)��H�s(H�t$8H�{ @�{H�\$0H�� _���@SH�� H�K� H��H���t
�@�^eH��H�� [������@SH�� H�C� H��H���t
��.eH��H�� [������@SH�� H��� H��H���t
���dH��H�� [������H�\$WH�� ��H��������t
��H����dH�\$0H��H�� _�H��(eH�%X�
��L�4H�ȋ
9;�LH���IH��(�H�
&�L�}k�=�L�u�H�
��iH�
�L�j������������H�\$H�t$WH��@I�H��I��I��H��H�@��1 H;�u;H�H��H�@��1 H����s��H;�uAH��H���W��H�\$PH��H�t$XH��@_�H�Ѿ H�L$ �+Y��H���IH�L$ �FB�H�ޘ H�L$ �Y��H���IH�L$ �#B���H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@��0 H;���H�H��H�@��0 H���+s��H;�uML��H�T$PH���f�H�H� H�H�L$PH��tH��H���0 H�\$XH��H�t$hH�l$`H��@_�H�� H�L$ �@X��H���IH�L$ �[A�H�� H�L$ �X��H���IH�L$ �8A��������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@��/ H;���L��H�L$ H�����H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H���/ ����C�uH�H��H�@�~/ H�\$`H��H�l$hH�t$pH��P_�H�g� H�L$0�9W��H���IH�L$0�T@����H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0���H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H���. ����C�uH�H��H�@��. �H�L$(H��t=����A�u2H�\$(H�H��H��h. ����C�uH�L$(H�H�@�K. �H�_H��t5����C�u*H�H��H��'. ����C�uH�H��H�@�. H��L�\$`I�[I�kI�s I��_�H�4� H�L$@��U��H�C�IH�L$@��>�H�\$H�t$WH��@I�H��I��I��H��H�@��- H;�u8H�H��H�@��- H���o��H;�u>H��H����H�\$PH�t$XH��@_�H�,� H�L$ �>U��H���IH�L$ �Y>�H�� H�L$ �U��H���IH�L$ �6>������H�\$H�t$WH��@I�H��I��I��H��H�@��, H;�u8H�H��H�@��, H���Go��H;�u>H��H�����H�\$PH�t$XH��@_�H�|� H�L$ �T��H��IH�L$ �=�H�A� H�L$ �kT��H��IH�L$ �=��H�\$WH�� H�YH��t�CH�YH�AH���@��H��t9����C��u,H�H��H��(, ����S��uH�H��H�B�, H�\$0@��H�� _��������������H�\$WH��PH��I9��I���N�H�T$`H�D$`H�L$ �.�H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H���+ ����C��uH�H��H�@�d+ H�\$hH��H��P_�H�׹ H�L$0�)S��H���IH�L$0�D<����H��H�XH�HWH��H��M��D��H�T$ H�H �$���	H�T$ H���@��H����H;8t5H�c8H�OpH��tH�H��H���* H�C8H��H��$�H�Ġ_�H�� H�L$8���H��H�
�
J�9��L��H��H�L$X����L��� H��H�L$x�m���H��H�L$ �5��H���IH�L$ �^;��������������H�\$H�|$ H�T$UH��H��0H��H���e�W�3�H�BH!H!BH!B�E�H9�XtMH9�xtDH��HH�EL�E3�H��芫��H��hH�EH�SH;St
H�H�C�L�EH���_���H���t`H���tVH���H�EH�SH;St
H�H�C�L�EH��� ���H�SH���H�EH;St
H�H�C�L�EH�����H���t+H���H�}H�SH;St
H�:H�C�L�EH�����H��H�\$PH�|$XH��0]��H��(�
��LeH�%X�4H�ȋ
9�LH��LH��(�H�
�L�Ib�=��L�u�W���L�x��ZH�H�@H�@f�@H���LH�
���W`�H�
��L�a���������H�\$H�t$WH��@I�H��I��I��H��H�@�8( H;�u^H�H��H�@�#( H���j��H;�uH��H���[H�\$PH��H�t$XH��@_�H��� H�L$ ��O��H�H�IH�L$ ��8�H�� H�L$ �O��H�%�IH�L$ ��8���H�\$H�t$ UWAUAVAWH��$����H��`H��IH3�H��PH��H��H�L$(H�����3�A��H��P��J�H��P�����3�D�BHH���JH��� H��W��D$PL�D$ H�T$PH���h���H���k��A�E�}�E3����4H�EH�D$(H���H���H+�H��H���BH�IH�H�@��& L�uL�u H��H�M�Y9���L�l$HL�|$@�P� �D$0�I� f�D$4�@� �D$6D�t$7L�EH�T$0H����������H�E(H�D$(H���H���H+�H��H����H�IH�H�@�& L�u8L�u@H��H�M(�8���L�l$pH�D$h��� �D$X��� f�D$`��� �D$bD�t$cL�E(H�T$XH���R��H����j�����H�EHH�D$(H���H���H+�H��H��rH�I�H����H�IH�H�@�]% L�uXL�u`H��H�MH�	8���L�m�H�]�H�scale_idH�E�D�u�L�EHH�U�H�����H�EhH�D$(H���H���H+�H��H��rH�I �H���wH�IH�H�@��$ L�uxL���H��H�Mh�y7���L�mH�]�H�shift_idH�E�D�u�L�EhH�U�H���*��H����������H���H�D$(H���H���H+�H��H��uH�I�H��uH�I(�H����H�IH�H�@�&$ L���L���H��H�����6���L�m�L�}���� �D$x��� f�D$|��� �D$~D�t$L���H�T$xH���c��H�_H��t�CH�_H�OH�M�H�]�L�m�L�}���� �E��z� f�E��r� �E�D�u����H�U�H���-����A��H��t9A����CA�u,H�H��H��?# A����CA�uH�H��H�@�"# H���H���H�D$0H���H�i� H���L�D$ H��H����r����L�l$HL�l$@��� �D$0��� �D$8��� f�D$<��� �D$>D�t$?H�T$PH���q�L���H�T$0H��#���H�L$PH��tH��H�@�e" H�T$(H���xq�H�H�E��H��`H��>" �H�L$(H��tH��H�@�!" H��H��h�����H��(H�� H+�H������W�f� L��0H���-"���H����l��H�� H���H����Q>�H��H��PH3��NUL��$`I�[@I�sHI��A_A^A]_]��O����O����O����O����O�������H��HH�xrH�H���H��hH�xrH�H���H���H�xrH�H���H���H�xrH�H���H���H�xrH�H�������������H�\$WH�� H�YH��t�CH�YH�AH��x@��H��t9����C��u,H�H��H���  ����S��uH�H��H�B�o  H�\$0@��H�� _��H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@�  H�����H;�u#L��H��H���XH�\$PH�l$XH�t$`H��@_�H�|� H�L$ �G��H�#�IH�L$ �0�@SH��@H��蒛��H9u	H��H��@[�H��� H�L$ �gG��H��IH�L$ �0��H�\$WH��H���IH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@��
�H�L$xH��tYH�H��H�@� H�H�L$xH��tH�H�T$@H;���H�@ �� H��H��$�H3��RH��$�H�Đ_��0�H�� H�L$(�F��H��IH�L$(�/����@SH��@H�BH9Hu;L��H�L$PH�T$ E3��+���NH�T$ H�����H���9H;��H��@[�H��� H�L$ �(F��H���IH�L$ �C/���@SH��H�BL��H9HuJH�T$@I���~�d$0H��HH�T$(�L$ ��
H�T$ H���3���H���
H;��H��[�H�� H�L$ �E��H� �IH�L$ �.��H��H�XH�hH�p H�HWH�� I��H��H���@��OH��H�D$0H��t,W���C�CH��� H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H���P�HOH��H�D$0H��t)W���C�CH�#� H�H�KH���3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H�����NH��H�D$0H��t,W���C�CH�L� H�H�KL��H���
����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H���^�H�0� H�L�wI�I��H�@�� H��豗��H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H��} ����C�uH�H��H�@�b �H��H�\$XH�t$`H�|$hH��@A^�H�� H�L$ �C��H���IH�L$ �6,��L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��fH��� H�H�[H��t9����C��u,H�H��H��� ����C��uH�H��H�@�� H��H�\$PH��0_����H�\$H�t$WH�� H��I��I��H���"��D��L��H��H���S���H�\$0H��� H�H��H�t$8H�� _���L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S����H�2� H�H�[H��t9����C��u,H�H��H��� ����C��uH�H��H�@�� H��H�\$PH��0_����H�\$WH��@H��H��H�L$ �R���H�J� H��r���H9u<H�^� H�H���H�� H�aH�A�����H��H�\$`H��@_�H��� H�L$(�A��H���IH�L$(�/*���@SH�� H��8H��H��rH�� H������H��0H��8Hǃ8ƃ �'��H�S(H��rH�KH�����H�c H�C(�CH�� [�����@SH�� H��� H��H���t
�@�KH��H�� [������@SH�� H��� H��H���t
�P��JH��H�� [������@SH�� H�3� H��H���t
���JH��H�� [������H�\$WH�� ��H�������t
�@H���zJH�\$0H��H�� _�H��(eH�%X�
y�L�4H�ȋ
9�LH�>�IH��(�H�
�L�-Q�=�L�u�H�
���hOH�
ͯL�P������������H�\$H�t$WH��@I�H��I��I��H��H�@�H H;�u;H�H��H�@�3 H������H;�uAH��H���[=��H�\$PH��H�t$XH��@_�H��� H�L$ ��>��H�X�IH�L$ �'�H��~ H�L$ �>��H�5�IH�L$ ��'���H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@�� H;���H�H��H�@�w H���_���H;�uML��H�T$PH�����H�H� H�H�L$PH��tH��H��5 H�\$XH��H�t$hH�l$`H��@_�H��} H�L$ ��=��H�m�IH�L$ �'�H��� H�L$ ��=��H�J�IH�L$ ��&��������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@�� H;���L��H�L$ H�����H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H��I ����C�uH�H��H�@�. H�\$`H��H�l$hH�t$pH��P_�H�� H�L$0��<��H�f�IH�L$0�&����H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0���H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H��] ����C�uH�H��H�@�B �H�L$(H��t=����A�u2H�\$(H�H��H�� ����C�uH�L$(H�H�@�� �H�_H��t5����C�u*H�H��H��� ����C�uH�H��H�@�� H��L�\$`I�[I�kI�s I��_�H�� H�L$@�v;��H��IH�L$@�$�H�\$H�t$WH��@I�H��I��I��H��H�@�X H;�u8H�H��H�@�C H���+���H;�u>H��H����H�\$PH�t$XH��@_�H�ܠ H�L$ ��:��H�k�IH�L$ �	$�H��z H�L$ ��:��H�H�IH�L$ ��#������H�\$H�t$WH��@I�H��I��I��H��H�@�� H;�u8H�H��H�@�� H���{���H;�u>H��H���K�H�\$PH�t$XH��@_�H�,� H�L$ �>:��H���IH�L$ �Y#�H��y H�L$ �:��H���IH�L$ �6#������H�\$WH��PH��I9��I���R�H�T$`H�D$`H�L$ ���H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H��� ����C��uH�H��H�@�� H�\$hH��H��P_�H�� H�L$0�Y9��H�֐IH�L$0�t"����H��H�XH�HWH��H��M��D��H�T$ H�H ��
���	H�T$ H���p�H����H;8t5H�c8H�OpH��tH�H��H��� H�C8H��H��$�H�Ġ_�H�3� H�L$8�1���H��H�
�I����L��H��H�L$X����L�Ҡ H��H�L$x����H��H�L$ ���H��IH�L$ �!��������������@SH��0D�L$ L�D$0H�T$(3�H�� H�H��H�L$(H�BH��H�BH�T$(�Z
��H��H��0[��H��(�
��LeH�%X�4H�ȋ
9c�LH�J�LH��(�H�
N�L�yI�=B�L�u�W��%�L�x�BH�H�@H�@f�@H��LH�
��G�H�
��L��H���������H�\$H�t$WH��@I�H��I��I��H��H�@�h H;�u^H�H��H�@�S H���;���H;�uH��H���[H�\$PH��H�t$XH��@_�H��v H�L$ �6��H�x�IH�L$ � �H�>� H�L$ ��6��H�U�IH�L$ �����H�\$UVWAVAWH��$����H��pH�F�IH3�H��`H��H��H�L$0W�D$hH�zH��t�GH�zH�BH�D$hH�|$pH�T$0H���]L�0H� L�u�H�L$0H��tH��H�@�N H���H���H+�H��H���&H�Y3�A��H�M`�1�H�M`茮���3�D�BHH�M�l1L�=]� L�}W��D$(L�D$ H�T$(H�M�9����H�E�H�D$8H�H��H�@��
 H�e�H�e�H��H�M��e ����H�\$XH�\$P�]� �D$@�Y� �D$H�R� f�D$L�I� �D$N�D$OL�E�H�T$@H�M���H�E�H�D$8L�}�L�D$!H�UH�M����H�e�H�]��D$xL�
�� E3��SH�L$x�����L�E�H�T$xI�����I���D��H�UpI��H��� H��H�Mx��j���H�U8H�M0H+�H�����W�fE0H�e@H�M ����H����<���H��y H���H����!)�I��SI��H�@�m �H��t5����G�u*H�H��H��M ����W�uH�H��H�B�2 H��H��`H3���?H��$�H��pA_A^_^]��$:������H�� H�yrH�	H�������H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@�� H������H;�u#L��H��H���XH�\$PH�l$XH�t$`H��@_�H�s H�L$ �*3��H���IH�L$ �E�@SH��@H���£��H9u	H��H��@[�H�	� H�L$ ��2��H�h�IH�L$ ���H�\$WH��H�h�IH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@���H�L$xH��tYH�H��H�@��
 H�H�L$xH��tH�H�T$@H;���H�@ �t
 H��H��$�H3��>H��$�H�Đ_��?�H��� H�L$(�2��H���IH�L$(�8����@SH��@H�BH9Hu;L��H�L$PH�T$ E3�����H�T$ H���9�H����H;��H��@[�H�"� H�L$ �1��H�)�IH�L$ �����@SH��H�BL��H9HuJH�T$@I���-j�d$0H��HH�T$(�L$ �|H�T$ H����H���gH;��H��[�H��� H�L$ �'1��H���IH�L$ �B��H��H�XH�hH�p H�HWH�� I��H��H���@�U;H��H�D$0H��t,W���C�CH��� H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H������:H��H�D$0H��t)W���C�CH�'� H�H�KH����3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H�����E:H��H�D$0H��t,W���C�CH�P� H�H�KL��H���
����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H��� J�H�$� H�L�wI�I��H�@�M H�����H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H�� ����C�uH�H��H�@�� �H��H�\$XH�t$`H�|$hH��@A^�H�un H�L$ �.��H��IH�L$ ���L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��QH�� H�H�[H��t9����C��u,H�H��H��B ����C��uH�H��H�@�% H��H�\$PH��0_����H�\$ UVWATAUAVAWH��$���H���H�v�IH3�H���I��H��L��H�MPI�����D��L��H��I���.����H��� I�H���H���H+�H��E3�H���]E�oE��H��`H�	�e��hD�|$ E3�E3�3�H�M��|/��I�~pH���H�M��t:��L��H��`H����V��D�|$ E3�E3�3�H�M��</��I�~pH���H�M��4:��L��H���H����U��I�Fp���L�}�E�gL�e�D�}�L�
�� E��A�W(H�M�����L�d$hH�D$`��� �D$P��� �D$XD�|$\L�}�L�e�D�|$pL�
�� E��A�W<H�L$p�4����H�H��H�@�c L��D�l$@D�|$8�D$0H�E�H�D$(�\$ L�L$PA�WZH�L$p访���H�U�A�_H;�r
H��H�L$p���L�}�L�e�D�|$pH�T$hH;�r
H��H�L$P���L�|$`L�d$hD�|$PH�U�H;�rH��H�M����L�}�L�e�D�}�L�
� E�Ǻ#H�M��g����D�|$ E3�E3�3�H�M��-��L�d$hH�D$`�� �D$P�� f�D$T�� �D$VD�|$WL�}�L�e�D�}�L�
ʩ E�ǺH�M�����L�}�L�e�D�|$pL�
4� E�Ǻ<H�L$p�����H�H��H�@� L��H�E�H�D$8H�E�H�D$0H�D$PH�D$(H��`H�D$ L�M��_H�L$p��g�H�U�H;�r
H��H�L$p�|���L�}�L�e�D�|$pH�U�H;�rH��H�M��Z���L�}�L�e�D�}�H�T$hH;�r
H��H�L$P�7���L�|$`L�d$hD�|$PH�U�H;�rH��H�M�����L�}�L�e�D�}�L�
�� E�Ǻ#H�M������D�|$ E3�E3�3�H�M��$,��L�d$hH�D$`�l� �D$P�e� f�D$T�\� �D$VD�|$WL�}�L�e�D�|$pL�
Y� E�ǺH�L$p�o����L�}�L�e�D�}�L�
�� E�Ǻ<H�M��J����H�H��H�@�y L��H�E�H�D$8H�E�H�D$0H�D$PH�D$(H���H�D$ L�L$p�aH�M��_f�H�U�H;�rH��H�M����L�}�L�e�D�}�H�U�H;�r
H��H�L$p����L�}�L�e�D�|$pH�T$hH;�r
H��H�L$P���L�|$`L�d$hD�|$PH�U�H;�rH��H�M����A;���L�}�L�e�D�}�L�
_� E�ǿB��H�M��L����L�d$hD�o�L�l$`�}� �D$P�x� f�D$X�o� �D$ZD�|$[L�}�L�e�D�|$pL�
�� E�ǍW�H�L$p���L�}�L�e�D�}�L�
,� E�ǍW�H�M������H�H��H�@���L��H�E�H�D$8H��pH�D$0H�D$PH�D$(H��`H�D$ L�L$p�W$H�M��	`�H�U�H;�rH��H�M��w���L�}�L�e�D�}�H�U�H;�r
H��H�L$p�U���L�}�L�e�D�|$pH�T$hH;�r
H��H�L$P�1���L�|$`L�d$hD�|$PH�U�H;�rH��H�M��
���L�}�L�e�D�}�L�
� E��H��H�M������L�d$hL�l$`�� �D$P�� f�D$X�� �D$ZD�|$[L�}�L�e�D�|$pL�
k� E�ǺH�L$p����L�}�L�e�D�}�L�
�� E�Ǻ<H�M��\����H�H��H�@���L��H�E�H�D$8H��pH�D$0H�D$PH�D$(H���H�D$ L�L$p�hH�M��^�H�U�H;�rH��H�M�����L�}�L�e�D�}�H�U�H;�r
H��H�L$p���L�}�L�e�D�|$pH�T$hH;�r
H��H�L$P��L�|$`L�d$hD�|$P�bA�A;��iH��0H���A�QH���H��0H���L���H��4H��L��H��8H��E�AL��H��DH�� L��((��)�0(��)�@H�E H�E�H�U�H�E H�E�L�m�H�E$H�E�L�m�H�E(H�EL�EH�E4H�EL�Mfo�e E E0I�ϋD
 )�
0H��H�� r�H�E H�E�H�U�H�E H�E�L�m�H�E$H�E�L�m�H�E(H�EL�EH�E4H�EL�MW�E E0L�E�H���H�M`��&��H���H;�tH�PPA� H��0�L�}�L�e�D�}�L�
j� E�ǿF��H�M�����L�d$hL�d$`��� �D$P��� �D$X��� f�D$\�x� �D$^D�|$_L�}�L�e�D�|$pL�
e� E�ǍW�H�L$p����L�}�L�e�D�}�L�
ѡ E��D�o�A��H�M��n����H�H��H�@���L��H�E�H�D$8H���H�D$0H�D$PH�D$(H��`H�D$ L�L$p�W+H�M��[�H�U�H;�rH��H�M���L�}�L�e�D�}�H�U�H;�r
H��H�L$p��L�}�L�e�D�|$pH�T$hH;�r
H��H�L$P���L�|$`L�d$hD�|$PH�U�H;�rH��H�M���L�}�L�e�D�}�L�
� E��H��H�M��|����L�d$hL�d$`�� �D$P�
� �D$X�� f�D$\��� �D$^D�|$_L�}�L�e�D�|$pL�
� E�ǺH�L$p�����L�}�L�e�D�}�L�
T� E��I��H�M���H�H��H�@�$�L��H�E�H�D$8H���H�D$0H�D$PH�D$(H���H�D$ L�L$p�sH�M��/Z�H�U�H;�rH��H�M���L�}�L�e�D�}�H�U�H;�r
H��H�L$p�{�L�}�L�e�D�|$pH�T$hH;�r
H��H�L$P�W�L�|$`L�d$hD�|$PH�U�H;�r
H��H�M��3�I��H���H3��-H��$HH���A_A^A]A\_^]��P'������H�\$H�T$WH��0H��H��W��D$ L�JM��t	�A�AL�JH�H�D$ L�L$(H�T$ �=�H�~� H�Ƈ�H�[H��t9����C��u,H�H��H��������C��uH�H��H�@���H��H�\$PH��0_�H�\$H�|$ ATH��@H��H��H�L$ �$��H�,r H���H9�NH�<r H�H���H���Hǃ�H���A�L���H���H���L���H���H���Hǃ�H��H���Hǃ�W�AH���E�D$�H��hH��Hǃ H��(L��0H��lH��8L��@H��pH��HHǃPH��|H��XHǃ`W�AH��E�D$���0�����4���H��H�\$`H�|$hH��@A\�H��� H�L$(����H�MvIH�L$(�������������@SH�� H�k� H��H���t
�@�>)H��H�� [������@SH�� H�� H��H���t
���)H��H�� [��H��(eH�%X�
�L�4H�ȋ
9��LH�ްIH��(�H�
��L��/�=��L�u�H�
���.H�
}�L�D/����H�\$H�t$WH��@I�H��I��I��H��H�@��H;�u;H�H��H�@��H���g���H;�uAH��H���[H�\$PH��H�t$XH��@_�H�!� H�L$ �{��H��tIH�L$ ��H�.] H�L$ �X��H��tIH�L$ �s���H�\$UVWATAUAVAWH��$����H��@H�·IH3�H��0H��L��H���H���H+�H��H����A�H���H�	�TW�D$0L�cM��t
�A�D$L�cH�{H�|$0L�d$8�d$ E3�E3�3�H�L$@����H��@H�L$@��)��L��H�U�H����nE��3ɋD
�
H��H�� r�d$ E3�E3�3�H�M@���H���H�M@�)��L��H���H���E��3ɋ�
�
H��H�� r�H���D�8H���D�0H����8�XH������H��\$ D��E��A��H��@���L��H�t$ D���H���I������M��t>�����A�D$�u.I�$I��H�������A�T$�uI�$I��H�B��I��H��0H3��'H��$�H��@A_A^A]A\_^]��m!���������������H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@��H;���H�H��H�@���H��苋��H;�uML��H�T$PH�����H�H� H�H�L$PH��tH��H����H�\$XH��H�t$hH�l$`H��@_�H�FZ H�L$ �p��H��qIH�L$ ��H�;� H�L$ �M��H��qIH�L$ �h��������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@� �H;���L��H�L$ H�����H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H��������C�uH�H��H�@���H�\$`H��H�l$hH�t$pH��P_�H�� H�L$0�i��H��pIH�L$0�����H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0���H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H��������C�uH�H��H�@����H�L$(H��t=����A�u2H�\$(H�H��H��������C�uH�L$(H�H�@�{��H�_H��t5����C�u*H�H��H��W�����C�uH�H��H�@�<�H��L�\$`I�[I�kI�s I��_�H�d~ H�L$@���H�soIH�L$@��H�\$H�t$WH��@I�H��I��I��H��H�@���H;�u8H�H��H�@���H���W���H;�u>H��H����H�\$PH�t$XH��@_�H�\} H�L$ �n��H��nIH�L$ ��H�!W H�L$ �K��H��nIH�L$ �f������H�\$H�t$WH��@I�H��I��I��H��H�@�(�H;�u8H�H��H�@��H��觇��H;�u>H��H���G�H�\$PH�t$XH��@_�H��| H�L$ ���H�;nIH�L$ ���H�qV H�L$ ���H�nIH�L$ �������H�\$WH��PH��I9��I���N�H�T$`H�D$`H�L$ ���H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H��1�����C��uH�H��H�@��H�\$hH��H��P_�H��| H�L$0����H�VmIH�L$0������H��H�XH�HWH��H��M��D��H�T$ H�H �f��H�T$ H������H���H;8t5H�c8H�OpH��tH�H��H��z�H�C8H��H��$�H�Ġ_�H��} H�L$8���H��H�
AJ�f���L��H��H�L$X�2��L�R} H��H�L$x���H��H�L$ �?���H�`mIH�L$ ����H��(�
��LeH�%X�4H�ȋ
9O�LH�6�LH��(�H�
:�L�M&�=.�L�u�W���L�x��H�H�@H�@f�@H��LH�
0��[$�H�
�L�%�������������H�\$H�t$WH��@I�H��I��I��H��H�@�8�H;�u^H�H��H�@�#�H��跄��H;�uH��H���[H�\$PH��H�t$XH��@_�H��S H�L$ ����H�HkIH�L$ ���H�y H�L$ ���H�%kIH�L$ �����H�\$UVWATAUAVAWH��$����H��@H��IH3�H��0L��L��H�L$HW�E�H�rE3�H��t�FH�rH�zH�}�H�u�D�l$ E3�E3�3�H����Q��H���H����J ��L��H��0H�����;��D�l$ E3�E3�3�H��@���H��@H��@� ��L��H���H���;�����Z�H������L�5� �����t*��t��t��u"L�5ߏ �L�5� �L�5Տ �L�5�� H�T$HI���9H�8L�(H�}(H�L$HH��tH��H�@�=�3�D�BHH����
L�=�t L���W��D$@L�D$0H�T$@H����b���H�ExH�D$PH�UxH��0�0���L��H�D$pH�D$h�?� �D$X�;� �D$`�4� f�D$dD�l$fH�T$XH����5��H���H�D$PH���H������H��L�m�H�ED�m�L�
� E�źH�M����L��H�U�H�������H�E��H�]���� �D$x��� f�E���� �E�D�m�M��H�T$xH����`Z��H�EH�D$8L�mL�m H���H�M����D�sL�u�H�E��b� �E��_� �E�D�m�L�EH�U�H����,��H�E0H�D$8L�}0L�D$1H���H�M8����L�u�H�]��� �E��� f�E��
� �E�D�m�L�E0H�U�H���H�3�A��H��0�D�s�A��H��0腈���H���D��H��@H��H����I��H��H��E���H����l����H�U H���H����Q�H��H��H+�H���f��W�f�L��H�������H�A��H��H�@�d��H���H��rH��H������L���HDž�D���H��t5����F�u*H�H��H�������V�uH�H��H�B���I��H��0H3��H��$�H��@A_A^A]A\_^]��������H�\$WH��@H��H�L$ H�
� )t$0fH~�(��yH�cH��Hc�H�C�H��wL��H�{3���	�;�E3�E3�H���k��H�{H��rH�H�W(�fI~�L��� ��S��(t$0H��H�\$`H��@_����H��H�HH�PL�@L�H SWH��8H��H�x�S��H�|$(L��H�d$ E3�3�H�H���������H�H��8_[��H�\$H�t$WH��0I��I��H��H�L$ H�H�a� ��H��H�F�f�AH�FH�8H�NH�yH�NH�y3�H�N�DH��H��|�H��H�\$HH�t$PH��0_��H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@���H���?a��H;�u#L��H��H���H�\$PH�l$XH�t$`H��@_�H�hL H�L$ ���H�dIH�L$ ��H��tyH�\$H�t$ WH�� 3�H��������H��H;�wWH�<H��r
H������
H��tH���H��H�H�L��H�F3�H���H�H�\$@H�FH�t$HH�� _��h�������H�\$H�t$WH��P�d$8H��H�	H��H��H�AH�D$0�xu/E�H�D$0fD9Hs�d$8H�@�H���D$8H��xtՀzu�BfA9r	H��C�bH��������H9GteM��H��L��H�L$ ���H�pH�`H�L$(H��t
� �-��D$0L��H�T$0H���D$0���H��CH�t$hH��H�\$`H��P_��S�����@SVWH�� A�xI��H��H��u%L�CH��H������H�˺ H�����{t�H�� _^[����@SH��@H���"_��H9u	H��H��@[�H��r H�L$ �
��H�bIH�L$ ����H�\$WH��H��IH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@��H�L$xH��tYH�H��H�@�=�H�H�L$xH��tH�H�T$@H;���H�@ ��H��H��$�H3��H��$�H�Đ_�����H�7q H�L$(�	��H�>aIH�L$(�������@SH��@H�BH9Hu;L��H�L$PH�T$ E3��S����H�T$ H���ݸ��H���H;��H��@[�H��p H�L$ �P	��H��`IH�L$ �k����@SH��H�BL��H9HuJH�T$@I����A�d$0H��HH�T$(�L$ �@H�T$ H���[���H���+H;��H��[�H�Ap H�L$ ����H�H`IH�L$ �����H��H�XH�hH�p H�HWH�� I��H��H���@�H��H�D$0H��t,W���C�CH�̋ H�H�KL��H���&����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H����pH��H�D$0H��t)W���C�CH�k� H�H�KH���3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H������H��H�D$0H��t,W���C�CH��� H�H�KL��H���F����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H����!�H�p� H�L�wI�I��H�@���H���A[��H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H��������C�uH�H��H�@����H��H�\$XH�t$`H�|$hH��@A^�H�F H�L$ �C��H��]IH�L$ �^���L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��A)H�6� H�H�[H��t9����C��u,H�H��H��������C��uH�H��H�@���H��H�\$PH��0_����H�\$ UVWATAUAVAWH��$���H��0H��IH3�H�� I��H��L��H�M@H���I����D��L��H��I���'����H�Ӆ I�$H���H���H+�H��E3�H����	A�H���H�	� =M�l$pI��hL�mHW�H�����M�H�����M�H����A�E���E���L��D�L$@L�E�H�U�H������W�D�}����L���L�E�A�WH�������W����A�O ��H�H�@H�@f�@H���H�^H��t�CH�^L�vH��t8������C�u*H�H��H��(�����C�uH�H��H�@�
�I���I+��H�M��L�}��L��D�S�I;���E3�L�l$xH�]�D�l$hL�
� E�ōSCH�L$h�t���L�l$XH�\$`D�l$HL�
� E�ōS0H�L$H�M���H�H��H�@�|�L��L�L$h�SJH�L$H��2�H�T$`H��r
H��H�L$H���L�l$XH�\$`D�l$HH�U�H��r
H��H�L$h���A��H���'E3�I��I���I���H��H+�H�H;��@A�fD9Z��L�l$xL�e�D�l$hL�
�� E��A�T$QH�L$h�y���L�l$XL�d$`D�l$HL�
"� E��A�T$0H�L$H�P���H�H��H�@��L��L�L$hA�T$PH�L$H��1�H�T$`H��r
H��H�L$H���L�l$XL�d$`D�l$HH�U�H��r
H��H�L$h���I���I���H+�H�H;��[H���H�AD8huD�ZfD9@sH�@�H��H�D8ht�D8iu
�Af9ZsH���H;����L�l$xL�e�D�l$hL�
ԃ E�źWH�L$h�R���L�l$XL�d$`D�l$HL�
�� E�ź?H�L$H�)���H�H��H�@�X�L��L�L$h�cH�L$H��0�H�T$`H��r
H��H�L$H���L�l$XL�d$`D�l$HH�U�H��r
H��H�L$h����I���I���H+�H�H;��4L�YH�U�H�����H��H;�A������L��M+�I��I��L���HDž�D�mpL�
� E�źH�Mp�@����H�E8L�m0D�m L�m�H�E�D�m�L�
ہ E�ōP0H�M�����H��H�MP�oe���L�EPH�ӂ H�����N��L��L;��|H�H��H�@��L��H�EpH�D$8�D$0H�E H�D$(A���D$ M�ͺiH�M��L���H���H��rH��H������E3�L���HDž�D���H�UhH��rH��H�MP�V��L�m`H�EhD�mPH�U�H��rH��H�M��0��L�m�H�E�D�m�H�U8H��rH��H�M �
��L�m0H�E8D�m H���H��rH��H�Mp����H��H;��W���L�e@L�M�L�mH�D�S�3�M���I�����H;���H��I;�u�H��I+�H��H;��H���H���H+�H��H;���A��H�lj�H��I;�r�H���H���H+�H��H����H�����A�D$ D�ID�A�H�� �X��3�H���H���@���L�
ހ D�ǍW3H��������H�]�H�E��� �E��� f�EȊ� �E�@�}�H�]�H�]��Ҁ �E��π �E��ɀ f�E���� �E�@�}�H�}H�]@�}L�
 D�ǍW?H�M�B���H�H��H�@�q�L��H���H�D$8H�� H�D$0H�E�H�D$(L�l$ L�M��W|H�M�D?�H�UH��rH��H�M����H�}H�]@�}H�U�H��rH��H�M�����H�}�H�]�@�}�H�U�H��rH��H�M����H�}�H�]�@�}�H���H��rH��H�������H���H�Y@8{u4L�CH���H����l�H��H�� �L��@8{t�H���� �5���H���H��t%H���H+�H�����W����H���M��tH��I+�H��I�������I��H�� H3��H��$�H��0A_A^A]A\_^]�H��I+�H��I;�v,H���H���H+�H��H;�vC��I���$����������������������H�\$H�T$WH��0H��H��W��D$ L�JM��t	�A�AL�JH�H�D$ L�L$(H�T$ ����H��{ H�Ƈ�H�[H��t9����C��u,H�H��H�������C��uH�H��H�@���H��H�\$PH��0_�H�\$WH��@H��H��H�L$ ����H��z H��O��H9��H��z H�H���H��hHǃpH��x�H���H���H���H���H���H���Hǃ�H���H���Hǃ�W�AH���A� ��H���H����!�H��H�\$`H��@_�H��` H�L$(����H�RQIH�L$(�������H��(H�IH��t
� ���H��(�H�\$WH�� H��H�	H�Y�{u(L�CH��H���w�H�˺ H��W���{t�H�� H�\$8H�� _�:����@SH�� H��H���H��t-H���H+�H�H����H���H���H���H��8����H�S(H��rH�KH������H�c H�C(�CH�� [��H�\$H�L$VWAVH����H��3ۉ�$�H��H�L$@�c����8\$H��H�Hc@H�D8@H�HH�L$XH�H�@����H�L$P��k��L��H�L$XH��t(H�H�B�i�L��H��tH�H��SI��O��H�LcHL�I�AH�D$PH�D$XA�QX(D$PfD$PI��t$(�T$ L�D$PH�T$`I��H�@@��A��|$`AEى�$��H��$���$�A�H�Lc@L�A�H�I�@HH����A#�у�A�PA�@#�uO�L���uH�L$@�R����H�T$@H�HcHH�LHH��tH�H�@�r��H��H��$�H�ĠA^_^�A��t	H��< ��H��< H��< HDغH�L$`����L��H��H�L$p豆��H��OIH�L$p����������@SH�� H�;z H��H���t
�@�nH��H�� [������@SH�� H�3z H��H���t
��>H��H�� [������@SH�� H��y H��H���t
���H��H�� [������H�\$WH�� H�ً�H��8�
��H�S(H��rH�KH�����H�c H�C(�C@��t
�hH���H��H�\$0H�� _��������������H�\$WH�� ��H�������t
��H���jH�\$0H��H�� _�H��(eH�%X�
i�L�4H�ȋ
9#fLH�>�IH��(�H�
fL��=fL�u�H�
m��XH�
�eL�������������H�\$H�t$WH��@I�H��I��I��H��H�@�8�H;�u;H�H��H�@�#�H���sI��H;�uAH��H���[H�\$PH��H�t$XH��@_�H�qZ H�L$ ���H�HLIH�L$ ����H�~4 H�L$ ��H�%LIH�L$ ������H�\$UVWH��$����H��@H��IH3�H��0H��H��H���H���H+�H��H���;A�H���H�	�V,W�D$0H�_H��t�CH�_H�WH�T$0H�\$8H�E�H�D$@H�D$HH�E�H�D$PH�D$XH�E�H�D$`H�D$hH�E�H�D$pH�D$xH�E�H�E�H�E�E�E�H�¸A� H�M���H�M��<��H�D$ L�L$@D���H���H�������H��t8������C�u*H�H��H��i�����S�uH�H��H�B�N�H��H��0H3���H��$pH��@_^]��D�������H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@���H;���H�H��H�@���H���'G��H;�uML��H�T$PH���"�H�H� H�H�L$PH��tH��H����H�\$XH��H�t$hH�l$`H��@_�H�&2 H�L$ �P�H��IIH�L$ �k��H�X H�L$ �-�H��IIH�L$ �H���������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@��H;���L��H�L$ H���#�H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H��������C�uH�H��H�@���H�\$`H��H�l$hH�t$pH��P_�H�wW H�L$0�I�H��HIH�L$0�d�����H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0�'�H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H��������C�uH�H��H�@����H�L$(H��t=����A�u2H�\$(H�H��H��x�����C�uH�L$(H�H�@�[��H�_H��t5����C�u*H�H��H��7�����C�uH�H��H�@��H��L�\$`I�[I�kI�s I��_�H�DV H�L$@���H�SGIH�L$@����H�\$H�t$WH��@I�H��I��I��H��H�@���H;�u8H�H��H�@���H����C��H;�u>H��H�����H�\$PH�t$XH��@_�H�<U H�L$ �N�H��FIH�L$ �i��H�/ H�L$ �+�H��FIH�L$ �F�������H�\$H�t$WH��@I�H��I��I��H��H�@��H;�u8H�H��H�@���H���CC��H;�u>H��H����H�\$PH�t$XH��@_�H��T H�L$ ��H�FIH�L$ ���H�Q. H�L$ �{�H��EIH�L$ ��������H�\$WH��PH��I9��I����H�T$`H�D$`H�L$ �
�H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H�������C��uH�H��H�@���H�\$hH��H��P_�H�gT H�L$0��H�6EIH�L$0�������H��H�XH�HWH��H��M��D��H�T$ H�H �F����H�T$ H���М��H���H;8t5H�c8H�OpH��tH�H��H��Z�H�C8H��H��$�H�Ġ_�H��U H�L$8葰��H��H�
��I�F��L��H��H�L$X�����L�2U H��H�L$x����H��H�L$ ���H�@EIH�L$ �����H��(�
��LeH�%X�4H�ȋ
9G]LH�.]LH��(�H�
2]L�-��=&]L�u�W��	]L�x��H�H�@H�@f�@H��\LH�
`��;��H�
�\L�~��������������H�\$H�t$WH��@I�H��I��I��H��H�@��H;�u^H�H��H�@��H���S@��H;�uH��H���[H�\$PH��H�t$XH��@_�H��+ H�L$ ��H�(CIH�L$ ����H��P H�L$ ��H�CIH�L$ �����H�\$UVWATAUAVAWH��$ ���H���H��IH3�H���H��L��H�L$8W�E�H�ZH��t�CH�ZH�zH�}�H�]�H�T$8H���DL�8H� L�}�H�L$8H��tH��H�@���H���H���H+�H��H����L�)��D��3�H����6��H����5c���D��3�H������H����c���3�H���H���H��H+�H�tsH+�H�H;��q�rH����k�H���H+��H�H��H�
l. H�]Y H;�HD�H����20��H��H���H���H��H+�H�H;�r�3�D�BHH����a�H�RL H���W��D$0L�D$(H�T$0H����(����H�E�H�D$ I�EI��H�@���E3�L�m�L�m�H��H�M��R���A�uH�u�H�E�H�input idH�E�D�m�L�E�H�U�H������H�E`H�D$ H�U`H��h�u��L��H�t$XH�t$P�j �D$@�j �D$H�
j f�D$L�j �D$ND�l$OH�T$@H���葝��H�E�H�D$ H�U�H��������H�t$x�~�H�|$p��i �D$`��i �D$h��i f�D$lD�l$nL�E�H�T$`H����,���H�EH�D$ H��J H�EL�D$)H���H�M ���H�u�H�}��Zi �E��Wi �E��Qi f�E�D�m�L�EH�U�I���A���I���D��H���I��H��	�I��H��������H���H���H+�H��诶��W�f��L���H��������H��h�T����H�=- H��hH��h�9��H��h�,����H��hH��h���I��VI��H�@�d��H��t5����C�u*H�H��H��D�����S�uH�H��H�B�)�I��H���H3����H��$0H���A_A^A]A\_^]�������H�\$H�t$WH�� 3�L�D$8W�3�H�AH��H�RH��H�H�YH�Y���H9^vH�H��Xf�YH��H;^r�H�\$0H��H�t$@H�� _�����L��H��XH�����I�C�H�����I�C�H���I�C�H���I�C�(D$(L$ ��������H���H���H+�H�$H�H�L$$���H��X����H�\$VWAVH��0I��I��L��H�L$ H�H�a�P��I�FH�X H�cH�cH��H���^��H�c H�c(H�G H�C H�G(H�C(H�g H�g(I�FH�0I�FH�pI�NH�q3�I�N�DH��H��|�I��H�\$XH��0A^_^���H��H�XH�hH�p WH��0I��H��H�H�H�`��P�_�H��H�D$(H�`0H�`8H��H�H ���H�c@H�cHH�E(H��t�@H�E H�C@H�E(H�CHH�3H�sH�sf�cH��H�\$@H�l$HH�t$XH��0_���@SH�� H��H�L$0��jH�
>i H���C��P�K�SH�� [��@SH��PH��H�L$ �k�H��H����H�T$@H��r
H��H�L$(���H�Qi H�H��P[�H�\$WH�� H��E��H�H��L�H�R�rL�E3�I�@H�H�CH�GL�BE8Hu;I�D8IuH�L��H��D8Ht�L�H�H�BH�H�H��H�ID8It�H�B�
H�H�H�@H�\$0H�� _����H�\$H�L$VWATAVAWH�� A��M��L��L��H�1�zuQL�B H������H��L�`A�G�G�~HE�H�t$XD��L��I�I�����H�D��L��I�WI�����H�GH��H�\$`H�� A_A^A\_^����H��H�XH�hH�pWH��pH��)p�H�P�I��H���
���@0�D$PH�t$P�~uH�V H���}����uH�3�C�pH�3333333H9Gt~L�H�L$ L��H�����H�pH�`H�L$(H��tH�� �V|��H�L$(H��t
�P����L��H�T$@H���t$@���H��C(t$`L�\$pI�kH��I�[I�s I��_��2�����L�D$H�L$SVWATAUAVAWH��0L��H��L��L+9I��H�AH+H��I��������I;��>L�hH�IH+H��H��H��I��H+�H;�vL�L$xH������-H�
M��I;�LC�M;���J�4�L�t$xH��rH��薯��H��L��$��!H��tH����H��L��$��3�L�t$xH��$�N�4�M�~L�|$(I�I�H��t�@L�t$ H�SH�L;�uL���L��L��I���H�|$ H�SI��L��M�����H�H��tL��H�S�,?��H�SH+H��H��q���H�;J��H�KH�>H�KI��H��0A_A^A]A\_^[�������������H�L$SVWATAUAVAWH��@M��L��L��L��L+9H�AH+H��H��������H;��FL�@L�D$(H�II+H��H��H��H��H+�H;�vH��$�H����2H�
I��I;�HC�H;���H��H��H��H��$�H��r���H��H��$��)H��t��H��H��$��
3�H��$�H��$�I���I�4L�~ L�|$0H�fH�fA$AL$NI�d$I�D$A�$H�t$ I�VI�L;�uL���M��L��I����D��H�\$ I�VI��M��M����D���L��L�D$(H��I������H��H��@A_A^A]A\_^[��0�����������������H�L$SVWATAUAVAWH��@M��L��L��L��L+9H�AH+H��H��������H;��8L�@L�D$(H�II+H��H��H��H��H+�H;�vH��$�H���2H�
I��I;�HC�H;���H��H��H��H��$�H��r�b���H��H��$��)H��t�[�H��H��$��
3�H��$�H��$�I���I�4L�~L�|$0H�&H�fI�EH�I�EH�FI�eI�eH�t$ I�VI�L;�uL���M��L��I���@��H�\$ I�VI��M��M���@���L��L�D$(H��I���C��H��H��@A_A^A]A\_^[������\������H�\$UVWH�� H��H��H�	H�y�u4L�GH��H���:9��H��H�?H�K �w���PH���Ϋ���t�H��PH�\$PH�� _^]鯫�����@SH�� I���L�L�H��H�!H��H;�u�M��H��H���$;��H��H�� [����L�D$�L$SWH��hI��H�T$ H�\$PH��t�"I�I8H��tvH�H�@�f���H�K8H��tH�H;��€�H�@ �D�H�c8���4H��$��8H�\$PH�K8H��tL�H;���I�@ ��H�c8��H��h_[����������L�D$�L$SWH��hI��H�T$ H�\$PH��t�"I�I8H��trH�H�@�����H�K8H��tH�H;��€�H�@ ���H�c8���2H��$��8H�\$PH�K8H��tL�H;���I�@ �e�H�c8��H��h_[����D�����H��L�@�HSH��p)p�I��H�T$ H�X�H��t�"I�I8H��t{H�H�@��(�H�K8H��tH�H;��€�H�@ ��H�c8(��5H��$��0H�\$PH�K8H��tH�H;���H�@ ���H�c8(�(t$`H��p[��������L�D$�L$SWH��hI��H�T$ H�\$PH��t�"I�I8H��tvH�H�@�^�H��H�K8H��tH�H;��€�H�@ �<�H�c8H���4H��$�H�8H�\$PH�K8H��tL�H;���I�@ ��H�c8H��H��h_[����������L�L$ �T$H�L$SWH���H��L�D$ H��$H�|$PM��tA� H�O8H��� H�H��$�H�@���(�$�D$X(�$�L$h(�$�T$x(�$�\$(H�O8H��t/H�H;��€�H�@ �B�H�g8D$XL$hT$x\$(KS [0H���|H��$D$(HL$xP T$hX0\$XH�\$PH�K8H��t,H�H;���H�@ �ɰH�c8D$(L$xT$h\$XH��$�HP X0H���_[��u����y������L�L$ �T$H�L$SVWH�� H��L�D$ H��$`H�\$PM��tA� H�K8H���wH�H��$@H�@�(�H�L$`H��$@HI@ A H0I0@@A@HPIP@`A`��H�@pA�H�	@AH I @0A0H@I@H�@PH�APH�K8H��tH�H;��€�H�@ ���H�c8H�D$`HN@ F H0N0@@F@HPNP@`F`H�7HpI�H�HI@ A H0I0@@A@H�@PH�APH���*H��$XH�L$`HI@ A H0I0@@A@HPIP@`A`��H�@pA�H�	@AH I @0A0H@I@H�@PH�APH�\$PH�K8H��tH�H;���H�@ �[�H�c8H��$@H�L$`IHA @ I0H0A@@@IPHPA`@`H�IpJ�H�IJA B I0J0A@B@H�IPH�JPH�� _^[�����赿�����H��L�H �PH�HSWH��)p�H��L�D$ H��$�H�X�M��tA� H�K8H����H�H�T$0H�@�e�(t$0H�K8H��tH�H;��€�H�@ �A�H�c8�7H���=H��$�0H�\$XH�K8H��tH�H;���H�@ ��H�c8H��$��0(t$pH�Ĉ_[���Ծ����L�D$�L$SWH��hI��H�T$ H�\$PH��t�"I�I8H��tvH�H�@���@��H�K8H��tH�H;��€�H�@ ���H�c8@���4H��$�@�8H�\$PH�K8H��tL�H;���I�@ �J�H�c8@��H��h_[����(�����H�\$WH�� H��H��� �f�H�D$0L��H��t2W��A�@A�@H�! I�H�5 I�@H�GI�@�E3�I�@W�H�H��L�CH�\$8H�� _��H�\$WH�� H��H��� ���H�D$0L��H��t2W��A�@A�@H��* I�H�a* I�@H�GI�@�E3�I�@W�H�H��L�CH�\$8H�� _��H�\$WH�� H��H��� �n�H�D$0L��H��t2W��A�@A�@H�7  I�H�] I�@H�GI�@�E3�I�@W�H�H��L�CH�\$8H�� _��H�\$WH�� H��H��� ���H�D$0L��H��t2W��A�@A�@H��Z I�H�X I�@H�GI�@�E3�I�@W�H�H��L�CH�\$8H�� _��H�\$H�t$H�L$WH�� H��H���8�l�H��H�D$0H��t)W���C�CH��Z H�H�KH����3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H�\$H�t$H�L$WH�� H��H���(���H��H�D$0H��t)W���C�CH�Z H�H�KH������3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H�\$H�t$H�L$WH�� H��H���X�l�H��H�D$0H��t)W���C�CH�_ H�H�KH����3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H�\$H�t$H�L$WH�� H��H���P���H��H�D$0H��t)W���C�CH�7Y H�H�KH�����3�W�H�CH�H�_H��H�\$8H�t$@H�� _�@SH��@H�L$ H��U H�H��H���:H�L$ u'H�R3�H�AH�A�H��t�\���H��H��@[�H��q H�L$(����H�C'IH�L$(���H��H�XH�hH�p H�HWH��@H��H�H��\�H�-� H�.H��H�N�Ū���H�VH�N �7��H�N H�F(H+�H��H�N8H�F@H�L$ H��t%L�D$ H�T$(�g���H�T$0H�L$ H+�H�������H�.H��H�\$XH�l$`H�t$hH��@_���H�\$WH��0H�YH�L$ H�:T H�\$ H�H���H�K�H��H�aH�a褹����L$ H�OH�yrH�	H�\$PH��H�L$(D$ �G0H��0_����H�\$UVWH��@H��H�L$ H�!H�aH�aH�2H�jH��H��H��H�L$(�>ZL��H�SH;St'H�"H�bH�H�I�@H�BI� I�`H�C�	H���b��H�|$0H��t9����G��u,H�H��H�������G��uH�H��H�B��H��H;��f���H��H�\$pH��@_^]��H�\$UVWH��0H��H��H�L$ 3�9*���9j���A9j���AH�RH��H�i�uH�q@�)����H�SH�O(H�iH�q@�)�ʘ���9k ���GHH�S(H�OPH�iH�q@�)記���H�S0H�OpH�iH�q@�)菘����C8f����C:f���9k<�����H�K@H���H�SHH���H�iH�q@�)�F����H��H�\$`H��0_^]��H�\$H�l$VWAVH��0L��H�L$ H�D$pH�\$xH��$�H��$�H��$��D�AD�IH��H�aH�aH���8����I�N(H�aH�aH���!������$�A�FHI�NPH�aH�aH������I�NpH�aH�aH��������$�fA�����$�fA�����$�A���H��$�I���I���H�aH�aH��葶���I��H�\$XH�l$`H��0A^_^���@SH�� H��H��H�
� W�H�H�SH�H�۳H� O H�H��H�� [�@SH��@H��eIH3�H�D$0H�L$ H�� L��H�H�QL�D$ H���D$(W�H�L$ 耳H��N H�H��H�L$0H3����H��@[�H�\$WH��H��H�L$ H�L$(I��芨���CH�
�P H�H��H�cH�K�h���H�Q ƃ�H�H��H���H��$�H�İ_�L��I�[I�s WH��@H��H��H�L$(�AH�SN H�H�YH�\$(H�#H�cI�[�I�[�P��H�H�@H�@f�@H�D�D$ H��H�����H��H�\$`H�t$hH��@_�H��(H�ytH�H�I��H��(�H����H�\$VH�� H���H��H��rH���H��蟘��H����H���ƃ�H���H��rH�KpH���k���H���H����CpH�ShH��rH�KPH���B���H�c`H�sh�CPH�S@H��rH�K(H������H�c8H�s@�C(H�S H��rH�KH�����H�cH�s �CH�\$0H�� ^�H�\$WH�� H���H��H��t9����G��u,H�H��H��ߠ����G��uH�H��H�@� H�SxH��rH�K`H���|���H�cp�H�{x�C`H�SXH��rH�K@H���T���H�cPH�{X�C@H�\$0H�� _�H�\$WH�� H��H�`N H�H�yt3���u*H����?���H#���H��H�OH���H����H�OH��t����A��uH��H���H�gH�\$8H�� _�����@SH�� H�Q H��H��rH�IH��葖��H�cH�C �CH�� [���H�\$H�l$ VWAVH�� H��H��H;�t{H�A� H��BH���AH��H;�tH��PH��PE��輾H���H���H;�tH�UPM��H�NP虾H�UxH�NxH;�tH��PH��PM���|���x���H�l$XH��H�\$PH�� A^_^���H��H�XH�pH�x UAVAWH��H���H��H��E3�A�މ\$p�(��H��H�EE�~H����H�H�H��tH��������A�^�L�}�H�E�
��M �D$x��M f�E�D�u�L�uL�}D�u�L�u�L�}�D�u�L�u�L�}�D�u�L�u�L�}�D�u��D$p>H�D$xH�D$hL�t$`�D$XfD�t$PfD�t$HH�E�H�D$@H�E�H�D$8�D$0H�E�H�D$(H�E�H�D$ E3�E3�3�H�M �����~�\$pH��H����H���I����@t
��H�M ������ t���H�U�H��r
H��H�M��R������t���H�U�H��r
H��H�M��3������t��H�U�H��r
H��H�M��������t��H�UH��r
H��H�M�������t'��H�U�H��r
H��H�L$x�Փ��L�u�L�}�D�t$x��tH������H��L��$�I�[(I�s0I�{8I��A_A^]����H�\$UVWH�l$�H��H�1_IH3�H�E7H��H��H�H�8�wH�AH�H���H�e'H�E/�EH�M�ŏ���H�H�8H�MH�}/HCMH�U'�t��H���L��L�EH�U���s��H�E�H����H�@0H�E�H��t
�@H�H�8L�EH�U�H���.H�H�yXH�]�H��t9����C��u,H�H��H��Л����C��uH�H��H�@���H��t�GH�M�H�H�~H�U/H��rH��H�M�Y���H��H�M7H3��*�H��$�H��_^]�H�HK H�M�跆���L��I H��H�M��C����H��H�M��S��H��IH�M��6��H�
fK �y��H��J H�M��h����L�`I H��H�M����H��H�M��R��H�HIH�M����������@SH�� H�3K H��H���t
� �>�H��H�� [������@SH�� H�{K H��H���t
�8��H��H�� [������@SH�� H��J H��H���t
�(���H��H�� [������@SH�� H��J H��H���t
�P��H��H�� [������H�\$WH�� ��H��H�Q(H��rH�IH��軐��H�c H�C(�C@��t
�@H���W�H��H�\$0H�� _����������H�\$WH�� ��H���0�����t
��H����H�\$0H��H�� _�������������H�\$WH�� ��H������t
��H�����H�\$0H��H�� _�������������H�\$WH�� H����H��H�������t
� H����H�\$0H��H�� _������H�)a H�H�����H��S H�H��A�B����������H�AO H�H�AH�BH�������������H��Z H�H�����H�1N H�H��AB�I�J�H�)V H�H�����H��Y H�H�����H�K H�H�AH�BH�������������H��Z H�H�����H�y_ H�H�����H��P H�H��ABIJ�A(�B(���������H��T H�H�AH�BH�������������H�9P H�H��ABIJA(B(�����������H��P H�H��ABIJ�A(�B(���������H��L H�H�AH�BH�������������H��U H�H�����H�!U H�H�����H�YJ H�H�AH�BH�������������H��Z H�H�����H�1O H�H�AH�BH�������������H��H H�H��AB�I�J�H�	W H�H�����H��Y H�H�����H��_ H�H�����H��_ H�H�����H�	\ H�H�����H��G H�H�����H�` H�H�����H�aV H�H�����H�9N H�H�AH�BH�������������H��O H�H��AB�I�J�H��V H�H�����H��V H�H�����H�aH H�H�AH�BH�������������H��Z H�H�����H��^ H�H�����H��R H�H�����H�	X H�H�����H�qH H�H�AH�BH�������������H�9\ H�H�����H�Q H�H�AH�BH�������������H�iY H�H�����H�1N H�H��ABIJ�A(�B(���������H��\ H�H�����H�!I H�H�AH�BH�������������H�IS H�H�����H�] H�H�����H�O H�H��A�B����������H��X H�H�����H��[ H�H�����H�qF H�H�AH�BH�������������H�)P H�H�AH�BH�������������H��L H�H��ABIJ�A(�B(���������H��I H�H��ABIJ���H��H H�H�AH�BH�������������H�	W H�H�����H�O H�H�AH�BH�������������H��N H�H�AH�BH�������������H��X H�H�����H�R H�H�����H�IU H�H�����H��D H�H��A�B����������H�YE H�H�AH�BH�������������H�yJ H�H��A�B����������H��R H�H�����H��C H�H�����H�	O H�H�AH�BH�������������H�)F H�H�AH�BH�������������H��L H�H��A�B����������H�iI H�H�AH�BH�������������H��X H�H�����H��X H�H�����H��E H�H�AH�BH�������������H��L H�H��AB�I�J�H��H H�H�AH�BH�������������H��F H�H�AH�BH�������������H��P H�H�����H�IN H�H�����H�iW H�H�����H�Q H�H�����H�YE H�H�AH�BH�������������H��U H�H�����H��N H�H�����H��S H�H�����H��H H�H�AH�BH�������������H�W H�H�����H�yG H�H�AH�BH�������������H�qV H�H�����H��O H�H�����H��G H�H��AB�I�J�H��D H�H�AH�BH�������������H�	J H�H��A�B����������H�	B H�H��ABIJ�A(�B(���������H�yY H�H�����H��J H�H�AH�BH�������������H��L H�H�����H�YX H�H�����H��T H�H�����H��R H�H�����H��W H�H�����H�qI H�H��A�B����������H�qV H�H�����H�QS H�H�����H�yE H�H�AH�BH�������������H��B H�H�AH�BH�������������H��P H�H�����H�P H�H�����H��L H�H�����H�9N H�H�����H��J H�H�AH�BH�������������H�iD H�H��ABIJ�A(�B(���������H��C H�H�AH�BH�������������H��N H�H�����H��Q H�H�����H��(��t
��ބ��H��(����������H��(��t
�辄��H��(����������H��(��t
� 螄��H��(����������H��(��t
�0�~���H��(����������H��(��t
�8�^���H��(����������H��(��t
�(�>���H��(��I��L��L��H��I������������	�����������H�\$WH���H�AH�83�H����H�AL�M��t`I;�u��DH�OI;Hu:H��u+I�I��H�@��H��H�H��H�@�ڌH;����
H���"��Њ�H��$�H���_�H��< H��$��x���L��: H��H��$�艁���H��H�L$8�GD��H��IH�L$8�z��H��< H�L$P�w���L��: H��H�L$p�C����H��H�L$ �D��H��IH�L$ �4�����H��H�AH�H��t&����A��uH��H���H�Ĉ�H��; H�L$8�6w���L�.: H��H�L$X����H��H�L$ �C��H�IH�L$ 貜��������������H��H�AH�H��thH�AL�M��tL�AM�I��H�Ĉ��H��: H�L$X�v���L��9 H��H�L$8�5����H��H�L$ ��B��H��
IH�L$ �&��H��: H�L$8�dv���L�\9 H��H�L$X�����H��H�L$ �B��H�B
IH�L$ �������������������X���������������������������H������������'k�����������������������L��SH��H��LIH3�H��$�H��H�AH�H����I�S��L�K(L�C H�SH�KH��$�H�D$ M�	M�H�H�	�!dH��$�H��t1L��$�H��$����H��$�H��$�H+�H���蛀��H��$�H3��k�H�İ[�H�S9 H�L$H�u���L��7 H��H�L$h�~���H��H�L$0�JA��H��IH�L$0�}��������������H�A���%����H�\$UH�l$�H��H��KIH3�H�EGH��H�AH�8��H�AH�H�e�H�E��E�H�M��^|���H�KL�E�H�U'H�	���H�U�H��rH��H�M����H�U7H��H�CH�H�H�S H�CH�H�H9sH�C(H�H��tH������@E3�H�U'H�}?HCU'H�M'HCM'L�M7L���A�I��H��H�C0H�I;�u�A�H�U?H��rH��H�M'���H�MGH3���H��$�H�İ]�H��7 H�M��ws���L�o6 H��H�M�}���H��H�M���?��H�WIH�M��������H�\$UH�l$�H��H�OJIH3�H�EGH��H�AH�H����H�U/�$�H�E7H+E/H�� rrL�K(L�C H�SH�KH�E/H�D$ M�	M�H�H�	�a�H�M/H��t!L�E/H�U7�d~��H�U?H�M/H+�H����~��H�MGH3���H��$�H�İ]�H��6 H�M�sr���L�6 H��H�M��{���H��H�M��>��H�SIH�M����H��6 H�M��1r���L�)5 H��H�M�{���H��H�M��|>��H�IH�M�谗����������������H��H�AH�H��tH�Ĉ��H��5 H�L$8�q���L��4 H��H�L$X�K{���H��H�L$ �	>��H��IH�L$ �<��������������O���������������/n�������������H��H�AH�H��t&����A��uH��H��υH�Ĉ�H�5 H�L$8�q���L�4 H��H�L$X�z���H��H�L$ �_=��H��IH�L$ 蒖���}�����������H��H�AH�H��tH�@H��t�@H�Ĉ�H��4 H�L$8�p���L��3 H��H�L$X�"z���H��H�L$ ��<��H�uIH�L$ �����H�\$UH��$���H��H��H�AE3�L9��H�AH�H���1H�I�A����#��H�H=�tH=�tH��w�H��rH��AuiL�D$0H�D$8D�D$ H�L$ ��w���H�SH�M����L��H�KH�T$ H�	�U/�H�T$8H��r
H��H�L$ �{��H��$H��]�H�3 H�L$ ���H�sIH�L$ ���H��2 H�L$ �ӫ��H�PIH�L$ ���H�N2 H�L$@�,o���L�$2 H��H�L$`�x���H��H�L$ �u;��H�
IH�L$ 訔�H�H2 H�L$`��n���L��1 H��H�L$@�qx���H��H�L$ �/;��H��IH�L$ �b����{�������������
	������������_������������w������������鋺�����������H�\$WH��03ۉ\$H�K �8�H��H�D$PH��tBW��D$ �KP��H�H�@H�@f�@H�D$ ��\$HH�T$ H�����H���H����tH�T$ H�L$ �:��H��H�\$@H��0_������_�����������釛�����������H��H�AH�H��tH�@H�@H��t�@H�Ĉ�H��1 H�L$8�sm���L�k0 H��H�L$X�v���H��H�L$ �9��H�QIH�L$ �����������������H�\$H�|$UH�l$�H��H�:DIH3�H�EOH��H�AH�8��3�H�EGW��M7H!EGH�AH�H��t&H��������H;���H��H�M7�%!H�CH�3�H��tPH�U?H�CH�H��H�E�H;UGtH�H��t�@H�U?H��H�U?�L�E�H�M7���H�U?H��H�CH;8r�H�KH�U7H�	���H�M7H��t!L�E7H�U?�P��H�UGH�M7H+�H���w��H�MOH3��h�L��$�I�[I�{ I��]�����H�>0 H�M���k���L��. H��H�M�yu���H��H�M��88��H��HH�M��l��������������S������������������������H��H�AH�H��tH�Ĉ��H�>/ H�L$8�`k���L�X. H��H�L$X��t���H��H�L$ �7��H�>�HH�L$ �ܐ�������������^�������������<�������������������������雒�����������H��H�AH�H��t�AH�Ĉ�H��. H�L$8�j���L��- H��H�L$X�;t���H��H�L$ �6��H���HH�L$ �,���������������"�����������H��H�AH�H��tH�H�@H�ĈH�%�~H��. H�L$8�'j���L�- H��H�L$X�s���H��H�L$ �p6��H��HH�L$ 裏����?������������H�\$UH�l$�H��H��@IH3�H�EGH��H�AH�H����H�U/��
�H�E7H+E/H�� rrL�K(L�C H�SH�KH�E/H�D$ M�	M�H�H�	�#X�H�M/H��t!L�E/H�U7�u��H�U?H�M/H+�H����t��H�MGH3�脱H��$�H�İ]�H��- H�M�i���L��, H��H�M��r���H��H�M��^5��H��HH�M�蒎�H�"- H�M���h���L��+ H��H�M�]r���H��H�M��5��H���HH�M��P�����������������������������L��SH��H�AH�H��tOE3�I�S��H�H� H��$�H��t#����A��uH��tH�H����|H��H�Ā[�H��+ H�L$8�	h���L�+ H��H�L$X�q���H��H�L$ �R4��H��HH�L$ 腍������7&������������������������@SH��0H��H�AH�8��H�Q�B����#��H�H=�tH=�tH��w�H��rH��AudH��$����L��H�KH��$HH�	��H�H� H��$HH��t ����A��uH��tL���I���{H��H��0[�H�w* H�L$8�i���H��HH�L$8脌�H�4* H�L$P�F���H��HH�L$P�a��H��* H�L$h�f���L��) H��H��$��'p���H��H�L$ ��2��H�z�HH�L$ ������������������������)�����������H��H�AH�H��t�AH�Ĉ�H�2) H�L$8�f���L�) H��H�L$X�o���H��H�L$ �Y2��H��HH�L$ 茋������������H�\$H�t$WH��0H��H��H�AH�H���)H����?���H#����H��H����H�GH�H��H��$����H��$PH��$��;C��HN@ F H0N0@@F@HPNP@`F`��H�2@pA�H�	@AH I @0A0H@I@H�@PH�APH��L��$0I�[I�sI��_�H�) H��$��d���L�W( H��H��$��?n���H��H�L$8�0��H���HH�L$8�0��H�8) H�L$P�nd���L�f' H��H�L$p�m���H��H�L$ �0��H�L�HH�L$ ������������H�\$UH�l$�H��H�?;IH3�H�EGH��H�AH�H����H�U/�	�H�E7H+E/H�� rrL�K(L�C H�SH�KH�E/H�D$ M�	M�H�H�	�sR�H�M/H��t!L�E/H�U7�To��H�U?H�M/H+�H����o��H�MGH3��ԫH��$�H�İ]�H��' H�M�cc���L�' H��H�M���l���H��H�M��/��H�C�HH�M����H�r' H�M��!c���L�& H��H�M�l���H��H�M��l/��H��HH�M�蠈����������������H�\$UH�l$�H�� H��9IH3�H�EH��H�AH�8�0H�AH�8��W�3�EH�EH�A H�H�AH�H�L$@H�T$HH�T$@H�M�^���L�CH�K�D$(�D$ L�MM�H�T$0H�	��H�H� H�L$0H��t#����A��uH��tH��H���vH�d$0H�MH��t!L�EH�U�g���H�UH�MH+�H����Sm��H��H�MH3��$�H��$8H�� ]�H��$ H�M��a���L��$ H��H�M��?k���H��H�L$h�-��H���HH�L$h�0��H�d% H�M��oa���L�g$ H��H�M��j���H��H�L$P�-��H�N�HH�L$P��������������H��H�AH�H��t�AH�Ĉ�H��$ H�L$8�a���L��# H��H�L$X�j���H��H�L$ �I-��H���HH�L$ �|��������������o0	�����������H��H�AH�H��tH�H�@�0uH�Ĉ�H�A% H�L$8�w`���L�o# H��H�L$X�j���H��H�L$ �,��H�U�HH�L$ �����H��H�AH�H��t&����A��uH��H���tH�Ĉ�H��$ H�L$8�_���L��" H��H�L$X�i���H��H�L$ �?,��H���HH�L$ �r����	������������{������������黭�����������H�\$UH��H��H��H�AH�8��H�AL�M����I�x��I�H��t1H�H�U�H�@��sH�KH��H�	�$H��$�H�Ā]�H�\" H�M��_���L�" H��H�M��h���H��H�M��V+��H���HH�M�芄�H��! H�M���^���L��! H��H�M��Uh���H��H�M��+��H���HH�M��H��H��! H�M��^���L�! H��H�M��h���H��H�M���*��H�g�HH�M����H��! H�M��E^���L�=! H��H�M���g���H��H�M��*��H�%�HH�M��ă����H��H�AH�H��t&����A��uH��H��rH�Ĉ�H��  H�L$8��]���L��  H��H�L$X�Qg���H��H�L$ �*��H���HH�L$ �B���H�AH�I�H�	�	�������������7j�����������fo< H����H�A��
���H��H�AH�8t
3�H�Ĉ�H�
! H�L$8�]���L�  H��H�L$X�f���H��H�L$ �])��H���HH�L$ 萂����������������H��H�XH�pH�x UH�h�H��H��3IH3�H�EH��H�AH�8�H�AH�H����H�e�H�E��E�H�M��ld���H�CH�H�M�H�u�H�}�H��HC�H�U��/I��H���L��L�E�H�T$ �H��H�\$(H����H�[0H��t�CH�}�H�u�H��rH�WH���jg��H��H�MH3��;�L��$I�[I�s I�{(I��]�H�S  H�M���[���L�� H��H�M��Ne���H��H�L$H�(��H���HH�L$H�?��H�
o  肂�H�� H�L$`�p[���L�h H��H�M��d���H��H�L$0�'��H�O�HH�L$0���������������H��H�AH�H��t&����A��uH��H���oH�Ĉ�H�8 H�L$8��Z���L�� H��H�L$X�qd���H��H�L$ �/'��H���HH�L$ �b����O�������������������������H��H�AH�H��t�� H�Ĉ�H�T H�L$8�^Z���L�V H��H�L$X��c���H��H�L$ �&��H�<�HH�L$ ������������H�\$H�t$WH��PH�/1IH3�H��$@H�QH��H��$��D���H��$�H��$��?���H#����H�NH��H;wb��褠H��H�D$ 3�H��t$H�^H��$�H�L$@��s��L�H��H���
��H��$@H3��L��$PI�[I�s I��_�H�� H�L$(�ϕ��H�L�HH�L$(��~����������H��H�AH�H��t�AH�Ĉ�H�R H�L$8�Y���L�� H��H�L$X�b���H��H�L$ �I%��H���HH�L$ �|~������������H��H�AH�H��t&����A��uH��H��/mH�Ĉ�H�t H�L$8�vX���L�n H��H�L$X�b���H��H�L$ �$��H�T�HH�L$ ��}���G�������������m��������������[�	�����������������������H��H�AH�H��t��H�Ĉ�H�� H�L$8��W���L�� H��H�L$X�Ya���H��H�L$ �$��H���HH�L$ �J}�����������K������������3��������������{������������H�IH�	��������Q�����������L��SH��H�AH�H��tVE3�L��I�SH�I莸H�H� H��$�H��t#����A��uH��tH�H���kH��H�Ā[�H� H�L$8��V���L�� H��H�L$X�M`���H��H�L$ �#��H���HH�L$ �>|���������������U	������������[������������H�\$H�|$UH��H��H��H�AH�H����H����?���H#�����L��L��H�OH�9��H�GH�H���)M��t^H�e�H�E��E�H�M���]���L�GH�OM�H�U�H�	��H�U�H��rH��H�M��"a��L��$�I�[I�{ I��]�H�� H�M��U���L�- H��H�M��_���H��H�M���!��H�m�HH�M��{�H�� H�M��KU���L�C H��H�M���^���H��H�M��!��H�+�HH�M���z�H�Z H�M��	U���L� H��H�M��^���H��H�M��T!��H���HH�M��z�H�$ H�M���T���L�� H��H�M��S^���H��H�M��!��H���HH�M��Fz������@SH��H�AH�3�H��t*�\$ L�
�IIL��II3���H���Ë�H�Đ[�H�< H�L$H�>T���L�6 H��H�L$h��]���H��H�L$0� ��H��HH�L$0�y����������@SH��0H��H��H�T$ ����H���H��0[����������H�\$UH�l$�H��H��*IH3�H�EGH��H�AH�H����H�ytzH�U/��L�K(L�C H�SH�KH�E/H�D$ M�	M�H�H�	�BH�M/H��t!L�E/H�U7�^��H�U?H�M/H+�H����^��H�MGH3��}�H��$�H�İ]�H�� H�M�S���L�� H��H�M��\���H��H�M��W��H���HH�M��x�H�� H�M���R���L�� H��H�M�V\���H��H�M����H���HH�M��Ix����������7������������H��H�AH�H��t�AH�Ĉ�H� H�L$8�PR���L�H H��H�L$X��[���H��H�L$ ���H�.�HH�L$ ��w�������������Ӌ��������������o
	������������%������������O�������������o3	�����������H�\$H�|$UH�l$�H��H��(IH3�H�EH��H�AH�8�H�AH�H����H�e�H�E��E�H�M��`Y���H�KL�E�H�T$ H�	��H�H�yXH�\$(H��t9����C��u,H�H��H���e����C��uH�H��H�@��eH��t�GH�U�H��rH��H�M��Q\��H��H�MH3��"�L��$I�[I�{ I��]�H�> H�M��P���L�� H��H�M��9Z���H��H�L$H���H���HH�L$H�*v�H�� H�L$`�hP���L�` H��H�M���Y���H��H�L$0���H�G�HH�L$0��u������K!������������#������������H��H�AH�H��t�AH�Ĉ�H�* H�L$8��O���L�� H��H�L$X�kY���H��H�L$ �)��H���HH�L$ �\u������������H�\$UH�l$�H��pH��&IH3�H�E`H��H�AH�H����H�U��4��E��D$ �EĉD$$H�E�H�D$(H�E�H�D$0H�E�H�D$8H�E�H�D$@H�E�H�D$HH�E�H�D$P�E��D$X�E��D$Y�E��D$Z�M��L$[3��D$\H�M����(D$ (L$0K(D$@C (L$PK0H��H�M`H3���H��$�H��p]�H�� H�L$x�N���L�� H��H�M��-X���H��H�L$`����H���HH�L$`�t���������������SC������������O�������������gl��������������W������������H��H�AH�H��tH�@H��t�@H�Ĉ�H�� H�L$8��M���L�� H��H�L$X�rW���H��H�L$ �0��H���HH�L$ �cs���H�\$WH��H��H�AH�3�H����H�GH9uH�GH9uH�G H�H��tl������d��H��H�OH�H��tH�JH�H�OH9t@H�O(H�BH9u�H�
H��&H�WL�H�PJ�H�WL�H�PI�TH�[H�H;�u�H��$�H�Ā_�H�� H�L$8��L���L�� H��H�L$X�mV���H��H�L$ �+��H���HH�L$ �^r��������������@SH��H�AH�H��tl�d$ L�
BIL��AI3���H��H����H�HHcA���u+Ƅ�H�H�H���`H�CHcHH��H���H�Đ[�H� H�L$H�L���L� H��H�L$h�U���H��H�L$0�W��H���HH�L$0�q�H�� H�L$0�L���H���HH�L$0�gq��������]���������������H�\$ H�T$H�L$VWAVH�� H��L�qL+1I��H��������H;���H�4�H��r
H���'V��H���H��t
H���%���3�H�|$PL��L��H�SH��ު���H�H��tL��H�S��H�SH+H��H��bV��H�;J��H�CH�>H�CH�\$XH�� A^_^��|t������H�\$ H�T$H�L$VWAVH�� L��H��H�qH+1H��H��������H;�w\I��H��H��r�\U���3�H��t�^�H��H�\$PL��L��H�WH����M��L��H��H��H�\$XH�� A^_^�5����s������������������H��AI���������H��PI���������H��UI���������H��HI���������H��VI���������H�IMI���������H��HI���������H��YI���������H��GI���������H�	BI���������H�yRI���������H�)NI���������H��RI���������H��QI���������H�yVI���������H��KI���������H�YLI���������H��XI���������H�yEI���������H��RI���������H�ZI���������H�III���������H��EI���������H��>I���������H�?I���������H�	CI���������H�9ZI���������H�)>I���������H�II���������H�IRI���������H�yPI���������H��GI���������H�HI���������H�IXI���������H�9CI���������H��>I���������H��KI���������H��EI���������H�yWI���������H��@I���������H�YMI���������H��CI���������H�9PI���������H�i?I���������H��UI���������H��II���������H�y>I���������H�iNI���������H��BI���������H�I?I���������H��WI���������H�iLI���������H�PI���������H�	SI���������H�yTI���������H��CI���������H��LI���������H��LI���������H�9AI���������H��HI���������H��DI���������H��WI���������H��VI���������H��PI���������H�GI���������H�	XI���������H��JI���������H��TI���������H�YMI���������H��PI���������H��>I���������H�)?I���������H�YTI���������H��LI���������H��PI���������H��RI���������H�GI���������H��II���������H�9?I���������H�iFI���������H��SI���������H��@I���������H��HI���������H��BI���������H�OI���������H��>I���������H�9PI���������H��>I���������H��FI���������H�IOI���������H�yRI���������H�iLI���������H�YUI���������H�I:I���������H��JI���������H�iHI���������H�;I���������H�	?I���������H�yAI���������H��;I���������H��KI���������H��<I���������H��?I���������H��OI���������H��RI���������H��BI���������H��BI���������H�iFI���������H��DI���������H��HI���������H��OI���������H�)PI���������H�YCI���������H��?I�H�\$UVWH�l$�H���H�IH3�H�E7H��H��H�U�H�H��H�e'H�e/H�M�"j���L�EH�U�H�O蔷��H�]��{uPH�S H�M������u?H;_t9H�H9C@�CH�U/H��r
H��H�M��M���H�^H�������W��E�H�UH�L$ �i��H�NH��t�AH�NH�H�E�H�M�L�D$ H�U�H�O�›�����H�M�H��t:����A�u/H�]�H�H��H���V����C�uH�M�H�H�@�kVH�U�H��rH��H�L$ �$M���H�U/H��r
H��H�M�
M���H�^H��t5����C�u*H�H��H��V����C�uH�H��H�@��UH�M7H3�袉H��$ H���_^]�L�EH�� H�M��K���L�� H��H�M��J���H��H�M���`��H���HH�M��f��H�\$WH��pH�IH3�H�D$`H��H�T$XH��L��H�T$ 誵��H�|$0�uTH�W H���+�����uDH�SH��rH��H��L��H�cH�C�H�G@H�L$`H3��ňH��$�H��p_�H�
0��[g���@SVWH��I��H��H��H�d$0H�d$8H�L$ �g��H�T$ H���)���H��=!��H9Cu*H��H��$��;Z��H���H�����H��_^[�L��H�� H�L$H�EJ���L�� H��H�L$h�`I���H��H�L$ �_��H���HH�L$ �QẻL$SH��`I��H�T$ H�\$(H��t�"I�H8H��t>H�H�@�T��H�\$(H�K8H��tH�H;���H�@ ��SH�c8H��`[�����e������@SH�� I�I��H��t����A��uH��H���SH�#H�� [��������3�H9AtH�AH�xrH�����������H�A������������H�A0����H��H�XH�pWH��0H��H�P�3��p�W�H�2H�rH�r�@�H�YH��vL�C H�GH;GtH�pH�pI��H���e��H�G �H��H���8��H�C@8ptH�C�
H;Xu
H��H�@@8pt�H���H��H�@8puH��H�H��@8qt�@8st�H��H�\$@H�t$PH��0_������������̸����������̸����������̸���H�\$WH�� �
�LeH�%XH�ȹ0���u?���H�;H�L$0H�aH�A�L�
��E3�A�P�L��H�
1!�P��H�;H�\$8H�� _�������������H;Q�����������H����H��H�:L��uH�JH��t7�A��AA�@I��H��H�H�X�H�L$ �by��H���HH�L$ �}b�H�m�H�L$ �?y��H���HH�L$ �Zb��H�\$UVWH��H��PH��H�M��e��:��H�RH�����!H�Y�H�{H�c��E���H�e�H�}��E�H�RH�M��;D��H�E�H;�t6H�SH��rH��H��G���E�M�KH�e�H�}��E��H�}�H��r
H�WH�M��UG��H��H��$�H��P_^]�H��H�M��Fx��H���HH�M��ba�H���H�M��%x��H���HH�M��Aa�H�\$WH��0H��H�L$ ���H�H� H�H�PH�`H�\$(H�WH��t9����C��u,H�H��H���O����C��uH�H��H�@��OH�\$@H��H��0_��H�\$WH��0H��H�L$ ���H�H� H�H�PH�`H�\$(H�WH��t9����C��u,H�H��H��\O����C��uH�H��H�@�?OH�\$@H��H��0_��H�\$WH��0H��H�L$ �٥��H�H� H�H�PH�`H�\$(H�WH��t9����C��u,H�H��H���N����C��uH�H��H�@��NH�\$@H��H��0_��H�\$WH��0H��H�L$ �٥��H�H� H�H�PH�`H�\$(H�WH��t9����C��u,H�H��H��\N����C��uH�H��H�@�?NH�\$@H��H��0_��H�\$WH��0H��H�L$ �٣��H�H� H�H�PH�`H�\$(H�WH��t9����C��u,H�H��H���M����C��uH�H��H�@��MH�\$@H��H��0_��H�\$WH��0H��H�L$ �٣��H�H� H�H�PH�`H�\$(H�WH��t9����C��u,H�H��H��\M����C��uH�H��H�@�?MH�\$@H��H��0_��H�\$WH��0H��H�L$ ���H�H� H�H�PH�`H�\$(H�WH��t9����C��u,H�H��H���L����C��uH�H��H�@��LH�\$@H��H��0_��H�\$WH��0H��H�L$ �ݡ��H�H� H�H�PH�`H�\$(H�WH��t9����C��u,H�H��H��\L����C��uH�H��H�@�?LH�\$@H��H��0_��@SH��@D�H��E��t[A��tNA��tAA��t4A��t'A��tA��t
A��u?����/�9����(����!�+���������������������H��H��@[�H���H�L$ �)���H���HH�L$ �\����H�\$UVWH��H��PH��H�M��e��:�H�zH���W�3�H�AH!H!AH!A�E�H�GH��t"H��������H;���H��H����H�G3�H����H�H��H�e�H�E��E�H�M��K>���H�SH;St2H�bH�bE�M�JH�e��H�U��E�H�C �L�E�H���6���H�U�H��rH��H�M��\A��H��H;w�s���H��H��$�H��P_^]��_���H��H�M��:r��H���HH�M��V[�H��H�M��r��H���HH�M��5[�����L��H��xI�c�H�% I�C�M�K�I�C�H��M�C�I�C���V���H��x����������L��H��xI�c�H�� I�C�M�K�I�C�H��M�C�I�C������H��x����������L�D$H�T$H�L$UH��H��H�EI��H�E�L�E�H�E��H�E�H�E E�H�E�H���M�H�E�H�E�H�E�E��M���H�Ā]��H��H�PH�HH��xH�HI��H�L$ L�@�H�HH�L$(H�
��D$ H�H�H�H�H�H���@���H��x���������������L��I�KH��I�c�I�KH�L$(M�K�H�T$0H�
 D$(I�K�I��I�K�H���D$@I�K�M�C������H�Ĉ����L��I�KH��xI�c�H��I�C�M�K�I�C��I�C�M�C�I�C�I�C�蝕��H��x�L��H��xI�c�H�� I�C�M�K�I�C�H��M�C�I�C���f���H��x����������L��H��xI�c�H�- I�C�M�K�I�C�H��M�C�I�C���&���H��x����������L�D$H�T$UH��H��H�e�L�E�H�M�I��H�M H�M�L�M�E�H�MH�M�H�
 �M�H�M�H�M�H�M���E��M�貔��H�Ā]��L��H��xI�c�H�� I�C�M�K�I�C�H��M�C�I�C���v���H��x����������L��H��xI�c�H�� I�C�M�K�I�C�H��M�C�I�C���6���H��x����������L��H��xI�c�H�m I�C�M�K�I�C�H��M�C�I�C�����H��x����������L��H��xI�c�H�� I�C�M�K�I�C�H��M�C�I�C��趓��H��x����������L��H��xI�c�H�� I�C�M�K�I�C�H��M�C�I�C���v���H��x����������H�\$WH��0H�\$`H�\$ �7H��H��tH��H���d���3�H��H���H��H�\$@H��0_����������H��L�H L�@H�PH�HUH�h�H��H�UH�E_H�e�L�MH�E�L�E�H�Eg��H�E�H�EoE�H�E�H�EwH�E�H�j�M�H�EH�EH�E?EM蝒��H�Đ]�������������H�T$H�L$UH��H��L�E�H�E�M�L�E�H�E�I��H�E�M�H�E���E�H���H�E�H�E�H�E�E���H�Ā]�����������L��H��xI�c�H�� I�C�M�K�I�C�H��M�C�I�C�����H��x����������L��H��xI�c�H�}
 I�C�M�K�I�C�H��M�C�I�C��覑��H��x����������L��H��xI�c�H��
 I�C�M�K�I�C�H��M�C�I�C���f���H��x����������L��H��xI�c�H�%
 I�C�M�K�I�C�H��M�C�I�C���&���H��x����������L��H��xI�c�H�= I�C�M�K�I�C�H��M�C�I�C�����H��x����������L��M�CH��xI����u9��u5I�c�H�
�I�K�M�K�I�KH��I�K�M�C�I�K�I�K��菐���H��tA�����3�H��x���L��H��xI�c�H�E�I�C�M�K�I�C�H��M�C�I�C���F���H��x����������L��I�KH��xI�c�H��I�C�M�K�I�C��I�C�M�C�I�C�I�C����H��x�L��H��xI�c�H�U I�C�M�K�I�C�H��M�C�I�C���Ə��H��x����������L��H��xI�c�H�� I�C�M�K�I�C�H��M�C�I�C��膏��H��x����������L��H��xI�c�H�
 I�C�M�K�I�C�H��M�C�I�C���F���H��x����������L��H��xI�c�H�u I�C�M�K�I�C�H��M�C�I�C������H��x����������L��H��xI�c�H�u I�C�M�K�I�C�H��M�C�I�C���Ǝ��H��x����������L��H��xI�c�H�� I�C�M�K�I�C�H��M�C�I�C��膎��H��x����������L��H��xI�c�H�% I�C�M�K�I�C�H��M�C�I�C���F���H��x����������L��H��xI�c�H� I�C�M�K�I�C�H��M�C�I�C������H��x����������L�D$H�T$H�L$UH��H��H�EI��H�E�L�E�H�E ��H�E�H�EE�H�E�H���M�H�E�H�E�H�E�E��M����H�Ā]���D$L��H��x3�M�K�f�D$ M�C�H�m���I�C�I�CI�C�I�C�I�C��A���H��x�������������L��H��xI�c�H�� I�C�M�K�I�C�H��M�C�I�C������H��x����������L��H��xI�c�H�� I�C�M�K�I�C�H��M�C�I�C���ƌ��H��x����������L��H��xI�c�H���I�C�M�K�I�C�H��M�C�I�C��膌��H��x����������L��H��xI�c�H���I�C�M�K�I�C�H��M�C�I�C���F���H��x����������L��H��xI�c�H���I�C�M�K�I�C�H��M�C�I�C������H��x����������L��H��xI�c�H�� I�C�M�K�I�C�H��M�C�I�C���Ƌ��H��x����������L��H��xI�c�H�� I�C�M�K�I�C�H��M�C�I�C��膋��H��x���������̅�u
H��t!
��H��t�����3���H�\$H�T$UH�l$�H��3�L�M�H�E׃�H�E�H��H�E�H�E�H�E�H�E�H�EH�EH��H�EH�EoH�EH�EH�EOH�EH�D$ 蘋��H��H��$�H�İ]�L��I�KH��x�d$ H�	�I�C�M�K�I�C��I�C�M�C�I�C�I�C��A���H��x�H��L�H L�@H�PH�HUH�h�H��H���HH3�H�E?H�UH�E_H�E�L�E�H�EgH�U7H�E׃�E�H�EwH�E�H�E7H�E�H�EoM�H�E�H���H�E�H�E�E�H�E/�E�M�E�Z�H�M?H3��>pH�Ġ]������H��(��H�xrH��H���H��(����������������L��I�KH��xH��W�I�C�M�K�I�C�D$ I�C�M�C�I�C���I�C��ň��H��x�������������L��I�KH��x�d$ H���I�C�M�K�I�C��I�C�M�C�I�C�I�C��ч��H�H��x���������������L��I�KH��xI�c�H��I�C�M�K�I�C��I�C�M�C�I�C�I�C��݈��H��x�H�\$H�T$UVWH��$�H��H��HH3�H��H��I��H�M���C���d$ H�L$0E3�E3�3�H���6e��L��H�\$ ��H���A��3A��H��H�� �,��H��L��H�D$0L�� H��8��H�D$8H��H�D$0H�D$hH�D$0H�D$ �+���H��H��H3��InH��$0H��_^]�������H��L�H L�@H�PH�HUH�h�H��H��HH3�H�E?H�UH�E_H�E�L�E�H�EgH�U7H�E׃�E�H�EoH�E�H�EwH�E�H�E7M�H�E�H�5�H�E�H�E�E�H�E/�E�M�E��H�M?H3��mH�Ġ]������H��L�H L�@H�PH�HUH�h�H��H�2�HH3�H�E?H�UH�E_H�E�L�E�H�EgH�U7H�E׃�E�H�EoH�E�H�EwH�E�H�E7M�H�E�H���H�E�H�E�E�H�E/�E�M�E��H�M?H3���lH�Ġ]������L��I�KH��xI�c�H��I�C�M�K�I�C��I�C�M�C�I�C�I�C��M���H��x�H��L�H L�@H�PH�HUH�h�H��H�B�HH3�H�E?H�UH�E_H�E�L�E�H�EgH�U7H�E׃�E�H�EoH�E�H�EwH�E�H�E7M�H�E�H�]�H�E�H�E�E�H�E/�E�M�E�
�H�M?H3���kH�Ġ]������L��M�CI�SSH��H���HH3�H��$�H��W�I�KM��H�L$0M�K�I�K��H�L$8H�
��I�K�I�K��AC�D$0�D$HI�K�I�K�H�L$ H�����H��H��$�H3��QkH�Ġ[���������H��H�PH�HH��H�`�H�HH�L$(L�H�H�HI��H�L$0L�@�D$(H�
��H�H�H�H�H�H���@�蟄��H�Ĉ����������������H��H�PH�HH��H�`�H�HH�L$(L�H�H�HI��H�L$0L�@�D$(H�
��H�H�H�H�H�H���@��/���H�Ĉ����������������H��L�H L�@H�PH�HUH�h�H��H��HH3�H�E?H�UH�E_H�E�L�E�H�EgH�U7H�E׃�E�H�EoH�E�H�EwH�E�H�E7M�H�E�H���H�E�H�E�E�H�E/�E�M�E���H�M?H3��iH�Ġ]������L��I�KH��xI�c�H�1�I�C�M�K�I�C��I�C�M�C�I�C�I�C��-���H��x�H��L�H L�@H�PH�HUH�h�H��H�"�HH3�H�E?H�UH�E_H�E�L�E�H�EgH�U7H�E׃�E�H�EoH�E�H�EwH�E�H�E7M�H�E�H�=�H�E�H�E�E�H�E/�E�M�E���H�M?H3���hH�Ġ]������H��L�H L�@H�PH�HUH�h�H��H�r�HH3�H�E?H�UH�EWH�E�L�E�H�E_H�U7H�Eσ�E�H�EwH�E�H�EoH�E�H�E7M�H�E�H�EgH�E�H��E�H�E�H�E�E�H�E/ME�4�H�M?H3��hH�Ġ]����������������L��I�KH��x�d$ H�Y�I�C�M�K�I�C��I�C�M�C�I�C�I�C��!���H�H��x���������������L��SH��H���W�I�C�M�K�I�C�L��I�C��I�C�H��I�C�D$0����H��H�Ā[�����f�L$L��H��xH�E�W�I�C�M�K�I�C�D$ I�C�M�C�I�C���I�C��$���H��x������������L��H��xI�c�H�5�I�C�M�K�I�C�H��M�C�I�C��薀��H��x����������L��H��xI�c�H��I�C�M�K�I�C�H��M�C�I�C���V���H��x����������H��H�PH�HH��H�H�@�H�L$(L�H�H�HI��H�L$0L�@�D$(H�
��H�H�H�H�H�H���@�謅����H�Ĉ��������������L��I�KH��x�d$ H���I�C�M�K�I�C��I�C�M�C�I�C�I�C��A~��H��x�L��I�KH��xI�c�H���I�C�M�K�I�C��I�C�M�C�I�C�I�C��]��H��x�L��H��xI�c�H��I�C�M�K�I�C�H��M�C�I�C���&��H��x����������L��H��xI�c�H��I�C�M�K�I�C�H��M�C�I�C����~��H��x����������L��H��xI�c�H�-�I�C�M�K�I�C�H��M�C�I�C���~��H��x����������L��H��xI�c�H���I�C�M�K�I�C�H��M�C�I�C���f~��H��x����������L��H��xI�c�H�=�I�C�M�K�I�C�H��M�C�I�C���&~��H��x����������L��H��xI�c�H�M�I�C�M�K�I�C�H��M�C�I�C����}��H��x����������L��H��xI�c�H���I�C�M�K�I�C�H��M�C�I�C���}��H��x����������L��H��xI�c�H��I�C�M�K�I�C�H��M�C�I�C���f}��H��x����������L��H��xI�c�H�
�I�C�M�K�I�C�H��M�C�I�C���&}��H��x����������L��H��xI�c�H�e�I�C�M�K�I�C�H��M�C�I�C����|��H��x����������L��H��xI�c�H�E�I�C�M�K�I�C�H��M�C�I�C���|��H��x����������L��H��xI�c�H�=�I�C�M�K�I�C�H��M�C�I�C���f|��H��x����������L��H��xI�c�H�e�I�C�M�K�I�C�H��M�C�I�C���&|��H��x����������L��H��xI�c�H���I�C�M�K�I�C�H��M�C�I�C����{��H��x����������L��H��xI�c�H���I�C�M�K�I�C�H��M�C�I�C���{��H��x����������L��H��xI�c�H���I�C�M�K�I�C�H��M�C�I�C���f{��H��x����������L��I�KH��hH����I�C�M�C�I�CI�C�I�C�I�C��~��H��h����������L��I�KH��hH�����I�C�M�C�I�CI�C�I�C�I�C��>��H��h����������L��I�KH��hH�����I�C�M�C�I�CI�C�I�C�I�C����H��h����������L��I�KH��hH�N���I�C�M�C�I�CI�C�I�C�I�C����H��h����������L��I�KH��hH�v���I�C�M�C�I�CI�C�I�C�I�C��~��H��h����������L��I�KH��hH�&���I�C�M�C�I�CI�C�I�C�I�C��>��H��h����������L��I�KH��hH�����I�C�M�C�I�CI�C�I�C�I�C����H��h����������L��H��xI�c�H�u�I�C�M�K�I�C�H��M�C�I�C���fy��H��x����������L��H��xI�c�H���I�C�M�K�I�C�H��M�C�I�C���&y��H��x����������L��H��xI�c�H�-�I�C�M�K�I�C�H��M�C�I�C����x��H��x����������L��I�KH��hH�f���I�C�M�C�I�CI�C�I�C�I�C����H��h����������L��I�KH��hH�����I�C�M�C�I�CI�C�I�C�I�C����H��h����������L��I�KH��hH�����I�C�M�C�I�CI�C�I�C�I�C��~��H��h����������L��I�KH��hH�����I�C�M�C�I�CI�C�I�C�I�C��>��H��h����������L��I�KH��hH�����I�C�M�C�I�CI�C�I�C�I�C����H��h����������L��I�KH��hH�F���I�C�M�C�I�CI�C�I�C�I�C����H��h����������L��H��xI�c�H�-�I�C�M�K�I�C�H��M�C�I�C���&w��H��x����������L��H��xI�c�H���I�C�M�K�I�C�H��M�C�I�C����v��H��x����������L��H��xI�c�H���I�C�M�K�I�C�H��M�C�I�C���v��H��x����������L��H��xI�c�H���I�C�M�K�I�C�H��M�C�I�C���fv��H��x����������L��H��xI�c�H���I�C�M�K�I�C�H��M�C�I�C���&v��H��x����������L��I�KH��hH����I�C�M�C�I�CI�C�I�C�I�C��>��H��h�����������L$L��I�KH��xI�CI��H�D$ M�C�I�C��H�D$(H���D$ I�C�I�C��D$8I�C�����H��x������������L�D$H�T$H�L$UH��H��H�E I��H�E�L�E�H�E��H�E�H�EE�H�E�H�1��M�H�E�H�E�H�E�E��M��j��H�Ā]��L��H��xI�c�H���I�C�M�K�I�C�H��M�C�I�C����t��H��x����������L��H��xI�c�H���I�C�M�K�I�C�H��M�C�I�C���t��H��x����������L��H��xI�c�H���I�C�M�K�I�C�H��M�C�I�C���Vt��H��x����������L��H��xI�c�H�
�I�C�M�K�I�C�H��M�C�I�C���t��H��x����������L��I�KH��hH�V���I�C�M�C�I�CI�C�I�C�I�C��.��H��h����������L��H��xI�c�H�]�I�C�M�K�I�C�H��M�C�I�C���s��H��x����������L��I�KH��hH�F���I�C�M�C�I�CI�C�I�C�I�C����H��h��@SUVWAVAWH��(L��M��H��$�L��A�L��I��MPI�� L;Au�M�M;�sM��tYA������PH�93�H�i�;I��H��H+�H��H9wHBwH�rH�I�L���DH�A�H��H�� H;�u�A�H��(A_A^_^][����H��8H�H�"H�D$ H�BH�bH�T$ H�D$(��H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@��$H���;���H;�u#L��H��H���H�\$PH�l$XH�t$`H��@_�H�T�H�L$ �~L��H���HH�L$ �5���������H�\$WH��PH���HH3�H�D$@H�L$ H��H�L$=��y���g���H���-��Z���H�cH�L$=H�C�H;�t4H�|$=H��H+�H��wL��H�{H���hC�;�L��E3�H�����H��H�L$@H3��WH�\$pH��P_��L��SVWH��`H�O�HH3�H�D$PH��H��I�S�E�C�I�S�I�K��H��H�OL��H�T$0���H�H��0H������H�\$(H��t9������C�u+H�H��H��Y#����C�uH�H��H�@�>#�H�VH��rH��H����H�fH�F�H�L$PH3��VH��`_^[����L��SVWH��`H�w�HH3�H�D$PH��H��I�S�M�C�I�S�I�K��4H��H�OL��H�T$0���H�H��0H������H�\$(H��t9������C�u+H�H��H���"����C�uH�H��H�@�f"�H�VH��rH��H�� ��H�fH�F�H�L$PH3���UH��`_^[����@SH��@H��肁��H9u	H��H��@[�H���H�L$ ��I��H�\�HH�L$ �2��H�\$WH��H�\�HH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@���H�L$xH��tYH�H��H�@��!H�H�L$xH��tH�H�T$@H;���H�@ �h!H��H��$�H3��UH��$�H�Đ_��33�H���H�L$(�I��H���HH�L$(�,2����@SH��@H�BH9Hu;L��H�L$PH�T$ E3������H�T$ H���-���H����H;��H��@[�H��H�L$ �H��H��HH�L$ �1���@SH��H�BL��H9HuJH�T$@I���!��d$0H��HH�T$(�L$ �pH�T$ H�����H���[H;��H��[�H���H�L$ �H��H���HH�L$ �61��H��H�XH�hH�p H�HWH�� I��H��H���@�IRH��H�D$0H��t,W���C�CH���H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H���8�QH��H�D$0H��t)W���C�CH�;�H�H�KH���3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H�\$WH�� H��H��� �JQH�D$0L��H��t0W��A�@A�@H���I�H�)�I�@�A�@�E3�I�@W�H�H��L�CH�\$8H�� _����H�\$WH�� H��H��� ��PH�D$0L��H��t1W��A�@A�@H�_�I�H���I�@H�I�@�E3�I�@W�H�H��L�CH�\$8H�� _���H��H�XH�hH�p H�HWH�� I��H��H�����APH��H�D$0H��t,W���C�CH�\�H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H���`�H�P�H�L�wI�I��H�@�IH���|��H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H�������C�uH�H��H�@���H��H�\$XH�t$`H�|$hH��@A^�H�q�H�L$ �D��H��HH�L$ �-��L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��gH��H�H�[H��t9����C��u,H�H��H��>����C��uH�H��H�@�!H��H�\$PH��0_����H�\$ UVWATAUAVAWH��$����H��P	H�r�HH3�H��@I��H��L��H��0H��(I���$��D��L��H��I���$����H���I�H���H���H+�H��3�H���V
D�wE��H���H�	�s{���A��A;��
I�������H���I;������Å�fI�H��H��H�H�D$PH��@H���{��HA;���H��@I;��z�Å�fI�H��H��H�H�D$XD��|$@H���H��@�OH��HH���H��PL��XH���H��`L��hH���H��p�WH��xH���H���D�GL���(� )��(�0)��H��H���H���H��H���L���H��H���L���H��H���H���H��$H��L��(��)�(��)� L���H���H�D$H�_L;��e�A�E��H���I�$�yH���H��@HDžHH���H��PL��XH���H��`L��hH���H��pHDžxH���H���HDž�(� )��(�0)��D��L��D�|$@H�^H��t�CH�^H�F�� H��t9����C��u,H�H��H�������C��uH�H��H�@��D;�uH��@F<(3��_�
3�H���{H�����L�
�D�ÍS#H����	���H�]H�}�]�L�
F�D�ÍSCH�M������A��H�����L���H���H���輎��H��A��H����j�L���H���H��p菎��H��H�H��H�@��L��H���H�D$8H��@B�(�L$0H�|$(H��@B�(�L$ L�˺eH�M�行���H���H��rH��H��p�,��3�H����_H���@��pH���H��rH��H����
��H���H���@���H���H��rH��H�����
��H���H���@���H���H��rH��H����
��H���H���@���H�UH��rH��H�M��i
��H�}H�]@�}�H��H��rH��H����A
��A��I��A���r���D�|$@I��L;d$H�����L��0D�l$@H�� H��(@��L�
|�D�Ǻ#H�������H�}�H�]�@�}�L�
|�D�ǺH�M�����H�}@H�]H@�}0L�
o�D�ǺH�M0����H�} H�](@�}L�
��D�ǺCH�M�a���H�H��H�@��L��H��H�D$8H�D$PH�D$0H�E�H�D$(H�D$XH�D$ L�M0�jH�M�����H�U(H��rH��H�M���H�} H�](@�}H�UHH��rH��H�M0����H�}@H�]H@�}0H�U�H��rH��H�M�����H�}�H�]�@�}�H��(H��rH��H�����D��L��H�^H��t�CH�^H�F�� H��t9����C��u,H�H��H�������C��uH�H��H�@�pD;���3�H��`�_H��h@��PL�
��D�ǍW=H��P�����H�]�H�E��'��D$p�#��D$x@�|$|H�}�H�]�@�}�L�
�D�ǍWCH�M�����A��H��0�X��L��0H���H����}���H��H�H��H�@��L��H��PH�D$8H���A��L$0H�\$(D�l$ L�L$p�WpH�M�虈���H���H��rH��H����$
��H����H���@���H��HH��rH��H��0��	��H��@H��H@��0H�U�H��rH��H�M���	��H�}�H�]�@�}�H�U�H��r
H��H�L$p�	��H�}�H�]�@�|$pH��hH����H��P��3�H����{H������L�
��D�ÍS9H����4
���H�]�H�}�]�L�
q�D�ÍSCH�M��
���A��H�Mp����L�EpH�)�H������H��A��H�MP���L�EPH�
�H����ƈ��H��H�H��H�@��L��H���H�D$8H���A��L$0H�|$(H��@A��L$ L�˺tH�M��؆���H���H��rH��H����c��3�H����_H���@���H�UhH��rH��H�MP�3��H�}`H�]h@�}PH��H��rH��H������H��H��@���H���H��rH��H�Mp����H���H���@�}pH�U�H��rH��H�M����H�}�H�]�@�}�H���H��rH���H�����A��I��A�����@8����I���c\W��0I�G(H�D$HH��0H��8L�D$PH�T$HH��0�l����bH��0H�H�YH�I��L��8H�AH�H�AH�BH�����L�3H�CH�D$PL;�� M�gXW�D$`I�~H��t�GI�~M�.I��L�l$`H�|$hI�]XI;�t@H�H��t#����A��uH��H���H�t$`I�$H�H��t	�@H�t$`I�MH�H�@��H����n��H;�u9H�F���t,H�F0H9F(t"I�E(H�D$XL�D$XH��0H��0�GO���H��t8������G�u*H�H��H��$����G�uH�H��H�@�	I��L;t$P���3��L��8M�������H��0H�AH�8H�	H��tH�H�����H��H��u�H��H��0�{���I��H��@H3��HBH��$�	H��P	A_A^A]A\_^]�H���H���N6��H�ˍHH���g�H���H���'6��H���HH���@��J<����H�\$H�T$WH��0H��H��W��D$ L�JM��t	�A�AL�JH�H�D$ L�L$(H�T$ �=�H���H�Ƈ�H�[H��t9����C��u,H�H��H���
����C��uH�H��H�@��
H��H�\$PH��0_�H�\$H�L$WH��@H��H���&���H��|H��l��H9u$H�}H������ H��H�\$XH��@_�H��H�L$ �5��H�}�HH�L$ ������������@SH�� H���H��H���t
�@�n?H��H�� [������@SH�� H���H��H���t
� �>?H��H�� [������@SH�� H���H��H���t
� �?H��H�� [������@SH�� H���H��H���t
����>H��H�� [������H�\$H�t$WH��@I�H��I��I��H��H�@�H;�u;H�H��H�@�H���ck��H;�uAH��H���[H�\$PH��H�t$XH��@_�H�Q�H�L$ �3��H�(�HH�L$ ���H�^sH�L$ �3��H��HH�L$ ����H�\$UVWATAUAVAWH��$���H���H���HH3�H���L��L��W�D$0H�rH��t�FH�rL�zL�|$0H�t$8H���H���H+�H��H���=A�H��`H�	�k��hW�3��0H��@H��0H��p��L���I�~H��t�GI�~I�FLc� H��t9����G��u,H�H��H���
����G��uH�H��H�@�|
H��0B�$�3�I�G0H�HH+H��H����W�3��HH��XI���I���H+�H��H;��SA�H���H���jH�HH��H��K��H��0H��HB��B�H��HH��tH��XH+�H�����H��I�G0H�HH+H��H;��\���H�M��9��H��A�H��0H�L$@�3��L��H�|$ D��H��`I������H��0H��t&H��@H+�H���%��W���0H��@H��t8������F�u*H�H��H�� 	����V�uH�H��H�B�	I��H���H3��<H��$@H���A_A^A]A\_^]���6�����6���������������H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@��H;���H�H��H�@�wH����g��H;�uML��H�T$PH���r�H�H� H�H�L$PH��tH��H��5H�\$XH��H�t$hH�l$`H��@_�H��oH�L$ ��/��H�m�HH�L$ ��H���H�L$ ��/��H�J�HH�L$ ������H��(eH�%X�
q�K�4H�ȋ
9C�KH�N�HH��(�H�
.�K�%A�="�K�u�H�
��`?H�

�K�@����H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@�@H;���L��H�L$ H����H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H�������C�uH�H��H�@��H�\$`H��H�l$hH�t$pH��P_�H���H�L$0�.��H��HH�L$0�����H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0��H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H�������C�uH�H��H�@���H�L$(H��t=����A�u2H�\$(H�H��H�������C�uH�L$(H�H�@���H�_H��t5����C�u*H�H��H��w����C�uH�H��H�@�\H��L�\$`I�[I�kI�s I��_�H���H�L$@�-��H���HH�L$@�1�H�\$H�t$WH��@I�H��I��I��H��H�@��H;�u8H�H��H�@��H���Cd��H;�u>H��H����H�\$PH�t$XH��@_�H�|�H�L$ �,��H��HH�L$ ��H�AlH�L$ �k,��H��HH�L$ �������H�\$H�t$WH��@I�H��I��I��H��H�@�HH;�u8H�H��H�@�3H���c��H;�u>H��H���s�H�\$PH�t$XH��@_�H�̑H�L$ ��+��H�[�HH�L$ ��H��kH�L$ �+��H�8�HH�L$ ��������H��(H��H�QH�����H��H��H��(�q������������H�\$WH��PH��I9��I���J�H�T$`H�D$`H�L$ ���H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H��!����C��uH�H��H�@�H�\$hH��H��P_�H�w�H�L$0��*��H�F�HH�L$0������H��H�XH�HWH��H��M��D��H�T$ H�H �V����H�T$ H������H���H;8t5H�c8H�OpH��tH�H��H��jH�C8H��H��$�H�Ġ_�H���H�L$8��H��H�
�II�V��L��H��H�L$X�"����L�B�H��H�L$x�
����H��H�L$ �/
��H�P�HH�L$ ���H�\$WH��@H��H���[H;�s*H�O(H�G0H+�H��H;�v9H�H��H�\$PH�@XH��@_�H�1�H�L$ �{"��H� �HH�L$ ���/������H�\$WH�� H�AH�XH��t�CH�XH�@H�H0H�yH+9H��H��t9����C��u,H�H��H��)����S��uH�H��H�B�H�\$0H��H�� _���H��(�
��KeH�%X�4H�ȋ
9�KH�f�KH��(�H�
j�K�M:�=^�K�u�W��A�K�x��2H�H�@H�@f�@H��KH�
 ��[8�H�
�K�9�������������H�\$WH�� H�A0H��H+A(H���H��uEH�Ah���t8H�yXt)H�A3�H�HH�YH���+���H�WXL��H���`P��uH���H�\$0H�� _��H�\$H�t$ WH��H�AH��H�IhH�PH�zH�T$ �]`3�H��H������L��H��$�L��H����PH��X��H��H;�t,H�H��t����Q�uH��WH��m�H�H�H�#H��$�H��t!����A�uH��tH��H��5�L��$�I�[ I�s(I��_�H�\$H�t$WH��@I�H��I��I��H��H�@���H;�u^H�H��H�@��H���C^��H;�uH��H���[H�\$PH��H�t$XH��@_�H�afH�L$ �&��H�~HH�L$ ��H�΋H�L$ �h&��H��}HH�L$ ����H�\$UVWATAUAVAWH��$��H�� H��HH3�H��H��L��H�L$8H�T$8H���HML�0H� L�u�H�L$8H��tH��H�@��W�E�H�_H��t�CH�_L�oL�m�H�]Ⱦ�D��3�H���7!�H���6����D��3�H���!�H�������3�H�GH�H0H�AH+H��H���H���H���H+�H��H;���H��H�H�@�E�H��H�xrH�L�@H�� �8n��H���H���H+�H��H;���A�H�U@H���\A�H�HH�@H���HcL��H��H;�u�H�?�H�� ��j��H��I�����H�GH�H0H�AH+H��H��H�
�hH���H;�HD�H�� �j��H��H�GH�H0H�AH+H��H;����3�D�BHH����H���H���W��D$0L�D$ H�T$0H������A�L�d$XA�t$�H�t$P����D$@���f�D$H�w��D$J�D$KE�� H�T$@H�������L�e�H�E��H��E��E��E�E3�D�m�H�GH�H0L�AL+I��H�U�H������H�E�H�D$(H�U�H��(�WY���L�e�H�E�����E����f�E�D�m�L�E�H�U�H�������A��H�� H�������H�E�H�D$(H�o�H�E�L�D$!H���H�M�~���L�d$xH�t$p����D$`�~�f�D$h�u��D$jD�l$kL�E�H�T$`I������I���D��H�� I��H����I��H��(�nX���H���H���H+�H���3�W�f��L���H�������H����غ���H�=�gH���H�����H���谺���H���H�����H��t6����C�u+H�H��H�������C�uH�H��H�@����M��I��I�@���I��H��H3��I-H��$pH�� A_A^A]A\_^]��'����'�����H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�xH��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@��H���,H;�u#L��H��H���\H�\$PH�l$XH�t$`H��@_�H��`H�L$ � ��H�3xHH�L$ ��	�@SH��@H���+H9u	H��H��@[�H���H�L$ �w ��H��wHH�L$ �	��H�\$WH��H��HH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@�p$�H�L$xH��tYH�H��H�@�%�H�H�L$xH��tH�H�T$@H;���H�@ ��H��H��$�H3��+H��$�H�Đ_���	�H��H�L$(���H�&wHH�L$(������@SH��@H�BH9Hu;L��H�L$PH�T$ E3��;���$H�T$ H������H����$H;��H��@[�H���H�L$ �8��H��vHH�L$ �S���@SH��H�BL��H9HuJH�T$@I���W�d$0H��HH�T$(�L$ �l$H�T$ H���C��H���W$H;��H��[�H�)�H�L$ ���H�0vHH�L$ ����H��H�XH�hH�p H�HWH�� I��H��H���`��(H��H�D$0H��t,W���C�CH���H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H���8�X(H��H�D$0H��t)W���C�CH�C�H�H�KH���
�3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H������'H��H�D$0H��t,W���C�CH�D�H�H�KL��H����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�hH�p H�HWH�� I��H��H�����A'H��H�D$0H��t,W���C�CH���H�H�KL��H���z����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H���7�H���H�L�wI�I��H�@�I�H���E'H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H��������C�uH�H��H�@����H��H�\$XH�t$`H�|$hH��@A^�H�q[H�L$ ���H�sHH�L$ ���L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��>H�v�H�H�[H��t9����C��u,H�H��H��>�����C��uH�H��H�@�!�H��H�\$PH��0_����H��H�XH�pH�x H�HAVH��0I��I��H��L���j���H�D$@H�T$@H�D$`L��H�D$(L��I��H�\$ ���H�\$HH�s�H�t$PH�|$XI�I��H��0A^�@USVWAUAVAWH��$����H��pH��HH3�H��`I��H��H��H�MHI�����D��L��H��H������H��H�H��8H�]PA�E3�H��t�D{H�VxH�OE��L��H�I��>�H��t����C��uH�A��H��H����H��HH�\$@H��t�D{H���H�OE��L��H�I�>�H��t����C��uH�A��H��H����H���H���H+�H��I;���E��H���H�I�dQH�P`H��0H����H���H��0H���L���H��4H��L��H��8H��D�k�L��H��DH�� HDž(W��0�@D�CH��0�%H���H���H+�H��H����E��H��`H�	�PH�P`H���H��`H��hH���H��pL��xH���H���L���H���H���L���H���H���HDž�W�����D�CH����cL�uA�]H�] D�uL�
T�E�ƍSH�M���H�]�E�}	L�|$x�O��D$h�K��D$pD�t$tH�\$`H�D$X�4��D$H�0��D$P�)�f�D$TD�t$VL�u�H�]�D�u�L�
ȿE��D�k0A��H�M����H�H��H�@�D�L��H�EH�D$8H��`H�D$0H�D$hH�D$(H���H�D$ L�L$H�S@H�M��QO�H�U�H��rH��H�M���L�u�H�]�D�u�H�T$`H��r
H��H�L$H��L�t$XH�\$`D�t$HH�U�H��r
H��H�L$h�t�L�t$xH�]�D�t$hH�U H��rH��H�M�P�H�U`H���lL��H���H����6?��L�u8H�]@D�u(L�
�E�ƺH�M(���H�]�L�}�����E�����E�D�u�L�u�H�]D�u�L�
ĿE�ƺH�M����L�u�H�]�D�u�L�
?�E��I��H�M����H�H��H�@���L��H�E(H�D$8H��`H�D$0H�E�H�D$(H���H�D$ L�M�RH�M���M�H�U�H��rH��H�M��9�L�u�H�]�D�u�H�UH��rH��H�M���L�u�H�]D�u�H�U�H��rH��H�M���L�u�H�]�D�u�H�U@H��r
H��H�M(����H��H��`H3�� H��pA_A^A]_^[]������������H�T$H�L$USVWAVH��H��pH��H��W��E�H�JH��t�AH�JH�H�E�H�M�H�U�H�������H���H�H�_H��t�CH�_H�GH�E�H�]�H��xH��0H�MHH�H�aH���3A��H��t9A����CA�u,H�H��H���A����CA�uH�H��H�@���H�_H��t�CH�_H�GH�E�H�]�H���H��@H�MHH�H�aH����H��t:A����CA�u-H�H��H����A����CA�uH�H��H�@�v��H�^H��t9A����CA�u,H�H��H��P�A����CA�uH�H��H�@�3�H��H��pA^_^[]�H�f�H�M��U���H�fkHH�M����H�E�H�M��4���H�EkHH�M�������H�\$WH��`H��H��H�L$8����H��H��H9�+H��H�H���H��xH���-H���H���H����H���H���H�aH�A����������H��H���Hǃ�H����H���H��H���H���H��H���Hǃ�H��H���Hǃ�W�AH���A� �	�H��H��$�H��`_�H�^RH�L$ �x��H��hHH�L$ ��H�;xH�L$ �U��H��hHH�L$ �p��H�RH�L$@�2��H��hHH�L$@�M��H��H�XH�hWH��PI��H��W��@�H�`�M���H�H�L�@����H�|$0tOH�\$0�)H�SH��rH��H����H�cH�C�H�� H;\$8u�H�T$@H+T$0H���H�L$0�|��H���H�H���H���+�H��H�\$`H�l$hH��P_�������@SH�� H��H���H��t����A��uH��H��E�H���H�KxH��t����A��uH��H���H�cxH��H�� [�P��@SH�� H��H��HH��t����A��uH��H����H��HH��8H��t����A��uH��H����H��8H��H�� [������@SH�� H��H�IH��t����A��uH��H��X�H�cH�� [��@SH�� H��H���H��rH��H������H���Hǃ�ƃ�H������H��x��H��8���H�S(H��rH��H�K���H�c H�C(�CH�� [���H��(�{�H��(����������H�\$H�t$WH�� H��H;�tGH�zL��rL�
H�zH;yw%H�yH��rH�1H�yL��H��I����>�E3�H����H�t$8H��H�\$0H�� _����������������@SH�� H�K�H��H���t
�`�H��H�� [������@SH�� H�C�H��H���t
�8�^H��H�� [������@SH�� H���H��H���t
���.H��H�� [������@SH�� H���H��H���t
���H��H�� [������H�\$WH�� H�ً�H��8��H�S(H��rH�KH�����H�c H�C(�C@��t
�xH���H��H�\$0H�� _��������������H�\$WH�� H�ً�H��8��H�S(H��rH�KH�����H�c H�C(�C@��t
��H���+H��H�\$0H�� _��������������H�\$WH�� ��H������t
��H����H�\$0H��H�� _�������������H�\$WH�� ��H���(�����t
�PH���H�\$0H��H�� _�������������H�\$WH�� ��H�������t
�(H���jH�\$0H��H�� _�������������H�\$WH�� H�ً�H��8�]�H�S(H��rH�KH���_��H�c H�C(�C@��t
�pH���H��H�\$0H�� _��������������H�ѵH�H�AH�BH�������������H��H�H�����H�IH�H�	顶���H�
阞����������H�	�H���������H���H�H�\$H�t$ UWAVH��$p���H��H�L�HH3�H���H��H��H���H���H+�H��H���&A�H��H�	�BH�H��H�@�t�H���pH;���H�H��H�@�S�H��L���H�������H��7L��H���H�L$0�m��W��D$ H�H�L$ H�HH�L$(H� H�`H�T$ H��@����H�\$8H��t=A��A����CA�u,H�H��H����A����CA�uH�H��H�@���H�H�[H��H�C@H�H0H�9L�q�2H�H��H�@�p�H��H���J����tH���H�����H�� I;�u�H�C�xtH�C�
H;Xu
H��H�@�xt�H���H��H��yuH��H�H�Ȁxt�{�k����$H��H�L$X��L��H���H��ߋ���H���H��rH��H������H���H3��[L��$�I�[0I�s8I��A^_]�H�<HH�L$@�f��H��_HH�L$@�����������������H�\$H�t$WH��@I�H��I��I��H��H�@�8�H;�u;H�H��H�@�#�H���H;�uAH��H���[H�\$PH��H�t$XH��@_�H�qmH�L$ ����H�H_HH�L$ ����H�~GH�L$ ���H�%_HH�L$ ������H�\$UVWATAUAVAWH��$p���H��H��HH3�H���H��L��H��0��H��@H���W�3���H���H��8H���D�xE3�H��t�D{H�SHH�����?�����H��t����C�uH�A��H��H����W�3���H���H��HH�\$@H��t�D{H�SHH����n?���H��t����C�uH�A��H��H����L�mx�H���D�mhL�
��E�ōVH�Mh�1���L�m�H�u�D�m�L�
��E�ōVH�M�����L�l$xH�u�D�l$hL�
x�E�ōV
H�L$h�����L�l$XH�t$`D�l$HL�
q�E�ōV0H�L$H����L���H���L+�I��H�H��H�@���L��H�EhH�D$8D�|$0H�E�H�D$(L�d$ L�L$h�VH�L$H���H�T$`H��r
H��H�L$H�a��L�l$XH�t$`D�l$HH�U�H��r
H��H�L$h�;��L�l$xH�u�D�l$hH�U�H��rH��H�M����L�m�H�u�D�m�H���H��rH��H�Mh����L���H���D���L�
��E�ź$H�������L�m�H�uD�m�L�
�E�źH�M�����L�m�H�u�D�m�L�
��E�źH�M��h���L�m�H�u�D�m�L�
�E�ź?H�M��C���L���H���L+�I��H�H��H�@�]�L��H���H�D$8�D$0H�E�H�D$(L�|$ L�MȺ/H�M��n����H�U�H��rH��H�M�����L�m�H�E�D�m�H�U�H��rH��H�M����L�m�H�E�D�m�H�UH��rH��H�M����L�m�H�ED�m�H���H��rH��H����g��M����A�I��H��;M����A�H��H��i;L���A�L���D���L�
+�E��A�WH��������L�mXL�}`D�mHL�
4�E��A�WH�MH�����L�m8L�}@D�m(L�
0�E��A�W
H�M(����L�mL�} D�mL�
4�E��A�W0H�M����H�H��H�@���L��H���H�D$8H��H�D$0H�EHH�D$(L�t$ L�M(A�W$H�M��3�H�U H��rH��H�M�2��L�mL�} D�mH�U@H��rH��H�M(���L�m8L�}@D�m(H�U`H��rH��H�MH����L�mXL�}`D�mHH���H��rH��H��������H���H+�H��H������H���H+�H��H�����I��H���H3��f
H��$�H�ĐA_A^A]A\_^]����������H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@�`�H;���H�H��H�@�G�H���CH;�uML��H�T$PH����H�H� H�H�L$PH��tH��H���H�\$XH��H�t$hH�l$`H��@_�H��@H�L$ ���H�=XHH�L$ ����H��fH�L$ ���H�XHH�L$ ������H��(eH�%X�
A�K�4H�ȋ
9+qKH�&�HH��(�H�
qK��=
qK�u�H�
5��0H�
�pK�t����H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@��H;���L��H�L$ H�����H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H��������C�uH�H��H�@���H�\$`H��H�l$hH�t$pH��P_�H��eH�L$0�Y���H��VHH�L$0�t�����H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0�O�H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H��������C�uH�H��H�@����H�L$(H��t=����A�u2H�\$(H�H��H��������C�uH�L$(H�H�@�k��H�_H��t5����C�u*H�H��H��G�����C�uH�H��H�@�,�H��L�\$`I�[I�kI�s I��_�H�TdH�L$@���H�cUHH�L$@���H�\$H�t$WH��@I�H��I��I��H��H�@���H;�u8H�H��H�@���H���H;�u>H��H������H�\$PH�t$XH��@_�H�LcH�L$ �^���H��THH�L$ �y��H�=H�L$ �;���H��THH�L$ �V�������H�\$H�t$WH��@I�H��I��I��H��H�@��H;�u8H�H��H�@��H���H;�u>H��H�����H�\$PH�t$XH��@_�H��bH�L$ ���H�+THH�L$ ����H�a<H�L$ ���H�THH�L$ ��������H�\$WH��PH��I9��I�����H�T$`H�D$`H�L$ �2��H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H��!�����C��uH�H��H�@��H�\$hH��H��P_�H�wbH�L$0����H�FSHH�L$0�������H��H�XH�HWH��H��M��D��H�T$ H�H �V���	H�T$ H�����H����H;8t5H�c8H�OpH��tH�H��H��j�H�C8H��H��$�H�Ġ_�H��cH�L$8衾��H��H�
��H�V�L��H��H�L$X�"���L�BcH��H�L$x�
���H��H�L$ �/��H�PSHH�L$ ����������������@SH��0D�L$ L�D$0H�T$(3�H���H�H��H�L$(H�BH��H�BH�T$(����H��H��0[��H��(�
>�KeH�%X�4H�ȋ
93kKH�kKH��(�H�
kK���=kK�u�W���jK�x�H�H�@H�@f�@H��jKH�
��	�H�
�jK�:�H�\$WH�� H�YH��A�H��t	�DCH�YH�QH�GTH�G H�OPL�GH�GXH�G0W�L�G(H�GdH�G@H��H�A� H�GH�OH�G8H�GHA���H��t9����C��u,H�H��H��_�����S��uH�H��H�B�B�H�\$@H��H�� _�@UH�l$�H��H���HH3�H�EGH�EH�E�H���H�EH�MH�EH�E?H�e�H�E��E�L�
�E3�A�PH�M�����H�UH�M����H�MGH3��gH�Ġ]���H�\$WH��0H��H����H�KH�T$HL��D$(�D$ L�I H�I�H��H��H;�t+H�H��t����Q��uH�H��G�H�H�H�#H�L$HH��t#����A��uH��tH��H���H�\$PH��0_������H�\$H�t$WH��@I�H��I��I��H��H�@���H;�u^H�H��H�@���H���H;�uH��H���[H�\$PH��H�t$XH��@_�H�A7H�L$ �k���H��NHH�L$ ���H��\H�L$ �H���H��NHH�L$ �c����H�\$H�t$ UWAVH��$��H�� H���HH3�H��L��H��H�L$0W�D$`H�ZH��t�CH�ZH�BH�D$`H�\$hH�T$0I���H�0H� H�t$pH�L$0H��tH��H�@���3�D�BHH�M���L�5
YL�u�W��D$(L�D$ H�T$(H�M�����H�D$xH�D$8L�t$xL�D$!H�U�H�M����H�D$XH�D$P����D$@����D$H���f�D$L�D$NL�D$xH�T$@H���1��3�A��H�M�t��H�M�vn���H�A��E��H�U H��H����H��H�M(�+���H����b����H�;H���H����G��H�U�H�M�H+�H���b��W�fE�H�e�H�M������H�A�VH��H�@�g��H��t9A����CA�u,H�H��H��E�A����SA�uH�H��H�B�(�H��H��H3���L��$ I�[0I�s8I��A^_]���@UH��H��H�E�H�EH���H�E�H�E�H�E�H�e�H�E��E�L�
U�E3�A�PH�M��m���H�U�H�M����H�Ā]�������H��HH���H�xrH�H���������H����H�$H����H�D$H���($H�D$H�����H�D$(L$�����H��xH���H���H���H��H������@SH��H��H���H�T$ ����H�ð��HK@ C H0K0@@C@HPKP@`C`H�@pH�C�@CH K @0C0H@K@H�@PH�CPH��[�H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�
H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@���H���H;�u#L��H��H���XH�\$PH�l$XH�t$`H��@_�H�X2H�L$ ��H��IHH�L$ ���@SH��@H���JH9u	H��H��@[�H�aZH�L$ �C�H��IHH�L$ �^���H�\$WH��H���HH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@���H�L$xH��tYH�H��H�@���H�H�L$xH��tH�H�T$@H;���H�@ ���H��H��$�H3��i�H��$�H�Đ_����H��XH�L$(�u�H��HHH�L$(������@SH��@H�BH9Hu;L��H�L$PH�T$ E3�����H�T$ H��葠��H���H;��H��@[�H�zXH�L$ ��H��HHH�L$ �����@SH��H�BL��H9HuJH�T$@I���)�d$0H��HH�T$(�L$ �H�T$ H������H���H;��H��[�H��WH�L$ ��H��GHH�L$ ����H��H�XH�hH�p H�HWH�� I��H��H���@�H��H�D$0H��t,W���C�CH���H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H���`�$�H��H�D$0H��t)W���C�CH�/�H�H�KH���3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H�����H��H�D$0H��t,W���C�CH�X�H�H�KL��H���
����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H���x	�H�d�H�L�wI�I��H�@���H���iH;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H��Y�����C�uH�H��H�@�>��H��H�\$XH�t$`H�|$hH��@A^�H��-H�L$ ��H�tEHH�L$ ����L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��H�*�H�H�[H��t9����C��u,H�H��H��������C��uH�H��H�@�}�H��H�\$PH��0_����H�\$ UVWATAUAVAWH�l$�H���H�чHH3�H�EM��H��L��H�M�I���m��D��M��H��I���4����H�ԘI�W��M� �O�H�H�@H�@f�@H�EI�^E3�H��t�CI�^I�~H��t8������C�u*H�H��H��������C�uH�H��H�@���H��@H��8H��H+�H��>D�k�H;���L�e�L�m�D�e�L�
٘E�čS	H�M��
����L�e�L�m�D�e�L�
��E�ċ�H�M�����I�I��H�@��L��L�M׍S1H�M���H�U�H��rH��H�M�轺��L�e�L�m�D�e�H�U�H��rH��H�M�蛺��A�I;���L�e�L�m�D�e�L�
��E�ĺRH�M��X����L�e�L�m�D�d$ L�
K�E��H��H�L$ �3����I�I��H�@�b�L��L�M��sH�L$ ���H�U�H��r
H��H�L$ ����L�e�L�m�D�d$ H�U�H��rH��H�M����A��	H���/I��H��@H��8H��H+�H�H;��vfD9Z��L�e�L�m�D�e�L�
/�E�ĺ_H�M��n����L�e�L�m�D�d$ L�
a�E�ĺ>H�L$ �G����I�I��H�@�v�L��L�M��yH�L$ ���H�U�H��r
H��H�L$ ����L�e�L�m�D�d$ H�U�H��rH��H�M����H��@H��8H+�H�H;���H�MH�AD8`uD�ZfD9@sH�@�H��H�D8`t�D8au
�Af9ZsH�MH;M��L�e�L�m�D�e�L�
{�E�ĺWH�M��Z����L�e�L�m�D�d$ L�
M�E�ĺ>H�L$ �3����I�I��H�@�b�L��L�M��}H�L$ ���H�U�H��r
H��H�L$ ����L�e�L�m�D�d$ H�U�H��rH��H�M����H��8H��@H+�H�H;���L�YH�U�H�M����H��H;�A�����H�EH�X�!L�CH�UH�M���H��H�� �v���D8ctٺ H�M�b����I��H�MH3��2�H��$(H���A_A^A]A\_^]�����H�\$H�T$WH��0H��H��W��D$ L�JM��t	�A�AL�JH�H�D$ L�L$(H�T$ ����H���H�Ƈ�H�[H��t9����C��u,H�H��H�������C��uH�H��H�@�ƿH��H�\$PH��0_���������H�\$H�l$ VWAVH�� 3�H��H�H�YH�YL�2H�jL;�tcI+�H��������H��H�H;�waH�H��r
H��薵���
H��tH����H��H�H�H�_L��H�OI��H����H�H�OH�\$PH��H�l$XH�� A^_^��������H�\$H�L$WH��@H��H��覱���H�ޑH��H9u8H��H������0H���H��8����H��H�\$XH��@_�H�RMH�L$ �l�H��=HH�L$ �����@SH�� H��H�	H��t H�SH+�H�H��!���H�#H�cH�cH�� [��@SH�� H��H��8H��t-H��HH+�H�H����H��8H��@H��HH��8���H�S(H��rH�KH��訴��H�c H�C(�CH�� [��@SH�� H��H��H���t
�@�.�H��H�� [������@SH�� H��H��H���t
�`��H��H�� [������@SH�� H���H��H���t
�����H��H�� [������H�\$WH�� ��H�������t
�PH����H�\$0H��H�� _�������������H���H�H�����H�
�x����������H�I�H���������H�\$H�t$WH��@I�H��I��I��H��H�@���H;�u;H�H��H�@���H���GH;�uAH��H���[H�\$PH��H�t$XH��@_�H��IH�L$ �+�H��;HH�L$ �F��H��#H�L$ ��H��;HH�L$ �#����H�\$UVWATAVH��$`���H��H�v~HH3�H���H��L��H���H���H+�H��H����A�H��H�	�W�D$HH�sH��t�FH�sH�SH�T$HH�t$P3���H���H��8H�������W�3�H��H��0��L$8H��@��L$<H��P�A�D$@��D$D���H��D�L$0L�D$HH�T$8H����޳���W�3�H���!D$4���H!��L�D$4�PH��������A�A��E��L���L���H���I;�t#�A;�t	H��I;�u�I;�t
H��x3A��H����H��x&H��A��H��H��I+�H��H;��iA����H���L���I+�H��I;��@C��I���u���H���H�M����H�؋G�D$ D�OD�G�H�L$X��L��H�\$ D��H��I�������H���H��t&H���H+�H��舰��W����H���M��tH��I+�H��I���Z����H���t!H���H+��H�H�H����/����H��t8������F�u*H�H��H��<�����V�uH�H��H�B�!�I��H���H3���H��$�H�ĠA^A\_^]�����
��������������H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@���H;���H�H��H�@���H���[
H;�uML��H�T$PH���.�H�H� H�H�L$PH��tH��H��U�H�\$XH��H�t$hH�l$`H��@_�H��H�L$ ��H��7HH�L$ �+��H��EH�L$ ����H�j7HH�L$ ������H��(eH�%X�
�tK�4H�ȋ
9�PKH�~rHH��(�H�
~PK�E��=rPK�u�H�
Շ��H�
]PK�������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@�`�H;���L��H�L$ H�����H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H��	�����C�uH�H��H�@��H�\$`H��H�l$hH�t$pH��P_�H��DH�L$0���H�&6HH�L$0�������H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0���H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H�������C�uH�H��H�@���H�L$(H��t=����A�u2H�\$(H�H��H��ص����C�uH�L$(H�H�@����H�_H��t5����C�u*H�H��H��������C�uH�H��H�@�|�H��L�\$`I�[I�kI�s I��_�H��CH�L$@�6��H��4HH�L$@�Q��H�\$H�t$WH��@I�H��I��I��H��H�@��H;�u8H�H��H�@��H����	H;�u>H��H���o�H�\$PH�t$XH��@_�H��BH�L$ ���H�+4HH�L$ ����H�aH�L$ ���H�4HH�L$ ��������H�\$H�t$WH��@I�H��I��I��H��H�@�h�H;�u8H�H��H�@�S�H���	H;�u>H��H���/�H�\$PH�t$XH��@_�H��AH�L$ ���H�{3HH�L$ ���H��H�L$ ����H�X3HH�L$ ��������H�\$WH��PH��I9��I���6�H�T$`H�D$`H�L$ ��H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H��q�����C��uH�H��H�@�T�H�\$hH��H��P_�H��AH�L$0���H��2HH�L$0�4�����H��H�XH�HWH��H��M��D��H�T$ H�H 覬���H�T$ H���0���H���H;8t5H�c8H�OpH��tH�H��H����H�C8H��H��$�H�Ġ_�H��BH�L$8��H��H�
װH���L��H��H�L$X�r����L��BH��H�L$x�]����H��H�L$ ����H��2HH�L$ �N���H��(�
�nKeH�%X�4H�ȋ
9�JKH��JKH��(�H�
�JK���=�JK�u�W���JK�x�/�H�H�@H�@f�@H��JKH�
����H�
�JK����������������H�\$H�t$WH��@I�H��I��I��H��H�@�x�H;�u^H�H��H�@�c�H���'H;�uH��H���[H�\$PH��H�t$XH��@_�H��H�L$ ���H��0HH�L$ �&��H�N>H�L$ ����H�e0HH�L$ �����H�\$UVWATAUAVAWH��$���H��H�RsHH3�H���H��L��H�L$8W�E�H�ZE3�H��t�CH�ZH�zH�}�H�]�H�T$8H���L�8L�(L�}H�L$8H��tH��H�@�[�H���H���H+�H��H���L�!��D��3�H������H����P���D��3�H����q��H����pP���I��H��@H��8H��H+�H�tsH+�H�H;����rH������H��@H+�8H�H��H�
�H��FH;�HD�H�����H��H��@H��8H��H+�H�H;�r�L����H���D�����0������to��tT��t9��tL�
]�E�ōVH����˩�����Hf�����H�z�%�f������d��f������NHDž�������ڂf����ς���D����,���f������D������HDž�3�D�BHH�����H�=�8H���W��D$0L�D$(H�T$0H���胗���H�E�H�D$ I�$I��H�@��L�m�L�m�H��H�M�����H�u�H�E�H�input idH�E�D�m�L�E�H�U�H����]���H�E�H�D$ L�mL�mH���H�M��\����H�u�H�E��E�modeD�m�L�E�H�U�H�������H�EH�D$ H�UH���G���H�t$XH�D$P����D$@����D$H���f�D$LD�l$NL�EH�T$@H���誉��H�E8H�D$ H�}8L�D$)H���H�M@�x����H�t$xH�D$p
�9��D$`�5��D$h�/��D$lD�l$mL�E8H�T$`I��轭��I���D��H��I��H����I��H���f
���H���H���H+�H���+���W�f��L���H���葬���H���H��rH��H�����L���HDž�D���H����l���H�=KH���H������H����sl���H���H����_��I��I��H�@����H��t5����C�u*H�H��H��������S�uH�H��H�B�n�I��H���H3���H��$PH��A_A^A]A\_^]��\����V����@UH��H��H�E�H�EH���H�E�H�E�H�E�H�e�H�E��E�L�
=~E3�A�PH�M�襥���H�U�H�M��ש��H�Ā]���������������H����0���H��8H��@H+�H�$H�H�L$$���H�����H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�!H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@�#�H���k��H;�u#L��H��H���	H�\$PH�l$XH�t$`H��@_�H��H�L$ ����H�C)HH�L$ ���L��SVWH��`H�GlHH3�H�D$PH��H��I�S�E�C�I�S�I�K��H��H�OL��H�T$0舃��H�H��0H���~���H�\$(H��t9������C�u+H�H��H��Q�����C�uH�H��H�@�6��H�VH��rH��H���H�fH�F�H�L$PH3���H��`_^[����@SH��@H���:��H9u	H��H��@[�H��8H�L$ ���H�,(HH�L$ �ʹ��H�\$WH��H�,kHH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@�W�H�L$xH��tYH�H��H�@�]�H�H�L$xH��tH�H�T$@H;���H�@ �8�H��H��$�H3����H��$�H�Đ_����H�W7H�L$(����H�^'HH�L$(�����@SH��@H�BH9Hu;L��H�L$PH�T$ E3��s����fWH�T$ H���~��H���QWH;��H��@[�H��6H�L$ �p��H��&HH�L$ 苸���@SH��H�BL��H9HuJH�T$@I�����d$0H��HH�T$(�L$ ��VH�T$ H���{~��H����VH;��H��[�H�a6H�L$ ����H�h&HH�L$ ����@SUVWATAUAVAWH��HH�aiHH3�H��$0I��M��D��L��$�H��$���$�L��$�;���3�A��H�L$0���H�L$0�F���H��H�{rH�L�CH�L$@�o��H��"H���`��H�ȋ��F ��H��H�l@�G��H��H�rH�L�GH���.��H��"H�����H�ȋ�� ��H��H�����H���n��L�l$ L�L$0M��A��I�����H��$��hf���H�H��$�H��$��K��H��$0H3��J�H��HA_A^A]A\_^][���H��SUVWAVAWH��h)p�)x�H��gHH3�H��$0I��M���H����$�H��$���$�L��$�.�z��3�A��H�L$0�~��H�L$0�E���H��H�{rH�L�CH�L$@����H�p!H������H��(�艜��H��H�W!����H��H�rH�L�GH�����H�.!H�����H��(��G���H��H�=���H������L�|$ L�L$0M�Ƌ�H���a��H��$���d���H��H��$�H��$����H��$0H3����L��$hA(s�A({�I��A_A^_^][����H��H�XH�hH�p H�HWH�� I��H��H���X�!�H��H�D$0H��t,W���C�CH���H�H�KL��H�������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H������H��H�D$0H��t)W���C�CH�KH�H�KH����3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H�\$WH�� H��H��� �"�H�D$0L��H��t0W��A�@A�@H�#�I�H���I�@�A�@�E3�I�@W�H�H��L�CH�\$8H�� _����H��H�XH�hH�p H�HWH�� I��H��H������H��H�D$0H��t,W���C�CH�H�H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�aH��H�a���H��H�XH�pH�x H�HAVH��@I��H���`��H�yH�L�wI�I��H�@���H����	��H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H��A�����C�uH�H��H�@�&��H��H�\$XH�t$`H�|$hH��@A^�H��H�L$ ����H�\ HH�L$ ���L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S����H��wH�H�[H��t9����C��u,H�H��H��������C��uH�H��H�@�e�H��H�\$PH��0_����H��H�X UVWATAUAVAWH��X���H��p)p�H��bHH3�H��PI��H��L��H�M�I���J���D��L��H��I���)����H�ywI�H���H�EP�H�]XH���H�E`D�c�L�ehH���H�EpL�exH���H����s�H���H���H���D�s�L���W�����I�WpH���D�CH���軾H���H���H+�H��E3�H����E��H���H�	�,�H��PH���H�E H�E�H�]�H�E H�E�L�e�H�E$H�E�L�e�H�E(H�EH�uH�E4H�EL�u(��)E (��)M0L�m��sH�u�D�m�L�
�}E�ō^��H�M��`����L�m�H�u�D�m�L�
|}E��E�t$A��H�M��8����L�l$pH�t$xD�l$`L�
q}E�ŋ�H�L$`�����L�l$PH�t$XD�l$@L�
KvE�ō^2��H�L$@����H�H��H�@��L��H�E�H�D$8H��hH�D$0H�E�H�D$(H���H�D$ L�L$`�SmH�L$@蕁���H�T$XH��r
H��H�L$@萔��L�l$PH�t$XD�l$@H�T$xH��r
H��H�L$`�i���L�l$pH�t$xD�l$`H�U�H��rH��H�M��D���L�m�H�u�D�m�H�U�H��rH��H�M��"���L�m�H�u�D�m�L�
o|E��I��H�M����L�l$PH�t$XD�l$@L�
	|E��I��H�L$@�ɗ���L�l$pH�t$xD�l$`L�
B|E��I��H�L$`袗���L�m�H�u�D�m�L�
�tE��H��H�M������H�H��H�@���L��H�E�H�D$8H��hH�D$0H�D$@H�D$(H�EXH�D$ L�L$`��H�M��,����H�U�H��rH��H�M��)���L�m�H�u�D�m�H�T$xH��r
H��H�L$`����L�l$pH�t$xD�l$`H�T$XH��r
H��H�L$@�ޒ��L�l$PH�t$XD�l$@H�U�H��rH��H�M�蹒��D��0E��E����W�A��D;�0�H�KL���H���I+�H��H;���A�H��PI���I�Oh�Ma������Hc�0D;���H�HH�L���H���I+�H��H;���A�H���I���9�L�m�H�u�D�m�L�
�zE�źH�M��ѕ���L�l$pH�t$xD�l$`L�
�zE�źH�L$`訕���H�t$XH�D$P
�qz�D$@�mz�D$H�gz�D$LD�l$ML�m�H�u�D�m�H��rL��E�źAH�M��K����H�H��H�@�z�L��H�E�H�D$8�D$0H�D$`H�D$(H�����L$ L�L$@��H�M��d���H�U�H��rH��H�M����L�m�H�u�D�m�H�T$XH��r
H��H�L$@�ѐ��L�l$PH�t$XD�l$@H�T$xH��r
H��H�L$`誐��L�l$pH�t$xD�l$`H�U�H��rH��H�M�腐��L�m�H�u�D�m�L�
yE�źH�M��Q����L�l$pH�t$xD�l$`L�
*yE�źH�L$`�(����H�t$XH�t$P�%y�D$@�!y�D$H�yf�D$L�y�D$ND�l$OL�m�H�u�D�m�L��E�źAH�M��ʓ���H�H��H�@���L��H�E�H�D$8�D$0H�D$`H�D$(H����L$ L�L$@��H�M���
���H�U�H��rH��H�M��t���L�m�H�u�D�m�H�T$XH��r
H��H�L$@�P���L�l$PH�t$XD�l$@H�T$xH��r
H��H�L$`�)���L�l$pH�t$xD�l$`H�U�H��rH��H�M�����L�m�H�u�D�m�L�
�wE�źH�M��В���L�l$pH�t$xD�l$`L�
�wE�źH�L$`角���H�t$XH�t$P��w�D$@��w�D$H��wf�D$L��w�D$ND�l$OL�m�H�u�D�m�L��E�źAH�M��I����H��H�H��H�@�q�L��H�E�H�D$8�D$0H�D$`H�D$(�C�D$ L�L$@��H�M��a���H�U��H;�rH��H�M����L�m�H�u�D�m�H�T$XH;�r
H��H�L$@�ˍ��L�l$PH�t$XD�l$@H�T$xH;�r
H��H�L$`襍��L�l$pH�t$xD�l$`H�U�H;�rH��H�M�聍��L�m�H�u�D�m�L�
vE�źH�M��M����L�l$pH�t$xD�l$`L�
�vE�źH�L$`�$����H�t$XH�t$P��v�D$@�}v�D$H�vvf�D$L�mv�D$ND�l$OL�m�H�u�D�m�L�
#nE�źAH�M�����H�H��H�@��L��H�E�H�D$8�D$0H�D$`H�D$(H���H�L$ L�L$@��H�M���
���H�U�H;�rH��H�M��l���L�m�H�u�D�m�H�T$XH;�r
H��H�L$@�I���L�l$PH�t$XD�l$@H�T$xH;�r
H��H�L$`�#���L�l$pH�t$xD�l$`H�U�H;�rH��H�M����L�m�H�u�D�m�L�
\uE��H��H�M��͏���L�l$PH�t$XD�l$@L�
NuE�źH�L$@褏���L�l$pH�t$xD�l$`H�EuH�L$`�#����L�m�H�u�D�m�H��lH�M������H�E��A����H�H��H�@���L��H�E�H�D$8�\$0H�D$@H�D$(H����L$ L�L$`��H�M��w	���H�U�H��rH��H�M�����L�m�H�u�D�m�H�T$xH��r
H��H�L$`���L�l$pH�t$xD�l$`H�T$XH��r
H��H�L$@轊��L�l$PH�t$XD�l$@H�U�H��rH��H�M�蘊��I�WpH�� H����Q��L�m�H�u�D�m�H�&tH�M�����L�l$PH�t$XD�l$@H�nrH�L$@�Ԇ���L�l$pH�t$xD�l$`H�tH�L$`賆���L�m�H�u�D�m�H�OkH�M�薆���H�H��H�@�%�L��H�E�H�D$8H��hH�D$0H�D$@H�D$(H��hH�D$ L�L$`��H�M��v���H�U�H��rH��H�M�蝉��L�m�H�u�D�m�H�T$xH��r
H��H�L$`�y���L�l$pH�t$xD�l$`H�T$XH��r
H��H�L$@�R���L�l$PH�t$XD�l$@H�U�H��rH��H�M��-���L�m�H�u�D�m�H�sH�M�衅���L�l$PH�t$XD�l$@H�
sH�L$@者���L�l$pH�t$xD�l$`H��rH�L$`�_����L�m�H�u�D�m�H��iH�M��B����H���H���n�H��H�H��H�@���L��H�E�H�D$8�t$0H�D$@H�D$(��x�D$ L�L$`��H�M����H�U��H;�rH��H�M��7���L�m�H�u�D�m�H�T$xH;�r
H��H�L$`����L�l$pH�t$xD�l$`H�T$XH;�r
H��H�L$@���L�l$PH�t$XD�l$@H�U�H;�rH��H�M��ʇ��L�m�H�u�D�m�H��qH�M��>����L�l$PH�t$XD�l$@H��qH�L$@�����L�l$pH�t$xD�l$`H��qH�L$`����L�m�H�u�D�m�H��hH�M��߃���H�H��H�@�n�L��H�E�H�D$8H���H�D$0H�D$@H�D$(H���H�D$ L�L$`��H�M���s���H�U�H;�rH��H�M����L�m�H�u�D�m�H�T$xH;�r
H��H�L$`���L�l$pH�t$xD�l$`H�T$XH;�r
H��H�L$@螆��L�l$PH�t$XD�l$@H�U�H;�rH��H�M��z���L�m�H�u�D�m�H�qH�M�����L�l$PH�t$XD�l$@H�'qH�L$@�͂���L�l$pH�t$xD�l$`H�qH�L$`謂���L�m�H�u�D�m�H�HgH�M�菂���H�H��H�@��L��H�E�H�D$8�D$0H�D$@H�D$(H�E�H�D$ L�L$`��H�M��,q���H�U�H;�rH��H�M�螅��L�m�H�u�D�m�H�T$xH;�r
H��H�L$`�{���L�l$pH�t$xD�l$`H�T$XH;�r
H��H�L$@�U���L�l$PH�t$XD�l$@H�U�H;�rH��H�M��1���L�m�H�u�D�m�H�.pH�M�襁���L�l$PH�t$XD�l$@H�>pH�L$@脁���L�l$pH�t$xD�l$`H�5pH�L$`�c����L�m�H�u�D�m�H��eH�M��F����H�H��H�@�ՍL��H�E�H�D$8�D$0H�D$@H�D$(H�E�H�D$ L�L$`��H�M���o���H�U�H;�rH��H�M��U���L�m�H�u�D�m�H�T$xH;�r
H��H�L$`�2���L�l$pH�t$xD�l$`H�T$XH;�r
H��H�L$@����L�l$PH�t$XD�l$@H�U�H;�rH��H�M����L�m�H�u�D�m�H�EoH�M��\����L�l$PH�t$XD�l$@H�=oH�L$@�;����L�l$pH�t$xD�l$`H�<oH�L$`�����L�m�H�u�D�m�H��dH�M�����H����H���+��A����H�H��H�@�r�L��H�E�H�D$8H�����L$0H�D$@H�D$(�\$ L�L$`��H�M����H�U�H��rH��H�M���L�m�H�u�D�m�H�T$xH��r
H��H�L$`�͂��L�l$pH�t$xD�l$`H�T$XH��r
H��H�L$@覂��L�l$PH�t$XD�l$@H�U�H��rH��H�M�聂����X��H���L�m��H�]�D�m�H�
lH�M���~���L�l$PH�\$XD�l$@H��mH�L$@�~���L�l$pH�\$xD�l$`H��mH�L$`�~���L�m�H�]�D�m�H�6cH�M��}~���H�H��H�@��L��H�E�H�D$8H�����L$0H�D$@H�D$(��D$ L�L$`��H�M�����H�U�H��rH��H�M�艁��L�m�H�]�D�m�H�T$xH��r
H��H�L$`�e���L�l$pH�\$xD�l$`H�T$XH��r
H��H�L$@�>���L�l$PH�\$XD�l$@H�U�H��rH��H�M�����L�m�H�]�D�m�H��jH�M��}���L�l$PH�\$XD�l$@H��lH�L$@�l}���L�l$pH�\$xD�l$`H��lH�L$`�K}���L�m�H�]�D�m�H��aH�M��.}���H���H�H��H�@���L��H�E�H�D$8�C�D$0H�D$@H�D$(�F�D$ L�L$`��H�M�����H�U�H��rH��H�M��8���L�m��H�u�D�m�H�T$xH��r
H��H�L$`����L�l$pH�t$xD�l$`H�T$XH��r
H��H�L$@����L�l$PH�t$XD�l$@H�U�H��rH��H�M�����A��E;���I��H��PH3�腼L��$pI�[XA(s�I��A_A^A]A\_^]��ж���H�0H�L$@肩��H�'
HH�L$@蝙�觶���衶���H��_H�L$@�S���H��	HH�L$@�n���H�\$H�T$UVWH��0H��H��W��D$ H�JH��t�AH�JH�H�D$ H�L$(H�T$ H���)�H�B_H�H�{H��t�GH�{H�CH���H�AH+H����0��H��t5����G�u*H�H��H��������G�uH�H��H�@���f��4H�{H��t�GH�{H�C����8H��t5����G�u*H�H��H��U�����G�uH�H��H�@�:�H�{H��t�GH�{H�C����<H��t5����G�u*H�H��H��������G�uH�H��H�@�߆H�{H��t�GH�{H�C����@H��t5����G�u*H�H��H��������G�uH�H��H�@���ƃ�H�~H��t5����G�u*H�H��H��Z�����G�uH�H��H�@�?�H��H�\$`H��0_^]����H�\$UVWATAUAVAWH��H��PL��L��H�M���x���H���I��F�I9E��H�
�I�I��I���I��8I��I��hI��M���M��A��A��A��A��I��pI�� ILJ(I��0�I��8I��tI��@I��HI��xI��PILJXI���I��`D�bM��hW�AI���E�D$�`�I���I���ILJ�I���A�T$�I���I���I���I���I���I���ILJ�I���I���M���W�AI��E�D$�֣I��`I��ILJI�� A�T$�I��(I��dI��0I��8I��hI��@ILJHI��tI��PM��XW�AI��PE�D$�L�A��p��A���A��tA���A��|��A���I���I���ILJ�I���A�T$�I���I���I���I���I���I���ILJ�I���I���M���W�AI���E�D$萢A��A��I��hI��ILJ I��(A�T$�I��0I��lI��8I��@I��pI��HILJPI��|I��XM��`W�AI��0E�D$�I���I���ILJ�I���A�T$�I���I���I���I���I���I���ILJ�I���I���M���W�AI��pE�D$�n�A���E�H�U�H���au���A���E�H�U�H���Gu���A���E�H�U�H���-u���A���E�H�U�I���u���E��xE����I���H�PL�H��I+�H��I��L�@L�I��I+�H��H;�t	M+�I�� sHI+�H��L;�u<I��H��$�H��PA_A^A]A\_^]�H��H�M�����H��HH�M��!��H��WH�M����H�aHH�M�������H�\$fo��L�QPH��L�L�QA��H�AD�ڹH�HL�HTH�H(H�PXL�H H�HdH�H@�L$(H�P0H�@8H�@HAAB�H\�L$0�H�\$�H`E�E���H�H���@SH�� H��cH��H���t
�X�βH��H�� [������@SH�� H��cH��H���t
� 螲H��H�� [������@SH�� H�cH��H���t
���n�H��H�� [������H�\$WH�� ��H���v����t
�HH���:�H�\$0H��H�� _�������������H�aH�A�����������������H�\$H�t$WH��@I�H��I��I��H��H�@�HH;�u;H�H��H�@�3H���{�H;�uAH��H���[H�\$PH��H�t$XH��@_�H��H�L$ �ۦ��H�X�GH�L$ ��H���H�L$ 踦��H�5�GH�L$ �ӏ���H�\$UVWATAUAVAWH��$p���農H+�H�AHH3�H���H��L��E3�D�t$HW�D$PH�BE�fH��t	�D`H�BL�zL�|$PH�D$XH���H���H+�H��H����&E��H��
H�	�$���0��&H���H���H+�H��I;���&E��H��H�I���H��PH���H��H��PH��L��H��TH�� L��(H��XH��0HDž8H��dH��@HDžHW��P�`I��p�_D��H��P袜H���H���H���H���H���L���H���H���L���H���H���HDž�H���H���HDž�W�����I���D��H����
�H��PH��H��H��PH��L��H��TH�� L��(H��XH��0HDž8H��dH��@HDžHW��P�`I��`D��H��P�r�I���L�`L+ I��H���H���H���H���H����W�H���H���H���H���H���H���HDž�H���H���HDž�(�`)��(�p)��H��
H�L$@H�~H��H��t�WH�~H��H�FH��0�t"H��t�SH�^H�FD��H��0H�D$@�H�\$@D��tBE3�H��t=����C;�u1H�H��H���z����C��uH�H��H�@��z�E3�H��t9����G��u,H�H��H���z����G��uH�H��H�@��zL��P�H��XD��@L�
�E�ƍWH��@�u���H�}�H�E��:R�E��5R�E�D�u�L�uPH�}XD�u@L�
RE�ƍ_��H�M@��t���L�u0H�}8D�u L�
RE�ƍW2H�M �t���H�H��H�@��yL��H��@H�D$8D�t$0H�E�H�D$(H�����L$ L�M@�W'H�M ����H�U8H;�rH��H�M �bp��L�u0H�}8D�u H�UXH;�rH��H�M@�Ap��L�uPH�}XD�u@H�U�H;�rH��H�M�� p��L�u�H�}�D�u�H��XH;�rH��H��@�o��L��pH��xD��`L�
�E�ƺ(H��`�s���H�}�H�E���P�E���P�E�D�u�L���H���D���L�
QE��H��H����hs���L�upH�}xD�u`L�
�PE�ƺAH�M`�Cs���H���H�H��H�@�kxL��H��`H�D$8D�t$0H�E�H�D$(�C�D$ L����7H�M`�*���H�UxH��rH��H�M`��n��L�upH�}xD�u`H���H��rH��H�����n��L���H���D���H�U�H��rH��H�M��n��L�u�H�}�D�u�H��xH��rH��H��`�pn��L���H���D���L�
�OE�ƺ+H����0r���H�|$x�H�\$p�JO�D$`�DO�D$dD�t$eL���H���D���L�
�OE�ƍSH�����q���L���H���D���L�
OE�ƍS<H����q���H�H��H�@��vL��H���H�D$8D�t$0H�D$`H�D$(H��0��L$ L����S3H�������H���H��rH��H����Km��L���H���D���H���H��rH��H����m��L���H���D���H�T$xH��r
H��H�L$`��l��L�t$pH�|$xD�t$`H���H��rH��H�����l��L��0H��8D�� L�
�NE�ƺ,H�� �p���H�}�H�]���M�E���M�E�D�u�L��H��D��L�
oNE�ƺH���3p���L���H���D���L�
fME�ƺAH����p���H��0H�H��H�@�*uL��H�� H�D$8D�t$0H�E�H�D$(�C�D$ L���9H�����
���H���H��rH��H����k��L���H���D���H��H��rH��H���pk��L��H��D��H�U�H��rH��H�M��Ek��L�u�H�}�D�u�H��8H��rH��H�� �k��L���H���D���L�
1ME�ƺ!H�����n���L��pH��xD��`L�
(ME�ƻ��H��`�n���L��PH��XD��@L�

ME�Ƌ�H��@�|n���L��0H��8D�� H��KH�� ��f���H��0��H�H��H�@�wsL��H���H�D$8H��@
��L$0H��`H�D$(�\$ L��@�:H�� �?���H��8H��rH��H�� ��i��L��0H��8D�� H��XH��rH��H��@�i��L��PH��XD��@H��xH��rH��H��`�i��L��pH��xD��`H���H��rH��H����Si��L���H���D���H�gKH����e���L���H���D���H��KH����e���L���H���D���H��KH����ie���L���H���D���H��IH����@e���H��@
H��0�x�H�H��H�@��qL��H���H�D$8�C�D$0H���H�D$(�|$ L����;H�������H����H;�rH��H����-h��L����H���D���H���H;�rH��H����g��L���H���D���H���H;�rH��H�����g��L���H���D���H���H;�rH��H����g��L��H��D��H�4JH���d���L��0H��8D�� H���H�� ��c���L��H��D��H�JH���c���L���H���D���H�AHH����c���H�H��H�@�pL��H��H�D$8D�t$0H�� H�D$(H�� ��L$ L���<H������H���H;�rH��H����f��L���H���D���H��H;�rH��H���Sf��L��H��D��H��8H;�rH��H�� �#f��L��0H��8D�� H��H;�rH��H����e��L��0H��8D�� H��HH�� �[b���L���H���D���H��H����2b���L��pH��xD��`H��HH��`�	b���L��PH��XD��@H��FH��@��a���H�H��H�@�onL��H�� H�D$8D�t$0H���H�D$(H����L$ L��`�=H��@�R��H��XH;�rH��H��@��d��L��PH��XD��@H��xH;�rH��H��`�d��L��pH��xD��`H���H;�rH��H����~d��L���H���D���H��8H;�rH��H�� �Nd����
!�L���H���D���H�eGH����`���L���H���D���H�EH����`���L���H���D���H�CGH����W`���L���H���D���H��DH����.`���H���H�H��H�@��lL��H���H�D$8D�t$0H���H�D$(�C�D$ L����EH����o���H���H��rH��H����*c��L���H���D���H���H��rH��H����b��L���H���D���H���H��rH��H�����b��L���H���D���H���H��rH��H����b��L��PH��XD��@H�FH��@�^���L��PH��XD��@H�rCH��@��^���L��0H��8D�� H��EH�� �^���L��H��D��H�@CH���^���H��0H�H��H�@�kL��H��@H�D$8D�t$0H��@H�D$(�C�D$ L�� �FH�������H��H��rH��H���a��L��H��D��H��8H��rH��H�� �Oa��L��0H��8D�� H��XH��rH��H��@�a��L��PH��XD��@H��XH��rH��H��@��`��L��pH��xD��`H�CH��`�U]���L���H���D���H�xDH����,]���L���H���D���H�gDH����]���L��pH��xD��`H��AH��`��\���H��@
H��0�x�H�H��H�@�ViL��H��`H�D$8�C�D$0H���H�D$(�|$ L����GH��`�$���H��x�H;�rH��H��`��_��L��p�H��xD��`H���H;�rH��H����_��L���H���D���H���H;�rH��H����b_��L���H���D���H��xH;�rH��H��`�2_����
�����L���H���D���H�CH����[���L���H���D���H�@H����_[���H�H��H�@��gL��L����LH����W��H���H;�rH��H����^��L���H���D���H���H;�rH��H����W^��9�
�AL���H���D���H��BH����Z���L��0H��8D�� H��BH�� �Z���L��H��D��H��BH���aZ���L���H���D���H��>H����8Z���H�H��H�@��fL��H���H�D$8A�D�|$0H�� H�D$(L�d$ L��A�WOH�����H���H���H;�rH��H����9]��L���H���D���H��H;�rH��H���	]��L��H��D��H��8H;�rH��H�� ��\��L��0H��8D�� H���H;�rH��H����\��L���H���D���H�]AH����Y���L���H���D���H�AH�����X���L��pH��xD��`H��H��`�X���L��PH��XD��@L�%R=I��H��@�X���H�H��H�@�"eL��H���H�D$8D�|$0H���H�D$(H�����L$ L��`�QH��@����H��XH;�rH��H��@�[��L��PH��XD��@H��xH;�rH��H��`�a[��L��pH��xD��`H���H;�rH��H����1[��L���H���D���H���H;�rH��H����[��L���H���D���H��?H����iW���L���H���D���H�d?H����@W���L���H���D���H��H����W���L���H���D���I��H�����V���H���H�H��H�@�zcL��H���H�D$8D�|$0H���H�D$(�C�D$ L����RH����c���H���H��rH��H�����Y��L���H���D���H���H��rH��H����Y��L���H���D���H���H��rH��H����Y��L���H���D���H���H��rH��H����[Y��L��H��D��H�g>H����U���L�uH�}D�uH��=H�M�U���L�u�H�}�D�u�H��:H�M��U���L��H��D��I��H���dU���H�H��H�@��aL��H��H�D$8D�|$0H�EH�D$(H��0��L$ L�M�SH�������H��H��rH��H���gX��L��H��D��H�U�H��rH��H�M��<X��L�u�H�}�D�u�H�UH��rH��H�M�X��L�uH�}D�uH��H��rH��H����W��H����6���H����z�H��<H����WT���H�g<H����CL���H��9H����/L���I��H��	�L���I��H��0�G�H��H�H��H�@��`L��H���H�D$8D�|$0H���H�D$(��D$ L����TH��	����H��	�qm���H����dm���H����Wm���H����Jm��3�H��0
������#�}	A+σ��Aυ�tiH�-<H��P	�QK���I��H��0	�AK���H�H��H�@��_L��L��P	�VH��0	�9��H��0	��l���H��P	�l��3�H�� �%���#�}	A+σ��Aυ�tiH��;H�����J���I��H����J���H�H��H�@�F_L��L����XH���诶�H����>l���H����1l��H���H���H����H����l����tiH��;H��@�6J���I��H����&J���H�H��H�@��^L��L��@�[H������H����k���H��@�k��H��;H�� ��I���H��;H���I���H��;H�� �I���I��H��`�I���3�H��@
���H��H�H��H�@�^L��H�� H�D$8�D$0H��H�D$(��D$ L�� �]H��`����H��`��j���H�� ��j���H����j���H�� �j��H��:H�����H���H�+;H�����H���H�';H��`��H���I��H��@�H���I��H��@
����H��H�H��H�@�0]L��H���H�D$8�D$0H���H�D$(��D$ L��`�^H��@����H��@�j���H��`�i���H�����i���H�����i��3�H�� 
�E��D�83�H�� �4��D�03�H��@
�#���0�H��@
������H���
H��
�0c��H���\$ D��E��A��H����`���H�|$ �3�H�� ����D�0E��E3�E8���L�5�9I��H��@�_G���H��3H��`�KG���H��9H����7G���H��3H����#G���I���3�H���I��H��H�H�AH���[L��H��@H�D$8D�d$0H��`H�D$(��D$ L���A�T$kH����X�H����sh���H����fh���H��`�Yh���H��@�Lh��I��H��`�}F���H�3H�� �iF���H�9H���UF���H��2H�� �AF���A�T$H���k��H��H�H�AH���ZL��H��`H�D$8D�d$0H�� H�D$(��D$ L��A�T$lH�� �z�H�� �g���H���g���H�� �{g���H��`�ng��I��H����E���H�'2H����E���H�C8H����wE���H�2H��@�cE���A�T$H�����H��H�H�AH���YL��H���H�D$8D�d$0H���H�D$(��D$ L���A�T$mH��@���H��@�f���H����f���H����f���H����f��A�T$H�����H��3�H������H��I���3�����H��3�H�� 
������L$ D�D��H����6���H��
�a��H����CA�D�|$HH�D$HH�D$8D�|$0H��H�D$(H���H�D$ L��L���H��
H����[v��A�WH����7��H��A��H����%��H��3�H������H��3�H�� 
�����L$(��L$ D�E�ƋH���_��L9�
up��
ug3�H�� 
��������}	A+σ�Aυ�uB3�H��0
����8u/H��
�`��H��H��H���	����H�\$ A��.H��
�V`��H��H��H���	���H�\$ D��
L��H�T$@I����]���H�L$P�Ye��I��H���H3��'�H��$�H�ĐA_A^A]A\_^]��w�����q����H���H��p	�!x��H���GH��p	�:h����������H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@��VH;���H�H��H�@��VH������H;�uML��H�T$PH������H�H� H�H�L$PH��tH��H���VH�\$XH��H�t$hH�l$`H��@_�H�&�H�L$ �P~��H���GH�L$ �kg�H��H�L$ �-~��H���GH�L$ �Hg����H��(eH�%X�
�K�4H�ȋ
9��JH��HH��(�H�
��J腏�=��J�u�H�
e&�H�
��J������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@��UH;���L��H�L$ H������H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H��IU����C�uH�H��H�@�.UH�\$`H��H�l$hH�t$pH��P_�H��H�L$0��|��H�f�GH�L$0�f����H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0蟰��H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H��]T����C�uH�H��H�@�BT�H�L$(H��t=����A�u2H�\$(H�H��H��T����C�uH�L$(H�H�@��S�H�_H��t5����C�u*H�H��H���S����C�uH�H��H�@��SH��L�\$`I�[I�kI�s I��_�H���H�L$@�v{��H���GH�L$@�d�H�\$H�t$WH��@I�H��I��I��H��H�@�XSH;�u8H�H��H�@�CSH��苻��H;�u>H��H���C���H�\$PH�t$XH��@_�H���H�L$ ��z��H�k�GH�L$ �	d�H���H�L$ ��z��H�H�GH�L$ ��c������H�\$H�t$WH��@I�H��I��I��H��H�@��RH;�u8H�H��H�@��RH���ۺ��H;�u>H��H������H�\$PH�t$XH��@_�H�,�H�L$ �>z��H���GH�L$ �Yc�H��H�L$ �z��H���GH�L$ �6c������H�\$WH��PH��I9��I���
���H�T$`H�D$`H�L$ 肮��H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H���Q����C��uH�H��H�@��QH�\$hH��H��P_�H��H�L$0�Yy��H���GH�L$0�tb����H��H�XH�HWH��H��M��D��H�T$ H�H ��J����H�T$ H���p(��H����H;8t5H�c8H�OpH��tH�H��H���PH�C8H��H��$�H�Ġ_�H�3�H�L$8�1<��H��H�
��H��_��L��H��H�L$X�E���L���H��H�L$x�E���H��H�L$ �[��H���GH�L$ �a��L�AM��t	�A�@L�AH�AH�H��L�B����H��(�
�KeH�%X�4H�ȋ
9#�JH�
�JH��(�H�
�J詉�=�J�u�W����J�x�K�H�H�@H�@f�@H���JH�
l 跇�H�
��J����������H�\$H�t$WH��@I�H��I��I��H��H�@��OH;�u^H�H��H�@��OH���˷��H;�uH��H���[H�\$PH��H�t$XH��@_�H��H�L$ �+w��H���GH�L$ �F`�H�n�H�L$ �w��H���GH�L$ �#`���H�\$UVWATAUAVAWH��$@���H��H�rHH3�H���H��H��H�L$8W�E(H�z�H��t�OH�zL�zL�}(H�}0H���H��`HDžhH���H��pH��xH���H���H���H���H���HDž�H���H���A�L�������I���E�uE��H����mmD��0H��0H���HDž�H��0H���A�M�H���H��4H��H��H��8H��HDžH��DH�� L��(W��0�@I��`E��H��0��lH�T$8H���}�L�0E3�L�(L���H�L$8H��tH�A�UH�@�2MH�k+H��E8��HE�3�A��H����up�H����t��3�D�BHH���QpH�B�H���d$0L�D$(H�T$0H���6���H��PH�D$ H��PH��`����L��H�EH�E��'��E��!�f�E�D�m�H�U�H���(��H��pH�D$ I�� H��p���L��H�E H�E�k*�E�h*�ED�mH�UH���(��H���H�D$ I��H����.��L��H�E�A�
L�l$x�*�D$h�*�D$p�*�D$t�D$uH�T$hH���4(��H���H�D$ I���H������L��H�E�L�m���)�E���)�E���)�E��E�H�U�H����'��H�E�A�L�m���)�E���)�E��E�E��H�U�H���(���H���H�D$ H���H����%����H�EPH�EHH�dilationH�M8E3�D�e@L��H�U8H���@'��A�E
H�D$`H�D$X�
)�D$H�)�D$P��(f�D$T��(�D$VD�d$WL��H�T$HH��迻��A�]
H�]�L�m؋�(�EȊ�(�E�D�e��A��H�U�H����%��E8���-3�E�ECH��`�amL�-R�L��`D!d$,L�D$)H�T$,H��h�,3���H���H�D$ I���H������H�]pH�Eh�EXsizeD�e\L��H�UXH��`�&��H���H�D$ L���L�D$*H��hH��������L���H���D�exL�
�'E�čSH�Mx��C���L���H�UxH���-J���H���H���H+�H����?��W�f��L���H��p�,I���L�-7�H��H�D$@L��L�D$+H��H���4���L���H���D���L�
?'E�ĺH����3C���L��H���I���xI��I���D��H���I��H��@HH��H����!����H��8H��0H+�H����>��W�f�0L��@H�� �LH���H��H����H�;�H��HH��H�pd�I��SI��H�@��G�H��t5����G�u*H�H��H���G����W�uH�H��H�B��GH��H���H3��{H��$H��A_A^A]A\_^]�H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�l"H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@��FH���@H;�u#L��H��H���XH�\$PH�l$XH�t$`H��@_�H�p�H�L$ �n��H��GH�L$ �W�@SH��@H���?H9u	H��H��@[�H�y�H�L$ �[n��H���GH�L$ �vW��H�\$WH��H��HH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@��0�H�L$xH��tYH�H��H�@�	FH�H�L$xH��tH�H�T$@H;���H�@ ��EH��H��$�H3��yH��$�H�Đ_��W�H��H�L$(�m��H�
�GH�L$(�V����@SH��@H�BH9Hu;L��H�L$PH�T$ E3��?���23H�T$ H�����H���3H;��H��@[�H���H�L$ �m��H���GH�L$ �7V���@SH��H�BL��H9HuJH�T$@I��蝥�d$0H��HH�T$(�L$ �2H�T$ H���'��H���2H;��H��[�H�
�H�L$ �l��H��GH�L$ �U��H��H�XH�hH�p H�HWH�� I��H��H���H��vH��H�D$0H��t,W���C�CH��.H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H�����<vH��H�D$0H��t)W���C�CH�g.H�H�KH�� �3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H�����uH��H�D$0H��t,W���C�CH��-H�H�KL��H���
����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H��萅�H�l'H�L�wI�I��H�@��BH����;H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H��qB����C�uH�H��H�@�VB�H��H�\$XH�t$`H�|$hH��@A^�H��H�L$ �j��H���GH�L$ �*S��L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��
�H�2&H�H�[H��t9����C��u,H�H��H���A����C��uH�H��H�@��AH��H�\$PH��0_����H��H�X UVWATAUAVAWH��H�H��
)p�H��HH3�H��`I��H��L��H���I���wI��D��L��H��I���&����H��%I�I�_pH��0H���A�L���H��0H���E�e�L���H��4H��L��H��8H��A�}�H��H��DH�� E�u�L��(W��0�@H���E�EH��0��_H���H��`L��hH���H��pL��xH���H���L���H���H���H���H���H���L���W�����H���E�EH����C_H���H���H+�H��I;���E��H��`	H�I趟H���H���H+�H��3�H����E��H���H�	脟W��`H�FH��t	�D`H�FL�vL��`H��hH���H���ߟH��0H���L���H��0H���L���H��4H��L��H��8H��HDžH��DH�� HDž((�@)�0(�P)�@H���A�L���@��pL�
�#D��A�T$%H��p�@9���L���HDž�
��#�����#f���@���H���L���@���L�
�#D��A�T$H�����8���H���L���@���H��#L��D��A�T$?H����8���H�H��H�@��=L��H��pH�D$8H���H�D$0H���H�D$(H���H�D$ L���A�T$SH����D!���H���E�l$I;�rH��H����74��H���L���@���H���I;�rH��H����4��H���L���@���H���I;�rH��H�����3��H���L���@���H���I;�rH��H��p�3��H���L���@���L�
�"D�Ǻ0H����g7���L�e�H�E���"�E���"f�E��"�E�@�}�H��0L��8@�� L�
�"D�Ǻ#H�� �7���H��L��@��L��D�ǺNH����6���H�H��H�@�<L��H���H�D$8H���H�D$0H�E�H�D$(H��x	H�D$ L�� �cH���{���H��I;�rH��H���s2��H��L��@��H��8I;�rH��H�� �C2��H��0L��8@�� H�U�I;�rH��H�M��2��H�}�L�e�@�}�H���I;�rH��H�����1��H���L���@���L�
�!D�Ǻ1H����5���L�eH�E�5!�E�1!f�E�)!�E
@�}H��pL��x@��`L�
l!D�Ǻ$H��`�P5���H��PL��X@��@L��D�ǺNH��@�#5���H�H��H�@�R:L��H���H�D$8H���H�D$0H�EH�D$(H���H�D$ L��`�dH��@�����H��XI;�rH��H��@�0��H��PL��X@��@H��xI;�rH��H��`�0��H��pL��x@��`H�UI;�rH��H�M�d0��H�}L�e@�}H���I;�rH��H����=0��H��PL��X@��@L�
A D�Ǻ+H��@�3���L�e8H�E0�H �E �D f�E(�< �E*@�}+H���L���@���L�
 D�Ǻ#H����3���H���L���@���L��D�ǺNH����n3���H�H��H�@��8L��H��@H�D$8�D$0H�E H�D$(H�����L$ L����gH���耭���H���I;�rH��H����/��H���L���@���H���I;�rH��H�����.��H���L���@���H�U8I;�rH��H�M �.��H�}0L�e8@�} H��XI;�rH��H��@�.��H�}�L�e�@�}�L�
D�Ǻ+H�M��W2���L�eXH�EP���E@��f�EH���EJ@�}KH���L���@���L�
�D�Ǻ#H����1���H���L���@���L��D�ǺNH�����1���H���H�H��H�@��6L��H�E�H�D$8�D$0H�E@H�D$(�C�D$ L����hH����ܫ���H���I;�rH��H����h-��H���L���@���H���I;�rH��H����8-��H���L���@���H�UXI;�rH��H�M@�-��H�}PL�eX@�}@H�U�I;�rH��H�M���,��I�GpH��@H�AH+H�� �9L�exH�}p@�}`H���L���@���L�
�D�Ǻ*H����0���H��0L��8@�� L�
�D�ǺH�� �T0���H��L��@��L�
GD�ǺNH���#0���I��@H�xH+8H��I��0H�XH+H��H�H��H�@�.5L��H�E`H�D$8H�|$0H���H�D$(H�\$ L�� �lH������H��I;�rH��H���+��3�H��L��@��H��8I;�rH��H�� �v+��H��0L��8@�� H���I;�rH��H����F+��H���L���@���H�UxI;�rH��H�M`�+��I�GpH��8H�AH+H�� �hH�}�L�e�@�}�H�M�H�M��t'���H�}�L�e�@�}�H��H�M��W'���H�|$pL�d$x@�|$`H�H�L$`�6'���H�|$PL�d$X@�|$@H��H�L$@�'���I��HH�xH+8H��I��8H�XH+H��H�H��H�@��3L��H�E�H�D$8H�|$0H�E�H�D$(H�\$ L�L$`�nH�L$@�	���H�T$XI;�r
H��H�L$@�*��3�H�|$PL�d$X@�|$@H�T$xI;�r
H��H�L$`��)��H�|$pL�d$x@�|$`H�U�I;�rH��H�M��)��H�}�L�e�@�}�H�U�I;�rH��H�M��)��D��0E����
L��E��W�I��H��� .A�H���
H��薒I�WpH���H��`��I�GpH��8H�AH+H�� �|I��H���|H��A�H��`�F�H�}��H�]�@�}�H�ZH�M��%���H�|$PH�\$X@�|$@H�rH�L$@�`%���H�|$pH�\$x@�|$`H��H�L$`�?%���H�}�H�]�@�}�H��H�M��"%���H�H��H�@��1L��H�E�H�D$8�D$0H�D$@H�D$(H�����L$ L�L$`�SlH�M�蝦���H�U�H��rH��H�M��.(��H�}�H�]�@�}�H�T$xH��r
H��H�L$`�
(��H�|$pH�\$x@�|$`H�T$XH��r
H��H�L$@��'��H�|$PH�\$X@�|$@H�U�H��rH��H�M��'��H�}�H�]�@�}�H�SH�M��2$���H�|$PH�\$X@�|$@H�#H�L$@�$���H�|$pH�\$x@�|$`H�jH�L$`��#���H�}�H�]�@�}�H�LH�M���#���H�H��H�@�b0L��H�E�H�D$8�D$0H�D$@H�D$(H�����L$ L�L$`�|H�M��L����H�U�H��rH��H�M���&��H�}�H�]�@�}�H�T$xH��r
H��H�L$`�&��H�|$pH�\$x@�|$`H�T$XH��r
H��H�L$@�&��H�|$PH�\$X@�|$@H�U�H��rH��H�M��m&��H�}�H�]�@�}�H�:H�M���"���H�|$PH�\$X@�|$@H��H�L$@�"���H�|$pH�\$x@�|$`H�IH�L$`�"���H�}�H�]�@�}�H��H�M��"���H���H�H��H�@�
/L��H�E�H�D$8�D$0H�D$@H�D$(�C�D$ L�L$`�}H�M�����H�U�H��rH��H�M��%��H�}��H�]�@�}�H�T$xH��r
H��H�L$`�b%��H�|$pH�\$x@�|$`H�T$XH��r
H��H�L$@�;%��H�|$PH�\$X@�|$@H�U�H��rH��H�M��%��H�}�H�]�@�}�H�H�M��!���H�|$PH�\$X@�|$@H�3H�L$@�i!���H�|$pH�\$x@�|$`H�jH�L$`�H!���H�}�H�]�@�}�H��H�M��+!���H����A����H�H��H�@��-L��H�E�H�D$8�\$0H�D$@H�D$(H�����L$ L�L$`�H�M�虢���H�U�H��rH��H�M��*$��H�}��H�]�@�}�H�T$xH��r
H��H�L$`�$��H�|$pH�\$x@�|$`H�T$XH��r
H��H�L$@��#��H�|$PH�\$X@�|$@H�U�H��rH��H�M��#����H�}�H�]�@�}�H�H�M��" ���H�|$PH�\$X@�|$@H�#H�L$@� ���H�|$pH�\$x@�|$`H�H�L$`�����H�}�H�]�@�}�H�<H�M������H��`H����H��H�H��H�@�@,L��H�E�H�D$8�t$0H�D$@H�D$(��x�D$ L�L$`��H�M������H�U�H��rH��H�M��"��H�}��H�]�@�}�H�T$xH��r
H��H�L$`�"��H�|$pH�\$x@�|$`H�T$XH��r
H��H�L$@�l"��H�|$PH�\$X@�|$@H�U�H��rH��H�M��G"��H�}�H�]�@�}�H���H�M�����H�|$PH�\$X@�|$@H�|H�L$@����H�|$pH�\$x@�|$`H��H�L$`�y���H�}�H�]�@�}�H��H�M��\���H�H��H�@��*L��H�E�H�D$8H��x	H�D$0H�D$@H�D$(H��hH�D$ L�L$`��H�M��f���H�U�H��rH��H�M��c!��H�}�H�]�@�}�H�T$xH��r
H��H�L$`�?!��H�|$pH�\$x@�|$`H�T$XH��r
H��H�L$@�!��H�|$PH�\$X@�|$@H�U�H��rH��H�M��� ��H�}�H�]�@�}�H��H�M��g���H�|$PH�\$X@�|$@H��H�L$@�F���H�|$pH�\$x@�|$`H��H�L$`�%���H�}�H�]�@�}�H��H�M�����H�H��H�@��)L��H�E�H�D$8�D$0H�D$@H�D$(H��H�D$ L�L$`��H�M�����H�U�H��rH��H�M�� ��H�}�H�]�@�}�H�T$xH��r
H��H�L$`����H�|$pH�\$x@�|$`H�T$XH��r
H��H�L$@����H�|$PH�\$X@�|$@H�U�H��rH��H�M����H�}�H�]�@�}�H�@
H�M�����H�|$PH�\$X@�|$@H�pH�L$@����H�|$pH�\$x@�|$`H�G
H�L$`�����H�}�H�]�@�}�H�1H�M�����H�H��H�@�G(L��H�E�H�D$8�D$0H�D$@H�D$(H��H�D$ L�L$`��H�M��R
���H�U�H��rH��H�M�����H�}�H�]�@�}�H�T$xH��r
H��H�L$`���H�|$pH�\$x@�|$`H�T$XH��r
H��H�L$@�x��H�|$PH�\$X@�|$@H�U�H��rH��H�M��S��H�}�H�]�@�}�H��H�M������H�|$PH�\$X@�|$@H�@H�L$@����H�|$pH�\$x@�|$`H�W	H�L$`����H�}�H�]�@�}�H��H�M��h���H�H��H�@��&L��H�E�H�D$8�D$0H�D$@H�D$(H���H�D$ L�L$`��H�M��	���H�U�H��rH��H�M��s��H�}�H�]�@�}�H�T$xH��r
H��H�L$`�O��H�|$pH�\$x@�|$`H�T$XH��r
H��H�L$@�(��H�|$PH�\$X@�|$@H�U�H��rH��H�M����H�}�H�]�@�}�H�0H�M��w���H�}�H�]�@�}�H�+H�M��Z���H�}pH�}xH�M`�X���H�YH�M`�8���H��H��@�$���3�H���M���H��3�H����<���H��3�H���+����+�A����H�H��H�@�y%L��H�E�H�D$8��D$0H�E�H�D$(�\$ L�M`��H��@����H��@�X2���H�M`�N2���H�M��D2���H�M��:2��I��I����Y�H��`��2���I��H��`H3��XL��$�
I�[XA(s�I��A_A^A]A\_^]���R������H�\$H�T$UVWH��0H��H��W��D$ H�JH��t�AH�JH�H�D$ H�L$(H�T$ H���]�H��H�H�_H��t�CH�_H�GH��0H�AH+H����0��H��t5����C�u*H�H��H��$����C�uH�H��H�@�$Ƈ4H�^H��t5����C�u*H�H��H���#����C�uH�H��H�@��#H��H�\$`H��0_^]�H�\$UVWATAUAVAWH��H��PL��L��H�M��F���H�&I��I9E��H�5I�I���I��0I��I��8I��@I��@M��pM��HI���I��PH�aH�A��g���I���I��pILJxI����I���I���I���I���I���I���ILJ�I���I���D�bM���W�AI��E�D$��AI��8I���ILJ�I���A�T$�I��I��<I��I��I��@I��ILJ I��LI��(M��0W�AI���E�D$�NAI���I��`ILJhI��pA�T$�I��xI���I���I���I���I���ILJ�I���I���M���W�AI��PE�D$��@A���A���A�x�E�H�U�H������A���E�H�U�H������A���E�H�U�H���u���A���E�H�U�I���[���E��pE����I��0H�PL�H��I+�H��I��8L�@L�I��I+�H��H;�t	M+�I�� sHI+�H��L;�u<I��H��$�H��PA_A^A]A\_^]�H�2�H�M��MH��H�ʟGH�M��i1�H�iH�M��,H��H���GH�M��H1����@SH�� H��H��p��.��H��@��.��H���.��H����.��H��hH��rH��PH�����H��`H��8HǃhƃP�q.��H�S(H��rH�KH���s��H�c H�C(�CH�� [�������������@SH�� H��	H��H���t
�H��QH��H�� [������@SH�� H��	H��H���t
���QH��H�� [������@SH�� H�c	H��H���t
���QH��H�� [������H�\$WH�� H�ً�H��8�-��H�S(H��rH�KH�����H�c H�C(�C@��t
�0H���+QH��H�\$0H�� _��������������H�\$WH�� ��H�������t
�8H����PH�\$0H��H�� _�������������H�\$WH�� ��H�������t
��H���PH�\$0H��H�� _�������������H��H�H�����H�
�����������H��H�H��HHc�0;�}*L�BH���L�H���H+�H��I;�v,J��H��H�H���H�L$ �r>��H��GH�L$ �.��K���������H�\$H�t$WH��@I�H��I��I��H��H�@�HH;�u;H�H��H�@�3H���KH;�uAH��H���[H�\$PH��H�t$XH��@_�H���H�L$ ��D��H�X�GH�L$ �-�H���H�L$ �D��H�5�GH�L$ ��-���H�\$UVWH��$����H��PH�*�GH3�H��@H���H��H���H��H+�H��H���QH�	H����D���a|D�Ήt$ D��H��@���aF��H���
��t`��0�H���H���H+�H��H���H�IH�U�D���|H��H��@H;�tH�PPD�FH����9;(��H�E�(��H�M�H�D$0H�E�H�D$@H�E�H�D$PH�E�H�D$`H�E�H�D$pH�D$8H�t$HH�t$XH�D$hH�D$xE�M��#��D���L�L$0H���H��H�D$ �!��H��H��@H3���NH��$�H��P_^]��>I���H���H�M���;��H���GH�M��
,��I���������H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@��H;���H�H��H�@��H���H;�uML��H�T$PH���&��H�H� H�H�L$PH��tH��H��eH�\$XH��H�t$hH�l$`H��@_�H���H�L$ � B��H���GH�L$ �;+�H��H�L$ �A��H�z�GH�L$ �+����H��(eH�%X�
��J�4H�ȋ
9ӲJH���GH��(�H�
��J�US�=��J�u�H�
���QH�
��J��R����H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@�pH;���L��H�L$ H������H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H������C�uH�H��H�@��H�\$`H��H�l$hH�t$pH��P_�H��H�L$0�@��H�6�GH�L$0��)����H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0����H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H��-����C�uH�H��H�@��H�L$(H��t=����A�u2H�\$(H�H��H�������C�uH�L$(H�H�@���H�_H��t5����C�u*H�H��H�������C�uH�H��H�@��H��L�\$`I�[I�kI�s I��_�H���H�L$@�F?��H�ÖGH�L$@�a(�H�\$H�t$WH��@I�H��I��I��H��H�@�(H;�u8H�H��H�@�H���+H;�u>H��H���g��H�\$PH�t$XH��@_�H���H�L$ �>��H�;�GH�L$ ��'�H�q~H�L$ �>��H��GH�L$ �'������H�\$H�t$WH��@I�H��I��I��H��H�@�xH;�u8H�H��H�@�cH���{H;�u>H��H���'��H�\$PH�t$XH��@_�H���H�L$ �>��H���GH�L$ �)'�H��}H�L$ ��=��H�h�GH�L$ �'������H�\$WH��PH��I9��I���.��H�T$`H�D$`H�L$ ���H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H�������C��uH�H��H�@�dH�\$hH��H��P_�H�ףH�L$0�)=��H���GH�L$0�D&����H��H�XH�HWH��H��M��D��H�T$ H�H �����H�T$ H���@�H���H;8t5H�c8H�OpH��tH�H��H���H�C8H��H��$�H�Ġ_�H��H�L$8���H��H�
WH�#��L��H��H�L$X�	���L���H��H�L$x�m	���H��H�L$ ���H���GH�L$ �^%��������������H�\$H�t$ H�T$UWAVH��H��0H��L��e�W�3�H�BH!H!BH!B�E�H��0H��8I��@I��HL�@L+I��H�AH+H��L�H�BH+H��L�H�CH+H��L�3�I9�`��L�t%H��������L;��JI��H���~��I��0H�{H��(H�] H�VH;Vt
H�H�F�L�E H�����H�� H;�u�I��8H�{H��(H�] H�VH;Vt
H�H�F�L�E H�����H�� H;�u�I��@H�{H��(H�] H�VH;Vt
H�H�F�L�E H��脔��H�� H;�u�I��HH�{H��(H�] H�VH;Vt
H�H�F�L�E H���G���H�� H;�u�I��`t+I��PL�u H�VH;Vt
L�2H�F�L�E H���	���H��H�\$`H�t$hH��0A^_]��'����H��(�
��JeH�%X�4H�ȋ
9�JH��JH��(�H�
�J�K�=��J�u�W��ݪJ�x�+DH�H�@H�@f�@H���JH�
���I�H�
��J��J�H�\$WH�� H�YH��t�CH�YH�A@���H��t9����C��u,H�H��H��a����S��uH�H��H�B�DH�\$0@��H�� _�������H�\$H�t$WH��@I�H��I��I��H��H�@�H;�u^H�H��H�@��H���
H;�uH��H���[H�\$PH��H�t$XH��@_�H�qxH�L$ �8��H��GH�L$ �!�H�ޝH�L$ �x8��H���GH�L$ �!���H�\$UVWATAUAVAWH��$P���H��	H���GH3�H���H��L��H�L$8W�E�H�z�H��t�OH�zH�rH�u�H�}�H���H���HDž�H���H���H���H���H���H���H���H���A�L���H��H���E�|$�L������H���E�t$E��H�����.H��pH�� HDž(H��pH��0A�L$�H��8H��tH��@H��HH��xH��PL��XH���H��`L��hW��p��H���E��H��p�B.H��0L�`L+ I��L�d$0H�T$@H����]H�H�L$8E3�L�8H�M@H�L$@H��tH�A�V�H�@��A��E��3�H�����1�H�������E��3�H�����1�H����Ʈ���E��3�H����1�H���裮���M��H��0H�HH+H��H���MA�D;�0��H���M�fH���H+�H��I;��QI�H�H�@��
H��H�xrH�L�@H����~��D;�0�IH���H���H+�H��I;��%A�H��PI��gmA�H�HH�@H���HcL��H��H;�u�H���H����<{��H��I�����H��0H�HH+H��H�A�H�,�L;�H�*yHD�H����z����4u"I��I��H��0H�HH+H��L;������E3�L�d$0M��H��8H�HH+H��H���EHc�0D;��H�HI�H���H���H+�H��H;���H��H�H�@�SH��H�xrH�L�@H����F}��Hc�0D;��#H�HI�L���H���I+�H��H;���A�H���I����kA�H�HH�@H���HcL��H��H;�u�H�3�H�����y��H��I�����H��8H�HH+H��H�A�H���L;�H��wHD�H����y��I��H��8H�HH+H��L;������E3�3�D�BHH��P�.L�5��L��PW��D$0L�D$(H�T$0H��X�y��H�\$hH�D$`
���D$P�
��D$X���D$\D�|$]H��0L�@L+I��H�T$PH��P��H�]�H�E�
����D$p���f�D$xD�|$zH��8L�@L+I��H�T$pH��P�i�H���H�D$ H���H���薾��L��H�]�H�E��ݨ�E��רf�E�D�}�H�U�H��P��H��H�D$ H���H���@���L��H�]�H�E��%��E��"��E�D�}�H�U�H��P�[�H��0H�D$ H��0H�� ����H�]H�EH�dilationH�MD�}L��H�UH��P�
�H�]�H�E�����EЊ���E�D�}�E��H�U�H��P�e_��H���H�D$ L���L�D$)H��XH�������L�}0H�]8D�} L�
.�E�ǍSH�M ����L���H�U H�\$8H����	��H�A��E��H���H��H���I��H����f���H��xH��pH+�H���W���W�f�pL���H��`����H��8����H�5�uH��8H��8��$�H��8�����H��8H��8�$�H��8����H��8H��8�$�H�A�VH��H�@���H��t9A����GA�u,H�H��H���A����WA�uH�H��H�B��I��H���H3��I;H��$
H�İ	A_A^A]A\_^]��5���H���H����I(��H��GH����b��l5���H�̆H�MH�(��H�ĈGH�MH�;�H���H�M`�'��H���GH�M`���$5���H�L�H�Mx��'��H�|�GH�Mx�����@UH��H��H�E�H�EH���H�E�H�E�H�E�H�e�H�E��E�L�
��E3�A�P'H�M��Q���H�U�H�M����H�Ā]�����������H�\$H�|$ UH��H��pH��H��H���H�U�� ��H��H�U���x�u �����H���8H�E�H���HH�E�H�� (E�H�E�H��0��H�E�(M�������H��x��H�E�H�����H�E�H���(E�H�E�H����0H�E�(M��@�P�`H��0H�HH+H����pH�����H�E�H�����H�E�H���(E�H�E�H�����H�E�(M���� ������H��PH�xrH�H��pH���H�U����H��@H�U��������L�\$pI�{(���I�[ I��]�H��H;�0}'L���H��H���I+�H��H;�v,I��H��H�H�҃H�L$ �$%��H�ɅGH�L$ �?��I2���H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@��H���c��H;�u#L��H��H���XH�\$PH�l$XH�t$`H��@_�H�DkH�L$ �n+��H��GH�L$ ��@SH��@H���:c��H9u	H��H��@[�H�M�H�L$ �/+��H���GH�L$ �J��H�\$WH��H���GH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@��H�L$xH��tYH�H��H�@��H�H�L$xH��tH�H�T$@H;���H�@ ��H��H��$�H3��U6H��$�H�Đ_���H�בH�L$(�a*��H�ށGH�L$(�|����@SH��@H�BH9Hu;L��H�L$PH�T$ E3�����H�T$ H���}��H����H;��H��@[�H�f�H�L$ ��)��H�m�GH�L$ ����@SH��H�BL��H9HuJH�T$@I���qb�d$0H��HH�T$(�L$ �`H�T$ H�����H���KH;��H��[�H��H�L$ �k)��H��GH�L$ ���H��H�XH�hH�p H�HWH�� I��H��H���@�3H��H�D$0H��t,W���C�CH�4�H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H�����3H��H�D$0H��t)W���C�CH�wH�H�KH����3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H�����2H��H�D$0H��t,W���C�CH���H�H�KL��H���
����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H���dB�H���H�L�wI�I��H�@���H���Y_��H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H��E�����C�uH�H��H�@�*��H��H�\$XH�t$`H�|$hH��@A^�H��fH�L$ ��&��H�`~GH�L$ ���L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S���IH���H�H�[H��t9����C��u,H�H��H��������C��uH�H��H�@�i�H��H�\$PH��0_����H�\$ UVWATAUAVAWH��$���H���H���GH3�H���I��H��H��H�MPI���S��D��L��H��H���.����H�Z�H�L�vpI�ƘH���H���H+�H��E3�H���gA�H��`H�	�]��hL�~pI��L�e�E�l$L�m�D�e�L�
��E��A�T$H�M��?����L�m�H�E��j��D$p�f��D$xD�d$|L�d$`L�l$hD�d$PL�
W�E��A�T$:H�L$P����H�H��H�@��L���D$@�D$8D�d$0H�E�H�D$(�\$ L�L$pA�T$aH�L$P�c����H�T$hA�\$H;�r
H��H�L$P��L�d$`L�l$hD�d$PH�U�H;�r
H��H�L$p�q�L�e�L�m�D�d$pH�U�H;�rH��H�M��O�I�FD9 |I�F D9 |I�F0D9 |
D9`��D�d$ E3�E3�3�H�M��`&��H���I���]1��H��H�U`H�M��M1��L��H���H����L��D�d$ E3�E3�3�H�M��&��H�U`H�M��1��L��H��`I���L��L��`H�U�H����L��H�U`H�M���0��L��H��`H��p�|L��L�e�L�m�D�e�L�
��E�ĺH�M��@����H�E H�E�H�E�H�E H�E�H�M�H�E$H�E�H�M�H�E(H�EH�EH�E4H�EH�EW�E E0L�l$hH�D$`����D$P���f�D$T�{��D$VD�d$WL�e�L�m�D�e�L�
Y�E�čQH�M�����L�e�L�m�D�d$pL�
��E�ĺ:H�L$p�k����H�H��H�@���L��H�E�H�D$8H�E�H�D$0H�D$PH�D$(H��`H�D$ L�M��mH�L$p�_�H�U��H;�r
H��H�L$p��L�e�L�m�D�d$pH�U�H;�rH��H�M����L�e�L�m�D�e�H�T$hH;�r
H��H�L$P���L�d$`L�l$hD�d$PH�U�H;�rH��H�M���L�e�L�m�D�e�L�
�E�ĺH�M��s�H�E H�E�H�E�H�E H�E�H�M�H�E$H�E�H�M�H�E(H�EH�EH�E4H�EH�EW�E E0L�l$hH�D$`����D$P���f�D$T����D$VD�d$WL�e�L�m�D�d$pL�
��E�čQH�L$p���L�e�L�m�D�e�L�
�E�ĺ:H�M���H�H��H�@��L��H�E�H�D$8H�E�H�D$0H�D$PH�D$(H���H�D$ L�L$p�nH�M��]�H�U�H;�rH��H�M��I�L�e�L�m�D�e�H�U�H;�r
H��H�L$p�'�L�e�L�m�D�d$pH�T$hH;�r
H��H�L$P��L�d$`L�l$hD�d$PH�U�H;�rH��H�M����L�e�L�m�D�e�L�
��E�ĺ/H�M�����D$ D��D����H�M���!��L�l$hH�D$`����D$P���f�D$T����D$VD�d$WL�e�L�m�D�d$pL�
q�E�ĺH�L$p�7�L�e�L�m�D�e�L�
{�E�ĺ:H�M���H�H��H�@�A�L��H�E�H�D$8H�E�H�D$0H�D$PH�D$(H��`H�D$ L�L$p�pH�M��'\�H�U�H;�rH��H�M���L�e�L�m�D�e�H�U�H;�r
H��H�L$p��L�e�L�m�D�d$pH�T$hH;�r
H��H�L$P�w�L�d$`L�l$hD�d$PH�U�H;�rH��H�M��S�L�e�L�m�D�e�L�
x�E�ĺ-H�M���L�m�H�E��B��D$p�=�f�D$x�4��D$zD�d${L�l$hL�l$`�O��D$P�K��D$X�D�f�D$\�;��D$^D�d$_L�e�L�m�D�e�L�
��E�ĺ:H�M���H�H��H�@���L��H�E�H�D$8H��pH�D$0H�D$pH�D$(L�t$ L�L$P�tH�M���U�H�U�H;�rH��H�M��7�L�e�L�m�D�e�H�T$hH;�r
H��H�L$P��L�d$`L�l$hD�d$PH�U�H;�r
H��H�L$p���L�e�L�m�D�d$pH�U�H;�rH��H�M����L�e�L�m�D�e�L�
2�E�ĺ$H�M����H�E H�E�H�E�H�E H�E�H�M�H�E$H�E�H�M�H�E(H�EH�EH�E4H�EH�EW�E E0L�l$hH�D$`���D$P�ݚf�D$T�Ԛ�D$VD�d$WL�m�H�E�
����D$p����D$x����D$|D�d$}L�e�L�m�D�e�L�
�E�čQ9H�M����H�H��H�@���L��H�E�H�D$8H�E�H�D$0H�D$PH�D$(L�|$ L�L$p�wH�M���X�H�U�H;�rH��H�M��j�L�e�L�m�D�e�H�U�H;�r
H��H�L$p�H�L�e�L�m�D�d$pH�T$hH;�r
H��H�L$P�$�L�d$`L�l$hD�d$PH�U�H;�rH��H�M���H�U`I���L(��L��H���H��p��C��L�e�L�m�D�e�L�
{�E�ĺ.H�M����L�d$`L�l$hD�d$PL�
��E���H�L$P���L�e�L�m�D�d$pL�
r�E�ċ�H�L$p�[��L�e�L�m�D�e�L�
��E�čS%H�M��8��H�H��H�@�g�L��H�E�H�D$8L�t$0H�D$PH�D$(H���H�D$ L�L$p�SdH�M��SW�H�U�H��rH��H�M����L�e�L�m�D�e�H�U�H��r
H��H�L$p���L�e�L�m�D�d$pH�T$hH��r
H��H�L$P��L�d$`L�l$hD�d$PH�U�H��rH��H�M��{�D8��tH���f=H����H��H���H3��/%H��$HH���A_A^A]A\_^]�������H�\$H�T$WH��0H��H��W��D$ L�JM��t	�A�AL�JH�H�D$ L�L$(H�T$ �)�H�6�H�Ƈ�H�[H��t9����C��u,H�H��H��������C��uH�H��H�@���H��H�\$PH��0_�H�\$H�|$ ATH��@H��H��H�L$ �T��H�cH��TP��H9�6H�,cH�H���H���Hǃ�H���A�L���H���H���L���H���H���Hǃ�H���H���Hǃ�W�AH���E�D$�BH��`H��HǃH�� L��(H��dH��0L��8H��hH��@HǃHH��tH��PHǃXW�AH��E�D$�H��H�\$`H�|$hH��@A\�H��}H�L$(���H��nGH�L$(�3���@SH�� H�#�H��H���t
�@�!H��H�� [������@SH�� H���H��H���t
���^!H��H�� [������H�\$H�t$WH��@I�H��I��I��H��H�@���H;�u;H�H��H�@���H���KN��H;�uAH��H���[H�\$PH��H�t$XH��@_�H��{H�L$ �+��H��mGH�L$ �F��H��UH�L$ ���H��mGH�L$ �#����H�\$H�t$ UWATAUAVH��$@���H��	H�p�GH3�H���H�ZH��L��A�H��t	�DkH�ZH�rA��H�ƘH��t9A����CA�u,H�H��H����A����CA�uH�H��H�@�s�H���H���H+�H��H���2H�	H��0E���GMH�_H��t	�DkH�_H�H��t9A����CA�u,H�H��H���A����CA�uH�H��H�@���H�F�8|%H�F �8|H�F0�8|�x|
FPN`���d$ H�M�E3�E3�3�����H���H����!��H��0H��H�M��!��L��H���H���O=���d$ H�M0E3�E3�3��}��H���H�M0�y!��L��H��0H���=��L��0H���H����<��H��0H����6!��L��H���H��@��<��(�(�H�E�H�D$8H�D$0H���H�E�L�l$HH�D$@H�E�H�D$PH�E�H�D$`H�E�H�D$pL�l$XH�D$hH�D$xE�M���D��8L�L$0H��0H��0H�D$ ��H��0I�����I��H���H3���L��$�	I�[@I�sHI��A^A]A\_]��>����������������H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@���H;���H�H��H�@���H���J��H;�uML��H�T$PH���r�H�H� H�H�L$PH��tH��H����H�\$XH��H�t$hH�l$`H��@_�H�RH�L$ �@��H��iGH�L$ �[��H�xH�L$ ���H��iGH�L$ �8���������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@���H;���L��H�L$ H���s�H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H��������C�uH�H��H�@�~�H�\$`H��H�l$hH�t$pH��P_�H�gwH�L$0�9��H��hGH�L$0�T�����H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0�w�H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H��������C�uH�H��H�@����H�L$(H��t=����A�u2H�\$(H�H��H��h�����C�uH�L$(H�H�@�K��H�_H��t5����C�u*H�H��H��'�����C�uH�H��H�@��H��L�\$`I�[I�kI�s I��_�H�4vH�L$@����H�CgGH�L$@���H��(eH�%X�
m�J�4H�ȋ
9��JH�r�GH��(�H�
��J�!!�=��J�u�H�
���\H�
��J� ����������������H�\$H�t$WH��@I�H��I��I��H��H�@�8�H;�u8H�H��H�@�#�H����F��H;�u>H��H����H�\$PH�t$XH��@_�H��tH�L$ ����H�KfGH�L$ ���H��NH�L$ ���H�(fGH�L$ ��������H�\$H�t$WH��@I�H��I��I��H��H�@���H;�u8H�H��H�@�s�H���;F��H;�u>H��H���c�H�\$PH�t$XH��@_�H�tH�L$ ���H��eGH�L$ �9��H��MH�L$ �
��H�xeGH�L$ ��������H�\$WH��PH��I9��I���j�H�T$`H�D$`H�L$ ���H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H��������C��uH�H��H�@�t�H�\$hH��H��P_�H��sH�L$0�9
��H��dGH�L$0�T�����H��H�XH�HWH��H��M��D��H�T$ H�H �����H�T$ H���P���H���H;8t5H�c8H�OpH��tH�H��H����H�C8H��H��$�H�Ġ_�H�uH�L$8���H��H�
o/H���L��H��H�L$X����L��tH��H�L$x�}���H��H�L$ ��H��dGH�L$ �n���H��(�
�JeH�%X�4H�ȋ
9W}JH�>}JH��(�H�
B}J��=6}J�u�W��}J�x�OH�H�@H�@f�@H��|JH�
���H�
�|J��������������H�\$WH�� H�AhH�����t5H�yXt&H�AH�PH�Z3���H�WXL��H����3��uH����H�\$0H�� _�������H�\$H�t$WH��@I�H��I��I��H��H�@�8�H;�u^H�H��H�@�#�H����B��H;�uH��H���[H�\$PH��H�t$XH��@_�H��JH�L$ ��
��H�HbGH�L$ ����H�pH�L$ �
��H�%bGH�L$ ������H�\$UVWATAUAVAWH��$@���H��	H��GH3�H���H��L��H�L$HH�zA�E3�H��t	�DoH�zH�ZH�� H��(H���H��PHDžXH���H��`L��hH���H��pL��xH���H���HDž�H���H���HDž�W�����H���A� H����	L��H���H���H+�H��H����E��H��0H�	�vAH�T$HH���0H�0L� H�u�H�L$HH��tH�A��H�@�A�H��`D9 |"H��pD9 |H���D9 |
D9`��D�d$ E3�E3�3�H������H��PH��P���H��H���H������L��H���H���1��D�d$ E3�E3�3�H��P��
��H��PH��P���L��H��0I���Y1��L��0H���H����?1��H���H����|��L��H�UPH��@�1��(��)��(��)��3�A��H��0�A��H��0肀���3�D�BHH����_L�-PjL���W��D$@L�D$0H�T$@H����&���H�EH�E�H�UH��P���H��L�e�A�L�e��E�L�
U�E3�A�T$H�M��<���L��H�U�H�������H�E(H�D$8H�U(I��蟓��L��L�d$hH�D$`���D$P��f�D$T3ۈ\$VH�T$PH���赻��H�E�H�D$8L�m�L�D$1H���H�M�胳���L�e�H�E�	����D$p����D$x�\$yL�E�H�T$pH������H�A��E��H��@H��H����I��H��H�}<���H���H���H+�H���B��W�f��H��H�������H�������H��KH���H������H��SH��H�@���H��t9A����GA�u,H�H��H����A����WA�uH�H��H�B���I��H���H3��wH��$
H��	A_A^A]A\_^]��������H��8H�H�"H�D$ H�BH�bH�T$ H�D$(��	H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@�G�H�����H;�u#L��H��H���(	H�\$PH�l$XH�t$`H��@_�H��DH�L$ ����H�g\GH�L$ ���@SUVWAVH�� A�xI��L��H��uML�CI��H������H��H�H�w(H�N8H��tH�H;���H�@ ���H�f8�hH���b���{t�H�� A^_^][��@SUVWAVH�� I��H��H+�L��H��H��H��r]H��������H;�wYH��H��r
H���x���3�H��tH���wH��I�H�I�^L��H��I�FH���g�H�I�FH�� A^_^][��?����L��I�[ VWAVH��`H�^�GH3�H�D$PI��L��H��I�S�M�C�I��I�K��H��H�OM��H�T$0蝵��H�H��0H���ʰ���H�\$(3�H��t:����C��u-H�H��H��e�����C��uH�H��H�@�H��I�VH��rH��I����I�~I�FA�>H�H��t*L��H�V���H�VH+H���H�����H�>H�~H�~H�L$PH3��H��$�H��`A^_^����L��I�[ VWAVH��`H�B�GH3�H�D$PM��H��H��I�S�M�C�I��I�K��H��H�OL��H�T$0聴��H�H��0H��讯���H�\$(3�H��t:����C��u-H�H��H��I�����C��uH�H��H�@�,��H�VH��rH��H�����H�~H�F@�>I�H��tI�VH+�H�����I�>I�~I�~H�L$PH3��
H��$�H��`A^_^���@SH��@H�����H9u	H��H��@[�H��iH�L$ �{��H��XGH�L$ ����H�\$WH��H���GH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@���H�L$xH��tYH�H��H�@�)�H�H�L$xH��tH�H�T$@H;���H�@ ��H��H��$�H3��H��$�H�Đ_�����H�#hH�L$(���H�*XGH�L$(�������@SH��@H�BH9HuG�3�H�H��H�A�9P }H�@�H��H�8Pt�8Su9S ~H����H;��H��@[�H��gH�L$ �0��H��WGH�L$ �K����H��H�XH�hH�p H�HWH�� I��H��H���@�]
H��H�D$0H��t,W���C�CH���H�H�KL��H���2����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H������	H��H�D$0H��t)W���C�CH���H�H�KH��0�3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H�\$H�t$H�L$WH�� H��H���0�T	H��H�D$0H��t4W���C�CH�/�H�H�}�H�CH�KH������3�W�H�CH�H�_H��H�\$8H�t$@H�� _��H�\$H�t$H�L$WH�� H��H���0��H��H�D$0H��t4W���C�CH���H�H�	�H�CH�KH����6���3�W�H�CH�H�_H��H�\$8H�t$@H�� _��H��H�XH�hH�p H�HWH�� I��H��H�����5H��H�D$0H��t,W���C�CH���H�H�KL��H���:����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H����H�$�H�L�wI�I��H�@�=�H���
��H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H��������C�uH�H��H�@����H��H�\$XH�t$`H�|$hH��@A^�H�e<H�L$ ���H�TGH�L$ ����L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��H���H�H�[H��t9����C��u,H�H��H��2�����C��uH�H��H�@��H��H�\$PH��0_����H�\$H�t$WH�� H��I��I��H���$��D��L��H��H���S���H�\$0H���H�H��H�t$8H�� _���L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S����H�&�H�H�[H��t9����C��u,H�H��H��N�����C��uH�H��H�@�1�H��H�\$PH��0_����H�\$VWAVH��`H��H��H�L$P�����H�;�H���
��H9�0H�K�H�H��PH��@H���H��HE3�L�qH�AD�1�
���H���Hc��L��H��hL�1L�qL�qD�L$ ����H���H���L�qH�AD�1����H���H������H���Hc��L��H�� L�1L�qL�qD�L$ ����H���Hc��L��H��8L�1L�qL�qD�L$ �j�������D$0H�T$0H���;���H��H��$�H��`A^_^�H�s`H�L$0���H�
QGH�L$0������H�\$H�t$WH�� H��H��P�.�H��83�H��t(H��HH+�H���%��H��8H��@H��HH�� H��t(H��0H+�H������H�� H��(H��0H���H��rH���H������H���H���@���H��hH��t(H��xH+�H�����H��hH��pH��xH��`H��rH��HH���V��H��8H��XH��`@��H���H�S(H��rH�KH�����H�s(H�t$8H�{ @�{H�\$0H�� _����@SH�� H�#�H��H���t
�@�H��H�� [������@SH�� H��H��H���t
���nH��H�� [������@SH�� H��H��H���t
�0�>H��H�� [������@SH�� H��H��H���t
�0�H��H�� [������@SH�� H�;�H��H���t
����H��H�� [������H�\$H�t$WH�� H�yH��H���H��t-H�WL���$��H�WH+H�H�������H�'H�gH�g@��t
� H���pH�t$8H��H�\$0H�� _��������������H�\$WH�� H�ً�H�IH��tH�SH+�H���h��H�cH�cH�c@��t
� H���H��H�\$0H�� _���������H�\$WH�� H�ً�H��8���H�S(H��rH�KH�����H�c H�C(�C@��t
�@H���H��H�\$0H�� _��������������H�\$WH�� ��H���H�����t
��H���ZH�\$0H��H�� _�������������H�\$H�t$WH��@I�H��I��I��H��H�@���H;�u;H�H��H�@�s�H���C��H;�uAH��H���[H�\$PH��H�t$XH��@_�H��ZH�L$ ����H��LGH�L$ �6��H��4H�L$ ��H�uLGH�L$ �����H�\$H�t$WH��H�ZH��H��H��t�CH�ZH�RH� �_��H��t9����C��u,H�H��H��������C��uH�H��H�@�����u0H���H���H+�H��H��t.H�	H�T$ A��],�H�OL��$�H��I�[I�sI��_��V�����H�\$WH��H�‹�H��H�T$ �,�3�H�H��H�A�9x }H�@�H��H�8Pt�8Su;{ }H���VH;H��$���H�Ġ_����H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@���H;���H�H��H�@�w�H���G��H;�uML��H�T$PH�����H�H� H�H�L$PH��tH��H��5�H�\$XH��H�t$hH�l$`H��@_�H��2H�L$ ���H�mJGH�L$ ���H��XH�L$ ���H�JJGH�L$ �����������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@���H;���L��H�L$ H���w�H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H��I�����C�uH�H��H�@�.�H�\$`H��H�l$hH�t$pH��P_�H�XH�L$0���H�fIGH�L$0������H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0�c�H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H��]�����C�uH�H��H�@�B��H�L$(H��t=����A�u2H�\$(H�H��H�������C�uH�L$(H�H�@����H�_H��t5����C�u*H�H��H��������C�uH�H��H�@���H��L�\$`I�[I�kI�s I��_�H��VH�L$@�v�H��GGH�L$@���H��(eH�%X�
�J�4H�ȋ
9aJH�*�GH��(�H�
jaJ���=^aJ�u�H�
���H�
IaJ�P����������������H�\$H�t$WH��@I�H��I��I��H��H�@���H;�u8H�H��H�@���H�����H;�u>H��H����H�\$PH�t$XH��@_�H�lUH�L$ �~�H��FGH�L$ ���H�1/H�L$ �[�H��FGH�L$ �v�������H�\$H�t$WH��PI�H��I��I��H��H�@�8�H;�uAH�H��H�@�#�H������H;�uGH�GH9pu`H��3�����H�\$`H�t$hH��P_�H��TH�L$ ���H�BFGH�L$ ����H�x.H�L$ ��H�FGH�L$ ���H��UH�L$8��H��EGH�L$8������������H��H�XH�hH�pH�x AVH�� L�A3�H�AH��I+�H��2H��H��H��tJD��H��K��E4��H�{H��rH�L�CH���,7��L�EH��aH�EH��I+�I�� H��H;�r�H�cVH��H�\$0H�l$8H�t$@H�|$HH�� A^��3���H�\$H�l$H�t$WH�� H�A3�H+AH��H��H��1H��H��t3H�_H���3��H��H���t���H�GH�9aH+GH��H��H;�r�H��UH��H�\$0H�l$8H�t$@H�� _�V3��������H�\$WH��PH��I9��I���^�H�T$`H�D$`H�L$ �f�H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H��������C��uH�H��H�@���H�\$hH��H��P_�H�'SH�L$0�y�H��CGH�L$0������H�\$H�t$H�L$WH����H����H�H�AH���9p }H�@�H��H��xt�{u;s }H���H;t9H�g8H�K`H��tH�H��H���H�G8H��L��$�I�[I�s I��_�H�<TH�L$8�:���H��H�
�G����L��H��H�L$X軸���L��SH��H�L$x覸���H��H�L$ ����H��CGH�L$ �����H��(�
*�JeH�%X�4H�ȋ
9�\JH�~\JH��(�H�
�\J���=v\J�u�W��Y\J�h�w�H�H�@H�@f�@H�7\JH�
�����H�
3\J�&������H�\$H�t$WH��@I�H��I��I��H��H�@���H;�u^H�H��H�@���H�����H;�uH��H���[H�\$PH��H�t$XH��@_�H�1*H�L$ �[�H��AGH�L$ �v��H��OH�L$ �8�H��AGH�L$ �S����H�\$UVWATAUAVAWH��$����H��PH���GH3�H��@H��H��H�L$8W�E�H�ZA�E3�H��t	�DcH�ZH�rH�u�H�]�H�T$8H����L�0L�8L�uXH�L$8H��tH�A��H�@���3�A��H��@��A��H��@�b���3�D�BHH������L�-�KL���W��D$0L�D$(H�T$0H���觪���H�EH�D$ H��HL�}(L�}0H�M�����A�L�d$`H�D$X�T��D$H�O�f�D$P�F��D$RD�|$SL�EH�T$HH����n���H���H�D$ H��@H�������L��L�e�H�E�����E�����E�D�}�H�U�H�����H�E8H�D$ H���L�}HL�}PH�M8����L�e�H�D$x
����D$h����D$p����D$tD�|$uL�E8H�T$hH���諜��H�E`H�D$ H�� H�M`� ���L�e�E�|$�L�}��]�f�E��U��E��E�L�E`H�U�H������H�ExH�D$ H��8H�Mx�O ���L�e�L�}���f�EȊ��E�3�@�u�L�ExH�U�H�����H���H�D$ L���L�D$)H���H����͓���H�uL�e@�u�L�
��D�ƍVH�M��ڹ���L���H�U�I���"���I�A��E��H��PI��H���H��H��X�����H��H��H+�H��菵��W�f�H�� H������H����4���H��+H���H������I��VI��H�@�e��H��t9A����CA�u,H�H��H��C�A����SA�uH�H��H�B�&�H��H��@H3����H��$�H��PA_A^A]A\_^]����������H�\$WH��H��H��H��PH�T$ ���H��H���H�xrH�H���H��hH���H��pH+�hH�����H���H�xrH�H���H���H�T$0蚆��H�����HI@ A H0I0@@A@HPIP@`A`H�@pH�A�	@AH I @0A0H@I@H�@PH�APH�� H���H��(H+� H�����H��8H���H��@H+�8H��$ H�����H��_����H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�XH��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@��H���;��H;�u#L��H��H���H�\$PH�l$XH�t$`H��@_�H��#H�L$ ���H�?;GH�L$ ����@SH��@H������H9u	H��H��@[�H��KH�L$ ��H�;GH�L$ ����H�\$WH��H�~GH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@�\�H�L$xH��tYH�H��H�@�1�H�H�L$xH��tH�H�T$@H;���H�@ ��H��H��$�H3���H��$�H�Đ_�����H�+JH�L$(��H�2:GH�L$(�������@SH��@H�BH9HuG�3�H�H��H�A�9P }H�@�H��H�8Pt�8Su9S ~H���}H;��H��@[�H��IH�L$ �8�H��9GH�L$ �S����H��H�XH�hH�p H�HWH�� I��H��H���H�e�H��H�D$0H��t,W���C�CH���H�H�KL��H���b����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H�������H��H�D$0H��t)W���C�CH�7#H�H�KH��8�3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H�����U�H��H�D$0H��t,W���C�CH�P�H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� I��H��E3��~H�_��H�H��t�SH�~XH�D$0H;�t%H�H��t����A;�uH�H��8�H�� H��t����C;�uH�H��H���H�\$8H��H�t$@H�� _�H��H�XH�pH�x H�HAVH��@I��H����H���H�L�wI�I��H�@���H������H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H��q�����C�uH�H��H�@�V��H��H�\$XH�t$`H�|$hH��@A^�H��H�L$ ���H��6GH�L$ �*���L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��
H���H�H�[H��t9����C��u,H�H��H��������C��uH�H��H�@���H��H�\$PH��0_����H�\$H�t$ WH�� I��H��H��M��0H�L$@�G�L�L��H��H������H�L$@H��t#����A��uH��tH��H���H��H�H��H�\$8H�t$HH�� _���H��H�XH�PH�HWH��0H��H��W��@�H�JH��t�AH�JH�H�D$ H�L$(H�T$ H������H�o�H�H�H�� H��0H��t�AƇ�Ƈ�3�H�����H�[H��t9����C��u,H�H��H��L�����C��uH�H��H�@�/�H��H�\$PH��0_��H�\$H�t$H�L$WH��@H��H������H�AH����H9u=H�UH�H�� H���H���$���H������H��H�\$XH�t$`H��@_�H�hCH�L$ ���H��3GH�L$ ���������������@SH�� H��H��H���t
�H���H��H�� [������@SH�� H���H��H���t
����H��H�� [������H�\$WH�� H�ً�H��0H��t����A��uH��H���H��0H������@��t
�8H���T�H��H�\$0H�� _���H�\$H�l$H�t$ WH�� H��A��H��H��t�SH��0H�D$0H;�t%H�H��t����A;�uH�H��X�H�� H��t����C;�uH�H��H��3�@��H��H�\$8H�l$@H�t$HH�� _�H�\$ UVWH��$���H���H�~uGH3�H���I��H��H�L$(H�BH�xI�H��I��H�@ �Ʋ��tH���{�]H�SH�L$X�;���L��H���H���Y��H�\$@��{H�T$@H�L$0�S���H���H�D$(H��t�xH�T$(H�L$H�vS���H�L$0H����?���H#����H��H�T$8L��H�L$P��H���H�H���H�d$PH�L$HH�H�@�����H�L$HH��t����A�uH��tH���H��ʱH�d$HH�d$8H�L$0H�H�@���H�L$0H��t����A�uH��tH���H����H�d$0H���H��t����A�uH��tH���H��T�H��H���H3����H��$(H���_^]����������������H�\$H�t$WH��@I�H��I��I��H��H�@���H;�uCH�H��H�@��H�����H;�uIH��0H��H���[���H�\$PH��H�t$XH��@_�H�)>H�L$ ���H�0GH�L$ ��H�6H�L$ �`��H��/GH�L$ �{����H�\$WH��H�‹�H��H�T$ ���P3�H�H��H�A�9x }H�@�H��H�8Pt�8Su;{ }H���H;H��$���H�Ġ_��������H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@���H;���H�H��H�@���H������H;�uML��H�T$PH����H�H� H�H�L$PH��tH��H��e�H�\$XH��H�t$hH�l$`H��@_�H��H�L$ � ��H��.GH�L$ �;��H��<H�L$ ���H�z.GH�L$ ����������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@�ЮH;���L��H�L$ H�����H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H��y�����C�uH�H��H�@�^�H�\$`H��H�l$hH�t$pH��P_�H�G<H�L$0���H��-GH�L$0�4�����H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0��H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H��������C�uH�H��H�@�r��H�L$(H��t=����A�u2H�\$(H�H��H��H�����C�uH�L$(H�H�@�+��H�_H��t5����C�u*H�H��H�������C�uH�H��H�@��H��L�\$`I�[I�kI�s I��_�H�;H�L$@���H�#,GH�L$@��H��(eH�%X�
MiJ�4H�ȋ
9�EJH�bgGH��(�H�
�EJ���=�EJ�u�H�
!~�<�H�
�EJ������������������H�\$H�t$WH��@I�H��I��I��H��H�@��H;�u8H�H��H�@��H�����H;�u>H��H���/�H�\$PH�t$XH��@_�H��9H�L$ ���H�++GH�L$ �ɼ�H�aH�L$ ���H�+GH�L$ 覼������H�\$H�t$WH��PI�H��I��I��H��H�@�h�H;�uAH�H��H�@�S�H���o��H;�uGH�GH9pu`H��3�����H�\$`H�t$hH��P_�H��8H�L$ ���H�r*GH�L$ ���H��H�L$ ����H�O*GH�L$ ���H�%:H�L$8���H�,*GH�L$8�ʻ����������H�\$WH��PH��I9��I�����H�T$`H�D$`H�L$ ���H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H��A�����C��uH�H��H�@�$�H�\$hH��H��P_�H��8H�L$0����H�f)GH�L$0������H�\$H�t$H�L$WH����H����H�H�AH���9p }H�@�H��H��xt�{u;s }H���H;t9H�g8H�K`H��tH�H��H��w�H�G8H��L��$�I�[I�s I��_�H��9H�L$8誔��H��H�
�G�_���L��H��H�L$X�+����L�K9H��H�L$x�����H��H�L$ �8���H�Y)GH�L$ �����H��(�
�eJeH�%X�4H�ȋ
9BJH�BJH��(�H�
BJ�E��=�AJ�u�W���AJ�h���H�H�@H�@f�@H��AJH�
Hz�S��H�
�AJ�������H�\$H�t$WH��@I�H��I��I��H��H�@�8�H;�u^H�H��H�@�#�H���?��H;�uH��H���[H�\$PH��H�t$XH��@_�H��H�L$ ����H�H'GH�L$ ���H�5H�L$ ���H�%'GH�L$ �ø���H�\$WH��@H�$jGH3�H��$0H��H��H�L$ H�T$ H���H�8H� H�|$(H�L$ H��tH��H�@�Q�3�A��H�L$0���H�L$0�G���H�A��H�T$@H��H���H��H�L$H����H��$��g���H�LH��$�H��$����L��H��I�@�ɦH��H��$0H3��f�H��$`H��@_��H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�!H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@�G�H���w��H;�u#L��H��H���XH�\$PH�l$XH�t$`H��@_�H��
H�L$ ����H�g%GH�L$ ���@SH��@H�����H9u	H��H��@[�H��5H�L$ ���H�(%GH�L$ �ƶ��H�\$WH��H�(hGH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@�8�H�L$xH��tYH�H��H�@�Y�H�H�L$xH��tH�H�T$@H;���H�@ �4�H��H��$�H3����H��$�H�Đ_���H�S4H�L$(����H�Z$GH�L$(�����@SH��@H�BH9Hu;L��H�L$PH�T$ E3��o����>8H�T$ H���{��H���)8H;��H��@[�H��3H�L$ �l��H��#GH�L$ 臵���@SH��H�BL��H9HuJH�T$@I�����d$0H��HH�T$(�L$ �7H�T$ H���w{��H���7H;��H��[�H�]3H�L$ ����H�d#GH�L$ ����H��H�XH�hH�p H�HWH�� I��H��H���P��H��H�D$0H��t,W���C�CH�h�H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H�����H��H�D$0H��t)W���C�CH�H�H�KH���3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H������H��H�D$0H��t,W���C�CH�0�H�H�KL��H���
����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H������H�\�H�L�wI�I��H�@�
�H���=��H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H��������C�uH�H��H�@����H��H�\$XH�t$`H�|$hH��@A^�H�5	H�L$ �_��H�� GH�L$ �z���L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��]�H�"�H�H�[H��t9����C��u,H�H��H�������C��uH�H��H�@��H��H�\$PH��0_����H�\$ UVWATAUAVAWH��$`�����H+�)�$�H�(cGH3�H���I��H��L��H��@I��辨��D��L��H��I�������H���I�H��P	H��	�H��	H��P	H��	�^�H��	H��T	H�� 	H��(	H��X	H��0	D�v�L��8	H��d	H��@	D�f�L��H	W��P	�`	I�WpH���D�FH��P	��H���H���H+�H��E3�H����D��H���H�	�H��H���H��PH��H��H��PH��H��H��TH�� H��(H��XH��0L��8H��dH��@L��H(�`)�P(�p)�`L����^H���D���L�
��E�ōV(H���腙���H�]�s�H�u�	��E��f�E����E
D�mH���HDž�
�
������f���D���L��0H��8D�� L�
a�E��E�t$AA��H�� ����H�H��H�@��L��H���H�D$8H��H�D$0H�EH�D$(H���H�D$ L����SsH�� 菁���H��8H��rH��H�� 膔��L��0H��8D�� H���H��rH��H����U���L���H���D���H�UH��rH��H�M�*���L�mH�]D�mH���H��rH��H�������L���H���D���L�
��E�ź1H����—���H�]�H�u��I��E��E�f�E��=��E�D�m�H�]8H�u0����E ���f�E(����E*D�m+L��H��D��L�
��E��I��H���9����H�H��H�@�h�L��H���H�D$8H��H�D$0H�E�H�D$(H��	H�D$ L�M ��H�������H��H��rH��H���֒��L��H��D��H�U8H��rH��H�M 諒��L�m0H�]8D�m H�U�H��rH��H�M�艒��L�m�H�]�D�m�H���H��rH��H����a���D��0E��E���W�A��D;�0�5H�NL���H���I+�H��H;��
A�H��I���:�I�_pH���H���HDž�H���H����H���H���H���H���H���H���HDž�H���H���HDž�W�����H��pD�AH�����H��H�AH+H�� ��Hc�0D;��eH�HH�L���H���I+�H��H;��:A�H���	I���4�L����H���D���L�
?�E�ōV$H���轔���H�uxH�Ep�P��E`�M��Eh�G�f�ElD�mnH�uXH�EP
�Wy�E@�Ty�EH�Oy�ELD�mML��pH��xD��`H���L��E�ōV4H��`�+����H�H��H�@�Z�L��H���H�D$8�D$0H�E`H�D$(H���	��L$ L�M@�VH��`�B���H��xH��rH��H��`�͏��L��pH��xD��`H�UXH��rH��H�M@袏��L�mPH�uXD�m@H�UxH��rH��H�M`耏��L�mpH�uxD�m`H���H��rH��H����X���L���H���D���L�
�E�ź5H��������H���HDž����������������f���D���H�t$XH�t$P��w�D$@��w�D$H��wf�D$L��w�D$ND�l$OL���H���D���L��E�źCH����k����H�H��H�@���L��H���H�D$8�D$0H���H�D$(H���	��L$ L�L$@��H����|���H���H��rH��H�������L���H���D���H�T$XH��r
H��H�L$@�ڍ��L�l$PH�t$XD�l$@H���H��rH��H���词��L���H���D���H���H��rH��H����~���L��H��D��L�
BE�ź5H���>����H�u�H�E���~�E���~�E���~f�E�D�m�H�t$xH�t$p�:v�D$`�6v�D$h�/vf�D$l�&v�D$nD�l$oL���H���D���L��E�źCH���裐���H���	H�H��H�@�˕L��H��H�D$8�D$0H�E�H�D$(�C�D$ L�L$`��H����
���H���H��rH��H����A���L���H���D���H�T$xH��r
H��H�L$`����L�l$pH�t$xD�l$`H�U�H��rH��H�M����L�m�H�u�D�m�H��H��rH��H���Nj��L��0H��8D�� L�
ˈE�ź5H�� 臏���H�u�H�E��}�E�}�E��}f�E�D�m�H�u�H�u���t�E���t�E���tf�E���t�E�D�m�L���H���D���L�
c�E�źCH�������H���	H�H��H�@��L��H�� H�D$8�D$0H�E�H�D$(�C�D$ L�M���H����	���H���H��rH��H���莊��L���H���D���H�U�H��rH��H�M��c���L�m�H�u�D�m�H�U�H��rH��H�M��A���L�m�H�u�D�m�H��8H��rH��H�� ����L��PH��XD��@L�
|E�ź1H��@�ٍ���L��0H��8D�� H�$�H�� �P����L��H��D��H�KsH���'����L���H���D���H�ʅH�������H�� ��A����H�H��H�@�~�L��H��@H�D$8�\$0H�� H�D$(H���	��L$ L����H����b���H���H��rH��H������L���H���D���H��H��rH��H��輈��L��H��D��H��8H��rH��H�� 苈��L��0H��8D�� H��XH��rH��H��@�Z�����L��pH��xD��`H���H��`軄���L���H���D���H��zH���蒄���L��pH��xD��`H���H��`�i����L��PH��XD��@H��H��@�@����H���H���l�H��H�H��H�@���L��H��`H�D$8�t$0H���H�D$(��x�D$ L��`��H��@����H��X�H;�rH��H��@�%���L��PH��XD��@H��xH;�rH��H��`���L��pH��xD��`H���H;�rH��H����ņ��L���H���D���H��xH;�rH��H��`蕆��L���H���D���H��H�������L���H���D���H��pH����Ԃ���L���H���D���H�yH���諂���L���H���D���H�N�H���肂���H�H��H�@��L��H���H�D$8H���H�D$0H���H�D$(H���H�D$ L�����H����r���H���H;�rH��H����z���L���H���D���H���H;�rH��H����J���L���H���D���H���H;�rH��H�������L���H���D���H���H;�rH��H������L���H���D���H�~oH����R����L��PH��XD��@H��wH��@�)����L��0H��8D�� H�toH�� �����L��H��D��H���H���׀���H�H��H�@�f�L��H���H�D$8�D$0H��@H�D$(H��(H�D$ L�� ��H���go���H��H;�rH��H���Ӄ��L��H��D��H��8H;�rH��H�� 裃��L��0H��8D�� H��XH;�rH��H��@�s���L��PH��XD��@H���H;�rH��H����C���L���H���D���H��mH�������L���H���D���H��uH�������L���H���D���H��mH����Y���L��pH��xD��`H��~H��`�0���H�H��H�@���L��H���H�D$8�D$0H���H�D$(H��(H�D$ L�����H��`�m���H��xH;�rH��H��`�,���L��pH��xD��`H���H;�rH��H������L���H���D���H���H;�rH��H����́��L���H���D���H���H;�rH��H���蜁��L���H���D���H�0lH����~���L��H��D��H�wtH����}���L���H���D���H��lH����}���L���H���D���H�U}H����}���H�H��H�@��L��H���H�D$8�D$0H��H�D$(H��H�D$ L�����H����l���H���H;�rH��H���腀��L���H���D���H���H;�rH��H����U���L���H���D���H��H;�rH��H���%���L��H��D��H���H;�rH��H������H�OH��t�AH�OH�G��H��t�`a��H�	s����L��H��D��H���0|���L��pH��xD��`H�kH��`�|���L��PH��XD��@H�kH��@��{���L��0H��8D�� H��{H�� �{���H����H����+��A����H�H��H�@�*�L��H��H�D$8H�� ��L$0H��`H�D$(�\$ L��@��H�� ����H��8H��rH��H�� �~��L��0H��8D�� H��XH��rH��H��@�h~��L��PH��XD��@H��xH��rH��H��`�7~��L��pH��xD��`H��H����H���L��0H��8D�� H�� �tz���L��PH��XD��@H�OiH��@�Kz���L���H���D���H�FiH����"z���L���H���D���H��yH����y���H����H����+��A����H�H��H�@�n�L��H�� H�D$8H��0��L$0H��@H�D$(�\$ L�����H�������H���H��rH��H�����|��L���H���D���H���H��rH��H����|��L���H���D���H��XH��rH��H��@�{|��L��PH��XD��@H��8H��rH�� H���J|��A��E;����I��H���H3���L��$�I�[XA(s�I��A_A^A]A\_^]��W����H��H��`����H��GH��`� ���*�����$����H�L\H��H�ԥ��H�yGH��H���H�\$H�T$UVWH��0H��H��W��D$ H�JH��t�AH�JH�H�D$ H�L$(H�T$ H���)�H��vH�H�_H��t�CH�_H�GH��H�AH+H����0��H��t5����C�u*H�H��H��8�����C�uH�H��H�@��Ƈ4H�_H��t�CH�_H�G�����8H��t5����C�u*H�H��H��փ����C�uH�H��H�@���Ƈ�H�^H��t5����C�u*H�H��H��������C�uH�H��H�@�v�H��H�\$`H��0_^]���H�\$UVWATAUAVAWH��PH��H��H�L$H�v���H���H��h�H9E��H���H�H���H��H���H��H��pH�� A�L��(H��0E�u�L��8H��tH��@L��HH��xH��PE�e�L��XH���H��`E�}�L��hW�AH���E�E�ҡH���H���L���H���L���H���H���L���H���H���L���H���H���L���W�AH��E�E�V�E3�D9�0������4��D9�<����H��pH�� L��(H��0A�U�H��8H��tH��@H��HH��xH��PL��XH���H��`L��hW�AH��`E�E觠���������D$ H�T$ H���t������D$ H�T$ H���rt���D9������D��8E����H��H�PL�H��I+�H��H��L�@L�I��I+�H��H;�t	M+�I�� sJI+�H��L;�u>H��H��$�H��PA_A^A]A\_^]�H�9H�L$0�S���H��FH�L$0�n��H�rH�L$0�0���H���FH�L$0�K������������@SH�� H��tH��H���t
�P螲H��H�� [������@SH�� H��tH��H���t
���n�H��H�� [������H�\$WH�� ��H���v����t
�@H���:�H�\$0H��H�� _�������������H�\$H�t$WH��@I�H��I��I��H��H�@�hH;�u;H�H��H�@�SH�����H;�uAH��H���[H�\$PH��H�t$XH��@_�H��H�L$ ���H�x�FH�L$ ���H���H�L$ �ئ��H�U�FH�L$ �����H�\$UVWATAUAVAWH��$����H��`H�BAGH3�H��P
H��L��W���H�zA�E3�H��t	�DH�zL�rL���H���H���H���H+�H��H����
E��H���H�	�G�D9�0��
H���H���H+�H��I;���
E��H���H�I�	�H���H��PHDžXH���H��`L��hH���H��pL��xH���H���HDž�H���H���HDž�W�����I��p� D��H����ĜH�� H���HDž�H�� H���L���H��$H���L���H��(H��HDžH��4H��HDžW�� �0I���D��H�� �(�I��H�HH+H��H���D�8D��E8�tH��	D�8D��E8��?L�mx�H���D�mhL�
!oE�ōS+H�Mh�w���H�\$`H�D$X�=o�D$H�6of�D$L�-o�D$ND�l$OL�m�H�]�D�m�L�
oE�ōSH�M���v���L�m�H�]�D�m�L�
oE�ōS4H�M��v���I��PH�H��H�@��{L��H�EhH�D$8D�l$0H�D$HH�D$(��D$ L�MȺ5H�M�����H�U�H��rH��H�M��Or��L�m��H�]�D�m�H�U�H��rH��H�M��(r��L�m�H�]�D�m�H�T$`H��r
H��H�L$H�r��L�l$XH�\$`D�l$HH���H��rH��H�Mh��q��L���H���D���L�
�mE�ź:H����u���H�]�H�D$x��m�D$h��mf�D$l��m�D$nD�l$oL�mH�] D�mL�
�mE�źH�M�Eu���L�m�H�]D�m�L�
�mE�źCH�M�� u���I��PH�H��H�@�HzL��H���H�D$8D�l$0H�D$hH�D$(�C�D$ L�M�6H�M��	���H�UH��rH��H�M���p��L�m��H�]D�m�H�U H��rH��H�M�p��L�mH�] D�mH�U�H��r
H��H�L$h�p��L�l$xH�]�D�l$hH���H��rH��H����Vp��L���H���D���L�
"lE�ź:H����t���H�]�H�E��;l�E��5lf�E��-l�E�D�m�L�mXH�]`D�mHL�
�lE�źH�MH��s���L�m8H�]@D�m(L�
lE�źCH�M(�s���I��PH�H��H�@��xL��H���H�D$8D�l$0H�E�H�D$(�C�D$ L�MH�7H�M(����H�U@H��rH��H�M(�Jo��L�m8�H�]@D�m(H�U`H��rH��H�MH�#o��L�mXH�]`D�mHH�U�H��rH��H�M��o��L�m�H�]�D�m�H���H��rH��H�����n��I��PD�HD�@�H����H���H��PA�L��XH���H��`E�S�L��hH���H��pL��xH���H���A�[�H���H���H����s�H���fo��������D������D���D���H��(H���L���H��(H���L���H��,H���L��H��0H��H��H��<H��H�� (���((���8H��`�=��H�D$ L���D���H���I����|���H����������G���H�H��H��`v����G���H�H�@�H���H��P�H��XH���H��`�^�H��hH���H��pH��xH���H���D�v�L���H���H���HDž�(�0	)��(�@	)���\$@�\$ D��D�Ë�H���谟��H�D$@H�D$8�\$0H���H�D$(H���H�D$ L��PL��PH���H��P�i���H���D�HD�@�H����H�� H���H���H�� H���H���H��$H���H���H��(H��L��H��4H��D�V�L��fon�� �0�� D��$��(D��,D��0H���H��PH��XH���H��`H��hH���H��pH��xH���H���L���H���H���L���(� ��(�0��H��X�|��H�D$ L��PD���H���I���z���H��t8������G�u*H�H��H���s����O�uH�H�AH���sI��H��P
H3��<�H��$�H��`A_A^A]A\_^]�茡���膡���H���H����6���H���FH����O����������������H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@�sH;���H�H��H�@��rH�����H;�uML��H�T$PH�����H�H� H�H�L$PH��tH��H���rH�\$XH��H�t$hH�l$`H��@_�H�6�H�L$ �`���H���FH�L$ �{��H�+H�L$ �=���H���FH�L$ �X���������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@�rH;���L��H�L$ H�����H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H���q����C�uH�H��H�@��qH�\$`H��H�l$hH�t$pH��P_�H���H�L$0�Y���H���FH�L$0�t�����H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0���H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H���p����C�uH�H��H�@��p�H�L$(H��t=����A�u2H�\$(H�H��H���p����C�uH�L$(H�H�@�kp�H�_H��t5����C�u*H�H��H��Gp����C�uH�H��H�@�,pH��L�\$`I�[I�kI�s I��_�H�T�H�L$@���H�c�FH�L$@���H��(eH�%X�
�,J�4H�ȋ
9	JH��*GH��(�H�
	J�A��=�J�u�H�
�A�|�H�
�J�����������������H�\$H�t$WH��@I�H��I��I��H��H�@�XoH;�u8H�H��H�@�CoH���s��H;�u>H��H���G��H�\$PH�t$XH��@_�H��H�L$ ���H�k�FH�L$ �	��H���H�L$ �˖��H�H�FH�L$ ��������H�\$H�t$WH��@I�H��I��I��H��H�@��nH;�u8H�H��H�@��nH������H;�u>H��H�����H�\$PH�t$XH��@_�H�,�H�L$ �>���H���FH�L$ �Y�H���H�L$ ����H���FH�L$ �6������H�\$WH��PH��I9��I�����H�T$`H�D$`H�L$ ���H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H���m����C��uH�H��H�@��mH�\$hH��H��P_�H��H�L$0�Y���H���FH�L$0�t~����H��H�XH�HWH��H��M��D��H�T$ H�H ��f���H�T$ H���pD��H���H;8t5H�c8H�OpH��tH�H��H���lH�C8H��H��$�H�Ġ_�H�3�H�L$8�1X��H��H�
G�G��{��L��H��H�L$X�a���L��H��H�L$x�a���H��H�L$ �w��H���FH�L$ �}��H��(�
")JeH�%X�4H�ȋ
9�JH��JH��(�H�
�J�ͥ�=�J�u�W���J�x�o�H�H�@H�@f�@H�_JH�
 >�ۣ�H�
[J���������������H�\$H�t$WH��@I�H��I��I��H��H�@��kH;�u^H�H��H�@��kH������H;�uH��H���[H�\$PH��H�t$XH��@_�H�!�H�L$ �K���H���FH�L$ �f|�H���H�L$ �(���H���FH�L$ �C|���H�\$UVWATAUAVAWH��$���H��0
H��-GH3�H�� 	H��L��H�L$HW�E8H�zA�E3�H��t	�DwH�zH�rH�u8H�}@H���H��PHDžXH���H��`L��hH���H��pL��xH���H���HDž�H���H���HDž�����H���A� H���苉H��L�`L+ I��L�d$8H�T$pH���'�H�H�L$HL�8H���H�L$pH��tH�A��H�@��iH�
HH���D8�HE�H�D$0A��E��3�H�� ���H�� �
���E��3�H�� ���H�� ��	���E��3�H�� �Ќ�H�� ��	���M��H��H�HH+H��H���TA�D;�0�SH���M�fL�d$ H���H+�H��I;���J�9H�H�@��hH��H�xrH�L�@H��0����D;�0��H���H���H+�H��I;���A�H��J�9��A�H�HH�@H���HcL��H��H;�u�H��3H��0�c��H��I���8/��H��H�HH+H��H�A�H�S�L;�H�Q�HD�H��0�!����4u$L�t$ I��H��H�HH+H��L;������E3�L�d$8M��H��H�HH+H��H���NHc�0D;���H�HI�H���H���H+�H��H;��H��H�H�@�xgH��H�xrH�L�@H��0�k��Hc�0D;���H�HI�L���H���I+�H��H;���A�H���I����A�H�HH�@H���HcL��H��H;�u�H�X2H��0����H��I���-��H��H�HH+H��H�A�H��L;�H���HD�H��0���E3�D8�4uI��H��H�HH+H��L;������3�D�BHH���ΉH���H���d$8L�D$(H�T$8H���O���A�L�u�H�E�
�2K�D$x�.K�E��)K�E�D�}�H��L�@L+I��H�T$xH����B��L�u�H�E�
��J�E���Jf�E�D�}�H��L�@L+I��H�U�H���B��H���H�D$ H���H��P���L��L�u�H�E���E���f�E�D�}�H�U�H����A��H���H�D$ H�� H����h��L��L�uH�E�MC�E��JC�ED�}H�U�H���A��L�u0A�^�H�](�IC�E�DC�ED�}E��H�UH���޺��L�t$hL�t$`�C�D$P�C�D$X�Cf�D$\�C�D$^D�|$_L�D$0H�T$PH������L�u�H�]���B�E���B�E�D�}���H�U�H����?��D8��+3�E�F9H����v�H�g�H����d$@L�D$)H�T$@H����AM���H���H�D$0H�� H����	���L�u`H�EX�EHsizeD�}LL��H�UHH����2@��H��H�D$0H��L�D$*H���H���7���L�}xL���D�}hL�
�VE��A�VH�Mh�^���L��H�UhH���Dd���H���H���H+�H����Y��W�f��L��H����Cc���H�N�H��XH�D$0H��XL�D$+H��H��`�K7���L���L���D���L�
fVE�ǺH����J]���L��XH���H�\$HH���c��H�A��E��H��0H��H��QbI��H��8�2����H��(H�� H+�H���X��W�f� L��0H���]b���H����"���H�5L�H���H����~�H����t"���H���H����`~�H����S"���H���H����?~�H�A�VH��H�@��a�H��t9A����GA�u,H�H��H��haA����WA�uH�H��H�B�KaI��H�� 	H3���H��$�
H��0
A_A^A]A\_^]�H�g8H������H���FH����r������H�r�H������H�g�FH�����q�H�K�H���蛁��H�@�FH����q�辎���H��7H����n���H��FH����q�葎���H�\$H�l$H�t$WH��@I�H��I��I��H��H�@�C`H������H;�u#L��H��H����H�\$PH�l$XH�t$`H��@_�H���H�L$ ���H�c�FH�L$ �q�H�\$H�l$H�t$WH��@I�H��I��I��H��H�@��_H������H;�u#L��H��H��� H�\$PH�l$XH�t$`H��@_�H�<�H�L$ �f���H���FH�L$ �p�H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�8#H��8����H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�#H��8����L��SVWH��`H��!GH3�H�D$PH��H��I�S�E�C�I�S�I�K���H��H�OL��H�T$0��8��H�H��0H���3���H�\$(H��t9������C�u+H�H��H���^����C�uH�H��H�@�v^�H�VH��rH��H��0U��H�fH�F�H�L$PH3���H��`_^[����@SH��@H���ʾ��H9u	H��H��@[�H�
�H�L$ ���H�l�FH�L$ �
o��@SH��@H����H9u	H��H��@[�H���H�L$ 诅��H�,�FH�L$ ��n��H�\$WH��H�, GH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@�A�H�L$xH��tYH�H��H�@�]]H�H�L$xH��tH�H�T$@H;���H�@ �8]H��H��$�H3��ՐH��$�H�Đ_��o�H�W�H�L$(���H�^�FH�L$(�m����H�\$WH��H�\GH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@�A�H�L$xH��tYH�H��H�@��\H�H�L$xH��tH�H�T$@H;���H�@ �h\H��H��$�H3���H��$�H�Đ_��3n�H���H�L$(����H���FH�L$(�,m����@SH��@H�BH9Hu;L��H�L$PH�T$ E3��U����AH�T$ H���-3��H����AH;��H��@[�H��H�L$ 蠃��H��FH�L$ �l���@SH��@H�BH9Hu;L��H�L$PH�T$ E3��3U���BH�T$ H���2��H����AH;��H��@[�H���H�L$ �0���H���FH�L$ �Kl���@SH��H�BL��H9HuJH�T$@I��豻�d$0H��HH�T$(�L$ ��@H�T$ H���;2��H����@H;��H��[�H�!�H�L$ 諂��H�(�FH�L$ ��k��@SH��H�BL��H9HuJH�T$@I���-��d$0H��HH�T$(�L$ �AH�T$ H���1��H����@H;��H��[�H���H�L$ �'���H���FH�L$ �Bk��@USVWATAVAWH�l$�H��pH��GH3�H�E`I��M��D��L��H�������D$PH�D$P���;0��H��H�L$TH;�u�3�A��H�L$`�+}�H�L$`�,���������H�P 3�H�t$@H�t$HH�L$0�Jl���H��H�{rH�L�CH�L$p�~��H���H���o��H�T$0H�|$HHCT$0L�D$@H���Q��H�B�H���B��H��H�rH�L�GH���)��H��H�������H�T$HH��r
H��H�L$0�O���L$P�<���H�P H�t$@H�t$HH�L$0�k���H�T$0H�|$HHCT$0L�D$@H�L$p���H��H�������H�T$HH��r
H��H�L$0�WO��H�L$p���H�D$HH�t$@@�t$0H�D$0H�D$ L�L$`M��A��I���U��H�T$HH��rH��H�L$0�O���H�M������H�z�H�E�H�M��t�H�M`H3�踋H��pA_A^A\_^[]���H�\$H�t$H�L$WH�� H��H����� �H��H�D$0H��t)W���C�CH�UH�H�KH���3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H�\$H�t$H�L$WH�� H��H���X蠉H��H�D$0H��t)W���C�CH�{�H�H�KH���3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H�\$WH�� H��H��� �*�H�D$0L��H��t0W��A�@A�@H�KTI�H�aSI�@�A�@�E3�I�@W�H�H��L�CH�\$8H�� _����H��H�XH�hH�p H�HWH�� I��H��H����蝈H��H�D$0H��t,W���C�CH�HSH�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�hH�p H�HWH�� I��H��H�����
�H��H�D$0H��t,W���C�CH�hRH�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�hH�p H�HWH�� I��H��H���@�}�H��H�D$0H��t,W���C�CH�PRH�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�hH�p H�HWH�� I��H��H���@��H��H�D$0H��t,W���C�CH�pQH�H�KL��H���&����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H���Ȗ�H��IH�L�wI�I��H�@��SH��荴��H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H���S����C�uH�H��H�@��S�H��H�\$XH�t$`H�|$hH��@A^�H��H�L$ �G{��H���FH�L$ �bd��H��H�XH�pH�x H�HAVH��@I��H�����H�lIH�L�wI�I��H�@�
SH���
���H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H���R����C�uH�H��H�@��R�H��H�\$XH�t$`H�|$hH��@A^�H�5�H�L$ �_z��H���FH�L$ �zc��L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��]�H��GH�H�[H��t9����C��u,H�H��H��R����C��uH�H��H�@��QH��H�\$PH��0_����L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��ɜH��GH�H�[H��t9����C��u,H�H��H��nQ����C��uH�H��H�@�QQH��H�\$PH��0_����H�\$ UVWATAUAVAWH��$�H��	H��GH3�H��I��H��L��H���I���8Y��D��L��H��I������H��FI�H���H���H+�H��E3�H����A�_D��H���H�	詰H���H���H+�H��H;���D��H��H�I�x�H���H���H+�H��H���gD��H���H�I�F�L���E�gL���D���L�
:IE�ǍSH�����J���L���L���D���L�
+IE�ǍSH����J���L�|$PL�d$XD�|$@H�5�FL��E�ǍSEH�L$@�wJ���H�H��H�@��OL���D$0H���H�D$(����D$ L�����H�L$@�?����H�T$XE�oI;�r
H��H�L$@�#F��L�|$PL�d$XD�|$@H���I;�rH��H����E��L���L���D���H���I;�rH��H�����E��L��pL��xD��`L�
�GE�ǺH��`�I���L�|$pL�d$xD�|$`L�
HE�ǺH�L$`�`I���L���L���D���L��E�ǺFH����3I���H�H��H�@�bNL���D$0H��`H�D$(���D$ L�L$`��H�����H���I;�rH��H�����D��L���L���D���H�T$xI;�r
H��H�L$`�D��L�|$pL�d$xD�|$`H��xI;�rH��H��`�D��L���L���D���L�
�FE�ǺH����IH���L�}�L�e�D�}�L�
�FE�ǺH�M��$H���L�}�L�e�D�}�L��E�ǺFH�M��H���H�H��H�@�2ML���D$0H���H�D$(����D$ L�M���H�M����H�U�I;�rH��H�M��C��L�}�L�e�D�}�H�U�I;�rH��H�M��C��L�}�L�e�D�}�H���I;�rH��H����qC��H��PH��HDžH��PH��H��H��TH�� H��(H��XH��0HDž8H��dH��@HDžH(��)�P(��)�`L��L��D��L�
|EE�Ǻ.H���F���L�}L�eD�}L�
�EE�Ǻ!H�M�{F���L�}�L�e�D�}�L�
�EE�ǺH�M��VF���L�}�L�e�D�}�L��E�ǺFH�M��5F���H��H���H���H���HcH��H��H;�u�H���H�� �H�H��H�@�*KL��H��H�D$8�t$0H�EH�D$(�\$ L�MຖH�M�� ����H�U�I;�rH��H�M��A��L�}�L�e�D�}�H�U�I;�rH��H�M��A��L�}�L�e�D�}�H�UI;�rH��H�M�pA��L�}L�eD�}H��I;�rH��H���IA��H���H���HDž�H���H����H���H���H���H���H���H���HDž�H���H���HDž�(�`)��(�p)��L��0L��8D�� L�
�CE�ǍS.H�� �uD���L�}pL�exD�}`L�
YCE�ǍS H�M`�RD���L�}PL�eXD�}@L�
�CE�ǍSH�M@�/D���L�}0L�e8D�} L�
k@E�ǍSEH�M �D�����H��H��H���HcH��H��H;�u�H����H����H�H��H�@�IL��H�� H�D$8�t$0H�E`H�D$(�\$ L�M@��H�M ����H�U8I;�rH��H�M �?��L�}0L�e8D�} H�UXI;�rH��H�M@�i?��L�}PL�eXD�}@H�UxI;�rH��H�M`�H?��L�}pL�exD�}`H��8I;�rH��H�� �!?��L��PL��XD��@L�
�BE�ǻ��H��@��B���L���L���D���L�
jBE�ǍSH����B���L���L���D���L�
[BE�Nj�H����B���L���L���D���L�
�>E�ǍS1H����SB���H�H��H�@��GL��H��@H�D$8H����L$0H���H�D$(H�����L$ L�����H����]����H���I;�rH��H�����=��L���L���D���H���I;�rH��H����=��L���L���D���H���I;�rH��H����=��L���L���D���H��XI;�rH��H��@�Y=��W���H�wH��t�FH�wH�GH���H��������ۃ�H��PH��HDžH��PH��HDžH��TH�� HDž(H��XH��0HDž8H��dH��@HDžH(��)�P(��)�`L��xL��pD��`L�d$XH�D$P�!�D$@�� �D$H�� f�D$LD�|$NL���L���D���L�
�?E�ǺH����?���L���L���D���L�
-<E�ǺFH�����?���H�H��H�@��DL��H��`H�D$8�D$0H�D$@H�D$(H����L$ L�����H����ڹ���H���I;�rH��H����f;��L���L���D���H���I;�rH��H����6;��L���L���D���H�T$XI;�r
H��H�L$@�
;��L�|$PL�d$XD�|$@H��xI;�rH��H��`��:��L��PL��XD��@H�$�H��@�H7���L�}PL�eXD�}@H�LH�M@�+7���L�}pL�exD�}`H�o>H�M`�7���L���L���D���H��:H�����6���H�H��H�@�tCL��H��@H�D$8�D$0H�E@H�D$(H��0��L$ L�M`��H����Z����H���I;�rH��H�����9��L���L���D���H�UxI;�rH��H�M`�9��L�}pL�exD�}`H�UXI;�rH��H�M@�9��L�}PL�eXD�}@H��XI;�rH��H��@�t9��L��0L��8D�� H���H�� ��5���L�}�L�e�D�}�H��H�M��5���L�}L�eD�}H�=H�M�5���L�}0L�e8D�} H�>9H�M �5���H�H��H�@�BL��H�� H�D$8�\$0H�E�H�D$(H�� ��L$ L�M��H�M �����H�U8I;�rH��H�M �8��L�}0L�e8D�} H�UI;�rH��H�M�r8��L�}L�eD�}H�U�I;�rH��H�M��Q8��L�}�L�e�D�}�H��8I;�rH��H�� �*8��L��L��D��H�&<H���4���L�}�L�e�D�}�H�><H�M��u4���L�}�L�e�D�}�H�8H�M��X4���H���s(��H�H��H�@��@L��H��H�D$(�\$ L�M���H�M���H�U�I;�rH��H�M��r7��L�}�L�e�D�}�H�U�I;�rH��H�M��Q7��L�}�L�e�D�}�H��I;�rH��H���*7��L���L���D���H�~;H����3���L�|$pL�d$xD�|$`H��;H�L$`�q3���L�}�L�e�D�}�H�
7H�M��T3���H���H���H+�H��H����H�I��&��H�H��H�@��?L��H���H�D$(�\$ L�L$`��H�M�諗�H�U�I;�rH��H�M��M6��L�}�L�e�D�}�H�T$xI;�r
H��H�L$`�*6��L�|$pL�d$xD�|$`H���I;�rH��H����6���H��t	H������I��H��H3��rH��$h	H��	A_A^A]A\_^]��m����	m���H�\$ UVWAVAWH��$���H��0I��H��H��H�M�I���F��D��L��H��H���W��H��4H�E3�L�u�E�~L�}�D�u�L�
�7E��A�VH�M��29���L�t$pL�|$xD�t$`L�
�:E��A�VH�L$`�
9���L�t$PL�|$XD�t$@L�
C5E��A�VFH�L$@��8���H���H���H+�H��H����A�H�U�H�	�H��H�H��H�@��=L���D$0H�E�H�D$(�C�D$ L�L$`��H�L$@���H�T$XH��r
H��H�L$@�i4��L�t$PL�|$XD�t$@H�T$xH��r
H��H�L$`�B4��L�t$pL�|$xD�t$`H�U�H��rH��H�M��4��L�u�L�}�D�u�L�
"8E�ƺ6H�M���7���L�t$PL�|$XD�t$@L�
�9E�ƺH�L$@�7���L�t$pL�|$xD�t$`L�
�3E�ƺFH�L$`�7���H���R$��H�H��H�@��<L��H�E�H�D$(�\$ L�L$@��H�L$`谔�H�T$xH��r
H��H�L$`�O3��L�t$pL�|$xD�t$`H�T$XH��r
H��H�L$@�(3��L�t$PL�|$XD�t$@H�U�H��r
H��H�M��3���H��H��$xH��0A_A^_^]��3j�����L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��q�H��1H�H�[H��t9����C��u,H�H��H���;����C��uH�H��H�@��;H��H�\$PH��0_����L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��q�H�f1H�H�[H��t9����C��u,H�H��H��;����C��uH�H��H�@��:H��H�\$PH��0_����H�\$H�L$WH��PH��H���-���H��/H��^���H9�'H��/H������`�����dE3�D9������h�����l�����p�����t�����x�����|D9�������������������������D9�����������������������������D9���������t��uH��H�\$hH��P_�H��.H�L$8�a��H��FH�L$8�J�H�G�H�L$ �aa��H�޸FH�L$ �|J����H�\$H�L$WH��@H��H���,���H�V�H��F���H9udH�j�H������0�����4�����8�������<�����@�����DH��H�\$XH��@_�H���H�L$ �`��H�%�FH�L$ ��I���H�\$H�L$VWAVH��@��H��3ۉ�$�H��H�L$@�'����8\$H��H�Hc@H�D8@H�HH�L$XH�H�@�R8�H�L$P���L��H�L$XH��t(H�H�B�-8L��H��tH�H��SI��8�H�LcHL�I�AH�D$PH�D$XA�IX(D$PfD$PI�@�t$(�L$ L�D$PH�T$`I��H�@P��7A��|$`AEى�$��H��$���$�A�H�Lc@L�A�H�I�@HH����A#�у�A�PA�@#�uO�K��uH�L$@�&���H�T$@H�HcHH�LHH��tH�H�@�57�H��H��$�H�ĠA^_^�A��t	H�q���H�~�H���HDغH�L$`�k��L��H��H�L$p�t�H���FH�L$p��G�����������@SH�� H�#4H��H���t
���.iH��H�� [������@SH�� H�4H��H���t
� �hH��H�� [������@SH�� H�s3H��H���t
����hH��H�� [������@SH�� H��2H��H���t
���hH��H�� [������@SH�� H�;3H��H���t
�@�nhH��H�� [������@SH�� H��2H��H���t
�@�>hH��H�� [������H�\$WH�� H�ً�H��8�=D��H�S(H��rH�KH���?,��H�c H�C(�C@��t
�`H����gH��H�\$0H�� _��������������H�\$H�t$WH��@I�H��I��I��H��H�@�5H;�u;H�H��H�@��4H��苕��H;�uAH��H���H�\$PH��H�t$XH��@_�H�A�H�L$ �\��H��FH�L$ �E�H�N�H�L$ �x\��H���FH�L$ �E���H�\$H�t$WH��@I�H��I��I��H��H�@�X4H;�u;H�H��H�@�C4H���C���H;�uAH��H���[H�\$PH��H�t$XH��@_�H���H�L$ ��[��H�h�FH�L$ �E�H���H�L$ ��[��H�E�FH�L$ ��D���H�\$UVWATAUAVAWH��$����H��PH�2�FH3�H��@H��L��A�L�u�3�H�}�@�}�H�}�L�u�@�}�L�
;*D�ǍWH�M��$.���H�|$pL�t$x@�|$`L�
5*D�ǍW#H�L$`�-���H�|$PL�t$X@�|$@L�
6*D�ǍWFH�L$@��-���H���H+��H��H�H��H�@��2L��H�E�H�D$8H�D$0H�E�H�D$(H�\$ L�L$`�W$H�L$@�z���H�T$XH��r
H��H�L$@�u)��H�|$PL�t$X@�|$@H�T$xH��r
H��H�L$`�N)��H�|$pL�t$x@�|$`H�U�H��rH��H�M��))��H�}�L�u�@�}�H�U�H��rH��H�M��)��H���H���H+�H��H���@A�H���H�	��H����K������D�<A��H�^H��t�CH�^H�FD��`A��H��t9A����CA�u,H�H��H���1A����CA�uH�H��H�@��1H�^H��t�CH�^H�F@��hH��t9A����CA�u,H�H��H��T1A����CA�uH�H��H�@�71@����H�~H��H��t�GH�~H��H�F��luH��t�CH�^H�FD��`A���H��t�CH�^H�FD��`H��E��t9����C��u,H�H��H���0����C��uH�H��H�@��0A��H��t9A����GA�u,H�H��H��o0A����GA�uH�H��H�@�R0E��H�^H��t�CH�^H�F��tH��t9A����CA�u,H�H��H��0A����CA�uH�H��H�@��/A;�tnH�^H��t�CH�^H�F��tH����8A��H��t9A����CA�u,H�H��H���/A����CA�uH�H��H�@��/A;�DL�H����������<���Ak��H�NH�� H�U��Y���H�L�qH�]�H��t9A����CA�u,H�H��H��)/A����CA�uH�H��H�@�/M��tKH����7��H�؉|$ �D��D����H�M��X��L��H�\$ A�H���I���4���L�vM��t	�A�FL�vH�vH�u�L�u�H���H����7��H����d��L$ �D�HD����H�MX�X��L��H�|$ A�H���I���4���M��t;A���A�FA�u-I�I��H��$.A���A�FA�uI�I��H�@�.I��H��@H3��aH��$�H��PA_A^A]A\_^]���[������H�\$UVWATAUAVAWH��$���H��H�2�FH3�H���H��L���H�uE3�L�eD�eL�e�H�u�D�e�L�
;$E�čV
H�M��$(���L�d$pH�t$xD�d$`L�
5$E�čVH�L$`�'���L�d$PH�t$XD�d$@L�
6$E�čV7H�L$@��'���H���H+��H��H�H��H�@��,L��H�EH�D$8H�D$0H�E�H�D$(H�\$ L�L$`��H�L$@�x���H�T$XH��r
H��H�L$@�s#��L�d$PH�t$XD�d$@H�T$xH��r
H��H�L$`�L#��L�d$pH�t$xD�d$`H�U�H��rH��H�M��'#��L�e�H�u�D�e�H�UH��rH��H�M�#��H���H���H+�H��H���
A�H��pH�	�	�H�H��H�@��+H�����H;���H�_H��t�CH�_H�GD��8A��H��t9A����CA�u,H�H��H���+A����CA�uH�H��H�@��+H�H��H�@�v+H���v���H;��H�_H��t�CH�_H�G��0H��t9A����CA�u,H�H��H��)+A����CA�uH�H��H�@�+���]L�e�H�u�D�e�L�
�&E�čVH�M��%���L�e�H�u�D�e�L�
�&E�čV#H�M��z%���L�e�H�u�D�e�L�
�!E�čV7H�M��W%���H���H���H+�H��H����H�	H�H�@�h*H������H;���H�H��H�@�J*L��H�E�H�D$(�\$ L�M���H�M��@��H�U�H��rH��H�M��� ��L�e�H�u�D�e�H�U�H��rH��H�M�� ��L�e�H�u�D�e�H�U�H��rH��H�M�� ��H���H���H+�H��H����H�6H�H��H�@��)H���4���H;���H���H���H+�H��H����A�H���H�	�_�H��H��p褉��H���H���H+�H��H���!H�9H�H��H�@�)H��賉��H;���H�_H��t�CH�_H�GD��dH��t9A����CA�u,H�H��H���(A����CA�uH�H��H�@��(H����0H����+1��H��A���t$ �D�JD��H����R��L��H�\$ A�H��pI���.��I��H���H3��[H��$PH��A_A^A]A\_^]�H�׏H�Mh�P��H��FH�Mh�9��(V���H���H�M ��O��H�X�FH�M �8�H���H�M8�O��H�7�FH�M8��8���U�����U���H�b�H�MP�O��H�
�FH�MP�8��U�����H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@�`'H;���H�H��H�@�G'H���߇��H;�uML��H�T$PH���r��H�H� H�H�L$PH��tH��H��'H�\$XH��H�t$hH�l$`H��@_�H���H�L$ �N��H�=�FH�L$ ��7�H���H�L$ �N��H��FH�L$ �7��������H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@�p&H;���H�H��H�@�W&H���W���H;�uML��H�T$PH���R��H�H� H�H�L$PH��tH��H��&H�\$XH��H�t$hH�l$`H��@_�H���H�L$ ��M��H�M�FH�L$ ��6�H���H�L$ �M��H�*�FH�L$ ��6��������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@��%H;���L��H�L$ H������H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H��)%����C�uH�H��H�@�%H�\$`H��H�l$hH�t$pH��P_�H���H�L$0��L��H�F�FH�L$0��5����H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@��$H;���L��H�L$ H�����H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H��I$����C�uH�H��H�@�.$H�\$`H��H�l$hH�t$pH��P_�H��H�L$0��K��H�f�FH�L$0�5����H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0�C��H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H��]#����C�uH�H��H�@�B#�H�L$(H��t=����A�u2H�\$(H�H��H��#����C�uH�L$(H�H�@��"�H�_H��t5����C�u*H�H��H���"����C�uH�H��H�@��"H��L�\$`I�[I�kI�s I��_�H��H�L$@�vJ��H��FH�L$@�3�H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0�c��H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H���!����C�uH�H��H�@��!�H�L$(H��t=����A�u2H�\$(H�H��H���!����C�uH�L$(H�H�@��!�H�_H��t5����C�u*H�H��H��g!����C�uH�H��H�@�L!H��L�\$`I�[I�kI�s I��_�H�t�H�L$@�I��H���FH�L$@�!2�H��(eH�%X�
��I�4H�ȋ
9[�IH���FH��(�H�
F�I�aZ�=:�I�u�H�
!��XH�
%�I��Y����H��(eH�%X�
I�I�4H�ȋ
9�IH�n�FH��(�H�
޹I�Y�=ҹI�u�H�
���8XH�
��I�|Y������������H�\$H�t$WH��@I�H��I��I��H��H�@� H;�u8H�H��H�@� H��蛀��H;�u>H��H������H�\$PH�t$XH��@_�H���H�L$ �G��H�+�FH�L$ ��0�H�a�H�L$ �G��H��FH�L$ �0������H�\$H�t$WH��@I�H��I��I��H��H�@�hH;�u8H�H��H�@�SH���S���H;�u>H��H�����H�\$PH�t$XH��@_�H��H�L$ �F��H�{�FH�L$ �0�H���H�L$ ��F��H�X�FH�L$ �/������H�\$H�t$WH��@I�H��I��I��H��H�@��H;�u8H�H��H�@��H���;��H;�u>H��H���S��H�\$PH�t$XH��@_�H�<�H�L$ �NF��H�˝FH�L$ �i/�H��H�L$ �+F��H���FH�L$ �F/������H�\$H�t$WH��@I�H��I��I��H��H�@�H;�u8H�H��H�@��H����~��H;�u>H��H���'��H�\$PH�t$XH��@_�H���H�L$ �E��H��FH�L$ �.�H�Q�H�L$ �{E��H���FH�L$ �.������H��(H�ŠQH����H��H�ԭH��(�k��������������H�\$WH��PH��I9��I�����H�T$`H�D$`H�L$ �*��H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H�������C��uH�H��H�@��H�\$hH��H��P_�H�7�H�L$0�D��H��FH�L$0�-����H�\$WH��PH��I9��I���z���H�T$`H�D$`H�L$ ����H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H��!����C��uH�H��H�@�H�\$hH��H��P_�H�w�H�L$0��C��H�F�FH�L$0��,����H��H�XH�HWH��H��M��D��H�T$ H�H �V���H�T$ H�����H���H;8t5H�c8H�OpH��tH�H��H��jH�C8H��H��$�H�Ġ_�H���H�L$8���H��H�
�G�V*��L��H��H�L$X�"���L�B�H��H�L$x�
���H��H�L$ �/&��H�P�FH�L$ �+��H��H�XH�HWH��H��M��D��H�T$ H�H �r���EH�T$ H����H���0H;8t5H�c8H�OpH��tH�H��H���H�C8H��H��$�H�Ġ_�H���H�L$8���H��H�
ccG�r)��L��H��H�L$X�>���L�^�H��H�L$x�)���H��H�L$ �K%��H�l�FH�L$ �+��H��(�
��IeH�%X�4H�ȋ
9k�IH�R�IH��(�H�
V�I�YS�=J�I�u�W��-�I�x�KH�H�@H�@f�@H��IH�
��gQ�H�
�I�R�H��(�
�IeH�%X�4H�ȋ
9�IH�ڲIH��(�H�
޲I��R�=ҲI�u�W����I�x�kKH�H�@H�@f�@H���IH�
����P�H�
��I�R�@SH���H�T$ D����xH���H���L���	�:u-H��I;�u�H��H��H���	�9uH��H;�u�2ۊ�H�Ġ[����H��H�T$ �yE3�H���H���L���	D9u-H��I;�u�H��H��H���	D9uH��H;�u��A�A��H�Ĩ�����H�\$H�t$WH��@I�H��I��I��H��H�@��H;�u^H�H��H�@��H���kx��H;�uH��H���H�\$PH��H�t$XH��@_�H�QH�L$ �{?��H���FH�L$ �(�H���H�L$ �X?��H�ՖFH�L$ �s(���H�\$H�t$WH��@I�H��I��I��H��H�@�8H;�u^H�H��H�@�#H���#x��H;�uH��H���;H�\$PH��H�t$XH��@_�H��~H�L$ ��>��H�H�FH�L$ ��'�H��H�L$ �>��H�%�FH�L$ ��'���H�\$UVWATAUAVAWH��$����H��pH��FH3�H��`H��L��H�L$@H�T$hH���eL�83�H�L���H�L$hH��tH��H�@�=3�W���H�^H��t�CH�^H�~H���H���H�
ׂL�5ȂM��8�hLE�I��8��HE�H�D$xI��8��HE�H�E�I��8��HE�H�D$@8��LE�H���H���H+�H��H����	H�1H����	H�AH�E�H�AH�D$p3�A��H��`��8�H��`�ӵ���3�H��HDž�����|�B������tH��tL�
�D�PH��������H���`�af����V�#H���+�,f����!����������+HDž�������f������3�D�BHH����7H�ŞH��W��D$8L�D$(H�T$8H������H�� H�D$0H�H��H�@�3�H��0H��8H��H�� �&���H���HDž�@���L�
rD�ƍVH�������L�� H���H���M�H��@H�D$ H�L$pH�H�@��H��PH��XH��H��@�2&���H���HDž�@���L�
D�ƍVH����
���L��@H���H�����H��`H�D$ H�M�H�H�@�H��pH��xH��H��`�%���H��HDž@��L�
�
D�ƍVH���w
���L��`H��H���<�H�EH�H�u@�c
�E0�`
�E8�E<D��`H�U0H�����H�EhH�E`
�2
�EP�.
f�EX�EZD��dH�UPH���Gh��H�E�H�E���	�E���	�E���	f�E��E�M��H�U�H���C���H��0HDž8ƅ L�
�	E3�D�nA��H�� �X��D��lH�� H���g��HDž�H�����	�Ep��	�Ex�E|��pH�UpH����HDž�HDž��
���������ƅ�D��tH���H���g��H�E�H�E��	f�EЊ	�E��E���xH�U�H���s�H���H�D$ H���H���H���H����<#���H�EH�E	���E���E��E�L���H�U�H�����H��PHDžXƅ@L�
iE3��VH��@��
��L�D$xH��@H���c���H��pHDžxƅ`L�
6E3��VH��`�|
�����H��`H���i��FH�D$`H�D$X��D$H��D$P�f�D$T���D$V�D$WD���H�T$HH���ye��H���HDž�ƅ�L�
�E3��VH�����	��D���H���H���,e��H���HDž�ƅ�L�
�E3�A��H����	��L�E�H���H���&���H�E�H�E��b�E��^f�E��V�E��E�D���H�U�H���d��H�E(H�u �*�E�'�E3�@�uD���H�UH���Wd��H����~H���@���L�
�D�ƍVH������L�D$@H���H���R��H���HDž�Dž�clip@���M��H���H�������D��H��pH���\��H���H�D$ H��H���L�D$)H��H�������H��E�u�L��@��L�
9D��A��H�������L���H��I���,��I�D��H��pI��H���I��H��x��j���H��8H��0H+�H�����W�f�0H��@H�� �
���H��H��rH��H����b��H��L��@���H�������H��yH���H����(�H��t6����C�u+H�H��H��6����C�uH�H��H�@��M��I��I�@�I��H��`H3��?H��$�H��pA_A^A]A\_^]���9�����H�\$UVWATAUAVAWH��$�H��H�2�FH3�H��H��L��H�L$8H�T$8H���ZH�0E3�L� H�uXE�l$H�L$8H��tH�A��H�@�\W�EH�{H��t	�DoH�{L�{L�}H�}H���H���H+�H��H����H�3�A��H���r.A��H���s����3�D�BHH����P.L�-A�L���W��D$0L�D$ H�T$0H�����H�E8H�D$(H�H��H�@��
L�eHL�ePH��H�M8�E���A�L�d$XL�d$P���D$@���D$H��f�D$L���D$N�D$OL�E8H�T$@H������L�e�A�\$�H�]����E����E��E�E��0H�U�H����z��L�e�H�]����E����E�3ۈ]�E��4H�U�H����Pz��L�e�H�E�
���E���f�EЈ]�E��8H�U�H����_��L�e�H�D$x�a�D$h�]�D$p�Vf�D$t�\$vE��<H�T$hH�������L�eH�E����E����E�]�E��@H�U�H����!_��A��E��H��H������H�E`H�D$(L�m`L�D$!H���H�Mh�E���H�](L�e0�]L�
�D�ÍSH�M�S���L�E`H�UH���	��H�E��H��H��H��iI��H���Jf���H���H���H+�H������W�f��H���H����u���H�������H�duH���H����$�H��t:A����GA�u-H�H��H���A����GA�uH�H��H�@���L��H��I�@��I��H��H3��B;H��$`H��A_A^A]A\_^]��5���̋�`�����h�����l�����p�����t�����x�����|�����������d������������������������������������������������������H��8H�H�"H�D$ H�BH�bH�T$ H�D$(��H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@�?H����n��H;�u#L��H��H���XH�\$PH�l$XH�t$`H��@_�H��mH�L$ ��-��H�_�FH�L$ ��@SH��@H���n��H9u	H��H��@[�H���H�L$ �-��H� �FH�L$ ���H�\$WH��H� �FH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@�, �H�L$xH��tYH�H��H�@�QH�H�L$xH��tH�H�T$@H;���H�@ �,H��H��$�H3���8H��$�H�Đ_���H�K�H�L$(��,��H�R�FH�L$(������@SH��@H�BH9Hu;L��H�L$PH�T$ E3��g����V H�T$ H������H���A H;��H��@[�H�ړH�L$ �d,��H��FH�L$ ����@SH��H�BL��H9HuJH�T$@I����d�d$0H��HH�T$(�L$ ��H�T$ H���o��H���H;��H��[�H�U�H�L$ ��+��H�\�FH�L$ ���H��H�XH�hH�p H�HWH�� I��H��H���H�
6H��H�D$0H��t,W���C�CH�H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H�����5H��H�D$0H��t)W���C�CH���H�H�KH����3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H�����4H��H�D$0H��t,W���C�CH��H�H�KL��H���
����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H����D�H��H�L�wI�I��H�@�H���j��H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H�������C�uH�H��H�@���H��H�\$XH�t$`H�|$hH��@A^�H�-iH�L$ �W)��H�ԀFH�L$ �r��L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��ULH�z�H�H�[H��t9����C��u,H�H��H�������C��uH�H��H�@��H��H�\$PH��0_����H�\$ UVWATAUAVAWH��$�H��H�.�FH3�H���M��H��L��H���I������D��M��H��I���+����H��I�$I���I���H+�H��3�H����
A�H���	H�	�9`I���I���H+�H��H����
A�H��pH�I�`W��xM�~M��t	�A�GM�~M�nL��xL���I����I9����H���H������H�]hH�up�]XL�
�D�ÍVH�MX�G����H�]HH�uP�]8L�
�D�ÍVH�M8�%����H�](H�u0�]L�
��D�ÍV.H�M�����I���I+��H���������H��H�<H��H��H��?H�I���I+��H��3�A8�4��H+�I�I��H�@��L��H���H�D$8H�|$0H�EXH�D$(H�\$ L�M8��H�M�l��H�U0�~H;�rH��H�M�g���3�H�](H�u0�]H�UPH;�rH��H�M8�E���H�]HH�uP�]8H�UpH;�rH��H�MX�%���H�]hH�up�]XH���H;�rH��H�����H���I���^H�@@��D$DH��pI���^H�@@�@�D$H3�I���M���H��I+�H��3�A8�4��H;���H!\$PI+�H��H;��%A�H��pI���]I���H��@H���HDž�H��@H���H��H��DH��H��H��HH�� HDž(H��TH��0HDž8W��@�PH�T$PH��PH�A� H��@�UH�����H�� �9�D$@;D$D��H���3�H������H���H������L�
+�D��H��H����Q����H���H���ƅ�L�
�E3�A�PH���� ����H���H����ExL�
��E3�A�P=H�Mx����I�I��H�@�$�L��H���H�D$8�D$D�D$0H���H�D$(�D$@�D$ L�����H�Mx�q���H���H;�rH��H�Mx��H���H����ExH���H;�rH��H����m�H���H���ƅ�H���H;�rH��H����<�H���H���ƅ�H���H;�rH��H�����H����@�H�� �y�D$@;D$H��H���H���ƅ�H��(H��0ƅL�
��E3�H��H������H��H��ƅ�L�
��E3�A�PH����b����H���H���ƅ�L�
�E3�A�P=H����1����I�I��H�@�`�L��H���H�D$8�D$H�D$0H��H�D$(�D$@�D$ L�����H����Eo���H���H;�rH��H������H���H���ƅ�H��H;�rH��H�����H��H��ƅ�H��0H;�rH��H���o�H��(H��0ƅH���H;�rH��H����>�H��H�D$PxI���M���H��I+�H��3�A8�4��H+�H;��m����0H��HH��P��8L�

�D�ú5H��8��H�u�H�E����E����E��]�H�t$pH�t$h�ѣ�D$X�ͣ�D$`�ƣf�D$d����D$f�\$gH�]�H�u�]�L�
�D��A�=A��H�M��8�H���I���YA�}�H�I�I��H�@�P�L��H��8H�D$8H��
H�D$0H�E�H�D$(H�\$ L�L$X��H�M�� b�H�U�H;�rH��H�M����3�H�]�H�u�]�H�T$pH;�r
H��H�L$X��H�\$hH�t$p�\$XH�U�H;�rH��H�M���H�]�H�u��]�H��PH;�rH��H��8�a�H��hH��p��XL�
n�D�ú5H��X�"�H�u�H�E�����E�����E��]�H�u�H�u��4��D$x�0��E��*�f�E��"��E��]�H�]H�u�]�L�
L�D��I��H�M���H��pI���qWH�I�I��H�@���L��H��XH�D$8H���H�D$0H�E�H�D$(H�\$ L�L$x��H�M��`�H�UH;�rH��H�M��?�H�eH�u�E�H�U�H;�r
H��H�L$x��H�e�H�u��D$xH�U�H;�rH��H�M���H�e�H�u��E�H��pH;�rH��H��X����M��t;�����A�G�u,I�I��H������A�W�uI�I��H�B����I��H���H3��^)H��$XH��A_A^A]A\_^]��#����#������H�\$H�T$UVWH��0H��H��W��D$ H�JH��t�AH�JH�H�D$ H�L$(H�T$ H�����H���H�H�_H��t�CH�_H�G��p��0��H��t5����C�u*H�H��H��������C�uH�H��H�@���H�_H��t�CH�_H�GH��`����4H��t6����C�u+H�H��H��������C�uH�H��H�@�q��H�^H��t5����C�u*H�H��H��M�����C�uH�H��H�@�2�H��H�\$`H��0_^]���H�\$H�t$ WH��PH��H��H�L$@���H��{H��\��H9�H��{H�H���H��PH�aH�A���������p�����tH���H��x�
���������������H���H���H�����H���H�L$HL�CH�H�!H�aH�aD�L$ �p����H�~rkH���H��tH;FuH��H�\$pH�t$xH��P_�H���H�L$(����H�SrFH�L$(���H���H�L$(���H�0rFH�L$(���H�v�H�L$(���H�
rFH�L$(������������@SH�� H��H��H���t
�H�$H��H�� [������@SH�� H���H��H���t
����$H��H�� [������H�\$H�t$WH��@I�H��I��I��H��H�@��H;�u;H�H��H�@���H���Z��H;�uAH��H���[H�\$PH��H�t$XH��@_�H�AH�L$ ���H�qFH�L$ ��H�NYH�L$ �x��H��pFH�L$ ����H�\$UVWATAUAVAWH��$����H��`H��FH3�H��PH��L��H���H���H+�H��E3�H����E�oE��H���H�	�PH���H���H+�H��I;��tE��H���H�I��OH�_H��t	�DkH�_H�G��tA��H��t9A����CA�u,H�H��H����A����CA�uH�H��H�@���H���H�����H���rfo
���M@fo���EPfo
��M`�Ep
�Et�ExW����L���D�L$0L�E|H�U@H�������H���H��H���H;�t90t	H��H;�u�H;���L�}�H�E�D�|$xL�
��E�Ǻ:H�L$x�f��L�|$HH�D$PD�|$8L�
��E�Ǻ=H�L$8�9��H�H��H�@�h�L��L�L$x�.H�L$8��F�H�T$PH��r
H��H�L$8��L�|$HH�D$PD�|$8H�U�H��rH��H�L$x����H��tH���H+�H��H�����W�3���H���I�ǹ����A�I�H��|�W����L���D�L$0L���H���H����s��H���H���H;��290t	H��H;�u�H;��L���H�_H��t	�DkH�_H�G@���H��t9A����CA�u,H�H��H�� �A����CA�uH�H��H�@��@����L�}��H�]�D�}�L�
z�E�ǍS&H�M����L�|$hH�\$pD�|$XL�
�E�ǍS.H�L$X�l��H�H��H�@���L��L�M��S(H�L$X�E�H�T$pH��r
H��H�L$X�>�L�|$hH�\$pD�|$XH�U�H��rH��H�M���W�E�H�_H��t	�DkH�_L�OL�M�H�]�I���I;��tdH�I0L��A���9A�L��I���H�H0A�@��yA�@L��I���H�H0A�@��yA�@H���I���M��L���H���H��P�
��H�EH�E�H�E�H�EH�E�L�m�H�EH�E�L�m�H�E H�E�H�EH�E,H�EH�E(��E(��M(H�����H�D$ L�M�D���H���I���E�H��t:A����CA�u-H�H��H����A����CA�uH�H��H�@����H���H��tH���H+�H���~�I��H��PH3��LH��$�H��`A_A^A]A\_^]����������������H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@�@�H;���H�H��H�@�'�H����S��H;�uML��H�T$PH���^�H�H� H�H�L$PH��tH��H����H�\$XH��H�t$hH�l$`H��@_�H�vRH�L$ ���H�jFH�L$ ��H�kxH�L$ �}��H��iFH�L$ ���������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@�P�H;���L��H�L$ H���_�H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H��������C�uH�H��H�@���H�\$`H��H�l$hH�t$pH��P_�H��wH�L$0���H�iFH�L$0�����H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0�c�H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H��
�����C�uH�H��H�@����H�L$(H��t=����A�u2H�\$(H�H��H��������C�uH�L$(H�H�@����H�_H��t5����C�u*H�H��H��������C�uH�H��H�@�l�H��L�\$`I�[I�kI�s I��_�H��vH�L$@�&��H��gFH�L$@�A��H�\$H�t$WH��@I�H��I��I��H��H�@��H;�u8H�H��H�@���H���P��H;�u>H��H����H�\$PH�t$XH��@_�H��uH�L$ ���H�gFH�L$ ��H�QOH�L$ �{��H��fFH�L$ �������H�\$H�t$WH��@I�H��I��I��H��H�@�X�H;�u8H�H��H�@�C�H����O��H;�u>H��H����H�\$PH�t$XH��@_�H��tH�L$ ����H�kfFH�L$ �	��H��NH�L$ ����H�HfFH�L$ ����H��(eH�%X�
q�I�4H�ȋ
9S�IH���FH��(�H�
>�I�% �=2�I�u�H�
���`H�
�I�����H�\$H�t$WH�� 3�L�D$8W�3�H�AH��H�RH��H�H�YH�Y�d���H9^vH�H�����H��H;^r�H�\$0H��H�t$@H�� _�������H�\$WH��PH��I9��I�����H�T$`H�D$`H�L$ �v�H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H��������C��uH�H��H�@�t�H�\$hH��H��P_�H��sH�L$0�9
��H��dFH�L$0�T�����H��H�XH�HWH��H��M��D��H�T$ H�H �����H�T$ H���P���H���H;8t5H�c8H�OpH��tH�H��H����H�C8H��H��$�H�Ġ_�H�uH�L$8���H��H�
�FG���L��H��H�L$X����L��tH��H�L$x�}���H��H�L$ ��H��dFH�L$ �n���H��(�
�IeH�%X�4H�ȋ
9�}IH��}IH��(�H�
�}I��=�}I�u�W���}I�x�OH�H�@H�@f�@H��}IH�
���H�
�}I��H�\$H�t$ WH��@H�;�FH3�H��$0H��H��H�L$ 3�A��H�L$0��H�L$0����H�D�H�L$@�zQ��3�H�OH�H��H+�H��H��t_H+�H��H;�����H�L$@����H�OH�H��H+�H��H��H;�sH�;zH�L$@�Q��H�OH�H��H+�H��H;�r�H���H�L$@��P��H��H�L$H��@���H��$��g����H�PH��$�H��$��J��H��H��$0H3��FL��$@I�[ I�s(I��_��������H�\$UVWAVAWH�l$�H��3�H�M'W�L�E�3�L��H�AH��H�RH�H�YH�Y���I9_����D��I�H�M�H�M�W�H�M�H�E�H�M�H�� H�M�H�E�H�M�I�H�M�H�E�H�M�A� H�MH�E�H�M�H�M�H�E�E�E�
H�H�E�H�H;�tH��PH�U�A� ��H��I��@H��xI;_�U���H��$H��H��A_A^_^]�������������H�\$H�t$WH��@I�H��I��I��H��H�@�(�H;�u^H�H��H�@��H����I��H;�uH��H���[H�\$PH��H�t$XH��@_�H��HH�L$ ���H�8`FH�L$ ����H��mH�L$ ���H�`FH�L$ �����H�\$UVWATAUAVAWH��$����H��pH��FH3�H��`H��L��H�L$8H�T$8H���x/L�83�H�0L�}0H�L$8H��tH��VH�@�2�W�E�H�_H��t�CH�_L�wL�u�H�]�H�G�L�-�LA8��LE�3�A��H��`�Q�H��`�P����H���HDž@���A��t���|�G�������������t|��t^��t@��t"���n�B�f����7����%�f�������yf����
y����f��������/�����&�f�����HDž����@�������xf�����x�<HDž�H�subtractH���@�������f������HDž����@����mHDž��,�����$����@����>��	�����������ty��tf��tH��t L�
4��D��H��������HDž��orf���@��������f�������)���L�
���뢋��������f���������HDž�
�Y��[�����S����@����DHDž�Dž�less@����.HDž�	���������@������3�D�BHH���JH�;gH��W��D$0L�D$(H�T$0H������H���L���H��I+�H��3�8�4��H;���H�E�H�E8I+�H��H;���I��H�H�@�W�H�eH�eH��H�M����H��H�M@�di���L�E@H�X�H�����R���L�E�H��H��訸���H�UXH��rH��H�M@���H��H���L���H��I+�H��3�8�4��H+�H;��?���H�EH�D$ 3�H�} H�}(H���H�M�\���wH�u�H�E��E�mode@�}�L�EH�U�H���
���A9�tu^H���H�D$ I��xH����y���L��H�t$xH�D$p�d��D$`�`��D$h@�|$lH�T$`H��覷��A8����H�t$XH�t$P�g��D$@�c��D$H�\�f�D$L�S��D$N@�|$OM��H�T$@H���L��H�u�H�E��&��E��!��E�@�}��A��H�U�H���5���H�E`H�D$ H��dH�E`L�D$)H��H�Mh�Ԯ���H�u�H�E��w��E��t��E�@�}�L�E`H�U�I���)��I���D��H��pI��H����I��H��x��7���H��8H��0H+�H�����W�f�0H��@H�� ����H��H��rH��H����\��H���HDž@���H��������H��FH���H������H��t6����C�u+H�H��H��,�����C�uH�H��H�@���M��I��I�@���I��H��`H3��H��$�H��pA_A^A]A\_^]������@SH�� H��3�H��8u�H�yL��rL�	L�AL;�uI�����u���H�� [�H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�$
H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@�+�H���{���H;�u#L��H��H���XH�\$PH�l$XH�t$`H��@_�H��?H�L$ ����H�KWFH�L$ ����@SH��@H���"���H9u	H��H��@[�H��gH�L$ ���H�WFH�L$ ����H�\$WH��H��FH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@���H�L$xH��tYH�H��H�@�=�H�H�L$xH��tH�H�T$@H;���H�@ ��H��H��$�H3��
H��$�H�Đ_�����H�7fH�L$(���H�>VFH�L$(�������@SH��@H�BH9Hu;L��H�L$PH�T$ E3��S���H�T$ H���ݭ��H���qH;��H��@[�H��eH�L$ �P���H��UFH�L$ �k����@SH��H�BL��H9HuJH�T$@I����6�d$0H��HH�T$(�L$ �H�T$ H���[���H����H;��H��[�H�AeH�L$ ����H�HUFH�L$ �����H��H�XH�hH�p H�HWH�� I��H��H���@�H��H�D$0H��t,W���C�CH�|�H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H���x�pH��H�D$0H��t)W���C�CH��H�H�KH��D
�3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H������H��H�D$0H��t,W���C�CH�D�H�H�KL��H���
����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H�����H�x�H�L�wI�I��H�@���H���A���H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H��������C�uH�H��H�@����H��H�\$XH�t$`H�|$hH��@A^�H�;H�L$ �C���H��RFH�L$ �^���L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��AH�>�H�H�[H��t9����C��u,H�H��H��������C��uH�H��H�@���H��H�\$PH��0_����@USVWATAVAWH��$ ���H���H��FH3�H���I��H��H��H�M�I�����D��L��H��H���3����H���H�H���H���H+�H��E3�H����A�H�U�H�	�02H�VXH��H��P���E�~L�}�L�}��$��E��!��E���f�E����E�D�u�L�|$XH�D$P����D$@����D$HD�t$LL�t$pL�|$xD�t$`L�
��E��A�V;H�L$`�L���H�H��H�@�{�L���D$8D�t$0H�E�H�D$(�E؉D$ L�L$@A�VEH�L$`�	���H�T$xE�fI;�r
H��H�L$`���L�t$pL�|$xD�t$`H�T$XI;�r
H��H�L$@����L�t$PL�|$XD�t$@H�U�I;�rH��H�M����L�}�L�u�D�u�L�|$X�H�\$P���D$@��f�D$H�	��D$JD�t$KL�|$xH�D$p
���D$`��f�D$hD�t$jL�u�L�}�D�u�L�
��E�ƍS0H�M�����H�H��H�@�>�L��H�E�H�D$8H��hH�D$0H�D$@H�D$(H�E�H�D$ L�L$`�S;H�M�辳���H�U�I;�rH��H�M����L�u�L�}�D�u�H�T$xI;�r
H��H�L$`���L�t$pL�|$xD�t$`H�T$XI;�r
H��H�L$@�s��L�t$PL�|$XD�t$@H�U�I;�rH��H�M��O��L�}�L�u�D�u�L�|$xH�D$p����D$`����D$hD�t$lL�|$XH�\$P����D$@���f�D$H����D$JD�t$KL�u�L�}�D�u�L�
B�E�ƺ;H�M�����H�H��H�@���L��H�E�H�D$8H��p��L$0H�D$`H�D$(H�E��L$ L�L$@�GH�M���C���H�U�I;�rH��H�M��Z��L�u�L�}�D�u�H�T$XI;�r
H��H�L$@�7��L�t$PL�|$XD�t$@H�T$xI;�r
H��H�L$`���L�t$pL�|$xD�t$`H�U�I;�rH��H�M�����L�}�L�u�D�u�L�|$x�H�\$p����D$`���f�D$dD�t$fL�|$XH�D$P
�y��D$@�u��D$H�o��D$LD�t$ML�u�L�}�D�u�L�
��E�ƍS5H�M��P���H�H��H�@��L��H�E�H�D$8�D$0H�D$`H�D$(H�E��L$ L�L$@�SBH�M��nB���H�U�I;�rH��H�M����L�u�L�}�D�u�H�T$XI;�r
H��H�L$@����L�t$PL�|$XD�t$@H�T$xI;�r
H��H�L$`���L�t$pL�|$xD�t$`H�U�I;�rH��H�M����L�}�L�u�D�u�L�|$xH�\$p�C��D$`�<�f�D$dD�t$fL�|$XH�D$P
�4��D$@�0��D$H�*��D$LD�t$ML�u�L�}�D�u�L�
��E�ƺ;H�M�����H�]H�H��H�@�$�L��H�E�H�D$8�D$0H�D$`H�D$(�C�D$ L�L$@�IH�M��A���H�U�I;�rH��H�M����L�u�L�}�D�u�H�T$XI;�r
H��H�L$@���L�t$PL�|$XD�t$@H�T$xI;�r
H��H�L$`�]��L�t$pL�|$xD�t$`H�U�I;�r
H��H�M��9���H��H���H3���H���A_A^A\_^[]��_������L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S����H�N�H�H�[H��t9����C��u,H�H��H��������C��uH�H��H�@���H��H�\$PH��0_����H�\$WH��@H��H��H�L$ �N����H�f�H��֡��H9u`H�z�H�H���H��(H�aH�A�謽���H���H��HH�aH�A�舽���H��H�\$`H��@_�H��XH�L$(���H�iIFH�L$(�����H�\$VH�� H��`H��H��rH��HH�����H��X�H��`ƃHH��@H��rH��(H���d���H��8H��8H��@ƃ(�*��H�S(H��rH�KH���,���H�c H�s(�CH�\$0H�� ^�����@SH�� H�+�H��H���t
�@�H��H�� [������@SH�� H�#�H��H���t
�x�~�H��H�� [������@SH�� H���H��H���t
���N�H��H�� [������H�\$WH�� ��H�������t
�hH����H�\$0H��H�� _�������������H�\$H�t$WH��@I�H��I��I��H��H�@�H�H;�u;H�H��H�@�3�H��胟��H;�uAH��H���[H�\$PH��H�t$XH��@_�H��UH�L$ ���H�XGFH�L$ ���H��/H�L$ ��H�5GFH�L$ ������H�\$UVWAVAWH��H�.�FH3�H��$�H��L��H���H���H+�H��H���>A�H��$�H�	�h'W�D$0L�sM��t	�A�FL�sH�CH�D$0L�t$8H���H���H+�H��H����A�H��$0H�I�
'H��$PH��$�H��$�H��$��t��H���D$ D�D��H�L$@���L��H�l$ A�H��$�I�������M��t:�����A�F�u+I�I��H�������A�V�uI�I��H�B�i�I��H��$�H3���H��$H��A_A^_^]��Z��T�����H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@��H;���H�H��H�@���H���7���H;�uML��H�T$PH���2�H�H� H�H�L$PH��tH��H����H�\$XH��H�t$hH�l$`H��@_�H�6-H�L$ �`�H��DFH�L$ �{��H�+SH�L$ �=�H��DFH�L$ �X���������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@��H;���L��H�L$ H���3�H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H��������C�uH�H��H�@���H�\$`H��H�l$hH�t$pH��P_�H��RH�L$0�Y�H��CFH�L$0�t�����H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0�7�H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H��������C�uH�H��H�@����H�L$(H��t=����A�u2H�\$(H�H��H��������C�uH�L$(H�H�@�k��H�_H��t5����C�u*H�H��H��G�����C�uH�H��H�@�,�H��L�\$`I�[I�kI�s I��_�H�TQH�L$@���H�cBFH�L$@���H�\$H�t$WH��@I�H��I��I��H��H�@���H;�u8H�H��H�@���H������H;�u>H��H�����H�\$PH�t$XH��@_�H�LPH�L$ �^�H��AFH�L$ �y��H�*H�L$ �;�H��AFH�L$ �V�������H�\$H�t$WH��@I�H��I��I��H��H�@��H;�u8H�H��H�@��H���S���H;�u>H��H����H�\$PH�t$XH��@_�H��OH�L$ ��H�+AFH�L$ ����H�a)H�L$ ��H�AFH�L$ ����H��(eH�%X�
1~I�4H�ȋ
9+[IH�n|FH��(�H�
[I���=
[I�u�H�
��� �H�
�ZI�d�����H�\$WH��PH��I9��I���:�H�T$`H�D$`H�L$ ��H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H��������C��uH�H��H�@���H�\$hH��H��P_�H�OH�L$0�i�H��?FH�L$0������H��H�XH�HWH��H��M��D��H�T$ H�H ����)H�T$ H��耗��H���H;8t5H�c8H�OpH��tH�H��H��
�H�C8H��H��$�H�Ġ_�H�CPH�L$8�A���H��H�
�F���L��H��H�L$X�´���L��OH��H�L$x譴���H��H�L$ ����H��?FH�L$ ����������������@SH��@D�L$ H��(H�T$(H��3�H�D$(H9�XH�H�SH�SuL�D$0H�T$(�H��HH�D$0L�D$8H�T$(H���I���H��H��@[�H��(�
�{IeH�%X�4H�ȋ
9�XIH��XIH��(�H�
�XI�i��=�XI�u�W���XI�x��H�H�@H�@f�@H�cXIH�
���w��H�
_XI����������H�\$H�t$WH��@I�H��I��I��H��H�@�X�H;�u^H�H��H�@�C�H��蓕��H;�uH��H���[H�\$PH��H�t$XH��@_�H��%H�L$ ���H�h=FH�L$ ���H�.KH�L$ ���H�E=FH�L$ ������H�\$H�t$ UWATAVAWH��$��H�� H�0�FH3�H��H��L��H�L$8E3�D�d$$W�E�H�ZH��t�CH�ZL�zL�}�H�]�H�T$8H���zH�0L� H�u0H�L$8H��tH��H�@�4�I��HH�V)H���V���uL�e�L�e�H��H�M�����H�Uп�AH�D$XH�D$P�ӿ�D$@�̿f�D$D�ÿ�D$FD�d$GH�T$@��|$$L���L���H����\���@��t2��|$$H�T$XH��r
H��H�L$@�F���L�d$PH�D$XD�d$@@��tH�U�H��rH��H�M�����I��(L���L���H��������3�A��H�����H���\���3�D�BHH����]�L�=NFL���W��D$0L�D$ H�T$0H����$����H�E�H�D$(L�eL�eH���H�M��^���H�E��
H�}��|��E��x�f�E�D�e�L�E�H�U�H������H�EH�D$(L�e L�e(H���H�M����H�D$xH�D$p�*��D$`�#�f�D$d���D$fD�d$gL�EH�T$`H���莗��H�E8H�D$(L�}8L�D$!H���H�M@�\����H�E�H�}��ǽ�E��ýf�E�D�e�L�E8H�U�H��读��H���D��H�� H��H��w�I��H��(�X���H���H���H+�H������W�f��L���H���胺���H�����z���H�r'H���H������H���H��rH��H���躰���H���H��rH��H���蝰���H��H��H�@����H��t5����C�u*H�H��H��������S�uH�H��H�B�|�I��H��H3���L��$ I�[@I�sHI��A_A^A\_]���������������H��(H�xrH�H���H��HH�xrH�H�������H�\$WH��0H��H��H�L$ ���B�A�B�AH��H�aH�aH������H�O(H�aH�aH�S(�x����CH�GHH�OPH�aH�aH�SP�Z���H�OpH�aH�aH�Sp�B������f������f���������H���H���H���H�aH�aH��������H��H�\$PH��0_����H�\$H�L$WH��H��H���AH�>�H�H�������H��H�L$ ����H��H��$��t�H���H����<�H��$��bH���H���ϳ�H��H��$�H�İ_���H�\$WH��0H��H��H�L$ JIB A J0I0H��@H�aH�aH��@����H�K`H�aH�aH�W`����������H���H���H���H��t�@H���H���H���H���H��H�\$PH��0_�H�\$WH�� H��H��H�H�QH��W�H�K���H�tH��CH�\$0�GH�ߺH�H��H�� _����@SH�� L�H��H��M�@�4���H��@H�� [������H�\$VH�� H���H��H��rH���H����H����H���ƃ�H���H��rH�KxH��迬��H���H����CxH�SpH��rH�KXH��薬��H�chH�sp�CXH�SHH��rH�K0H���s���H�c@H�sH�C0H�S(H��rH�KH���P���H�c H�s(�CH�\$0H�� ^�H�\$WH�� H��H���H�H����UH����1�H���H��t9����C��u,H�H��H�������C��uH�H��H�@��H�OH�\$0H�� _�����H�\$WH�� ��H���d�����t
�(H���J�H�\$0H��H�� _�L��I�[M�CI�SWH�� I��H��I�I�CH��t�@H���L�D$8譼�H�H��t����A��uH��H��J�H�#H��H�\$0H�� _�@SH��0H���H�T$ H����H��H��0[��@SUVWATAVAWH��`H��vFH3�H�D$PI��I��H��H�T$@H�\$@D��$�H��$�H�|$HD��$�L�����L��H��I�΄�tD�d$0H�|$(D�|$ L���F�����H�SH��rH��H��I���H�cH�C�L�M�@H��H���+����@H�����H��H�L$PH3����H��`A_A^A\_^][����H�\$H�t$H�T$WH�� A��I��H�ڹ��Q�H��H�D$83�H��tD��H���##�H�H��H�\$0H�t$@H�� _�H��H�XH�hH�p H�PWH��0I��I��H��H������H��H�D$H3�H��tD�D$`D�D$ L��L��H���;"�H�H��H�\$@H�l$PH�t$XH��0_����H��H�XH�hH�p H�PWH��0I��I��H��H�鹨�~�H��H�D$H3�H��t!D�D$hD�D$(�T$`�T$ L��L��H���Gj�H�H��H�\$@H�l$PH�t$XH��0_����H��H�XH�hH�p H�PWH��0I��I��H��H�鹨��H��H�D$H3�H��tD�D$`D�D$ L��L��H���ck�H�H��H�\$@H�l$PH�t$XH��0_����H���H�����H�\$WH��@H��sFH3�H�D$8H��H��H�L$(H�T$0�d$ ���D$ H�WH�K�p���?�������C����CH�W(H�K0�G���CPH�WPH�KX�6��H�WpH�Kx�)��������������H���H���H���H��������H�����H��H�L$8H3��%�H�\$`H��@_���@SH��PH��H����{6H��H��P[���@SH��0H���H��t�CH���H���H�L$ H�\$(�E�H��t9����C��u,H�H��H�������C��uH�H��H�@�֯H��0[�@SH�� H��H���H�� H���)���H��H�� [�H�\$H�l$VWAVH�� �d$@H�yI��H��H��H��t��H9ZuH��t��I9Xu
E2��H�L$@A��t#H��t����A��uH��H��*�H��t ������uH��H��H���E��t2��H;�u��H��H9���H�\$HH�l$PH�� A^_^����@SVWATAUAVAWH���L�L$0M��L��H��H�T$83��|$ �_H��t�Y�|$ M�`A��H��t$A����AA�uH���H��h�L�L$0�|$ L;���A�I�A�;�v�A�;�w*A�U �B�;�v�B�;�����
t)��t$��t��tA�M �A�;����A�;��{A�I�A�;����A�;�����,�H�D$(H��t1H�t$@H��t�^��|$ M��L�D$0H�T$@H���"��I����|$ @��t*H�L$@H��t A����AA�uH��tL���I��g�I���~�8��H�D$(H��t.H�t$8H��t�^���\$ M��L�D$0H�T$8H��詼�I����|$ @��t*H�L$8H��t A����AA�uH��tH���H���I��H���A_A^A]A\_^[�E��H�/�H�L$P話��H��+FH�L$P輽�E��H�I�H�L$p胱��H��+FH�L$p薽�E��H�S�H��$��Z���H�g+FH��$��j���@SH��0H���H��t�CH���H���H�L$ H�\$(�L�H��t9����C��u,H�H��H�������C��uH�H��H�@��H��0[�H�\$WH�� 3҉T$08��t1H���H��t�CH���H������t
@���H�\$0@2���t>H��t9����C��u,H�H��H��i�����C��uH�H��H�@�L�H�\$8@����H�� _����H��(H�BH9tH����NH��(���H��H�%���@SH��@H��H��H�T$ H���?_���H��H�xrH�L�@H�������H�T$8H��r
H��H�L$ 萡��H��H��@[����H��(��4H��(�H��(L�AL;BuH�H�	I�����3Ʌ�t���H��(Ë��@SH��0H��H�T$ 3�H�-A8H�H�KHE�H�C�H��虝��H��H��0[�L��3�����H��(L�H�AI+�H��H;�v
H��I�H��(�������@USVWAVAWH��$���H��H�alFH3�H���M��I��H��L��P��H�M������H�M��!J���H��H�M����H��H�®���H�ȋ��{#��H��H����H���Q���H���H�M��i��H��H���B��H��H���+�����H��������H����I���I�����uI��H������H��H�����H�T$8H����UH��H�T$XI���EH��H�T$xH�M��4�L��H��H�M��H���L��H��H�M��8���H��H�L$ �f`��H��'FH�L$ 虹�H�y������@SUVWH��hH��jFH3�H��$PI��I���H����H�L$P�����H�L$P�H���H��H�L$`���H��H��������H�AH�L$0�g����H�D$0H�D$ L�L$PL�ŋ�H������@USVWATAUAVAWH��$h���H��H�MjFH3�H���M��M��D��H��L����u#H���H3��@�H�ĘA_A^A]A\_^[]ú�H�M��>����H�M���G����D$0L�D$0H�T$XH�L$1����H��L��H�T$8H�L$1���H��I��H�M����H��H������H��H�����H��H�Z����H��H������H��H�`�������H�L$8���H�L$X���L�l$ L�M�M��A��H�������@USVWATAUAVAWH��$X���H��H�iFH3�H���M��L�D$@�T$0H�L$HH��L��L�� H��(H�D$8I��H��������t#H���H3����H�ĨA_A^A]A\_^[]ú�H��������H����yF���H�ѬH������H��H�[�����M���H���I��H���	������_I��H������H��H������H��I�����H��H�z����H��H�����V���H�U�I����H��H�UH����H��I��H����5��H��H�_��B��H��H������H��H�E<�(��H��I�����H��H�+����H��H�����H��H�i������H�UI����H��H�U�H�����H��I��H������H��H�����H��H�����H��H��;���H��I���s��H��H������H��H���Y���H��H�����>���I�H9��I��H����/��H��H����<��H��I�����H��H�o��"��H��H�������I�H�L$p�nH��H�H�L$P�^H��I��H�������H��H�J�����H��H�����H��H��:���H��I�����H��H�����H��H���z��H��H�����_����H�L$P茰���H�L$p聰��H�N�����I�N����;���I��H����*��H��H�̪�7��H��I�����H��H������H��H�������I�N�}������B���H��H�N�j������/���H��I��H������H��H�w�����H��H�S ���H��H��9���H��I�����H��H�B����H��H�W �m��H��H�����R���I�VH�N�������I��H����:��H��H���G��H��I��� ��H��H���-��H��H�������I��H�������H��H�ݩ���H��H�V����H��H�9����H��I�����H��H�������H��I�V���H��H�%�����H�D$8H�D$ L���L�D$@�T$0H�L$H�������@USVWATAUAVAWH��$h���H��H��cFH3�H���M��M��D��L��H��H��H�D$0H��H��H�D$8H;�t!�� uH��uH��At/H��AuH��t#H���H3���H�ĘA_A^A]A\_^[]ú�H�M�����H�M��4A���H�$�H�M����H��H����|���H��H�L$`�H��H��H�L$@��H��I��H�M��\��H��H����i��H��H���B��H��H�l7�O��H��H�T$0�&��H��H����3��H��H�����H��H�������H�L$@�����H�L$`����H���H�M���
��H��H�Y����H�D$8H�D$ L�M�M��A��I���������@USVWATAUAVAWH��$h���H��H�bFH3�H���L�L$PM��D��L��H��L��H��H�D$XH��H�D$`W��L$h3�H�\$xI�FH�V��{9
��H�|$HH�D$@���D$0���D$4�\$5H�T$pH��t9H�ZH�ZD$0L$@JH�\$@��H�D$H�\$0H�T$pH�� H�T$p�L�D$0H�L$h�J�H�T$pH�D$HH��rH�PH�L$0�h���H�T$pI�F H�N �9��H�|$HH�D$@�M��D$0�F�f�D$4�=��D$6�\$7H;T$xt:H�ZH�ZD$0L$@JH�\$@H��H�D$H�\$0H�T$pH�� H�T$p�L�D$0H�L$h��H�T$pH�D$HH��rH�PH�L$0豔��H�T$pI�N0L�F0�A9��H�|$HH�D$@	����D$0����D$8�\$9H;T$xt:H�ZH�ZD$0L$@JH�\$@H��H�D$H�\$0H�T$pH�� H�T$p�L�D$0H�L$h���H�T$pH�D$HH��rH�PH�L$0����H�T$pI�N0L�F0�AA9@��H�|$HH�D$@	����D$0����D$8�\$9H;T$xt7H�ZH�ZD$0L$@JH�\$@H�|$H�\$0H�T$pH�� H�T$p�L�D$0H�L$h�4�H�T$pH�|$HH��rH�WH�L$0�R���H�T$pH�L$hH;��-��H�M��1�H�M���<���H�T$PH�M��8
��H��H�B��E
��H��H����H��H������H�T$XH�M��
��H��H���
��H��I�����H��L�5i��I�����H�*�H�M���	��H��H�T$P�	��H��H�2���	��H��H�T$X�	��H��I����H��H�M��	��H�L$h��H����H��H�L$h�I�H��H�M��U	��H��I���>�H��H�L$h�H;�sJ��H��t L�D$h�C���H�T$xH�L$hH+�H������H���H3���H�ĘA_A^A]A\_^[]�H�D$`H�D$ L�M�M��A��I�������@USVWATAUAVAWH��$h���H��H�A]FH3�H���L�L$PM��D��L��H��L��H��H�D$XH��H�D$`W��L$h3�H�\$xI�FH�V��{9
��H�|$HH�D$@���D$0���D$4�\$5H�T$pH��t9H�ZH�ZD$0L$@JH�\$@��H�D$H�\$0H�T$pH�� H�T$p�L�D$0H�L$h�r�H�T$pH�D$HH��rH�PH�L$0萐��H�T$pI�F H�N �9��H�|$HH�D$@�u��D$0�n�f�D$4�e��D$6�\$7H;T$xt:H�ZH�ZD$0L$@JH�\$@H��H�D$H�\$0H�T$pH�� H�T$p�L�D$0H�L$h��H�T$pH�D$HH��rH�PH�L$0�ُ��H�T$pI�N0L�F0�A9��H�|$HH�D$@	�Þ�D$0����D$8�\$9H;T$xt:H�ZH�ZD$0L$@JH�\$@H��H�D$H�\$0H�T$pH�� H�T$p�L�D$0H�L$h��H�T$pH�D$HH��rH�PH�L$0�)���H�T$pI�N0L�F0�AA9@��H�|$HH�D$@	�!��D$0���D$8�\$9H;T$xt7H�ZH�ZD$0L$@JH�\$@H�|$H�\$0H�T$pH�� H�T$p�L�D$0H�L$h�\��H�T$pH�|$HH��rH�WH�L$0�z���H�T$pH�L$hH;��<��H�M��Y��H�M��7���H�T$PH�M��`��H��H�j��m��H��H���F�H��H��
���+�H�T$XH�M��)��H��H�3��6��H��I����H��L�5�
��I�����H�R�H�M��	��H��H�T$P����H��H�
�����H��H�T$X����H��H�ޜ����H��I����H��H�M����H�L$h�H����H��H�L$h�b�H��H�M��n��H��I���W�H��H�L$h��H;�sJ��H��t L�D$h�\���H�T$xH�L$hH+�H�������H���H3����H�ĘA_A^A]A\_^[]�H�D$`H�D$ L�M�M��A��I�������@USVWATAUAVAWH��$h���H��H�YXFH3�H���L�L$PM��D��L��H��L��H��H�D$XH��H�D$`W��L$h3�H�\$xI�NH�F���9�{����H�|$HH�D$@�+��D$0�%��D$4�\$5H�T$pH��t9H�ZH�ZD$0L$@JH�\$@��H�T$H�\$0L�L$pI�� L�L$p�L�D$0H�L$h���L�L$pH�T$HH��rH��H�L$0見��L�L$pI�N H�F ���9����H�|$HH�D$@����D$0���f�D$4�x��D$6�\$7L;L$xt<I�YI�YD$0AL$@AIH�\$@H��H�T$H�\$0L�L$pI�� L�L$p�L�D$0I��H�L$h����L�L$pH�T$HH��rH��H�L$0���L�L$pI�N0L�F0A���9����H�|$HH�D$@	�ϙ�D$0�˙�D$8�\$9L;L$xt<I�YI�YD$0AL$@AIH�\$@H��H�T$H�\$0L�L$pI�� L�L$p�L�D$0I��H�L$h���L�L$pH�T$HH��rH��H�L$0�1���L�L$pI�N0L�F0A�@��y����H�|$HH�D$@	�&��D$0�"��D$8�\$9L;L$xt9I�YI�YD$0AL$@AIH�\$@H�|$H�\$0L�L$pI�� L�L$p�L�D$0I��H�L$h�\��L�L$pH�|$HH��rH�WH�L$0�z���L�L$pH�L$hI;��-��H�M��Y��H�M��2���H�T$PH�M��`��H��H�j��m��H��H���F�H��H�����+�H�T$XH�M��)��H��H�3��6��H��I����H��L�5���I�����H�R�H�M��	��H��H�T$P���H��H������H��H�T$X����H��I����H��H�M�����H�L$h�H����H��H�L$h�q�H��H�M��}���H��I���f�H��H�L$h��H;�sM��H��t#L�D$hI���h���H�T$xH�L$hH+�H�������H���H3����H�ĘA_A^A]A\_^[]�H�D$`H�D$ L�M�M��A��I�������@SH�� H��H�BL��W�H�JPH�
H�JH�CTH�C �H�SH�CXH�S(H�SdH�S@I�PPH�C0A� H�C8H�CHA��H��H�� [���@SH��PH��H�L$ H��H����A�I+���H��t}H��9tpH��AtaH��t:H�L$(�k���L�D$(H�O�H�������H�T$@H��rqH��H�L$(�ކ���bH�!�H�A�L�A�Q��C�AH����ݸu8�H����H�۔�ĸi8H�A�H�Af��AH��H��P[��H�AH+H���@SH�� H��H���r�H��H�� [��@SH�� H��H�BL��W�H�JPH�
H�JH�CTH�C �H�SH�CXH�S(H�SdH�S@I���H�C0A� H�C8H�CHA�h�H��H�� [����L��I�[I�s WH��0I��H��H��H��������H9AtAI�K�I�c�� ���@H�CH�OH�8H�HH�GH�H�\$PH�t$XH��0_�H�
�辠��H�	鬯@SUVWAVH��@M��H��H�����tI��H��S���H�~H�|$0H���;���uxH�l$ L�t$(H�N`L�D$ H�� ���H��H�M��H��H��H�@(��@��u'H�SH�H�
H�H�KH�JH�Nh� H��覄���H���@��H��@A^_^][Ë��(�����H�L$SVWAVH��(H��H�yH�|$`H��蒮����L�v`L�t$hI�H�\$XI;�t*H�KH�C�f���H�t$PH�|$`H�\$XL�t$hH���H�N`H�AH� H�	H��tH�� ���H��H��u�H�F`H�H�F`H�@H�fhH��H��(A^_^[�,����e��H�\$WH�� �ypH�yxH��uH�H��H�@0�͌�CpH�\$0H��H�� _�@SH�� ���H��t��H�H�@ ������H�� [��@SH�� ���H��uH�H�@�m�ƃ�H�� [�H��8H�H�"H�D$ H�BH�bH�T$ H�D$(��H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@��H����?��H;�u#L��H��H���XH�\$PH�l$XH�t$`H��@_�H�|�H�L$ 観��H�#FH�L$ ��@SH��@H���n?��H9u	H��H��@[�H��H�L$ �g���H��
FH�L$ 肜��H�\$WH��H��MFH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@���H�L$xH��tYH�H��H�@��H�H�L$xH��tH�H�T$@H;���H�@ ��H��H��$�H3�荾H��$�H�Đ_�軜�H�H�L$(虲��H�
FH�L$(贛����@SH��@H�BH9Hu;L��H�L$PH�T$ E3��+����H�T$ H���a��H����H;��H��@[�H��H�L$ �(���H��	FH�L$ �C����@SH��H�BL��H9HuJH�T$@I�����d$0H��HH�T$(�L$ �|H�T$ H���3a��H���gH;��H��[�H�H�L$ 裱��H� 	FH�L$ 辚��H��H�XH�hH�p H�HWH�� I��H��H���H�ѻH��H�D$0H��t,W���C�CH��H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H�����H�H��H�D$0H��t)W���C�CH���H�H�KH���3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H�����H��H�D$0H��t,W���C�CH�̑H�H�KL��H���
����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H�����H�p�H�L�wI�I��H�@�ɇH���;��H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H��}�����C�uH�H��H�@�b��H��H�\$XH�t$`H�|$hH��@A^�H���H�L$ ����H��FH�L$ �6���L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S���H�6�H�H�[H��t9����C��u,H�H��H��������C��uH�H��H�@���H��H�\$PH��0_����@USVWAVH��$ ���H���H��HFH3�H���I��H��H��H�M�I��蔎��D��L��H��H���7����H��H�H���H���H+�H��3�H����A�H��PH�	�
�H�U�H����D�sL�u�H�]��]�L�t$XH�D$P�-l�D$@�(lf�D$H�l�D$J�\$KL�t$xH�D$p
�/k�D$`�*kf�D$h�\$jH�]�L�u��]�L�
��D�ÍSEH�M��(����H�H��H�@�W�L��H�E�H�D$8H�E�H�D$0H�D$@H�D$(H��hH�D$ L�L$`�SoH�M���h���H�U�H��rH��H�M���{��H�]�L�u��]�H�T$xH��r
H��H�L$`�{��H�\$pL�t$x�\$`H�T$XH��r
H��H�L$@�{��H�\$PL�t$X�\$@H�U�H��r
H��H�M��g{���H��H���H3��4�H���A^_^[]�葲���H�\$H�T$UVWH��0H��H��W��D$ H�JH��t�AH�JH�H�D$ H�L$(H�T$ H������H���H�H�_H��t�CH�_H�G�����0��H��t5����C�u*H�H��H��؃����C�uH�H��H�@���H�_H��t�CH�_H�G�����4H��t6����C�u+H�H��H��}�����C�uH�H��H�@�b��H�^H��t5����C�u*H�H��H��>�����C�uH�H��H�@�#�H��H�\$`H��0_^]����H�\$H�t$ WH��@H��H��H�L$ �u���H��H��6��H9��H���H�H���H��HH�a�H�q��
v���H���H��hH�aH�q���u���H���H���H�aH�q���u���H���H���H�aH�q��u����������������������������H��H�\$`H�t$hH��@_�H��H�L$(�֩��H�SFH�L$(���H�\$VH�� H���H��H��rH���H���x��H����H���ƃ�H���H��rH���H���Px��H���H���ƃ�H���H��rH��hH���x��H��xH���ƃhH��`H��rH��HH����w��H��XH��8H��`ƃH貏��H�S(H��rH�KH���w��H�c H�s(�CH�\$0H�� ^�������������@SH�� H�[�H��H���t
�H�.�H��H�� [������@SH�� H�S�H��H���t
���H��H�� [������@SH�� H�ӉH��H���t
���βH��H�� [������H�\$WH�� ��H���<�����t
��H��蚲H�\$0H��H�� _�������������H�\$H�t$WH��@I�H��I��I��H��H�@��H;�u;H�H��H�@��H���w3��H;�uAH��H���[H�\$PH��H�t$XH��@_�H�
H�L$ �[���H��EH�L$ �v��H��H�L$ �8���H���EH�L$ �S����H�\$UVWAVAWH��$����H��`	H��AFH3�H��PH��L��W�D$PH�rH��t�FH�rH�BH�D$PH�t$XH���H���H+�H��H����A�H��PH�	��H���H���H+�H��H���UA�H���H�I����X����H�P H�d$@H�d$HH�L$0� ���2�H�T$0L�L$0L�D$HI��IC�H�L$0IC�L�T$@L��!�<b��<n��<st,w<w�H��I;�u�I��rI�PI����t��L��p��X��u
A�>������������H���H�MX�R���H���D$ A�D�A�H�L$h轧��L��H�|$ A�H��PH��P踃��H��PI���	����H����������F���H�H��H��F}����F���H�H�@�I��rI�PI����s��������L��pH���H��P臅��H���D$ A�D�A�H�M���L��H�|$ E3�H��PH�����H���I���B����H��t8������F�u*H�H��H���|����N�uH�H�AH��l|I��H��PH3��
�H��$�	H��`	A_A^_^]��^�����������������H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@�|H;���H�H��H�@��{H���/��H;�uML��H�T$PH���Z�H�H� H�H�L$PH��tH��H���{H�\$XH��H�t$hH�l$`H��@_�H�6�H�L$ �`���H��EH�L$ �{��H�+	H�L$ �=���H���EH�L$ �X���������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@�{H;���L��H�L$ H���[�H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H���z����C�uH�H��H�@��zH�\$`H��H�l$hH�t$pH��P_�H��H�L$0�Y���H��EH�L$0�t�����H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0�_�H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H���y����C�uH�H��H�@��y�H�L$(H��t=����A�u2H�\$(H�H��H���y����C�uH�L$(H�H�@�ky�H�_H��t5����C�u*H�H��H��Gy����C�uH�H��H�@�,yH��L�\$`I�[I�kI�s I��_�H�TH�L$@���H�c�EH�L$@���H�\$H�t$WH��@I�H��I��I��H��H�@��xH;�u8H�H��H�@��xH���w,��H;�u>H��H����H�\$PH�t$XH��@_�H�LH�L$ �^���H��EH�L$ �y��H��H�L$ �;���H���EH�L$ �V�������H�\$H�t$WH��@I�H��I��I��H��H�@�xH;�u8H�H��H�@�xH����+��H;�u>H��H����H�\$PH�t$XH��@_�H��H�L$ 讟��H�+�EH�L$ �Ɉ�H�a�H�L$ 苟��H��EH�L$ 覈������H�\$WH��PH��I9��I�����H�T$`H�D$`H�L$ �B�H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H��!w����C��uH�H��H�@�wH�\$hH��H��P_�H�wH�L$0�ɞ��H�F�EH�L$0������H��(eH�%X�
m3I�4H�ȋ
9�IH��1FH��(�H�
�I�!��=�I�u�H�
!J�\�H�
mI蠯����H��H�XH�HWH��H��M��D��H�T$ H�H ��o����H�T$ H���|M��H���H;8t5H�c8H�OpH��tH�H��H��vH�C8H��H��$�H�Ġ_�H�?H�L$8�=a��H��H�
�uF��L��H��H�L$X�j���L��H��H�L$x�j���H��H�L$ �ˀ��H��EH�L$ 蚆����������L��I�[I�SWH��0H��H���d$ W�3�H�BH!H!BH!B�D$ H��HI�CM�C3�H�����H��xt-H��hH�D$@H�SH;St
H�H�C�
L�D$@H�����H���t-H���H�D$@H�SH;St
H�H�C�
L�D$@H���s���H���t-H�ǨH�|$@H�SH;St
H�:H�C�
L�D$@H���<���H��H�\$PH��0_���H��(�
1IeH�%X�4H�ȋ
9cIH�JIH��(�H�
NI�ɭ�=BI�u�W��%I�x�k�H�H�@H�@f�@H�IH�
�G�׫�H�
�
I�����������H�\$H�t$WH��@I�H��I��I��H��H�@��sH;�u^H�H��H�@��sH���g'��H;�uH��H���[H�\$PH��H�t$XH��@_�H�!�H�L$ �K���H���EH�L$ �f��H��H�L$ �(���H���EH�L$ �C����H�\$H�t$ UWATAVAWH��$����H��PH��5FH3�H��@H��L��H�L$8E3�D�d$$W�E�H�zH��t�GH�zL�zL�}�H�}�H�T$8H����H�0L� H�uXH�L$8H��tH��H�@��rI��hH���H��趙����uL�e�L�e�H��H�M��&���H�Uػ�AH�D$XH�D$P�3u�D$@�,uf�D$D�#u�D$FD�d$GH�T$@��\$$L���L���H���輄�����t2��\$$H�T$XH��r
H��H�L$@�h��L�d$PH�D$XD�d$@��tH�U�H��rH��H�M��yh��I��HL���L���H����H����H��OH�A�E8��HE�3�A��H��@�ʔ�H��@�����3�D�BHH���覔L�=��L���W��D$0L�D$ H�T$0H����mZ���H�EH�D$(L�e(L�e0H���H�M觃���H�E�H�E�
��s�E���sf�E�D�e�L�EH�U�H����FM��H�E8H�D$(L�eHL�ePH���H�M8�E����H�E�H�E��vs�E��psf�E��hs�E�D�e�L�E8H�U�H�����L���H�D$xH�D$p��N�D$`��N�D$h��Nf�D$l��N�D$nD�d$oL��H�T$`H����]�H�E`H�D$(L�}`L�D$!H���H�Mh�WD���L�eH�ED�e�L�
�xE�ĺH�M��^j���L�E`H�U�H���p��H���D��H��PH��H��qoI��H��X�R���H��H��H+�H���f��W�f�L�� H���}o���H����/���H�l�H���H���衋�H���H��rH��H����e���H���H��rH��H����e���H��H��H�@��n�H��t5����G�u*H�H��H���n����W�uH�H��H�B�vnI��H��@H3���L��$PI�[@I�sHI��A_A^A\_]���������H��HH�xrH�H���H��hH�xrH�H���H���H�xrH�H���H���H�xrH�H������������������������������H��8H�H�"H�D$ H�BH�bH�T$ H�D$(��H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@�OmH���H;�u#L��H��H���XH�\$PH�l$XH�t$`H��@_�H���H�L$ ��H�o�EH�L$ �
~�@SH��@H���*H9u	H��H��@[�H��H�L$ 賔��H�0�EH�L$ ��}��H�\$WH��H�0/FH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@��H�L$xH��tYH�H��H�@�alH�H�L$xH��tH�H�T$@H;���H�@ �<lH��H��$�H3��ٟH��$�H�Đ_��~�H�[�H�L$(���H�b�EH�L$(�}����@SH��@H�BH9Hu;L��H�L$PH�T$ E3��we����H�T$ H���C��H����H;��H��@[�H��H�L$ �t���H���EH�L$ �|���@SH��H�BL��H9HuJH�T$@I�����d$0H��HH�T$(�L$ �XH�T$ H���B��H���CH;��H��[�H�e�H�L$ ���H�l�EH�L$ �
|��H��H�XH�hH�p H�HWH�� I��H��H���@��H��H�D$0H��t,W���C�CH��vH�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H���P蔜H��H�D$0H��t)W���C�CH�/vH�H�KH����3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H�����
�H��H�D$0H��t,W���C�CH�XuH�H�KL��H���
����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H�����H��sH�L�wI�I��H�@�iH���IH;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H���h����C�uH�H��H�@��h�H��H�\$XH�t$`H�|$hH��@A^�H�=�H�L$ �g���H���EH�L$ �y��L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��e�H��rH�H�[H��t9����C��u,H�H��H��
h����C��uH�H��H�@��gH��H�\$PH��0_����@USVWAVH��$ ���H���H�G*FH3�H���I��H��H��H�M�I����o��D��L��H��H���7����H�_rH�H���H���H+�H��3�H����A�H��PH�	�V�H�U�H�����D�sL�u�H�]��]�L�t$XH�D$P�yM�D$@�tMf�D$H�kM�D$J�\$KL�t$xH�D$p
�{L�D$`�vLf�D$h�\$jH�]�L�u��]�L�
#rD�ÍSPH�M��ta���H�H��H�@��fL��H�E�H�D$8H�E�H�D$0H�D$@H�D$(H��hH�D$ L�L$`�SCH�M��#J���H�U�H��rH��H�M�� ]��H�]�L�u��]�H�T$xH��r
H��H�L$`�\��H�\$pL�t$x�\$`H�T$XH��r
H��H�L$@��\��H�\$PL�t$X�\$@H�U�H��r
H��H�M��\���H��H���H3�耙H���A^_^[]��ݓ���L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S�����H�pH�H�[H��t9����C��u,H�H��H��Ve����C��uH�H��H�@�9eH��H�\$PH��0_����H�\$WH��@H��H��H�L$ ��W���H�oH��:H9u<H�oH�H���H�� H�aH�A��,X���H��H�\$`H��@_�H�v�H�L$(萌��H�
�EH�L$(�u�����������@SH�� H�kpH��H���t
�@�H��H�� [������@SH�� H�cpH��H���t
�P�ΖH��H�� [������@SH�� H��oH��H���t
��螖H��H�� [������H�1pH�H�����H�
�$����������H�idF���������H�\$H�t$WH��@I�H��I��I��H��H�@��cH;�u;H�H��H�@��cH����H;�uAH��H���[H�\$PH��H�t$XH��@_�H���H�L$ �;���H���EH�L$ �Vt�H���H�L$ ����H���EH�L$ �3t���H�\$H�t$ UWATAVAWH��$@���H��H��%FH3�H���H��L��W�D$0L�zM��t	�A�GL�zH�BH�D$0L�|$8H���H���H+�H��H���A�H���H�	��H���H���H+�H��H����A�H��0H�I�b�L��pH��`H���H�M���j��H��A�F�D$ E�D��H�L$@�?���L��H�t$ D���H���I���=h���M��t:�����A�G�u+I�I��H���a���A�W�uI�I��H�B��aI��H���H3��c�L��$�I�[@I�sHI��A_A^A\_]�貏����H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@�`aH;���H�H��H�@�GaH���{
H;�uML��H�T$PH���n�H�H� H�H�L$PH��tH��H��aH�\$XH��H�t$hH�l$`H��@_�H���H�L$ ���H�=�EH�L$ ��q�H���H�L$ 蝈��H��EH�L$ �q��������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@�p`H;���L��H�L$ H���o���H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H��`����C�uH�H��H�@��_H�\$`H��H�l$hH�t$pH��P_�H���H�L$0蹇��H�6�EH�L$0��p����H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0�s�H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H��-_����C�uH�H��H�@�_�H�L$(H��t=����A�u2H�\$(H�H��H���^����C�uH�L$(H�H�@��^�H�_H��t5����C�u*H�H��H���^����C�uH�H��H�@��^H��L�\$`I�[I�kI�s I��_�H���H�L$@�F���H���EH�L$@�ao�H�\$H�t$WH��@I�H��I��I��H��H�@�(^H;�u8H�H��H�@�^H���GH;�u>H��H����H�\$PH�t$XH��@_�H���H�L$ 辅��H�;�EH�L$ ��n�H�q�H�L$ 蛅��H��EH�L$ �n������H�\$H�t$WH��@I�H��I��I��H��H�@�x]H;�u8H�H��H�@�c]H���H;�u>H��H�����H�\$PH�t$XH��@_�H���H�L$ ����H���EH�L$ �)n�H���H�L$ ���H�h�EH�L$ �n������H�\$WH��PH��I9��I�����H�T$`H�D$`H�L$ �V�H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H���\����C��uH�H��H�@�d\H�\$hH��H��P_�H���H�L$0�)���H���EH�L$0�Dm����H��(eH�%X�
�I�4H�ȋ
9�HH�FH��(�H�
�H聕�=��H�u�H�
�/輓H�
�H������H��H�XH�HWH��H��M��D��H�T$ H�H �RU���H�T$ H����2��H���H;8t5H�c8H�OpH��tH�H��H��f[H�C8H��H��$�H�Ġ_�H���H�L$8�F��H��H�
�[F�Rj��L��H��H�L$X�P���L�>�H��H�L$x�	P���H��H�L$ �+f��H�L�EH�L$ �k��H��(�
�IeH�%X�4H�ȋ
9��HH���HH��(�H�
��H�9��=��H�u�W����H�x�یH�H�@H�@f�@H���HH�
l.�G��H�
��H芓���������H�\$H�t$WH��@I�H��I��I��H��H�@�(ZH;�u^H�H��H�@�ZH���GH;�uH��H���[H�\$PH��H�t$XH��@_�H���H�L$ 軁��H�8�EH�L$ ��j�H���H�L$ 蘁��H��EH�L$ �j���H�\$UVWAVAWH��$p���H��H�FH3�H���H��H��H�L$0W�D$hH�ZH��t�CH�ZL�rL�t$hH�\$pH�T$0H���U�H�8H� H�}�H�L$0H��tH��H�@�YI�� H�eH�e H�M�k���3�A��H����O|�H����N����3�D�BHH�M0�.|L�=�L�}0W��D$(L�D$ H�T$(H�M8�A���H�E�H�D$8H�e�H�e�H�UH�M��6k���A�L�t$`H�D$X
�Q[�D$H�L[f�D$P�D$RL�E�H�T$HH�M0��4��H�E�H�D$8L�}�L�D$!H�U8H�M��,���H�e�L�u��D$xL�
;cE3�A�VH�L$x�R���L�E�H�T$xH����X��H�A��E��H���H��H���WH��H���蜵���H�UXH�MPH+�H���gN��W�fEPH�e`H�M@��W���H������H���H��H���s�H�U H��r
H��H�M�N���H��H��H�@�,W�H��t9A����CA�u,H�H��H��
WA����SA�uH�H��H�B��VH��H���H3�苊H��$�H�ĐA_A^_^]�@UH��H��H�E�H�EH��bH�E�H�E�H�E�H�e�H�E��E�L�
�`E3�A�P)H�M��5Q���H�U�H�M��gU��H�Ā]���H��8H�H�"H�D$ H�BH�bH�T$ H�D$(��H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@��UH���#H;�u#L��H��H���XH�\$PH�l$XH�t$`H��@_�H�x�H�L$ �}��H��EH�L$ �f�@SH��@H����H9u	H��H��@[�H���H�L$ �c}��H���EH�L$ �~f��H�\$WH��H��FH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@��H�L$xH��tYH�H��H�@�UH�H�L$xH��tH�H�T$@H;���H�@ ��TH��H��$�H3�艈H��$�H�Đ_��f�H��H�L$(�|��H��EH�L$(�e����@SH��@H�BH9Hu;L��H�L$PH�T$ E3��'N����H�T$ H���+��H����H;��H��@[�H���H�L$ �$|��H���EH�L$ �?e���@SH��H�BL��H9HuJH�T$@I��襴�d$0H��HH�T$(�L$ �XH�T$ H���/+��H���CH;��H��[�H��H�L$ �{��H��EH�L$ �d��H��H�XH�hH�p H�HWH�� I��H��H���@�ͅH��H�D$0H��t,W���C�CH��aH�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H�����D�H��H�D$0H��t)W���C�CH�_aH�H�KH����3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H����轄H��H�D$0H��t,W���C�CH��`H�H�KL��H���
����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H��蘔�H�_H�L�wI�I��H�@��QH����H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H��yQ����C�uH�H��H�@�^Q�H��H�\$XH�t$`H�|$hH��@A^�H��H�L$ �y��H���EH�L$ �2b��L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S���H��]H�H�[H��t9����C��u,H�H��H���P����C��uH�H��H�@��PH��H�\$PH��0_����@USVWAVH��$ ���H���H��FH3�H���I��H��H��H�M�I���X��D��L��H��H���7����H��]H�H���H���H+�H��3�H����A�H��PH�	��H�U�H��蒰D�sL�u�H�]��]�L�t$XH�D$P�)6�D$@�$6f�D$H�6�D$J�\$KL�t$xH�D$p
�+5�D$`�&5f�D$h�\$jH�]�L�u��]�L�
S]D�ÍSRH�M��$J���H�H��H�@�SOL��H�E�H�D$8H�E�H�D$0H�D$@H�D$(H��hH�D$ L�L$`�SBH�M���2���H�U�H��rH��H�M���E��H�]�L�u��]�H�T$xH��r
H��H�L$`�E��H�\$pL�t$x�\$`H�T$XH��r
H��H�L$@�E��H�\$PL�t$X�\$@H�U�H��r
H��H�M��cE���H��H���H3��0�H���A^_^[]��|���L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S�����H�F[H�H�[H��t9����C��u,H�H��H��N����C��uH�H��H�@��MH��H�\$PH��0_����H�\$H�t$ WH��@H��H��H�L$ �y@���H�)ZH���H9��H�9ZH�H���H��@H�a�H�q���@���H���H��`H�aH�q��@���H���H���H�aH�q��@���H���H���H�aH�q��r@���H���H���H�aH�q��R@���H��H�\$`H�t$hH��@_�H���H�L$(�t��H�.�EH�L$(��]����H�\$H�t$WH�� H���H��H��rH���H���ZC��3�H���@����wH���H���H��rH���H���$C��H���H���@���H���H��rH���H����B��H���H���@���H��xH��rH��`H����B��H��pH��x@��`H��XH��rH��@H���B��H��8H��PH��X@��@�XZ��H�S(H��rH�KH���ZB��H�s(H�t$8H�{ @�{H�\$0H�� _���������������@SH�� H��YH��H���t
�@��}H��H�� [������@SH�� H��YH��H���t
���}H��H�� [������@SH�� H�3YH��H���t
���n}H��H�� [������H�\$WH�� ��H��������t
��H���:}H�\$0H��H�� _�������������H�AYH�H�����H�
��
����������H�yKF���������H�\$H�t$WH��@I�H��I��I��H��H�@�8JH;�u;H�H��H�@�#JH���GH;�uAH��H���[H�\$PH��H�t$XH��@_�H�q�H�L$ ��q��H�H�EH�L$ ��Z�H�~�H�L$ �q��H�%�EH�L$ ��Z���H�\$WH��0H�$FH3�H��$ H���H��H���H+�H��H����H�	H��$�A��a�H��$���Q����D$ D��H�L$0D��H���Ls��D��$�L��H��$�H��H�\$ �HO��H��H��$ H3��|H��$PH��0_��w���������H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@��HH;���H�H��H�@��HH���
H;�uML��H�T$PH����H�H� H�H�L$PH��tH��H��UHH�\$XH��H�t$hH�l$`H��@_�H��H�L$ �p��H���EH�L$ �+Y�H���H�L$ ��o��H�j�EH�L$ �Y��������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@��GH;���L��H�L$ H������H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H��iG����C�uH�H��H�@�NGH�\$`H��H�l$hH�t$pH��P_�H�7�H�L$0�	o��H���EH�L$0�$X����H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0��H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H��}F����C�uH�H��H�@�bF�H�L$(H��t=����A�u2H�\$(H�H��H��8F����C�uH�L$(H�H�@�F�H�_H��t5����C�u*H�H��H���E����C�uH�H��H�@��EH��L�\$`I�[I�kI�s I��_�H��H�L$@�m��H��EH�L$@�V�H�\$H�t$WH��@I�H��I��I��H��H�@�xEH;�u8H�H��H�@�cEH���
H;�u>H��H����H�\$PH�t$XH��@_�H���H�L$ �m��H���EH�L$ �)V�H���H�L$ ��l��H�h�EH�L$ �V������H�\$H�t$WH��@I�H��I��I��H��H�@��DH;�u8H�H��H�@��DH����	H;�u>H��H���o�H�\$PH�t$XH��@_�H�L�H�L$ �^l��H���EH�L$ �yU�H��H�L$ �;l��H���EH�L$ �VU������H�\$WH��PH��I9��I���v�H�T$`H�D$`H�L$ ��H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H���C����C��uH�H��H�@��CH�\$hH��H��P_�H�'�H�L$0�yk��H���EH�L$0�T����H��(eH�%X�
I�4H�ȋ
9��HH�r�EH��(�H�
r�H��|�=f�H�u�H�
q�{H�
Q�H�P|����H��H�XH�HWH��H��M��D��H�T$ H�H �<���UH�T$ H���,��H���@H;8t5H�c8H�OpH��tH�H��H���BH�C8H��H��$�H�Ġ_�H���H�L$8��-��H��H�
SCF�Q��L��H��H�L$X�n7���L���H��H�L$x�Y7���H��H�L$ �{M��H���EH�L$ �JS����������H�\$H�|$ H�T$UH��H��0H��H���e�W�3�H�BH!H!BH!B�E�3�H9����H9����H�3�H9����H�H��pH��H�H��H��H�H���1��H�SH��@H�EH;St
H�H�C�L�EH���4��H��pt+H��`H�EH�SH;St
H�H�C�L�EH�����H���t+H���H�EH�SH;St
H�H�C�L�EH������H���t+H���H�EH�SH;St
H�H�C�L�EH�����H���t+H�ǀH�}H�SH;St
H�:H�C�L�EH���`��H��H�\$PH�|$XH��0]��H��(�
>�HeH�%X�4H�ȋ
9��HH���HH��(�H�
��H��y�=��H�u�W��u�H�x�rH�H�@H�@f�@H�S�HH�
l�w�H�
O�H�:y���������H�\$H�t$WH��@I�H��I��I��H��H�@��?H;�u^H�H��H�@��?H����H;�uH��H���[H�\$PH��H�t$XH��@_�H�A�H�L$ �kg��H��EH�L$ �P�H���H�L$ �Hg��H�žEH�L$ �cP���H�\$H�t$ UWATAVAWH��$���H��0H��FH3�H�� H��L��H�L$8E3�D�d$$W�E�H�ZH��t�CH�ZL�zL�}�H�]�H�T$8H���H�0L� H�u8H�L$8H��tH��H�@��>I��`H�֪H����e����uL�e�L�e�H��H�M��FQ��H�U���AH�D$XH�D$P�SA�D$@�LAf�D$D�CA�D$FD�d$GH�T$@��|$$L���L���H�����P���@��t2��|$$H�T$XH��r
H��H�L$@��4��L�d$PH�D$XD�d$@@��tH�U�H��rH��H�M��4��I��@L���L���H����fP���3�A��H�� �a�H�� ����3�D�BHH�����`H�=��H���W��D$0L�D$ H�T$0H����&���H�E�H�D$(L�eL�eH���H�M���O���A�L�}�H�E�
��?�E���?f�E�D�e�L�E�H�U�H����{��H�EH�D$(L�e(L�e0H���H�M�zO���L�}�H�D$x��?�D$h��?f�D$l��?�D$nD�d$oL�EH�T$hH������H�E@H�D$(H�}@L�D$!H���H�MH�����L�e�L�}�D�e�L�
�IE��A�WH�M���6���L�E@H�U�H���7=��H���D��H��0H��H���;I��H��8����H���H���H+�H���2��W�f��L��H����<���H����J����H���H���H����/X�H���H��rH��H����B2���H���H��rH��H����%2���H��H��H�@�?;�H��t5����C�u*H�H��H��;����S�uH�H��H�B�;I��H�� H3��nL��$0I�[@I�sHI��A_A^A\_]���@UH��H��H�E�H�EH�qIH�E�H�E�H�E�H�e�H�E��E�L�
UGE3�A�P+H�M��E5���H�U�H�M��w9��H�Ā]���������������H��@H�xrH�H���H��`H�xrH�H���H���H�xrH�H���H���H�xrH�H���H���H�xrH�H�������H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@��9H���?���H;�u#L��H��H���XH�\$PH�l$XH�t$`H��@_�H��H�L$ �*a��H���EH�L$ �EJ�@SH��@H�����H9u	H��H��@[�H�	�H�L$ ��`��H�h�EH�L$ �J��H�\$WH��H�h�EH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@�h6�H�L$xH��tYH�H��H�@��8H�H�L$xH��tH�H�T$@H;���H�@ �t8H��H��$�H3��lH��$�H�Đ_��?J�H���H�L$(�`��H���EH�L$(�8I����@SH��@H�BH9Hu;L��H�L$PH�T$ E3��1���6H�T$ H���9��H����6H;��H��@[�H�"�H�L$ �_��H�)�EH�L$ ��H���@SH��H�BL��H9HuJH�T$@I���-��d$0H��HH�T$(�L$ �|6H�T$ H�����H���g6H;��H��[�H���H�L$ �'_��H���EH�L$ �BH��H��H�XH�hH�p H�HWH�� I��H��H���H�UiH��H�D$0H��t,W���C�CH�HH�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H������hH��H�D$0H��t)W���C�CH�o�H�H�KH��4�3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H�����EhH��H�D$0H��t,W���C�CH��FH�H�KL��H���
����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H��� x�H��DH�L�wI�I��H�@�M5H������H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H��5����C�uH�H��H�@��4�H��H�\$XH�t$`H�|$hH��@A^�H�u�H�L$ �\��H��EH�L$ �E��L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��H�bCH�H�[H��t9����C��u,H�H��H��B4����C��uH�H��H�@�%4H��H�\$PH��0_����H��H�X UVWATAUAVAWH��X���H��p)p�H�q�EH3�H��PI��H��L��H�M�I���
<��D��L��H��I���)����H�CI�$H�� H����H���H�� H����^�H���H��$H���H���H��(H��D�v�L��H��4H��D�~�L��W�� �0I�T$pH��D�FH�� �gR3�H���1H��D��H��P��H��PH���x�H�E H�E�H�u�H�E H�E�H�]�H�E$H�E�H�]�H�E(H�EL�uH�E4H�EL�}(��)E (��)M0E3�L�m��sH�u�D�m�L�
�BE�ō^��H�M�� -���L�m�H�u�D�m�L�
<E��E�wA��H�M��,���L�l$pH�t$xD�l$`L�
2E�ŋ�H�L$`��,���L�l$P��H�\$XD�l$@L�
�AE�ōs:��H�L$@�,���H�H��H�@��1L��H�E�H�D$8H��hH�D$0H�E�H�D$(H��hH�D$ L�L$`�SXH�L$@�T���H�T$XH��r
H��H�L$@�O(��L�l$PH�\$XD�l$@H�T$xH��r
H��H�L$`�((��L�l$pH�\$xD�l$`H�U�H��rH��H�M��(��L�m�H�]�D�m�H�U�H��rH��H�M���'��L�m�H�]�D�m�L�
^AE��I��H�M��+���L�l$PH�\$XD�l$@L�
�E��I��H�L$@�+���L�l$pH�\$xD�l$`L�
E��I��H�L$`�a+���L�m�H�]�D�m�L�
]@E��H��H�M��>+���H�H��H�@�m0L��H�E�H�D$8H��hH�D$0H�D$@H�D$(H���H�D$ L�L$`�hH�M������H�U�H��rH��H�M���&��L�m�H�]�D�m�H�T$xH��r
H��H�L$`�&��L�l$pH�\$xD�l$`H�T$XH��r
H��H�L$@�&��L�l$PH�\$XD�l$@H�U�H��rH��H�M��u&��D��0E���=I��E��W�H��H���m4H��A�H����s�I�L$h�����<H��H���^H��A�H����D�L�m�H�]�D�m�L�
�E�źH�M���)���L�l$pH�\$xD�l$`L�
�E�źH�L$`�)���H�\$XH�D$P
�|�D$@�x�D$H�r�D$LD�l$ML�m�H�]�D�m�L�
z>E�źIH�M��Y)���H�H��H�@��.L��H�E�H�D$8�D$0H�D$`H�D$(H�����L$ L�L$@�qH�M��r����H�U�H��rH��H�M��%��L�m�H�]�D�m�H�T$XH��r
H��H�L$@��$��L�l$PH�\$XD�l$@H�T$xH��r
H��H�L$`�$��L�l$pH�\$xD�l$`H�U�H��rH��H�M��$��L�m�H�]�D�m�L�
 
E�źH�M��_(���L�l$pH�\$xD�l$`L�
8
E�źH�L$`�6(���H�\$XH�\$P�3
�D$@�/
�D$H�(
f�D$L�
�D$ND�l$OL�m�H�]�D�m�L�
�<E�źIH�M���'���H�H��H�@�-L��H�E�H�D$8�D$0H�D$`H�D$(H����L$ L�L$@�rH�M�����H�U�H��rH��H�M��~#��L�m�H�]�D�m�H�T$XH��r
H��H�L$@�Z#��L�l$PH�\$XD�l$@H�T$xH��r
H��H�L$`�3#��L�l$pH�\$xD�l$`H�U�H��rH��H�M��#��L�m�H�]�D�m�L�
�E�źH�M���&���L�l$pH�\$xD�l$`L�
�E�źH�L$`�&���H�\$XH�\$P���D$@���D$H��f�D$L���D$ND�l$OL�m�H�]�D�m�L�
p;E�źIH�M��O&���H��H�H��H�@�w+L��H�E�H�D$8�D$0H�D$`H�D$(�C�D$ L�L$@�sH�M��g����H�U�H��rH��H�M��!��L�m��H�]�D�m�H�T$XH��r
H��H�L$@��!��L�l$PH�\$XD�l$@H�T$xH��r
H��H�L$`�!��L�l$pH�\$xD�l$`H�U�H��rH��H�M��!��L�m�H�]�D�m�L�
 ;E�źH�M��O%���L�l$pH�\$xD�l$`L�
�
E�źH�L$`�&%���H�\$XH�\$P��
�D$@��
�D$H��
f�D$L��
�D$ND�l$OL�m�H�]�D�m�L�
�9E�źIH�M���$���H�E��A����H�H��H�@��)L��H�E�H�D$8�\$0H�D$`H�D$(H����L$ L�L$@�uH�M��՞���H�U�H��rH��H�M��f ��L�m��H�]�D�m�H�T$XH��r
H��H�L$@�= ��L�l$PH�\$XD�l$@H�T$xH��r
H��H�L$`� ��L�l$pH�\$xD�l$`H�U�H��rH��H�M�����H���H�EPH�EXH���H�E`�H�MhH���H�EpH�MxH���H���HDž�H���H���HDž�W�����I�T$pH�€D�AH�����GL�m�H�]�D�m�L�
9E�źH�M��(#���L�l$PH�\$XD�l$@L�
AE�źH�L$@�"���L�l$pH�\$xD�l$`L�
�E�źH�L$`��"���L�m�H�]�D�m�H��7H�M��Y���H�H��H�@��'L��H�E�H�D$8H��hH�D$0H�D$@H�D$(H���H�D$ L�L$`�zH�M��c���H�U�H��rH��H�M��`��L�m�H�]�D�m�H�T$xH��r
H��H�L$`�<��L�l$pH�\$xD�l$`H�T$XH��r
H��H�L$@���L�l$PH�\$XD�l$@H�U�H��rH��H�M�����L�m�H�]�D�m�H��H�M��d���L�l$PH�\$XD�l$@H��H�L$@�C���L�l$pH�\$xD�l$`H��H�L$`�"���L�m�H�]�D�m�H�~6H�M�����H���H���1�H��H�H��H�@��&L��H�E�H�D$8�t$0H�D$@H�D$(��x�D$ L�L$`�{H�M�����H�U�H��rH��H�M����L�m��H�]�D�m�H�T$xH��r
H��H�L$`����L�l$pH�\$xD�l$`H�T$XH��r
H��H�L$@���L�l$PH�\$XD�l$@H�U�H��rH��H�M����L�m�H�]�D�m�H�^6H�M�����L�l$PH�\$XD�l$@H��H�L$@�����L�l$pH�\$xD�l$`H��H�L$`����L�m�H�]�D�m�H�5H�M�����H�H��H�@�-%L��H�E�H�D$8H��hH�D$0H�D$@H�D$(H�EXH�D$ L�L$`�|H�M�����H�U�H��rH��H�M����L�m�H�]�D�m�H�T$xH��r
H��H�L$`���L�l$pH�\$xD�l$`H�T$XH��r
H��H�L$@�]��L�l$PH�\$XD�l$@H�U�H��rH��H�M��8��L�m�H�]�D�m�H��H�M�����L�l$PH�\$XD�l$@H��H�L$@����L�l$pH�\$xD�l$`H��H�L$`�j���L�m�H�]�D�m�H��3H�M��M���H�H��H�@��#L��H�E�H�D$8�D$0H�D$@H�D$(H�E�H�D$ L�L$`�}H�M������H�U�H��rH��H�M��[��L�m�H�]�D�m�H�T$xH��r
H��H�L$`�7��L�l$pH�\$xD�l$`H�T$XH��r
H��H�L$@���L�l$PH�\$XD�l$@H�U�H��rH��H�M�����L�m�H�]�D�m�H��H�M��_���L�l$PH�\$XD�l$@H��H�L$@�>���L�l$pH�\$xD�l$`H��H�L$`����L�m�H�]�D�m�H�y2H�M�����H�H��H�@��"L��H�E�H�D$8�D$0H�D$@H�D$(H�E�H�D$ L�L$`�~H�M�����H�U�H��rH��H�M����L�m�H�]�D�m�H�T$xH��r
H��H�L$`����L�l$pH�\$xD�l$`H�T$XH��r
H��H�L$@����L�l$PH�\$XD�l$@H�U�H��rH��H�M����L�m�H�]�D�m�H��2H�M�����L�l$PH�\$XD�l$@H��H�L$@�����L�l$pH�\$xD�l$`H��H�L$`�����L�m�H�]�D�m�H�,1H�M�����H�Ep�H����+��A����H�H��H�@�+!L��H�E�H�D$8H����L$0H�D$@H�D$(�\$ L�L$`�H�M�詔���H�U�H��rH��H�M����L�m��H�]�D�m�H�T$xH��r
H��H�L$`���L�l$pH�\$xD�l$`H�T$XH��r
H��H�L$@�Z��L�l$PH�\$XD�l$@H�U�H��rH��H�M��5��H��I�����I��H��PH3��SL��$pI�[XA(s�I��A_A^A]A\_^]���H�\$H�T$UVWH��0H��H��W��D$ H�JH��t�AH�JH�H�D$ H�L$(H�T$ H���1�H��.H�H�_H��t�CH�_H�GH�� H�AH+H����0��H��t6����C�u+H�H��H�������C�uH�H��H�@�e�H�^H��t5����C�u*H�H��H��A����C�uH�H��H�@�&H��H�\$`H��0_^]���H�\$UVWATAUAVAWH��PH��H��H�L$@����H�x�H�蠛��H9E�4H���H�H��hH�� H���H��(H���H��0A�L��8H��@E�}�L��HH���H��PL��XH���H��`E�e�L��hH���H��pE�u�L��xW�AH���E�E�=H���H���L���H���L���H���H���L���H��H���L���H��H���L���W�AH��E�E�=H��pH�� L��(H��0L��8H��tH��@L��HH��xH��PL��XH���H��`L��hW�AH��PE�E�<E3�D9�p�������t���H���H���L���H���A�U�H���H���H���H���H��H���L���H��H���L���W�AH���H�� L�yE�uL�qD�9�����H���H��@L�yL�qD�9���������`���D$ H�T$ H���������D$ H�T$ H������D��xE����H�� H�PL�H��I+�H��H��(L�@L�I��I+�H��H;�t	M+�I�� sJI+�H��L;�u>H��H��$�H��PA_A^A]A\_^]�H�[�H�L$ �uC��H��EH�L$ �,�H�X�H�L$ �RC��H�ϚEH�L$ �m,�������������@SH�� H�k,H��H���t
�H�MH��H�� [������@SH�� H�,H��H���t
���MH��H�� [��H��HLc�0L��A;�}CH�AH�H0H�AH+H��H�I���I���I�H+�H��H;�v	H��H��H��H���H���H�L$ �q;��H��EH�L$ �+����H�\$WH�� H�YH��t�CH�YH�AH��(H�AH+H��H��@��H��t9����C��u,H�H��H������S��uH�H��H�B�H�\$0@��H�� _�����H�\$H�t$WH��@I�H��I��I��H��H�@��H;�u;H�H��H�@��H���k���H;�uAH��H���[H�\$PH��H�t$XH��@_�H��H�L$ �[A��H�ؘEH�L$ �v*�H��H�L$ �8A��H���EH�L$ �S*���H�\$UVWATAUAVAWH��$��H��`H���EH3�H��PH��L��W��HL�r�M��t	�A~L�rH�ZH��HL��P3�H���eH��D��H��P�x3�H���H��D��H���	�xH���H��PHDžXH���H��`H��hH���H��pH��xH���H���A�L���H���H���E�l$�L���W�����H���A�|$D��H����[7H�� H���HDž�H�� H����O�H���H��$H���H���H��(H��L��H��4H��L��W�� �0H���D��H�� ��6H�� L�`L+ I��H���H��PHDžXH���H��`�O�H��hH���H��pH��xH���H���HDž�H���H���L���W�����H��pD��H����6H�� H���HDž�H�� H����O�H���H��$H���H���H��(H��HDžH��4H��L��(�0
)� (�@
)�0E3�L��X�yH��`D��HL�
%�E�ōQ'H��H����H�}�H�D$x����D$h����D$lD�l$mL�mH�} D�mL�
��E�ō_��H�M�h���L�m�H�}D�m�L�
d%E�ōW:H�M��E���H�H��H�@�tL��H��HH�D$8D�l$0H�D$hH�D$(H����L$ L�M�W$H�M��1����H�UH;�rH��H�M�����L�m�H�}D�m�H�U H;�rH��H�M����L�mH�} D�mH�U�H;�r
H��H�L$h���L�l$xH�}�D�l$hH��`H;�rH��H��H���L��xH���D��hL�
S�E�ź(H��h�G���H�}�H�E��d��E��_��E�D�m�L�mXH�}`D�mHL�
��E��H��H�MH����L�m8H�}@D�m(L�
�#E�źIH�M(�����H��H�H��H�@�L��H��hH�D$8D�l$0H�E�H�D$(�C�D$ L�MH�4H�M(�ǩ���H�U@H��rH��H�M(�
��L�m8H�}@D�m(H�U`H��rH��H�MH�f
��L�mXH�}`D�mHH�U�H��rH��H�M��D
��L�m�H�}�D�m�H���H��rH��H��h�
��L���H���D���L�
��E�ź+H�����
���H�}�H�E�����E�����E�D�m�L���H���D���L�
}�E�źH����
���L�mxH���D�mhL�
�"E�ŻI��H�Mh�_
���H�H��H�@��L��H���H�D$8D�l$0H�E�H�D$(H�����L$ L����S�H�Mh�I����H���H��rH��H�Mh�	��L�mxH���D�mhH���H��rH��H�������L���H���D���H�U�H��rH��H�M����L�m�H�}�D�m�H���H��rH��H������L���H���D���L�
U�E�ź,H����I���H�|$`H�D$X�d��D$H�^��D$LD�l$ML���H���D���L�
-�E�źH��������L���H���D���L�
� E��H��H��������H���H�H��H�@��L��H���H�D$8D�l$0H�D$HH�D$(�C�D$ L����6H���襦���H���H��rH��H����`��L���H���D���H���H��rH��H����/��L���H���D���H�T$`H��r
H��H�L$H���L�l$XH�|$`D�l$HH���H��rH��H�������L���H���D���L�
��E�ź!H����
���L��8H��@D��(L�
��E���H��(�d
���L��H�� D��L�
��E�ŋ�H���6
���L���H��D���L�
)E�ōS3H����
���H�����H�H��H�@�+L��H���H�D$8H�����L$0H��(H�D$(�\$ L���7H�����g���H��H��rH��H������L���H��D���H�� H��rH��H���i��L��H�� D��H��@H��rH��H��(�8��L��8H��@D��(H���H��rH��H������L���H��D���L�
�E�ź!H��������L���H���D���L�
B�E���H�������L��xH���D��hL�
'�E�ŋ�H��h�f���L��XH��`D��HL�
YE�ōS3H��H�7���H���H����x�H�H��H�@�S
L��H���H�D$8�C�D$0H���H�D$(�|$ L��h�8H��H�!f���H��`�H;�rH��H��H����L��X�H��`D��HH���H;�rH��H��h���L��xH���D��hH���H;�rH��H����_��L���H���D���H��H;�rH��H����/��L��H�� D��L�
��E�ź(H�������L���H��D���H�BxH����f����L���H���D���H���H����=����L���H���D���H��H��������H�H��H�@��L��H��H�D$8D�l$0H���H�D$(H��p��L$ L����9H���膀���H���H;�rH��H������L���H���D���H���H;�rH��H�������L���H���D���H��H;�rH��H������L���H��D���H�� H;�rH��H�����L��8H��@D��(H�f�H��(����L�m�H�]�D�m�H��vH�M������L��8H��@D��(H�H�H��(����L��H�� D��H��H���{����H�H��H�@�

L��H��(H�D$8D�l$0H�E�H�D$(H��`��L$ L��(�:H����~���H�� H;�rH��H���|��L��H�� D��H��@H;�rH��H��(�L��L��8H��@D��(H�U�H;�rH��H�M��"��L�m�H�]�D�m�H��@H;�rH��H��(���H���	D� ��\$@�\$ D��D�Ë�H��`�3��H�D$@H�D$8�\$0H��`H�D$(H���H�D$ L��PL���H��`H����d&��H��	�A�D$ D�	E��H��p�H��P	�2��H��X���H��H��P	H����}��L��H�\$ D��XH��PI������M��tI����I��H��PH3���;H��$�H��`A_A^A]A\_^]�����H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@��H;���H�H��H�@��H������H;�uML��H�T$PH�����H�H� H�H�L$PH��tH��H���H�\$XH��H�t$hH�l$`H��@_�H�oH�L$ �@/��H���EH�L$ �[�H��H�L$ �/��H���EH�L$ �8��������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@��H;���L��H�L$ H�����H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H�������C�uH�H��H�@�~H�\$`H��H�l$hH�t$pH��P_�H�g�H�L$0�9.��H���EH�L$0�T����H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0���H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H�������C�uH�H��H�@���H�L$(H��t=����A�u2H�\$(H�H��H��h����C�uH�L$(H�H�@�K�H�_H��t5����C�u*H�H��H��'����C�uH�H��H�@�H��L�\$`I�[I�kI�s I��_�H�4�H�L$@��,��H�C�EH�L$@���H�\$H�t$WH��@I�H��I��I��H��H�@��H;�u8H�H��H�@��H���K���H;�u>H��H���W��H�\$PH�t$XH��@_�H�,�H�L$ �>,��H���EH�L$ �Y�H��kH�L$ �,��H���EH�L$ �6������H�\$H�t$WH��@I�H��I��I��H��H�@��H;�u8H�H��H�@��H��蛀��H;�u>H��H�����H�\$PH�t$XH��@_�H�|�H�L$ �+��H��EH�L$ ��H�AkH�L$ �k+��H��EH�L$ �������H�\$WH��PH��I9��I�����H�T$`H�D$`H�L$ ���H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H������C��uH�H��H�@��H�\$hH��H��P_�H�W�H�L$0�*��H�&�EH�L$0������H��(eH�%X�
M�H�4H�ȋ
9ϜHH���EH��(�H�
��H�<�=��H�u�H�
���<:H�
��H�;����H��H�XH�HWH��H��M��D��H�T$ H�H �����!H�T$ H���\��H���H;8t5H�c8H�OpH��tH�H��H���H�C8H��H��$�H�Ġ_�H��H�L$8��H��H�
�[F����L��H��H�L$X����L���H��H�L$x����H��H�L$ ���H�́EH�L$ �z��H��HH�AL��L�@0I�@I+H��;�})H���I���H+�H��H;�v	H��H��H��B/���H�JH�L$ ��!��H���EH�L$ ����H��(�
��HeH�%X�4H�ȋ
9/�HH��HH��(�H�
�H�M:�=�H�u�W���H�x��2H�H�@H�@f�@H�ϚHH�
 ��[8�H�
˚H�9�������������H�\$H�t$WH��@I�H��I��I��H��H�@�8H;�u^H�H��H�@�#H����|��H;�uH��H���[H�\$PH��H�t$XH��@_�H��gH�L$ ��'��H�HEH�L$ ���H��H�L$ �'��H�%EH�L$ �����H�\$UVWATAUAVAWH��$p���H��H��EH3�H���H��H��H�L$8W�E�H�zA�H��t	�DoH�zL�rL�u�H�}�H��PH��HDžH��PH��L��H��TH�� L��(H��XH��0HDž8H��dH��@HDžH�P�`I���A� H��P�D��0H�T$8H���ML�8H� L�}H�L$8H��tH�A��H�@�u�H���H�/kA���HE�3�A��H����!A��H���踞���3�D�BHH����!H���H���W��D$0L�D$ H�T$0H����\��H�EhH�D$(H�UhH���*���L��A�L�m�H�D$x�j��D$h�c�f�D$l�D$nH�T$hH����<��H���H�D$(I��0H����ɱ��L��L�m�H�E�����E�����E��E�H�U�H�������L�m�A�L�m�����E�����E��E�E��H�U�H����=S��E�e
L�d$XL�d$P�w��D$@�s��D$H�l�f�D$L�c��D$N�D$OL��H�T$@H����,n��L�e�L�m؋:��EȊ5��E�E3�D�m��A��H�U�H����F��H�E H�D$(H�ֆH�E L�D$!H���H�M(�����L�mL�eD�m�L�
aE��A�T$	H�M����L�E H�U�I���;���I���D��H���I��H���H��H�����Y���H���H���H+�H����W�f��L���H��������H���N����H��hH��H���3�I��SI��H�@���H��t5����G�u*H�H��H��_�����W�uH�H��H�B�D�H��H���H3���.H��$�H�ĐA_A^A]A\_^]����H��HL��L��;�0}?H�AH�H0I���H�QH+I���H+�H��H��I�H;�v	H��H��H���(���H�DzH�L$ ���H�;|EH�L$ ��H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@�C�H���;���H;�u#L��H��H����H�\$PH�l$XH�t$`H��@_�H��aH�L$ ��!��H�cyEH�L$ ��@SH��@H�����H9u	H��H��@[�H�ʼnH�L$ �!��H�$yEH�L$ ��
��H�\$WH��H�$�EH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@�TK�H�L$xH��tYH�H��H�@�U�H�H�L$xH��tH�H�T$@H;���H�@ �0�H��H��$�H3���,H��$�H�Đ_��
�H�O�H�L$(�� ��H�VxEH�L$(��	����@SH��@H�BH9Hu;L��H�L$PH�T$ E3��k��~KH�T$ H�����H���iKH;��H��@[�H�އH�L$ �h ��H��wEH�L$ �	���@SH��H�BL��H9HuJH�T$@I����X�d$0H��HH�T$(�L$ �JH�T$ H���s��H����JH;��H��[�H�Y�H�L$ ����H�`wEH�L$ ���H��H�XH�hH�p H�HWH�� I��H��H���X�*H��H�D$0H��t,W���C�CH�<
H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H����)H��H�D$0H��t)W���C�CH�S{H�H�KH����3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H�����)H��H�D$0H��t,W���C�CH�	H�H�KL��H���
����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H����8�H��H�L�wI�I��H�@�	�H������H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H��������C�uH�H��H�@����H��H�\$XH�t$`H�|$hH��@A^�H�1]H�L$ �[��H��tEH�L$ �v��L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��Y@H�~H�H�[H��t9����C��u,H�H��H��������C��uH�H��H�@���H��H�\$PH��0_����H�\$H�L$WH��@H��H���v��H��vH�LJ��?Ƈ�蕻��H9uH��H�\$XH��@_�H�;�H�L$ �U��H��sEH�L$ �p����H��H�X UVWATAUAVAWH��X���H��p)p�H���EH3�H��PI��H��L��H�M�I���R���D��L��H��I������H��I�$H�� H����H���H�� H����^�H���H��$H���H���H��(H��D�v�L��H��4H��D�~�L��W�� �0I�T$pH� D�FH�� �3�H�����H��D��H����7SH��PH���SH�E H�E�H�u�H�E H�E�H�]�H�E$H�E�H�]�H�E(H�EL�uH�E4H�EL�}(��)E (��)M0E3�L�m��sH�u�D�m�L�
��E�ō^��H�M��h��L�m�H�u�D�m�L�
��E��E�wA��H�M��A��L�l$pH�t$xD�l$`L�
z�E�ŋ�H�L$`���L�l$PH�t$XD�l$@L�
dE�ō^9��H�L$@����H�H��H�@�!�L��H�E�H�D$8H��hH�D$0H�E�H�D$(H���H�D$ L�L$`�S\H�L$@����H�T$XH��r
H��H�L$@��L�l$PH�t$XD�l$@H�T$xH��r
H��H�L$`�r�L�l$pH�t$xD�l$`H�U�H��rH��H�M��M�L�m�H�u�D�m�H�U�H��rH��H�M��+�L�m�H�u�D�m�L�
x�E��I��H�M����L�l$PH�t$XD�l$@L�
�E��I��H�L$@����L�l$pH�t$xD�l$`L�
K�E��I��H�L$`���L�m�H�u�D�m�L�
�E��H��H�M����H�H��H�@���L��H�E�H�D$8H��hH�D$0H�D$@H�D$(H���H�D$ L�L$`��H�M��2���H�U�H��rH��H�M��/�L�m�H�u�D�m�H�T$xH��r
H��H�L$`��L�l$pH�t$xD�l$`H�T$XH��r
H��H�L$@���L�l$PH�t$XD�l$@H�U�H��rH��H�M���D��0E��E����W�A��A��H����H��A�H��P�OI�L$h����+��H�����H��A�H����OL�m�H�u�D�m�L�
��E�źH�M��'��L�l$pH�t$xD�l$`L�
��E�źH�L$`���H�t$XH�D$P
����D$@����D$H����D$LD�l$ML�m�H�u�D�m�H�L��E�źHH�M����H�H��H�@���L��H�E�H�D$8�D$0H�D$`H�D$(H�����L$ L�L$@��H�M��c���H�U�H��rH��H�M��K�L�m�H�u�D�m�H�T$XH��r
H��H�L$@�'�L�l$PH�t$XD�l$@H�T$xH��r
H��H�L$`��L�l$pH�t$xD�l$`H�U�H��rH��H�M����L�m�H�u�D�m�L�
h�E�źH�M����L�l$pH�t$xD�l$`L�
��E�źH�L$`�~��H�t$XH�t$P�{��D$@�w��D$H�p�f�D$L�g��D$ND�l$OL�m�H�u�D�m�L��E�źHH�M�� ��H�H��H�@�O�L��H�E�H�D$8�D$0H�D$`H�D$(H����L$ L�L$@��H�M��9b���H�U�H��rH��H�M����L�m�H�u�D�m�H�T$XH��r
H��H�L$@��L�l$PH�t$XD�l$@H�T$xH��r
H��H�L$`��L�l$pH�t$xD�l$`H�U�H��rH��H�M��Z�L�m�H�u�D�m�L�
��E�źH�M��&��L�l$pH�t$xD�l$`L�
/�E�źH�L$`���H�t$XH�t$P�*��D$@�&��D$H��f�D$L���D$ND�l$OL�m�H�u�D�m�L��E�źHH�M����H��H�H��H�@���L��H�E�H�D$8�D$0H�D$`H�D$(�C�D$ L�L$@��H�M��`���H�U��H;�rH��H�M��D�L�m�H�u�D�m�H�T$XH;�r
H��H�L$@�!�L�l$PH�t$XD�l$@H�T$xH;�r
H��H�L$`��L�l$pH�t$xD�l$`H�U�H;�rH��H�M����L�m�H�u�D�m�L�
4�E��H��H�M����L�l$pH�t$xD�l$`L�
&�E�źH�L$`�|��H�t$XH�t$P�!��D$@���D$H��f�D$L�
��D$ND�l$OL�m�H�u�D�m�L�
��E�źHH�M����H�E��A����H�H��H�@�=�L��H�E�H�D$8�\$0H�D$`H�D$(H����L$ L�L$@��H�M��+_���H�U�H��rH��H�M���L�m�H�u�D�m�H�T$XH��r
H��H�L$@��L�l$PH�t$XD�l$@H�T$xH��r
H��H�L$`�q�L�l$pH�t$xD�l$`H�U�H��rH��H�M��L�H���H�EPH�EXH���H�E`�H�MhH���H�EpH�MxH���H���HDž�H���H���HDž�W�����I�T$pH��(D�AH����GL�m�H�u�D�m�L�
\�E�źH�M����L�l$PH�t$XD�l$@L�
��E�źH�L$@�Z��L�l$pH�t$xD�l$`H�+�H�L$`�����L�m�H�u�D�m�H���H�M�����H�H��H�@�K�L��H�E�H�D$8H��hH�D$0H�D$@H�D$(H��hH�D$ L�L$`��H�M������H�U�H��rH��H�M�����L�m�H�u�D�m�H�T$xH��r
H��H�L$`���L�l$pH�t$xD�l$`H�T$XH��r
H��H�L$@�x��L�l$PH�t$XD�l$@H�U�H��rH��H�M��S��L�m�H�u�D�m�H�8�H�M������L�l$PH�t$XD�l$@H�0�H�L$@����L�l$pH�t$xD�l$`H��H�L$`����L�m�H�u�D�m�H�1�H�M��h���H���H���GH��H�H��H�@���L��H�E�H�D$8�t$0H�D$@H�D$(��x�D$ L�L$`��H�M��$A���H�U��H;�rH��H�M��]��L�m�H�u�D�m�H�T$xH;�r
H��H�L$`�:��L�l$pH�t$xD�l$`H�T$XH;�r
H��H�L$@���L�l$PH�t$XD�l$@H�U�H;�rH��H�M�����L�m�H�u�D�m�H��H�M��d���L�l$PH�t$XD�l$@H�%�H�L$@�C���L�l$pH�t$xD�l$`H�$�H�L$`�"���L�m�H�u�D�m�H��H�M�����H�H��H�@���L��H�E�H�D$8H���H�D$0H�D$@H�D$(H�EXH�D$ L�L$`��H�M�����H�U�H;�rH��H�M����L�m�H�u�D�m�H�T$xH;�r
H��H�L$`����L�l$pH�t$xD�l$`H�T$XH;�r
H��H�L$@����L�l$PH�t$XD�l$@H�U�H;�rH��H�M����L�m�H�u�D�m�H�@�H�M�����L�l$PH�t$XD�l$@H�P�H�L$@����L�l$pH�t$xD�l$`H�G�H�L$`�����L�m�H�u�D�m�H���H�M�����H�H��H�@�G�L��H�E�H�D$8�D$0H�D$@H�D$(H�E�H�D$ L�L$`��H�M��U���H�U�H;�rH��H�M�����L�m�H�u�D�m�H�T$xH;�r
H��H�L$`���L�l$pH�t$xD�l$`H�T$XH;�r
H��H�L$@�~��L�l$PH�t$XD�l$@H�U�H;�rH��H�M��Z��L�m�H�u�D�m�H�W�H�M������L�l$PH�t$XD�l$@H�g�H�L$@����L�l$pH�t$xD�l$`H�^�H�L$`����L�m�H�u�D�m�H�8�H�M��o���H�H��H�@���L��H�E�H�D$8�D$0H�D$@H�D$(H�E�H�D$ L�L$`��H�M�����H�U�H;�rH��H�M��~��L�m�H�u�D�m�H�T$xH;�r
H��H�L$`�[��L�l$pH�t$xD�l$`H�T$XH;�r
H��H�L$@�5��L�l$PH�t$XD�l$@H�U�H;�rH��H�M����L�m�H�u�D�m�H�n�H�M�����L�l$PH�t$XD�l$@H�f�H�L$@�d���L�l$pH�t$xD�l$`H�e�H�L$`�C���L�m�H�u�D�m�H���H�M��&���H�Ep�H���+��A����H�H��H�@���L��H�E�H�D$8H�����L$0H�D$@H�D$(�\$ L�L$`��H�M��U���H�U�H��rH��H�M����L�m�H�u�D�m�H�T$xH��r
H��H�L$`���L�l$pH�t$xD�l$`H�T$XH��r
H��H�L$@����L�l$PH�t$XD�l$@H�U�H��rH��H�M������X��H���L�m��H�]�D�m�H�9�H�M�����L�l$PH�\$XD�l$@H�)�H�L$@�����L�l$pH�\$xD�l$`H� �H�L$`�����L�m�H�]�D�m�H�r�H�M�����H�H��H�@�8�L��H�E�H�D$8H�����L$0H�D$@H�D$(��D$ L�L$`��H�M��$U���H�U�H��rH��H�M����L�m�H�]�D�m�H�T$xH��r
H��H�L$`���L�l$pH�\$xD�l$`H�T$XH��r
H��H�L$@�j��L�l$PH�\$XD�l$@H�U�H��rH��H�M��E��L�m�H�]�D�m�H��H�M�����L�l$PH�\$XD�l$@H��H�L$@����L�l$pH�\$xD�l$`H�	�H�L$`�w���L�m�H�]�D�m�H�#�H�M��Z���H���H�H��H�@���L��H�E�H�D$8�C�D$0H�D$@H�D$(�F�D$ L�L$`��H�M���S���H�U�H��rH��H�M��d��L�m��H�u�D�m�H�T$xH��r
H��H�L$`�;��L�l$pH�t$xD�l$`H�T$XH��r
H��H�L$@���L�l$PH�t$XD�l$@H�U�H��rH��H�M�����A��E;��:�I��H��PH3��L��$pI�[XA(s�I��A_A^A]A\_^]��H�\$H�T$UVWH��0H��H��W��D$ H�JH��t�AH�JH�H�D$ H�L$(H�T$ H���1�H��H�H�{H��t�GH�{H�CH���H�AH+H����0��H��t5����G�u*H�H��H��<�����G�uH�H��H�@�!�f��4H�{H��t�GH�{H�C�����8H��t5����G�u*H�H��H��������G�uH�H��H�@���H�{H��t�GH�{H�C�����<H��t6����G�u+H�H��H��~�����G�uH�H��H�@�c��H�~H��t5����G�u*H�H��H��?�����G�uH�H��H�@�$�H��H�\$`H��0_^]�H�\$UVWATAUAVAWH�l$�H�� H��H��H�M����H�	^H�L���L�}�L��xL�e�L��HL�m�H��H�D$@L���H�E�H�D$ L�M�L�E�H�T$@I�����H�d$pH�D$x�D$`H��H�L$`�����H���H�t$@H�fH�fH�T$`H����3�H�F0H�F8H�F@H�T$xH��rH��H�L$`����3�H�D$pH�D$x�D$`ǃ�?�����D$@H�T$@H���G������D$@H�T$@I���,������D$@H�T$@I���������D$@H�T$@I������H���H�L$@L��H���E3�L�9L�yL�yD�L$0藁�����������������H���H�M�H;�t@PH`�� H��PH�M�H;�t@PH`�P�`H���H�M�H;�t@PH`D9�p����@��t��DD9�|����H����H��PH�M�H;�t@PH`H��H����������������D9�(�������,�����@����D��D��xE��tdI�H�PL�H��I+�H��H���L�@L�I��I+�H��H;�t	M+�I�� s*I+�H��L;�uH��H��$pH�� A_A^A]A\_^]�H���H�L$@���H��WEH�L$@���������������@SH�� H��H��H���t
�X��
H��H�� [������@SH�� H���H��H���t
���
H��H�� [��H�\$WH�� H�YH��t�CH�YH�AH���H�AH+H��H��@��H��t9����C��u,H�H��H��������S��uH�H��H�B���H�\$0@��H�� _�H�\$H�t$WH��@I�H��I��I��H��H�@�x�H;�u;H�H��H�@�c�H���[���H;�uAH��H���[H�\$PH��H�t$XH��@_�H��dH�L$ ����H��VEH�L$ �&��H��>H�L$ ���H�eVEH�L$ �����H�\$UVWATAUAVAWH��$����
H+�H�L�EH3�H���L��L��3��t$@W�D$PH�BD�nH��t	�DhH�BH�ZH�\$`H�\$PH�D$X3�I�����H��E��H��`�e63�I���C��H��E��H��`�I6H���
H��`
A�L��h
H���
H��p
L��x
H���
H���
L���
H���
H���
HDž�
H���
H���
HDž�
W���
��
H��(A�D��H���
��H��0
H���	L���	H��0
H���	L���	H��4
H��
L��
H��8
H��
HDž
H��D
H�� 
HDž(
W��0
�@
H���D��H��0
�k�H���	H��`	L��h	H���	H��p	L��x	H���	H���	L���	H���	H���	HDž�	H���	H���	HDž�	W���	��	H��D��H���	���H���L�hL+(I��H��0H���
L���
H��0H���
�W�H���
H��4H��H��H��8H��HDžH��DH�� HDž((��)�0(��)�@H��`H�L$HI�~H��E3�H��t�WI�~H��I�FH��0�t!H��t�SI�^I�F��H��0H�D$H�H�\$`@��t=H��t8����C;�u,H�H��H��R�����C��uH�H��H�@�5�H��t9����G��u,H�H��H�������G��uH�H��H�@���L���H�� D��L�
�oE�ǍVH������H�u�H�D$x����D$h����D$lD�|$mL�}H�u D�}L�
��E�Ǎ~��H�M�9���L�}�H�uD�}�L�
��E�Ǎ^9��H�M�����I�I��H�@�C�L��H��H�D$8D�|$0H�D$hH�D$(H��
��L$ L�M�V'H�M��h���H�UH;�rH��H�M�����L�}�H�uD�}�H�U H;�rH��H�M���L�}H�u D�}H�U�H;�r
H��H�L$h���L�|$xH�u�D�|$hH�� H;�rH��H���V��L��8H��@D��(L�
"oE�Ǻ(H��(����H�u�H�E��3��E��.��E�D�}�L�}XH�u`D�}HL�
x�E��H��H�MH�����L�}8H�u@D�}(L�
�E��H��H�M(����H��
I�I��H�@���L��H��(H�D$8D�|$0H�E�H�D$(�C�D$ L�MH�7H�M(�f���H�U@H;�rH��H�M(�Z��L�}8H�u@D�}(H�U`H;�rH��H�MH�9��L�}XH�u`D�}HH�U�H;�rH��H�M����L�}�H�u�D�}�H��@H;�rH��H��(����L��8H��@D��(L�
u�E�Ǻ+H��(����H�u�H�E��Χ�E��ɧ�E�D�}�L���H���D���L�
R�E�ǺH����^���L�}xH���D�}hL�
��E�ǻH��H�Mh�4���I�I��H�@�c�L��H��(H�D$8D�|$0H�E�H�D$(H���	��L$ L����S�H�Mh�e���H���H;�rH��H�Mh����L�}xH���D�}hH���H;�rH��H������L���H���D���H�U�H;�rH��H�M����L�}�H�u�D�}�H��@H;�rH��H��(�b��L��XH��`D��HL�
.�E�Ǻ,H��H�"���H�u�H�E��?��EȊ:��E�D�}�L���H���D���L�
�E�ǺH��������L���H���D���L�
�E��H��H�������H���	I�I��H�@���L��H��HH�D$8D�|$0H�E�H�D$(�C�D$ L����9H����c���H���H;�rH��H����@��L���H���D���H���H;�rH��H������L���H���D���H�U�H;�rH��H�M�����L�}�H�u�D�}�H��`H;�rH��H��H���L��xH���D��hL�
ӥE�Ǻ!H��h����L��8H��@D��(L�
ʥE�ǻ��H��(�L���L��H�� D��L�
��E�Nj�H������L���H��D���L�
a�E�ǍS2H��������H���
��I�I��H�@��L��H��hH�D$8H�����L$0H��(H�D$(�\$ L���:H�����$���H��H;�rH��H������L���H��D���H�� H;�rH��H���S��L��H�� D��H��@H;�rH��H��(�#��L��8H��@D��(H���H;�rH��H��h��L���H���D���H��H����[����L���H���D���H�6�H����2����L��xH���D��hH�%�H��h�	����L��XH��`D��HH���H��H����H���H���
�x�I�I��H�@�\�L��H���H�D$8�C�D$0H���H�D$(�|$ L��h�;H��H�*#���H��`�H;�rH��H��H����L��XH��`D��HH���H;�rH��H��h���L��xH���D��hH���H;�rH��H����m���L���H���D���H���H;�rH��H����=���L���H���D���H�٢H���襼���L���H��D���H�X5H����|����L���H���D���H���H����S����L���H���D���H���H��H����'����I�I��H�@���L��H���H�D$8D�|$0H���H�D$(H���
��L$ L����<H����=���H���H;�rH��H����%���L���H���D���H���H;�rH��H������L���H���D���H��H;�rH��H����ž��L���H��D���H���H;�rH��H���蕾��L���H���D���H�y�H�������L��XH��`D��HH��3H��H�Ժ���L��8H��@D��(H�O�H��(諺���L��H�� D��H��H��膺���I�I��H�@��L��H���H�D$8D�|$0H��HH�D$(H��p
��L$ L��(�=H���;���H�� H;�rH��H��脽��L��H�� D��H��@H;�rH��H��(�T���L��8H��@D��(H��`H;�rH��H��H�$���L��XH��`D��HH���H;�rH��H�������h�����L���H��D���H�ƠH����J����L��xH���D��hH��H��h�%����I�I��H�@���L��L����EH��h����H���H;�rH��H��h�M���L��xH���D��hH��H;�rH��H�������9�h��
L��H�� D��H�]�H���y����L���H���D���H�t�H����P����L���H���D���H�[�H����'����L���H���D���H��H��������I�I��H�@���L��H��H�D$8�D$0H���H�D$(L�l$ L����IH���虦���H���H;�rH��H�������L���H���D���H���H;�rH��H����պ��L���H���D���H���H;�rH��H���襺��L���H���D���H�� H;�rH��H���u���L��8H��@D��(H�)�H��(�ݶ���L��8H��@D��(H�؞H��(贶���L��H�� D��H��`H��苶���L���H��D���H��H����f����I�I��H�@���L��H��(H�D$8A�D�l$0H��(H�D$(H��
��L$ L��A�UIH�����7���H��H;�rH��H����_���L���H��D���H�� H;�rH��H���/���L��H�� D��H��@H;�rH��H��(���L��8H��@D��(H��@H;�rH��H��(�ϸ��L��XH��`D��HH���H��H�7����L���H���D���H�2�H��������L��xH���D��hH�y_H��h����L��XH��`D��HH��H��H����H��
I�I��H�@�H�L��H��HH�D$8D�l$0H���H�D$(�C�D$ L��h�KH��H�16���H��`H;�rH��H��H轷��L��XH��`D��HH���H;�rH��H��h荷��L��xH���D��hH���H;�rH��H����]���L���H���D���H��`H;�rH��H��H�-���L��xH���D��hH�9�H��h蕳���L���H��D���H���H����l����L���H���D���H���H����C����L���H���D���H���H��������I�I��H�@���L��H��hH�D$8D�l$0H���H�D$(H���	��L$ L����LH����4���H���H;�rH��H�������L���H���D���H���H;�rH��H������L���H���D���H��H;�rH��H���踵��L���H��D���H���H;�rH��H��h舵��L���H���D���H���H������L��XH��`D��HH��H��H�DZ���L��8H��@D��(H�2�H��(螱���L��H�� D��H�A�H���u����H���	I�I��H�@���L��H���H�D$8D�l$0H��HH�D$(�C�D$ L��(�MH����2���H�� H;�rH��H���r���L��H�� D��H��@H;�rH��H��(�B���L��8H��@D��(H��`H;�rH��H��H����L��XH��`D��HH���H;�rH��H������H������#�}	A+̓��Aͅ���L���H���D���H��H����'����L��xH���D��hH���H��h����I�I��H�@���L��L����OH��h����H���H;�rH��H��h�&���L��xH���D��hH���H;�rH��H������H����#�}	A+̓��Aͅ���L���H���D���H�l�H����@����L���H���D���H���H��������I�I��H�@���L��L����QH�������H���H;�rH��H����?���L���H���D���H���H;�rH��H�������I�NH��t	�DiI�NI�F��@H��t�y�������L���H��D���H�ŗH����I����L���H���D���H���H���� ����I�I��H�@���L��L����TH�������H���H;�rH��H����H���L���H���D���H��H;�rH��H�������L���H���D���H���H���耭���L���H��D���H���H����W����W���H���O:��H�p�H���,����H���H��H�����3�H����A9��H��I�I��H�@���L��H���H�D$8�D$0H���H�D$(��D$ L���VH��H�
-���H��H�h���H���[���H����N���H����A��H�r�H����n����H���H����Z����H���H����F����H���H��h�2����I��H����Z8��H��I�I��H�@���L��H���H�D$8�D$0H���H�D$(��D$ L����WH��h�&,���H��h����H����t���H����g���H����Z��3�H�����7��D�83�H����7��D�03�H����7���0I��H����7�����H���H��`豾��H���\$ D��E��A��H���
���H�|$ �~3�H����E7��D�8E��H�t$`��H�H�U�H��h����H�i�H����͢���H�E�H���蹢���H��H���詢���H�ƀ3�H����6��H��I�H�AI��$�L��H��hH�D$8�d$0H���H�D$(��D$ L����dH�����L���H�������H��������H��������H��h����H�s�H�������H���H�������H���H���ס���H���H��H�á������H����5��H��I�H�AI��@�L��H���H�D$8�d$0H���H�D$(��D$ L���WdH��H�K���H��H����H���
���H�������H���������H���^5��H��3�H���Q5��H��3�H����@5����L$ D�E�NjH���
���H��`����H���
�%��t$@H�D$@H�D$8@�t$0H��`	H�D$(H���	H�D$ L��`
L���
H��pH���������H��
�4��H��3�H��
�4��H��3�H����4����L$ D�E�NjH��`
���H9�`un��hue3�H����S4������}+΃�΅�uB3�H����04���8u/H��`����H��H��`
H����r��H�\$ A��.H��`���H��`
H��H����Rr��H�\$ D��hL��H�T$HI���^����H�L$P���I��H���H3���H��$@H���A_A^A]A\_^]���������������H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@���H;���H�H��H�@���H���z��H;�uML��H�T$PH���ʹ��H�H� H�H�L$PH��tH��H��U�H�\$XH��H�t$hH�l$`H��@_�H��H�L$ ���H��2EH�L$ �+��H��@H�L$ ����H�j2EH�L$ ����������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@���H;���L��H�L$ H���˻��H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H��i�����C�uH�H��H�@�N�H�\$`H��H�l$hH�t$pH��P_�H�7@H�L$0�	��H��1EH�L$0�$�����H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0�Ϲ��H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H��}�����C�uH�H��H�@�b��H�L$(H��t=����A�u2H�\$(H�H��H��8�����C�uH�L$(H�H�@���H�_H��t5����C�u*H�H��H��������C�uH�H��H�@�ܰH��L�\$`I�[I�kI�s I��_�H�?H�L$@���H�0EH�L$@��H�\$H�t$WH��@I�H��I��I��H��H�@�x�H;�u8H�H��H�@�c�H���[w��H;�u>H��H���k���H�\$PH�t$XH��@_�H��=H�L$ ���H��/EH�L$ �)��H��H�L$ ����H�h/EH�L$ ��������H�\$H�t$WH��@I�H��I��I��H��H�@�ȯH;�u8H�H��H�@���H���v��H;�u>H��H���+���H�\$PH�t$XH��@_�H�L=H�L$ �^��H��.EH�L$ �y��H�H�L$ �;��H��.EH�L$ �V�������H�\$WH��PH��I9��I���2���H�T$`H�D$`H�L$ 買��H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H��Ѯ����C��uH�H��H�@���H�\$hH��H��P_�H�'=H�L$0�y��H��-EH�L$0蔿����H��(eH�%X�
kH�4H�ȋ
9�HHH��iEH��(�H�
�HH����=�HH�u�H�
���H�
�HH�P�����H��H�XH�HWH��H��M��D��H�T$ H�H 袧���H�T$ H���,���H���H;8t5H�c8H�OpH��tH�H��H����H�C8H��H��$�H�Ġ_�H��=H�L$8���H��H�
�F袼��L��H��H�L$X�n����L��=H��H�L$x�Y����H��H�L$ �{���H��-EH�L$ �J���H��(�
�iHeH�%X�4H�ȋ
9�GHH�jGHH��(�H�
nGH���=bGH�u�W��EGH�x�+�H�H�@H�@f�@H�#GHH�
�����H�
GH������������H�\$H�t$WH��@I�H��I��I��H��H�@�x�H;�u^H�H��H�@�c�H���[s��H;�uH��H���[H�\$PH��H�t$XH��@_�H��H�L$ ���H��+EH�L$ �&��H�N9H�L$ ����H�e+EH�L$ �����H�\$UVWATAUAVAWH��$����H��@H�RnEH3�H��0H��H��H�L$8W�E�H�z�H��t�OH�zL�zL�}�H�}�H��0H���HDž�H��0H���H���H��4H��H��H��8H��HDžH��DH�� A�L��(�0�@I���E�uE��H��0�M�D��0H���H��`HDžhH���H��pA�M�H��xH���H���H���H���H���HDž�H���H���L���W�����I��E��H�����H�T$8H���]�L�0E3�L�(L�uxH�L$8H��tH�A�UH�@��H�N�H��E8�@HE�3�A��H��0�X��H��0�WJ���3�D�BHH����4�H�%4H����d$0L�D$(H�T$0H�������H��H�D$ H��H�����]��L��H�E�H�D$x�	H�D$h�Hf�D$lD�l$nH�T$hH����ۅ��H��0H�D$ I���H��0�h]��L��H�E�H�E��I��E��F��E�D�m�H�U�H�������H�E�A�L�m��?��E��:��E��E�E��H�U�H�������H��PH�D$ H��PH��`��\���H�EH�EH�dilationH�M�E3�D�eL��H�U�H������A�E
H�D$`H�D$X����D$H����D$P���f�D$T����D$VD�d$WL��H�T$HH����k��A�]
H�]�L�m؋u��EȊp��E�D�e��A�DH�U�H���脃��E8�H�'3�E�ECH����
�L�-�1L���D!d$,L�D$)H�T$,H����ؐ���H��pH�D$ I��PH��p�[���H�]0H�E(�EsizeD�eL��H�UH����Ƀ��H���H�D$ L���L�D$*H���H����{���L�eHH�]PD�e8L�
��E�čSH�M8蛡���L���H�U8H����ߧ���H��H��H+�H���x���W�f�L��H����ަ���L�-�0H���H�D$@L���L�D$+H���H�����z���L�ehH�]pD�eXL�
��E�ĺH�MX���L���H�UXI���9���I���D��H��@I��H���H��H��H�����H���H���H+�H��觜��W�f��L���H����
����H����Lf���H��H���H����1��I��SI��H�@�}��H��t5����G�u*H�H��H��]�����W�uH�H��H�B�B�H��H��0H3����H��$�H��@A_A^A]A\_^]��H��8H�H�"H�D$ H�BH�bH�T$ H�D$(��H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@���H���(H;�u#L��H��H���XH�\$PH�l$XH�t$`H��@_�H�0H�L$ �Z��H��#EH�L$ �u��@SH��@H���R(H9u	H��H��@[�H�94H�L$ ���H��#EH�L$ �6���H�\$WH��H��fEH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@��!�H�L$xH��tYH�H��H�@�ɣH�H�L$xH��tH�H�T$@H;���H�@ ���H��H��$�H3��A�H��$�H�Đ_��o��H��2H�L$(�M��H��"EH�L$(�h�����@SH��@H�BH9Hu;L��H�L$PH�T$ E3��ߜ���"H�T$ H���iz��H����!H;��H��@[�H�R2H�L$ ����H�Y"EH�L$ ����@SH��H�BL��H9HuJH�T$@I���]�d$0H��HH�T$(�L$ �!H�T$ H����y��H���k!H;��H��[�H��1H�L$ �W��H��!EH�L$ �r���H��H�XH�hH�p H�HWH�� I��H��H���@��H��H�D$0H��t,W���C�CH�X�H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H���H��H��H�D$0H��t)W���C�CH���H�H�KH���3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H�����u�H��H�D$0H��t,W���C�CH� �H�H�KL��H���
����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H���P��H��H�L�wI�I��H�@�}�H���q$H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H��1�����C�uH�H��H�@���H��H�\$XH�t$`H�|$hH��@A^�H��H�L$ ����H�LEH�L$ ����L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S����H�ҲH�H�[H��t9����C��u,H�H��H��r�����C��uH�H��H�@�U�H��H�\$PH��0_����H�\$ UVWATAUAVAWH��$����H��`H��aEH3�H��PM��H��L��H���I���<���D��M��H��I���+����H�s�I�EI���I���H+�H��E3�H����A�H���H�	�I���I���H+�H��H����A�H��PH�I�~�I�_H��t�CI�_I�G@��(A��H��t9A����CA�u,H�H��H��9�A����CA�uH�H��H�@��I�_H��t�CI�_I�G@��)H��t9A����CA�u,H�H��H��ߝA����CA�uH�H��H�@�@����HL���D���H���@��� L�u�H�u�D�u�L�
��E�ƍ~��H�M��2����L�t$pH�t$xD�t$`L�
��E�ƍVH�L$`�����L�t$PH�t$XD�t$@L�%��M��E�ƍV+H�L$@����H���I�I��H�@�	�L��H���H�D$8�C�D$0H�E�H�D$(H����L$ L�L$`�VKH�L$@�����H�T$XD�vI;�r
H��H�L$@����3�H�\$PH�t$X�\$@H�T$xI;�r
H��H�L$`�X���H�\$pH�t$x�\$`H�U�I;�rH��H�M��5���H�]�H�u��]�H���I;�rH��H�������I���I���H+�H��H����A�H���H�I��H���H������H�]�H�u��]�L�
��D�û��H�M�蔖���H�e�H�u��E�L�
w�E3���H�M��q����H�e�H�u��E�M��E3�A�X:��H�M��N����I�I��H�@�}�L��H���H�D$8H�����L$0H�E�H�D$(H����L$ L�M��S$H�M��c���H�U�I;�rH��H�M����3�H�E�H�u��E�H�U�I;�rH��H�M��ӑ��3�H�E�H�u؈E�H�U�I;�rH��H�M�豑��3�H�E�H�u��E�H���I;�rH��H���艑��3�H�uxH�Ep�E`H�EPH�uX�E@L�
j�D��H��H�M@�K����H�e0H�u8�E L�
^�E3�H��H�M �'����H�eH�u�EM��E3�E��H��H�M�����H��H��I�I��H�@�%�L��H�E`H�D$8�C�D$0H�E@H�D$(�G�D$ L�M A�T$_H�M����H�UI;�rH��H�M誐��L�eH�uD�eH�U8I;�rH��H�M 艐��L�e0H�u8D�e H�UXI;�rH��H�M@�h���L�ePH�uXD�e@H�UxI;��PH�M`�>L�uH�uD�uL�
��E�ƿ��H�M�����L�u0H�u8D�u L�
��E�ƍWH�M ����L�uPH�uXD�u@L�%y�M��E�ƍ_)��H�M@�œ���I�I��H�@��L��H���H�D$8H�����L$0H�EH�D$(H����L$ L�M �WTH�M@��
���H�UXD�w�I;�rH��H�M@�h���H�ePH�uX�E@H�U8I;�rH��H�M �F���H�e0H�u8�E H�UI;�rH��H�M�$���H�eH�u�EH���I;�rH��H������I���I���H+�H��H����
A�H���H�I�H���3�H������H�E�H�u��E�L�
�D��H��H�M�胒���H�e�H�u��E�L�
��E3�A�PH�M��^����H�e�H�u��E�M��E3�H��H�M��>����H���I�I��H�@�f�L��H���H�D$8�C�D$0H�E�H�D$(H����L$ L�M��iH�M��P���H�U�I;�rH��H�M����3�H�]�H�u��]�H�U�I;�rH��H�M����H�]�H�u؈]�H�U�I;�rH��H�M�蠍��H�]�H�u��]�H���I;�rH��H����z���H�uxH�]p�]`H�\$PH�t$X�\$@L�
Z�D��H��H�L$@�:����H�\$pH�t$x�\$`L�
L�D��H��H�L$`�����H�]�H�u��]�M��D�ú:H�M����H��H��I�I��H�@��L��H�E`H�D$8�C�D$0H�D$@H�D$(�G�D$ L�L$`�jH�M�����H�U�I;�rH��H�M�蘌��3�H�]�H�u��]�H�T$xI;�r
H��H�L$`�t���H�\$pH�t$x�\$`H�T$XI;�r
H��H�L$@�O���H�\$PH�t$X�\$@���@���H���L���D���L�uH�uD�uL�
k�E�ƺH�M����L�u0H�u8D�u H�^�H�M �m����L�uPH�uXD�u@L�%Y�I��H�M@�M����H���H��I�I��H�@�ΔL��H���H�D$8�C�D$0H�EH�D$(�G�D$ L�M �oH�M@�	���H�UXA�I;�rH��H�M@�J���3�H�]PH�uX�]@H�U8I;�rH��H�M �(���H�]0H�u8�] H�UI;�rH��H�M����H�]H�u�]H���I;�rH��H������I���I���H+�H��H����A�H���H�I���H�]pH�ux�]`H�=��H��H�M`�"����H�]�H�u��]�H�O�H�M������H�]�H�u؈]�H�K�H�M�����H�]�H�u��]�I��H�M��҆���I�I��H�@�a�L��H�E`H�D$8H�����L$0H�E�H�D$(H����L$ L�M��sH�M��H���H�U�I;�rH��H�M��ډ��H�]�H�u��]�H�U�I;�rH��H�M�躉��H�]�H�u؈]�H�U�I;�rH��H�M�蚉��H�]�H�u��]�H�UxI;�rH��H�M`�z���H���H������H��H�������H�\$PH�t$X�\$@H���H�L$@�Dž���H�\$pH�t$x�\$`H�9�H�L$`觅���H�]�H�u��]�I��H�M�菅���H��I�I��H�@��L��H���H�D$8H����L$0H�D$@H�D$(�C�D$ L�L$`�tH�M�����H�U�I;�rH��H�M�葈��3�H�]�H�u��]�H�T$xI;�r
H��H�L$`�m���H�\$pH�t$x�\$`H�T$XI;�r
H��H�L$@�H���H�\$PH�t$X�\$@H���I;��+H����L���H���D���H�=b�H��H���胄���L�uH�uD�uH�?�H�M�f����L�u0H�u8D�u H�:�H�M �I����L�uPH�uXD�u@L�%5�I��H�M@�)����H��I�I��H�@���L��H���H�D$8H�����L$0H�EH�D$(�C�D$ L�M �yH�M@����H�UXA�I;�rH��H�M@�'���3�H�]PH�uX�]@H�U8I;�rH��H�M ����H�]0H�u8�] H�UI;�rH��H�M���H�]H�u�]H���I;�rH��H���迆��I���I���H+�H��H����A�H���H�I��H�]pH�ux�]`H��H�M`�����H�]�H�u��]�H�ãH�M�����H�]�H�u؈]�H�/�H�M��΂���H�]�H�u��]�I��H�M�趂���H���I�I��H�@�>�L��H�E`H�D$8�C�D$0H�E�H�D$(H����L$ L�M��}H�M��+���H�U�I;�rH��H�M�轅��3�H�]�H�u��]�H�U�I;�rH��H�M�蛅��H�]�H�u؈]�H�U�I;�rH��H�M��{���H�]�H�u��]�H�UxI;�rH��H�M`�[���H���H������H��H����ȁ���H�\$PH�t$X�\$@H���H�L$@訁���H�\$pH�t$x�\$`H��H�L$`舁���H�]�H�u��]�I��H�M��p����H��I�I��H�@���L��H���H�D$8H����L$0H�D$@H�D$(�C�D$ L�L$`�~H�M������H�U�I;�rH��H�M��r���3�H�]�H�u��]�H�T$xI;�r
H��H�L$`�N���H�\$pH�t$x�\$`H�T$XI;�r
H��H�L$@�)���H�\$PH�t$X�\$@H���I;�rH���H�������I��H��PH3���H��$�H��`A_A^A]A\_^]������L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S����H��H�H�[H��t9����C��u,H�H��H��������C��uH�H��H�@�y�H��H�\$PH��0_����H�\$H�L$WH��@H��H������H��H��:H9uHH�*�H������(�����)�����,�����0H��H�\$XH��@_�H��H�L$ �ij��H�AEH�L$ �ߜ���������������@SH�� H���H��H���t
�@�.�H��H�� [������@SH�� H��H��H���t
�H�H��H�� [������@SH�� H�s�H��H���t
���νH��H�� [������H���H�H�����H�
�L����������H���E���������H�\$H�t$WH��@I�H��I��I��H��H�@�؊H;�u;H�H��H�@�ÊH���H;�uAH��H���[H�\$PH��H�t$XH��@_�H�H�L$ �k���H��	EH�L$ 膛�H��H�L$ �H���H��	EH�L$ �c����H�\$UVWAVAWH��$P���H��H��LEH3�H���H���L��H���H��H+�H��H���H�	H���A����H���H���H+�H��H����H�IH�� A���H�_H��t�CH�_H�GA��@��(H��t9A����CA�u,H�H��H��{�A����CA�uH�H��H�@�^�H�_H��t�CH�_H�G@��)H��t9A����CA�u,H�H��H��!�A����CA�uH�H��H�@��L���H�M�@����@��uyH���H��`�h����KD�A�A�H��L$ H�L$0�Բ��H�t$ H���L��A�I���ӎ��I��H���H3��9�H��$�H�İA_A^_^]�H���H��`����OA�D�NH��A��L$ H�L$0�Z���H�\$ �H���@��uH��`诐����C���H��`蜐���A�D�NH��A��L$ H�L$0����H�|$ �/�������������������H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@���H;���H�H��H�@���H���{H;�uML��H�T$PH���F�H�H� H�H�L$PH��tH��H��E�H�\$XH��H�t$hH�l$`H��@_�H���H�L$ ����H�}EH�L$ ���H��H�L$ �ݮ��H�ZEH�L$ ���������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@���H;���L��H�L$ H���G�H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H��Y�����C�uH�H��H�@�>�H�\$`H��H�l$hH�t$pH��P_�H�'H�L$0���H�vEH�L$0������H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0�K�H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H��m�����C�uH�H��H�@�R��H�L$(H��t=����A�u2H�\$(H�H��H��(�����C�uH�L$(H�H�@���H�_H��t5����C�u*H�H��H�������C�uH�H��H�@�̄H��L�\$`I�[I�kI�s I��_�H��H�L$@膬��H�EH�L$@衕�H�\$H�t$WH��@I�H��I��I��H��H�@�h�H;�u8H�H��H�@�S�H���GH;�u>H��H�����H�\$PH�t$XH��@_�H��H�L$ ���H�{EH�L$ ���H���H�L$ �۫��H�XEH�L$ �������H�\$H�t$WH��@I�H��I��I��H��H�@���H;�u8H�H��H�@���H���H;�u>H��H����H�\$PH�t$XH��@_�H�<H�L$ �N���H��EH�L$ �i��H��H�L$ �+���H��EH�L$ �F�������H�\$WH��PH��I9��I�����H�T$`H�D$`H�L$ �.�H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H��������C��uH�H��H�@���H�\$hH��H��P_�H�H�L$0�i���H��EH�L$0脓����H��(eH�%X�

?H�4H�ȋ
9�HH�z=EH��(�H�
�H��=�H�u�H�
QW�H�
�H�@�����H��H�XH�HWH��H��M��D��H�T$ H�H �{���H�T$ H���Y��H���H;8t5H�c8H�OpH��tH�H��H����H�C8H��H��$�H�Ġ_�H��H�L$8��l��H��H�
ÂE蒐��L��H��H�L$X�^v���L�~H��H�L$x�Iv���H��H�L$ �k���H��EH�L$ �:���H��(�
�=HeH�%X�4H�ȋ
9�HH�rHH��(�H�
vH�y��=jH�u�W��MH�x��H�H�@H�@f�@H�+HH�
�U臸�H�
'H�ʹ���������H�\$H�t$WH��@I�H��I��I��H��H�@�h�H;�u^H�H��H�@�S�H���GH;�uH��H���[H�\$PH��H�t$XH��@_�H���H�L$ ���H�x�DH�L$ ���H�>
H�L$ �ا��H�U�DH�L$ �����H��H�XUVWATAUAVAWH�����H��)p�)x�H�9BEH3�H���H��L��H�L$8W�D$`H�ZH��t�CH�ZH�rH�t$`H�\$hH�T$8H����L�8H� L�}�H�L$8H��tH��H�@�A��,��0H�j]L�%��M�쀾(LE耾)LE�3�A��H����f��H����e���3�D�BHH�M@�E�H�6	H�E@W��D$0L�D$ H�T$0H�MH�h���3�H���H���H��H+�H��H����H�E�H�E�H+�H��H;��eH��H�H�@�a~H�e�H�e�H��H�M������H��H�M�n���L�EH�b~H�M ���L�E�H��H�M@�Z���H�UH��rH��H�M��t��H��H���H���H��H+�H��H;��S����H�|$XH�D$P����D$@����D$D3�@�t$E(�H�T$@H�M@�fY��H�}�H�E��D$pbeta@�t$t(�H�T$pH�M@�<Y��H�u�H�}�@�u�L�
a�D�ƍWH�M��x��M��H�U�H�M@��H�u�H�}�@�u�L�
G�D�ƍWH�M���w��M��H�U�H�M@��I���D��H���I��H���|I��H��������H�UhH�M`H+�H���s��W�fE`H�upH�MP�}���H��(�N=���H���H��(H��(�3��I��VI��H�@�|�H��t5����C�u*H�H��H��_|����S�uH�H��H�B�D|I��H���H3���L��$�I�[PA(s�A({�I��A_A^A]A\_^]��(�������@UH��H��H�E�H�EH���H�E�H�E�H�E�H�e�H�E��E�L�
ݎE3�A�PH�M��uv���H�U�H�M��z��H�Ā]��������������̊�(�����)�����,�����0�������H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@��zH���O��H;�u#L��H��H����H�\$PH�l$XH�t$`H��@_�H�x�H�L$ 袢��H��DH�L$ 轋�@SH��@H�����H9u	H��H��@[�H��
H�L$ �c���H��DH�L$ �~���H�\$WH��H��<EH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@���H�L$xH��tYH�H��H�@�zH�H�L$xH��tH�H�T$@H;���H�@ ��yH��H��$�H3�艭H��$�H�Đ_�跋�H�	H�L$(蕡��H��DH�L$(谊����@SH��@H�BH9HuG�'3�H�H��H�A�9P }H�@�H��H�8Pt�8Su9S ~H����H;��H��@[�H��H�L$ ����H���DH�L$ �3����H��H�XH�hH�p H�HWH�� I��H��H���@�E�H��H�D$0H��t,W���C�CH��H�H�KL��H���b����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H����輪H��H�D$0H��t)W���C�CH���H�H�KH��,�3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H�����5�H��H�D$0H��t,W���C�CH���H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H�����H���H�L�wI�I��H�@�=wH�����H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H���v����C�uH�H��H�@��v�H��H�\$XH�t$`H�|$hH��@A^�H�e�H�L$ 菞��H��DH�L$ 誇��L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��H���H�H�[H��t9����C��u,H�H��H��2v����C��uH�H��H�@�vH��H�\$PH��0_����H�\$H�t$WH�� H��I��I��H���$~��D��L��H��H���S���H�\$0H�G�H�H��H�t$8H�� _���H�\$H�T$WH��0H��H��W��D$ L�JM��t	�A�AL�JH�H�D$ L�L$(H�T$ ����H���H�Ƈ�H�[H��t9����C��u,H�H��H��7u����C��uH�H��H�@�uH��H�\$PH��0_�H�\$H�L$WH��@H��H���g���H�ŠH��:��H9��H�ҊH�H���H����x���H������x3�H���H���H�AH��t�@H�AH���H�AH���H���H���H�A H��t�@H�AH���H�A H����A(����A)���H��H�\$XH��@_�H��H�L$ ���H�y�DH�L$ �����H�\$H�t$WH�� H�Y ��H��H��t5����C�u*H�H��H���s����C�uH�H��H�@��sH�_H��t5����C�u*H�H��H���s����C�uH�H��H�@�ssH�\$0H�t$8H�� _����@SH�� H�k�H��H���t
�@�ΥH��H�� [������@SH�� H�c�H��H���t
��螥H��H�� [������@SH�� H��H��H���t
���n�H��H�� [������H�\$WH�� H�ً�H��8�m���H�S(H��rH�KH���oi��H�c H�C(�C@��t
��H����H��H�\$0H�� _��������������H�\$WH�� H�ً�H��x�A���H��8��H�S(H��rH�KH����h��H�c H�C(�C@��t
��H��菤H��H�\$0H�� _��H�\$H�t$WH��@I�H��I��I��H��H�@��qH;�u;H�H��H�@��qH�����H;�uAH��H���[H�\$PH��H�t$XH��@_�H��H�L$ �[���H���DH�L$ �v��H��H�L$ �8���H���DH�L$ �S����H�\$WH�� H�ZH��H��t�CH�ZH�RH���v��H��t9����C��u,H�H��H���p����C��uH�H��H�@��pH�\$0H��H�� _���H�\$WH��H�‹�H��H�T$ �A��@3�H�H��H�A�9x }H�@�H��H�8Pt�8Su;{ }H���
H;H��$���H�Ġ_����H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@� pH;���H�H��H�@�pH���W��H;�uML��H�T$PH���~���H�H� H�H�L$PH��tH��H���oH�\$XH��H�t$hH�l$`H��@_�H�V�H�L$ 耗��H���DH�L$ 蛀�H�K�H�L$ �]���H���DH�L$ �x���������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@�0oH;���L��H�L$ H������H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H���n����C�uH�H��H�@��nH�\$`H��H�l$hH�t$pH��P_�H���H�L$0�y���H���DH�L$0�����H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0����H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H���m����C�uH�H��H�@��m�H�L$(H��t=����A�u2H�\$(H�H��H���m����C�uH�L$(H�H�@��m�H�_H��t5����C�u*H�H��H��gm����C�uH�H��H�@�LmH��L�\$`I�[I�kI�s I��_�H�t�H�L$@����H���DH�L$@�!~�H�\$H�t$WH��@I�H��I��I��H��H�@��lH;�u8H�H��H�@��lH���#��H;�u>H��H����H�\$PH�t$XH��@_�H�l�H�L$ �~���H���DH�L$ �}�H�1�H�L$ �[���H���DH�L$ �v}������H�\$H�t$WH��PI�H��I��I��H��H�@�8lH;�uAH�H��H�@�#lH���s
��H;�uGH�GH9pu`H��3��>���H�\$`H�t$hH��P_�H���H�L$ �œ��H�B�DH�L$ ��|�H�x�H�L$ 袓��H��DH�L$ �|�H���H�L$8����H���DH�L$8�|����������H�\$WH��PH��I9��I����H�T$`H�D$`H�L$ ��H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H��k����C��uH�H��H�@��jH�\$hH��H��P_�H�g�H�L$0蹒��H�6�DH�L$0��{����H��(eH�%X�
]'H�4H�ȋ
9'HH��%EH��(�H�
H���=H�u�H�
�?�L�H�
�H萣����H�\$H�t$H�L$WH����H����H�H�AH���9p }H�@�H��H��xt�{u;s }H���H;t9H�g8H�K`H��tH�H��H���iH�G8H��L��$�I�[I�s I��_�H��H�L$8�U��H��H�
lkE��x��L��H��H�L$X�^���L���H��H�L$x�^���H��H�L$ �t��H���DH�L$ �sz���H��(�
&HeH�%X�4H�ȋ
9�HH��HH��(�H�
�H豢�=�H�u�W���H�h�S�H�H�@H�@f�@H�{HH�
t>迠�H�
wH���H�\$H�t$WH��@I�H��I��I��H��H�@��hH;�u^H�H��H�@��hH����	��H;�uH��H������H�\$PH��H�t$XH��@_�H��H�L$ �;���H���DH�L$ �Vy�H�~�H�L$ ����H���DH�L$ �3y���H�\$WH��H��H��H���H�T$ �<1��L�����AHAH@ A@ H0AH0@@A@@HPAHP@`A@`L�@pH�A@�A@A@H AH @0A@0H@AH@H�@PI�@PH��xH��$H���H��_���H�\$WH��0eH�%X�
�#H�4)t$ (�H�ȋ;9�H�.�;9�H�Y�;9�H���;9H���;9!H���;92H��;9CH�0�;9TH�Y�;9eH���;9vH���;9�H��fo-)H(�(�H(�fo�HH�\$@(t$ ��U�f��(�fk���T�X�f��foBHf�fr�
f��(�H��f8Hfo�Hfv�f8�Hfk�f��f��H��0_�H�
�H�m��=�H������fo�}H�
�HfiH�����H�
�H�3��=|H������fo^}H�
gHfOH語�m���H�
nH��=bH��c���fo4}H�
MHf5H�p��B���H�
TH连�=HH��8���fo�|H�
3HfH�6�����H�
:H腞�=.H��
���fo�|H�
HfH����H�
 H�K��=H����fo&|H�
��Gf�G����H�
H���=��G������(]�GH�
�G)�G芝���H�
�G�ٝ�=�G������(�GH�
�G)��G�R��o���H�
�G衝�=�G��e���fo�{H�
��Gf��G���D���H�
��G�g��=��G��:���foR{H�
��Gf��G�ޜ����H�
��G�-��=��G�����(�GH�
��G)k�G覜���H��fo
�zW�fo%�zfo�fo-�z��)4$W�fn�fa�fp�fa�f��f��fv�fr�f�
	{f��fv�f��f8�u,fo
�zfo�f��f��fr�
f8�f��f:L$(�2f�Bzf�:zf��fr�
f�yz[�Y�V�f:D$(�D$((4$H����H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@�;bH���$H;�u#L��H��H���H�\$PH�l$XH�t$`H��@_�H���H�L$ �މ��H�[�DH�L$ �r�@SH��@H���6$H9u	H��H��@[�H���H�L$ 蟉��H��DH�L$ �r��H�\$WH��H�$EH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@��H�L$xH��tYH�H��H�@�MaH�H�L$xH��tH�H�T$@H;���H�@ �(aH��H��$�H3��ŔH��$�H�Đ_���r�H�G�H�L$(�ш��H�N�DH�L$(��q����@SH��@H�BH9Hu;L��H�L$PH�T$ E3��cZ���BH�T$ H����7��H���-H;��H��@[�H���H�L$ �`���H���DH�L$ �{q���@SH��H�BL��H9HuJH�T$@I�����d$0H��HH�T$(�L$ �H�T$ H���k7��H���H;��H��[�H�Q�H�L$ �ۇ��H�X�DH�L$ �p��@USVWAUAVAWH�l$�H��pH�N"EH3�H�E`I��M��D��H��H�������D$P����D$TH�L$P���;��H��H�T$XH;�u�3�A��H�L$`�Ղ�H�L$`�����H�d$@A�L�l$H�D$0L�
@zE3�A�UH�L$0��Y���H��H�{rH�L�CH�L$p���H�(�H�����H�T$0H�|$HHCT$0L�D$@H������H��H������H��H�rH�L�GH������H��H�������H�T$HH��r
H��H�L$0�^U���H�d$@L�l$H�D$0L�
zyE3�A�PH�L$0�!Y���H�T$0H�|$HHCT$0L�D$@H�L$p�P��H��H�^��A���H�T$HH��r
H��H�L$0��T��H��u�H�L$p���L�l$HH!\$@�\$0H�D$0H�D$ L�L$`M��A��H������H�T$HH��rH��H�L$0�T���H�M��Z���H�
�H�E�H�M��Ez�H�M`H3��H�H��pA_A^A]_^[]���H��H�XH�hH�p H�HWH�� I��H��H���@詏H��H�D$0H��t,W���C�CH��xH�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H���X� �H��H�D$0H��t)W���C�CH�+xH�H�KH��p�3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H����虎H��H�D$0H��t,W���C�CH�TwH�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H���t��H��tH�L�wI�I��H�@��[H���H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H��U[����C�uH�H��H�@�:[�H��H�\$XH�t$`H�|$hH��@A^�H���H�L$ ��H�p�DH�L$ �l��L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S���H�^sH�H�[H��t9����C��u,H�H��H���Z����C��uH�H��H�@�yZH��H�\$PH��0_����@USVWAUAVAWH��$�H��H��EH3�H��I��H��H��H�M�I���hb��D��L��H��H���3����H�sH�H���H���H+�H��3�H���	A�H���H�	�޹H�H��H�@��YH�]�H�]�H��H�M��vl���H�]�D�sL�u��]�L�
�sD�ÍSH�M��PT���L�u�H�E���s�D$p��s�D$x�\$|H�\$`L�t$h�\$PL�-�rM��D�ÍSBH�L$P�S����\$8�D$0H�E�H�D$(����D$ L�L$pL�E؍SxH�L$P�%����H�T$hD�{I;�r
H��H�L$P�O��H�\$`L�t$h�\$PH�U�I;�r
H��H�L$p�O��H�]�L�u��\$pH�U�I;�rH��H�M��xO��H���\����H���H���H+�H��H����A�H�UH�I�m�L�u�H�]��]�L�t$hH�D$`��r�D$P��r�D$X��rf�D$\�\$^H�]�L�u��]�L�
�rD�úH�M���R���H�]�L�u��\$pM��D�úBH�L$p�R����\$@H�E�H�D$8H�D$0H�D$PH�D$(H�EH�D$ L�M�L�EغH�L$p�*����H�U�I;�r
H��H�L$p�[N��H�]�L�u��\$pH�U�I;�rH��H�M��:N��H�]�L�u��]�H�T$hI;�r
H��H�L$P�N��H�\$`L�t$h�\$PH�U�I;�rH��H�M��M��L�u�H�]��]�L�t$h�
H�|$`��q�D$P��q�D$X��q�D$\�\$]H�]�L�u��\$pL�
jqD�ÍWH�L$p�Q���H�]�L�u��]�M��D�ÍW5H�M��dQ���H�E�H�D$8�D$0H�D$PH�D$(H�E ��L$ L�L$pL�E؍WsH�M�����H�U�I;�rH��H�M��#M��H�]�L�u��]�H�U�I;�r
H��H�L$p�M��H�]�L�u��\$pH�T$hI;�r
H��H�L$P��L��H�\$`L�t$h�\$PH�U�I;�rH��H�M��L��L�u�H�]��]�L�t$hH�|$`�Wp�D$P�Sp�D$X�Mp�D$\�\$]H�]�L�u��\$pL�
NpD�úH�L$p�LP���H�]�L�u��]�M��D�úBH�M��,P���H�E�H�D$8�D$0H�D$PH�D$(H�E0��L$ L�L$pL�Eغ�H�M��W���H�U�I;�rH��H�M���K��H�]�L�u��]�H�U�I;�r
H��H�L$p��K��H�]�L�u��\$pH�T$hI;�r
H��H�L$P�K��H�\$`L�t$h�\$PH�U�I;�rH��H�M��K��L�u�H�]��]�L�u�H�}��o�D$p�o�D$x�o�D$|�\$}L�t$hL�t$`�/o�D$P�+o�D$X�$of�D$\�o�D$^�\$_H�]�L�u��]�M��D�úBH�M���N���H�E�H�D$8�D$0H�D$pH�D$(H�E@�H�L$ L�L$PL�Eغ�H�M�����H�U�I;�rH��H�M��J��H�]�L�u��]�H�T$hI;�r
H��H�L$P�xJ��H�\$`L�t$h�\$PH�U�I;�r
H��H�L$p�TJ��H�]�L�u��\$pH�U�I;�rH��H�M��3J��L�u�H�]��]�L�u�H�}���m�D$p��m�D$x��m�D$|�\$}L�t$hL�t$`��m�D$P��m�D$X��mf�D$\��m�D$^�\$_H�]�L�u��]�M��D�ÿB��H�M��M���H�E�H�D$8�D$0H�D$pH�D$(H�E@��L$ L�L$PL�E؍WAH�M��J���H�U�I;�rH��H�M��LI��H�]�L�u��]�H�T$hI;�r
H��H�L$P�*I��H�\$`L�t$h�\$PH�U�I;�r
H��H�L$p�I��H�]�L�u��\$pH�U�I;�rH��H�M���H��H�\$`L�t$h�\$PL�
�lD�úH�L$P�L���L�u�H�E��)l�D$p�%l�D$x�\$|H�]�L�u��]�M��D��H��H�M��hL����\$8�D$0H�D$PH�D$(�E�D$ L�L$pL�Eغ�H�M���H�U�I;�rH��H�M��-H��H�]�L�u��]�H�U�I;�r
H��H�L$p�H��H�]�L�u��\$pH�T$hI;�rH��H�L$P��G���H�U�I;�r
H��H�M���G���H��H��H3�蠄H��A_A^A]_^[]��~�����~�����H�\$H�T$WH��0H��H��W��D$ L�JM��t	�A�AL�JH�H�D$ L�L$(H�T$ ���H�BiH�H�[H��t9����C��u,H�H��H��ZP����C��uH�H��H�@�=PH��H�\$PH��0_����H�\$WH��PH��H��H�L$(��B���H�:hH��^H9uTH�NhH�H���Hc��L��H��(3�H�H�AH�AD�L$ �H�������@H��H�\$pH��P_�H�b�H�L$0�|w��H���DH�L$0�`���@SH�� H��H��(H��t+H��8H+�H���,F��H��(H��0H��8H��8��]��H�S(H��rH�KH����E��H�c H�C(�CH�� [������������@SH�� H�KjH��H���t
�@�n�H��H�� [������@SH�� H�CjH��H���t
�X�>�H��H�� [������@SH�� H��iH��H���t
����H��H�� [������H�\$WH�� ��H��������t
�HH���ڀH�\$0H��H�� _�������������H��iH�H�����H�
�����������H�)PE���������H�\$H�t$WH��@I�H��I��I��H��H�@��MH;�u;H�H��H�@��MH���H;�uAH��H���[H�\$PH��H�t$XH��@_�H��H�L$ �ku��H���DH�L$ �^�H��H�L$ �Hu��H���DH�L$ �c^���H�\$UVWATAUAVAWH��$���H��0H��EH3�H�� H��L��W�E�H�zH��t�GH�zH�BH�E�H�}�H���H���H+�H��H����A�H�� H�	�ʬH��@��D$<H��P��D$8H��`��L$4�@�D$0H���L	����H���H���H+�H��H���EA�H���H�I�Z�H���D�8W�3��H��H��H���^�E3�L��H��L+�I��M���B������������������H�d$pH�D$x�D$`L�
&eE3�A�PH�L$`�uF���H�d$PH�D$X�D$@L�
eE3�A�PBH�L$@�HF���H�H��H�@�wKL��L�L$`�CH�L$@����H�T$XH��r
H��H�L$@�B��H�d$PH�D$X�D$@H�T$xH��r)H��H�L$`��A���D�|$4�D�|$0�D�|$8�D�|$<I��M;����H��tH��H+�H��H���A��H�M�_S��H�؋D$0�D$ D�L$4D�D$8�T$<H�M���t��L��H�\$ D��(H�� I����P���H��t8������G�u*H�H��H��lJ����W�uH�H��H�B�QJI��H�� H3���}H��$�H��0A_A^A]A\_^]��?x����9x�����������H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@��IH;���H�H��H�@��IH���H;�uML��H�T$PH����H�H� H�H�L$PH��tH��H���IH�\$XH��H�t$hH�l$`H��@_�H��H�L$ �@q��H���DH�L$ �[Z�H��H�L$ �q��H���DH�L$ �8Z��������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@��HH;���L��H�L$ H���c�H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H���H����C�uH�H��H�@�~HH�\$`H��H�l$hH�t$pH��P_�H�g�H�L$0�9p��H���DH�L$0�TY����H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0�g�H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H���G����C�uH�H��H�@��G�H�L$(H��t=����A�u2H�\$(H�H��H��hG����C�uH�L$(H�H�@�KG�H�_H��t5����C�u*H�H��H��'G����C�uH�H��H�@�GH��L�\$`I�[I�kI�s I��_�H�4�H�L$@��n��H�C�DH�L$@��W�H�\$H�t$WH��@I�H��I��I��H��H�@��FH;�u8H�H��H�@��FH����H;�u>H��H����H�\$PH�t$XH��@_�H�,�H�L$ �>n��H���DH�L$ �YW�H��H�L$ �n��H���DH�L$ �6W������H�\$H�t$WH��@I�H��I��I��H��H�@��EH;�u8H�H��H�@��EH���7H;�u>H��H���c�H�\$PH�t$XH��@_�H�|�H�L$ �m��H��DH�L$ �V�H�A�H�L$ �km��H���DH�L$ �V������H�\$WH��PH��I9��I���j�H�T$`H�D$`H�L$ �J�H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H��E����C��uH�H��H�@��DH�\$hH��H��P_�H�W�H�L$0�l��H�&�DH�L$0��U����H��H�XH�HWH��H��M��D��H�T$ H�H �6>���H�T$ H�����H���H;8t5H�c8H�OpH��tH�H��H��JDH�C8H��H��$�H�Ġ_�H���H�L$8�/��H��H�
FE�6S��L��H��H�L$X�9���L�"�H��H�L$x��8���H��H�L$ �O��H�0�DH�L$ ��T��H�\$WH��0H��H�YH��t�CH�YH�QH�T$ H�\$(H��(H���F���H��t9����C��u,H�H��H��oC����C��uH�H��H�@�RCH��H�\$@H��0_�H�\$WH�� H�YH��t�CH�YH�A@��@H��t9����C��u,H�H��H���B����S��uH�H��H�B��BH�\$0@��H�� _���H��(eH�%X�
m�G�4H�ȋ
9��GH��DH��(�H�
��G�!|�=��G�u�H�
Q�\zH�
y�G�{����H��(�
�GeH�%X�4H�ȋ
9_�GH�F�GH��(�H�
J�G�{�=>�G�u�W��!�G�x�_tH�H�@H�@f�@H���GH�
���y�H�
��G�{�������������H�\$H�t$WH��@I�H��I��I��H��H�@��AH;�u^H�H��H�@��AH����H;�uH��H���[H�\$PH��H�t$XH��@_�H��H�L$ �;i��H���DH�L$ �VR�H�~�H�L$ �i��H���DH�L$ �3R���H�\$UVWAVAWH��$p���H��H��EH3�H���H��L��H�L$0W�D$HH�ZH��t�CH�ZH�rH�t$HH�\$PH�T$0H���ՏL�8H� L�}�H�L$0H��tH��H�@��@3�A��H�����c�H�������H�E H�e�E3�H��0H��(H��H+�H��H����D�G	H+�H��H;��v����t9��t+��t��tH�ZA��"H��Y�H��Y�H��Y�H��YH�M�W��H��H��0H��(H��H+�H��H;�A�	�v���3�D�BHH�M0�cH�=��H�}0W��D$(L�D$ H�T$(H�M8��(���H�E�H�D$8H�e�H�e�H�UH�M��R����H�t$pH�D$h�D$Xaxes�D$\L�E�H�T$XH�M0���H�E�H�D$8H�}�L�D$!H�U8H�M�����H�e�H�u��D$xL�
YE3��VH�L$x�9���L�E�H�T$xI����?��I���D��H���I��H���>I��H���芜���H�UXH�MPH+�H���U5��W�fEPH�e`H�M@��>���H�U H��rH��H�M�(5��H�eH�u �EH�������H���H��H����Z�I��I��H�@�>�H��t5����C�u*H�H��H���=����S�uH�H��H�B��=I��H���H3��qqH��$�H�ĐA_A^_^]���k���@UH��H��H�E�H�EH�1YH�E�H�E�H�E�H�e�H�E��E�L�
�UE3�A�PH�M��8���H�U�H�M��G<��H�Ā]���������������H��(H���H��0H+�(H�������@�����H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@��<H���	��H;�u#L��H��H����H�\$PH�l$XH�t$`H��@_�H��H�L$ �Bd��H���DH�L$ �]M�@SH��@H������H9u	H��H��@[�H�!�H�L$ �d��H���DH�L$ �M��H�\$WH��H���DH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@�
�H�L$xH��tYH�H��H�@��;H�H�L$xH��tH�H�T$@H;���H�@ ��;H��H��$�H3��)oH��$�H�Đ_��WM�H���H�L$(�5c��H���DH�L$(�PL����@SH��@H�BH9HuG�G3�H�H��H�A�9P }H�@�H��H�8Pt�8Su9S ~H���H;��H��@[�H�.�H�L$ �b��H�5�DH�L$ ��K���H��H�XH�hH�p H�HWH�� I��H��H���@��lH��H�D$0H��t,W���C�CH��WH�H�KL��H���b����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H�����\lH��H�D$0H��t)W���C�CH��H�H�KH��0�3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H������kH��H�D$0H��t,W���C�CH��VH�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H���{�H�UH�L�wI�I��H�@��8H���Y��H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H���8����C�uH�H��H�@�v8�H��H�\$XH�t$`H�|$hH��@A^�H��H�L$ �/`��H���DH�L$ �JI��L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��-�H��SH�H�[H��t9����C��u,H�H��H���7����C��uH�H��H�@��7H��H�\$PH��0_����H�\$H�t$WH�� H��I��I��H����?��D��L��H��H���S���H�\$0H��SH�H���FaH�t$8H�� _���H�\$H�T$WH��0H��H��W��D$ L�JM��t	�A�AL�JH�H�D$ L�L$(H�T$ ����H�
SH�Ƈ�H�[H��t9����C��u,H�H��H���6����C��uH�H��H�@��6H��H�\$PH��0_�H�\$H�t$ WH��@H��H��H�L$ �I)���H�AH����H9uH�UH�H���H�������H��xH�s8H;�tH�WPH�NPA� �UH�WxH�NxH;�tH��PH��PA� �tU������H��H�\$`H�t$hH��@_�H���H�L$(��]��H�E�DH�L$(��F���@SH�� H�SH��H���t
�@�>hH��H�� [������@SH�� H��RH��H���t
���hH��H�� [������H�\$H�t$WH��@I�H��I��I��H��H�@�H5H;�u;H�H��H�@�35H�����H;�uAH��H���[H�\$PH��H�t$XH��@_�H���H�L$ ��\��H�X�DH�L$ �E�H���H�L$ �\��H�5�DH�L$ ��E���H�\$WH�� H�ZH��H��t�CH�ZH�RH����*:��H��t9����C��u,H�H��H��q4����C��uH�H��H�@�T4H�\$0H��H�� _���H�\$WH��H�‹�H��H�T$ ��@3�H�H��H�A�9x }H�@�H��H�8Pt�8Su;{ }H���
H;H��$���H�Ġ_����H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@��3H;���H�H��H�@��3H�����H;�uML��H�T$PH���^���H�H� H�H�L$PH��tH��H��E3H�\$XH��H�t$hH�l$`H��@_�H�֚H�L$ �[��H�}�DH�L$ �D�H��H�L$ ��Z��H�Z�DH�L$ �C��������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@��2H;���L��H�L$ H�����H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H��Y2����C�uH�H��H�@�>2H�\$`H��H�l$hH�t$pH��P_�H�'�H�L$0�Y��H�v�DH�L$0�C����H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0���H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H��m1����C�uH�H��H�@�R1�H�L$(H��t=����A�u2H�\$(H�H��H��(1����C�uH�L$(H�H�@�1�H�_H��t5����C�u*H�H��H���0����C�uH�H��H�@��0H��L�\$`I�[I�kI�s I��_�H��H�L$@�X��H��DH�L$@�A�H�\$H�t$WH��@I�H��I��I��H��H�@�h0H;�u8H�H��H�@�S0H������H;�u>H��H����H�\$PH�t$XH��@_�H��H�L$ �W��H�{�DH�L$ �A�H���H�L$ ��W��H�X�DH�L$ �@������H�\$H�t$WH��PI�H��I��I��H��H�@��/H;�uAH�H��H�@��/H������H;�uGH�GH9pu`H��3��>���H�\$`H�t$hH��P_�H�3�H�L$ �EW��H�®DH�L$ �`@�H���H�L$ �"W��H���DH�L$ �=@�H�u�H�L$8�V��H�|�DH�L$8�@����������H�\$WH��PH��I9��I����H�T$`H�D$`H�L$ ��H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H���.����C��uH�H��H�@�t.H�\$hH��H��P_�H��H�L$0�9V��H���DH�L$0�T?����H�\$H�t$H�L$WH����H���?H�H�AH���9p }H�@�H��H��xt�{u;s }H���	H;t9H�g8H�K`H��tH�H��H���-H�G8H��L��$�I�[I�s I��_�H���H�L$8���H��H�
��E�<��L��H��H�L$X�{"���L���H��H�L$x�f"���H��H�L$ �8��H���DH�L$ �W>���H��(eH�%X�
��G�4H�ȋ
9;�GH�f�DH��(�H�
&�G�f�=�G�u�H�
��dH�
�G�f����H��(�
��GeH�%X�4H�ȋ
9��GH���GH��(�H�
��G�1f�=��G�u�W����G�h��^H�H�@H�@f�@H���GH�
��?d�H�
��G�e�H�\$UWATAVAWH��$`���H��H��L��H�}E3�L�eD�e�L�e�H�}�D�e�L�
�HE�čWH�M��&���H�}�H�E�
��H�D$x��H�E���H�E�D�e�H�}�H�E���H�E���H�E�D�e�L�e�H�}�D�e�L�
nHE�čW3H�M��?&���H�U I�Nh�
�H�KH�U�H�T$8H�D$0H�E�H�D$(H�L$ L�L$xL�E��W H�M�萄���H�U�H��rH��H�M��!��L�e�H�}�D�e�H�U�H��rH��H�M���!��L�e�H�}�D�e�H�U�H��r
H��H�L$x�!��L�e�H�}�D�d$xH�U�H��rH��H�M��!��L�e�H�}�D�e�H�UH��rH��H�M��k!��I�FH�HH�H�QH��H�@ �*���ta�{M�~XH�EL;�t*I�H��t����A;�uH���H��C*I������C;��H���H��H��*��H�\$P�{H�T$PH�L$h�%���I�FXH�D$HH��t�xH�T$HH�L$X����H�L$hH����?���H#��}��H��H�T$pL��H�L$`�I�L�d$`H�L$XH�H�@��)H�L$XH��t ����A��uH��tH���H��j)L�d$XL�d$pH�L$hH�H�@�N)H�L$hH��t!����A��uH��tH���H��$)�fA�F`H��$�H�ĠA_A^A\_]�����H�\$H�t$WH��@I�H��I��I��H��H�@��(H;�u^H�H��H�@��(H���?���H;�uH��H�����H�\$PH��H�t$XH��@_�H�A�H�L$ �kP��H��DH�L$ �9�H���H�L$ �HP��H�ŧDH�L$ �c9���H�\$VH��0H��H�L$ H�JH��H;Js H�zH�AH�BH��rH�D��D�E��H��E3�A�P��H�fH��H�fKNH�cH�C�H�\$PH��0^����������H��tyH�\$H�t$ WH�� H��H��������3�H��H;�wTH��H��H��r
H������
H��tH���YH��H�H�L��H�FH���)H�\$@H�FH�t$HH�� _��<������H�\$H�l$ VWATAVAWH�� H�iH��������H��E��H+�H��H;���L�qL�<*I��H��H;�wI��H��H��H+�L;�wJ�1H��H;�HB�H��H�����H��HB�H��r
����H���H��t��X��3�L�~L��H�^H��I��r"H�H����EI�VD�$/H���D/�5���H���ED�$/�D/H�>H��H�\$`H�l$hH�� A_A^A\_^��`;������H�\$WH�� H��H��H��tL��3�I���yIH��H�H�\$0H��H�� _�H�\$UVWH��H��H�c�DH3�H�E�I��H��H��H�U�H�]��e�H�E�H�E�I�H8H����H�L�E�H�U�H�@��%�}�upE��H�WH��rH��H��B��H�gH�G�H�K8H��tH�H;���H�@ �F%H�c8H��H�M�H3���XH��$�H�Ā_^]����H��H���H���<��H��H���<��H��D�E�H�M��)��H��DH�M���5���6��H�\$H�t$ WH��`H��H�T$ H�9H�q�H�H�H�@��$��toH��H;�u�3��D$0H�D$PH�D$H�D$8H�T$0H�L$ ��H�T$PH��r
H��H�L$8�&��H�D$ H�H�D$(H�CH��L�\$`I�[ I�s(I��_�H�3�H�H�CH�OH��t�AH�H�OH�K����H�\$H�t$WH��0H�9H��H�q�H�H�H�@��#��tXH��H;�u��#CH�T$@�
CH�L$ �D$@�L$D��H�D$ H�H�D$(H�t$PH�CH��H�\$HH��0_�H�H�#H�cH�GH��t�@H�H�G����H�\$WH�� H��H���(�UH�D$0L��H��tIW��A�@A�@H���I�H���I�@��A@��W�AH �AP$�E3�I�@W�H�H��L�CH�\$8H�� _���H�\$H�t$H�L$WH�� H��H���P��TH��H�D$0H��t)W���C�CH�?�H�H�KH���L{���3�W�H�CH�H�_H��H�\$8H�t$@H�� _���������H�\$H�l$ VWAVH�� 3�H��H�9H�yH�yL�2H�jL;�teI+�H��������H��H��H;�wbH��H��r
H���$���
H��tH���%TH��H�>H�;H�~L��H�NI��H���AH�;H�NH�\$PH��H�l$XH�� A^_^��6����H�\$H�l$ VWAVH��PI��I��H��H��H�L$@H�N?H�L�qI�������H�n L�CH��H��H�AH�AH�H�� I;�u�H�V(L�F0I�8��$��F83�H��u@M�NI��+H�JHJH
H�JH�L$ H�D$ I9IC�H�I�H�� I;�u�H�<(I�8�I�M�FI;�t"H9Qr=H�AHAHH��H�� I;�u�H�~0H�*H;�r;H��L�\$PI�[0I�k8I��A^_^�H�f>H�L$(���H���DH�L$(�k1�H�k>H�L$(���H���DH�L$(�H1��������H�\$H�t$WH��PA��A��H��E��H�L$0�c1�W��D$ E3�E3�H��H���`���H�Q>H��^@�~DH�L$0H��tH�T$@H+�H������H�6>H�H��H�\$`H�t$hH��P_�@SH�� H��H��H�
͂W�H�H�SH�H��/H��<H�H��H�� [�@SH��@H���DH3�H�D$0H�L$ L��H�zH��rL�H�QL�D$ H�j��D$(H�W�H�L$ �f/H��<H�H��H�L$0H3��RH��@[�����������@SH�� H��H�	H��tH�SH+�H������H�#H�cH�cH�� [������������@SH�� H��H�IH��tH�SH+�H����^��H�cH�cH�cH�� [���������̋Q@��~4��~)��~��~���t;�t��	u�øø�3���̋A@���t;�t
3Ƀ���������������������H�!=H�H�����@SH��0H��H�L$ I����H���H��0[�����������H�I E�H�\$UVWATAUAVAWH��$���H��H��DH3�H���I��D�D$4H��H�T$PL��H�L$HH�L$@H�JD�BH�Ux�j�D�GH���H���V�H�E�H�D$`�H�t$hH�E�H�D$pD�n�L�l$xH�E�H�E�L�m�H�E�H�E�D�~�L�}�H�E�H�E��^�H�]���)E���)M�D�GH���H�L$`���H�E0H�E�H�u�H�E0H�E�L�m�H�E4H�EL�mH�E8H�EL�}H�EDH�E H�](�P)E0�`)M@D�GH���H�M��s��O�.Hc�W�3�E`H�EpH�vH�D$@H���DH��L�BM��E3�A���A�ă9����H��I;�u�W��E`L�epL�D$0H�M`�8�L�d$8W�3���H���H�UxH����O���H�����u#H�ExHcH�@t
H����H+�H�� �O���u;H�ExHcH�@t
H����H+�H�� �OH�ExHcHD�xtMH��I#�H+�H���>��
u>H�ExHcHD�xt
H��I#�H+�H���OH�ExHcH�@t
H����H+�H���O�#��uH�ExHcH�@t
H����H+�H���OM��L�UhL�]`M+�I��M����I��L���L��M+�H�ExB�L��H���NcL��H���NcD��B�T��C+L��Hc�J�N�lN�LN�DL���KcD��I��L�B�A�H�L��I��H�[ L�UhL�]`M+�I��M;�r�L�t$8L�t$HE3�H�D$@H�
��DLcT�I��D�L$43�K�I��K�H�L$PH�	���W��D$ E3�L�D$8H�U`I���b���A�^@A�vDH�;8I�H��tH���H+�H��H������H�M`H��tH�UpH+�H����{��W��E`L�epH���H��t%H���H+�H���P��W����L���H���H��t%H���H+�H�����W����L���H���H��t%H���H+�H������W����L���H�MxH��tH���H+�H�����I��H���H3��LH��$PH��A_A^A]A\_^]����H�\$UVWH�l$�H��H�-�DH3�H�E?H��H��H�M�H�JD�BH�U'���K�BHc�H��w��W�3�EH�EHk�H�U�DH�L�@L�3��3��:����H��I;�u�W��EH�e��L�E�H�M跖���3�H�EL�EI+�H��H��t2H�M/H�E'H+�H��H+�HcD��I��H��H�EL�EI+�H��H;�r�D��D��H�UH�M�����D�H@D��H��H���H1�H�M�H��tH�U�H+�H����^��H�e�W��E�H�MH��tH�UH+�H���8��W��EH�eH�M'H��tH�U7H+�H�����H��H�M?H3���JH��$�H�İ_^]�H�\$H�t$ WH��@H��H�T$0H���L��H�{H��rL�H�zH��rH�
H�CE3�H�RH�D$ ���H���@��H��rH�H�W�
��H�c@��H�t$hH�C�H�\$`H��@_���̃�\tR��t~��tA��tt��t2��t%��t-��t��u[�	�����{�!�v��n��f��	t[��t��tI��t<��t/��t"��t��t��6�"�.�!�&���������H���̃�t7��t,��t!��t��t��u��ø�øøøAø��̃������;�A���t1��t&��t'��t��t��t	��u�A�3�øøøø+�����t*��t��t��t	��uԍA	ø
ø	øøøÃ�Ft>�+�t/��t$��t��tm��t	��u��Aøøøøøø+�t3��t(��t��t)��t
���A����Aøøøø��̃�t��t��t	��u�A@øø�ø����H��H��t��t
��u�A����H��H�H��2H�L$ �+��H�<�DH�L$ ��$��H��H��
������dtX��tJ��t>��t/��t ��t���B�A�5��+��!��3�������+�tG��t8������t ��t�����A���
����	�������OtF��t:��t.��t"��t��t
��ux�A�n��g��`��Y��R��K��D��t:��t.��t"��t��t
��u+�A�!���������H��H�H��0H�L$ ���H���DH�L$ �I#�H�\$UH�l$�H��H��H�EH�EgH�<1H�EH�EH�EOH�eH�E�E�L�
�/E3�A�P0H�M�����L�EH�U�H�M�����H��H��$�H�Đ]����H�\$WH��0H��H�L$ �=�H�H� H�H�PH�`H�\$(H�WH��t9����C��u,H�H��H��\����C��uH�H��H�@�?H�\$@H��H��0_��H��H�XH�pWH��PH�IH��)p�H�P�H�� )x�A����H�\$(H��q�yH��t9����C��u,H�H��H�������C��uH�H��H�@��@��tƇ�H�\$`H�t$h���(t$@���(|$0H��P_����H�\$UVWAVAWH��`H���DH3�H�D$PH��H�AH����H��t�wH���H���H�D$@H�|$H�@�B8L�q H�T$ I��覠��H�H�y���E9A��H�\$(H��t9A����CA�u,H�H��H���A����CA�uH�H��H�@��f�e:H�T$0I������H�T$0�J��t��t��u�q�3��u@H��H�MH��(���H�L$8H��tAA����AA�u4H�\$8H�H��H��MA����CA�uH�L$8H�H�@�.�H��t9A����GA�u,H�H��H��A����GA�uH�H��H�@��H�L$PH3��BH��$�H��`A_A^_^]���H�\$H�t$ UWATAVAWH��$`���H��H�,�DH3�H���L��H�AH�XH���E3�H��t�GH���H���H�]�H�}�H�� H�M���V���L�}�A�L�e�D�|$pL�
-E��A�T$H�L$p����H�T$pH�����A�F0L�}�L�e�D�}�L�
�,E��A�T$	H�M����H�U�H������A�F1L�d$HA�t$�H�t$@��,�D$0��,f�D$8��,�D$:D�|$;H�T$0H������A�F2L�d$hH�t$`��,�D$P��,f�D$X��,�D$ZD�|$[H�T$PH���;���A�F3D8},��A�F5D8}-��A�F6D8}+��A�F4H�E�I�F@H�EI�FHH�EI�FPH�E I�FXI�N`H�U0�i&���EpA�F8I���H�Ux螺��I���H�UP�B&��H�M�����D$ H�T$ H�M��H��I���H;�t9H�SH��rH��H��n��L�{L�cD�;NKL�~L�fD�>H�U�H��r
H��H�M��4���H�M��Fk���H��t8������G�u*H�H��H��7����G�uH�H��H�@�H���H3��?L��$�I�[@I�sHI��A_A^A\_]��H�\$H�t$UWATAVAWH�l$�H���H�S�DH3�H�E'A��H��H�L$(H�U�E3�D�d$$A���e��H�P L�eL�eH�M�P�������e��H�P@L�e�L�e�H�M��3���W�D�d$ L�'L�gL�gL�D$ H�UH���S/���D$$A��H�GH+H��L�uL�}�H��tkH�EI��HCED�$0H�]�I��HC]�H�}�vA��L�E�H����2H��tH+��H��H���ttH�H�T$(�D�P��H��H�GH+H��H;�r�I��rI�WH�M��z���I��r
I�VH�M�f��H��H�M'H3��7>L��$�I�[0I�s@I��A_A^A\_]�H�,(H�M�����E��H��H�M����H��H�M����H��DH�M��>�̺;�YtQ��tG��t<��t1��t&��t��t��t��u�øøøøøøø	ø+�t6+�t/��t$��t��t(��t	��uAøøø
Ë�ø��H��t:H��t.H��t"H��9tH��At
H��u�Aøøøøø���H�\$WH��@H���DH3�H��$0H��H��H�L$ 3�A��H�L$0�p,�H�L$0�q�����H�L$@���H��H��}��v��H�ȋS�ʂ��H��H��}��v��H�ȋS谂��H��H��}�v��H�ȋS薂��H��H�L$H�yf���H��$�����H��uH��$�H��$��$�H��H��$0H3��;H��$`H��@_�̃������;�I� ��t9��t.��t#��t��t
�����Aø	øøøøø+�����t.��t#��t��t
�����Aøøø
øøÃ�Ht@��t5��t*��t��t��t	��uF�AøøøøøøÃ�t:��t/��t$��t��t��t3�ø øøøøø��H��t!H��@tH��At	H��u��øøø����H�\$WH��0H��H�L$ ���H�H� H�H�PH�`H�\$(H�WH��t9����C��u,H�H��H��t����C��uH�H��H�@�WH�\$@H��H��0_��H��H�XH�pH�x AVH��@I��I��L��H�H�H�\$pH�H�a���_8I�FH�P H�D$xH�D$ L��L��I���I�FH�0I�FH�pI�NH�q3�I�N�DH��H��|�I��H�\$XH�t$`H�|$hH��@A^����H�\$H�l$H�t$WH��0H��I��H�L$0I��H�����H�D$(L��H��$`L��H��H�D$ H����L��$0I�[I�kI�s I��_����H�T$H�L$SVWATAUAVAWH��@M��L��L��L��L+	I��������*I��I��L��I��I��H��?L�H�II+I��H��H��H��H��?H�H��������
H;��NL�jI�NI+I��H��H��H��H��?H�H��H��H��H+�H;�vH��$�H���3H�I��I;�HC�H;���H�vH��H��H��$�H��r���H��L��$��!H��t�6H��L��$��3�H��$�H�\$ K�H�4�L�~L�|$0H�&H�fI�$H�I�D$H�FI�$$I�d$A�D$�FH�t$(I�VI�L;�uL���M��L��I���PH�\$(I�VH��$�M��M���4�L��M��H��I���	H��H��@A_A^A]A\_^[�������|������H�\$UVWH�� H��H��H�	H�y�u4L�GH��H���>H��H�?H�K ���H������t�H���H�\$PH�� _^]�������H�\$ UVWH�� A�xI��H��H��u1L�GH��H������H��H�?H�K ���H������t�H�\$XH�� _^]���H��H�XH�hH�pWH��@H��L��H�P�H���VH�\$0�{u2H�S H���k����uH�S H���/b���
H�S@H�O ���H��tH�H�\$PH�l$XH�t$`H��@_��H�\$H�l$H�t$WH�� H�I��bH��H�BH�XH��IH��H�H�K �k����uH��H�K �a���
H�U H�K@�4��tH�[3��H�_�H��G�{t�H�\$0H��H�l$8H�t$@H�� _����H�\$H�l$VWAVH��pH��I��H�T$PH���C���H�l$`�}u:H�U H���pj����uH�U H���a���
H�U@H�O ���uH�+�C�H�����=�H9F��L�H��$�H�D$(L�
W H�D$0H�|$0H��H�D$ H�L$@���H�xH�`H�L$HH��tH�� �H�L$HH��t
���{���D$PL��H�T$0H���D$0�`�H��CL�\$pH��I�[ I�k(I��A^_^�������@SH�� I��H;�tCL��L�AL+�E3�L�O�I�@�H�H��I�K�M�X�M�A�HC�LM�@I�H�H;�u�M��H��H���=���H��H�� [�H�\$WH��0H�w�DH3�H�D$(I�H��H�bH��H�bH�����H�S H�O �W��H���H���H���H�L$(H3��J3H�\$@H��0_����H�\$H�l$H�L$VWAVH��0I��I��L��H�����1H��H�D$PH��t9W���C�CH�zH�H�KH�D$pH�D$ L��L��I���s����3�W�H�CH�H�_H��H�\$XH�l$`H��0A^_^�H��H�XH�pH�x H�HAVH��0I��I��H��L������H�D$@H�T$@H�D$`L��H�D$(L��I��H�\$ ���H�\$HH�kH�t$PH�|$XI�I��H��0A^�@USVWAVAWH�l$�H��M��H��H��H�ML�uwH�]W��E�I��H�M�����W��E�H�e�D�M�L�EH�U�H�M�����H�L$ �L��L�E�H��H�������H�]�H��t[H�}�H;�t2H�SH��rH��H���H�cH�C�H�� H;�u�H�]�H�U�H+�H���H���z�W��E�H�e�L�
�
��� D�B�H�M��/H�}H�H���I�����A���xH���H���I�FH��t�@I�FH���I�FH���H���H���I�F H��t�@I�NH���I�N H���A�N(���A�N)���H��H�ĈA_A^_^[]��H�\$WH��0H��H�L$(W��!�a�a�a�QH�YH�\$ H�#H�c����.H�H�@H�@f�@H�H�_(H�\$ H�#H�c���.H�H�@H�@f�@H�H��H�\$HH��0_�H��(H�IH��t
����H��(�H�����H�\$WH�� H���H��H��t9����G��u,H�H��H�������G��uH�H��H�@��H�SH��rH�H����H�cH�C�H�\$0H�� _���@SH�� H�H;t	��H�� [ËA;Bt	��H�� [�L�AL;Btr�H�ˆH����iH�� [�3�D��M��t�H�YL�JI+�E�F9|�I��I��M;�r��L�QH�JH��L+�D�	E9
|�H��H��I;�r�H�� [ðH�� [���H�\$H�t$WH�� ���H�����H��.�����H�YH;Zu)H�L��H�	��3Ʌ�uGH���H;��t���.L��H��t&L�VxH�WxL+�D�
E9|I��H��L;�r������0H��H��t�L�H�L+�D�E9|��H��H��H;�r���/���H�\$0H�t$8H�� _���H�\$H�t$H�|$AVH�� H��I��H�	M��H��H��t>H�SL������L�CH��������*L+H�I��H��H��H��?H�H�RH���m�H�;K�vH��H�KH�vH�t$8H��H�|$@H�KH�\$0H�� A^�I��L��L��H��I��錭��H�\$H�t$UH�l$�H��H�:�I��H�]G�H�B �90��I�@ A���A#�}+΃��΅���H�B0�A#�}+΃��΅���fo�aH�EI�	H�UH�E�H�EH�E�H�EH�E�H�E+H�EH�U�H�E�H�u�H�u�H�E�H�EEE'L��I��uYH��I������uEH�[H��t7����C;�u+H�H��H��B�����S;�uH�H��H�B�&�@���DH�[H��t9����C��u,H�H��H��������C��uH�H��H�@��2�L��$�I�[I�sI��]�@SH�� H�B L��D�A���tA�û�#�}�ȃ����YH�:��LI�@ �#�}�Ƀ����3I�@@���8u�x����8|
�x��I�H����9~
�y��I�@0�8 H�J@A��D9}D9A|l�8@H�J@�9p}
�yp|X9H�J@�98}�y8|E�8H�J@�9}�y|.�8H�J@�9}�y|�8vH�B@�8m�xgH�B@�8Ru�xRtXA�:uD;�}MA�zuFI�YH��t9����C��u,H�H��H��[�����C��uH�H��H�@�>�2��DI�YH��t9����C��u,H�H��H�������S��uH�H��H�B����H�� [�@SH�� H�:�I��L��uhI�@@�8u_�xuYH�B0A�?��A#�}�Ƀ�����u=I�@ �A#�}�Ƀ�����u'H�H����8u�xuH��P�8u�xtE�IH�����tFH�[H��t9����C��u,H�H��H��>�����S��uH�H��H�B�!���DH�[H��t9����C��u,H�H��H��������C��uH�H��H�@���2�H�� [����@USVWATAVAWH��$��H�� H�7�DH3�H��M��I��H��H��H�T$`L���W�f��I��H�Mp�6��I��H�������L�s(H�UpI����H��I;t73�H�H�_H���H��t�@H���H�H���H�G�G�yH�[03�A��H�L$p�q�H�L$p�r����H��H�M���a��H��H���ƺ��H��H��Z��a��H��H�~rH�L�FH���d��W�D$`H�T$0H�M��Q���L�d$ M��L��H�T$0H�L$`���H�T$HH��r
H��H�L$0�4�3�H�\$@H�D$H�\$0L�EpH�T$PI����H�H���H�T$`�נ��H�H�_H�L$hH��t	�AH�L$hH�D$`H�H�O�_H��t@������A�u2H�\$hH�H��H��������C�uH�L$hH�H�@����H�M�T����H�`H�EH�M�?�H���H��rH��H�Mp�U�H��H��H3��#&H�� A_A^A\_^[]��@USVWAVAWH��$��H��H�ɴDH3�H��I��H��H��H�T$PL��pI��I���������W�fEpH��H�M`���I��H�������L�sH�U`I���;�H��I;t7H�'H�gH���H��t�@H���H�H���H�G�G�yH�[ 3�A��H�L$`��H�L$`����H�H�L$p�u_��H��H���J���H��H� X�[_��H��H�~rH�L�FH���Bb��W�D$PH�T$ H�L$x�O���M��L��H�T$ H�L$P��H�T$8H��r
H��H�L$ ��H�d$0H�D$8�D$ L�E`H�T$@I���;�H�H���H�T$P�_���H�'H�gH�L$XH��t	�AH�L$XH�D$PH�H�O�GH��t@������A�u2H�\$XH�H��H��`�����C�uH�L$XH�H�@�C��H�M��ٰ���H��]H�E�H�M����H�UxH��rH��H�M`����
H�'H�g�GH��H��H3��#H��A_A^_^[]�H��K�@H����H�\$UVWATAUAVAWH��E��A��L��E��u���H���@2�L���I;���A��H�H�H�@�p�H�����H;��mH�H�H�@�O�H��蟐��H;��LH�H�H�@�.�H�����H;�uTH�H���H+��H��H��u9A�H�T$ �N9Xt'H�J�(J�L(H+�H��H���H�E����H�H�T$ A��N9X��H�H�H�@���H���(��H;���H�J�(J�L(H+�H��H����H�
H�H�@�g�H���W��H;�t5H�J�(J�L(H+�H��H��tH�
H�H�@�2�H���z���H;�uH�J�(J�L(H+�H��H��uH��H�E�N�D��I���)���@��H��I;�t�d���@2�@��H��$�H�ĠA_A^A]A\_^]�������H�\$ UVWATAUAVAWH��$P���H��H��DH3�H���I��H�T$@L��L��L��W�D$xI�]A�H��t	�DSI�]M�}L�|$xH�]�H��pH�� HDž(H��pH��0L��8H��tH��@L��HH��xH��PHDžXH���H��`HDžhA@`)�pAHp)��I�H�L$0A�pE;�w	I�$H�D$0A���(A����A�~taH��t�DSL�|$HH�\$PL�L$HM��H��I�����t0H��H�� H;�tGP)�pO`)����%A�H�H�����H��t�DSL�|$XH�\$`L�L$XM��H��I��������A�I��I������uA�E�A�I��I������������H�G �8��H�UPH�UH�EH�EPH�EH�EH�ETH�E H�E(H�EXH�E0H�E8H�EdH�E@H�EHfo�SEPE`M��I��uMI��I���~	��u9A8�5u0H��H�� H;�tGP)�pO`)�����H�H������"tDI���H�HH+H����ujH�G 9tbH�G0����}�Ƀ����uIA9uDA�~u=I�D$0�8�pI���H�HH+H�����UH�G 9�I�q!�F�O�A��7H��u-H��H�� H;�tGP)�pO`)�����3�H��t�CL�|$hH�\$pL�L$hM��H��I�����uGA8vt	A8��u8A8�5u/H��H�� H;���GP)�pO`)���H��H�� H;�t|GP)�pO`)���dI��I�HI�@L��I;�t�HcH��H�I;�u�D�T$ D��E��A��H����G��H�� H;�tH�PPA� H��p�i�H�E�H�E�H�E�H�E�H�E�H�E�H�E�H�E�H�E�H�E�H�E�H�E�H�E�H�E�H�E�(�pE�(��M�H�� �"�H�D$ L�M�D��H�T$0H�|$@H�����H��t8������C�u*H�H��H��Q�����S�uH�H��H�B�6�H��H���H3���H��$H�İA_A^A]A\_^]�H��H����6���H�GhDH��������H�\$H�t$ UWAVH��$ ���H���H�D�DH3�H���H��H�� W�D$0H�XA�H��t	�DsH�XH�@H�D$0H�\$8H���H��PHDžXH���H��`L��hH���H��pL��xH���H���HDž�H���H���HDž�A@`)��AHp)��I�0E;�w
H��(H�0A���LI��I�HI�@L���HcH��H��I;�u�D�t$ D��E��A��H�M����H��PH;�tH�PPA� H�����H�E�H�D$@H�D$HH�E�H�D$PL�t$XH�E�H�D$`L�t$hH�E�H�D$pH�D$xH�E�H�E�H�E�(��E�(��M�H�MP��H�D$ L�L$@A�H��H���%��H��t8������C�u*H�H��H��������S�uH�H��H�B���H��H���H3��ML��$�I�[ I�s8I��A^_]�H��H�M�赡��H��eDH�M��u��H�\$H�t$ UWAVH��$ ���H���H�ȧDH3�H���H��H�� W�D$0H�XA�H��t	�DsH�XH�@H�D$0H�\$8H���H��PHDžXH���H��`L��hH���H��pL��xH���H���HDž�H���H���HDž�A@`)��AHp)��I�0E;�w
H��(H�0A���LI��I�HI�@L���HcH��H��I;�u�D�t$ D��E��A��H�M��9��H��PH;�tH�PPA� H����[H�E�H�D$@H�D$HH�E�H�D$PL�t$XH�E�H�D$`L�t$hH�E�H�D$pH�D$xH�E�H�E�H�E�(��E�(��M�H�MP��H�D$ L�L$@A�H��H�����H��t8������C�u*H�H��H��N�����S�uH�H��H�B�3�H��H���H3���L��$�I�[ I�s8I��A^_]�H�RH�M��9���H�JcDH�M����H�\$H�t$ UWAVH��$ ���H���H�L�DH3�H���H��H�� W�D$0H�XA�H��t	�DsH�XH�@H�D$0H�\$8H���H��PHDžXH���H��`L��hH���H��pL��xH���H���HDž�H���H���HDž�A@`)��AHp)��I�0E;�w
H��(H�0A���LI��I�HI�@L���HcH��H��I;�u�D�t$ D��E��A��H�M����H��PH;�tH�PPA� H�����H�E�H�D$@H�D$HH�E�H�D$PL�t$XH�E�H�D$`L�t$hH�E�H�D$pH�D$xH�E�H�E�H�E�(��E�(��M�H�MP��H�D$ L�L$@A�H��H���-��H��t8������C�u*H�H��H��������S�uH�H��H�B���H��H���H3��UL��$�I�[ I�s8I��A^_]�H�vH�M�轜��H��`DH�M��}��H�\$H�t$ UWATAUAVH��$����H��H�̢DH3�H��pH��H���W�D$pH�xA�H��t	�DgH�xL�pL�t$pH�|$xH��@H���HDž�H��@H��L��H��DH��L��H��HH�� HDž(H��TH��0HDž8A@`)�@AHp)�PH����XA����H�d$`A�L�l$h�D$PL�
�E3�A�U>H�L$P�����H�d$@L�l$H�D$0L�
E3�A�U7H�L$0�����M�FL�L$P�{H�L$0�u6���H�T$HH��r
H��H�L$0���H�d$@L�l$H�D$0H�T$hH��r
H��H�L$P���H�E�H�E�H�E�H�E�H�E�L�e�H�E�H�E�L�e�H�E�H�E�H�E�H�E�H�E�H�E�(�@E�(�PM�H�M����H�D$ L�M�D�ú�H���h��H��t8������G�u*H�H��H��
�����W�uH�H��H�B���H��H��pH3��L��$�I�[0I�sHI��A^A]A\_]�@USVWATAUAVAWH��$���H��8H�)�DH3�H�� I��M��H��L��H�L$`H��xL��xL���E3�E90�D9����W����L���A�8��I�HH����H�H�@�"������D��I�OH�H��������L��E;eu
I;E��H����r�H��I�MA�E��H�U�9	L��H�\$ E��I��H�� ���H�� H�D$ L��M��H�T$0L�d$`I���+��L�t$0H�\$8M����H��t�CH�\$8L�t$0L�t$hH�\$p�D$@�D$xH���H;��tL�2H�Z3�H�L$p�BH����L�D$hH�������H�L$pH��tNA��A����AA�u3H�\$pH�H��H����A����CA�uH�L$pH�H�@���L�t$0H�\$8I�VH�������H��tKA��A����CA�u:H�\$8H�H��H����A����CA�uH�L$8H�H�@�h��L�d$`A�O8���L��H�ȸ?���H#�3�I�G0H��D$ �D��D��H����B��A�@t3I�EH���H;�t@P)��H`)�A�O<�p������H�E�H�E�H�E�H�E�H�E�A�L�m�H�E�H�E�L�m�H�E�H�E�H�E�H�E�H�E�H�E�(��E�(�M�H�����H�D$ L�M�D��I��H�����L�|$ L���L��H�T$HI���p��H�D$HE3�H����H�\$PH��t�DkH�\$PH�D$HH�E�H�]�D�D$XD�E�H���H;��tH�H�ZI��H�M�D�BH����L�E�H������H�M�H��tGA��A����AA�u1H�]�H�H��H����A����CA�uH�M�H�H�@�}�H�\$PH���H�H���H�FH���H�FW����L���H��tEA��A����CA�u4H�\$PH�H��H���A����CA�uH�L$PH�H�@����H���H��tmL���I;�t3�H��莜��H��I;�u�H���H���H+�H��������*H��H��H��H��?H�H�RH��H���e��W����L���H�WH��rH��H��>��L�H�GD�?�/L�2L�rL�rI�QH��rH��I�	�
��L�wH�GD�7H��H�� H3���H��8A_A^A]A\_^[]�H��H�XH�pH�x UAVAWH��x���H��pH�g�DH3�H��`M��H��L��H���H���H+�H��H���d�D��H���H�	�7��0�FH���H���H+�H��H;��KD��H�T$`H�I�_7W�D$0H�^H��t�{H�^H�FH�D$0H�\$8A�?��H��t�{H�D$ H�\$(L�L$ L�D$`H���I�������tE�NL�D$`H���H�L$0���t@2�H��t8������C�u*H�H��H��������S�uH�H��H�B���@��H��`H3��:
L��$pI�[ I�s0I�{8I��A_A^]�H�f�H�L$@�@���H��UDH�L$@�[���e���H��UH�L$@����H��WDH�L$@�2���<������H��H��t!��t��t��uD�A�D�A�	D�A�D�H��H�H���H�L$ �Z2��H��WDH�L$ ����H��H�XH�pH�xL�p UH�h�H��H�B0H���?�A��H��A�D�D#�}
E+�A��E�E����I�@@�8���x��I�@ �#�}	A+΃�A΅���fo�=H�E'H�H�U'H�E�H�E+H�E�H�E/H�EH�E;H�EH�U�H�E�L�u�L�u�H�EH�EE'E7L���I���#H���I���$����fod=H�E'H�E�H�U'H�E+H�U�H�E�H�E/H�EH�E;H�EH�E�L�u�L�u�H�EH�EE'E7L��I����H��I��������H���H�HH+H��A;�us@��t	���ueH�OM��H�GH��L��I;�tHcH��L��I;�u�I����-w5I��I;�t-HcH��H��I;�u�H��P�rH�O@�9}�y|A���2�L��$�I�[I�sI�{ M�s(I��]���H�\$D�L$ UVWATAUAVAWH�l$�H��H��DH3�H�EA��H�U�H��A�!A���-��H�P@E3�L�uL�uH�M��������}-��H�P@L�u�L�u�H�M�����W�3�E�H�E�H�U�H�������W�H�U�H+U�H���E�L�u�L�EH�M������E�e�E��D�e�A��A���-��L�mH�}�L9p0L�u���H�E�I��HCE��0�C���w6��ft�A�<w*H�E�H��ICƀ<0?u
H�EϋM��H�E�D�$����!t0��zu+H�E�H��ICƀ<0?u
H�EϋM��H�E�D�<�D�}��TL�}�H��MC�L�E�M��t��I����H��H��tI+��H��H�����H�E��H�Eω�H�}�L�u�D�}�H�ƹ!�,��H;p0����A��u	E;���3��N!��+��H9p0��H�E�I��HCE��0��xu@H�]�H��IC�L�E�M��t�xH���^�H��H��tH+��H��H�Mϋ�A���C��yuIH�]�H��IC�L�E�M��t�yH����H��H��tH+��H��H�Mϋ�A�lj�L�u�H�}�H�ƹ!�9+��H;p0�F���A�H�U�H�]�H���i���H�M�H��tH�U�H+�H���{��W��E�H�e�H�M�H��tH�U�H+�H���U��W��E�H�e�H��r
H�WI���6���I��r
I�UH�M��"��H��H�MH3���H��$H��A_A^A]A\_^]�H���H�M����H�yODH�M�������H��H�XH�pH�xUATAUAVAWH��x���H��`E��L��E��u��@2�H���H�H;���H�KH�H�@���H���U8��H;��qH�KH�H�@���H������H;��OH�KH�H�@�a�H���7��H;���W�D$0L�{I�I��H�@�4�H���|7��H;���M�wM��t	�A�FM�wI�GH�D$0L�t$8H�L$ H���W��D$ M��t�A�FH�D$ L�t$(H�CL���H���I+�H��H���>A�H�T$`I�I�.H��H���H�K�oH��L�L$ L��I�������ttE�E�H�SI���h���@��M��tTA��A���A�NA�uBI�I��H��C�A���A�FA�u%I�I��H�@�%��E�E�H�SI������@��H��I���@2�M��t@���A�F��u2I�I��H�������A�F��uI�I��H�@����@2�@��L��$`I�[0I�s8I�{@I��A_A^A]A\]�H�E5H�L$@�o���H��LDH�L$@����������H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�LH��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@��H���[H;�u#L��H��H���H�\$PH�l$XH�t$`H��@_�H��4H�L$ ��H�3LDH�L$ ����L��SVWH��`H�7�DH3�H�D$PH��H��I�S�E�C�I�S�I�K��H��H�OL��H�T$0�x���H�H��0H��襡���H�\$(H��t9������C�u+H�H��H��A�����C�uH�H��H�@�&��H�VH��rH��H�����H�fH�F�H�L$PH3��H��`_^[����@SH��@H���*H9u	H��H��@[�H��[H�L$ ��H�KDH�L$ ����H�\$WH��H��DH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@�X�H�L$xH��tYH�H��H�@�M�H�H�L$xH��tH�H�T$@H;���H�@ �(�H��H��$�H3���H��$�H�Đ_�����H�GZH�L$(���H�NJDH�L$(�������@SH��@H�BH9Hu;L��H�L$PH�T$ E3��c���H�T$ H�����H���mH;��H��@[�H��YH�L$ �`�H��IDH�L$ �{����@SH��H�BL��H9HuJH�T$@I����*�d$0H��HH�T$(�L$ �H�T$ H���k���H����H;��H��[�H�QYH�L$ ���H�XIDH�L$ ����H��H�XH�hH�p H�HWH�� I��H��H���@�	�H��H�D$0H��t,W���C�CH���H�H�KL��H�������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H���8�H��H�D$0H��t)W���C�CH�+�H�H�KH���3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H�\$WH�� H��H��� �
�H�D$0L��H��t0W��A�@A�@H��I�H�A�I�@�A�@�E3�I�@W�H�H��L�CH�\$8H�� _����H��H�XH�hH�p H�HWH�� I��H��H�����}�H��H�D$0H��t,W���C�CH���H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H���X
�H���H�L�wI�I��H�@���H����H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H��9�����C�uH�H��H�@���H��H�\$XH�t$`H�|$hH��@A^�H��.H�L$ ���H�TFDH�L$ �����L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S���H�z�H�H�[H��t9����C��u,H�H��H��z�����C��uH�H��H�@�]�H��H�\$PH��0_����H�\$H�t$WH�� H��I��I��H���l��D��L��H��H���S���H�\$0H�?�H�H��H�t$8H�� _���H�\$H�T$WH��0H��H��W��D$ L�JM��t	�A�AL�JH�H�D$ L�L$(H�T$ ����H���H�H�[H��t9����C��u,H�H��H��������C��uH�H��H�@�i�H��H�\$PH��0_����H�\$H�L$WH��@H��H������H���H��~H9u4H���H������ �������$H��H�\$XH��@_�H��SH�L$ ���H�EDDH�L$ ������@SH�� H���H��H���t
�@�>�H��H�� [������@SH�� H���H��H���t
�8��H��H�� [������@SH�� H���H��H���t
� ��H��H�� [������@SH�� H��H��H���t
���H��H�� [������H�Q�H�H�����H�
������������H���D���������H�\$H�t$WH��@I�H��I��I��H��H�@���H;�u;H�H��H�@���H����H;�uAH��H���[H�\$PH��H�t$XH��@_�H��PH�L$ �K�H��BDH�L$ �f��H��*H�L$ �(�H��BDH�L$ �C����H�\$UVWH��$@���H��H���DH3�H���H��H��W�D$0H�ZH��t�CH�ZH�BH�D$0H�\$8H���H���H+�H��H���>A�H��0H�	�"H���H���H+�H��H���
A�H���H�I�}"H�E�H�D$@H�D$HH�E�H�D$PH�D$XH�E�H�D$`H�D$hH�E�H�D$pH�D$xH�E�H�E�H�E�(�E�(� M�H�M����H�D$ L�L$@D��8H��0H������H��t8������C�u*H�H��H��������S�uH�H��H�B���H��H���H3��B�H��$�H��_^]�������������H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@�@�H;���H�H��H�@�'�H���o
H;�uML��H�T$PH���b���H�H� H�H�L$PH��tH��H���H�\$XH��H�t$hH�l$`H��@_�H�v(H�L$ ��H�@DH�L$ ���H�kNH�L$ �}�H��?DH�L$ ����������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@�P�H;���L��H�L$ H������H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H��������C�uH�H��H�@�޿H�\$`H��H�l$hH�t$pH��P_�H��MH�L$0��H�?DH�L$0������H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0�g���H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H��
�����C�uH�H��H�@���H�L$(H��t=����A�u2H�\$(H�H��H��Ⱦ����C�uH�L$(H�H�@����H�_H��t5����C�u*H�H��H��������C�uH�H��H�@�l�H��L�\$`I�[I�kI�s I��_�H��LH�L$@�&�H��=DH�L$@�A��H�\$H�t$WH��@I�H��I��I��H��H�@��H;�u8H�H��H�@��H���;H;�u>H��H����H�\$PH�t$XH��@_�H��KH�L$ ��H�=DH�L$ ���H�Q%H�L$ �{�H��<DH�L$ ��������H�\$H�t$WH��@I�H��I��I��H��H�@�X�H;�u8H�H��H�@�C�H���H;�u>H��H�����H�\$PH�t$XH��@_�H��JH�L$ ���H�k<DH�L$ �	��H��$H�L$ ���H�H<DH�L$ ���������H�\$WH��PH��I9��I�����H�T$`H�D$`H�L$ �J�H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H��a�����C��uH�H��H�@�D�H�\$hH��H��P_�H��JH�L$0�	�H��;DH�L$0�$�����H��H�XH�HWH��H��M��D��H�T$ H�H 薵���H�T$ H��� ���H���H;8t5H�c8H�OpH��tH�H��H����H�C8H��H��$�H�Ġ_�H��KH�L$8���H��H�
G�D���L��H��H�L$X�b����L��KH��H�L$x�M����H��H�L$ �o��H��;DH�L$ �>���H��(�
�wGeH�%X�4H�ȋ
9wWGH�^WGH��(�H�
bWG�}��=VWG�u�W��9WG�x��H�H�@H�@f�@H�WGH�
0����H�
WG����H��(eH�%X�
9wG�4H�ȋ
9�VGH��uDH��(�H�
�VG����=�VG�u�H�
���(�H�
�VG�l�������������H�\$H�t$WH��@I�H��I��I��H��H�@��H;�u^H�H��H�@��H���;H;�uH��H���[H�\$PH��H�t$XH��@_�H�q!H�L$ ��H�9DH�L$ ���H��FH�L$ �x�H��8DH�L$ �����H�\$UVWAVAWH��$����H��pH��{DH3�H��`H��H��H�L$0W�D$hH�zH��t�GH�zL�rL�t$hH�|$pH�T$0H���5L�8H� L�}�H�L$0H��tH��H�@��H��%H��%A��$HE�3�A��H�M`�3��H�M`�5Y���3�D�BHH�M��H�CH�EW��D$(L�D$ H�T$(H�M����H�D$`H�D$X	�[R�D$H�WR�D$P�D$QL��H�T$HH�M�)��A��$t2H�E�H�E��D$xaxis�D$|E�� H�T$xH�M�A�H�E�H�D$8H�YBH�E�L�D$!H�UH�M��k����H�e�H�E��E�L�
Z�E3�A�PH�M��r����L�E�H�U�I��轸��I���D��H�UpI��H����H��H�Mx�l���H�U8H�M0H+�H���7���W�fE0H�e@H�M 襷���H�����w���H��$H���H�������I��SI��H�@���H��t5����G�u*H�H��H��������W�uH�H��H�B�ڶH��H��`H3��x�H��$�H��pA_A^_^]��@UH��H��H�E�H�EH���H�E�H�E�H�E�H�e�H�E��E�L�
!�E3�A�PH�M��!����H�U�H�M��S���H�Ā]�������������$����� ������H��8H�H�"H�D$ H�BH�bH�T$ H�D$(��H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@�ǵH����2��H;�u#L��H��H����H�\$PH�l$XH�t$`H��@_�H�@H�L$ �j��H��4DH�L$ ���@SH��@H���2��H9u	H��H��@[�H�IEH�L$ �+��H��4DH�L$ �F���H�\$WH��H��wDH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@��H�L$xH��tYH�H��H�@�ٴH�H�L$xH��tH�H�T$@H;���H�@ ���H��H��$�H3��Q�H��$�H�Đ_����H��CH�L$(�]��H��3DH�L$(�x�����@SH��@H�BH9Hu;L��H�L$PH�T$ E3������H�T$ H���y���H����H;��H��@[�H�bCH�L$ ����H�i3DH�L$ �����@SH��H�BL��H9HuJH�T$@I���m�d$0H��HH�T$(�L$ �\H�T$ H�����H���GH;��H��[�H��BH�L$ �g��H��2DH�L$ ����@SUVWATAUAVAWH��HH��uDH3�H��$0I��M��D��L��$�H��$���$�L��$�;���3�A��H�L$0�v��H�L$0�wS���H��H�{rH�L�CH�L$@��#��H�h/H���� ��H�ȋ��/��H��H��Q�� ��H��H�rH�L�GH���#��H�'/H��� ��H�ȋ��A/��H��H�7,� ��H����%��L�l$ L�L$0M��A��I���Z���H��$���r���H��H��$�H��$�����H��$0H3����H��HA_A^A]A\_^][���H��H�XH�hH�p H�HWH�� I��H��H���@�%�H��H�D$0H��t,W���C�CH�p�H�H�KL��H���z����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H���X��H��H�D$0H��t)W���C�CH��H�H�KH���3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H������H��H�D$0H��t,W���C�CH�8�H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H������H�4�H�L�wI�I��H�@��H���=-��H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H��ѯ����C�uH�H��H�@����H��H�\$XH�t$`H�|$hH��@A^�H�EH�L$ �o��H��.DH�L$ ���L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��m�H���H�H�[H��t9����C��u,H�H��H�������C��uH�H��H�@���H��H�\$PH��0_����H�\$ UVWAVAWH�l$�H���I��H��H��H�M'I�����D��L��H��H���F����H���H�E3�L�uE�~L�}D�uL�
��E��A�V H�M�1����L�}�H�E��N��E��I��E�D�u�L�u�L�}�D�u�L�
s�E��A�VH�M�����L�u�L�}�D�u�L�
g�E��A�V9H�M��Ǩ���H�^pH�H��H�@��L��H�EH�D$8D�t$0H�E�H�D$(��0�D$ L�M�A�VCH�M��M����H�U�H��rH��H�M��v���L�u�L�}�D�u�H�U�H��rH��H�M��T���L�u�L�}�D�u�H�U�H��rH��H�M��2���L�u�L�}�D�u�H�UH��r
H��H�M�����H��H��$H���A_A^_^]��L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��u���H���H�H�[H��t9����C��u,H�H��H��������C��uH�H��H�@���H��H�\$PH��0_����H�\$H�L$WH��@H��H���6����H��H��)��H9uTH�2�H������0�����4�����8�����<�����@H��H�\$XH��@_�H��:H�L$ ����H�]+DH�L$ ������������@SH�� H���H��H���t
�@�N�H��H�� [������@SH�� H���H��H���t
�X��H��H�� [������@SH�� H��H��H���t
�����H��H�� [������H�\$H�t$WH��@I�H��I��I��H��H�@�(�H;�u;H�H��H�@��H���3(��H;�uAH��H���;��H�\$PH��H�t$XH��@_�H�a8H�L$ ���H�8*DH�L$ �ֻ�H�nH�L$ ���H�*DH�L$ 賻���H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@�p�H;���H�H��H�@�W�H���w'��H;�uML��H�T$PH������H�H� H�H�L$PH��tH��H���H�\$XH��H�t$hH�l$`H��@_�H��H�L$ ����H�M)DH�L$ ���H��7H�L$ ���H�*)DH�L$ �Ⱥ��������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@���H;���L��H�L$ H���w���H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H��)�����C�uH�H��H�@��H�\$`H��H�l$hH�t$pH��P_�H��6H�L$0����H�F(DH�L$0������H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0�{���H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H��=�����C�uH�H��H�@�"��H�L$(H��t=����A�u2H�\$(H�H��H��������C�uH�L$(H�H�@�ۧ�H�_H��t5����C�u*H�H��H��������C�uH�H��H�@���H��L�\$`I�[I�kI�s I��_�H��5H�L$@�V��H��&DH�L$@�q��H�\$H�t$WH��@I�H��I��I��H��H�@�8�H;�u8H�H��H�@�#�H���C$��H;�u>H��H����H�\$PH�t$XH��@_�H��4H�L$ ����H�K&DH�L$ ���H��H�L$ ���H�(&DH�L$ �Ʒ������H�\$H�t$WH��@I�H��I��I��H��H�@���H;�u8H�H��H�@�s�H���#��H;�u>H��H���g�H�\$PH�t$XH��@_�H�4H�L$ ���H��%DH�L$ �9��H��
H�L$ ���H�x%DH�L$ ��������H�\$WH��PH��I9��I���n�H�T$`H�D$`H�L$ �^�H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H��������C��uH�H��H�@�t�H�\$hH��H��P_�H��3H�L$0�9��H��$DH�L$0�T�����H��H�XH�HWH��H��M��D��H�T$ H�H �ƞ���H�T$ H���P|��H���H;8t5H�c8H�OpH��tH�H��H��ڤH�C8H��H��$�H�Ġ_�H�5H�L$8����H��H�
�D�Ƴ��L��H��H�L$X蒙���L��4H��H�L$x�}����H��H�L$ 蟯��H��$DH�L$ �n���H��(�
aGeH�%X�4H�ȋ
9�@GH��@GH��(�H�
�@G���=�@G�u�W���@G�x�O�H�H�@H�@f�@H�_@GH�
�z���H�
[@G���H��(eH�%X�
i`G�4H�ȋ
9@GH��^DH��(�H�
@G���=�?G�u�H�
=z�X�H�
�?G��������������H�\$H�t$WH��@I�H��I��I��H��H�@�8�H;�u^H�H��H�@�#�H���C ��H;�uH��H���[H�\$PH��H�t$XH��@_�H��
H�L$ ����H�H"DH�L$ ���H�0H�L$ ���H�%"DH�L$ ��H��H�XUVWATAUAVAWH������H��0)p�)x�D)@�H�eDH3�H���H��L��H�L$8H�T$8H���z�H�0E3�L�(H�uPH�L$8H��tH�A�UH�@�2�W�D$`H�{H��t�GH�{H�CH�D$`H�|$hD��0��4��8�D�<H�
��L�=��D9�@LD�H���H���H+�H��H���8H�3�A��H����
��H����B���3�D�BHH������H��+H���W��D$0L�D$(H�T$0H���谊���H�E0H�D$ H�H��H�@�2�L�m@L�mHH��H�M0�޳���A�L�m�A�]�H�]�H�input idH�D$p�D$xL�E0H�T$pH����}��L�m�H�E�f�E�k(�H�U�H����|��L�l$XH�D$P����D$@����D$D�D$E(�H�T$@H����J|��L�m�H�E��E�beta�E�A(�H�U�H����|��H�e�L�m��E�L�
#�E3��S
H�M���E��H�U�H������E3�L�eL�mD�e�L�
�E�čSH�M�輚��M��H�U�H����]��H�EXH�D$ H�A*H�EXL�D$)H���H�M`�Pt���L�m(H�] H�lrn infoH�ED�eL�EXH�UH��豠��H���D��H��H��H��y�I��H���Z����H���H���H+�H������W�f��L���H���腟���H�����_���H�tH���H���詻�H��t6����G�u+H�H��H�������G�uH�H��H�@�Ξ�L��H��I�@���I��H���H3��V�L��$0I�[PA(s�A({�E(C�I��A_A^A]A\_^]����������̋�0�����4�����8�����<�����@�������H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@�ӝH���;���H;�u#L��H��H���XH�\$PH�l$XH�t$`H��@_�H�LH�L$ �v��H��DH�L$ 葮�@SH��@H�����H9u	H��H��@[�H�U-H�L$ �7��H��DH�L$ �R���H�\$WH��H��_DH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@�P�H�L$xH��tYH�H��H�@��H�H�L$xH��tH�H�T$@H;���H�@ ���H��H��$�H3��]�H��$�H�Đ_�苮�H��+H�L$(�i��H��DH�L$(脭����@SH��@H�BH9Hu;L��H�L$PH�T$ E3�����H�T$ H���s��H���H;��H��@[�H�n+H�L$ ���H�uDH�L$ �����@SH��H�BL��H9HuJH�T$@I���y��d$0H��HH�T$(�L$ �<H�T$ H���s��H���'H;��H��[�H��*H�L$ �s��H��DH�L$ 莬��H��H�XH�hH�p H�HWH�� I��H��H���@��H��H�D$0H��t,W���C�CH�T�H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H������H��H�D$0H��t)W���C�CH���H�H�KH���3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H������H��H�D$0H��t,W���C�CH��H�H�KL��H���
����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H���l��H�X�H�L�wI�I��H�@���H������H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H��M�����C�uH�H��H�@�2��H��H�\$XH�t$`H�|$hH��@A^�H��H�L$ ���H�hDH�L$ ����L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S����H��H�H�[H��t9����C��u,H�H��H��������C��uH�H��H�@�q�H��H�\$PH��0_����@USVWAVH��$����H��@H��ZDH3�H��0I��H��H��H�M�I���d���D��L��H��H���7����H�˿H�H���H���H+�H��3�H���YA�H�U�H�	��D�sL�u�L�u����E����E��ܚf�E��Ԛ�E��]�L�t$XH�D$P����D$@����D$H�\$LH�\$pL�t$x�\$`L�
�D�ÍS:H�L$`�����H�H��H�@�@�L���D$0H�E�H�D$(�E��D$ L�L$@�SRH�L$`��<���H�T$xH��r
H��H�L$`�ʍ��H�\$pL�t$x�\$`H�T$XH��r
H��H�L$@褍��H�\$PL�t$X�\$@H�U�H��r
H��H�M�耍���H��H��0H3��M�H��@A^_^[]������L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��]���H�ҽH�H�[H��t9����C��u,H�H��H��"�����C��uH�H��H�@��H��H�\$PH��0_����H�\$H�l$ VWAVH��PH��H��H�L$(蒈���H��H��2���H9E�fH��H�H���H���E3�L�qA�^H�YD�1����H���H���L�qH�YD�1�ʈ���H���H���L�qH�YD�1諈���H���H���L�qH�YD�1茈���H���H��L�qH�YD�1�m����H���H�� L�qH�YD�1�N���������@�����DH���H���H��HL�1L�qL�qD�L$ L��舍���H��H��`L�1L�qL�qD�L$ L��H��������x����|H��L�\$PI�[0I�k8I��A^_^�H�#H�L$0�%���H��DH�L$0�@�����H�\$H�t$WH�� H��3�H��`H��t(H��pH+�H���Ɋ��H��`H��hH��pH��HH��t(H��XH+�H��蕊��H��HH��PH��XH��8H��rH�� H���d����H��0H��8@�� H��H��rH��H���.���H��H��@��H���H��rH���H�����H���H���@���H���H��rH���H���̉��H���H���@���H���H��rH���H��蛉��H���H���@���H���H��rH���H���j���H��8H���H���@����1���H�S(H��rH�KH���3���H�s(H�t$8H�{ @�{H�\$0H�� _��������@SH�� H�[�H��H���t
�@��H��H�� [������@SH�� H�S�H��H���t
���~�H��H�� [������@SH�� H�ӺH��H���t
���N�H��H�� [������H�\$WH�� H�ً�H��8�M���H�S(H��rH�KH���O���H�c H�C(�C@��t
��H�����H��H�\$0H�� _��������������H�\$WH�� ��H��������t
��H����H�\$0H��H�� _�������������H�\$H�t$WH��@I�H��I��I��H��H�@�ؐH;�u;H�H��H�@�ÐH���+�H;�uAH��H���[H�\$PH��H�t$XH��@_�H�H�L$ �k���H��DH�L$ 膡�H��H�L$ �H���H��DH�L$ �c����H�\$H�l$ VWAVH��H��RDH3�H��$�H���H��H���H��H+�H��H����H�	H��$ A���H��趃��L�����H���H�I+�H��H��H��H;���I��H��$�A���L��$�H��$�H��$PH��$�����A�NH��E�D���L$ H�L$0膹��H��$ L��A�H�t$ H��脕��H��H��$�H3����L��$�I�[0I�k8I��A^_^��<���������������H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@��H;���H�H��H�@�ǎH���/�H;�uML��H�T$PH���j�H�H� H�H�L$PH��tH��H����H�\$XH��H�t$hH�l$`H��@_�H��H�L$ �@���H��
DH�L$ �[��H�H�L$ ����H��
DH�L$ �8���������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@��H;���L��H�L$ H���k�H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H��������C�uH�H��H�@�~�H�\$`H��H�l$hH�t$pH��P_�H�gH�L$0�9���H��DH�L$0�T�����H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0�o�H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H��������C�uH�H��H�@����H�L$(H��t=����A�u2H�\$(H�H��H��h�����C�uH�L$(H�H�@�K��H�_H��t5����C�u*H�H��H��'�����C�uH�H��H�@��H��L�\$`I�[I�kI�s I��_�H�4H�L$@�Ƴ��H�CDH�L$@���H�\$H�t$WH��@I�H��I��I��H��H�@���H;�u8H�H��H�@���H����H;�u>H��H����H�\$PH�t$XH��@_�H�,H�L$ �>���H��
DH�L$ �Y��H���H�L$ ����H��
DH�L$ �6�������H�\$H�t$WH��@I�H��I��I��H��H�@���H;�u8H�H��H�@��H���K�H;�u>H��H�����H�\$PH�t$XH��@_�H�|H�L$ 莲��H�
DH�L$ 詛�H�A�H�L$ �k���H��	DH�L$ 膛������H�\$WH��PH��I9��I�����H�T$`H�D$`H�L$ �R�H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H�������C��uH�H��H�@��H�\$hH��H��P_�H�WH�L$0話��H�&	DH�L$0�Ě����H��H�XH�HWH��H��M��D��H�T$ H�H �6����H�T$ H���`��H����H;8t5H�c8H�OpH��tH�H��H��J�H�C8H��H��$�H�Ġ_�H��H�L$8�t��H��H�
w�D�6���L��H��H�L$X�~���L�"H��H�L$x��}���H��H�L$ ����H�0	DH�L$ �ޙ��������������H�\$H�|$ H�T$UH��H��0H��H���e�W�3�H�BH!H!BH!B�E�H���H�EL�E3�H���
��H���H�EH�SH;St
H�H�C�L�EH����	��H���t+H���H�EH�SH;St
H�H�C�L�EH���	��H���t+H���H�EH�SH;St
H�H�C�L�EH���	��H��t+H��H�}H�SH;St
H�:H�C�L�EH���R	��H��H�\$PH�|$XH��0]����H��(�
.DGeH�%X�4H�ȋ
9$GH��#GH��(�H�
�#G���=�#G�u�W���#G�x�{�H�H�@H�@f�@H��#GH�
,^���H�
�#G�*��H��(eH�%X�
�CG�4H�ȋ
9_#GH�2BDH��(�H�
J#G�I��=>#G�u�H�
�]脾H�
)#G�ȿ��������H�\$H�t$WH��@I�H��I��I��H��H�@�h�H;�u^H�H��H�@�S�H����H;�uH��H���[H�\$PH��H�t$XH��@_�H���H�L$ ���H�xDH�L$ ���H�>H�L$ �ح��H�UDH�L$ �����H�\$UVWATAUAVAWH��$����H��pH�BHDH3�H��`H��L��H�L$hE3�D�l$ W���H�zH��t�GH�zH�rH���H���H�T$hH����L�0L�(L��H�L$hH��tH��H�@�:�H���L��PL��XH��@�ٗ���H���L��0L��8H�� 跗���H���H��H������A���u+L���L���H��H����y���H���A�\$��;L�e�H�E�����D$p���f�D$t�y��D$vD�l$wH�T$p��\$ L��L��H���������t'��H�U�H��r
H��H�L$p�{��L�m�L�e�D�l$p��t��H���H��rH��H�����z��L�� H�#�I���#�����u)L���L���I��H���芖��H������1H�E�H�E��Ϋ�E��˫�E�D�m�H�U����\$ L���L���H����/������t-��\$ H�U�H��rH��H�M��z��L�m�H�E�D�m���t#��\$ H���H��rH��H�����y��L���H�6�I���6�����u/L��L��I��H��蝕��H��A�A��3L�m�H�E�D�m�L�
�E��A�A��H�M��_}��H�U��� �\$ L���L���H����:������ t(���H�U�I;�rH��H�M��,y��L�m�H�E�D�m�A��t���H��I;�rH��H���x��H�R�H���N�����u2L��0L��8H��H�� 豔��H�� ��@��K�H�t$XH�t$P���D$@���D$H��f�D$L���D$ND�l$OH�T$@���\$ L���L���H����7������y.���\$ H�T$XI;�r
H��H�L$@�#x��L�l$PH�t$XD�l$@��@tH��8I;�rH��H�� ��w��3�A��H��`耤�H��`�!���3�D�BHH��P�\�H�MH��PW��D$`L�D$0H�T$`H��X�#j���H��@H�D$(L��PL��XH��@H��@�Q����H�uhH�E`
�t��EP�p�f�EXD�mZL��@H�UPH��P��\��H��`H�D$(L��pL��xH�� H��`����H���HDž��i��Ep�f��ExD�m|L��`H�UpH��P�\��H���H�D$(L���L���H��H����s����H�uH�E����E����f�E����E�D�m�L���H�U�H��P�\��H���H�D$(L���L���H���H��������H�u(H�E ����E����ED�mL���H�UH��P�[��H���H�D$(L���L���H���H���薑���L���H���D���L�
9�E�źH����ey���L���H���H��P�*[��H���H�D$8L���L���H���H��������H�u�H�u����EЋ��E��ۦf�E܊Ӧ�E�D�m�L���H�U�H��P�Z��H��H�D$8H��L�D$1H��XH���tR���H�uHH�E@	�w��E0�t��E8D�m9L��H�U0I����~��I���D��H��pI��H���}I��H��x�o���H��xH��pH+�H���4t��W�f�pL���H��`�}���H�����=���H���H���H���辙�H���I;�rH��H�����s���H���I;�rH��H����s���H���I;�rH��H����s���H��I;�rH��H���~s���H��8I;�rH��H�� �bs���H��XI;�rH��H��@�Fs���I��I��H�@�`|�H��t5����G�u*H�H��H��@|����W�uH�H��H�B�%|I��H��`H3��ïH��$�H��pA_A^A]A\_^]���������H�\$WH�� H���H��H�xH��rH�H���H���H�xrH�H���H���H�xrH�H���H�� H�xrH�H���H���H�xrH�H���H��H�xrH�H���A���x����|��H��HH��PH+�H��I;�uH����l�H��`A�H��hH+�H��I;�uH����@���@�����DH�\$0���H�� _��H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@�_zH���/��H;�u#L��H��H���XH�\$PH�l$XH�t$`H��@_�H���H�L$ ����H��CH�L$ ���@SH��@H������H9u	H��H��@[�H��	H�L$ �á��H�@�CH�L$ �ފ��H�\$WH��H�@<DH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@��H�L$xH��tYH�H��H�@�qyH�H�L$xH��tH�H�T$@H;���H�@ �LyH��H��$�H3���H��$�H�Đ_����H�kH�L$(���H�r�CH�L$(������@SH��@H�BH9Hu;L��H�L$PH�T$ E3��r���6H�T$ H���P��H���!H;��H��@[�H��H�L$ 脠��H��CH�L$ 蟉���@SH��H�BL��H9HuJH�T$@I�����d$0H��HH�T$(�L$ �H�T$ H���O��H���H;��H��[�H�uH�L$ ���H�|�CH�L$ ����H��H�XH�hH�p H�HWH�� I��H��H���@�-�H��H�D$0H��t,W���C�CH���H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H����褩H��H�D$0H��t)W���C�CH���H�H�KH���3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H������H��H�D$0H��t,W���C�CH�H�H�H�KL��H���
����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H����H���H�L�wI�I��H�@�%vH�����H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H���u����C�uH�H��H�@��u�H��H�\$XH�t$`H�|$hH��@A^�H�M�H�L$ �w���H���CH�L$ 蒆��L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��u�H�žH�H�[H��t9����C��u,H�H��H��u����C��uH�H��H�@��tH��H�\$PH��0_����@USVWAVH��$����H��@H�W7DH3�H��0I��H��H��H�M�I����|��D��L��H��H���7����H�o�H�H���H���H+�H��3�H���aA�H�U�H�	�i�D�sL�u�L�u��qw�E��nw�E��hwf�E��`w�E��]�L�t$XH�D$P�Fw�D$@�Bw�D$H�\$LH�\$pL�t$x�\$`L�
E�D�ÍS>H�L$`�n���H�H��H�@��sL���D$8�D$0H�E�H�D$(�E��D$ L�L$@�SDH�L$`�O����H�T$xH��r
H��H�L$`�Nj��H�\$pL�t$x�\$`H�T$XH��r
H��H�L$@�(j��H�\$PL�t$X�\$@H�U�H��r
H��H�M��j���H��H��0H3��ѦH��@A^_^[]��.�����L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��U���H�n�H�H�[H��t9����C��u,H�H��H���r����C��uH�H��H�@��rH��H�\$PH��0_����H�\$UVWH��PH��H��H�L$(�e���H�d�H��$��H9E��H�s�H�H���H��XH�aH�A��ue��������x�����|H���H���H���H�!H�aH�aD�L$ L���j���H���H���H�!H�aH�aD�L$ L��H����������������H��H��$�H��P_^]�H�1H�L$0�K���H���CH�L$0�f�������@SH�� H��H��H���t
�@辣H��H�� [������@SH�� H���H��H���t
��莣H��H�� [������H�\$H�t$WH��@I�H��I��I��H��H�@��pH;�u;H�H��H�@��pH�����H;�uAH��H���[H�\$PH��H�t$XH��@_�H��H�L$ �[���H���CH�L$ �v��H��H�L$ �8���H���CH�L$ �S����H�\$UVWAVAWH��@H��2DH3�H��$0L��W�D$0L�rM��t	�A�FL�rH�BH�D$0L�t$8H���H���H+�H��H����A�H��$�H�	���H��$�H��$�H��$�H��$��*x��H�����D�A����D$ A��H�L$@荙��L��H�l$ D��$�H��$�I���u���M��t:�����A�F�u+I�I��H��-o���A�V�uI�I��H�B�oI��H��$0H3�订H��$�H��@A_A^_^]�������H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@��nH;���H�H��H�@��nH���g��H;�uML��H�T$PH����H�H� H�H�L$PH��tH��H��UnH�\$XH��H�t$hH�l$`H��@_�H���H�L$ ����H���CH�L$ �+�H��H�L$ ���H�j�CH�L$ ���������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@��mH;���L��H�L$ H�����H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H��im����C�uH�H��H�@�NmH�\$`H��H�l$hH�t$pH��P_�H�7�H�L$0�	���H���CH�L$0�$~����H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0��H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H��}l����C�uH�H��H�@�bl�H�L$(H��t=����A�u2H�\$(H�H��H��8l����C�uH�L$(H�H�@�l�H�_H��t5����C�u*H�H��H���k����C�uH�H��H�@��kH��L�\$`I�[I�kI�s I��_�H��H�L$@薓��H��CH�L$@�|�H�\$H�t$WH��@I�H��I��I��H��H�@�xkH;�u8H�H��H�@�ckH���3��H;�u>H��H���O�H�\$PH�t$XH��@_�H���H�L$ ����H���CH�L$ �)|�H���H�L$ ���H�h�CH�L$ �|������H�\$H�t$WH��@I�H��I��I��H��H�@��jH;�u8H�H��H�@��jH�����H;�u>H��H����H�\$PH�t$XH��@_�H�L�H�L$ �^���H���CH�L$ �y{�H��H�L$ �;���H���CH�L$ �V{������H�\$WH��PH��I9��I����H�T$`H�D$`H�L$ ��H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H���i����C��uH�H��H�@��iH�\$hH��H��P_�H�'�H�L$0�y���H���CH�L$0�z����H��H�XH�HWH��H��M��D��H�T$ H�H �c���H�T$ H���@��H���H;8t5H�c8H�OpH��tH�H��H��iH�C8H��H��$�H�Ġ_�H�S�H�L$8�QT��H��H�
/�D�x��L��H��H�L$X��]���L��H��H�L$x�]���H��H�L$ ��s��H��CH�L$ �y��H��(�
B%GeH�%X�4H�ȋ
9/GH�GH��(�H�
G���=G�u�W���G�x菚H�H�@H�@f�@H��GH�
�?��H�
�G�>��H��(eH�%X�
�$G�4H�ȋ
9�GH�N#DH��(�H�
vG�]��=jG�u�H�
?蘟H�
UG�ܠ������������H�\$H�t$WH��@I�H��I��I��H��H�@�xgH;�u^H�H��H�@�cgH���3��H;�uH��H���[H�\$PH��H�t$XH��@_�H���H�L$ ����H���CH�L$ �&x�H�N�H�L$ ���H�e�CH�L$ �x���H�\$UVWAVAWH��$����H��H�V)DH3�H��pH��H��H�L$8W�E�H�ZH��t�CH�ZL�rL�u�H�]�H�T$8H��訵H�8H� H�}�H�L$8H��tH��H�@�afI��XH�eH�eH�M�y���3�A��H�Mp襉�H�Mp����3�D�BHH�M 臉L�=x�L�} W��D$0L�D$ H�T$0H�M(�TO���H�E�H�D$(H�e�H�e�H�UH�M��x���A�L�t$XH�D$P���D$@��f�D$D���D$F�D$GL�E�H�T$@H�M �#B��H�E�H�D$(L�}�L�D$!H�U(H�M���9���L�t$xH�D$p
����D$`����D$h����D$l�D$mL�E�H�T$`H���9f��H�A��E��H���H��H��eH��H��������H�UHH�M@H+�H���[��W�fE@H�ePH�M0�e���H���Y%���H�	�H��H���>��H�UH��r
H��H�M�W[���H��H��H�@�qd�H��t9A����CA�u,H�H��H��OdA����SA�uH�H��H�B�2dH��H��pH3��ЗH��$�H�ĀA_A^_^]��H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@��cH������H;�u#L��H��H���XH�\$PH�l$XH�t$`H��@_�H�$�H�L$ �N���H���CH�L$ �it�@SH��@H�����H9u	H��H��@[�H�-�H�L$ ����H���CH�L$ �*t��H�\$WH��H��%DH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@�(�H�L$xH��tYH�H��H�@��bH�H�L$xH��tH�H�T$@H;���H�@ ��bH��H��$�H3��5�H��$�H�Đ_��ct�H���H�L$(�A���H���CH�L$(�\s����@SH��@H�BH9Hu;L��H�L$PH�T$ E3���[���RH�T$ H���]9��H���=H;��H��@[�H�F�H�L$ �Љ��H�M�CH�L$ ��r���@SH��H�BL��H9HuJH�T$@I���Q��d$0H��HH�T$(�L$ ��H�T$ H����8��H���H;��H��[�H���H�L$ �K���H���CH�L$ �fr��H��H�XH�hH�p H�HWH�� I��H��H���@�y�H��H�D$0H��t,W���C�CH�T�H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H������H��H�D$0H��t)W���C�CH��H�H�KH���3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H�����i�H��H�D$0H��t,W���C�CH��H�H�KL��H���
����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H���D��H���H�L�wI�I��H�@�q_H�����H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H��%_����C�uH�H��H�@�
_�H��H�\$XH�t$`H�|$hH��@A^�H���H�L$ �Æ��H�@�CH�L$ ��o��L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��H���H�H�[H��t9����C��u,H�H��H��f^����C��uH�H��H�@�I^H��H�\$PH��0_����@USVWAVH��$����H��@H�� DH3�H��0I��H��H��H�M�I���<f��D��L��H��H���7����H�3�H�H���H���H+�H��3�H���aA�H�U�H�	赽D�sL�u�L�u���`�E���`�E���`f�E���`�E��]�L�t$XH�D$P��`�D$@��`�D$H�\$LH�\$pL�t$x�\$`L�
�D�ÍS?H�L$`��W���H�H��H�@�]L���D$8�D$0H�E�H�D$(�E��D$ L�L$@�SLH�L$`蛔���H�T$xH��r
H��H�L$`�S��H�\$pL�t$x�\$`H�T$XH��r
H��H�L$@�tS��H�\$PL�t$X�\$@H�U�H��r
H��H�M��PS���H��H��0H3���H��@A^_^[]��z�����L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��U���H�2�H�H�[H��t9����C��u,H�H��H���[����C��uH�H��H�@��[H��H�\$PH��0_����H�\$H�t$ WH��@H��H��H�L$ �eN���H�=�H��ս��H9��H�M�H�H���H��@H�a�H�q��N���H���H��`H�aH�q��N���H���H���H�aH�q��~N���H���H���H�aH�q��^N��������H��H�\$`H�t$hH��@_�H���H�L$(貂��H�/�CH�L$(��k�������������@SH�� H��H��H���t
�@��H��H�� [������@SH�� H���H��H���t
����H��H�� [������H�\$H�t$WH��@I�H��I��I��H��H�@�(ZH;�u;H�H��H�@�ZH���K���H;�uAH��H���[H�\$PH��H�t$XH��@_�H�a�H�L$ 軁��H�8�CH�L$ ��j�H�n�H�L$ 蘁��H��CH�L$ �j���H�\$H�t$ UWATAVAWH��$@���H��H�DH3�H���H��L��W�D$0L�zM��t	�A�GL�zH�BH�D$0L�|$8H���H���H+�H��H���A�H���H�	��H���H���H+�H��H����A�H��0H�I��H��pH��`H���H�M��Pa��L���D$ D�ND��H�L$@辂��L��L�t$ D���H���I���^���M��t:�����A�G�u+I�I��H��`X���A�W�uI�I��H�B�DXI��H���H3���L��$�I�[@I�sHI��A_A^A\_]��1����H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@��WH;���H�H��H�@��WH�����H;�uML��H�T$PH����H�H� H�H�L$PH��tH��H���WH�\$XH��H�t$hH�l$`H��@_�H��H�L$ �@��H���CH�L$ �[h�H��H�L$ ���H���CH�L$ �8h��������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@��VH;���L��H�L$ H�����H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H���V����C�uH�H��H�@�~VH�\$`H��H�l$hH�t$pH��P_�H�g�H�L$0�9~��H���CH�L$0�Tg����H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0��H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H���U����C�uH�H��H�@��U�H�L$(H��t=����A�u2H�\$(H�H��H��hU����C�uH�L$(H�H�@�KU�H�_H��t5����C�u*H�H��H��'U����C�uH�H��H�@�UH��L�\$`I�[I�kI�s I��_�H�4�H�L$@��|��H�C�CH�L$@��e�H�\$H�t$WH��@I�H��I��I��H��H�@��TH;�u8H�H��H�@��TH���˶��H;�u>H��H���3�H�\$PH�t$XH��@_�H�,�H�L$ �>|��H���CH�L$ �Ye�H��H�L$ �|��H���CH�L$ �6e������H�\$H�t$WH��@I�H��I��I��H��H�@��SH;�u8H�H��H�@��SH������H;�u>H��H�����H�\$PH�t$XH��@_�H�|�H�L$ �{��H��CH�L$ �d�H�A�H�L$ �k{��H���CH�L$ �d������H�\$WH��PH��I9��I����H�T$`H�D$`H�L$ �z�H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H��S����C��uH�H��H�@��RH�\$hH��H��P_�H�W�H�L$0�z��H�&�CH�L$0��c����H��H�XH�HWH��H��M��D��H�T$ H�H �6L���H�T$ H���)��H���H;8t5H�c8H�OpH��tH�H��H��JRH�C8H��H��$�H�Ġ_�H���H�L$8�=��H��H�
כD�6a��L��H��H�L$X�G���L�"�H��H�L$x��F���H��H�L$ �]��H�0�CH�L$ ��b��H��(�
rGeH�%X�4H�ȋ
9w�FH�^�FH��(�H�
b�F���=V�F�u�W��9�F�x迃H�H�@H�@f�@H��FH�
)�+��H�
�F�n��H��(eH�%X�
�
G�4H�ȋ
9��FH��DH��(�H�
��F荊�=��F�u�H�
�(�ȈH�
��F��������������H�\$H�t$WH��@I�H��I��I��H��H�@��PH;�u^H�H��H�@��PH���˲��H;�uH��H���[H�\$PH��H�t$XH��@_�H��H�L$ �;x��H���CH�L$ �Va�H�~�H�L$ �x��H���CH�L$ �3a���H�\$H�t$ UWATAVAWH��$���H��0H��DH3�H�� H��L��H�L$@E3�D�d$ W�E(H�zH��t�GH�zH�rH�u(H�}0H�T$@H���ʞL�0L� L���H�L$@H��tH��H�@��OH��@L��L��H��� b���H��`L���L���H����a���H���H�_�H���_v����uL�eHL�ePH��H�M8��a��H�U8��AH�D$`H�D$X��Q�D$H��Qf�D$L��Q�D$ND�d$OH�T$H��\$ L���L���H����ea�����t2��\$ H�T$`H��r
H��H�L$H�PE��L�d$XH�D$`D�d$H��t��\$ H�UPH��rH��H�M8�E��H�t�H����pu����u!L�ehL�epH���H�MX��`��H�UX���3L�d$xH�E�D�d$hL�
2vE�ĺH�L$h�H��H�T$h���\$ L���L���H����`�����t0��\$ H�U�H��r
H��H�L$h�nD��L�d$xH�E�D�d$h��tH�UpH��rH��H�MX�AD��3�A��H�� ��p���H�� ����3�D�FGH��P�pH���H��PW��D$8L�D$0H�T$8H��X�n6���H�ExH�D$(L���L���H��H�Mx�_���H�E�H�E�
��O�E���Of�E�D�e�L�ExH�U�H��P�A)��H���H�D$(L���L���H���H����4_���H�EH�E���t�E��t�E�D�e�L���H�U�H��P��(��H���H�D$(L���L���H���H�����^���H�E�H�E���N�E���Nf�E���N�E�D�e�L���H�U�H��P�\(��H���H�D$(L���L���H���H����O^���H�E H�E	�.w�E�+w�ED�eL���H�UH��P��'��H��H�D$(H��L�D$1H��XH������H�E�H�E���v�E���v�E���vf�E�D�e�L��H�U�I���K��I���D��H��0I��H���JI��H��8螨���H��xH��pH+�H���cA��W�f�pL���H��`��J���H�������H���H���H�����f�H���H��rH��H����A���H���H��rH��H�����@���H���H��rH��H�����@���H��H��rH��H���@���I���I��H�@��I�H��t5����G�u*H�H��H���I����W�uH�H��H�B��II��H�� H3��)}L��$0I�[@I�sHI��A_A^A\_]��H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@��HH�����H;�u#L��H��H���XH�\$PH�l$XH�t$`H��@_�H�x�H�L$ �p��H��CH�L$ �Y�@SH��@H���B��H9u	H��H��@[�H���H�L$ �cp��H���CH�L$ �~Y��H�\$WH��H��
DH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@�&�H�L$xH��tYH�H��H�@�HH�H�L$xH��tH�H�T$@H;���H�@ ��GH��H��$�H3��{H��$�H�Đ_��Y�H��H�L$(�o��H��CH�L$(�X����@SH��@H�BH9Hu;L��H�L$PH�T$ E3��'A���:'H�T$ H�����H���%'H;��H��@[�H���H�L$ �$o��H���CH�L$ �?X���@SH��H�BL��H9HuJH�T$@I��襧�d$0H��HH�T$(�L$ �&H�T$ H���/��H���&H;��H��[�H��H�L$ �n��H��CH�L$ �W��H��H�XH�hH�p H�HWH�� I��H��H���@��xH��H�D$0H��t,W���C�CH�xvH�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H���@�DxH��H�D$0H��t)W���C�CH�vH�H�KH��,�3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H�����wH��H�D$0H��t,W���C�CH�@uH�H�KL��H���
����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H��蘇�H��qH�L�wI�I��H�@��DH���a��H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H��yD����C�uH�H��H�@�^D�H��H�\$XH�t$`H�|$hH��@A^�H��H�L$ �l��H���CH�L$ �2U��L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S���H��pH�H�[H��t9����C��u,H�H��H���C����C��uH�H��H�@��CH��H�\$PH��0_����H�\$H�t$WH�� H��I��I��H���K��D��L��H��H���S���H�\$0H�wpH�H��H�t$8H�� _���H�\$H�T$WH��0H��H��W��D$ L�JM��t	�A�AL�JH�H�D$ L�L$(H�T$ ����H��oH�Ƈ�H�[H��t9����C��u,H�H��H���B����C��uH�H��H�@��BH��H�\$PH��0_�H�\$H�l$ VWATAVAWH��@H��H��H�L$ �.5���H��nH����H9�[H��nH�H���H��(H�aH�A��5��H���H��HA�L��PH��XE�g�L��`H���H��hL��pH���H��xE�w�L���H���H���A�o�H���W�AH����uD���`H��H���L���H���L���H��H���L���H��H���L���H��$H��H��W�AH��D���}`H���H��8L��@H��HL��PH���H��XL��`H���H��hL��pH���H��xH���W�AH��XD���`��x�����H��H���L���H���L���H��H���L���H��H���L���H��H���H��W�AH���D���w_�H��L�\$@I�[@I�kHI��A_A^A\_^�H���H�L$(��g��H�J�CH�L$(��P����@SH�� H��@H��H��rH��(H���6��H��8H��8Hǃ@ƃ(�AN��H�S(H��rH�KH���C6��H�c H�C(�CH�� [�������������@SH�� H�coH��H���t
�@�qH��H�� [������@SH�� H�[oH��H���t
�@�qH��H�� [������@SH�� H��nH��H���t
���^qH��H�� [������H�\$WH�� H�ً�H��8�]M��H�S(H��rH�KH���_5��H�c H�C(�C@��t
�(H���pH��H�\$0H�� _��������������H�\$WH�� ��H���h�����t
�0H���pH�\$0H��H�� _�������������H�\$H�t$WH��@I�H��I��I��H��H�@��=H;�u;H�H��H�@��=H���o��H;�uAH��H���[H�\$PH��H�t$XH��@_�H�!�H�L$ �{e��H���CH�L$ �N�H�.�H�L$ �Xe��H�ռCH�L$ �sN���H�\$UVWATAUAVAWH��$��H��PH��CH3�H��@H��L��W���L�r3�M��t	�A�FL�rH�ZH���L���H���H���H+�H��H���A�H���	H�	�ΜH���H���H+�H��H����A�H���H�I蜜H��xA�L���@��hL�
jD��A�WH��h�#7���H�}�L�}�@�}�L�
�iD��A�WH�M��6���H�}�L�}�@�}�L�
�iD��E�gA��H�M���6���H�|$xL�}�@�|$hL�
�iD��A�W4H�L$h�6���H�H��H�@��;L��H��hH�D$8H�D$0�H�E�H�D$(H���H�D$ L�M�A�WH�L$h�]���H�U�I;�r
H��H�L$h�Z2��H�|$xL�}�@�|$hH�U�I;�rH��H�M��72��H�}�L�}�@�}�H�U�I;�rH��H�M��2��H�}�L�}�@�}�H���I;�rH��H��h��1��@8���DH����A�D$ D�	H���	D�H���	�H��@�d��H��(H����H���H��(H����O�H���H��,H���H��H��0H��D��L��H��<H��D�g�L�� (���((���8H��H��B��H�D$ L���D���	H���	I���W@���M��������A�F���I�I��H���9���A�F���I�I��H�@��9��H���H��@�H��HH���H��P�O�H��XH���H��`H��hH���H��pD��L��xH���H���D�g�L���W�����H���D�GH����XH���	H��@	H��H	H���	H��P	�O�H��X	H���	H��`	H��h	H���	H��p	L��x	H���	H���	L���	W���	��	H��D�GH���	�WH��	H���H���H��	H����O�H���H��	H���H���H��	H���L���H��$	H��	L��	W��	� 	H���D�GH��	�eWE3�L���D�gL���D���L�
�E�ǍW H����2���L��L���D���L�}�L�eD�}�L�
��E��A���H�M��U2���L�}�L�e�D�}�L�
aeE�Ǎ_3��H�M��02���H�H��H�@�_7L��H���H�D$8D�|$0H���H�D$(H��p	��L$ L�M�W+H�M�����H�U�H;�rH��H�M���-��L�}�L�e�D�}�H�UH;�rH��H�M��-��L�}�L�eD�}�H��H;�rH��H����-��L���L��D���H���H;�rH��H����d-��L���L���D���L�
0�E�Ǻ(H����$1���L�� L��D��L�}8L�e@D�}(L�
#�E��H��H�M(��0���L�}L�e D�}L�
�cE��H��H�M��0���H��p	H�H��H�@��5L��H���H�D$8D�|$0H��H�D$(�C�D$ L�M(�<H�M����H�U H;�rH��H�M�r,��L�}L�e D�}H�U@H;�rH��H�M(�Q,��L�}8L�e@D�}(H�� H;�rH��H���*,��L��L�� D��H���H;�rH��H����+��L���L���D���L�
�E�Ǻ2H����/���L��@L��8D��(L�}xL���D�}hL�
�E�ǺH�Mh�}/���L�}XL�e`D�}HL�
�bE�ǻC��H�MH�V/���H�H��H�@��4L��H���H�D$8D�|$0H��(H�D$(H�����L$ L�Mh�S�H�MH�@���H�U`H;�rH��H�MH�+��L�}XL�e`D�}HH���H;�rH��H�Mh��*��L�}xL���D�}hH��@H;�rH��H��(�*��L��8L��@D��(H���H;�rH��H����*��L���L��D���L�
��E�Ǻ2H����D.���L��`L��XD��HL���L���D���L�
��E�ǺH����-���L���L���D���L�
aE��H��H�����-���H���H�H��H�@��2L��H���H�D$8D�|$0H��HH�D$(�C�D$ L����>H�������H���H;�rH��H����l)��L���L���D���H���H;�rH��H����<)��L���L���D���H��`H;�rH��H��H�)��L��XL��`D��HH��H;�rH��H�����(��L��L�� D��L�
 `E�ǺPH���,���L��L�� D��L�
G`E�ǺH���k,���L���L��D���L�
�
E�ǺH����:,���L���L���D���L�
=_E�ǺCH����	,���H��p��H�H��H�@�-1L��H��H�D$8H��
��L$0H��H�D$(�\$ L����?H�������H���H;�rH��H����'��L���L���D���H��H;�rH��H����m'��L���L��D���H�� H;�rH��H���='��L��L�� D��H�� H;�rH��H���
'��L��8L��@D��(H�Q^H��(�u#���L��xL���D��hH��^H��h�L#���L��XL��`D��HH�?	H��H�##���L��8L��@D��(H��]H��(�"���H��
H��p�x�H�H��H�@�v/L��H��(H�D$8�C�D$0H��hH�D$(�|$ L��H�@H��(�D����H��@H��rH��H��(��%��L��8L��@D��(H��`H��rH��H��H�%��L��XL��`D��HH���H��rH��H��h�%��L��xL���D��hH��@H��rH��H��(�X%��L��XL��`D��HH�4]H��H�!���L���L���D���H�K]H����!���L���L���D���H�B]H����n!���L���L���D���H��[H����E!���H��p���H�H��H�@��-L��H��HH�D$8H�����L$0H���H�D$(�\$ L����AH���葆���H���H��rH��H����8$��L���L���D���H���H��rH��H����$��L���L���D���H���H��rH��H�����#��L���L���D���H��`H��rH��H��H�#��L��xL���D��hH�\H��h�
 ���L��8L��@D��(H�\H��(�����L��L�� D��H�\H������L���L��D���H�ZH�������H���H��p�x��H�H��H�@�,L��H��hH�D$8�C�D$0H��(H�D$(�|$ L���BH����܄���H���H;�rH��H����"��L���L��D���H�� H;�rH��H���O"��L��L�� D��H��@H;�rH��H��(�"��L��8L��@D��(H���H;�rH��H��h��!��L���L���D���H��H����W���L���L���D���H�
�H����.���L��xL���D��hH�iH��h����L��XL��`D��HH�hXH��H�����H�H��H�@�k*L��H���H�D$8D�|$0H���H�D$(H��`��L$ L��h�CH��H�N����H��`H;�rH��H��H�� ��L��XL��`D��HH���H;�rH��H��h� ��L��xL���D��hH���H;�rH��H����z ��L���L���D���H���H;�rH��H����J ��L���L���D���H�.H�������L�|$XL�d$`D�|$HH�k�H�L$H����L���L���D���H�H����h���L���L���D���H��VH����?���H�H��H�@��(L��H���H�D$8D�|$0H�D$HH�D$(H��P��L$ L����DH���賝���H���H;�rH��H����?��L���L���D���H���H;�rH��H������L���L���D���H�T$`H;�r
H��H�L$H����L�|$XL�d$`D�|$HH���H;�rH��H��������\$@�\$ D��D�Ë�H��P��Q��H�D$@H�D$8�\$0H��PH�D$(H��@	H�D$ L��@L���H���	H����L��H����A�D$ D�	H���	D�H���	�H��@�mQ��H��@��/��H��H��@H����?�L��H�\$ D���	H���	I���I-���M��tI���c���I��H��@H3��ZH��$�H��PA_A^A]A\_^]���T���H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@��&H;���H�H��H�@��&H���#���H;�uML��H�T$PH�����H�H� H�H�L$PH��tH��H��E&H�\$XH��H�t$hH�l$`H��@_�H�֍H�L$ �N��H�}�CH�L$ �7�H�˳H�L$ ��M��H�Z�CH�L$ �6��������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@��%H;���L��H�L$ H�����H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H��Y%����C�uH�H��H�@�>%H�\$`H��H�l$hH�t$pH��P_�H�'�H�L$0�L��H�v�CH�L$0�6����H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0���H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H��m$����C�uH�H��H�@�R$�H�L$(H��t=����A�u2H�\$(H�H��H��($����C�uH�L$(H�H�@�$�H�_H��t5����C�u*H�H��H���#����C�uH�H��H�@��#H��L�\$`I�[I�kI�s I��_�H��H�L$@�K��H��CH�L$@�4�H�\$H�t$WH��@I�H��I��I��H��H�@�h#H;�u8H�H��H�@�S#H�����H;�u>H��H�����H�\$PH�t$XH��@_�H��H�L$ �J��H�{�CH�L$ �4�H���H�L$ ��J��H�X�CH�L$ �3������H�\$H�t$WH��@I�H��I��I��H��H�@��"H;�u8H�H��H�@��"H���?���H;�u>H��H���_��H�\$PH�t$XH��@_�H�<�H�L$ �NJ��H�ˡCH�L$ �i3�H��H�L$ �+J��H���CH�L$ �F3������H�\$WH��PH��I9��I���f��H�T$`H�D$`H�L$ ����H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H���!����C��uH�H��H�@��!H�\$hH��H��P_�H��H�L$0�iI��H��CH�L$0�2����H��H�XH�HWH��H��M��D��H�T$ H�H ����	H�T$ H�����H����H;8t5H�c8H�OpH��tH�H��H��
!H�C8H��H��$�H�Ġ_�H�C�H�L$8�A��H��H�
_$D�/��L��H��H�L$X�����L��H��H�L$x����H��H�L$ ��+��H��CH�L$ �1��������������@SH��0D�L$ L�D$0H�T$(3�H��(H�H��H�L$(H�BH��H�BH�T$(�j��H��H��0[��H��(�
��FeH�%X�4H�ȋ
9��FH��FH��(�H�
�F�Y�=ڼF�u�W����F�x�+RH�H�@H�@f�@H���FH�
��W�H�
��F��X�H��(eH�%X�
E�F�4H�ȋ
9W�FH���CH��(�H�
B�F�X�=6�F�u�H�
Y��4WH�
!�F�xX��������H�\$H�t$WH��@I�H��I��I��H��H�@�H;�u^H�H��H�@�H����H;�uH��H���[H�\$PH��H�t$XH��@_�H���H�L$ �F��H�(�CH�L$ ��/�H��H�L$ �F��H��CH�L$ �/���H�\$H�t$ UWATAVAWH��$P���H��H���CH3�H���H��H��H�L$8W�E�H�zH��t�GH�zH�BH�E�H�}�H�T$8H���BmL�0H� L�u�H�L$8H��tH��H�@��H���H���H+�H��H����L�9H����H�Y3�A��H����(A�H����'����3�D�BHH�MP�AL�%��L�ePW��D$0L�D$ H�T$0H�MX�����H�E�H�D$(I�I��H�@�VH�e�H�e�H��H�M��0���A�L�|$`H�D$X��D$H����D$L�D$ML�E�H�T$HH�MP���H�E�H�D$(H�H��H�@��H�e�H�e�H��H�M��/���L�}�H�D$x��L�D$h�~Lf�D$l�D$nL�E�H�T$hH�MP�6���H�EH�D$(L�eL�D$!H�UXH�M��H�e�L�}��E�L�
2LE3�A�W	H�M�����L�EH�U�I���]��I���D��H���I��H��%H��H����z���H�UxH�MpH+�H������W�fEpH���H�M`�<���H��8�{���H�+�H��8H��8�`8�I��SI��H�@���H��t5����G�u*H�H��H�������W�uH�H��H�B�qH��H���H3��OL��$�I�[@I�sHI��A_A^A\_]��^I����������������@UH��H��@H��(H�xrH�H���H��`��H�E�H��p��H�E�H���(E�H�E�H�����H�E�(M�������H����H�E�H���� H�E�H���(E�H�E�H����H�E�(M����(H��P��H�E�H��`��H�E�H��p(E�H�E�H����8H�E�(M��H�X�h�����xH����H�E�H����H�E�H���(E�H�E�H����H�E�(M�������H��@]�H�\$ WH��0I��H�L$ H�����H����0H����KH�H�@H���H�H���H�OH�H��H���H���H�\$XH�WH��0_��H�\$VWAVH��0I��I��L��H�L$ H�\$pH�H�a���.KI�FH�H L��H���G���I�FH�0I�FH�pI�NH�q3�I�N�DH��H��|�I��H�\$XH��0A^_^����H�\$VWAVH��0I��I��L��H�L$ H�H�a�H�JI�FH�X H�cH�cH��H���+���G �C I�FH�0I�FH�pI�NH�q3�I�N�DH��H��|�I��H�\$XH��0A^_^�H�\$H�t$WH��0I��I��H��H�L$ H�H�a�@�!JH�FH�H H�`0H�`8H���w*��H�FH�8H�FH�xH�NH�y3�H�N�DH��H��|�H��H�\$HH�t$PH��0_��H�\$H�t$WH��0I��I��H��H�L$ H�H�a�H�IH��H�FH�`0H�`8@ KH0H�cH�C��C �A@H�FH�8H�NH�yH�NH�y3�H�N�DH��H��|�H��H�\$HH�t$PH��0_��H��H�XH�pH�x AVH��0I��I��L��H�H�H�\$`H�H�a�H��HH��I�FH�H�A H��(H���I�FH�0I�FH�pI�NH�q3�I�N�DH��H��|�I��H�\$HH�t$PH�|$XH��0A^��I;���L��I�[I�kI�sWH��0I��H��H��H�I�C�I�c�H�yunI�c��0�DHH��H�D$(H�HH���|H�_�3H�d$(�0�HH��H�D$(H�HH���RH�OH�H�OH�KH�d$(H�GH�_H�� H;�u�H�\$@H�l$HH�t$PH��0_����H��H�XH�hH�p WH��0I��H��H�H�H�`��H�GH��H�D$(H�`0H�`8H��H�H ��'���N �O@H�/H�oH�of�gH��H�\$@H�l$HH�t$XH��0_����@SH��PH��H�L$ H�d$(H�L$ ���H�D$ H�D$@H�d$H�0�GH��L�D$(M��u	H�H�@�H�L$8H�H�D$0H�BH�QH�L�CH�H��P[��H�\$WH�� H��E��H�H��L�H�R�rL�E3�I�@H�H�CH�GL�BE8Hu;I�D8IuH�L��H��D8Ht�L�H�H�BH�H�H��H�ID8It�H�B�
H�H�H�@H�\$0H�� _����H�\$H�L$VWATAVAWH�� A��M��L��L��H�1�zuQL�B H���E���H��L�`A�G�G�~HE�H�t$XD��L��I�I�����H�D��L��I�WI�����H�GH��H�\$`H�� A_A^A\_^����H��H�XH�hH�pH�x AVH��H��)p�H�P�I��I��L���_�@0�D$`H�|$`�uP�G(9Ft���7H�G H9t���)H�O`H�V@�9uߋA9Bu�H���H���������uH�;�C�|H�B{	�%��I9F��M�H�L$0L��H�l$ I�����H�xH�`H�L$8H��t H����3H�L$8H��t
���3	��L��H�T$PI���t$P����H��C(t$pL��$�I�kH��I�[I�s I�{(I��A^��K�����H�\$ UVWH��0I��H��H��H�UUUUUUUH9AtPH�L$ H�d$(�0�.DH��H�D$(H�HH�����H�GH�NH�3H�KH�^H�H��H�\$hH��0_^]�H�
����#���H��H�XH�hH�pWH��pH��)p�H�P�I��H���R�@0�D$PH�|$P�u(H�W �B 9E t���H���q����uH�;�C�H���8��8�H9F��L�H�L$ L��H�����H�hH�`H�|$(H��t;H�W8H��rH�O H�����H�g0H�G8�G H�L$(H��t
�H���L��H�T$@H���t$@�n���H��C(t$`L�\$pI�kH��I�[I�s I��_��������H�\$WH��`H��H��L�L$ M��L�H��H�L$0�t����H�L$8H�L�@L�D$@3҉T$HA8Pu*H�A L�D$@I;@ s
�D$HM���T$HM�@A8Pt�H���8��8�H9Ct5H�T$8D$@�D$@L��H�T$@H�����H��GH��H�\$pH��`_�������H�\$UVWH�� H��H��H�	H�y�u7L�GH��H���H��H�?H����0��H���7���t�H���H�\$PH�� _^]���H�\$UVWH�� H��H��H�	H�y�u6L�GH��H���H��3�H�?H�K ��HH�������t�H��HH�\$PH�� _^]����H�\$ UVWH�� A�xI��H��H��u4L�GH��H������H��H�?H����[��H���b���t�H�\$XH�� _^]����H�\$ UVWH�� A�xI��H��H��u3L�GH��H������H��3�H�?H�K ���HH������t�H�\$XH�� _^]�H�\$ UVWH�� A�xI��H��H��uOL�GH��H������H��H�?H�S8H��rH�K H�����H�c0�HH��H�C8�C ����t�H�\$XH�� _^]�H�\$H�t$WH��@H��L��H�T$ H���H�\$0�{uK�G;C(t���7H�H;C t���)H�K`H�W@�9uߋA9Bu�H���H����S����H��tH�H�\$PH�t$XH��@_��H�\$H�l$H�t$ WATAUAVAWH��@H�1E3�M��I��H��L��E8ht@H�FD8hu&H�NA�y H�� 9y t���I���l�����QH�FH�D�k�M�p A�y H;.u1A;~ t���I��I���al�����H�+�CD�k�}A�v ;�t���I��I���.l����t]H�L$pH�l$p�T��H�0H�N 9y t���I���l������H�F�HH��D�k��tH�3D�k�H�+�C�;�t���I��I���k������H�uD�vE��t)H�uD8n��H��H��H;Fu'H�vH��D8nt��H�D8iuH�H��H��D8ht�D8numH�V ;z t���I���Gk����uSM��H�T$ I���?H�t$0D8nu*H�V ;z t���I���k����uH�3�C�C�5D$ ����D�kH��E��tH�+���H�3���H�+�CD�kH��L�\$@I�[8I�k@I�sHI��A_A^A]A\_�H�\$H�l$H�t$WH�� H�I��bH��H�BH�XH��{uiA�hH�9k(t���7H�H9C t���)H�N@H�S`�9uߋA9Bu�H���H����n����tH�[3��H�_�H��G�{t�H�\$0H��H�l$8H�t$@H�� _��H�\$H�l$H�t$WH�� H�I��bH��H�BH�XH��{u>A�p H�K H�9q t���H���i����tH�[3��H�_�H��G�{t�H�\$0H��H�l$8H�t$@H�� _�H�\$H�l$H�t$ WATAUAVAWH�� H�t$xI��I��H��L��I;���E3�H;|$p��L�s I��H�W �i����tOH�CD8ht!H�C�
H;Xu
H��H�@D8ht�H���<H�H��D8i�,H�H��H��D8ht��I��H�O �h����tPH�GD8ht"H�G�H;x��H��H�@D8ht��H�H��D8i��H�H��H��D8ht��H�FH;FtI��L�hH��L�h�,��H�F �M��H��H��览��H�CD8htH�C�
H;Xu
H��H�@D8ht�H���H�H��D8iuH�H��H��D8ht�H�GD8htH�G�
H;xu
H��H�@D8ht�H���H�H��D8iuH�H��H��D8ht�H;��q���H�\$XI��H�l$`I�4$H�t$hH�� A_A^A]A\_�L��I�[I�kI�s WH��@H��CH3�H�D$0H��3�I�K��o�H�5��FH�t$ H�
o�F�2��H��H�EH;xsH�HH��H��uh�3ۀx$t�H;xs
H�@H��H��uFH��tH���<H��H�L$ �wH���tXH�\$ H�\$ H���+H�H�AH���H���FH�L$(�BH��H�L$0H3��n:H�\$XH�l$`H�t$hH��@_��������L��I�[I�k I�KVWAVH��`A��A��L��H��A�c��$�t H��7H�H�
tH���A�CH�HcHH�tH�9H�HcH�Q�T9�H�_H�HcHH�E3�H����6���H�HcHH�~7H�9H�HcH��X����T9�H�\$ H������H��6H�E3�3�H������D��D��I��H���(H��u)H�HcPH�H�BHH��Ƀ��J���J�B#�uH��L�\$`I�[(I�k8I��A^_^èt	H��r��H��rH��rHDغH�L$ ��9��L��H��H�L$0�ʼ��H��CH�L$0�1�H��H�XUVWAVAWH��)p�H��H��H�L$0H�!H�a�H�97L��H�H�@H�@f�@H�fH~�fs�fI~�I;���L��M��H�T$@H�����0�@�D$p�|$p��H���8��8�H9G��L��L�H��H�L$ ���H�hH�`H�\$(H��t;H�S8H��rH��H�K ����H�c0H�C8�C H�L$(H��t
�H����t$@L��H�T$@H�����H��(�7���H��L��$�I�[@A(s�I��A_A^_^]��������H�\$H�t$WH��0H��H��H�L$(H�!H�a�H��5H�H�@H�@f�@H�H�^H�\$ H�#H�c����5H�H�@H�@f�@H�H�^ H�\$ H�#H�c�H�5H�H�@H�@f�@H�H�~0H��t�GH�~0H�f8H�f@����G��uH��tL���H��I����H��H�\$HH�t$PH��0_��H�\$WH��0H�!H��H�aH��H�L$ �H�5H�H�@H�@f�@H�H�H�H�KH�H��H�WH�OH�KH�SH�OH�c�KH�\$P�OH��0_���H�\$WH��@H��H��H�L$(H�!H�aH�L$(H�L$0�H�4H�H�@H�@f�@H�D�D$ H��H�����H�GH�CH��t�@�O�KH��H�\$`H��@_�L��I�[UVWH��PH�[�CH3�H�D$@A��I��H��H��H�L$8I�S�H�!H�aI�K�I�KȹH��3H�H�@H�@f�@H�D�D$ H��H������H�H�FH��t�@�nL�M�@H��H���1�HH�����H��H�L$@H3���4H��$�H��P_^]�H�\$H�t$ WH��0H���CH3�H�D$(A��H��H��H�L$ H�T$ H�aH�a����^ H�WH��rH��H����H�gH�G�H��H�L$(H3��\4H�\$PH�t$XH��0_�H��(H�IH��t
���U���H��(�H��(H�IH��t
�H�9���H��(�H�\$WH�� H�yt:H�AH�`H�AH� H�y�H��3�H�?H�K�G�0H�����H��u�H�\$0H�� _���@SH�� L�H��H��M�@���H��HH�� [�����@SH�� H�YH��tL�H�H��M�@��H��H���H�� [�@SH�� H��H�IH��tH�� 3��H�KH��t
�H�L���H�� [���@SH�� H��H�\0H�H���t-L�AH�ApI9u H���H���I�H�C8H�+�H�CP��{|t,H���tH���H����3�D�BH���$H��lH�H�[`H��t=H�KH��t&H�H�@��H��H��tH�H������H���91�H�� [���@SH�� H��X���H��HcPH��/H��
X���H��X���HcPD��X���D��
T���H��`������H��X���HcHH�lH��X���H��X���HcH�Q�T���H�� [��������H���\�H����@SH�� H��H�I0H��t����A��uH��H���H�c0H�K H����H�KH����H��H��H�� [�c������������@SH�� H��H�IH��t����A��uH��H��p�H�cH��L�H��M�@�9�H��HH�� [���������@SH�� H���H������H�{jH�H����H�� [��HcA�H+��8����H�\$WH�� ��H���x�����t
��H���j/H�\$0H��H�� _�H�\$H�t$WH�� ��H��H��X��������H��iH�H���9�@��t
�H���/H��H�\$0H�t$8H�� _���H�\$H�t$WH�� H�yH��H�O��H��t����A��uH��H��1�H�gH��L�H��M�@��H��H���@��t
�(H���.H�t$@H��H�\$0H�� _����H�\$WH�� H�ً�H�IH��t����A��uH��H����H�cH��L�H��M�@�w�H��H�Z�@��t
� H���.H��H�\$0H�� _��H�\$WH��`H�߽CH3�H�D$XH�yhH��tZ�yqtTH���H�@�/������H�KhL�D$0L�D$ H�StL�L$XL�D$8H�H�@@�����t(��t'��uX�Cq�H�L$XH3��.H�\$xH��`_��CqH�|$0H�D$8H+�tL���H�L$8L�Ǻ�H;�u	�{q���2�����H�\$H�l$H�t$ WH��H��H��3���$�H��tpH91uk�N�,H��H��$�H��t>H�EH��tH�P(H��u
H�P0�H�YfH�L$ �����cH��+H��3�H�@��t
H�L$ 豼���L��$�I�[I�k I�s(I��_����L��I�[WH��@H�I�CH3�H�D$8�AqL�QL�QL�I(L�I8H��A��H��L�A��L�A �A|H�SHH�SPH�CLH�CXH��0H�K@I� H�!� I�"I�!�"H��tJI�c�M�K�I�c�M�C�I�c�I�S�H���H�D$ H�CH�C H�D$(H�C8H�C@H�D$0H�CPH�CXH���H��FH�chH�CtH�L$8H3��,H�\$`H��@_��H�\$WH�� H�H��H��H��H�@���E3ۄ�tL�[h�FH�{hL�SL�SL�CL�C L�K(L�K8H�K0H�K@H�SHH�SPH�CLH�CXM�L�D�M�M�D�H�\$0H�� _���H��(H���H��t�_�H��(���H�\$H�t$WH�� H�H��H�BH� H�:H��t#H�H�O3��-����0H�����H��H��u�H��0H�\$0H�t$8H�� _��H��(H���H��t��H��(���L��I�[M�CI�SWH��0I��H��I�I�CH��t�@M�I��H�D$HH�D$ �<�H�H��t����A��uH��H��]�H�#H��H�\$@H��0_����D�L$ SVWATAUAVAWH��M��L��L��W�D$ H�A0H���A�H��t�DvH���H���H�D$ H�t$(H H��$@H��H��$��G?���A�$�?���H#�I���
J��H��H��H��$�H��$��U��H;���A�$�?���H#�I����I��H��IE8I�E8I;E@vI�E@H��$@H��$`��>��H��$xI9E@��H��$`�&U�����MA�L$�A�A;��g�A�A;��[H��$`�H�?���I(H��$@H��t2H�H��$PH��t�DqL��$PD��$XI�U0H����I���H��t6����F�u+H�H��H��������F�uH�H��H�@�z��H�H��t����A�uH�A��H��W�H�'I���*�'H��$@H��tM��I�U0H����I���H��t6����F�u+H�H��H�������F�uH�H��H�@����H�H��t����A�uH�A��H����H�'I����8�'H��$@H��tM��I�U0H���,	�I���H��t6����F�u+H�H��H��n�����F�uH�H��H�@�S��H��$`H�H��t����A�uH�A��H��(�H�'I��H��A_A^A]A\_^[�A�����H�i$H�L$8���H��rCH�L$8��A�����H�p$H�L$X���H��rCH�L$X���������������H�\$H�t$WH��`H�yH��H���t H��� ���H�����H�H#��$���t3�3�H��D�B���H��u+H�HcPH�H�BHH�؋B�у�J�����J#�uH�\$pH�t$xH��`_èt	H�u`��H��`H��`HDغH�L$ �'��L��H�L$0H���x���H��sCH�L$0�����H�\$H�l$H�t$WATAUAVAWH��@H�E3�L��L��E��H���H�{(H�?�H�w L��H�T$ I����R��H�PD8bu)H�� H���;R����uH��I�����ƀ�D���H�GD8`tH�G�
H;xu
H��H�@D8`t�H���H�H��D8auH�H��H��D8`t�D8g�h���H�CA��D8`tH�C�
H;Xu
H��H�@D8`t�H���H�H��D8auH�H��H��D8`t�D8c����I�^H��L���I�6�H�~��H�~H�?D8g��H�o L��H�T$ I����Q��H�P�zu)H�� H���Q����uH��I�����ƀ�D���H�G3�@8htH�G�
H;xu
H��H�@@8ht�H���H�H��@8iuH�H��H��@8ht�@8o�f���E3�H�6A��I;��8���H�CD8`tH�C�
H;Xu
H��H�@D8`t�H���H�H��D8auH�H��H��D8`t�D8c����L�\$@I�[0I�k8I�s@I��A_A^A]A\_�������̰��������������H�D$(H�L$@L�H�D$0H��������M+ȸ���L;�LO�H�D$(L;�AB������H�D$(L�����@USVWATAUAVAWH�l$�H��hH�X�CH3�H�EPM��I��L��H�T$0L��3�A�H�L$@�H�{rH��D$ A�@E�A�H��H�L$@���H�D$@HcHH�� H�D@H�D$@HcH��X����T<H�� H�L$@�T]��H���b��H�� H�L$@�;]��H���b��I�}H�?E3��H�W ���H�_(H��H� ��]��H�S H�{8rH�S L�C0H����_��H�A�H����\��H�ȋS@�~k��H��H�th�\��H�CD8xtH�C�
H;Xu
H��H�@D8xt�H���H��H�D8yuH��H�H��D8xt�H�L$@D8{�^�����a��H�GD8xtH�G�
H;xu
H��H�@D8xt�H���H��H�D8yuH��H�H��D8xt�H�L$@D8��H���
\��H���ra��H��H�L$@��[��H���Ya��I�]H�D8{�UE2�L���I�7I;���H�N H���9�?���H#���@��H��H��H�L$@�z���H�~H�?�H����[��H�W H�8rH�W L�G0H���g^��H���H���X[��H�ȋW@�i��H��H��f�>[��H�GE2�D8ptH�G�
H;xu
H��H�@D8pt�H���H��H�D8quH��H�H��D8pt�H�L$@D8w�[����T`��H�H��I;�����H�CD8ptH�C�
H;Xu
H��H�@D8pt�H���H��H�D8quH��H�H��D8pt�D8s�����L�t$0I��I�|$rI�$M�D$H�L$@�e]��H�L$@���I��I���t����H�M����H��YH�E�H�M���H�MPH3���H��hA_A^A]A\_^[]�@USVWATAUAVAWH��$(���H���H�e�CH3�H���L�L$8M��H��L��H�T$0D��@A��?���H#�I���>��H��H��I�} H�H�BH��E3��H9H sH�@�H��H�D8xt�H;��ED9s@tqL�|$@L�|$H�@�H�H�@H�@f�@H�D$@E��H�T$@H�K(�r@��L�D$@M�@H�T$@H�L$@����@H�L$@���@��tRI�} E3�H�CD8xtH�C�
H;Xu
H��H�@D8xt�H���H��H�D8yuH��H�H��D8xt�H;�8���H�e�H�e�H�T$8H�M��Q���E��H�U�H�M�]��L��H�T$`H�K(�����H�U H��rH��H�M�(�I��H�M@���L��L�C8H���I�M0�i;��H���H��UL�|$PH�D$PH�D$ E3�M��H���I����L�}�L�}�H�T$8H�M����E��H�U�H�M����A�$�?���H#�I���=��H��H�D$0H�E�H�D$`H�EH�D$hH�T$`H�M��}�E��L���H��H�L$p���L��L�D$0H�U0H��������H�M�H��t����A�uH��tH��SH��E�L�}�L�D$pM�@H�T$pH�L$p�	���HH�L$p�����L�
2����(D�B�H�M��I�M0����A�uH��tH��H����H���H�H��H���H3��oH���A_A^A]A\_^[]����@USVWATAUAVAWH��$8���H���H�
�CH3�H���L�L$8M��H��H��H�T$0D��0L��8A��?���H#�I���;��H��H��H�H�BH��E3��H9H sH�@�H��H�D8pt�H;�tbE��I��H�K(�M����H�CE3�D8ptH�C�
H;Xu
H��H�@D8pt�H���H��H�D8quH��H�H��D8pt�H;u�L�t$@H�D$@H�D$ A�E��M��H���H���@�L�u�L�u�H�T$8H�M��1���E��H�U�H�M��=��A��?���H#�I���:��H��H�D$0H�E�H�D$PH�E�H�D$XH�T$PH�M���E��L���H��H�L$`�%��L��L�D$0H�U H��������H�L$pH��t����A�uH��tH�A��H����L�t$pL�D$`M�@H�T$`H�L$`����HH�L$`�o���L�
��M�ź(H�M��H�N0����A�uH��tH�A��H��c�H���H�H��H���H3��H���A_A^A]A\_^[]�H�e�H�e�H�T$8H�M�����E��H�U�H�M�����L��H�T$PH�K(�e���H�UH��rH��H�M����I��H�M0�n�L��L�C8H���H�N0��6��H���H��W���@USVATAUAVAWH��$���H��H��CH3�H���I��H�\$PM��H��L��H�T$@D��`H��hH���L�aI��I�����I;$� H�H�D$@L� I�$I;���L�C I�@HI�N0�9%I�V I�@8�9
E��H���H�K�:��tH�H��I;��H�e�H�e�H�T$PH�L$p���E��H�T$pH�M����L�E�H�T$@H�K����H�U�H��rH��H�M��_��I��H�MX��L��L�C H���I�M0�5��H���H��H�d$`H�D$`H�D$ E3�M��H���I������H�e�H�e�H�T$PH�M�����E��H�U�H�M����H�EH�D$PH�E0H�D$XH�T$PH�M�����E��L���H��H�M�����L��H�L$@H������A��H�M�H��t A����AA�uH��tH���H����H�e�L�E�M�@H�U�H�M��Z���HH�M��<���L�
��L�ú(H�M��I�M0A����AA�uH��tH���H��/�H���H��xH���H���H�D$ E3�M��H�T$PI�����W���H�e�H�e�H��H�L$p���E��H�T$pH�M0���H�E0H�D$@H�EXH�D$HH�T$@H�L$`���E��L�D$PH��H�M����W����L�E�H�U�H����t���L�
���D�ÍSH�M����L�
l�D�ÍS'H�M0�L���M��H�T$@I������I�M0A��A����AA�uH��tH���H����H�D$PH�H���H�AH� L�1A�0M��t!I�I�N3����I��I�����L��H��u�I��H����y���H��H���H3��FH��A_A^A]A\^[]����L��I�SSH��0I�cI�CE3�I�C�H����H��H��0[����@USVWATAUAVAWH�l$�H��xM��I��H��H��H�T$8D���H���H�D$8E3�D�l$@D8���#A�H�A�vt�A�vlW�D$`W��L$HL!l$XD�L$0L�D$pH�T$`H�L$H����A�D�l$@W�L�D$HH�T$HH�L$p��H���H�T$p����tE���E2�A��tH�L$HH��tH�T$XH+�H���*��E��t"H�D$8H�D$(D�|$ M��L��H��H������b�O�A�v*�A�v"H�D$8H�D$(D�|$ M��L��H��H���P����-H�d$8H�D$8H�D$ E3�L��H��H�����
D�|$ ���H��H��xA_A^A]A\_^[]���H��H�XH�pH�x UATAUAVAWH�h�H���)p�H��CH3�H�EE��L��H��W�E�E3�L�e�L�e�E�l$@A���H��H�H�@H�@f�@H�E�H�H�D8c� H�s D9v ��L��H�U�H�M��Y?��0�@�E�H�U�D8buH�� H����>������H��������H9E���L��L��H�U�H�M�����H�pL�`H�}�H��t7H�W8H��rH��H�O �l��L�g0H�G8D�g H�M�H��tI���K���u�L��H�U�H�M��6��H�}�H�CD8`t!H�C�
H;Xu
H��H�@D8`t�H�����H��H�D8a���H��H�H��D8`t�����W��M�L�eH�U�I9WIBWH��t H��������H;���H�M��q~��H�}�I�L�H�D�d$0H�M�H�L$(H�D$ L��H�M����H�]�H�}H;�@��H��tUH;�t1H�SH��rH��H��O��L�cH�CD�#H�� H;�u�H�]�H�UH+�H���H��� ��W��E�L�eL�E�M�@H�U�H�M�����I��H�M�����@��H�MH3���L��$�I�[0I�s@I�{HA(s�I��A_A^A]A\]��9�������@SH�� H��H���+��H��H��H�� [������@SH��0A��L��H��H�����E����I����H��tzA�H��H����H�C`H�HH�L$(H�H�@�b��H�L$ ���H��H���l��H�L$(H��t)H�H�@�4�L��H��tH�H��I���H���3�H��0[������������H�\$H�t$ UWAVH�l$�H��H�g�CH3�H�E?����H��;�u3��)H�A@H�8t0H�QXLcI��HH9sA�H��Ɖ
H�S@L�I�HH�
A�0��H�����L�CH�CpI9u H���H���I�+�H�C8H�H�CP�H�KhH��u@��H����7�;�E��L�E@�uH�H�StL�D$8L�ML�E?L�D$0L�EH�@8L�D$(L�EL�D$ L�E�����xJ��~��u@�M�L�uH�EL+�tL���H�MM�ƺ���L;�uH�E�CqH9E��u��H�M?H3��@L��$�I�[0I�s8I��A^_]���������H�\$WH�� H�A8��H��3�H�H��t-H�CH9s$���t�B�;�uH�CP�H�C8H����Eϋ��yH���H��tj���teH9Khu@�������t���PL�C8H�SpI9t@L�K@�:I�H;�tH���H�CPHcIH���I���H�C8+ʃ�qH�H�CP�믃�H�\$@H�� _���@SUVWAVH��0H��CH3�H�D$(H�A8L�qpA��I��H��H��L90uA��u
H�yhuH��H�����������twH��u��tH���D��H�������uWH���H�T$ �����uBH�CL90u"H���L���H�D+�H�K8H�H�KPD�H�KtH�T$ H�gH�H�O�H��H�g3�H�GH��H�L$(H3��`H��0A^_^][������@SVWH��0H��CH3�H�D$(I�@I��IH��H���H��H�D$ tl�����tcH���H�T$ �����uNH�OH�GpH�VH�WtH9u&H���L���H�D+�H�O8H�H�OPD�H�WtH�L$ H�cH�H�S�H��H�c3�H�CH��H�L$(H3��H��0_^[��������@SH�� M��H��H��uM��uE�A�E3�H���H��t!�`���uH���D�@H�����H���3�H�� [�H)Q8��������@SH�� H���H��t*H���H�@�M����tH����<���y���3�H�� [������������H��H�XH�pH�x UH�h�H��H���CH3�H�EOH��H�A8H�H��t,H�SPLcJ�H;�sA�@��H�K8H�H�BH���H���u����L�CH�CpI9u H���H���I�H�C8H�+�H�CP�H���H�{hu����;������H�e?H�EG�E/������H�M?H;MGs H�AH�E?H�E/H�}GHCE/��D�D��E3�A�PH�M/�Į��H�M/H�}GHCM/L�E/LCE/L�M?L�H�KhH�H�UH�T$8H�U(H�T$0H�U'H�T$(H�UH�T$ H�StH�@0�����������H�E'H9EH�E/uTH�}GHCE/H�UH+�L�E?L;�IB�H�M/H�}GHCM/L+�L�E?I��H���H������;Nj�������WH�}GHCE/H�}?H�MH+�H�H��~H���H�����H��~H�M���}'���uH�E/H�}GHCE/�8H�UGH��rH��H�M/�����H�MOH3��gL��$�I�[I�s I�{(I��]���������������H�\$WH�� H�A8H��L�M��tH�APHcI�L;�sA��*H�H�@8�U�����;�tH���H��H�@ �:���H�\$0H�� _��������������H�\$ UVWAVAWH�� I��L��H��M��3��H�yht
�@����H�A8H��H�H��tH�AP��3�Hc���t.H;�H��I��HB�L����H�FPH+�L�L��)H�N8Hc�HH�����L�NH�FpI9u H���H���I�	+�H�F8H�H�FP�A��I��M;�v*L���M�ǺI�����H+�L�H��I;�uAI;�w�L��H��tL���L�źI����L��L+�I+�H��H�\$hH�� A_A^_^]�H+�����������H��H�XH�hH�pH�x AVH�� H�yhI��L��H��t�?���wH�A@H��L�M��tH�AX��3�Hc�H��~P��~-H;�I��HL�L�����H�GXH+�L�)(H�O@Hc�HH��~L���M��tL�úI���^�H+�H+�H��H�\$0H�l$8H�t$@H�|$HH�� A^���H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@���H�����H;�u#L��H��H���,H�\$PH�l$XH�t$`H��@_�H�89H�L$ �b���H��PCH�L$ �}��@SH��@H���2��H9u	H��H��@[�H�AaH�L$ �#���H��PCH�L$ �>���H�\$WH��H���CH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@���H�L$xH��tYH�H��H�@���H�H�L$xH��tH�H�T$@H;���H�@ ���H��H��$�H3��IH��$�H�Đ_��w��H��_H�L$(�U���H��OCH�L$(�p�����@SH��@H�BH9HuG�C3�H�H��H�A�9P }H�@�H��H�8Pt�8Su9S ~H���
H;��H��@[�H�N_H�L$ ����H�UOCH�L$ ������H��H�XH�pWH��@��H��)p�)x��$��
p�^�(��D��=(I��,�W�;�Lƅ�~1��H���	��W��H*��\
#�Y��Y=#�X�H+�u�H�\$PH�t$X�^�(|$ (�(t$0H��@_��H��H�XH�hH�p H�HWH�� I��H��H���H�YH��H�D$0H��t,W���C�CH�|H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H������H��H�D$0H��t)W���C�CH�KRH�H�KH��8�3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H�����IH��H�D$0H��t,W���C�CH�DH�H�KL��H�������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� I��H��E3��~H���H�H��t�SH�~XH�D$0H;�t%H�H��t����A;�uH�H��,�H�� H��t����C;�uH�H��H���H�\$8H��H�t$@H�� _�H��H�XH�pH�x H�HAVH��@I��H����H�8�H�L�wI�I��H�@���H���}��H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H��e�����C�uH�H��H�@�J��H��H�\$XH�t$`H�|$hH��@A^�H��3H�L$ ��H��KCH�L$ ����L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��H���H�H�[H��t9����C��u,H�H��H��������C��uH�H��H�@���H��H�\$PH��0_����H�\$H�t$ WH�� I��H��H��M��0H�L$@�;���L�L��H��H������H�L$@H��t#����A��uH��tH��H���H���H�H��H�\$8H�t$HH�� _���H��H�XH�PH�HWH��0H��H��W��@�H�JH��t�AH�JH�H�D$ H�L$(H�T$ H������H��H�H�H��(H��0H��t�A3�H����+Ƈ�H����H�[H��t9����C��u,H�H��H��?�����C��uH�H��H�@�"�H��H�\$PH��0_�H�\$H�t$H�L$WH��@H��H��赼���H��KH����H9uIH��KH�H��(H���H������������H����"���H��H�\$XH�t$`H��@_�H�PXH�L$ �j�H��HCH�L$ ���@SH�� A�pH��D9	u?L�AA�P�A3M�@��A3P���$������߰�A3�,3�A���	I��u��
�9�r���T�����ʋ����#�3Ћ�%�X:���3Ћ�%�����3Ћ��3�H�� [�������@SH�� H�[�H��H���t
�H�>�H��H�� [������@SH�� H��H��H���t
����H��H�� [��L���	L��A�A��M�BA�3���3Ћ�$��A�����߰�A3�43�A��@���M�I��u�M��P
A��A�M�BA�3���3Ћ�$��A�����߰�A3���3�A��@���M�I��u�A���A3Q��A3����$������߰�A3�43�A���	A�!�H�\$H�t$WH��@I�H��I��I��H��H�@�x�H;�uCH�H��H�@�c�H���/
��H;�uIH��0H��H������H�\$PH��H�t$XH��@_�H��TH�L$ ��H��FCH�L$ ���H��.H�L$ ���H�]FCH�L$ �����H�\$WH��H�‹�H��H�T$ �e'�3�H�H��H�A�9x }H�@�H��H�8Pt�8Su;{ }H���H;H��$���H�Ġ_��������H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@�@�H;���H�H��H�@�'�H������H;�uML��H�T$PH�����H�H� H�H�L$PH��tH��H����H�\$XH��H�t$hH�l$`H��@_�H�v-H�L$ ��H�ECH�L$ ���H�kSH�L$ �}�H��DCH�L$ ����������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@�P�H;���L��H�L$ H������H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H��������C�uH�H��H�@���H�\$`H��H�l$hH�t$pH��P_�H��RH�L$0��H�DCH�L$0������H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0����H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H��
�����C�uH�H��H�@����H�L$(H��t=����A�u2H�\$(H�H��H��������C�uH�L$(H�H�@����H�_H��t5����C�u*H�H��H��������C�uH�H��H�@�l�H��L�\$`I�[I�kI�s I��_�H��QH�L$@�&�H��BCH�L$@�A��H�\$H�t$WH��@I�H��I��I��H��H�@��H;�u8H�H��H�@���H�����H;�u>H��H����H�\$PH�t$XH��@_�H��PH�L$ ��H�BCH�L$ ���H�Q*H�L$ �{�H��ACH�L$ ��������H�\$H�t$WH��PI�H��I��I��H��H�@�X�H;�uAH�H��H�@�C�H�����H;�uGH�GH9pu`H��3��:���H�\$`H�t$hH��P_�H��OH�L$ ���H�bACH�L$ ���H��)H�L$ ���H�?ACH�L$ ����H�QH�L$8��H�ACH�L$8����H�\$H�t$UWAWH��$���H��H��CH3�H���H��W�D$`H�YH��t�CH�YH�qH�t$`H�\$h����H��0H��H�L$p����H�|$p���H�d$PA�L�|$X�D$@L�
��E3�A�WH�L$@豻���H�d$0L�|$8�D$ L�
��E3�A�W3H�L$ 舻���H�H��H�@���L��L�L$@A�W9H�L$ �%���H�T$8H��r
H��H�L$ �X���H�d$0L�|$8�D$ H�T$XH��r
H��H�L$@�0��������t��t��u H�����
�9�W�H���h�H��t8������C�u*H�H��H��	�����C�uH�H��H�@��H���H3���L��$I�[(I�s0I��A__]����H��SH���)p�H�6�CH3�H��$�(�H��H��0H��H�L$@� ��H��0H�D$ �H��t�XH�T$ H�L$(�`��L�T$03�L��H�L$PH�D$XL���HcL��H��I;�u�A;�s
�A4����H�d$0H�L$(H�H�@��H�L$(H��t!����A��uH��tH���H����H��$�H3���(�$�H���[���H��H�XH�pH�x UH��x�����H+�)�$p)�$`H�
�CH3�H��PH��H��0H��H�L$@����D��H�T$PH�D$XL���Hc
L��H��I;�u�H�L$`Lc3�I��I��H��W�H��x�H*��H��H#�H��H*��X�����^��v�(���D����3�H��A�p���3�i�e�lщ���H�I;�r�D���H��0H�D$ H��t�pH�T$ H�L$(�^��H�|$0(�W5��3�H��H�L$PH�D$XL���HcH��H��I;�u�;�s$H����m�(��\��Y��X�����H�d$0H�L$(H�H�@��H�L$(H��t!����A��uH��tH���H����H��PH3���L��$�I�[I�s I�{(A(s�A({�I��]�H�\$WH��PH��I9��I���6�H�T$`H�D$`H�L$ ���H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H��Q�����C��uH�H��H�@�4�H�\$hH��H��P_�H��JH�L$0��H�v;CH�L$0������H�\$H�t$H�L$WH����H����H�H�AH���9p }H�@�H��H��xt�{u;s }H���H;t9H�g8H�K`H��tH�H��H����H�G8H��L��$�I�[I�s I��_�H��KH�L$8躦��H��H�
D�o��L��H��H�L$X�;����L�[KH��H�L$x�&����H��H�L$ �H��H�i;CH�L$ �����H��(�
�wFeH�%X�4H�ȋ
9XFH�XFH��(�H�
XF�U��=�WF�u�W���WF�h��H�H�@H�@f�@H��WFH�
��c��H�
�WF���H��(eH�%X�
wF�4H�ȋ
9wWFH��uCH��(�H�
bWF����=VWF�u�H�
u���H�
AWF�D�����H�\$H�t$WH��@I�H��I��I��H��H�@��H;�u^H�H��H�@�ӹH�����H;�uH��H�����H�\$PH��H�t$XH��@_�H�Q!H�L$ �{�H��8CH�L$ ���H��FH�L$ �X�H��8CH�L$ �s����H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@��H���6��H;�u#L��H��H���XH�\$PH�l$XH�t$`H��@_�H�| H�L$ ��H�#8CH�L$ ���@SH��@H���26��H9u	H��H��@[�H��HH�L$ �g�H��7CH�L$ ����H�\$WH��H��zCH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@��H�L$xH��tYH�H��H�@��H�H�L$xH��tH�H�T$@H;���H�@ ��H��H��$�H3���H��$�H�Đ_����H�GH�L$(���H�7CH�L$(������@SH��@H�BH9Hu;L��H�L$PH�T$ E3��+�����H�T$ H��赎��H����H;��H��@[�H��FH�L$ �(��H��6CH�L$ �C����@SH��H�BL��H9HuJH�T$@I����d$0H��HH�T$(�L$ �hH�T$ H���3���H���SH;��H��[�H�FH�L$ ���H� 6CH�L$ ����H��H�XH�hH�p H�HWH�� I��H��H���@���H��H�D$0H��t,W���C�CH���H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H���@�H�H��H�D$0H��t)W���C�CH�K�H�H�KH���3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H������H��H�D$0H��t,W���C�CH�t�H�H�KL��H���
����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H����H�H�H�L�wI�I��H�@�ɴH���Q2��H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H��}�����C�uH�H��H�@�b��H��H�\$XH�t$`H�|$hH��@A^�H��H�L$ ���H��3CH�L$ �6���L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S���H��H�H�[H��t9����C��u,H�H��H��������C��uH�H��H�@���H��H�\$PH��0_����H�\$H�t$WH�� H��I��I��H��谻��D��L��H��H���S���H�\$0H���H�H��H�t$8H�� _���L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S����H�J�H�H�[H��t9����C��u,H�H��H��ڲ����C��uH�H��H�@���H��H�\$PH��0_����H�\$H�L$WH��@H��H���R����H�b�H��0��H9uDH�v�H��������(�������)�����,H��H�\$XH��@_�H��@H�L$ ���H��1CH�L$ �'��������@SH�� H�S�H��H���t
�@�~�H��H�� [������@SH�� H�K�H��H���t
�@�N�H��H�� [������@SH�� H���H��H���t
����H��H�� [������H�\$H�t$WH��@I�H��I��I��H��H�@�X�H;�u;H�H��H�@�C�H����.��H;�uAH��H���k��H�\$PH��H�t$XH��@_�H��>H�L$ ����H�h0CH�L$ ���H��H�L$ ����H�E0CH�L$ �����H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@���H;���H�H��H�@���H���.��H;�uML��H�T$PH�����H�H� H�H�L$PH��tH��H��E�H�\$XH��H�t$hH�l$`H��@_�H��H�L$ ���H�}/CH�L$ ���H��=H�L$ ����H�Z/CH�L$ ���������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@���H;���L��H�L$ H�����H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H��Y�����C�uH�H��H�@�>�H�\$`H��H�l$hH�t$pH��P_�H�'=H�L$0���H�v.CH�L$0������H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0���H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H��m�����C�uH�H��H�@�R��H�L$(H��t=����A�u2H�\$(H�H��H��(�����C�uH�L$(H�H�@���H�_H��t5����C�u*H�H��H�������C�uH�H��H�@�̭H��L�\$`I�[I�kI�s I��_�H��;H�L$@���H�-CH�L$@衾�H�\$H�t$WH��@I�H��I��I��H��H�@�h�H;�u8H�H��H�@�S�H����*��H;�u>H��H�����H�\$PH�t$XH��@_�H��:H�L$ ���H�{,CH�L$ ���H��H�L$ ����H�X,CH�L$ �������H�\$H�t$WH��@I�H��I��I��H��H�@���H;�u8H�H��H�@���H���+*��H;�u>H��H���[���H�\$PH�t$XH��@_�H�<:H�L$ �N��H��+CH�L$ �i��H�H�L$ �+��H��+CH�L$ �F�������H�\$WH��PH��I9��I���b�H�T$`H�D$`H�L$ ���H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H��������C��uH�H��H�@���H�\$hH��H��P_�H�:H�L$0�i��H��*CH�L$0脼����H��H�XH�HWH��H��M��D��H�T$ H�H ����H�T$ H��耂��H���H;8t5H�c8H�OpH��tH�H��H��
�H�C8H��H��$�H�Ġ_�H�C;H�L$8�A���H��H�
��C���L��H��H�L$X�Ÿ���L��:H��H�L$x譟���H��H�L$ �ϵ��H��*CH�L$ 螻��H��(�
2gFeH�%X�4H�ȋ
9�GFH��GFH��(�H�
�GF����=�GF�u�W���GF�x��H�H�@H�@f�@H�_GFH�
������H�
[GF�.��H��(eH�%X�
�fF�4H�ȋ
9GFH�^eCH��(�H�
GF�M��=�FF�u�H�
M���H�
�FF���������������H�\$H�t$WH��@I�H��I��I��H��H�@�h�H;�u^H�H��H�@�S�H����&��H;�uH��H���[H�\$PH��H�t$XH��@_�H��H�L$ ���H�x(CH�L$ ���H�>6H�L$ ����H�U(CH�L$ �����H��H�XUVWATAUAVAWH������H���)p�H�=kCH3�H���H��L��H�L$8H�T$8H���H�0E3�L�(H�uH�L$8H��tH�A�UH�@�k�W�D$`H�{H��t�GH�{H�CH�D$`H�|$h��,H�
L�=�M��D8�(LE�D8�)LE�H���H���H+�H��H����H�3�A��H����P��H����OH���3�D�BHH�M`�/�H� 2H�E`W��D$0L�D$ H�T$0H�Mh����H�E�H�D$(H�H��H�@�~�L�mL�mH��H�M��*����A�L�m�A�]�H�]�H�input idH�D$p�D$xL�E�H�T$pH�M`�у��L�l$XH�D$P�=�D$@��<f�D$D��<�D$F�D$G(�H�T$@H�M`赂��H�e�L�m��E�L�
��E3��SH�M�芡��M��H�U�H�M`�.��E3�L�e�L�m�D�e�L�
��E�čSH�M��U���M��H�U�H�M`���H�EH�D$(H��0H�EL�D$!H�UhH�M ��z���L�m�H�]�H�mvn infoH�E�D�e�L�EH�U�H���P���H���D��H���H��H���I��H�������H���H���H+�H��辜��W�f��L���H�Mp�'����H��H�ff���H�H��HH��H�K��H��t6����G�u+H�H��H��������G�uH�H��H�@�p��L��H��I�@�Z�I��H���H3���L��$�I�[PA(s�I��A_A^A]A\_^]��C�������(�����)�����,�����H��H�XH�pH�HWH��0I��H��H�H�H�H�a�P��H�FH�X H�T$`H�H�cH�cH���f���H�c(H�c H�c(H�FH�8H�FH�xH�NH�y3�H�N�DH��H��|�H��H�\$HH�t$PH��0_��H�\$H�t$ WH��0I��H��H�L$ H�H�a�8�|�H�GH�XH�cH�cH��H���϶��H�N H�K H�f H��H�\$HH�t$XH��0_����H��t}H�\$H�t$ WH�� H��H��������3�H��H;�wXH��H��H��r
H������
H��tH�����H��H�H�H�NL��H��H�F�UH�\$@H�FH�t$HH�� _�贸������@SVWH��0I��H��H��H��������H9At_H�L$ H�d$(� �z�H��H�`H�`H�GH��t�@H�H�AH�GH�AH�CH�FH�1H�AH�NH�H��H��0_^[�H�
�������L�D$H�L$SVWATAUAVAWH��0L��H��L��L+9I��H�AH+H��I��������I;��>L�hH�IH+H��H��H��I��H+�H;�vL�L$xI������-H�
I��I;�HC�I;���L�4�H�t$xI��rI���f���H��L��$��!M��tI���\�H��L��$��3�H�t$xH��$�J�4�L�~L�|$(I�H�H��t�@H�t$ H�SH�L;�uL���L��L��I�����H�|$ H�SI��L��M�����H�H��tL��H�S�'��H�SH+H��H��A���H�;J��H�KI�>H�KH��H��0A_A^A]A\_^[�薶����P�������@SVWH�� I��H��L��H��H�L$X�2��tH�H�H�H�GH�H�KH�CH�OL��H�L$XH�����tLH�L��H�H��H�H�CH�H�NH�FH�KH�L$X����tH�H�H�H�GH�H�KH�CH�OH�� _^[���@SUVWATAUAVAWH��8M��H�L$ L+�I�x�I��H��I��H+�L�H��H��A��M��L��H��H��(~gH��H��L��H��I��H�,M�H�����I��N�>H+�D��I������M�E�H+�I��D��I+�H�����D��L��I��H�����H�l$ �L��I�����I�_M;�snI��M��H��H��$�����uSL��H��$�I�����u<L��L;�r��2M��H��$�H�����u L��H��$�I���}��u	H��I;�r�H��I���WL��H��$�I���U��u<M��H��$�H���>��u.H;�tH�H�H�H�GH�H�KH�CH�OH��H��I;�r�I;�vgL�v�M��H��$�I������u<M��H��$�I������u2I��M;�tI�I�I�I�FI�I�OI�GI�NH��I��L;�r�I;�uSI;���H;�tH�I�I�H�CH�I�OI�GH�KI�H��H�I�H�GH�I�OI�GI��H�O�6���H���I;�uJI��I;�tI�H�H�I�GI�H�NH�FI�OI�H��H�I�H�CH�I�OI�GH�K���H�H�H�H�FH�H�OH�GH�N����L�}H��H�]H��8A_A^A]A\_^][����@SUVWATAUAVAWH��8H�`CH3�H�D$(M�h�M��M��I��I�H��H��L��H��I;�}HH�4uH��H��$�H��H�L�B��T��tH��H�H��H��H�H���_r��H��I;�|�I;�u @��uH�H��H�W�H�H���5r��I��L;�}<H�s�M��H�H�L$ H��H��H�H������tH�H��H���q��H��L;�|�H�I��H����q��H�L$(H3��I�H��8A_A^A]A\_^][�H�\$ UVWATAUAVAWH��H��H��^CH3�H�E�A��I��L��H�U�H��H��H+�A��wH����D��M��H��H�M����H��H��H�H�L�u�I��H+�H���I��L�e�I+�H���D��L��H;�}I��H���`���I���I��I���P���M��L�u�I��H+�H���I;��I;���H�~I;���L��A��L��W�E�H�H�E�I�EH�E�H�'I�eL��H�U�H�M������H��H;�tH��H��H���p��H;�u�H���M��L+�I��M��I�A��M����M��I��L�I��M��W�E�I�H�E�I�GH�E�I�'I�g�\$ L�M�M��I��H���@����H�M�H��t>A����AA�u1H�}�H�H��H����A����GA�uH�M�H�H�@���M���s���L�}�I����I��I�����L+�A�L+�W�E�I�G�H�E�I�H�E�I�g�I�'H�H�NH�&H�fI�G�I�?I�H��t9A����GA�u,H�H��H���A����GA�uH�H��H�@���O�/I���\$ L�M�3�H���9����H�M�H��t>A����AA�u1H�}�H�H��H����A����GA�uH�M�H�H�@���I��K�<H���H�� �����I��M���H���n��L��H��L��H�U�H�M��gI�̄�u�H�U��n���H�M�H��t>A����AA�u1H�]�H�H��H���A����CA�uH�M�H�H�@���H��I��I;��E���H�M�H3���H��$�H�ĀA_A^A]A\_^]����@SUVWATAVAWH��@M��H��H��I��I�xrI�I�P��p��L��L��M��H�T$ H���<p��H�L$(H��tH��G�DH��$I�$I�H9F�BL�fL�d$0H�d$8�8��H��H�D$8H�` H�`(I��H�H�۪��H�c0L�NI�QW�H��x�H*��H��H��H�ƒ�H��H*��X�H�N8W�H��x�H*��H��H���H��H*��X��^�/����t4H��衕��H��H���B���M��L�CH�T$0H���Jo���D$ L�NH�T$ L�BI�AH�FH�L�CI�H�ZH�NH�F0I#�H�L��M;$uH���L;�uH���L9D�uH�\�H��GH��H��@A_A^A\_^][�H�
�'�<�����H��H�XH�hH�pWH��pH��I��H�P�H������H�t$`�~uH�V H�������uH�3�C�H�3333333H9G��L�H��$�H�D$(L�
!�H�D$0H�l$0H��H�D$ H�L$@�u�H�pH�`H�L$HH��tH�� �QX��H�L$HH��t
�P�
���D$PL��H�T$0H���D$0��}��H��CL�\$pH��I�[I�kI�s I��_��-����@SUVWATAVAWH��@I��H��H��I��I�xrI�I�P�n��L��L��L��H�T$ H���xm��H�L$(H��tH��G�XH��$I�$I�H9E�VL�eL�d$0H�d$8�8���H��H�D$8H�` H�`(@NH H�fH�F�H�`0L�MI�QW�H��x�H*��H��H��H�ƒ�H��H*��X�H�M8W�H��x�H*��H��H���H��H*��X��^�/E����t4H���ɒ��H��H���j���M��L�CH�T$0H���rl���D$ L�MH�T$ L�BI�AH�EH�L�CI�H�ZH�MH�E0I#�H�L��M;$uH���L;�uH���L9D�uH�\�H��GH��H��@A_A^A\_^][�H�
�$�d�����@SH�� H��H��tH�#H�cH��H��u�H��H������H��H�� [����@SUVWAVH��@I��H��H��I��I�xrI�I�P�l��H��L��L��H�T$0H���pk��H�L$8H��tH��G�UH��$I�$I�H9F�OL��H�VH�L$ ���L�NI�QW�H��x�H*��H��H��H�ƒ�H��H*��X�H�N8W�H��x�H*��H��H���H��H*��X��^�/����t;H�����H��H��蠑��H�\$(L�CL��H�T$0H���j���D$0L�N�H�\$(H�d$(H�T$0L�BI�AH�FH�L�CI�H�ZH�NH�F0H#�H�L��L;NuH���L;�uH���L9D�uH�\�H��GH�L$(H��tH��3����H�L$(H��t
�8����H��H��@A^_^][�H�
�"�c����@SUVWATAUAVAWH��HH��TCH3�H��$0I��M��D��L��@��$�H��$�@��$�L��$�@:���3�A��H�L$0�+��H�L$0�,2���H��H�{rH�L�CH�L$@���H�H�����H��@����X��H��H��w���H��H�rH�L�GH���^��H��
H���O���H��@���X��H��H��
�5���H�����L�l$ L�L$0M��A��I���
��H��$��Q���H�G�H��$�H��$��z��H��$0H3��y�H��HA_A^A]A\_^][��@SH��0H��H�L$ ��H�aH�a�8���H�H�@H�CH�KH�!H�aH�aH�C0H�C8��?L�C�艍���H��H��0[����H�\$WH��@H��H���\$p�\$ H�T$0H���;���D��H�H���H�H�L$0H��t#����A��uH��tH��H��ޏH���H�H��H�\$XH��@_���H�\$H�l$WH��@H��H�L$0�AH�W�H�3�iH�QH��t�BD�A �A$��'7H�Y(H�\$(H�+H�k�P�H�H�@H�@f�@H�H�o8H�o@H�oHH�oPH�oXH�o`H�ohH�op� ���u�H�H�@H�GhH�oxH������X�H�H�@H�GxH���H�L$(W��D$(L�D$ H�T$(�%����@8o u�C���G,F���GH���6H����	H���v	H���H���&H�O�m�H��H�\$XH�l$`H��@_��@SH�� H��H�IH��tH��3����H�KH��t
�8����H�� [�������@SH�� H��H�IH�S H+�H�����3�H�KH�CH�C H�C(H�� [������H�\$WH�� H��H���H���H+�H��詄��H���H���H���H������H�Kx�H�Kh�wH�{PH�H��t-H�WL���[��H�WH+H�H����H���H�'H�gH�gH�{8H�H��t-H�WL���"��H�WH+H�H�������H�'H�gH�gH�K(H������H�KH��t����A��uH��H����H�cH�\$8H�� _���H�\$H�l$H�t$WH�� H�
I��A�H�T$ ����?���H�ȋH#���H�H��$�H��A�H����H�ȋH#�����H��L��$ I�[H;�I�kI�s ��I��_�������H�\$WH�� ��H���L�����t
��H���ʾH�\$0H��H�� _�H�\$H�t$WH�� H�H��H�BH� H�:H��t#H�H�O3����� H��輂��H��H��u�H�� H�\$0H�t$8H�� _阂��H�\$UVWATAUAVAWH��0I��L��L��I;��eH�AH�ZH�{H�iH��L�rH��$�rH�H�S�c��I�?L��M#e03�M�H��J�D�H��$�J�D�H�D$x����8I���	���I�ML;|$xt1H;�tEH��3�H�?H�K�\���8H���ہ��H�D$xI�MH;�u�L9�$�u'H��$�J�D��L9�$���J�|��I��J�D�H;�t{H�(H�OL��rH�OH�W ��b��L��M#}0M�J�D�H�D$x�L��H;�t=H��3�H�?H�K����8H���8���I�ML;d$xu�H��$�J�D�J�D��J�|�I�>L�wH�\$pH��H��0A_A^A]A\_^]��@SH��@H��LCH3�H�D$0H��W�D$ L��H�T$ ��H�KhL�D$ H����H�L$(H��t@����A��u3H�\$(H�H��H��������C��uH�L$(H�H�@���H�L$0H3��=�H��@[����H�\$H�t$ UWAVH��H��pH��KCH3�H�E�H��H��H�H��H�@�K�H��L��H�U�H�O(�|�H�P�zuH�� H�������sW�E�H�H��H�@��L��H�H�AL��L��H�U�I����H�H��H�@�ՈL��H�U�H�O(���H�H��@H�U��a6��H���H9��uCH�O8H�QH;Qt,H�"H�bH�E�H��t�@H�E�H�H�E�H�BH�A�	L�E�������tqH�OPH�QH;Qt,H�"H�bH�E�H��t�@H�E�H�H�E�H�BH�A�	L�E�����H�H��H�@��H���"���H;�uH�OxL�E�H����H�]�H��t8������C�u*H�H��H��‡����C�uH�H��H�@���H�M�H3��K�L�\$pI�[0I�s8I��A^_]���H�\$H�t$UWAVH��H��`H��ICH3�H�E�L��3�H�E�W��M�H!E�H�I�OyH�0H�H;���H�KH�H�@�#�L��H�U�I�N�[��H�U�H;U�t'H�"H�bH�H�
H�HH�JH� H�`H�E��
L��H�M�����H�}�H��t9����G��u,H�H��H��������G��uH�H��H�@���H�H��H;��O���H�U�L��H�M�L+�I��D�M����H�}�H�]�H;�tH�I������H��H;�u�H�}�H�]�H��t/H;�t3�H������H��H;�u�H�]�H�U�H+�H���H����|��H�M�H3�诹L�\$`I�[(I�s0I��A^_]���H�\$H�l$H�t$WH�� H��H�I��wH�8H��oH�KH�H�@���H���˦��H;�tNH�KH�H�@���H���]��H;�uH�KH���H9��tH�KH�H�@�_�H��H���0���H�H;�u�H�\$0H�l$8H�t$@H�� _����@SH�� H�Y(H��LH�K@���H�C�xtH�C�
H;Xu
H��H�@�xt�H���H�H�؀yuH�H��H�Ȁxt�{t�H�� [��H��H�XH�pH�x UATAUAVAWH�h�H��H��H�Y(H�E3�D8c��E�l$L�C H�U'H���UL�0H�}/H��t9����G��u,H�H��H��U�����G��uH�H��H�@�8�M���L�m�H�E��ú�ENj���E�D�e�L�e�L�m�D�e�L�
ֹE�ĺ=H�M��~���L�C H�a�H�M�y���L�8�H��H�M��x���L��L�EǺ{H�M��*���H�U�H��rH��H�M��_z��L�e�L�m�D�e�H�UH��rH��H�M�=z��L�eL�mD�eH�U�H��rH��H�M��z��L�e�L�m�D�e�H�U�H��rH��H�M��y��H�CD8`tH�C�
H;Xu
H��H�@D8`t�H���H��H�D8auH��H�H��D8`t�D8c�O���L��$�I�[8I�s@I�{HI��A_A^A]A\]����H�\$WH�� H�yH��tDH�A8H�yH��H;AvH�L��H�����"H���&H�L�D$0H�S H�KH�D$0�g��H�\$8H�� _��H�\$H�t$WH�� H�H��H�BH� H�2H��t#H�H�N3��e���8H����x��H��H��u�H�H�\$0H�t$8H�H�H�@H�gH�� _���H�\$UVWATAUAVAWH�l$�H��H��L��L���I�����I�hH�H;�tH�SL��I���XH�H��H;�u�I�O�sH�H�E�H�E3�H;��:H�KH�H�@�a�H���-��H;��E��H�CL���I�}I;���L�wI�O�4sH�0H�6M��H�U�H����*H�3�H;�tH��H�H��H;�u�qA;���H�OH�H�@�ހL��H�U�M���I����L� I��0H�KH�H�@���L��H�U�I�����L�0I��0M;�t6I�H��t����A��uH��H��o�I�$I�H��t�@D��H�H��I;�����H�CL���L���M;���I�6I�O�2rH�8H�?L��H�U�H����)H�3�H;�tH��H�H��H;�u�yA;���I�H�H�@��L��H�U�I���H����L� I��0H�KH�H�@��L��H�UH�����H�0H��0I;�t6H�H��t����A��uH��H��nI�$H�H��t�@D��I������E3�H�H��H;E�����M���I�xH�H;���I�GA�H�U�H�H���L��H�KH�IH�H�B��~L�m�L�m�H��H�M�訑���L�E�H�UI�����H�0H��0I;�t/H�H��t����A��uH��H���~I�H�M�.H�U�H��rH��H�M��Vu��L�m�H�E�D�m�H�M�H��t#����A��uH��tH��H��J~L�m�H�H��H;�����I�G(H��KH�H@D�i`H�HD8itH�H�
H;Au
H��H�ID8it�H���H��H�D8juH��H�
H��D8it�D8ht�I�GH�HH���H��t�CH���H���H�M�H�]��.	�H��t8������C�u*H�H��H���}����C�uH�H��H�@�l}I�OH�IH��$H��A_A^A]A\_^]����H�\$ UVWATAUAVAWH��$P���H��H��?CH3�H���L�D$@L��L��E3�D�t$0H�H�HH�H�@��|L���L���H��H���萏���M���H���H���HC��H�����T��L��L���H�U`I���OT��H�HH��uI�MI;����L�u��H�}�D�u�L�
X�E�ƍWH�M��w���L�t$hH�|$pD�t$XL�
�E�ƍW.H�L$X��v���L���H��H�M���q���L�²H��H�M��p���H�D$(�\$ L�M�L����YH�L$X�����H�U�H��rH��H�M��r��L�u�H�}�D�u�H�UH��rH��H�M��qr��L�uH�}D�u�H�T$pH��r
H��H�L$X�Mr��L�t$hH�|$pD�t$XH�U�H��rH��H�M��(r��L�t$8I�GH�PH���H��t�GH���H���H�UPH�}X�D$0	L�u L�u(H��@H�M�ȍ����\$0H�(�H�M�'���@��H�U(H��rH��H�M�q��@��ulI�GH�PH���H��t�FH���H���H�T$HH�t$P�D$0L�u@L�uHH��@H�M0�D����?�\$0H���H�M0����u�H�t$PA���t��\$0H�UHH��r
H��H�M0�q�����tR��\$0H��tF����F���u1H�\$PH�H��H��z����C�uH�L$PH�H�@��y�\$0�����t:H��t5����G�u*H�H��H���y����G�uH�H��H�@��yE��t0L�D$@H�T$xI�$�!�H�L$8H;�tH�H�L$8H� H�L$x�.I�GA�H�U�H�H����H�L$8H;�tH�H�L$8H� H�M�H��t!����A�uH��tH��H��yW��E�H���H�M����H�D$8H�E�H��t�@L�E�H�UpI������H�M�H��t ����A�uH�M�H��H���xH�U�H��r
H��H�M��no���H�D$8H��t"����H�uH�L$8H��H��rx�H���H��rH��H����%o��H���H3��H��$H�İA_A^A]A\_^]����H�\$L�D$UVWATAUAVAWH��H��pI��L��W��M�H�Y(H�A���{�9H�C@H�HH�H�@��wH���Ъ��H;��KW�E�L�k@H�{HH��t�GH�{HL�m�H�}�I�ExH�EXH��t�@L��H�U�H�MX�:L� L�xH� H�`L�e�H�u�L�}�H��t9����F��u,H�H��H��Aw����F��uH�H��H�@�$wH�u�H��t:����F��u-H�H��H���v����F��uH�H��H�@��v�H�EX��H��t����H�uH�MXH��VH���vM����I���H�E�H��t�@L�EPH�U�H�M��EL� L�hH� H�`L�e�L�m�M��t7���A�G�u+I�I��H��Qv���A�G�uI�I��H�@�5vH�u�A��H��t:A����FA�u-H�H��H��vA����FA�uH�H��H�@��u�H�E�H��t"A����HA�uH�M�H��H���uM����H��t9A����GA�u,H�H��H���uA����GA�uH�H��H�@�|uH�uPH�C�xt!H�C�
H;Xu
H��H�@�xt�H���Z���H��H��y�J���H��H�H�Ȁxt��6���M�&M�nH��tkA����GA�u^H�H��H��uA����GA��/M�&M�~H��t6����G�u+H�H��H���t����G�uH�H��H�@��t��PI�&I�fH�M�H��t>A����AA�u1H�]�H�H��H��~tA����CA�uH�M�H�H�@�`tI��H��$�H��pA_A^A]A\_^]��H��H�XH�hH�pH�x AVH��`I��H��H��W��H�L�q(H�P�I���N��H�|$@�ugH�W H��������uWI;>tRL��H�T$HI�����H�|$X�udH�W H�������uTH�#H�cH�GHH��t�@H�G@H�H�GHH�C�L��H��H���b����H��L�\$`I�[I�kI�s I�{(I��A^�H�
��迅���H�\$UVWAVAWH��H��PH��H��H�U�E3�D�u�W�L�2L�rL�rA�v�u�H�Q0H��tH��������H;��~H�����H�[(H�D8s�NA�H�C@H�HD8��tzL�}�H�E��`��E��\�f�E�T��E�D�u�H�WH;Wt-L�rL�rE�M�JL�u�I��H�U�D�u�H�G �L�E�H����H�U��^H�H�@�MrL�u�L�u�H��H�M�������u�H�WH;WtE�M�JI��D�u�H�G �L�E�H��蔹��H�U�H��rH��H�M��h��H�CD8ptH�C�
H;Xu
H��H�@D8pt�H���H��H�D8puH��H�H��D8qt�D8s�����H��H��$�H��PA_A^_^]��ц���H�\$H�t$ UWAVH��H��PH��H��H�U�E3�D�u�W�L�2L�rL�rA�v�u�H�Q0H��tH��������H;���H�����H�[(H��H�C@H�PL�u�L�u�H��H�M�貃�����u�H�WH;WtE�M�J�D�u�H�G �L�E�H���K���H�U�H��rH��H�M��qg��H�CD8ptH�C�
H;Xu
H��H�@D8pt�H���H��H�D8puH��H�H��D8qt�D8s�B���H��L�\$PI�[0I�s8I��A^_]�臅�����H�\$H�t$ UWAVH��H��PH��H��H�U��e�W�3�H�BH!H!BH!BD�pD�u�H�QpH��tH��������H;���H���f��H�hH��H�CH�HH�H�@��oH�e�H�e�H��H�M��W���A��D�u�H�VH;VtE�M�J��E�H�F �L�E�H�����H�U�H��rH��H�M��f��H�H;��v���H��L�\$PI�[0I�s8I��A^_]��k�������A$���H�\$H�t$ UWAVH��H��PH��H��H�U��e�W�3�H�BH!H!BH!BD�pD�u�H�qXH��H+QPH��H��tH��������H;���H���7��H�wXH�P�H�H�HH�H�@�~nH�e�H�e�H��H�M��(���A��D�u�H�SH;StE�M�J��E�H�C �L�E�H��迵��H�U�H��rH��H�M���d��H��H;��v���H��L�\$PI�[0I�s8I��A^_]��;������H��H�XH�hH�pWH��PH��H��H�P�H��(I�����H�P�zuH�� H�������tH�KH���<ZH��H���	�L��H�T$ H�K(���H�\$0�{uMH�S H���A����u=H�'H�gH�KHH��t�AH�KHH�C@H�\$`H�l$hH�t$pH�H��H�OH��P_�H�
M��x����H�\$WH�� H�IH��I���YH��H�H�AH���lL��H��L��H�H�A@I���lH�\$0H��H�� _��H�\$UVWAVAWH��@I��H��L��H�T$8�d$$W�3�H�BI�PI+H��H!H!FH!FL�D$ H������D$$L�sH�.H�;�H�H�H�@�GlL��H�T$(I���O����L$$H�T$(H���aA��H�L$0H��t@����A��u3H�\$0H�H��H���k����C��uH�L$0H�H�B��kH��H��I;��s���H��H�\$pH��@A_A^_^]���H�\$H�t$UWAVH��H��@H� .CH3�H�E�H������H�����3�H�E�W��M�H!E�L���I�I;�tGH�s0H������u,H�U�H;U�tH�H�H��t�@H�E��L��H�M��K��H�H��I;�u�H�OH�U�H�I�ǿ���H�M�H��t!L�E�H�U��`�H�U�H�M�H+�H���a��H�����H�M�H3��l�H�\$hH�t$pH��@A^_]��H�\$ UVWATAUAVAWH�l$�H���M��L��L��W��L$ L��H�U��*���H�0H�xH� H�`H�t$ H�|$(A��H�]�H��t9A����CA�u,H�H��H��+jA����CA�uH�H��H�@�jH����H�NH�H�@��iH���p6��H;���3�H�t$@�^H�\$H@�t$0L�
��D�ƍV=H�L$0�xd���M��H�
�H�M��t_���L��H��H�M��^���L��M�ƍVkH�L$0�����H�U�H��rH��H�M��5`��H�u�H�]�@�u�H�U�H��rH��H�M��`��H�u�H�]�@�u�H�T$HH��r
H��H�L$0��_��W�E�H��t�GH�\$ H�]�H�}��I���D���I��H���<���H��t:A����GA�u-H�H��H���hA����GA�uH�H��H�@��h�H��t9A����GA�u,H�H��H���hA����GA�uH�H��H�@�ohH��$HH���A_A^A]A\_^]�M��H�j�H�M��^���H��H�M��ds��H���BH�M��4y�����I$���H��H�XH�pH�xUAVAWH�h�H���H�yhH�H;���E3�E�~H�SH�JH�H�@��g@��L�u7L�}?D�u'L�
w�E�ƺH�M'�fb���L�}L�uD�uL�}�H�E�H�validateH�E�D�u�L�u�L�}�D�u�L�
H�E�ƺ=H�M��b���H�CH�HH�H�@�AgL�u�L�u�H��H�M���y���H�E'H�D$8�D$0H�EH�D$(@�t$ L�M�L�E�IH�M������H�U�H��rH��H�M��]��L�u�L�}�D�u�H�U�H��rH��H�M��]��L�u�L�}�D�u�H�U�H��rH��H�M��o]��L�u�L�}�D�u�H�UH��rH��H�M�M]��L�uL�}D�uH�U?H��rH��H�M'�+]��H�H;��m���L��$�I�[ I�s(I�{0I��A_A^]���H�\$WH��0I��H��H�L$ H�H�a�0�Y�H��H�GH�D$`H�H�H�J �b(H�GH�H�OH�YH�OH�Y3�H�O�DH��H��|�H��H�\$HH��0_���H�\$WH��0I��H��H�L$ H�H�a�0�ݗH��H�GH�D$`H�H�H�J H�b(H�GH�H�OH�YH�OH�Y3�H�O�DH��H��|�H��H�\$HH��0_��H;�tIH�\$WH�� H��H��H�H��tH�SH+�H����[��H�#H�cH�cH��H;�u�H�\$0H�� _��L�M��I�BH�Ȁxu*M�L9Y sH�I�A�ytL;Y LB�L��H�	�yt�A�yuI��xuI�H;H sL��H��H�@�xt�L�H��L�J��H�\$WH�� L�L��L�IH��������*M+�H��I��H��L��I��I��H��?L�M;�sH�QK�RI��L��H�����H�_�EvCH�IH��I+�H��H��H��H��?H�L;�v
I��H���&�H�OM+�I��L����H�GH�\$0H�� _����H�L$SVWAVAWH��0L��H��I��������
I;���H�IH+I��������*I��H��L��I��I��H��?L�H�NH+I��H��H��H��H��?H�H��H��I��H+�H;�vI��H�\$hH���"H�I;�s I��H�\$hH�[H��H��r�OY���H�\$hI;�wk��3�H��t�E�H��H�|$xK�H��H�L$(I��I+�L����H�D$ L��L��H�VH��c�L��M��H��H��H��0A_A^_^[����w����w�����H�\$H�t$WH��`�d$HH��H�	H��H��H�AH�D$@�xu-M�H�D$@L9H s�d$HH�@�H���D$HH��xtրzuH�B I9rH��C�H�UUUUUUUH9G��H�D$pL��$�H�D$(L�
��H��$�L��H��H�D$ H�L$0���H�pH�`H�L$8H��t
�0�X��D$@L��H�T$@H���D$@�gI��H��CL�\$`H��I�[I�s I��_��S����H�\$H�t$WH��`�d$HH��H�	H��H��H�AH�D$@�xu-M�H�D$@L9H s�d$HH�@�H���D$HH��xtրzuH�B I9rH��C�H�UUUUUUUH9G��H�D$pL��$�H�D$(L�
�H��$�L��H��H�D$ H�L$0���H�pH�`H�L$8H��t
�0�fW��D$@L��H�T$@H���D$@�KH��H��CL�\$`H��I�[I�s I��_��R����@SH�� I��H;�tLL��L�AL+�E3�L�O�\�O�I�@�H�H��I�@�K�D�I�K�M�X�M�X�M�M�@I�H�H;�u�M��H��H�����H��H�� [����@SH�� 3�H��H��tH�H�CH�CH��H��u�H��H���|���H��H�� [����H��H�%"CH3�H�$L��H�
3�H�	I;�tH��H�H��I;�u�H��yH��H��H�H�IH��u��H�	H��H���I�	I��H�$H3���H���H�\$WH�� H��H�	H�Y�{u(L�CH��H���k���H�˺0H���U���{t�H��0H�\$8H�� _�U��������H�\$H�t$H�|$AVH�� H��I��H�	M��H��H��t>H�SL���o���L�CH��������*L+H�I��H��H��H��?H�H�RH���EU��H�;K�vH��H�KH�vH�t$8H��H�|$@H�KH�\$0H�� A^�I��L��L��H��I�����H�\$H�t$H�|$ AVH�� H�1I��H��L��H;uDA�xt=H�^�L�CI��I���F���H�˺0H��T���{t�H�vH�6H�vI�f�XH;�tSH�CH�ӀxtH�C�
H;Xu
H��H�@�xt�H���H�H�؀yuH�H��H�Ȁxt�I���H;�u�H�\$8H��H�|$HH�t$@H�� A^��@SH�� H�ZE3�L��H��D8KtH�Z�
H;Cu'H��H�[D8Kt��H�D8IuH�H��H��D8Ht�I���7���0H����S��H��H�� [���@SH�� H��H�	H��tLH�SL�����H�SH��������*H+H�H��H��H��H��?H�H�RH���iS��H�#H�cH�cH�� [��H�\$H�t$WH�� L�H��H��I�@H� I�H��tH���S��H��H��u�H�H�H�H�@H�fH�8H��H�SH���4H�H;�u�H�H��H�PƂ�H�H;�u�H�\$0H�t$8H�� _��H�\$H�t$ WH��@H�^CH3�H�D$8H�T$0H���ubH���H�H;�tH�SH�����H�H;�u�H�T$0Ƃ�L�D$0H�H��H��{���H�H�NL�D$0H�T$ H����H�H�Y(H�L$8H3��H�\$`H�t$hH��@_���H��H�XH�pH�x UATAUAVAWH�h�H���H��CH3�H�E'L��H�L$0W��M��0�A�H�H�@H�@f�@H�E�M�,$L�m�I�]I;�t3H�CH�E�L�E�H�U�H�M��"���H��I(�H�H��I;�u�M�,$L�m�E3�A�ƉE�I�]I;��H�CH�E�L�E�H�U�H�M�����H��y(�uL�E�H�U�H�M����H�D�q(H�E�H���H�8H;���L��D�m�L�L�E�H�U�H�M����H�D�q(A��D�t$(M��H�U�H�M��f���H�H��(H�t$(D91HM�M��H�U�H�M��C���H���A(M��H�T$8H�M��*���H�H��(H�E�D;)HL�D�(D�m�H�H��I;��h���L�m�E3�H�H��I;������L�d$0�E�W��ML�u��Hc�L�D$ H�M���I�<$H�H;�t]H�CH�E�L�E�H�T$8H�M����H�HcA(H�@H�EH��H�QH;QtH�E�H�H�A�	L�E��k��H�H��H;�u�I�<$H�GL�0H�H��tH���O��H��H��u�I�$H�I�$H�@M�t$H�uH�}H;�trL�L�7�PM��I�$I��菘��I�$M��H�T$8I�L$����H�H�Y(M��H�U�I�L$���H�H�B(H�HH�J(I��M;�u�H��H;�u�H�uH�}E3�H��tsH;�t0H�H��tH�WH+�H����N��L�7L�wL�wH��H;�u�H�}H�UH+�H��������*H��H��H��H��?H�H�RH��H���N��W��EL�uH�M�H�YD8su+L�CH�U�H�M��}��H��H��0�^N��D8st�H�M��0�JN��H�M'H3���L��$�I�[8I�s@I�{HI��A_A^A]A\]��H�\$WH��@H��CH3�H�D$0L��H��H�T$ �;�H�T$ E3�L�D$(H��A��I;�tKH�HH��D8QtH�H�
H;Au
H��H�ID8Qt�H���L�	H��E8QuI�	I��L��D8Qt�I;�u�H�����H��H�L$0H3��X�H�\$XH��@_��H�\$WH��0H��H��H��H���3���L��H�L$ H������H�H�QH�H�H�H�AH�B�H�O�M��H�\$HH��0_���H��(L�I3�I�A�L9@ sH�@�L��H�8Ht�A8IuM;A rI�A(H�H��H��(�H�
#��Nh��H�\$WH��@H�cCH3�H�D$83�L�L$0H�H��H��H��H�L$ ����L�D$0H��H�覕��H�KH�L�D$0H�T$ ��H�H�H��H�J(H�L$8H3��&�H�\$`H��@_����H��8H�H�"H�D$ H�BH�bH�T$ H�D$(��	H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@�UH�����H;�u#L��H��H���XH�\$PH�l$XH�t$`H��@_�H���H�L$ �|��H�+�BH�L$ ��e�@SH��@H�����H9u	H��H��@[�H���H�L$ �o|��H���BH�L$ �e��H�\$WH��H��CH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@�x�H�L$xH��tYH�H��H�@�TH�H�L$xH��tH�H�T$@H;���H�@ ��SH��H��$�H3�蕇H��$�H�Đ_���e�H��H�L$(�{��H��BH�L$(�d����@SH��@H�BH9Hu;L��H�L$PH�T$ E3��3M���H�T$ H���*��H����H;��H��@[�H���H�L$ �0{��H���BH�L$ �Kd���@SH��H�BL��H9HuJH�T$@I��豳�d$0H��HH�T$(�L$ �tH�T$ H���;*��H���_H;��H��[�H�!�H�L$ �z��H�(�BH�L$ ��c��H��H�XH�hH�p H�HWH�� I��H��H���@�لH��H�D$0H��t,W���C�CH�ԋH�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H���`�P�H��H�D$0H��t)W���C�CH�s�H�H�KH���3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H�����ɃH��H�D$0H��t,W���C�CH���H�H�KL��H���
����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H��褓�H���H�L�wI�I��H�@��PH�����H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H���P����C�uH�H��H�@�jP�H��H�\$XH�t$`H�|$hH��@A^�H���H�L$ �#x��H���BH�L$ �>a��L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��!�H�^�H�H�[H��t9����C��u,H�H��H���O����C��uH�H��H�@��OH��H�\$PH��0_����H�\$ UVWATAUAVAWH��$����H��`H��CH3�H��PI��H��H��H�M�I���W��D��L��H��H���.����H��H�H���H���H+�H���H;���D��H�UPH�I��H�E H�E�H�E�H�E H�E�H�]�H�E$H�E�H�]�H�M(H�MH�EH�E4H�EH�E(��)E (��)M0D�1H���H���H+�H��E3�H���D��H���H�	�t�H��D�8D�kD;��EL�m�L�e�D�e�L�e�L�m�D�e�L�
��E�čSH�M���H���L�d$pL�l$xD�d$`L�
��E�čSH�L$`��H���L�d$PL�l$XD�d$@L�
}�E�čS>H�L$@�H���H�H��H�@��ML��H�E�H�D$8D�|$0H�E�H�D$(D�t$ L�L$`�SGH�L$@�����H�T$XH��r
H��H�L$@�RD��L�d$PL�l$XD�d$@H�T$xH��r
H��H�L$`�+D��L�d$pL�l$xD�d$`H�U�H��rH��H�M��D��L�e�L�m�D�e�H�U�H��rH��H�M���C��L�e�L�m�D�e�L�
хE�ĺ6H�M��G���L�d$PL�l$XD�d$@L�
�E�ĺH�L$@�G���L�d$pL�l$xD�d$`L�
ЅE�ĺH�L$`�^G���L�e�L�m�D�e�L�
�E�ĺ?H�M��9G���H�M�H�E�H���HcH��H��H;�u�H�H��H�@�JLL��H�E�H�D$8D�t$0H�D$@H�D$(�\$ L�L$`�LH�M��@����H�U�H��rH��H�M���B��L�e�L�m�D�e�H�T$xH��r
H��H�L$`�B��L�d$pL�l$xD�d$`H�T$XH��r
H��H�L$@�B��L�d$PL�l$XD�d$@H�U�H��r
H��H�M��aB���H��H��PH3��.H��$�H��`A_A^A]A\_^]��~y����L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S����H���H�H�[H��t9����C��u,H�H��H���J����C��uH�H��H�@��JH��H�\$PH��0_����H�\$WH��@H��H��H�L$ �n=���H�ƁH����H9uWH�ځH�H���H��(H�aH�A���=���������H�����LH��H�\$`H��@_�H���H�L$(�r��H���BH�L$(�0[����@SH�� H��@H��H��rH��(H����@��H��8H��8Hǃ@ƃ(�X��H�S(H��rH�KH���@��H�c H�C(�CH�� [�����@SH�� H��H��H���t
�@�|H��H�� [������@SH�� H���H��H���t
�`��{H��H�� [������@SH�� H�{�H��H���t
���{H��H�� [������H�\$WH�� ��H�������t
�PH���z{H�\$0H��H�� _�������������H�\$H�t$WH��@I�H��I��I��H��H�@��HH;�u;H�H��H�@��HH�����H;�uAH��H���n��H�\$PH��H�t$XH��@_�H���H�L$ �;p��H���BH�L$ �VY�H��H�L$ �p��H���BH�L$ �3Y���H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@��GH;���H�H��H�@��GH������H;�uML��H�T$PH���B�H�H� H�H�L$PH��tH��H���GH�\$XH��H�t$hH�l$`H��@_�H�&�H�L$ �Po��H���BH�L$ �kX�H��H�L$ �-o��H���BH�L$ �HX��������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@�GH;���L��H�L$ H���C���H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H���F����C�uH�H��H�@��FH�\$`H��H�l$hH�t$pH��P_�H�w�H�L$0�In��H���BH�L$0�dW����H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0�G�H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H���E����C�uH�H��H�@��E�H�L$(H��t=����A�u2H�\$(H�H��H��xE����C�uH�L$(H�H�@�[E�H�_H��t5����C�u*H�H��H��7E����C�uH�H��H�@�EH��L�\$`I�[I�kI�s I��_�H�D�H�L$@��l��H�S�BH�L$@��U�H�\$H�t$WH��@I�H��I��I��H��H�@��DH;�u8H�H��H�@��DH�����H;�u>H��H�����H�\$PH�t$XH��@_�H�<�H�L$ �Nl��H���BH�L$ �iU�H��H�L$ �+l��H���BH�L$ �FU������H�\$H�t$WH��@I�H��I��I��H��H�@�DH;�u8H�H��H�@��CH�����H;�u>H��H����H�\$PH�t$XH��@_�H���H�L$ �k��H��BH�L$ �T�H�Q�H�L$ �{k��H���BH�L$ �T������H�\$WH��PH��I9��I����H�T$`H�D$`H�L$ �*�H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H��C����C��uH�H��H�@��BH�\$hH��H��P_�H�g�H�L$0�j��H�6�BH�L$0��S����H��H�XH�HWH��H��M��D��H�T$ H�H �F<���	H�T$ H������H����H;8t5H�c8H�OpH��tH�H��H��ZBH�C8H��H��$�H�Ġ_�H���H�L$8�-��H��H�
�EC�FQ��L��H��H�L$X�7���L�2�H��H�L$x�6���H��H�L$ �M��H�@�BH�L$ ��R��������������@SH��0D�L$ L�D$0H�T$(3�H��(H�H��H�L$(H�BH��H�BH�T$(�;��H��H��0[��H��(�
.�EeH�%X�4H�ȋ
9��EH���EH��(�H�
��E��z�=��E�u�W����E�x�{sH�H�@H�@f�@H���EH�
��x�H�
��E�*z�H��(eH�%X�
��E�4H�ȋ
9W�EH�b�BH��(�H�
B�E�Iz�=6�E�u�H�
��xH�
!�E��y��������H�\$H�t$WH��@I�H��I��I��H��H�@�h@H;�u^H�H��H�@�S@H���C���H;�uH��H���[H�\$PH��H�t$XH��@_�H�ѧH�L$ �g��H�x�BH�L$ �Q�H�>�H�L$ ��g��H�U�BH�L$ ��P���H��H�XUVWATAUAVAWH�����H���)p�H�=CH3�H���H��L��H�L$8H�T$8H��賎H�0H� H�u0H�L$8H��tH��H�@�l?W�E�H�{H��t�GH�{H�CH�E�H�}���LH�
iwL�=rw��HLE�H���H���H+�H��H���JL�!H���=H�Y3�A��H����Tb�H����S���3�D�BHH����0bL�-!�L���W��D$0L�D$(H�T$0H����'���H�E�H�D$ I�$I��H�@�x>H�eH�eH��H�M��"Q���A�L�e�H�E�H�input idH�E��E�L�E�H�U�H�������H�EH�D$ H�H��H�@�>H�e H�e(H��H�M�P���L�d$XA�\$�H�\$P�2v�D$@�.v�D$H�'vf�D$L�D$NL�EH�T$@H����L��L�d$xH�D$p����D$`�y�f�D$d�p��D$f�D$g(�H�T$`H����-��H�e�L�e��E�L�
IcE3��SH�M��8��M��H�U�H���裮��H�E8H�D$ L�m8L�D$)H���H�M@����L�e�H�]��\u�E��Yu�E��Suf�E��E�L�E8H�U�H����=��H���D��H���H��H���<I��H���蔚���H���H���H+�H���Y3��W�f��H���H����<���H��h����H���H��hH��h��X�H��t6����G�u+H�H��H��"<����G�uH�H��H�@�<�L��H��I�@��;I��H���H3��oL��$�I�[PA(s�I��A_A^A]A\_^]���i������������H��(H�xrH�H�����H�����L������H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�
H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@�;H���GH;�u#L��H��H���H�\$PH�l$XH�t$`H��@_�H���H�L$ ��b��H�?�BH�L$ ��K�L��SVWH��`H�C�BH3�H�D$PH��H��I�S�fE�C�I�S�I�K��H��H�OL��H�T$0���H�H��0H������H�\$(H��t9������C�u+H�H��H��L:����C�uH�H��H�@�1:�H�VH��rH��H���0��H�fH�F�H�L$PH3��mH��`_^[���@SH��@H���H9u	H��H��@[�H���H�L$ �a��H�(�BH�L$ ��J��H�\$WH��H�(�BH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@��H�L$xH��tYH�H��H�@�Y9H�H�L$xH��tH�H�T$@H;���H�@ �49H��H��$�H3���lH��$�H�Đ_��J�H�S�H�L$(��`��H�Z�BH�L$(�I����@SH��@H�BH9Hu;L��H�L$PH�T$ E3��o2����H�T$ H�����H���H;��H��@[�H���H�L$ �l`��H��BH�L$ �I���@SH��H�BL��H9HuJH�T$@I�����d$0H��HH�T$(�L$ �LH�T$ H���w��H���7H;��H��[�H�]�H�L$ ��_��H�d�BH�L$ �I��H��H�XH�hH�p H�HWH�� I��H��H���@�jH��H�D$0H��t,W���C�CH�0tH�H�KL��H�������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H�����iH��H�D$0H��t)W���C�CH��sH�H�KH���3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H�\$WH�� H��H��� �iH�D$0L��H��t2W��A�@A�@H��sI�H��rI�@�fA�@�E3�I�@W�H�H��L�CH�\$8H�� _��H��H�XH�hH�p H�HWH�� I��H��H�����hH��H�D$0H��t,W���C�CH�|rH�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H���dx�H�pH�L�wI�I��H�@��5H���H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H��E5����C�uH�H��H�@�*5�H��H�\$XH�t$`H�|$hH��@A^�H���H�L$ ��\��H�`�BH�L$ �E��L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S���H��nH�H�[H��t9����C��u,H�H��H���4����C��uH�H��H�@�i4H��H�\$PH��0_����H�\$ UVWATAUAVAWH��$����H��PH���BH3�H��@I��H��H��H�M�I���S<��D��L��H��H���.����H��nH�H���H���H+�H��E3�H���<A�H�U�H�	�˓H�^pW�H�E��L$(H�E��L$,H�M�A�D$0��D$4�E�L�}�D�L$ L�D$8H�T$(H�M��Z,���W�H��p��L$pH�����L$tH����A�D$x��D$|�E�L�}�D�L$ L�E�H�T$pH�M��,���H�_H��t�CH�_L�gH��t=A��A����CA�u,H�H��H���2A����CA�uH�H��H�@��2�L�u�A�>��L�|$`H�\$hD�|$PL�
WnE�ǍS;H�L$P�W-���L�|$8H�\$@D�|$(L�
�mE�ǍS.H�L$(�0-���H�H��H�@�_2L��L�L$P�SDH�L$(�Ή���H�T$@H��r
H��H�L$(�)��L�|$8H�\$@D�|$(H�T$hH��r
H��H�L$P��(���D����H�]�A��$�L�j�;�LE�Q�EщT$HB��C9���H�d$`H�D$h�D$PL�
�mE3�A�PBH�L$P�e,���H�d$8H�D$@�D$(L�
�lE3�A�P=H�L$(�8,���H�H��H�@�g1L��L�L$P�]H�L$(�Ԉ���H�T$@H��r
H��H�L$(�(��H�d$8H�D$@�D$(H�T$hH��r
H��H�L$P��'���T$HI�ύJ�I�U�M�������H��tH�U�H+�H��H���'���H�U�I+�H��I���'���H��H��@H3��edH��$�H��PA_A^A]A\_^]��^���H�\$H�T$WH��0H��H��W��D$ L�JM��t	�A�AL�JH�H�D$ L�L$(H�T$ �a���H��jH�Ƈ�H�[H��t9����C��u,H�H��H��0����C��uH�H��H�@��/H��H�\$PH��0_�H�\$WH��@H��H��H�L$ �"���H��iH���H9��H��iH�H���H��`HǃhH��p�H��xH���H���H���H���H���Hǃ�H���H���Hǃ�W�AH���A� �N���f���H��H�\$`H��@_�H���H�L$(��V��H�T�BH�L$(��?��@SH�� H�ckH��H���t
�@�NaH��H�� [������@SH�� H�[kH��H���t
���aH��H�� [������@SH�� H��kH��H���t
� ��`H��H�� [������@SH�� H��jH��H���t
���`H��H�� [������H�\$WH�� H�ً�H��8�<��H�S(H��rH�KH���$��H�c H�C(�C@��t
��H���[`H��H�\$0H�� _��������������H��jH�H�����H�
�����������H��1C���������H�\$H�t$WH��@I�H��I��I��H��H�@�X-H;�u;H�H��H�@�C-H���kH;�uAH��H���[H�\$PH��H�t$XH��@_�H���H�L$ ��T��H�h�BH�L$ �>�H���H�L$ ��T��H�E�BH�L$ ��=���H�\$UVWAUAVH��$����H��H�6�BH3�H��pH��L��H���H���H+�H��H���A�H���H�	�r�W�D$pH�_H��t�CH�_H�wH�t$pH�\$xA�fD9����H�d$`H�D$h�D$PL�
gE3�A�UKH�L$P��&���H�d$@H�D$H�D$0L�
+gE3�A�U:H�L$0�&���H�H��H�@��+L��L�L$PA�U%H�L$0�7����H�T$HH��r
H��H�L$0�j"��H�d$@H�D$H�D$0H�T$hH��r
H��H�L$P�>"��H�E�H�E�H�E�H�E�H�E�H�E�H�E�H�E�H�E�H�E�H�E�L�m�H�E�H�E�H�E�W�E�E�H���A� H�M��aJH�M��3��H�D$ L�M�D���H���I���1���H��t8������C�u*H�H��H���*����S�uH�H��H�B��*I��H��pH3��9^H��$�H�ĀA^A]_^]��X���������������H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@�0*H;���H�H��H�@�*H���?H;�uML��H�T$PH���F�H�H� H�H�L$PH��tH��H���)H�\$XH��H�t$hH�l$`H��@_�H�f�H�L$ �Q��H�
�BH�L$ �:�H�[�H�L$ �mQ��H��BH�L$ �:��������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@�@)H;���L��H�L$ H�����H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H���(����C�uH�H��H�@��(H�\$`H��H�l$hH�t$pH��P_�H���H�L$0�P��H��BH�L$0�9����H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0�K�H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H���'����C�uH�H��H�@��'�H�L$(H��t=����A�u2H�\$(H�H��H���'����C�uH�L$(H�H�@��'�H�_H��t5����C�u*H�H��H��w'����C�uH�H��H�@�\'H��L�\$`I�[I�kI�s I��_�H���H�L$@�O��H���BH�L$@�18�H�\$H�t$WH��@I�H��I��I��H��H�@��&H;�u8H�H��H�@��&H���H;�u>H��H�����H�\$PH�t$XH��@_�H�|�H�L$ �N��H��BH�L$ �7�H�A�H�L$ �kN��H��BH�L$ �7������H�\$H�t$WH��@I�H��I��I��H��H�@�H&H;�u8H�H��H�@�3&H���[H;�u>H��H����H�\$PH�t$XH��@_�H�̳H�L$ ��M��H�[�BH�L$ �6�H���H�L$ �M��H�8�BH�L$ ��6������H��(H���QH���T��H��H��H��(骓������������H�\$WH��PH��I9��I���~�H�T$`H�D$`H�L$ ��H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H��!%����C��uH�H��H�@�%H�\$hH��H��P_�H�w�H�L$0��L��H�F�BH�L$0��5����H��H�XH�HWH��H��M��D��H�T$ H�H �V���H�T$ H�����H���H;8t5H�c8H�OpH��tH�H��H��j$H�C8H��H��$�H�Ġ_�H���H�L$8���H��H�
7(C�V3��L��H��H�L$X�"���L�B�H��H�L$x�
���H��H�L$ �//��H�P�BH�L$ �4��H��(�
��EeH�%X�4H�ȋ
9w�EH�^�EH��(�H�
b�E�=]�=V�E�u�W��9�E�x��UH�H�@H�@f�@H��EH�
���K[�H�
�E�\�H��(eH�%X�
��E�4H�ȋ
9�EH���BH��(�H�
��E�\�=��E�u�H�
M���ZH�
��E�,\������������H�\$H�t$WH��@I�H��I��I��H��H�@��"H;�u^H�H��H�@��"H����H;�uH��H���[H�\$PH��H�t$XH��@_�H�1�H�L$ �[J��H�ءBH�L$ �v3�H���H�L$ �8J��H���BH�L$ �S3���H�\$UVWATAUAVAWH��$@���H��H���BH3�H���H��H��H�L$8W�E�H�zE3�H��t�GH�zL�rL�u�H�}�H�T$8H����pL�8L�(L�}�H�L$8H��tH��H�@��!H���H���H+�H��H����H�3�A��H�����D�H�������3�D�BHH�M`��DH���H�E`W��D$0L�D$ H�T$0H�Mh�
���H�E�H�D$(H�H��H�@�!L�m�L�m�H��H�M��3���A�L�m�H�E�H�input idH�E��E�L�E�H�U�H�M`�j���H�E@H�D$(H�U@I��`���L��L�l$XA�]�H�\$P�\�D$@�\�D$HE3�D�d$LH�T$@H�M`����L�l$xH�\$p��[�D$`��[�D$hD�d$lE���H�T$`H�M`�i�H�E�H�D$(H���H�E�L�D$!H�UhH�M��L�m�H�]���[�E���[�E�D�e�L�E�H�U�I��� ��I���D��H���I��H���H��H����}���H���H���H+�H���f��W�f��L���H�Mp�����H��H���H���H��HH��H��;�I��SI��H�@�?�H��t5����G�u*H�H��H������W�uH�H��H�B�H��H���H3��RH��$H��A_A^A]A\_^]���L����@UH��H��H�E�H�EH��[H�E�H�E�H�E�H�e�H�E��E�L�
�XE3�A�PH�M��A���H�U�H�M��s��H�Ā]�����������H��HH��x��H�$H�����H�D$H���($H�D$H�����H�D$(L$���������f���H��H����H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@��H���ߛ��H;�u#L��H��H����H�\$PH�l$XH�t$`H��@_�H��H�L$ �*E��H���BH�L$ �E.�@SUVWAVH�� I��H��H+�L��H��H�H��r\H��������H;�wXH�H��r
H���.���3�H��tH���-OH��I�H�I�^L��H��I�FH���<H�I�FH�� A^_^][��1���@SH��@H�����H9u	H��H��@[�H�y�H�L$ �[D��H�؛BH�L$ �v-��H�\$WH��H���BH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@���H�L$xH��tYH�H��H�@�	H�H�L$xH��tH�H�T$@H;���H�@ ��H��H��$�H3��OH��$�H�Đ_��-�H��H�L$(�C��H�
�BH�L$(�,����@SH��@H�BH9HuG�K3�H�H��H�A�9P }H�@�H��H�8Pt�8Su9S ~H���H;��H��@[�H���H�L$ �C��H���BH�L$ �+,���@USVWATAVAWH�l$�H��H���BH3�H�EpI��M��D��L��H�������D$P����D$T���D$X���D$\���D$`H�D$P���;0��H��H�L$dH;�u�3�A��H�L$p��=�H�L$p�������t��H�P 3�H�t$@H�t$HH�L$0�
-���H��H�{rH�L�CH�M��?���H�L�H���0���H�T$0H�|$HHCT$0L�D$@H������H��H������H��H�rH�L�GH�����H��H����ۇ���H�T$HH��r
H��H�L$0���H�\$P��s��H�P H�t$@H�t$HH�L$0�N,���H�T$0H�|$HHCT$0L�D$@H�M��~���H��H����o����H�T$HH��r
H��H�L$0���H��H�D$dH;�u�H�M�诌��H�D$HH�t$@@�t$0H�D$0H�D$ L�L$pM��A��I���o���H�T$HH��rH��H�L$0����H�M�|���H�,�H�EH�M�g5�H�MpH3��jLH�ĀA_A^A\_^[]�H��H�XH�hH�p H�HWH�� I��H��H���@��JH��H�D$0H��t,W���C�CH�@XH�H�KL��H���b����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H���P�DJH��H�D$0H��t)W���C�CH��WH�H�KH��D�3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H�����IH��H�D$0H��t,W���C�CH�WH�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H���Y�H��TH�L�wI�I��H�@��H������H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H��y����C�uH�H��H�@�^�H��H�\$XH�t$`H�|$hH��@A^�H��}H�L$ �>��H���BH�L$ �2'��L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��aH�zSH�H�[H��t9����C��u,H�H��H�������C��uH�H��H�@��H��H�\$PH��0_����H�\$ UVWATAUH�l$�H��H���BH3�H�E'M��H��L��H�M�I�����D��M��H��I���8����H�(SI�$W�3�EH�EI�T$pH��(H�M�bU���3�H�}��wH�u�@�}�L�
!TD�ǍW!H�M�����H�}�H�u�@�}�L�
&TD�ǍWH�M�����H�}�H�u�@�}�L�
TD�ǍWH�M��d���H�}�H�u@�}�L�
 SD�ǍW=H�M��A���H�]H+]H�I�EI��H�@�dL��H�E�H�D$8�D$0H�E�H�D$(H�\$ L�MǍWrH�M��z����H�UH��rH��H�M���
��H�}�H�u@�}�H�U�H��rH��H�M���
��H�}�H�u�@�}�H�U�H��rH��H�M��
��H�}�H�u�@�}�H�U�H��rH��H�M��
��W��D$H�E��E�H�}�D�L$@L�E�H�T$HH�M��O����H�u�H�]�H+�H���H�EH;Et�{f9t
H��H;Eu�H;E��H�e�H�E��E�L�
�RE3�A�P6H�M���
���H�e�H�E��E�L�
�QE3�A�P=H�M��
���I�EI��H�@��L��L�M��zH�M��Sj���H�U�H��rH��H�M��	��H�e�H�E��E�H�U�H��rH��H�M��a	��H��H;�����H��tH�U�H+�H�H�H���;	���H�}tH�UH+UH�H�H�M�	���I��H�M'H3���EH��$HH��A]A\_^]��H�\$H�T$WH��0H��H��W��D$ L�JM��t	�A�AL�JH�H�D$ L�L$(H�T$ ���H��OH�Ƈ�H�[H��t9����C��u,H�H��H�������C��uH�H��H�@��H��H�\$PH��0_�H�\$H�L$WH��@H��H���"���H��NH�貏��H9u,H��NH�H���H��(�@R���H��H�\$XH��@_�H�ڟH�L$ ��8��H�q�BH�L$ �"���@SH�� H��H��(H��t-H��8H+�H�H����H��(H��0H��8H��8�f��H�S(H��rH�KH���h��H�c H�C(�CH�� [��@SH�� H�[PH��H���t
�@��BH��H�� [������@SH�� H�SPH��H���t
�P�BH��H�� [������@SH�� H��OH��H���t
���BH��H�� [������H�\$WH�� ��H�������t
�@H���ZBH�\$0H��H�� _�������������H�\$H�t$WH��@I�H��I��I��H��H�@��H;�u;H�H��H�@�sH���ˍ��H;�uAH��H���[H�\$PH��H�t$XH��@_�H���H�L$ �7��H���BH�L$ �6 �H��vH�L$ �6��H�u�BH�L$ � ���H�\$UVWATAUAVAWH��$��H�� H�b�BH3�H��H��L��H���H���H+�H��H���SA�E��H���H�	�nW�3��xH���H�_H��t	�DkH�_H�WH�U�H�]�H��(H��x�N���A��H��t9A����CA�u,H�H��H��*A����CA�uH�H��H�@�
W�3��`H��pD���H��`H��������D���H��H��H�	�W���0E3�L��@L��HI��H��xL;�PtWH��8��FH��`L��I;�tA��H��H��8�H��0���L��@H��8H��H;�Pu�E��H��0H�������H�_H��t�DkH�_H��xL��HH�WH��8H������H��tGA����CA�u,H�H��H���A����CA�uH�H��H�@��L��HH��xH�E�H�D$0H�D$8H�E�H�D$@L�l$HH�E�H�D$PL�l$XH�E�H�D$`H�D$hH�E�H�D$pH�D$x(��E�(��M�H��H�M����H�D$ L�L$0D���H���I���L���H��0H��tH��@H+�H�������M��tH��XI+�H�H�I������H��`H��t&H��pH+�H�����W���`H��pH��tH���H+�H�H�H���V��I��H��H3��$?H��$pH�� A_A^A]A\_^]��t9������H�\$WH��H�‹�H��H�T$ ��k�3�H�H��H�A�9x }H�@�H��H�8Pt�8Su;{ }H����H;H��$���H�Ġ_����������������H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@��
H;���H�H��H�@��
H���߈��H;�uML��H�T$PH����H�H� H�H�L$PH��tH��H��E
H�\$XH��H�t$hH�l$`H��@_�H��qH�L$ �2��H�}�BH�L$ ��H�˗H�L$ ��1��H�Z�BH�L$ ���������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@��	H;���L��H�L$ H����H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H��Y	����C�uH�H��H�@�>	H�\$`H��H�l$hH�t$pH��P_�H�'�H�L$0�0��H�v�BH�L$0�����H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0��H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H��m����C�uH�H��H�@�R�H�L$(H��t=����A�u2H�\$(H�H��H��(����C�uH�L$(H�H�@��H�_H��t5����C�u*H�H��H�������C�uH�H��H�@��H��L�\$`I�[I�kI�s I��_�H��H�L$@�/��H��BH�L$@��H�\$H�t$WH��@I�H��I��I��H��H�@�hH;�u8H�H��H�@�SH��諅��H;�u>H��H����H�\$PH�t$XH��@_�H��H�L$ �.��H�{�BH�L$ ��H��nH�L$ ��.��H�X�BH�L$ �������H�\$H�t$WH��PI�H��I��I��H��H�@��H;�uAH�H��H�@��H�����H;�uGH�GH9pu`H��3��2���H�\$`H�t$hH��P_�H�3�H�L$ �E.��H�…BH�L$ �`�H��mH�L$ �".��H���BH�L$ �=�H�u�H�L$8�-��H�|�BH�L$8�����������H�\$WH��PH��I9��I���>�H�T$`H�D$`H�L$ ��H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H�������C��uH�H��H�@�tH�\$hH��H��P_�H��H�L$0�9-��H���BH�L$0�T����H�\$H�t$H�L$WH����H����H�H�AH���9p }H�@�H��H��xt�{u;s }H���H;t9H�g8H�K`H��tH�H��H���H�G8H��L��$�I�[I�s I��_�H���H�L$8��H��H�
	C���L��H��H�L$X�{��L���H��H�L$x�f��H��H�L$ ���H���BH�L$ �W���H�\$UVWATAUAVAWH�l$�H���A��H��H��H�M�E3�L�uE�nL�mD�uL�
YBE��A�V H�M��L�m�H�E��\B�E��XBf�EϊPB�E�D�u�L�u�L�m�D�u�L�
<BE��A�V=H�M��\��H�H��H�@��L���D$PA�^�\$HE�~D�|$@D�t$8E�fD�d$0H�EH�D$(�t$ L�MǍS"H�M��,��H�U�H��rH��H�M���L�u�L�m�D�u�H�U�H��rH��H�M����L�u�L�m�D�u�H�UH��rH��H�M��tD��t/��t
��t��u{�E��E��.�E��E���E��E���E��E�L�7L�wL�wD�M�L�E�H�U�H���@�H��H��$ H���A_A^A]A\_^]�H�AH�M��**��H���BH�M��F��H��(�
ھEeH�%X�4H�ȋ
9ןEH���EH��(�H�
ŸE�;�=��E�u�W����E�h�'4H�H�@H�@f�@H�w�EH�
X��9�H�
s�E��:�H��(eH�%X�
A�E�4H�ȋ
93�EH��BH��(�H�
�E�:�=�E�u�H�
���09H�
��E�t:����H�\$H�t$WH��@I�H��I��I��H��H�@�H;�u^H�H��H�@�H���[��H;�uH��H���[H�\$PH��H�t$XH��@_�H��hH�L$ �(��H�(�BH�L$ ���H��H�L$ �(��H��BH�L$ ����H�\$UVWATAUAVAWH��$@���H��H���BH3�H���H��L��H�L$8W�E�H�ZA�H��t	�DsH�ZH�rH�u�H�]�H�T$8H���=OL�8H� L�}�H�L$8H��tH�A��H�@���W�3�E@H�EPH��(H�M@�+@���H���H���H+�H��H���6L�)��D��3�H����#A��H��������D��3�H�����"A��H������3�H�}HL�u@I+�H�t>A�vH����c.��H�G�H�
tkH�e�H;�HD�H����:m��H��H;�r�3�D�BHH�M`�"H�5t�H�u`W��D$0L�D$ H�T$0H�Mh�P��H�E�H�D$(I�EI��H�@��E3�L�m�L�m�H��H�M��z���A�}H�}�H�E�H�input idH�E�D�m�L�E�H�U�H�M`�&��H�E�H�D$(H�U�H����]\���H�|$XH�D$P
�^=�D$@�Z=�D$H�T=�D$LD�l$ML�E�H�T$@H�M`����H�E�H�D$(H�u�L�D$!H�UhH�M����H�|$xH�D$p�=�D$`�=�D$hD�l$lL�E�H�T$`I�����I���D��H���I��H����I��H����[���H���H���H+�H���S��W�f��L���H�Mp����H��H����H�=�jH��HH��H���H��H�ӽ���H��HH��H��M��tH�UPI+�H�H�I������I��I��H�@���H��t5����C�u*H�H��H�������S�uH�H��H�B���I��H���H3��Q0H��$H��A_A^A]A\_^]��*���H��H��(H��0H+�H�$H�H�L$$���H�����H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@��H���7��H;�u;H��H�����D��L��H��H���H�\$PH��<H�l$XH�H�t$`H��@_�H�PcH�L$ �z#��H��zBH�L$ ��@SH��@H����
��H9u	H��H��@[�H�Y�H�L$ �;#��H��zBH�L$ �V��@SUVWATAVAWH��PH���BH3�H��$@��$�L��H��$�H��$�H��$�M��H��$�M��H�\$8H��D$0H�|$(H�t$ ����H�\$8H�L$@�D$0M��H�|$(M��H��H�t$ �>��L�D$@I��H��$��y3I��H��$@H3��6.H��PA_A^A\_^][�H�\$WH��H��BH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@�D1�H�L$xH��tYH�H��H�@��H�H�L$xH��tH�H�T$@H;���H�@ ��H��H��$�H3��-H��$�H�Đ_���H��H�L$(�!��H�yBH�L$(�
����@SH��@H�BH9Hu;L��H�L$PH�T$ E3��/���1H�T$ H�����H���1H;��H��@[�H���H�L$ �,!��H��xBH�L$ �G
���@SH��H�BL��H9HuJH�T$@I���Y�d$0H��HH�T$(�L$ �H1H�T$ H���7��H���31H;��H��[�H��H�L$ � ��H�$xBH�L$ ��	��H��H�XH�hH�p H�HWH�� I��H��H���@��*H��H�D$0H��t,W���C�CH��<H�H�KL��H�������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H���P�L*H��H�D$0H��t)W���C�CH�o<H�H�KH����3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H������)H��H�D$0H��t,W���C�CH��;H�H�KL��H���"����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H���9�H��7H�L�wI�I��H�@��H�����H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H��������C�uH�H��H�@�f��H��H�\$XH�t$`H�|$hH��@A^�H��]H�L$ ���H��uBH�L$ �:��L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��AH�z6H�H�[H��t9����C��u,H�H��H�������C��uH�H��H�@���H��H�\$PH��0_����H�\$H�T$WH��0H��H��W��D$ L�JM��t	�A�AL�JH�H�D$ L�L$(H�T$ �%���H��5H�Ƈ�H�[H��t9����C��u,H�H��H�������C��uH�H��H�@���H��H�\$PH��0_�H�\$H�l$ VWATAVAWH��@H��H��H�L$ ���H��4H����H9�wH�5H�H���H��0H�aH�A���������P�������TH���H��XA�L��`H��hE�g�L��pH���H��xL���H���H���E�w�L���H���H���A�o�H���W�AH����uD���4H�� H���L���H���L���H��$H���L���H��(H��L��H��4H��H��W�AH�� D���H���H��HL��PH��XL��`H���H��hL��pH���H��xL���H���H���H���W�AH��`D���>��������H��H���L���H���L���H��H���L���H�� H���L��H��,H��H��W�AH���D����H��L�\$@I�[@I�kHI��A_A^A\_^�H��H�L$(�	��H��qBH�L$(�$����@SH�� H��HH��H��rH��0H�����H��@H��8HǃHƃ0�}��H�S(H��rH�KH�����H�c H�C(�CH�� [���������@SH�� H��5H��H���t
�@�#H��H�� [������@SH�� H��5H��H���t
�P��#H��H�� [������@SH�� H�k5H��H���t
���#H��H�� [������H�\$WH�� ��H��������t
�@H���j#H�\$0H��H�� _�������������H�\$H�t$WH��@I�H��I��I��H��H�@���H;�u;H�H��H�@���H������H;�uAH��H���[H�\$PH��H�t$XH��@_�H��}H�L$ �+��H��oBH�L$ �F�H��WH�L$ ���H��oBH�L$ �#���H�\$UVWATAUAVAWH��$���@�$H+�H�l�BH3�H��0H��L��W�E�H�BA�E3�H��t	�DhH�BL�rL�u�H�E�H���H���H+�H��H���!E��H���H�	�zOH��H���
�H���
H��H���
L���
H��H���
L���
H��H���
HDž�
H��H���
HDž�
W���I����_D��H���6H���H��0H��8H���H��@L��HH���H��PL��XH���H��`HDžhH���H��pHDžxW�����I�� D��H����
H���
H��0
H��8
H���
H��@
L��H
H���
H��P
L��X
H���
H��`
HDžh
H���
H��p
HDžx
W���
��
I���D��H���
�
�_5�{�D�k�M9�@�sL��hL��pD��XL�
�.E�čSH��X�!��L�e�L�m�D�e�L�
�.E�čS�H�M����L�m�H�D$x��.�D$h��.�D$pD�d$tL�e�L�m�D�e�L�
�.E�ċ�H�M����Ic�PH�H��H�@���L��H��XH�D$8H�D$0H�E�H�D$(H�\$ L�L$h�WH�M��_���H�U�H;�rH��H�M��]��L�e�L�m�D�e�H�U�H;�r
H��H�L$h�;��L�d$xL�m�D�d$hH�U�H;�rH��H�M����L�e�L�m�D�e�H��pH;�rH��H��X����=A��P�qL���L���D��xL�
.E�ĺ:H��x���L�e(L�m0D�eL�
.E�ĺH�M�y��L�eL�mD�e�L�

.E��H��H�M��V��L�e�L�m�D�e�L�
R-E��H��H�M��3��I��M9�@��H�H��H�@�U�L��H��xH�D$8L�d$0H�EH�D$(H�\$ L�M��0H�M������H�U�H;�rH��H�M�����L�e�L�m�D�e�H�UH;�rH��H�M����L�eL�mD�e�H�U0H;�rH��H�M���L�e(L�m0D�eH���H;�rH��H��x�r��H���H���H+�H��H���A�H���H�I�tJL���L���D���L�
�E�ĺH������L���L���D�exL�
�E�ĺH�Mx����L�ehL�mpD�eXL�
�E��H��H�MX���L�eHL�mPD�e8L�
�+E�Ļ=��H�M8���H�H��H�@���L��H���H�D$8H�D$0�H�ExH�D$(H���H�D$ L�MX�S�H�M8�9���H�UPH;�rH��H�M8�7��L�eHL�mPD�e8H�UpH;�rH��H�MX���L�ehL�mpD�eXH���H;�rH��H�Mx����L���L���D�exH���H;�rH��H�������L���L���D���L�
Y+E�ĺH������L���L���D���L�
@+E�ĺH����T��L���L���D���L�
G*E��H��H����%��H�H��H�@�T�L������D$0H���H�D$(����D$ L����4H�������H���H;�rH��H�������L���L���D���H���H;�rH��H������L���L���D���H���H;�rH��H����m��E8�Tt:H����H��`
�H����HH��`
�HH����HH��`
�HL���L���D���L�
^�E�ĺ(H�������L��0L��(D��L��L��D���L�
H�E��H��H������L���L���D���L�
�(E��H��H����w��H�H��H�@���L��H���H�D$8D�d$0H��H�D$(H��`��L$ L����>H����Y|���H���H;�rH��H������L���L���D���H��H;�rH��H�������L��L��D���H��0H;�rH��H�����L��(L��0D��H���H;�rH��H������L��L��D���L�
Q�E�ĺ(H����E��L��PL��HD��8L��HL��PD��8L�
;�E��H��H��8���L��(L��0D��L�
�&E��H��H������H��`H�H��H�@���L��H���H�D$8D�d$0H��8H�D$(�C�D$ L��8�?H���z���H��0H;�rH��H���o��L��(L��0D��H��PH;�rH��H��8�?��L��HL��PD��8H��PH;�rH��H��8���L��HL��PD��8H��H;�rH��H�������L��(L��0D��H��H���G���L���L���D���H��OH�������L���L���D��xH�فH��x����L��hL��pD��XH�H%H��X�����H�H��H�@�[�L��H��H�D$8D�d$0H���H�D$(H��`
��L$ L��x�@H��X�y���H��pH;�rH��H��X����L��hL��pD��XH���H;�rH��H��x���L���L���D��xH���H;�rH��H����j��L���L���D���H��0H;�rH��H���:��L��HL��PD��8H���H��8����L��L��D���H�UNH����y���L���L���D���H���H����P���L���L���D���H��#H����'���H��`
H�H��H�@���L��H��8H�D$8D�d$0H���H�D$(�C�D$ L����AH����hw���H���H;�rH��H����$��L���L���D���H���H;�rH��H�������L���L���D���H��H;�rH��H�������L��L��D���H��PH;�rH��H��8���L��hL��pD��XH��H��X����L��hL��pD��XH�H��X�����L��HL��PD��8H���H��8����L��(L��0D��H��!H������H���
��H�H��H�@��L��H��XH�D$8H�����L$0H��XH�D$(�\$ L��8�BH����8���H��0H;�rH��H���u��L��(L��0D��H��PH;�rH��H��8�E��L��HL��PD��8H��pH;�rH��H��X���L��hL��pD��XH��pH;�rH��H��X����L���L���D��xH�)
H��x�M���L���L���D���H�x
H����$���L���L���D���H��H�������L���L���D��xH�N H��x�����H���H���
�x�H�H��H�@�N�L��H��xH�D$8�C�D$0H���H�D$(�|$ L����CH��x�7���H���H��rH��H��x����L���L���D��xH���H��rH��H������L���L���D���H���H��rH��H����a��L���L���D���H���H��rH��H��x�0��L���L���D���H�H�������L��(L��0D��H�#H���o���L��L��D���H�H����F���L���L���D���H��H�������H���
���H�H��H�@���L��H���H�D$8H��`
��L$0H��H�D$(�\$ L����DH����i5���H���H��rH��H������L���L���D���H��H��rH��H�������L��L��D���H��0H��rH��H�����L��(L��0D��H���H��rH��H����}��L���L���D���H��
H��������L���L���D��xH��
H��x����L��hL��pD��XH��
H��X����L��HL��PD��8H��H��8�j���H��`
H���
�x��H�H��H�@���L��H���H�D$8�C�D$0H��xH�D$(�|$ L��X�EH��8�3���H��P�H;�rH��H��8�W��L��HL��PD��8H��pH;�rH��H��X�'��L��hL��pD��XH���H;�rH��H��x���L���L���D��xH���H;�rH��H�������L���L���D���H�c�H����/���L���L���D���H��EH�������L���L���D���H�A�H��������L���L���D���H�0H�������H�H��H�@�C�L��H���H�D$8D�d$0H���H�D$(H���
��L$ L����FH����&N���H���H;�rH��H������L���L���D���H���H;�rH��H������L���L���D���H���H;�rH��H����R��L���L���D���H���H;�rH��H����"��L��L��D���H��H�������L��HL��PD��8H�=DH��8�a���L��(L��0D��H�ܱH���8���L��L��D���H��H�������H�H��H�@���L��H���H�D$8D�d$0H��8H�D$(H���
��L$ L���GH����L���H��H;�rH��H����
��L��L��D���H��0H;�rH��H������L��(L��0D��H��PH;�rH��H��8���L��HL��PD��8H��H;�rH��H����}���!��L��(L��0D��H���H�������L���L���D���H��BH�������L���L���D��xH��H��x����L��hL��pD��XH��H��X�]���H��`H�H��H�@���L��H��H�D$8D�d$0H���H�D$(�C�D$ L��x�KH��X�k���H��pH;�rH��H��X�Z��L��hL��pD��XH���H;�rH��H��x�*��L���L���D��xH���H;�rH��H������L���L���D���H��0H;�rH��H������L��HL��PD��8H��H��8�2���L��L��D���H��@H����	���L���L���D���H��H��������L���L���D���H�3H�������H��`
H�H��H�@�?�L��H��8H�D$8D�d$0H���H�D$(�C�D$ L����LH����i���H���H;�rH��H������L���L���D���H���H;�rH��H������L���L���D���H��H;�rH��H����T��L��L��D���H��PH;�rH��H��8�$��L���L���D���H�hH�������L���L���D��xH�'H��x�c���L��hL��pD��XH���H��X�:���L�d$XL�l$`D�d$HH��H�L$H����H���H���
�x�H�H��H�@���L��H���H�D$8�C�D$0H��xH�D$(�|$ L��X�MH�L$H�e+���L�D$`I��rI��H�T$HH�L$H�L�d$XL�l$`D�d$HH��X�@��H��x�3��H����&��E8���7H�2H���F����H�>H����2����H�RH��������H��H����
����I���3�H���0Q��H��H�H��H�@���L��H��H�D$8D�d$0H���H�D$(��D$ L����RH����?g���H����Z��H����M��H����@��H���3��H��H����`����H�(=H��x�L����H��H��X�8����H��H��8�$����A�A��H���JP��H��H�H��H�@���L��H���H�D$8D�d$0H��xH�D$(��D$ L��XA�VRH��8�Zf���H��8�u��H��X�h��H��x�[��H����N��A��H���O��H��3�H���O��H��3�H����O��H��3�H����O�����D$ D�D�H���
��H��0	�^��H���
����\$@�\$ D��D��H���
��H�D$@H�D$8�\$0H���
H�D$(H��0H�D$ L���
L��0
H���H��0
����SH��`
��N��L���H��`
��N��H��3�H��`
�N��H��3�H����N��H��3�H����N��A��L$(��L$ D�D��H��0�M��H��0	�j��H��0H��H����Ԍ��H�\$ L��D���H���I������H�M��l��I��H��0H3��:H��$�H��@A_A^A]A\_^]���������H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@�0�H;���H�H��H�@��H���_��H;�uML��H�T$PH�����H�H� H�H�L$PH��tH��H����H�\$XH��H�t$hH�l$`H��@_�H�f5H�L$ ��H�
MBH�L$ ���H�[[H�L$ �m��H��LBH�L$ ����������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@�@�H;���L��H�L$ H�����H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H��������C�uH�H��H�@���H�\$`H��H�l$hH�t$pH��P_�H��ZH�L$0���H�LBH�L$0������H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0���H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H��������C�uH�H��H�@����H�L$(H��t=����A�u2H�\$(H�H��H��������C�uH�L$(H�H�@����H�_H��t5����C�u*H�H��H��w�����C�uH�H��H�@�\�H��L�\$`I�[I�kI�s I��_�H��YH�L$@���H��JBH�L$@�1��H��I����������H�\$H�t$WH��@I�H��I��I��H��H�@���H;�u8H�H��H�@���H�����H;�u>H��H�����H�\$PH�t$XH��@_�H�lXH�L$ �~��H��IBH�L$ ���H�12H�L$ �[��H��IBH�L$ �v�������H�\$H�t$WH��@I�H��I��I��H��H�@�8�H;�u8H�H��H�@�#�H���k��H;�u>H��H������H�\$PH�t$XH��@_�H��WH�L$ ����H�KIBH�L$ ����H��1H�L$ ���H�(IBH�L$ ���������H�\$WH��PH��I9��I�����H�T$`H�D$`H�L$ �^��H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H��A�����C��uH�H��H�@�$�H�\$hH��H��P_�H��WH�L$0����H�fHBH�L$0������H��H�XH�HWH��H��M��D��H�T$ H�H �v���H�T$ H������H���H;8t5H�c8H�OpH��tH�H��H����H�C8H��H��$�H�Ġ_�H��XH�L$8���H��H�
��B�v��L��H��H�L$X�B��L�bXH��H�L$x�-��H��H�L$ �O��H�pHBH�L$ ����������������@SH��0H�T$(H��3�H9�@H�H�SH�St#D�L$ H��0H��H�D$(L�D$0H�T$(���H��H��0[�H��(�
V�EeH�%X�4H�ȋ
9keEH�ReEH��(�H�
VeE��=JeE�u�W��-eE�x�H�H�@H�@f�@H�eEH�
$����H�
eE�R�H�\$UVWH�� H�YPH�AH�ATH�H�A W�H�AXH�YH�A0�H�qH�AdH�A@I��H�A(H��H�A8D�FH�AHH��PH��C��H+�9+L+�H�[H��u�H�\$PH��H�� _^]�H��(eH�%X�
�E�4H�ȋ
9'dEH��BH��(�H�
dE���=dE�u�H�
���H�
�cE�P�����������������H�\$H�t$WH��@I�H��I��I��H��H�@���H;�u^H�H��H�@���H�����H;�uH��H���[H�\$PH��H�t$XH��@_�H�Q-H�L$ �{��H��DBH�L$ ���H��RH�L$ �X��H��DBH�L$ �s����H�\$UVWATAUAVAWH��$�H��H�‡BH3�H��H��H��H�L$HW�E�H�ZA�E3�H��t	�DkH�ZL�rL�u�H�]�H��H���HDž�H��H���L���H��H���L���H��H���HDž�H��H���HDž���I�� A� H����H�8^L�=eE9�PLD�H�T$HH���UH�8L� H�}@H�L$HH��tH�A��H�@��H���H��0HDž8H���H��@L��HH���H��PL��XH���H��`HDžhH���H��pHDžxW�����I���A� H������3�A��H�����A��H����c���3�D�BHH��`��H��MH��`�d$@L�D$(H�T$@H��h�w����H�E�H�E��E�modeD�e�M��H�U�H��`�X4��H���H�D$ H���H����w��L��A�L�}�H�E��Ra�D$p�Kaf�D$tD�d$vH�T$pH��`�$���H���H�D$ H���H��0�v��L��L�|$hH�D$`�l�D$P�gf�D$X�^�D$ZD�d$[H�T$PH��`躞��H��H�D$ I��XH���Gv��L��L�}�H�E��,��E��)��E�D�e�H�U�H��`�b���E8���!3�E�G9H�����H�LH����d$8L�D$)H�T$8H����ު���H��8H�D$ I���H��8�u���L�}H�E�EsizeD�eL��H�UH����ϝ��H�EHH�D$ H��KH�EHL�D$*H���H�MP薕���L�e0L�}8D�e L�
��E��A�WH�M 袻�L�EHH�U H��`����H���H���H+�H��肷�W�f��L���H������H���H�D$0H��JH���L�D$+H��hH������L�}�H�E��}�E��z�E�D�e�L���H�U�H���D���H�A��E��H��H��H���H��H�������H���H���H+�H��豶�W�f��L���H��p�����H����V����H�-H���H����;��H�A��H��H�@����H��t9A����CA�u,H�H��H��e�A����SA�uH�H��H�B�H�H��H��H3����H��$`H��A_A^A]A\_^]������������@UH��H��@��P���H��0H�xrH�H���H��p��H�E�H�����H�E�H���(E�H�E�H�����H�E�(M�������H���� H�E�H����0H�E�H��(E�H�E�H���H�E�(M��� �0H��`��H�E�H��p��H�E�H���(E�H�E�H����@H�E�(M��P�`�p������H����H�E�H����(H�E�H��(E�H�E�H����H�E�(M���������T���H��@]�H�\$UVWATAUAVAWH�l$�H���H��BH3�H�EM��L��H�L$8H��H�H�QL�AH�aH�a I�@(H��t�@I�@ H�AI�@(H�A H�a(H�a0H�a8H�a@H�aHH�aPL�aXI�$$f�A`E���0W�EH�eH�eI���L��H�H�M���H�MH�L$(3��t$ L�}I�I;��VH�KH�H�@�P�H�����H;�u�Ɖt$ �H�KH�H�@�'�H����*��H;���H�sH�H��H�@��H����*��H;���H���H+��H��H����H�sH�H��H�@���H���*��H;���H���H���H+�H��H���dH�q(I�EI��H�@�|�H��H�H��H�@�i�H��H���~$����tH�L$(H��H�L$(�&H�KH�H�@�7�H���/���H;���H�sH�H��H�@��H���
���H;��fH�����H�sH�H��H�@�ߺH���ׁ��H;��H���H�H�HH�H�@���H�����H;�uH�sH�H��H�@���H��芁��H;���H���H���H+�H��H���H�qI�EI��H�@�M�H��H�H��H�@�:�H��H���O#��������H�L$(H�H�؋t$ I;������L�}H����;���M���I�}I;��8��H�OH�H�@�ѹH����H;���L�I�I��H�@���H���x��H;��MI��0H��t�CH�D$@L;�t+I�$H��t����A�uH��H��\�I�$�$H��t����C�uH��H��H��2�H�H��I;�tv�@���H�T$0I����H�؃�L;�t.I�$H��t����Q�uH��VH���H�I�$H�#H�L$0H��t!����A�uH��tH��H����L�}I�GH� I��H��tH�H���]��H��H��u�H��H�M�I��I��H�MH3���H��$8H���A_A^A]A\_^]�H��H�M��"��H��7BH�M��>���H���H��H�L$H���H�w7BH�L$H���H��H�M�����H�U7BH�M���������H��H�M����H�.7BH�M�����H�eH�M����H�
7BH�M����H�DH�M��o��H��6BH�M��������������H�\$WH�� ��H��訬����t
�hH�����H�\$0H��H�� _�H�\$WH�� H��H��H�	H��t-H�SL����=��H�SH+H�H����խ�H�#H�cH�cH�H�H�GH�CH�GH�CH�'H�gH�gH�\$0H�� _�H�\$ H�T$H�L$VWAVH�� L��H��H�qH+1H��H��������H;�w\I��H��H��r輬��3�H��t��H��H�\$PL��L��H�WH���@���M��L��H��H��H�\$XH�� A^_^�yD���@������H�\$H�t$ UWAVH��$p���H��H��xBH3�H���L��H��H�T$@H��H�I�H�G�x ��H�O���uH�H�@���H���W��H;���H�D$pH�D$@H�T$pH�O�*H��H�OH�H�@�~�H�d$`H�d$hH��H�L$P�%��H�O�YH�IH�yH��H�M��޺�L���D$0H�t$(�\$ L�L$PI��H������H�G�x ��H�O���t���uv���umH�D$@H�D$pH�T$@�wH��H�OH�H�B�˴H�d$`H�d$hH��H�L$P�r��H�G�XH�@H�xH��H�M��+��L���D$0�H���H�@H�XH��H�M����L��I��H���(��I��H���H3���L��$�I�[0I�s8I��A^_]���H�\$H�|$UH��H��@H�Y(H��H�CH9��L�AI���I�@I9��H�IH�U��)G��H;�tE3�H��H�����H�M�H��t!H�U�L�E��:��H�U�H�M�H+�H����|��H��H�M��PH�O@H;�tE3�H���P���H�M�H��t!H�U�L�E��F:��H�U�H�M�H+�H����2��H�\$PH�|$XH��@]���H��H�XH�pH�x H�HAVH��0L��H���`�W�3�H�AH!H!AH!A�D$ H�rH�H��H+�H��H��tkH��������H;�wz����I�vI��NH�H�xt@H�WH;Wt+H�"H�bH�CH��t�@H�H�H�CH�BH�G�L��H���A;��H��H;�u�H��H�\$HH�t$PH�|$XH��0A^������@SVWATAUAVAWH��@H��tBH3�H��$0I��L��H��H��$�H��$�3��|$4H�IH�H�@��H��$H��$H��H��$����D�oH��$�D�wL��$�@��$�L�
�D�ǍWH��$��y��H��$�L��$�@��$�L�
�D�ǍWDH��$��F��L��$�H�n�H��$@�9��L�9�H��H��$ �Q��H��@8~a��H�L$(�D$ L��$�L��$��W-H��$��6	���H��$8H��rH��H��$ �ϧ�H��$0L��$8@��$ H��$XH��rH��H��$@虧�H��$PL��$X@��$@H��$�H��rH��H��$��c��H��$�L��$�@��$�H��$�H��rH��H��$��-��H�H��H�@�M�H�VHH+V@H��H��uH�NH�L��L��I��H�@�"��&W���$�H��$�H��������H;��CH��$��O��L�v@L�fHL��$�L�t$@M;��bI�H�HH�H�@���H��$�H��$�H��H��$��W��A��D�l$4H�^H��$�H��$�HC�$�H��$�談��H���L��L��$�H��$�����H��$�H����H�[0H��H�\$8H��t	�CH�D$8H��$�H;�$�tH�H��t�@H��$��L�D$8H��$�����H��t"����C��uH��H��H������$3�L�t$@L��$�D�l$4L��$�H��$�H��$�H��rH��H��$��B��I�����H�NH�L��L��$�I��H�@�J��H��$�H��tEL��$�H��$��4��H��$�H��$�H+�H���ۤ�W���$�H��$�H��$H��rH��H��$�詤�I��H��$0H3��v�H��@A_A^A]A\_^[����H�
�]�������H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�XH��8����L�IXH�AL�IH��H�A�L�A H�A\H�A(W�L�A0H�A`H�A8H��PL�IH�AlH�AHA� H�A@H�API��AAA�Z���H�\$H�l$H�t$WH��@I�H��I��I��H��H�@�ˬH���	��H;�u#L��H��H���H�\$PH�l$XH�t$`H��@_�H�DH�L$ �n��H��+BH�L$ 艽�@SVWH��PH��nBH3�H�D$HH��H��H�T$@I��H�L$ �H��H�OL��H�T$0�5���H�H��0H���b����H�\$(H��t9������C�u+H�H��H��������C�uH�H��H�@���H�VH��rH��H�蝢�H�fH�F�H�L$HH3��`�H��P_^[�@SH��@H������H9u	H��H��@[�H�};H�L$ �_��H��*BH�L$ �z���H��H�HUSVWATAUAVAWH�h�H��)p�)x�D)@�D)�x���D)�h���D)�X���D)�H���D)l$pD)t$`I��L��H�B@D�(D�l$ D�xD�|$$I�����Mw�@�E�A���A��EW�A.�ztA.�z(u&fn�[�fAn�[��^�fn�[�fAn�[��^��E��A���t;I��`I+�XH��I��0I+�(H��I��HI+�@H�����:I��`I+�XH��I��0I+�(H��I��HI+�@H�����H�|$@L�d$8M��t�A�D$H�T$8H�L$H�K��H�L$PH�L$0��A��A�����t$(E3�3��EoE�����}w�ewE����fDn�E[��EX��DY�D�}wfEn�E[��EX��DY�3�L��(H��0I+�H��H���ifDn�E[�fDneE[�M�,��AU(��Y
�"Ic�A(��\��A^���A��Ic�A(��\��A^���A��Ic�(��AX��A^���A��Ic��AX��A^���A��H��@H��HH+�H��H��t{���Y��7�(��Y4"Ic�A(��\��A^�H�L$0��A��Ic�A(��\��A^���A��Ic�(��AX��A^���A��Ic��AX��A^���A�ƀ��uH��0I+�H��H��H;���M���E,$E3�L��XH��`I+�H��H����Ic�H�Ew�$��CL�Z��\
�T
�!f/����CD��=�A(��Y�A(��^��Y
-!A(��\��A^�H�L$0H�Uw���Y
!A(��\��A^��D��AX��A^��L��AX��A^��T�A��H��H�Uw�s�I��H��`I+�H��L;��5���H��L��(H��0I+�H��H;������D�l$ A��E;��X���D�|$$�Eo���EoA;�����H�|$@�t$(L�eg��qtBLcƅ�~;�E�?�egH��H�MgD/HF�H�E�/ HF���H��I��u�I�D$X�H�E��~cLc�A��L�t$0E��~ME�Յ�~@D��E3�H��xH���H+�H��I�H��HEЋC��I��I��I��|�I��u�I��u�H��u�H�d$PH�L$HH�H�@���H�L$HH��t$����A��uH��tH��H��ɥ�L��$�A(s�A({�E(C�E(K�E(S�E([�E(c�D(l$pD(t$`I��A_A^A]A\_^[]��H��L�@H�HUSVWATAUAVAWH�h�H��8)p�)x�D)@�D)�x���D)�h���D)�X���D)�H���D)�8���D)�(���D)����I��L��H�B@D�8D�|$4D�pD�t$(I��������@�D$,�E���E��EW�E.�ztE.�z.u,fDn�E[�fAn�[��D^�fDn�E[�fAn�[��D^��E��A���t;I��`I+�XH��I��0I+�(H��I��HI+�@H�����:I��`I+�XH��I��0I+�(H��I��HI+�@H�����H�|$8L�l$pM��t�A�EH�T$pH�L$x�E���H�E�H�D$h��A��A�����t$XE3�3��D$0E��������d$ E����fDn�E[��EX��EY�D�t$ fEn�E[��EX��EY�E3�H��(H��0H+�H��H���4fDn�E[�fDn|$,E[�L�|$h�B<�(��Y5�A(��\��A^�H����Ic��fA�OA��A(��\��A^�H����Ic��fA�OA��(��AX��A^�H�L$@�aIc��fA�OA���AX��A^�(�H�L$B�<Ic��fA�OA��H��@H��HH+�H��H�����B��Y���(��Y5�A(��\��A^�H�L$D��Ic��fA�OA��A(��\��A^�H�L$F�Ic��fA�OA��(��AX��A^�H�L$H�Ic��fA�OA���AX��A^�(�H�L$J�pIc��fA�OA�Ā��u#H��(H��0H+�H��H��L;��V�H��(J���D!3�H��XH��`H+�H��H���$Ic�H�D$ �����Z��\
��T
�f/�����跼A(��Y�A(��^��Y5�A(��\��A^�H�L$L��H�L$ fA�O�Y={A(��\��A^�H�L$N�p�H�D$ fA�LG�AX��A^�(�H�L$P�K�H�D$ fA�LG�AX��A^�(�H�L$R�&�H�T$ fA�LWA��H��H�T$ ���H��H��XH��`H+�H��H;����I��H��(H��0H+�H��L;����D�|$4A��E;������D�t$(�D$0���D$0A;��N���EW�H�|$8�t$XL�����q��E3�Hcƅ�~y3��D$8�?!t$(L��H�\$hJ�c���D$`H�L$(H�D$`D/�HF�H�D$8�/HF��H�L$,��f�sA��H��I;�|�H���L���I�EX�H�E����Lc�A��H���E��~oE��L�|$h��~QD��3�H��xH���H+�H��H�H��HE��
H����
�fC�gI��H��H��|�I��u�I��u�D�|$4H���H��H����{���H�e�H�L$xH�H�@���H�L$xH��t$����A��uH��tH��H��w��L��$8A(s�A({�E(C�E(K�E(S�E([�E(c�E(�x���E(�h���E(�X���I��A_A^A]A\_^[]����H�\$WH��H��`BH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@�@2�H�L$xH��tYH�H��H�@�ŝH�H�L$xH��tH�H�T$@H;���H�@ ���H��H��$�H3��=�H��$�H�Đ_��k��H��,H�L$(�I��H��BH�L$(�d�����@SH��@H�BH9HuG�23�H�H��H�A�9P }H�@�H��H�8Pt�8Su9S ~H���a2H;��H��@[�H�B,H�L$ ����H�IBH�L$ �����H��SUVWAVAWH��h)p�)x�H�;_BH3�H��$0I��M���H����$�H��$���$�L��$�/���3�A��H�L$0�п�H�L$0��<���H��H�{rH�L�CH�L$@�E
��H��H���6
��H��(��ۓ��H��H�q��
��H��H�rH�L�GH���
��H��H����	��H��(�虓��H��H����	��H���B��L�|$ L�L$0M�Ƌ�H����H��$��=\���H��H��$�H��$�� ��H��$0H3���L��$hA(s�A({�I��A_A^_^][��H��SUVWATAVAWH��P)p�H��]BH3�H��$0I��M��D��H����$�H��$���$�L��$�fn�[�/���3�A��H�L$0�H��H�L$0�I;���H��H�{rH�L�CH�L$@���H�:H�����H��(��S���H��H�a9���H��H�rH�L�GH���{��H��H���l��H�ȋ��R��H��H��S��H���
��L�d$ L�L$0M��A��H���+�H��$��Z���H�eH��$�H��$�蘶�H��$0H3���(�$@H��PA_A^A\_^][��@SUVWATAUAVAWH��HH�9\BH3�H��$0I��M��D��L��H��$�H��$�Hc�$�L��$�H;���3�A��H�L$0�ϼ�H�L$0��9���H��H�{rH�L�CH�L$@�D
��H��H���5��H��H���
`��H��H��7���H��H�rH�L�GH���
��H�H������H�ȋ�����H��H������H���B��L�l$ L�L$0M��A��I�����H��$��<Y���H��H��$�H��$����H��$0H3���H��HA_A^A]A\_^][���H��SUVWATAVAWH��P)p�H��ZBH3�H��$0I��M��D��H����$�H��$���$�L��$�fn�[�/���3�A��H�L$0�P��H�L$0�Q8���H��H�{rH�L�CH�L$@����H�BH�����H��(��[���H��H�A���H��H�rH�L�GH�����H�H���t��H�ȋ��Z��H��H��[��H����
��L�d$ L�L$0M��A��H���3��H��$��W���H�mH��$�H��$�蠳�H��$0H3���(�$@H��PA_A^A\_^][��H��H�XH�hH�p H�HWH�� I��H��H���H��H��H�D$0H��t,W���C�CH�L�H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H�����p�H��H�D$0H��t)W���C�CH���H�H�KH����3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H�\$H�t$WH�� H��H����H�D$0H��H��t)W�H�K�H�։C�CH���H����3�H�t$@H�CW�H�H��H�_H�\$8H�� _��H��H�XH�hH�p H�HWH�� I��H��H�����m�H��H�D$0H��t,W���C�CH���H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�!H�aH�BL�H��t�@H�BH�AH��L��H��H�XH�pH�x H�HAVH��@I��H��� ���H���H�L�wI�I��H�@�M�H�����H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H�������C�uH�H��H�@���H��H�\$XH�t$`H�|$hH��@A^�H�u�H�L$ 蟻�H�BH�L$ 躤��L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S���H���H�H�[H��t9����C��u,H�H��H��B�����C��uH�H��H�@�%�H��H�\$PH��0_����@USVWAVH��H��pI��H��H��H�M�I���1���D��L��H��H���P����H�x�H�3�H�]�D�sL�u�]�L�
��D�ÍS3H�M��n��H�]�L�uȈ]�L�
��D�ÍS?H�M��L��H�H��H�@�{�L��L�MкH�M�����H�U�H��rH��H�M����H�]�L�uȈ]�H�U�H��r
H��H�M���H��H��pA^_^[]����H�\$H�T$WH��0H��H��W��D$ L�JM��t	�A�AL�JH�H�D$ L�L$(H�T$ �-���H�6�H�H��0Ƈ�H�[H��t9����C��u,H�H��H��������C��uH�H��H�@�z�H��H�\$PH��0_�@SH��PH��SBH3�H�D$@�d$8H�T$8(�H���"Q���|$8f�uH��H�L$@H3����H��P[�H���H�L$ �QM��H�bBH�L$ ������H�\$WH��@H��H��H�L$ 袃���H���H����H9�JH���H�H��H���Hǃ�H����H���H��H���H���H��H���Hǃ�H��H���Hǃ�W�AH���A� 萯H���H��(譩���H��H��@虩���H��H��X腩����� ����p��$����qH��(H��x�Q�����8�����<�����@�����D�����H��H�\$`H��@_�H�8H�L$(�R��H��BH�L$(�m��H�\$WH�� H��3�H��xH��t(H���H+�H����H��xH���H���H��XH��t(H��hH+�H���ʅ�H��XH��`H��hH��@H��t(H��PH+�H��薅�H��@H��HH��PH��(H��t(H��8H+�H���b��H��(H��0H��8H��8�)��H�S(H��rH�KH���+��H�{ H�C(@�{H�\$0H�� _�H�\$WH�� H��H��H;�t0H�	H��t����A��uH��H���H�H�H�'H��H�\$8H�� _��H��XH�iPBH3�H�D$@�	H�T$8�d$8�Z���|$8uH�L$@H3��c�H��X�H�W�H�L$ ��I��H��
BH�L$ 蜞������������@SH�� H�;�H��H���t
�H��H��H�� [������@SH�� H�3�H��H���t
��辿H��H�� [������@SH�� H�+�H��H���t
��莿H��H�� [������@SH�� H���H��H���t
���^�H��H�� [������@SH�� H���t
���8�H��H�� [����������������H�\$WH�� H�ً�H��8�-��H�S(H��rH�KH���/��H�c H�C(�C@��t
��H���˾H��H�\$0H�� _��������������H�\$WH�� ��H�������t
��H��芾H�\$0H��H�� _�������������H�\$H�t$WH��@I�H��I��I��H��H�@���H;�u;H�H��H�@���H������H;�uAH��H���[H�\$PH��H�t$XH��@_�H��H�L$ �K��H��
BH�L$ �f��H���H�L$ �(��H��
BH�L$ �C����H�\$UVWATAUAVAWH��@H��MBH3�H��$0L��W�D$0L�rM��t	�A�FL�rH�ZH�\$0L�t$8H���H���H+�H��H���mA�H��$�H�	��H��$�D� D�h���t;H��`H+�XH��H��0H+�(H��H��HH+�@H�����:H��`H+�XH��H��0H+�(H��H��HH+�@H����辄�F�H9�$�D�X�H��$�艒�H��A��A����l$ �S�D��D��H�L$@���L��H�|$ D�Ë�I����M��t:�����A�F�u+I�I��H�������A�V�uI�I��H�B��I��H��$0H3���H��$�H��@A_A^A]A\_^]��l�����H��H�XH�pH�x UATAUAVAWH�����H��H��L��0E3�M9,$��L�qH�YH��t�CH�Y��H��t5����C�u*H�H��H��Ԉ����C�uH�H��H�@���L����H���D���L�
��E�ōWH����F��H�|$XH�|$P����D$@����D$H���f�D$L����D$ND�l$OL�m@H�}HD�m0L�
u�E�ōWH�M0���L�m H�}(D�mL�
r�E�ōW0H�M�Â�I��0I+�(H��H�H��H�@��L��H���H�D$8D�l$0H�D$@H�D$(H�\$ L�M0��H�M����H�U(H��rH��H�M�d~�L�m H�}(D�mH�UHH��rH��H�M0�B~�L�m@H�}HD�m0H�T$XH��r
H��H�L$@�~�L�l$PH�|$XD�l$@H���H��rH��H�����}�M��I��0I+�(H��H����L���H���D���L�
��E�źH���蕁�L���H���D�mpL�
{�E�źH�Mp�j��L�m`H�}hD�mPL�
��E�ź?H�MP�E��I��H�������L���H�>�H��@���H��I��(H�H�AH��@�L��H���H�D$8D�l$0H�EpH�D$(�B��D$ L�Ϻ�H�MP���H��XH��rH��H��@�|�L��P�H��XD��@H���H��rH��H����|�L���H���D���H�UhH��rH��H�MP�X|�L�m`H�}hD�mPH���H��rH��H�Mp�3|�L���H���D�mpH���H��rH��H����|�I��I��0I+�(H��L;�����I��HI+�@H��H����L���H���D���L�
��E�ź9H�����L���H���D���L�
��E���H����Y�L�mH�}D�m�L�
��E�ŋ�H�M��7�L���H���D���L�
��E�ōS-H�����I��HI+�@H��I��0I+�(H��H�H��H�@��L��H���H�D$8H�|$0H���H�D$(H�\$ L�M�H����g���H���H��rH��H����z�L����H���D���H�UH��rH��H�M��\z�L�mH�}D�m�H���H��rH��H����4z�L���H���D���H���H��rH��H����z�M��I��HI+�@H��H���L��H��D��L�
a�E�ź'H���}�L��@H��HD��0L�
X�E�źH��0�t}�L�� H��(D��L�
G�E�źH���C}�L��H��D���L�
��E�ź?H����}�I��@I��(H�H��H�@�3�L��H��H�D$8�B��D$0H��0H�D$(�B��D$ L����H������H��H��rH��H����x�L���H��D���H��(H��rH��H���ex�L�� H��(D��H��HH��rH��H��0�4x�L��@H��HD��0H��H��rH��H���x�I��I��HI+�@H��L;�����I���I+�xH��H����L��0H��8D�� L�
��E�źH�� �{�H�|$xH�|$p����D$`����D$h���f�D$l����D$nD�l$oL���H���D��pL�
W�E�źH��p�{�L��`H��hD��PL�
��E�ź?H��P��z�I���I+�xH��H�H��H�@��L��H�� H�D$8�D$0H�D$`H�D$(H�\$ L��p��H��P�b���H��hH��rH��H��P�|v�L��`H��hD��PH���H��rH��H��p�Kv�L���H���D��pH�T$xH��r
H��H�L$`�v�L�l$pH�|$xD�l$`H��8H��rH��H�� ��u�M��I���I+�xH��H����L��pH��xD��`L�
��E�źH��`�y�H�}�H�E���V�E���V�E�D�m�L���H���D���L�
��E�ź?H����By�I��H��@����L��@H���H��`���H��I��xH�H�AH��=~L��H��`H�D$8D�l$0H�E�H�D$(�B��D$ L�Ϻ�H������H��xH��rH��H��`�t�L��p�H��xD��`H��XH��rH��H��@�}t�L��PH��XD��@H���H��rH��H����Lt�L���H���D���H�U�H��rH��H�M��!t�L�m�H�}�D�m�H��xH��rH��H��`�s�I��I���I+�xH��L;��������L���H���D���L�
��E���H����w�H�}�H�E���T�E���T�E�D�m�L���H���D���L�
��E�ŋ�H����>w�L���H���D���L�
��E�ōS%H����w�I��xH�H��H�@�7|L��H���H�D$8D�l$0H�E�H�D$(��D$ L�����H������H���H��rH��H����r�L���H���D���H���H��rH��H����zr�L���H���D���H�U�H��rH��H�M��Or�L�m�H�}�D�m�H���H��rH��H����'r�L���H���D���H���H����n���L��@H��HD��0L�=SI��H��0�cn���L�� H��(D��H�n�H���:n���L��H��D���H��H����n���I���H�H��H�@��zL��H���H�D$8D�l$0H��0H�D$(��D$ L����H����S���H��H��rH��H����q�L��H��D���H��(H��rH��H����p�L�� H��(D��H��HH��rH��H��0�p�L��@H��HD��0H���H��rH��H����{p�L���H���D���H�7�H�����l���L���H���D���I��H����l���L���H���D��pH��H��p�l���L��`H��hD��PH�x�H��P�ll���I���H�H��H�@��xL��H���H�D$8D�l$0H���H�D$(�C�D$ L��p��H��P����H��hH��rH��H��P�ho�L��`H��hD��PH���H��rH��H��p�7o�L���H���D��pH���H��rH��H����o�L���H���D���H���H��rH��H�����n�L���H���D���H��H����=k���L��H��D���I��H����k���L���H���D���H���H�����j���L���H���D���H�ҾH��H�����j���H�H��H�@�RwL��H���H�D$8D�l$0H���H�D$(�A���D$ L�����H�������H���H��rH��H����m�L���H���D���H���H��rH��H����m�L���H���D���H��H��rH��H����\m�L��H��D���H���H��rH��H����+m�L��H��D��H�_�H���i���L��`H��hD��PI��H��P�ni���L��@H��HD��0H�1�H��0�Ei���L�� H��(D��H��H��� i���H�H��H�@��uL��H��H�D$8D�l$0H��PH�D$(�A���D$ L��0��H������H��(H��rH��H���l�L�� H��(D��H��HH��rH��H��0��k�L��@H��HD��0H��hH��rH��H��P�k�L��`H��hD��PH��H��rH��H���k�L��0H��8D�� H��H�� ��g���L���H���D���H��H�����g���L�m�H�}�D�m�H��H�M��g���H���][����H�H�AH��3tL��H�� H�D$(�\$ L�����H�M��#���H�U�H��rH��H�M���j�L�m�H�}�D�m�H���H��rH��H����j�L���H���D���H��8H��rH��H�� �kj�A�H��H����L��H�NH��pH�I�:���H��I���'�H��pH��t#����A��uH��tH��H��8sH���H���H+�H��H����A�H���H�	��H�VH�M�H�8�uI�:���H���H���H+�H��H����A�H���H�	���H��L�E�I�$�1����C�����H���H���H+�H��H��tMA�H���H�	��H��L�E�I�$����H�M��2��L��$I�[8I�s@I�{HI��A_A^A]A\]��\���V���P������H�\$WH��H�‹�H��H�T$ ���d3�H�H��H�A�9x }H�@�H��H�8Pt�8Su;{ }H���.H;H��$���H�Ġ_������������H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@��qH;���H�H��H�@�gqH�����H;�uML��H�T$PH���*��H�H� H�H�L$PH��tH��H��%qH�\$XH��H�t$hH�l$`H��@_�H���H�L$ ���H�]�AH�L$ ��H���H�L$ 轘�H�:�AH�L$ �؁��������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@��pH;���L��H�L$ H���/��H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H��9p����C�uH�H��H�@�pH�\$`H��H�l$hH�t$pH��P_�H��H�L$0�ٗ�H�V�AH�L$0������H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0���H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H��Mo����C�uH�H��H�@�2o�H�L$(H��t=����A�u2H�\$(H�H��H��o����C�uH�L$(H�H�@��n�H�_H��t5����C�u*H�H��H���n����C�uH�H��H�@��nH��L�\$`I�[I�kI�s I��_�H��H�L$@�f��H���AH�L$@��H�\$H�t$WH��@I�H��I��I��H��H�@�HnH;�u8H�H��H�@�3nH���k��H;�u>H��H������H�\$PH�t$XH��@_�H��H�L$ �ޕ�H�[�AH�L$ �~�H���H�L$ 軕�H�8�AH�L$ ��~������H�\$H�t$WH��PI�H��I��I��H��H�@��mH;�uAH�H��H�@��mH�����H;�uGH�GH9pu`H��3��6���H�\$`H�t$hH��P_�H��H�L$ �%��H���AH�L$ �@~�H���H�L$ ���H��AH�L$ �~�H�U�H�L$8�ߔ�H�\�AH�L$8�}����������@SH��@H��H��H�T$ �!���H��H�xrH�L�@H������H�T$8H��r
H��H�L$ �fc�H�d$0H�D$8�D$ H��H�����H��@[��������������H�\$WH��PH��I9��I�����H�T$`H�D$`H�L$ ����H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H���k����C��uH�H��H�@��kH�\$hH��H��P_�H�G�H�L$0虓�H��AH�L$0�|����H�\$H�t$H�L$WH����H����H�H�AH���9p }H�@�H��H��xt�{u;s }H���H;t9H�g8H�K`H��tH�H��H��'kH�G8H��L��$�I�[I�s I��_�H�\�H�L$8�ZV��H��H�
�oB�z��L��H��H�L$X��_�L���H��H�L$x��_�H��H�L$ ��u�H�	�AH�L$ �{���H��(�
J'EeH�%X�4H�ȋ
9wEH�^EH��(�H�
bE��=VE�u�W��9E�h藜H�H�@H�@f�@H�EH�
hD���H�
E�F��H��(eH�%X�
�&E�4H�ȋ
9�EH��%BH��(�H�
�E�e��=�E�u�H�
�C蠡H�
�E������H�\$H�t$WH��@I�H��I��I��H��H�@��iH;�u^H�H��H�@�siH�����H;�uH��H���[H�\$PH��H�t$XH��@_�H���H�L$ ���H���AH�L$ �6z�H�^�H�L$ ��H�u�AH�L$ �z���H�\$UVWATAUAVAWH��$��H�� H�b+BH3�H��H��L��H�L$HW���H�Z3�H��t�CH�^H�~H���H���H�
_�L�5P�M��8�pLE�I��8�qHE�H�D$@8��LE�H�T$HH���r�L� H� L��XH�L$HH��tH��H�@�(hH��(H��`�j�H��H��P�.�H��@H��x�rj�H��H��0��H��xH����Oj�H��H����
�H��XH����,j�H��H�����
�3�A��H����H������3�D�BHH����ԊH���H����d$8L�D$0H�T$8H����P���H���H�D$(H���H���H+�H��H����H�	H�H�@�gH���H���H��H����y�HDž��H���H�input idH���ƅ�L���H���H����7C��HDž�HDž�
���Ep�
�f�Ex�EzH���H��@H��HH���H��P�N�H��XH���H��`H��hH���H��pHDžxH���H���HDž�W�����H��D�FH����)�L��@H�UpH����:���H���H�D$(H���H���H��H����Cx�HDž�H���H�varianceH���3�@���L���H���H�����A��3�D�FHH���蚈H���H���!t$(L�D$1H�T$(H����fN���H���H�D$ H��H��H��PH����w�H�E��	H�u��b��E��_��E��E�L���H�U�H����1A��H��H�D$ H��(H��0H��0H���"w�H�E�H�u����EЊ��E��E�L��H�U�H�����@��H���H�D$ H�y�H���L�D$2H���H����8���H�EH�u����E����E�3�@�u�L���H�U�H�����d��H��8H�D$ H��HH��PH���H��8�Ev�H�E(H�E �D��E�A��E@�uL��8H�UH�����?��HDž��H���Dž�flipƅ�M��H���H����y��HDžH��DžclipE3�D��L�D$@H��H����;���FH�D$hH�D$`����D$P����D$X���f�D$\����D$^D�l$_M��H�T$PH�������3�D�FDH��p�хH���H��pD!l$@L�D$3H�T$@H��x�K���D�vL�uHH�E@
���E0��f�E8D�m:���H�U0H��p�=��L�u�H�E����D$p��f�D$x�٬�D$zD�l${���H�T$pH��p�m=��L�uhH�E`�sM�EP�mMf�ETD�mV���H�UPH��p�1=��H��H�D$ H�=��H��L�D$4H��xH����5���L��8H��0Dž stepD��$L��H�� H����b��H��PH�D$ H��PL�D$5H���H��X�b5���L�u�H�E��ի�E��ҫ�E��̫f�E�D�m�L��PH�U�I���a��I�$��D��H�� I��H��p`I��H��(�Q����H���H���H+�H���W�W�f��L���H����|`���H���H���H+�H����V�W�f��L���H����C`���H���H���H+�H���V�W�f��L���H����
`���H����I ���H���H���H����.|�H��H��rH��H����AV�L��L��D���H��(H��rH��H���V�L�� L��(D��H��HH��rH��H��0��U�L��@L��HD��0H��hH��rH��H��P�U�L��`L��hD��PI�$�I��H�@��^�H��t5����C�u*H�H��H���^����S�uH�H��H�B�x^I��H��H3���H��$pH�� A_A^A]A\_^]��f�������L��H��XH���L���I�C�H����I�C�H���I�C�H���I�C�(D$(L$ ��������H��(H��0H+�H�$H��H�L$$���I��@I��HH+�H�$H��H�L$$��I��XI��`H+�H�$H��H�L$$��A��p�� A��q��$I��xI���H+�H�$H��H�L$$��(A�����8A�����<A�����@A�����DH��X�H�\$H�t$ WH��@H�GBH3�H��$0H��H��H�L$ H�T$ 3�A��H�L$0���H�L$0���3�H�KH�H��H+�H��H��tGH+�H��H;�����H�L$@�T��H��H�i��L��H��H�KH�H��H+�H��H;�r�H��H�L$H�����H��$�����H�X�H��$�H��$��x�H�H��tH�SH+�H���R�H�#H�cH�cH��H��$0H3��a�L��$@I�[ I�s(I��_�跉���H�\$H�l$VWAVH��0I��I��H��H�L$ L�t$pH�H�a�P譍H�GH�p H�fH�fH��H���n�H�f H�f(I�FH��t�@I�H�F I�FH�F(H�GH�(H�GH�hH�OH�i3�H�O�DH��H��|�H��H�\$XH�l$`H��0A^_^��H��H�XH�hH�pH�x AVH��H��)p�H�P�M��I��H������@0�D$`H�t$`�~uH�V H���Z��uH�3�C�yH�3333333H9G��L�H�L$0L��L�t$ H�����H�pH�`H�L$8H��tH�� �*��H�L$8H��t
�P��P�L��H�T$PH���t$P��A��H��C(t$pL��$�I�kH��I�[I�s I�{(I��A^��K����H�\$WH��pI��)t$`M��H��L��H�T$ �k0�@�D$P�|$Pt$@tH�D$@�iH�3333333H9CtlL�H�L$ L��H���{���H�xH�`H�L$(H��tH�� �G��H�L$(H��t
�P�P�L��H�T$@H���t$@��@��H��$�(t$`H��p_��5K���H�\$UVWH�� H��H��H�	H�y�u6L�GH��H���>H��3�H�?H�K ���0H���O�t�H��0H�\$PH�� _^]�iO��H�\$ UVWH�� A�xI��H��H��u3L�GH��H������H��3�H�?H�K �$��0H���O�t�H�\$XH�� _^]�H�\$H�l$VWATAVAWH��@H�9E3�I��I��H��L��E8`t2H�GD8`uH�OI��H�� ��
H�GH�D�c�iM�p H��I��詷�H;7u����H�3�CD�c�>��tSH�L$pH�t$p�Z���H��H�8H�O �g����H�G�HH��D�c��tH�;D�c�H�3�C��H��I���'����H�~D�wE��t)H�~D8g��H��H��H;Gu'H�H��D8gt��H�D8auH�H��H��D8`t�D8guYH�W H��迶�uIL��H�T$ I�����H�|$0D8gu H�W H��蔶�uH�;�C�C�5D$ ����D�cH��E��tH�3����H�;����H�3�CD�cH��L�\$@I�[8I�k@I��A_A^A\_^����H��L�H L�@H�PH�HSVWATAUAVAWH��@M��M��H��L��M��M+�I��L�|$0H�AH�D$ L�)L�l$(L� L�d$8H�QH��I+�H��3�M����L;���I��I+�H��H��������H��H+�L;��N�9L�D$8I+�H��H��H��H��H+�H;�vH��$�H����2H�M��I;�LC�L;���I��H��I��L��$�H��r�K�H��L��$�L��$��%H��t�}�H��L��$�L��$�L��$�H�|$ H��H+L$(H��N�,9I��L�L�l$0L��$�H��H�9H��$�M��L��I��I���HH��$�H��$�I��uI;�u
L��H�D$(�M��L��H��H�L$(�T��H��$�H��M��M��I��H���8��L��L�D$8H��I���+��H��@A_A^A]A\_^[�I��H+�H��I��H��H�4M��I��L;�sOI��H+�M��H������I�FM��H��H���}M��H��H���K�M��L��H��$�H��$��c�?H�t$(L��H�����I�FM��I��H����J�M��L��H��$�H��$��#��=�����h���h���H�\$H�t$WH�� I��H��H��H;�tUH�� H�� H;�tCH�SH��rH�H���!J�H�cH�C�OKH�gH�G�H;�u�H�t$8H��H�\$0H�� _����H�\$H�t$WH�� I��H��H��H;�tUH;�tCH�SH��rH�H���I�H�cH�C�OKH�gH�G�H�� H�� H;�u�H�t$8H��H�\$0H�� _����H��H�XH�hH�p WH��@I��I��H��H��W�@�H�X�H�X�L�H�H;�t'H�H�cH�cH����d�H�� H�\$(H��H;�u�L��H��H���#I�H��H�\$XH�l$`H�t$hH��@_����H��SH��PH��H�L$@H�`�H�@��@�L�
@�E3�A�PH�H��L�H�x�H�H�KH�aH�aH�T$ �]d�H�T$8H��r
H��H�L$ �TH�H��H�H��H��P[��H��SH��PH��H�L$@H�`�H�@��@�L�
�E3�A�PH�H��K�H���H�H�KH�aH�aH�T$ ��c�H�T$8H��r
H��H�L$ ��G�H���H�H��H��P[��H��SH��PH��H�L$@H�`�H�@��@�L�
��E3�A�PH�H��pK�H�h�H�H�KH�aH�aH�T$ �Mc�H�T$8H��r
H��H�L$ �DG�H�-�H�H��H��P[��@SH��PH��H�L$@H�D$8H�D$0
�(��D$ �$��D$(���D$,3҈T$-H���H�H��H�QH�QH�T$ �b�H�T$8H��r
H��H�L$ �F�H���H�H��H��P[�H��SH��PH��H�L$@H�`�H�@��@�L�
ܜE3�A�PH�H��TJ�H�L�H�H�KH�aH�aH�T$ �1b�H�T$8H��r
H��H�L$ �(F�H���H�H��H��P[��H��SH��PH��H�L$@H�`�H�@��@�L�
,�E3�A�PH�H���I�H���H�H�KH�aH�aH�T$ �a�H�T$8H��r
H��H�L$ �E�H�ћH�H��H��P[��H��SH��PH��H�L$@H�@�H�@��@�init3҈P�H�I�H�H��H�QH�QH�T$ �0a�H�T$8H��r
H��H�L$ �'E�H���H�H��H��P[�H��SH��PH��H�L$@H�`�H�@��@�L�
��E3�A�PH�H���H�H���H�H�KH�aH�aH�T$ �`�H�T$8H��r
H��H�L$ �D�H�Q�H�H��H��P[��@SH��PH��H�L$@H�D$8H�D$0���D$ ���D$(���f�D$,3҈T$.H�+�H�H��H�QH�QH�T$ �`�H�T$8H��r
H��H�L$ �	D�H���H�H��H��P[���@SH��PH��H�L$@H�D$8H�D$0����D$ ����D$(���f�D$,3҈T$.H���H�H��H�QH�QH�T$ �z_�H�T$8H��r
H��H�L$ �qC�H�J�H�H��H��P[���H�\$WH��0H��H�L$ H�!H�a��~H�H�@H�H�_H�\$(H�#H�c�0�~H�H�@H�@f�@H�H��H�\$HH��0_����H��SH��PH��H�L$@H�`�H�@��@�L�
�E3�A�PH�H��F�H���H�H�KH�aH�aH�T$ �^�H�T$8H��r
H��H�L$ �xB�H���H�H��H��P[��H��SH��PH��H�L$@H�`�H�@��@�L�
�E3�A�PH�H��F�H��H�H�KH�aH�aH�T$ �]�H�T$8H��r
H��H�L$ ��A�H���H�H��H��P[��H��SH��PH��H�L$@H�`�H�@��@�L�
��E3�A�PH�H��E�H���H�H�KH�aH�aH�T$ �q]�H�T$8H��r
H��H�L$ �hA�H�a�H�H��H��P[��H��SH��PH��H�L$@H�`�H�@��@�L�
\�E3�A�PH�H��E�H��H�H�KH�aH�aH�T$ ��\�H�T$8H��r
H��H�L$ ��@�H��H�H��H��P[��H��SH��PH��H�L$@H�`�H�@��@�L�
�E3�A�P H�H��D�H�|�H�H�KH�aH�aH�T$ �a\�H�T$8H��r
H��H�L$ �X@�H���H�H��H��P[��H��SH��PH��H�L$@H�`�H�@��@�L�
��E3�A�PH�H��C�H���H�H�KH�aH�aH�T$ ��[�H�T$8H��r
H��H�L$ ��?�H�Y�H�H��H��P[��L��I�[WH��P@��H��H�L$@�I�C�I�C�����D$ ����D$(���f�D$,����D$.3҈T$/H�M�H�H��H�QH�QI�S��5[�H�T$8H��r
H��H�L$ �,?�H�E�H�@�{(H��H�\$hH��P_�H��SH��PH��H�L$@H�`�H�@��@�L�
�E3�A�PH�H���B�H���H�H�KH�aH�aH�T$ �Z�H�T$8H��r
H��H�L$ �>�H���H�H��H��P[��@SUVWAVH��@I��H��H�L$8�AH��H�E3�D�qH�QH��t�BH�� H�L$(I������L�w8L�w@��yH�H�@H�G8L�wHL�wPL�wX� �yH�D$(H��t
H�����H���I��H�_`H�\$(L�3L�sH�L��H�H���k�H�KH�L$0H�VL�D$ �ii��*yH�D$0H��tD�0�I��H���H���H�\$0L�3L�s�P��xH�H�@H�@f�@H�L���L����0��xH�H�@H���H���F\H��H���IH��D8�$�t�Y8�
��$���H��H��@A^_^][�@SUVWAVH��@I��H��H�L$8�AH�T�H�E3�D�qH�QH��t�BH�� H�L$(I���h���L�w8L�w@��xH�H�@H�G8L�wHL�wPL�wX� �wH�D$(H��t
H���
���H���I��H�_`H�\$(L�3L�sH�L��H�H���	j�H�KH�L$0H�VL�D$ ��g��wH�D$0H��tD�0�I��H���H���H�\$0L�3L�s�P�dwH�H�@H�@f�@H�L���L����0�8wH�H�@H���H���ZH��H���I��$�H����H��H��@A^_^][��H��H�XH�pWH��PH��H�H�3�H�p؍^H�X�@�p�L�
��D�ƍVH�H��*?�H�"�H�H�OH�qH�qH�T$ �	W�H�T$8H��r
H��H�L$ �;�H�t$0H�\$8@�t$ H�R�H�@�w(H�w0H�w8��QvH�H�@H�G0H�w@H�wHH�wPH�_XH�\$HH�3H�s�0� vH�H�@H�@f�@H�H��H�\$hH�t$pH��P_��H��SH��PH��H�L$@H�`�H�@��@�L�
�E3�A�PH�H��0>�H�(�H�H�KH�aH�aH�T$ �
V�H�T$8H��r
H��H�L$ �:�H���H�H��H��P[��@SH��PH��H�L$@H�D$8H�D$0����D$ ���f�D$$����D$&3҈T$'H���H�H��H�QH�QH�T$ �zU�H�T$8H��r
H��H�L$ �q9�H�*�H�H��H��P[����[���H��(H�	H��t
��tH��(��@SH�� H��H��(H����>��H�KH��H�� [��>����H�\$WH�� H��H��H�H�����H���H���ƌ��H���H��t
��tH�O`��m�H�OHH��tH�WXH+�H���8�H�gHH�gPH�gXH�O8H�AH� H�	H��tH���v8�H��H��u�H�O8��`8�H�_ H�H��t-H�SL���H��H�SH+H�H����58�H�#H�cH�cH�OH��t����A��uH��H��0AH�gH�\$8H�� _�H�\$WH�� H��H��XH����H�_@H�H��t-H�SL���7�H�SH+H�H����7�H�#H�cH�cH�O0H�AH� H�	H��tH���}7�H��H��u�H�O0��g7�H�W H��rH�OH���Q7�H�gH�\$0H�G �GH�� _������H�\$WH�� ��H��������t
��H����rH�\$0H��H�� _�H�\$H�t$WH�� H�H��H�BH� H�H��t?H�S(H�3H��rH�KH���6�H�c �0H��H�C(�C�6�H��H��u�H��0H�\$0H�t$8H�� _�|6�I��M��L��L��L��I��I���V����H�\$WH�� I��H���H��H�\$8H�L�D$8�g��H���H�|$8H�QH;Qt
H�:H�A�
L�D$8譨�H�\$0H�� _���H��H�XH�hH�pH�x ATAVAWH���M��M��H��L��3�M���M���I��I+�H��H����M+�I��L;���I�<�I�I��H�@��>H��H�H��H�B��>H��H��迧�u"H��M���M���I��I+�H��H;�s:�L��M��H��I��L��$�I�[ I�k(I�s0I�{8I��A_A^A\��bl��I�I��H�@�1>L��H�ϏH�L$P��3�L���H��H�L$p�3�H��I�H�AI���=L��H��H��$��2�L�B�H��H��$���2�A��H��H�L$0�tB�H���AH�L$0�N���@SUVWAVAWH��XH�BH3�H�D$HL��I����$�M��H���tH���H9���MI���I���H+�H��H;��)J�l���tEL��H��I�����I�~ht0H�d$@H�T$@L��I�N`���L�D$@H�T$ L��I�N`M�����$���H���H�H;�tPH�H��L�{H�H�@��<I�H��H�AI���<H��H��迥�uL��H��I���ɞH;��u�H��I���0H��I���/H��I���g0H��I���\0�&L��H��I���Ȟ������������H�L$HH3���oH��XA_A^_^][��1j��H�	�H�L$(��c�H�`�AH�L$(�L��H��H�XH�hH�p H�PWH��@I��I��H��H��W��@�L�RM��t	�A�BL�RH�H�D$0L�T$8H�T$0�(H�ЊD$x�D$(�D$p�D$ L��L��H�������H�[H��t8������C�u*H�H��H��O;����C�uH�H��H�@�4;H�\$PH�l$`H�t$hH��@_����H�\$UVWH��P3�H��H��@8��uo@8��tfH�H��H�@��:H�H��H�AH���:H��H�����uhH���H����H�H��H�����H��H������H��H;�u��4H�H��H�@��:H�L$ H�l$0H��H�l$8�)M�H�T$ H���$�H��$�H��P_^]�L��I�[VWAUAVAWH�� H���AH3�H��$L��I�S�W�3�AC�I�C�H�ZH��t�CH�ZH�JH�L$@H�\$HH��$��3���H��t5����C�u*H�H��H���9����C�uH�H��H�@��9H��$�H��H��$L��H�t$ I;���W�D$0I���L��H�T$P詙�L�t$`A�~�'I�V H���%���I�^HH��t�CI�^HM�v@L�t$0H�\$8L�t$(H��$�H���H�QH;Qt
L�2H�A�
L�D$(�`��I���L��$�H���x���H��t6����C�u+H�H��H���8����C�uH�H��H�@��8�H�� H��$H��$����H��t)L��$��/�H��$H��$�H+�H����&/�H��$H3��kH��$`H�� A_A^A]_^�H�
W��J��H��H�XH�pH�x UATAUAVAWH��H���H��H�{�AH3�H���L��H�L$@H���H�H;���H��H�\$HH�C�xt#H�C�
H;Xu
H��H�@�xt�H��H�D$0�%H��H�D$0H��yuH��H�L$0H�H�Ȁxt�H�N@H�H�@�c7H������H;��dW�D$`L�v@I�I��H�@�67H���֙��H;��sM�nI�vH�t$8H��t
�FI�vH�t$8L�l$`H�t$hI�E0H�ePH�eXH�H�M@�I�I��HI+�@H���������H��L�4I��I��H��?L��kE3�E3�H�t$@H�\$HH�K@H�H�@��6H��L���H�L$p��+�I��8L�M�H��H�M`�*�H�U�H��r
H��H�L$p�-�H�e�H�E��D$pW�E0I��@I���D$ D��D����H�M��&`�L��H�|$ L�E@H�U`H�M0�q��W�fD$PH�}8H��t�GH�}8(E0fD$PH�T$PH����"�H��t?����G��u2H�}8H�H��H���5����G��uH�M8H�H�@�{5�H�UxH��rH��H�M`�4,�I�� I��xI�������H�\$0H�t$8L�|$@H�UXH��r
H��H�M@�+�H��t9����F��u,H�H��H��5����F��uH�H��H�@��4I;������H���H3��hL��$�I�[8I�s@I�{HI��A_A^A]A\]�H�[�H�M��\�H��AH�M��E��H��H�XH�pH�xUATAUAVAWH����H��H��AH3�H���E2�D�|$@H�y`H�H;���A��H�KH�H�@�,4H���t��L�sI��H;�I�H�@�K�4H���O��H;��MM�f3�M��t
�A�D$M�fM�~L���	L���	A8����M��t?A���A�D$A�u0I�$I��H���3A���A�D$A�uI�$I��H�@�~3D�|$@H�H;��0���A��H���H3��gL��$I�[0I�s8I�{@I��A_A^A]A\]�H�t$PH��I�����LXH��H��|�W��E�H�u�D�L$@L�D$`H�T$PH�M���+�A�H�U�H��p
�>�H�M�H��tH�U�H+�H���)�A9�0��I���I���H+�H��H����A�H��@H�I茒H��	H���HDž�H��	H����H���H��	H���H���H��	H���HDž�H��$	H��	HDž	W��	� 	H�P`A� H��	�GQ�D$DI���I���H+�H��H����I��M���A�H���H�	襑H�PH�L$DH�L$8�D$0H�t$(L�t$ M�� L���H���	�O��H��
�H���
9u0H��
�H���
9uH�� 
�H���
9u�A9Bt
A�D�|$@�D�|$@M�������A���A�D$A������I�$I��H���0A���A�D$A��_���I�$I��H�@��0�I�����0H�����L�sI��H;�I�H�@����0H���ǐ��H;��+M�~3�M��t	�A�GM�~M�nL���	L���	A8�uKA��M������A���A�GA������I�I��H��)0A���A�GA������I�I�����H�t$`H��I��P��LhH��H��|�W��E�H�u�D�L$@L�D$pH�T$`H�M��(�A�H�U�H��p�V;�H�M�H��tH�U�H+�H���i&�A9�0�I���I���H+�H��H����A�H��@H�I�^�H�P`H���	H��@	HDžH	H���	H��P	HDžX	H���	H��`	HDžh	H���	H��p	HDžx	H���	H���	HDž�	W���	��	A� H���	�N�D$H�D$ �D��D��H�M@�X�I���I���H+�H��H����I���A�H���H�	�_�H�PH�L$HH�L$8�D$0H�M@H�L$(H�t$ M�� L��@	H���
�<S��H���H���9u4H���H���9u H�� �H���9u�A9B������D$@�w�����-H���=��H;��>���L�sI�I��H�@��-H����<��H;���M�f3�M��t
�A�D$M�fM�~L���	L���	A8��u���H�t$pH��I�����LxH��H��|�W��E�H�u�D�L$@L�E�H�T$pH�M��%�A�H�U�H��p�8�H�M�H��tH�U�H+�H���#��D$L�D$ D��D����H�����V�I���I���H+�H��H����I���A�H��@H�	藌H�PH�L$LH�L$8�D$0H���H�L$(H�t$ M��XM��HH����1��H���H���9u0H���H���9uH�� �H���9u�A9Bt
A�D�|$@�D�|$@����Z�H���H�M���S�H�H�AH�M���<���Y����Y��H�K�H�M�L��H�C�AH�M�<�H�R�H�M(�}S�H���AH�M(�<��Y���Y��H���H�M��PL��H���AH�M��l<�H��H�M��/S�H���AH�M��K<���@USVWAVAWH��$����H��H���AH3�H���I��I��L��L��A�H�T$pH���H��H�M��/;���H�H��H�@��*H���K���H;�t-H�H��H�@��*H���~m�H;�tH��H����VH�E�H;�tGPEHO`MXH�GxH�MpH;�t@P)��H`)��������W�L$`I�I��H�@�1*L��H�{H�L$@���H��H�H�AH��
*L��L�L$pH��H�L$`�
*�H�T$XH��r
H��H�L$@� �H�d$PH�D$X�D$@W�fD$0H�\$hH��t	�CH�\$h(D$`fD$0�D$(�D$ E3�M��H�T$0I�����H��t?������C�u1H�\$hH�H��H��\)����C�uH�L$hH�H�@�?)H���H3���\H��A_A^_^[]�H��H�XH�pH�xL�h UAVAWH��H��`H���AH3�H�E�L��H�A`H�3�H�M�W��M�H!M�H;��KL�sH�I�H�H�@��(H����I�H;��I�L���H����H�>H��I��i�I�H���^�H��I;�u�W��E�H�e�H�u�L�}�I;�ttI��H+�H��H��������H;��H��H��r
H���e�L���H��t
H���cZ��E3�L�E�L�E�J�H�E�H�E�H�E�L�M�I��H���_&�H�E�H�U�I��vI����t?H�H�@��'H�M�H;M�tH�aH�aH���b:�H�E� �L��H��H�M��ܧ�I;]`���H�M�H��t!L�E�H�U��}�H�U�H�M�H+�H����)�H�M�H3��ZL�\$`I�[ I�s(I�{0M�k8I��A_A^]��:<��H�\$WH�� ��H���(��H���"H���<��H��� H���p)H�OH���xu��H��H�\$0H�� _���H�\$H�t$WH��H�y`H��H��<H�KH�H�@��&H��H�H�AHH���&��uH�KH�T$ A��}�H�H;�u�H���y��tHH�~`H��:L�CI����u'H�NHƀ�H�QH;Qt
I�H�H�A�蕏�H�H;�u�L��$�I�[I�sI��_�L��SVWATAUAVAWH��H�t�AH3�H��$xM��L��H�L$XI�S�L�D$@I�xH��t�GI�xI�PH��$XH�qH��t�FH�qH��H�IH��讎�D����H��t5����N�u*H�H��H��i%����F�uH�H��H�@�N%H��t5����G�u*H�H��H��/%����G�uH�H��H�@�%E����W�3��$`H��$pI���H��$`蒅�L��$`H��$hH�D$PL�t$ L;���M�>I�H��t�GI�M���M�,$M�M�GH��$�I���˄�H��$��~uH�V I�O�H��tI��H��t5����G�u*H�H��H��F$����G�uH�H��H�@�+$I;��KW�D$(I�H�pH��t�FH�pH�@H�D$hH�t$pH�xL��H��$�I���%��L��$�A��I�W H��螃���I�HH��t�GI�HM�@L�|$(H�|$0H��t:����F�u*H�H��H��|#����F�uH�H��H�@�a#L�|$(L�|$8H��$XH���H�QH;Qt
L�:H�A�
L�D$8蚌�I���L��$XH��c���H��t6����G�u+H�H��H���"����G�uH�H��H�@��"�I��H�D$PL�l$X���H��$`H��tH��$pH+�H���s�H��$xH3��CVH�ĀA_A^A]A\_^[�H�T$XH��$X�NH��H�T$@I���>�H���٘�H������L��H��rH��$8��L�frH��H��$���H��H��藘�H�����L��H��H��$���L�rH��H��$���H��H�L$x�-�H�#�AH�L$x��2�H�
��4����H�\$WH��`H�'�AH3�H�D$XH��H��H�T$8�d$4W�3�H�BH�Q0H���$��D$4W�3�D$@H�D$PH�H�T$@H��H�@�C!�H�W�D$0�D$ L�L$HL�D$@H�������H�L$@H��tH�T$PH+�H�����H��H�L$XH3��TH��$�H��`_���H�\$H�t$UH�l$�H��H�R�AH3�H�EGH��H�A�����H�Q H�L$ �-���H�T$ H�M'��W�H�}7��A�H��sH�M'�!8�H�UH����
�H�KH���L�ML�E'H���Y0��H�e��H�u��E�H������
sD�F�H�vlH�M���7�H����H�M�蓬�L�3sH�U�H�L$ ���H��H�xrH�L�@H�M��7�H�U�H��r
H��H�L$ ��H�e�H�u��D$ H�U�H��rH��H�M��f�H����H�e�H�U�H�}�HCU�L�M�A�H����H�M�H��tH�H�U�H;���H�@ �J�H�U�H��rH��H�M���H�e�H�u��E�H�UH��rH��H�M���H�eH�u�EH�U?H��rH��H�M'��H�MGH3��RL��$I�[I�s I��]�H�\$UVWATAUAVAWH��$ ���H���H�.�AH3�H���I��A��L��H��H�Q H�L$8����H�T$8H����U�A�E3�L9���C3�A�H����A�SH�L$X�ɪ�L��qH���H�Mx��L�L$XL���T$0H�M��ۼ�L�ӄH�U�H�MX��M��H��H�M8���L�&qH��H�M���L9`rH��D$ A�@E�A�H��H������H���HcHH�
OH��
�H���HcH��X�����
�H�U0I;�rH��H�M�0�L�}(A�L�m0D�}H�UPI;�rH��H�M8�	�L�}HL�mPD�}8H�UpI;�rH��H�MX���L�}hL�mpD�}XH�UI;�rH��H�M����L�}L�mD�}�H���I;�rH��H�Mx��L���L���D�}xH�T$pI;�r
H��H�L$X�z�L��H��H����8@@���P�SH�M����L��oH���H�L$X���L�M�L���T$0H�L$8�$��L��H�T$8H�M��>�M��H��H�M��.�L��oH��H�L$x��L9`rH��@D��D�G�H��H����(�H�U�I;�r
H��H�L$x��L�}�L�m�D�|$xH�U�I;�rH��H�M���L�}�L�m�D�}�H�U�I;�rH��H�M��j�L�}�L�m�D�}�H�T$PI;�r
H��H�L$8�G�L�|$HL�l$PD�|$8H�T$pI;�r
H��H�L$X�!�L�|$hL�l$pD�|$XH�U�I;�rH��H�M���L��H��H�����=�SH�M�蟧�L�WnH���H�L$x�V�L�M�L���T$0H�L$8谹�L���H�T$8H�M����M��H��H�M���L�nH��H�L$X��L9`rH�D�ϾD��H��H�����H�T$pI;�r
H��H�L$X�9�L�|$hL�l$pD�|$XH�U�I;�rH��H�M���L�}�L�m�D�}�H�U�I;�rH��H�M����L�}�L�m�D�}�H�T$PI;�r
H��H�L$8���L�|$HL�l$PD�|$8H�U�I;�r
H��H�L$x��L�}�L�m�D�|$xH�U�I;�rH��H�M���H��H�����J�SH�M��/��L��lH���H�L$x���L�M�L���T$0H�L$8�@��L�8�H�T$8H�M��Z�M��H��H�M��J�L��lH��H�L$X�5�L9`rH�D��D��H��H����J�H�T$pI;�r
H��H�L$X���L�|$hL�l$pD�|$XH�U�I;�rH��H�M���L�}�L�m�D�}�H�U�I;�rH��H�M���L�}�L�m�D�}�H�T$PI;�r
H��H�L$8�f�L�|$HL�l$PD�|$8H�U�I;�r
H��H�L$x�A�L�}�L�m�D�|$xH�U�I;�rH��H�M���H��H����I�H��h����H���H��hH��h�4�H���I;�rH��H������H���H3��KH��$0H���A_A^A]A\_^]���H�\$H�t$ UWAUAVAWH��H��pH�8�AH3�H�E�H��L��H���H���H+�H��H�������tH����tI���w
��������FI���Z
���6H���H���H+�H��H����L�)H�H��H�@�H�e�H�e�H��H�M��)�Ƈ�I�VPI�vH�	H9>t	H��H;�u�H;�t=H�F�H�H;�tH�H��H��H;�u�H;�tI�^PH+�L��H���6H�3I�FPL�E�H�F�H�M��U�L��H��I���$�H�U�H��rH��H�M��/
�L�E�I��I����#Aƅ�L�m�I�VPI;VXt
L�*I�FP�L�E�I�NH��H�U�H��rH��H�M����H���H���H+�H��H��thH�H���H�}�H���H�U�踠��H��I��H���t
L���(��y ��2�H�M�H3��SIL�\$pI�[@I�sHI��A_A^A]_]��C��H�\$H�t$UWATAVAWH��H��pH���AH3�H�E�H��L��H�U�E3�D�e�L�bH�BD�"L�
�eE��A�T$"H������E�I�G`H�8H;���H�_H�?A�H��eH���,�L��H�H�H�@��H��H�xrH�L�@I���w,�A�H��eH���b,�H��H���.��H�U�H��3s�L�E�I�D8c��H�S L�e�L�e�H�M��4'�H�U�H�}�HCU�L�E�H���	,�A�H�t�H����+�H��H���-���H�U�H��rH��H�M���
�H�CD8`tH�C�
H;Xu
H��H�@D8`t�H���H��H�D8auH��H�H��D8`t�D8c�L���L�E�M�@H�U�H�M����@H�M��
�A�H�!�H���M+�H��H����,��I;`�y���H��H�M�H3��)GL�\$pI�[0I�s@I��A_A^A\_]�����H�\$H�T$WH��`H��H���L��H�T$ �zs�H�|$0�uH�W H���r�uH�G@H�\$pH��`_�H�
5~�`%����H�\$H�t$ UWAUAVAWH�l$�H��H�_�AH3�H�E'H��L��H�U�L�:H���M�GH�U�H����r�H�XH;t^H�K I�W�{�tML�s@H�^H����������C���H�H��H��`����S��sH�H�A�^W�EI�O�E�H�VH��t�BH�VH�H�E�H�U�H�L�M�M��H�UH�@��H�H��W��E�H�M��$�H�UH��t�BH�UH�EH�E�H�U�L�E�H��H�������H�M�H��t:����A�u/H�]�H�H��H�������C�uH�M�H�H�@�uH�U�H��rH��H�M��/�L�uH�]H��t6����C�u+H�H��H��8����C�uH�H��H�@��H�^H��t5����C�u*H�H��H�������S�uH�H�BH���I��H�M'H3��DL��$�I�[@I�sHI��A_A^A]_]����H�\$UVWATAUAVAWH�l$�H��H��AH3�H�EL��L��H�U�W�E�H�H�pH��t�FH�pL�hI��L�m�H�u�M�EL���H�U�I���p�H�XI;tH�K I�U�Ey�tL�{@���RW�EI�M�E�H��t�FH�}�H�}�H�u�H�L�M�M��H�UH�@���I���$��(�� H�M�� ��$��(I�UW��E�H�M��O"�H�UH��t�BH�UH�EH�E�H�U�L�E�H��I��藵�����H�M�H��t:����A�u/H�]�H�H��H��8����C�uH�M�H�H�@�H�U�H��rH��H�M����L�}H�]H��t6����C�u+H�H��H�������C�uH�H��H�@���H��t6����F�u+H�H��H�������F�uH�H��H�@���I�^H��t5����C�u*H�H��H��e����S�uH�H��H�B�JI��H�MH3���AH��$H��A_A^A]A\_^]�H�"H�bL�AM��t	�A�@L�AH�AH�H��L�B���H�A`����H�\$UH�l$�H��H�[�AH3�H�EOH��H�M'�����L�E'H��H����H!H�M�軼���L�E�H��H����+!H�M��b����L�E�H��H����!�H�U�H��rH��H�M��+�fo�`�E��E�H�UH��rH��H�M��fo�`�E�EH�UGH��rH��H�M/���H�MOH3��@H��$�H�Ġ]�H�\$WH��0H�� H�T$ �0���H�\$(H�H�y@��H��t9����C��u,H�H��H�������S��uH�H��H�B��H�\$@@��H��0_����H�\$WH�� H���H��H9��tRH�H��H�@�KH���h�H;�t5Ƈ�H���H����H����tH��H;�u��Ƈ�H�\$0H�� _���H�\$H�t$WH�� H�H��H��H�@��H���N�H;���H�H��H�@��H���5��H;���H�H��Ƈ�H���H+��H�@H���H���l��H;�t$H�H��H�@�bH���F��H;�tH��tA��L���H���I+�H��3�H;�v.I�Ȁ��u
H��H;�r��Ƈ�H�\$0H�t$8H�� _��9���H�\$WH�� H���W�L��H�L$ ��2��H��H;�tH�PPA� H�KP�*H�WxH�KxH;�tH��PH��PA� �)������H��$@H�� _�H��H�XH�pH�x UATAUAVAWH�h�H��H���AH3�H�E/H��`H�M�H�H�0�e�W��ME3�L�}'L�mH;��L�uH�VH�U�H�6H�H���L���I;���H�H�L�H�U�観��H�3�H;�tH��H�H��H;�u�AH�M�;E�}H��I;�u��]H�H�L�E�M�H�U��^���H�3�H;�tH��H�H��H;�u�A�E�I�]�(H��H�H�K��K��H�S�H��?��H��I;�u�H��I;�u�W��M�3�H�M�H�MM��H�]M;�taI�$H���H�U�H���H;�t=H;�tH�H�H��H�]�L��H��H�M��\r�H�MH�]H�U�H��H;�u�H�M�I��M;�u�I��H�M�M;�t6L��H;�t%I�$H����H�I�$���I��L;�u�H�M�H��I;�u�M��L�mH��t%H�E�H+�H��H���4��W��E�H�eH�M�H�U�M;�tH�I�I��L�u�L��I��H�M�q�L�}'L�uL�mH�M�H;1�����M��tM+�I��I��I�����H�M/H3��;L��$�I�[8I�s@I�{HI��A_A^A]A\]���@SH��`H��A��H���*��H�HcQH��tH�DHH���у��L�Lu,�$H�H�BHH�؋B�у�J�����J#�u;H��`[úH�L$ ��;��L��H��tH�L$0�ھ�H��AH�L$0�Ąt	H��t��H��tH��tHDغH�L$ �;��L��H�L$0H��舾�H�ɇAH�L$0�����H�\$H�|$UH�l$�H��H�F�AH3�H�Ep��H��H�M�荺���L�E�H��H����1W�3�D$ D$0D$@H�D$P�H�L$ �	���H�T$ H�M��u���L�E�H��H�����H�M�����L�E�H��H�������u63�D�BhH�M�)H�M�l����L�EH��H�����H�M����H�L$X�X����L�D$XH��H����s�H�T$xH��r
H��H�L$`��fo6Y�D$p�D$`H�U�H��rH��H�M��e��fo
Y�E��E�H�U�H��rH��H�M��>��fo�X�E��E�H�T$HH�L$H����H�T$8H�L$8�����H�U�H��rH��H�M���H�MpH3���8L��$�I�[I�{ I��]����H��H�XH�pH�x UATAUAVAWH�����H��H�_�AH3�H��D��H��H��h����L��hH��H����@H��`�T����L��`H��H����H��8�����L��8H��H����H������D��L�v`I�I;�teH�SH�
H�AH��3H��H�H�AHH�� ��u/H�KH�H�@�H���'%�H;�tA�H�T$@H�K��cH�H��I;�u�H�T$ H�N �l��H�H�yH�\$(H��t9����C��u,H�H��H�������C��uH�H��H�@��3�H����H���3����L��H��H����W�3�������H���A��H����X���H���H���萯���L���H��H����H���H�������L���H��H����sH��p至���L��pH��H����PH��H�ܲ���L��HH��H����-H�� �����L�� H��H����
H����f����L���H��H������H��H��rH��H����fo�U����H��@H��rH��H��(���fotU��8��(H��hH��rH��H��P��foBU��`��PH���H��rH��H��x�h��foU�����xH���H��rH��H����6��fo�T������H���H��rH��H������fo�T������H���H������H���H�������H��8H��rH��H�� ��H�������L��H��H����TH��������L���H��H����1A��H���蚷���L���H��H����H�������L���H��H�����E3�E��uC3�E�D$hH����#H����}����L���H��H�����H������H�T$0H�N 苐�H�H�yH�\$8H��t=A��A����CA�u,H�H��H���A����CA�uH�H��H�@���H��t@H��@舴���L��@H��H�����H��`H��rH��H��H�0��H����\����L���H��H�����H�N`����H���H��rH��H������fo�R���D���H���H��rH��H�����fo\R���D���H��H��rH��H�����fo)R��D���H��H��rH��H����N��fo�Q��D���H��0H��rH��H�����fo�Q��(D��H��XH��rH��H��@����fo�Q��PD��@H���H��rH��H��h���fo]Q��xD��hH���H��rH��H��p���H��H3��S1L��$I�[8I�s@I�{HI��A_A^A]A\]���@SH�� H�AH�ـ��t�E��H���H�����H�� [����H�\$H�l$H�t$ WH��`H���AH3�H�D$XH�ZH��3�H��xH�KHW��D$ H��t�AH�KHH�C@H�T$ H�L$(H��H�D$ ���H�C@8htH�C�
H;Xu
H��H�@@8ht�H���H�H��@8iuH�H��H��@8ht�@8kt�H���u��H���H��H�{@H�|$PH����H��H�����H���H+��H�����uH�N8H�L�D$P�B<��H�C@8htH�C�
H;Xu
H��H�@@8ht�H���H�H��@8iuH�H��H��@8ht�@8k�o���H�L$XH3��/L�\$`I�[I�k I�s(I��_�A��H��KH�L$0��H��zAH�L$0�����H�\$H�T$UVWATAUAVAWH�l$�H���H��L��H�H�E3�D8c��H�K H�H�@�]�H���y�H;��L�s I�I��H�@�8�H���T�H;���I�vH��t�FI�vI�FH�E�H�u�H��(I�I��H�@��H��L��H�M��8���W��D$ H�H�L$ H�HH�L$(L� L�`H�T$ I�����H�}�A��H��t:A����GA�u-H�H��H����A����GA�uH�H��H�@�n��H��tlA����FA�u_H�H��H��L�A����FA�uCH�H��H�@�/��1W��E�H�K(H��t�AH�K(H�C H�E�H�M�H�U�I���L�H�CD8`tH�C�
H;Xu
H��H�@D8`t�H���H��H�D8auH��H�H��D8`t�D8c�A���H�EoI���H�?D8g��W�E�H�wHH��t�FH�wHL�w@L�u�H�u�M����H�H�D8c��H�S H���L�rM��t	�A�FL�rH�RH��H�O �Jb�D��M��t;���A�N��u-I�I��H������A�F��uI�I��H�@��E����H�CE3�D8`tH�C�
H;Xu
H��H�@D8`t�H���H��H�D8auH��H�H��D8`t�D8c�4���L�u�I��I���3���I���I+��H��sL�uwI�M8L�EwH��W8���E3�H��t=A��A����FA�u,H�H��H��.�A����FA�uH�H��H�@��H�GD8`t6H�G�%L�C L�u�I��I�������j���H;xu
H��H�@D8`t�H���H��H�D8auH��H�H��D8`t�D8gu	H�Eo����H��$H���A_A^A]A\_^]�A��H�IGH�M��d��H�qvAH�M��x�H�_H�M��;�H��vAH�M��W�A��H�GH�M����H�+vAH�M��2��H�\$H�l$H�t$ WAVAWH��0H���H��H��qH�CH���L����	I9.t	I��L;�u�L;�tI�F�H�H;�tI�I��H��H;�u�L�{L;�t I���I��H+�L���J�6I���H�H;�u�H���H���H;�t)H�H�T$ H���H�l$ �;���H��H;�u�H���H���H���H�AH� H�	H��tH������H��H��u�H���H�\$PH�t$hH�H���H�@H���H�l$`H��0A_A^_���H��H�XH�p WH��0H��L�@�H���I��H�P�薀��H���H����	H9t	H��H;�u�H;�tCH�G�H�H;�tH�H��H��H;�u�H;�t H���H��H+�L���H�;H���H�\$@H�t$XH��0_�H�\$H�t$ WH��0H���H��H����H���H9�������t
������H���H9��uH�O8H�\$ H�T$ ���H�w`H�H��	H9Xt
H�H;�u��L��H�T$ H���d���H��H����H�H��H�@���H���L��H��+t�H�H��H�@�c�H��H����X���2�H�\$PH�t$XH��0_���H�\$H�l$H�t$ WATAUAVAWH��PL�2H�L$8I�6I;��~H�i`L���H�l$ H���L�|$(H�D$0L�fI�$H���H���H;�uH��8I���~���H�I��H����~��H��H;�u�M�$I���H�H;���H�CH���H���H;�tBI�$H9Et	H��H;�u�H;�t*H�EH;�t!I�$L�L;�tL�EH��I�$H��H;�u�L�kH;�t M���H��L+�M���yI�/I���H�H;��r���M�$H�l$ L�|$(H�T$@H��諜��H��H��@���I�$H�H�@���I�I��L���ur�I�$H�H�@���H�L$0H����H�6H�L$8I;������L�\$PI�[8I�k@I�sHI��A_A^A]A\_�H��H�XH�pH�xUAVAWH�h�H��I��H��L���H�U�I���|R�H�P�zuH�� H���Q��c����5W�E�H�H��H�@���L��L��H�U�I���(R�H�}�uH�W I���Q�tI�>H�OHH��t�AH�OHH�G@H�E�H�M�L�M�L��H�U�I��迖��H�H��H�@���H��I�����H�H��H�@�l�H��H�H�AHH��Y�H�ք�u
H�KH���H��0�
���H�M�H��t=������A�u/H�]�H�H��H�������C�uH�M�H�H�@���L��$�I�[ I�s(I�{0I��A_A^]�H��BH�M���H�)pAH�M����L��H��BH�M��t��L�tBH��H�M���H��H�M���H��pAH�M�����H�\$ UVWATAUAVAWH��$ ���H���H�ҲAH3�H���M��H��L��I���I9���<E3�M9���,E8����H�H��H�@���L���L���H��H�����A�H�T$0H����OH��I�N8�P���F0A�F0�#H���M��H�I������L��H�I�����H���H9��u�L���I�$I;�tLM���L�CI�UI���Y/��H�CH���H����	H91tH��H;�u��L�1H�H��I;�u�E3�H���H�AL�(H�	H��tH������H��H��u�H���H�H���H�@L���E��D8��tdA�D���I�WPI�H�	H97t	H��H;�u�H;�t=H�G�H�H;�tH�H��H��H;�u�H;�tI�_PH+�L��H����
H�;I�GPI�_8I���I9��uL�t$ L�D$ H�H���D.��H���H9��uH�t$ H�T$ H���y�����A������A���I�`L��H�T$ H��踗��M��L�H�T$(H�����H�L��H�T$(H��蒗��H9tL��H�T$(H���}���H�H������I���H������L���I��I������E��t0AƆ�L�t$ I�OHH�QH;Qt
L�2H�A�L�D$ ��V�H���H��rH��H������H���H3��� H��$8H���A_A^A]A\_^]�H��?H������H�\lAH�����H�`?H�����H�5lAH������H�\$H�l$H�t$WH�� H���I��H��H�8H;�tH�OL��H�?H��H����NH;�u�H�\$0H�l$8H�t$@H�� _�@USVWAWH�l$�H��H�ҮAH3�H�E'I��H��H��I�I��H��+�H�eA�L�}�E�;
sE�G�H�`8H�M��H�e�H�e�H�VH�M���H�L$H�kx�L��RH�T$HH�M�����L�M�L���T$ H�L$(���H�T$(H�|$@HCT$(L�D$8H�M�?�H�T$@H��rH��H�L$(�F��H�U�H��rH��H�M��/��H�e�L�}��E�H�U�H��r
H��H�L$H���H�e�L�}��D$HH�U�H��rH��H�M�����H�e�H�UH�}HCUL�M�A�H���)���H�M�H��tH�H�U�H;���H�@ ���H�W`H�H;�tH�HƁ�H�H��H;�u�H�UH��rH��H�M�j��H�M'H3��>H��A__^[]�@SH��PH���AH3�H�D$HH��H�L$ ����L�D$ H��H�������H�T$@H��r
H��H�L$(���H�L$HH3���H��P[��H�\$WH��P�H�ً��� �D�H�T$ �AH�� ���H��zu
H�C�xt@2�H�\$(H��t9����C��u,H�H��H��������C��uH�H��H�@���@��uH�\$`H��P_�H��9H�L$0�W�H��hAH�L$0�r���H�\$H�l$VWATAVAWH��@L�y`I�H�H;���H�kH�H�EH�����H���H�8L�7L;�tqI�7H�T$(L�GI��H�6蹒��E3��H�6I��H;0u�I�7H�T$0M�FI��H�6蒒��3��H�6H��H;0u��BI��M�6A�L$;�H�EHM�H��L;��u�L�GH�T$ I���N���H;t8H��H�UL�vI�H�6�S���I�H�M�G���L�GH�T$ I������H;0u�I;�
���L�\$@I�[8I�k@I��A_A^A\_^����H��H�XH�hH�pH�x AVH��@I�H��I��I��H��H�@���L��H�T$ H���L���#H�H�l$0�}�%H�U I���G��H�H��H�@���L��H�T$ H���L����G�H�\$0�{��H�S I���VG���H�E@H�K@H�C@H�EHH�M@H�KHH�CHH�MHH��H�H�@�B�H��H�H�AHH��/���u
H�^H���H��0H�H��H�@�
�H��H�H�AHH������u
H�GH���H��0H�l$XH�t$`XH�|$hKH[H�\$PH��@A^�H�
�Q����H�\$VWATAVAWH��pD��H��H�L$(3ۋ��\$ H��H�L$8���8\$@�bH�HcHH�T1(H�B�D��H��LO��D1%�D�s��@tn��� M��~aH�HcHD�L1XH�L1HH�A@E��H9tH�AX9~�H�I@H�H�BH�D�
�H�A��H�@���D��I��A��A���E��|$ �H�HcHH�L1HH�A@E��H9tH�AX9~�H�I@H�H�BH�D�"�H�A��H�@��D��A���AD��|$ ��ubM��~]H�HcHD�L1XH�L1HH�A@E��H9tH�AX9~�H�I@H�H�BH�D�
�H�A��H�@��D��I��A��A���E���3ۋ|$ H�t$(A�H�HcHH�\1(H�Lc@L�A�H�I�@HH����A#�у�A�PA�@#�uP�_���uH�L$8�e��H�T$8H�HcHH�LHH��tH�H�B����H��H��$�H��pA_A^A\_^�A��t	H��Q��H��QH��QHDغH�L$(����L��H��H�L$H�Û�H�eAH�L$H�*���H�\$H�t$WH��PH��H�9H�q�H�H�H�@�����tiH��H;�u�H�d$@H�D$H�D$0H�T$0H�L$ ��H�T$HH��r
H��H�L$0�s��H�D$ H�H�D$(H�CH��H�\$`H�t$hH��P_�H�H�#H�cH�GH��t�@H�H�G���H�\$H�t$ WH��0H��H��H�L$ �8�H��H�D$ H��t>W���C�CH���H�H�ѐH�CH�KH�aH�aH�����3�W�H�KH�H�_H��H�\$PH�t$XH��0_��������H�H��L�A��@SH��0L�B3�H�H��D�L$ H�H�AH�A�
��H��H��0[�H�\$UVWATAUH��$p���H��H��AH3�H���I��H��H���E3�D�d$$E�l$L�jD�"E�D$L�BH�7>H���D�gA�t$�t$$D��H��H���BH���H���9����H���H�����H���H���HC��L���H���c��H��H��H���
D9!��H��H;�u�H��xH���H���	D9!udH��H;�u�A�H�~=H�����H���H��rH��H����	��H��H���H3���H��$�H�ĐA]A\_^]�H�EH�E�H�E�H�EH�E�H�u�H�EH�E�H�u�H�EH�E�H�E�H�EH�E�H�u���)E��)MH���H�M����H��H���H�E0H�E8H���H�E@�N�H�MHH���H�EPH�MXH���H�E`H�EhH���H�EpH�ux(�P)��(�`)��H�U�H�M0�k����L��H�L<H�L$h��V�L�2<H��H�L$H���L��L���T$ H�L$(�~��D$$H�T$(H�|$@HCT$(L�D$8H���j��H�T$@H��rH��H�L$(�q��H�T$`H��r
H��H�L$H�X��L�d$XL�l$`D�d$HH�U�H��r
H��H�L$h�2��L�d$xL�m�D�d$hH�U�H��rH��H�M����L�e�L�m�D�e�H���H������H��H�����������������������@SVWH�� H�BI��H��I;�r\I+�I;�HB�H�zrH�M�H;yw%H�yH��rH�1H�yL��H��I�����7�E3�H���[��H��H��H�� _^[��P������@SH��pH��H�L$@H��H����A�I+���H����H��9��H��A��H��t{H�L$H�\k�L�D$HH�_7H�L$ ��T�L��WH��H�����H�T$8H��r
H��H�L$ ���H�d$0H�D$8�D$ H�T$`H��rqH��H�L$H����bH���H�A�L�A���C�AH����ݸu8�H�����H����ĸi8H�A�H�Af��AH��H��p[�H��H�XH�hH�pH�x AVH��@M��H��H���5��H�8H��I�N8H��tH�H�SH�@����trH�sH�H��H�@���L��H�H�A@L��H�T$ I�����H��H�xrH�L�@H����M���H�T$8H��r
H��H�L$ �n��H���P��H���P��H�H;��d���H��H�\$PH�l$XH�t$`H�|$hH��@A^��H�\$ UVWATAUAVAWH��$ ���H���H�žAH3�H���M��L�D$@H��H�U�H��H�L$8E3�E��D�d$ H�G8�J��H�����H�0H�t$HH�H;��oI�N8H��tH�H�SH�@������<H�K�/H�HH�P�D�wL�d$xH�E�D�d$hH��H�L$h����H�T$hH�����H�U�H��r
H��H�L$h�2��L�d$xH�E�D�d$hH�KD8��t(���H��P�g�A��L��PA��H�K�#H�E�H�E��E�noneD�e�L�m�A��D�|$ A�H�����:H�H����Q����L��H�j7H�Mx�Q�H�D$PH�{A�H��0H���:�PH�M��L��A��	D�|$ D8g0uA�
H�z6H�M��!��M��H�7H�MX�Q�H�E�H�SH�M8�=L��L�sH�M��I��H�8H�?M��H��8H�����H�H�d$(H;�tH�t$(H��H�H��H;�u�H�t$(H�t$HH��6H�L$8�G��I��I�|$rI�$M�D$H����J��H��H�SH�
H�AH����L��H�|6H���G��I��I�~rI�M�FH���J��H�L6H���G��H���H���HC��L���H���fJ��H��H�E�H��H�xrH�L�@�IJ��H��H�D$PH��H�xrH�L�@�+J��H�|$(H��5H���G��H�ȍW�R��H��H�j5�F��I��I�}rI�UM�EH����I��H�KL�(5H��DE3�D8��IE�H���F���H�UPE�l$I;�rH��H�M8�`��L�eH�H�}PD�e8H�UpI;�rH��H�MX�:��L�ehH�}pD�eXA��	D�|$(D�|$ H�UI;�rH��H�M��
��L�eH�}D�e�H���I;�rH��H�Mx����L���H���D�exH���I;�rH��H������L���H���D���A��t/A��D�|$(D�|$ H�U�I;�rH��H�M��{��L�e�H�}�D�e�A��t)A��D�|$(D�|$ H��hI;�rH��H��P�@��H�Q4H���������ZH�N4H����z������?L�CE8���.I�@ L�pM��t�A�FL�pL�CD�|$ H�H��@L��HH��u$H�}�H�E��E�noneD�e�H�}�A���H���H�L$0�;�H��A��D�|$ H�SH�J(H��t
�AH�J(D�|$ H�R H�T$XH�L$`E�D�|$ L�e�L�e�H��PH�M��.��A��
A�� D�|$ L��`H�U�H����I��A��@D�|$ L��L���T$0H�M�t�A��H�}A��D�|$ D�|$(H�-3H�L$8�D��H��L9orH�L�GH���F���E��y7A��D�|$(D�|$ H�U0I;�rH��H�M���L�e(�H�}0D�e��A��@t>A��D�|$(D�|$ H���I;�rH��H����J��L���H���D���A�� t/A���D�|$(D�|$ H�U�I;�rH��H�M����L�e�H�}�D�e�E��tfA���D�|$(D�|$ H�L$`H��tNA��A����AA�u3H�|$`H�H��H����A����GA�uH�L$`H�H�@���D�|$ D�|$(A��tBA��D�|$(D�|$ H���I;�rH��H����f��L���HDž�D���A��t3A��D�|$(D�|$ H�U�I;�rH��H�M��$��L�e�H�E�D�e�M��tD�����A�F�u+I�I��H��!����A�F�uI�I��H�@��D�|$ D�|$(H�,1L�t$8I���A��H�KH�H�@���H������H;�uH�1I����A��H�KH�H�@���H������H;�t
H�CD8��tH��0I���A��H�KH�H�@�o�H��H�H�AHH��\���tH��0I���YA��H�CD8��tpH�
�qDH+
vqDH�����3�H��H��H��H=YqDH��0I���A��H��L9orH�L�GH���C��H��H�P0��@��H�\0I����@��H�]0I����@��H�CH���H�9H;���H��L�|$@I�O8H��tH�H�WH�@������YA�H�WH���H���H;�tL�CL9tH��H;�u�E��H��p�1L��H�SH����L��H�/H�L$8�*@��I��I�|$rI�$M�D$H���C��H��/H���?��I��I�~rI�M�FH����B���H��H��rH��H������E3�L��HDžD���H���H��rH��H��p�Q��H�CD8��t)H�GD8��tH�/H�/E��HD�L�t$8�L�t$8E��uH�/I���B?��H�+/I���3?��H�H��H;��v���H�CH�t$HD�|$(H���L���I;��FH�t$8L�|$@I�O8H��tH�H�H�@������H�L���I�I;�tL�KL9H��H�H��I;�u�H����}
L��H�SH���j
L��H��.H���x>��I��I�|$rI�$M�D$H���\A��H��-H���M>��I��I�~rI�M�FH���4A��H��H�".�%>���H��0H��rH��H������E3�L��(HDž0D��H���H��rH��H������H��I;�����H�t$HD�|$(H���H��rH��H����]��L�t$@H�H;����H�|$8H��YH���x=��H�����H���H3��H��$8H���A_A^A]A\_^]���H�\$H�t$WH�� H���H��H��-H�{(H�SrH�SL�C H���@��H��H�mY�<��H�H;�uβ
H���>�H��H�\$0H�t$8H�� _������H��H�XH�hH�pH�x AVH�� H��H�����H�8H��\H�sH��H�H�@���H��H��L���b��H��H��,�s<��I�~I��rI�M�FH���Z?��H��H��,�K<��H�H;�u��
H����H��H�\$0H�l$8H�t$@H�|$HH�� A^�W�����H�\$WH��pH��H�L$@3����s�MD�OA;��P�)�ʅ����������������tv��tD��t6���ZH��&H�C@�;A�L�CH�����@�{�H��&��H�C@�;A�L�CH��&H����@�{�jH�bfyx_f16L�KH�CH�@�{�HH�CH�C�fyxb@�{�)H�CH�C�bfyx��H�CH�C�byxf��H�CH�C�yxfb�H�A@�9A�L�AH�	&�����ʃ�	��������th��tT��tF��t0��t���L�
g&��L�
>&��L�

&���L�
�%��H�bf8_xy16����H�C@�;A�
L�CH��%H���?�@�{
�L�
o%��H�C@�;H�CA�H�5%H����@�{��H�yH�A@�9L�
�%��T�������ʃ�������������ts��t]��t+��t����L�
\&���L�
0&���H�&H�C@�;A�
L�CH���J�@�{
�L�
�%�%�L�
�%�}���L�
]%�&�L�
$%��L�
�$�H�yH�A@�9L�
�%�"�a�ʃ������W���&�������������������H�L$H譥���L�D$HH�`#H�L$ ��@�L��CH��H�����H�T$8H��r
H��H�L$ ��H�|$0H�D$8@�|$ H�T$`H���H��H�L$H����H��%���H�C@�;A�L�CH��]H�����@�{�L�
>%�=H�C@�;A�L�CH�%H����@�{�H��$�YL�
�$�H�{H�C@�;H��D�������RH�C@�;A�L�CH��$H���R�@�{�(H�]$H�C@�;A�	L�CH���(�@�{	H��H��$�H��p_����H�\$UVWAVAWH��H��`H��AH3�H�E�H��H��H�M�H�U�H�U�H���]��H�H��E3�L�}�L�}�H�M����H�}�H��t=A��A����GA�u,H�H��H��/�A����GA�uH�H��H�@��H�M�H��uWL�~�yH�~D�>H�U�H��rH��H�M�赾�L�}�H�}�D�}�H�H����L��H�S�N��H�SH+H��H�E�H�}�HCE؀|�/t+H�E�H�}�HCE؀|�\tA�H�s#H�M��"��E�M�NL�}�H�}�D�}�H�;H��t=L�sI;�t3�H���T��H��I;�u�H�;H�SH+�H��H������L�;L�{L�{H��H�M�H3��H��$�H��`A_A^_^]���H�\$VWAVH��0H�zH��H��H�L$ L��rL�2H�zvL�BI�κ<��H��H��tI+��H��H�L��rL�7H�vL�G�>I���u�H��tI+��H��H���t.H���t(H�cL�FH+�H�CH���H��L�H��5��H�cH�C�H��H�\$`H��0A^_^���@SH��@H��H�L$ �-S�L�D$ H��!H���<�H�T$8H��r
H��H�L$ 蟼�H��H��@[���H�\$WH��0H��H�L$ �Q�H�H� H�H�PH�`H�\$(H�WH��t9����C��u,H�H��H��p�����C��uH�H��H�@�S�H�\$@H��H��0_��H�\$H�t$UWATAVAWH�l$�H��H���AH3�H�E'I��L�ENj�L��L�yPL�9H�AL�y�I�L$I�D$TI�D$ I�L$(I�D$XI�D$0I�D$8I�D$dI�D$@I�D$HfAn�fp�AAG������H�P 3�H�u�H�u�H�M��I�������H�P@H�uH�uH�M�,��H�GH+H��H9E�����H�u�L�uH9]vlH�EI��HCE�<?tLH�}�H��HC}�H�}�v�L�E�H����H��H��tH+��H��H�����H�E�H���A�H��I��H;]r�I��rI�VH�M藺�H��r
H�VH�M�胺�I��H�M'H3��T�L��$�I�[8I�s@I��A_A^A\_]�H��!H�M��\��H��BAH�M��x��H�"H�M���H��CAH�M��W����@USVWAVH��$P���H��H���AH3�H���L��H��I��I��I������t
f��9H�I9�)M�FL;F�I�NH�VI���0����H����I��H����H;���A�F��u	9F���N��u;�����u;�����u;�����"t��"u;�����u;�����u;��~H�U I���,H�U�H��� 3ɍYI�F9uH�E �$H��H�� r�3�H�F9uH�E��$H��H�� r�fo�*H�D$pH�D$ H�T$ H�D$pH�D$(H�D$0W�H�D$tH�\$8H�D$@I��H�D$xH�\$HH�D$PH�E�E��e�H�D$`H�D$XH�D$h�L$p��fo*H�T$ L��H�D$(H�D$pH�\$8H�D$ W�H�D$pH�\$HH�D$0H��H�D$tH�D$XH�D$@H�D$xH�D$PH�E�E��e�H�D$`H�D$h�L$p�TL�E(H��L;E�u!H�U�H�M I���6���uL;�uf��f�'H��H���H3��`�H�İA^_^[]���H��H�XH�pH�x UATAUAVAWH�����H���H���AH3�H���H��H��H�U@�N��A�H�E��H�E�L�eH�E$)E�PH�EE�H�A�P�)M �`H�E�L�E�H�D$@�J�H�E�L�D$HH�D$`L�UH�E�L�e�H�E�L�}H�FL�m�L�E�L�M�L�U�L�M�L�}�H�U�H�ML�l$PL�L$XL�L$hL�D$pH�T$xH�M�)E�)M�D�0E��yA���A;$�SH�F �8��y
���A;�<H�N0D�E��yA���A;�"D�QE��yA���A;G�
�Q��y���A;G��H�C �AMD;���H�C0�H�E�;���H�K@�AD;����AA@D;����AA@;���L�EpA�G�Lc�Ic@L��A�GA�Hc�Ic@H��IcL�A�A�Hc�A�$H��A�H�E�L�Lc��H�MPH�HcH�M`L��HcH��M�I�H���H3���L��$�I�[8I�s@I�{HI��A_A^A]A\]�H�(H�L$ ���H�=AH�L$ ���H�\$H�|$ UH�l$�H���H�v�AH3�H�EGH��H��W�3�EH�E'H�U��C�H��D�CH�U�˱����C��u!H�UHcJ�Bt
H����H+�H�� �J�C��u<H�UHcJ�Bt
H����H+�H���JH�UHcJ�Bt
H����H+�H���JW�3�H�E?�E�H�UH+UH���E/H!E?L�E�H�M/�&��L�E7H�MH��H�UH��H+�H��I��I;���H;�t&H�B��A�P�H;�tI���H����A�M�@�H;�u�A�L�E/�SH���l����H�M/H��tH�U?H+�H���f��W��E/H�e?H�MH��tH�U'H+�H���@��H��H�MGH3���L��$�I�[ I�{(I��]�蓡���H�\$ UVWAVAWH��0H��~AH3�H��$ H��A��L��H��$�H��A��H��$�H��$�D�0H��$�D��(H��$��8�X�`��D�ω\$ D��H�L$0A��H������D��$�L��H��$�I��H�t$ ���I��H��$ H3��3�H��$xH��0A_A^_^]�@USVWAUAVAWH��$��H�� H��}AH3�H��I��L��H��I��H�M����L��H��H�������L��L���I;���I���I���H+�H��I;��gJ�<�H�H��H�@�ԺH������H;��H��0H�D$(H��t�@H�T$(H�L$8��[�H��H�D$0H��t�@H�T$0H�L$H�[�H�L$8H����?���H#��
�H��H��H�L$8H����?���H#��
�H��I��H+�H��HL$PH�T$@L�����H�d$PH�L$HH�H�@�	�H�L$HH��t#����A��uH��tH��H��ܹH�d$HH�d$@H�L$8H�H�@���H�L$8H��t#����A��uH��tH��H����H�d$8I��M;��y���L+��H�VI���I��u�I���I���H+�H��H;���H�<�H�H��H�@�6�H���R��H;�ubE3�H��H���c���H��H��t"����A��uH��tH�A�WH���H��H3���H�� A_A^A]_^[]�H�p H�L$p���H�8AH�L$p���H�M H�L$X�w��H��7AH�L$X������������H��H�XH�pWH��0I��H��H�H�H�`��@��H��H�D$(H�H H�`0H�`8H������H�3H�sH�sf�cH��H�\$@H�t$HH��0_���H�\$WH�� H��E��H�H��L�H�R�rL�E3�I�@H�H�CH�GL�BE8Hu;I�D8IuH�L��H��D8Ht�L�H�H�BH�H�H��H�ID8It�H�B�
H�H�H�@H�\$0H�� _����H�\$H�L$VWATAVAWH�� A��M��L��L��H�1�zuQL�B H������H��L�`A�G�G�~HE�H�t$XD��L��I�I�����H�D��L��I�WI�����H�GH��H�\$`H�� A_A^A\_^����H��H�XH�hH�pWH��pH��)p�H�P�I��H�����@0�D$PH�|$P�uH�W H���m�uH�;�C�H��������H9F��L�H�L$ L��H���[���H�hH�`H�|$(H��t;H�W8H��rH�O H�����H�g0H�G8�G H�L$(H��t
�@�ݬ�L��H�T$@H���t$@�ǝ�H��C(t$`L�\$pI�kH��I�[I�s I��_����H��H�XH�pWH��pI��)p�M��H��L��H�P��g]��0�@�D$P�|$Pt$@t
H�D$@�H��������H9G��L�H�L$ L��H���X���H�pH�`H�\$(H��t;H�S8H��rH�K H����H�c0H�C8�C H�L$(H��t
�@�ګ�L��H�T$@H���t$@�Ĝ�(t$`L�\$pI�[I�sI��_��������H�\$UVWAVAWH��$@���H��H�:wAH3�H���L��H��H�M�H�U�H��H�E3�L�yL�yH�BA�wH��t�pH�H�AH�BH�AL�AL�y L�y(D�y0H�E�H�D$0H�D$8H�E�H�D$@H�t$HH�E�H�D$PH�t$XH�E�H�D$`H�D$hH�E�H�D$p�H�\$xW�E�E�H�M��~��H�O8H�D$ L�L$0D�ú����L���L���L���L���L����K��H�H�@H���H���H�]�L�;L�{�@���H�H�@H�@f�@H�D���HLJ�I�H��H��L�yL�y���L�� D��(I�H��tOH��8H���H;�tH�NPH�SPA� �d�H�SxH�NxH;�tH��PH��PA� �D�������I�^H��t8������C�u*H�H��H��������S�uH�H��H�B���H��H���H3��5�H��$H��A_A^_^]���@SH�� H�YH��tL�H�H��M�@����H��@���H�� [�@SH��@H��tAH3�H�D$8H��H�T$0H���L��H�T$ �'����H�SH��rH��H���H�cH�C�H�L$8H3���H��@[���H�\$H�l$ VWAVH��0H�;tAH3�H�D$(H��H�T$ H�jH���L�6H�:�L��I��H�����H�� H;�u�H�3�H��t*L��H�S�s��H�SH+H���H�� ��H�;H�{H�{H�L$(H3����H�\$`H�l$hH��0A^_^��H�\$WH�� H�H��H��H�@��H��H��L�I�@8L���H�\$0H��H�� _����H�\$UVWATAUAVAWH��$��H�� H�BsAH3�H��H��L��H�U 3��|$P3�H�D�wHA�����H��H�D$HL�%�:H��t.E��3�H�����L�#H�KH�L$x!|$xL�D$ H�T$x賙���H��H��D$PH�E�H�D$HI��H�L$X�Y=��\$PL�D$XH�H�M���&�L��D�cL�d$@H�\$8�sf�D$(�j�D$*@�|$+H�T$(H��r����H�T$pH��r
H��H�L$X艦�H�D$(H�D$HI�I��H�@���H�|$8H�|$@H��H�L$(�H��L�d$pH�D$h�idf�D$X@�|$ZL�D$(H�T$XH����H�E�H�D$HI����H�HH��kD��H�|$8L�d$@@�|$(H��H�L$(�{��H�T$(H�M��$��L�d$pH�D$h�D$Xtype@�|$\L��H�T$XH�耋���H�T$@H��r
H��H�L$(藥�H�D$XH�D$HI�I��H�@���H��H�H�@H���H�|$hL�d$p@�|$XL�-WH�HH�ӄ�IE�H�L$X�͡��D$PL�d$@A�L�t$8H�internalH�D$(@�|$0L�D$XH�T$(H��ϊ��H�D$XH�D$HH�|$hL�d$p@�|$XH��A80IE�H�L$X�a��D�d$PH�|$8L�d$@@�|$(L�
n
D��A�VH�L$(蕨�L�D$XH�T$(H��b���3�E�F@H�Mp�#�H�8H�Ep�d$xL�D$ H�T$xH�Mx���H�E�H�D$HI�W8H�M����L��L�d$@H�D$8	�
�D$(���D$0@�|$1H�T$(H�Mp�݉��H�E�H�D$HA�W@H�M��#��L��L�d$@E�f�L�d$8���D$(��f�D$,@�|$.H�T$(H�Mp草��H�E�H�D$HI�OHH�U��#a���H�D$pH�D$h�D$Xsize@�|$\L��H�T$XH�Mp�F���3�E�F@H�����H��6H����d$xL�D$ H�T$xH����ϕ���H�E�H�D$HH�E�H�E�L�u�H�E�H�E�A�N�H�M�H�E�H�E�H�M�H�E�H�E�H�E�H�EH�E�H�E�A�)E�A� )MH�U�H�M��@`��L��H�D$@A�~H�|$8���D$(��f�D$0�D$2H�T$(H����O���H�E�H�D$HH�E�H�E�L�u�H�E�H�E��O�H�M�H�E�H�E�H�M�H�E�H�E�H�E�H�EH�E�H�E�A��)E�A��)MH�U�H�M��_��L��H�D$@H�|$8��
�D$(��
f�D$03�@�|$2H�T$(H���藇��H�E�H�D$HH�O5H�E�L�D$ H���H�M��^���H�D$@H�D$8��
�D$(��
�D$0@�|$4L�E�H�T$(H�Mp訫��H�E�H�D$HH��4H�E�L�D$ H�UxH�M��~���H�D$@H�D$8
�3
�D$(�/
�D$0�)
�D$4@�|$5L�E�H�T$(H��7���H�D$XH�D$HH�|$hH�D$p@�|$XH��A8��IE�H�L$X�F���D$PH�D$@H�D$8��	�D$(��	�D$0@�|$4L�D$XH�T$(H��=���H�D$XH�D$HH�|$hH�D$p@�|$XH��A8��IE�H�L$X�Ȝ��D$P?H�D$@L�t$8H�constantH�D$(@�|$0L�D$XH�T$(H��̅��H�D$XH�D$HH�|$hE�t$	L�t$p@�|$XH��A8��IE�H�L$X�V���D$PL�t$@H�D$8���D$(���D$0@�|$4L�D$XH�T$(H��Q���H�D$XH�D$HH�|$hL�t$p@�|$XA8��IE�H��H�L$X���A��D�t$PH�D$@L�d$8�i�D$(�bf�D$,E3�D�l$.L�D$XH�T$(H��ׄ��W��M@A��H�EPI���I;����H�H��H�L$(�35�A��D�t$PH�UHH;UPt)D$(L$8J�D�l$(H�}HH�� H�}H�L�D$(H�M@�L�H�}HH�T$@H��rH��H�L$(�l��H�}HI;���w���H9}@��H�EP�H�}H�H�L$@H�D$8�D$(nullD�l$,H;�t8L�oL�oD$(L$8OL�l$8��H�L$@D�l$(H�}HH�� H�}H�L�D$(H��H�M@��H�}HH�T$@H��rH��H�L$(轝�H�}HH�D$(H�D$HW��D$(L�l$8L�e@H��������L;�tqH��I+�H��H;��=H��H��r
H���֜�L���H��t
H�������M��L�D$(L�D$0J�H�D$8H�D$(H�D$HL�L$(H��I���ʤ�H�D$0A�L�d$pH�D$h�I�D$X�E�D$`D�l$dL�D$(H�T$XH����W��M(I��H�M8I���H�H;���H�SH�H�L$X�3�A��	D�t$PH�U0H;U8t'D$XL$hJI��D�l$XH�}0H�� H�}0�L�D$XH�M(�"�H�}0H�T$pH��rH��H�L$X�B��H�}0I;���y���H9}(��H�M8�H�}0L�d$@H�D$8�D$(nullD�l$,H;�t9L�oL�oD$(L$8OL�l$8I��H�T$@D�l$(H�}0H�� H�}0�L�D$(H��H�M(�w�H�}0H�T$@H��rH��H�L$(藛�H�}0H�D$(H�D$HW��D$(L�l$8L�e(L;�t{H��I+�H��H��������H;��H��H��r
H��谚�L���H��t
H������M��L�D$(L�D$0I�H�D$8H�D$(H�D$xL�L$(H��I��褢�H�D$0L�l$h�H�|$pD�l$XH�4H�L$X�b��L�D$(H�T$XH����W��MXL�mhI�W L�l$8H�L$(H��ugH�|$@D�l$(H�����H�U`H;Uht1L�jL�jD$(L$8JL�l$8��H�T$@D�l$(H�E` �L�D$(H�MX��H�T$@�UL�l$@H��P���A��
D�t$PH�U`H;Uht D$(L$8JH��D�l$(H�E` �L�D$(H�MX��H�T$@H��r
H��H�L$(�љ�H�D$(H�D$HH�UXH�L$(���H��L�l$hH�|$pD�l$XH�H�L$X�&��L��H�T$XH������H�MXH��t-L�EXH�U`讙�H�UhH�MXH+�H����Z��W��EXL�mhH�M(H��t-L�E(H�U0�x��H�U8H�M(H+�H����$��W��E(L�m8H�M@H��t-L�E@H�UH�B��H�UPH�M@H+�H������W��E@L�mPH���H���H+�H���Ș�W�f��L���H����.����H���H���H+�H��菘�W�f��L���H������H��H��H3��?�H��$pH�� A_A^A]A\_^]�����y���H�\$WH��@H��H��H�T$(H�"H�bH�T$(H�T$0�@��H�H�@H�@f�@H�H���D�D$ H�����H��H�\$`H��@_����H�\$UH��$@���H��H�hcAH3�H���H��H��0��(��H�E�(���H�D$0H�E�H�D$@H�E�H�D$PH�E�H�D$`H�E�H�L$HH�L$XH��0H�D$pH�D$8H�D$hH�D$xE�M��ި�D��8L�L$0H��0H�M�H�D$ �e��H�U�H��蹥�H��H���H3���H��$�H��]���H�\$UVWH��0H�nbAH3�H��$ �y0A��H��H��tH�Q8�1H��$���H��$�H�L$ �?��H��D��H���H�W8H���%��H��H��$ H3��*�H��$`H��0_^]����@SH��@�y0H��tH�Q8H�����H��H��@[�H�y�H�L$ �o[�H��AH�L$ �.���H�\$H�t$WH�� H���@2�H����H��
�����uH��H;�u��@�H�\$0@��H�t$8H�� _��H�\$WH�� H���H��H�C�x0t
�@0H�K����H�H;�u�H�\$0H�� _�H�\$WH����H��H�T$ �L�H��D��H����H��$�H�Ġ_��H�\$WH�� H��H��H���H���H+�H��H;�sTH�\$0H��H�T$0H�����(��H���H�KH��輨��H���L���H��H�QL+��:�H����H�\$8H�� _����H��(H���L��L���3�L+�I��M��tL9tH��H��I;�r�H��(��H��(��@SVWH��0H��_AH3�H�D$(H��I��H���H��H���H+�H��H;���H��I;���H���H��	H9YtH�	H;�u�H���L��H;�t-H�QH�H�H�H�AH�B�I���赓�H���H��H�K蕧��H���H���L�D$ H�\$ H�4�H����H�L$(H3��P�H��0_^[�H�\$H�l$ VWAVH�� H���H��H��E��H���v���H���H;�tH�VPA� H�OP读H�VxH�OxH;�tH��PH��PA� 菻���H�S8H�͉�����@��@��t
E��tH���5���H��H�K8�M���H�l$X@���C0H�\$PH�� A^_^����H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@�{�H���_h��H;�u#L��H��H���H�\$PH�l$XH�t$`H��@_�H��H�L$ ���H��AH�L$ �9��H�\$H�t$ WATAUAVAWH��@L�D$0H��H��H�L$8L��L+)L�aL+!I��I��������M;��RI��H�IH+H��H��H��I��H+�H;�vL�D$ I����,H�
M��I;�LC�M;��M��I��L�|$ I��rI��輐�H��H�D$(�#M��tI����H��H�D$(�3�H�\$(L�|$ I���N�<+H�D$0�AH�NH�H��H;���H;�t�H�RH��H;�u�H�NI�GH;�tH+��8H��H;�u�H�>tH�VH+H���H�褐�H�I��L�L�fI�H�NI��L�\$@I�[@I�sHI��A_A^A]A\_��H�RH��H;�u���֮��萮�����@SH��@H���Zf��H9u	H��H��@[�H�Q)H�L$ �3��H��AH�L$ �N���H�\$WH��H��[AH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@���H�L$xH��tYH�H��H�@��H�H�L$xH��tH�H�T$@H;���H�@ ���H��H��$�H3��Y�H��$�H�Đ_�自�H��'H�L$(�e��H��AH�L$(耩����@SH��@H�BH9Hu;L��H�L$PH�T$ E3�����H�T$ H���o��H���H;��H��@[�H�j'H�L$ ���H�qAH�L$ �����@SH��H�BL��H9HuJH�T$@I���u����d$0H��HH�T$(�L$ �H�T$ H���n��H���H;��H��[�H��&H�L$ �o��H��AH�L$ 芨��H��H�XH�hH�p H�HWH�� I��H��H���@��H��H�D$0H��t,W���C�CH��H�H�KL��H���>����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H������H��H�D$0H��t)W���C�CH���H�H�KH��p�3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H������H��H�D$0H��t,W���C�CH���H�H�KL��H���^����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H���h���H���H�L�wI�I��H�@���H���yb��H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H��I�����C�uH�H��H�@�.��H��H�\$XH�t$`H�|$hH��@A^�H���H�L$ ���H�dAH�L$ ����L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S�����H�j�H�H�[H��t9����C��u,H�H��H��������C��uH�H��H�@�m�H��H�\$PH��0_����H�\$H�t$H�L$WH��@I��H��H��I���w���D��L��H��H���N����H�.�H�L�Nx3�I�I�AI�AH�NpL���H�������D$0����D$(����D$ ����{�H��H�\$XH�t$`H��@_����L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S����H�N�H�H�[H��t9����C��u,H�H��H��N�����C��uH�H��H�@�1�H��H�\$PH��0_����H�\$H�L$WH��@H��H���ƅ���H�f�H���_��H9��H�v�H������x�����|������������������������������H���H��������H���H������������������������3�9�������9������9������9������H��H�\$XH��@_�H�� H�L$ �˹�H�HAH�L$ ��������@SH�� H��H�	H��tH�SH+�H������H�#H�cH�cH�� [����@SH�� H��H���H��t+H���H+�H���@��H���H���H���H���H��t+H���H+�H���	��H���H���H���H��8�͟�H�S(H��rH�KH���χ�H�c H�C(�CH�� [���������@SH�� H���H��H���t
�@�N�H��H�� [������@SH�� H���H��H���t
����H��H�� [������@SH�� H��H��H���t
�����H��H�� [������H�\$WH�� H�ً�H�IxH��t(H���H+�H�����H�cxH���H���H���T���@��t
��H����H��H�\$0H�� _��������H�\$WH�� ��H���4�����t
��H���J�H�\$0H��H�� _�������������H�\$H�t$WH��@I�H��I��I��H��H�@�x�H;�u;H�H��H�@�c�H���G\��H;�uAH��H���[H�\$PH��H�t$XH��@_�H��H�L$ ���H��AH�L$ �&��H���H�L$ ���H�eAH�L$ �����H�\$UVWH��@H�bQAH3�H��$0H��W�D$0H�zH��t�GH�zH�jH�l$0H�|$8H���H���H+�H��H����A�H��$�H�	�x�H��$���H���D$ A�E�A���H�L$@�^��L��H�\$ A�H��$�H���\��H��t8������G�u*H�H��H�������W�uH�H��H�B��H��H��$0H3��H��$pH��@_^]��ۻ�����������H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@���H;���H�H��H�@�g�H���KZ��H;�uML��H�T$PH����H�H� H�H�L$PH��tH��H��%�H�\$XH��H�t$hH�l$`H��@_�H���H�L$ ���H�]AH�L$ ��H��H�L$ 轴�H�:AH�L$ �؝��������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@���H;���L��H�L$ H������H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H��9�����C�uH�H��H�@��H�\$`H��H�l$hH�t$pH��P_�H�H�L$0�ٳ�H�VAH�L$0������H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0��H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H��M�����C�uH�H��H�@�2��H�L$(H��t=����A�u2H�\$(H�H��H�������C�uH�L$(H�H�@���H�_H��t5����C�u*H�H��H��NJ����C�uH�H��H�@���H��L�\$`I�[I�kI�s I��_�H��H�L$@�f��H��	AH�L$@聛�H�\$H�t$WH��@I�H��I��I��H��H�@�H�H;�u8H�H��H�@�3�H���W��H;�u>H��H����H�\$PH�t$XH��@_�H��H�L$ �ޱ�H�[	AH�L$ ��H���H�L$ 軱�H�8	AH�L$ �֚������H�\$H�t$WH��@I�H��I��I��H��H�@���H;�u8H�H��H�@���H���gV��H;�u>H��H���o�H�\$PH�t$XH��@_�H�H�L$ �.��H��AH�L$ �I��H���H�L$ ���H��AH�L$ �&�������H�\$WH��PH��I9��I���v�H�T$`H�D$`H�L$ ��H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H��������C��uH�H��H�@���H�\$hH��H��P_�H��H�L$0�I��H��AH�L$0�d�����H��H�XH�hH�pH�x ATAVAWH��)p�3�)x�I��D)@�W�D)H�M��D)P�H���D�D)X�����EW�D)d$0�D�$��L*؋��H*�I�I�AH�
H�BH+�H��D(��A\��EY��AY�H���VD��$�D��$�A(�E��t%�^���諣H�D(��Y�蚣(���4��^��ۢD(��Y�I�3�I�FH+�H��H������(�(��Y��AY�(��A\��A\��AY��AY��\��X��\��X��T$$�D$,�\$ �L$(E��t,�A\��A\��A\��A\��\$ �T$$�L$(�D$,H�WH;Wt��R�J�BH�G�
L�D$ H���]�I�H��I�FH+�H��H;��1���H�H��H�FH+�H��H;������L��$�I�[ I�k(I�s0I�{8A(s�A({�E(C�E(K�E(S�E([�E(c�I��A_A^A\�H��H�XH�HWH��H��M��D��H�T$ H�H ����H�T$ H���]��H���H;8t5H�c8H�OpH��tH�H��H����H�C8H��H��$�H�Ġ_�H��H�L$8��p��H��H�
[�A蒔��L��H��H�L$X�^z�L�~H��H�L$x�Iz�H��H�L$ �k��H��AH�L$ �:���H��(�
�ADeH�%X�4H�ȋ
9{#DH�b#DH��(�H�
f#D�y��=Z#D�u�W��=#D�x��H�H�@H�@f�@H�#DH�
�_臼�H�
#D�ʽ�H��(eH�%X�
5AD�4H�ȋ
9�"DH�*@AH��(�H�
�"D���=�"D�u�H�
)_�$�H�
�"D�h�����H�\$WH��@H��FAH3�H��$0H��H��H�L$ 3�A��H�L$0�h��H�L$0�i$�H�T$ H�����H�H� H�\$(H�L$ H��tH��H�@���H�A��H�T$@H��H����H��H�L$H�~��H��H��H�@�x��H��$��
D�H���H��$�H��$����H��H��$0H3���H��$`H��@_�H�\$H�t$ WH��@H��EAH3�H��$0H��H��H�L$ H�T$ 3�A��H�L$0�R��H�L$0�S#�H���H�L$@����3�H�KH�H��H+�H��H��t_H+�H��H;�����H�L$@�Jz��H�KH�H��H+�H��H��H;�sH��H�L$@�p��H�KH�H��H+�H��H;�r�H��H�L$@�I��H��H�L$H���H��$��B�H�n�H��$�H��$�衞�H�H��tH�SH+�H���x�H�#H�cH�cH��H��$0H3��w�L��$@I�[ I�s(I��_��ͯ�������������H�\$H�t$WH��@I�H��I��I��H��H�@�x�H;�u^H�H��H�@�c�H���GN��H;�uH��H���[H�\$PH��H�t$XH��@_�H���H�L$ ���H��AH�L$ �&��H�NH�L$ ���H�eAH�L$ �����H�\$UVWATAUAVAWH��$��H�� H�RCAH3�H��H��L��H�L$8W��pH�zH��t�GH�zH�rH��pH��xH�T$@H�����L�8H� L���H�L$@H��tH��H�@�Q�W�3���H���H���H���諂�3�A��H��膣�H��� �H�
��L�5��M��3�8��LE�I��8��HE�H�D$HI��8��HE�H�D$88��LE�D�BHH�����H�

H����d$4L�D$3H�T$4H�����h���H���H�D$(H���H���H+�H��H����H�H�������L��HDž�HDž�	����Ep����Ex�EyH�UpH����[��H���H�D$(H���H���H+�H��H���FH�RH�������HDž�HDž�H�box predH���ƅ�L��H���H����#[��H���H�D$(H���H���H+�H��H����H�RH�������L���H���HDž�
���������f���ƅ�H���H����Z��3�D�C9H��P�T�H�EH��P�d$(L�D$0H�T$(H��X�g���H�]�
H�]�=��E�:��E��5��E��E�D��xH�U�H��P���H�E(H�] ���E���E����E�E��|H�UH��P��X��H�EHH�E@����E0����E8���f�E<�E>D���H�U0H��P���H�EhH�]`����EP����EX����E\�E]D���H�UPH��P����HDž�HDž��T�����N����ƅ�D���H���H��P�w��H�D$hH�\$`���D$P���D$X���D$\�D$]D���H�T$PH��P�*��H��H�D$ H���H��H����X~�H��H�����L��HDž�HDž����������f���ƅ�H���H��P�X��H��(H�D$ H��H����}�H��H��(�*���L��HDž�H���*�����!�f���ƅ�H���H��P�W��H���HDž�ƅ�L�
��E3��SH����u����H���H��P�~V��H���HDž�ƅ�L�
��E3��SH����Cu����H���H��P�0V��H�E�H�E�����D$p�|��D$x�u�f�D$|�D$~���H�T$pH��P��U���s	H�u�H�E��A��E��;�f�E��3��E��E�M��H�U�H��P�G�H��(�sH�� ���������E3�D��L�D$HH��H��P��HDžHH��@�����0�����8D��<L�D$8H��0H��P��H�E��sH�u�����E�����E�����E�D�m�M��H�U�H��P�f�H��H�D$ H�GH��L�D$1H��XH�� �PM���D�s	L��hH��`����P��f��TD��VL��H��PH����y��H��`H�D$ H��H��`L�D$2H���H��h��L���L�u�H�u�����EЋ���E؊���E�D�m�L��`H�U�I���y��I���D��H�� I��H���wI��H��(����H��xH��pH+�H���n�W�f�pL���H��`��w���H���H���H+�H���Rn�W�f��L���H����w���H����7�H���H���H����ܓ�H���H��tH���H+�H����m�I��I��H�@�w�H��t5����G�u*H�H��H���v����W�uH�H��H�B��vI��H��H3��i�H��$pH�� A_A^A]A\_^]�蹤�賤��譤��������������H����xL�������|���������������������������������H���H���H+�H�$H��H�L$$���I���I���H+�H�$H��H�L$3�$���A������A������A������H��A���H���H�RH��|�H���H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@�'uH���H;�u#L��H��H���XH�\$PH�l$XH�t$`H��@_�H���H�L$ �ʜ�H�G�@H�L$ ���@SH��@H���ZH9u	H��H��@[�H��H�L$ 苜�H��@H�L$ 覅��H�\$WH��H�7AH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@��H�L$xH��tYH�H��H�@�9tH�H�L$xH��tH�H�T$@H;���H�@ �tH��H��$�H3�豧H��$�H�Đ_��߅�H�3H�L$(轛�H�:�@H�L$(�؄����@SH��@H�BH9Hu;L��H�L$PH�T$ E3��Om���>H�T$ H����J��H���)H;��H��@[�H��H�L$ �L��H���@H�L$ �g����@SH��H�BL��H9HuJH�T$@I�������d$0H��HH�T$(�L$ �H�T$ H���WJ��H���H;��H��[�H�=H�L$ �ǚ�H�D�@H�L$ ����H��H�XH�hH�p H�HWH�� I��H��H���@�H��H�D$0H��t,W���C�CH��H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H���(�l�H��H�D$0H��t)W���C�CH���H�H�KH��(�3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H������H��H�D$0H��t,W���C�CH���H�H�KL��H���
����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H������H���H�L�wI�I��H�@��pH���yH;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H���p����C�uH�H��H�@��p�H��H�\$XH�t$`H�|$hH��@A^�H��H�L$ �?��H���@H�L$ �Z���L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��=���H���H�H�[H��t9����C��u,H�H��H���o����C��uH�H��H�@��oH��H�\$PH��0_����H�\$H�t$WH�� H��I��I��H����w��D��L��H��H���S���H�\$0H�_�H�H��H�t$8H�� _���H�\$H�T$WH��0H��H��W��D$ L�JM��t	�A�AL�JH�H�D$ L�L$(H�T$ ����H���H�H�[H��t9����C��u,H�H��H���n����C��uH�H��H�@��nH��H�\$PH��0_����H�\$H�L$WH��@H��H���fa���H���H��*H9uH���H�H��H�\$XH��@_�H�2�H�L$ �L��H���@H�L$ �g�������@SH�� H���H��H���t
�@辠H��H�� [������@SH�� H���H��H���t
�(莠H��H�� [������@SH�� H�S�H��H���t
���^�H��H�� [������H�\$WH�� H�ً�H��8�]|�H�S(H��rH�KH���_d�H�c H�C(�C@��t
�H���H��H�\$0H�� _��������������H�1�H�H�����H�
��>����������H�irA���������H�\$H�t$WH��@I�H��I��I��H��H�@��lH;�u;H�H��H�@��lH���oH;�uAH��H���[H�\$PH��H�t$XH��@_�H�1�H�L$ 苔�H��@H�L$ �}�H�>�H�L$ �h��H���@H�L$ �}���H�\$UVWATAUAVAWH��$����H��@H��.AH3�H��0H��L��W�D$0L�bM��t
�A�D$L�bH�BH�D$0L�d$8H���H���H+�H��H���IA�H��0H�	����H���H���H+�H��H���A�H���H�I���H���H���H+�H��H����A�H���H�I0���H��pD�xH���D�0H����8�XH�M���s�H��\$ D��E��A��H�L$@�U��L��H�t$ D���H���I���Sq�M��t>�����A�D$�u.I�$I��H���j���A�T$�uI�$I��H�B��jI��H��0H3��u�H��$�H��@A_A^A]A\_^]��Ř�����H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@�pjH;���H�H��H�@�WjH����	H;�uML��H�T$PH�����H�H� H�H�L$PH��tH��H��jH�\$XH��H�t$hH�l$`H��@_�H���H�L$ �Б�H�M�@H�L$ ��z�H���H�L$ 譑�H�*�@H�L$ ��z��������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@��iH;���L��H�L$ H�����H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H��)i����C�uH�H��H�@�iH�\$`H��H�l$hH�t$pH��P_�H���H�L$0�ɐ�H�F�@H�L$0��y����H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0���H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H��=h����C�uH�H��H�@�"h�H�L$(H��t=����A�u2H�\$(H�H��H���g����C�uH�L$(H�H�@��g�H�_H��t5����C�u*H�H��H���g����C�uH�H��H�@��gH��L�\$`I�[I�kI�s I��_�H��H�L$@�V��H���@H�L$@�qx�H�\$H�t$WH��@I�H��I��I��H��H�@�8gH;�u8H�H��H�@�#gH���H;�u>H��H���G�H�\$PH�t$XH��@_�H���H�L$ �Ύ�H�K�@H�L$ ��w�H���H�L$ 諎�H�(�@H�L$ ��w������H�\$H�t$WH��@I�H��I��I��H��H�@��fH;�u8H�H��H�@�sfH���H;�u>H��H����H�\$PH�t$XH��@_�H��H�L$ ���H���@H�L$ �9w�H���H�L$ ��H�x�@H�L$ �w������H�\$WH��PH��I9��I����H�T$`H�D$`H�L$ ��H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H���e����C��uH�H��H�@�teH�\$hH��H��P_�H���H�L$0�9��H���@H�L$0�Tv����H��H�XH�HWH��H��M��D��H�T$ H�H ��^���H�T$ H���P<��H���H;8t5H�c8H�OpH��tH�H��H���dH�C8H��H��$�H�Ġ_�H��H�L$8�P��H��H�
�iA��s��L��H��H�L$X�Y�L���H��H�L$x�}Y�H��H�L$ �o�H���@H�L$ �nu��H��(�
!DeH�%X�4H�ȋ
9�DH��DH��(�H�
�D譝�=�D�u�W���D�x�O�H�H�@H�@f�@H�gDH�
 ?軛�H�
cD��H��(eH�%X�
i D�4H�ȋ
9#DH�fAH��(�H�
D���=D�u�H�
�>�X�H�
�D蜜������������H�\$H�t$WH��@I�H��I��I��H��H�@�8cH;�u^H�H��H�@�#cH���H;�uH��H���[H�\$PH��H�t$XH��@_�H���H�L$ �ˊ�H�H�@H�L$ ��s�H��H�L$ 訊�H�%�@H�L$ ��s���H�\$H�t$ UWAVH��$���H��0H�%AH3�H�� L��H��H�L$0W�D$@H�ZH��t�CH�ZH�BH�D$@H�\$HH�T$0I���c���H�0H� H�t$pH�L$0H��tH��H�@�b3�A��H�M �z��H�M �|�3�D�BHH�M��\�L�5M�L�u�W��D$(L�D$ H�T$(H�M��)K���H�E�H�D$xL�u�L�D$!H�U�H�M��56���H�d$`H�D$h�D$PL�
��E3�A�PH�L$P�8\�L�E�H�T$PH���b��H�A��E��H�U0H��H��LaH��H�M8�0��H�U�H�M�H+�H���W�W�fE�H�eH�M��ia���H����!�H�X�H���H����}�H�A�VH��H�@��`�H��t9A����CA�u,H�H��H���`A����SA�uH�H��H�B��`H��H�� H3��7�L��$0I�[0I�s8I��A^_]����@UH��H��H�E�H�EH�9�H�E�H�E�H�E�H�e�H�E��E�L�
��E3�A�P H�M���Z�H�U�H�M��_�H�Ā]���H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@��_H���?H;�u#L��H��H���XH�\$PH�l$XH�t$`H��@_�H� �H�L$ �J��H���@H�L$ �ep�@SH��@H����H9u	H��H��@[�H�)�H�L$ ���H���@H�L$ �&p��H�\$WH��H��!AH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@�4�H�L$xH��tYH�H��H�@��^H�H�L$xH��tH�H�T$@H;���H�@ ��^H��H��$�H3��1�H��$�H�Đ_��_p�H���H�L$(�=��H���@H�L$(�Xo����@SH��@H�BH9Hu;L��H�L$PH�T$ E3���W���^H�T$ H���Y5��H���IH;��H��@[�H�B�H�L$ �̅�H�I�@H�L$ ��n���@SH��H�BL��H9HuJH�T$@I���M����d$0H��HH�T$(�L$ ��H�T$ H����4��H����H;��H��[�H���H�L$ �G��H���@H�L$ �bn��H��H�XH�hH�p H�HWH�� I��H��H���@�u�H��H�D$0H��t,W���C�CH���H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H���X��H��H�D$0H��t)W���C�CH�w�H�H�KH���3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H�����e�H��H�D$0H��t,W���C�CH���H�H�KL��H���
����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H���@����H��H�L�wI�I��H�@�m[H���H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H��![����C�uH�H��H�@�[�H��H�\$XH�t$`H�|$hH��@A^�H���H�L$ 迂�H�<�@H�L$ ��k��L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S�轥��H���H�H�[H��t9����C��u,H�H��H��bZ����C��uH�H��H�@�EZH��H�\$PH��0_����H�\$H�t$WH�� H��I��I��H���Tb��D��L��H��H���S���H�\$0H���H�H��H�t$8H�� _���L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S����H��H�H�[H��t9����C��u,H�H��H��~Y����C��uH�H��H�@�aYH��H�\$PH��0_����H�\$H�L$WH��@H��H���K���H�V�H���H9uXH�j�H������0�����4�����8�����<�������@H��H�\$XH��@_�H���H�L$ 蜀�H��@H�L$ �i�������@SH�� H�k�H��H���t
�@��H��H�� [������@SH�� H�c�H��H���t
�X�ފH��H�� [������@SH�� H��H��H���t
��變H��H�� [������H�1�H�H�����H�
��)����������H��]A���������H�\$H�t$WH��@I�H��I��I��H��H�@��WH;�u;H�H��H�@��WH���;H;�uAH��H���[H�\$PH��H�t$XH��@_�H���H�L$ �K�H���@H�L$ �fh�H���H�L$ �(�H���@H�L$ �Ch���H�\$H�t$ UWATAVAWH��$P���H��H��AH3�H���H��L��H���H���H+�H��H����A�H�� H�	�̶��W�D$0L�{M��t	�A�GL�{H�SH�T$0L�|$8H��`��@��H��PH��@H�M0�_�L��D�D�D�G�D$ A��H�L$@�h��L��L�t$ D��(H�� I���f\�M���������A�G���I�I��H��V���A�G���I�H�@���4D��0��D�D��<H��@H��(�I^�H��G�D$ D�E�ƋH�M���L��H�t$ D��(H�� I���[�M��t:�����A�G�u+I�I��H��\U���A�O�uI�H�AI��@UI��H���H3��ވL��$�I�[@I�sHI��A_A^A\_]��-���������������H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@��TH;���H�H��H�@��TH���OH;�uML��H�T$PH�����H�H� H�H�L$PH��tH��H��uTH�\$XH��H�t$hH�l$`H��@_�H��H�L$ �0|�H���@H�L$ �Ke�H���H�L$ �
|�H���@H�L$ �(e��������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@��SH;���L��H�L$ H�����H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H���S����C�uH�H��H�@�nSH�\$`H��H�l$hH�t$pH��P_�H�W�H�L$0�){�H���@H�L$0�Dd����H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0���H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H���R����C�uH�H��H�@��R�H�L$(H��t=����A�u2H�\$(H�H��H��XR����C�uH�L$(H�H�@�;R�H�_H��t5����C�u*H�H��H��R����C�uH�H��H�@��QH��L�\$`I�[I�kI�s I��_�H�$�H�L$@�y�H�3�@H�L$@��b�H�\$H�t$WH��@I�H��I��I��H��H�@��QH;�u8H�H��H�@��QH���H;�u>H��H���'�H�\$PH�t$XH��@_�H��H�L$ �.y�H���@H�L$ �Ib�H��H�L$ �y�H���@H�L$ �&b������H�\$H�t$WH��@I�H��I��I��H��H�@��PH;�u8H�H��H�@��PH���kH;�u>H��H�����H�\$PH�t$XH��@_�H�l�H�L$ �~x�H���@H�L$ �a�H�1�H�L$ �[x�H���@H�L$ �va������H�\$WH��PH��I9��I�����H�T$`H�D$`H�L$ �n�H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H���O����C��uH�H��H�@��OH�\$hH��H��P_�H�G�H�L$0�w�H��@H�L$0�`����H��H�XH�HWH��H��M��D��H�T$ H�H �&I���H�T$ H���&��H���H;8t5H�c8H�OpH��tH�H��H��:OH�C8H��H��$�H�Ġ_�H�s�H�L$8�q:��H��H�
�TA�&^��L��H��H�L$X��C�L��H��H�L$x��C�H��H�L$ �Y�H� �@H�L$ ��_��H��(�
bDeH�%X�4H�ȋ
9?�CH�&�CH��(�H�
*�C�
��=�C�u�W���C�x诀H�H�@H�@f�@H���CH�
�)���H�
��C�^��H��(eH�%X�
�
D�4H�ȋ
9��CH��	AH��(�H�
��C�}��=z�C�u�H�
])踅H�
e�C�������������H�\$H�t$WH��@I�H��I��I��H��H�@��MH;�u^H�H��H�@��MH���H;�uH��H���[H�\$PH��H�t$XH��@_�H��H�L$ �+u�H���@H�L$ �F^�H�n�H�L$ �u�H���@H�L$ �#^���H�\$UVWATAUAVAWH��$0���H���H�rAH3�H���H��L��H�L$8W�E�L�bM��t
�A�D$L�bL�zL�}�L�e�H�T$@H���›��H�H�L$8H� H�M H�L$@H��tH��H�@�vLA��0A��4A��8E��@E��<3�A��H����o�H������3�D�BHH�Mp�oH��H�EpW��D$0L�D$ H�T$0H�Mx�[5���H�E�H�E��8��D$p�1�f�D$t�D$vD��H�T$pH�Mp�V����H�\$hH�D$`���D$P���f�D$T���D$V�D$WD��H�T$PH�Mp�
���H�]�H�E��Ʊf�E�����E�3�@�}�D��H�U�H�Mp�׻��H�]�H�E�
����E����f�E�@�}�E��H�U�H�Mp���H�]�H�E�	�o��EЊl��E�@�}�E��H�U�H�Mp�i���H�E(H�D$(H�%�H�E(L�D$!H�UxH�M0�7���H�}H�]@�}L�
#�D�ǍSH�M�DE�L�E(H�UH�\$8H���K��H���D��H���H��H��RJI��H����3��H���H���H+�H���@�W�f��H���H����^J���H��X�
�H�M�H��XH��X�f�H��WH��H�@��I�M��t;���A�D$�u.I�$I��H���I���A�T$�uI�$I��H�B��II��H���H3��+}H��$ H���A_A^A]A\_^]�@UH��H��H�E�H�EH�m�H�E�H�E�H�E�H�e�H�E��E�L�
��E3�A�PH�M���C�H�U�H�M��H�H�Ā]����������̋�0�����4�����8�����<�����@������H��8H�H�"H�D$ H�BH�bH�T$ H�D$(��H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@�SHH����i�H;�u#L��H��H���`	H�\$PH�l$XH�t$`H��@_�H�̯H�L$ �o�H�s�@H�L$ �Y�L��I�[ VWAVH��`H�r
AH3�H�D$PM��H��H��I�S�M�C�I��I�K��UH��H�OL��H�T$0�!��H�H��0H�������H�\$(3�H��t:����C��u-H�H��H��yG����C��uH�H��H�@�\G�H�VH��rH��H��>�H�~H�F@�>I�H��tI�VH+�H����=�I�>I�~I�~H�L$PH3��zH��$�H��`A^_^���@SH��@H���rh�H9u	H��H��@[�H���H�L$ �n�H�(�@H�L$ ��W��H�\$WH��H�(	AH3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@�d%�H�L$xH��tYH�H��H�@�YFH�H�L$xH��tH�H�T$@H;���H�@ �4FH��H��$�H3���yH��$�H�Đ_��W�H�S�H�L$(��m�H�Z�@H�L$(�V����@SH��@H�BH9HuG�%3�H�H��H�A�9P }H�@�H��H�8Pt�8Su9S ~H���%H;��H��@[�H���H�L$ �`m�H���@H�L$ �{V���@SUVWATAUAVAWH��HH��AH3�H��$0I��M��D��L��H��$�H��$�Hc�$�L��$�H;���3�A��H�L$0�kh�H�L$0�l��H��H�{rH�L�CH�L$@���H�]�H���Ѳ�H��H����H��H���跲�H��H�rH�L�GH��螵�H��H��菲�H�ȋ��u��H��H�+��v��H���޷�L�l$ L�L$0M��A��I���N����H��$����H���H��$�H��$��`�H��$0H3��wH��HA_A^A]A\_^][���@SUVWATAUAVAWH��HH�aAH3�H��$0I��M��D��L��H��$�H��$�H��$�L��$�H;���3�A��H�L$0�f�H�L$0���H��H�{rH�L�CH�L$@�l��H��H���]��H��H���2
�H��H���C��H��H�rH�L�GH���*��H���H�����H��H����	�H��H������H���i��L�l$ L�L$0M��A��I���٘���H��$��c�H��H��$�H��$��F_�H��$0H3��EvH��HA_A^A]A\_^][��H��H�XH�hH�p H�HWH�� I��H��H�����tH��H�D$0H��t,W���C�CH�8�H�H�KL��H���n����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H�����tH��H�D$0H��t)W���C�CH���H�H�KH�� 	�3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H�\$H�t$H�L$WH�� H��H���0�sH��H�D$0H��t4W���C�CH�W�H�H��H�CH�KH���C��3�W�H�CH�H�_H��H�\$8H�t$@H�� _��H��H�XH�hH�p H�HWH�� I��H��H�����	sH��H�D$0H��t,W���C�CH�t�H�H�KL��H�������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H������H�ЧH�L�wI�I��H�@�@H���a�H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H���?����C�uH�H��H�@��?�H��H�\$XH�t$`H�|$hH��@A^�H�9�H�L$ �cg�H��@H�L$ �~P��L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��a���H���H�H�[H��t9����C��u,H�H��H��?����C��uH�H��H�@��>H��H�\$PH��0_����@USVWATAVAWH��$ ���H���H�?AH3�H���M��H��H�M�E3�E8��A���<����H�H�H�E8��tH���@���H���lI���I���H+�H��H����A�H�U�H�	�C���H��PI���̞��L�}�A�L�e�D�}�L�
��E��A�T$vH�M���8�L�}�L�e�D�}�L�
Z�E��A�\$��H�M��8�L�|$pL�d$xD�|$`L�
H�E�Nj�H�L$`�y8�L�|$PL�d$XD�|$@H�=�L��E�ǍS)H�L$@�O8�I�I��H�@�~=L��H�E�H�D$8H��hH�D$0H�E�H�D$(H�E�H�D$ L�L$`��H�L$@�L����H�T$XH��r
H��H�L$@�3�L�|$PL�d$XD�|$@H�T$xH��r
H��H�L$`��3�L�|$pL�d$xD�|$`H�U�H��rH��H�M��3�L�}�L�e�D�}�H�U�H��rH��H�M��3�H�Np�hH�DH9��L�}�L�e�D�}�L�
.�E�ǺIH�M��=7�L�d$XH�D$P�X�D$@�R�D$DD�|$EL�|$pL�d$xD�|$`L�
/�E�ǺH�L$`��6�L�}�L�e�D�}�L��E�Ǻ=H�M���6�I�I��H�@��;L��H�E�H�D$8�D$0H�D$@H�D$(H�EH�D$ L�L$`��H�M��Y����H�U�H��rH��H�M��z2�L�}�L�e�D�}�H�T$xH��r
H��H�L$`�V2�L�|$pL�d$xD�|$`H�T$XH��r
H��H�L$@�/2�L�|$PL�d$XD�|$@H�U�H��rH��H�M��
2�L�}�L�e�D�}�L�
7�E�ǺiH�M���5�L�|$PL�d$XD�|$@L�
�E�Ǻ"H�L$@�5�L�|$pL�d$xD�|$`L�
~�E�ǺH�L$`�5�L�}�L�e�D�}�L��E�Ǻ=H�M��c5�H�FpH�|H+<H��H�EHcI�I��H�@�z:L��H�E�H�D$8H�|$0H�D$@H�D$(H�\$ L�L$`��H�M�����H�U�H��rH��H�M��1�L�}�L�e�D�}�H�T$xH��r
H��H�L$`��0�L�|$pL�d$xD�|$`H�T$XH��r
H��H�L$@�0�L�|$PL�d$XD�|$@H�U�H��r
H��H�M��0�H��H���H3��]mH���A_A^A\_^[]��g��L��I�[ WH��@H��H��H�L$0I�S�H�I�C�H�BI�C�H�"H�bI�S����H�٠H�Ƈ0H���H��8HLJ@H��H�H��PH���H��XH��`H���H��hHLJpH���H��xHLJ�W�AH�[H��t8����C;�u,H�H��H���8����S��uH�H��H�B��8H��H�\$hH��@_����H�\$WH��@H��H��H�L$ �+���H���H���Y�H9ugH���H������@H���H��HH�aH�A��p+�H���H��h�Q��������H��H�\$`H��@_�H���H�L$(�_�H�2�@H�L$(��H����������������@SH�� H���H��H���t
���jH��H�� [������@SH�� H���H��H���t
�0��iH��H�� [������@SH�� H�#�H��H���t
���iH��H�� [������H�\$WH�� H�ً�H�IH��tH�SH+�H����-�H�cH�cH�c@��t
� H���fiH��H�\$0H�� _���������H�\$WH�� ��H����,����t
��H���*iH�\$0H��H�� _�������������H�\$H�t$WH��@I�H��I��I��H��H�@�X6H;�u;H�H��H�@�C6H����W�H;�uAH��H���[H�\$PH��H�t$XH��@_�H���H�L$ ��]�H�h�@H�L$ �G�H���H�L$ ��]�H�E�@H�L$ ��F���H�\$UVWATAUAVAWH��$�H��H�2�@H3�H��H��L��H�M�H���H���H+�H��E3�H����
A�H���H�	�g������H�^H��t�CH�^H�FL��0L���H��t9����C��u,H�H��H��5����C��uH�H��H�@��4L�vM��t	�A�FL�vH�F��@M��t;���A�F��u-I�I��H���4���A�F��uI�I��H�@��4L�vM��t	�A�FL�vH�VH��8H���J;�M��t;���A�F��u-I�I��H��X4���A�F��uI�I��H�@�:4�C�A�����
�G��r;���A�H�ExH�E(H�ExH�E8H�E|H�EHH���H�EXH����H�EhH�E`H�MPH�M@H�E0L�up(��Ex(����H��H���c:�H�D$ L�M(�L���L��D���L�
��E�źCH����.�L���L���D���L�
��E�ź=H�����-�H�H��H�@�3L��L����0H����|����H���H��rH��H����)�L���L���D���H��H��rH��H����z)�A;��LH��PH��HDžH��PH��A�L��H��TH�� L��(L��XL��0HDž8H��dH��@E�sL��H��)�P��)�`H����1A+1A+��ƙ+��D��D�AE+AA�@���#�}	A+Ã�Aÿ+�#�}	A+���A�H����H���E�JA#�ED�D�D$ D�H����[�|$ D��E3�3�H���[�W�E�W��L$HL�l$XD�L$@L�E�H�U�H�L$H�'*�H�U�H���"s�H�MxH�M(H�E0H�MxH�M8�H�U@H�M|H�MHH�UPH���H�MXH�E`H���H�MhL�up(��Ex(����W�L��H�T$HH���8�H�D$ L�M(D��I��I����6�H�M�H��tH�U�H+�H���U'�L�m�W��E�H�L$HH����H�T$XH+�H���*'��z�C��m����L���L���D���L�
�E�ō{A��H�����*�L�u�D�s�L�u��s�E��p�E��jf�E�D�m�L�m�H�ED�m�L�
ߘE��D�k
A��H�M��t*�H�e�H�E��E�L�
�E3��S+H�M��L*�H�H��H�@�{/L��H���H�D$8�D$0H�E�H�D$(H�����L$ L�M�SMH�M��f��H�U�H��rH��H�M��%�H�e�H�E��E�H�UH��rH��H�M���%�H�e�H�E�E�H�U�H��rH��H�M��%�H�e�H�E��E�H���H��rH��H����|%�H�e�H�E��E�L�
T�E3�H��H�M��E)�H�L$`L�t$X��	�D$H��	�D$P��	f�D$TE3�D�t$VL�t$xH�M�D�t$hL�
l�E��I��H�L$h��(�L�uE�nL�m D�uL�
��E��A�V=H�M�(�H���H�H��H�@��-L��H�E�H�D$8�D$0H�D$HH�D$(�G�D$ L�L$hA�V`H�M�բ�H�U H��rH��H�M�f$�L�uL�m D�uH�U�H��r
H��H�L$h�C$�L�t$xL�m�D�t$hH�T$`H��r
H��H�L$H�$�L�t$XL�l$`D�t$HH�U�H��rH��H�M��#�H���D�0H����8H���5�A��D$ H��D��A��H���W�H�t$ ��L�m�L�u�D�m�L�
��E�ſS��H�M��v'�L�u�D�w�L�u���E���E��f�E�D�m�L�mH�E D�mL�
��E��D�o�A��H�M�'�H�d$xH�E��D$hL�
��E3��W�H�L$h��&�H�H��H�@�,L��H�E�H�D$8�D$0H�E�H�D$(H�����L$ L�M�WH�L$h���H�U�H��r
H��H�L$h�"�H�d$xH�E��D$hH�U H��rH��H�M�r"�H�eH�E �EH�U�H��rH��H�M��K"�H�e�H�E��E�H�U�H��rH��H�M��$"�H���HDž�ƅ�L�
�E3�H��H�����%�H�L$`L�t$X���D$H�}�D$P�vf�D$TE3�D�t$VL�u�H�M�D�u�L�
�E��I��H�M��%�L�u�E�nL�mD�u�L�
#�E��A�V=H�M��[%�H���H�H��H�@��*L��H���H�D$8�D$0H�D$HH�D$(�G�D$ L�M�A�VYH�M��r��H�UH��rH��H�M��!�L�u�L�mD�u�H�U�H��rH��H�M��� �L�u�L�m�D�u�H�T$`H��r
H��H�L$H� �L�t$XL�l$`D�t$HH���H��rH��H���� �H���D�0H����8H���32�A����A;���L���A����‹ȃ�+��D��D�<	H���D�)H����1A�xH����1�L��E�OE��EDω|$ D��A��H���CS�L��L�t$ D��H���H�M��D/�H�E��+�G�A�A;���L�m�H�E�D�m�L�
:�E��A�VMH�M��#�L�l$xH�E�D�l$hL�
(�E��A�V;H�L$h�_#�H�H��H�@��(L��L�M�A�VvH�L$h����H�U�H��r
H��H�L$h�1�L�l$xH�E�D�l$hH�U�H��rH��H�M��	�C�A;�v��!t	��!��H��H����.�H��A�D��H��H����aT��H�|$ L��D��I��I���.�I��H��H3��y[H��$`H��A_A^A]A\_^]���U��H�\$WH��H�‹�H��H�T$ �%����p3�H�H��H�A�9x }H�@�H��H�8Pt�8Su;{ }H���:H;H��$���H�Ġ_��������H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@�'H;���H�H��H�@��&H���kH�H;�uML��H�T$PH����H�H� H�H�L$PH��tH��H���&H�\$XH��H�t$hH�l$`H��@_�H�6�H�L$ �`N�H�ݥ@H�L$ �{7�H�+�H�L$ �=N�H���@H�L$ �X7��������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@�&H;���L��H�L$ H����H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H���%����C�uH�H��H�@��%H�\$`H��H�l$hH�t$pH��P_�H���H�L$0�YM�H�֤@H�L$0�t6����H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0��H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H���$����C�uH�H��H�@��$�H�L$(H��t=����A�u2H�\$(H�H��H���$����C�uH�L$(H�H�@�k$�H�_H��t5����C�u*H�H��H��G$����C�uH�H��H�@�,$H��L�\$`I�[I�kI�s I��_�H�T�H�L$@��K�H�c�@H�L$@�5�H�\$H�t$WH��@I�H��I��I��H��H�@��#H;�u8H�H��H�@��#H���7E�H;�u>H��H�����H�\$PH�t$XH��@_�H�L�H�L$ �^K�H�ۢ@H�L$ �y4�H��H�L$ �;K�H���@H�L$ �V4������H�\$H�t$WH��PI�H��I��I��H��H�@�#H;�uAH�H��H�@�#H���D�H;�uGH�GH9pu`H��3��:���H�\$`H�t$hH��P_�H���H�L$ �J�H�"�@H�L$ �3�H�X�H�L$ �J�H���@H�L$ �3�H�ձH�L$8�_J�H�ܡ@H�L$8�z3����������H�\$H�l$H�t$WH�� H�A3�H+AH��H��H�d�H��H��t4H�_H���0����H������H�GH�ȽH+GH��H��H;�r�H�a�H��H�\$0H�l$8H�t$@H�� _��������H�\$WH��PH��I9��I�����H�T$`H�D$`H�L$ ���H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H��a!����C��uH�H��H�@�D!H�\$hH��H��P_�H���H�L$0�	I�H���@H�L$0�$2����H�\$H�t$H�L$WH����H����H�H�AH���9p }H�@�H��H��xt�{u;s }H���H;t9H�g8H�K`H��tH�H��H��� H�G8H��L��$�I�[I�s I��_�H�̰H�L$8����H��H�
�YA�/��L��H��H�L$X�K�L�k�H��H�L$x�6�H��H�L$ �X+�H�y�@H�L$ �'1���H��(�
��CeH�%X�4H�ȋ
9��CH���CH��(�H�
��C�eY�=��C�u�W��q�C�h�RH�H�@H�@f�@H�O�CH�
x��sW�H�
K�C�X�����H��(H�Ah���t�jH��(��H��(eH�%X�
�C�4H�ȋ
9�CH��@H��(�H�
ֽC�X�=ʽC�u�H�
���VH�
��C�4X����H�\$ UVWH��H�AhH�逸��[��0H�qX��H�>t,H�A3�H�HH�YH������H�L��H���n�����H�EH�T$ H�HH�yH�Mh���3�H��H�����L��H��$�L��H���o����H�؍oH;�t+H�H��t����Q�uH���H��.H�H�H�#H��$�H��������A���H��t}H��mH�>ur3����H�ؽH��t�hH��$�H;�t)H�H��t������A�uH���H���H��$H��t������C�uH�H��H����H��$�H�Ġ_^]����������������H�\$H�t$WH��@I�H��I��I��H��H�@�8H;�u^H�H��H�@�#H���>�H;�uH��H���[H�\$PH��H�t$XH��@_�H���H�L$ ��D�H�H�@H�L$ ��-�H��H�L$ �D�H�%�@H�L$ ��-���H�\$H�t$ UWATAVAWH��$���H��H��@H3�H���H��H��H�L$@W�D$hH�zE3�H��t�GH�zL�rL�t$hH�|$pI��HL���L���H�����.�H�T$@H���:k��L�8L� L�}H�L$@H��tH��H�@��H���H���H+�H��H���H�3�A��H����/?�H����.��3�D�BHH����?H���H���W��D$8L�D$ H�T$8H��������H�E�H�D$(H�H��H�@�TL�e�L�e�H��H�M��.�H�]�H�E�H�input idH�D$xD�e�L�E�H�T$xH������H�E�H�D$(L�eL�eH���H�M��-�H�]�H�E��E�meanD�e�L�E�H�U�H����Y���I��hH�BH+H��H��tVH�E H�D$(H�M ��H��L�e�H�E�D�e�L�
&�E�ĺH�M��%�L��H�U�H����Q���H�E8H�D$0H���H�E8L�D$!H���H�M@���H�\$`H�D$X�ԃ�D$H�Ѓ�D$PD�d$TL�E8H�T$HI�����I���D��H��I��H���H��H���w�H���H���H+�H���p�W�f��L���H��������H������H�ņH���H����5�I��SI��H�@�F�H���H��rH��H�����H��t5����G�u*H�H��H��	����W�uH�H��H�B��H��H���H3��LL��$I�[@I�sHI��A_A^A\_]���F���H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@�[H����H;�u#L��H��H���XH�\$PH�l$XH�t$`H��@_�H��H�L$ �?�H�{�@H�L$ �)�@SH��@H���N�H9u	H��H��@[�H�ݧH�L$ �?�H�<�@H�L$ ��(��H�\$WH��H�<�@H3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@�(�H�L$xH��tYH�H��H�@�mH�H�L$xH��tH�H�T$@H;���H�@ �HH��H��$�H3���JH��$�H�Đ_��)�H�g�H�L$(��>�H�n�@H�L$(�(����@SH��@H�BH9Hu;L��H�L$PH�T$ E3�����RH�T$ H���
�H���=H;��H��@[�H���H�L$ �>�H���@H�L$ �'���@SH��H�BL��H9HuJH�T$@I���w���d$0H��HH�T$(�L$ ��
H�T$ H����H���
H;��H��[�H�q�H�L$ �=�H�x�@H�L$ �'��H��H�XH�hH�p H�HWH�� I��H��H���@�)HH��H�D$0H��t,W���C�CH�d�H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H���8�GH��H�D$0H��t)W���C�CH��H�H�KH���3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H�����GH��H�D$0H��t,W���C�CH�,�H�H�KL��H���
����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H����V���H��H�L�wI�I��H�@�!H���m�H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H�������C�uH�H��H�@���H��H�\$XH�t$`H�|$hH��@A^�H�I{H�L$ �s;�H��@H�L$ �$��L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��q^��H�v�H�H�[H��t9����C��u,H�H��H������C��uH�H��H�@��H��H�\$PH��0_����H�\$H�t$WH�� H��I��I��H�����D��L��H��H���S���H�\$0H�sH�H��H�t$8H�� _���L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S����H��H�H�[H��t9����C��u,H�H��H��2����C��uH�H��H�@�H��H�\$PH��0_����H�\$H�L$WH��@H��H������H�B~H��.��H9u$H�V~H������ H��H�\$XH��@_�H�j�H�L$ �9�H��@H�L$ �"���������������@SH�� H�#H��H���t
�@��CH��H�� [������@SH�� H�H��H���t
�8�CH��H�� [������@SH�� H��~H��H���t
���CH��H�� [������H�\$H�t$WH��@I�H��I��I��H��H�@��H;�u;H�H��H�@��H�����H;�uAH��H���[H�\$PH��H�t$XH��@_�H��H�L$ �[8�H�؏@H�L$ �v!�H�xH�L$ �88�H���@H�L$ �S!���H�\$H�l$ VWATAVAWH��@H���@H3�H��$0H��L��H���H���H+�H��H���(A�H��$�H�	��o��W�D$0L�{M��t	�A�GL�{H�CH�D$0L�|$8D�� H��$�H��$�H��$�H��$���H��3ҋCA����3ҋA��D��D�E��E�ƉL$ �H�L$@�t9�L��H�l$ D��$�H��$�I���p�M��t:�����A�G�u+I�I��H�����A�W�uI�I��H�B��I��H��$0H3��BL��$@I�[@I�kHI��A_A^A\_^���<�����H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@��H;���H�H��H�@�wH������H;�uML��H�T$PH�����H�H� H�H�L$PH��tH��H��5H�\$XH��H�t$hH�l$`H��@_�H��uH�L$ ��5�H�m�@H�L$ ��H���H�L$ ��5�H�J�@H�L$ ����������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@��
H;���L��H�L$ H�����H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H��I
����C�uH�H��H�@�.
H�\$`H��H�l$hH�t$pH��P_�H��H�L$0��4�H�f�@H�L$0�����H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0���H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H��]����C�uH�H��H�@�B�H�L$(H��t=����A�u2H�\$(H�H��H������C�uH�L$(H�H�@���H�_H��t5����C�u*H�H��H�������C�uH�H��H�@��H��L�\$`I�[I�kI�s I��_�H��H�L$@�v3�H��@H�L$@��H�\$H�t$WH��@I�H��I��I��H��H�@�XH;�u8H�H��H�@�CH�����H;�u>H��H���3�H�\$PH�t$XH��@_�H�ܘH�L$ ��2�H�k�@H�L$ �	�H��rH�L$ ��2�H�H�@H�L$ ��������H�\$H�t$WH��@I�H��I��I��H��H�@��
H;�u8H�H��H�@��
H������H;�u>H��H�����H�\$PH�t$XH��@_�H�,�H�L$ �>2�H���@H�L$ �Y�H��qH�L$ �2�H���@H�L$ �6������H�\$WH��PH��I9��I����H�T$`H�D$`H�L$ �z�H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H���	����C��uH�H��H�@��	H�\$hH��H��P_�H��H�L$0�Y1�H�ֈ@H�L$0�t����H��H�XH�HWH��H��M��D��H�T$ H�H �����H�T$ H���p�H���H;8t5H�c8H�OpH��tH�H��H���H�C8H��H��$�H�Ġ_�H�3�H�L$8�1�H��H�
�A����L��H��H�L$X��L�ҘH��H�L$x��H��H�L$ ��H��@H�L$ ���H��(�
"�CeH�%X�4H�ȋ
9/�CH��CH��(�H�
�C��A�=�C�u�W���C�x�o:H�H�@H�@f�@H�ϦCH�
0���?�H�
˦C�A�H��(eH�%X�
��C�4H�ȋ
9��CH���@H��(�H�
v�C�=A�=j�C�u�H�
���x?H�
U�C�@������������H�\$H�t$WH��@I�H��I��I��H��H�@�XH;�u^H�H��H�@�CH�����H;�uH��H���[H�\$PH��H�t$XH��@_�H��nH�L$ ��.�H�h�@H�L$ ��H�.�H�L$ ��.�H�E�@H�L$ �����H�\$H�t$ UWATAVAWH��$����H��@H�0�@H3�H��0H��H��H�L$8W�E�H�zA�H��t	�DH�zH�ZH�]�H�}�H�T$8H���{U��L�0H� L�u�H�L$8H��tH�A��H�@�6�� 3�A��H�M0�)A��H�M0蓦�3�D�BHH�M��s)L�%d�L�e�W��D$0L�D$ H�T$0H�M��@��A�L�|$xH�D$p�i��D$`�b�f�D$d�D$fD��H�T$`H�M��7v��H�E�H�D$(L�e�L�D$!H�U�H�M�����L�|$XL�|$P��r�D$@��r�D$H��rf�D$L��r�D$N�D$OL�E�H�T$@I���I��I���D��H�U@I��H��H��H�MH�b�H�UH�MH+�H�����W�fEH�eH�M��1���H����p��H� rH���H����U!�I��SI��H�@���H��t5����G�u*H�H��H�������W�uH�H��H�B�fH��H��0H3��8L��$@I�[@I�sHI��A_A^A\_]�H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�l	H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@��H���G�H;�u#L��H��H����H�\$PH�l$XH�t$`H��@_�H�TkH�L$ �~+�H���@H�L$ ��@SH��@H���F�H9u	H��H��@[�H�]�H�L$ �?+�H���@H�L$ �Z��H�\$WH��H���@H3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@�(�H�L$xH��tYH�H��H�@��H�H�L$xH��tH�H�T$@H;���H�@ ��H��H��$�H3��e6H��$�H�Đ_���H��H�L$(�q*�H��@H�L$(�����@SH��@H�BH9HuG�3�H�H��H�A�9P }H�@�H��H�8Pt�8Su9S ~H���IH;��H��@[�H�j�H�L$ ��)�H�q�@H�L$ ����H��H�XH�hH�p H�HWH�� I��H��H���@�!4H��H�D$0H��t,W���C�CH��qH�H�KL��H���b����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H�����3H��H�D$0H��t)W���C�CH�iH�H�KH���3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H�����3H��H�D$0H��t,W���C�CH��pH�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H����B���H�xnH�L�wI�I��H�@�H���MC�H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H�������C�uH�H��H�@����H��H�\$XH�t$`H�|$hH��@A^�H�AgH�L$ �k'�H��~@H�L$ ���L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��iJ��H�>mH�H�[H��t9����C��u,H�H��H�������C��uH�H��H�@��H��H�\$PH��0_����H�\$ UVWATAUAVAWH��$����H��pH�B�@H3�H��`I��H��H�L$PE3��A����H��lH�H���H���H+�H��E3�H����E�oE��H�U`H�	�b^��H���H����^��E�gL�eXL�}PD�}@L�}�L�e�D�}�L�
tmE��A�WH�M����L�}�L�e�D�|$xL�
gmE��A�WH�L$x��L�|$hL�d$pD�|$XL�
�lE��A�w=��H�L$X��H�H��H�@���L��D�|$@H�E@H�D$8H���H�D$0H�E�H�D$(H�E`H�D$ L�L$x�VH�L$X�\���H�T$pH��r
H��H�L$X�1��L�|$hL�d$pD�|$XH�U�H��r
H��H�L$x���L�}�L�e�D�|$xH�U�H��rH��H�M�����L�}�L�e�D�}�H�UXH��rH��H�M@����L�}0L�e8D�} L�
clE�Ǻ?H�M ��L�}L�eD�}�L�
~lE�ǺH�M��m��L�}�L�e�D�}�L�
qlE�ǺH�M��H��L�}�L�e�D�}�L�
lkE��H��H�M��%��M��H�MpH�ExH���HcL��H��H;�u�I��H���H���H���HcH��H��H;�u�H�H��H�@��L��H�E H�D$8L�t$0H�E�H�D$(H�t$ L�MغWH�M�����H�U�H��rH��H�M����L�}�L�e�D�}�H�U�H��rH��H�M��r��L�}�L�e�D�}�H�UH��rH��H�M��P��L�}L�eD�}�H�U8H��rH��H�M �.��H���6��H�˄�urH�U�E��H��H�{XA��H;�t-H�H��tA����QA�uH�A��H���H�H�L�>H�MH��t)A����AA�uH��tH�A��H�����L�H��H��`H3��u.H��$�H��pA_A^A]A\_^]���(�H�\$H�T$WH��0H��H��W��D$ L�JM��t	�A�AL�JH�H�D$ L�L$(H�T$ ���H�~hH�Ƈ�H�[H��t9����C��u,H�H��H��'�����C��uH�H��H�@�
�H��H�\$PH��0_�H�\$WH��@H��H��H�L$ ���H��`H��=�H9��H�
aH�H���H��XHǃ`H��h�H��pH���H��xH���H���H���Hǃ�H���H���Hǃ�W�AH���A� �H��H�\$`H��@_�H�ۇH�L$(� �H�rx@H�L$(�
����������������@SH�� H�iH��H���t
�@�^+H��H�� [������@SH�� H��hH��H���t
���.+H��H�� [������H�\$H�t$WH��@I�H��I��I��H��H�@�h�H;�u;H�H��H�@�S�H���;�H;�uAH��H���[H�\$PH��H�t$XH��@_�H���H�L$ ��H�xw@H�L$ �	�H��_H�L$ ���H�Uw@H�L$ �����H�\$UVWAVAWH�l$�H��0H�I�@H3�H�E H��L��H���H���H+�H��H����A�I��H�	�V��W�3�E�H�EH�_H��t�CH�_H�OH�L$`H�\$hH��XH�U��89�H��t9����C��u,H�H��H��*�����C��uH�H��H�@�
�W�3�EH�EI�wH�UH����8�E3�3�E�qH�E�L�E�I+�H��H���IA�<����M����H�d$PH�D$X�D$@L�
geE3�A�P-H�L$@�N��H�d$0H�D$8�D$ L�
jeE3�A�P=H�L$ �!��H�H��H�@�P�L��L�L$@�.H�L$ �M���H�T$8H��r
H��H�L$ ����H�d$0H�D$8�D$ H�T$XH��r
H��H�L$@����L�E�L���A�<�uH�E��A��L�E�E�4�H��H�E�I+�H��H;����M��t/A�H�H�FH���HcL��H��H;�u�3�A��A��C��A�H�U�H�L$p��H;�tH�NPH�PPA� ��H�MH��tH�UH+�H�����W��EH�eH�M�H��tH�UH+�H������I��H�M H3��(H��$pH��0A_A^_^]��#���H�\$WH��H�‹�H��H�T$ �iU����3�H�H��H�A�9x }H�@�H��H�8Pt�8Su;{ }H���H;H��$���H�Ġ_������������H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@�@�H;���H�H��H�@�'�H���[7�H;�uML��H�T$PH�����H�H� H�H�L$PH��tH��H����H�\$XH��H�t$hH�l$`H��@_�H�v[H�L$ ��H�s@H�L$ ��H�k�H�L$ �}�H��r@H�L$ ���������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@�P�H;���L��H�L$ H���K�H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H��������C�uH�H��H�@���H�\$`H��H�l$hH�t$pH��P_�H�ǀH�L$0��H�r@H�L$0�����H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0�O�H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H��
�����C�uH�H��H�@����H�L$(H��t=����A�u2H�\$(H�H��H��������C�uH�L$(H�H�@����H�_H��t5����C�u*H�H��H��������C�uH�H��H�@�l�H��L�\$`I�[I�kI�s I��_�H��H�L$@�&�H��p@H�L$@�A�H�\$H�t$WH��@I�H��I��I��H��H�@��H;�u8H�H��H�@���H���'4�H;�u>H��H���c�H�\$PH�t$XH��@_�H��~H�L$ ��H�p@H�L$ ��H�QXH�L$ �{�H��o@H�L$ �������H�\$H�t$WH��PI�H��I��I��H��H�@�X�H;�uAH�H��H�@�C�H���w3�H;�uGH�GH9pu`H��3��6���H�\$`H�t$hH��P_�H��}H�L$ ���H�bo@H�L$ ��H��WH�L$ ���H�?o@H�L$ ���H�H�L$8��H�o@H�L$8�����������H�\$WH��PH��I9��I����H�T$`H�D$`H�L$ ��H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H��1�����C��uH�H��H�@��H�\$hH��H��P_�H��}H�L$0���H�Vn@H�L$0������H�\$H�t$H�L$WH����H����H�H�AH���9p }H�@�H��H��xt�{u;s }H���H;t9H�g8H�K`H��tH�H��H��g�H�G8H��L��$�I�[I�s I��_�H��~H�L$8���H��H�
p)A�O���L��H��H�L$X���L�;~H��H�L$x���H��H�L$ �(��H�In@H�L$ ����H��(�
��CeH�%X�4H�ȋ
9��CH���CH��(�H�
��C�5'�=��C�u�W��q�C�h��H�H�@H�@f�@H�O�CH�
���C%�H�
K�C�&�����H�\$WH�� H��H�Ih���t8H�Xt)H�GH��H�PH�Z3��-�H�WXL��H���b=����uH���rH�\$0H�� _����H��(eH�%X�
��C�4H�ȋ
9��CH���@H��(�H�
��C�A&�=��C�u�H�
��|$H�
q�C�%����H�\$H�t$ WH��H���>8��H�FH�NhH�PH�zH�T$ ��L��3�H��H���_�L��H��$�L��H���i=��H��X��H��H;�t,H�H��t����Q�uH��WH���H�H�H�#H��$�H��t!����A�uH��tH��H����L��$�I�[ I�s(I��_��������H�\$H�t$WH��@I�H��I��I��H��H�@���H;�u^H�H��H�@�s�H���.�H;�uH��H���[H�\$PH��H�t$XH��@_�H��RH�L$ ��H��j@H�L$ �6��H�^xH�L$ ��H�uj@H�L$ �����H�\$H�t$ UWAUAVAWH��$���H��H�`�@H3�H���H��H��H�L$8W�E�H�zH��t�GH�zL�zL�}�H�}�H�T$8H���9��L�0H� L�uHH�L$8H��tH��H�@�k�H���H���H+�H��H����H�3�A��H����
�H���襊�3�D�BHH����
H�stH���W��D$0L�D$ H�T$0H����I���H�E(H�D$(H�H��H�@���H�e8H�e@H��H�M(�u��A�L�m�A�]�H�]�H�input idH�E��E�L�E(H�U�H������L�l$XH�D$P��$�D$@��$�D$H�D$LH�EH�E�H�]�H�EH�E��K�H�M�H�EH�E�H�M�H�EH�E�H�E�H�EH�E�H�E�W�EEI���E�EH�M�KL�E�H�T$@H����^<��H�EPH�D$(H�.sH�EPL�D$!H���H�MX�=����L�l$xH�D$p��W�D$`��W�D$h�D$lL�EPH�T$`I����I���D��H��I��H��T�H��H���5F�H���H���H+�H�����W�f��H���H����_��H���螨�H�NUH���H�����I��SI��H�@����H��t5����G�u*H�H��H��������W�uH�H��H�B���H��H���H3��2L��$I�[@I�sHI��A_A^A]_]���H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@��H����e��H;�u;H��H���+�D��L��H��H����H�\$PH��WH�l$XH�H�t$`H��@_�H�dNH�L$ ��H�f@H�L$ ��@SH��@H���Re��H9u	H��H��@[�H�mvH�L$ �O�H��e@H�L$ �j���H�\$WH��H�̨@H3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@�X�H�L$xH��tYH�H��H�@���H�H�L$xH��tH�H�T$@H;���H�@ ���H��H��$�H3��uH��$�H�Đ_���H��tH�L$(�
�H��d@H�L$(�����@SH��@H�BH9Hu;L��H�L$PH�T$ E3�����H�T$ H��蝼��H���mH;��H��@[�H��tH�L$ �
�H��d@H�L$ �+����@SH��H�BL��H9HuJH�T$@I���E���d$0H��HH�T$(�L$ �H�T$ H������H����H;��H��[�H�tH�L$ ��H�d@H�L$ ���H��H�XH�hH�p H�HWH�� I��H��H���@�H��H�D$0H��t,W���C�CH��VH�H�KL��H�������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H���X�0H��H�D$0H��t)W���C�CH�CVH�H�KH����3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H�����H��H�D$0H��t,W���C�CH�lUH�H�KL��H�����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H���%���H��SH�L�wI�I��H�@���H���qa��H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H��e�����C�uH�H��H�@�J��H��H�\$XH�t$`H�|$hH��@A^�H��IH�L$ �
�H��a@H�L$ ����L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��-��H�nRH�H�[H��t9����C��u,H�H��H��������C��uH�H��H�@���H��H�\$PH��0_����L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��5���H��QH�H�[H��t9����C��u,H�H��H�������C��uH�H��H�@���H��H�\$PH��0_����H�\$H�L$WH��@H��H������H�QH��_��H9uTH�&QH������0�����4�����8�����<�����@H��H�\$XH��@_�H�oH�L$ �4�H��_@H�L$ �O����������������@SH�� H��RH��H���t
�@�H��H�� [������@SH�� H�{RH��H���t
�X�nH��H�� [������@SH�� H��QH��H���t
���>H��H�� [������H�\$H�t$WH��@I�H��I��I��H��H�@�x�H;�u;H�H��H�@�c�H���#^��H;�uAH��H���[H�\$PH��H�t$XH��@_�H��lH�L$ ��H��^@H�L$ �&��H��FH�L$ ���H�e^@H�L$ �����H�\$UVWATAUAVAWH��$p���H��H�R�@H3�H���H��L��W�E�L�rM��t	�A�FL�rH�rH�u�L�u�H���H���H+�H��H���KA�H���H�	�i>��H���D�8H���H���H+�H��H���A�H��H�I�->��H�� D�(��@���H�U3�H�M�M�H�T$xH�D$p���D$`�ڵ�D$d�L$eH�T$XH�D$P
�(O�D$@�#Of�D$H�L$JH�M�H�U��M�L�
OD���QAH�M��Q��H�H��H�@���L��H�E�H�D$8�d$0H�D$`H�D$(��@�D$ L�L$@�,H�M��Q�H�U�H��rH��H�M����H�e�H�E��E�H�T$XH��r
H��H�L$@����H�d$PH�D$X�D$@H�T$xH��r
H��H�L$`���H�d$pH�D$x�D$`H�UH��rH��H�M������A�Ǚ��D������H�e�H�E��E�L�
ANE3�A�PLH�M��1��3�H�}�H�E�@�}�L�
�MD�ǍWAH�M����H�H��H�@�7�L��L�M��W/H�M��3���H�U�H��rH��H�M�����H�}�H�E�@�}�H�U�H��rH��H�M����4��8H����_��H��\$ D��E��A��H�M���L��H�t$ A�H���I������M��t:�����A�F�u+I�I��H��u����A�V�uI�I��H�B�Y�I��H���H3��H��$�H�ĐA_A^A]A\_^]��G	�������H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@���H;���H�H��H�@���H���Y��H;�uML��H�T$PH���b�H�H� H�H�L$PH��tH��H����H�\$XH��H�t$hH�l$`H��@_�H�&BH�L$ �P�H��Y@H�L$ �k��H�hH�L$ �-�H��Y@H�L$ �H���������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@��H;���L��H�L$ H���c���H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H��������C�uH�H��H�@���H�\$`H��H�l$hH�t$pH��P_�H�wgH�L$0�I�H��X@H�L$0�d�����H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0�g�H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H��������C�uH�H��H�@����H�L$(H��t=����A�u2H�\$(H�H��H��x�����C�uH�L$(H�H�@�[��H�_H��t5����C�u*H�H��H��7�����C�uH�H��H�@��H��L�\$`I�[I�kI�s I��_�H�DfH�L$@���H�SW@H�L$@����H�\$H�t$WH��@I�H��I��I��H��H�@���H;�u8H�H��H�@���H���cV��H;�u>H��H����H�\$PH�t$XH��@_�H�<eH�L$ �N��H��V@H�L$ �i��H�?H�L$ �+��H��V@H�L$ �F�������H�\$H�t$WH��@I�H��I��I��H��H�@��H;�u8H�H��H�@���H���U��H;�u>H��H�����H�\$PH�t$XH��@_�H��dH�L$ ��H�V@H�L$ ���H�Q>H�L$ �{��H��U@H�L$ ��������H�\$WH��PH��I9��I�����H�T$`H�D$`H�L$ �J�H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H�������C��uH�H��H�@���H�\$hH��H��P_�H�gdH�L$0��H�6U@H�L$0�������H��H�XH�HWH��H��M��D��H�T$ H�H �F���H�T$ H���Ь��H���H;8t5H�c8H�OpH��tH�H��H��Z�H�C8H��H��$�H�Ġ_�H��eH�L$8���H��H�
?�@�F�L��H��H�L$X���L�2eH��H�L$x���H��H�L$ ���H�@U@H�L$ �����H��(�
��CeH�%X�4H�ȋ
9�sCH��sCH��(�H�
�sC�-�=�sC�u�W���sC�x��H�H�@H�@f�@H�_sCH�
0��;�H�
[sC�~
�H��(eH�%X�
�C�4H�ȋ
9sCH��@H��(�H�
sC�
�=�rC�u�H�
����H�
�rC�
������������H�\$H�t$WH��@I�H��I��I��H��H�@���H;�u^H�H��H�@���H���cR��H;�uH��H���[H�\$PH��H�t$XH��@_�H�!;H�L$ �K��H��R@H�L$ �f��H��`H�L$ �(��H��R@H�L$ �C����H�\$UVWATAUAVAWH��$@���H��H���@H3�H���H��H��H�L$8W�D$`H�ZA�H��t	�DcH�ZL�rL�t$`H�\$hA��0��u	H�=�l�H��DH�=���HD�H�T$8H���!��L�8H� L�}H�L$8H��tH�A��H�@�l�3�A��H�����A��H�����r�3�D�BHH�M`�L�-�\L�m`W��D$0L�D$ H�T$0H�Mh�v����A�L�e�H�E��D$pmode�D$tL��H�T$pH�M`�UC��L�e�A�|$�H�}�H�pooled_wH�E��E�E��4H�U�H�M`��'��L�e�H�}�H�pooled_hH�E��E�E��8H�U�H�M`�'��L�d$XH�D$P
��C�D$@��C�D$H��C�D$L�D$M�A�<H�T$@H�M`���L�e�H�}�H�group_szH�E��E�E��@H�U�H�M`�6'��H�EH�D$(L�mL�D$!H�UhH�M �w����L�eH�}H�roi infoH�E��E�L�EH�U�I������I���D��H���I��H����H��H����.�H���H���H+�H���F��W�f��H���H�Mp����H��H���H��=H��HH��H����I��WI��H�@���H��t5����C�u*H�H��H��������S�uH�H��H�B���H��H���H3��H��$H��A_A^A]A\_^]���H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�PH��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@�W�H���N��H;�u#L��H��H���XH�\$PH�l$XH�t$`H��@_�H��6H�L$ ��H�wN@H�L$ ���@SH��@H���&N��H9u	H��H��@[�H��^H�L$ ��H�8N@H�L$ �����H�\$WH��H�8�@H3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@�$�H�L$xH��tYH�H��H�@�i�H�H�L$xH��tH�H�T$@H;���H�@ �D�H��H��$�H3���H��$�H�Đ_����H�c]H�L$(���H�jM@H�L$(������@SH��@H�BH9Hu;L��H�L$PH�T$ E3�����H�T$ H���	���H���H;��H��@[�H��\H�L$ �|��H��L@H�L$ �����@SH��H�BL��H9HuJH�T$@I���-���d$0H��HH�T$(�L$ �(H�T$ H��臤��H���H;��H��[�H�m\H�L$ ���H�tL@H�L$ ����H��H�XH�hH�p H�HWH�� I��H��H���@�%�H��H�D$0H��t,W���C�CH��AH�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H���P�H��H�D$0H��t)W���C�CH��AH�H�KH��	�3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H������H��H�D$0H��t,W���C�CH��@H�H�KL��H���
����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H����
���H��>H�L�wI�I��H�@��H���EJ��H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H��������C�uH�H��H�@����H��H�\$XH�t$`H�|$hH��@A^�H�E2H�L$ �o��H��I@H�L$ ����L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��m��H�r=H�H�[H��t9����C��u,H�H��H�������C��uH�H��H�@���H��H�\$PH��0_����H�\$ UVWATAUAVAWH��$ ���H���H�F�@H3�H���I��H��L��H�M�I������D��L��H��I���.����H�=I�H���H���H+�H��H���A�H��PH�I�U)����XH��p�H���D�8H���H���H+�H��H����A�H�U�H�	�)��H�@ D� H���H���H+�H��H����A�H�U�H�	��(��H�@0D�(����kH�M�3�H�E��E�H�D$PH�L$X�D$@L�
8=D���QH�L$@�P��H�d$pH�D$x�D$`L�
$=E3�A�PH�L$`�#��H�e�H�E��E�L�
b<E3�A�P;H�M����H�H��H�@�)�L��H�E�H�D$8D�d$0H�D$@H�D$(�\$ L�L$`�ZH�M��=�H�U�H��rH��H�M�谾�E3�L�e�A�L$H�M�D�e�H�T$xH��rH��H�L$`脾�A�L$L�d$pH�L$xD�d$`H�T$XH��rH��H�L$@�X��L�d$PH�L$XD�d$@H�U�H��rH��H�M��.���E3�A���XH�M�L�e�D�e�L�e�H�M�D�e�L�
�SE���H�M����L�d$pH�D$xD�d$`L�
m�E�ċ�H�L$`��L�d$PH�D$XD�d$@L�
�:E�čS)H�L$@��H�H��H�@���L��H�E�H�D$8D�l$0H�E�H�D$(D�|$ L�L$`�SMH�L$@�;�H�T$XH��r
H��H�L$@�8��L�d$PA�L�l$XD�d$@H�T$xH��r
H��H�L$`���L�d$pL�l$xD�d$`H�U�H��rH��H�M����L�e�L�m�D�e�H�U�H��rH��H�M���A�I�FpL9�0�ZH���H���H+�H��H���hA�H�U�H�I�%���]�L�}�L�l$xH�D$p�W:�D$`�R:f�D$h�I:�D$jD�d$kL�m�H�E��2g�E��/g�E�D�e�L�d$PL�l$XD�d$@L�
J9E�ĺ;H�L$@���H�H��H�@��L���\$0H�D$`H�D$(�|$ L�M��hH�L$@�j���H�T$XH��r
H��H�L$@螻�L�d$PL�l$XD�d$@H�U�H��rH��H�M��y��L�e�L�m�D�e�H�T$xH��r
H��H�L$`�U��I��L9e���A��H��`9���L�d$pL�l$xD�d$`L�
f8E�ĺ;H�L$`��H��H�L$@�^Q�L�D$@H��8H�M���:�H��H�H��H�@��L��L�˺mH�L$`�t���H�U�H��rH��H�M�詺�L�e�L�m�D�e�H�T$XH��r
H��H�L$@腺�L�d$PL�l$XD�d$@H�T$xH��r
H��H�L$`�^��H��H;}��	���I��H���H3���H��$8H���A_A^A]A\_^]��o���i����c����]���H�\$H�T$WH��0H��H��W��D$ L�JM��t	�A�AL�JH�H�D$ L�L$(H�T$ �}���H�F6H�Ƈ�H�[H��t9����C��u,H�H��H��������C��uH�H��H�@���H��H�\$PH��0_�H�\$WH��@H��H��H�L$8�:����H�*5H��A��H9ufH�>5H�H���H�� H�aH�A�蘵�H�uH��H�\$`H��@_�H�5H�L$ ���H�rA@H�L$ ���H��PH�L$ ����H�OA@H�L$ ����������������@SH�� H�7H��H���t
�@�>�H��H�� [������@SH�� H��6H��H���t
�P��H��H�� [������@SH�� H�{6H��H���t
�����H��H�� [������H�\$H�t$WH��@I�H��I��I��H��H�@��H;�u;H�H��H�@��H���+@��H;�uAH��H���[H�\$PH��H�t$XH��@_�H�QNH�L$ ���H�(@@H�L$ ����H�^(H�L$ ���H�@@H�L$ �����H�\$UVWATAUAVAWH��$����H��PH��@H3�H��@H��H��H���H���H+�H��E3�H���fE�eE��H��H�	�+��H���H���H+�H��I;��0E��H�U�H�I���H�P`H��H���E�}L���H��H���L���H��H���L���H��H���E�uL���H��$H��A�uH��W��� E�E H����H���H��@L��HH���H��PL��XH���H��`L��hH���H��pL��xH���H���H���G`)��Op)��H���D�0�pD�9D�aA�M�Q�A���_H�M�L�m�D�m�H�L$xH�T$p��2�D$`��2�D$hD�l$lH�L$XH�T$P�~2�D$@�z2�D$HD�l$LL�m�H�M�D�m�L�
f2E�ōQ,H�M���H�H��H�@�.�L��H�E�H�D$8D�|$0H�D$`H�D$(D�t$ L�L$@A�U/H�M��$3�H�U�H��rH��H�M�赴�L�m��H�M�D�m�H�T$XH��rH��H�L$@茴�L�l$PH�L$XD�l$@H�T$xH��rH��H�L$`�`��L�l$pH�L$xD�l$`H�U�H��rH��H�M��6������MH�M�L�m�D�m�H�L$XH�T$P��1�D$@��1�D$HD�l$LH�L$xH�T$p�v1�D$`�r1�D$hD�l$lL�m�H�M�D�m�L�
�0E�ź;H�M�蕷�H�H��H�@�ļL��H�E�H�D$8D�d$0H�D$@H�D$(�t$ L�L$`�3H�M��1�H�U�H��rH��H�M��K��L�m��H�]�D�m�H�T$xH��r
H��H�L$`�"��L�l$pH�\$xD�l$`H�T$XH��r
H��H�L$@��L�l$PH�\$XD�l$@H�U�H��rH��H�M��ֲ�H��H��@H3���H��$�H��PA_A^A]A\_^]������������������������H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@���H;���H�H��H�@�w�H���:��H;�uML��H�T$PH����H�H� H�H�L$PH��tH��H��5�H�\$XH��H�t$hH�l$`H��@_�H��"H�L$ ����H�m:@H�L$ ���H��HH�L$ ����H�J:@H�L$ �����������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@���H;���L��H�L$ H����H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H��I�����C�uH�H��H�@�.�H�\$`H��H�l$hH�t$pH��P_�H�HH�L$0����H�f9@H�L$0������H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0��H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H��]�����C�uH�H��H�@�B��H�L$(H��t=����A�u2H�\$(H�H��H�������C�uH�L$(H�H�@����H�_H��t5����C�u*H�H��H��׸����C�uH�H��H�@���H��L�\$`I�[I�kI�s I��_�H��FH�L$@�v��H��7@H�L$@���H�\$H�t$WH��@I�H��I��I��H��H�@�X�H;�u8H�H��H�@�C�H���k7��H;�u>H��H���7�H�\$PH�t$XH��@_�H��EH�L$ ����H�k7@H�L$ �	��H��H�L$ ����H�H7@H�L$ ���������H�\$H�t$WH��@I�H��I��I��H��H�@���H;�u8H�H��H�@���H���6��H;�u>H��H����H�\$PH�t$XH��@_�H�,EH�L$ �>��H��6@H�L$ �Y��H��H�L$ ���H��6@H�L$ �6�������H�\$WH��PH��I9��I����H�T$`H�D$`H�L$ �~�H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H��������C��uH�H��H�@���H�\$hH��H��P_�H�EH�L$0�Y��H��5@H�L$0�t�����H��H�XH�HWH��H��M��D��H�T$ H�H ����H�T$ H���p���H���H;8t5H�c8H�OpH��tH�H��H����H�C8H��H��$�H�Ġ_�H�3FH�L$8�1���H��H�
�@����L��H��H�L$X貪�L��EH��H�L$x蝪�H��H�L$ ��H��5@H�L$ ����������������@SH��0H�T$(H��3�H9�0H�H�SH�St#D�L$ H�� H��H�D$(L�D$0H�T$(�Q��H��H��0[�H��(�
�qCeH�%X�4H�ȋ
9TCH�TCH��(�H�
TC�q��=�SC�u�W���SC�x��H�H�@H�@f�@H��SCH�
�H�
�SC����H��(eH�%X�
-qC�4H�ȋ
9wSCH�Zp@H��(�H�
bSC����=VSC�u�H�
Q���H�
ASC�`�����������������H�\$H�t$WH��@I�H��I��I��H��H�@���H;�u^H�H��H�@��H���3��H;�uH��H���[H�\$PH��H�t$XH��@_�H�aH�L$ ���H�3@H�L$ ���H��@H�L$ �h��H��2@H�L$ �����H�\$H�t$ UWATAVAWH��$`���H��H��u@H3�H���H��H��H�L$8W�E�H�zH��t�GH�zH�BH�E�H�}�H�T$8H���"��L�0H� L�u�H�L$8H��tH��H�@�۲H���H���H+�H��H����L�9H����H�Y3�A��H������H����S�3�D�BHH�M@���L�%�<L�e@W��D$0L�D$ H�T$0H�MH贛���H�E�H�D$(I�I��H�@�6�H�e�H�e�H��H�M�����A�L�|$xH�D$p��P�D$`��P�D$d�D$eL�E�H�T$`H�M@耎��H�E�H�D$(H�H��H�@�DZH�e�H�e�H��H�M��q��L�|$XH�D$P�&�D$@�
&f�D$H�&�D$J�D$KL�E�H�T$@H�M@����H�E�H�D$(L�e�L�D$!H�UHH�M�؅���L�}�H�E�
��%�E���%f�E��E�L�E�H�U�I���+���I���D��H���I��H���H��H������H�UhH�M`H+�H��蟧�W�fE`H�epH�MP�
����H��(�Lq�H��H��(H��(�1��I��SI��H�@�}��H��t5����G�u*H�H��H��]�����W�uH�H��H�B�B�H��H���H3����L��$�I�[@I�sHI��A_A^A\_]��/����H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�|	H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@���H���H;�u#L��H��H���XH�\$PH�l$XH�t$`H��@_�H�(H�L$ �R��H��.@H�L$ �m��@SH��@H���H9u	H��H��@[�H�1?H�L$ ���H��.@H�L$ �.���H�\$WH��H��q@H3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@�<�H�L$xH��tYH�H��H�@���H�H�L$xH��tH�H�T$@H;���H�@ ���H��H��$�H3��9�H��$�H�Đ_��g��H��=H�L$(�E��H��-@H�L$(�`�����@SH��@H�BH9Hu;L��H�L$PH�T$ E3��ק���fH�T$ H���a���H���QH;��H��@[�H�J=H�L$ ����H�Q-@H�L$ �����@SH��H�BL��H9HuJH�T$@I���U���d$0H��HH�T$(�L$ ��H�T$ H���߄��H����H;��H��[�H��<H�L$ �O��H��,@H�L$ �j���H��H�XH�hH�p H�HWH�� I��H��H���@�}�H��H�D$0H��t,W���C�CH��$H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H���(���H��H�D$0H��t)W���C�CH�7$H�H�KH���3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H�����m�H��H�D$0H��t,W���C�CH�`#H�H�KL��H���
����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H���H��H�"H�L�wI�I��H�@�u�H���H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H��)�����C�uH�H��H�@���H��H�\$XH�t$`H�|$hH��@A^�H��H�L$ ����H�D*@H�L$ ����L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S�����H�� H�H�[H��t9����C��u,H�H��H��j�����C��uH�H��H�@�M�H��H�\$PH��0_����H�\$ UVWATAUAVAWH��$ ���H���H��l@H3�H���I��H��H��H�M�I���7���D��L��H��H���.����H�v H�H���H���H+�H��H���NA�H�U�H�I�	��H�E�H�ED�0H���H���H+�H��E3�H���A�H��PH�	�p	��H��pD�8H���D� A�E���WH�E�L�m�D�m�L�m�H�E�D�m�L�
�E�ōPH�M��ݣ�L�l$pH�D$xD�l$`L�
�E��A�UH�L$`豣�L�l$PH�D$XD�l$@L�
�E��A�UFH�L$@腣�H�H��H�@���L��H�E�H�D$8D�|$0H�E�H�D$(�\$ L�L$`A�UZH�L$@��H�T$XH��r
H��H�L$@�:��L�l$PA�L�|$XD�l$@H�T$xH��r
H��H�L$`�
��L�l$pL�|$xD�l$`H�U�H��rH��H�M����L�m�L�}�D�m�H�U�H��rH��H�M��ƞ��A�A���IL�}�L�m�D�m�L�l$PL�|$XD�l$@L�
r4E���H�L$@�n��L�l$pL�|$xD�l$`L�
�E�ŋ�H�L$`�H��L�m�L�}�D�m�L�
tE�ōS4H�M��%��H�H��H�@�T�L��H�E�H�D$8D�d$0H�D$@H�D$(D�t$ L�L$`�SMH�M��K�H�U�H��rH��H�M��ܝ�L�m�L�}�D�m�H�T$xH��r
H��H�L$`踝�L�l$pL�|$xD�l$`H�T$XH��r
H��H�L$@葝�L�l$PL�|$XD�l$@H�U�H��r
H��H�M��l��H��H���H3��9�H��$8H���A_A^A]A\_^]����L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��a���H��H�H�[H��t9����C��u,H�H��H�������C��uH�H��H�@��H��H�\$PH��0_����H�\$H�L$WH��PH��H���z����H�JH��H9uBH�^H�H�uH��H�\$hH��P_�H�H�L$8�Y��H��$@H�L$8�t��H�4H�L$ �6��H��$@H�L$ �Q��@SH�� H��H��H���t
�@��H��H�� [������@SH�� H��H��H���t
�(�~�H��H�� [������@SH�� H�;H��H���t
���N�H��H�� [������H��H�H�����H�
��z����������H�)�@���������H�\$H�t$WH��@I�H��I��I��H��H�@�X�H;�u;H�H��H�@�C�H���H;�uAH��H���[H�\$PH��H�t$XH��@_�H��1H�L$ ����H�h#@H�L$ ���H��H�L$ ����H�E#@H�L$ �����H�\$UVWATAUAVAWH��$����H��PH�2f@H3�H��@H��H��H���H���H+�H��E3�H���fE�eE��H��H�	�k��H���H���H+�H��I;��0E��H�U�H�I�=��H�P`H��H���E�}L���H��H���L���H��H���L���H��H���E�uL���H��$H��A�uH��W��� E�E H���H���H��@L��HH���H��PL��XH���H��`L��hH���H��pL��xH���H���H���G`)��Op)��H���D�0�pD�9D�aA�M�Q�A���_H�M�L�m�D�m�H�L$xH�T$p���D$`���D$hD�l$lH�L$XH�T$P���D$@���D$HD�l$LL�m�H�M�D�m�L�
�E�ōQ7H�M��?��H�H��H�@�n�L��H�E�H�D$8D�|$0H�D$`H�D$(D�t$ L�L$@A�U0H�M��d�H�U�H��rH��H�M���L�m��H�M�D�m�H�T$XH��rH��H�L$@�̗�L�l$PH�L$XD�l$@H�T$xH��rH��H�L$`蠗�L�l$pH�L$xD�l$`H�U�H��rH��H�M��v������MH�M�L�m�D�m�H�L$XH�T$P���D$@���D$HD�l$LH�L$xH�T$p���D$`���D$hD�l$lL�m�H�M�D�m�L�
&E�źFH�M��՚�H�H��H�@��L��H�E�H�D$8D�d$0H�D$@H�D$(�t$ L�L$`�4H�M���H�U�H��rH��H�M�苖�L�m��H�]�D�m�H�T$xH��r
H��H�L$`�b��L�l$pH�\$xD�l$`H�T$XH��r
H��H�L$@�;��L�l$PH�\$XD�l$@H�U�H��rH��H�M����H��H��@H3����H��$�H��PA_A^A]A\_^]��4����.����������������H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@�ОH;���H�H��H�@���H���H;�uML��H�T$PH���~�H�H� H�H�L$PH��tH��H��u�H�\$XH��H�t$hH�l$`H��@_�H�H�L$ �0��H��@H�L$ �K��H��+H�L$ �
��H��@H�L$ �(���������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@��H;���L��H�L$ H����H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H��������C�uH�H��H�@�n�H�\$`H��H�l$hH�t$pH��P_�H�W+H�L$0�)��H��@H�L$0�D�����H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0��H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H��������C�uH�H��H�@����H�L$(H��t=����A�u2H�\$(H�H��H��X�����C�uH�L$(H�H�@�;��H�_H��t5����C�u*H�H��H�������C�uH�H��H�@���H��L�\$`I�[I�kI�s I��_�H�$*H�L$@���H�3@H�L$@�Ѭ�H�\$H�t$WH��@I�H��I��I��H��H�@���H;�u8H�H��H�@���H����H;�u>H��H����H�\$PH�t$XH��@_�H�)H�L$ �.��H��@H�L$ �I��H��H�L$ ���H��@H�L$ �&�������H�\$H�t$WH��@I�H��I��I��H��H�@��H;�u8H�H��H�@�ӚH���H;�u>H��H�����H�\$PH�t$XH��@_�H�l(H�L$ �~��H��@H�L$ 虫�H�1H�L$ �[��H��@H�L$ �v�������H�\$WH��PH��I9��I�����H�T$`H�D$`H�L$ �f�H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H�������C��uH�H��H�@�ԙH�\$hH��H��P_�H�G(H�L$0��H�@H�L$0贪����H��H�XH�HWH��H��M��D��H�T$ H�H �&����H�T$ H���p��H���H;8t5H�c8H�OpH��tH�H��H��:�H�C8H��H��$�H�Ġ_�H�s)H�L$8�q���H��H�
o�@�&���L��H��H�L$X���L�)H��H�L$x�ݍ�H��H�L$ ��H� @H�L$ �Ω��H��(�
bUCeH�%X�4H�ȋ
9�7CH��7CH��(�H�
�7C�
��=�7C�u�W���7C�x��H�H�@H�@f�@H�o7CH�
�u���H�
k7C�^��H��(eH�%X�
�TC�4H�ȋ
9+7CH��S@H��(�H�
7C�}��=
7C�u�H�
=u��H�
�6C��������������H�\$H�t$WH��@I�H��I��I��H��H�@���H;�u^H�H��H�@���H����H;�uH��H���[H�\$PH��H�t$XH��@_�H��H�L$ �+��H��@H�L$ �F��H�n$H�L$ ���H��@H�L$ �#����H�\$H�t$ UWATAVAWH��$P���H��H�pY@H3�H���H��H��H�L$8W�E�H�zH��t�GH�zH�BH�E�H�}�H�T$8H�����L�0H� L�u�H�L$8H��tH��H�@�{�H���H���H+�H��H����L�9H����H�Y3�A��H���訹�H����6�3�D�BHH�MP臹L�%x L�ePW��D$0L�D$ H�T$0H�MX�T���H�E�H�D$(I�I��H�@�֕H�e�H�e�H��H�M�耨�A�L�}�H�D$x�F4�D$h�@4�D$l�D$mL�E�H�T$hH�MP�!r��H�E�H�D$(H�H��H�@�h�H�e�H�e�H��H�M����L�|$`H�D$X��	�D$H��	f�D$P��	�D$R�D$SL�E�H�T$HH�MP�q��H�EH�D$(L�eL�D$!H�UXH�M�yi���H�e�L�}��E�L�
E3�A�WH�M�脏�L�EH�U�I���ϕ��I���D��H���I��H����H��H����x��H�UxH�MpH+�H���C��W�fEpH���H�M`讔���H��8��T�H��H��8H��8�Ұ�I��SI��H�@���H��t5����G�u*H�H��H��������W�uH�H��H�B��H��H���H3���L��$�I�[@I�sHI��A_A^A\_]�������@UH��H��H�E�H�EH�qH�E�H�E�H�E�H�e�H�E��E�L�
M	E3�A�PH�M����H�U�H�M��O��H�Ā]���H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�@H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@��H���w��H;�u#L��H��H���XH�\$PH�l$XH�t$`H��@_�H�`�H�L$ 芺�H�@H�L$ 襣�@SH��@H�����H9u	H��H��@[�H�i"H�L$ �K��H��@H�L$ �f���H�\$WH��H��T@H3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@��H�L$xH��tYH�H��H�@���H�H�L$xH��tH�H�T$@H;���H�@ �ԑH��H��$�H3��q�H��$�H�Đ_�蟣�H�� H�L$(�}��H��@H�L$(蘢����@SH��@H�BH9Hu;L��H�L$PH�T$ E3������VH�T$ H���h��H���AH;��H��@[�H�� H�L$ ���H��@H�L$ �'����@SH��H�BL��H9HuJH�T$@I����d$0H��HH�T$(�L$ ��H�T$ H���h��H���H;��H��[�H��H�L$ 臸�H�@H�L$ 袡��H��H�XH�hH�p H�HWH�� I��H��H���@��H��H�D$0H��t,W���C�CH��
H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H�����,�H��H�D$0H��t)W���C�CH�W
H�H�KH��`�3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H�����H��H�D$0H��t,W���C�CH��	H�H�KL��H���
����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H������H�tH�L�wI�I��H�@���H���=��H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H��a�����C�uH�H��H�@�F��H��H�\$XH�t$`H�|$hH��@A^�H��H�L$ ��H�|
@H�L$ ����L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S����H�:H�H�[H��t9����C��u,H�H��H��������C��uH�H��H�@���H��H�\$PH��0_����H�\$ UVWATAUAVAWH��$����H��`H��O@H3�H��PM��H��L��H�M�I���o���D��M��H��I���.����H��I�I���I���H+�H��H���	�D��H��PH�I�����XH���H��PHDžXH���H��`H��hH���H��pH��xH���H���HDž�H���H���HDž�(��)��(��)��H����0I���I���H+�H��E3�H���3D��H���H�	�
�H���A�EH�E�L�m�D�m�L�l$PH�D$XD�l$@L�
�E��E�eA��H�L$@膆�L�l$pH�D$xD�l$`L�
�E��A��H�L$`�[��L�m�E�eL�e�D�m�L�
�E��A�UHH�M��3��I�I��H�@�b�L��H�E�H�D$8�\$0H�D$@H�D$(�t$ L�L$`A�UKH�M��Z�H�U�H��rH��H�M����L�m�L�e�D�m�H�T$xH��r
H��H�L$`�ǁ�L�l$pL�d$xD�l$`H�T$XH��r
H��H�L$@蠁�L�l$PL�d$XD�l$@H�U�H��rH��H�M��{��H����8u�xuH��`�8��L�l$pL�d$xD�l$`L�
#E�ź4H�L$`�!��L�l$PL�d$XD�l$@L�
�E�źHH�L$@��I�I��H�@�'�L��L�L$`�OH�L$@���H�T$XH��r
H��H�L$@�ǀ�L�l$PL�d$XD�l$@H�T$xH��r
H��H�L$`蠀�I���d���=L�e�L�m�D�m�L�l$pL�d$xD�l$`L�
�E�źH�L$`�L��L�e�H�E���E��|�E�D�m�L�l$PL�d$XD�l$@L�
�E�źHH�L$@��I���I���H+�H��H���/H�YA�H���H�I �
�H��A�H�U�H����H��I�I��H�@��L��H�E�H�D$8H�t$0H�D$`H�D$(H�\$ L�M��TH�L$@���H�T$XH��r
H��H�L$@�e�L�l$PL�d$XD�l$@H�U�H��rH��H�M��@�L�m�L�e�D�m�H�T$xH��r
H��H�L$`��L�l$pL�d$xD�l$`H�U�H��rH��H�M��~�L�e�L�m�D�m�L�l$pL�d$xD�l$`L�
E�źH�L$`賂�L�e�H�E���E��f�E��
�E�D�m�L�l$PL�d$XD�l$@L�
E�źHH�L$@�Y��I���I���H+�H��H����H�YA�H�U�H�I(�i�H��A�H���H���T�H��I�I��H�@�=�L��H�E�H�D$8H�t$0H�D$`H�D$(H�\$ L�M��UH�L$@�^��H�T$XH��r
H��H�L$@�}�L�l$PL�d$XD�l$@H�U�H��rH��H�M��}�L�m�L�e�D�m�H�T$xH��r
H��H�L$`�x}�L�l$pL�d$xD�l$`H�U�H��rH��H�M��S}�I���I���H+�H��H���IA�H���H�I�U����H���L�d$xH�D$p����D$`��f�D$h���D$jD�l$kL�e�H�E���'�E���'�E�D�m�L�l$PL�d$XD�l$@L�
1�E�źHH�L$@���I�I��H�@���L���\$0H�D$`H�D$(�|$ L�M��^H�L$@�V+���H�T$XH��r
H��H�L$@�=|�L�l$PL�d$XD�l$@H�U�H��rH��H�M��|�L�m�L�e�D�m�H�T$xH��r
H��H�L$`��{�I��L9������H��`9���L�l$pL�d$xD�l$`L�
K�E�źHH�L$`��H��H�L$@��L�D$@H���H�M��u��H��I�I��H�@���L��L�˺cH�L$`����H�U�H��rH��H�M��F{�L�m�L�e�D�m�H�T$XH��r
H��H�L$@�"{�L�l$PL�d$XD�l$@H�T$xH��r
H��H�L$`�z�H��H;������I��H��PH3�蹷H��$�H��`A_A^A]A\_^]��	��������L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S����H�.�H�H�[H��t9����C��u,H�H��H��v�����C��uH�H��H�@�Y�H��H�\$PH��0_����H�\$H�t$ WH��@H��H��H�L$ ��u���H�A�H����H9��H�Q�H�H���H��@H�a�H�q��Bv�H���H��`H�aH�q��"v�H���H���H�aH�q��v�H���H���H�aH�q���u�H���H���H�aH�q���u�H��H�\$`H�t$hH��@_�H�H�L$(�!��H��@H�L$(�<�������������@SH�� H���H��H���t
�@莴H��H�� [������@SH�� H���H��H���t
���^�H��H�� [������@SH�� H��H��H���t
���.�H��H�� [������H�\$H�t$WH��@I�H��I��I��H��H�@�h�H;�u;H�H��H�@�S�H������H;�uAH��H���7��H�\$PH��H�t$XH��@_�H��H�L$ ��H�x@H�L$ ���H���H�L$ �ب�H�U@H�L$ �����H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@���H;���H�H��H�@���H���'��H;�uML��H�T$PH���&�H�H� H�H�L$PH��tH��H��U�H�\$XH��H�t$hH�l$`H��@_�H���H�L$ ���H���?H�L$ �+��H��
H�L$ ���H�j�?H�L$ ����������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@��H;���L��H�L$ H���'�H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H��i����C�uH�H��H�@�NH�\$`H��H�l$hH�t$pH��P_�H�7
H�L$0�	��H���?H�L$0�$�����H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0�+�H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H��}~����C�uH�H��H�@�b~�H�L$(H��t=����A�u2H�\$(H�H��H��8~����C�uH�L$(H�H�@�~�H�_H��t5����C�u*H�H��H���}����C�uH�H��H�@��}H��L�\$`I�[I�kI�s I��_�H�H�L$@薥�H��?H�L$@豎�H�\$H�t$WH��@I�H��I��I��H��H�@�x}H;�u8H�H��H�@�c}H�����H;�u>H��H�����H�\$PH�t$XH��@_�H��
H�L$ ���H���?H�L$ �)��H���H�L$ ���H�h�?H�L$ ��������H�\$H�t$WH��@I�H��I��I��H��H�@��|H;�u8H�H��H�@��|H���C��H;�u>H��H����H�\$PH�t$XH��@_�H�L
H�L$ �^��H��?H�L$ �y��H��H�L$ �;��H���?H�L$ �V�������H�\$WH��PH��I9��I����H�T$`H�D$`H�L$ ��H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H���{����C��uH�H��H�@��{H�\$hH��H��P_�H�'
H�L$0�y��H���?H�L$0蔌����H��H�XH�HWH��H��M��D��H�T$ H�H �u���MH�T$ H���R��H���8H;8t5H�c8H�OpH��tH�H��H��{H�C8H��H��$�H�Ġ_�H�SH�L$8�Qf��H��H�
ǁ@����L��H��H�L$X��o�L��
H��H�L$x�o�H��H�L$ �߅�H��?H�L$ 讋��������������H�\$H�|$ H�T$UH��H��0H��H���e�W�3�H�BH!H!BH!B�E�H��pH��H�H��H��3�H9����H�3�H9����H�H���j�H�SH��@H�EH;St
H�H�C�L�EH����H��pt+H��`H�EH�SH;St
H�H�C�L�EH���l��H���t+H���H�EH�SH;St
H�H�C�L�EH���7��H���t+H���H�EH�SH;St
H�H�C�L�EH�����H���t+H��H�}H�SH;St
H�:H�C�L�EH�����H��H�\$PH�|$XH��0]���H��(�
�5CeH�%X�4H�ȋ
9/CH�CH��(�H�
C�U��=C�u�W���C�x�H�H�@H�@f�@H��CH�
HV�c��H�
�C覱�H��(eH�%X�
5C�4H�ȋ
9�CH�N4@H��(�H�
vC�ű�=jC�u�H�
�U��H�
UC�D�����H�\$H�t$WH��@I�H��I��I��H��H�@��wH;�u^H�H��H�@��wH���c��H;�uH��H���[H�\$PH��H�t$XH��@_�H�Q�H�L$ �{��H���?H�L$ 薈�H��H�L$ �X��H��?H�L$ �s����H�\$UVWATAUAVAWH��$���H��0H��9@H3�H�� L��L��H�L$8W�E�H�rH��t�FH�rH�BH�E�H�u�H�T$8I�����L� H� L�exH�L$8H��tH��H�@��vI���I���H+�H��H����L�/H����H�_H�3�A��H�� ��H�� ��3�D�BHH����ҙH��H���W��D$0L�D$(H�T$0H����_���H�E�H�D$ I�EI��H�@�vE3�L�mL�mH��H�M��È�H�E�H�D$x���D$h���D$lD�l$mL�E�H�T$hH����cR��H�EH�D$ H�H��H�@��uL�m(L�m0H��H�M�V��A�]H�\$`H�D$X����D$H���f�D$P����D$RD�l$SL�EH�T$HH�����Q��H�E8H�D$ H�H��H�@�,uL�mHL�mPH��H�M8�؇�H�]�H�E�
�3��E��/�f�E�D�m�L�E8H�U�H����{Q��I���I���H+�H��H��vZH�EXH�D$ H�IH�H�@��tL�mhL�mpH��H�MX�R��H�]�H�E��E�biasD�m�L�EXH�U�H����Q��H���H�D$ H���H���L�D$)H���H�����H���L�m�H�]�D�m�L�
`�E�źH�M���n�L���H�U�I���u��I�$��D��H��0I��H���sI��H��8���H���H���H+�H���j�W�f��L��H�����s���H����)4�H���H���H������I�$�SI��H�@�Ys�H��t5����F�u*H�H��H��9s����V�uH�H��H�B�sI��H�� H3�輦H��$�H��0A_A^A]A\_^]���������������H��`H�xrH�H���H��@H�xrH�H���H���H�xrH�H���H���H�xrH�H���H���H�xrH�H�������H�\$WH�� H�YH��t�CH�YH�AH���@��H��t9����C��u,H�H��H��r����S��uH�H��H�B��qH�\$0@��H�� _��H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�HH��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@��qH���H;�u#L��H��H����H�\$PH�l$XH�t$`H��@_�H��H�L$ �2��H���?H�L$ �M��@SH��@H���RH9u	H��H��@[�H�H�L$ ���H�p�?H�L$ ����H�\$WH��H�p3@H3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@��H�L$xH��tYH�H��H�@��pH�H�L$xH��tH�H�T$@H;���H�@ �|pH��H��$�H3���H��$�H�Đ_��G��H���H�L$(�%��H���?H�L$(�@�����@SH��@H�BH9Hu;L��H�L$PH�T$ E3��i���FH�T$ H���AG��H���1H;��H��@[�H�*�H�L$ 贗�H�1�?H�L$ �π���@SH��H�BL��H9HuJH�T$@I���5���d$0H��HH�T$(�L$ ��H�T$ H���F��H���H;��H��[�H���H�L$ �/��H���?H�L$ �J���@SUVWATAVAWH��@H��1@H3�H��$0I��M��D��H��H��$�L��$���$�9�$���3�A��H�L$0�B��H�L$0�C�H��H�rH�L�GH�L$@���H�4�H�����H�ȋ�$����H��H�����H��H�~rH�L�FH���q��H���H���b��H�ȋ��H��H��H����I��H�����L�d$ L�L$0M��A��H���!���H��$��.�H�[�H��$�H��$�莊�H��$0H3�荡H��@A_A^A\_^][����H��H�XH�hH�p H�HWH�� I��H��H���@��H��H�D$0H��t,W���C�CH���H�H�KL��H���z����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H���(�d�H��H�D$0H��t)W���C�CH�w�H�H�KH��
�3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H�����ݞH��H�D$0H��t,W���C�CH���H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H��踮���H�t�H�L�wI�I��H�@��kH���H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H���k����C�uH�H��H�@�~k�H��H�\$XH�t$`H�|$hH��@A^�H�
�H�L$ �7��H���?H�L$ �R|��L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��5���H�:�H�H�[H��t9����C��u,H�H��H���j����C��uH�H��H�@��jH��H�\$PH��0_����H�\$ UVWATAUAVAWH��$����H��`I��H��L��H�M�I���r��D��L��H��I���?����H���I�E3�E��H���H���H+�H��E�l$H���A�H�U�J���&��H�@ �8H���A�H�U�J�L����H�@ �L�m�L�e�D�e�L�e�L�m�D�e�L�
��E�ĺH�M��d�L�e�L�m�D�d$pL�
��E�ĺH�L$p�gd�L�d$`L�l$hD�d$PL�
��E�ĺ<H�L$P�>d�H�H��H�@�miL��H�E�H�D$8�\$0H�E�H�D$(�|$ L�L$p�BH�L$P�d��H�T$hH��r
H��H�L$P��_�L�d$`L�l$hD�d$PH�U�H��r
H��H�L$p��_�L�e�L�m�D�d$pH�U�H��rH��H�M��_�L�e�L�m�D�e�H�U�H��rH��H�M��_�H���A�H�U�J�����H�@0�8H���A�H�U�J�L����H�@0�L�m�L�e�D�e�L�d$`L�l$hD�d$PL�
��E�ĺH�L$P�	c�L�e�L�m�D�d$pL�
��E�ĺH�L$p��b�L�e�L�m�D�e�L�
F�E�ĺ<H�M��b�H�H��H�@��gL��H�E�H�D$8�\$0H�D$PH�D$(�|$ L�L$p�FH�M�����H�U�H��rH��H�M��t^�L�e�L�m�D�e�H�U�H��r
H��H�L$p�Q^�L�e�L�m�D�d$pH�T$hH��r
H��H�L$P�,^�L�d$`L�l$hD�d$PH�U�H��rH��H�M��^�H���A�H�U�J���$��H�@@�8H���A�H�U�J�L����H�@@�L�m�L�e�D�e�L�d$`L�l$hD�d$PL�
��E�ĺH�L$P�a�L�e�L�m�D�d$pL�
s�E�ĺH�L$p�aa�L�e�L�m�D�e�L�
��E�ĺ<H�M��<a�H�H��H�@�kfL��H�E�H�D$8�\$0H�D$PH�D$(�|$ L�L$p�JH�M��b��H�U�H��rH��H�M���\�L�e�L�m�D�e�H�U�H��r
H��H�L$p��\�L�e�L�m�D�d$pH�T$hH��r
H��H�L$P�\�L�d$`L�l$hD�d$PH�U�H��rH��H�M��\�H���A�H�U�J������xH���A�H�U�J�L�����XL�m�L�e�D�e�L�e�L�m�D�d$pL�
9�E�ĺH�L$p�`�L�l$hH�D$`�(��D$P�$��D$XD�d$\L�e�L�m�D�e�L�
H�E�ĺ<H�M��_�H�H��H�@��dL��H�E�H�D$8�\$0H�D$pH�D$(�|$ L�L$P�NH�M�����H�U�H��rH��H�M��v[�L�e�L�m�D�e�H�T$hH��r
H��H�L$P�R[�L�d$`L�l$hD�d$PH�U�H��r
H��H�L$p�,[�L�e�L�m�D�d$pH�U�H��rH��H�M��	[�I��H���H���H+�H��H��L;����A�H�U�H�	�
��H�8H���A�H�U�H�I����H�L�m�L�e�D�e�L�d$`L�l$hD�d$PL�
��E��A�A��H�L$P�q^�L�e�L�m�D�d$pL�
��E��A��H�L$p�L^�L�e�L�m�D�e�L�
��E��A�W+H�M��(^�H�H��H�@�WcL��D�d$@H�E�H�D$8H�\$0H�D$PH�D$(H�|$ L�L$pA�WBH�M�����H�U�H��rH��H�M���Y�L�e�L�m�D�e�H�U�H��r
H��H�L$p�Y�L�e�L�m�D�d$pH�T$hH��r
H��H�L$P�Y�L�d$`L�l$hD�d$PH�U�H��r
H��H�M��lY�I��H��$�H��`A_A^A]A\_^]��L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S�����H���H�H�[H��t9����C��u,H�H��H��b����C��uH�H��H�@��aH��H�\$PH��0_����H�\$H�L$WH��@H��H���T���H���H���H9uH���H�H��H�\$XH��@_�H�Z�H�L$ �t��H���?H�L$ �r���������������@SH�� H���H��H���t
�@�ޓH��H�� [������@SH�� H���H��H���t
�(讓H��H�� [������@SH�� H�;�H��H���t
���~�H��H�� [������H���H�H�����H�
��7����������H��g@���������H�\$H�t$WH��@I�H��I��I��H��H�@��`H;�u;H�H��H�@�s`H���H;�uAH��H��蛆��H�\$PH��H�t$XH��@_�H���H�L$ ���H���?H�L$ �6q�H���H�L$ ��H�u�?H�L$ �q���H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@��_H;���H�H��H�@��_H����
H;�uML��H�T$PH����H�H� H�H�L$PH��tH��H��u_H�\$XH��H�t$hH�l$`H��@_�H��H�L$ �0��H���?H�L$ �Kp�H���H�L$ �
��H���?H�L$ �(p��������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@��^H;���L��H�L$ H����H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H���^����C�uH�H��H�@�n^H�\$`H��H�l$hH�t$pH��P_�H�W�H�L$0�)��H���?H�L$0�Do����H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0��H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H���]����C�uH�H��H�@��]�H�L$(H��t=����A�u2H�\$(H�H��H��X]����C�uH�L$(H�H�@�;]�H�_H��t5����C�u*H�H��H��]����C�uH�H��H�@��\H��L�\$`I�[I�kI�s I��_�H�$�H�L$@趄�H�3�?H�L$@��m�H�\$H�t$WH��@I�H��I��I��H��H�@��\H;�u8H�H��H�@��\H���H;�u>H��H���?�H�\$PH�t$XH��@_�H��H�L$ �.��H���?H�L$ �Im�H���H�L$ ���H���?H�L$ �&m������H�\$H�t$WH��@I�H��I��I��H��H�@��[H;�u8H�H��H�@��[H����H;�u>H��H����H�\$PH�t$XH��@_�H�l�H�L$ �~��H���?H�L$ �l�H�1�H�L$ �[��H���?H�L$ �vl������H�\$WH��PH��I9��I����H�T$`H�D$`H�L$ ��H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H���Z����C��uH�H��H�@��ZH�\$hH��H��P_�H�G�H�L$0虂�H��?H�L$0�k����H��H�XH�HWH��H��M��D��H�T$ H�H �&T���H�T$ H���1��H���H;8t5H�c8H�OpH��tH�H��H��:ZH�C8H��H��$�H�Ġ_�H�s�H�L$8�qE��H��H�
a@�&i��L��H��H�L$X��N�L��H��H�L$x��N�H��H�L$ �d�H� �?H�L$ ��j��H��(�
bCeH�%X�4H�ȋ
9��BH��BH��(�H�
�B�
��=�B�u�W����B�x诋H�H�@H�@f�@H���BH�
P7���H�
��B�^��H��(eH�%X�
�C�4H�ȋ
9[�BH�@H��(�H�
F�B�}��=:�B�u�H�
�6踐H�
%�B�������������H�\$H�t$WH��@I�H��I��I��H��H�@��XH;�u^H�H��H�@��XH���H;�uH��H���[H�\$PH��H�t$XH��@_�H��H�L$ �+��H���?H�L$ �Fi�H�n�H�L$ ���H���?H�L$ �#i���H�\$UVWAVAWH��$p���H��H�v@H3�H���H��L��H�L$8H�T$8H�����L�0H� L�u�H�L$8H��tH��H�@��WW�D$`H�_H��t�CH�_H�GH�D$`H�\$h3�A��H�����z�H������3�D�BHH�M0�zH���H�E0W��D$0L�D$ H�T$0H�M8�@���3�H���H���H��H+�H��H����H�D$pH�E�H+�H��H;��H��H�H�@��VH�e�H�e�H��H�L$p�}i�H��H�M�����L�E�H��VH�M�[��L�D$pH��H�M0�)3���H�U�H��rH��H�M��BM�H��H���H���H��H+�H��H;��P���H�E�H�D$(H���H�E�L�D$!H�U8H�M��*���H�D$XH�D$P���D$@��f�D$H����D$J�D$KL�E�H�T$@I���V��I���D��H���I��H���UI��H���蠳�H�UXH�MPH+�H���kL�W�fEPH�e`H�M@��U���H����H���H��H���q�H��t6����C�u+H�H��H��=U����C�uH�H��H�@�"U�M��I��I�@�UI��H���H3�誈H��$�H�ĐA_A^_^]����@UH��H��H�E�H�EH�q�H�E�H�E�H�E�H�e�H�E��E�L�
��E3�A�PH�M��MO�H�U�H�M��S�H�Ā]���H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@�TH�����H;�u#L��H��H���XH�\$PH�l$XH�t$`H��@_�H���H�L$ �{�H�7�?H�L$ ��d�@SH��@H�����H9u	H��H��@[�H���H�L$ �{{�H���?H�L$ �d��H�\$WH��H��@H3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@���H�L$xH��tYH�H��H�@�)SH�H�L$xH��tH�H�T$@H;���H�@ �SH��H��$�H3�衆H��$�H�Đ_���d�H�#�H�L$(�z�H�*�?H�L$(��c����@SH��@H�BH9Hu;L��H�L$PH�T$ E3��?L���
H�T$ H����)��H���H;��H��@[�H���H�L$ �<z�H���?H�L$ �Wc���@SH��H�BL��H9HuJH�T$@I��轲���d$0H��HH�T$(�L$ �H�T$ H���G)��H���wH;��H��[�H�-�H�L$ �y�H�4�?H�L$ ��b��H��H�XH�hH�p H�HWH�� I��H��H���@��H��H�D$0H��t,W���C�CH���H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H���8�\�H��H�D$0H��t)W���C�CH�?�H�H�KH���3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H�����ՂH��H�D$0H��t,W���C�CH�h�H�H�KL��H���
����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H��谒���H�4�H�L�wI�I��H�@��OH������H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H���O����C�uH�H��H�@�vO�H��H�\$XH�t$`H�|$hH��@A^�H��H�L$ �/w�H���?H�L$ �J`��L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��-���H���H�H�[H��t9����C��u,H�H��H���N����C��uH�H��H�@��NH��H�\$PH��0_����H�\$H�t$WH�� H��I��I��H����V��D��L��H��H���S���H�\$0H���H�H��H�t$8H�� _���L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S����H���H�H�[H��t9����C��u,H�H��H���M����C��uH�H��H�@��MH��H�\$PH��0_����H�\$H�L$WH��@H��H���f@���H���H����H9u$H���H������ H��H�\$XH��@_�H�&�H�L$ �@u�H���?H�L$ �[^�����������@SH�� H�c�H��H���t
�@�H��H�� [������@SH�� H�[�H��H���t
�8�~H��H�� [������@SH�� H���H��H���t
���NH��H�� [������H�\$H�t$WH��@I�H��I��I��H��H�@��LH;�u;H�H��H�@�sLH���k��H;�uAH��H���[H�\$PH��H�t$XH��@_�H���H�L$ �t�H���?H�L$ �6]�H�γH�L$ �s�H�u�?H�L$ �]���@SH�� H���H��H���H+�H��H��tH�	A�H���ӫ��H��H�� [���y��H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@��KH;���H�H��H�@�wKH���o��H;�uML��H�T$PH������H�H� H�H�L$PH��tH��H��5KH�\$XH��H�t$hH�l$`H��@_�H�ƲH�L$ ��r�H�m�?H�L$ �\�H���H�L$ ��r�H�J�?H�L$ ��[��������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@��JH;���L��H�L$ H������H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H��IJ����C�uH�H��H�@�.JH�\$`H��H�l$hH�t$pH��P_�H��H�L$0��q�H�f�?H�L$0�[����H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0����H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H��]I����C�uH�H��H�@�BI�H�L$(H��t=����A�u2H�\$(H�H��H��I����C�uH�L$(H�H�@��H�H�_H��t5����C�u*H�H��H���H����C�uH�H��H�@��HH��L�\$`I�[I�kI�s I��_�H���H�L$@�vp�H���?H�L$@�Y�H�\$H�t$WH��@I�H��I��I��H��H�@�XHH;�u8H�H��H�@�CHH���;��H;�u>H��H���w���H�\$PH�t$XH��@_�H���H�L$ ��o�H�k�?H�L$ �	Y�H���H�L$ ��o�H�H�?H�L$ ��X������H�\$H�t$WH��@I�H��I��I��H��H�@��GH;�u8H�H��H�@��GH�����H;�u>H��H���7���H�\$PH�t$XH��@_�H�,�H�L$ �>o�H���?H�L$ �YX�H��H�L$ �o�H���?H�L$ �6X������H�\$WH��PH��I9��I���>�H�T$`H�D$`H�L$ ���H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H���F����C��uH�H��H�@��FH�\$hH��H��P_�H��H�L$0�Yn�H���?H�L$0�tW����H��H�XH�HWH��H��M��D��H�T$ H�H ��?���H�T$ H���p��H���H;8t5H�c8H�OpH��tH�H��H���EH�C8H��H��$�H�Ġ_�H�3�H�L$8�11��H��H�
GM@��T��L��H��H�L$X�:�L���H��H�L$x�:�H��H�L$ �P�H���?H�L$ �V��H��(�
"CeH�%X�4H�ȋ
9��BH���BH��(�H�
��B��~�=��B�u�W����B�x�owH�H�@H�@f�@H�w�BH�
`#��|�H�
s�B�~�H��(eH�%X�
�C�4H�ȋ
93�BH��@H��(�H�
�B�=~�=�B�u�H�
�"�x|H�
��B�}������������H�\$H�t$WH��@I�H��I��I��H��H�@�XDH;�u^H�H��H�@�CDH���;��H;�uH��H���[H�\$PH��H�t$XH��@_�H���H�L$ ��k�H�h�?H�L$ �U�H�.�H�L$ ��k�H�E�?H�L$ ��T���H�\$UVWH�l$�H��PH�=@H3�H�E@L��H��H�L$ W�D$(H�ZH��t�CH�ZH�BH�D$(H�\$0H�T$ I��菒��H�0H� H�t$8H�L$ H��tH��H�@�GC3�A��H�L$@�f�H�L$@���H�A��H�T$PH��H��
CH��H�L$X���H�M���H�F�H�E�H�M��_�H��H��H�@��B�H��t9����C��u,H�H��H���B����S��uH�H��H�B��BH��H�M@H3��-vH��$�H��P_^]���H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@�BH���#H;�u#L��H��H���XH�\$PH�l$XH�t$`H��@_�H���H�L$ �i�H�+�?H�L$ ��R�@SH��@H����H9u	H��H��@[�H���H�L$ �oi�H��?H�L$ �R��H�\$WH��H��@H3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@���H�L$xH��tYH�H��H�@�AH�H�L$xH��tH�H�T$@H;���H�@ ��@H��H��$�H3��tH��$�H�Đ_���R�H��H�L$(�h�H��?H�L$(�Q����@SH��@H�BH9Hu;L��H�L$PH�T$ E3��3:����H�T$ H�����H����H;��H��@[�H���H�L$ �0h�H���?H�L$ �KQ���@SH��H�BL��H9HuJH�T$@I��豠���d$0H��HH�T$(�L$ �pH�T$ H���;��H���[H;��H��[�H�!�H�L$ �g�H�(�?H�L$ ��P��H��H�XH�hH�p H�HWH�� I��H��H���@��qH��H�D$0H��t,W���C�CH�T�H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H���(�PqH��H�D$0H��t)W���C�CH��H�H�KH���3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H������pH��H�D$0H��t,W���C�CH��H�H�KL��H���
����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H��褀���H��H�L�wI�I��H�@��=H����H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H���=����C�uH�H��H�@�j=�H��H�\$XH�t$`H�|$hH��@A^�H���H�L$ �#e�H���?H�L$ �>N��L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��!���H�v�H�H�[H��t9����C��u,H�H��H���<����C��uH�H��H�@��<H��H�\$PH��0_����H�\$H�t$WH�� H��I��I��H���D��D��L��H��H���S���H�\$0H�s�H�H��H�t$8H�� _���L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S����H���H�H�[H��t9����C��u,H�H��H���;����C��uH�H��H�@��;H��H�\$PH��0_����H�\$H�L$WH��@H��H���Z.���H��H��	H9uH�.�H�H��H�\$XH��@_�H�&�H�L$ �@c�H���?H�L$ �[L�����������@SH�� H�#�H��H���t
�@�mH��H�� [������@SH�� H��H��H���t
�(�~mH��H�� [������@SH�� H���H��H���t
���NmH��H�� [������H��H�H�����H�
�����������H�iB@���������H�\$H�t$WH��@I�H��I��I��H��H�@�X:H;�u;H�H��H�@�C:H���[H;�uAH��H���k`��H�\$PH��H�t$XH��@_�H���H�L$ ��a�H�h�?H�L$ �K�H���H�L$ ��a�H�E�?H�L$ ��J���H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@��9H;���H�H��H�@��9H���H;�uML��H�T$PH����H�H� H�H�L$PH��tH��H��E9H�\$XH��H�t$hH�l$`H��@_�H�֠H�L$ �a�H�}�?H�L$ �J�H���H�L$ ��`�H�Z�?H�L$ �I��������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@��8H;���L��H�L$ H����H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H��Y8����C�uH�H��H�@�>8H�\$`H��H�l$hH�t$pH��P_�H�'�H�L$0�_�H�v�?H�L$0�I����H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0���H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H��m7����C�uH�H��H�@�R7�H�L$(H��t=����A�u2H�\$(H�H��H��(7����C�uH�L$(H�H�@�7�H�_H��t5����C�u*H�H��H���6����C�uH�H��H�@��6H��L�\$`I�[I�kI�s I��_�H���H�L$@�^�H��?H�L$@�G�H�\$H�t$WH��@I�H��I��I��H��H�@�h6H;�u8H�H��H�@�S6H���kH;�u>H��H�����H�\$PH�t$XH��@_�H���H�L$ �]�H�{�?H�L$ �G�H���H�L$ ��]�H�X�?H�L$ �F������H�\$H�t$WH��@I�H��I��I��H��H�@��5H;�u8H�H��H�@��5H���H;�u>H��H���S���H�\$PH�t$XH��@_�H�<�H�L$ �N]�H�˴?H�L$ �iF�H��H�L$ �+]�H���?H�L$ �FF������H�\$WH��PH��I9��I���Z�H�T$`H�D$`H�L$ ����H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H���4����C��uH�H��H�@��4H�\$hH��H��P_�H��H�L$0�i\�H��?H�L$0�E����H��H�XH�HWH��H��M��D��H�T$ H�H �-���H�T$ H�����H���H;8t5H�c8H�OpH��tH�H��H��
4H�C8H��H��$�H�Ġ_�H�C�H�L$8�A��H��H�
;@�B��L��H��H�L$X��(�L���H��H�L$x�(�H��H�L$ ��>�H��?H�L$ �D��H��(�
2�BeH�%X�4H�ȋ
9��BH���BH��(�H�
��B��l�=��B�u�W����B�x�eH�H�@H�@f�@H���BH�
���j�H�
��B�.l�H��(eH�%X�
��B�4H�ȋ
9[�BH���?H��(�H�
F�B�Ml�=:�B�u�H�
M�jH�
%�B��k������������H�\$H�t$WH��@I�H��I��I��H��H�@�h2H;�u^H�H��H�@�S2H���kH;�uH��H���k�H�\$PH��H�t$XH��@_�H�љH�L$ �Y�H�x�?H�L$ �C�H�>�H�L$ ��Y�H�U�?H�L$ ��B���@UH��H��H�E�H�EH��H�E�H�E�H�E�H�e�H�E��E�L�
q�E3�A�P H�M��Q,�H�U�H�M��0�H�Ā]���H�\$H�l$H�t$WH��@I�H��I��I��H��H�@�K1H�����H;�u#L��H��H���HH�\$PH�l$XH�t$`H��@_�H�ĘH�L$ ��X�H�k�?H�L$ �	B�H��8H�H�"H�D$ H�BH�bH�T$ H�D$(��H��8����H��tyH�\$H�t$ WH�� H��H��������3�H��H;�wTH��H��H��r
H����&��
H��tH����bH��H�H�L��H�FH���H�\$@H�FH�t$HH�� _��E�����H�\$WH�� H��H��H��tL��3�I���SH��H�H�\$0H��H�� _�@SH��@H��袒�H9u	H��H��@[�H�ݿH�L$ �W�H�<�?H�L$ ��@��H�\$WH��H�<�?H3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@�x�H�L$xH��tYH�H��H�@�m/H�H�L$xH��tH�H�T$@H;���H�@ �H/H��H��$�H3���bH��$�H�Đ_��A�H�g�H�L$(��V�H�n�?H�L$(�@����@SH��@H�BH9Hu;L��H�L$PH�T$ E3��(���H�T$ H���
��H���H;��H��@[�H���H�L$ �V�H���?H�L$ �?���@SH��H�BL��H9HuJH�T$@I�������d$0H��HH�T$(�L$ � H�T$ H�����H���H;��H��[�H�q�H�L$ �U�H�x�?H�L$ �?��H�\$H�t$H�L$WH�� H��H�����0`H��H�D$0H��t)W���C�CH���H�H�KH���3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H�����_H��H�D$0H��t,W���C�CH���H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�hH�p H�HWH�� I��H��H���@�_H��H�D$0H��t,W���C�CH�T�H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H����n���H�H�H�L�wI�I��H�@�!,H����H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H���+����C�uH�H��H�@��+�H��H�\$XH�t$`H�|$hH��@A^�H�I�H�L$ �sS�H��?H�L$ �<��L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��qv��H��H�H�[H��t9����C��u,H�H��H��+����C��uH�H��H�@��*H��H�\$PH��0_����@USVWAVH��H��pI��H��H��H�M�I���3��D��L��H��H���P����H�ԬH�3�H�]�D�sL�u�]�L�
�D�ÍS/H�M��B%�H�]�L�uȈ]�L�
_�D�ÍS;H�M�� %�H�H��H�@�O*L��L�MЍSSH�M�����H�U�H��rH��H�M�� �H�]�L�uȈ]�H�U�H��r
H��H�M��� �H��H��pA^_^[]��L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��A���H���H�H�[H��t9����C��u,H�H��H���)����C��uH�H��H�@�q)H��H�\$PH��0_����H�\$UVWH�� E3�H��L�L�AL�AH�2H�jH;�t{H��H���������H+�H��H�H��H��H��?H�H�"""""""H;�wXHk�xH��r
H���/��
H��tH���0[L��L�N�L�CH��L�KH��L��萕�H�CH��H�\$PH�� _^]��=����H��H�XH�hH�p H�HWH��@H��H���A���H���H����H9EurH��H�H��XH��8H���H��@H����E������D$ H�T$ H������H���H�����H��H�\$XH�l$`H�t$hH��@_�H���H�L$ ��O�H�I�?H�L$ ��8���@SH�� H��H���H��t+H���H+�H���|�H���H���H���H��X�@6�H��@H��tIL��PH���������L+�I��I�H��H��H��?H�Hk�x��H��@H��HH��PH��8��5�H�S(H��rH�KH�����H�c H�C(�CH�� [�����������@SH�� H���H��H���t
���^YH��H�� [������@SH�� H�;�H��H���t
���.YH��H�� [������@SH�� H�3�H��H���t
�@�XH��H�� [������H�\$WH�� ��H���x�����t
��H����XH�\$0H��H�� _�������������H�\$H�t$WH��@I�H��I��I��H��H�@��%H;�u;H�H��H�@��%H��胈�H;�uAH��H���[H�\$PH��H�t$XH��@_�H�1�H�L$ �M�H��?H�L$ �6�H�>�H�L$ �hM�H��?H�L$ �6���H�\$UVWATAUAVAWH��$p���H��H���?H3�H���H��L��H�M�H�zH��t�GH�zH�ZH��8A��H��t9A����GA�u,H�H��H���$A����GA�uH�H��H�@��$W�3���H���H�~H��t�GH�~H�VH�U�H�}�H��@H����5����H��t9A����GA�u,H�H��H��s$A����GA�uH�H��H�@�V$L�sL+3I��H���H���H+�H��3�H����A�H�U`H�	� ���D�I�WPH��PH��HDžH��PH��HDžH��TH�� HDž(H��XH��0HDž8H��dH��@HDžHW��P�`H�D�G H��P��BH�}��_H�]�@�}�L�
�D�ǍW/H�M���H�}�H�]�@�}�L�
��D�ǍWH�M����H�|$PH�\$X@�|$@L�
�D��A��H�L$@���H�|$pH�\$x@�|$`L�
ݥD�ǍW;H�L$`��H���H+��I���������I��H��H�H��H��H��?H�H�H��H�@��"L��H�E�H�D$8H�\$0H�E�H�D$(L�t$ L�L$@�W)H�L$`�'���H�T$xI;�r
H��H�L$`�#�H�|$p�H�\$x@�|$`H�T$XI;�r
H��H�L$@��H�|$PH�\$X@�|$@H�U�I;�rH��H�M����H�}�H�]�@�}�H�U�I;�rH��H�M���L��M����M�n�L��H�}�H�]�@�}�D��H�M�M;��cL�
ݤ�@�c�H�|$pH�\$x@�|$`L�
�D�ǺH�L$`�:�H�\$XH�D$P���D$@���D$H��f�D$L@�|$NH�}�H�]�@�}�L�
�D�Ǻ;H�M����H���I�H�_xH�H��H�@�� L��H�E�H�D$8H�\$0H�D$`H�D$(H�|$ L�L$@�/H�M������H�U�H��rH��H�M���3�H�}��_H�]�@�}�H�T$XH��r
H��H�L$@�\�H�|$PH�\$X@�|$@H�T$xH��r
H��H�L$`�5�H�|$pH�\$x@�|$`�oL�
��,��H�\$xH�D$p�!��D$`��f�D$h���D$j@�|$kH�\$XH�D$P�£�D$@����D$H���f�D$L@�|$NH�}�H�]�@�}�L�
��D�Ǻ;H�M��m�H���I�H�H��H�@��L��H�E�H�D$8H��H�D$0H�D$`H�D$(H�\$ L�L$@�2H�M�����H�U�H��rH��H�M���H�}��H�]�@�}�H�T$XH��r
H��H�L$@���H�|$PH�\$X@�|$@H�T$xH��r
H��H�L$`��H�|$pH�\$x@�|$`H�U�H��rH��H�M���H�}�H�]�@�}�L�
��D�Ǻ2H�M��h�|$ E3�E3�3�H�M��H�H�\$XH�D$P����D$@���f�D$D����D$F@�|$GH�\$xH�D$p���D$`���D$h��f�D$l@�|$nH�}�H�]�@�}�L�
�D�Ǻ;H�M����H���I�H�H��H�@��L��H�E�H�D$8H�E�H�D$0H�D$@H�D$(H�\$ L�L$`�5H�M��ւ���H�U�H��rH��H�M��k�H�}��H�]�@�}�H�T$xH��r
H��H�L$`�B�H�|$pH�\$x@�|$`H�T$XH��r
H��H�L$@��H�|$PH�\$X@�|$@H�U�H��rH��H�M���I��I��xM;��F���L�m�I���������H���H���H+�H��H��trA�I��H�	��{���H���H��t*L���L+�I��I��I�H��L��I��?I�Hk�x�y�I��H���H3��GPH��$�H�ĐA_A^A]A\_^]��J��J��H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@�@H;���H�H��H�@�'H����~�H;�uML��H�T$PH���B�H�H� H�H�L$PH��tH��H���H�\$XH��H�t$hH�l$`H��@_�H�v�H�L$ �C�H��?H�L$ �,�H�k�H�L$ �}C�H���?H�L$ �,��������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@�PH;���L��H�L$ H����H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H�������C�uH�H��H�@��H�\$`H��H�l$hH�t$pH��P_�H�ǨH�L$0�B�H��?H�L$0�+����H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0�W�H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H��
����C�uH�H��H�@���H�L$(H��t=����A�u2H�\$(H�H��H�������C�uH�L$(H�H�@���H�_H��t5����C�u*H�H��H�������C�uH�H��H�@�lH��L�\$`I�[I�kI�s I��_�H���H�L$@�&A�H���?H�L$@�A*�H�\$H�t$WH��@I�H��I��I��H��H�@�H;�u8H�H��H�@��H���{�H;�u>H��H�����H�\$PH�t$XH��@_�H���H�L$ �@�H��?H�L$ �)�H�Q�H�L$ �{@�H���?H�L$ �)������H�\$H�t$WH��@I�H��I��I��H��H�@�XH;�u8H�H��H�@�CH����z�H;�u>H��H����H�\$PH�t$XH��@_�H�ܥH�L$ ��?�H�k�?H�L$ �	)�H��H�L$ ��?�H�H�?H�L$ ��(������H�\$WH��PH��I9��I����H�T$`H�D$`H�L$ ��H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H��a����C��uH�H��H�@�DH�\$hH��H��P_�H���H�L$0�	?�H���?H�L$0�$(����H��H�XH�HWH��H��M��D��H�T$ H�H ����H�T$ H��� ��H���H;8t5H�c8H�OpH��tH�H��H���H�C8H��H��$�H�Ġ_�H��H�L$8����H��H�
�@�%��L��H��H�L$X�b�L���H��H�L$x�M�H��H�L$ �o!�H���?H�L$ �>'��H��(�
��BeH�%X�4H�ȋ
9��BH���BH��(�H�
��B�}O�=��B�u�W��y�B�x�HH�H�@H�@f�@H�W�BH�
���M�H�
S�B��N�H��(eH�%X�
9�B�4H�ȋ
9�BH���?H��(�H�
��B��N�=�B�u�H�
=��(MH�
ݴB�lN����H�\$H�t$WH�� 3�L�D$8W�3�H�AH��H�RH��H�9H�yH�y�4�H9~v;��H�H��H�LH�R@L�D�D�L�L�H;~r�H�t$@H��H�\$0H�� _���������H�\$H�t$WH��@I�H��I��I��H��H�@�xH;�u^H�H��H�@�cH���w�H;�uH��H���[H�\$PH��H�t$XH��@_�H��{H�L$ �<�H���?H�L$ �&%�H�N�H�L$ ��;�H�e�?H�L$ �%���H�\$UVWATAUAVAWH��$@���H��H�R�?H3�H���H��L��H�L$8W�E�H�rA�H��t	�DfH�rL�jL�m�H�u�H�T$8H���b��L�0H� L�u�H�L$8H��tH�A��H�@�XI��8W�3�E@H�EPI��@H�M@����H���H���H+�H��E3�H���H�93�A��H����k6A��H����l��3�E�EHH�M`�L6L�%=�L�e`W��D$0L�D$ H�T$0H�Mh���H�E�H�D$(H�H��H�@��L�m�L�m�H��H�M��G%�A�}H�}�H�E�H�input idH�E�D�m�L�E�H�U�H�M`����L�m�H�}�D�m�L�
X�E�ōWH�M����L�CL+I��H�U�H�M`��H�|$XH�D$P�3��D$@�/��D$HD�l$LH�MHH+M@H���������H��H�H��L��I��?L�H�T$@H�M`��H�E�H�D$(L�e�L�D$!H�UhH�M�+��H�|$xH�D$p
�ĕ�D$`���f�D$hD�l$jL�E�H�T$`I���x��I���D��H���I��H��@I��H����!o�H���H���H+�H�����W�f��L���H�Mp�O���H��H���H�
>~H��HH��H�s-�L�E@M��t=H�MPI+�H���������H��H�H��H��H��?H�Hk�xI���h�W��E@L�mPI��I��H�@�w�H��t5����F�u*H�H��H��W����V�uH�H��H�B�<I��H���H3���CH��$H��A_A^A]A\_^]��*>����������H�\$WH��0H��H��H��XH�T$ �'*����H���H���H�\$@H+�H��H�L$(H�D$ D$ ���H��0_��H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�LH��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@�?H���gH;�u#L��H��H���H�\$PH�l$XH�t$`H��@_�H��vH�L$ ��6�H�_�?H�L$ ��L��SVWH��`H�c�?H3�H�D$PH��H��I�S�E�C�I�S�I�K��H��H�OL��H�T$0���H�H��0H������H�\$(H��t9������C�u+H�H��H��m����C�uH�H��H�@�R�H�VH��rH��H���H�fH�F�H�L$PH3���AH��`_^[����@SH��@H���6H9u	H��H��@[�H��H�L$ ��5�H�H�?H�L$ ����H�\$WH��H�H�?H3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@���H�L$xH��tYH�H��H�@�y
H�H�L$xH��tH�H�T$@H;���H�@ �T
H��H��$�H3���@H��$�H�Đ_���H�s�H�L$(�4�H�z�?H�L$(�����@SH��@H�BH9Hu;L��H�L$PH�T$ E3�����H�T$ H�����H���	H;��H��@[�H��H�L$ �4�H�	�?H�L$ ����@SH��H�BL��H9HuJH�T$@I���
m���d$0H��HH�T$(�L$ �H�T$ H�����H���H;��H��[�H�}�H�L$ �4�H���?H�L$ �"��H��H�XH�hH�p H�HWH�� I��H��H���@�5>H��H�D$0H��t,W���C�CH�P�H�H�KL��H�������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H���8�=H��H�D$0H��t)W���C�CH��H�H�KH���3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H�\$WH�� H��H��� �6=H�D$0L��H��t0W��A�@A�@H�בI�H��I�@�A�@�E3�I�@W�H�H��L�CH�\$8H�� _����H��H�XH�hH�p H�HWH�� I��H��H�����<H��H�D$0H��t,W���C�CH���H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H���L���H�x�H�L�wI�I��H�@��	H����H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H��e	����C�uH�H��H�@�J	�H��H�\$XH�t$`H�|$hH��@A^�H��pH�L$ �1�H���?H�L$ ���L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��T��H�>�H�H�[H��t9����C��u,H�H��H�������C��uH�H��H�@��H��H�\$PH��0_����H�\$H�t$WH�� H��I��I��H�����D��L��H��H���S���H�\$0H��H�H��H�t$8H�� _���L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S����H�z�H�H�[H��t9����C��u,H�H��H�������C��uH�H��H�@��H��H�\$PH��0_����H�\$H�L$WH��@H��H���:��H�z�H��H9u0H���H������ �����$H��H�\$XH��@_�H��H�L$ �/�H���?H�L$ �#���@SH�� H���H��H���t
�@�~9H��H�� [������@SH�� H���H��H���t
�8�N9H��H�� [������@SH�� H���H��H���t
� �9H��H�� [������@SH�� H�یH��H���t
����8H��H�� [������H�)�H�H�����H�
�X����������H��@���������H�\$H�t$WH��@I�H��I��I��H��H�@��H;�u;H�H��H�@��H���H;�uAH��H���[H�\$PH��H�t$XH��@_�H�1�H�L$ �-�H��?H�L$ ��H�>mH�L$ �h-�H��?H�L$ ����H�\$UVWATAUAVAWH��$����H��`H���?H3�H��PL��L��W�D$0H�rH��t�FH�rH�BH�D$0H�t$8H���H���H+�H��H����A�H���H�	��d�����W�3���H���H���H����F�I�~H��t�GI�~I�FLc� A��H��t9A����GA�u,H�H��H��uA����GA�uH�H��H�@�XI�~H��t�GI�~I�FD��$H��t9A����GA�u,H�H��H��A����GA�uH�H��H�@��H���B��A��B��H�M��r�H��A�H���H�L$@�l�L��H�|$ D��H���I����	�H���H��t&H���H+�H���^��W����H���H��t9A����FA�u,H�H��H��ZA����VA�uH�H��H�B�=I��H��PH3���6H��$�H��`A_A^A]A\_^]��+1�����������H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@��H;���H�H��H�@��H����
H;�uML��H�T$PH�����H�H� H�H�L$PH��tH��H��uH�\$XH��H�t$hH�l$`H��@_�H�jH�L$ �0*�H���?H�L$ �K�H���H�L$ �
*�H���?H�L$ �(��������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@��H;���L��H�L$ H���C���H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H�������C�uH�H��H�@�nH�\$`H��H�l$hH�t$pH��P_�H�W�H�L$0�))�H���?H�L$0�D����H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0���H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H�������C�uH�H��H�@���H�L$(H��t=����A�u2H�\$(H�H��H��X����C�uH�L$(H�H�@�;�H�_H��t5����C�u*H�H��H������C�uH�H��H�@���H��L�\$`I�[I�kI�s I��_�H�$�H�L$@�'�H�3?H�L$@���H�\$H�t$WH��@I�H��I��I��H��H�@���H;�u8H�H��H�@���H���H;�u>H��H���g�H�\$PH�t$XH��@_�H��H�L$ �.'�H��~?H�L$ �I�H��fH�L$ �'�H��~?H�L$ �&������H�\$H�t$WH��@I�H��I��I��H��H�@��H;�u8H�H��H�@��H���H;�u>H��H���'�H�\$PH�t$XH��@_�H�l�H�L$ �~&�H��}?H�L$ ��H�1fH�L$ �[&�H��}?H�L$ �v������H�\$WH��PH��I9��I���.�H�T$`H�D$`H�L$ ��H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H�������C��uH�H��H�@��H�\$hH��H��P_�H�G�H�L$0�%�H�}?H�L$0�����H��H�XH�HWH��H��M��D��H�T$ H�H �&���H�T$ H�����H���H;8t5H�c8H�OpH��tH�H��H��:�H�C8H��H��$�H�Ġ_�H�s�H�L$8�q��H��H�
O@�&��L��H��H�L$X����L��H��H�L$x����H��H�L$ ��H� }?H�L$ ��
��H��(�
b�BeH�%X�4H�ȋ
9_�BH�F�BH��(�H�
J�B�
6�=>�B�u�W��!�B�x�.H�H�@H�@f�@H���BH�
���4�H�
��B�^5�H��(eH�%X�
ɸB�4H�ȋ
9��BH�.�?H��(�H�
��B�}5�=��B�u�H�
��3H�
��B�4������������H�\$H�t$WH��@I�H��I��I��H��H�@���H;�u^H�H��H�@���H���H;�uH��H���[H�\$PH��H�t$XH��@_�H�cH�L$ �+#�H��z?H�L$ �F�H�n�H�L$ �#�H��z?H�L$ �#���H�\$H�t$ UWATAVAWH��$`���H��H�p�?H3�H���H��H��H�L$8W�E�H�zA�H��t	�DgH�zL�zL�}�H�}�H�T$8H���I��L�0H� L�u�H�L$8H��tH�A��H�@�v�H���H���H+�H��H����H�3�A��H����A��H���貚�3�D�BHH�M@�L�%��L�e@W��D$0L�D$ H�T$0H�MH�_��H�E�H�D$(H�H��H�@��H�e�H�e�H��H�M���H�]�H�E�H�input idH�E��E�L�E�H�U�H�M@�6��H�]�H�E��E�axis�E�E�� H�U�H�M@��H�\$XH�D$P���D$@���D$D�D$EE��$H�T$@H�M@�_O��H�E�H�D$(L�e�L�D$!H�UHH�M���H�\$xH�D$p	�1�D$`�-�D$h�D$iL�E�H�T$`I�����I���D��H���I��H����H��H����V�H�UhH�M`H+�H���c��W�fE`H�epH�MP���H��(���H��eH��(H��(��I��SI��H�@�A��H��t5����G�u*H�H��H��!�����W�uH�H��H�B��H��H���H3��+L��$�I�[@I�sHI��A_A^A\_]���%���@UH��H��H�E�H�EH��~H�E�H�E�H�E�H�e�H�E��E�L�
�|E3�A�PH�M��A��H�U�H�M��s��H�Ā]����������̋� �����$�������H��8H�H�"H�D$ H�BH�bH�T$ H�D$(�H��8����H�\$H�l$H�t$WH��@I�H��I��I��H��H�@��H����Y�H;�u#L��H��H���XH�\$PH�l$XH�t$`H��@_�H�`^H�L$ ��H�v?H�L$ ��@SH��@H���Y�H9u	H��H��@[�H�i�H�L$ �K�H��u?H�L$ �f��H�\$WH��H�ȸ?H3�H��$�I��H��H�T$ I�@H9Huv3�H�L$@�t�H�L$xH��tYH�H��H�@���H�H�L$xH��tH�H�T$@H;���H�@ ��H��H��$�H3��q)H��$�H�Đ_���H��H�L$(�}�H��t?H�L$(�����@SH��@H�BH9Hu;L��H�L$PH�T$ E3�����H�T$ H�����H���H;��H��@[�H���H�L$ ��H��t?H�L$ �'���@SH��H�BL��H9HuJH�T$@I���U���d$0H��HH�T$(�L$ �H�T$ H�����H���H;��H��[�H���H�L$ ��H�t?H�L$ ���H��H�XH�hH�p H�HWH�� I��H��H���@�&H��H�D$0H��t,W���C�CH��~H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$H�t$H�L$WH�� H��H���X�,&H��H�D$0H��t)W���C�CH�'~H�H�KH����3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H�����%H��H�D$0H��t,W���C�CH�P}H�H�KL��H���
����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�pH�x H�HAVH��@I��H���5���H��zH�L�wI�I��H�@���H���U�H;�utL�whH�^H��t�CH�^H�FH�GpH��t9������C�u+H�H��H��a�����C�uH�H��H�@�F��H��H�\$XH�t$`H�|$hH��@A^�H��YH�L$ ��H�|q?H�L$ ���L��I�[I�SWH��0H��H��H�I�C�H�BI�C�H�"H�bI�S��<��H�ZyH�H�[H��t9����C��u,H�H��H��������C��uH�H��H�@���H��H�\$PH��0_����@USVWAVH��H��pI��H��H��H�M�I����D��L��H��H���P����H� yH�H�Gp��8��3�H�]�D�sL�u�]�L�
|zD�ÍSZH�M����H�]�L�uȈ]�L�
�zD�ÍS@H�M����H�H��H�@���L��L�MЍSRH�M��;H���H�U�H��rH��H�M��p��H�]�L�uȈ]�H�U�H��r
H��H�M��O��H��H��pA^_^[]�H�\$H�T$WH��0H��H��W��D$ L�JM��t	�A�AL�JH�H�D$ L�L$(H�T$ �!���H��wH�Ƈ�H�[H��t9����C��u,H�H��H��������C��uH�H��H�@���H��H�\$PH��0_�H�\$H�L$WH��@H��H���n��H��vH��R�H9uXH��vH������0�����4�����8�������<�����@H��H�\$XH��@_�H��}H�L$ ��H��n?H�L$ �/���������������@SH�� H�KyH��H���t
�@�~!H��H�� [������@SH�� H�CyH��H���t
�X�N!H��H�� [������@SH�� H��xH��H���t
���!H��H�� [������H�\$H�t$WH��@I�H��I��I��H��H�@�X�H;�u;H�H��H�@�C�H���KQ�H;�uAH��H���[H�\$PH��H�t$XH��@_�H��{H�L$ ���H�hm?H�L$ ���H��UH�L$ ���H�Em?H�L$ �����H�\$UVWH��$����H��PH�:�?H3�H��@H��W�D$0H�ZH��t�CH�ZH�rH�t$0H�\$8H���H���H+�H��H���YA�H���H�	�RM����0H���H��D�D�ʉL$ H���D�H����H��@�-�H�E�H�D$@H�D$HH�E�H�D$PH�D$XH�E�H�D$`H�D$hH�E�H�D$pH�D$xH�E�H�E�H�E�(��E�(��M�H��@�'��H�D$ L�L$@D���H���H�M����H�U�H�����H��t8������C�u*H�H��H��G�����S�uH�H��H�B�,�H��H��@H3���H��$�H��P_^]��"��H�\$H�l$H�t$ WH��@I�H��I��I��I��H��H�@���H;���H�H��H�@���H���N�H;�uML��H�T$PH���F���H�H� H�H�L$PH��tH��H��u�H�\$XH��H�t$hH�l$`H��@_�H�SH�L$ �0�H��j?H�L$ �K��H��xH�L$ �
�H��j?H�L$ �(���������H�\$H�l$H�t$WH��PI�H��I��I��I��H��H�@���H;���L��H�L$ H���G���H�H� H�H�HH�`H�\$(H�OH��t8������C�u*H�H��H��������C�uH�H��H�@�n�H�\$`H��H�l$hH�t$pH��P_�H�WxH�L$0�)�H��i?H�L$0�D�����H��H�XH�hH�pL�H WH��`I��H��I�H9J�"I�AH��t�@I�AH�T$ H�D$(H�T$ H�L$0�K���H�H�H�HH�NH� H�`��H�\$8H��t6����C�u+H�H��H��������C�uH�H��H�@����H�L$(H��t=����A�u2H�\$(H�H��H��X�����C�uH�L$(H�H�@�;��H�_H��t5����C�u*H�H��H�������C�uH�H��H�@���H��L�\$`I�[I�kI�s I��_�H�$wH�L$@��H�3h?H�L$@���H�\$H�t$WH��@I�H��I��I��H��H�@���H;�u8H�H��H�@���H���K�H;�u>H��H�����H�\$PH�t$XH��@_�H�vH�L$ �.�H��g?H�L$ �I��H��OH�L$ ��H��g?H�L$ �&�������H�\$H�t$WH��@I�H��I��I��H��H�@���H;�u8H�H��H�@���H����J�H;�u>H��H����H�\$PH�t$XH��@_�H�luH�L$ �~�H��f?H�L$ ��H�1OH�L$ �[�H��f?H�L$ �v�������H�\$WH��PH��I9��I����H�T$`H�D$`H�L$ �.�H�H� H�H�HH�`H�\$(H�OH��t9����C��u,H�H��H��������C��uH�H��H�@���H�\$hH��H��P_�H�GuH�L$0��H�f?H�L$0�����H��H�XH�HWH��H��M��D��H�T$ H�H �&���H�T$ H��谽�H���H;8t5H�c8H�OpH��tH�H��H��:�H�C8H��H��$�H�Ġ_�H�svH�L$8�q��H��H�
��?�&��L��H��H�L$X����L�vH��H�L$x����H��H�L$ ���H� f?H�L$ ����H��(�
b�BeH�%X�4H�ȋ
9w�BH�^�BH��(�H�
b�B�
�=V�B�u�W��9�B�x�H�H�@H�@f�@H��BH�
����H�
�B�^�������������H�\$H�t$WH��@I�H��I��I��H��H�@���H;�u^H�H��H�@���H����G�H;�uH��H���[H�\$PH��H�t$XH��@_�H�aLH�L$ ��H�d?H�L$ ��H��qH�L$ �h�H��c?H�L$ ����H�\$UVWATAUAVAWH��$���H��	H�Ҧ?H3�H���L��L��H�L$(3�A��H�������H���莄�W�D$8I�v3�H��t�^I�vM�~L�|$8H�t$@I���I���H+�H��H���H�9H�|$0H�
��H�xPA8�<HE�H�D$(H���HDž����A��8A���tA��tL�
�kD��A�UH�������WL���H�bilinearH�������7HDž��uk����lkf����ak������H���I���C��L��H�\$ H�HH�@H��H;�tHcL��H��H;�u�L�D$ H���H�EPL�mXH���H�E`H�]hH���H�EpH�]xH���H���HDž�H���H���A�L���W�����I��A�]D��H����H�E H�E�H�E�H�E H�E�K�H�M�H�E$H�E�H�M�H�E(H�EH�EH�E4H�EL�mW�E E0I���D��H�M �1A�H��PH����A��D�k�H�HH�@H���HcL��H��H;�u�H��jH���O�I�WI�(rI�WM�G H���R�H��H�H��H�@�\�H��H��jH���ZO�H��H�xj�KO�H��H�rH�L�GH���2R�H��A�H���H�L$0�A��H��H�q�H���	O�H��I���ާ�H��H�\i��N�H��H�T$HH�O�����H��H�xrH�L�@H����Q�H�T$`H��r
H��H�L$H�k��E3�L�l$XH�D$`D�l$HH��iH���N�H��A��0�']��H��H�ui�hN�H��A��4�	]��H��H�Gi�JN�H���H���HC��L���H���$Q�H��hH���N�H��H�T$(�N�H��H��h�M�H���A�@���H��H��h��M�H��H�T$hH�M������H��H�xrH�L�@H���P�H�U�H��r
H��H�L$h�V��L�l$xA�L�}�D�l$hH�hH���sM�H��H�U�H�MP蟓���H��H�xrH�L�@H���IP�H�U�H��rH��H�M�����L�m�L�}�D�m�H��PI���?��H��H��gH���M�H��H�T$ �إ�H��H�Vg��L�H��H�U�H�K�����H��H�xrH�L�@H���O�H�U�H��rH��H�M��h��L�m�L�}�D�m��
H�����I��H���c<�H���H��rH��H����&��L���L���D���H��t9������F�u+H�H��H�������F�uH�H��H�@���H���藞�H�GKH���H����|��I��H���H3��yH��$P	H��	A_A^A]A\_^]�����������̋�0�����4�����8�����<�����@������H��(eH�%X�
��B�4H�ȋ
9}BH�j�?H��(�H�
�|B��=�|B�u�H�
����H�
�|B�0����������������H�\$H�t$WH�� H�Y��H��H��t9����C��u,H�H��H��������C��uH�H��H�@���@��t
�H���H�\$0H��H�t$8H�� _�����H�\$WH�� H��H����H��XH9�Pt�/H�\$0H��H�� _����������H�\$WH�� H����H��P�%=H���1��t
�hH���H�\$0H��H�� _��������������H�\$WH�� ��H���7��t
��H���JH�\$0H��H�� _�������������H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@�j�H����V�H;�u`H9~u7H�L��M��H��H��H�@ �>�H�\$`H��H�l$hH�t$pH�|$xH��PA^�H�IiH�L$0���H�pZ?H�L$0���H��hH�L$0���H�MZ?H�L$0��������������H�\$H�t$WH��@H��H��H�JH�H�@���H���*V�H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%t�H�hH�L$ �G�H��Y?H�L$ �b��H�*hH�L$ �$�H��Y?H�L$ �?����������������H�\$WH�� ��H��H�QhH��rH�IPH������H�c`H�KH�Ch�CP��e��@��t
�pH���^H��H�\$0H�� _�H��H�XH�h H�PVWAVH��0I��H��E3�D�p�L�2L�rL�rL�rL�r L�r(H�r0L�6L�r8L�r@L�rHL�rPL�rXL�r`L�rhL�rpL�rxL���L���L���L���L���L���D���L����@�A��I�����H����H��H�����H�D$(H��t	�@H�D$(H�WH;WtH�I��H�D$(H�G�L�D$(H���H�D$(H��t#����H��uH�L$(H��H����H��H�����H;��x���H�]XH��t�CH�D$XH;�t+H�H��t����A��uH��H��B�H��&H��t!����C��uH��H��H���H��H�\$PH�l$hH��0A^_^��@USVWATAUAVAWH�l$�H��xH�h�?H3�H�EhM��L�L$HI��H��H�T$PH��H�T$8H�I��H�@0�����tE3�L��H��H���M:�W�3�E@H�EPH��H�M@��H�H��H�@@�j�D��H�H�AHH��W�A��DD�3�H�\$8H���H+��H��H���bE3�3�3�H�E0W��M H!E0E3�E����H�E��M��H�T$`H��H�@8����H�� H��XH�H�ED�eL���H���I;�tAH�U�H;U�tH�H�H��t�@H�U�H��H�U��L��H�L$x�3��H�U�H��I;�u�W�EXL�|$HI�Wh3�H�]XH�]`H���L��H�H�MX���H�MX躹H�����tJ�D2ƀ��I�Gh���J�D2���L�� L�H���I�H�D$`H�D$ L�M@H�U8����H�U(H;U0tH�E8H�H��t�@H�E(�L�E8H�M ��2���H�M8H��t#����A��uH��tH��H����H�]8H�MXH�AH�H�	H��tH���A��H��H��u�H�MX�+��H�L$`�-A��E;��:���H�\$8D�L$0L�E(H�U H�M@�U�H�M H��t!L�E H�U(�[�H�U0H�M H+�H������H��H�\$8H�ƐI��@H���H+��H��H;������H�t$PA��A��L�E@H��H���h7�H�M@H��t!L�E@H�UH�[�H�UPH�M@H+�H���Y��H��H�MhH3��*H��xA_A^A]A\_^[]�������H�\$WH�� ��H���%��t
�H����H�\$0H��H�� _�������������H��H�XH�p H�PWH��0I��H��H�ك`��:����D$ H�Kp�=����H�O(H�G0H+�H��H����H�AH�XXH��t�CH���H�D$@H;�t+H�H��t����A��uH��H����H��&H��t!����C��uH��H��H��U�H��H�\$PH�t$XH��0_��]��������������H�\$WH�� ��H���+��t
�@H���H�\$0H��H�� _�������������H�`H�H�AH�BH�������������H�AH��H�%����H���?���������H�\$WH�� H��_H��H���H��0�^%H�S(H��rH�KH���H��H�c H�C(�C@��t
��H����H��H�\$0H�� _�������H�\$WH�� ��H���(��t
�PH���H�\$0H��H�� _�������������H�\$WH�� ��H���<-��t
�0H���jH�\$0H��H�� _�������������H�\$WH�� H�w`��H�H����,��t
�0H��� H�\$0H��H�� _���H�\$UVWH��0I��I��H��H�L$ H�H�a�x�H��H�G��A H�CH�A(�C�A0H�i8H�l$(H�e8H�KPH��tH�H��H���H�E8H�GH�0H�GH�pH�OH�q3�H�O�DH��H��|�H��H�\$XH��0_^]��H�\$ UVWH�� L�IH��I��I��L�H+�M+�H��I��H��I;�vAH�AI+�H��H;�v�/L�E3�J��H��H���HL�GL��H��H���
H���I��H��H���"H�WL��H���V�H�_H�\$XH�� _^]���H�\$H�t$WH�� I��H��H��H;�tGH;�t5H�H��t����A��uH��H����H�H�H��t�@H��H��H;�u�H�t$@H��H�\$8H�� _��H;�tNH�\$WH�� H��H�YH�K�H��tH�H+�H����Z��H�c�H�c�H�#H��HH�C�H;�u�H�\$0H�� _�����H;�t.H�\$WH�� H��H��H����"H���H;�u�H�\$0H�� _�������������H;�t.H�\$WH�� H��H��H���%H�ÐH;�u�H�\$0H�� _�H;�t4H�\$WH�� H��H��H�3�H��H����H��@H;�u�H�\$0H�� _���H��H�XH�pWH��pI��)p�M��H��L��H�P��0�@�D$P�|$Pt$@t
H�D$@�H�"""""""H9C��L�H�L$ L��H�����H�pH�`H�L$(H��t<H�y8L�G8M��t I�L;�I����H�@ ��H�g8H�L$(H��t
�x���L��H�T$@H���t$@觵�(t$`L�\$pI�[I�sI��_�������H�L$SVWATAUAVAWH��@M��L��H��L��L+9I��H�AH+H��I��������I;��NL�@L�D$(H�IH+H��H��H��I��H+�H;�vL��$�H������0H�
M��I;�LC�M;��J�4�L��$�H��rH���E��H��H��$��,H��tH���;�H��H��$��
3�H��$�L��$�N�4�M�~L�|$0I�EI�I�eL�t$ H�SH�L;�uL���L��L��I�����H�|$ H�SI��L��M������H�H��tL��H�S��R�H�SH+H��H�� ��H�;H�D$(H��H�KH�>H�KI��H��@A_A^A]A\_^[��p����*����L�D$H�L$SVWATAUAVAWH��0L��H��L��L+	I�9��8��8I��I��L��I��I��H��?L�H�IH+I��H��H��H��H��?H�H���8��8�H;��7L�jH�NH+I��H��H��H��H��?H�H��H��H��H+�H;�vH�\$xH���0H�I��I;�HC�H;���H��H��H��H�\$xH��r�q��H��L��$��3�H��t�h�H��L��$�H�\$xH�|$ K��L�4�M�~HL�|$(L��$�I��I���
H�0�I�L��$�H�VL��L��H�L;�u��#I���H��$�L��M��H�VI����L��M��H��H���'I��H��0A_A^A]A\_^[������r����L�D$H�L$SVWATAUAVAWH��0L��H��L��L+1H�AH+H��H��������H;��L�hH�IH+H��H��H��H��H+�H;�vH�\$xH������,H�
I��I;�HC�H;���H��H��H�\$xH��r��H��L��$��3�H��t�H��L��$�H�\$xH�|$ I��L�M�~@L�|$(L��$�I��I���9L��$�H�VL��L��H�L;�u�R�#I���HH��$�L��M��H�VI���.�L��M��H��H���('I��H��0A_A^A]A\_^[��P����
����H�\$H�l$H�t$ WAVAWH��@H�)E3�M��I��H��E8xtMH�ED8xu/H�MA�q9q0|"��I�AH9A(r�~A�9A �rH�EH�D�zD�z�
A�qH;}u5A;p0|#�HI�@(I9Ar�8A�@ A9�+H�:�B�A;p0��I�@(I9A��w
A�@ A9��A9p0|%I�AI9@(rw	A�A9@ |H�:D�z�B�wI�HD�AE��t%H�OD8yuTH��H��H;Au'H�IH��D8yt��H�D8zuH�H��H��D8xt�D8yu;q0|tH�A(I9Ar
wh�A A9}`D�{H��E��tH�;D�{�H��C��H�L$`H�|$`�
��H�9r0��I�FH9B(��wA�9B ��H�MH�L$ �4H�L$ 9q0|&I�FH9A(rwA�9A |H���D$(H�	�	H�ID�|$(D8yt�D8}u+;u0|&H�E(I9Frw�E A9|H�+�C�C�1D$ D�{��"H�B�HD�{��t	H�D�{�
H�;�CH��H�\$hH�l$pH�t$xH��@A_A^_�@SH�� I���H�H�H��t�@H��H��H;�u�M��H��H���L�H��H�� [�����������H��H�XH�hH�p WH��@I��I��H��H��W�@�H�X�H�X�L�H�H;�t'H��H���H��H�H��HH�\$(H��HH;�u�L��H��H�����H��H�\$XH�l$`H�t$hH��@_������������H��H�XH�hH�p WH��@I��I��H��H��W�@�H�X�H�X�L�H�H;�t#H��H���=H�ÐH�\$(H�ǐH;�u�L��H��H�����H��H�\$XH�l$`H�t$hH��@_����H��H�XH�hH�p WH��@I��I��H��H��W�@�H�X�H�X�L�H�H;�tH��H���H��@H�\$(H��@H;�u�L��H��H�����H��H�\$XH�l$`H�t$hH��@_��H�\$H�l$H�t$WH�� I��H��H��H��tKH�y3�H��D�BH��H�g�H���H�g�H�'H�gH�gH�g�g H�HH�H��HH��u�L��H��H���M�H�l$8H��H�\$0H�t$@H�� _��H�\$H�L$WH�� H��H��H���0���CH�D��4D�CH���8�SH�_H��t8������C�u*H�H��H��������C�uH�H��H�@�k�H�\$8H�� _�@SH��@L��H��H�L$(3��D$ H�AH�AH�AH�A H�A(H�A0�A8H�Q@H�T$0�H�B H�B�BH�B(H�B0�AxH��MH��D$ H��I���l���H��H��@[����@USVWAUAVAWH��$���H��H�?�?H3�H���E��L��H��H�M��d$ ��eH�2MH�H��PH��XH��`A�D�l$ H��I��荳��I���I���H+�H��H����E��H�U�H�	�0"��H��pI���"��H�D$xH�D$(H�D$0H�D$xH�D$8L�l$@H�D$|H�D$HL�l$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H�U�H�M����H��H���H��H�����G@�C@�GD�CDH�M�H��tH�U�H+�H����=��H�D$xH�D$(H�D$0H�D$xH�D$8L�l$@H�D$|H�D$HL�l$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H��pH�M��<���H��H��H��H���/�G@�C@�GD�CDH�M�H��tH�U�H+�H���芷�I�I��H�@���H��H�N����A�$����A�(���A�� 蘬�����H��H���H3���H��A_A^A]_^[]��a���H�\$WH�� H��H��H�H��H��H���ٝ��H�C H�G H�C(H�G(H�C0H�G0�C8�G8H�<�H��C@�G@�CDH�\$0�GDH��H�� _����H�\$ UVWATAUAVAWH��$ ���H���H�6�?H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`�:��H�WXL�D$`I����H�yJI�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� ����A��H��t9A����CA�u,H�H��H���A����CA�uH�H��H�@�ԾI��H����I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H���L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H���t�I�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH�����H�CH;CtH��H���YH�C@�L��H��H����H���_I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	����H�0H�޸?���H#�H�M�\��H��3�H�D$0H��D$ �D��D��H�M�����L��H�|$ A�H��H��P����I�EH�XH��PH������L��H�T$HH���'���H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I���b�H�D$0H��t$����H��uH�L$0H��H����H�L$HH��t#����A��uH��tH��H����H�t$HI��L;|$8�����I��H���H3��I�H��$8H���A_A^A]A\_^]�����������H�\$ WH��`H��}?H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(�9H��EH�H�SH��rH��H��ʱ�H�cH�C�H��H�L$PH3���H��$�H��`_�H�\$UVWH�� 3�H��H�H�AH�AH�2H�jH;�teH��H��������H+�H��H;�w\H�<�H��r
H��貰��
H��tH����H�L�H�CL��L�KH��L��H�����H�CH��H�\$PH�� _^]��:����H�\$H�l$ VWAVH�� 3�H��H�9H�yH�yL�2H�jL;�teI+�H��������H��H��H;�wbH��H��r
H������
H��tH���
�H��H�>H�;H�~L��H�NI��H����H�;H�NH�\$PH��H�l$XH�� A^_^������H�\$UVWH��0H��E3�L�L�AL�AH�2H�jH;���H��H+�H�9��8��8H��H��H��H��?H�H��q�q�H;�waH�<�H��H��r
H���B���
H��tH���C�L��L�L�CJ�H�CH�\$ L��H��H���N�H�CH��H�\$`H��0_^]����������H�\$WH��0H��H��H�L$ H�!H�aH�BH��t�@H�H�H�BH�AH��H�����H�W(H�K(��G@�C@H�GHH�CH�GP�CPH�WXH�KX���H���H�aH�aH�����������H��H�\$PH��0_���H�\$WH��0H��H�L$ H�GEH��QH��3�H�yH�yI�����H�K0H�L$ �9f�y@�y�yH�yH�yH�y H�y(�GH�AHH�y@@�y0H�AhH�y`@�yPH���H���@�ypH���H���H��H�\$HH��0_���̋E3��L�AL�AH�BH��t�@H�BH�AH�BH�AL�AL�A H�B H��t�@H�BH�AH�B H�A �B(�A(�B)�A)H�B0H�A0�B8�A8�B<�A<�B@�A@H����H�\$H�|$UH��$P���H��H��3��|$0A��L�L$8�|$@L��CL�\$HL��L�T$PH�D$HH�E��}�E�A�L�E��}�L�]�L�U�H�E�H�E؍O�M�L�M�}�L�]�L�UH�E�H�E0�M8L�E@�}HL�]PL�UXH�EPH����W���L������L���L���H���H������L������L��L��H��H��8��@H��H��PL��XL��`H��XH������H������L���L���H���H������H�����L��L��H��H��@DžHL��P��XL��`L��hH��`H����O!���L������L���L���H���H������L����L��L��H��H��H��PH��X��`L��hL��pH��hH���H�D$0H�D$ H���H�D$(H�L$ ��L�
x�WXD�G
H�L$0���H��L��$�I�[I�{I��]����H��H�XH�pWH��PH��H�H�H�X�3�H�p�@�p�L�@�����H�T$8H��r
H��H�L$ 谪�H�t$0H�\$8@�t$ H�ZAH�H�@AH���LJ�HLJ��?H���H�3H�sH�s�H���H�H�CH��HH�CL�úH����H�CH��H��H��H�� H��(H��0��8H���H��@��HH��H�\$hH�t$pH��P_��������������H�\$VWAVH��0L��H��H�L$ H�!H�aH�BH��t�@H�H�H�BH�AH�yH�|$(H��H���_�I�V(H�O�Q�I�V@H�N@�C�I�VXH�NX�]����H�NpH�aH�aI�Vp�-��H��H�\$`H��0A^_^����H�\$WH�� H��<H��H�H�aH�aH�BH��t�@H�H�AH�BH�AH�ZH��t9����C��u,H�H��H��������C��uH�H��H�@�ٱH�\$0H��H�� _����H�\$WH��0L�BH��H��M��t	�A�@L�BH�H�T$ H�D$ L�D$(�7���H��>H�H�[H��t9����C��u,H�H��H��`�����C��uH�H��H�@�C�H�\$@H��H��0_��H�\$WH��@H��H��H�L$0H�JH��t�AH�JH�BH�D$ H�L$(H�T$ H������H��=H�H�KH�aH�aH�W���O8�K8H��H�\$`H��@_��H��H�XH�h H�PH�HVWAVH��@A��M��H��H��L�RM��t	�A�BL�RH�H�D$0L�T$8H�T$0�����H�l=H�H�VH�H�����$��\$ D��M���)S�^8H�_H��t8������C�u*H�H��H�������C�uH�H��H�@���H��H�\$pH�l$xH��@A^_^����H�\$ WH��@H�Wr?H3�H�D$0I��H��H�L$ H�\$(H��<H�H���L����H�OPH�aH�aH���M��H�SH��rH��H��G��H�cH�C�H��H�L$0H3���H�\$hH��@_�H��(H�IH��t
�x���H��(�H��(H�	H��t�H��(���L�AH�QH�	�P��L�AH�QH�	����L�AH�QH�	�����������@SH�� H�YH�K8H��tH�H;���H�@ ���H�c8H�� [����H�\$WH�� H���H��H�H��t-H�WL���4�H�WH+H�H���A��H�'H�gH�gH���H�H��t-H�WL���\��H�WH+H�H�����H�'H�gH�gH����H�Kx���H�ShH��rH�KPH���̤�H�c`H�KH�Ch�CPH�\$0H�� _��9��@SH�� H�QhH��H��rH�IPH��艤�H�c`H�KH�Ch�CPH�� [�9�����������������k���@SH�� H��H�	H��t-H�SL���w��H�SH+H�H��� ��H�#H�cH�cH�� [�������������H�\$WH�� H���H��H��t9����G��u,H�H��H��������G��uH�H��H�@�ެH���H��rH�KpH��蕣�H����H����CpH�ShH��rH�KPH���g��H�c`H�{h�CPH�SHH��rH�K0H���D��H�c@H�{H�C0H�\$0H�� _�������������@SH�� H���H��H��rH���H����H���H�KXHǃ�ƃ��8��H�K(H��tH�S8H+�H��迢�H�c(H�c0H�c8H�K�
H�[H��t9����C��u,H�H��H��������C��uH�H��H�@���H�� [����������������@SH�� H��8H��H�H��0�4���H�S(H��rH�KH�����H�c H�C(�CH�� [����H�\$WH�� H�y0H��H��t9����G��u,H�H��H�������G��uH�H��H�@��H�S H��rH�KH��蟡�H�cH�C �CH�\$0H�� _�����6�����@SH�� H��H�IH��tH�S(H+�H���V��H�cH�c H�c(H�H��tH�SH+�H���/��H�#H�cH�cH�� [��������@SH�� H��H��P�;H��H�� [���������������@SH�� H��7H��H�H��H��t+H��H+�H���讠�H��H��H��H�����
H�7H�K0H��w���H�S(H��rH�KH���a��H�c H�C(�CH�� [���H�\$WH�� H���H��H��rH�IpH���"��3�Hǃ�H���@�{pH�KXH��tH�ShH+�H������H�{XH�{`H�{hH�K@H��tH�SPH+�H���̟�H�{@H�{HH�{PH�K(H��tH�S8H+�H��觟�H�{(H�{0H�{8H�KH��tH�S H+�H��肟�H�{H�{H�{ H�[H��t8������C�u*H�H��H��������C�uH�H��H�@�e�H�\$0H�� _���@SH�� H�YH��t9����C��u,H�H��H��-�����C��uH�H��H�@��H�� [���@SH�� H�Q0H��H��rH�IH��蹞�H�c(H�C0�CH�[H��t9����C��u,H�H��H��������C��uH�H��H�@���H�� [�H�\$H�l$H�t$ WH�� H���H��H�3�H��t*H�WL����-�H�WH+H�H�����H�7H�wH�wH������H��t����A�uH���H���H���H���H��t����A�uH���H���H���H���H��t����A�uH���H����H���H�KxH��t����A�uH���H����H�sxH�KpH��t����A�uH���H��j�H�spH�KhH��t����A�uH���H��D�H�shH�K`H��t����A�uH���H���H�s`H�KXH��t����A�uH���H����H�sXH�KPH��t����A�uH���H��ҥH�sPH�KHH��t����A�uH���H����H�sHH�K@H��t����A�uH���H����H�s@H�K8H��t����A�uH���H��`�H�s8H�K0H��t����A�uH���H��:�H�{H�s0H�H��t*H�WL���+�H�WH+H�H���ۛ�H�7H�wH�wH�H��t*H�SL���d+�H�SH+H�H��詛�H�3H�sH�sH�\$8H�l$@H�t$HH�� _����������H�\$WH�� H�Y H��H�83H��H�H��L�M�@�c���H��H�F��H�O3�H��t.H�WL�G�.+�H�WH+WH�OH������H�_H�_H�_H�\$0H�� _���@SH�� H��2H��H�H��@���H�K H��tH�S0H+�H���˚�H�c H�c(H�c0H�KH��tH�SH+�H��裚�H�cH�cH�cH�� [���������������H�\$UVWAVAWH�� H�BH��H�qH��H;�tEH�hL�8L�6I+�H�FH��I+�H��H��H;�vH����L�6L��I��I����I�.H�NH�O H��H�K H�O(H�K(H�O0H�K0�O8�K8H�\$`H�� A_A^_^]���H��(�
�_BeH�%XA�4H��A�9CBH��BBH��(�H�
�BB�c��=�BB�u�W��BB�BB�BBH�
�BB��H�
���z��H�
�BB������H�\$H�t$H�|$AVH�� H��I��H�	M��H��H��t>H�SL�����L�CH�9��8��8L+H�I��H��H��H��?H�H��H�����H�;K��H��H�KH��H�t$8H��H�|$@H�KH�\$0H�� A^�H�\$H�l$H�t$WH�� H��I��H�	I��H��H��tH�SL������H�SH+H�H���y��H�+H��H�H��H�sH�H�l$8H�t$@H�{H�\$0H�� _����H�\$H�l$H�t$WH�� H��������L��H��H;���H�IH��H+H��H��H��H+�H;�vH���H�4
I;�IB�3�H9t-H�WL��H��'�H�WH+H�H���Ɨ�H�H�_H�_H;�wKH��H��r
H������
H��tH����H��H�l$8H�H�t$@H�H�_H�\$0H�GH�� _�覵���������H�\$H�l$H�t$WH�� H��������L��H��H;���H�QH��H+H��H��H��H+�H;�vH���H�I;�IB�3�H9>tH�H�����H�>H�~H�~H;�wKH��H��r
H���;���
H��tH���<�H��H�l$8H�;H�\$0H�>H�~H�FH�t$@H�� _����
����I��L��L��H��I������I��L��L��H��I�����H�\$ H�T$H�L$VWAVH�� L��H��H�qH+1H��H��������H;�w\I��H��H��r脕��3�H��t��H��H�\$PL��L��H�WH�� ���M��L��H��H��H�\$XH�� A^_^�
��������������@SH�� H��H�	H��tLH�SL�����H�SH�9��8��8H+H�H��H��H��H��?H�H��H���q��H�#H�cH�cH�� [��������������@SH�� H��H�	H��tNH�SL�����L�CH�ףp=
ףL+H�I��I�H��H��H��?H�Hi����H�#H�cH�cH�� [����@SH�� H��H�	H��tLH�SL������H�SH�9��8��8H+H�H��H��H��H��?H�H��H��虔�H�#H�cH�cH�� [��H��H�XH�hH�p WH��0)p�1� ��fH~�H��fs�fH~�H�(�L��H��H�����H��XH;�u�H�\$HH�l$PH�t$X(t$ H��0_�H�\$H�t$WH��`I��H��I�I�@H+�H��H��uH�H�H����@�H�ApH�@E��t7H�HH���H��t�CH���H���H�L$0H�\$8H���f9��xH�@H���H��t�AH���H���H�D$ H�L$(H�T$ H�L$@���L��H�H�OH+�H��H��uH�H�H��t�@�L��H��I�I�+�H�\$PH��t8������C�u*H�H��H��-�����C�uH�H��H�@��H��H�\$pH�t$xH��`_����������������H�\$H�t$UWATAVAWH��$�H��H�P^?H3�H��H��A�E��H��H�������H�WH����2���H�OE3�H��t	�DyH�OH�GH�D$@H�L$HH���H�L$@�q��H���A�����H���H���H+�H��I;���E��H��H�I����H���H�����A�ދ����t����������t��uA��L�uL�eD�u�L�
�&E�ƺ7H�M��v��L�u�L�e�D�u�L�
�&E�ƺ*H�M��Q��L�u�L�e�D�t$pL�
�&E�ƺH�L$p�*��L�t$`L�d$hD�t$PL�
�&E�ƺHH�L$P���I��H��H��H�����E���HcH��H��H;�u�H����Hc�H�H��H�@��L��H�E�H�D$8H�\$0H�E�H�D$(H�t$ L�L$p�<H�L$P��U���H�T$hH��r
H��H�L$P�v��L�t$`L�d$hD�t$PH�U�H��r
H��H�L$p�P��L�u�L�e�D�t$pH�U�H��rH��H�M��-��L�u�L�e�D�u�H�UH��rH��H�M����H���H�E0H�E8H���H�E@L�}HH���H�EPL�}XH���H�E`H�EhH���H�EpH�ExW�����L�M0E��H��H����{���H��hH;�ptH��H���]��H��H�H��hH�L��H��H��`�_���H���H��tH���H+�H����'���>���L��W�3���H��I�
H�AL���L��H���I����L�u L�e(D�uL�
�$E�ƺ/H�M貒�L�u�L�e�D�u�L�
�$E�ƺH�M�荒�L�u�L�e�D�u�L�
�#E�ƺHH�M��h��H���H9����H�H��H�@���L��H�EH�D$(�\$ L�MкCH�M��|��H�U�H��rH��H�M����L�u�L�e�D�u�H�U�H��rH��H�M���L�u�L�e�D�u�H�U(H��rH��H�M�ٍ��O�H��H�D$@H��tL���H��H�����H�I"H��I��H����E����H�����H��`���H����H��H��H3��=�L��$I�[8I�s@I��A_A^A\_]�������H��K��H���(����������I��H��I������H�\$WH�� H�YH�AH��t�CH�YH��P@��H��t9����C��u,H�H��H�������S��uH�H��H�B�וH�\$0@��H�� _����������H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@���H�����H;�u`H9~u7H�L��M��H��H��H�@ �^�H�\$`H��H�l$hH�t$pH�|$xH��PA^�H�i#H�L$0���H��?H�L$0�.��H��"H�L$0���H�m?H�L$0�������������H�\$H�t$WH��@H��H��H�JH�H�@�ʔH���B��H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%��H�5"H�L$ �g��H��?H�L$ 肥�H�J"H�L$ �D��H��?H�L$ �_����������������H��H�XH�p H�PWH��0I��H��H�ك`��Z����D$ H�Kp��������H�O(H�G0H+�H��H����H�A H�XXH��t�CH���H�D$@H;�t+H�H��t����A��uH��H����H��&H��t!����C��uH��H��H��u�H��H�\$PH�t$XH��0_��}���������������H�q#H�H�AH�BH�������������H�i�?�H�\$ UVWATAUAVAWH��$ ���H���H��U?H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`莥�H�WXL�D$`I����H��!I�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� �����A��H��t9A����CA�u,H�H��H��E�A����CA�uH�H��H�@�(�I��H���i���I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H����L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H���ȴI�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH���?��H�CH;CtH��H�����H�C@�L��H��H���h���H����I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	�;�H�0H�޸?���H#�H�M谘�H��3�H�D$0H��D$ �D��D��H�M����L��H�|$ A�H��H��P���I�EH�XH��PH����[��L��H�T$HH���{���H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I�����H�D$0H��t$����H��uH�L$0H��H��A��H�L$HH��t#����A��uH��tH��H���H�t$HI��L;|$8�����I��H���H3���H��$8H���A_A^A]A\_^]����������H�\$ WH��`H�;Q?H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(���H�VH�H�SH��rH��H����H�cH�C�H��H�L$PH3���H��$�H��`_�H��H�XH�hH�p WH��0)p�1�ĺ�fH~�H��fs�fH~�H�(�L��H��H���+���H��XH;�u�H�\$HH�l$PH�t$X(t$ H��0_���������H��H�XH�pH�x UATAUAVAWH��x���H��`	H�P?H3�H��PH��A�E��H��H��`����H�VH��������H�~E3�H��t	�DgH�~L�vL��HH��PD���H�EpH�E H�E(H�EpH�E0L�e8H�EtH�E@L�eHH�ExH�EPH�EXH���H�E`H�EhW�Ep��H���H���H+�H��I;��E��H���H�I��H��L�M E��H����n���L�-ΪH��PH;�XtH��H�����L�+H��PH�L��H��H��H�$����H�� H��tH��0H+�H������A��0��w����8�A�4��<�A�8��@H�����A����H���H���H+�H��H���#E��H��PH�I��H���H���-�A�ߋ�8��t����������t��uA��L�}�L�m�D�}�L�
E�Ǻ7H�M����L�}�L�m�D�}�L�
$E�Ǻ*H�M��ۅ�L�|$pL�l$xD�|$`L�
,E�ǺH�L$`貅�L�|$PL�l$XD�|$@L�
�E�ǺMH�L$@艅�M��H��`H��hH�����C���HcL��H��H;�u�H���Hc�H�H��H�@�z�L��H�E�H�D$8H�\$0H�E�H�D$(L�t$ L�L$`�BH�L$@�SF���H�T$XH��r
H��H�L$@��L�|$PL�l$XD�|$@H�T$xH��r
H��H�L$`�׀�L�|$pL�l$xD�|$`H�U�H��rH��H�M�貀�L�}�L�m�D�}�H�U�H��rH��H�M�萀�H���H���HDž�H���H���L���H���H���L���H���H���HDž�H���H���HDž�W�����L���E��H��PH��`�ek���H���H;��tH��H�����H�R�H�H���H�L��H��H����ü���H��hH��tH��xH+�H�������L��W�3��0H��@I�
H�AL���L��`H��0I��{��L�}L�mD�}L�
�E�Ǻ/H�M���L�}�L�m�D�}�L�
E�ǺH�M����L�}�L�m�D�}�L�
�E�ǺMH�M��̂�H��8H9�0��H�H��H�@��L��H�EH�D$(�\$ L�M��IH�M������H�U�H��rH��H�M��~�L�}�L�m�D�}�H�U�H��rH��H�M��_~�L�}�L�m�D�}�H�UH��rH��H�M�=~�賹H��H��H��tL��0H��H����H��H��I��H��0���H��t9������G�u+H�H��H�������G�uH�H��H�@���H������H������H��`���H��H��PH3��a�L��$`	I�[8I�s@I�{HI��A_A^A]A\]�諴�襴������H�\$WH�� ��H���0��t
��H����H�\$0H��H�� _�������������H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@�
�H������H;�u`H9~u7H�L��M��H��H��H�@ �ޅH�\$`H��H�l$hH�t$pH�|$xH��PA^�H��H�L$0蓭�H�?H�L$0讖�H�>H�L$0�p��H��?H�L$0苖�����������H�\$H�t$WH��@H��H��H�JH�H�@�J�H�����H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%�H��H�L$ ���H�d?H�L$ ���H��H�L$ �Ĭ�H�A?H�L$ �ߕ���������������H�\$H�t$H�T$UWAVH��H��PI��H��E3�D�u�L�2L�rL�rL�rL�r L�r(H�r0L�6L�r8L�r@L�rHL�rPL�rXL�r`L�rhL�rpL�rxL���L���L���L���L���L���D���L����E�3�I���"���H�E�H��t�@H�K0H�S(H��H+�H��H���XH�BH�PXH�U�H��t�BH�K0H�S(H��H+�H��H���-H�B H�PXH�U�H��t�BH�K0H�S(H��H+�H��H���H�B0H�PXH�U�H��t�BH�K0H�C(H+�H��H����H�@@H�HXH�M�H��t�AD�M(L�EH�U�H���X����L�
�E�D�B�H�M�蒴H�[XH��t�CH�E(H;�t+H�H��t����A��uH��H��ւH��&H��t!����C��uH��H��H����H��L�\$PI�[ I�s0I��A^_]�记�訰�袰�蜰�������������H�\$WH�� H�7��H�H�������t
�0H���дH�\$0H��H�� _���H�)H�H�AH�BH�������������H���?�H�\$H�t$WH��0I��I��H��H�L$ H�H�a�x�)�H��H�F��A H�CH�A(�C�A0H��8H�a8H�S�H�FH�8H�NH�yH�NH�y3�H�N�DH��H��|�H��H�\$HH�t$PH��0_����������������H;�tIH�\$WH�� H��H��H�H��tH�SH+�H����x�H�#H�cH�cH�� H;�u�H�\$0H�� _��H�\$H�l$H�t$WH��P�d$8H��H�H��L��L�JL�L$0A�yuFA�HL�L$0A9I0|'I�@I9A(rw	A�A9A |M���D$8M�	�	�d$8M�IA�yt�A�zu-A�B0A9@|#I�B(I9@rw	A�B A9|L��C�H�"""""""H9F��M��H�L$ L��H���2���H�hH�`H�L$(H��t<H�y8L�G8M��t I�L;�I����H�@ ��H�g8H�L$(H��t
�x�v�D$0L��H�T$0H���D$0�g�H��CH�l$hH��H�\$`H�t$pH��P_���q�����L�D$H�L$SVWATAUAVH��HM��L��L��L��L+!H�AH+H��H��������H;��ML�@L�D$(H�II+H��H��H��H��H+�H;�vH��$�H����2H�
I��I;�HC�H;��H��H��H��H��$�H��r�7u�H��L��$��!H��t�0�H��L��$��3�H��$�H��$�I���I�4<L�f L�d$0H�&H�fH�fI�H�I�AH�FI�AH�FI�!I�aI�aA�A�FH�t$ I�VI�L;�uL���M��L��I����H�|$ I�VI��M��M�����L��L�D$(H��I���H��H��HA^A]A\_^[��b����������H�\$ UVWH�� I��E3�H+�I��H��H��H��H��t`H��������H;�w^H��H��r
H���s��
H��tH���L��L�J�L�NH�F��AI��H��H;�u�L�NH�\$XH�� _^]�迒����@SH�� I��H;�tUL��L�AL+�E3�L�O�\�O�I�@�H�H�� I�@�K�D�I�K�M�X�M�X�M�A�HC�LM�@ I�H�H;�u�M��H��H�����H��H�� [���@SH��@L��H��H�L$(3��D$ H�AH�AH�AH�A H�A(H�A0�A8H�Q@H�T$0�H�B H�B�BH�B(H�B0�AxH�

H��D$ H��I���k��H��H��@[����@USVWATAVAWH��$���H��H��>?H3�H���E��L��H��H�M��d$ �:A�D�d$ H��I���Dm��I���I���H+�H��H����E��H�U�H�	����H��pI���p��H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H�U�H�M��]��H��H���H��H������G@�C@�GD�CDH�M�H��tH�U�H+�H�����q�H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H��pH�M���\��H��H��H��H�������G@�C@�GD�CDH�M�H��tH�U�H+�H����Aq�I�I��H�@�azH��H�N赓���A�$����A�(���A�� �Of�����H��H���H3�迭H��A_A^A\_^[]��������H�\$ UVWATAUAVAWH��$ ���H���H�V<?H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`�Z��H�WXL�D$`I����H�Q
I�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� ����A��H��t9A����CA�u,H�H��H��yA����CA�uH�H��H�@��xI��H���5����I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H������L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H��蔛I�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH������H�CH;CtH��H���y��H�C@�L��H��H���4����H�����I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	���H�0H�޸?���H#�H�M�|�H��3�H�D$0H��D$ �D��D��H�M����L��H�|$ A�H��H��P��|�I�EH�XH��PH����'|�L��H�T$HH���G���H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I��肨��H�D$0H��t$����H��uH�L$0H��H��
v�H�L$HH��t#����A��uH��tH��H���uH�t$HI��L;|$8�����I��H���H3��i�H��$8H���A_A^A]A\_^]����賣����H�\$ WH��`H�8?H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(�Y��H��H�H�SH��rH��H���k�H�cH�C�H��H�L$PH3�誨H��$�H��`_�@SH�� �H�����H�2H�3�H��PH��XH��`H��hH��pH��xH���H���H���H���H���H���f���������ǃ��?H���H���H���H��H�� [���H�\$H�t$WH�� H��H����.��H���3�H��tFH���H��������*H+�H��H�H��H��?H�H�RH���j�H���H���H���H���H��t(H���H+�H���{j�H���H���H���H��hH��t(H��xH+�H���Gj�H��hH��pH��xH��PH�H��t*H�WL�����H�WH+H�H����j�H�7H�wH�wH��H�\$0H�t$8H�� _�����H��(�
�/BeH�%XA�4H��A�9�BH�PBH��(�H�
tB�_��=hB�u�W�,B5B>BH�
B�*H�
�R�v��H�
.B蹫����H�\$H�l$H�t$WH�� H��I��H�	I��H��H��tH�SL�����H�SH+H�H����
i�H�+H��H�H��H�sH�H�l$8H�t$@H�{H�\$0H�� _����I��L��L��H��I����H�\$WH�� H��H��H�J8H��tEH;�u7H�H��H�@��qH�G8H�K8H��t#H�H;���H�@ ��qH�c8�	H�O8H�b8H�\$0H�� _����H�\$H�T$UH�l$�H��H�ڋ�E�H�AH�E��A�EH�EH�EgH�eGH�J8H��tH�H�UH��9qH�EG���L�E�H�U�H����H�MGH��tH�H�UH;���H�@ ��p�H�K8H��tH�H;���H�@ ��pH�c8H��$�H�Đ]�������������H��H�XH�pH�x UATAUAVAWH��(���跤H+�)�$�)�$�D)�$�D)�$pD)�$`H��2?H3�H��PH��A�E��H��H������H�WH����<�H�_3�H��t	�DsH�_H�G�D��A��H��t9A����CA�u,H�H��H���oA����CA�uH�H��H�@��oH�_H��t	�DsH�_H�G�D��H��t9A����CA�u,H�H��H���oA����CA�uH�H��H�@�koH�_H��t	�DsH�_H�G�D��H��t9A����CA�u,H�H��H��+oA����CA�uH�H��H�@�oH���H���H+�H��H����E��H��PH�	����H�_H�8�u;�D$@�̒8H��t	�DsH�_H�OH���H�D$@�/�HG��0�H��t	�DsH�_H�G���H��(�t9A����CA�u,H�H��H��XnA����CA�uH�H��H�@�;nH��H���A�L���H��H���L���H��H���L���H�� H���E�}�L��H��,H��E�e�L��W���(H���H���H+�H��I;���E��H���H�I���H��L���E��H���O���H���H;��tH��H���
���H���H�H���H�L��H��H��������H��H��tH�� H+�H�����c�H���H��@L��HH���H��PL��XH���H��`L��hH���H��pL��xH���H���L���W�����H���H���H+�H��I;��jE��H��P
H�I�`��H��L��@E��H��0�N���H���H;��tH��H�����H�x�H�H���H�L��H��H�������H��8H��tH��HH+�H����b�H��H���L���H��H���L���H��H���L���H��H���L���H��H���L��W���H���H���H+�H��I;��JE��H���H�I�:��H��L���E��H��x�eM���H���H;��tH��H�����H�R�H�H���H�L��H��H�������H���H��tH���H+�H����a�H���H��PL��XH���H��`L��hH���H��pL��xH���H���L���H���H���L���W�����H���H���H+�H��H���E��H��P
H�I ���H��L��PE��H����>L���H���H;��tH��H��蚩��H�+�H�H���H�L��H��H���蜝���H���H��tH���H+�H����d`�H������Dž��?D���HDž����W��L$pH�u�D�L$0L���H���H�L$p�2�D�u�� H��HH;�Pt@H�2H�rH�rH�D$pH�H�D$xH�BH�E�H�BW��D$pH�u��E��BH�H�L�D$pH��@�(��H�L$pH��tH�U�H+�H����_�H������Dž��?D��HDž��W��E�H�u�D�L$0L��H���H�M��U�D�u�H��HH;�Pt=H�2H�rH�rH�E�H�H�E�H�BH�E�H�BW��E�H�u��E��BH�H�L�E�H��@�T��H�M�H��tH�U�H+�H����^�HDž�D������W��E�H�u�D�L$0L���H���H�M���D�m�H��HH;�Pt=H�2H�rH�rH�E�H�H�E�H�BH�E�H�BW��E�H�u��EȉBH�H�L�E�H��@���H�M�H��tH�U�H+�H����]�HDžD����H�� ��(�D�,W��E�H�u�D�L$0L��0H��H�M����D�e�H��HH;�Pt=H�2H�rH�rH�E�H�H�E�H�BH�E�H�BW��E�H�u�E�BH�H�L�E�H��@����H�M�H��tH�U�H+�H����$]�HDž0D��8��<HDž@��H��LW��E�H�uD�L$0L��PH��0H�M����D�}H��HH;�Pt=H�2H�rH�rH�E�H�H�E�H�BH�EH�BW��E�H�u�E�BH�H�L�E�H��@����H�M�H��tH�UH+�H����P\�H��P��X�D�\D��`HDžd��lW��EH�u D�L$0L��pH��PH�M�!�D�e(H��HH;�Pt=H�2H�rH�rH�EH�H�EH�BH�E H�BW��EH�u �E(�BH�H�L�EH��@� ��H�MH��tH�U H+�H����~[�H��p��xHDž|�?H����D��W��E0H�u@D�L$0L���H��pH�M0�V�D�uHH��HH;�Pt=H�2H�rH�rH�E0H�H�E8H�BH�E@H�BW��E0H�u@�EH�BH�H�L�E0H��@�U��H�M0H��tH�U@H+�H����Z�HDž�Dž����HDž�������W��EPH�u`D�L$0L���H���H�MP��D�ehH��HH;�Pt=H�2H�rH�rH�EPH�H�EXH�BH�E`H�BW��EPH�u`�Eh�BH�H�L�EPH��@�~��H�MPH��tH�U`H+�H�����Y�HDž�Dž����HDž�Dž����W��EpH���D�L$0L���H���H�Mp�����H��HH;�PtFH�2H�rH�rH�EpH�H�ExH�BH���H�BW��EpH�������BH�H�L�EpH��@���H�MpH��tH���H+�H�����X�D�t$DD�l$HH��xH;��tH�D$DH�L�x�L�D$DH��p�T��H�������D��D���HDž����W��D$PH�t$`D�L$0L���H���H�L$P��D�d$hH��HH;�PtCH�2H�rH�rH�D$PH�H�D$XH�BH�D$`H�BW��D$PH�t$`�D$h�BH�H�L�D$PH��@�y��H�L$PH��tH�T$`H+�H�����W�H������HDž��?H���D�W���H�� D�L$0L��H���H����D��(H��H��@��H��H��tH�� H+�H����BW�HDžDž
��HDž ��(��,W���0H��@D�L$0L��0H��H��0��D��HH��0H��@��H��0H��tH��@H+�H����V�HDž0Dž8��<HDž@��H��LW���PH��`D�L$0L��PH��0H��P�f�D��hH��PH��@�\�H��PH��tH��`H+�H����V�HDžPDžX	��\HDž`Džh��lW���pH���D�L$0L��pH��PH��p������H��pH��@��H��pH��tH���H+�H����bU�D�d$8�
�\$<H��xH;��tH�D$8H�L�x�L�D$8H��p����HDž�������W����H���D�L$0L���H���H�����D���H���H��@��H���H��tH���H+�H����T�HDžpDžx��|H���������W����H���D�L$0L���H��pH����e�����H���H��@�\�H���H��tH���H+�H����T�HDž�Dž����HDž�D������W����H���D�L$0L���H���H�������D���H���H��@��H���H��tH���H+�H����dS�HDž�Dž����HDž�A�D������W����H��D�L$0L���H���H���� ��D��H���H��@��H���H��tH��H+�H����R�HDž�������HDž�Dž����W���H�� D�L$0L���H���H�����D��(H��H��@�w�H��H��tH�� H+�H����R�D����3�L��W�3���H���I�
H�AL���L���H���I��[�H��@L��H@��0H�{�H��0�?N�H���L���@���H���H����N�H��L��@���H��H�����M�H���H9����H�H��H�@�kZL��H��0H�D$(�\$ L�����H����X����H��H��rH��H�����P�H��L��@���H���H��rH��H�����P�H���L���@���H��HH��rH��H��0�P���H��H�D$8H��tL���H��H�����H���H��H��H�������H����@����H����'�H��H��PH3���L��$�I�[8I�s@I�{HA(s�A({�E(C�E(K�E(S�I��A_A^A]A\]��2���,����&���� ��������L��H�QH;Qt<E3�L�
L�JL�JI�H�I�@H�BI�@H�BM�M�HM�HA�@�BH�A ��������������H�\$WH�� H��H���{��PH����wH�\$0H��H�� _����������������H�\$WH�� ��H���<�����t
�`H���ʊH�\$0H��H�� _�������������H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@��WH�����H;�u`H9~u7H�L��M��H��H��H�@ ��WH�\$`H��H�l$hH�t$pH�|$xH��PA^�H���H�L$0�s�H���>H�L$0�h�H��H�L$0�P�H���>H�L$0�kh�����������H�\$H�t$WH��@H��H��H�JH�H�@�*WH������H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%�VH���H�L$ ��~�H�D�>H�L$ ��g�H���H�L$ �~�H�!�>H�L$ �g���������������@SH�� E3�H����|��H��H�� [�������H�1�H�H�AH�BH�������������H�i`?���������H�\$WH�� H�/���H�H��肱����t
�0H��谈H�\$0H��H�� _���@SH��@L��H��H�L$(3��D$ H�AH�AH�AH�A H�A(H�A0�A8�Hf�K9�C;H�S@H�T$0�H�B H�B�BH�B(H�B0�KxH��H��L$ H��I���E��H��H��@[��@USVWATAVAWH��$���H��H��?H3�H���E��L��H��H�M��d$ A�A������H�z�H�džP��TD��XD�d$ H��I���CF��I���I���H+�H��H����E��H�U�H�	���H��pI���o���H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H�U�H�M��6��H��H���H��H��蘰���G@�C@�GD�CDH�M�H��tH�U�H+�H�����J�H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H��pH�M���5��H��H��H��H������G@�C@�GD�CDH�M�H��tH�U�H+�H����@J�I�I��H�@�`SH��H�N�l���A�$����A�(���A�� �N?�����H��H���H3�辆H��A_A^A\_^[]�������H�\$ UVWATAUAVAWH��$ ���H���H�V?H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`�Ze�H�WXL�D$`I����H�1�I�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� 诚���A��H��t9A����CA�u,H�H��H��RA����CA�uH�H��H�@��QI��H���5����I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H���ܱ��L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H���tI�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH�������H�CH;CtH��H���y���H�C@�L��H��H���4����H������I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	����H�0H�޸?���H#�H�M�|X�H��3�H�D$0H��D$ �D��D��H�M���y�L��H�|$ A�H��H��P��U�I�EH�XH��PH����'U�L��H�T$HH���G����H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I��肁��H�D$0H��t$����H��uH�L$0H��H��
O�H�L$HH��t#����A��uH��tH��H���NH�t$HI��L;|$8�����I��H���H3��i�H��$8H���A_A^A]A\_^]���c��|����H�\$ WH��`H�?H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(�Y���H���H�H�SH��rH��H���D�H�cH�C�H��H�L$PH3�誁H��$�H��`_��������������ˣ�����H��(�
~
BeH�%XA�4H��A�9��AH�x�AH��(�H�
��A�'��=��A�u�W�T�A]�Af�AH�
?�A�b�H�
�-�>��H�
V�A聆����H�\$H�T$UH�l$�H��H�ڋ�E�H�AH�E��A�EH�EH�EgH�eGH�J8H��tH�H�UH���LH�EG����L�E�H�U�H�������H�MGH��tH�H�UH;���H�@ ��L�H�K8H��tH�H;���H�@ ��LH�c8H��$�H�Đ]�������������H��H�XH�pH�x UAVAWH��8���H��H��?H3�H���H��H�yA�E3�H��t	�DH�yH�YH�]�H�}�E��H��H�M�����H�VH�� �����(��D8�4tA��0��t0��t"��t��u(Dž�Dž�D���D��A��D9�,�������L��W�3�E�H�E�I�
H�AL�� L�E�H�U�I��eK�L�u�A�L�}�D�t$pL�
��E��A�W H�L$p�E�L�t$`L�|$hD�t$PL�
��E��A�WH�L$P��E�L�t$@L�|$HD�t$0L�
Z�E��A�W:H�L$0�E�H�E�H9E���H�H��H�@��JL��H�D$pH�D$(�\$ L�L$PA�WGH�L$0����H�T$HH��r
H��H�L$0�`A�L�t$@L�|$HD�t$0H�T$hH��r
H��H�L$P�9A�L�t$`L�|$hD�t$PH�U�H��r
H��H�L$p�A��|H��H�E�H��tL�E�H��H���*���H��H��I��H�M�膫���H�� �ɥ���H�M��ߟ���H��t8������G�u*H�H��H���I����W�uH�H��H�B��IH��H���H3��O}L��$�I�[(I�s0I�{8I��A_A^]���@SH�� H����kH��H�� [����������H�\$WH�� ��H���<�����t
�hH����{H�\$0H��H�� _�������������H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@��HH�����H;�u`H9~u7H�L��M��H��H��H�@ ��HH�\$`H��H�l$hH�t$pH�|$xH��PA^�H���H�L$0�sp�H���>H�L$0�Y�H��H�L$0�Pp�H���>H�L$0�kY�����������H�\$H�t$WH��@H��H��H�JH�H�@�*HH���V��H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%�GH���H�L$ ��o�H�D�>H�L$ ��X�H���H�L$ �o�H�!�>H�L$ �X���������������@SH�� H����m��H��H�� [����������H��H�H�AH�BH�������������H��Q?���������H�\$WH�� H�����H�H��肢����t
�0H���yH�\$0H��H�� _���@SH��@L��H��H�L$(3��D$ H�AH�AH�AH�A H�A(H�A0�A8H�Q@H�T$0�H�B H�B�BH�B(H�B0�AxH���H��D$ H��I���6��H��H��@[����@USVWAUAVAWH��$���H��H��?H3�H���E��L��H��H�M��d$ �������H�P�H���P��T��X��\��`��dD�k�D�l$ H��I���+7��I���I���H+�H��H����E��H�U�H�	�Υ��H��pI���W���H�D$xH�D$(H�D$0H�D$xH�D$8L�l$@H�D$|H�D$HL�l$PH�E�H�D$XH�D$`H�E�H�D$hH�\$pW�D$xE�L�L$(E��H�U�H�M��'��H��H���H��H��脡���G@�C@�GD�CDH�M�H��tH�U�H+�H�����;�H�D$xH�D$(H�D$0H�D$xH�D$8L�l$@H�D$|H�D$HL�l$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H��pH�M���&��H��H��H��H���Ѡ���G@�C@�GD�CDH�M�H��tH�U�H+�H����,;�I�I��H�@�LDH��H�N�]���A�$����A�(���A�� �:0�����H��H���H3��wH��A_A^A]_^[]��r����H�\$ UVWATAUAVAWH��$ ���H���H�B?H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`�FV�H�WXL�D$`I����H���I�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� 蛋���A��H��t9A����CA�u,H�H��H���BA����CA�uH�H��H�@��BI��H���!����I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H���Ȣ��L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H���eI�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH������H�CH;CtH��H���e���H�C@�L��H��H��� w���H���k���I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	��H�0H�޸?���H#�H�M�hI�H��3�H�D$0H��D$ �D��D��H�M���j�L��H�|$ A�H��H��P��F�I�EH�XH��PH����F�L��H�T$HH���3����H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I���nr��H�D$0H��t$����H��uH�L$0H��H���?�H�L$HH��t#����A��uH��tH��H���?H�t$HI��L;|$8�����I��H���H3��UsH��$8H���A_A^A]A\_^]���T��m����H�\$ WH��`H��?H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(�E���H�n�H�H�SH��rH��H���5�H�cH�C�H��H�L$PH3��rH��$�H��`_�H��(�
~�AeH�%XA�4H��A�9�AH���AH��(�H�
��A�'x�=��A�u�W���A��A��AH�
��A�R�H�
��>v�H�
��A�w����H�\$H�T$UH�l$�H��H�ڋ�E�H�AH�E��A�EH�EH�EgH�eGH�J8H��tH�H�UH���=H�EG�D��L�E�H�U�H���м���H�MGH��tH�H�UH;���H�@ ��=�H�K8H��tH�H;���H�@ ��=H�c8H��$�H�Đ]�������������H�\$H�t$UWAWH��$����H��@H��>H3�H��0H��A�E��H��H�M@����H�VH��������W�E�H�~H��t	�DH�~H�^H�]�H�}�H�EH�E�H�E�H�EH�E�L�}�H�EH�E�L�}�H�EH�E�H�E�H�E$H�EH�EEE H��(A� H�M�[H����H�������D���H�E�H�������D������L��W�3�E�H�E�I�
H�AL���L�E@H�U�I��.<�H�e�A�L�}��D$pL�
��E3�A�W H�L$p�6�H�d$`L�|$h�D$PL�
��E3�A�WH�L$P�6�H�d$@L�|$H�D$0L�
��E3�A�W@H�L$0�o6�H�E�H9E���H�H��H�@��;L��H�D$pH�D$(�\$ L�L$PA�W2H�L$0臓���H�T$HH��r
H��H�L$0�&2�H�d$@L�|$H�D$0H�T$hH��r
H��H�L$P�1�H�d$`L�|$h�D$PH�U�H��r
H��H�L$p��1��MmH��H�E�H��tL�E�H��H������H���H��3�H�M��K����H��t9������G�u+H�H��H���:����G�uH�H��H�B��:�H����P����H�M@�f���H��H��0H3��nL��$@I�[(I�s0I��A__]�������������H�!�H�H�AH�BH�������������H�	E?���������H�\$WH�� ��H�������t
�XH���zlH�\$0H��H�� _�������������H�\$WH�� H����H�H��������t
�0H���0lH�\$0H��H�� _���H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@�Z9H���{�H;�u`H9~u7H�L��M��H��H��H�@ �.9H�\$`H��H�l$hH�t$pH�|$xH��PA^�H�9�H�L$0��`�H�`�>H�L$0�I�H���H�L$0�`�H�=�>H�L$0��I�����������H�\$H�t$WH��@H��H��H�JH�H�@��8H���z�H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%d8H��H�L$ �7`�H���>H�L$ �RI�H��H�L$ �`�H���>H�L$ �/I���������������H�\$H�t$ H�T$UWATAVAWH��H��`I��H��E3�D�u�L�2L�rL�rL�rL�r L�r(H�r0L�6L�r8L�r@L�rHL�rPL�rXL�r`L�rhL�rpL�rxL���L���L���L���L���L���D���L���E�~D�}�3�I���m5��H�E�H��t�DxD�M8L�E�H�U�H���cf���L�
���M�ǺH�M��hH�GpA��L9�X�L9�x�H�O(H�G0H+�H��I;��;H�AH�@XH�E�H��t	�DxH�E�H�SH;StH�I��H�E�H�C�L�E�H����h��H�E�H��t A����HA�uH�M�H�A��H��z6H�O(H�G0H+�H��H����H�A H�@XH�E�H��t	�DxH�E�H�SH;StH�I��H�E�H�C�L�E�H���hh��H�E�H��t A����HA�uH�M�H�A��H���5H�GpL9���H�O(H�G0H+�H��H��rH�A0�
I;��H�AH�HXH�M�H��t�DyH�SH;StH�
I��H�E�H�C�L�E�H����g��H�E�H��t A����HA�uH�M�H�A��H��\5H�O(H�G0H+�H��H��rH�A@�H����H�A H�HXH�M�H��t�DyH�SH;StH�
I��H�E�H�C�L�E�H���Bg��H�E�H��t A����HA�uH�M�H�A��H���4H�GpL9����H�O(H�G0H+�H��H��uH�A�H��uH�AP�H����H�A0H�HXH�M�H��t�DyH�SH;StH�
I��H�E�H�C�L�E�H���f��H�E�H��t A����HA�uH�M�H�A��H��)4H�XH��t�DH�E�H;�t)H�H��tA����AA�uH�A��H���3H�>�$H��tA����GA�uH�A��H��H���3H��L�\$`I�[0I�sHI��A_A^A\_]���a�����@SH��@L��H��H�L$(3��D$ H�AH�AH�AH�A H�A(H�A0�A8H�Q@H�T$0�H�B H�B�BH�B(H�B0�AxH�z�H��D$ H��I���"��H��H��@[����@USVWATAVAWH��$���H��H��>H3�H���E��L��H��H�M��d$ ��~��H���H�ƆVA�D�d$ H��I����#��I���I���H+�H��H����E��H�U�H�	聒��H��pI���
���H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H�U�H�M��@��H��H���H��H���3����G@�C@�GD�CDH�M�H��tH�U�H+�H����(�H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H��pH�M����H��H��H��H��耍���G@�C@�GD�CDH�M�H��tH�U�H+�H�����'�I�I��H�@��0H��H�N�OJ���A�$����A�(���A�� �������H��H���H3��YdH��A_A^A\_^[]��^���H�\$ UVWATAUAVAWH��$ ���H���H���>H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`�B�H�WXL�D$`I����H���I�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� �Kx���A��H��t9A����CA�u,H�H��H���/A����CA�uH�H��H�@��/I��H����v���I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H���x���L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H���0RI�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH���}���H�CH;CtH��H���}��H�C@�L��H��H����c���H������I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	裍��H�0H�޸?���H#�H�M�6�H��3�H�D$0H��D$ �D��D��H�M��W�L��H�|$ A�H��H��P�~3�I�EH�XH��PH�����2�L��H�T$HH����x���H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I���_��H�D$0H��t$����H��uH�L$0H��H���,�H�L$HH��t#����A��uH��tH��H��{,H�t$HI��L;|$8�����I��H���H3��`H��$8H���A_A^A]A\_^]��A��OZ����H�\$ WH��`H���>H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(�{��H�N�H�H�SH��rH��H��"�H�cH�C�H��H�L$PH3��F_H��$�H��`_�H��(�
.�AeH�%XA�4H��A�9!�AH���AH��(�H�
�A��d�=�A�u�W���A��A��AH�
��A���H�
���b�H�
��A�1d����H�\$H�T$UH�l$�H��H�ڋ�E�H�AH�E��A�EH�EH�EgH�eGH�J8H��tH�H�UH���*H�EG���L�E�H�U�H��耩���H�MGH��tH�H�UH;���H�@ �o*�H�K8H��tH�H;���H�@ �R*H�c8H��$�H�Đ]�������������H��H�XH�pH�x UATAUAVAWH�����0�'^H+�)�$ )�$H�u�>H3�H��H���m�E3�����H���W��uA�_D��H��H����B����H�WH���
詬���H���H���H+�H��H����D��H��H�	�l���L�wH�8�u;�D$8�̒8M��t	�A^L�wH�OH���H�D$8�/Z�HG��8�M��t	�A^L�wH�G���M��(�t:�����A�F�u+I�I��H���(���A�F�uI�I��H�@��(H��XH��HDžH��XH��H�� H��\H��(H��0H��`H��8A�L��@H��lH��HE�f�L��PW��X�hH���H���H+�H��H;���
D��H���H�I����H��L��D��H����:
���L�-BFH���H;��tH��H���g��L�.H���H�L��H��H����[���H���H��tH��H+�H����`�H���H���HDž�H���H���H���H���H���H���H���H���L���H���H���L���W�����H���H���H+�H��I;��vD��H��H�I���H��L���D��H��0�	���H���H;��tH��H���lf��L�.H���H�L��H��H����uZ���H��8H��tH��HH+�H����=�L�|$<�d$D�\$8D$8Eh�]xH�E|���W��E�L�}�D�L$0L���H�UhH�M������]�H��
H;� 
t>L�:L�zL�zH�E�H�H�E�H�BH�E�H�BW��E�L�}��E��BH��
 �L�E�H��
�����H�M�H��tH�U�H+�H����t�H�D$<�d$D�\$8D$8��L���D������W��E�L�}�D�L$0L���H���H�M��@���D�}�H��
H;� 
t>L�:L�zL�zH�E�H�H�E�H�BH�E�H�BW��E�L�}؋E�BH��
 �L�E�H��
�>����H�M�H��tH�U�H+�H�����H�D$8�d$D�\$@D$8E�W��M�L�}�D�L$0L�E�H�U�H�M�臦���E	H��
H;� 
t>L�:L�zL�zH�E�H�H�E�H�BH�E�H�BW��E�L�}��E�BH��
 �L�E�H��
肤���H�M�H��tH�U�H+�H������H�D$8�d$DD�|$@D$8��HDž�D������W��EL�}D�L$0L���H���H�M訥��D�e H��
H;� 
t>L�:L�zL�zH�EH�H�EH�BH�EH�BW��EL�}�E �BH��
 �L�EH��
覣���H�MH��tH�UH+�H�����H���Xh��H��HH���HDžH��HH��H��H��LH��H�� H��PH��(L��0H��\H��8L��@W��H�XH���H���H+�H��H��rH�I�
H;��H�ID��H����m���H��L���D��H��x����H���H;��tH��H����a��L�.H���H�L��H��H����U���H���H��tH���H+�H������H���H��pHDžxH���H���H���H���H���H���H���H���L���H���H���L���W�����H���H���H+�H��H��rH�I �
I;���H�ID��H��
�>���H��L��pD��H����i���H���H;��tH��H����`��L�.H���H�L��H��H�����T���H���H��tH���H+�H�����H�D$8�d$DD�t$@D$8�����HDž����W��E(L�}8D�L$0L���H���H�M(�_���D�e@H��
H;� 
t>L�:L�zL�zH�E(H�H�E0H�BH�E8H�BW��E(L�}8�E@�BH��
 �L�E(H��
�]����H�M(H��tH�U8H+�H�����H�D$8�d$D��D$@D$8�����H�����W��EHL�}XD�L$0L��H���H�MH脡��D�}`H��
H;� 
t>L�:L�zL�zH�EHH�H�EPH�BH�EXH�BW��EHL�}X�E`�BH��
 �L�EHH��
肟���H�MHH��tH�UXH+�H������p
���L��W�3���H���I�
H�AL���
L���H���I����L�}��H�u�D�}�L�
A�E�ǍV H�M��b�L�|$XH�t$`D�|$HL�
K�E�ǍVH�L$H�;�L�|$xH�u�D�|$hL�
ŵE�ǍV9H�L$h��H���H9����H�H��H�@�3L��H�E�H�D$(�\$ L�L$H�VtH�L$h�)v���H�U�H��r
H��H�L$h���L�|$xH�u�D�|$hH�T$`H��r
H��H�L$H��L�|$XH�t$`D�|$HH�U�H��rH��H�M��~���OH��H�D$8H��tL���H��H����H���H��I��H�����~���H���
�-y���H��������~�D��H��H������H�WH�� ���L�wM��t	�A^L�wH�G������M��t:�����A�F�u+I�I��H������A�F�uI�I��H�@��H���A���H����a��H����J�tH���J����L��W�3���H���I�
H�AL�� L���H���I��G�L�}��H�u�D�}�L�
��E�ǍV H�M����L�|$xH�u�D�|$hL�
ɨE�ǍVH�L$h��L�|$XH�t$`D�|$HL�
B�E�ǍV9H�L$H��H���H9����H�H��H�@��L��H�E�H�D$(�\$ L�L$h�V@H�L$H�s���H�T$`H��r
H��H�L$H�E�L�|$XH�t$`D�|$HH�U�H��r
H��H�L$h��L�|$xH�u�D�|$hH�U�H��rH��H�M����qMH��H�D$8H��tL���H��H���r�H��H��I��H����g|���H�� �v���H����p��H��H��H3��kNL��$0I�[8I�s@I�{HA(s�A({�I��A_A^A]A\]��H��H���H���H���H����H�\$WH�� H����H�H���u����t
�0H����LH�\$0H��H�� _���H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@��H�����H;�u`H9~u7H�L��M��H��H��H�@ ��H�\$`H��H�l$hH�t$pH�|$xH��PA^�H�٧H�L$0�A�H��>H�L$0�*�H�.�H�L$0�`A�H�ݘ>H�L$0�{*�����������H�\$H�t$WH��@H��H��H�JH�H�@�:H���"��H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%H���H�L$ ��@�H�T�>H�L$ ��)�H���H�L$ �@�H�1�>H�L$ ��)���������������H��H�XH�hH�PVWAVH��@I��H��3�h�H�*H�jH�jH�jH�j H�j(H�r0H�.H�j8H�j@H�jHH�jPH�jXH�j`H�jhH�jpH�jxH���H���H���H���H���H������H���D�uD�p�3�I�����H�D$(H��t�DpI��H�����H�D$0H��t�DpH�K(H�C0H+�H��H����H�A H�HXH�L$8H��t�DqD�L$hL�D$@H�T$(H���F���L�
��D�B�H�L$(�HH�[XH��t�DsH�D$hH;�t)H�H��t����A��uH�A��H��<H��$H��t����C��uH�A��H��H��H��H�\$`H�l$pH��@A^_^��E���������H��H�H�AH�BH�������������H�"?�@SH��@L��H��H�L$(3��D$ H�AH�AH�AH�A H�A(H�A0�A8H�Q@H�T$0�H�B H�B�BH�B(H�B0�AxH�үH��D$ H��I������H��H��@[����@USVWATAVAWH��$���H��H���>H3�H���E��L��H��H�M��d$ ���a��H�B�H�A�D�d$ H��I���
��I���I���H+�H��H����E��H�U�H�	�u��H��pI���9v��H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H�U�H�M��o���H��H���H��H���bq���G@�C@�GD�CDH�M�H��tH�U�H+�H�����H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H��pH�M����H��H��H��H���p���G@�C@�GD�CDH�M�H��tH�U�H+�H����
�I�I��H�@�*H��H�N�~-���A�$����A�(���A�� ������H��H���H3��GH��A_A^A\_^[]���A��H�\$ UVWATAUAVAWH��$ ���H���H�"�>H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`�&&�H�WXL�D$`I����H�e�I�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� �{[���A��H��t9A����CA�u,H�H��H���A����CA�uH�H��H�@��I��H���Z���I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H���r��L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H���`5I�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH����`���H�CH;CtH��H���E`��H�C@�L��H��H���G���H���Ki��I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	��p��H�0H�޸?���H#�H�M�H�H��3�H�D$0H��D$ �D��D��H�M��:�L��H�|$ A�H��H��P��I�EH�XH��PH������L��H�T$HH���\���H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I���NB��H�D$0H��t$����H��uH�L$0H��H����H�L$HH��t#����A��uH��tH��H���H�t$HI��L;|$8�����I��H���H3��5CH��$8H���A_A^A]A\_^]��$��=����H�\$ WH��`H���>H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(�%_��H�ަH�H�SH��rH��H���H�cH�C�H��H�L$PH3��vBH��$�H��`_�H��(�
^�AeH�%XA�4H��A�9��AH�x�AH��(�H�
��A�H�=��A�u�W�T�A]�Af�AH�
?�A��H�
3��F�H�
V�A�aG����H�\$H�T$UH�l$�H��H�ڋ�E�H�AH�E��A�EH�EH�EgH�eGH�J8H��tH�H�UH���
H�EG��L�E�H�U�H��谌���H�MGH��tH�H�UH;���H�@ ��
�H�K8H��tH�H;���H�@ ��
H�c8H��$�H�Đ]�������������H��H�XH�xL�p UH��h���H��H���>H3�H���H��A�H��H�M0�����H�WH�M��F�����P���L��W�3�E�H�E�I�
H�AL�M�L�E0H�U�I����H�e�A�L�u��D$pL�
P�E3�A�V H�L$p�o�H�d$`L�t$h�D$PL�
W�E3�A�VH�L$P�F�H�d$@L�t$H�D$0L�
.�E3�A�V>H�L$0��H�E�H9E���H�H��H�@�AL��H�D$pH�D$(�\$ L�L$PA�V)H�L$0�5d���H�T$HH��r
H��H�L$0���H�d$@L�t$H�D$0H�T$hH��r
H��H�L$P��H�d$`L�t$h�D$PH�U�H��r
H��H�L$p���=H��H�E�H��tL�E�H��H������H���H��3�H�M��l���H�M��?g���H�M0�Ua��H��H���H3��?L��$�I�[I�{ M�s(I��]�����������H�\$WH�� ��H���a����t
��H���=H�\$0H��H�� _�������������H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@��
H���N��H;�u`H9~u7H�L��M��H��H��H�@ ��
H�\$`H��H�l$hH�t$pH�|$xH��PA^�H���H�L$0�C2�H���>H�L$0�^�H��H�L$0� 2�H���>H�L$0�;�����������H�\$H�t$WH��@H��H��H�JH�H�@��	H��莢�H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%�	H�e�H�L$ �1�H��>H�L$ ��H�z�H�L$ �t1�H��>H�L$ ����������������H�Y�H�H�AH�BH�������������H�	?�@SH��@H���>H3�H�D$8H��H��H��H�T$ A�!�*���H�L$ �D�AD�ID�QD�Y�H�T$0H+�D�CH��D�KD�SD�[��H��H�L$8H3��<H��@[���@SH��@L��H��H�L$(3��D$ H�AH�AH�AH�A H�A(H�A0�A8H�Q@H�T$0�H�B H�B�BH�B(H�B0�Ax#H�
�H��D$ H��I������H��H��@[����H�\$ UVWATAUAVAWH��$���H��H���>H3�H���E��L��H��H�M�E3�D�d$ A�T$#��S��H�r�H�L��PL��XL��`L��hL��pL��xE�l$D�l$ H��I������I���I���H+�H��H����E��H�U�H�	�g��H��pI���h��H�D$xH�D$(H�D$0H�D$xH�D$8L�l$@H�D$|H�D$HL�l$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H�U�H�M��>�H��H���H��H���1c���G@�C@�GD�CDH�M�H��tH�U�H+�H�����H�D$xH�D$(H�D$0H�D$xH�D$8L�l$@H�D$|H�D$HL�l$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H��pH�M���H��H��H��H���~b���G@�C@�GD�CDH�M�H��tH�U�H+�H������I�I��H�@��H��H�N�M���A�$����A�(���A�� �����H��H���H3��W9H��$XH��A_A^A]A\_^]��3����H�\$ UVWATAUAVAWH��$ ���H���H���>H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`���H�WXL�D$`I����H�	�I�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� �?M���A��H��t9A����CA�u,H�H��H���A����CA�uH�H��H�@��I��H����K���I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H���ld��L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H���$'I�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH���R���H�CH;CtH��H���	R��H�C@�L��H��H����8���H���[��I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	�b��H�0H�޸?���H#�H�M��H��3�H�D$0H��D$ �D��D��H�M��s,�L��H�|$ A�H��H��P�r�I�EH�XH��PH�����L��H�T$HH����M���H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I���4��H�D$0H��t$����H��uH�L$0H��H����H�L$HH��t#����A��uH��tH��H��oH�t$HI��L;|$8�����I��H���H3��4H��$8H���A_A^A]A\_^]��y��C/����H�\$ WH��`H���>H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(��P��H���H�H�SH��rH��H��z��H�cH�C�H��H�L$PH3��:4H��$�H��`_�H�\$H�t$H�|$ UATAUAVAWH��H��H��H�E�3�H�E�H�=6��u�L�-|H�}�A��L�m�H�M�L�}�H�U��u��H�E�H�}�E�w�H�E�H�U�L�m�H�M��u�L�u��u��oH�E�H�}�D�fH�E�H�U�L�m�H�M��u�L�e��u��D�e�H�E��u�H�U�A�w�H�E�H�M�H�u�H�}�L�m���e�H�E�H�}�H�U��~�H�E�H�M��}�L�m�L�}����e�H�R�H�E�H�U�H�E�L�m�H�M�H�E�}�L�u���e�H�#�H�E�H�U�H�E�L�m�H�M�H�E�}�L�e���e�H��H�E�H�U�H�E�L�m�H�M�H�E�}�H�u��`L�}�H�E�E3�H�E�H�=��D�}�H�U�H�}�H�M�L�m�D�e��-H�E�H�}�H�U�H�E�H�M�L�m�D�e�L�u�D�}��H�E�H�}�H�U�H�E�H�M�L�m�D�e�L�e�D�}���H�E�H�}�H�U�H�E�H�M�L�m�D�e�H�u�D�}��L��$�H��I�[8I�s@I�{HI��A_A^A]A\]���H��(�
��AeH�%XA�4H��A�9e�AH�,�AH��(�H�
P�A�[7�=D�A�u�W��A�A�AH�
�A�·H�
���r5�H�
�A�6����H�\$H�T$UH�l$�H��H�ڋ�E�H�AH�E��A�EH�EH�EgH�eGH�J8H��tH�H�UH��-�H�EG�(��L�E�H�U�H���|���H�MGH��tH�H�UH;���H�@ ���H�K8H��tH�H;���H�@ ��H�c8H��$�H�Đ]�H�\$H�t$UWAWH��$���H��H�$�>H3�H���H��A�E��H��H�M��:�H�VH��p��W�E�H�~H��t	�DH�~H�^H�]�H�}�H���H�M����)�@�@��PH��H�M�����T�@��d�����l�����t0��t��t��u(D��h�Džh�Džh���h���L��W�3�E�H�E�I�
H�AL��pL�E�H�U�I��x��H�e�A�L�}��D$pL�
�E3�A�W H�L$p���H�d$`L�|$h�D$PL�
�E3�A�WH�L$P���H�d$@L�|$H�D$0L�
��E3�A�W5H�L$0��H�E�H9E���H�H��H�@��L��H�D$pH�D$(�\$ L�L$PA�W*H�L$0��R���H�T$HH��r
H��H�L$0�p��H�d$@L�|$H�D$0H�T$hH��r
H��H�L$P�H��H�d$`L�|$h�D$PH�U�H��r
H��H�L$p�!���,H��H�E�H��tL�E�H��H����H�u�H��3�H�M��[���H��t9������G�u+H�H��H�������G�uH�H��H�B���H��p�U���H�M��O��H��H���H3��^-L��$I�[(I�s0I��A__]�������H�\$WH�� H�ً�H��PH��t-H��`H+�H�H��0��H��PH��XH��`H���0O��@��t
�hH���+H��H�\$0H�� _����������������H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@��H���*u�H;�u`H9~u7H�L��M��H��H��H�@ ���H�\$`H��H�l$hH�t$pH�|$xH��PA^�H���H�L$0�c �H��w>H�L$0�~	�H��H�L$0�@ �H��w>H�L$0�[	�����������H�\$H�t$WH��@H��H��H�JH�H�@��H���jt�H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%�H���H�L$ ��H�4w>H�L$ ���H���H�L$ ��H�w>H�L$ ����������������H��H�H�AH�BH�������������H��?�H�\$H�t$ WATAUAVAWH��@L�D$0L��H��H�L$8L��L+9I�H�AH+H�I��������I;��L�hH�IH+H�H��H��I��H+�H;�vL�D$ H������)H�
M��I;�LC�M;���K�46L�t$ H��rH�����H��H�D$(�#H��tH���(H��H�D$(�3�H�\$(L�t$ N�4{H�D$0�fA�L�GH�H��M;�uL+��M��L+�I�NL�GM+�I����H�H��tH�WH+�H�H����H�J�kH�OH�H�OI��L�\$@I�[@I�sHI��A_A^A]A\_��N��������@SH��@L��H��H�L$(3��D$ H�AH�AH�AH�A H�A(H�A0�A8H�Q@H�T$0�H�B H�B�BH�B(H�B0�Ax&H�֐H��D$ H��I����H��H��@[����@USVWAUAVAWH��$���H��H�ӷ>H3�H���E��L��H��H�M��d$ �&�@��H�F�H�H��PH��XH��`A�D�l$ H��I���!�I���I���H+�H��H����E��H�U�H�	��T��H��pI���MU��H�D$xH�D$(H�D$0H�D$xH�D$8L�l$@H�D$|H�D$HL�l$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H�U�H�M����H��H���H��H���vP���G@�C@�GD�CDH�M�H��tH�U�H+�H�������H�D$xH�D$(H�D$0H�D$xH�D$8L�l$@H�D$|H�D$HL�l$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H��pH�M�����H��H��H��H����O���G@�C@�GD�CDH�M�H��tH�U�H+�H������I�I��H�@�>�H��H�N����A�$����A�(���A�� �,�����H��H���H3��&H��A_A^A]_^[]�� ��H�\$ UVWATAUAVAWH��$ ���H���H�6�>H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`�:�H�WXL�D$`I����H���I�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� �:���A��H��t9A����CA�u,H�H��H����A����CA�uH�H��H�@���I��H���9���I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H���Q��L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H���tI�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH����?���H�CH;CtH��H���Y?��H�C@�L��H��H���&���H���_H��I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	��O��H�0H�޸?���H#�H�M�\��H��3�H�D$0H��D$ �D��D��H�M����L��H�|$ A�H��H��P���I�EH�XH��PH������L��H�T$HH���';���H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I���b!��H�D$0H��t$����H��uH�L$0H��H�����H�L$HH��t#����A��uH��tH��H����H�t$HI��L;|$8�����I��H���H3��I"H��$8H���A_A^A]A\_^]���������H�\$ WH��`H��>H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(�9>��H�r�H�H�SH��rH��H�����H�cH�C�H��H�L$PH3��!H��$�H��`_�@SH�� H��H��PH��t-H��`H+�H�H��r��H��PH��XH��`H��H�� [�mC���H��(�
"�AeH�%XA�4H��A�95�AH���AH��(�H�
 �A��&�=�A�u�W�؏A�A�AH�
ÏA�H�
'���$�H�
ڏA�%&����H�\$H�T$UH�l$�H��H�ڋ�E�H�AH�E��A�EH�EH�EgH�eGH�J8H��tH�H�UH����H�EG�'��L�E�H�U�H���tk���H�MGH��tH�H�UH;���H�@ �c��H�K8H��tH�H;���H�@ �F�H�c8H��$�H�Đ]�H��H�XH�pH�x UATAUAVAWH�����H��H���>H3�H���H��A�E��H��H�M��u����H�VH��0�����H�^E3�H��t	�DkH�^H�~H��t=A��A����CA�u,H�H��H����A����CA�uH�H��H�@�t�E��fD�d$0H���H+��H�f�\$4M��H��H�����I;�t-H��H;��u�H;� t\f�H��H��H���]H;� tfD�2H��H��H���L�D$0H���r�H��fE�fD�t$0�!L�D$4H���N�H��fA�f�\$4M�I���O�������L��W�3�E�H�E�I�
H�AL��0L�E�H�U�I��e��L�e��H�}�D�d$xL�
�vE�čW H�L$x���L�d$hH�|$pD�d$XL�
�vE�čWH�L$X����L�d$HH�|$PD�d$8L�
=�E�čW8H�L$8���H�E�H9E���H�H��H�@���L��H�D$xH�D$(�\$ L�L$X�W-H�L$8��A���H�T$PH��r
H��H�L$8�e��L�d$HH�|$PD�d$8H�T$pH��r
H��H�L$X�>��L�d$hH�|$pD�d$XH�U�H��r
H��H�L$x����H��H�E�H��tL�E�H��H���O���H��H��I��H�M��J���H��0��D���H��H��t*H�� H+�H�H����L��L��L�� H�M��>��H��H���H3��\L��$�I�[8I�s@I�{HI��A_A^A]A\]����H��K��L��@SWH��hH���>H3�H�D$XM��M��H��H��H�L$ H��$�H�!L�L$PM��I�H��;�H��T$P��uH��t!H��H�L$XH3���H��h_[�L��H�L$(�hH�-k>H�L$(����H�\$WH�� H��H�KH�H�QH��W�H�K��H�|�H��C�GH�C H�\$0H�G H��H�� _��H�U�W�AH�H���QL�A �H�\$H�t$ H�L$WH��pI��I��H��H�!H�AH��$�H�
H�H��t	�4���upH�KH��$�H�H��AH��H��t	����u$H�H�C �c,�c0H��L�\$pI�[ I�s(I��_�L���H�L$H�E���H�
j>H�L$H���L�����H�L$ � ���H��i>H�L$ ����H��(H�	H��t�|�H��(���H��(H�	H��t�^�H��(���H��H�XH�pH�x UH�h�H���H�֨>H3�H�EGH�يA(��MɹL#�3���@8s)��L�D�S,E��uX9s0uSL�CH�SH�t$ H�M����H��H;�tH�H��t
�������H�H�H�7H�M�H���T���JL��A�ҿ��t
;�u	D�_��L�ߋS0D��A��tD;�u	���ωu�E������H�St\H�E�L�]H�E���H�E'H�E/�L�M7H�u?L�M�L�EH�K�>�H��H�H�����������H�E�L�]�H�E��L�M�H�uL�M�L�E�H�K���H��H�H��tb��������S���TH�E���H�E�H�E��L�M�H�uL�M�L�E�H�SH�K��H��H�H��t
�y����.H�;9u���H�u�H�]'@�uL�
��D�ƍSH�M���H�u�H�]�@�u�L�
��D�ƍSAH�M�����U�H�M�衿���L�E�H�-�H�M���Z�L��L�E�SjH�M��|;���H�U�H��rH��H�M����H�u�H�]�@�u�H�U�H��rH��H�M����H�u�H�]�@�u�H�U�H��rH��H�M��m��H�u�H�]�@�u�H�U'H��rH��H�M�K��H�MGH3��L��$�I�[I�s I�{(I��]�L�?���H�M���H�uf>H�M�D��L����H�M����H�Rf>H�M��!��L����H�M�j���H�/f>H�M���L����H�M��G���H�f>H�M�������H�\$H�|$L�t$ UH��H����H������E����H�e�A�L�u�D�E�L�
>�E3���H�M��-��H�e�L�u��E�L�
�E3�A�VH�M����H�e�L�u��E�L�
�E3�A�VAH�M�����L�M�L�E�A�VvH�M��9���H�U�H��rH��H�M�����H�e�L�u��E�H�U�H��rH��H�M����H�e�L�u��E�H�U�H��rH��H�M����_,L��$�I�[I�{ M�s(I��]�3���tE��t�‰A0����H�A H��uH�H~����������������H�\$WH�� H��H������PH����H�\$0H��H�� _����������������H�\$WH�� H��H���K���H�\$0��H��Ƀ�� 	OH�� _�����������H�\$WH�� ��H���<����t
��H���JH�\$0H��H�� _�������������H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@�j�H����?�H;�u`H9~u7H�L��M��H��H��H�@ �>�H�\$`H��H�l$hH�t$pH�|$xH��PA^�H�InH�L$0���H�p_>H�L$0���H��mH�L$0���H�M_>H�L$0��������������H�\$H�t$WH��@H��H��H�JH�H�@���H���
?�H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%t�H�mH�L$ �G�H��^>H�L$ �b��H�*mH�L$ �$�H��^>H�L$ �?����������������H�Ap�������H�qH�H�AH�BH�������������H�i�>���������H�\$WH�� H�o��H�H���:����t
�0H���@H�\$0H��H�� _���H�\$WH�� L�L��L�IH�9��8��8M+�H��I��H��L��I��I��H��?L�M;�sH�QK��I��L��H�����H�_�EvCH�IH��I+�H��H��H��H��?H�L;�v
I��H���&�H�OM+�I��L�����H�GH�\$0H�� _����H�L$SVWAVAWH��0L��H��I���8��8�I;���H�IH+I�9��8��8I��H��L��I��I��H��?L�H�NH+I��H��H��H��H��?H�H��H��I��H+�H;�vI��H�\$hH���"H�I;�s I��H�\$hH��H��H��r�{���H�\$hI;�wk��3�H��t�qH��H�|$xK��H��H�L$(I��I+�L���~��H�D$ L��L��H�VH������L��M��H��H��H��0A_A^_^[�B:�������������@SH��@L��H��H�L$(3��D$ H�AH�AH�AH�A H�A(H�A0�A8H�Q@H�T$0�H�B H�B�BH�B(H�B0�AxH�.{H�Ɓ��D$ H��I�����H��H��@[�����@USVWATAVAWH��$���H��H���>H3�H���E��L��H��H�M��d$ ��'��H��zH�džPA�D�d$ H��I������I���I���H+�H��H����E��H�U�H�	�;��H��pI���<��H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H�U�H�M��Q���H��H���H��H���D7���G@�C@�GD�CDH�M�H��tH�U�H+�H������H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H��pH�M�螼��H��H��H��H���6���G@�C@�GD�CDH�M�H��tH�U�H+�H�������I�I��H�@��H��H�N�`��A�$����A�(���A�� ������H��H���H3��j
H��A_A^A\_^[]�������H�\$ UVWATAUAVAWH��$ ���H���H��>H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`���H�WXL�D$`I����H�UxI�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� �[!���A��H��t9A����CA�u,H�H��H����A����CA�uH�H��H�@���I��H�������I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H���8��L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H���@�I�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH���&���H�CH;CtH��H���%&��H�C@�L��H��H�������H���+/��I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	�6��H�0H�޸?���H#�H�M�(��H��3�H�D$0H��D$ �D��D��H�M���L��H�|$ A�H��H��P���I�EH�XH��PH�������L��H�T$HH����!���H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I���.��H�D$0H��t$����H��uH�L$0H��H�����H�L$HH��t#����A��uH��tH��H����H�t$HI��L;|$8�����I��H���H3��	H��$8H���A_A^A]A\_^]�����_����H�\$ WH��`H���>H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(�%��H��sH�H�SH��rH��H����H�cH�C�H��H�L$PH3��VH��$�H��`_�H��H�XH�pL�`UAVAWH��h���H��	H��E3�D�d$0A��L�L$8D�d$@L�=�tL�|$HL�5(L�t$PH�D$HH�E�D�e�E�Y�L�]�D�e�L�}�L�u�H�E�H�E�D�e�A�t$H�u�D�e�L�}�L�uH�E�H�E0D�e8�V@H�U@D�eHL�}PL�uXH�EPH���D���E�T$L���D���L���L���H���H���D���E�D$L���D���L��L��H��H��8�N��@L��HD��PL��XL��`H��XH������L���D���L���L���H���H������H���D��L��L��H��H��@��HH��PD��XL��`L��hH��`H������L���D���L���L���H���H������L��D��L��L��H��H��H��PL��XD��`L��hL��pH��hH������L���D���L���L���H���H�����H��D��L��L�� H��H��P��XH��`D��hL��pL��xH��pH������L���D���L���L���H���H����L��D��L�� L��(H�� H��X�N��`L��hD��pL��xL���H��xH������L���D���L���L���H���H���N ��L��D�� L��(L��0H��(H��`��hL��pD��xL���L���H���H������H���D���L���L���H���H����L�� D��(L��0L��8H��0H��h��pL��xD���L���L���H���H���D���L���D���L���L���H���H��Dž H��(D��0L��8L��@H��8H��pH�D$0H�D$ H��xH�D$(H�L$ ��L�
e ���VWE�D$H�L$0�H��L��$�	I�[ I�s(M�c0I��A_A^]����H�\$ UVWAVAWH�l$�H���I��H��H�M'�I����H�anH�H�FpE3�D8����L�uE�~L�}D�uL�
�nE��A�V,H�M�c��L�}�H�E�H�kds sizeH�E�D�u�L�}�H�E��pn�E��lnf�E��dn�E�D�u�L�u�L�}�D�u�L�
PnE��A�VKH�M�����H�KH+KH�9��8��8H��H��H��H��H��?H�H�NpH�AL�@0I�XI+H��H�H�@���L��H�EH�D$8H�|$0H�E�H�D$(H�\$ L�M�A�V7H�M��q��H�U�H��rH��H�M��n��L�u�L�}�D�u�H�U�H��rH��H�M��L��L�u�L�}�D�u�H�U�H��rH��H�M��*��L�u�L�}�D�u�H�UH��r
H��H�M���H��H��$H���A_A^_^]��H��(�
‰AeH�%XA�4H��A�9UpAH�pAH��(�H�
@pA�k�=4pA�u�W��oApA
pAH�
�oA�6�H�
���H�
�oA������H��H�XH�hH�p WH��0)p�1�t��fH~�H��fs�fH~�H�(�L��H��H�����H��XH;�u�H�\$HH�l$PH�t$X(t$ H��0_���������H��H�XH�pH�x UATAUAVAWH��x���H��`H�{�>H3�H��PL��3��މ\$8@8������L��H�EPH��H����W�W�fM�fE�fM�fE��
Ql�M�H�}�@�u�3�D�FHH�M�����u�W�fE�W�fM�f�uH�uD�fD�e�E@�uH�u0D�~L�}8@�u �}@�^?�\$8L�E�I��I������L���L���� �QH�U8H��rH��H�M ���H�M�H��t:����A�u/H�]�H�H��H��������C�uH�M�H�H�@���H�M�H��t:����A�u/H�]�H�H��H��������C�uH�M�H�H�@�q�H�M�H��tH�U�H+�H���(��L�u�M��tPI��L;u�tH���� ��H�ÐH;]�u�H�U�I+�H�9��8��8H��H��H��H��?H�H��H��I�����H�M�H��t:����A�u/H�]�H�H��H��������C�uH�M�H�H�@���I����A�E��I��H����p��I�VH��@����I�^H��t	�DcI�^I�FD�� H��t9H������C�u*H�H��H��J�����C�uH�H��H�@�/�I�FH�H0H�QH+H��L�D$0H����k�L��I�FH�H0H�AH+H��H���H��H�\$8I���I���H+�H��I;��&E��H���J���(��H�E�H�E�H�E�H�E�H�E�L�e�H�E�H�E�L�e�H�E�H�E�H�E�H�E�H�E�H�E�W�E�E�L�M�E��H���H�Mx葪��H��H��H��H���$���O@�K@�GD�CDH���H��tH���H+�H����پ�M�H�\$8H��HH�\$8I�FH�H0H�AH+H��L;������E��tAA��t/A��t!A��tA��uDž0�'D��0���0�Dž0�
Dž0D����d���L��W�3���H���I�
H�AL��@L���H���I��E��H�uhA�L�}p@�uXL�
�SD��A�W H�MX���H�t$pL�|$x@�t$`L�
�SD��A�WH�L$`��H�t$PL�|$X@�t$@L�
�fD��A�W<H�L$@��H���H9����I�I��H�@���L��H�EXH�D$(�\$ L�L$`A�WMH�L$@����H�T$XH��r
H��H�L$@�=��H�t$PL�|$X@�t$@H�T$xH��r
H��H�L$`���H�t$pL�|$x@�t$`H�UpH��rH��H�MX����g�H�EPH��tL���I��H�����H��H����m'���H��@�!���H�������H��H��PH3��q�L��$`I�[8I�s@I�{HI��A_A^A]A\]��������������H�YfH�H�AH�BH�������������H���>���������H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@�*�H���&���H;�u`H9~u7H�L��M��H��H��H�@ ���H�\$`H��H�l$hH�t$pH�|$xH��PA^�H�	SH�L$0���H�0D>H�L$0����H�^RH�L$0���H�
D>H�L$0�������������H�\$H�t$WH��@H��H��H�JH�H�@�j�H���f���H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%4�H��QH�L$ ���H��C>H�L$ �"��H��QH�L$ ����H�aC>H�L$ �����������������@USVWAVAWH�l$�H���I��H��L��H�U׃e�M�xI��H��7��H��I;�u�H�GH�HE3�H��H�I�!��A�D�}�H��I���(H�e�H�Oh����H�E�H�E�H�H�@�N�H��L���H�M�蛸��E�H�GxH�E�H��t�DxH�O(H�G0H+�H��H���sH�L�HXL�E�H�U�I���H��H��t�DxH�E�H�U�H����H�M��H�E�H�E�H�H�@���H��L��H�M�����E�H���H�E�H��t�DxH�O(H�G0H+�H��H����H�L�HXL�E�H�U�I���H��H��t�DxH�E�H�UH��rH�M�H�����H�E�H�E�H��t�D{H�U�H�M��:c�H�GXH�E�H��t�DxH�U�H�M��c�H�M�H����?���H#��*�H��H��H�U�L��L+�H�M����d$ L�
��>L�s�>3�H���H��H�@HcH���u,D���H�H��H��u�H�CHcHH��H��3���H�e�H�M�H�H�@�J���H�M�H��t����A�uH��tH�A��H���H�e�H�e�H�M�H�H�@��H�M�H��t����A�uH��tH�A��H���H�e�H�E�H��t����H�uH�M�L�A��I����H��H���A_A^_^[]���������H�\$WH�� ��H��H�QhH��rH�IPH���;��H�c`H�KH�Ch�CP�ML��@��t
�xH�����H��H�\$0H�� _�@SH�� H�aH��H�a����H��H�� [����H�\$H�T$UH�l$�H��H�ڋ�E�H�AH�E��A�EH�EH�EgH�eGH�J8H��tH�H�UH����H�EG��L�E�H�U�H���>���H�MGH��tH�H�UH;���H�@ ���H�K8H��tH�H;���H�@ �b�H�c8H��$�H�Đ]�H�\$UVWATAUAVAWH��$p���H��H���>H3�H���H��H�L$hH�R(H�C0H+�H��H���
H�BH�HXH�L$0E3�H��t�AH�T$0H�L$P�_�H�K(H�C0H+�H��H����H�AH�PXH��H����9��H�D$XH�D$`H�K(H�C0H+�H��H����H�H�HXH�L$8H��t�AH�T$8H�L$@�_�H�K(H�C0H+�H��H���WH�H�PXH��H������H�D$HH�D$(L�kpA����D$ E��H���D91�H���H���E��D92��A��D9p��A��D9p���8��I���D�E�I���D�E�I���D�EƋQ׋I�H�E�H�D$pH�D$xH�E�H�E�H�E�H�E�H�E�H�E�H�E�H�E�H�E�H�E�H�E�H�E�fo�%E�E�D�U�D�M�D�EȉỦM�H�T$pH���l���H��H�E8H�E�H�E�H�E8H�E��H�MH�E<H�EH�MH�E@H�EH�E H�ELH�E(H�E0fod%E8EHD�e8D�}<D�u@�}D�uHH�U�H������H�L$`��H�D$(��D�D$ A��E��t%��t���*/��/�����uE3�A���^.�z�u�A��H���D;0�h�����;xA��N�����;p�6���H���A��D;:����H���A��D;!������L�t$HH�L$@H�H�@�ϻ��H�L$@H��t����A�uH��tH��WH����L�t$@L�t$XH�L$PH�H�@���H�L$PH��t ����A�uH��tL��PI��^����H���H3���H��$�H�ĐA_A^A]A\_^]�H�L$hH�IpH�H�@��L��H�I\H�M`�ذ�H��>>H�M`������������������H�\$H�t$WH�� H��x��H�D$8H��H��td3�H�HD�BH���gH��[H�gH�gH�g H�g(f�g0H�g8�G@�GD�GHH�g`H�Gh�GPH�H�wp�3�H�\$0H��H�t$@H�� _���H�\$H�t$H�T$WH��@I��H��M��H��H��lO��W��D$(H�d$8H�T$(H��8���H�\$(H��tVH�|$0H;�t8H�H��t����A��uH��H����H�#H��H;�u�H�\$(H�T$8H+�H��H���g��H�H�QPH�AXH+�H��H��tDH�H�XXH��t!A���D�AA��uL��I��S�H�&H��H�\$PH�t$`H��@_��W����H�\$H�t$WH��0H��H�L$ 3�f�1�A�A���FH�A(H�q @�qH�AHH�q@@�q0@�qPH�ApH�qh@�qXH���H���@�qxH���H���H�C@�3D�F
L�CH��gH����@�s
H��H�\$HH�t$PH��0_�����������H�\$WH�� H�ً�H��XH��t-H��hH+�H�H�� ��H��XH��`H��hH��� ��@��t
�pH����H��H�\$0H�� _����������������H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@�ʷH�����H;�u`H9~u7H�L��M��H��H��H�@ ���H�\$`H��H�l$hH�t$pH�|$xH��PA^�H��EH�L$0�S��H��6>H�L$0�n��H��DH�L$0�0��H��6>H�L$0�K������������H�\$H�t$WH��@H��H��H�JH�H�@�
�H������H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%ԶH�uDH�L$ ���H�$6>H�L$ ����H��DH�L$ ���H�6>H�L$ �����������������H�IYH�H�AH�BH�������������H�	�>�@SH��@L��H��H�L$(3��D$ H�AH�AH�AH�A H�A(H�A0�A8H�Q@H�T$0�H�B H�B�BH�B(H�B0�Ax*H�zWH��D$ H��I���d���H��H��@[����@USVWAUAVAWH��$���H��H�7x>H3�H���E��L��H��H�M��d$ �*�]��H��VH�H��XH��`H��hA�D�l$ H��I��腦��I���I���H+�H��H����E��H�U�H�	�(��H��pI�����H�D$xH�D$(H�D$0H�D$xH�D$8L�l$@H�D$|H�D$HL�l$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H�U�H�M����H��H���H��H�������G@�C@�GD�CDH�M�H��tH�U�H+�H����5��H�D$xH�D$(H�D$0H�D$xH�D$8L�l$@H�D$|H�D$HL�l$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H��pH�M��4���H��H��H��H���'���G@�C@�GD�CDH�M�H��tH�U�H+�H���肪�I�I��H�@���H��H�N����A�$����A�(���A�� 萟�����H��H���H3���H��A_A^A]_^[]��Y���H�\$ UVWATAUAVAWH��$ ���H���H��u>H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`���H�WXL�D$`I����H��TI�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� ���A��H��t9A����CA�u,H�H��H��U�A����CA�uH�H��H�@�8�I��H���y����I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H��� ��L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H�����I�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH���O���H�CH;CtH��H�����H�C@�L��H��H���x��H������I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	�K��H�0H�޸?���H#�H�M��H��3�H�D$0H��D$ �D��D��H�M��'��L��H�|$ A�H��H��P�&��I�EH�XH��PH����k��L��H�T$HH������H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I�����H�D$0H��t$����H��uH�L$0H��H��Q��H�L$HH��t#����A��uH��tH��H��#�H�t$HI��L;|$8�����I��H���H3���H��$8H���A_A^A]A\_^]��-��������H�\$ WH��`H�Kq>H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(���H�PH�H�SH��rH��H��.��H�cH�C�H��H�L$PH3����H��$�H��`_�@SH�� H��H��XH��t-H��hH+�H�H��֤�H��XH��`H��hH��H�� [�����H��(�
�jAeH�%XA�4H��A�9yQAH�@QAH��(�H�
dQA�/��=XQA�u�W�QA%QA.QAH�
QA�juH�
ˎ�F��H�
QA������H�\$H�l$H�t$WH�� H��������L��H��H;���H�QH��H+H�H��H��H+�H;�vH���H�<I;�IB�3�H9tH�H�躣�H�H�^H�^H;�wJH�H��r
H������
H��tH����H��H�l$8H�H�H�^H�\$0H�FH�t$@H�� _��������H�\$H�T$UH�l$�H��H�ڋ�E�H�AH�E��A�EH�EH�EgH�eGH�J8H��tH�H�UH��1�H�EG���L�E�H�U�H���+���H�MGH��tH�H�UH;���H�@ ����H�K8H��tH�H;���H�@ �ګH�c8H��$�H�Đ]�����H�\$H�t$UWATAVAWH��$@���H��H� n>H3�H���H��D��H��H�M�����H�VH��0�����H�^H��t�{H�^H�FH�E�H�]�H8H��H;�tUL�pL� M+�I��H�H��(L��I+�H�H;�vH�����L��M��I��I���L�K�>H�� A��H��t9A����CA�u,H�H��H����A����CA�uH�H��H�@���H�^H��t�{H�^H�N��0��t'��t$��t��t
��u�z���	��3���H��t9A����CA�u,H�H��H��0�A����CA�uH�H��H�@���.���L��W�3�E�H�E�I�
H�AL��0L�E�H�U�I��ߩ�H�e��H�}��D$pL�
T6E3��W H�L$p�t��H�d$`H�|$h�D$PL�
\6E3��WH�L$P�L��H�d$@H�|$H�D$0L�
�KE3��W7H�L$0�$��H�E�H9E���H�H��H�@�H�L��H�D$pH�D$(�\$ L�L$P�W0H�L$0�=���H�T$HH��r
H��H�L$0�ܟ�H�d$@H�|$H�D$0H�T$hH��r
H��H�L$P负�H�d$`H�|$h�D$PH�U�H��r
H��H�L$p荟���H��H�E�H��tL�E�H��H���`���H��JH��3�H�M��
���H��0�D���H��H��t(H��(H+�H�H��"��H��W�f� H�M��&���H��H���H3����L��$�I�[8I�s@I��A_A^A\_]���������H�9KH�H�AH�BH�������������H��>���������@SH�� H�;KH��H���t
���>�H��H�� [������H�\$WH�� H��K��H�H��������t
�0H����H�\$0H��H�� _���H�\$WH�� H�ً�H����U��H��XH��t+H��hH+�H�����H��XH��`H��hH�����@��t
��H����H��H�\$0H�� _������H�\$WH�� ��H������t
�(H���J�H�\$0H��H�� _�������������H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@�j�H����H;�u`H9~u7H�L��M��H��H��H�@ �>�H�\$`H��H�l$hH�t$pH�|$xH��PA^�H�I4H�L$0����H�p%>H�L$0���H��3H�L$0����H�M%>H�L$0�������������H�\$H�t$WH��@H��H��H�JH�H�@���H����
�H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%t�H�3H�L$ �G��H��$>H�L$ �b��H�*3H�L$ �$��H��$>H�L$ �?����������������H�\$H�t$ UWAVH��$����H��H��g>H3�H��pH��H�IpH�H�@�ޤ3�H��`H��hH��H��P���H�GhL���H���I+�H��H����A�H�U�I�	���H�D�vL�u�H�u�@�u�L�t$hH�D$`
��I�D$P��I�D$X��I�D$\@�t$]L�u�H�E���I�D$p��I�D$x@�t$|H�u�L�u�@�u�L�
�ID�ƍVIH�M�躞�3�H���%�D$@H�M�H�L$8H�@H�D$0H�D$PH�D$(H�\$ L�L$pL��P�V+H�M��9���H�U�H��rH��H�M��j��H�u�L�u�@�u�H�U�H��r
H��H�L$p�G��H�u�L�u�@�t$pH�T$hH��r
H��H�L$P�"��H�t$`L�t$h@�t$PH�U�H��r
H��H�M���H��hH��rH��H��P���H��pH3���L��$�I�[0I�s8I��A^_]�����H�T$SUVWATAVAWH��@Ic�I��H��d$ D�����A�D�d$ L��H��H���B$H��H��t�D`H�}8H��$�A��H;�t)H�H��tA����AA�uH�A��H��X�H��$H��tA����CA�uH�A��H��H��/�H�Nh��g�tI��H����H��H��t�D`�3�3�H�]XH�L$(H;�t)H�H��tA����AA�uH�A��H��ҡH�;�'H��t"A����HA�uH�L�A��H��I�����H�Nh�]y�tI��H���&$H��H��t�D`�3�3�H�]`H�L$0H;�t)H�H��tA����AA�uH�A��H��I�H�;�'H��t"A����HA�uH�L�A��H��I����H�Nh�4"��tI��H���!H��H��t�D`�3�3�H�]hH��$�H;�t)H�H��tA����AA�uH�A��H����H�;�'H��t"A����HA�uH�L�A��H��I�����H��H��@A_A^A\_^][����������������H�Ap��0������H�Ap��@��@SH�� H����.��z	u��
�B��BH�YH��t9����C��u,H�H��H��������C��uH�H��H�@��H�� [�@SH��@L��H��H�L$(3��D$ H�AH�AH�AH�A H�A(H�A0�A8H�Q@H�T$0�H�B H�B�BH�B(H�B0�AxH��CH��D$ H��I�����H��H��@[����@USVWATAVAWH��$���H��H��a>H3�H���E��L��H��H�M��d$ �A�D�d$ H��I���0���I���I���H+�H��H����E��H�U�H�	����H��pI���\���H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H�U�H�M�蒀��H��H���H��H������G@�C@�GD�CDH�M�H��tH�U�H+�H������H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H��pH�M�����H��H��H��H�������G@�C@�GD�CDH�M�H��tH�U�H+�H����-��I�I��H�@�M�H��H�N衶���A�$����A�(���A�� �;������H��H���H3���H��A_A^A\_^[]��������@USVWATAUAVAWH��$����H��hH�E_>H3�H��PA��D�L$0L��L��H�M�d$4�C����D$4A��0�'I���I���H+�H��H���)A�H���H�I�S�����uTH���H�M��z���H��I��$PH��H���t����G@�C@�GD�CDH�M�H����H�U�H+�H����˒��H�������D��H��D�0H���8�XH����U��H��\$ D��E��A��H�L$8����L��H�t$ D���H���H��P��H��H�M�轂��H��I��$PH��H������G@�C@�GD�CDH�M�H��tH�U�H+�H������t$0I���`���Ic�0����H�HM���I���I+�H��H;���A�H��PI�����W�����H�E�H�D$8H�D$@H�E�H�D$HH�D$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pH�E�H�D$xH�E�E�E�L�L$8D��H��PH�M�|���H�U�H�����I��$�H�{H;{tH��H�����H���H�H�CH�L��H��H������H�M�H��tH�U�H+�H����ѐ�H�e�W��E��PH��pD�8H���D�0H���������yH�E�H�D$8H�D$@H�E�H�D$HA�L�l$PH�E�H�D$XL�l$`H�E�H�D$hH�D$pH�E�H�D$xH�E�E�E�H������H�؉|$ D��E��A��H�M`�b��L��H�\$ D��XH��PH����\��H��L�L$8E��H�M�X{���H�U�H���ã�I��$�H�{H;{tH��H�����H�6�H�H�CH�L��H��H������H�M�H��tH�U�H+�H����|��H�e�W��E�H�M H��tH�U0H+�H����V��I��H��PH3��$�H��hA_A^A]A\_^[]��{���H��H�M��.��H��>H�M��J���T���H�|oH�M����H��>H�M��#����H��H�XH�hH�p H�HWH�� I��H��H�����5�H��H�D$0H��t,W���C�CH�8;H�H�KD�H���ޥ�3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$ UVWATAUAVAWH��$ ���H���H��Y>H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`���H�WXL�D$`I����H��;I�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� �;���A��H��t9A����CA�u,H�H��H����A����CA�uH�H��H�@���I��H������I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H���h���L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H��� �I�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH�����H�CH;CtH��H����H�C@�L��H��H������H����I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	��H�0H�޸?���H#�H�M���H��3�H�D$0H��D$ �D��D��H�M��o��L��H�|$ A�H��H��P�n��I�EH�XH��PH���賙�L��H�T$HH�������H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I�����H�D$0H��t$����H��uH�L$0H��H�����H�L$HH��t#����A��uH��tH��H��k�H�t$HI��L;|$8�����I��H���H3���H��$8H���A_A^A]A\_^]��u���?�����H�\$ WH��`H��U>H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(���H�V7H�H�SH��rH��H��v��H�cH�C�H��H�L$PH3��6�H��$�H��`_�H�\$H�t$H�|$ UATAUAVAWH��H��H��H�E�E3�H�E�L�5�5D�}�L�-�L�u���L�m�H�M�H�u�H�U�D�}��$H�E�L�u�D�f�H�E�H�U�L�m�H�M�D�}�L�e�D�}��H�E�L�u�A�H�E�H�U�L�m�H�M��}�H�u�D�}���H�E�L�u�H�U�H�E�H�M�L�m��}�L�e�D�}���e�H�E�D��H�E�H�U�L�u�H�M�L�m��}�L�}��w�e�H�E�L�u�H�U�D�v�H�E�H�M�L�u�L�m��}��K�e�H�p4H�E��~�H�E�L�m�H�U�H�E�H�M��}�H�u���e�H�>4H�E�H�U�H�E�L�m�H�M�H�E�}�L�e����e�H�4H�E�H�U�H�E�L�m�H�M�H�E�}�L�}���e�H��3H�E��~�H�E�L�m�H�U�H�E�H�M��}�H�u���e�H��3H�E�H�U�H�E�L�m�H�M�H�E�}�L�e��Z�e�H�3H�E��~�H�E�L�m�H�U�H�E�H�M��}�H�u��(H�Q3�}�H�E�H�U�H�E�L�m�3�H�E�H�M�L�e��}��H�!3L�m�H�E�H�U�H�E�D�}�H�M�H�E�H�u��}���H�5�2H�E�H�u�H�U�H�E�H�M�L�m�D�}�L�e��}��H�E�H�u�H�U�H�E�H�M�L�m��E�L�e��}��oH�E�H�u�H�U�H�E�H�M�L�m��E�L�}��}��DH�E�H�u�H�U�H�E�H�M�L�m��E�L�}��}��H�E�H�u�H�U�H�E�H�M�L�m��E�L�}��}���H�E�H�u�H�U�H�E�H�M�L�m�D�}�L�}��}���L�}�H�E�E3�H�E�A�|$�D�}�H�U�H�u�H�M�L�m��}��H�E�H�u�H�E�H�U�L�m�H�M��}�L�u�D�}��nH�E�H�u�H�U�H�E�H�M�L�m��E�"L�e�D�}��BL��$�H��I�[8I�s@I�{HI��A_A^A]A\]���@SH�� �H���3�H�P2H���?H���H���H����JH���H���H���������H��H���������H���H��H��H��H��H�� H�� [��@SH�� H���.��3�H��1H�H���H��PH��H��XH��`H��hH��pH��xH������H���H���H���H�� [���@SH�� H��H�����H������H������H��XH��t+H��hH+�H����t��H��XH��`H��hH��H�� [�o����H��(�
"IAeH�%XA�4H��A�9u0AH�<0AH��(�H�
`0A����=T0A�u�W�0A!0A*0AH�
0A�f�H�
�m����H�
0A�%�����H�\$H�T$UH�l$�H��H�ڋ�E�H�AH�E��A�EH�EH�EgH�eGH�J8H��tH�H�UH����H�EG�<;��L�E�H�U�H���t
���H�MGH��tH�H�UH;���H�@ �c��H�K8H��tH�H;���H�@ �F�H�c8H��$�H�Đ]�H��HH�Ah��@u/Lc�0A;�}EH�A0H��I�L�A(I+�H��H;�vNH�I���H�Q(H�A0H+�H��H��v0H�B H�@XH��H�H�bH�L$ 衫�H�F>H�L$ 輛��Ƹ�������H��H�XH�pH�x UATAUAVAWH����H��0H��L>H3�H�� 
L��H�q�H��t�~H�qL�yL���H���H���I���H+�H��H���
D��H���H�	��A��0��	I���I���H+�H��H;���	D��H�� 
H�I���I���L�hL+(I��E��4A��E��E�A��5@�|$0E��A��vE��E��tD��I��H������I�VH���	���H���H�E0H�E8H���H�E@�H�MHH���H�EPH�MXH���H�E`H�EhH���H�EpH�ExW�����L�E0I�� H�� 	�X��H���H���HDž�H���H����H���H���H���H���H���H���HDž�H��H���HDž�W����L��(	I��uI��H�� 	蜦�����E��D;�vE��tD��H�EH�E�H�E�H�EH�E�H�M�H�EH�E�H�M�H�EH�E�H�E�H�EH�E�H�E�(�p	E(��	ML�M�H���H�����i��H��H���H��H������O@�K@�GD�CDH���H��tH���H+�H����6~�@�|$0A���t!H��t�FL�}�H�u�H���H�M����D���@���H��p
�989xE3�D����
@���E3�D���A�����H��`
��PD�@������D���I��P���AHԋH��AH̋@��AHĉ��������I�����PD�@������D���I��@��PD�@������D���I��H�HH+H��H���@���H��H���HDž�H��H���H���H��H���H���H��H���HDž�H��H���HDž�W���3�I����H��D��H�����H��L���D��H�� �g���H��HH��� ��L�-��H���H;��tH��H�����L�+H���H�L��H��H��������H��PH��t%H��`H+�H�����{�L��PW���XH��(H��tH��8H+�H����{��A�8���I��H�HH+H��H���`@���H��xH��(HDž0H��xH��8H��@H��|H��HH��PH���H��XHDž`H���H��hHDžpW��x��3�I���*H��D��H��0��H��L��(D��H��h�'f���H���H��菎�H��	H;�	tH��H���s��L�+H��	H�L��H��H��	�|����H���H��t%H���H+�H����Dz�L���W����H��pH��t&H���H+�H����z���A�<������H��I�NH�� H����@^���A��H����yur�D$1I�VL�D$1H�RH�� ���H��H��
�X�H��(H��t9A����CA�u,H�H��H����A����CA�uH�H��H�@���W�3���H���H�L���	L���H���H��H�@�X��L�e��H�}�D�e�L�
?%E�čW!H�M���|�L�d$hH�|$pD�d$XL�
�E�čWH�L$X��|�L�d$HH�|$PD�d$8L�
�'E�čW:H�L$8�|�H���H9����I�I��H�@���L��H�E�H�D$(�\$ L�L$X��H�L$8����H�T$PH��r
H��H�L$8�Sx�L�d$HH�|$PD�d$8H�T$pH��r
H��H�L$X�,x�L�d$hH�|$pD�d$XH�U�H��rH��H�M��x��}�H��H�D$xH��tL���I��H����H�/&H��I��H����s��H���H��tEA����AA�u8H���H�H��H��ÀA����CA�uH���H�H�@����H���	�e���H�����H��t9A����FA�u,H�H��H��f�A����VA�uH�H��H�B�I�H��H�� 
H3���L��$0I�[8I�s@I�{HI��A_A^A]A\]��1���+���H���H��0�۠�H��>H��0������H��H��0L��;�}0�@Hc�L�JI���L�I���H+�H��I;�v,J��H��H�H�X#H�L$ �r��H�>H�L$ 荐�藭����H��HH�AhL����@u3��0;�}K�IH��Hc�I�@0H�I�H(H+�H��H;�vNH�H���H�I(I�@0H+�H��H��v0H�A@H�@XH��H�H��"H�L$ �ޟ�H��>H�L$ ��������H�\$WH�� H�YH��t�CH�YH�AH��H�AH+H��H��@��H��t9����C��u,H�H��H���~����S��uH�H��H�B�j~H�\$0@��H�� _�H��HH��H�Ih��@u);�0}CH�JH�P(H�@0H+�H��H;�vNH�H���H�H(H�@0H+�H��H��v0H�AH�@XH��H�H�~�H�L$ �О�H�u�=H�L$ ������H��H��0L��;�}/�L�JHc�I���L�I���H+�H��I;�v,J��H��H�H�%!H�L$ �g��H��=H�L$ 肎�茫�����H��HH�AhL����@u2��0;�}J�H��Hc�I�@0H�I�H(H+�H��H;�vNH�H���H�I(I�@0H+�H��H��v0H�A0H�@XH��H�H�� H�L$ �ӝ�H�x�=H�L$ �������������H�\$WH�� H��"��H�H�������t
�0H���0�H�\$0H��H�� _���H�\$WH�� H�ً�H������H��XH��t+H��hH+�H����&s�H��XH��`H��hH���&��@��t
��H��賮H��H�\$0H�� _������H��"H�H�AH�BH�������������H�i�>���������H�\$WH�� H��H��蛧���v�K���u	���t�K���t�K���t�+H��H�\$0H�� _�H�\$WH�� H�ً�H����u��H��XH��t+H��hH+�H����r�H��XH��`H��hH�����@��t
��H��裭H��H�\$0H�� _������H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@��zH����s��H;�u`H9~u7H�L��M��H��H��H�@ ��zH�\$`H��H�l$hH�t$pH�|$xH��PA^�H��H�L$0�S��H��=H�L$0�n��H��H�L$0�0��H���=H�L$0�K������������H�\$H�t$WH��@H��H��H�JH�H�@�
zH���"s��H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%�yH�uH�L$ 觡�H�$�=H�L$ �Š�H��H�L$ 脡�H��=H�L$ 蟊���������������H�\$UVWATAUAVAWH��$����H��pL��L��E3�L�e�E�l$L�m�D�e�L�
�bE��A�T$1H�M���s�L�l$hH�D$`��b�D$P��b�D$XD�d$\L�e�L�m�D�d$pL�
!E��A�t$&��H�L$p�s�L�e�L�m�D�e�L�
!E�čV0H�M��xs�I�_pH�U�H���C��H��H�H��H�B��xL��H�E�H�D$8W��D$0H�D$PH�D$(��x�D$ L�L$p��H�M������H�U�H��rH��H�M��o�L�e�L�m�D�e�H�U�H��r
H��H�L$p��n�L�e�L�m�D�d$pH�T$hH��r
H��H�L$P��n�L�d$`L�l$hD�d$PH�U�H��rH��H�M��n�L�m�L�e�D�e�L�m�H�E�
�[ �E��X �E��S �E�D�e�L�d$`L�l$hD�d$PL�
: E�ĺH�L$P�0r�L�e�L�m�D�d$pL�
�E�ĺVH�L$p�	r�I�_pI�~X3�I���Ju��H��H�H��H�B�#wL��D�d$@H�E�H�D$8H�OH�L$0H�E�H�D$(H�FH�D$ L�L$P�(H�L$p�k���H�U�H��r
H��H�L$p�m�L�e�L�m�D�d$pH�T$hH��r
H��H�L$P�vm�L�d$`L�l$hD�d$PH�U�H��rH��H�M��Qm�L�e�L�m�D�e�H�U�H��rH��H�M��/m�L�m�L�e�D�e�L�m�H�E�
���E����E����E�D�e�L�l$hH�D$`���D$P���D$XD�d$\L�e�L�m�D�d$pL�
5E�ĺVH�L$p�p�I�_pI�vX�I����s��H��H�H��H�B��uL��D�d$@H�E�H�D$8H�NH�L$0H�E�H�D$(H�GH�D$ L�L$P�)H�L$p�����H�U�H��r
H��H�L$p�"l�L�e�L�m�D�d$pH�T$hH��r
H��H�L$P�k�L�d$`L�l$hD�d$PH�U�H��rH��H�M���k�L�e�L�m�D�e�H�U�H��rH��H�M��k�L�m�L�e�D�e�L�l$h�
H�|$`�;�D$P�7�D$X�1�D$\D�d$]L�m�H�E��E�Fp32D�e�L�e�L�m�D�d$pL�
�E�čwI��H�L$p�'o�I�FhD9�0�[I�N(I�F0H+�H��H���cH�A H�XXI�OpH�H�@�#tL��D�d$@H�E�H�D$8H�CH�D$0H�D$PH�D$(H�D$ �L�M��WH�L$p�m���H�U�H��r
H��H�L$p�j�L�e�L�m�D�d$pH�U�H��rH��H�M��zj�L�e�L�m�D�e�H�T$hH��r
H��H�L$P�Vj�L�d$`L�l$hD�d$PH�U�H��rH��H�M��1j�I�FpH��@H�AH+H�� �(L�m�L�e�D�e�L�e�L�m�D�d$pL�
�E�ĺH�L$p��m�L�l$hH�|$`���D$P���D$X���D$\D�d$]L�e�L�m�D�e�L�
E��H��H�M��m�I�FhD9�0��I�N(I�F0H+�H��H����H�A H�XXI�wp3�H���*H��A�H�U��s��H��H��H�H��H�B�XrL��H�E�H�D$8H�|$0H�D$pH�D$(H�\$ L�L$P�.H�M��y���H�U�H��rH��H�M���h�L�e�L�m�D�e�H�T$hH��r
H��H�L$P�h�L�d$`L�l$hD�d$PH�U�H��r
H��H�L$p�h�L�e�L�m�D�d$pH�U�H��rH��H�M��qh�L�m�L�e�D�e�L�e�L�m�D�d$pL�
��E�ĺH�L$p�/l�L�l$hH�D$`����D$P���f�D$X����D$ZD�d$[L�e�L�m�D�e�L�
tE�ĺVH�M���k�I�wp3�H���pH��A�H�U����H��3�I���H�XH�H��H�B��pL��H�E�H�D$8H�|$0H�D$pH�D$(H�\$ L�L$P�/H�M�����H�U�H��rH��H�M��Zg�L�e�L�m�D�e�H�T$hH��r
H��H�L$P�6g�L�d$`L�l$hD�d$PH�U�H��r
H��H�L$p�g�L�e�L�m�D�d$pH�U�H��rH��H�M���f�H��$�H��pA_A^A]A\_^]����H�{�H�M��ΐ�H�s�=H�M�������H�T�H�M�觐�H�L�=H�M��À���H�T$SUVWATAVAWH��`Ic�I��H��d$ D���Ǖ��A�D�d$ L��H�Fh;�0��H�KH�V(H�F0H+�H��H;��~H�H��H�XXH��t�DcH�}8H��$�A��H;�t)H�H��tA����AA�uH�A��H���nH��$H��tA����CA�uH�A��H��H���nH�FpH��8H�AH+H���tI��H���IH��H��t�D`�3�3�H�]XH�L$(H;�t)H�H��tA����AA�uH�A��H��lnH�;�'H��t"A����HA�uH�L�A��H��I���@nH�FpH��@H�AH+H���tI��H����H��H��t�D`�3�3�H���H�L$0H;�t)H�H��tA����AA�uH�A��H���mH�;�'H��t"A����HA�uH�L�A��H��I����mL�FpI��8H�HH+H����t5I��@H�HH+H����t
I��H���"�3�H��H��t�D`�3�3�H���H�L$8H;�t)H�H��tA����AA�uH�A��H��mH��'H��t"A����HA�uH�L�A��H��I����lH�N�������H��H��`A_A^A\_^][�����H�J�H�L$@蜍�H�A�=H�L$@�}���H�\$H�L$WH��0H��H���d$ A��+�D$ H���D��H��H���1[��H��H�\$HH��0_����@SH��@L��H��H�L$(3��D$ H�AH�AH�AH�A H�A(H�A0�A8H�Q@H�T$0�H�B H�B�BH�B(H�B0�AxH�H��D$ H��I���\[��H��H��@[����@USVWATAVAWH��$���H��H�/.>H3�H���E��L��H��H�M��d$ �
A�D�d$ H��I���\��I���I���H+�H��H����E��H�U�H�	�G��H��pI������H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H�U�H�M��M��H��H���H��H������G@�C@�GD�CDH�M�H��tH�U�H+�H����Ta�H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H��pH�M��SL��H��H��H��H���F���G@�C@�GD�CDH�M�H��tH�U�H+�H����`�I�I��H�@��iH��H�N�����A�$����A�(���A�� �U�����H��H���H3���H��A_A^A\_^[]��x������@USVWATAUAVAWH��$����H��hH��+>H3�H��PA��D�L$0L��L��H�M�d$4�C����D$4A��0�'I���I���H+�H��H���)A�H���H�I������uTH���H�M���O��H��I��$PH��H�������G@�C@�GD�CDH�M�H����H�U�H+�H����?_��H�������D��H��D�0H���8�XH�����p�H��\$ D��E��A��H�L$8�;��L��H�t$ D���H���H��P�5n�H��H�M��1O��H��I��$PH��H���+���G@�C@�GD�CDH�M�H��tH�U�H+�H����^�t$0I���
����Ic�0����H�HM���I���I+�H��H;���A�H��PI���b��W�����H�E�H�D$8H�D$@H�E�H�D$HH�D$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pH�E�H�D$xH�E�E�E�L�L$8D��H��PH�M�!I���H�U�H���q�I��$�H�{H;{tH��H���n���H���H�H�CH�L��H��H���w����H�M�H��tH�U�H+�H����E]�H�e�W��E��PH��pD�8H���D�0H���������yH�E�H�D$8H�D$@H�E�H�D$HA�L�l$PH�E�H�D$XL�l$`H�E�H�D$hH�D$pH�E�H�D$xH�E�E�E�H����cn�H�؉|$ D��E��A��H�M`�֏�L��H�\$ D��XH��PH�����k�H��L�L$8E��H�M��G���H�U�H���7p�I��$�H�{H;{tH��H������H���H�H�CH�L��H��H���"����H�M�H��tH�U�H+�H�����[�H�e�W��E�H�M H��tH�U0H+�H�����[�I��H��PH3�蘘H��hA_A^A]A\_^[]�����H�O�H�M�袅�H�G�=H�M��u��Ȓ��H��;H�M��{��H� �=H�M��u���H�\$ UVWATAUAVAWH��$ ���H���H��&>H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`��v�H�WXL�D$`I����H��I�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� �?����A��H��t9A����CA�u,H�H��H���cA����CA�uH�H��H�@��cI��H���Ū���I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H���l��L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H���$�I�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH��蛱���H�CH;CtH��H���	���H�C@�L��H��H���ė���H������I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	���H�0H�޸?���H#�H�M�j�H��3�H�D$0H��D$ �D��D��H�M��s��L��H�|$ A�H��H��P�rg�I�EH�XH��PH����f�L��H�T$HH���׬���H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I������H�D$0H��t$����H��uH�L$0H��H���`�H�L$HH��t#����A��uH��tH��H��o`H�t$HI��L;|$8�����I��H���H3��H��$8H���A_A^A]A\_^]��yu��C�����H�\$ WH��`H��">H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(���H�H�H�SH��rH��H��zV�H�cH�C�H��H�L$PH3��:�H��$�H��`_�@SH�� �H�����3�H�hH�H�È��H���H���H���H���H���H���ǃ�f���H�� [����@SH�� H��H�������H��XH��t+H��hH+�H����U�H��XH��`H��hH��H�� [駴�����H��(�
ZAeH�%XA�4H��A�9
AH��AH��(�H�
�A���=�A�u�W��A�A�AH�
�A��H�
�?���H�
�A�]�����H�\$H�T$UH�l$�H��H�ڋ�E�H�AH�E��A�EH�EH�EgH�eGH�J8H��tH�H�UH���]H�EG�K��L�E�H�U�H������H�MGH��tH�H�UH;���H�@ ��]�H�K8H��tH�H;���H�@ �~]H�c8H��$�H�Đ]�H��HH�ApL��L��8I�@I+H���H�Ahu;�0}?Hc�0;�WH��H�JI�Q(H�I�A0H+�H��H;�vH�H��H�@XH��H�����H�UH�L$ ��}�H�t�=H�L$ ��m�H�"4H�L$ �}�H�Q�=H�L$ ��m���H�\$WH�� H�YH��t�CH�YH�AH��8H�yH+9H��H��t9����C��u,H�H��H��b\����C��uH�H��H�@�E\H�\$0H����H�� _�����H��H�XH�pH�x UATAUAVAWH�����H���H��>H3�H���L��H�q�E3�H��t�^H�qL�iL��(H��0D9�0�,H���I���H+�H��H���.D��H��@H�I萻��H��H�����H�������H��@H;�������fI�H��H��H�H���tH��tH��t
H����I��0L�xL+8I���\$ D��E3�3�H������A��4I���HI����E��@���DE�I��H��@�,��I�VH��@�o��@��4��5�@���H�E�H�E�H�E�H�E�H�E�H�}�H�E�H�E�H�}�H�EH�E�H�E�H�EH�E�H�E�W�E�EI���I���H+�H��H;��{D��H���H�I�%���H��L�M�D��H�M@�V<���H��0H;�8tH��H��貙��H�CxH�H��0H�L��H��H��(贍���H�MHH��tH�UXH+�H����P�D��0H����H�������I���P���AH��AH̉�$��(��,I����H�������H����H������� �n���L��W�3��H�� I�
H�AL��@L��@H��I���X�L�e��H�}�D�d$pL�
]�E�čW H�L$p�}S�L�d$`H�|$hD�d$PL�
f�E�čWH�L$P�VS�L�d$@H�|$HD�d$0L�
�E�čWGH�L$0�/S�H��H9���I�I��H�@�MXL��H�D$pH�D$(�\$ L�L$P�WyH�L$0�B����H�T$HH��r
H��H�L$0��N�L�d$@H�|$HD�d$0H�T$hH��r
H��H�L$P�N�L�d$`H�|$hD�d$PH�U�H��r
H��H�L$p�N��
�H��H�E H��tL��I��H����H�e�H��I��H�������H��@�D����H����w���H���H��t%H���H+�H����N�L���W�f��H��@�����H��t8������F�u*H�H��H��W����V�uH�H��H�B��VH��H���H3�芊L��$�I�[8I�s@I�{HI��A_A^A]A\]��Ԅ�H�� H�M��~�H��=H�M��g�H��H�M(�fw�H��=H�M(�g�茄��H�d�H�M���H���=H�M��[g���H��HH�ApL��L��HI�@I+H���H�Ahu;�0}A��0;�}Z�IH��Hc�I�A0H�I�I(H+�H��H;�vH�H��H�@XH��H����H�c�H�L$ �v�H�R�=H�L$ ��f�H��H�L$ �v�H�/�=H�L$ �f�H��H��0L��;�}0�@Hc�L�JI���L�I���H+�H��I;�v,J��H��H�H���H�L$ �&v�H���=H�L$ �Af��K�����H��HL��H�IpH��@L�@L+I�AhI����u;�0}^D��0A;�}uH��8H�HH+H���H��H�JI�Q(����A��H�H�I�A0H+�H��H;�vH�H��H�@XH��H�轂��H��H�L$ �ou�H��=H�L$ �e�H���H�L$ �Lu�H���=H�L$ �ge���H�\$WH��@H��H��;�0}G���H������ٍA��0H�OH�H�H���H+�H��H;�v2H��H�\$PH��@_�H��H�L$ ��t�H�m�=H�L$ ��d�����H�\$WH�� H�YH��t�CH�YH�AH��@H�yH+9H��H��t9����C��u,H�H��H��zS����C��uH�H��H�@�]SH�\$0H����H�� _�������������H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@�
SH���Ҳ�H;�u`H9~u7H�L��M��H��H��H�@ ��RH�\$`H��H�l$hH�t$pH�|$xH��PA^�H���H�L$0�z�H��=H�L$0�c�H�>�H�L$0�pz�H���=H�L$0�c�����������H�\$H�t$WH��@H��H��H�JH�H�@�JRH�����H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%RH���H�L$ ��y�H�d�=H�L$ �c�H���H�L$ ��y�H�A�=H�L$ ��b���������������H�)�H�H�AH�BH�������������H��`>�H�\$ UVWATAUAVAWH��$ ���H���H��>H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`�c�H�WXL�D$`I����H���I�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� �S����A��H��t9A����CA�u,H�H��H���PA����CA�uH�H��H�@��PI��H���ٗ���I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H��耰��L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H���8sI�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH��诞���H�CH;CtH��H������H�C@�L��H��H���؄���H���#���I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	諮��H�0H�޸?���H#�H�M� W�H��3�H�D$0H��D$ �D��D��H�M��x�L��H�|$ A�H��H��P�T�I�EH�XH��PH�����S�L��H�T$HH������H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I���&���H�D$0H��t$����H��uH�L$0H��H���M�H�L$HH��t#����A��uH��tH��H���MH�t$HI��L;|$8�����I��H���H3��
�H��$8H���A_A^A]A\_^]��b��W{����H�\$ WH��`H��>H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(���H��H�H�SH��rH��H��C�H�cH�C�H��H�L$PH3��N�H��$�H��`_�H�\$H�t$H�|$ UATAUAVAWH��H��H��H�E��H�E�E3�H�5�H�E�H�=zH�u�H�M�H�}�H�U�D�u�D�u��H�E�H�u�A��H�E�H�U�H�}�H�M�D�u�L�m�D�u��nH�E�H�u�E�fH�E�H�U�H�}�H�M�D�u�L�e�D�u��AH�E�H�u�E�~H�E�H�U�H�}�H�M�D�u�L�}�D�u���e�H�E�D�u�H�U�E�t$�H�E�H�M�L�u�H�u�H�}����e�H�E��e�H�U�H�u�H�M�A�u�H�E�H�u�H�}���e�H���H�E�H�U�H�}�H�E��~�H�E�H�M��}�H�E����e�H�x�H�E�H�U�H�)�}�H�E�H�M�H�E�L�m�H�E��M�e�H�B�H�E�H�U�H���}�H�E�H�M�H�E�L�e�H�E���e�H��H�E�H�U�H���}�H�E�H�M�H�E�L�}�H�E����e�H���H�E�H�U�H���}�H�E�H�M�H�E�L�u�H�E���e�H���H�E�H�U�H�Q�}�H�E�H�M�H�E�H�u�H�E��u�e�H�j�H�E�H�=H�E�H�}�H�U�H�E�H�M�D�u�H�E���:�e�H�/�H�E�H�U�H�E�H�}�H�E�D�u�L�m�H�M��
�e�H���H�E�H�U�H�E�H�}�H�M�H�E�D�u�L�e����e�H���H�E�H�U�H�E�H�}�H�M�H�E�D�u�L�}���e�H���H�E�H�U�H�E�H�}�H�M�H�E�D�u�L�u��z�e�H�o�H�E�H�U�H�E�H�}�H�M�H�E�D�u�H�u��J�e�H�?�H�E�H�U�H�}�H�E��~�H�E�H�M��}�H�E����e�H�	�H�E�H�U�H���}�H�E�H�M�H�E�L�m�H�E����e�H���H�E�L�-�H�E�L�m�H�E�H�U��}�H�M�L�e��L�}�H�E�E3�H�E�L�%��D�}�H�U�L�e�H�M�L�m��}��vH�E�L�e�H�U�H�E�H�M�L�m��}�L�u�D�}��NH�E�L�e�H�U�H�E�H�M�L�m��}�H�u�D�}��&L��$�H��I�[8I�s@I�{HI��A_A^A]A\]���H�\$H�T$UH�l$�H��H�ڋ�E�H�AH�E��A�EH�EH�EgH�eGH�J8H��tH�H�UH��=GH�EG��b��L�E�H�U�H������H�MGH��tH�H�UH;���H�@ �G�H�K8H��tH�H;���H�@ ��FH�c8H��$�H�Đ]�H��H�XH�pH�x UAVAWH��x���H��pH�/	>H3�H��`L��D��H��H������I�VH�������E3�L�|$\W��D$d�\$XD$XD$XW��L$8L�|$HD�L$0L�D$hH�T$XH�L$8�#���D$P
H��XH;�`tDL�:L�zL�zH�D$8H�H�D$@H�BH�D$HH�BW��D$8L�|$H�D$P�BH��X �L�D$8H��P����H�L$8H��tH�T$HH+�H����r<�I���I���H+�H��H���
D��H���H�	�v���I�vH��t�^I�vI�VH�UH�uH�E�H�E�H�E�H�E�H�E�H�]�H�E�H�E�H�]�H�E�H�E�H�E�H�E�H�E�H�E�W�E�E�H��`A� H�M��LdL�M�D��H���H�M �'��H��H���H��H�������O@�K@�GD�CDH�M(H��tH�U8H+�H����k;�L�}(W��E0H��t8������F�u*H�H��H��mD����F�uH�H��H�@�RD�=��L��W�3�EhH�ExI�
H�AL���L��H�UhI��D�L�}��H�}�D�|$xL�
��E�ǍW H�L$x�>�L�|$hH�|$pD�|$XL�
��E�ǍWH�L$X�>�L�|$HH�|$PD�|$8L�
��E�ǍW3H�L$8�c>�H�EpH9Eh��I�I��H�@��CL��H�D$xH�D$(�\$ L�L$X�W(H�L$8�|����H�T$PH��r
H��H�L$8�:�L�|$HH�|$PD�|$8H�T$pH��r
H��H�L$X��9�L�|$hH�|$pD�|$XH�U�H��r
H��H�L$x��9��DuH��H�D$XH��tL�EhI��H���@�H���H��I��H�Mh�@����H���胞���H���j��H��H��`H3��DvL��$pI�[(I�s0I�{8I��A_A^]��p��L��SUVWAVH��`H��>H3�H�D$XH��I��H�
'�@I��D��H�����d$PI�Cȃd$TD���D$HE3�I�C�H�Ճd$8I�c��d$(I�c��F���xw�\$P��=D��3�H���=H��H��tW�L$PH�D$T�D$HE3�H�D$@E�ƉL$8H��H�
��@H�\$0�d$(H�d$ ����y/�O=L��3�H��9=��H�L$XH3��!uH��`A^_^][ËD$TH��3����L��SUVWAVH��`H��>H3�H�D$XH��I��H�
�@I��D��H�����d$PI�Cȃd$TD���D$HE3�I�C�H�Ճd$8I�c��d$(I�c��(���xw�\$P��<D��3�H��x<H��H��tW�L$PH�D$T�D$HE3�H�D$@E�ƉL$8H��H�
v�@H�\$0�d$(H�d$ �Ň��y/�7<L��3�H��!<��H�L$XH3��	tH��`A^_^][ËD$PH��3����H��t!SH�� H���;L��3�H���;H�� [��H��(H�
��@H��t
�Y�H�%��@H�=��@t ��;L���@3�H���;H�%��@H��(�H�\$H�t$ WH��`H�>>H3�H�D$X�d$P��H�=w�@H��u!E3�H�@�E3�H�
^�@蹆�����\����d$(H�D$PH�
;�@L�L�@A�H�D$ H��胆��x{�+�@��:D��3�H���:H��@H��tU�d$@L�
��@�
��@L����t$83�H�|$0�L$(H�
��@H�D$ �2���y:��:L���@3�H��~:��H�L$XH3��frL�\$`I�[ I�s(I��_�3���H�\$WH�� H�����H�H��H�Q H��rH�IH���A5�H�cH�C �C@��t
�(H����pH��H�\$0H�� _����������������H��H�XWH��pH��H��H�P��`�W�f@�H�QH�H��P�W�fD$`H�S(H�L$P�P�H�'H�gH�gD�L$ L�D$pH�T$0H���sA�D�D$$L�
� A�P?H�L$0�#oH��H��$�H��p_���H�\$WH�� ��H����"��t
�HH���oH�\$0H��H�� _�������������H�\$H�t$ UWATAVAWH�l$�H��@L��H��H�U�E3�D�|$4W�3�H�BH�qL��H��H�M �]2�H��H�S0H+S(H��H�L$X���W�fE�)M�G)E�L�E�gL�gD�?D$X)E�L$h)M�L�|$hL�d$pD�|$XL�d$PH�D$H���f�D$8����D$:D�|$;�D$4L�K0L+K(I��D�|$(�D$ L�D$8H�S(H�L$x�/H��W�fE�H��H�M���N�W�fE)MC)EL�{L�cD�;M�>M�~M�~D�L$0L�E H�U�I���D�d$4L�
A�W@E�GH�M��Im�H�U�H��r
H��H�L$x�2�L�}�L�e�D�|$xH�T$PH��r
H��H�L$8�\2�L�|$HL�d$PD�|$8H�U8H��rH��H�M �72�I��L��$@I�[@I�sHI��A_A^A\_]���������H�\$WH�� ��H���0��t
�@H���mH�\$0H��H�� _�������������@SH�� H�{�H��H���t
�P�nmH��H�� [������@SH�� H�s�H��H���t
�X�>mH��H�� [������H�\$H�t$ UWATAVAWH�l$�H��@L��H��H�U�E3�D�|$4W�3�H�BH�qL�a�H��H�M �/�H��H�S0H+S(H��H�L$X�d��W�fE�)M�G)E�L�E�gL�gD�?D$X)E�L$h)M�L�|$hL�d$pD�|$XL�d$PH�D$H����D$8����D$<D�|$=�D$4L�K0L+K(I��D�|$(�D$ L�D$8H�S(H�L$x�9H��W�fE�H��H�M��:L�W�fE)MC)EL�{L�cD�;M�>M�~M�~D�L$0L�E H�U�I����
D�d$4L�
lA�W@E�GH�M��j�H�U�H��r
H��H�L$x��/�L�}�L�e�D�|$xH�T$PH��r
H��H�L$8�/�L�|$HL�d$PD�|$8H�U8H��rH��H�M �/�I��L��$@I�[@I�sHI��A_A^A\_]�����������H�\$WH�� ��H������t
�@H���jH�\$0H��H�� _�������������@SH�� H�3�H��H���t
�P�jH��H�� [������H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@��7H���r�H;�u`H9~u7H�L��M��H��H��H�@ ��7H�\$`H��H�l$hH�t$pH�|$xH��PA^�H���H�L$0�s_�H��=H�L$0�H�H��H�L$0�P_�H�Ͷ=H�L$0�kH�����������H�\$H�t$WH��@H��H��H�JH�H�@�*7H���q�H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%�6H���H�L$ ��^�H�D�=H�L$ ��G�H���H�L$ �^�H�!�=H�L$ �G���������������@USVWATAVAWH�l$�H��H�
�=H3�H�EI��M��L��H��H�T$0W�fD$@H�d$PH�d$XfD$`W�fL$pfE�fM�fE�fM�fE�fM�fE�e�H�e�I�Y(M�y0�}H�H�@XH�D$0H��t	�@H�D$0H�L$HH;L$PtH�3�H�D$0H�D$H�L�D$0H�T$HH�L$@�h��H�D$0H��t#����H��uH�L$0H��H���5H��I;��z���H�^XH��t�CH�L$pH��t#����A��uH��tH��H��P5H�\$pH�Nh���H������H���H�D$@H�D$ M��L�GxI���2�H�L$@�y���I��H�MH3��hH��A_A^A\_^[]���������H�\$WH�� ��H�����t
��H���JgH�\$0H��H�� _�������������H�������������@SH�� H���H��H���t
���fH��H�� [������H���{�������@SH�� H���H��H���t
���fH��H�� [������H�Q�H�H�AH�BH�������������H�IC>�H�\$H�t$WH��0I��I��H��H�L$ H�H�a�H�fH��H�FH�H�A H��(H�aH�aH�S�dF�H�FH�8H�FH�xH�NH�y3�H�N�DH��H��|�H��H�\$HH�t$PH��0_���H�\$UVWH��0I��I��H��H�L$ H�H�a�h�eH��H�G��A H�i(H�l$(H�e8H�K@H��tH�H��H��3H�E8H�GH�0H�GH�pH�OH�q3�H�O�DH��H��|�H��H�\$XH��0_^]����H�\$WH��0H��H�L$ ��
3�H�H�OH�H�PH�WH�H�HH�\$(H��t9����C��u,H�H��H��l2����C��uH�H��H�@�O2H�\$@H��H��0_��H��H�X WH��PH��H��H�L$@H�`�H�@��@�I��H�H��l%�L�D$ H��H�L$@�YH��H�H�gH�H�AH�GH�!H�aH�\$HH��t:����C��u-H�H��H���1����C��uH�H��H�@��1�H�T$8H��r
H��H�L$ �N(�H��H�\$xH��P_�L��SVWH��`H���=H3�H�D$XI��H��H��H�L$PM�C�I�c�I�c�I��I�K���C�L�D$ H��H�L$@�|
H��H�H�fH�H�AH�FH�!H�aH�\$HH��t:����C��u-H�H��H���0����C��uH�H��H�@��0�H�T$8H��rH��H�L$ �q'�H�WH��rH��H��['�H�gH�G�H��H�L$XH3��dH��`_^[����H�\$WH��0H��H�L$ �
	3�H�H�OH�H�PH�WH�H�HH�\$(H��t9����C��u,H�H��H��0����C��uH�H��H�@��/H�\$@H��H��0_��H�\$ WH��0I��H��H�L$ H��H�H��H�aH�a�jB�H��H�H�K(H���2�H�\$XH��0_����H�\$ WH��0I��H��H�L$ H���H�H��H�aH�a�B�H�"�H�H�K(H�����H�\$XH��0_����H�\$ WH��0I��H��H�L$ H�P�H�H��H�aH�a�A�H�J�H�H�K(H�aH�aH���A�H�\$XH��0_��������������H;�t-H�\$WH�� H��H��3�H���H��@H;�u�H�\$0H�� _��H��H�XH�pWH��pI��)p�M��H��L��H�P��Sb�0�@�D$P�|$Pt$@t
H�D$@�H�vb'vb'vH9C��L�H�L$ L��H�����H�pH�`H�L$(H��t<H�y(L�G8M��t I�L;�I����H�@ ��-H�g8H�L$(H��t
�h�$�L��H�T$@H���t$@��(t$`L�\$pI�[I�sI��_�������H�\$ UVWH�� A�xI��H��H��uOL�GH��H������H��H�?H�S@H��rH�K(H���$�H�c8�HH��H�C@�C(�#�t�H�\$XH�� _^]�H�\$H�l$VWAVH��@H�)E3�I��H��E8pt2H�ED8puI�9H�EH��H9x ��H�EH�D�sD�s�]I�9H;uuI;x s[�BD�r�;I;x sJH�L$`H�t$`�Ru�H�H9z s-H�B�HH��D�s��tH�D�s�H�3�C�H���c��I�HD�AE��t)H�ND8q��H��H��H;Au'H�IH��D8qt��H�D8ruH�H��H��D8pt�D8qumH��H;y rdH�EH�D$ D�t$(�$H�D$ H9P sH�@D�t$(�H���D$(H�D8pt�D8uuH;} rH�+�C�C�5D$ ����D�sH��E��tH�3����H�����D�r�BH�2H��H�\$hH�l$pH��@A^_^����H�\$H�l$H�t$ WH�� I��H��H��I��H+�H��E3�H��t\H��������H;�wbH��H��r
H���=!��
H��tH���>]L��L�L�GJ�H�GH�|$8L��H��H����H�GH�\$0H�l$@H�t$HH�� _��?������������H�\$H�l$H�t$WH�� I��I��H+�E3�H��H��H��H��tWH��������H;�w]H��H��r
H��� ��
H��tH���\L��L�J�L�GL��H��H�GH���F��H�GH�\$0H�l$8H�t$@H�� _��P?�����������������H��H�XH�hH�p WH��@I��I��H��H��W�@�H�X�H�X�L�H�H;�tEH�\$8H�cH�cH��H���^<�H�K H�aH�aH�W �F<�H��@H�\$(H��@H;�u�L��H��H�����H��H�\$XH�l$`H�t$hH��@_��������������@SH��0H��H�L$ ���x[H�D$ 3�H��tVW��J�H�HH�
��H��JH�H(H�P �PH�HHH�P@�P0H�HhH�P`�PPH���H����Pp����H��W�H�HH�H�CH��H��0[��H�\$H�l$H�t$ WH�� H����Z3�H�D$0H��H��t}W�H�O�E3҉GA���GH���H��KH�oH�oH�o H�o(H�o0H�o8H�o@H�oHH�oPH�oXH�o`H�ohH�opH�oxH���HLJ�@����H��H�\$8H�GH�l$@W�H�H��H�~H�t$HH�� _����H��H�XH�hH�p H�HWH�� I��H��H���P��YH��H�D$0H��t,W���C�CH��H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�hH�p H�HWH�� I��H��H���P�aYH��H�D$0H��t,W���C�CH���H�H�KL��H���V����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��������������H��H�XH�hH�p H�HWH�� I��H��H���X��XH��H�D$0H��t,W���C�CH��H�H�KL��H�������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$ UVWAVAWH�l$�H��`H�y�=H3�H�EPI��I��L��H��H�L$@D���3�A��H�L$P�0I�H�L$P�1��H�+H�L$`诓�H��H�rH�L�GH��薖�H��H�p�臓�3�I�NI�H��H+�H��H��to��H�L$ �����H�T$ H�|$8HCT$ L�D$0H�L$`�A��H��H���2��H�T$8H��r
H��H�L$ ���H��I�NI�H��H+�H��H;�r�H+�H��H;�s%H+�A��H�L$`�Ԟ�H��H����Ւ�H��u�H���H�L$`辒�H��H�L$h葂�H�M��7��H��H�E�H�M��"A�H��H�MPH3��"XH��$�H��`A_A^_^]����H�\$ UVWAVAWH�l$�H��`H���=H3�H�EPI��I��L��H��H�L$@D���3�A��H�L$P�xG�H�L$P�y��H�a)H�L$`��H��H�rH�L�GH���ޔ�H��H����ϑ�3�I�NI�H��H+�H��H��tpH��H�L$ �ɰ�H�T$ H�|$8HCT$ L�D$0H�L$`舔�H��H�.��y��H�T$8H��r
H��H�L$ � �H��I�NI�H��H+�H��H;�r�H+�H��H;�s%H+�A��H�L$`���H��H�Ѿ���H��u�H���H�L$`���H��H�L$h�؀�H�M��~��H�.�H�E�H�M��i?�H��H�MPH3��iVH��$�H��`A_A^_^]���H�\$ H�L$WH�� H���d$8��t H���H�H�$�H����D$8H�HcHH��H�9H�HcH�Q�T9�H�_H�HcHH�E3�H���R�H�HcHH���H�9H�HcH��x����T9�H�\$@H���3��H�|�H�H�ch�CpH��H�\$HH�� _����H��H�XUVWAVAWH��)p�H��H��H�L$0H�!H�a�H��SL��H�H�@H�@f�@H�fH~�fs�fI~�I;���L��M��H�T$@H���<�0�@�D$p�|$p��H���8��8�H9G��L��L�H��H�L$ � �H�hH�`H�\$(H��t;H�S@H��rH��H�K(��H�c8H�C@�C(H�L$(H��t
�H���t$@L��H�T$@H����H��(�7���H��L��$�I�[@A(s�I��A_A^_^]�����H�\$H�l$ H�L$VWAVH��PM��H��H��3�D�BHH����C3�oH�oH�oH�o H�o(f�o0H�o8D�ED�G@�GD@�oHH�o`H�Gh@�oPH�&�H�H�wpH�oxH���I�FH��t�D@I�H�GxI�FH���H�NH�AH���H��t�DCH���H�NH���H�T$@H�\$HH�IW��D$0H���H��t�D@H���H�D$0H���H�D$8H���@�l$ D�JM�H�T$0�n���H��t9������C�u+H�H��H��1����C�uH�H��H�@��H��L�\$PI�[0I�k8I��A^_^��@SH�� H��H�I(H��tH�S8H+�H����H�c(H�c0H�c8H��H�H�S H��rH�KH���{�H�cH�C �CH�� [�@SH�� H��H�I(H��tH�S8H+�H���B�H�c(H�c0H�c8H���H�H�S H��rH�KH����H�cH�C �CH�� [�H��(H�IH��t
�h���H��(�@SH�� H�H��t5H�H��t-H�SL���.�H�SH+H�H����H�#H�cH�cH�� [����@SH�� L�H��H��M�@��H��HH�� [�j���L�AH�QH�	�����������@SH�� H��x���H��HcPH���H��
x���H��x���HcPD��x���D��
t���H����j��H��x���HcHH��H��x���H��x���HcH�Q�t���H�� [������@SH�� H�YH�K8H��tH�H;���H�@ ��H�c8H�� [����������������@SH�� H�Q8H��H��rH�I H���q�H�c0H�C8�C H�SH��rH�H���K�H�cH�C�H�� [������@SH�� H��H�	H��t-H�SL����H�SH+H�H����H�#H�cH�cH�� [�@SH�� H�O�H��H�H�Q H��rH�IH�����H�cH�C �CH�� [�H�\$VH�� H�QxH��H��rH�I`H����H�cp�H�sx�C`H�SXH��rH�K@H���a�H�cPH�sX�C@H�S8H��rH�K H���>�H�c0H�s8�C H�SH��rH�H����H�cH�s�H�\$0H�� ^��H�\$WH�� H��H����s��H���H��t9����G��u,H�H��H�������G��uH�H��H�@��H�ShH��rH�KPH����H�c`H�KH�Ch�CPH�\$0H�� _阦��@SH�� H�Q@H��H��rH�I(H���M�H�c8H���H�C@�C(H�H�S H��rH�KH����H�cH�C �CH�� [������H�\$WH�� H��H��H;�tJH�	H��tH�SH+�H�����H�#H�cH�cH�H�H�GH�CH�GH�CH�'H�gH�gH��H�\$0H�� _����@SH�� H���H���+����H���H�H���86�H�� [��HcA�H+��H�\$H�t$WH�� ��H��H��x�������H���H�H����5�@��t
��H����KH��H�\$0H�t$8H�� _�����������H�\$WH�� ��H��H�Q8H��rH�I H�����H�c0H�C8�C H�SH��rH�H����H�cH�C�@��t
�@H���BKH��H�\$0H�� _�����H�T$SH�� H��H�QH;Qt+H�"H�bH�CH��t�@H�H�H�CH�BH�A�	L�����H�[H��t9����C��u,H�H��H��0����C��uH�H��H�@�H�� [��H��H�XH�hH�p WH��0)p�1�hT��fH~�H��fs�fH~�H�(�L��H��H���;�H��HH;�u�H�\$HH�l$PH�t$X(t$ H��0_�@USVWATAVAWH��$����H��`H��=H3�H��XI��L��H��I�HA�H�� �j��H��L��I��H�L$P��L��H��H�L$0�n�H��H������H�T$hH��r
H��H�L$P��
�E3�L�|$`E�gL�d$hD�|$PH�� H��tH��0H+�H���
�
��@eH�%XA�4H�ȻA�9��@�	H���@H�BH��D8xuL�L9@ sH�@�H��H�D8xt�D8yu	H�A H9sH��H;��L�|$@L�d$HD�|$0L�
�E�ǺH�L$0��L�|$`L�d$hD�|$PL�
�E�ǺH�L$P���L��0L��8D�� L�
��E�ǺRH�� ��L�L$0L�D$P�mH�� �Gm���H��8H��rH��H�� �v�L��0L��8D�� H�T$hH��r
H��H�L$P�I�L�|$`L�d$hD�|$PH�T$HH��r
H��H�L$0�"�H�C�@H�� H�D$0H�BD8xuH�H9H sH�@�H��H�D8xt�D8z�sH�B H9�fH��(L��0L��8H�� �'�L�1�I��H�M��1
�L�� H��H�L$P�L�H��H�������H�UH��rH��H�M��j�O�f
����H�M��GeH��L��I��H�� ��	�L��L���T$ H�L$0�)��L���H�T$0H�L$P��H��H������H�T$HH��rH��H�L$0��
�H��8H��rH��H�� ��
�L��0L��8D�� H�UH��rH��H�M��
�H�E�H�D$pH�D$xH�E�H�E��H�M�H�E�H�E�H�M�H�E�H�E�H�E�H�E�H�E�H�E���)E���)M�D�AH�� H�L$p�l��H��L��I��H�L$0��L��H��H�L$P�p�H��H������H�T$HH��r
H��H�L$0��	�L�|$@L�d$HD�|$0H�� H��tH��0H+�H���	�H�E�H�D$pH�D$xH�E�H�E��H�M�H�E�H�E�H�M�H�E�H�E�H�E�H�E�H�E��AH�E��P)E��`)M�D��H�� H�L$p�z��H��L��I��H�L$0��L��H��H�L$P�~��H��H������H�T$HH��r
H��H�L$0���L�|$@L�d$HD�|$0H�� H��tH��0H+�H����W�3��@H��PH�UH���Ic�H��A�H��@�����W��� L��0L�D$ �H�� �÷�O����������tC����H�� D��D�"H��@��JH��@�H�JH��@�H�J�H�� A�D�bH��@�H�JH��@�H�JH��@�H�
�|L�� A�E�`H��@�HA�HH��@�P��A�PH��@�H��A��:H�� A�D�"H��@��JH��@�H�JH��@�@���BL�0�I��H�M����L�� H��H�L$P���H��H������H�UH��rH��H�M���H�E�H�D$p�H�L$xL�U�L�U�L�e�H�E�H�E�L�e�H�E�H�E�D�Y�L�]�H�E�H�E��Q�H�U���)E���)M�H�� H��PH��H��H��PH��L��L��TL�� L��(H��XH��0L��8H��dH��@H��H)�P)�`H���H���H���H���H���L���H���H���L���L���L���L���H���H���H���)��)��H�E`H�EH�MH�E`H�E L�e(H�EdH�E0L�e8H�MhH�M@L�]HH�EtH�EPH�UX)E`)Mp�SA�P�A�ЋCA�ЋC��H�E�H�D$0H�M�����L�)�I��H����L�E�H��H�L$P����H��H������H��H��rH��H�����H��0H+�H��H�����H��@H��tH��PH+�H����H��XH3��AH��`A_A^A\_^[]�H�I�H�L$P����H��=H�L$P��H�
�x���H�
��@�G�=��@�����W�e�@H�EL�e0H�](�EcharD�}H�E8AL�eX�H�MP�G��E@�B��EDD�}EH�]`L���H�Ex�%�f�Eh���EjD�}kHDž�L���H���Dž�longD���HDž��L���H���Dž�halfD���HDž��L���H���������������D���H�EH�D$0H��H�D$8H�T$0H�
G�@�v��L�
bl�(D�B�H�M�=H�
��D�H�
$�@�GE�g�����H�\$H�t$UWAUAVAWH�l$�H���H�s�=H3�H�E/L��H�YH��t�CH�YH�qA��H��t9A����CA�u,H�H��H���A����CA�uH�H��H�@��W�EH�M����H�M��0�H��H�}H�����H�]�H��t=A����CA�u,H�H��H��<A����CA�uH�H��H�@�H�}H��HH�H��`�h$��H���H�H��@�U$��I��H�M��YL��H�H�� H;�tCH�SH��rH��H���H�c�H�C�AANKI�fI�FA�H�U�H��rH��H�M��Q�H��@H�L�p�HL��H��H�M���H��H�xrH�L�@H���!�H�U�H��rH��H�M���H�� I;�u�H�� H�M���j�H�OH�U����H�M�H��tH�U�H+�H����H��8H�M��j�H�O(H�U���H�M�H��tH�U�H+�H����H��hH��pH;�tUH���t�����D$ ��d$ H�� �D$$H�D$ H�D$(H�O@H�QH;Qt
H�H�A�
L�D$(��r�H��릹��;H�D$ H��tL�EI��H����H���3�H�M'H��t>A����AA�u1H�]'H�H��H���A����CA�uH�M'H�H�@��H��H�M/H3��<L��$�I�[8I�s@I��A_A^A]_]�H���H�M����H���=H�M�����H�\$UVWATAUAVAWH��$`���H��H���=H3�H���H��L��H���W�3��pH���D�hL�l$xH�D$p
����D$`��f�D$hE3�D�|$jH���H+��H��H�M��!��L�E�H�T$`H����l���W���pL���D�L$ L���H���H��p�
���L�
r�E�E�E�eA��H����9�H�T$xI;�r
H��H�L$`�C��L�|$pL�l$xD�|$`H�_H��t�CH�_H�wH��tCA��A����CA�u,H�H��H��*A����CA�uH�H��H�@�
A�L�m�L�m��״�E��Դ�E��δf�E��ƴ�E�D�}�H�� H�M�qg�L�EH�U�H�M0�O���L�l$XH�D$P����D$@����D$H�}�f�D$LD�|$NH��8H�M�g�L�EH�T$@H�M@�����W��D$(L�|$8D�L$ L�EPH�U0H�L$(����H�t$0H�\$(H;�tmH��xH;��t5L�:L�zH�CH��t�@H�H�H�CH�BH��xI�H��x�L��H��p�z��H��xI�H;�u�H�t$0H�\$(H��t>H;�t3�H���e��I�H;�u�H�\$(H�T$8H+�H���H���L��W��D$(L�|$8L�
7�A�I��H�M0��6�H�MH��tH�UH+�H�����H�T$XI;�r
H��H�L$@���L�|$PL�l$XD�|$@H�MH��tH�U(H+�H�����H�U�I;�rH��H�M���I��H���H+��H��H����H��H�MP���L�EPH���H�M��f{�H��L���H���I+�H��H;��sA�H�UpI���yd��L��H��H��p���H�U�I;�rH��H�M����L�}�L�m�D�}�H�UhI;�rH��H�MP��H��H���H+��H��H;��G���L�m�H�E����E����f�E�����E�D�}�H���H���nd��L��H�U�H��p���H�U�I;�rH��H�M��y��3�A��H����'�H�������H���H����q�H���H��p�}��H���H���H;�tZL�C H��H�M��-�H��L9`rH�L�@H����,t�H�U�I;�rH��H�M����H��@H;�u�H���H���H��t,L���H��H�����H���H���H+�H����I��H����`�H��(�"��H��oH��(H��(�'�H��pH��t;H��xH;�t3�H���,��I�H;�u�H��pH���H+�H���H�����I��H���H3���5H��$�H�ĠA_A^A]A\_^]��-0�@SVWH��0H���=H3�H��$ I��H��H��H�L$ 3�A��H�L$0�?%�H�L$0� ���H�@�H�L$0�o�H��H�rH�L�GH���r�H��H���o�H��H�{rH�L�CH���}r�H����t�H��H�L$8�H_�H��$�����H��nH��$�H��$����H��H��$ H3���4H��0_^[���������������H�\$WH�� H��H�����9��v	C9��u9��u9��t�K���t�K9��v���u�kH��H�\$0H�� _���������������H�\$WH�� H�ً�H����ua��H��XH��t+H��hH+�H������H��XH��`H��hH���V��@��t
��H���2H��H�\$0H�� _������H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@��H���_�H;�u`H9~u7H�L��M��H��H��H�@ ���H�\$`H��H�l$hH�t$pH�|$xH��PA^�H���H�L$0�S'�H��~=H�L$0�n�H���H�L$0�0'�H��~=H�L$0�K�����������H�\$H�t$WH��@H��H��H�JH�H�@�
�H���:_�H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%�H�u�H�L$ �&�H�$~=H�L$ ���H���H�L$ �&�H�~=H�L$ ����������������H�\$UVWATAUAVAWH��$����H��PL��L��E3�L�e�E�l$L�m�D�e�L�
��E��A�T$&H�M����L�l$hA�t$H�t$`����D$P����D$XD�d$\L�e�L�m�D�e�L�
��E�čVH�M���L�e�L�m�D�d$pL�
��E�čV?H�L$p�{��I�_pH�U�H���F^��H��H�H��H�B���L��H�E�H�D$8W��D$0H�D$PH�D$(��x�D$ L�M��VH�L$p��W���H�U�H��r
H��H�L$p���L�e�L�m�D�d$pH�U�H��rH��H�M�����L�e�L�m�D�e�H�T$hH��r
H��H�L$P����L�d$`L�l$hD�d$PH�U�H��rH��H�M����L�m�L�e�D�e�L�l$hH�D$`
�[��D$P�W��D$X�Q��D$\D�d$]L�m�H�u����D$p���D$xD�d$|L�e�L�m�D�e�L�
<�E�ĺKH�M����I�_pI�~X3�I���L��H��H�H��H�B�%�L��D�d$@H�E�H�D$8H�OH�L$0H�D$PH�D$(H�FH�D$ L�L$p�)H�M��mZ���H�U�H��rH��H�M����L�e�L�m�D�e�H�U�H��r
H��H�L$p�{��L�e�L�m�D�d$pH�T$hH��r
H��H�L$P�V��L�d$`L�l$hD�d$PH�U�H��rH��H�M��1��L�m�L�e�D�e�L�l$hH�D$`
����D$P����D$X����D$\D�d$]L�m�H�E�����D$p����D$xD�d$|L�e�L�m�D�e�L�
ĪE�ĺKH�M���I�_p3�I���H��3�I�����H��H�H��H�B���L��D�d$@H�E�H�D$8H�OH�L$0H�D$PH�D$(H�FH�D$ L�L$p�*H�M���X���H�U�H��rH��H�M����L�e�L�m�D�e�H�U�H��r
H��H�L$p���L�e�L�m�D�d$pH�T$hH��r
H��H�L$P����L�d$`L�l$hD�d$PH�U�H��rH��H�M����H��$�H��PA_A^A]A\_^]����H�\$H�T$UVWATAUAVAWH��@Mc�I��H���d$ E�������D$ H�EH�XH��t�CH�XH�pA��H��t9A����CA�u,H�H��H��K�A����CA�uH�H��H�@�.�H��H��L�xL+8I��H�AH+H��D�E�gI��H����H��H��t�@H�w8H�D$(H;�t+H�H��tA����AA�uH��H����H��&H��t!A����CA�uH��H��H����H�EpH��H�AH+H���tI��H���xH��H��t
�@�3�3�H�_XH�L$0H;�t+H�H��tA����AA�uH��H��"�H�3�)H��t$A����HA�uH�L��H��I����H�U(H�M0H+�H��A;�~KIc�H��H;�v[H�H��H�HXH��$�H�WH;WtH�
H��t�AH�G�L��$�H���=�H��H��$�H��@A_A^A]A\_^]��%������H�Ap��8������H���H�H�AH�BH�������������H��>���������H�\$WH�� H����H�H���bR����t
�0H���)H�\$0H��H�� _���@SH�� H���.�*z	u��
�B��BH�YH��t9����C��u,H�H��H��������C��uH�H��H�@�~�H�� [�@SH��@L��H��H�L$(3��D$ H�AH�AH�AH�A H�A(H�A0�A8H�Q@H�T$0�H�B H�B�BH�B(H�B0�AxH�ҤH��D$ H��I����H��H��@[����@USVWATAVAWH��$���H��H�W�=H3�H���E��L��H��H�M��d$ �
A�D�d$ H��I�����I���I���H+�H��H����E��H�U�H�	�oU��H��pI���U��H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H�U�H�M��.��H��H���H��H���!Q���G@�C@�GD�CDH�M�H��tH�U�H+�H����|��H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H��pH�M��{��H��H��H��H���nP���G@�C@�GD�CDH�M�H��tH�U�H+�H�������I�I��H�@���H��H�N�=
���A�$����A�(���A�� �������H��H���H3��G'H��A_A^A\_^[]��!�����@USVWATAUAVAWH��$����H��hH��=H3�H��PA��D�L$0L��L��H�M�d$4�C����D$4A��0�'I���I���H+�H��H���)A�H���H�I��R����uTH���H�M����H��I��$PH��H���O���G@�C@�GD�CDH�M�H����H�U�H+�H����g���H�������D��H��D�0H���8�XH������H��\$ D��E��A��H�L$8�c�L��H�t$ D���H���H��P�]��H��H�M��Y��H��I��$PH��H���SN���G@�C@�GD�CDH�M�H��tH�U�H+�H������t$0I���
����Ic�0����H�HM���I���I+�H��H;���A�H��PI���Q��W�����H�E�H�D$8H�D$@H�E�H�D$HH�D$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pH�E�H�D$xH�E�E�E�L�L$8D��H��PH�M�I���H�U�H����I��$�H�{H;{tH��H���0��H�'H�H�CH�L��H��H���$���H�M�H��tH�U�H+�H����m��H�e�W��E��PH��pD�8H���D�0H���������yH�E�H�D$8H�D$@H�E�H�D$HA�L�l$PH�E�H�D$XL�l$`H�E�H�D$hH�D$pH�E�H�D$xH�E�E�E�H�����H�؉|$ D��E��A��H�M`��L��H�\$ D��XH��PH�����H��L�L$8E��H�M�����H�U�H���_��I��$�H�{H;{tH��H���A/��H��
H�H�CH�L��H��H���J#���H�M�H��tH�U�H+�H������H�e�W��E�H�M H��tH�U0H+�H�������I��H��PH3��"H��hA_A^A]A\_^[]����H�wnH�M����H�op=H�M��������H��H�M���H�Hp=H�M�����H�\$ UVWATAUAVAWH��$ ���H���H��=H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`��H�WXL�D$`I����H�I�I�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� �g6���A��H��t9A����CA�u,H�H��H����A����CA�uH�H��H�@���I��H����4���I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H���M��L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H���LI�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH����;���H�CH;CtH��H���1;��H�C@�L��H��H����!���H���7D��I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	�K��H�0H�޸?���H#�H�M�4��H��3�H�D$0H��D$ �D��D��H�M���L��H�|$ A�H��H��P���I�EH�XH��PH�������L��H�T$HH���6���H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I���:��H�D$0H��t$����H��uH�L$0H��H�����H�L$HH��t#����A��uH��tH��H����H�t$HI��L;|$8�����I��H���H3��!H��$8H���A_A^A]A\_^]����k����H�\$ WH��`H���=H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(�:��H�˜H�H�SH��rH��H����H�cH�C�H��H�L$PH3��bH��$�H��`_�@SH�� �H���)\��3�H�(�H�H���H���H����AH���H���H���������H��f���H�� [�H��(�
�@eH�%XA�4H��A�9}�@H�D�@H��(�H�
h�@�"�=\�@�u�W� �@)�@2�@H�
�@��H�
�� �H�
"�@��!����H�\$H�T$UH�l$�H��H�ڋ�E�H�AH�E��A�EH�EH�EgH�eGH�J8H��tH�H�UH��]�H�EG��{��L�E�H�U�H���4g���H�MGH��tH�H�UH;���H�@ �#��H�K8H��tH�H;���H�@ ��H�c8H��$�H�Đ]�H��HL�IhA��8uPH�ApL��I�@I+H���A��0u;�}S�;�pL�A(H��H�H�H�A0I+�H��H;�v+H�I���H�Q(H�A0H+�H��H��v
H�B H�@XH��H����H���H�L$ �9�H��h=H�L$ �T��H���H�L$ ��H��h=H�L$ �1��H�\$WH�� H�YH��t�CH�YH�AH��H�yH+9H��H��t9����C��u,H�H��H��������C��uH�H��H�@���H�\$0H����H�� _�H��H�XH�pH�x UATAUAVAWH�����H���H���=H3�H���H��H�yA�E3�H��t	�DoH�yH�YH���H���D9�0�`H���H���H+�H��I;��cE��H��@H�I�E��H��H�����H�������H��@H;�������fI�H��H��H�H���t%H��tH��tH���tH��t
H���~H��L�pL+0I��H���H��@HDžHH���H��PL��XH���H��`L��hH���H��pHDžxH���H���HDž�fo�M��foޕf��D���D��4E��E��EE�D���E;�vE��uE��H��H����/�H�VH����"��D8�t$H��t�DoH�\$xH�}�H���H�L$x�|�D���D���������H�����PD�@������D���H��P���AHԋH��AH̋@��AHĉ��������H�����PD�@������D���H��p��PD�@������D�������L���L+��I��H��H�PH+H��H��H�HH+H��H�BH�L;���D���H�EH�E�H�E�H�EH�E�L�m�H�EH�E�L�m�H�EH�E�H�E�H�E$H�EH�EW�EE 3�H���\H��E��H�����B��H��L�M�E��H�MP�#���H���H;��tH��H���"��H�H�H���H�L��H��H�������H�MXH��tH�UhH+�H����O���>���L��W�3�� H��0I�
H�AL���L���H�� I��?��L�e�A�L�u�D�e�L�
%�E��A�V!H�M�����L�d$`L�t$hD�d$PL�
�nE��A�VH�L$P���L�d$@L�t$HD�d$0L�
��E��A�V<H�L$0���H��(H9� ��H�H��H�@���L��H�E�H�D$(�\$ L�L$P��H�L$0�9���H�T$HH��r
H��H�L$0�6��L�d$@L�t$HD�d$0H�T$hH��r
H��H�L$P���L�d$`L�t$hD�d$PH�U�H��rH��H�M������`H��H�D$pH��tL�� H��H���E�H�R�H��I��H�� �VB���H����<���H��h��A��H��(H��t%H��8H+�H����m��L��(W�f�0H����o6���H��t8������G�u*H�H��H��\�����W�uH�H��H�B�A�H��H���H3���L��$�I�[8I�s@I�{HI��A_A^A]A\]�H�7�H�M��>��H�O`=H�M����H�&�H�M���H�>_=H�M�����H�M_H�M8��H�Ea=H�M8�����
���H�\$H�t$WH��@3�H�م�QHc�0H��]�����t��0H���H�NHc�H�H���H+�H��H;�v7H��H�\$PH�t$XH��@_�H�̏H�L$ ��H��`=H�L$ �)���3
����H��HH��H�Ih��8u);�0}CH�JH�P(H�@0H+�H��H;�vNH�H���H�H(H�@0H+�H��H��v0H�AH�@XH��H�H�2^H�L$ ��H�)`=H�L$ ������H�\$WH��0�L��H��H;�w
H�AH�QH��HH��������H�L$ L;�IL��H�L$(H;�vH�D$ H�H�K�H�L$ �H�KH�{H�H��H�\$PH��0_����H��H�XH�hH�pWATAUAVAWH��@L��$�M��L+�$�M��H��$�L��H��$�M��L��$�H��$�L�p�H�h�H�p����$�L��L��$�I��H��$�H���\$8L�t$0H�l$(H�t$ �{H��$�M��H��$�H+�M��H��$�H��L�\$@I�[0I�k8I�s@I��A_A^A]A\_�5�@SUVWAVH��`H��$�I��L��$�I��L��L��L;�dM��L��I�J��H��H+�H���&H��H��I���/vL�HH��H+�H��H��H���I��I+�H��H�D$XL�D$PL�L$HH�\$@�eL��I��I�I+�H��M��J��H��~+�H��H��I��/vH���L�HH��H+�H�H���L�D$XI��I+�H��H�D$PH�\$HL�L$@��$�L�ψD$8L��H��$�I��H�D$0I��L�t$(H�t$ ��H��`A^_^][��I;���SH��@H�\$xI��H;����/wH��I��H;�u��L�T$pM��L��H��I��H;�tr�/B�v�I��u���`L��$�M;�M;���$�L�ˈD$ �0�9��$�M;�L�ˈD$ ���D$8L�T$0H�\$(L�\$ ������H��@[����H�\$H�l$VWATAVAWH��0��$�M��I��L��H��H��I�� ~#M�X�I��I��H��D��H���y
I��u�D��I��H���e
H�� ���\$(A� M��H�|$ I��H����M�$��\$(I��H�|$ A�@L��I������:�\$(L��M��H�|$ I��H���H��\$(L��H�|$ L��I��I���sH�H;��H�\$hH�l$pH��0A_A^A\_^�H�\$WH�� L��M��uI���.H�D$PH��uI���L;���L;L$`{L�\$XM��L;�tH�H��I�I��H;�u�I;�t)H��I��I+�H+��H�A�H���DI���AI;�u�M;�t�I��I�KI+ӋA��D
���H�IH�A�I;�u��m���H;D$`��L�L$XM��I;�tH��H�H��I�I��I;�u�I;�t!H�ZL+�H�[�H�K��A�D��B�I;�u�M;�����I��M��I+�M+�A�	K�A�
I���LI���JM;�u������PH�\$0H�� _��H�\$H�l$H�t$ WL�\$0I��H��L��M;���L+�I�4�L;�H��H��IL�L+�H�I�<��I���A
/�L�AvD��BH���AH;�u�L;�toI��M��I+�M+�A�K�A�I���DI���AL;�u��C�	A�BI���AL;�u�H;�t*L��M��M+�L+ҋI�A�H��B�D	I���AH;�u�L��I;��:���L;�t"I�JM+‹A�A�D��B�H�IH�A�H;�u�H�\$H�l$H�t$(_����H��tyH�\$H�t$ WH�� H��H��������3�H��H;�wTH��H��H��r
H������
H��tH���	H��H�H�L��H�FH���=H�\$@H�FH�t$HH�� _��d������H;�tIH�\$WH�� H��H��H�H��tH�SH+�H������H�#H�cH�cH��H;�u�H�\$0H�� _��H;�t+H�\$WH�� H��H��H���y��H��H;�u�H�\$0H�� _����H�\$H�t$ WATAUAVAWH��PM��L�D$0H��H��H�L$@L��L+!I��H�AH+H��I��������I;��YL�@L�D$8H�IH+H��H��H��I��H+�H;�vL�L$ I������-H�
M��I;�LC�M;��N�<�L�t$ I��rI�����H��H�D$(�#M��tI���H��H�D$(�3�H�\$(L�t$ N�4�H�D$0�A�A�EA�FH�VH�L��H;���H;�tH�I�M�@H��H;�u�H�VI�NH;�tH+�H�H�9H��H;�u�H�>tH�VH+H��H����H�H�D$8H��H�NI�H�NI��L�\$PI�[@I�sHI��A_A^A]A\_�H�I�M�@H��H;�u���,���������H�\$H�t$ WATAUAVAWH��@M��L�D$0H��L��H�L$8H��I+I��������*I��H��L��I�I��H��?L�I�NI+I��H��H�H��H��?H�H�UUUUUUUH;��_L�bI�NI+I��H��H�H��H��?H�H��H��H��H+�H;�vH�|$ H������0H�I��I;�HC�H;��H�vH��H��H�t$ H��r�%��H��H�D$(� 3�H��t�H��H�D$(�H�T$(H�t$ K�H�4�H�D$0��I�EH�FM�FI�L��I;���H;�t!��A�AA�AM�IH��H;�u�M�FL�NI;�tL+���A�CA�DH��I;�u�L��M��I���QH��L�\$@I�[@I�sHI��A_A^A]A\_���A�AA�AM�IH��I;�u���C�������H�\$H�t$ WATAUAVAWH��@L�D$0H��H��H�L$8L��L+)L�aL+!I��I��������M;��RI��H�IH+H��H��H��I��H+�H;�vL�D$ I����,H�
M��I;�LC�M;��M��I��L�|$ I��rI�����H��H�D$(�#M��tI���yH��H�D$(�3�H�\$(L�|$ I���N�<+H�D$0�AH�NH�H��H;���H;�t�H�RH��H;�u�H�NI�GH;�tH+��8H��H;�u�H�>tH�VH+H���H��h��H�I��L�L�fI�H�NI��L�\$@I�[@I�sHI��A_A^A]A\_��H�RH��H;�u���&R��T������L�D$H�L$SVWATAUAVAWH��0L��H��L��L+	I��������*I��I��L��I��I��H��?L�H�IH+I��H��H��H��H��?H�H��������
H;��+L�bH�NH+I��H��H��H��H��?H�H��H��H��H+�H;�vH�\$xH���0H�I��I;�HC�H;���H��H�IH��H�\$xH��r���H��L��$��3�H��t�H��L��$�H�\$xH�|$ K�vL�4�M�~L�|$(L��$�I��I���KL��$�H�VH�L;�uL���L��L��I���|H��$�H�VI��L��M���b�L��M��H��H���NI��H��0A_A^A]A\_^[�����������H�\$WH�� H��������H��H��H;�w#H��~H��H���5��H��uH��u�H�#H�cH��H�\$@H�� _�H�H�{����H�\$I��M��H;�tL��I�I��I�I��L;�u�M�Z���B�AH��H���L�A�A	/�v<��BH���AH;�u=M;�tzI�IM+��A�A�D��B�H�IH�A�I;�u��V�	A�AI���AM;�tI���H;�t*L��M��M+�L+ҋI�A�H��B�D	I���AH;�u�A�A�A�CA�@H�\$���L��L��I���H�H�H��H��I;�u�A�B�I��H���A�A�B�I��A�@�I�P��A
L��/�v�
A�B�BM;�t^I������AH���BL;�u�A�M�BH���A��BM;�tI+�M�@�I�H��B�D�A�A�I;�u�A�A�A�AA�CËL�AH���A��BI;�t�H+�M�@�I�H��B�D�A�A�I;�u����H��L��L��H;�t~L�A�sI�I��H�$�$A/v/M;�tI�PH�R�H�J���B��BI;�u�D$A�A�A�+I�P���	�B�AH��H���
/�w�D$�A�I��M;�u�I��H������H��H�XH�hH�pH�x AVH��@H+�H��������*H��A��L��H��H�H��H��?H�H��H�H��~<H�H�4�H�v�\$ �L�L$0�FH��L���D$0H�׉D$8I���H���H�\$PH�l$XH�t$`H�|$hH��@A^�����M���	L��/�v6H;�t1L�A�
L�R�M;�tA�
A�A�A�@A�A�JA�BA�H�A�/�v{L;�t9�AL�BM�S�
(�M;�t A�
A�A�A�@A�A�JA�BA�H��A	/�v3I;�t.�
H���AI��I;�t�
A��A�AA�	�J�BA�I��H�\$ UVWATAUAVAWH��0L��H�L$ H��M��I��A��H+�I��������*I��H��I�}�H�H��H��I+�H��?H�H�H�RM�<�I��H��H�H��H��?H�H��(~xH�JH��H�IH�,�H�II��H�4�N�4&I��M�,���I��N�>H+�D��I���n���M�E�H+�I��D��H+�H���V���D��L��I��I���E���H�t$ �L��I��I���0���I�WM;�s"�AI�G��/�w/�wL��(�L;�r�I;�s�A�/�w
/�wH�I;�r�L��M��M;�s`L�RM�X�A�A/�w>/�wDI;�t.��
�AM;�tA�
A�A�A�CA�A�JA�BA�KH�L�L�L�M;�r�M;�vdM�Q��AI�B��/�w@/�wFL+�L;�t3�AM�_�A�M;�tA�A�A�A�BA�
A�KA�CA�JL+�L+�M;�r�M;���M;��jI;�t<L;�t7�AL�R�M�_A��M;�tA�A�A�A�BA�
A�KA�CA�JH�M;�t9�AM�PA�M�_A��AM;�tA�A�A�A�BA�
A�KA�CA�JL���I���M;���L+�M;�t9�AM�WA�M�YA��AM;�tA�A�A�A�BA�
A�KA�CA�JH+�L;��?����AL�R�M�_A��M;�� ���A�A�A�A�BA�
A�KA�CA�J���M;�t9�AM�QA�M�XA��AM;�tA�A�A�A�BA�
A�KA�CA�JL����H��$�H��L�>H�VH��0A_A^A]A\_^]��H�\$ WM�X�H��I�L��I;�}OM��BD�B/D�wB.D�zuB�D�B9D�|���L�B�щ�B�D��D�I��M;�|�I��M;�uA��uB�D��I�P�B��B�D��B�D�H;�}<L�B�I��B�A/wA.z#u!A�AB9D�}��B�D��D�I��I;�|�A�H�\$(��A�A�D�_���H�\$ UVWI�X�H��H�L��H��L��H;�}NK�E3�H�I�AD�A/D�A��H��L�H�I��K�[A��A��A�D�A�D�A�D�A�D�L;�|�I��L;�u/A��u)K�@A�D��K�[A��A�D��A�D�A�D��A�D�I�@�H;�}=H�P�H�L�R�C�A/v&H�@�A�C�D�A�D�C�D�A�D�H��H;�|�H�\$8H�@A�A��A�AA�D�A�AA�D�_^]����H�\$H�t$WH�� L�QL��H�9I��H+�H��������*H��L��H��H��H�H��H��?H�L;�sK�IH��I�K�JvHH�IH��H+�H��H�H��H��?H�L;�v
I��I����L+�t3�I�A�BI��I��u�M�SH�\$0H�t$8H�� _��H�\$VWATAVAWH��@L��H��H�L$0I��������I;��L�aL+!I��H�IH+H��H��H��I��H+�H;�vL�D$ I������"H�<
I;�s+I��L�4�H�|$ I��rI��薺�H��H�D$(�.I;�����M��tI���
H��H�D$(�3�H�\$(H�|$ J��I��I+�t� �`H�@H��u�L�FH�H���H�H�H�RH��I;�u�H�H��tH�VH+�H��蚺�H�J��H�FI�H�FH��$�H��@A_A^A\_^������������H�\$VWAVH��@H��H��H�L$0H�UUUUUUUH;��/H�IH+I��������*I��H��L��I�I��H��?L�H�NH+I��H��H�H��H��?H�H��H��H��H+�H;�vH�\$ H������%H�H;�s+H��H��H�@H��H�D$ H��r���H��H�D$(�+H;�����H��t��
H��H�D$(�3�H�T$(H�\$ J�uH��I+�tI�H���`�� �`H�@H��u�L�FL�H����A�A�A�AH�II��M;�u�L��L��H��H�\$pH��@A^_^�@�����?�����H�\$VWATAVAWH��@H��L��H�L$0I��������I;��(L�aL+!I��H�II+H��H��H��I��H+�H;�vL�D$ I����!H�<
H;�s*H��L��I��H�|$ I��rI���߷�H��H�D$(�.I;�����M��tI�����
H��H�D$(�3�H�\$(H�|$ I��H��H��H��I+�tHÃ`��`�� �`H�@H��u�I�VI�H����H�IH��H;�u�I�H��tI�VH+�H����з�I�H��H�I�vI�I�FH��$�H��@A_A^A\_^��A�������H�t$WATAUAVAWH��PL��H��H�L$8I��������
I;���H�IH+I��������*I��H��L��I��I��H��?L�H�OH+I��H��H��H��H��?H�H��H��I��H+�H;�vL�D$ I����&L�4M;�s/M��K�vL�<�L�t$ I��rI���H��H��H�D$(�.M;��:��M��tI���6�
H��H�D$(�3�H�t$(L�t$ J�mI�H��H�L$@I��I+��H�!H�aH�aH��H��H�L$0u�L��H���|�L�GH�H���:H�!H�aH�aH�H�H�BH�AH�BH�AH�"H�bH�bH��H��I;�u�L��H���&��H�?tAL��H�WH���H�WH+H��������*H��H��H��H��?H�H�RH��H�辵�H�7K�dH��H�OI�7H�GH��$�H��PA_A^A]A\_��?�������H�L��H�D$I;�t*L��L��L+�L+ڋI�A�H��B�DI���AI;�u��D$�D$�AA�A���H�L��H�D$H;�t"L�JL+�M�I�I�I��C�D�A�C�I;�u��D$�D$�AA�B���H�\$H�l$H�t$WAVAWH��@H��A��H+�H��H����I�����H�z�L+�A�L+�H��������*I�>H��H��H�H��H��?H�H��|L�GI�?�G�L�L$0�D$8��G��F��F�GH��H���D$0H�Έ\$ H�L��I��?L�3����H��I�>H��}�H�\$`H�l$hH�t$pH��@A_A^_��@SUVWAUH��0H��A��H+�I��H��H��H=���I��������*H����D��H�L$ L��H����H��I��H��D��H�H�H��H+L$(H��L��H�T$ I�H+�I��H��?L�I��H��H�H��H��?H�I;�L��}H�T$ H���S���H�|$(�H�L$(H���?���H�t$ H��H+�H=��[���H;���H�W�D��H��H����D��H��H��������H��D�J�D$ �D$ /v<H;�t&L�BM�@�I�H�A�@�A�@�A�A�@�A�@H;�uދD$$�G�D�O�8L�B���	A�@�AA�@�AI��I���A/�w݋D$$�A�D�IH��H;��c���H��0A]_^][��@SUVWATAUAVAWH��HM��I��H��L��I�� D��$����L��$�H����$�H��H+�L��L�<�I��I;� �\$ ��M�͈\$ L��H��I�������(�\$(L�d$ �v���M�͈\$(L��L�d$ H��I���\����\$8L��L�d$0L��L�l$(I��I��H�t$ ����H��HA_A^A]A\_^][����H�\$H�t$H�|$L�T$(I��H��M;���L+�H��L;�H��H��IL�L+�H�L���M��/M�@vH�H��I�I;�t!��H�H��I�H;�t%��H�I�I��H��H;�u��H�I�I��H��I;�u�I��I;�|�H;�tL+�H�I�H��H;�u�H�\$H�t$H�|$��H��H�XH�hH�p WH��@I��I��H��H��W�@�H�X�H�X�L�H�H;�tH��H���I3H��H�\$(H��H;�u�L��H��H���ET��H��H�\$XH�l$`H�t$hH��@_��@SH�� I��H;�tLL��L�AL+�E3�L�O�\�O�I�@�H�H��I�@�K�D�I�K�M�X�M�X�M�M�@I�H�H;�u�M��H��H���<�H��H�� [����H�\$WH�� H��H��H��tL��3�I���=�H��H�H�\$0H��H�� _�@SH�� 3�H��H��tH�H�CH�CH��H��u�H��H�����H��H�� [����H��H�XUVWATAUAVAWH��X���H��p)p�)x�D)@�H��z=H3�H��0A��D�L$(M��L�D$xL��L�ZpMc�`D�|$$I�HI+H��������*H��H��H��H��H��?H�I�J(I�B0H+�H��A�I;���H�AH�XX�E��H�\$pH��t�DkH�T$pH�M���X�H�E�H�D$HH�KH����	�H�����T$\�HH���D�H�EH�E�A�L�U�H�EH�E�L�m�H�EH�E�L�m�L�ML�M�E�Z�L�]�H�EH�E�E�b�L�e���E�MA��D$`L���L�M0L�U8H���H�E@L�mHH���H�EPL�mXL���L�M`L�]hH���H�EpL�ex����A�A�D$X����M��L�}�Hc�H�U����Hc�H�|$P3�H�U�3ۉ\$@D��D�D$DM�.L�L�D$,I��I����Q���D$X��D$\D$`3�H����H�H�L$HL�<�A(���\$ ���lE3��|$$�VA�~0E�f�D$$A7I��(���f8��P�@��t8�t$dI�MH���H�H�QH;Qt�2�ZH�A�L�L$ L�D$d�%��@��t@f:t$0I�MH���H�H�QH;Qt�D$0��ZH�A�L�L$ L�D$0����@��t<f:t$4I�MH�H�QH;Qt�D$4��ZH�A�L�L$ L�D$4���@��t@f:t$8I�MH��H�H�QH;Qt�D$8��ZH�A�L�L$ L�D$8�W���D$$A��I��H��`D;������L�e��t$(M;�}_K�<vH��I��I+��A�D$hA/�v.I�MH�H�QH;Qt��ZH�A�L�L$ L�D$h����I��H��H��u��t$(�É\$ ;��*�����\$<����Hc�D�|$(M��~e3�M��H�D$PH�L$H���D$lA/�v8I�MH�H�QH;Qt��ZH�A�L�L$<L�D$l�X��H�L$HH�D$PH�H��I��u��É\$<A;�|�A��L�t$x�\$@\$D�\$@H�U�H��H�U�A�L)m�H�|$P����H�e�H�M�H�H�@�w�H�M�H��t"����A��uH��tH�A��H��M��H��0H3����
L��$pI�[@A(s�A({�E(C�I��A_A^A]A\_^]��.����H��H�XUVWATAUAVAWH������H��0)p�H�iu=H3�H��D�L$$M��L�E�L��L�ZpIc�`I�HI+H��������*H��H��H��H��H��?H�I�J(I�B0H+�H��A�I;���H�AH�XX�A��H�\$PH��t�DsH�T$PH�L$p�sS�H�D$xH�E�H�KH�����H�����T$4�HH���D�(H�E�H�E�A�L�]�H�E�H�E�L�u�H�E�H�E�L�u�L�E�L�E�E�S�L�U�H�E�H�E�E�K�L�M���E��M�A��D$8L�E`L�EL�]H�E`H�E L�u(H�EdH�E0L�u8L�EhL�E@L�UHH�EtH�EPL�MXE`MpA�X�\$0���‰D$<H�t$HHc�H�D$`���E3�L�t$XE3�D�|$,D��D�l$DI�$I�H�D$hL�D$ H��H���L��A��\$4\$83��|$(�D$$����L�l$HD�t$<L�}�M��~e3�M��L�l$hHc�I�G��"���D$@/�v.I�MH�H�QH;Qt��zH�A�L�L$(L�D$@���A�H��I��u�L�l$H�D$$�lj|$(;�|�L�t$XD�|$,D�l$DH�t$HL�e�E�D�|$,I��L�t$XH�l$`�\$0����A�H�d$xH�L$pH�H�@��H�L$pH��t"����A��uH��tH�A��H����H��H3���
L��$0I�[@A(s�I��A_A^A]A\_^]�������H�\$UVWATAUAVAWH��$��H�� H�r=H3�H��D�L$,M��L�E�H�Bp��h�D$ H�J(H�B0H+�H��H����H�H�XXI�HI+H��������*H��H��H��H��H��?H�H�\$@�H��t�sH�T$@H�L$h�0P�H�D$pH�D$xH�KH����e�H�����L$8�P�T$4H�����D$0H�M�H�M�A�L�M�H�E�H�E�H�u�H�E�H�E�H�u�H�M�H�M�E�A�L�E�H�E�H�E�A�Q�H�U���)E��)M��D$<H�M`H�ML�MH�E`H�E H�u(H�EdH�E0H�u8H�MhH�M@L�EHH�EtH�EPH�UX)E`)Mp�A�D$$Hc�H�\$XE3�����Lc��I��E��E��L�D$PI�$I�H�D$HH��H����8E3�A��E����LcT$,I��L�d$HD�|$ ��E��AE�H�@I�$H��H�KH��H+H��H;�sH��H��HH�C�KvIH�CH+H��H;�vL�D$(H��H���5�D�T$,E3��H��H+�tH�!H�aH��H��u�H�KE����D�d$4A�ċ|$8��A���Lc�I����AՍBA��D$$��D�t$<A�Hc�H�D$xL���BA��D$$��A�H�H+�H�E��BA��D$$��A�H�H+�A��T$$��A�Lc�L+�A��L�e�H��H�C��A�H�C��A�DH�A�A�DH�A��A�DM�M�@H��u�Ic�D���L�d$HE3���A;������L�|$PL�e�H�\$XDl$0I��L�|$P�H+�H�\$XIc�����L�D$pH�L$hH�H�@���H�L$hH��t!����A��uH��tH���H��ͫ�H��H3��m�
H��$`H�� A_A^A]A\_^]�����H�\$UVWATAUAVAWH��$����H��@H��m=H3�H��0A��D�L$$M��L�E�H�Bp��h�D$ H�J(H�B0H+�H��H���2H�H�XXI�HI+H��������*H��H��H��H��H��?H�H�\$HA�H��t�DsH�T$HH�L$h�L�H�D$pH�E�H�KH����E��H�����L$8�P�T$4H�����D$0H�MH�M�A�L�M�H�EH�E�L�u�H�EH�E�L�u�H�MH�M�E�A�L�E�H�EH�E�A�Q�H�U���)E�)M��D$@H���H�M0L�M8H���H�E@L�uHH���H�EPL�uXH���H�M`L�EhH���H�EpH�Ux)��)���A�D$<Hc�H�|$XE3�H���`Lc��I��A�؉\$,E��L�D$PI�EI�H�D$xH��H���4E3�E��D�D$(E����Hc�D�d$$A��D8D$ AE�H�@H�D$xH�H�<�H�OH��H+H��H;�sH��H��HH�G�FvDH�GH+H��H;�vL�D$!H��H����E3��H��H+�tH�!H�aH��H��u�H�OE���;L�E�D�L$4A��D�D$8A��A���H�H�H�E�B���BA��D�\$<A�A��D�T$@A�Hc�H�E�L�,H�BA��A�A��A�H�H+�H�E��BA��A�A��A�H�H+�H�E�A��A�A��A�H�H+�H�D$`A��L�}�L�e�L�u�H�H�EI��N���AH�J�uI��5���ADH�I���#���ADH�H�E�H�EI�����ADM�M�H��H�D$`u�Lcd$$I��D�t$(D����\$,E3�A��D�t$(E;��&���L�d$PL�m��t$$H�|$X\$0�\$,I��L�d$PA�I+�H�|$XIc������L�D$pH�L$hH�H�@�[�H�L$hH��t"����A��uH��tH�A��H��0��H��0H3����
H��$�H��@A_A^A]A\_^]�� ������L��I�[E�K E�CUVWATAUAVAWH��A)s�A){�E)C�Mc�H�J(H�B0H+�H��H����H�A H�HXL��$I�_I+H��I�KH��t�AH��$�H�L$X�G�L�l$`���+3���A��Hc�$�I��H�H�D$0�BHc�L�4MM��BLc�L+�L�D$8�BHc�H+�H�l$@H��H+�H�D$(��H�D$ K�F���D(�I�����(�I�n���(�H�D$(I�F�����D$H�t$L�|$P�DD$TI�D$H�3ۋ�D��$�L��$E��tW��Hc�H�EI����I�$H����H��H��|�Lt$0�$�H��H�l$ L��$L�D$8H�l$@�1���H�d$`H�L$XH�H�@�%�H�L$XH��t$����A��uH��tH��H�����L��$�I�[@A(s�A({�E(C�I��A_A^A]A\_^]���������H��H�XH�pH�x UATAUAVAWH�h�H��H�"g=H3�H�EM��L�L$`A��D�D$4H��H�u`H�t$8H�BXH�D$pE3�H��t�@H�T$pH�M��|E�H�U�H�U�L�kpW��M�L�}�A�ωL$HI��������*���I��H�T$@@�|$0I�H�D$XL�&E3�A��A��`����A��H�|$XN�4"L�A;�lu	I�I�F�V��E8�hAE�H�H�@H�:H��A��t�D$ �A�x�A�pI���$I�FI+H��D�H�T$@E3���H��A��`;�|�@�|$0�L$HH�t$8E;�d�_W��M�L�E�Ic�E��t&H�UUUUUUUH;��*H�M��F"A��`E3�E��H�u�����M��H�|$@H�D$8H�H�M�dI�I;�t_D�t$hH�H�D$xH�� �D$lH;u�t!�D$x�H�D$hH�FH�u�H��H�u��L�L$hL�D$xH��H�M����H�u�H��I;�u�A��I��E;�`�s���@�|$0H��L�u�I+�I��������*I��H��H�H��H��?H�Ic�d;���H�II��L;���D�D$0H��I���\��L��H;�sj�A�A/�vR�A�E�A�G�E��AA�FA�GA�FA�GH��I+�I��H��H�L��I��?L�@�|$ L�M�3�I�����I��L;�r�D�D$0H��I���z�A��dHc�L�D$0H�M������D�L$0L��H��I���-�W�A��`�E�E3�L�}�H��t��H�M��L�E��H�M��PA��H�E�A��H�M�L�E�I+�I��H��H�H��H��?HЅ�~kI��L�E�HD�L$PIc@H�@H�E�H��H�QH;QtA��D�JH�A�
L�L$P�<����H��H�M�L�E�I+�I��H��H�H��H��?H�;�|�H�u�H;u���L�>L�~L�~H�]�L�}�I;���I��H+�I��H��H��H��H��?H�H��������
H;��BH�RL�4�I��r
I���l���3�M��tI���k�
L��H�H�FI�H�FH�u�L��I��H����H�FH�]�H�E�E3��L�E�H��H�M����H�]�H��tpH�u�H;�t0H�H��tH�SH+�H���{��L�;L�{L�{H��H;�u�H�]�H�M�H+�I��H��H��H��H��?H�H�RH��H���8��W��E�L�}�H�M�H��t3H�U�H+�I��H��H�H��H��?H�H�RH����W��E�L�}�H�t$8�L$H���L$HH�T$@H��H�T$@;L$4}BL�t$`������H�@H�L��H�M�H;M�tI����H�E�E3��H�U�H�M��}����H�|$`H�?H�}�H�]�H�\$@M��M��E��E��L�}�3�D��M�4L�t$8I�LI+�H��������*H��H��H��H��?HЅ��I�9H�T$HH��A��A8�hE�H�H�@J�D7H�D$XJ�47H;���H��fAn�[�fAn�[�Ik�H�\$XL��H�H�D$X�B:(�A���t�\p�BD:�D$X�BD:H�� Hc�H��I΋B�D:�AB�D:�AB�D:�AB�D:A��I��H��H��H;�u�H�\$@L�t$8A��H��I�LI+H��������*H��H��H��H��?H�D;�H�T$H������H�}�A��I��D;T$4�����I�׋|$4E3�I��������*�E��A��d��D;�}6Ic�Hk����H�dH�dH�dA��H�IA��d��D;�|�H�]�H��tUH�}�H;�tH����?��H��H;�u�H�]�H�U�H+�I��H��H��H��H��?H�H�RH��H���R��W��E�L�}�L�}�H�M�H�H�@�a�H�M�H��t$����A��uH��tH��H��5��H�MH3����
L��$I�[0I�s@I�{HI��A_A^A]A\]�����L������H��H�XUVWATAUAVAWH�l$�H��)p�)x�H�S^=H3�H�EPI��H�]�A��D�D$4L��L���L�t$HH�BXH�E�H��t�@H�U�H�M��<�L�e�L�d$PM�pW��ME3�L�UA�ʉL$8I��������*����A��H�T$@@�|$0H�H�D$hM�.E��A��A��`����M��H�|$hJ�4*I�A;�lu	H�H�F�V��E8�hAE�H�H�@H�:H��A��t�D$ �A�x�A�pH���H�FH+H��D�H�T$@E3��I��A��`;�|�@�|$0�L$8�t$4L�t$HE;�d�yW��M L�U0Ic�E��t&H�UUUUUUUH;���H�M �rA��`E3�E��H�u(����M��H�|$@H�D$HH�H�M�lI�I;�tXD�u�H�H�E�H�� �E�H;u0t�E��H�E�H�FH�u(H��H�u(�L�M�L�E�H��H�M ����H�u(H��I;�u�A��I��E;�`�z���@�|$0H��L�u I+�I��������*I��H��H�H��H��?H�Ic�d;���H�II��L;���D�D$0H��I�����L��H;�sm�A�AE/�vT�AE�E�A�E�E��AMA�FA�EA�FA�EH��I+�I��H��H�L��I��?L�@�|$ L�M�3�I���;��I��L;�r�D�D$0H��I�����A��dHc�L�D$0H�M ����D�L$0L��H��I���]��W�A��`�E8E3�L�mHH��t��H�M8��L�E8��H�M8�8��H�E@A��H�M(L�E I+�I��H��H�H��H��?HЅ�~kI��L�E�HD�L$XIc@H�@H�E8H��H�QH;QtA��D�JH�A�
L�L$X�l�����H��H�M(L�E I+�I��H��H�H��H��?H�;�|�H�uH;u��L�.L�nL�nH�]8L�e@I;���I��H+�H��������*H��H��H��H��?H�H��������
H;���H�RL�4�I��r
I��蕍�L���M��t
I����
��M��L�L�FK�H�FH�uL��I��H���=��H�FH�]8H�EI��������*�L�E8H��H�M���H�]8E3�H��tvH�u@H;�t3H�H��tH�SH+�H��藍�E3�L�L�SL�SH��H;�u�H�]8H�MHH+�I��H��H��H��H��?H�H�RH��H���Q��W��E8E3�L�UHH�M H��t6H�U0H+�I��H��H�H��H��?H�H�RH�����W��E E3�L�U0L�t$H�t$4�L$8���L$8H�T$@H��H�T$@;�}AH�]������H�@I�L��H�MH;MtI����H�EE3��H�UH�M�����L�T$`I��L�T$hE��E��D�T$HH�}H�}�I��������*H�E�L�L�M�E��D�T$8L�7H�L7I+�I��H��H��H��H��?HЅ���I��H�L$@A��E8�hAE�H�H�@H�E�J�H�E�I�TI�H;��UfAn�[�fAn�[�L�l$`Mk�H��H��H�\$PH�H�D$`(�H�L$p����fA�A���(΄�t�\
cH�L$rH�T$t��HE��V���fB�L#�L$`H�L$v�=���fB�L#Hc\$dH��H�E�H�M�H��H�L$x����H�D$PfB�L �KH�L$z�����H�D$PfB�L �KH�L$|�����H�D$PfB�L 
�KH�L$~����H�\$PfB�L#A��I��I��H��H;������L�l$`H�}�H�t$hL�7D�d$HD�l$8H�L$@L�M�E3�A��D�l$8H��H�L$@H�L7I+�H��������*H��H��H��H��?H�D;�H�L$@�7���H�}H�}�I��������*A��D�d$HH��H�t$hD;d$4�����t$4L�d$PI��������*�E��H�}A��d��D;���Ic�Hk��
�DH�M�����fB�#W�H�M�����fA�DW�H�M�����fA�LW�H�M��x���fA�LW�H�M��c���fA�LW�H�M��N���fA�L
W�H�L$4�8���fA�LA��H�[A��d��D;��N���H�}3�H��tUH�]H;�tH���}5��H��H;�u�H�}H�UH+�I��H��H��H��H��?H�H�RH��H����W��EH�uH�u�H�M�H�H�@��H�M�H��t$����A��uH��tH��H����H�MPH3���
L��$�I�[@A(s�A({�I��A_A^A]A\_^]�蹦�������H;��GH��H�XH�hH�pH�x AVH��PH��S=H3�H�D$@H��I��H+�H��H��L��I�M��~+@�t$0I��@�t$ L�L$8L��I��J��H�D$8���M���L��H;�sT@�t$0�A�/�w.�z3u1�AA9F}(I�L�L$8H�D$8L���A3ҋAA�F@�t$ �N��I��L;�r�H��|P�H�s��\$0H+�H�L�L$8H�D$8L�ƋL+��3ҋA�\$ A�DI�����H��H�7H��H��}�H�L$@H3���
H�\$`H�l$hH�t$pH�|$xH��PA^����H�\$UVWATAUAVAWH�l$�H��H��R=H3�H�EL�M�L�E�H��H�U�L��H�M�H�zpI�PI+H��������*H��L��I��I��H��?L�H�N(H�F0H+�H��H���<H�A H�@XH�@X�@����Hc؉\$dE3�D8�hE�|$uD��`D�|$`W�3�E�H�E�Ic�H�D$hL�D$PH��H�M���
�D�|$ D��L�E�H��I�����W�3�E�H�E�L�D$PH��H�M��	�W��M�L�e�L�D$QH��H�M��~����Lc��Lc������D$PH�N(H�F0H+�H��H���PH�A H�HXH�]�H+]�H��H�L$XH��t�AH�T$XH�L$p��/�L�t$x����3�M��I����A��A�Lc�I��M�FO����W�D�d$P�AP�A�A@�H�M�A�@��
�D
�L
�T
H�M�H�I��H+�I�A�E��t(����H��I��u�M�M�H��H��u�E3�L�d$xH�L$pH�H�@��H�L$pH��t$����A��uH��tH�A�T$H��Í�E��D�d$XL9d$h��Ic�I��L�e�H�E�L�(L�L�m�H��I���xIc�H�@H�E�H��H���aA��E���"��h�ӄ�AE�u;�l��H�M�L�$RH�H�D$pJ�T�J+�H��I�MJ��J�D�3�����D��D��L�u�H�t$pW�E�N��M�L�U�M�H�M�I�Hc��Lc������D$HH�T$@L�D$8����D$0H�E�H�D$(L�L$ D���D��|I���I�J��H�QH;QtE��H�A�	L�E�船��I��I���]���H�u�D�|$`M��E3��A;����D�t$XA��D�t$XH��H�u�H�l$hIc������H�u�D�L$dL�E�H��H�M�����H�M�H��tH�U�H+�H����ł�W��E�L�e�H�M�H��tH�U�H+�H���蠂�W��E�L�e�H�M��H�MH3��_�
H��$PH��A_A^A]A\_^]�诹�詹��H�\$UVWATAUAVAWH�l$�H��H��M=H3�H�EL�M�M��L�E�L��H�U�L��H�M�H�zpI�PI+H��������*H��L��I��I��H��?L�I�O(I�G0H+�H��H���H�A H�@XH�@X�@����Hc؉]���h�u��`�t$XW�3�E�H�EMc�L�e�L�D$PI��H�M��*��t$ D��L�E�I��I�����W�3�E�H�E�L�D$PH��H�M����3�H�E�W��M�H!E�L�D$QH��H�M�蹲���H�E�H�D$0H�E�H�D$(����D$ D���D���I��I����3ۉ\$TM����Hc�E3�L�u�E��I�EI�H�E�H��H����Ic�H�@H�E�H��H���E3�A�؅��$��h�ӄ�AE�u;�l��H�M�L�$RI�H�E�J�T�J+�H��H�E�H�J��J�D�����M��D��H�u�L�u�W�E�O��M�L�U�M�H�M�I�Hc��Lc������D$HH�T$@L�D$8����D$0H�E�H�D$(L�L$ D���D��|I����H�J��H�QH;QtE��H�A�	L�E����I��I���]����t$XL�u�E3���;����D�|$TL�e�L�m�A��D�|$TI��L�u�I��L�e�Hc������L�}�L�u�3�D�M�L�E�I��I���V���H�M�H��tH�U�H+�H�����W��E�H�]�H�M�H��tH�U�H+�H�����~�W��E�H�]�H�M��bH�MH3�費
H��$@H��A_A^A]A\_^]������L��L��H;�uI���M;�uI���M��H��L;�t%�A�A��B�A�JA�BI���JL;�u�M��I��H��L;�t%�A�A��B�A�JA�BI���JL;�u�M��I��M;�t.H��L;�t%�A�A��B�A�JA�BI���JL;�u�M+�I��K�����H�\$H�t$W�`�'�
H+�H��I=H3�H��$PH��H��H��H+�H��H�� D�D$0�~����WH��H�H+�H�H��H+�H�L$@�-�����D$0�D$(H�D$HH�D$ L�L$@L��H��H������H�|$Hv
H�L$@���
H��$PH3���
L��$`I�[I�sI��_�H�\$UVWH�� E3�H��L�L�AL�AH�:H�jH;�tfH��H��������H+�H��H;�w]H��H��r
H���=|��
H��tH���>�
L��L�J�L�CH�CH�H��I�I��H;�u�L�CH��H�\$PH�� _^]�������H�\$H�t$ WH�� H�!H��H�aH��H�aH��teH��������H;�wiH��H��H��r
H���{�H���H��t
H��蛷
��3�H�H�H�G�!�a�a�aH��H��u�H�OH�\$@H��H�t$HH�� _������H�\$H�t$ WH��0H��3�H�H�AH�AH�:H�rH;�tCH��H+�H��������*H��H��H��H��?H�H��� H�\$ L��L�H��H�����H�CH��H�\$PH�t$XH��0_����H�\$H�t$ WH�� H�!H��H�aH��H�aH��tiH��������
H;�wmH�RH�4�H��r
H���lz�H���H��t
H���j�
��3�H�H�H�CH�!H�aH�aH��H��u�H�KH�t$HH��H�\$@H�� _�����H��(H�yvH�	�.�
H��(��H��(H�	H��t�&��H��(���L�AH�QH�	�X��@SH�� H��H�	H��t<H�SH��������*H+�H��H�H��H��?H�H�RH���!z�H�#H�cH�cH�� [��@SH�� H��H�	H��tH�SH+�H�����y�H�#H�cH�cH�� [����@SH�� H��H�	H��tLH�SL���׫��H�SH��������*H+H�H��H��H��H��?H�H�RH���y�H�#H�cH�cH�� [�����������H�\$WH�� H��������
H��H;�wGH�RH��H��r
H���x��3�H��tH��薴
H�H�GH�H�\$0H�GH�� _��8������H�\$H�t$H�|$AVH�� H��I��H�	M��H��H��t.L�SH��������*L+�I��H�H��H��?H�H�RH���x�H�;K�vH��H�KH�vH�t$8H��H�|$@H�KH�\$0H�� A^�H�\$H�t$H�|$AVH�� H��I��H�	M��H��H��t>H�SL��觪��L�CH��������*L+H�I��H��H��H��?H�H�RH���x�H�;K�vH��H�KH�vH�t$8H��H�|$@H�KH�\$0H�� A^�I��L��L��H��I�����I��L��L��H��I������H�\$H�t$ WH��@H��H��H�L$(H�T$0H�IH+H��������*H��H��H�H��H��?H�H�UUUUUUUH;�wtH�H��H��r�v��3�H��t趲
H��H�T$ H�KL�L����A�AA�BA�CM�[I��L;�u�L��L��H��H�\$`H�t$hH��@_���!���@SH�� H��H�	H��tLH�SL���3���H�SH��������*H+H�H��H��H��H��?H�H�RH���v�H�#H�cH�cH�� [��H�\$H�t$WH�� H�H��H��t]H�qH;�tH���}���H��H;�u�H�H�WH��������*H+�H��H��H��H��H��?H�H�RH���v�H�'H�gH�gH�\$0H�t$8H�� _��H��(H�
���L�
����H��H�XH�hVWAVH��Lc�$�L��H�
H��)p�(�)x�D)@�D)H�D)`�D(�D)h�H�BA�����H��H+�H��A;�~rI��J��L��E3���H�KL�H��I+�H��H;�s
I��H�C�KvIH�CI+�H��H;�vL�D$ H��H���q����'H+�t�!�aH��H��u�H�K�E3�H������L�3�H�sL;��X�D-��E3�I�E3�I�.H�D$(H�� H�H�D���D$0M�����DD$<�DL$8����L�W�KcD�H��od�(�(��U(�D/�������/\$4��3�"�D/���G�/l$0����t^(�(��A]�(��_D$4�A]��\��\��\�(��_D$0�Y��\�A(��\D$0�Y�A(��\L$4�Y��X��\��^�/���I��M;��6�����t3�L��D$(�NjD$,�C�C�D�I��E/�v/5a�v�AY�I��L;������L�L�KI��Hc�I+�H��H;�s
I��H�C�@v>H�CI+�H��H;�vH��L�D$ H��蜷���H+�tA�!A�aI��H��u�L�KL��$�I�[ I�k0A(s�A({�E(C�E(K�E(c�E(k�I��A^_^�H��K�@H����r�H��H�XH�xUH�h�H���}gH���	�Y)p�)x�D)@�D)H��DID)P��DQD)X�D)`�H�EWD)t$ �8�D@�P�pubH�MoW�H��x�H*��H����H��H��H*��X�H�MwW��^�H��x�H*��H����H��H��H*��X��^��D^��D^�H�]_E���pA����A����A(�A(��\��\�E��t0(��Y��Y��AX��X�(��AY��c�X���K�>�Y:�Y��X��;�DYB�DY��DX��DC�YR�Y��AX��S�Yr�Y��%E(�E(��DX��DX��D\��D\��DY
���DY��E��t
(����YR�Y:�DYB(����YwD(�(��ԖA(�A(�(��Y��EY��AX��AY��DY���DY��AX�(��A\��DY%z��DX��(��A\��D[�DX��C�Dc�_E��t�X��DX��AX��;�DC�S�1�Y:�X��;�DYB�DX��DC�YR�AX��S�Yr�AX��s�}�����H�Eg/�Eg�?W�HG��/�wW��eH�S�H�Mg/�Eg�?H�EHG��/�HG�H�Mg��e�H�S/�Eg�?H�EHG��/�HG�H�Mg��e�H�S/�Eg�?H�EHG��/�HG���L��$�I�[I�{A(s�A({�E(C�E(K�E(S�E([�E(c�E(s�I��]����������������H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@�*xH������H;�u`H9~u7H�L��M��H��H��H�@ ��wH�\$`H��H�l$hH�t$pH�|$xH��PA^�H�	H�L$0賟�H�0�<H�L$0�Έ�H�^H�L$0萟�H�
�<H�L$0諈�����������H�\$UVWAVAWH��H��H��9=H3�H�E�I��H��L��H�U��e�M�xI�8�H���H��I;�u�H�CH�HE3�H��H�I�����E�H�K(H�C0H+�H��H����H�H�HXH�A8Lc8W�3�E�H�E�L�E�I��H�M��`�W�3�H�E��E�H!E�E��t3H��������
L;���I��H�M���L�E�I��H�M����H�E�H�K(H�C0H+�H��H���TH�H�HXL�M�L�E�H��H�y�I��u"�
�H�E�H�D$ L�M�E��H��I���z��� ��H�E�H�D$ L�M�E��H��I���$���d$ L�
W=L��V=3�H���H��H�@HcH���u,Ƅ�H�H��H���uH�CHcHH��H����H�]�H��t]H�}�H;�tH�����H��H;�u�H�]�H�U�H+�H��������*H��H��H��H��?H�H�RH��H���5l�W��E�H�e�H�M����H��H�M�H3���
H��$�H�ĀA_A^_^]��D���>���h������H�\$H�t$WH�� H�yL��L�H��I+�I��������*I��H��H��L��I��I��H��?L�M;�sK�IL��I��H��H��覝��H�^�bv`H�II��I+�H��H��H��H��?H�L;�vL�D$0I��H��足���.M+�t3�H�H�GH�GH��I��u�L��H��H���B���H�~H�\$8H�t$@H�� _���H�\$H�t$WH�� H��x�p�
H�D$8H��H��td3�H�HD�BH�t��gH�9%H�gH�gH�g H�g(f�g0H�g8�G@�GD�GHH�g`H�Gh�GPH�H�wp�3�H�\$0H��H�t$@H�� _�����������H�\$H�t$WH��@H��H��H�JH�H�@�jsH�����H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%4sH��H�L$ ���H���<H�L$ �"��H��H�L$ ���H�a�<H�L$ ����������������H�\$WH�� H�O$��H�H�������t
�0H���@�
H�\$0H��H�� _���H�\$WH�� H�7$��H�H��������t
�0H����
H�\$0H��H�� _���H��$H�H�AH�BH�������������H�ق=���������H��$H�H�AH�BH�������������H�9�=���������H�\$WH�� ��H��������t
��H���j�
H�\$0H��H�� _�@SH��@L��H��H�L$(3��D$ H�AH�AH�AH�A H�A(H�A0�A8H�Q@H�T$0�H�B H�B�BH�B(H�B0�Ax,H�$H��D$ H��I����`��H��H��@[����@USVWATAVAWH��$���H��H��3=H3�H���E��L��H��H�M��d$ �,�Ѽ��H��#H�H��P3�D�BL�Q�A�D�d$ H��I���a��I���I���H+�H��H����E��H�U�H�	���H��pI���+��H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H�U�H�M��aR��H��H���H��H���T���G@�C@�GD�CDH�M�H��tH�U�H+�H����f�H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H��pH�M��Q��H��H��H��H������G@�C@�GD�CDH�M�H��tH�U�H+�H����e�I�I��H�@�oH��H�N�p���A�$����A�(���A�� �
[�����H��H���H3��z�
H��A_A^A\_^[]��Ӝ����H�\$ UVWATAUAVAWH��$ ���H���H�1=H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`���H�WXL�D$`I���]�H�
!I�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� �k����A��H��t9A����CA�u,H�H��H���mA����CA�uH�H��H�@��mI��H�����I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H�����L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H���P�I�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH���ǻ���H�CH;CtH��H���5���H�C@�L��H��H�����H���;��I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	����H�0H�޸?���H#�H�M�8t�H��3�H�D$0H��D$ �D��D��H�M�蟕�L��H�|$ A�H��H��P�q�I�EH�XH��PH�����p�L��H�T$HH�������H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I���>���H�D$0H��t$����H��uH�L$0H��H���j�H�L$HH��t#����A��uH��tH��H���jH�t$HI��L;|$8�����I��H���H3��%�
H��$8H���A_A^A]A\_^]����o�����H�\$ UVWATAUAVAWH��$ ���H���H��,=H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`�|�H�WXL�D$`I����H��I�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� �����A��H��t9A����CA�u,H�H��H��iiA����CA�uH�H��H�@�LiI��H��荰���I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H���4��L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H����I�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH���c����H�CH;CtH��H���Ѷ��H�C@�L��H��H��茝���H���׿��I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	�_��H�0H�޸?���H#�H�M��o�H��3�H�D$0H��D$ �D��D��H�M��;��L��H�|$ A�H��H��P�:m�I�EH�XH��PH����l�L��H�T$HH��蟲���H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I���ژ��H�D$0H��t$����H��uH�L$0H��H��ef�H�L$HH��t#����A��uH��tH��H��7fH�t$HI��L;|$8�����I��H���H3��
H��$8H���A_A^A]A\_^]��A{�������H�\$ WH��`H�_(=H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(豵��H��H�H�SH��rH��H��B\�H�cH�C�H��H�L$PH3���
H��$�H��`_�H�\$ WH��`H��'=H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(�
���H�fH�H�SH��rH��H��[�H�cH�C�H��H�L$PH3��^�
H��$�H��`_�H��(�
F!@eH�%XA�4H��A�9a
@H�(
@H��(�H�
L
@��
�=@
@�u�W�
@
@
@H�
�	@�oH�
�F��
�H�

@�I�
����H��(�
� @eH�%XA�4H��A�9
@H��	@H��(�H�
�	@�c�
�=�	@�u�W��	@�	@�	@H�
�	@�NoH�
/F�z�
�H�
�	@轜
����H�\$H�T$UH�l$�H��H�ڋ�E�H�AH�E��A�EH�EH�EgH�eGH�J8H��tH�H�UH��5cH�EG�$I��L�E�H�U�H�����H�MGH��tH�H�UH;���H�@ ��b�H�K8H��tH�H;���H�@ ��bH�c8H��$�H�Đ]�H�\$H�T$UH�l$�H��H�ڋ�E�H�AH�E��A�EH�EH�EgH�eGH�J8H��tH�H�UH��ubH�EG��H��L�E�H�U�H���L��H�MGH��tH�H�UH;���H�@ �;b�H�K8H��tH�H;���H�@ �bH�c8H��$�H�Đ]���������H��H�XH�pH�x UH�����H���H�c$=H3�H���H��H�IH�� H�U����H�H�qH�]�H��t9����C��u,H�H��H���a����C��uH�H��H�@�taH��u
H���+���A�H��H�M@��H�WH�M��v��H��H��������L��W�3�E�H�E�I�
H�AL�M�L�E@H�U�I��a�H�e��H�u��D$pL�
v�E3��V H�L$p�[�H�d$`H�t$h�D$PL�
~�E3��VH�L$P�n[�H�d$@H�t$H�D$0L�
fE3��V?H�L$0�F[�H�E�H9E���H�H��H�@�j`L��H�D$pH�D$(�\$ L�L$P�V@H�L$0�_����H�T$HH��r
H��H�L$0�V�H�d$@H�t$H�D$0H�T$hH��r
H��H�L$P��V�H�d$`H�t$h�D$PH�U�H��r
H��H�L$p�V��%�
H��H�E�H��tL�E�H��H���
�H��H��3�H�M��#����H�M��i����H�M@����H��H���H3��-�
L��$�I�[I�s I�{(I��]�����H��H�XH�xL�p UH�����H���H��!=H3�H���H��A�H��H�M0����H�WH�M��B��H��H��������L��W�3�E�H�E�I�
H�AL�M�L�E0H�U�I���^�H�e�A�L�u��D$pL�
A�E3�A�V H�L$p�`Y�H�d$`L�t$h�D$PL�
H�E3�A�VH�L$P�7Y�H�d$@L�t$H�D$0L�
/E3�A�V?H�L$0�Y�H�E�H9E���H�H��H�@�2^L��H�D$pH�D$(�\$ L�L$PA�VxH�L$0�&����H�T$HH��r
H��H�L$0��T�H�d$@L�t$H�D$0H�T$hH��r
H��H�L$P�T�H�d$`L�t$h�D$PH�U�H��r
H��H�L$p�vT���
H��H�E�H��tL�E�H��H���5�H��H��3�H�M�����H�M��0����H�M0�F���H��H���H3���
L��$�I�[I�{ M�s(I��]������������H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@��\H�����H;�u`H9~u7H�L��M��H��H��H�@ ��\H�\$`H��H�l$hH�t$pH�|$xH��PA^�H���H�L$0�s��H���<H�L$0�m�H��H�L$0�P��H���<H�L$0�km���H�\$H�t$ UWAVH��$���H��0H��H��W�D$ H�ZA�H��t	�DsH�ZH�JH�L$ H�\$(��d�G��`�G��t�G��l�G��|�G��h�G=����G>��p�G@��x�GD����GH����G4����G8����G<����G,����G0H���H���H+�H��I;��E��H��0H�I�S���H��H�U0軬�H�@0��OH���H���H+�H��I;���E��H���H�I�
���H��H����r��H�@0�H�OH���H���H+�H��I;���E��H��0H�I�ú��H���H�M�H�L$0H�D$8H�M�H�L$@L�t$HH�M�H�L$PL�t$XH�M�H�L$`H�D$hH�M�H�L$pH�D$xW�E�E�A� H�M��yH�D$`��O H���H���H+�H��I;���E��H���H�I����H���H�MH�M�H�E�H�MH�M�L�u�H�MH�M�L�u�H�MH�M�H�E�H�MH�M�H�E�W�EEA� H�M�yH�E�H�O$H��t8������C�u*H�H��H��|Y����C�uH�H��H�@�aYL��$0I�[0I�s8I��A^_]��d���^����X����R����H�\$H�l$H�t$WAVAWH���H��L��H���H���H+�H��H���!H�	H�H�@��XH���y��H;��nW�D$ L���H���I+�H��H����M�?I�I��H�@��XH���/��H;���I�H��t�GI�I�oH�l$ H�|$(��dA�F��`A�FH���H���H+�H��H����H�1H�H��H�@�"XH��躸�H;��pH���H���H+�H��H���A�H�T$`H�	���H�@ �A���tA�F��hA�F=��lA�FH��t8������G�u*H�H��H���W����G�uH�H��H�@�WL��$�I�[ I�k(I�s0I��A_A^_�H�^H��t�CH�^H�N��8A�F��4A�F��0A���@A�F��<A�F=��DA�FH��t�������C�u�H�H��H���V����C��b���H�H���M����������H�s�H�L$0�~�H��<H�L$0�g��„��H�J�H�L$H�t~�H���<H�L$H�g���������������H�\$H�t$WH��@H��H��H�JH�H�@�JVH���J��H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%VH���H�L$ ��}�H�d�<H�L$ �g�H���H�L$ ��}�H�A�<H�L$ ��f���������������H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@��UH���:��H;�u`H9~u7H�L��M��H��H��H�@ �^UH�\$`H��H�l$hH�t$pH�|$xH��PA^�H�i�H�L$0�}�H���<H�L$0�.f�H���H�L$0��|�H�m�<H�L$0�f�����������H�\$H�t$WH��@H��H��H�JH�H�@��TH���z��H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%�TH�5�H�L$ �g|�H���<H�L$ �e�H�J�H�L$ �D|�H���<H�L$ �_e���������������H��H�XH�p H�PWH��0I��H��`��]z���D$ H�Kh����tUH�KhH���H+��H��3�8�4��H+�H�K(H�C0H+�H��H;���H�H��H�IXH��H��t
�A�3�3�H�^hH�D$PH;�t+H�H��t����A��uH��H��{SH�;�#H��t����A��uH��H��SSH��H�\$@H�t$XH��0_��[�������������H��H�H�AH�BH�������������H�d=�H�\$H�t$WH�� L�QL��H�9I��H+�H��������*H��L��H��H��H�H��H��?H�L;�sK�IH��I�K�JvHH�IH��H+�H��H�H��H��?H�L;�v
I��I���/�L+�t3�I�A�BI��I��u�M�SH�\$0H�t$8H�� _��H�\$VWAVH��@H��H��H�L$0H�UUUUUUUH;��,H�IH+I��������*I��H��L��I�I��H��?L�H�NH+I��H��H�H��H��?H�H��H��H��H+�H;�vH�\$ H������%H�H;�s+H��H��H�@H��H�D$ H��r��G�H��H�D$(�+H;�����H��t�ԃ
H��H�D$(�3�H�T$(H�\$ K�vH��H��I+�t�a�!�a�aH�IH��u�L�FL�H����A�A�A�AH�II��M;�u�L��L��H��H�\$pH��@A^_^�����Lf���f���@SH�� H����.��z	u��
�B��BH�YH��t9����C��u,H�H��H���P����C��uH�H��H�@��PH�� [�H�\$ UVWATAUAVAWH��$ ���H���H��=H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`��b�H�WXL�D$`I����H��I�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� �7����A��H��t9A����CA�u,H�H��H���OA����CA�uH�H��H�@�|OI��H��轖���I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H���d���L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H���rI�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH��蓝���H�CH;CtH��H������H�C@�L��H��H��較���H������I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	菭��H�0H�޸?���H#�H�M�V�H��3�H�D$0H��D$ �D��D��H�M��kw�L��H�|$ A�H��H��P�jS�I�EH�XH��PH����R�L��H�T$HH���Ϙ���H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I���
��H�D$0H��t$����H��uH�L$0H��H���L�H�L$HH��t#����A��uH��tH��H��gLH�t$HI��L;|$8�����I��H���H3���
H��$8H���A_A^A]A\_^]��qa��;z����H�\$ WH��`H��=H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(���H�"H�H�SH��rH��H��rB�H�cH�C�H��H�L$PH3��2
H��$�H��`_�H��H�XH�pH�xL�p UH�����H�� 	H��E3�D�t$0A��L�L$8D�t$@H�5�H�t$HH�=H�|$PH�D$HH�E�D�u�E�Y�L�]�D�u�H�u�H�}�H�E�H�E�D�u�E�VL�U�D�u�H�u�H�}H�E�H�E0D�u8E�FL�E@D�uHH�uPH�}XH�EPH���D���A�VH���D���H���H���H���H����J����L���D���H��H��H��H��8��@L��HD��PH��XH��`H��XH������L���D���H���H���H���H������L���D��H��H��H��H��@��HH��PD��XH��`H��hH��`H���D���L���D���H���H���H���H���D���L��D��H��H��H��H��HD��PL��XD��`H��hH��pH��hH���D���L���D���H���H���H���H���D��H��D��H��H�� H��H��PD��XL��`D��hH��pH��xH��pH����J���L���D���H���H���H���H����L��D��H�� H��(H�� H��X��`L��hD��pH��xH���H��xH������L���D���H���H���H���H����H��D�� H��(H��0H��(H��`DžhL��pD��xH���H���H���H���Dž�L���D���H���H���H���H���J��L�� D��(H��0H��8H��0H��h��pHDžxAD���H���H���H���H���Dž�"L���D���H���H���H���H��H�D$0H�D$ H�� H�D$(H�L$ ��L�
g���A�VXE�FH�L$0�w
H��L��$ 	I�[I�sI�{ M�s(I��]��H�\$H�l$H�t$WH�� H��������?L��H��H;���H�QH��H+H��H��H��H+�H;�vH���H�<I;�IB�3�H9tH�H���x<�H�H�^H�^H;�wKH��H��r
H����;��
H��tH����w
H��H�l$8H�H�H�^H�\$0H�FH�t$@H�� _��XZ���Z���H��H�XH�hH�p WH��0)p�1��`��fH~�H��fs�fH~�H�(�L��H��H���Kv��H��XH;�u�H�\$HH�l$PH�t$X(t$ H��0_Ã�ZtR��tK��t@��t5��t*��t��t��t	��u(�Aøøøøøø�3�øÃ�	t@��t5��t*��t��t��t	��uԍAøøøøø
ø���������������H��H�XH�pH�x UATAUAVAWH��(���H��H�{=H3�H���H��H�M�A�E��H��H��@�b���H�WH�� �����A��H���L���H��I+�H��E3�A��D8�4��H+�E�~L�-�aL;��5H���H�EHH�EPH���H�EXL�u`H���H�EhL�upH���H�ExHDž�H���H���L���W�����I+�H��H;��6
E��H��I�����H��L�MHE��H����%���H��0H;�8tH��H���t���L�.H��0H�L��H��H��(�}v���H���H��tH���H+�H����E9�I�H���L���H��I+�H��I��D8�4��H+�H;�����H�GH��t	�DpH�GH�_L��H��H�E�H��D8��t4H��t�DpH��H�M�L��H�]�H�E�H��H�M����L�d$<�d$DD�t$8D$8E�D�u�H�E��eW��D$HL�d$XD�L$0L�EH�U�H�L$H�����t����D$`H���H;��tDL�"L�bL�bH�D$HH�H�D$PH�BH�D$XH�BW��D$HL�d$X�D$`�BH��� �L�D$HH����p����H�L$HH��tH�T$XH+�H�����7�A��H���H+��H��A��D8�4��+�A;��H�D$8�d$D�F��D$@D$8ED�u�uD�e �e$W��D$hL�d$xD�L$0L�E(H�UH�L$h�u����t����E�H���H;��tCL�"L�bL�bH�D$hH�H�D$pH�BH�D$xH�BW��D$hL�d$x�E��BH��� �L�D$hH����c����H�L$hH��tH�T$xH+�H����6�A�H���H+��H��A��D8�4��+�;�����D9�tupH��xH���H;�t]H�pL�8I+�H��H��H���L���I+�H��H;�vH����\���L���L��I��I���^J�6H���A�M��H��0L��(I+�H�9��8��8H��L��I��I��H��?L���M�YL��HD������A9{0u_E9K4uYM�s�M�M+�I��H��PI+�H��L;�u2�M��t:I��M+�3���H�I96Dъ�H�v I��u�E�p��u�A�D����A�M�I��HM;�r�H�}�L��(E3�H���H���H;���H+�I���������I��H��H�H��H��H��?H�L�D$0H�����I��H���H+��I��H��H�H��H��H��?H�tfM��M��H���I�L0�D�AD�IH���A�E�DE�LI�M�[xM�RH���H+��I��H��H�H��H��H��?H�H;�r�L��(H���H���H;�tRM��H+�H��������*H��H�H��H��?H�L;���L�AA�9u	A�@9AtD���M�I��L;�r��\M�YM�AM+�I��M�QPI�AXI+�H��L;���u#M��tM+�A����I�K9Dъ�M�R M+�u������ADƈ��M9�`w�A�p.;�z��D���M9�`��D���H��H���HDž�H��H���L���H��H���L���H��H���HDž�H��$H��HDžW��� L���H���I+�H��I��D8�4��L��L+�I;��E��H���K���ƛ��H��L���E��H��������H��8H���YF�H��H;�tH��H���={��H��YH�H��H�L��H��H���?o���H��@H��t%H��PH+�H����2�L��@W���HH���H��t%H���H+�H�����1����0�������L��W�3�� H��0I�
H�AL�� L��@H�� I���:�L�e8�H�u@D�e(L�
+�E�čV H�M(�L5�L�e�H�u�D�e�L�
8�E�čVH�M��)5�L�e�H�u�D�e�L�
��E�čV6H�M��5�H��(H9� ��H�H��H�@�$:L��H�E(H�D$(�\$ L�M���H�M������H�U�H��rH��H�M��0�L�e�H�u�D�e�H�U�H��rH��H�M��0�L�e�H�u�D�e�H�U@H��rH��H�M(�w0���k
H��H�D$8H��tL�� H��H����H�o�H��I��H�� ����H�M�H��tD������A�u6H��H�H��H��59����C�uH��H�H�B�9�H�� �ٔ���H��@���H��H���H3��l
L��$�I�[8I�s@I�{HI��A_A^A]A\]���f���f���������������H�\$WH�� H�w���H�H�������t
�0H���k
H�\$0H��H�� _���H�\$UVWH�l$�H��`H��<H3�H�EPH��H��H�T$ 3�A��H�L$P�[�H�L$P���H�T$(H���`�H��H�xrH�L�@H�L$`���H��H�����H�T$@H��r
H��H�L$(�.�H���H�L$`H;��uH���迥��H���豥�H��H�S0��H�^�H��薥�H��H�L$h�i��H�M����H���H�E�H�M��S
�H��H�MPH3��j
H��$�H��`_^]��������@SH�� H���UH��H�� [����������H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@��6H���*�H;�u`H9~u7H�L��M��H��H��H�@ ��6H�\$`H��H�l$hH�t$pH�|$xH��PA^�H���H�L$0�c^�H��<H�L$0�~G�H��H�L$0�@^�H���<H�L$0�[G�����������H�\$H�t$WH��@H��H��H�JH�H�@�6H���j
�H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%�5H���H�L$ �]�H�4�<H�L$ ��F�H���H�L$ �]�H��<H�L$ �F���������������L��I�[ I�SUVWATAUAVAWH��@I��H��E3�E�c�L�"L�bL�bL�bL�b L�b(L�r0M�&L�z8M�'L�b@L�bHL�bPH�jXL�eL�b`L�bhL�bpL�bxL���L���L���L���L���L���D���L���E�l$E�k�H��I�CH��t�DhD��$�L��$�H��$�H����c���L�
"��M�źH��$��
f
H�^XH��t�DkH�D$(A��L;�t*I�H��tA����AA�uH�A�UH��L4I��&H��t!A����CA�uH��H��H��!4H�N(H�F0H+�H��H���&H�AH�XXH��t�CH�D$0L;�t+I�H��tA����AA�uH��H���3I��&H��t!A����CA�uH��H��H���3H�FpL9�Xt/H�N(H�F0H+�H��H����H�I H�IXH��H��t�A�I��I��H��$�H;�t-H�MH��tA����AA�uH��H��&3H�]�#H��tA����AA�uH��H���2H��H��$�H��@A_A^A]A\_^]��`��������������@SUVWAVH��PH�F�<H3�H�D$@M��H��H��H�T$ W�3�D$(H�D$8I��H�L$(�w���3�I���0�H�غH��t�PH��H�D$ H;�t%H�H��t����A;�uH�H��?2H�� H��t����C;�uH�H��H��2M��L�D$(H��H���Z���H�L$(H��t%L�D$(H�T$0�e��H�T$8H�L$(H+�H���(�H��H�L$@H3��we
H��PA^_^][�������������H�\$WH�� H�ً�H��H��t����A��uH��H��w1H��H��軂��@��t
�H����c
H��H�\$0H�� _�������H���H�H�AH�BH�������������H��B=�@SH��@L��H��H�L$(3��D$ H�AH�AH�AH�A H�A(H�A0�A8H�Q@H�T$0�H�B H�B�BH�B(H�B0�Ax!H���H��D$ H��I���$ ��H��H��@[����@USVWATAVAWH��$���H��H���<H3�H���E��L��H��H�M��d$ �!���H�B�H�A�D�d$ H��I���]!��I���I���H+�H��H����E��H�U�H�	����H��pI��艐��H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H�U�H�M����H��H���H��H��貋���G@�C@�GD�CDH�M�H��tH�U�H+�H����
&�H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H��pH�M����H��H��H��H������G@�C@�GD�CDH�M�H��tH�U�H+�H����Z%�I�I��H�@�z.H��H�N��G��A�$����A�(���A�� �h�����H��H���H3���a
H��A_A^A\_^[]��1\��@USVWATAUAVAWH��$����H��XH�u�<H3�H��@A��D�L$0L��L��H�M��d$4�7����D$4I���I���H+�H��H����A�H���H�I葍����uTH���H�M����H��I��$PH��H��貉���G@�C@�GD�CDH�M�H����H�U�H+�H����	$��H�������D��H���D�0H���8�XH����5�H��\$ D��E��A��H�L$8�W�L��H�t$ D���H���H��@�2�H��H�M����H��I��$PH��H������G@�C@�GD�CDH�M�H��tH�U�H+�H����P#�t$0I��������I���I���H+�H���H;���A�H��@H�I�:���W�����H�E�H�D$8H�D$@H�E�H�D$HH�D$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pH�E�H�D$xH�]�E�E�L�L$8D��H��@H�M�
���H�U�H���h6�I��$�H�{H;{tH��H���Jk��H��IH�H�CH�L��H��H���S_���H�M�H��tH�U�H+�H����!"�H�e�W��E��LH��`D�8H��pD�0H���������yH�E�H�D$8H�D$@H�E�H�D$HA�L�l$PH�E�H�D$XL�l$`H�E�H�D$hH�D$pH�E�H�D$xH�]�E�E�H����C3�H�؉|$ D��E��A��H�MH�T�L��H�\$ D��HH��@H����0�H��L�L$8E��H�M����H�U�H���5�I��$�H�{H;{tH��H���i��H��HH�H�CH�L��H��H���^���H�M�H��tH�U�H+�H����� �H�e�W��E�H�MH��tH�UH+�H���� �I��H��@H3��x]
H��XA_A^A]A\_^[]���W����W��H�\$ UVWATAUAVAWH��$ ���H���H�
�<H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`�<�H�WXL�D$`I����H���I�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� �cq���A��H��t9A����CA�u,H�H��H���(A����CA�uH�H��H�@��(I��H����o���I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H��萈��L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H���HKI�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH���v���H�CH;CtH��H���-v��H�C@�L��H��H����\���H���3��I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	軆��H�0H�޸?���H#�H�M�0/�H��3�H�D$0H��D$ �D��D��H�M��P�L��H�|$ A�H��H��P�,�I�EH�XH��PH�����+�L��H�T$HH���q���H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I���6X��H�D$0H��t$����H��uH�L$0H��H���%�H�L$HH��t#����A��uH��tH��H���%H�t$HI��L;|$8�����I��H���H3��Y
H��$8H���A_A^A]A\_^]��:��gS����H�\$ WH��`H���<H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(�
u��H�.�H�H�SH��rH��H���H�cH�C�H��H�L$PH3��^X
H��$�H��`_�H��(�
F�?eH�%XA�4H��A�9!�?H���?H��(�H�
�?��]
�=�?�u�W���?��?��?H�
��?�B2H�
��\
�H�
��?�I]
����H��H�XH�hH�p WH��0)p�1��d��fH~�H��fs�fH~�H�(�L��H��H���U��H��XH;�u�H�\$HH�l$PH�t$X(t$ H��0_�H�\$WH�� H�YH��t�CH�YH�AH��X@��H��t9����C��u,H�H��H��`#����S��uH�H��H�B�C#H�\$0@��H�� _������H�\$H�t$UWAVH��$����H��@H���<H3�H��0H��A�E��H��H�M���H�WH�����H�U�H���-H��H��H������K@��@�CD��DH�M�3�H��tH�U�H+�H����Y����L��W�3�E�H�E�I�
H�AL���L�EH�U�I��U"�H�u�A�L�u�@�t$pL�
ʮD��A�V H�L$p���H�t$`L�t$h@�t$PL�
ҮD��A�VH�L$P��H�t$@L�t$H@�t$0L�
�D��A�V4H�L$0��H�E�H9E���H�H��H�@��!L��H�D$pH�D$(�\$ L�L$PA�V8H�L$0�y���H�T$HH��r
H��H�L$0�P�H�t$@L�t$H@�t$0H�T$hH��r
H��H�L$P�)�H�t$`L�t$h@�t$PH�U�H��r
H��H�L$p���yS
H��H�E�H��t"L�E�H��H���f���H���H�H���H��H�M��o����H����|���H������H��XH��t%H��hH+�H�����H��XW�f�`H�M�v��H��H��0H3��9T
L��$@I�[(I�s0I��A^_]��H�\$H�l$H�t$WATAUAVAWH��0H��H���RE���M����������tz��tf�S��[�f;�uE��uf�C��f��s
�G
�
+���H�������H�H#�H���L$(H�G�H��HE�H�T$ H�D$ �G��/I�ϋ�D��H����EH�L��H�������H#���t"I��I+�H�7E��M��H������H��I��u��kf�CH���H!CL	s�+��7I�ϋ�D��H���rEH�H��H�������H#���t9L�uH+�H�W�E��I�I�N�M�����J�7E��M��I���{���I�� I��uθ�sf�CH���H!CH	k�3H�l$hH��H�\$`H�t$pH��0A_A^A]A\_��H��HH��<H3�H�D$0�W�D$ f�D$.I���H�D$(I#�H�H�D$(H��H���<u�H�T$ �D$ �H�L$0H3���Q
H��H�@SH��0H���<H3�H�D$(H�d$ L��H�T$ H���I�H�������H�KH#�H��H�H�L$ H;�tH�A�W�H���?��?H�L$(H3��qQ
H��0[����H�\$H�t$H�|$AVH�� H�1L��ڿH�NH�A��wH;F �0��H���UH�N����w)H;F vH��H���3H�NH�AH�F���������w&H;F vH��H���H�NH�AH�F�����[H;F vH��H����H�NH�AH�F����I�6A~H�NH�AH;F vH��H���H�NH�AH�F���$?��I�6A~H�NH�AH;F vH��H���pH�NH�AH�F���$?��I�6A~H�NH�AH;F vH��H���9H�N��?�ˀH�AH�FH�t$8�A~H�|$@H�\$0H�� A^������������H�\$H�t$H�|$AVH�� L�A3�H��H��M��u!D��H99u�O�:N
L�CH�H�CH�K(�H�I I+�H�AH��H�L�sM+�I�H;�HC�I��H��u�z�H����;H��H�>H�{H�t$8J�7H�|$@H�KH�C H�\$0H�� A^����H�\$H�l$H�t$WH�� H��3�H�IH��H��u ��H9;u�O�M
H�KH�H�CH�S(�H�S H+�H�BH��H�H�kH��H+�H�H;�HC�H+�H��u���H���;H��H�/H�{H�l$8H�>H�t$@H�KH�C H�\$0H�� _���H�\$H�l$H�t$WH��0H�-�<H3�H�D$ H�yH��������H#�H��I��H�:H�H���H��H���,��uH�� H�>H;�u�H��H�L$ H3��M
H�\$@H�l$HH�t$PH��0_�H��H�XH�hH�p WAVAWH�� I��I��H��H��E3�D�y0L�y8H�HI���+D9{0�RH�D89uH+O�C0H�K8�6�<"��<[��<f��<n��<t��<{tL��H��H����
��H�AH�H�N8H�AH;F@v�H�N ����H�N8H�AH�F8W�A�fD�qH����*D9{0��H��8}u&H��H�H�F8fD�p�H���H!H�L�x��JE��H��8"��A�L��H��H���"D9{0�KH���p*D9{0�9H��8:��H��H�H���L*D9{0�L��H��H���L)D9{0��H���"*D9{0��A��H��8,uH��H�H���)D9{0���Q����8}tH+G�C0H�C8�H��H�A��H��H��HF8H�V8H�J�L�NE���?�RH+G�C0�H+GA�D�s0�L��H��H���'�"L��H��H����L��H��H����H�AH�H�N8H�AH;F@v�H�N �5���H�N8H�AH�F8W�A�fD�qH���)D9{0��H��8]�.���E��L��H��H���'D9{0��A��H����(D9{0��H��8,uH��H�H���(D9{0u}뵀8]u*H��H�A��H��H��HF8H�V8H�J�L�NE����=�!H+G�C0���E3�L��H��H����D9{0u%H���J(D9{0uH�D88tH+G�C0H�C8C0�EH�CH�CH��H�\$HH�l$PH�t$XH�� A_A^_�H��H�XH�hH�p WH�� I��I��H��H�كa0H�a8H�HI���(�{0ulH���K3��ȃ��Eф�u
H�F�C0�DL��H��H����&�{0u4H����'�{0u&H��K3��ȃ��Eф�tH�F�C0H�C8C0�H�CH�CH��H�\$8H�l$@H�t$HH�� _��H�\$H�l$H�t$WH�� H�H��I�H8I��H��H�AI;@@v�I�H ���H�N8H�AW�H�F8�f�iH����&�0��H��8]u)H��H���H�H�F8�`�f�h�H!H��`��L��H��H��3��%9o0u}H����w&�0umH��8,u(H��H��H��[&�0uQL��H��H���_%�0뾀8]u)H��D��H���H��H��HF8H�V8L�NH�J��q;�H+CH�G8�G0H�\$0H�l$8H�t$@H�� _����H��H�XH�hH�pH�x AVH�� H��I��H�
H���@���tH�CH�M8H�AH;E@v�H�M ���H�M8H�AW�H�E8A�fD�qH���%3�9~0�
H��I����ȋ�Eр�]u1H��?���tH�CH�E8H���fD�p�H!H�H�x��D��L��H��H���s$9~0��H��A���?%9~0��H��IH����D����DE�A��,u�#?���tH�CH���%9~0uZ���H�����E�@��]u5H���>���tH�CA��E��H��H��HE8H�U8L�MH�J���9�H�CH�F8�F0H�\$0H�l$8H�t$@H�|$HH�� A^�@SH�� H�H��H��8aucH��H��8luXH��H��8suMH��H��8euBH��I�X H�H�KH�AH;C v�H����H�KH�AW�H�C�	f�A�H+BH�A8�A0H�� [�H�\$H�l$H�t$WH�� H��I��H�
H����=���tH�CH��G3��ȃ����Eр�a��H��=���tH�CH��wG����ȋ�Eр�l��H��=���tH�CH��JG����ȋ�Eр�surH��b=���tH�CH��!G�����E�@��euJH��:=���tH�CH�M8H�AH;E@v�H�M ����H�M8H�AW�H�E8�	f�A�H�CH�F8�F0H�\$0H�l$8H�t$@H�� _�H��H�XH�hH�pH�x AVH�� 3�M��3�H��H��H��vFD��3���A���E����؍B�<	w�����B�<w������a��w�éH��d<���tH�G�ƃ�|����
�E03�L�u8H�\$0H�l$8H�t$@H�|$HH�� A^�@SH�� H�H��H��8uuOH��H��8luDH��H��8lu9H��I�X H�H�KH�AH;C v�H����H�KH�AW�H�C�H+BH�A8�A0H�� [�H�\$H�l$H�t$WH�� H��I��H�
H���;���tH�CH��JE3��ȃ����Eр�u��H��\;���tH�CH��E����ȋ�Eр�luiH��3;���tH�CH���D�����E�@��luAH��;���tH�CH�M8H�AH;E@v�H�M ��H�M8H�AW�H�E8�H�CH�F8�F0H�\$0H�l$8H�t$@H�� _���H�\$UVWATAUAVAWH��H��p)t$`H�5�<H3�H�E�L�E�H�U�H��E�H�U�fH~�L��fs�fI~�M+�W�Wɀ:-uH��H�U�A��E2�E3�2ɈM�E3��A�9E�p0A:�u3�H��H�U�H���s<1�-A:��$H��H�Uȋ�A+�H��E����D82|E�
A����A:�w5A;�r����8��H�PH�Uȍ<����<xA�Ê
H��A:�}�A��@2�L�Є��)E����D80��I��������<9�M;�r��<8��I�RH�U�A�
A+�K��L�AA�ÊL��A:����D82|��
A����A:��v���A;�ru,��5w'H�PH�Uȍ<����<xA�Ê
H��A:��E�����D�DZ�M��9���D80|k�I��������<9[M;�ru*<5&I�RH�U�A�
A+�K��L�AA�ÊL��A:�|,��W�M��x�I*��I��I�ȃ�H��H��H*��X�@�M���4�@��t8E82|3�M��<9*M�JL�M�A�A+�fn����Y��X�A�M��A:�}�E3�A�9.�I�QH�UȊ<0�.<9�&L��@����H�ʋ�D8u�IE�L��D�L��A��9EH�������L;�w6H�QH�U��	��0K��L�AA��D�H��L��A�CM��AD�D��A��0}�W�M��x�I*��I��H��I����H��H*��X�@�A�<0|OI��L�Ȁ:9DL�HI��H�U�A��}+���0fn����Y��X�(�A��A�Cf/�AF�D��I���:0}�E3�A�9et
A�9E�	I�IH�M�@��u<��D8U�IE�W�H��x�H*�� A���H��H���H��H*��X�@�2Ҋ<+t<-u�H���H�M�<0�[<9�SL�IL�M�D��A�0E+ׄ���A������gfff��D��A��A���D�E89|VI��A�99ML�HL�M�G���E�R�F�PI��E;�~)A�	A:�|!I��H�€�9wL�JI��I��A�	A:�}�L�M�E89}�A��@���8C�2����;����^
����4;���Hc�H�Š	H�
�H+�(��^1f/5�����C0
L�k8���4A+�E89|�I��A�99�L�HL�M�G���E�R�F�PD;�I��E89�X������C0
H�K8�sI+��C0H�K8�cHc�H�����_���H�
4��4�Y��[���E��tW5��H�]�H�K8H�AH;C@v�H�K ��H�K8H�AH�C8W��1�f�A���}�t3H�M�E��tI��I�P�W.�I���1�����C0���H�]�H�K8H�AE��tE���H;C@v�H�K ��H�K8H�AH�C8W�Hc�H�������fI��h���H;C@v�H�K ���H�K8H�AH�C8W���H���f��f�� ��f�f�y�A�H�C0H��I+�H��D�L��L�)E�H�E��H�M�H3��;
H��$�(t$`H��pA_A^A]A\_^]���H��H�XL�@UVWATAUAVAWH��P)p�L��H�
H��)x�W�H�BW�H�D$ �=E3�D��A��A;�EE�A��-uH��-3A;�tH�C@��@2�H�E2�D��$�3�@��$�3���<H�E3�A;���DE�A��0uE3���2A;�tH�CE2���<3���A;�Eр�1��	H��}<3���A;�Eр�9��	H��2A;�tH�C�2�H�D��A��0�D<3���@����A;�Eр�0�
H��<3���A;�Eр�9������D;�r"��H���;3���A;�Eр�8��H��2A;�tH�C�2�A�N���A����D�4HH��;3����q���A;�Eр�0|H��;3���A;�Eр�9g����D;�ruMH��p;3���A;�Eр�55H��1A;�tH�C�2�A�N���A����D�4HH��2;3����A�A��D��$�E2�E���H��	;3���A��@����A;�Eр�0��H��������H���:3���A;�Eр�9��H;�ruWH��:3���A;�Eр�8?H���0A;�tH�C�2���ƃ�0H��H�<AH��v:3���A;�Eр�0|,�W�H��x�H*��H��H��H���H��H*��X�A�E���'�
A;�Eр�0�H��������H��:3���A;�Eр�9��H;�ru[H���93���A;�Eр�5CH��0A;�tH�C�2���ƃ�0H��H�<AH��93���A;�Eр�0���W�H��x�H*��H��H��H���H��H*��X�A��GH��a93���A;�Eр�9GH��y/A;�tH�C�2��Y58�����0fn����X�H��93���A;�Eр�0}�H�E3��83��ȃ��Eр�.��H��/���tH�CH���83��ȃ��Eр�0�kH��83��ȃ��Eр�9�O@��$�E��� H�@��A��HE�H���|8�`H��r83��ȃ��Eр�9XH�������H;�wIH��{.���tH�C�2���A�̓�0H��H�<AH��%8�NH��D΋�3��ȃ��Eр�0}�W�H��x�H*��H��H��H���H��H*��X�A��mH���73��ȃ��Eр�9��H���-��};���tH�C�2��Y5��A������0fn��F���X�f/�(�FƋ��	���tH�CH��i73��ȃ��Eр�0�w����H�CA�G0�u@��$�H�3��07H�E3������DE�A��et�73��ȃ��Eр�E��H��)-���tH�CE��u1@��A��W�HE�H��x�H*��H����H��H��H*��X�A�H�@2��6H�E3������DE�A��+u��,���t/H�C�)�63��ȃ��Eр�-uH��,���tH�C@�H��X63��ȃ��Eр�0�EH��<63��ȃ��Eр�9�)H��P,���tH�C�2�H����0@����A������gfff���������5E3��ȃ��DE�A��0��H���53��ȃ��Eр�9��H���+���tH�C�2��4����v�4p;�~C�)H��53��ȃ��Eр�9)H��+���tH�CH��W53��ȃ��Eр�0}�H��?53��ȃ��Eр�0�`�����3�E���SB�.����;���^5���4;�|*Hc�H�Š	H�
=�(�H+��^9f/=����@8�$�tW=��H��$�H�K8H�AH;C@v�H�K ��H�K8H�AW�H�C8��9f�A��4A+��k43��ȃ��Eр�0�.���H��O43��ȃ��Eр�9����H��c*���tH�C�2��4����v�4p;�H��A�G0
H�D$ �2H�CA�G0�!Hc�H�������H�
,�(��Y<���@8�$�t=H��$�@8�$�tH��H�W�#�H����&����A�G0�{���H��$�H�K8H�A@8�$�tHA��A��H;C@v�H�K �4�H�K8H�AW�H�C8E��Icƺ�H���fI����H;C@v�H�K ���H�K8H�AW�H�C8A��A��fA��H�fA�� ��fD�fD�q�H�CA�G0I�G8H��$�(t$@(|$0H��PA_A^A]A\_^]����H�\$H�l$H�t$WH�� H�H��I�H8I��H��H�AI;@@v�I�H �L�H�M8H�AW�H�E8�f�qH���%�0�0H��8}u)H��H���H�H�E8�`�f�p�H!H��`��3�H��8"��A�L��H��H���K�0��H���
�0��H��8:��H��H��H��
�0��L��H��H����0��H���k
�0uzH��ƀ8,uH��H��H��M
�0u\�Z����8}t
H+C�G0�AH��D��H���H��H��HE8H�U8L�MH�J���"�H+C�G0�H+C�G0H�G8H�\$0H�l$8H�t$@H�� _���H�\$H�l$H�t$WH�� H��I��H�
H���&���tH�CH�N8H�AH;F@v�H�N ���H�N8H�AW�H�F8�f�iH����0��H��u03��ȃ��Eр�}u4H��&���tH�CH�F8H����`�f�h�H!H��`��T3�H��'03��ȃ��Eр�"�'A�L��H��H���j�0�H����0�	H���/3��ȃ��Eр�:��H���%���tH�CH�����0��L��H��H����
�0��H����0��H����s/3��ȃ��Eр�,u$H��%���tH�CH���j�0ug������}t
H�C�G0�LH��U%���tH�C��D��H��H��HF8H�V8L�NH�J�� �H�C�G0�H�C�G0H�G8H�\$0H�l$8H�t$@H�� _�������������H�\$H�t$ UWAVH�l$�H��H�w�<H3�H�E7H��H��3�D�BHH�M��CH�G H�E�E3�L�u�W�fE�fo
��fMD�uL�u�E'H�}�L��L��H�U�H�M��Q���GPD9wPu%H�_8H���H�_8H;�tH����fD�sH�W0H�W8H�O �� �H�M����H�M��*
H��H�M7H3���+
L��$�I�[0I�s8I��A^_]�������H�\$H�t$ UWAVH�l$�H��H�g�<H3�H�E7H��H��3�D�BHH�M��3H�G H�E�E3�L�u�W�fE�fo
t�fMD�uL�u�E'H�}�L��L��H�U�H�M����GPD9wPu%H�_8H���H�_8H;�tH�����fD�sH�W0H�W8H�O ��H�M����H�M��)
H��H�M7H3��*
L��$�I�[0I�s8I��A^_]���H�\$H�t$ UWAUAVAWH��H��`H�\�<H3�H�E�D�M�M��H�U�H��E�H�U�fH~�H��H�]�H��H�M�E3�D�}�D�3A��\�YL��L+M�H��H�]��H�
%�D�4E��tH���?�;u�yH��H�]�3�E3����эA�<	w�����A�<w������a��w�©H��H�]�A��A��|ŋG0��G0L�O83ҍB���qD��(��A������;\��H��H�]�;u��H��H�]�3�E3����ʍB�<	w�����B�<w������a��w���H��H�]�A��A��|ŋG0��G0L�O83ɍA������$�����wiA���
с�H�M����D�}�H�u����A��"ttA�� rOH��H�]�H�NH�AH;F v�H������H�NH�AH�FD�1A���Q����G0	L�O8�\�G0
��H+]�H�_8E��u	�G0�=�G0�4H��H�]�H�NH�AH;F v�H���x��H�NH�AH�F�A�ǃ0uaE�w�A��H)FH�~I�M8H�AI;E@v�I�M ����I�M8H�AI�E8H���H��M�EW�HE�H�E�D�u�H�U�� �E�H�E��H�M�H3��'
L�\$`I�[8I�sHI��A_A^A]_]���H��H�XH�pH�xD�H UATAUAVAWH��H��0H��M��H�
H������tH�CH��H�u�E3�D�u�H��E)3��ȃ��Eр�\�CH�L�{�U���tH�CH��)3��ȃ��H�	�E�D��A�<t!H�����tH�CH��E�<���u�HH�����tH�CM��H��H���
��~0����(�������H��(3��ȃ��Eр�\��H�����tH�CH��](3��ȃ��Eр�u��H��q���tH�CM��H��H�����~0�k��$�����w}���
���H�M����D�u�H�}������"���� rdH��D�����tH�C�E2�H�OH�AH;G v�H������H�OH�AA��H�GD�9�D����F0	L�~8���F0
��H�CH�F8��u�F0��F0�H�����tH�CH�OH�AH;G v�H���`��H�OH�AA��H�G��~0u_A��A�v�H)GI�M8H�H�AI;E@v�I�M ����I�M8H�A�u�I�E8H�U�M�EH���H��W�HE�H�E��	H�\$`H�t$hH�|$pH��0A_A^A]A\]�@SH�� H�H��H��8ruXH��H��8uuMH��H��8euBH��I�X H�H�KH�AH;C v�H���-��H�KH�AW�H�C�
f�A�H+BH�A8�A0H�� [����H�\$H�l$H�t$WH�� H��I��H�
H������tH�CH���%3��ȃ����Eр�r��H������tH�CH��%����ȋ�Eр�uurH������tH�CH��%�����E�@��euJH�����tH�CH�M8H�AH;E@v�H�M �.��H�M8H�AW�H�E8�
f�A�H�CH�F8�F0H�\$0H�l$8H�t$@H�� _��H��8"t6�8[t,�8ft"�8nt�8tt�8{�g��:��A��������g���z��E3��"�����H�\$H�t$WH�� H��I��H�
H���$E3�D�ȃ��L��H��H��EE�A��"tHA��[t;A��ft.A��nt!A��ttA��{t���+�e��$�>����������h����1���E3����H�\$0H�t$8H�� _����H��($H�$�: w!H�I�&I��s
H��H�$$���H��(���@SH�� H��H���#3��Ѓ��Eʀ� w#H�&H��sH������t�H�C��H�� [���@SH�� D�Y�A�
fD#�t�A
E��D+��D�	D�RfD#�t	�B
D+��D�E;�t2��:H�������fE��uH�IH#�fE��uH�RH#�H;�u��
E��������H�� [��H��E3�D�$�H�BfD�BH�AH�BH�AH�B H�A H�B(H�A(H�B0H�A0H�B8H�A8H�B@H�A@H�BHH�AHL�B L�B(L�B0L�B8L�B@L�BHBPL�D$�APL�B$L�B�BPH����H��tnH�\$H�t$ WH�� H��������H��H��H;�wKH��H��r�������
H��H�H�H��L��H�F3���H�;H�\$@H�FH�t$HH�� _������@SH�� H��H�IH��t
��@H�K0��H�K(�H�� [�
@SH��pH���<H3�H�D$`H�	L�L$XH�d$ H�ںA������uH��t!�D$XH�L$`H3��r
H��p[�L�U���H�L$0���H��n<H�L$0�����@SH��pH��<H3�H�D$`H�	L�L$XH�d$ H�ںA��n���uH��t!H�D$XH�L$`H3���
H��p[�L�ԭ��H�L$0���H�Yn<H�L$0�'����@SH��pH���<H3�H�D$`H�	L�L$XH�d$ H�ںA������uH��t!�D$XH�L$`H3��r
H��p[�L�U���H�L$0���H��m<H�L$0�����@SH��pH��<H3�H�D$`H�	L�L$XH�d$ H�ںA��n���uH��t!H�D$XH�L$`H3���
H��p[�L�Ԭ��H�L$0���H�Ym<H�L$0�'����@SH��pH���<H3�H�D$`H�	L�L$XH�d$ H�ںA������uH��t!H�D$XH�L$`H3��q
H��p[�L�T���H�L$0���H��l<H�L$0����@SH��pH��<H3�H�D$`H�	L�L$XH�d$ H�ںA��n���uH��t!H�D$XH�L$`H3���
H��p[�L�ԫ��H�L$0���H�Yl<H�L$0�'����@SH��pH���<H3�H�D$`H�	L�L$XH�d$ H�ںA������uH��t!�D$XH�L$`H3��r
H��p[�L�U���H�L$0���H��k<H�L$0�����@SH��pH��<H3�H�D$`H�	L�L$XH�d$ H�ںA��n���uH��t!H�D$XH�L$`H3���
H��p[�L�Ԫ��H�L$0���H�Yk<H�L$0�'����@SH��pH���<H3�H�D$`H�	L�L$XH�d$ H�ں#A������uH��t!H�D$XH�L$`H3��q
H��p[�L�T���H�L$0���H��j<H�L$0����L��I�[I�SWH��pI��H�ڃd$ H�bH�B��D$ H�j�I�C�I�K�E3�L�º-I�K��Z��uH��t!H��H��$�H��p_�L�����H�L$@�{���H�@j<H�L$@����L��I�[I�SWH��pI��H�ڃd$ H�bH�B��D$ H���I�C�I�K�E3�L�º0I�K�����uH��t!H��H��$�H��p_�L�#���H�L$@���H��i<H�L$@�v���@SH��pH�ߨ<H3�H�D$`H�	L�L$XH�d$ H�ں3A��>���uH��t!H�D$XH�L$`H3��
H��p[�L�����H�L$0�d���H�)i<H�L$0����H�\$ UVWAVAWH��H��`H�R�<H3�H�E�I�؋�L�qL�9H�E�H�D$ E3�E3�I�I��������H�U�H����3�H�E�W��M�H!E�L�E�H�M�����H�d$ H�}�L��L�E؋�I�I��H���tH��tH�U�H+�H�������H��tHH�u�H��H+�H;sw&L��H�{rL�3H�sL��H��I���VA�6�L��E3�H��H�����H��t+H�U�H+�H������H��tH��H�{rH�H�c�3�H�M�H3��O
H��$�H��`A_A^_^]������������H�\$H�t$WH�� H��H��p�
H�D$0H��H��t)W�H�K�H�։C�CH���H������3�H�t$@H�CW�H�H��H�_H�\$8H�� _������H�\$H�L$WH�� H��W�3�f�yH�QH�yL�I H�y(H�y0H�y8H�y@L�AH�yPH�yXH9yu@�O(�
H�D$0H��t#W�@H�8H�@H�xH�xH�x �H��H�CH�CH��H�\$8H�� _��������L��I�[I�k I�KVWAVH��`A��A��L��H��A�c��$�t H�'�H�H��PH���A�CH�HcHH��PH�9H�HcH�Q�T9�H�gH�_H�HcHH�E3�H����H�HcHH���H�9H�HcH��P����T9�H�\$ H���׀�H��H�E3�3�H�������D��D��I��H�����H��u)H�HcPH�H�BHH��Ƀ��J���J�B#�uH��L�\$`I�[(I�k8I��A^_^èt	H��O��H��OH��OHDغH�L$ ��L��H��H�L$0腙�H��b<H�L$0�������H�\$H�t$ WATAUAVAWH���H�?�<H3�H��$�L��H��H�L$0H�q@3�H�^D�cL�f�L�q`I�^M�fA�H���H����#������H��$��L��H;�t:H�VH��rH��H����H�^L�f�AAONI�_M�gA�H��$�H��rH��H��$�����M���E3�H�T$XI���I���H��L;�t:I�VH��rH��I����I�^M�fA�ANANH�^L�f�H�T$pH��r
H��H�L$X�S��L�|$8M��3�I���]���M�ŋ�H�L$H��
H��H�H�JH�H�ZH���H���H���H��t9����F��u,H�H��H�������F��uH�H��H�@���H�t$PH��t:����F��u-H�H��H��������F��uH�H��H�@�����3�L�|$8H�|$0M��3�I����3�I���y�G3�I�����H�G�H;�vH�O3�I���P���H�G3�I������H�G3�I����H�G 3�I���&����G;3�I������H�G(3�I�����H�G0E3�H��$�I�������H��$�A�H;�$�s.H�AH��$�H��$�H��$�HC�$�f� �A� D��I��H��$��s���H��$�L��$�H��$�H��IC�H�D$ L�
�E3�H��$��h�H������G8t3�I����H��$�L��$�A��uD��D�g9H��$�H��IC�H�D$ L�
��E3�H��$��!h�H����ˆW:f�g<H��r
H�VI�����H��H��$�H3��
L��$�I�[@I�sHI��A_A^A]A\_�H��<H�L$x���H��]<H�L$x�������@SH�� H��H�I�N�H�K�H�� [�
�����������H��H�ݟ<H3�H�$H�$H3���
H����H�A��@SH�� H��P���H��HcPH�
�H��
P���H��P���HcPD��P���D��
L���H��`����s��H��P���HcHH��JH��P���H��P���HcH�Q艔L���H�� [���@SH�� H��H�	H��tH�SH+��c��H�#H�cH�cH�� [����H�	H�A0H�A8H�� ��H�H�BH�B�H��(H�H�HcHH�LHH��tH�H�@�7��H��(��@SH�� H���H������H�kIH�H����H�� [��HcA�H+������H�\$H�t$WH�� H�ً�H�	H��t-H��H;KtH�y��H�;H��H��u�H��tH;{uH�gH�K ��)
@��t
�(H���
H�t$8H��H�\$0H�� _����@SH�� H��H��H���t
�p��

H��H�� [��H�\$H�t$WH�� ��H��H��P������H�tHH�H����@��t
�H���

H��H�\$0H�t$8H�� _�����������@SH��@H�[�<H3�H�D$0�H��H���W�D$ f�D$.H�D$(H#�I�H�D$(H��H��A�<u��T$ L�D$ H��轿��H��H�L$0H3��
H��@[����H�\$WH�� H�y H��H�OH�AH;G v�H���Ⱦ��H�OH�AW�H�G��f�AH�H��x4H�������f�AH��u	��f�AH���uf�� f�A�H���|	��f�QH�\$0�H�� _���H�\$H�t$WH�� H��H��t}H�rH�H��H��tH�JH�H;
vLH�{H;�HF�H�{u��
H�CH�C H�OH��t4�{�H��H��t'H�H�`H�HH�8H�H�JH�1H�BH�BH��3�H�\$0H�t$8H�� _���H�\$H�l$H�t$WH�� A��f�AH��H��E��t3��I��H��H������H���L��H!OH��H	GH�����H���H!OH�\$0H�l$8�w�7H�t$@H�� _���H�\$H�l$H�t$WH�� A��f�AH��H��E��t3��I��H��H�����H���L��H!OH��H	GH����H���H!OH�\$0H�l$8�w�7H�t$@H�� _�����������H�\$H�t$WH�� �
H��H��9Bw�H��f�O*B�G
�0�f�A�B�I�ȋR����H��H���H!GH	wD�CH��H����KH�\$0�1H�t$8H�� _����H�\$H�t$WH�� H�qH��H�IH;�u� �3ۋ��3�H+�u	�����H���Z�H�0H�GH�_H�_ H�\$0H�t$8H�� _���H�\$WH�� H�Y H��H�KH�AH;C v�H���t���H�KH�AW�H�C�f�AH�9H��x	��f�AH�����H��uf��@f�AH���uf�� f�AH�\$0�H�� _����H���+����H�L$SVWH��@��H��H�Lc@E�LE��t1I�DHH���у�AɃ���A�LA�D#��Z2��HI�LPH��t�"��@2�@��$�@���H�Hc@�D�H�D@H�HH�L$(H�H�@����H�L$ �p�H��H�L$(H��t*H�H�B���L��H��tH�H��I�����H�HcHH�LHH�A8H�H��tH�AP�8~��
H�H�@0�X����u
@�@��$��
��H�F�HHu�#H�HcHH�LH�F��H��$�@��$�@��t+H�HcPH�H�BHH���у�J�����J�B#�ulH�HcH�|��H�Ā_^[èt	H�B��H�,BH�=BHDغH�L$ �6	�L��H��H�L$0�"��H�cU<H�L$0��̨t	H��A��H��AH��AHDغH�L$ ���L��H��H�L$X�Ћ�H�U<H�L$X�7����H�L$SVAVH��pH�ك�$�E3�D��$�L!qH�L$ H�HcPH�L
HH��tH�H�@�����H���[����D$(��u���H�HcHH�LHH�A8H�H��tH�AP�8~�2�H�H�@0�����$����uD�vD��$��;H�HcHH�LHH�A8H�8tH�AP�8~�H�A8H��
H�H�@8�9�H�C�H��$���$�D��$�H�Lc@L�A�HA�I�@HH���҃�у�A�PA�@#�u*H�HcQH�LHH��tH�H�B������H��pA^^[èt	H�@��H�$@H�5@HDغH�L$0�.�L��H��H�L$@���H�[S<H�L$@���@USVWAUAVAWH��$0���H���H�ה<H3�H���D��H��H���E3�L���L���I���H�������H���H���HC��H���L��A�
H;�LG�H� ��;�E�o���H;��L���L���H�A����O��x�A�H���H����V�L���L���D���H���H��H��D8<u�H���I;�w H���L��H�����D����L���E��H������H���H���HC��H���H��tJ3�A�H����_�ƅH�G�I��I;�LB�L��L;�tI��A�D8��t�L+��I��L�|$@L�l$HD�|$0E3�H���H�L$0��L���H�T$0H�L$P�{��H��H���H;�tQH���H��rH��H���� ��L���L���D�����K��L�{L�kD�;H�T$hH��r
H��H�L$P����L�|$`L�l$hD�|$PH�T$HH��rH��H�L$0���H���H��rH��H������`D��3�H�����E3ɻD��3�H������D��3�H��P���E3�D��3�H��P�j��A��H�����[�3�A�H�L$p��H���H���HC���D$ D�O�D�G�H�L$p��H�D$pHcHH���H�DpH�D$pHcH��P����TlH�D$pHcHD9|
��aH�D$pH���3�H������H���H��������@L���H���LC�����H��H���I�������I#�H�H���H����{�H9uR��uN�WH9��r,H���H���HC��H����24f�D�x�L�
'�E��H�������L���H���LC�����H��H���I#�H�H���H������H9tE��uAH���H���HC��H��`H�����E3�L��H��H��P�����(H���H���H���H���H��P�A��H��PH������H�M ��H��:H�E H�M ����H���H��rH��H�������L���L���D���H��hH��t
����H���蟳�H��x�N��H��H��t
���H�� �k��H�����H���H��rH��H����=��H��H���H3��
H���A_A^A]_^[]��H��H�XH�pH�xL�` UAVAWH��X���H��H���<H3�H���3��|$0E3�D�OE3�3�H�
��4���H��H���u3��[W�D$XD$h�D$X E3�3�L�D$XH��J����H�d$ A�L�E�H�T$XH��<�����H�-�H�M��L��H��tFH�d$HH�D$P�D$8H�PH�L$8貾����|$03�D�BH�L$8��=��u@��@2�@��t��H�T$PH��r
H��H�L$8���@��tH���I����H��uA��A������H�d$HH�D$P�D$8H�PH�L$8�$��3�D�BH�L$8�kD��H�T$PH��r
H��H�L$8�h��H��t	H��"�A��H���H3��(�L��$�I�[ I�s(I�{0M�c8I��A_A^]����H�L$SVWAVH��xH��3���$�H!y!�$�H�L$ H�HcPH�L
HH��tH�H�@���A�A��H����D$(��u���hH�HcHH�LHH�A8H�H��tH�AP�8~�2�H�H�@0�����$����AD���$��A�H��$���$���$�H�HcPH�zH�BHH���у�σ��J�B#�u+H�HcQH�LHH��tH�H�B�=����H��xA^_^[èt	H��6��H��6H��6HD�A��H�L$0��L��H��H�L$@芀�H��I<H�L$@����H�\$WH�� H�A8��H��H�8t9H�AP�8~�8H�A8H�H��H��9�R�8~8H�I8H�H�BH���
H�H�@8���;�t'H�C8H�H��t	H�CP�8�H�H��H�@0�W���H�\$0��H�� _�H�\$ UVWH��0H���<H3�H�D$(A��H��H����H�{H��rH�� H�T$ D��H���W�H�L$ H;�t*�>"t2H��tH+�H�H�L$(H3��H�\$hH��0_^]�H�
�����H�
�����@SH��pH�+�<H3�H�D$`H��H�L$@��u'H�A�D�BL�AH�.�����C�9�D$H�>��D$X���tH�ɋƒ�L���B��DH��H��u�H�D$8H�D$0�0xf�D$ �D$"L�D$HL�H�T$ H�����H�T$8H��r
H��H�L$ 諽�H��H�L$`H3��{�H��p[������H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@���H���Nz�H;�u`H9~u7H�L��M��H��H��H�@ �^�H�\$`H��H�l$hH�t$pH�|$xH��PA^�H�iTH�L$0���H��E<H�L$0�.��H��SH�L$0����H�mE<H�L$0�������������H�\$H�t$WH��@H��H��H�JH�H�@���H���y�H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%��H�5SH�L$ �g��H��D<H�L$ ���H�JSH�L$ �D��H��D<H�L$ �_����������������H��H�XH�PUVWATAUAVAWH��PI��L��3��x�H�:H�zH�zH�zH�z H�z(H�r0H�>L�z8I�?H�z@H�zHH�zPH�jXH�}L�b`I�<$L�jhI�}H�zpH�zxH���H���H���H���H���H������H����@�3�I�����H�D$(H��t�@D��$�L�D$0H�T$(I����L�
҆�D�B�H�L$(�H�{XH��t�GH�D$0H;���H�H��t����A��uH��H����H�>��H�K(H�C0H+�H��H���sH�AH�xXH��t�GH�D$8L;�tSI�H��t����A�uH��H����I�?�NH��t�������G�u�H��VH��H��v��y���H��t����G�uH��H��H��M�H�CpH��xt/H�K(H�C0H+�H��H����H�I H�IXH��H��t
�A�3�3�H�D$@H;�t+H�MH��t����A�uH��H����H�}�!H��t����A�uH��H����H�Kh���t/H�K(H�C0H+�H��H���$H�I0H�IXH��H��t
�A�3�3�H�D$HL;�t+I�$H��t����A�uH��H��G�I�<$�!H��t����A�uH��H�� �H�Kh����t/H�K(H�C0H+�H��H����H�I@H�IXH��H��t
�A�3�3�H��$�L;�t+I�MH��t����A�uH��H����I�]�!H��t����A�uH��H����I��H��$�H��PA_A^A]A\_^]�����������H�\$WH�� H�/���H�H�������t
�0H����H�\$0H��H�� _���H�\$WH�� H��H��������t�K���t�K H��H�\$0H�� _����H�\$WH�� ��H���0��t
��H���J�H�\$0H��H�� _�������������H�)�H�H�AH�BH�������������H�I�<�@SH�� H����.�z	u��
�B��BH�YH��t9����C��u,H�H��H��#�����C��uH�H��H�@��H�� [�@SH��@L��H��H�L$(3��D$ H�AH�AH�AH�A H�A(H�A0�A8H�Q@H�T$0�H�B H�B�BH�B(H�B0�AxH��H��D$ H��I������H��H��@[����@USVWATAVAWH��$���H��H�߁<H3�H���E��L��H��H�M��d$ �.A�D�d$ H��I���T���I���I���H+�H��H����E��H�U�H�	���H��pI�����H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H�U�H�M�趠��H��H���H��H������G@�C@�GD�CDH�M�H��tH�U�H+�H������H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H��pH�M�����H��H��H��H������G@�C@�GD�CDH�M�H��tH�U�H+�H����Q��I�I��H�@�q�H��H�N�����A�$����A�(���A�� �_������H��H���H3����H��A_A^A\_^[]��(������@USVWATAUAVAWH��$����H��XH�i<H3�H��@A��D�L$0L��L��H�M��d$4�C����D$4I���I���H+�H��H����A�H���H�I�����uTH���H�M�謣��H��I��$PH��H������G@�C@�GD�CDH�M�H����H�U�H+�H������H�������D��H���D�0H���8�XH������H��\$ D��E��A��H�L$8���L��H�t$ D���H���H��@���H��H�M����H��I��$PH��H�������G@�C@�GD�CDH�M�H��tH�U�H+�H����D��t$0I��萚���I���I���H+�H���H;���A�H��@H�I�.��W�����H�E�H�D$8H�D$@H�E�H�D$HH�D$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pH�E�H�D$xH�]�E�E�L�L$8D��H��@H�M���H�U�H���\��I��$�H�{H;{tH��H���>���H���H�H�CH�L��H��H���G��H�M�H��tH�U�H+�H������H�e�W��E��LH��`D�8H��pD�0H���������yH�E�H�D$8H�D$@H�E�H�D$HA�L�l$PH�E�H�D$XL�l$`H�E�H�D$hH�D$pH�E�H�D$xH�]�E�E�H����7��H�؉|$ D��E��A��H�MH���L��H�\$ D��HH��@H���褿�H��L�L$8E��H�M蠛���H�U�H�����I��$�H�{H;{tH��H�����H�~�H�H�CH�L��H��H�����H�M�H��tH�U�H+�H����į�H�e�W��E�H�MH��tH�UH+�H���螯�I��H��@H3��l�H��XA_A^A]A\_^[]����������H�\$ UVWATAUAVAWH��$ ���H���H��z<H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`���H�WXL�D$`I����H�Y}I�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� �W���A��H��t9A����CA�u,H�H��H����A����CA�uH�H��H�@���I��H�������I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H�����L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H���<�I�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH������H�CH;CtH��H���!��H�C@�L��H��H������H���'��I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	���H�0H�޸?���H#�H�M�$��H��3�H�D$0H��D$ �D��D��H�M����L��H�|$ A�H��H��P芻�I�EH�XH��PH����Ϻ�L��H�T$HH�������H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I���*�H�D$0H��t$����H��uH�L$0H��H�����H�L$HH��t#����A��uH��tH��H����H�t$HI��L;|$8�����I��H���H3���H��$8H���A_A^A]A\_^]�����[�����H�\$ WH��`H��v<H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(���H��xH�H�SH��rH��H�蒪�H�cH�C�H��H�L$PH3��R�H��$�H��`_�H�\$H�|$UH��$����H��PH��3��|$0��H�T$8�|$@L��yL�\$HL� L�T$PH�D$HH�E��}�D�J�L�M��}�L�]�L�U�H�E�H�E؍O�M�H�U�}�L�]�L�UH�E�H�E0�M8L�M@�}HL�]PL�UXH�EPH���D�GD���H������L���L���H���H���D���L������L��L��H��H��8��@L��H��PL��XL��`H��XH���Dž�L������L���L���H���H���Dž�L�����L��L��H��H��@�O��HL��P��XL��`L��hH��`H������HDž�A���L���L���H���H���Dž�"L����L��L��H��H��HH�D$0H�D$ H��PH�D$(H�L$ ��L�
Q���WXD�GH�L$0��H��L��$PI�[I�{I��]�@SH�� �H���#��3�H�DwH���?������H��f���H���H���H���H���H���H���H�� [���@SH�� H��H������H������H������H��XH��t+H��hH+�H���� ��H��XH��`H��hH��H�� [������H��(�
�l?eH�%XA�4H��A�99W?H�W?H��(�H�
$W?�w��=W?�u�W��V?�V?�V?H�
�V?���H�
�����H�
�V?�������H��H�XH�hH�p WH��0)p�1�;��fH~�H��fs�fH~�H�(�L��H��H����H��XH;�u�H�\$HH�l$PH�t$X(t$ H��0_�����H��H�XH�pH�x UATAUAVAWH�����H���H��q<H3�H���H��A�E��E��H��H��P���H�WH��@����D��zH�_E3�H��t	�DcH�_H�G@���A��H��t9A����CA�u,H�H��H��}�A����CA�uH�H��H�@�`�@��t.H�OH��t	�DaH�OH�GH�E�H�M�H�� H�M���H��PH��P�ڸH��H��H��P�X
���K@����CD���H��XH��tH��hH+�H���觤�W�E�H�wH��t	�DfH�wH�_H�]�H�u�L9����D��H�EH�E�H�E�H�EH�E�L�e�H�EH�E�L�e�H�EH�E�H�E�H�E$H�EH�EEE H���H���H+�H��H���E��H��0H�I� 
��H��L�M�E��H����N����H���H��趷�L��L;� tH��I����H�+�I�H��H�L��I��H�����H���H��t%H���H+�H����d��L���W����H���H��tH���H+�H����3����0��L9���_D��H���H�E8H�E@H���H�EHL�ePH���H�EXL�e`H���H�EhH�EpH���H�ExHDž�W�����H���H���H+�H��H����E��H���H�I ���H��L�M8E��H����ԍ���H��H���<��H��0H;�8tH��H��� �H���H�H��0H�L��H��H��(�"���H��H��t%H�� H+�H������L��W���H���H��t%H���H+�H���蹡����4��D�d$0H�WL�D$0H�RH������H��H������H���H��t9A����CA�u,H�H��H����A����CA�uH�H��H�@�e��8���L��W�3��0H��@I�
H�AL��@L��PH��0I��%��L�}�A�L�u�D�}�L�
�6E��A�V H�M�軤�L�|$hL�t$pD�|$XL�
�6E��A�VH�L$X蓤�L�|$HL�t$PD�|$8L�
�oE��A�V>H�L$8�k��H��8H9�0��H�H��H�@���L��H�E�H�D$(�\$ L�L$XA�VMH�L$8�~���H�T$PH��r
H��H�L$8���L�|$HL�t$PD�|$8H�T$pH��r
H��H�L$X��L�|$hL�t$pD�|$XH�U�H��rH��H�M��џ��G�H��H�D$xH��tL��0H��H���<�H�YnH��I��H��0�=
���H��t:A����FA�u-H�H��H����A����FA�uH�H��H�B�~��H��@�A���H��P����H��H���H3���L��$�I�[8I�s@I�{HI��A_A^A]A\]��L���F����H�\$WH�� H�YH��t�CH�YH�AH���@��H��t9����C��u,H�H��H��ا����S��uH�H��H�B���H�\$0@��H�� _��������������H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@�j�H���P��H;�u`H9~u7H�L��M��H��H��H�@ �>�H�\$`H��H�l$hH�t$pH�|$xH��PA^�H�I5H�L$0����H�p&<H�L$0���H��4H�L$0����H�M&<H�L$0�������������H�\$H�t$WH��@H��H��H�JH�H�@���H����O��H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%t�H�4H�L$ �G��H��%<H�L$ �b��H�*4H�L$ �$��H��%<H�L$ �?����������������H��H�XH�p H�PWH��0I��H��`�A��7���D$ H�K(H�C0H+�H��H����H�A H�XXH��t�CH�~8H�D$PH;�t+H�H��t����A��uH��H����H��&H��t!����C��uH��H��H��f�H��H�\$@H�t$XH��0_��n����������������H��mH�H�AH�BH�������������H�Y�<���������H�\$WH�� H�m��H�H���B����t
�0H���p�H�\$0H��H�� _���@SH��@L��H��H�L$(3��D$ H�AH�AH�AH�A H�A(H�A0�A8H�Q@H�T$0�H�B H�B�BH�B(H�B0�AxH�RkH��D$ H��I���ܓ��H��H��@[����@USVWATAVAWH��$���H��H��f<H3�H���E��L��H��H�M��d$ ����H��jH�A�D�d$ H��I������I���I���H+�H��H����E��H�U�H�	���H��pI���A��H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H�U�H�M��w���H��H���H��H���j����G@�C@�GD�CDH�M�H��tH�U�H+�H����ř�H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H��pH�M��Ą��H��H��H��H������G@�C@�GD�CDH�M�H��tH�U�H+�H������I�I��H�@�2�H��H�N膻��A�$����A�(���A�� � ������H��H���H3���H��A_A^A\_^[]������H�\$ UVWATAUAVAWH��$ ���H���H�*d<H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`�.��H�WXL�D$`I����H��hI�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� ���A��H��t9A����CA�u,H�H��H���A����CA�uH�H��H�@�ȠI��H���	��I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H�����L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H���h�I�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH������H�CH;CtH��H���M�H�C@�L��H��H������H���S���I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	����H�0H�޸?���H#�H�M�P��H��3�H�D$0H��D$ �D��D��H�M����L��H�|$ A�H��H��P趤�I�EH�XH��PH�����L��H�T$HH�����H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I���V��H�D$0H��t$����H��uH�L$0H��H����H�L$HH��t#����A��uH��tH��H����H�t$HI��L;|$8�����I��H���H3��=�H��$8H���A_A^A]A\_^]�轲�������H�\$ WH��`H��_<H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(�-�H�dH�H�SH��rH��H�输�H�cH�C�H��H�L$PH3��~�H��$�H��`_�H��(�
fY?eH�%XA�4H��A�91D?H��C?H��(�H�
D?���=D?�u�W��C?�C?�C?H�
�C?��H�
{�&��H�
�C?�i�����H��H�XH�hH�p WH��0)p�1�,A��fH~�H��fs�fH~�H�(�L��H��H���?��H��XH;�u�H�\$HH�l$PH�t$X(t$ H��0_�������������H��H�XH�xL�p UH��8���H��H�#^<H3�H���H��A�E��H��H���.����H�WH�������H���H���H+�H��H����E��H��0H�I�6���H��0H�M�b���H��H��H��P�`����K@����CD���H�MH��tH�U(H+�H���赑�D��HH�E�H�E�H�E�H�E�H�E�L�u�H�E�H�E�L�u�H�E�H�E�H�E�H�E�H�E�H�E�W�E�E�H���H���H+�H��I;���E��H�U`H�I�a���H��L�M�E��H�M�|���H���H;��tH��H������H��H�H���H�L��H��H��������H�MH��tH�U(H+�H���辐��)���L��W�3���H���I�
H�AL���L��H���I�����H�e�A�L�u��D$pL�
"&E3�A�V H�L$p�A��H�d$`L�t$h�D$PL�
)&E3�A�VH�L$P���H�d$@L�t$H�D$0L�
 aE3�A�VIH�L$0���H���H9����H�H��H�@�
�L��H�D$pH�D$(�\$ L�L$PA�V*H�L$0��H�T$HH��r
H��H�L$0蠏�H�d$@L�t$H�D$0H�T$hH��r
H��H�L$P�x��H�d$`L�t$h�D$PH�U�H��r
H��H�L$p�Q�����H��H�EH��tL���H��H�����H��_H��3�H�������H�����H����5���H��XH��t&H��hH+�H����֎�H��XW�f�`H�����H��H���H3���L��$�I�[I�{ M�s(I��]����������H�Q`H�H�AH�BH�������������H�9�<���������H�\$WH�� H�O`��H�H�����t
�0H�����H�\$0H��H�� _���@SH�� H����H��H�� [����������H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@��H���\��H;�u`H9~u7H�L��M��H��H��H�@ ���H�\$`H��H�l$hH�t$pH�|$xH��PA^�H��$H�L$0�s��H��<H�L$0莧�H�$H�L$0�P��H��<H�L$0�k������������H�\$H�t$WH��@H��H��H�JH�H�@�*�H���N[��H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%�H��#H�L$ �ǽ�H�D<H�L$ ���H��#H�L$ 褽�H�!<H�L$ 迦���������������H�\$UVWATAUAVAWH��$����H��@L��L��H�BpE3�L9����E�l$L�m�L�e�D�e�L�e�L�m�D�e�L�
>E��A�T$H�M����L�l$XH�D$P
�>�D$@�>�D$H�>�D$LD�d$ML�d$pL�l$xD�d$`L�
_E��A�T$ZH�L$`蔏�I�_pH����H�����H���tH+�H��H����H�I �H+�H��H����H�II�V(I�F0H+�H��H����H�B H�XXI�pA�H�U��\�H��H��H�H��H�@�A�L��H�E�H�D$8H�t$0H�E�H�D$(H�\$ L�L$@�*H�L$`�b��H�T$xH��r
H��H�L$`�Ŋ�L�d$pL�l$xD�d$`H�T$XH��r
H��H�L$@螊�L�d$PL�l$XD�d$@H�U�H��rH��H�M��y��L�e�L�m�D�e�H�U�H��rH��H�M��W��L�m�L�e�D�e�L�d$pL�l$xD�d$`L�
}
E�ĺH�L$`���L�l$XH�D$P�t
�D$@�o
f�D$H�f
�D$JD�d$KL�e�L�m�D�e�L�
(]E�ĺZH�M�跍�I�GpH���H���H+�H��H���8L�J(I�N(I�F0H+�H��H���	H�A0H�XXI�pA�H�U�I����H��H��H�H��H�@���L��H�E�H�D$8H�t$0H�D$`H�D$(H�\$ L�L$@�+H�M����H�U�H��rH��H�M��
��L�e�L�m�D�e�H�T$XH��r
H��H�L$@���L�d$PL�l$XD�d$@H�T$xH��r
H��H�L$`迈�L�d$pL�l$xD�d$`H�U�H��rH��H�M�蚈�H��$�H��@A_A^A]A\_^]��ȿ��¿��輿�趿�������H�\$H�T$UVWATAWH��PI��H��d$ A�E��袷��D�d$ H�O(H�G0H+�H��H����H�A H�XXH��t�DcH�u8H�D$(A��H;�t)H�H��tA����AA�uH�A��H����H��$H��tA����CA�uH�A��H��H��ӐH�GpH��pt0H�O(H�G0H+�H��H���H�I0H�IXH��H��t�Da�3�3�H�]XH�D$0H;�t)H�H��tA����AA�uH�A��H��_�H�3�!H��tA����AA�uH�A��H��9�H�GpH���tQH�O(H��pH�G0tH+�H��H���`H�I@�H+�H��H���IH�I0H�IXH��H��t�Da�3�3�H���H�D$8H;�t)H�H��tA����AA�uH�A��H����H��!H��tA����AA�uH�A��H��{�H�GpH��pt>H���t#H�O(H�G0H+�H��H����H�IPH�IX�3�H��H��t�Da�3�3�H���H�D$@H;�t)H�H��tA����AA�uH�A��H����H��!H��tA����AA�uH�A��H��ЎH�O������H��H��$�H��PA_A\_^]��ü����H�\$H�L$WH��0H��H���d$ A��?�D$ H���D��H��H���-}��H��H�\$HH��0_����@SH��@L��H��H�L$(3��D$ H�AH�AH�AH�A H�A(H�A0�A8H�Q@H�T$0�H�B H�B�BH�B(H�B0�AxH�WH��D$ H��I���X}��H��H��@[����@USVWATAVAWH��$���H��H�+P<H3�H���E��L��H��H�M��d$ ����Ɔ�H�wVH�A�D�d$ H��I���~��I���I���H+�H��H����E��H�U�H�	�-�H��pI����H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H�U�H�M���n��H��H���H��H������G@�C@�GD�CDH�M�H��tH�U�H+�H����:��H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H��pH�M��9n��H��H��H��H���,��G@�C@�GD�CDH�M�H��tH�U�H+�H���臂�I�I��H�@���H��H�N���A�$����A�(���A�� �w�����H��H���H3���H��A_A^A\_^[]��^����@USVWATAUAVAWH��$����H��XH��M<H3�H��@A��D�L$0L��L��H�M��d$4�/����D$4I���I���H+�H��H����A�H���H�I����uTH���H�M���q��H��I��$PH��H������G@�C@�GD�CDH�M�H����H�U�H+�H����5���H�������D��H���D�0H���8�XH���迒�H��\$ D��E��A��H�L$8�1��L��H�t$ D���H���H��@�+��H��H�M��'q��H��I��$PH��H���!��G@�C@�GD�CDH�M�H��tH�U�H+�H����|��t$0I��������I���I���H+�H���H;���A�H��@H�I�f�W�����H�E�H�D$8H�D$@H�E�H�D$HH�D$PH�E�H�D$XH�D$`H�E�H�D$hH�\$pH�E�H�D$xH�E�E�E�L�L$8D��H��@H�M�)k���H�U�H��蔓�I��$�H�{H;{tH��H���v��H��H�H�CH�L��H��H�������H�M�H��tH�U�H+�H����M�H�e�W��E��LH��`D�8H��pD�0H���������yH�E�H�D$8H�D$@H�E�H�D$HA�L�l$PH�E�H�D$XL�l$`H�E�H�D$hH�\$pH�E�H�D$xH�E�E�E�H����o��H�؉|$ D��E��A��H�MH���L��H�\$ D��HH��@H����܍�H��L�L$8E��H�M��i���H�U�H���C��I��$�H�{H;{tH��H���%��H���H�H�CH�L��H��H���.����H�M�H��tH�U�H+�H����}�H�e�W��E�H�MH��tH�UH+�H�����}�I��H��@H3�褺H��XA_A^A]A\_^[]�������H�\$ UVWATAUAVAWH��$ ���H���H�6I<H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`�:��H�WXL�D$`I����H��OI�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� ����A��H��t9A����CA�u,H�H��H���A����CA�uH�H��H�@�ԅI��H������I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H����L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H���t�I�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH�������H�CH;CtH��H���Y��H�C@�L��H��H�������H���_��I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	���H�0H�޸?���H#�H�M�\��H��3�H�D$0H��D$ �D��D��H�M��í�L��H�|$ A�H��H��P�‰�I�EH�XH��PH������L��H�T$HH���'���H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I���b���H�D$0H��t$����H��uH�L$0H��H����H�L$HH��t#����A��uH��tH��H����H�t$HI��L;|$8�����I��H���H3��I�H��$8H���A_A^A]A\_^]��ɗ�蓰����H�\$ WH��`H��D<H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(�9��H�RKH�H�SH��rH��H���x�H�cH�C�H��H�L$PH3�芵H��$�H��`_�H��(�
r>?eH�%XA�4H��A�9�)?H�d)?H��(�H�
�)?���=|)?�u�W�@)?I)?R)?H�
+)?膷H�
�d�2��H�
B)?�u�����H��H�XH�hH�p WH��0)p�1�@��fH~�H��fs�fH~�H�(�L��H��H���K���H��XH;�u�H�\$HH�l$PH�t$X(t$ H��0_�H�\$WH�� H�YH��t�CH�YH�AH��p@��H��t9����C��u,H�H��H��������S��uH�H��H�B�o�H�\$0@��H�� _��H��H�XH�xL�p UH������H��PH��B<H3�H��@H���D��H��H���w�H�WH�������HH�E�H�E�H�E�H�E�H�E�H�]�H�E�H�E�H�]�H�E�H�E�H�E�H�E�H�E�H�E�W�E�E�H���H���H+�H��H;���D��H�U`H�I���H��L�M�D��H�M�a���H���H;��tH��H������H���H�H���H�L��H��H��������H�MH��tH�U(H+�H�����u��>���L��W�3���H���I�
H�AL���L��H���I���~�H�e�A�L�u��D$pL�
CE3�A�V H�L$p�by�H�d$`L�t$h�D$PL�
JE3�A�VH�L$P�9y�H�d$@L�t$H�D$0L�
�HE3�A�VKH�L$0�y�H���H9����H�H��H�@�.~L��H�D$pH�D$(�\$ L�L$PA�V;H�L$0�"���H�T$HH��r
H��H�L$0�t�H�d$@L�t$H�D$0H�T$hH��r
H��H�L$P�t�H�d$`L�t$h�D$PH�U�H��r
H��H�L$p�rt���H��H�EH��tL���H��H�����H�CGH��3�H��������H����#���H����V��H��XH��t&H��hH+�H����s�H��XW�f�`H�����H��H��@H3�覰L��$PI�[I�{ M�s(I��]������H�\$WH�� H�YH��t�CH�YH�AH���@��H��t9����C��u,H�H��H���|����S��uH�H��H�B�k|H�\$0@��H�� _��������������H�\$WH�� H��H�������v�OH�\$0H��H�� _�H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@��{H����H;�u`H9~u7H�L��M��H��H��H�@ ��{H�\$`H��H�l$hH�t$pH�|$xH��PA^�H��	H�L$0�s��H��;H�L$0莌�H�	H�L$0�P��H��;H�L$0�k������������H�\$H�t$WH��@H��H��H�JH�H�@�*{H�����H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%�zH��H�L$ �Ǣ�H�D�;H�L$ ���H��H�L$ 褢�H�!�;H�L$ 迋���������������H�\$H�t$ UWATAVAWH��$0���H���H��L��A�L�e�E3�L�}�D�}�L�d$hH�D$`
��"�D$P��"�D$X��"�D$\D�|$]L�e�H�E����D$p���D$xD�|$|L�}�L�e�D�}�L�
�EE��A�T$BH�M��t�H��PH�Nh�m��H�83�H�Nh�[x��H��A�H�U����H��I�NpH�H�B��yL��D�|$@H�E�H�D$8H�|$0H�D$PH�D$(H�H�D$ L�L$pA�T$H�M������H�U�H��rH��H�M��p�L�}�L�e�D�}�H�U�H��r
H��H�L$p�o�L�}�L�e�D�|$pH�T$hH��r
H��H�L$P��o�L�|$`L�d$hD�|$PH�U�H��rH��H�M��o�L�e�L�}�D�}�L�d$hH�D$`
�7�D$P�3�D$X�-�D$\D�|$]L�e�H�E���D$p��D$xD�|$|L�}�L�e�D�}�L�
DE�ǺQH�M��s�3�H����H�x3�H�Nh��v��H��A�H�U��.��H��I�NpH�H�B�xL��D�|$@H�E�H�D$8H�|$0H�D$PH�D$(H�H�D$ L�L$p�)H�M��c���H�U�H��rH��H�M��n�L�}�L�e�D�}�H�U�H��r
H��H�L$p�qn�L�}�L�e�D�|$pH�T$hH��r
H��H�L$P�Ln�L�|$`L�d$hD�|$PH�U�H��rH��H�M��'n�L��$�I�[@I�sHI��A_A^A\_]����������H�\$H�T$UVWATAUAVAWH��H��Ic�I��H���e�D���<����E�W�E�H�FL�pM��t	�A�FL�pH�@H�E�L�u�L��H��H���BH��H��t�@L�8H�E�A��L;�t*I�H��tA����AA�uH�A�UH��|vI��&H��t!A����CA�uH��H��H��QvH�Nh��[����t I��H����L��A�H��t�D`�	E3�3�E�gH�_XH�M�H;�t)H�H��tA����AA�uH�A��H���uL�;�'H��t"A����HA�uH�L�A��H��I����uH�NhH�E�H��0��7��H�F0�H+F(H��H�H�H;���H��HN(H�H�@XH�EPH��t	�D`H�EPH�WH;WtH�3�H�EPH�G�L�EPH��胧��H�EPH��t A����HA�uH�MPH�A��H��uH�F0H+F(H��H�H�H;���H��HN(H�H�@XH�E�H��t	�D`H�E�H�WH;WtH�3�H�E�H�G�L�E�H�����H�E�H��t A����HA�uH�M�H�A��H���tH�F0H+F(H��H�H�H;��vH��HN(H�H�@XH�E�H��t	�D`H�E�H�WH;WtH�3�H�E�H�G�L�E�H���q���H�E�H��t A����HA�uH�M�H�A��H��tH�F0H+F(H��H�H�H;���H��HN(H�H�@XH�E�H��t	�D`H�E�H�WH;WtH�3�H�E�H�G�L�E�H�����H�E�H����A����HA���H�M��vH+F(H��H�H�H;��mH��HN(H�H�@XH�E�H��t	�D`H�E�H�WH;WtH�3�H�E�H�G�L�E�H���h���H�E�H��t!A����HA�uH�M�H�A��H���r�M��t;A���A�FA�u-I�I��H���rA���A�FA�uI�I��H�@��rH��H��$�H�ĀA_A^A]A\_^]��'��t�H�F0H+F(H��H�H�H;��|H��HN(H�H�@XH�E�H��t	�D`H�E�H�WH;WtH�3�H�E�H�G�L�E�H���w���H�E�H��t A����HA�uH�M�H�A��H��rH�F0H+F(H��H�H�H;���H��HN(H�H�@XH�E�H��t	�D`H�E�H�WH;WtH�3�H�E�H�G�L�E�H�����H�E�H��t A����HA�uH�M�H�A��H��}qH�F0H+F(H��H�H�H;�vnH��HN(H�H�@XH�E�H��t	�D`H�E�H�WH;WtH�3�H�E�H�G�L�E�H���i���H�E�H������A����HA��
���H�M�����������H��<H�H�AH�BH�������������H���<���������H�\$WH�� H��<��H�H��������t
�0H��� �H�\$0H��H�� _���@SH�� H����. �z	u��
�B��BH�YH��t9����C��u,H�H��H��+p����C��uH�H��H�@�pH�� [�@SH��@L��H��H�L$(3ɉL$ H�KH�KH�KH�K H�K(H�K0�C8H�S@H�T$0�
�AH�B H�J�JH�J(H�J0�CxH�O:H��D$ H��I���_��H��H��@[�����@USVWATAVAWH��$���H��H��1<H3�H���E��L��H��H�M��d$ �6A�D�d$ H��I���``��3�I���m��H��E��H�U����H��pI�����H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H�U�H�M���P��H��H���H��H�������G@�C@�GD�CDH�M�H��tH�U�H+�H����$e�H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H��pH�M��#P��H��H��H��H������G@�C@�GD�CDH�M�H��tH�U�H+�H����qd�I�I��H�@��mH��H�N����A�$����A�(���A�� �Y�����H��H���H3���H��A_A^A\_^[]��@USVWATAUAVAWH��$����H��XH��/<H3�H��@A��D�L$0L��L��H�M��d$4�_����D$43�I���q��H��A�H���������uSH���H�M���S��H��I��PH��H�������G@�C@�GD�CDH�M�H����H�U�H+�H����<c��H�������D��H���D�0H���8�XH�����t�H��\$ D��E��A��H�L$8�8��L��H�t$ D���H���H��@�2r�H��H�M��.S��H��I��PH��H���)���G@�C@�GD�CDH�M�H��tH�U�H+�H����b�t$0I���0Q�����~3�I���P��H��A�H��@���W�����H�E�H�D$8H�D$@H�E�H�D$HH�D$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pH�E�H�D$xH�E�E�E�L�L$8D��H��@H�M�GM���H�U�H���u�I���H�{H;{tH��H��蕪��H�&�H�H�CH�L��H��H��螞���H�M�H��tH�U�H+�H����la�H�e�W��E��OH��`D�8H��pD�0H���������yH�E�H�D$8H�D$@H�E�H�D$HA�L�d$PH�E�H�D$XL�d$`H�E�H�D$hH�D$pH�E�H�D$xH�E�E�E�H����r�H�؉|$ D��E��A��H�MH��L��H�\$ D��HH��@H����o�H��L�L$8E��H�M��K���H�U�H���^t�I���H�{H;{tH��H���A���H�҇H�H�CH�L��H��H���J����H�M�H��tH�U�H+�H����`�H�e�W��E�H�MH��tH�UH+�H�����_�I��H��@H3��H��XA_A^A]A\_^[]�����H�\$ UVWATAUAVAWH��$ ���H���H�Z+<H3�H���I��H��H�T$HL��H�L$`H�M�E3�L�l$xL�m�I���H�L$h�T{�H�WXL�D$hI�����H�s3I�I�_pH�CH�PH���H��t�CH���H���H�U�H�]�I�OxH�L$8H�� 詰�����H��t5����C�u*H�H��H��h����C�uH�H��H�@��gI��H���4����I���L�+L�kL�kM���M�,$M�l$M�l$L�GI��H+OH�9��8��8H��H��H��H��H��?H�H�CH+H��H;�vH��������H;���H������L�GM��L+GH��I��H��H��H��?H���I��I�9��8��83�D�B@H��蔊I�GpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL�D�l$ E3�H�T$PH�������H�CH;CtH��H���y���H�C@�L��H��H���4����H������I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�o(H�G0L;��[L��I�u3�H�L$H��d��H��A�H�����L�0I�޸?���H#�H�M�n�H��3�H��H��D$ �D��D�Ƌ�H�M���L��H�|$ D�FI��H��P�k�H�L$HH�AH�XH��PH����<k�L��H�T$@H���\����H�H�D$0H��t	�pH�D$0I�T$I;T$tH�3�H�D$0I�D$�L�D$0I��蚗��H�D$0H��t!����H��uH�L$0H���H��(e�H�L$@H��t ����A��uH��tH���H���dH�d$@I��M;������L�|$`I��H���H3�胘H��$8H���A_A^A]A\_^]��z���H�\$ WH��`H�''<H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(�y���H�/H�H�SH��rH��H��
[�H�cH�C�H��H�L$PH3��ʗH��$�H��`_�@SH�� �H�����H�z.H�3�H���H���H���H���H���H���f���H��ǃ�ǃ���'7H�� [����H��(�
B ?eH�%XA�4H��A�9�?H��?H��(�H�
�?���=�?�u�W�p?y?�?H�
[?��H�
�F���H�
r?�E�����H�\$H�T$UH�l$�H��H�ڋ�E�H�AH�E��A�EH�EH�EgH�eGH�J8H��tH�H�UH���bH�EG�a��L�E�H�U�H�����H�MGH��tH�H�UH;���H�@ ��b�H�K8H��tH�H;���H�@ �fbH�c8H��$�H�Đ]�H�\$WH��@H�AhH��H��;�0}@�`�H�KhH�Hc�0H�K(H�H�C0H+�H��H;�v9H�\$PH�H��H�@XH��@_�H�=9H�L$ �ǂ�H�l�;H�L$ ��r����������������H��H�XH�pH�x UATAUAVAWH�����H��H�$<H3�H���L��H�q�H��t�~H�qL�yL���H���3���_��H��D��H����I���3�I���'f��H��D��H��0�-���I�� L�`L+ I��M��0D��E��I��H������I�VH��0���H���H�E0H�E8H���H�E@H�}HH���H�EPH�}XH���H�E`H�EhH���H�Ep�H�]xW�����L�E0I��H������H��H���HDž�H��H���H���H��H���H���H��H���HDž�H��H���H���W���L���I��uI��H����.~����H�EH�E�H�E�H�EH�E�H�}�H�EH�E�H�}�H�EH�E�H�E�H�EH�E�H�]�(�E(�ML�M�E��H���H��@�A��H��H���H��H��荻���O@�K@�GD�CDH��HH��tH��XH+�H�����U�I�^H��t�{I�^I�F��`�����H��t5����C�u*H�H��H���^����C�uH�H��H�@��^I���7���I������A���t!H��t�FL�}�H�u�H���H�M����D���H��p�H���p��tDžxI�E0�P�E3��AH��AH̉�����Dž�I����H���|���Dž�I��P�H�������Dž��(���H��I�NH�� H�����8���H����yux�D$0I�VL�D$0H�RH��0�q��H��H����2�H��8A��H��t?A����CA�u2H�H��H��F]A����CA�uH�H��H�@�)]�A��W�3���H���H�L��0L���H���H��H�@��\�L�e��H�}�D�e�L�
b�E�čW H�M��W�L�d$hH�|$pD�d$XL�
l�E�čWH�L$X�\W�L�d$HH�|$PD�d$8L�
%(E�čWBH�L$8�5W�H���H9����I�I��H�@�S\L��H�E�H�D$(�\$ L�L$X��H�L$8�G����H�T$PH��r
H��H�L$8��R�L�d$HH�|$PD�d$8H�T$pH��r
H��H�L$X�R�L�d$hH�|$pD�d$XH�U�H��rH��H�M��R���H��H�D$xH��tL���I��H����H��&H��I��H��������H���H��tEA����AA�u8H���H�H��H��V[A����CA�uH���H�H�@�5[�H��0����H��X�+���H��H��t%H��(H+�H�����Q�L��W�f� H������H��t9A����FA�u,H�H��H���ZA����VA�uH�H��H�B��ZH��H���H3��=�L��$�I�[8I�s@I�{HI��A_A^A]A\]�H�\$WH�� H�YH��t�CH�YH�AH��P@��H��t9����C��u,H�H��H�� Z����S��uH�H��H�B�ZH�\$0@��H�� _��H�\$WH�� H�YH��t�CH�YH�AH��0@��H��t9����C��u,H�H��H���Y����S��uH�H��H�B��YH�\$0@��H�� _��H�\$WH��@H�AhH��H��;�0}2��W�H�S(H�H�K0H+�H��H;�v9H�\$PH�H��H�@XH��@_�H���H�L$ �z�H���;H�L$ �j��&��������H�Y%H�H�AH�BH�������������H�yl<���������H�\$WH�� ��H���X��t
��H���:�H�\$0H��H�� _�������������H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@�ZXH���R�H;�u`H9~u7H�L��M��H��H��H�@ �.XH�\$`H��H�l$hH�t$pH�|$xH��PA^�H�9�H�L$0���H�`�;H�L$0�h�H���H�L$0��H�=�;H�L$0��h�����������H�\$H�t$WH��@H��H��H�JH�H�@��WH����H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%dWH��H�L$ �7�H���;H�L$ �Rh�H��H�L$ ��H���;H�L$ �/h���������������H�\$H�T$UVWATAUAVAWH��H��`Ic�I��L��e�D���}��A�D�m�L��H�Gh;�0��H�KH�G0H+G(H��H;���H��HO(H�H�XXH��t�DkI�v8H�E�A��H;�t)H�H��tA����AA�uH�A��H��[VH��$H��tA����CA�uH�A��H��H��2VH�Oh�~����tI��H���H��H��t�Dh�3�3�I�^XH�M�H;�t)H�H��tA����AA�uH�A��H���UH�3�'H��t"A����HA�uH�L�A��H��I����UH�Oh�%��tI��H����$H��H��t�Dh�3�3�I�^`H�M�H;�t)H�H��tA����AA�uH�A��H��NUH�3�'H��t"A����HA�uH�L�A��H��I���"UH�Oh���tI��H���#H��H��t�Dh�3�3�I�^hH�M�H;�t)H�H��tA����AA�uH�A��H���TH�3�'H��t"A����HA�uH�L�A��H��I����TH�Oh�)"��tmH���!H�EPH��t	�DhH�EPI���H�QH;QtH�3�H�EPH�A�
L�EP葆��H�EPH��t A����HA�uH�MPH�A��H�� TI��H��$�H��`A_A^A]A\_^]�� ���H���H�M���t�H�x�;H�M���d���������������H�\$WH�� H��!��H�H��������t
�0H���0�H�\$0H��H�� _���@SH��@L��H��H�L$(3��D$ H�AH�AH�AH�A H�A(H�A0�A8H�Q@H�T$0�H�B H�B�BH�B(H�B0�AxH��H��D$ H��I���B��H��H��@[����@USVWATAVAWH��$���H��H�o<H3�H���E��L��H��H�M��d$ �6A�D�d$ H��I����C��3�I���>Q��H��E��H�U�蛲��H��pI���$���H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H�U�H�M��Z4��H��H���H��H���M����G@�C@�GD�CDH�M�H��tH�U�H+�H����H�H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H��pH�M��3��H��H��H��H��蚭���G@�C@�GD�CDH�M�H��tH�U�H+�H����G�I�I��H�@�QH��H�N�ij��A�$����A�(���A�� �=�����H��H���H3��s�H��A_A^A\_^[]��@USVWATAUAVAWH��$����H��XH�<H3�H��@A��D�L$0L��L��H�M��d$4�_����D$43�I���AU��H��A�H����G�����uSH���H�M��n7��H��I��PH��H���i����G@�C@�GD�CDH�M�H����H�U�H+�H����F��H�������D��H���D�0H���8�XH����JX�H��\$ D��E��A��H�L$8�y�L��H�t$ D���H���H��@�U�H��H�M��6��H��I��PH��H��譫���G@�C@�GD�CDH�M�H��tH�U�H+�H����F�t$0I���w�����~3�I���&4��H��A�H��@����W�����H�E�H�D$8H�D$@H�E�H�D$HH�D$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pH�E�H�D$xH�E�E�E�L�L$8D��H��@H�M��0���H�U�H���6Y�I���H�{H;{tH��H������H��lH�H�CH�L��H��H���"����H�M�H��tH�U�H+�H�����D�H�e�W��E��OH��`D�8H��pD�0H���������yH�E�H�D$8H�D$@H�E�H�D$HA�L�d$PH�E�H�D$XL�d$`H�E�H�D$hH�D$pH�E�H�D$xH�E�E�E�H����V�H�؉|$ D��E��A��H�MH�w�L��H�\$ D��HH��@H����{S�H��L�L$8E��H�M�w/���H�U�H����W�I���H�{H;{tH��H���Ō��H�VkH�H�CH�L��H��H���΀���H�M�H��tH�U�H+�H����C�H�e�W��E�H�MH��tH�UH+�H����vC�I��H��@H3��D�H��XA_A^A]A\_^[]�����H�\$ UVWATAUAVAWH��$ ���H���H��<H3�H���I��H��H�T$HL��H�L$`H�M�E3�L�l$xL�m�I���H�L$h��^�H�WXL�D$hI�����H�I�I�_pH�CH�PH���H��t�CH���H���H�U�H�]�I�OxH�L$8H�� �-������H��t5����C�u*H�H��H���K����C�uH�H��H�@�wKI��H��踒���I���L�+L�kL�kM���M�,$M�l$M�l$L�GI��H+OH�9��8��8H��H��H��H��H��?H�H�CH+H��H;�vH��������H;���H���\���L�GM��L+GH��I��H��H��H��?H���I��I�9��8��83�D�B@H���nI�GpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL�D�l$ E3�H�T$PH��菙���H�CH;CtH��H�����H�C@�L��H��H������H������I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�o(H�G0L;��[L��I�u3�H�L$H�IH��H��A�H��裩��L�0I�޸?���H#�H�M�R�H��3�H��H��D$ �D��D�Ƌ�H�M��s�L��H�|$ D�FI��H��P�O�H�L$HH�AH�XH��PH����N�L��H�T$@H������H�H�D$0H��t	�pH�D$0I�T$I;T$tH�3�H�D$0I�D$�L�D$0I���{��H�D$0H��t!����H��uH�L$0H���H���H�H�L$@H��t ����A��uH��tH���H���HH�d$@I��M;������L�|$`I��H���H3��|H��$8H���A_A^A]A\_^]��]���H�\$ WH��`H��
<H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(���H��H�H�SH��rH��H��>�H�cH�C�H��H�L$PH3��N{H��$�H��`_�@SH�� �H������3�H�H���?H���H���H���H���H���H���H���Hǃ����������H���H��H��H��H��H�� H���H��H��(H��0H��8H��@H��HH��PH��XH��`H��hH��pH��xH���f���������H���H���H���ǃ�H���������H�� [����H�\$WH�� H��H��h�B���H�KH3�H��t:H�SXH��������*H+�H��H�H��H��?H�H�RH����<�H�{HH�{PH�{XH�K0H��tH�S@H+�H���<�H�{0H�{8H�{@H�KH��tH�S(H+�H���<�H�{H�{ H�{(H�H��t*H�SL���/��H�SH+H�H����L<�H�;H�{H�{H�\$0H�� _���@SH�� H��H��(����H���S���H����G���H����;���H��XH��t+H��hH+�H�����;�H��XH��`H��hH��H�� [�ך�����H��(�
�?eH�%XA�4H��A�9u�>H�<�>H��(�H�
`�>�3~�=T�>�u�W��>!�>*�>H�
�>�n�H�
/(�J|�H�
�>�}����H�\$H�T$UH�l$�H��H�ڋ�E�H�AH�E��A�EH�EH�EgH�eGH�J8H��tH�H�UH��DH�EG�Ė��L�E�H�U�H�������H�MGH��tH�H�UH;���H�@ ��C�H�K8H��tH�H;���H�@ ��CH�c8H��$�H�Đ]�H��HH�AhL��Hc�0;�}.H��H�JI�P(H�I�@0H+�H��H;�v3H�H��H�@XH��H�H��H�L$ �'d�H���;H�L$ �BT��Lq�����H�\$H�l$H�t$WH��@H��H��;�0}vH�AH�H0H�yH+9H��H����j��H��������H��������0Hc�H���H�H+�H�H��H;�vH��H�\$PH�l$XH�t$`H��@_��p��H�I�H�L$ �cc�H��;H�L$ �~S��H�\$WH�� H�YH��t�CH�YH�AH���H�AH+H��H��@��H��t9����C��u,H�H��H��B����S��uH�H��H�B��AH�\$0@��H�� _���������H��H�XH�pH�x UATAUAVAWH��h��p��uH+�H�5<H3�H��`L��H�A�H��t�xH�AH�qH��PH��X3��	@��H��D��H����c���3�I���AF��H��D��H��`�G���H���L�`L+ I��E��4E��E��DE�A��5�D$0D��E��I��H����P�I�^H��t�{I�^I�F@��H��t9����C��u,H�H��H���@����C��uH�H��H�@��@@����H���H���HDž�H���H���H���H���H���H���H���H���HDž�H��H���HDž�W������I���>��H��D��H��P���H��L���D��H��0�$"���H���H;��tH��H�����H�^H�H���H�L��H��H��x�s���H��8H��tH��HH+�H����J6�I�VH�������H�EpH�E H�E(H�EpH�E0H�}8H�EtH�E@H�}HH�ExH�EPH�EXH���H�E`H�EhW�Ep��L�E H���H��H��`�ji�H���H���HDž�H���H���H���H���H���H���H���H���HDž�H���H���HDž�W�����L��hI��uI��H��`�\��������H�E�H�E�H�E�H�E�H�E�H�}�H�E�H�E�H�}�H�E�H�E�H�E�H�EH�E�H�E�(��E�(��ML�M�E��H���H��x� ��H��H��xH��H���	����O@�K@�GD�CDH���E3�H��tH���H+�H����[4�H�����E3�W�D8�@t-��D.�zuDžh���lDžhD8��t-���.�zuDž@���DDž@D��t
�D$0��u
����P����TH���989xA��~@�Lj�x
D��p
H����H���@
��D
��H
H�C0�P���AH��AHω�d
��h
��l
H����H���L
��P
��T
H����H���X
��\
��`
H���H�HH+H��A�E�e�H����@��v
H��hH��L�� H��hH��(H��0H��lH��8H��@H��pH��HHDžPH��|H��XL��`W��h�x3�I���>
H��D��H����x���H��L��D��H�������H��H���F�H���
H;��
tH��H����z��H��YH�H���
H�L��H��H���
��n���H��H��t%H��(H+�H����1�L��W��� H���H��tH���H+�H����1��A�8��|
H���H�HH+H��H���_@��w
H���H���L���H���H���H���H���H���H���H���H���HDž�H���H���L���W�����3�I������H��D��H��P���H��L���D��H������H��XH���D�H���
H;��
tH��H���fy��H��WH�H���
H�L��H��H���
�hm���H��`H��t%H��pH+�H����00�L��`W���hH��H��t&H�� H+�H����/���A�<���
L9��w���.��z��@��L9���]@��H��XH��L��H��XH��H�� H��\H��(H��0H��`H��8HDž@H��lH��HL��PW��X�hI����H��D��H���	�M���H��L��D��H����x���H���H����B�H��(H;�0tH��H����w��H�UVH�H��(H�L��H��H�� ��k���H���H��t%H���H+�H����.�L���W����H���H��t&H��H+�H����].���A�@��H���H��H;���H+�H���������H��H��H�H��H��H��?H�L�D$2H���&�M��H��H+��H��H��H�H��H��H��?H�taM��M��H���I�L0�QL���C�C�TC�|L�M�RxM�IH��H+��H��H��H�H��H��H��?H�L;�r���H��I�NH�� H��`����H��`D9aus�D$1I�VL�D$1H�RH���K���H��H��H��H����H��t:����C�u/H�H��H��#6����C�uH�H��H�@�6���W�3��pH���H�L���L���H��pH��H�@��5�L�}��H�}�D�}�L�
B�E�ǍW H�M��c0�L�|$hH�|$pD�|$XL�
L�E�ǍWH�L$X�<0�L�|$HH�|$PD�|$8L�
E�ǍWAH�L$8�0�H��xH9�p��I�I��H�@�35L��H�E�H�D$(�\$ L�L$X��H�L$8�'����H�T$PH��r
H��H�L$8��+�L�|$HH�|$PD�|$8H�T$pH��r
H��H�L$X�+�L�|$hH�|$pD�|$XH�U�H��rH��H�M��z+���fH��H�D$xH��tL��pI��H����H��H��I��H��p����H��hH��tA����A�u6H��hH�H��H��84����C�uH��hH�H�@�4�H����܏���H������H��XH��t@����A�u5H��XH�H��H���3����K�uH��XH�H�B��3H��H��`H3��PgL��$pI�[8I�s@I�{HI��A_A^A]A\]����H�\$H�t$WH�� H�AH��H�P0H�zH+:H���.[��H�����3��H������H����ȋ�0�����Hc�H���H�H+�H��H;�vH��H�\$0H�t$8H�� _��a��H�\$H�t$WH�� H��H�Ih�Z��H�Nh���H�Nh���Q�D���OH�FhD�A���0H�F0Hc�H�N(H��H+�H��H;�vH�\$0H�H�t$8H��H�@XH�� _��`���H�\$WH�� H�YH��t�CH�YH�AH���@��H��t9����C��u,H�H��H��2����S��uH�H��H�B��1H�\$0@��H�� _��H�\$H�t$WH��@H��H��H�Ih;�0}\�Y��H�Oh�����H�NH�Gh�����0Hc�H�W(H�H�G0H+�H��H;�v>H�\$PH�H�t$XH��H�@XH��@_�H�T�H�L$ �FR�H��;H�L$ �aB��k_����H�\$H�t$WH��@H��H��;�0}dH�AH�H0H�YH+H��H����X��H���������0Hc�H���H�H+�H�H��H;�vH��H�\$PH�t$XH��@_���^��H�X�H�L$ �Q�H�?�;H�L$ �A�H�\$WH��@H��H��H�Ih;�0}I�_X��H�S(��H�Ch����0Hc�H�OH�H�C0H+�H��H;�v9H�\$PH�H��H�@XH��@_�H� �H�L$ �Q�H���;H�L$ �-A��7^����H�\$WH�� H�YH��t�CH�YH�AH���H�AH+H��H��@��H��t9����C��u,H�H��H���/����S��uH�H��H�B��/H�\$0@��H�� _�H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@�Z/H���N���H;�u`H9~u7H�L��M��H��H��H�@ �./H�\$`H��H�l$hH�t$pH�|$xH��PA^�H�9�H�L$0��V�H�`�;H�L$0�?�H���H�L$0�V�H�=�;H�L$0��?�����������H�\$H�t$WH��@H��H��H�JH�H�@��.H��莲��H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%d.H��H�L$ �7V�H���;H�L$ �R?�H��H�L$ �V�H���;H�L$ �/?���������������H���H�H�AH�BH�������������H��A<�@SH��@L��H��H�L$(3��D$ H�AH�AH�AH�A H�A(H�A0�A8H�Q@H�T$0�H�B H�B�BH�B(H�B0�Ax'H��H��D$ H��I������H��H��@[����@USVWAUAVAWH��$���H��H���;H3�H���E��L��H��H�M��d$ �'��x��H�J�H�džP�?��Tf��XA�D�l$ H��I�����I���I���H+�H��H����E��H�U�H�	跌��H��pI���@���H�D$xH�D$(H�D$0H�D$xH�D$8L�l$@H�D$|H�D$HL�l$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H�U�H�M��v��H��H���H��H���i����G@�C@�GD�CDH�M�H��tH�U�H+�H�����"�H�D$xH�D$(H�D$0H�D$xH�D$8L�l$@H�D$|H�D$HL�l$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H��pH�M���
��H��H��H��H��趇���G@�C@�GD�CDH�M�H��tH�U�H+�H����"�I�I��H�@�1+H��H�N�D��A�$����A�(���A�� ������H��H���H3��^H��A_A^A]_^[]���X�����H�\$ UVWATAUAVAWH��$ ���H���H�&�;H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`�*=�H�WXL�D$`I����H���I�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� �r���A��H��t9A����CA�u,H�H��H���)A����CA�uH�H��H�@��)I��H���q���I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H��謉��L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H���dLI�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH����w���H�CH;CtH��H���Iw��H�C@�L��H��H���^���H���O���I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	�ׇ��H�0H�޸?���H#�H�M�L0�H��3�H�D$0H��D$ �D��D��H�M��Q�L��H�|$ A�H��H��P�-�I�EH�XH��PH����,�L��H�T$HH���s���H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I���RY��H�D$0H��t$����H��uH�L$0H��H���&�H�L$HH��t#����A��uH��tH��H���&H�t$HI��L;|$8�����I��H���H3��9ZH��$8H���A_A^A]A\_^]��;��T����H�\$ WH��`H���;H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(�)v��H�r�H�H�SH��rH��H���H�cH�C�H��H�L$PH3��zYH��$�H��`_�H��(�
b�>eH�%XA�4H��A�9��>H�t�>H��(�H�
��>�_�=��>�u�W�P�>Y�>b�>H�
;�>覜H�
'	�"]�H�
R�>�e^����H�\$H�T$UH�l$�H��H�ڋ�E�H�AH�E��A�EH�EH�EgH�eGH�J8H��tH�H�UH���$H�EG謣��L�E�H�U�H��责���H�MGH��tH�H�UH;���H�@ ��$�H�K8H��tH�H;���H�@ ��$H�c8H��$�H�Đ]�H�\$H�t$UWAWH��$���H��H���;H3�H���H��A�E��H��H�������H�VH��p�.����A��H���L���H��I+�H��L;��H�E�H�E�H�E�H�E�H�E�L�}�H�E�H�E�L�}�H�E�H�E�H�E�H�EH�E�H�E�W�E�EI+�H��H;��1E��H�UpI��肃��H��L�M�E��H�M ����H��H;�tH��H���c��H��AH�H��H�L��H��H����W���H�M(H��tH�U8H+�H������I�H���L���H��I+�H��H;������W�E�H�~H��t	�DH�~H�NH�M�H�}���,��`��0��d��(��h��)��i����L��W�3���H��I�
H�AL��pL��H���I��N"�H�e�A�L�}��D$pL�
®E3�A�W H�L$p���H�d$`L�|$h�D$PL�
ɮE3�A�WH�L$P��H�d$@L�|$H�D$0L�
0�E3�A�W3H�L$0��H���H9����H�H��H�@��!L��H�D$pH�D$(�\$ L�L$PA�W&H�L$0�y���H�T$HH��r
H��H�L$0�@�H�d$@L�|$H�D$0H�T$hH��r
H��H�L$P��H�d$`L�|$h�D$PH�U�H��r
H��H�L$p����gSH��H�EH��tL���H��H���5���H���H��3�H����_����H��t9������G�u+H�H��H��� ����G�uH�H��H�B�� �H��p�d|���H���wv��H��H���H3��%TL��$I�[(I�s0I��A__]��xN��������H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@� H���j��H;�u`H9~u7H�L��M��H��H��H�@ ��H�\$`H��H�l$hH�t$pH�|$xH��PA^�H���H�L$0�G�H� �;H�L$0�0�H�N�H�L$0�G�H���;H�L$0�0�����������H�\$H�t$WH��@H��H��H�JH�H�@�ZH����H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%$H�ŬH�L$ �F�H�t�;H�L$ �0�H�ڬH�L$ ��F�H�Q�;H�L$ ��/���������������@USVWAVAWH�l$�H��H�<�;H3�H�EI��M��L��H��H�T$0W�fD$@H�d$PH�d$XfD$`W�fL$pfE�fM�fE�fM�fE�fM�fE�e�H�AxH��XH�E�3�I����H����H��H���;�H�D$0H��t	�@H�D$0H�T$HH;T$PtH�3�H�D$0H�D$H�L�D$0H�L$@�/P��H�D$0H��t#����H��uH�L$0H��H���H��H���3�H;��t���H�_XH��t�CH�L$pH��t#����A��uH��tH��H��lH�\$pH�Oh���H������H���H�D$@H�D$ M��L�FxI���,�H�L$@�u��I��H�MH3���PH��A_A^_^[]�������H�\$WH�� H�ً�H����t��H�ShH��rH�KPH����H�c`H�KH�Ch�CP质��@��t
��H���5OH��H�\$0H�� _��������@USVWATAUAVAWH�l$�H��H���;H3�H�EM��I��L��L��H�U�3�I���c�H��I�uXW�3�E�H�E�H��H�M��ca���L�{H��H�葏��H��I;�u�H�}�H��t�GH�U�H�M��"��H�u�H��t�FH�U�H�M����I�D$pH�XE3�H��t�CH�XH�@H�����H��t5����C�u*H�H��H�������C�uH�H��H�@�}H�M�H���A�?���I#��n�H��H��H�M�H���I#��n�L��L��H�H�|$ L�M�H�U�H��H�@�(I�EH�H�D��I��H�I�j���L�e�H�M�H�H�@��H�M�H��t����A;�uH��tH���H���L�e�L�e�H�M�H�H�@��H�M�H��t ����A��uH��tH���H���L�e�H�M�H��t!L�E�H�U����H�U�H�M�H+�H���.�I��H�MH3��MH�ĘA_A^A]A\_^[]������������H�q�H�H�AH�BH�������������H�y.<�H�\$H�l$ H�L$VWAVH��PH��H��3�D�BHH���L=E3�D�wL�wL�wL�w L�w(fD�w0L�w8�G@�GDD�wHL�w`H�GhD�wPH�k�H�H�wpH�^H��t�CH�^H�FH���H�Ox��H��t5����C�u*H�H��H��J����C�uH�H��H�@�/H�GpH�XH��t�CH�XL�@L�D$@H�\$HH�FH�HW��D$0H���H��t�@H���H�D$0H���H�D$8H���D�t$ E3�M���H�T$0�g���H��t6����C�u+H�H��H�������C�uH�H��H�@�x�H��L�\$PI�[0I�k8I��A^_^����H��H�XH�hH�p WH��0)p�1�ܮ��fH~�H��fs�fH~�H�(�L��H��H����H��HH;�u�H�\$HH�l$PH�t$X(t$ H��0_�����H�\$H�l$H�t$ WH�� H��H�Y3�H��t�CH�YH�A��xH��t9����C��u,H�H��H�������C��uH�H��H�@�~��u'���IH�D$0H��tH��H���R���H��H���y�x�IH��H�D$0H��t\3�D�BHH�H�:�~H�~H�~H�~ H�~(f�~0H�~8�F@�FD@�~HH�~`H�Fh@�~PH���H�H�np�H��H��H�\$8H�l$@H�t$HH�� _�����H�\$WH�� H�ً�H��PH��t+H��`H+�H���b
�H��PH��XH��`H���bl��@��t
�pH����HH��H�\$0H�� _��H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@�H���n��H;�u`H9~u7H�L��M��H��H��H�@ ��H�\$`H��H�l$hH�t$pH�|$xH��PA^�H���H�L$0�=�H� �;H�L$0�&�H�N�H�L$0�=�H���;H�L$0�&�����������H�\$H�t$WH��@H��H��H�JH�H�@�ZH�����H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%$H�ŢH�L$ �<�H�t�;H�L$ �&�H�ڢH�L$ ��<�H�Q�;H�L$ ��%���������������H���H�H�AH�BH�������������H��)<�@SH��@L��H��H�L$(3��D$ H�AH�AH�AH�A H�A(H�A0�A8H�Q@H�T$0�H�B H�B�BH�B(H�B0�Ax(H���H��D$ H��I�����H��H��@[����@USVWATAVAWH��$���H��H���;H3�H���E��L��H��H�M��d$ �~	A�D�d$ H��I�����I���I���H+�H��H����E��H�U�H�	�s��H��pI���(t��H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H�U�H�M��^���H��H���H��H���Qo���G@�C@�GD�CDH�M�H��tH�U�H+�H����	�H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H��pH�M���H��H��H��H���n���G@�C@�GD�CDH�M�H��tH�U�H+�H�����I�I��H�@�H��H�N�m+��A�$����A�(���A�� �������H��H���H3��wEH��A_A^A\_^[]���?�����H�\$ UVWATAUAVAWH��$ ���H���H��;H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`�$�H�WXL�D$`I����H�)�I�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� �gY���A��H��t9A����CA�u,H�H��H���A����CA�uH�H��H�@��I��H����W���I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H���p��L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H���L3I�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH����^���H�CH;CtH��H���1^��H�C@�L��H��H����D���H���7g��I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	�n��H�0H�޸?���H#�H�M�4�H��3�H�D$0H��D$ �D��D��H�M��8�L��H�|$ A�H��H��P��I�EH�XH��PH������L��H�T$HH���Y���H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I���:@��H�D$0H��t$����H��uH�L$0H��H���
�H�L$HH��t#����A��uH��tH��H���
H�t$HI��L;|$8�����I��H���H3��!AH��$8H���A_A^A]A\_^]��"��k;����H�\$ WH��`H���;H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(�]��H���H�H�SH��rH��H���H�cH�C�H��H�L$PH3��b@H��$�H��`_�H�\$H�t$H�|$ UATAUAVAWH��H��H��H�E�L�5l�H�E�H�5yL�u��H�u�A���}�E3�L�e�H�M�D�m�H�U��H�E�L�u�E�|$�H�E�H�U�H�u�H�M��}�L�}�D�m��^L�u�H�E�D�w�H�E�H�U�L�u�H�M�H�u��}�D�m��2H���H�u�H�E��w?H�E��}�H�U�H�E�H�M�H�u�D�m��H����}�H�E��~�H��H�}�H�E�H�U�H�E�D�m�H�M�H�E���H�h�D�m�H�E�H�U�H�mL�e�H�E�H�M�H�E�D�m�H�E��H�1�H�E�L�%>H�E�L�e�H�E�H�U�D�m�H�M�L�}�D�m��YH�E�L�e�L�=��H�E�H�U�L�}�H�M�D�m�L�u�D�m��)H�E�L�}�H�U�H�E�H�M�L�e�D�m�H�u�D�m��H�E�L�}�H�U�H�E�H�M�L�e�D�m�H�}�D�m���L��$�H��I�[8I�s@I�{HI��A_A^A]A\]����@SH��0H��H�L$(�(�V���H���H��d$$H��PH�!H�aH�aD�L$ L�D$(H�T$$���ƃhH��H��0[����@SH�� H��H��PH��t+H��`H+�H����H��PH��XH��`H��H�� [�_�����H�\$WH�� H��H��H;�tJH�	H��tH�SH+�H���O�H�#H�cH�cH�H�H�GH�CH�GH�CH�'H�gH�gH��H�\$0H�� _����H��(�
��>eH�%XA�4H��A�9��>H�|�>H��(�H�
��>�B�=��>�u�W�X�>a�>j�>H�
C�>��H�
���@�H�
Z�>��A����H�\$H�T$UH�l$�H��H�ڋ�E�H�AH�E��A�EH�EH�EgH�eGH�J8H��tH�H�UH��]H�EG����L�E�H�U�H���4����H�MGH��tH�H�UH;���H�@ �#�H�K8H��tH�H;���H�@ �H�c8H��$�H�Đ]�H��H�XH�pH�x UAVAWH�����H��H�O�;H3�H��H��E3�D�t$XE�~E��H��H���|�H�WH������H���>������H�E�H�E�H�E�H�E�H�E�L�}�H�E�H�E�L�}�H�EH�E�H�E�H�EH�E�H�E�W�E�EH���H���H+�H��I;���E��H�UpH�I�f��H��L�M�E��H�M �.��H��H;�tH��H���F��H�%H�H��H�L��H��H����:���H�M(H��tH�U8H+�H����Z��H�T$`H�����H��H�E�W��L$8I��H�L$HD�|$XI��L�H�@I+�H��H����H�T$@E��E��tKA��t6A��tA��u9�D$0H;�tD��1�D$0H;�t/��D�|$0H;�tD�:�
H;�D�t$0tD�2H��H�T$@�L�D$0H�L$8�&��H�L$HH�T$@I�L�H�CI+�H��H;��a���M��tH�SI+�H��I���Z��L�3L�sL�sH�T$8H��`�����H�L$8H��tH�T$HH+�H���"��H�������x����L��W�3���H��I�
H�AL���L��H���I���L�u��H�u�D�u�L�
{�E�ƍV H�M���L�t$HH�t$PD�t$8L�
��E�ƍVH�L$8�u��L�t$pH�t$xD�t$`L�
>�E�ƍV;H�L$`�N��H���H9����H�H��H�@�lL��H�E�H�D$(�\$ L�L$8�V4H�L$`�b\���H�T$xH��r
H��H�L$`���L�t$pH�t$xD�t$`H�T$PH��r
H��H�L$8���L�t$HH�t$PD�t$8H�U�H��rH��H�M����+6H��H�E�H��tL���H��H����H���H��I��H����"e���H����e_���H��`H��t(H��pH+�H���E��L��`L��hL��pH���DY��H��H��H3���6L��$I�[(I�s0I�{8I��A_A^]��@1����H��(H�	H��t�!H��(���L��SVWAVAWH���H�t�;H3�H��$�M��I��H��H��H��$�L��$ I�c�H�d$@H�d$HH�QH�L$0�f�H�NH���D�N8L�D$0H��$����H�W@M��H��$��|�H�W(H��$��>L��H�WH��$��*L��L�|$(L�T$ L��$�H��H�N�݋�H��$�H��t�,H��H��$�H3��5H���A_A^_^[�H�\$H�t$H�|$UATAUAVAWH��H��`L�
3�H�BI��I+�L��H��H����D�cD�{L�-5�;A�ٺ���A;����f����A+��gA+���A+���A+���A+���A+�tPA;��GH���H���7L�
��;D�|$ M��3��0/H�M�ċ�L���,
���g�H�OxH����L�
��;D�|$ M��3���.H�M�ċ�L����	���F�H���H����L�
`�;D�|$ M��3��.H�M�ċ�L���	���"�sH���H���e�Q �B�A;�v?�B�A;�v7L�
�;D�|$ M��3��K.H�M�ċ�L���G	�����L�
_<D�|$ M��3��.H�M�ċ�L���	������H�OXH����L�
��;D�|$ M��3���-H�M�ċ�L���������H�O8H�����Q �B�A;�v?�B�A;�v7L�
4�;D�|$ M��3��y-H�M�ċ�L���u�����GL�
�<D�|$ M��3��B-H�M�ċ�L���>���n�H�O0H����Q �B�A;�v?�B�A;�v7L�
��;D�|$ M��3���,H�M�ċ�L�������:�L�
�<D�|$ M��3��,H�M�ċ�L������&�H�H�GE�T�H+�H��L;��hJ��H���[L�
�;D�|$ M��3��T,H�M�ċ�L���P�����"H�L���A����,�������	��A+���A+���A+���A+��UA+���A+�t+����D�A��H�L����������H�OPH�����Q �B�A;�v?�B�A;�v7L�
.�;D�|$ M��3��s+H�M�ċ�L���o���q�AL�
�<D�|$ M��3��<+H�M�ċ�L���8���]�
H�OHH�����Q �B�A;�v?�B�A;�v7L�
��;D�|$ M��3���*H�M�ċ�L�������)�L�
�<D�|$ M��3��*H�M�ċ�L�������|H�O@H���q�Q �B�A;�v?�B�A;�v7L�
�;D�|$ M��3��W*H�M�ċ�L���S�����%L�
k<D�|$ M��3�� *H�M�ċ�L���������A�D���uDH�OhH����L�
��;D�|$ M��3���)H�M�ċ�L���������L����H�H���I+�H��H;���I��H���uL�
)�;D�|$ M��3��n)H�M�ċ�L���j���a�<H�O`H���1L�
��;D�|$ M��3��*)H�M�ċ�L���&���@�H���H����H�H�@E�L�H+�H��L;���I��L�A�	����������A+�tmA+�tHA+�t&A;���H�M�M�Nj�������vH�M�M�ċ�������YH�M�A����g�����9H�M�A����G�����H�M�M�Nj��*�����H�M�A����
��������tjA+�tKA+�t&A;���H�M�M�ċ��������H�M�A���������H�M�M�ċ�������mH�M�A����{�����PH�OH�G E�T�H+�H��L;�s9J��H��t0L�
��;D�|$ M��3��)'H�M�ċ�L���%��uA3҅���M�A�I�FI+�H��;��=���L�\$`I�[0I�s8I�{@I��A_A^A]A\]�L�����H�M����H��{;H�M��	�L�����H�M����H��{;H�M��	�L�����H�M�����H��{;H�M��l	�L�|���H�M����H�z{;H�M��I	�L�Y���H�M����H�W{;H�M��&	�L�6���H�M��o��H�4{;H�M��	�L����H�M��L��H�{;H�M����L�����H�M��)��H��z;H�M���L�����H�M����H��z;H�M���L�����H�M�����H��z;H�M��w�L�����H�M����H��z;H�M��T�L�d���H�M����H�bz;H�M��1�L�A���H�M��z��H�?z;H�M���L����H�M��W��H�z;H�M����L�����H�M��4��H��y;H�M����L�����H�M����H��y;H�M���L�����H�M�����H��y;H�M���L�����H�M�����H��y;H�M��_�L�o���H�M����H�my;H�M��<�L�L���H�M����H�Jy;H�M���L�)���H�M��b��H�'y;H�M���L����H�M��?��H�y;H�M����L�����H�M����H��x;H�M���L�����H�M��
��H��x;H�M���L�����H�M���
��H��x;H�M��j�L�z���H�M��
��H�xx;H�M��G�L�W���H�M��
��H�Ux;H�M��$�L�4���H�M��m
��H�2x;H�M���L����H�M��J
��H�x;H�M����L�����H�M��'
��H��w;H�M���L�����H�M��
��H��w;H�M���L�����H�M�����H��w;H�M��u�L�����H�M����H��w;H�M��R�H�r�H�M��q��H��t;H�M��1�L�H�BI+�H��H��taH��t<H��tɝ>
ҝ>I�WI�H�I�@H�AI�@H�A�A�8I�H�I�@H�A�AH�A�I�fo��H��AAH�����������������H��(Ic�Lk�Ic�L�Nc�E��x5H�D$PL�H�PI+�H��D;�}I��H��BBL$L$�H�d$�H�d$H�$H�D$H�$HH��IH��(��I;���L��I�[I�sWH��0I��H��H��H�I�C�I�c�H�yu-I�c�� �%C�@H�d$(H�FH�FH�FH�H;�tAH�d$(� ��$C�@H�NH�H�NH�HH�d$(H�FH�FH�H��H;�u�H�\$HH�t$PH��0_�@SH��PH��H�L$ H�d$(H�L$ �*���H�D$ H�D$@H�d$H� �\$H��L�D$(M��u	H�H�@�H�L$8H�H�D$0H�BH�QH�L�CH�H��P[��H�A��A2H�3��AH�QH��t�BD�AH�A H�A(H�A0H�A8H�A@H�AHH�APH�AXH�A`H�AhH�ApH�AxH����@SH�� H�yt,H�AH�`H�AH� H�Y�H�˺ H����H��u�H�� [��H�\$H�t$WH�� H�yhH��H�3�H��t*H�WL���|w�H�WH+H�H�����H�7H�wH�wH�{PH�H��t*H�WL���Fw�H�WH+H�H�����H�7H�wH�wH�{8H�H��t*H�WL���w�H�WH+H�H���U��H�7H�wH�wH�{ H�H��t*H�WL����v�H�WH+H�H�����H�7H�wH�wH�KH��t����A��uH��H���H�sH�\$8H�t$@H�� _����������H�\$WH�� ��H�������t
��H���j"H�\$0H��H�� _�L�D$H�T$USVWATAUAVAWH��$H�����#H+�M��L��H�L�8L�|$0L�q I�v�I96�MM���H�D$0H���L;��,L��A�0H��`���H���D$ D��D����H�M�J�H��A�O@�^��H��H�t$ L��D��H��(
�@��L��H�T$PI�L$�:���H�H��H��t�@H��I�VI;VtH�3�H��I�F�L��I��� ��H��H��t&����H��uH��H��H��~��H�L$PH��t#����A��uH��tH��H��P�H�d$PI��HM;����I�vL��L�|$0I�>�/I�UI;UtH�H�H��t�@I�E�L��I���-K��H��H;�u�M�t$8I�FI9��A��0H��X�_��H���D$ D��D����H������H��A��@����H��H�t$ L��D��H������L��H�T$`I�L$�<9���I�VI;VtH�H�
H� I�F�L��I������H�L$`H��t#����A��uH��tH��H���I�H�8H��t�GI�u0H�E�H;�t+H�H��t����A��uH��H����H�>�&H��t!����G��uH��H��H����A�|$�~H��H�L�0L��A���I��XH�t$ D��D��L�=r�;I��H�M����H�t$ A�D��I��H�M�����H�t$ E3�D��I��H�M����A�����������H�;������;���M�|$PI�GI9��H��P�x��H��|$ D��D�Nj�H�����H��A����j��H��H�t$ L��D��H��(
����L��H�T$hI�L$�V7���H�H�L$@�H��t�yI�WI;WtH�
3�H�D$@I�G�L�D$@I�����H�D$@H��t!����H��uH�L$@H���H��%��H�L$hH��t ����A��uH��tH���H����I�H�9Y ��H��H�o��H��|$ D��D�Nj�H������H��A����a��H��H�t$ L��D��H�������L��H�T$pI�L$�M6��H�8H��t�GI�7H�E�H;�t+H�H��t����A��uH��H��G�H�>�&H��t!����G��uH��H��H���H�L$pH��t#����A��uH��tH��H����I�H�H���9�?���H#��&=�H��H��I��PH�H�H������H�W0H��H;���M��PM��I�WI��p�I�I�G�����H��@���H���D$ D��D����H����k�H��A�������H��H�t$ L��D��H��(�^��L��H�T$XI�L$��4���H�H�D$8H��t	�@H�D$8I�WI;WtH�3�H�D$8I�G�L�D$8I�����H�D$8H��t$����H��uH�L$8H��H�����H�L$XH��t#����A��uH��tH��H��z�H�d$XI�H�H���9�?���H#��;�H��H��I�MH�I��D���I�M0H;������L���]M�|$PM��I�WI��n�I�I�GA������D��H�t$ A�H��D���H�ޥ;H�M��U�H��8�Y��H��M��L$ D�M�D�E؋U�H��p���H��H������C��H��H�t$ L��E��H������L��H�T$xI�L$�/3���H�H�L$HH��t�AI�WI;WtH�
3�H�D$HI�G�L�D$HI���u��H�D$HH��t$����H��uH�L$HH��H����H�L$xH��t#����A��uH��tH��H����L��I�7I�}8H;�t5H�H��t����A��uH��H����H�H�H��t�@M���M;���NM�t$hI�FI9��A�0H��0	����H���D$ D��D����H����P�H��A�O@�d��H��H�t$ L��D��H��(�F��L��H�U�I�L$��1���H�H�L$0H��t�AI�VI;VtH�
3�H�D$0I�F�L�D$0I�����H�D$0H��t$����H��uH�L$0H��H�����H�M�H��t#����A��uH��tH��H��i�I�>I�]XH;�t5H�H��t����A��uH��H��7�H�H�H��t�@A���H�ĸA_A^A]A\_^[]�������������H�\$ VWAUAVAWH��H�m�;H3�H��$�L��$�L��H��$�L��H��$�H��$�H��$�L��$�3���$�W�D$pH�AH���H��t�AH���H���H�D$pH�L$xH�2H�rH�rDŽ$�I�8I�HH+�H�ףp=
ףH��H�H��H��H��?HЉ�$�I�����5I�EH��$�9HL�Hc�D$LHi��H�H��$�H��$�W���$�H��$�H��H;���W�f�$H�L$xH��t�A(D$pf�$�D$ E3�L�CH��$H��$@�2��L��H��$�H;�$�tI��H���#2��H��$�@�H��H��$������H��$@�&;��H���H;�$��Y���W�f�$�W�f�$�f�$�f�$f�$f�$ f�$0f�$@f�$Pf�$`f�$p��$�H��$�L��$�H��$�I����։T$4H��$�H;�$��W���$�H��$�H��H�D$`H�D$X�t$0D��D�l$HH��$�D;h��H�t$8W���$�H��$�Hc�H��H�$�H��$�H�D$ L��$�L�GH��$�����H��H�D$8H;�tH�H�D$8H�1H��$�H��t#A����AA�uH��tH��H����H��$�H��$�H��tlH��$�H�L$@H;�tBH��H�H��t#A����AA�uH��H��H�H�D$@H�3H��H;�u�H��$�H��$�H+�H��H�������Q3�I��H��$�H�D$XH�D$`�D$0D�l$HL��$�L��$�H��$�H��$�H��$�H��$�H��$�H;�$�tH�D$8H�H��t�@H��$��L�D$8H��$��=���H�D$8H��t#A����HA�uH�L$8H��H��V�A�ŋT$4����H�L$pH���[�����H��$�H�D$XL��$�L;��D�|$0L�t$`I9u��I�M�S��H��$�H��$�H�L��H�H��$���H��$�H�L$@H�H;�t-H�<�H�K�K
H�L$@��t
H�H��H;�u��LsA��H�AH�0H�	H��tH�� �B��H��H��u� H��$��(��H�D$XI��L;��=���L�t$`Ic�E��L��$�I�����~+3�H�D$`H��H��$�I�VI;VtH��L��$��$L��$�I�VI;Vt
L�:I�F�L��$�I���CH�T$4�‰T$4H��$�H��tIL��$�H��$��e�H��$�H��$�H+�H���[��W���$�H��$��T$4H��������$�+\$L��$�H��$�H��$��6���H��$�H��tEL��$�H��$��1��H��$�H��$�H+�H������W���$�H��$���L��$�����H�L$xH��t@A����AA�u3H�\$xH�H��H����A����KA�uH�L$xH�H�B���I��H��$�H3��1H��$�H�ĠA_A^A]_^�L�¯��H��$���H��`;H��$�O�
���H�\$WH��`I��H��H�L$ H�aH�a����H�G H�D$(H�H�H��t	�Z���uH��H��$�H��`_�L��y��H�L$0�B���H�`;H�L$0���
�H�\$VWAVH��0I��I��L��H�L$ H�\$pH�H�a�H��I�FH�H L��H���C���I�FH�0I�FH�pI�NH�q3�I�N�DH��H��|�I��H�\$XH��0A^_^����H�\$WH��`I��H��H�L$ H�H��AH��H��t	����u%H�KH�aH�aH�����H��H�\$xH��`_�L��x��H�L$0�D�H�	_;H�L$0���
���H�\$H�t$WH��0I��H��H�L$ H�H�a�x��
H�FH�X H�T$`H�H�cH�cH���6��W�3�C C0C@H�CPH!C(H!C@H�CH�C0H�FH�8H�FH�xH�NH�y3�H�N�DH��H��|�H��H�\$HH�t$PH��0_�H�\$H�t$WH��0I��H��H�L$ H�H�a���4
H�FH�X H�\$(H�T$`H�H�cH�cH���}��3�D�BXH�K ��
H�K �T:�H�FH�8H�FH�xH�NH�y3�H�N�DH��H��|�H��H�\$HH�t$PH��0_��H�\$H�t$WH��0I��H��H�L$ H�H�a�`�H�FH�X H�T$`H�H�cH�cH������H�c0H�C8�C H�FH�8H�FH�xH�NH�y3�H�N�DH��H��|�H��H�\$HH�t$PH��0_����H�\$H�t$WH��0I��H��H�L$ H�H�a�H��H�FH�X H�T$`H�H�cH�cH���6��H�c H�FH�8H�FH�xH�NH�y3�H�N�DH��H��|�H��H�\$HH�t$PH��0_����H�\$H�t$ WATAUAVAWH��H��H��H�L$03�D��\$$D��\$ L��H�L$HH�HcHJ�L)HH��tH�H�@����3�H���V���D$P���_H�Hc@H�D8@H�HH�L$@H�H�@����H�L$8��r�H�D$(H�L$@H��t&H�H�@�u�H��H��tH��H��\�H�^H��H�~rH��H�HcHL�|9(H��������M��~L;�rL��H�L9HH�A8H�H��t
H�AP9~��
H�H�@0���M��t���uD�pD�t$$���H�D$(H�@�PHu�H�NH;NsH�AH�FH��H�~rH���\�D��D�úH���^���A�D�d$ I��H�HcHH�L9H����z���3�D�t$$D�d$ L�l$HH�|$0H�HcHH�\9(E��uA��H�HcPH�DrH�BHH���у�A΃��J�B#�u@I�MHcQJ�L*HH��tH�H�B����H��L��$�I�[@I�sHI��A_A^A]A\_èt	H�3D��H�@DH�QDHDغH�L$8�J�L��H��H�L$X�6��H�wW;H�L$X��
�������������@SH��@M�PH��H�JH��������H+�I;�r>H�zL��rL�
I�xrM�L�T$0L�D$(L�ŠT$XH�L$ H���L��H��H��@[��J����@SH��`H���;H3�H�D$PH�BH��H�L$@H��������D�D$HH;�tJH�zL��rL�
H�L$HH�D$0H�L$(L�ŠT$HH��H�D$ ����H��H�L$PH3��O	H��`[���������H;�taH�\$WH�� H��H�Y(H�H��rH�K�H���5��H�c�H��C�H�K�H��t�{�t�"�H��0H�C�H;�u�H�\$0H�� _��H;�tEH�\$WH�� H��H��H�H��tH�SH+�����H�#H�cH�cH��H;�u�H�\$0H�� _��H;�tXH�\$WH�� H��H��H�H��t-H�SL������H�SH+H�H����p��H�#H�cH�cH��H;�u�H�\$0H�� _���H;�t+H�\$WH�� H��H��H���?H��H;�u�H�\$0H�� _����H;�t6H�\$WH�� H��H��H�H��t�{t��H��H;�u�H�\$0H�� _�H;�t0H�\$WH�� H��H��H�H��t��H��H;�u�H�\$0H�� _���L�D$H�L$SVWATAUAVAWH��0L��H��L��L+	I��������*I��I��L��I��I��H��?L�H�IH+I��H��H��H��H��?H�H��������
H;��+L�bH�NH+I��H��H��H��H��?H�H��H��H��H+�H;�vH�\$xH���0H�I��I;�HC�H;���H��H�IH��H�\$xH��r�-��H��L��$��3�H��t�$H��L��$�H�\$xH�|$ K�vL�4�M�~L�|$(L��$�I��I���+L��$�H�VH�L;�uL���L��L��I���H��$�H�VI��L��M���~�L��M��H��H���d9I��H��0A_A^A]A\_^[������:����L�D$H�L$SVWATAUAVAWH��0L��H��L��L+	I��������*I��I��L��I��I��H��?L�H�IH+I��H��H��H��H��?H�H��������
H;��+L�bH�NH+I��H��H��H��H��?H�H��H��H��H+�H;�vH�\$xH���0H�I��I;�HC�H;���H��H�IH��H�\$xH��r���H��L��$��3�H��t�xH��L��$�H�\$xH�|$ K�vL�4�M�~L�|$(L��$�I��I���*L��$�H�VH�L;�uL���L��L��I����H��$�H�VI��L��M����L��M��H��H����8I��H��0A_A^A]A\_^[�����������H�T$H�L$SVWATAUAVAWH��@M��L��L��L��L+	I��������*I��I��L��I��I��H��?L�H�II+I��H��H��H��H��H��?H�H�L$0H�UUUUUUUH;���L�AI�OI+I��H��H��H��H��?H�H��H��H��H+�H;�vH��$�H���3H�I��I;�HC�H;��9H�vH��H��H��$�H��r����H��H�D$ E3�L��$��/E3�H��t�H��H�D$ L��$��I��H�\$ H��$�J�4mI�H��H�L�n0L�l$8I�$H�A�D$�FM�4$E�t$L�v L�v(AD$FAL$ N M�t$ I�D$(E�t$H�t$(I�WM��L��I�L;�u���%I���TH�\$(M��M��I�WH��$��8�L��L�D$0I��H��I���5H��H��@A_A^A]A\_^[������w�����H�T$H�L$SVWATAUAVAWH��@M��L��L��L��L+	I��������*I��I��L��I��I��H��?L�H�II+I��H��H��H��H��H��?H�H�L$0H��������
H;��fL�AI�OI+I��H��H��H��H��?H�H��H��H��H+�H;�vH��$�H���3H�I��I;�HC�H;��H�vH��H��H��$�H��r���H��H�D$ E3�L��$��/E3�H��t�H��H�D$ L��$��I��H�\$ H��$�K�dH�4�L�fL�d$8L�6L�vL�vI�EH�I�EH�FI�EH�FM�uM�uM�uH�t$(I�WI�L;�uL���M��L��I���]H�\$(I�WH��$�M��M���A�L��L�D$0I��H��I���F4H��H��@A_A^A]A\_^[�������������H�\$UVWH�� H��H��H�	H�y�u4L�GH��H���2H��H�?H�K �.��H�����t�H���H�\$PH�� _^]�����������H�\$UVWH�� H��H��H�	H�y�u6L�GH��H���H��3�H�?H�K 衲���`H�����t�H��`H�\$PH�� _^]�e���H�\$ UVWH�� A�xI��H��H��uXL�GH��H������H��H�?H�K@�j/H�S8H��rH�K H�����H�c0�xH��H�C8�C ��t�H�\$XH�� _^]����H�\$ UVWH�� A�xI��H��H��u1L�GH��H������H��H�?H�K �6-��H����t�H�\$XH�� _^]���H�\$ UVWH�� A�xI��H��H��u3L�GH��H������H��3�H�?H�K �X����`H���;��t�H�\$XH�� _^]�H�\$ UVWH�� A�xI��H��H��u]L�GH��H������H��H�?H�K@H��t�/�H�S8H��rH�K H�����H�c0�HH��H�C8�C ��t�H�\$XH�� _^]���H��L�H L�@H�PH�HSVWATAUAVAWH��@M��M��H��L��M��M+�I��L�|$0H�AH�D$ L�)L�l$(L� L�d$8H�QH��I+�H��3�M����L;���I��I+�H��H��������H��H+�L;��N�9L�D$8I+�H��H��H��H��H+�H;�vH��$�H����2H�M��I;�LC�L;���I��H��I��L��$�H��r���H��L��$�L��$��%H��t�H��L��$�L��$�L��$�H�|$ H��H+L$(H��N�,9I��L�L�l$0L��$�H��H�9H��$�M��L��I��I�����H��$�H��$�I��uI;�u
L��H�D$(�M��L��H��H�L$(��U�H��$�H��M��M��I��H���U�L��L�D$8H��I�����H��@A_A^A]A\_^[�I��H+�H��I��H��H�4M��I��L;�sOI��H+�M��H���cU�I�FM��H��H���s��M��H��H��菾�M��L��H��$�H��$������?H�t$(L��H���U�I�FM��I��H���O��M��L��H��$�H��$�����=����h����"����H�\$H�l$H�t$ WH�� I��H��H��I��H+�H��E3�H��t\H��������H;�wbH��H��r
H�����
H��tH���L��L�L�GJ�H�GH�|$8L��H��H���
H�GH�\$0H�l$@H�t$HH�� _�������H�\$H�t$WH�� H�qH��H�H��H��H+�H;�sH��/v1H�GH+�H;�v
H��H���F�H+�3�L��H����
H�3H�GH�\$0H�t$8H�� _�H�\$H�t$WH�� H�qH��L�	H��I+�H��H;�sI���8v:H�GI+�H��H;�v
H����� H+�H��H��3�L����
H�3H�GH�\$0H�t$8H�� _���H�\$WH�� L�L��L�IH��������*M+�H��I��H��L��I��I��H��?L�M;�sH�QK�RI��L��H����H�_�EvCH�IH��I+�H��H��H��H��?H�L;�v
I��H���J�H�OM+�I��L���^H�GH�\$0H�� _����H�\$WH�� H��H��H�IH+H��H;�sH�WL��H��HH���N�H�_�2v0H�GH+H��H;�v
H����H+�L��H�OH���H�GH�\$0H�� _����H�\$WH�� L�	H��H�II+�H��H;�sI��L��H�WH����H�_�/v-H�GI+�H��H;�v
H����H+�L��H�O��H�GH�\$0H�� _��H�\$H�t$ WAVAWH��@L��H��H�L$0H��������H;���L�yL+9H�IH+H��H��H��H+�H;�vH�\$(�H�
I;�IB�H�\$(H��r
H��褹�H���H��t
H�����3�H�|$ J�?M��M+�3���
L�FL+H�H����
�H�H��tH�VH+����H�>I�>H�FH�H�FH�\$pH�t$xH��@A_A^_��5���H�\$VWATAVAWH��@L��H��H�L$0I��������?I;���L�aL+!I��H�IH+H��H��H��I��H+�H;�vL�D$ I������"H�4
I;�s+I��L�4�H�t$ I��rI��薸�H��H�D$(�.I;�����M��tI����H��H�D$(�3�H�\$(H�t$ J��M��M+�I��3��y�
L�GL+H�H���W�
�H�H��tH�WH+�H��许�H�J��H�GI�H�GH��$�H��@A_A^A\_^�����������H�L$SVWAVAWH��0L��H��I��������
I;���H�IH+I��������*I��H��L��I��I��H��?L�H�NH+I��H��H��H��H��?H�H��H��I��H+�H;�vI��H�\$hH���"H�I;�s I��H�\$hH�[H��H��r�3���H�\$hI;�wk��3�H��t�)�H��H�|$xK�H��H�L$(I��I+�L���6H�D$ L��L��H�VH���	�L��M��H��H��H��0A_A^_^[�'�����������H�L$SVWAVAWH��0L��H��I��������I;���L�yL+9I��H�IH+H��H��H��I��H+�H;�vI��H�\$hH���!H�
I;�sI��H�\$hH��H��H��r�-���H�\$hI;�wm��3�H��t�#�H��H�|$xI��H��H�H�L$(I��I+�L���j
H�D$ L��L��H�VH���L��M��H��H��H��0A_A^_^[�^(�����������H�\$H�L$VWATAVAWH��0L��H��I��������I;��L�aL+!I��H�IH+H��H��H��I��H+�H;�vL�D$hI������"H�4
I;�s+I��L�4�H�t$hI��rI�����H��H�D$x�.I;�����M��tI����H��H�D$x�3�H�|$xH�t$hJ��H�L$(I��I+�L���	H�D$ L��L��H�SH��d�H�H��tL��H�S�W�H�SH+H��H�� ��H�;J��H�CI�>H�CH�\$pH��0A_A^A\_^��v����0������H�\$H�l$H�t$WH��0H���;H3�H��$ I��I��H��H��L;�sK3�H�L$ A��@�
H��$`H���H���D H;�u�H�/H�7�
��| t5H��H;�r�H��H��$ H3��3�L��$0I�[I�kI�s I��_�H+�H������H�\$H�l$VWAVH��0H��;H3�H��$ L��$pI��I��H��H��M��tIL;�sD3�H�L$ A��y�
J�3��H���D H;�u�H�/H�7�
��| u4H��H;�r�H��H��$ H3��s�L��$0I�[ I�k(I��A^_^�H+�H�������H��H�XH�hH�pWH��pH��I��H�P�H����H�\$`�{uH�S H���?��uH��G�|H�"""""""H9F��L�H��$�H�D$(L�
̎H�D$0H�l$0H��H�D$ H�L$@�L�H�L$@H�XH�`��D$PL��H�T$0H���D$0貣�H��GL�\$pH��I�[I�kI�s I��_�����H��H�XH�hH�pWH��pH��I��H�P�H�����H�t$`�~uH�V H���[��uH�3�C�H��������H9G��L�H��$�H�D$(L�
�H�D$0H�l$0H��H�D$ H�L$@���H�pH�`H�L$HH��tH�� 3����H�L$HH��t
�`�DZ�D$PL��H�T$0H���D$0謢�H��CL�\$pH��I�[I�kI�s I��_�������H��H�XH�hH�pWH��pH��I��H�P�H�����H�\$`�{uH�S H���S��uH��G�|H���8��8�H9F��L�H��$�H�D$(L�
�H�D$0H�l$0H��H�D$ H�L$@�`�H�L$@H�XH�`�eD$PL��H�T$0H���D$0�ơ�H��GL�\$pH��I�[I�kI�s I��_�����H��H�XH�hH�p WH��@I��I��H��H��W�@�H�X�H�X�L�H�H;�tH��H���uH��0H�\$(H��0H;�u�L��H��H�����H��H�\$XH�l$`H�t$hH��@_��H��H�XH�hH�p WH��@I��I��H��H��W�@�H�X�H�X�L�H�H;�tH��H���yH��H�\$(H��H;�u�L��H��H�����H��H�\$XH�l$`H�t$hH��@_��H��H�XH�hH�pH�x AVH��`I��I��L��H��W�@�H�X�H�X�L�H�H;�t5H��H+�H�H��D>H��t�s��3���u>H��H�\$(H��I;�u�L��H��H����H��L�\$`I�[I�kI�s I�{(I��A^�L�U��H�L$8���H�X;;H�L$8�&�
��H��H�XH�hH�pWH��`I��I��H��H��W�@�H�X�H�X�L�H�H;�t*H�H�H��t�(��3���u9H��H�\$(H��H;�u�L��H��H����H��L�\$`I�[I�kI�s I��_�L�dT��H�L$8����H��:;H�L$8�w�
���@SH�� I��H;�tcL��L�AL+�E3�I�@�H�H��0A�C�M�X�E�O�\O�\ A@M�@0I�H�CD�AH�CL�M�X�I�@�E�X�H;�u�M��H��H���U�H��H�� [�@SH�� I��H;�tLL��L�AL+�E3�L�O�\�O�I�@�H�H��I�@�K�D�I�K�M�X�M�X�M�M�@I�H�H;�u�M��H��H���L�H��H�� [����@SH�� I��H;�tLL��L�AL+�E3�L�O�\�O�I�@�H�H��I�@�K�D�I�K�M�X�M�X�M�M�@I�H�H;�u�M��H��H���$�H��H�� [����@SH�� I��H;�tLL��L�AL+�E3�L�O�\�O�I�@�H�H��I�@�K�D�I�K�M�X�M�X�M�M�@I�H�H;�u�M��H��H����H��H�� [����@SH�� 3�H��H��tH�H�CH�CH��H��u�H��H���(�H��H�� [����@SH�� H��H��tH�#�CH��H��u�H��H�����H��H�� [�H�\$H�t$WH�� I��H��H��H��tL��3�I���U�
H��L��H��H�����H�t$8H��H�\$0H�� _�H�\$ UVWATAUAVAWH�l$�H���H�%w;H3�H�EM��H��L��H�U�E3�D�e�W�3�E�H�E�L�E�H�U���W�W��M�A��H�M׋E���tFM��tA�L�'L�gL�g�E�L�e�H�M�H����L�E�H�U�����H�U�H�M�H+���H�]�H�u�H;��XA�W�E�H�H�M��E�H��t�ȼ�A�ą���L�eL�mD�e�H��H�E�L�}�H�E�H�E�E3�L�E���H�M������wL�E�H�U�H�L$ �6��L��H�U�H;U�tAH�H�A�@�BM� E�`L�b L�b(A@BAH J M�` M�h(E�`H�E�0�
H�M����H�U�H��r
H��H�L$0�ש�L�e�L�m�D�d$0H�L$ H��t
D8d$(t��H�UH��r
H��H�M�蝩�H�M�H��tD8e�t虻H��H;������H�u�H�]�H�M�M��tE�&H�E�H�H�E�H�GH�OW��E�L�e�H��t8H;�t H�H��tD8ct�<�H��H;�u�H�]�H�U�H+�H��H������H��H�MH3����H��$8H���A_A^A]A\_^]�L�"���H�L$ �j��H�/5;H�L$ ��
�L��N��H�L$ �E��H�
5;H�L$ ���
����L��I�[I�SWH��I��H�ڃd$0W�3�H�BH!H!BH!B�D$0H���I�C�I�K�I�c�E3�L�ºcI�K��S��uH��t!H��H��$�H�Ā_�L�����H�L$P���H�^4;H�L$P�,�
����L��I�[I�SWH��pI��H�ڃd$ W�3�H�BH!H!BH!B�D$ H��I�C�I�K�E3�L�ºeI�K����uH��t!H��H��$�H��p_�L����H�L$@���H��3;H�L$@�
���H�\$H�T$WH��0I��H�ڃd$ W�3�H�BH!H!BH!B�D$ L�ºf�H��t�H��H�\$@H��0_��L��I�[I�SWH��pI��H�ڃd$ H�bH�B��D$ H�R�I�C�I�K�E3�L�º�I�K�������uH��t!H��H��$�H��p_�L�Ӆ��H�L$@���H��2;H�L$@�
��H�\$UVWAVAWH�l$�H��H��q;H3�H�E'I��L��ft
����H����W�3�EH�EE3�H�U�����H�}H+}H��L�E�H��H����E3�H��t/3�3�H�@H�H��H�EL�E�H��x�A��H�vIc�H;�r�H�
�H�E�L�u�E3�L�úfH�M��f��u>H�MH��tH�UH+�H���a��3�H�M'H3��3�H��$�H�ĐA_A^_^]�L�̓��H�M�����H��1;H�M��Z�
��H�\$ VWAVH��`H��p;H3�H�D$PI��L��ft
�����H����I�HI+H��������*H��H��H��H��H��?H�3�H�D$HW��L$8H!D$HL�D$0H��H�L$8�_,�E3�E3�H�\$8H��t(H�3�H�J��H�H�DH+L�I��H�IL;�r�I�NH�d$ L�˺fH�	I��h�����tH��tH�T$HH+�H��H�������H��tH�T$HH+�H��H����3�H�L$PH3����H��$�H��`A^_^�@USVWATAVAWH�l$�H��H�vo;H3�H�EM����H�qL�!H�E�H�D$ E3�E3�H�I��������L�u�I��3�H�EW��M�H!EL�E�I��H�M��.+�H�d$ H�}�L��L�E��H�I��n��؅�umM��tfL�E�I��I����3�M��tP3�H��H�M��E�H��t�(��3���ujI�H�H�U���H�M�H��t�}�t��H��H��I;�r�3�H��tH�UH+�H��H��賢��H�MH3���H�ĠA_A^A\_^[]�L��H��H�M����H��.;H�M�豼
�H�\$ UVWAVAWH��H��`H�n;H3�H�E�I��L�qL�9H�E�H�D$ E3�E3�I�I��X���u~H�U�H��3�H�E�W��M�H!E�L�E�H�M���)�H�d$ H�]�L��L�E؋�I�I��
�����uH��tH�U�H���Ɛ��H�]�3�H��tH�U�H+�H��H��訡��H�M�H3��z�H��$�H��`A_A^_^]���@USVWATAVAWH��H��pH�#m;H3�H�E�I�؋�L�qL�yL�!H�E�H�D$(H�d$ E3�D��I�I�I��`�����H�U�H����3�H�E�W��M�H!E�L�E�H�M��d����H�d$(H�}�H�|$ L�M�D��I�I�I�����tH��tH�U�H+�H��輠���H��tHH�u�H��H+�H;sw&L��H�{rL�3H�sL��H��I����
A�6�L��E3�H��H���\��H��t+H�U�H+�H���W���H��tH��H�{rH�H�c�3�H�M�H3��
�H��pA_A^A\_^[]���H�\$H�t$H�L$WH�� A��H��H���bG�H��H�D��A��A��A����A�у�$AEыËʃ�$D�D��A����DD�H��H�rH�L�GH����H��H�\$8H�t$@H�� _�H�\$H�L$UVWH�� A��H��H���d$XE��t+H��H�H��H�AH�,H����D$XE3�H�Q��E�H�HcPH�ZH�:H�HcPD��h���D�D:�D��H��H�O����H��H�\$HH�� _^]����H�\$WH��`H��H��H�L$ H�H��AH��H��t	�߰��u)H�KH�aH�aH�W葺�H��H��$�H��`_�L��D��H�L$0����H��*;H�L$0諸
���H�\$H�l$ VWAVH�� 3�H��H�H�YH�YH�*L�rI;�tPI��H+�H��r
H��蓝��
H��tH����H��H�H�;H�^L��H�NH��H����
H+�I�H�^H�\$PH��H�l$XH�� A^_^�H�\$UVWH��0H��E3�L�L�AL�AH�2H�jH;���H��H+�H��������*H��H��H��H��?H�H�UUUUUUUH;�waH�<RH��H��r
H�����
H��tH�����L��L�L�CJ�H�CH�\$ L��H��H����H�CH��H�\$`H��0_^]��Q���H�\$H�t$ WH��0H��3�H�H�AH�AH�:H�rH;�tCH��H+�H��������*H��H��H��H��?H�H���\#��H�\$ L��L�H��H����H�CH��H�\$PH�t$XH��0_����H�\$H�L$WH�� H��H��H��H�H�QW�H�K�ֵ
H�KBH��C�GH�C H�G H�SzH�H�S(H�O(�W����H��H�\$8H�� _�H�L$SH�� H��W�A�QL�A H�zH�H��(I�������H��H�� [��@USVATAUAVAWH�l$�H��H�yg;H3�H�EM��M��L��L��H�M�3�H�I�pI+0H��W��M�H�]L�E�H��H�M��N#�W��M�H�]�L�E�H��H�M��1#�D��H�]�H��t>L��L�U�L+�Mc�I��I�$I�H�yrH�	K�I�$I�DI�I��I��L;�r�H�E�H�D$ L��L�E��I�M�S�I��U߅�u`M��tA!H�}�tH�U�H+U�H��H�M��͚�H��tH�UH+�H��H��贚�I��H�MH3���H�İA_A^A]A\^[]�L��xH�M�����H��&;H�M�豴
�H�\$ UVWATAUAVAWH�l$�H���H�f;H3�H�EI��L�D$HH�T$PL��H�L$XL�}wL�e3�H�9I�XI+H��I�II+	H��������*H��H��H��H��?H�H;���W��M�H�}�L�D$AH��H�M��!�W��M�H�}�L�D$@H��H�M��!�D��H�}�L�u�H��t=E3�L��M��L+�H�I�K�Ic�H�@H�H�D�H+�I�I��M�RM�IL;�r�3�H�E�W��M�H!E�L�D$@H��H�M��!�3�H�u�H��t3�L�D$HI�H�H��H��H�RH;�r�M��tL�D$@H��I���;��H��tI��3�H�T$HH�BH+H��H�U�H�T$0H�L$(L�t$ L��L�Ƌ�H�L$PH�	��I�E�U���u~M��tA!$H��tH�U�H+�H��H��蓘�M��tH�U�I+�H��I���z��H��tH�U�H+�H��H���a��I��H�MH3��1�H��$HH���A_A^A]A\_^]�L��vH�M��¹��H��$;H�M��V�
�����U�L�^vH�M�虹��H�^$;H�M��-�
�H�\$WH��0H��H�L$(H�H������H�_XH�\$ H�#H�c�x�,�H�H�@H�@f�@H��GhH�_pH�\$ H�#H�c�H��H�H�@H�@f�@H�H���H�\$ H�#H�c�H���H�H�@H�@f�@H�H��H�\$HH��0_����H�\$WH��0H��H�L$ 3�H�H�AH�A�AH�A0H�A8�A f�A@H�YHH�\$(H�H�C�H`�S�H�H�@H�@f�@H�H��H�\$HH��0_��H��(H�	H��t��H��(���H��(H�IH��t
��聖�H��(�H��(H�IH��t
�`�e��H��(�H��(H�	H��t�c
H��(���H��(H�	H��t�
H��(���@SH�� H�H��t5H�H��t-H�SL�����H�SH+H�H�����H�#H�cH�cH�� [����H�\$WH�� H�YH��H��tFH�K@�H�S8H��rH�K H��试�H�c0H�C8�C H�_H��t
�xH��舕�H�\$0H�� _��H�\$WH�� H�YH��H��t5H�K@H��t螧H�S8H��rH�K H���B��H�c0H�C8�C H�OH��t
�H���H�\$0H�� _����L�AH�QH�	���L�AH�QH�	���L�AH�QH�	����L�AH�QH�	����@SH�� L�H��H��M�@�T��H��xH�� [馔���H���\��@SH�� L�H��H��M�@�\��H��HH�� [�r����H�\$WH�� H��H��hH�����H�SXH��rH�K@H���A��H�cPH�K H�CX�C@�	H�SH��rH�H�����H�cH�C�H�\$0H�� _����@SH�� H�Q(H��H��rH�IH���Փ�3�H�C(H�C �CH�H��t
8Ct�åH�� [����������s���@SH�� H��H�	H��t-H�SL���_��H�SH+H�H����d��H�#H�cH�cH�� [�@SH�� H��H�	H��t-H�SL���W��H�SH+H�H��� ��H�#H�cH�cH�� [�@SH�� H��H��(�H�[�H�KH�H�� [��
��H��(H��H�	H��t�xt�פH��(��@SH�� H�Q(H��H��rH�IH��衒�H�c H�C(�CH�[H��t9����C��u,H�H��H��������C��uH�H��H�@�~�H�� [��#����H�\$WH��PH��H��H;�t+H�	H��t�{t	�)���u"H�H��G�CH�'�GH��H�\$`H��P_�L�8��H�L$ �{���H�@;H�L$ ��
��H�\$WH��PH��H��H;�t%H�	H��t	����u"H�H�H��t	�"���u3H��H�\$`H��P_�L��7��H�L$ �
���H��;H�L$ 蠫
�L�h7��H�L$ ���H��;H�L$ �{�
���H�\$H�t$H�|$AVH�� H��H���o�L�vH�{I;�t?H�WH��rH�H����3�H�O��AH�GAANOI�NI�FA��F0H�|$@�C0�F1H�t$8�C1H��H�\$0H�� A^��������H�\$WH�� H����H��(�H��H�OH�聪
��t
�@H���#�H�\$0H��H�� _��H�\$H�t$H�|$AVH�� H��I��H�	M��H��H��t>H�SL�����L�CH��������*L+H�I��H��H��H��?H�H�RH�����H�;K�vH��H�H�CH�vH�t$8H��H�H�|$@H�CH�\$0H�� A^���H�\$H�t$H�|$AVH�� H��I��H�	M��H��H��t>H�SL�����L�CH��������*L+H�I��H��H��H��?H�H�RH���M��H�;K�vH��H�KH�vH�t$8H��H�|$@H�KH�\$0H�� A^�H�\$H�t$H�|$AVH�� H��I��H�	M��H��H��t>H�SL���;��L�CH��������*L+H�I��H��H��H��?H�H�RH��赎�H�;K�vH��H�KH�vH�t$8H��H�|$@H�KH�\$0H�� A^�H�\$H�t$H�|$AVH�� H��I��H�	M��H��H��t>H�SL�����L�CH��������*L+H�I��H��H��H��?H�H�RH�����H�;K�vH��H�KH�vH�t$8H��H�|$@H�KH�\$0H�� A^�H�\$H�l$H�t$WH�� H��I��H�	I��H��H��tH�SL�����H�SH+H�H���襍�H�+H��H�H��H�sH�H�l$8H�t$@H�{H�\$0H�� _����I��L��L��H��I������I��L��L��H��I���T���I��L��L��H��I�����I��L��L��H��I������I��L��L��H��I�����I��L��L��H��I��� ��H��H�XH�hH�pH�x AVH�� A��I��L��H��I�������M����A����<��I��I��r������L��I��H��H����
D��H�/H�KhD��A��uH�C+�H�8H�C8H�8H�CP�@��u@H�Sh@��H�C H��HD�+�H�8H�C@H�H�CX�E��tH�CH�8H�C8H� H�CPD����H�ahH�l$8H�|$H�spH�\$0H�t$@H�� A^����@SH�� H��H�	H��tLH�SL���o���H�SH��������*H+H�H��H��H��H��?H�H�RH��蝋�H�#H�cH�cH�� [��@SH�� H��H�	H��tLH�SL���s���H�SH��������*H+H�H��H��H��H��?H�H�RH���9��H�#H�cH�cH�� [��@SH�� H��H�	H��tLH�SL���[���H�SH��������*H+H�H��H��H��H��?H�H�RH���Պ�H�#H�cH�cH�� [��@USVWATAUAVAWH�l$�H��H�XV;H3�H�EM��M��H��L��L�mH�rH+2H��3�H�E�W��M�H!E�L�E�H��H�M��,�3�H�]�H��t3�H�H�H��H��H�IH;�r�H�WH+H��L�l$(L�d$ M��L��I��~���E3�H�U�I���s�����uDH�M��	����H��tH�U�H+�H��H���܉�3�H�MH3���H�ĸA_A^A]A\_^[]�L��L��g��H�M���H��;H�M��գ
�H��H�XH�pH�x UATAUAVAWH�h�H���H�"U;H3�H�E/L���AhE3����}H��H�M��u�����W�EI�XL��H�UI���; �M���I�$L�CI��I������H�[H�H�[M�t$H�]H�D8s��W�EL�C@H�UI���8�L�EI�8D8w�=H���L�G H�U�H�����H�0H��@L��D8����H�U�I�����L�m�E8uuI�U H���z���tnH���8��8�I9D$��H�u�H�E�H�D$(H�E�H�D$ L�
dM�$I��H�M�蔷��H�pL�pH�M���E��E�L��H�U�I���x�L��I�M@�I�OpH�U��e��H�H��@H�W@�
���H�GD8ptH�G�
H;xu
H��H�@D8pt�H���H��H�D8quH��H�H��D8pt�D8wH�������L�EM�@H�UH�M�H���HH�M�b��H�CD8ptH�C�
H;Xu
H��H�@D8pt�H���H��H�D8quH��H�H��D8pt�D8s�.���I�XH�L�CH��H�����H�[H�H�[L�wE�whH�UH�M����H�M��5�H�M/H3���L��$�I�[8I�s@I�{HI��A_A^A]A\]��A������H��H�X VWAUAVAWH��p)p�H�/R;H3�H��$PM��L��$�H��L��H�L$XH��$�H�T$PL��$�3��|$4H�TeH�
]Q;�h��H�����W�H�>H�~D�oHA���H�H�@H�@f�@H��D$4H��$�HDŽ$�@��$�I�H�ˆH��$0H��$8H��$ 藡�H9�$0��M��H��$�I���L��H;�t=H�L�CH��H���C��H�[H�H�[H�~H�I�H�I�H�NI�FH�FI�NL��$�M�@H��$�H��$����I��H��$�����s3�H�t$P�gI�H�� H��$`����D$4(�$��$(�$��$fof�f�$�@��$�H��$`���H�
�c���H��A��H��$P�l�H��$@HDŽ$H@��$0H��$PH��H��@8<u�H��$0H��w"H��$@L��H��$P譬
@��0�L��$PD��H�����H��$0H��$HHC�$0H��$@�|�\t4L��$0H��$HLC�$0H��L�H�T$`H��$0�4�L��$ H��$0H��$p�5���H��H��$0H;�t`H��$HH��rH��H��$0�W��H��$@HDŽ$H@��$0�$0K�$@H�{H�C@�;H��$�H��rH��H��$p��L��$0H��$HLC�$0L��$�3�A�H��$@�`�
�D$ A�@E�A�I��H��$@�n����H9�$��
A�H��$H��$@��)��$�$�L��D��$H��H��$@��)�0H�
!^�K��H��$��$L��$L��$��$I����H����$L��$I�H��$�HDŽ$�@��$�L;�t:I+�H��$�H��wH��$�L��I���G�
@����D��H��蒅��I���T�H��$�wJ��H��$H��$�����H��$@����A�H��$��(��$��L��H�D$`D��$H��H��$@�(H��$@�H��$L��$L��$��$I���G��W���$��$�H��$�L�D$0H��$��*����W���$XH��$hD��9�$��L��$�A��H��$�B�*A��D;�$u�H��$`H;�$h��H�;H�{H�{L;�$�tiL��$�M+�I��r
I����L���M��t
I��蝻��L��L�3L�sK�>H�CM��I��I��苨
M+�L�$�L�sL�t$`L�|$XH��$`�(H��$`L��$�H��H��$X����L��$��I���b�H��$�H��設H��脭H�H��Hi�ʚ;Hi�ʚ;H�H��H�H�D$XH��$PI�H���H�L$`�D$hH��t
�e�����W��D$pH��$�D�L$0L�D$pH�T$`H�L$p�0����I�H��H�|$(H�|$ L��$XL�D$pH��$P�q��H�\$pH��tSL�t$xI;�t!H9;t@8{tH��ʐH��I;�u�H�\$pH��$�H+�H���H���~�W��D$pH��$�L�
���D�B�H�L$`��I�H���H�L$8�D$@H��t
�n�����W���$H��$(D�L$0L�D$HH�T$8H��$�3����L��$�I�� I�xrM�H�|$ E3�H��$H��$P��H��$H��t\L��$ I;�t$H9;t@8{tH��H��I;�u�H��$H��$(H+�H���H���}�W���$H��$(L�
���D�B�H�L$8���n�H���J�H�H��Li�ʚ;Hi�ʚ;H�H��I�H+D$XW��H*��^�\Z��Y
�\f/
{\vH��$�謲�W��L$8H�|$H�D$4
L�D$8�fH��$P�z��I�H��PH;�XtH�T$8H�����H��P�L�D$8H��H��H蘳���D$4H�\$8H��tjL�t$@I;�t-H9;tH�SH+H��`|�H�;H�{H�{H��I;�u�H�\$8H�T$HH+�H��������*H��H��H��H��?H�H�RH��H���|�W���$�H��$�H��$�H��$P�H��$�L��L��$�I��H�D$XL;���E3�H��$pI�������L��$pH�T$pH�����0�@��$(H��$(@8zuH�� H��$p�z���tZH���8��8�H9F�=L�t$ L��$pL�H��H�L$8襧��H�XH�xH�L$8���t$`L��H�T$`H���l�H��$�H��rH��H��$p��z�I��L��$�H��$�H�D$X����H��tNI;�tH9;tH���H��I;�u�H��$�H��$�H+�H��H���z�W���$�H��$�H��$PH��t�ӌ�H��$XH��tdL��$XH��$`�T���H��$hH��$XH+�H��������*H��H��H��H��?H�H�RH���z�W���$XH��$hM����H��$�I+�I����y���I�����L��$�H�T$8I����L��H;�t=H�L�CH��H���w���H�[H�H�[H�~H�I�H�I�H�NI�FH�FI�NL�D$8M�@H�T$8H�L$8�4����HH�L$8�My��3�H�t$PH��$�H��rH��H��$��%y��#H�t$P3�H��$������H���H��$�H��$�连�H��$HH��rH��H��$0��x�H��$@HDŽ$H@��$0H��$H��rH��H��$�x�H9�$��u�I���+��M��H�T$8I���L��H;�t=H�L�CH��H���(���H�[H�H�[H�~H�I�H�I�H�NI�FH�FI�NL�D$8M�@H�T$8H�L$8����HH�L$8�w�����H��$8H��rH��H��$ ��w�H��$�H��rH��H��$��w�H��$�HDŽ$�@��$�H��H��$PH3��l�L��$pI�[HA(s�I��A_A^A]_^�L�x��H��$���H��;H��$腑
�L�M��H��$8�ʘ��H��;H��$8�Z�
��tr�H��$��V��L��H�,VH��$���H��H��$��>��H�_;H��$��
�
��H��H�X UVWATAUAVAWH������H��)p�H�UB;H3�H���M��H��L��H�T$8E3�D�l$4W�L�*L�jA�MH��H�H�@H�@f�@H��D$4W��MhL�mxM�~I�6I;�t%�\$0�\$ L�NL�H�UpH�Mh�w���H��I;�u�L�mHI�$H��E3�L�EhH�MH����I�$H���H�M��E�H��t
�����sW��EL�mD�L$0L�E�H�U�H�M�Ƿ���M�F A�M9xrM�L�l$ E3�H�UH�MH���H�]H��tGH�uH;�tH�H��tD8kt�i�I�H;�u�H�]H�UH+�H���H���9u�W��EL�mL�
F�A�I��H�M��į�W��M�L�m��D$4L�E�fH�MH���I�$H��PH;�XtH�U�H�����H��P�L�E�H��H��H踫���D$4I��������*H�]�H��t`H�u�H;�t,H�H��tH�SH+��xt�L�+L�kL�kH��H;�u�H�]�H�U�H+�I��H��H��H��H��?H�H�RH��H���5t�W��MPL�m`H�UPH�MH��H�uPL�uX��E3�H���H������L���H�UH���]��0�@���H���D8juH�� H��������tUH���8��8�H9G�HH�t$ L���L�H��H�M����H�XL�hH�M�����uL��H�UH���dd�H���I;�rH��H����Hs�H��I;��,���I�$H�ˆL���L���H������A�L9����W�3���H���E3�H���H�MH����H�
�Q��wH��A��H�����wL�m8L�u@D�m(H���H��H��D8,u�H�M(I;�wH�]8L��H�����
D�l(�L���E��H���Sv�H�E(L9}@HCE(H�M8�|�\t"L�E(L9}@LCE(H��L�H�U�H�M(���L���H�U(H������H��H�E(H;�t;H�U@I;�rH��H�M(��q�L�m8L�u@D�m(E(KM8L�kL�sD�+H���I;�rH��H����q�H�](L9}@HC](3�A�H����.�
�D$ A�@E�A�H��H����s���L9�h�DI�$H�� H�L$@�����D$4	(E���(M���fo��fE�D�m�H�L$@�-��0H�
�L�d:��L�mD�m H���L9��HC��L�M L�E����8��L�m�D�m$H���H�PH+L�M$L�E�H��8���D��H�U H����qD�E H�UH����]D��H�U$H����JD�E$H�U�H����6H����ʅ��H�M�19��H�M��(9���H���I;�rH��H����p�H����z���H���H���H����ĕ�H�U@I;�rH��H�M(��o�L�m8L�u@D�m(H���H��tqH���H;�t/H�H��tH�SH+��o�L�+L�kL�kH��H;�u�H���H���H+�H��������*H��H��H��H��?H�H�RH��H���Vo�H���I;�rH��H����:o�H�]PH��tBH�uXH;�tH�H��t�`�H��H;�u�H�]PH�U`H+�H��H���n�W��EPL�m`H�MHH��t�D��H�]hH��tHH�upH;�t,H�SI;�rH��H��n�L�kL�sD�+H�� H;�u�H�]hH�UxH+�H���H���n�H��H���H3��\�L��$I�[XA(s�I��A_A^A]A\_^]��i�L�_��H����ݏ��H���:H����n�
��������������H�\$H�t$WH��`H�yH��H���t H���{��H�����H�H#���~��t3�3�H��D�B�,}��H��u+H�HcPH�H�BHH�؋B�у�J�����J#�uH�\$pH�t$xH��`_èt	H����H�"�H�3�HDغH�L$ �,��L��H�L$0H���.�H�Y�:H�L$0��
���H�\$H�t$ UWATAVAWH�l$�H��H��8;H3�H�E/L��H��L�M�E3�3�H�	����?W�3�H�E�U��EH!EL�E�H�M���E3�L�uM�ƋU�H��?����M��trH�}I+�H��L�E�H��I���r���3�H��tQI��H�]�I�$L�<�H��H�M�L;�t I�H��t�~�3�����I�3�3�H��tH���~H��H;�r�M��tH�UI+�H��I���"l�3�H�M/H3���L��$�I�[@I�sHI��A_A^A\_]�L�iJ��H�M�肍��H�G�:H�M���
�L����H�M��_���H�$�:H�M���
�L�#J��H�M�<���H��:H�M�Ѕ
����������������H��K�@H���pk�H�\$H�t$ WH�� H�yI��H��H��H��rH�L�AH+��I��H+�H;�HB�H�yH��rH�L+�H�8L�CH�L+�I��蜓
H�{rH�H�;H��H�\$@H�H�t$HH�� _�H�\$WH��`H��H��L�A H��H�L$@�w����L�C@H��H�L$ �h�L�C`H��H���uh�H�T$8H��r
H��H�L$ �j�H�d$0H�D$8�D$ H�T$XH��r
H��H�L$@�`j�H��H�\$pH��`_���H�\$ UVWH��`H��5;H3�H�D$PA��I��H��H��H�T$HL�D$H��L��H�T$ ����H����r��H�\$0�{��H�S H���������H�K@H�H��t
�V|����H�WH��rH��H��i�H�gH�G�H��H�L$PH3��m�H��$�H��`_^]�H�Mp����H�\$0�{uqH�S H���i���uaH�K@H�H��t���{��u'�L�K��H�L$ �ˊ��H���:H�L$ �^�
�L�&��H�L$ 覊��H�k�:H�L$ �9�
�H�
Q��|�����H��H�XH�pH�x UATAUAVAWH��H���H��H�s4;H3�H���I��L��H�T$`W�E�E3�L�u�L�u蹘�
�H�H�@H�@f�@H�E�H�H�D8s�QW�3�E(H�E8H�S@H�� L�u�L�u�H�M��/��L�u�L�u�H�S@H�M����W��E(L�u8D�L$0L�E�H�U�H�M(�j�L�
N~� D�B�H�M�蜢H�S@H��`L�upL�uxH�M`�Ã�H�S@H��@L�uL�u H�M詃�H�C@����L$0D�{pD�kqH�}H�} HC}H�uH��rGL�47M�F�L+�H���%�8-u
�xDu3��Ƀ���tBH��M�F�L+�H�Ⱥ-�{�
H��u�E3�H�}H�} HC}H��r]L�F�L�L+�H���?H+�E3�H������ˀ8-u�xIuA���Ƀ�����H��L�F�L�L+�H�Ⱥ-��
H��uİ@�t$0@"�@�t$0tfH�UH�L$8�H��H�EH;�t4H�U H��rH��H�M�f�EOML�wH�GD�7H�T$PH��r
H��H�L$8�[f�L�uPL�uXH�UH�M@�6��@����H�U�H�L$`��L�D$`H��DH�L$8���H��H�xrH�L�@H�M@�܆�H�T$PH��r
H��H�L$8��e�L�t$HH�D$PD�t$8H�T$xH��r
H��H�L$`�e�E��tA�H��DH�M@�}��E��tA�
H��DH�M@�b��L�E@H�T$8H�M�����H�t$HD8vuH�V H�M@�d�����H����k(�H9E���H�E@H�D$`H�D$1H�D$(H�D$`H�D$ L�
�@L�E�H�U�H�M��'���H�xL�pH�M�H��tH�� �}��H�M�H��t
����d�D$8�D$`L��H�T$`H�M��U�H��D���D���H�FHH9F@uqH�N`H�EH;�tdL�ML�m I��LCMH�}H;yw>L��H�yrL�1H�yL��I��I����
A�>E3��$H+�H����s���A���m���E��H���"h�L�m �����fX�����9FX��W��D$8L�t$HH�VHH;VPtL�2L�rL�r�D$8H�FH�L�D$8H�N@裞��L�t$HL�|$8M��tLI��L;|$@t0H�WH��rH��H��c�H�gH�G�H�� H;|$@u�M+�I���I��I���|c�H���L�E`H�U��ܰ��H�SPH�H��@���3�H�EW��M�H!EL�u(L�}0M;�t}I��I+�H��H��������H;���H��H��r
H���wb�L���H��t
H���u���E3�L�E�L�E�I�8H�EH�E�H�D$`L�M�I��I���pj�H�E�L�}0L�u(�|$0��W��D$8H�d$HM;�t{I��I+�H��H��������H;���H��H��r
H����a�L���H��t
H���ٝ��E3�L�D$8L�D$@I�8H�D$HH�D$8H�D$`L�L$8I��I����i�H�D$@H�T$8H�M���H�U�H;Ut/H�bH�bHJH�`H�@�H�E� �
L��H�M�蒲�H�U�H��rH��H�M��a�L�u�H�}��MH�NHH��H�QH;Qt/H�bH�bOJH�gH�G�H�A �L���(��H�� I;�u��FXH�M�E3�H��t-L�E�H�U��a�H�UH�M�H+�H����+a�W��E�L�uH�UXH��rH��H�M@�	a�L�uPA�L�}XD�u@I��rI�UH�M��`�H�UxH��rH��H�M`��`�L�upL�}xD�u`H�}(H��tUH�u0H;�t-H�WH��rH��H��`�L�wL�D�7H�� H;�u�H�}(H�U8H+�H���H���o`�W��E(L�u8H�CD8pt!H�C�
H;Xu
H��H�@D8pt�H������H��H�D8q�����H��H�H��D8pt����M�4$M�t$��聛H�H�@H�@f�@H�M�I�$H�E�I�T$H�M�I�L$H�U�H�U�H�M�腜��I��H���H3�蓜L��$�I�[0I�s@I�{HI��A_A^A]A\]���Z���}��}��H��H�XUVWATAUAVAWH��(���H��)p�H�
+;H3�H���H��H�U�L��H�M�H�L$@H�U�E3�D�l$4A�uH�u`H�EX�EH 	
D�mLH�u H�E� 	f�ED�m
L�l$8H�u@H�E8��=�E(��=f�E,D�m.W�E�L�m�L�m�N1�8�L��H�H�@H�@f�@H�E�L�?H�GH�D$@L;��c@�t$0D�t$0@�|$0�\$0L�MHH�}`LCMHI��M�oI��rI�@�t$(H�EXH�D$ L�D$8I�W�R���L��I��I�����I��I��rI�B�<#��L�MH�} LCMI��I��rI�I��D�t$(H�EH�D$ I�W���H��H�D$PI��H����<I9W�0L�M(H�}@LCM(I�GH+�L�U8I��I;�HB�H�M�I��I��rI�L��L;�MB�H�I����
��u
H�U8H9U�sI����w�L�MH�} LCMI��I��rI�L�D$PL�@�|$(H�EH�D$ I�W�>���H�D$PI��L�l$PI�����L��kH�UHH�L$p�[�L��H�xrL�I��I�rI��\$(H�@H�D$ M��I�W蛨��L��H�U�H��r
H��H�L$p�\�I���uM�gH�e�H�E�E�M+�M��M��I��H�M�豆���L$4L�E�H�T$PH�M�����0�@�E�H�UȀzuH�� H�M��R�����H��������H9E���L�M�L�E�H�U�H�M��EM��L�`H�`L�m�M��t;I�U8H��rH��I�M ��[�I�e0I�E8A�E H�M�H��t
�@��[��t$PM��H�T$PH�M��L�H�UH��rH��H�M��[�I�GL�e�H�L$8H��M��H��rM�/M�GI;�s)L+�Iͺ
蕌
H��tI+�H�D$8H��������H�L$8�I�� L;|$@�����H�}�L�u�E3�A�uL�mxH���D�mhI�$D8k�lL�C H��9H�L$p�Y�L���H��H�M��Y�H��H�xrH�L�@H�Mh�{�H�UH��rH��H�M��Z�L�m�H�ED�m�H�U�H��r
H��H�L$p�Z�L�C H�>9H�L$p�tY�L��H��H�M��X�H��H�xrH�L�@H�Mh�%{�H�UH��rH��H�M��.Z�L�m��H�uD�m�H�U�H��r
H��H�L$p�Z�A�H��8H�Mh��z�H�CD8htH�C�
H;Xu
H��H�@D8ht�H���H��H�D8iuH��H�H��D8ht�D8k�����L�e�EhAMxANL�mxH���D�mhM�D$H�U�H�M��q9�@H�M��_Y�H�U@H��rH��H�M(�HY�L�m8H�u@D�m(H�U H��rH��H�M�&Y�L�mH�u D�mH�U`H��rH��H�MH�Y�L�mXH�u`D�mHH�H��t*L��H�W�$Y�H�WH+H���H���X�L�/L�oL�oI��H���H3�蔕L��$�I�[PA(s�I��A_A^A]A\_^]��T���S��H�\$H�L$VWAVH��pI��L��H��3���$�H!yH�L$(H�LcHI�L	HH��tH�H�@�ma��H������D$0��tKH��~FH�HcHH�LHH�L��I��H�@@�6aHC�H;�E���$��H��$���$�H�Lc@L�A�H�I�@HH���҃�у�A�PA�@#�u3H�HcHH�LHH��tH�H�@��`�H��H��$�H��pA^_^èt	H����H��H� �HDغH�L$8���L��H��H�L$H��H�F�:H�L$H�lq
����H��H�XH�p UWAUAVAWH�����H���)p�H��";H3�H���H��H��H�L$8E3�D�t$ 3�A��H�M��n�
E�NE�FH��H�M��.����W���L���L���E�n@A����L��H�H�@H�@f�@H���H�E�HcHE�~D9t
��;L���L���D���H���H�M��>���L���H�T$@H���蚿�0�@�D$pH�T$pD8ruH�� H����	�����H��������H9����L���L���H���H�L$(��F��H�pL�pH�\$0H��t4H�S8H��rH��H�K �U�L�s0L�{8D�s H�L$0H��tI���yU��t$@L��H�T$@H����_F�H���H��rH��H����BU�H�E�HcHD9t
�����L���L�wL�D�7�D$ I�D8s��H�S L��H����S�H��H�xrH�L�@H���u�H���H��rH��H����T�H�CD8ptH�C�
H;Xu
H��H�@D8pt�H���H��H�D8quH��H�H��D8pt�D8s�e���L���M�@H���H����S4�I��H����@T�H�M��H���H�EH�M��y�H��H���H3���L��$�I�[@I�sHA(s�I��A_A^A]_]��HO�����@USVWATAUAVAWH�l$�H��(H�|;H3�H�EE��M��H��H��H�U�3ۉ\$$H�ZH�B�D�{D�|$$H�U�I����H�NH�L$(�}���EL�vXL�E�H�U�I���ͼ�H�]�{uH�S H�M��N���tI�I;��H�VxHV`H�M�����D$$I�$H��`L�
�H�M��Q�L�M�L���T$ H�L$0����D$$H�D$0H;�t8H�WH��rH��H���R�3ۍCD$0L$@O��H�D$H�\$0�H�T$H3�H��rH��H�L$0�R�H�U�H��rH��H�M��pR�H�]�H�E��]�H�U�H��rH��H�M��KR�I�L$H��t
�DyI�L$I�$H�D$PH�L$XW��D$pH��H�L$`�n�D�m�����E�L�E�H�U�I��膞��H�H��@H�T$P����H�T$xH��r
H��H�L$`��Q�H�L$XH��tRA��A����AA�uAH�\$XH�H��H���ZA����CA�u H�L$XH�H�@��Z�H�SPH���t�D�~hH�L$(��{�H�UH��rH��H�M��KQ�H��H�MH3���H��(A_A^A]A\_^[]Ë��|�H�\$H�L$VWAVH��pI��L��H��3ۉ�$�H��H�L$(���8\$0u	D�KA���OH��~DH�HcHH�L9HH�L��I��H�@H��YA�H;�AEى�$��H��$���$�A�H�Lc@L�A�H�I�@HH����A#�у�A�PA�@#�uL�4m��uH�L$(�:H�H�T$(H�HcHH�LHH��tH�H�@�ZY�H��H��$�H��pA^_^�A��t	H�����H���H���HDغH�L$8谍�L��H��H�L$H��H���:H�L$H�j
���H�\$WH�� H��H���[{��PH���=x���H���yH�\$0H��H�� _��H�\$WH�� H�ً�H��`H��t+H��pH+�H����RO�H��`H��hH��pH���R���@��t
��H���ߊH��H�\$0H�� _��H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@�
XH���R���H;�u`H9~u7H�L��M��H��H��H�@ ��WH�\$`H��H�l$hH�t$pH�|$xH��PA^�H���H�L$0��H��:H�L$0�h
�H�>�H�L$0�p�H���:H�L$0�h
�����������H�\$H�t$WH��@H��H��H�JH�H�@�JWH��蒠��H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%WH���H�L$ ��~�H�d�:H�L$ �h
�H���H�L$ ��~�H�A�:H�L$ ��g
���������������H�\$UVWAVAWH�l$�H���H��H��A�L�}/E3�L�u'D�uL�}�H�E�
�!��E����E����E�D�u�L�}�H�E����E׋��E�D�u�L�uL�}D�u�L�
�-E��A�W;H�M���P�H�[pH�wXA�W�H���T�H��H�H��H�@��UL��D�t$@H�EH�D$8H�FH�D$0H�E�H�D$(H�GH�D$ L�M�A�WH�M��8��H�UH��rH��H�M��iL�L�uL�}D�u�H�U�H��rH��H�M��GL�L�u�L�}�D�u�H�U�H��rH��H�M��%L�L�u�L�}�D�u�H�U/H��rH��H�M�L�H��$H���A_A^_^]�����������H��,H�H�AH�BH�������������H��j;���������H�\$WH�� H��,��H�H��������t
�0H���@�H�\$0H��H�� _���H��(Ic�L�@Ic�N�@Nc�E��x5H�D$PL�H�PI+�H��D;�}I��H��BBL$L$�H�d$�H�d$H�$H�D$H�$HH��IH��(�@SH��@L��H��H�L$(3��D$ H�AH�AH�AH�A H�A(H�A0�A8H�Q@H�T$0�H�B H�B�BH�B(H�B0�AxH�6*H��D$ H��I���(C��H��H��@[����@USVWATAVAWH��$���H��H��;H3�H���E��L��H��H�M��d$ �:A�D�d$ H��I���pD��I���I���H+�H��H����E��H�U�H�	����H��pI��蜳��H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H�U�H�M���4��H��H���H��H���Ů���G@�C@�GD�CDH�M�H��tH�U�H+�H���� I�H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H��pH�M��4��H��H��H��H�������G@�C@�GD�CDH�M�H��tH�U�H+�H����mH�I�I��H�@��QH��H�N��j��A�$����A�(���A�� �{=�����H��H���H3���H��A_A^A\_^[]��D�����H�\$ UVWATAUAVAWH��$ ���H���H��;H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`�c�H�WXL�D$`I����H�}'I�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� �ۘ�A��H��t9A����CA�u,H�H��H��=PA����CA�uH�H��H�@� PI��H���a����I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H������L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H���r
I�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH���7����H�CH;CtH��H��襝��H�C@�L��H��H���`����H��諦��I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	�3���H�0H�޸?���H#�H�M�V�H��3�H�D$0H��D$ �D��D��H�M��x�L��H�|$ A�H��H��P�T�I�EH�XH��PH����SS�L��H�T$HH���s��H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I�����H�D$0H��t$����H��uH�L$0H��H��9M�H�L$HH��t#����A��uH��tH��H��MH�t$HI��L;|$8�����I��H���H3�蕀H��$8H���A_A^A]A\_^]��b���z����H�\$ WH��`H�3;H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(腜��H��"H�H�SH��rH��H��C�H�cH�C�H��H�L$PH3���H��$�H��`_�@SH�� �H���ٗ��ǃPH�T"H�3�H��`H��hH��pH��xH���H������H�jH��XH��H�� [�@SH�� H��H��`H��t+H��pH+�H����PB�H��`H��hH��pH��H�� [�K������H��(�
�>eH�%XA�4H��A�9��=H�X�=H��(�H�
|�=规�=p�=�u�W�4�==�=F�=H�
�=�b�H�
/辂�H�
6�=������H�\$H�T$UH�l$�H��H�ڋ�E�H�AH�E��A�EH�EH�EgH�eGH�J8H��tH�H�UH��yJH�EG�D���L�E�H�U�H���P���H�MGH��tH�H�UH;���H�@ �?J�H�K8H��tH�H;���H�@ �"JH�c8H��$�H�Đ]�������������H�\$H�t$UWATAVAWH��$ ���H���H�`;H3�H���H��H�yA�E3�H��t	�DgH�yL�qL���H���E��H��H�������H�VH��P�_����H�E�H�E�H�E�H�E�H�E�L�e�H�E�H�E�L�e�H�E�H�E�H�E�H�E�H�E�H�E�W�E�E�H���H���H+�H��I;���E��H��H�I���H��L�M�E��H����(+��H��H��H�������K@��HD�CDD��LH���H��tH���H+�H����k?�D��LE8�$��A�� ������tp��t:����DžH��H�D$ E��H��;H�M��E�DžH��H�D$ E3�H�d;H�M0�k�E0�D��H��H�D$ A�H�3;H�MP�:�EP�VD��H��H�D$ A�H�;H�Mp��Ep�(H��H�D$ E3�H��;H��������������L��W�3���H���I�
H�AL��PL���H���I��9G�L�}�A�L�u�D�|$pL�
��E��A�V H�L$p��A�L�|$`L�t$hD�|$PL�
��E��A�VH�L$P�A�L�|$@L�t$HD�|$0L�
NE��A�V;H�L$0�}A�H���H9����H�H��H�@��FL��H�D$pH�D$(�\$ L�L$PA�VTH�L$0菞�H�T$HH��r
H��H�L$0�.=�L�|$@L�t$HD�|$0H�T$hH��r
H��H�L$P�=�L�|$`L�t$hD�|$PH�U�H��r
H��H�L$p��<��WxH��H�EH��tL���H��H�����H�
H��I��H����N����H��P葡���H��H��t(H�� H+�H����q<�L��L��L�� H����p����H��t8������G�u*H�H��H��]E����W�uH�H��H�B�BEH��H���H3���xL��$�I�[8I�s@I��A_A^A\_]��/s���������������H�\$WH�� H��H���kg��PH���e��TH���eH�\$0H��H�� _��H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@��DH����H;�u`H9~u7H�L��M��H��H��H�@ �^DH�\$`H��H�l$hH�t$pH�|$xH��PA^�H�i�H�L$0�l�H���:H�L$0�.U
�H���H�L$0��k�H�m�:H�L$0�U
�����������H�\$H�t$WH��@H��H��H�JH�H�@��CH�����H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%�CH�5�H�L$ �gk�H���:H�L$ �T
�H�J�H�L$ �Dk�H���:H�L$ �_T
���������������H��H�H�AH�BH�������������H�)Y;���������H�\$WH�� H����H�H���B�����t
�0H���puH�\$0H��H�� _���@SH��@L��H��H�L$(3��D$ H�AH�AH�AH�A H�A(H�A0�A8H�Q@H�T$0�H�B H�B�BH�B(H�B0�AxH��H��D$ H��I����1��H��H��@[����@USVWAUAVAWH��$���H��H��;H3�H���E��L��H��H�M��d$ ��Ս��H�2H���P��T��X��\��`��dA�D�l$ H��I����2��I���I���H+�H��H����E��H�U�H�	莡��H��pI������H�D$xH�D$(H�D$0H�D$xH�D$8L�l$@H�D$|H�D$HL�l$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H�U�H�M��M#��H��H���H��H���@����G@�C@�GD�CDH�M�H��tH�U�H+�H����7�H�D$xH�D$(H�D$0H�D$xH�D$8L�l$@H�D$|H�D$HL�l$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H��pH�M��"��H��H��H��H��荜���G@�C@�GD�CDH�M�H��tH�U�H+�H�����6�I�I��H�@�@H��H�N�\Y��A�$����A�(���A�� �+�����H��H���H3��fsH��A_A^A]_^[]��m����H�\$ UVWATAUAVAWH��$ ���H���H��;H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`�R�H�WXL�D$`I����H��I�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� �W��A��H��t9A����CA�u,H�H��H���>A����CA�uH�H��H�@��>I��H���݅���I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H��脞��L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H���<a
I�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH��賌���H�CH;CtH��H���!���H�C@�L��H��H����r���H���'���I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	诜��H�0H�޸?���H#�H�M�$E�H��3�H�D$0H��D$ �D��D��H�M��f�L��H�|$ A�H��H��P�B�I�EH�XH��PH�����A�L��H�T$HH�����H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I���*n��H�D$0H��t$����H��uH�L$0H��H���;�H�L$HH��t#����A��uH��tH��H���;H�t$HI��L;|$8�����I��H���H3��oH��$8H���A_A^A]A\_^]��P��[i����H�\$ WH��`H���:H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(����H�JH�H�SH��rH��H��1�H�cH�C�H��H�L$PH3��RnH��$�H��`_�H��(�
:�=eH�%XA�4H��A�9-�=H���=H��(�H�
�=��s�=�=�u�W���=��=��=H�
��=�^�H�
o�q�H�
��=�=s����H�\$H�T$UH�l$�H��H�ڋ�E�H�AH�E��A�EH�EH�EgH�eGH�J8H��tH�H�UH���9H�EG�P���L�E�H�U�H��茸���H�MGH��tH�H�UH;���H�@ �{9�H�K8H��tH�H;���H�@ �^9H�c8H��$�H�Đ]���������H�\$H�t$UWAWH��$@���H��H���:H3�H���H��D��H��H�M�����H�VH��0�����H�~H��t�_H�~H�NH�M�H�}���8����<����4�� ��0��$��3�9�@�������L��W�3�E�H�E�I�
H�AL��0L�E�H�U�I��E8�H�e�A�L�}��D$pL�
��E3�A�W H�L$p��2�H�d$`L�|$h�D$PL�
��E3�A�WH�L$P�2�H�d$@L�|$H�D$0L�
'E3�A�W2H�L$0�2�H�E�H9E���H�H��H�@��7L��H�D$pH�D$(�\$ L�L$PA�W'H�L$0螏�H�T$HH��r
H��H�L$0�=.�H�d$@L�|$H�D$0H�T$hH��r
H��H�L$P�.�H�d$`L�|$h�D$PH�U�H��r
H��H�L$p��-��diH��H�E�H��tL�E�H��H���]���H��H��3�H�M��b����H��t9������G�u+H�H��H���6����G�uH�H��H�B��6�H��0�g����H�M��}���H��H���H3��+jL��$�I�[(I�s0I��A__]����H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@�*6H����H;�u`H9~u7H�L��M��H��H��H�@ ��5H�\$`H��H�l$hH�t$pH�|$xH��PA^�H�	�H�L$0�]�H�0�:H�L$0��F
�H�^�H�L$0�]�H�
�:H�L$0�F
�����������H�\$H�t$WH��@H��H��H�JH�H�@�j5H���:��H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%45H���H�L$ �]�H���:H�L$ �"F
�H���H�L$ ��\�H�a�:H�L$ �E
���������������H��H�XH�h H�PVWAVH��@I��H��`�E3��Z���D$ H�FpH��ht/H�N(H�F0H+�H��H����H�IH�IXH��H��t
�A�3�3�H�}PH�D$(A��H;�t*H�H��tA����AA�uH�A�VH��74H��#H��tA����AA�uH��H��4H�^XH��t�CH�}0H�D$0H;�t+H�H��tA����AA�uH��H���3H��&H��t!A����CA�uH��H��H���3H��H�\$`H�l$xH��@A^_^��a���������H�\$WH�� H��H����U���t�OH�\$0H��H�� _�H�\$WH�� H�ً�H��XH��t+H��hH+�H�����)�H��XH��`H��hH����@��t
��H���eH��H�\$0H�� _��H�AH�H�AH�BH�������������H�)I;���������H�\$WH�� H�O��H�H�������t
�0H���eH�\$0H��H�� _���@SH��@L��H��H�L$(3��D$ H�AH�AH�AH�A H�A(H�A0�A8H�Q@H�T$0�H�B H�B�BH�B(H�B0�Ax H�Z
H��D$ H��I���|!��H��H��@[����@USVWATAVAWH��$���H��H�O�:H3�H���E��L��H��H�M��d$ �:A�D�d$ H��I����"��I���I���H+�H��H����E��H�U�H�	�g���H��pI����H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H�U�H�M��&��H��H���H��H�������G@�C@�GD�CDH�M�H��tH�U�H+�H����t'�H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H��pH�M��s��H��H��H��H���f����G@�C@�GD�CDH�M�H��tH�U�H+�H����&�I�I��H�@��/H��H�N�5I��A�$����A�(���A�� �������H��H���H3��?cH��A_A^A\_^[]��]�����H�\$ UVWATAUAVAWH��$ ���H���H���:H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`��A�H�WXL�D$`I����H�9	I�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� �/w�A��H��t9A����CA�u,H�H��H���.A����CA�uH�H��H�@�t.I��H���u���I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H���\���L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H���Q
I�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH���|���H�CH;CtH��H���{��H�C@�L��H��H���b���H�����I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	臌��H�0H�޸?���H#�H�M�4�H��3�H�D$0H��D$ �D��D��H�M��cV�L��H�|$ A�H��H��P�b2�I�EH�XH��PH����1�L��H�T$HH����w�H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I���^��H�D$0H��t$����H��uH�L$0H��H���+�H�L$HH��t#����A��uH��tH��H��_+H�t$HI��L;|$8�����I��H���H3���^H��$8H���A_A^A]A\_^]��i@��3Y����H�\$ WH��`H���:H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(��z��H��H�H�SH��rH��H��j!�H�cH�C�H��H�L$PH3��*^H��$�H��`_�@SH�� � H���-v��3�H��H�H��HH��PH��H��XH��`H��hH��pH��xH���������H������H���H�� [�������������@SH�� H��H��XH��t+H��hH+�H���� �H��XH��`H��hH��H�� [������H��(�
6�=eH�%XA�4H��A�9��=H�P�=H��(�H�
t�=��b�=h�=�u�W�,�=5�=>�=H�
�=�j�H�
�
�`�H�
.�=�9b����H��H�XH�hH�p WH��0)p�1�H���fH~�H��fs�fH~�H�(�L��H��H���Z��H��XH;�u�H�\$HH�l$PH�t$X(t$ H��0_�H�\$WH�� H�YH��t�CH�YH�AH��h@��H��t9����C��u,H�H��H��P(����S��uH�H��H�B�3(H�\$0@��H�� _��@SH��PH�Y)t$@H��t�CH�YH�A��xH��t9����C��u,H�H��H���'����C��uH�H��H�@��'W�/�w(�(t$@H��P[�H�9H�L$ �{H�H� �:H�L$ �8
������H��H�XH�xL�p UH�����H��0H���:H3�H�� H��A�E��H��H�Mp�Q����H�WH�� ��H���������H���H���H+�H��I;��!E��H���H�I���H�E�H�E�H�E�H�E�H�E�L�u�H�E�H�E�L�u�H�E�H�E�H�E�H�E�H�E�H�E�W�E�E�L�M�E��H���H�M����H��H��H���躂���K@���CD��D��H�MH��tH�U(H+�H�����H���D9p~H���S��H���)��H�������H�����H������N���L��W�3�EXH�EhI�
H�AL�� L�EpH�UXI���%�H�e�A�L�u��D$pL�
#�E3�A�V H�L$p�B �H�d$`L�t$h�D$PL�
*�E3�A�VH�L$P� �H�d$@L�t$H�D$0L�
!E3�A�V7H�L$0���H�E`H9EX��H�H��H�@�%L��H�D$pH�D$(�\$ L�L$PA�V<H�L$0�}�H�T$HH��r
H��H�L$0��H�d$@L�t$H�D$0H�T$hH��r
H��H�L$P��H�d$`L�t$h�D$PH�U�H��r
H��H�L$p�X���VH��H�EH��tL�EXH��H�����H��H��3�H�MX�̅���H�� �����H���H��t&H���H+�H������H���W�f��H�Mp��y��H��H�� H3��WL��$0I�[I�{ M�s(I��]���Q���H�\$WH�� H�YH��t�CH�YH�A���H��t9����C��u,H�H��H���#����S��uH�H��H�B�m#H�\$0��H�� _�H�\$WH�� H�YH��t�CH�YH�A@��|H��t9����C��u,H�H��H��#����S��uH�H��H�B��"H�\$0@��H�� _���H�\$WH�� H�YH��t�CH�YH�A���H��t9����C��u,H�H��H���"����S��uH�H��H�B��"H�\$0��H�� _�������������H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@�:"H���r��H;�u`H9~u7H�L��M��H��H��H�@ �"H�\$`H��H�l$hH�t$pH�|$xH��PA^�H��H�L$0��I�H�@�:H�L$0��2
�H�n�H�L$0�I�H��:H�L$0�2
�����������H�\$H�t$WH��@H��H��H�JH�H�@�z!H��貃�H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%D!H��H�L$ �I�H���:H�L$ �22
�H���H�L$ ��H�H�q�:H�L$ �2
���������������H�\$H�T$UVWATAWH��PI��H��d$ E3��G��A�D�d$ H�_XH��t�DcH�u0H�D$(A��H;�t)H�H��tA����AA�uH�A��H��y H��$H��tA����CA�uH�A��H��H��P H�O(H�G0H+�H��I;��bH�AH�XXH��t�DcH�u8H�D$0H;�t)H�H��tA����AA�uH�A��H���H��$H��tA����CA�uH�A��H��H���H�O(H�G0H+�H��H����H�A H�XXH��t�DcH�u@H�D$8H;�t)H�H��tA����AA�uH�A��H��nH��$H��tA����CA�uH�A��H��H��EH�GpH���t0H�O(H�G0H+�H��H���HH�I0H�IXH��H��t�Da�3�3�H�]XH�D$@H;�t)H�H��tA����AA�uH�A��H���H�3�!H��tA����AA�uH�A��H���H�GpH���tQH�O(H���H�G0tH+�H��H����H�I@�H+�H��H����H�I0H�IXH��H��t�Da�3�3�H�}HH��$�H;�t)H�H��tA����AA�uH�A��H��H��!H��tA����AA�uH�A��H���H��H��$�H��PA_A\_^]���K��H�\$WH�� H��H���;@��pt�K��qt�KH��H�\$0H�� _����H�\$WH�� ��H����	��t
��H���OH�\$0H��H�� _�������������H���H�H�AH�BH�������������H��3;���������H�\$WH�� H�����H�H���Rx����t
�0H���OH�\$0H��H�� _���@SH��@L��H��H�L$(3��D$ H�AH�AH�AH�A H�A(H�A0�A8H�Q@H�T$0�H�B H�B�BH�B(H�B0�AxH���H��D$ H��I������H��H��@[����@USVWATAVAWH��$���H��H���:H3�H���E��L��H��H�M��d$ �:A�D�d$ H��I���4
��I���I���H+�H��H����E��H�U�H�	��{��H��pI���`|��H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H�U�H�M����H��H���H��H���w���G@�C@�GD�CDH�M�H��tH�U�H+�H������H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H��pH�M����H��H��H��H����v���G@�C@�GD�CDH�M�H��tH�U�H+�H����1�I�I��H�@�QH��H�N�3��A�$����A�(���A�� �?�����H��H���H3��MH��A_A^A\_^[]��H�����H�\$ UVWATAUAVAWH��$ ���H���H�F�:H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`�J,�H�WXL�D$`I����H���I�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� �a�A��H��t9A����CA�u,H�H��H��A����CA�uH�H��H�@��I��H���%`���I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H����x��L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H���;
I�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH���f���H�CH;CtH��H���if��H�C@�L��H��H���$M���H���oo��I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	�v��H�0H�޸?���H#�H�M�l�H��3�H�D$0H��D$ �D��D��H�M���@�L��H�|$ A�H��H��P���I�EH�XH��PH�����L��H�T$HH���7b�H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I���rH��H�D$0H��t$����H��uH�L$0H��H����H�L$HH��t#����A��uH��tH��H���H�t$HI��L;|$8�����I��H���H3��YIH��$8H���A_A^A]A\_^]���*��C����H�\$ WH��`H���:H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(�Ie��H���H�H�SH��rH��H����H�cH�C�H��H�L$PH3��HH��$�H��`_�@SH�� �H���`��3�H���H�H�3H��PH��XH��`H��hH��pH��xH������H���H���H���H���H���H���H������H���H���H���H���H��H��H����H��(H��H��0H��8H��@H��HH��PH��X��`f��pH��t��|H�� [��������������H�\$WH�� H��3�H��0H��t(H��@H+�H����R
�H��0H��8H��@H���H��t(H���H+�H����
�H���H���H���H���H��t(H���H+�H�����	�H���H���H���H��XH��t(H��hH+�H����	�H��XH��`H��hH��H�\$0H�� _�h�����H��(�
b�=eH�%XA�4H��A�9�=H�ܽ=H��(�H�
�=�L�=�=�u�W���=��=ʽ=H�
��=覧H�
���"J�H�
��=�eK����H��H�XH�hH�p WH��0)p�1�D���fH~�H��fs�fH~�H�(�L��H��H���;C��H��XH;�u�H�\$HH�l$PH�t$X(t$ H��0_���������H�\$H�|$UATAUAVAWH��$����H��
H��:H3�H��p	H��H���H���H+�H��A�I;��E��H���H�I�Wq��E��H��H�Mp���H�E�H�D$0E�nL�l$8H�E�H�D$@L�t$HH�E�H�D$PL�t$XH�E�H�D$`E�~L�|$hH�E�H�D$pE�fL�d$xW�E�E�L�L$0E��H���H�M��H��H��H����m���K@���CD��H�MH��tH�U H+�H����a�H���%�������H���H���H+�H��I;��E��H��pH�I�Tp��H�E�H�D$0L�l$8H�E�H�D$@L�t$HH�E�H�D$PL�t$XH�E�H�D$`L�|$hH�E�H�D$pL�d$xW�E�E�L�L$0E��H��pH�M�/�H��H��H��P�%l���K@����CD���D���H�MH��tH�U H+�H����s�H���ǒ������H���H���H+�H��I;��
E��H��pH�I�fo��H�E�H�D$0L�l$8H�E�H�D$@L�t$HH�E�H�D$PL�t$XH�E�H�D$`L�|$hH�E�H�D$pL�d$xW�E�E�L�L$0E��H��pH�M�A�H��H��H���7k���K@��H�CD��LH�MH��tH�U H+�H�����H���P���H�����H���tH+�H��H���)H�I �H+�H��I;��H�IE��H��p�ln��H�E�H�D$0L�l$8H�E�H�D$@L�t$HH�E�H�D$PL�t$XH�E�H�D$`L�|$hH�E�H�D$pL�d$xW�E�E�L�L$0E��H��pH�M�G�H��H��H����=j���K@����CD���D���H�MH��tH�U H+�H�����H���D9p~H���V���H���H���H���H���H+�H��H���E��H���H�	�fm��H��0D9pvH����������H�WH����N��l���L��W�3�EXH�EhI�
H�AL���L�EpH�UXI����H�e�A�L�u�E�L�
n�E3�A�V H�M���H�e�L�u��E�L�
y�E3�A�VH�M��i�H�e�L�u��E�L�
T�E3�A�V8H�M��D�H�E`H9EX��H�H��H�@�hL��H�E�H�D$(�\$ L�M�A�VTH�M��_d�H�U�H��rH��H�M���H�e�L�u��E�H�U�H��rH��H�M����H�e�L�u��E�H�UH��rH��H�M����0>H��H�EPH��tL�EXH��H�����H�&�H��3�H�MX�.m���H����qg���H�Mp���H��H��p	H3��5?L��$�
I�[8I�{@I��A_A^A]A\]��9��}9��w9���q9��H�\$WH�� H�YH��t�CH�YH�A���H��t9����C��u,H�H��H��
����S��uH�H��H�B��
H�\$0��H�� _�H�\$WH�� H�w���H�H���f����t
�0H���@=H�\$0H��H�� _���H�i�H�H�AH�BH�������������H��!;���������H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@�:
H������H;�u`H9~u7H�L��M��H��H��H�@ �
H�\$`H��H�l$hH�t$pH�|$xH��PA^�H��H�L$0��1�H�@�:H�L$0��
�H�n�H�L$0�1�H��:H�L$0�
�����������H�\$H�t$WH��@H��H��H�JH�H�@�z	H�����H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%D	H��H�L$ �1�H���:H�L$ �2
�H���H�L$ ��0�H�q�:H�L$ �
���������������H�\$H�T$WH��0I��H���d$ �/���D$ H�K(H�C0H+�H��H��v~H�AH�@XH�D$(H��t	�@H�D$(H�WH;WtH�3�H�D$(H�G�L�D$(H���:��H�D$(H��t#����H��uH�L$(H��H��DH��H�\$@H��0_��Q6��@USVWH��H��XH���:H3�H�E�I��H��H��H�U�W�3�E�H�E�I��H�M��$M���H�GH�HE3�H�U�H�I�oW�H�OXH�E�H�E�H��t�@H�L�E�3�H�@��H�U�H;U�tH�E�H�H��t�@H�E��
L�E�H�M��d��L��L�E�H��H���n/���H�M�H��t#����A��uH��tH��H��AH�e�H�M�H��t!L�E�H�U�融�H�U�H�M�H+�H�����H��H�M�H3��:H��X_^[]���@SH��@L��H��H�L$(3��D$ H�AH�AH�AH�A H�A(H�A0�A8H�Q@H�T$0�H�B H�B�BH�B(H�B0�AxH���H��D$ H��I������H��H��@[����@USVWATAVAWH��$���H��H���:H3�H���E��L��H��H�M��d$ ��Q��H�*�H�A�D�d$ H��I���=���I���I���H+�H��H����E��H�U�H�	��e��H��pI���if��H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H�U�H�M���H��H���H��H���a���G@�C@�GD�CDH�M�H��tH�U�H+�H������H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H��pH�M����H��H��H��H����`���G@�C@�GD�CDH�M�H��tH�U�H+�H����:��I�I��H�@�ZH��H�N���A�$����A�(���A�� �H���H��H���H3��7H��A_A^A\_^[]��2��H�\$ UVWATAUAVAWH��$ ���H���H�R�:H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`�V�H�WXL�D$`I����H���I�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� �K�A��H��t9A����CA�u,H�H��H��
A����CA�uH�H��H�@��I��H���1J���I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H����b��L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H���%
I�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH���Q���H�CH;CtH��H���uP��H�C@�L��H��H���07���H���{Y��I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	�a��H�0H�޸?���H#�H�M�x	�H��3�H�D$0H��D$ �D��D��H�M���*�L��H�|$ A�H��H��P���I�EH�XH��PH����#�L��H�T$HH���CL�H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I���~2��H�D$0H��t$����H��uH�L$0H��H��	�H�L$HH��t#����A��uH��tH��H���H�t$HI��L;|$8�����I��H���H3��e3H��$8H���A_A^A]A\_^]�����-����H�\$ WH��`H��:H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(�UO��H�n�H�H�SH��rH��H����H�cH�C�H��H�L$PH3��2H��$�H��`_�H��(�
��=eH�%XA�4H��A�9��=H�h�=H��(�H�
��=�78�=��=�u�W�D�=M�=V�=H�
/�=��H�
S��N6�H�
F�=�7����H�\$H�T$UH�l$�H��H�ڋ�E�H�AH�E��A�EH�EH�EgH�eGH�J8H��tH�H�UH��	�H�EG����L�E�H�U�H����|���H�MGH��tH�H�UH;���H�@ ���H�K8H��tH�H;���H�@ ���H�c8H��$�H�Đ]�������������H��H�XH�xL�p UH�����H���H��:H3�H���H���D��H��H��������H�WH���>����H�E�H�E�H�E�H�E�H�E�H�]�H�E�H�E�H�]�H�E�H�E�H�E�H�E�H�E�H�E�W�E�E�H���H���H+�H��H;��sD��H�U`H�I�\��H��L�M�D��H�M�����H��pH;�xtH��H���E<��H��H�H��pH�L��H��H��h�G0���H�MH��tH�U(H+�H�������X���L��W�3���H���I�
H�AL��L���H���I����H�e�A�L�u��D$pL�
y�E3�A�V H�L$p��H�d$`L�t$h�D$PL�
��E3�A�VH�L$P�o��H�d$@L�t$H�D$0L�
��E3�A�V<H�L$0�F��H���H9����H�H��H�@�d�L��H�D$pH�D$(�\$ L�L$PA�V1H�L$0�XS�H�T$HH��r
H��H�L$0���H�d$@L�t$H�D$0H�T$hH��r
H��H�L$P����H�d$`L�t$h�D$PH�U�H��r
H��H�L$p����-H��H�EH��tL���H��H�����H�y�H��3�H����\���H���YV���H����lP��H��H���H3��.L��$�I�[I�{ M�s(I��]��l(����@SWH��H���:H3�H��$�H��$�L��H��$�I��D��$�L��H��tL�	H�AI+�H��H��uE3�H��t
H�QH+H���3�I�
H��H��H�D$xM�L#�H��$�L�D$@L��$�L�L$8A��T$0I�H�D$(H�|$ �,��u_H��tH�H��t	���u$H�D$xH�3�H��$�H3��-H�Ę_[�L�=���H�L$P���H�r|:H�L$P�@

�L�����H�L$P���H�M|:H�L$P�

���@SWH��xH���:H3�H�D$hM��M��H��H��H�L$0L��$�H��$�H�!H�L$`H�L$ M��I��H��+H��T$`��uH��t!H��H�L$hH3��C,H��x_[�L���H�L$8����H��{:H�L$8�z	
��L�L$ USWH�l$�H��H�պ:H3�H�EM��L��H��H�M�L�EwH�]H�!�E��H�E_H�E�H�EgH�E�H�e�H�e�H�EoH�E�H�e��e��e�H�e�H�EH�D$(L�D$ L�M�L�EWI��I�
�MH��U��u!H��t!H��H�MH3��a+H��_[]�L��H�M����H��z:H�M��
��@SUVWAVH��H��H��H�L$0I��H�L$8��H���FH�U�H�H�H�F3�H��t�@L�vI�����@���H��H�H�H���H���H���H��t�@H���H���H���H���H��������A��?���H#�I���J�H��H���H��H��H�|$(H�|$ L��A��z����H��H����H��A�H#�I���I�H��L��3�H���
H���x�H��H��A^_^][���H�\$UVWAVAWH��M��A��H��L��H�L$0L�L$8I�H��H�L$@��H��A�FH��I�H�I�FH��t�@I�vH���a��AƆ�H���I�H�I���I���H���H��t�@H���I���H���I���I�����7�A��I�?��?���H#�H���H�H��H��Ճ�H��H��H��@��HD�H�H��H�@��L��I�� @��LD�I���H��I��H�d$(H�D$ L�������I��I�H�H�@����I�H��t!A���D�AA��uL��I����I�'I��H��$H��A_A^_^]���@SVWH���I��H��H��H�L$ I��H�L$X���H���CH�Q�H�H�H�CH��t�@H�K���ƃ�H��H�H�H���H���H���H��t�@H���H���H���H���H��������H��H�D$(H�H�H��t	�*���uH��H��H���_^[�L�g���H�L$0����H��v:H�L$0�z
��H�\$ VWAVH��I��L��H��H�L$`I��H��$����H���CH�1�H�I�H�C3�H��t�@H�K��@���H�%�H�I�H���H���H���H��t�@H���H���H���H���H�����|���L��I�>H��0�N��
��������tA����H�F0H�N@�����VUUU�����Lc�L��H�F H�N@��Q�0H�F0LcL��H�N@H�F ��Q����VUUU�����Lc�L�����WH�F LcL��H�V@H�F0��J�
Lc����'H�F LcL��H�V@H�F0��J�
Lc���L����H�>�����L$P�D$TH���H��H�|$@H�|$8H�|$0L�D$(L�L$ L�L$PA�H�L$X���H��L;�tI9>tI����umH�I�H�>H�L$XH��t�H���3H��H9�v!L��L�� 3�H���b
H��H;�r�H����H��H��$HH��A^_^�L�����H�L$h�	��H��s:H�L$h�
�A��H���H�L$h�x��H��o:H�L$h�
���@SVWH���I��H��H��H�L$ I��H�L$X���H���CH�I�H�H�H�CH��t�@H�K��ƃ�H�?�H�H�H���H���H���H��t�@H���H���H���H���H��������H��H�D$(H�H�H��t	�"���uH��0H��H���_^[�L�_���H�L$0����H��r:H�L$0�r
��H��(H�	H��t��H��(���H��(H�	H��t��H��(���H�\$WH�� H��H��H��t�H����H���H��t9����C��u,H�H��H��������C��uH�H��H�@���H��H�\$0H�� _�CN����������������H�\$WH�� ��H���\�����t
�H���
!H�\$0H��H�� _�������������H�\$WH�� ��H��������t
�8H���� H�\$0H��H�� _�@SUVWH��H���:H3�H�D$pH��$�L��H��$�I��H��$�H��H��tL�H�AI+�H��H��uE3�H��t
H�QH+H���3�I�H��H��H�D$hM�L#�L�T$8L�D$0L�ƉT$(H�H�l$ �/���u^H��tH�H��t	�
���u#H�D$hH�3�H�L$pH3��!H�Ĉ_^][�L�;���H�L$@���H�pp:H�L$@�>��L�����H�L$@���H�Kp:H�L$@���@SUVWAVAWH��H�y�:H3�H��$�L��$�L��H��$A��L��$�H��H��$H��$H��tL�H�AI+�H��H��uE3�H��t
H�QH+H���3�I�H��H��H�D$xM�L#�H��$�H�D$HL�T$@L�D$8D�ʼnT$0H�L�|$(L�t$ ����$�H���umH��t!H��tH�H��t	���u+H�D$xH�H��H��$�H3��H�ĘA_A^_^][�L�Ո��H�L$P�E��H�
o:H�L$P���L�h�H�L$P�"��H��n:H�L$P��@SUVWATAUAVAWH��H��:H3�H��$�L��$L��H��$0A��L��$H��L��$ L��$(H��$8H��$@H��tL�H�AI+�H��H��uE3�H��t
H�QH+H���3�I�H��H��H��$�M�L#�H��$�H�D$XL�T$PL�D$HD�ʼnT$@H�L�l$8L�d$0L�|$(L�t$ �i���$�H���utH��t!H��tH�H��t	�*���u2H��$�H�H��H��$�H3��$H�ĨA_A^A]A\_^][�L�I���H�L$`���H�~m:H�L$`�L��L���H�L$`���H�[m:H�L$`�)��@SWH��xH���:H3�H�D$`H��$�H��L��M��tI�I�AH+�H��H��u3�M��t
I�II+	H���3�D��H��I�H��H�D$XM�L#�L�T$(H�T$ H��O���uYH��tH�H��t	����uH�D$XH�3�H�L$`H3��H��x_[�L�N���H�L$0���H��l:H�L$0�Q��L����H�L$0���H�^l:H�L$0�,�������������H�\$L�D$UVWH��pI��@��H��d$ L�
�;L���:3�H���
H�H H��$�H��t
�Q�����H�N��?���H#��;�H��H��H���H��L��$�L�D$0H�d$(H�D$ E3�D���$��H��$�H��t����H�H��t����A��uH��H��2�H�'H��$�H��p_^]�L�����H�L$@�w��H�<k:H�L$@�
�����������H�\$L�D$UVWH�l$�H��I����H���d$ L�
Z�:L���:3�H��
H�H H�MH��t
�-�������H��H�E�H��H�E�H�u�H�e�H�eH�e�M׉MۉM߉M�H��H���H��H�EH�D$0H�d$(H�E�H�D$ L�M�L�E�����H�MH��t���H�H��t����A��uH���H����H�#H��$�H�İ_^]�L�����H�M�1���H��i:H�M�������H�\$H�t$WH��PH��H���H�\$`H�����������ueH�N�9�?���H#��9�H��H��H���H��H�d$@H�d$8H�d$0H�D$(H�d$ A�E�A�����H��������H��H���,H��H�\$hH�t$pH��P_Ë��R��H��H�XWH��H��H���H�XH���E3҅���������H��H�D$`H��H�D$hE�BL�D$pL�T$xL��$�L��$�H��(L�� H��H���H��L�T$PL�T$HL�T$@H�D$8L�L$0H�D$`H�D$(H�D$xH�D$ E�J�o���H��0������H��0H���H��H��$�H�Đ_Ë��D����H�\$WH��0H��H���H�\$@H�����uM���u2H��H���H��H�d$ E3�L���`���H��H��H�\$HH��0_������������H�\$WH��0H��H���H�\$@H���/��uM���u2H��H���H��H�d$ E3�L��0���H��0H��H�\$HH��0_����G�������H�Q�H�H�AH�BH�������������H�y�:���������H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@�j�H���6&�H;�u`H9~u7H�L��M��H��H��H�@ �>�H�\$`H��H�l$hH�t$pH�|$xH��PA^�H�IqH�L$0��
�H�pb:H�L$0���H��pH�L$0��
�H�Mb:H�L$0��������������H�\$H�t$WH��@H��H��H�JH�H�@���H���v%�H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%t�H�pH�L$ �G
�H��a:H�L$ �b��H�*pH�L$ �$
�H��a:H�L$ �?����H�\$ UVWATAUAVAWH��$ ���H���H���:H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`���H�WXL�D$`I����H���I�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� ��)�A��H��t9A����CA�u,H�H��H��I�A����CA�uH�H��H�@�,�I��H���m(���I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H���A��L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H����
I�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH���C/���H�CH;CtH��H���.��H�C@�L��H��H���l���H���7��I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	�??��H�0H�޸?���H#�H�M���H��3�H�D$0H��D$ �D��D��H�M��	�L��H�|$ A�H��H��P���I�EH�XH��PH����_��L��H�T$HH���*�H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I�����H�D$0H��t$����H��uH�L$0H��H��E��H�L$HH��t#����A��uH��tH��H���H�t$HI��L;|$8�����I��H���H3��H��$8H���A_A^A]A\_^]��!��������H�\$ WH��`H�?�:H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(�-��H�*�H�H�SH��rH��H��"��H�cH�C�H��H�L$PH3���H��$�H��`_�H��H�XH�hH�p WH��0)p�1�"��fH~�H��fs�fH~�H�(�L��H��H���S���H��HH;�u�H�\$HH�l$PH�t$X(t$ H��0_�������������H�\$H�t$ UWAVH�l$�H���H��3ۉ]o���H��H�EwI��H����W�W�fL$ fE�fM�fE��

}�M�L�u��]�3�D�CHH�M��!]�W�fE�W�fM�f!]�H!]��E�E�]H!]'H�E/�]D�u7A�^@�]oL�D$ H��H�����H�%�H��3��� �`H�U/H��rH��H�M���H�M�H��t>A����AA�u1H�]�H�H��H����A����CA�uH�M�H�H�@�h�H�M�H��t>A����AA�u1H�]�H�H��H��?�A����CA�uH�M�H�H�@�!�H�M�H��tH�U�H+�H������H�u�H��tPH��H;u�tH���v1��H�ÐH;]�u�H�U�H+�H�9��8��8H��H��H��H��?H�H��H��H�����H�L$(H��t@A����AA�u3H�\$(H�H��H����A����KA�uH�L$(H�H�B�e�H��L��$�I�[ I�s8I��A^_]�����������H�\$WH�� H��H�����PH������TtH����H�\$0H��H�� _���������������H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@���H���BW�H;�u`H9~u7H�L��M��H��H��H�@ ���H�\$`H��H�l$hH�t$pH�|$xH��PA^�H��gH�L$0�C�H��X:H�L$0�^��H��fH�L$0� �H��X:H�L$0�;������������H�\$H�t$WH��@H��H��H�JH�H�@���H���V�H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%��H�efH�L$ ��H�X:H�L$ ���H�zfH�L$ �t�H��W:H�L$ �����������������H�y�H�H�AH�BH�������������H���:���������H�\$WH�� H�w���H�H���r3����t
�0H���
H�\$0H��H�� _���@SH��@L��H��H�L$(3��D$ H�AH�AH�AH�A H�A(H�A0�A8H�Q@H�T$0�H�B H�B�BH�B(H�B0�AxH�b�H��D$ H��I�����H��H��@[����@USVWATAVAWH��$���H��H�ߙ:H3�H���E��L��H��H�M��d$ ��#��H�ҸH�A�D��PD��TdžX���.D�d$ H��I���-��I���I���H+�H��H����E��H�U�H�	��6��H��pI���Y7��H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H�U�H�M�菸��H��H���H��H���2���G@�C@�GD�CDH�M�H��tH�U�H+�H�������H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H��pH�M��ܷ��H��H��H��H����1���G@�C@�GD�CDH�M�H��tH�U�H+�H����*��I�I��H�@�J�H��H�N����A�$����A�(���A�� �8������H��H���H3��H��A_A^A\_^[]����H�\$ UVWATAUAVAWH��$ ���H���H�B�:H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`�F��H�WXL�D$`I����H���I�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� ��A��H��t9A����CA�u,H�H��H����A����CA�uH�H��H�@���I��H���!���I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H����3��L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H���I�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH���!���H�CH;CtH��H���e!��H�C@�L��H��H��� ���H���k*��I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	��1��H�0H�޸?���H#�H�M�h��H��3�H�D$0H��D$ �D��D��H�M����L��H�|$ A�H��H��P����I�EH�XH��PH������L��H�T$HH���3�H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I���n��H�D$0H��t$����H��uH�L$0H��H�����H�L$HH��t#����A��uH��tH��H����H�t$HI��L;|$8�����I��H���H3��UH��$8H���A_A^A]A\_^]����������H�\$ WH��`H��:H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(�E ��H���H�H�SH��rH��H�����H�cH�C�H��H�L$PH3��H��$�H��`_�H��(�
~�=eH�%XA�4H��A�99|=H�|=H��(�H�
$|=�'	�=|=�u�W��{=�{=�{=H�
�{=�~lH�
���>�H�
�{=�����H�\$H�T$UH�l$�H��H�ڋ�E�H�AH�E��A�EH�EH�EgH�eGH�J8H��tH�H�UH����H�EG�d$��L�E�H�U�H����M���H�MGH��tH�H�UH;���H�@ ����H�K8H��tH�H;���H�@ ���H�c8H��$�H�Đ]�������������H��H�XH�xL�p UH��X���H��H��:H3�H���H��A�H��H�M0�����H�WH�M��.����H�_H��t�CH�_H�G3�8�(�����A��H��t9A����CA�u,H�H��H����A����CA�uH�H��H�@���H�_H��t�CH�_H�G��)���H��t9A����CA�u,H�H��H����A����CA�uH�H��H�@�f�H�_H��t�CH�_H�G��,���H��t9A����CA�u,H�H��H�� �A����CA�uH�H��H�@���&���L��W�3�E�H�E�I�
H�AL�M�L�E0H�U�I�����H�e�A�L�u��D$pL�
FYE3�A�V H�L$p�e��H�d$`L�t$h�D$PL�
MYE3�A�VH�L$P�<��H�d$@L�t$H�D$0L�
$�E3�A�V2H�L$0���H�E�H9E���H�H��H�@�7�L��H�D$pH�D$(�\$ L�L$PA�V'H�L$0�+$�H�T$HH��r
H��H�L$0����H�d$@L�t$H�D$0H�T$hH��r
H��H�L$P���H�d$`L�t$h�D$PH�U�H��r
H��H�L$p�{����
H��H�E�H��tL�E�H��H�����H��H��3�H�M���,���H�M��5'���H�M0�K!��H��H���H3��
L��$�I�[I�{ M�s(I��]�H�\$WH�� H��H������PH�����H�\$0H��H�� _����������������H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@���H���H�H;�u`H9~u7H�L��M��H��H��H�@ ���H�\$`H��H�l$hH�t$pH�|$xH��PA^�H��XH�L$0�C��H��I:H�L$0�^��H��WH�L$0� ��H��I:H�L$0�;������������H�\$H�t$WH��@H��H��H�JH�H�@���H����G�H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%��H�eWH�L$ ���H�I:H�L$ ���H�zWH�L$ �t��H��H:H�L$ �����������������H��H�XH�p H�PWH��0I��H��`�����T$ H�K(H�C0H+�H��H;�vwH�AH�XXH��t�SH�~xH�D$PH;�t%H�H��t����A;�uH�H����H�� H��t����C;�uH�H��H����H��H�\$@H�t$XH��0_��������H���H�H�AH�BH�������������H�)�:���������H�\$WH�� H�����H�H���#����t
�0H����
H�\$0H��H�� _���@SH��@L��H��H�L$(3��D$ H�AH�AH�AH�A H�A(H�A0�A8H�Q@H�T$0�H�B H�B�BH�B(H�B0�AxH�j�H��D$ H��I���L���H��H��@[����@USVWATAVAWH��$���H��H��:H3�H���E��L��H��H�M��d$ �:A�D�d$ H��I��蔸��I���I���H+�H��H����E��H�U�H�	�7'��H��pI���'��H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H�U�H�M����H��H���H��H����"���G@�C@�GD�CDH�M�H��tH�U�H+�H����D��H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H��pH�M��C���H��H��H��H���6"���G@�C@�GD�CDH�M�H��tH�U�H+�H���葼�I�I��H�@���H��H�N����A�$����A�(���A�� 蟱�����H��H���H3���
H��A_A^A\_^[]��h������H�\$ UVWATAUAVAWH��$ ���H���H���:H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`���H�WXL�D$`I����H���I�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� ��A��H��t9A����CA�u,H�H��H��a�A����CA�uH�H��H�@�D�I��H������I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H���,$��L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H�����I�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH���[���H�CH;CtH��H������H�C@�L��H��H������H������I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	�W"��H�0H�޸?���H#�H�M����H��3�H�D$0H��D$ �D��D��H�M��3��L��H�|$ A�H��H��P�2��I�EH�XH��PH����w��L��H�T$HH���
�H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I�����H�D$0H��t$����H��uH�L$0H��H��]��H�L$HH��t#����A��uH��tH��H��/�H�t$HI��L;|$8�����I��H���H3���
H��$8H���A_A^A]A\_^]��9��������H�\$ WH��`H�W�:H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(���H�*�H�H�SH��rH��H��:��H�cH�C�H��H�L$PH3���
H��$�H��`_�@SH�� �H�����ǃT���.H���H�3���PH��`H��hH��pH��xH���H������H�.�H��XH��H�� [���H��(�
j|=eH�%XA�4H��A�9�l=H�Ll=H��(�H�
pl=��
�=dl=�u�W�(l=1l=:l=H�
l=�`H�
���*�
�H�
*l=�m�
����H�\$H�T$UH�l$�H��H�ڋ�E�H�AH�E��A�EH�EH�EgH�eGH�J8H��tH�H�UH���H�EG�T}��L�E�H�U�H���=���H�MGH��tH�H�UH;���H�@ ����H�K8H��tH�H;���H�@ ���H�c8H��$�H�Đ]���������H��H�XH�pH�x UAVAWH��x���H��pH�π:H3�H��`H��A�E��H��H����j����H�WH��`�����H���H���H+�H��I;���E��H���H�I����H�_3�H��t	�D{H�_H�G��@8�H����A��H��t9A����CA�u,H�H��H����A����CA�uH�H��H�@�s�H�_H��t	�D{H�_H�G��L��H��t9A����CA�u,H�H��H��,�A����CA�uH�H��H�@��H�E�H�E�H�E�H�E�H�E�L�}�H�E�H�E�L�}�H�E�H�E�H�E�H�E�H�E�H�E�W�E�E�L�M�E��H���H�MX����H�UH���X�H��H��H�������K@��X�CD��\H�MH��tH�U(H+�H����+��H�uW��E H�M`H��tH�UpH+�H�������m���L��W�3���H���I�
H�AL��`L���H���I�����H�u�A�L�u�@�t$pL�
kHD��A�V H�L$p芶�H�t$`L�t$h@�t$PL�
sHD��A�VH�L$P�b��H�t$@L�t$H@�t$0L�
�D��A�V8H�L$0�:��H���H9����H�H��H�@�X�L��H�D$pH�D$(�\$ L�L$PA�V2H�L$0�L�H�T$HH��r
H��H�L$0���H�t$@L�t$H@�t$0H�T$hH��r
H��H�L$P�ı�H�t$`L�t$h@�t$PH�U�H��r
H��H�L$p螱���
H��H�EH��tL���H��H���b���H�מH��H��H�������H��`�N���H�� H��t(H��0H+�H����.��H�� H��(H��0H����-��H��H��`H3����
L��$pI�[(I�s0I�{8I��A_A^]��)����������@SUVWAVH�� I��H��H+�L��H��H��H��r]H��������H;�wYH��H��r
H�����3�H��tH����
H��I�>H�;I�~L��H��I�FH�����H�;I�FH�� A^_^][�������@SH��pH��{:H3�H�D$`H�	L�L$XH�d$ H�ں�A������uH��t!H�D$XH�L$`H3����
H��p[�L�̞��H�L$0�l��H�1<:H�L$0�����L��I�[I�SWH��I��H�ڃd$03�H�H!�D$0H���I�C�I�K�I�c�E3�L�º�I�K�����uH��t!H��H��$�H�Ā_�L� ���H�L$P����H��;:H�L$P�c����@SH��pH��z:H3�H�D$`H�	L�L$XH�d$ H�ں�A�����uH��t!�D$XH�L$`H3���
H��p[�L�����H�L$0�Q��H�;:H�L$0�������@SH��pH�Kz:H3�H�D$`L�QL�L$XH�I��H�d$ A�I�
�����u)H�H��t	�s���u+H�L$XH�H��t	�(���u3�H�L$`H3��
�
H��p[�L�@T��H�L$0���H�u::H�L$0�C����H��(H������H��(�H�\$H�t$ UWAVH��H��H��y:H3�H�E�H�q�L��H���w��twH�d=H�=d=�b�SL�M�H�A�H�d$ ���un�SL�M�H�D�@H�d$ �w���utH�L�E�I�I��H�E�H�E�H+E�H�E��y'�H��H;�u��H�M�H3���
L��$�I�[0I�s8I��A^_]�L�כ��H�M����H�e9:H�M��4��L�����H�M��}��H�B9:H�M����H�\$UVWATAUAVAWH�l$�H��H�ex:H3�H�EH��L��H�I�3�3�H�]�L��L��I�F�L��H+�H��H���H��L�
3�:�d$ L�W�:3���H�X H�������H�L�MH�d$ ��A��3����vH�L�MH�d$ D�@�������0H�L�MH�d$ D�@�������vH�L�M�H�d$ D�@���ʾ���0H9uH�MHBuL9eH�]�LBeI;�H�E�LB�H+�H�H�]��H�]�I�N�H��I�F�H+�H��H;���H��a=L�E�I�UH�I��H+�H�M�I��H�E��r%�H��a=L�E�M+�I��L�}�H�PH�U�I�U�L%�H�ya=I��H�]�L�B I�UL�E�L�E��)%�H�MH3����
H��$�H�ĐA_A^A]A\_^]�L�����H�M��V��H�7:H�M�����L�j���H�M��3��H��6:H�M�����L�G���H�M����H��6:H�M����L�$���H�M�����H��6:H�M����@SH��0H��u:H3�H�D$(H�9tCH�d$ E3�H�T$ �V����H�|$ t'3�H�L$ ���H�����H�L$ H��t�����2�H�L$(H3���
H��0[��H��(H���H�9t3����������H��(��H�\$WH�� H��H�I�H�C�H;�t2H+�3�H��H��t$H����%�t$H�K�H��H�C�H+�H��H;�rܰH�\$0H�� _�2��������������I�HcHBƄ�I�HcHI��$��@SH��P�yH��u"H�I H��tL��L�����3����u
�CH��P[�L�z���H�L$ �r��H�75:H�L$ ���H��H�XH�pH�xL�x UH�h�H��H��H�Q�H�:�F��~����QH�_�H��t�CH�_�H�G�H�pxA��H��t9A����CA�u,H�H��H��t�A����CA�uH�H��H�@�W�H����H�G�HcHH�T9�H�M�h>�L�EH���H�M���'�H�_�H��t�CH�_�H�O�H�M�H�]�L��3��CN�H��t:A����CA�u-H�H��H��ٰA����CA�uH�H��H�@����H�U�H��rH��H�M��u��H�e�H�E��E�H�UH��rH��H�M�N��L��$�I�[I�sI�{ M�{(I��]�L�����H�M'���H��3:H�M'�O����H�\$WH�� H�A�H��H9A�t0H+A�3�H��H��t!H�K�H���}#�H�C�H��H+C�H��H;�r�H�\$0H�� _���@SVWH��0I��H��H��H�UUUUUUUH9AtbH�L$ H�d$(�0��
H��H�` H�`(@OH H�gH�G�H�CH�FH�1H�AH�NH�H��H��0_^[�H�
n&�
�@SH��pH��q:H3�H�D$`H�	L�L$XH�d$ H�ںA��2���uH��t!H�D$XH�L$`H3���
H��p[�L��q��H�L$0�X��H�2:H�L$0�����@SH��pH�Sq:H3�H�D$`H�	L�L$XH�d$ H�ںA�買��uH��t!�D$XH�L$`H3��6�
H��p[�L�q��H�L$0����H��1:H�L$0�l�����@SH��pH��p:H3�H�D$`H�	L�L$XH�d$ H�ں*A��2���uH��t!H�D$XH�L$`H3���
H��p[�L��p��H�L$0�X��H�1:H�L$0�����L��I�[I�SWH��pI��H�ڃd$ H�bH�B��D$ H���I�C�I�K�E3�L�º+I�K������uH��t!H��H��$�H��p_�L��o��H�L$@���H��0:H�L$@�R���@SH��pH��o:H3�H�D$`H�	L�L$XH�d$ H�ں1A�����uH��t!H�D$XH�L$`H3���
H��p[�L��o��H�L$0�@��H�0:H�L$0�ӽ���L��I�[I�SWH��I��H�ڃd$0W�3�H�BH!H!BH!B�D$0H�|�I�C�I�K�I�c�E3�L�º�I�K��O�����uH��t!H��H��$�H�Ā_�L����H�L$P���H�Z/:H�L$P�(�����@SH��pH��n:H3�H�D$`H�	L�L$XH�d$ H�ں�A��޵��uH��t!�D$XH�L$`H3��r�
H��p[�L�e���H�L$0���H��.:H�L$0証����L��SWH��H�	n:H3�H�D$pM��H��I�K�L��$�H��$�H�!H�I�C�I�C�I�C�M�C�M�CȺI���%�H��T$h��u!H��t!H��H�L$pH3����
H�Ĉ_[�L��H�L$8�f��H�+.:H�L$8��H�\$H�t$H�L$WH��PH��H��H�!H�a�AL���M�����A M��t>H���H;�t%H�	H��t	�z���uoH�H�H��t	�x���u6H��H�����
�H���iH����H��H�\$hH�t$pH��P_�L�G��H�L$ ���H�c-:H�L$ �1��L�	G��H�L$ �y��H�>-:H�L$ ������H�\$WH��PH��H��H;�t5H�	H��t�{t	豲��u,H�H��G�CH��t
��t	襲��u3H��H�\$`H��P_�L��F��H�L$ ���H��,:H�L$ 茺�L�TF��H�L$ ����H��,:H�L$ �g����H�H9�����H�H���H�H�H��H�����H�zH��rH�L�BH��������H�H�H��H�
����H�H�H�����H��H�XWH��`H��H�QH�`�H�`�E3�E3�H�H�8���H��H;�tH�H��t	螱��u$H�H�H�'H�L$pH��t聱H�\$xH��`_�L�xE��H�L$0���H��+:H�L$0�{����H�\$H�t$UWATAUAWH�l$�H���H��j:H3�H�E/L��L��W�E�E3�L�m�L�m�A�M0�k�
H�H�@H�E�D�m�L�E�3�3�������W��U��E�L�mL�D$ H�M��z&�E3�H�U��M�謱����H�}�H;}���H�H�D$0W��M�L�m�L�EǺ����H�L$0��H�]�H�u�H;�t'L�M�L��I��I�����ucH��H;�u�H�u�H�]�H��tDH;�t H�H��tD8kt��H��H;�u�H�]�H�U�H+�H���H�����W��E�L�m�H���I���I�OH�������H�]�H��tHH�}�H;�t H�H��tD8kt趯H��H;�u�H�]�H�U�H+�H���H��腝�W��E�L�m�L9m�tH�UH+U�H��H�M��^��H�M�H�AL�(H�H��t>H�;H�S(H��rH��H�K�1��L�k H�C(D�k�0H�����H��H��uº0H�M���H�M/H3����
L��$�I�[8I�s@I��A_A]A\_]�L9m���H�u�H�M�L���H�L$(��H�T$(H�M�����H�L$0��H�T$0H�M�����>H�L$(�]���L��H�_�H�M��b��H��H�M�U����H�M�蛲�H�L$(�1���H�T$0H�L$(������t#�H�=�H�M��a�H��%:H�M��L��H�M�R��H��H�M���\�H��$:H�M��&����H�M��J�L��H�ϋH�L$8��H��H�M����H�9%:H�M������H�L$8��L��H���H�M��w�H��H�M��گ�H��$:H�M�誵��H��H�XH�xL�p UH�h�H��H��f:H3�H�EGH��H��W�3�EH�EE3�H�U����3�H���1������9W�E�H�EH�MH+�H��H���;H�	H�M��E�H��t
����$3�H�M���H����W��M�D�p,A���'�
H�H�@H�E�L�M�L�E�H��H���M����H�KH�U�����H�M�H�AH� H�H��t=H�;H�S(H��rH��H�K�F��H�c H�C(�CI��H���*��H��H��u�I��H�M����H�M�H��t�}�t���H�MH��t!L�EH�U����H�UH�MH+�H����֙�H�MGH3���
L��$�I�[I�{ M�s(I��]�H�Z�H�M�1�����H�M���H�U�H�M������H�M��x��H�U�H�M�����<H�M��H���L��H�J�H�M��M��H��H�M�@����H�M�膯�H�M�����H�U�H�M������t#�H���H�M��z^�H��":H�M��:��H�M�@��H��H�M���Y�H�u!:H�M����H���H�M��3^�H�D":H�M��������L��>��H�M�6���H��$:H�M�ʲ��@SH��@H��H�T$PH���a�|$PH�CuH��@[�H�	�H�L$ �]�H��!:H�L$ �~���H�\$UVWAVAWH�l$�H��H��c:H3�H�E/I��I��L��E3�H�UH���V�@�3�H�����H��H�E�H�E�H�E�H�E�IcFH;Lůt=L���H�UH�M��>��L��H�H�����H�U�H��rH��H�M�舗�@2�3�H�����A;Ft=L�ƇH�UH�M����L��H�H����H�U�H��rH��H�M��;��@2�E3�H�U�H���Ÿ���H�M�H�}HCM�E��D$(H�D$ L�
#E3�H�U����H�e�H�E��E�L��E3�H�U�H�M������3�D�B
H�M������A��H�U�H��rH��H�M�視�E��tuL�
�H�UH�M����L�E�H��H�M��L��L��H�H�����H�U�H��rH��H�M��V��H�e�H�E��E�H�U�H��rH��H�M��/��@2�A�~PtK3�H�����u=L���H�UH�M�蓔�L��H�H���<��H�U�H��rH��H�M��ݕ�@2�H�UH��rH��H�M��ĕ�H�e�H�E�E�H�U'H��rH��H�M蝕�@��H�M/H3��n�
H��$�H��A_A^_^]����H�\$ UVWAVAWH�l$�H��H�
a:H3�H�E'M��H��H�كe�M���_H�E�H�D$ E3�E3�H�	�9����fW�3�H�E�U��E�H!EL�E�H�M����H�d$ H�}�L��D�E�H��H�������H�]H+�H��L�E�H��I�����3�H��tUE3�H��H�M��E�H��t軦�3�����I�I�H�U��=���H�M�H��t�}�t�y�H��I��H;�r�H��tH�UH+�H��H���D��3�H�M'H3���
H��$�H�İA_A^_^]�L� ���H�M�詵��H�n :H�M��=��L�:��H�M�膵��H�K :H�M����L�ڂ����H�M��`���H�% :H�M����L�����H�M��=���H� :H�M��ѭ�@SH�� H���2x�H��H�� [��H�\$H�t$ WH�� H��H;�tBH�H�"H�1H�H��t0H���H���Н���H��	H�H���
��H�����
H��H�\$@H�t$HH�� _�H;�t0H�\$WH�� H��H��H�H��t讥H��H;�u�H�\$0H�� _���H�L$SVWATAUAVAWH��@M��L��H��L��L+9I��H�AH+H��I��������I;��PL�@L�D$(H�IH+H��H��H��I��H+�H;�vL��$�H������0H�
M��I;�LC�M;��	J�4�L��$�H��rH��葑�H��H��$��,H��tH����
H��H��$��
3�H��$�L��$�N�4�M�~L�|$0I�EI�I�eL�t$ H�SL��L��H�L;�u�� I���)H�|$ L��M��H�SI����H�H��tL��H�S�q���H�SH+H��H��j��H�;H�D$(H��H�KH�>H�KI��H��@A_A^A]A\_^[�躯���t������H��H�XH�hH�pWH��`I��I��H��H��W�@�H�X�H�X�L�H�H;�t*H�H�H��t覣�3���u9H��H�\$(H��H;�u�L��H��H�����H��L�\$`I�[I�kI�s I��_�L��6��H�L$8�0���H��:H�L$8�ê���@SH�� I���L�L�H��H�!H��H;�u�M��H��H���D���H��H�� [����L��I�[I�SWH��pI��H�ڃd$ H�bH�B��D$ H�J�I�C�I�K�E3�L�º/I�K��:�����uH��t!H��H��$�H��p_�L��[��H�L$@�[���H� :H�L$@����H�\$ H�L$WH�� H���d$8��t H�:�H�H�`H����D$8H�HcHH�SH�9H�HcH�Q�T9�H�_H�HcHH�E3�H���4��H�HcPH���H�:H�HcPD��X���D�D:�H�\$@H���m6�H�&�H�E3�3�H���J����H��H�\$HH�� _����H�\$ WH��`H��Z:H3�H�D$XI��H��H��H�L$ H�!H�T$PH��ڡH��T$P��u%H��t!H��H�L$XH3��b�
H��$�H��`_�L��H�L$(���H��:H�L$(蒨��@SH�� H��H��H�
��W�H�H�SH�H裧H� H�H��H�� [�H�
W�AH�H������H�\$H�T$WH�� H��H��E��tVH���H�H���H���H��0��H���HcHH��H���H���H���HcHƄIH�HcHH��H�H�HcH�QЉT�H�cH�cH�GH��t�@H�H�CH�GH�C�CH�c H�H��t9����G��u,H�H��H��H�����G��uH�H��H�@�+�H��H�\$0H�� _��H�\$H�T$WH�� H��H��E��tVH��H�H��H���H��8��H���HcHH��~H���H���H���HcHƄQH�HcHH�6H�H�HcH�QȉT�H�cH�cH�GH��t�@H�H�CH�GH�CH�cH�c H�c(H�H��t9����G��u,H�H��H��2�����G��uH�H��H�@��H��H�\$0H�� _����H�\$WH��0H��H��H�L$ ���B�A�B�A�B�A�B�AH��H�aH�aH���|��H�O0H�aH�aH�S0�d���CP�GPH�OXH�aH�aH�SX�F��H�OxH�aH�aH�Sx�.��������������H���H���H���H�aH�aH������H��H�\$PH��0_����@SH��0H��H�L$ �AH�l|H�H���軴
�H�c`H�ch� �&�
H�H�@H�C`�CpH�cxH���� ��
H�H�@H�Cxf���H��H��0[�H�\$UVWATAUAVAWH��H��H��H��H�M�E3�L�)L�iH���Y����H���H��H���b�������L���E3�H�U�I�����H�M�H�}�HCM�H��}�1�H������H�U�H��rH��H�M�軉�H��H�E�H�H�H��t
�ɛ����L��H���H��L�� H��I���ɰ���H���H���u�L��HL��PL��XL��`L��h�H��
H��t%L�(L�hL�hL�hL�h L�h(L�h0L�h8L�h@�I��H��pL��xL���M�hI�@E�(H���L�/D���H�
�H�E�L�u�E3ɺ0H�M��������H��H����A�A����
H��H�E�H��tE��3�H�����H������I��H�]�H�U�H�����H�]�H��t.H���H���͒���H���H�H���
�I��H�����
L9nx���VH�M�����VH�M��l�H���/H��H��}�#��H��H��}���H�LcAA�l�VH���;X�H��L�5]I�����H��H�/}���H�HcQA�@D	d�VH���W�H��I����H��H��|��H�HcQD	d�VH����W�H��I����H��H��|�r��H�U�H�}�HCU�L�E�H���X�I��H���M��H��H�C|�>��H��H�HcQ�L�������LH�HcQ�DX0�H�M�萭
H��H���E�H�HcQ�L�����#ϻ�ˉLH�U�H�}�HCU�L�E�H�����I��H����L��H�HcQ�L�����	�LH�HcQ�DX H�HcHB�D	#��B�D	H�_{I���o��H�V H�~8rH�V L�F0H���T�I��H���I��H��H�{�:��H�V@H�~XrH�V@L�FPH����I��H�����H��H��z���H�HcQD	d�V`H���.V�H��I�����H��H�qz���H�VhH���rH�VhL�FxH����H���I��H����H��H�z��H��H�{rH�L�CH���|��H��`I��H���j��H��H��y�[��H��H��y�L��H��H�{rH�L�CH���3��I��H���(��H��H�fy���H��A��
�H��I�����H��H�)y���H�ȋ�$�
�H��I�����H��H��x���H��H��(�T�H��I����H��H��x��H��H��0�tT�H��I����H��H�gx�z��H�HcQD	dD8�X��H���T�H��I���Q��H��H�x�B��H�HcQD	dD8�Y��H���dT�H��I�����H��H��w�
��H�HcQD	dD8�Z��H���,T�H��I�����H��H�ow���H�LcAE	d��H���S�H��I����H����H�U�H��rH��H�M��N��L�m�H�E�D�m�H�U�H��r
H��H�M��(��H��H��$�H�ĀA_A^A]A\_^]�L��N��H�M�蓤��H�X:H�M��'��L��(��H�M��p���H�5:H�M�������H�\$UWAVH�l$�H��H��H��H�M�RH�M'�Eg�A�L�u�H�E��:v�E��7v�E��1vf�E��E�H�H��H�@�}�H��L�E�H�M��-�L�M'L���U�H�M��)*�H�U�H���}��H��H��O�H�U�H��rH��H�M���H�e�L�u��E�H�UH��rH��H�M��ց�H�eL�u�E�H�U�H��rH��H�M�賁�H�e�L�u��E�H�U?H��rH��H�M'萁�H��H�H��H��$�H�İA^_]����H�T$H�L$SVWH��0H��H���d$`E��tkH��tH�AH��tH�AH��tH���H��P�6����H���HcHH�;sH��9�H���H���HcHƄ9i�D$`W��D$ H�NH��t�AH�NH�H�D$ H�L$(H�_E3�H�T$ H����H�~rH�H�GHcHH�|rH�D9H�GHcHƄ9�H��sH�H�HcHH��sH�D9H�HcH�Q��T9�_�
H���;�
H�H��Hi�ʚ;Hi�ʚ;H�H��H�H�O8H�g@H�^H��t8������C�u*H�H��H��%�����C�uH�H��H�@�
�H��H��0_^[����L�AH�QH�	��H��(H�IH��t����A��u
H�H�@�ňH��(�H�\$WH�� H�H��H�BH� H�
H��tH�� �c�H��H��u�H�� H�\$0H�� _�D�H�\$WH�� H�9H��t1H���H��賉���H���H�H����
��H���º
�H�\$0H�� _���@SH�� H�H��tH�����HH��葺
H�� [��������@SH�� H��H�	H��t-H�SL����H�SH+H�H���~�H�#H�cH�cH�� [�H�\$WH�� H�Y�H��H�H��t-H�SL���
�H�SH+H�H���D~�H�#H�cH�cH�_�H��t8������C�u*H�H��H��@�����C�uH�H��H�@�%�H�\$0H�� _���@SH�� H��H�IH��t�{t�܏H�KH��t�ԏH�H��t�͏H�� [���H�\$H�t$WH�� H�QxH��� H�BH� H�
H��tH�H���r}�H��H��u�H�OxH���^}�H�O`H�AH� H�	H��tH�H���?}�H��H��u�H�O`H���+}�H�OH�\$0H�t$8H�� _��
���H�\$WH�� H�y0H��H�H��t-H�WL����H�WH+H�H����|�H�'H�gH�gH�{H�H��t-H�WL���Z�H�WH+H�H���|�H�'H�gH�gH�H��t-H�SL���%�H�SH+H�H���j|�H�#H�cH�cH�\$0H�� _��H�\$H�t$WH�� H��H���H��t0H���H��賆���H���H�H����
��H���·
H���H��rH��H�����{�H���HLJ�Ƈ�H��xH��t��H��pH��tH������HH���Z�
H��H�~H����H�� ���H��H��t肍H��H��t�k�H���H��t���t�K�H���H��t�@�H�O���H�OH��t����A��uH�H�@�-��H�\$0H�t$8H�� _�H�\$WH�� H���H��L�H��H��M�@螹��H��H�z�H�_pL�H��H��M�@�{���H��H�z�H�_XL�H��H��M�@����H��x�sz�H�OH�\$0H�� _�@�
@SH�� H��H�IH��t�{t�T�H�H��t�M�H�� [�@SH�� H��H�I�H��tH��H�@�<�H�K�H��t�ŒH�[�H��t9����C��u,H�H��H��	�����C��uH�H��H�@��H�� [���H�\$WH��PH��H��H;�t%H�	H��t	诋��u"H�H�H��t	�f���u3H��H�\$`H��P_�L����H�L$ ���H��:H�L$ 舓�L�P��H�L$ �К��H��:H�L$ �c����H�\$WH��PH��H��H;�t%H�	H��t	�‹��u"H�H�H��t	訋��u3H��H�\$`H��P_�L����H�L$ �a���H�&:H�L$ ���L����H�L$ �<���H�:H�L$ �ϒ���H�\$WH�� H��H�y0H�I H��t�1�H�[H��t9����C��u,H�H��H��x�����C��uH�H��H�@�[�H��H�\$0H�� _�q������������HcA�H+��P����HcA�H+��x����HcA�H+������@SH�� H��nH��H���t
���~�
H��H�� [��H�\$WH�� H�yЋ�H��������t
��H���J�
H�\$0H��H�� _�H�\$H�t$WH�� ��H�����H�����@��t��H�K���
H�t$8H�C�H�\$0H�� _����H�\$WH�� ��H���t�����t
��H���ʲ
H�\$0H��H�� _�������������@SH�� H�Y��t
��H��蔲
H��H�� [����H�\$H�t$WH�� ��H������H�����@��t��H�K��S�
H�t$8H�C�H�\$0H�� _����������������H��(H��tH��H�@��H��(�H��������I��L��L��H��I���$�H��HH�L$ ��H��:H�L$ �Q��@SH�� H��H�	H��tLH�SL��觪��H�SH��������*H+H�H��H��H��H��?H�H�RH���u�H�#H�cH�cH�� [��������������HcA�H+��������HcA�H+�H�����H�\$H�l$VWAVH��`@��H��H�Y H��t�CH�Y H�QH�T$ H�\$(H��E3�H��$��V�L��H�w0H;�tH�H��t
�݇����I�H�I�&H��$�H��t蹇�H��t8������C�u*H�H��H��~����C�uH�H��H�@��}�ʢ
H��覢
H�H��H��Hi�ʚ;H�H��Hi�ʚ;H�H�G8@��tH�H��H���}H�GHcH@��9�L�\$`I�[(I�k0I��A^_^�L�h��H�L$0�ؕ��H��:H�L$0�k����@SH��@H��H�	HcA���u9H�CH;�tL�BH��H�D�L$ �M���H�HcAH��Ƅ�H��@[�H��fH�L$(�49�H�E�9H�L$(�����H�\$H�t$ UWAWH�l$�H��H�G?:H3�H�E7H��H��W�3�E�EEH�E/L��L���H��H�M��������E'@��~Pt��t@���3��E(H�e�A�L�}��E�L�
�hE3�A�WH�M���v�H�U�H���e����t9H�e�L�}��E�L�
�hE3�A�WH�M��v�H�U�H����d����tD���E2����H�M�����H�e�L�}��E�L�
�hE3�A�PH�M��tv�H�U�H���d����t4H�e�L�}��E�L�
HhE3�A�PH�M��@v�H�U�H���Td����u@2�D�Nj��H�M��Ǚ��H�M����H��H�U��^����H�MH��t�}t��H�MH��t��H�M�H��t�H�M7H3�赮
L��$�I�[0I�s8I��A__]��H�\$H�t$H�|$ AVH��PH��L����
H��H�D$pH��t%�@�@H�}hH�H�KH�����H�sH����H�FH��t�xu~H��t�CH���CH���3�3�H�H�NH�V��H��t����A�u
H�H�@�5zH��t5����C�u*H�H��H��z����C�uH�H��H�@��yI�6I�^I��H�\$`H�t$hH�|$xH��PA^����@SH��0L�IW�H��L���D$ M��tEA�A��H�A�It��t0��I�E��I��pL�D$ H�D$ I�BH�D$(�:H��H��0[���������@SH��`H��;:H3�H�D$PI��L��H��tL�H�BI+�H��H��uE3�H��t
H�JH+
H���3ɋ�H��I�
H��H�D$HM�L#��%���uXH��tH�H��t	腂��uH�D$HH�3�H�L$PH3�膬
H��`[�L����H�L$ �)���H��9H�L$ 載�L��`��H�L$ ����H��9H�L$ 藉���@SH��`H��::H3�H�D$PI��L��H��tL�H�BI+�H��H��uE3�H��t
H�JH+
H���3ɋ�H��I�
H��H�D$HM�L#��7���uXH��tH�H��t	蝁��uH�D$HH�3�H�L$PH3�螫
H��`[�L����H�L$ �A���H��9H�L$ �Ԉ�L��_��H�L$ ����H��9H�L$ 诈���@SVWAVAWH��H�::H3�H��$�H��$�L��H��$�I��L��$�I��L��H��tL�H�AI+�H��H��uE3�H��t
H�QH+H���3�I�H��H��H�D$xM�L#�A�AL�\$@�؋GM�L�D$8D�FM#щT$0��I�M�L�T$(L#�H�t$ ����udH��tH�H��t	�W���u)H�D$xH�3�H��$�H3��U�
H�ĐA_A^_^[�L���H�L$P���H���9H�L$P肇�L��^��H�L$P�ʎ��H���9H�L$P�]��L��SVWATAUAVAWH�� H��8:H3�H��$I��H�\$PM��L�D$HL��H��H�T$hH��$�H�|$hL��$�3�I�C�W��AK�I!C�M�{�8A`��I�>M�fI;����d$ L�
Q�:L�zV:3�H�责H��tjH�X H�\$`H��t
H����3�����H��$�H;�$�tH�3�H�L$`H��$��L�D$`H��$��D��H�L$`H��t��~H��I;��g���H�\$PH�|$hL�d$HH�d$H�~`tG���u>�~u8H��H�d$0L�|$(H�|$ L��L�Q"=I���=����;E3�I�����H��H�D$HH�D$0L�|$(H�|$ L��L�"=I�������E3�L9~x��H��H��$0�;H��H��H��$�(H��E3�H��$�I���:���L�VaH��H��$��>i�L��L���T$@H��$���L�aH��$�H��$��	i�L��L���T$@H�L$p���L��`H�T$pH��$���h�H��$�A�_H;�r
H��H�L$p�j�L��$��H��$�D�|$pH��$�H;�rH��H��$��Tj�L��$�H��$�D��$�H��$�H;�rH��H��$��j�L��$�H��$�D��$�H��$�H;�rH��H��$���i�L��$�H��$�D��$�H��$H;�rH��H��$��i�L��$H��$D��$�H��$(H;�rH��H��$�i�L��$ H��$(D��$H��$HH;�rH��H��$0�Ki�L��$@H��$HD��$0D8~`tA�H�`_H��$�����\I��H��$x�e���H��H��$X���H��H9XrH�L�@H��$�賉�H��$pH;�rH��H��$X�h�H��`H��L��$�H����H��$H;�rH��H��$��}h�W��D$PH�VH�����B�
�H��Jt
������H�H�D$PH�FH�D$X��H��`H��H�D$ L�L$HL�D$PI��H��p��H�L$HH��t��z�H��$�H��t1L��$�H��$�����H��$�H��$�H+�H���g�I��H��$H3�茤
H�� A_A^A]A\_^[�L��
��H��$�����H���9H��$�证��9��H�\$ VATAUAVAWH��H�3:H3�H��$xM��L��H��H�T$0I�@I9��W��D$PH�QH�����B�
�H��Jt
������H�H�T$PH�VH�T$XA�L�D$PI��H��p�I��H��$xH3�蜣
H��$�H�ĀA_A^A]A\^Ày`��H�d$8H��$�H��$�H�Q@H�L$p�c��H���H�L$p�ʖ��H��$�H��r
H��H�L$p�Ef���3�H��$pW���$`H!�$pM�<$M�l$M;����d$ L�
Ɇ:L��O:3�I��,�H��tjH�X H�\$0H��t
H���x�3����pH��$hH;�$ptH�3�H�L$0H��$h�L�D$0H��$`���H�L$0H��t�ExI���b���H��L�D$8H��$`�����H��$`H��tGL��$`H��$h�0��H��$pH��$`H+�H��� e��H��L�D$83�����H�~x��I��H��$��S���H��H��$���L��H�[H��$����H��`H��L��H���)�H��$�H��rH��H��$��d�H��$�HDŽ$�Ƅ$�H��$�H��rH��H��$��Wd�W��D$@H�VH����B�
�H��Jt
������H�H�D$@H�FH�D$H��H��`H��H�D$ L�L$8L�D$@I��H��p���H�L$8H���
����v����I���W��D$`H�VH�����B�
�H��Jt��tv��H�H�D$`H�FH�D$hH��hL��xH�D$ L�D$`I��H��p�\����*��L�b	��H��$8�߄��H���9H��$8�o}����������H�\$H�t$ UWATAVAWH�l$�H��H��.:H3�H�E/H��H��H�M�H�U�e�H�A�H�Af�(A�D�u�E��H�2L�b�H�E'H�E�RVf�E�JV�E�E�d$ L�
E�:L�nL:3�H�訙H��H��tCH�HcHH�TH�M���A��D�u�H�U'H��rH��H�M�1b�E�EM�MH�z�H�kE��HE�L�EH�M��`�H��H�xrH�L�@H���ł�H�U�H��rH��H�M���a�E2�H�U'H��rH��H�M�a�H��I;������A�H���H���s��H�H��t-L��H�W�&��H�WH+H��H��ka�H�'H�gH�gH��H�M/H3��.�
L��$�I�[@I�sHI��A_A^A\_]���@SH��PH��H�yxtPH�D$8H�D$0�lW�D$ �fW�D$$�D$%L�D$ 3��a�H�T$8H��r
H��H�L$ ��`�H���t��uH��P[�L�CR��H�L$ �C���H��9H�L$ ��z��H��H�XH�pH�PWH��@I��H��`���D$0�d$ L�
%�:L�NJ:3�H�舗H��H�H H����H�HcQH�L$pH�LH�HcQƄ�H��H�\$PH�t$`H��@_���H�\$L�D$WH��0I��H��H�D$`H�D$ �P����H�[H��t9����C��u,H�H��H���h����C��uH�H��H�@��hH��H�\$@H��0_����H��H�XH�p L�@H�PWH��@I��I��H��`�H��0���D$0�d$ L�
ց:L�?I:3�H��y�H��H���
��H�_H��t8������C�u*H�H��H��;h����C�uH�H��H�@� hH��H�\$PH�t$hH��@_��H�\$H�l$VWAVH��0M��H��H��H�H�i�H�H�H�@��g��t_H��H;�u����
L��H�D$PH��tTW��D$ I�NH��t�AI�NI�H�D$ H�L$(A�H�T$ I���N��H���H�H�H�����@�~3�H��u3��
H�HcXH�H�\$PH�WH;WtH�H��t�CH�G�
L�D$PH���L��H�GH�@�H�H��t�@H��t!����C��uH��H��H���fH��H�\$XH�l$`H��0A^_^�H�\$H�l$VWAVH��0M��H��H��H�H�i�H�H�H�@��f��t_H��H;�u���ј
L��H�D$PH��tTW��D$ I�NH��t�AI�NI�H�D$ H�L$(A�H�T$ I�����H���H�H�H�����@�~3�H��u3��
H�HcXH�H�\$PH�WH;WtH�H��t�CH�G�
L�D$PH�����H�GH�@�H�H��t�@H��t!����C��uH��H��H���eH��H�\$XH�l$`H��0A^_^�H�\$H�l$VWAVH��0M��H��H��H�H�i�H�H�H�@�Xe��t_H��H;�u��著
L��H�D$PH��tWW��D$ I�NH��t�AI�NI�H�D$ H�L$(A�H�T$ I���^��H���H�H�H�����@�3�H��u3��H�BHcHH�ZH�H�\$PH�WH;WtH�H��t�CH�G�
L�D$PH������H�GH�@�H�H��t�@H��t!����C��uH��H��H��ZdH��H�\$XH�l$`H��0A^_^�H��H�XH�p L�@H�PWH��@A��I��H��`�H������D$0�d$ L�
*}:L��D:3�H��H�Ȋ��7��H�_H��t8������C�u*H�H��H���c����C�uH�H��H�@��cH��H�\$PH�t$hH��@_���HcA�H+��h�������HcA�H+��t�������HcA�H+��\	@SH��0L�IW�H��L���D$ M��tEA�A��H�A�It��t0��I�M��I��pL�D$ H�D$ I�BH�D$(�J���H��H��0[���������������HcA�H+��������HcA�H+�H���ԯ��HcA�H+�������̊����H�\$WH�� H�yxI��H��tO�tH��H��O���H��H���r)�H��H��O���H�{H��rH�L�CH���j��H������H�\$0H�� _����H�\$H�t$ UWAVH��H��pH��H��H�M؃e�H�A�H�Af�(A�D�u�3�9z��H��H�M����A��D�u�H��H���H��HD�L�E�H�M��}��H��H�xrH�L�@H���Sy�H�U�H��rH��H�M��\X�H�e�H�E��E�H�U�H��rH��H�M��5X�H�NjNH;��b���A�H�	�H����x�H��L�\$pI�[0I�s8I��A^_]��H�\$WH��H��L���I���uCH�YhH��H�{rH�A�@E�A�I���Y��L���I�HcHB�|ugI���tI��H��$�H�Ā_�L��H�NNH�L$8�lV�L�,NH��H�L$X�U�H��H�L$ �k�H���9H�L$ �xq�H��MH�L$ ��H���9H�L$ �Uq�@SH�� H��pH��pH��tH�������HH��襒
H�� [����H�\$H�t$ WH��H����֋��e�
H��H��$�H����h��ueH��$�H��H�d$(H�\$ L��A�H��$��f���H��$�H��t	�i��uBH���ތ
L��$�I�[ I�s(I��_�L��1��H�L$0��w��H���9H�L$0�Up�L�-���H�L$X�w��H�b�9H�L$X�0p����������������Ɓ��H�\$H�t$WH�� H�qH��H�9�H�H�H�@��^H��H;�u�H�s H�{�H�H�H�@��^H��H;�u�H�{8H�[0�H�H�H�@��^H��H;�u�H�\$0H�t$8H�� _���H��p�h���H�\$H�t$WH��0H��3�H�I3�H�G H+�H��H��tKH��L�
�u:�d$ L��>:H��3��1�H�HcQH�OH�TH�G H;�HF�H+�H��H��H;�r�H�H�\$@H�t$HHcHH�T9H��0_����H�\$H�t$ WATAVH��H�ـy`�@2�H�2L�rI;���A��d$ L�
w:L�U>:3�H�菋H��h@��H9HAG�H��I;�u�@����H��3�8��tL��x����	E3�����I���H��`I�H��hH�{xtdH�D$HH�D$@�aJ�D$0�ZJf�D$4�QJ�D$6�D$7H��hL�D$0H�������H�T$HH��r
H��H�L$0�S�L��$�I�[0I�s8I��A^A\_�H�\$VWAVH��0H�
:H3�H��$ H��H��E3�L9qx��H��$�莡��H��H�L$`���L��H��IH�L$8���L��3�H���r����H�T$PH��r
H��H�L$8��R�L�t$HH�D$PD�t$8H�T$xH��r
H��H�L$`�R�W���$L��$H�;H�sH;���D�t$ L�
Ns:L�w<:3�H�豉H��tgH�X H�\$0H��t
H���e�A�ƅ���H��$H;�$tH�I��H��$�L�D$0H��$�D���H�L$0H��t��dH���e���H��$H��$H+�H��H��ID֋���d����H��$H��t1L��$H��$襾��H��$H��$H+�H���Q�H��$ H3��e�
H��$`H��0A^_^�L�z���H��$��r��H���9H��$��k�L��?��H��$���r��H���9H��$��\k������������HcA�H+��@�������HcA�H+�H���,���HcA�H+��ة������H��A�@SH��0H�I�H��H��u2��7H�HH�D$ H�T$@H�H���YH�L�D$ H�H�L$(H�����H��0[������H�\$H�t$WH��H��H�Y0H�\$ H��tH���c����3�H���c����H��tH����b�褋
H��H�D$ H��tB�*~
H���~
H�H��H��Hi�ʚ;H�H��Hi�ʚ;H�H�F8H�
)GH�H+�H�W�3�H�F@H�L$ �H;�tH�H�8H��tH��H��tH�H�ϋ�H�@��XH�FHcH��1�L��$�I�[I�s I��_�L��F��H�L$P�p��H���9H�L$P�i�L�Y���H�L$(��p��H���9H�L$(�li������������H�AH�H��������H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@�
XH���29��H;�u`H9~u7H�L��M��H��H��H�@ ��WH�\$`H��H�l$hH�t$pH�|$xH��PA^�H���H�L$0��H��9H�L$0�h�H�>�H�L$0�p�H���9H�L$0�h�����������H�\$H�t$WH��@H��H��H�JH�H�@�JWH���r8��H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%WH���H�L$ ��~�H�d�9H�L$ �h�H���H�L$ ��~�H�A�9H�L$ ��g���������������H�iFH�H�AH�BH�������������H�Yp:�@SH��@L��H��H�L$(3��D$ H�AH�AH�AH�A H�A(H�A0�A8H�Q@H�T$0�H�B H�B�BH�B(H�B0�Ax+H��DH��D$ H��I���E��H��H��@[����@USVWATAVAWH��$���H��H�w:H3�H���E��L��H��H�M��d$ �+蝡��H�DH�A�D�d$ H��I����F��I���I���H+�H��H����E��H�U�H�	耵��H��pI���	���H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H�U�H�M��?7��H��H���H��H���2����G@�C@�GD�CDH�M�H��tH�U�H+�H����K�H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H��pH�M��6��H��H��H��H�������G@�C@�GD�CDH�M�H��tH�U�H+�H�����J�I�I��H�@��SH��H�N�Nm��A�$����A�(���A�� ��?�����H��H���H3��X�
H��A_A^A\_^[]�豁��H�\$ UVWATAUAVAWH��$ ���H���H��:H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`�e�H�WXL�D$`I����H��AI�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� �K��A��H��t9A����CA�u,H�H��H���RA����CA�uH�H��H�@��RI��H���љ���I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H���x���L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H���0uI�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH��觠���H�CH;CtH��H������H�C@�L��H��H���І���H������I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	裰��H�0H�޸?���H#�H�M�Y�H��3�H�D$0H��D$ �D��D��H�M��z�L��H�|$ A�H��H��P�~V�I�EH�XH��PH�����U�L��H�T$HH�����H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I������H�D$0H��t$����H��uH�L$0H��H���O�H�L$HH��t#����A��uH��tH��H��{OH�t$HI��L;|$8�����I��H���H3���
H��$8H���A_A^A]A\_^]��d��O}����H�\$ WH��`H��:H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(���H�F=H�H�SH��rH��H��E�H�cH�C�H��H�L$PH3��F�
H��$�H��`_�H��(�
.=eH�%XA�4H��A�9A�<H��<H��(�H�
,�<�ׇ
�= �<�u�W��<�<��<H�
�<���H�
�3��
�H�
�<�1�
����H�\$H�T$UH�l$�H��H�ڋ�E�H�AH�E��A�EH�EH�EgH�eGH�J8H��tH�H�UH���MH�EG�)��L�E�H�U�H������H�MGH��tH�H�UH;���H�@ �oM�H�K8H��tH�H;���H�@ �RMH�c8H��$�H�Đ]�������������H�\$H�t$UWAWH��$0���H���H��:H3�H���H��A�E��H��H��0�����H�WH��@�>����H�_H��t	�D{H�_H�G���f���H��t8������C�u*H�H��H���L����C�uH�H��H�@�tLH�U�H������H�P`H��H���HDž�H��H���L���H��H���L���H��H���HDž�H��$H��HDžW��� A� H���,kW�3�H���H�����L$8H�����L$<H����A�D$@��D$D���H���D�L$0L�D$HH�T$8H����GD����H������������L��W�3���H���I�
H�AL��@L��0H���I��K�H�e�A�L�}��E�L�
��E3�A�W!H�M��E�H�d$xL�}��D$hL�
��E3�A�WH�L$h�|E�H�d$XL�|$`�D$HL�
:E3�A�W6H�L$H�SE�H���H9����H�H��H�@�qJL��H�E�H�D$(�\$ L�L$hA�W"H�L$H�f��H�T$`H��r
H��H�L$H�A�H�d$XL�|$`�D$HH�U�H��r
H��H�L$h��@�H�d$xL�}��D$hH�U�H��rH��H�M��@��/|
H��H�D$8H��tL���H��H���0���H��8H��3�H����&����H��tH���H+�H��H���Z@�H��@�M����H��0�`���H��H���H3��}
L��$�I�[(I�s0I��A__]�������H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@�
IH���b��H;�u`H9~u7H�L��M��H��H��H�@ ��HH�\$`H��H�l$hH�t$pH�|$xH��PA^�H���H�L$0�p�H��9H�L$0�Y�H�>�H�L$0�pp�H���9H�L$0�Y�����������H�\$H�t$WH��@H��H��H�JH�H�@�JHH�����H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%HH���H�L$ ��o�H�d�9H�L$ �Y�H���H�L$ ��o�H�A�9H�L$ ��X���������������H�	9H�H�AH�BH�������������H��a:���������H�\$WH�� H�9��H�H���¢����t
�0H����y
H�\$0H��H�� _���@SH��@L��H��H�L$(3��D$ H�AH�AH�AH�A H�A(H�A0�A8H�Q@H�T$0�H�B H�B�BH�B(H�B0�AxH��6H��D$ H��I���\6��H��H��@[����@USVWAUAVAWH��$���H��H�/	:H3�H���E��L��H��H�M��d$ ��U���H�b6H�H��PH��XH��`A�D�l$ H��I���}7��I���I���H+�H��H����E��H�U�H�	� ���H��pI��試��H�D$xH�D$(H�D$0H�D$xH�D$8L�l$@H�D$|H�D$HL�l$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H�U�H�M���'��H��H���H��H���ҡ���G@�C@�GD�CDH�M�H��tH�U�H+�H����-<�H�D$xH�D$(H�D$0H�D$xH�D$8L�l$@H�D$|H�D$HL�l$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H��pH�M��,'��H��H��H��H�������G@�C@�GD�CDH�M�H��tH�U�H+�H����z;�I�I��H�@��DH��H�N��]��A�$����A�(���A�� �0�����H��H���H3��w
H��A_A^A]_^[]��Qr��H�\$ UVWATAUAVAWH��$ ���H���H��:H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`�V�H�WXL�D$`I����H�4I�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� ���A��H��t9A����CA�u,H�H��H��MCA����CA�uH�H��H�@�0CI��H���q����I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H������L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H����eI�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH���G����H�CH;CtH��H��赐��H�C@�L��H��H���pw���H��軙��I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	�C���H�0H�޸?���H#�H�M�I�H��3�H�D$0H��D$ �D��D��H�M��k�L��H�|$ A�H��H��P�G�I�EH�XH��PH����cF�L��H�T$HH��背�H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I���r��H�D$0H��t$����H��uH�L$0H��H��I@�H�L$HH��t#����A��uH��tH��H��@H�t$HI��L;|$8�����I��H���H3��s
H��$8H���A_A^A]A\_^]��%U���m����H�\$ WH��`H�C:H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(蕏��H��/H�H�SH��rH��H��&6�H�cH�C�H��H�L$PH3���r
H��$�H��`_�H��(�
�<eH�%XA�4H��A�9A�<H��<H��(�H�
,�<�wx
�= �<�u�W���<��<��<H�
��<��H�
�$�v
�H�
��<��w
����H��H�XH�hH�p WH��0)p�1�H<��fH~�H��fs�fH~�H�(�L��H��H������H��HH;�u�H�\$HH�l$PH�t$X(t$ H��0_�����H�\$H�t$UWAUAVAWH��$@���H��H��:H3�H���H��A�E��H��H�M������H�VH��0����H���L�pL+pI��fE+�H�^E3�H��t	�DkH�^H�~H��t9����C��u,H�H��H���=����C��uH�H��H�@�f=I��H��0L��(H��I+�H�tvH��I+�H�H+�A��fA+DH�f�D$0H;� tf�H��H��H���L�D$0H���E��H��I�H��0L��(H��I+�H�H;�r����L��W�3�E�H�E�I�
H�AL��0L�E�H�U�I���<�L�}��H�}�D�}�L�
�E�ǍW H�M��87�L�|$hH�|$pD�|$XL�
!�E�ǍWH�L$X�7�L�|$HH�|$PD�|$8L�
:-E�ǍW6H�L$8��6�H�E�H9E���H�H��H�@�<L��H�E�H�D$(�\$ L�L$X�W"H�L$8���H�T$PH��r
H��H�L$8�2�L�|$HH�|$PD�|$8H�T$pH��r
H��H�L$X�|2�L�|$hH�|$pD�|$XH�U�H��rH��H�M��W2���m
H��H�D$xH��tL�E�H��H���1���H�
,H��I��H�M��ɜ���H��0�����H��H��t*H�� H+�H�H���1�L��L��L�� H�M����H��H���H3��n
L��$�I�[8I�s@I��A_A^A]_]���������������H�\$WH�� H��H���+]��PH���}\��TH���O\��XH���!\H�\$0H��H�� _����H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@�::H���I�H;�u`H9~u7H�L��M��H��H��H�@ �:H�\$`H��H�l$hH�t$pH�|$xH��PA^�H��H�L$0��a�H�@�9H�L$0��J�H�n�H�L$0�a�H��9H�L$0�J�����������H�\$H�t$WH��@H��H��H�JH�H�@�z9H����H�H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%D9H���H�L$ �a�H���9H�L$ �2J�H���H�L$ ��`�H�q�9H�L$ �J���������������H�\$H�T$WH��0I��H�ڃd$ �_���D$ H�GpH��@��H�O(H�G0H+�H��H��v~H�AH�@XH�D$(H��t	�@H�D$(H�SH;StH�3�H�D$(H�C�L�D$(H���j��H�D$(H��t#����H��uH�L$(H��H��28H��H�\$@H��0_��?f����������������H�!+H�H�AH�BH�������������H�iR:���������H�\$WH�� H�+��H�H��������t
�0H���@j
H�\$0H��H�� _���@SH��@L��H��H�L$(3��D$ H�AH�AH�AH�A H�A(H�A0�A8H�Q@H�T$0�H�B H�B�BH�B(H�B0�Ax	H�
)H��D$ H��I���&��H��H��@[����H�\$ UVWATAUAVAWH��$���H��H�z�9H3�H���E��L��H��H�M�E3�D�d$ A�T$	蝂��H�r(H�L��PL��XL��`L��hL��pL��xE�l$D�l$ H��I���'��I���I���H+�H��H����E��H�U�H�	�W���H��pI�����H�D$xH�D$(H�D$0H�D$xH�D$8L�l$@H�D$|H�D$HL�l$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H�U�H�M����H��H���H��H���	����G@�C@�GD�CDH�M�H��tH�U�H+�H����d,�H�D$xH�D$(H�D$0H�D$xH�D$8L�l$@H�D$|H�D$HL�l$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H��pH�M��c��H��H��H��H���V����G@�C@�GD�CDH�M�H��tH�U�H+�H����+�I�I��H�@��4H��H�N�%N��A�$����A�(���A�� � �����H��H���H3��/h
H��$XH��A_A^A]A\_^]��b����H�\$ UVWATAUAVAWH��$ ���H���H���9H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`��F�H�WXL�D$`I����H�Q&I�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� �|�A��H��t9A����CA�u,H�H��H��y3A����CA�uH�H��H�@�\3I��H���z���I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H���D���L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H���UI�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH���s����H�CH;CtH��H�����H�C@�L��H��H���g���H�����I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	�o���H�0H�޸?���H#�H�M��9�H��3�H�D$0H��D$ �D��D��H�M��K[�L��H�|$ A�H��H��P�J7�I�EH�XH��PH����6�L��H�T$HH���|�H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I����b��H�D$0H��t$����H��uH�L$0H��H��u0�H�L$HH��t#����A��uH��tH��H��G0H�t$HI��L;|$8�����I��H���H3���c
H��$8H���A_A^A]A\_^]��QE��^����H�\$ WH��`H�o�9H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(���H��!H�H�SH��rH��H��R&�H�cH�C�H��H�L$PH3��c
H��$�H��`_�H�\$H�t$H�|$ UATAUAVAWH��H��H��H�E�E3�H�E�L�55"D�}�L�-�L�u���L�m�H�M�H�u�H�U�D�}��H�E�L�u�D�f�H�E�H�U�L�m�H�M�D�}�L�e�D�}���H�E�L�u�A�H�E�H�U�L�m�H�M��}�H�u�D�}��H�E�L�u�H�U�H�E�H�M�L�m��}�L�e�D�}���e�H�E�D��H�E�H�U�L�u�H�M�L�m��}�L�}��c�e�H�E�L�u�H�U�D�v�H�E�H�M�L�u�L�m��}��7�e�H�E��e�H�=!H�U�H�E�H�M�H�}�L�m�L�}��H�}��e�H�E��e�H�U�H�M�H�E�L�m�L�u����e�H�E�H�U�H�E�H�M�H�}�L�m�D�}�H�u���e�H�E�H�U�H�E�H�M�H�}�L�m�D�}�L�e���e�H�E�H�U�H�E�H�M�H�}�L�m�D�}�L�}��c�e�H�E�H�U�H�E�H�M�H�}�L�m�D�}�L�u��:�e�H�E�H�U�H�E�H�M�H�}�L�m��E�L�e���e�H�E�H�}�H�U��~�H�E�H�M��}�L�m�H�u����e�H�E�H�5�H�E�H�U�H�u�H�M�L�m��}�L�e���}�H�E�3�H�u�H�U��}�H�M�L�m�H�E�L�}��H�E�H�u�H�U�H�E�H�M�L�m��E�L�}��}��`H�E�H�u�H�U�H�E�H�M�L�m��E�L�}��}��5L�}�H�E�E3�H�E�A�|$�D�}�H�U�H�u�H�M�L�m��}��H�E�H�u�H�U�H�E�H�M�L�m��}�L�u�D�}���H�E�H�u�H�U�H�E�H�M�L�m��E�"L�e�D�}��L��$�H��I�[8I�s@I�{HI��A_A^A]A\]��H��(�
�<eH�%XA�4H��A�9��<H���<H��(�H�
��<�d
�=��<�u�W���<��<��<H�
s�<��H�
���b
�H�
��<�d
����H�\$H�T$UH�l$�H��H�ڋ�E�H�AH�E��A�EH�EH�EgH�eGH�J8H��tH�H�UH���*H�EG��b��L�E�H�U�H���d����H�MGH��tH�H�UH;���H�@ �S*�H�K8H��tH�H;���H�@ �6*H�c8H��$�H�Đ]�H��H�XH�pH�x UATAUAVAWH����H���H�{�9H3�H���
L����D��I��H�����I�VH�����W�E�I�vE3�H��t�~I�vM�~L�}�H�u�M��XI���I���H+�H��H���,D��H��@H�	�^���H��H���I�����L��A��P��t��t��t
��u	�B����A�ĉ�0��4E8�Tt1H�C@I��x��H�C@I��x�@�AH�C@I��x�@�AM�@@M��M��xM�]0H�[@A���+�A�+�A�A;�?A�P+�A�QARA�KɋC+�;�!A�P+�A�QARA�KɋC+�;�A��~@��A��P�;�u��t��8� ��t��t
��u	�A����A�ĉ�8H�EpH�E H�E(H�EpH�E0H�}8H�EtH�E@H�}HH�ExH�EPH�]XH���H�E`H�EhW�Ep��L�E I��H��`�4R�H��pH�� HDž(H��pH��0H��8H��tH��@H��HH��xH��PH��XH���H��`HDžhW��p��L��hI��uI��H��`�E����I���I���H+�H��H����D��H��`	H�	���H�E�H�E�H�E�H�E�H�E�H�}�H�E�H�E�H�}�H�E�H�E�H�]�H�EH�E�H�E�(��E�(��ML�M�D��H��`	H������H��H���H��H��谂���O@�K@�GD�CDH���H��tH���H+�H������{�A9�P�.H���H���HDž�H���H���H���H���H���H���H���H���H���H��H���HDž�W����I���I���H+�H��H;��:D��H��@H�I�q���H��L���D��H�������H���H;��tH��H���d��H��CH�H���H�L��H��H����X���H���H��tH��H+�H������I��x��PD�@��<��@D��DI�E0���AHԋH��AH̋@��AHĉ�T��X��\I����PD�@��H��LD��P����L��W�3���H���I�
H�AL���L���H���I��<$�L�e��H�}�D�d$pL�
��E�čW H�L$p���L�d$`H�|$hD�d$PL�
��E�čWH�L$P��L�d$@H�|$HD�d$0L�
�E�čW6H�L$0��H���H9����I�I��H�@��#L��H�D$pH�D$(�\$ L�L$P��H�L$0�{�H�T$HH��r
H��H�L$0�4�L�d$@H�|$HD�d$0H�T$hH��r
H��H�L$P�
�L�d$`H�|$hD�d$PH�U�H��r
H��H�L$p����]U
H��H���H��tL���I��H����H��H��I��H����Q����H��t9������F�u+H�H��H���"����F�uH�H��H�B��"�H����V~���H����ix��H��H���
H3��V
L��$�I�[8I�s@I�{HI��A_A^A]A\]��aP��[P���UP��H��H�XH�pH�x UATAUAVAWH�����H���H���9H3�H���H��H���H���H+�H��E3�H���AA�H���H�	�ˁ��H��H����0s�L���L��L��H��@H���0���H��H��@�r�L��XL�hL�xH�_H��t�CH�_L�wH��t9����C��u,H�H��H��:!����C��uH�H��H�@�!I��I��I��H�_H��t�CH�_L�wH��t9����C��u,H�H��H��� ����C��uH�H��H�@�� I���I�pI�`A�L�uxL�mpD�m`L�m�L�u�D�m�L�
�E��A�VH�M��+�L�l$pL�t$xD�l$`L�
�E��A�VH�L$`��L�l$PL�t$XD�l$@L�
E��A�V6H�L$@���H�H��H�@�
 L��H�E`H�D$8L�d$0H�E�H�D$(L�|$ L�L$`A�VH�L$@��H�T$XE�~I;�r
H��H�L$@��L�l$PL�t$XD�l$@H�T$xI;�r
H��H�L$`�f�L�l$pL�t$xD�l$`H�U�I;�rH��H�M��B�L�m�L�u�D�m�H�UxI;�rH��H�M`�!�L���L���D���L�m�L�u�D�m�L�
�E�źH�M����L�m�L�u�D�m�L�
�E�źH�M���L�m�L�u�D�m�L�
�E�źEH�M���H�H��H�@��L��H���H�D$8L�d$0H�E�H�D$(H�t$ L�M��)H�M��E�H�U�I;�rH��H�M��C�L�m�L�u�D�m�H�U�I;�rH��H�M��"�L�m�L�u�D�m�H�U�I;�rH��H�M���L�m�L�u�D�m�H���I;�rH��H������L���L���D���L�mPL�uXD�m@L�
RE�ž��H�M@��L�m0L�u8D�m L�
sE�ŋ�H�M �m�L�mL�uD�mL�
yE�ōV4H�M�J�H�H��H�@�yL��H���H�D$8L�d$0H�E@H�D$(H�\$ L�M �VH�M��H�UI;�rH��H�M��L�mL�uD�mH�U8I;�rH��H�M ���L�m0L�u8D�m H�UXI;�rH��H�M@��L�mPL�uXD�m@H���I;�rH��H�����H���H3��iP
L��$�I�[8I�s@I�{HI��A_A^A]A\]��J����H�\$H�l$H�t$WH��0H�9H��yH�KH�q(H��t�FH�q(H�I H�L$ H�t$(H�H�@�D@��H��t9����F��u,H�H��H�� ����F��uH�H��H�@�@��uH�H;�u�2�H�\$@H�l$HH�t$PH��0_ð�������������H��H�H�AH�BH�������������H��6:���������H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@�jH���N��H;�u`H9~u7H�L��M��H��H��H�@ �>H�\$`H��H�l$hH�t$pH�|$xH��PA^�H�I�H�L$0��B�H�p�9H�L$0�,�H���H�L$0��B�H�M�9H�L$0��+�����������H�\$H�t$WH��@H��H��H�JH�H�@��H�����H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%tH��H�L$ �GB�H�ę9H�L$ �b+�H�*�H�L$ �$B�H���9H�L$ �?+���������������H��H�XH�hH�PVWAVH��@I��H��L��`�I�hI��H��_��H��H;�u�H�GH�HE3�H��H�I�ci��D$0H�O(H�G0H+�H��H����H�H�HXH��H�y�I��u�g��|�d$ L�
l�9L�=�93�H��wGH��H�HHcA���u+Ƅ�H�H�H��?H�CHcHH��H��w��H��H�\$`H�l$pH��@A^_^��0G�����H�\$H�t$ WATAUAVAWH��@L�D$0L��H��H�L$8L��L+!L�qL+1I��I��������M;��!I��H�IH+H��H��H��I��H+�H;�vL�D$ H����,H�
M��I;�LC�M;���I��H��L�|$ H��rH����H��H�D$(�#H��tH���J
H��H�D$(�3�H�\$(L�|$ I���M�<H�D$0�AL�GH�H��M;�uL+��M��L+�_7I�OL�GM+�I���L7�H�H��tH�WH+�H�����H�I��L�L�wH�H�OI��L�\$@I�[@I�sHI��A_A^A]A\_��w�����,��H�\$H�t$ WATAUAVAWH��PL�L$0L�D$8L��H��H�L$@L��L+!L�qL+1I��I��������M;��@I��H�IH+H��H��H��I��H+�H;�vL�D$ H�����,H�
M��I;�LC�M;��I��H��L�|$ H��rH���#
�H��H�D$(�#H��tH���I
H��H�D$(�3�H�\$(L�|$ I���M�<H�D$0�H�D$8�A�AOH��$�H�I�OL�GH�H��M;�uL+��M��L+��5I�O L�GM+�I���5�H�?tH�WH+H���H��
�H�I��L�L�wH�H�OI��L�\$PI�[@I�sHI��A_A^A]A\_��ۖ����	+��I��M��H+�H��H��(�FH��H��L��H��I���L/Iv&\ILY�L�AD/�vKAA\ALAL\�D/AvILY�JL��L+�A/Hv%AZAHJAAX�J�D/�vE\JLZ�BA/@vAAHJAAXM��M��L+�M+��AHA/Jv*AAAXAAJAHAAZ�AH�AA/�vLAAAYAAHAIAAX�A@A/BvAAAJAHAAZ�J/Lv%ZLJ\�J�A@/���AAXAJAHZ�B/D��LJ\��J/Iv!ZIJY�J�A@/�v@AAXAJAHZ�B/AvIJY����H��H�XH�hH�pH�x AVH��PH��A��H+�L��H��H��H�H��~>H��H��H�H��\$ H��L�L$0OL��H��I��D$0L$@�H���H�\$`H�l$hH�t$pH�|$xH��PA^����@SVWH�� H��I��I��H��H+�I���H��H��H��H��j���H�B A� ��B��J/�w
/�wI+�H;�r�H;�s�J�@/�w
/�wI�H;�r�H��L���;�B�I/�w)/�w,H;�tXIHYI�I�H;�r�L;�vOM�H��AA�J/�w-/�w3I+�I;�t AZAIJAAYM+�M+�I;�r�L;�uQH;���H;�tZHJXI�ZIJI�Y�Q���I���H;�uLI+�L;�t AAXAJAHZI+�ZHJX���AYAHIAAX����H�FH��H�H�� _^[���H�\$ VWI�p�L��H��H��H�L��H;�}NK�E3�H��H���BDPB/D0A��H��I��L�I��H��BBBLBLI��L;�|�I��L;�u(A��u"I��H��I��CD�CCL�CLH;�}>H�H�H�H��H���BDA/Av"BH��BBLBLH��H;�|�AH�\$0H��BAIBL_^�H�\$VWATAVAWH��@H��L��H�L$0I��������I;��	L�aL+!I��H�II+H��H��H��I��H+�H;�vL�D$ H�����!L�4
L;�s*L��I��H��L�t$ H��rH���O�H��H�D$(�.M;�����H��tH���=A
H��H�D$(�3�H�\$(L�t$ I��H��H�L��M+�tI��3��*2M�GM+I�H���.�I�H��tI�WH+�H����_�I�H��H�I�H�I�GH��$�H��@A_A^A\_^��;�����i#��H�\$VWATAVAWH��@H��L��H�L$0I��������I;��	L�aL+!I��H�II+H��H��H��I��H+�H;�vL�D$ H����!L�4
L;�s*L��I��H��L�t$ H��rH����H��H�D$(�.M;�����H��tH���?
H��H�D$(�3�H�\$(L�t$ I��H��H�L��M+�tI��3���0M�GM+I�H����,�I�H��tI�WH+�H�����I�H��H�I�H�I�GH��$�H��@A_A^A\_^������%"��H�\$H�l$H�t$WH��PH��A��H+�H��H���H��@|RH�r�H��L�L$0NH+�3�D$0L��H��EI��L$@�\$ MN�
���H�� H���H��@}�H�\$`H�l$hH�t$pH��P_����H�\$ UVWH��PH��)t$@H+�)|$0A��I��H��H���xH����D��H�L$ L��H�����H�D$ H��H��H+�H�H��H+T$(H�H���H���D��L��H;�}H�T$ H���}���H�|$(�H�L$(H���i���H�t$ H��H+�H���H=�x���H;���H�_ H;���H��H+�sH��;/wv9H+�L��H�� H����*?w�ND��H��H���Y���D��H��H���W����AH�E�H�/t/�vHIH��H�� /pw�9qH�� H�� H;��v���H��$�(t$@(|$0H��P_^]���H��H�XH�pH�x UATAUAVAWH��8���H��)p�)x�D)@�H�Z�9H3�H�EhH��H���H+rxH��H�R(H�O0H+�H��H���rH�L�xXA�I;��\H�BL�pXH���JH�B H�XXH�]�H��t�DcH�U�H�M��~��H�GpD���D���D�l$P����L$Q�������D��M��H�K(H�C0H��L��H;�tIcL��I��L;�u�L�E��A@I��uI�X���,��A�X���,��D$\fAn�[�(��AY@�,��D$d�AYH�,���o��X��,��A�X��,��D$\�AH�X��,�D��D�L$`D�L$dM��L��H;�t.IcL��I��L;�u�I��vfAn�[��AY@�,��D$d�
D�L$`H;�t/M��HcL��H��H;�u�I��vfAn�[��AY@�,��D$`��E��D�D$\AD��E�DD�D�D$\I�GX�X�\$|D� D�d$XA���ӉT$TL�}��A�GH�U�H�M��ǩ�L�u�E3�M��t�A�FH�U�H�M�訩�H�E�H�E�L�]�L�\$pW��ML�}(LcD$TI��H��H��t&H��������H;��	H�M�
D�D$TL�\$pE��D�}���H�] �G�D$|D�|$xE���A��A�ԉT$hH�Gp���E��E��EE�D��E��|$PEE�D��B�:�E��e�H����Lc�L�M�E3�D�u�D�|$\A��A����I��A��^�B���JA��I��A��^׍JA��I��A��A^ȍJA��I��A��A^��]0�U4�M8�E<I��LWx�D$Q�D$@�t$8�E��D$0D�|$(D�l$ E��L�E0I��H�M��oUX(��ª�\��X��D,�(���(���U�\��X��,�B�6�D$TE�3�9L$`��3�D9D$d��#�fn�[�H�M��Y��E�H��H+EH��H�EH;](t��CH�CH�] H�� H�] �!H�EH�D$ L�M�L�EXH��H�M��H�] A��E��L;�D�D$TL�M�L�\$p�{���D�u�D�|$x�T$hA��D�|$xD�d$XE;�D�D$TD�l$PL�\$p������D$|A��D�u�D;�D�D$TL�\$pA������H+]H���\$hH�OpH���H�D$h;HM�HcH�M�H�GpLc���t$ ��|H�UH�M@�!�H�GXH�D$pH��t�@H�T$pH�M�脦�L�M�H�UHL�E@I+�H��H��t7I��I�IL��D�y�A�@��A�A�@��A��AA�@�AM�@H�II��u�H�GpHc��H;�s8L��L�O��A�@���I�`�I�`H��M�@H�GpHc��H;�r�L�}�H�M�H�H�@����H�M�H��t����A�uH��tH��SH���L�}�H�M@H��tH�UPH+�H����8��W��E@L�}PH�MH��tH�U(H+�H������W��EL�}(L�}�H�M�H�H�@�"H�M�H��t!����A�uH��tH��H���L�}�L�}�H�M�H�H�@��H�M�H��t!����A�uH��tH��H���L�}�L�}�H�M�H�H�@��H�M�H��t"����A�uH��tH��H��r�H�MhH3��7
L��$�I�[0I�s@I�{HA(s�A({�E(C�I��A_A^A]A\]�������J1���H��H�XH�pH�x UATAUAVAWH�����H���)p�)x�D)@�D)H�D)P�D)�x���H�d�9H3�H�E`H��H���H+rxH��H�R(H�O0H+�H��H���CH�L�hXH���2H�BL�xXH��� H�B H�XXH�]�H��t�CH�U�H�M�莣�H�GpD���D���D�\$P����L$Q�D���D���D��A�H�K(H�C0H���HcL��H��H;�u�H�U�H�J�H��I��uS�X��D,���X���,��D$XfAn�[�H�J�x�Y��D,�D�d$dH�J�a�Y����5p��X��D,��B�X��,��D$XH�J�-�X��,�D��D�t$dA�H�K(H�C0L��I;�t3HcL��H��I;�u�I��vH�J��fAn�[��Y��,��D$dA�H�K(H�C0L��I;�t0HcL��H��I;�u�I��vH�J�fAn�[��Y��D,�A��E�ۋD$XDȉM�AD��D$XI�EX�X�\$x��D$t���ˉL$TL�m��A�EH�U�H�M�诡�L�}�M��t�A�GH�U�H�M�蓡�H�E�H�E�L�]�L�\$h3�H�E W��MH!E LcD$TI��H��H��t&H��������H;���H�M��D�D$TL�\$hE3�D�|$|��H�]�s�D$t�L$xE3�D�d$p���@A���ЉT$`D�L$PH�Gp���E��E��EE�D��A��E��AE����E�B�"�D$\�e�H����Lc�L�M�E3�D�}�D�e�A��A����I�I�C�,D(��E^�B���JA��I�I�K�(��A^��JA��I�I�K��(��A^�JA��I�I�K���A^��DE@�}D�uH�ELI��LWx�D$Q�D$@�DL$8�E��D$0�D$X�D$(D�|$ E��L�E@I��H�M�R�o0uP(��ƪ�\��AX��D,�(���(���U�\��AX��,�B�&�D$TD$\H�M�H�A�(3�D;���3�D9D$d��#�fn�[��Y��E�H��H+EH��H�E�H;] t�3�CH�CH�]H�� H�]�!H�E�H�D$ L�M�L�EPH��H�M�g�H�]A��E��L;�D�D$TL�M�L�\$h�T���D�|$|D�d$p�T$`D�L$PA��D�d$p�D$tD;�D�D$TL�\$h�����L$xA��D�|$|D;�D�D$TL�\$h�����H+]H���\$`H�OpH���H�D$`;HM�HcH�M�H�GpLc���DL$ ��|H�UH�M(���H�GXH�D$hH��t�@H�T$hH�M��;��L�}�H�]0H+](H��H��trE3�I�wL��W���	f�F�H�E(�B0�	f�F�H�E(�BD0�	f�H�E(�BD0�	f�FH�E(�BD0�z	f�FM�vH�v
I��u�H�GpHc��H;�sfH�4�H�I�4w�խ�<	f�F�W��0	f�F�W��$	f�W��	f�FW��
	f�FH��H�v
H�GpHc��H;�r�H�e�H�M�H�H�@����H�M�H��t����A�uH��tH��SH���H�e�H�M(H��tH�U8H+�H������W��E(H�e8H�MH��tH�U H+�H����a��W��EH�e H�e�H�M�H�H�@�n�H�M�H��t!����A�uH��tH��H��D�H�e�H�e�H�M�H�H�@�)�H�M�H��t!����A�uH��tH��H����H�e�H�e�H�M�H�H�@��H�M�H��t"����A�uH��tH��H�����H�M`H3��].
L��$�I�[0I�s@I�{HA(s�A({�E(C�E(K�E(S�E([�I��A_A^A]A\]��E{����(����@SH�� H��H�	H��tH�SH+�H������H�#H�cH�cH�� [����H�\$VWAVH��@H��H��H�L$(H�T$0L�qL+1H��������H;�wH��H��r
H��� ��H���H��t
H���,
��3�H�\$ L�FL+H�H����H�H��tH�VH+�H����j��H�I���L�L�vH�H�FH�\$pH��@A^_^����H�\$VWAVH��@H��H��H�L$(H�T$0L�qL+1H��������H;�wH��H��r
H���h��H���H��t
H���f+
��3�H�\$ L�FL+H�H���[�H�H��tH�VH+�H������H�I���L�L�vH�H�FH�\$pH��@A^_^���
��H�\$H�T$UH�l$�H��H�ڋ�E�H�AH�E��A�EH�EH�EgH�eGH�J8H��tH�H�UH��e�H�EG�4s��L�E�H�U�H���<w���H�MGH��tH�H�UH;���H�@ �+��H�K8H��tH�H;���H�@ ��H�c8H��$�H�Đ]���������H�\$H�t$UWATAUAVH��$P���H��H�P�9H3�H���H��H���H���H+�H��H���kA�H�� H�I�W���H��0H��8L���HcH��H��I;�u�H��`HcE3�E�fH�=��E�nFH;�uH�B�H�����u
H����L�t$`L�d$hD�t$PL�
S�E�ƺ+H�L$P���L�t$@L�d$HD�t$0L��E��I��H�L$0���H�H��H�@��L��L�L$P��H�L$0�:N�H�T$HH��r
H��H�L$0�m��L�t$@L�d$HD�t$0H�T$hH��r
H��H�L$P�F��L�u�L�e�D�t$pL�
�E�ƺ"H�L$p���L�d$hH�D$`H�BatchingH�D$PD�t$XL�t$@L�d$HD�t$0L��E��I��H�L$0����H���H���H+�H��H����H�U�H�I�zV��L9p(tH�x(u	H�@ �8t��A��H�H��H�@���L��H�D$pH�D$(�\$ L�L$P��H�L$0�M�H�T$HH��r
H��H�L$0�C��L�t$@L�d$HD�t$0H�T$hH��r
H��H�L$P���L�t$`L�d$hD�t$PH�U�H��r
H��H�L$p���L�u�L�e�D�t$pL�
��E�ƺ"H�L$p���L�d$HH�D$@H�BatchingH�D$0D�t$8L�t$`L�d$hD�t$PL��E��I��H�L$P�{��H���H���H+�H��H���eH�U�H�	�,U��L9p(tH�x(u	H�@ �8t��A��H�H��H�@�c�L��H�D$pH�D$(�\$ L�L$0��H�L$P�VL�H�T$hH��r
H��H�L$P���L�t$`L�d$hD�t$PH�T$HH��r
H��H�L$0����L�t$@L�d$HD�t$0H�U�H��r
H��H�L$p���x�&
H��H�E�H��tZ3�D�BHH�H�#D�wL�wL�wL�w L�w(fD�w0L�w8�G@�GDD�wHL�w`L�ghD�wPH���H�H�wp�I��H��H���H3��'
L��$�I�[8I�s@I��A^A]A\_]��R!��L!��F!���H�\$WH��0eH�%X�
��<�4)t$ (�H�ȋ;9�<�.�;9�<�Y�;9�<���;9$�<���;95�<���;9F�<��;9W�<�0�;9h�<�Y�;9y�<���;9��<���;9��<��fo-=�<(�(�<(�fo��<H�\$@(t$ ��U�f��(�fk���T�X�f��foV�<f�fr�
f��(��<��f8�<fo͡<fv�f8�<fk�f��f��H��0_�H�
��<�A+
�=��<������fo�	H�
��<f}�<�*
���H�
��<�+
�=��<������fo2	H�
{�<fc�<�~*
�m���H�
��<��*
�=v�<��c���fo	H�
a�<fI�<�D*
�B���H�
h�<�*
�=\�<��8���fo^H�
G�<f/�<�
*
����H�
N�<�Y*
�=B�<��
���fo�H�
-�<f�<��)
���H�
4�<�*
�=(�<����fo�H�
�<f��<�)
���H�
�<��)
�=�<������(q�<H�
��<)�<�^)
���H�
�<�)
�=��<������(�<H�
�<)˟<�&)
�o���H�
�<�u)
�=ޟ<��e���fo�H�
ɟ<f��<��(
�D���H�
П<�;)
�=ğ<��:���fo&H�
��<f��<�(
����H�
��<�)
�=��<�����(�<H�
��<)�<�z(
���H��fo
�W��fo�fo%�fo-~)4$W�fn�fa�fp�fa�f��f��fv�fr�f�
�f��fv�f��f8�u,fo
�fo�f��f��fr�
f8�f��f:L$ �2f�f�f��fr�
f�M[�Y�V�f:D$ �D$ (4$H����H��H�XH�xUH�h�H��)x�D)@�D)H�D)P�D)X�D)`�D)h�D)t$@H���9H3�H�E��}I��fDnE_H��fDnUgW�fDn]oE[�fEn�E[�A(��XJ�DXBA(��X�DXJ�M��DE�E[��E��DM�E[���A/�H�M�H�E��DU�HF�H�M�A/��H�E��D]�HF�H�M�E/��H�E��DU�HF�H�M�E/��DH�E��D]�HF�D/��DwEW�/�wW�D/�wEW�/�wW��D\��D\��DXMw�DXEwE(��DY-�fE(��DY5|f�DX�A(��AY�DX��DX�A(��AY@�DX��A@�b	
D(��C�EY��DY%3f�F	
�D\Uw(�H�E�A(��AY�H�M��A\��DU��YfA/��M�HF��/�wW��e�H�E��D\]w��EX�A(�H�M��\��AX��D]�A/��E�HF�H�E��/�HG�H�M���e��GH�E��DU��De�E/�HF�H�E��/�HG�H�M���e��GH�E�A/��D]��U�HF�H�E��/�HG���GH��H�M�H3��K
L��$�I�[I�{A({�E(C�E(K�E(S�E([�E(c�E(k�E(s�I��]���H��H�XUVWATAUAVAWH��)x�D)@�D)H�D)P�H���9H3�H�D$0I��D(�L��H��H�L$(�d$$W�3�H�AH!H!AH!A�D$$M��tH��������L;��+I���[�I�6I�n�jL�KL�M;��#�nL�V�~W�M�x�EM�h�Ae�EM�`�A$A/���A/"��"�3���A/�G�/������H�N/�IG�I��E/IG���\�X�$��_�H�N/�IG�H��D/IG���\�X�$��_��Y�(��\�X�$�(��A\�X�$��Y��A\��X�$��A\��X�$��Y��X��\��^�A/�w@I��M;����L;Kt�AH�C�L��I��H���]��H�CH+H��H;�t
H�� H;������H�sH��H+H��H;�s
H��H;H�{�EvCH�CH+H��H;�vL�D$ H��H������!H+�tL��I��3�H���bH��H�H�sH��H�L$0H3��
L��$�I�[H(|$pE(C�E(K�E(S�I��A_A^A]A\_^]��i�����H�\$UVWATAUAVAWH��`L�aH��L�1M��M+�L��I��L;���L��I��K�.L;���D�D$0H��I���(��H��I;�s[@�|$0�EA/FvAEL��L�L$8MM+�3�D$8I��I��A@�|$ L$HEANM�R��H�� I;�r�D�D$0H��I�����M�7I�_H��I+�H��H;�s
K�.I�G�WvUI�GI+�H��H;�vL�D$0H��I������3H+�tL��3�I��H����
H��H�I�_�D�L$0I��I������H��$�H��`A_A^A]A\_^]�������H�Y�H�H�AH�BH�������������H�Y:���������H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@���H���f���H;�u`H9~u7H�L��M��H��H��H�@ ���H�\$`H��H�l$hH�t$pH�|$xH��PA^�H��tH�L$0�c�H��e9H�L$0�~��H�tH�L$0�@�H��e9H�L$0�[������������H�\$H�t$WH��@H��H��H�JH�H�@��H��覅��H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%��H��sH�L$ �
�H�4e9H�L$ ���H��sH�L$ �
�H�e9H�L$ ����@SH��@L��H��H�L$(3��D$ H�AH�AH�AH�A H�A(H�A0�A8H�Q@H�T$0�H�B H�B�BH�B(H�B0�Ax)H�>�H��D$ H��I�����H��H��@[����@USVWATAVAWH��$���H��H�{�9H3�H���E��L��H��H�M��d$ �)�0��H���H�A�D�d$ H��I������I���I���H+�H��H����E��H�U�H�	�D��H��pI���
E��H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H�U�H�M��C��H��H���H��H���6@���G@�C@�GD�CDH�M�H��tH�U�H+�H������H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H��pH�M����H��H��H��H���?���G@�C@�GD�CDH�M�H��tH�U�H+�H�������I�I��H�@���H��H�N�R���A�$����A�(���A�� �����H��H���H3��\
H��A_A^A\_^[]����H�\$ UVWATAUAVAWH��$ ���H���H���9H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`���H�WXL�D$`I����H���I�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� �O*�A��H��t9A����CA�u,H�H��H����A����CA�uH�H��H�@���I��H����(���I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H���|A��L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H���4I�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH���/���H�CH;CtH��H���/��H�C@�L��H��H�������H���8��I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	�?��H�0H�޸?���H#�H�M���H��3�H�D$0H��D$ �D��D��H�M��	�L��H�|$ A�H��H��P���I�EH�XH��PH�������L��H�T$HH����*�H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I���"��H�D$0H��t$����H��uH�L$0H��H�����H�L$HH��t#����A��uH��tH��H���H�t$HI��L;|$8�����I��H���H3��	
H��$8H���A_A^A]A\_^]�����S����H�\$ WH��`H���9H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(�-��H�*�H�H�SH��rH��H����H�cH�C�H��H�L$PH3��J
H��$�H��`_�H��(�
2�<eH�%XA�4H��A�9�<H�̍<H��(�H�
�<��
�=�<�u�W���<��<��<H�
��<�&�H�
G���
�H�
��<�5
����H�\$H�T$UH�l$�H��H�ڋ�E�H�AH�E��A�EH�EH�EgH�eGH�J8H��tH�H�UH����H�EG�Hx��L�E�H�U�H���[���H�MGH��tH�H�UH;���H�@ �s��H�K8H��tH�H;���H�@ �V�H�c8H��$�H�Đ]�H�\$H�t$UWATAUAWH��$ ���H���H���9H3�H���H���D��H��H������H�WH��P�G����H�E�H�D$0H�D$8H�E�H�D$@H�t$HH�E�H�D$PH�t$XH�E�H�D$`D�fL�d$hH�E�H�D$pD�nL�l$xW�E�E�H���H���H+�H��H;���D��H�U`H�I�[;��H��L�L$0D��H�M�苽�L�=��H���H;��tH��H������L�;H���H�L��H��H��������H�M�H��tH�UH+�H������H�E�H�D$0H�D$8H�E�H�D$@H�t$HH�E�H�D$PH�t$XH�E�H�D$`L�d$hH�E�H�D$pL�l$xW�E�E�H���H���H+�H��I;��D��H�U`H�I�h:��H��L�L$0D��H�M�蘼�H���H;��tH��H������L�;H���H�L��H��H����
���H�M�H��tH�UH+�H�������H�E�H�D$0H�D$8H�E�H�D$@H�t$HH�E�H�D$PH�t$XH�E�H�D$`L�d$hH�E�H�D$pL�l$xW�E�E�H���H���H+�H��I;��,D��H�U`H�I�|9��H��L�L$0D��H�M�謻�H���H;��tH��H�����L�;H���H�L��H��H����
���H�M�H��tH�UH+�H�������H�E�H�D$0H�D$8H�E�H�D$@H�t$HH�E�H�D$PH�t$XH�E�H�D$`L�d$hH�E�H�D$pL�l$xW�E�E�H���H���H+�H��H���ED��H�U`H�I �8��H��L�L$0D��H�M�迺�H���H;��tH��H�����L�;H���H�L��H��H����$���H�M�H��tH�UH+�H�������H�E�H�D$0H�D$8H�E�H�D$@H�t$HH�E�H�D$PH�t$XH�E�H�D$`L�d$hH�E�H�D$pL�l$xW�E�E�H���H���H+�H��H���^D��H�U`H�I(�7��H��L�L$0D��H�M��ҹ�H���H;��tH��H���.��L�;H���H�L��H��H����7���H�M�H��tH�UH+�H������H�E�H�D$0H�D$8H�E�H�D$@H�t$HH�E�H�D$PH�t$XH�E�H�D$`L�d$hH�E�H�D$pL�l$xW�E�E�H���H���H+�H��H���SD��H�U`H�I0�6��H��L�L$0D��H�M����H���H;��tH��H���A��L�;H���H�L��H��H����J
���H�M�H��tH�UH+�H���������L��W�3���H���I�
H�AL��PL��H���I����H�e@�H�uH�E0L�
~bE3��V H�M0���H�e�H�u��E�L�
�bE3��VH�M��{��H�e�H�u��E�L�
��E3��V@H�M��W��H���H9����H�H��H�@�u�L��H�E0H�D$(�\$ L�MȍV(H�M��m-�H�U�H��rH��H�M����H�e�H�u��E�H�U�H��rH��H�M�����H�e�H�u��E�H�UHH��rH��H�M0�����>
H��H�EPH��tL���H��H���<�H���H��3�H����66���H��P�y0���H���*��H��H���H3��:
L��$�I�[8I�s@I��A_A]A\_]�������}���w���q���k������������H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@�
�H��袊��H;�u`H9~u7H�L��M��H��H��H�@ ���H�\$`H��H�l$hH�t$pH�|$xH��PA^�H��aH�L$0��H�S9H�L$0���H�>aH�L$0�p��H��R9H�L$0�������������H�\$H�t$WH��@H��H��H�JH�H�@�J�H�����H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%�H��`H�L$ ���H�dR9H�L$ ���H��`H�L$ ���H�AR9H�L$ ������������������H���H�H�AH�BH�������������H�I�9���������H�\$WH�� H�����H�H����-����t
�0H����
H�\$0H��H�� _���@SH��@L��H��H�L$(3��D$ H�AH�AH�AH�A H�A(H�A0�A8H�Q@H�T$0�H�B H�B�BH�B(H�B0�AxH���H��D$ H��I���\��H��H��@[����@USVWATAVAWH��$���H��H�/�9H3�H���E��L��H��H�M��d$ ��U��H��H�A�D�d$ H��I�����I���I���H+�H��H����E��H�U�H�	�81��H��pI���1��H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H�U�H�M���H��H���H��H����,���G@�C@�GD�CDH�M�H��tH�U�H+�H����E��H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H��pH�M��D��H��H��H��H���7,���G@�C@�GD�CDH�M�H��tH�U�H+�H������I�I��H�@���H��H�N����A�$����A�(���A�� 蠻��H��H���H3��
H��A_A^A\_^[]��i���H�\$ UVWATAUAVAWH��$ ���H���H���9H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`���H�WXL�D$`I����H���I�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� ��A��H��t9A����CA�u,H�H��H��e�A����CA�uH�H��H�@�H�I��H������I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H���0.��L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H�����I�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH���_���H�CH;CtH��H������H�C@�L��H��H������H����$��I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	�[,��H�0H�޸?���H#�H�M����H��3�H�D$0H��D$ �D��D��H�M��7��L��H�|$ A�H��H��P�6��I�EH�XH��PH����{��L��H�T$HH����H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I������H�D$0H��t$����H��uH�L$0H��H��a��H�L$HH��t#����A��uH��tH��H��3�H�t$HI��L;|$8�����I��H���H3��	H��$8H���A_A^A]A\_^]��=��������H�\$ WH��`H�[�9H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(���H�V�H�H�SH��rH��H��>��H�cH�C�H��H�L$PH3��	H��$�H��`_�H��(�
�<eH�%XA�4H��A�9{<H��z<H��(�H�
{<�
�=�z<�u�W��z<�z<�z<H�
�z<��H�
��
�H�
�z<��
����H��H�XH�hH�p WH��0)p�1��z��fH~�H��fs�fH~�H�(�L��H��H�����H��XH;�u�H�\$HH�l$PH�t$X(t$ H��0_�������������H�\$H�t$UWATH��$@���H��H���9H3�H���H��A�H��H�M@�5����H�VH�M�����H�~H��t�GH�~H�NH�M�H�}���0�����4�����8�����@�����<����P���L��W�3�E�H�E�I�
H�AL�M�L�E@H�U�I��d��H�e�A�L�e��D$pL�
�TE3�A�T$ H�L$p���H�d$`L�d$h�D$PL�
�TE3�A�T$H�L$P����H�d$@L�d$H�D$0L�
��E3�A�T$:H�L$0���H�E�H9E���H�H��H�@���L��H�D$pH�D$(�\$ L�L$PA�T$ H�L$0��H�T$HH��r
H��H�L$0�X��H�d$@L�d$H�D$0H�T$hH��r
H��H�L$P�0��H�d$`L�d$h�D$PH�U�H��r
H��H�L$p�	����	H��H�E�H��tL�E�H��H������H�m�H��3�H�M��}(���H��t9������G�u+H�H��H��������G�uH�H��H�B����H�M��"���H�M@���H��H���H3��I�	L��$�I�[(I�s0I��A\_]��H�\$WH�� H��H��������t�OH�\$0H��H�� _�H�\$WH�� ��H�����t
��H���	H�\$0H��H�� _�������������H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@���H���^��H;�u`H9~u7H�L��M��H��H��H�@ ���H�\$`H��H�l$hH�t$pH�|$xH��PA^�H��SH�L$0�c��H��D9H�L$0�~��H�SH�L$0�@��H��D9H�L$0�[������������H�\$H�t$WH��@H��H��H�JH�H�@��H�����H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%��H��RH�L$ ���H�4D9H�L$ ����H��RH�L$ ���H�D9H�L$ �����������������H��H�XH�p H�PWH��0I��H��H�ك`����D$ H�Kp�7����H�O(H�G0H+�H��H����H�AH�XXH��t�CH�~XH�D$@H;�t+H�H��t����A��uH��H����H��&H��t!����C��uH��H��H����H��H�\$PH�t$XH��0_���������������������H���H�H�AH�BH�������������H���9���������H�\$WH�� H�����H�H�������t
�0H����	H�\$0H��H�� _���@SH��@L��H��H�L$(3��D$ H�AH�AH�AH�A H�A(H�A0�A8H�Q@H�T$0�H�B H�B�BH�B(H�B0�AxH�R�H��D$ H��I���<��H��H��@[����@USVWATAVAWH��$���H��H��9H3�H���E��L��H��H�M��d$ �A�D�d$ H��I��脳�I���I���H+�H��H����E��H�U�H�	�'"��H��pI���"��H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H�U�H�M����H��H���H��H�������G@�C@�GD�CDH�M�H��tH�U�H+�H����4��H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H��pH�M��3��H��H��H��H���&���G@�C@�GD�CDH�M�H��tH�U�H+�H���職�I�I��H�@���H��H�N����A�$����A�(���A�� 菬��H��H���H3���	H��A_A^A\_^[]��X������H�\$ UVWATAUAVAWH��$ ���H���H���9H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`���H�WXL�D$`I����H���I�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� ���A��H��t9A����CA�u,H�H��H��Q�A����CA�uH�H��H�@�4�I��H���u���I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H�����L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H�����I�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH���K
���H�CH;CtH��H�����H�C@�L��H��H���t�H�����I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	�G��H�0H�޸?���H#�H�M���H��3�H�D$0H��D$ �D��D��H�M��#��L��H�|$ A�H��H��P�"��I�EH�XH��PH����g��L��H�T$HH����H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I�����H�D$0H��t$����H��uH�L$0H��H��M��H�L$HH��t#����A��uH��tH��H���H�t$HI��L;|$8�����I��H���H3���	H��$8H���A_A^A]A\_^]��)���������H�\$ WH��`H�G~9H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(���H��H�H�SH��rH��H��*��H�cH�C�H��H�L$PH3����	H��$�H��`_�@SH��@H��}9H3�H�D$0H�L$ L��H�zH��rL�H�QL�D$ H�*�D$(H�W�H�L$ �&�H�kfH�H��H�L$0H3��p�	H��@[���@SH�� �H���y��3�ǃT��PH��H�H���H��XH��`H��hH��pH��H��xH���H���H���H���H���������H�� [����@SH�� H��H��xH��t+H���H+�H����̰�H��xH���H���H��XH��t+H��hH+�H��蕰�H��XH��`H��hH��H�� [���H��(�
Fv<eH�%XA�4H��A�9�j<H��j<H��(�H�
�j<���	�=�j<�u�W�|j<�j<�j<H�
gj<�J�H�
����	�H�
~j<�I�	����H��H�XH�hH�p WH��0)p�1���fH~�H��fs�fH~�H�(�L��H��H���C���H��HH;�u�H�\$HH�l$PH�t$X(t$ H��0_�������������H��H�XH�pH�x UATAUAVAWH��8���H��H��z9H3�H���H��H���H���H+�H��E3�H���sE�l$E��H��H�	�2��H��H�����E��H��H����e����H�WH������H���[+�A������H���H���H+�H��I;���E��H���H�I���H�E�H�D$pH�D$xH�E�H�E�L�m�H�E�H�E�L�m�H�E�H�E�H�E�H�E�H�E�H�E�W�E�E�L�L$pE��H���H�M 葙�H��H��H��0����K@��p�CD��tH�M(H��tH�U8H+�H����ܭ�Dž�QH�_H��t	�DkH�_H�GH��hL��pH��t9A����CA�u,H�H��H����A����CA�uH�H��H�@���I;���D��H�_H��t	�DkH�_H�GH�EH�]HhH��H;�t[H�pL�8I+�H��H��H��(L��I+�H��H;�vH���p��L��L��I��I���o�J�6H�� A��H��tBA����CA�u5H�H��H��ߵA����CA�uH�H��H�@�µ�D��D9���H�_H��t	�DkH�_H�G���H��t9A����CA�u,H�H��H��o�A����CA�uH�H��H�@�R���t4��t&��t���&Dž�Dž�D���D��H���;���H�EpH�E D�N�L�M(H�EpH�E0L�m8H�EtH�E@L�mHH�MxH�MPH�EXH���H�E`D�F�L�Eh��)Ep��)�����xH�E�H�D$pL�L$xH�E�H�E�L�m�H�E�H�E�L�m�H�M�H�M�H�E�H�E�H�E�L�E�)E�)MЋA��|H��P�������������v�B�D���wD����b���L��W�3���H���I�
H�AL���L���H���I��dz�L�eH�uD�e�L�
C@E�ĺ/H�M��b��L�d$`H�t$hD�d$PL�
K@E�ĺH�L$P�9��L�d$@H�t$HD�d$0L�
�E�ĺEH�L$0���H���H9����H�H��H�@�.�L��H�E�H�D$(�\$ L�L$P�oH�L$0�"�H�T$HH��r
H��H�L$0��L�d$@H�t$HD�d$0H�T$hH��r
H��H�L$P蚩�L�d$`H�t$hD�d$PH�UH��rH��H�M��u�����	H��H�EH��tL���H��H���I�H���H��I��H��������H����%���H����$���H��H���H3����	L��$�I�[8I�s@I�{HI��A_A^A]A\]�H�H��H�@��H��L�{�H�M��R��H��H�L$0���H��39H�L$0�������������������H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@���H����~�H;�u`H9~u7H�L��M��H��H��H�@ �^�H�\$`H��H�l$hH�t$pH�|$xH��PA^�H�i?H�L$0���H��09H�L$0�.��H��>H�L$0����H�m09H�L$0�������������H�\$H�t$WH��@H��H��H�JH�H�@�ʰH���~�H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%��H�5>H�L$ �g��H��/9H�L$ ��H�J>H�L$ �D��H��/9H�L$ �_����������������H��H�H�AH�BH�������������H���9���������H�\$WH�� H�����H�H���B����t
�0H���p�	H�\$0H��H�� _���@SH��@L��H��H�L$(3��D$ H�AH�AH�AH�A H�A(H�A0�A8H�Q@H�T$0�H�B H�B�BH�B(H�B0�AxH�کH��D$ H��I���ܞ�H��H��@[����@USVWATAVAWH��$���H��H��q9H3�H���E��L��H��H�M��d$ �����H�J�H�A�D�d$ H��I�����I���I���H+�H��H����E��H�U�H�	���H��pI���A��H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H�U�H�M��w��H��H���H��H���j
���G@�C@�GD�CDH�M�H��tH�U�H+�H����Ť�H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H��pH�M��ď�H��H��H��H���	���G@�C@�GD�CDH�M�H��tH�U�H+�H������I�I��H�@�2�H��H�N����A�$����A�(���A�� � ���H��H���H3���	H��A_A^A\_^[]������H�\$ UVWATAUAVAWH��$ ���H���H�*o9H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`�.��H�WXL�D$`I����H��I�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� ���A��H��t9A����CA�u,H�H��H���A����CA�uH�H��H�@�ȫI��H���	�I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H�����L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H���h�I�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH�������H�CH;CtH��H���M���H�C@�L��H��H�����H���S��I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	��	��H�0H�޸?���H#�H�M�P��H��3�H�D$0H��D$ �D��D��H�M����L��H�|$ A�H��H��P趯�I�EH�XH��PH�����L��H�T$HH�����H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I���V��H�D$0H��t$����H��uH�L$0H��H����H�L$HH��t#����A��uH��tH��H����H�t$HI��L;|$8�����I��H���H3��=�	H��$8H���A_A^A]A\_^]�载�������H�\$ WH��`H��j9H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(�-���H���H�H�SH��rH��H�辞�H�cH�C�H��H�L$PH3��~�	H��$�H��`_�H��(�
fd<eH�%XA�4H��A�9YY<H� Y<H��(�H�
DY<��	�=8Y<�u�W��X<Y<Y<H�
�X<�vH�
���&�	�H�
�X<�i�	����H�\$H�T$UH�l$�H��H�ڋ�E�H�AH�E��A�EH�EH�EgH�eGH�J8H��tH�H�UH���H�EG�\���L�E�H�U�H���%���H�MGH��tH�H�UH;���H�@ ����H�K8H��tH�H;���H�@ ���H�c8H��$�H�Đ]�����H�\$H�t$UWAWH��$P���H��H��h9H3�H���H��A�H��H�M@����H�VH�M��O����H�~H��t�GH�~H�FH�E�H�}��� ����0���L��W�3�E�H�E�I�
H�AL�M�L�E@H�U�I��ĥ�H�e�A�L�}��D$pL�
82E3�A�W H�L$p�W��H�d$`L�|$h�D$PL�
?2E3�A�WH�L$P�.��H�d$@L�|$H�D$0L�
ƠE3�A�W9H�L$0���H�E�H9E���H�H��H�@�)�L��H�D$pH�D$(�\$ L�L$PA�WH�L$0���H�T$HH��r
H��H�L$0輛�H�d$@L�|$H�D$0H�T$hH��r
H��H�L$P蔛�H�d$`L�|$h�D$PH�U�H��r
H��H�L$p�m�����	H��H�E�H��tL�E�H��H�����H���H��3�H�M������H��t9������G�u+H�H��H��>�����G�uH�H��H�B�#��H�M�����H�M@���H��H���H3���	L��$�I�[(I�s0I��A__]������H�\$WH�� H�����H�H��������t
�0H���@�	H�\$0H��H�� _���H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@�j�H�����H;�u`H9~u7H�L��M��H��H��H�@ �>�H�\$`H��H�l$hH�t$pH�|$xH��PA^�H�I1H�L$0����H�p"9H�L$0���H��0H�L$0����H�M"9H�L$0�������������H�\$H�t$WH��@H��H��H�JH�H�@���H������H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%t�H�0H�L$ �G��H��!9H�L$ �b��H�*0H�L$ �$��H��!9H�L$ �?����������������H��(H�Ip��?����H��(����������H�1�H�H�AH�BH�������������H���9�@SH��@L��H��H�L$(3��D$ H�AH�AH�AH�A H�A(H�A0�A8H�Q@H�T$0�H�B H�B�BH�B(H�B0�AxH�R�H��D$ H��I�����H��H��@[����@USVWATAVAWH��$���H��H��c9H3�H���E��L��H��H�M��d$ ����H�žH�A�D�d$ H��I�����I���I���H+�H��H����E��H�U�H�	���H��pI���I��H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H�U�H�M����H��H���H��H���r����G@�C@�GD�CDH�M�H��tH�U�H+�H����͖�H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H��pH�M��́�H��H��H��H������G@�C@�GD�CDH�M�H��tH�U�H+�H������I�I��H�@�:�H��H�N莸��A�$����A�(���A�� �(���H��H���H3���	H��A_A^A\_^[]������H�\$ UVWATAUAVAWH��$ ���H���H�2a9H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`�6��H�WXL�D$`I����H��I�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� ���A��H��t9A����CA�u,H�H��H���A����CA�uH�H��H�@�НI��H�����I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H�����L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H���p�I�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH������H�CH;CtH��H���U�H�C@�L��H��H������H���[�I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	���H�0H�޸?���H#�H�M�X��H��3�H�D$0H��D$ �D��D��H�M����L��H�|$ A�H��H��P辡�I�EH�XH��PH������L��H�T$HH���#��H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I���^��H�D$0H��t$����H��uH�L$0H��H����H�L$HH��t#����A��uH��tH��H����H�t$HI��L;|$8�����I��H���H3��E�	H��$8H���A_A^A]A\_^]��ů�������H�\$ WH��`H��\9H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(�5�H�^�H�H�SH��rH��H��Ɛ�H�cH�C�H��H�L$PH3���	H��$�H��`_�H��(�
nV<eH�%XA�4H��A�9�K<H��K<H��(�H�
�K<��	�=�K<�u�W�dK<mK<vK<H�
OK<��jH�
3��.�	�H�
fK<�q�	����H��H�XH�hH�p WH��0)p�1�8���fH~�H��fs�fH~�H�(�L��H��H���kj��H��HH;�u�H�\$HH�l$PH�t$X(t$ H��0_�����H�\$H�t$UWATAVAWH��$����H��pH�0[9H3�H��`H��E3�A�߉\$0�l6���4����	H��H�D$xI��H����W�W�fM�fE�fM�fE��
9�M�L�e�D�}�3�E�GHH�M�藻D�}�W�fEW�fMfD�} L�}(�E0�E4D�}8L�}PE�wL�uXD�}@D�e`A�_?�\$0L�E�H��H�����H���H��I���� �]H�UXH��rH��H�M@�o��H�MH��t>A����AA�u1H�]H�H��H��v�A����CA�uH�MH�H�@�X�H�MH��t>A����AA�u1H�]H�H��H��/�A����CA�uH�MH�H�@��H�M�H��tH�U�H+�H���ȍ�H�u�H��tPH��H;u�tH���f�H�ÐH;]�u�H�U�H+�H�9��8��8H��H��H��H��?H�H��H��H���o��H�M�H��t>A����AA�u1H�]�H�H��H��v�A����KA�uH�M�H�H�B�X�H����A�H��H�����H�VH����R��\���L��W�3�EpH���I�
H�AL���L��H�UpI����L�}�A�L�u�D�}�L�
e"E��A�V H�M�腐�L�|$hL�t$pD�|$XL�
n"E��A�VH�L$X�]��L�|$HL�t$PD�|$8L�
��E��A�V6H�L$8�5��H�ExH9Ep��H�H��H�@�Y�L��H�E�H�D$(�\$ L�L$XA�V(H�L$8�N��H�T$PH��r
H��H�L$8���L�|$HL�t$PD�|$8H�T$pH��r
H��H�L$X�Ƌ�L�|$hL�t$pD�|$XH�U�H��rH��H�M�衋���	H��H�D$xH��tL�EpH��H������H���H��I��H�Mp�����H����V�H���i�H��H��`H3���	L��$pI�[8I�s@I��A_A^A\_]������������H�\$WH�� ��H������t
�xH����	H�\$0H��H�� _�������������H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@�ʓH����H;�u`H9~u7H�L��M��H��H��H�@ ���H�\$`H��H�l$hH�t$pH�|$xH��PA^�H��!H�L$0�S��H��9H�L$0�n��H�� H�L$0�0��H��9H�L$0�K������������H�\$H�t$WH��@H��H��H�JH�H�@�
�H�����H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%ԒH�u H�L$ 觺�H�$9H�L$ �£�H�� H�L$ 脺�H�9H�L$ 蟣���������������H��H�XH�hH�p H�PWH��@I��H��3�h�H�*H�jH�jH�jH�j H�j(H�r0H�.H�j8H�j@H�jHH�jPH�jXH�j`H�jhH�jpH�jxH���H���H���H���H���H������H����@�3�I�����H�D$(H��t�@H�K(H�C0H+�H��H����H�AH�HXH�L$0H��t�AD�L$XL�D$8H�T$(H������L�
�S�D�B�H�L$(���	H�[XH��t�CH�D$XH;�t+H�H��t����A��uH��H��'�H��&H��t!����C��uH��H��H����H��H�\$PH�l$`H�t$hH��@_������������������H��H�H�AH�BH�������������H��9���������H�\$WH�� H�����H�H�������t
�0H����	H�\$0H��H�� _���@SH��@L��H��H�L$(3��D$ H�AH�AH�AH�A H�A(H�A0�A8H�Q@H�T$0�H�B H�B�BH�B(H�B0�Ax
H��H��D$ H��I���l�H��H��@[����@USVWAUAVAWH��$���H��H�?R9H3�H���E��L��H��H�M��d$ �
�e��H���H���PH��XH��`H��hdžp�?A�D�l$ H��I���|��I���I���H+�H��H����E��H�U�H�	��H��pI����H�D$xH�D$(H�D$0H�D$xH�D$8L�l$@H�D$|H�D$HL�l$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H�U�H�M���p�H��H���H��H������G@�C@�GD�CDH�M�H��tH�U�H+�H����,��H�D$xH�D$(H�D$0H�D$xH�D$8L�l$@H�D$|H�D$HL�l$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H��pH�M��+p�H��H��H��H�����G@�C@�GD�CDH�M�H��tH�U�H+�H����y��I�I��H�@���H��H�N����A�$����A�(���A�� �y��H��H���H3��	H��A_A^A]_^[]��P������H�\$ UVWATAUAVAWH��$ ���H���H��O9H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`蒟�H�WXL�D$`I����H�!�I�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� ����A��H��t9A����CA�u,H�H��H��I�A����CA�uH�H��H�@�,�I��H���m���I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H����L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H���̮I�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH���C���H�CH;CtH��H�����H�C@�L��H��H���l����H����I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	�?�H�0H�޸?���H#�H�M贒�H��3�H�D$0H��D$ �D��D��H�M����L��H�|$ A�H��H��P���I�EH�XH��PH����_��L��H�T$HH�����H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I��躻��H�D$0H��t$����H��uH�L$0H��H��E��H�L$HH��t#����A��uH��tH��H���H�t$HI��L;|$8�����I��H���H3�衼	H��$8H���A_A^A]A\_^]��!��������H�\$ WH��`H�?K9H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(���H���H�H�SH��rH��H��"�H�cH�C�H��H�L$PH3���	H��$�H��`_�H��(�
�D<eH�%XA�4H��A�9}:<H�D:<H��(�H�
h:<�s�	�=\:<�u�W� :<):<2:<H�
:<�[H�
�n芿	�H�
":<��	����H�\$H�T$UH�l$�H��H�ڋ�E�H�AH�E��A�EH�EH�EgH�eGH�J8H��tH�H�UH��E�H�EG�`���L�E�H�U�H������H�MGH��tH�H�UH;���H�@ ���H�K8H��tH�H;���H�@ ��H�c8H��$�H�Đ]���������H��H�XH�pH�x UATAUAVAWH��8�H��
)p�H�'I9H3�H���H��H���H���H+�H��E3�H����A�H���	H�	�c�H��H�����H���H���H+�H��H����A�H��H�I�"�H�wH��t�FH�wL�L��HH��P��x	L��0�H��8D�� L�
�E�ōSH�� 耀�H�\$XH�D$P�!o�D$@�o�D$HD�l$LL�m�H�]�D�m�L�
��E�ōSH�M��2��L�m�H�]�D�m�L�
��E��D�s:A��H�M����H�H��H�@�:�L��H�� H�D$8W��D$0H�D$@H�D$(�t$ L�M��SDH�M��~��H�U�H��rH��H�M��{�L�m�H�]�D�m�H�U�H��rH��H�M��{�L�m�H�]�D�m�H�T$XH��r
H��H�L$@�u{�L�l$PH�\$XD�l$@H��8H��rH��H�� �J{�L��pH��xD��`L�
�E�źH��`�
�L�mH�]D�mL�
��E�źH�M��~�L�m�H�]�D�m�L�
q�E��I��H�M���~�H�H��H�@��L�����D$0H��`H�D$(���	�D$ L�M�TH�M��)�H�U�H��rH��H�M��uz�L�m�H�]�D�m�H�UH��rH��H�M�Sz�L�mH�]D�mH��xH��rH��H��`�+z�Mc�@H���H���	���H�@ D�0H��0H�����H�@ ��H���L���D���H�M�H�E���Z�E���Z�E�D�m�H�L$xH�D$p
�/��D$`�*�f�D$hD�l$jL�m0H�M8D�m L�
�E�ōQ:H�M �V}�H�H��H�@���L��H���H�D$8D�l$0H�E�H�D$(D�d$ L�L$`�ZH�M ���H�U8H��rH��H�M �	y�L�m0H�E8D�m H�T$xH��r
H��H�L$`��x�L�l$pH�D$xD�l$`H�U�H��rH��H�M��x�L�m�H�E�D�m�H���H��rH��H����x�E����HDž�L���D���L���HDž�D���L�
B�E�źH����&|�L�mpH�ExD�m`L�
6�E�źH�M`�{�L�mPH�EXD�m@L�
��E�źIH�M@��{�A��A��H�H��H�@���L��H���H�D$8�\$0H���H�D$(D�t$ L�M`�\H�M@���H�UXH��rH��H�M@�~w�L�mPA�L�uXD�m@H�UxH��rH��H�M`�Vw�L�mpL�uxD�m`H���H��rH��H����.w�L���L���D���H���H��rH��H����v��A�L��PL��XD��@L�
	�E�ź)H��@�z�L���HDž�H�BatchingH���D���L���L���D���L�
E�źIH����Zz�H���H���H+�H��H����H���H�	��L9h(tH�x(u	H�@ �8t��A��H�H��H�@�?L��H��@H�D$(�\$ L����^H����,��H���H��rH��H�����u�L���L���D���H���H��rH��H����u�L���L���D���H��XH��rH��H��@�eu�D��H��H�����H�WH����
��H��0H���HDž�H��0H���H���H��4H��H��H��8H��D�sL��H��DH�� HDž(W��0�@L���D��H��H����`�H��`H����u��H���H;��t#H��`H���U���H��H�H���H�L��`H��H����S�����@��8�D$ L��0L�� H��H��X�[��Dž�
H�w�H��XH��XH���U�������@�����DH��`H��tH��pH+�H����s�A��0��t���$�����tE��D��PIc�4H��XIc�8H��`�A�<��pL��h�E�L��W�3��0H��@I�
H�AL���L��H��0I��.|�L���A�L���D���L�
�E��A�V H����v�L��L��D��L�
�E��A�VH���v�L���L���D���L�
{E��A�V:H����Xv�H��8H9�0��H�H��H�@�v{L��H���H�D$(�\$ L��A�VcH����d��H���H��rH��H����q�L���L���D���H��H��rH��H����q�L��L��D��H���H��rH��H����q���	H��H���H��t)L��0H��H���v�H�[yH��A����I��H��0����H��hH��t%H��xH+�H����,q�L��hW�f�pH���H��t%H���H+�H����p�L���W�f��H��������H�������H��t8������F�u*H�H��H���y����V�uH�H��H�B��yH��H���H3��`�	L��$�
I�[8I�s@I�{HA(s�I��A_A^A]A\]�襧�蟧����������������H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@�:yH���b��H;�u`H9~u7H�L��M��H��H��H�@ �yH�\$`H��H�l$hH�t$pH�|$xH��PA^�H�H�L$0�à�H�@�8H�L$0�މ�H�nH�L$0蠠�H��8H�L$0軉�����������H�\$H�t$WH��@H��H��H�JH�H�@�zxH����H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%DxH��H�L$ ���H���8H�L$ �2��H��H�L$ ���H�q�8H�L$ �����������������H�\$H�t$ H�T$UWATAVAWH��H��@I��H��L��E3�D�e�L�"L�bL�bL�bL�b L�b(L�r0M�&L�b8L�b@L�bHL�bPL�bXL�b`L�bhL�bpL�bxL���L���L���L���L���L���D���L����E�3�I���Ku�H�E�H��t�@H�N(H�F0H+�H��H���oH�AH�HXH�M�H��t�AD�M8L�EH�U�H�������L�
`9�D�B�H�M��N�	H�~XH��t�GH�E��L;�t)I�H��t����A�uH��H���vI�>�$H��t����G�uH��H��H��hvI�GpH���H+��H��H����H�N(H�F0H+�H��H����H�A H�@XH�E@H��t�@H�E@H�SH;StH�I��H�E@H�C�L�E@H���7���H�E@H��t"����H��uH�M@H��H���uH��L�\$@I�[0I�sHI��A_A^A\_]��ã�轣��������������H�YwH�H�AH�BH�������������H��9�H�\$ UVWATAUAVAWH��$ ���H���H��79H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`�·�H�WXL�D$`I����H��uI�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� �#��A��H��t9A����CA�u,H�H��H���tA����CA�uH�H��H�@�htI��H��詻���I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H���P��L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H����I�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH������H�CH;CtH��H�����H�C@�L��H��H��訨���H������I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	�{��H�0H�޸?���H#�H�M��z�H��3�H�D$0H��D$ �D��D��H�M��W��L��H�|$ A�H��H��P�Vx�I�EH�XH��PH����w�L��H�T$HH��軽�H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I�����H�D$0H��t$����H��uH�L$0H��H���q�H�L$HH��t#����A��uH��tH��H��SqH�t$HI��L;|$8�����I��H���H3��ݤ	H��$8H���A_A^A]A\_^]��]���'�����H�\$ WH��`H�{39H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(����H�>qH�H�SH��rH��H��^g�H�cH�C�H��H�L$PH3���	H��$�H��`_�H�\$H�T$UH�l$�H��H�ڋ�E�H�AH�E��A�EH�EH�EgH�eGH�J8H��tH�H�UH��
pH�EG���L�E�H�U�H������H�MGH��tH�H�UH;���H�@ ��o�H�K8H��tH�H;���H�@ ��oH�c8H��$�H�Đ]�H�\$H�t$UWAUAVAWH��$����H��pH�29H3�H��`H��A�E��H��H�����H�WH����R�H�E�H�D$xH�E�H�E�H�E�L�u�H�E�H�E�L�u�H�E�H�E�H�E�H�E�H�E�E�~L�}�W�E�E�H���H���H+�H��I;��E��H�U`H�I����H��L�L$xE��H�M��P�L�-��H���H;��tH��H���H���L�+H���H�L��H��H����Q����H�M3�H��tH�U(H+�H����e�H�t$<!t$DD�t$8D$8D$XD�t$hH�D$l!t$tW��D$8H�t$HD�L$0L�D$xH�T$XH�L$8���D�|$PH��XH;�`tDH�2H�rH�rH�D$8H�H�D$@H�BH�D$HH�BW��D$8H�t$H�D$P�BH��X �L�D$8H��P����H�L$8H��tH�T$HH+�H����Fd�H���H���H+�H��I;���H�E�H�D$xH�E�H�E�H�E�L�u�H�E�H�E�L�u�H�E�H�E�H�E�H�E�H�E�L�}�W�E�E�E��H�U`H�I���H��L�L$xE��H�M�,O�H���H;��tH��H��般��L�+H���H�L��H��H���葠���H�MH��tH�U(H+�H����_c�H�D$8�d$D�t$@D$8D$XD�t$hH�D$l�d$tW��D$8H�t$HD�L$0L�D$xH�T$XH�L$8�1��t$PH��XH;�`tDH�2H�rH�rH�D$8H�H�D$@H�BH�D$HH�BW��D$8H�t$H�D$P�BH��X �L�D$8H��P�(��H�L$8H��tH�T$HH+�H����b�D������L��W�3���H���I�
H�AL���L��H���I��mk�H�uA�L�u@�u�L�
�D��A�V H�M��f�H�t$hL�t$p@�t$XL�
�D��A�VH�L$X��e�H�t$HL�t$P@�t$8L�
�lD��A�V4H�L$8�e�H���H9����H�H��H�@��jL��H�E�H�D$(�\$ L�L$XA�V=H�L$8����H�T$PH��r
H��H�L$8�ea�H�t$HL�t$P@�t$8H�T$pH��r
H��H�L$X�>a�H�t$hL�t$p@�t$XH�UH��rH��H�M��a�菜	H��H�D$8H��tL���H��H����H�AkH��H��H�������H��������H�����H��H��`H3�艝	L��$pI�[8I�s@I��A_A^A]_]��ؗ��������H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@�ziH������H;�u`H9~u7H�L��M��H��H��H�@ �NiH�\$`H��H�l$hH�t$pH�|$xH��PA^�H�Y�H�L$0���H���8H�L$0�z�H���H�L$0���H�]�8H�L$0�y�����������H�\$H�t$WH��@H��H��H�JH�H�@��hH�����H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%�hH�%�H�L$ �W��H���8H�L$ �ry�H�:�H�L$ �4��H���8H�L$ �Oy���������������H�qkH�H�AH�BH�������������H��9�H�\$ UVWATAUAVAWH��$ ���H���H�j*9H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`�nz�H�WXL�D$`I����H��iI�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� �ï�A��H��t9A����CA�u,H�H��H��%gA����CA�uH�H��H�@�gI��H���I����I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H������L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H��訉I�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH�������H�CH;CtH��H��荴��H�C@�L��H��H���H����H��蓽��I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	���H�0H�޸?���H#�H�M�m�H��3�H�D$0H��D$ �D��D��H�M���L��H�|$ A�H��H��P�j�I�EH�XH��PH����;j�L��H�T$HH���[��H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I��薖��H�D$0H��t$����H��uH�L$0H��H��!d�H�L$HH��t#����A��uH��tH��H���cH�t$HI��L;|$8�����I��H���H3��}�	H��$8H���A_A^A]A\_^]��x��Ǒ����H�\$ WH��`H�&9H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(�m���H�NeH�H�SH��rH��H��Y�H�cH�C�H��H�L$PH3�辖	H��$�H��`_�H�\$H�T$UH�l$�H��H�ڋ�E�H�AH�E��A�EH�EH�EgH�eGH�J8H��tH�H�UH���bH�EG����L�E�H�U�H�����H�MGH��tH�H�UH;���H�@ �sb�H�K8H��tH�H;���H�@ �VbH�c8H��$�H�Đ]�H�\$H�t$UWAVH��$����H��pH��$9H3�H��`H��A�E��H��H�����H�WH������H�E�H�E�H�E�H�E�H�E�L�u�H�E�H�E�L�u�H�E�H�E�H�E�H�E�H�E�H�E�W�E�E�H���H���H+�H��I;��RE��H�U`H�I�h���H��L�M�E��H�M�C�H���H;��tH��H�����H��H�H���H�L��H��H�������H�M3�H��tH�U(H+�H�����W�H�t$<!t$DD�t$8D$8D$XD�t$hH�D$l!t$tW��D$8H�t$HD�L$0L�D$xH�T$XH�L$8���D$PH��XH;�`tDH�2H�rH�rH�D$8H�H�D$@H�BH�D$HH�BW��D$8H�t$H�D$P�BH��X �L�D$8H��P���H�L$8H��tH�T$HH+�H�����V�D�����L��W�3���H���I�
H�AL���L��H���I���_�H�u�A�L�u�@�t$xL�
G�D��A�V H�L$x�fZ�H�t$hL�t$p@�t$XL�
O�D��A�VH�L$X�>Z�H�t$HL�t$P@�t$8L�
WbD��A�V?H�L$8�Z�H���H9����H�H��H�@�4_L��H�D$xH�D$(�\$ L�L$XA�V1H�L$8�(��H�T$PH��r
H��H�L$8��U�H�t$HL�t$P@�t$8H�T$pH��r
H��H�L$X�U�H�t$hL�t$p@�t$XH�U�H��r
H��H�L$x�zU���	H��H�D$8H��tL���H��H���y���H�aH��H��H�������H����)����H����H��H��`H3���	L��$pI�[(I�s0I��A^_]��=��������������H�\$WH�� H��a��H�H���B�����t
�0H���p�	H�\$0H��H�� _���H��aH�H�AH�BH�������������H�)|9���������H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@�j]H�����H;�u`H9~u7H�L��M��H��H��H�@ �>]H�\$`H��H�l$hH�t$pH�|$xH��PA^�H�I�H�L$0���H�p�8H�L$0�n�H���H�L$0�Є�H�M�8H�L$0��m�����������H�\$H�t$WH��@H��H��H�JH�H�@��\H���:��H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%t\H��H�L$ �G��H���8H�L$ �bm�H�*�H�L$ �$��H���8H�L$ �?m���������������H��H�X H�PUVWATAUAVAWH��`I��H��L��3ۉX�H�H�ZH�ZH�ZH�Z H�Z(L�r0I�H�j8H�]H�Z@H�ZHH�ZPL�zXI�H�Z`H�ZhH�ZpH�ZxH���L���I�$H���H���H���H������H����@�3�I���wY�H�D$HH��t�@�H���\Y�H�D$PH��t�@D��$�L�D$XH�T$HH���L����L�
��D�B�H�L$H腌	H�_XH��t�CH��$�L;�tI�H��t����A��uH��H���ZI�A��I�EpH���H+��H��H��vaH�O(H�G0H+�H��H����H�I0H�IXH��A�H��t:�Di�3H��t�A��A����CA�u�H�A�VH��H��CZ�3�3�D�kH�D$(L;�t)I�H��tA����AA�uH�A��H��ZI��!H��tA����AA�uH�A��H���YH�O(H�G0H+�H��H����H�A H�XXH��t�DkH�D$0H;�t+H�MH��tA����AA�uH�A��H���YH�]�$H��tA����CA�uH�A��H��H��aYH�GpH���t0H�O(H�G0H+�H��H���DH�I@H�IXH��H��t�Di�3�3�H�D$8L;�t+I�$H��tA����AA�uH�A��H���XI�$�!H��tA����AA�uH�A��H���XH�W(H�O0H+�H��H��v3H�GpH���tH����H�JPH�IX�3�H��H��t�Di�3�3�H�D$@L���L;�t)I�H��t����A��uH�A��H��HXI��!H��t����A��uH�A��H��"XH�O�����H��H��$�H��`A_A^A]A\_^]�����H�\$H�L$WH��0H��H���d$ A��?�D$ H���W�D��H��H���}F�H��H�\$HH��0_����@SH��@L��H��H�L$(3��D$ H�AH�AH�AH�A H�A(H�A0�A8H�Q@H�T$0�H�B H�B�BH�B(H�B0�AxH��ZH��D$ H��I���F�H��H��@[����@USVWATAVAWH��$���H��H�{9H3�H���E��L��H��H�M��d$ ��e��Ɔ�H�?ZH�A�D�d$ H��I����G�I���I���H+�H��H����E��H�U�H�	�}���H��pI������H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H�U�H�M��<8�H��H���H��H���/����G@�C@�GD�CDH�M�H��tH�U�H+�H����L�H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H��pH�M��7�H��H��H��H���|����G@�C@�GD�CDH�M�H��tH�U�H+�H�����K�I�I��H�@��TH��H�N�Kn��A�$����A�(���A�� ��@��H��H���H3��U�	H��A_A^A\_^[]�讂���@USVWATAUAVAWH��$����H��XH��9H3�H��@A��D�L$0L��L��H�M��d$4�/����D$4I��$�I��$�H+�H��H����A�H���H�I������uSH���H�M��2;�H��I��PH��H���-����G@�C@�GD�CDH�M�H����H�U�H+�H����J��H�������D��H���D�0H���8�XH����\�H��\$ D��E��A��H�L$8�}�L��H�t$ D���H���H��@�zY�H��H�M��v:�H��I��PH��H���q����G@�C@�GD�CDH�M�H��tH�U�H+�H�����I�t$0I��$�I��$�H+�H���H;��mA�H��@H�I�IJ��W�����H�E�H�D$8H�D$@H�E�H�D$HH�D$PH�E�H�D$XH�D$`H�E�H�D$hH�\$pH�E�H�D$xH�E�E�E�L�L$8D��H��@H�M�4�H�U�H����\�I���H�{H;{tH��H���Ց��H�fpH�H�CH�L��H��H���ޅ���H�M�H��tH�U�H+�H����H�H�e�W��E��KH��`D�8H��pD�0H���������yH�E�H�D$8H�D$@H�E�H�D$HA�L�d$PH�E�H�D$XL�d$`H�E�H�D$hH�\$pH�E�H�D$xH�E�E�E�H�����Y�H�؉|$ D��E��A��H�MH�A{�L��H�\$ D��HH��@H����;W�H��L�L$8E��H�M�73�H�U�H���[�I���H�{H;{tH��H��腐��H�oH�H�CH�L��H��H��莄���H�M�H��tH�U�H+�H����\G�H�e�W��E�H�MH��tH�UH+�H����6G�I��H��@H3���	H��XA_A^A]A\_^[]��[~����H�\$ UVWATAUAVAWH��$ ���H���H��9H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`�b�H�WXL�D$`I����H�TI�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� ���A��H��t9A����CA�u,H�H��H��UOA����CA�uH�H��H�@�8OI��H���y����I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H��� ���L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H����qI�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH���O����H�CH;CtH��H��轜��H�C@�L��H��H���x����H���å��I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	�K���H�0H�޸?���H#�H�M�U�H��3�H�D$0H��D$ �D��D��H�M��'w�L��H�|$ A�H��H��P�&S�I�EH�XH��PH����kR�L��H�T$HH��苘�H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I����~��H�D$0H��t$����H��uH�L$0H��H��QL�H�L$HH��t#����A��uH��tH��H��#LH�t$HI��L;|$8�����I��H���H3��	H��$8H���A_A^A]A\_^]��-a��y����H�\$ WH��`H�K9H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(蝛��H��OH�H�SH��rH��H��.B�H�cH�C�H��H�L$PH3���~	H��$�H��`_�H��(�
�<eH�%XA�4H��A�99�;H��;H��(�H�
$�;��	�=�;�u�W��;�;�;H�
�;�J!H�
2薂	�H�
�;�ك	����H�\$H�T$UH�l$�H��H�ڋ�E�H�AH�E��A�EH�EH�EgH�eGH�J8H��tH�H�UH��QJH�EG�D��L�E�H�U�H���(���H�MGH��tH�H�UH;���H�@ �J�H�K8H��tH�H;���H�@ ��IH�c8H��$�H�Đ]�����H��H�XH�xL�p UH������H��H�C9H3�H���H��A�H��H�M0��H�WH�M�����X���L��W�3�E�H�E�I�
H�AL�M�L�E0H�U�I��\I�H�e�A�L�u��D$pL�
��E3�A�V H�L$p��C�H�d$`L�t$h�D$PL�
��E3�A�VH�L$P��C�H�d$@L�t$H�D$0L�
�ME3�A�VAH�L$0�C�H�E�H9E���H�H��H�@��HL��H�D$pH�D$(�\$ L�L$PA�V1H�L$0赠�H�T$HH��r
H��H�L$0�T?�H�d$@L�t$H�D$0H�T$hH��r
H��H�L$P�,?�H�d$`L�t$h�D$PH�U�H��r
H��H�L$p�?��{z	H��H�E�H��tL�E�H��H������H��LH��3�H�M��y����H�M�迣���H�����H���H��t&H���H+�H����>�H���W�f��H�M0藝��H��H���H3��E{	L��$I�[I�{ M�s(I��]�������������H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@�:GH���V�H;�u`H9~u7H�L��M��H��H��H�@ �GH�\$`H��H�l$hH�t$pH�|$xH��PA^�H��H�L$0��n�H�@�8H�L$0��W�H�n�H�L$0�n�H��8H�L$0�W�����������H�\$H�t$WH��@H��H��H�JH�H�@�zFH����H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%DFH���H�L$ �n�H���8H�L$ �2W�H���H�L$ ��m�H�q�8H�L$ �W���������������H��LH�H�AH�BH�������������H��d9�@SH��@L��H��H�L$(3��D$ H�AH�AH�AH�A H�A(H�A0�A8H�Q@H�T$0�H�B H�B�BH�B(H�B0�Ax%H��JH��D$ H��I����4�H��H��@[����@USVWATAVAWH��$���H��H��9H3�H���E��L��H��H�M��d$ �%�͐��H�RJH�A�D�d$ H��I���
6�I���I���H+�H��H����E��H�U�H�	谤��H��pI���9���H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H�U�H�M��o&�H��H���H��H���b����G@�C@�GD�CDH�M�H��tH�U�H+�H����:�H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H��pH�M��%�H��H��H��H��诟���G@�C@�GD�CDH�M�H��tH�U�H+�H����
:�I�I��H�@�*CH��H�N�~\��A�$����A�(���A�� �/��H��H���H3��v	H��A_A^A\_^[]���p��H�\$ UVWATAUAVAWH��$ ���H���H�"9H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`�&U�H�WXL�D$`I����H�HI�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� �{��A��H��t9A����CA�u,H�H��H���AA����CA�uH�H��H�@��AI��H�������I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H��訡��L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H���`dI�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH���׏���H�CH;CtH��H���E���H�C@�L��H��H���v���H���K���I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	�ӟ��H�0H�޸?���H#�H�M�HH�H��3�H�D$0H��D$ �D��D��H�M��i�L��H�|$ A�H��H��P�E�I�EH�XH��PH�����D�L��H�T$HH�����H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I���Nq��H�D$0H��t$����H��uH�L$0H��H���>�H�L$HH��t#����A��uH��tH��H���>H�t$HI��L;|$8�����I��H���H3��5r	H��$8H���A_A^A]A\_^]��S��l����H�\$ WH��`H��9H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(�%���H��CH�H�SH��rH��H��4�H�cH�C�H��H�L$PH3��vq	H��$�H��`_�H��H�XH�pH�xUAVAWH������H��`H��E3�D�|$0A��L�\$8D�|$@L�5DDL�t$HH�5xH�t$PH�D$HH�E�D�}�E�S�L�U�D�}�L�u�H�u�H�E�H�E�D�}�E�OL�M�D�}�L�u�H�uH�E�H�E0D�}8E�GL�E@D�}HL�uPH�uXH�EPH���D���A�H���D���L���H���H���H���D����W@H���D���L��H��H��H��8�O��@L��HD��PL��XH��`H��XH������L���D���L���H���H���H������L���D��L��H��H��H��@��HL��PD��XL��`H��hH��`H������H���D���L���H���H���H������H��D��L��H��H��H��H��PL��XD��`L��hH��pH��hH������L���D���L���H���H���H�����L��D��L��H�� H��H��P��XL��`D��hL��pH��xH��pH������H���D���L���H���H���H����H��D��L�� H��(H�� H��XH�D$0H�D$ H��`H�D$(H�L$ ���L�
C����WWE�GH�L$0�k	H��L��$`I�[ I�s(I�{0I��A_A^]���H��(�
��;eH�%XA�4H��A�9Y�;H� �;H��(�H�
D�;�?s	�=8�;�u�W���;�;�;H�
��;��H�
!�Vq	�H�
��;�r	����H��H�XH�hH�p WH��0)p�1���fH~�H��fs�fH~�H�(�L��H��H���oj��H��XH;�u�H�\$HH�l$PH�t$X(t$ H��0_�������������H�\$H�t$UWAWH��$ ���H���H�T�8H3�H���H��A�E��H��H����g�H�WH�����A��H���L���H��I+�H��L;��H�E�H�E�H�E�H�E�H�E�L�}�H�E�H�E�L�}�H�E�H�E�H�E�H�E�H�E�H�E�W�E�E�I+�H��H;���E��H�U`I������H��L�M�E��H�M�3�H��pH;�xtH��H���w��H� VH�H��pH�L��H��H��h�k���H�MH��tH�U(H+�H����_.�I�H���L���H��I+�H��H;�������v���L��W�3���H���I�
H�AL��L���H���I��+7�H�e��H�u��D$pL�
��E3��V H�L$p�1�H�d$`H�t$h�D$PL�
��E3��VH�L$P�1�H�d$@H�t$H�D$0L�
@=E3��V5H�L$0�p1�H���H9����H�H��H�@��6L��H�D$pH�D$(�\$ L�L$P�VH�L$0胎�H�T$HH��r
H��H�L$0�"-�H�d$@H�t$H�D$0H�T$hH��r
H��H�L$P�,�H�d$`H�t$h�D$PH�U�H��r
H��H�L$p��,��Ih	H��H�EH��tL���H��H����H��;H��3�H����A����H��脑���H���藋��H��H���H3��Ei	L��$�I�[(I�s0I��A__]��c��������H�\$WH�� H��H����W��PH���]WH�\$0H��H�� _����������������H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@��4H�����H;�u`H9~u7H�L��M��H��H��H�@ ��4H�\$`H��H�l$hH�t$pH�|$xH��PA^�H���H�L$0�\�H��8H�L$0�E�H�.�H�L$0�`\�H�ݳ8H�L$0�{E�����������H�\$H�t$WH��@H��H��H�JH�H�@�:4H���2��H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%4H���H�L$ ��[�H�T�8H�L$ ��D�H���H�L$ �[�H�1�8H�L$ ��D���������������H�9<H�H�AH�BH�������������H��R9���������H�\$WH�� H�7<��H�H��貎����t
�0H����e	H�\$0H��H�� _���@SH��@L��H��H�L$(3��D$ H�AH�AH�AH�A H�A(H�A0�A8H�Q@H�T$0�H�B H�B�BH�B(H�B0�Ax
H�:H��D$ H��I���L"�H��H��@[����@USVWATAVAWH��$���H��H��8H3�H���E��L��H��H�M��d$ �
�E~��H�r9H�džPA�D�d$ H��I���{#�I���I���H+�H��H����E��H�U�H�	����H��pI��角��H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H�U�H�M����H��H���H��H���Ѝ���G@�C@�GD�CDH�M�H��tH�U�H+�H����+(�H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H��pH�M��*�H��H��H��H�������G@�C@�GD�CDH�M�H��tH�U�H+�H����x'�I�I��H�@��0H��H�N��I��A�$����A�(���A�� ���H��H���H3��c	H��A_A^A\_^[]��O^����H�\$ UVWATAUAVAWH��$ ���H���H���8H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`�B�H�WXL�D$`I����H�17I�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� ��w�A��H��t9A����CA�u,H�H��H��I/A����CA�uH�H��H�@�,/I��H���mv���I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H������L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H����QI�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH���C}���H�CH;CtH��H���|��H�C@�L��H��H���lc���H��跅��I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	�?���H�0H�޸?���H#�H�M�5�H��3�H�D$0H��D$ �D��D��H�M��W�L��H�|$ A�H��H��P�3�I�EH�XH��PH����_2�L��H�T$HH���x�H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I���^��H�D$0H��t$����H��uH�L$0H��H��E,�H�L$HH��t#����A��uH��tH��H��,H�t$HI��L;|$8�����I��H���H3��_	H��$8H���A_A^A]A\_^]��!A���Y����H�\$ WH��`H�?�8H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(�{��H��2H�H�SH��rH��H��""�H�cH�C�H��H�L$PH3���^	H��$�H��`_�H��(�
��;eH�%XA�4H��A�9��;H���;H��(�H�
��;�sd	�=��;�u�W���;��;��;H�
{�;�Z
H�
_�b	�H�
��;��c	����H�\$H�T$UH�l$�H��H�ڋ�E�H�AH�E��A�EH�EH�EgH�eGH�J8H��tH�H�UH��E*H�EG��L�E�H�U�H�������H�MGH��tH�H�UH;���H�@ �*�H�K8H��tH�H;���H�@ ��)H�c8H��$�H�Đ]���������H�\$H�t$UWAVH��$����H��`H�4�8H3�H��PH��D��H��H�Mp�����H�VH����:����L��XW�E�H�~H��t�_H�~H�NH�M�H�}��� �������A���-����H�U�I����3H��H��I���[����K@A�N@�CDA�FDH�M�H��tH�U�H+�H�����H�UH��p�3H��H��H��p�����K@����CD���H�MH��tH�U H+�H����g�Dž��d���L��W�3�EPH�E`I�
H�AL���L�EpH�UPI��Y(�H�e�A�L�u��D$pL�
ʹE3�A�V H�L$p��"�H�d$`L�t$h�D$PL�
ԴE3�A�VH�L$P��"�H�d$@L�t$H�D$0L�
+0E3�A�V6H�L$0�"�H�EXH9EP��H�H��H�@��'L��H�D$pH�D$(�\$ L�L$PA�V8H�L$0��H�T$HH��r
H��H�L$0�Q�H�d$@L�t$H�D$0H�T$hH��r
H��H�L$P�)�H�d$`L�t$h�D$PH�U�H��r
H��H�L$p���xY	H��H�E�H��t2L�EPH��H�����H��.H������i�������]���3�H�MP�_����H��t9������G�u+H�H��H���&����G�uH�H��H�B��&�H����d����H�Mp�z|��H��H��PH3��(Z	L��$`I�[(I�s0I��A^_]�H�y.H�M����H���8H�M��P7����������������H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@��%H����H;�u`H9~u7H�L��M��H��H��H�@ ��%H�\$`H��H�l$hH�t$pH�|$xH��PA^�H�ٳH�L$0�M�H��8H�L$0�6�H�.�H�L$0�`M�H�ݤ8H�L$0�{6�����������H�\$H�t$WH��@H��H��H�JH�H�@�:%H���R�H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%%H���H�L$ ��L�H�T�8H�L$ ��5�H���H�L$ �L�H�1�8H�L$ ��5���������������H�/H�H�AH�BH�������������H�9D9���������H�\$WH�� H�/��H�H�������t
�0H����V	H�\$0H��H�� _���@SH��@L��H��H�L$(3��D$ H�AH�AH�AH�A H�A(H�A0�A8H�Q@H�T$0�H�B H�B�BH�B(H�B0�Ax"H��,H��D$ H��I���L�H��H��@[����@USVWATAVAWH��$���H��H��8H3�H���E��L��H��H�M��d$ �"�Eo��H�Z,H�A�D�d$ H��I����I���I���H+�H��H����E��H�U�H�	�(���H��pI��豃��H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H�U�H�M����H��H���H��H����~���G@�C@�GD�CDH�M�H��tH�U�H+�H����5�H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H��pH�M��4�H��H��H��H���'~���G@�C@�GD�CDH�M�H��tH�U�H+�H�����I�I��H�@��!H��H�N�:��A�$����A�(���A�� �
��H��H���H3��U	H��A_A^A\_^[]��YO��H�\$ UVWATAUAVAWH��$ ���H���H���8H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`�3�H�WXL�D$`I����H�%*I�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� ��h�A��H��t9A����CA�u,H�H��H��U A����CA�uH�H��H�@�8 I��H���yg���I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H��� ���L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H����BI�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH���On���H�CH;CtH��H���m��H�C@�L��H��H���xT���H����v��I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	�K~��H�0H�޸?���H#�H�M�&�H��3�H�D$0H��D$ �D��D��H�M��'H�L��H�|$ A�H��H��P�&$�I�EH�XH��PH����k#�L��H�T$HH���i�H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I����O��H�D$0H��t$����H��uH�L$0H��H��Q�H�L$HH��t#����A��uH��tH��H��#H�t$HI��L;|$8�����I��H���H3��P	H��$8H���A_A^A]A\_^]��-2��J����H�\$ WH��`H�K�8H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(�l��H��%H�H�SH��rH��H��.�H�cH�C�H��H�L$PH3���O	H��$�H��`_�H��(�
��;eH�%XA�4H��A�9Y�;H� �;H��(�H�
D�;�U	�=8�;�u�W���;�;�;H�
��;��H�
��S	�H�
��;��T	����H�\$H�T$UH�l$�H��H�ڋ�E�H�AH�E��A�EH�EH�EgH�eGH�J8H��tH�H�UH��QH�EG��L�E�H�U�H���(����H�MGH��tH�H�UH;���H�@ ��H�K8H��tH�H;���H�@ ��H�c8H��$�H�Đ]�����H��H�XH�xL�p UH�����H���H�C�8H3�H���H���D��H��H�������H�WH��P�F������HH�E�H�E�H�E�H�E�H�E�H�]�H�E�H�E�H�]�H�E�H�E�H�E�H�E�H�E�H�E�W�E�E�H���H���H+�H��H;��sD��H�U`H�I�z��H��L�M�D��H�M�3��H���H;��tH��H���Y��H� 8H�H���H�L��H��H����M���H�MH��tH�U(H+�H����_��Z���L��W�3���H���I�
H�AL��PL��H���I��O�H�e�A�L�u��D$pL�
åE3�A�V H�L$p���H�d$`L�t$h�D$PL�
ʥE3�A�VH�L$P��H�d$@L�t$H�D$0L�
�"E3�A�V@H�L$0��H���H9����H�H��H�@��L��H�D$pH�D$(�\$ L�L$PA�VH�L$0�p�H�T$HH��r
H��H�L$0�A�H�d$@L�t$H�D$0H�T$hH��r
H��H�L$P��H�d$`L�t$h�D$PH�U�H��r
H��H�L$p����hJ	H��H�EH��tL���H��H������H��!H��3�H����`y���H��P�s���H���m��H��H���H3��dK	L��$�I�[I�{ M�s(I��]��E������H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@�ZH�����H;�u`H9~u7H�L��M��H��H��H�@ �.H�\$`H��H�l$hH�t$pH�|$xH��PA^�H�9�H�L$0��>�H�`�8H�L$0�'�H���H�L$0�>�H�=�8H�L$0��'�����������H�\$H�t$WH��@H��H��H�JH�H�@��H������H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%dH��H�L$ �7>�H���8H�L$ �R'�H��H�L$ �>�H���8H�L$ �/'���������������H�9"H�H�AH�BH�������������H�	69���������H�\$WH�� H�7"��H�H���q����t
�0H���@H	H�\$0H��H�� _���@SH��@L��H��H�L$(3��D$ H�AH�AH�AH�A H�A(H�A0�A8H�Q@H�T$0�H�B H�B�BH�B(H�B0�Ax$H�" H��D$ H��I����H��H��@[����@USVWATAVAWH��$���H��H��8H3�H���E��L��H��H�M��d$ �$�`��H��H�A�D�d$ H��I�����I���I���H+�H��H����E��H�U�H�	�t��H��pI���u��H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H�U�H�M��G��H��H���H��H���:p���G@�C@�GD�CDH�M�H��tH�U�H+�H����
�H�D$xH�D$(H�D$0H�D$xH�D$8L�d$@H�D$|H�D$HL�d$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H��pH�M���H��H��H��H���o���G@�C@�GD�CDH�M�H��tH�U�H+�H�����	�I�I��H�@�H��H�N�V,��A�$����A�(���A�� ����H��H���H3��`F	H��A_A^A\_^[]��@��H�\$ UVWATAUAVAWH��$ ���H���H���8H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`�$�H�WXL�D$`I����H�]I�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� �SZ�A��H��t9A����CA�u,H�H��H���A����CA�uH�H��H�@��I��H����X���I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H���q��L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H���84I�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH���_���H�CH;CtH��H���_��H�C@�L��H��H����E���H���#h��I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	�o��H�0H�޸?���H#�H�M� �H��3�H�D$0H��D$ �D��D��H�M��9�L��H�|$ A�H��H��P��I�EH�XH��PH������L��H�T$HH����Z�H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I���&A��H�D$0H��t$����H��uH�L$0H��H����H�L$HH��t#����A��uH��tH��H���H�t$HI��L;|$8�����I��H���H3��
B	H��$8H���A_A^A]A\_^]��#��W<����H�\$ WH��`H���8H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(�]��H��H�H�SH��rH��H���H�cH�C�H��H�L$PH3��NA	H��$�H��`_�H��(�
6�;eH�%XA�4H��A�9�;H��;H��(�H�
�;��F	�=��;�u�W���;�;�;H�
��;�R�H�
+��D	�H�
��;�9F	����H�\$H�T$UH�l$�H��H�ڋ�E�H�AH�E��A�EH�EH�EgH�eGH�J8H��tH�H�UH���H�EG����L�E�H�U�H��舋���H�MGH��tH�H�UH;���H�@ �w�H�K8H��tH�H;���H�@ �ZH�c8H��$�H�Đ]Å�t��t��t��u���3�øø����������������H��H�XH�xL�p UH��X���H��H�s�8H3�H���H��A�H��H�M0����H�WH�M������H�_H��t�CH�_H�G�� �Y������A��H��t9A����CA�u,H�H��H��rA����CA�uH�H��H�@�UH�_H��t�CH�_H�G��$���H��t9A����CA�u,H�H��H��A����CA�uH�H��H�@��
�a���L��W�3�E�H�E�I�
H�AL�M�L�E0H�U�I���
�H�e�A�L�u��D$pL�
9�E3�A�V H�L$p�X�H�d$`L�t$h�D$PL�
@�E3�A�VH�L$P�/�H�d$@L�t$H�D$0L�
7E3�A�V3H�L$0��H�E�H9E���H�H��H�@�*
L��H�D$pH�D$(�\$ L�L$PA�V-H�L$0�b�H�T$HH��r
H��H�L$0��H�d$@L�t$H�D$0H�T$hH��r
H��H�L$P��H�d$`L�t$h�D$PH�U�H��r
H��H�L$p�n���;	H��H�E�H��tL�E�H��H�����H�H��3�H�M���j���H�M��(e���H�M0�>_��H��H���H3���<	L��$�I�[I�{ M�s(I��]����H�\$WH�� H��H���+��XH����)H�\$0H��H�� _����������������H��H�XH�hH�pH�x AVH��PH��I��I�IM��H��H�H�@��H���k�H;�u`H9~u7H�L��M��H��H��H�@ �~H�\$`H��H�l$hH�t$pH�|$xH��PA^�H���H�L$0�30�H���8H�L$0�N�H�ޕH�L$0�0�H���8H�L$0�+�����������H�\$H�t$WH��@H��H��H�JH�H�@��H����j�H;�u)H9~uFH�H��H��H�@(H�\$PH�t$XH��@_H�%�H�U�H�L$ �/�H��8H�L$ ��H�j�H�L$ �d/�H��8H�L$ ����������������H�aH�H�AH�BH�������������H��'9���������H�\$WH�� H�_��H�H���bb����t
�0H���9	H�\$0H��H�� _���@SH�� H���@.�:z	u��
�B��BH�YH��t9����C��u,H�H��H�������C��uH�H��H�@�~H�� [�@SH��@L��H��H�L$(3��D$ H�AH�AH�AH�A H�A(H�A0�A8H�Q@H�T$0�H�B H�B�BH�B(H�B0�AxH��H��D$ H��I����H��H��@[����@USVWAUAVAWH��$���H��H�W�8H3�H���E��L��H��H�M��d$ ��}Q��H�2H�A�D��P��T��XD�l$ H��I����I���I���H+�H��H����E��H�U�H�	�Ke��H��pI����e��H�D$xH�D$(H�D$0H�D$xH�D$8L�l$@H�D$|H�D$HL�l$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H�U�H�M��
��H��H���H��H���`���G@�C@�GD�CDH�M�H��tH�U�H+�H����X��H�D$xH�D$(H�D$0H�D$xH�D$8L�l$@H�D$|H�D$HL�l$PH�E�H�D$XH�D$`H�E�H�D$hH�D$pW�D$xE�L�L$(E��H��pH�M��W��H��H��H��H���J`���G@�C@�GD�CDH�M�H��tH�U�H+�H�����I�I��H�@��H��H�N���A�$����A�(���A�� ����H��H���H3��#7	H��A_A^A]_^[]��|1�����H�\$ UVWATAUAVAWH��$ ���H���H���8H3�H���I��L��L��H�M�3�H�t$pH�t$xI���H�L$`��H�WXL�D$`I����H��I�M�npI�EH�PH���H��t�CH���H���H�U�H�]�I�NxH�L$8H�� �K�A��H��t9A����CA�u,H�H��H��uA����CA�uH�H��H�@�XI��H���I���I���H�3H�sH�sM���I�4$I�t$I�t$L�GI��H+OH�9��8��8H��H��H��H��?H�H�CH+H��H;�vH��������H;���H���@b��L�GL��L+GH�9��8��8I��H��H��H��?H���I�9��8��83�D�B@H���$I�FpH�HH�QW��D$PH���H��t�@H���H�D$PH���H�D$XL�GL��D$ E3�H�T$PH���oP���H�CH;CtH��H����O��H�C@�L��H��H���6���H����X��I��H�ƐH�OH+OI��H��H��H��H��?H�L;��"���M���L�(H�G0H�D$8L;��pI�H�D$0I���I���H+�H��H���}A�H��H�	�k`��H�0H�޸?���H#�H�M���H��3�H�D$0H��D$ �D��D��H�M��G*�L��H�|$ A�H��H��P�F�I�EH�XH��PH�����L��H�T$HH���K�H�H�D$03�H��t	�@H�D$0I�T$I;T$tH�H��H�D$0I�D$�L�D$0I����1��H�D$0H��t$����H��uH�L$0H��H��q��H�L$HH��t#����A��uH��tH��H��C�H�t$HI��L;|$8�����I��H���H3���2	H��$8H���A_A^A]A\_^]��M��-����H�\$ WH��`H�k�8H3�H�D$PI��H��H�L$HH�\$HAD$(AHL$8I�`I�@A�L�D$(�N��H�^H�H�SH��rH��H��N��H�cH�C�H��H�L$PH3��2	H��$�H��`_�H��(�
��;eH�%XA�4H��A�99�;H��;H��(�H�
$�;�7	�=�;�u�W�ܲ;�;�;H�
Dz;���H�
��5	�H�
޲;�6	����H��H�XH�hH�p WH��0)p�1����fH~�H��fs�fH~�H�(�L��H��H����.��H��XH;�u�H�\$HH�l$PH�t$X(t$ H��0_�������������H�\$H�t$UWAVH��$@���H��H���8H3�H���H��A�E��H��H�MP�����H�VH�M�����H�~H��t	�DwH�~H�^H�]�H�}Ȁ�<t$H��t�DwH�\$xH�}�H�� H�L$x�����0�����4�����8��t��tE3�D����*���L��W�3�E�H�E�I�
H�AL�M�L�EPH�U�I��N��H�e�A�L�u��E�L�
ÈE3�A�V H�M����H�d$`L�t$h�D$PL�
ˈE3�A�VH�L$P��H�d$@L�t$H�D$0L�
�	E3�A�V9H�L$0��H�E�H9E���H�H��H�@���L��H�E�H�D$(�\$ L�L$PA�V/H�L$0�S�H�T$HH��r
H��H�L$0�I��H�d$@L�t$H�D$0H�T$hH��r
H��H�L$P�!��H�d$`L�t$h�D$PH�U�H��rH��H�M�����q-	H��H�D$pH��tL�E�H��H�����H�VH��3�H�M��n\���H��t9������G�u+H�H��H�������G�uH�H��H�B����H�M��vV���H�MP�P��H��H���H3��:.	L��$�I�[(I�s0I��A^_]���H�\$WH��PI��H��W�3�D$0H�D$@I�AH�HH�AH���H��t�AH���H���H�D$ H�L$(H�T$ H�L$0�FH���H�H�CH+�H��H��uH�H�H��t�@�L��H��H�L$8�@����H�L$@H��t@����A��u3H�\$@H�H��H��������C��uH�L$@H�H�@���H��H�\$`H��P_����������������H��H�H�AH�BH�������������H��9���������H�H�H�AH�BH�������������H�Y9���������H�	H�H�AH�BH�������������H��9�H��H�XH�hH�p WH��0)p�1��O�fH~�H��fs�fH~�H�(�L��H��H�����H��HH;�u�H�\$HH�l$PH�t$X(t$ H��0_�H��H�XH�hH�p WH��0)p�1���fH~�H��fs�fH~�H�(�L��H��H�����H��HH;�u�H�\$HH�l$PH�t$X(t$ H��0_�H��H�XH�hH�p WH��0)p�1�T���fH~�H��fs�fH~�H�(�L��H��H���G��H��HH;�u�H�\$HH�l$PH�t$X(t$ H��0_�H�\$WH�� �p��)	H�D$8H��H��t`3�H�HD�BH���gH��H�gH�gH�g H�g(f�g0H�g8�G@�GD�GHH�g`H�Gh�GPH��3�H�\$0H��H�� _�%!��%#��%%��%'��%)��%+��%-������%*��%,��%.��%8��%:��%<��%>��%@��%B�����������%*��%��%���������������%��%��%��%��%���%���%���%���%���%t��%f��%X��%���%<��%.�������%��%��%���%���%���%��������������%���%���%���%���%���%t��%f�������H�\$H�t$WH��PA��A��H��E��H�L$0��W��D$ E3�E3�H��H�����H��H��^@�~DH�L$0H��tH�T$@H+�H����5��H��H�H��H�\$`H�t$hH��P_���������H�\$H�t$ UWATAVAWH�l$�H��@H���8H3�H�E0H��H��H�U��YDL�qL�t$ E3�D��L�%A�8I��H�L$0�D���L�t$ A�E��D��I��H�L$P�&���L�t$ E�OD��I��H�M�����L�t$ E�OD��I��H�L$p���L�t$ E�OD��I��H�M��ݟ�����A;��/���T������tX��t/����H�D$PH�D$0H�E�H�D$8H9D$x�L�.H�D$PH�D$0H�D$8H9D$x��A���L�D$0L�L$XH�L$8H�T$xH;�uI��H��L;���L9|$PuM;�uH;�u	L;���H�D$pH��H;���I;���L9|$P��M;����L�D$0L�L$XH�L$8H�T$xH;�uI��H��L;��X���L9|$PuM;�uH;�u	L;��>���H�D$pH��H;���I;���L9|$P��M;����
���H�D$PH�D$0H�D$8H9D$x��3�D��H�U�H�������H�@��u IcL�H��HM�H�E�H�AIcD�E��<IcD�I�H��IIcL�H��HM�H�@H�AIcL�I�H��IIcD�AH��HE��@H�U�H���"2��H��H�H�M�H��t'H�U�H+�H�������H��H����1��H��H�H��H�M0H3���%	L��$@I�[@I�sHI��A_A^A\_]�H�&H�L$0�,��H�=r8H�L$0���H�H�L$0�	��H�r8H�L$0���H�H�L$0���H��q8H�L$0��H��H�L$0�í�H��q8H�L$0��H�H�L$0蠭�H��q8H�L$0�_�H�wH�L$0�}��H��q8H�L$0�<������������L��I�[I�k I�KVWAUAVAWH��PH���8H3�H�D$HA��L��H��H�L$(W�3�D$0I�C�I�K��Q���A�H�|$0����A+���A+���A+�tk��tVA+�tDA+�t����H�GH��H���H�G�H�GH��H���H�GH�GH��H���H�H��H���bH�H��H���H��wH�GH��H��H�GH�GH�GH��H���H�GL�o�LH�H��H��H�H�GH��H����H�H��H��H�H�GH��H��H�G�H�GH��H���H�GW�3�H�FL�t$8I��H+�H��H!H!FH!FL�D$ H��H������M��E3�H��tCE3�I�J��J��H+�H�J�N�TJ�dJ�TN��M�M�@ I��H+�H��L;�r��E�wIH�L�hH�H�AH�H�A(H�H�A(H�GH�AHH�H�AHH�GH�AhH�H�BhH�GH���H��tH�T$@H+�H��H�����H��H�L$HH3��s"	L�\$PI�[@I�kHI��A_A^A]_^���L��I�[I�KUVWAVAWH��PH��8H3�H�D$HA��L��L��H�L$(W�3�D$0I�C�I�K��O�H�|$0�������΃������,��tj��tW��tn��t��t%���YH�H��H��H�H�GH��H����H�H��H��H�H�GH��H��H�G�H�GH��H����|H�GH��?H���H�GH��H���H�G��H�H��H�����������������������tS����~����H�GH��H��H�G�H�GH��H��H�GH�GH��H��H�GH�H��H���ZH�H��H���H�H�GH��H����L���H�GH��H����H�GH��H��H�GH�GH��H���H�G�H�H��H���H�W�3�AI�FH�l$8H��H+�H��I!I!FI!FL�D$ H��I������A�E��E3�H��tCE3�I�J��J��H+�I�J�N�TJ�dJ�TN��M�M�@ H��H+�H��L;�r���u0I�H�A@H�A I�H��H�A(H�AhI�H�GH+A@H�AX��F�A;�v[�F�A;�v7����I�H�H�A`H�A@H�A H�AHI�H�AHH���H�Ah�aI�H�@I�H�AH�H�A(�EI�H�A I�H��H�A(H�AHI�H�GH+A H�A8I�H�AHH�A@H�AhI�H�GH+B@H�BXH��tH�T$@H+�H��H���	��I��H�L$HH3���	H��$�H��PA_A^_^]������H�\$ UVWATAUAVAWH�l$�H���H�u�8H3�H�EMc�D�M�L��H��H�U�LciDJ�mI�L��8I��M�BM��3��3��:����H��I;�u�O�<IK��I�RJ��3�H��H;�t3��9����H��H;�u�L�vL�t$ E3�E��I��H�M�贕��L�t$ A�E��H���8H�M�薕��L�t$ A�E��L�-q�8I��H�M��u���3�H�EW��M�H!E��L�D$0H�M��h��;���;�uML�t$ D��D�FDI��H�M��)���KcL�H�]�H�E�H��L�t$ A�D�FDI��H�M����H�E�������L�t$ D��D�FDI��H�M��Ӕ��H�]�H�]�3�H�E�H��H��L�t$ A�D�FDI��H�M�裔��3�H�E�H��H��3�H�u�H��KcD�H�]�H��KcD�H��KcD�H�<��R������GL�t$ D��D�FDI��H�L$8�H���H�]�H�]�H�]�3�H�D$8H��H��L�t$ A�D�FDI��H�L$8����3�H�D$8H��H��3�H�u�H��3�H�u�L��KcD�H�]�H��KcD�H��KcD�L��KcD�H�<������;�uOL�t$ E3�D�FDI��H�L$8蟓��KcL�H�]�H�D$8H��L�t$ D�O�D�FDI��H�L$8�s���KcL���;��GL�t$ D��D�FDI��H�L$8�H���H�M�H�M�H�L$8KcD�H�]�H�������;�u$L�t$ D��D�FDI��H�L$8����H�M�H�M�벃���L�t$ E3�D�FDI��H�L$8�Ԓ��KcL�H�]�H�D$8H��L�t$ A�D�FDI��H�L$8覒��KcL�H�D$8H��L�t$ A�D�FDI��H�L$8�|���KcL�H�D$8H��L�t$ A�D�FDI��H�L$8�R���KcL�H�D$8H��L�t$ A�D�FDI��H�L$8�(���H�D$8KcL�H��D�M�D�F@H�U�I�����H�M�H��tH�UH+�H���\��I��H�MH3��-	H��$HH���A_A^A]A\_^]���H�\$ UVWATAUAVAWH�l$�H���H�Ũ8H3�H�ED�M�D�E�L��L��H�U�HcADHk�L��8J�M�JL�3��3��9����H��I;�u�Ic�Hk�N�$I�RH�3�I��L;�t3��9����H��H;�u�M�wL�t$ E3�E�GDI��H�M��(�L�t$ A�E�GDH���8H�M��	�3�H�EW��M�H!E��L�E�H�M��d��;��;�uYL�t$ D��E�GDH�=C�8H��H�M���HcL>H�]�H�E�H��L�t$ A�E�GDH��H�M���HcL>H�E������L�t$ D��E�GDH��8H�M��X�H�]�H�]�3�H�E�H��H��L�t$ A�E�GDH���8H�M��$�3�H�E�H��H��3�H�u�H��Ic$H�]�H��L�%|�8JcD&H��JcD&H�<�L�t$ A�E�GDI��H�M����JcL&�<���Y;���L�t$ E3�E�GDH�=!�8H��H�M���Ic$H�]�H�E�H��L�t$ A�E�GDH��H�M��j�HcL>H�E�H��L�t$ A�E�GDH��H�M��B�HcL>H�E�H��L�t$ A�E�GDH��H�M���HcL>H�E�H��D�M�A�A�vA���yIc$H���Ic$H��HcD>H���M;��AL�t$ D��E�GDH�=/�8H��H�M���H�M�H�M�H�M�HcD>H�]�H��L�t$ A�E�GDH��H�M��m�HcL>������;���L�t$ E3�E�GDH�=��8H��H�M��3�Ic$H�]�H�E�H��L�t$ A�E�GDH��H�M���HcL>H�E�H��L�t$ A�E�GDH��H�M����HcL>H�E�H��L�t$ A�E�GDH��H�M���HcL>H�E�H��L�t$ A�E�GDH��H�M���HcL>�����;���L�t$ D��E�GDH�=�8H��H�M��V�Ic$H�]�H�E�H��L�t$ A�E�GDH��H�M��+�HcL>H�E�H��L�t$ A�E�GDH��H�M���HcL>H�E�H��L�t$ A�E�GDH��H�M����HcL>H�E�H��L�t$ E3�E�GDH��H�M���HcL>H�E�H��L�t$ A�E�GDH��H�M���HcL>H�E�H��D�M�D�E�H�U�I����H�M�H��tH�UH+�H�����I��H�MH3��t	H��$(H���A_A^A]A\_^]���������̃I������������̅�t(��t��t��t
��u�IÃIÃIÃIÃI���������������̅�t��t��t
��u�IÃIÃIÃI���������̃I�������������i	����������̅�t��t��t
��u�IÃIÃIÃI���������̃�tR��tH��t>��t4��t*��t ��t��t��u.�i��iÃI@ÃI ÃIÃIÃIÃIÃI����̃�t��t	��u	Q��i��i�̃�t
��u	�IÃI������������̅�t
��u	�IÃI�������������̸ ��	D�@ AE�	A������������̃I�����������̃�tR��tH��t>��t4��t*��t ��t��t��u.�i��iÃI@ÃI ÃIÃIÃIÃIÃI����̃�t��t	��u	Q��i��i�̃�t��t��u�i��iÃI@Å�t
��u	�IÃI�������������̅�t��t��t
��u�I ÃIÃIÃI���������̅�t��t
��u�IÃIÃI����E3�A��L�D�BL�BE�HL�BD�JL�B L�B(D8A0tD�JA��D8A1t���BH�����������������H�\$UVWATAUAVAWH��PH��H�����H���3ۋ�@D��H�������$�D��A��H��$�D��H;����U@H���H����MDH�]�H�\$ ��H�N�8	G H�L$0D�EDA��G���H�|$0�H����$�E2��H9Q��H�D
�H�� H;Mu苖@E
�3�H9](��D
�9U@��D
�}@��H��HD
�H;�$��U���H�������DA�A����	G$8�$�t�E��u2L����H��M��I;�tL9A��L�
�H�� I;�u��t�E��tD	E��u	H9�(t�8^2u	E��t�/	8�Ht�/
H��$�H��H��PA_A^A]A\_^]���������L�IE3�L��L��BD�BL�BL�BL�B L�B(L;ItE��A�	���I��D�M;Ju�D�Z M�Z(M�J M;�tA�	���I��D�M;�u�D�B$H������������3��BH�B L��H�B(M��I�HH�A�@A�BA�@A�BA�@A�BA�@A�BA�@L+�A�BL+�H�Q �A�A�H�RH��u�I����������H�H#H;un�B#A;Auc�A#B;BuX�A#B;BuM�A#B;BuB�A#B;Bu7�B �A u9A u*�B$�A$u9A$u�B(�A(u9A(u�B,�A,u9A,u��2������H�\$WH��`H���8H3�H��$PH��H��H�T$ 3�A��H�L$P�t�
�H�L$P�uz��SH�L$(�/�H��H�xrH�L�@H�L$`��J�H�T$@H��r
H��H�L$(���H��H�L$h�7�H��$��7��H��FH��$�H��$����H��H��$PH3��
	H��$�H��`_������H�\$H�t$ WH��`H���8H3�H��$PH��H��H�T$ 3�A��H�L$P��
�H�L$P�y��SH�L$(��H��H���H�L$`��F�H���K���H��H�����F�H���K�u��H��H�{?�F�H��H�rH�L�GH���I�H�T$@H��r
H��H�L$(�D��H��H�L$h�W6�H��$���H��EH��$�H��$�����H��H��$PH3���	L��$`I�[ I�s(I��_����H�\$H�t$ UWAVH��$P���H��H�t�8H3�H���L��H��H�T$@3�A��H�M��6�
�H�M��8x�H�T$ H���j����H��H�xrH�L�@H�M��H�H��H�U>�E�H�T$8H��r
H��H�L$ �7��H���H�H�T$ ��H��H�xrH�L�@H�M��KH�H��H�>�<E�H�T$8H��r
H��H�L$ ����H���H����H��H�L$P���H�D�H�D$PH�T$PH�L$ �(�H��H�xrH�L�@H�M���G�H��H��=�D�H�T$8H��rH��H�L$ �e��H�L$XH��tH�T$hH+�H����I��H��HH;��l���H��H�L$ ��H��H�xrH�L�@H�M��PG�H�T$8H��r
H��H�L$ ���I��H�M��4�H�M8豖�H�aCH�E8H�M8���I��H���H3��		L��$�I�[0I�s8I��A^_]��H�\$H�t$H�|$AVH�� H�rL��H�YH��H;�t<H�SH��rH�H���c��3�H�K��AH�CNKH�NH�F�A�H�\$0H�t$8�H��H�|$@H�� A^���������������@SUVWAWH�� H��M��I��I�ףp=
ףH+�H��I��L�VH�>H��L�I��H+�I��I��H��?L�I��H��L�I��I��H��?L�M;�vuH�NI��H+�H��H�H��H��H��?H�L;�vI��H���H�>E3�Ii��H�H;�tH+�H�H���XH���H;�u�L�FL��I��H���H���?Ii��H�I;�t"H��H���H���H���I;�u�L�VL��I��H������H�nH�� A__^][��������@SUVWAWH�� H��M��I��I�9��8��8H+�H��I��L�VH�>H��I��H+�L��I��I��H��?L�I��H��L��I��I��H��?L�M;�vsH�NI��H+�H��H��H��H��?H�L;�vI��H���H�>E3�K�,�H��H�H;�tH+�H�H���<H�ÐH;�u�L�FL��I��H���
��H���@K�,�H��H�I;�t"H��H���H�ǐH�ÐI;�u�L�VL��I��H������H�nH�� A__^][�����������H��H�XH�hH�p WH��@I��I��H��H��W�@�H�X�H�X�L�H�H;�t#H��H������H���H�\$(H���H;�u�L��H��H�����H��H�\$XH�l$`H�t$hH��@_����������������I�%#"����L���H��L3�L��H��I;�u�I���H�\$WH��0H��H�L$ H��`H�3�H�AH�AH�AH�Y H�\$(H�H�C�HH�.	H�H�@H�@f�@H�H��H�\$HH��0_�������������L�AH�QH�	�@��H�\$WH�� L�BH��M��t	�A�@L�BH�YH�H�L�AH��t+����C��uH�H������C��u	H�H��PH�\$0H��H�� _������H�\$UVWAVAWH��0H��H���u���H�WH�KH;�tL�BH�D�L$ ���H�G(H�s(H;�tEL�pL�8H�.M+�H�FI��H+�H��H��H;�vH���'�H�.M��I��H���
�
I�.H�F�G@H�W`�C@H�K`H�GHH�CH�GP�CP�GX�CX����H�WpH�Kp�������H������������H���H���������������������H����t����H���H�\$pH��0A_A^_^]�����H�\$H�l$ VWAVH�� H��H��H;�tBH�jL�2H�1I+�H�AH��H+�H��H��H;�v�&�H�3L��I��H����
H�.H�CH�GH�{H;�tEL�pH�(H�7L+�H�GI��H+�H��H��H;�vH���X&�H�7M��H��H����
I�6H�OH�l$XH��H�\$PH�� A^_^����������H�\$UVWAVAWH�� H��H���e���H�VH�K����H�F@H�{@H;�tEH�hL�8L�7I+�H�GH��I+�H��H��H;�vH���%�L�7L��I��I����
I�.H�GH�FXH�{XH;�tEL�pL�8H�/M+�H�GI��H+�H��H��H;�vH���
H�/M��I��H����
I�.H�OH�VpH�Kp���H��H�\$`H�� A_A^_^]����L��SVWATAUAVAWH�� H���8H3�H��$M��I��L��H�T$8L��H�L$@H�L$PH�T$hL�D$pL�L$x��$��D$HW���$�3�I������I��(���D�M��0���@��$pA9@��A9Ax��I�I�����I��P�H��H�xrH�H�P����H��H��$P�Z�H��$8H��rH��H��$ ���H��$0L��$8@��$ I�H��$�I��PH��H�H��$�H��PH��L��H��$����$�H��$�L��$�@��$�E�F@E��uTW��D$XH���H��t�AH���H���H�D$XH�L$`L��$PL�D$XH��$�H�
�;���,M�NHH��$PH�D$(�F8�D$ H��$�H�
��;���H��H��$��c���H��$�H��rH��H��$�����H9�$��D$0��H��$0H��$8H��$�H��$ ���M�l$I�D$H�D$XH��$8L;���L��$0I�MH�H��$��P(H��$�H��$ H��HC�$ H��H�xrH�L�@M;�MB����
D����uH��$�L9`sA���D��A��H��$�H��rH��H��$���E���6I��L;l$X�\���L�d$@I�ףp=
ףL��$�H��$�L;���L�l$8M�EI�EH��$I�EW���$�H��$H��rH�SH��$ �t��H��$�H��rH��H��$��U��H��$hH��rH��H��$P�6��H��$`HDŽ$h@��$PH��$�H���
H��$�H;�tH������H���H;�u�H��$�H��$H+�I��H��H�H��H��H��?H��	W�3��$H��$I�ML���$��D$ M��L��H��$A�R�H��$L��$I+�I�ףp=
ףI��H��H�H��H��H��?H���I�HI+HH�9��8��8H��H��H��H��?H���I�MH�H��$��P H��H��$��j�����D�L$0L��$H��$H��$���H��$�H���H��$ H;�tSL��$ H��LC�$ L;aw%L��H�yrL�)L�aM��I��I���
�
C�<,�D��I���Y��H��$8H��$�H�HH�VH��p����H��$��)��L�d$@�_���H��rH�SH��$ ���L�l$8@8|$0��A�~@�uI9~h�kI�\$I�D$H�D$HH�\$@H;��^H�H�H��$ �P H��$�H��$ �!����"��$,�W�3��$�H��$�H�H�M��L��H��$��P�W�3��$H��$I�NhH�L��$�H��$��L��H��$�L��$�I+�I��H��H�H��H��H��?H�L;��Mi��H��$J��K�LHH��$�L��$�I+�I��H��H�H��H��H��?H�tH��$�I�AHI9DH��H��$�I�H��$�����D�L$0L��$�H��$�H��$��c�L�
K����A�H��$���H�H�H��$��P(�H��H��$p���H��$�H��rH��H��$����I������I�ףp=
ף���H��$H��t(H��$H+�H���ڼ�W���$H��$H��$��i'���L�l$8�*3�I�ףp=
ףH�\$@L�l$hL�l$8L�d$PH�t$pL�t$xH�D$HH�����H��$�H+�$�I��H��H�H��H��H��?H��]I�\$I�D$H�D$8H�\$@H;��@H�H�H��$ �P H��$�H��$ �y������$,��W�3��$�H��$�H�H�M��L��H��$��P�W�3��$H��$I�NhH�L��$�H��$��L��H��$�L��$�I+�I��H��H�H��H��H��?H�L;���Mi��H��$J��K�LHH��$�L��$�I+�I��H��H�H��H��H��?H�tH��$�I�AHJ9DH��H��$�I�H��$��n���D�L$0L��$�H��$�H��$����L�
�����A�H��$��[�H�H�H��$��P(�H��H��$p���H��$�H��rH��H��$��j��I������H��$H��t(H��$H+�H���A��W���$H��$H��$���$���� 3�I�ףp=
ףH�\$@L�l$hH�t$pL�t$xH�D$8H�����H��$�L��$�I+�I��H��H�H��H��H��?H���I���H��$pH;�tdL��$pH��$�LC�$pH�AH9�$�w,L��H��rL�!H��$�H�YL��I��I�����
B�<#�D��H��$��7��H��$�H�HH�VH��p���H��$�H��$�H��$pH��$����I�VH�F8�D$(H��$�����L$ L��$�L��$PH�
uw;���H��$�H��rH��H��$�豸�H��$hH����H��H��$P莸���I�$�L$H�L$ M��L��I��I��P�H��$�H��rH��H��$��O��H��$hH��rH��H��$P�0��H��$`HDŽ$h@��$PH��$�H���
H��$�H;�tH������H���H;�u�H��$�L��$L+�I��I��I����I�ףp=
ףH��$�I�EH��$�I�EH��$I�EW���$�H��$H��$�H��rH��H��$p�a��H��$�H��tZH��$�H;�tH�����H���H;�u�H��$�L��$L+�I��I��I�H��L��I��?I�Hi��H����I��H��$H3����H�� A_A^A]A\_^[����@SVWATAUAWH��8H�p�8H3�H��$ M��M��H��L��H�T$@L�D$PL�L$H�d$$W�3�H�BH!H!BH!B�D$$3�H��$�HDŽ$�@��$���$�A9@��A9Ax��I�H��$�I��PH��I�$H�T$XI��PH��L��H��$����I�]I�EH�D$(I�ףp=
ףH�\$8H;���H�H�H��$��P H��$�H��$��$����LW�3��$�H��$�H�H�M��M��H��$��P�L��$�I��L��$�I+�I��H��H�H��H��H��?H���I�JI+JH�9��8��8H��H��H��H��?H���L�H�OI+�I��H��H�H��H��H��?H�t
�AA@A/B@v]H��$�H;�tD�L$ I��H�����H�H�H�T$X�P(�H��H��$��G��H�T$pH��r
H��H�L$X螴�H��$�H��$��9����&I�ףp=
ףH��$�H�\$8H�|$@L�|$HL�d$PH�D$(H���j���I�ףp=
ףL�H�OI+�I��H��H�H��H��H��?H�tzI���H��$�H;�tPL��$�H��$�LC�$�H;qw%H��H�yrH�H�qL��I��H���b�
��E3�H��豷�H�H�HI�T$H��p�<��H��$�H��rH��H��$�荳�H��H��$ H3��Z�H��8A_A]A\_^[����������H��H�XH�hH�pH�x AVH�� H��G�z�GL��H��H;���H�II�ףp=
ףH+I��H��H�H��H��H��?H�H��H��H��H+�H;�vH���H�<I;�IB�3�H9tGH�VL��H���L�FI��L+H�I��I�H��H��H��?H�Hi��袲�H�H�^H�^H;�wTHi��H��r
H������
H��tH�����H��H�l$8H�H�|$HH�H�^H�\$0H�FH�t$@H�� A^��y���������H�\$H�l$H�t$WH�� H��������L��H��H;���H�QH��H+H��H��H��H+�H;�vH���H�I;�IB�3�H9>tH�H���ı�H�>H�~H�~H;�wKH��H��r
H������
H��tH����H��H�l$8H�;H�\$0H�>H�~H�FH�t$@H�� _�����������������������H��H�XH�hH�pH�x AVH�� H��q�q�L��H��H;���H�II�9��8��8H+I��H��H��H��H��?H�H��H��H��H+�H;�vH���H�<I;�IB�3�H9tEH�VL��H����H�VI��H+H�H��H��H��H��?H�H��H��藰�H�H�^H�^H;�wUH�<�H��H��r
H���ޯ��
H��tH�����H��H�l$8H�H�|$HH�H�^H�\$0H�FH�t$@H�� A^��m�������������H�\$WH��@H��H�L$0���H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�!�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�i�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�A�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�a�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H��SH��PH�`�L�
l�E3�H�@�H���@�H�H�A�P�=��H�T$ H���`H���H�H��P[�H�\$H�L$WH�� H���8��H��H�D$0H��t&W���C�CH�7�H�H�K��3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8�$�H��H�D$0H��t&W���C�CH���H�H�K��3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8��H��H�D$0H��t&W���C�CH��H�H�K����3�W�H�CH�H�_H��H�\$8H�� _�L��I�[WH��`H��w8H3�H�D$PH��H��H�L$HI�S�I�c�I�c�I�K����H�T$ H���H��H�H�SH��rH��H��w��H�cH�C�H��H�L$PH3��7�H��$�H��`_����������H��SH��P�`�H�P�H��H�L$ �
V��H��
P�f�H�H��H�@�H�@��@��@�����H���H�H��H��P[�������������H��SH��P�X�H�P�H��H�L$ �
N��H��
H�f�H�H��H�@�H�@��@��@����H���H�H��H��P[�������������H�\$WH��0H�v8H3�H�D$(H��H��H�L$ H�T$ H�0�H�H��H�aH�a�
��H�SH��rH��H����H�cH�C�H��H�L$(H3����H�\$PH��0_��H�L$SH�� H������H��AH�H���s���H�����H���C����H��H�� [����������L��I�[WH��`H�5u8H3�H�D$PH��H��H�L$HI�S�I�c�I�c�I�K��C��H�T$ H�����H��H�H�SH��rH��H��'��H�cH�C�H��H�L$PH3����H��$�H��`_����������@SH�� H�YH��t+����C��uH�H������C��u	H�H��PH�� [�@SH�� H���H��H���t
�8�N�H��H�� [������@SH�� H���H��H���t
�8��H��H�� [������@SH�� H���H��H���t
�8���H��H�� [������H�\$WH�� H����H�H��H�Q H��rH�IH�����H�cH�C �C@��t
�(H����H��H�\$0H�� _����������������@SH��0H�H���D$ �PH��H��0[�@SH�� H�H��PH��H�� [���������@SH��0H�bH��H�bH�T$ H�QH���<��H��H��0[����H��(H��tH���PH��(��������H��3�H�H� ����L��I�[I�KUVWAVAWH��@I��H��E3�E�{�L�9L�yL�yL�yL�y L�y(L�y0L�y8�A@$tII��L�qHD�yPD�yXL�y`L�yhL�ypL�yxfD���L���A�G���ǁ�D���L���Hǁ�D���D����D$ I�K��`	H�H�PL�8L�xH�H�_H�WH��t+A����CA�uH�H��A����CA�u	H�H��PH�\$0H��t+A����CA�uH�H��A����CA�u	H�H��PL�D$xH��H�O��G@$tIL�wHD�PD���H��H��$�H��@A_A^_^]�����H�\$WH��PH��H��A��H�L$0�#��L�D$0H��H�L$ ��H�E3�L�GH�H�HH�OL�L�@H�\$(H��t,����C��uH�H������C��u
H�H��P�H�T$HH��r
H��H�L$0��H��H�\$`H��P_���������H�\$WH��PH��H��A��H�L$0�:�L�D$0H��H�L$ �@���H�E3�L�GH�H�HH�OL�L�@H�\$(H��t,����C��uH�H������C��u
H�H��P�H�T$HH��r
H��H�L$0�F��H��H�\$`H��P_���������H�\$WH��PH��H��(�H�L$0胞�L��H��H�L$ 蒆��H�E3�L�GH�H�HH�OL�L�@H�\$(H��t,����C��uH�H������C��u
H�H��P�H�T$HH��r
H��H�L$0蘣�H��H�\$`H��P_�����������H��H�X WH��PH��H��H�L$@H�`�H�@��@�H��H��E��HE�H�L$ �ɟ�L�D$ H��H�L$@超��H��H�H�gH�H�AH�GH�!H�aH�\$HH��t,����C��uH�H������C��u
H�H��R�H�T$8H��r
H��H�L$ 蹢�H��H�\$xH��P_������������H����H�\$ UVWH��0I��H��H��3�H��������H;�w]H��H��H��r
H���ɡ��
H��tH�����H��H�H�NH�H�FH�t$ L��L��H���eH�FH�\$hH��0_^]������������������H�\$H�l$H�t$ WH�� I��H��H��M��L+�H�ףp=
ףI��I�H��H��H��?H�tbH��G�z�GH;�whHi��H��r
H������E3�H��tH����L��L�L�GJ�H�GH�|$8L��H��H�����H�GH�\$0H�l$@H�t$HH�� _����H�\$WH�� L�IL��L+	I�9��8��8I��H��I��L��I��I��H��?L�M;�s H�QK��H��L��HH�����H�_�EvCH�II��H+H��H��H��H��?H�L;�v
I��H���&�H�OM+�I��L����H�GH�\$0H�� _����H�L$SVWAVAWH��0L��H��I��q�q�I;��H�IH+I�9��8��8I��H��L��I��I��H��?L�H�NH+I��H��H��H��H��?H�H��H��I��H+�H;�vI��H�\$hH���"H�I;�s I��H�\$hH��H��H��r�K���H�\$hI;�wn��3�H��t�A�H��H�|$xK��H��H�H�L$(I��I+�L����H�D$ L��L��H�VH��T�L��M��H��H��H��0A_A^_^[�F����蜽�������������H��H�XH�hH�p WH��@I��I��H��H��W�@�H�X�H�X�L�H�H;�t#H��H����O�KH�� H�\$(H�� H;�u�L��H��H���&��H��H�\$XH�l$`H�t$hH��@_����������������H��H�XH�hH�p WH��@I��I��H��H��W�@�H�H�H�H�L�H�H��t$H�cH�cH��H���c��H�� H�\$(H��u�L��H��H��薞�H��H�\$PH�l$XH�t$hH��@_���������������H�\$H�l$H�t$ WH�� I��I��H��H��H;�tH��H���H�ÐH�ǐH;�u�L��H��H������H�l$@H��H�\$8H�t$HH�� _��������H��H�XH�hH�pH�x AVH�� E3�I��H��H��H��toH�Y8H�O3�A���!�
L�7H�ǐL�s�L�s�L�s�L�s�L�s�L�s�L�3L�sL�sL�sL�s L�s(L�s0L�sHH�CPD�s8H���H��u�L��H��H���)��H�\$0H��H�|$HH�l$8H�t$@H�� A^������������H�\$H�t$H�L$WH�� H��H�����L�H��H�D$0H��t)W���C�CH�׻H�H�KH����3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H�\$H�t$ WH�� 3�H��H�H�AH�AH�:H�rH;�tJH��H��������*H+�H��H��H�H��H��?H��}BH����OH���HH��H;�u�H�CH�t$HH��H�\$@H�� _���������H�\$H�t$ WH��0H��3�H�H�AH�AH�:H�rH;�tCH��H+�H�9��8��8H��H��H��H��?H�H���\BH�\$ L��L�H��H�����H�CH��H�\$PH�t$XH��0_����������������H�\$UVWH�� H��3�H�H�OH�OH�2H�jH;�tgH��H��������H+�H��H;�w^H��H��r
H���j���
H��tH���k�H��H�H�H�OH�GH���H��H;�u�H�OH�\$PH��H�� _^]����������������H�\$UVWH��0H��E3�L�L�AL�AH�2H�jH;�tfH��H+�H��H��������H;�w]H��H��r
H��蹙��
H��tH����L��L�L�GJ�H�GH�|$ L��H��H������H�GH��H�\$`H��0_^]��<��������������H�\$WH��0H��H��H�L$ ���B�A�B�A�B�A�B�A�B�A�B�A�B�AH�BH�AH�BH�AH�B H�A H�B(H�A(H��0H�aH�aH��0�f��H�KPH�aH�aH�WP�N��H�KpH�aH�aH�Wp�6��H���H���H���H��t�@H���H���H���H���H��H�\$PH��0_�������������H�\$H�t$ WH��0H��H��H�L$ H�_/H��B�AH��H�aH�aH��蟴�H�W0H�N0����H�Y/H�H�?/H���������������������H���H����q����H��H�\$(H��H���%�H���H���H��HH��H�\$PH�t$XH��0_�������������E3�L�L�AH�H�H�BH�AL�L�BL�AL�AL�A H�BH�AH�BH�AH�B H�A L�BL�BL�B L�A(L�A0L�A8H�B(H�A(H�B0H�A0H�B8H�A8L�B(L�B0L�B8L�A@L�AHL�APH�B@H�A@H�BHH�AHH�BPH�APL�B@L�BHL�BPL�AXL�A`L�AhH�BXH�AXH�B`H�A`H�BhH�AhH��L�BXL�B`L�BhL���L���BpAp����L���Hǂ�D�Bp����H�\$H�L$WH�� H��H�������H�N0H�H��PH��P�����H��hH��h�D��H���H����`�H���H�������������������������������������H���H����<����H��H�\$8H�� _��������������H��(H�	H��t�/��H��(�����������H��(H�	H��t���H��(�����������@SH�� H�H��t5H�H��t-H�SL���n��H�SH+H�H���苕�H�#H�cH�cH�� [��������L�AH�QH�	�0����������������@SH�� H��H�	H��t-H�SL�����H�SH+H�H���� ��H�#H�cH�cH�� [�������������H�\$WH�� H��H��H;�t<H�QH��rH�	H���֔�3�H�K��AH�COKH�OH�G�H��H�\$0H�� _��H�\$H�l$H�t$WH�� H�rH��H�*H�9H+�H�AH��H+�H��H��H;�v���H�;L��H��H���߼
H�l$8H�7H�t$@H�CH��H�\$0H�� _����������������H�H��H�������H�H�����������@SH�� H�#�H��H���t
����H��H�� [������H�\$H�t$WH�� H�rH��H��DH�WH;Wt+H�"H�bH�CH��t�@H�H�H�CH�BH�G�L��H���U%�H��H;�u�H�\$0H�t$8H�� _�������������@USVWATAUAVAWH��$���H��(H��^8H3�H��M��M��H��H��H�U�E3�D�l$DL�	M��I��A�Q8��uL�/L�oL�o�A�I��H��@����L��@H�^M�NL�d$ L��H���H�����W�3���H���H�M��H���H��P@�H���H�D$ L���L��H���H���!��H�M��H��H��PHL��PH��H�D$`H��H�D$hH��H�D$pH�D$`H�E�H�D$xH�E�I�L$H�U��b���H�� H�D$HH��(H�D$PH��0H�D$XH�D$HH�E�H�D$`H�E�I�L$(H�U�����H�E�L�m�D�m�I�G0H�M�H�L$0H�D$(H���H�D$ L���L��H�U�H����H�H�PL�(L�hI�$I�\$I�T$A��H��t+A����CA�uH�H��A����CA�u	H�H��PH�]�H��t,A����CA�uH�H��A����CA�u
H�H��P�H�U�H��rH��H�M��ߐ�I���I+��H�9��8��8H��H��L��I��?L�A����D$0A����D$(D�l$ E3�H�T$HH�����I�L$@H���~��H�L$HH��tH�T$XH+�H���c���K:���H��@H�M�����L�/L�oL�oD�L$@L���H�U�H����A�D�D$DL�
����H�M����H��H��rH��H������L����H��D���H���H��t?L���H�����H���H���H+�H���菏�L���W����H���H��rH��H����a��L���H���D���H��@� �H��H��H3���H��(A_A^A]A\_^[]�����������@SH�� E3�H���H��H�� [�������H�\$ UVWATAUAVAWH��$���H��0H��Z8H3�H��(E��D�L$ M��L���L��H��P3��|$$W�3�H�B�m�D�D�|$$H��p�wH��x@��`L�
��D�ǍWH��`�C��E��$�H��`H������H��H��@��L�
ʩD�Ǎ_��H����E��$�H��H����j��H���H���@���L�
��D�Nj�H���謑�E��$�H���H���� ��W����H���D�L$ L���H���H����k���H���H���H;�tZI�UI;Ut)H�:H�zH�CH��t�@H�H�H�CH�BI�E�L��I����H��H;�u�H���H���D�|$$H��tzH;�tIH�{H��t+����G��uH�H������G��u	H�H��PH��H;�u�H���D�|$$H���H+�H���H��藌�W����3�H����3�L�
x��D�G��H������H���H;�rH��H����E��H����H���@���H��H;�rH��H�����H��H��@��H��xH;�rH��H��`���A8�$��^A8�$���H�u�H�]�@�u�L�
��D��H��H�M�蒏�E��$�H�U�H�M8��H��I���|���H�U�H;�rH��H�M��k��H�]�H�E��E�O_QF@�u�M��$�H�U�H����]H��I���{���H�U�H;���H��H�M�����H��XHDžPDž@O_QF@��D�A�$�H��@H�M����W����H���D�L$ L�E�H�U�H����9i���H���H���H;�tZI�UI;Ut*H�"H�bH�CH��t�@H�H�H�CH�BI}�L��I���6�H�H;�u�H���H���D�|$$H����H;�tQA��H�{H��t+A����GA�uH�H��A����GA�u	H�H��P�H�H;�u�H���D�|$$H���H+�H���H���Ɖ�W����3�H����3�L�
���A�H��H�M��E��H��XH;�rH��H��@�y��H���H��@���H���H���@���H��I��$�H�]xH�KH+H�9��8��8H��H��H��H��?H��M
E3�A�L���HDž�������ޤ���ƅ�E3�I��$�I��$�H+�H��H��t'�H;�tI��H��L;�r��H���H����H��H�L$H���A��D�|$$H��T@H�L$(蜁H��L�j�H���H�L$h���L��L���T$ H�M��=0�A��D�|$$L�-�H�U�H�M8�P��L�L$HL���T$ H�M��
0�A��D�|$$L�R(H�U�H������H��H�xrH�L�@H���謨�H���H��rH��H���诇�3�H���HDž����H�U�H��rH��H�M����H�]�H�E��]�H�UPH��rH��H�M8�Z��H�]HH�EP�]8H�U�H��rH��H�M��5��H�]�H�E��]�H�U�H��r
H��H�L$h���H�\$xH�E��\$hH�T$@H��r
H��H�L$(���H�\$8H�D$@�\$(H�T$`H��r
H��H�L$H輆�I��$�H��H�L$HI9�$��`��A��D�|$$L�D$HH��=H�L$h�j�L���H��H�L$(蕄�I��$�E�H��H��@�i�H��I����v���H�T$@H��r
H��H�L$(�%��H�\$8H�D$@�\$(H�U�H��r
H��H�L$h��H�\$xH�E��\$hH�T$`H��r
H��H�L$H�Ӆ�H��H�L$H�&�A�� D�|$$L�D$HH��<H�L$h��L�ǡH��H�L$(�ƒ�I��$�E�DH��H��X��H��I���u���H�T$@H��r
H��H�L$(�Q��H�\$8H�D$@�\$(H�U�H��r
H��H�L$h�(��H�\$xH�E��\$hH�T$`H��r
H��H�L$H��H��H�L$H�R�A��@D�|$$L�D$HH�
<H�L$h���L��H��H�L$(���I��$�E�DH��H��h���H��I���&u���H�T$@H��r
H��H�L$(�}��H�\$8H�D$@�\$(H�U�H��r
H��H�L$h�T��H�\$xH�E��\$h�|��A��D�|$$L�D$HH�S;H�L$h�	�L�)�H��H�L$(�4��A�H��H��x�^��H��I���st���H�T$@H��r
H��H�L$(�ʃ�H�\$8H�D$@�\$(H�U�H��r
H��H�L$h衃�H�\$xH�E��\$hH�T$`H��r
H��H�L$H�x��H��H�L$H���A��D�|$$L�D$HH��:H�L$h�;�L�k�H��H�L$(�f��A�H��H������H��I���s���H�T$@H��r
H��H�L$(��H�\$8H�D$@�\$(H�U�H��r
H��H�L$h�ӂ�H�\$xH�E��\$hH�T$`H��r
H��H�L$H誂�8\$ �yH��H�L$H���A��	D�|$$I��$�H��T@H�M��{�L��H���H�L$h�L�L���H��H�L$(�w��L�L$HL���T$ H�M��1*�A��
D�|$$H�U�H�}�HCU�L�E�H������H�U�H��r
H��H�M����H�T$@H��r
H��H�L$(�ف�H�d$8H�D$@�D$(H�U�H��r
H��H�L$h讁�H�d$xH�E��D$hH�U�H��rH��H�M�腁�H�e�H�E��E�H�T$`H��r
H��H�L$H�\��H�H��H�L$HH�|0�{��A��D�|$$H��T@H����Sz�L��H���H�M���L�g�H��H�L$h�*�L�L$HL���T$ H�M���(�A��D�|$$L�/�H�U�H�L$(�~�H��H�xrH�L�@H���臡�H�T$@H��r
H��H�L$(莀�H�d$8H�D$@�D$(H�U�H��rH��H�M��d��H�e�H�E��E�H�U�H��r
H��H�L$h�<��H�d$xH�E��D$hH�U�H��rH��H�M����H�e�H�E��E�H���H��rH��H������H���HDž�ƅ��p�%�A��
D�|$$L�D$HH�'�H�L$(��H��H�xrH�L�@H����g��H�T$@H��r
H��H�L$(�n�H�d$8H�D$@�D$(H�T$`H��r
H��H�L$H�B�A�H�ɛH����	���I��$�H���H��rH��H�����H��I��H��HH�KH+H�9��8��8H��H��H��H��?H�H;������D�t$ 3��H��8HDž0�?��� �9���(@��,H�uhH�upH���H�MX�d��L�EXH�� H����V��H��I����n���H��8H��rH��H�� �5~�H�uH�]@�u�H�ʚH�M��z�I���P�D��H�U�H����}��H��I���n���H�UH��rH��H�M���}�E��tkH�u�H�]�@�u�H���H�M��Jz�H�u(H�u0H���H�M葙�L�EH�U�H����MU��H��I���n���H�U�H��rH��H�M��k}�H���H���@���M��$PH��H�]8I�FI+H��H����H��H�����A��D�|$$H��H��I>L��H�H�GH+�H��H���L��I��H�L$H�F�A��D�|$$L���H���H�L$h��{�L���H��H�L$(��z�L�D$HH��H����Z��H�T$@H��r
H��H�L$(�|�H�d$8H�D$@�D$(H�U�H��r
H��H�L$h�V|�H�d$xH�E��D$hH�T$`H��r
H��H�L$H�+|�3��������������tH����H���H�����DuL��H�����R���L��H�����T3H�L$H�s�A��D�|$$L�D$HH��H�M��L��H���H����>S��H��I���l�����T3H�L$H��A��D�|$$�T3H�M���A��D�|$$L�E�H�#H�M����L���H��H�M��Fy�L�D$HH��H�M����L� H��H�M� y�L��H���H����R��H��I���_k���H�UH��rH��H�M��z�3�H�]H�E�]�H�U�H��rH��H�M��z�H�]�H�E��]�H�U�H��rH��H�M��lz�H�]�H�E��]�H�U�H��rH��H�M��Gz�H�]�H�E��]����T3H�L$H�|$ tK���A��D�|$$L�D$HH��H�M���L��H���H����Q��H��I���nj����pH�ExH�A�|D�1��A��D�|$$�T3H�M��i�A��D�|$$L�E�H�d!H�M��{��L�k�H��H�M��w�L�D$HH��H�M��%��L�=�H��H�M�w�L��H���H����P��H��I���i���H�UH��rH��H�M��y�3�H�]H�E�]�H�U�H��rH��H�M���x�H�]�H�E��]�H�U�H��rH��H�M���x�H�]�H�E��]�H�U�H��rH��H�M��x�H�]�H�E��]��,�O�A��D�|$$�T3H�M��8�A��D�|$$L�E�H�3 H�M��J��L�Z�H��H�M��vv�L�D$HH��H�M����L��H��H�M�Pv�L��H���H����O��H��I���h���H�UH��rH��H�M���w�3�H�]H�E�]�H�U�H��rH��H�M��w�H�]�H�E��]�H�U�H��rH��H�M��w�H�]�H�E��]�H�U�H��rH��H�M��ww�H�]�H�E��]�H�T$`H��r4H��H�L$H�Pw��%�T3H���H�����H��I���g���H���H��rH��H����
w�I��H��I��HH�H�GH+�H��L;������L���3�H���H��@���H��@H��H@��0H��xH���@��hH�� H��(@��H��h@8t$ twH����r�L���H��H�L$H�Wu�L���H��H�L$(�rt�H��H���3�H�T$@D�sI;�r
H��H�L$(�v�H�t$8H�\$@@�t$(��A8�$�tvH�ϓ�~r�L���H�ȓH�L$H��t�L�z�H��H�L$(��s�H��H����H�T$@A�I;�r
H��H�L$(�u�H�t$8H�\$@@�t$(�tH�u��r�L���H�r�H�L$H�`t�L��H��H�L$(�{s�H��H���<�H�T$@A�I;�r
H��H�L$(�u�H�t$8H�\$@@�t$(H�T$`I;�r
H��H�L$H�t�L�ƑH��hH�L$H�qs�L���H��H�L$h�r�L��H��H�L$(��r�H��H������H�T$@I;�r
H��H�L$(�t�H�t$8H�\$@@�t$(H�U�I;�r
H��H�L$h�lt�H�t$xH�]�@�t$hH�T$`I;�r
H��H�L$H�Gt�L��H��hH�L$H�r�L���H��H�L$h��q�L�2�H��H�L$(�5r�H��H��0���H�T$@I;�r
H��H�L$(��s�H�t$8H�\$@@�t$(H�U�I;�r
H��H�L$h�s�H�t$xH�]�@�t$hH�T$`I;�r
H��H�L$H�s�9w��W�3��PH��`H���H���@���H���H�����o�H�WH+H��W���PH��`L���H��P����H���I;�rH��H����s�H���H���@���H�H�GH+�H��H���wE3�3�H�у<�:M��$hI��$pI+�H��D�LL;���C�.P�z�Z�H�L$H���A��D�|$$L��H��hH�M���p�L�D$HH��H�L$h���L�g�H��H�L$(�fp�H��PI�H���$��H�T$@H��r
H��H�L$(�r�H�d$8H�D$@�D$(H�U�H��r
H��H�L$h��q�H�d$xH�E��D$hH�U�H��rH��H�M��q�H�e�H�E��E�H�T$`H��r
H��H�L$H�q�H�H��H��I�� H�GH+�H��H��H;�������D�sL���H��PH�L$H���H��H����:��H�T$`I;�r
H��H�L$H�#q�H��PH�� L��0H�L$H跣��H��H��0���H�T$`I;�rH��H�L$H��p�H��P3�H��t?L��PH��X�p�H��`H��PH+�H����p�W���PH��`�O��
�/	������������y������t����L�}�H���H�L$H��n�L��0H��H�L$(��m�H��L9prH�L�@H�����H�T$@I;�r
H��H�L$(��o�H�t$8H�\$@@�t$(�nL��H���H�L$H�Rn�L��0H��H�L$(�}m�H��L9prH�L�@H���p��H�T$@I;�r
H��H�L$(�xo�H�t$8H�\$@@�t$(�L���H���H�L$H��m�L��0H��H�L$(�m�H��L9prH�L�@H����H�T$@I;�r
H��H�L$(�o�H�t$8H�\$@@�t$(�L��H���H�L$H�fm�L��0H��H�L$(�l�H��L9prH�L�@H��脏�H�T$@I;�r
H��H�L$(�n�H�t$8H�\$@@�t$(�H��H�~HD���������t~����
L��H��hH�MX�l�L���H��H�M��k�L���H��H�L$H�/l�H��L9prH�L�@H���Ž�H�L$H�'��H�M����sL�o�H��hH�MX�Cl�L���H��H�M�ok�L���H��H�L$H�k�H��L9prH�L�@H���M��H�L$H貃�H�M訃�H�MX�H�WvI��$�D�@@���A�@�A�����A����A�����B�A����������H�L$HuuL�b�H����vk�L��0H��H�L$(�j�H��L9prH�L�@H��蔍�H�T$@I;�r
H��H�L$(�l�H�t$8H�D$@@�t$(�	L��H��h�k�L�
{H��H�M��j�L���H��H�M��j�L��H��H�M��ij�L��0H��H�L$h��i�L��H��H�L$(�?j�H��L9prH�L�@H���Ҍ�H�T$@I;�r
H��H�L$(��k�H�t$8�H�\$@@�t$(H�U�I;�r
H��H�L$h�k�H�t$xH�]�@�t$hH�U�I;�rH��H�M��k�H�u�H�]�@�u�H�UI;�rH��H�M��lk�H�uH�]@�u�H�U�I;�rH��H�M��Kk�H�u�H�]�@�u���L���H��hH�M��i�L��H��H�M��Ci�L���H��H�L$h�.i�L���H��H�L$(�h�L�U�H��H�MX�i�L��0H��H�M�h�L���H��H�L$H��h�H��L9prH�L�@H���o��H�L$H�Ԁ�H�M�ʀ�H�MX��H�L$(赀�H�L$h誀�H�M�蠀�H�M���B�A��������L���H��hH�M��h�L��H��H�M��:h�L��xH��H�L$h�%h�L���H��H�L$(�g�L�h�H��H�MX�g�L��0H��H�M�g�L�<�H��H�L$H��g�H��L9prH�L�@H���f��H�L$H���H�M��H�MX��H�L$(��H�L$h��H�M�����L�‡H��hH�M��g�L��H��H�M��Jg�L��wH��H�L$h�5g�L���H��H�L$(�f�L�@	H��H�MX�g�L��0H��H�M�f�L���H��H�L$H��f�H��L9prH�L�@H���v��H�L$H��~�H�M��~�H�MX��~�H�L$(�~�H�L$h�~�H�M��~�����L��H��hH�L$h��f�L���H��H�L$(��e�L�tH��H�MX�@f�L��0H��H�M��e�L���H��H�L$H�f�H��L9prH�L�@H��誈�H�L$H�~�H�M�~�H�MX�}�H�L$(��}�H�L$h��}��;H���H����}��HE��L��H��H���=������r�������w�������y������t����L�u�H���H�L$H�e�L��0H��H�L$(�d�H��L9prH�L�@H��誇�H�T$@I;�r
H��H�L$(�f�H�t$8H�\$@@�t$(�2L���H���H�L$H�e�L��0H��H�L$(�Ad�H��L9prH�L�@H���4��H�T$@I;�r
H��H�L$(�<f�H�t$8H�\$@@�t$(�L�y�H���H�L$H�d�L��0H��H�L$(��c�H��L9prH�L�@H��辆�H�T$@I;�r
H��H�L$(��e�H�t$8H�\$@@�t$(�FL���H���H�L$H�*d�L��0H��H�L$(�Uc�H��L9prH�L�@H���H��H�T$@I;�r
H��H�L$(�Pe�H�t$8H�\$@@�t$(��L���H���H�L$H�c�L��0H��H�L$(��b�H��L9prH�L�@H���҅�H�T$@I;�r
H��H�L$(��d�H�t$8H�\$@@�t$(�ZL��H���H�L$H�>c�L��0H��H�L$(�ib�H��L9prH�L�@H���\��H�T$@I;�r
H��H�L$(�dd�H�t$8H�\$@@�t$(��L���H���H�L$H��b�L��0H��H�L$(��a�H��L9prH�L�@H�����H�T$@I;�r
H��H�L$(��c�H�t$8H�\$@@�t$(�qL��H���H�L$H�Ub�L��0H��H�L$(�a�H��L9prH�L�@H���s��H�T$@I;�r
H��H�L$(�{c�H�t$8H�\$@@�t$(H�T$`I;�r
H��H�L$H�Uc�L���H��H���;b�H��H�L$H�)���L��H��H�� ��:��H��I���S��L��H�ʁH�M��a�L���H��H�L$H�a�H��H��������H�L$H�y�H�M�y�H���x�H����x�H��h��x�H��0��x�H�����x�H����x�H�]8H��H�]8M��$PI�FI+H��H;���M��$�I���b
H���mH��I������PH��0�O
H��H��I�������H���3
H��H��I�������H����
�L��H���H������L��~H��H�����_�L��H��H����V��L�f�H��H��p�_�L��H��H��P�,��L�0�H��H��0�_�H��H����E����H��0�w�H��P�{w�H��p�nw�H����aw�H����Tw�H����Gw�H����:w�H���-w�H��0� w�H��I���H;������I���D��H�P�H����$��L��H��H��p�}��L�QH��H��P�^�H��H����f����H��P�v�H��p�v�H����v�H�@H����T�H���H�������L��H���H�����7��H��I���P���H����:v�A��$�uA��$�t73�I��$����H��H��薺�H��I���*�H�����I��$����uFH��~H����	T�A�H���H��0�Ϲ��H��I����O���H����u�H����u�H����}u�H����pu�I��H��(H3���H��$�H��0A_A^A]A\_^]����H�\$WH�� H��H��苊�����t�K���t�K H���H9��tH��蹇�����t�KH��H�\$0H�� _�����������������������������H�\$H�t$ UWATAVAWH�l$�H�� H�*8H3�H�EI��H��E3�L�"L�bL�bL�bL�b L�b(D�b0D�b4E8���KE8���>I���:���t5H���L�@A�\$��H�H�H�H�� I;�u�H�H�_H�_�{W��L$xM��L�e�L��H��H�U�I;�t0I;�tH�H�H��H�U��L��H�L$x���L�E�H�U�H�� ��D��DA�G��M�I��H��H�L$xH+�H��I;�s@�H�\$(I;�t
H�H��H�U��L�D$(H�L$x���L�E�H�U�H�I;�r�H�L$xH�H�H�AA��uH�AH�GH�AH�AH�GH����L+�I��I���yI���I���I9��t~W�3�D$xH�E�H�L$x�E�L�L$xI�H�I�IH�OI�IH�OH���D�3�I��H�H���D�A3�I��H�H���D�B3�I��H�H�U�I+�H��I����H�M�����H���H�E��]W�3�E�H�E�H�U�H�M���B�W�3�D$xH�E�H��D��H�T$0�y���H��H�L$x�}��H�L$8H��tH�T$HH+�H����[�H�L$xH�H�H�AH�GH�AH�GH�U�H+�H���[�W��D$xL�e�H�M�H��tH�U�H+�H����`[�H�M�H��tH�U�H+�H����F[�W�3�E�H�E�H�H�E�H�GH�E�H�GH�E��D$xL�e�D�L$ L�E�H�U�H�L$x豇�H�T$xH�M��ñH�M�H�H�WH�QH�W H�QH�W(H�U�H+�H����Z�H��H�MH3�虗L��$ I�[0I�sHI��A_A^A\_]��������������H�\$�zL����A�xx��H���H�9��8��8H+��H��H��H��H��H��?H���M��PI��XI+�H��H��tuE3�H��t[M�I�PA�@I+�H����x��~K��
~?��~A3�H;�uAE3�H��tA�:u	A�BH;�s*I��I��L;�r�I��I�� L;�r������2�H�\$�����������H�\$WH�� H�UUUUUUUH��H;�wGH�RH��H��r
H����X��3�H��tH���֔H�H�GH�H�\$0H�GH�� _��xw���������H�\$WH�� H���8��8�H��H;�wGH��H��H��r
H���gX��3�H��tH���f�H�H�GH�H�\$0H�GH�� _��w���������H�\$H�t$H�|$AVH�� H��I��H�	M��H��H��t>H�SL��蛒��L�CH�9��8��8L+H�I��H��H��H��?H�H��H���YX�H�;K��H��H�H�CH��H�t$8H��H�H�|$@H�CH�\$0H�� A^���I��L��L��H��I������������������H�y����������H��K��H����W�H�AH9��������H�AH+H�������@SH�� H���r��H��H�� [����������H�\$WH��@H��H�L$0�	�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K衩�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K��H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�)�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K���H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K���H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�I�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�!��H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0���H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�A��H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H��SH��PH�`�L�
LrE3�H�@�H���@�H�H�A�P�V�H�T$ H���@H��qH�H��P[�H��SH��PH�`�L�
TsE3�H�@�H���@�H�H�A�P��U�H�T$ H����H��rH�H��P[�H��SH��PH�`�L�
tsE3�H�@�H���@�H�H�A�P�}U�H�T$ H���H��rH�H��P[�H��SH��PH�`�L�
<rE3�H�@�H���@�H�H�A�P�-U�H�T$ H���PH��qH�H��P[�H��SH��PH�`�L�
DsE3�H�@�H���@�H�H�A�P$��T�H�T$ H���H��rH�H��P[�H��SH��PH�`�L�
,qE3�H�@�H���@�H�H�A�P�T�H�T$ H���H��pH�H��P[�H�\$H�L$WH�� H���8��H��H�D$0H��t&W���C�CH��rH�H�K�����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8�t�H��H�D$0H��t&W���C�CH��rH�H�K����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8��H��H�D$0H��t&W���C�CH�grH�H�K����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8蔊H��H�D$0H��t&W���C�CH��qH�H�K�s����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8�$�H��H�D$0H��t&W���C�CH��qH�H�K�S����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8贉H��H�D$0H��t&W���C�CH��pH�H�K�3����3�W�H�CH�H�_H��H�\$8H�� _�L��I�[WH��`H��8H3�H�D$PH��H��H�L$HI�S�I�c�I�c�I�K��i�H�T$ H������H��lH�H�SH��rH��H��wM�H�cH�C�H��H�L$PH3��7�H��$�H��`_��H�L$SH�� H���F����H�6�H�H�����H������H������H���K���H���#���H�������H��H�� [��@SH�� H�KoH��H���t
�8莈H��H�� [������@SH�� H��oH��H���t
�8�^�H��H�� [������@SH�� H��oH��H���t
�8�.�H��H�� [������@SH�� H�oH��H���t
�8�H��H�� [������@SH�� H�SoH��H���t
�8�·H��H�� [������@SH�� H��nH��H���t
�8螇H��H�� [������@SH��0H�H���D$ �PH��H��0[�H�\$WH��@H��H�L$0�I�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K豝�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0���H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�ќ�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H��SH��PH�`�L�
LnE3�H�@�H���@�H�H�A�P�M�H�T$ H���@H��mH�H��P[�H��SH��PH�`�L�
�mE3�H�@�H���@�H�H�A�P�]M�H�T$ H����H�	mH�H��P[�H�\$H�L$WH�� H���8贄H��H�D$0H��t&W���C�CH��mH�H�K�����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8�D�H��H�D$0H��t&W���C�CH�/mH�H�K���3�W�H�CH�H�_H��H�\$8H�� _�L��I�[WH��`H�8H3�H�D$PH��H��H�L$HI�S�I�c�I�c�I�K��#d�H�T$ H��薞��H�wkH�H�SH��rH��H��H�H�cH�C�H��H�L$PH3��DŽH��$�H��`_��H�L$SH�� H����~���H���H�H�����H������H��H�� [��@SH�� H�KlH��H���t
�8�>�H��H�� [������@SH�� H��kH��H���t
�8��H��H�� [������@SH��0H�H���D$ �PH��H��0[�H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�!��H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H��SH��PH�`�L�
�kE3�H�@�H���@�H�H�A�P�I�H�T$ H���H�1kH�H��P[�H�\$H�L$WH�� H���8�T�H��H�D$0H��t&W���C�CH�_kH�H�K�c����3�W�H�CH�H�_H��H�\$8H�� _�L��I�[WH��`H�%8H3�H�D$PH��H��H�L$HI�S�I�c�I�c�I�K��3a�H�T$ H��覛��H�jH�H�SH��rH��H��E�H�cH�C�H��H�L$PH3��ׁH��$�H��`_��H�L$SH�� H����{���H���H�H������H��H�� [����������@SH�� H�SjH��H���t
�8�N�H��H�� [������@SH��0H�H���D$ �PH��H��0[�H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�a��H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H��SH��PH�`�L�
�iE3�H�@�H���@�H�H�A�P�=G�H�T$ H���H�iiH�H��P[�H�\$H�L$WH�� H���8�~H��H�D$0H��t&W���C�CH��iH�H�K�c����3�W�H�CH�H�_H��H�\$8H�� _�L��I�[WH��`H�e8H3�H�D$PH��H��H�L$HI�S�I�c�I�c�I�K��s^�H�T$ H�����H�GhH�H�SH��rH��H��WB�H�cH�C�H��H�L$PH3��H��$�H��`_��H�L$SH�� H���&y���H���H�H������H��H�� [����������@SH�� H��hH��H���t
�8�}H��H�� [������@SH��0H�H���D$ �PH��H��0[�H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K術�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H��SH��PH�`�L�
hE3�H�@�H���@�H�H�A�P�}D�H�T$ H���H��gH�H��P[�H�\$H�L$WH�� H���8��{H��H�D$0H��t&W���C�CH��gH�H�K�c����3�W�H�CH�H�_H��H�\$8H�� _�L��I�[WH��`H��8H3�H�D$PH��H��H�L$HI�S�I�c�I�c�I�K��[�H�T$ H���&���H�wfH�H�SH��rH��H��?�H�cH�C�H��H�L$PH3��W|H��$�H��`_��H�L$SH�� H���fv���H�6�H�H������H��H�� [����������@SH�� H��fH��H���t
�8��zH��H�� [������H�\$WH��@H��H�L$0���H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K���H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$H�L$WH�� H���8�yH��H�D$0H��t&W���C�CH�_fH�H�K���3�W�H�CH�H�_H��H�\$8H�� _�L��I�[WH��`H�U	8H3�H�D$PH��H��H�L$HI�S�I�c�I�c�I�K��cY�H�T$ H���֓��H�?eH�H�SH��rH��H��G=�H�cH�C�H��H�L$PH3��zH��$�H��`_����������H��SH��P�heH�P�H��H�L$ �
^e�H��
Xef�H�H��H�@�H�@��@��@�����H��dH�H��H��P[�H�L$SH�� H���s���H�JdH�H������H��H�� [��������������@SH�� H��dH��H���t
�8�xH��H�� [������@SH��0H�H���D$ #�PH��H��0[�H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�!��H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H��SH��PH�`�L�
�dE3�H�@�H���@�H�H�A�P�>�H�T$ H���H�dH�H��P[�H�\$H�L$WH�� H���8�TvH��H�D$0H��t&W���C�CH�'dH�H�K�c����3�W�H�CH�H�_H��H�\$8H�� _�L��I�[WH��`H�%8H3�H�D$PH��H��H�L$HI�S�I�c�I�c�I�K��3V�H�T$ H��覐��H��bH�H�SH��rH��H��:�H�cH�C�H��H�L$PH3���vH��$�H��`_��H�L$SH�� H����p���H�vbH�H������H��H�� [����������@SH�� H�cH��H���t
�8�NuH��H�� [������@SH��0H�H���D$ &�PH��H��0[�H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�a��H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�9�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K聊�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0���H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K衉�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�Y�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K��H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H��SH��PH�`�L�
|aE3�H�@�H���@�H�H�A�P�9�H�T$ H���H��`H�H��P[�H��SH��PH�`�L�
�_E3�H�@�H���@�H�H�A�P�M9�H�T$ H���pH�A_H�H��P[�H��SH��PH�`�L�
�_E3�H�@�H���@�H�H�A�P�8�H�T$ H��� H�a_H�H��P[�H��SH��PH�`�L�
`E3�H�@�H���@�H�H�A�P%�8�H�T$ H����H��_H�H��P[�H�\$H�L$WH�� H���8�pH��H�D$0H��t&W���C�CH��`H�H�K�s����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8�oH��H�D$0H��t&W���C�CH��_H�H�K�S����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8�$oH��H�D$0H��t&W���C�CH�_H�H�K�3����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8�nH��H�D$0H��t&W���C�CH�7_H�H�K�����3�W�H�CH�H�_H��H�\$8H�� _�L��I�[WH��`H���7H3�H�D$PH��H��H�L$HI�S�I�c�I�c�I�K��N�H�T$ H������H�/\H�H�SH��rH��H��w2�H�cH�C�H��H�L$PH3��7oH��$�H��`_��H�L$SH�� H���Fi���H���H�H�����H���{���H���S���H������H��H�� [��@SH�� H�C^H��H���t
�8�mH��H�� [������@SH�� H��]H��H���t
�8�nmH��H�� [������@SH�� H��]H��H���t
�8�>mH��H�� [������@SH�� H��]H��H���t
�8�mH��H�� [������@SH��0H�H���D$ �PH��H��0[�H�\$WH��@H��H�L$0�)�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�!��H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������@SH��P�Z]H�T$ �W]H���D$ H�D$8H�D$0�D$(�D$,�H��\H�H��P[���������������H�\$H�L$WH�� H���8�DkH��H�D$0H��t&W���C�CH��\H�H�K�S����3�W�H�CH�H�_H��H�\$8H�� _�L��I�[WH��`H��7H3�H�D$PH��H��H�L$HI�S�I�c�I�c�I�K��#K�H�T$ H��薅��H��[H�H�SH��rH��H��/�H�cH�C�H��H�L$PH3���kH��$�H��`_��H�L$SH�� H����e���H�6[H�H������H��H�� [����������@SH�� H��[H��H���t
�8�>jH��H�� [������@SH��0H�H���D$ *�PH��H��0[�H�\$WH��@H��H�L$0�Y+�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�Q��H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0��*�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�q�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�y*�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�~�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�	*�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�}�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�)�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K��|�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�))�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K��{�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�(�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�{�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�I(�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�1z�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0��'�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�Qy�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�i'�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�qx�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�&�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�w�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�&�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�v�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�&�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K��u�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�%�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K��t�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�9%�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�t�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0��$�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�1s�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�Y$�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�Qr�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0��#�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�qq�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�y#�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�p�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�	#�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�o�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�"�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K��n�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�)"�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K��m�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�!�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�m�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�I!�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�1l�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�� �H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�Qk�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�i �H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�qj�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�i�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�h�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K��g�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K��f�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�9�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�f�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0���H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�1e�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�Y�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�Qd�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0���H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�qc�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�y�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�b�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�	�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�a�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K��`�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�)�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K��_�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�_�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H��SH��PH�`�L�
�BE3�H�@�H���@�H�H�A�P���H�T$ H��� H�ABH�H��P[�H��SH��PH�`�L�
BE3�H�@�H���@�H�H�A�P��H�T$ H����H�aAH�H��P[�H��SH��PH�`�L�
:E3�H�@�H���@�H�H�A�P�M�H�T$ H���H�y9H�H��P[�H��SH��PH�`�L�
T>E3�H�@�H���@�H�H�A�P��H�T$ H���0H��=H�H��P[�H��SH��PH�`�L�
�?E3�H�@�H���@�H�H�A�P%��H�T$ H����H�1?H�H��P[�H��SH��PH�`�L�
$@E3�H�@�H���@�H�H�A�P%�]�H�T$ H���H��?H�H��P[�H��SH��PH�`�L�
�=E3�H�@�H���@�H�H�A�P�
�H�T$ H���@H�Y=H�H��P[�H��SH��PH�`�L�
D>E3�H�@�H���@�H�H�A�P'�
�H�T$ H����H��=H�H��P[�H��SH��PH�`�L�
�9E3�H�@�H���@�H�H�A�P$�m
�H�T$ H���H�9H�H��P[�H��SH��PH�`�L�
�8E3�H�@�H���@�H�H�A�P�
�H�T$ H���PH�8H�H��P[�H��SH��PH�`�L�
�AE3�H�@�H���@�H�H�A�P*���H�T$ H���H��@H�H��P[�H��SH��PH�`�L�
�IE3�H�@�H���@�H�H�A�P�}�H�T$ H���H�)IH�H��P[�H��SH��PH�`�L�
�HE3�H�@�H���@�H�H�A�P"�-�H�T$ H���`H�9HH�H��P[�H��SH��PH�`�L�
�GE3�H�@�H���@�H�H�A�P���H�T$ H���H�QGH�H��P[�H��SH��PH�`�L�
tEE3�H�@�H���@�H�H�A�P,��H�T$ H���H��DH�H��P[�H��SH��PH�`�L�
�>E3�H�@�H���@�H�H�A�P#�=�H�T$ H���pH�)>H�H��P[�H��SH��PH�`�L�
�AE3�H�@�H���@�H�H�A�P(��
�H�T$ H��� H��@H�H��P[�@SH�� �H��D���:H�KEH�H�� [�����������@SH�� �H��D���
H��DH�H�� [�����������@SH�� �H��D����H�cEH�H�� [�����������H��SH��PH�`�L�
�BE3�H�@�H���@�H�H�A�P/�
�H�T$ H���@H�BH�H��P[�H��SH��PH�`�L�
�BE3�H�@�H���@�H�H�A�P/�	�H�T$ H����H�YBH�H��P[�H��SH��PH�`�L�
�=E3�H�@�H���@�H�H�A�P�m	�H�T$ H���H��<H�H��P[�H��SH��PH�`�L�
t@E3�H�@�H���@�H�H�A�P"�	�H�T$ H���PH��?H�H��P[�H��SH��PH�`�L�
�@E3�H�@�H���@�H�H�A�P&���H�T$ H���H�!@H�H��P[�H��SH��PH�`�L�
�=E3�H�@�H���@�H�H�A�P"�}�H�T$ H���H�I=H�H��P[�H��SH��PH�`�L�
<>E3�H�@�H���@�H�H�A�P!�-�H�T$ H���`H��=H�H��P[�H��SH��PH�`�L�
�4E3�H�@�H���@�H�H�A�P���H�T$ H���H�4H�H��P[�H��SH��PH�`�L�
�4E3�H�@�H���@�H�H�A�P��H�T$ H���H�Y4H�H��P[�H��SH��PH�`�L�
�5E3�H�@�H���@�H�H�A�P2�=�H�T$ H���pH�A5H�H��P[�H��SH��PH�`�L�
�4E3�H�@�H���@�H�H�A�P!���H�T$ H��� H�Q4H�H��P[�H�\$H�L$WH�� H���P�D>H��H�D$0H��t&W���C�CH�gFH�H�K�c����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P��=H��H�D$0H��t&W���C�CH��EH�H�K�C����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���h�d=H��H�D$0H��t&W���C�CH�_EH�H�K�s��3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P��<H��H�D$0H��t&W���C�CH��BH�H�K����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P�<H��H�D$0H��t&W���C�CH��CH�H�K����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P�<H��H�D$0H��t&W���C�CH�GCH�H�K�s����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P�;H��H�D$0H��t&W���C�CH��BH�H�K�S����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P�4;H��H�D$0H��t&W���C�CH��BH�H�K�3����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P��:H��H�D$0H��t&W���C�CH�oBH�H�K�����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P�T:H��H�D$0H��t&W���C�CH�o@H�H�K����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P��9H��H�D$0H��t&W���C�CH��?H�H�K����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P�t9H��H�D$0H��t&W���C�CH�BH�H�K���3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���h�9H��H�D$0H��t&W���C�CH�oDH�H�K�#n�3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P�8H��H�D$0H��t&W���C�CH��CH�H�K�#��3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P�$8H��H�D$0H��t&W���C�CH�?CH�H�K���3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���h�7H��H�D$0H��t&W���C�CH��=H�H�K��g�3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���h�D7H��H�D$0H��t&W���C�CH��BH�H�K��v�3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���h��6H��H�D$0H��t&W���C�CH��AH�H�K�V�3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P�d6H��H�D$0H��t&W���C�CH��@H�H�K���3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P��5H��H�D$0H��t&W���C�CH�?H�H�K�s��3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P�5H��H�D$0H��t&W���C�CH��=H�H�K�S��3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P�5H��H�D$0H��t&W���C�CH�w>H�H�K�3��3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���h�4H��H�D$0H��t&W���C�CH�G?H�H�K�33�3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���h�44H��H�D$0H��t&W���C�CH��>H�H�K�CE�3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���`��3H��H�D$0H��t&W���C�CH��=H�H�K�3��3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���`�T3H��H�D$0H��t&W���C�CH�W=H�H�K����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���`��2H��H�D$0H��t&W���C�CH�7=H�H�K���3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P�t2H��H�D$0H��t&W���C�CH��;H�H�K�s��3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P�2H��H�D$0H��t&W���C�CH�?;H�H�K�S��3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P�1H��H�D$0H��t&W���C�CH�:H�H�K�3��3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P�$1H��H�D$0H��t&W���C�CH��:H�H�K���3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P�0H��H�D$0H��t&W���C�CH��:H�H�K����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P�D0H��H�D$0H��t&W���C�CH�9H�H�K����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P��/H��H�D$0H��t&W���C�CH��8H�H�K���3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P�d/H��H�D$0H��t&W���C�CH��5H�H�K���3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P��.H��H�D$0H��t&W���C�CH��5H�H�K�s��3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P�.H��H�D$0H��t&W���C�CH�g5H�H�K�S��3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P�.H��H�D$0H��t&W���C�CH��4H�H�K�3��3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P�-H��H�D$0H��t&W���C�CH�o3H�H�K��C�3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�t$ UWAVH�l$�H���H�g�7H3�H�E?H��H��H�M'H�U73�H�u�H�u�H�M��w
�H�U�H���k�H�+H�D�vL�u�H�u�@�u�H�u�L�u�@�u�L�

 D�ƍVH�M��.��H�uL�u@�uL�
 D�ƍVH�M���H�O(H�1H�qH�qD�M�L�E'H�U����L�
B�V D�FH�M��+�H�SH��rH��H�����H�sL�s@�3H��H�M?H3��-L��$�I�[0I�s8I��A^_]�����������H��H�XH�pWH��PH�`�L�
�.I��H�L$ E3�H�@�H���@�H��H�H�A�P�:��H�T$(H���m���H�&.H�_@H�\$hH�H��H�wHH�t$pH��P_���������L��I�[WH��`H���7H3�H�D$PH��H��H�L$HI�S�I�c�I�c�I�K����H�T$ H���6F��H�'H�H�SH��rH��H����H�cH�C�H��H�L$PH3��g,H��$�H��`_��H�L$SH�� H���v&���H���H�H�����H���;�H�����H������H�����H�����H���s��H���+�H���C�H���;��H�����H������H������H�����H���s���H���K��H�����H�����H������H�����H���c��H���;��H������H������H�����H������H���s��H���K��H�����H�����H������H������H���C��H�����H������H���+��H���C��H���[��H�������H��H�� [����������H�\$WH�� H��H��H�y(H�H�H��t-H�WL���!��H�WH+H�H�������H�'H�gH�gH��H�H�S H��rH�KH�����H�cH�C �CH�\$0H�� _�����@SH�� H�sH��H�H�Q H��rH�IH���W��H�cH�C �CH�� [�@SH�� H��0H��H���t
�P��(H��H�� [������@SH�� H�{0H��H���t
�P�(H��H�� [������@SH�� H�s0H��H���t
�h�~(H��H�� [������@SH�� H��-H��H���t
�P�N(H��H�� [������@SH�� H�#/H��H���t
�P�(H��H�� [������@SH�� H�/H��H���t
�P��'H��H�� [������@SH�� H�/H��H���t
�P�'H��H�� [������@SH�� H�/H��H���t
�P�'H��H�� [������@SH�� H�/H��H���t
�P�^'H��H�� [������@SH�� H�C-H��H���t
�P�.'H��H�� [������@SH�� H��,H��H���t
�P�&H��H�� [������@SH�� H�c/H��H���t
�P��&H��H�� [������@SH�� H�2H��H���t
�h�&H��H�� [������@SH�� H��1H��H���t
�P�n&H��H�� [������@SH�� H�S1H��H���t
�P�>&H��H�� [������@SH�� H�K,H��H���t
�h�&H��H�� [������@SH�� H�k1H��H���t
�h��%H��H�� [������@SH�� H��0H��H���t
�h�%H��H�� [������@SH�� H��/H��H���t
�P�~%H��H�� [������@SH�� H��.H��H���t
�P�N%H��H�� [������@SH�� H�c-H��H���t
�P�%H��H�� [������@SH�� H�K.H��H���t
�P��$H��H�� [������@SH�� H�[/H��H���t
�h�$H��H�� [������@SH�� H�S/H��H���t
�h�$H��H�� [������@SH�� H��.H��H���t
�`�^$H��H�� [������@SH�� H�+.H��H���t
�`�.$H��H�� [������@SH�� H�K.H��H���t
�`�#H��H�� [������@SH�� H��,H��H���t
�P��#H��H�� [������@SH�� H��,H��H���t
�P�#H��H�� [������@SH�� H��+H��H���t
�P�n#H��H�� [������@SH�� H��,H��H���t
�P�>#H��H�� [������@SH�� H��,H��H���t
�P�#H��H�� [������@SH�� H��+H��H���t
�P��"H��H�� [������@SH�� H��+H��H���t
�P�"H��H�� [������@SH�� H��(H��H���t
�P�~"H��H�� [������@SH�� H��(H��H���t
�P�N"H��H�� [������@SH�� H��(H��H���t
�P�"H��H�� [������@SH�� H��(H��H���t
�P��!H��H�� [������@SH�� H��'H��H���t
�P�!H��H�� [������H�\$WH�� ��H��������t
�@H���!H�\$0H��H�� _�������������H�\$WH�� H����H�H�������t
�@H���@!H�\$0H��H�� _���H�\$WH�� H�'��H�H���B�����t
�@H���!H�\$0H��H�� _���H�\$WH�� H�O��H�H��������t
�@H��� H�\$0H��H�� _���H�\$WH�� H����H�H��������t
�@H��� H�\$0H��H�� _���H�\$WH�� H�'��H�H�������t
�@H���@ H�\$0H��H�� _���H�\$WH�� H����H�H���B�����t
�@H��� H�\$0H��H�� _���H�\$WH�� H�o��H�H��������t
�@H���H�\$0H��H�� _���H�\$WH�� H����H�H��������t
�@H���H�\$0H��H�� _���H�\$WH�� H�7��H�H�������t
�@H���@H�\$0H��H�� _���H�\$WH�� H�_��H�H���B�����t
�@H���H�\$0H��H�� _���H�\$WH�� H�G��H�H��������t
�@H���H�\$0H��H�� _���H�\$WH�� H��#��H�H������t
�@H���H�\$0H��H�� _���H�\$WH�� H��"��H�H�����t
�@H���@H�\$0H��H�� _���H�\$WH�� H��!��H�H���B��t
�@H���H�\$0H��H�� _���H�\$WH�� H�g��H�H�����t
�@H���H�\$0H��H�� _���H�\$WH�� H����H�H������t
�@H���H�\$0H��H�� _���H�\$WH�� H����H�H�����t
�@H���@H�\$0H��H�� _���H�\$WH�� H�O��H�H���B��t
�PH���H�\$0H��H�� _���H�\$WH�� H���H�H�����t
�@H���H�\$0H��H�� _���H�\$WH�� H���H�H������t
�@H���H�\$0H��H�� _���H�\$WH�� H�/��H�H�����t
�@H���@H�\$0H��H�� _���H�\$WH�� H���H�H���B��t
�@H���H�\$0H��H�� _���H�\$WH�� H�w��H�H�����t
�@H���H�\$0H��H�� _���H�\$WH�� H����H�H������t
�@H���H�\$0H��H�� _���H�\$WH�� H���H�H�����t
�@H���@H�\$0H��H�� _���H�\$WH�� H����H�H���B��t
�@H���H�\$0H��H�� _���H�\$WH�� H����H�H�����t
�@H���H�\$0H��H�� _���H�\$WH�� H����H�H������t
�@H���H�\$0H��H�� _���H�\$WH�� H���H�H�����t
�@H���@H�\$0H��H�� _���@SH��0H�H���D$ �PH��H��0[�@SH��0D�L$ L�D$,H�T$(3�H��H�H�BH��H�BH�T$(�D$(�&��H��H��0[��������������@SH��Pfob%L�D$<D�L$ 3�H��H�H�BH��H�BH�T$@H�T$(�D$(�D$8����H��H��P[����������������@SH��0D�L$ L�D$,H�T$(3�H��H�H�BH��H�BH�T$(�D$(�v��H��H��0[��������������@SH��0D�L$ L�D$,H�T$(3�H��H�H�BH��H�BH�T$(�D$(�&��H��H��0[��������������@SH��0D�L$ L�D$,H�T$(3�H��H�H�BH��H�BH�T$(�D$(
����H��H��0[��������������@SH��0D�L$ L�D$,H�T$(3�H��H�H�BH��H�BH�T$(�D$(���H��H��0[��������������@SH��0D�L$ L�D$,H�T$(3�H��H�H�BH��H�BH�T$(�D$(�6��H��H��0[��������������@SH��0D�L$ L�D$,H�T$(3�H��H�H�BH��H�BH�T$(�D$(����H��H��0[��������������@SH��0D�L$ L�D$,H�T$(3�H��H�H�BH��H�BH�T$(�D$(	���H��H��0[��������������@SH��0D�L$ L�D$,H�T$(3�H��H�H�BH��H�BH�T$(�D$(�F��H��H��0[��������������@SH��0D�L$ L�D$,H�T$(3�H��H�H�BH��H�BH�T$(�D$( ���H��H��0[��������������@SH��0D�L$ L�D$,H�T$(3�H��H�H�BH��H�BH�T$(�D$(���H��H��0[��������������@SH��@D�L$ L�D$8H�T$(3�fo�!H��H�H��H�BH�BH�T$(�D$(�P��H��H��@[��������@SH��0D�L$ L�D$,H�T$(3�H��H�H�BH��H�BH�T$(�D$(���H��H��0[��������������@SH��0D�L$ L�D$,H�T$(3�H��H�H�BH��H�BH�T$(�D$(���H��H��0[��������������@SH��0D�L$ L�D$,H�T$(3�H��H�H�BH��H�BH�T$(�D$(�f��H��H��0[��������������@SH��@D�L$ L�D$8H�T$(3�fo� H��H�H��H�BH�BH�T$(�D$(���H��H��@[��������H�\$WH�� H��H��������H�����H���H;��u�+��@D��v
;�Du�@�� H��H�\$0H�� _��H�\$WH�� H��H��������v�K���u	���t�K3�8��t�K8��t�K8��t�K8��t�K 8��t�K@���v
8��u�kH��H�\$0H�� _�������H�\$H�t$ UWAVH�l$�H��`H���7H3�H�EPH��H��H�T$ 3�A��H�L$P�K
�H�L$P�L��H�T$(H������H��H�xrH�L�@H�L$`�Q�H��L�5hGI���N�H�T$@H��r
H��H�L$(�G��H���H�L$`H;��uH�s��fN��H�m��XN�H��H�W0�,��I��H���AN���H�L$`��\�H��I���&N�H�ȋ����\�H��I���
N���H�L$`�\�H��I����M�H�ȋ���\�H��I����M���H�L$`�y\�H��I���M�H�ȋ���`\�H��I���M���H�L$`�E\�H��I���M�H�ȋ���,\�H��I���qM���H�L$`�\�H��H�L$h�4=�H�M��ڟ�H��LH�E�H�M����H��H�MPH3���L��$`I�[0I�s8I��A^_]��������������H�\$WH��@H��H�L$0���H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�'�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�i�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K��&�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�&�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�!%�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�A$�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H��SH��PH�`�L�
|E3�H�@�H���@�H�H�A�P���H�T$ H���H��H�H��P[�H��SH��PH�`�L�
<E3�H�@�H���@�H�H�A�P����H�T$ H���0H��H�H��P[�H��SH��PH�`�L�
tE3�H�@�H���@�H�H�A�P�}��H�T$ H����H��H�H��P[�H��SH��PH�`�L�
E3�H�@�H���@�H�H�A�P�-��H�T$ H���H�qH�H��P[�H��SH��PH�`�L�
�E3�H�@�H���@�H�H�A�P����H�T$ H���@H�1H�H��P[�H�\$H�L$WH�� H���8�4H��H�D$0H��t&W���C�CH��H�H�K�#����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8��
H��H�D$0H��t&W���C�CH��H�H�K�����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8�T
H��H�D$0H��t&W���C�CH�?H�H�K����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8��	H��H�D$0H��t&W���C�CH�/H�H�K�����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8�t	H��H�D$0H��t&W���C�CH�H�H�K����3�W�H�CH�H�_H��H�\$8H�� _�L��I�[WH��`H�E�7H3�H�D$PH��H��H�L$HI�S�I�c�I�c�I�K��S��H�T$ H���H�/H�H�SH��rH��H��7��H�cH�C�H��H�L$PH3��	H��$�H��`_��H�L$SH�� H������H�|H�H������H������H�����H�����H�������H��H�� [����������L��I�[WH��`H�U�7H3�H�D$PH��H��H�L$HI�S�I�c�I�c�I�K��c��H�T$ H���V��H��H�H�SH��rH��H��G��H�cH�C�H��H�L$PH3��	H��$�H��`_����������@SH�� H�H��H���t
�8�H��H�� [������@SH�� H�;H��H���t
�8�~H��H�� [������@SH�� H�3H��H���t
�8�NH��H�� [������@SH�� H�cH��H���t
�8�H��H�� [������@SH�� H��H��H���t
�8��H��H�� [������@SH��0H�H���D$ �PH��H��0[�H�\$WH�� H��H������t�/H�\$0H��H�� _�L��I�[I�KUVWAVAWH��@I��H��E3�E�{�L�9L�yL�yL�yL�y L�y(L�y0L�y8�A@$tII��L�qHD�yPD�yXL�y`L�yhL�ypL�yxfD���L���A�G���ǁ�D���L���Hǁ�D���D����D$ I�K��H�H�PL�8L�xH�H�_H�WH��t+A����CA�uH�H��A����CA�u	H�H��PH�\$0H��t+A����CA�uH�H��A����CA�u	H�H��PL�D$xH��H�O�A(���G@$tIL�wHD�PD���H��H��$�H��@A_A^_^]�����H�\$WH��0H��H�L$ �3�H�H�OH�H�PH�WH�H�HH�\$(H��t+����C��uH�H������C��u	H�H��PH�\$@H��H��0_������������H�\$WH��PH��H��I��H�L$0���L�D$0H��H�L$ �0���H�E3�L�GH�H�HH�OL�L�@H�\$(H��t,����C��uH�H������C��u
H�H��P�H�T$HH��r
H��H�L$0�6��H��H�\$`H��P_���������H�\$WH�� H�|H��H�I��H�aH��H�a����H�H���C(�G�C0H�\$@H�� _����������������H�\$WH��PH�g�7H3�H�D$@H�L$ H��H�L$=H��yH���
]�H���-��]�H�cH�L$=H�C�H;�t4H�|$=H��H+�H��wL��H�{H�����	�;�L��E3�H���"��H��H�L$@H3��H�\$pH��P_��������H�\$H�t$H�L$WH�� H��H����lH��H�D$0H��t)W���C�CH�/H�H�KH���(�3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H���H��H��H�D$0H��t,W���C�CH��H�H�KL��H�������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$WH�� H��H��H�H��H��H���ɬ�H�C H�G H�C(H�G(H�C0H�G0�C8�G8H�L�H��C@�G@�CDH�\$0�GDH��H�� _��������H�\$WH�� H��H����H�TuH�������������������H�~uH����������������������������������������������������������������H�\$0���H��H�� _��H�\$H�t$ H�L$WH�� H��H���+���H��qH�H��PH�\$8H��PH���[���H���H�H���H����^(���H��H�\$@H�t$HH�� _�����������H�\$WH�� H�x��H�H��H�Q H��rH�IH������H�cH�C �C@��t
�8H���H��H�\$0H�� _����������������@SH�� H�H��H���t
��N�H��H�� [������@SH�� H��H��H���t
�H��H��H�� [������H�\$H�t$ UWATAVAWH��$P���H��L��H��H�U�E3�D�|$ W�3�H�BH�yL��H��H�M���H�؋V(H�L$(�X��D$ W�fE)M�C)EL�{E�gL�cD�;D$()EL$8)M L�|$8L�d$@D�|$(L�$H��H�M����H�؋V,H�L$H�8X��D$ W�fE@)M0C)E@L�{L�cD�;D$H)EPL$X)M`L�|$XL�d$`D�|$HL��H��H�M���H�؋V0H�L$h��W��D$ ~W�f��)MpC)��L�{L�cD�;D$h)��L$x)��L�|$xL�e�D�|$hM�>M�~M�~D�L$$L���H�U�I���q����D$ L�
�A�W@E�GH�M��!��H�U�H��rH��H�M��Z��L�}�L�e�D�}�H�U�H��rH��H�M��8��L�}�L�e�D�}�H�U�H��rH��H�M����I��L��$�I�[@I�sHI��A_A^A\_]��������H�\$ UVWATAUAVAWH��$���H���M��L��H�U0E3�D�d$4W�3�H�B�^GE�l$D�l$4I���I���H�_H�\$ E3�D�GDH���7H����u��H�\$ E��D�GDH��7H�����t��A����F���H���H�_(H+�A�������H���H+�IH�A�|$H�}(H�E ���E��f�ED�eM���H�UH�M@����H�}�H�E����D$p�|f�D$t�s�D$vD�d$wL��H�T$pH�MP�K����H�}H�EH�DILATIONH�E�D�e�M���H�U�H�M`�����L�e�H�}�D�e�L�
E��E�l$A��H�M��0��E���H�U�H�Mp�K���L�e�H�}�D�e�L�
�
E�čWH�M����L��H�U�H����$����L�e�H�}�D�e�L�
�
E�čWH�M����E���H�U�H����9���H�|$hH�D$`
��
�D$P��
�D$X��
�D$\D�d$]E���H�T$PH��������W��D$8L�d$HD�L$0L���H�U@H�L$8�Ҝ���H�t$@H�\$8H;�tOI�WI;Wt(L�"L�bH�CH��t�@H�H�H�CH�BMo�L��I����O�I�H;�u�H�t$@H�\$8H��tqH;�tJA��H�{H��t+A����GA�uH�H��A����GA�u	H�H��PI�H;�u�H�\$8�H�T$HH+�H���H���{��W��D$8L�d$HL�
f��A�I��H�M@���H�T$hI;�r
H��H�L$P�<��L�d$`H�|$hD�d$PH�U�I;�rH��H�M����L�e�H�}�D�e�H�U�I;�rH��H�M���L�e�H�}�D�e�H�U�I;�rH��H�M��ּ�L�e�H�}�D�e�H�UI;�rH��H�M�赼�L�eH�}D�e�H�U�I;�r
H��H�L$p蓼�L�e�H�}�D�d$pH�U(I;�rH��H�M�q��I��H��$HH���A_A^A]A\_^]����@USVWATAUAVAWH��$����H��HH��7H3�H��0I��H�D$pM��H��L��H�U�3ۉ]�L�	L��I��A�Q8��uH�H�_H�_�W�fo
}�M����H���D�L$xL�E�H�U�H�����I�$M��H�� I��PXA�I��H��`��L��`W��E�H�]�H���L���I;�thL+�I��H��H��������?H;�� H��H��r
H��蝺��H��t
H����3�H�E�H�E�H�H�]�M��H��H����	H�]�3�H�]��E��]�H�e�H�e�H�e�H�e�H�E�H�D$ L���L�E�L�t$pI��I���!��uH�H�_H�_�-W�3���H���I�$M��H���I��PP�I�\$M�ML�t$ L��H���I���U�H���H�D$ L���L��H��I�����L��pH�E�H�e��E�I���I9����M�M0E3�D�l$`D�l$X�D$P�D$H�D$@H�E�H�D$8H���H�D$0H��H�D$(H�\$ L�� I��I���[�H�U�H��rH��H�M�蔹�E8��tpH�D$pI�VHI;VPtH�D$pH�I�FH�L�D$pI�N@�+�I���I9��t0H�D$pI�VHI;VPtH�D$pH�I�FH�L�D$pI�N@�+�D�l$pA�D�|$tI�^@H�SH;StH�D$pH�H�C�
L�D$pH���+�H�D$pH�SH;StH�D$pH�H�C�
L�D$pH���R+�H�D$pH�SH;StH�D$pH�H�C�
L�D$pH���#+���T���H��`H�M������L�/L�oL�oD�L$xL���H�U�H���?��D�}�L�
��M�Ǻ�H�M�����H��H��rH��H�����L���H��D��H���H��rH��H����з�L���H���D���H���H��t?L���H����G�H���H���H+�H���肷�L���W����H��`�D���H��tH���H+�H��H���H��H��H��0H3���H��HA_A^A]A\_^[]��]���������������H�\$UVWH��pA���I��XI��H�l$ H��H�L$PD��H�~7A����A�H�l$ D��H��}7H�L$0�b��H�L$PE3�D�G0L�L�GL�GL�GL�G L�G(D�G4H����x@��H�L$0�G0A�@ H;�H��HG��H��3�H��H��H��u�H�H�z}7D���H�L$0E3�H�l$ ����H�L$0H�U}7H�OA�D���H�L$0H�l$ ���H�L$0H��H�_H��$�H�OH�G H�G(�G4$tIH��p_^]���������������H��3�H�H�`���H�\$H�t$ UWAVH�l$�H��`H�G�7H3�H�EPH��H��H�T$ 3�A��H�L$P��	�H�L$P�_�H�T$(H���n��H��H�xrH�L�@H�L$`�r/�H��L�5(%I���`,�H�T$@H��r
H��H�L$(���H���H�L$`H;��uH�3t�&,��H�-t�,�H��H�W0���I��H���,���H�L$`�:�H��I����+�H�ȋ���:�H��I����+���H�L$`�m:�H��I���+�H�ȋ���T:�H��I���+���H�L$`�9:�H��I���~+�H�ȋ��� :�H��I���e+���H�L$`�:�H��I���J+�H�ȋ����9�H��I���1+���H�L$`��9�H��H�L$h���H�M��}�H�J*H�E�H�M����H��H�MPH3���L��$`I�[0I�s8I��A^_]��������������H�\$UVWAVAWH�l$�H��H�7H3�H�EpH��L��H�L$@3�A��H�L$p���	�H�L$p��\��W@H�L$ ��H��H�xrH�L�@H�M��E-�H��H��"�6*�H�T$8H��r
H��H�L$ �ݲ�WDH�L$ ��H��H�xrH�L�@H�M��,�H��H��"��)�H�T$8H��r
H��H�L$ 荲�3�H�_H��D$ KL$0H�T$ H�L$H��L��H��H�M��)�H�ȋ��q5�H��H�7"�r)�I��I�rI�M�GH���Y,�H��H�"�J)�H�T$`H��r
H��H�L$H����H�� H;��d���I��H�M���H�M�{�H�L(H�EH�M���I��H�MpH3���H��$�H�ĀA_A^_^]�H�\$WH��@H�4}7H3�H��$0H��H��H�L$ 3�A��H�L$0���	�H�L$0�Z�H��H�L$@�s(�H��H��H��H��H���Y(�H��H�S�-��H��H�!�>(�H��H�S���H��H�� �#(�H��H�S��H��H�L$H���H��$��z�H�<'H��$�H��$��o��H��H��$0H3��k�H��$`H��@_�����������@SH��0H��H�L$ �
3�H�CH�C���t4��t!��t��u<L�
���#L�
���L�
o��L�
I�D��H�����H��H��0[���������H��H�XH�hH�p WH��0��H��H�H�3��p�H�A@�1�nH�iD��H�b��=�	@�w�D$ �����������������O�������������t>���"�VH9Wr H��H�rH�H�WL��H�1���L�
%����H9Wr'H��H�rH�H�SOFTRELUH�WH�@�p�L�
���H9Wr,H��H�rH�H�WL��H���H���8�	@�s�xL�
���a�H9Wr"H�H�WD��H�W�H����	@�s�?L�
?��(�H9Wr H��H�rH�H�W�RELU@�p�L�
����H9Wr,H��H�rH�H�WL��H��H����	@�s��L�
����H9WrH��H�rH�H�LOGISTIC����L�
j��{H9or,H��H�rH�H���L��H�oH����	@�s�TL�
��H���:���w���C���������tv��t:����SH9WrH��H�rH�H�W�ASIN����L�
a����H9Wr H��H�rH�H�WL��H�2��L�
&���H9Gr"H�H�GD��H��H���9�	@�s�yL�
�H���_�	H9Wr,H��H�rH�H�WL��H���H�����	@�s	�3L�
{���H9Wr H��H�rH�H�WL��H�H���L�
<���H9orH��H�rH�H����e���L�
���x����H9WrH��H�rH�H�W�SQRT���L�
���H9WrH��H�rH�H�W�SINH�Z���L�
��T���������f���*����������tv��t:����SH9WrH��H�rH�H�W�NONE���L�
�����H9Wr H��H�rH�H�WL��H�q��L�
e���H9WrH��H�rH�H�W�LOG2�y���L�
*��s�H9Wr H��H�rH�H�WL��H����3L�
��<�H9WrH��H�rH�H�W�COSH����L�
���	�H9WrH��H�rH�H�W�ACOS����L�
y����H9Wr H��H�rH�H�WL��H�J��L�
>���	H9Wr H��H�rH�H�WL��H�C��;���L�
7��h���$����������tv��t>���E�SH9Wr H��H�rH�H�WL��H���L�
���H9WrH��H�rH�H�NEGATIVE����L�
����H9WrH��H�rH�H�W�CEIL���L�
����H9Wr H��H�rH�H�WL��H�[����L�
O��k�H9WrH��H�rH�H�W�ATAN�>���L�
��;�H9Wr)H��H�rH�H�WL��H��H�����	@�s�L�
�D��H�����H��H�\$HH�l$PH�t$XH��0_����������������H�\$WH��03�H�L$ H�AH�م�ty��tU��tA��t-��t	H�y@�9�yA�@�9H��L�A�:�	@�{�ZH�Af�Y�KH�Af�X�<A�@�9H��L�A��	@�{�A�@�9H���L�A���	@�{H��H�\$HH��0_�������������@SH��03�H�AH�AH�وH�L$ ��t7��t$��t��u<L�
��P�(L�
���L�
���L�
���D��質�H��H��0[�����������H�\$WH��03�H�L$ H�AH�م�te��tQ��t-��t	H�y@�9�ZA�@�9H���L�A���	@�{�;A�@�9H���L�A���	@�{�H�Af�Y�
H�Af�XH��H�\$HH��0_�H�\$WH��03�H�L$ H��D�G	A;��h�S���D���������������������td��t5���VH�AD�G@�9H�k�H�A��	@�{�>H�AH�6�A�@�9L�A���	@�{�H�BFYX_F16H�AH�AH�@�y��H�AH�A�FYXB@�y��H�AH�A�BYXF��H�AH�A�YXFB��H�AH�A�BFYX미FBH�AH�Af�@�y�f�BF��H�BF8_XY16�F�����
�"������������������tT��tC��tH�AH�y@�9�H�AH���A�
@�9L�A��	@�{
��H�V��H�AH�2�A�@�9L�A�p�	@�{�L�
����TH�AH���A�@�9L�A�8�	@�{�kH�AH���@�9L�A��	@�{	�JL�
r��H�yD��H�A@�9�N���%H�E�H�AA�@�9L�A���	@�{H��H�\$HH��0_����������H�\$WH��0H�L$ H�ك���������������������tqH�A��tE��t53���tH�y@�9��H�L�A�@�9L�A�.�	@�{�3�H�$���H��3�@�9D�GL�A��	@�{�H���3�H�A@�9D�GL�A���	@�{�XH�AH����H�����H�AH����H�AH�r��H�A3�H�A�INT8@�yH��H�\$HH��0_���������������H�\$WH��03�H�L$ H�AH�م�th��tD��t H�y@�9��uoL�
K�D�ǍW�x���[A�@�9H�&�L�A��	@�{�<A�@�9H���L�A���	@�{�A�	@�9H���L�A��	@�{	H��H�\$HH��0_��������������H�\$WH��03�H�L$ H�ك������������������td��t5���H�AD�G@�9H�z�H�A�-�	@�{�eH�M�H�AA�@�9L�A��	@�{�;H��H�AA�@�9L�A���	@�{�H�AH���A�@�9L�A��	@�{��H����H����H���H�AA�
@�9L�A�s�	@�{
���
����tp��t_��tN��t=��
tH�AH�y@�9�xH�AH���A�@�9L�A��	@�{�QH�y��w���H�]�����H�y����H�e����H�AH�SOFT_MAXH�AH�@�yH��H�\$HH��0_��@SH��0H�L$ H��H�A��t ��tH�a�H�a��&H�p��H�W�A��L�A�]�	�CH��H��0[�@SH��0H�L$ A�L�AH�م�t ��tH�a�H�a�� H����H�m��L�A��	�CH��H��0[�����H�\$WH��03�H�L$ H�AH�م�tQ��t-��t	H�y@�9�PA�	@�9H�]�L�A��	@�{	�1A�
@�9H�.�L�A��	@�{
�H�A�NONE@�yH��H�\$HH��0_����������������@SH��0H�L$ H��H�A��t ��tH�a�H�a��&H�h��H�O�A��L�A��	�CH��H��0[�H�\$WH��03�H�L$ H�ٍGH�A��tX��tJ��t)��t	H�y@�9�]H�AH�BILINEARH�@�y�B@�9H�l�L��H�A��	@�{�&H�O��H�
�A�@�9L�A�`�	@�{H��H�\$HH��0_���������������@SH��03�H�AH�AH�وH�L$ ��t��u L�
B��P�L�
��D���Y��H��H��0[�H�\$WH��03�H�L$ H�AH�م�tA��t-��t	H�y@�9�;A�@�9H�u�L�A��	@�{�H�Af�Y�
H�Af�XH��H�\$HH��0_�����H�\$WH��03�H�L$ H�ك�� �	�����������������������te��tA��t3����H���H�AA�@�9L�A���	@�{� H�b���H�AH�A�YXIO@�y�H�AH�A�IYXO��H�AH�A�OYXI��H�AH�A�OIYX미IOH�AH�Af�@�y��OI��H����9�����	������������tc��t0��t����L�
���!L�
����H�AH���@�9A�H�A��	@�{�H���H�AA�@�9L�A��	@�{��H�AH�Q�A�
@�9L�A�g�	@�{
�L�
���}H����L�
}���c����t��tn��t]��tL��t>��t(��t����L�
��&� L�
����L�
����L�
����L�
f��j���L�
:����L�
����L�
���F�������������tw��tf��tS��t@��tH�AH�y@�9�H�AH�[�A�@�9L�A�=�	@�{�~L�
(���YL�
���"�KL�
���%���L�
���#���H�AH�|�A�
@�9L�A��	@�{
�#L�
5��%H�yD��H�A@�9���H��H�\$HH��0_������������H�\$H�t$H�|$AVH�� H��H��A�H;�t;H�QH��rH�	H���՗�H�cL�s�OKH�gL�w�H�w H�{ H;�t;H�WH��rH�H��荗�H�gL�w�NOH�fL�v�H�t$8H��H�\$0H�|$@H�� A^���������������H�\$ WH��0I��H��H�L$ H��KH�H��H�aH�a��H�n�H�H��(H�\$(H��H������H�p�H�H�\$XH��0_�����������H�\$ WH��0I��H��H�L$ H�$KH�H��H�aH�a莲�H���H�H��(H�\$(H��H�����H� �H�H�\$XH��0_�����������L�D$H�L$SVWATAUAVH��HL��L��L��L+!H�AH+H��H��������H;��jL�HL�L$(H�II+H��H��H��H��H+�H;�vH��$�H������2H�
I��I;�HC�H;��#H��H��H��H��$�H��r�"��H��L��$��!H��t��H��L��$��3�H��$�H��$�I��I�4<L�f@L�d$0H�fH�fAAHNI�`�I�@A�H�f0H�f8A@ F AH0N0I�`0I�@8A�@ H�t$ I�VI�L;�uL���M��L��I���qH�|$ I�VI��M��M���Z�L��L�D$(H��I����H��H��HA^A]A\_^[��0����������������H��L�H L�@H�PH�HSVWATAUAVAWH��@M��M��H��H��M��M+�I��L�|$0H�AH�D$ L�)L�l$(L� L�d$8H�QH��I+�H��3�M����L;���I��I+�H��I��������I��H+�L;��N�9L�D$8I+�H��H��H��I��H+�H;�vL��$�H������2H�M��I;�LC�M;���I��H��M��L��$�H��r���H��L��$�L��$��%H��t��H��L��$�L��$�L��$�H�|$ H��H+L$(H��N�,9I��L�L�l$0L��$�H��H�9H��$�L��L��I��I���Xr��H��$�H��$�I��uI;�u
L��H�D$(�L��L��H��H�L$(�`H��$�H��L��M��I��H���D�M��L�D$8H��H����~H��@A_A^A]A\_^[�I��H+�H��M��I��L��I��L;�sYI��I+�M��H����H�F�H��@I�>H���M���H;�u�I�L��H���l���L��L��H��$�H��$��mq���@M�L�D$(H���H�FL��I��H���xl���L��L��H��$�H��$��,q����6����a�����������������H�\$H�t$WH�� I��H��H��H;�tH��H�����H��@H��@H;�u�H�t$8H��H�\$0H�� _���������@SH�� I��H;�tlL+�H�A8E3�E�ZM�T�M�T�@�H�KL�P�H��@L�X�D�P�M�T�M�@�AD�H�AL�L�P�L�D�P�H�@@H�H�H;�u�M��H��H���hk��H��H�� [����������������H�\$H�t$ WH��@H��M�ъT$0M��L�L$pI��H+M�ˆT$ H��I������H��H��HH�H�\$`H�t$hH��@_�����������H��H�XH�hH�p H�HWH�� I��H��H�������H��H�D$0H��t,W���C�CH���H�H�KL��H�������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H��H�XH�hH�p H�HWH�� I��H��H�����E�H��H�D$0H��t,W���C�CH�8�H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��@USVWATAVAWH�l$�H��`H��Z7H3�H�EPI��I��L��L��H�L$@D���3�A��H�L$P豻	�H�L$P�8�H���H�L$`�0�H��H�rH�L�GH���	�H��H��B��3�I�OI�H��H+�H��H��tw��H�TH�L$ �$�H�T$ H�|$8HCT$ L�D$0H�L$`��H��H�d3��H�T$8H��r
H��H�L$ �V��H��H�� I�OI�H��H+�H��H;�r�H+�H��H;�s%H+�A��H�L$`�M�H��H�3�N�H��u�H�-BH�L$`�7�I��H�L$h�
��H�M��W�H�`H�E�H�M�蛳�I��H�MPH3���H��`A_A^A\_^[]����������@USVWATAVAWH�l$�H��`H�:Y7H3�H�EPI��I��L��L��H�L$@D���3�A��H�L$P��	�H�L$P��6�H�ڛH�L$`�p�H��H�rH�L�GH���W�H��H�1A�H�3�I�OI�H��H+�H��H��tw��H�TH�L$ �?#�H�T$ H�|$8HCT$ L�D$0H�L$`��H��H��1���H�T$8H��r
H��H�L$ 薌�H��H�� I�OI�H��H+�H��H;�r�H+�H��H;�s%H+�A��H�L$`��H��H�C1��H��u�H�m@H�L$`�w�I��H�L$h�J��H�M���U�H��H�E�H�M��۱�I��H�MPH3����H��`A_A^A\_^[]����������@USVWATAVAWH�l$�H��`H�zW7H3�H�EPI��I��L��L��H�L$@D���3�A��H�L$P�1�	�H�L$P�25�H��H�L$`��H��H�rH�L�GH����H��H�q?��3�I�OI�H��H+�H��H��tv��H�H�L$ �!�H�T$ H�|$8HCT$ L�D$0H�L$`�?�H��H��/�0�H�T$8H��r
H��H�L$ �׊�H��H�� I�OI�H��H+�H��H;�r�H+�H��H;�s%H+�A��H�L$`��
�H��H��/���H��u�H��>H�L$`��I��H�L$h���H�M��1T�H��H�E�H�M����I��H�MPH3���H��`A_A^A\_^[]�����������@USVWATAVAWH�l$�H��`H��U7H3�H�EPI��I��L��L��H�L$@D���3�A��H�L$P�q�	�H�L$P�r3�H�Z�H�L$`���H��H�rH�L�GH�����H��H��=���3�I�OI�H��H+�H��H��tw��H�TH�L$ ��H�T$ H�|$8HCT$ L�D$0H�L$`�~�H��H�$.�o�H�T$8H��r
H��H�L$ ���H��H�� I�OI�H��H+�H��H;�r�H+�H��H;�s%H+�A��H�L$`�
�H��H��-��H��u�H��<H�L$`��I��H�L$h����H�M��pR�H� �
H�E�H�M��[��I��H�MPH3��[�H��`A_A^A\_^[]����������@SH��0
D�L$ 3�H��H�L$(fo�H�fs�fH~�fI~�H�AH�A�f��H��H��0[�������������@SH�� H��H�I0H��tH�S@H+�H������H�c0H�c8H�c@H�H<H�H�S H��rH�KH��过�H�cH�C �CH�� [���������@SH�� H�QH��H��rH�	H��肇�H�cH�C�H�� [�������������H�\$ UVWH�l$�H���H��H��H�M�3�H�uH�uI��H�M���H�u�H�u�H��H�L$(���L�D$(H���H�M����L�(�H��H�M����L�ML���T$ H�M���.�L��	H�U�H�M'���H�wH�wHOH�p�^H�X@�0H�U�H��rH��H�M�舆�H�u�H�]�@�u�H�U�H��rH��H�M��f��H�u�H�]�@�u�H�U�H��rH��H�M��D��H�u�H�]�@�u�H�U�H��r
H��H�L$(�!��H�u�H�]�@�t$(H�UH��rH��H�M��H��H��$(H���_^]���������H�\$ UVWH�l$�H���H��H��H�M�3�H�uH�uI��H�M蜡�H�u�H�u�H��H�L$(膡�L�D$(H�)�H�M��p�L���H��H�M�蜃�L�ML���T$ H�M��W-�L�?H�U�H�M'�r��H�wH�wHOH�p�^H�X@�0H�U�H��rH��H�M����H�u�H�]�@�u�H�U�H��rH��H�M����H�u�H�]�@�u�H�U�H��rH��H�M��Ą�H�u�H�]�@�u�H�U�H��r
H��H�L$(衄�H�u�H�]�@�t$(H�UH��rH��H�M�~��H��H��$(H���_^]���������H�\$ UVWH�l$�H���H��H��H�M�3�H�uH�uI��H�M���H�u�H�u�H��H�L$(���L�D$(H���H�M����L� �H��H�M����L�ML���T$ H�M���+�L��H�U�H�M'���H�wH�wHOH�p�^H�X@�0H�U�H��rH��H�M�舃�H�u�H�]�@�u�H�U�H��rH��H�M��f��H�u�H�]�@�u�H�U�H��rH��H�M��D��H�u�H�]�@�u�H�U�H��r
H��H�L$(�!��H�u�H�]�@�t$(H�UH��rH��H�M��H��H��$(H���_^]���������H�\$ UVWH�l$�H���H��H��H�M�3�H�uH�uI��H�M蜞�H�u�H�u�H��H�L$(膞�L�D$(H�)�H�M��p�L���H��H�M�蜀�L�ML���T$ H�M��W*�L�?H�U�H�M'�r��H�wH�wHOH�p�^H�X@�0H�U�H��rH��H�M����H�u�H�]�@�u�H�U�H��rH��H�M����H�u�H�]�@�u�H�U�H��rH��H�M��ā�H�u�H�]�@�u�H�U�H��r
H��H�L$(衁�H�u�H�]�@�t$(H�UH��rH��H�M�~��H��H��$(H���_^]���������@USVWAVH�l$�H��H��H��H�T$HA�L�t$hH�D$`��7�D$P��7�D$T3�@�t$UL�t$@H�D$8�r�f�D$(�i��D$*@�t$+H�u�H�u�I��H�M��Ɯ�L�L$PL�D$(H�U�H���?�L�W�H��H�M���~�L�M�L���T$ H�L$p�(�L�}H�T$pH�M��~�H�wH�wHOH�pL�p@�0H�U�H��r
H��H�L$p�G��H�u�L�u�@�t$pH�U�H��rH��H�M��$��H�u�L�u�@�u�H�U�H��rH��H�M����H�u�L�u�@�u�H�U�H��r
H��H�M����H�T$@H��r
H��H�L$(���H�t$8L�t$@@�t$(H�T$hH��r
H��H�L$P��H��H��A^_^[]����������������H�\$UVWAVAWH�l$�H���H�K7H3�H�E/I��I��H��H�UE3�D81uBL���H��H�M���}�L��H��H����|�H�U�H���uH��H�M����dA�L�}'H�EH�jit_typeH�MD�uM9p�
H��H�M���}�L�H��H�M���|�L�EH��H�M��p|�L��H��H�M��|�H��H�EH;�t<H�U'H��rH��H�M�j~�L�uL�}'D�uEOML�wL�D�7H�U�H��rH��H�M��.~�L�u�L�}�D�u�H�U�H��rH��H�M��~�L�u�L�}�D�u�H�U�H��rH��H�M���}�L�u�L�}�D�u�H�U�H��rH��H�M���}�L9v�L�EH���H�M��|�L��H��H�M���{�L��H��H�M��V{�L�nH��H�M��{�H��H�EH;�t<H�U'H��rH��H�M�P}�L�uL�}'D�uEOML�wL�D�7H�U�H��rH��H�M��}�L�u�L�}�D�u�H�U�H��rH��H�M���|�L�u�L�}�D�u�H�U�H��rH��H�M���|�L�u�L�}�D�u�H�U�H��rH��H�M��|�EMKH��H�M/H3��p�H��$H���A_A^_^]����������@USVWAVAWH��$h���H��I��H��H��H�T$HA�L�|$hH�D$`	����D$P����D$XE3�D�t$YL�|$@L�t$8D�t$(L�u`L�uhI��H�MP���L�u@L�uHH��H�M0��L�L$PL�D$(H�UH���G����L��H�\�H�M���L�K�H��H�M���y�L�M0L���T$ H�M��#�L��H�U�H�M��y�L�MPL���T$ H�L$p�_#�L��H�T$pH�Mp�yy�L�vL�vHNL�pL�xD�0H�U�A�_H;�r
H��H�L$p�{�L�u�L�}�D�t$pH�U�H;�rH��H�M���z�L�u�L�}�D�u�H�U�H;�rH��H�M���z�L�u�L�}�D�u�H�U�H;�rH��H�M��z�L�u�L�}�D�u�H�UH;�rH��H�M��z�L�uL�}D�u�H�U(H;�rH��H�M�hz�L�u L�}(D�uH�UHH;�r
H��H�M0�Gz�H�UhH;�r
H��H�MP�1z�H�T$@H;�r
H��H�L$(�z�L�t$8L�|$@D�t$(H�T$hH;�r
H��H�L$P��y�H��H�ĘA_A^_^[]�@USVWAVAWH��$h���H��I��H��H��H�T$HA�L�|$hH�D$`	���D$P���D$XE3�D�t$YL�|$@L�t$8D�t$(L�u`L�uhI��H�MP�S��L�u@L�uHH��H�M0�>��L�L$PL�D$(H�UH������L��H�̇H�M����L���H��H�M��?w�L�M0L���T$ H�M�� �L�JH�U�H�M��w�L�MPL���T$ H�L$p�� �L�S�H�T$pH�Mp��v�L�vL�vHNL�pL�xD�0H�U�A�_H;�r
H��H�L$p�~x�L�u�L�}�D�t$pH�U�H;�rH��H�M��\x�L�u�L�}�D�u�H�U�H;�rH��H�M��;x�L�u�L�}�D�u�H�U�H;�rH��H�M��x�L�u�L�}�D�u�H�UH;�rH��H�M��w�L�uL�}D�u�H�U(H;�rH��H�M��w�L�u L�}(D�uH�UHH;�r
H��H�M0�w�H�UhH;�r
H��H�MP�w�H�T$@H;�r
H��H�L$(�w�L�t$8L�|$@D�t$(H�T$hH;�r
H��H�L$P�cw�H��H�ĘA_A^_^[]�@SH�� H���H��H���t
����H��H�� [������@SH�� H���H��H���t
��農H��H�� [������H�\$WH�� ��H�������t
�pH��芲H�\$0H��H�� _�������������H��SH��PH�`�H��H�L$ H�H�H�@��@��s�D$(H��L$8KH��P[�������������H�\$ UVWATAUAVAWH��$P���H��H��A7H3�H���M��H��H��E3�D�d$4W�3�H�BH�qL��,H��H�L$X�t�H��I�V(H�M��G��D$4W�f� )�C)� L�cE�l$L�kD�#E�)�0M�)�@L�e�L�m�D�e�L���H��H�L$x�	t�H��I�V H�M����D$4W�f�`)�PC)�`L�cL�kD�#E)�pM)��L�eL�mD�eL�%�H��H�M��s�H��M�~A�T$I��H�H�� I;Nu�H�M �9��D$4~W�f��)��C)��L�cL�kD�#E )��M0)��L�e0L�m8D�e L�]*H��H����r�H��I�WI+H��H�M@�
��D$4�W�f��)��C)��L�cL�kD�#E@)��MP)�L�ePL�mXD�e@L��H��H����|r�H��A�~Dv
A�~DA��u�L�d$HL�l$PD�d$8H�P�H�A���HE�H�L$8�9p��D$4�W�f� )�C)� L�cL�kD�#D$8)�0L$H)�@L�d$HL�l$PD�d$8A�VDH����/��H��L�]�H��H����q�L��L���T$0H�M`���D$4�E`)�PMp)�`L�epL�mxD�e`L���HDž�fDžp1L�'L�gL�gD�L$0L���H��H���P���D$4�L�
_���@D�B�H���3��H���H��rH��H����fr�L���L���D���H���H��rH��H����5r�L���L���D���H�T$PH��r
H��H�L$8�r�L�d$HL�l$PD�d$8H���H��rH��H�����q�L���L���D���H���H��rH��H����q�L���L���D���H�U�H��rH��H�M��q�L�e�L�m�D�e�H�U�H��r
H��H�L$x�^q�L�e�L�m�D�d$xH�T$pH��r
H��H�L$X�9q�L�d$hL�l$pD�d$XW�3���H���L��A�V@H�M��wH�H���H���G&�H�M�H��t-L�E�H�U����H�U�H�M�H+�H�����p�L�e�W��E�H�W�D$0�D$ L���L���H�����L��$H��H�L$x�o�H��I�WI+H��H�L$X����D$4�)E�K)M�L�cL�kD�#T$X)U�\$h)]�L�d$hL�l$pD�d$XH�WH;Wt$JI��D�e�R Z0I��D�e�H�G@�L�E�H�����H�U�H�]�A�I;�rH��H�M���o�I;�rH�SH�M���o�H�U�I;�r
H��H�L$x�o�L�l$PH�D$H����D$8���f�D$<D�d$>L���H��H�L$x�n�H��D�d$(�D$ A�L�D$8I��H�L$X�h��)E�K)M�L�cL�kD�#)U�X)]�L�`L�hD� H�WH;Wt$JI��D�e�R Z0I��D�e�H�G@�L�E�H���y��H�U�H�]�I;�rH��H�M��n�I;�rH�SH�M��n�H�T$pI;�r
H��H�L$X�n�L�d$hL�l$pD�d$XH�U�I;�r
H��H�L$x�qn�L�e�L�m�D�d$xH�T$PI;�r
H��H�L$8�Mn�L�l$PH�D$H�m��D$8�f�f�D$<D�d$>L�%H��H�L$x�l�H��D�d$(�D$ A�L�D$8I��H�L$X����)E�K)M�L�cL�kD�#)U�X)]�L�`L�hD� H�WH;Wt$JI��D�e�R Z0I��D�e�H�G@�L�E�H�����H�U�H�]�I;�rH��H�M��`m�I;�rH�SH�M��Nm�H�T$pI;�r
H��H�L$X�6m�L�d$hL�l$pD�d$XH�U�I;�r
H��H�L$x�m�L�e�L�m�D�d$xH�T$PI;�r
H��H�L$8��l�L�l$PH�D$H�
��D$8��f�D$<D�d$>L��H��H�L$x�@k�H��D�d$(D�d$ A�L�D$8I��H�L$X�����)E�K)M�L�cL�kD�#)U�X)]�L�`L�hD� H�WH;Wt$JI��D�e�R Z0I��D�e�H�G@�L�E�H�����H�U�H�]�I;�rH��H�M��l�I;�rH�SH�M���k�H�T$pI;�r
H��H�L$X��k�L�d$hL�l$pD�d$XH�U�I;�r
H��H�L$x�k�L�e�L�m�D�d$xH�T$PI;�r
H��H�L$8�k�L�d$HL�l$PD�d$8H���H�L$8�h�L���H��H�L$x��i�H��D�d$(D�d$ A�L�D$8I��H�L$X���)E�K)M�L�cL�kD�#)E�H)M�L�`L�hD� H�U�H���Ua�H�M��[W���H�T$pI;�r
H��H�L$X��j�L�d$hL�l$pD�d$XH�U�I;�r
H��H�L$x�j�L�e�L�m�D�d$xH�T$PI;�rH��H�L$8�j�H����MW��H��H���H3��K�H��$H�İA_A^A]A\_^]�����������������H�\$ UVWATAUAVAWH��$P���H��H��57H3�H���M��H��H��E3�D�d$4W�3�H�BH�qL�� H��H�L$X�gh�H��I�W(H�M��'��D$4W�f� )�C)� L�cE�l$L�kD�#E�)�0M�)�@L�e�L�m�D�e�L�n�H��H�L$x��g�H��I�W H�M���D$4W�f�`)�PC)�`L�cL�kD�#E)�pM)��L�eL�mD�eL��H��H�M��qg�H��M�wA�T$I��H�H�� I;Ou�H�M ����D$4~W�f��)��C)��L�cL�kD�#E )��M0)��L�e0L�m8D�e L�=H��H�����f�H��I�VI+H��H�M@���D$4�W�f��)��C)��L�cL�kD�#E@)��MP)�L�ePL�mXD�e@L���H��H����\f�H��A�Dv
A�D A��u�L�d$HL�l$PD�d$8H�0�H�!���HE�H�L$8�d��D$4�W�f� )�C)� L�cL�kD�#D$8)�0L$H)�@L�d$HL�l$PD�d$8A�WDH����?��H��L�=�H��H����e�L��L���T$0H�M`����D$4�E`)�PMp)�`L�epL�mxD�e`L���HDž�fDžp1L�'L�gL�gD�L$0L���H��H���gD���D$4�L�
�R���@D�B�H�����H���H��rH��H����Ff�L���L���D���H���H��rH��H����f�L���L���D���H�T$PH��r
H��H�L$8��e�L�d$HL�l$PD�d$8H���H��rH��H����e�L���L���D���H���H��rH��H����e�L���L���D���H�U�H��rH��H�M��ae�L�e�L�m�D�e�H�U�H��r
H��H�L$x�>e�L�e�L�m�D�d$xH�T$pH��r
H��H�L$X�e�L�d$hL�l$pD�d$XW�3���H���L��A�W@H�M��P�H���H���'�H�M�H��t-L�E�H�U����H�U�H�M�H+�H����d�L�e�W��E�H�W�D$0�D$ L���L���H������L��H��H�L$x�b�H��I�VI+H��H�L$X���D$4�)E�K)M�L�cL�kD�#T$X)U�\$h)]�L�d$hL�l$pD�d$XH�WH;Wt$JI��D�e�R Z0I��D�e�H�G@�L�E�H���u��H�U�H�]�A�I;�rH��H�M��c�I;�rH�SH�M��c�H�U�I;�r
H��H�L$x�c�L�l$PH�D$H����D$8���f�D$<D�d$>L���H��H�L$x��a�H��D�d$(�D$ A�L�D$8I��H�L$X�H���)E�K)M�L�cL�kD�#)U�X)]�L�`L�hD� H�WH;Wt$JI��D�e�R Z0I��D�e�H�G@�L�E�H���Y��H�U�H�]�I;�rH��H�M��b�I;�rH�SH�M��b�H�T$pI;�r
H��H�L$X�vb�L�d$hL�l$pD�d$XH�U�I;�r
H��H�L$x�Qb�L�e�L�m�D�d$xH�T$PI;�r
H��H�L$8�-b�L�l$PH�D$H�M��D$8�F�f�D$<D�d$>L��H��H�L$x�`�H��D�d$(�D$ A�L�D$8I��H�L$X�h���)E�K)M�L�cL�kD�#)U�X)]�L�`L�hD� H�WH;Wt$JI��D�e�R Z0I��D�e�H�G@�L�E�H�����H�U�H�]�I;�rH��H�M��@a�I;�rH�SH�M��.a�H�T$pI;�r
H��H�L$X�a�L�d$hL�l$pD�d$XH�U�I;�r
H��H�L$x��`�L�e�L�m�D�d$xH�T$PI;�r
H��H�L$8��`�L�l$PH�D$H���D$8��f�D$<D�d$>L��H��H�L$x� _�H��D�d$(D�d$ A�L�D$8I��H�L$X�����)E�K)M�L�cL�kD�#)U�X)]�L�`L�hD� H�WH;Wt$JI��D�e�R Z0I��D�e�H�G@�L�E�H�����H�U�H�]�I;�rH��H�M���_�I;�rH�SH�M���_�H�T$pI;�r
H��H�L$X�_�L�d$hL�l$pD�d$XH�U�I;�r
H��H�L$x�_�L�e�L�m�D�d$xH�T$PI;�r
H��H�L$8�p_�L�d$HL�l$PD�d$8H���H�L$8��[�L���H��H�L$x��]�H��D�d$(D�d$ A�L�D$8I��H�L$X����)E�K)M�L�cL�kD�#)E�H)M�L�`L�hD� H�U�H���5U�H�M��;K���H�T$pI;�r
H��H�L$X�^�L�d$hL�l$pD�d$XH�U�I;�r
H��H�L$x�^�L�e�L�m�D�d$xH�T$PI;�rH��H�L$8�j^�H����-K��H��H���H3��+�H��$H�İA_A^A]A\_^]�����������������H�\$UVWATAUAVAWH��$p���H��H��)7H3�H���
L��L��H���E3�D�d$0W�3��p
H���
L�A(H��p
�X��W�3�AI�GI�vL�'�H��H���� \�H��I�~0H�|$ E3�E�FlL�-�"7I��H�L$8���H�T$8H�M�����D$0W�f��)��C)��L�cA�D$H�CD�#E�)��M�)�L�e�H�E�D�e�L���H��H�M��~[�H��H�|$ E�L$E�FlI��H�L$8�`��H�T$8H�M��"���D$0W�f� )�C)� L�cA�D$H�CD�#E�)�0M�)�@L�e�H�E�D�e�L���H��H�L$`��Z�H��H�|$ E�L$E�FlI��H�L$8����H�T$8H�M�����D$0~W�f�`)�PC)�`L�cA�D$H�CD�#E�)�pM�)��L�e�H�E�D�e�L�?�H��H����HZ�H��H�|$ E�L$E�FlI��H�L$8�*��H�T$8H�M�����D$0�W�f��)��C)��L�cA�D$H�CD�#E)��M)��L�eH�ED�eL���H��H��`�Y�H��H�|$ A�E��E�FlI��H�L$8���H�T$8H�M �L���D$0�W�f��)��C)��3�H�C�HH�K�E )��M0)�H�E0H�M8�E L�%�H��H��@�Y�H��H�|$ E�l$E��E�FlH��7H�L$8����H�T$8H�M@����D$0�W�f� )�C)� 3�H�C�HH�K�E@)�0MP)�@H�EPH�MX�E@L���H��H�� �mX�H��H�|$ E3�E�FlH�G7H�L$8�M��H�T$@H�M`����D$0�W�f�`)�PC)�`3�H�C�HH�K�E`)�pMp)��H�EpH�Mx�E`L��H��H����W�H��H�|$ E�L$�E�FlH��7H�L$8�
��H�T$@H����n���D$0��W�f��)��C)��3�H�C�HH�K���)����)��H���H������L�h�H��H����!W�H��H�|$ E�L$E�FlH��7H�L$8���H�T$@H�������D$0��W�f��)��C)��3�H�C�HH�K���)����)�H���H������L�ȬH��H����qV�H��H�|$ E�L$�E�FlH�I7H�L$8�O��H�T$@H�������D$0��W�f� )�C)� 3�H�C�HH�K���)�0��)�@H���H������L�(�H��H����U�H��H�|$ E��E�FlL�%�7I��H�L$8���H�T$@H����]���D$0��W�f�`)�PC)�`3�H�C�HH�K���)�p��)��H���H������L���H��H����U�H��H�|$ E��E�FlI��H�L$8��
��H�T$@H������D$0���W�f��)��C)��3�H�C�HH�K��)���)��H��H����L��H��H��`�fT�H��H�|$ E3�E�FlI��H�L$8�J
��H�T$HH�� �	���D$0���W�f��)��C)��3�H�C�HH�K�� )���0)�H��0H��8�� L�[�H��H��@�S�H��H�|$ E�M�E�FlI��H�L$8�	��H�T$HH��@�^���D$0���W�f� )�C)� 3�H�C�HH�K��@)�0�P)�@H��PH��X��@L�ȩH��H�� �S�H��H�|$ E�ME�FlI��H�L$8����H�T$HH��`����D$0���W�f�`)�PC)�`3�H�C�HH�K��`)�p�p)��H��pH��x��`L�5�H��H���fR�H��H�|$ E�e�E��E�FlH�<7H�L$8�B��H�T$HH�������D$0����W�f��)��C)��3�H�C�HH�K���)����)��H���H������L���H��H����Q�H��H�|$ E��E�FlH��7H�L$8���H�T$HH����S��W�f��)��C)��3�H�C�HH�K���)����)�	H���H������L��H��H����
Q�H��H�|$ E3�E�FlH��7H�L$8����H�T$PH������W�f� 	)�	C)� 	3�H�C�HH�K���)�0	��)�@	H���H������L�}�H��H����fP�H��H�|$ E�M�E�FlH�?7H�L$8�E��H�T$PH������W�f�`	)�P	C)�`	3�H�C�HH�K���)�p	��)��	H���H������L��H��H����O�H��H�|$ E�ME�FlH��7H�L$8���H�T$PH���\��W�f��	)��	C)��	3�H�C�HH�K��)��	�)��	H��H����L�]�H��H��`�O�H��H�|$ E��E�FlH��7H�L$8���H�T$PH�� ���W�f��	)��	C)��	E3�L�cA�EH�CD�#� )��	�0)�
L��0H��8D�� L�ʥH��H��@�kN�H��H�|$ E��E�FlH�E7H��P
�I��H��h
H�L$8���W�f� 
)�
C)� 
L�cA�}H�{D�#D$8)�0
L$H)�@
L�d$HH�|$PD�d$8M�'M�gM�gD�L$XL��P
H���I���-���L$0�L�
�;���W1E�EH���載�H��X�_H;�rH��H��@��N�L��PH��XD��@H��xH;�rH��H��`�N�L��pH��xD��`H���H;�rH��H����N�L���H���D���H���H;�rH��H����]N�L���H���D���H���H;�rH��H����-N�L���H���D���H���H;�rH��H����M�L���H���D���H��H;�rH��H����M�L��H��D��H��8H;�rH��H�� �M�L��0H��8D�� H��XH;�rH��H��@�mM�L��PH��XD��@H��xH;�rH��H��`�=M�L��pH��xD��`H���H;�rH��H����
M�L���H���D���H���H;�rH��H�����L�L���H���D���H���H;�rH��H����L�L���H���D���H���H;�rH��H����}L�L���H���D���H��H;�rH��H���ML�L��H��D��H��8H;�rH��H�� �L�L��0H��8D�� H��XH;�rH��H��@��K�L��PH��XD��@H��xH;�rH��H��`�K�L��pH��xD��`H���H;�rH��H����K�L���H���D���H�T$xH;�r
H��H�L$`�aK�L�d$pH�|$xD�d$`H�U�H;�rH��H�M��=K�L�e�H�}�D�e�H���H;�rH��H����K�M�GH��x
H�L$ L��p
H���I�������H��p
�7��I��H���
H3�豇H��$�H�ĐA_A^A]A\_^]�������H�\$H�t$ UWAVH��H��`H�L7H3�H�E�H��H��H�U؃e�W�3�H�BH!H!BH!B�E�L�qH�9I��H+�H��H�@H�t"H��������H;���H����6L�sH�;I;�tv�]�W�3�E�H�E�H�H�H�U��H�V�\$ L�M�L�E�H���K����H�M�H��t.L�E�H�U��D$��H�U�H�M�H+�H���I�W��E�H�e�H��I;�u�H��H�M�H3��{�L�\$`I�[0I�s8I��A^_]��h��H�\$H�t$ UWAUAVAWH��$����H��H�7H3�H��xL��L��H����d$0W�3��`H��pL�A(H��`�����W�3�AI�GI�vL���H��H����G�H��I�~0H�|$ E3�E�FlL�-7I��H�L$8�z^��H�T$8H�L$X����D$0W�f��)��C)��3�H�C�HH�K�D$X)��L$h)��H�D$hH�L$p�D$XL��H��H��x��F�H��H�|$ A�E�FlI��H�L$8��]��H�T$8H�L$x�z���D$0W�f�)�C)�3�H�C�HH�K�D$x)� M�)�0H�E�H�M��D$xL�Q�H��H��X�:F�H��H�|$ A�E�FlI��H�L$8�;]��H�T$8H�M������D$0~W�f�P)�@C)�PH�c�H�C�E�)�`M�)�pH�e�H�E��E�L�*�H��H��8�E�H��H�|$ A�E��E�FlH�7H�L$8�\��H�T$8H�M��7���D$0�W�f��)��C)��H�cA�E
H�C�E�)��M�)��H�e�H�E��E�L���H��H���D�H��H�|$ E�ME�FlH�
7H�L$8�[��H�T$8H�M�����D$0�W�f��)��C)��3�H�C�HH�K�E�)��M�)��H�E�H�M�E�L���H��H����YD�H��H�|$ E3�E�FlH��7H�L$8�Y[��H�T$@H�M�����D$0�W�f�)�C)�3�H�C�HH�K�E�)� M)�0H�EH�M�E�L��H��H����C�H��H�|$ E�M�E�FlH�F7H�L$8�Z��H�T$@H�M�^���D$0�W�f�P)�@C)�P3�H�C�HH�K�E)�`M()�pH�E(H�M0�EL�g�H��H���� C�H��H�|$ E�ME�FlH��7H�L$8�Z��H�T$@H�M8����D$0��W�f��)��C)��3�H�C�HH�K�E8)��MH)��H�EHH�MP�E8L�2�H��H����B�H��H�|$ E��E�FlH�
7H�L$8�Y��H�T$@H�MX�%���D$0��W�f��)��C)��E3�L�kA�EH�CD�+EX)��Mh)��L�mhH�EpD�mXL���H��H�Mx��A�H��H�|$ E�ME�FlH�o
7H��@��X��H��HH�L$8����D$0��W�f�)�C)�L�kA�}H�{D�+D$8)� L$H)�0L�l$HH�|$PD�l$8M�/M�oM�oD�L$4L��@H���I���~ ���D$0��L�
�.���W1E�E
H����,}�H����_H;�rH��H�Mx�`B�L���H���D�mxH���H;�rH��H����3B�L���H���D���H���H;�rH��H����B�L���H���D���H���H;�rH��H�����A�L���H���D���H��H;�rH��H����A�L��H��D���H��0H;�rH��H���sA�L��(H��0D��H��PH;�rH��H��8�CA�L��HH��PD��8H��pH;�rH��H��X�A�L��hH��pD��XH���H;�rH��H��x��@�L���H���D��xH���H;�rH��H����@�I�W�D$4�D$ L��hL��`I�����H��`H��t-L��`H��h����H��pH��`H+�H���W@�I��H��xH3��%}L��$�I�[@I�sHI��A_A^A]_]����������@USVWATAVAWH��$����H��H��7H3�H��pA����H��H�L$(H���H�����>�@�|$ A�L���HDž�H�_VAL_ONEH���E3�D���L�ehL�}`D�}PL���L�EPH��H�L$ ����H��L�xL�`D�8H�UhE�t$I;�rH��H�MP�:?�L�}`L�ehD�}PH���I;�rH��H����?�L���HDž�	�������{����D���L�ehL�}`D�}PL���L�EPH��H�L$ �6�����H��L�xL�`D�8H�UhI;�rH��H�MP�>�L�}`L�ehD�}PH���I;�rH��H����Z>�L�ehH�E`��
�EP��
�ETD�}UEP��M`��L�}`L�ehD�}P@�|$"@�|$ @�|$!H���L���@��LE�H���H�Mp�r<�H���L���@��LE�H���H�MP�L<����������E�3���
�������n��������t����
L�|��H���H��0�,�L��H���H�M��и���H��H�M���1�L��`L��hH��H��P�X�L��PH�UpH������H�U�I;�rH��H�M���<�fo���E�D�}�H�U�I;�rH��H�M��<�fo^��E�D�}�H��HI;�rH��H��0�<�fo2���@D��0�A�H�y�H�M����L���L��H�U�H�L$ �_��H��A�H�UH��P�s���L��H�U�H�L$!豺���L��L��H�U�H�L$"茿���L��@L��HH��H��0��W�L��0H�UpH������H�U�I;�rH��H�M��;�fo]��E�D�}�H�U�I;�rH��H�M��;�fo7��E�D�}�H��hI;�rH��H��P�c;�fo���`D��PH�UI;�rH��H�M��7;�foߗ�ED�}�H�U(I;�rH��H�M�;�fo���E D�}�<
A�H��SH�M�5���L��H��PH�L$!�p����H�U(I;�rH��H�M�:�fob��E D�}L���L���H��H�L$ ����L��H��PH�L$0����H��L���L���H�T$PH�L$"����L��H��H�M����H��H��PH�L$p�/H��L���H�U0H����)�L��L���H��H�M��1H��H��PH�M��,�L��L��H��H��0��0�L�}L�}H��H�M��U�L�E�H�UpH���r���H��HI;�rH��H��0�9�fo>���@D��0H�U�I;�rH��H�M��j9�fo��E�D�}�H�U�I;�rH��H�M��D9�fo��E�D�}�H�UHI;�rH��H�M0�9�foƕ�E@D�}0H�U�I;�r
H��H�L$p�8�fo���E�D�|$pH�U�I;�rH��H�M���8�fox��E�D�}�H�T$hI;�r
H��H�L$P�8�foP��D$`D�|$PH�T$HI;�r
H��H�L$0�~8�fo&��D$@D�|$0H��(I;�rH��H���P8�fo���� D��H��hI;��jH��PH���8��VL���L���H�T$0H�L$"舻���L�� L��(H��H����S�L��H�UpH������H�T$HI;�r
H��H�L$0�7�foW��D$@D�|$0��L����H���H�L$p�
-�H��H�M��-&�L��H���H�L$P����L��H���H�L$0�c����L�� L��(H��H���S�L��H�UpH�������H�T$HI;�r
H��H�L$0�6�fo���D$@D�|$0H�T$hI;�r
H��H�L$P��6�fox��D$`D�|$PH�U�I;�rH��H�M��6�foP��E�D�}�H�U�I;�r
H��H�L$p�6�fo)��E�D�|$p�L�������q���\���@������t���RL����TA�H�OH���W����L���H�U�H����o)�L���L���H��H�M���,H��L��H��0H�L$!�Y����L��H��H�M��I���H��L���H�UH����&�L���L���H��H�M0�t,�L��H��H�L$p����H��A�
H�C�H�M�蚾���L��H��H�L$P�٭���H�T$0H���+L��H�UPH�������H�L$P�q����H�M��g����H�L$p�\����H�M0�R����H�M�H����H�M��>����H��0�1����H�M��'����H�M������H�������~L���H�T$pH����&�L���L���H��H�M��x+H��A�
H�X�H�L$P讽���L��H��H�L$0����H��H���
+L��H�UPH�������H�L$0胬���H�L$P�x����H�M��n����H�L$p�N���A�H��LH��0�:����L���L���H�U�H�L$ ����H��H�M�"�L���H��H�M0�̭��H��L��0H�T$pH�L$!�3����L��H��H�M��#���H��L���L���H�T$PH�L$"���L��H��H�L$0���L�� L��(H��H���$O�L��H�UpH����
���H�T$HI;�r
H��H�L$0�	3�fo���D$@D�|$0H�T$hI;�r
H��H�L$P��2�fo���D$`D�|$PH�U�I;�rH��H�M��2�fo_��E�D�}�H�U�I;�r
H��H�L$p�2�fo8��E�D�|$pH�UHI;�rH��H�M0�i2�fo��E@D�}0H�U(I;�rH��H�M�C2�fo��E D�}H�UI;�rH��H�M��2�foŎ�ED�}�H��HI;��=H��0����L���L�-��L�A��������A+�����tY��tH��t7��t&��t����L�k��LL�O��@L�3��4L���(L����L�߈H�UpH���3���H�UhI;�r
H��H�MP�-1�H���I;�r
H��H�Mp�1�H���I;�rH��H����0�H���I;���H��H�����0���L�L�H�UpH������H�UhI;�r
H��H�MP�0�H���I;�r
H��H�Mp�0�H���I;�rH��H����u0�H���I;�rH��H����Y0�H���I;�rH��H����=0�H��I;��FH��H����0��2L��H�UP��������������������tz��tL���
�L���H�T$PH����6�L���L���H��H�L$0�&�H��H���Z&L��H�UpH���;���H�L$0�Ч���H�L$P���L����"L����L�l��L�S��L�:�H�UpH������H�MP�tE�H�Mp�jE�H����m����H����`����H����S����H����6E�H��H��pH3��kH�ĀA_A^A\_^[]���@USVWAVH�l$�H��A��I��H��L��H�M߃e�H�ΈH�M�-��SH��H�M��G����L��H���H�M��c-��SH��H�M��!����D��L�NjSH�M���I�&I�fI�fD�M�L�EH�U�I������E�L�

E�D�B�H�M��h�H�U�H��rH��H�M���-�H�e�H�E��E�H�U/H��rH��H�M�-�I��H�ĠA^_^[]�������������H�\$WH��0H��H�L$ �	���3�H�H�OH�H�PH�WH�H�HH�\$(H��t+����C��uH�H������C��u	H�H��PH�\$@H��H��0_������������H�\$WH��0H��H�L$ ����3�H�H�OH�H�PH�WH�H�HH�\$(H��t+����C��uH�H������C��u	H�H��PH�\$@H��H��0_������������H��H�XH�pH�x UATAUAVAWH��8���H��D��H��H�M0E3�D�|$ W�3�H�AL�|$`�XH�\$hD�|$PL�
��E��E�gA��H�L$P�0�L���
H�T$PH�M�	���L�|$@H�\$HD�|$0L�
��E��A��H�L$0��/�L�R�H�T$0H�M �����L�?L�L�D�L$$L�E0H�UH���K
���D$ L�
�B�s�D��A��H�M�Jf�H�T$HI;�r
H��H�L$0�+�L�|$@H�\$HD�|$0H�T$hI;�r
H��H�L$P�\+�L�|$`H�\$hD�|$PA��A��D;���H�ExH�D$(�V�H�MX���L$ L�EXH�ЅH�M���L���H��H�Mx�+)�H�؋�H�L$p��L$ L�D$pH���H�M��ª�L���H��H�M���(�L��H��H�M8�n��H��H�D$(H�WH;Wt(L�:L�zH�@H��t�@H�H�H�CH�BLg�L��H���I��H�[H��t,A����CA�uH�H��A����CA�u
H�H��P�H�U�I;�rH��H�M��*�L�}��H�]�D�}�H�U�I;�rH��H�M��)�L�}�H�]�D�}�H�U�I;�r
H��H�L$p��)�L�}�H�]�D�|$pH�UI;�rH��H�M��)�L�}H�]D�}�H�UpI;�rH��H�MX�)��A;��K���L�}�H�]�D�}�L�
e�E�ǺH�M��T-�L�,�H�U�H�MH�?��H��H�D$(H�WH;Wt(L�:L�zH�@H��t�@H�H�H�CH�BLg�L��H�����H�[H��t,A����CA�uH�H��A����CA�u
H�H��R�H�U�I;�rH��H�M��(�H��L��$�I�[8I�s@I�{HI��A_A^A]A\]������������H�\$UVWATAUAVAWH��$���H��0H�"�6H3�H�� M��H��H��(E3�D�|$@L��E�oL��D��L���L���D���L���L���D���L���L���D���L���L���D���L��PL��XD��@L��pL��xD��`L��0L��8D�� L��L��D��L���L���D���A�_E�g+��4	+��H�{+��,+��H+��?H��;��H����#�H��H����#�M��H���H�L$H�&�L�x�H��H�L$ �%�H��H����ܑ��H�T$8I;�r
H��H�L$ ��&�L�|$0L�l$8D�|$ H�T$`I;�r
H��H�L$H�&�H�h�H����#�H�]�H����	#�H�R�H��@�"�H�?�H��`��"�H��H�� ��"�H��H���"�H�B�
H���"�H�~H����"�M��H��H�L$H��$�L�fH��H�L$ �	$�H��H����ʐ��H�T$8I;�r
H��H�L$ �%�L�|$0L�l$8D�|$ H�T$`I;�r
H��H�L$H�%�H�H����
"�H�H����!�H�H��@��!�H��~H��`��!�H��~H�� �!�H��~H���!�H��~H����!���HDžDžlongD���H���H�LONG_MAXH���D���H���H�LONG_MINH���D���H���H�(long) 1H���D���H���H�(long) 0H���D���H��}H��@�� �H��}H��`�� �H�M�
H�� � �H�>�
H��� �H�}H���� ���HDžDžuintD���H���H�UINT_MAXH���D���H���fDž�0H���H�(uint) 1H���D���H���H�(uint) 0H���D���L��P��|��@�|��H�v|f��L�k|��ND��O�L�
T|E��H��`�'�H9�8r5H�� L9�8HC� H��0L��H���
H���mK	D�{�L�
��
E��H��H�� �&�H9�r5H��L9�HC�H��L��H���
H���K	D�{�L�
��
E��H��H���W&�H���r+H���L9��HC��HDž�f�4�L�
G{��H���`�f���U���D��H���A�L���H��zH���kJ	D�{H���r8H���L9��HC��A�L���H��zH���+J	D�{�L�
nzE�ǺH����j%�H���r8H���L9��HC��A�L���H�.zH����I	D�{�L�
zE�ǺH����
%�H���r8H���L9��HC��A�L���H��yH���qI	D�{�L�
�yE�ǺH����$�H9�Xr5H��@L9�XHC�@H��PD��H��yH���I	D�{�L�
nyE��H��@�W$�H9�xr8H��`L9�xHC�`H��pD��H�:yH���H	D�{����L�
"y��HDž�D����<���D���	H���H���D��H�FxH���VH	D�{	�_�H9��r$H���L9��HC��H���f�0�L�
uE��H��H����i#�H9��r5H���L9��HC��H���L��H��wH����G	D�{	�L�
�wE��H��H����#�H9��r5H���L9��HC��H���L��H��wH���zG	D�{	�L�
uwE��H��H����"�L9�Xr&H��@L��PM��H�RwH���2G	D�{�L�
=wE��I��H��@�s"�H9�xr8H��`L9�xHC�`H��pD��H�wH����F	D�{�L�
�v��HDžDžcharD���H���H�CHAR_MAXH���D���H���H�CHAR_MINH���D���H���H�(char) 1H���D���H���H�(char) 0H���D���L��P��u��@��u��H��uf��L��u��ND��O�L�
�uE��H��`�%!�H9�8r5H�� L9�8HC� H��0D��H��
H���E	D�{�L�
��
E��H��H�� �� �H9�r5H��L9�HC�H��L��H���
H���1E	D�{�L�
��
E��H��H���r �H���r(H���L9��HC��HDž�f�1�L�
�7E�ǺH����% �A��H��H�D$ L��L�� H��H���7�L���I��H����~�L��H��H��0��H��(H�D$ L��8L��@H���H��(�7�L�!uI��H�Mh�%�L��(H��H��@�>�H��HH�D$ L��XL��`H���H��H�@7�L�@uI��H�MH���L��HH��H��P���H��hH�D$ L��xL���H���H��h��6�L�gqI��H�M(�s�L��hH��H��`��H���H�D$ L���L���H���H����6�L�qI��H�M��L���H��H��p�3�H���H�D$ L���L���H��@H����56�M��H��pH�M��1�L�1tH��H�M��M�L���H��H������H���H�D$ L���L���H��`H�����5�M��H�ApH�M����L��sH��H�M����L���H��H����Y�H���H�D$ L���L��H�� H����[5�L��oI��H�L$h���L���H��H�����H��H�D$ L��L�� H��H���5�L�qoI��H�����L��H��H�����H�D$HH�D$ L�|$XL�|$`H���H�L$H�4�L��rI��H����6�L�D$HH��H����Q�L��rI��H����
�D��H��H�����t���H��0H�D$ H���H�D$(H�T$ H������D$@L�
2/�A�I��H��0��R�H���I;�rH��H�����L���L���D���H���I;�rH��H������L���L���D���H��I;�rH��H�����L���L��D���H�U�I;�r
H��H�L$h�v�L�|$xL�m�D�|$hH�U�I;�rH��H�M��S�L�}�L�m�D�}�H�U�I;�rH��H�M��2�L�}�L�m�D�}�H�U�I;�rH��H�M���L�}�L�m�D�}�H�UI;�rH��H�M����L�}�L�mD�}�H�U I;�rH��H�M���L�}L�m D�}H�U@I;�rH��H�M(��L�}8L�m@D�}(H�U`I;�rH��H�MH��L�}XL�m`D�}HH���I;�rH��H�Mh�i�L�}xL���D�}hH���I;�rH��H����?�L���L���D���H���I;�rH��H�����L���L���D���H��I;�rH��H�����L��L��D��H��8I;�rH��H�� ��L��0L��8D�� H��xI;�rH��H��`��L��pL��xD��`H��XI;�rH��H��@�O�L��PL��XD��@H���I;�rH��H�����L���L���D���H���I;�rH��H������L���L���D���H���I;�rH��H�����L���L���D���H���I;�rH��H�����L���L���D���H��I;�rH��H���_�H��H�� H3��-QH��$xH��0A_A^A]A\_^]���@SH�� H�م�t0��t$��t��t��u�����	�	��3��\�H��H�� [����H�\$H�l$H�t$WH�� H��I��H�	I��H��H��tH�SL����H�SH+H�H����H�+H��H�H��H�sH�H�l$8H�t$@H�{H�\$0H�� _������������I��L��L��H��I����������������H�\$ H�T$H�L$VWAVH�� L��H��H�qH+1H��H��������H;�w\I��H��H��r�d��3�H��t�fNH��H�\$PL��L��H�WH��L����M��L��H��H��H�\$XH�� A^_^������0���������I��M��L��L��L��I��I������������H�\$ UVWH�l$�H���H��H��H�U�3�H�uH�uI��H�M�<.�L��H�� H�M��8�L��eH��H�M��T�L�ML���U�H�M����L���
H�U�H�M'�+�H�wH�wHOH�p�^H�X@�0H�U�H��rH��H�M���H�u�H�]�@�u�H�U�H��rH��H�M���H�u�H�]�@�u�H�U�H��rH��H�M��}�H�u�H�]�@�u�H�UH��rH��H�M�[�H��H��$H���_^]������H�\$UH�l$�H��H��H�M�H�eH�e'H�M�-�L�EH��dH�M����L��/H��H�M/��H�cH�cHKH�`H�@�H�UH��rH��H�M���H�e�H�E�E�H�U'H��rH��H�M��H��H��$�H�Đ]���H�\$ UVWH�l$�H���H��H��H�U�3�H�uH�uI��H�M�,,�L��H��H�M��(�L��cH��H�M��D�L�ML���U�H�M����L��
H�U�H�M'��H�wH�wHOH�p�^H�X@�0H�U�H��rH��H�M���H�u�H�]�@�u�H�U�H��rH��H�M���H�u�H�]�@�u�H�U�H��rH��H�M��m�H�u�H�]�@�u�H�UH��rH��H�M�K�H��H��$H���_^]������H�\$WH��03�H�L$ H�AH�م�tI��t;��t-��t	H�y@�9�NH��bA�@�9L�A�o7	@�{�/H��b��H��b��A�@�9H��bL�A�>7	@�{H��H�\$HH��0_�������������H�\$ UVWH�l$�H���H��H��H�U�3�H�uH�uI��H�M�L*�L��H��H�M��H
�L�bH��H�M��d�L�ML���U�H�M�� ��L��
H�U�H�M'�;�H�wH�wHOH�p�^H�X@�0H�U�H��rH��H�M���
�H�u�H�]�@�u�H�U�H��rH��H�M��
�H�u�H�]�@�u�H�U�H��rH��H�M��
�H�u�H�]�@�u�H�UH��rH��H�M�k
�H��H��$H���_^]������H�\$UH�l$�H��H��H�M�H�eH�e'H�M�)�L�EH��`H�M���L��+H��H�M/�+�H�cH�cHKH�`H�@�H�UH��rH��H�M���H�e�H�E�E�H�U'H��rH��H�M��H��H��$�H�Đ]���H�\$ UVWH�l$�H���H��H��H�U�3�H�uH�uI��H�M�<(�L��H��H�M��8�L��_H��H�M��T
�L�ML���U�H�M����L���
H�U�H�M'�+
�H�wH�wHOH�p�^H�X@�0H�U�H��rH��H�M���H�u�H�]�@�u�H�U�H��rH��H�M���H�u�H�]�@�u�H�U�H��rH��H�M��}�H�u�H�]�@�u�H�UH��rH��H�M�[�H��H��$H���_^]������H�\$UH�l$�H��H��H�M�H�eH�e'H�M�'�L�EH��^H�M����L��)H��H�M/�	�H�cH�cHKH�`H�@�H�UH��rH��H�M��
�H�e�H�E�E�H�U'H��rH��H�M�
�H��H��$�H�Đ]���H�\$UH�l$�H��H��H�M�H�eH�e'H�M�4&�L�EH�^H�M����L��
H��H�M/�K�H�cH�cHKH�`H�@�H�UH��rH��H�M���	�H�e�H�E�E�H�U'H��rH��H�M�	�H��H��$�H�Đ]���L��H�QH;QtVE3�L�JL�JAA�AAHJM�HI�@E�L�J0L�J8A@ B AH0J0M�H0I�@8E�H H�A@���r����������@SH��0H�bH��H�bH�T$ H��H���$�H��H��0[�����@USVWAVH�l$�H��PI��H��H��H�L$HE3�L�u L�u(I��H�M�$�L�uL�uH��H�M��$�L�t$8L�t$@H��H�L$(�$�L�D$(H�.H�M��u��L�Q\H��H�M���L�M�L���T$ H�L$p�[��L��
H�T$pH�M��u�L�ML���T$ H�L$P�/��L��
H�T$PH�M0�I�L�vL�vHNL�pA�^H�XD�0H�T$hH��r
H��H�L$P���L�t$`H�\$hD�t$PH�U�H��rH��H�M���L�u�H�]�D�u�H�U�H��r
H��H�L$p��L�u�H�]�D�t$pH�U�H��rH��H�M��q�L�u�H�]�D�u�H�U�H��rH��H�M��O�L�u�H�]�D�u�H�T$@H��r
H��H�L$(�+�L�t$8H�\$@D�t$(H�UH��r
H��H�M���H�U(H��rH��H�M���H��H��PA^_^[]���������������H�\$WH��0H�L$ H��H�A������������������tw��tb��tM��t53���tH�y@�9��H���A�@�9L�A��.	@�{�H�A�half�H�A�long�xH�A�uint�h3�H�U�@�9D�GL�A�.	@�{�O3�H��Y@�9D�GL�A�n.	@�{�03�H�wY�f���3�H���X���H�A�char3�@�yH��H�\$HH��0_�����������H��H�XWH��P)p�H�.�6H3�H��$0(�H��H�L$ �t$ (��<
�f;�u9(��<
H�cH�C�H�
QYH�ZY��HE�H������3�A��H�L$0�1	��H�L$0衮�H�1YH�L$@�|�H�HcQ�L�������L�T$ H��誊�H��H���
��{�H��XH�L$@��{�H�HcQ�L��
���L(�H���h�H��H��X�{�H��H�L$H�|k�H��$����H��z
H��$�H��$��*�H��H��$0H3��@L��$PI�[ A(s�I��_��������L��I�[I�KUVWAVAWH��@I��H��E3�E�{�L�9L�yL�yL�yL�y L�y(L�y0L�y8�A@$tII��L�qHD�yPD�yXL�y`L�yhL�ypL�yxfD���L���A�G���ǁ�D���L���Hǁ�D���D����D$ I�K��H�H�PL�8L�xH�H�_H�WH��t+A����CA�uH�H��A����CA�u	H�H��PH�\$0H��t+A����CA�uH�H��A����CA�u	H�H��PL�D$xH��H�O�qa���G@$tIL�wHD�PD���H��H��$�H��@A_A^_^]�����H�\$H�t$H�L$WH�� H��H�����=H��H�D$0H��t)W���C�CH�^H�H�KH���(�3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H�\$WH�� H��H���K=��H���H����������������������������������������������������������������������H�\$0���H��H�� _����@SH�� H�]H��H���t
���<H��H�� [������H�\$ UVWATAUAVAWH��$��H�� M��L��H�UPE3�D�d$4W�3�H�B�^(E�l$D�l$4I���I���H�_H�\$ E3�D�GDH��6H������H�\$ E��D�GDH���6H�����A����F���H���H�_(H+�A�������H��H+�IH�A�|$H�}HH�E@��K�E0��Kf�E4D�e6M���H�U0H�M`�6���H�}�A�|$H�}���K�E���Kf�E���K�E�D�e�L��H�U�H�Mp�_6����wH�u(H�E H�DILATIONH�ED�eM���H�UH����&6���L�eH�uD�e�L�
"KE��E�l$A��H�M��>�E���H�U�H����VZ���L�e�H�u�D�e�L�
�JE�čWH�M���L��H�U�H����/6���L�e�H�u�D�e�L�
�JE�čWH�M����E���H�U�H����D[���H�u�H�E�
�wZ�D$p�sZ�D$x�mZ�D$|D�d$}E���H�T$pH����Z���H�t$hH�|$`�?Z�D$P�8Zf�D$T�/Z�D$VD�d$WE��A���A��H�T$PH����X���W��D$8L�d$HD�L$0L���H�U`H�L$8����H�t$@H�\$8H;�tOI�WI;Wt(L�"L�bH�CH��t�@H�H�H�CH�BMo�L��I��蒏�I�H;�u�H�t$@H�\$8H��tlH;�tEA��H�{H��t+A����GA�uH�H��A����GA�u	H�H��PI�H;�u�H�\$8H�T$HH+�H���H���=��W��D$8L�d$HL�
(�A�I��H�M`��7�H�T$hI;�r
H��H�L$P��L�d$`�H�\$hD�d$PH�U�I;�r
H��H�L$p���L�e�H�]�D�d$pH�U�I;�rH��H�M���L�e�H�]�D�e�H�U�I;�rH��H�M���L�e�H�]�D�e�H�UI;�rH��H�M��p��L�eH�]D�e�H�U(I;�rH��H�M�O��L�e H�](D�eH�U�I;�rH��H�M��.��L�e�H�]�D�e�H�UHI;�rH��H�M0�
��I��H��$xH�� A_A^A]A\_^]����������������@USVWATAUAVAWH��$����H��XH�u�6H3�H��@L�L$xM��H��L��H�U�3ۉ]�W�fo
1H�M��E� ���H���D�L$pL�E�H�U�H����m��I�$M��H��0I��PPD�CI��H��p�5����L��pW��E�H�]�H���L���I;�thL+�I��H��H��������?H;���H��H��r
H���L���H��t
H���M6�3�H�E�H�E�H�H�]�M��H��H���<#	H�]�3�H�]��E��]�H�e�H�e�H�e�H�e�H�E�H�D$ L���L�E�L�t$xI��I����W��uH�H�^H�^�W�3���H���I�$M��H���I��PH�I�\$M�OL�t$ L��H���I���D�H���H�D$ L���L��H��I���:�L���H�E�H�e��E�I���I9����M�M0E3�D�|$`D�|$X�D$P�D$H�D$@H�E�H�D$8H���H�D$0H��H�D$(H�\$ L��0I��I���
@�H�U�H��rH��H�M��C��H�D$xI�VHI;VPtH�D$xH�I�FH�L�D$xI�N@�k�E8��t4D�|$x�D$|I�VHI;VPtH�D$xH�I�FH�L�D$xI�N@�vk���d���H��pH�M��6I���L�>L�~L�~D�L$pL���H�U�H���V����E�L�
cU��D����H�M��"3�H��(H��rH��H���U��L�� �H��(D��H��H��rH��H������L��H��D���H���H��t?L���H������H���H���H+�H������L���W����H��p�T���H��tH���H+�H��H����H��H��@H3��e4H��XA_A^A]A\_^[]���������������H��H�hH�p WATAVH��pI��M��E��DL�%��6H��H�h�I��H�H�A�諫��E��DH�L$0A�H�l$ I��茫��H�L$PE3�D�G0L�L�GL�GL�GL�G L�G(D�G4I����x@��H�L$0�G0A�@ H;�H��HG��H��3�H��H��H��u�H�E3�E��DH�L$0I��H�l$ ����H�D$0H�L$0H�GA�E��DI��H�l$ ���E��DH�L$PA�H�l$ I���Ȫ��H�L$0L�\$pH�L$PI�k H��H�wI�s8H�OH�G H�G(�G4$tII��A^A\_������H�\$H�t$ UWAVH�l$�H��`H���6H3�H�EPH��H��H�T$ 3�A��H�L$P�K"	�H�L$P�L��H�T$(H���&���H��H�xrH�L�@H�L$`�o�H��L�5he
I���l�H�T$@H��r
H��H�L$(�G��H���H�L$`H;��uH�s��fl��H��P�Xl�H��H�W0�,��I��H���Al���H�L$`��z�H��I���&l�H�ȋ����z�H��I���
l���H�L$`�z�H��I����k�H�ȋ���z�H��I����k���H�L$`�yz�H��I���k�H�ȋ���`z�H��I���k���H�L$`�Ez�H��I���k�H�ȋ���,z�H��I���qk���H�L$`�z�H��H�L$h�4[�H�M��ڽ�H��j
H�E�H�M����H��H�MPH3���0L��$`I�[0I�s8I��A^_]��������������H�\$WH��@H��H�L$0�I�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�E�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0���H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K��D�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H��SH��PH�`�L�
�NE3�H�@�H���@�H�H�A�P��H�T$ H���@H�)NH�H��P[�H��SH��PH�`�L�
�NE3�H�@�H���@�H�H�A�P�m��H�T$ H����H�QNH�H��P[�H�\$H�L$WH�� H���8��,H��H�D$0H��t&W���C�CH��NH�H�K�����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8�T,H��H�D$0H��t&W���C�CH�?NH�H�K���3�W�H�CH�H�_H��H�\$8H�� _�L��I�[WH��`H�%�6H3�H�D$PH��H��H�L$HI�S�I�c�I�c�I�K��3�H�T$ H���&��H�?LH�H�SH��rH��H����H�cH�C�H��H�L$PH3���,H��$�H��`_��H�L$SH�� H����&���H�ΩH�H������H�������H��H�� [��@SH�� H�MH��H���t
�8�N+H��H�� [������@SH�� H�MH��H���t
�8�+H��H�� [������@SH��0H�H���D$ �PH��H��0[�H�\$WH��@H��H�L$0�I�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�1A�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0���H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�Q@�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H��SH��PH�`�L�
�KE3�H�@�H���@�H�H�A�P�-��H�T$ H���@H�1KH�H��P[�H��SH��PH�`�L�
�KE3�H�@�H���@�H�H�A�P����H�T$ H����H�IKH�H��P[�H�\$H�L$WH�� H���8�4(H��H�D$0H��t&W���C�CH�gKH�H�K�����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8��'H��H�D$0H��t&W���C�CH�KH�H�K���3�W�H�CH�H�_H��H�\$8H�� _�L��I�[WH��`H���6H3�H�D$PH��H��H�L$HI�S�I�c�I�c�I�K���H�T$ H���B��H�WIH�H�SH��rH��H����H�cH�C�H��H�L$PH3��G(H��$�H��`_��H�L$SH�� H���V"���H��H�H�������H��H�� [��H�L$SH�� H���&"���H��H�H������H��H�� [����������@SH�� H��IH��H���t
�8�&H��H�� [������@SH�� H��IH��H���t
�8�^&H��H�� [������@SH��0H�H���D$ ,�PH��H��0[�H�\$WH��@H��H�L$0�)�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�q<�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������@SH��P�IH�T$ ��HH���D$ �D$(H�D$8H�D$0	�D$)�>���H�oHH�H��P[���������������H�\$H�L$WH�� H���8�$H��H�D$0H��t&W���C�CH��HH�H�K�S����3�W�H�CH�H�_H��H�\$8H�� _�H�L$SH�� H������H���H�H���+����H��H�� [��@SH�� H�HH��H���t
�8�.$H��H�� [������@SH��0H�H���D$ !�PH��H��0[�H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�A:�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�a9�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�9�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�8�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0���H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�7�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�Y�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�6�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0���H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K��5�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�y�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�5�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�	�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�!4�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�A3�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�)�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�a2�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�1�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�I�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�0�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0���H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�/�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�i�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K��.�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�
�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�.�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�
�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�!-�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�
�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�A,�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H��SH��PH�`�L�
|BE3�H�@�H���@�H�H�A�P���H�T$ H��� 
H��AH�H��P[�H��SH��PH�`�L�
AE3�H�@�H���@�H�H�A�P����H�T$ H����H��@H�H��P[�H��SH��PH�`�L�
�9E3�H�@�H���@�H�H�A�P�}��H�T$ H���H�)9H�H��P[�H��SH��PH�`�L�
�?E3�H�@�H���@�H�H�A�P'�-��H�T$ H���0H�Q?H�H��P[�H��SH��PH�`�L�
\=E3�H�@�H���@�H�H�A�P����H�T$ H����H��<H�H��P[�H��SH��PH�`�L�
D8E3�H�@�H���@�H�H�A�P���H�T$ H���H��7H�H��P[�H��SH��PH�`�L�
�9E3�H�@�H���@�H�H�A�P(�=��H�T$ H���
H�i9H�H��P[�H��SH��PH�`�L�
�8E3�H�@�H���@�H�H�A�P!����H�T$ H����
H�!8H�H��P[�H��SH��PH�`�L�
�9E3�H�@�H���@�H�H�A�P'���H�T$ H���
H�a9H�H��P[�H��SH��PH�`�L�
�<E3�H�@�H���@�H�H�A�P%�M��H�T$ H���	H�Q<H�H��P[�H��SH��PH�`�L�
$=E3�H�@�H���@�H�H�A�P$���H�T$ H���
H��<H�H��P[�H��SH��PH�`�L�
�:E3�H�@�H���@�H�H�A�P���H�T$ H���	H�:H�H��P[�H��SH��PH�`�L�
d;E3�H�@�H���@�H�H�A�P%�]��H�T$ H���`	H��:H�H��P[�H��SH��PH�`�L�
|9E3�H�@�H���@�H�H�A�P�
��H�T$ H���	H��8H�H��P[�H��SH��PH�`�L�
�>E3�H�@�H���@�H�H�A�P ���H�T$ H���H�>H�H��P[�H��SH��PH�`�L�
<=E3�H�@�H���@�H�H�A�P �m��H�T$ H���pH��<H�H��P[�H��SH��PH�`�L�
8E3�H�@�H���@�H�H�A�P���H�T$ H��� H�q7H�H��P[�H�\$H�L$WH�� H���P�tH��H�D$0H��t&W���C�CH�@H�H�K�c����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P�H��H�D$0H��t&W���C�CH�O?H�H�K�C����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P�H��H�D$0H��t&W���C�CH��<H�H�K�#����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P�$H��H�D$0H��t&W���C�CH�G>H�H�K�����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P�
H��H�D$0H��t&W���C�CH�7=H�H�K����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P�D
H��H�D$0H��t&W���C�CH��;H�H�K�����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P��H��H�D$0H��t&W���C�CH��;H�H�K����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P�dH��H�D$0H��t&W���C�CH��:H�H�K����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P��H��H�D$0H��t&W���C�CH��:H�H�K�c����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P�H��H�D$0H��t&W���C�CH�;H�H�K�C����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P�H��H�D$0H��t&W���C�CH��:H�H�K�#����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P�
H��H�D$0H��t&W���C�CH��9H�H�K�����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P�4
H��H�D$0H��t&W���C�CH��9H�H�K����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P��	H��H�D$0H��t&W���C�CH��8H�H�K�����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P�T	H��H�D$0H��t&W���C�CH�:H�H�K����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P��H��H�D$0H��t&W���C�CH�W9H�H�K����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P�tH��H�D$0H��t&W���C�CH�7H�H�K�c����3�W�H�CH�H�_H��H�\$8H�� _�L��I�[WH��`H�E�6H3�H�D$PH��H��H�L$HI�S�I�c�I�c�I�K��S��H�T$ H���VH�.H�H�SH��rH��H��7��H�cH�C�H��H�L$PH3��H��$�H��`_����������H�\$H�t$ UWAVH�l$�H���H���6H3�H�E?H��H��H�M'H�U73�H�u�H�u�H�M����H�U�H������H�c+H�D�vL�u�H�u�@�u�H�u�L�u�@�u�L�
=�D�ƍVH�M��^��H�uL�u@�uL�
:�D�ƍVH�M�;��H�O(H�1H�qH�qD�M�L�E'H�U�����L�
r��V D�FH�M����H�SH��rH��H����H�sL�s@�3H��H�M?H3���L��$�I�[0I�s8I��A^_]���H�L$SH�� H�������H���H�H�����H����H���s�H����H���C�H���;�H����H�����H����H����H�����H�����H����H�����H����H�����H���#��H��H�� [����������H�\$WH�� H��)H��H�y(H�H�H��t-H�WL���!��H�WH+H�H�������H�'H�gH�gH���H�H�S H��rH�KH�����H�cH�C �CH�\$0H�� _�����@SH�� H��5H��H���t
�P�H��H�� [������@SH�� H�35H��H���t
�P��H��H�� [������@SH�� H�#3H��H���t
�P�H��H�� [������@SH�� H��4H��H���t
�P�H��H�� [������@SH�� H��3H��H���t
�P�^H��H�� [������@SH�� H�k2H��H���t
�P�.H��H�� [������@SH�� H��2H��H���t
�P�H��H�� [������@SH�� H�[2H��H���t
�P��H��H�� [������@SH�� H�{2H��H���t
�P�H��H�� [������@SH�� H�c3H��H���t
�P�nH��H�� [������@SH�� H�3H��H���t
�P�>H��H�� [������@SH�� H�c2H��H���t
�P�H��H�� [������@SH�� H��2H��H���t
�P��H��H�� [������@SH�� H��1H��H���t
�P�H��H�� [������@SH�� H�;3H��H���t
�P�~H��H�� [������@SH�� H��2H��H���t
�P�NH��H�� [������@SH�� H�#1H��H���t
�P�H��H�� [������H�\$WH�� H�(��H�H���"�����t
�@H����H�\$0H��H�� _���H�\$WH�� ��H�������t
�@H���H�\$0H��H�� _�������������@SH��0H�H���D$ �PH��H��0[Ãz�����������H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K��H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H��SH��PH�`�L�
�1E3�H�@�H���@�H�H�A�P"�}��H�T$ H���H�i1H�H��P[�H�\$H�L$WH�� H���8��H��H�D$0H��t&W���C�CH��1H�H�K�c����3�W�H�CH�H�_H��H�\$8H�� _�L��I�[WH��`H���6H3�H�D$PH��H��H�L$HI�S�I�c�I�c�I�K����H�T$ H�����H�?0H�H�SH��rH��H����H�cH�C�H��H�L$PH3��WH��$�H��`_��H�L$SH�� H���f����H���H�H������H��H�� [����������@SH�� H��0H��H���t
�8��H��H�� [������@SH��0H�H���D$ �PH��H��0[�H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K���H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H��SH��PH�`�L�
T0E3�H�@�H���@�H�H�A�P$���H�T$ H���H��/H�H��P[�H�\$H�L$WH�� H���8��H��H�D$0H��t&W���C�CH�0H�H�K�c����3�W�H�CH�H�_H��H�\$8H�� _�L��I�[WH��`H��6H3�H�D$PH��H��H�L$HI�S�I�c�I�c�I�K�����H�T$ H���F�H��.H�H�SH��rH��H����H�cH�C�H��H�L$PH3��H��$�H��`_��H�L$SH�� H������H���H�H������H��H�� [����������@SH�� H��.H��H���t
�8��H��H�� [������@SH��0H�H���D$ �PH��H��0[�H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�!�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H��SH��PH�`�L�
�.E3�H�@�H���@�H�H�A�P���H�T$ H���H�).H�H��P[�H�\$H�L$WH�� H���8�T�H��H�D$0H��t&W���C�CH�o.H�H�K�c����3�W�H�CH�H�_H��H�\$8H�� _�L��I�[WH��`H�%�6H3�H�D$PH��H��H�L$HI�S�I�c�I�c�I�K��3��H�T$ H���&��H��,H�H�SH��rH��H����H�cH�C�H��H�L$PH3���H��$�H��`_��H�L$SH�� H�����H�6�H�H������H��H�� [����������@SH�� H�c-H��H���t
�8�N�H��H�� [������@SH��0H�H���D$ �PH��H��0[�L��I�[I�KUVWAVAWH��@I��H��E3�E�{�L�9L�yL�yL�yL�y L�y(L�y0L�y8�A@$tII��L�qHD�yPD�yXL�y`L�yhL�ypL�yxfD���L���A�G���ǁ�D���L���Hǁ�D���D����D$ I�K���H�H�PL�8L�xH�H�_H�WH��t+A����CA�uH�H��A����CA�u	H�H��PH�\$0H��t+A����CA�uH�H��A����CA�u	H�H��PL�D$xH��H�O�����G@$tIL�wHD�PD���H��H��$�H��@A_A^_^]�����L�D$H�L$SVWATAUAVAWH��0L��H��L��L+	I�ףp=
ףI��I��M�4I��I��H��?L�H�IH+I��H��H�H��H��H��?H�H��G�z�GH;��2L�bH�NH+I��H��H�H��H��H��?H�H��H��H��H+�H;�vH�\$xH���/H�I��I;�HC�H;���H��Hi��H�\$xH��r�c��H��L��$��3�H��t�Z�H��L��$�H�\$xH�|$ Mi��L�M���L�|$(L��$�I��I�����L��$�H�VH�L;�uL���L��L��I���UH��$�H�VI��L��M���;�L��M��H��H���9'I��H��0A_A^A]A\_^[������k�������������H�\$H�l$H�t$ WH�� I��I��H��H��H;�tH��H���H���H���H;�u�L��H��H����H�l$@H��H�\$8H�t$HH�� _��������H�\$H�t$H�L$WH�� H��H������H��H�D$0H��t)W���C�CH��)H�H�KH����3�W�H�CH�H�_H��H�\$8H�t$@H�� _�E3�L�L�AH�H�H�BH�AL�L�BL�AL�AL�A H�BH�AH�BH�AH�B H�A L�BL�BL�B L�A(L�A0L�A8H�B(H�A(H�B0H�A0H�B8H�A8L�B(L�B0L�B8�B@�A@H�BHH�AH�BP�AP�BX�AXL�A`L�AhH�B`H�A`H�BhH�AhL�B`L�BhL�ApL�AxH�BpH�ApH�BxH�AxL�BpL�Bx������������H���H���������������������L���L�����������L���Hǂ�D���������H�������������H�\$H�L$WH�� H��H�����B�A�B�A�B�A�B�A�B �A �B$�A$�B,�A,�B0�A0�B4�A4�B5�A5�B6�A6�B7�A7�B8�A8�B<�A<�B@�A@H��HH��H�@���H�S`H�O`�2���H��H�\$8H�� _����H�\$H�L$WH�� H��H���F���H�SH�O���H�S0H�O0� �H�SHH�OH�L����C`�G`�Ca�Ga�Cb�Gb�Cd�GdH�ShH�Oh���H�?MH���������������������H��H�\$8H�� _�������H�\$H�L$WH�� H��H����H���H�H���H����h����H��(H��(����������������H��H�\$8H�� _���������������@SH�� H��H��`���H�KHH�� [����@SH�� H��%H��H���t
���N�H��H�� [������H��H�XH�pH�xUATAUAVAWH��H��p�rDH�zL��H�x�D��H��z6H�M�E3���i��M���H��z6E3�H�M�E�|$DM�t$E��L�t$ �i��H�EлH9E���D��H�|$ D��H�lz6H�M��si��D��L�t$ E��H�Qz6H�M��Xi��H�E�H9E���D�KH�|$ D��H�'z6H�M��.i��D�KL�t$ E��H�z6H�M��i��H�E�H9E�wGD�KH�|$ D��H��y6H�M���h��D�KL�t$ E��H��y6H�M���h��H�E�H9E�wD���E2�E3�H�|$ D��H��y6H�M��h��E�d$DH��y6E3�L�t$ E��H�M��h��H�E�H9E���D��H�|$ D��H�Sy6H�M��Zh��D��L�t$ E��H�8y6H�M��?h��H�E�H9E���A�H�|$ D��H�y6H�M��h��A�L�t$ E��H��x6H�M��g��H�E�H9E�wEH�|$ H��x6�H�M�D��D����g��D��L�t$ E��H��x6H�M��g��H�E�H9E�v2�A"�A���u
A���tI����@8.��
zt2�L�\$p��I�[0I�s8I�{@I��A_A^A]A\]�����H�E3�H��tFL9At@L9At:L9At4L9A t.L9A(t(3�H�qH��uH�AH�q H��uH�AH�q(H��u��2��������������@SH��H�~6H3�H�D$pH��H��H�L$ �H�H�T$ H�������u&H���H�T$ H������D$`�C@�D$d�CD��2�H�L$(H��tH�T$8H+�H�������H�L$pH3���H�Ā[������������H�\$WH��H�d}6H3�H�D$pH��H��H��H�L$ ��{:uH�T$ H�������u2���H�L$(H��tH�T$8H+�H����Y���H�L$pH3��*�H��$�H�Ā_����������@SH��0H��H�T$ 3�E��x0H�A(H�I0H+�H��D;�}H�SH��H�SIc�H��H������H�CH�S�H��H��0[�����@USVWATAUAVAWH��$����H��xH�e|6H3�H��`M��M��H��L��H�U�H���H���3ۉ\$|H�M��I��P8��u5H�H�^H�^H�WH��rH��H��O��H�_�H�_��"A�I��H�� ���L�� A8_6t	fDž�I�I��PX��tI�������pI�D���M��H���I��PhH����
�����uH�H�^H�^H�� ����I���H�E�H�D$pI�M��H�U�I��PHH��M�H�U�I��A�P �H�D$ L��xL��I��I����3ۄ�t�I�M��H���I��PP�W�3���H���I�L���M��H���I��P`�M�OL�d$ L���H���I�����H���H�D$ L���L���H��I�����L��0I���I9����M�M0A����D$`A����D$XD�kD�l$P�T$HD�l$@H�|$8H���H�D$0H��H�D$(H���H�D$ L���I��I����H�D$pE3�I�T$HI;T$PtH�D$pH�I�D$H�L�D$pI�L$@� �I�L$@H�QE8��tL�l$p�
D�t$pD�l$tH;QtH�D$pH�H�A�
L�D$p�~ �I���I9��t8�D$pD�l$tI�T$HI;T$PtH�D$pH�I�D$H�L�D$pI�L$@�6 ���$��`������H�� H�M�����L�6L�vL�vD�L$xL���H�U�H���F��D�l$|L�

��M�ź�H�M�����H��H��rH��H�����L���H��D��H���H��rH��H����֬�L���H���D���H���H��t?L���H����<�H���H���H+�H���般�L���W����H���H��rH��H����Z��L���H���D���H�� �	���H�WH��rH��H��#��L�wH�_D�7H��H��`H3����H��xA_A^A]A\_^[]���H�\$H�t$ UWATAVAWH�l$�H��@H��w6H3�H�E0L��L��H�M�H���H�M���H�+�
H�E�W�3�H�D$`H�D$hH�D$pH�D$xH�E�H�E�H�E�H�E��E�H�E�D�L$0L�E�H�T$`H�M�����A���L�e�I�$A���I�D$A��DI��H�\$ E3�D��H��p6H�L$8�_��A���H�D$8H��H��A�����A���H��H�H�\$ A�D��H�Qp6H�L$8�W_��A�����A���A���H�D$8H��H��H��H�H�E�H�D$ E3ɋ}$D��H�p6H�L$8�
_��+t$8A+4$�H�Hc�I�D$H�E�H�D$ A�D��H��o6H�L$8��^��+\$8A+\$�H�Hc�I�D$W��M�H�u�L�D$0�VH�M��y��M���D�ND��H�E�H�M�H+�H��H��tY��M��A�DI�CH�M�H�H�H�E�L�LH�M�H�DHHDL��I��M�@H�R H�E�H+�H��L;�r�W��D$ E3�E3�H�U�I�����E A�G@A�DH���
I�H�M�H��tH�U�H+�H����D��W��E�H�u�H�U�I+�H���I���%��H�M�H��tH�U�H+�H������I��H�M0H3����L��$@I�[@I�sHI��A_A^A\_]�H�\$ UVWATAUAVAWH��$p���H��H�rt6H3�H���M��M��L��H���E3�D�d$@W�3�H�B�'��D$@I���I���H�_H�\$ E3�D�GDH��m6H����\��H�\$ E�L$D�GDH��m6H�� �\���FH��(H�_(H+؋H��H+�IH�A�|$H���HDž����������f���D���M���H���H����h���H�}H�E�]��E�W�f�E�O��ED�eL��H�UH����'���H���HDž�H�DILATIONH���D���M���H���H��������L���H���D���L�
��E��A�|$��H������E���H���H������L�ep�w�H�uxD�e`L�
��E�čW
H�M`讪�L��H�U`H�������L���H���D���L�
��E�čWH����k��E���H���H�� �����L���H���D���L�
�E�čWH����!��E���H���H��0����W��E�L�e�D�L$0L��@H���H�M��}����H�u�H�]�H;�tMI�VI;Vt(L�"L�bH�CH��t�@H�H�H�CH�BI~�L��I���7�H�H;�u�H�u�H�]�H��tiH;�tEH�{H��t+����G��uH�H������G��u	H�H��P�H�H;�u�H�]�H�U�H+�H���H���0��W��E�L�e�L�
��A�H��H������H���H;�rH��H������L����H���D���H���H;�rH��H���跤�L���H���D���H�UxH;�rH��H�M`荤�L�epH�]xD�e`H���H;�rH��H����f��L���H���D���H���H;�rH��H����6��L���H���D���H�UH;�rH��H�M���L�eH�]D�eH���H;�rH��H������E8���5H���HDž�Dž�W_QFD���M���H���H��`�u���W��E�L�e�D�L$0L��pH��`H�M������H�u�H�]�H;�tMI�VI;Vt(L�"L�bH�CH��t�@H�H�H�CH�BI~�L��I���5�H�H;�u�H�u�H�]�H��tiH;�tEH�{H��t+����G��uH�H������G��u	H�H��P�H�H;�u�H�]�H�U�H+�H���H��赢�W��E�L�e�L�
���A�H��H��`�=��H���H;�rH��H����q��HDž�HDž�Dž�I_QFD����A��H���H��P����W��E�L�e�D�L$0L��`H��PH�M�蕀���H�u�H�]�H;�tMI�VI;Vt(L�"L�bH�CH��t�@H�H�H�CH�BI~�L��I���3�H�H;�u�H�u�H�]�H��tiH;�tEH�{H��t+����G��uH�H������G��u	H�H��P�H�H;�u�H�]�H�U�H+�H���H���H��W��E�L�e�L�
5��A�H��H��P����H���H;�rH��H������E8����L���H��D��L�
��E��H��H��贤�E���H��H����)���H��I���.����H��H;�rH��H��肠�H��8HDž0Dž O_QFD��$M��H�� H����r��H��I���ʐ���H��8H;���H��H�� ����rHDžXHDžPDž@O_QFD��D�A��H��@H��p����W��E�L�e�D�L$0L���H��pH�M��9~���H�u�H�]�H;�tMI�VI;Vt(L�"L�bH�CH��t�@H�H�H�CH�BI~�L��I���>1�H�H;�u�H�u�H�]�H��tiH;�tEH�{H��t+����G��uH�H������G��u	H�H��P�H�H;�u�H�]�H�U�H+�H���H�����W��E�L�e�L�
ٵ�A�H��H��p�t��H��XH;�rH��H��@訞�E8���uL��pH��xD��`L�
ZE�ĺH��`�V��E���H��`H��������W��E�L�e�D�L$0L���H���H�M��|���H�u�H�]�H;�tMI�VI;Vt(L�"L�bH�CH��t�@H�H�H�CH�BI~�L��I���/�H�H;�u�H�u�H�]�H��tiH;�tEH�{H��t+����G��uH�H������G��u	H�H��P�H�H;�u�H�]�H�U�H+�H���H���e��W��E�L�e�L�
R��A�H��H�������H��xH;�rH��H��`�!��W�3��pH����XH�]8H�E0���E ���E$D�e%I���E3�L�E H��p�n���H�U8H;�rH��H�M 蹜�L�e0H�]8D�e H��pI������L��H��D��L�
�E�ĺH���^��E���H��H�������H��I���،���H��H;�rH��H���,��I��xI9�p��H�\$`�
H�t$X��D$H��D$P��D$TD�d$UI��pD�H�T$HH������H��I���L����H�T$`H;�r
H��H�L$H褛�H�]�H�t$x���D$h���D$p���D$tD�d$uI��pD�@H�T$hH��@�x���H��I���݋���H�U�H;���H�L$h�L�d$xH�]�D�d$hH�8H�L$h覗�A�H�T$hH��@�n���H��I��胋���H�U�H;�r
H��H�L$h�ܚ�L�d$XH�\$`D�d$HH��
H�L$H�L��A�H�T$HH�������H��I���)����H�T$`H;�r
H�L$HH��聚�L��0H��8D�� H��
H�� ���E��E8��A��H�� H�����H��I��輊���H��8H;�rH��H�� ���W�A����E@A����EDA�EP�EHA�EX�ELA�E`�EPA�E8�ETA�E@�EXA�EH�E\��@L��PD�L$0L�E`H�U@H��@跛�H��@H��L��HI;�tH�S��9HB�H��I;�u�W�3��XH��hH��X�l���H��XI���x���H��X�k/�H��tH��PH+�H��H�����H��p�B/�I��H���H3����H��$�H�ĐA_A^A]A\_^]������@USVWAVAWH��H��xH��d6H3�H�E�M��M��H��H��H�U�L�M��I��A�R83���uH�;H�{H�{�W��M�H�}�H�F0H+F(H��H��t|W�3�E�H�E�H��|$ M��M��H�U�H��P�L�E�L;E�t,H�E�H;E�tI��H����H�E���
H��H�M��8���H�M����H��H�F0H+F(H��H;�r�H�}�H�E�H�H�E�H�CH�{H��H�M�H3���H��xA_A^_^[]��������H�\$WH�� H��H��軾�����v�K���u	���t�K3�8��t�K8��t�K8��t�K8��t�K 8��t�K@8��tH���Z���H��H�\$0H�� _�������������H�\$H�l$VWAVH��P��$�I��L��D��H�T$0I��H����L�Ή\$(L��H�D$ I��H����L�\$PI��I�[ I�k0I��A^_^�������������H�\$H�t$ UWATAVAWH�l$�H��H�Cb6H3�H�E/H��E3�L�"L�bL�bL�bL�b L�b(D�b0D�b4A��@���B0W��M�L�eA��D�F�I��L�5�[6H�\$ D��I�֩����tuE�L$H�M��J��H�\$ E�L$D��I��H�M��J��H�E�H�E�H�E�H�\$ E3�D��I��H�M��`J��H�E�H�E�H�\$ E�|$E��D��I��H�M��<J��H�E��rE3�H�M��*J��H�E�H�E�H�\$ A�E��D��I��H�M��J��H�E�H�E�H�\$ E�OD��I��H�M���I��H�\$ E�OD��I��H�M���I��H�E�H�E�H�E�H�E�H�E�H�E�H�E�H�U�H�M��s��W�3�EH�E'�E�L�e�L�u�H�uL;�tgI+�H��H��H��������H;��H��H��r
H���.���H��t
H���/��I��H�E�H�E�H�H�]�L��I��H����H�]�H�U�H�M�L�I�H�I�FH�GI�FH�GH�MH�H�GH�AH�G H�AH�G(L�PL�XL�`L�@L�g8L�gH�G4$tIH�U'H+�H�����W��EL�e'H�UI+�H��I����H��H�M/H3����L��$�I�[0I�sHI��A_A^A\_]��
��������������H�\$H�t$ WH��@H�b_6H3�H�D$8�zI��H��ucA�xxu\H�L��H�T$ 2�PHH�L$ H��H;L$(tD���D;��H��
�H;T$(u�H��tH�T$0H+�H���@���u8_9t��2�H�L$8H3���H�\$`H�t$hH��@_�����H�\$H�l$H�t$WH�� H��I��H�	I��H��H��t@H�SL�����L�CH�ףp=
ףL+H�I��I�H��H��H��?H�Hi��訒�Hi��H�l$8H�H�;H�CHi��H�t$@H�H�CH�\$0H�� _�����I��L��L��H��I���,��������������H��Ii���A���H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�A��H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�)�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�a��H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K���H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�I�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K���H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0���H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K���H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�i�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K����H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K���H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H��SH��PH�`�L�
l�E3�H�@�H���@�H�H�A�P#�ݏ�H�T$ H���`H��H�H��P[�H��SH��PH�`�L�
4�E3�H�@�H���@�H�H�A�P6荏�H�T$ H���H���H�H��P[�H��SH��PH�`�L�
��E3�H�@�H���@�H�H�A�P6�=��H�T$ H���H��H�H��P[�H��SH��PH�`�L�
��E3�H�@�H���@�H�H�A�P���H�T$ H���pH�y�H�H��P[�H��SH��PH�`�L�
��E3�H�@�H���@�H�H�A�P$蝎�H�T$ H��� H��H�H��P[�H�\$H�L$WH�� H���P���H��H�D$0H��t&W���C�CH��H�H�K�#����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���h��H��H�D$0H��t&W���C�CH��H�H�K�3��3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���`��H��H�D$0H��t&W���C�CH��H�H�K�#�3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P��H��H�D$0H��t&W���C�CH��H�H�K�#����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P�4�H��H�D$0H��t&W���C�CH��H�H�K�����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P���H��H�D$0H��t&W���C�CH���H�H�K����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���P�T�H��H�D$0H��t&W���C�CH�W�H�H�K�����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�t$ UWAVH�l$�H���H�S6H3�H�E?H��H��H�M'H�U73�H�u�H�u�H�M��'��H�U�H�������H���H�D�vL�u�H�u�@�u�H�u�L�u�@�u�L�
��D�ƍVH�M��ފ�H�uL�u@�uL�
��D�ƍVH�M車�H�O(H�1H�qH�qD�M�L�E'H�U��Z��L�
��V D�FH�M��B��H�SH��rH��H��|��H�sL�s@�3H��H�M?H3��B�L��$�I�[0I�s8I��A^_]�����������H��SH��PH�`�L�
��E3�H�L$ H��H�@�H�H��@�A�P��H�T$(H���{���H���H��H�C@H�CHH��H��P[����H�L$SH�� H���ּ���H��\H�H������H�����H���c�H���;�H����H������H�������H��H�� [����������H�\$WH�� H��H��H�y(H�H�H��t-H�WL��聅�H�WH+H�H����.��H�'H�gH�gH��H�H�S H��rH�KH�����H�cH�C �CH�\$0H�� _�����@SH�� H���H��H���t
�P�~�H��H�� [������@SH�� H���H��H���t
�h�N�H��H�� [������@SH�� H��H��H���t
�`��H��H�� [������@SH�� H�c�H��H���t
�P��H��H�� [������@SH�� H�[�H��H���t
�P辿H��H�� [������@SH�� H�c�H��H���t
�P莿H��H�� [������@SH�� H�[�H��H���t
�P�^�H��H�� [������H�\$WH�� ��H��������t
�@H���*�H�\$0H��H�� _�������������H�\$WH�� H�/���H�H��������t
�@H����H�\$0H��H�� _���H�\$WH�� H����H�H�������t
�PH��蠾H�\$0H��H�� _���H�\$WH�� H�����H�H���B�����t
�@H���`�H�\$0H��H�� _���H�\$WH�� H�7���H�H��������t
�@H��� �H�\$0H��H�� _���H�\$WH�� H�����H�H��������t
�@H����H�\$0H��H�� _���H�\$WH�� H�g���H�H�������t
�@H��蠽H�\$0H��H�� _���@SH��0H�H���D$ �PH��H��0[�H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K���H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������L��SH��PH�gemm_refI�C�I�C�I�S�I�C�H���D$(�H���H�H��P[����������H�\$H�L$WH�� H���8��H��H�D$0H��t&W���C�CH���H�H�K�c����3�W�H�CH�H�_H��H�\$8H�� _�L��I�[WH��`H��K6H3�H�D$PH��H��H�L$HI�S�I�c�I�c�I�K���H�T$ H���6��H��H�H�SH��rH��H���H�cH�C�H��H�L$PH3��g�H��$�H��`_��H�L$SH�� H���v����H���H�H������H��H�� [����������@SH�� H���H��H���t
�8�޺H��H�� [������@SH��0H�H���D$ '�PH��H��0[�H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K����H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H��SH��PH�`�L�
$�E3�H�@�H���@�H�H�A�P�́�H�T$ H���H���H�H��P[�H�\$H�L$WH�� H���8�$�H��H�D$0H��t&W���C�CH���H�H�K�c����3�W�H�CH�H�_H��H�\$8H�� _�L��I�[WH��`H��H6H3�H�D$PH��H��H�L$HI�S�I�c�I�c�I�K����H�T$ H���v��H���H�H�SH��rH��H���|�H�cH�C�H��H�L$PH3�觹H��$�H��`_��H�L$SH�� H��足���H��H�H������H��H�� [����������@SH�� H���H��H���t
�8��H��H�� [������@SH��0H�H���D$ (�PH��H��0[�H�\$WH��@H��H�L$0�I�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�1��H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0���H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�Q��H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H��SH��PH�`�L�
��E3�H�@�H���@�H�H�A�P�-~�H�T$ H���@H�a�H�H��P[�H��SH��PH�`�L�
$�E3�H�@�H���@�H�H�A�P��}�H�T$ H����H���H�H��P[�H�\$H�L$WH�� H���8�4�H��H�D$0H��t&W���C�CH�_�H�H�K�����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8�ĴH��H�D$0H��t&W���C�CH���H�H�K���3�W�H�CH�H�_H��H�\$8H�� _�L��I�[WH��`H��D6H3�H�D$PH��H��H�L$HI�S�I�c�I�c�I�K�裔�H�T$ H�����H��H�H�SH��rH��H��x�H�cH�C�H��H�L$PH3��G�H��$�H��`_��H�L$SH�� H���V����H�~YH�H�����H������H��H�� [��@SH�� H���H��H���t
�8辳H��H�� [������@SH�� H���H��H���t
�8莳H��H�� [������@SH��0H�H���D$ �PH��H��0[�H�\$WH��@H��H�L$0�I�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K���H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0���H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K���H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�i�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K����H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K���H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�!��H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�A��H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�a��H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H��SH��PH�`�L�
L�E3�H�@�H���@�H�H�A�P(�=u�H�T$ H���H���H�H��P[�H��SH��PH�`�L�
�E3�H�@�H���@�H�H�A�P��t�H�T$ H���H���H�H��P[�H��SH��PH�`�L�
,�E3�H�@�H���@�H�H�A�P"�t�H�T$ H���pH���H�H��P[�@SH��P�$�H�T$ �D$ H����f�D$$���D$&H�D$8H�D$0�D$'�H���H�H��P[�������H��SH��PH�`�L�
�E3�H�@�H���@�H�H�A�P��s�H�T$ H���H���H�H��P[�H��SH��PH�`�L�
4�E3�H�@�H���@�H�H�A�P�s�H�T$ H���pH���H�H��P[�H��SH��PH�`�L�
��E3�H�@�H���@�H�H�A�P�Ms�H�T$ H��� H�i�H�H��P[�H�\$H�L$WH�� H���8褪H��H�D$0H��t&W���C�CH��H�H�K�s����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8�4�H��H�D$0H��t&W���C�CH���H�H�K�S����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8�ĩH��H�D$0H��t&W���C�CH�O�H�H�K�3����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8�T�H��H�D$0H��t&W���C�CH�?�H�H�K�����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8��H��H�D$0H��t&W���C�CH���H�H�K�����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8�t�H��H�D$0H��t&W���C�CH�'�H�H�K����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8��H��H�D$0H��t&W���C�CH�?�H�H�K�����3�W�H�CH�H�_H��H�\$8H�� _�L��I�[WH��`H��76H3�H�D$PH��H��H�L$HI�S�I�c�I�c�I�K����H�T$ H���V��H���H�H�SH��rH��H���k�H�cH�C�H��H�L$PH3�臨H��$�H��`_��H�L$SH�� H��薢���H��NH�H���s���H���K���H������H����H���s���H������H����H��H�� [����������@SH�� H���H��H���t
�8�ΦH��H�� [������@SH�� H���H��H���t
�8螦H��H�� [������@SH�� H���H��H���t
�8�n�H��H�� [������@SH�� H�#�H��H���t
�8�>�H��H�� [������@SH�� H��H��H���t
�8��H��H�� [������@SH�� H���H��H���t
�8�ޥH��H�� [������@SH�� H���H��H���t
�8讥H��H�� [������@SH��0H�H���D$ �PH��H��0[�H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K��H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H��SH��PH�`�L�
�E3�H�@�H���@�H�H�A�P�l�H�T$ H���H���H�H��P[�H�\$H�L$WH�� H���8��H��H�D$0H��t&W���C�CH���H�H�K�c����3�W�H�CH�H�_H��H�\$8H�� _�L��I�[WH��`H��36H3�H�D$PH��H��H�L$HI�S�I�c�I�c�I�K��Ӄ�H�T$ H���F���H�w�H�H�SH��rH��H��g�H�cH�C�H��H�L$PH3��w�H��$�H��`_��H�L$SH�� H��膞���H�NLH�H������H��H�� [����������@SH�� H���H��H���t
�8��H��H�� [������@SH��0H�H���D$  �PH��H��0[Ãz �����������H�\$WH��@H��H�L$0�y�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K���H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�	�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K���H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�1��H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H��SH��PH�`�L�
\�E3�H�@�H���@�H�H�A�P�
h�H�T$ H���H���H�H��P[�H��SH��PH�`�L�
t�E3�H�@�H���@�H�H�A�P)�g�H�T$ H���H���H�H��P[�H��SH��PH�`�L�
��E3�H�@�H���@�H�H�A�P)�mg�H�T$ H���`H�)�H�H��P[�H�\$H�L$WH�� H���8�ĞH��H�D$0H��t&W���C�CH�_�H�H�K�����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8�T�H��H�D$0H��t&W���C�CH��H�H�K����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8��H��H�D$0H��t&W���C�CH���H�H�K����3�W�H�CH�H�_H��H�\$8H�� _�L��I�[WH��`H��-6H3�H�D$PH��H��H�L$HI�S�I�c�I�c�I�K���}�H�T$ H���6���H�G�H�H�SH��rH��H��a�H�cH�C�H��H�L$PH3��g�H��$�H��`_��H�L$SH�� H���v����H�HH�H���c���H���;���H�������H��H�� [����������@SH�� H�c�H��H���t
�8�ΜH��H�� [������@SH�� H�[�H��H���t
�8螜H��H�� [������@SH�� H�S�H��H���t
�8�n�H��H�� [������@SH��0H�H���D$ �PH��H��0[Ãz�����������H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�q��H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H��SH��PH�`�L�
��E3�H�@�H���@�H�H�A�P�Mc�H�T$ H���H�Y�H�H��P[�H�\$H�L$WH�� H���8褚H��H�D$0H��t&W���C�CH��H�H�K�c����3�W�H�CH�H�_H��H�\$8H�� _�L��I�[WH��`H�u*6H3�H�D$PH��H��H�L$HI�S�I�c�I�c�I�K��z�H�T$ H�����H�7�H�H�SH��rH��H��g^�H�cH�C�H��H�L$PH3��'�H��$�H��`_��H�L$SH�� H���6����H��DH�H������H��H�� [����������@SH�� H�s�H��H���t
�8螙H��H�� [������@SH��0H�H���D$ �PH��H��0[�H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K豯�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�Ѯ�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H��SH��PH�`�L�
��E3�H�@�H���@�H�H�A�P�_�H�T$ H����H�!�H�H��P[�H�\$H�L$WH�� H���8��H��H�D$0H��t&W���C�CH�w�H�H�K�c����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8蔖H��H�D$0H��t&W���C�CH���H�H�K���3�W�H�CH�H�_H��H�\$8H�� _�L��I�[WH��`H�e&6H3�H�D$PH��H��H�L$HI�S�I�c�I�c�I�K��sv�H�T$ H�����H��H�H�SH��rH��H��WZ�H�cH�C�H��H�L$PH3���H��$�H��`_����������H��SH��P�p�H�P�H��H�L$ �
e�f�H؊
]��H�H��H�@�H�@��@��@�����H���H�H��H��P[�H�L$SH�� H��躐���H�FH�H������H�������H��H�� [������@SH�� H���H��H���t
�8��H��H�� [������@SH�� H�3�H��H���t
�8��H��H�� [������@SH��0H�H���D$ �PH��H��0[�H�\$WH��@H��H�L$0�I�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K���H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0���H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�!��H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H��SH��PH�`�L�
d�E3�H�@�H���@�H�H�A�P �Z�H�T$ H���@H���H�H��P[�H��SH��PH�`�L�
��E3�H�@�H���@�H�H�A�P �Z�H�T$ H����H�1�H�H��P[�H�\$H�L$WH�� H���8��H��H�D$0H��t&W���C�CH���H�H�K�����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8蔑H��H�D$0H��t&W���C�CH�W�H�H�K���3�W�H�CH�H�_H��H�\$8H�� _�L��I�[WH��`H�e!6H3�H�D$PH��H��H�L$HI�S�I�c�I�c�I�K��sq�H�T$ H�����H���H�H�SH��rH��H��WU�H�cH�C�H��H�L$PH3���H��$�H��`_��H�L$SH�� H���&����H�VCH�H�����H������H��H�� [��@SH�� H�s�H��H���t
�8莐H��H�� [������@SH�� H��H��H���t
�8�^�H��H�� [������@SH��0H�H���D$ �PH��H��0[�H�\$WH��@H��H�L$0���H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�q��H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$H�L$WH�� H���8��H��H�D$0H��t&W���C�CH���H�H�K���3�W�H�CH�H�_H��H�\$8H�� _�L��I�[WH��`H��6H3�H�D$PH��H��H�L$HI�S�I�c�I�c�I�K���n�H�T$ H���F���H���H�H�SH��rH��H��R�H�cH�C�H��H�L$PH3��w�H��$�H��`_����������H��SH��P���H�P�H��H�L$ �
��f�H؊
���H�H��H�@�H�@��@��@�����H�P�H�H��H��P[�H�L$SH�� H�������H���H�H������H��H�� [��������������@SH�� H�S�H��H���t
�8�~�H��H�� [������@SH��0H�H���D$ +�PH��H��0[�H�\$WH��@H��H�L$0���H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K董�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$H�L$WH�� H���8��H��H�D$0H��t&W���C�CH�o�H�H�K�#�3�W�H�CH�H�_H��H�\$8H�� _�H��SH��P��H�P�H��H�L$ �

�f�H؊
��H�H��H�@�H�@��@��@��_���H���H�H��H��P[�H�L$SH�� H���چ���H�zJH�H���'����H��H�� [��������������@SH�� H���H��H���t
�8�>�H��H�� [������@SH��0H�H���D$ �PH��H��0[�H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�Q��H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�9�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�q��H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0���H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K葟�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�Y�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K豞�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0��
�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�ѝ�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�y
�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K���H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�	
�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K���H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�	�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�1��H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�)	�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�Q��H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�q��H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�I�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K葘�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H��SH��PH�`�L�
��E3�H�@�H���@�H�H�A�P�mI�H�T$ H���H�	�H�H��P[�H��SH��PH�`�L�
��E3�H�@�H���@�H�H�A�P�I�H�T$ H���`H�a�H�H��P[�H��SH��PH�`�L�
��E3�H�@�H���@�H�H�A�P��H�H�T$ H���H�a�H�H��P[�H��SH��PH�`�L�
$�E3�H�@�H���@�H�H�A�P�}H�H�T$ H���H���H�H��P[�H��SH��PH�`�L�
��E3�H�@�H���@�H�H�A�P&�-H�H�T$ H���pH�A�H�H��P[�H��SH��PH�`�L�
l�E3�H�@�H���@�H�H�A�P��G�H�T$ H��� H���H�H��P[�H��SH��PH�`�L�
d�E3�H�@�H���@�H�H�A�P�G�H�T$ H����H���H�H��P[�H��SH��PH�`�L�
��E3�H�@�H���@�H�H�A�P�=G�H�T$ H���H�!�H�H��P[�H��SH��PH�`�L�
<�E3�H�@�H���@�H�H�A�P��F�H�T$ H���0H���H�H��P[�H��SH��PH�`�L�
��E3�H�@�H���@�H�H�A�P�F�H�T$ H����H�Q�H�H��P[�H�\$H�L$WH�� H���8��}H��H�D$0H��t&W���C�CH���H�H�K����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8�}H��H�D$0H��t&W���C�CH�'�H�H�K�s����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8�}H��H�D$0H��t&W���C�CH�W�H�H�K�S����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8�|H��H�D$0H��t&W���C�CH�o�H�H�K�3����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8�4|H��H�D$0H��t&W���C�CH�O�H�H�K�����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8��{H��H�D$0H��t&W���C�CH�/�H�H�K���3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8�T{H��H�D$0H��t&W���C�CH��H�H�K�����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8��zH��H�D$0H��t&W���C�CH���H�H�K����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8�tzH��H�D$0H��t&W���C�CH���H�H�K����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8�zH��H�D$0H��t&W���C�CH��H�H�K�s����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8�yH��H�D$0H��t&W���C�CH�o�H�H�K���3�W�H�CH�H�_H��H�\$8H�� _�L��I�[WH��`H�e	6H3�H�D$PH��H��H�L$HI�S�I�c�I�c�I�K��sY�H�T$ H�����H���H�H�SH��rH��H��W=�H�cH�C�H��H�L$PH3��zH��$�H��`_����������@SH��P���H�T$ H��H�L$@�
����L$(�
��f�L$,�
���L$.H��H�D$8H�D$0�D$ �D$/����H�<�H�H��H��P[�H�L$SH�� H���s���H�9H�H�����H���S�H���k�H���#�H����H�����H����H����H���{�H����H���K�H��H�� [��@SH�� H���H��H���t
�8��wH��H�� [������@SH�� H�;�H��H���t
�8�wH��H�� [������@SH�� H���H��H���t
�8�nwH��H�� [������@SH�� H��H��H���t
�8�>wH��H�� [������@SH�� H�#�H��H���t
�8�wH��H�� [������@SH�� H�C�H��H���t
�8��vH��H�� [������@SH�� H���H��H���t
�8�vH��H�� [������@SH�� H�{�H��H���t
�8�~vH��H�� [������@SH�� H���H��H���t
�8�NvH��H�� [������@SH�� H���H��H���t
�8�vH��H�� [������@SH�� H���H��H���t
�8��uH��H�� [������@SH��0H�H���D$ 	�PH��H��0[�H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K���H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H��SH��PH�`�L�
��E3�H�@�H���@�H�H�A�P��<�H�T$ H���H���H�H��P[�H�\$H�L$WH�� H���8�4tH��H�D$0H��t&W���C�CH���H�H�K�c����3�W�H�CH�H�_H��H�\$8H�� _�L��I�[WH��`H�6H3�H�D$PH��H��H�L$HI�S�I�c�I�c�I�K��T�H�T$ H��膎��H�o�H�H�SH��rH��H��7�H�cH�C�H��H�L$PH3��tH��$�H��`_��H�L$SH�� H����n���H���H�H������H��H�� [����������@SH�� H���H��H���t
�8�.sH��H�� [������@SH��0H�H���D$ )�PH��H��0[�H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�A��H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H��SH��PH�`�L�
��E3�H�@�H���@�H�H�A�P�:�H�T$ H��萌��H�Q�H�H��P[�H�\$H�L$WH�� H���8�tqH��H�D$0H��t&W���C�CH�o�H�H�K�c����3�W�H�CH�H�_H��H�\$8H�� _�H�L$SH�� H���l���H��6H�H���;����H��H�� [��@SH�� H��H��H���t
�8�qH��H�� [������@SH��0H�H���D$ �PH��H��0[�H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�!��H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�A��H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�9�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�a��H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0���H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K聄�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�Y�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K衃�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0���H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K��H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H��SH��PH�`�L�
T�E3�H�@�H���@�H�H�A�P�3�H�T$ H���PH���H�H��P[�H��SH��PH�`�L�
��E3�H�@�H���@�H�H�A�P�M3�H�T$ H���H��H�H��P[�@SH��P�¾H�T$ ���H���D$ H�D$8H�D$0�D$(�D$,�H�'�H�H��P[���������������H��SH��PH�`�L�
d�E3�H�@�H���@�H�H�A�P�2�H�T$ H���PH�ѿH�H��P[�H��SH��PH�`�L�
��E3�H�@�H���@�H�H�A�P�M2�H�T$ H���H���H�H��P[�H��SH��PH�`�L�
L�E3�H�@�H���@�H�H�A�P#�1�H�T$ H���H���H�H��P[�H�\$H�L$WH�� H���8�TiH��H�D$0H��t&W���C�CH�O�H�H�K�����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8��hH��H�D$0H��t&W���C�CH���H�H�K����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8�thH��H�D$0H��t&W���C�CH��H�H�K����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8�hH��H�D$0H��t&W���C�CH�O�H�H�K�s����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8�gH��H�D$0H��t&W���C�CH���H�H�K�S����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8�$gH��H�D$0H��t&W���C�CH���H�H�K�3����3�W�H�CH�H�_H��H�\$8H�� _�L��I�[WH��`H���5H3�H�D$PH��H��H�L$HI�S�I�c�I�c�I�K��G�H�T$ H���v���H�ǹH�H�SH��rH��H���*�H�cH�C�H��H�L$PH3��gH��$�H��`_��H�L$SH�� H���a���H��-H�H���3���H���K���H���c���H������H����H������H��H�� [��@SH�� H��H��H���t
�8�eH��H�� [������@SH�� H���H��H���t
�8��eH��H�� [������@SH�� H�C�H��H���t
�8�eH��H�� [������@SH�� H���H��H���t
�8�neH��H�� [������@SH�� H�[�H��H���t
�8�>eH��H�� [������@SH�� H�{�H��H���t
�8�eH��H�� [������@SH��0H�H���D$ �PH��H��0[�H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�!{�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H��SH��PH�`�L�
��E3�H�@�H���@�H�H�A�P�+�H�T$ H���p~��H�9�H�H��P[�H�\$H�L$WH�� H���8�TcH��H�D$0H��t&W���C�CH�W�H�H�K�c����3�W�H�CH�H�_H��H�\$8H�� _�H�L$SH�� H���~^���H��,H�H���;����H��H�� [��@SH�� H��H��H���t
�8��bH��H�� [������@SH��0H�H���D$ �PH��H��0[�H�\$WH��@H��H�L$0���H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�y�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$H�L$WH�� H���8�aH��H�D$0H��t&W���C�CH��H�H�K�#�3�W�H�CH�H�_H��H�\$8H�� _�H��SH��P���H�P�H��H�L$ �
��f�H؊
���H�H��H�@�H�@��@��@���{��H�(�H�H��H��P[�H�L$SH�� H���J\���H��*H�H���'����H��H�� [��������������@SH�� H�+�H��H���t
�8�`H��H�� [������@SH��0H�H���D$ �PH��H��0[�H�\$WH��@H��H�L$0���H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�v�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$H�L$WH�� H���8�D_H��H�D$0H��t&W���C�CH�G�H�H�K�#�3�W�H�CH�H�_H��H�\$8H�� _�@SH��P��H�T$ H��H�L$@�
���L$(�
۷f�L$,�
ҷ�L$.H��H�D$8H�D$0�D$ �D$/�y��H�\�H�H��H��P[�H�L$SH�� H���Y���H��,H�H�������H��H�� [��@SH�� H�k�H��H���t
�8�n^H��H�� [������@SH��0H�H���D$ 
�PH��H��0[�H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�t�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H��SH��PH�`�L�
$�E3�H�@�H���@�H�H�A�P�]%�H�T$ H���H���H�H��P[�H�\$H�L$WH�� H���8�\H��H�D$0H��t&W���C�CH�϶H�H�K�c����3�W�H�CH�H�_H��H�\$8H�� _�L��I�[WH��`H���5H3�H�D$PH��H��H�L$HI�S�I�c�I�c�I�K��<�H�T$ H����S��H�_�H�H�SH��rH��H��w �H�cH�C�H��H�L$PH3��7]H��$�H��`_��H�L$SH�� H���FW���H�-H�H������H��H�� [����������@SH�� H�õH��H���t
�8�[H��H�� [������@SH��0H�H���D$ �PH��H��0[�H�\$WH��@H��H�L$0���H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�q�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$H�L$WH�� H���8�DZH��H�D$0H��t&W���C�CH�o�H�H�K���3�W�H�CH�H�_H��H�\$8H�� _�L��I�[WH��`H��5H3�H�D$PH��H��H�L$HI�S�I�c�I�c�I�K��#:�H�T$ H���t��H�/�H�H�SH��rH��H���H�cH�C�H��H�L$PH3���ZH��$�H��`_����������H��SH��P�x�H�P�H��H�L$ �
n��H��
h�f�H�H��H�@�H�@��@��@�����H��H�H��H��P[�H�L$SH�� H���jT���H�:�H�H������H��H�� [��������������@SH�� H��H��H���t
�8��XH��H�� [������@SH��0H�H���D$ %�PH��H��0[�H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K��n�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�I�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�n�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0���H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�!m�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�i�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�Al�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H��SH��PH�`�L�
ԲE3�H�@�H���@�H�H�A�P!��H�T$ H����H�Q�H�H��P[�H�\$H�L$WH�� H���8�tTH��H�D$0H��t&W���C�CH���H�H�K�c����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8�TH��H�D$0H��t&W���C�CH��H�H�K���3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8�SH��H�D$0H��t&W���C�CH�ϱH�H�K���3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8�$SH��H�D$0H��t&W���C�CH���H�H�K���3�W�H�CH�H�_H��H�\$8H�� _�L��I�[WH��`H���5H3�H�D$PH��H��H�L$HI�S�I�c�I�c�I�K��3�H�T$ H���VH���H�H�SH��rH��H����H�cH�C�H��H�L$PH3��SH��$�H��`_����������L��I�[WH��`H�U�5H3�H�D$PH��H��H�L$HI�S�I�c�I�c�I�K��c2�H�T$ H����l��H�W�H�H�SH��rH��H��G�H�cH�C�H��H�L$PH3��SH��$�H��`_����������L��I�[WH��`H���5H3�H�D$PH��H��H�L$HI�S�I�c�I�c�I�K���1�H�T$ H������H��H�H�SH��rH��H���H�cH�C�H��H�L$PH3��gRH��$�H��`_����������@SH��P���H�T$ H��H�L$@�
����L$(�
��f�L$,�
���L$.H��H�D$8H�D$0�D$ �D$/����H��H�H��H��P[�H��SH��P���H�P�H��H�L$ �
���H��
��f�H�H��H�@�H�@��@��@����H��H�H��H��P[�������������H��SH��P���H�P�H��H�L$ �
���H��
��f�H�H��H�@�H�@��@��@��/���H��H�H��H��P[�H�L$SH�� H���*K���H�
&H�H������H������H�����H�������H��H�� [������@SH�� H��H��H���t
�8�~OH��H�� [������@SH�� H�[�H��H���t
�8�NOH��H�� [������@SH�� H�S�H��H���t
�8�OH��H�� [������@SH�� H�K�H��H���t
�8��NH��H�� [������@SH��0H�H���D$ 
�PH��H��0[�H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�e�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H��SH��PH�`�L�
�E3�H�@�H���@�H�H�A�P���H�T$ H���H���H�H��P[�H�\$H�L$WH�� H���8�4MH��H�D$0H��t&W���C�CH���H�H�K�c����3�W�H�CH�H�_H��H�\$8H�� _�L��I�[WH��`H��5H3�H�D$PH��H��H�L$HI�S�I�c�I�c�I�K��-�H�T$ H���g��H�g�H�H�SH��rH��H���H�cH�C�H��H�L$PH3��MH��$�H��`_��H�L$SH�� H����G���H�~$H�H������H��H�� [����������@SH�� H���H��H���t
�8�.LH��H�� [������@SH��0H�H���D$ "�PH��H��0[�H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�Ab�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������L��SH��PH�tile_refI�C�I�C�I�S�I�C�H���D$(�e��H�r�H�H��P[����������H�\$H�L$WH�� H���8�tJH��H�D$0H��t&W���C�CH�w�H�H�K�c����3�W�H�CH�H�_H��H�\$8H�� _�H�L$SH�� H���E���H�$H�H���;����H��H�� [��@SH�� H��H��H���t
�8�JH��H�� [������@SH��0H�H���D$ $�PH��H��0[�H�\$WH��@H��H�L$0���H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�!`�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$H�L$WH�� H���8�HH��H�D$0H��t&W���C�CH��H�H�K���3�W�H�CH�H�_H��H�\$8H�� _�L��I�[WH��`H�u�5H3�H�D$PH��H��H�L$HI�S�I�c�I�c�I�K��(�H�T$ H���b��H�O�H�H�SH��rH��H��g�H�cH�C�H��H�L$PH3��'IH��$�H��`_����������H��SH��P���H�P�H��H�L$ �
~��H��
x�f�H�H��H�@�H�@��@��@�����H���H�H��H��P[�H�L$SH�� H����B���H�"#H�H������H��H�� [��������������@SH�� H��H��H���t
�8�.GH��H�� [������@SH��0H�H���D$ �PH��H��0[�H��H�XH�hH�pWATAUAVAWH��@)p�H���5H3�H�D$ H��H���I���������@���t�����������f��	�t�3H���3(�H���������t�H�����H����x�����t�H������H���d!�VH�����H��t��H��H�����3�H��H��� �f��s�C
�
+�H���H�sI��������+I#��H���pD��H��H�����H���u����I�������H�s��H��I#�H�H;�t0H��H���a��������H��H�C��H��I#�H�H;�uҋʋ�H����dH��������I�������H�C��H��I#�H�H;�t~H�p
�
A�fD�~t�L�f�D��D+��L�f�D�n�M#�H���E��I��H���!��t<H�NH�������t,�H�� H�C��I#�H��H�H�F�H;�u�H�����2���H���L��I�@H�I;@ vI�����L�I�HH�AI�@�tH�H�JH�AH�B�rH�H�JH�AH�B�uH�H�JH�AH�B��e�+�H���3�H���-�3�H���H���H�L$ H3���DL�\$@I�[0I�k8I�s@(t$0I��A_A^A]A\_����������@SH�� H��H�I�H�K�H�� [�kC�����������H�\$H�l$H�t$WAVAWH�� �AE3�D�M��I��H��H��I�������D;�rI��u�x��x���;�v5H�QL��D��I#�I��I��I���#H����{H!KH	CD�H�KEI#�A��H���fD�u�H�l$HH���DfD�vH��H�\$@H�t$PH�� A_A^_�������������̃�
s�Ã�ds�Á��s�Á�'s�Á���s�Á�@Bs�Á����s�Á�����	���������H�\$H�l$H�t$WATAUAVAWH�� D�bH��H�A��H�*A��H��A�H+(M��I��I���M�o�I��H#:�;���L�\$pE3�D��A��E�E���aA��E��E�ƒ��������������������t]��tA��t%������;�U��D��A��Ai�
����k�_k��D��A��Ai��ig��⸃�C��D��A��Ai�����˸�X�OD���D+�A��D�A��Ai�`y��뫸Y���D��A��
Ai����딸�Mb��D��A��Ai�����z������Q��D��A��Ak���c���������D��A��Ak���L���D��A��E��u
E9uA���IcA��0F�0A�A���A��H��A��H�H;���E�������M�o�H�<�A��H�H�4�H��H�H���u��t��0H�B�0A�A�I#�A��H;�s�H�D$xDA��A��	}Ic�L��E��A��H��H;�s8McH��H+�I;�r*M�?L;�rI��H��H+�H+�H�H;�v
C�L1�I��L;�r�H�\$PH�l$XH�t$`H�� A_A^A]A\_�H�D$xL���DG�D��I��H;�s�McH��H+�I;�r�M�L;�rI��H��H+�H+�H�H;�v�C�L2�I��L;�r���H�\$WH�� H�A �H��H�A H�8t;�AHu5H�9H�OH�AH;G v�H���@�H�OH�AH�G�
H���9H�H�SH�JH;K v�H����H�SH�J�H�KH�\$0�]H�� _����������������H�\$WH�� H�A �H��H�A H�8t5H�9H�OH�AH;G v�H����H�OH�AH�G�
H���H�H�SH�JH;K v�H���q�H�SH�J�H�KH�\$0�}H�� _������H�\$UVWAVAWH��H��`�E�H�������H�]�I��H��M��H��4H#�L��%�tH������H������H�e�L�E�H�e�H�U�e�H�MЉ}�H�]��D�]����A+ù\fn�����Y
��X
��,��Pfn����\�f/
�F����+ȸ?�H�
ݤ�L��� �&D��Q�&H��+�D���H��I��H��H��yH��A�BH�U�A��E�I��H�e�L��H��yI��I��A�K@H�e�AʉM�H��yH��I��H�t$(L�E�H�M�L+�L�|$ I��H�U�M������H��$�H��`A_A^_^]������������H�\$H�l$ VWATAVAWH��@I��M��H��H�T$ L�D$ I�(E3�fD9}��M��I�yrM��]H��H�EI�������I#�H�H�T$0H���.��H9��H�rH�?H��H����H�PI#ԋB�f�JuH�RI#ԉH�NH�L$(L�yH�AD�9�x��I�~H����������G�uyH�H������G�ufH�H��P�[D�>H�NH�L$(L�yH�AD�9H��t���I�~H��t*������G�uH�H������W�u	H�H��RH��L�\$@I�[0I�kHI��A_A^A\_^��������H�\$UVWATAUAVAWH��$����H��pH���5H3�H��`I��A��H��L��H�T$0D���H��H�L$0�
)E3���3�E�D$`H����\+E3�3�A�H�����#���3�A�H�M��3+H��H�{rH�A�D�l$ E�M?E��H�M��;$��H�E�HcHH���
H�D
�H�E�HcH��P����T
�H�E�HcH�D
��u6��u2H�E�H���3�H������H���H����4���A;���3�A�H��P�*H�{rH�D�l$ A�@E�A�H��H��P�J�H��PHcHH�P8
H��
PH��PHcH��X�����
LH�����H��sH���H����1#�H�M��7���H���H�L$H�!��H�H�PL� L�`I�I�^I�V��H��t'����C�uH�H������C�u	H�H��PH�\$PH��t'����C�uH�H������C�u	H�H��PA��H����~��M�6fE9f�{L���H���LC��A�H��I�FH�������H#�H�H�T$@I���*��H9�3H���L��H�rL�?H���H���HC��I�����H�ȋH��H�@H�������H#�H�M��H�T$8�Z*��H9��H�rH�?H���H���HC��I���h�H��H���]�H�PI�������I#ЋB�f�JuH�RI#ЉH�NH�L$8L�a�H�YD�!���H���H��rH��H����j��L���H���D���H�MP�L'���H��qH�EPH�MP�!��lD�&H�FH�D$8�H�XL�`D� H���H��rH��H�����L���H���D���H�MP��&���H�^qH�EPH�MP� �H��H��tA����'��H�� ��I��H���Y6�H�L$0��$H��H��`H3��\7H��$�H��pA_A^A]A\_^]�L��H���H�L$X�M��L�E�H��H�L$x�h��H��H�����H���5H����U����%�������������@SH�� L�	H��D�QJ�MH�D$E�Z�D�\$H��5(D$f$�L$H�$rH���H��5s�H��
�Q�H�$H��T$L;�uH�������?H�D$A�B��D$�J�M����D�\$H�D$H�D$L$�T$fo�fH~�fs�f~�($�A+�H��H�D$L$�H�� [��������H��H�XH�hH�pH�x ATAVAWH�� Mc�A��Lc�H��C�4>E��x-��(D;�}
M��Iβ0�w%Hc�f�8.0�FH�H��"�^���wO�FHc�Lc�H�A��I��H��Lc��*!A�/�.��y�.Hc���<80u��H��I;��맍A�A�F럍FL�a��wm�M��+�H��Hc�H��� �0A�$.��~�C��0Lc�H�O��$A��D;�~&��Hc���<80u��H��H���H�G�c�E�/���B�3�&���H����;�}
�0A�$.�0��A��u
A�$eH���$A�F�I��Lc��K A�FA�$.Hc�H�A�D>e���/
H�\$@H�l$HH�t$PH�|$XH�� A_A^A\�H�\$H�l$H�t$WH�� H�i H��H;i�b�}�H�E���H��tZH�9H�OH�AH;G v��H���8�H�OH�AH�G�,�^Ht4H�>H�OH�AH;G vH��H����H�OH�AH�G� �^H��H�>H�OH�AH;G vH��H�����H�OH�AH�G�
�dH�9H�OH��t/��H�Au^H;G vH��H����H�OH�AH�G�,H�>H�OH�AH;G vH��H���s�H�OH�AH�G�
�]�uH���g	H]��PH;G vH��H���@�H�OH�AH�G�:H�>H�OH�AH;G vH��H����H�OH�AH�G� 레Y<H�\$0H�l$8H�t$@H�� _�������������H��H�XH�hH�pH�x AVH�� H��3�	M��H��I��������C;�rH��u�}��x���;�v4H�SL��D��I#�I��I��I���XH����{H!KH	C�H�|$H�A�H�H�CI#���f�nH��H�\$0H�l$8H�t$@H�� A^���������H�\$H�t$WH�� H��L��H��u
I���^$���nM��tgI�xI�QH��H��H;�rH���OH�	L�AH�AL+�I�H;�uI�H;wH�A��I���$��H��H��tH��tL��H��H���H���3�H�\$0H�t$8H�� _���������������H�\$WH�� �H������H�W H�BH;G(v�H�O���H�W H�BH�G H�"�BH�H�SH�JH;K v�H����H�SH�J�H�KH�\$0�[H�� _����������������H�\$WH�� �H���9���H�W H�BH;G(v�H�O�]�H�W H�BH�G H�"�BH�H�SH�JH;K v�H���{�H�SH�J�H�KH�\$0�{H�� _����������������H�\$UVWATAUAVAWH��$����H��PH�Ҿ5H3�H��@I��I��L��L��L�L$HD���H�yH�|$@H�������A��H�L$`蒈�I�L�`W�E��f�E�E��f�E��E�
H�{rH�H�\$0I��I��H���<u��D$8M��H�T$0H�M��#��H��H�~rH�W�D$03�f�\$>H�L$PI��H��8u��D$XM��H�T$PH�L$0�c#��M��H�T$0H�M��R����W�D$0Hc��H�L$0������fI�f�D$>M��H�T$0H�M������W�Eиf�E�I�f9YuH��
H�D$PH�D$XH�T$P����I�L�D$`H�|$xLCD$`�H��H�AH�������H#�H�H�T$0����H9uXH�D$`H�|$xHCD$`W�D$0H�D$P3�I��B80u�D�t$XM��H�T$PH�L$0�e"���M��L�E�H�T$0I�����3�H�T$`H�|$xHCT$`I����H��M��L�E�H�U��O�3�A�H�M0�~I�}rM�mA�D�t$ E�N?E�FI��H�M0�D��H�E0HcHH�M+
H�D
0H�E0HcH��X����T
,W��E�W��M�fo��E�3�E�FOH�M��H�E�H�E�H�]�W�fE�W�fMH�E�ED�]�E  H�E$H�U�I����H�M�H�AH;E�vA��H�M����H�M�H�AH�E��L)u�H�U�H�M0�#g�H�M0�Z�H�M����I��H�M��+�H�M���I��H�M��n+�H����1��H�!fH���H����V�H�T$xH��r
H��H�L$`�m��H�\$pA�L�t$x�\$`H����H�VH��rH��H��;��H�^L�v�H��@H3��,H��$�H��PA_A^A]A\_^]Ë������������������@SH�� L�H��I�@��tN�H�I;@ vI������L�I�HH�AI�@�tH�H�JH�AH�B�rH�H�JH�AH�B�u�^�H�I;@ vI�����L�I�HH�AI�@�fH�H�JH�AH�B�aH�H�JH�AH�B�lH�H�JH�AH�B�sH�H�QH�BH�A��eH�� [�������H�\$H�t$WH��0�L$HH��H�D$HH��H#�)t$ (�H;�u2��IH�H�{H�GH;C v�H������H�{H�GH��H�C(�D�F8�H�H+�H��HA�H�\$@H�t$P(t$ H��0_��������L�ʅ�yI���-��M�A��d|=���Q�����ЍB0A�k�d+�H�E��Hc�HȊA��AA�@I���+��
| �	Hc�H��HȊA��AA�I�����0A�	I���������������H�\$H�t$WH�� �ADH�Y H+YH�9�q@H��H��H�OH�H;G vH��H�����H�OH���L��H�GH�\$0H�t$8H�� _����������H�\$H�t$H�|$AVH�� H�1H��L��H�~H�GH;F v�H���G��H�~H�GH��H�FH��y
H���-H��H�WH���NI�H+�H�\$0H��H�t$8H�|$@HA�H�� A^���������H�\$H�t$H�|$AVH�� H�1��L��H�~H�GH;F v�H�����H�~H�GH��H�F��y���-��H�W���I�H+�H�\$0H��H�t$8H�|$@HA�H�� A^��������������@SH�� L��H��I�@H�I;@ vI���:��L�I�HH�AI�@�nH�H�JH�AH�B�uH�H�QH�BH�A�lH�H�JH�AH�B��lH�� [�����������H�\$H�t$WH�� L�H��A��H��M�J��EL�M;J vI�����L�I�JL��H�AI�B�"����E3�H�=��D�H��H�I��E��A��8�&H�JH�AH�B���\H�E��8�&H�JH�AH�BD�A��9�&uucH�H�JH�AH�B�0H�H�JH�AH�BA���0H�H��A��H�JD��8�&H�AH�BD�H�E��9�&H�JH�AH�BD�M;��A���H�H�\$0H�t$8H�JH�AH�B��"H�� _�������������H�\$H�l$H�t$WH�� H�H��H��H�{H�GH;C v�H���X��H�{H�GH��H��H�C�qH�H+�H�\$0H��H�l$8H�t$@HA�H�� _�������������H�\$H�l$H�t$WH�� H���H��H�{H�G
H;C v�
H������H�{H�G
H�׋�H�C��H�H+�H�\$0H��
H�l$8H�t$@HA�H�� _���������������H�\$WH�� H���������D$0A��H��(�H�D$0u&H��H�D$0t�-H��f�0.H�C�C0�?W�f/�v
W
0�
H���-L�L$0H��L�D$H(����D�D$0D�ϋT$HH�����H�\$8H�� _�������H�\$H�|$L�߇L�ҋف�'sU���Q���k�d���+�ҁ��rB�A�I�����dr�AB�A�I�����
r
B�A�I�B�������Y��D���D��A��
Ai�'D+ȸ��QA���k�d�D+����QA��E���k�d�<D+�EɁ����rB�A�I�����@Br�AB�A�I�������r
C�A�I��A�@B�A�B�A�B�GB�A�BC�A�BI��A�A����;�U���i�
�؃�
r�B�A��AB�A�BI���	��0A�I�¸Y���D��A��
Ai�'+ظ��QA���k�d�D+ȸ��Q��E��k�dD�+�B�A�ۍAB�A�BC�A�BA�AB�A�BC�A�BA�@B�A�BB�A�BI���CB�H�\$H�|$A�I�B������������H��H�XH�hH�pH�x AUAVAWH��H����!H�-��A���'sR���Q���k�dD���+�ҁ��rA�(�I����drA�@�(�I����
r�*�I��B�DA���Q�Y���D��D��A��
Ai�'D+�A��A���k�dD�D+�A��A��E���k�dD�D+�E�H�����rA�+�I��	H��@BrA�C�(�I��	H����r	A�(�I�A�@�(�I�A�*�I�A�B�(�I�A�)�A�A�I��o�#A���QI;���H���a�w̫H�-\�H��D��A�L��I��Ai��D+ȸY��A��D��A��
Ai�'D+�A��A���k�d�<D+�A��A��E��k�dD�<D+��Y��A��E����
i�'D+�A����k�dD�,+�A��A����k�dD�D+�H��Ƥ~�E�H;�r
�/�I��H�@z�ZH��H;�r
�G�(�I��H��rN	H;�rA�+�I��H����H;�rA�C�(�I��H��vHH;�rA�/�I��H��TH;�rA�G�(�I��	H��ʚ;r	A�(�I�A�@�(�I�A�D-�I�A�E�(�I��+�I��C� ���3�L�NH��H�-‚I��A�L��H�ȃ�
s
��0�I���s��dsɊ)��AK�4�(A��XA��D�����k�dD+�E����s��0�K�4A�(A����)�K�4�A�(A�A�(�I�A�@�(�I�H���a�w̫I��H��H��i��D+��Y���D��A��
Ai�'+�A��A���k�d�D+�A���E��k�dD�+��Y��A������
i�'D+�A����k�dD�+�A��A����k�dD�D+��)�E�I��A�(�I�A�+�I�A�C�(�I�A�(�I�A�@�(�I��/�I��G�(�I�A�)�I�A�A�(�I��+�I��C�(�I�A�*�I�A�B�(�I�A�/�A�GI��(H�\$ H�l$(H�|$8�H�FH�t$0A_A^A]���������H��(H�m�5H3�H�D$fo�L�$�$L���D$�D$�A9�@t8I���I����	9H@t#H��HH;�u�I��H�D$L;�tA��Ƹ	���H�L$H3��H��(����������������H�\$ UVWATAUAVAWH��$���H��0I��H��H��@E3�D�d$ H�I��P0��W�3�H�GE�l$L�m(H�E �^��E�X�f�ED�eL��H�UH�������L�mE�t$L�u�'��E�$��E���f�E�D�e�D�C3H�U�H�����;���L�m�L�u�����EЋ��E���f�E�D�e�D�C2H�U�H����;���L�m�L�u��Á�E�����E����f�E�D�e���@t$H���H����
�x@tH��HH;�u�E���A�H�U�H����;���L�m�L�u��e��E��b��E��\�f�E�D�e���@t$H���H����
�x@tH��HH;�u�E���A�H�U�H����:���L�m�L�m����D$p���D$x���f�D$|���D$~D�d$��@t$H���H����
�x@tH��HH;�u�E���A�H�T$pH����3:���L�l$hL�l$`����D$P����D$X���f�D$\����D$^D�d$_��@t$H���H����
�x@tH��HH;�u�E���A�H�T$PH����9���L�l$HL�l$@�)��D$0�%��D$8��f�D$<���D$>D�d$?��@t$H���H����
�x@tH��HH;�u�E���A�H�T$0H���59���L�exL���D�ehL�
�E��A�A��H�Mh�y����@t$H���H����
�x@tH��HH;�u�E���A�H�UhH����8���L�m`H�EXH�GRADIENTH�EHD�ePD��HH�UHH�� �8���L�'L�gL�gD�L$$L��0H���H���{����D$ L�
���A�
I��H����w�H�U`I;�rH��H�MH���L�eXL�m`D�eHH���I;�rH��H�Mh���L�exL���D�ehH�T$HI;�r
H��H�L$0�g��L�d$@L�l$HD�d$0H�T$hI;�r
H��H�L$P�A��L�d$`L�l$hD�d$PH�U�I;�r
H��H�L$p���L�e�L�m�D�d$pH�U�I;�rH��H�M����L�e�L�m�D�e�H�U�I;�rH��H�M�����L�e�L�m�D�e�H�U�I;�rH��H�M����L�e�L�m�D�e�H�UI;�rH��H�M����L�eL�mD�e�H�U(I;�rH��H�M�v��L�e L�m(D�eL���HDž�Dž�UNITD���L�����H���袱���D$ H���I;�rH��H������L���L���D���H���H���F���H���H��t-L���H�����i�H���H���H+�H������L���L���D���H���E3�L���H�M0�ª���H��H���E���H�M0H��t-L�E0H�U8�_i�H�U@H�M0H+�H����K��L�e0W��E8H���I;�rH��H����$��M��H���H+��H�9��8��8H��H��H��H��?H��RM��I��H��h�@o�L$ L��hH���
H���X�H��L���M�H��H����H��H�D$(H�WH;Wt)L�"L�bH�@H��t�@H�H�H�FH�BH�G�L��H���Bj�H�vH��t,����F��uH�H������F��u
H�H��P�H��H��rH��H�����L��L��D��H���H��rH��H��h����I��I��HH���H+��H�9��8��8H��H��H��H��?H�L;������A�L���HDž���z�����zf�����z���D���L��0L��8H�SH�� �3��L�� H���H��X���H��H�D$(H�WH;Wt(L�"L�bH�@H��t�@H�H�H�CH�BL�L��H����h�H�[H��t,����C��uH�H������C��u
H�H��R�H���I;�rH��H������H��H��$�H��0A_A^A]A\_^]������L��I�[I�KUVWAVAWH��@I��H��E3�E�{�L�9L�yL�yL�yL�y L�y(L�y0L�y8�A@$tII��L�qHD�yPD�yXL�y`L�yhL�ypL�yxfD���L���A�G���ǁ�D���L���Hǁ�D���D����D$ I�K��H�H�PL�8L�xH�H�_H�WH��t+A����CA�uH�H��A����CA�u	H�H��PH�\$0H��t+A����CA�uH�H��A����CA�u	H�H��PL�D$xH��H�O��3���G@$tIL�wHD�PD���H��H��$�H��@A_A^_^]�����H�\$WH��PH��H��A��H�L$0肹�L�D$0H��H�L$ �O���H�E3�L�GH�H�HH�OL�L�@H�\$(H��t,����C��uH�H������C��u
H�H��P�H�T$HH��r
H��H�L$0�U��H��H�\$`H��P_��������H�\$WH�� H��H��H�L$0�6;���H��g
H�H��PH��P�(8���H�\$8H�� _�������������H�\$H�t$H�L$WH�� H��H���x�LH��H�D$0H��t)W���C�CH�7wH�H�KH���X����3�W�H�CH�H�_H��H�\$8H�t$@H�� _�@SH�� H��vH��H���t
�x�H��H�� [������@USVWATAUAVAWH��$���H��8H�՞5H3�H�� M��M��H��L��H�U�E3�D�d$|L�	M��I��A�Q8��uL�'L�gL�g�?A�I��H��P�U����H��PI�^M�ML�|$ L��H���I����I�L��H��I��PHW�3���H����)E��()M��8)E���H�M�I�L�M�L��H���I��P@�L�NL�|$ L��H���I����H���H�D$ L���L��H���I����L��`H�E�L�e�D�e�M�M0D�d$`D�d$XA�D�l$PD�d$HD�d$@H�E�H�D$8H���H�D$0H���H�D$(H�\$ L��I��I���-�H�U�H��rH��H�M��f��D8�Ht1D�d$tD�l$xI�O@H�QH;QtH�D$tH�H�A�
L�D$t��C�H��XH9�Pt0H�D$tI�O@H�QH;QtH�D$tH�H�A�
L�D$t�C���L���H��PH�M��L!���L�'L�gL�gD�L$pL���H�U�H���.��D�l$|L�
|-��M�ź�H�M��;�H���H��rH��H����n��L����H���D���H���H��rH��H����8��L���H���D���H���H��t?L���H����`�H���H���H+�H�������L���W����H��H��rH��H������L��H��D���H��P�{,��H��H�� H3��iH��8A_A^A]A\_^[]������H�\$ UVWATAUAVAWH�l$�H���M��H��H�UE3�D�d$$W�3�H�B���D$$A�t$H�u�H�E�
�`r�E��\rf�E�D�e�E��A�����t����������t��uA�H�U�H�M������W��D$(L�d$8D�L$ L�E�H�U�H�L$(�+����L�t$0H�\$(A�I;�tTH�WH;Wt-L�"L�bH�CH��t�@H�H�H�CH�BLo�A��L��H���#`�I�I;�u�L�t$0H�\$(H��tmI;�tFH�sH��t+����F��uH�H������F��u	H�H��PI�I;�u�H�\$(�H�T$8H+�H���H������W��D$(L�d$8L�
���A�I��H�M��V�H�U�I;�rH��H�M����I��XI9�P��L�e�H�u�D�e�L�
�pE�ĺH�M��H��M��PH�U�H�M�裟���H�u�H�E�
��p�E���p�E���p�E�D�e�L�lBH�U�H�M����W��D$@L�e�D�L$ L�EH�U�H�L$@�j����L�t$HH�\$@I;�tOH�WH;Wt(L�"L�bH�CH��t�@H�H�H�CH�BLo�L��H���m^�I�I;�u�L�t$HH�\$@H��toI;�tJA��H�sH��t+A����FA�uH�H��A����FA�u	H�H��PI�I;�u�H�\$@�H�U�H+�H���H�����W��D$@L�e�L�
��A�I��H�M���H�U�I;�rH��H�M�����L�e�H�u�D�e�H�U�I;�rH��H�M����H��H��$HH���A_A^A]A\_^]����������H�\$H�t$ UWAUAVAWH�l$�H��H�#�5H3�H�E/M��H��H�"H�bH�bH�bH�b H�b(�B0�b43�H�EW��M�H!EA��DI��D�hH�t$ L�5��5I��A;�utE3�E��H�M����H�E�H�E�H�t$ E�M�E��I��H�M��b��H�t$ E�M�E��I��H�M��J��H�E�H�E�H�E�H�t$ E�M�E��I��H�M��%��E����A�H�M�A;�unE�M�E�����H�t$ E�ME��I��H�M���~��H�E�H�E�H�E�H�t$ E3�E��I��H�M���~��H�E�H�E�H�t$ E�M�E��I��H�M��~��H�E��rE3�D���~��H�E�H�E�H�t$ A�D��I��H�M��s~��H�E�H�E�H�t$ A�D��I��H�M��Q~��D��H�t$ A�I��H�M��7~��H�E�H�E�H�E�H�E�H�E�H�E�H�E�H�U�H�M���4��W�3�EH�E'�E�H!E�L�u�H�uL;�tfI+�H��H��H��������H;���H��H��r
H������H��t
H����3�H�E�H�E�H�H�]�L��I��H����H�]�H�U�H�M�I�H�I�FH�GI�FH�GH�MH�H�GH�AH�G H�AH�G(�G4$tIA��@���G0H�U'H+�H�����W��EH�e'H�UI+�H��I���q��H��H�M/H3��BL��$�I�[0I�sHI��A_A^A]_]�����zu
A�xxu��2���������������@USH�l$�H��H��H�U7�e�W�3�H�BA)E�AI)M�AA )E�AI0�ML�M��\����E�H�E�H�E��]k�E��Ykf�E�Qk�E��E�A�H�U�H�M'��!��H��H�������H�U�H��rH��H�M��[��H��H�Ę[]���������������@SH�� H�����H��H�� [����������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�M�H���@�	H���3�H����H���	�	H�������C �C$H��H�� [�����H�\$ UVWATAVH�l$�H��H�)�5H3�H�E'I��L������H���L�@A�A��H�H�H�H�� I;�u�W�3�H�EH��H�U��E�H!ED�M�L�E�H�U�H�M����W�3�EH�E�E�H!E�H�u�H�}�H;�tfH+�H��H��H��������H;���H��H��r
H���#���H��t
H���$�3�H�E�H�E�H�H�]�L��H��H����H�]�H�U�H�M�BH�I�M�fM�fH�MH�I�FM�f M�f(A�F4�!5H�UH+�H���9��W��EH�eH�UH+�H��H�����I��H�M'H3���H��$�H�ĐA^A\_^]��.��������������̃zu[A�xxuTL����I�@I;@t>H�H�� I;@u�A�A��u(E�H(u"D��(u��Ht
A���A9HDu��2��������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P���H�����	H�����H���f��H���Y��	H���L�����C �C$H��H�� [�����@USH�l$�H��H��H�U7�e�W�3�H�BA)E�AI)M�AA )E�AI0�ML�M����E�H�e�H�E��E�L�
-gE3�A�PH�M��M��L��8H�U�H�M'�8���H��H���ͳ���H�U�H��rH��H�M��&��H��H�Ę[]����������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�=��	H���0��H�����	H��������C �C$H��H�� [���������������@SH�� H����H���C4$tIH�� [���H��(�'�������H��(��������������H�\$WH�� H��H��H�H��t-L��H�W�h��H�WH+H���H����H�'H�gH�gH��H��rH��H������H���Hǃƃ�H����u����H�E8H���H����z��H�\$0H�� _���������������H�\$H�l$H�|$AVH�� H�BH�-`fH�B H��L�5��5H�B(H��H=v;H��I���8�H�{H��rH�L�CH���m;�H��eH���^8�H����=�H�H��t#H�tH�tH�tH� tH�(u>H��I��� 8�H�{H��rH�L�CH���;�H��eH���7�H���`=�H�3�H�wH��taH��I����7�H�{H��rH�L�CH���:�H��eH���7�H�H��脐�H��H��e�7�H�WH���i��H����<�H�G3�H�w H��tbH��I���g7�H�{H��rH�L�CH���N:�H�oeH���?7�H�WH�����H��H�Ie�$7�H�W H����H���<�H�G3�H�w(H��tbH��I���6�H�{H��rH�L�CH����9�H�eH����6�H�WH��袏�H��H��d�6�H�W(H��臏�H���<�H�\$0H�l$8H�|$@H�� A^����������H�\$UVWATAUAVAWH��$ ���H���H�Ҋ5H3�H���M��I��L��H���H��@E3�D�l$03�A� H����}�A�UH����]���L���A�}H���D���L���W�f��H���L���D�mxH�}�H�E�	��b�D$x��b�E�D�m�H�}�L�m�D�m�H�|$PH�D$H�D$8FUNCD�l$<H�|$pH�D$h��b�D$X��b�D$`D�l$dL���H���D���L�
�aE�ōW(H������L�mhH�}pD�mXL�mHH�}PD�m8L��H�bH�M轼�L��L��H��aH�M�觼�H��L��H��aH�M�葼�L�9u
H��H�M�譻�H��H���H���HC��L���H����7�H��H��P�4�H��H�{rH�L�CH����d7�H��H��P�U4�H��H�rH�L�GH����87�H��H��P�)4�M��H�T$XH����H��H�E8H�D$ L��L�E�H�T$8�
H��H�EXH�D$ L��L�ExH�T$x��	�H�UоH;�rH��H�M�耼�L�m�A�L�}�D�m�H�U�H;�rH��H�M��Y��L�m�L�}�D�m�H�UH;�rH��H�M��8��L�mL�}D�m�H�U0H;�rH��H�M���L�m(L�}0D�mH�UPH;�r
H��H�M8��H�UpH;�r
H��H�MX���H���H;�rH��H�����L���L���D���H�T$pH;�r
H��H�L$X蘻�L�l$hL�|$pD�l$XH�T$PH;�r
H��H�L$8�r��L�l$HL�|$PD�l$8H�U�H;�rH��H�M��N��L�m�L�}�D�m�H�U�H;�r
H��H�L$x�,��L�m�L�}�D�l$xH���H;�rH��H�Mx���H���I���Hp���H���H���H;�t*L�C H��H�����	H��@H;�u�H���H���H��t-L���H��H������H���H���H+�H��艺�3�A��H������H������H�T$8H����q!��D$0H�T$8H9t$PHCT$8L�D$HH����h4�H�T$PH;�r
H��H�L$8���L�l$HL�|$PD�l$8H���H9��HC��L���H����4�H���6�I��H����� ��D$0H��h�]����H�-0H��hH��h�b��H����5���I��H���H3��S�H��$ H���A_A^A]A\_^]���������H��H�XH�pH�xL�p UH�h�H��H��L��H�M?I��I��I�����H�H�NH�E�H�U�H�CH�E�H�CH�E�H�E�H�E�H�E�H�E��E$��H�CH�N(H�E�H�U�H�C H�E�H�C(H�EH�E�H�E�H�EH�E��$��H�EWH�U�L�MGI��L�E?H�D$0H�EOH�|$(H�D$ ���H�H� H�PH�`H�^H�H�VH��t'����C�uH�H������C�u	H�H��PH�]�H��t'����C�uH�H������C�u	H�H��P�EH�U�D�M_I��D�Eo�D$0�Ew�D$(�Eg�D$ �BH�N@H���֦��H�M�H��tH�UH+�H��轷�L��$�I�[I�sI�{ M�s(I��]�H��H�XH�pH�x H�PUAVAWH��H��0A��E��H��E3�D�}�W�L�:L�zL�z�E�A��A��A��E��t:D�}�}�H�SH;StH�E�H�H�C�L�E�H���)�H�S��A;�r�H�CH�E�H;�tH�E�H�H�C�L�E�H���)�@��t,H�E�H�SH;StH�E�H�H�C�L�E�H���Y)�D8}@t,H�E�H�SH;StH�E�H�H�C�L�E�H���')�D8}Ht1@��t,H�E�H�SH;StH�E�H�H�C�L�E�H����(�D8}Pt,H�E�H�SH;StH�E�H�H�C�L�E�H���(�H��H�\$PH�t$`H�|$hH��0A_A^]���@USWH��H��H���5H3�H�E�I��H��H�Uȃe�H�bH�bI��H������E�L�CM��t
H�E@�x8uH��H���,��L�CH��H�KH��rH�I�H��rH�H;�t�8.u�_H��H;�u�H�KH��H��rH�L�CL�H��H��rH���8/u�_H��I;�u�H�+t8H�BH� t8H�M��wK��E�L�E�H�%H�M���4�H��H�xrH�L�@H������H�U�H��rH��H�M��˴�H�e�H�E��E�H�U�H��rH��H�M�褴�H��H�M�H3��u�H�Ā_[]�����������H�\$UVWAVAWH��H��pH��5H3�H�E�I��I��H��H�U�L�}PL�u`�e�W�H���(����E�W�3�E�H�E�L��H�U�H�
s8�K�H�U�H��H�M�H+�H�� ��H��H��}��H�H�� H���n��L�_XI��H�M��[��H��H�H��@H;�t@H�SH��rH��H�觳�H�c�H�C�NKH�fH�F�H�U�H��rH��H�M��f��H�]X�{tH�H��@D��H��W�!��{tH�H��@L��H��W���H�H��`I�����H�ƀ�H�U�H�M�H��tL�E��6��H�U�H�M�H+�H������H��H�M�H3���H��$�H��pA_A^_^]����������������@USVWATAUAVAWH�l$�H��I��I��H��L��L�EH�0j
H�M��w��L�OVH��H�M�蓰�L�3VH��H�M����L��L�cM�,$H��i
I���u)�H��H�rH�L�GH���\,�H��UH���M)�H��H�~rH�L�FH���4,�I��I�~rI�M�FH���,�H�
4'H��U3�M��HD�H���(�H�{rH�M�$H��H����+�H���K.�H�U�H��rH��H�M�脱�H�u��H�]�@�u�H�U�H��rH��H�M��]��H�u�H�]�@�u�H�UH��rH��H�M��;��I��H�CH;CtH�pH�pH��H�����H�C �L��H��H���:�I��H�ĈA_A^A]A\_^[]������������@SVWH��@I��H��H��H��h
�(�H��H�{rH�L�CH����*�H�Sh
H����'�H��H�rH�L�GH����*�H���*-�H��H�{rH�;L�CM��t�(H����H��tH+��H��H�d$0H�D$8�D$ L��E3�H��H�L$ �R��H��H�CH;CtH�`H�`H�T$ H������H�C �L�D$ H��H���b9�H�T$8H��r
H��H�L$ �ɯ�H��H��@_^[���������������H�\$H�t$H�L$WH�� H��H������H��H�D$0H��t)W���C�CH��d
H�H�KH������3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XWH��PH��H�L$@H�@�3�H�x�@�x�L�@ȍW�.���H�T$8H��r
H��H�L$ ���H��TH�H���H���H���H���H���H����H�L�H���H�� H��(H��0H��8H��@H��H��PH��@��`H��H�\$hH��P_��@SH�� H��H�� H��t+H��0H+�H����(��H�� H��(H��0H���H��t+H���H+�H������H���H���H���H�bD
H�K0H���	��H�S(H��rH�KH��谭�H�c H�C(�CH�� [���������̋B@9A@���BD9AD���A8.B8z{uyH�B H9A uoL�AL�IL�RM+�H�BI+�I��H��L;�uL�M��tGI�JM+�H�A�I9D�u#H�I9uH�AI9DuH�A�I9D�u��2�"�H�� I��u��2Ҋ���������������H�\$WH�� H�wR��H�H���B����t
�0H���p�H�\$0H��H�� _���H�\$WH�� ��H���<�����t
�hH���:�H�\$0H��H�� _�������������H�\$WH��@H�x5H3�H�D$83�D��H��8Y4u2��WW�H��P3�H�L$ D$ H�D$0�fH�L$ H�H��tH�AH��tH;WPwH;GXw�H�T$0H+�H������H�L$8H3���H�\$XH��@_��������H��H�XH�hH�pH�x AVH�� H���I�9��8��8H���I��H+�L��H��H��H��H��?H���H�OE2�D���L9I��L�	D
�H�� H;Ou�E��A��H;�vJI���H�wHH+�I��H��H��H��H��?H��H�E��tH��H���u�����tD���E2�H��HH+�u�E��tI��H���L�����u2�H�l$8��H�\$0H�t$@H�|$HH�� A^����������H�\$H�t$ UWAVH�l$�H��H�M�H�Z�zDE��H��H�\$ D��H��q5A�H�M�����A�H�\$ D��H��q5H�M���E3�H�\$ D��H�gq5H�M��޿��A�H�\$ D��H�Iq5H�M����A����A��~nA��t8A��uzH�E�H�E�H�M�H�MH�E�H���������H��H��H��H�U�3��RH�M�H���������H�M�H�M�H��H��H�EH��H�U�H�E���H�E�H�E�H�E�H�E�H�E��3�H�M�H�M�D�M�L�E�H�H�U�H�NH�NH�����L��$�H��I�[0I�s8I��A^_]�������H�\$H�t$ UWAUAVAWH�l$�H���H��t5H3�H�E'H��H��H�L$(H�U��d$ A�L�E�H�E��H�E��H�E��H�E��H�E�`H�E�@H�E� H�E�H�E�H�E�H�E�H�E�H�E�H�EH�EA�L�mE��W�3�H�AH!H!AH!AD�l$ E3�H�BH+H��H��t~3�I��I��3�I;�s
I�H;D͗r�H�N���I�I��3�H�t͗H��u�H�u�H�4�H�WH;Wt
H�H�H�G�L��H���t�H�L��M�H�CH+H��L;�A�r�H�H��tH�SH+�H��蜧�H�#H�cH�cH��H�M'H3��_�L��$�I�[@I�sHI��A_A^A]_]����H�\$H�l$H�t$WH�� 3�H��H�2H���rH�rH�r�n�jH�r H�r(��H��������XH�����������@��	C(D�ŋ�\����	C,L���H���I;�tL9A��L�
�H�� I;�u��u3L��(@��H�� L��I;�tL9A��L�
�H�� I;�u��t�H9��u	H9�@t�@8�`t	kH�l$8H��H�\$0H�t$@H�� _�H��H�XH�h H�HVWATAVAWH��0H��H��3��x�W�H�9H�yH�yD�gD�`�HcBDH�@H��k5D�|�D�t�H�JH�BH+�H��H��t`��L�D;�t&D;�t!H�SH;St
I�H�H�C�H���U��H�KH�A�I�H�A�I�H�� H�MH�EH+�H��H;�r�H�{H+;H���H;�s.L�d$hH+�H�SH;St
L�"H�C�
L�D$hH�����I+�u�H��H�\$pH�l$xH��0A_A^A\_^������������H�\$H�t$ UWAWH�l$�H��H��H�M�e�HcBDH�@H�lj5D�D��\��<ȃ��u��2�|��uA�@�D;�AL�D���C��A�@�D;�AL�D���C�;�LË�W�3�H�FD�xL�}H�E�	�fJ�E�cJ�E��E�H�U�H�M�����L�}�H�E��BJ�E��>Jf�E��6J�E��E�D��H�U�H�M'����L�}�H�E��J�E��Jf�E��E�D��H�U�H�M7�X����H�&H�fH�fD�M�L�EGH�UH���U����E�L�
���A�_E�G��H�M�T��H�U�H;�rH��H�M�莣�H�e�L�}��E�H�U�H;�rH��H�M��l��H�e�L�}��E�H�UH;�rH��H�M��J��H��L��$�I�[0I�s8I��A__]����������������H��(�
�h8eH�%XA�4H��A�9Ab8H�b8H��(�H�
,b8���= b8�u�W��a8�a8�a8H�
�a8��CH�
�����H�
�a8����������H�\$UVWATAUAVAWH��$���H���H�"n5H3�H���L�L$(I��H�T$ L��L�E�I�I�pE3�H;�tR���|��~�B�wI�������tH����H�H���~H�WH+�H����L�7L�wL�w�^I����Q@��t,��t��t��tE���A��A��A��A�I��L�t$@I��H�\$PL�?L�wM;�t_M+�I��H��H��������?H;���H��H��r
H���̠��
H��tH�����H��H�t$@H�H�\$PM��I��H����E;��t8H��P����u(E3�H����H+�H��H��H�������E���H��H;�tD9t	H��H;�u�H;�A����E3�A��E�GM��`I��XI;�tL9A��
�L�H�� I;�u��uOH��H;�t�8t	H��H;�u�H;�tA��t!H��H;�tD98t	H��H;�u�H;�tA��uA��E���E3�H��tH+�H��H��H���"��E���RH�D$ D8x9�Z���H��H�Mp���I�UL��
H�L$X�s��H��H���H;�tWH���H��rH��H���踟�fo`�f��D���)��K)��L�{H�CD�;H�T$pH��r
H��H�L$X�e��M��PI��H��@����A�F@���A�FD���H�E��D�H�T$xI�����H��H��H�������K@����CD���H�M�H��tH�U�H+�H������L�}�W�fE�fE�L�}�ED�}A�L�m0L�}(D�}L�}8L�}@�EHH�X�
H�E�3�EPH�E`H�L�M�L�EpH�UPH��P�H�UPH;UX��H�MP�	���H�6
H�E�H�u@H��t*������F�uH�H������F�u	H�H��PH�U0H��rH��H�M���L�}(L�m0D�}H�M�H��tH�UH+�H�����W�fE�L�}H�M�H��tH�U�H+�H���Ɲ�L�}�W�fE�H�Mp�a��H�H��tH�WH+�H��蘝�L�?L�L�2���L�|$(A�H�RH�L$0��H�H�PH� H�`I�OI�wI�W��H��t'����F�uH�H������F�u	H�H��PH�t$8H��t'����F�uH�H������F�u	H�H��PH���H������H���I�G0E�g8���A�G<��|��~���w��2�A�G@H���I��������A�F@���A�FDH�MP�,���H�,4
H�E�H�u@E3�H��t'����F�uH�H������F�u	H�H��PH�U0H��rH��H�M�'��L�}(L�m0D�}H�M�H��tH�UH+�H�����W�fE�L�}H�M�H��tH�U�H+�H���ݛ�L�}�W�fE�H�Mp�x��H�H��tH�WH+�H��诛�L�?L�L��H���H3��s�H��$8H���A_A^A]A\_^]�賹���@SH�� H�����H��H�� [����������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�}���	H���p���H���c���H���V���H���I���H���,���	H������H������H������H���������K0H�ˉC �C$����KH��H�� [����@SH�� H����?��E3���tbL���H�9��8��8H���I+�H��H��H��H��?H�tI�ID�9t+�9t&I��H��HL;�rꋓD�J����u��u��2�H�� [��@SH�� A�H���
��H��H�� [�������@SVWATAUAVAWH�� H�~e5H3�H��$I��I��L�D$PL��L��H�T$H3��|$DL�M��H��A�R8��uI�>I�~I�~I��� A�H��H��$@�U�L��$@H��$�A�L��$�@��$�M�MH�\$ M�D$H��$I��� ��W�3��$ H��$0I�$M��H��$ I��P@�H��$H�D$ L��$ M�D$H��$�I�����H��H��$�H;�tXH��$�H��rH��H��$�蜘�H��$�L��$�@��$��$�K�$�H�{L�{@�;H��$�H��rH��H��$��D��H��$ H��t2L��$ H��$(�!(�H��$0H��$ H+�H������H��$PH�t$XI���L�@A�A��H�H�H�H�� I;�u�H��I;�IB�H�T$xL��$�L��$�H�D$xH��$�H��$�H��$�H��$�H�N����H�VH��$��Q�H��H�L$`�4�H�N(H���X���H�L$`H��tH�T$pH+�H���=��L��$�H��$�@��$�H�D$PH��0H��$�H�L$0H�D$(H��$H�D$ L��$�M�D$H��$�I���`�H�H�PH�8H�xH�H�^H�V��H��t'����C�uH�H������C�u	H�H��PH��$�H��t(����C�uH�H������C�u
H�H��P�H��$�H��rH��H��$��E��I���I+��H�9��8��8H��H��L��I��?L�@�|$0@�|$(@�|$ E3�H�T$`I���]��H�L$XH��@H�����H�L$`H��tH�T$pH+�H���ѕ���;��$�H��$@H��$�+��I�>I�~I�~D�L$@L��$�H��$I����A�D�D$DL�
P��H��$���H��$H��rH��H��$�?��H��$L��$@��$H��$�H��rH��H��$��	��H��$�L��$�@��$�H��$@����\���H��$H��rH��H��$��3�H��$D�L��$@��$H��$�H��rH��H��$�腔�H��$�L��$�@��$�H��$@�@�H�D$HH��$H3��+�H�� A_A^A]A\_^[���������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�]����	H���P����H���3����	H���&�������C �C$H��H�� [��H�\$H�l$H�t$WATAUAVAWH�� H���9�����dL���H�9��8��8H���E3�I+�H��H��H��H��H��?H�t"I�GD�8�#�8�I��H��HL;�r⋃D��������L��03�A��A�H��tjI�H�2�A�H;OtL9A��L�
�H�� H;Ou��u+H�W�I���E���tH��H�O��1���u
H�(tE2�H��H��HH;�r�H��PA�H��XL���H+�H��H��t7L�E3�H�JI+�H��H��tA�8tI��I��L;�r��E2�H�� H��u�E��tM��uL9��u	E��t��2�H�\$PH�l$XH�t$`H�� A_A^A]A\_��H�\$WH��PH��H��I��H�L$0�S(�L�D$0H��H�L$ �pt��H�E3�L�GH�H�HH�OL�L�@H�\$(H��t,����C��uH�H������C��u
H�H��P�H�T$HH��r
H��H�L$0�v��H��H�\$`H��P_���������H�\$ UVWATAUAVAWH��$����H��PH��\5H3�H��@M��L���H��H�UxH��8�d$4W�3�H�PH���߰��A�D�l$4I����xDH�XH�\$ E3�D��L�%TV5I��H����UE��H���H��H��H��H�\$ E��D��I��H�M�%E��L�}L}L} L��H�\$ E�MD��I��H����D��L���I��I��M��H�\$ E3�D��H��U5H�����D��H�\$ E��D��H��U5H����D��H���H��H���H��H�A�EH��HDž�
��5�����5f���ƅ�E�EH���H������H��H�}xH���1����H��H��rH��H���脏�HDž`HDžX
��5��H�5f��PƅRL��H��HH���#���H��H������H��`H��rH��H��H���H����H���ƅ�L�
5E3��VH����ǒ�M��H���H������H��H���E���H����~H;�rH��H���薎�E3�L��H�� D��L�
�4E��H��H���U��M��H��H����>���H��L�exI����~���H�� H;�rH��H���#��H��@HDž8	�i4��(�c4��0D��1L��H��(H�M�����H��I���`~���H��@H;�rH��H��(贍�L��(H��0D��L�
0�
E�ǺH���t��E���H��H��x����L���H���D���L�
��
E�ǺH����(��E���H���H������W��E@L�}PD�L$0L���H��xH�M@�k���H�uHH�]@H;�tUI�T$I;T$t)L�:L�zH�CH��t�@H�H�H�CH�BI|$�L��I����H�H;�u�H�uHH�]@D�l$4H��tnH;�tJH�{H��t+����G��uH�H������G��u	H�H��P�H�H;�u�H�]@D�l$4H�UPH+�H���H���*��W��E@L�}PL�
��A�H��H��x���H���H;�rH��H������L����H���D���H��0H;�rH��H��豋�E8���*E8����L�}�H�M�D�}�L�
_�
E��H��H�M��`��E���H�U�H������H��I����{���H�U�H;�rH��H�M��7��H�E�H�E��E�O_QFD�}�M���H�U�H����e]��H��I���{���H�U�H;��wH�M��fH��PHDžHDž8O_QFD��<�A��H��8H�M��w��W��E(L�}8D�L$0L�E�H�U�H�M(�i���H�u0H�](H;�tUI�T$I;T$t)L�:L�zH�CH��t�@H�H�H�CH�BI|$�L��I����H�H;�u�H�u0H�](D�l$4H��trH;�tNA��H�{H��t+A����GA�uH�H��A����GA�u	H�H��P�H�H;�u�H�](D�l$4H�U8H+�H���H��趉�W��E(L�}8L�
���A�H��H�M��A��H��PH;�rH��8H���u��L��0A�L��8D�� I��I���H�KH+H�9��8��8H��H��H��H��?H���I��L��HDž���
������
���E3�D���E��I���I���H+�H��H��t2�H;�tI��H��L;�r��H���I��HC��L���D�H��H�L$X��A��D�l$4H�A�T@H�L$8誁��H��L�x�
H���H�M����L��L���T$0H�M��L0�A��D�l$4L�<�
H�U�H����\��L�L$XL���T$0H�M��0�A��D�l$4L�^(H�U�H����&��H��H�xrH�L�@H�� 踨�H���H��rH��H���軇�3�H����CH������H�U�H��rH��H�M�茇�CH�]�H�E��]�H���H��rH��H����b��H���H������H�U�H��rH��H�M��3��H�]�H�EЈ]�H�UH��rH��H�M��
��H�]�H�E�]�H�T$PH��rH��H�L$8���H�\$HH�D$P�\$8H�T$pH��r
H��H�L$X躆�I���I9����H��H�L$X��A��D�l$4L�D$XH��=
H�M��k�L���
H��H�L$8薄�I���D�H��H���k�H��I����v���H�T$PH��r
H��H�L$8�'��H�\$H�H�D$P�\$8H�U�H��rH��H�M���H�]�H�E��]�H�T$pH��r
H��H�L$X�օ�H��H�L$X�)�A�� D�l$4L�D$XH��<
H�M���L�ˡ
H��H�L$8�ƃ�I���D�DH��H�����H��I���u���H�T$PH��r
H��H�L$8�V��H�\$H�H�D$P�\$8H�U�H��rH��H�M��-��H�]�H�E��]�H�T$pH��rH��H�L$X���H��H��rH��H������H��I��HH��I���H�KH+H�9��8��8H��H��H��H��?H�H;�A������E3��H�� HDž��
����
��D��L�}L�} H�� H�M�@��L�EH��H��(�[��H��I���t���H�� �wH;�rH��H�����L�}�H�}�D�|$xL�
��
E�ǺH�L$x�ه�I��� ��D��H�T$xH�MX�O�H��I���Tt���H�U�H;�r
H��H�L$x譃�L��H��D��I��H�]�I��XI��PH��H+�H��H����H��H�����A��@D�l$4H��H��I�PH�H�GH+�H��H���{3�D�vI��H�L$X��A��D�l$4L���H�ܟ
H�M���L���H��H�L$8���L�L$XL���T$0H����*�A��D�l$4H�T$PH��r
H��H�L$8诂�H�d$HL�t$P�D$8H�U�H��rH��H�M�艂�H�e�L�u��E�H�T$pH��r
H��H�L$X�d�����6����������t(���;L���
H��H���Y����TH�L$X���A��D�l$4L�D$XH�v�
H�M���L��H��H���Y��H��I���\r�����TH�L$X�x�A��D�l$4�TH�L$x�`�A��
D�l$4L�D$xH�Z)H�MX�q�L��
H��H�����L�D$XH��H�M���L�\&H��H�M�t�L��H��H�����X��H��I���q���H�U�H��rH��H�M����3�H�]�L�u��]�H��H��rH��H������H���L�����H�UpH��rH��H�MX蹀�H�]hL�up�]XH�U�H��r
H��H�L$x藀�H�]�L�u��\$x�I�TH�L$X�8�A��	D�l$4�TH�M��!�A��
D�l$4L�E�H��&H�MX�3�L��&H��H����\~�L�L$XL���T$0H�L$x�(�A��D�l$4L��H�T$xH�M�&~�L��H��H��`�W��H��I���ep���H�U�H��r
H��H�L$x��3�H�]�L�u��\$xH��H��rH��H�����H���L�����H�UpH��rH��H�MX�i�H�]hL�up�]XH�U�H��rH��H�M��H�H�]�L�u��]�H�T$pH��r4H��H�L$X�%��%�TH��H��P����H��I���o���H�� H��rH��H����~�I��H��H�H�GH+�H��L;������L����E3�L��xA�_H���D��hL��XH��`D��HL��8H��@D��(L���H���D���H��(E8��tpH��$��z�L���H��$H�L$X�)}�L�͛
H��H�L$8�D|�H��H�����H�T$PH;�r
H��H�L$8��}�L�|$HH�\$PD�|$8�nH�Λ
�az�L���H�˛
H�L$X�|�L�]�
H��H�L$8��{�H��H�����H�T$PH;�r
H��H�L$8�~}�L�|$HH�\$PD�|$8H�T$pH;�r
H��H�L$X�X}�L�%�
H��(H�L$X��{�L���H��H�L$x�z�L�?�
H��H�L$8�F{�H��H��h��H�T$PH;�r
H��H�L$8��|�L�|$HH�\$PD�|$8H�U�H;�r
H��H�L$x��|�L�}�H�]�D�|$xH�T$pH;�r
H��H�L$X�|�L�t�
H��(H�L$X�{�L���H��H�L$x�Jz�L���
H��H�L$8�z�H��H��H�V�H�T$PH;�r
H��H�L$8�?|�L�|$HH�\$PD�|$8H�U�H;�r
H��H�L$x�|�L�}�H�]�D�|$xH�T$pH;�r
H��H�L$X�{�D9��W�3���H���L���H��D���H��H����Ax�H�WH+H��W����L���L���H��������H��H;�rH��H����d{�L���H��D���I��H�H�GH+�H��H���g3�D�cH�у<�+M��hI��pI+�H��D�LL;���C�.��z��Z�H�L$X�M��A��D�l$4L�l�H��(H�M��Ly�L�D$XH��H�L$x�i��L�Ř
H��H�L$8��x�H���I�H����H�T$PH��r
H��H�L$8�jz�H�d$HL�d$P�D$8H�U�H��r
H��H�L$x�Cz�H�e�L�e��D$xH�U�H��rH��H�M��z�H�e�L�e��E�H�T$pH��r
H��H�L$X�y�H�H��H��I�� H�GH+�H��H��H;������L�exE3�L��hH���H�L$X�f���H��H��h��H�T$p�H;�r
H��H�L$X�y�H���H�� L��HH�L$X����H��H��H�`�H�T$pH;�rH��H�L$X�Iy�H���H��t?L���H����iy�H���H���H+�H����y�W����L����O���T�1�������*������t&�A����nH��H����HD��S
L�Ӗ
H��hH�L$X�w�L��HH��H�L$8�Iv�H��H9prH�L�@H����<��H�T$PH;�r
H��H�L$8�Dx�L�|$H�H�|$PD�|$8�
L�T�
H��hH�L$X�v�L��HH��H�L$8��u�H��H9prH�L�@H�����H�T$PH;�r
H��H�L$8��w�L�|$H�H�|$PD�|$8�
L�Օ
H��hH�L$X�(v�L��HH��H�L$8�Su�H��H9prH�L�@H����F��H�T$PH;�r
H��H�L$8�Nw�L�|$H�H�|$PD�|$8�	L�V�
H��hH�L$X�u�L��HH��H�L$8��t�H��H9prH�L�@H����˗�H�T$PH;�r
H��H�L$8��v�L�|$H�H�|$PD�|$8�)	L�W�
H��(H�L$X�2u�L��hH��H�M��^t�L��H��H�M��t�L��HH��H�L$x�5t�L�M�H��H�L$8�t�H��H9prH�L�@H������H�T$PH;�r
H��H�L$8�v�L�|$H�H�|$PD�|$8H�U�H;�r
H��H�L$x��u�L�}�H�}�D�|$xH�U�H;�rH��H�M���u�L�}�H�}�D�}�H�U�H;�rH��H�M��u�L�}�H�}�D�}���у��8���|������u)H��hH9��HC�hL��xH����2��L���H���
H����3t�L�}L�} H���H�M�
��L�EH���H��@��L��H��I���e��L���H���
H�L$X��s�L���
H��H�L$8�r�H��H9prH�L�@H��莕�H�T$PH;�r
H��H�L$8�t�L�|$HH�|$PD�|$8H�T$pH;�rH��H�L$X�pt�H���H;�rH��H����Tt�H���H;�rH��H����8t�L���H���D���H��@H;�rH��H��(�t�L��8H��@D��(H��`H;�rH��H��H��s�H���H;�rH��H��h�s�H�����H�]�H��H�]�I��XI��PH��H+�H��H;���I��M���I���I+�H��H����A�T�H����	�A��D�l$4I�����H������A��D�l$4I�����H������A��D�l$4L���H��
H�������L��
H��H��h�q�L���H��H��H���L���
H��H��(��p�L���H��H���Q��L�U�
H��H����p�H��H9prH�L�@H���=��H���蠈�H��蓈�H��(膈�H��H�y��H��h�l��H����_��H����R��H����E��H����8��H��M���I���I+�H��H;��e���I��XI��PH+�H��H��H�����A��D�l$4L���H���
H����o��L�C�
H��H����o�H��H9prH�L�@H���+��H���莇�H���聇�H����t��L��hH��pD��XH��
H��X�m�L�D$0�T$0H��p�6��H��H��p��L��pH��XH����yH��H��I���>a���H��X���E8��u	E8��t63�I����a��H��H����R���H��I�������H�����I����m����uCH�Z�
H�����d�A�H���H�Mx���H��I���`���H����W��H���J��H�� �=��I��H��@H3�軬H��$�H��PA_A^A]A\_^]�L�q�
H��(H�L$X�8n�L��hH��H�L$x�cm�L�{�H��H�L$8�m�H��H9prH�L�@H����A��H�T$PH;�r
H��H�L$8�Io�L�|$H�H�|$PD�|$8H�U�H;�r
H��H�L$x�o�L�}�H�}�D�|$x�|L���
H��(H�L$X�m�L��hH��H�L$x�l�L���H��H�L$8�l�H��H9prH�L�@H���莏�H�T$PH;�r
H��H�L$8�n�L�|$H�H�|$PD�|$8H�U�H;�r
H��H�L$x�ln�L�}�H�}�D�|$x��H�cwI���D�@@���A�@�A�����A����A�����B�A���������H�L$X��L�k�
H��h�l�L��HH��H�L$8�k�H��H9prH�L�@H���蝎�H�T$PH;�r
H��H�L$8�m�L�|$H�H�|$PD�|$8H�T$pH;��6���H��H�L$X�vm��$���L��H��(��k�L��{H��H���{k�L��hH��H�M��k�L��
H��H�M��Sk�L��HH��H�L$x��j�L���H��H�L$8�)k�H��H9prH�L�@H���輍�H�T$PH;�r
H��H�L$8��l�L�|$H�H�|$PD�|$8H�U�H;�r
H��H�L$x�l�L�}�H�}�D�|$xH�U�H;�rH��H�M��xl�L�}�H�}�D�}�H�U�H;�rH��H�M��Wl�L�}�H�}�D�}�H�� H;�rH��H���0l�L��H�� D�����L���
H��(H�L$X�j�L��H��H����j�L�[�
H��H���j�L��hH��H�M��i�L�,�
H��H�M���i�L��HH��H�L$x�gi�L��H��H�L$8�i�H��H9prH�L�@H����E��H�T$PH;�r
H��H�L$8�Mk�L�|$H�H�|$PD�|$8H�U�H;�r
H��H�L$x�#k�L�}�H�}�D�|$xH�U�H;�rH��H�M��k�L�}�H�}�D�}�H�U�H;�rH��H�M���j�L�}�H�}�D�}�H�� H;�rH��H���j�L��H�� D��H��H;�rH��H����j�L���H��D��������B�A��������L�ۈ
H��(H�L$X��h�L��H��H����_h�L��xH��H���Hh�L��hH��H�M���g�L���
H��H�M�� h�L��HH��H�L$x�g�L�_�
H��H�L$8�g�H��H9prH�L�@H���艊�H�T$PH;�r
H��H�L$8�i�L�|$H�H�|$PD�|$8H�U�H;�r
H��H�L$x�gi�L�}�H�}�D�|$xH�U�H;�rH��H�M��Ei�L�}�H�}�D�}�H�U�H;�rH��H�M��$i�L�}�H�}�D�}�H�� H;�rH��H���h�L��H�� D��H��H;�rH��H�����h�L���H��D����"���L�4�
H��(H�L$X�+g�L��H��H����f�L� wH��H���f�L��hH��H�M��-f�L��H��H�M��yf�L��HH��H�L$x�f�L��H��H�L$8�Of�H��H9prH�L�@H������H�T$PH;�r
H��H�L$8��g�L�|$H�H�|$PD�|$8H�U�H;�r
H��H�L$x�g�L�}�H�}�D�|$xH�U�H;�rH��H�M��g�L�}�H�}�D�}�H�U�H;�rH��H�M��}g�L�}�H�}�D�}�H�� H;�rH��H���Vg�L��H�� D��H��H;�rH��H����&g�L���H��D����{���������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�-����H��������@	C H��	C$�K0趏��H��H�� [��������������L��I�[I�sWH��pA��DI��3�I�[�H�I�K�H�BH��H�BE3�H�BD��H�B H�B(�B0�B4H��+5����H�D$0H��+5A�H�D��H�\$ H�L$0���H�D$0H��+5A�H�FD��H�\$ H�L$0�w��A�H�\$ D��H�R+5H�L$P�X��H�L$0L�\$pH�D$PI�[H��H��H��H�FH��H�NH�F H�F(�F4��4I�sI��_�����������H�\$ UVWATAUAVAWH��$����H��PH�15H3�H��HI��L��H�U`H���E3�D�d$$W�3�H�B���E�l$D�l$$H���A�\$�{�x@��H���HDž�
�y����s����k���D���E��H���H�M������W��EL�e(D�L$ L�E�H�U�H�M�C���L�u H�]I;�tRI�WI;Wt(L�"L�bH�CH��t�@H�H�H�CH�BI�L��I�����H�I;�u�L�u H�]D�l$$H��trI;�tNH�{H��t/A��A����GA�uH�H��A����GA�u	H�H��P�H�I;�u�H�]D�l$$H�U(H+�H���H���c�W��EL�e(L�
�z�A�H��H�M��<��H���H;�rH��H����pc�L��0H��8D�� L�
�~
E�ĺH�� �+g�D���H�� H���蠿���L���H���D�epL�
�~
E�ĺH�Mp��f�D���H�UpH����]����W��E0L�e@D�L$ L���H���H�M0�DA���L�u8H�]0I;�tRI�WI;Wt(L�"L�bH�CH��t�@H�H�H�CH�BI�L��I���I��H�I;�u�L�u8H�]0D�l$$H��trI;�tNH�{H��t/A��A����GA�uH�H��A����GA�u	H�H��P�H�I;�u�H�]0D�l$$H�U@H+�H���H����a�W��E0L�e@L�
�x�A�H��H����q��H���H;�rH��H�Mp�a�L����H���D�epH��8H;�rH��H�� �va�A�D8���3D8����L�e�H�]�D�e�L�
#}
E��H��H�M��$e�D���H�U�H���蜽��H��I���Q���H�U�H;�rH��H�M��`�H�]�L�u��E�O_QFD�e�L���H�U�H����13��H��I���VQ���H�U�H;���H��H�M��`��wH��L��DžO_QFD�����H��H����=����W��EHL�eXD�L$ L���H���H�MH��>���L�uPH�]HI;�tRI�WI;Wt(L�"L�bH�CH��t�@H�H�H�CH�BI�L��I������H�I;�u�L�uPH�]HD�l$$H��trI;�tNH�{H��t/A��A����GA�uH�H��A����GA�u	H�H��P�H�I;�u�H�]HD�l$$H�UXH+�H���H���y_�W��EHL�eXL�
fv�A�H��H������H��H;�rH��H���5_�L��H�� D��I��H���H+��H�9��8��8H��H��H��H��?H���M��I�9��8��8H��(HDž ��z
����z
��D��M��H���H���H+�H��H��t2�H;�tI��H��L;�r��H��H��HC�L�� D� H��H�L$H���A��D�l$$H���A�T@H�L$(�`W��H��L�.z
H��H�L$h�\�L��L���T$ H�M���A��D�l$$L��y
H�U�H����\�L�L$HL���T$ H�M����A��D�l$$L��H�U�H�����[�H��H�xrH�L�@H���m~�H���H��rH��H����p]�L����H���D���H�U�H��rH��H�M��@]�L�e�H�]�D�e�H���H��rH��H����]�L���H���D���H�U�H��rH��H�M���\�L�e�H�]�D�e�H�U�H��r
H��H�L$h��\�L�d$xH�]�D�d$hH�T$@H��r
H��H�L$(�\�L�d$8H�\$@D�d$(H�T$`H��rH��H�L$H�}\�H��(H��rH��H���`\�H��I��HH���H+��I��H��H��H��H��?H�H;��R���L�}`�H��HDž��x
�����x
���D���L�eL�eH��H�M���w�L�E�H���H�M`�3��H��I���IL���H��D�wI;�rH��H����[�L�e�H�}�D�e�L�
.x
E�ĺH�M��e_�H��謯��D��H�U�H����ٷ��H��I����K���H�U�I;�rH��H�M��8[�L���H��D���I��H�]`H��XH��PH��H+�H��H���+H��H����L��E�D�l$$H��H��H�PH�H�GH+�H��H����E3�I��H�L$H���A�� D�l$$L���H�lw
H�L$h�Y�L���H��H�L$(�X�L�L$HL���T$ H����`�A��@D�l$$H�T$@H��r
H��H�L$(�?Z�H�d$8H�D$@�D$(H�U�H��r
H��H�L$h�Z�H�d$xH�E��D$hH�T$`H��r
H��H�L$H��Y�A����a����������t(���gL�w
H���H����0���<A�TH�L$H�O��A��
D�l$$L�D$HH��v
H�M��`��L��H���H���1��H��I����I����A�TH�L$H���A��
D�l$$A�TH�M�����A��D�l$$L�E�H��H������L�iv
H��H�M��W�L�L$HL���T$ H�M����A��D�l$$L��H�U�H�M���V�L��H���H���c0��H��I���(I���H�U�H��rH��H�M��X�3�H�]�H�E��]�H�U�H��rH��H�M��ZX�H�]�H�E��]�H��(H��rH��H���/X�H�� HDž(��H�U�H��rH��H�M��X�H�]�H�E��]��WA�TH�L$H���A��D�l$$A�TH�M����A��D�l$$L�E�H�)�
H�����L�
�
H��H�M��U�L�L$HL���T$ H�M��{��A��	D�l$$L�Z�H�U�H�M��U�L��H���H��(�/��H��I����G���H�U�H��rH��H�M��%W�3�H�]�H�E��]�H�U�H��rH��H�M��V�H�]�H�E��]�H��(H��rH��H����V�H�� HDž(��H�U�H��rH��H�M��V�H�]�H�E��]�H�T$`H��r5H��H�L$H�~V��&�ATH���H��h�2���H��I����F���H��H��rH��H����:V�I��I��H�H�GH+�H��L;��`���A�E3�L��`A�D$H��hD��PL���H���D���H���L��@H��HD��0HDž��?�
��p�6�
f��t�+�
��vD��wL���H��
H�L$H�xT�L�s
H��H�L$(�S�H��H��0H;�tUH��HI;�rH��H��0�9U�L��@�H��HD��0�0K�@L�cH�CD�#H�T$@I;�r
H��H�L$(��T�L�d$8�H�\$@D�d$(H�T$`I;�r
H��H�L$H�T�L��q
H��pH�L$H�5S�L���H��H�L$h�`R�L��r
H��H�L$(�R�H��H��P�l���H�T$@I;�r
H��H�L$(�UT�L�d$8H�\$@D�d$(H�U�I;�r
H��H�L$h�0T�L�d$xH�]�D�d$hH�T$`I;�r
H��H�L$H�T�L��p
H��pH�L$H�R�L���H��H�L$h�Q�L��q
H��H�L$(�Q�H��H���躾��H�T$@I;�r
H��H�L$(�S�L�d$8H�\$@D�d$(H�U�I;�r
H��H�L$h�~S�L�d$xH�]�D�d$hH�T$`I;�r
H��H�L$H�YS�D9g��W�3���H���L�� H��(D��H���H���O�H�WH+H��W����L���L��H����C����H��(I;�rH��H����R�L�� H��(D��M��H�H�GH+�H��H���l3�H�у<�8L��hH��pI+�H��D�LL;���C�.�z�Z�H�L$H�t�A��D�l$$L��`H��pH�M��P�L�D$HH��H�L$h����L�,p
H��H�L$(�+P�H���I�H�����H�T$@H��r
H��H�L$(��Q�H�d$8H�D$@�D$(H�U�H��r
H��H�L$h�Q�H�d$xH�E��D$hH�U�H��rH��H�M��}Q�H�e�H�E��E�H�T$`H��r
H��H�L$H�TQ�H�I��H��I�� H�GH+�H��H��L;������E3�L��PH���H�L$H��H��H��P����H�T$`A�I;�r
H��H�L$H��P�H���H�� L���H�L$H�|���H��H���轻��H�T$`I;�rH��H�L$H�P�H���H��t?L���H�����P�H���H���H+�H����lP�W����L����W���U�1�������*������t&�B����oH�.�H�#���HD���L�0n
H��PH�L$H�{N�L���H��H�L$(�M�H��L9prH�L�@H��0�p�H�T$@I;�r
H��H�L$(�O�L�d$8�H�|$@D�d$(�L��m
H��PH�L$H�N�L���H��H�L$(�+M�H��L9prH�L�@H��0�p�H�T$@I;�r
H��H�L$(�&O�L�d$8�H�|$@D�d$(�DL�2m
H��PH�L$H�M�L���H��H�L$(�L�H��L9prH�L�@H��0�o�H�T$@I;�r
H��H�L$(�N�L�d$8�H�|$@D�d$(��L��l
H��PH�L$H�
M�L���H��H�L$(�5L�H��L9prH�L�@H��0�(o�H�T$@I;�r
H��H�L$(�0N�L�d$8�H�|$@D�d$(�NL��l
H��pH�L$H�L�L��PH��H�M��K�L�;�H��H�M��L�L���H��H�L$h�K�L���H��H�L$(��K�H��L9prH�L�@H��0�pn�H�T$@I;�r
H��H�L$(�xM�L�d$8�H�|$@D�d$(H�U�I;�r
H��H�L$h�NM�L�d$xH�}�D�d$hH�U�I;�rH��H�M��+M�L�e�H�}�D�e�H�U�I;�rH��H�M��
M�L�e�H�}�D�e��0�ʃ������
���P��u)H��PL9�hHC�PL��`H��0�m�L���H�[k
H��(�K�L�eL�eH��0H�M��fh�L�E�H��(H��X�$��H��I����<��L��(H�k
H�L$H�<K�L�k
H��H�L$(�WJ�H��L9prH�L�@H�����l�H�T$@I;�r
H��H�L$(��K�L�d$8H�|$@D�d$(H�T$`I;�rH��H�L$H��K�H��@I;�rH��H��(�K�H��HI;�rH��H��0�K�L��@H��HD��0H���I;�rH��H��p�dK�L���H���D��pH���I;�rH��H����4K�H��hI;�rH��H��P�K�H���I;�rH��H����J�H�]`H��H�]`H��XH��PH��H+�H��H;����I��L���H���I+�H��H����A�T�H����^��A��D�l$$H�����H��x�>��A��D�l$$H�����H��`���A��D�l$$L��`H�.i
H����*��L�:g
H��H����SH�L��xH��H��@����L��h
H��H����%H�L���H��H������L��h
H��H��`�G�H��L9prH�L�@H����j�H��xI;�rH��H��`�I�L��pH��xD��`H���I;�rH��H����^I�L���H���D���H���I;�rH��H����.I�L���H���D���H��XI;�rH��H��@�H�L��PH��XD��@H���I;�rH��H�����H�L���H���D���H���I;�rH��H����H�L���H���D���H��xI;�rH��H��`�nH�L��pH��xD��`H���I;�rH��H��x�>H�H���I;�rH��H����"H�H��L���H���I+�H��H;��R���H��XH��PH+�H��H��H����=��A��D�l$$L���H��f
H�� ���L�}f
H��H����E�H��L9prH�L�@H����eh�H��I;�rH��H���iG�L��H��D��H��8I;�rH��H�� �9G�L��0H��8D�� H���I;�rH��H����	G�L��PH��XD��@H��e
H��@�qC�L���L���H���H����b�L���H��@H��H�e��H��I���*7���H��XI;�rH��H��@�~F�D8��u	D8��t,H���H����9����H��I���}����H����p��H���H9��t^H����t��H������H�)e
H����B�A�H���H��8�[���H��I���p6���H����#\�H����\�H���	\�I��H��HH3�臂H��$�H��PA_A^A]A\_^]�L�=d
H��pH�L$H�D�L��PH��H�L$h�/C�L�G�H��H�L$(�zC�H��L9prH�L�@H��0�
f�H�T$@I;�r
H��H�L$(�E�L�d$8�H�|$@D�d$(H�U�I;�r
H��H�L$h��D�L�d$xH�}�D�d$h�L�}c
H��pH�L$H�PC�L��PH��H�L$h�{B�L���H��H�L$(��B�H��L9prH�L�@H��0�Ye�H�T$@I;�r
H��H�L$(�aD�L�d$8�H�|$@D�d$(H�U�I;�r
H��H�L$h�7D�L�d$xH�}�D�d$h�[H�-MH����H@D����A���A�@�H�L$H�L�xb
H��p�����kB�L��H��H����A�L�`RH��H�M���A�L��PH��H�M��pA�L���H��H�M��A�L���H��H�L$h�GA�L�_�H��H�L$(�A�H��L9prH�L�@H��0�%d�H�T$@I;�r
H��H�L$(�-C�L�d$8�H�|$@D�d$(H�U�I;�r
H��H�L$h�C�L�d$xH�}�D�d$hH�U�I;�rH��H�M���B�L�e�H�}�D�e�H�U�I;�rH��H�M��B�L�e�H�}�D�e�H�U�I;�rH��H�M��B�L�e�H�}�D�e�H��I;�rH��H����wB�L��H��D������@�L��H��H����u@�L��PH��H�M��a@�L��PH��H�M���?�L��`
H��H�M��9@�L���H��H�L$h��?�L�x`
H��H�L$(�@�H��L9prH�L�@H��0�b�H�T$@I;�r
H��H�L$(�A�L�d$8�H�|$@D�d$(H�U�I;�r
H��H�L$h�A�L�d$xH�}�D�d$hH�U�I;�rH��H�M��]A�L�e�H�}�D�e�H�U�I;�rH��H�M��<A�L�e�H�}�D�e�H�U�I;�rH��H�M��A�L�e�H�}�D�e�H��I;�rH��H�����@�L��H��D��������L�R_
H��p�N?�L��H��H�����>�L�_
H��H�M���>�L��PH��H�M��S>�L��^
H��H�M��>�L���H��H�L$h�*>�L�B�H��H�L$(�u>�H��L9prH�L�@H��0�a�H�T$@I;�r
H��H�L$(�@�L�d$8�H�|$@D�d$(H�U�I;�r
H��H�L$h��?�L�d$xH�}�D�d$hH�U�I;�rH��H�M���?�L�e�H�}�D�e�H�U�I;�rH��H�M��?�L�e�H�}�D�e�H�U�I;�rH��H�M��?�L�e�H�}�D�e�H��I;�rH��H����Z?�L��H��D����z����L��]
H��P�=�L���H��H�L$(��<�H��L9prH�L�@H��0��_�H�T$@I;�r
H��H�L$(��>�L�d$8�H�|$@D�d$(H�T$`I;���H��H�L$H�>���L��H��p�*=�L�2MH��H�M��<�L��PH��H�M��B<�L���H��H�M��<�L���H��H�L$h�<�L�1�H��H�L$(�d<�H��L9prH�L�@H��0�^�H�T$@I;�r
H��H�L$(�=�L�d$8�H�|$@D�d$(H�U�I;�r
H��H�L$h��=�L�d$xH�}�D�d$hH�U�I;�rH��H�M��=�L�e�H�}�D�e�H�U�I;�rH��H�M��=�L�e�H�}�D�e�H�U�I;�rH��H�M��p=�L�e�H�}�D�e�������������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�}f���H���pf���H���Sg���H���Fg�����	C H��	C$�K0��e��H��H�� [����H�\$H�t$H�|$AVH��A��DI��3�H�\$ H�H�L$0H�BH��H�BE3�H�BD��H�B H�B(�B0�B4H��5��A�H�\$ E��H��5D��H�L$P���E�NH�\$ D��H��5H�L$p��E�NH�\$ D��H��5H��$���H�D$0L��$�H�D$PI�[H�D$pI�{ H��$�L�vH��H�H��L�vH�FL�v L�v(�F4���3I�sI��A^�@SUVWAVH��H�S5H3�H��$�H���������H�L$ D��H���[���H�L$ H���H9����H���H�9��8��8H���3�H+�H��H��L��I��?I��L�tH��H�WHH��耍����tAH�H��HI;�r�H�M3�H�EH+�H��H��t!H��H�y�uH�9uH�H�� H;�r��2�H�L$ 蟗����H��$�H3��wH��A^_^][����������������@SVWATAUAVAWH��@H�.5H3�H��$0M��I��H�\$XH��L��H�T$P3��|$DL�M��H��A�R8��uH�>H�~H�~H���A�H��H��$`�����L��$`L�t$`H��$A�L��$@��$�M�NL�l$ M�D$H��$I���˃���W�3��$0H��$@I�$M��H��$0I��P@�H��$H�D$ L��$0M�D$H��$�I���5z��H��H��$�H;�tXH��$H��rH��H��$��G9�H��$L��$@��$��$�K�$H�{L�{@�;H��$�H��rH��H��$���8�H��$0H��t2L��$0H��$8����H��$@H��$0H+�H����8�H��$pH�L$HW�3��$HH��$XH��$HI�����L��$HI�E�H+�H���H�� I�MI�MH��I�MH��H;�HB�H��$�H��$�H��$�H��$�H��$�H��$�H��$�L�t$HH��$�I�N�Q���I�VH��$��H��H�L$h裎��I�N(H����&��H�L$hH��tH�T$xH+�H���7�L��$�H��$�@��$�H�D$XH��0H��$�H�L$0H�D$(H��$H�D$ L��$�M�D$H��$�I���ς��H�H�PH�8H�xI�I�^I�VA��H��t3A����CA�uH�H��A����CA�u	H�H��PL��$HH��$�H��t3A����CA�uH�H��A����CA�u	H�H��PL��$HH��$�H��rH��H��$��6�H�D$`H���H+��H�9��8��8H��H��L��I��?L�@�|$0@�|$(@�|$ E3�H�T$hI���~��H�L$HH��@H���>%��H�L$hH��tH�T$xH+�H���#6��'�
��$�H��$`H��$ �}����H�>H�~H�~D�L$@L��$�H��$ H���ԓ��A�D�D$DL�
������H��$ �`p�H��$XI+�H��I���5�H��$(H��rH��H��$�y5�H��$ L��$(@��$H��$H��rH��H��$��C5�H��$L��$@��$�H��$`������H��$(H��rH��H��$�4�3�H��$ D�L��$(@��$H��$H��rH��H��$��4�H��$L��$@��$�H��$`�z���H�D$PH��$0H3��eqH��@A_A^A]A\_^[���@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�]���	H���]���H���s^���	H���f^���	C 	C$H�ÃH�� [����������������H�\$WH��0H��H�T$(3�L�D$ W�H��H�BH�QH+QH��H��H�H�GH�G�{��L�H�CH�S�H�
H�� I�M�@H;�u�H�\$PH��H��0_��������������H�\$H�l$H�t$WATAUAVAWH�� H��������"L���H�9��8��8H���3�L��0I+�H��A��A�L��I��I��H��?L�tjI�_H�2�A�H;KtL9A��L�
�H�� H;Ku��u+H�S�I���7�����tH��H�K��#�����u
H�{(tE2�H��H��HI;�r�H��PA�H��XL���H+�H��H��t7L�E3�H�JI+�H��H��tA�8tI��I��L;�r��E2�H�� H��u�E��tM��uL9��u	E��t��2�H�\$PH�l$XH�t$`H�� A_A^A]A\_����H�\$H�l$H�t$WH�� I��H��H��H;�tXH�H�#L�CH�cH�~H�L�FH��t+����G��uH�H������G��u	H�H��PH��H��H;�u�H�\$0H��H�t$@H�l$8H�� _���������������H�\$H�t$WH��0I��H��H��H;�tAH�OW��D$ H��t�AH�OH�H�T$ H�L$(H��H�D$ �o��u	H��H;�u�H�\$HH��H�t$PH��0_����������������H�\$UVWAVAWH��@H���4H3�H�D$8M��I��H��H��L�L$0M��H��H���B���H��L��H;����W��D$ H�OH��t�AH�OH�H�D$ H�L$(H�T$ I�����uOH�H�OH�'H�gI�I�wI�OH��t+����F��uH�H������F��u	H�H��PI��H��H;��l���L�}I�VH��rH��I���/�I�fI�FA�H��H�L$8H3��lH�\$xH��@A_A^_^]����������������H��H�XH�pWH��PH��H��H�P�H�H�`�H�`�H��H�H��\K�H��H�L$ 诡�@��H�T$8H��rH��H�L$ �D/�H�_H��t*������C�uH�H������C�u	H�H��P@��H�\$`H�t$pH��P_��������������@USVWAWH��H��H���4H3�H�E�I��H��H��H�M�H�U�H�]�H�e�A�L�}��E�A��tA���H�R�
E�G�
H�5�
M��H�M��YO�L�j�
H��H�M��,�H��H�xrH�L�@H�M��+O�H�U�H��rH��H�M��4.�H�e�H�e�H�U�H�M��
J�L�E�H��H�������H�U�H��rH��H�M��-�H�e�L�}��E�H�WH��rH��H���-�H�gL��H�SH��rH��H��-�H�cL�{�H��H�M�H3��yjH�ĀA__^[]�H�d�
H�M�����H���4H�M��G�����������H�T$SVWATAUAVAWH���H���4H3�H��$�M��I��L��$�L��H��H�L$`H��$�3ۉ\$XL�M��H��A�R8��uI�]I�]I�]I����
A�H��H��$����L��$L��$�H��$��H��$���$�M�L$L�FL�t$ H��$�H���v���W�3��$�H��$�H�M��H��$�H��P@�H��$��w�H��$��L�
��$��E�
��$���$�H��$�H��$��
H��$H��$��
��$��
��$��$	H��$H��$��X
H��$�H��$����
��$����
��$���$�L���
H��$�H��$P�g���H��$�H��$��v�
��$��o�
��$���$�L�r�
H��$�H��$`����H��$ H�D$PH��$8�w�H��$0�B�
��$ �8�
f��$$��$&H��$�H��$���$�L�
�
D��D�wA��H��$��.�I��$�D�HDL��$ H��$�H��$p����H��$@H�D$PH��$XH��$P���
��$@���
f��$D��$FH��$H��$��$�L�
��
D��A��H��$��.�I��$�D���L��$@H��$�H��$�����H��$`H�D$PH��$xH��$p�a�
��$`�W�
f��$d��$fH��$ H��$(��$L�
�
D�ÍWH��$�c-�E��$DL��$`H��$H��$��]����W��D$hH�\$xD�L$@L��$�H��$PH�L$h����H�t$hL��H�L$pH��H�L$PD�wH��$�H�L$HL;�tmH;�$�t7H�H�ZI�GH��t�@I�H�I�GH�BH��$�I�H��$��M��H��$�肺�H��$�M�H�L$pH�t$hH�D$P�A��H��t{H;�tTL�fM��t6A���A�D$A�u'I�$I��A���A�D$A�u
I�$I��PH�L$HI�H;�u�H�t$hL��$�H�T$xH+�H���H���(�W��D$hH�\$xL�
�>�A�I��H��$P�b�H��$�I;�rH��H��$���'�H��$�H��$���$�H��$�I;�rH��H��$��'�H�D$`H�HH�L$PH��$�H�T$ L��$�L��H��$�H���h��H��H��$�H;�tUH��$�I;�rH��H��$��0'�H��$�H��$���$��$�N�$�H�^H�~�H��$�I;�rH��H��$���&�H��$�H��t2L��$�H��$�踶�H��$�H��$�H+�H����&�H��$H�D$HW�3��$�H��$�I��$H��$��t�H��$�A��$DuH�H�VL�FH�F�H�NH�VL�FH��H�H��$�H��$�H��H���H�� I��H��H��$�H��$�H��$�H��$�H��$�L�d$HI�L$H��$��,����H��$�H��$�L��$�H��$�H��$�H��$�H��$�I�L$(H��$��ݐ��H��$HH��$@��$0H��$�H��0H��$0H�L$0H�D$(H��$�H�D$ L��$�L�D$PH��$�H�L$`�p��H�H�PH�H�XI�$M�d$H�D$HH�PM��t9A���A�D$A�u"I�$I��A���A�D$A�u
I�$I��PH��$�L��$�M��t9A���A�D$A�u"I�$I��A���A�D$A�u
I�$I��PH��$�H��$HI;�rH��H��$0�[$�L��$�I���I+��H�9��8��8H��H��L��I��?Lˆ\$0�\$(�\$ E3�H��$�H�L$`�il��H�L$HH��@H�����H��$�H��tH��$�H+�H����#�I���A��D;HDu;��u
�p�
��b�
��$@H��$H��$��t���I�]I�]I�]D�L$@L��$�H��$�I���b����L$XL�
6�����A�H��$���]�H��tH��$�H+�H��H���!#�H��$�I;�rH��H��$��#�H��$�H��$���$�H��$�I;�rH��H��$���"�H��$�H��$���$�H��$������H��$�A�I;�rH��H��$��"�3�H��$��{H��$���$�H��$�I;�rH��H��$��J"�H��$�H��$���$�H��$���H��$�H��$�H3���^H���A_A^A]A\_^[������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�K���	H���K���H����K���	H����K���K�	C 	C$H�ÃH�� [������������L��I�[I�s WH��`H��4H3�H�D$PH��H��I�S�H�YI�c�I�c�I�K�� =�L�L$(L�FH�H�L$ �:�H9t%L�H�VH����H��L��H�VH�����H�^H�WH��rH��H��� �H�gH�G�H�L$PH3��]L�\$`I�[ I�s(I��_�������������H�\$WH��PH�������tyH���H���H+�H-�H��Hs\D�CDH�C�H�D$ D��H���4H�L$0�����D$0u/D���H�CPD��H�D$ H���4H�L$0����D$0u��2�H�\$`H��P_�����L��I�[I�KUVWAVAWH��@I��H��E3�E�{�L�9L�yL�yL�yL�y L�y(L�y0L�y8�A@$tII��L�qHD�yPD�yXL�y`L�yhL�ypL�yxfD���L���A�G���ǁ�D���L���Hǁ�D���D����D$ I�K��H�H�PL�8L�xH�H�_H�WH��t+A����CA�uH�H��A����CA�u	H�H��PH�\$0H��t+A����CA�uH�H��A����CA�u	H�H��PL�D$xH��H�O�q}���G@$tIL�wHD�PD���H��H��$�H��@A_A^_^]�����H�\$WH�� H��H���{���H�ԹH���P��P��T��T��XH�\$0��XH�� _���H�\$H�t$H�L$WH�� H��H���p�YH��H�D$0H��t)W���C�CH���
H�H�KH���X����3�W�H�CH�H�_H��H�\$8H�t$@H�� _�@SH�� H���
H��H���t
�p�NYH��H�� [������@USVWATAUAVAWH��$���H���H��4H3�H���M��M��H��H��H�U�E3�D�d$tL�	M��I��A�Q8��uL�'L�gL�g�H�M��H���H��PHA�E��I��H������W�3�EpH���H�M��H�UpH��P@�H�^M�NL�|$ L��H���H���f���H���H�D$ L�MpL��H���H���K]���E�}L�}�L�e�D�d$xM�N0D�d$`D�d$XD�l$PD�d$HD�d$@H�D$xH�D$8H���H�D$0H���H�D$(H�\$ L���H��H����b���H�U�H��r
H��H�L$x����P��@H��H�M��gl���L�'L�gL�gD�L$pL�EhH�U�H����y��D�l$tL�
�x��M�ź�H�M��YV�H���H��rH��H�����L���L���D���H���H��rH��H����[�L���L���D���H�MpH��t0L�EpH�Ux�0��H���H�MpH+�H�����L�epW��ExH����w��H��H���H3���WH���A_A^A]A\_^[]������������@USVWATAVAWH�l$�H��@I��H��H�UE3�D�|$ W�3�H�B�v:��E�gD�d$ A�H�}�H�E��7�
�E��2�
�E�D�}�D��XH�U�H�M��su�����PH�M��Cr���L��
H��H�M��_�E��H��H�M��t���D9�T�_�uMH�|$xH�\$p��
�D$`��
f�D$d��
�D$fD�|$g�D$ E��H�T$`H�M(�:t��H���PH�|$XH�\$P���
�D$@���
f�D$D�}�
�D$FD�|$G�D$ 	E��H�T$@H�M��s��H�Ȼ�\$ W��EH�H�EH�AH�EL�9L�y�D$(L�|$8D�L$$L�EH�U�H�L$(����L�t$0H�|$(I;�tVH�VH;Vt*L�:L�zH�GH��t�D`H�H�H�GH�BH�F�L��H���ª�H��I;�u�L�t$0H�|$(�\$ A��H��tmI;�tFH�_H��t+A����CA�uH�H��A����CA�u	H�H��PH��I;�u�H�|$(�\$ H�T$8H+�H���H���c�W��D$(L�|$8L�
N/�D�B�H�M���R���t?���\$ H�} H��t/A����GA�uH�H��A����GA�u	H�H��P�\$ ��t2��H�T$XH��r
H��H�L$@���L�|$PA�L�t$XD�|$@�A���t?��\$ H�}0H��t/A����GA�uH�H��A����GA�u	H�H��P�\$ ��t'H�T$xH��r
H��H�L$`�Y�L�|$pL�t$xD�|$`H�U�H��rH��H�M��4�L�}�L�u�D�}�H�U�H��rH��H�M���L�}�L�u�D�}�H�U�H��rH��H�M����H��H��@A_A^A\_^[]������������@SH��PI���3�H�BH��H�BA�H�B�y@D�ADH�B H�B(�B4���B0H�AH��H�L$0H���4H�D$ ���H�D$0H�C�H�CH�C H�C(H��H�C�H��P[�������̃zu
A�xxu��2���������������@SH��0�ν
H���D$ ���H��H��0[������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�?���	H���?���H���?��H���+>���K ��K$H���&>���H��H�� [�����������@USVWATAUAVAWH��$��H��H��4H3�H��I��H�E�M��H��L��H�U�E3�D�|$tL�	L��I��A�Q8��uL�?L�L���L���L���W����I����~@���HDž��A��P��uyH�^H�\$ E3�D�FDL�=.�4I��H�L$x�1��H�D$xH���H�\$ A�D�FDI��H�L$x�	��H�\$ A�E��D�FDI��H�M�����H�D$xH�E���A�A;�uLH�^H�\$ E3�D�FDL�=��4I��H�M����H�E�H���H�\$ E�ND�FDI��H�M����E���^��uE3����uyE��H�^L�=X�4H�\$ D�FDI��H�M��S��H�E�H���H�\$ A�D�FDI��H�M��-��A�H�\$ D�FDI��H�L$x���H�E�H�D$xE3�H���HDž��L���L���M��I��H��0�B�W�3���H���I�$M��H���I��P@�I�\$M�MH�E�H�D$ L��H���I���\���H���H�D$ L���L��H��I���S����H�u�L�}�D�|$xM�M0D�|$`D�|$XD�t$PD�|$HD�|$@H�D$xH�D$8H���H�D$0H��H�D$(H�\$ L���H��@I���Y���H�U�H��r
H��H�L$x�J����
��pH��0H�M��b���L�?L�L�D�L$pL���H�U�H���p��D�t$tL�
�n��M�ƺ�H�M��L�H��(H��rH��H�����L�� H��(D��H��H��rH��H�����L��H��D���H���H��t?L���H����g��H���H���H+�H����M�L���W����H��0�n��H��H��H3��MH��A_A^A]A\_^[]����������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�-:���	H��� :���H���:��H���;9���K 3҃K$H���99���H���,9���H���9���H���9���H��H�� [�������L��I�[I�KUVWAVAWH��@I��H��E3�E�{�L�9L�yL�yL�yL�y L�y(L�y0L�y8�A@$tII��L�qHD�yPD�yXL�y`L�yhL�ypL�yxfD���L���A�G���ǁ�D���L���Hǁ�D���D����D$ I�K��0H�H�PL�8L�xH�H�_H�WH��t+A����CA�uH�H��A����CA�u	H�H��PH�\$0H��t+A����CA�uH�H��A����CA�u	H�H��PL�D$xH��H�O��m���G@$tIL�wHD�PD���H��H��$�H��@A_A^_^]�����H�\$WH�� H��H����u��H��H���P��P��X��X��\��\��dH�\$0��dH�� _���������������H�\$H�t$H�L$WH�� H��H���x��IH��H�D$0H��t)W���C�CH�?�
H�H�KH���8����3�W�H�CH�H�_H��H�\$8H�t$@H�� _�@SH�� H���
H��H���t
�x�IH��H�� [������@USVWATAUAVAWH��$���H��H�U�4H3�H���M��M��H��H��H�U�E3�D�d$tL�	M��I��A�Q8��uL�'L�gL�g�H�M��H���H��PHA�E��I��H�������W�3�EpH���H�M��H�UpH��P@�H�^M�NL�|$ L��H���H����V���H���H�D$ L�MpL��H���H���M���E�}L�}�L�e�D�d$xM�N0D�d$`D�d$XD�l$PD�d$HD�d$@H�D$xH�D$8H���H�D$0H���H�D$(H�\$ L���H�� H���S���H�U�H��r
H��H�L$x�G���`��PH��H�M��\���L�'L�gL�gD�L$pL�EhH�U�H���j��D�l$tL�
�h��M�ź�H�M��F�H���H��rH��H������L���L���D���H���H��rH��H�����L���L���D���H�MpH��t0L�EpH�Ux�p��H���H�MpH+�H����Y�L�epW��ExH���!h��H��H���H3��HH��A_A^A]A\_^[]������������@USVWAVH�l$�H��I��H��H�U'�e�W�3�H�B�*���E�H�E��H�}��Ȳ
�E��²
f�E��E�L��PH�U�H�M�JA���H�E�H�}׋7V
�E��1V
f�E��E�L��\H�U�H�M�A���W��E�H�e�D�M�L�E'H�UH�M�����L�u�H�]�I;�tQH�VH;Vt+H�"H�bH�CH��t�@H�H�H�CH�BH�F�L��H����H��I;�u�L�u�H�]�H��tfI;�tAH�{H��t+����G��uH�H������G��u	H�H��PH��I;�u�H�]�H�U�H+�H���H���	�W��E�H�e�L�
m �D�B�H�M�D�H�U�H��rH��H�M��D	�H�e�H�E��E�H�U�H��rH��H�M��	�H��H�İA^_^[]�������������H�\$H�t$UWATAVAWH��H��pI���L�5Y�4H�"H��H�bA�H�bH�bH�^H�b H�b(�b4�B0�B8I��D�~DE��H�\$ A�G��������H�M�����A�H�\$ E��H�M�I����L�e�H�M�L�e�E3�H�\$ L�'I��D�FD�μ��H�E�H�M�H�GI��D�FDH�\$ �D��詼��H�E�D�{H�GL;�H�E8H�]8HC�H�I��I;�IG�3�H��H�OH����H+�3�I��H��H��u�H�O�H�M��M���A�H�\$ E��H�M�I���3���H�E�H�M�H�E�E3�H�\$ H�GI��D�FD����H�E�A� H�ȃ�tH+�I�H�H�M�D�FDI��H�\$ �D���ֻ��H�E�H�GL�L�\$pH�_ I�s@H��H�_(I�[0I��A_A^A\_]������̃zu
A�xxu��2���������������@SH��0���
H���D$ ����H��H��0[������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P��/���	H����/���H����/���H���0���	H���0���H���0���K H�ÃK$�H�� [���������L��I�[I�KUVWAVAWH��@I��H��E3�E�{�L�9L�yL�yL�yL�y L�y(L�y0L�y8�A@$tII��L�qHD�yPD�yXL�y`L�yhL�ypL�yxfD���L���A�G���ǁ�D���L���Hǁ�D���D����D$ I�K��H�H�PL�8L�xH�H�_H�WH��t+A����CA�uH�H��A����CA�u	H�H��PH�\$0H��t+A����CA�uH�H��A����CA�u	H�H��PL�D$xH��H�O�c���G@$tIL�wHD�PD���H��H��$�H��@A_A^_^]�����H�\$WH�� H��H���k��H��H�H��PH�\$0H��PH�� _���������H�\$H�t$H�L$WH�� H��H���h��?H��H�D$0H��t)W���C�CH���
H�H�KH���h����3�W�H�CH�H�_H��H�\$8H�t$@H�� _�@SH�� H�S�
H��H���t
�h�?H��H�� [������@USVWATAVAWH��$ ���H���H�W�4H3�H���M��M��H��H��H�U�E3�D�d$tL�	M��I��A�Q8��uL�'L�gL�g�<H�M��H���H��PHA�I��H�������W�3�EpH���H�M��H�UpH��P@�H�^M�NL�|$ L��H���H����L���H���H�D$ L�MpL��H���H���C���A��VA��U�A��T�JA�L�}�L�e�D�d$xM�N0D�d$`D�d$X�T$PD�d$HD�d$@H�D$xH�D$8H���H�D$0H���H�D$(H�\$ L���H��H����H���H�U�H��r
H��H�L$x�,���@��@H��H�M��R���L�'L�gL�gD�L$pL�EhH�U�H����_���D$tL�
�^����A�H�M��x<�H���H��rH��H�����L���L���D���H���H��rH��H����z�L���L���D���H�MpH��t0L�EpH�Ux�O��H���H�MpH+�H����8�L�epW��ExH���^��H��H���H3���=H���A_A^A\_^[]�������������H�\$ UWAWH��H��`I��H��H�U��e�W�3�H�B� ���E�A�L�}�H�E��ڨ
�E��Ԩ
f�EĊ̨
�E��E���PH�U�H�M��B\��H��H����H�U�H��rH��H�M��P��TtbL�}�H�E��u�
�E��o�
f�EĊg�
�E��E�A�H�U�H�M��wZ��H��H����H�U�H��rH��H�M�����UtfL�}�H�E���
�E���
f�EȊ�
�E��E�A�H�U�H�M��Z��H��H����H�U�H��rH��H�M��v���Vt[L�}�H�E����
�E����
�E��E�A�H�U�H�M��Y��H��H�����H�U�H��rH��H�M����H��H��$�H��`A__]���������������L��I�[I�sWH��PH�"I��H�bH��H�bA�H�bH�b H�b(�b4�B0I����x@���B0H��4I���D�ADH�AI�K�I�C�����H�t$0H���4H�7A�H���D�ADH�AH�L$0H�D$ �ز��H�D$0A�H�GI;�H�D$hL�GHC�L�D$hH��H;�HG�3�H��H�OH��H��tI+�3�H��H��H��u�H�OH�\$`H��H�t$pL�G L�G(H��P_�����̃zu
A�xxu��2���������������@SH��0�^�
H���D$ ����H��H��0[������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�&���	H���&���H���&���	H���v'���H���i'���H���\'���K H�ÃK$�H�� [���������L��I�[I�KUVWAVAWH��@I��H��E3�E�{�L�9L�yL�yL�yL�y L�y(L�y0L�y8�A@$tII��L�qHD�yPD�yXL�y`L�yhL�ypL�yxfD���L���A�G���ǁ�D���L���Hǁ�D���D����D$ I�K��H�H�PL�8L�xH�H�_H�WH��t+A����CA�uH�H��A����CA�u	H�H��PH�\$0H��t+A����CA�uH�H��A����CA�u	H�H��PL�D$xH��H�O�aZ���G@$tIL�wHD�PD���H��H��$�H��@A_A^_^]�����H��H�XH�hH�p H�HWH�� H��H��`��6H��H�D$0H��t4W���G�GH���
H�H��H�O�$b��H���H�G�3�W�H�GH�H�~H��H�\$8H�l$@H�t$HH�� _�������������@SH�� H�[�
H��H���t
�`�n6H��H�� [������@USVWATAVAWH��$ ���H���H�7�4H3�H���M��M��H��H��H�U�E3�D�d$tL�	M��I��A�Q8��uL�'L�gL�g�!H�M��H���H��PHA�I��H���$����W�3�EpH���H�M��H�UpH��P@�H�^M�NL�|$ L��H���H����C���H���H�D$ L�MpL��H���H���p:���A�L�}�L�e�D�d$xM�N0D�d$`D�d$X�D$PD�d$HD�d$@H�D$xH�D$8H���H�D$0H���H�D$(H�\$ L���H��H����?���H�U�H��r
H��H�L$x�'����@��@H��H�M��I���L�'L�gL�gD�L$pL�EhH�U�H����V���D$tL�
�U����A�H�M��s3�H���H��rH��H�����L���L���D���H���H��rH��H����u��L���L���D���H�MpH��t0L�EpH�Ux�J��H���H�MpH+�H����3��L�epW��ExH���T��H��H���H3���4H���A_A^A\_^[]��������@SH�� W�3�H�BH�����H��H�� [��������������L��I�[I�kI�sWH��PI���3�H�H��H�BA�H�B�y@H�Y�yDD��H�BI�K�H�B H�B(�B4���B0H��4I�[����H�D$0H�̼4A�H�D��H�\$ H�L$0���H�D$0H���4�H�FD��H�nH�L$0H�\$ D�M蒫��H�D$0H�\$`H�FH��H�n H�n(H�t$pH�l$hH��P_����������@SH��0�~�
H���D$ ����H��H��0[������������@SH��0�N�
H���D$ 褝H��H��0[������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P����	H������H������H���v���	H���Y ���H���L ���H���? ���H���2 ���K H�ÃK$�H�� [���������������@SH��0�n�
H���D$ 脪H��H��0[������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P����	H������H������H������H������H���|���	H���_���H���R���H���E���H���8���H���+���H������K H�ÃK$�H�� [�����������L��I�[I�KUVWAVAWH��@I��H��E3�E�{�L�9L�yL�yL�yL�y L�y(L�y0L�y8�A@$tII��L�qHD�yPD�yXL�y`L�yhL�ypL�yxfD���L���A�G���ǁ�D���L���Hǁ�D���D����D$ I�K��H�H�PL�8L�xH�H�_H�WH��t+A����CA�uH�H��A����CA�u	H�H��PH�\$0H��t+A����CA�uH�H��A����CA�u	H�H��PL�D$xH��H�O�!R���G@$tIL�wHD�PD���H��H��$�H��@A_A^_^]�����H�\$WH�� H��H���+Z��H���H���PH�\$0��PH�� _�����������H�\$H�t$ WATAUAVAWH��@L�D$0L��H��H�L$8L��L+!L�qL+1I��I��������M;��!I��H�IH+H��H��H��I��H+�H;�vL�D$ H����,H�
M��I;�LC�M;���I��H��L�|$ H��rH�����H��H�D$(�#H��tH���-H��H�D$(�3�H�\$(L�|$ I���M�<H�D$0�AL�GH�H��M;�uL+��M��L+�sI�OL�GM+�I���`�H�H��tH�WH+�H������H�I��L�L�wH�H�OI��L�\$@I�[@I�sHI��A_A^A]A\_���������������H�\$H�t$H�L$WH�� H��H���h��,H��H�D$0H��t)W���C�CH��
H�H�KH������3�W�H�CH�H�_H��H�\$8H�t$@H�� _�@SH�� H�Ù
H��H���t
�h�,H��H�� [������@USVWATAUAVAWH��$���H���H�U�4H3�H���I��H�E�I��H��H�U�L��H�U3ۉ\$PL�	L��H��A�Q8��uH�H�_H�_�H���H+��I�9��8��8I��H��H��L��I��?L�H��H���i����H���Lc���
��L��L���H���I+�I��H��H��H��H��?H���M��\$TH�D$\H�D$d
I��L��L��H�\$x��K�H�D$pH��H����V��H�n�H�����P���L�D$@�H�������H���H�T$pH����T��H�L$p�A@�C@�AD�CDH��H�\$HI�L���H��`I��PHW�3��H��I�L���H��I��P@�H�E�H�D$ L���M�GH�� I����8���H�� H�D$ L��M�GH��@I���`/���H��`H�E�H��hH�E�H��pH�E�H�E�H�E�H�E�H�E�H�KI�H�U��Y��H��xH�E�H���H�E�H���H�E�H�E�H�E�H�E�H�E�H�K(I�H�U��}Y��H�EH�e�E�H�E�H�D$0H�F0H�D$(H�� H�D$ L��@M�GH�UI���W9��H�H�PH� H�`I�I�\H�D$HI�TH��t+����C��uH�H������C��u	H�H��PH�] H��t,����C��uH�H������C��u
H�H��P�H�UH��rH��H�M��9��D�d$XH�\$HH��@I�H�SH;StH�D$TH�H�C�
L�D$TH���_�H�SH;StH�D$\H�H�C�
L�D$\H���|_��E��}�H�L$HH��XI�H�QH;QtE��H�A�	L�E����H�SH;StH�D$dH�H�C�
L�D$dH���_�H�D$pH�@B<(H���H�����/�HF����H��XH��rH��H��@�(��3�H��PHDžX��@H��8H��rH��H�� ����H��0HDž8�� H��H��t?L��H���{�H��H��H+�H������H��W���H����J��I��L�L$xI��HL�L$xI�ƐL���H���I+�H�9��8��8H��H��H��H��?H�L;������H�}�����@H��H�M0�;���H�H�_H�_D�L$@L���H�U0H����H���D$PL�
�G����A�H�M0�{%�H���G��H��H���H3��'H���A_A^A]A\_^[]��������̋�PE3���t0��t%��t��t��uD�B�A��A��A�Hc�DH�@I�HH�
��4������������H�\$ UVWAVAWH�l$�H���M��H��H�U��e�W�3�H�B��	���E�A��PH�M�2C���L��H���
H�M��i�A�H��H�M��+D���W��E�H�e�D�M�L�E�H�U�H�M��(���L�u�H�]�I;�tQH�VH;Vt+H�"H�bH�CH��t�@H�H�H�CH�BH�F�L��H���*{�H��I;�u�L�u�H�]�H��tfI;�tAH�{H��t+����G��uH�H������G��u	H�H��PH��I;�u�H�]�H�U�H+�H���H������W��E�H�e�L�
��D�B�H�M��e#�H�U�H��rH��H�M����H�e��H�]��E�H�U'H��rH��H�M�v��H�e�H�]��E�L�
"�
E3�A�PH�M��B��I�����D��H�U�H�M��B��H��H������H�U�H��rH��H�M����H��H��$H���A_A^_^]��������������H�\$H�"L��H�bH�bH�bH�b H�b(�b4�B0I����ADA;�DA�L�Qtu��H�AuI+�H��H��rM�R`�I+�H��H��sM���M�R@L�H�QH�AH+�H��H��I��rH�B I�AH�QH�AH+�H��H��I��rH�I���\H�AI+�H��H��sM���M�R L�I��H�QH�AH+�H��H��I��rH�B@I�AH�QH�AH+�H��H��I��rH�B`I�AH�L$M;�L�D$� IC�L�L;�LG�3�I��M�YI��H��tM+�3�H��I��H��u�M�YH�\$I��M�A M�A(A�A4$tI����H��(�zuH���������t��2�H��(���������������H�\$ UVWAUAVH�l$�H��H�ٱ4H3�H�E'I��H��H�U��e�W�3�H�B�����E�H����pDD��DH��H�D$ A�D��H�J�4H�M��Q���A�H�}���L�mH�E���
�E���
�E���
f�E�EE�E�H�UH�M���?��H��H�������H�UH��rH��H�M�L��Hc�DH�@L�mL�m�I�
�E�F�
�E�@�
f�E�8�
�E�EH���4D�D�H�UH�M��b?��H��H���w���H�UH��rH��H�M����W�3�EH�EH�Mlj��H�I��|�W��EH�eD�M�L�E�H�U�H�M���H�]A;�t3�;�u��C�C�c���C�c�CL�m�H�u��f�
�E��b�
f�EߊZ�
�E��E�D�H�U�H�M��1?��H��H������H�U�H��rH��H�M�����L�m�H�u���
�E���
f�Eߊ�
�E��E�D�CH�U�H�M���>��H��H���6���H�U�H��rH��H�M����L�m�H�u��nj
�E��Ì
f�Eߊ��
�E��E�D�CH�U�H�M��q>��H��H�������H�U�H��rH��H�M��/��L�m�H�u��w�
�E��s�
f�Eߊk�
�E��E�D�CH�U�H�M��>��H��H���v���H�U�H��r
H��H�M�����H�UH+�H��H�����H��H�M'H3��H��$�H�ĠA^A]_^]������@SH�� W�3�H�BH����H�H;C��H�HI�9��8��8H+HE3�I��H��H��H��H��?HЅ�~rE��H�H�HI�D(H�8u/M�TI�BH��t H�Ѓ�tH+�H�� I�BI�D(H�@ H�A��I���H�HH+HI��H��H��H��H��?H�D;�|�H��H�� [��@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P��
���	H����
���H����
���H����
���H���
���H���
���H������	H������H���u���H���h���H���[���H���N���K ?3҃K$?H�˃��	���H���	���H���	���H���	���KH��H�� [������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P��	���	H����	���H����	���H���	���H���	���H���
���	H���
���H���r
���H���e
���H���X
����	C 3�	C$H�������H�������H������H������H������KH��H�� [����������������H�\$H�t$ UWAVH�l$�H��H�7�4H3�H�E?H��H�"H�bH�bH�bH�b H�b(�B0�b4I���3�H�MW��MH!M�xDH�XH�\$ E3�D��L�5��4I��H�M�袓��H�\$ A�D��I��H�M�舓��H�E�H�E�H�E�H�\$ A�D��I��H�M��a���H�E�H�E�H�\$ A�D��I��H�M��?���H�\$ A�D��I��H�M��%���H�E�H�E�H�E�H�E�H�E�H�E�H�E�H�U�H�M��I��W�3�E'H�E7�E�H!E�H�}L�uI;�tfL+�I��H��H��������H;���H��H��r
H������H��t
H����3�H�E�H�E�H�H�]�M��H��H���vH�]�H�U�H�M'�4��H�H�H�GH�FH�GH�FH�M'H�H�FH�AH�F H�AH�F(�F4��q5H�U7H+�H�����W��E'H�e7H�UH+�H��H���m��H��H�M?H3��>L��$�I�[ I�s8I��A^_]���@SH�� H��������t%H���H����PD�	9PDu
H��HH;�u��2�H�� [��@SH�� H���2�H��H�� [����������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P	�
���H������	H�������H�������K ��K$H�˃�N���KH��H�� [��@SVWH��PI��H���]�H���H���4A�H�L$0D�CDH�{H�|$ 貐��L�D$0A�L�A��H�SH��H�H�� H;�u�3�H��I��I��I;�HG�H����tH+�H��H��H��H�NL�NL�NH�F L�N(�F4��q5H��P_^[�������������H�\$H�t$H�|$UATAUAVAWH��H��PH���	������5H���H���H��H�zDD�H;�tD9@D�H��HH;�u탻@��H+�H�9��8��8H��E3�E3�H��H��H��H��?H���D��DL��3�L�d$ E��H�h�4H�M�D�K�k���H9]�v_H�G�D�H�G�4A�H�D$ H�M��C����M�����A��ueA�L�d$ E��H��4H�M�H������H�G�H;]�r�D�H�O�H�L$ H��4H�M�A����L}�I��H��HL;��G�����2�L�\$PI�[0I�s8I�{@I��A_A^A]A\]�������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�=���H��� ���K @��K$@H�˃����KH��H�� [������������H�\$H�t$WH��pI��H�����P��H���H��4A�H�L$0D�FDH�~H�|$ �ލ��H�D$0H�ž4H�H�L$0D�FDA�H�|$ 趍��H�D$0H�ȃ�tH+�H��H�CH���4D�FDH�L$0E3�H�|$ 聍��D�FDH�f�4H�|$ H�L$P�D���_���H�D$0H�D$PH�{H�CH�C H�{(L�\$p�C4���3I�sH��I�[I��_�����@SH��0�>�
H���D$ ��H��H��0[������������H�\$ UVWATAUAVAWH�l$�H��PM��H��H�UE3�D�d$$W�3�H�B�����D$$A�|$H�}�H�E��f�
�E��`�
f�E�D�e�M��PH�U�H�M�輪���H�}�H�E�	�7�
�D$x�3�
�E�D�e�I���I9��A��H�T$xH�M�4���W��D$(L�d$8D�L$ L�EH�U�H�L$(����L�|$0H�\$(E�l$I;�tOH�VH;Vt(L�"L�bH�CH��t�@H�H�H�CH�BLn�L��H���h�I�I;�u�L�|$0H�\$(H��tmI;�tFH�{H��t+����G��uH�H������G��u	H�H��PI�I;�u�H�\$(�H�T$8H+�H���H�����W��D$(L�d$8L�
���A�I��H�M��/�H�U�I;�r
H��H�L$x�h��L�e�H�}�D�d$xH�U�I;�rH��H�M��F��M���M;����A��@A9@@u^A��DA9@DuQM�PM�@M+�I��M��I��I+�H��L;�u(�M��t$M+�A����I�K9
Dъ�M�I I��u��A��H�}�H�E��E�BIASD�e�M���H�U�H�M ����H�|$pH�|$h�
�D$X�
�D$`��~
f�D$d��~
�D$fD�d$gD��H�T$XH�M0��1���H�}�H�E���~
�E���~
�E�D�e���A��H�U�H�M@�1���W��D$@L�d$PD�L$ L�EPH�U H�L$@�z����L�t$HH�\$@I;�tOH�VH;Vt(L�"L�bH�CH��t�@H�H�H�CH�BLn�L��H���}f�I�I;�u�L�t$HH�\$@H��tqI;�tJA��H�{H��t+A����GA�uH�H��A����GA�u	H�H��PI�I;�u�H�\$@�H�T$PH+�H���H���#��W��D$@L�d$PL�
��A�I��H�M ��H�U�I;�rH��H�M�����L�e�H�}�D�e�H�T$pI;�r
H��H�L$X����L�d$hH�|$pD�d$XH�U�I;�rH��H�M����H��H��$�H��PA_A^A]A\_^]��L��I�[I�KUVWAVAWH��@I��H��E3�E�{�L�9L�yL�yL�yL�y L�y(L�y0L�y8�A@$tII��L�qHD�yPD�yXL�y`L�yhL�ypL�yxfD���L���A�G���ǁ�D���L���Hǁ�D���D����D$ I�K��H�H�PL�8L�xH�H�_H�WH��t+A����CA�uH�H��A����CA�u	H�H��PH�\$0H��t+A����CA�uH�H��A����CA�u	H�H��PL�D$xH��H�O��0���G@$tIL�wHD�PD���H��H��$�H��@A_A^_^]�����H�\$H�t$H�L$WH�� H��H���8�\
H��H�D$0H��t)W���C�CH�_{
H�H�KH���(�3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H�\$H�L$WH�� H��H�������H��~H�������������������������������������������������������������������������������������������������������H���H����4���H��H���x4���H��H�\$8H�� _����������@SH�� H��y
H��H���t
�8��H��H�� [�����̋��H������������������H�\$H�t$UWAVH�l$�H��H���4H3�H�E7��H��E2�A�H�YL�L;C��M9P��D
�M�I�� L;Cu�E����H�\$ A�D�ADL�5�4I��H�M����HcFDH�@I��LcBE���L�J3��3��:����H��I;�u�A�@;���M��H�}�I��H��H�H;|(��W�3�E�H�E�H��H�M����I��Lu�I�>�^@�~D�F8�D$ L�N0L�F H�U�H�M��^��]'�}+H�9�H�E�E2�A�H�M�H��H;M�t\L9J��D
�L�
H�� H;U�u�E��t?H��tH�U�H+�H����e��H�e�W�fE�H�M�H��tH�U�H+�H����?��2��=H��tH�U�H+�H����&��H�e�W�fE�H�M�H��tH�U�H+�H������H�M7H3���
L��$�I�[(I�s0I��A^_]�����������H�\$WH��H�t�4H3�H�D$pH��H��H��H�L$ ��{:uH�T$ H�������u2���H�L$(H��tH�T$8H+�H����i���H�L$pH3��:
H��$�H�Ā_����������@SH��H��4H3�H�D$pH��H��H�L$ ��H�T$ H�������u&H���H�T$ H���r2���D$`�C@�D$d�CD��2�H�L$(H��tH�T$8H+�H��������H�L$pH3��	H�Ā[������������@USVWATAUAVAWH��$x���H��H�5�4H3�H��pL�L$xM��H��L��H�U�H���H���3ۉ]�H�M��I��P8��u5H�H�^H�^H�WH��rH��H����H�_�H�_���A�I��H��0�t����L��0A8_6t	fDž�I�I��PX��tI��������I�D���E��M��H��I��PhH��������uH�H�^H�^H��0�^(���F���H�E�H�E�I�M��H�U�I��PHH��M�H�U�I��A�P �H�D$ L���L��H�\$xH��I���(����u:E3�L�6L�vL�vH��0��'���H�WH��rH��H�����I�M��H���I��PP�W�3���H���I�L��M��H���I��P`�M�OH�\$ L���H���I������H���H�D$ L���L���H��I���'���H��@I���I9����M�M0A����D$`A����D$XA�D�|$P�T$HD�|$@H�|$8H���H�D$0H��H�D$(H���H�D$ L��H��I�����H�D$xE3�H�K@H�QH;QtH�D$xH�H�A�
L�D$x�R<���4��pD���H��0H�M�����L�6L�vL�vD�L$pL���H�U�H���g'��D�}�L�
<&��M�Ǻ�H�M���H��(H��rH��H���.��L�� �H��(D��H��H��rH��H������L��H��D���H���H��t?L���H�����X�H���H���H+�H������L���W����H���H��rH��H����|��L���H���D���H��0�;%���H�WH��rH��H��E��L�wH�_D�7H��H��pH3��H�ĈA_A^A]A\_^[]�����H�\$H�t$ UWATAVAWH�l$�H��@H���4H3�H�E0L��L��H�M�H���H�M����H�K�H�E�W�3�H�D$`H�D$hH�D$pH�D$xH�E�H�E�H�E�H�E��E�H�E�D�L$0L�E�H�T$`H�M�����A���L�e�I�$A���I�D$A��DI��H�\$ E3�D��H���4H�L$8�{��A�����A���A���H�D$8H��H��H��H�H�\$ A�D��H�q�4H�L$8�w{��A�����A���A���H�D$8H��H��H��H�H�E�H�D$ E3ɋ}$D��H�$�4H�L$8�*{��+t$8A+4$�H�Hc�I�D$H�E�H�D$ A�D��H��4H�L$8��z��+\$8A+\$�H�Hc�I�D$W��M�H�u�L�D$0�VH�M�虧�M���D�ND��H�E�H�M�H+�H��H��tY��M��A�DI�CH�M�H�H�H�E�L�LH�M�H�DHDHL��I��M�@H�R H�E�H+�H��L;�r�W��D$ E3�E3�H�U�I���2��E A�G@A�DH��I�H�M�H��tH�U�H+�H����d��W��E�H�u�H�U�I+�H���I���E��H�M�H��tH�U�H+�H����+��I��H�M0H3��L��$@I�[@I�sHI��A_A^A\_]�H�\$ UVWATAUAVAWH��$p���H��H���4H3�H���M��M��L��H���E3�D�d$4W�3�H�B�G��D$4I���I���H�_H�\$ E3�D�GDH���4H��h�x��H�\$ E�L$D�GDH�ى4H�M���x���FH�E�H�_(H+؋H��pH+�IH�A�|$H��HDž��
�����
f���D���M���H���H�������H�}�A�|$H�}��
�E��|
f�EԊt
�E�D�e�L��H�U�H����L�����wH���HDž�H�DILATIONH���D���M���H���H��������L���H���D�epL�
�
E�čW	H�Mp���E���E���H�UpH���+���L�e`H�uhD�ePL�
�
E�čWH�MP����L��H�UPH�������L�e@H�uHD�e0L�
�
E�čWH�M0���E���H�U0H�� ����L�e H�u(D�eL�
5�E�čW
H�M�f��E���H�UH��0�����H�u�H�}��'
�E��!
f�E��
�E�D�e�E��A���A��H�U�H��@����W��D$8L�d$HD�L$0L��PH���H�L$8�y����H�t$@H�\$8A�|$H;�tOI�VI;Vt(L�"L�bH�CH��t�@H�H�H�CH�BI~�L��I���wS�H�H;�u�H�t$@H�\$8H��tmH;�tFH�{H��t+����G��uH�H������G��u	H�H��P�H�H;�u�H�\$8H�T$HH+�H���H���!��W��D$8L�d$HL�
��A�H��H�����H�U�H;�rH��H�M����L�e��H�]�D�e�H�U(H;�rH��H�M��L�e H�](D�eH�UHH;�rH��H�M0��L�e@H�]HD�e0H�UhH;�rH��H�MP�y��L�e`H�]hD�ePH���H;�rH��H�Mp�U��L���H���D�epH���H;�rH��H����(��L���H���D���H�U�H;�rH��H�M���L�e�H�]�D�e�H��H;�rH��H����׿�E8����H��(HDž DžW_QFD��M���H��H�������W��D$PL�d$`D�L$0L���H���H�L$P���H�t$XH�\$PH;�tOI�VI;Vt(L�"L�bH�CH��t�@H�H�H�CH�BI~�L��I����P�H�H;�u�H�t$XH�\$PH��tmH;�tFH�{H��t+����G��uH�H������G��u	H�H��P�H�H;�u�H�\$PH�T$`H+�H���H��螾�W��D$PL�d$`L�
���A�H��H����$��H��(H;�rH��H���X��HDžHHDž@Dž0I_QFD��4�A��H��0H��������W��D$hL�d$xD�L$0L���H���H�L$h�y����H�t$pH�\$hH;�tOI�VI;Vt(L�"L�bH�CH��t�@H�H�H�CH�BI~�L��I���|O�H�H;�u�H�t$pH�\$hH��tmH;�tFH�{H��t+����G��uH�H������G��u	H�H��P�H�H;�u�H�\$hH�T$xH+�H���H���&��W��D$hL�d$xL�
��A�H��H�����H��HH;�rH��H��0���E8��tqL��`H��hD��PL�
��E��H��H��P��E���H��PH����	��H��I�������H��hH;���H��P�p�A��.
?z�`H���HDž�DžpO_QFD��tH��pH��������W��E�L�e�D�L$0L���H���H�M��z����H�u�H�]�H;�tMI�VI;Vt(L�"L�bH�CH��t�@H�H�H�CH�BI~�L��I���M�H�H;�u�H�u�H�]�H��tiH;�tEH�{H��t+����G��uH�H������G��u	H�H��P�H�H;�u�H�]�H�U�H+�H���H���-��W��E�L�e�L�
��A�H��H�����H���H;�rH��pH�����E8���yL���HDž�D���L�
�*
E�ĺH���蘾�E���H���H����
���W��E�L�e�D�L$0L���H���H�M����H�u�H�]�H;�tMI�VI;Vt(L�"L�bH�CH��t�@H�H�H�CH�BI~�L��I���K�H�H;�u�H�u�H�]�H��tiH;�tEH�{H��t+����G��uH�H������G��u	H�H��P�H�H;�u�H�]�H�U�H+�H���H��觹�W��E�L�e�L�
���A�H��H����/��H���H;�rH��H����c��W�A����E�A����E�A�EP�E�A�EX�E�A�E`�EA�E8�EA�E@�EA�EH�E��hL��xD�L$0L�EH�U�H��h�
��H��hH��L��pI;�tH�S��9HB�H��I;�u�W�3��PH��`H��P�����H��PI����$���H��PH��t?L��PH��X�{H�H��`H��PH+�H����a��L��PW���XH��tH��xH+�H��H���4��I��H���H3���H��$�H�ĐA_A^A]A\_^]��������H�\$H�l$VWAVH��P��$�I��L��D��H�T$0I��H�����L�Ή\$(L��H�D$ I��H����L�\$PI��I�[ I�k0I��A^_^�������������H�\$H�t$ UWATAVAWH�l$�H��H�#�4H3�H�E/H��E3�L�"L�bL�bL�bL�b L�b(D�b0D�b4A��@���B0W��M�L�eA��D�F�I��H�\$ D��L�5�|4I�֩��������uWE3�H�M��vk��H�E�H�E�H�\$ E�|$E��D��I��H�M��Rk��H�\$ E�L$D��I��H�M��9k��H�E�H�E��A�H�M��k��H�\$ A�D��I��H�M��k��H�E�H�E�H�E�H�\$ E3�D��I��H�M���j��H�E�H�E�H�\$ A�E��D��I��H�M��j��H�E��vE3�H�M��j��H�E�H�E�H�\$ A�E��D��I��H�M��j��H�E�H�\$ H�E�A�D��I��H�M��`j��H�\$ A�D��I��H�M��Fj��H�E�H�E�H�E�H�E�H�E�H�E�H�E�H�U�H�M��� ��W�3�EH�E'�E�L�e�L�u�H�uL;�tgI+�H��H��H��������H;��H��H��r
H��觴��H��t
H�����I��H�E�H�E�H�H�]�L��I��H����H�]�H�U�H�M����I�H�I�FH�GI�FH�GH�MH�H�GH�AH�G H�AH�G(L�PL�XL�`L�@L�g8L�gH�G4$tIH�U'H+�H��蕴�W��EL�e'H�UI+�H��I���v��H��H�M/H3��G�L��$�I�[0I�sHI��A_A^A\_]���������H�\$H�t$ WH��@H��4H3�H�D$8�zI��H��ucA�xxu\H�L��H�T$ 2�PHH�L$ H��H;L$(tD���D;��H��
�H;T$(u�H��tH�T$0H+�H�����u8_9t��2�H�L$8H3���H�\$`H�t$hH��@_�����@USWAVH��H��xI��H��H�U�e�W�3�H�B�d��E�A�L�u�H�E��
]
�E��]
f�E��E�H���A�L�E�H�M��\����H��H���@���H�M�H��t.L�E�H�U��B�H�U�H�M�H+�H������H�e�W��E�H�U�H��rH��H�M��²�L�u�H�E��g�E��g�E��E�L�E��	H�M�����H��H������H�M�H��t.L�E�H�U��kB�H�U�H�M�H+�H����W��H�e�W��E�H�U�H��rH��H�M��4����tqH���H;��ta�x@	u[H�e�L�u��E�L�
�[
E3�A�PH�M����L�y�H�U�H�M��̈��H��H���a����H�U�H��rH��H�M�躱�H��H��xA^_[]��������������@SH��0H�H�ڃL$ ��PH��H��0[����@SH�� H�"H�ڃbH�˃b�b�b�b�b �b$�b(�b,�B�����	H������H������H���t���H���W���	H���J���H���=���H���0����H������H������H���v���K H�ÃK$���c�K�H�� [�����@USVWAVH�l$�H���H�.|4H3�H�E/I��H������3�H�E��DH��H�\$ E3�D��L�5�u4I��H�M���d��H�E�H�E�H�\$ A�D��I��H�M��d��H�E�H�E�H�\$ A�D��I��H�M��d��H�\$ A�D��I��H�M��ed��H�E�H�E�H�E�W��E�H�eD�M�L�E�H�U�H�M��V��W�3�EH�E'�E�H!E�H�}�L�uI;�tfL+�I��H��H��������H;���H��H��r
H�����H��t
H�����3�H�E�H�E�H�H�]�M��H��H����H�]�H�U�H�M����H�H�H�GH�FH�GH�FH�MH�H�FH�AH�F H�AH�F(H�U'H+�H���ή�W��EH�e'H�UH+�H��H��议�H��H�M/H3���H���A^_^[]����������������@SH�� H���2�����tfH�����@�@@;�u��t	�G�ȃ�wD�A������u:��
t5���t,���u#���uH���H;��t
�y@u��2�H�� [�H��SH��PH�`�L�
LX
E3�H�L$ H��H�@�H�H��@�A�P踱�H�T$(H�����H��W
H�H��H��P[���������H�\$WH�� H�W
��H�H���r�����t
�@H���0�H�\$0H��H�� _���@USWAVH��H��xI��H��H�U�e�W�3�H�B�4��E�H��H�M��A��E�XA�L�u�L�u��W
�E��|W
�E��vW
f�E��nW
�E��E�D�E�H�U�H�M��8��H��H���M����H�U�H��rH��H�M�覬�H�e�L�u��E�L�
"W
E3�A�PH�M��r��D�E�H�U�H�M�����H��H������H�U�H��rH��H�M��N��L�u�L�u���V
�E���V
�E���V
f�E���V
�E��E�D��H�U�H�M��x��H��H��荜���H�U�H��rH��H�M����H��H��xA^_[]����������L��SH��`�L$(�3�I!C�W�I�C�H��H�B�D$8I�C�I�C�H�T$0����H�H;Ct�@@���3H��H��`[����������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P	����H�������	H���s���K H�ÃK$�K��H�� [���������H�\$UH��H��PH��H�U�I��H�M���H��u�M��!��u	�E���E���t�E�D�M�L�E�3�H�U�H�H��H�CH�C衬�H��H�\$`H��P]����H��H�XH�pH�xL�p UH�h�H��A��I��L�����H��A�F4��4H�M�^D��DH��E3�H�|$ H��o4�H�MHcp�E��^��HcM�3�H�EA�H��H�qo4H�|$ I�H�MD��D�i^��HcM�3�H�EA�H��H�?o4H�|$ I�FH�M��DD���4^��A�H�|$ D��H�o4H�M7�^��H�EL��$�H�E7I�[3�I�{ H�H��I�sI�FI��I�FI�F I�F(M�s(I��]����������H�\$H�|$UH��H��pH��������������������������D��DH��A�H�|$ H�:n4H�M��A]���E�?������������H��H�M����E��}�u
H�E�H�� ��tgD��DH��m4E3�H�|$ H�M���\��HcM�3�H�E�H��H��u6D��DD�JH��m4H�|$ H�M��\��HcM�3�H�E�H��H��u��2�L�\$pI�[I�{I��]�����������H��H�XH�pL�`UAVAWH�h�H��D��DH��L��H�t$ H��L�%!m4I��H�M�E3�E���\��E3�H�t$ H�}�E��I����H�M�[��A�H�t$ E��H�M'I����[��A�H�t$ E��H�M�I����[��A�H�t$ E��H�M�I���[��H�MH��$I�$I�$E�G8L�M�L�M�H��M��I��H+�H��H�H��L��L�M'I��M;�҃�K�	��M;ȋ�IC���I;�C‰C�H�M'�9[��H�}'u��C�gE3�H�t$ E��H�M'I���[��H�}'u��C�C�:E3�H�t$ E��H�M'I����Z��H�}'8u����C�CL��$�H��I�[ I�s(M�c0I��A_A^]������@USVWATAUAVAWH��$���H��M��M��H��H�U03��|$4W�3�H�B���D$4D�wL�u(H�E �hP
�E�dP
f�E�\P
�E@�}M��L�d$ �_D��E��DH��j4H�M���Y��L�E�I��MGH3�I��I�wHL+�H�UH�MP�&���L�u�H�]�DXf�E�@�}�M�GPH�U�H�M`����L�u�H�]��DYf�E�@�}�M�GXH�U�H�Mp�����H�}�L�u�@�}�L�
�O
D�ǍWH�M�赨�E���A��H�U�H��������H�}�L�u�@�|$pL�
�O
D�ǍWH�L$p�u��L��H�T$pH����\{���H�|$`L�t$h@�|$PL�
eO
D�ǍWH�L$P�5��L��H�T$PH����{���W��D$8H�|$HD�L$0L���H�UPH�L$8蓂���L�t$@H�\$8I;�tQH�VH;Vt)H�:H�zH�CH��t�@H�H�H�CH�BH�F�L��H���5�H��I;�u�L�t$@H�\$8H��tkI;�tDH�{H��t+����G��uH�H������G��u	H�H��PH��I;�u�H�\$83�H�T$HH+�H���H���@��W��D$8H�|$HL�
+��A�E�p
A��H�MP����H�T$hI;�r
H��H�L$P��H�|$`�H�\$h@�|$PH�U�I;�r
H��H�L$p�Ӣ�H�}�H�]�@�|$pH�U�I;�rH��H�M�豢�H�}�H�]�@�}�H�U�I;�rH��H�M�萢�H�}�H�]�@�}�H�U�I;�rH��H�M��o��H�}�H�]�@�}�H�U(I;�rH��H�M�N��A��DL�d$ E3�D��H��g4H����V��L�d$ A�E��D��H��g4H����V��L���L���I��MG83�I��I�w8I�GXH+�H��I�3�I�wX3�I�w H��t[H�EH�E	��L
�E��L
�E�@�}�E��H�U�H�M@���H��H�������H�UI;�rH��H�M��m��H��H��A_A^A]A\_^[]�������@SH�� I���H��H�QH��L��K
�x@	tL��K
谟�H��H�� [��������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�=���	H���0���H������H���v���H������	H�������K H�ÃK$�K���KH�� [��������������@SH��0D�L$ 3�H�T$(H��I���L�D$,�D$(�y@H��H�H�BH�BH�T$(t�D$(�1��H��H��0[���������H�l$H�t$H�|$AVH��I��L���]��I�~I�~(H�������W9P@�Gu%I�~8�WI�N@I�FHI�FPI�~XI�~`��J
�(I�F8I�N@I�FHI�FPI�FXI�~`��E
I�V H���AF4H��d4D��DH�L$pE3�H�t$ ��S��D��DH��d4D��H�t$ H�L$P�S��D��DH��d4A�H�t$ H�L$0�S��L�D$0H�O�M�NP3�I��H�t$ MFHI��I�vHI�A�L+�3�I�M�FXI��M�N 3�H�H��H��H+�3�I�H�L$PH�L$pH��IN8H��I�v8I�@�H+�3�H�I�I�I��3�H�H��I��A�H+�H��c4I�NH�L$pD��D��R��H�D$pL��$�I�kI�sI�{ I�FI��I��A^����������H�\$WH�� I��H�������t&H��H���<����t�{1u
H����x@t��2�H�\$0H�� _�����@USVWATAUAVAWH��$���H��I��I��L��H�U0E3�D�d$4W�3�H�B����D$4E�l$L�m(H�E �EH
�E�AH
f�E�9H
�ED�eH��H�\$ E�|$E��D��DH��b4H�����Q��L���I��LFH3�I��H�vHL+�H�UH�M@�
���L�mL�}�DXf�E�D�e�L�FPH�U�H�MP��
���L�m�L�}�DYf�E�D�e�L�FXH�U�H�M`�
���L�e�L�m�D�e�L�
�G
E��A�T$H�M�舠�D���D���A��H�U�H�Mp����L�e�L�m�D�e�L�
�G
E��A�T$H�M��C��H�\$ E3�D��DH��a4H����P��3�H���H�vPL��H�U�H����
���L�e�L�m�D�d$pL�
�F
E��A�T$H�L$p�ٟ�L�AH�T$pH����r���L�d$`L�l$hD�d$PL�
�F
E��A�T$H�L$P藟�L��H�T$PH����~r���W��D$8L�d$HD�L$0L���H�U@H�L$8�y���H�t$@H�\$8E�|$H;�tOI�VI;Vt(L�"L�bH�CH��t�@H�H�H�CH�BM~�L��I����,�I�H;�u�H�t$@H�\$8H��thH;�tAH�{H��t+����G��uH�H������G��u	H�H��PI�H;�u�H�\$8H�T$HH+�H���H��袚�W��D$8L�d$HL�
���A�I��H�M@�+��H�T$hI;�r
H��H�L$P�c��L�d$`L�l$hD�d$PH�U�I;�r
H��H�L$p�>��L�e�L�m�D�d$pH�U�I;�rH��H�M����L�e�L�m�D�e�H�U�I;�rH��H�M���L�e�L�m�D�e�H�U�I;�rH��H�M��ڙ�L�e�L�m�D�e�H�UI;�rH��H�M�蹙�L�eL�mD�e�H�U(I;�rH��H�M蘙�I��H��A_A^A]A\_^[]��@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P����H������H�������H�������K H�ÃK$�K���KH�� [��������H�\$H�l$H�t$WH��pA��I��H���M�����H�n8H�n@H�FHH�FPu
H�FX�H�FXH�n`H��D��DH�^4E3�H�|$ H�L$0�
M��L�FP3�H�L$0D��H��H�|$ I�H��I��H+�3�H��H�L$0I��H��]4H�D��D��L��L�FX3�H�L$0A�H��H�|$ I�H��I��H+�3�H��H�L$0I��H�|]4H�F��DD���zL��A�H�|$ D��H�U]4H�L$P�[L��H�D$0L�\$pI�[H��H��H�D$PH�nH��H�FH��H�n I�kH�F(�F4���4I�s I��_�H�\$WH�� I��H���+���tOH��H�������t@���u
���u��2������u9�����u9��u��t��2�H�\$0H�� _������������H;�tMH�\$WH�� H��H�Y0H�H��rH�K�H���Ֆ�H�c�H��C�H��8H�C�H;�u�H�\$0H�� _��������������H�T$H�L$SVWATAUAVAWH��@M��L��L��L��L+	I�%I�$I�$II��I��L��I��I��H��?L�H�II+I��H��H��H��H��?H�H��$I�$I�H;��iL�jI�NI+I��H��H��H��H��?H�H��H��H��H+�H;�vH��$�H���/H�I��I;�HC�H;��Hk�8H��H��$�H��r�$��H��L��$��!H��t��H��L��$��3�H��$�H�\$ Ik�8H�L�~8L�|$0I�$H�I�D$H�FI�D$H�FH�f(H�f0AD$FAL$(N(I�d$(I�D$0A�D$H�t$(I�VI�L;�uL���M��L��I���QH�\$(I�VH��$�M��M���5�L��M��H��I����H��H��@A_A^A]A\_^[��;����������@SH�� I��H;�teL��L�A0L+�E3�I�@�H�H��8I�@�K�D�I�@�K�D�O�\�O�A@�CD�AH�CL�M�X�I�E�X�M�@8I�H�H;�u�M��H��H���/���H��H�� [�������H��H�XH�pH�x UATAUAVAWH�h�H��PH��_4H3�H�E@H��H�M�H�M�3�H�]�H�E��]�L�
�?
D�ÍS!H�M�譗�H�U�H������H�!?
H�H�F@H�E�H�H�XH�XW�3�H�E؍XH�\$0D�`L�d$8D�hL�l$@D�xL�|$HD�pL�t$PH�D$X�x
H�|$`H�D$hH�D$pH�D$x�E�H!E�D�L$ L�E�H�T$0H�M��¿�W�3�H�EH�]L�e �_�H�](L�m0L�}8�EH!ED�L$ L�E@H�UH�M肿�W�3�H�E�H�D$0L�d$8H�\$@L�l$HL�|$PL�t$XH�D$`H�|$h�E�H!E�D�L$ L�D$pH�T$0H�M��'��W�3�E�H�E�H�V(H�M�輞�H�]�H�}�H�}�L�}�L�eL�m�H;��jH�e(H�e0H��H�M���I��L;}��L�}�H�H�E�I��L;e��L�'M��L;m���I��L�m�I��H�E�I�H��<��L�l$0L�d$8H�L$@H�d$XH�d$`H�UH�L$H虭�I�WI;Wt<H�D$0H�H�D$8H�BH�D$@H�B3�D$HBL$XJ(�P�D$HI�G8�L�D$0I�����H�T$`H��r
H��H�L$H�=��H�E�I��L;u��L���L�m�H��H;}����L�eH��H;u������L�}�H�}�H�U0H��rH��H�M���H�� H;������H�}�H�]�H�u�H��t0L�E�H��H����H�U�H�M�H+�H���訐�W��E�H�e�M��tH�U�I+�H��I��胐�M��tH�UI+�H��I���j��M��tH�U�I+�H��I���Q��H��H�M@H3��!�L��$PI�[8I�s@I�{HI��A_A^A]A\]�@SH�� H��H�	H��tHH�SL������H�SH�%I�$I�$IH+H�H��H��H��H��?H�Hk�8�Տ�H�#H�cH�cH�� [��@SH�� H�Q0H��H��rH�IH��衏�H�c(H�C0�CH�� [�����������H�\$WH�� H��:
H��H�y@H�H�H��tHH�WL���Q���H�WH�%I�$I�$IH+H�H��H��H��H��?H�Hk�8�#��H�'H�gH�gH��H�\$0H�� _�����H�\$WH�� ��H���l�����t
�XH����H�\$0H��H�� _�������������@USVWATAVAWH�l$�H��H�ZZ4H3�H�EH�U�I��L��E��xgL�A@H�%I�$I�$IH�IHI+�H��H��H��H��?H�D;�}<Ic�Hk�8I�H�
I�H�JI�OH�JH��I�OI�OH�aH�a����]H�e�H�e�H�e�H�e���H�E�E�����9��������X;�u9��uD�pL�u߾�D��DL��E3�L�d$ H�&S4H�M��-B���N�A����HM�I;�s%D��DH��R4E3�L�d$ H�M��A��L�u��A�A;�sD9��sE�t$L+�A�t$�L�u��L��H�]߾L��H�]��E�;�u%9��uD�f�^L�e�E��H�]�D��H�]����D��H�]�D�cL�e�s�H�u烿�u:���u1D��DH��D��H�D$ H�+R4H�M��2A��H�}���H��A���DH��Q4D��H�\$ H�M��@��E3�H�\$ D��H��Q4H�M���@��L�]�3�I��I��I��H��tH+�I�L�U�3�I��M��H��H��tL+�L�3�H��I��3�L��H��M+�I��M��H��3�M+�L+�I��H��3�H��I��H��H+�E�M�7MI�wM�gAGAO(I��H�MH3���H��A_A^A\_^[]��������@USVWAVAWH��H��xM��I��H��H��H�U�e�I��H�D$ A�E��DH��P4H�M���?��H�E�L�xI���L+�W�3�H�FM��L��H��H���'���E��H�]�H�E��7
�E��7
�E��7
f�E��E�M�F(H�U�H�M�����H��H���^{���H�U�H��rH��H�M�跊�H�e�H�]��E�L�
�6
E3�A�PH�M�胎�M�F8H�U�H�M��q���H��H���{���H�U�H��rH��H�M��_��H�e�H�]��E�L�
�6
E3�A�x��H�M��)��M�F@H�U�H�M�����H��H���z���H�U�H��rH��H�M����H�e�H�]��E�L�
A6
E3�H��H�M��ҍ�M�FPH�U�H�M����H��H���Uz���H�U�H��rH��H�M�讉�H�]�H�E��6
�E���5
�E���5
f�E��E�M�FXH�U�H�M��\���H��H����y���H�U�H��rH��H�M��J��H�]�H�E�H�PREFETCHH�E��E�M�FHH�U�H�M�����H��H���y���H�U�H��rH��H�M���M��tXH�]�H�E�	�4
�E��
4
�E��E�M��H�U�H�M����H��H���Cy���H�U�H��rH��H�M�蜈�H��H��xA_A^_^[]�������������@USVWATAVAWH��H��pH�T4H3�H�E�M��M��H��H��H�U�L�M��I��A�R83���uH�;H�{H�{��W��M�H�}�H�NHH+N@I�%I�$I�$II��H��H��H��H��?H���W�3�E�H�E�H��|$ M��M��H�U�H��P�L�E�L;E�t,H�E�H;E�tI��H���1��H�E���
H��H�M�����H�M��A��H��H�NHH+N@I��H��H��H��H��?H�H;��t���H�}�H�E�H�H�E�H�CH�{H��H�M�H3��#�H��pA_A^A\_^[]�����@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�]����	H���P����H��裰���H��薰���H�������	H�������K H�ÃK$�K���KH�� [��������������@SH��0D�L$ 3�H�T$(H��A8��H��H�L�D$,H�BH�BH�T$(�D$(t�D$(
�U��H��H��0[�������������@USVWATAUAVAWH�l$�H��H��Q4H3�H�EA��M��A��L��H���d��E��DI��A�H�t$ H�TK4H�M��[:��D��A�G4��4M��H�U�H����H�E�A�H�]�H�}�I�GHA�G0E�e��I�_8I�@L�K�A���M�A���3�L��A+�H�t$ A���A��I��I�A���L�I��I��H�G�L+�A���M;�MB�A+�A���H��M�OXH�M�H��H�H��J4I��E3�H��H��I�GPE��D�z9��H�E�H�M�H��H�t$ 3�H�H��E��H�HJ4I�E��D�I9��H�E�H��H�3�H��E�MH�t$ I�GH�J4E��DH�M��9��H�E�H�UH��H��H�E�M�oH��I�GM�o M�g(I;�rH�M�H���L��I��H�MH3���H�ĸA_A^A]A\_^[]����������H�\$WH�� I��H��������tH��H���,�����t��2�H�\$0H�� _��������H�\$H�l$H�t$WH�� H��I��H�	I��H��H��t:H�SL����L�CH�%I�$I�$IL+H�I��H��H��H��?H�Hk�8�~��Hk�8H�l$8H�H�;H�CHk�8H�t$@H�H�CH�\$0H�� _�I��L��L��H��I���<�������������H��Ik�8�$������@SH�� H�"H�ڃbH�˃b�b�b�b�b �b$�b(�b,�B��;����	H���.����H��聬���H���t����H������	H������K H�ÃK$���c�K�H�� [���������@USVWATAUAVAWH��$���H��M��M��H��H�UP�d$hW�3�H�B�1�����D$hI�EH�EE��DM��L�d$ �D��E��H�{G4H����6��I���H���H�ZG4�y@	uyH�AH�D$ D�K�D�ADH�M0�J6��E3�H9]0�gL�d$HH�D$PD�d$8L�
.
E�čSH�L$8�s��L��
H�T$8H�L$X�\X��H��H����q����L�d$ D��E��H�M0��5��L�d$ A�E��H��F4H����5��H����HE@H��@rV��uRE3�L�d$HH�D$PD�d$8L�
g-
E�čQH�L$8�τ�L�7�
H�T$8H�L$X�W��H��H���Mq����\E3�H�� rk��ugL�d$HH�D$PD�d$8L�
#-
E��A�T$H�L$8�q��L��
H�T$8H�L$X�ZW��H��H����p���H�T$PH��r
H��H�L$8�F��I���D�p@�D;�u@��?t@��$��H�H����L�e H�E(D�eL�
�,
E��A�A��H�M�ڃ�M�EH�UH�M`����L�e�H�ED�e�L�
�,
E��A�W�H�M�蠃�E�o�E��A�G�D;�DE�H�U�H�Mp���L�e�H�E�D�e�L�
P,
E��A��H�M��Y��L��H�U�H����E��3�H��H��H��3�H�uH��L�e�E�}�L�}�D�e�L�
,
E��A�UH�M��	��A�E�H;�HB�L��H�U�H�������L�e�L�}�D�e�L�
,
E��A�UH�M��Ƃ�L��H�U�H������W��D$pL�e�D�L$0L���H�U`H�L$p�*]���L�t$xH�\$pI;�tOH�VH;Vt(L�"L�bH�CH��t�@H�H�H�CH�BLn�L��H���-�I�I;�u�L�t$xH�\$pH��tfI;�tAH�{H��t+����G��uH�H������G��u	H�H��PI�I;�u�H�\$pH�U�H+�H���H����}�W��D$pL�e�L�
ɔ�A�I��H�M`�g��H�U�I;�rH��H�M��}�L�e�L�}�D�e�H�U�I;�rH��H�M��}�L�e�L�}�D�e�H�U�I;�rH��H�M��_}�L�e�L�}�D�e�H�UI;�rH��H�M��>}�L�e�L�}D�e�H�U(I;�rH��H�M�}�H��H��A_A^A]A\_^[]�������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�-����	H��� ����H���s����H���f����H������	H���ܦ���K H�ÃK$���K�KH�� [��������������H�\$H�l$H�t$WH��PA��I��H�����D���H��XA�H�D$ H�MC4H�L$0�Ñ��D��DH��H�l$0H�yA4�H�D$ D��H�L$0�r0��H���D�OL�D$0�P@A;�uA��?tA��$��H�H�����A;ы�IE�u
��(
��I#
�F43�H�\$`H�FL��H��H�l$hI��H��H�H��H�t$pH��P_����������H�\$H�l$H�t$WH��pH����������D���H��XA�H�D$ H�<B4H�L$0貐��D��DH��A�H�l$ H�b@4H�L$P�h/��H�t$0H��tIH�\$PH��t?D��DH�6@4A�H�l$ H�L$P�1/��H9t$PuH����x@u @
��t-2�L�\$pI�[I�kI�s I��_�@�������u�H�� rӰ������@USVWH�l$�H��I��I��H��H�U�e�W�3�H�B�����E�H��H�D$ A�D��DH�v?4H�M�}.��H��XH�D$ A�D���H��@4H�M��t���H�^H�e�H�E��E�L�
h&
E3�A�PH�M��}�H�E�H�EH��3�H��H��M�I��I��H�U�H�M��Z�H��H����i���H�U�H��rH��H�M��Hy�H�e�H�E��E�L�
�%
E3�A�PH�M��}�L�FH�U�H�M���H��H���i���H�U�H��rH��H�M���x�H��H�ĸ_^[]��������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P	����H���P����H���C����	H���Ƣ���K H�ÃK$���K�KH�� [��������H�\$WH��pI��H�����D���H��XA�H�D$ H�K?4H�L$P���D��DH��A�H�D$ H�q=4H�L$0�w,��L�D$P�H��$��G4��q5�A�H9D$0DȸL�D$0H�G 3�H�G(I��H��H��H�OH��H�H�HH��I��L�H��p_��������H�\$H�l$H�t$WH��pH���$�����H���D�������D���H��XA�H�D$ H�\>4H�L$0�Ҍ����DH��A�H�|$ D��H��<4H�L$P�+��H�t$0H����H�\$PH����A�H�|$ D��H�E<4H�L$P�K+��H9t$Pu^�H��H�ƍQ�H;�D�3�H��H��u?H��w9H��t3L�WD�JH�E2�I;�tL9J��L�
D
�H�� I;�u�E��u��2�L�\$pI�[I�kI�s I��_���������������@USVWAWH��H��pI��I��H��H�U��e�W�3�H�B�����E�H��XH�D$ A�D���H�	=4H�M�耋��H�E��?u��$��H�H��A�L�}�H�E�
��"
�E���"
f�E��E�L��H�U�H�M��h�H��H���e���H�U�H��rH��H�M��Vu�L�}�L�}���"
��"
�E��E��E���"
f�E̊�"
�E�H��uD��H�U�H�M��z��H��H���e����A�H�U�H�M��Y��H��H���ne���H�U�H��rH��H�M���t�H�e�L�}��E�L�
s!
E3�A�PH�M��x�L��H�U�H�M���H��H���e���H�U�H��rH��H�M��pt�H�e�L�}��E�L�
!
E3�A�PH�M��<x�L�FH�U�H�M��*�H��H���d���H�U�H��rH��H�M��t�H��H��pA__^[]�����������H�\$WH��pI��H���[���D���H��XA�H�D$ H��:4H�L$0�q���D��DH��A�H�D$ H�!94H�L$P�'(���D$0?H�Gu���D$0$��H�H��H�OW�H��u+H��x�H*��H����H��H��H*��X��Y� 
�)H��x�H*��H����H��H��H*��X��Y� 
�܀�
d
3�/�r�\�/�s
H��H���H,�3�H�H�GH�D$PH�D$0H��H��$�H�H��H��p_��������H�\$H�t$WH��pH���Y�������H���y�������D���H��XA�H�D$ H��94H�L$0������DH��A�H�|$ D��H��74H�L$P�&��H�\$0H��t7H�|$Pu/A�H�|$ D��H��74H�L$P�&��H9\$Pu	��u��2�L�\$pI�[I�sI��_�������@USVWATAUAVAWH��$��H��M��H��H�U�E3�D�l$4W�3�H�B葬���D$4E���A��DM��L�|$ E3�D��H��64H�MP��%��H�]PH�Ã�tH+�H��H��L�|$ A�D��H��64H�Mp�%��H�}pH�ǃ�tH+�H��H��L�m�H�]�D�m�L�
m
E�ōSH�M���t�I���D�@DH��H�D$ E3�H�G64H����K%��L���I����tL+�I��H�U�H�M����L�m�H�]�D�m�L�

E�źH�M��ct�I���D�@DH��H�D$ A�H��54H�����$��L���I���I����tL+�I��I��H�U�H�M�
���H�]�H�E�f�E�NL�|$ �D��E��DH�l54H����p$��L���H�U�H�M ����H�E�D�{�L�}�f�D$pML��H�T$pH�M0�����{
H�|$hL�|$`f�D$PKI���D�@DH��H�D$ D��H��44H�����#��L���M��H�T$PH�M@�;���W��D$8L�l$HD�L$0L�EPH�UH�L$8�M���L�t$@H�\$8D�I;�tOH�VH;Vt(L�*L�jH�CH��t�@H�H�H�CH�BL~�L��H����I�I;�u�L�t$@H�\$8H��tqI;�tJA��H�{H��t+A����GA�uH�H��A����GA�u	H�H��PI�I;�u�H�\$8�H�T$HH+�H���H���Zn�W��D$8L�l$HL�
E��A�I��H�M���H�T$hI;�r
H��H�L$P�n�L�l$`H�|$hD�l$PH�U�I;�r
H��H�L$p�m�L�m�H�}�D�l$pH�U�I;�rH��H�M���m�L�m�H�}�D�m�H�U�I;�rH��H�M��m�L�m�H�}�D�m�H�U�I;�rH��H�M��m�H��H��A_A^A]A\_^[]������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P蝖���H��耗���	H��胖���	H���f����H���ɖ���H��輖���K�	C 	C$H�Á��KH�� [�����������H��H�XH�hH�pH�x AVH��PA��I��H������D��DL��E3�L�t$ H�24H�L$0�!��H�\$0H�Ã�tH+�H��D��DH��14A�H��H�L$0L�t$ �� ��H�|$0H�ǃ�tH+�H��D��DH��14A�L�t$ H�L$0� ��H�D$0H��14H��A�H�H��H��H�~H���D�ADH�AH�L$0H�D$ �\ ��H�D$0H�\$`H�l$hH�|$xH��H�FH��H�FH�F H�F(�F4���4H�t$pH��PA^���@SH�� H���2�����tM���u���u����2�2҃��u
���u��2���t��t��t
���u��2�H�� [����������@USWH��H��pI��H��H�U��e�W�3�H�B����E�H��H�D$ A�D��DH�?04H�M��F���E�t_H�E�H�E�	��
�EȊ�
�E��E�A�H�U�H�M�����H��H���Z���H�U�H��rH��H�M��Qj�H��H��p_[]�������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�m����	H���`����H���C����	H���6����H��虓���H��茓���K H�ÁK$���KH�� [������������H�\$H�t$WH��A��I��H�����H��E3ɋ�DH��.4D��H�|$ H�L$0����A�H�|$ D��H��.4H�L$P����A�H�|$ D��H��.4H�L$p���A�H�|$ D��H��.4H��$����H�D$0H�D$PH�ȃ�tH+�H��H��H�H�D$pH�ȃ�tH+�H��H�FL��$�H��$�I�[H�FH��H�FH�F H�F(�F4��V4I�sI��_�����������H�\$H�t$H�|$UATAUAVAWH��H��pH���	������D��DL��H���H��-4E��L�t$ E3�H�M����H�sE3ɋ[DH��-4D��H�t$ H�M����H�E�A�H9E�uDL�t$ H�M�L�5O-4E��I��E���Q��E��H�t$ D��H�M�I���:��H�E�H9E�uE2��
L�5-4E��E3�H�t$ D��H�M�I���
��H�U�HU�ujE��H�t$ D��H�M�I������H�M�HM�uID�IH�t$ H�M�D��I������H�M�HM�u'D�IH�t$ H�M�D��I�����H�M�HM�uE2��E��D9��uD9��uE2��E��D9��uD9��u@2��A����unD��H�t$ H�;,4E3�H��H�M��<��E��H�t$ A�H�M�H���"��H�E�H�E�H��u"�H�t$ D��H�M�D��H������E�tA���2�E��uE��uE��u@��u	��uA���2�L�\$pI�[0I�s8I�{@I��A_A^A]A\]��������������@USVWATAUAVAWH�l$�H��M��H��H�U�e�W�3�H�B�ؠ���E�I���A��DM��L�|$ E3�D��H�*+4H�M��1��L�|$ A�D��H�+4H�M����H�]�H�]�L��I��I��H��L��L+�I��K�,H��H��H+�H�M�H�E�H�E��TXf�E��E�A�H�U�H�M�萿��H��H���U���H�U�H��rH��H�M��d�H�E�H�E��TYf�E��E�A�H�U�H�M��>���H��H���SU���H�U�H��rH��H�M��d�H�E�H�E�f�E�ML��H�U�H�M��v��H��H���U���H�U�H��rH��H�M��dd�H�E�H�E�f�E�KH�^H�\$ A�D�FDH��)4H�M����L�E�H�U�H�M��
��H��H���T���H�U�H��rH��H�M��c�H�E�H�E�f�E�NL�|$ A�E��DH�I)4H�M��P��L�E�H�U�H�M����H��H���4T���H�U�A�I;�rH��H�M��c�H�E�H�E��
�E��
f�E�E3�D�u�E��H�U�H�M�载��H��H����S���H�U�I;�rH��H�M��,c�H�E�H�E���
�E���
f�E�D�u�E��H�U�H�M��d���H��H���yS���H�U�I;�rH��H�M���b�H�E��H�M��K8f�E�D�u�H�\$ D��D�FDH�"(4H�M��)��L�E�I��H�U�H�M��t��H��H���	S���H�U�I;�rH��H�M��cb�L�u��H�]�D�u�L�

E�ƍSH�M��,f�M��H�U�H�M����H��H���R���H�U�I;�rH��H�M��
b�L�u�H�]�D�u�L�
�
E�ƺH�M���e�M��H�U�H�M�����H��H���ZR���H�U�I;�rH��H�M��a�H�]�H�E���
�E���
�E�D�u�L�E�H�U�H�M��m��H��H���R���H�U�I;�rH��H�M��\a�H��H�ĸA_A^A]A\_^[]������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�m����H���P����H��賊���H��覊���K H�ÃK$��H�� [����������������H�\$H�t$WH��A��I��H������H��E3ɋ�DH�&4D��H�|$ H�L$p���A�H�|$ D��H��%4H�L$P����A�H�|$ D��H��%4H�L$0����A�H�|$ D��H��%4H��$����H�D$0H�ȃ�tH+�H��H�L$PW�H�L$pH�H��x�H*��H����H��H��H*��X��Y�

�m�
�
3�/�r�\�/�s
H��H��L��$�H�FI�[�H,�H�F H�F(�F4���3H�H�FH��$�H�FH��I�sI��_����������������H�\$H�t$H�|$UH��H��PH���������H���H��$4E3�H�M�pDH�xD��H�|$ ���H�U�HU�uvD�JH�|$ H�V$4D��H�M��Z��H�M�HM�uPD�IH�|$ H�M�D��H�)$4�4��H�M�HM�u*D�IH�|$ H�M�D��H�$4���H�M�HM�u2������u
���u2������u
���u2�����u��u��u��2�H�\$`H�t$hH�|$pH��P]��������@USVWATAUAVAWH��$����H��hM��L��H��x�d$4W�3�H�B�ј���D$4I����pDH�xH�|$ A�D��L�-&#4I��H��@�'��H�|$ A�D��I��H����
��H�|$ A�D��I��H�������L���L��H�|$ E3�D��I��H�������H�|$ E3�D��I��H������H���H��H�|$ A�D��I��H�����L��M�H�|$ E3�D��H�T"4H�� �X��H�� H�H��0I��H�HH��PH�H0H��@H�HH��HH�H8H��8H��@H������H��t3��A���M��tE3�A���
A���E3�A�L��pHDžhfDžXHM��H��XH�������L���HDž�fDž�WL��0M��H���H��������HDž�HDž�f�EpP�H�8H�@M�E�L�H�UpH�������H�EhH�E`f�EPQ�?H�HH�PM�G�L�H�UPH����H���H�EHH�E@f�E0RA�E��H�U0H���蘵���H�E(H�E f�ESE��H�UH����n����H�EA�G�H�Ef�E�ND��H�U�H����D����HDž(HDž �pxf��D��D��H��H���贵���A�H��HDž�pyf���D���D��H���H���t����H����_�H����sxf���D���E�G�H���H��舴���H���H����syf���D���E�G�H���H�� �O����H�|$hH�D$`��
�D$P��
f�D$T��
�D$VD�d$WD��H�T$PH��0跴���H�}�_�H�]��
�EЊ�
�E�D�e�M��H�U�H��@�R���D��H�}�H�]��`
�E��[
�E�D�e��{�D��H�U�H��P蚳���L�m��_H�]��0
�E��*
f�E�D�e�E��H�U�H��`�c����L�m�H�]��
�D$p��
f�D$tD�d$vD��H�T$pH��p�+����W��D$8L�d$HD�L$0L���H���H�L$8�7���H�t$@H�\$8E�}H;�tOI�VI;Vt(L�"L�bH�CH��t�@H�H�H�CH�BM~�L��I�����I�H;�u�H�t$@H�\$8H��thH;�tAH�{H��t+����G��uH�H������G��u	H�H��PI�H;�u�H�\$8H�T$HH+�H���H����W�W��D$8L�d$HL�
�n�M��I��H����V��H�U�I;�r
H��H�L$p�W�L�e�L�m�D�d$pH�U�I;�rH��H�M��mW�L�e�L�m�D�e�H�U�I;�rH��H�M��LW�L�e�L�m�D�e�H�U�I;�rH��H�M��+W�L�e�L�m�D�e�H�T$hI;�r
H��H�L$P�W�L�d$`L�l$hD�d$PH���I;�rH��H�����V�L���L���D���H���I;�rH��H����V�L���L���D���H��I;�rH��H����~V�L��L��D���H��(I;�rH��H���NV�L�� L��(D��H�UI;�rH��H�M��$V�L�eL�mD�e�H�U(I;�rH��H�M�V�L�e L�m(D�eH�UHI;�rH��H�M0��U�L�e@L�mHD�e0H�UhI;�rH��H�MP�U�L�e`L�mhD�ePH���I;�rH��H�Mp�U�L���L���D�epH���I;�rH��H����pU�L���L���D���H��pI;�rH��H��X�@U�I��H��hA_A^A]A\_^[]����������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�M~���	H���@~���H���#���	H������H���y~���H���l~���K H�ÃK$��H�� [������H��H�XH�pH�xUATAUAVAWH�h�H��A��M��L���Μ��E��DI��H��4H�D$ H��H�MA�����I���H�M�A�H��E�͋pDH�xD��H�|$ ���E��H�|$ D��H�M�H�����L�eH�M�Le�E3�D��H�|$ H���a��E3�H�|$ D��H�M�H���J��H�]�H�/4H]H�M�E��H�|$ D���'��L�m�H�4E3�H�|$ D��H�M����H�M�E3�H�A��H��uA���M��uE����AI�F ��A�F4��V4�%I�$L��$�I�[0I�s8I�{@��+���
��I�A�EA�B�@���I�F�E������I�F�I�FI�F(I��I��A_A^A]A\]�H��H�XH�pH�xL�h UAVAWH��H��PH���i����������H��XD��H�|$ E3�H��4H�M��)h��H�}��lA�H�|$ D��H��4H�M��h��H�}��C����6����)����������DL�=�4A�H��E��H�|$ I��H�M�D���p���E���H���H�M�E��I��D�pDH�XE��H�\$ �@���E���E��H�|$ D��H�M�I�����H�}���E��H�|$ D��H�M�I�����H�}�udA�H�|$ E��H�M�D��I������H�}�u@E��H�|$ D��H�M�I�����H�}�u"E��H�\$ E��H�M�I�����H�}�u��2�L�\$PI�[ I�s(I�{0M�k8I��A_A^]���@USVWATAUAVAWH��$X���H��M��L��H����d$4W�3�H�B衋���D$4I����pDH�xH�|$ A�D��L�-�4I��H������H�|$ A�D��I��H�������H�|$ A�D��I��H������L���L��H�|$ E3�D��I��H�����H�|$ E3�D��I��H�� �{��H��8H�H�|$ A�D��I��H��@�P��H��@I�H��PH�|$ E3�D��I��H��`�%��H��`H�H��XI��H�HH��xH�H0H��hH�HH��pH�@8H��`L���I�}����H��t3��A���M��t3��A���A�L���HDž�fDž�HL��PM��H���H����Ҽ���L���HDž�fDž�WL��XM��H���H���虼���HDž�HDž�fDž�P�H�`H�hM�G�L�H���H����N����HDž�HDž�f�EpQ�6H�pH�xM�D$�L�H�UpH��������H�EhH�E`f�EPRA�E��H�UPH����X����H�EHH�E@f�E0SE��H�U0H���.����H�E(A�D$�H�E f�END��H�UH�������H�EH�E�pxf�E��E�D��H�U�H�� 肨���HDžHHDž@�pyf��03�@��2D��H��0H��0�@�����^H��(HDž �sxf��@��E�D$�H��H��@�O����H��HDž�syf���@���E�D$�H���H��P�����H���HDž��C_f���@���M��H���H��`�U����H�\$hH�D$`�P��D$P�I�f�D$T�@��D$VE3�D�l$WD��H�T$PH��p�:����H�]��^H�]����D$p�
��D$tD�l$uM��H�T$pH����ѹ����s
H�u�H�]���EЊ��E�D�mՍ{D��H�U�H��������H�uȍ^�H�]�����E����f�E�D�m�E��H�U�H�������D��H�u�H�]�����E��z�f�E�D�m�D��H�U�H���諥���W��D$8L�l$HD�L$0L���H���H�L$8�)���H�t$@H�\$8E�}H;�tOI�VI;Vt(L�*L�jH�CH��t�@H�H�H�CH�BM~�L��I�����I�H;�u�H�t$@H�\$8H��thH;�tAH�{H��t+����G��uH�H������G��u	H�H��PI�H;�u�H�\$8H�T$HH+�H���H���MJ�W��D$8L�l$HL�
8a�A�I��H����ӄ�H�U�I;�rH��H�M��
J�L�m�L�e�D�m�H�U�I;�rH��H�M���I�L�m�L�e�D�m�H�U�I;�rH��H�M���I�L�m�L�e�D�m�H�U�I;�r
H��H�L$p�I�L�m�L�e�D�l$pH�T$hI;�r
H��H�L$P�I�L�l$`L�d$hD�l$PH���I;�rH��H����[I�L���L���D���H��I;�rH��H����+I�L��L��D���H��(I;�rH��H���H�L�� L��(D��H��HI;�rH��H��0��H�L��@L��HD��0H�UI;�rH��H�M��H�L�mL�eD�m�H�U(I;�rH��H�M�H�L�m L�e(D�mH�UHI;�rH��H�M0�_H�L�m@L�eHD�m0H�UhI;�rH��H�MP�>H�L�m`L�ehD�mPH���I;�rH��H�Mp�H�L���L���D�mpH���I;�rH��H�����G�L���L���D���H���I;�rH��H����G�L���L���D���H���I;�rH��H����G�I��H�ĨA_A^A]A\_^[]�������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�p���H���q���H����p���H����p���K H�ÃK$��H�� [����������������@SH��0H��H�T$(�I���u���D�L$ L�D$,3��D$(H�H�T$(H�KH�KH�˄�u�D$(�H�H��H��0[�����H��H�XH�pH�xUATAUAVAWH�h�H��A��M��L���Ύ��E��DI��L�-�4H�D$ I��H�MA�����I���H�M�A�I�ՋpDH�xD��H�|$ ���A�H�|$ D��H�M�I�����L�eH�M�Le�E3�D��H�|$ I���a���E3�H�|$ D��H�M�I���J���H�]�H�M�H]A�D��H�|$ I���(���L�m�H�
4E3�H�|$ D��H�M��	���H�M�E3�H�A��H��uA���M��uE����AI�F��I�F �%I�$I�F(��L��$�A�F4���3I�[0+�I�s8I�{@��
��A�M��A�I������B�A�����I�F�E������I�FI��I��A_A^A]A\]�����@USVWAVH��H��I��I��H��H�U��e�W�3�H�B����E�H�E�H�E��~��E��{��E��u�f�E��E�L�C(H�U�H�M��0���H��H����4���H�U�H��rH��H�M��D�D���H��XH�t$ A�E��H�+4H�M��Y��H�]�H��tH+�H�� H�t$ E3�E��H��
4H�M��tY��H�t$ A�E��H��
4H�M��VY��H��H�]�H�]�H��H�e�H�E��E�L�
��E3�A�PH�M��\G�L��H�U�H�M��K���H��H����3���H�U�H��rH��H�M��9C�H��H�ĀA^_^[]���������@SH��0�L$ �3�W�H��H�BH��PH�H;Ct�@@���4H��H��0[��������@SH�� H�"H�ڃbH�˃b�b�b�b�b �b$�b(�b,�B��k���H����l���H���Al�����	C 	C$H�ÃK3�cH�� [����������������H�\$H�t$WH��pA��I��H��袊��D��DH��A�H�\$ H��4H�L$P����F4���4H�z4D��DH�L$0E3�H�\$ �q���H�D$0H�U4H�H�L$0D��DA�H�\$ �F���H�D$0H�*4H�FH�L$0D��DA�H�\$ ����H�D$PL�\$pI�[H��H��H�D$0H�FH��H�FH��H�F H�F(I�sI��_���H��H�XH�pH�x UATAUAVAWH������H�� H��4H3�H��H��H�M�H���3�H���HDž����L�
��D�ÍSH����D�H���H����N���H���H�H�F@H�E�H�H�XH�XW�3�H����XH�]�D�`L�e�D�hL�mD�xL�}D�pL�uH�E�x
H�} H�E(H�E0H�E8H�E@H�EHH�EPH�EXH�E`H�EhH�EpH�Ex ���H!��D�L$ L���H�U�H����l�W�3�H���H�]�L�e��_�H�]�L�m�L�}�L�u�H�E�H�E�H�E�	H�}����H!��D�L$ L�E�H�U�H����l�W�3�H���H�D$0L�d$8H�\$@L�l$HL�|$PL�t$XH�D$`H�|$h���H!��D�L$ L�D$pH�T$0H����k�W�3���H���H�V(H����?K�H���H���H�|$xL���L���L���H;���H��H��H��H����~Z�I��L;���7L�}�H�H�E�I��L;����L�'M��L;����I��L�m�I��H�D$pI�H=���L�l$0L�d$8H�L$@H�d$XH�d$`H���H�L$H��Y�I�WI;Wt<H�D$0H�H�D$8H�BH�D$@H�B3�D$HBL$XJ(�P�D$HI�G8�L�D$0I������H�T$`H��r
H��H�L$H�=�H�D$pI��L;���C���L���H��H;������L���H��H;������L���H�|$xH��H��rH��H����*=�H�� H;��p���H���H���H�u�H��t?L���H��H���4=�H���H���H+�H�����<�W����H���M��tH���I+�H��I���<�M��tH���I+�H��I���<�M��tH���I+�H��I���t<�H��H��H3��AyL��$ I�[8I�s@I�{HI��A_A^A]A\]�H�\$WH�� H�w�H��H�y@H�H�H��tHH�WL������H�WH�%I�$I�$IH+H�H��H��H��H��?H�Hk�8��;�H�'H�gH�gH��H�\$0H�� _�M�����H�\$WH�� ��H���l�����t
�XH���ZwH�\$0H��H�� _�������������@USVWATAVAWH��H��I��M��H��H�U�E3�D�}�W�3�H�B�Fv���E�E�gL�e�H�E��7��E��4��E��.�f�E�D�}�L�C(H�U�H�M����H��H���~+���H�U�H��rH��H�M���:�L�}�L�e�D�}�L�
��E�ǺH�M��>�L�C8H�U�H�M�葨��H��H���&+���H�U�H��rH��H�M��:�L�}�L�e�D�}�L�
��E�Ǿ��H�M��I>�L�C@H�U�H�M��7���H��H����*���H�U�H��rH��H�M��%:�L�}�L�e�D�}�L�
b�E��H��H�M���=�L�CPH�U�H�M����H��H���v*���H�U�H��rH��H�M���9�L�e�H�E��#��E�� ��E���f�E�D�}�L�CXH�U�H�M��}���H��H���*���H�U�H��rH��H�M��k9�L�e�H�E�H�PREFETCHH�E�D�}�L�CHH�U�H�M��,���H��H���)���H�U�H��rH��H�M��9�A���I��XL�t$ A�D��H�'4H�M��N��H�]�H��tH+�H�� L�t$ E3�D��H���3H�M��pN��L�t$ A�D��H��3H�M��RN��H��H�]�H�]�H��L�}�L�e�D�}�L�
��E�ǺH�M��\<�L��H�U�H�M��K���H��H����(���H�U�H��rH��H�M��98�H��H�ĀA_A^A\_^[]�����@SH��0�L$ �3�W�H��H�BH��PH�H;Ct�@@��V4H��H��0[��������@USVWAUAVAWH�l$�H��H�z4H3�H�EA��M��A��L��H������D��H�U�M��H���Ԩ��H�E�I��H�}�A�H�u�I�GHA�G0��I�8I�w@H�W�E���M�A���A��E���A��A���I��H��3�H�\$ I�L�I��I��H�F�L+�A���M;�MB��A���H��M�OXH�M�H��H�H�k�3I��E�M�I�GPE��D�c�A�G4��4H�D�3E��DH�M�E3�H�\$ �<�H�E�H�M�H��H�\$ H�3�H��A�}�I�H��3E��DD����H�E�3�H��H�H��I�GE��DE�M�H��3H�\$ H�M����H�E�H�UH��H��H�E�I�H��I�GI� M�o(H��rH�M�H���	6�I��H�MH3���rH�İA_A^A]_^[]���������@SH�� H��蒁����t
���t��2�H�� [����������@USVWAVH��H��I��I��H��H�U��e�W�3�H�B�}p���E�H�E�H�E��n��E��k��E��e�f�E��E�L�C H�U�H�M�� ���H��H���%���H�U�H��rH��H�M��5�D���H��XH�t$ A�E��H��3H�M��J��H�]�H��tH+�H�� H�t$ E3�E��H��3H�M��dJ��H�t$ A�E��H��3H�M��FJ��H��H�]�H�]�H��H�e�H�E��E�L�
��E3�A�PH�M��L8�L��H�U�H�M��;���H��H����$���H�U�H��rH��H�M��)4�H��H�ĀA^_^[]���������@SH�� H�"H�ڃbH�˃b�b�b�b�b �b$�b(�b,�B��+]���H���^���H���q]�����	C 	C$H�ÃK7�cH�� [����������������H�t$H�|$L�t$AWH��A��I��L����{��D��DH��A�H�|$ H���3H�L$p��A�F4��V4H���3D��DH�L$PE3�H�|$ ��D��DH�y�3A�H�|$ E��H�L$0�q�H�D$0E�OH�D$PH�K�3H�|$ H��H�L$PH��I�D��D�:�H�D$pL��$�I�sH��I�{H��H�D$PM�~H��I�FI��M�~I�F M�~(M�s I��A_���������������H�\$H�t$WH��PH���}������������������������u~���uu���ulH���H�a�3E3�H�L$0�pDH�xD��H�|$ �U�H�L$HHL$@u6D�IH�|$ H�L$0D��H�!�3�,�H�T$HHT$@u
���u��2�H�\$`H�t$hH��P_��@SH��0�L$ �3�W�H��H�BH��PH�H;Ct�@@��4H��H��0[��������@SH�� H����|����t
���t��2�H�� [����������@USVWATAUAVAWH�l$�H��I��M��H��H�UE3�D�eW�3�H�B��k���EE�l$L�m�H�E�����ENj���E����f�E�D�e�L�C(H�U�H�M��d���H��H��� ���H�U�H��rH��H�M��R0�A���M��XL�t$ A�D��H�_�3H�M���E��H�]�H��tH+�H�� L�t$ E3�D��H�1�3H�M��E��L�t$ A�D��H��3H�M��E��H��H�]�H�]�H��L�e�L�m�D�e�L�
��E�ĺH�M��3�L��H�U�H�M�胝��H��H��� ���H�U�H��rH��H�M��q/�I����xDH�XH�\$ E3�D��L�-��3I��H�M����L�u�Lu�Lu�I��H�\$ A�D��I��H�M���L�}�L}�L}�M��H�\$ A�D��I��H�M���L�e�I��I��M��H�\$ E3�D��I��H�M��Z�H�\$ A�D��I��H�M��@�H�]�I��H�E�H��H�H�E�H�E�
����E����f�E�3�@�}�A��H�U�H�M��L���H��H�������H�U�D�oI;�rH��H�M��7.�H�E�H�E�
�?��E��;�f�E�@�}�M��H�U�H�M����H��H������H�U�I;�rH��H�M���-�H�}�A�L�u�@�}�L�
��D��I��H�M��1�M��H�U�H�M�葛��H��H���&���H�U�I;�rH��H�M��-�H�}�L�u�@�}�L�
��D��I��H�M��N1�M��H�U�H�M��=���H��H�������H�U�I;�rH��H�M��,-�L�u�H�E�	�x��ENJu��E�@�}�L��H�U�H�M����H��H���{���H�U�I;�rH��H�M���,�H��H�ĈA_A^A]A\_^[]���������������@SH��0�L$ �3�W�H��H�BH��PH�H;Ct�@@�!5H��H��0[��������@SH�� H�"H�ڃbH�˃b�b�b�b�b �b$�b(�b,�B��U���H���nV���H����U�����@	C 	C$H�ÃK3�cH�� [����������������H�\$H�t$WH��pA��I��H���2t��D��DH��A�H�\$ H�"�3H�L$P�(��F4�!5H�
�3D��DH�L$0E3�H�\$ ��H�D$0H���3H�H�L$0D��DA�H�\$ ����H�D$0H���3H�FH�L$0D��DA�H�\$ ���H�L$PL�\$pH�D$0H��I�[H��H��H��H��H�FH��H�NH�F H�F(I�sI��_������������@USWH��H��`I��H��H�U��e�W�3�H�B�e��A�D�E����u	���tdH�E�H�E��:��Eȋ7��E��1�f�E��E�H�U�H�M�訄��H��H������H�U�H��rH��H�M��*�H��H��`_[]������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P	�-S���H��� S���H���sS���H���fS���	H����S���H����S���K H�ÃK$���K�KH�� [��������������H�\$ UVWH�l$�H��H���3H3�H�E7A��I��H���q��H��E3ɋ�DH���3D��H�|$ H�M���A�H�|$ D��H�r�3H�M��y��H�EH�^�3H�E�A�H�|$ D��H�E�H�M��N��H�E�H�3�3A�H�E�D��H�|$ H�M��(��H�E�L�E�D�M�H�U�H�e'H�MW�H�E��E�U�H�MH�H�Ѓ�tH+�H��H�H�AH�FH�QH�VH�U'H+�H�FH��H�F H�F(�F4�!5�(�H��H�M7H3���dH��$�H�Ġ_^]�����H�\$H�t$WH��PI��H���s������H��H����Y���������t|���ws���wjH���H��3A�H�L$0�pDH�xD��H�|$ ������H9D$0t,A�H�|$ D��H���3H�L$0�������H9D$0u��2�H�\$`H�t$hH��P_�����@USVWATAUAVAWH�l$�H��M��I��H��H�UE3�D�mW�3�H�B��a���EH�E�H�E�����ENj���E����f�E�D�m�E�EH�U�H�M�����H��H������H�U�H��rH��H�M��s&�D���L��XL�d$ A�E��H���3H�M��;��H�]�H�Ã�tH+�H�� L�d$ E3�E��H�R�3H�M���;��L�d$ A�E��E��H�1�3H�M��;��H��H�]�H�]�H��L�m�H�E�D�m�L�
��E��A�T$H�M��)�L��H�U�H�M�蝓��H��H���2���H�U�H��rH��H�M��%�H����xDH�XH�\$ E3�D��L�-��3I��H�M�����L�}�L}�L}�I��H�\$ E��D��I��H�M�����L�e�Le�Le�M��H�\$ A�D��I��H�M����L�m�I��I��M��H�\$ E3�D��H�l�3H�M��s��H�\$ A�D��H�N�3H�M��U��H�]�I��H�E�H��H�H�E�H�E�
����E����f�E�3�@�}�A��H�U�H�M��a���H��H������H�U�H��rH��H�M��O$�H�E�H�E�
�W��E��S�f�E�@�}�M��H�U�H�M�����H��H������H�U�A�I;�rH��H�M���#�H�}�H�E�@�}�L�
�D��I��H�M��'�M��H�U�H�M�襑��H��H���:���H�U�I;�rH��H�M��#�H�}�A�L�e�@�}�L�
��D��I��H�M��\'�M��H�U�H�M��K���H��H�������H�U�I;�rH��H�M��:#�L�e�H�E�	����ENJ���E�@�}�L��H�U�H�M���H��H������H�U�I;�rH��H�M���"�L�e�L�e��S��ENjP��E��J�f�EӊB��E�@�}�A�H�U�H�M��
}��H��H������H�U�I;�rH��H�M��y"�H�}�L�e�@�}�L�
��D��I��H�M��G&�A�H�U�H�M��|��H��H�������H�U�I;�rH��H�M��""�L�e߻H�]�����ENj���E�@�}�M�FH�U�H�M��ڏ��H��H���o���H�U�I;�rH��H�M���!�L�e�H�]�����ENj���E�@�}�M�F H�U�H�M�膏��H��H������H�U�I;�rH��H�M��u!�L�e�H�]��m��ENjj��E�@�}�M�F(H�U�H�M��2���H��H�������H�U�I;�rH��H�M��!!�H��H�ĈA_A^A]A\_^[]�����������H��SUVWH��hH�`�I��E3�H�T$0I��H�@�H���@�H��L�
��A�PH�H��$�L$(�H�D$8L��H�D$ L��H��H���S��H��H��h_^][�@SH�� H�"H�ڃbH�˃b�b�b�b�b �b$�b(�b,�B��I���H���J���H����I�����@	C 	C$H�ÃK0�cH�� [����������������H�\$H�t$AVH��pA��I��L���Qh��A�F4���3H��D��DH�D�3A�H�\$ H�L$P�?��D��DH�!�3A�H�\$ H�L$0���H�D$0H��3H��E3�H�D$PI�H���D�ADH�AH�L$PH�D$ �������3�H�D$P�H��D��H�H
H��$I�$I�$H��H+�H��H�H���3H��I�NH���D�ADH�AH�L$PH�D$ ������L�\$pH�D$P3�I�sH��I�^ H�I�F I�[H��I�FI��I�F(I��A^����������������H�\$H�t$WH��PI��H���Fj������H��H���P���������ux���uoH���H���3E3�H�L$0�pDH�xD��H�|$ ���H�|$08u=A�H�|$ D��H���3H�L$0���H�|$08u���u
���u��2�H�\$`H�t$hH��P_���������@USVWATAUAVAWH�l$�H��M��M��H��H�UE3�D�e�W�3�H�B�X���E�H�E�H�E�����E�����E��z�f�E�D�e�E�D$H�U�H�M��w��H��H����
���H�U�H��rH��H�M��"�A���M��XL�|$ A�D��H�/�3H�M��2��H�]�H��tH+�H�� L�|$ E3�D��H��3H�M��x2��L�|$ A�D��H���3H�M��Z2��H��H�]�H�]�H��L�e�H�E�D�e�L�
��E�ĺH�M��` �L��H�U�H�M��O���H��H�������H�U�H��rH��H�M��=�I����xDH�XH�\$ E3�D��H���3H�M����L�}�L}�L}�I��H�\$ A�D��H�o�3H�M��v��L�e�Le�Le�M��H�\$ A�D��H�A�3H�M��H��H�E�H��H��I��H�E�H�\$ E3�D��H��3H�M����H�\$ A�D��H���3H�M����H�]�I��H�E�H��H�I��H�D$ E3�E��DH���3H�M�����H�}�H}�H}�H��H�E�H�E�
���E���f�E�E3�D�u�A��H�U�H�M��Ј��H��H���e���H�U�H��rH��H�M���H�E�H�E�
���E���f�E�D�u�M��H�U�H�M��r���H��H������H�U�A�I;�rH��H�M��[�L�u�H�E�D�u�L�
t�E��I��H�M��%�M��H�U�H�M�����H��H���
���H�U�I;�rH��H�M���L�u�A�L�e�D�u�L�
2�E��I��H�M����L�E�H�U�H�M�蹇��H��H���N
���H�U�I;�rH��H�M���L�e�H�E�	���E����E�D�u�L��H�U�H�M��b���H��H���	���H�U�I;�rH��H�M��Q�L�eϻH�]��t��E��p�f�E��h��E�D�u�D�CuH�U�H�M����H��H���	���H�U�I;�rH��H�M����L�e�H�]��%��E��!�f�E����E�D�u�L��H�U�H�M�蠆��H��H���5	���H�U�I;�rH��H�M���L�e�L�e�����E�����E����f�EÊ���E�D�uƿD��H�U�H�M��r��H��H�������H�U�I;�rH��H�M��#�L�u�L�e�D�u�L�
��E��I��H�M����A�H�U�H�M��]r��H��H���r���H�U�I;�rH��H�M����L�eϻH�]�����E�����E�D�u�M�EH�U�H�M�脅��H��H������H�U�I;�rH��H�M��s�L�e�H�]��[��E��X��E�D�u�M�E H�U�H�M��0���H��H�������H�U�I;�rH��H�M���L�e�H�]����E����E�D�u�D��H�U�H�M��]q��H��H���r���H�U�I;�rH��H�M����H��H�ĘA_A^A]A\_^[]������H�\$H�t$AVH��pA��I��L���_��A�F4���3H��D��DH���3A�H�\$ H�L$0����D��DH���3A�H�\$ H�L$P����H�D$0H���3H�D$PE3�H��I�H���D�ADH�AH�L$PH�D$ ������3�H�D$P�H��D��H�HH��$I�$I�$H��H+�H��H�H�I�3H��I�NH���D�ADH�AH�L$PH�D$ �3��H�D$PH�ȃ�tH+�H��L�\$pI�FI�sI��I�^ I�[I�FI�F(I��A^��H�\$WH��PI��H���a������H��H���hG��������������������������H���H�n�3E3�H�L$0�xDH�XD��H�\$ �b��H�|$0u'A�H�\$ D��H�5�3H�L$0�;��H�|$0tKE3�H�\$ D��H��3H�L$0���H�|$0u+A�H�\$ D��H���3H�L$0����H�|$0u��2�H�\$`H��P_��������H��SH��`�H��H��H�`�H�@��@�H�@�H�D$ H�T$0�mG��H��H��`[�����@SH�� H�"H�ڃbH�˃b�b�b�b�b �b$�b(�b,�B��=���H���=���H���a=���K H���k$���K0�cH�� [��H�\$H�t$H�|$AVH��pA��I��L����[��A�F4���3H����DH���3D��H�|$ A�H�L$0���A�H�|$ D��H���3H�L$P���H�D$0H�}�3H�D$PE3�H�|$ H��H�L$PI�D��D�g��H�D$PH�K�3H��H�L$PI�F�D��DD��H�|$ �5��H�D$PL�\$pI�sI�{ I�FI��I�^ I�^(I�[I�FI��A^���@USVWATAUAVAWH�l$�H��M��H��H�UE3�D�eW�3�H�B�5M���EE�l$L�m�H�E��%��E��"��E���f�E�D�e�E�D$H�U�H�M��Vl��H��H���k���H�U�H��rH��H�M����A���M��XL�|$ A�D��H���3H�M��H'��H�]�H�Ã�tH+�H�� L�|$ E3�D��H���3H�M��'��L�|$ A�D��H���3H�M��&��H��H�]�H�]�H��L�e�L�m�D�e�L�
O�E�ĺH�M���L��H�U�H�M��~��H��H������H�U�H��rH��H�M����I����xDH�XH�\$ E3�D��L�-C�3I��H�M��G��L�}�L}�L}�I��H�\$ A�D��I��H�M����L�e�Le�Le�M��H�\$ A�D��I��H�M�����L�m�I��I��M��H�\$ E3�D��H���3H�M�����H�\$ A�D��H���3H�M����H�]�I��H�E�H��H�H�E�H�E�
����E����f�E�3�@�}�A��H�U�H�M��}��H��H���K���H�U�H��rH��H�M���H�E�H�E�
����E����f�E�@�}�M��H�U�H�M��X}��H��H������H�U�A�I;�rH��H�M��A�H�}�H�E�@�}�L�
Z�D��I��H�M���M��H�U�H�M��|��H��H������H�U�I;�rH��H�M����H�}�A�L�e�@�}�L�
�D��I��H�M���M��H�U�H�M��|��H��H���5����H�U�I;�rH��H�M���L�e�H�E�	�۴�E��ش�E�@�}�L��H�U�H�M��I|��H��H�������H�U�I;�rH��H�M��8�L�e�H�E��\��E��X�f�E��P��E�@�}�A��H�U�H�M���{��H��H���y����H�U�I;�rH��H�M���
�I��H�M��7��E�XL�e�L�e��+��E��(��E��"�f�E��E�@�}�D�E�H�U�H�M���g��H��H������H�U�I;�rH��H�M��S
�H�}�L�e�@�}�L�
зD��I��H�M��!�D�E�H�U�H�M��g��H��H������H�U�I;�rH��H�M���H�}�L�e�@�}�L�
C�D�ǺH�M����D��H�U�H�M��9g��H��H���N����H�U�I;�rH��H�M���L�e�H�E����E����E����f�E�@�}�I����L��H�U�H�M��Oz��H��H������H�U�I;�rH��H�M��>�H��H�ĘA_A^A]A\_^[]��������L��SH��`�L$(�3�I!C�W�I�C�H��H�B�D$8I�C�I�C�H�T$0�B?��H�H;Ct�@@�75H��H��`[����������@SH�� H�"H�ڃbH�˃b�b�b�b�b �b$�b(�b,�B���4���H���5���H���!5���<�@	C 	C$H�ÃK0�cH�� [���@SH��PH��H�T$(I��H�L$(�D�L$ L�D$,H�T$(H�˃x�D$(t�D$(3�H�H�CH�C��H��H��P[���H��H�pH�xL�pL�x UH�h�H��A��M��L���"S��I��A�G4�75H�M�E��DI��E3�H�|$ H��3�H�MHcp�E����HcM�3�H�EA�H��H���3H�|$ I�H�ME��D�ɾ��HcM�3�H�EA�H��H���3H�|$ I�GH�M7E��D薾��E��DH�x�3A�H�|$ H�M�t���H�E3�H��I�GH��I��H�E7I�G H��I�G�2L��$�H��I�sI�{M�s I�G(I��M�{(I��]�����������H�\$WH��pI��H���+U������H��H���;������H��H�L$@���D$0�|$0uH�D$0H�� ��t}D��DH��E3�H�|$ H���3H�L$P荽��HcL$03�H�D$PH��H��uBD��DD�JH�W�3H�|$ H�L$P�X���HcL$43�H�D$PH��H��u
���t��2�H��$�H��p_��������H��H�XH�pWH��P���H�����������DH��D��H�x�H���3E3�H�H��̼��H�|$0u��C�E3�H�|$ D��H���3H�L$0薼��H�|$0t�E3�H�|$ D��H�l�3H�L$0�r���H�|$0t�E3�H�|$ D��H�H�3H�L$0�N���H�|$08u����CH�t$hH���CH�\$`H��P_��������H��XH���A�H�L$0D�BDH�BH���3H�D$ ����D$0$?��H�H���H��H��X����������@USVWATAUAVAWH�l$�H��M��H��H�UE3�D�eW�3�H�B�A���EE�l$L�m�H�E����E����E��ܲf�E�D�e�E�D$H�U�H�M��a��H��H���+����H�U�H��rH��H�M���A���M��XL�|$ A�D��H���3H�M����H�]�H�Ã�tH+�H�� L�|$ E3�D��H�c�3H�M�����L�|$ A�D��H�E�3H�M����H��H�]�H�]�H��L�e�L�m�D�e�L�
�E�ĺH�M���	�L��H�U�H�M��s��H��H���J����H�U�H��rH��H�M���I����xDH�XH�\$ E3�D��L�-�3I��H�M�����L�}�L}�L}�I��H�\$ A�D��I��H�M��ݹ��L�e�Le�Le�M��H�\$ A�D��I��H�M�賹��L�m�I��I��M��H�\$ E3�D��H���3H�M�船��H�\$ A�D��H�c�3H�M��j���H�]�I��H�E�H��H�H�E�H�E�
����E����f�E�3�@�}�A��H�U�H�M��vr��H��H�������H�U�H��rH��H�M��d�H�E�H�E�
�l��E��h�f�E�@�}�M��H�U�H�M��r��H��H����H�U�A�I;�rH��H�M���H�}�H�E�@�}�L�
�D��I��H�M����M��H�U�H�M��q��H��H���O�H�U�I;�rH��H�M���H�}�A�L�e�@�}�L�
ةD��I��H�M��q�M��H�U�H�M��`q��H��H����H�U�I;�rH��H�M��O�L�e�H�E�	����E�����E�@�}�L��H�U�H�M��	q��H��H����H�U�I;�rH��H�M���I��H�D$ E3�E��DH�[�3H�M��b���H�]�H]�H]�H��L�e�A�L�m����E���f�E��ر�E�@�}�E�EuH�U�H�M��np��H��H����H�U�I;�rH��H�M��]�L�e�L�m�����E����f�E�����E�@�}�L��H�U�H�M��p��H��H����H�U�I;�rH��H�M���I��H�M����E�XL�e�L�e��W��E��T��E��N�f�EÊF��E�@�}�D�E�H�U�H�M��\��H��H���%�H�U�I;�rH��H�M���H�}�L�e�@�}�L�
��D��I��H�M��M�D�E�H�U�H�M��[��H��H�����H�U�I;�rH��H�M��*�H�}�L�e�@�}�L�
o�D�ǺH�M���D��H�U�H�M��e[��H��H���z�H�U�I;�rH��H�M����L�e�H�E��0��E��-��E��'�f�E�@�}�I������L��H�U�H�M��{n��H��H����H�U�I;�rH��H�M��j�H��H�ĘA_A^A]A\_^[]����@SVWAVH��h3�H�T$0H!D$HW�I��H�BI��H�D$PL��D$8H�ٍPL�
%�E3�H�L$8���L$(�H�D$8L��H�D$ L��I��H���@3��I�I;Ft�@@��4I��H��hA^_^[����@SH��PH��H�T$(I��H�L$(�D�L$ L�D$,H�T$(H�˃x�D$(t�D$(3�H�H�CH�C�{�H��H��P[���H��H�pH�xL�pL�x UH�h�H��A��M��L���G��I��A�G4��4H�M�.E��DI��E3�H�|$ H���3�H�MHcp�E��{���HcM�3�H�EA�H��H�Q�3H�|$ I�H�ME��D�I���HcM�3�H�EA�H��H��3H�|$ I�GH�M7E��D����E��DH���3A�H�|$ H�M��H�E3�H��I�GH��I��H�E7I�G H��I�G���L��$�H��I�sI�{M�s I�G(I��M�{(I��]�����������H�\$WH��pI��H���I������H��H���0��������������������������H��H�L$@��x��D$0urH��E3ɋ�DH���3D��H�|$ H�L$P���HcL$03�H�D$PH��H��u5D�JH�|$ H���3D��H�L$P赱��HcL$43�H�D$PH��H��u��2�H��$�H��p_��������������H��H�XH�pWH��P��DH��H��H�x�D��H�B�3H�H�E3��F���H�|$0u��C�E3�H�|$ D��H�
�3H�L$0����H�|$0t�E3�H�|$ D��H��3H�L$0���H�|$0u��C�C�CE3�H�|$ D��H���3H�L$0貰��H�|$08u��g�����C�CH�t$hH��H�\$`H��P_���������@USVWATAUAVAWH�l$�H���M��L�E�L��H�U3ۉ]�W�3�H�B�6��D�{D�}��sH�u�D�c	L�e����D$0���D$8�]�E�GH�T$0H�M���U��H��I������H�U��{H;�r
H��H�L$0�:��H�u�L�e�����D$0����D$8�]�A��H�T$0H�M��sU��H��I�����H�U�H;�r
H��H�L$0���H�u�A�L�e��k��D$0�g��D$8�`�f�E��]�E��H�T$0H�M��U��H��I���!��H�U�H;�r
H��H�L$0�z��H�u�L�e����D$0���D$8��f�E��]�E��H�T$0H�M��T��H��I�����H�U�H;�r
H��H�L$0���H�u�H�E��ǩ�D$0����D$4�\$5E3�H�T$0H�M��TT��H��I���i��H�U�H;�r
H��H�L$0���H�u�H�E��x��D$0�r��D$4�\$5E��H�T$0H�M��S��H��I�����H�U�H;�r
H��H�L$0�k��H�u�L�e��+��D$0�'��D$8� �f�E��]�A� E��H�T$0H�M��S��H��I�����H�U�H;�r
H��H�L$0���H�]�H�u��\$0L�
ѨD�úH�L$0���D��H�T$0H�M��=S��H��I���R��H�U�H;�r
H��H�L$0��H�u�H�E�	����D$0����D$8�]�M��H�T$0H�M��cf��H��I�����H�U�H;�r
H��H�L$0�Q��H�u�H�E�	�E��D$0�A��D$8�]�M��H�T$0H�M��	f��H��I�����H�U�H;�r
H��H�L$0��H�u�H�E�����D$0���f�D$4���D$6�\$7A�H�T$0H�M��e��H��I���8��H�U�H;�r
H��H�L$0��H�u�A�L�e�����D$0���f�D$8����E��]�L�N�H�T$0H�M��8��H��I������H�U�H;�r
H��H�L$0�&��H�u�L�e��^��D$0�Y�f�D$8�P��E��]�L�!�H�T$0H�M�����H��I���h��H�U�H;�r
H��H�L$0��H�u�H�E��G��D$0�@�f�D$4�7��D$6�\$7L��H�T$0H�M��l��H��I�����H�U�H;�r
H��H�L$0�Z��H�u�H�u����D$0���D$8�ߦf�E��צ�E��]�L�%|k
M��H�T$0H�M����H��I�����H�U�H;�r
H��H�L$0���H�]�H�u��\$0L�
��D�úH�L$0��M��H�T$0H�M����H��I���7��H�U�H;�r
H��H�L$0��H�]�H�u��\$0L�
E�D�úH�L$0�[��M��H�T$0H�M��I��H��I������H�U�H;�r
H��H�L$0�7��I���A��DM��L�d$ E3�D��H���3H��H�L$0蓩��L�d$ E��D��H��H�M��|���L�d$ A�D��H��H�M��b���H�\$0H�]�H�]�H�GH�D$ A�D�GDH�)�3H�M��0���L�d$ A�D��H��3H�M������H�u�H�E�H�MATRIX_MH�D$03�@�|$8L��H�T$0H�M��:b��H��I������H�U�H��r
H��H�L$0�'��H�u��H�]�H�MATRIX_KH�D$0@�|$8L�E�H�T$0H�M���a��H��I���y��H�U�H��r
H��H�L$0����H�u�H�]�H�MATRIX_NH�D$0@�|$8L�E�H�T$0H�M��a��H��I���(��H�U�H��r
H��H�L$0���A��DL�d$ E3�D��L�-�3I��H�L$0���H�|$0H}�H}�H��L�d$ E��D��I��H�L$0���H�t$0Hu�Hu�H��L�d$ A�D��I��H�M�薧��L�m�I��I��L��L�d$ E3�D��H�d�3H�M��k���L�d$ E��D��H�I�3H�M��P���H��H�]�H�E�H��H�H�E�H�E��͡�D$0�ȡf�D$8����E��E�A��H�T$0H�M��R`��H��I������H�U�H��r
H��H�L$0�?��H�E�H�E��o��D$0�j�f�D$8�a��E��E�L��H�T$0H�M���_��H��I���|��H�U�H��r
H��H�L$0����3�H�}�H�E�@�|$0L�
��D�ǍWH�L$0��L��H�T$0H�M��_��H��I�����H�U��wH;�r
H��H�L$0�s��H�}�H�E�@�|$0L�
[�D�ǺH�L$0�9��M��H�T$0H�M��'_��H��I�����H�U�H;�r
H��H�L$0���A�L�m�H�E�
���D$0��f�D$8@�}�L��H�T$0H�M���^��H��I���Y��H�U�H;�r
H��H�L$0���H�E���DL�d$ E3�D��H��3H�L$0����H�M�HM�u)L�d$ E��D��H��3H�L$0���H�M�HM�uD��H�}�L�m�@�|$0L�
m�D��H��H�L$0�%��E��H�T$0H�M��L��H��I�����H�U�H;�r
H��H�L$0���I��H���A_A^A]A\_^[]�����������H�\$H�t$WH��A��I��H���/8���F4���3H����DH�$�3D��H�|$ E3�H�L$P����A�H�|$ D��H���3H�L$p����A�H�|$ D��H�۴3H��$��ޣ��A�H�|$ D��H���3H�L$0迣��H�D$PL��$�H�D$pH�L$0H��$�I�[H��H��H�FH��H�H�FH�F H�F H�F(I�sI��_����������������H��H�XH�pH�xUATAUAVAWH�h�H��I��H���R:�����8H��H��� �����%A�D9���D9���D9����D9����H���L�-��3E3�H�M�I�ՋpDH�xD��H�|$ 衢��H�M�HM���E��H�|$ D��H�M�I���|���H�M�HM���E�L$H�|$ D��H�M�I���U���H�M�HM��eE�L$H�|$ D��H�M�I���.���H�M�HM��>D��DL��E��L�t$ E3�H�M�I�����E3�H�|$ D��H�M�I�����H�E�H9E���E��L�t$ E��H�M�I��迡��E��H�|$ D��H�M�I��訡��H�E�H9E���E3�L�t$ E��H�M�I��胡��E��L�t$ E��H�M�I���l���E�L$L�t$ E��H�MI���S���H�]�H�MH�]�H�|$ D��H�]A�|$I��D���)���D��L�t$ E��H�M�I��������A���A������uD�Eu�E���D�E�����uA���2�L��$�I�[0I�s8I�{@I��A_A^A]A\]����������������@USVWATAUAVAWH�l$�H���M��L�E�L��H�U3ۉ]�W�3�H�B��&��D�{D�}��sH�u�D�c	L�e��D��D$0�@��D$8�]�A��H�T$0H�M��
F��H��I���"���H�U��{H;�r
H��H�L$0�x��H�u�L�e�����D$0���D$8�]�A��H�T$0H�M��E��H��I�������H�U�H;�r
H��H�L$0���H�u�A�L�e�����D$0����D$8���f�E��]�M��H�T$0H�M���X��H��I���_���H�U�H;�r
H��H�L$0���H�u�L�e��X��D$0�T��D$8�M�f�E��]�M��H�T$0H�M��iX��H��I������H�U�H;�r
H��H�L$0�W��H�u�H�E����D$0����D$4�\$5E3�H�T$0H�M��D��H��I������H�U�H;�r
H��H�L$0���H�u�H�E�����D$0����D$4�\$5E��H�T$0H�M��;D��H��I���P���H�U�H;�r
H��H�L$0���H�u�L�e��i��D$0�e��D$8�^�f�E��]�A� E��H�T$0H�M���C��H��I�������H�U�H;�r
H��H�L$0�B��H�]�H�u��\$0L�
�D�úH�L$0�
��D��H�T$0H�M��{C��H��I������H�U�H;�r
H��H�L$0����H�u�H�E�	�͘�D$0�ɘ�D$8�]�M��H�T$0H�M��V��H��I���6���H�U�H;�r
H��H�L$0���H�u�H�E�	����D$0���D$8�]�M��H�T$0H�M��GV��H��I�������H�U�H;�r
H��H�L$0�5��H�u�H�E��;��D$0�4�f�D$4�+��D$6�\$7A�H�T$0H�M���U��H��I���v���H�U�H;�r
H��H�L$0����H�u�A�L�e��ٗ�D$0�ԗf�D$8�˗�E��]�L���H�T$0H�M��v���H��I������H�U�H;�r
H��H�L$0�d��H�u�L�e�����D$0���f�D$8����E��]�L�_�H�T$0H�M�����H��I������H�U�H;�r
H��H�L$0���H�u�H�E�����D$0�~�f�D$4�u��D$6�\$7L� �H�T$0H�M�誽��H��I���?���H�U�H;�r
H��H�L$0���H�u�H�u��(��D$0�$��D$8��f�E����E��]�L�%�[
M��H�T$0H�M��9���H��I�������H�U�H;�r
H��H�L$0�'��H�]�H�u��\$0L�
ĖD�úH�L$0����M��H�T$0H�M����H��I���u���H�U�H;�r
H��H�L$0����H�]�H�u��\$0L�
��D�úH�L$0���M��H�T$0H�M�臼��H��I������H�U�H;�r
H��H�L$0�u��I���A��DM��L�d$ E3�D��H�Ϊ3H��H�L$0�љ��L�d$ E��D��H��H�M�躙��L�d$ A�D��H��H�M�蠙��H�\$0H�]�H�]�H�GH�D$ A�D�GDH�g�3H�M��n���L�d$ A�D��H�I�3H�M��P����H�u�H�E�H�MATRIX_MH�D$03�@�|$8L��H�T$0H�M��xR��H��I���
���H�U�H��r
H��H�L$0�e��H�u��H�]�H�MATRIX_KH�D$0@�|$8L�E�H�T$0H�M��"R��H��I������H�U�H��r
H��H�L$0���H�u�H�]�H�MATRIX_NH�D$0@�|$8L�E�H�T$0H�M���Q��H��I���f���H�U�H��r
H��H�L$0���A��DL�d$ E3�D��L�-%�3I��H�L$0�(���H�|$0H}�H}�H��L�d$ E��D��I��H�L$0���H�t$0Hu�Hu�H��L�d$ A�D��I��H�M��ԗ��L�m�I��I��L��L�d$ E3�D��H���3H�M�詗��L�d$ E��D��H���3H�M�莗��H��H�]�H�E�H��H�H�E�H�E����D$0��f�D$8����E��E�A��H�T$0H�M��P��H��I���%���H�U�H��r
H��H�L$0�}��H�E�H�E�����D$0���f�D$8����E��E�L��H�T$0H�M��%P��H��I������H�U�H��r
H��H�L$0���3�H�}�H�E�@�|$0L�
�D�ǍWH�L$0����L��H�T$0H�M���O��H��I���[���H�U��wH;�r
H��H�L$0���H�}�H�E�@�|$0L�
��D�ǺH�L$0�w��M��H�T$0H�M��eO��H��I������H�U�H;�r
H��H�L$0�S��A�L�m�H�E�
�Q��D$0�L�f�D$8@�}�L��H�T$0H�M��O��H��I������H�U�H;�r
H��H�L$0����H�E���DL�d$ E3�D��H�T�3H�L$0�Z���H�M�HM�u)L�d$ E��D��H�.�3H�L$0�4���H�M�HM�uD��H�}�L�m�@�|$0L�
��D��H��H�L$0�c��E��H�T$0H�M���<��H��I�������H�U�H;�r
H��H�L$0�?��I��H���A_A^A]A\_^[]���������H�\$H�t$WH��A��I��H���o(���F4���3H����DH�d�3D��H�|$ E3�H�L$P�_���A�H�|$ D��H�:�3H�L$p�@���A�H�|$ D��H��3H��$�����A�H�|$ D��H���3H�L$0���H�D$PL��$�H�D$pH�L$0H��$�I�[H��H��H�FH��H�H�FH�F H�F H�F(I�sI��_����������������H��H�XH�pH�xUATAUAVAWH�h�H��I��H���*�����RH��H���������?A�D9���,D9���D9���D9���H���L�-�3E3�H�M�I�ՋpDH�xD��H�|$ ���H�M�HM���E��H�|$ D��H�M�I��輒��H�M�HM���E�L$H�|$ D��H�M�I��蕒��H�M�HM��E�L$H�|$ D��H�M�I���n���H�M�HM��XD��DL��E��L�t$ E3�H�M�I���;���E3�H�|$ D��H�M�I���$���H�E�H9E��E��L�t$ E��H�M�I�����E��H�|$ D��H�M�I�����H�E�H9E���E3�L�t$ E��H�M�I���Ñ��E��L�t$ E��H�M�I��謑��E�L$L�t$ E��H�MI��蓑��H�]�H�MH�]�H�|$ D��H�]A�|$I��D���i���D��L�t$ E��H�M�I���R������t)H��$I�$I�$H��H��H+�H��H�H��Hi��H;�u�Mu�E��„M�����uA���2�L��$�I�[0I�s8I�{@I��A_A^A]A\]������@USWH��H��pI��H��H�U؃e�W�3�H�B�&���E�H�E�H�E�
�G��E��D��E��?��E��E�H����L��H�U�H�M���I��H��H���Y���H�U�H��rH��H�M����H��H��p_[]��������@SH�� H�"H�ڃbH�˃b�b�b�b�b �b$�b(�b,�B�����H������H������k 
H���k$�<�K2�cH�� [����H�\$H�t$H�|$AVH��pA��I��L���l#��A�F4���3H����DH�`�3D��H�|$ A�H�L$0�X���A�H�|$ D��H�3�3H�L$P�9���H�D$0H��3H�D$PE3�H�|$ H��H�L$PI�D��D����H�D$PH��3H��H�L$PI�F�D��DD��H�|$ �Վ��H�D$PH��H��I�F�1L�\$pH��I�sI�{ I�FI��I�^ I�^(I�[I��A^��������H��XH���A�H�L$0D�BDH�BH�[�3H�D$ �a����D$0$?��H�H���H�� H��X����������@USVWATAUAVAWH��$h���H��I��L�D$@L��H����d$HW�3�H�B�l���D$HL���L�D$8Ic@DH�@L�
ɞ3Ic�Ic\�Ic|�Hc��Hk�H�e�3Lc<Hc�DH�@Ic4�Mct�HDž�A�L��x�B�f��h�7���jƅkH��H��H�D$PM�@N�H��hH����F���HDž�L�����f��������ƅ�L��I��H�\$8L�CO�H���H����FF���HDž�HDž����f���������ƅ�H��H��HCL�I��I��H���H�����E���HDž��H����3�����+����ƅ�H�CH�L$PL�DLDH���H����E���HDž�H�}x���Eh���El�EmH�CM�DMDH�UhH����DE���H�E`�H�}X���f�EH����EJ�EKH��H��H�t$@L��N�H�UHH����D���H�E@H�}8�_�f�E(�W��E*�E+I��H��L��N�H�U(H���D���A�L�u H�E��f�E���E
�EM��I��L�XM�H�UH�� �`D���L�uA�L�u��Ӈ�E�·�E�E3�D�}�H��L�DLDH�U�H��0�D���A�^
H�]�L�u؋���EȊ���E�D�}�H��L�DLDH�U�H��@��C���H�]�H�E�	�V��E��S��E�D�}�E�wE��H�U�H��P�0���H�� A�_H��H�K_HEIGHTH��D��L��XO�H��H��`�LC���E�gL�e�H�E��݆�E��׆f�E��φ�E�D�}�L��XH�|$PN�H�U�H��p�B���L��H���H�K_STRIDEH���D���D���H���H�����/���W��D$XL�|$hD�L$0L���H���H�L$X�-����H�t$`H�\$XH;�tOI�UI;Ut(L�:L�zH�CH��t�@H�H�H�CH�BMu�L��I���0f�I�H;�u�H�t$`H�\$XH��tmH;�tFH�{H��t+����G��uH�H������G��u	H�H��PI�H;�u�H�\$XH�|$PH�T$hH+�H���H������W��D$XL�|$hL�
���A�I��H����`�H��I;�rH��H������L���L��D���H�U�I;�rH��H�M��j��L�}�L�e�D�}�H�� I;�rH��H���C��L��L�� D��H�U�I;�rH��H�M����L�}�L�e�D�}�H�U�I;�rH��H�M����L�}�L�e�D�}�H�UI;�rH��H�M�����L�}�L�eD�}�H�U I;�rH��H�M���L�}L�e D�}H�U@I;�rH��H�M(���L�}8L�e@D�}(H�U`I;�rH��H�MH�t��L�}XL�e`D�}HH���I;�rH��H�Mh�P��L�}xL���D�}hH���I;�rH��H����&��L���L���D���H���I;�rH��H������L���L���D���H���I;�rH��H�������L���L���D���H���I;�rH��H��h���H�L$8H�IL�D9LD9H�t$@���H�D$8H�D$ L�L$@H�9��L��`L��X��{��H��{��P��{f��T��{��VD��WL�D$@H��HH�����>���L��8L��@D��(L�
p{E��I��H��(���L�D$8H��(H����>���W��D$pL�}�D�L$0L���H���H�L$p�����H�t$xH�\$pH;�tOI�UI;Ut(L�:L�zH�CH��t�@H�H�H�CH�BMu�L��I���b�I�H;�u�H�t$xH�\$pH��tfH;�tAH�{H��t+����G��uH�H������G��u	H�H��PI�H;�u�H�\$pH�U�H+�H���H������W��D$pL�}�L�
���A�I��H����T
�H��@I;�rH��H��(���L��8L��@D��(H��`I;�rH��H��H�X��I��H�ĘA_A^A]A\_^[]��@SH�� H�"H�ڃbH�˃b�b�b�b�b �b$�b(�b,�B��[����H���N����H���1����H���$����H������H���z�������	C 	C$H�ÃK2�cH�� [���������H�\$UVWATAUAVAWH�l$�H��H�%�3H3�H�EM��L��3�H�H�BH�BH�BH�B H�B(�B0�B4M���Ic@DH�@H���3Hc�Hc|�Lc|�Ic��Hk�H�G�3Hc4M�pH��H��A���N�0N�D0ND0H�E�H�D$ L�M���I���`W�3�H�E�3�I��H��H��HE�3�H�u�H�E�H��A���3�J�7H��H��HE�3�H�u�H�E�H��H��I�XI��K�7H�
H����H�H�E��E�H�e�D�M�L�E�H�U�H�M�����H�E�H�E�H�E�W��EH�eD�M�L�E�H�U�H�M��H�]�H�I�$H�CI�D$H�CI�D$H�MH�I�D$H�AI�D$ H�AI�D$(W�AD$8AD$HAD$XA�D$4���3H�UH+�H�����H�U�H+�H��H�����I��H�MH3��_	H��$�H�İA_A^A]A\_^]�����@SVWH��H��3H3�H��$�H��H����������H�L$ D��H�����L�D$ A���A9��ufA���H;G@uYA���H;GHuLM���Ic@DH�@H�V�3Hc�I�@H��H�H��$I�$I�$H��H��H+�H��H�H��Hk�H;�t2�H�L$ �t(��H��$�H3��bH��_^[��������L�T$(I�I�H��vI�	H��H��I�H��vI�I�I�	H��I�H��v�I�I������������@USVWAVH��H��H��H�U�e�W�3�H�B�3��E�H�E�H�E��d|�E��a|�E��[|f�E��E�A�H�U�H�M��%���W��E�H�e�D�M�L�E�H�U�H�M������L�u�H�]�I;�tQH�VH;Vt+H�"H�bH�CH��t�@H�H�H�CH�BH�F�L��H���\�H��I;�u�L�u�H�]�H��tfI;�tAH�{H��t+����G��uH�H������G��u	H�H��PH��I;�u�H�]�H�U�H+�H���H�����W��E�H�e�L�
���D�B�H�M��>�H�U�H��rH��H�M��w��H��H�ĀA^_^[]�������@SH�� H�"H�ڃbH�˃b�b�b�b�b �b$�b(�b,�B��{�	H���n�H���a�H���D�	H���7�H���*�H����H����H���s���	C 	C$H�Ãc�K�H�� [���������������H;�tMH�\$WH�� H��H�Y H�H��rH�K�H���U��H�c�H��C�H��(H�C�H;�u�H�\$0H�� _��������������H�T$H�L$SVWATAUAVAWH��@M��L��L��L��L+	I�gfffffffI��I��L��I��I��H��?L�H�II+I��H��H��H��H��?H�H�fffffffH;��\L�jI�NI+I��H��H��H��H��?H�H��H��H��H+�H;�vH��$�H���3H�I��I;�HC�H;��
H��H��H��H��$�H��r���H��L��$��!H��t�H��L��$��3�H��$�H�\$ K��H�4�L�~(L�|$0I�$H�H�fH�f AD$FAL$NI�d$I�D$ A�D$H�t$(I�VI�L;�uL���M��L��I���NH�\$(I�VH��$�M��M���2�L��M��H��I���H��H��@A_A^A]A\_^[�����������@SH�� I��H;�tRL��L�AL+�E3�I�@�H�H��(O�\O�\ACAHCLM�XI�@E�M�@(I�H�H;�u�M��H��H���R���H��H�� [����������H�\$H�t$UWATAUAWH�l$�H��@H�S�3H3�H�E8L��H�M�E3�L�}�A�_H�]�D�}�L�
�wE�ǍS
H�M��T��H�U�I������H�wI�$M�|$@M�|$HM�|$PW�H�D$PH�D$XH�D$`H�D$hH�D$pH�D$xH�E�H�E�H�E�	H�E�
H�E�H�E�H�E�
H�E�H�]�H�E��E�L�}�D�L$ L�E�H�T$PH�M��H��W�3�EH�EI�T$(H�M����H�}�H�]H;}���L�/L�}I;���H�e(H�e0H��H�M�3��L�l$(H�d$@H�d$HH�UH�L$0���I�T$HI;T$Pt+H�D$(H�3�D$0BL$@J�P�D$0I�D$H(�L�D$(I�L$@���H�T$HH��rH��H�L$0����H�U0H��rH��H�M���H�� I;��G���H�]H��H;}��%���E3�H��t0L�EH�UH�����H�UH�MH+�H����b��W��EL�}L9}�tH�U�H+U�H��H�M��;��I��H�M8H3��L��$@I�[8I�s@I��A_A]A\_]�����������������[�����������H�\$WH�� H��tH��H���H��@�.H�������t
�XH���t�H�\$0H��H�� _�������@USVWATAUAVAWH�l$�H���H�8�3H3�H�EM��H��H�U�E��xYL�A@H�IHI+�H�gfffffffH��H��H��H��?H�D;�}.Ic�H��I��H�H�OH�aH�aH�RI������fW�3�H�E�H�D$8H�E�H�E��E�H!E�D�L$0L�E�H�T$8H�M����W�3�H�E�H�E�H�E�H�E�H�E�H�E��E�H!E�D�L$0L�E�H�U�H�M��.��H�]�H��L�m�I;�t{M��L�>L�d$ E3�E��DH�͆3H�L$8��u��3�H�D$8I��H��u9A�����A���I�W�A���H��I�H�H�UH��@�	H��I;�u�E3�H��I;��NA�����A���H�M�A���H��L�>I�G�H��H�I�H�EH��@��I��H�D$ E3�E��DH��3H�L$8�	u��3�H�D$8I��I��H+�H��H�H#�H;�sCI��H�D$ E3�E��DH���3H�L$8��t��3�H�D$8I��M��L+�H��H�I#�H��A���H�M�H��I;��=���M��H�]�tbL�'�L�?H�OH�aH�A�L�
��E3�A�P���H��tH�U�H+�H��H��诿�H�M�H����H�U�H+���H�u�L��H;u�t}M��M�'L�l$ E3�E��DH��3H�L$8��s��3�H�D$8I��H��u:A�����A���I�T$�A���H��I�H�H�UH��@��I��L;}�u�H�H�OH�aH�A�L�
��E3�A�P����H��tH�U�H+�H��H���ľ�H��tH�U�H��H+�H��諾�H��H�MH3��|�H���A_A^A]A\_^[]�L�'�|�������������������@USWAWH��H��hI��H��H�U�e�W�3�H�B�D����E�H�e�A�L�}��E�L�
kpE3�A�WH�M����L�GXH�U�H�M���+��H��H��膮���H�U�H��rH��H�M��߽�H�e�L�}��E�L�
�iE3�A�PH�M���L�G8H�U�H�M��+��H��H���.����H�U�H��rH��H�M�臽�L�}�H�E���of�E���o�E��E�A� H�U�H�M��@+��H��H���խ���H�U�H��rH��H�M��.��L�}пH�}��)i�E��&i�E�� if�E��E�D�GH�U�H�M���*��H��H���p����H�U�H��rH��H�M��ɼ�L�}�H�}��o�E��o�E��of�E��E�A�H�U�H�M��y*��H��H�������H�U�H��rH��H�M��g��H��H��hA__[]�����������@USVWATAVAWH��H��pH��3H3�H�E�M��M��H��H��H�U�L�M��I��A�R83���uH�;H�{H�{��W��M�H�}�H�NHH+N@I�gfffffffI��H��H��H��H��?H���W�3�E�H�E�H��|$ M��M��H�U�H��P�L�E�L;E�t,H�E�H;E�tI��H����H�E���
H��H�M�����H�M��&�H��H�NHH+N@I��H��H��H��H��?H�H;��t���H�}�H�E�H�H�E�H�CH�{H��H�M�H3���H��pA_A^A\_^[]�����@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�-��H�����H���s��K�	C 	C$H�Á��KH�� [��@SH��0D�L$ L�D$,H�T$(3�H��H�H�BH��H�BH�T$(�D$(�f��H��H��0[��������������@SUVWAVH��H��3H3�H��$�I��I��L��H��H�T$0��$�D��H�T$X�[����H�d$HH�d$PH�T$`H�L$8����\$(H�D$8H�D$ L��L��I��H��� ��H�T$xH��r
H��H�L$`觹�I��H��$�H3��t�H�ĐA^_^][�������@USVWATAVH�l$�H��H��3H3�H�EA��I��A��L��H�����D��H�U�L��H�����H�]�H��A�F4��4A�M�f@E3�I�^8���H�C����A+����H��M�fH�M�H��M�f H�I�F(I�FXH�O~3D��DH�|$ �Nm��H�E�H�M�H��H�|$ 3�H�H��E��H�~3I�D��D�m��H�E�E�L$I�FH��}3��DH�M�D��H�|$ ��l��E�L$H�|$ D��H��}3H�M���l��H�E�H�UH��H��H�E�H��I�FH��rH�M�H�����I��H�MH3����H�ĨA^A\_^[]��������@SH��H���3H3�H��$�H�������tMH��H�L$P�<�D��$�H��$XA�H�D$ H�}3H�L$0� l���D$@H�L$P���3����H��$�H3��L�H�Đ[����H�\$H�t$H�|$AVH�� H��I��H�	M��H��H��t>H�SL����L�CH�gfffffffL+H�I��H��H��H��?H�H��H����H�;K��H��H�KH��H�t$8H��H�|$@H�KH�\$0H�� A^���������I��L��L��H��I���,�������������@SH�� H��H�	H��tLH�SL����H�SH�gfffffffH+H�H��H��H��H��?H�H��H���Q��H�#H�cH�cH�� [��������������H��K��H��� ��H;�tMH�\$WH�� H��H�Y(H�H��rH�K�H����H�c�H��C�H��0H�C�H;�u�H�\$0H�� _��������������H�T$H�L$SVWATAUAVAWH��@M��L��L��L��L+	I��������*I��I��L��I��I��H��?L�H�II+I��H��H��H��H��?H�H�UUUUUUUH;��hL�jI�NI+I��H��H��H��H��?H�H��H��H��H+�H;�vH��$�H���3H�I��I;�HC�H;��H�vH��H��H��$�H��r�@��H��L��$��!H��t�9�H��L��$��3�H��$�H�\$ K�4H��H�L�~0L�|$0I�$H�I�D$H�FH�f H�f(AD$FAL$ N I�d$ I�D$(A�D$H�t$(I�VI�L;�uL���M��L��I���RH�\$(I�VH��$�M��M���6�L��M��H��I���TH��H��@A_A^A]A\_^[��\������������@SH�� I��H;�t\L��L�A(L+�E3�I�@�H�H��0I�@�K�D�O�\�O�A@�CD�AH�CL�M�X�I�E�X�M�@0I�H�H;�u�M��H��H���8���H��H�� [����������������H��H�XH�pH�x UATAUAVAWH��H���H��H��~3H3�H���H��H�M�H�M3�H�]@H�EH�]0L�
�eD�ÍS H�M0�Ƕ�H�U0H������H�;eH�L�@I�I�_I�_W�3�H�E@H�E�H�E�D�kL�m�D�cL�e�D�sL�u��sH�u��XH�]�H�E�H�E�	H�E�
H�E�H�E�H�E�
H�E�H�EH�E�E0H!E@D�L$ L�EH�U�H�M0���W�3�H�E`H�D$@H�D$HL�l$PL�d$XL�t$`H�t$hH�\$pH�D$x�EPH!E`D�L$ L�E�H�T$@H�MP�]��W�3�EH�E(H�W(H�M���L�e0M��H�uPH�]L;e8�;I�H�L$(H��H;uX�H�H�D$0H��H����L�m I;���L�d$0H�t$(H�exH���H��H�Mh�
��H�t$@L�d$HH�d$`H�d$hH�UhH�L$P����I�WI;Wt3H�D$@H�H�D$HH�B3�D$PBL$`J �P�D$PI�G0�L�D$@I�����H�T$hH��rH��H�L$P蕰�H���H��rH��H�Mh�{��H�� I;��8���H�]H�L$(H��H;}X��H�uPI��L;u8����L�e0H�}�H��t1L�EH�U H���h��H�U(H�MH+�H������W��EH�e(H��tH�U`H+�H��H�����M��tH�U@I+�H��I���֯�H��H���H3���L��$�I�[8I�s@I�{HI��A_A^A]A\]����
�����������@SH�� H�Q(H��H��rH�IH���q��H�c H�C(�CH�� [�����������H�\$WH�� H��aH��H���H��@�N
H��������t
�XH�����H�\$0H��H�� _�������@USVWATAUAVH�l$�H���H��z3H3�H�EM��H��H�U�E3�E��xaL�A@H�IHI+�H��������*H��H��H��H��?H�D;�}6Ic�H�@H��I�H�
H�H�JH�KH�KL�qL�qH���]���{�H�E�H�E�L�uH�ED�u�L�
$�E�ƍPH�M��%��I��I��W�H�E�H�E�H�E�H�E�H�E��E�L�u�D�L$0L�E�H�U�H�M����E��$DI��L�d$ E3�E��H�Bs3H�L$8�Hb��H�|$8w#L�d$ E3�E��H�s3H�L$8�$b��H�|$8�CL�u��2L�d$ E3�E��H��r3H�L$8�a��3�H�D$8I�H��H��tI��L;u�u��H��L�d$ A�E��H��r3H�L$8�a��H�|$8wTL�d$ A�E��H��r3H�L$8�a��H�D$8H��H��w&L�d$ A�E��H�`r3H�L$8�fa��H�t$8�QL�u�L;u�tGL�d$ A�E��H�0r3H�L$8�6a��3�H�D$8I�H��H��u
H��H��H��vI���H��H��uH��u�~�w��3ҍBH��H���H��u3ҍFH��H��H�;H�sH�KH�aH�A�L�

�E3�A�P���H�}�tH�U�H+U�H��H�M����H�UH��rH��H�M����H��H�MH3���H���A^A]A\_^[]�������������@USWAWH��H��hI��H��H�U�e�W�3�H�B���E�H�e�A�L�}��E�L�
�WE3�A�WH�M��S��L�G8H�U�H�M��A��H��H���֛���H�U�H��rH��H�M��/��H�e�L�}��E�L�
SWE3�A�PH�M���L�G@H�U�H�M�����H��H���~����H�U�H��rH��H�M��ת�L�}�H�E�� ]f�E��]�E��E�A� H�U�H�M����H��H���%����H�U�H��rH��H�M��~��L�}пH�}��yV�E��vV�E��pVf�E��E�D�GH�U�H�M��+��H��H������H�U�H��rH��H�M����L�}�H�}��i\�E��f\�E��`\f�E��E�A�H�U�H�M�����H��H���^����H�U�H��rH��H�M�跩�H��H��hA__[]�����������@USVWATAVAWH��H��pH�?u3H3�H�E�M��M��H��H��H�U�L�M��I��A�R83���uH�;H�{H�{��W��M�H�}�H�NHH+N@I��������*I��H��H��H��H��?H���W�3�E�H�E�H��|$ M��M��H�U�H��P�L�E�L;E�t,H�E�H;E�tI��H���Q��H�E���
H��H�M�����H�M��a�H��H�NHH+N@I��H��H��H��H��?H�H;��t���H�}�H�E�H�H�E�H�CH�{H��H�M�H3��C�H��pA_A^A\_^[]�����@SUVWAVH��H��s3H3�H��$�I��I��L��H��H�T$0��$�D��H�T$X�����H�d$HH�d$PH�T$hH�L$8����\$(H�D$8H�D$ L��L��I��H���0���H��$�H��r
H��H�L$h货�I��H��$�H3���H�ĐA^_^][����@USVWAVAWH�l$�H��H�,s3H3�H�EA��M��A��L��H�����D��H�U�M��H���F���H�}�I��H�]�H��l3I�@H�M�I�_8E3�A�G4��V4I�GI�G I�G(E��DH�t$ �[��H�E�H�M�H��H�t$ 3�H�H��A�H�Kl3I�E��D�L[��H�E�H�M�H��H�t$ 3�H�H��A�H�l3I�GA��DD���[��A�H�t$ D��H��k3H�M��Z��H�E�H�UH��H��H�E�H��I�GH��rH�M�H���7��I��H�MH3���H�ĸA_A^_^[]���������@SH��PH������tG���u>���u5D��DH��H�L$ H�Rk3H�L$0A��RZ���D$@u��2�H��P[����������������H�\$H�t$H�|$AVH�� H��I��H�	M��H��H��t>H�SL���K�L�CH��������*L+H�I��H��H��H��?H�H�RH���9��H�;K�vH��H�H�CH�vH�t$8H��H�H�|$@H�CH�\$0H�� A^���I��L��L��H��I�����������������@SH�� H��H�	H��tLH�SL����H�SH��������*H+H�H��H��H��H��?H�H�RH��葤�H�#H�cH�cH�� [��������������H��H�XH�pH�x UATAUAVAWH��H���H��H��o3H3�H���H��H�M�H�M3�H�]@H�EH�]0L�
�WD�ÍS$H�M0��H�U0H���+����H�WH�L�@I�I�_I�_W�3�H�E@H�E�H�E�D�kL�m�D�cL�e�D�sL�u��sH�u��XH�]�H�E�H�E�	H�E�
H�E�H�E�H�E�
H�E�H�EH�E�E0H!E@D�L$ L�EH�U�H�M0����W�3�H�E`H�D$@H�D$HL�l$PL�d$XL�t$`H�t$hH�\$pH�D$x�EPH!E`D�L$ L�E�H�T$@H�MP���W�3�EH�E(H�W(H�M�"��L�e0M��H�uPH�]L;e8�;I�H�L$(H��H;uX�H�H�D$0H��H��0��L�m I;���L�d$0H�t$(H�exH���H��H�Mh�=��H�t$@L�d$HH�d$`H�d$hH�UhH�L$P���I�WI;Wt3H�D$@H�H�D$HH�B3�D$PBL$`J �P�D$PI�G0�L�D$@I����H�T$hH��rH��H�L$P�š�H���H��rH��H�Mh諡�H�� I;��8���H�]H�L$(H��H;}X��H�uPI��L;u8����L�e0H�}�H��t1L�EH�U H��蘡�H�U(H�MH+�H����D��W��EH�e(H��tH�U`H+�H��H�����M��tH�U@I+�H��I�����H��H���H3����L��$�I�[8I�s@I�{HI��A_A^A]A\]���H�\$WH�� H��SH��H���H��@����H��薲����t
�XH���T�H�\$0H��H�� _�������@SH��0E3�H�T$ H��E��x^L�A@H��������*H�IHI+�H��H��H��H��?H�D;�}3Ic�H�@H��I�H�
H�H�JH��H�KH�KL�QL�Q���6H�KH�H�CL�
��E��L�Q�H�AD��ƣ�H��H��0[��������������@USVWAUAVAWH��H��`I��I��H��H�U�E3�D�}�W�3�H�B����E�L�}�E�oL�m�D�}�L�
�KE��A�WH�M��K��L�F8H�U�H�M��9
��H��H���Ώ���H�U�H��rH��H�M��'��L�}�L�m�D�}�L�
LKE�ǺH�M����L�F@H�U�H�M�����H��H���v����H�U�H��rH��H�M��Ϟ�D���I�΋��L��H�F@H��H��L񋓰H�ʋ��H�Ћ��H�F8H��H��H��H�H���L�}�L�m�D�}�L�
�PE�ǺH�M��D��L��H�U�H�M��3��H��H���Ȏ���H�U�H��rH��H�M��!��L�}�L�m�D�}�L�
�QE�ǺH�M����M�FH�U�H�M�����H��H���p����H�U�H��rH��H�M��ɝ�L�m�H�E��Pf�E��
P�E�D�}�A� H�U�H�M����H��H�������H�U�H��rH��H�M��p��L�mػH�]��kI�E��hI�E��bIf�E�D�}�D�CH�U�H�M����H��H��貍���H�U�H��rH��H�M����L�m�H�]��[O�E��XO�E��ROf�E�D�}�A�H�U�H�M��
��H��H���P����H�U�H��rH��H�M�詜�H��H��`A_A^A]_^[]��������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P����H������H������K H���k$�K���KH�� [����@SUVWAVH��H��g3H3�H��$�I��I��L��H��H�T$0��$�D��H�T$X�[����H�d$HH�d$PH�T$hH�L$8请�\$(H�D$8H�D$ L��L��I��H������H��$�H��r
H��H�L$h脛�I��H��$�H3��Q�H�ĐA^_^][����@USVWAVAWH�l$�H��H��f3H3�H�EA��M��A��L��H����D��H�U�M��H�����H�}�I��H�]�H��`3I�@H�M�I�_8E3�A�G4��4I�GI�G I�G(E��DH�t$ �PO��H�E�H�M�H��H�t$ 3�H�H��A�H�`3I�E��D�O��H�E�H�M�H��H�t$ 3�H�H��A�H��_3I�GA��DD����N��A�H�t$ D��H��_3H�M���N��H�E�H�UH��H��H�E�H��I�GH��rH�M�H�����I��H�MH3����H�ĸA_A^_^[]���������@USWAWH�l$�H��I��H��H�U�e�W�3�H�B����E�A�L�}H�E���E�E��E�E���Ef�E��E�E�GH�U�H�M��P��H��H������H�UH��rH��H�M��>��L�}�H�E�	��L�ENJ�L�E��E�H��H�D$ E3�D��DH�{^3H�M�M��L�EI��I��H�U�H�M�����H��H���^����H�U�H��rH��H�M�跘�L�}�H�E�H�IC_BLOCKH�E��E�A�H�U�H�M��v��H��H�������H�U�H��rH��H�M��d��H��H�ĨA__[]�����@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�}����H�������H���S���K @H�ÃK$@���K�KH�� [�����H�l$H�t$H�|$AWH��pA��I��H���,�D��DL�=.]3H��I��E3�H�l$ H�L$0�"L��D��DH�L$PA�H�l$ I���L��H�D$0H�L$PH��H�l$ H��A�H�D$PI��H�D��D��K��H�D$PH�ȃ�tH+�H��H�GH�L$PD��DA�I��H�l$ �K��H�D$PH�L$PH�GA�H�GI��H�G H�G(D��DH�l$ �WK��H�|$Pu
��?���CL�\$p�G4I�kH��I�sI�{ I��A_���������������L��I�[I�sWH��P���H����H���I�K�A�H��[3�pDH�xD��I�{���J�����H9D$0uJ���uA���u8A�H�|$ D��H��[3H�L$0�J��H�|$0u����Ƀ�w��2�H�\$`H�t$hH��P_�������������@USVWATAUH�l$�H��I��H��H�U�e�W�3�H�B����E�A�L�e�H�E��{A�E׋xA�E��rAf�E��E�E�D$H�U�H�M��,��H��H������H�U�H��rH��H�M����L�e�A�L�m���H�E���H�E��E�H���D�@DH��H�D$ E3�H�TZ3H�M��[I��H�MHMA��H�U�H�M��2�H��H���7����H�U�H��rH��H�M�萔�L�e�H�E�
�dH�E��aH�E��\H�E��E�H��H�t$ E3�D��DH��Y3H�M���H��H�MHMA��H�U�H�M���H��H��规���H�U�H��rH��H�M����L�e�L�m���G�E���G�E��E�A�E��H�U�H�M����H��H���M����H�U�H��rH��H�M�覓�L�e�L�m�H�X_BLOCKSH�E��E�H�t$ E3�D��DH��X3H�M��G��L�E�I��I��H�U�H�M��D��H��H���ك���H�U�H��rH��H�M��2��L�e�H�E�	�&G�E��#G�E��E�H���D�@DH��H�D$ A�H�kX3H�M��rG��L�E�I��I��H�U�H�M����H��H���N����H�U�H��rH��H�M�角�H��H�ĨA]A\_^[]�����@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P轻���H��蠼���H�������K @H�ÃK$@�K���KH�� [�����H�\$H�t$WH��A��I��H���o��H��E3ɋ�DH�hW3D��H�|$ H�L$0�fF��A�H�|$ D��H�AW3H�L$P�GF��A�H�|$ D��H�"W3H�L$p�(F��A�H�|$ D��H�W3H��$��F��H�D$0H�D$PH��H��H�H�D$pH�ȃ�tH+�H��H�FH��$�H�FH�FH�F H�F(H��u
�:��T>L��$��F4I�[H��I�sI��_����������������H��H�XH�pH�xL�` UAVAWH��H��pH���y�����]��DL�%$V3L���H��I��H�|$ E3�H�M�D���E��H�U�HU�u'D�JH�|$ I��H�M�D����D��H�M�HM�uE2��A�E3�H�|$ D��H�M�I����D��E�GDM�gE3�L�d$ H��U3H�M��D��H�E�H9E�uoA�H�|$ D��H�uU3H�M��|D��E�GDH�aU3A�L�d$ H�M��]D��H�E�H9E�u(A�H�|$ D��H�.U3H�M��5D���E�u2������u
���u2������u
���u2�����u��u
��u	E��u��2�L�\$pI�[ I�s(I�{0M�c8I��A_A^]�����H�\$H�|$UATAUAVAWH�l$�H��H��Z3H3�H�E/L��H�M�E3�L�}�H�E�D�}�L�
rCE��A�WH�M��’�H�U�I������H��BI�$M�|$@M�|$HM�|$PW�H�EH�EH�EH�E'�E�L�}�D�M�L�E/H�UH�M����W�3�E�H�EI�T$(H�M�讚�H�}�H�]�H;}���L�/L�}�I;���H�eH�e'H��H�M���L�m�H�e�H�e�H�UH�M����I�T$HI;T$Pt'H�E�H�3�E�BM�J�P�E�I�D$H(�L�E�I�L$@���H�U�H��r
H��H�M�衍�H�U'H��rH��H�M芍�H�� I;��R���H�]�H��H;}��0���E3�H��t0L�E�H�U�H��蓍�H�UH�M�H+�H����?��W��E�L�}L9}�tH�U�H+U�H��H�M����I��H�M/H3����L��$�I�[8I�{@I��A_A^A]A\]������������H�\$WH�� H��@H��H���H��@���H��覞����t
�XH���d�H�\$0H��H�� _�������@SH��0E3�H�T$ H��E��xTL�A@H�gfffffffH�IHI+�H��H��H��H��?H�D;�})Ic�H��I��H�RH�I��H�KL�QL�Q����H�H�C L�SD�SH��H��0[�������@USVWAUAVAWH�l$�H��PH��W3H3�H�E@I��I��L��H��H�T$x�d$pI���H�M����L�=6�
L�}�H��H�M����L�}�W�3�AI�FL��L��I��H���x���D$pH�8H�E�H�D$ E3�D�}�E��H��P3H�L$P��?��H�E�H�D$ E3�E��H��P3H�L$0�?��H�\$PH\$@H\$HH��XH�D$ E3�D���H�,R3H�L$0袠�����H�G�H��Ht$0H;�HB�H�d$@A�L�l$H�D$0L�
k?E3�A�UH�L$0蚎�L��H�T$0H�L$P���H��I���{���H�T$HA�]H;�r
H��H�L$0�p��L�l$HL�l$@�&?�D$0�"?�D$8�?f�D$<�?�D$>�D$?L��H�T$0H�L$P����H��I���z���H�T$HH;�r
H��H�L$0��L�l$HH�D$@��5�D$0��5�D$8��5f�D$<�D$>L��H�T$0H�L$P���H��I���:z���H�T$HH;�r
H��H�L$0蒉�L�l$hH�D$`H�X_BLOCKSH�D$P�D$XH�E�H�D$ E3�D�E4H��N3H�M���=��H�E�H��H�3�H��L��H�T$PH�L$0����H��I���y���H�T$hH;�r
H��H�L$P���L�l$hH�D$`	��<�D$P��<�D$X�D$YH�E�H�D$ A�E��H�HN3H�M��O=��L�E�I��I��H�T$PH�L$0���H��I���)y���H�T$hH;�rH��H�L$P聈�H�M�H��tH�UH+�H����g��H�M�H��tH�U�H+�H����M��I��H�M@H3���H��PA_A^A]_^[]�������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�M����H���0����H��蓱���K @H�ÃK$@���K�KH�� [�����@SUVWAVH��H�SS3H3�H��$�I��I��L��H��H�T$0��$�D��H�T$X�����H�d$HH�d$PH�T$`H�L$8�?��\$(H�D$8H�D$ L��L��I��H��萺���H�T$xH��r
H��H�L$`���I��H��$�H3����H�ĐA^_^][�������@USVWAVAWH�l$�H���H��R3H3�H�EA��I��A��L��H���(��D��H�U�L��H������L�u�H��M�w8H�L$0��DE3�H�5L3H�\$ H��D���;��A�H�\$ D��H�M�H����:��A�H�\$ D��H�M�H����:��A�H�\$ D��H�M�H���:��H�D$03�H��I�I��H�E�I�H�E�H�ȃ�tH+�H��I�GH�E�I�GI�GI�G I�G(H��u
�-��3�AG4H�UH��rH�M�H��衅�I��H�MH3��r�H���A_A^_^[]���H�\$H�t$WH��PI��H���&������H��H��胷������H���H����DH��J3D��H�|$ A�H�L$0�9���D$0uUD�FDH�FA�H�D$ H�wJ3H�L$0�}9���D$@u*A�H�|$ D��H�QJ3H�L$0�W9���D$@u��2�H�\$`H�t$hH��P_�����������H�\$H�|$UATAUAVAWH�l$�H��H�2P3H3�H�E/L��H�M�E3�L�}�H�E�D�}�L�
�9E��A�W H�M��2��H�U�I���f����H�9I�$M�|$@M�|$HM�|$PW�H�EH�EH�EH�E'�E�L�}�D�M�L�E/H�UH�M�芰�W�3�E�H�EI�T$(H�M����H�}�H�]�H;}���L�/L�}�I;���H�eH�e'H��H�M�u��L�m�H�e�H�e�H�UH�M��Y��I�T$HI;T$Pt'H�E�H�3�E�BM�J�P�E�I�D$H(�L�E�I�L$@����H�U�H��r
H��H�M����H�U'H��rH��H�M��H�� I;��R���H�]�H��H;}��0���E3�H��t0L�E�H�U�H�����H�UH�M�H+�H���诂�W��E�L�}L9}�tH�U�H+U�H��H�M�舂�I��H�M/H3��X�L��$�I�[8I�{@I��A_A^A]A\]������������H�\$WH�� H�7H��H���H��@���H��������t
�XH���ԽH�\$0H��H�� _�������@SH��0E3�H�T$ H��E��xTL�A@H�gfffffffH�IHI+�H��H��H��H��?H�D;�})Ic�H��I��H�RH�I��H�KL�QL�Q舝��.H�KH�L�
d�L�QE��H�A�D��X��H��H��0[����������������@USVWAVAWH�l$�H��XH��L3H3�H�E@I��I��L��H��H�T$x�d$pI���H�M����L�=��
L�}�H��H�M�����L�}�W�3�AI�FL��L��I��H���ʻ���D$pH�8H�E�H�D$ E3�D�E�H�'F3H�L$P�-5��H�E�H�D$ E3�D�E�H�F3H�L$0�5��H�\$@H\$PH\$HH��XH�D$ E3�D���H��G3H�L$0���D���H�G�L��L|$0I;�LB����I��H��H��H�d$@H�D$H�D$0L�
�4E3�A�PH�L$0�݃�L��H�T$0H�L$P���H��I���_p���H�T$H�H;�r
H��H�L$0��H�D$HH�D$@�c4�D$0�_4�D$8�X4f�D$<�O4�D$>�D$?M��H�T$0H�L$P�N�H��I����o���H�T$HH;�r
H��H�L$0�;�H�d$@A�L�|$H�D$0L�
�4E3�H��H�L$0��L��H�T$0H�L$P���H��I���o���H�T$HH;�r
H��H�L$0��~�L�|$HH�D$@��*�D$0��*�D$8��*f�D$<�D$>L��H�T$0H�L$P��H��I���o���H�T$HH;�r
H��H�L$0�l~�L�|$hH�D$`H�X_BLOCKSH�D$P�D$XH�E�H�D$ E3�D�E4H��C3H�M��2��H�E�H��H�3�H��L��H�T$PH�L$0��H��I���n���H�T$hH;�r
H��H�L$P��}�L�|$hH�D$`	��1�D$P��1�D$X�D$YH�E�H�D$ A�D�E�H�!C3H�M��(2��L�E�I��I��H�T$PH�L$0�m�H��I���n���H�T$hH;�rH��H�L$P�Z}�H�M�H��tH�UH+�H����@}�H�M�H��tH�U�H+�H����&}�I��H�M@H3��H��XA_A^_^[]��������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�-����H�������H���s����K H�ÃK$@�K���KH�� [�����@SUVWAVH��H�3H3H3�H��$�I��I��L��H��H�T$0��$�D��H�T$X�K����H�d$HH�d$PH�T$`H�L$8���\$(H�D$8H�D$ L��L��I��H���p����H�T$xH��r
H��H�L$`�{�I��H��$�H3��ĸH�ĐA^_^][�������@USVWAVAWH�l$�H���H�lG3H3�H�EA��I��A��L��H�����D��H�U�L��H�����L�u�H��M�w8H�L$0��DE3�H�5�@3H�\$ H��D����/��A�H�\$ D��H�M�H����/��A�H�\$ D��H�M�H���/��A�H�\$ D��H�M�H���/��H�D$03�H��I�I��H�E�I�H�E�H�ȃ�tH+�H��I�GH�E�I�GI�GI�G I�G(H��u
�_"���'�AG4H�UH��rH�M�H���z�I��H�MH3��R�H���A_A^_^[]���H�\$H�l$H�t$WH��PI��H���������H��H���^�������H���H��?3A�H�L$0�pDH�xD��H�|$ �.��H�|$0��H��A���DH�S?3D��H�l$ H�L$0�Q.���D$0uPA�H�|$ D��H�%?3H�L$0�+.���D$@u*A�H�l$ D��H��>3H�L$0�.���D$@u��2�H�\$`H�l$hH�t$pH��P_����H�\$ UWAVH��H��`I��H��H�U��e�W�3�H�B���A�D�E�E�p�����L�u�H�E�H�MOMENTUMH�E��E�H�U�H�M��K��H��H���`i���H�U�H��rH��H�M��x�L�u�L�u��9.�E��6.�E��0.f�E̊(.�E��E����H�U�H�M��>��H��H����h���H�U�H��rH��H�M��Lx�L�u�H�E�
��-�E���-f�E��E����H�U�H�M�����H��H���h���H�U�H��rH��H�M���w�H��H��$�H��`A^_]����������@SH�� H�"H�ڃbH�˃b�b�b�b�b �b$�b(�b,�B�����	H���ޠ���H���1����H��贡���	H��觡���K H�ÃK$�K�c��H�� [���������@SH�� H�"H�ڃbH�˃b�b�b�b�b �b$�b(�b,�B�	�K����H��螠���	H���!����K H�ÃK$�K�K���cH�� [���������������H��H�XH�pWH��pA���I��XH��H�X�D��H��=3A�H�H�����A�H�\$ D��H�}=3H�L$P��H�D$0L�\$pI�[�H�FH�D$PH�F�A��F0H�F H�F(H��H�H�N�F4��V5I�sI��_����������̃��u���u��2����������@SH�� H�"H�ڃbH�˃b�b�b�b�b �b$�b(�b,�B�	����H���>����	H������K H�ÃK$�K�K�c��H�� [���������������H�\$H�t$WH��A���I��XH��H�\$ D��H�><3A�H�L$P變��A�H�\$ D��H�<3H�L$0菊��E3�H�\$ D��H��;3H�L$p�s���H�\$ H��;3�H��$�D��D���O���H�D$0�KH�D$PL��$�H�^ H�FH�D$pH��$�H�^(I�[H�FH���F0H�H�N�F4��;5I�sI��_����������@SH��PH���H��A�H��93D�ADH�AH�L$0H�D$ �(���D$0u���u
���u��2�H��P[��������@SH�� H�"H�ڃbH�˃b�b�b�b�b �b$�b(�b,�B�	����H���N����	H���ѝ���K H�ÃK$�K���cH�� [���H��H�XH�pWH��pA���I��XH��H�X�D��H�a:3A�H�H��҈��A�H�\$ D��H�=:3H�L$0賈��H�L$0E3�H��L�VL�V L�V(D�V0D�V4��tH+�H��H�D$PA�H�FI;�H��$�H�HC�L�NL��$�L�A�AL;�LG�3�H��L�FI��H��tI��3�H��I��H��u�L�FL�\$pL�N I�[H��L�N(�F4��V5I�s I��_���̃��u���u���u���u��2��������H��H�XH�pWH��pA���I��XH��H�X�D��H�!93A�H�H�蒇��A�H�\$ D��H��83H�L$0�s���H�L$0H�VE3�H�H��L�V L�V(D�V0D�V4��tH+�H��H�D$PA�H�FI;�H�
H��$�HC�L�NL��$�L�A�AL;�LG�3�H��L�F I��H��tI��3�H��I��H��u�L�F L�\$pL�N(I�[H���F4��V5I�s I��_Ã��u���u��2����������H�\$ UVWH��H��I��H��H�U��e�W�3�H�B�o���E���DH��H�\$ A�D��H�63H�M��%��H�\$ A�D��H��53H�M��$��H�E�H�E�H��wjH�E�H�E���%�E���%�E���%f�E��E�A�H�U�H�M����H��H���`���H�U�H��rH��H�M��o�H��H��$�H�Ā_^]�����������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P����	H�����H���C����H���6����H��蹙���	H��謙�����	C 	C$H�ÁK�H�� [������������H�\$H�t$H�|$UATAVH��H��pM��H���w��A��DL�%|43I��I��A�H�t$ D��H�M��k#��A�H�t$ D��H�M�I���Q#��H�E�H�E�H����E3�H�t$ D��H�M�I���'#��H�E�H�ȃ�tH+�H�� H�H�M�A��DA�D��H�t$ I����"��A�H�t$ D��H�M�I����"��H�E�H�M�H�E�A�H�t$ H�GI��A��DD���"��A�H�t$ D��H�M�I���"��H�E�H�E�H�G H�GH�G H�G(L�\$pH��I�[ I�s(I�{0I��A^A\]�������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�ݖ���	H���Ж���H���#����H�������H��虗���	H��茗���K H�ÃK$�K��H�� [��L��I�[I�kI�sWH��pI���I��H�"I�K�H�bI��H�bH��H�bH�b H�b(�b4�x@A��DD����I�s��B0E3�H�123�<!��D���3�H�L$0A��H��I��H��tH+�I�H�H��13�H�t$ D��H�L$0D��� ��H�D$0D�KD��H�GH��13H�t$ H�L$0�� ��D�KH�t$ D��H��13H�L$P� ��H�D$0L�\$pH�D$PI�kI�s H�GH��H�_ H�_(I�[H�G�G4�!5I��_����H�\$ UVWATAUAVAWH��$����H��@I��H��H���E3�D�d$$W�3�H�B�{����D$$E�l$L���A�|$
H����3!����,!f���D���D��PH���H����\���L�mxE�t$L�up�� �E`�� f�Eh�� �EjD�ekD��TH�U`H������L���H����� ����� f���D���D��XH���H������L���HDž��K����C���D���D��\H���H�� �����L���L���D���L�
+ E��E�|$A��H����n�D��`H���H��0�y���L���HDž�	����������D���D��dH���H��@�)���L�mXL�uP���E@��f�EH���EJD�eKD��hH�U@H��P�����L�m8L�u0���E ��f�E(��E*D�e+D��lH�U H��`����L�mA�|$H�}�Q�E�N�E�Hf�ED�eD��pH�UH��p�U���L�m�H�}���E��E��f�E�D�e�D��tH�U�H�������L�m�H�}����E����E���f�E�D�e�D���H�U�H��������L���L���D���L�
�E�čWH����l�D���H���H�������L�m�H�E�
���E����E��|�E�D�e����H�U�H�������L���HDž��Gf����<���D������H���H����J���L��pL��xD��`L�
�E�čWH��`�;k����H��`H�������L�m�L�u����E���f�E����E�D�e�D��|H�U�H����Z����L�l$xL�t$p���D$`��f�D$h���D$jD�d$kD���H�T$`H��������L��PL��XD��@L�
YE��A��H��@�_j�D��xH��@H�������L��0L��8D�� L�
'E�čWH�� �j�D���H�� H���z����L�l$XL�l$P���D$@���D$H��f�D$L���D$ND�d$OD���H�T$@H�� �$����L��L��D��L�
�E��A��H���ui�D���H��H��0����W��D$(L�d$8D�L$ L��@H���H�L$(��C���L�t$0H�\$(E�|$I;�tOH�VH;Vt(L�"L�bH�CH��t�@H�H�H�CH�BL~�L��H�����I�I;�u�L�t$0H�\$(H��thI;�tAH�{H��t+����G��uH�H������G��u	H�H��PI�I;�u�H�\$(H�T$8H+�H���H���{d�W��D$(L�d$8L�
f{�A�I��H������H��I;�rH��H���5d�L��L��D��H�T$XI;�r
H��H�L$@�	d�L�d$PL�l$XD�d$@H��8I;�rH��H�� ��c�L��0L��8D�� H��XI;�rH��H��@�c�L��PL��XD��@H�T$xI;�r
H��H�L$`�c�L�d$pL�l$xD�d$`H�U�I;�rH��H�M��_c�L�e�L�m�D�e�H��xI;�rH��H��`�8c�L��pL��xD��`H���I;�rH��H����c�L���L���D���H�U�I;�rH��H�M���b�L�e�L�m�D�e�H���I;�rH��H����b�L���L���D���H�U�I;�rH��H�M��b�L�e�L�m�D�e�H�U�I;�rH��H�M��lb�L�e�L�m�D�e�H�UI;�rH��H�M�Kb�L�eL�mD�eH�U8I;�rH��H�M �*b�L�e0L�m8D�e H�UXI;�rH��H�M@�	b�L�ePL�mXD�e@H���I;�rH��H�����a�L���L���D���H���I;�rH��H����a�L���L���D���H���I;�rH��H����a�L���L���D���H���I;�rH��H����Ra�L���L���D���H�UxI;�rH��H�M`�(a�L�epL�mxD�e`H���I;�rH��H����a�H��H��$�H��@A_A^A]A\_^]����I���3ɉJ4H�
H�J�x@H�J��H�J�B0H��H�J H�J(����������������L��I�[I�KUVWAVAWH��@I��H��E3�E�{�L�9L�yL�yL�yL�y L�y(L�y0L�y8�A@$tII��L�qHD�yPD�yXL�y`L�yhL�ypL�yxfD���L���A�G���ǁ�D���L���Hǁ�D���D����D$ I�K��H�H�PL�8L�xH�H�_H�WH��t+A����CA�uH�H��A����CA�u	H�H��PH�\$0H��t+A����CA�uH�H��A����CA�u	H�H��PL�D$xH��H�O�����G@$tIL�wHD�PD���H��H��$�H��@A_A^_^]�����H�\$H�t$H�L$WH�� H��H�����|�H��H�D$0H��t)W���C�CH�H�H�KH���(�3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H�\$WH�� H��H�����H�LH��P�P�`�`�p�p�������������H�\$0���H��H�� _����������������@SH�� H�;H��H���t
��讙H��H�� [������@USVWATAUAVAWH��$���H��H�u)3H3�H���I��I��L��L��H�U�E3�D�d$|E�l$E��H��H������I�L��H���I��P@W�3���H���L��H���I���k�I�^L�NH�|$ L��H���I���+����H���H�D$ L���L��H���I���ŝ���H�� H�E�L�e�D�e�L�N0D�d$`D�d$XD�l$PD�d$HD�d$@H�E�H�D$8H���H�D$0H���H�D$(H�\$ L���H��I���H����H�U�H��rH��H�M��\�D�d$tD�l$xH�WHH;WPtH�D$tH�H�GH�L�D$tH�O@����D�d$t�D$xH�WHH;WPtH�D$tH�H�GH�L�D$tH�O@���� ��PH��H�M��|��M�'M�gM�gD�L$pL�ExH�U�I���۹��D�l$|L�
���M�ź�H�M��n��H���H��rH��H����[�L����H���D���H���H��rH��H����k[�L���H���D���H���H��t?L���H����7��H���H���H+�H����[�L���W����H���߷�I��H���H3��͗H��A_A^A]A\_^[]����������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P����	H�����H���ӄ���	H���Ƅ���K H�ÃK$�H�� [���H�\$ UVWAVAWH��PI��H���e������A�A��u��TH���I��D��H�qH��H�8H�� H;Au�iDH�3D��H�t$ H�L$0A��w��3�H��H��I��3�H�t$0H��H=vH��3�H��I�H��I�<A�H�t$ D��H�!3H�L$0�'��L�D$03�L��I��H��H��t	H��H+�L�L�H��L�{L�{H�{L�{ L�{(H��$�H��PA_A^_^]�����������@USVWATAUAVAWH��$���H���H��$3H3�H���I��I��L��L��H�U�E3�D�d$tE�l$E��H��H���D����I�L��H���I��P@W�3�EpH���L��H�UpI������I�^L�NH�|$ L��H���I��葢���H���H�D$ L�MpL��H���I���.����A�|$H�}�L�e�D�d$xL�N0D�d$`D�d$XD�l$PD�d$HD�d$@H�D$xH�D$8H���H�D$0H���H�D$(H�\$ L���H��I��豞���H�U�H��r
H��H�L$x��W�����@H��H�M��I��M�'M�gM�gD�L$pL�EhH�U�I��訵��D�l$tL�
|��M�ź�H�M��;��H���H��rH��H����nW�L���H���D���H���H��rH��H����=W�L���H���D���H�MpH��t0L�EpH�Ux���H���H�MpH+�H����V�L�epW��ExH���ó�I��H���H3�豓H���A_A^A]A\_^[]��������������H�\$WH�� I��H����������Tt��`u��D��PA�D��H��vH��3�I#�H�H��I�H��H��3�I��H��H��t	H��H+�L�L�H��L�KL�KH�KL�K L�K(H�\$0H�� _�����L��I�[I�KUVWAVAWH��@I��H��E3�E�{�L�9L�yL�yL�yL�y L�y(L�y0L�y8�A@$tII��L�qHD�yPD�yXL�y`L�yhL�ypL�yxfD���L���A�G���ǁ�D���L���Hǁ�D���D����D$ I�K��H�H�PL�8L�xH�H�_H�WH��t+A����CA�uH�H��A����CA�u	H�H��PH�\$0H��t+A����CA�uH�H��A����CA�u	H�H��PL�D$xH��H�O聳���G@$tIL�wHD�PD���H��H��$�H��@A_A^_^]�����H��H�XH�hH�p H�HWH�� H��H����H��H�D$0H��t4W���G�GH��H�H��H�O蔏��H�]H�G�3�W�H�GH�H�~H��H�\$8H�l$@H�t$HH�� _�������������@SH�� H�kH��H���t
��莏H��H�� [������H�\$ UVWH�l$�H��I��H��H�U�eW�3�H�B�-{����]H���H�JH��H�H�� H;Au�H�L$ A�D�BDH��3H�M�����3�H��H�u�H��H��XH�D$ A�D���H�L3H�M'��h��H�e��H�u��E�L�
R
E3��VH�M���V�L��H�U�H�M����H��H���_C���H�U�H��rH��H�M��R�H�u�H�u��
�E�
�E��
f�E�
�E��E�L�E'H�U�H�M�a���H��H���B���H�U�H��rH��H�M��OR�H��H��$�H�Đ_^]����������@USVWATAUAVAWH��$����H��XH��3H3�H��@M��I��H�]�H��L��H�U�3��}�W��D$x���H���D�L$pL�D$|H�T$xH�����S�I�$L��H��0I��PPD�GH��H��p�}����L��pW��E�H�}�H���L���I;�tfL+�I��H��H��������?H;��H��H��r
H���P��H��t
H��襌�3�H�E�H�E�H�H�]�M��H��H���yH�]�E3�L�u��E�D�u�L�u�L�u�L�u�L�u�H�E�H�D$ L���L�E�I��I���/�����uL�6L�vL�v�W�3���H���I�$M��H���I��PH�I�\$M�OL�l$ L��H���I���c����H���H�D$ L���L��H��I������A�L�m�L�u�D�u�I���I9����L�M�I��0D�t$`D�t$XE�}�D�|$P�D$HD�|$@H�E�H�D$8H���H�D$0H��H�D$(H�\$ L��0H���I���i����H�U�H��rH��H�M��O���d���H��pH�M����L�6L�vL�vD�L$pL���H�U�H���^���D�}�L�
3��M�Ǻ�H�M����H��(H��rH��H���%O�L�� L��(D��H��H��rH��H�����N�L��L��D���H���H��t?L���H������H���H���H+�H����N�L���W����H��p�h��H��tH���H+�H��H���lN�H��H��@H3��:�H��XA_A^A]A\_^[]��l��@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�mw���	H���`w���H���Sw���H���6x���	H���)x���H���x���H���w���H���rw���H���ew���K �H�ÃK$��H�� [���������������H�\$H�t$ UWAVH�l$�H��H�3H3�H�E?I��L��H�"H�bH�bH�bH�b H�b(�B0�b43�H�EI���H�_H�\$ E3�D�GDH��3H�M����H�E�H�E�H��XH�D$ A�D���H�3H�M��b��H�E�H�E�H�\$ A�D�GDH�13H�M��8��H�E�H�E�W��EH�eD�M�L�EH�U�H�M�.y�W�3�E'H�E7�E�H!E�H�}H�uH;�tfH+�H��H��H��������H;���H��H��r
H���K��H��t
H��虇�3�H�E�H�E�H�H�]�L��H��H���tH�]�H�U�H�M'跢��H�I�H�GI�FH�GI�FH�M'H�I�FH�AI�F I�F(H�U7H+�H���K�W��E'H�e7H�UH+�H��H���K�I��H�M?H3��W�L��$�I�[ I�s8I��A^_]��i����������L��I�[I�KUVWAVAWH��@I��H��E3�E�{�L�9L�yL�yL�yL�y L�y(L�y0L�y8�A@$tII��L�qHD�yPD�yXL�y`L�yhL�ypL�yxfD���L���A�G���ǁ�D���L���Hǁ�D���D����D$ I�K��H�H�PL�8L�xH�H�_H�WH��t+A����CA�uH�H��A����CA�u	H�H��PH�\$0H��t+A����CA�uH�H��A����CA�u	H�H��PL�D$xH��H�O����G@$tIL�wHD�PD���H��H��$�H��@A_A^_^]�����H�\$H�t$H�L$WH�� H��H����,�H��H�D$0H��t)W���C�CH�7H�H�KH���(�3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H�\$H�L$WH�� H��H��薄���H��H�������������������������H���H��������H���H������H��H�\$8H�� _������H��(H�	H��t
�8�j�H��(������@SH�� H�CH��H���t
��>�H��H�� [������@USVWATAUAVAWH��$���H��(H�3H3�H��L�M�M��L�E�L��L�ዝ�H�U�H���H���L���L�������D$t�d$xH�M��I��P8E3ۄ���H�FH9��I����QD;�@��tKE��E�KL�QH�II;�tL9I��D
�L�	H�� I;�u�E��u��u��t	��u
��u@��A��H�E�D8X:u@��uM�M�_M�_�tA�I��H��@����L��@@��uXD��H�U�I����He��H��I���H��H��蓬�O@�K@�GD�CDH�M�3�H��tH�U�H+�H�����F�ƅ��3�W��E�H�]�H�H�E�H�~H;�tiH+�H��H��H��������?H;��3H��H��r
H���F��H��t
H�����3�H�E�H�E�H�H�]�L��H�U�H����nH�]�3�H�]��E��]�H�e�H�e�H�e�H�e�H�E�H�D$ L���L�E�H�}�H��I��臣����ufI�I�_I�_H��@�ܢ�H�H��tH�VH+�H����E�H�H�^H�^I�VH��rH��I���E�I�^�I�^A��L�D$p�H��P�W���M�D$H�]�L�KH�|$ H���I���v����I�$D�L$tM��H�U�I��PXH�8H� H�}�H�M�H��t
�8��W�3���H���I�$L��M��H���I��PP�H���H�D$ L���M�D$H��I��诅���H���H9����L�K0A����D$`A����D$X��\$P�T$H�\$@L�t$8H���H�D$0H��H�D$(I�D$H�D$ L��H��PI���)����������D$t��H��@H�M�ϔ�E3�M�'M�gM�gD�L$pL���H�UI���(����\$xL�
���D�ú�H�M�~�H��0H��rH��H����C�L��(�H��0D��H���H��t?L���H������H���H���H+�H����C�L���W����H��t�8H���8�H��H��rH��H����[C�L��H��D���H��@���H�H��tH�VH+�H���!C�L�&L�fL�fI�VH��rH��I��C�M�fI�^E�&�YM�M�_M�_H�H��tH�VH+�H����B�3�H�>H�~H�~�3�I�VH��rH��I��B�I�~I�^A�>I��H��H3��iH��(A_A^A]A\_^[]��`�����������������H�\$ UVWATAUAVAWH��$`���H��M��H��H�UpE3�D�d$4W�3�H�B�i���D$4I���H�JA�\$H��H�H�� H;Au�H�L$ A�E��D�BDH�Z3H�Mx�a���3�H��H�uxH��L�e�A�vH�u�D�e�L�
�E�čVH�M��E�L��H�U�H�M��~���H��H���2���H�U�E�nI;�rH��H�M��iA�L�e�H�u�D�e�L�
]E�ĺH�M��5E�E���H�U�H�M谝��H��H���1���H�U�I;�rH��H�M��A�E8����H�u(L�u �EW_QFD�eM���H�UH�L$8�:���W��D$HL�d$XD�L$0L�D$HH�T$8H�L$H�B���L�t$PH�\$HI;�tOH�WH;Wt(L�"L�bH�CH��t�@H�H�H�CH�BLo�L��H���E��I�I;�u�L�t$PH�\$HH��tmI;�tFH�sH��t+����F��uH�H������F��u	H�H��PI�I;�u�H�\$H�H�T$XH+�H���H����?�W��D$HL�d$XL�
�V�A�I��H�L$8�wz�H�U(I;�rH��H�M�?�H�uHH�E@�E0I_QFD�e4�A��H�U0H�M��T����W��D$`L�d$pD�L$0L�E�H�U�H�L$`�����L�t$hH�\$`I;�tOH�WH;Wt(L�"L�bH�CH��t�@H�H�H�CH�BLo�L��H������I�I;�u�L�t$hH�\$`H��tmI;�tFH�sH��t+����F��uH�H������F��u	H�H��PI�I;�u�H�\$`�H�T$pH+�H���H���>�W��D$`L�d$pL�
�U�A�I��H�M��$y�H�UHI;�rH��H�M0�^>�E8����L�e�H�u�D�e�L�
ZE��I��H�M��B�E���H�U�H�M蚚��H��H���.���H�U�I;�rH��H�M��=�H�u�H�E��E�O_QFD�e�M���H�U�H�M��.��H��H���S.���H�U�I;��VH�M��EH�uhH�E`�EPO_QFD�eT�A��H�UPH�M��O����W��D$xL�e�D�L$0L�E�H�U�H�L$x�����L�u�H�\$xI;�tNH�WH;Wt(L�"L�bH�CH��t�@H�H�H�CH�BLo�L��H������I�I;�u�L�u�H�\$xH��tjI;�tEH�sH��t/A��A����FA�uH�H��A����FA�u	H�H��PI�I;�u�H�\$xH�U�H+�H���H���<�W��D$xL�e�L�
�S�A�I��H�M��%w�H�UhI;�rH�MPH���_<�H��H��$�H�ĠA_A^A]A\_^]��L��SUVWATAUAVAWH���A)s�H��3H3�H��$�M��M��L��H��H��$���$0L��$8M�c���$@��$HH�D$xH�D$PD��H�T$x蕊��H��I��H�L$`�eG��|$@H�\$8�t$0H�D$(�t$ M��M��I��H����I�$3�H��tI�T$H+�H���n;�I�$I�\$I�\$I��H��$�H3��-x(�$�H���A_A^A]A\_^][��H�\$WH��0�8H�T$ I��H���vE3�H�D$ H��H��t5W�3�AA H�A0L�L�QL�QL�QL�Q L�Q(D�Q0D�Q4�I��H���A�A�Ӄx@E�K���A0L��H���H�I�I;�u�H�H�D$ L�YI;�L�YHC�L�\$ L�M;�MG�L�AL�	�M+�L�A3�I��I��H��u�L�Y(H��L�Y H�H�\$@H��0_����H��USVWAVAWH�h�H��)p�H��3H3�H�EM��M��H��H��H�U�e�W�3�H�BH!H!BH!B�E�3�H�A0H+A(H��H�����5��
W�3�E�H�E�H�L���H��H��|�W��E�H�e�D�M�L�E�H�U�H�M��;�H��t$8�t$0H�M�H�L$(�D$ M��M��H�U�H��PH�L�E�L;E�t+H�CH;CtI��H��訉�H�C��H��H���3}���H�M�蹣�H��H�O0H+O(H��H;��:���H��H�MH3���u(�$�H�ĸA_A^_^[]�����������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P��a���	H����a���H����a���H���b���	H���b���H���b���H���a���H����a���H����a���K �H�ÃK$���K0H�� [�����������H�\$ UVWAVAWH�l$�H��H��3H3�H�E/I��L��H�U�A��H�U����H�0H� H�u�H�M�H��t
�8�es3�H�E'��DH��H�\$ D�HD��H���2H�M���H�E�H�E�H�\$ A�D��H��2H�M����H�E�H�E�W��EH�e'D�M�L�E�H�U�H�M��c�W�3�E�H�E�E�H!E�H�}L�uI;�tfL+�I��H��H��������H;���H��H��r
H���@6��H��t
H���Ar�3�H�E�H�E�H�H�]�M��H��H���0_H�]�H�U�H�M��_���H�H�H�GH�F�H�VH�E�H�H�NH�E�H�@H�F H�V(I�7H�M�H��tH�UH+�H���A6�W��E�H�eH�U'H+�H��H���!6�I��H�M/H3���rH��$�H�İA_A^_^]��5T�����@USVWATAVAWH�l$�H��I��H��H�U�E3�D�d$4W�3�H�B�V��D$4H���A�L$E�|$H�L$`D�d$XL�|$h9H@u3H�__fc_f16H�D$PL�Ӫ	H�T$PH�L$p�T��H��H����%����1H�__fc_f32H�D$PL���	H�T$PH�L$p�!��H��H���%���H�T$hH��r
H��H�L$P�
5�H���D�@DH��H�D$ A�H�l�2H�M��s�L�e�L�}�D�e�L�
��E�ĺH�M��8�H�]�D��H�U�H�M�虢���L�e�L�}�D�e�L�
��E�ĺH�M��t8���D��H�U�H�M��`����W��D$8L�d$HD�L$0L�E�H�U�H�L$8�����L�t$@H�\$8I;�tQH�WH;Wt)L�"L�bH�CH��t�@H�H�H�CH�BH�G�L��H������H��I;�u�L�t$@H�\$8H��tiI;�tBH�sH��t+����F��uH�H������F��u	H�H��PH��I;�u�H�\$8H�T$HH+�H���H���3�W��D$8L�d$HL�
tJ�D�B�H�M��n�H�U�H��rH��H�M��K3�L�e�L�}�D�e�H�U�H��rH��H�M��)3�H��H��A_A^A\_^[]�����H��USVWAVAWH�h�H��)p�H���2H3�H�EM��M��H��H��H�U�e�W�3�H�BH!H!BH!B�E�3�H�A0H+A(H��H�����5��W�3�E�H�E��E��E�H!E�D�M�L�E�H�U�H�M��u4�H��t$8�t$0H�M�H�L$(�d$ M��M��H�U�H��PH�L�E�L;E�t+H�CH;CtI��H��蚂�H�C��H��H���%v���H�M�諜�H��H�O0H+O(H��H;��L���H��H�MH3��n(�$�H�ĸA_A^_^[]�������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P��Z���	H����Z���H���[���	H���[���H���	[���H���Z���K �H�ÃK$��H�� [������@USVWAVH�l$�H��H���2H3�H�E'I��H��H�U�H�U����L�0H� L�u�H�M�H��t
�8�l3�H�E�H�E�@��DH��H�\$ D�HD��H� �2H�M�'�H�EH�E�H�\$ A�D��H���2H�M��H�EH�E�W��E�H�e�D�M�L�E�H�U�H�M��\�H�E�@�H�}�H�}�W��EH�eD�M�L�E�H�U�H�M�\�H�]�H�I�H�CI�FI�~H�MH�I�FH�AI�F I�~(A�F4�!5L�6H�UH+�H����/�H�U�H+�H��H���/�H��H�M'H3��lH��A^_^[]������@USVWATAUAVAWH��$����H��hI��H��H���E3�D�|$$W�3�H�B����D$$E�oL���A�H����8�����2�����)�f���D���L�CH���H����؜���L�}pL�mxD�}`L�
��E�ǍWH�M`�2�L�CH�U`H���蠜���L�m�H�}�����E�����E����f�E�D�}�D�C8H�U�H���莉���L�m�H�E�
����E����f�E�D�}�L�C@H�U�H����!���L�l$xL�l$p�f��D$`�b��D$h�[�f�D$l�R��D$nD�|$oD�CHH�T$`H�������L�l$XL�l$P�#��D$@���D$H��f�D$L���D$ND�|$OD�CLH�T$@H��諈���L�}PL�mXD�}@L�
��E��A���H�M@�U1�D�CPH�U@H���p����L�}0L�m8D�} L�
��E�Nj�H�M �1�D�CTH�U H�� �9����L�}L�mD�}L�
��E�ǍWH�M��0�D�CXH�UH��0�����L�}�L�m�D�}�L�
}�E�ǍWH�M��0�D�C\H�U�H��@�ɇ���L�}�L�m�D�}�L�
]�E�ǍW	H�M��v0�D�C`H�U�H��P葇���W��D$(L�|$8D�L$ L��`H���H�L$(��
���L�t$0H�\$(E�gI;�tOH�VH;Vt(L�:L�zH�CH��t�@H�H�H�CH�BLf�L��H���Խ�I�I;�u�L�t$0H�\$(H��thI;�tAH�{H��t+����G��uH�H������G��u	H�H��PI�I;�u�H�\$(H�T$8H+�H���H���+�W��D$(L�|$8L�
nB�A�I��H����	f�H�U�I;�rH��H�M��C+�L�}�L�m�D�}�H�U�I;�rH��H�M��"+�L�}�L�m�D�}�H�UI;�rH��H�M�+�L�}L�mD�}H�U8I;�rH��H�M ��*�L�}0L�m8D�} H�UXI;�rH��H�M@�*�L�}PL�mXD�}@H�T$XI;�r
H��H�L$@�*�L�|$PL�l$XD�|$@H�T$xI;�r
H��H�L$`�v*�L�|$pL�l$xD�|$`H�U�I;�rH��H�M��R*�L�}�L�m�D�}�H�U�I;�rH��H�M��1*�L�}�L�m�D�}�H�UxI;�rH��H�M`�*�L�}pL�mxD�}`H���I;�rH��H�����)�H��H��hA_A^A]A\_^[]���H��USVWAVAWH�h�H��)p�H�g�2H3�H�EM��M��H��H��H�U�e�W�3�H�BH!H!BH!B�E�3�H�A0H+A(H��H�����5;�W�3�E�H�E��E��E�H!E�D�M�L�E�H�U�H�M��5+�H��t$8�t$0H�M�H�L$(�d$ M��M��H�U�H��PH�L�E�L;E�t+H�CH;CtI��H���Zy�H�C��H��H����l���H�M��k��H��H�O0H+O(H��H;��L���H��H�MH3��te(�$�H�ĸA_A^_^[]�������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�Q���	H���Q���H���sR���	H���fR���H����Q���H���Q���K H�ÃK$���KH�� [��H�\$ UVWAUAVH��pI��L��H��H�T$03ۉ\$8�Kh�4cH��H�D$@D�kH��taA��L��H�T$0H���_�A��H�INA F �I0�N0�f8H�f@�fH�fL�fP�fT�fX�f\�f`�3�A��tH�L$0H��t
�8��b�F0��ۃ��3ҍB��H��H�D$ A�D��DH�q�2H�L$H�w���H�NH�D$HH��H���H�L�n(L�n L�nL�n�^8H���H�F@�FH�~L�FP@���~T�NX�F\�N`I�6I��H��$�H��pA^A]_^]���@USVWAUAVAWH�l$�H��M��H��H�U��e�W�3�H�B�����}�I��H�t$ D�OE��DH���2H�M����L�uǍGL;�LG�H�e�D�oL�m��E�L�
��E3��WH�M���)�I���=L��H�U�H�M�譓��H��H���B���H�U�H��rH��H�M��%�H�e�L�m��E�L�
_�E3�A�PH�M��g)�M��H�U�H�M��V���H��H�������H�U�H��rH��H�M��D%�H�e�L�m��E�L�
0�E3�A�PH�M��)�H��H�9H�� H;Nu�H�t$ A�E��DH�s�2H�M�z��3�H��H�uL��H�U�H�M����H��H���V���H�U�H��rH��H�M��$�H��H�ĐA_A^A]_^[]�����������H�\$WH��PD��DH��H��H�\$ H�L$0A�H���2����H���H��H�H�� H;�u�H�\$h3�H�t$0$��H�H��H��P_���������������H��USVWAVAWH�h�H��)p�H���2H3�H�EM��M��H��H��H�U�e�W�3�H�BH!H!BH!B�E�3�H�A0H+A(H��H�����5O�W�3�E�H�E��E�
�E�H!E�D�M�L�E�H�U�H�M��u%�H��t$8�t$0H�M�H�L$(�D$ M��M��H�U�H��PH�L�E�L;E�t+H�CH;CtI��H���s�H�C��H��H���"g���H�M�訍�H��H�O0H+O(H��H;��I���H��H�MH3��_(�$�H�ĸA_A^_^[]����������H�\$WH��p��DH��D��H�\$ H�L$PA�H���2�
��A�H�\$ D��H���2H�L$0����H�L$0� H��$�H;�HG�H�D$P3�H��H�ȸH;�HG�H��p_����@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�MK���H���0L���H���K���H���K���K �H�ÁK$���KH�� [���������H�\$ UVWATAVH��`H��H�T$0H�T$0A��I���G�H�H� H�L$0H��t
�8�]H�����H���L��H��H�D�e�H�)I�H;�u�D��DH���2A�H�D$ H�L$8���H�L$8H��I;�IG�3�I��H��H�ȃ�tH+�H��H�H��L�sH�CH�C H�H��$�H��`A^A\_^]���������������H�\$H�l$H�t$WATAVH��P�zI�����z1uH����x@��H���L�%��2A�H�L$0I��HcpDL�pD��L�t$ ����H�|$0H�v@�Ń���A�|�u%A�L�t$ D��H�L$0I�����H�|$0u��:u��u2���@��t��t��2�L�\$PI�[ I�k(I�s0I��A^A\_����������H��USVWAVAWH�h�H��)p�H�G�2H3�H�EM��M��H��H��H�U�e�W�3�H�BH!H!BH!B�E�3�H�A0H+A(H��H�����5O�W�3�E�H�E��E��E�H!E�D�M�L�E�H�U�H�M��!�H��t$8�t$0H�M�H�L$(�D$ M��M��H�U�H��PH�L�E�L;E�t+H�CH;CtI��H���7o�H�C��H��H����b���H�M��H��H��H�O0H+O(H��H;��I���H��H�MH3��Q[(�$�H�ĸA_A^_^[]����������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�}G���	H���pG���H���SH���	H���FH���H���G���H���G���K �H�ÁK$����KH�� [���������������H�\$ UVWATAVH��`H��H�T$0H�T$0A��I���W�H�H� H�L$0H��t
�8�,YH�����H���L��H��H�D�e�H�*I�H;�u�D��DH���2A�H�D$ H�L$8���H���~���H�L$8L��I;�H��IG�3�L��M��I��H�ȃ�tH+�H��H�H��L�sH�CH�C H�H��$�H��`A^A\_^]����������������H�\$H�t$H�|$UATAUAVAWH��H��P�zM��H���g�z1uH����x@�PH���L�5��2A�H�M�E��I��HcxDH�pD��H�t$ ���H�}�r"E��H�t$ D��H�M�I������E�uA��E2�A�H�t$ E��H�M�D��I���n��H�}�r"E��H�t$ D��H�M�I���P���E�uA��E2���H�H�$�2A�ƃ|�u$A�H�t$ D��H�M�H�����H�}�uA���D��@�ǃ�u0A�H��H���2H�D$ H�M�E�A����H�}�u@�A�}:u	E��u2���E��tE��t
��t	@��t��2�L�\$PI�[0I�s8I�{@I��A_A^A]A\]�����������H��USVWAVAWH�h�H���)p�H�w�2H3�H�EM��M��H��H��H�U߃e�W�3�H�BH!H!BH!B�E�3�H�A0H+A(H��H�����5W�
W�3�E�H�E�for��E��E��E�W��E�H!E�D�M�L�E�H�U�H�M��.�H��t$8�t$0H�M�H�L$(�D$ M��M��H�U�H��PH�L�E�L;E�t+H�CH;CtI��H���Pj�H�C��H��H����]���H�M��a��H��H�O0H+O(H��H;��2���H��H�MH3��jV(�$�H���A_A^_^[]���@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�B���	H���B���H���sC���	H���fC���H����B���H���B���K �H�ÃK$��H�� [������H��USVWAVAWH�h�H��)p�H�w�2H3�H�EM��M��H��H��H�U�e�W�3�H�BH!H!BH!B�E�3�H�A0H+A(H��H�����5W�
W�3�E�H�E�!E��E�H!E�D�M�L�E�H�U�H�M��I�H��t$8�t$0H�M�H�L$(�D$ M��M��H�U�H��PH�L�E�L;E�t+H�CH;CtI��H���kh�H�C��H��H���[���H�M��|��H��H�O0H+O(H��H;��M���H��H�MH3��T(�$�H�ĸA_A^_^[]��������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�@���	H���@���H���A���	H���vA���H����@���H����@���K �H�ÃK$��H�� [������H��USVWAVAWH�h�H��)p�H���2H3�H�EM��M��H��H��H�U�e�W�3�H�BH!H!BH!B�E�3�H�A0H+A(H��H�����5��W�3�E�H�E��E��E�H!E�D�M�L�E�H�U�H�M��U�H��t$8�t$0H�M�H�L$(�D$ M��M��H�U�H��PH�L�E�L;E�t+H�CH;CtI��H���wf�H�C��H��H���Z���H�M�舀�H��H�O0H+O(H��H;��I���H��H�MH3��R(�$�H�ĸA_A^_^[]����������H��USVWAVAWH�h�H��)p�H�'�2H3�H�EM��M��H��H��H�U�e�W�3�H�BH!H!BH!B�E�3�H�A0H+A(H��H�����5�
W�3�E�H�E��E��E�H!E�D�M�L�E�H�U�H�M���H��t$8�t$0H�M�H�L$(�d$ M��M��H�U�H��PH�L�E�L;E�t+H�CH;CtI��H���e�H�C��H��H���X���H�M��+�H��H�O0H+O(H��H;��L���H��H�MH3��4Q(�$�H�ĸA_A^_^[]�������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�]=���	H���P=���H���3>���	H���&>���H���=���H���|=���K �H�ÃK$��H�� [������H��USVWAVAWH�h�H��)p�H�7�2H3�H�EM��M��H��H��H�U�e�W�3�H�BH!H!BH!B�E�3�H�A0H+A(H��H�����5c�W�3�E�H�E�!E��E�H!E�D�M�L�E�H�U�H�M��	�H��t$8�t$0H�M�H�L$(�D$ M��M��H�U�H��PH�L�E�L;E�t+H�CH;CtI��H���+c�H�C��H��H���V���H�M��<}�H��H�O0H+O(H��H;��M���H��H�MH3��EO(�$�H�ĸA_A^_^[]��������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P	�m;���	H���P<���H���;���H���;���K �H�ÃK$���KH�� [������������H�\$ VWAVH��`L��H�T$0H�T$0A��I���j��H�8H� H�L$0H��t
�8�?MD��DH��A�H�\$ H���2H�L$8����H�D$8A�H�A��H��H��H�H�� H;�u�H��$�3�H�t$8H�GI��H�GL�G I�>H��`A^_^��������������H��X�zu7H���A�H�R�2D�ADH�AH�L$0H�D$ �K��H�|$0u��2�H��X���������H��USVWAVAWH�h�H��)p�H�7�2H3�H�EM��M��H��H��H�U�e�W�3�H�BH!H!BH!B�E�I����x@u:I��H�D$ A�E��DH���2H�M����H�}�r
�51���5��3�H�G0H+G(H��H����W�3�E�H�E�E��E�H!E�D�M�L�E�H�U�H�M���H��t$8�t$0H�M�H�L$(�D$ M��M��H�U�H��PH�L�E�L;E�t+H�CH;CtI��H����_�H�C��H��H���kS���H�M���y�H��H�O0H+O(H��H;��I���H��H�MH3��K(�$�H�ĸA_A^_^[]���@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P	�-8���H��� 8���	H���9���H���8���H���Y8���H���L8���K �H�ÃK$���KH�� [��H�\$ UVWAVAWH��`H��H�T$0H�T$0A��I�����L�0H� H�L$0H��t
�8��IH���t�H��L��I��H��D��H�:I�H;�u�L�D$ H�m�2D��DH�L$8A��f��H���>�H�L$8L��H��$�I;�H��IG�3�L��L��I��I�H��I�nI�FI�F L�6H��`A_A^_^]���������������H�\$WH��P�zH��uaD��DH��H���2H�\$ A�H�L$0����H���H��H�H�� H;�u�D$0u3�H��H�t$0�u��2�H�\$`H��P_����������������@USVWATAUAVAWH��$���H��8I��H��H���E3�D�|$$W�3�H�B�>���D$$E�oL�mxA�H�}p����E`����Eh���f�ElD�}nL�CH�U`H����=z���L�}PL�mXD�}@L�
I�E�ǍWH�M@��L�CH�U@H����z���L�m�H�}��,��E��)��E��#�f�E�D�}�D�C8H�U�H�����f���L�m�H�E�
����E����f�E�D�}�L�C@H�U�H������L�l$xL�l$p����D$`����D$h���f�D$l����D$nD�|$oD�CHH�T$`H����cf���L�l$XL�l$P����D$@����D$H�}�f�D$L�t��D$ND�|$OD�CLH�T$@H����f���L�}0L�m8D�} L�
D�E��A���H�M ��D�CPH�U H�����e���L�}L�mD�}L�
!�E�Nj�H�M��D�CTH�UH���e���L�m�H�E�H�RG_COUNTH�E�D�}�D�C\H�U�H���ke���L�m�H�E��n��E��k��E�D�}�D�CXH�U�H�� �0e���W��D$(L�|$8D�L$ L��0H���H�L$(�t��L�t$0H�\$(E�gI;�tOH�VH;Vt(L�:L�zH�CH��t�@H�H�H�CH�BLf�L��H���s��I�I;�u�L�t$0H�\$(H��thI;�tAH�{H��t+����G��uH�H������G��u	H�H��PI�I;�u�H�\$(H�T$8H+�H���H���"	�W��D$(L�|$8L�

 �A�
I��H����C�H�U�I;�rH��H�M����L�}�L�m�D�}�H�U�I;�rH��H�M���L�}�L�m�D�}�H�UI;�rH��H�M��L�}L�mD�}H�U8I;�rH��H�M ��L�}0L�m8D�} H�T$XI;�r
H��H�L$@�\�L�|$PL�l$XD�|$@H�T$xI;�r
H��H�L$`�6�L�|$pL�l$xD�|$`H�U�I;�rH��H�M���L�}�L�m�D�}�H�U�I;�rH��H�M����L�}�L�m�D�}�H�UXI;�rH��H�M@���L�}PL�mXD�}@H�UxI;�rH��H�M`��H��H��8A_A^A]A\_^[]���������H��USVWAVAWH�h�H��)p�H�'�2H3�H�EM��I��H��H��H�U�e�I����x@u:I��H�D$ A�E��DH���2H�M�讻��H�}�r
�5?���5�W�3�H�CH!H!CH!C�E�E3�H�G0H+G(H��H����W�3�E�H�E�E��E�H!E�D�M�L�E�H�U�H�M���H�D�t$8�t$0H�M�H�L$(�D$ M��L��H�U�H��PH�L�E�L;E�t+H�CH;CtI��H����V�H�C��H��H���YJ���H�M���p�I��H�O0H+O(H��L;��H���H��H�MH3���B(�$�H�ĸA_A^_^[]�����������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�
/���H����/���H���S/���H���F/���K �H�ÃK$���KH�� [������������@SUVWAVH��I��L��H��H�T$03ۉ\$8�K`�@H��H�D$@H��t_A��L��H�T$0H�������H�INA F �I0�N0�f8H�f@�fH�fL�fP�fT�fX�f\�3���tH�L$0H��t
�8�o@H����DH�\$ �D��D��H��2H�L$h����H�\$ �]�D��D��H���2H�L$H��L�D$HI�PH��H�FH��H��H�H�F H�L$hH��H�N�^8H�,�H�F@�nH�^L�FP@�FT �V\A��D�FXI�6I��H�ĐA^_^][��������������H�t$WH��p�zH����D��DH��H�4�2H�|$ A�H�L$P�/���D��DH��2A�H�|$ H�L$0����H���H��H�H�� H;�u�H��3�H�L$0H��L��H��t	��u��2�H�D$PH��t��i���u
A��u��2���t��t��2�H��$�H��p_���������������H��USVWATAUAVAWH�h�H���)p�H���2H3�H�E�M��L�M�M��L�E�H��H��H�U�E3�D�e�W�L�"L�bL�b�E�M���A��H�A0H+A(H��H�����5V�
W�3�E�H�E��E��E�L�e�D�M�L�E�H�U�H�M��D�H��t$8�t$0H�M�H�L$(D�d$ M��M��H�U�H��PH�L�E�L;E�t+H�CH;CtI��H���iR�H�C��H��H����E���H�M��zl�H��H�G0H+G(H��H;��L���A�}D��M�eL�d$ �D��D�F�H��2H�M�����H�}���E��DI��L�t$ D��E��H���2H�M��޵��H�}��W�I�$�H�0H�� I;Eu�L�t$ A�E��H���2H�M�蜵��3�H��H�u�H=$�L�t$ A�E��H�b�2H�M��i���H�}���3�H�G0H+G(H��H�����5��L�u�L�}�W�3�E�H�E��E��E�H!E�D�M�L�E�H�U�H�M���L��F�D$8�t$0H�E�H�D$(�d$ M��M��H�U�H��A�RH�L�E�L;E�t+H�CH;CtI��H���P�H�C��H��H���.D���H�M��j�H��H�O0H+O(H��H;��H���H��H�M�H3��<(�$�H���A_A^A]A\_^[]��H�\$ UVWATAUAVAWH��H��`L��H�U�H�U�A��I���b��H�0H� H�M�H��t
�8�8;H��L��I��D���L�8H�� H;�u�H���H���2A�E��D�ADH�AH�M�H�D$ 賳��3�I��H�u�H�ȃ�tH+�H��H�H���2H���E��D�ADH�AH�M�H�D$ �q���H�E�H�V�2H�FH�M�H�^A�H�FH�^ H�^(�F4$tIL���E�GDM�oL�l$ �$���H9]�����DH���2D��L�t$ A�H�M����H9]�urI�E�H�H�� I;Gu�A�L�t$ D��H���2H�M�農��3�H��H�u�H=$r/A�L�t$ D��H���2H�M�菲��H�}�r�F4���3H��$�I��I�4$H��`A_A^A]A\_^]���������������̃zuH���������HDu��Du��2�������������@USVWAVH��H��I��I��H��H�U��e�W�3�H�B����E�H�E�H�E��N��E��K��E��E�f�E��E�L�C(H�U�H�M��k��H��H�����H�U�H��rH��H�M����D���H��XH�t$ A�E��H���2H�M��r��H�]�H�Ã�tH+�H�� H�t$ E3�E��H���2H�M��D��H�t$ A�E��H���2H�M��&��H��H�]�H�]�H��H�e�H�E��E�L�
t�E3�A�PH�M��,�L��H�U�H�M��j��H��H�����H�U�H��rH��H�M��	��H��H�ĀA^_^[]���������H��USVWAVAWH�h�H��)p�H���2H3�H�EM��M��H��H��H�U�e�W�3�H�BH!H!BH!B�E�3�H�A0H+A(H��H�����5g�
W�3�E�H�E��E��E�H!E�D�M�L�E�H�U�H�M��U��H��t$8�t$0H�M�H�L$(�D$ M��M��H�U�H��PH�L�E�L;E�t+H�CH;CtI��H���wK�H�C��H��H���?���H�M��e�H��H�O0H+O(H��H;��I���H��H�MH3��7(�$�H�ĸA_A^_^[]����������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�#���H���$���H���$���k H�ÃK$���K0H�� [��������H��H�XH�hH�PVWAVH��pL��A��H�PI���ƾ��H�8H� H��$�H��t
�8�5D��DH��A�H�\$ H�8�2H�L$0�>����H�\$ H�/H��2H�oH�L$PD��DD�M����H�D$0L�\$pI�[ H��H��H�D$PH��H�GI��H�oH�o I�k0H�G(I�>I��A^_^������������@USVWATAUAVAWH�l$�H��I��M��H��H�UE3�D�eW�3�H�B蒶���EE�l$L�m�H�E����ENjߤ�E��٤f�E�D�e�L�C H�U�H�M��f��H��H���)��H�U�H��rH��H�M���A���M��XL�t$ A�D��H���2H�M����H�]�H�Ã�tH+�H�� L�t$ E3�D��H�a�2H�M���
��L�t$ A�D��H�C�2H�M��
��H��H�]�H�]�H��L�e�L�m�D�e�L�

�E�ĺH�M����L��H�U�H�M��e��H��H���H��H�U�H��rH��H�M���I����xDH�XH�\$ E3�D��L�-�2I��H�M�����L�u�Lu�Lu�I��H�\$ A�D��I��H�M��۫��L�}�L}�L}�M��H�\$ A�D��I��H�M�豫��L�e�I��I��M��H�\$ E3�D��I��H�M�芫��H�\$ A�D��I��H�M��p���H�]�I��H�E�H��H�H�E�H�E�
�Ŝ�E����f�E�3�@�}�A��H�U�H�M��|d��H��H�����H�U�D�oI;�rH��H�M��g��H�E�H�E�
�o��E��k�f�E�@�}�M��H�U�H�M��d��H��H�����H�U�I;�rH��H�M��
��H�}�A�L�u�@�}�L�
!�D��I��H�M����M��H�U�H�M��c��H��H���V��H�U�I;�rH��H�M���H�}�L�u�@�}�L�
�D��I��H�M��~��M��H�U�H�M��mc��H��H�����H�U�I;�rH��H�M��\��L�u�H�E�	����ENJ���E�@�}�L��H�U�H�M��c��H��H�����H�U�I;�rH��H�M����H��H�ĈA_A^A]A\_^[]���������������H��USVWAVAWH�h�H��)p�H�w�2H3�H�EM��M��H��H��H�U�e�W�3�H�BH!H!BH!B�E�3�H�A0H+A(H��H�����5g�W�3�E�H�E��E��E�H!E�D�M�L�E�H�U�H�M��E��H��t$8�t$0H�M�H�L$(�D$ M��M��H�U�H��PH�L�E�L;E�t+H�CH;CtI��H���gD�H�C��H��H����7���H�M��x^�H��H�O0H+O(H��H;��I���H��H�MH3��0(�$�H�ĸA_A^_^[]����������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P����H������H�������k H�ÁK$@���K0H�� [�����H��H�XH�pH�x H�PAVH��pL��A��H�PI��贷��H�0H� H��$�H��t
�8�.H��A���DH�,�2D��H�\$ H�L$P�*���A�H�\$ D��H��2H�L$0����H�D$0L�\$pI�[I�{(H��H�H�D$PH��H��H�F�H�FH�FH�F H�F(I���F4���3I�6I�s I��A^��H�\$WH��P�z��H���H�L$0E3�H�v�2�xDH�XD��H�\$ �r���H�T$@HT$HuSD�JH�\$ H�F�2D��H�L$0�I���L�L$HLL$@u*A�H�\$ D��H��2H�L$0�����D$0u��2�H�\$`H��P_�������H��USVWAVAWH�h�H��)p�H��2H3�H�EM��M��H��H��H�U�e�W�3�H�BH!H!BH!B�E�3�H�A0H+A(H��H�����5��W�3�E�H�E��E��E�H!E�D�M�L�E�H�U�H�M�����H��t$8�t$0H�M�H�L$(�D$ M��M��H�U�H��PH�L�E�L;E�t+H�CH;CtI��H���@�H�C��H��H���4���H�M��[�H��H�O0H+O(H��H;��I���H��H�MH3��-(�$�H�ĸA_A^_^[]����������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�=���H���0���H������H������H���i���k H�ÃK$���K0H�� [��������������H��H�XH�pH�x H�PAVH��PL��A��H�PI���$���H�8H� H�L$hH��t
�8�*D��DH��A�H�\$ H���2H�L$0蟣��H�D$0H���2H��H�\$ H���H�L$0H�A�D��D�l���H�D$0H�\$`H�t$pH�G�H�GH�GH�G H�G(I��I�>H�|$xH��PA^���������������L��I�[I�sI�{UATAVH��H��P�zH���QH���L�%ڳ2E3�H�M�I�ԋxDH�XD��I�[��͢��H�}��A�H�\$ D��H�M�I��訢��H�}���L��XE3ɋ��H�&�2D��L�t$ H�M����H�}���A�L�t$ D��H���2H�M��l��H�}���E3�H�\$ D��H�M�I���*���3�H9u�u{E3�H�\$ D��H�M�I������H9u�u^D�NH�\$ D��H�M�I�����H9u�u@D�NH�\$ D��H�M�I���ϡ��H9u�u"D�NH�\$ D��H�M�I��象���E�u��2�L�\$PI�[ I�s(I�{0I��A^A\]������������@USVWAVAWH��H��xI��H��H�U�e�W�3�H�B�a����E���DH��H�\$ A�E��D��H��2H�M�����M�E�E�L�=��fH~�fH~�I;�LB�H�\$ E��D��H�ֱ2H�M��ݠ��H�E�H��I�3�I��I;�LB�H�}�H�E��.��E��+��E��%�f�E��E��_D��H�U�H�M���Y��H��H���s��H�U�H;�rH��H�M�����H�}�H�E�	���E����E��E�M��H�U�H�M��Y��H��H�����H�U�H;�rH��H�M��v��H�e�H�}��E�L�
ʤE3�A�PH�M��B��M��H�U�H�M��1Y��H��H������H�U�H;�rH��H�M�� ��H��H��xA_A^_^[]�����������������H��USVWAVAWH�h�H��)p�H���2H3�H�EM��M��H��H��H�U�e�W�3�H�BH!H!BH!B�E�3�H�A0H+A(H��H�����5k�W�3�E�H�E��E��E�H!E�D�M�L�E�H�U�H�M��e��H��t$8�t$0H�M�H�L$(�D$ M��M��H�U�H��PH�L�E�L;E�t+H�CH;CtI��H���:�H�C��H��H���.���H�M��T�H��H�O0H+O(H��H;��I���H��H�MH3��&(�$�H�ĸA_A^_^[]����������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�����H������H������k H�ÃK$��H�� [������������@SUVWAVAWH��hL��H�T$0H�T$0I���ޭ��L�8H� H�L$0H��t
�8�$��DH���H�|$ D��H�R�2D��H�L$8�U���H9l$8H�9�2��H�|$ HB\$8H�L$8D��D���,���H�D$8H�L$8H��H�|$ H�3�H��A�H���2H;�D��H��HB���H�D$8H�K�H��H�H��3�I�H��H���H+�I�OI�GI�GI�o I�G(I��A�G4�75M�>H��hA_A^_^][����������L��I�[I�KUVWAVAWH��@I��H��E3�E�{�L�9L�yL�yL�yL�y L�y(L�y0L�y8�A@$tII��L�qHD�yPD�yXL�y`L�yhL�ypL�yxfD���L���A�G���ǁ�D���L���Hǁ�D���D����D$ I�K��H�H�PL�8L�xH�H�_H�WH��t+A����CA�uH�H��A����CA�u	H�H��PH�\$0H��t+A����CA�uH�H��A����CA�u	H�H��PL�D$xH��H�O�qE���G@$tIL�wHD�PD���H��H��$�H��@A_A^_^]�����H��H�XH�hH�p H�HWH�� H��H����!H��H�D$0H��t4W���G�GH���H�H��H�O�!��H��
H�G�3�W�H�GH�H�~H��H�\$8H�l$@H�t$HH�� _�������������@SH�� H�[�H��H���t
���~!H��H�� [������@SH�� H���B
��H��H�� [����������@USVWATAUAVAWH��$����H��XH�%�2H3�H��@M��M��H��L��H�U�3ۉ]�W�fo
��M��E��E����H���D�L$pL�E�H�U�H������I�M��H��0I��PPD�CI��H��p����H��pH�D$xW��E�H�]�H���L���I;�tmL+�I��H��H��������?H;��?H��H��r
H�������H��t
H�����3�H�E�H�E�H�H�]�M��H��H����H�]�H�D$x3�H�]��E��]�H�e�H�e�H�e�H�e�H�M�H�L$ L���L�E�I��H���wA����uH�H�^H�^�LW�3���H���I�M��H���I��PH�I�_M�ML�d$ L��H���I���-���H���H�D$ L���L��H��I���G$���L���H�E�E3�L�e�D�e�I���I9����M�M0D�d$`D�d$XE�l$D�l$P�D$HD�l$@H�E�H�D$8H���H�D$0H��H�D$(H�\$ L��0I��I���)���H�U�H��rH��H�M�����D�d$xD�l$|I�N@H�QH;QtH�D$xH�H�A�
L�D$x�ZU���d���H��pH�M��3�L�&L�fL�fD�L$pL���H�U�H���v@��D�m�L�
K?�M�ź�H�M��
�H��(H��rH��H���=��L�� �H��(D��H��H��rH��H������L��H��D���H���H��t?L���H�����q�H���H���H+�H������L���W����H��p�{>�H��tH���H+�H��H�����H��H��@H3��MH��XA_A^A]A\_^[]�������H�\$UVWH��pH�"H�L$PH�bI��H�bH��H�bA�H�b H�b(�b4�B0I����x@���B0I��E��DH�h�2H�D$ �n���D���H��XA�H�l$ H��2H�L$0�d���H�L$P� H�L$0H;�H��HG��H��3�H��H��H��u�H�H���2D���H�L$0E3�H�l$ ����H�L$0H���2H�KA�D���H�L$0H�l$ ���H�L$0H��H�KH�{H�C H�C(�C4$tIH��$�H��p_^]���@SH�� H�"H�ڃbH�˃b�b�b�b�b �b$�b(�b,�B��	���	H���	���H���a	���H���T	���H����	���	H����	���K H�ÃK$���cH�� [����������������L��I�[I�KUVWAVAWH��@I��H��E3�E�{�L�9L�yL�yL�yL�y L�y(L�y0L�y8�A@$tII��L�qHD�yPD�yXL�y`L�yhL�ypL�yxfD���L���A�G���ǁ�D���L���Hǁ�D���D����D$ I�K�� H�H�PL�8L�xH�H�_H�WH��t+A����CA�uH�H��A����CA�u	H�H��PH�\$0H��t+A����CA�uH�H��A����CA�u	H�H��PL�D$xH��H�O�<���G@$tIL�wHD�PD���H��H��$�H��@A_A^_^]�����H�\$WH�� H��H�����H���
H����������������H�\$0���H���
H�H�� _���������H�\$H�t$H�L$WH�� H��H������H��H�D$0H��t)W���C�CH��H�H�KH���H����3�W�H�CH�H�_H��H�\$8H�t$@H�� _�@SH�� H���H��H���t
���H��H�� [������@SH�� W�3�H�BH���Vc��H��H�� [��������������@USVWATAUAVAWH��$����H��XH�%�2H3�H��@M��M��H��L��H�U�3ۉ]�W�fo
��M��E��E����H���D�L$xL�E�H�U�H������I�$M��H��0I��PXD�CI��H��p����H��pH�D$pW��E�H�]�H���L���I;�tmL+�I��H��H��������?H;���H��H��r
H�������H��t
H�����3�H�E�H�E�H�H�]�M��H��H����H�]�H�D$p3�H�]��E��]�H�e�H�e�H�e�H�e�H�M�H�L$ L���L�E�I��H���v8����uH�H�^H�^�W�3���H���I�$M��H���I��PP�I�\$M�OL�l$ L��H���I���$���H���H�D$ L���L��H��I���D���L���H�E�E3�L�m�D�m�I���I9����M�O0D�l$`D�l$X�D$P�D$H�D$@H�E�H�D$8H���H�D$0H��H�D$(H�\$ L��0I��I��� ���H�U�H��rH��H�M�����E8��tpH�D$pI�VHI;VPtH�D$pH�I�FH�L�D$pI�N@�QL�I���I9��t0H�D$pI�VHI;VPtH�D$pH�I�FH�L�D$pI�N@�L�D�l$pA�D�|$tI�VHI;VPtH�D$pH�I�FH�L�D$pI�N@��K�H�D$pI�VHI;VPtH�D$pH�I�FH�L�D$pI�N@�K���d���H��pH�M��j)�L�.L�nL�nD�L$xL���H�U�H����6��D�}�L�
�5�M�Ǻ�H�M��Z�H��(H��rH��H�����L�� �H��(D��H��H��rH��H����W��L��H��D���H���H��t?L���H����#h�H���H���H+�H����	��L���W����H��p��4�H��tH���H+�H��H������H��H��@H3��H��XA_A^A]A\_^[]��������H�\$UVWH��pH�"I��XH�bH�L$PH�bI��H�bH��H�b A�H�b(�b4�B0I���H�l$ �x@���B0H�j�2A���D�����A�H�l$ D��H�F�2H�L$0��H�L$P� H�L$0H;�H��HG��H��3�H��H��H��u�H�H��2D���H�L$0E3�H�l$ �m�H�L$0H��2H�OA�D���H�L$0H�l$ �A�H�L$0H��H�_H��$�H�OH�G H�G(�G4$tIH��p_^]�����������@SH�� H�"H�ڃbH�˃b�b�b�b�b �b$�b(�b,�B��k����	H���^����H������H���4���	H���'���K H�ÃK$���cH�� [�������������L��I�[I�KUVWAVAWH��@I��H��E3�E�{�L�9L�yL�yL�yL�y L�y(L�y0L�y8�A@$tII��L�qHD�yPD�yXL�y`L�yhL�ypL�yxfD���L���A�G���ǁ�D���L���Hǁ�D���D����D$ I�K��H�H�PL�8L�xH�H�_H�WH��t+A����CA�uH�H��A����CA�u	H�H��PH�\$0H��t+A����CA�uH�H��A����CA�u	H�H��PL�D$xH��H�O�!3���G@$tIL�wHD�PD���H��H��$�H��@A_A^_^]�����H�\$H�t$H�L$WH�� H��H����H��H�D$0H��t)W���C�CH���H�H�KH���(�3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H�\$WH�� H��H�����H�L�
H����������������������������������������������������������������������H�\$0���H��H�� _����@SH�� H��H��H���t
��~H��H�� [������@USVWATAUAVAWH��$����H��HH�E�2H3�H��0M��I��H��H��H�U�E3�D�d$|L�	M��H��A�Q8��uL�'L�gL�g�]A�E��H��H��`����L��`H�M��H��(H��P`H��(�K����uL�'L�gL�g�H�M��H�U�H��PHL�e�D�m�D�e�L�e�L�e�L�e�L�e�H�M�H�L$ L���L��I��I���/����t�H�M��H���H��PP�W�3���H���H�L��(M��H���H��PX�M�NL�|$ L���H���H���H���H���H�D$ L���L���H��H�������L��pH�E�L�e�D�e�I���I9����L�N0D�d$`D�d$XD�l$P�D$HD�l$@H�E�H�D$8H���H�D$0H��H�D$(H���H�D$ L��(I��H���J���H�U�H��rH��H�M����H�D$pI�_@H�SH;StH�D$pH�H�C�
L�D$pH����B�D�d$pD�l$t�H�SH;StH�D$pH�H�C�
L�D$pH���B�E8��t4D�d$p�t$t�H�SH;StH�D$pH�H�C�
L�D$pH���~B�E8����D�d$p�t$tA�H�SH;StH�D$pH�H�C�
L�D$pH���?B�D�d$p�t$tA�H�SH;StH�D$pH�H�C�
L�D$pH���
B�D�d$p�t$tH�SH;StH�D$pH�H�C�
L�D$pH����A�������H��`H�M���L�'L�gL�gD�L$xL���H�U�H���,��D�l$|L�
�+�M�ź�H�M��	�H�� H��rH��H�����L���H�� D��H��H��rH��H������L���H��D���H���H��t?L���H����V^�H���H���H+�H����<��L���W����H���H��rH��H������L���H���D���H��`��*�H��H��0H3��
H��HA_A^A]A\_^[]��������H�\$ UVWATAUAVAWH��$ ���H���M��L��H�UXE3�D�d$4W�3�H�B����E�l$D�l$4I���I���H�_H�\$ E3�D�GDH�ϒ2H�M��ց��H�\$ E��D�GDH���2H�M�躁���FH�E�H�_(H+؋H�E�H+�IH�E�l$L�mPH�EH���E8��f�E<D�e>M���H�U8H����}���L�m�A�|$H�}��q�D$p�jf�D$t�a�D$vD�d$wL��H�T$pH����6���L�e L�m(D�eL�
2E��E�l$A��H�M�N��E���H�UH����f'����wH�uH�EH�DILATIONH�E�D�e�M���H�U�H�������L�e�H�u�D�e�L�
�E�čWH�M�����L��H�U�H�������H�t$hH�|$`��s�D$P��sf�D$T��s�D$VD�d$W�A��H�T$PH����\'���W��D$8L�d$HD�L$0L���H���H�L$8���H�t$@H�\$8H;�tOI�VI;Vt(L�"L�bH�CH��t�@H�H�H�CH�BMn�L��I����\�I�H;�u�H�t$@H�\$8H��thH;�tAH�{H��t+����G��uH�H������G��u	H�H��PI�H;�u�H�\$8H�T$HH+�H���H�����W��D$8L�d$HL�
���A�I��H����(�H�T$hI;�r
H��H�L$P�`��L�d$`�H�\$hD�d$PH�U�I;�rH��H�M��7��L�e�H�]�D�e�H�UI;�rH��H�M����L�eH�]D�e�H�U(I;�rH��H�M���L�e H�](D�eH�U�I;�r
H��H�L$p����L�e�H�]�D�d$pH�UPI;�rH��H�M8���E8��teH�]�H�E��|��E��y��E��s�f�E�D�e�A�H�U�H�M`��#��H��I�����H�U�I;�rH��H�M��C��E8��tjH�]�H�]��"��E����E���f�E����E�D�e�A�H�U�H�Mp�a#��H��I���v��H�U�I;�rH��H�M�����I��H��$8H���A_A^A]A\_^]���H�\$H�t$ UWAVH�l$�H��H�G�2H3�H�E?H��H�"H�bH�bH�bH�b H�b(�B0�b4A��@���B03�H�EW��MH!EA��D�F�I��L�5��2H�\$ D��I�֩����tuA�H�M��|��H�\$ A�D��I��H�M��}|��H�E�H�E�H�E�H�\$ E3�D��I��H�M��Y|��H�E�H�E�H�\$ A�D��I��H�M��7|��H�E��sE3�H�M��%|��H�E�H�E�H�\$ A�D��I��H�M��|��H�E�H�E�H�\$ A�D��I��H�M���{��H�\$ A�D��I��H�M���{��H�E�H�E�H�E�H�E�H�E�H�E�H�E�H�U�H�M�m2��W�3�E'H�E7�E�H!E�L�uH�uL;�tfI+�H��H��H��������H;���H��H��r
H���(���H��t
H���)�3�H�E�H�E�H�H�]�L��I��H����H�]�H�U�H�M'�G��I�H�I�FH�GI�FH�GH�M'H�H�GH�AH�G H�AH�G(�G4$tIH�U7H+�H���/��W��E'H�e7H�UI+�H��I�����H��H�M?H3���L��$�I�[ I�s8I��A^_]��#����H�\$UVWH��@H���2H3�H�D$8�zI��H��ujA�xxucH�L��3�H�T$ @���PHH�L$ H��H;L$(tD���D;��H��@
�H;T$(u�H��tH�T$0H+�H���_��@��u8^9t����2�H�L$8H3�� H�\$pH��@_^]����@SH�� W�3�H�BH���V���H��H�� [��������������@SH��0W�3�H��H�B��n
�D$ �(�H��H��0[����������������@SH�� H�"H�ڃbH�˃b�b�b�b�b �b$�b(�b,�B�	����	H�����H���!��K H�ÃK$�K���cH�� [���H�\$H�l$H�t$ WH��PI��H���q����F4$tIH��D��DH���2A�H�\$ H�L$0�x��H�l$0H�d�2H�.H�L$0D��DA�H�\$ �Ux��H�D$0A�H�FI;�H�D$hL�FHC�L�D$hH�A�@H;�HG�3�H��H�NH��H��tI+�3�H��H��H��u�H�NH�\$`H��H�l$pL�F L�F(H�t$xH��P_���������������@USWAVH��H��xI��H��H�U�e�W�3�H�B�4���E�H��H�M��!����E�XA�L�u�L�u��_m�E��\m�E��Vmf�E��Nm�E��E�D�E�H�U�H�M����H��H���-��H�U�H��rH��H�M����H�e�L�u��E�L�
mE3�A�PH�M��R��D�E�H�U�H�M����H��H���ղ�H�U�H��rH��H�M��.��L�u�L�u���l�E���l�E���lf�E���l�E��E�D��H�U�H�M��X��H��H���m��H�U�H��rH��H�M����H��H��xA^_[]����������L��SH��`�L$(�3�I!C�W�I�C�H��H�B�D$8I�C�I�C�H�T$0���H�H;Ct�@@���3H��H��`[����������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P	�}��H������	H���S��K H�˃K$�K���K��H��H�� [�������������H��H�XH�pH�xL�p UH�h�H��A��I��L����)��H��A�F4��4H�M���D��DH��E3�H�|$ H��2�H�MHcp�E���t��HcM�3�H�EA�H��H���2H�|$ I�H�MD��D�t��HcM�3�H�EA�H��H���2H�|$ I�FH�M��DD���t��A�H�|$ D��H�_�2H�M7�ft��H�EL��$�H�E7I�[3�I�{ H�H��I�sI�FI��I�FI�F I�F(M�s(I��]����������H�\$H�|$UH��H��pI��H���+�����#H��H���
������������������������D��DH��A�H�|$ H�t�2H�M��{s���E�?������������H��H�M�������E��}�u
H�E�H�� ��tgD��DH��2E3�H�|$ H�M��s��HcM�3�H�E�H��H��u6D��DD�JH�܃2H�|$ H�M���r��HcM�3�H�E�H��H��u��2�L�\$pI�[I�{I��]�����@USWAVH��H��xI��H��H�U�e�W�3�H�B����E�A�L�u�H�E���g�E���gf�E��E�H���A�L�E�H�M�����H��H����)���H�M�H��t.L�E�H�U��M�H�U�H�M�H+�H����u��H�e�W��E�H�U�H��rH��H�M��R��L�u�H�E��nw�E��jwf�EȊbw�E��E�H���A�L�E�H�M��J����H��H���.)���H�M�H��t.L�E�H�U���L�H�U�H�M�H+�H����Ӽ�H�e�W��E�H�U�H��rH��H�M�谼�L�u�H�E���p
�E���p
�E��E�L�E��	H�M�����H��H���(���H�M�H��t.L�E�H�U��YL�H�U�H�M�H+�H����E��H�e�W��E�H�U�H��rH��H�M��"��L�u�H�E��Wp
f�E��Op
�E��E�L�E��H�M��\����H��H���(���H�M�H��t.L�E�H�U���K�H�U�H�M�H+�H���赻�H�e�W��E�H�U�H��rH��H�M�蒻����.?>	zthL�u�H�E���u�E���u�E���uf�E��E����H�U�H�M��	��H��H��辫�H�U�H��rH��H�M����H��H��xA^_[]�����������H��SH��`�H��H��H�`�H�@��@�H�@�H�D$ H�T$0�	��H��H��`[�����@SH�� H�"H�ڃbH�˃b�b�b�b�b �b$�b(�b,�B�����H�����H�����H�����	H�����	H�����H������H������K H�˃K$�?�K0�c�%�H��H�� [�������������@USVWAVH�l$�H��H���2H3�H�E/I��H���#��3�H�EW��M�H!E��DH��H�\$ E3�D��L�52I��H�M��n��H�E�H�E�H�\$ A�D��I��H�M��m��H�E�H�E�H�\$ A�D��I��H�M���m��H�\$ A�D��I��H�M��m��H�E�H�E�H�E�H�E�H�E�H�E�H�E�H�U�H�M��_$��W�3�EH�E'�E�H!E�H�}�L�uI;�tfL+�I��H��H��������H;���H��H��r
H������H��t
H�����3�H�E�H�E�H�H�]�M��H��H���
�H�]�H�U�H�M�9��H�H�H�GH�FH�GH�FH�MH�H�FH�AH�F H�AH�F(H�U'H+�H���(��W��EH�e'H�UH+�H��H�����H��H�M/H3����H��A^_^[]��&�������H�\$WH�� I��H���$����tH��H�������t��2�H�\$0H�� _��������H��H�XH�pH�x UATAUAVAWH�h�H��PH�.�2H3�H�E@H��H�M�H�M�3�H�]�H�E��]�L�
rD�ÍS(H�M��-��H�U�H���/���H��qH�H�F@H�E�H�H�XH�XW�3�H�E؍XH�\$0D�`L�d$8D�hL�l$@D�xL�|$HD�pL�t$PH�D$X�x
H�|$`H�D$hH�D$pH�D$x�E�H!E�D�L$ L�E�H�T$0H�M��B��W�3�H�EH�]L�e �_�H�](L�m0L�}8�EH!ED�L$ L�E@H�UH�M���W�3�H�E�H�D$0L�d$8H�\$@L�l$HL�|$PL�t$XH�D$`H�|$h�E�H!E�D�L$ L�D$pH�T$0H�M����W�3�E�H�E�H�V(H�M��<��H�]�H�}�H�}�L�}�L�eL�m�H;��jH�e(H�e0H��H�M���I��L;}��L�}�H�H�E�I��L;e��L�'M��L;m���I��L�m�I��H�E�I�H��<��L�l$0L�d$8H�L$@H�d$XH�d$`H�UH�L$H���I�WI;Wt<H�D$0H�H�D$8H�BH�D$@H�B3�D$HBL$XJ(�P�D$HI�G8�L�D$0I���5��H�T$`H��r
H��H�L$H轴�H�E�I��L;u��L���L�m�H��H;}����L�eH��H;u������L�}�H�}�H�U0H��rH��H�M�i��H�� H;������H�}�H�]�H�u�H��t0L�E�H��H���|��H�U�H�M�H+�H����(��W��E�H�e�M��tH�U�I+�H��I�����M��tH�UI+�H��I�����M��tH�U�I+�H��I���ѳ�H��H�M@H3���L��$PI�[8I�s@I�{HI��A_A^A]A\]�H�\$WH�� H��mH��H�y@H�H�H��tHH�WL���q��H�WH�%I�$I�$IH+H�H��H��H��H��?H�Hk�8�C��H�'H�gH�gH��H�\$0H�� _�-�����H�\$WH�� ��H���l�����t
�XH����H�\$0H��H�� _�������������@USVWAVAWH��H��xM��I��H��H��H�U�e�I��H�D$ A�E��DH�x2H�M��#g��H�E�L�xI���L+�W�3�H�FM��L��H��H���	���E��H�]�H�E��W^�E��T^�E��N^f�E��E�M�F(H�U�H�M��	 ��H��H��螢�H�U�H��rH��H�M���H�e�H�]��E�L�
^E3�A�PH�M��õ�M�F8H�U�H�M����H��H���F��H�U�H��rH��H�M�蟱�H�e�H�]��E�L�
�]E3�A�x��H�M��i��M�F@H�U�H�M��W��H��H�����H�U�H��rH��H�M��E��H�e�H�]��E�L�
�]E3�H��H�M����M�FPH�U�H�M����H��H��蕡�H�U�H��rH��H�M����H�]�H�E��B]�E��?]�E��9]f�E��E�M�FXH�U�H�M����H��H���1��H�U�H��rH��H�M�芰�H�]�H�E�H�PREFETCHH�E��E�M�FHH�U�H�M��K��H��H�����H�U�H��rH��H�M��9��M��tXH�]�H�E�	�P[�E��M[�E��E�M��H�U�H�M�����H��H��胠�H�U�H��rH��H�M��ܯ�H��H��xA_A^_^[]�������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�����	H�������H���3���H���&���H������	H������K H�˃K$�K���K�N��H��H�� [������@USVWATAUAVAWH�l$�H��H��z2H3�H�EA��M��A��L��H���4��E��DI��A�H�t$ H�Dt2H�M��Kc��D��A�G4��4M��H�U�H������H�E�A�H�]�H�}�I�GHA�G0E�e��I�_8I�@L�K�A���M�A���3�L��A+�H�t$ A���A��I��I�A���L�I��I��H�G�L+�A���M;�MB�A+�A���H��M�OXH�M�H��H�H�ys2I��E3�H��H��I�GPE��D�jb��H�E�H�M�H��H�t$ 3�H�H��E��H�8s2I�E��D�9b��H�E�H��H�3�H��E�MH�t$ I�GH�s2E��DH�M��b��H�E�H�UH��H��H�E�M�oH��I�GM�o M�g(I;�rH�M�H���<��I��H�MH3��
�H�ĸA_A^A]A\_^[]����������@USVWATAUAVAWH�l$�H���M��L��H�U3ۉ]�W�3�H�B���D�{D�}��sH�u�D�c	L�e��8\�D$0�4\�D$8�]�E�GH�T$0H�M����H��I�����H�U��{H;�r
H��H�L$0�n��H�u�L�e���[�D$0��[�D$8�]�A��H�T$0H�M����H��I��輜�H�U�H;�r
H��H�L$0���H�u�H�E���[�D$0��[�D$8��[f�E��]�E��H�T$0H�M��B��H��I���W��H�U�H;�r
H��H�L$0谫�H�u�H�E��L[�D$0�H[�D$8�A[f�E��]�E��H�T$0H�M�����H��I�����H�U�H;�r
H��H�L$0�K��H�u�H�E���Z�D$0��Z�D$4�\$5E3�H�T$0H�M����H��I��蛛�H�U�H;�r
H��H�L$0���H�u�H�E���Z�D$0��Z�D$4�\$5E��H�T$0H�M��/��H��I���D��H�U�H;�r
H��H�L$0蝪�H�u�H�E��YZ�D$0�UZ�D$8�NZf�E��]�A� H�T$0H�M�����H��I���ܚ�H�U�H;�r
H��H�L$0�5��H�]�H�u��\$0L�
ZD�úH�L$0���D��H�T$0H�M��n��H��I��胚�H�U�H;�r
H��H�L$0�ܩ�H�u�L�e���Y�D$0��Y�D$8�]�A� H�T$0H�M����H��I���*��H�U�H;�r
H��H�L$0胩�H�u�L�e��{Y�D$0�wY�D$8�]�A� H�T$0H�M��<��H��I���љ�H�U�H;�r
H��H�L$0�*��H�u�A�L�e��.Y�D$0�'Yf�D$4�Y�D$6�\$7E�D$H�T$0H�M�����H��I���j��H�U�H;�r
H��H�L$0�è�H�u�H�E���X�D$0��Xf�D$8��X�E��]�L��XH�T$0H�M��l�H��I�����H�U�H;�r
H��H�L$0�Z��H�u�H�E���X�D$0��Xf�D$8��X�E��]�L�QXH�T$0H�M���H��I��蘘�H�U�H;�r
H��H�L$0���H�u�L�e��{X�D$0�tXf�D$4�kX�D$6�\$7L�XH�T$0H�M��~�H��I���5��H�U�H;�r
H��H�L$0莧�H�u�H�u��X�D$0�X�D$8�Xf�E��X�E��]�L�%�	M��H�T$0H�M��/~�H��I���ė�H�U�H;�r
H��H�L$0���H�]�H�u��\$0L�
�WD�úH�L$0���M��H�T$0H�M���}�H��I���k��H�U�H;�r
H��H�L$0�Ħ�H�]�H�u��\$0L�
yWD�úH�L$0菪�M��H�T$0H�M��}}�H��I�����H�U�H;�r
H��H�L$0�k��I���A��DM��L�d$ E3�D��H��k2H��H�L$0��Z��L�d$ E��D��H��H�M��Z��L�d$ A�D��H��H�M��Z��H�\$0H�]�H�]�H�GH�D$ A�D�GDH�]k2H�M��dZ��L�d$ A�D��H�?k2H�M��FZ���H�u�H�E�H�MATRIX_MH�D$03�@�|$8L��H�T$0H�M��n��H��I�����H�U�H��r
H��H�L$0�[��H�u��H�]�H�MATRIX_KH�D$0@�|$8L�E�H�T$0H�M����H��I��譕�H�U�H��r
H��H�L$0���H�u�H�]�H�MATRIX_NH�D$0@�|$8L�E�H�T$0H�M�����H��I���\��H�U�H��r
H��H�L$0贤�A��DL�d$ E3�D��H�j2H�L$0�!Y��H�|$0H}�H}�H��L�d$ E��D��H��i2H�L$0��X��H�t$0Hu�Hu�H��L�d$ A�D��H��i2H�M���X��H�E�H��H��H��H�E�L�d$ E3�D��H��i2H�M��X��L�d$ E��D��H�ti2H�M��{X��H�]�H��H�E�H��H�H�E�H�E���R�D$0��Rf�D$8��R�E��E�A��H�T$0H�M��}��H��I�����H�U�H��r
H��H�L$0�j��H�E�H�E���R�D$0��Rf�D$8��R�E��E�L��H�T$0H�M����H��I��觓�H�U�H��r
H��H�L$0��3�H�}�H�E�@�|$0L�
�SD�ǍWH�L$0�Ŧ�L��H�T$0H�M����H��I���H��H�U�H��r
H��H�L$0蠢�H�}��H�u�@�|$0L�
�SD�ǍVH�L$0�g��L�E�H�T$0H�M��T��H��I�����H�U�H��r
H��H�L$0�A��H�u�H�E�
�ES�D$0�@Sf�D$8@�}�L��H�T$0H�M����H��I��苒�H�U�H��r
H��H�L$0���A��DL�d$ E3�D��H�Jg2H�L$0�PV��H�M�HM�u)L�d$ E��D��H�$g2H�L$0�*V��H�M�HM�@��tA��H�}�H�u�@�|$0L�
�RD�ǺH�L$0�T��D��H�T$0H�M�����H��I���ב�H�U�H��r
H��H�L$0�/��A8����I������H�XPH�\$ E3�D��H�f2H�L$0�U��H�t$0Hu�Hu�H��H�\$ E��D��H�Rf2H�L$0�XU��L�d$0Le�Le�L��H�\$ A�D��H�"f2H�M��)U��H�E�H��H��I��H�E�H�\$ E3�D��H��e2H�M��T��H�\$ E��D��H��e2H�M���T��H�]�H��H�E�H��H�H�E�H�E��[�D$0�[f�D$8�[�E�3�@�}�A��H�T$0H�M���
��H��I���t��H�U�H��r
H��H�L$0�̟�H�}�H�E�@�|$0H��ZH�L$0�:��L��H�T$0H�M��
��H��I�����H�U�H��r
H��H�L$0�u��H�}��H�u�@�|$0H�tZH�L$0���M��H�T$0H�M��0
��H��I���ŏ�H�U�H��r
H��H�L$0���H�}�H�u�@�|$0H�9ZH�L$0菛�L�E�H�T$0H�M�����H��I���q��H�U�H��r
H��H�L$0�ɞ�H�}�H�u�@�|$0H��YH�L$0�;��L��H�T$0H�M����H��I�����H�U�H��r
H��H�L$0�v��I���H�CPH�D$ E3�D���H��c2H�L$0��R��H�M�HM�uH�KHH�U���H�HHHuD���D��H�}�H�u�@�|$0H�fYH�L$0蔚�E��H�T$0H�M��r���H��I���w��H�U�H��r
H��H�L$0�ϝ�I��H���A_A^A]A\_^[]���������@SH�� H�"H�ڃbH�˃b�b�b�b�b �b$�b(�b,�B������H������H������<�@	C H��	C$�K0�c�S��H��H�� [�����������H�\$H�t$WH��A��I��H���O���F4���3H����DH�db2D��H�|$ E3�H�L$P�_Q��A�H�|$ D��H�:b2H�L$p�@Q��A�H�|$ D��H�b2H��$��Q��A�H�|$ D��H��a2H�L$0�P��H�D$PL��$�H�D$pH�L$0H��$�I�[H��H��H�FH��H�H�FH�F H�F H�F(I�sI��_����������������H��H�XH�pH�xUATAUAVAWH�h�H��I��H��������8H��H�������%A�D9���D9���D9����D9����H���L�-�`2E3�H�M�I�ՋpDH�xD��H�|$ ��O��H�M�HM���E��H�|$ D��H�M�I���O��H�M�HM���E�L$H�|$ D��H�M�I���O��H�M�HM��eE�L$H�|$ D��H�M�I���nO��H�M�HM��>D��DL��E��L�t$ E3�H�M�I���;O��E3�H�|$ D��H�M�I���$O��H�E�H9E���E��L�t$ E��H�M�I���N��E��H�|$ D��H�M�I����N��H�E�H9E���E3�L�t$ E��H�M�I����N��E��L�t$ E��H�M�I���N��E�L$L�t$ E��H�MI���N��H�]�H�MH�]�H�|$ D��H�]A�|$I��D���iN��D��L�t$ E��H�M�I���RN����A���A������uD�Eu�E���D�E�����uA���2�L��$�I�[0I�s8I�{@I��A_A^A]A\]����������������@SH��PD�ADH�AH��H�D$ H��^2A�H�L$0��M��D$0H��L$@KH��P[����������@USVWATAUAVAWH�l$�H���M��L��H�U3ۉ]�W�3�H�B��D�{D�}��sH�u�D�c	L�e��8H�D$0�4H�D$8�]�A��H�T$0H�M���H��I�����H�U��{H;�r
H��H�L$0�l��H�u�L�e���G�D$0��G�D$8�]�A��H�T$0H�M���H��I��躈�H�U�H;�r
H��H�L$0���H�u�H�E���G�D$0��G�D$8��Gf�E��]�M��H�T$0H�M����H��I���U��H�U�H;�r
H��H�L$0讗�H�u�H�E��JG�D$0�FG�D$8�?Gf�E��]�M��H�T$0H�M��[��H��I�����H�U�H;�r
H��H�L$0�I��H�u�H�E���F�D$0��F�D$4�\$5E3�H�T$0H�M���H��I��虇�H�U�H;�r
H��H�L$0���H�u�H�E���F�D$0��F�D$4�\$5E��H�T$0H�M��-�H��I���B��H�U�H;�r
H��H�L$0蛖�H�u�H�E��WF�D$0�SF�D$8�LFf�E��]�A� H�T$0H�M����H��I���چ�H�U�H;�r
H��H�L$0�3��H�]�H�u��\$0L�
FD�úH�L$0��D��H�T$0H�M��l�H��I��聆�H�U�H;�r
H��H�L$0�ڕ�H�u�L�e���E�D$0��E�D$8�]�A� H�T$0H�M����H��I���(��H�U�H;�r
H��H�L$0聕�H�u�L�e��yE�D$0�uE�D$8�]�A� H�T$0H�M��:��H��I���υ�H�U�H;�r
H��H�L$0�(��H�u�A�L�e��,E�D$0�%Ef�D$4�E�D$6�\$7E�D$H�T$0H�M�����H��I���h��H�U�H;�r
H��H�L$0��H�u�H�E���D�D$0��Df�D$8��D�E��]�L��DH�T$0H�M��jk�H��I����H�U�H;�r
H��H�L$0�X��H�u�H�E���D�D$0��Df�D$8�~D�E��]�L�ODH�T$0H�M��k�H��I��薄�H�U�H;�r
H��H�L$0���H�u�L�e��yD�D$0�rDf�D$4�iD�D$6�\$7L�DH�T$0H�M��j�H��I���3��H�U�H;�r
H��H�L$0茓�H�u�H�u��D�D$0�D�D$8�Df�E��	D�E��]�L�%�	M��H�T$0H�M��-j�H��I���ƒ�H�U�H;�r
H��H�L$0���H�]�H�u��\$0L�
�CD�úH�L$0���M��H�T$0H�M���i�H��I���i��H�U�H;�r
H��H�L$0�’�H�]�H�u��\$0L�
wCD�úH�L$0荖�M��H�T$0H�M��{i�H��I�����H�U�H;�r
H��H�L$0�i��I���A��DM��L�d$ E3�D��H��W2H��H�L$0��F��L�d$ E��D��H��H�M��F��L�d$ A�D��H��H�M��F��H�\$0H�]�H�]�H�GH�D$ A�D�GDH�[W2H�M��bF��L�d$ A�D��H�=W2H�M��DF���H�u�H�E�H�MATRIX_MH�D$03�@�|$8L��H�T$0H�M��l���H��I�����H�U�H��r
H��H�L$0�Y��H�u��H�]�H�MATRIX_KH�D$0@�|$8L�E�H�T$0H�M�����H��I��諁�H�U�H��r
H��H�L$0���H�u�H�]�H�MATRIX_NH�D$0@�|$8L�E�H�T$0H�M�����H��I���Z��H�U�H��r
H��H�L$0貐�A��DL�d$ E3�D��H�V2H�L$0�E��H�|$0H}�H}�H��L�d$ E��D��H��U2H�L$0��D��H�t$0Hu�Hu�H��L�d$ A�D��H��U2H�M���D��H�E�H��H��H��H�E�L�d$ E3�D��H��U2H�M��D��L�d$ E��D��H�rU2H�M��yD��H�]�H��H�E�H��H�H�E�H�E���>�D$0��>f�D$8��>�E��E�A��H�T$0H�M��{���H��I�����H�U�H��r
H��H�L$0�h��H�E�H�E���>�D$0��>f�D$8��>�E��E�L��H�T$0H�M�����H��I����H�U�H��r
H��H�L$0��3�H�}�H�E�@�|$0L�
�?D�ǍWH�L$0�Ò�L��H�T$0H�M����H��I���F�H�U�H��r
H��H�L$0螎�H�}��H�u�@�|$0L�
�?D�ǍVH�L$0�e��L�E�H�T$0H�M��R���H��I����~�H�U�H��r
H��H�L$0�?��H�u�H�E�
�C?�D$0�>?f�D$8@�}�L��H�T$0H�M���H��I���~�H�U�H��r
H��H�L$0���A��DL�d$ E3�D��H�HS2H�L$0�NB��H�M�HM�u)L�d$ E��D��H�"S2H�L$0�(B��H�M�HM�@��tA��H�}�H�u�@�|$0L�
�>D�ǺH�L$0�R��D��H�T$0H�M����H��I����}�H�U�H��r
H��H�L$0�-��A8����I������H�XPH�\$ E3�D��H�}R2H�L$0�A��H�t$0Hu�Hu�H��H�\$ E��D��H�PR2H�L$0�VA��L�d$0Le�Le�L��H�\$ A�D��H� R2H�M��'A��H�E�H��H��I��H�E�H�\$ E3�D��H��Q2H�M��@��H�\$ E��D��H��Q2H�M���@��H�]�H��H�E�H��H�H�E�H�E��G�D$0�Gf�D$8�G�E�3�@�}�A��H�T$0H�M�����H��I���r|�H�U�H��r
H��H�L$0�ʋ�H�}�H�E�@�|$0H��FH�L$0�8��L��H�T$0H�M����H��I���|�H�U�H��r
H��H�L$0�s��H�}��H�u�@�|$0H�rFH�L$0���M��H�T$0H�M��.���H��I����{�H�U�H��r
H��H�L$0���H�}�H�u�@�|$0H�7FH�L$0荇�L�E�H�T$0H�M�����H��I���o{�H�U�H��r
H��H�L$0�NJ�H�}�H�u�@�|$0H��EH�L$0�9��L��H�T$0H�M����H��I���{�H�U�H��r
H��H�L$0�t��I���H�CPH�D$ E3�D���H��O2H�L$0��>��H�M�HM�uH�KHH�U����H�HHHuD���D��H�}�H�u�@�|$0H�dEH�L$0蒆�E��H�T$0H�M��p�H��I���uz�H�U�H��r
H��H�L$0�͉�I��H���A_A^A]A\_^[]�������H�\$H�t$WH��A��I��H������F4���3H����DH��N2D��H�|$ E3�H�L$P��=��A�H�|$ D��H��N2H�L$p��=��A�H�|$ D��H��N2H��$��=��A�H�|$ D��H��N2H�L$0�=��H�D$PL��$�H�D$pH�L$0H��$�I�[H��H��H�FH��H�H�FH�F H�F H�F(I�sI��_����������������H��H�XH�pH�xUATAUAVAWH�h�H��I��H������RH��H��������?A�D9���,D9���D9���D9���H���L�-M2E3�H�M�I�ՋpDH�xD��H�|$ �q<��H�M�HM���E��H�|$ D��H�M�I���L<��H�M�HM���E�L$H�|$ D��H�M�I���%<��H�M�HM��E�L$H�|$ D��H�M�I���;��H�M�HM��XD��DL��E��L�t$ E3�H�M�I����;��E3�H�|$ D��H�M�I���;��H�E�H9E��E��L�t$ E��H�M�I���;��E��H�|$ D��H�M�I���x;��H�E�H9E���E3�L�t$ E��H�M�I���S;��E��L�t$ E��H�M�I���<;��E�L$L�t$ E��H�MI���#;��H�]�H�MH�]�H�|$ D��H�]A�|$I��D���:��D��L�t$ E��H�M�I����:�����t)H��$I�$I�$H��H��H+�H��H�H��Hi��H;�u�Mu�E��„M�����uA���2�L��$�I�[0I�s8I�{@I��A_A^A]A\]������@USVWATAUAVAWH��$���H��M��M��H��H�UP�d$hW�3�H�B�����D$hI�EH�EE��DM��L�d$ �D��E��H��J2H�����9��I���H���H��J2�y@	uyH�AH�D$ D�K�D�ADH�M0�9��E3�H9]0�gL�d$HH�D$PD�d$8L�
{1E�čSH�L$8���L�K�H�T$8H�L$X��[�H��H���au��L�d$ D��E��H�M0�G9��L�d$ A�E��H�"J2H����&9��H����HE@H��@rV��uRE3�L�d$HH�D$PD�d$8L�
�0E�čQH�L$8�?��L���H�T$8H�L$X�([�H��H���t��\E3�H�� rk��ugL�d$HH�D$PD�d$8L�
�0E��A�T$H�L$8���L�I�H�T$8H�L$X��Z�H��H���_t�H�T$PH��r
H��H�L$8趃�I���D�p@�D;�u@��?t@��$��H�H����L�e H�E(D�eL�
0E��A�A��H�M�J��M�EH�UH�M`�8�L�e�H�ED�e�L�
�/E��A�W�H�M����E�o�E��A�G�D;�DE�H�U�H�Mp���L�e�H�E�D�e�L�
�/E��A��H�M��Ɇ�L��H�U�H�����3�H��H��H��3�H�uH��L�e�E�}�L�}�D�e�L�
�/E��A�UH�M��y��A�E�H;�HB�L��H�U�H����Z�L�e�L�}�D�e�L�
v/E��A�UH�M��6��L��H�U�H����"�W��D$pL�e�D�L$0L���H�U`H�L$p�`�L�t$xH�\$pI;�tOH�VH;Vt(L�"L�bH�CH��t�@H�H�H�CH�BLn�L��H����I�I;�u�L�t$xH�\$pH��tfI;�tAH�{H��t+����G��uH�H������G��u	H�H��PI�I;�u�H�\$pH�U�H+�H���H���M��W��D$pL�e�L�
9��A�I��H�M`�׻�H�U�I;�rH��H�M����L�e�L�}�D�e�H�U�I;�rH��H�M����L�e�L�}�D�e�H�U�I;�rH��H�M��π�L�e�L�}�D�e�H�UI;�rH��H�M�讀�L�e�L�}D�e�H�U(I;�rH��H�M荀�H��H��A_A^A]A\_^[]�������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P蝩���H�����H������H���f����K H�˃K$���K�K����H��H�� [����������������H�\$H�l$H�t$WH��PA��I��H���
�D���H��XA�H�D$ H��F2H�L$0�C���D��DH��H�l$0H��D2�H�D$ D��H�L$0��3��H���D�OL�D$0�P@A;�uA��?tA��$��H�H�����A;ы�IE�u
�_,���&�F43�H�\$`H�FL��H��H�l$hI��H��H�H��H�t$pH��P_����������H�\$H�l$H�t$WH��pH���������D���H��XA�H�D$ H��E2H�L$0�2���D��DH��A�H�l$ H��C2H�L$P��2��H�t$0H��tIH�\$PH��t?D��DH��C2A�H�l$ H�L$P�2��H9t$PuH����x@u @
��t-2�L�\$pI�[I�kI�s I��_�@�������u�H�� rӰ������@USVWATAUAVAWH��$8���H���I��L�D$@L��H����d$HW�3�H�B����D$HL���L�D$8Ic@DH�@L�
�B2Ic�Ic\�Ic|�Hc��Hk�H��D2Lc<Hc�DH�@Ic4�Mct�HDž�A�L����b.f����W.���ƅ�H��H��H�D$PM�@N�H���H������HDžL����.f����.���ƅ�L��I��H�\$8L�CO�H���H����f��HDž�HDž���-f�����-���ƅ�H��H��HCL�I��I��H���H������HDž��H����S-����K-���ƅ�H�CH�L$PL�DLDH���H�����HDž�H����-�����,���ƅ�H�CM�DMDH���H���U��HDž��H�}x��,f�Eh��,�Ej�EkH��H��H�t$@L��N�H�UhH�� ���H�E`H�}X�m,f�EH�e,�EJ�EKI��H��L��N�H�UHH��0���A�L�u@H�E8�$,f�E(�,�E*�E+M��I��L�XM�H�U(H��@�n��L�u A�L�u��+�E��+�EE3�D�}
H��L�DLDH�UH��P�%��A�^
H�]L�u���+�E��+�E�D�}�H��L�DLDH�U�H��`����H�]�H�E�	�d+�EȊa+�E�D�}�E�wE��H�U�H��p�#���H��@A�_H��8H�K_HEIGHTH��(D��0L��XO�H��(H����Z��E�gL�e�H�E���*�E���*f�E���*�E�D�}�L��XH�|$PN�H�U�H������L�� H��H�K_STRIDEH��D��D���H��H�������L�e�H�E��b*�E��_*�E��Y*f�E�D�}�E�GH�U�H�������W��D$XL�|$hD�L$0L���H���H�L$X�V�H�t$`H�\$XH;�tOI�UI;Ut(L�:L�zH�CH��t�@H�H�H�CH�BMu�L��I���	�I�H;�u�H�t$`H�\$XH��tmH;�tFH�{H��t+����G��uH�H������G��u	H�H��PI�H;�u�H�\$XH�|$PH�T$hH+�H���H���w�W��D$XL�|$hL�
���M��I��H����+��H�U�I;�rH��H�M��ew�L�}�L�e�D�}�H�� I;�rH��H���>w�L��L�� D��H�U�I;�rH��H�M��w�L�}�L�e�D�}�H��@I;�rH��H��(��v�L��8L��@D��(H�U�I;�rH��H�M���v�L�}�L�e�D�}�H�UI;�rH��H�M��v�L�}�L�eD�}�H�U I;�rH��H�M�v�L�}L�e D�}H�U@I;�rH��H�M(�`v�L�}8L�e@D�}(H�U`I;�rH��H�MH�?v�L�}XL�e`D�}HH���I;�rH��H�Mh�v�L�}xL���D�}hH���I;�rH��H�����u�L���L���D���H���I;�rH��H����u�L���L���D���H���I;�rH��H����u�L���L���D���H��I;�rH��H����au�L���L��D���H���I;�rH��H����1u�H�L$8H�IL�DLDH�t$@���H�D$8H�D$ L�L$@H�苩��L���L��x�e��h�_��p�Vf��t�K��vD��wL�D$@H��hH������L��XL��`D��HL�
E��I��H��H�Yx�L�D$8H��HH����@��W��D$pL�}�D�L$0L���H���H�L$p�R�H�t$xH�\$pH;�tOI�UI;Ut(L�:L�zH�CH��t�@H�H�H�CH�BMu�L��I����I�H;�u�H�t$xH�\$pH��tfH;�tAH�{H��t+����G��uH�H������G��u	H�H��PI�H;�u�H�\$pH�U�H+�H���H���hs�W��D$pL�}�L�
T��A�I��H������H��`I;�rH��H��H�#s�L��XL��`D��HH���I;�rH��H��h��r�I��H���A_A^A]A\_^[]�������������@SH�� H�"H�ڃbH�˃b�b�b�b�b �b$�b(�b,�B�����H���ޛ���H������H��贜���H�������H���
�������	C H��	C$�K2�c�I���H���1���H��H�� [���������@SVWH��H��=2H3�H��$�H��H���(�������H�L$ D��H���K���L�D$ A���A9��ufA���H;G@uYA���H;GHuLM���Ic@DH�@H�72Hc�I�@H��H�H��$I�$I�$H��H��H+�H��H�H��Hk�H;�t2�H�L$ �$���H��$�H3���H��_^[��������@SH��0��H���D$ ��JH��H��0[������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�����	H�������	H�����H������K H�ÃK$�H�� [���@SH��0�.H���D$ ��ZH��H��0[������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�}����	H���p����H���c����H���V����H���I����	H���,����H�������H�������H�������H������K 3҃K$H�˃�Ø���H��趘���H��詘���H��蜘���H��H�� [�L��I�[I�KUVWAVAWH��@I��H��E3�E�{�L�9L�yL�yL�yL�y L�y(L�y0L�y8�A@$tII��L�qHD�yPD�yXL�y`L�yhL�ypL�yxfD���L���A�G���ǁ�D���L���Hǁ�D���D����D$ I�K��H�H�PL�8L�xH�H�_H�WH��t+A����CA�uH�H��A����CA�u	H�H��PH�\$0H��t+A����CA�uH�H��A����CA�u	H�H��PL�D$xH��H�O�����G@$tIL�wHD�PD���H��H��$�H��@A_A^_^]�����H�\$H�t$H�L$WH�� H��H�����<�H��H�D$0H��t)W���C�CH�)H�H�KH���(�3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H�\$H�t$ H�L$WH�� H��H���Q���H��L
H���P��P��T��TH��XH�\$8H��XH�����H���	H�H��H�\$@H�t$HH�� _�������@SH�� H�S(H��H���t
���~�H��H�� [������@USVWATAVAWH��$ ���H���H�G82H3�H���M��M��H��H��H�U�E3�D�d$tL�	M��I��A�Q8��uL�'L�gL�g�!H�M��H���H��PHA�I��H�������W�3�EpH���H�M��H�UpH��P@�H�^M�NL�|$ L��H���H������H���H�D$ L�MpL��H���H��耬���A�L�}�L�e�D�d$xM�N0D�d$`D�d$X�D$PD�d$HD�d$@H�D$xH�D$8H���H�D$0H���H�D$(H�\$ L���H��H������H�U�H��r
H��H�L$x�7k���@��@H��H�M�藻�L�'L�gL�gD�L$pL�EhH�U�H������D$tL�
����A�H�M�胥�H���H��rH��H����j�L���L���D���H���H��rH��H����j�L���L���D���H�MpH��t0L�EpH�Ux�Z��H���H�MpH+�H����Cj�L�epW��ExH�����H��H���H3��H���A_A^A\_^[]��������@USVWAVH�l$�H���I��H��H�U'�e�W�3�H�B讉���E��H�}�H�E�� %�E��%f�E��%�E��E�D��TH�U�H�M������PH�M��q����L�1H��H�M��g�D�G�H��H�M����W��E�H�e�D�M�L�E'H�UH�M��G�L�u�H�]�I;�tQH�VH;Vt+H�"H�bH�CH��t�@H�H�H�CH�BH�F�L��H����H��I;�u�L�u�H�]�H��tkI;�tFH�{H��t+����G��uH�H������G��u	H�H��PH��I;�u�H�]��H�U�H+�H���H���gh�W��E�H�e�L�
S�D�B�H�M���H�U�H��rH��H�M��*h�H�e�H�}��E�H�U�H��rH��H�M��h�H�e�H�}��E�H�U�H��rH��H�M���g�H��H���A^_^[]����L��I�[I�kI�s WH��PH�"I��`H�bI�K�H�bI��H�bH��H�b H�b(�b4�B0I���I�[ȃx@��E3ɈB0H��,2E�������H�l$0H��,2H�.H�L$0D���A�H�\$ ���H�D$0A�H�FI;�H�D$hL�FHC�L�D$hH�A�@H;�HG�3�H��H�NH��H��tI+�3�H��H��H��u�H�NH�\$`H��H�l$pL�F L�F(H�t$xH��P_���������̃zu
A�xxu��2���������������@SH��0�>H���D$ ����H��H��0[������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P荏���	H��耏���H���s����	H���V����H���I����H���<����	H������K ��K$H���j����H��H�� [���������������@USVWATAUAVAWH��$����H��H�E12H3�H���I��H�E�M��H��L��H�M�H�U�3ۉ]�L�	L��I��A�Q8��uH�H�_H�_�L��H���H���H���H���H���H���W����M���A�@���A��P��uWI�_H�\$ E3�E�GDL�%X*2I��H�L$x�[��L�t$xL���H�\$ �D��E�GDI��H�L$x�1��D�N��;�u)I�_H�\$ E3�E�GDL�%�)2I��H�L$x���D���=��uE3������D��I�_L�%�)2H�\$ E�GDI��H�L$x���A�L�t$xL���H�\$ E�GDI��H�L$x���A�H�D$xH���H�\$ E�GDI��H�L$x�o��H�D$xL�e�H���H�E� H�u�H�M�H���L;�HC�H�E�H�9 HF�H�H���3�I��H��E3�H��tH+�3�I��H��H��u�H���H���H���L��I��H�� ���W�3���H���I�$M��H���I��P@�I�\$M�MH�E�H�D$ L��H���I�������H���H�D$ L���L��H��I��衣���A�L�u�L�}�D�|$xM�M0D�|$`D�|$X�D$PD�|$HD�|$@H�D$xH�D$8H���H�D$0H��H�D$(H�\$ L���H��0I��� ����H�U�H��r
H��H�L$x�Xb��
��`H�� H�M�踲�L�?L�L�D�L$pL���H�U�H�������u�L�
��L�ƺ�H�M�詜�H��H��rH��H����a�L��L��D��H���H��rH��H����a�L���L���D���H���H��t?L���H����w��H���H���H+�H����]a�L���W����H�� ���H��H���H3��
�H��A_A^A]A\_^[]����������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�=����	H���0����H���#����	H�������H������H������	H��诊���K 3҃K$H�������H�������H�������H������H��H�� [�����������L��I�[I�KUVWAVAWH��@I��H��E3�E�{�L�9L�yL�yL�yL�y L�y(L�y0L�y8�A@$tII��L�qHD�yPD�yXL�y`L�yhL�ypL�yxfD���L���A�G���ǁ�D���L���Hǁ�D���D����D$ I�K��H�H�PL�8L�xH�H�_H�WH��t+A����CA�uH�H��A����CA�u	H�H��PH�\$0H��t+A����CA�uH�H��A����CA�u	H�H��PL�D$xH��H�O豽���G@$tIL�wHD�PD���H��H��$�H��@A_A^_^]�����H�\$H�t$H�L$WH�� H��H���x��H��H�D$0H��t)W���C�CH��H�H�KH���(�3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H�\$WH�� H��H���;��H��?
H���P��P��T��T��X��X��\��\��`��`��dH�\$0��dH��H�� _������������@SH�� H��H��H���t
�x�^�H��H�� [������@USVWATAUAVAWH��$��H��H�%)2H3�H��M��M��H��H��H�U�E3�D�d$tL�	M��I��A�Q8��uL�'L�gL�g�fH�M��H���H��PHA�E��I��H��0����W�3���H�����)E��)M��)E���(�M�H�L�M�M��H���H��P@�H�^M�NL�|$ L��H���H��膦���H���H�D$ L���L��H���H��� ����E�}L�}�L�e�D�e�M�N0D�d$`D�d$XD�l$PD�d$HD�d$@H�E�H�D$8H���H�D$0H���H�D$(H�\$ L���H��@H��覢���H�U�H��rH��H�M���[������pH��0H�M��?��L�'L�gL�gD�L$pL���H�U�H��蛹��D�l$tL�
o��M�ź�H�M��.��H���H��rH��H����a[�L���L���D���H���H��rH��H����0[�L���L���D���H���H��t?L���H������H���H���H+�H�����Z�L���W����H��0褷�H��H��H3�蒗H��A_A^A]A\_^[]���������������H��H�X UVWATAUAVAWH����H���)p�)x�D)@�D)H�D)�x���M��M��H��H���E3�D�d$$W�3�H�B�
z��A�|$�|$$A��d+���E�t$L�uPH�EH
���E8��f�E@D�eBE��dH�U8H�� ����L�t$pH�D$h�x�
�D$X�q�
f�D$\�h�
�D$^D�d$_D��H�T$XH��0譴���L�u�H�E��&�D$x� �D$|D�d$}�A�XH�T$xH��@�����L�u�H�E��E�BETAD�e��A�\H�U�H��P����L�u�H�}�f�E�K�A�`H�U�H��`�Ĵ���A��TH��������L��H��H����V�L�!�H��H��p�/�A��PH�Mx聹���L���H��H����z/�W��D$(L�d$8D�L$ L���H�� H�L$(��6�L�t$0H�\$(A�|$I;�tOH�VH;Vt(L�"L�bH�CH��t�@H�H�H�CH�BH~�L��H������H�I;�u�L�t$0H�\$(H��tmI;�tFH�{H��t+����G��uH�H������G��u	H�H��P�H�I;�u�H�\$(H�T$8H+�H���H���W�W��D$(L�d$8L�
�n�A�H��H�� ���H���H;�rH��H�Mx�SW�L���A�L���D�exH���H;�rH��H���� W�L���L���D���H���H;�rH��H�����V�L���L���D���H�U�H;�rH��H�M���V�L�e�L�u�D�e�H�U�H;�rH��H�M��V�L�e�L�u�D�e�H�U�H;�r
H��H�L$x�V�L�e�L�u�D�d$xH�T$pH;�r
H��H�L$X�_V�L�d$hL�t$pD�d$XH�UPH;�rH��H�M8�;V��A�XA��dW��H*�D(��D^�(�肍��t�D�
�	�D��(�T���zD(�A(�T���z(�A�]0��tA(�L�ehL�upD�eXL�
}E�ĺH�MX�Y�(�H�UXH����`������uE(�L�e(L�u0D�eL�
TE�ĺH�M�SY�A(�H�UH����������u	�D��L�eL�uD�e�L�
%E��H��H�M��Y�A(�H�U�H���ٰ�����u�5��L�e�L�u�D�e�L�
�E�ĺH�M���X�(�H�U�H��蔰���W��D$@L�d$PD�L$ L�� H���H�L$@�(3�L�t$HH�\$@I;�tOH�VH;Vt(L�"L�bH�CH��t�@H�H�H�CH�BH~�L��H���+��H�I;�u�L�t$HH�\$@H��tqI;�tJA��H�{H��t+A����GA�uH�H��A����GA�u	H�H��P�H�I;�u�H�\$@H�T$PH+�H���H����S�W��D$@L�d$PL�
�j�A�H��H����W��H�U�H;�rH��H�M��S�L�e�A�L�u�D�e�H�UH;�rH��H�M��jS�L�eL�uD�e�H�U0H;�rH��H�M�IS�L�e(L�u0D�eH�UpH;�rH��H�MX�(S�H��L��$�I�[XA(s�A({�E(C�E(K�E([�I��A_A^A]A\_^]��L��I�[I�sI�{ AVH��pH�"I��H�bI�K�H�bI��H�bL��H�b A�H�b(�b4�B0I���I�{��x@���B0H�2A��DD�����A�H�|$ D��H��2H�L$P����H�\$0H��2H�\$PE3�H�|$ I�H�L$PD��D���H�D$PH��2I�FH�L$PD��DH�|$ �D�����H�D$PH;�I�FH��$�IC�H��$�H��GH;�HG�3�H��I�NH��H��tH+�3�H��H��H��u�I�NL�\$pI�~ I�[I��I�s I�~(I�{(I��A^�����̃zu
A�xxu��2���������������H��USVWATAVAWH�l$�H��`)p�H��L��H�U�E3�D�|$$A��d�������E9�PEȋ�W��H*��5���^�W�3�
H�BA)EAI)M AA )E0�AI0�M@L�MI���3����D$$L�}�A�H�}�D�}�L�
�E��E�gA��H�M��T�(�H�U�H�M��P����H�}�H�E�	�S�
�E��P�
�E�D�}�E�GH�U�H�M�踪���H�|$XH�D$P�)�
�D$@�$�
f�D$H��
�D$JD�|$KE�GH�T$@H�M��n����H�|$xH�D$p��
�D$`��
f�D$dD�|$fE3�H�T$`H�M�3����W��D$(L�|$8D�L$ L�EH�U�H�L$(�-.�L�t$0H�\$(I;�tOH�VH;Vt(L�:L�zH�CH��t�@H�H�H�CH�BLf�L��H���0��I�I;�u�L�t$0H�\$(H��tmI;�tFH�{H��t+����G��uH�H������G��u	H�H��PI�I;�u�H�\$(�H�T$8H+�H���H����N�W��D$(L�|$8L�
�e�A�I��H�M��c��H�T$xI;�r
H��H�L$`�N�L�|$pH�|$xD�|$`H�T$XI;�r
H��H�L$@�uN�L�|$PH�|$XD�|$@H�U�I;�rH��H�M��QN�L�}�H�}�D�}�H�U�I;�rH��H�M��0N�H��(�$PH��`A_A^A\_^[]����@SH��0��	H���D$ �d�H��H��0[������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�
w���	H���w���H����w���	H����w���K ��K$H�˃�nw��3�H���dw���H���7w���H���*w��H��H�� [��@USVWAVH�l$�H���H��2H3�H�E/I��H���$���3�H�E��DH��H�\$ E3�D��L�5o2I��H�M��s��H�\$ A�D��I��H�M��Y��H�E�H�E�H�E�H�\$ A�D��I��H�M��2��H�E�H�E�H�\$ A�D��I��H�M����H�E�H�E�W��E�H�eD�M�L�E�H�U�H�M��y�W�3�EH�E'�E�H!E�H�}�L�uI;�tfL+�I��H��H��������H;���H��H��r
H���pK��H��t
H���q��3�H�E�H�E�H�H�]�M��H��H���`tH�]�H�U�H�M菢��H�H�H�GH�FH�GH�FH�MH�H�FH�AH�F H�AH�F(H�U'H+�H���~K�W��EH�e'H�UH+�H��H���^K�H��H�M/H3��/�H���A^_^[]��|i������������@SH��0���
H���D$ ��H��H��0[������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�-t���	H��� t���H���u���	H���t���K ��K$H�˃�t���H���at��H��H�� [���������@SH�� H���r����H�@H�CH�CH�C H�C(H��H�C�H�� [������@SH��0�.�
H���D$ ��H��H��0[������������H�\$ WH�� I��H�����H���A�A��L�@H�HH��I;�t>H�H�� I;�u�M��L�	H�� I;�u�H;�M�3�I��L�I��I��H��u�&��M��L;�M�3�I��L�I��I��I��H+�L�H�\$HH��L�L�WL�WL�GL�W L�W(H�� _���@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�mr���	H���`r���H���Cs���	H���6s���K 3҃K$H�˃��r���H���r��H��H�� [������������H�\$H�t$WH��pI��H�����H����xD��D��DH��E3�H�t$ H��
2H�L$0���H�D$0H�ȃ�tH+�H�� H�H��
2D��DH�L$0A�H�t$ ���H�D$0H��
2H�GH�L$0��DA�D��H�t$ ���A�H�t$ D��H�a
2H�L$P�g���H�D$0H�D$PH�G H�GH�G H�G(L�\$pH��I�[I�sI��_������������@USH�l$�H��H��H�U7�e�W�3�H�BA)E�AI)M�AA )E�AI0�ML�M����E�H�E�H�E��-�
�E�*�
�E��$�
f�E��E�A�H�U�H�M'�]���H��H���r7�H�U�H��rH��H�M���F�H��H�Ę[]���������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P	��o���	H���p���K 3҃K$H�˃�[p���H���.p���KH��H�� [��@SH�� H���B�H�+H��H�CH�� [��������������H�\$H�l$H�t$WH��pH���t����H���H�-^2A�H��D�ADH�AH�L$0H�D$ �N���H�|$8H����Du(A�H�t$ D��H�L$0H������H�|$8u@��@2�A�H�t$ D��H�L$0H�����D$0uLA�H�t$ D��H�L$PH������A�H�t$ D��H�L$0H������D$0�L$P���?u��2�@��t��t��2�L�\$pI�[I�kI�s I��_����������@USVWH�l$�H��I��H��H�U'�e�W�3�H�BA)E�AI)M�AA )E��AI0�ML�M����E�H���H���AD��H�E�H�E����E׋��E��E�H�U�H�M�W���H��H���4�H�U�H��rH��H�M��D�~D��H��H�D$ E3�D��DH�n	2H�M��u���H�}�whH�E�H�E�
�F�E׋C�Eߊ>�E��E�A�H�U�H�M����H��H���4�H�U�H��rH��H�M��vC�H��H�Ĩ_^[]��������@SH��0���
H���D$ ��H��H��0[������������H��H�XH�pWH��P��DH����dH��2D��H�x�H�H�A�����D$0u��v��eA�H�|$ D��H�H2H�L$0�N����D$0u��v��3A�H�|$ D��H�2H�L$0������D$0u	;�v�H�\$`H�t$hH��P_���������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�k���	H���k���H���cl���	H���Vl���K 3҃K$H�˃��k���H����k��H��H�� [������������H�t$H�|$L�d$ UAUAWH��H��pI��H����H���r���H���D��QD���	D��DL��E3�L�d$ H��2H�M����D��DH��2E3�L�d$ H�M�����H�M� D�x�L9}�DG�3�H��I��H��t	A��H+�H�H�H��2D��DH�M�A�L�d$ ���H�E�H�l2H�GH�M�D��DA�L�d$ �]���D��DH�?2A�L�d$ H�M��;���H�E�3�H�E�L�I��H�G H�GH�G(�[��uVH�3�I��H�E(L��H�I��H�E(HC�H�� H;�HG�3�I��H�OH��H��tH��3�I��H��H��u�H�OL�\$p�G4�!5I�s H��I�{0M�c8I��A_A]]�����@SH�� H���r���t
��d w��2�H�� [����������@SH��0�
�
H���D$ �$�H��H��0[������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P��h���	H���h���H���i���	H���i���K ��K$H�˃�.i���H���i���H����h��H��H�� [������������@USVWAVH�l$�H���H��
2H3�H�E/I��H�����3�H�E��DH��H�\$ E3�D��L�5/2I��H�M��3�H�\$ A�D��I��H�M���H�E�H�E�H�E�H�\$ A�D��I��H�M����H�E�H��H��H�E�H�\$ A�D��I��H�M����H�E�H�E�W��E�H�eD�M�L�E�H�U�H�M��j�W�3�EH�E'�E�H!E�H�}�L�uI;�tfL+�I��H��H��������H;���H��H��r
H���(=��H��t
H���)y�3�H�E�H�E�H�H�]�M��H��H���fH�]�H�U�H�M�G���H�H�H�GH�FH�GH�FH�MH�H�FH�AH�F H�AH�F(H�U'H+�H���6=�W��EH�e'H�UH+�H��H���=�H��H�M/H3���yH���A^_^[]��4[����@SH��PH���b���t6H���H�P2A�D�ADH�AH�L$0H�D$ �C�D$0u��2�H��P[�H�\$H�t$WH��0I��I��H��H�L$ H�H�a�@��wH��H�F��A H�SH��(�8��H�FH�8H�FH�xH�NH�y3�H�N�DH��H��|�H��H�\$HH�t$PH��0_�����������L��I�[I�KUVWAVAWH��@I��H��E3�E�{�L�9L�yL�yL�yL�y L�y(L�y0L�y8�A@$tII��L�qHD�yPD�yXL�y`L�yhL�ypL�yxfD���L���A�G���ǁ�D���L���Hǁ�D���D����D$ I�K��@H�H�PL�8L�xH�H�_H�WH��t+A����CA�uH�H��A����CA�u	H�H��PH�\$0H��t+A����CA�uH�H��A����CA�u	H�H��PL�D$xH��H�O聙���G@$tIL�wHD�PD���H��H��$�H��@A_A^_^]�����H�\$ UVWH�� A�xI��H��H��uPL�CH��H������H��H�H�O(H��tH�W8H+�H���F:�H�g(H�g0H�g8�@H���*:�{t�H�\$XH�� _^]��������H�\$H�t$H�L$WH�� H��H�����luH��H�D$0H��t)W���C�CH��
H�H�KH����3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XUVWAVAWH��)p�H��H��H�L$0H�!H�a�@��tL��H�H�@H�@f�@H�fH~�fs�fI~�I;���L��M��H�T$@H���4v�0�@�D$p�|$p��H��������H9G��L��L�H��H�L$ �4���H�hH�`H�\$(H��t?H�K(H��t$H�S8H+�H���8�H�c(H�c0H�c8H�\$(H��t
�@H���8��t$@L��H�T$@H���l)�H�� �3���H��L��$�I�[@A(s�I��A_A^_^]��3���������������H�\$H�t$ H�L$WH�� H��H���!����H�i
H�H��PH�\$8H��PH���ۀ�H�l_	H�������������������������������������H��H�\$@H�t$HH�� _�������@SH�� L�H��H��M�@����H��@H�� [�V7�������@SH�� H��H�IH��tH�SH+�H���.7�H�cH�cH�cH�� [����������@SH�� H�K�
H��H���t
���rH��H�� [������@USVWATAUAVAWH��$��H��H�u2H3�H��M��M��H��L��H�U�E3�D�l$DL�	M��I��A�Q8��uL�.L�nL�n�I���I+��H�9��8��8H��H��L��I��?L�I��H����2����I���I��H��P����L�D$@�H��8�`�H��8H��H��肛�G@�C@�GD�CDH��PH��0��~�H�d]	H��0H���W�3���H���I�L��PH���I��P@�I�^L�d$ L��`L��H���I������H���H�D$ L���L��H��I���v���H��8H�D$ E3�D��tH���1H�M����H�E�H�D$pH��8H�D$ A�D��tH���1H�M���H�E�H�D$xH�E�H�D$pH�D$`H�E�H�D$hH�OH�T$`�0���A�L�e�L�m�D�m�I�G0H�M�H�L$0H�D$(H���H�D$ L��L��H�U�I���
���H�H�PL�(L�hH�H�_H�WA��H��t+A����CA�uH�H��A����CA�u	H�H��PH�]�H��t,A����CA�uH�H��A����CA�u
H�H��P�H�U�H��rH��H�M���3�L�l$HH�_@H�SH;St
I��H�H�C�
L�D$HH���e��H�|$PH�SH;St��H�H�C�
L�D$PH���8��E8��t/H�D$`H�SH;StH�D$`H�H�C�
L�D$`H������X�
���H���H�M��L�.L�nL�nD�L$@L���H�UH�������|$DL�
��L�Ǻ�H�M�m�H�� H��rH��H����2�L��L�� D��H��H��rH��H����2�L���L��D���H���H��t?L���H����~��H���H���H+�H����d2�L���W����H��8H��tH��HH+�H����32�H���H��t%H���H+�H����2�L���W�f��H��P���H����Ȏ�H��H��H3��nH��A_A^A]A\_^[]���H�\$ UVWATAUAVAWH��$����H��`H�R�1H3�H��PM��H��H��HE3�D�d$4W�3�H�B�JQ���D$4A�t$E�l$E8���:H�� HDž	���
�����
��D��A�H��H��X耍���H�u`H�EX�EHCELLD�eLM��PH�UHH��h�1���H�u�H�E��\�
�EȋY�
�E��S�
f�E�D�e�E���H�U�H��x訋���W��D$PL�d$`D�L$0L���H��XH�L$P���L�t$XH�\$PI;�tOH�WH;Wt(L�"L�bH�CH��t�@H�H�H�CH�BLo�L��H�����I�I;�u�L�t$XH�\$PH��tmI;�tFH�sH��t+����F��uH�H������F��u	H�H��PI�I;�u�H�\$P�H�T$`H+�H���H���/�W��D$PL�d$`L�
�F�A�I��H��X�j�H�U�I;�rH��H�M��Y/�L�e�H�u�D�e�H�U`I;�rH��H�MH�8/�L�eXH�u`D�eHH�� I;�rH��H���/��A��/
�k	��H��0�_)����A��W
P	H���B)���H���H�Ex���
�Eh���
f�El�~�
�EnD�eoL��0H�[�
H��(�-�L�7�
H��H���,�L��0H��H����),�L��
H��H����r,�L��H��H����+�L���
H��H����D,�L��H��H��h��+�L���
H��H����,�L��H�UhH�����W��D$hL�d$xD�L$0L���H���H�L$h�7�L�t$pH�\$hI;�tOH�WH;Wt(L�"L�bH�CH��t�@H�H�H�CH�BLo�L��H���:��I�I;�u�L�t$pH�\$hH��tmI;�tFH�sH��t+����F��uH�H������F��u	H�H��PI�I;�u�H�\$h�H�T$xH+�H���H����,�W��D$hL�d$xL�
�C�A�I��H����jg�H���I;�rH��H��h�,�L��xH���D��hH���I;�rH��H����n,�L���H���D���H���I;�rH��H����>,�L���H���D���H���I;�rH��H����,�L���H���D���H��I;�rH��H�����+�L���H��D���H�� I;�rH��H���+�L��H�� D��H��@I;�rH��H��(�~+�L��8H��@D��(H���I;�r
H��H�Mh�Q+�H��(I;�rH��H���5+�L�� H��(D��H��HI;���H��0�{H���HDž����
������
f������
���D���L���
H���H�����W��E�L�e�D�L$0L���H���H�M��	�L�u�H�]�I;�tMH�WH;Wt(L�"L�bH�CH��t�@H�H�H�CH�BLo�L��H�����I�I;�u�L�u�H�]�H��tiI;�tEH�sH��t+����F��uH�H������F��u	H�H��PI�I;�u�H�]��H�U�H+�H���H����)�W��E�L�e�L�
�@�A�I��H����Md�H���I;�rH���H���)�E8���uH��@HDž8�:�
��(�4�
��0D��4A�H��(H���詅���W��E�L�e�D�L$0L���H���H�M���L�u�H�]�I;�tMH�WH;Wt(L�"L�bH�CH��t�@H�H�H�CH�BLo�L��H��蕺�I�I;�u�L�u�H�]�H��tiI;�tEH�sH��t+����F��uH�H������F��u	H�H��PI�I;�u�H�]��H�U�H+�H���H���C(�W��E�L�e�L�
0?�A�I��H�����b�H��@I;�rH��H��(�'�H��`HDžX	���
��H���
��PD��QE���H��HH����Ђ���W��E�L�e�D�L$0L��H���H�M���L�u�H�]�I;�tMH�WH;Wt(L�"L�bH�CH��t�@H�H�H�CH�BLo�L��H�����I�I;�u�L�u�H�]�H��tiI;�tEH�sH��t+����F��uH�H������F��u	H�H��PI�I;�u�H�]��H�U�H+�H���H����&�W��E�L�e�L�
�=�A�I��H����Ra�H��`I;�rH��H��H�&�I���D�@DH��H�D$ E3�H���1H�������H���H��H����
H����6�
����0�
����(�
���D���E3�A���I����H��L��H���H����ӓ���D�vL�u@H�u8���
�E(���
�E0���
�E4D�e5D�F�A���I���H��L��H�U(H����y����L�u H�u���
�E���
�E���
�ED�eD�F�A���I���:H��L��H�UH����#����L�uH�u��R�
�E�O�
�E�J�
�E�D�e�D�F�A���I����H��L��H�U�H����͒���W��D$8L�d$HD�L$0L���H���H�L$8�A�L�t$@H�\$8I;�tOH�WH;Wt(L�"L�bH�CH��t�@H�H�H�CH�BLo�L��H���D��I�I;�u�L�t$@H�\$8H��tlI;�tEH�sH��t/A��A����FA�uH�H��A����FA�u	H�H��PI�I;�u�H�\$8H�T$HH+�H���H����#�W��D$8L�d$HL�
�:�A�I��H����u^�H�UI;�rH��H�M��#�L�e��H�]D�e�H�U I;�rH��H�M�#�L�eH�] D�eH�U@I;�rH��H�M(�h#�L�e8H�]@D�e(H���I;�rH��H����A#�H��H��PH3��`H��$�H��`A_A^A]A\_^]�����H�\$H�t$UWATAUAVH�l$�H��@M��D��
��4eH�%X�4L��E3�B�
9'�4}H�
�4H�A�D9` }H�@�H��H�D8pt�D8quED;a |?H�A(J��L��$@I�[0I�s8I��A^A]A\_]�H�
��tc�H�
��4�d�H�
����=�H�
��4�d�=��4��j���W�u�4L�u�H�u�H�E�H�E��D$ L�t$0D���L�EH�U�H�L$ �N�D�t$pL�t$xW�fE�H��������H�|$(H9|$ tdH+|$ H��H��H;�v��?��H��H��r
H��� ��H��t
H���]�I��H�D$xH�E�H�H�]�L��H�T$ H����IH�]�L�uH�EH�uH�EW��D$PL�t$`D���L�E H�UH�L$P��M��u�L�u�W�fE�H�t$PH�|$XH;�tiH+�H��H��H��������H;�v�?��H��H��r
H���5 ��H��t
H���6\�I��H�E�H�E�H�H�]�L��H��H���$IH�]�L�u H�E(H�E0H�E8W��D$8L�t$HD���L�E@H�U H�L$8�L��E�L�u�W�fE�H�|$8L�t$@I;�thL+�I��H��H��������H;�v�L>��H��H��r
H���f��H��t
H���g[�3�H�E�H�E�H�H�]�M��H��H���VHH�]�H�D$pH�E�H�E�H�E�H�U�H�
��4���L�
I�� D�B�H�L$p�6Z�E3�H��tH�T$HH+�H��H���i�H��tH�T$`H+�H��H���O�L9t$ ����H�T$0H+T$ H��H�L$ �+����������@SH�� H���2�H��H�� [����������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�-H���	H��� H���H���I���	H���H������K�C �C$H��H�� [��������������L��I�[I�KUVWAVAWH��@I��H��E3�E�{�L�9L�yL�yL�yL�y L�y(L�y0L�y8�A@$tII��L�qHD�yPD�yXL�y`L�yhL�ypL�yxfD���L���A�G���ǁ�D���L���Hǁ�D���D����D$ I�K��H�H�PL�8L�xH�H�_H�WH��t+A����CA�uH�H��A����CA�u	H�H��PH�\$0H��t+A����CA�uH�H��A����CA�u	H�H��PL�D$xH��H�O��{���G@$tIL�wHD�PD���H��H��$�H��@A_A^_^]�����H�\$H�t$H�L$WH�� H��H�����\XH��H�D$0H��t)W���C�CH��
H�H�KH���(�3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H�\$H�L$UVWH�� H��H���t����H��
H�H��PH�\$HH��PH���.e�H�-�C	H�+H���H�\$HH���H���	e�H�+H���H�\$HH���H����d�H�+H��(H�\$HH��(H����d�H�+��p��p��q��q��t��t��x��x��|��|H��H�\$PH�� _^]���������������@SH�� H�;�
H��H���t
���WH��H�� [������@USVWATAUAVAWH��$���H��H���1H3�H���M��M��H��L��H�U�E3�D�l$DL�	M��I��A�Q8��uL�.L�nL�n�I���I+��H�9��8��8H��H��L��I��?L�I��H����2����I���I��H��`�����L�D$@�H��H�E�H��HH��H�����G@�C@�GD�CDH��`H��@�Cc�H��A	H��@H���W�3���H���I�L��`H���I��P@�I�_L�d$ L��pL��H���I����c���H���H�D$ L���L��H��I���Z���H��HH�D$ E3�D���H�-�1H�M��4��H�E�H�E�H��HH�D$ A�D���H���1H�M����H�E�H�E�A�L�e�H�E�H�D$pH�E�H�D$xH�OH�T$p衄��H�E�L�m�D�m�I�F0H�M�H�L$0H�D$(H���H�D$ L��L��H�U�I���}d��H�H�PL�(L�hH�H�_H�WA��H��t+A����CA�uH�H��A����CA�u	H�H��PH�]�H��t,A����CA�uH�H��A����CA�u
H�H��P�H�U�H��rH��H�M��e�L�l$HH�_@H�SH;St
I��H�H�C�
L�D$HH���؊�H�D$PH�SH;StH�D$PH�H�C�
L�D$PH��詊�H�D$XH�SH;StH�D$XH�H�C�
L�D$XH���z��E8�qt^H�D$`H�SH;StH�D$`H�H�C�
L�D$`H���B��H�D$h
H�SH;StH�D$hH�H�C�
L�D$hH�����E8�pt/H�D$pH�SH;StH�D$pH�H�C�
L�D$pH���ۉ���
���H���H�M�g�L�.L�nL�nD�L$@L���H�UH���t��D�d$DL�
�s�M�ĺ�H�M�Q�H��0H��rH��H����L��(�H��0D��H��H��rH��H�����L��H��D���H���H��t?L���H����S��H���H���H+�H����9�L���W����H��HH��tH��XH+�H�����H��`�{���H�����r�H��H���H3��RH��A_A^A]A\_^[]���������H�\$ UVWATAUAVAWH��$����H��`M��H��H��3��t$$W�3�H�B�]5���D$$M����~A8�p��H���HDž�Dž�BIAS@���H���H������H�}�H�E�	���
�E����
�E�@�u�A�H�U�H���nq���W��D$(H�t$8D�L$ L��H���H�L$(�R��L�t$0H�|$(I;�tQH�SH;St)H�2H�rH�GH��t�@H�H�H�GH�BH�C�L��H���T��H��I;�u�L�t$0H�|$(H��tkI;�tDH�wH��t+����F��uH�H������F��u	H�H��PH��I;�u�H�|$(3�H�T$8H+�H���H����W��D$(H�t$8L�
�*�D�B�H����N�H�U�H��rH��H�M���H�uпH�}�@�u�H���H��rH��H�����A8�q��H���HDž����
������
f���@���M��(H���H�� ���H�}�H�E����
�E����
f�E����
�E�@�u�A�H�U�H��0�ro���H�}�H�E�	�]�
�E�Z�
�E�@�u�M���H�U�H��@���H�uH�}@�uL�
0�
D��A�A��H�M�{�E��|H�UH��P�m���W��D$@H�t$PD�L$ L��`H�� H�L$@����L�t$HH�|$@I;�tOH�SH;St(H�2H�rH�GH��t�@H�H�H�GH�BLc�L��H���ڣ�I�I;�u�L�t$HH�|$@H��tnI;�tGH�wH��t/A��A����FA�uH�H��A����FA�u	H�H��PI�I;�u�H�|$@3�H�T$PH+�H���H����W��D$@H�t$PL�
n(�A�I��H�� �	L�H�UI;�rH��H�M�C�H�u�H�}@�uH�U�I;�rH��H�M���H�u�H�}�@�u�H�U�I;�rH��H�M���H�u�H�}�@�u�H���I;�rH��H�������A�H�}XH�EP�c�
�E@�]�
f�ED�U�
�EF@�uGM��PH�U@H�M`����W��D$XH�t$hD�L$ L�EpH�U`H�L$X���L�t$`H�|$XI;�tOH�SH;St(H�2H�rH�GH��t�@H�H�H�GH�BLc�L��H����I�I;�u�L�t$`H�|$XH��tnI;�tGH�wH��t/A��A����FA�uH�H��A����FA�u	H�H��PI�I;�u�H�|$X3�H�T$hH+�H���H����W��D$XH�t$hL�
�&�A�I��H�M`�+J�H�UXI;�rH��H�M@�e�A�L���HDž�	�5�
����/�
���@���E��tH���H�Mp�3j���W��D$pH�u�D�L$ L���H�UpH�L$p�{��L�t$xH�|$pI;�tOH�SH;St(H�2H�rH�GH��t�@H�H�H�GH�BLc�L��H���~��I�I;�u�L�t$xH�|$pH��tpI;�tKH�wH��t/A��A����FA�uH�H��A����FA�u	H�H��PI�I;�u�H�|$p3�D�nH�U�H+�H���H���$�W��D$pH�u�L�
%�A�I��H�Mp�H�H���I;�rH��H�����
�L�m8L�m0���
�E ��
�E(�y�
f�E,�q�
�E.@�u/E��xH�U H����h���W��E�H�u�D�L$ L���H���H�M����L�u�H�}�I;�tMH�SH;St(H�2H�rH�GH��t�@H�H�H�GH�BLc�L��H�����I�I;�u�L�u�H�}�H��tjI;�tFH�wH��t/A��A����FA�uH�H��A����FA�u	H�H��PI�I;�u�H�}�3�H�U�H+�H���H����W��E�H�u�L�
�#�A�I��H����6G�H�U8I;�rH��H�M �p�H��H��$�H��`A_A^A]A\_^]���@SH�� H�����H��H�� [����������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�]5���	H���P5���H���36���	H���&6������K�C �C$H��H�� [��������������@USVWATAVAWH�l$�H���H�J�1H3�H�EM��H��H�U��d$0W�3�H�B���D$0H�L�xI����xDH�pH�t$ A�D��L�%��1I��H�L$8輿��H�|$8��H�t$ E3�D��I��H�L$8蘿��H�|$8@��H�t$ A�D��I��H�L$8�q���H�|$8��I��H�M��S�H�F2	H�E�H�D$8H�E�H�D$ E3�D�EI��H�M��%���H�E�H�D$@H�E�H�D$ A�D�EI��H�M����H�E�H�D$HH�D$8H�E�H�E�H�E�I�OH�U��u��H��@@���3H�M�H��tH�U�H+�H����#
�H��H�MH3���FH���A_A^A\_^[]���@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P	�-3���	H���4���K H�ÃK$��K�KH�� [�����@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P��2���H���3���K H�ÃK$��K�KH�� [�����L��I�[I�KUVWAVAWH��@I��H��E3�E�{�L�9L�yL�yL�yL�y L�y(L�y0L�y8�A@$tII��L�qHD�yPD�yXL�y`L�yhL�ypL�yxfD���L���A�G���ǁ�D���L���Hǁ�D���D����D$ I�K��H�H�PL�8L�xH�H�_H�WH��t+A����CA�uH�H��A����CA�u	H�H��PH�\$0H��t+A����CA�uH�H��A����CA�u	H�H��PL�D$xH��H�O�f���G@$tIL�wHD�PD���H��H��$�H��@A_A^_^]�����H��H�XH�hH�p H�HWH�� H��H��`�CH��H�D$0H��t4W���G�GH�s�
H�H��H�O�tn��H���	H�G�3�W�H�GH�H�~H��H�\$8H�l$@H�t$HH�� _�������������@SH�� H��
H��H���t
�`�BH��H�� [������@USVWATAUAVAWH��$����H��H���1H3�H���M��M��H��H��H�U�E3�D�d$tL�	M��I��A�Q8��uL�'L�gL�g�jH�M��H���H��PHA�E��I��H�� �����W�3���H���H�M��H���H��P@�H�^M�NL�|$ L��H���H���P���H���H�D$ L���L��H���H���F���L��0H�E�L�e�D�e�M�N0D�d$`D�d$XD�l$PD�d$HD�d$@H�E�H�D$8H���H�D$0H���H�D$(H�\$ L���I��H���5L���H�U�H��rH��H�M��n�D�d$xD�l$|I�O@H�QH;QtH�D$xH�H�A�
L�D$x��w���p��`H�� H�M��U�L�'L�gL�gD�L$pL�ExH�U�H���b��D�l$tL�
�a�M�ź�H�M��?�H���H��rH��H������L����H���D���H���H��rH��H�����L���H���D���H���H��t?L���H����X��H���H���H+�H����>�L���W����H�� �a�H��H���H3���@H��A_A^A]A\_^[]�����������@USWH��H��`I��H��H�U��e�W�3�H�B�#��A�D�U�2�E��L��H��I;�tL9A��
�L�H�� I;�u��teH�E�H�E�
�Z�
�EȋW�
�EЊR�
�E��E�E��H�U�H�M��]��H��H������H�U�H��rH��H�M��%�H��H��`_[]����������̃zu
A�xxu��2���������������@SH��0���
H���D$ ���H��H��0[������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P��+���	H����+���H����+���H���,���	H���,���H���,���K H�ÃK$�H�� [���������L��I�[I�KUVWAVAWH��@I��H��E3�E�{�L�9L�yL�yL�yL�y L�y(L�y0L�y8�A@$tII��L�qHD�yPD�yXL�y`L�yhL�ypL�yxfD���L���A�G���ǁ�D���L���Hǁ�D���D����D$ I�K��H�H�PL�8L�xH�H�_H�WH��t+A����CA�uH�H��A����CA�u	H�H��PH�\$0H��t+A����CA�uH�H��A����CA�u	H�H��PL�D$xH��H�O�_���G@$tIL�wHD�PD���H��H��$�H��@A_A^_^]�����H�\$WH�� H��H���g��H�l�	H���P��P��T��T��XH�\$0��XH�� _���H�\$H�t$H�L$WH�� H��H���p�;H��H�D$0H��t)W���C�CH�W�
H�H�KH���X����3�W�H�CH�H�_H��H�\$8H�t$@H�� _�@SH�� H��
H��H���t
�p�~;H��H�� [������@USVWATAVAWH��$p���H��H�G�1H3�H���I��I��L��H��H�U�E3�D�|$tH�H�U��PH)�PH)�`@ )�pH0)��@@)���HP���E�gE��H��H��������H�L��H���H��PP�W�3���H���(�P)E�(�`)M�(�p)E�(��)M�(��)E�����M�H�L�M�L��H���H��P@�L�OH�\$ L���H��H���gH���H��H�D$ L���L���H��(H���>���A�_H�]�L�}�D�|$xL�O0D�|$`D�|$XD�d$PD�|$HD�|$@H�D$xH�D$8H��H�D$0H��(H�D$(H���H�D$ L��PH���H���zD���H�U�H��r
H��H�L$x��������H���H�M�N�M�>M�~M�~D�L$pL���H�UI���n[��D�d$tL�
BZ�M�ĺ�H�M�8�H��@H��rH��H��(�4��L��8H��@D��(H�� H��rH��H�����L��H�� D��H���H��t?L���H����ό�H���H���H+�H�����L���W����H��H��rH��H�����L���H��D���H����FY�I��H���H3��49H�ĐA_A^A\_^[]���H�\$ UVWAVAWH�l$�H���I��H��H�U�E3�D�|$$W�3�H�B�����D$$A�H�}�H�E���
�E���
f�E���
�E�D�}���XH�U�H�M��W�����PH�M���\���L��pH��H�M���L�}�H�}�D�}�L�
��
E�ǍWH�M��`��D��TH�U�H�M��W���W��D$(L�}�D�L$ L�E/H�U�H�L$(����L�u�H�\$(I;�tPH�VH;Vt)L�:L�zH�CH��t�@H�H�H�CH�BH�F�L��H���Ɍ�H��I;�u�L�u�H�\$(H��tlI;�tGH�{H��t+����G��uH�H������G��u	H�H��PH��I;�u�H�\$(�H�U�H+�H���H���s��W��D$(L�}�L�
_�D�B�H�M��4�H�U�H��rH��H�M��6��L�}�H�}�D�}�H�U�H��rH��H�M����L�}�H�}�D�}�H�U�H��rH��H�M����H��H��$(H���A_A^_^]���������H�\$H�t$ UWATAVAWH�l$�H��H�c�1H3�H�E/I��H��E3�L�:L�zL�zL�zL�z L�z(D�z0D�z4L�z8L�z@L�zHL�zPW��M�L�}L�E�A�WH�M����H����x@���G0H��D��DE�gH�t$ E�OE��H���1H�M�蟭��H�E�H�E�D9�Pu&H�t$ E�OE��H�k�1H�M��r���H�E�H�E��L�e�H�E�H�E�H�E�L�e�H�E�H�U�H�M��d��W�3�EH�E'�E�L�}�L�u�H�uL;�tgI+�H��H��H��������H;���H��H��r
H������H��t
H����3�I��H�E�H�E�H�H�]�L��I��H��� H�]�H�U�H�M��N��I�H�I�FH�GI�FH�GH�MH�H�GH�AH�G H�AH�G(H�U'H+�H�����W��EL�}'H�UI+�H��I����H��H�M/H3��4L��$�I�[0I�sHI��A_A^A\_]���������������@SH�� A��PH��H�QH��L���
tL�е
���H��H�� [�����������@SH��0��
H���D$ �t���H��H��0[������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�= ���	H���0 ���H���!���	H���!���K 3҃K$H�˃� ���H��� ��H���� ��H��H�� [����@USVWAUAVAWH��$0���H���I��H��H�UE3�D�|$$W�3�H�BA)EpAI)��AA )��AI0)��AA@)���AIP���L�Mp����D$$E�oL�m�E�w	L�u��i�
�E�f�
�E�D�}�L�C8H�U�H�M�c���L�m�A�H�}��>�
f�E��6�
�E�D�}�L�CH�U�H�M �pc���L�m�H�}���
f�E���
�E�D�}�L�H�U�H�M0�?c���L�l$XL�l$P��
�D$@��
�D$H�ٳ
f�D$L�г
�D$ND�|$OL�CHH�T$@H�M@��b���L�l$xH�D$p
���
�D$`���
�D$h���
�D$lD�|$mL�CPH�T$`H�MP�b���L�m�L�u��֟
�E��ӟ
�E�D�}�L�C@H�U�H�M`�sb���W��D$(L�|$8D�L$ L�EpH�UH�L$(����L�t$0H�\$(I;�tQH�VH;Vt)L�:L�zH�CH��t�@H�H�H�CH�BH�F�L��H�����H��I;�u�L�t$0H�\$(H��tiI;�tBH�{H��t+����G��uH�H������G��u	H�H��PH��I;�u�H�\$(H�T$8H+�H���H�����W��D$(L�|$8L�
�
�D�B�H�M�%.�H�U�H��rH��H�M��^��L�}�L�m�D�}�H�T$xH��r
H��H�L$`�:��L�|$pL�l$xD�|$`H�T$XH��r
H��H�L$@���L�|$PL�l$XD�|$@H�U�H��rH��H�M�����L�}�L�m�D�}�H�U�H��rH��H�M�����L�}�L�m�D�}�H�U�H��rH��H�M����H��H���A_A^A]_^[]������@SH��0�ʟ
H���D$ ���H��H��0[������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P����	H������H���c���	H���V���K ��K$H�˃����3�H������H�����H��H�� [����H��H�XH�pH�x UATAUAVAWH�h�H��I���3�M��H�:H��H�zH�zD�qD�wD�a@L�iA��H�zH�z ��H�z(E3ɉz4A9�PE��H�z8H�z@H�zHH�zP�B0H�Ƕ1D�uoL�l$ uvH�M��å��D��L�l$ E��H���1H�M�訥��L�u�D�OL�u�D�EoH���1H�M�L�sPL�l$ �~���D�EoD�OH�_�1L�l$ H�M��a���H�E�H�E��wH�M��M���D��L�l$ E��H�+�1H�M��2���A�L�l$ E��H�
�1H�M����L�u�H���1L�u�D�EoH�ML�uA�L�l$ L�sP���H�EA��H�CHH�CI�GH@��H�3H�sH�sH�OH�s H��I�O@H;�H�s(HB�L�s8I�� wI;�sH�6H;�wH�CH��I����H�CPL��$�I�{H3�H��H�3H��I�s@H�S@I�[0I��A_A^A]A\]���������������@SH��0�^�
H���D$ ��H��H��0[������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P����	H������H������	H���v���K ��K$H�˃���H��H�� [������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�-���	H��� ���H������	H������K 3҃K$H�˃���H��H�� [���������@SH��0�.�
H���D$ ��H��H��0[������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�}���H���p���H���c���H���V���H���9���H���,���H������H������K H�ÃK$�H�� [���������������L��I�[I�KUVWAVAWH��@I��H��E3�E�{�L�9L�yL�yL�yL�y L�y(L�y0L�y8�A@$tII��L�qHD�yPD�yXL�y`L�yhL�ypL�yxfD���L���A�G���ǁ�D���L���Hǁ�D���D����D$ I�K���H�H�PL�8L�xH�H�_H�WH��t+A����CA�uH�H��A����CA�u	H�H��PH�\$0H��t+A����CA�uH�H��A����CA�u	H�H��PL�D$xH��H�O�K���G@$tIL�wHD�PD���H��H��$�H��@A_A^_^]�����H�\$WH��0H��H�L$ �3�H�H�OH�H�PH�WH�H�HH�\$(H��t+����C��uH�H������C��u	H�H��PH�\$@H��H��0_������������H�\$WH�� H��H��H�L$0�R���H���	H�H��PH��P��4�H�\$8H�� _�������������H�\$ WH��0I��H��H�L$ H���	H�H��H�aH�a��H���
H�H�K(H���4�H�\$XH��0_������������H�\$H�t$H�L$WH�� H��H���x�L&H��H�D$0H��t)W���C�CH�ǩ
H�H�KH������3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H���P��%H��H�D$0H��t,W���C�CH��
H�H�KL��H������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$ UVWAVAWH�l$�H��`H�y�1H3�H�EPI��I��L��H��H�L$ D���3�A��H�L$P�0�H�L$P�1��H��H�L$`�`�H��H�rH�L�GH���c�H��H�p�	�`�3�I�NI�H��H+�H�to�zH�L$(����H�T$(H�|$@HCT$(L�D$8H�L$`�Dc�H��H���5`�H�T$@H��r
H��H�L$(����H��I�NI�H��H+�H�H;�r�H+�H�H;�s%H+�A��H�L$`��k�H��H�����_�H��u�H���	H�L$`��_�H��H�L$h�O�H�M��<��H��^H�E�H�M��'�H��H�MPH3��'%H��$�H��`A_A^_^]�@SH�� H��H�I(H��t!H�S8H+�H�H����H�c(H�c0H�c8H�f�	H�H�S H��rH�KH������H�cH�C �CH�� [�������H�\$WH�� ��H���|�����t
�@H���Z#H�\$0H��H�� _�������������@SH�� H���
H��H���t
�x�#H��H�� [������@SH�� H�;�
H��H���t
�P��"H��H�� [������H�\$H�t$ UWATAVAWH�l$�H��@L��H��H�U�E3�D�|$4W�3�H�BH�qL��	H��H�M �]��H��H�S0H+S(H�H�L$X�}�W�fE�)M�G)E�L�E�gL�gD�?D$X)E�L$h)M�L�|$hL�d$pD�|$XL�d$PH�D$H�	:
�D$8�:
f�D$<D�|$>�D$4L�K0L+K(I�D�|$(�D$ L�D$8H�S(H�L$x�1���H��W�fE�H��H�M����W�fE)MC)EL�{L�cD�;M�>M�~M�~D�L$0L�E H�U�I�����D�d$4L�
��A�W@E�GH�M��K �H�U�H��r
H��H�L$x���L�}�L�e�D�|$xH�T$PH��r
H��H�L$8�^��L�|$HL�d$PD�|$8H�U8H��rH��H�M �9��I��L��$@I�[@I�sHI��A_A^A\_]�����������@USWH��H��`I��H��H�U��e�W�3�H�B�����E�H�E�H�E�
���
�Eȋ��
�EЊ��
�E��E�L��PH�U�H�M��x���H��H�����H�U�H��rH��H�M��v��H��H��`_[]������������@USVWATAUAVAWH��$����H��H���1H3�H���I��M��H��L��H�U��d$DA�I��H�� �i����H�� M�gL�OH�\$ M��H���I����-���W�3���H���L��H���I������H���H�D$ L���M��H��I���V$���H���L��03�H���W����H!��H�xH�XH���H;�t8H;��tH�H�H��H����L��H�����U�H���H�� ��H��H���H+�H���H;�sH�{�H�|$HH+�H;��tH�:H��H����L�D$HH����pU�H���H+�u�H���H�H�D$hH�GH�D$pH�GH�GH�D$xH�D$hH�E�H�E�H�E�H�U�I�N��M��I�VH�M��SL�H��H�L$P�69��I�N(H���Z��H�L$PH��tH�T$`H+�H���?��H�E�H�e��E�I�E0H�M�H�L$0H�D$(H���H�D$ L��M��H�U�I���z-��H�H�PE3�L� L�`I�I�^I�VA��H��t2A����CA�uH�H��A����CA�u	H�H��PH���H�]�H��t2A����CA�uH�H��A����CA�u	H�H��PH���H�U�H��rH��H�M��R��D�d$0D�d$(D�d$ E3�A�YD��H�T$PI���)��I�N@H��� ��H�L$PH��tH�T$`H+�H�������	��`H�� H�M��e1�L�&L�fL�fD�L$@L���H�U�H���>���\$DL�
�=�L�ú�H�M��U�H���H+�H��H�����H��H��rH��H���q��L���H��D��H���H��t?L���H����8p�H���H���H+�H������L���W����H���H��rH��H�������L���H���D���H�� �<�H��H���H3��H��A_A^A]A\_^[]����������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�����	H������H������H������H������H���|	���	H���o	���H���b	���H���U	���H���H	������C �C$H��H�� [����L��I�[I�KUVWAVAWH��@I��H��E3�E�{�L�9L�yL�yL�yL�y L�y(L�y0L�y8�A@$tII��L�qHD�yPD�yXL�y`L�yhL�ypL�yxfD���L���A�G���ǁ�D���L���Hǁ�D���D����D$ I�K��H�H�PL�8L�xH�H�_H�WH��t+A����CA�uH�H��A����CA�u	H�H��PH�\$0H��t+A����CA�uH�H��A����CA�u	H�H��PL�D$xH��H�O�Q<���G@$tIL�wHD�PD���H��H��$�H��@A_A^_^]�����H�\$H�t$H�L$WH�� H��H�����H��H�D$0H��t)W���C�CH��
H�H�KH���(�3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H�\$WH�� H��H����C��H���	H���P��P��T��T��X��X��\��\��d��d��h��h��p��p��t��t��|H�\$0��|H��H�� _������������@SH�� H���
H��H���t
����H��H�� [������@USVWATAUAVAWH��$���H��(H���1H3�H��M��M��H��H��H�U�E3�D�d$tL�	M��I��A�Q8��uL�'L�gL�g�H�M��H��H��PHA�E��I��H��@����W�3���H���(�)E�(�)M�(� )E�(�0)M�H�L�M�M��H���H��P@�H�^M�NL�|$ L��H���H���$���H���H�D$ L���L��H���H������L��PH�E�L�e�D�e�M�N0D�d$`D�d$XD�l$PD�d$HD�d$@H�E�H�D$8H���H�D$0H���H�D$(H�\$ L��I��H���!���H�U�H��rH��H�M��N��A��Pu1D�d$xD�l$|I�O@H�QH;QtH�D$xH�H�A�
L�D$x�L�������H��@H�M��s*�L�'L�gL�gD�L$pL���H�U�H����7��D�l$tL�
�6�M�ź�H�M��b�H���H��rH��H������L����H���D���H���H��rH��H����_��L���H���D���H���H��t?L���H����+i�H���H���H+�H������L���W����H��@��5�H��H��H3��H��(A_A^A]A\_^[]��������������@USVWATAVAWH��$P���H��M��I��H��H�U@E3�D�d$$W�3�H�B�`���E�t$D�t$$A�|$H�}�H�E��E�POOLD�e�L��\H�U�H�M`����H�|$xH�D$p��#
�D$`��#
f�D$dD�d$fL��hH�T$`H�Mp����H�|$XH�D$P��#
�D$@��#
f�D$D��#
�D$FD�d$GL��tH�T$@H����k�����PH�M �K:���L��
H��H�M����E��H��H�����1�����XH�M��5���L�$�
H��H�M����E��H��H����1���W��D$(L�d$8D�L$ L���H�U`H�L$(贵�L�t$0H�\$(I;�tQH�VH;Vt)L�"L�bH�CH��t�@H�H�H�CH�BH�F�L��H���h�H��I;�u�L�t$0H�\$(H��tnI;�tGH�{H��t+����G��uH�H������G��u	H�H��PH��I;�u�H�\$(�H�T$8H+�H���H���^��W��D$(L�d$8L�
I��D�B�H�M`���H�U�H��rH��H�M�� ��L�e�H�}�D�e�H�U�H��rH��H�M����L�e�H�}�D�e�H�UH��rH��H�M����L�eH�}D�eH�U8H��rH��H�M ���L�e0H�}8D�e H�T$XH��r
H��H�L$@���L�d$PH�|$XD�d$@H�T$xH��r
H��H�L$`�o��L�d$pH�|$xD�d$`H�U�H��rH��H�M��J��E8g8tdH�}�H�E�
���
�E��}�
�E��x�
�E�D�e�A�H�U�H�MP�r/��H��H�����H�U�H��rH��H�M�����H��H�İA_A^A\_^[]������������H��H�XH�pH�xUATAUAVAWH�h�H��3�H��9�t�D9�x�89�|�,H���L�%�1E3�H�M�I��D�pDH�pE��H�t$ �׈��D��\L9m���D�OH�t$ E��H�M�I��讈��D��`L9}���D�OH�t$ E��H�M�I��腈��D��dL9e���E3�H�t$ E��H�R�1H�M��Y���D�OH�t$ E��H�6�1H�M��=���D�OH�t$ E��H��1H�M�!���H�E�3ҋ�hI+�H��H��u*H�E���lI+�H��H��uH�E��pI+�H��H��t@�@����L��$�I�[0I�s8I�{@I��A_A^A]A\]������H�\$H�L$UVWATAUAVAWH��H��p3�I��B0H��H�H�BH�BH�BH�B H�B(�B4I����x@���B0E��DA�����D����M��A�L�=�1L�d$ I��H�M�E������A�L�d$ E��H�M�I�����H�E�H�M�H�E�E3�L�d$ H�GI��D��D�Ԇ��H�E�A� H�ȃ�tH+�I�H�H�M�DA�E��L�d$ D��I��薆��E�NL�d$ D��H�M�I���~���H�E�H�E�L�oH�G��I��A�L�=D�1H�\$ I��H�M�E���@���A�H�\$ E��H�M�I���&���L�e�H�M�L�e�E3�H�\$ L�'I��D��D���H�E�H�M�H�GA�D��DE��I��H�\$ �օ��H�E�E�nH�GM;�H�EHL�uHHC�H�I��I;�IG�3�H��H�OH��tI+�3�I��H��H��u�H�OH�M@H��L�w L�w(�(���H��$��G8H��H��pA_A^A]A\_^]����������̃z	u
A�xx	u��2���������������@SH��0�Nx
H���D$ ��H��H��0[������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P����	H������H���s����	H���f�����	C 3�	C$H�������H�������H����3�H�������H������H������H������H���v����H��H�� [�����������@SH��`AI3�H��W�H�BA)L$0AI0)D$ AA L�L$ )L$P)D$@���H��H��`[��@SH��0�z|
H���D$ �$�H��H��0[������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�=����	H���0����H�������	H�������K 3҃K$H�˃����H�����3�H���z����H���m����H���@���H��H�� [��������H�\$H�t$WH��pI��H���&���H��A���DH���1D��H�|$ H�L$P誂��A�H�|$ D��H���1H�L$0苂��H�D$0L�\$pI�[H��H��H�D$PH�FH��I�sI��_����������������H�\$WH��PH��H�������tEL���H��1A�H�L$0I�@E�@DH�D$ �����D$0uH��H�������u��2�H�\$`H��P_������@USWH�l$�H��I��H��H�U7�e�W�3�H�BA)E�AI)M�AA )EAI0)ML�M��:��E�H�E�H�E��c�
�E�`�
�E��E�D��lA��D��`A��H�U�H�M'��'��H��H���,��H�U�H��rH��H�M����H��H�Đ_[]��������@SH��0�nr
H���D$ �T�H��H��0[������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�m����	H���`����H���C����	H���6����K 3҃K$H�˃����H�������H������3�H������H������H���c����H��H�� [��������H�\$WH��PI��H���K���D��DH��A�H�D$ H�ː1H�L$0������`3�H�D$0H�\$`H��H�H��H�GH��H��P_����������H�\$WH�� H��H���;�����t%H��H���,�����u��\w
��`w��2�H�\$0H�� _������@SH��PH������t6H���H� �1A�D�ADH�AH�L$0H�D$ ����D$0u��2�H��P[�@SH��0�bs
H���D$ �T�H��H��0[������������H�\$WH�� 3�H��H�H�ˉBH�B�xH�B�zH�B H�B(���k��H���Q��	C 3�	C$H�����H�����3�H������H�����H����WH����WH���{�	;H��H�\$0H�� _������������H�\$H�t$WH��pI��H���V���D��DH��E3�H�|$ H�َ1H�L$0��}��H�D$0H�Î1H�H�L$0D��DA�H�|$ �}��H�D$0H���1H�FH�L$0��DA�D��H�|$ �}��A�H�|$ D��H�a�1H�L$P�g}��H�D$0L�\$pI�[H��H��H�D$PH�FH��H��H�FH��H�F H�F(I�sI��_������������H�\$VH�� 3�H��H�H�ˉBH�B�pH�B�rH�B H�B(����VH�����H����VH���{�K 3҃K$H�˃�&��H����3�H������H������H����VH����VH����	3H��H�\$0H�� ^���������@USVWATAUAVAWH�l$�H��I��H��H�U�eW�3�H�BA)E�AI)M�AA )E�AI0)M�L�M���A�D�}H����xDH�XH�\$ E3�D��L�-��1I��H�M��{��L�u�Lu�Lu�I��H�\$ E��D��I��H�M��{��L�}�L}�L}�M��H�\$ A�D��I��H�M��j{��L�e�I��I��M��H�\$ E3�D��I��H�M��C{��H�\$ A�D��I��H�M��){��H�]�I��H�E�H��H�H�E�H�E�
�~l
�E��zl
f�E�3�@�}�A��H�U�H�M��54��H��H���ʶ�H�U�D�oI;�rH��H�M�� ��H�E�H�E�
�(l
�E��$l
f�E�@�}�M��H�U�H�M���3��H��H���i��H�U�I;�rH��H�M�����H�}�A�L�u�@�}�L�
�k
D��I��H�M����M��H�U�H�M��z3��H��H�����H�U�I;�rH��H�M��i��H�}�L�u�@�}�L�
�k
D��I��H�M��7��M��H�U�H�M��&3��H��H��軵�H�U�I;�rH��H�M����L�u�H�E�	�ak
�E��^k
�E�@�}�L��H�U�H�M���2��H��H���d��H�U�I;�rH��H�M����H��H�ĨA_A^A]A\_^[]��������@SH��0�Jl
H���D$ ��H��H��0[������������H�\$WH�� 3�H��H�H�ˉBH�B�xH�B�zH�B H�B(������H������@	C 3�	C$H���)���H����3�H������H�������H�����WH�����WH����	;H��H�\$0H�� _������������H�\$H�t$WH��pI��H����D��DH��E3�H�|$ H�	�1H�L$0�x��H�D$0H��1H�H�L$0D��DA�H�|$ ��w��H�D$0H�Ȉ1H�FH�L$0��DA�D��H�|$ �w��A�H�|$ D��H���1H�L$P�w��H�L$0L�\$pH�D$PH��I�[H��H��H��H��H�FH��H��H��H�NH�F H�F(I�sI��_�@USWH�l$�H��I��H��H�U7�e�W�3�H�BA)E�AI)M�AA )EAI0)ML�M����E�H���D�@DH��H�D$ E3�H���1H�M��v��H�]�H]�H]�H��H�E�H�E�
�h
�E��h
f�E��E�A�H�U�H�M'��/��H��H���b��H�U�H��rH��H�M���H�E�H�E�
��g
�E���g
f�E��E�L��H�U�H�M'�o/��H��H�����H�U�H��rH��H�M��]��H��H�Ġ_[]����������������H�\$VH�� 3�H��H�H�ˉBH�B�pH�B�rH�B H�B(���k��VH���`���H���F��VH���;��k 3ҁK$�H�˃�����H�����3�H������H������H���z��VH���o��VH���d�	3H��H�\$0H�� ^�����H�\$H�t$H�|$AVH��pI��H���@�D��DH��E3�H�|$ H�Å1H�L$0��t��H�D$0H���1H�H�L$0D��DA�E��H�|$ �t��H�D$0E�NH�FH�w�1��DH�L$0D��H�|$ �ot��E�NH�|$ D��H�L�1H�L$P�Rt��H�D$0L�\$pH�D$PI�[I�{ H��H�FH��L�vL�v L�v(I�sI��A^����������@USVWATAUAVAWH�l$�H��M��H��H�U�eW�3�H�BA)E�AI)M�AA )E�AI0)M�L�M��a�A�D�}I����xDH�XH�\$ E3�D��L�%w�1I��H�M��{s��L�u�Lu�Lu�I��H�\$ E��D��I��H�M��Ts��L�}�L}�L}�M��H�\$ A�D��I��H�M��*s��L�e�I��I��M��H�\$ E3�D��H���1H�M��r��H�\$ A�D��H�ڃ1H�M���r��H�]�I��H�E�H��H�H�E�H�E�
�6d
�E��2d
f�E�3�@�}�A��H�U�H�M���+��H��H��肮�H�U�H��rH��H�M��۽�H�E�H�E�
��c
�E���c
f�E�@�}�M��H�U�H�M��+��H��H���$��H�U�A�I;�rH��H�M��x��H�}�H�E�@�}�L�
�c
D��I��H�M��B��M��H�U�H�M��1+��H��H���ƭ�H�U�I;�rH��H�M�� ��H�}�A�L�}�@�}�L�
Oc
D��I��H�M����M��H�U�H�M���*��H��H���l��H�U�I;�rH��H�M��Ƽ�L�}�H�E�	�c
�E��c
�E�@�}�L��H�U�H�M��*��H��H�����H�U�I;�rH��H�M��o��L�}�H�E���{
�E��{
�E���{
f�E�@�}�I���L��H�U�H�M��*��H��H��諬�H�U�I;�rH��H�M����H��H�ĨA_A^A]A\_^[]���������������H�\$WH�� 3�H��H�H�ˉBH�B�xH�B�zH�B H�B(������H�������@	C 3�	C$H����3�H���o���H���e���H���;��WH���0��WH���%�	;H��H�\$0H�� _������H�t$H�|$AVH��pI��L����D��DH��E3�H�|$ H���1H�L$0�o��H�D$0H�r�1I�H�L$0D��DA�H�|$ �co��H�D$0H�G�1I�FH�L$0D��DA�H�|$ �7o��D��DH��1A�H�|$ H�L$P�o��H�L$0H�D$PH��H��H��H��H��I�FH��H��I�NH��I�F �"H��L�\$pI�sI�{I�F(I��I��A^�����H��XH���A�H�L$0D�BDH�BH�{1H�D$ �n���D$0$��H�H��H��H��X����������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P���H�������	C 3�	C$H�����H���{�3�H���Q��H���D��H�����H���
��H����H��H�� [�����H�\$H�t$WH��pI��H�����D��DH��E3�H�|$ H�i~1H�L$0�om��H�D$0H�S~1H�H�L$0D��DA�H�|$ �Dm��H�D$0H�(~1H�FH�L$0��DA�D��H�|$ �m��A�H�|$ D��H��}1H�L$P�l��H�D$0L�\$pI�[H��H��H�D$PH�FH��H��H�FH��H�F H�F(I�sI��_�������������@SH���H���1H3�H��$�H���-���tMH��H�L$P���D��$�H��$XA�H�D$ H�:}1H�L$0�@l���D$@H�L$P�����H��$�H3��l�H���[����@USVWAVAWH�l$�H��xH��1H3�H�E`I��I��L��H��H�T$x�d$pI���H�M�'�L�=��L�}H��H�M���L�}�W�3�AI�F)E�K)M�C )E�K0)M�L�M�L��I��H������D$p��hHk���\HؾH�t$HD�~�L�|$@H�IC_BLOCKH�D$0�D$8�~D��H�T$0H�L$P�s$��H��I�����H�T$HH;�r
H��H�L$0�`��H�t$HH�D$@�Bj
�D$0�>j
�D$8�D$<M��H�T$0H�L$P�$��H��I��訦�H�T$HH;�r
H��H�L$0���H�t$HH�t$@��j
�D$0��j
�D$8��j
f�D$<��j
�D$>�D$?L��H�T$0H�L$P�#��H��I���6��H�T$HH;�r
H��H�L$0莵�H�t$HH�D$@��a
�D$0��a
�D$8�}a
f�D$<�D$>L��H�T$0H�L$P�5#��H��I���ʥ�H�T$HH;�r
H��H�L$0�"��H�t$hL�|$`H�X_BLOCKSH�D$P�D$XH�E�H�D$ E3�D�EH�mz1H�M��ti��L�E�I��I��H�T$PH�L$0�"��H��I���N��H�T$hH;�rH��H�L$P覴�H�M�H��tH�U�H+�H���茴�H�MH��tH�U(H+�H����r��I��H�M`H3��C�H��xA_A^_^[]����L��I�[I�kI�sWH��PI��I��I��I�C�E��DH��H��H��y1A�I�K��h��H�|$0L��L��H��H��u
��\
��*a
�D$ ����H�l$hH��H�\$`H�t$pH��P_����������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�����H������K @3҃K$@H�˃�k���H���^��3�H���4���H���'���H������H�������H�������H��H�� [�����H�\$H�t$WH��I��H������H��E3ɋ�DH�Lx1D��H�|$ H�L$0�Jg��A�H�|$ D��H�%x1H�L$P�+g��A�H�|$ D��H�x1H�L$p�g��A�H�|$ D��H��w1H��$���f��H�D$0H��H��H�D$PH�H�D$pH�ȃ�tH+�H��H�FL��$�H��$�I�[H�FH��H�FH�F H�F(�F4��V4I�sI��_����������@SH��PH������t5D��DH��A�H�D$ H�.w1H�L$0�4f���D$0u��2�H��P[��@SH��0�>Y
H���D$ �4�H��H��0[������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P����	H������	H���c���H���V���K H�ÃK$�H�� [���L��I�[I�KUVWAVAWH��@I��H��E3�E�{�L�9L�yL�yL�yL�y L�y(L�y0L�y8�A@$tII��L�qHD�yPD�yXL�y`L�yhL�ypL�yxfD���L���A�G���ǁ�D���L���Hǁ�D���D����D$ I�K��H�H�PL�8L�xH�H�_H�WH��t+A����CA�uH�H��A����CA�u	H�H��PH�\$0H��t+A����CA�uH�H��A����CA�u	H�H��PL�D$xH��H�O�a���G@$tIL�wHD�PD���H��H��$�H��@A_A^_^]�����H�\$H�t$H�L$WH�� H��H���x���H��H�D$0H��t)W���C�CH�o
H�H�KH���(�3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H�\$WH�� H��H������H���	H���P��P��T��T��X��X��\��\��`H�\$0��`H��H�� _��������@SH�� H�[n
H��H���t
�x��H��H�� [������H�\$ UVWAVAWH�l$�H��@I��H��H�U�E3�D�|$$W�3�H�B����D$$A�H�}�H�E���m
�E���m
f�E�D�}�D��PH�U�H�M������H�|$XH�D$P�lm
�D$@�em
f�D$D�\m
�D$FD�|$GD��TH�T$@H�M����H�}�H�E��,m
f�E��$m
�E�D�}�D��XH�U�H�M�o���H�}�H�E�
��l
�E���l
f�E�D�}�D��`H�U�H�M �	���H�|$xH�D$p	��l
�D$`��l
�D$hD�|$iD��\H�T$`H�M0�����W��D$(L�|$8D�L$ L�E@H�U�H�L$(�;��L�t$0H�\$(I;�tQH�VH;Vt)L�:L�zH�CH��t�@H�H�H�CH�BH�F�L��H���=>�H��I;�u�L�t$0H�\$(H��tnI;�tGH�{H��t+����G��uH�H������G��u	H�H��PH��I;�u�H�\$(�H�T$8H+�H���H�����W��D$(L�|$8L�
���D�B�H�M��n��H�T$xH��r
H��H�L$`襫�L�|$pH�|$xD�|$`H�U�H��rH��H�M�耫�L�}�H�}�D�}�H�U�H��rH��H�M��^��L�}�H�}�D�}�H�T$XH��r
H��H�L$@�:��L�|$PH�|$XD�|$@H�U�H��rH��H�M����H��H��$�H��@A_A^_^]������������@USVWATAUAVAWH��$���H���H��v1H3�H���I��I��L��L��H�U�E3�D�d$tI��H����E�l$E��H��H������W�3�EpH���I�L��H�UpI��P@�I�^L�NH�|$ L��H���I���D�H���H�D$ L�MpL��H���I������A�|$H�}�L�e�D�d$xL�N0D�d$`D�d$XD�l$PD�d$HD�d$@H�D$xH�D$8H���H�D$0H���H�D$(H�\$ L���H��I���d�H�U�H��r
H��H�L$x蜩��PQ
��@H��H�M���M�'M�gM�gD�L$pL�EhH�U�I���[��D�l$tL�
/�M�ź�H�M�����H���H��rH��H����!��L���H���D���H���H��rH��H������L���H���D���H�MpH��t0L�EpH�Ux��8�H���H�MpH+�H���讨�L�epW��ExH���v�I��H���H3��d�H���A_A^A]A\_^[]�����������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P����	H������H���c���	H���V������C �C$H��H�� [��H�\$H�t$ UWAVH�l$�H��H��s1H3�H�E?H��H�!H�aH�aH�aH�a H�a(�A0�a4H����x@���A0H���3�H�MW��MH!MD�pDH�XH�\$ H�5�l1H��A��uAE3�E��H�M���[��H�\$ A�^�D��E��H��H�M��[��H�E�H�E�H�E�H�]�H�]��zA�E��H�M��[��H�\$ A�E��H��H�M��|[��H�E�H�E�H�E�H�\$ E3�E��H��H�M��X[��H�E�H�E�H�\$ A�E��H��H�M��6[��H�E�H�E�H�E�H�E�H�E�H�E�H�U�H�M����H�uH�H�H�FH�GH�FH�GW�3�E'H�E7�E�H!E�L�uI;�tfL+�I��H��H��������H;���H��H��r
H��膥��H��t
H�����3�H�E�H�E�H�H�]�M��H��H���v�H�]�H�U�H�M'���H�M'H�H�GH�AH�G H�AH�G(H�U7H+�H��誥�W��E'H�e7H�UH+�H��H��芥�H��H�M?H3��[�L��$�I�[0I�s8I��A^_]�����������������L��I�[I�KUVWAVAWH��@I��H��E3�E�{�L�9L�yL�yL�yL�y L�y(L�y0L�y8�A@$tII��L�qHD�yPD�yXL�y`L�yhL�ypL�yxfD���L���A�G���ǁ�D���L���Hǁ�D���D����D$ I�K�� H�H�PL�8L�xH�H�_H�WH��t+A����CA�uH�H��A����CA�u	H�H��PH�\$0H��t+A����CA�uH�H��A����CA�u	H�H��PL�D$xH��H�O����G@$tIL�wHD�PD���H��H��$�H��@A_A^_^]�����L��I�[I�KUVWAVAWH��@I��H��E3�E�{�L�9L�yL�yL�yL�y L�y(L�y0L�y8�A@$tII��L�qHD�yPD�yXL�y`L�yhL�ypL�yxfD���L���A�G���ǁ�D���L���Hǁ�D���D����D$ I�K�� H�H�PL�8L�xH�H�_H�WH��t+A����CA�uH�H��A����CA�u	H�H��PH�\$0H��t+A����CA�uH�H��A����CA�u	H�H��PL�D$xH��H�O�A���G@$tIL�wHD�PD���H��H��$�H��@A_A^_^]�����H�\$WH��0H��H�L$ ��3�H�H�OH�H�PH�WH�H�HH�\$(H��t+����C��uH�H������C��u	H�H��PH�\$@H��H��0_������������H�\$ WH��0I��H��H�L$ H�$V	H�H��H�aH�a莽�H��b
H�H�K(H���7��H�\$XH��0_������������H�\$H�t$H�L$WH�� H��H�������H��H�D$0H��t)W���C�CH��b
H�H�KH����3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H�\$H�t$H�L$WH�� H��H���x�L�H��H�D$0H��t)W���C�CH�b
H�H�KH���8�3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H���P���H��H�D$0H��t,W���C�CH�`a
H�H�KL��H���>����3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$ UVWAVAWH�l$�H��`H�yk1H3�H�EPI��I��L��H��H�L$ D���3�A��H�L$P�0��H�L$P�1I�H��H�L$`��H��H�rH�L�GH����H��H�pS	��3�I�NI�H��H+�H��H��tl��H�L$(萙���H��H�xrH�L�@H�L$`�D�H��H��C�5�H�T$@H��r
H��H�L$(�ܞ�H��I�NI�H��H+�H��H;�r�H+�H��H;�s%H+�A��H�L$`��!�H��H��C���H��u�H��R	H�L$`��H��H�L$h��H�M��:h�H��H�E�H�M��%��H��H�MPH3��%�H��$�H��`A_A^_^]���������������H�\$H�t$ H�L$WH�� H��H������H���	H���P��P��T��TH��XH��X�{��H��pH�\$8H��pH�����H�0�H�������������������������H��H�\$@H�t$HH�� _���H�\$UVWH��0H��H��H�L$(H��3	H��B�AH��H�aH�aH�����H�W0H�N0�$���H��B
H�H���H�\$ H���H������H�-��H�+H��H�\$ H��H������H�+��`��`H��H�\$`H��0_^]�����������@SH�� H�#^
H��H���t
���>�H��H�� [������@SH�� H��]
H��H���t
�x��H��H�� [������@SH�� H�s]
H��H���t
�P���H��H�� [������@USVWATAUAVAWH��$����H��H��g1H3�H���M��M��H��H��H�U�E3�D�d$tL�	M��I��A�Q8��uL�'L�gL�g��A�I��H�� �E����L�� H�M��H�U�H��PP��H��@ ��H0��H�^M�ML�|$ L��H���H���1��W�3���H���H�M��H���H��P@�H���H�D$ L���L��H���H������L��0H�E�L�e�D�e�M�N0D�d$`D�d$XA�D�t$PD�d$HD�d$@H�E�H�D$8H���H�D$0H���H�D$(H�\$ L���I��H���!��H�U�H��rH��H�M��Z��D�d$0D�d$(D�d$ E3�E��H�U�H����H��I�O@�-��H�M�H��tH�U�H+�H�����A��Pu0H�D$xI�WHI;WPtH�D$xH�I�GH�L�D$xI�O@�z���p��`H�� H�M��:��L�'L�gL�gD�L$pL���H�U�H�����D�t$tL�
j��M�ƺ�H�M��)��H���H��rH��H����\��L����H���D���H���H��t?L���H����#)�H���H���H+�H����	��L���W����H���H��rH��H����ۘ�L���H���D���H�� ��H��H���H3���H��A_A^A]A\_^[]�����@USVWATAUAVAWH��$����H��H�%d1H3�H���I��M��L��L��H�U�E3�D�l$tE�EI��H�� �h�H�� I�$L��H�T$xI��PX��H��@ ��H0��I�t$L�KH�|$ L��H���I������W�3���H���I�$L��H���I��PH�H���H�D$ L���L��H���I���C���H��0H�E�L�m�D�l$xM�N0D�l$`D�l$XA�}�|$PD�l$HD�l$@H�D$xH�D$8H���H�D$0H���H�D$(H�t$ L���H��I������H�U�H��r
H��H�L$x��D�l$0D�l$(D�l$ E3�D��H�T$xI���7��H�K@H���˅�H�L$xH��tH�U�H+�H��豖���p��`H�� H�M����M�/M�oM�oD�L$pL���H�U�I���m�|$tL�
B��L�Ǻ�H�M����H���H��rH��H����4��L����H���D���H���H��t?L���H����%�H���H���H+�H������L���W����H���H��rH��H���賕�L���H���D���H�� �r��I��H���H3��`�H��A_A^A]A\_^[]�������������H�\$H�t$ UWATAVAWH�l$�H��@L��H��H�U�E3�D�|$4W�3�H�BH�qL�QI	H��H�M 蝓�H��H�S0H+S(H��H�L$X�T+�W�fE�)M�G)E�L�E�gL�gD�?D$X)E�L$h)M�L�|$hL�d$pD�|$XL�d$PH�D$H��H	�D$8��H	�D$<D�|$=�D$4L�K0L+K(I��D�|$(�D$ L�D$8H�S(H�L$x�q�H��W�fE�H��H�M��*��W�fE)MC)EL�{L�cD�;M�>M�~M�~D�L$0L�E H�U�I����q�D�d$4L�
\��A�W@E�GH�M����H�U�H��r
H��H�L$x��L�}�L�e�D�|$xH�T$PH��r
H��H�L$8螓�L�|$HL�d$PD�|$8H�U8H��rH��H�M �y��I��L��$@I�[@I�sHI��A_A^A\_]�����������H�\$ UVWATAUAVAWH��$P���H��M��H��H���E3�D�l$ W�3�H�B���E�}D�|$ A��PH�����L��H��R
H������E��H��H����5�H��H���J��H���H��rH��H���蝒�L����H���D���H���H��rH��H����g��A��P�A;���L�l$hH�|$pD�l$XL�
TR
E�ōSH�L$X���M��XH�T$XH������H��H��蘂�H�T$pH��r
H��H�L$X���H�|$PH�\$H�R
�D$8�R
�D$@D�l$DL��Q
H�T$8H�M��h�H��H���8��H�T$PH���;H�L$8�)���(H�|$PH�D$H
��Q
�D$8��Q
�D$@��Q
�D$DD�l$EM��pH�T$8H�M��c��H��H����H�T$PH��r
H��H�L$8���H�|$pH�\$h�EQ
�D$X�AQ
�D$`D�l$dA���H����
����L��H�2Q
H��0��L��H�T$XH����rh�H��H���7��H���H��rH��H���芐�L���H���D���H�T$pH��r
H�L$XH���]��I����X@��uA9�@uE9�Pu
E���E��H���HDž�	��P
����P
���D�����H��P����L��H���H����g�H�}�H�E��AP
�E�>P
�E�D�m��H��p�ш���L��H��O
H��p�z�L��H�U�H����7g�E��t�H��P萈��H����:H�}�H�E���O
�E���O
f�EȊ�O
�E�D�m�H�}���\$ L�mpH�ExD�m`L�
�O
E�źH�M`���L��L����O�L�oH�GD�/L���H�U`H����ff�E��t�H��0过��H�����<H�E�H�E��'O
�E��#O
f�E��O
�E�D�m�H�}����\$ L�mPH�EXD�m@L�
�N
E�źH�M@���L�� L��(�O� L�oH�GD�/L��H�U@H���e�L�m0�H�}8D�m L�
�N
E�ōWH�M 蝑�H�L�~N
E��LE�H�U H���wd�L�mH�}D�mL�
{N
E�ōWH�M�T��A��TH���� ~��L��H�UH�� �d�W��D$xL�m�D�L$0L��0H���H�L$x�k�L�e�H�|$xI;�tUH�VH;Vt*L�*L�jH�GH��t�DxH�H�H�GH�BH�F�L��H����H��I;�u�L�e�H�|$x�\$ H��tkI;�tFH�_H��t+����C��uH�H������C��u	H�H��PH��I;�u�H�|$x�\$ H�U�H+�H���H���K��W��D$xL�m�L�
7��D�G���H�������H�UH;�rH��H�M�
��L�mA�L�eD�mH�U8H;�rH��H�M ���L�m0L�e8D�m H�UXH;�rH��H�M@�‹�L�mPL�eXD�m@@��t(���\$ H�U�H;�rH��H�M�蕋�L�m�L�e�D�m���t7��\$ H��HH;�rH��H��0�b��L��@L��HD��0H�UxH;�rH��H�M`�8��L�mpL�exD�m`��t(��\$ H�U�H;�rH��H�M����L�m�L�e�D�m���t7��\$ H��hH;�rH��H��P�؊�L��`L��hD��PH���H;�rH��H��p訊�L���L���D��pH�U�H;�rH��H�M��~��L�m�L�e�D�m�H���H;�rH��H����W��L�d$PH�D$H�Q6
�D$8�M6
�D$@�F6
f�D$DD�l$FA��D��t
��uD���A�E��H�T$8H�M���H��H���xz�H�T$PH;�r
H��H�L$8�Љ�H��H��$H�İA_A^A]A\_^]���H�\$H�|$ UH��H��`I��H��H�U��e�W�3�H�BI��H���A�D�E�H�E�H�E��g5
�Eȋd5
�E��^5
f�E��E���\��|$��~��t~��~
��uA��A�H�U�H�M���H��H���y�H�U�H��rH��H�M��܈�H��L�\$`I�[I�{(I��]��������H�\$UVWATAUAVAWH�l$�H���H��H�M�E3�D�d$$H���L��A�~@t	�~@A��u@�W�3�H�AD�hL�m�D�xL�}��+
�E��+
�E���*
f�E�D�e�D��H�U�H�M����L�m�L�}���*
�D$H��*
�E���*
f�E�D�e�D��H�T$HH�M��c��L�l$@E�}�L�|$8�/
�D$(�/
f�D$,D�d$.L��H�T$(H�M�Z���L�m�L�}��9*
�E��3*
f�E�D�e�M��H�U�H�M�WZ���L�#L�cL�cD�L$ L�E'H�U�H����e��D$$L�
G��E�u�E��A�u��H�M����H�U�H;�rH��H�M����L�e�L�m�D�e�H�T$@H;�r
H��H�L$(��L�d$8L�l$@D�d$(H�U�H;�r
H��H�L$H�ӆ�L�e�L�m�D�d$HH�U�H;�rH��H�M�豆�L�l$@L�t$8�D$(UNITD�d$,@��tRL�D$(�H�L$H��]���D$$H�T$@H;�r
H��H�L$(�b��L�d$8L�l$@D�d$(H�T$HH���v��PL�D$(�	H�L$H�]���D$$H�T$@H;�r
H��H�L$(���L�d$8L�l$@D�d$(H�T$HH���$�H�L$HH��t#L�D$HH�U����H�L$HH�U�H+�H����ƅ�H��H��$@H���A_A^A]A\_^]���������H�\$UH��H��H�AQ1H3�H�E�H��H�"H�bH�bH�bH�b H�b(�B0�b4W�3�E�H�E�I���H�M������W�3�E�H�E�H�U�H�M����H��H�M�����H�M�H�H�H�AH�CH�AH�CH�M�H�H�CH�AH�C H�AH�C(H�U�H+�H���ф�W��E�H�e�H�M�H��tH�U�H+�H��諄�H��H�M�H3��|�H��$�H�Ā]������������H�\$H�t$ UWAVH�l$�H���H�P1H3�H�E?I��H��H�"H�bH�bH�bH�b H�b(�B0�b43�H�EW��MH!EL�E�D�pA��H�M�����\H�� H�\$ E��D��L�5K1I��H�M�苙��H�E�H�E�H�\$ A�D��I��H�M��i���H�E�H�E�H�\$ E3�D��I��H�M��J���H�\$ A�D��I��H�M��0���H�\$ A�D��I��H�M�����H�E�H�E�H�E�H�E�H�E�H�E�H�E�H�E�H�U�H�M��W�3�E'H�E7�E�H!E�H�}L�uI;�tfL+�I��H��H��������H;���H��H��r
H���R���H��t
H���S��3�H�E�H�E�H�H�]�M��H��H���B�H�]�H�U�H�M'�q��H�H�H�GH�FH�GH�FH�M'H�H�FH�AH�F H�AH�F(H�U7H+�H���`��W��E'H�e7H�UH+�H��H���@��H��H�M?H3���L��$�I�[ I�s8I��A^_]��T�����H�\$H�T$WH��@I��H���d$ W�3�H�B���D$ H���H�L$(����H��H������H�L$(H��t%L�D$(H�T$0��H�T$8H�L$(H+�H���萁�H��H�\$PH��@_���@SH��0�b+	H���D$ �T�H��H��0[������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�}����H���p����H���c����H���V����H���I����	H���<����H�������	H�������H�������H������H������H���ު������C �C$H��H�� [����������H�\$ UVWAUAVH�l$�H��PH�	L1H3�H�E@M��L��H�T$`�d$ W�3�H�B�����|$ I���H�L$(�����H��I���3��H�L$(H��t%L�D$(H�T$0���H�T$8H�L$(H+�H������L��I��H�L$p�s���H�t$pH���H�D$XH�D$P�LA
�D$@�HA
�D$H�AA
f�D$L�D$NL��H�C�L�H�� H;Cu�H�T$@H�L$(�E�H��I����o�H�T$XH��r
H��H�L$@�1��D9CD�0L�KL�SM+�I��L��H��I+�H��L;���u-M��t(M��I��I+�3���I�J9Dъ�M�[ I��u�A�z����2�H��L;KtI9Q��
�I�I�� L;Ku����2�H��L;�tI9P��
�I�I�� L;�u��uy��@9C@tnA��PudH�d$PH�D$X�D$@L�
�?
E3�A�PH�L$@���D��H�T$@H�L$(���H��I���n�H�T$XH��rH��H�L$@��}�H�L$p����I��H�M@H3�蹺H��$�H��PA^A]_^]���L��I�[I�kI�sWH��`I��)t$PM���I���5�'	H��H��H�C1A�I�K�I�@E�@DI�C��1��H�|$0u:D��DH��A�H�D$ H��B1H�L$0��1��H�|$0u�5d(
L���t$ L��H��H����(t$PL�\$`I�[H��I�kI�s I��_����@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�����	H�������H�����	H���������C �C$H��H�� [��3�A�H�H�BH�BH�BH�B H�B(�B0�B4I���E��L�HH�H�L�H�� I;�u�A��A��tH���H�� ��H��H�
L�RL�RH�B L�R L�R(��������̃�DtH����xDt��2������@USWH��H��pI��H��H�U��e�W�3�H�B�f��E�H��H�D$ E3�D��DH�A1H�M��0���E�t_H�E�H�E�	��&
�EȊ�&
�E��E�A�H�U�H�M����H��H����k�H�U�H��rH��H�M��${�H��H��p_[]����������@SH��0�>&
H���D$ ����H��H��0[������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�
����	H�������H������	H���֤���k H�ÃK�K$��H�� [��������������L��I�[I�sI�{UATAVH��H��pI���I��A��DL�%�?13�I�[�L��H�H�BH�M�H�BD��H�BD�HH�B H�B(�B0�B4I���.��A�H�\$ D��H�M�I���f.��H�E�H�M�H�E�E3�H�\$ D��I�I���C.��H�E�H�M�H��A�D��I�FI��H�\$ �.��H�E�H�^D�FDH�M�A�I�FI��H�\$ �-��� H9E�wD�FDD�H�I��H�\$ H�M���-��H�E�L�\$pI�FI�[ I��I�s(I�{0I�F I�F(I��A^A\]���������������@USWH��H��`I��H��H�U��e�W�3�H�B���E�H�e�H�E��E�L�
�:
E3�A�PH�M��|�D���H�U�H�M����H��H���i�H�U�H��rH��H�M��px�H�e�H�E��E�L�
H:
E3�A�PH�M��8|�D���H�U�H�M��S��H��H���h�H�U�H��rH��H�M��x�H��H��`_[]�������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�-����	H��� ����H�������	H������K H���k$�K�H�� [��������������L��I�[I�kI�sI�{ AWH��p3�L�=�<1H�I�K�H�BI��H�BH��H�BA�H�B H�B(�B0�B4I��I����hDH�pD��I�s��+��A�H�t$ D��H�L$PI���+��H�D$0H�L$PH�D$PD��DA�H�I�׋��H�GH��H�D$ �K+��H�D$PH�L$PA�H�GD��H�t$ I���'+��� H9D$PwD�H�H�t$ D��H�L$PI���+��H�D$PL�\$pH�GI�[H��I�kI�s H�G H�G(I�{(I��A_������������H�\$ UVWH�l$�H��PH��A1H3�H�E@I��H��H�T$`�d$ W�3�H�B����\$ H���H�L$(����H��H�����H�L$(H��t%L�D$(H�T$0��H�T$8H�L$(H+�H����u�L��H��H�L$p�7���H�D$pH���H�D$XH�D$P�7
�D$@�7
�D$H�7
f�D$L�D$NH�QH�A�H�H�� H;�u�L��H�T$@H�L$(��H��H���e�H�T$XH��rH��H�L$@��t�H�L$p����H��H�M@H3�踱H��$�H��P_^]������L��I�[I�kI�sWH��`I��)t$PM���I���5�
H��H��H�:1A�I�K�I�@E�@DI�C��(��H�|$0u�5J	L���t$ L��H��H���3��(t$PL�\$`I�kH��I�[I�s I��_������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�M����	H���@����H���#����	H�������K �H�ÃK$�H�� [���H�\$H�l$ VWAWH��pH�"A�H�bH��H�bA��H�bH�b H�b(�b4�B0I���H�qH��H�8H�� H;Au�iDH��81D��H�t$ H�L$0A��'��H�D$03ҋ�H����H��H��tH+�H�A�H�t$ D��H�w81H�L$P�}'����L�\$pI�k83�H�t$PL�{H�H��L�{H�CL�{ L�{(I�[ I��A__^��H�\$H�|$UH��H��P��DH��D��H�\$ H�81E3�H�M��'��H�U�HU�uvD�JH�\$ H��71D��H�M���&��H�M�HM�uPD�IH�\$ H�M�D��H��71�&��H�M�HM�u*D�IH�\$ H�M�D��H��71�&��H�U�HU�u��2�H�\$`H�|$hH��P]�����@USWH��H��pI��H��H�U�e�W�3�H�B�f���E�H���H�M�����H��H�������H�M�H��t!L�E�H�U��|�H�U�H�M�H+�H����hq�H�E�H�E�
��"
�EЋ�"
�E؊�"
�E��E�H���L��H�U�H�M��
��H��H���a�H�U�H��rH��H�M��p�H��H��p_[]�����������������@SH��0��)
H���D$ ���H��H��0[������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P	�ݙ���H������K H���k$
�H�� [������������L��I�[I�sI�{AVH��P3�I�K�H�I��H�BL��H�BE3�H�BH�B H�B(�B0�B4H��51I����xDH�XD��I�[��~$��H�D$0H�b51A�I�D��H�\$ H�L$0�W$��H�D$0H�;51A�I�FD��H�\$ H�L$0�/$��H�D$0H��I�FI�FI�F �H�\$`H�t$hH�|$pI�F(I��H��PA^��L��I�[I�sWH��PD��DH��H��I�C�H��41E3�I�K��#���D$0��H���H��41A�H�L$0D�GDH�GH�D$ �#��H�|$0uZ��PuMH����H��x�H�0H�� H;�u�D�GDH�OH�L$ H�+41H�L$0A��+#��H;t$0u��2�H�\$`H�t$pH��P_���������������H��XH���A�H�L$0D�BDH�BH��31H�D$ ��"���D$0$��H�H���H��H��X����������L��I�[I�KUVWAVAWH��@I��H��E3�E�{�L�9L�yL�yL�yL�y L�y(L�y0L�y8�A@$tII��L�qHD�yPD�yXL�y`L�yhL�ypL�yxfD���L���A�G���ǁ�D���L���Hǁ�D���D����D$ I�K��H�H�PL�8L�xH�H�_H�WH��t+A����CA�uH�H��A����CA�u	H�H��PH�\$0H��t+A����CA�uH�H��A����CA�u	H�H��PL�D$xH��H�O����G@$tIL�wHD�PD���H��H��$�H��@A_A^_^]�����H�\$WH�� H��H�����H�p	H���PH�\$0��PH�� _�����������H�\$H�t$H�L$WH�� H��H���h輧H��H�D$0H��t)W���C�CH�'.
H�H�KH���h����3�W�H�CH�H�_H��H�\$8H�t$@H�� _�@SH�� H��-
H��H���t
�h�~�H��H�� [������@USVWAVH��H��I��H��H�U�e�W�3�H�B�`����E�H�E�H�E���	�E��
�	f�E��E�D��PH�U�H�M��]���W��E�H�e�D�M�L�E�H�U�H�M��I�L�u�H�]�I;�tQH�VH;Vt+H�"H�bH�CH��t�@H�H�H�CH�BH�F�L��H����H��I;�u�L�u�H�]�H��tfI;�tAH�{H��t+����G��uH�H������G��u	H�H��PH��I;�u�H�]�H�U�H+�H���H���]j�W��E�H�e�L�
I��D�B�H�M����H�U�H��rH��H�M�� j�H��H�ĀA^_^[]����������������@USVWATAUAVAWH��$���H���H��51H3�H���I��I��L��L��H�U�E3�D�d$tI��H����<E�l$E��H��H���u����W�3�EpH���I�L��H�UpI��P@�I�^L�NH�|$ L��H���I���T����H���H�D$ L�MpL��H���I�����A�|$H�}�L�e�D�d$xL�N0D�d$`D�d$XD�l$PD�d$HD�d$@H�D$xH�D$8H���H�D$0H���H�D$(H�\$ L���H��I���t����H�U�H��r
H��H�L$x�h��`
��@H��H�M����M�'M�gM�gD�L$pL�EhH�U�I���k��D�l$tL�
?��M�ź�H�M���H���H��rH��H����1h�L���H���D���H���H��rH��H����h�L���H���D���H�MpH��t0L�EpH�Ux���H���H�MpH+�H����g�L�epW��ExH�����I��H���H3��t�H���A_A^A]A\_^[]�����������������H�\$UVWATAVH�l$�H��H�	31H3�H�E/H��H�!H�aH�aH�aH�a H�a(�A0�a4H����x@���A0H���3�H�MW��M�H!MD�pDH�XD�aH�\$ H�5`,1H�M�H��E;�uQE3�E���Y��H�E�H�E�H�\$ E�L$�E��H��H�M��8��H�E�H�E�H�\$ E��E��H��H�M����H�E��oE��E�����H�\$ A�E��H��H�M�����H�E�H�E�H�E�H�\$ E3�E��H��H�M�����H�E�H�E�H�\$ A�E��H��H�M����H�E�H�E�H�E�H�E�H�E�H�E�H�U�H�M��S��H�u�H�H�H�FH�GH�FH�GW�3�EH�E'�E�H!E�L�uI;�tfL+�I��H��H��������H;���H��H��r
H���d��H��t
H����3�H�E�H�E�H�H�]�M��H��H����H�]�H�U�H�M����H�MH�H�GH�AH�G H�AH�G(H�U'H+�H���e�W��EH�e'H�UH+�H��H���d�H��H�M/H3��͡H��$H��A^A\_^]����L��I�[I�KUVWAVAWH��@I��H��E3�E�{�L�9L�yL�yL�yL�y L�y(L�y0L�y8�A@$tII��L�qHD�yPD�yXL�y`L�yhL�ypL�yxfD���L���A�G���ǁ�D���L���Hǁ�D���D����D$ I�K��H�H�PL�8L�xH�H�_H�WH��t+A����CA�uH�H��A����CA�u	H�H��PH�\$0H��t+A����CA�uH�H��A����CA�u	H�H��PL�D$xH��H�O�A���G@$tIL�wHD�PD���H��H��$�H��@A_A^_^]�����H��H�XH�hH�p H�HWH�� H��H��`訞H��H�D$0H��t4W���G�GH�;%
H�H��H�O���H��i	H�G�3�W�H�GH�H�~H��H�\$8H�l$@H�t$HH�� _�������������@SH�� H��$
H��H���t
�`�N�H��H�� [������@USVWATAUAVAWH��$����H��H�.1H3�H���I��M��L��L��H�U��d$DA�I��H�� �Y����H�� M�gL�OH�\$ M��H���I�������W�3���H���L��H���I��輁���H���H�D$ L���M��H��I���v����H���H��03�H���W����H!��H�xH�XH���H;�t;H;��tH�H�H��H����L��H��H�������H���H�� �H��H���H+�H��H��sP�H�|$p�_H+�H;��tH�9H��H����L�D$pH��H������H���H+�u�H���H+�H��H�H�~H�T$`H�D$HH�CH�D$PH�CH��H��tH�C H�CH�D$XH�D$HH�D$`H�D$`H�D$h����H��H�M��T��H��H�L$x�7���H�N(H���[O�H�L$xH��tH�U�H+�H���A`�H�E�H�e��E�I�E0H�M�H�L$0H�D$(H���H�D$ L��M��H�U�I���|���H�H�PE3�L� L�`H�H�~H�VA��H��t2A����GA�uH�H��A����GA�u	H�H��PH���H�}�H��t2A����GA�uH�H��A����GA�u	H�H��PH���H�U�H��rH��H�M��T_�D�d$0D�d$(D�d$ E3�A�yD��H�T$xI��莧��H�N@H���"N�H�L$xH��tH�U�H+�H���_���	��`H�� H�M��h��M�&M�fM�fD�L$@L���H�U�I���ļ���|$DL�
���L�Ǻ�H�M��X��H���H+�H��H���^�H��H��rH��H���t^�L���H��D��H���H��t?L���H����;��H���H���H+�H����!^�L���W����H���H��rH��H�����]�L���H���D���H�� 貺�I��H���H3�蠚H��A_A^A]A\_^[]�������������L��I�[I�KUVWAVAWH��@I��H��E3�E�{�L�9L�yL�yL�yL�y L�y(L�y0L�y8�A@$tII��L�qHD�yPD�yXL�y`L�yhL�ypL�yxfD���L���A�G���ǁ�D���L���Hǁ�D���D����D$ I�K��H�H�PL�8L�xH�H�_H�WH��t+A����CA�uH�H��A����CA�u	H�H��PH�\$0H��t+A����CA�uH�H��A����CA�u	H�H��PL�D$xH��H�O�����G@$tIL�wHD�PD���H��H��$�H��@A_A^_^]�����H�\$H�t$H�L$WH�� H��H�����|�H��H�D$0H��t)W���C�CH��
H�H�KH���(�3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H�\$WH�� H��H�����H��b	H���P��PH��XH��XH��`H��`H��hH��h��pH�\$0��pH��H�� _��@SH�� H��
H��H���t
���ΖH��H�� [������H�\$ UVWATAUAVAWH��$`���H��M��H��H�UHE3�D�d$$W�3�H�B�z���D$$A�|$H�}Ѝ_�H�]���
�E���
�E���
�E�D�e�M��`H�U�H�MP�_���H�}�H�E���
�E���
�E�D�e�M��XH�U�H�M`�$���H�|$pH�\$h��
�D$X��
�D$`��
�D$dD�d$e�A�pH�T$XH�Mp軵���H�}�H�E�
�^
�D$x�Y
f�E�D�e�M��hH�T$xH�������A��PH�M(�8����L��
H��H�M�W�E�D$H��H����߳���W��D$(L�d$8D�L$ L���H�UPH�L$(��7�L�t$0H�\$(E�l$I;�tOH�VH;Vt(L�"L�bH�CH��t�@H�H�H�CH�BLn�L��H������I�I;�u�L�t$0H�\$(H��tmI;�tFH�{H��t+����G��uH�H������G��u	H�H��PI�I;�u�H�\$(�H�T$8H+�H���H���~X�W��D$(L�d$8L�
io�A�I��H�MP���H�U I;�rH��H�M�AX�L�eH�} D�eH�U@I;�rH��H�M(� X�L�e8H�}@D�e(H�U�I;�r
H��H�L$x�W�L�e�H�}�D�d$xH�T$pI;�r
H��H�L$X��W�L�d$hH�|$pD�d$XH�U�I;�rH��H�M��W�L�e�H�}�D�e�H�U�I;�rH��H�M��W�L�e�H�}D�e�L�

E�ĺH�M��a[�M9�hA��H�U�H�M��س���W��D$@L�d$PD�L$ L�E�H�U�H�L$@��5�L�t$HH�\$@I;�tOH�VH;Vt(L�"L�bH�CH��t�@H�H�H�CH�BLn�L��H������I�I;�u�L�t$HH�\$@H��tlI;�tEA��H�{H��t+A����GA�uH�H��A����GA�u	H�H��PI�I;�u�H�\$@H�T$PH+�H���H���pV�W��D$@L�d$PL�
[m�A�I��H�M���H�UI;�rH��H�M��3V�H��H��$�H�ĠA_A^A]A\_^]������@USVWATAUAVAWH��$���H��H��!1H3�H���M��I��H��L��H�U�E3�D�d$tA���tL�"L�bL�b�eH��H����"A�E��H��H������W�3���H���L��H���I���d����I�^L�NL�|$ L��H���I���D����H���H�D$ L���L��H���I���ޕ���L�� H�E�L�e�D�e�L�N0D�d$`D�d$XD�l$PD�d$HD�d$@H�E�H�D$8H���H�D$0H���H�D$(H�\$ L���I��I���a����H�U�H��rH��H�M��T�D�d$xD�l$|I�O@H�QH;QtH�D$xH�H�A�
L�D$x�	����	��PH��H�M��ɤ�L�'L�gL�gD�L$pL�ExH�U�H���(���D�l$tL�
���M�ź�H�M�軎�H���H��rH��H�����S�L����H���D���H���H��rH��H����S�L���H���D���H���H��t?L���H������H���H���H+�H����jS�L���W����H���,��H��H���H3���H��A_A^A]A\_^[]�������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�M|���	H���@|���H���#}���	H���}���K 3��k$
H����}���H���}���H���}���H��H�� [��������������H��E3�D�Y0L�L�YL�YE�SL�YE��L�Y L�Y(D�Y4H����x@���A0L��H��A�S �L�H�I;�u�M;�L�	H�$L�QHC�L�QL�$L�I��L;�LG�3�I��L�AH��tM+�3�I��I��H��u�L�AL�Q H��L�Q(H������������L��I�[I�KUVWAVAWH��@I��H��E3�E�{�L�9L�yL�yL�yL�y L�y(L�y0L�y8�A@$tII��L�qHD�yPD�yXL�y`L�yhL�ypL�yxfD���L���A�G���ǁ�D���L���Hǁ�D���D����D$ I�K�� H�H�PL�8L�xH�H�_H�WH��t+A����CA�uH�H��A����CA�u	H�H��PH�\$0H��t+A����CA�uH�H��A����CA�u	H�H��PL�D$xH��H�O�1����G@$tIL�wHD�PD���H��H��$�H��@A_A^_^]�����H�\$WH�� H��H��苋��H�	H����������������H�\$0���H��\	H�H�� _���������H�\$H�t$H�L$WH�� H��H�����<�H��H�D$0H��t)W���C�CH�
H�H�KH���H����3�W�H�CH�H�_H��H�\$8H�t$@H�� _�@SH�� H�;
H��H���t
���H��H�� [������@USVWATAUAVAWH��$���H��H��1H3�H���I��M��L��H��H�U�E3�D�d$|H�H����PXE�D$I��H���
����W�3���H���H�M��H���H��PP�H�~M�OH�\$ L��H���H��胘���H���H�D$ L���L��H���H�������L�� H�E�L�e�D�e�I���I9����M�O0D�d$`D�d$X�D$P�D$H�D$@H�E�H�D$8H���H�D$0H���H�D$(H�|$ L���I��H��荔���H�U�H��rH��H�M���M�E8��tpH�D$pI�UHI;UPtH�D$pH�I�EH�L�D$pI�M@�-��I���I9��t0H�D$pI�UHI;UPtH�D$pH�I�EH�L�D$pI�M@���H�D$pI�M@H�QH;QtH�D$pH�H�A�
L�D$p轿�����PH��H�M��}��M�&M�fM�fD�L$xL�ExH�U�I���ܪ���D$|L�
����A�H�M��i��H���H��rH��H����L�L���HDž�D���H���H��rH��H����gL�L���HDž�D���H���H��t?L���H����/��H���H���H+�H����L�L���W����H���ר�I��H���H3��ňH��A_A^A]A\_^[]��L��I�[I�kI�sWH��PI���3�H�H��H�BA�H�B�y@H�Y�yDD��H�BI�K�H�B H�B(�B4���B0H��1I�[����H�D$0H��1A�H�D��H�\$ H�L$0����H�D$0H��1�H�FD��H�nH�L$0H�\$ D�M���H�D$0H�\$`H�FH��H�n H�n(H�l$h�F4$tIH�t$pH��P_���@SH�� H�"H�ڃbH�˃b�b�b�b�b �b$�b(�b,�B��s���	H����s���H���At���H����t���	H���t���K H�ÃK$�c��H�� [�������������L��I�[I�KUVWAVAWH��@I��H��E3�E�{�L�9L�yL�yL�yL�y L�y(L�y0L�y8�A@$tII��L�qHD�yPD�yXL�y`L�yhL�ypL�yxfD���L���A�G���ǁ�D���L���Hǁ�D���D����D$ I�K��H�H�PL�8L�xH�H�_H�WH��t+A����CA�uH�H��A����CA�u	H�H��PH�\$0H��t+A����CA�uH�H��A����CA�u	H�H��PL�D$xH��H�O豧���G@$tIL�wHD�PD���H��H��$�H��@A_A^_^]�����H��H�XH�hH�p H�HWH�� H��H��`��H��H�D$0H��t4W���G�GH��
H�H��H�O�t���H��V	H�G�3�W�H�GH�H�~H��H�\$8H�l$@H�t$HH�� _�������������@SH�� H�K
H��H���t
�`较H��H�� [������@USVWATAUAVAWH��$���H��(H��1H3�H��M��M��H��H��H�U�E3�D�d$DL�	M��I��A�Q8��uL�'L�gL�g�A�I��H��@�5����L��@H�^M�ML�|$ L��H���H���N����W�3���H���H�M��H���H��P@�H���H�D$ L���L��H���H������H�M��H��H��PHL��PH��H�D$`H��H�D$hH��H�D$pH�D$`H�E�H�D$xH�E�I�OH�U�����H�� H�D$HH��(H�D$PH��0H�D$XH�D$HH�E�H�D$`H�E�I�O(H�U����H�E�L�e�D�e�I�F0H�M�H�L$0H�D$(H���H�D$ L���L��H�U�H��蜑��H�H�PL� L�`I�I�_I�WA��H��t+A����CA�uH�H��A����CA�u	H�H��PH�]�H��t,A����CA�uH�H��A����CA�u
H�H��P�H�U�H��rH��H�M��E�I���I+��H�9��8��8H��H��L��I��?L�D�d$0D�d$(D�d$ E3�H�T$HH��蜍��I�O@H���04�H�L$HH��tH�T$XH+�H���E�������H��@H�M��u��L�'L�gL�gD�L$@L���H�U�H���Ѣ��A�D�D$DL�
����H�M��a�H��H��rH��H����D�L����H��D���H���H��t?L���H����[��H���H���H+�H����AD�L���W����H���H��rH��H����D�L���H���D���H��@�Ҡ�H��H��H3��H��(A_A^A]A\_^[]�������������@SH�� H���H��H�� [����������H�\$ UVWATAUAVAWH��$`���H��H�21H3�H���I��H��H�U�H�UE3�D�l$$W�3�H�B�)c��E�eD�d$$L���E�}L���D�mxE��H���H+��H�9��8��8H��H��H��H��?A�]H��:E���sH�uPH�EH��^	�E8��^	�E<D�m=I��H�M�� ��A��D�d$$H���A�T@H�L$H��;��H��L��^	H�U8H�M��A�L��L���T$ H�L$(�u��D�D�d$$L�a^	H�T$(H�M��@�L�M�L���T$ H�L$h�=��A��D�d$$L���H�T$hH�M��O@�H��H�xrH�L�@H�Mx��b�H�U�H��rH��H�M���A�L�m�H�u�D�m�H�U�H��r
H��H�L$h��A�L�l$xH�u�D�l$hH�U�H��rH��H�M��A�L�m�H�u�D�m�H�T$@H��r
H��H�L$(�A�L�l$8H�t$@D�l$(H�U�H��rH��H�M��]A�L�m�H�u�D�m�H�T$`H��r
H��H�L$H�9A�L�l$XH�t$`D�l$HH�UH��r
H��H�M��A�H�UPH��rH��H�M8�@�I��I��HH���H+��H�9��8��8H��H��H��H��?H�L;�����H�u�A�L�}�H�D$x�=]	�D$h�9]	�D$pD�l$tL�l$XL�l$`H�UxH�L$H�h\�L�D$HH�T$hH�M8�%�H��H����0�H�U�H��r
H��H�L$h�B@�L�m(L�}0D�mL�mhL�}pD�mXH�������B���wG�A@�ȃ�w=L�|$@H�\$8�D$(MASKD�l$,L��
H�T$(H�M8���H��H���d0���B����vH�Uh��
f�EX��
�EZD�m[�H�]h�EXfabsD�m\�I@��	u=L;�r,H�]I��HC]H�U(L��H���H����gD�k�L�
�����u=�A�L;�r)H�]I��HC]H�E(D��H�ϒ	H���gD�k�yL�
��	H���a���x�����u'L;�rH�EI��HCEH�](�long�%L�
&��)L;�rH�EI��HCEH�](�charD�h�L�
��H��E��H�M�B�L�|$@H�D$8�D$(MASKD�l$,L�EH��	H�M��q=�L��
H��H�M��<�L�EXH��H�L$H�<�L�[
H��H�M��g<�L��H�T$(H�M8���H��H���.�H�T$`H��r
H��H�L$H�>�L�l$XL�|$`D�l$HH�U�H��rH��H�M���=�L�m�L�}�D�m�H�U�H��rH��H�M��=�L�m�L�}�D�m�H�T$@H��rH��H�L$(�=�H�UpH��rH��H�MX�=�L�mhL�}pD�mXH�U0H��rH��H�M�^=�L�m(L�}0D�mH���H��rH��H�Mx�9=�H��H���H3��zH��$�H�ĠA_A^A]A\_^]�������������H�\$H�t$UWAVH�l$�H��H��1H3�H�E7H��H�"H�bH�bH�bH�b H�b(�B0�b4W��M3�H�uM��I��H�UI;�t/H;�tH�H�H��H�U�L��H�M�
��H�uH�UH�� ��H��L�uI+�H���H;�s;D�w�L�u�H+�H;�t
L�2H��H�U�L�E�H�M躮�H�uH�UI+�u�L�uI�H�I�NH�KI�FI�FH�CW�E3�EL�E/H�U�H�M�H�E��E�L!E�D�M�L�E�H�U�H�M��fh�H�U�H�M�y���H�MH�H�CH�AH�C H�AH�C(H�U/H+�H���~;�W��EH�e/I+�H��H��I���_;�H��H�M7H3��0xL��$�I�[ I�s0I��A^_]��������̃z%u2A�xx%u+H������9A@uH���H+�H-�H��Hs��2�������@SH�� H�����H��H�� [����������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�c���	H����c���H����c���H����c���H����c���H���c���	H���d���H���d���H���d���H���xd���H���kd���H���^d���K H�ÃK$�H�� [�����������H��(�������H��(��������������L��I�[I�KUVWAVAWH��@I��H��E3�E�{�L�9L�yL�yL�yL�y L�y(L�y0L�y8�A@$tII��L�qHD�yPD�yXL�y`L�yhL�ypL�yxfD���L���A�G���ǁ�D���L���Hǁ�D���D����D$ I�K��H�H�PL�8L�xH�H�_H�WH��t+A����CA�uH�H��A����CA�u	H�H��PH�\$0H��t+A����CA�uH�H��A����CA�u	H�H��PL�D$xH��H�O�A����G@$tIL�wHD�PD���H��H��$�H��@A_A^_^]�����H�\$WH�� H��H���K���H�lH	H���PH�\$0��PH�� _�����������H�\$H�t$H�L$WH�� H��H���h�lsH��H�D$0H��t)W���C�CH�/�	H�H�KH���h����3�W�H�CH�H�_H��H�\$8H�t$@H�� _�@SH�� H��	H��H���t
�h�.sH��H�� [������@USVWATAUAVAWH��$����H��xH��1H3�H��`M��M��H��H��H�U�E3�D�d$tL�	M��I��A�Q8��uL�'L�gL�g�A�E��I��H��������H�M��M��H��0H��PHW�3���H���(�0)E�(�@)M�(�P)E�(�`)M�(�p)E�(��)M�H�L�M�M��H���H��P@�H�^M�NL�|$ L��H���H���?����H���H�D$ L���L��H��H����v���E�}L�}�L�e�D�d$xM�N0D�d$`D�d$XD�l$PD�d$HD�d$@H�D$xH�D$8H���H�D$0H��H�D$(H�\$ L��0H���H���]|���H�U�H��r
H��H�L$x�5���d���H���H�M��L�'L�gL�gD�L$pL���H�UH���Q���D�l$tL�
%��M�ź�H�M��o�H�� H��rH��H���5�L��L�� D��H��H��rH��H�����4�L���L��D���H���H��t?L���H������H���H���H+�H����4�L���W����H����Z��H��H��`H3��HqH��xA_A^A]A\_^[]�����@USVWATAUAVAWH��$(���H���M��I��H��H�UHE3�D�d$$W�3�H�B��S���D$$��PH�MP藗���L��H�D�	H�M(�ӳ�L�;�H��H�M��
�W��D$(L�d$8D�L$ L�EH�U�H�L$(�9�L�t$0H�\$(E�l$I;�tOH�WH;Wt(L�"L�bH�CH��t�@H�H�H�CH�BLo�L��H���7��I�I;�u�L�t$0H�\$(H��thI;�tAH�sH��t+����F��uH�H������F��u	H�H��PI�I;�u�H�\$(H�T$8H+�H���H����2�W��D$(L�d$8L�
�I�A�I��H�M��om�H�U@I;�rH��H�M(�2�L�e8A�L�u@D�e(H�UhI;�rH��H�MP�2�L�u �	H�u���	�E���	�ED�eM�G8H�UH�Mp�:����L�u�^�H�]����	f�E؊��	�E�D�e�M�GH�U�H��������L�u�H�]����	f�E����	�E�D�e�M�H�U�H����Ο���L�t$pL�t$h�s�	�D$X�o�	�D$`�h�	f�D$d�_�	�D$fD�d$gM�GHH�T$XH����{����L�u�H�E�
�.�	�D$x�*�	�E��%�	�E�D�e�M�GPH�T$xH����5����L�u�H�u��d�	�E��a�	�E�D�e�M�G@H�U�H�������W��D$@L�d$PD�L$ L���H�UpH�L$@�u�L�t$HH�\$@I;�tOH�WH;Wt(L�"L�bH�CH��t�@H�H�H�CH�BLo�L��H���x��I�I;�u�L�t$HH�\$@H��tlI;�tEA��H�sH��t+A����FA�uH�H��A����FA�u	H�H��PI�I;�u�H�\$@H�T$PH+�H���H���#0�W��D$@L�d$PL�
G�A�I��H�Mp�j�H�U�I;�rH��H�M���/�L�e��H�]�D�e�H�U�I;�r
H��H�L$x�/�L�e�H�]�D�d$xH�T$pI;�r
H��H�L$X�/�L�d$hH�\$pD�d$XH�U�I;�rH��H�M��w/�L�e�H�]�D�e�H�U�I;�rH��H�M��V/�L�e�H�]�D�e�H�U I;�rH��H�M�5/�H��H���A_A^A]A\_^[]���������������3ɉJ4H�J@H�J8�AH�JXH�H�BH�BH�BH�B H�B(I���H�JHH�JP�x@���B0H�����������H�\$WH��H�d�0H3�H��$�I�����b4H��H�H��H�BH�BH�BH�B H�B(�B0I����x@��H�b@H�b8H�bXH�bHH�bP�B0H�T$P�,B��D��$�H�D$XA�H�D$ H���0H�L$0��H�D$0H���0H�GPH�L$0D�CDH�CA�H�D$ �v�H�L$XH�D$0H�GHH��tH�T$hH+�H�����-�H��H��$�H3��jH��$�H�İ_��������������̃z
u
A�xx
u��2���������������H��H�XH�pH�xUH��H��P�z
��A�xx
�����L�����A�xD�;�����P��t6+�t-;�u}I�pE3�D��H�p�H�x�0H�M���H9]�uSD���0E3��D��I�pD��H�N�0H�t$ H�M��P�H9]�u$A�D��H�t$ H�%�0H�M��,�H9]�t2ۊ��2�H�\$`H�t$hH�|$pH��P]����������@SH�� 3��AH��H��AH�A�PH�AH�A H�A(�U���	H���U���H���vV���	H���iV���K 3҃K$H���GW���H���:W���H���-W���H��H�� [��@USVWATAUAVAWH��$����H��M��H��H��0E3�D�d$$W�3�H�BA)��AI)��AA )��AI0)��AA@)��AIP)��L��������D$$A��PE�|$E�t$���5�������2L���L���D���L�
��	E�čy��H�����.�L���	H���H��P���L���L���D�epL�
��	E�ċ�H�Mp�.�L�*�	H�UpH��`��L�e`L�}hD�ePL�
n�	E�čw���H�MP�].�L��	H�UPH��p�E�L�e@L�}HD�e0L�
Y�	E��A��H�M0�".�L���	H�U0H����
�L�e L�}(D�eL�
F�	E�ċ�H�M��-�L�x�	H�UH������L�eL�}D�e�L�
<�	E�ċ�H�M��-�L���	H�U�H�����L�e�L�}�D�e�L�
*�	E�ċ�H�M��t-�L���	H�U�H����\�W��D$(L�d$8D�L$ L���H��PH�L$(���L�|$0H�|$(I;�tOH�SH;St(L�"L�bH�GH��t�@H�H�H�GH�BLs�L��H���Ӻ�I�I;�u�L�|$0H�|$(H��toI;�tH��L�wM��t)���A�F�uI�I�����A�F�u	I�I��PA�I�I;�u�H�|$(H�T$8H+�H���H���{(�W��D$(L�d$8L�
f?�A�I��H��P�c�H�U�I;�rH��H�M��;(�L�e�A�L�}�D�e�H�UI;�rH��H�M��(�L�eL�}D�e�H�U(I;�rH��H�M��'�L�e L�}(D�eH�UHI;�rH��H�M0��'�L�e@L�}HD�e0H�UhI;�rH��H�MP�'�L�e`L�}hD�ePH���I;�rH��H�Mp�'�L���L���D�epH���I;���H����lL���L���D���L�
��	E�Ŀ��H����+�L��	H���H������L��@L��HD��0L�
��	E�ċ�H��0��*�L���	H��0H�����L�� L��(D��L�
��	E�čw���H���*�L��	H��H����m��L��L��D���L�
x�	E��I��H����>*�L���	H���H����#��L���L���D���L�
V�	E�ċ�H����)�L���	H���H�����L���L���D���L�
=�	E�ċ�H����)�L��	H���H����L���L���D���L�
�	E�ċ�H����c)�L���	H���H�� �H��W��D$@L�d$PD�L$ L��0H���H�L$@��L�|$HH�|$@I;�tOH�SH;St(L�"L�bH�GH��t�@H�H�H�GH�BLs�L��H��迶�I�I;�u�L�|$HH�|$@H��toI;�tH��L�wM��t)���A�F�uI�I�����A�F�u	I�I��PA�I�I;�u�H�|$@H�T$PH+�H���H���g$�W��D$@L�d$PL�
R;�A�I��H�����^�H���I;�rH��H����!$�L���A�L���D���H���I;�rH��H�����#�L���L���D���H���I;�rH��H����#�L���L���D���H��I;�rH��H����#�L��L��D���H��(I;�rH��H���[#�L�� L��(D��H��HI;�rH��H��0�+#�L��@L��HD��0H���I;��H����L��L��D���L�
v�	E�Ŀ��H����&�L�H�	H���H��0��L�e�L�}�D�e�L�
a�	E�ċ�H�M��{&�L�3�	H�U�H��@�c��L�e�L�}�D�e�L�
O�	E�čw���H�M��>&�L�&�	H�U�H��P�&��L�e�L�}�D�d$pL�
9�	E��I��H�L$p�&�L��	H�T$pH��`���L���L���D���L�
�	E�ċ�H����%�L���	H���H��p��L���L���D��pL�
�	E�ċ�H��p�q%�L���	H��pH����V��L��`L��hD��PL�
��	E�ċ�H��P�(%�L���	H��PH����
��W��D$XL�d$hD�L$ L���H��0H�L$X��L�|$`H�|$XI;�tOH�SH;St(L�"L�bH�GH��t�@H�H�H�GH�BLs�L��H��脲�I�I;�u�L�|$`H�|$XH��toI;�tH��L�wM��t)���A�F�uI�I�����A�F�u	I�I��PA�I�I;�u�H�|$XH�T$hH+�H���H���, �W��D$XL�d$hL�
7�A�I��H��0�Z�H��hI;�rH��H��P���L��`A�L��hD��PH���I;�rH��H��p��L���L���D��pH���I;�rH��H�����L���L���D���H�U�I;�r
H��H�L$p�U�L�e�L�}�D�d$pH�U�I;�rH��H�M��3�L�e�L�}�D�e�H�U�I;�rH��H�M���L�e�L�}�D�e�H��I;�rH���H�����A��@upL�� L��(D��L�
��	E��I��H���"�L���H��H��@��H��H����H��(I;�rH��H���q�H��H��A_A^A]A\_^[]�����������H�\$H�|$ UAVAWH��H��E3�H�M�M��H����tG��t=��tL�9L�yL�y��I�XE3�E�@DH�z�0H�M�H�\$ �|��A��.E3��A�I�XE�@DH�M�H�\$ H�A�0�L��A�H�E�H�+�0E�FDH�M�H�E�H�\$ �%��H�E�H�
�0E�FDH�M�A�H�E�H�\$ ���H�E�L�E�D�M�H�U�L�?H��L�H�E�L��I�L��$�H��I�[(I�{8I��A_A^]������������@SH�� H����H��H�� [����������@SH�� H��H����H��H�� [�������@USWH��H��H���0H3�H�E�I��H����W�3�E�H�E�L����PH�M��F����W�3�E�H�E�H�U�H�M��[��H��H�M��?s��H�M�H�H�H�AH�GH�AH�GH�M�H�H�GH�AH�G H�AH�G(�G4$tIH�U�H+�H���#�W��E�H�e�H�M�H��tH�U�H+�H����H��H�M�H3���XH�Ā_[]����@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�
E���	H���E���H����E���	H����E���K 3҃K$H���F���H���F���H���F���H��H�� [���������������H�\$WH�� I��H���k�H�gXA�H�GHL�OPH�G�G0��L�L�O8H�S@H�H�CHH��H��H;�L�GHB�I��H�� wL;�sK�H;�wH��L��H�G8H�O��H�\$03�I��L�I���G4�!5H��H�W@H�� _�H�\$H�l$H�t$WH�� H�I��H��M��H��I��H���P83Ʉ�u
H�H�KH�K�L��L��H��H�����H�l$8H��H�\$0H�t$@H�� _���������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�]C���	H���PC���H���3D���	H���&D���K 
3҃K$
H���E���H���D���H����D���H��H�� [���������������@SWH��(I��H����L�WH�L�GPH�GH�GX�G0��L�L�G8L�K@H�H�CHH��H��I��I;�LB�I��M;�IB�H�OH�� wH;�sH�	I;�wH��H��H�G8H�W��M��3�H�I���G4�!5H��H��H�W@H��(_[������������H�\$ UVWAVAWH�l$�H��H�y�0H3�H�E'I��L��H�������L��H�U�M��H������E�L�=�0I�^H��I���A�H�I��H��H��H�M��pDH�xD��H�|$ ����I�F@H;�HB�H9E���A��P��t}��t0����E3�H�|$ D��H�M�I������H9]�uGD���(E3�H�|$ D��H�M�I���t���H9]�u A�D��H�|$ I��H�M��O��H9]�t2ۊ�� �H�|$ D��H�M�D��I���'���2�H�M'H3��gTH��$H��A_A^_^]�@USH�l$�H���H��H�U߃e�W�3�H�BA)E�AI)M�AA )EAI0)MAA@)E'AIP)M7L�M��,��E�H�e�H�E��E�L�
��	E3�A�PH�M����A�H�U�H�M��9q��H��H���N�H�U�H��rH��H�M���H��H���[]�����������@SUVWH��xH�8�0H3�H�D$hI��H���]���PL��H���H�L$PW�3�D$PH�D$`3������P�]��t+�t
;�u1D�M�D���E3�D�FDH�FH���0H�D$ H�L$0���H�l$0H�L$PH�H�H�AH��H�GH�AH�GH��H�_H�G H�_(H�G@H�� r
���	�����G4H��tH�T$`H+�H����H��H�L$hH3��\RH��x_^][����L��I�[I�KUVWAVAWH��@I��H��E3�E�{�L�9L�yL�yL�yL�y L�y(L�y0L�y8�A@$tII��L�qHD�yPD�yXL�y`L�yhL�ypL�yxfD���L���A�G���ǁ�D���L���Hǁ�D���D����D$ I�K��H�H�PL�8L�xH�H�_H�WH��t+A����CA�uH�H��A����CA�u	H�H��PH�\$0H��t+A����CA�uH�H��A����CA�u	H�H��PL�D$xH��H�O��r���G@$tIL�wHD�PD���H��H��$�H��@A_A^_^]�����H��H�XH�hH�p H�HWH�� H��H��`�HOH��H�D$0H��t4W���G�GH���	H�H��H�O�z��H��%	H�G�3�W�H�GH�H�~H��H�\$8H�l$@H�t$HH�� _�������������@SH�� H�S�	H��H���t
�`��NH��H�� [������@USVWATAUAVAWH��$���H��H���0H3�H���M��M��H��H��H�U�E3�D�d$tL�	M��I��A�Q8��uL�'L�gL�g�mA�E��I��H���2����H�M��M��H���H��PHW�3���H���H�M��H���H��P@�H�^M�NL�|$ L��H���H���E\���H���H�D$ L���L��H���H����R���L�� H�E�L�e�D�e�M�N0D�d$`D�d$XD�l$PD�d$HD�d$@H�E�H�D$8H���H�D$0H���H�D$(H�\$ L���I��H���bX���H�U�H��rH��H�M���D�d$xD�l$|I�O@H�QH;QtH�D$xH�H�A�
L�D$x�
������PH��H�M���a�L�'L�gL�gD�L$pL�ExH�U�H���)o��D�l$tL�
�m�M�ź�H�M��K�H���H��rH��H������L����H���D���H���H��rH��H�����L���H���D���H���H��t?L���H���腠�H���H���H+�H����k�L���W����H���-m�H��H���H3��MH��A_A^A]A\_^[]��������@SH�� H����/��H��H�� [����������H�\$UVWAVAWH�l$�H���H���0H3�H�E/M��H��H�"H�bH�bH�bH�b H�b(�B0�b43�H�EA��DI��H�\$ D�HD��H��0H�M����H�\$ E3�D��H���0H�M�����H�E�H�E�H�E��H�E�H�E�W��E�H�eD�M�L�E�H�U�H�M���;�W�3�EH�E'�E�H!E�L�u�H�}L;�tfI+�H��H��H��������H;���H��H��r
H���B��H��t
H���CJ�3�H�E�H�E�H�H�]�L��I��H���27H�]�H�U�H�M�ae��I�H�I�FH�FI�FH�FH�MH�H�FH�AH�F H�AH�F(�F4$tII����x@���F0H�U'H+�H���8�W��EH�e'H�UI+�H��I����H��H�M/H3���JH��$H���A_A^_^]��-,������������̃z"u
A�xx"u��2���������������@SH�� H�����H��H�� [����������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P��6���	H���6���H���7���	H���7���K H�ÃK$�H�� [����������������L��I�[I�KUVWAVAWH��@I��H��E3�E�{�L�9L�yL�yL�yL�y L�y(L�y0L�y8�A@$tII��L�qHD�yPD�yXL�y`L�yhL�ypL�yxfD���L���A�G���ǁ�D���L���Hǁ�D���D����D$ I�K��H�H�PL�8L�xH�H�_H�WH��t+A����CA�uH�H��A����CA�u	H�H��PH�\$0H��t+A����CA�uH�H��A����CA�u	H�H��PL�D$xH��H�O�j���G@$tIL�wHD�PD���H��H��$�H��@A_A^_^]�����H�\$WH�� H��H���r��H�|	H���P��P��TH�\$0��TH�� _���������������H�\$H�t$H�L$WH�� H��H���h�FH��H�D$0H��t)W���C�CH��	H�H�KH���X����3�W�H�CH�H�_H��H�\$8H�t$@H�� _�@SH�� H�;�	H��H���t
�h�nFH��H�� [������@USVWAUAVAWH�l$�H��H�:�0H3�H�EM��H��H�T$X�d$PW�3�H�B�:*��A�D�|$PI���H�M��/S�H��1H�]�I��H�L$`�S�H�\$`E��A��I���pLc�I��H�]���x"H��H��L�1H�AHHAL��H�I H+�u�A�QH�M�H+�H��;�}Hc�H��H�H�8��H�@ ;�|�H�D$8H�D$0���	�D$ ���	�D$$�D$%E��TH�T$ H�L$@��c��H��H����H�T$8H��r
H��H�L$ �P	�A�L�l$8H�D$0
�l�	�D$ �g�	f�D$(�D$*M��H�T$ H�L$@�v��H��H����H�T$8H��r
H��H�L$ ���L�l$8H�D$0
��	�D$ ��	f�D$(�D$*L��H�T$ H�L$@�v��H��H���-��H�T$8H��r
H��H�L$ ��H�|$hA�M;���L�l$8L�l$0���	�D$ ���	�D$(���	f�D$,���	�D$.�D$/E��H��H;|$ptL�H�� H;D$pu�H�T$ H�L$@�u��H��H����H�T$8H��r
H��H�L$ ���L�l$8H�D$0�8�	�D$ �2�	�D$$�D$%E��H�T$ H�L$@�b��H��H���0��H�T$8H��rH��H�L$ ��H��tH�T$xH+�H���H���m�H��tH�U�H+�H���H���T�H��H�MH3��%DH��A_A^A]_^[]����@USVWATAUAVAWH��$���H���H���0H3�H���I��M��L��L��H�U�E3�D�l$tE�EI��H������H��I�L��L��H���I��PHI�wL�KH�|$ L��H���I���P���W�3�EpH���I�L��H�UpI��P@�H���H�D$ L�MpL��H���I���G���A�]H�]�L�m�D�l$xM�N0D�l$`D�l$X�{�|$PD�l$HD�l$@H�D$xH�D$8H���H�D$0H���H�D$(H�t$ L���H��I���L���H�U�H��r
H��H�L$x��������@H��H�M��1V�M�,$M�l$M�l$D�L$pL�EhH�U�I���c���|$tL�
bb�L�Ǻ�H�M��!@�H���H��rH��H����T�L���H���D���H�MpH��t0L�EpH�Ux�)��H���H�MpH+�H�����L�mpW��ExH���H��rH��H������L���H���D���H���a�I��H���H3��AH���A_A^A]A\_^[]���̋�PE3���t#��t��t��uD�B�A��A�Hc�DH�@I�HH�
��0���������H�\$WH��H���0H3�H�D$pH�"H�L$ H�bH��H�bI��H�bH�b H�b(�b4�B0I�����L�A�H��E��E���D���L�D$(Hc�H�ʅ�xI��H��L�H�@ I+�u�H�D$0��I+�H��;�}Hc�H��I�+‹�L�	H�I I+�u�M;�vI���I�����tL+�L�M��L�L�SL�[H�KL�[ L�[(H����x@���C0M��tH�T$8I��I+�H����4�H��H�L$pH3��@H��$�H�Ā_����L��I�[I�KUVWAVAWH��@I��H��E3�E�{�L�9L�yL�yL�yL�y L�y(L�y0L�y8�A@$tII��L�qHD�yPD�yXL�y`L�yhL�ypL�yxfD���L���A�G���ǁ�D���L���Hǁ�D���D����D$ I�K��H�H�PL�8L�xH�H�_H�WH��t+A����CA�uH�H��A����CA�u	H�H��PH�\$0H��t+A����CA�uH�H��A����CA�u	H�H��PL�D$xH��H�O�`���G@$tIL�wHD�PD���H��H��$�H��@A_A^_^]�����H�\$WH�� H��H���h��H�4	H���P��P��T��T��XH�\$0��XH�� _���H�\$H�t$H�L$WH�� H��H���p�<H��H�D$0H��t)W���C�CH���	H�H�KH���X����3�W�H�CH�H�_H��H�\$8H�t$@H�� _�@SH�� H�c�	H��H���t
�p�^<H��H�� [������@USVWATAUAVAWH��$����H��xH�%�0H3�H��`I��M��H��L��H�U�3��|$DL�	L��I��A�Q8��uH�>H�~H�~�
A�I��H��������L���M�L$H�\$ M�FH��HI����I���W�3��0H��@I�M��H��0I��P@�H��HH�D$ L��0M�FH��hI���d@���L���A��$DI��$H�\$ E3�D��H���0H�M�����H�E�H�D$`H�\$ A�D��H���0H�M�ڳ��H�EH�D$hH�\$ A�D��H���0H�M 賳��H�\$ A�D��H���0H�M@蕳��H�E H�E@H�D$pH�D$`H�E�H�D$xH�E�H�U�I�O�8j��I�WH�M��h�H��H�L$H�U��I�O(H�����H�L$H3�H��tH�T$XH+�H����H�E�H�}�@�}�I�E0H�M�H�L$0H�D$(H��HH�D$ L��hM�FH�T$xI����I��H�H�PH�8H�xI�I�_I�WA��H��t+A����CA�uH�H��A����CA�u	H�H��PH�]�H��t,A����CA�uH�H��A����CA�u
H�H��P�H�U�H��rH��H�M���I��$�I+�$�H�9��8��8H��H��L��I��?L�@�|$0@�|$(@�|$ E3�H�T$HI����E��I�O@H���a��H�L$HH��tH�T$XH+�H���F���.����H���H�M`�M�H�>H�~H�~D�L$@L��(H�U`H���[����D$DL�
�Y�D����H�M`�7�H���H��rH��H��h���H��x�H���@��hH��0H��t?L��0H��8苌�H��@H��0H+�H����q��H��0W���8H��`H��rH��H��H�C��H��XH��`@��HH����Y�H��H��`H3���8H��xA_A^A]A\_^[]�������������H��H�X UVWATAVH��H���H��)p�)x�I��H��H�U��d$4W�3�H�B����D$4H����xDL�pL�t$ E3�D��H��0H�M�����L��L�d$ E3�D��DH��0H�M���H�M�W�H��x�H*��H��H���H��H*��X�H�MW�H��x�H*��H��H���H��H*��X��^�L�t$ A�D��H�l�0H�M(�s���L�d$ A�D��DH�J�0H�MH�Q���H�M(W�H��x�H*��H��H���H��H*��X�H�MHW�H��x�H*��H��H���H��H*��X��^���XH�M��]���L��oH��H�M��:��H�}��_�H�]��˿	�D$p�Ŀ	f�D$t���	�D$v�D$w(�H�T$pH�M���U���H�|$hH�\$`���	�D$P���	f�D$T���	�D$V�D$W(�H�T$PH�M��U���W��D$8H�d$HD�L$0L�E�H�U�H�L$8�+��L�t$@H�\$8I;�tSH�VH;Vt+H�"H�bH�CH��t�@H�H�H�CH�BH�F�L��H���+��H��I;�u�L�t$@H�\$8H��tsI;�tKA��H�{H��t+A����GA�uH�H��A����GA�u	H�H��PH��I;�u�H�\$8�H�T$HH+�H���H�����W��D$8H�d$HL�
��D�B�H�M��W3�H�T$hH��r
H��H�L$P��H�d$`H�|$h�D$PH�U�H��r
H��H�L$p�g��H�e�H�}��D$pH�U�H��rH��H�M��C��H��L��$�I�[HA(s�A({�I��A^A\_^]���������������̃zu5A�xxu.H���H�9��8��8H+��H��H��H��H��?H�t��2����@SH�� H���2���H��H�� [����������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�� ���	H���� ���H���!���	H���!�����3҉C H�ˉC$�@!��H��H�� [��������H�\$ WH��0H�aI��H��H�L$ H�A����H�c0H��H�c8C OK0H�gH�\$XH�G�H��0_����������������H�\$VWAVH��0I��I��L��H�L$ H�H�a�`�2I�FH�X H�\$(H�cH�cH��H���a�H�K H�aH�aH�W �I�I�FH�0I�FH�pI�NH�q3�I�N�DH��H��|�I��H�\$XH��0A^_^�������������H��H�XH�hH�pH�x ATAVAWH�� H�)M��H��L��H��H�]�:M��H�S I�����tH�[�!�tL�C I��I������HE�H��H��{t��t	I�H���H��H��L�C I��I��訌��tH����H�[�{t�H�\$@H��H�.H�l$HH�~H�t$PH�|$XH�� A_A^A\�������������H�\$H�l$VWAVH��@A�xI��L�1I��H��H��tCI�F�xu)M�FI��I�� ����tL��H�T$ H���J�I�F�cH��I�P L��I;.u����uaH�+�C�l�ϋ��uLH�L$`H�l$`�|F�H��H��L�0M�F 誋��u�I�F�HH���C��t	�cL�3�*H�+�C�L��H�T$ H���/�H���CH�\$hH�l$pH��@A^_^���������������H�\$H�l$H�t$WH�� H�I��bH��H��H�BH�XH��-H�S H�L��H�����tH�[3��H�_�H��G�{t�H�\$0H��H�l$8H�t$@H�� _�����H�\$H�l$H�t$WH�� H�I��bH��H��H�BH�XH��-L�C H�H��H���}���tH�_�H��H�[3��G�{t�H�\$0H��H�l$8H�t$@H�� _�����H�\$UVWAVAWH�� M��I��L��H��H;�t>I;�t>��+�M���+;�|*��+�M���{+;�|'H�H�I;�u�I;�u@2�@��H�\$XH�� A_A^_^]�2���������������H�\$UVWH��`H��H��H�L$PH�!H�a�`��-H��H�H�@H�@f�@H�fH~�fs�fH~��mL��L�H��H�L$ �X����L�L$(I�� L��H�T$0H�������@�D$@H��������H9Gt:L�D$(H�d$(�L$0H�T$0H������H��@H;�u�H��H��$�H��`_^]����H�\$UH��$�t���p���.H+�H��H��0H�D$xH�D$pf�D$`
L�+�	H�T$`H��b�z��H��HDžHbHDž@b�Y	��0b�S	��8b�J	f��<bƅ>bW�f�`b	)�PbA)�`bH�aH�A�H�d$PH�D$X�D$@H�a�H�L$@�;��L���	H�T$@H���a����L��H�	H��pb�K����H��HDžƅH��H������L��1
H��H���a�b��L�Z
H��H���a�K��L���	H��H���a�4��L���	H��H��ha���L��H��
	H���b����H���HDž�ƅ�H�`�H����8��L�`U
H���H��Ha���L��Q
H��H��(a���L��H��	H���b�/����H���HDž�ƅ�H��H������L�Ys
H���H��a�F��L�nq
H��H���`�/��L��H��	H��0c����H���HDž�ƅ�H�r�H����J��L��
H���H���`����L�׌
H��H���`���L��H�%�
H��pc�A����H���HDž�ƅ�H���H�������L�[H���H���`�X��L���
H��H��h`�A��L�I�
H��H��H`�*��L���
H��H��(`���L��H�`	H���c����H�d$0H�D$8�D$ H�\�H�L$ �6��L��H�T$ H��`���L�E�
H��H���_���L���
H��H���_���L�#H��H���_�x��L��H��	H���c�����H��pHDžxƅ`H���H��`���L�H��`H���_���L���
H��H��h_���L�	�
H��H��H_����L�9H��H��(_����L��H�	H��0d�\����H��PHDžXƅ@H��H��@����L�ƫH��@H��_�s��L�[�H��H���^�\��L��fH��H���^�E��L�LH��H���^�.��L��H�[	H��pd��H��0HDž8ƅ H�qH�� �I��L�!�H�� H���^����L���H��H��h^���L��eH��H��H^���L���H��H��(^���L��H��	H���d��H��HDžƅH��~H�����L�L�H��H��^�)��L���
H��H���]���L��
H��H���]���L���H��H���]����L��H�a	H���d�m�H���
HDž�
ƅ�
H�'~H���
���L�wH���
H���]���L��
H��H��h]�m��L�u�
H��H��H]�V��L��H��H��(]�?��L��H��	H��0e���H���
HDž�
ƅ�
H��}H���
�Z��L��H���
H��]����L�g�
H��H���\����L�й
H��H���\���L�)?H��H���\���L��H��	H��pe�#�H���
HDž�
ƅ�
H��|H���
���L�]�H���
H���\�:��L���
H��H��h\�#��L�+�
H��H��H\���L�tXH��H��(\���L��H�	H���e�~�H���
HDž�
ƅ�
H�8|H���
���L��vH���
H��\���L�}�H��H���[�~��L��bH��H���[�g��L�gH��H���[�P��L��H�=	H���e���H��p
HDžx
ƅ`
H��{H��`
�k��L��
H��`
H���[����L�x�H��H��h[����L���H��H��H[����L�Z�H��H��([���L���H��H��[���L��H�!*
H��0f��H��P
HDžX
ƅ@
H��zH��@
���L��f
H��@
H���Z�4��L��H��H���Z���L�UaH��H���Z���L��>
H��H���Z����L��)
H��H��hZ����L��H�]	H��pf�a��H��0
HDž8
ƅ 
H�zH�� 
����L�f
H�� 
H��HZ�x��L�`�H��H��(Z�a��L��`H��H��Z�J��L�2�
H��H���Y�3��L��
H��H���Y���L�T�
H��H���Y���L��H�"	H���f���H��
HDž
ƅ
H�HyH��
� ��L�8e
H��
H���Y���L���H��H��hY���L��_H��H��HY�w��L�?�
H��H��(Y�`��L���
H��H��Y�I��L��H�n�	H���f����H���	HDž�	ƅ�	H��xH���	�d��L��H���	H���X����L�q�
H��H���X����L�ڴ
H��H���X���L��H��H���X���L��H�I H��0g�-��H���	HDž�	ƅ�	H��wH���	���L���H���	H��hX�D��L�,H��H��HX�-��L�e^H��H��(X���L��H��H��X���L��H�\	H��pg���H���	HDž�	ƅ�	H�BwH���	���L�buH���	H���W���L��
H��H���W���L���	H��H���W�q��L�YHH��H���W�Z��L�B7H��H��hW�C��L��H�	H���g����H���	HDž�	ƅ�	H��vH���	�^��L��H���	H��HW����L��H���H���g�l��H��p	HDžx	ƅ`	H�&vH��`	���L�&�H��`	H��(W���L�k}H��H��W�l��L��\H��H���V�U��L���H��H���V�>��L��H��H���V�'��L��H�|�	H��0h���H��P	HDžX	ƅ@	H�juH��@	�B��L�j�H��@	H���V����L��|H��H��hV���L��[H��H��HV���L��H��H��(V���L��H��H��V�k��L��H�P"	H��ph����H��0	HDž8	ƅ 	H��tH�� 	���L��}H�� 	H���U���L��{H��H���U����L�,[H��H���U����L�TH��H���U����L�~AH��H��hU���L��H�� 	H���h�8��H��	HDž	ƅ	H��sH��	����L�rH��	H��HU�O��L�G�	H��H��(U�8��L���	H��H��U�!��L�9�H��H���T�
��L�"�H��H���T����L�;�H��H���T����L��H���H���h�e��H���HDž�ƅ�H�sH������L�/}H���H���T�|��L�t�	H��H��hT�e��L���	H��H��HT�N��L��TH��H��(T�7��L�/*H��H��T� ��L�H��H���S�	��L�1�H��H���S����L��H�ߜH��0i�{��H���HDž�ƅ�H�5rH����
��L��H���H���S���L���H��H���S�{��L��H�(�	H��pi���H���HDž�ƅ�H��qH������L���H���H��hS���L���H��H��HS���L��H��H���i���H���HDž�ƅ�H�GqH������L�G�H���H��(S���L��xH��H��S���L��WH��H���R�v��L��H��H���R�_��L�7H��H���R�H��L��H�]�	H���i����H��pHDžxƅ`H��pH��`�c��L��iH��`H���R����L��CH��H��hR����L�IBH��H��HR���L��H��	H��0j�C��H��PHDžXƅ@H��oH��@����L��jH��@H��(R�Z��L�BwH��H��R�C��L�{VH��H���Q�,��L��H��H���Q���L��H��	H��pj���H��0HDž8ƅ H�XoH�� �0��L�x�H�� H���Q���L�=�H��H���Q���L���H��H��hQ���L��H��H��HQ�p��L��H��H��(Q�Y��L��H��	H���j����H��HDžƅH��nH���t��L���H��H��Q���L���H��H���P����L�ʶH��H���P����L�c�H��H���P���L���H��H���P���L��H��	H���j�&��H���HDž�ƅ�H��mH������L��Y
H���H��hP�=��L�%uH��H��HP�&��L�^TH��H��(P���L�W�H��H��P���L��H�=	H��0k���H���HDž�ƅ�H�;mH������L�	H���H���O���L���H��H���O���L��H�n�	H��pk�
��H���HDž�ƅ�H��lH������L��DH���H���O�!��L��*H��H���O�
��L��H���	H���k���H���HDž�ƅ�H�MlH����%��L�m�H���H��hO���L�2�H��H��HO���L�{�H��H��(O�|��L��H��H��O�e��L�}fH��H���N�N��L��H�K	H���k����H��pHDžxƅ`H��kH��`�i��L���H��`H���N����L�f�H��H���N����L�/xH��H���N���L��H��	H��0l�I��H��PHDžXƅ@H�kH��@����L�3�H��@H��hN�`��L��H��H��HN�I��L�Q�H��H��(N�2��L��H�	H��pl����H��0HDž8ƅ H�ujH�� �M��L�eH�� H��N����L�
DH��H���M���L��H��H���M���L��H�ɀH���l�-���H��HDžƅH��iH�����L���H��H���M�D��L���H��H���M�-��L��H��H��hM���L���H��H��HM���L�W�H��H��(M����L��H��
	H���l�q���H���HDž�ƅ�H�+iH������L�{-H���H��M���L��	H��H���L�q��L���H��H���L�Z��L���H��H���L�C��L�k�H��H���L�,��L��H�	H��0m����H���HDž�ƅ�H�ohH����G��L��,H���H��hL����L��H��H��HL���L�-�H��H��(L���L�pH��H��L���L�OH��H���K�p��L�XNH��H���K�Y��L��H��	H��pm�����H���HDž�ƅ�H��gH����t��L���H���H���K���L���H��H���K����L�ʯH��H��hK����L�c�H��H��HK���L�<�H��H��(K���L��H��	H���m�&���H���HDž�ƅ�H��fH������L��QH���H��K�=��L��5H��H���J�&��L��H��H���J���L���H��H���J���L��H��H���J����L���H��H��hJ����L��H��	H���m�S���H��pHDžxƅ`H�
fH��`����L�=7H��`H��HJ�j��L�H��H��(J�S��L���H��H��J�<��L��H��H���I�%��L�}�H��H���I���L�6nH��H���I���L��lH��H���I����L��H��	H��0n�i���H��PHDžXƅ@H�#eH��@���L�TH��@H��hI���L��H�m	H��pn�	���H��0HDž8ƅ H��dH�� ���L���H�� H��HI� ��L�X�H��H��(I�	��L�q�H��H��I����L��H��H���H����L�vH��H���H����L��uH��H���H���L��H�j	H���n�6���H��HDžƅH��cH������L�~H��H���H�M��L��ZH��H��hH�6��L�N?H��H��HH���L��$H��H��(H���L��H��H��H����L��H��H���G����L��H�7	H���n�c���H���HDž�ƅ�H�cH������L�
O
H���H���G�z��L�bjH��H���G�c��L��IH��H���G�L��L�4�H��H��hG�5��L��H���H��0o����H���HDž�ƅ�H�xbH����P��L��H���H��HG����L�]�
H��H��(G���L�ƞ
H��H��G���L���H��H���F���L�x�H��H���F�y��L��H���H��po����H���HDž�ƅ�H��aH������L�H���H���F���L���
H��H���F���L�
�
H��H��hF����L�#�H��H��HF����L�L�H��H��(F���L��H��H���o�F���H���HDž�ƅ�H�aH�������L��L
H���H��F�]��L�EhH��H���E�F��L�~GH��H���E�/��L�G+H��H���E���L�@H��H���E���L��H�.SH���o����H��pHDžxƅ`H�D`H��`���L�4L
H��`H��hE���L��gH��H��HE���L��FH��H��(E�s��L��*H��H��E�\��L��RH��H���D�E��L��_H��H���D�.��L��H�k�H��0p����H��PHDžXƅ@H�q_H��@�I��L��H��@H���D����L�V�
H��H���D���L���
H��H��hD���L���H��H��HD���L��pH��H��(D�r��L��H��H��pp����H��0HDž8ƅ H��^H�� ���L�e�H�� H��D���L��eH��H���C���L�3EH��H���C����L�,�H��H���C����L��H��	H���p�V���H��HDžƅH�^H������L���H��H���C�m��L�UeH��H��hC�V��L��DH��H��HC�?��L���H��H��(C�(��L���H��H��C���L��H�	H���p����H���HDž�ƅ�H�T]H����,��L��H���H���B���L��dH��H���B���L��CH��H���B���L���H��H���B�l��L��H��	H��0q����H���HDž�ƅ�H��\H������L��H
H���H��hB���L��cH��H��HB���L�-CH��H��(B����L�V�H��H��B����L��H�4	H��pq�P���H���HDž�ƅ�H�
\H�������L���H���H���A�g��L�OcH��H���A�P��L��BH��H���A�9��L��H��H���A�"��L��H��	H���q����H���HDž�ƅ�H�e[H����=��L�%	
H���H��hA����L���	H��H��HA���L��	H��H��(A���L��H��H��A�}��L��H��'H���q����H��pHDžxƅ`H��ZH��`���L��F
H��`H���@���L�bH��H���@���L�>AH��H���@����L�g'H��H���@����L��H��#	H��0r�a���H��PHDžXƅ@H�ZH��@����L�F
H��@H��h@�x��L�`aH��H��H@�a��L��@H��H��(@�J��L�EH��H��@�3��L��H��"	H��pr����H��0HDž8ƅ H�vYH�� �N��L���
H�� H���?����L�[�
H��H���?���L�ĕ
H��H���?���L�͍H��H���?���L��jH��H��h?�w��L��eH��H��H?�`��L��H�u#	H���r�����H��HDžƅH��XH���{��L��
H��H��(?���L���
H��H��?����L��
H��H���>����L���H��H���>���L���H��H���>���L�̳H��H���>���L��H�
#	H���r����H���HDž�ƅ�H��WH�����L�P�H���H��h>�-��L�%�	H��H��H>���L�n�	H��H��(>��L�'�H��H��>���L��H��H��0s�q���H���HDž�ƅ�H�+WH������L�;aH���H���=��L���	H��H���=�q��L�ɿ	H��H���=�Z��L��H��H���=�C��L��H���H��ps�����H���HDž�ƅ�H��VH����^��L��H���H��h=���L���	H��H��H=���L�$�	H��H��(=��L��H��H��=��L��H�+�H���s�'���H���HDž�ƅ�H��UH���蹾�L�a�H���H���<�>��L�6�	H��H���<�'��L��	H��H���<���L�,H��H���<��L��H���H���s����H��pHDžxƅ`H�<UH��`���L���H��`H��h<虿�L�!�
H��H��H<肿�L���
H��H��(<�k��L�CIH��H��<�T��L��H���H��0t�����H��PHDžXƅ@H��TH��@�o��L�G�H��@H���;���L��[H��H���;�ݾ�L�;H��H���;�ƾ�L�NUH��H���;课�L��H��	H��pt�8���H��0HDž8ƅ H��SH�� �ʼ�L�B�H�� H��h;�O��L�װ
H��H��H;�8��L�@�
H��H��(;�!��L�)bH��H��;�
��L��H�W 	H���t����H��HDžƅH�MSH���%��L�]�H��H���:誽�L��H��H���:蓽�L�K�H��H���:�|��L��~H��H���:�e��L�tH��H��h:�N��L��H�# 	H���t�����H���HDž�ƅ�H��RH����i��L���H���H��H:���L�v�
H��H��(:�׼�L�ߎ
H��H��:��L�xH��H���9詼�L��H��%	H��0u�2���H���HDž�ƅ�H��QH����ĺ�L�<�H���H���9�I��L�Ѯ
H��H���9�2��L�:�
H��H���9���L��H��H��h9���L��H�#	H��pu����H���HDž�ƅ�H�GQH������L���H���H��H9褻�L�,�
H��H��(9荻�L���
H��H��9�v��L���H��H���8�_��L�g,H��H���8�H��L��H��	H���u�����H���HDž�ƅ�H��PH����c��L���H���H���8���L�p�
H��H���8�Ѻ�L�ٌ
H��H��h8躺�L��H��H��H8裺�L��ZH��H��(8茺�L��8H��H��8�u��L��H��	H���u����H��pHDžxƅ`H��OH��`萸�L��H��`H���7���L���
H��H���7��L��
H��H���7���L��H��H���7�й�L�x�H��H��h7蹹�L���H��H��H7袹�L��H��	H��0v�+���H��PHDžXƅ@H��NH��@轷�L�5�H��@H��(7�B��L�ʫ
H��H��7�+��L�3�
H��H���6���L�L�H��H���6��L���H��H���6���L��H�s�H��pv�o���H��0HDž8ƅ H�)NH�� ���L�y�H�� H���6膸�L��
H��H��h6�o��L�w�
H��H��H6�X��L���H��H��(6�A��L���H��H��6�*��L���H��H���5���L��H�@ 	H���v����H��HDžƅH�VMH���.��L���H��H���5賷�L�;�
H��H���5蜷�L���
H��H���5腷�L�
H��H��h5�n��L�vH��H��H5�W��L��H� 	H���v����H���HDž�ƅ�H��LH����r��L���H���H��(5��L��
H��H��5���L��
H��H���4�ɶ�L��AH��H���4貶�L��H�?	H��0w�;����H���HDž�ƅ�H��KH����ʹ�L�E�H���H���4�R��L�ڨ
H��H���4�;��L�C�
H��H��h4�$��L�,TH��H��H4�
��L��H��	H��pw����H���HDž�ƅ�H�PKH����(��L���H���H��(4譵�L�5�
H��H��4薵�L���
H��H���3���L��fH��H���3�h��L��H�m	H���w���H���HDž�ƅ�H��JH���胳�L���H���H���3���L��xH��H���3���L��H�n 	H���w�z����H��pHDžxƅ`H�4JH��`���L�$H��`H��h3葴�L���H��H��H3�z��L�b�H��H��(3�c��L���H��H��3�L��L��H�A	H��0x�վ���H��PHDžXƅ@H��IH��@�g��L���H��@H���2���L�t�
H��H���2�ճ�L�݅
H��H���2辳�L��%H��H���2觳�L��H��6H��px�0����H��0HDž8ƅ H��HH�� �±�L�JeH�� H��h2�G��L���H��H��H2�0��L��H��H��(2���L��FH��H��2���L�J6H��H���1���L��H��	H���x�t����H��HDžƅH�.HH�����L�N�H��H���1苲�L��H��H���1�t��L�\�H��H���1�]��L��qH��H��h1�F��L�ޅH��H��H1�/��L��H��	H���x踼���H���HDž�ƅ�H�rGH����J��L���H���H��(1�ϱ�L�W�
H��H��1踱�L���
H��H���0衱�L�i�H��H���0花�L��H�	H��0y�����H���HDž�ƅ�H��FH���襯�L��H���H���0�*��L���
H��H���0���L��
H��H��h0��L�4�H��H��H0���L��H��	H��py�n����H���HDž�ƅ�H�(FH������L�x�H���H��(0腰�L�
�
H��H��0�n��L�v�
H��H���/�W��L���H��H���/�@��L��H�m 	H���y�ɺ���H���HDž�ƅ�H��EH����[��L�3qH���H���/���L��LH��H���/�ɯ�L�,H��H��h/貯�L�Z�H��H��H/蛯�L�#�H��H��(/脯�L��H�� 	H���y�
����H�epH�Ex�E`H��DH�M`諭�L��0
H�U`H��/�3��L�LH��H���.���L�T+H��H���.���L�=H��H���.���L���H��H���.�׮�L��H�(H��0z�`����H�ePH�EX�E@H�#DH�M@��L��:H�U@H��h.膮�L��'H��H��H.�o��L��H��j	H��pz����H�e0H�E8�E H��CH�M 薬�L��MH�U H��(.���L��	H��H��.���L�_�	H��H���-���L�8%H��H���-�٭�L���H��H���-�­�L�j�H��H���-諭�L�seH��H��h-蔭�L�<`H��H��H-�}��L��H���H���z�����H�eH�E�EH��BH�M褫�L��JH�UH��(-�,��L�'H��H��-���L��H��H���,��L���H��H���,���L�O�H��H���,�Ь�L��H���H���z�Y����H�e�H�E��E�H�BH�M���L�_�H�U�H���,���L�'�H��H��h,�h��L�0xH��H��H,�Q��L��kH��H��(,�:��L��H�w 	H��0{�ö���H�e�H�E��E�H��AH�M��a��L���H�U�H��,���L�a H��H���+�ҫ�L�J�H��H���+軫�L���H��H���+褫�L��H�� 	H��p{�-����H�e�H�E��E�H��@H�M��˩�L��Y H�U�H���+�S��L�{�H��H��h+�<��L���H��H��H+�%��L��= H��H��(+���L��8 H��H��+��L��H�\�H���{耵���H�e�H�E��E�H�C@H�M����L���H�U�H���*親�L�.�
H��H���*菪�L��|
H��H���*�x��L���H��H���*�a��L��� H��H��h*�J��L�rz H��H��H*�3��L��H��� H���{輴���H��?H��(*�h��L��� H��H��*���L��H�^� H��0|�z����H�N?H���)�&��L��!H��H���)诩�L���	H��H���)蘩�L��	H��H���)聩�L��� H��H��h)�j��L�� H��H��H)�S��L��H��H��p|�ܳ���H��>H��()舟�L�`jH��H��)���L��EH��H���(��L�2%H��H���(���L� !H��H���(�̨�L��H��!	H���|�U����H�)>H���(���L��7!H��H��h(芨�L��H��"	H���|�����H��=H��H(连�L��J!H��H��((�H��L��H�%"	H��0}�Ѳ���H��=H��(�}��L��W!H��H���'���L��H��%	H��p}菲���H�c=H���'�;��L�n!H��H���'�ħ�L��H�q$	H���}�M����H�!=H���'��L��!H��H��h'肧�L��H��$	H���}�����H��<H��H'距�L�o�!H��H��('�@��L��H�#	H��0~�ɱ���H��<H��'�u��L�=�!H��H���&��L��H�3#	H��p~臱���H�[<H���&�3��L�"H��H���&輦�L�d�!H��H���&襦�L���!H��H��h&莦�L�V�!H��H��H&�w��L��H��!	H���~�����H��;H��(&謜�L�4�"H��H��&�5��L��i"H��H���%���L�I"H��H���%���L�/3"H��H���%���L��H�$	H���~�y����H�M;H���%�%��L���H��H��h%讥�L�6�
H��H��H%藥�L��w
H��H��(%耥�L�X�"H��H��%�i��L��H�n%	H��0���H��:H���$螛�L��H��H���$�'��L���
H��H���$���L�w
H��H���$��L�!�"H��H��h$���L��H��%	H��p�k����H�?:H��H$���L���H��H��($蠤�L�(�
H��H��$艤�L��v
H��H���#�r��L�:�"H��H���#�[��L��H��%	H�������H��9H���#萚�L��H��H���#���L���
H��H��h#���L�
v
H��H��H#���L���"H��H��(#�ԣ�L��H��%	H����]����H�19H��#�	��L���
H��H���"蒣�L��
H��H���"�{��L��u
H��H���"�d��L��#H��H���"�M��L��H�r&	H��0��֭���H��8H��h"肙�L��#H��H��H"���L��H��'	H��p�蔭���H�h8H��("�@��L�/#H��H��"�ɢ�L��H��F#H�����R����H�&8H���!��L��F#H��H���!臢�L��H��Z#H��������H��7H���!輘�L��Z#H��H���!�E��L��H�B(	H��0��ά���H��7H��h!�z��L��m#H��H��H!���L��H��'	H��p�茬���H�`7H��(!�8��L� 2H��H��!��L��>H��H��� 誡�L��H��H��� 蓡�L��}#H��H��� �|��L��H��(	H���������H��6H��� 豗�L�Y�#H��H��h �:��L��H��(	H����ë���H��6H��H �o��L���H��H��( ��L���
H��H�� ���L��r
H��H����ʠ�L��#H��H���賠�L��H���#H��0��<����H�6H������L�`�H��H����q��L���
H��H��h�Z��L�br
H��H��H�C��L�k�#H��H��(�,��L��H��)	H��p�赪���H��5H���a��L���#H��H������L�r�
H��H����ӟ�L��q
H��H���輟�L���#H��H���襟�L�]�#H��H��h莟�L��H��,	H���������H��4H��H�Õ�L�;�H��H��(�L��L�ԑ
H��H���5��L�=q
H��H������L�f$H��H������L��H�d)	H���萩���H�d4H����<��L�ĵ
H��H�����L�M�
H��H��h讞�L��p
H��H��H藞�L�/1$H��H��(耞�L��H�}'	H��0��	����H��3H��赔�L�=�
H��H����>��L�Ɛ
H��H����'��L�/p
H��H������L��D$H��H�����L��H��'	H��p�肨���H�V3H��h�.��L��v$H��H��H距�L�?�
H��H��(蠝�L��o
H��H��艝�L�QZ$H��H����r��L��H�')	H��������H��2H���觓�L�/�
H��H����0��L���
H��H������L�!o
H��H��h���L�Z�$H��H��H���L�s�$H��H��(�Ԝ�L��H�(	H����]����H�12H���	��L���
H��H���蒜�L��
H��H����{��L��n
H��H����d��L�ܵ$H��H����M��L��H�z(	H��0��֦���H��1H��h肒�L�u$H��H��H���L���
H��H��(���L��m
H��H���ݛ�L�E�$H��H����ƛ�L�~�$H��H���诛�L��H�\(	H��p��8����H�1H������L�\�H��H����m��L���
H��H��h�V��L�^m
H��H��H�?��L�g�$H��H��(�(��L��H��%	H����豥���H��0H���]��L���H��H������L�n�
H��H����Ϛ�L��l
H��H���踚�L� %H��H���衚�L�	%H��H��h芚�L��H�#	H��������H��/H��H运�L��[H��H��(�H��L�07H��H���1��L�iH��H������L��7%H��H������L��H��)	H��0�茤���H�`/H����8��L�0Y%H��H�����L��H�*	H��p��J����H�/H��h��L��%H��H��H���L��%H��H��(�h��L���%H��H���Q��L�ir%H��H����:��L�o%H��H����#��L��H�x*	H����謣���H��.H����X��L�p�%H��H������L�I�%H��H��h�ʘ�L��%H��H��H賘�L���%H��H��(蜘�L�t�%H��H��腘�L��H�j,	H��������H��-H���躎�L�BE&H��H����C��L�H��H����,��L���H��H������L��(&H��H��h��L�F&H��H��H���L��H��)	H��0��p����H�D-H��(���L��&H��H��襗�L�
�%H��H���莗�L�֒%H��H����w��L�?f&H��H����`��L��H��*	H��p�����H��,H���蕍�L���&H��H��h���L��Z"H��H��H���L��9"H��H��(���L���&H��H���ٖ�L��H�&)	H�����b����H�6,H������L�V�&H��H���藖�L��H�l)	H���� ����H��+H����̌�L�TC&H��H����U��L�-H��H��h�>��L���H��H��H�'��L�_�&H��H��(���L�X�&H��H����L��H��	'H��0�肠���H�V+H����.��L���H��H���跕�L�?�
H��H���蠕�L��g
H��H���艕�L�A	'H��H��h�r��L��H�w'H��p�����H��*H��H觋�L�o7'H��H��(�0��L�2H��H�����L�QH��H������L�:'H��H������L��H��W'H�����t����H�H*H���� ��L��6'H��H���詔�L��1H��H��h蒔�L��H��H��H�{��L��W'H��H��(�d��L��H�n'H�������H��)H��虊�L�a6'H��H����"��L�
1H��H������L�CH��H������L��m'H��H����ݓ�L��H�*�'H��0��f����H�:)H��h���L�*�'H��H��H蛓�L��H��(	H��p��$����H��(H��(�Љ�L���'H��H���Y��L��H�.)	H��������H��(H���莉�L�V�'H��H������L�o�'H��H������L��H�U)	H���艝���H�](H����5��L���
H��H��h辒�L�F�
H��H��H角�L��d
H��H��(萒�L�x�'H��H���y��L��H��)	H��0������H��'H���讈�L��1H��H����7��L�/�	H��H���� ��L�x�	H��H����	��L���'H��H��h���L��H�o*	H��p��{����H�O'H��H�'��L���'H��H��(谑�L��H�-,	H�����9����H�
'H�����L�(H��H���
�n��L��H�S,	H�������H��&H���
裇�L�k(H��H���
�,��L��H�y,	H��0�赛���H��&H���
�a��L��.(H��H��h
���L��H��*	H��p��s����H�G&H��H
���L���
H��H��(
訐�L�0�
H��H��
葐�L��b
H��H����z��L�r>(H��H����c��L��H�(-	H��������H��%H���蘆�L��L(H��H����!��L��H��Z(H���誚���H�~%H��h�V��L��Z(H��H��H�ߏ�L��H�.	H��0��h����L��p�H��0bH��8����� H�� H������L�
�}�@D�BeH��0b���H��H艧�H��h�|��H����o��H����b��H����U��H����H��H��
�;��H��(
�.��H��H
�!��H��h
���H���
���H���
��H���
���H���
���H���Ӧ�H��(�Ʀ�H��H蹦�H��h謦�H���蟦�H���蒦�H���腦�H����x��H���k��H��(�^��H��H�Q��H��h�D��H����7��H����*��H������H������H�����H��(��H��H���H��h�ܥ�H����ϥ�H����¥�H���赥�H���訥�H��蛥�H��(莥�H��H聥�H��h�t��H����g��H����Z��H����M��H����@��H���3��H��(�&��H��H���H��h���H�����H������H������H����ؤ�H���ˤ�H��(辤�H��H豤�H��h褤�H���藤�H���芤�H����}��H����p��H���c��H��(�V��H��H�I��H��h�<��H����/��H����"��H������H������H����H��(���H��H���H��h�ԣ�H����ǣ�H���躣�H���譣�H���蠣�H��蓣�H��(膣�H��H�y��H��h�l��H����_��H����R��H����E��H����8��H���+��H��(���H��H���H��h���H�����H������H����ݢ�H����Т�H���â�H��(趢�H��H詢�H��h蜢�H���菢�H���肢�H����u��H����h��H���[��H��(�N��H��H�A��H��h�4��H����'��H������H����
��H������H�����H��(���H��H�١�H��h�̡�H���迡�H���財�H���襡�H���蘡�H��苡�H��(�~��H��H�q��H��h�d��H����W��H����J��H����=��H����0��H���#��H��(���H��H�	��H��h��H������H������H����ՠ�H����Ƞ�H��軠�H��(讠�H��H衠�H��h蔠�H���臠�H����z��H����m��H����`��H���S��H��(�F��H��H�9��H��h�,��H������H������H������H�����H�����H��(�ޟ�H��H�џ�H��h�ğ�H���跟�H���誟�H���蝟�H���萟�H�� 胟�H��( �v��H��H �i��H��h �\��H��� �O��H��� �B��H��� �5��H��� �(��H��!���H��(!���H��H!���H��h!���H���!���H���!�ڞ�H���!�͞�H���!��H��"賞�H��("覞�H��H"虞�H��h"茞�H���"���H���"�r��H���"�e��H���"�X��H��#�K��H��(#�>��H��H#�1��H��h#�$��H���#���H���#�
��H���#��H���#���H��$���H��($�֝�H��H$�ɝ�H��h$輝�H���$话�H���$袝�H���$蕝�H���$舝�H��%�{��H��(%�n��H��H%�a��H��h%�T��H���%�G��H���%�:��H���%�-��H���%� ��H��&���H��(&���H��H&��H��h&���H���&�ߜ�H���&�Ҝ�H���&�Ŝ�H���&踜�H��'諜�H��('螜�H��H'葜�H��h'脜�H���'�w��H���'�j��H���'�]��H���'�P��H��(�C��H��((�6��H��H(�)��H��h(���H���(���H���(���H���(��H���(���H��)�ۛ�H��()�Λ�H��H)��H��h)贛�H���)觛�H���)蚛�H���)荛�H���)耛�H��*�s��H��(*�f��H��H*�Y��H��h*�L��H���*�?��H���*�2��H���*�%��H���*���H�M����H��+���H��(+���H��H+���H��h+�ښ�H���+�͚�H�M��Ú�H���+趚�H���+詚�H���+蜚�H��,菚�H�M�腚�H��(,�x��H��H,�k��H��h,�^��H���,�Q��H�M��G��H���,�:��H���,�-��H���,� ��H��-���H��(-���H�M��H��H-���H��h-���H���-�ՙ�H���-�ș�H���-軙�H���-讙�H��.衙�H��(.蔙�H�M 芙�H��H.�}��H��h.�p��H�M@�f��H���.�Y��H���.�L��H���.�?��H���.�2��H��/�%��H�M`���H��(/���H��H/���H��h/���H���/���H���/�ژ�H����͘�H���/��H���/賘�H��0覘�H��(0虘�H���茘�H��H0���H��h0�r��H���0�e��H���0�X��H����K��H���0�>��H���0�1��H��1�$��H��(1���H����
��H��H1��H��h1���H���1���H���1�֗�H���1�ɗ�H��輗�H���1诗�H��2袗�H��(2蕗�H��H2舗�H��h2�{��H�� �n��H���2�a��H���2�T��H���2�G��H���2�:��H��@�-��H��3� ��H��(3���H��H3���H��h3��H��`���H���3�ߖ�H���3�Җ�H����Ŗ�H���3踖�H���3論�H��4螖�H��(4葖�H���脖�H��H4�w��H��h4�j��H���4�]��H���4�P��H����C��H���4�6��H���4�)��H��5���H��(5���H������H��H5��H��h5���H���5�ە�H���5�Ε�H���5��H��贕�H���5觕�H��6蚕�H��(6荕�H��H6耕�H��h6�s��H���6�f��H�� �Y��H���6�L��H���6�?��H���6�2��H��7�%��H��(7���H��@���H��H7��H��h7���H���7���H���7�ה�H���7�ʔ�H���7轔�H��`谔�H��8裔�H��(8薔�H��H8艔�H��h8�|��H���8�o��H���8�b��H����U��H���8�H��H���8�;��H��9�.��H��(9�!��H��H9���H������H��h9��H���9���H���9���H���9�ӓ�H����Ɠ�H���9蹓�H��:謓�H��(:蟓�H��H:蒓�H���腓�H��h:�x��H���:�k��H���:�^��H���:�Q��H���:�D��H���7��H��;�*��H��(;���H��H;���H��h;���H�� ��H���;���H���;�ܒ�H���;�ϒ�H���;�’�H��@赒�H��<訒�H��(<蛒�H��H<莒�H��h<聒�H��`�t��H���<�g��H���<�Z��H���<�M��H���<�@��H����3��H��=�&��H��(=���H��H=���H��h=��H������H���=���H���=�ؑ�H���=�ˑ�H���=辑�H���豑�H��>褑�H��(>藑�H��H>芑�H��h>�}��H����p��H���>�c��H���>�V��H���>�I��H���>�<��H��?�/��H��(?�"��H�����H��H?���H��h?��H���?���H���?���H���?�Ԑ�H���?�ǐ�H�� 躐�H��@譐�H��(@蠐�H��H@蓐�H��h@膐�H��@�y��H���@�l��H���@�_��H���@�R��H���@�E��H��`�8��H��A�+��H��(A���H��HA���H��hA���H�����H���A���H���A�ݏ�H���A�Џ�H���A�Ï�H���趏�H��B詏�H��(B蜏�H��HB菏�H��hB肏�H����u��H���B�h��H���B�[��H���B�N��H���B�A��H����4��H��C�'��H��(C���H��HC�
��H��hC���H���C���H�����H���C�َ�H���C�̎�H���C迎�H��D貎�H�� 襎�H��(D蘎�H��HD苎�H��hD�~��H���D�q��H���D�d��H��@�W��H���D�J��H���D�=��H��E�0��H��(E�#��H��HE���H��hE�	��H��`��H���E���H���E���H���E�Ս�H���E�ȍ�H��F軍�H���讍�H��(F衍�H��HF蔍�H��hF臍�H���F�z��H���F�m��H����`��H���F�S��H���F�F��H��G�9��H��(G�,��H��HG���H������H��hG���H���G��H���G���H���G�ތ�H����ь�H���G�Č�H��H跌�H��(H誌�H��HH蝌�H��hH萌�H���H背�H���v��H���H�i��H���H�\��H���H�O��H��I�B��H��(I�5��H��HI�(��H�� ���H��hI���H��@���H���I���H���I���H���I�ڋ�H���I�͋�H��J��H��(J賋�H��HJ見�H��`虋�H��hJ茋�H���J���H���J�r��H���J�e��H���J�X��H��K�K��H����>��H��(K�1��H��HK�$��H��hK���H���K�
��H���K��H������H���K���H���K�֊�H��L�Ɋ�H��(L輊�H��HL诊�H��hL袊�H���蕊�H���L舊�H���L�{��H���L�n��H���L�a��H��M�T��H����G��H��(M�:��H��HM�-��H��hM� ��H���M���H���M���H����H���M���H���M�߉�H��N�҉�H�� �ʼn�H��(N踉�H��HN諉�H��hN螉�H��@葉�H���N脉�H���N�w��H���N�j��H��`�]��H���N�P��H��O�C��H��(O�6��H��HO�)��H��hO���H������H���O���H���O��H������H���O�ۈ�H���O�Έ�H�����H��P贈�H��(P览�H��HP蚈�H��hP荈�H���耈�H���P�s��H���P�f��H���P�Y��H���P�L��H��Q�?��H���2��H��(Q�%��H��HQ���H��hQ���H���Q��H���Q���H�� ���H���Q�ׇ�H���Q�ʇ�H��R轇�H��(R谇�H��@裇�H��HR薇�H��hR艇�H���R�|��H��`�o��H���R�b��H���R�U��H���R�H��H��S�;��H��(S�.��H����!��H��HS���H��hS���H�����H���S���H���S���H����ӆ�H���S�Ɔ�H���S蹆�H��T謆�H��(T蟆�H��HT蒆�H��hT腆�H���T�x��H����k��H���T�^��H���T�Q��H���T�D��H��U�7��H��(U�*��H��HU���H��	���H��hU���H���U��H���U���H���U�܅�H���U�υ�H�� 	�…�H��V赅�H��(V訅�H��HV蛅�H��hV莅�H���V聅�H��@	�t��H���V�g��H���V�Z��H���V�M��H��W�@��H��(W�3��H��`	�&��H��HW���H���	���H��hW��H���W���H���W���H���W�؄�H���W�˄�H���	辄�H��X豄�H��(X褄�H��HX藄�H��hX芄�H���	�}��H���X�p��H���X�c��H���X�V��H���X�I��H���	�<��H��Y�/��H��(Y�"��H��HY���H��hY���H���Y��H��
���H���Y���H���Y�ԃ�H���Y�ǃ�H��Z躃�H��(Z譃�H��HZ蠃�H�� 
蓃�H��hZ膃�H���Z�y��H���Z�l��H���Z�_��H���Z�R��H��@
�E��H��[�8��H��([�+��H��H[���H��h[���H���[���H��`
��H���[���H���[�݂�H���[�Ђ�H��\�Â�H���
趂�H��(\詂�H��H\蜂�H��h\菂�H���\肂�H���
�u��H���\�h��H���\�[��H���\�N��H��]�A��H���
�4��H��(]�'��H��H]���H��h]�
��H���]���H���
���H���]���H���]�ف�H���]�́�H��^迁�H��貁�H��(^襁�H��H^蘁�H��h^苁�H���^�~��H�� �q��H���^�d��H���^�W��H���^�J��H��_�=��H��@�0��H��(_�#��H��H_���H��h_�	��H���_��H��`���H���_���H���_�Հ�H���_�Ȁ�H��`軀�H�L$ 谀�H��(`裀�H��H`薀�H��h`艀�H���`�|��H����o��H���`�b��H���`�U��H����H��H���`�;��H��a�.��H����!��H��(a���H��Ha���H�����H��ha���H���a���H���a���H���a���H����H���a��H�L$@��H��b��H�L$`��H��H��$��H��p�]�����H���H����������@SH�� H��H�IH��tH�� 3��Y�H�KH��t
�`��h�H�� [�����������H��HH�}40H3�H�D$8I�xL��I��rI�M�HL�I�xrM�H�zI��rH�
H�RH�I�zrM��D$0I�ʈD$(�D$0�D$ �Vu��H�L$8H3��9�H��H�����@SVWH��I��H��H�T$PL�D$(�d$ H�T$0�r��W�3�H�CH!H!CH!C�D$ H�|$0H�CH;|$8tyL�G@H;CtH�`H�`I��H���ȃ�H�C �H��H���F��H�G�xtH�G�
H;xu
H��H�@�xt�H���H��H��yu�H��H�H�Ȁxt��|���H+H��H��uH��H�İ_^[�L��H�y?(H�L$0�Of�L�O?(H��H��$��ge�H��H�L$X�{�H���/H�L$X�X���������H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K���H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�1��H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0��H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�Q��H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0�9�H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K�q��H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H�\$WH��@H��H�L$0���H�H�L$ L�@L�D$(H� H�`H�SH;StH�
L�B3�H�L$(H�C�L�D$ H�K葵�H�L$(��H��t/����A�u$H�\$(H�H������C�uH�L$(H��P�H�\$8H��t'����C�uH�H������C�u	H�H��PH�\$PH��@_����������H��SH��PH�`�L�
�#'E3�H�@�H���@�H�H�A�P%�mf�H�T$ H��� 7��H�I<(H�H��P[�H��SH��PH�`�L�
��&E3�H�@�H���@�H�H�A�P!�f�H�T$ H����6��H��;(H�H��P[�H��SH��PH�`�L�
�9'E3�H�@�H���@�H�H�A�P��e�H�T$ H���6��H�q:(H�H��P[�H��SH��PH�`�L�
4O'E3�H�@�H���@�H�H�A�P�}e�H�T$ H���06��H��:(H�H��P[�H�\$H�L$WH�� H���8�ԜH��H�D$0H��t&W���C�CH�<(H�H�K�s����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8�d�H��H�D$0H��t&W���C�CH�;(H�H�K�S����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8��H��H�D$0H��t&W���C�CH��:(H�H�K��3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8脛H��H�D$0H��t&W���C�CH�O:(H�H�K�����3�W�H�CH�H�_H��H�\$8H�� _�H�\$H�L$WH�� H���8��H��H�D$0H��t&W���C�CH�:(H�H�K����3�W�H�CH�H�_H��H�\$8H�� _�@SH��P��&H�T$ H��H�L$@�
�&��L$(�
��&f�L$,�
��&�L$.H��H�D$8H�D$0�D$ �D$/�3��H�7(H�H��H��P[�H�L$SH�� H������H�^	H�H���[���H���3���H������H���c���H���{����H��H�� [��@SH�� H�[9(H��H���t
�8��H��H�� [������@SH�� H�9(H��H���t
�8��H��H�� [������@SH�� H�[8(H��H���t
�8辙H��H�� [������@SH�� H�S8(H��H���t
�8莙H��H�� [������@SH�� H�K8(H��H���t
�8�^�H��H�� [������L��I�[I�KUVWAVAWH��@I��H��E3�E�{�L�9L�yL�yL�yL�y L�y(L�y0L�y8�A@$tII��L�qHD�yPD�yXL�y`L�yhL�ypL�yxfD���L���A�G���ǁ�D���L���Hǁ�D���D����D$ I�K��H�H�PL�8L�xH�H�_H�WH��t+A����CA�uH�H��A����CA�u	H�H��PH�\$0H��t+A����CA�uH�H��A����CA�u	H�H��PL�D$xH��H�O�����G@$tIL�wHD�PD���H��H��$�H��@A_A^_^]�����H�\$WH��0H��H�L$ �9H�H� H�H�PH�`H�\$(H�WH��t+����C��uH�H������C��u	H�H��PH�\$@H��H��0_����������������H�\$WH�� H��H��H�I��H�aH��H�a�Sw�H�|6(H�C(�G�C8H�\$@H�� _��H�\$H�t$H�L$WH�� H��H����蜖H��H�D$0H��t)W���C�CH�W6(H�H�KH����3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H��H�XH�hH�p H�HWH�� I��H��H���P��H��H�D$0H��t,W���C�CH��5(H�H�KL��H�������3�W�H�CH�H�_H��H�\$8H�l$@H�t$HH�� _��H�\$WH�� H��H���+���H��H��P�P��`��`�d�d��t��t��x��x��|H�\$0��|H��H�� _��������H�\$WH�� H���H�H��H�Q H��rH�IH���Y�H�cH�C �C@��t
�@H����H��H�\$0H�� _����������������@SH�� H��4(H��H���t
���ޔH��H�� [������@SH�� H�;4(H��H���t
�P讔H��H�� [������@USVWATAUAVAWH��$���H���H�u$0H3�H���I��I��L��L��H�U�E3�D�d$tH����E�l$E��H��H������W�3�EpH���L��H�UpI����I�^L�NH�|$ L��H���I���8����H���H�D$ L�MpL��H���I���՘���A�|$H�}�L�e�D�d$xL�N0D�d$`D�d$XD�l$PD�d$HD�d$@H�D$xH�D$8H���H�D$0H���H�D$(H�\$ L���H��I���X����H�U�H��r
H��H�L$x�W���P��@H��H�M����M�'M�gM�gD�L$pL�EhH�U�I���O���D�l$tL�
#��M�ź�H�M����H���H��rH��H����W�L���H���D���H���H��rH��H�����V�L���H���D���H�MpH��t0L�EpH�Ux���H���H�MpH+�H����V�L�epW��ExH���j��I��H���H3��X�H���A_A^A]A\_^[]�����H�\$H�t$ UWATAVAWH��$P���H��L��H��H�UHE3�D�|$ W�3�H�BH�yL���H��H�MP�T�H�؋V(H�L$(����D$ W�f��)MpC)��L�{E�gL�cD�;D$()��L$8)��L�|$8L�d$@D�|$(L��H��H�M(�T�H�؋V,H�L$H�<���D$ W�f��)��C)��L�{L�cD�;D$H)��L$X)��L�|$XL�d$`D�|$HL���H��H�M�S�H�؋V4H�L$h����D$ ~W�f�)��C)�L�{L�cD�;D$h)�L$x)� L�|$xL�e�D�|$hL�'�H��H�M��#S�H�؋V8H�M��D���D$ �W�f�@)�0C)�@L�{L�cD�;E�)�PM�)�`L�}�L�e�D�}�L���H��H�M��R�H�؋V0H�M������D$ �W�f��)�pC)��L�{L�cD�;E�)��M�)��L�}�L�e�D�}�M�>M�~M�~D�L$$L���H�UpI���u1��D$ �L�
�?�A�W@E�GH�Mp�%��H�U�H��rH��H�M��^S�L�}�L�e�D�}�H�UH��rH��H�M��<S�L�}�L�eD�}�H�U H��rH��H�M�S�L�}L�e D�}H�U@H��rH��H�M(�R�L�}8L�e@D�}(H�UhH��rH��H�MP��R�I��L��$�I�[@I�sHI��A_A^A\_]��������@USVWAUAVAWH�l$�H��I��H��H�U�E3�D�|$$W�3�H�B�Vr���D$$E�oL�m�A�H�}�H�LT_SIZESH�E�D�}�L��PH�U�H�M��(����L�l$xH�|$pH�RB_SIZESH�D$`D�|$hL��dH�T$`H�M����L�l$XH�D$P��,(�D$@��,(�D$HD�|$L��|H�T$@H�M�蒭�����xH�M�肪���L�
�H��H�M�(�W��D$(L�|$8D�L$ L�EH�U�H�L$(�0�L�t$0H�\$(I;�tQH�VH;Vt)L�:L�zH�CH��t�@H�H�H�CH�BH�F�L��H���
��H��I;�u�L�t$0H�\$(H��tsI;�tLA��H�{H��t+A����GA�uH�H��A����GA�u	H�H��PH��I;�u�H�\$(A�H�T$8H+�H���H���P�W��D$(L�|$8L�
�g�D�B�H�M��6��H�U�H��rH��H�M��oP�L�}�L�m�D�}�H�T$XH��r
H��H�L$@�KP�L�|$PL�l$XD�|$@H�T$xH��r
H��H�L$`�$P�L�|$pL�l$xD�|$`H�U�H��rH��H�M��O�H��H��A_A^A]_^[]�����������H�\$H�t$ UWAVH�l$�H���H�w0H3�H�E?H��H�"H�bH�bH�bH�b H�b(�B0�b4I����x@���B03�H�EA��DI��H�\$ E3�D��L�5�0I��H�M�����H�E�H�E�H�\$ A�D��I��H�M����H�E�H�E�H�\$ A�D��I��H�M����H�\$ A�D��I��H�M����H�E�H�E�H�E�W��EH�eD�M�L�E�H�U�H�M�p{�W��E�H�e�H�}L�uI;�tfL+�I��H��H��������H;���H��H��r
H����M��H��t
H�����3�H�E�H�E�H�H�]�M��H��H����vH�]�H�U�H�M'����H�H�H�GH�FH�GH�FH�M'H�H�FH�AH�F H�AH�F(H�U7H+�H����M�W��E'H�e7H�UH+�H��H����M�H��H�M?H3�袊L��$�I�[ I�s8I��A^_]���k�����L��I�[I�KUVWAVAWH��@I��H��E3�E�{�L�9L�yL�yL�yL�y L�y(L�y0L�y8�A@$tII��L�qHD�yPD�yXL�y`L�yhL�ypL�yxfD���L���A�G���ǁ�D���L���Hǁ�D���D����D$ I�K��H�H�PL�8L�xH�H�_H�WH��t+A����CA�uH�H��A����CA�u	H�H��PH�\$0H��t+A����CA�uH�H��A����CA�u	H�H��PL�D$xH��H�O�����G@$tIL�wHD�PD���H��H��$�H��@A_A^_^]�����H�\$WH�� H��H��H�L$0�����H�V�H�H��PH��P�h��H�\$8H�� _�������������H�\$H�t$H�L$WH�� H��H���x�,�H��H�D$0H��t)W���C�CH�'(H�H�KH���X����3�W�H�CH�H�_H��H�\$8H�t$@H�� _�@SH�� H��&(H��H���t
�x��H��H�� [������@USVWATAUAVAWH��$���H���H��0H3�H���I��I��L��L��H�U�E3�D�d$tI��H�����E�l$E��H��H�������W�3�EpH���L��H�UpI����I�^L�NH�|$ L��H���I���u����H���H�D$ L�MpL��H���I�������A�|$H�}�L�e�D�d$xL�N0D�d$`D�d$XD�l$PD�d$HD�d$@H�D$xH�D$8H���H�D$0H���H�D$(H�\$ L���H��I��蕐���H�U�H��r
H��H�L$x��I���P��@H��H�M��-��M�'M�gM�gD�L$pL�EhH�U�I��茧��D�l$tL�
`��M�ź�H�M����H���H��rH��H����RI�L���H���D���H���H��rH��H����!I�L���H���D���H�MpH��t0L�EpH�Ux���H���H�MpH+�H�����H�L�epW��ExH��觥�I��H���H3�蕅H���A_A^A]A\_^[]��@USVWAVH��H��I��H��H�U�e�W�3�H�B�Ph���E��H�E�H�E���#(�E���#(�E���#(f�E̊�#(�E��E�L��PH�U�H�M��[���W��E�H�e�D�M�L�E�H�U�H�M��&�L�u�H�]�I;�tQH�VH;Vt+H�"H�bH�CH��t�@H�H�H�CH�BH�F�L��H�����H��I;�u�L�u�H�]�H��tfI;�tAH�{H��t+����G��uH�H������G��u	H�H��PH��I;�u�H�]�H�U�H+�H���H���:G�W��E�H�e�L�
&^�D�B�H�M��ā�H�U�H��rH��H�M��F�H��H�ĀA^_^[]�������������H�\$H�t$ UWAVH�l$�H���H�w0H3�H�E?H��H�!H�aH�aH�aH�a H�a(�A0�a4H����x@���A03�H�E��DH��H�\$ E3�D��L�5�0I��H�M����H�E�H�E�H�\$ A�D��I��H�M���H�E�H�E�H�\$ A�D��I��H�M���H�\$ A�D��I��H�M���H�E�H�E�H�E�W��EH�eD�M�L�E�H�U�H�M�qr�W��E�H�e�H�}L�uI;�tfL+�I��H��H��������H;���H��H��r
H����D��H��t
H�����3�H�E�H�E�H�H�]�M��H��H����mH�]�H�U�H�M'����H�H�H�GH�FH�GH�FH�M'H�H�FH�AH�F H�AH�F(H�U7H+�H����D�W��E'H�e7H�UH+�H��H����D�H��H�M?H3�裁L��$�I�[0I�s8I��A^_]���b������L��I�[I�KUVWAVAWH��@I��H��E3�E�{�L�9L�yL�yL�yL�y L�y(L�y0L�y8�A@$tII��L�qHD�yPD�yXL�y`L�yhL�ypL�yxfD���L���A�G���ǁ�D���L���Hǁ�D���D����D$ I�K��H�H�PL�8L�xH�H�_H�WH��t+A����CA�uH�H��A����CA�u	H�H��PH�\$0H��t+A����CA�uH�H��A����CA�u	H�H��PL�D$xH��H�O�����G@$tIL�wHD�PD���H��H��$�H��@A_A^_^]�����H�\$WH�� H��H��H�L$0�����H���H���P��PH��XH��X�\��H�\$8H�� _�H����H�\$VWAVH�� E3�H��������M��H��H��H;�w\H�<�H��r
H���A��
H��tH���}L��L�J�L�NH�FI�I�I��H��u�H�\$PL�NH�� A^_^��`���������������H�\$H�t$H�L$WH�� H��H�����}H��H�D$0H��t)W���C�CH�'(H�H�KH������3�W�H�CH�H�_H��H�\$8H�t$@H�� _�@SH�� H��(H��H���t
���N}H��H�� [������@USVWATAUAVAWH��$���H���H�
0H3�H���I��I��L��L��H�U�E3�D�d$tI��H����lE�l$E��H��H���u����W�3�EpH���L��H�UpI����I�^L�NH�|$ L��H���I���Պ���H���H�D$ L�MpL��H���I���r����A�|$H�}�L�e�D�d$xL�N0D�d$`D�d$XD�l$PD�d$HD�d$@H�D$xH�D$8H���H�D$0H���H�D$(H�\$ L���H��I������H�U�H��r
H��H�L$x�-@���P��@H��H�M�荐�M�'M�gM�gD�L$pL�EhH�U�I�����D�l$tL�
���M�ź�H�M��z�H���H��rH��H����?�L���H���D���H���H��rH��H����?�L���H���D���H�MpH��t0L�EpH�Ux�V��H���H�MpH+�H����??�L�epW��ExH�����I��H���H3��{H���A_A^A]A\_^[]��H�\$ UVWATAUAVAWH��$P���H��H��
0H3�H���M��H��H��@E3�D�d$$W�3�H�B�^���D$$HDžXW����L���L��XA�T$H�������E�T$E�\$E��A��M��`I��X��A;�t1H��I;�u�H���H���H+�H��H;��Ic�H��A��A��H��y�H����D�nH�y��H���HDž�������������D���H���H+�H��I;���L�AH���H��`耫���W��D$pL�e�D�L$ L��pH��`H�L$p��L�t$xH�|$pI;�tOH�SH;St(L�"L�bH�GH��t�@H�H�H�GH�BLk�L��H�����I�I;�u�L�t$xH�|$pH��tkI;�tFH�wH��t+����F��uH�H������F��u	H�H��PI�I;�u�H�|$p�H�U�H+�H���H���<�W��D$pL�e�L�
�S�A�I��H��`�*w�H���I;�rH��H����^<�H���H�y��H���HDž�������������D���H���H+�H��H���L�AH���H����ܩ���W��E�L�e�D�L$ L���H���H�M��S�L�u�H�}�I;�tMH�SH;St(L�"L�bH�GH��t�@H�H�H�GH�BLk�L��H���X��I�I;�u�L�u�H�}�H��tiI;�tEH�wH��t+����F��uH�H������F��u	H�H��PI�I;�u�H�}��H�U�H+�H���H���;�W��E�L�e�L�
�Q�A�I��H����u�H���I;�rH��H�����:�H���H�y��H���HDž��P(����H(���D���H���H+�H��H���{L�AH���H��p�@����W��E�L�e�D�L$ L���H��pH�M���L�u�H�}�I;�tMH�SH;St(L�"L�bH�GH��t�@H�H�H�GH�BLk�L��H�����I�I;�u�L�u�H�}�H��tiI;�tEH�wH��t+����F��uH�H������F��u	H�H��PI�I;�u�H�}��H�U�H+�H���H���j9�W��E�L�e�L�
WP�A�I��H��p��s�H���I;�rH��H����&9�H���H�9��H��HDž��(����(��D��H���H+�H��H����
L�H��H���触���W��E�L�e�D�L$ L���H���H�M���L�u�H�}�I;�tMH�SH;St(L�"L�bH�GH��t�@H�H�H�GH�BLk�L��H���#��I�I;�u�L�u�H�}�H��tiI;�tEH�wH��t+����F��uH�H������F��u	H�H��PI�I;�u�H�}��H�U�H+�H���H����7�W��E�L�e�L�
�N�A�I��H����Yr�H��I;�rH��H���7�H���H��8�H��0H�REDUCE_XH�� D��(H���H+�H��H���cH�yA��H�� H��P觓���H�uPH�}HH�REDUCE_YH�E8D�e@H���H���H+�H��H���H�yA��H�U8H��`�T����H�u0H�}(H�REDUCE_FH�ED�e H���H���H+�H��H����H�yA��H�UH��p�����H��H��H�REDUCE_BH���D��H���H���H+�H��H���8H�9A��H���H���衒���W��E�L�e�D�L$ L���H��PH�M���L�u�H�}�I;�tMH�SH;St(L�"L�bH�GH��t�@H�H�H�GH�BLk�L��H�����I�I;�u�L�u�H�}�H��tiI;�tEH�wH��t+����F��uH�H������F��u	H�H��PI�I;�u�H�}оH�U�H+�H���H���;5�W��E�L�e�L�5(L�M��A�I��H��P�o�H��I;�rH��H�����4�L��H��D���H�U0I;�rH��H�M��4�L�e(H�u0D�eH�UPI;�rH��H�M8�4�L�eHH�uPD�e8H��8I;�rH��H�� �4�A��P������
���M��������L��PH��XD��@H��(H��@�0�L�/(H��@H����
�L�ehH�upD�eXH��(H�MX�0�L�(H�UXH�����
�W��D$@L�d$PD�L$ L���H���H�L$@�;�H�t$HH�|$@H;�tOH�SH;St(L�"L�bH�GH��t�@H�H�H�GH�BLk�L��H���>��I�H;�u�H�t$HH�|$@H��t4L�D$@H��H���7��H�T$PH�L$@H+�H����!3�W��D$@L�d$PM��A�I��H����m�H�UpI;�rH��H�MX��2�L�ehH�EpD�eXH��XI;��uH��@�`L��pH��xD��`H�e(H��`�!/�L��H��`H����f	�L���H���D�exH�<(H�Mx��.�L�S(H�UxH����+	�W��D$(L�d$8D�L$ L���H���H�L$(��H�t$0H�|$(H;�tOH�SH;St(L�"L�bH�GH��t�@H�H�H�GH�BLk�L��H�����I�H;�u�H�t$0H�|$(H��t4L�D$(H��H����H�T$8H�L$(H+�H����1�W��D$(L�d$8M��A�I��H����l�H���I;�rH��H�Mx�F1�L���HDž�D�exH��xI;���H��`�L���H���D���H��(H����|-�L�tLH���H�����L���H���D���H��(H����8-�L��(H���H����}�W��D$XL�d$hD�L$ L��H���H�L$X���H�t$`H�|$XH;�tOH�SH;St(L�"L�bH�GH��t�@H�H�H�GH�BLk�L��H�����I�H;�u�H�t$`H�|$XH��t4L�D$XH��H�����H�T$hH�L$XH+�H�����/�W��D$XL�d$hM��A�I��H����aj�H���I;�rH��H����/�L���HDž�D���H���I;��H����H��0HDž(�(���(f�� ��
(��"D��#L��JH��H�����L���H���D���L�
�
(E�ĺH�����2�L��
(H���H����W��E�L�e�D�L$ L�� H��H�M��
�L�u�H�}�I;�tMH�SH;St(L�"L�bH�GH��t�@H�H�H�GH�BLk�L��H���#��I�I;�u�L�u�H�}�H��tmI;�tIH�wH��t/A��A����FA�uH�H��A����FA�u	H�H��PI�I;�u�H�}�H�U�H+�H���H����-�W��E�L�e�L�
�D�A�I��H���Uh�H���I;�rH��H����-�L���H���D���H��0I;��H���H��PHDžH�	(��8��(f��@��(��BD��CL���H��8H�� ���L���H���D���L�
�(E�ĺH����0�L��(H���H��0��W��EL�eD�L$ L��@H�� H�M��L�uH�}I;�tMH�SH;St(L�"L�bH�GH��t�@H�H�H�GH�BLk�L��H�����I�I;�u�L�uH�}H��tmI;�tIH�wH��t/A��A����FA�uH�H��A����FA�u	H�H��PI�I;�u�H�}�H�UH+�H���H����+�W��EL�eL�
�B�A�I��H�� �Mf�H���I;�rH��H����+�L���H���D���H��PI;�rH��8H���Q+�H���H��tH���H+�H���1+�H��H���H3��gH��$H�İA_A^A]A\_^]��Ob��Ib��Cb��=b��7b��1b��+b��%b��b����������������H�\$H�t$ UWAVH�l$�H��H�W�/H3�H�E?H��H�!H�aH�aH�aH�a H�a(�A0�a4H����x@���A03�H�E��DH��H�\$ D�HD��L�5��/I��H�M����H�E�H�E�H�\$ A�D��I��H�M����H�E�H�E�H�\$ E3�D��I��H�M��|��H�E�H�E�W��EH�eD�M�L�EH�U�H�M�rV�W��E�H�e�H�}L�uI;�tfL+�I��H��H��������H;���H��H��r
H����(��H��t
H����d�3�H�E�H�E�H�H�]�M��H��H����QH�]�H�U�H�M'����H�H�H�GH�FH�GH�FH�M'H�H�FH�AH�F H�AH�F(H�U7H+�H����(�W��E'H�e7H�UH+�H��H����(�H��H�M?H3��eL��$�I�[0I�s8I��A^_]���F�������L��I�[I�KUVWAVAWH��@I��H��E3�E�{�L�9L�yL�yL�yL�y L�y(L�y0L�y8�A@$tII��L�qHD�yPD�yXL�y`L�yhL�ypL�yxfD���L���A�G���ǁ�D���L���Hǁ�D���D����D$ I�K�� H�H�PL�8L�xH�H�_H�WH��t+A����CA�uH�H��A����CA�u	H�H��PH�\$0H��t+A����CA�uH�H��A����CA�u	H�H��PL�D$xH��H�O�����G@$tIL�wHD�PD���H��H��$�H��@A_A^_^]�����H�\$WH�� H��H������H�l�H���P��P��T��T��X��X��YH�\$0��YH�� _�������H�\$H�t$H�L$WH�� H��H���p�bH��H�D$0H��t)W���C�CH�(H�H�KH���H����3�W�H�CH�H�_H��H�\$8H�t$@H�� _�@SH�� H��(H��H���t
�p��aH��H�� [������@USVWATAVAWH��$ ���H���H���/H3�H���I��I��L��L��H�U�E3�D�d$tH����q
E�D$H��H���
����W�3�EpH���L��H�UpI���-�I�~L�NH�\$ L��H���I���mo���H���H�D$ L�MpL��H���I���
f���A�\$H�]�L�e�D�d$xH���H+��H�9��8��8H��H��H��H��?H�L�N0D�d$`D�d$X�T$PD�d$HD�d$@H�D$xH�D$8H���H�D$0H���H�D$(H�|$ L���H��I���ek���H�U�H��r
H��H�L$x�$���@��@H��H�M��t�M�'M�gM�gD�L$pL�EhH�U�I���\����D$tL�
-���A�H�M���^�H���H��rH��H����$�L���H���D���H���H��rH��H�����#�L���H���D���H�MpH��t0L�EpH�Ux��H���H�MpH+�H����#�L�epW��ExH���q��I��H���H3��_`H���A_A^A\_^[]��������������H�\$ UVWATAUAVAWH��$���H���M��H��H���E3�D�d$4W�3�H�B�B���D$4A�t$H���E�t$L����X1f���D���I���D�@DH��H�D$ E3�H�J�/H��H��p�K��L��pH���H���葐���H�uXL�uP�Y1f�E@D�eBI���D�@DH��H�D$ E�L$H��H�������L���H�U@H���<����H�u8L�u0�X2f�E D�e"I���D���H��PH�D$ E3�H��H������L���H�U H������H�uL�u�Y2f�ED�eI���D���H��PH�D$ E�L$H��H����E��L���H�UH�� 莏���H�u�H�E��7��E��2��E�D�e��A�PH�U�H��0�2}���H�u�H�E��E�BETAD�e��A�TH�U�H��@�}���L�e�H�u�D�e�L�
}�'E��E�l$A��H�M��$�E��XH�U�H��P�q}���L�e�H�u�D�e�L�
U�'E��A��H�M��$�E��YH�U�H��`�6}���W��D$8L�d$HD�L$0L��pH���H�L$8���L�t$@H�\$8I;�tOH�WH;Wt(L�"L�bH�CH��t�@H�H�H�CH�BLo�L��H�����I�I;�u�L�t$@H�\$8H��tmI;�tFH�sH��t+����F��uH�H������F��u	H�H��PI�I;�u�H�\$8�H�T$HH+�H���H�����W��D$8L�d$HL�
�6�A�I��H����MZ�H�U�I;�rH��H�M���L�e�H�u�D�e�H�U�I;�rH��H�M��f�L�e�H�u�D�e�H�U�I;�rH��H�M��E�L�e�H�u�D�e�H�U�I;�rH��H�M��$�L�e�H�u�D�e�H�UI;�rH��H�M��L�eH�uD�eH�U8I;�rH��H�M ���L�e0H�u8D�e H�UXI;�rH��H�M@��L�ePH�uXD�e@H���I;�rH��H�����I���I+��H�9��8��8H��H��H��H��?H����'���'H���cH�uxH�Ep
�E`�Eh��'�ElD�emA�H�U`H����z���W��D$PL�d$`D�L$0L���H���H�L$P��L�t$XH�\$PI;�tOH�WH;Wt(L�"L�bH�CH��t�@H�H�H�CH�BLo�L��H��茯�I�I;�u�L�t$XH�\$PH��tlI;�tEA��H�sH��t+A����FA�uH�H��A����FA�u	H�H��PI�I;�u�H�\$PH�T$`H+�H���H���7�W��D$PL�d$`L�
"4�A�I��H����W�H�UxI;���H�M`�uH���HDž�
�������l�'���D���E3�H���H����-y���W��D$hL�d$xD�L$0L���H���H�L$h���L�t$pH�\$hI;�tOH�WH;Wt(L�"L�bH�CH��t�@H�H�H�CH�BLo�L��H�����I�I;�u�L�t$pH�\$hH��tlI;�tEA��H�sH��t+A����FA�uH�H��A����FA�u	H�H��PI�I;�u�H�\$hH�T$xH+�H���H����W��D$hL�d$xL�
�2�A�I��H����EV�H���I;�rH���H���y�H��H��$HH���A_A^A]A\_^]������������H�\$H�t$ UWATAVAWH�l$�H���H���/H3�H�E'I��L��E3�L�:L�zL�zL�zL�z L�z(D�z0D�z4I����x@���B0I���H�CH�D$ E�OD�CDL�%L�/I��H�M��P��H�E�H�E�H�CPH�D$ E3�D���I��H�M��)��H�E�H�E�H��H�t$ E�OD��DI��H�M����H�E�H�E�W��E�L�}D�M�L�E�H�U�H�M��F�D8�XtPH���E3�I��H�M�H�CD�CDH�D$ ���H�E�I��H�M�H�E�H�CPD���H�D$ D8�YuWE3��XD8�Y��H���H�CH�D$ A�D�CDI��H�M��H��H�E�H�E�H�CPH�D$ D���I��H�M�A����H�E�H�t$ H�E�A�D��DI��H�M����H�E�H�E�H�E�H�E�H�E�H�E�H�U�H�M�裄��W��E�L�}�H�}�H�u�H;�tgH+�H��H��H��������H;���H��H��r
H���h��H��t
H���iT�I��H�E�H�E�H�H�]�L��H��H���WAH�]�H�U�H�M�o��H�I�H�GI�FH�GI�FH�MH�I�FH�AI�F H�AI�F(H�UH+�H���u�W��EL�}H�UH+�H��H���V�I��H�M'H3��'UL��$�I�[0I�sHI��A_A^A\_]��f6������L��I�[I�KUVWAVAWH��@I��H��E3�E�{�L�9L�yL�yL�yL�y L�y(L�y0L�y8�A@$tII��L�qHD�yPD�yXL�y`L�yhL�ypL�yxfD���L���A�G���ǁ�D���L���Hǁ�D���D����D$ I�K��H�H�PL�8L�xH�H�_H�WH��t+A����CA�uH�H��A����CA�u	H�H��PH�\$0H��t+A����CA�uH�H��A����CA�u	H�H��PL�D$xH��H�O�u���G@$tIL�wHD�PD���H��H��$�H��@A_A^_^]�����H�\$WH�� H��H��H�L$0�}���H�.�H�H��PH��P�"��h��hH�\$8H�� _��H�\$H�t$H�L$WH�� H��H�����QH��H�D$0H��t)W���C�CH��'H�H�KH���X����3�W�H�CH�H�_H��H�\$8H�t$@H�� _�@SH�� H���'H��H���t
���nQH��H�� [������@USVWATAVAWH��$ ���H���H�7�/H3�H���I��I��L��L��H�U�E3�D�d$tI��H�����E�D$H��H�������W�3�EpH���L��H�UpI���*�I�~L�NH�\$ L��H���I���^���H���H�D$ L�MpL��H���I���U���A�\$H�]�L�e�D�d$xH���H+��H�9��8��8H��H��H��H��?H�L�N0D�d$`D�d$X�T$PD�d$HD�d$@H�D$xH�D$8H���H�D$0H���H�D$(H�|$ L���H��I����Z���H�U�H��r
H��H�L$x�*���@��@H��H�M��d�M�'M�gM�gD�L$pL�EhH�U�I����q���D$tL�
�p��A�H�M��vN�H���H��rH��H�����L���H���D���H���H��rH��H����x�L���H���D���H�MpH��t0L�EpH�Ux�M��H���H�MpH+�H����6�L�epW��ExH���o�I��H���H3���OH���A_A^A\_^[]�����������@USVWATAVAWH��$0���H���H���/H3�H���I��L��H�T$x�d$0W�3�H�B�2��A�D�d$0A�t$H�u�H�E��H�'�E��D�'f�E��<�'�E��E�L��XL+�PI��H�U�H�L$8�3���H��I�����H�U�H��rH��H�M��!��htcH�u�H�E����'�E����'f�E����'�E��E�A�H�U�H�L$8�Gl��H��I���\�H�U�H��rH��H�M���3�H��XH+�PH��H����I�9��8��8H�e�H�u��E�L�
Z�'E3�A�PH�M��Z�3�H��XH+�PH��H����3�A��H�M���=�VH�M��޺�H��PH��H�L$8�`��L��H��'H�M��E��I��I�~rI�M�FH���,��H��H�����H�T$PH��r
H��H�L$8���H�T$8H�M���w�A��D�d$0H�U�H��rH��H�M���D$8E�L$HM�H�MX�L��H���H�EXH�MX�76�I�9��8��8H��PH��H�L$X��_���L���H��H�M��#��H��I����H�T$pH��r
H��H�L$X���h�
H��P����u6L���H���I+�I��H��H��H��H��?H��KA����u0L���H���I+�I��H��H��H��H��?H��E3��n��u3L���H���I+�I��H��H��H��H��?H���A��6��uTL���H���I+�I��H��H��H��H��?H���A�I�@H�D$ E�@DH���/H�L$X���H�t$XL��H�U�H�M���|��H��I���m��H�U�H��rH��H�M����H��H��XH+�PH��H;�s
�����I��H���H3��pKH���A_A^A\_^[]���E����������H�\$UVWATAUAVAWH�l$�H��H��/H3�H�EH��L��E3�L�!L�aL�aL�aL�a L�a(D�a0D�a4H����x@���A0W��M�L�e�H��PH��XH+�H����hE�l$I;��B���OD9'��L�m�L���H���I+�H�9��8��8H��H��H��H��?H���I�@H�D$ E�L$E�@DH�5��/H��H�M���H�E�H�E�H��H�D$ A�D��DH��H�M����H�E���?����DL��L�|$ A�D��H�5��/H��H�M���H�E�H�E�L���H���I+�H�9��8��8H��H��H��H��?H���E3�I�@H�D$ E�@DH��H�M��9��A�H�E�L�|$ H�E�D���C����?up��DL��L�|$ A�D��H�5��/H��H�M����H�E�H�E�L���H���I+�H�9��8��8H��H��H��H��?H��PE���W���D9/���DL��L�|$ A�D��H�5n�/H��H�M��r��H�E�H�E�L���H���I+�H�9��8��8H��H��H��H��?H���I�@H�D$ A�E�@DH��H�M����E������L���H���I+�H�9��8��8H��H��H��H��?H�I;���I�@PH�D$ E3�E���H�5��/H��H�M�趿���u	L�m�����A�A;�vDA;����DH��H�\$ A�D��H��H�M��o��H�E�H�E�H�E�E�����DH��H�\$ A�D��H��H�M��4��H�E�H�E�H�E��Y������DH��H�\$ A�D��H�5��/H��H�M����H�E�H�E�H�\$ E��D��H��H�M��Ѿ�H�E�A�H�\$ H�E�D��H��H�M�课�H�E�H�E�H�E�H�E�H�E�H�E�H�U�H�M��Zu��W��E�L�e�H�u�H�}�H;�tgH+�H��H��H��������H;���H��H��r
H���	��H��t
H��� E�I��H�E�H�E�H�H�]�L��H��H���2H�]�H�U�H�M�=`��H�I�H�FI�FH�FI�FH�MH�I�FH�AI�F H�AI�F(H�UH+�H���,	�W��EL�eH�U�H+�H��H���
	�I��H�MH3���EH��$H��A_A^A]A\_^]��'��(@���"@���@���@���@�����������������L��I�[I�KUVWAVAWH��@I��H��E3�E�{�L�9L�yL�yL�yL�y L�y(L�y0L�y8�A@$tII��L�qHD�yPD�yXL�y`L�yhL�ypL�yxfD���L���A�G���ǁ�D���L���Hǁ�D���D����D$ I�K��H�H�PL�8L�xH�H�_H�WH��t+A����CA�uH�H��A����CA�u	H�H��PH�\$0H��t+A����CA�uH�H��A����CA�u	H�H��PL�D$xH��H�O�!f���G@$tIL�wHD�PD���H��H��$�H��@A_A^_^]�����H�\$H�t$H�L$WH�� H��H�����BH��H�D$0H��t)W���C�CH�?�'H�H�KH���(�3�W�H�CH�H�_H��H�\$8H�t$@H�� _�H�\$H�t$ H�L$WH�� H��H���m���H�)�H���P��P��T��TH��XH�\$8H��XH���CO�H��-H�H��H�\$@H�t$HH�� _�������@SH�� H�{�'H��H���t
����AH��H�� [������@USVWATAUAVAWH��$����H��H���/H3�H���I��I��L��L��H�U�E3�D�d$tH�U����H��@ ��H0��E�D$H��H�� ����W�3���H���L��H���I���K�I�^L�NH�|$ L��H���I���+O���H���H�D$ L���L��H���I����E���H��0E�l$L�m�L�e�D�e�L�N0D�d$`D�d$XA�t$�t$PD�d$HD�d$@H�E�H�D$8H���H�D$0H���H�D$(H�\$ L���H��I���CK���H�U�H��rH��H�M��|�H�D$xH�O@H�QH;QtH�D$xH�H�A�
L�D$x��v���p��`H�� H�M��T�M�'M�gM�gD�L$pL���H�U�I���b���t$tL�
�`�L�ƺ�H�M��>�H���H��rH��H������L���L���D���H���H��rH��H�����L���L���D���H���H��t?L���H����j��H���H���H+�H����P�L���W����H�� �`�I��H���H3��@H��A_A^A]A\_^[]�������������H�\$ UVWAVAWH�l$�H��I��H��H�U�E3�D�|$$W�3�H�B�"���D$$A�H�}�H�E����'�E����'f�E����'�E�D�}�L��XH�U�H�M������H�|$XH�D$P����D$@���f�D$D����D$FD�|$G��TH�T$@H�M��]�����PH�M��Zd���L�rwH��H�M����H�|$xH�D$p	�/�'�D$`�+�'�D$hD�|$i�J�'H�T$`H�M�]���W��D$(L�|$8D�L$ L�EH�U�H�L$(�.��L�t$0H�\$(I;�tQH�VH;Vt)L�:L�zH�CH��t�@H�H�H�CH�BH�F�L��H���0��H��I;�u�L�t$0H�\$(H��tnI;�tGH�{H��t+����G��uH�H������G��u	H�H��PH��I;�u�H�\$(�H�T$8H+�H���H�����W��D$(L�|$8L�
��D�B�H�M��a;�H�T$xH��r
H��H�L$`��L�|$pH�|$xD�|$`H�U�H��rH��H�M��s�L�}�H�}�D�}�H�T$XH��r
H��H�L$@�O�L�|$PH�|$XD�|$@H�U�H��rH��H�M��*�H��H��$XH��A_A^_^]�����������������H�\$H�t$ UWAVH�l$�H��H���/H3�H�E?I��L��H�"H�bH�bH�bH�b H�b(�B0�b4I����x@���B03�H�EW��MH!EL�EǍPH�M�J��H����DH�|$ D��H���/H�M׃�Pu^E3��س�H�E�H�E�H�|$ A�D��H���/H�M�貳�H�E�H�E�H�|$ A�D��H���/H�M�茳�H�E�H�E�#A��w��H�E�H�E�H�E�H�EH�E�H�E�H�EH�E�H�U�H�M�j��W�3�E'H�E7�E�H!E�H�uH�}H;�tfH+�H��H��H��������H;���H��H��r
H������H��t
H����9�3�H�E�H�E�H�H�]�L��H��H���&H�]�H�U�H�M'��T��H�I�H�FI�FH�FI�FH�M'H�I�FH�AI�F H�AI�F(H�U7H+�H�����W��E'H�e7H�UH+�H��H����I��H�M?H3��:L��$�I�[ I�s8I��A^_]������������������L��I�[I�KUVWAVAWH��@I��H��E3�E�{�L�9L�yL�yL�yL�y L�y(L�y0L�y8�A@$tII��L�qHD�yPD�yXL�y`L�yhL�ypL�yxfD���L���A�G���ǁ�D���L���Hǁ�D���D����D$ I�K��H�H�PL�8L�xH�H�_H�WH��t+A����CA�uH�H��A����CA�u	H�H��PH�\$0H��t+A����CA�uH�H��A����CA�u	H�H��PL�D$xH��H�O��Z���G@$tIL�wHD�PD���H��H��$�H��@A_A^_^]�����H�\$WH��PH��H��A��H�L$0���L�D$0H��H�L$ �_��H�E3�L�GH�H�HH�OL�L�@H�\$(H��t,����C��uH�H������C��u
H�H��P�H�T$HH��r
H��H�L$0�e��H��H�\$`H��P_��������H�\$WH�� H��H���Kb��H���H���Pf��P��TH�\$0��TH�� _�������������H�\$H�t$H�L$WH�� H��H���h�\6H��H�D$0H��t)W���C�CH�_�'H�H�KH���X����3�W�H�CH�H�_H��H�\$8H�t$@H�� _�@SH�� H��'H��H���t
�h�6H��H�� [������@USVWATAUAVAWH��$���H���H���/H3�H���I��I��L��L��H�U�E3�D�d$tI��H����LE�l$E��H��H���e����W�3�EpH���L��H�UpI����I�^L�NH�|$ L��H���I���C���H���H�D$ L�MpL��H���I���B:���A�|$H�}�L�e�D�d$xL�N0D�d$`D�d$XD�l$PD�d$HD�d$@H�D$xH�D$8H���H�D$0H���H�D$(H�\$ L���H��I����?���H�U�H��r
H��H�L$x����P��@H��H�M��]I�M�'M�gM�gD�L$pL�EhH�U�I���V��D�l$tL�
�U�M�ź�H�M��O3�H���H��rH��H�����L���H���D���H���H��rH��H����Q��L���H���D���H�MpH��t0L�EpH�Ux�&��H���H�MpH+�H������L�epW��ExH����T�I��H���H3���4H���A_A^A]A\_^[]��@USVWAVH�l$�H��I��H��H�U'�e�W�3�H�B�~���E��H�}�H�E����'�E���'�E��E�D��PH�U�H�M�W����H�}�H�E�
���'�ENj��'�Eϊ��'�E��E�D��TH�U�H�M�Q���W��E�H�e�D�M�L�E'H�UH�M����L�u�H�]�I;�tQH�VH;Vt+H�"H�bH�CH��t�@H�H�H�CH�BH�F�L��H��肈�H��I;�u�L�u�H�]�H��tkI;�tFH�{H��t+����G��uH�H������G��u	H�H��PH��I;�u�H�]��H�U�H+�H���H���.��W��E�H�e�L�

�D�B�H�M�0�H�U�H��rH��H�M����H�e�H�}��E�H�U�H��rH��H�M����H��H�İA^_^[]��������������H�\$H�t$ UWAVH�l$�H��H�G�/H3�H�E?H��H���H�!H�aH�aH�aH�a H�a(�A0�a4�@���A03�H�EH�_H�\$ D�HD�GDL�5��/I��H�M�赩�H�E�H�E�H�\$ A�D�GDI��H�M�蒩�H�E�H�E�H�\$ E3�D�GDI��H�M��r��H�E�H�E�W��EH�eD�M�L�EH�U�H�M�h!�W��E�H�e�H�}L�uI;�tfL+�I��H��H��������H;���H��H��r
H�������H��t
H����/�3�H�E�H�E�H�H�]�M��H��H����H�]�H�U�H�M'�J��H�H�H�GH�FH�GH�FH�M'H�H�FH�AH�F H�AH�F(H�U7H+�H������W��E'H�e7H�UH+�H��H������H��H�M?H3��0L��$�I�[0I�s8I��A^_]����������������L��I�[I�KUVWAVAWH��@I��H��E3�E�{�L�9L�yL�yL�yL�y L�y(L�y0L�y8�A@$tII��L�qHD�yPD�yXL�y`L�yhL�ypL�yxfD���L���A�G���ǁ�D���L���Hǁ�D���D����D$ I�K��H�H�PL�8L�xH�H�_H�WH��t+A����CA�uH�H��A����CA�u	H�H��PH�\$0H��t+A����CA�uH�H��A����CA�u	H�H��PL�D$xH��H�O�Q���G@$tIL�wHD�PD���H��H��$�H��@A_A^_^]�����H��H�XH�hH�p H�HWH�� H��H��`�h-H��H�D$0H��t4W���G�GH���'H�H��H�O��X��H���H�G�3�W�H�GH�H�~H��H�\$8H�l$@H�t$HH�� _�������������@SH�� H�3�'H��H���t
�`�-H��H�� [������@USVWATAVAWH��$ ���H���H�׼/H3�H���I��I��L��L��H�U�E3�D�d$tI��H����^E�D$H��H���J����W�3�EpH���L��H�UpI������D$tI�~L�NH�\$ L��H���I���:���H���H�D$ L�MpL��H���I���01���A�\$H�]�L�e�D�d$xH���H+��H�9��8��8H��H��H��H��?H�L�N0D�d$`D�d$X�T$PD�d$HD�d$@H�D$xH�D$8H���H�D$0H���H�D$(H�|$ L���H��I���6���H�U�H��r
H��H�L$x������@��@H��H�M��#@�M�'M�gM�gD�L$pL�EhH�U�I���M���D$tL�
SL��A�H�M��*�H���H��rH��H����B��L���H���D���H���H��rH��H������L���H���D���H�MpH��t0L�EpH�Ux��~�H���H�MpH+�H�������L�epW��ExH���K�I��H���H3��+H���A_A^A\_^[]����H�\$H�t$ UWAVH�l$�H��H�'�/H3�H�E?L��H��L���H���I+�H�9��8��8H��H��H��H��?H���H�&H�fH�fH�fH�f H�f(�F0�f4I����x@���F03�H�EW��MH!EI�BH�D$ �D��E�BDH�L�/H�M��S��H�E�H�E�H�]�H�]H�E�H�E�H�EH�E�H�U�H�M�X��W��E�H�e�L�uH�}L;�tfI+�H��H��H��������H;���H��H��r
H������H��t
H���(�3�H�E�H�E�H�H�]�L��I��H���H�]�H�U�H�M'��C��I�H�I�FH�FI�FH�FH�M'H�H�FH�AH�F H�AH�F(H�U7H+�H������W��E'H�e7H�UI+�H��I�����H��H�M?H3��y)L��$�I�[0I�s8I��A^_]��
���#�������@SH��0�R�H���D$ ��S��H��H��0[������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�����H������H������H������H������H���|�����
�C(�C,H��H�� [��������@SH��0���H���D$ �S��H��H��0[������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�
���H������H�������H�������K(�H�ÁK,�K�
H�� [������������L��I�[I�sI�{AVH��pA��I���3�H�BH��H�BH�BI�K�H�B D��D�pH�B(L�2D�H�B0�B4H�ѱ/I�[��H�E�NH�\$ D��H���/H�L$P�+�H�D$0L�\$pH�D$PI�[I�{ H�FH��L�vL�v H�F( I�sI��A^���@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�����H������H������H������K(�H���k,�K�
H�� [��������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�M���H���@���H���#���H������K(H���k,�K�
H�� [��������������H�\$H�t$ UWAVH�l$�H���H�״/H3�H�E?I��L��H�"H�bH�bH�bH�b H�b(�B0�b43�H�EW��MH!EL�E��PH�M�p���\H�� H�\$ A�D��H�5د/H��H�M��L��H�E�H�E�H�\$ E3�D��H��H�M��-��H�\$ A�D��H��H�M����H�\$ A�D��H��H�M���H�E�H�E�H�E�H�ȃ�tH+�H��H��H�E�H�E�H�E�H�E�H�E�H�E�H�U�H�M�_S��W�3�E'H�E7�E�H!E�H�}H�uH;�tfH+�H��H��H��������H;���H��H��r
H������H��t
H���#�3�H�E�H�E�H�H�]�L��H��H���
H�]�H�U�H�M'�9>��H�I�H�GI�FH�GI�FH�M'H�I�FH�AI�F H�AI�F(H�U7H+�H���(��W��E'H�e7H�UH+�H��H�����I��H�M?H3���#L��$�I�[ I�s8I��A^_]��������������@SH�� 3��BH��H��BH��H�BH�BH�B H�B(�P�]���H���P���H���3���H���&���K(�H�ÁK,��K�
H�� [����H�aH�L�'H�AH��RH�H�����@SH�� H��H��H�
�RW�H�H�SH�H�H� �'H�H��H�� [�H�
�'W�AH�H������@SH�� H��H��H�
9RW�H�H�SH�H�7�H���'H�H��H�� [�@SH��0H���D$(H��H�
�QW�H�D$ H�H�SH�L$ ��H���'H�H��H��0[��H��QH�H���Y��������������H�\$WH�� H��QH��H���H���*���t
�H���� H�\$0H��H�� _���H��HH�L$ ���H��r/H�L$ ���H��HH�L$ ����H�Os/H�L$ ��H��HH��H�L$ ��H�<m/H�L$ ����H��HH��H�L$ ����H��r/H�L$ �������H��HH��H�L$ �J�H��o/H�L$ ���H��HH��H�L$ 諩�H��m/H�L$ �j�����������H�A�'�H�\$WH�� H���Ю/uH�{�2H���H���2H��(H;�u�H�\$0H��H�� _��@SH�� �H�م�u�t���}Hc�H��H�+�2H���ZH��H�� [��@SH�� ����S�/��yH���2H���H�,�2H��(H;�u�H�� [��H��(Hc��u	H��(���}H��H���2H����H��(����s���H���'9tH��H���'H;�u�H�n�'�H�@�H�\$H�l$WH�� H�aH�e�'H�aH�-q�'�a H��H�H���A�Q$H�a(�A0H�ǀ?u�H+�H�O��H�C(H��tL�GH��H���H�l$8H��H�\$0H�� _���H�\$H�t$WH�� H��H��H�	H;�tFH��t�I�H�&H��t3�?H��tH�À;u�H+�H�K�tH�H��tL�CH��H���
H�\$0H��H�t$8H�� _�����������H�\$WH�� H�g�'��H�H���vH�K(H��t���H�c(H��WH�@��t
�8H���bH��H�\$0H�� _�@SH�� H�ٹ�H�D$8H��tH�x�2H�H�XH�j�2H�� [�H�m�2�H��H�XH�hH�p WH�� @��3�H�H�^����H�B�2H����3���H��H�����C ?H�K(H�-��'H;�t?H��t���H�c(H��H�ǀ?u�H��H+�H��� 
H�C(H��tL��H��H���I	H�z�2H�H��H�@���H�c�2H���2@��tH�H��H�@����H�L$0����H��H�\$8H�l$@H�t$HH�� _�H�\$WH�� H��3�H�L$0�o���H�_�9H�GH��H��H��t)H�H�@�P�L��H��tH��H�I��4�H��u�H�O��H�L$0���H�\$8H�� _��H�\$WH�� H��H��3�3��H��H�
UHD�H�OHH���=���H��t
H��3��^H��H��H�1�'H�OXHD�H��H�\$0H�� _�������H��(H�QHH��t3�� H��(����@SH�� �ٹ8��H��H�D$83�H��t���8���H�� [���@SH�� �=;�2H��uH�
_�(�2��H��2H�� [���H��(H�	H��t)H�H�@��L��H��tH��H�I����H��(�����������H��(3�H�L$0����H�
��2���H�%��2H�L$0�&���H��(��@SH�� H�������I�H�CH��te�[H�K�D�B|HI@ A H0I0@@A@HPIP@`A`I�HpI�I�H��u��C�
��cH�C�H�HH�KH��t	��H�CH��H�� [���H�\$UVWH��@Hc�H��H��u�hH�p�/���H�r�*H��u�C���w�� ������s!H��u
���
��u��H�GH��Xu��H��H��u�����G@���H����H�G��H�����H��������t@�|$hA��\$i�D$j��\$hA��D$i�D$8H�D$p�l$0L�D$h�D$(�H��H�D$ ����3������D$pt
�L$q���H�\$`H��@_^]����H�\$WH�� W�3�H��AH�A �A(���\�C� 3�H�H��H�����CH��t@�IL��D��D��fA99}I��A��H�����L���LA��I��I��A��|�H��H�\$0H�� _�H�\$H�l$ VWAVH��@Hc�H��H��u�H�p�aD���H�rD�2H��u�C���w�� �������s!H��u
������u��H�GH��@�,Xu��H��H��u�����r@���H����H�G��H�����H��������t@�|$h�\$i�D$j��\$h��D$i�D$8H�D$pD�t$0L�D$h�D$(D�ͺH�D$ H����
���1������D$pt
�L$q���H�\$`H�l$xH��@A^_^����@SH�� H�ٺH�L$0����A�L�~�L�KA��A��M���QH��M��tL;�tH��H�CH��H��H��r�F�QI���QH�L$0���H�� [��������������@SH�� H�AH��H��tH�
��2��<MH���NH�[@H��t<H�KH��t&H�H�@��H��H��tH�H������H���H�� [����H�\$WH�� H��H�Y8�D�CH��3�H�C���H�H��u�H�O0H��tH���4H��H��u�H�g0H�O8H��tH���H��H��u�H�g8H�\$0H�� _��H�H�QH�H���������H�Q(������������H�I(����̋��2��x
��~��t0H���'H�H���*H�=ɜ2tH���'H�H����H�=|�2t�H�c�'E3�H���H����������H����������H��H�%���������������������H���{1�������H��H�%�������H������H�\$VWAVH��@H�أ/H3�H�D$0�L����H��u,���9FHtH�NH�H����n��FH�FL��M��u$�X�9FH��H�NH�H�����H�:|bu�z~Z�H�L$ ��H�D$ I;|u}A�F9D$(}s��9FHtJH�FH�T$ I��H�X���H�NH������u"���9FHtH�NH�H�@�^���t�NL�A�FL��~+�u,�NLM��tI�>uA�~t�����s��FH3�H�L$0H3��H�\$pH��@A^_^������������H���S0�������H��(H��������H��(���������H��(H���#����H��(����������H���0�������H���G1�������H��H�%�������H���g��̃IH��IL�������������H��H�H�@ H�%>���H�A��������H�\$WH�� H����H������OH��gL�H�\$0H�� _����3�����@SH�� H��A��CL�CHH�� [��������������H��(�iLu�IH�H��H�H�@���3�H��(���L��I�[I�sWH��`H��/H3�H�D$PI����H��H�L$ I�c�I�C��D$0I��I�K�����\$ H�|$((D$ fD$ L�D$0H�T$ H���{��H�T$HH��r.H��H�L$0H��H��rH��'H�I�H+�H���H��w1�H�JH�H��H�L$PH3��L�\$`I�[I�s I��_���������������@SH�� H���t
��8H��H�� [����������������H��(��~-��~��t��u���3��̹�����H�\$WH��PHc�H�=�w��/L���IFH�L$ ����IFL���w���H��b/H�L$ ����H���/�����@SH�� A��H����H�cH��H�CH����4��H��H�� [������������H�Y�'�H��H�XH�hH�pH�x AVH�� H��L�5�v�‹��D��A��D��A��A��$@DDʋ&�/A��A����$AD�E3���;�����t3�;�tA���l'NH��A����u�Ic�A���h'Nt)E��tA��
t<D��H�@�'H���H��t%H����3�H�\$0H�l$8H�t$@H�|$HH�� A^�I���`JFD��H���KH��H��tȅ�t3�H��D�B�}���tH���H������������L�
ɔ2L���/L�Ô2L��M��tI�HcPN�D
PL���2H���2H��tH�HcHL�DPL���2H���2H��tH�HcHL�DPI����H��(H�L$0���H�D$0H��(����H��(H�%�2H��uH�L$0�e�H�D$0H�	�2H��(�H��L��$L�$fs�fA~�E��y&������A+��+�������i�ʚ;D���L+�A�ʚ;E;�|"����A��A��+�������i�6e�D�L�E;C}E+SH��I+L�E��M+E+CL�$M��xu
E��H�$$E3�A��?B���C��i$��������H�����H��(H�L$0��D$4H���*!Nb��L$0H�� H�H�H��(��H�\$WH�� ��H����u3H��t.���L��H��Bz�Ք��I��H��iʀ��H�D+�Ak�d�G�3ۋ�H�\$0H�� _���H�%���E3����O���H�%���H�%���H��(H�=̛/t'���H�
��/H�ƒ2H��H�
��/H��H��(����@UAVAWH��PH�l$@H�]0H�u8H�}@L�eHH���/H3�H�EIc�M��H�MD��E��~H��I���@;ÍX|��]hD�ˋM`M��҃d$(H�d$ ����5�Lc��I��H�H�HH;�H�H#���H�����H=w-H�HH;�wH��H���H���H+�H�t$@H��t"����H���j�H��H��t
���H��H��H���|�M`D��D�t$(M�ǺH�t$ ������VL�}E�΃d$(I��H�d$ L��A���fHc؅��+�D��t>�EX���;���D$(E��H�EPL��A��H�D$ I��� ������H��H�H�AH;�H�H#���H;�w5H�AH;�w
H�����H����yH+�H�|$@H���������[�H��H��t
���H��H��tm�\$(E��L��H�|$ A��I���3Ʌ�t<�EX3�H�L$8D��H�L$0L�Dž�u�L$(H�L$ �
�D$(H�EPH�D$ �M`�����H�O�9��u臽H���	3�3�H��tH�O�9��u�h���H�MH3��:
H�]0H�u8H�}@L�eHH�eA_A^]�@SH�� H�
ü'�5�H��H�Ӽ'H��*�H�Ӽ'H��H�	�2��H�ļ'H��H���2���H���'H��H��2���H���'H��H�܏2���H���'H��H�͏2���H���'H��H���2���H���'H��H���2���H���'H��H���2�r�H���'H��H���2�[�H���'H��H���2�D�H���'H��H�s�2�-�H�Ƽ'H��H�d�2��H�Ǽ'H��H�U�2���H�ȼ'H��H�F�2���H�ɼ'H��H�7�2���H�ʼ'H��H�(�2���H�Ӽ'H��H��2���H�ܼ'H��H�
�2���H��2H�޼'H��u�H��'H��H��2�^�H��'H��H�ݎ2�G�H��'H��H�Ύ2�0�H��'H��H���2��H��'H��H���2��H���'H��H���2���H��'H��H���2���H��'H��H���2���H��'H��H�t�2���H��'H��H�e�2���H��'H��H�V�2�x�H��'H��H�G�2�a�H�"�'H��H�8�2�J�H�#�'H��H�)�2�3�H�,�'H��H��2��H�-�'H��H��2��H�.�'H��H���2���H�/�'H��H��2���H�(�'H��H�ލ2���H�!�'H��H�ύ2���H�ʍ23�H�� [���H�q�2H�%����H��(H�͌2H��t���H��(��H��(H�Ɍ2H��t�v�H��(��H��8H�e�2E��H��t�W�H��8�A��L��A��A��H��8H�%���H��HH�=�2H��tD�T$xD�T$(D�T$pD�T$ ���H�
�2H��t���H��H��H��2H��tH�%���H��2H��tH�%���H��(H��2H��t���H��(��H��(H���2H��t���H��(��H��2H��tH�%���H�	�2H��tH�%m�H�%.���H��(H�ы2H��tH��(H�%I�����H��(�H�͋2H�%.���H��2H��tH�%�H�%����H���2H�%���H�ɋ2H�%����H��8H��2H��t���H��8��H��(H�	�2H��t���H��(��H�a�2H�%����H��8H�u�2���H��8���H�Q�2H�%����H��(H���2H��t�j�H��(��H��2H�%V���H��2H�%F���H�\$H�l$H�t$WAVAWH�� H��L�=b�'3����>A�U�H��+��Lc�I��I��H�I���	��tA�N�I΋�A�NI�;�~ƒ��H�A�D�H�\$@H�l$HH�t$PH�� A_A^_����H��(H��t!�b�����x=�sH�H�
��'H����3�H��(����L��I�[I�sWH��PH�q�2��3�A��I��H��t1D��$�I�S�I�S�I�S�H��$�E�K�D��I�Sȋ�+��-�p�����D�ˋ�$�L�ljD$(��H��$�H�D$ ���H�\$`H�t$hH��P_�E3�L��L��M��tVL+�C�C�f��AA�f�� f��A�fCGf�� f��Af��fAGM�[I��t
f��tf;�t���D��D+�A�������H��L�H L�@H�PSVWAVH��8M��I��H���@�H��I��H�H�xH��H��H�\$pH��tH+�H�|$`H��I��H�(������D$ H��8A^_^[��H�\$H�t$H�L$WAVAWH��PM��I��L��H��3�H�\$8H;�tI+�H�|$pH��I����H�����L�\$PI�[(I�s0I��A_A^_����@SH�� H���H���):��tH����H��t�H�� [�H���t�O����}
�������	���H��(M�A8H��I���
�H��(����@SE�H��A��L��A�L��tA�@McP��L�Hc�L#�Ic�J�H�C�HH�C�Dt�D���L�L3�I��[��H��H�XH�hH�pH�x AVH�� I�Y8H��M��H��I��H��I��L�C�l����E$f�ظE�A��D�D�CtL��M��H��H����H�\$0H�l$8H�t$@H�|$HH�� A^��������������������ff�H;
ю/�uH��f�����u��H������������������@SH�� H�[�'H��H���t
����H��H�� [������������ff�H��L�$L�\$M3�L�T$L+�MB�eL�%M;��sfA���M���A�M;��u�L�$L�\$H�������H��(���t!eH�%0H�H�H;�t3��H�
p�2u�2�H��(��H��(����t������t>��t2���B�H��(�H��(3��=����H��(����H��(�o���u2���NG��u�m���H��(�H��(�GG�V��H��(����H�\$H�l$H�t$WH�� I��I���H���(��u��uL��3�H��H����H�T$X�L$PH�\$0H�l$8H�t$@H�� _�T7H��(����tH�
p�2H��(�D�Z;��u�5;H��(�H��(3���FH��(��@SH�� �+�2�ɻDÈ�2���E���u2���8F��u	3��}����H�� [����@SH�� �=�2��ug��wj�A��t(��u$H�
ʅ2�-D��uH�
҅2�D��t.2��3fo��'H�����2H���2���2H���2�u�2�H�� [ù��
��H��L���MZf9�c�uxHc
�c�H�uc�Hʁ9PEu_�f9AuTL+��AH�QH��AH��L��H�$I;�t�JL;�r
�B�L;�rH��(��3�H��u2���z$}2��
��2��2�H���@SH�� ���+
3҅�t��uH���2H�� [�@SH�� �=��2��t��u�D�����H�� [����@SH�� H�=r�2�H��u�B�H��H�
\�2��B3҅�HD�H��H�� [�������H��(���H������H��(����������H�\$WH�� ��H�
J�2�t�H�
=�'���H��H��uH�
(�'���H��H��tH��'H����H���'H��H���w�H��tH��tH�=�2H��2�E3�E3�3�A�Q��H���2H��t$3������tH�
�(���H�\$03�H�� _ù���H��(H�
��2�o�H�
p�2H��t��H��(���������@SH�� H��H�
P�2�"��#H�
@�2��H�� [��@SH�� H��H�
 �2����X�/H�

�2�W�2���C�/�eH�%XA�4L�Ћ(�/C����H�� [�h@SH�� H��H�
��2����;u���4�d���;�t�eH�%X�
�2A�4H�ȋĈ/A�H�
u�2H�� [H�%I��H��(H���2H��tH�
A�2H��(H�%��H�
7�2���H�
*�2H��(H�%�����@SH�� H�?�2��H��tD��H��2H�
�2H�� [H�%��H�
�2��H�
ׁ2E3�����H�
́2H�� [H�%���H�
��2H�%z���H�
�2�������H��H�XH�hH�pH�x AVH�� ��t��ug�
ȁ2eH�%X�@L�4�I�<.H��tF���x"Hc�H��H�4�H�H��t���H����y�H�_H��tH��蓫I�.H��H��u�H�\$0H�l$8H�t$@H�|$HH�� A^�H�\$H�t$H�|$AVH�� �1�2H��eH�%XA�@H�<�I�>H��u
�PH��+�;u-��i�3�H����H��u���I�>H�C�#I�>HcH�t��3�H�\$0H�t$8H�|$@H�� A^����̃�u`H�\$WH�� �
��2eH�%XA�PH��B�<t,B�H�E�H�=>��H�H��t���H��H;�u�H�\$0H�� _������������[����H��(�����3�H��(���������������������H��(��t9��t(��t��t
�H��(��^�����/�����H��(�I��H��(�M����H��(�H�\$H�t$H�|$ AVH�� H��L��3����������U����؈D$@@��=�~2����~2�����tO�s	�N����E	H�b�H�
#���?��u)�=�����t H���H�
���B?�t~2@2������@��u?�	H��H�8t$H�������tL�ƺI��H�L�
.�A���~2��3�H�\$0H�t$8H�|$HH�� A^ù�����H�\$WH��0@����~2��
3�H�\$@H��0_�ȉ�~2�;����؈D$ �=�}2u7�O����^�����%�}2�����3�@��������ۃ��Q�����뢹����H��H�X L�@�PH�HVWAVH��@I��L���u9�}23����B���wEH���'H��u
�D$0����؉D$0����L�Ƌ�I������؉D$0����L�Ƌ�I���e�؉D$0��u6��u2L��3�I���IH��������H�o�'H��tL��3�I������t��u@L�Ƌ�I���.����؉D$0��t)H�5�'H��u	�X�\$0�L�Ƌ�I��a��؉D$0�3ۉ\$0��H�\$xH��@A^_^����H�\$H�t$WH�� I����H��u�L�Nj�H��H�\$0H�t$8H�� _�����������H��HH�L$ �:��H�>/H�L$ ����@SH�� H��3��H�����H�Ⱥ	�H�� [H�%�����H�L$H��8��3h��t��)H�
�|2��H�D$8H��}2H�D$8H��H�R}2H��}2H�|2H�D$@H� }2��{2	���{2��{2�Hk�H�
�{2H��Hk�H�
��/H�L �Hk�H�
e�/H�L H�
��'���H��8����H��(��H��(�̉L$H��(��Lg��t�D$0���)H�
�{2�rH�D$(H��|2H�D$(H��H�j|2H��|2H�4{2�{2	��{2�{2�Hk�H�
{2�T$0H�H�
��'�J���H��(��H�\$ WH��@H��9�H���H�T$PH��E3��)�H��t2H�d$8H�L$XH�T$PL��H�L$0L��H�L$`H�L$(3�H�\$ ���H�\$hH��@_����@SVWH��@H��˺H���3�E3�H�T$`H����H��t9H�d$8H�L$hH�T$`L��H�L$0L��H�L$pH�L$(3�H�\$ ����ǃ�|�H��@_^[������������H�\$H�t$WH��3�3��D��E3�D��A��ntelA��GenuD�ҋ�3�A�CE��A��ineI�$Eʉ\$���L$�T$uPH�
�/�%�?�=�t(=`t!=pt������ w$H�H��sD��~2A��D��~2�D��~2�D�H�;�|&3���$D�ۉ\$�L$�T$��	s
E�D�}~2��~/D�
�~/����D�
�~/���~/��sy��ss3��H�� H�H�T$ H�D$ "�:�uW��~/����~/��~/A�� t8�� �|~/�z~/��D#�D;�uH�D$ $�<�u
�
[~/@�Q~/H�\$(3�H�t$0H��_���������������̸���3�9l�2��Ã%�}2�H�\$UH��$@���H���ٹ��c��t���)�����3�H�M�A����H�M�F�H���H���H��E3��4�H��t<H�d$8H���H���L��H�L$0L��H���H�L$(H�M�H�L$ 3���H���H�L$PH���3�H���A��H��H�����H���H�D$`�D$P@�D$T�׷��H�D$PH�D$@H�E���H�D$H3���H�L$@�����u��u�H���H��$�H��]���H�\$ UH��H�� H��|/H�2��-�+H;�utH�eH�M���H�EH�E�0���H1E�L���H�M H1E���E H�MH�� H3E H3EH3�H�������H#�H�3��-�+H;�HD�H�	|/H�\$HH��H��{/H�� ]�H��{2�H��(��&�H�$���H�H��(��H���'�H�\$WH�� H��v,H�=�v,�H�H��t��H��H;�r�H�\$0H�� _�H�\$WH�� H�cv,H�=\v,�H�H��t�ܸH��H;�r�H�\$0H�� _�%z��%|��%~��%���%���%��H�\$H�t$WH��`H�AH�qH�&���AH���A �A$�={/�t�
A{2�xH��u�r{H����tW�>��|E3�H�^L�Ë��H�H��tD�/�i��D$0 L���d$(H��L�ˉ|$ H���C
��t/H�t$xH��H�\$pH��`_�H�L$@�F��H�</H�L$@����H�L$@�*��H�c</H�L$@���@SH�� �\z/H���HH��H�� [�����H���A����3�H�A(H�A0H�H�AH�A�A�A �A$H�����@SH�� H��H��H�
iW�H�H�SH�H�g�H���'H�H��H�� [�H�\$WH�� H�H��H�a H�A�A�A(�A,��y/�t�
�y2��H��u��yH�GH�WH�A��H�\$0H��H�� _�H��(H�	�H�H��(���H�\$WH��@��H���,=D�C��A��A��uzD�CA��A��t
�C����+���D�AA;�wR��H�
���x/3�H�L$0A���x/u
�D$(��d$$�D$ �D$(�C�tH�L$ �&��u�H�\$PH��@_�s���H�\$WH�� H��I�عL��3���J uH�
H�H�@����$H�zt���B$��;�u
�(I���	�H��H��H�\$0H�� _�����H�\$WH�� H�YH��螴E3�H��H���
�3���O uH�H�H�@���$H�t���G$��;�u
�(H����H�\$0H�� _��H�\$WH�� �AH������uI�B��t@�Z�B�����t(�B����uH�zuH�
H�H�@ �����t���GÉGH�\$0H�� _�H�\$WH�� H�ًC��~A��H�K3�������t�H��u�H�\$0H�� _���H�\$WH�� H���A��3���9tD��3�H���3���;u�H�\$0H�� _�H�\$H�l$H�t$WH��@H�A��H��H��H9��H��H�q0H��uTH�Q(H��H�������C��CH9stc��ƇC ��uT�=H�{tH����C$ƃ�u:�V'H���
��-H��H�����H�^H�ˋW����C ��tH��H���b���@��t�C�GH�CH�GH�H�H�_(�C ��H�\$PH�l$X��H�t$`H��@_�H���'H�L$ ��H��8/H�L$ ���H��(H�����~A��3��WH��(���@SH�� H�A0H��H��t
�H���qH�� [����H��(�_9�;��%��Su/H��(����	���I��H��(H��A��I��u%!J�u/��uA������B�J�׃�tY��t;��t��u-H�B���!�b��t/��t�A��BD�B2��/�B�u�BH�B�߱���u
�B��Ƀ��J�H��(���3�L���ID�JD�R��u#A�P�jt/��uA���
A�A��A�PA�H��A+�tGA+�t+A+�tA;�t3�A�P�1t/��t
A�E��A�PE�H2��A�@�uA�@A������A��uA�H��҃�A�PA�����H�\$WH��@�BH���AH��H�BH�AH�H�H�AH��uIH���H�Y0t>H�BH�
m�d$(H�L$0�H�L$ �S���H�GH��t�G�CH�GH�CH�H�H�[(H�\$PH��@_���̃�3���u�A��2�����H�\$H�t$H�|$AVH�� �E3�A#�A����L��A�Y
;�t0�A��D;
s/r3Ʌ����
�C�E3Ʌ�NË�A�#�;�u�H�\$0H�t$8H�|$@H�� A^��H��SH��PH�`�H���r/�H�@��@��@��@�t�
�r2��	H��u��rE3�H�D$ H�T$ H�����H�T$ H���|���H��P[���H�\$UH��H��PH�e�H��Qr/�H�E��E��E��E�t�
8r2�o	H��u�irH�E�H�M�3��H�K0u-H�M�H��H�K(H�M��/����M�H�UЃ�M�H�������2�H�\$hH��P]��H�\$H�t$WH�� ��H���(���$�H�D$@H��t��H������H���3�E3�H��H�������t2H��H���|���H�{t���K$����uH��H���	���%H�{t���C$����uH��H�����2�H�\$0H�t$8H�� _�L��I�[I�kI�sI�{ ATAVAWH��PH�q(L�%�3�H��H�)H�^H�Y(H��u4H���H�i0��H�^�l$(M�c��H�L$ �h���H�^H��t�H�_(A�3��D�{ tjL�sH��I�H�_(H��u/H���H�o0t$I��l$@L�d$H�
H�L$8����I�H��t�H�_(H9ntA����F$Aǃ�u�P&H������H��t댋CH���CH�H�@�<�L�\$PI�[ I�k(I�s0I�{8I��A_A^A\��H�\$WH�� H��H�@H�H�QH��W�H�K�;�H���'H��CH�\$0�GH��H�� _��@SH�� H�#o2H��tNH�H��t(H��H� ����
����u	H�	���H�K����0H�����H�%�n2H�� [�����������H�\$WH�� H��H��H���H������t
� H�����H�\$0H��H�� _���H�\$H�t$WH��@H�
f�'�بH��H��'H���ͨH��'H��H����H��H��tWH��tRH���mH��H�n2�^H���'H�n2H���H��tOH���:H�\$PH�t$XH��m2H��@_�����H�L$ �����N��H��1/H�L$ �\��ͨ��H�L$ �����N��H��1/H�L$ �,�����H�%٨�H�%��H��HD��3�E�A�3��~��H��tH��H�f���H�L$ �����N��H�1/H�L$ �Ż�H�%M��H�%e��H�\$H�l$H�t$WH�� I��H��H��L��H��H��C���u��=�t�˅��H�\$0H�l$8H�t$@H�� _����@SH�� H��H�
|l2��H��H�� [H�% �H�\$WH��@H��H��3��������zu-���H��H��tNH��H������tZH��H�\$PH��@_�R���H�L$ �����N��

H�0/H�L$ 豺�H�L$ ����H�G./H�L$ 蕺����H�L$ �����N��	H��//H�L$ �e��H�\$H�l$H�t$WH��@��H��H�
��'��H��H���'���H��H��t\L��3ҋ�	������zut���H��H����H��L��H�Ƌ�ڨ����H�l$XH��H�\$PH�t$`H��@_�<���H�L$ �����N���H��./H�L$ 蛹����H�L$ �����N���H��./H�L$ �k��H�L$ �ȸ��H�-/H�L$ �O������H�L$ �����N��xH�y./H�L$ �����H��HH�L$P�ե��t	�D$PH��H�r���H�L$ �����N��*H�+./H�L$ �Ѹ�H�\$WH�� H��H���c.��|H�
�i2�BH��H�����'�ޤH��L�D$HH�T$@�S�3�f�CH�D$@H�H�\$0�H�� _��H�%����������E3����H��XM���D$(�L$ �L��H��H�L$x����t
H�D$xH��X�����H�L$0�����N��CH�D-/H�L$0����H�\$WH�� H��H���{-��|H�
i2�ZE3�H��H�����H�H��}�H�\$0�H�� _��H��H�"���tH��H����H�L$ �����N��H��,/H�L$ �R���H�%ѣ�H�%���H�%ɢ�H��H�Ƣ���tH��H�����H�L$ �����N��NH�O,/H�L$ ��H�%���H�%���H��H�����tH��H�C���H�L$ �����N��H��+/H�L$ 袶��H�%���E3�H�%����������������H��(H�=�g2t�cH��(�H�ih2H3���@SH�� E3�E3�3�H���F���H�����H���y���tcH�
�g2H��t�*�H�� [�@SH�� �ك���Yg2��u�?cH�
Pg2H��t	����H�� [�@SH��0H�
�g2��g2��H��H3-g/���H��L�L$@H�D$@L�D$@H�D$ H�T$H�����tH3\$HH��H��0[����@SH��0H�D$hH�D$(�D$`�D$ ���H��H��t ���
�f2����u���f/H��H��0[���H��hH��f/H3�H��$P3�ϟH�
@>�H;�t3A�H�T$@����t6=t/E3�H�L$@3�ǟH�(f2H��$PH3��X��H��h�"���H�L$ �����N���H��)/H�L$ 聴�H�\$H�t$WH��0I����L��E3�H��I��A���T��H��H��t4�#����f/Hi����@��H�T$ H�L$ H��E�E3�D#����H��H�\$@H�t$HH��0_�H�\$WH�� I��L��H��H��I��E3����H��H��t�����e/E3�H��H������H��H�\$0H�� _����H�\$WH�� H��H��H��E3�E3�3����H��������`H��d2H��tH�����H�\$0H�� _�H�\$WH�� H��H��H��E3�3��k��H������`H��d2H��tH���n��H�\$0H�� _����@SH��@H���F�����t&�d$(H�;H�D$0H�L$ �h�����u�H��@[��������������������3��q����H�\$WH�� H��������u�X�Ç��t2������H�\$0H�� _��H��(臏H��H��tH�H�A@H��H��(H�%J�H��(�����H�I�'W�AH�H������H��'W�AH�H������@SH��0H���D$(H��H�
0W�H�D$ H�H�SH�L$ �(�H���'H�H��H��0[��H���'W�AH�H������H���'W�AH�H������H�1�'W�AH�H������@SH��0H���D$(H��H�
�W�H�D$ H�H�SH�L$ 蘰H���'H�H��H��0[��H���'W�AH�H������@SH��0H���D$(H��H�
@W�H�D$ H�H�SH�L$ �8�H�=�'H�H��H��0[��H���'W�AH�H������H�A�'W�AH�H������H���'W�AH�H���Q�H�!�'W�AH�H���Q�H�!�'W�AH�H������H��(�.b/�t�
2b2�i���H��H��u�`bH��H�H�@0H��(H�%#����H��(��a/�t�
�a2�)���H��u�#bH��(���@SH�� H��W�H��H��H������H��H�� [���H�\$H�L$WH��@H��H�˿'H�3��y�yH�A�y(�y,H��0����H�{XH�{`H�{hH�{pH�{xH���H������H���H����	���I+H���I�=a2|	H����&�3�D�IA�0��H���H��t>�3���H�Cp�K�H��H�����H@�H���p��H�CxH��H�\$XH��@_�H�L$ �@���H�y"/H�L$ �Ǯ���@SH�� H��H��H�
�W�H�H�SH�H�׭H�<�'H�H��H�� [�H�)�'W�AH�H������@SH�� H��H��H�
�W�H�H�SH�H胭H��'H�H��H�� [�����H�I8������H�\$H�t$WH�� H��H��'H�3�9qvK��H��H�G`H�L0H��t0H�Y�L�
����L��0�A��H�H�@H��H��H��������;wr�H�O`H��t,H�Y�L�
n���L��@���H�H��H��H���n���H�OX����H���H��t3�A���2�H�Op�H�H�Ox����H�OhH��t��H������H������H����H�O0H�\$0H�t$8H�� _�]���H��(H�	�p���H��(���H�����@SH�� E��L�ы�A;���A��uH���H��Y�W�W��H*�E3��I*��^�E��t8E��I���W�I�M�@H�B�J$+�����H*��Y��BI��u�I���D��A���@�3E3�E��t(E��I���I�M�@H�B�J$+���JI��u�A�ۋ�H�� [���H�\$H�|$H�3�H����H��]2H��tDD�D��fA;�s$L�X�YE��I��M�fA9XtfA��fE;�r�H��H��LM��t�I#��H�1]2H��t6D�D��fA;�s%L�PD�YA��H��I�fD9XtfA��fE;�r�H�9H�\$H�|$�H��t�H�H#�H������@SH��0H�W�H��H�L$ D$ H�D$ ����H�D$ H�H��0[����H��H��H������H�\$H�t$WH��PH�^\/H3�H�D$H� �H��L�^\2H�O\2���3����H�@\2H91\2���=T\2||���W�D$(H�T$(H����~�����H��H�D$ H��tH��[2�L$0W�f�HH��H��H�����H�D$ H��t�f�H�X�H��H��[2�[����R��H��H�D$ H��t8���>��H�D$ H��tH�
u[2W�f�pH��H�ƹf�H�C�H��H�c[2H�L$HH3��V��H�\$`H�t$hH��P_���Ё����N�H�L$(����H��/H�L$(�w����H��(H�
)[2�$H�%[2�%[2H��(�H�\$UVWATAUAVAWH�� L�z 3�L��L�|$h9i����3�H��B9\?��J�D?8H�4�E3�E�eE9f��L��I�FxA��H��H�I���vpH�Q H�L�B8A�<�u^A�<�uEA�D�(��u2A8D�@u+E��u&I�D� �A��E8l�AuD���m�A��D�����I�D� �H�B8��A��E;f�k���L�|$h��B;\?�<�����A;n����H�\$pH�� A_A^A]A\_^]��H�\$H�l$VWAUAVAWH�� L��Q�@H��I�����I@�H���q��H��E�FI��3�H���@�3�A9n����H��M�~`B?BL?L�tH�t$P�HH��I@�H�����H��H�D$PH��tH��tH��� H�`H�@HH��u��3�H�L8�DL��I��3�赹E3�D9LvVO�II��K��J�D?0H�L8�A��A�D�D�H�D8��J�L?0H��I�H�D8H�L� A��D;Lr���A;n����H��H�\$XH�l$`H�� A_A^A]_^����@SH��PH�d$(L���d$ H��L�ɺ3��*�H�ChH��t�H��H��P[��������H�L$0�����N����H��/H�L$0�X������w���H�\$H�t$ WH�� H��H��H�H�T$8H��H�@�����W��H�D$@3�H��tL�L$8L��H��H����H��H�L$8��H��H�\$0H�t$HH�� _�@SH��@H��W2H�D$P���W2��t*�d$(H���H�D$0H�L$ �����W2��u�H�
W2H��u%�����H�D$XH��t
H�����H���3��>���H�؋C��t�H��Kt8����w��H�D$XH��t
H���I���H���3��CH����H��V2�W2H��H��@[�H��H�XH�hH�pH�x AVH�� A��D��H��3�H��0�C���L���M��t@M�I0M��t7A��H��L��L�I�A H�L8B�D�(�L;��tI�I0L��H��u�H�N0������H�\$0H�l$8H�t$@H�|$HH�� A^�H�\$H�t$WH�� 3�H��H��9Yv��H��H�L98�����;^r�H��H�\$0H�t$8H�� _�����H�\$H�l$H�t$WATAUAVAWH��@��U2H���AH�������U2�Q�A�sU2�A �H��H@�H���0��D�G3�I��H��H�GX��_�FAH��H@�H��HB�H�����E3�H��t	H�H�H�I��D�G3�I��H�O`躵�=U2�H�5U2�E3�E��D9�T2E���p�+�th����D8�T2��E��H�^(H�C�H��t0D�H��D�D$0D�D$(E��A��H��HO`H�D$ ��D�E3��FD�H��D;�|��uD8bT2uEH�V H��t<H�O`D�N(D�D$0D�D$(E��H�T$ H��A��H��H��H�O`D��F�DL�F M��t�N(�FA��H��HWXD�B�JL��FA�D�H�D;%�S2����E3��iH��utH��S2H��t4D�A��fE;�sL�H��H��I�fD9jtf�fA;�r�I��H��H�`S2H�O`E3�D�l$0E3�D�l$(H��H�\$ �H�GXH��D9-`S2E��E��E�����N+�tP����D8-*S2��H�H����D�l$0E3�A��E��H��H��HO`D�l$(H�D$ �KD��nD8-�R2uBH�H��t]H�O`E3�D�l$0E��A��H��D�l$(H�H�T$ H���	H�O`D��F�DH�H��t�FA��H��HOXD�AD�iH�A�� H�� D;=}R2�&����B���D8-[R2t\A��D9ovSE��D9ovCH�_`L�_X��H���tE��M�E��C;t�u
H�K��uD�D;Os��M�C�D��D�;Or�L�\$@I�[0I�k8I�s@I��A_A^A]A\_����H�\$ WH��0H���H��H��t\H�[0H��tS���L�L$@H�KL�D$H�d$PH�T$P�d$H�D$@H�H�@�ʎ�D$@���H;��tH�C0H��H��u�H�\$XH��0_�H�\$UVWATAUAVAWH�� H���L����H���H��tH�[0����‹��D���A�;�C�9��r
����Q;�C�H�������D��D+�����D���A�H�C ;�E�NL�{(C�A;N H�D$hA��3�E����3�A��E��EȈL$`D���tgA�,�D�^D��D��I��LD$hE;�sKH�|$hO�,�A�MA��A�@$M�mH��E��H�9A$LG�DF�A��E;�r�D�l$`A;�tC��A��C�,�A�<�3�H��H|$h9ovSH�G8H��H̓<�u"E��t2H�D� E3�D��H��H����A����|�AtD��H��H�������;or�E�N��A;�����D���D9��u3�I���4D���������A�;�C�9������H�\$pH�� A_A^A]A\_^]�H�\$D�L$ D�D$UVWATAUAVAWH��0D��$��ꋜ$�H��E2���tV3�L��H���L�A�yv0A�A,A9A(v&L��$�D�l$ H��$�H��A����t��H��I��u�E��u�����E3҅���L���E�ZA��E��D;�sOO�<�I�E�Ƌ�M�I���A9BDF�A��A��D;�r�D;�t!L���A��I��M��I��H���L��L���A��I���yt
E��D;�r��A��D��E��tP3�M��H���L�4A�~v/D�l$(L��$�M�Ή\$ H��$�H���5+�A�~u��H��I��u���u�H�\$pH��0A_A^A]A\_^]����H�\$H�l$H�t$WATAUAVAWH��0A�؋�H��E2�E3�����E3�����H���I�<�vmD�O,D9O(vcH�WA�H�B H�J(H�D$xH�E`F��E��I��B�| (v1A�D�l$ H����H�L$xA�DA9D$u�G,��G��A�A�G,A��I��D;��j���E���P�������E3҅���L���E�ZA��E��D;�sOO�<�I�E�Ƌ�M�I���A9BDF�A��A��D;�r�D;�t!L���A��I��M��I��H���L��L���A��I���yt
E��D;�r��A��D��3�E��t?E3���t<H���M�<A�vD��M�Nj�H���0
+�A�u���I��A;�rą�u�H�\$`H�l$hH�t$pH��0A_A^A]A\_��H�\$H�l$H�t$WATAUAVAWH��0H���(H���3�D��D��D��9o��H�GxA��L��I�JA�B$9��vdH���A��A��L��M�BA�RA���A+B$D�;�C�A�R(A���A+B$A���+�A+J;�C�A�J,A���A+B$+�+�A�B0A��D;O�t���D���o$D��9ovZA��D��H��HO`9iv>A��H�@H��HQ0�B��u��AA���;B$u��A(�G$A��D;Ir�A��D;Gr�G�4'�o(��E��u	9o$������uH���w���݋�9o��H�Gx��L��I�HA�@$9��sH������L��I�@A�H$+����;Wr�����E��t^D��D��A��H������H�ϋ��*E3�D��D;�EB�E+�D;�sE�̋�A+�A;�DB�E+�D�l$(��H�ωD$ �x���D+�+�3��t1�W$��t*D��D��H���$���H�ϋ���D����H������)_$�G(�G(���H��H�\$`H�l$hH�t$pH��0A_A^A]A\_�*�H��H�XH�hH�xL�p AWH�� H�y`E��A��L��H��3�H�mH�H��HL;0�9u�|$Pt�9u;�|$Pt4�A�!�|$Pt�L;(��L;I�W D��D�L$PH�I����A��t���H�\$0H�l$8H�|$@L�t$HH�� A_��H�\$ L�D$H�L$UVWATAUAVAWH��@D��$�H��H�BE��H�D$8E��E��I��L�P M�L�\$0L��$�E�J4E��A�B(E;�EB�A+�E+�D;�DC�A�B0E+�A+�E+�D;�E��DC�3�E+�A��I�B8H��H�H�ȃ;��{8���KA@�s@��t@��t
E��tE��)E����E��@��t
E��tE��E����E�H��$�L�H`H�mH�M�H��IA0@��t,H��$�L��H�|$(I��H�D$ �U0�KAA��L��$�2ۄ�t�@��tDG(�
DG,�DG0H�L$8D��I�����H��$�D��H�T$0D��H��HV ���A��D�$�tL��$�L�\$0������H��$�H��@A_A^A]A\_^]�����H��(�3����3�H��(��H�\$H�l$VWAVH�� H���d���H������G,����H�_0H�\$@E3���H�Op�ހD��H���;�����O,��to��u|A��u'H���q����v
3�H���*�4��H��d�L�%��H��+݃�dv���v�H���7��Ѓv
3�H���u*�d+��H�������曃�dH�L$@谩����G,��t
H�\$@�@���H�\$HH�l$PH�� A^_^���L�D$H�T$SUVWATAUAVAWH��hI�AA�I��I��L��L��L�P L�`(L�T$8L�d$PD9�$�u
Ƅ$��A�A ��$�D�F,3���l$4E3���$�E3�D�|$0E;E�'K�,�H�l$H�UH��B�|$�3�~B;|BC|E3҃�$�E9vI�E`�L��tA�E��;�C���$�D�#E3�E����3�9�$���E;���I���H��H�D$@H�h�@$9��vVH�m D�|*$D+|*,tFD+|*(�L*4�D*(H�l$@+�;M(CM(D;}0DC}0A�L��;E,CE,�tA��A+�;�C�D�E�A�;�$��r���D�|$0H�l$HH��$���$�AÀ�$���;�u	E;�����$�L��$�L�T$8H��E�H�l$HE;E������l$4L�d$P������F��A;�D��L��$�AC�+ŋ�G���FA�D��$���tsI�E`A��H���T��t`;ڋ�C�;�s3;�C��.D;�sA;�wA;��Q���A��D�T$0��$�D��E���I�����H�VD��I���D$ ���H��$�)+�����H��$��8��D��$�E3�D;�$��������I���N��I�JA�B$9��v|I��H��HQ D�B$D+B,tgD+B(�J4�B(+�A;B,ACB,E;B0ECB0A;J(ACJ(A��t8;ڋ�C�;�s;�C����L�FE��I�҉\$ I�����H��$�)+��H��$�E����>���L�d$PL��$��V,C��A��A��C��Dv,�E2�D�v ��H��hA_A^A]A\_^][��H�\$H�l$H�t$ WATAUAVAWH��0M�p3�I��D��L��I�F �oM�~(D;�D��tE�H A�H,A��D��A;M��L��E��I��C9|0$uA�^��C;\0I�E`CC\0A�D(��t	D;��AB�E��t;�t�A;�vD��D��E��u�A;Mr�L�vA���t?�~I��A;�A��I��@�l$ AC�D��E�����)~�V,A��A��A��A��n,�@��@�n ��H�\$hH�l$pH�t$xH��0A_A^A]A\_��H�\$L�D$VWAUAVAWH��0I��L��E3�L��A��H�SH�B L�R(H�D$x�C,E��A��D�T$hH��E9v)H�A`D9L8vD�L$ E��A�@����A��E9��E��D9�$���M��@����I���I�H�J�B$9��vUH�I D�D4E��uD9D(tD9J,w�D$;D,t0D9J0v*L�CE��I���D$ @�����L�D$pD�T$hA�E3�A��I��D;�$��s���@��tH�L$x�D9D$u�C,�K��C,H�\$`@��H��0A_A^A]_^����H��(�=m?2|	H��(�Ϊ��H����8uL�L$8D�B�kxH��(������̋A�H��H�?2��ufH�{?2H�D$P��k?2��t*�d$(H����H�D$0H�L$ �����A?2��u��>2��u
3��	��>2�?2H��H����H�l$H�t$H�|$ AVH��@H��H����'��|lH�L$`�}���l$bA�H�v`��D�t$`I��E3�A��H��H�D9pu0L�t+D�H3�E��t L�X0H�RH�A�D�;�����A;�r�A��뻃����v�=>2��H��t�'3��_襩��H�n`��A�D��I��E3�A��H��L�)t)D�L)3�E��tH�t)0H�RH��D�A;�t��A;�r�A����H��t�A��H�l$PH�t$XH�|$hH��@A^�H�L$ �G��H��/H�L$ 辋��������������H�A�@���������H�AH�@0H�@(����H�A`H�@8��������H�A�@���������H�A�@���������H�QH��������*H�JL�A0I+�H��H��H��H��?H��;QsH�RH��I�tH�A(�3������������H�QH�B H�H`H+�H����;Ps��H��H�tH�@8�3�����H��H��<2��ufH��<2H�D$P���<2��t*�d$(H����H�D$0H�L$ ������<2��u�7<2��u
3��h�&<2��<2H��H��������H�A�@��G%�����������c�����̸���;/���H��(�=�;2|H��;2����H�
�;2����H��;2H��(��H�\$H�l$H�t$ WATAUAVAWH��0H�B E3�M��L��L��H�D$`A��D9I��D��I��I�D9K(��A��D9K��H�C8��H��H�,ȃ}��D8MA��I�G`H�RH��JT00D�BA��u$D��H��I���-�E3�D8M@t^��K4AL$�QA��A��+J$D8M@��;�v=A�@��BD8M@tM�O`L��L�d$(M�H�T$ I��H���#D��H��I���-�E3��;{�C���H�D$`��A;w����H�\$hH�l$pH�t$xH��0A_A^A]A\_��H�\$L�D$UVWATAUAVAWH��0���L��D���L�������D���D+�E;�E��EF�+��A+X$D�A+X��A+�;�rE;Ӌ�EF�D�A+�L�b 3�L�d$x�A;m��D��I��K�<&�G$;G,��3�����L��$�;wswH�G8H��L��A�8u_A�x8wXA�xAuQI�E`H�vH��IL0�A��v8�ȉAA�x@tM�M`H��L�d$(M�H�L$ I���""D��H��I�������ƅ�u�L�d$x�Ņ��B���H�\$pH��0A_A^A]A\_^]�H�\$H�t$WH�� 3�H��9Yv8H�GxH�4؀~!u#H�N��������;�C����F$��;_r�H�\$0H�t$8H�� _����H�\$H�l$H�t$ WATAUAVAWH�� D�d$xH�ٹA��A��H�����E3�H�D$PH��tH�
��'H�XH��I�ljsD��H�t$pH�k �H�3H�C8�{E��uH��A��H��tf�H�A�H#�u����A�ĉCH������{�0H��D�{H@�H��HB�H��諱��H��t	H�8H�H�I�ϋC3�H�K0L�@I���h�E��D9{��E��uP@����A��A�L$D��k��A�H�<@H��H{0����H�D$pH��tH�
w�'H�xH�H�G(D�w�VA�ǹD��k��H�<@A���A�H��H{0�蹦��H�D$pH��tH�
(�'H�xH�H�G(��$�AƈG�o�H�_H��D�D;{�9���H�\$XH�l$`H�t$hH�� A_A^A]A\_����H�\$H�t$WH�� �AH��;A���;Ar��AH�Ix�c���H����W���H����K����K���H��H�w�H@�H���*���H���H�Cxt6�K��H��H@�H�������KH�����H��H@�H�����H���D�C3�H�KxI��跖H���H��t%D�C3�I��蜖D�C3�H���I��膖H�\$0H�t$8H�� _���H�\$ �L$UVWATAUAVAWH�� ��52E3�u�2��52H�u52H��u������52H�^52����������H�=l52E��D�=^52E��L�A��L�|$pI;�������tm+�tR����3�f;Gs5D��A��H��H��H�H���H��H�;��fD�D
�fD;r�L�|$pA��D�E3��?H�O ���L9o A������(H�O ���H�O A��H��tf�H�A�H#�u���D�GH�I;��V���D;�D�%z42�ʼn-~42�����������H�k42E���-^42E��H���A��H�H;�sQ��KD��E���tw+�t��u*H���-��A��E3�L9+ED��H�������3�H9AD�E3�H�� H;�r�D;�D�=�32�lj=�32AG���32��32D8l$`������H�����H�E3�A��H��tf�H�A�H#�u���D��D�-�32��5z32H��u	H�
F32�E���H�H32A��D�fE;�sL�H��H��I�fD9jtf�fA;�r�I��H�
H#
�22A��H��tf�H�A�H#�u��‰32�532H��22H��tH�K���跢����H��譢��H�\$xL�-�22H�� A_A^A]A\_^]��H�\$D�L$ UVWATAUAVAWH��0E��H��H��E��t���D��$�H�C ���3�D���A+�D���������D��$�E��tp;ʋ�F��A�;�sD���;�D��DF�A��E�D�����E�A;�AC���;�r	A;�AC���D��$�E��u7;�F�3�A�;M @��E3�E;�A���;�D�����DF�A�E�;�C�E��E2���E��H��H����H���E3�D��H��H������;���E��uE��tvD��A�����D+�H��H��A��U�;�sV��$�E��H�ӍD��D$ H�����A;�s/E��A��D+�H��H����A;�sD+�H��E��H�����H���ID��$�E�ċ�H����H��E��tH��H������H�\$pH��H��0A_A^A]A\_^]��H��H�XH�hH�pH�x ATAVE3�A�M�qH��M�AI�P H����E��D9q��A��A��H��L�t0D9t$��A��D9t��L�T8��L��C�<�G�t�@uvC�D�(��umH�k`H�vH��HD)0G8t�@t5G�t�@EaDd0G8t�At	EaDd4�8uD�0Dd)(Dc$D`$� C�D�@A�A�D0G8t�AtA�A�D4�@$��;|�g���A��D;[�5���H�\$H�l$ H�t$(H�|$0A^A\���@SUVWAVH��0H��3����H���H���H�[0H���H�spW�3�L��FL�Ë�F H��H�F0�z�����D���t|���L�L$`H�KL�D$h�d$pH�T$p�d$h�D$`H�H�@�:l�D$`A��D�L$hD�D$pH�Kh�D$ �,����;��v��H��舻����D$`����D��������tG���u;��v?2����H�GxH�4��H;��tH�C0H��H�������H��0A^_^][Ã��v���������;�C�;�s�����H�\$H�l$H�t$WH�� 3�H��9i��H�FxH�<�H�_���vL��H��H���?�vF���+W9W$v8D���D������A+�A;ȋ�AF�A�;�vA;�AF�A���ʉO$D���D9G$s5���������+�;�F�D+���D;�vL��H��H�����u���9G$v�G$��;n�-���H�\$0H�l$8H�t$@H�� _���H�\$WH�� 3�H��9Yv$H�GxL��I�P���vH���G��;_r�H�\$0H�� _��H�\$H�l$ VWATAUAVAWE3��D��L��E�Ņ�tlD;�s/E��I���J��D9kuD�J��J��I���J��E;�r�I���A��A��H��D�i(I���H��D�i,I���H���A E;�r�D�L$@A��E����A;�s}D��I���J��D9h(uiE��H�@H�X E9jv,A��H���L$��t;LsI���J��A(A��E;Br�M���K��D9k(uD�K��K��I���J��A;�r���A;��x���E��E���6I���I��E�{A��A��E;�sKN�4�I�D�ŋ�M�vH�ËA(9B(DC��A��A;�r�D;�tI���H��L�H�I���L��I���A��H�H�AL�` L�@(D9i(���jD��D��D��C����H�D$HH��I�A;jsaI�<��H��B�\ $��t(B;\ s!�A$��t	;As;�vA��E��A��H��I�A��H��E;Zr�A;�tA��A��C��H�D$HA��I�����H�;h(�e���E3�H��E��E;������D$@H�\$8H�l$PA_A^A]A\_^�H��H�XH�hH�p H�PWATAUAVAWH��P)p�3�)x�E��D)@�E��AH���WH�Qx�wH���X�E��H�H�HD���D���D���D���E+�E;�A��AF�D+��A�D;�v��E;�EG�C�D�E�H��H��u�����E;���H�K�D��CI��H@�H���D���H��A�H�ExW�E��H���$�H��H*��A H��p �X5��D9Uv[H�ExA��H��L�IA���A���A���+�;�F�A���A+���;�vA��I�IpA��H���Xq A��D;Er�A��EW��L*�A(�H���^�I��H�(�H�I�Y@ �@H��u�E�Nj�H���LD��H�SD�V�L�
I�A���+��A9IvA�AI W���W�A��H*�A�A�H*��^��ͱ�\��Y��Y��\��AI H��I��u�E���S���L��M��M�1I�V�����D���D��A;�AC�A9FvI�AN W�W�A;�A�DB�A���H*�A�F�H*��^��A��\��Y��Y��\��AN I��I��u�E������H��M��L�I�C���D���A+�D���A;ɋ�AF�A�A;Cv-W�A;�A�DG�C��H*��^�(��A\C �AK �X�H��I��u�E���Q���H�D9hvXL��$�H�{��H�L�@E���D+HE+��tI��H���uH��H��u�H�E3�I��H��D�@E+����H��艖��(t$@L�\$PI�[0��I�k@I�sHE(C�(|$0I��A_A^A]A\_����������̸��A������H��HH��tA��u,H��H�Y��H�ބ'H�L$ �h��H���.H�L$ �t�H�˄'H�L$ �E��H���.H�L$ �`t����������������L��I�[I�sWH��@H������q����H�9&2I�C�F�,&23ۅ�t(�\$(H�G���I�C�H�L$ �u�����&2��u�H�
c%2�v���H�
W%2H;�HD�H�
I%2��%2H9_ht0H�O0�,����G,H�O0�$����H�Op��_��H�Oh���H���e����H�������H�\$XH�t$`H��@_���H�\$H�l$H�t$WATAUAVAWH�� 3�E��E��H��H��@��D�kE��D9ivHH�WxE��A��H��L��H��M�@�M��@��AE�E�D;wr�@��tE3�E��H��H������H�l$X��H�\$PH�t$`H�� A_A^A]A\_����H��H�XH�hH�pH�x AVAWL��H��A���uA���D���7A���u/A���A���A���E���+�;�F�E+���D+�3�A��+�E����M�z(E3�M�p D9VvuC��H��I΋A$;A,tYE3�D9YvPH�y8K�ۋ�<�u7�|�8w0�|�Au��t%����A���H�D� ��|�AE�A���t-A��D;Yr�A��D;Vr�2�H�\$H�l$ H�t$(H�|$0A_A^ð�����H�\$H�l$VWAVH�� H��L��@2�H�Y0H�\$@H�����H�~ H������������;�C�9��s�A9~uI�����@��D�H��訆���@��t
I�Np�]H�\$HH�l$PH�� A^_^��H��H�XH�hH�p WATAUAVAWH�� A��H��H��E2�E3�E2�H�Y0H�XH���>����E�n@��tH����L��E��H��ED����9��uDnDnH���H��u
H�m0H�m8�-H�@0H�E0H���H�E8H���H�H0H�i8H���H�h0H���D��E��E��H��H����M��LD�9��uH��H���.�~tH��者����qD�n,H�~huFL�nh�N���H��H�o�H@�H���M���H����N��H��H@�H���2���H���E��H���$����H�Np��[E��tH�����I��H�\$XH�l$`H�t$hH�� A_A^A]A\_�H��H�XH�hH�pH�x AVH�� 3�A��H��L���E��tD���D+�D��H��I���#�;�r�H�l$8��H�\$0H�t$@H�|$HH�� A^�H�\$D�D$UVWATAUAVAWH�� �L$`�A�����A��L��H��t3�����D$`�ME2�M�o 3�I�_(��tJ��E3�H��I�D9Av/L�Q8O��C�<�uK�D� ;8uC��A��AA��D;ArыM��;�r�3�E���<E3Ʌ��1D�\$`B��D��H��E��I�E��D+���D9RvD�RE�AD;EsnD�d$`B��H��I�D�YE;�vD�QE�ڋA$A �J$D�J �B�A;�ruA���tF9$�uB��E��H��I�A��D;Er�D�\$`�t$pE��zvcE3�D9BvVE�PH�B8K���<�u;;�s3��H�D� DDR A���tA��D9�uAƇ�A��D��E�D;Br��bE;�tF��A�֋�B��D��A��D;M����H�\$h��H�� A_A^A]A\_^]���E3�L��E��D9YvDA��E��H��IQ`D�ZD�Z(D9ZvA��A��H�@H��HJ0D�D�Y$D;Rr�A��E;Ar��H��xH�"/H3�H��$`H�L$@�D$@�|W�����D$D��tL��u;�D$H��t��u.�2�d�2H��$`H3����H��x���2�6�D$H��tH��t��u��2뾋�2����2��|��Ȯ���W��=�2|���댃%�2H�L$ �F���H���.H�L$ �k�H�L$ �*���H���.H�L$ �k�H��H�XH�hH�pH�x AV��{'E3�D��L��W҅���H��E��H�
W��H,A�AH�
H���A�I�H*��\��II��u�I��E��A�xA���A;�sDM�4�I����BI�‹��I�X�f/�F��I����A;�r�D;�tI��H�H�I��H��D��A;�r�A�S�E��E����I�ڃ��(I���Af/�vI����\QL�If/�w���f/�w�D;�w4H��Hf/�v���L�H�\�H��@�X�A��H��E;�r�E��tVI��A�yA���A;�s9M�4�I�D�ŋ�M�vI�‹9DC��A��A;�r�D;�tK��H�H�K��H��D��A;�r�H�\$H�l$H�t$ H�|$(A^���H�\$H�T$UVWATAUAVAWH�� E3�H��D9I��H�K`E3�E��I��I�D9YvpK�[H��HQ0�B�b�B L���M��t>M�R0M��t5K�<�I�B I�L8�D�,�D�0�D�(�D�,BL;��tI�B0L��H��u�H�K`A��I�D;Yr�A��D;K�l���3��t$`9s��H�K`E3���H��H�D9q��H�t$hH���K�vH��HA0D�h D�xH��tzH�0H��tq���9��uNH�G K��H�D(8H�ȃz4v7H;�u
D;z,A��� D;j0uD;z,v	A��D;z,uD;j0vE3�H��� �H;��tH�G0H��H��u�H�K`A��H�D;q�R����t$`�Ɖt$`;s� ���H�\$pH�� A_A^A]A\_^]����H��H�XH�hH�pH�x AVH�� A��H��H�����W�H�]pL��L��C3�H��C �����W����A���;�@�{(C��H*��C H�FxH�H���H��txH�0H��toH;�tUH�_pW�L��L��CA��H��C �M����W������;�C�A��A���H*��C H�FxH��H;��tH�G0H��H��u�H�\$0H�l$8H�t$@H�|$HH�� A^����H�\$H�l$H�t$WH�� H��H��H��0�Q|�����L�F0H�F8I�@8L�F8H�F0I�@0H���E3�H;�uH;@0uA���H�@8H���L�V A�Ӄ�D9_vA��H��I�D9Y$v+E��D9Yv"A��H��L�I8A�<�uI�D� (A��D;Ar��;Wr����9��uo�o�͉o��uD�_,H�O0�{�����u
H�Op�
RH�H��H�@@H�\$0H�l$8H�t$@H�� _H�%�T�H��H�XH�hH�p WH�� H��H��H�Y0H�XH���2{���H����H��H��uA�E3�H��H����H��H���
{���H��H�\$8H�l$@H�t$HH�� _�H�D$0E3�E8X@t8A��E�X@DPDR0E8XAtDPDR4H�D$(�8uD�EQ(DQ$DP$�A�@@�@�B0E8XAt�@�B4H�D$(�@$���H��H��2��udH�2H�D$P���2��t*�d$(H����H�D$0H�L$ �D������2��u�k2��u���\2��2H��H��H�\$H�l$WH�� H�a A�@��aTH��H�aXH�QH�Ah�Al�ApD�It�AxA��t/A���D�A����D�A����D�A����D�A����D�A��D�AP�Ic�H�����H��H@�H���r���LcCP3�I��H��H���Av�M����H�D$0H��tH�`H�8�hHcKhH�CX�H��H@�H���$���H�KXH�C`H�H���OH�K��O�KP�t�CT���u��CTH�l$@H��H�\$8H�� _�����3��H�A�AH�AH����H�\$H�l$H�L$VWAWH��`H��H��H�Xt'H�H��舍�E3�D�HL�PL�XD�`L�hL�pD�xL���L���D���L���H����E�O@D��3�H���/����L��8L��@H��H����H��PA����D��3�����H����ԙ���L���H�����H��L�8H�@D�x���� ��$D��(D��,D��0HLJ8����蟍��H��@Lc�8I��3�H���gt�HLJH���p���H��PLc�HI��3�H���8t���X�D��\D��hD��lA�o��pD��tD��xD��|D���L���L���D���D���D���D���L���L���D���H����aMH���TMH���GMH�� �:MH�{H3�H�����G�UH���֌f�G�UH���nj�G��H��躌�������;�v
������
��H��蘌���腩���G 3�蛤��H���H���D�|$(�L$ �L��L�EH��hM�����#����|%D��L��H��D�����߫��H���H��t|�1H���D�|$0�D$(����D$ ���L��L��D3��h�����tH��L�\$`I�[(I�k0I��A__^�zL��Ё����N�H�L$@�1���H�2�.H�L$@��_�IL�Ё����N�H�L$@����H��.H�L$@�_�L�Ё����N�H�L$@�Ѯ��H���.H�L$@�x_����@SH�� H��H��H�
��W�H�H�SH�H�^H��m'H�H��H�� [�@SH�� H��H��H�
M�W�H�H�SH�H�K^H��m'H�H��H�� [�@SH�� H���GH�KH�� [�`���H��H�XH�hH�pH�x AVH�� H���>IH��A�@H��tH�K�I��H��!���H��u�H�O�IH��H��tH�K�I��H����H��u�H�_ �H�K�I��H�����H��u�H�wXH��tD3�9_P~3�H�I��H�)�����H�m;_P|�H�H�^����H�����H��H��u�H�O`H�\$0H�l$8H�t$@H�|$HH�� A^�l��H�\$H�t$H�|$AVH�� H���NHH��H��t#H�K�H�H��tH�H�B ���LH��u�H�O�HH��H��t#H�K�H�H��tH�H�B ��cLH��u�H�_ �H�K�H�H��tH��H�@ �:LH��u�H�wXH��tT3�9_P~,E3�H�I�H��tH��H�@ �L��I��;_P|�H�H�^�}~���H���p~��H��H��u�H�O`H�\$0H�t$8H�|$@H�� A^�J~������������@SH�� H��H�I�.~��H�KH�� [� ~��H�I�~�����@SH�� H��H�I�~��H�KH�� [��}��H��l'H���H�m'H���H�\$WH�� H��H�xm'H��p
H��HH����DH�K�}��H��8H���DH�K�}��H����dq��H��P����H�������H����`}��H����T}��H����H}��H�Op�?}��H�Oh�6}��H�OX�-}��H�OP�$}��H�O�7�H�4l'H�H�\$0H�� _���H��(H�	蠨���H��(���@SH�� H��k'H��H���t
�p��|��H��H�� [������H�\$WH�� ��H���`���t
�H���|��H�\$0H��H�� _�������������@SH�� H�ck'H��H���t
���^|��H��H�� [������@SH�� H��k'H��H���t
�0�.|��H��H�� [������@SH�� H�k'H��H���t
��{��H��H�� [������@SH�� H�k'H��H���t
���{��H��H�� [������H�\$WH�� ��H��������t
�0H���{��H�\$0H��H�� _�������������@SH�� H�k'H��H���t
��^{��H��H�� [��H�\$H�l$VWAUAVAWH��@H�YX3�@2�L��H��I��D�nD9s|EL�3�9WP~2M��I�8uD�2Hc�E�W,3�D�_p�M�<���A�I��;WP|�@���������A����KwPH�{��3��L�k��HcOP�H��I@�H��藄��LcGP3�I��H��L���fk��<z��H�D$pH��H��t,H�`L�0I��D�p� A��A��E;�|�Dop���D�s�I3�I��HcGl;Gh}H��H�G`H��DolH�SL9ku!�d$(H����H�D$0H�L$ ���L9kt�H�[@������L�\$@��I�[8I�k@I��A_A^A]_^���H�\$WH�� H��H��� �vy��H�D$0L��H��tH�x�E3�
�8H��8I��L��8u�H�\$8H�� _��H�\$H�t$WH�� H��H��H��芒��H�H��u	H�?H��H�H�H�H�GH�H�H�yH�H�8H�>H�N�����H�\$0H�t$8H�� _����H��H�XH�hH�pH�x AVH��@H��H��H��t}A����A��L�7I��I�H��9FHc�H�C8H��,��u
H�K8H���w�H�K0E3�I��H���p��CH��H��u�H�\$PH�l$XH�t$`H�|$hH��@A^�H��i'H�L$ �m�H�+�.H�L$ ��V�H��f'H�L$ �m�H��.H�L$ �V������H�\$H�l$H�t$WH�� I��H��H���w��H��H�D$HH��t3L��L��H��H����H�Lh'H�H���H� H�@�@�3�H��H�\$0H�l$8H�t$@H�� _����������������H��H�XH�pWH��@H��H��`��`�W��@�� w��H��H�D$hH��t5L�L$ L��H��H���X�H�1h'H�H���H� H�@�@�3�H��H�\$PH�t$XH��@_���������̰��������������@SH��@H���n	H;�t7�H���K�12�D��X:�r�2�t
���:H��@[�H�L$ �D���H���.H�L$ �U���H�\$H�t$WH��@H��@��
�2���H��H��t H9X8t]���u	H�H���H����[�lH�H��H�@ ��C@��H���H��H��H���<bH�t$XH��H�\$PH��@_�H�L$ 蛢��H�<�.H�L$ �bT��H��(�������|u�6H��(���������������@SH�� H���VeH���*�IeH��8�H�KH�H�@0��BH�H��u�H�� [��H�\$WH�� ��H�����H�����|!Hi����E3�A����H�T$@H�T$@�q���H��A����3�D���p���H�\$0H�� _��H�\$H�t$WH�� H�AHH��|��#�;�t2H�y 3��H�O�H�?H��tH��H�@ �/BH��u�H�^ �^xH�\$0H�t$8H�� _����H�\$H�t$WH�� H�AHH�ً�|��#�;�t%H�q 3��H�N�@H�6�`t��H��u�H�{ �{xH�\$0H�t$8H�� _������/������H��(����u/��=�u"���
m2蜛���%a2�%J/���H��(��H��HH�q2H�D$P��a2��t*�d$(H�����H�D$0H�L$ 躎����72��u�	2���2��u;H�=2u�y���/�u �D���迚����2���
�/���2H��H���H�\$H�l$H�t$WH�� H��3��AD��~13�H�G0H�,H��tH���1���H���s����H���GD;�|�3ۅ�~/3�H�G8H�,H��tH�����0H����r����H��;_D|�H����r��H�O0�r��H�O8�r��H�O(H��t,H�Y�L�
X�L�� �{q��H�H��H��H��������O ����g H���H�H�@��?H�\$0H�l$8H�t$@H�� _�"0��H�\$H�t$WH�� H��H��H���{���H���7���H���3H���_�����H���-7H�ϋ�蓝����u�H�\$0H�t$8H�� _����L��I�[I�sWH��0I�c�H��H��I�C�H��I�C������L���B��t�H��,;�r9;�w5I�H��tH�AI�H��uM�@H�QH�"H�D$(H�H�T$(I�H��u�H�����)I�@H�T$ H��H�D$ HET$(H�T$(I�HI���>L�D$ M��u�H�\$@H�t$HH��0_����H��H�XH�hH�pH�x @2�E3�3�L��9yD��3�I�B0L�M����A���E3ۅ���A���A���A;��}tIc��I���;�|+�H�\�x�JH�[H��u��Hc�H��Ic��H��Ic�H#�H�H��H��t'��0��A��,;�C�@��tD;�v�@�D��A���A��D;��d�����H��A;zD�1���H�\$A��H�l$H�t$H�|$ �H�\$H�t$WH�� �H���2H��;�t3H�I��o���N�3H���H��H�����H@�H���y��H�C���3����tD��H�GH�K��
H�RI��u�H�\$0H�t$8H�� _��H�\$WH�� �
3�H��H������H�H��H�A(H���<H��H�\$0H�� _������������������������H��H��H�`�H�P؃`�W��@��pH��H����@SH�� H����{����H����H��3�H��tH�AH�� [��H��(�����p��u��H��(���H��(���������u
H�����8H��(���������������@SH�� H��H��H����67�i����|H����T����H���I��3����H�����8�����p��uH���CH�� [��H�\$H�t$WH�� 3�H��H��E��tH����YH��H��H���!�lH�H�A(H��;H��t���u	H�K���H�\$0H�t$8H�� _Ë
�1�	����H��(�
�1���H��3�H��t�WH��(��H�\$H�t$WH�� �3҃�H������tk��rFL�AM��C�I��M;�wI;�s.�Ã����;�r�D����I��I��I��I����]��;�s ��+ڋ�H��H�G��H�IH��u�H�\$0H�t$8H�� _��H�\$H�t$WH�� H��H���H�H�@��9H��`��63�H��8H��t7H�KH�3H��tH���H�H�@(��9� H���Dl��H��H��u�H���/5H�H�H��M�L#�t.I�@I��H�P�H��I�H�H#ںH�@(�j9L��H��u�H����4H�H�H��M�L#�t-I�@ I��H�P�H��I�H�H#ںH��!9L��H��uӊ�1�D��X:�r��1�t
��/H��@�,H���#H��H�H��5H�K��5�H���Mk��H�>u�H��H��H�H�\$0H�t$8H�� _H�%�8���H�\$L��H��I�%#"����E3�A�H��L3�I��L��I��r�Hc3�I��H��H�CHc�H��H��tA�9HtH�H��u�3�H�\$�H��t�M��t�HA���H�\$H�t$WH�� H��3��
�1����H��H��t*H9p8u$@8��uH���RH���H��H�xx�RH�\$0H��H�t$8H�� _�H�\$WH�� D�3�A���H��A��t.A��u3�BL�D$@H�T$8�D$8H��8����H��t�L$@��JH�G0H��H��H�\$0H�� _���H�\$3�I��E��A;�}eL�T$(H��u[A�JTD��A�E;Bl}DM�J`E;Bh|E+BhIcBhM�L��xA�HM�IH��u��Ic�M��IcJPHc�H��H#�I�H���A;�|��J��H�\$���H�\$3�A��D��L��A;�}jH��ueA���A���A;��}HIc��M���;�|+�M�D�x�JM�@H��u��Hc�M��Ic��Ic�H��H#�I�H��A��D;�|�H�\$A�J�A�	�H�\$H�t$H�|$ UATAUAVAWH��H��@A�E��%���I��L��H�ك�tU�������I���<���H��H�����L�E�E�E��H�GI��H�E�G�E�H�GH�E��V���tu��E�p3�I��Lq(9qD~[E3�I�F�֋΃�H������s6H�C0L�E�E��I��I���E�H�GH�E�G�E�H�GH�E�����u���I��;sD|�3�9{D~H3�H�C0H�H��t.�A0��~'�e�L�E�e�W�E��I���E�衿���G�����H��;{D|�2�L�\$@I�[0I�s8I�{HI��A_A^A]A\]���L��83�M��t I�@��p��uI�@�H`��uM��ݲ������H��H�XH�hH�pH�x ATAVAWH�� @2�E3�L��D9yD�fE3�I�F8I�H���=���3������Kt���;��}jHc��L���;�|+�M�D�x�JM�@H��u��Hc�M��HcKpH��Hc�H#�I�H�,�H��t H���������H��������������;��w���@������3�����������;�}eHc�L��;�|+�M�D�x�JM�@H��u��Hc�M��Hc��H��Hc�H#�I�H�,�H��tH������uH������u����;�}�x���@�A��I��E;~D}���@�H�\$@@��H�t$PH�l$HH�|$XH�� A_A^A\�H��(�H�@H��(���H�\$H�T$UVWH��0I��H��H��d$ �h����D�HI���I��H�����H@�H���o��H�CD�A��I��I��3�H����U��l$ ����tn+�tN+�t9;�ujH��H�G�D$XL�D$`H�T$X����L$`��H��H�C����	,��5�OH�F0H��H����OH��H�V(H��H�H�����H������H��H�\$PH��0_^]��H��HH���1H�D$X����1��t*�d$(H��H�D$0H�L$ �������1��u�H�
T�1H��t	���u[3�H�L$P�&m�H�:�1H��t
H�L$P�nH�L$P���H��1H����H�
�1H�H�@ �1�H�L$P�mH���1�"�1H��H��H�\$H�t$WH�� @��H��H���z,L�@�H��H�I#�u'� �c��H�D$0H��tD��H��H���IH���@��H���H��H�\$8H�t$@H�� _���H�\$H�t$ H�L$WH�� ��H����t_H�H����W0��t H�� ��+H�H�H��H�H#����H���%��t�ψ��+��;�s3��2��x��u謈��H���H�����+H�H�H��H�H#�H�\$@u-H�H��H�����/H��H�D$@H��H���j��pH�����HǃH���H�H��H�@�y/�H��t�c4�c8�H�\$@H��H�\$8H�t$HH�� _�̸��� ��ø���$��ø���1���H�\$H�t$WH�� H��H��H���z��H���H��u3��6H�ZH;�u
H����H�CH�PL���H�SI�PH��t�CH���1|��H�t$8H��H�\$0H�� _���L��I�[I�kI�sWH��0�I����A��H��H��A;�~E�ApM�K�L�ʋ�����H��3�H��uL��H�|$ D�Ƌ�H�����H��H�\$@H��H�l$HH�t$PH��0_����H�\$H�Y8L��A��(L��E3�I�J8�B�A�zDHc�L��A��,��t�L9�LE�H�\$I�����̋�\L��H�A8L��I�I8�B�A�yDLc�N��A��,��t�A��\I�����������������@SH�� H��H�QH���hH��H�� [���H�\$WH�� H��I��H����(H�H�H��H�H#�u�H0�_��H�D$0H��tH�
[O'H�H�` H�XH�xH�\$8H�� _�����������������H�\$H�t$WH�� H���3�H97u3��4H�O�Ɗ��H�H��tH��hH�H��uH�H��H�O����H��H�\$0H�t$8H�� _����H�\$WH��0@����t�u�1�� |3��m�e�1H�
��1�(H��H��uG� �^��H��H�D$HH��t.H�HH�J�H�D$ L�
��D�BP��ƃ�3�@��H��H�\$@H��0_�H�A8L��Lc�J����,��uA�@�A�yDI�A8Lc�J����,��A���H�\$H�t$H�|$AVH�� ��H��;tr�rH��������D��I��H@�H���h���E3���L�����tD��H�CA�C�0M�@I��u�+�I��D��3�I���NH�K��]��L�s�;H�\$0H�t$8H�|$@H�� A^���H�\$H�t$H�|$AVH�� �9H���;�tk���1���H������H��H@�H���jg��E3�L��tL����H�NA�	M�IA�M�@H��u�+�I��D��3�I���NH�N�)]��L�vH�\$0H�t$8H�|$@H�� A^���̋�|��#�;������������̋A0������������̋�X��H�L$USVWATAUAVAWH�l$�H��H��E3�D���D�aD�aD�͔��H����հ����X�°���FD������F@Hc�H�]wE�t$ A��H��M�|$�I@�E�l$I�IB�H���Jf��H�E�H��t*H�H�xH����H�D$ L�
K��L��A��H���q��I��H�~(HcNDI��H��I@�H���e��H�F8HcNDI��H��I@�H����e��H�F0LcFDI��3�H�N8�LLcFDI��3�H�N0�LH�H��H�@H�)H��0�HPA��D�ew�ï��D���E�E��D9f@~2Ic�H��H�N(HˋVD����H�N(H��H�A������A��D;v@|�H���H�H�@ ��(H��H�E�H���ME�gI��L�e�D�}ϸI��H�����H@�H���d��H�E�D�E�A��I��I��3�H����K�H�H��H�@�D(D��D�mH�H�AH��-(�E���H��H�U�H�N(L�m�E��I��L�D
A�̓����C	��}�H�H��H�@ ��'L��L��H����H�]�I�I��H�@��'�EoL�EH�UoH��8��L�EwH�UoH��H���σ�A�A��D��I��H�E�F	�H�F(H�TF	��lj}wI�I��H��\'L��H���{���H�]�L�e�D�m�0�Y��H�E�H��tE��H��H���{�L���E3���aY��H�E�H��tM��D�E�H�U�H��蹪L���E3�M�uM��tK�u��u���I�I��H�@��&�E�L�E�H�U�I�N ��I�I��H���&L��H��u�H�ugL�e�H�F8H�M�L�,�H�F0L�4�H�H��H��v&H��H�E�H�M��X��H��D�}�����E3�E�l$H�N`���&���H�Nx������H������e���H�NH����������I��H��H�����H@�H���b��H�����tI��H���L�$I�H��u�H���H�H�XH�H��H�Bh��%A�H��H��H���%L��H���H�H�3�I���%3�H�������\�D$(D�d$ E3�3�3�A�����-S��H��`H��tNH�H��H����F%D��X�-�1<r��1�t����H�ĸA_A^A]A\_^[]��"�Ё����N�H�M��F���H�G�.H�M���5���������������p�H�\$H�t$H�|$ AVH�� H��M��3�H��I�%#"�����9H��L3�H��L��H��r�Hc3�I��H��H�CHc�H��H��t�9At2H�	H��u��V��H�D$0L��H��tH� �A�@A�A�@�H��t�3��E3�H�KI��H��I�H�KL��CH�\$8H�t$@H�|$HH�� A^��H�\$H�l$H�t$ WH��@H��H��H���H��fH��u3��H�X��uAH��u7�Kp�U��H��H�D$PH��tL��H��H����H��F'H��CP�3��jH���]�d$ �d$$W��D$(H��u@���U��H��H�D$PH��t%L�D$ H��H���S�H��F'H�H�cp�CP�3��
H�T$ H����H��H���>��H��H�\$XH�l$`H�t$hH��@_���A��|��s
I��H��H�%�"H�H��L�AI���H�\$H�t$WH�� H��H��H��H��舀���D���D��(D�A�@�����t�D�GH�WH�"H��H��H�8H��H�\$0H�t$8H�� _�}��������H�\$WH��0L��H��H�T$ �Z�D�L$ 3�H�L$(A��A��E3�E��t��uH�GPB��B#�A��E;�r��}T����H�\$@��H��0_��������������H�"H�ƒbË�(9t��(���2��H��H�XWH��P�`�L�@؃`�H�ڃ`�H�P�W�A��@�H���;���tF�|$ t�|$ tH��H�L$ ��%H�� H�S ���T$ E3�H�L$(E3�����H�� H�S ��2�H�\$`H��P_����H�\$UVWATAUAVAWH��0H��H��
��H����H���u�L��I���l��E3�D9sD�kE3�H�C8L�L$p3�I�,H�C0H��H�u D�FpM�,H�t$ �B����+�����vk���ubǀ�H���H���H��uH���H�RH���H�@�-H�@H�BH���H�BH���H�HH�QH���H�PL��H�T$pE3�H���[�H���i���H���3�D�FpL�L$pH��H�t$ �����+�����vk���ubǀ�H���H���H��uH���H�RH���H�@�-H�@H�BH���H�BH���H�HH�QH���H�PL��H�T$pE3�H����H���i���E���3����+�8���vk��`ubǀ`H��HH���H��uH���H�RH���H�@�-H�@H�BH���H�BH���H�HH�QH���H�P��$��…�~"E���L��$�I�����3�H���V���E3�L��$�I����H���:���A��I��D;sD�����I��H�\$xH��0A_A^A]A\_^]�k����H�\$WH��@H9
��1H��uU�3��-�1��t)H�R|���|$(H�D$0H�L$ �{k�����1��u�H���1H;�HD�H���1�=��1��p��~@��|A���ʋ�A����|t�ȋ�A����|;�u����uH���*�������p��uH���>�H�\$XH��@_����H�\$WH�� H�ً
)�1�`w��H��t���uH����9H;�u@2�����p3�H������H�H��H�������|��D���������|A;�u�%���vH��`E3���bH�H��H�����@��t�����p��uH���f�H�\$8H�� _����������������H�\$H�l$H�t$ WH��PH��I��
8�1H��3��jv��L��L�WH��H��M�M#�M;�tV�m>�D�K�D$0L�D$0H�FH�T$ H�D$8H�͋F�D$4H�FH�D$@�\$ ����tH��H�L$ 臓��>H�l$p��H�\$`H�t$xH��P_��APu
���A(���3������������H�\$WH��@H�ٹ�����h�;�u@��t��~0�
V�1�u��H��t3���u*H���8H;�uH������tH�\$P��H��@_�H�L$ �wz��H���.H�L$ �&,������H�\$H�t$WH��`H�B�H��H��H���wsH�d$x�=H��4�D$0L�L$x�d$(H�ȃd$ L��H�����tW��L��H�L$xH��H�HH��@���L�\$`I�[I�s I��_�H�w>'H�L$@�QB�H�Ι.H�L$@�l+����H�L$@�����N��z��H���.H�L$@�<+������������H�\$WH�� �APH��u6����Y(��u+H�H�@8��H�OA�D�G,H���H����3ۋ�H�\$0H�� _���������@SH�� �����h��u�u�����H�� [��H�\$H�t$WH�� H��H��H��H����D���CD;�}H����H�WH����H��tH��H��H�@(�:H�\$0H�t$8H�� _���H�\$WH�� H��H��E��tH���H�H�@���xH�W H���H�\$0H�� _H�%tH�\$H�t$WH�� H��H��H��H���?D���C��D;�}H�W H��3�H��tH��H��H���H�\$0H�t$8H�� _�H�\$H�l$H�t$WH�� H�� H��H���H�P�H��H�H#�tGH���H��H�H�@�#�xH�S H�����H���H�H�H��H�H#�u�H�\$0H�l$8H�t$@H�� _���H�\$H�l$VWAVH��0H��A��ITE��A�H��D�[PE+�E#�D;Sl�DH�C`D;Sh|D+ShHcKhL�D�xA�JM�@I+�u��Ic�L��I�3�H�t$PH�D$PIc��H�<�H�D$ H�L$ H�D$PH;����G��E�XE����H�����H�V;Ct��H�sH���H�����;Ct��H�CH����|#�;�t~3��D�sxutH��]H�KHH�S(H�C ��|��s5H�CH��|#�;�tCH�s �H�N�@H�6�I��H��u�H�{ �{x�H�i��H�ZH����	H���A���2�H�\$XH�l$`H��0A^_^�H�\$H�t$WH��0H�پ�ITE��A�H��D�[PD+�E#�D;Sl�H�C`D;Sh|D+ShHcKhL�D�xA�JM�@H+�u��Ic�L��I�E3�H�|$@H�D$@Ic��L��H�D$ H�L$ H�D$@H;���A�B��E�XE����H����H�W`;Ct~|H�{H��H�����;Ct~gH�CH��|��#�;�tR3���sxuIH���H�KHH�S(H�C ��|��s
H������H�k��H�ZH��S��	H���@���2�H�\$HH�t$PH��0_��H�\$H�t$WH�� H��H���`��L�3�M��t I�L;�uH�>�H�L�@H�H�H�H��H�N�b���H��H�\$0H�t$8H�� _���H�\$H�t$WH�� H��H��H��H���$`���{u9H�CL�CI�@H�CH�KH�AH���H;�uH;@u3��H�@H����cH��H�\$0H�t$8H�� _�a����D�B,H���A���������@SH�� H���"�H�cpH�� [����H��H�XH�hH�pH�x AVH��@H��H��H����A����A��L�7�$�d$(H�r��H�D$0H�L$ �a����u��Fm��I�I��H�]0H��c��I��H��衜H��t���tH��H����H��tH���7�H��H��u�H�\$PH�l$XH�t$`H�|$hH��@A^�H�7'H�L$ ��:�H�V�.H�L$ ��#�H�$4'H�L$ �:�H�3�.H�L$ ��#�@SH��@��|H�م�x%�d$(H��p��H�D$0H�L$ �`����|��y��A����A#����|t�ȋ�A#����|;�u��pH��@[����@SH�� H�ـ�t�
+�1H�
`�1��
�f;�sH��H�
F�1H�� [H�%�
H�KL�
�A�`�tC���� H��H�� [�qD�����.�t�
��1��k��3����E3���h��t�P���hu�A�A������H�\$H�l$H�t$WH�� H��I��
h�1H���k��H��H��tH���$.H;�u
H����-H���H��0H�L��H��H�H�\$0H�l$8H�t$@H�� _H�%(��������H��H�XH�hH�pH�x AVH�� H��I��
��1I��L���k��H��H��tH���-H;�u
H���O-�H��0L��L��I��H��H�\$0H�l$8H�t$@H�|$HH�� A^����̃yL��u*��(�B�A�xDI�@8Hc�H�ȋ�,��t�A��\���������H��HA�A��D$ I�@H�D$(A�@�D$$I�@L�D$ H�D$0�H��H���H�\$H�l$VWAVH��PA��I��L��H��3��C2�L�D$0�D$0H�T$ H�CD��H�D$8H�΋C�D$4H�CH�D$@�l$ �����t�T$ E3�H�L$(M��臆�l$ @���1H�\$p@��H�l$xH��PA^_^��@SH��@H���1H�D$P��Ç��1��t'�d$(H��m��H�D$0H�L$ ��\���ÇZ�1��u�),�1uC�i��'H�KL�
8��D�BP�@���� H���A��H�
5�1��
H��H��u���1H��@[����H��H�XH�hH�pH�x ATAVAWH�� 3�M��M��L��H��9YD��E3�H�G0M�M����A���E3Ʌ���A���A���A;����Ic��M���;�|+�M�T�x�JM�RH��u��Hc�M��Ic��H��Ic�H#�I�L��M��t:A�����A+��A���A�����A+��A���A+�A$AA���A��D;��M�����I��;_D�������3��+����������+�����A+�A$A�������H��P�NT���;Vl��L�F`;Vh|+VhHcFhM�D��x�JM�@H��u��Hc�M��HcNPH��Hc�H#�I�H��H��tW�C ��+S(�C(�C$��+K,�C,A+�A$A�C0��u.�C(9C u&�C,9C$uD�E3�H��H�������@H���`?�������;��C���H�\$@H�l$HH�t$PH�|$XH�� A_A^A\��H�\$H�l$H�t$WH�� H�ً
k�1�f���H��@��H��t���u@2�H���*'H�H��H����G��u
H������J��u�����u�����|��D�������|A;�u�%���vH��`E3����@��uH���&H�\$0H�l$8H�t$@H�� _��H�\$H�t$WH��P���H�����2�@2��+H��H�����
؋����~#�H���Y��uH��3�����H��u�@������u@��up�����f�����������;�����uV���������uH���E���d$ L�D$ H�d$(A��d$$H��H�PH�d$0������uF�����H������c��+����+�;��#�@��t
��;�B�H������H�\$hH�t$pH��P_�������H���������������������������H�\$WH�� �H���1���c��+��H��;�s+؋��`����i���H�\$0H�� _���D��xD�ʋ��D;�s3��D+�A��ds�����A��D��A��A���A��,s
A��A���{A��Xs�����A��D��A��A��<�]A���s
A��A����G��	D;�s�����A��D��A��A��+�&A���s�����A��D��A��D��
A��A�� E��A����@UH��H��`��H�
F�1H��tWW�E3�E�L�M�E�D�M�E�fD�M�A�@u5'�U�H��1D�E�L�E��E�fD�M��E��E���zH��`]�H�\$H�t$WH�� H��H��H��H���f����(9t������(��������t�H��H�\$0H�t$8H�� _�f�������H�\$WH�� H�����3ۄ�uH��������u����C��O؋���H�\$0H�� _���@SH�� H�ك��uǁ,�����0���,��,��0;�t��0�3�H�� [��@SH�� H���n����0D��;�w3����,��0;�uA���3�D��0H�� [��H�\$WH��@@��H�ل�����|��s3��|��s'�d$(H��e��H�D$0H�L$ ��T����|��r���r7�H���|u�A��D���H�A��@��H��H�����J2��H��D���D���H�D�3�H����������|ρ������uH���z���H�\$PH��@_��H�\$WH�� ��H����(��t#�����|��%����=�u2H���3���(����|����sH��`E3����yH�\$0H�� _�(��H�\$H�l$H�t$WH�� �yH��~N�3�~03�H�GH�H��tH���8��H��H��u���H��;�|҃g3�H�OLc�I���M)H�\$0H�l$8H�t$@H�� _�H�\$H�t$H�|$AVH�� H�aH��)'H�A���AH��A��L���kf��I�fI�f I�FH�*'I�H�;H�\$0H�|$@I�F0I��A�F(I�F@A�vPH�t$8I�FHA�FQH�� A^��H��H�XH�hH�pH�x AVH�� H�a(H��H�`A��H�AI��I�H��H��H�O�sA����H�G�\$PL��D��H�G D��H��H��t���H��)'I�I�v8����H��)'I�I�F8H�OHH��tH��H�G H�AHOH��u�H�l$8H�NH�t$@��H�\$0H�H�O0H��H�|$HH�� A^����@SH�� H��H�H����L��H��H�� [���@SH�� H�aH��H�H���L��H��H�� [��H��(H�])'H�H�IH��tH���9��u��H��(����@SH�� H�A(H��H;A0sH�K H�C(�H�C(H;C0r�H��H�C(H�� [��H�\$WH�� H��H���P��H����H�KH�\$0H�� _��!�����H�\$H�l$H�t$WH�� H��H���tP��H�H��v5H�+H�KH�L��3�H��#��tH�KH�H�@�H��H��u�H�OH��tH�H�IH�H�@��H��H��u�H�OH�\$0H�l$8H�t$@H�� _�$!������H�\$WH�� H�('H��H���H�IH��tH���9��u�]�@��t
�H���
5��H��H�\$0H�� _�����������������������������H��(���A4����u�P>��4��H��(����������������#�����������H�\$H�l$H�t$WH�� I��H��H��@2����B(����u!H�J@���BQH��tH�bH�H�@��H���@��tH��H���^��H�\$0H�l$8H�t$@H�� _��H�\$WH�� H�L��I��H��E3�3�I��H��i��tH��H���^��H�\$0H�� _����������������H�\$H�t$WH�� H�����A(����u9H�qH�Y �dE3�H��H���^V���GQH��tH�gH��H�H�@��H��H�\$0H�t$8H�� _���������������H�E3�3�H�H�%���@SH��P�Y�����}yH���1H��um�X��}�1u!���H�v�1H�o�1H��u;�\�1�3�d$(H��^��H�D$0��A�1;�uH�L$ ��M��H�4�1H��t�H�(�1H��t
H��1H��P[�H�L$8���H���.H�L$8����H��(H�A0��H�QHH��H��H;�u�e2��H��(�H��(L�A8H�A@�H�P��H�Q@tI;�u����2�H��(ð��H��(I�@D�HA��t M�@3�D�H�E�H��tH��t!H�"�H�IH��tH�
�
H�H�@�S�2�H��(�������������H�\$H�t$H�|$AVH�� I��L��H�����A8����uj�y0t<辅����|H��t0H�O(H��t$�Y���H�_(�7���H��H��H��H��M��+T��H��H�O���G<M��tI��
H�H�B�����2�H�\$0H�t$8H�|$@H�� A^����������������@SH�� H��H��tH�"A��L�I@H�A8I��L;�uH�H�@(�I�H���I���2���H�� [������@SH�� H��H��tH�"A��L�I@H�A8I��L;�u
H�H�@(���H�����2�H�� [��@SH�� H��A�H�	H���L�t
H���L�H;�u�I;�vH�H�IH�H�@���H��H��u�H�� [���������H�\$H�l$H�t$WATAVH�� �yPI��H�qH��H��A�tA����A(A�A;���H�y H�it<��L�s ��|
I����W����w���I��I��H���pR���C(A;�uH������H�E�H��tH�M3��D�a��tH��t H�'�H��tH�7�H�H��H�@��H�\$@H�l$HH�t$PH�� A^A\_��H�\$H�l$H�t$WH�� 3�@��H��H��t1H�KH�3H�@��tH�@�H�@ �h���tH�;H��H��H��u�H�\$0H��H�l$8H�t$@H�� _���������������H��(H�Q@H�A8H;�rH�H�@��2���AQ��t	H�H�@��H��(��������H��(�A<��tH�H�@��2���H��(��������������@SH�� �AQH�ل�t,H�H�T$0E3�H������tH�H��H�@���2���H�� [�������������H��(H�Q@H�A8H;�s�AQ��u��H�H�T$0E3�H��@�2�H��(��H�\$H�t$WH��@�y0��H��t^�с����| E3�H�z���L�Ë��W��H��H�C(���6�C����D$0 L� ����d$(H�K(H�Љ|$ L���P�������2�H�\$PH�t$XH��@_���H�\$WH��PH�H��H��ttH�QH�L$ �C��H�;H�L$ H���C���KH�d$`H�_H�H�T$`L��H�H��R�H�H�?H�H�@�?�H�L$`H��t
H�H�@�(�H��u�H�\$hH��P_�H�\$H�t$WH��PH��H�H��t^H�QH�L$ ��B���H�;H�d$`�2H�wH�H�L��H�T$`H�����u5H�?H�H�H�@���H��u�H�;H�L$ �C��H�\$hH�t$pH��P_�H�H�H�OH�H�@�y�H�L$`H�H�@�g���@UAVAWH��H�l$ H���H���H���L���H���.H3�H�EhL��3�3�H��'H�EH!]H!]H�QH�M8�A����sI�7H����3�H���H�H��u�H��H�AH;�H�H#��$H��w5H�AH;�w
H�����H�����,��H+�H�\$ H���������H��H��t
���H��H����L��H�]H�e3�L�&H�NH�L��H�UH��D���tI�GH�I�wH�MH��tH����I��M��u��L�uH�M8�{A����tH��H�[�H�H�H�@����u�M��tI�N�9��u��H�MhH3��|+��H���H���H���L���H�epA_A^]�H�M ���H�N|.H�M ��H�\$H�|$UH�l$�H��H��H���E'�CX��H�EH��'H�E�EG�EK�EO�ESH�EH�E7H�SH�M��!@����H��v���H�E/H�E/H�H����H���H�M��m@���W��H����F��L��$�I�[I�{I��]����H�\$H�|$UH�l$�H��H�ك��t7��uH�H����H����H�]wD��A��H�Mw���eH�U��H�EH�H����H�M�D����u��E�1W��H�E�H��'H�E�H�E�H�E�@2�H�SH�M'�"?���H�H��u@����H��i���H�E�H�E�H�H�M'�i?��@��u�E��t�3���M��t�zV��3�L��$�I�[I�{I��]����H�\$H�l$VWAVH��pA��H��L��E��u2������u��������@��'��H��H��$�H��tJH��'H�H�g�G�3V��H�GH��'H�H�g �G0�G4�G8�G<H� �3�H�_I�VH�L$8�>����I��]���H�I���H�������tOH���F���H�L$8�J>���yU���G<����H�H��H�B���H���D����L�\$pI�[ I�k(I��A^_^�H�L$ ���H�Iy.H�L$ ����H�\$D�D$UVWATAUAVAWH�l$�H��A��E��H��L��H����H��u3��A�I;�u#A�A�����uH�	H�������=����d3�H��tH�<���I�H;�r�A�A���������A���D$ L��A��H�M����E2�E3�H���
H�u�Hu�O�<�I�WH�M��<���H�E�I�H��uEH�NL��H�UgH�H��}wt[�����t3�I�O����H�I�wA�H�}gtE�������H�I�7A�H�M��<��M�Hu�L;�st�o����'�E��H�}gA�EE�I��L;�sEH�M�I��HM�H�u�H��H�I+�L�u�M�L�u�H�H�L�F�H�UgH����Hu�I+�u�H�M��*<��E��uIH�MNjAA;�t=�3���QA;�t,��uBH�E�A����H(A�A;�uH�]�H�cD�{Q�	�S��H�]�H�CH����H������tvH�ENjH(��uk�x����|'E3�H�]�L��H����N��H�C H�����4�d�H��H�]�H�K �D$0 �d$(�|$ L��L����9G����tLL}��H�]��rR���a���H+E�H+E�3�H�u�H��H�M����H��H��$H��A_A^A]A\_^]�H�M����H�=v.H�M���H�M�����H�#v.H�M��r�H��'H�M��5�H��p.H�M��Q�H��'H�M���H��p.H�M��0�H��'H�M����H�pp.H�M�����H�\$H�t$H�L$WH�� H��H��'H�3�H�q$�q,H�Q8H�q@H�qH�AP�qTH�qXH�q`H�qh���ypH�qx���D���H���H����9��������������������H���Hǃ��N8��,��H���Lc��I��3�H����H����N �,��H���H�K8������C H�K8H�H�B���D��1�D:�rD�ѳ1A��tD��D���N��H��H�\$8H�t$@H�� _��@SH�� H���>H�KH�� [�,"��@SH�� H��H�I�"��H�KH�� [�"��@SH�� H��H�I �!��H�K(H�� [��!��H�\$H�t$WH�� �yH��~-H�AH�0H��t!H�H�^�!���H���!��H��H��u�H�OH�\$0H�t$8H�� _�!�����H�u'H���H�\$H�t$WH�� ���H��~0H���H�0H��t!H�H�^�J!���H���=!��H��H��u�H����)!��H���H���H�K�!��H�\$0H��'H�t$8H�H�� _����H��(H�	H����;���H��(���������������@SH�� H��'H��H���t
�� ��H��H�� [������H�\$WH�� ��H��������t
��H���z ��H�\$0H��H�� _�H�\$H�l$VWAUAVAWH��@H�YX3�@2�L��H��I��D�nD9s|HL�3�9WP~5M��I�8u D�2Hc�E���3�D�_p�M�<���A�I��;WP|�@���������A����KwPH�{��3��L�k��HcOP�H��I@�H���)��LcGP3�I��H��L���{��Q��H�D$pH��H��t,H�`L�0I��D�p� A��A��E;�|�Dop���D�s�I3�I��HcGl;Gh}H��H�G`H��DolH�SL9ku!�d$(H�$K��H�D$0H�L$ �:��L9kt�H�[@������L�\$@��I�[8I�k@I��A_A^A]_^����H�\$H�t$WH�� H��H��H� H���A���%ƃ�@��t�H�\$0H�t$8H�� _���H�\$H�t$WH�� H��H��H���7��H�H��u	H�H�?�H�@H�GH�H�H�H�HH�9H�H�xH�>H�N�*9���H�\$0H�t$8H�� _��H�\$H�t$WH�� ��H��������;�t;�����u���E�����;�t;�|
����u�H�\$0H�t$8H�� _���H�\$WH�� H�ك���������	������H�\$0���H�� _����H��H�XH�hH�p WAVAWH�� H��L��H���H�pH�N�:6���H�H����H�[H����H��`��������uvH�WXH;�tKH��uD�BA��A��A���u!�T�E�������tFD�BA��A��D;�~5A�p�tI�����t"��������H�����3�H���-���H;tH�CH��H���d���H�N�w7���H�\$HH�l$PH�t$XH�� A_A^_��H�\$H�l$H�t$WH�� H��H�IH�D���3ۄ�uUH�~ �CH�o�H�?H��t7H����,��H���� ��H�M���H�M�����H�����H��u�H�^ �^xH�\$0H�l$8H�t$@H�� _��k������@SH�� H�L��D�IL�@K��H��t%L�D�Q�M�HK��H;�uH��tH���&M����A�@$��uM�I�H0H��
���2�H�� [��H�\$WH�� H���BH�K8�{ H�H�@����
��1�:�rD���1�D��tD��D����H�\$0H�� _����H�\$H�l$H�t$WH�� H���3�9>~rH�^3�HcH��H�8u��H��H��H;�|��PH��H��tG��H�K�M!H�H��u��H�ŋ�H��;>}H�VLcH��H�9u1��H��H��I;�|�3�H��u�H��H�\$0H�l$8H�t$@H�� _�a
H��H�����̋
��13���A�����H�\$WH�� H��H�I0貥H�C@3�H��ujH�K0H�����H��uH�{@�
H�H�H�K@H��u%�����H�D$0H��tH�����H��H�{@�	�h�H�{@H�K0H���H���I���H�C@H���H�\$8H�� _����L��I�[I�sI�KWATAUAVAWH��PH�ً����t$�d$@H�gE��I�C�H�L$8�	5�������u샻�~H���2���H���u&H����3��L�\$PI�[8I�s@I��A_A^A]A\_�@2�@��u��D$ H����%2���A�D�t$ H���H��tH�H����H;��tL��E3�L��`���L�l$0I�MX�H��H�D$(H�H�s5����u#H����{3��E2�D�t$ ��?���I���H�
H�BH�H�JH�H�HH���H;�uH;@u3��H�H���Aƅ�H�H��u	H�RH��H�@H�BH�H�H�H�HH�H�H�PH�H�N��2��I������H��@��E������H����2����������������3��������������̋A$���A$�������̋A(�A$���A(����̋A$�ȉA$�������̋A(�I$�ȉA(�H�\$WH�� H��L��I�%#"����E3�A�H��L3�I��L��I��r�Ic3�I�{I��H��Lc�3�J��H��tL�H�L9ItH��H��H��u�2�H�\$0H�� _�H��uJ���H�A�KH��t�M��tH�QI�����������H�\$D���E3���L��E��~VE��I���A������sH���H�I��H�I��u�H�I����9\�|A�zp�tA9Zp��A��I��E;�|�H�\$����������������3�9A(v��9A$��������������̋A �H����H�Q03�H��tH�����H�I0H��tH���H�H�@H�%R������H�A0����H�A8����H�\$WH�� ���H��H���������A;����yp������;Ap��H�A`H;�u"�@����D;�uH�AhH��t~�@�����vH;YXt�C����A;�t���t[H�H��H��u�H��tKH;_XtE3�H���F�H��uC�C���t�C(�
H������uA�C%���=���tH�H��H��u�2�H�\$0H�� _�H��t�H;_Xt�3�H�����U������H��(�Q�ʋ‡A�;���LcAHc�L#�H�A N��M��t�A��thI��I��LA(I�A�PH�HL��I��tI�A�PH�H�H��I;�t.M����A�H$��uM�I�H0H��豾���H��(�I��H��(ÍB�AH��(��H�\$WH�� H�YHH���
I�1H���;��H�gHH��H�\$0H�� _���H�QHH�ы
�1�^;����H�\$H�t$WH�� ��H�񇁸���H�y`��ہ������H��tGH;~XtA�G���t�G(�
H���H��u�G%���=���tH�H��H��u��	�_���������t;�|
����u�H�\$0H�t$8H�� _����H�\$H�t$WH�� H�y@H��H����H�a@H���D������D;�~&H���/>��H���H���g>��H�N0H���/��E���tH���>��H���H���;>���H���H�N0A�D���H���H���H��H�\$0H�t$8H�� _����H�\$H�l$H�t$ WH��0H�پ�ITE��A�H��D�[PD+�E#�D;Sl��H�C`D;Sh|D+ShHcKhL�D�xA�JM�@H+�u��Ic�L��I�3�H�|$@H�D$@Ic��H�,�H�D$ H�L$ H�D$@H;����E��E�XE��txH������H�W0;Ct~ZH�{H����H��x���;Ct~EH�KH�c�����u83���sxu/H��Y�L�KHH�K(L��H�C H�c����ƻ���	H��;�@���2�H�\$HH�l$PH�t$XH��0_����H�\$H�t$WH�� H��H���H���H���*��H�WH�H�H�H�GH�BH���H;�uH;@u3��H�H���H���+���H�\$0H�t$8H�� _���H�ы
�1�*8����������������H��t,SH�� H��H�I�j��H�K�a���PH���T��H�� [����Ǣ�����H�\$H�l$VWAVH�� L���3�A9��I�v3�IcH��H�8u��H��H��H;�|��H�4�H������H�>H��u0��H�ŋ�H��A;}I�VMcH��H�9uw��H��H��I;�|�3�H�N���t;H�vH���E3�H�D$@H�T$@I������H��tH�����H���l��H��H���t���H�\$HH�l$PH�� A^_^�H���H�<����H�I@飺���H�\$WH�� H��H�IH�L$0�y:���E3�E��A��A��D�KA�zD+�D�K�A;�"HcKIc�H#�H�C H��H��HK(L��I�A�A�C�A;�|�CD�D�SD�SD�S@��tFH��D��I�@N��L;�tI�@H��J��I;�t"���A�@$;�uI�H0M�H������H��H�L$0�:���H��H�\$8H�� _����@UH��H��`��H�
��1H��t[W�E3�E�L�U�E�D�U�E�fD�U�A�@�'�U�H�c�1D�E�L�E��E�fD�U��E��E�D�M��*MH��`]�H��(�AL��+Q��;�u	H��(����A;����;���HcIE3�I�@ Lc�I#�L��A��tlMcHI��M#�I��MH(I�A�QH�HL��I��tI�A�QH�H�H��I;�t+M����A�H$��uM�I�H0H�����觷����I���3�H��(�H�I@H����,���H�\$H�l$H�t$WH�� �yH��~N�3�~03�H�GH�H��tH�����H��H��u���H��;�|҃g3�H�OLc�I���q�H�\$0H�l$8H�t$@H�� _�H�\$H�t$WH�� H�>'H��H�I��D�IH�B'H�H���AH����H�O`��n���H���H�/'H�H��H���H�\$0H���H�t$8Ƈ�H�� _�@SH�� H��H��H�
�<W�H�H�SH�H��H���&H�H��H�� [�H�q�&W�AH�H������H�\$H�l$H�L$VWAWH�� A��H��H�فI���E3�L�yD�y �A$�L�y(D�yXH��`����H���H���L���D���D���L����m�.�t�
q�1�2��H��u袛��H�CH�@`H�H�FH�CH�����t�@D�{PD�{TD���L�{0H�K8� ��H�K`����@��tAH���H���H����H���t7H��H���H����H���H;�u����������L������H��H�@@H��uH����H�G@�������c���H��H�\$HH�l$PH�� A__^�@SH�� H��H��H�
�:W�H�H�SH�H��H���&H�H��H�� [�H��(H�
�&H�H�IH��tH���9��u��H��(����H�\$H�t$WH��@H��@2�H9��t
����t63�����@��H9��u H���H��tH����H��H��u�H���H��tH�KH��t�@	���H���3	��H�_(H��tH��tH����H���	��H�OH������t����A��u
H�H�@�W�@��uH�O`H�\$XH�t$`H��@_����H�L$ �X6��H�i^.H�L$ �/����鋆�������H�\$WH�� H���&H��H���H�IH��tH���9��u譼@��t
�H���Z��H��H�\$0H�� _�������������H�\$WH�� H��&H��H���H��`�>���H�O譈H��&H���t
��H�����H�\$0H��H�� _������������H�\$WH�� H���&H��H���H��`����H�O�M�H���&H���t
��H�����H�\$0H��H�� _������������@SH�� H�K�&H��H���t
��^��H��H�� [��H�\$L��H��I�%#"����E3�A�H��L3�I��L��I��r�Hc3�I��H��H�CHc�H��H��tI�H9HtH�H��u�3�H�\$�H��t�M��t�H�HI�����H�\$H�T$WH�� H���E3�H��H�T$8�Z���H��tIH�XH��H��t?�����t3H���H�T$0E3�H�D$0H����H�������H���`��3�H�\$@H��H�� _�H�\$H�t$H�|$ AVH�� H��M��3�H��I�%#"�����9H��L3�H��L��H��r�Hc3�I��H��H�CHc�H��H��tH�H9At3H�	H��u����H�D$0L��H��tH� H�I�@I�I�@�H��t�3��E3�H�KI��H��I�H�KL��CH�\$8H�t$@H�|$HH�� A^���H��H�XH�hH�pH�x AVH�� D��H�����H��H���H9��tD���A��t3��H���H���H�����~��H��H���8�F���vHcN�A��FH�F�T������
Hc������A�H�͉�����H��H��tCH��t/���tH����A$�
H������H�bH���x	������{���E��u�{ H9��t
����tH��tH���L��3��JH��H���H9��t����t3��H���H���H;�tH��뒃��H��t�fE��uH��H���
H�\$0H�l$8H�t$@H�|$HH�� A^��H��8�d$(L�
�H��H�L$ H��L�D$ H�Q�\�|$(v$�������H����D$(tA$���H��8�H�\$H�t$ WH�� H��3����.�t�
��1��*��H��H��u�̓��H��H�C@H��uH�����H�C@���H;_u
;��uH���vH�����H��t	H9��t`H��H������H��uP�����H�D$0H��tA�H��H������H��H�t$0H�|$8H���b�H���L�D$0H�T$8�@���H��H�\$@H�t$HH�� _��@SH�� H�yH��u%���.�t�
��1��)��H��u���H�CH��菩��t@�SH�C������xH���������H����H�KH����H�� [��H��H�XH�hH�pH�x AVH�� M��@��H���a����H��H���	��t_H9��t�����uH;�t
@��H����+�{X�G������tG�3���KX;�u�A�@��H���XM��@��H���NH�\$0H�l$8H�t$@H�|$HH�� A^ËSH�k��H�������uH��H���R�����CX�z����M��t1H�\$WH�� I��@��@��H���H���H��u�H�\$0H�� _��H�\$H�l$H�t$WAVAWH�� �yXE3�D��H��A�p�υ�t��t;�tE��tl�A�	�A����D�CXD��t����@2�G������u(�S@�L�s��I����*���uI��H���z���D��A��H���$@��t�sXH�\$@H�l$HH�t$PH�� A_A^_����H��H�XH�hH�p WH�� A��H��H�q0H�pH�N�������u�P~H�H��uH��H�O�J�H�H��tCH�xH��t:H��`�����������H���n�3�H����H;>tH�GH��H��u�H�N�^���H�\$8H�l$@H�t$HH�� _�������������H�H9A����@SH�� �A$H��=���C$u	H�K0���H�� [����H�\$UVWATAVH�� H��H��E2�H�YH�\$`H���Z�����H�Nh�hD�`H��te3�H�QH99t
H��H��H��u��$H��uH�Vh�H�PH�yuH�Fp�����ŇG����GA;�uH�H��H�@���H�\$`�E��H����E��tO3��D�g�؃�v@�et;�t7�o��t/H�_`H������u8�H��H�O����t�H����H�\$XH�� A^A\_^]Ë����̋������������������H��(H��tH��H��6�H��(��H���H���H�%����@UH��`H�l$ H�]PH�uXH�}`L�uhH�~�.H3�H�E0H��L��3�H�����H���H��u���H�
��&H�MH!UH!U��Hc�H��H�HH;�H�H#���H��w5H�BH;�w
H�����H������H+�H�\$ H��������H���o�H��H��t
���H��H����H�]H�eI���H��`H���H�G`H��H��H���H;�|�A��A�H��H���i���H�K�9��u諰�H��`������H�M0H3��q���H�]PH�uXH�}`L�uhH�e@]�H�M���H�SN.H�M����H�A0����H�\$WH��@��H�ٍG���y$u3�H�A0�A$�(3��D$(H��'��H�D$0�A$�
H�L$ �����C$;�~�H�\$PH��@_���H�\$WH�� H����q��3���_uJH�H��H�@��������OE؃�u&H�O`�����uAH�O`Ƈ���H�O��{����G��uH�H��H�@���H�\$8H�� _Ë�����H����HT����Ë����$��H�\$H�t$WH�� �z H��tH���8�H�����H�����S ��u	H�K`����H��tH��H��#�H�\$8H�t$@H�� _����H����H��H�XH�hH�pH�x AVH��0H��A���I��L���)���3�H�D$ H��tD��L��I��H�����H��H��H���H�l$HH��H�\$@H�t$PH�|$XH��0A^�H�\$H�t$ WH�� H��H��3��B��rH����A��ueH��H�L$0�Q���uk�C��u=@2��H���H��H�D$8H��t
H�8H�`�3�H�{huH�Kh�H�CpH�HH�KpH�L$0�/�@��tH������H�\$@H�t$HH�� _Ë��K����@SH�� ���H����Ѓ�����t�t�����H���2���H�� [�H�\$H�l$H�t$WAVAWH��PH��L�=
%��H��E3�����H�kH��CX��	u%�KXD�t$(L�|$0;�u�H�L$ �����CX��	t���H;�uJ�D�sXuɃ�u�SH����������K���H���H9tK���4��tsH��tnH��x�����D�sX��	u��r��������u
3�H���%���H���H��u�A�ƇCT��y%D�t$@L�|$H�
H�L$8�!��H�{(t�H����L�\$PI�[ I�k(I�s0I��A_A^_ËATA����?�D��A���D��D�ATtA��t�2�ð��H��(L��H�I�BI������H��(����H�\$H�l$H�t$WH�� @2�@��H�ٽH9��t���@��tJ����u6�{ @��H9��u H�����x H���@��O�H��u�@��t@��H����@��H�\$0��H�l$8H�t$@H�� _��H�\$WH�� H��H�ڹ(���H�H�H�\$0JH�B �@ H��H�� _���L��I�SM�CM�K SH��0I�CH��M�C�I�C��4H��H��0[����@SH�� H��H��H�
-'W�H�H�SH�H�+�H��&H�H��H�� [�@SH�� H��H��H�
�&W�H�H�SH�H���H��&H�H��H�� [�@SH�� H��H��H�
�&W�H�H�SH�H��H���&H�H��H�� [�H�	�(�������H�H�HJ�@ H���B ���H��HH����	wH�Hcʋ�H��HË��H��H�L$ �r"��H��K.H�L$ ����H�\$H�t$WATAUAVAWH��pM��L��H��(����H��H��$�H�q�&
w�&H�{�&�@ E3�M;�s2I�I�HcX�H��I�D�`��˃�	wOA���)��tgD�$�I����H��H��;�t
9Pt;HrlH����L�\$pI�[8I�s@I��A_A^A]A\_����H��H�L$ �!��H��J.H�L$ �����H��H�L$8�!��H�3K.H�L$8���H�L$P�!��H�xK.H�L$P����H�\$WH�� H�3�H����SH���Ѓ�H�9Hu$9HuH��TH��H��|��9PBP�P�9Hu
9PGP�PH�\$0H�� _ø
;�F�H�
7�&H�����H��(A���N��}=E3���t.��t��t��u�B�=���vm�C��t?���=���wZ�0��A���P�����A���D��t��t
��t��u8��r+E3�E���#�B��w
��?@��rE3�E�Ɂ��EE�A��H��(���,�H��HH��xt�x t.H��Hù����H��H�L$ �5 ��H��I.H�L$ �T�̹��H��H�L$ � ��H��I.H�L$ �+����L��H�^�&H�3�A�JI�JfA�JI�JI�R I�J(I�J0I�J8A�@A�B@A�JLE�JDA��H��I�@8�T�A�@���I��A�RH����E3�H���&H�D�IL�IfD�IL�IH�Q L�A(L�I0L�I8A�@@�A@A�@D�ADD�ILA�@H�AHH������������H�A D�AD�Q@H�H�d+��H�\$WH�� �AL�H��ukH�y0� H�K(H��uHD�CDH���S@H�K A���H��u=��H��H�K�$��H�K H���-H�K H���Y����H�K H���H�\$0H�� _���̋AH������������̋A@�H�\$WH��PH�#�.H3�H�D$@H���IL�A�GL����H�(H�_0H�O ��D�GDH�ۋW@A���!H��u~�N�H��H�L$0H���J���W@W�H���Hf�OH�H�OH�O H�I L�
�D
H��D$ H�L$ f�D$(L�D$ �#��H�O H���XH�O H���|�H���
H����H�L$@H3��q�H�\$hH��P_�������H�\$WH��@H��H��H��t.H�I �H;�uCH�K H9yuUH�IH��H�\$PH��@_��\��H���&H�L$ �@��H��<.H�L$ �[��H�L$ ����H��C.H�L$ �?��H�L$ ���H��C.H�L$ �#����@SH�� H�A H��H�HH�S8������H�c8H�� [��H�\$WH�� H�A H��H�P���������H��H�G8��H�\$0H�� _������W�f.�zuW�Ã�f/��HG�fn�������A�@H�AE3�L�XL�X�L�D�XH�@ I��u�A��W�L��L�����H*�L�� H��L��(D��0Ɓ4D�����H��H�XWH��p)p�L��)x؋�D)@ȃ�?D)H�E3�D)P�A��+�H��fn�I���fn�����^�9QtD�QL�L�Q�QD�QA�؃�?H��I�D9CtD�SA��L�L�SD�CD�S��C�yW���uW���	fn����^�fDn��E��uW��	�;�A^��\�D(��D^��D^��D\
��&�D(�(�T
�4W�f/��*��D^�v%H���b�A^��AX��O<(��^�T5�4�Y5Y�&(��98(t$`L�\$pI�[E(C�E(S�(|$P�AY�E(K�I��_��@SH��@)t$0H��)|$ ����;�{(�uW�W��fnC�3���^��;�^��^�(t$0(�(|$ H��@[��H��(��;�t.���‰���?H��3�H�TH�H�T�T�H��(����H�QA�@E3ɋ;�t&;�t��$+B��2vL�J�L�J�L�J�D�JH�� I��u��H��(�zw#�zrH�����TA3f/�&v2���H��(�L��L��E���A���E���A���E+�D;�DF�A�E�E���E��D;�DC�A��A�	;�B�A;�v
��A+�;�G�;�uA;�v�����D;�AG�D;�ABЋ����H��H�XH�hH�pH�x AVH��0E3�)p�A��A����H�م�u3����$�s�����(��t�,�0�L$`;�s;�s��+Nj�� ��r]��sX��sS��uOH���‰�(��,��0���D������D+�D;�DF�D���sD��A���f���J�PL��,��Wɉ� W�D��(�H*ȋ��H*��Y
�|�^ȃ�w����փ�?H��H�9rtD�rL�2L�r�rD�rD��A�ȃ�?H��H�D9AtD�qL�1L�qD�AD�q��$(��X�B�YɉB��XJ�JD9qtbH;�t]H���������D��H�ˋ�������W��Y��H*�(��X��H,�;�u�U����X��H,ȋ��-H���8�����t+��4A�΋���������ш�4H���?������H�\$@H�l$HH�t$PH�|$X(t$ H��0A^���̋AW҃�|+�	�Qfn������Y��^�fn����\��^�(�T0f/��&wW�(�����H�\$H�L$UVWH�� I��H��H��H���&H�3�H�iL�AH��@�i����H�nh���H���H���H���������H��H�^�UH�������UH�������UH�������UH���t����UH���c����UH���R����������u�T�H���
���ȉ��H�NH�H��3�����8���؉��D���D���A�C��3��H���D;�s
������A�@�A�3�A��H�щD�3�A��A���D�����u���D���A�A��3��CA�C�A�3�A��D�Љ���+�A��Aˉ��D+��H���A��3�A;�rA�A�A���D���D+�A�A�A�A��A����H�N�P��@8�t1�8��H�D$HH��tL��D�Ë��H������H��H�Fh��:���ȉ��H�n �H��H�����H@�H���k�H�F(9��v��H�F(�,���;��r�H��H�\$PH�� _^]�@SH�� H��H�8�&H�H�Q H�I�H ��H�K(��H�K�>P��H�K@H�� [����H��H�XH�hH�pH�x ATAVAWH��0���H�ꋙ�H��E����t
�ȉ�����B$���K��H�B8���\�4��E��tE��H����D��uH�t$ �"H������I��H@�H���^�H���t(L��H�E��H��H�A0H����I�$M�d$I��u�D��H��H���!H�D$ H;�tH����H�\$PH�l$XH�t$`H�|$hH��0A_A^A\�H�\$H�t$WH�� H��H��H��@����D�F@I��H�O �FDH��M�L8I�D�H��u
H�vXH�vP�'H�@XH�FXI�D�H�FPI�D�H�HXH�qPI�D�H�pXI�t�A�D�H�O@�p���H�\$0H�t$8H�� _����H��L��H��u
H�RXH�RP�-H�@XH�BXH��H�BPH��H�HXH�QPI��H�PXA���I������H�\$H�l$VWATAVAWH�� A��L��H��H�Y@H�\$PH�����������M����M�7I�I��H��$���H��H�N A�FTL��L�L
8I�VK�D�H��u
I�VhI�V`�'H�@XI�FhK�D�I�F`K�D�H�HXH�QPK�D�H�PXK�T�C�D�I��H��u�H�NH�D��I��H�@�����H���%���H�\$XH�l$`H�� A_A^A\_^��L��D��3�A���A���;�v0E���+�E���A��A��3�;�rA����+�A�J���A�A��E���A��A���A��D;�C�;�r	D;�A��C�A;�DB�A��������H�\$WH��@H��H��H��t3H�H��H�@�˯H��uH�H��H��H�@8���H�\$PH��@_�H���&H�L$ �{��H��..H�L$ ���H��H�XH�hH�pH�x ATAVAWH�� E3�H��D9��vxA��E3�H��H} D9vXH�G8O�$�J�t�H��t=H�vX�2H�G8H��J;t�tH�vX�3�H�[0H���
�H�H��H�@H���H��u�A��D;r�A��D;��r�H�Mh�8H�\$@H�l$HH�t$PH�|$XH�� A_A^A\�D�H�\$H�l$H�t$WH�� A��H��H��`���H�D$H3�H��tD��L��H��H���X�H��H����H��H�\$0H�l$8H�t$@H�� _��������������H�\$H�l$VWAVH��PH��L��d$ L�
4�.L�m�.3�H����H��H��uH�{L9w ��I�^@H��$�H���i���I�v �G@H��H�DI�D��H��I��H�@0���H���@qH��L�F8L�HI�D�H��u
L�MhL�M`�'H�@XH�EhI�D�H�E`I�D�H�HXL�IPI�D�L�HXM�L�A�D�H�������H��H�\$pH�l$xH��PA^_^�H�3�&H�L$0���H��,.H�L$0�0�����������������H�\$H�t$WH�� A��H��H���>��H��H�D$H3�H��tD��L��H�����H�\$0H�t$8H�� _�H��(�BDD�B@H�Q I��L����M�D8�C�D�(��u%���3�9��L�A��A9Pv
I�Hp���H��(����H�\$H�l$H�t$WAVAWH�� A��A��D��A��I��H��H�<�H�A J�t08E��tD|�<D��D|�8u?H�Q D��I�Dz,�|�Bt
���D�B@��tH�C J�L08�|�4uD��H�\$@H�l$HH�t$PH�� A_A^_����������������H��tSH�� H������H���!��H�� [����H�\$H�t$H�|$AVH�� H��H��H�I �R@H��L�t8�GDH�4�H��A�D6<AD64u<A��DL$A�6D��H�CD�G@I��H�H`�GDH�@H��IT0DJH�K@���A�L6H�OXH�GPH�APH�OPH�GXH�AXI�D6H;�uH;@Xu3��H�@PI�D6H�K@�N���H��&H��`H��H�\$0H�t$8H�|$@H�� A^�!���H��H�XH�hH�p WH�� H��H��H�Y@H�XH�������H�} H�H��H��R���H��L�L8HcFTL��H�VC�L�H�JXH�BPH�APH�JPH�BXH�AXK�D�H;�uH;@Xu3��H�@PK�D��~qu���H���}���H�H��H�@HH�\$8H�l$@H�t$HH�� _H�%ǩ�������@SH�� H���.���H�H��H�@HH�� [H�%��@SH�� H�A3ۋ�����H��t�HD�H��H�� [��H�\$WH�� H��H��H�IH��uH�KH����KH��H�CH�D������H��'�H��H��H���œH��H�\$0H�� _����H�\$H�t$WH�� H��H��H9J t1�`�3��H�D$03�H��tL��H��H����H��H�����H��H��H�\$8H�t$@H�� _���H�\$D�L$ �T$UVWATAUAVAWH��`3�E��\$0D��H��D��E��t7D������D������E+�D;�DF��E�A;�A��D�|$,��\$,��A+�D;��#�E��t�D$!��t�\$!E��tE��u�D$ �	�\$ E��tH�O3��+���D$(�	�L$(��\$ �\$8��tN������;�w���
�E�+������l$8��t$�͸H��H�����H@�H����H�D$P�H�\$P@�l$ E���\$<D2�\$D��D�d$4�D$@D�ЉD$$D��L��H�\$HD��E;�r	E���D;���A��H��Hw 9^ w	9^$��D��$�D��E;�r	E����D;n��H�V8A��H���<��E��u"A�A�D;�tD9D$(uA�E��E��t
���D��A�A����DV$D��E��tE��H�t$HD�d$4L��D�l$$�������D�����t
�ȉ���A��D|�4D��E��t_H�l$PA�D�d$<H�E��H��H��H�@0�$�H��A��E�H�L�A��u�L�t$HE�WD��$�@�l$ D�\$0D�d$<D�d$4D�|$,D�D$DE�D�T$$D�\$0�D�����<�u�@��t-�D�<D�4;D$@r	u�D;D$(uщD$@L��H�t$HE��D�l$$�8\$!t�9\�8w��D$(M��tD;�u�D;�E��H�t$HDD�D�l$$D�d$4L��E���|���D��$��^ �D�D�D$D����l$8��t$H�T$PD��H����H�L$P���D�T$$�8�$�tI8\$ u28\$!t,E��I��H���/I�F8D�T$$K����Av$��E��I��H�����H��H��H��$�H��`A_A^A]A\_^]��H��(�BDD�B@H�Q I��L���M�D8�C�D�(����u%���3�9��L�A��A9Pv
I�Hp�P�H��(����H��H�XH�hH�pH�x AVH�� A��A��D��H��I��H�<�H�A J�t08�T�8�B�D�8��u>H�Q I�B,����|�At
�D�B�@��t'H�C J�L08�|�4u
����@��t
����D�<H�\$0H�l$8H�t$@H�|$HH�� A^����H�\$H�t$WH�� H�AH�񋈰���H��H������u
H�����{H��u%H��H�[ H��H�C0H��t�xpugH���w��KH��H�{H�H��H�@ �	�H�[@H�CPH�� H��t
�xpt3��H���:�H�H��H�@(�֢H��t
H��H������3�H�\$0H�t$8H�� _���H�\$H�l$ VWAVH�� H����B$��A��H�4�L�r8A��A�D�4;��u���A�D�4)��A�d�4A�|�At�7A�D�@H�_@H�\$HH������I�D�H��tTH�@XH��tKI;D�tH�hX�3�H�H0H��t+�ypu%�ApH�L$@H�OH�A�H�T$@H�@ �ݡH��H��u�H���]���H�\$PH�l$XH�� A^_^����L��L�BXH�BPI�@PH�BXL�BPI�@XH��H;�uH;@Xu3��H�@PH��H���&I��H��`�������������������D��H��H�I�MA���H�\$UVWAVAWH��H��c.H3�H�D$pE��H��L��H�Y@H�\$ H������3��F9E~HcMH��H�N�H@�H���n��H���H�|$0H�EH��t4H�@XH��t+H;EtH�PX�3�H�H0H��t�ypuH����H��H��u�I�NH�D��H��E��tH�@0�H�@(�y��H������H�D$0H;�tH������H�L$pH3����H��$�H�ĀA_A^_^]����������H��H�I�8J������H��H�I�@K��L�R8A��E2�L�����G8D�At
�ȉ���J(���A����DB(G�D�A�����H��HH��tH�H��H�@���H��H��H�?�H���&H�L$ �~��H��.H�L$ 虰�H�\$UH��H��@H�ԅ&H��C�H��H�q�&�;�H���5H����H��H��b1��H��H�X�&�
�H���2H�����H��H�Ob1��H��H�?�&�ٛH���/H�����H��H�vb1���H��H�&�&���H���,H���_���H��H�mb1��H��H��&�w�H���)H���.���H��H��a1�N�H��H���&�F�H���&H�����H��H��a1��H��H���&��H���#H������H��H�ba1��H��H���&��H��� H�����H��H��a1���H��H���&���H���H���j���H��H�a1���H��H���&���H���H���9���H��H��`1�Y�H��H���&�Q�H���H������H��H��`1�(�H��H�n�&� �H���H������H��H�u`1���H��H�]�&��H���H�����H��H��`1�ƙH��H�T�&���H���H���u���H��H�C`1���H��H�C�&���H���H���D���H��H�`1�d�H��H�*�&�\�H���H������H��H��_1�3�H��H�	�&�+�H���H�����H�\$PH��_1���_1H��@]�����H�M�����N��X���H�Y".H�M����q���H�M�����N��*���H�+".H�M��Ҭ�C���H�M�����N����H��!.H�M�褬����H�M�����N�����H��!.H�M��v�����H�M�����N����H��!.H�M��H������H�M�����N��r���H�s!.H�M��������H�M�����N��D���H�E!.H�M����]���H�M�����N�����H�!.H�M�辫�/���H�M�����N����H�� .H�M�萫����H�M�����N����H�� .H�M��b��ӗ��H�M�����N����H�� .H�M��4������H�M�����N��^���H�_ .H�M����w���H�M�����N��0���H�1 .H�M��ت�I���H�M�����N�����H� .H�M�說����H�M�����N�����H��.H�M��|�����H�M�����N����H��.H�M��N������H�M�����N��x���H�y.H�M�� �����H��H3�H�
��&A����H��\1H��tvH�
��&���H��H���&���H����H���a�H�
��&H�{\1�}�H��H���&�u�H��tH���0�H�Y\1��^\1H��H����H�L$ �����N����H��.H�L$ �R����H�L$ �����N��{���H�|.H�L$ �"������H�L$ �����N��K���H�L.H�L$ ����@SH�� ��H�
�[1�t��H�� [H�%����H��(H�
�[1�T�H��(H�%���H�\$H�t$WH�� H��H��&H��B�AH�y�H����H��H��u�H��H�\$8H�t$@H�� _����H�L$SH�� H��H�!H�aH��������CH��H�� [����H�a�&H���@SH�� H��H�	H��t
H�H�@0��H�KH��t
H�H�@0�ؖ�K���H�KH�� [�2�����@SH�� H��&H��H���t
�P�.��H��H�� [������H�\$WH�� H���&��H�H��誄��t
��H������H�\$0H��H�� _���@SH�� H���&H��H���t
�`���H��H�� [������@SH�� H�c�&H��H���t
����H��H�� [������H�\$H�l$H�t$ WH�� ��H�����H��H�D$@3�H��t)D��H��H��謂H���&H�W�CHf�kPH�kH�H��H��H�\$0H�l$8H�t$HH�� _���H�\$WH�� H���=PY1u������@Y1�`���H��H�D$8H��t"H��H�����H��&H��CP�CT�3�H��H�\$0H�� _�����������̋A�H�\$WH�� H��H�9u,H�YH�\$0H���`����H�?uH���Q���H�H���N����H�H�\$8H�� _����������������H��(H��D9B,tA��H���h�H��(����H�\$H�t$WH�� H��H��&�R(H��3�;t:��L��&H��I;�|�H��tH�H��H��H�@@�1�H�\$0H�t$8H�� _�Hc�H��H��H�H������;�W1}�H�S`H������H�\$H�t$WH�� �ATH��H����u"�R(H�J�&3�;t:��L�K�&H��I;�|�H��tH�H��H��H�@@���H�\$0H�t$8H�� _�Hc�H��H��H�H������;WW1}�H�S`H����GT��t�H��܎H�H�H��H�H#�t�H�H��H�Z`H�@@�)�H�C�H��H�H#�u��{�������̸��AP������@SH�� ����YP��uH��tH�H�B(�S�ؒ��H�� [�H�\$H�l$H�t$WAVAWH�� 3�H�-/�&3�E��D��H��D;uw!��H��H��H�,�H�H�H��H�H#�u+��H����|�H��uH�A��H��H�@8�Z�H��H��tH�E��H��H�AHH��<�H�l$HH��H�\$@H�t$PH�� A_A^_�H���̀H�\$H�t$H�|$AVH�� L��H�y�H��~�L�@�H��H�I#�t#I�I��H�Z`H�@@�ˑH�C�H��H�H#�u�H��H��u�H�\$0H�t$8H�|$@H�� A^�������������@SH�� H���AT�f���H�H��H�@H�� [H�%h����������+����H�\$WH�� H��3�A�H�
L�&�>�H��H��u(�����W��H�
(�&���H��H����H�/�&H��֍H����H�H�,�&H����H���{�H�GH�(�&H����H���_�H�GH��&H����H���C�H�GH��&H��g�H���'�H�G H��&H��K�H����H�G(H��H�\$0H�� _��@SH�� ��t-��t
�W�H�%&T1�T1�
T1�H�
T1I���H��S1H���uH�� [H�%x�3�p�H��S1H�
�S1��؄�u�Q���u4�H��S1H�
�S1�(��u
�.���u����S1��S13�H�� [����H�\$WH�� H�Y(H��3�ߋH;�tH���
�H��Y��
��ԋ3�H�\$0H�� _����H�\$WH�� H�Y H��3���H;�tH����H��
��
����2�H�\$0H�� _����H�\$WH�� H�YH��3�G�H;�tH���r�H�������<�H��H�\$0H�� _��H�\$H�l$H�t$WH��PH�A��3�I��H���H;�tAH����H��$�D��H�L$8L��H�d$03�H��$�H�d$(H�L$ H��8���H�\$`H�l$hH�t$pH��P_�H�\$H�t$WH�� H�YI��3�H��k�H;�tH����H��H�����H�\$0H�t$8H�� _����H�\$WH�� H�YH��3��H;�tH���J�H������H�\$0H�� _����H��XH��P1H�D$`���P1��t*�d$8H���H�D$@H�L$0������gP1��u�H�=3Q1uS�0�w���H��tH������H�Q1H�
Q1H�L$(H�
�O.H�L$ A�L�.�&H�����H���;������O1H��X����H��(H�
�P1H��t6H��P1��P1��P1����H�
�P1�0����H�%�P1H��(��@SH�� H����AH�Q �A?�����H�C�����H�D$0H��tH�Ⱥ@H�!�aH�IH��u�H�C3�A�H�K�~�H��H�� [��H�\$WH�� H���H��H���&H��H�H���Z���3�H�G@H�GHH�GhH�Gp�H�\$0H���H���H������H�����0H��H�� _�@SH�� H��H�@�&H�H���H��t
�y��H���H������H�K(�߽��H�K0H�� [�ѽ���H�\$WH�� ��H�������t
�pH��誽��H�\$0H��H�� _�������������H�\$WH�� H��H��H��tH���,H�H��H��H�@8�ЊH���H��t��'t
�����'�H�\$0H�� _���̀��H��t
Ɓ��Ë��H�@xD����I��H����L���C��#��…�t���C!�������H�\$H�t$WH�� H��H�IH�_��3ۄ�u2H�~ � H����H�?H��tH��H���H��u�H�^ �^xH�\$0H�t$8H�� _������������D�QL��E��tq3�A��uVD��E�SE��t]E��t7I�CxH��I�Cx�H0A�B������uI�CxH��I�Cx�H4D��L�ZE�S�A���A�KD��t�A��u�2��H���H�H�@0H�%C����H���H�H�@8H�%+����H��H�XH�hH�pH�x AVH�� H�AxD��I��I��D��H��H�0A��t%A��tH���H���H�H�@(�҈��Y�H��������u%H��tA�H��H���o��E3�A��H���+2��&H��uH���U��H��H�L��H��H��H�@8�u�H�\$0H�l$8H�t$@H�|$HH�� A^���@SH�� L��2��H�م�tH�IH�AxL�@M�@�����#H�� [���@SH�� H���H��H��u3��p[��H���H�� [������������H�\$H�l$ VWAVH��PE3�H�QxL��8I��L���H��A�n��`��HH�BH���H�AxH���fD��D�qL���L���L���L��D��0L���fD���@���I��H�0I�H�@ �E����H��H�H�@�/�H��H���L�D$x�D$pH�T$p�N���D$xH�������
����H���'[��H���
�����H�SD��I������H�O@B	�H�׋F��E�A��D��H�GxH�H�H�@���D����UD��H�|$ H�L$0�%v���H��3����#�1�����3
���#�3
���H�NxH�BH����B���H�B��H����H�����H��H;�uH������L�4�H�Gx���H�H�H�@��D��I1�D:�rD��I1D��t
D��D�����L�\$PI�[0I�k8I��A^_^����L��I�[I�kI�sI�{ AVH��@H�AH��ڃ���4���uML�q�~H��������A����u)!t$(H���I�C�A����uH�L$ ����A����t�H�M���!<�H�\$P��H�t$`H�l$XH�|$hH��@A^����L��I�[I�kI�sI�{ AVH��@H�A�����H����4��;�uIL�q��H������A����t*�d$(H�	�I�C�A����tH�L$ �/��A����u�H�M�	<�H�\$P��H�t$`H�l$XH�|$hH��@A^���H�\$WH�� H�����H���H��E��t��t��uH�Ix3�H�	�|��H�CxH��H�Cx�@0�G������uH�CxH��H�Cx�@4�{H�\$0H�� _���H�t$WH��0�d$ H�T$ A�A�H����������|$ t�|$ tH�H��H�@�����L$ ƇH�|$(H�GxH�0��t"��tH���H���H�H�@(�h��I�H���{����u�T$ E3�H�������*H���_P��H�H��E3�L�I8H��I���&��ƇH�t$@H��0_���@SH�� H�AxH��H�H���H���H�H�@(��H�KxA�H��H�� [�=
�H��(D�AE3�HcQA��H�AMc�I#�D�AL��M��uA�@�AI��H��(�A��t�LcAI��M#�I��LAI�A�PH�HL��I��tI�A�PH�H�H��I;�t�M����A�H$��uM�I�H0H�B����E_������H�\$H�l$H�t$ WH��0H�پ�ITE��A�H��D�[PD+�E#�D;Sl��H�C`D;Sh|D+ShHcKhL�D�xA�JM�@H+�u��Ic�L��I�3�H�|$@H�D$@Ic��H�,�H�D$ H�L$ H�D$@H;����E��E�XE��t{H���|��H�� ;Ct~ZH�{H���|H���|��;Ct~EH�KH�V����u83���sxu/H���|L�KHH�K(L��H�C H�0����#^���	H���|@���2�H�\$HH�l$PH�t$XH��0_�����H�\$H�t$WH��@H�AxH��HH��H��3l��H�Fx���H�H��H���H�Fx�H8��uH�FxH��IH�FxH������+��������������+������������uH�Fx���H�H��x����Hdž�H�^�9H�O�Ŝ��L�D$ H�׋H�L$ H�H H�L$(�H�L$$H�H(H�L$0H����8�K�+ȅ�~H�����H��H��u�H�VxH���H�
H�H�H�XH�Bh��H��H��H���H�FxH������H�H�H�@�s�
aC1�:�r�
QC1��tD��D����AH���H��t
��l��H���H�NxA�D���H��PH��H�\$XH�t$`H��@_������H�AxH��0H��1]�������H�\$H�t$WH��@H���I��H��H��H��t0�d$(H���H�D$0H����H�L$ �4��H���H��u�H��tXH�@uE3�E3�H��H���;H�H��H��H�@ �l~H���H���H�H�@(�Q~�H�\$PH�t$XH��@_�E3�3�H���V=H��H��u�A��PH�����H�KxH�	�B��2��@UH��H��`��H�
�A1H��t[W�E3�E�L�U�E�D�U�E�fD�U�A�@i�&�U�H��A1D�E�L�E��E�fD�U��E��E�D�M��~�H��`]�����H���H�\$H�l$H�t$WAVAWH�� H�AxE3�E��@��H��H�(D8��tB��uR�����Ɓ�H�Mx�,���H�����H��H��u&H���H���L�<��@��t���H�Mx�V���H�\$@H�l$H@���H�t$PD���H�� A_A^_����H�\$H�t$WH�� �3҃�H������tj��rEL�AM��C�I��M;�wI;�s-�Ã����;�r�D��3�I��I��I��I������;�s ��+ڋ�H��H�G�$H�IH��u�H�\$0H�t$8H�� _���H�\$H�t$H�L$WH�� I��A��H��L�IH���!H�a�>����F �f$��耸��H�F(LcF I��3�H���N���F0�F4�F8�F<�^@H�NPA����A�H��"(��H�NH�H���(�FDH��H�\$8H�t$@H�� _�H�\$H�t$H�|$AVH�� H����vH��H��t%H����H�H��tH�H���:{H��u�H�O��vH��H��t%H����H�H��tH�H���{H��u�H�_ � H����H�H��tH��H���zH��u�H�wXH��tS3�9_P~+E3�H�I�H��tH��H���z��I��;_P|�H�H�^�����H������H��H��u�H�O`H�\$0H�t$8H�|$@H�� A^����H�\$WH�� H��H��P����H�O ��s��H�O(���H�OH�\$0H�� _魬���H�\$H�l$VWAUAVAWH��@H�YX3�@2�L��H��I��D�nD9s|HL�3�9WP~5M��I�8u D�2Hc�E���3�D�_p�M�<���A�I��;WP|�@���������A����KwPH�{��3��L�k��HcOP�H��I@�H�����LcGP3�I��H��L��軜�葫��H�D$pH��H��t,H�`L�0I��D�p� A��A��E;�|�Dop���D�s�I3�I��HcGl;Gh}H��H�G`H��DolH�SL9ku!�d$(H�d��H�D$0H�L$ �Q��L9kt�H�[@������L�\$@��I�[8I�k@I��A_A^A]_^����H�\$H�l$H�t$WAVAWH�� E��L��H���~=��H�oPH��H���sH��t$H����H��tH�M��H��H�A0H��7x�H�M��H��H�H����xH��E��tH�N�ƃH��H���G8H����H��H���H�D���H�D���E;�uTH�D�@E��~HH��H�����H���p����tIH��t
H���N���H���H�GH�PH�E3�H��H�@8�zw�H��H���Q���E3�H��A�P���H�l$HH��H�\$@H�t$PH�� A_A^_���H�\$WH�� H���><��H��tH�H��3�H�;3�E3�L�E�K`A��A��E��tA�X��uH�GI�ShB��B#�D�E;�r�t�H�WD����I����B����s2ۊ�H�\$0H�� _��H�\$D���E3�H��L��E��~sA���A���A;��}VIc��M���;�|+�M�T�x�JM�RH��u��Hc�M��Ic��H��A��H#�I�H��H��t	H9��t
A��E;�|�3�H�\$���̋L��%���L�Ƀ���H�D��XD9BuH�BË��E3���~}A���A���A;��}YIc��M���;�|+�M�\�x�JM�[H��u��Hc�M��Ic��H��Ic�H#�I�H��H��tA�B9��tA���A��D;�|�3��H���H�\$H�l$H�t$WH�� A�A��%���H��H�ك�u&I������H��tA�D��H��H���@��������3���~}������;��}_Hc��L���;�|+�M�D�x�JM�@H��u��Hc�M��Hc��H��Hc�H#�I�H��H��tA�D��H������u#�����;�|�2�H�\$0H�l$8H�t$@H�� _ð��H�\$WH��0H��H��H�	H�H�@�LtD�CD�D��H�\$ H����cH�\$@H��H��0_��H�\$H�l$H�t$WH�� D�@��AH��D;���Hc;HcKH�CH#��t@��uH��HK�������HcKE3�H�CH#�L��A��tvLcKI��L#�I��LKI�A�QH�HL��I��tI�A�QH�H�H��I;�t5M����A�@$��uM�I�H0H�e����hP���G���C;��>���M��t�O�I���3�H�\$0H�l$8H�t$@H�� _����������@SH�� �!H��3����H�CH��H�� [�@SH�� H�ك9tH�K���H�H�SH���Z����+u�H�� [����@SH�� H��H�I�R��H��t	H��H�SH�� [���H�\$H�t$WH�� H�zH��H����Hc؃��t#H�KH��H����H��H��uH�_�&Hc<�H���Ϯ��H��H������H�\$0H�t$8H�H�GH�� _��@SH�� �9 H��}H�AH��H�����H�C��2�H�� [��H�\$WH�� H�Z�H��H�������tHc�H��H��H��H������uH���A���H�\$0H�� _���H�QH���H�� v���H���� ~0�����~
����������������#����эB����H�\$WH�� H�YH�����Hc����tH�;�&Hc�H��諭��H��H�����H�H�CH�\$0H�� _���H�\$WH�� H���&H��H�E3�H������H�\$0H���&H�H��&H�G3���'�H��H��H��H���� ��$��&��`H�G@H��ƇpH�� _���@SH�� H��H��H�
��W�H�H�SH�H蓀H�P�&H�H��H�� [�@SH�� H��H��H�
Y�W�H�H�SH�H�W�H���&H�H��H�� [�@SH�� H��H��H�
�W�H�H�SH�H��H�h�&H�H��H�� [�@SH�� H��H��H�
��W�H�H�SH�H��H��&H�H��H�� [�@SH�� H�C�&H�H�YH���&H��qH��H�� [�`���H��(H�	�����H��(���������������H������H�\$WH�� ��H�������t
��H��莡��H�\$0H��H�� _�H�\$H�t$UWAVH�l$�H��H��H����3��L�CHH��E���E��~>L�KHL�E׋I�	�U�H�VH�UߋVH�AxI�ɉU�H�VH�U�H���n����H���c����VH������H9CH�DH������L�C@I����@P�H������I�@8��H����������H����P�@+�H�CH�H;���L�s@H���`���I;��t
ǃ`L���IcQIcI A�A�;�}I�A(H#�H�ȍBA�A�H�e7L�E7�e?I�IH���3	H�CH�����~BH�VA�D��NH�FH�U'H�U�I��D�E�M#D�E�L�E�M�H�KHH�E/H�E��]��H��诉��I;��t
ǃ`H������3H���އ���L�EH�K@H�ӉEH�FH�E�F�EH�FH�E��%L��$�I�[(I�s0I��A^_]������������H�\$H�t$WH�� H��H��H�A�H��H�H#�H�t$0H���a����H����`�H��H�����H��H���>����H��H�\$8H�t$@H�� _�����������H�\$UVWATAVH��H��@H������H�O8�_ H�H�@�!l�
01A���r�
�/1A��tD��A�L$D����;���H����������GT�t!;�u
���D�gTtA��H�O�����;��L�E8�E0H�U0�E8H�O��H����D�gTu:�}0t H�O0ƆpH�N@H����@Pu�X(D��H�O�H�����H�����}0tH�O8D��H���R����}8t#H��H�����H�VH���KH���υ��H�H�NH�X(裇���U�A�����H3�A#�3щU�3PA#�3P�U�H�U�H�H H�M�H�M�H�H(H��H�M�H���jH��H��$�H��@A^A\_^]�\���������������H�\$WH��0H��H��H��t@�d$ H�T$ Ɓ$A�H��A��i���tF�T$ E3�H�L$(E3����0H�Y�./��H;�u	Ƈ$�H���@H���H�OH��-��H�\$@H��0_�@SH�� H��H������E3�3�H��H�� [�0@SH�� H��H��膄��H������H�KHH�� [�x-��H�\$H�t$ UWAVH��H��PH�كe E2���e���H�sH���]���H�KHH�H�U0H�@�Ti��E �	H��������u�����u@��@2�H�M0�̥��@��t
A���.��H���փ���� @2�H���x��tH���T@�������e�H�e���'�H��H������&u)H������tH���l���H�KH��(��H���[���H�U�H���wH�˄�t*�}�uE3�H�U��

�9H�U��H���@���&���uH������$��tH���c���@�@���B���E��t�Y��H��L�\$PI�[(I�s8I��A^_]�9���H�����H�M��(��H�!�-H�M���x����H�\$WH�� H��H��H��H���vH��H��H�����p���H���^H���`���H��H�\$0H�� _�����H�\$H�t$WH�� H��H��t`H�yH���$�����%H��H��tH�F�7gH����vH�KHH��H���8N��H���܁��H��耆����2�H�\$0H�t$8H�� _���H�\$H�t$H�|$UAVAWH��H��P�e�H��H��M��H�e�H��@L���D$ L�F@H�U�E3�H�A(��f�����}���H�N�L���H�NH���5��H�NH���5���H����H�M��_��t�}�H����A��?H��H�U�H�AhH��@L�F@E3��D$ �f��t8�}�H��t�}���A�H�M��<W�kH�NHA���L��H�M���VH���QA��KH��H�U�H�AhH��@L�F@E3��D$ ��e��t�H�}��H�NH��5��H��H����A�L�\$PH��I�[ I�s(I�{0I��A_A^]���������������H�\$WH�� H��H������H������H��H���D�H��H�\$0H�� _������E3�H��tL��I;�uH���L��LD�I�����������H���:�����H������������H�����������H�IHH�H�@hH�%�d��������������H�\$WH�� H���^��H���H��tH���������H���8��H�\$0��H�� _����L�D$SUVWATAUAVAWH��(L��H���A�E�D$pHcظH��H�����H@�H��蝠��L��H�GH�D$xH��$��FH��H@�H���w���H��H��$�H��tH��H��tH�!�aH�IH��u��3�L�gH�_ H������GD��D�wD+�Ic�E��~HE3�L��Ic�HcOH#�H�GH��K�L�HcOH#�H��HOH�I��AA�AA��I��M�IL;�|��D$pA+�Lc�I��H��I�3�螆L�oH�w��D$p�ȉGL��$�I�H��tHc�H#�H��HOH�A�@�AI���GHc�H#�H�GL�<�A�F�GH�������H�L$x�P���I��H��(A_A^A]A\_^][�8����������̋AT�������@SH�� ��&H��uTH����tD�� vH��H�IHH��`�������� 3�H���f��tH���j�����2�H�� [���H�\$H�l$ VWATAVAWH�� H�yH��H����|��L�D$X�D$PH�T$P�D$XH������|$PH��t H�K@ƀpH�H@H����@Pu�@(H���|��L��H��L�cHHǃL��H��uI�I��H�@�|aH��A�H��D�K`M�I��I�B �\aH��u+A��UI������I���9%��I��UI��H�@�.a�I�A�H��I��H�@�aH����{��H��H�\$`H�l$hH�� A_A^A\_^�{���������������@SH��@�A,E3�H�ل�t0���A,��u]�{��H���H�H�@@��`H��H��@[�m{����t9���A,u+H��H��tH��H;�uH���L��u�r��H��@[�H�L$ 辿��H�/�-H�L$ �Uq�ƁpH�Q@M��uH����APu5A�@�A(�E��tH�����BPu�B(�2���%L����3�H���A`����@SH��0��&H��tOH��H�T$ �d$ A�A�������u%�H�H��H�@@��_H��H���2����t�ƃ&H��0[��H�\$WH�� H��H���2z���H���}H�KH�\$0H�� _�z����@SH�� H��H���~��E3�3�H������ƃpH�� [��������������H��HH��tH��H��H�H���&H�L$ 辆�H�;�-H�L$ ��o�@SH��@�A`H�م�u!!D$(H�����H�D$0H�L$ �*����C`��t�H��@[��H�\$H�t$WH��PH��@2��Fy��H�K8�s H�H�@�b^�
P"1�:�r�
@"1��tD��D���胂��H���@8�tH�K��E�QH���H�T$0�d$0H��@H�d$@E3�L�C0�D$ H�A(��]��tH�T$@H�K�A��s�@�H���x��@��tH���H�H�@��]H�\$`H�t$hH��P_��L��I�[I�kI�s WH��@H�y@A��H��H������`��t$�d$(H�����I�C�H�L$ �ت����`��u�H�C@H����GPu)����G(��uH�H��H�@8�]H�OH���I��@��tH����@Pu�@(H�s@H�\$XH�l$`H�t$hH��@_��H�\$H�l$ VWAVH��@L��@2�H����H�ٽH�������H����0�L$hH�K�Sw��H��H�H�@�o\Hǃ��tH�K�'w���ŇC`�FH�KH�{0H�H�@�<\D����% 1:�r� 1�t
D�Ϲ�^���H�K@H��� H�KHH�T$h�S��H�KH3��IT��@��$��u�k`�o��t��uOH�K@A�����T$ �A3�A#�3ЉT$ 3QA#�L�D$ 3Q�T$ H��H�A H�D$(�A�D$$H�A(H�D$0���tM���I��I�@�r[H�\$p@��H�l$xH��@A^_^�H�\$H�l$H�t$ WATAUAVAWH��@H��A��A��L��E��tq+���+�t;�����H�K@A�����T$ �A3�A#�3ЉT$ �A3�H��A#�L�D$ 3A�D$ H�A H�D$(�A�D$$H�A(H�D$0���MH�KH�k0H�H�@��Z�
�1��r �
�1�@��tD�͍OD�����~��H�K@H���3�H�K�3u��L��I��H�CHHǃL��H�D$pM��uI�I��H�@�)ZH��I�ՇK`M�I��I�A �ZH��u,A��UI�����H�L$p����I���I��H�@��Y�I�D��H��I��H�@��Y��t	H�K�t��L�\$@I�[8I�k@I�sHI��A_A^A]A\_����������H�\$H�t$UWAVH��H��@H��H�q����H��H��M�L#�L;�������{TH�K8��D�s H�H�@�;Y�)1�:�r�1��t
E��D�����\}����usH���CT�8���L�C0�����U�A�@3�#�3ЉU�A3P#�H��A3P�U�H�U�I�@ H�E�A�@�E�I�@(H�E�H�H�@(��XH�\$hH�t$pH��@A^_]ÍG��w��H�M��I���H��-H�M��i�H�M��G���H���-H�M��oi���H�\$H�t$H�|$AVH�� �� E3��� H��uAH��H�qH�����H�N`���H�����H��H��uH���A�F�L�4ً� �;�rBu/H��A��Ƈ&�Q��H��H���v�����'t�ȉ� H��H�H�@��W�lH�OH���P���H�H��H�@@�mWH��H�������t�H�OH3��P��D��&D9� vH��H�OHH��`����y��D�� H�\$0H�t$8H�|$@H�� A^�@SH��0H���D$ H��H�AhH��@D��&L�C@��V��t6H������� tH��H�KHH��`�������� ��2�H��0[������H�\$H�t$H�|$UH��H��PH��@2��>q��H�K8�{ H�H�@�ZV�
H1�:�r�
81��tD��D����{z��H���@8�tH�K��=����2H���H�U�e�H��@H�e�E3�L�C0�D$ 	H�A0��U�����}���H���p��H�K8��6%��H��H���p��H����H�M���N��tH���5H���H�U�H�ApH��@L�C0E3��D$ �lUH�ׄ�t:�}�tH�M��F�H�K8A�� <��H�}�H��t^H�K�A�H�������MH�K8A��;��3���H���H�U�H�ApH��@L�C0E3��D$ ��T��tH�M���EH���@�H���o��@��tH���H�H�@��TH�\$`H�t$hH�|$pH��P]�H�\$H�t$H�L$WH��@A��H��H��H�H�aH�aH�� A�@A������H���A�@A�H��������� ��$��(dž,�d$ �d$$W��D$(L��H�T$ H��0�H�FH��H�\$XH�t$`H��@_�H�\$H�t$H�|$AVH�� H���bOH��H��t%H�� ���H�H��tH�H����SH��u�H�O�+OH��H��t%H�� ���H�H��tH�H���sSH��u�H�_ � H�� ���H�H��tH��H��HSH��u�H�wXH��tS3�9_P~+E3�H�I�H��tH��H��S��I��;_P|�H�H�^茅���H������H��H��u�H�O`H�\$0H�t$8H�|$@H�� A^�Y����@SH�� H�aH��H������H�K H�� [������,�H�\$H�t$WH�� H��H�IH�'��3ۄ�u2H�~ � H�� ���H�?H��tH��H��MRH��u�H�^ �^xH�\$0H�t$8H�� _��������H�\$H�l$H�t$ WH��0H�پ�ITE��A�H��D�[PD+�E#�D;Sl��H�C`D;Sh|D+ShHcKhL�D�xA�JM�@H+�u��Ic�L��I�3�H�|$@H�D$@Ic��H�,�H�D$ H�L$ H�D$@H;����E��E�XE��t{H���L��H���;Ct~ZH�{H���LH���L��;Ct~EH�KH��&����u83���sxu/H���LL�KHH�K(L��H�C H����'.���	H���L@���2�H�\$HH�l$PH�t$XH��0_ËBL��%���A���H�I���H��I�D���������H�\$H�l$ H�L$VWAVH��0A��H��H�H�q3��>H�~D�t$pD�qH�y H�y(�y0�y4�y8�������t��D��H�N�
�
H�RI��u�H�C(H��tH�K(H��H������@��u8�P�u���H�D$XH��t�|$ E��L��H�H���H��H�{ H�C H�C(H��H�\$`H�l$hH��0A^_^��H�L$SH�� H��H���&H�H�Q3��AH�AH�A �A(H�A8H�A@H�AH�A(A�3A8����#�1C8A�3C8#�A3�C8I�@H�C@A�@�C<I�@H�CHH�K�$ ���C0H��H�� [�L��I�[I�kI�KVWAVH��@I��I��H��L��H��&H�L�AA� A�`I�`I�`�a0H�a8H�AHH� H�@�@I�S�H�M�����D$ @E3�L��H�UI�N`�����H�L$8�T���I����A�@D��H�U�"����I�� A����D��H�U�����I���L��L��H��I����I��H�\$hH�l$pH��@A^_^����H�\$H�L$WH�� A��H��H�H���!H�aI��������D$P�G �G$H�g(�H��H�����H@�H��艊��H�GL��3�H���Wq�H��H�\$8H�� _�H��H�XH�hH�pH�x AVH�� H���FIH��A�0H��tH�K�I��H��)���H��u�H�O�IH��H��tH�K�I��H�����H��u�H�_ �H�K�I��H�����H��u�H�wXH��tD3�9_P~3�H�I��H�)������H�m;_P|�H�H�^����H�����H��H��u�H�O`H�\$0H�l$8H�t$@H�|$HH�� A^�t��H�\$H�l$H�t$WAVAWH�� H���SHH��A��H��tFH�s�H�H��t5H����-��H����!��H�N���H�N���I��H�����H��u�H�O��GH��H��tFH�s�H�H��t5H�����~��H�����~��H�N�~��H�N�~��I��H���~��H��u�H�_ �AH�s�H�H��t5H����~��H����}~��H�N�t~��H�N�k~��I��H���`~��H��u�H�wXH��tw3�9_P~OE3�H�I�,H��t5H����0~��H����$~��H�M�~��H�M�~��I��H���~����I��;_P|�H�H�^��}���H����}��H��H��u�H�O`H�\$@H�l$HH�t$PH�� A_A^_�}����H�\$WH�� H��L�A(M��t@I�x(H�C L;�t�K��K4A+H ���A�@$�uM�H��l��I�H0��'��L��H��u�H�KH�\$0H�� _�O}�����@SH�� H�w{&H��H��A%�����u4H����Q@��L�@I���H��H;�uI���H��E3��L��H�� ���H����l���H�K`����H�K8H�� [��|�����������H�\$WH�� ��H���`�����t
��H���|��H�\$0H��H�� _�H�\$H�l$VWAUAVAWH��@H�YX3�@2�L��H��I��D�nD9s|DL�3�9WP~1M��I�8uD�2Hc�E�3�D�_p�M�<���A�I��;WP|�@���������A����KwPH�{��3��L�k��HcOP�H��I@�H���Ѕ��LcGP3�I��H��L���l��u{��H�D$pH��H��t,H�`L�0I��D�p� A��A��E;�|�Dop���D�s�I3�I��HcGl;Gh}H��H�G`H��DolH�SL9ku!�d$(H�H���H�D$0H�L$ �5���L9kt�H�[@������L�\$@��I�[8I�k@I��A_A^A]_^����H�\$H�l$VWAUAVAWH��@H�YX3�@2�L��H��I��D�nD9s|HL�3�9WP~5M��I�8u D�2Hc�E���3�D�_p�M�<���A�I��;WP|�@���������A����KwPH�{��3��L�k��HcOP�H��I@�H���H���LcGP3�I��H��L���k���y��H�D$pH��H��t,H�`L�0I��D�p� A��A��E;�|�Dop���D�s�I3�I��HcGl;Gh}H��H�G`H��DolH�SL9ku!�d$(H�����H�D$0H�L$ 譔��L9kt�H�[@������L�\$@��I�[8I�k@I��A_A^A]_^����H�\$H�t$UWAVH��H��pI��H��H������H��t
H���tc��H;�t
dž`H���L�pA�����~:�L�E�I�H�։M�H�OH�M��OH�@x�M�H�OH�M�I��iF����H�H��H��H�@�NF�K����#�t"�#�;�uH�C H9GuH�H��H�@� FA�����~AL�GI��D��WH�GL�E�L�E�L�E�D�M�U�D�M�A��U�H��H�E�H�E��5��L�\$pdž`I�[(I�s0I��A^_]������H�\$H�t$WH�� H��H�IH���3ۄ�u#H�w �H�N�0H�6�x��H��u�H�_ �_xH�\$0H�t$8H�� _�H��H�XH�pH�xL�p AWH�� D�
L��A���I���A��I����L��H�H��E��tI�H ��@H��tH�� ���H��tM��L��I��H���,�I�M��H��I��H�@@��DH��J�L> H���J�\> ��,��uH����A�H�Ӂ����H�H�ǠH��H�����H�t$8H��H�\$0H�|$@L�t$HH�� A_�@SH��PH��H�A H��u@�H�H�K u5�P�v��H�D$`H��tL�C�d$ D�KH�H�������H�C H�C(H�C(H��u%!D$8H�V���H�D$@�
H�L$0聑��H�C(H��t�H��P[���H�\$H�l$H�t$WAVAWH��0L��H���o0�G4;����M����O0t����E3���H���H�O(L��H;�tZH�_(�"H�v(�N$Ot�K 9N v@H���H�w(H��t-H���݋O����C$�uL�H�K0L��H�Se���V ��H�[(H;�u�A+n H�L$ I�׉l$(L�t$ ��Y�����M�����2�H�\$PH�l$XH�t$`H��0A_A^_�H�\$H�l$H�t$WH�� H��H��H�����@Pu�p(H���H��襠��@���������H���Ҡ������H�W`H�� H�\$0H�l$8H�t$@H�� _�s������������������H�\$H�t$WH��@�H��%���H�T$ ��I��H�H��H�\ I�H����#�C3����uH�OH9K uH9stH���H��u�H�t$XH��H�\$PH��@_����H�\$H�l$H�t$ WAVAWH�� D���3�H�ً�E��~~��t���;��}eHc��L���;�|+�M�D�x�JM�@H��u��Hc�M��Hc�pH�ɋ�H#�I�H�,�H��tE3�H�� D��H�����u"��A;�|�3�H�\$HH�l$PH�t$XH�� A_A^_�H�u ���H����CPu)����S(��uH�H��H�B8��@H�KH����,��H������H�\$H�l$H�t$WH�� H���H��H���A��H�H�)��H��H��tD��L��H��H���P�H�l$8H��H�\$0H�t$@H�� _�H�\$H�t$WH�� H�yH3�H97u3��1H�O�E���H�H��tH�A H�H��uH�H��H�O�i����H��H�\$0H�t$8H�� _��H�yH������H��(�H����H��(ËA8A�����A(3A#�1A8�3A8A#�3�A8H�BH�A@�B�A<H�BH�AH�H�\$H�l$ VWAVH��0�AH��H���H��L�AH�T$ A3M��%���M��1AA�3A%���A3�AI�AH�A A�A�AI�A���H�A(ǁ�H�M�v��H�w0H��H�N��q����H�KH�N�#H�cH�L$(�q��A�%�����u)A�FL�D$XH�MH�T$PH��H�D$P�U���D$X�G@H�OhH���r��H���H��tH���H��H���S��H�\$`H�l$hH��0A^_^�H�\$H�l$H�t$ WH��0A����H��H�A(H��u�
���@��tH�K �H�K(H�q �C;�rOH�y(H�H��u�P�p��H�D$@H��t!D�K�A�L�C�L$ H�H�����H���3�H�K H�H��u�H��H�\$HH�l$PH�t$XH��0_����H�\$H�t$H�|$UAVAWH��H��H��E��H�IH�����H��tH�x�H�K����H��H�OH�U��0���e�W��e�L���E�H���gH�K3��U��H�U�H��H�H����U�L���3ʁ��3щU��3ʁ��3�M�I;�H�@H�E�A�@�E�I�@H�E�H�E�HE�H��H��H�M���,L�DŽ�t�H�H��H��H�@H��<H��ueE��t`D�pA�ƇC��t"�e�H�'���H�E�H�M��V���A�ƇC��u�H�L��H��H��H�@H��<H��uL��H��H���;����CL��$�I�[ I�s(I�{0I��A_A^]����H�\$H�t$WH�� ��3�H�ً�����������;�}yHc�L��;�|+�M�D�x�JM�@H��u��Hc�M��Hc��H��Hc�H#�I�H��H��t,�J�;�X������;�H�����uH�������;��e���������;�@��H��H�\$0H�t$8H�� _�H�������H��`H�� �x�H�\$WH�� H��H��H�����H���E3�H��H�IH�\$0H�� _�"��H�\$H�l$H�t$ WH��0H�پ�ITE��A�H��D�[PD+�E#�D;Sl��H�C`D;Sh|D+ShHcKhL�D�xA�JM�@H+�u��Ic�L��I�3�H�|$@H�D$@Ic��H�,�H�D$ H�L$ H�D$@H;����E��E�XE��txH��6��H�W;Ct~ZH�{H��	6H���5��;Ct~EH�KH������u83���sxu/H���5L�KHH�K(L��H�C H�{��>���	H���5@���2�H�\$HH�l$PH�t$XH��0_����@SH�� H��H���H���H�I�T%��H�KH��H�� [��������������H�\$WH�� H��H�I H��tH������H��H��u�H�OH��tH������H��H��u�H�g H�gH�\$0H�� _�@SH�� D���H��H���A��Y��H����CPu)����C(��uH�H��H�@8�9H�KH���%��H�� [��H�\$WH�� H��H��H��`H�� E3�D������t&D���H�׋��H��D;�	�Y���2�H�\$0H�� _����H�\$WH�� H�I��H��A�I��H�@(��8L��H��H��H�\$0H�� _�I�������������H�\$WH�� H�I��H��A�H�Q8H�@(�<8L��H��H��H�\$0H�� _�H�\$H�l$H�t$ WH��@H��H���YH���H�pH���
��H��H����APu�A(H�OX�ĕ��H�U H�"H�GPH�(H�WPH�OX�������H��H��t*H���^T��H;�u���H���t�@ �e����]�N 蜑��H��H��uJ�H@�i��H��H�D$XH��t�` �`$�`(�`,�@0�3�H��PH���5�H�ӋN �R����C �G���tH�H��H�@�
7������+ȅ�~8�G�D$ H�G H�D$(�G�D$$H�G(H�D$0H�L�D$ H��H��H�@p��6H�\$PH�l$`H�t$hH��@_�H��g&H�L$ �~^�H���-H�L$ �G�H�\$UVWATAUAVAWH��H��-H3�H�D$pD��E2�D��H��E���E3�D�t$ 3�3틋����;���Hc�L��;�|+�M�D�x�JM�@H��u��Hc�M��Hc��H�ɋ�H#�I�H�<�H�����O�;�������;���������yL�D$ A��H���H�D$(H���-8D$ u+H��}A�ljt�0H���FA��H���OH�D$(H���������u�O�;�������;���2�D
��A;����Ic�H����3��T�0����;���Hc�L��;�|+�M�D�x�JM�@H��u��Hc�M��HcD�0Hc��H��H#�I�H�<�H��t_��G;�������;�~A��H���oH�D$(H��������u��G;�������;���2�D
�H��H;��.���H�K`H�T$(�V��tH�L$(��2H�D$(��������E������3�����������;�}pHc�L��;�|+�M�D�x�JM�@H��u��Hc�M��Hc��H��Hc�H#�I�H��H��t#�����u������;�H���o�������;��n���3�H�L$pH3��g��H��$�H�ĀA_A^A]A\_^]��H�\$H�t$WH�� �H���H��H�����I��D�H�I��I��H@�H���o��D�3�A��H�CI��H��I���PV�E3�������t%D��H�FH�OA�B#H�CA�M�@I��u�H�t$8H��H�\$0H�� _����������H�\$H�t$WH�� H��H��H��H���\���L��hI� H���H�L���H��耐���H�\$0H�t$8H�� _����H�\$H�t$WH��@�I��A8H��H�م�t'�d$(H�T���H�D$0H�L$ �����C8��u�S4A�H���;�D�C4D+@ H�HJ�4��C4H�t$X�C8H�\$PH�H��D�GH��@_�������H�\$WH�� H�I��H��A�I��H�@(�}1H�L$PL��H��H�H�H`�2���H�\$0H��H�� _���������H�\$WH�� H���H�Q0H��H�xH���@�C%�����u%�S@H�����H��H��uH���3��H��H�\$0H�� _����H�\$WH��0D�
L�Ax3�A��A��L��H����D��E��tq��uI�CI�HA��A�‹�#�E;�r�tPH�T$ I���W������L�ȃ�����t&H��D��I�AH�����	
H�RH�[I��u�H�L$(��b��H�\$@H��0_������H��H��H�`�W��`��AP�@�tH�P����H�ApH��H����������������H��SH��P�`�W��`�H��AP�@�tH�P�����nH�ApE��teH��u`��A��t'�d$@H�����H�D$HH�L$8�+}����C��u�H�CpH��uH�K���L��H�T$ H����H�Cp�CH��P[�H�\$H�L$WH�� A��H��A��G>���H��`&H�H��H��3�����H��H�K8�1���H�C0�@�Sa��H��H�D$HH��t�` �`$�`(�`,�@0�3�H���H�K8H��P���@��H�����H��H�\$8H�� _���@SH�� H��H��_&H��H��H�� [�?�����H�\$WH�� ��H��������t
� H����`��H�\$0H��H�� _�������������H�\$WH�� H��H��H��H��u����H��H��t
H��H���r����H��謼��H�\$0H�� _��H�\$WH�� �y H��H�I8H�H�@��-D���0�D:�r�
��0��tD��D�����Q�����CT����uH��E3�����*H�\$0H�� _����@SH�� H���D��H��H��t�\*H��H��H��t�B*H��H��t����H���H����@0H�� [��������������H�\$WH�� H��H��H��H��u��E��H��H��H��t
H���ֺ���	H�K��K_��H�\$0H�� _Ã��������������H�\$WH�� I��H��H�J8E3��$�H��H��H�\$0H�� _�������������������@SH�� H��H��軆��H�K8E3�H��H�� [���������̋AT�����������H��H�A,��t�����t
�ȉA,H��H�H�L$ �a���H�Ҷ-H�L$ �<����H�\$H�t$H�|$AVH��`�ڈ��H��(��������)H����)H���(�D$0L���d$(M�΃d$ H��L��H��M'��tT����I�L�ƃ�|H������Q���H��H��t\�H�������H��L�\$`I�[I�sI�{ I��A^��(��H�L$@�����N��O���H�P�-H�L$@�;�g(��H�L$@�����N�����H� �-H�L$@��;��@SH�� H���"J��H��H��t��'H��H�� [�������H�H�@8H�%r*��H�\$WH��@H���n�H;�tiH�K8�{ H�H�@�E*�3�0�:�r� �0��t
D��D�����fN������CT��uH���'H�\$PH��@_����w��H�L$ 覈��H�_�-H�L$ ��:�H�L$ 袈��H��-H�L$ ��:���������@SH�� �Y H�I8H�H�@��)�
��0�:�r�
t�0��tD��D����M��H�� [�5����H�\$WH�� H�;[&H��H�H�����H�\$0H�H\&H�H�~\&H�GH��H�� _��H����������H���O���H�\$WH�� H�[&��H�H��H�\[&H�A�[�����t
��H���Y[��H�\$0H��H�� _����H�\$WH�� H��[&H��H���H��H��[&H��@����t
�@H���
[��H�\$0H��H�� _�������������H��������@SH�� H�ٹ@�Z��H��H�D$83�H��t	H�������H�� [����H�\$WH�� H�����YZ��H��H�D$8H��t,H�G�H��H�H#�H�����H�Z&H�H�NZ&H�C�3�H��H�\$0H�� _�H�\$WH�� I��H���p�Y��H��H�D$H3�H��tL��H���7�H�\$0H�� _�H�A�������������H��H�H�@H�%^'��������������@SH�� H��H�����H��H�� [������H�������������H���C���������H���#�����H��H��#��0���tH��H�l$��H�L$ �����N��$���H�%�-H�L$ ��7���H��(�
��0�h#�%��0H��(�@SH�� H���N�H��H�� [��H�A(L��L��L��I��L��L�A(tH��H��H��I��I�I(H;�u�����H�A3ɨtH��H��t	H�����H��tH�
���H�A(�H��H���H�Q(t�t�2�ð��H�\$WH�� H�A(H��H��H��tH��udH�ȃ�H���H�O(u߹�X��H��H��tH����H�����3�H�G(H�ȃ�H��H�O(tH��H�Ѓ�H��H�O(H;�u�H�\$0H�� _��H�\$WH��@H��H�Y(H��tAH��t;H��H�L$ ���H�����H���W��H�g(�FW��tH�L$ ��H�\$XH��@_�H�T$ H�L$0�b���H�����H�L$H��(�b���@SH�� H��H�Q��A�a�A�a�A?��9a��H�C ��+a��H�D$0H��tH�Ⱥ@H�!�aH�IH��u�H�C(H��H�� [���H�\$H�L$WH�� H��H���H���˗���LJ�H���H���H���E������g`H��������H��H�\$8H�� _���H���L��L���H��@H��M�I�������H�\$WH�� H���H��H��訁������H��3���G������������������H���H�\$0H�� _顁���H���L��L���H��@H�M�I�[�����H��H������H��H������H�\$H�t$WH�� @��H��H���H�\$0H������@��H���H��H�������H��H�\$8H�t$@H�� _�H�\$H�T$UVWATAUAVAWH�� M��M��H��H�IH�L$`茀����s�{�ϋ;�|d�oLc�HcKI#�H�C L�4�M��t@I��I��H�D$h�b"��t+I��I��I��O"��t;�u���HcKI#�H�C H�$���͋;�}��sH�L$`�T����H�\$pH�� A_A^A]A\_^]���H����,���H�\$H�t$H�L$WAVAWH�� M��D��H��3�H���H��������tA��H���OH��H����������A�H��H�\$HH�t$PH�� A_A^_�H�\$H�l$H�t$WH�� �9@��H��E3��G��A;���HcKH�C Hc�H#��t@��uH��HK(��������{t�;C|�CHcKE3�H�C H#�L��M��tnA��tLcKI��L#�I��LK(I�A�QH�HL��I��tI�A�QH�H�H��I;�t>M����A�@$��uM�I�H0H��B�����E3��;�G��C�%����;3���;I��H�\$0H�l$8H�t$@H�� _���H�\$H�l$H�t$WH�� D�AH����@��H��D;�D�F�D;�3��H���3�H��tZ�����~PH�H�@ � ��u?8��tA�@��H���_���H��H��tH���g���H��tH��'��R@��H��蓫��H��uEE3�@��H������H��H��t,H���H��tH�@H9Hu�>��3�H���H�˲�xH��H�\$0H�l$8H�t$@H�� _���������@SH�� ��������H���3��3�H��H�� [�74�����H��H�H�%��H�H9A��F��H��(H�B�H��M�L#�I�xhu%H�AH�HI�@hI�@pI�@I��H�E3�H#��c2��H��(���H�\$H�l$H�t$WH�� L��H�BXE3ɺhM��HD�L9usH�y�B�M��I��HD�H�oH�~XH�~`D8I!t-�J1M��I���HD�I���D��AHD�H�O0�/2���#H�O8��i���GPH�O8�k��A�H��H���1��H�\$0H�l$8H�t$@H�� _�̈Q!�����H�L$SVWATAVAWH��hL�����H��tH�x��3�H��$�H��H�\$(M�~L��$�I�GH�D$8H�GH�D$0H��H�OH��H�H#�I�����3�I���-���L��H�D$ 3�H��$�H�����t.H��H�WH��M�L#�D�NH��H���4U��H��H��$�I�(��I��I�F���*H�\$(H��$�L�d$ L��$�H��$�L��$�H��H�H#T$0H�L$8�S>��H��t(H��I���CP������F��uH�H��H�@��ǃ�����ǃ�����ǃ�ǃ�H�chH�cpI�fI��H��hA_A^A\_^[�O��H�L$@�,C��H��-H�L$@�S-���@SH�� H�KP&H��H�H�AH���\��f�cp��Cx���0���CtH��H�[@H�� [��@SH�� H��O&H��H�H�&D&H�A��t
���SN��H��H�� [�����������H���G\��������̋AX������������̋At������������̋AP�������������@SH��@H��H��t H�A0H9Pu9�SH�K0H��H��@[�p��H��<&H�L$ �C�H���-H�L$ �0,�H�L$ �}��H�Ρ-H�L$ �,����H��(����Ax��u
H�QH�I0�"n��H��(��H�QH�I0�;v�����H�QH�I0�m�����@SH�� H���n���H�O&H�H��Hǃ�Hǃ�H�� [������@SH�� H��N&H��H�H��B&H�A��t
����L��H��H�� [�����������H�\$H�t$WH��PH��H��H����H�H��H�@�H��H��uH�K0H��H�H�@8��H����Cx����uH�{�s�d$(H� x��H�D$0�H���H��uH�L$ �?g��H���H��u�H���H��tH���H;�uYH��Hǃ����H��H���YH���=H�\$`H�t$hH��P_�H�:B&H�L$8�,A�H���-H�L$8�G*�H�L$8�{��H��-H�L$8�+*���H�\$H�t$WH��0H��H��H����H���H��H�^ H�H�{0H�����W�H�G D$ H���TL�f�T$(L�D$ (D$ fD$ f;VPuL;FHtH�VH�L$ �~���D$(H�\$@f�FPH�D$ H�FHH�t$HH��0_��H�\$WH��PH��H����H���H����H�H��H�@�:H���H��H;�������Cx��u H���H��H����8���H��� �2�d$(H�>v��H�D$0�
H�L$ �ie��H�CH��t�H�CH�CH�\$`�H��P_�H��@&H�L$8�?�H��-H�L$8�(�H�L$8�z��H�G�-H�L$8�(�H�L$8�y��H�+�-H�L$8�q(�@SH��@H�A0H��H�P����hq��L��H��t$A�Ѐ���uI��tH���L;�uI�` �5�d$(H�\u��H�D$0�H���H��uH�L$ �{d��H���H��u�H��H��H�@@H��@[H�%���������@SH��@H��H��t:H���H��tQH�H��H�@��H���H;�uQH�K0H�IH��@[�ș��H�Y?&H�L$ �K>�H�ȕ-H�L$ �f'�H�L$ ��x��H��-H�L$ �J'�H�L$ �x��H��-H�L$ �.'��H�\$H�l$H�t$WH��@H�����H�ك���Ax��#��u����Hǃ���ukH�����a�d$(H�t��H�D$0H�A�H�L$ �7c��H�CH��t�H�sH�CH��H�H�@��H;�tH�D��H��H��H�@�kH�\$PH�l$XH�t$`H��@_���H�QpL��H�H��I��H�@H�%9���������H�\$WH�� �d$4H���A8�D$0����H�IH��H��H�H�@ ����H���o���hH�OpH��H�H�@��H�OpH�T$0H�H�@ ��H�OH��H�_ H�g H�gpH�H�@��H��t�H���m����H����G8��t�H�\$8H�� _��H�apH��H�IH�H�@H�%R��H��H��t-H�A H��u��uH��H�U��uH�a H��H��H���H��H&H�L$ ��;�H�k�-H�L$ �	%���������H��H�XH�hH�pH�x AVH��@3�A��L��H��H����H�H��H�@��H��H��uH�C I��H�H0H�H�@8��H��H�K A�H�{ A;�uA�ƇC4H���W�����tA;�uH�SE��H�MA���m���{4�H���H�\$PH�l$XH�t$`H�|$hH��@A^�H�<&H�L$ �:�H�z�-H�L$ �$����@SH��P�a,H��G&H�H��H�QD�A(�A0�A4�A8H�IH�H�@�������-��3ɉC<�g���S(H�K@H�L$(L��3��
L��H�C�D$ �n��H�CH��t	H��H��P[�H�K�iH�KH�H�@�P����H�L$0�����N��r��H�˝-H�L$0�1#�H�\$WH�� H��H�DuH�H�QH��W�H�K�?"H��0&H��CH�\$0�GH�o1&H�H��H�� _����@SH�� H��H��F&H�H�I��H�K�f��H�KH�H�@���H�� [�����������H�\$WH�� ��H�������t
�HH����C��H�\$0H��H�� _��A8H�IH�%J���������̋A<�H�IH�%1̉Q,H�I�j��@SH��@�A4H�م�u!!D$(H�Io��H�D$0H�L$ �v^���C4��t�H��@[��@SH�� �H�هA4H�IE3�����
3��C4H�� [�@SH�� H��E3�H�I����
3�H�ˇC4H�H�B(��H��H��H�@ �m3��bk��3�H�� [���H�D$(���H�aH�AH���D�ID�A��̋%�������t{��tn��t2��L�QI�%#"����D�J3�D�L$�DH��L3�H��L��H��r�IcJ 3�I��H��I�B(Hc�H���	D9JtH�H��u�H����ËB9A�
H�I�B9A@��ð��̋%���t<��t'��t��t2�ËB9A���H�AH�Hx�B9AD��H�AH�Hx�B9A@�ܰ�H�\$WH�� H���H�JH����+��H�GH��H�_H�\$0H�� _����@SH�� �H��t
�I��u3��9�;t
�;u+A��E3�H�SH�K���H�CH��t
��'�H�CH�� [���H�\$WH�� �9H��H��t
�9uA��E3�L�AH�QH���F���H�{�H�\$0H�� _��H��H�XH�hH�pH�x AVH��@H��H��E��tII�HD�A�D+�E�����e���H����H��H�L$(����E�H�M���yesI�H�Q�+Ѕ�~t����H���?�ysdM�p3�A�VA�;�~(I�^ H�\$ H���k���3�I��葙��H��H����k���H��t&H��H�L$(�G���E�H�M�F�p����f2�H�\$PH�l$XH�t$`H�|$hH��@A^��H��H�XH�hH�pWH��0�� H�i D���H��L��H�h��H������H��u��tL��H�l$ D��3�H�����H�\$@H�l$HH�t$PH��0_�H��H�XH�hH�pWH��0��$H���D��H��L��H�h��H���l��H��u��tL��H�l$ D��3�H���N��H�\$@H�l$HH�t$PH��0_��H�\$WH��@I��H��H��E��t3����H��t<�D$ H�D$0�L$0�H�\$(D$ �O������t
�D$ ��2�H�\$PH��@_��H��H�XH�hH�xATAVAWH��0I���I��D�d$xE��D�L$pL��H��D�`�E3�H�����uE��L��I��H���:�����uP�|$ptH�[�H�[ H��t>D�L$pL��H��D�d$ H������uE��L��I��H������u	H�����2�H�\$PH�l$XH�|$`H��0A_A^A\���@SH��@I�I��H��H�@�+H��tH��H�L$ �����H��KH��@[��H��H�XH�hH�pWAVAWH��0I���I��D�|$pL��H��D�x�E3�A��H�����uL��I��H���k�����uH��tH�[�H�[ H��t9D��D�|$ L��H��H�����uL��I��H���,�����u	H����ư�2�H�\$PH�l$XH�t$`H��0A_A^_�H�\$WH��@�|$pI��H��H��t6A�����H��t=�D$ H�D$0��L$0H�\$(D$ �O����H��t
�D$ ��2�H�\$PH��@_����H��H�XH�pH�xATAVAWH��0I���M��@�t$xE��D�L$pL��I��@�p�E3�H������uD��D�|$ M��I��H���-�����uU�|$ptH�[�H�[ H��tCD�L$pM��H��@�t$ H���{��uD��D�|$ L��I��H�������u	H���뼰�2�H�\$PH�t$XH�|$`H��0A_A^A\�@SH�� �9H��t�9u5H�IH�AH�� [H�%�H�I�DH�CH�SH���H�I���H�� [���@SH��@H�	H��H�H�@��H��tH��H�L$ �-����H��KH��@[��H��H�XH�hH�pH�x AVH��0�\$`E��I��H��H���tL��H�������uE��
tD��L��A��H��A��H�������u$��t#��E�΀�L��H�׈\$ H�������t��2�H�\$@H�l$HH�t$PH�|$XH��0A^��H�l$H�t$WH��0�D$`I��H��H��t�D$`L���H��$�D$ �E�����u>�D$`
tD�L$`L��A��H��A��H�������u�D$`tL��H��H��������t��2�H�l$@H�t$HH��0_��H�\$WH�� �aA��H�H������AH�BxH�H�Q�_��H�G H�G��tH�,H�G(H���H��H�G(H�H�\$0H�G0H�� _���H�\$WH�� �9H��tW�9ujH�IH��u4H�KH�T$0H��`�����H�H#|$0tB�H���{�H�{��,3��@�H��t ��H�I����H��t
�H�C�H�\$8��H�� _�����������H��H�XD�H L�@H�PUVWATAUAVAWH��A��L��H��3�D���@�����t�G��^��H��H�FH�NH���L��L+�I���v��H�NH��H+F �D��$H=���H�N H�NH9�����S��H����98u$H��@���D�d$ D��M��H����������VD��tQL��L�����A�WA�;�~/I�_ H�\$xH���c���3�I�����L��H���9c�����$�M��uL��$�H�N�k���I��H��$����L��$�A�H�AOD��H�@���H�L���L�l$PE���!@8��u��y����u��H��tH��D��@�l$@H����H�g9&���D$DH��$�H�D$XL�D$PL�D$HM����L�ND�FA��I���J��H;�vMI���J��H;�vI���H���J�,�H;�tH��H��t D�d$ D��$�M��H���s������TE��tD��tE3�L�I��H���@������1E��D#�t=��$��D$8D�d$0�D$D�D$(�D$@�D$ L�L$XL�D$HI��H�������A��
tAA����@"Ŋ�$��L$8D�d$0�L$D�L$(�D$ L�L$XL�D$HI��H��������A��t>A���@"Ŋ�$��L$8D�d$0�L$D�L$(�D$ L�L$XL�D$HI��H���H��uaE��t!H��uL�H�D$HL�@I��H�����u;D��@�|$@H�|$XL�D$HH�T$PH�N�r��H�D$HH���P���H�E��u����D��L�l$PI�OH�YH�V��+����dvH���H�QA����D�
tVL�I���A��L$`3�A#�3ȉL$`A3A#�A3�L$`I�@H�D$hA�@�D$dI�@H�D$pH�L$`�_�@����E�I;�A��@��H��P���A��H��$�H�ĠA_A^A]A\_^]���������������H�\$D�L$ L�D$UVWATAUAVAWH��pA��M��H��H��E3�A��������t��"�Z��H��H�GH�OH���L��L+�I���v�=�H�OH��H+G D��$�H=���H�O H�OL9��������H����D9(u$H��@���D�d$ D��L��H���$��������OA��tIM��L�����A�VA�;�~/I�^ H�\$PH���^���3�I������L��H����^�����$�M��uH�O�b��H��t&�u���I��H�L$X��E�H�M@�L��$�H�ƀ�H�L���L�t$P@����D8��u�u����u	�ۻtI���D$@H����H�5&���L$DM��M��M���8A�ă��D$H��t=A���$��$��T$8D�d$0�L$(�D$ M��M��H��H�������L$DA��
t8A����$��$��T$8D�d$0�L$(�D$ M��M��H��H���.����E��A��tU��$��D$8D�d$0�D$D�D$(�D$@�D$ M��M��H��H�������H��uL�M�GH��H������uf�|$@tE��tA�L�H��H���k��uE�D$@E3�M��L�t$PI��H�O���L��H���D$H�L$D����H��@��uL��$����L�t$P@�H�ML�AH�W��+����dvH���H�MM;�A���A�����H��ŀ��@��H��$�H��pA_A^A]A\_^]���H��H�XH�hH�pWATAUAVAWH��0��$�M��D��$�I��L��H��M��tD��$�M��D�`Љx������8H�T$xH�˅�u�����`�D�l$xH��H���D�EA�L�MA��I���J��I;�vMI���J��I;�vI���H���N��H;�t3�H��t!��$�E��M�ljD$ H��������D��D�d$ M��H��H���b	��uD��$�L��I��H�����u0��H�T$x��E��H��M�I��I���L��G��H��H���'������u���D$x�������$�����D$x������� ��@���2�H�\$`H�l$hH�t$pH��0A_A^A]A\_�H�\$H�t$WATAUAVAWH��0D��$�M��I��L��H���M��tD��$�M��D�d$ �.���m��$�tL�I��M��H��M�@x��	���F��$�H�T$xH��u�����D�l$xH��H���D�GA�L�OA��I���J��I;�vMI���J��I;�vI���H���N��H;�t3�H��t!��$�E��M�ƉD$ H�������D��$�M��H��D�d$ H�����uL��I��H�������u5��$�H�T$x��E��H��M�I��I���L��j��H��H���%�����$��u���D$x�������$�����D$x������� ��@���2�H�\$`H�t$hH��0A_A^A]A\_���H��H�XH�hH�pWATAUAVAWH��@��$�M��D��$�I��D��$�L��H��M��tD�p�E��M�ljx��m���LH��$�H�˅�u�1����H��$��D$0H���D�EA�L�MA��I���J��I;�vMI���J��I;�vI���H���N��H;�t3�H��t!��$�E��M�ĉD$ H���8����D��D�t$ M��H��H�����uE��D�l$ L��I��H��� ���u5D�D$0H��$���H���M�I��I���L����H��H���"������u����$��������$������$�������� ��@���2�L�\$@I�[0I�k8I�s@I��A_A^A]A\_�����H��H�XH�hH�pH�x ATAVAWH�� L��L��@2������t��I�N����|$`H��@��tUH��H��t0L��I��I���I�N@����L��H��� ��H��H��u�M�I��I��M�@x�>@����@��
t?L��H��t7����@��D��M��I��I����I�N@��uYM��H�����L��H��u�@��tMH��H��tE��@��D��L��I��I���I�N@��uL��H���z��H��H��u��
I���H�����@��H�\$@H�l$HH�t$PH�|$XH�� A_A^A\������H�\$H�l$H�t$WATAWH�� L��H��@2�����t���H�O�N���D$`H��tFL��H��t>�t$`��@��D��M��I��H���`H�O@����M��H�����L��H��u�D$`
tAL��H��t9�t$`��@��D��M��I��H���H�O@��uM��H���r��L��H��u�D$`tIH��H��t,L��I��H���1H�O@��uIL��H���7��H��H��u�L�I��H��M�@x�U@��@��H�\$@H�l$HH�t$PH�� A_A\_�I���H���y������H�\$H�t$H�|$UAVAWH��H��@H��I��H�U�E��I�����D�}�H��H��twH��E��tE�K���L��H��tA�E�H�E����E��M����H�]�E����$�N�,�f�����uL���E��H�U�H��������E��2�H�\$`H�t$hH�|$pH��@A_A^]���H�\$H�t$WH��@H��I��H�T$hI���.��|$h�/I�	H�AI���L��H��u1L���D��H�T$hH���M��L��H��u�2�H�\$PH�t$XH��@_Ë��D$h�����H�L$ ��$I���]��H��N��H�\$H�t$H�|$UAVAWH��H��@H��I��H�U�E��I���x�D�}�H��H��t}H��E��tG3��Ž��L��H��tE�E����E�H�]�E�L�E��M������$�N�0蘷��L��H��uL���E��H�U�H���N����E��2�H�\$`H�t$hH�|$pH��@A_A^]�H�\$H�t$WH�� H��H��I;�u��3�H��E����A��tfA��������toH�	H��������u\L�W��D��E�B`A��A��E��tO��uH�F8I�JhA��A����#�E;�r�t.8\$P�����tH�	H����y���u
��	�����Ê�H�\$0H�t$8H�� _���H��H�XH�hH�pH�x AVH�� L�YE3�I��L��H��E�SDE��~$A���A��Hcڃ��tI�C0L��M��u%A��E;�|�2�H�\$0H�l$8H�t$@H�|$HH�� A^�L;�tE3�I��H���B��u9L�_�sE3�E�SDE��~�A�1�A��Hcڅ�t�I�C0L��M��u�A��E;�}��ڰ��H�\$H�l$VWAUAVAWH��@M��I��L��L��E���3�L��$�H���%���H����I;�tTI�U��+�8��dvH��83�H�p�V�;�~(H�^ H�\$ H���O���3�H���t}��H��H����O���H��u7��$��…�~"D���L��$�H��蟺��3�H���x���E3��W���H��H�L$(���A�H�AN�H�\$pH�l$xH��@A_A^A]_^�H�\$H�t$WH�� H��H��H�J�
���;H�SH���u?H;��tE3��=�GPu?����G(��u2H�H��H�@8���H�OH������H;��tA�H�����H�\$8H�t$@H�� _����H�AH�IH�%u��H�\$H�t$H�L$WH�� I��H��H���Nd���H�z%&H�L��H��H���Ih���H��H�\$8H�t$@H�� _������H�\$WH�� H�?%&��H�H���rd����t
�pH���"��H�\$0H��H�� _���H���0���������H��(���H��t����,���H�\$H�t$H�|$AVH�� �yL��H��tLH�H��tDH��H�ǀ<8u�H�O�H��H��tL�H�WH���vrH��A�FI�3�H�����
H�H��BH�\$0H�t$8H�|$@H�� A^����@SH�� �yH��tH�	���H�#�CH�� [����������������H�\$H�t$ WH��PH��H�� �H��t�tH�	H��H�H�X0H�@@���H�T$ H���H�D$ H��t�uH��u�@��H�|$(L�L$(H�t$0�csm�H�\$8H�D$@D�B���H�\$pH�t$xH��P_�H��L�H L�@H�PH�HSH��pH�ك`�H�H�L�@��d#H�T$X�H�@���D$@��D$@H��p[����H��L�H L�@H�PH�HSH��pH�ك`�H�H�L�@��#H�T$X�H�@����D$@��D$@H��p[����H�\$H�t$WH�� �Y��H���t&����"H��H�@`H��HcFH�;x~�;x��3�H�\$0H�t$8H�� _��H��H�XH�hH�pH�x AV�L�Q�A��L�5}��I��L��H����t$A�
��J��1(�FB��18�FL+�A�B���B��t
A�I���B��t
A�I���BIcM�BE3�D8L$0uP��tKH�(�
��J��1(�FB��18�FH+�D�R�A��E�KE��t ��JH�R;�t
A��E;�r��	A�K��B��t%A���J��1(�FB��18�FL+�A�P���A�SH�\$L+�H�l$I��H�t$ H�|$(A^���@SH�� H��H��H���#��H���j���H����H�� [��̊$����H�\$H�t$WH�� L�L$HI��H���yH��H��H���C#��H������H��uA���D�HL��H��H���8JH�\$0H�t$8H�� _�H��(A�H�	H�L$0t
A�@H�H�L$0A��H�L$0�KH��(���H�\$H�l$VWATAVAWH�� A�xL��I��I��M��L���"M�$��L���ttIcF��H��H��I_;k~�;k�I�H�T$PE3��4�LcC3�LD$PD�KD�E��tI�PHcI;�t��H��A;�r�A;�s�I�$H��IcL�H�H�H�\$XH��H�l$`H�� A_A^A\_^����H�H��I�A�tA�HH�H�I�	I������H�\$H�l$H�t$WATAUAVAWH��@H��$�L��H��I��H��I��E��D�s�!E3ҋ�E����L�G��Lc[D��D��A�֍Z�H��I��B;t~B;t~�ӋÅ�u߅�t�B�H��I��I��I��K�E��A��H��t�B9~#�B9AD;9|D;yE;�A��E��AE�D��A��H��E;�r�E;�L�d$ A��L�d$0AE�L�\$@I�[0I�s@�D$(A�ED$ DE�H��D�T$8L$0�E�MI�k8I��A_A^A]A\_��%��H��H�XH�hH�pH�x AVH��`H�T$ H��)p�H��H�T$03��|$(H�P�(t$ H��fp�E��3��>D�E3�E����L� ��H�C��D;�|H�� D;���A��A��D��|$((t$ H�SA���
��J��(�FB��8�FH+ЋB���H�S�C�
��J��(�FB��8�FH+ЋB���H�S�C�
��J��(�FB��8�FH+ЋB���C H�BH�S�
H�C�K$E;��I�����ft$@H�T$@�t$8H���XD$0L�\$`H��I�[I�s I�{(�u(t$P�EI�kI��A^���@UH�l$�H���H�?�-H3�H�EL�UwH��&L��H�L$0H@ IH0A @@I0HPA@@`IP��A`@pH���Ap��H���H�L?I�H�E�H�EOH�E�HcE_H�E�H�EWH�E��EH�E�I�B@H�D$(I�B(L�M�E3�L�E�L�D$0H�U�I�H�D$ H�E� ��6�H�MH3����H���]��@UH�l$�H���H�;�-H3�H�EL�UwH�A&L��H�L$0H@ IH0A @@I0HPA@@`IP��A`@pH���Ap��H���H�8@H�E�H�EOH�E�HcE_L�E�L�EoH�E��EH�E�I�HM�@ IJMBHcEgH�E�I�B@H�D$(I�B(L�M�E3�H�M�I�H�U�I�L�E�L�D$0H�D$ H�E� ���H�MH3��b��H���]��L�AL���L�AL��A���J��(�FB��8�FL+�A�@�M�A��A�AA���J��(�FB��8�FL+�A�@�M�A��A�AA���J��(�FB��8�FL+�A�@���zM�AA�A I�@A�I�AA�I$�D�BI�Q�
��J��(�FB��8�FH+ЋB�I�Q��A�A�
��J��(�FB��8�FH+ЋB�I�Q��A�A�
��J��(�FB��8�FH+ЋB�I�Q��A�A �H��A�A$I�Q�
��J��(�FB��8�FH+ЋB���I�QA�A�
��J��(�FB��8�FH+ЋB���I�QA�A�
��J��(�FB��8�FH+ЋB���A�A H�BI�Q�
I�AA�I$I�������@SH�� H��H��H;XXs�H�HX�3�H�K�H�XXH��H�� [���H�\$WH�� H����H;xXu5��H�PXH��t'H�ZH;�t
H��H��t���H�XXH�\$0H�� _����H��(�H�@`H��(���H��(�{H�@hH��(���@SH�� H���bH�X`H�� [�@SH�� H���JH�XhH�� [�H��H�XH�hH�p WH��@I�YI��I��H�PH���H�X`H�]8�	H�Xh�H�W8L��L�Ƌ
H�T$PHH`3��D$8H�D$0�D$(H�L$ H���4H�\$XH�l$`H�t$hH��@_���H��H�XH�hH�p WH��`�`�I���`�I��`�H��`��`�I�Y�@�H�P�vH�X`H�]8�iH�Xh�`H�O8H�T$@L�G�D$ �	HH`H�GD����D$8H�D$@H�d$0H�T$p�d$(L��L��H�D$ H���5L�\$`I�[I�k I�s(I��_����������������ff�H+�I��r"��tf��:u,H��I���u�M��I��uM��t�:uH��I��u�H3�����ÐI��t7H�H;u[H�AH;DuLH�AH;Du=H�AH;Du.H�� I��u�I��M��I��t�H�H;uH��I��u�I���H��H��H��H�
H�H�H;��������������������ff�WVI��H��I��I���^_��������L��L��I��vTI�� v.H+�s
K�H;���I�������0�R�BL�BL�H���ff�H��L�
�z�C����RI��f���
f��H�
H���
D�Bf�D�@��
���o��f�L��JD�J
L�f�HD�H
Ë
���
D�B�D�@�f��
D�B�fD�@�
D�BD�J�fD�@D�H�L��JD�JL��HD�H�f�L��JL��H�f�L��JL�f�HÐL��JL��H�L��JD�JL��HfD�H�f�L��JD�JD�RL��HfD�HD�P�L�H��A��t(�H���H��AL+�M��I����)A�L;
��-v��ff�)A�)I�LH���)A�)I�D�L�I��)A�)I�D�L�)A�)I�D�L�u�)A�I��(��H��I��M��I��tfff�A�H��I��u�I��t
J�L�H�A�I���@+A�+I��LH���+A�+I�D�L�I��+A�+I�D�L��@+A�+I�D�L�u����8���DI�D�H��I����tH��H����L��M+�M��I��th)�
fD)A)	D�L�H��)Ap)I`DPL@I��)AP)I@D0L )A0)I Du�)AI��(�M��I��tff�H��I��u�I��tA
AI��������������������ff�W��H��I���I��_�������ff�L����I�L��I����fIn�f`�I���w�kfff��y�0u�L�H��H���L+�M��I��t=L;
�-�`))AH���)A�)A�I��)A�)A�)A�f)A�u�I��M��I��t�H��I��u�I��tBD�I���@++AH���+A�+A�I��+A�+A�+A�+A�u���I���ffff�I��L�
�u�C���P�RL�I�I��A��f�H�Q�Q�f�Q��Q�ÐH�Q�Q��H�Q��Q��H�Q�Q��Q��DH�Q�Q�f�Q��H��H�f�P�P
�DH�f�P�H�H�P�H��tg�T$H��H�9csm�uS�yuM�A - ���w@H�A0H��t7HcP��tHQ8H�I(�*� ��tH�A(H�H��t
H�H�@���H��H����H���@SH�� H���H�PX�	H9tH�RH��u�BH�� [�3���HcH��z|LcJHcRI�	Lc
M�I���H�\$WH�� H�9H�ف?RCC�t�?MOC�t
�?csm�t"��I�x0~�>�H0H�\$03�H�� _��)H�x H�[�H�X(�7F���H��(�H�� H��(���H��(��H��(H��(���H��(�F�������������������H;�tH��	H�A	H+Њ:u
H����u�3�������@SH�� ���H��tH�H����H��H��u�H�� [���L��I�[I�kI�sWATAUAVAWH��@H�L��L��3�H�����(H�Q	f�D$(L�
_���H�X��E3�3�I�C�莵H��H����H��H��@84u�H��tH�O�HȀ9 u@�1H��H��u�H�hH�M�H��H��tAW�L�xI��)D$0L��fH��L���[3��M�>tH���I��I��H����I��H����H����H��L�\$@I�[0I�k8I�s@I��A_A^A]A\_��������������������ff�I��r;�Ҹ��fn�fp�fD�o	H��I��ft�fH�H��u(I��s�M��tff��H��2�tI��u�H3��H�D��H�A����@SH�� H��H��H�
�:W�H�H�SH�H��H�`&H�H��H�� [�@SH�� H��H��H�
y:W�H�H�SH�H�w�H�&H�H��H�� [�H��H�XH�hL�H H�HVWATAUAVAWL�T$`M��HcBE3�3�E3���E3�JclF�dI�E����L�|$XHcUA��I�+�A;�vBHcI�I;�t$I�_H��H+��D�A+�uH��E��u��uH����D�rL��A��HcI�I;�t$I�]H��H+��D�A+�uH��E��u��u7E3�D9J|LcJH�D$8HcJI�HcL�HcBI�H;D$PuM��u;H��A��H��E;��7���3�H�\$@H�l$HA_A^A]A\_^�Bu�Fu�H����D+�E;�w+A�C@u
��u-�B�IcCJcDI�Jc�B�Dt�A�Cu��Bu�I���H��H�XH�hH�pH�x AVHcAI��3�L��Nc\F�TM�E��tcM��IcI��HcI�H;���I��A;�r�H�kM��3�Ic8I�QI�H����HcH�H+���2+�uH�…�u�t"I��A;�r�3�H�\$H�l$H�t$ H�|$(A^�A;�s�M��IcB�Du�JcI�QH�I�^H+��D�A+�uH��E��u�t
��I��A;�r��H���A;�s�M��IcB�Du�JcI�I;�t��I��A;�r��f���H���`���L�L$ L�D$H�L$SUVWATAUAVAWL�t$pE3�HcBA��H�L$P�A��A��E��A��E��Nc|0A�B�D0M��D$pA������Ic��I�A+�A;�vIHcH�L$hI�H;�t'L�QH��L+��F�A+�uH��E��u�E3���u�BH��D�jD��LD�HcH�L$XI�H;�t+L�QH��L+��F�A+�uH��E��u�E3������zL�T$H|LcBHcJK�HcL�HcBI�H;D$`��D��E+�E;���E�����C@uE3�E��u�BE��EEȲ�6HcCJcD0I�Jc�A�A��B�T1���Ҁ�B�D1A��D�D��E��tH��tDI��D9C|HcSHcKJ�HcH�HcCH�H��tH9D$PuCH��H�D$P��BHD�E3���I��;|$p�s���E��t
H��tH���H��t
M��tI���3�A_A^A]A\_^][����H�aH�0	&H�H��H�Q��H�aH��=H�H��H�Q��H�aH��&H�H��H�Q��H�\$H�t$WATAUAVAWH��PM��M��Lc�H��3�H��u3�L�\$PI�[8I�s@I��A_A^A]A\_�H�H�p��FL��L+�VH+���#Hc�L+�9uH��$�H����L��H��$��
HcFL��L+�HcFB�L��uM��I��H������-I+�I+�L�L$(M��H��L�|$ L���I��u��������L��H��u9�$�uR3��5���A9Y|IcYIcIJ�3HcH�IcAH�I��
���H��&H�L$0���H��\-H�L$0����H�3&H�L$0�}���H��P-H�L$0������@SH��@H��t:H�H�X�H�˃;uH�T$P���H��H�D$P�HcCH+�HcCH�t)H��@[�H�x&H�L$ �*���H��\-H�L$ �5��H�}&H�L$ ����H�\-H�L$ ���H�
&H�L$ ���H��[-H�L$ ������H�\$H�t$H�|$�:H��L��@��uH�����=`�-A��E�Z�����W���fn��p�fp�I��I#�I;�w)�Aofo�ft�ft�f��f���uI������L�A�8�VA:8ucI��L��I��I#�I;�w?H��I#�I;�w4�Ao�o
ft�ft�ft�f��f���u
H��I�����H�L�A���t8uH��I���I���R���I����H��I#�I;�w�o�;W�H��@��A���@��fs�f: ���t�Q@��H�AHD�H��I��u�I��I#�I;�w[�Aof:c�vI����srf:c�Hc�L�I��L��H��I#�I;�w9I��I#�I;�w.�o
�Aof:c�q�M�����$A�8t&A88t�I���A����+���8u�H�L��3�H�\$H�t$H�|$���H��(��H��3�H��t9A0��H��(���H�\$H�l$H�t$WATAUAVAWH��@H��M��I��I��L����M�gM�7I�_8M+�EfA�wH��H�l$0H�|$8;3����H��D�L;����D�L;����|����|�t�D�H�L$0I�I��Ѕ�x}~t�}csm�u(H�=�&tH�
�&諁��t�H���&�L�A�I�I����I�G@L�ŋT�I��D�MI�H�D$(I�G(H�D$ ������5���3���I� D�I+�A;���E����A��HҋD�L;����D�L;�sD�]A�� tDE3�E��t4A��HɋD�H;�r�D�H;�s�D�9D�u
�D�9D�tA��E;�r�A��E;�u>�D���tH;�u$E��u,��F�A�GHD�D�I��M�A��D�A���D��;��V����L�\$@I�[0I�k8I�s@I��A_A^A]A\_��H��(�7���u2���
��u�q���H��(�H��(��H����H��(�H��(3��]�H��(���H��(��u
��.��H��(����H��(���H��(���������H��(H��tH�P�0H;�t��H��(��@SH�� H�ً
Q�-���t3H��u��
<�-H��3��6�H��tH��0H;�tH��虱H�� [����H��(�H��tH��(������H�\$H�t$WH�� �=ލ-�u3�����
ɍ-���~�H��3�H;�tgH��tH���]�
��-覫��tN���J���
��-H��H��t$H������tH���Cx����H��H���
�
_�-3��\�H������H��H�\$0H�t$8H�� _��H�\$WH�� �=#�-�u3��+�O��
�-���ƪ��H���7�3�H���HD�H��H�\$0H�� _����H��(H�
Y������Ό-���t%H���0��迪��t��0�������2�H��(��H��(�
��-���t��
��-��H��(���H��(McHM��H�A����uL�I���H��(��@SH�� L�L$@I�����H�HcCH�L$@�DH�� [����HcRH�D��H�\$WH�� A��I��L�L$@�J��H�HcCH�L$@;|~�|H�\$0H�� _��L��L��h@SH�� I��H��tRLcYL�RK�H��tAD�AE3�E��t0K��JcI�H;�rA��E;�r�E��tA�I�I��B�DH�� [Ã���{���H��H�XH�pH�xL�p �yI��L����LcIL�56b�H�z3�Lσ�E3�A�	��J��1(�FB��18�FL+�E�Y�A��E��tkI�BD�A�	��J��1(�FB��18�FL+�A�A�����I�H�H;�r+A�	A����J��1(�FB��18�FL+�A�Q����E;�r�E��t�����H�\$H�t$H�|$L�t$ ��H�\$H�t$H�|$AUAVAWH��0M��I��H��L��3�A9xtMcx��I��H��D��H���wE��t��H��HcCH��H��@8y�T9{u9;�G9;|
HcCHH���t2A�t,H���0H��t ���H���/H���&H�H���_�tI�M(H���H���H��?A�tJI�U(H����H����McFH����A�~��H9>��H�I�V��H��A9~tIc^��H��H�ϋ�H��u4I9}(��H����Ic^I�VI�M(�]�H��L��H�����;I9}(tiH��td��t�Q�H��IcFH��H��H��tGA�$��������L$ ���3�H�\$PH�t$XH�|$`H��0A_A^A]�����������H�\$H�t$H�|$AUAVAWH��0M��I��H��L��3�A9xtMcx��I��H��D��H���zE��t��H��HcCH��H��@8y�W9{u	9{�I9{|	�CHH��C�t2A�t,H���0H��t ���H���0H���'H�H���`�CtI�M(H���H���H��?A�tJI�U(H����H����McFH����A�~��H9>��H�I�V��H��A9~tIc^��H��H�ϋ�H��u4I9}(��H����Ic^I�VI�M(�Z�H��L��H�����;I9}(tiH��td��t�N�H��IcFH��H��H��tGA�$��������L$ ���3�H�\$PH�t$XH�|$`H��0A_A^A]������������H�\$H�t$H�|$AVH�� I��L��3�A9}H���IcpH2������t<��ugH�WI�N(��L��9_t���Hc_H�A�M��H��H���v(�0H�WI�N(�K�L��9_t�V��Hc_H�M��H��H���9(�H�\$0H�t$8H�|$@H�� A^����H�\$H�t$H�|$AVH�� I��L��3�A9X}H���A�pH2������t<��ugH�WI�N(��L��9_t����Hc_H�A�M��H��H���'�0H�WI�N(��L��9_t���Hc_H�M��H��H���x'�H�\$0H�t$8H�|$@H�� A^�������H��H�XL�@UVWATAUAVAWH��`L��$�M��L��L�HH��M��I��I�����L��$�L��H��$�M��tL��H��H������H��$��Y�9����HcNM��L��$�H���$�H�ՈL$PI��L�|$HH�t$@�\$8�|$0L�l$(H�D$ ���H��$�H��`A_A^A]A\_^]����H��H�XL�@UVWATAUAVAWH��`L��$�M��L��L�HH��M��I��I�����L��$�L��H��$�M��tL��H��H������H��$��Y�9���HcNM��L��$�H���$�H�ՈL$PI��L�|$HH�t$@�\$8�|$0L�l$(H�D$ �O��H��$�H��`A_A^A]A\_^]����@USVWATAUAVAWH�l$�H��(H�d�-H3�H�EH���L��H���M��L�D$hH��H�U�E2�L��H�E�I���D$aI��D�l$`I���"D���u;G�l�;csm����{���C - �����H�{0����H�x ���w�H�X �n�H�K8�D$aL�x(L�|$h����;csm�u�{u�C - ���wH�{0���,�H�x8t<� �L�x8��I��H��H�`8�c"��uI���G#���~�UL�|$hH�FH�E�H�}��;csm����{���C - �����������H�U��D$(H�M�L��H�|$ E������E��E�fs�f~�;E���L�M�D�e�L�L$xH�E�H�HcPA��H��I�AL��AIcL�M�f~�E�A;��:H�E�H�� D;��)L�}�H��HVE3�I�� H�U�E���J��I��E��D��E�W��H�K0H��HcQH�H�D$p�>��H�K0HcQ��L$d��~<�&��H�L$pL�C0Hc	H�H�M�H��H�E��W��u%�D$dH�D$p�ȉD$d���A��E;�tqH�U��h������A�L�D$hL��H�U�H�ˈD$X�D$a�D$PH�E�H�D$H����D$@H�E�H�D$8H�E�H�D$0H�E�H�D$(H�|$ D�l$`����L�L$x�
L�L$xD�l$`A��D;e������E���L�e��%���=!���� t�!��HcO H�u!�G$�����H��H���'�������G$����� t����H��HcG H��3�H�������L�M�L��H��I��������L��L�D$hH�ӈL$P��H�t$HH�d$@�L$8�L$0I��H�|$(H�d$ ����A�v;D8����H�E�L��H�D$8M�Nj��I�ԉD$0H��D�t$(H�|$ ���H�x8ugH�MH3���H��(A_A^A]A\_^[]òH���O�H�M��2H�H-H�M��F����'��j�H�X �a�H�L$hH�H(�w'��q��@USVWATAUAVAWH��$x���H��H�q}-H3�H�EpL���L��L��H��H�T$xI��I��L�e�I���D$`M���D$a�&�~H��t����xx����~H�������xx�t���xx���@x��������`A�~L��T�t)IcVHV�
��J��(�FB��8�FH+ЋB����3�;���;csm����{���C - �����H�{0���+�H�x �{��H�X ��H�K8�D$`L�h(����;csm�u�{u�C - ���wH�{0�����H�x8t<���L�x8��I��H��H�`8���uI�������;�L�|$xL�FH�M�I����;csm����{��C - ����n�}��I��H�U�D$(H�M�L��L�t$ D�����E��E�fs�f~�;E��L�}�L�S��E�L�}��D$hAGfH~�E�;��?H�� ;��3H�FH�U�L�FH�M D����E E3�D�d$d�D$l����E8MHE��EX�E�M��
��H�K0H��HcQH�H�D$p����H�K0HcQD�<E��~:����L�C0L��H�D$pHcL�H�M�I���M��u0H�D$pA��E���D�d$dH�M �1A��D�d$dD;d$lt^�`������L��H�T$xM�ňD$XH�ˊD$`�D$PH�E�H�D$H���D$@H�E�H�D$8H�E�L�d$0H�D$(L�t$ �D$a���L�}�L��Q�I�W�
��J��(�FB��8�FH+ЋB���I�WA�G�
��J��(�FB��8�FH+ЋB���I�WA�G�
��J��(�FB��8�FH+ЋB���A�G H�BI�W�
A�O$�L$h��I�G�L$h;M������|$auWA�@tQI��H����������<�}�v6�������L��L�d$8M�ʼnD$0I�׉|$(H��L�t$ ���H�x8ubH�MpH3��	�H�ĈA_A^A]A\_^[]òH���;��H�M��H��B-H�M��2����"��V�H�X �M�L�h(�h"��b���H��H�X L�@H�PUVWATAUAVAWH�h�H���9�I��M��L��tn��D�eoH�}gH�xtu3��H�����H9Xt_A�>MOC�tVA�>RCC�D�mwtMH�EL��H�UOM��D�d$8I��H�D$0D�l$(H�|$ �����tH��$H��A_A^A]A\_^]�D�mwH�FH�E�H�}���6D�l$(H�U�L��H�|$ E��H�M����E��E�fs�f~�;E�s�L�M�D�}�L�MGH�E�H�HcPA��H��I�AL��AIcL�M�f~�E�A;���H�E�H�� D;���HNH�]�H�� H��H��H���{t-Lck���I�tE��t�
��HcKH��3��xuMD�mw�@uDH�EL��L�EWI��H�UO�D$X�D$PH�D$HH�E�D�l$@H�D$8H�d$0H�\$(H�|$ �c�D�mwA��L�MGD;}���������L�����@USVWATAUAVAWH�l$�H��8H�Lv-H3�H�E(�9�I��H���L��L���H��H�D$pL�D$x�u���D���D���H�xtZ3�ޯH����H9XtD�>MOC�t<�>RCC�t4H�D$pL��L�D$xI��D�|$8H��H�D$0D�d$(L�t$ �(�����L�GH�MI����	�}�D�d$(H�UL��L�t$ E��H�M����E��E�fs�f~�;E���L�E�L�
M��E�L�D$h�D$`A@fH~�E�A;���H�� D;���H�GH�U�L�GH�M�D���H�E�H�M�H�E��H�E�H�M��]�H�E����tH�M��H��u�}�t(����HcU�H�t��t����HcM�H��3��xuO�E�@uIH�D$pL��L�D$xI���D$XH���D$PH�D$HH�E�D�d$@H�D$8H�E�H�d$0H�D$(L�t$ ���L�D$hL�
L�I�P�
��J��	(�FB��	8�FH+ЋB���I�PA�@�
��J��	(�FB��	8�FH+ЋB���I�PA�@�
��J��	(�FB��	8�FH+ЋB���A�@ H�BI�P�
A�H$�L$`��I�@�L$`;M��h���H�M(H3���H��8A_A^A]A\_^[]��Z���H��H�XH�hH�pH�x AVH�� 3�M��H��H��9Y��Hcq�f��L��L�����tHcw�M��H��H�ˋ�8Y����t
�E����t�!��H��HcGH��H���!��H��HcEH�H;�tK9_t����H��HcGH��H������LcEI��L�H�FL+��B�+�uH����u��t3��9��Et�t$A�t�tA�t�tA�t�t�����H�\$0H�l$8H�t$@H�|$HH�� A^����H��H�XH�hH�pH�x AVH�� 3�M��H��H��9Y��Hcq�&��L��L�����tHcw�
��H��H�ˋ�8Y���G�t
�E����t����H��HcGH��H������H��HcEH�H;�tK9_t���H��HcGH��H�����LcEI��L�H�FL+��B�+�uH����u��t3��=��Et�Gt'A�t�GtA�t�GtA�t�Gt�����H�\$0H�l$8H�t$@H�|$HH�� A^���H��H�XH�hH�pH�x AVH��PH��I��I��M��H��藌�~�H��$��)��&��x@u8�?csm�t09u�uH�` ��9t�%���="�r
�C$���Gf���{�{��$��m�G t]9u7L�F H��H���7�����k;C�bD��H��H��L��� �,9uD�O8A����:D;K�0H�O(��L��H��H���_�����{uB�%���=!�r�{ t����HcK H�u �%���="����C$������?csm�un�rh� "�v_H�G0�xtU���L��H�G0HcHL�t@��$�L�ΉL$8M��H��$�H��H�L$0I�‹�$��L$(H��H�\$ ����>H��$�L��H�D$8M�Ƌ�$�H�ՉD$0H�ϊ�$��D$(H�\$ �c��H�\$`H�l$hH�t$pH�|$xH��PA^�����H�\$H�l$H�t$WAVAWH��H��I��I��M��L���]��D�H��$�3�A�)�A�&�9p@u+�;csm�t#D9u�{uH�{` �tD9t	� ���Cf�9w��HcWL�=�E�HU�
��J��9(�FB��98�FH+ЋB�����9�$����C ��D9ucL�E H��H���6�D�ȃ����9wt'HcWHU�
��J��9(�FB��98�FH+Ћr���D;��_I��H��L����*D9uDD�K8A����9HcWHU�
��J��9(�FB��98�FH+ЋB���D;��	H�K(�L��H��I��������L�EH�L$PH���a9t$Pu	�@���;csm�um�{rg�{ "�v^H�C09ptU���L��H�C0HcHL�t@��$�L�͉L$8M��H��$�I��H�L$0I�‹�$��L$(H��H�|$ ���>H��$�L��H�D$8M�Nj�$�I�։D$0H�ˊ�$��D$(H�|$ ���L��$�I�[ I�k(I�s0I��A_A^_��	��@SH�� 3�W��AH��H�AH�A$A0L�A@D�IH9BtEHcRI�L��C�H�Q�
��J��(�FB��8�FH+ЋB���H��H�S�H�S���H��H�� [��̃zL����HcRI�L�]C�H�Q�
��J��(�FB��8�FH+ЋB���I�QA�I�Q�
��J��(�FB��8�FH+ЋB���I�QA�A�
��J��(�FB��8�FH+ЋB���I�QA�A�
��J��(�FB��8�FH+ЋB���A�A H�BI�Q�
I�AA�I$��!I������@SH�� H��H��H�
uW�H�H�SH�H�s���H���%H�H��H�� [�H�aH���%H�AH���%H�H���������@SVWATAUAVAWH��pH��E3�D�|$ D!�$�L!|$(L!�$����L�h(L�l$@����H�@ H��$�H�wPH��$�H�GHH�D$0H�_@H�G0H�D$HL�w(L�t$PH���…���H�p ���H�X(���H�P H�R(H�L$`�]��L��H�D$8L9XtDŽ$��g��H�HpH��$�A�I��H�L$H�(�H��H�D$(H��$��x�D$ �)���`@H��$���$�t!�H������H��$�L�H D�@�P��
L�N D�F�V����D�|$ H�\$(L�l$@H��$�L�t$PL�d$8I������E��u2�>csm�u*�~u$�F - ���wH�N(�����t
�H���?���z��H�x �q��L�h(H�D$0HcHI�H�����H��H��pA_A^A]A\_^[�������H��SVWATAUAWH��H��E3�D�d$ D!�$�L!d$(L!d$@D�`�D!`�D!`�D!`�D!`�D!`�����H�@(H�D$8����H�@ H�D$0H�wPH��$�H�_@H�G0H�D$PL�(H�GHH�D$pH�GhH�D$x�Gx��$��G8��$�H��襃���H�p ���H�X(�z��H�P H�R(H��$��=���L��H�D$HL9gXtDŽ$��G��H�HpH�L$@A�I��H�L$P�[�H��H�D$(H��}H�\�pH���H�\$(I��H���_�H�|$8L�|$0�|�D$ �����`@������$��HxH��$���$�t�H���w��H�D$@L�H D�@�P��
L�N D�F�V����D�d$ H�\$(H�|$8L�|$0L�l$HI�����E��u2�>csm�u*�~u$�F - ���wH�N(�z����t
�H������3��L�x �*��H�x(�!����$��Hx����@x����H��H�ĨA_A]A\_^[�����3�L��=��AW�H�AL��H�A$A0H�AD�H�PD�QH�QA��t'�
��J��(�FB��8�FH+ЋB���A�@I�PA��t�H��I�PA�@ A��t'�
��J��(�FB��8�FH+ЋB���A�@$I�P�L�JA�@(A��$0M�HA��t;<uIc	I�AI�@I�H0�< ��IcI�QI�PI�@0H�BHc
I�@�<u0A�	��J��(�FB��8�FL+�A�@HA�Q����M�HI�@0�< u\A�	A�PH��J��(�FB��8�FL+�A�A���M�H�I�H0A�	��J��(�FB��8�FL+�A�A���M�H�I�H8�@SH�� L�	I��A� �csm�A� �A�;�u]A�yuVA�A A+���wH�B(I9A(u
�A�;�u3A�yu,A�I A+ȃ�w I�y0u����@@���3�H�� [��H�\$WH�� A��M���c����؅�u����xx��H�\$0H�� _�D�L$ L�D$H�L$SVWATAUAVAWH��0E��I��H��L�����L��H�D$(L��H��I��������d���@0�����A;�������;~�Lc�蝽��HcNJ��<�|$ 艽��HcNJ��|t�u���HcNJ��Hc\�c���H��3�H��tYD��H��I�������D���HcNJ��|t�0���HcNJ��Hc\����H��3�A�I��H���~�I���&����D��$�H��$�L�|$pL�l$(�|$ �|$$�����h���x0~�]���H0���tA;�$D��H��I���.��H��0A_A^A]A\_^[��Q���K����H��SVWATAUAVAWH���)p�H�Lb-H3�H��$�E��I��H��L��H�L$pH�L$`H�T$xD�L$H�<���L��H�D$hH��H�������Ht����xx��f�wH�������xx�t����px����@x�����~���@0�{t@HcSHW�
��L�p9�J��(�FB��8�FH+ЋB��艄$�H��$����$�H��$�H��$�H�D$0H�T$8H��$�H�D$PH�T$XH�D$PH�D$ L�L$0E�ċ�H��$��p�H��$�H��$�H��$�H��$�L�t$8L;��/L;t$X�$H�T$8H�L$0�kL�t$8H�\$0s�$�(D$0f�$�H�T$8H���:�CL+�L�t$8H�D$0H�D$ D��L��$�A��H�L$P���D$D�d$@E3�fo�fs�f~�fs�f~��DE�D�L$@E��t~�F�GH�A���vIc�HOA�I�����7H�D$`H���u
��$�L��D��$�L�Ic�HOA��9�I���1����L�l$h�t$DL�|$pH�|$xD�d$H����}���x0~�r���H0H��$�H3�����(�$�H���A_A^A]A\_^[��c����H�\$H�l$H�t$WH�� H��I��I��H���K��L�L$HL��H��H�͋��^���L��H��H�����;�~#D��H�L$HH������D��L��H��H�������L��H��H�������H�l$8��H�\$0H�t$@H�� _���H�\$H�l$H�t$ WATAUAVAWH�� H��L��H����E2�3�92�����H��I�E0Lc`I��L��̸��H��I�E0HcHD�4
E��~THc�H��H�D$X觸��I�]0H��Ic$H�耸��H�T$XL��HcMH��H��H������uA��I��E����A���;u�q���H�\$PA��H�l$`H�t$hH�� A_A^A]A\_��������H�\$H�l$H�t$WH�� 3�H��9)~P3����HcOHƃ|t���HcOH�Hc\�Է��H��3�H�HH���-�����t!��H��;/|�2�H�\$0H�l$8H�t$@H�� _ð��L�L�25�L��L��A���J��(�FB��8�FL+�A�@����L�����A�JA�B��t��t��uJH��H��H�A�J�H��H��H�A�JH��
��J��(�FB��8�FH+ЋB���I�A�B���H��I��H�����I��L��H��E��I���L��I�[M�K �T$UVWATAUAVAWH�� H�A@2�E2�I�C3�M��E��H��H�p�L��99~CE�cA;�uH��@�A;�uL��A�@��tE��uH�T$`H��������;;}H�D$`��L�d$xI�$I�t$KHH��$�H�L�xKH�\$pIH�� A_A^A]A\_^]���H�\$H�t$WH��0H�|$`I���L�WM;P��L9Q��I�@I��H+QI+�H;�}5D$ fs�fH~�L;�vUH�L$ H�T$(�
���H�D$(��H9Gw��7A��D$ fs�fH~�I9@vH�L$ H�T$(����H�L$(��H9Nw�����H�\$@H�t$HH��0_��@SH�� H��3�H��KH��t!H��D��8
tH��A��8u�E��tH���!H��H�� [�@SH�� H��3�H��KH��t!H��D��8
tH��A��8u�E��tH���H��H�� [�H�\$H�t$WH�� H���%A��H�H��H��Ic�H�
�\0�@H�CL�ȉ{H��t��tH+��B�A�I��H��u���cH�t$8H��H�\$0H�� _���H�\$WH�� H��H��H��t>� H�
s\0�?H��tH�H�
��%�H�H�H�PH�xH��H�#�C��AH�\$0H�� _���H�\$H�t$H�|$AVH�� 3�A��L��H��H��tbE��~]H�
�[0A��t �W�9?H��t7H�
��%L�pH��p���?H��tA�H���%H��HH��H�;H���C��AH�\$0H�t$8H�|$@H�� A^����H�\$H�t$WH�� A��H��H��H��tdE��~_H�
c[0A��t"��>H��t3E3�D��H��H���5����"��y>H��t�H���%H��H�3�H�H��u
�C��AH�\$0H�t$8H�� _����H���H�\$H�t$WH�� H�!H���aA��H�H�ي��toE3�H��@:�t,��L�
2�%B�<u��Z0t5A��H��H����u�H���X���H����tH��H�@:�t H�#�C��C��{u
�C��AH�t$8H��H�\$0H�� _��@SH�� H�!H�كaD�BE��~H����H��H�� [��H�\$H�t$WH�� 3�H��YH��H��tF�SH�
�Y0�.=L��H��tH���%I��N����HF�I�p�L��I��H���Ӏ��L��L�H�Lj_H�\$0H�t$8H�� _����@SH��@H�W-H3�H�D$8E3�L�L$5L��L�H��I��?H�D�YL��D�\$5L3�H��L+�I��H���������I��H�������D*�A��0E�L��H��u�E��tI��A�-L�D$5I��E+�H���t���H��H�L$8H3����H��@[���@SH��@H�sV-H3�H�D$8E3�L�L$4L�L��D�QH��D�T$4I��H���������I��H�������D*�A��0E�L��H��u�L�D$4I��E+�H�����H��H�L$8H3��&��H��@[�
VX0��E��tH�LX0H��H��H�%M�H��H�
3X0�v;��A��	w*�9�tD;Ic�H�L�H�H��A�B��b�B��b�BH�"H���@SH�� H�H��H��AH�ˉBI���H��H�� [����@SH�� H�H��H��AH�ˉBI����H��H�� [����@SH�� H�H��H��AH�ˉBA���lH��H�� [����@SH�� H�H��H��AH�ˉBA���H��H�� [����H�\$WH�� �yH��H��Z�z~TH�9uH�!�aD�BH������8�H�
�V0�;:H��tH�L���%�WL�H�H�PH��H���8���H��H�\$0H�� _���@SH�� A�H��H��D8I��H�E3�L9u=H��u-H�HD�C�KA:�ufH��H�
�%H��H�H�uZ�C�TH��@�A�IH��u?H�H��t;�A�A:�v���wH��H�
��%H��H��H���%H������
L���~���H��H�� [��H�\$WH�� �y@��H��H��tDH�9uH�!�a��/�H�
�U0�9H��tH�
|�%@�xH�H��H������H��H�\$0H�� _�@SH�� �yH��S3�H9t5�B���v-��t@��wHc�H�
��%H��H��H��%H���������KH���%�SHE�H�H��H�� [��H�\$WH�� �9	H��H��t5H�:t/�H�
	U0�L8H��tH�H��O�HHc�J�H�D�H��H�\$0H�� _�H����T0Lc��M�H���%�tB��J��H��H�$B�D����D$$H���H���H�\$UVWATAUAVAWH�l$�H�� �BT03�+BT0L��H�d$@H��E��\$H��]��I�H��tA�Gt	�Ex�!]x����u!^H!�F�����u%!\$XH���%M��H�D$PH��H�L$P�+�����
����uH�A�G��
D���A�`A����|3ɋ�D��A��A����A��A��Mp��A���EhDD�D#�D�m�t!�ρ��������u�����sq�
4S0��
+S0����H�L$0tA�H�d$pH�L$p�d$x� H���2
L��H�T$PH�L$p�D���H�D$P�\$XH�D$@��[�x~�X�\$H3�E����A���tA�{H�T$PI���%���3�H�L$0H���"'L�D$0H��H�T$p����H��H�L$@����H�L$0��`��^R0ukH�d$pH���%�d$xH�L$pH�D$PA�D�l$X�,(D$PfD$P�WL�D$0H�U�H�L$p�h���L�D$PH�U�H�M��*���H��H�L$@�M���H���%�D$XH�D$PH�T$0(D$PH�L$@fD$0���H�L$0�y�
�Q0����Шtd�����ШtY��uUH�d$pH�L$p�d$x� �L�D$0H�T$PH�L$p����A� H�U�H�L$P���L�D$@H��H�U�����]h��]h�H�M��M�H�M��M�H�M��M�H�L$p�L$xH�MЉM�E����A��uk��%=u:�H�L$P�|%H�D$PH�L$PH�E���D$X�E��`%H�D$PH�E��D$X�E��=u�H�L$P�;%H�D$PH�E��D$X�E��H�L$P�%H�D$P3�H�D$p�D$X�D$xA������%=ts�ZP0E3���`H�L$P�L$X�D$ <`t)H�M�L�L$P�M�H�U�H�L$0�%H�D$0H�EЋD$8�&H�L$0L�L$0�L$8H�T$PH�M���}�~�E��E؋
�O0A�����Ш�������H�L$0ty�L�D$@H��H�T$P����H��@H�L$@�D$HI�3�H����H��tp��O0ud� H�]�H�M��]��	M��H�T$0H�M����H�T$0H�L$@����=�H�L$@D8l$Ht��x~��@�����؉\$H�H�L$0��H�D$@A�G�D$HL��H�]��]�9]x�3�H�M��$DL!|$PH�L$PD!|$X� H���	L��H�T$0H�L$P����H�T$0H�L$@������N0��3�9]���A���F��%=���D$8H�%�%H�D$0H�T$0(D$0H�M�fD$0�'�L�E�H��H�T$0���A�,H�T$PH�L$0���L�E�H��H�U�t���A�,H�UH�����L�E�H��H�U��U���H�T$`H����H�
�M0�?1L��H��tH��X�L��I��H�M���BH��@H�M��E��
���=u_�D$8
H�`�%H�D$0H�T$0(D$0H�L$`fD$0�Q�L�E�H��H�T$0���H�U�H�L$0A�,����H��H�L$@����.�D$8
H��%H�D$0H�T$0(D$0H�L$@fD$0���D�l$8H���%H�D$0L�D$0(D$0H�T$`H�L$pfD$0����H��H�L$@�9����=�L0u��L0��DE���L0H�L$`��H�d$PH�L$P�d$X�(H����L��H�T$0H�L$P���A�)H�U�H�L$0��H��H�L$@����A��u��%=tH�U�H�L$@����CL0H�L$`����Є�t�?H��H�L$@�z����%�?D8l$Ht8X~�L$H�@�����ȉL$HH�L$`��/H��H�L$@�<�����K0H�L$`���Є�t�[UH��H�L$@�����%�GUD8l$Ht8X~�L$H�@�����ȉL$HH�L$`�e!D8l$Ht8X~�L$H�@�����ȉL$H�cK0���Є�����M������H�D$@�]hI��D$HA�GH�E�H�D$@�E��qA�`I��H�L$@�r�A�|E������A#ɍ���������uH�T$@H��� \�A;�ufH���%�D$8H�D$0H�T$`(D$0H�L$@A�{fD$P�1�3�H�L$0H���.L�D$0H��H�U����L�D$PH��H�������%�A;�uH�T$@H���[�m3�D��A��A�A����A���MpA���E����E���ҁ���#���3�D��A��A��A���������t3�D$8 H���%H�D$0H�T$0(D$0H�L$@fD$0���3�A��E;��������t0H���%�D$80H�D$0H�T$0(D$0H�L$@fD$0�V��k3�A��E;��������tH���%�D$8/�E��u��A#�=x�C��ti3ɋׁ�A��A;��������u3�A��A;��������t;H�d$PH�L$P�d$X� �*L�D$@H�T$0H�L$P�:�H�D$0H�D$@�D$8�H�T$@H�L$`�#H��@H�L$@�D$H�MpE��A�Eى]hE�}�������H0��	�Ш��3�A�E��߁�����E��E���tR�D$8H���%H�D$0H�T$0(D$0H�L$`fD$0��L�D$@H��H�T$0�z�H�D$0H�D$@�D$8�D$HE��t��t��
sd����������uW��tOD�|$8H�\�%H�D$0H�T$0(D$0H�L$`fD$0��L�D$@H��H�T$0��H�D$0H�D$@�D$8�D$H�Mp�]h��G0���Ш��3��ׁ���@��E��Eȅ�tH���%�D$8	�T3Ɂ����3�A����E��E���tH���%D�l$8�%3Ʌ���3�E����E��E���tOH���%D�|$8H�D$0H�T$0(D$0H�L$`fD$0��L�D$@H��H�T$0�(�H�D$0H�D$@�D$8�D$H���%���t[��F0uOD�|$8H�T�%H�D$0H�T$0(D$0H�L$`fD$0�M�L�D$@H��H�T$0��H�D$0H�D$@�D$8�D$H��sOD�l$8H��%H�D$0H�T$0(D$0H�L$`fD$0��L�D$@H��H�T$0�f�H�D$0H�D$@�D$8�D$HH�D$@H��D$H�FH��$`H��H�� A_A^A]A\_^]���̄�tKH�\$WH�� @��H�ٺH�
�E0�)H��tH�
s�%@�xH�H��H�#�CH�\$0H�� _�H�\$H�l$H�t$WH��P3�H��H�)��i@��H�>E0�8@�C�8Z�:��t���P��wKH9+u�,H�+H�ˉk�N����4�H�
$E0�g(H��tH�
��%�@,H��H��H��H���h�H��D0@8(��D�A���A��	w%H�
�D0H�T$@H��D0��H��H�����eH�=�D0H�T$ H�L$0H�l$ �l$(�1H�kD0H+�H��~H�
CD0�9	t
H�T$0�D�H�T$0H����H9=8D0u
�k�CH�+�K�������-�{'H9+tH���%H�����H���%�kH��CH�l$hH��H�\$`H�t$pH��P_���H�\$UH��H��PH��C0H�ـ8X��8Z��H�M��:����M�3҄���H��C08���8@tz�8Zt�S�CH���H��L�E�H�cC0�mC0���ШtH���%�E��H���%�E�H�E�H�U�(E�H�M�fE��X�H�H��@�C�H��H�C0H�E�H��K�kH��H�U�H��B0��B0���ШtH���%�E��,H�)�%�E�
�H���E�H��B0H�U�H�8�%H�E�(E�fE��r�H��H�\$`H��P]�@SH��@H�oB0H�ـ8u�aH�$�%H��H�L$0�JA�{H�T$ H�����2���t�,H�L$ �H�H�L$0��EH��H�L$ �}�H�
B0�8@u:H��H��A0�8@t��H��H�L$ �}H��A0��H�D$ H��D$(�C��cH�#�CH��H��@[���H�\$H�t$H�|$UAVAWH��H��H��A0E3�H��H��D88�D��%D�������GL�}�D�}�t*�E�H�L�%H�E�H�U�(E�H�M�fE����cA��A�΅�t_H�A0D88tS3�H�M���[L�}�H�M�D�}�H���9���L��H�U�H�M��M�A�]H�U�H�M��i�H��H�M��5��}�~�L9?tb�Gt	H�U�H���:�(L�}�H�M�D�}�����L��H�U�H�M����A�)H�U�H�M��
�H�U�H��L�E����H�H�M��@�E�H�U�H�M��o-�M�H�E����NH��L9:tgH���%�E�H�E�H�M�(E��(fE�L�}�D�}��J���L��H�U�H�M��^�L�E�H�U�H�M��!�A�H�U�H����H�U��*�[L�}�H�M�D�}����A�H�U�H�M��g�H�U�A�]H���,�H��H���L��$�H��I�[ I�s(I�{0I��A_A^]��H�\$UH��H��PH��3�H�M���H�U�H�M��E��$�H�
5?0���thH��H�
%?0<0t0<2t<5u`�cH�#�C�H�M��+9H��H�M��_��8�E�H��%H�E�H�U�(E�H�M�fE�����H�M��E��E�H���%H�E�H�U�(E�H�M�fE��}�H�E�H��E؉CH��H�\$`H��P]���H��H�XH�pH�xL�p UH��H��PH�R>0L��H���0@����H�e�L�@�e���L�*>0��Nw}����C����EvZ��GvL��Iv8��Kv$��M�dH�V$A�H�M�����A�H�%$��A�H�$��H�i���A�H��#뼃�O�5���S����X��@��_��A�I�HH�
n=0��N������G����F����tb��$t������+A�H��%�eH�E�%�E�H�E�H�M�(E�fE����H�U�H��H�M����L��H���H���%L��<0H�E��E��H���%���Iv,��Kv��M��A�H�s�%��H�_�%��H�K�%�A�H��%���O����Q����Rtz��Stf��UtR��WtDv9��Yw4H��H�
5<0H�M��dH��PH�MЉU�H����H��W�H����=H��%�4A�H���%�+A�H�ݿ%�A�	H���%�
H���%A�H�M�����������A�H�9�%�����H�e��e�H�A�NH�U�M����u_�L�E��H�UЉM�E3�H�M��,�M��u+�E�H�J�%H�E�H�U�(E�H�M�fE����M�H�E�H��O��H��ue�؃��tBD�BH���H�M�������tD�E�	H��%H�E�H�U�(E�H�M�fE������tA�H��%H�M����A�L�E�H�U�H���:,�EI�@�H�M�H��:0�H��PH�MЉU�H��uC�T���A�H�e�%H�M��L���E�H��%H�E�H�U�(E�H�M�fE���@��Ct,�F���t2�@��_uc��E��w[��uVH��%�E�	�H�#�%�E�H�E�H�U�(E�H�M�fE����L�E�H��H�U��*�H�E�H�EЋE��E�I�>t1H�e�H�M�e�� ���M��H�U�H�M����H�U�H�M����H�E�H��E؉G��e�H�+�%H�E�H�M�M��H����H�\$`H��H�|$pH�t$hL�t$xH��P]����H�\$H�|$UH��H��@H�903�H��@88���H����AH��80������80����E�H�}������wFt=��t2��t&��t��t�����W�Q��J��C��<��5��.��t$��t��t��uE�
��	����H�M���H�M�}�fo�fH~�fs�fA~��$��H�E�H��E�C��y�AH�9�
H�Ҿ%�yH�H�|$XH��H�\$PH��@]��H��H�XH�pH�x D�@UATAUAVAWH�h�H��PH��703�M��H�]�L���]�H���\$ 8���8$D���u2E��L�D$ H���H�L$X�H�D$XH��tH��D$`�G��H�_70L��H�\$h�\$pH�\$X����\$`�\$P�\$Q�P+:�H��M�+�ƃ��N����������tv����
70�����M��tHH�M��+�A� H�U�H�L$h�D$@�U��H�U�L�D$@H������L� �@L�d$h�D$p�MH�M��E�����D$Q�6E�����D$P�#�w60����
H��tHH�M���A� H�U�H�L$X�D$@����L�D$@H��H�U�Y��H��@H�L$X�D$`�H�M�P�H�L$XH�\$X�\$`fo�fH~�fs�fA~��������50�50��Шts�M��t,H�M(��A� H�U8H�L$h�D$@�$��H�U�����H�L$x���H�L$hH�\$h�\$pfo�fH~�fs�fA~��L��L�d$h�AH�C50H��H�950�8$u*E��L�D$ H���H�L$0�[H�D$0H�����PAH�50�8�0M�+�H�L$X���H��408tH��40����Hc��H�
I�%H�H�T$0�H�L$@�D$0���L�D$@H�T$xH�M����H��XH�L$@�\$HM��t2A� H�T$xH�L$@���L�D$hH��H�U�����H��XH�L$@�\$HE3�L9d$Xt2A� H�T$xH�L$X����L�D$@H��H�U����H��XH�L$@�\$H@���?E���D9d$8���D$8H���%H�D$0H�T$0(D$0H�L$xfD$0���L�D$@H��H�T$0���H�D$0H�D$@�D$8�D$HH��30D8 t(H�L$x�)L�D$@H��H�U�����H��XH�L$@�aH�-�%D�d$8L�D$@H�D$0H�U�H�L$0���H�E��]�H�D$@�/H�330D8 tTH�L$x�(�|$Ht�x~�@�����؉\$HH�30���t H��H��20��@t$3ۉ_�GH��]�H�L$@�W���\$H��20������Шt4��u[3�E��u�H�L$x�2�L�D$@H��H�U����H��XH�L$@�(��u'H�L$x��|$Ht�x~�@�����؉\$H@��tR�D$8	H�g�%H�D$0H�T$0(D$0H�L$xfD$0���L�D$@H��H�T$0�v��H�D$0�\$8H�D$@�\$H@��tR�D$8H��%H�D$0H�T$0(D$0H�L$xfD$0���L�D$@H��H�T$0���H�D$0�\$8H�D$@�\$HD8d$PtB�D$8H�.�%H�D$0L�D$0(D$0H�T$xH�L$@fD$0���H��XH�L$@�\$HD8d$QtB�D$8H��%H�D$0L�D$0(D$0H�T$xH�L$@fD$0�]��H��XH�L$@�\$H�E����I�H����A�_��uSM9&tN� L�d$XH�L$XD�d$`��M��H�T$0H�L$X�+��A� H�T$xH�L$0�E��M��H�U�H���
��H���Z��sH�D$@�[� L�d$XH�L$XD�d$`��M���M9&t;� L�d$XH�L$XD�d$`��M��H�T$0H�L$X���H�T$0H�L$@����\$H�D8d$ t��
H�D$@H��_�H��D$8���9��uzH9tk��ruGI9tBH���%�\$8M��H�D$0H�U�H�L$0�7��A� H�T$xH�M��R��M��H��H������1M��H�l�%�\$8H�D$0H�L$0��I9tM����H�K�%�YH�L��$PH��I�[0I�s8I�{HI��A_A^A]A\]��H�\$UH��H��`H��H�M��S��H�8/03�8���8?t{�8XtH�U�H���8�H��H�U�H�/0H9M�u(�E�H���%H�E�H��(E�fE�������E�H��%H�E�H�M�(E�fE����H���MH��H�M�M�L�M�L$ H�U�H�M�H��.0E3����H�H�MЋ@�E��O���H�4�%�M�H�E�H�M�L�E�H�����H��H�\$pH��`]����H�\$H�t$L�d$UAVAWH��H��H��A.0�'.0��
s/��
�.03�H�M�����-.0
H�E�H��E��C�\H��-0��?:��-H��H��-08uOH��8u#H�M��m���H��-0�
H��H��-0�8u��H�M��8$u	��.�!H�~-0E3�3��L�E3��H�M��@�u�L�u�M��t��	sA��E3�D��A��A���}�~L�3�s�H�$-0����H�M��"H�}����=-0t}�-0L�E�H�U�H�M��N��L�0L�u��p�u�H��,0�8@��H�M��8"H�H�M��@�E�H�L�%H�E��E�(E�fE�L�E�H�U�H�M�����H�U��0H��%H�E��E�(E�fE�L�E�H�U�H�M����H�U�L�E�H������pL�0�u�L�u�E��tM��t��	�u���E��t�u�M�������������H��+0�8t�8@t�c�CH�#�]H��+0��+0t$E��u��uH�e�D!e�H�U�H�M��Q���z���H�U�H���@���H�#�c��t�C�
H�Q�%H��
�+0H��L��$�I�[ I�s(M�c0I��A_A^]�H��H�XH�pH�xL�p UH��H��`E3�H��H�
8+0@��A�ހ9QuH���H�
!+0H���uH�ڱ%D�wH����B�<	w]H��H�
�*0��t7�B�Hc�H�M��"��H�k)-H��H�M����L��H�U�H���(��H�E��
H��/H�M�����H��@H��lH�M��9D8u�t=H��*0H�U�@��t��tH�M�����H�M����뼄�t	H�M��u���H�M��H�O*0�H��%��IE��H�����GL�\$`H��I�[I�sI�{ M�s(I��]���H�
*0�8_u4�x_u.H��H��)0���AH��H��)0��v�aH�!�A�H�!�aH���H�\$H�|$UH��H��pH��)0E3�H��D�E��u;H��%�E�H�E�H�U�(E�H�M�fE��`��A�H��H���'���ZL�M�D�M�A��Wua�a)0���Ѓ�uhH��H�=)0A��Wu	H�M��FH�M��Q#H�U�H�M����H�E�H��EȉGL�\$pH��I�[I�{ I��]Ë
)0�����Шt���r�H��L�M�A��D�M�H��(0��T������������t-��t����D�AH��%�A�H��%�xH��%�E�H�E�H�M�(E�fE��qH�U�H��H�M��1��L��H�U�H�����H�E�H�E��E؉E��.H���%�A�H�t�%�
H�c�%A�H�M�����H�E�H�E��E��E�����H�\$UH��H��PH��'0H��3�H�MЉM�8���<0��<1~=<3~*<4tK<5t,6<��H���%�%A�H���%�A�H�o�%�
H�^�%A�H�M��W��H�X'0�H�O'0�AϨ�u��7u��7uF�E�	H�@�%H�E�H�U�(E�H�M�fE����L�E�H��H�U��n��H�E�H�EЋE�E�H�E�H��E؉C��K�CH��
H���%�KH�H��H�\$`H��P]���H�\$H�|$UH��H��PH�e�H��H�
�&0M�؃e�H��H�
�&0D�E��A��A�rA���:A���(�9��A���E�����A�������H�AA�H�1&0��v3�,H�M��e���H�M��V��L��H�U�H�M��n��H��@H�MЉE�A�>H�U�H�M��}��H��PH��%0H�MЉU؀8$uH��H��%0�$A�^H�U�H�M��H��H��PH��%0H�MЉU؀8L��tH��H��%0�0�}�*M��tH�B�%H�M�����U�H�M���H�
$�%��H��S�H�
�%H��q��"E��t�cH�#�C�Z�>A�H�M��[��H�%0H���0E��u'D�A�@���vA��u���H�
�$0H�AH�#H��$0�cH�|$hH��H�\$`H��P]��H�\$H�t$WH��H��H���H�
�$0�H��H��t
H� �`�3�H��H������H�d$0L�L$0�d$8H�T$@H�d$@H�L$P�d$HE3��d$ �N�A� H�T$`H�L$P���L��H�T$pH�����L��$�I�sH�H��@�CH��I�[I��_�H�\$H�t$WH��H��!-H3�H��$�H��3�H�
�#0��@81uH���%�sH���,0<	w �H����/H�
�#0Hc�H�������H�L$ �2@8t$(tRH�D$ H�D$ ��Bu3�\$ fI~�L�u�%�AH�L$0���D��H�T$0H������3��Au�\$ Z���H�#0�H�ܩ%��HE��H�����CH��H��$�H3��֑��L��$�I�[I�s I��_��H��H�XH�pH�xUATAUAVAWH�h�H��H��E3�H�
�"0L��D8)u#L�5a�%D�m�L�u�H�M�M��H��������,6<v	�9_���1A����6H��H�
X"0��)u%D8)t��1H�Q��=H�="0H�ʍF���AG�����TH�у��HA;��?I�D��A�_L�m�D�m�H�Elj]�A���P�9@L�5��%��H�w�%�E�H�E�H�U(E�H�M�fE���L�E�H��H�U����H�E�H�ENjE�E�H��!0D8(tLH�M��� L�m�H�M�D�m�H�����L��H�UH�M�����L�E�H�U'H�M���H��XH�M��$L�E�D�m�H�U�L�u�H�M����H�E��]�H�E�H�!0�]��H�BH�!0D8(���8@�!H��L�m�H�� 0E3��� 0��`D�m��D$ <`��L�M�L�m�H�U�D�m�H�M��H�EH�E׋E�E�A����@������ 0H�M'��Ш����� L�m�H�M�D�m�H�����L��H�UH�M����L�E�H�U�H�M���H��XH�M��[L�ML�mH�U�D�mH�M��'��}��o����E��c���D�mL�E�L�uH�M�e����~��}�t�x~�@A#�؉]ϋ�0H�M'��Шt$��L�E�H��H�U���H��@H�MljE���g��}�t�x~�@A#�؉]�M9/tA�(L�m�H�M�D�m����L�E�H�UH�M����A�)H�U'H�M����H��@H�MljEϺH�
U0�H��H��t	L�(D�h�I��H��H�M�LH�M'�'���(L�m�H�M�D�m�H���-��L��H�UH�M��A��A�)H�U�H�M�]��H��H�M��)���
�0����`<`tE��tH�U�H�M�����
�0�����H�M't�H��H�M������ ���}�t�x~�M��@A#�ȉM�H�M'�LH��H�M�����J0H�M'���Шt2��'H��H�M�����M�H��t8H�E�H��NH�EH��E�G�4�'�}�tԀx~΋M��@A#����D�o�G�D�o�GL�/L��$�H��I�[0I�s8I�{@I��A_A^A]A\]�����������̃y����$ ����̊A�������������H��(H�I3�H��tH�	H��t
H�H�@��XH��(��������@SH�� H��H�IH�H�@�fX��uH�KH�H�@�QXH�� [������������3�9AtHcQH�A�D��H�\$WH��PH��3�H�L$@�{�H�d$ H�L$ �d$(�`H�����L��H�T$0H�L$ ���A�'H�L$0H���3��H�\$`H��H��P_��H�\$H�t$WH�� H�Y H�rH��H��HF�H;�s<�H;�wTD�@�H�w0�K���H��t<H� H�OH��tH��H�GH�GH+�H�_ H�GH��H�H�\$0H�t$8H�� _�3�����@SH��0H��0H�ـ8_u<�xEu6H���D$(	H��0H�T$ H�V�%H�D$ (D$ fD$ ����H�!�aH��H��0[���H�
�0���t`�B�<	wH���B�H�
z0�E3�A�@�%��t?�B�<w0A��A�����D�H��H�
N0�A:�u֊H��H�
;0A:�t���A���3�����H��H�XH�pH�xL�` UAVAWH��H��pH�0E3�M��L�e�H��D�e�A�AL�e��H�pD�e�A��H�5�0A:��������_��/����1����9��H�V�H��2H�H���%H�M�D�D�H���w���L9e�tF�E�H�s�%H�E�H�U�(E�H�M�fE��9���L�E�H��H�U����H�E�H�E��E�E�H�E�H��E��GL�\$pH��I�[ I�s(I�{0M�c8I��A_A^]�L�e�M��D�eȄ��H�M���<L�e�H�M�D�e�H�����L��H�U�H�M��+��H�U�H�M��"��L�u�H�5��%�M��tMI�I��H�@��T<>u98]����SH�
�0���H��t	H�0�@ �I��H��H�M����L�u�8]�LM��u�>L�e�H�M�D�e��{���.�H�
Q0���H��t	H�0�@>�I��H��H�M�蛼��L�u�M��tA�H�5�0D8&u�E�L�7���H�H�5�0E3�H�M�3��,H��@H�M��E�H�5�0H��t8�~�1u2�~L�e�H�M�D�e�����L�E�H�U�H�M���H�E�H�E��E�E�M���?���H�U�H�M������-���H�F�H�U0H��%D�gH�������B����Z���_���H�VH�0��O���D����9��tZ��tJ��/����6~.��8���B���Hc�H��H��H�ˋ%H�製�����H�R�H���
���H�5�0�G����B�H�M��Hc�H���%H��H��c����M���H�E�H��O�?�����?t&��@~7��B�3�D�BH�M��c�M����Ɗ
H�BH�-0��t��0tD�g�GL�'���E3�A�P�H�0�����T���S����P�����\�����u�H�R�H�Ҋ%H��H�M�H�D�D�H��詺��H��0H���uA�H�M�H���P����e�����0�^���H�Q�H���P���H�H���%H�M�D�D�H���P���H�Q0�H��H�E0��0����1t~	��4�MH������L�E�H�U�H�M��{���H�M��rA�,H�U�H��菾��H��H�M��[���H�M��NA�,H�U�H���k���H��H�M��7���H�M��*A�,H�U�H���G���H��H�M�����3�H�M��<�A�)H�U�H���!���H��H�M����A�'H�M�H�������G���3�H�M��
�A� H�U�H�M����L�E�H��H�U�誽��H��H��L�E�蛽������H�R�H�*�%H��H�M�H�D�D�H������E3�H�M�3�����H��PH�M��U�H��t
��
�����H�M�뚃�V����W�������Y�}��_������H��H��0<K�-��A:��n���<D~<F~<J�^����B�������B�H�MЃ�Hc�H�i�%H��H��=���H�N0H�M�8?u)��H��H�M�蠽��H�-0�8@uH��H�0��H��H�M��w����E�H���%H�E�H�U�(E�H�M�fE��ϼ��H�E�H��E�����B�H�MЃ�Hc�H�LJ%H��H�蛹������@t'HÊ�H�M�H��0貽��H��0���uـ�@u�H�H�v0�<M���<N�@����
H�BH�W0��2�*���H����"�����B����a���H�R�H������H�V�H��%H��9H�M�H�D�D�H��������v���L9e�������m�	����H�\$H�|$UH��H��PE3�H��H��0H��L�E�D�E��
������$t~��tF��tH��H������H�M�L9tA�	H���%�
A�H���%�Z���H�[0A�H�L�E�H�E�H�‹GH����H�60H�U�E����-�B<$t9���/H�ژ%D�E�H�E�H�M�L��H���c���H�|$hH��H�\$`H��P]�H��H��0�
��R������t���Ati��tC��t�����H�BL�E�H��H��0L�M�D�E�H�M�D�D$ ���H�����H�BA�H��H�f0H���2�^���H�BH��H��H�H0�k��C���H�M�L9tA�	H�P�%�
A�H�Q�%����H�
0A������S����tN��t-��tD�C�CL�����H�BH��H��0��
����H�BH��0H�H��G�C���H�BH��0H�U�L9t,�E�H�̓%H�E�H�M�(E�fE��V���H���`����E�H���%H�E�H��(E�fE��+����C���H�BH�30�D�����H�\$H�|$UH��H��PH�0H��3�H��8�sE�����8XugH��H��0H9
H�U�u(H�w�%�E�H�E�H��(E�fE�觵���GH�ϒ%�E�H�E�H�M�(E�fE��~���H����8_u�x_u�xZuH��H�r0�8$uF�x$u\�xTuVH��H�V0H9
H�U�uH���%�E��f���H�{�%�E��{����8YuH��H��H�0�\���H�M�����G@tAH���%�E�H�E�H�U�(E�H�M�fE�蹴��L�E�H��H�U��)���H�E�M�� �G tH�`�%�E�
봋M�H�E�H��K�H�Q�%�M�H�E�H�M�L��H���۶��H�|$hH��H�\$`H��P]�H�\$H�t$H�|$UAVAWH��H��PH��Mc�H�
��%I��H�3�I��L���H�0�E������A�<v6��_t1L�ʉ\$ H��H�M�E�����A��H�U�H����D������+H�U�H�M�讳��I9tH9t	�GuI��H�M�����H9tH��H�M�����H�U�H������D�}�H�B�%H�E�]�E��~=�H�
�
0���H��tH�
a�%D�xH�H�M�H�H�H��H��H�M��Ű��I9tI��H�M�茶��H9tfI9tU�}�OH9]�u� H�]�H�M�]��<���5�H�

0�U�H��tH�
��%�@ H��H��H��H�M��U���H��H�M��!���H�E�H��E�FL�\$PH��I�[ I�s(I�{0I��A_A^]����H�\$H�t$H�|$UH��H��pH�j0H�ـ8_��H���8�u�8D�lH�B0�0��AH��H�20���>�30H�e��e���Ш�� H�M��G���H�M��E���H�U�H�M��E��̴�����������#��ǃ�t!����H�Y�%�E�H�E�(E��H�=�%�E�H�E�(E�H�U�fE�H�M��l�����#�t-H����E�H�E�H�U�(E�H�M�fE��>����u����}�MH�}�uH�e�H�M��e��)�p���0�H�
F0��H��tH�
��%�@)H�H��H�M�莮��H�E�H��E��C��cH�#�C�H�!�aL�\$pH��I�[I�sI�{ I��]�@SH�� H��
0H�ـ8@uH��H��
0謰����9��H��H�� [�H��H�XH�pH�xUAUAVH������H��@E3�L�-��%L�1A��D�qH��H�H
0����D85L
0t
D85D
0�4L97t{L�m�H�T$@�E�H�M0(E�fD$@���L��H�U�H���Z���H�E�H��E��G@��t7�[L�t$PH�L$PD�t$X���L��H�U�H�L$P�!���H�E�A��H��EȉGH��	0�8?��H�PH��	0�
��$�����1���u��������tH�M@�\�H��0�I��D�t$(H�BH�\$ H�,	0E3�H�L$`��m�D$h��uTH��tHL�m�L�D$@�E�H�� (E�H�L$`fD$@�!���L�D$ H��H�UP�<���H��@�D$(�H�\$`���D$(I��H�\$ D8t$(uZH��0�8@�n����[L�t$pH�L$pD�t$x����L�D$ H�U�H�L$p�ٰ��A�]H�U`H�M����H�H��@�G�D�w�GL�7�H�BE3��H�00H�Mp�wA�]H���H��詰��L��H���H���k���@��k�z_u\�z?uVH�BE3�3�H��0H�����L��H���H���)���H�H��@�GH��0�8@�!H��0�H����I���`L�u�H�M�D�u�H�����L��H�UH�M��ϯ��A�'H���H�M���H����A�@H�>0H�M��m���H���%�E�H�E�H�T$@(E�H���fD$@��L��H�T$0H���`���H�D$0H��D$8�GH�
�0�9	tYH�U��̱���NH�B�E3��H��0H���H���E3�H�M ���H�UL��H�����H�H��@�GD8w�+���H�s0D80t�8@ttD�w�GL�7�gH��%L97u
D�w�GH��NL�l$0L�E��D$8H�U(D$0H�L$0fE�D�t$8H�D$0�L���L��H�U H���i���H�H��@�GL��$@H��I�[ I�s(I�{0I��A^A]]��H�\$L�t$UH��H��`H�!H�كaE3�H�Mв�L�5B�%H�H��@<�CH��0uY�8tT�8@tTL�u�H�M��E�(E�fE�����L�E�H��H�U�萭��L��H�U�H��譭��H�H��@�CH�20�8@uH��H�#0�s�8t�cH�#�C�`H�ϋ%H��u!K�CH��HL�u�L�E��E�H�U�(E�H�M��e�fE�H�E�����L��H�U�H���"���H�H��@�CL�t$xH��H�\$pH��`]����H�\$WH��@H��H�
�0���u�gH�;�%H��N3�<?u@H��H�
^0H�L$0����H�d$ H�L$ �d$(�-H���~���L��H�L$ H��蒬���H�����H�\$PH��H��@_����������̃yu<�D+�D;�}A��E��t L�
��%D��L+�L��C�A�I��I��u�Hc�H��H�������������I;�s�A�H��H������������������H��(H�IH��tH�	H��tH�H�@��>H��H��H��(����H�\$WH�� H��I��H�IH�H�@�>L��H;�sH�OL��H�H�BI��`>H�\$0H�� _������L�QD+�D9ADNAE3�E��tH��L+�A�
A���H��E;�r�Ic�H����@SH��@Hc�H��|%H��H��H�H�L$ 褨��H��0�H�HH�
�0��@���H��H�
�0<_u{H�A3�H�L$0H�}0���3�H�L$0���H�e0���@tH��H�T0���u�8uH�ȃcH�;0H���%H��'H��H�%0H�D$ H��D$(�C��cH�#�CH��H��@[����@SH�� H��H�
�0�9u�cH���%H��:A�H��%����uH��0D�@3�H��������cH�#�CH��H�� [�@SH�� H��0H�ـ8?u$H���8$u	���E3�H�d03��5��
E3���H��H�� [�H��H�XH�pH�xUATAUAVAWH�h�H��E3�A�D!u�H��H�
0L�u�D�%0����D�E2�H�e�A��Ѓe�A��	w,H��H�UH�
�0H�
�0�Ũ��H�8�@H�}׉E����9$H��un�y$u�Q��$tI��1t1��t9��t$��t/�9$uFH���9$t>H�
x0H�M�/�5A�H��H�
_0��H���
�yVu�H��H�
F0�H�M'�tD�xH�8H�
*0H��D�}�H+�H�}�H��~FH�50�>	t:H�����H�
0�`�H��tH�8D�xHc�J�H�D�H�
�/H����E��uP�}�JM��uL!u�H�M�D!uϲ,����0�H�
��/��H��tH�
m�%�@,H�H��H�M�����H�U�H�M��Ѩ��E��t(H���%�E�H�E�H�U�(E�H�M�fE��$���L�u�H�
-�/��}�AE2�D8e������EωC� �/L�3L��$�H��I�[0I�s8I�{@I��A_A^A]A\]ÃcH�#�C����H�t$H�|$UATAUAVAWH�l$�H��pH���/D��H��8?�0�x$�&H�
~�/��L�-l�/H��H���E2�H�
g�/H�L$0D�rH�L$P�T$PH�
>�/H�M�H�
;�/H�MH�
8�/H�L$8�U��UA��H�+�/�8?D���uH��L���H��/���D����E���HH�8�@H���D$(���/AD�H�|$ ��/E���0L�=��%D8t$(FH��uH!|$ H�L$ !|$(�<����*�H�
��/��H��tL�8�@<H��H�L$ ����H�L$8�&���H��H�L$ �ͦ��H�|$ H��tNH�H��H�@�8<>u:D8t$(���H�
T�/��H��tL�8�@ H��H�L$ 袠��H�|$ D8t$(KH��uH!|$ H�L$ !|$(�>�,����*�H�
�/�E�H��tL�8�@>H��H�L$ �P���H�|$ E��tH���/�8t
I�H���/H���H�~�/H�D$0H�z�/�D$(�FL�-\�/H�>��aH�!�AL��$pH��I�s0I�{8I��A_A^A]A\]����H�\$H�t$UWATAVAWH��H��pH��,H3�H�E�H��/3�H���H��H��/D��E����������0����1t7��2t(��4t��A����A�������������"��8@u3H���E�H���/H�U�H��|%H�E�(E�fE��V����z�&H�u�H�M�u�蛵��H�M��
��L��H�M�H��解���K����AH��H�&�/H��%H��q�%�������J�z��M�Q��Qt��Rt'��St��T��v�w�GH�7��H�1�q��H�M��&���H�M�H��tH�L�E�H�U�H�@��5@�0�@�u�H�M��j����/@��A��t/H���/H��t#��A#��5H��tD��H��H���0����\A#�L�y{%D��H�M����D��H�U�H�M�����A��RtjA��tdA��tNA���#���H�}{%�E�H�E�H�U�(E�H�M�fE��ğ��L�E�H��H�U��4���A�'H�M���H�{%�E��H��z%��H�M����}������H���L�����{H�u�H�M�u�蹳����HL�%S~%A���waH�M����H��H�M�跢���}�FH9u�u�,H�u�H�M�u��q����,I��H�
I�/���H��t	L� �@,�H��H��H�M�蓜��A��F��A��tA����A��tkA����H�M��4�H��H�M��,����}�FH9u�u�,H�u�H�M�u�����,I��H�
��/���H��t	L� �@,�H��H��H�M�����H�M����H��H�M��ˡ���}�FH9u�u�,H�u�H�M�u�腲���,I��H�
]�/���H��t	L� �@,�H��H��H�M�觛��H�M��r�H��H�M��j���A�}H�M�H��胠��H��H�M�H3���f��L�\$pI�[8I�s@I��A_A^A\_]����H�\$H�|$UH��H��pH�k�,H3�H�E�H���/H�ي��Xu6H���E�H���/H�U�H�y%H��H�E�(E�fE��J�������?��H�M���Q�/@tcH�=P�/H��tWH�M�H��t!H�L�E�H�U�H�@�M2�H�=#�/��E�H�M��ص��H��)2H��tE3�H��H��辙���^�E�H�vx%H�E�H�U�(E�H�M�fE�蜜��L�E�H��H�U�����A�'H�M�H���)����H�e�H�U��e�H����H��H�M�H3��We��L�\$pI�[I�{ I��]��H�U�/�H�!�a<ZH��u
H��H�:�/��H��(L�-�/A�@A�3�A�8_u
M�A��L��/A�,A<��A�8$��I��L��/A���B����������$��I�@�8PLD�I��L���/A�8M$A�8L}A�8tCA�,F��u*I��L���/�g���A�8O~/A�8Qt�A�8hu�%��/��A�8Jt��������I��L�I�/A�,0<	w!A���/H�I�H�-�/�����V�������/~�E3҃�5~`��Au��������I���������C��A+���A+�tv��
�Y���I��L���/A�<0|LE��<5EE�A�J��A��ʁ������
A"�D�A��tA��tA���	����0���*��@�%�غ���������
�����|M�L�4�/�dA��A�<��M�L��/��0twA+�thA+�t\A+�tOA+�t@A+�t1A+�t"A+�tA;��~����x��p��h��`��� ��A����3�����������9uMú��L�|�/���;uMúlL�c�/��ٺ�������E���A��AMË�L�4�/��
A��A"�D�A��}V�º�A����t��t��������	�����@A��t&A��tA��tA���t�����
�
�����	��H��(�H�\$H�t$WH��0H�L$ A��H���q	�|$(u3���|$(t���/uH�}�/�8uH�|$ �H�r�/H�L$ E3����H�8H��u?H��u3��H�H��H��u-�pH�[�/Hc�H��H��Z-H��H����H��H��tOH��u)H�H��H��2-H�
�/�pHc��X��H��H��t$H�Lc�I��L�H�BH��H���,����H��H�ӄ�t)A� H��L�BA:�uD�
�H��D8t���
�I�Є�uڈ
H��H�\$@H�t$HH��0_���@SH��0H�c�/H��3�8tI�8At�K�CH��EH���D$(H�7�/H�T$ H��u%H��H�D$ (D$ fD$ ����
H��w%�KH�H��H��0[����@SH�� L���/3�H�T$8H���.��@t=�A�<w)��H����AHc�H�I��H�L$8L���/H��A���u��CH��H�� [�H�L$8�Ǖ��H�H��C�����H�\$UH��H��H�m�/H�ـ8u�aH�"w%H��
H�M�����}�~�cH�#�C���{H�M��G���H�
 �/2���t�,H�M��/���H�
�/���2td��tJ��t0��t{H�M��$���H��H�M��H����:H�M���H�M����=H��H�
��/H�M����(H��H�
��/H�M��"����H��H�
��/H�M�����H��H�M����H�
v�/�9@t��L���H���}H�
^�/H�M��u���H�E�H��E��CH��H��$�H�Ā]�@SH��0H�H��H��BH�T$ �D$(�AH��s%H�D$ (D$ fD$ ���H�L$ �d�H��H���M����}H�����H���/�8@u
H��H���/H��H��0[�H�\$H�|$UH�l$�H��H�H��H��B�A<��H���/�e�8��H�e�L�M��e�H�UH�eH�M�d$ E3��_���A� H�U'H�M�Ӗ��L��H�U7H��蘖��H�H��@�G<�SH��/�8@�H��r%�EH�EH�U(EfEH���і���OH���/�����8���8@��H�M7�/�H�e�H�M��e��`H�����L��H�UH�M����A�'H�UGH�M����H��H�����H�n�/�8@u
H��H�_�/�O��U�8@�s���H�#r%�EH�EH�U'(EfE'�=�����#�8u
�H��蟗���}H���)���H��/�8@u4H��H���/�(H��s%L��H�U�H�EH�M�>���H�E�H��E��GL��$�H��I�[I�{I��]��H��H�XH�pH�x UAVAWH�h�H��H�J�,H3�H�E7L�
|�/E��@��L��E�A���A��	wI��H��H�
H�/L�
Q�/�H����PE3�A�9?uU3�H�M��_�H��xH�&�/�H��H��/��@��H��H��r%H��/��������D�IE��H��l%I��A�A�����t:uH��H��E�u��	�;�uH�ol%�E�I���EH�sl%I��A����t:uH��H��E�u��	�;���H�Pl%�E�I��
H�E�H�M�(E�fE�L�
E�/���F�/@��H�A�/H����H�M�H��t!H�L�E6H�U'H�@�:&D�8H��/�D�}'H�M'�ũ��H��&H��tE��H�M�H��認���H�U�H�M蠐��L�E�H��H�U�����H�UA�'H�M��,����SH�U�H�M�q���L�E�H��H�U����H�U��E��tA�9@uI��I��L�
[�/A���A�@H�L�/H�M�{���H��x@��t:H�5!�/�>	t.H��t)�H�
C�/���H��tH��xHc�J�H�D�I�A�~I��H�M7H3���X��L��$�I�[(I�s0I�{8I��A_A^]���̋A�������������H��(H�I3�H��tH�	H��tH�H���$H��(���������H�\$WH�� �AH����y'H�IH�H���$H�O��H�H���$ÉGH�\$0H�� _����������̋A�H�\$WH��PH�+�/3�H�H���YH�����8?���x@uaH���/H��i%H�D$ H�L$0�D$((D$ fD$ 苺��H�T$ H��H�L$@襎��L��H�T$ H������H�D$ H��D$(�Z�x$ue3�H�L$@��H��@H��G<t���/u/H�j�/8t$H�g�/H�X�/H�L$@�
���H��@H��GH�\$`H��H��P_Àx?uրx@u��A�����������̋A�H��H�D$x�D$0H�D$pH�d$(H�D$ �H��H��H�\$H�t$H�|$AVH���I��A��H��L��M��u3�L��$�I�[I�sI�{ I��A^�3���H���/H��$H���/H�%��/W����/���D$ �D$xH�=l�/H�=]�/H�D$xH�A�/H�D$ H�-�/��$�H�/H��$H�A�/�6�/�%;�/�%8�/D��I��H�L$ �@�H��H�*�/H��t,H�
&�/H�
'�/H��tH�H��/�
"H���/��3��H�������������ff�H�L$H�T$D�D$I� ��������f��������f�����H��!H��?��H;�t#eH�%0H���H;HrH;Hv�
�)��H��(E3�H�
~�/�����t
���/���%2�H��(���Hc�H��H�J�/H��H�%_���@SH�� �X�/�H�'�/��H��H��O�
9�/��u߰H�� [��Hc�H��H���/H��H�%���H�\$H�l$H�t$WATAUAVAWH�� ��L�=���M��I��L��I���+QI��I;���H����M;����uI����*QH��tI;����kM���p�F3�I��A��OH��H��uV����Wu-D�CI��H��l%聤��tE3�3�I��H��H��uI��L�=M��I����*QH��I;��h���H��L�=/��I����*QH��t	H���I��H���H��t
H��I���+Q�
M���+Q3�H�\$PH�l$XH�t$`H�� A_A^A]A\_�@SH�� H��L�
�k%3�L��k%H��%���H��tH��H�� [H�%KH�� [H�%����@SH�� ��L�
�k%�L��k%H��%�E�����H��tH�� [H�%H�� [H�%���@SH�� ��L�
}k%�L�ik%H�j%�����H��tH�� [H�%�H�� [H�%^��H�\$WH�� H��L�
8k%��H�7%�L�k%���H�Ӌ�H��t�n��H�\$0H�� _����H�\$H�t$WH�� A��L�
�j%��L��j%H��H��%��R�����H��H��tD�����H�\$0H�t$8H�� _��������������ff�H��(H�L$0H�T$8D�D$@H�H�����������H��H�T$8H�A�����H��(�������ff�H��(H�L$0H�T$8D�D$@H�H����������H��(�������H��(H�L$0H�T$8H�T$8H�A��_���H��(�������@H��(H�L$0H�T$8L�D$@D�L$HE��H���-���H�L$@���Q���H��H�T$8A�����H��(��H�\$H�t$UWAVH��$���H���H�L�,H3�H���A����ك��t�=a��3�H�L$pA���@��3�H�MA���?��H�D$pH�D$HH�MH�EH�D$P��L��H�T$@I��E3���H��t6H�d$8H�L$XH�T$@L��H�L$0M��H�L$`H�L$(H�MH�L$ 3�VH��H��H��H���t$pH���H��H�E��|$t�M3ɋ��#H�L$H���u��u���t���H`��H���H3��UO��L��$�I�[(I�s0I��A^_]��H�

�/�H�\$H�l$H�t$WH��0A��I��H��H���/�H��t=H���H��t1H�T$`D��H�T$ L��H��H��2H�\$@H�l$HH�t$PH��0_�L���,D��A��L��L3��/��?I��H��M��tH�L$`I��H�L$ �H�D$`H��H�D$ �S���H��8H�d$ E3�E3�3�3��7���H��8���H��8H�d$ E3�E3�3�3�����H�d$ E3�E3�3�3����H��(�����t��)A���A�H�n�����H�Ⱥ�H��(H�%��H��H�XH�p�@WH��@)p�(�H��H��u�:��4���W���������迮�L$VH����f#�f;�u>��(�����tc��t^��tY(޹�X�e�H�|$ (����Cf.5Բzu(��G��t�#�!f%3���H��(��v�(�H��H���,�(�H�\$XH�t$`(t$0H��@_�鿮����������������D$�D$�����H��XH���,H3�H�D$@E3�L��A��L��H�� E�YsqD�L I�H�� |����H�������L ��MÈL A���u�D\$ �E�M�E�A��A��I������B�T t�Ic�H�L$@H3��7L��H��X��Y���������������H�\$H�l$H�t$WH��0H��H�-�����H��H+�H��L��W�H�C��oH��ws���HP!H��fs��`fs��Yfs��Rfs��Kfs��Dfs��=fs��6fs��/fs�	�(fs�
�!fs��fs��fs�
�fs��fs�3�W�ft�f�D�R���0D��H��uD�Z��A��H+�D��H;�A��A��A+�A;�������P!H��fs�fs��fs�fs��fs�fs��fs�fs��fs�fs��{fs�fs��ofs�fs��cfs�fs��Wfs�	fs�	�Kfs�
fs�
�?fs�fs��3fs�fs��'fs�
fs�
�fs�fs��fs�fs��W�E�����oVfo�ft�f���u+H��I���_����H��u�8V��H���D������ȋ�H+�H��H��w�D+�A��w|B����P!H�A���fs��efs��^fs��Wfs��Pfs��Ifs��Bfs��;fs��4fs�	�-fs�
�&fs��fs��fs�
�fs��
fs��W�f��fo�A���t3@��fn�f`�f`�fp�ft�f�ȅ�uA�@I��H�„�u�H��H�\$@H�l$HH�t$PH��0_Ð�M!�M!�M!�M!�M!�M!�M!�M!�M!�M!�M!�M!�M!�M!�M!IN!XN!gN!vN!�N!�N!�N!�N!�N!�N!�N!�N!�N!�N!�N!	O!�O!�O!�O!�O!�O!�O!�O!�O!�O!�O!�O!�O!�O!�O!�O!�O!@USVWATAVAWH��$���H���H��,H3�H���E3�I��I��H��L��M��u�h4�������3H��tH��t�H��PH�L$@�^M��D�d$9fD�d$=D�d$?H�t$ H�|$(L�d$0A��u
D�d$8H��u�D$8H�D$ L�d$pH���H�L$`H�D$HL�e�H�D$hH��XH�E�L�e�D�e�fD�e�D�e�D�e�L���L���L�|$`H�\$xD����Hc�H��tIA��t"H��u����H�D$0H;�u(��x(H;�v#�oM��teH��t��yD�&�H�D$0H;�tfD�$H����6�L���D8d$XtH�L$@������H���H3���F��H���A_A^A\_^[]�H��u���H�D$0H;�u������D�d7���@USVWATAVAWH��$���H���H�G�,H3�H���E3�I��I��H��L��M��u�2�������3H��tH��t�H��PH�L$@�M��D�d$9fD�d$=D�d$?H�t$ H�|$(L�d$0A��u
D�d$8H��u�D$8H�D$ L�d$pH���H�L$`H�D$HL�e�H�D$hH��XH�E�L�e�D�e�fD�e�D�e�D�e�L���L���L�|$`H�\$xD�����Hc�H��tIA��t"H��u����H�D$0H;�u(��x(H;�v#�oM��teH��t��yD�&�H�D$0H;�tfD�$H����j�L���D8d$XtH�L$@������H���H3��D��H���A_A^A\_^[]�H��u���H�D$0H;�u������D�d7���H�\$H�l$H�t$WH�� H��������H��H;�v��0�2��\3�H�,H9�u	H��v	H;�w��7H����H��H��tH��薦H��@�H��3��~�@��H�\$0H�l$8H�t$@H�� _���H�\$L�QXA��I��D��H��u��
L��H��XH��M�B�L�L�AH�A8��E��t/��3҉A8A����0D�؀�9~A��4���H�AH�H�IH��D+AHH�\$D�APH�AH��H�\$H��`L��H��XA��L��H��u��
H��I��XH��L�A�L�M�BHA�B8��M��t1��3�A�B8I��H���0L�؀�9~A��4���I�BH�I�JH��E+BHH�\$E�BPI�BH����E��~oH�\$H�|$E�@��H��E3�H�H�BH9Bu�ztA���A��E�� A�BA�H�H�@H�H�@�9H�H�E�A���tA��E;�|�H�\$H�|$����H�\$H�t$WH�� �AH��H�qH��t��=9�/u
p�,��N��H�H��H���H�H���H�OH���J�H�H�W�r�H�����u
������GH�\$0H��H�t$8H�� _�̀yt
H���������H�H���H�D����t�Њ�A:�tH����Є�u�H����t7�	,E��t	H�����u�L��H�Ɋ<0t�A:�H�Q�HE�A�H��I�����u�����H�\$H�l$VWAVH�� H�YL��H��H��u�-H��H�G�+H�T$@�#�H�OH�d$@H+�D�F	��7A�H�GH��u	�]-H�G�8"tH�D$@H;GrH�G�@2��;u��t�+H�\$H@��H�l$PH�� A^_^����H�\$H�l$H�t$ WH�� ��3�H��H9�h��H9qu��,��	�����p��p��H�-�Y%�sP�s,�NH�C9s(�V�KA�S,�A�<Zw��H���L(����΍�ȋ��)���K,���R��������������tg��tZ��t(��t���+H�����H���B��{A*tH�S8H���G����H�C H�C �H���HωK8�0�s8��{A*tH�S4��H�C H�C �H��K4��y	�K0�ىK4��Q�CA< t(<#t<+t<-t
<0u>�K0�8�K0�2�K0�,�K0 �&�K0� H�s0@�s@�{8�s<@�sT�H���o��t[H�C��KA�������H�C9s,t�{,u+��p��p�t����C(H�\$8H�l$@H�t$HH�� _��+��4����H�\$H�l$WH�� ��H��H��h��H�yu��*�������p��p��H�-YW%�cP�c,�SH�C�{(�Z�KA�S,�A�<Zw��H���L(���3ɍʋ��(���C,���H��������������th��tZ��t(��t���!H�����H���.��{A*tH�S8H���3����H�C H�C �H���HωK8�1�c8��{A*tH�S4��H�C H�C �H��K4��y	�K0�ىK4��V�CA< t(<#t<+t<-t
<0uC�K0�=�K0�7�K0�1�K0 �+�K0�%�c4�c0�c<�C@�{8�CT�H���U��tKH�C��KA�������H�C��p��p�x����C(H�\$8H�l$@H�� _��	)��*�������@SH�� 3�H���d��tHH��hD�CAH�AH9Au�yt�C(�$�K(���C(H�AH��hH�D�H��hH����(���2�H�� [�H��(L�IAL���ATI��A���|I�@H�H��H����3Ʌ�tlI��hH�AH9Au�ytA�@(�&A�H(��A�@(H�AI��hH�D�	I��hH�I�@�H��A�HAI�@��u��'���2���H��(�H��(�AA<Fu��V�A,H��(�P<Nu'��9�A,�'���2���y<u�<I��<L��<T��<htl<jt\<lt4<tt$<wt<z���A<���A<���A<�H�A�8luH��H�A����A<��A<�H�A�8huH��H�A��ո���A<
�f�A<�]H�Q�<3u�z2uH�B�A<
H�A�<<6u�z4uH�B�A<H�A�!,X< wH��H�� H��s�A<	�H��(����H�\$H�l$H�t$ WAVAWH��0�AAH��A�@�x@�XA�A<dV��A:���<Ct-<D��<G��<StW@:�tg<Zt<a��<c��3��|����<g~{<itd<ntY<ot7<pt<st<utT@:�ug��M��U�A8�A<E�Ǻ�1�I0����A��t���K0�H������I0�
E3�������u2��7�{@�*�S03�f�D$P3��D$R���A��t.���A��t�D$P-�A��t�D$P+�����A��t�D$P I���KA��@*Ũ�u���A��tE���E2���A*ƨ���E��u��t�D<P0@:�tA:�u@��@�t<QH���s4H�k(+sPL��h+���uL��D�Ʋ I���8���H�CL��D��H�D$ H�T$PI�����K0����A��t��A��uL��D�Ʋ0I����3�H�����}|D�S0A��E��tL��D�Ʋ I�����A��H�\$XH�l$`H�t$hH��0A_A^_���H�A H�A L�@�M��tGM�HM��t>�Q<��t ��t��	t�y<
t�AA,c�������2�L�IHA���t�AT���H� Q%�H�QH�AT�AP���H�\$WH��P�I0H�ًA8��y�AA,A$������
�A8�u�yAgt3��yAGu�A8�H�yX]Hc�H����A���u!H��`uA���
H��XH�������C8H��H��HD�H�CHH�C H�C H��`�@��D$`H��uI���
H��XH��H��u	L��X�L��XH��L��XI��L�I��H�C�KAH�D$@H�H�D$8�C8�D$0�L$(H�L$`H�T$ H���8��C0���tu�{8uoH�CH�KHL�D�I��A�<etI�H��D�B�@u�A��D�A��xuD�AI���H�QA��xHE�H���H�ŠA��D�H��D����u�CA,G��u�C0���u
H�SH�KH��H�KH�<-u
�K0@H��H�KH�,I<%wH�!!H��s�c0��CAsH��H�€<u��SP�H�\$hH��P_����@SH�� H�ًI<��t��t��	t�{<
tU�CA,c�����2���tCH�C H��`H�C H��uA�H�SX�
L��XI��D�H�H�KP�Ě��t.�C@�(H�CXL��M��LD�H�C H�K �Q�A��CPH�KX�H��H��HD�H�SHH�� [�H�\$H�l$H�t$WAVAWH�� D��H�ًI<�A��D�z��et��tL��tS��tG��t=��u\I��H��H����H��t}H��tZH;�t?�F ��g�2��(H���ƿ뿿븃�t���t���t��3�룋C0L{ ���H�C H�p��Y�C0L{ ���H�C tHcp��A�p��<�C0L{ ���H�C tH�p��#�p���C0L{ ���H�C tH�p���p��K0�����tH��y	H�ރ�@�K0�{8}	�C8�HcS8��K0H�KX�M�H��u�c0��CTD��E��H��I;�u
H���Z��������C0���t�{Pt	H�KH�90tH�KHH�KH�0�CP�H�\$@H�l$HH�t$PH�� A_A^_����H�\$H�t$WH�� �H��HY H�A H�p��Ĥ��u�����2���O<���,t>��t7��t��t��t(��t&3��"������t��t
��t��H��H��t*H��tH��tH;�u�HcG(H���G(���G(f���O(��G@�H�\$0H�t$8H�� _��@SH�� H�A H��H�A D�C8A���H�H������S<DD�H�KH��t��t��	t�{<
t0�CA,c�����2���tH��uH�
#K%H�KHIc��CT�/h�H��uH�
K%H�KHIc���f�CP�H�� [���H�\$H�t$WH��PH��,H3�H�D$@�yTH��tn�AP��~gH�qH3���t~D�H�T$4�d$0H�L$0A�H�v�ޖ��u1D�D$0E��t'H�CL�K(H�D$ H��hH�T$4�R��;{Pu��'�K(��!D�CPH�AH�SHL�I(H��hH�D$ �"�H�L$@H3��g0��H�\$hH�t$pH��P_����E����H��H�XH�hH�pH�x AVH�� L��Ic�H�	I��H�AH9Au�ytA9�EA�	��?H+AH��H�	H;�HB�L�����I�H0I�HpI��xt;�H;�t���3H�\$0H�l$8H�t$@H�|$HH�� A^�������@SH��0H��M��t<H��t7M��t2H�D$hH�D$(H�D$`H�D$ ����y����u ��"��������H��0[��H��(�߃H�T$0H���H�L$0H���B�H�D$0H���H��(��E3��D$�T$����;�A��=�Kr=�v_����=�?s#��tME��t�D$��D$�8��t�.�¹���+ȃ���#‰D$�D$E��u;�t�Xft����������H��H�XH�hH�pH�x AVH�� �I�/3ۿ��u��;�L�HcȺ�$�/��3�H��/�q�H9�/u/��=��/H���ݏ3�H��/�G�H9�/u���uH��H�5o�,L�5P�,I�N0E3������H���/L���/H��H��L�4H�Ń�?H��I��H�L�(H��H��w�����H��I��XH��H��XH��u�3�H�\$0H�l$8H�t$@H�|$HH�� A^�̋�H�
ǽ,Hk�XH�����������������@SH�� �}��3�H�
�/H��F�H��/H�H��0���H��H��u�H�
�/�;�H�%۾/H�� [��H��(H��u�&��G����"H��tH�AH�M��tI�M��tH�AI�3�H��(��H��0H�%��H��0H�%��H�\$WH�� H��H��u���������Q�A����
�t:��H�ˋ��i�H���]�������y���H�K(H��t
�c�H�c(H������H�\$0H�� _��H�\$H�L$WH�� H��H��u�4��U����H�\$8H�� _ËA���t�T��������H���(�����H������������H�\$L�L$ WH�� I��I��H�
����H�SH�H�H��tZ�H����
�tN��$<u���u
��r��7H�C�8uH�H��A��tH�H��%���tH�C��H�C��H��}���H�\$0H�� _���H�\$L�L$ VWAVH��`I��I���
�9'�H�ɼ/Hc��/L�4�H�\$8I;���H�H�D$ H�H��t!�H����
�t��$<u���u��r�H���H�WH�OH�L�D$ L�D$@H�D$HH�L$PH�T$XH�D$ H�D$(H�D$0L�L$(L�D$@H�T$0H��$����멋��&H��$�H��`A^_^�H�\$L�L$ WH�� I��I��H�
�g����H�H�����H��]�����H�\$0H�� _ÈL$UH��H��@�e(H�E(�e L�M�H�E�L�E�H�EH�E�H�U�H�E H�E�H�M��E�E�����}�E EE(H��@]����H�\$H�t$WH�� H�ًI��$<uK���tF�;+{�cH�sH�3��~2H���f���D��H���U�;�t
�K����C���t�c�3�H�\$0H�t$8H�� _���@SH�� H��H��u
H�� [�����g�����u!�C���tH���������u3����H�� [�̱�����H��8H�L$HH��u����L�Q��$<u��u
��r3��2H�D$HH�D$XL�L$PH�D$HL�D$XH�T$ H�D$PH�L$@H�D$ �/���H��8���H��(H��H��u���������iy	H��(��H��H��H���H��(��H�\$H�L$WH��0H�d$ H��H��u�3��T����H�\$HH��0_��)�����C�����H���ҙLc�A�HI��L���/��v"I��H��I�ȃ�?H��I��L��H�
��,�
H�
��,L��A�y9u%A�@��vH��H����?H��I��H��A=t+�����H�H�L$ 觩�����@���H��������H���s������'���H�\$WH�� 3�H��H��u�3��T�����H��t����H���H��ÍC�H�\$0H�� _��H�\$H�T$WH��0H�d$ H�ڋ�H��u��������H�\$@H��0_�H��������C�����H���y�Lc�A�HI��L�4�/��v"I��H��I�ȃ�?H��I��L��H�
O�,�
H�
F�,L��A�y9u%A�@��vH��H����?H��I��H��A=t+�2��S��H�H�L$ �N������=����kyH�Ӌ��@����
H�@�8H�@��H���������
���H�\$L�L$ UVWATAUAVAWH��0M��H��L��M��tM��tH��u'������3�H�\$pH��0A_A^A]A\_^]�H��$�H��t3�H��I��L;�v+H���tL��3�����L��$�H��t�3�H��I��L;�w��C��t�K ��I����$�I��M��L�d$ H��L��H���r�C��������LcsE�����wI;�DB�M;��DH�H�D$(M��t[M��u
���?H��tM;�rM��H��I������*M��3�I�����H�|$(t�M;�s�w�"���L�T$ D)sI+�L3��$�M+����H;�rkH;�D��DG��t
3�A���D+�A��I;���H�CH�˃cH���H�T$ ��E���%���������$�L�T$ Lc�I+�M+��0H���l����tsM��t?L�T$ H��I��A�A��K ��$�M�L�T$ H�������L��$�I����H���t
L��3�I�������s�"�����K��KH+�3�H��I�����H��8L�L$ M��L��H���H��8����H��H�XH�pH�xL�p AWH��0I��M��H��L��M��t/M��t*H�\$`H��u=H���t
L��3��S��������3�H�\$@H�t$HH�|$PL�t$XH��0A_�H�������H�\$ L��M��H��I�����H��H�����H������H��(H��u�v������H��(�H��t�H�E3�H��(����H�\$H�t$H�L$WH�� A��H��H��H��u#�%��F����H�\$8H�t$@H�� _�w������D��H��H������H����������H�\$WH�� H��H��A�����A�����A����y��LcQI��L�
5�/��?I��H��H��M��A�|�8|pA�|�9uhE��u=3�A��D�B�p�H��H��xMHcCH��H+�H��?H+�H��?;�tH��H��?;�u)H��H�H�KH+�H;�HcKH;�H�:�H�){�2�H�\$0H�� _���H�\$H�t$WH�� �AA��H��H���
�u������u�a������ue��u
H����H�3�H������H�C�cH��C���t�c���C��A<Au�C���u�C �KD��H���m�H���t�3�H�\$0H�t$8H�� _�������Hc����H�\$L�L$ WH�� I��I��H�
�+�H���H��H��#�H��H�\$0H�� _��H�\$H�t$WH�� H�H��H�0H����L�@��L�CH�SH�KM�	M�H�H�	�!H��@��H��臒H�t$8H��H�\$0H�� _�H�\$H�l$H�t$ WATAUAVAWH�� I��M��L��L��H��tM��tH��u/�T��u��3�H�\$PH�l$`H�t$hH�� A_A^A]A\_�H��t�3�H��I��L;�w�A�A��tE�y �A�I��I��H��H�����C�������tB�C��t;���C���HcCH��H�H;�I��HC�L���
��)kH+�H+�A��H;�rx�C��tH�����uU�����H��E��t3�H��H��H+�H;���H��B�l$X�,���D��I�������t;ŋ�G͋�H+�;D$Xs;�KH+�3�H��I������A�MH���V����t�D�{ H�νE��D��L�H�����I�������H��L�H L�@H�PH�HUH��H��`H��tM��tM��u�	�����3�H��`]�H�E(L�M�H�E�L�E�H�EL�M�H�E�L�M�H�EH�E�H�U�H�E H�M�H�E��1�������H�\$L�L$ WH�� I��I��H�
�W�H�����H��P��H�\$0H�� _����H�\$H�t$WH�� H�H��H�IH�0H�	H���(�H�KH�	�ĹH�CH��b���H�C�tH�CH�H�H�H�@ �[H�CH�H��u=H����~3�H���~H��u�7�/���:H�CH��H@�p H�8H�x�H�CH��H��p H�H�H�`3�H�\$0H�t$8H�� _�L�L$ D�D$H�T$UH��H��`H�M�H��tcA������uZA��DtTA������uI�A�H=���w?H�E(H�M�H�E�L�M�H�E�H�M�H�E�L�E�H�E H�E�H�U�H�EH�MH�E��_������������H��`]�H�\$WH�� �BH�ڋ������H���S�Lc�L�
U�,L��/I��A�H��vI��I��H����?I��H��L���M��A�z9u&A�@��vH��H����?I��H��L��A�A=t���3����H�\$0H�� _��t�C�K�u����u�H�CH��uH�����H�CH�H;�u
�{u�H�AH��CH�H���H�$t@89tH�AH��@�9�C�c��K@���z�����H�\$H�T$WH�� H�ڋ�H��u�^������H�\$0H�� _�H���Q��H�Ӌ������H���H������D$SH�� ��H�L$@H�T$0�`��ȅ��I����t#��t%f�D$2t)�����x%�5f�D$2u��D$0�#�j3%�L$0/��D$@v�X�f�Ș(�W��X
_�\_�*�(��^�(��Y�(��Y
3%�X
3%�Y��X
3%�Y�(��\��Y��u(��Y-�2%�Y�2%�\��\��j(�~?�Y
�2%(��Y�2%�Y%�2%�Y-�2%�\�(��Y�2%�\�(��X��&�Y%�2%(��YX2%�Y
�2%�\�(��X��X�(����N���w%W��H�� [�̃��h����������������D$H��X���D$h�T$h��#�;�u_���t��H��X�8���yH�L$`H�
�1%A�W�D�L$@A����D$8�L$0�D$(!A�Q�D$ 螨�&������������u��QL$`�L$p�D$pH��X���D$H��(�H�L$0�;���Ƀ�v73�H�L$0�%�f��t&�D$0��f�D$2t
�X����X]��D$0H��(����������������H��8�=��/�_f~���;1%��Z�f(/1%�Y�f/1%��f/1%�����L�$v%���f(1%fY�f~�H�?#�f\�f(�+��f(�0%fY�fY�fX�0%fY�fX�H���H��4�A�fY�fX�fHn�fY��Z�H��8�fffffff�W�fn�D��0%�m��;fff�(
)0%fn�D��0%�I���W�H��8��H��8�fff�f~�;�/%t�;N0%t�J0%fn�D�G0%����@�~���;�/%���Z��Y�/%�/�/%���.�/%rx���L��t%�������/%�~�H�?#��(�+���(�/%�Y�����/%���H���H��4�{�������n��Y��Z�H��8����W��n�D��/%�,��$ff��(
�.%�n�D�a/%���H��8��W��fff��~�;�.%�����;/%�����/%�n�D�/%������3�L�
/%I��D�@;
t+��IЃ�-r�A�w�
Á�D������AF��A�D�����H�\$WH�� ���/jH��u	H���,�H��$�8�jH�o�,H��tH�X ���w����H�\$0H�� _���H��(��iH��u	H�?�,�H��$H��(�H��(��iH��u	H��,�H�� H��(��v����{����H��H�XH�hH�pH�x AUAVAWH��@H�:A��E��H��u���������E��t	A�@���"w�H��H�L$ ���L�;3�A�?D�nI�G�	H��8H��L�D$(H�A�Ջ��&	��u�@�ŋ��@��-E�Gը�uH�@�8H��H�A��A�������G�<	w	@�ǃ���#�G�<w	@�ǃ����G�<w	@�ǃ���A�Ņ�t�
�QH��H�HH��B���t/E���AE�H��H�D���t/8t+��������@�9H�AH��E��AE�D��3�A��A��D���OЀ�	w	@�σ���#�G�<w	@�σ����G�<w	@�σ���A��A;�t2A;�s-A;�r
u;�v��A���H�@�8H��H���H�H��H�@��t@88t�������@��u,�|$8L�;tH�D$ ����H�KH��tH�H�3����A������A��@��u��tK@��t@A;�v@���|����"��u8A���|$8tH�L$ ����H�CH��tH�H����_A;�w�@��t���˅�t'�|$8tH�L$ ����H�SH��tH�H�
A���%�|$8tH�L$ ����H�SH��tH�H�
A��H�\$`H�l$hH�t$pH�|$xH��@A_A^A]����H�\$H�l$VWATAVAWH��@E3�A��E��H��L9"u��������}E��t	A�@���"w�H��H�L$ ���L�?A��L�|$xA�I�G�
H��H���H����f���u�@�ƹ�����f��-E�C�f��u
H��H��H���	A�����`A�0A��D�H�A�����afA;���f��:s��A+��f;���f;����jf;�s
��+��{fA;��v��f;�s��A+��\fA;��W�p	f;�s��A+��=f;��9��	f;�s
��-�	��f
f;���A
f;�s
��+����
f;����A
f;�r�Hvf;����A
f;�r̹ff;����A
f;�r��Hvf;����A
f;�r��Hvf;����A
f;�r��Pf;����A
f;��t����Hvf;�rx�A
f;��`����HFf;�rd�A
f;��L����@f;�rN�A
f;��6�����f;�r8�A
f;�� ����ùf+�f��	w�
�����f;�����������u$�ˍA��Q���v
��vA������A�G���Ʌ�t�
�gH�A���H�HH��B�fA��t<E���AE�H���H�D��f��t:f9t5�����Ծ��A��A�0��H�AH��E��AE�D��3�A��A��A��A�`D��D��fA;���f��:s��A+��fA;��sfA;����jf;�s��A+��i��f;��`�H
f;�s
��+��I�f	f;��@�H
f;�r�Avf;��,�H
f;�r̍Avf;���H
f;�r��Avf;���H
f;�r��Avf;����H
f;�r��ff;����H
f;��v����Avf;����H
f;��^����Avf;����H
f;��F����Pf;����H
f;��,����Avf;�r|�H
f;������AFf;�rh�H
f;������@f;�rR�H
f;������f;�r<�H
f;������ÍQ&f+�f��	w!��+����f;�s��A+�������u$�ӍB����B�v
��vA������J�Gʃ�7A;�t7A;�s2A;�ruA;�v��A���H��H��H�����H�E3�L�|$xH���H�f��tf9t�6�����W���@��u,L�?D8d$8tH�D$ ����H�OH��tH�H�3����A������A��@��u��tK@��t@A;�v@�������"��u8��D8d$8tH�L$ ����H�WH��tH�H�
���_A;�w�@��t���˅�t'D8d$8tH�L$ ����H�WH��tH�H�
A���%D8d$8tH�L$ ����H�WH��tH�H�
A��L�\$@I�[0I�k@I��A_A^A\_^�H�\$H�l$H�t$WH�� Hc�3ۋ�oM��t)I���wH��x#��(�x~	���n��3���	��w�x#ދ�H�\$0H�l$8H�t$@H�� _���H��8H�L$ H�T$(H��tH�
A�H�T$ 3����H��8���������������������ff�H+��t�:
uOH����tE��u�I���������I���������g�
%�=�w�H�H;
u�N�H��H��I#�I��t�3��H�H����H��H�XH�hH�pH�x AVH��03�A��H��H��H��u"8Z(tH�J�j�_(H�_H�_H�_ �8uUH9ZuF8Z(tH�J�j�_(��jH�GH��H���҃��������G(H�O��t���H�Gf��A���\$(L��H�\$ ��A�Q
���Lc�u�������� ��}H�OL;�vC8_(tH�O�i�_(K�6�1jH�GH��H���҃�ID΅����G(H�O���l���H�GA���L$(L�Ƌ�H�D$ A�Q
�M�Hcȅ��t���H��H�O H�l$H��H�\$@H�t$PH�|$XH��0A^���H�\$UH��H��pH��H��u
�^��H�e�H�M�H�e�3�H�e�H�e�H�e��E��]��H�E�A��D9@u�}�tBH�E������5�ݛ��u8E�tH�E�����A���}�tH�E�����E3�H�U�H��������t���H�M����؀}�t	H�M��h��H��$�H��p]���H��(H��t
H��H�I��Z���H��(��H�\$WH�� 3�H��tPH�B�H��uG�CH;�HG�H�x�H�AH�H;�v
�K���0H���[�H��t#H�_H��H�H#�H�C������?���H��H�\$0H�� _���D$H�D$H��0%������������������D$H��(H�L$0�$�H��(���������D$�D$��%���H�t$H�|$ UH��H��pA����A;��H�M����H�E�s*�}�H��@��D���H�E������E�x~)��H�U�@������t@�u�@�}�E����*@�}�EH�U�L�M3��D$@f�E A��E"�BH��8�D$8H�E �D$0H�D$(�L$ H�M��v���uD���D�E ��t�E!A��D��}�tH�M���L�\$pA��I�sI�{(I��]���H��(�=�/t3��������A���w�� ��H��(�������@SH�� 3�H��/E3�H��H�ʺ��Л��t��/�Ã�rӰ�	3��02�H�� [�Hc�H��H���/H��H�%����������������@SH�� ���/�H�k�/��H��H�����
��/��u߰H�� [��Hc�H��H�:�/H��H�%�����H��(话H�
��/H��(H�%���H�
��/H�%����H�\$L�L$ WH�� I��I���
�<����H���H������H��H�\$0H�� _����H�\$H�t$ UWAUAVAWH��H��@H�A3�H��H�0H�D�0H��uA���L�L���L��H�D$ ���E3�H�M8�D������"�H�M8��d3�H��H��u �d3�L�\$@I�[@I�sHI��A_A^A]_]�L�E8L��H�L$ �H�������t������"��H���H��A��觀H��L��� dM��t��rVL��M��E3�3�H���H�M�H���H�E�H�e0H�M�H�M0H�D$(H�d$ �����t���K��"�B�<���H�M0H����cH��H���#���L�E0L�xH�E�M��H�D$(I��H�L$ �3�����t������"��H������H�H�]�HcH��H�T0H��t0������u$H�HcH��H�L0�*cH�HcH��H�d0A���uM�A�,uDH�HcH��H�T0H��t0������u$H�HcH��H�L0��bH�HcH��H�d0�KI�ljH�HcH��H�t0H�HcH��H��L�<����H�d$ E3�E3�3�3������H�d$ E3�E3�3�3�������H�T$�L$UH��H��@薚H�EH�E�L�M(H�EH�E�L�E�H�U�H�M �E(�E�����H��@]�H��(�oTH�T$0H���H�L$0H����eH�D$0H�H��(��H�\$WH��@3�Hc�9g�/t/3�H�L$ ���L�D$(�ύS���8\$8t(H�L$ ������G=wH�
�,�x����H�\$PH��@_��H�\$WH��@3�Hc�9��/t/3�H�L$ 艼��L�D$(�ύS�6���8\$8t(H�L$ ������G=wH���,�x����H�\$PH��@_��H�\$H�l$H�t$WH��03�H��H��t8H��H��f9,Yu�H��H���H��H��tL��H��H���3��uH���3�H�\$@H�l$HH�t$PH��0_�E3�H�l$ E3�3�3��������H��(��RH�T$0H���H�L$0H���FdH�D$0�@H��(��H��(�RH�T$0H���H�L$0H���dH�D$0H(H��(���H��(�RH�T$0H���H�L$0H����cH�D$0�@H��(������L��I�[I�kI�s WATAUAVAWH��H�b�,H3�H��$�L��83�I�K�H��I�[�D��D���D��M����L�yH�\$X�sA9u3�L�|$ A�I�K������+�H����^3�H�D$X�W_�������^3�L���<_H�֋��^3�L���(_H�֋��^3�H���_H�ֹ�^3�L���^H9\$X��M����M����M����H����I�̋ÈH��=|�A�H��$�������]��$��O��$��D$P;�v[A�?�uI��$�A��� ����;H��$�8�$�t*8Yt%��A;�wHc��B�  �A;�~�H��8u�A�I���H��8M�L$�\$@�D$8���D$0H�L$(3ɉD$ D�@������A�H���H��8M�L$�\$@A��D$8���D$0H�L$(3ɉD$ �q����\A�I���\$0A��D$(M��H�L$`��H�L$ 3������&I���f�A�^�]A������H�D$h9t$P��A�?�uMM��L��L+�M����A����>���A�˃�2fG�fA�
M�RC�A��LƁ��~��TH��$�8�$�tCA��8Zt8�
�B;�w%Hc�fE��EB��0���(���B;�~�H��8u�I��IH���AEH�ApAMA�I�AE AM0A�I�AE@AMPA�I�AE`I��AM�IAEA AMI0AE A@AM0IPAE@A`AMPAE`I�Ep�AxA�Ex�A|fA�E|A��xA�A�AA� ANA�0AF A�@AN0A�PAF@A�`ANP�A�pAF`�ANpA�FxA��|fA�F|A��~A�F~���x�E� M�0E �@M0�PE@�`MP��pE`�Mp�Ex��|f�E|��~�E~H��H��tJ����;�u?H��H���ZH��H����ZH��H����ZH���ZH�D$X�0H��H�D$`H�H�D$hH��I���H��H���H���D$P�G�$H�L$X�;ZI���3ZI���+ZH���#Z��I���Z���MH��H��t�H��%H��H��H�A%H��H��H��%H��3��qH��$�H3��p���L��$�I�[8I�k@I�sHI��A_A^A]A\_����H��(��H��t
�����͈,t*�����t��)A��@A�H�i�����S4���H�\$H�t$WH��0A��H��H��H��u"�"���C���3�H�\$HH�t$PH��0_�H��tـ:tԀ9u
������H�L$@�ϕL�L$@M��u
�����H�d$ D��H��H���L�H��H�D$ H��u
H�L$@��H�L$@���H���v�������?������H�T$SUVWATAVAWH�� D�L��H��E�����:����A�ʍG�����D�b3�A��u&�YL�D$DH���.E3ɉl$@������E��u6�YL�D$D�)E3�H���l$@���3ҋ�A��҉V@�ʼn.�jA�����H��L��E;�t(I��B�D�3�I�� E�I�H�� H��L��H�E;�u�E3ɉl$@L�D$D�.��H�N�*I��D�vH�� H�DžɉN@��ʼn.�A;���E��Ic�D+�E��Ic�H;�|IH��H��M��L+�L+�H���A9uA��H��H��H;�}��A��A+�Hc�Ic��L�A9L�sA��E�����G�� E�L��G�A�l�A����$`tA�D+��D��A+�D��$p�\$ E��t7A���Ջ���A����D����Dȉ�$`��v�G���A�D���艬$`3�E�p�D��E������A�����A��L��$E�,>H�\$8H�D$0E;�wB�T����A�E���$x�L�A�E�D�\�H�L$(�T$,��$p��t4H�L$0E��H�D$(I���H��L�A��A��r�L$ A�E��D���D��L�D$(3�I��H��D��L��I;�vH�����I�M��H��L�M;�w*��$`��I��I��H�� I�H;�vI��H+�L�M;�v�M����L��D�݅�tNH��$hH���H�[I��L�C�3E�‹�I�� �D�I��I��A;�LC�A+�A�ÉD�D;�r�H�\$8��$xI;�sBD�Յ�t8L��$hL��I��C�2A�‹L�H��A�M�[L�L�D�BI�� D;�r�I��E�U�I�� A��A��L�A���j���L��$A�R��;sfD�����l�;r���t��9l�u���u�I���3�H�� A_A^A\_^][����H�\$H�t$WH�� I��I��H��M��u3��VH��u�)�����I������<H��tH;�r
L��H���d����L��3��h�H��t�H;�s�����"뾸H�\$0H�t$8H�� _��������������H���f�$�f�$��=�/�ff��D$ �L$0H�T$ L�D$0L��%M#��JL;�%��L�
�%L#�H��%H�D$PL;
�%��H;�%��H;�%��L�
y%L#�L;
o%�	L�b%M#�L;8%�L�K%M#�L;)%�k	M3�fo�fs�4fI~�f�R%fo����f�2%f/5 %���M��L#�%L#
�%�\=g%I��M�L��$�fT= %��$�I��,f�L%f�
D%L�
�%H�(%f/=�%���\����CY����BY$����X�����L�
yQ%�Q%�
%�Y��Y��Y��\����X%�X
�%�Y��Y��Y��X�%�X��Y��X��X��-i%H�"Y%�Y��C��\��B��X����\��=*%�Y��X����X���fTn%H�D$0H#b%�X��\��\��X��\�H�D$p�d$0�X��X��T$p�\��������Y��Y��Y��Y����X��X��X����\��X��=!/%�D$@�Y�H�T$@f/=�.%�f/=�.%�����L�;`%L�4b%�����.%�Y�f~�H�?#��\��Y
�.%��+���X��X����/%��.%�%�.%�Y��Y��Y��Y����Y��X%�X�.%�Y��X%�.%�Y��Y��Y�E3��X��X�;
�-%DN�H���H��4�A,��A��Y��Y��AX,��X��AX���H;
%t=H�L$@E��uS�YD$@fVD$Pfo�$�fo�$�H����fffff�f/X%��fVJ-%fVD$P�f�A��E3�f/2%DC�D;-%u�YD$@fVD$P��M3�I�H;/-%-��2IH�I��I��H�L$@�YD$@fVD$P�W���,%fVD$P�=fffff�L��,%L\$P��fffffff�L�	%L\$P��fffffff�f�h%�\`%��f��%fI~�fs�4f�-�%�����f�L��%M#�L;%�IL��%M#�M��H�
�%I��L+�%��H��%H#�H�D$`I��L;�%.L�
�%I��M#���L�
�%I��M#�tH�!%H�D$PH;�%�H;p%�"L�
%L#�L;
%���D$`������\����C��BX��Y�fT%|%���Y��\��Y����X�����L�
�L%��%�
e%�Y��Y��Y����Xm%�X
5%�Y��Y��Y��XA%�Y��Y��Y������Y��Y�%�Y��X��X������Y��Y�%���X��\��X��X��%e%�X��Y�H�T%�X��BX$��\������\��C��=%�Y��X�����H3�M��L�
�%L�%M#�L;
�%ID�L�
�%L#�t
L#
�%���y���H3�L��L�
s%L�%L#�L;
b%HD�L�
�%L#�t
L#
�%��
��%�1����H3�L��L�
#%Ll%L#�L;
%HD�L�
7%L#��fHn����@H�%HT$PH3�M��L��%L %M#�L;�%ID�L��%L#��"fHn�����L�
�%L#�L;
�%�9H;�%�|�D$ �L$0��%D�
%%�<��P����L�
I%L#�L;
?%��L�
Z%L#�t-H;~%�0���L��L#
>%L;
'%�Y�t@L��%H3�M#�L;�%tZL��%M#�HE�%ufHn�fVD$P���fD�D$ �L$0fHn�fVT$PD�
V%�}�����M��L;�%HD�%t�L�%L��%M#���fHn��T���fff�M3�L�6%M#�LDK%H��L�
a%Hz%L#�LE��=H3�M��L�%L
Y%M#�L;�%ID�L�$%L#�ME��WfIn�fVD$P�������%�X����fffffff�M3�L��%M#�LE�%�)f�M3�L�v%M#�LD�%fff�H3�M��L�c%L
�%M#�L;R%ID�L�w%L#�ME���H��uEDD�
�%L�J%DE
�%�D$ �L$0fIn�������fffffff�fIn�����fDH3�L��%M#�L;�%ID�L��%L#�u\�D$ �L$0fIn�D�
\%�����ff��D$ �L$0fIn�D�
4%�S��g���ffffff�M��L;�%MD�t'L;
�%MD�M��L#+%ME�M��L#%ME�Lr%�D$ �L$0fIn�D�
�%���������D$ �L$0D�
�%��������D$ �L$0H�T$ L�D$0L��%M#��yL;�%��L�
�%L#�L;
�%H��%H�D$P�IH;�%��H;�%��L�
h%L#�L;
^%�hL�Q%M#�L;'%�1L�:%M#�L;%����s�4��~���H%�����,%�/5%�~M��L#�%L#
�%I��M���n�I��,���f%���
^%L�
%H� %��\�ā[Y��(�ġ[Y$��(���X��(��(�L�
�E%��\��
�%�Y���X����
h%���
O%���
6%���
%���
%����-�%H�`M%��ɫ�ā{�ġSX��(���\���ɹn%�(��X��(��T�%H�D$0H#�%��X���\���\���X���\�H�D$p�d$0��X���X��T$p��\���Y���Y���Y��Y��(���X���X���X��(���\���X��D$@�Y=s#%H�T$@�/=F#%���/=H#%�����L��T%L��V%������C#%�~�H�?#���Y
>#%�(�+����X���X��(��1#%E3����5#%;
"%���6#%DN����9#%H������9#%H��4���\%�Y��{Y,��{Y�H;
�%�SX,���X��sX��(�t?E��H�L$@uU�YD$@�VD$P�o�$��o�$�H����fffffff��/�%���V�!%�VD$P�f�A��E3��/�%DC�D;�!%u�YD$@�VD$P��M3�H;�!%I�-��2IH�I��I��H�L$@�YD$@�VD$P�7��x!%�VD$P�fffff�L�I!%L\$P��fffffff�L��%L\$P�fffffff�����%��\�%�(�����%��~���s�4��-r%���K���f�L�9%M#�L;%�L�J%M#�M��H�
}%I��L+{%��H�&%H#�H�D$`L;o%I��.L�
k%I��M#��wL�
`%I��M#�tH��
%H�D$PH;%��H;%��L�
�
%L#�L;
�
%���D$`�V���H3�M��L�
s
%L�
%M#�L;
b
%ID�L�
�
%L#�t
L#
�
%����H3�L��L�
3
%L|
%L#�L;
"
%HD�L�
G
%L#�t
L#
[
%�u�}%�_����H3�L��L�
�%L,
%L#�L;
�%HD�L�
�%L#��.��n�����@H��%HT$PH3�M��L��%L�%M#�L;�%ID�L��%L#��2��n������L�
Y%L#�L;
O%�YH;�%�|�D$ �L$0�h%D�
�%��~����L�
	%L#�L;
�%�	L�
%L#�t-H;>%�0���L��L#
�%L;
�%�i�@L��%H3�M#�L;�%tZL��%M#�HE�%u��n��VD$P���fD�D$ �L$0��n���VT$PD�
%�=�����M��L;N%t4L;M%t;L�%L�]%M#�����n����ff��%�j����W��^����M3�L��
%M#�LD�
%H��L�
%H%L#�LE��-H3�M��L��
%L
�
%M#�L;�
%ID�L��
%L#�ME��G��n��VD$P�������X�
%����M3�L�F
%M#�LE[
%�)f�M3�L�&
%M#�LD;
%fff�H3�M��L�
%L
\
%M#�L;
%ID�L�'
%L#�ME���H��uEDD�
�	%L��	%DE
�	%�D$ �L$0��n�蔽����fffffff���n����fDH3�L��	%M#�L;|	%ID�L��	%L#�u\�D$ �L$0��n�D�
	%�/����ff��D$ �L$0��n�D�
�%�����ffffff�M��L;>	%MD�t'L;
1	%MD�M��L#�%ME�M��L#�%ME�L"	%�D$ �L$0��n�D�
z%蕼�����(��D$ �L$0D�
e%�t�������������������H��hft$ f|$0�=uv/�Ifb�f��f~�f~�D������=���=�?�r�����Z�A���?�Ffp��f�I%fH~�H��,�������H��,fHn�f�%fp��fs�4f�%���H�
P%�\��Y�f(��%6%�Y��Y��X%�%�Y��X��Y%H�
�%�X��\��Y�f.
%�f.%��f(�fYf%�������Y�%f~��\�f(���%�Y��Y��XB%�Y��X�H�?#�H�
�8%�Y��X�fr�fs�4f���Z�V�fo|$0fot$ H��h�ff�A��O����%�=K:�\$@�T$@�ʀ�T$P�T$P�-��*��T$@.��G��s�-G%fp���\*%fH~�H��?H;%�A���f(=/%f(�f(��X
%�^�f(��Y��X�f(��Y�fp�DfY��Y�fX%%�Y��Y�f�fY�fp���X��\��X��j���ffff�D��f~ʸA�����L�DL�Oй�A���A��KO�C�\$@D�D$@A�ȀD�D$P�T$P�D-��A*��T$@.�E�uA��C�s	A�Ɂ���fn�A��tD�
�%fo��U�fo|$0fot$ H��h�@���Gf~�f~ʁ��t����t�ff����W�rf�D�������L�Oѹ�A���A��KO�8�\$@D�D$@A�ȀD�D$P�T$P�D-��A*��T$@.�E�uA��C��fn�fo|$0fot$ H��h�����������?��f~���r���?������A������EЁ��?AB�fn���tfo�D�
Z%��fo|$0fot$ H��hÁ����A���?���f���tkf~ʁ��?�y���fA~�A���A���wfo|$0fot$ H��h�f~�@fn�D�
�%�{�fo|$0fot$ H��h�ff����vh���s`�с�@fn�D�
�%�8�fo|$0fot$ H��h��=�s)��?fn�D�
e%��fo|$0fot$ H��h���?fn�fo|$0fot$ H��h�fD��?fn�fo|$0fot$ H��h�fDf�fo|$0fot$ H��h�fff���fn�fo|$0fot$ H��h�fDf~���@fn�D�
�%�V�fo|$0fot$ H��h�Df~�
@fn�D�
�%�'�fo|$0fot$ H��h�fDA����t+f~���@fn�D�
R%��fo|$0fot$ H��h�f~�
@fn�D�
(%�öfo|$0fot$ H��h�f�f��V�D�
%蝶fo|$0fot$ H��h�ffff���fn�V�D�
�%�h�fo|$0fot$ H��h�����fn�D�
�%�;�fo|$0fot$ H��h���b������~��~�D��%������=���=�?�v����
�Z�A���?�I�p������%��~�H��,�������H��,��n�����%�p����s�4���%���H�
�H%��\���Y��(��%�%���%|%���%%��Y���Y�%H�
�%��X���\��Y��.�%��.�%���Y%�������~�����%�(���%��%���%�Y�H�?#�H�
�1%������ffffff���r���s�4�����Z��V��o|$0�ot$ H��h�f�A��S����%�=K>��\$@�T$@�ʀ�T$P��T$P�-���*���T$@�.��S��s�-�%�p����\�%��~�H��?H;�%�:����p�D�(������X
�%��^��(���Y���X��(���Y��p�D��Y%�%��Y���X%�%��Y���Y������Y��p����X���\��p����X�����f�D���~ʸA�����L�DL�Oй�A���A��KO�F��\$@D�D$@A�ȀD�D$P��T$P�z-��j*���T$@�.�E�uA��C�s	A�Ɂ����n�A�������D�
[%�o���o|$0�ot$ H��h�fffff����'�~��~ʁ��t����t�ff����7�Rf�D�������L�Oѹ�A���A��KO�;��\$@D�D$@A�ȀD�D$P��T$P�z-��j*���T$@�.�E�uA��C���n��o|$0�ot$ H��h�wn�������?�v�~���r���?���fff��A�����?AB��n��o|$0�ot$ H��h�fD�����A���?���o��ffffff���t[�~ʁ��?�u������w�o|$0�ot$ H��h��~�@�n�D�
�%�8�fo|$0fot$ H��h�����vh���s`�с�@�n�D�
U%��o|$0�ot$ H��h��=�s)��?�n�D�
%%��o|$0�ot$ H��h���?�n��o|$0�ot$ H��h�fD��?�n��o|$0�ot$ H��h�fD���o|$0�ot$ H��h�fff����n��o|$0�ot$ H��h�fD�X��o|$0�ot$ H��h�fff��~���@�n�D�
S%��o|$0�ot$ H��h�D�~�
@�n�D�
(%�ǯ�o|$0�ot$ H��h�fDA����t+�~���@�n�D�
�
%药�o|$0�ot$ H��h��~�
@�n�D�
�
%�c��o|$0�ot$ H��h�f�������V�D�
�
%�<��o|$0�ot$ H��h�fff����n���V�D�
|
%���o|$0�ot$ H��h�fD����n�D�
D
%�ۮ�o|$0�ot$ H��h���3�8tH;�t	H���<u�����H�\$H�l$H�t$WH��@3�A��H��H��H��u8Z(t�Z(H�ZH�ZH�Z �f9u0H9Zu"8Z(t�Z(����"��_(H�_���H�B���H�\$8A��H�\$0L�Ɖ\$(3ҋ�H�\$ 諯HcЅ�u�&����'���蒷����HH�OH;�v
8_(t��_(�H�GA��H�\$8L��H�\$03҉L$(��H�D$ �T�Hcȅ�t�H��H�O H�l$X��H�\$PH�t$`H��@_����@SH�� 3�H��t
H��tM��uf��
������-|����H�� [�L��L+�C�fA�M�If��tH��u�H��u�f��ζ���"���̋nY,L�Ƀ���L��� A��I+�I��M�L#�I��I;�LB�I�L;�t
�8tH��H;�u�H��I+�I;���L��H��M+�I���L�I;�t�����t	�����wu	H�� I;�u�I���9��H��H;�u���������H+�H��M�L#�I��I;�LB�K�
L;�t
�8tH��H;�u�H��I+�I;�u_L��H��M+�W�I���L�I;�tfo�ftf���u	H��I;�u�I���9t H��H;�u��H�L;�t
�9tH��H;�u�I+�H��ËX,L��L������A��t)H�QH��H;���3�f9
��H��H;�u����� H+�I��H��M�L#�I��M;�MB�3�K�XL;�tf9
t	H��H;�u�I+�H�I;��EM�PI��I+�H���H�I�@L;�t�����uu	�����wu	I�� L;�u�K�P�
fA9	t	I��L;�u�I��������A��t)H�QI��L;���3�f9
��H��H;�u�����H+�I��H��M�L#�I��M;�MB�3�K�XL;�tf9
t	H��H;�u�I+�H�I;�utI��M�PI+�W�H���H�I�@�fo�fAuf���u	I��L;�u�K�P�fA9	�7���I��L;�u��)���H�QI��L;�t3�f9
t	H��H;�u�I+�H�H�����H��(��H�@H��t���������H�
][/�@SH�� H���"H��tH��X���t��3�H�� [��@SH�� 3��?���H��U,�˃�?H3[/H��3����H��H�� [øcsm�;�t3�Ë���H�\$H�l$H�t$WH�� H���E3�H��H���>H�H��L���I;�t
98tH��I;�u�I��H���L�@M���I��u
L�HA�@��I��u����H�kH�s�x��H��0H����L�IH��H;�u�8���{tz�8��tk�8��t\�8��tM�8��t>�8��t/�8��t �8��t�8����u@���6���/���(���!���������������S�I������{��HL�HI�����H�k����3�H�\$0H�l$8H�t$@H�� _���H�\$L�L$ WH�� I��I���
�d����H��������H�\$0H�� _�@SH�� H�ـ=0Y/����Y/H����u4H��S,�ȃ�?H��X/H;�tH3�H��E3�3�3��H�
Z/���u
H�
&Z/��H��8uH�ѓH�
���
H�ΓH�
���n
H�C�8u��X/H�C�H�� [��������3���csm����H�\$D�D$�T$UH��H��P��E��uJ3�#�H��t=�MZf9u3HcH<Hȁ9PEu$�f9Au���v���t���H�E�E(H�E�L�M�H�E H�E�L�E�H�E(H�E�H�UظH�MЉEԉE��U����} tH�\$`H��P]Ë���@SH�� ���;���t(eH�%`�������u�݌H�ȋ�ڌ����������@SH�� H�d$8L�D$8��H��
%3�����tH�L$8H��
%��H��t��#�H�L$8H��t�3�H�� [��H�
�V/�3�3�D�B������E3�A�P�x�����V/��H��H�XH�hH�pH�x ATAVAWH�� L�|$`M��I��L��H��I�'I�H��tH�I��@2�?"u@��@�"@��H���7I�H��t��H���7H�Nj�舽��tI�H��t��H��H��@��t@��u�@�� t@��	u�H��t	�C��H��@2������< t<	uH�NJ����M��tI�I��I�$�3��H������\t�"u4��u@��tH�O�9"uH���	3�@��@�������H��t�\H��I���u���tF@��u< t=<	t9��t-H��t�H�Ê��蝼��tI�H��H��t��H��I�H���b���H��t�H��I�����M��tI�&I�$H�\$@H�l$HH�t$PH�|$XH�� A_A^A\��@SH�� H��������L��H;�s=3�H��I��L;�s/H��M��H��H��I;�vIɺ�V"3�H����"H���3�H�� [����H�\$UVWAVAWH��H��03�D����S�A���v菬���_��q�����5��H��T/A�H��3��~�H�5]/H��\/H��t@8>uH��H�EHH�}@L�M@H�D$ E3�H�}H3�H���E���L�}@A�H�UHI����H��H��u�����3ɉ��!�j���N��H��H�EHH��L�M@H�D$ ��A��u�E@��H�a\/�S\/3��iH�U8H�}8H��軮��tH�M8�!H��H�}8�!���?H�U8H��H��H9:tH�@H��H98u�
�[/3�H�}8H��[/�M!H��H�}8�A!H�\$`��H��0A_A^_^]���H�\$WH�� 3�H9=9T/t3��H膶�y�H��H��u���'H���4H��u���H�T/H��S/3��� H���� ��H�\$0H�� _�H�\$H�l$H�t$WAVAWH��0L��3���M��A��$��=H�AHD�H��H��H��A84u�I��L�A���u�H�����H��H��tlL��A���t_H��H��A84.u�H��<=t5�H���H��H��t%M��H��H���;
3Ʌ�uHI�?I���	 L��H���D3���H��3���H�\$PH��H�t$`H�l$XH��0A_A^_�E3�H�t$ E3�3��?o�����H��t;H�\$WH�� H�H��H���H���H�H�H��u�H���H�\$0H�� _����H��(H�	H;
�R/t���H��(���H��(H�	H;
zR/t���H��(���H��(H�
QR/���H�
MR/����H�
QR/�\���H�
=R/H��(�L����������H�\$L�L$ WH�� I��I���
���H���S����>�����H�\$0H�� _��H�\$L�L$ WH�� I��I���
贸���H�������������H�\$0H�� _��H�\$H�l$H�t$ WAVAWH�� H�3�L��H�H���hL��J,L�KI��H33M3�H�[A�ʃ�?I3�H��H��I��L;���H+޸H��H;�H��HG��E H�HD�H;�rD�EH��H���e�3�L����M��u(H�{A�H��H���A�3�L����M����L�CJ,M��I��I��H��I+�H��H��L;�HG�H��tI��I���H�L�J,A�@I�yA��A�ƒ�?+�I�GH�A��H��I3�I�H��I,�ʃ�?+���I�H��H3�H�H�1A��H��I,�ƒ�?+�I�H��H3�H�H�zH��I,�ƒ�?D+�I�A��H��H3�H�3�H�Y���H�\$HH�l$PH�t$XH�� A_A^_�H�\$H�l$H�t$WAVAWH�� H�H��H�H��u����L�/I,A��I��H3;��?H�[H��I3�H��H�G�H�����A��M���?L��H��H��H;�rUH�I;�t�I3�L�3H��Q�L��H,H�A�ȃ�?H�L�
H�BM3�I3�I��H��M;�uH;�t�M��I��H��H���H���tH���L��H,H�H�L�H�H�L�AH�H�L�A3�H�\$@H�l$HH�t$PH�� A_A^_���H��H�
�N/�e�L��I�KH��8I�CI�C�M�K�M�C�I�S �D$PI�K�D$X���H��8���H��u���H�AH9uH��G,H�H�AH�A3���H�T$H�L$UH��H��@H�EH�E�L�M(H�EH�E�L�E�H�U�H�M �E(�E��
���H��@]���������H�iJ,H��N/�����������������H��(H�

N/�X���H�
N/�L����H��(��������������H��(�c����H��(�@SH�� H�G,H���h��H����H���ǓH��苶H���_����H�� [����3�������������@SH�� H�
�T/������uH�
�T/H��L,H;�t�H��T/�H�� [�H��(H�
}M/�H�
yM/H�%iM/��H�
�T/H�%]M/��H�
yT/H�%iT/�H�%dT/�H��(��H�m%H�
f%�ݴ�H��(�g
H����H��(�H��(��H��(�H��(��tH�=I/t�]����H��(�H�%H�
%H��(�����H��(��H��(�H�\$H�l$H�t$WH�� 3�H��H+�H��H����H��H;�HG�H��tH�H��t��H��H��H;�u�H�\$0H�l$8H�t$@H�� _�H�\$WH�� H��H��H;�tH�H��t
�����uH��H;���3�H�\$0H�� _����H��8�~�fH~�H��?H;�%�q�=�Q/�4f(�f(����%���%T�f.�z!f.y%�c�~ffffff�f(�H��?H;�%���Y
Z%f�����f~�f(��Y
j%H�?#����Y^%�X��X�f(�%�Y�f(�%f(��Y��X�%�Y��X�%f(��Y��Y��Y��X�%�X��Y��XÁ����H��%L��(%L��&%�Y��AX��AX�~H��4fHn�f��H��8�ff�|
f.�%s؁�2H�H��fHn��Y���fDfH~�H;T%��H;O%��HJ%fHn��H��fHn�D��%�{�pf.�%vf(.%�\ffff�f��D�I%��z�>ffffff�f(��X
%�X�%H��8��f�H��8��H��8�fff���g%��f%��T��.�z�.L%���1���~�H��?H;�%���Y
9%��q��,����N%��YN%��X�H�?#����(~�$�����$�����$�����$�����$��Y��������H��%L��&%L��$%�Y��kX��sX�~H��4��n����H��8Ð|
�.�$s�2H�H����n��Y��vfDH����n�D��$�Uy�S�X
��$�Xx�$H��8�fff�����D���$� y�ffffff���ffff�H��8�����D$H��XH���D$hH�T$hH��H#�H;�ulH�������H��tH��H��X�#DH��yL�L$`H�
�$A�W�D�L$@I����D$8�L$0�D$(!A�Q�D$ �xA�.H��������H����H��?����u��QT$`�T$p�D$pH��X����H�\$WH�� E3�I��L��M��u,H��u,H��t襝������b��D��H�\$0A��H�� _�H��t�M��t�M��ufD���H��ufD��H+�H��M��I��I���u�f�H�Rf��t-I��u��%�f�H�Rf��tI��tH��u�H��ufD�M���z���I���ufF�TY�E�PP�e���fD����"�H���@SH�� 3�H��tH��tM��u��ʜ������a����H�� [�L��L+�C�A�I����tH��u�H��uو萜���"���H��8H�d$(H�T$ H�L$ A�3�A�
蜟��H��8����H��8H�d$(H�T$ H�L$ A�3�A�
�h���H��8����������ff�H+�M��tj��t�:
u]H��I��tR��tNH��u�I���������I����������
%�=�w�H�H;
u�H��I��vM�H��I#�I��t�3��H�H������M��u3���f��tf;uH��H��I��u���
+��H�\$L�L$ WH�� I��I���
�`����H�H�H�����訫��H�\$0H�� _��H�\$L�L$ WH�� I��I���
� ����H�3�H�	����j���H�\$0H�� _����H�\$L�L$ WH�� I��I���
����H�GH�H�H�H�	�j���"���H�\$0H�� _����H�\$L�L$ WH�� I��I���
蘪���H�H�H���H��t������uH�:C,H;�t�X�����H�\$0H�� _��@UH��H��PH�M�H�E�H�E�L�M �L�E��E �E(H�E�H�E�H�E�H�E���EЉE�H��C/H�E�Q(H�
��$H�E�H�H�
�B,H�E؉��H�E�H����JBH�E�H�U(f���H�E�f���H�MH�E�H����&���L�M�L�E�H�U�H�M���H��P]����������������H��tSH�� H���H���NH�� [�@UH��H��@H�E�H�M�H�E�H��$��E �E(H�E�H�E���E�E�H�H;�tH���H�M�H�Ip��H�M�H�IX��H�M�H�I`��H�M�H�Ih��H�M�H�IH�H�M�H�IP�H�M�H�Ix�H�M�H����H�M�H����L�M L�E�H�U(H�M����L�M�L�E�H�U�H�M�-���H��@]����H�\$WH�� H��H��H���H��t,��H���H;
�A/tH��=,H;�t�yu��H���H��tH���L�H�\$0H�� _��@SH�� �
D=,���t*�
BH��H��t�
,=,3��=BH���m���H���
H�� [����H�\$H�t$WH�� �u�
�<,�؃��t�AH��H��tH���us3�3��p�
�<,H����A��t������
�<,H��H��u3��A3��+
�H���A��u�
<,3��AH����H�����3��H�����sH��H�H#�tH�\$0H�t$8H�� _��=����@SH�� �
,<,���t��@H��H��tH���t}�m�
<,H���A��th�����
�;,H��H��u3���@3��l�;H����@��u�
�;,3���@H����H������3��=H��t	H��H�� [�薲����H�\$H�t$WH�� ��s�
u;,�؃��t�9@H��H��tH���us3�3��p�
O;,H���^@��t����S�
-;,H��H��u3��6@3���H���%@��u�
;,3��@H����H���C���3��H����rH�\$0H��H�H#�H�t$8H�� _�����H��(H�
����>��:,���u2������H��u	3����H��(��������H��(�
v:,���t��>�
e:,��H��(��̋��� t��2�t��'�t�����t�����#�ɋ���H��H�XUVWH�h�H���)p�H� 7,H3�H�EH�}��L���U�H�U��]�(�����u1!D$0H�U�e�H�E�H�D$(H�M�H�E�D��D��H�D$ �H�}���8������%���t%��t!�E�W�H�|$((֋��D$ ���>�������H����E�H�MH3�菧��L��$�I�[(A(s�I��_^]����H�\$UVWATAUAVAWH��0E3�)t$ ��M���H��D��E�n��tE��yA�N�������D��tI��	s
������D����I��
���N�I�Ĺ`H#�t`H= t?H=@tH;�ux�Ef/M�m�$w\�S�Ef/4w2�R�$�:�Ef/v#�9�$�(�Ef/v
��$���$W�7�E���A����I�����A����W�#�f.�z	u���H�T$p�i�L$p�������$������}�YƋ��H��$�E��f/�A��H��0f��fA�f��$������}F��$�����+ы�$�@��t��D��艄$�@��t����$���H+�u։�$���$�E��tW�6�E��tI������E��tI��s
� �����(t$ ��H�\$xA��A��H��0A_A^A]A\_^]��H��H�d$0H�D$xH�D$(H�D$pH�D$ �H��H��H��H�XH�pH�x H�HUH��H�� H��A��3ҿ
��QH�E�PH�E�PA��t
H�E����HA��t
H�E����HA��t
H�E����HA��t
H�E����HA��t
H�E����HH�MH�H������3A��1AH�MH�H��	����3A��1AH�MH�H��
����3A��1AH�MH�H�����3A��1A�H�MH����3A��1A�H�ШtH�M�I��tH�M�I��tH�E�H��tH�E�H�� tH�E�H��`H#�t>H= t&H=@tH;�u0H�E��'H�E� �H�E��H�E� �H�E��H�E� �H�E����� ��H�E	0H�EH�u8�H �}@t3H�E���!P H�E0�H�E�HH�E�H`H�E!P`H�E��HP�HH�MA����A A#����A H�E0H�H�EH�HH�E�H`H�U�B`A#����B`H�EH�H�PP�3�L�M��D�B�.jH�M�A�tH�3�A�tH�3	�A�tH�3
�A�tH�3�A�tH�3���t0��t��t��u(H�`�H�3
H�+�H�3H�+
�H�#�����}@t�AP��H�APH�H�\$8H�t$@H�|$HH�� ]����H��HH�D$x�D$0H�D$(H�D$pH�D$ ����H��H���H��(��t�A���w����"��Ս���!H��(����\$ �T$SH��PL�
��$��I��E3�9tA��H�
:�$H��H;�|�3��Ic�H�I�D�H��$����H�D$(H��t\�D$p�D$0�D$t�D$4�D$x�D$8�D$|�D$<��$��D$@��$��D$D�\$ �H�L$ �B���u�������D$@�����������$�H��P[�(��D$W�L��f.�z	u3��H�D$��L��I��0fD�����T$H�� ���u����E3ɹ���f/�A��A��u$�D$��D$��y���D$��D$t�T$�D$��f#�f�D$E��t
��f�f�D$�D$���D$H�D$H��0f#��D$��?f�f�D$�D$�D�L$�����L$���L$H�D$H��0f#º�?f�f�D$���D$A�
����D$H�D$H��H�� ���u
��u�Á��u
��u��A��H��H��0fA#�fA;�u��A��fA;�u����u��t��3��@SH�� 赡�؃�?�š��H�� [����H�\$H�t$ WH�� H��H��膡��D$8��с����#�#�ωL$0�=Y0,t%��@t �i��!�D0,�L$0���T��t$8����F���H�\$@H�t$HH�� _�@SH�� H������?Ë�H�� [���H��(���?H��(����@SH�� L��H��H��t3�H�B�H��I;�rCI�ظH��HD���
���t(H��������tH�
�:/L�ú��eH��t��
�����3�H�� [����H��t7SH�� L��3�H�
�:/��e��u���H��bg�������H�� [����@SH�� H��H���w<H�ɸHD���f���t%H���&����tH�
O:/L��3�4eH��t��
�x����3�H�� [���H�\$H�l$H�t$WH��P3�I��H��H��H���8M���/@8*uH���(f�)� I��H�L$0�8Z��H�D$8�x�u"L�
g2/L��H��H��蹟H�ȃ���H��H9�8u*H��t�f��@8l$HtH�D$0��������H�T$8�g��tRH�L$8D�IA��~/A;�|*�I��H��L�Ǻ	���D$(H�\$ �fH�L$8��uHcAH;�r>@8ot8�I냋�A�H��L�����D$(A�QH�D$8H�\$ �H�e���K����������*�=���H�-i1/3�H�\$`H�l$hH�t$pH��P_���E3��x���H�\$fD�L$ UVWH��H��`I��H��H��H��uM��tH��t!3��H��t�	�H�����v蔇�����L���H�U@H�M��X��H�E�H���u.�U8L�E(H�e(H���ΟH��t������=�����;H��8um�E8��f;�vFH��tH��t
L��3�H���z��������*��}�tH�M�����H��$�H��`_^]�H��tH��tw�H��tF��>�e(H�E(H�D$8L�E8H�d$0A��t$(3�H�|$ �~��t�}(u�H��t�3��d��z�g���H��tH��t
L��3�H���ʉ���U����"��uK���F���H��8H�d$ �U���H��8�@SH�� H��//H��H9t����?.,u茛H�H�� [����@SH�� H�o6/H��H9t����.,u褑H�H�� [����L��I�[I�kI�sWATAUAVAWH��p��$�E3�D�*H��L��H��$�I�K�A��I��I�I���V���GHc�H;�w�j���A�}"�8�J����I���H��H��4H#�H;�uv��$�L��L�l$@L�ƉD$8H��H��$�I��D�l$0�|$(H�D$ �����tD�+�p�eH���UH���W��$�������P�D�h�<�-H��y�H��I���$�L�{4��D��A�0A��H����I���������H��uD�I�I#�H��H����1I�w��uA���H�D$XH���H��A�M���E��I���~.I�A��I#�I#�H��fA�f��9vfˆ��H��I��fA���y�fE��xGI�A��I#�I#�H��f��v2H�N�D�A�@���uD�H����I;�tA��9u��:�A�P���A���~D��A��H�΋�����H�A�0E8/LE�A��A��PE�'M�OI�H��4%���H+�H��yH��H+�H�Ҹ+M���PH�A�GE�H���|0H��S㥛� M�AH��H��H��H��?H�A�A�Hi����H�M;�uH��d|/H�ףp=
ףH��H�H��H��H��?H�A�A�I��HkœH�M;�uH��
|,H�gfffffffH��H��H��H��?H�A�A�I��Hk�H�A�A�E�hA��D8l$htH�L$P����L�\$p��I�[0I�k8I�s@I��A_A^A]A\_����L��I�[I�kI�sWH��P��$�I��H��$�M�C�H�	H��D�UI�UL;�IB�I�C��*�3�L�L$@�|$@-D�EH����3�����H+�H+�H���HD�H�H�����t��=H��$�D��D��$�H��H�D$8H��H�D$@�D$0H�D$(��$��D$ �H�\$`H�l$hH�t$pH��P_��H��H�XH�hH�pH�x AWH��P3�Ic�E��E��H��H��OÃ�	H�H;�w.�@����"��`F����H�\$`H�l$hH�t$pH�|$xH��PA_�H��$�H�L$0�)R����$�H��$�t)3҃>-��Hׅ�~I��I��B�<u�I��H�J�*����>-H��u�-H�W��~�B�H��H�D$8H���H���
��$�L���$H�H��H�H+�H��H���H�/HD�������H�KE��t�EH�F�80tWD�FA��yA���C-A��d|���QA������SkœD�A��
|�gfffA������Sk�D�DC��$�u�90uH�QA��:���|$HtH�D$0����3����H�d$ E3�E3�3�3��'E�����H��H�XH�hH�pH�x AVH��@H�T$xH��H�H�M��A���P���|$pIcNt�A�;�u3�A�>-��H�f�D�0A�>-u�-H��H��A�~$L��I��B�<u�I��H�KH���~���0H���IcFH؅�~xH�kL��I��B�<u�I��H��H���N~��H�D$(H���H���A�F��y>�؀|$pu;�}��tH�ǀ</u�Hc�L�GH�H���~��Lcƺ0H�������|$8tH�D$ ����H�\$P3�H�l$XH�t$`H�|$hH��@A^��L��I�[I�kI�{AVH��PH�	3�I�C�I��I�C�M�C�H��$�H����$�I�C��<�D�t$DL�L$@D��$�3Ƀ|$@-H����A��H+�H���H�9HD�H������t���D$D�ȃ��|F;�$�}=D;�}�H�Ä�u��C�H��$�L�L$@D��$�H��H�D$(H���D$ ����BH��$�H��D��$�H��D��$�H�D$8H�D$@�D$0H�D$(��$��D$ ����H�\$`H�l$hH�|$pH��PA^���H�\$H�l$H�t$WH��`M��I��H��H��H��u�}�����&B�����H��t�M��t�L��$�M��tы�$���At
�A���vE2��A�H��$�����L���I��H��4H#�H;���H�������I���H#�u3��-H�M��y
H;�uH���I��H#�H��H�H��H��I��?I�@H;�s��eI��E��t�-H���I;�tH��A��L���$��ҋ�H�M��I��C�<u�3�I;���D�H��L�H��O���������3ҋ��vH��������A�,������tX��t���������t<H��$�L��H�D$@H�΋�$��T$8H��D�\$0�D$(L�L$ M��������$�L�D$PH�3�L�L$ ��M��H�D$PH�D$X�G�D�D$T3Ƀ|$P-H����I��H+�D�I;�L�L$PHD�H��3���t��H��$�L�L$PH�D$(D��H���D$ H���"����pH��$�L��H�D$@H�΋�$��T$8H��D�\$0�D$(L�L$ M���9����7H��$�L��H�D$@H�΋�$��T$8H��D�\$0�D$(L�L$ M����L�\$`I�[I�kI�s I��_�H�d$ E3�E3�3�3��?���H��(H��u�z����??������AH��(���H�
�,3�H��H9
`#/���H�\$WH�� H��������#�������`��H;�u	H�=-#/���_��H;�uzH�=#/�?/�C��uc�K�H�H��u9���3�H��a�H�H��uH�K�CH�KH��C ��H�CH�H��C�C ��2�H�\$0H�� _�̄�t4SH�� �BH���	�tH���.c���c����c H�cH�#H�� [����H�\$L�L$ WH�� I��I�؋
�̈���H�CH�H�H���H�	�vL�C H�CH�M��H�	�
H�KH�H����H�C H�H��t-L�G,L+��B�+�uH����u�t���!/H�H�CH�H���H�� �H�H�	��H�CH����u]�> ,uTH���H�
�!/��H��!/H���H�
�,H�H�
,�H�
�,�H�H�	蠌H�H�	蕊������H�\$0H�� _���H�\$H�t$L�L$ WH��0I���
莇���H�!/H�5�,H�\$ H�!/H;�tH93tH��H���F�H�H���֋讇��H�\$@H�t$HH��0_���L�L$ SH�� I��I����H�H�����H�� [����H�\$ WH��PH���X��l�H�3�H��H����H��tRH�L�L$hH�D$ L�D$ H�GH�T$pH�D$(H�L$`H�GH�D$0H�GH�D$8H�G H�D$@��D$h�D$p���H�\$xH��P_���H�\$H�t$WH��0H��I��H�IM��H��L��H��X�U�y����u*H�SL��H�L���c����uH�t$H�CH�\$@H��0_�H�d$ E3�E3�3�3��~;����H�\$H�t$WH��0H��H��tC�U�k���H��H��Us0H�E��H��H��tH�VL��L��H��������uH���3�H�\$@H�t$HH��0_�H�d$ E3�E3�3�3��:����̸��/�L��H��(�M�KM�C�D$8I�S�D$@I�K���H��(���H�\$H�l$H�t$WH��0I��H��H����3�ueH���f9(tL�

�$H�D$ D�EH��H���H��f9(tL�
��$H�D$ A�H��H����H�\$@H�l$HH�t$PH��0_�E3�H�l$ E3�3�3��:�����H�\$H�l$H�t$WAVAWH��0H��A��3�H����w��E3�fD9;u3��f�;.u1L�CfE98t'�H��D�J��p������fD����A���L�4CA�6��u0H��@��L�ȍW@L��H���/������f��.A��@���N��uH��@stf��_tnH����W?�"��u]H��sWf��tf��,uLH���L��L��������uMf��,�&���f������I�^��H�x�$H���|�H���E�����H�\$PH�l$XH�t$`H��0A_A^_�E3�L�|$ E3�3�3��8�����H��(H����H����H;����L��D�H~AJAHB A@ J0AH0B@A@@JPAHPB`A@`M�JpI�AH�H��u�AJAHB A@ J0AH0B@A@@H�BPI�@P�a�˄H��(���@USVWATAUAVAWH��$����H��hH��,H3�H��PH���E3�L���I��H�D$pM��H�T$xH��H�|$0H��L�t$hH��u%3�H��PH3�谅��H��hA_A^A]A\_^[]�f�9Cu,fD9yu%L���$H��H��衺��E3���E�.H����	��H�L�l$HA�UH�|$PH��H�D$XE��D�|$`H�H H�L$8L��XH�H$H�L$@L��*I��������=H��L��3�I��fB9<{u�I���sLL��I��M+��B�+�uH����u����H�D$@L��L+��B�+�uH����u�������H�M�H��@���D�����uy��L�E�H�|$8H�M�H��t�7������tZL�E���I���g���H���3�H��f9qu�H�T$0L���A�I��M�6���E3��bI���H�|$8H���nE3�t[E�MD�l$0L�D$0� H�����t�D$0��u����L�É��I�I��L���;������L��H���bH��H�M���
����H������������f����L����ȍA����Q Gу�uuD����B����J Gʃ�tu,����B����J Gʃ�fuf���8u
fE����f���-ufA��8u
fD9��teM��E��u(H�L$X�UL�L$PH��XL�D$H�N������I�����A�D�l$0L�D$0� H������t�D$0��u����L�É��I�I��L����������H���H��fD9,pu�A�H���M�6H�L$H����D�t$`fD9+t$I���sH�L$@L��L�ú������uQ�H�D$@fD�(�E3�H�D$8M��H�L$hH�T$p��H�L$x�����u���E3�E3�L�l$ E3�3�3��3���E3�L�l$ E3�3�3��r3����E��~ID�D$L�L$ SUVWH��8H�|$x3�H��H��H��H�H��L�H���F���u��;\$p|�H��8_^][�H�d$ E3�E3�3�3��3������H�T$�L$UH��H��`H�e�H�e���v�gm����2��3��g���H�E(��ɂH�E(L�M�L�E�H�U H�M ���H�E(H�E�H�E�H�E�H�E(H�E�H�E�H�E�H�EH�E�H�EH�E����H�E�H��`]����H�\$H�l$H�t$WATAUAVAWH��0H�ٿ�����E3�H��H��uH�\$`H�l$hH�t$pH��0A_A^A]A\_�L�pA�QfE�&L�{H�8A�I�A��L�
S�$I��H�D$(H�H�$H�D$ �^���H�-3�$L�,�$I��I���ŧ���M�W I�I��H+�D��D+�uH����u�E��L�T$(A��A�D�I�Ջ�H��H���$I��I�� H�D$ L�M���H��$H;��{�����uSH�K8��H��t�����u	H�K8��H�S0H��t����
�u	H�K0��L�c0I��L�c H�s8L�s(���H���_�H�K8��H��t�����u	H�K8�@�H�K0H��t�����u	H�K0�$�H�ChL�c0L�c L�c8L�c(�d���E3�L�d$ E3�3�3��{0�����H�\$ UVWATAUAVAWH��H�f
,H3�H��$E3�I��H����t H��t
�X�iHc�H��H�D(�X�A��H���BfA�8L�kfA�xC�_fA�x_�SH�K�$H��诧L��H���4H��H+�H��%f�8;�A�L�=�$I�L��H�������uI�H��H��fD9,Au�H;�tA��H�G�$I��L;�~�I��H���$I����H��H��ufA�>;��A��JL��H�L$@M�ƺ��������2H�H=�L�D$@fD�l@A��H���#H��t��I�^�fA;�t�HH�XHD�f���������H���f���H��$H3���|��H��$hH��A_A^A]A\_^]�3���H�D$0A��H�D$(L��$PH�T$@H�D$ UH���}���H��t�A��L�w(��t@I�H�D$@H+��D�A+�u	H��E��u��tL�D$@��H���IH��uA������I�� ��~����8����+���I���3���谉���E3�L�l$ E3�3�3���-�����H�\$ UVWATAUAVAWH��$���H��0H��
,H3�H�� I��Lc�H���z��L��L�MpH�D$@A��H�D$(H�T$`H��H�D$ U���E3�H���6I��H�L$`H��H�D;(L��L+��F�	A+�u	H��E��u���H�D$`H��H��fD9pu�H�u����L��H����H�L;(L�D$`H�L$HH�VJ���(H�L$P�O�L$DH�H�0���3����+f�|$`CI�EH�D;(uf9t$bu���	H�Mp�-�J���(A�����D$@D�ƉGH��I���A����9Gt!I����A��I����H��H��H��|��E��tIc�I����I���I����A�����GE�Hz�D$0L���$�D$(A�Q�H�� 3�H�D$ ��S�΅�t:H�� ����f!H�@��r�H��,H�� A���d��������A����GA���A����G�A��u	�D$@�G�
A��u�D$@�GH���$H��K�dH���E��t_H�D$HH�D;(J���(����H�D$PI��J���(����D$D�G3�H�� H3��Vy��H��$�H��0A_A^A]A\_^]�H�
\,H9L$Ht?H�D;8������u.H�L;8�Z��H�L;0�P��J���(�C��H�t;(J���(A�EH�D;(L�l;8�r���E3�H�t$ E3�3�3��*�����H�\$UVWATAUAVAWH�l$�H��H�u,H3�H�EL��A��3�H���Ch��E3�L�e�A��E��A�uH���~A��tH���$I��诡�H��H��fE9,Fu�M�t$�H�M�4FI�$A�E�|$I����-t+�t
��1t
D���A��E��I��D;�u�H+���H+���H+�tNH;���H�U�H���[����H�U�H��������H�U�H�������H�U��H�U�H�������H�U�H�����t H�U�H���~��uiH�U�H�����uYH�U�H���^��tFH�U��4H�U�H�����t0H�U�H���D��u#H�U�H���(��uH�U�H���D��uA��@���H�U�H���t�2�H�MH3���v��H��$�H�ĐA_A^A]A\_^]��H��8�zt2�H��8�L�JH��L�������u���H�d$ E3�E3�3�3��F(����H�\$WH��0�zH��H��uPH�RH�B�H��wBH����t6L�K�@L�H�������u+L�KH�� L��PU�����u��2�H�\$@H��0_�H�d$ E3�E3�3�3��'������H��H�XH�hH�pH�x AVH��0�zH��H�����H9SuH��`��u?H�{��L�33�A�4~�u����f;�w���H���3���taH��H��r�L�KH���L��@������uY�pUH�� ��H��D�HL��+$莝��u6L�K��L�H���y���u!��2�H�\$@H�l$HH�t$PH�|$XH��0A^�H�d$ E3�E3�3�3��&�����H�\$WH��0�zH��H��uV�H9SuKH��g��t?A�L�R+$H�� A�QT����u+L�K�PUL�H�� �؜��u��2�H�\$@H��0_�H�d$ E3�E3�3�3��&����H�\$H�t$H�|$AVH�� 3�H��L��H��t4A�4^�Pt��H�и�f;�w���B���3Ʌ�t H��H;�r̰H�\$0H�t$8H�|$@H�� A^�2�����H��H�XH�hH�pH�x AVH��H�H��~=E3�fD9t$b��H�D$hH����HcH�p� H�98L8��躲;=h
/O=a
/��t`A��H�;�tGH�;�tA�t<�u
H���:��t*H��L�-	/H��H����?I��H��H�H�D�(��D�8H��H��H��H��u�L��$�I�[I�kI�s I�{(I��A^����H��H�XH�hH�pH�x AVH�� 3�E3�Hc�H�=�/H����?H��H��H�<�H�D�(H��H��v
�L�8���D�8��΅�t��t
������������������9H��H�HH��vH���9�3���t ��H�l�(��u�L�8@�1��u,�L�8�%�L�8@H�D�(����H�
/H��tI��@������I�����-���H�\$0H�l$8H�t$@H�|$HH�� A^�@SH�� ��(n��3�3�����u����������en����H�� [������H�\$WH�� 3�H�=}/H�;H��t
�k�H�$;H��H��r�H�\$0�H�� _�H��SH��P��$�����$�����H�H��$��@��H��X�L�@��<��H�L$ �o��u���_���D$@H��P[����H�\$H�t$WH�� ��H�������t@��y��g�����W�@��tH��	s
�L�����<@��tH��
s��0����� @��tH��s@��t
������@��tH��s
� �������H�t$83���H�\$0��H�� _���H��USVWAVH�h�H���)p�H���+H3�H�E��L����A��I������M_H�D$@H�\$P�D$PH�T$@�D$H����uw��u@�}u�E�����u����E�D�E_H�D$HH�D$(H�T$@H�EoD��H�L$`H�D$ �����m��t4��t0H�D$@M���D$H���]o�UgH�D$0�D$(�t$ ���������H�L$@����]���D$HH�M�H3��+o��(�$�H���A^_^[]��H��USVWAVH�h�H���)p�H��+H3�H�E��L����A��I�������M_H�D$H�\$P�D$PH�T$H�D$@����uw��u@�}u�E�����u����E�D�E_H�D$@H�D$(H�T$HH�EoD��H�L$`H�D$ ����l��tA��t=�D$@M���]o��H�D$H�UgH�D$0Z�Z��D$(Z��L$ �����Z�����p��H�L$H����)���D$@H�M�H3��m��(�$�H���A^_^[]��H�H�H�L$�D$�������L$�D$������H���+L�ɋ�E3�H3J	/��?H��3�I��H�%�9H�\$L�L$ WH�� I��I���
��i���H�L�H�6�+�ƒ�?�@+�I��L3�L��/�H�
������4��H�
�+H�
�/���i����H�\$0H�� _����H�\$H�l$H�t$WATAUAVAWH�� D��L�5���M��I��L��K���4QL���+H��A��I��H3у�?��H��H;��[H��tH���PM;����uI���`3QH��tH;����M���0�F3�I��A���4H��H��uO�-6��WuB�X�I��D��H��$�����t)D��H���$I���ռ����tE3�3�I��k4H���3�L�5���H��u
H��I���`3Q�H��I���`3QH��t	H��J4H��uUH��I;��.���L���+3�H��tJI��H���4H��t2L�z�+�@A�ȃ�?+ъ�H��H��I3�K���4Q�-L�Q�+�L�H�+A�¹@��?+�H��I3�K���4Q3�H�\$PH�l$XH�t$`H�� A_A^A]A\_���@SH�� H��L�
,�$�L��$H��$����H��tH��H�����H�� [H�%A7�%�H�� [���H��(L�
��$3�L���$H���$���H��tH��(H�%7�H��(���H�\$H�t$H�L$WH��PI��I����L�
��$L�v�$�H�r�$�a���H��tH�L$`L��L�Nj��6�0H�D$`H�D$@L�L$4�L�D$@H�T$8�D$4H�L$0�D$8���H�\$hH�t$pH��P_����@SH�� H��L�
 �$�L��$H��$����H��tH��H�� [H�%$6H�� [H�%�2@SH�� ��L�
��$�L���$H��$�����H��tH�� [H�%�5H�� [H�%�2��@SH�� ��L�
��$�L���$H�F$�M�����H��tH�� [H�%�5H�� [H�%:2��H�\$WH�� H��L�
\�$��H�$�L�?�$���H�Ӌ�H��t�J5���1H�\$0H�� _����H�\$H�l$H�t$WH��0A��I����L�
�$H��L��$H�8$����H��H��tD��L�Nj��4�3����D��L�Nj��1H�\$@H�l$HH�t$PH��0_���H�\$WH�� ��L�
��$H��H���$�L���$�&���H��t
��H��r4���/E3�D��H����H�\$0H�� _����H�\$H�t$WH�� A��L�
��$��L�r�$H��H��$������H��H��tD��4���0H�\$0H�t$8H�� _����@SH�� H��L�
0�$�L��$H��$�d���H��H��tH�� [H�%�33��a�ȺH�� [H�%�.��H�\$H�l$H�t$WH��0A��A��H��L�
��$��L���$H���$����D��H�׋�H��tD��<3��M�H�\$@H�l$HH�t$PH��0_�H�\$H�l$H�t$WH��PA��I����L�
u�$H��L�c�$H�4$����H��tRL��$�D��H��$���L�D$@L��H�L$8H��$�H�L$0��$��L$(H��$�H�L$ H���2�23�H���=��D�ˋ�$�L�ljD$(��H��$�H�D$ �A/H�\$`H�l$hH�t$pH��P_�H�\$WH�� ��L�
��$H��H���$�L���$���H��H��t
��2���H�\$0H�� _�H��(L�
��$�L�}�$H��$�u���H����H��(���H��(L�
E�$3�L�8�$H�9�$�H���L�
E�$�L�1�$H��$�)���L�
.�$�L��$H��$�
���L�
O�$�L�;�$H�<�$���L�
H�$�L�4�$H�e$����L�
1�$�L��$H��$���L�
*�$�L��$H��$���L�
;�$�L�'�$H�(�$�o���L�
<�$�L�(�$H��$�P���L�
%�$�L��$H��$�1���L�
&�$�L��$H��$H��(��������������H�|$H�=��.H���.H;�H���+H�H�у�"�H�H�|$�����������������@SH�� ��u/H���.H�H��tH���t�,H�#H��H�<�.H;�uذH�� [����H�\$WH��0�d$ ���_�����\$$;K�.tmHc�H�G�.H��H��u�T�A��
�tH�
+�.H���27�����t�D$ H��.H��H��0��+H�
��.H���L��H���.H�$���뇹�_���D$ H�\$@H��0_����@SH�� �AH���
�t'�A���tH�I����c����3�H�CH��CH�� [�H�\$L�L$ WH�� I��I�؋
�`��H�HcH��H��H��L�T�.��?H��I���D�8t	������N���	�������H�\$0H�� _���̉L$H��8Hcу��u�?N��� �WN���	�t��xX;�.sPH��L��.��?H��H��H��I���D�8t-H�D$@�T$P�T$XL�L$PH�T$XH�D$ L�D$ H�L$H�
������M��� ��M���	�����H��8����H�\$WH�� Hc����\�H���u3��ZH�K�.���u	@���u
;�u ���t�&��H����H;�t����
�H��l*��u���*�؋��5�H��L��.��?H��H��H��I���D�8��t���L�����3�H�\$0H�� _����@SH�� H��H�!��]���H�L$0�RH�H�H��t�bH�b(H�"H�b�J���+]��H��H�� [��̃I�3�H�H�A�AH�AH�A(�A�H�\$H�l$H�t$WH�� H�=!�.H��Hc-�.H��H��H�,�H;���H�H��t=�C��
�u-H���\3��
K�C����
��Ku��
�ШuXH���C3��H��벺X�J����3�H����H�H��t0�H�E3�H���H��0���H��K H����2��H��H�&H�\$0H��H�t$@H�l$8H�� _���H�\$L�L$ WH�� I��I�؋
�(��H�HcH��H��H��L��.��?H��I���D�8t$��H��t&3ۅ�u�1K��H���(��AK���	���譟��H�\$0H�� _ÉL$H��8Hcу��u
�K���	�l��xX;��.sPH��L���.��?H��H��H��I���D�8t-H�D$@�T$P�T$XL�L$PH�T$XH�D$ L�D$ H�L$H�����J���	������H��8����H�\$UVWATAUAVAWH�l$�H��H���+H3�H�EHc�I��H��H�M���?E��H�
���L�E�M�H�]�L��L�m�L�4�I��J���P/QJ�D�(H�E��#%3�H�L$P�E��0��H�L$XE3�E3�L�}�L�}�H���Q�U�I;��5H�Ë]�H��H�E�A��L$@D�T$D����~L�=��A��M���P/QI��K��D8T8>t��H��H��|�H����K���P/QL�E�L+�B�L�>F��9�,NA��E��D+�Mc�M;��hI��H��~$H�EL+�O��H�MH�H��B�D>�H;�|�E3�E��~H�MM��H�H���rH��E3�I��H��~L�P��K���P/QH�H��F�T�>H;�|�H�EL�U�H�E�L�M�A��H�U�A��H�L$D����D��D���_H�����A�E�L�m�Hc�H����I��H+�J��8�,N�OHc�H;����L�U�A��H�u���L�M��H�U�D��H�L$D���T_H����lH�D���uH����J���P/QB�L�=��t!B�D�>��EA��B�L�=H�U�E�(��[���3�f9H}H��I;���D�B�M��H��H�L$D���������M�H�E3�L�D$DH�\$8H�wH�\$0E���D$(3�H�D$ �?������H�M�L�L$HD��H�\$ H�U��"E3҅���L�}���+M�B�9�]�9|$H���|$@
uDH�M�A�B
L�L$Hf�D$@E�BL�T$ H�T$@�/"E3҅��1�|$Hr[A���L�}��]�H��I;�sGH�E�U�����A��M��~-H+�H�+���>��J���P/QH�H��B�D�>Hc�I;�|�]�A؉]�D8U�tH�D$P����H�E��E�H�M���HH�MH3��0Z��H��$@H��A_A^A]A\_^]�E��H��~BL�m�M��M��A��?I��N��M�A�0A��K���P/QI�I��B�D�>Ic�H;�|�E3���_����L�[��K���P/Q�É]�B�D�>K���P/QB�L�=8U��5����e#�E��}��#����S#�E�8]�����H�\$H�l$VWAV�P��Y��H+�H�&�+H3�H��$@Lc�H��I��A��H��H�
�.A��?I�I��H��K��L�t�(3�H��GL;�soH�\$@H;�s$�H��<
u	�G�
H�ÈH��H��$?H;�r�H�d$ H�D$@+�L�L$0D��H�T$@I�� ��t�D$0G;�rH;�r���s"�H��H��$@H3��X��L��$PI�[ I�k0I��A^_^���H�\$H�l$VWAV�P��X��H+�H�"�+H3�H��$@Lc�H��I��A��H��H�
�.A��?I�I��H��K��L�t�(3�H��GL;���H�\$@H;�s1�H��f��
u�G�
f�H��f�H��H��$>H;�r�H�d$ H�D$@H+�L�L$0H�H�T$@�I��D�����t�D$0G;�rH;�r���X!�H��H��$@H3��kW��L��$PI�[ I�k0I��A^_^����H�\$H�l$VWATAVAW�p�W��H+�H��+H3�H��$`Lc�H��I��E��H��H�
��.A��?M�M��I��H��K��L�d�(3�H�M;ƉC��H�D$PI;�s-�H��f��
u�
f�H��f�H��H��$�H;�r�H�d$8H�L$PH�d$0L�D$PH+��D$(U
H��$H�H�L$ D�ȹ�3��:��tI3���t3H�d$ H��$��L�L$@D��H�I��D+����tt$@;�r͋�A+ljCI;��4������H��H��$`H3��U��L��$pI�[0I�k@I��A_A^A\_^�H�\$H�t$�L$WATAUAVAWH�� E��L��Hcك��u��A��� �A���	���xs;��.skH��H��H��L�-r�.��?L�$�I�D�B�D�8tF���K���I�D�B�D�8u�A���	�wA��� �E��I�׋��A���������SA��� �kA���	�����H�\$XH�t$`H�� A_A^A]A\_��H�\$ UVWATAUAVAWH��H��`E��H��Lc�E����H��u ��@��� �	A����*�����tI��H�
��.��?M��I��L�<�J��B�t�9�F�<w	A��Шt�B�D�8 t3�A��D�B�3�A��H�]���l���H�2�.J��B8\�8���Ҩ��H���H9�8uH��.J��B8\�9��H���.J��H�U�J�L�(�>����@��t}@��@���,3�N�$7H�u�L��I;�sW�]�A���f�E�軘�M�f;�u2���]�f��
u�
蜘�
f;�u�É]��I��M;�s�F�EЋ��E��H�M�L��A��������X�H�/�.J��B8\�8}O@��@��t2��t��uyE��H�M�L��A������E��H�M�L��A������E��H�M�L��A���w����J�L�(L�M�3�E��H!D$ H��H�EЉE�"��u	���EЋ]��E��E�H�E�H�� ��ua�M��t*��u��>���	�>��������P>�����H�T�.J��B�D�8@t�?t�>����s>��� ����E�+��3�H��$�H��`A_A^A]A\_^]���H�\$H�t$H�|$AVH�� H��H��u�F>����g����A��
���A�����A��t
�I���I�A��u�H�_H��H����D�G ��H����
�G�H�����G���u]H�����;�t<H���}�����t/H���p��Hc�L�52�.H��H���Z����?H��I��H���H�N�+�B8$�<�u�O � u�G���t�G���u�G wH��0H��H����������	G�g��H�\$0��H�t$8H�|$@H�� A^���H�\$H�L$WH�� H��H��u��<������H��H�\$8H�� _���#���H���H��H����#��H����H�\$H�t$WH�� H��H��u�<������H�����G���{Hc�}�c3ҋ�D�B�aH��H��xЋC��uHcCH+�H���L�L���.H��H�΃�?H��L+[H��I��@�t�9�C�tE@��uI��D�=t
H��H�����eI�Ȁ|�8}H�D��H�K�$L�H��uI���>�C���u��;����,����C�tM��H��H��� �
@��uI��I�;H�\$0H�t$8H�� _��H�\$L�D$UVWATAUAVAWH�� L��H���(���Lc�H���.3�I�̃�?D��I��H��H�D$`L�,�H��B�t�9@��A��I��9{uI����HckH+kH+B8|�8|H���3�A��D�B��I;�uH�KD��H�)�!H�(�C����QE3�I��A���H���uH��f�H;��C���t
�C���tHcS H�L$`H��.H��B�D�8t@��@��@��H��H�H��H�I��H��H�D$pH�I��H+�I�H�\$hH�� A_A^A]A\_^]����H�\$H�l$H�t$ WATAUAVAW�P�*N��H+�H���+H3�H��$@H��H��辿��3�Lc�9{uH����H�L�-��H+CI��H���?H+�I��H�E3�H��H��L�<�A��I���P/QJ�T�0�I���P/QL��J;D�0��J�L�(L�L$0A�H�|$ H�T$@�X��ttE3�H��A���VH��xa�D$0H;�XH�T$@H�H�L$@H��t8H;�s3�9
uH�B�H;�s�y
uH����J��(�,NH�H��H��H;�u�H�D$@H+�I��H��H��$@H3��L��L��$PI�[0I�k@I�sHI��A_A^A]A\_����A��L��A��w?E3�H��I+�E��H��H��L;�IG�H��tfA�9
I�@M�IIE�I��L��L;�u�K��E3�H��I+�M��L;�IG�H��tA�:
I�HIE�I��L��I��I+�H;�u�I����+�������w������H�\$H�t$�L$WH�� H��H���ҽ���KLc������;3�H�S+{H�BH��C �ȉC��~D��A�������H�K;��D$0��kA�A��v"I��H�C�.I��H����?H��H��H���H�d�+�B8 t�3�A��D�B�xH���u��K��A�H�T$0A����������H�\$8H�t$@H�� _�@SH�� �Q����t��^�A��t	H�AH9tL�I諍H��H���t;A�L�D$83�H�����t!H�T$0H�����tH�D$0H9D$8���2�H�� [����H�\$H�t$WH�� ��H��H���t���D�C��A��u�6���	�K����C���t
�m6���"�܋C�tH�������c��t�H�CH��c��K�c��c�C��u1��p��H;�t��a��H;�u���Ub��uH���
H��@���������]���@��H�\$0H�t$8H�� _���H�\$ UVWATAUAVAWH��0Lc�L�R�.I��M����?I��H��A�
H�4�K��H�L�(H��$�M��tD8u�L�8��d�8�J�,L��H��H;��/A�<�
M�F<
t
�M��H����L;�s"E8��AD�3�E8���I��I�L���H�d$ L�L$xM��H�T$pA��������|$xtzI��L��.��?I��H��A�
L��I��B�D�8Ht�L$pA:�uD��R�
I��B�L�:�DD8T$puH;�t�A�H��A���A�
L��.D8T$pt�
A�
L��.�
H��H��$�L;�����K���D�8�@u�D�8��H��+ߋ�H��$�H��0A_A^A]A\_^]����@SUVWATAUAVAWH��8Lc�H��I��H�
��.��?M��I��A�
H�<�J��L�T�(L��$�M��t
fD9
u�L�8��d�8�J�,BL��H��H;����
D�B
D�Z�A�fA;���I�Ff;�tf�L��I��H;�s)�fA;�uA��fA;�f��IE�L�H����H�d$ L��$�E��H��$�I��L�����!��$��I��M��?I��L��H���.J��B�D�8H����$�L�S�
D�Y�f;�u	D��fD��E�
f��$�f�3�H�A�.J��J�Ȋ���D:H��I;�|�J�ù
B�L�<D��I��L��$��
A�L;������A�
fD9�$�uH;�u
E�Y�fD�I��H�����A��D�B�+	A�
E�Y�fD9�$�t�L��$�A�Qf�I��L��$��
f�D�Z�I�D�J��m���H�k�.J���D�8�@u	A
ÈD�8�fD�I�H+�H��H��8A_A^A]A\_^][��H��H�XH�hH�pH�x ATAVAWH��0Lc�M��A��H�����Lc����CI��L�%�����?I��H��H�<�M���P/QA�|�9uA���I�(H�Y��;|H���A�A�����wH;�rI+�A��B�� �,Nt��B��!�,N��u��0���*�����;�u��H��PA�D�8Ht;I�A�L�:��r�I�I���P/Q�D�;��u�I�I���P/Q�D�<��H+��
��A��Hc��}�D$p+݉D$(D��L��L�|$ 3ҹ���
�Ѕ�u��
����/���b���I���P/Q+Àd�=����$D�=�H�\$PH�l$XH�t$`H�|$hH��0A_A^A\��H��H�XH�xL�` �HAUAVAWH�� E��L��Hc����u�/��� �/���	�����;=H�.��H��L��I��H�
1�.��?L�,�J��B�D�8tjA�����v�P/��� �h/����_������H���.J��B�D�8u�>/���	�/��� �E��I�ԋ��E�؋�蔃�����.��� �/���	�(��H�\$HH�|$PL�d$XH�� A_A^A]����H�\$H�T$UVWATAUAVAWH��`Lc�L��E��A���u�.��3��0�.���	�3�����D;%*�.��I��D�N��?L�L$HM��H�
�.I��L�D$@L�4�J��B�D�8A����A�����v�.���0�7.����E���g��_M��t�F�\�9H��J�D�(A��H�D$8�D��$�A+�t=A;�u&A���A��u�-���0��-�������A��H�Y�.M���A���A��t�A����;�B���Σ��3�H��脣��3��}���L��H��u�x-����M-����:3�A��D�B�dL�D$@H���.D��$�A�J��J�D�0J��B�D�8H��L�|$PA�
tzB�D�:A:�tp��tlA���J��M�A��F�T�:E��tSJ��B�L�;A:�tE��tAA�A�z�J��M���F�T�;E:�u'J��B�L�<A:�t��tA�A�z�J��M���F�T�<A����X����H�D$@H�
"�.H��B8t�8}mH�L$8H�T$0�g��tY��$�uTH�L$8L��$���I��D��H�t$ ���u��	���+����H���������x��$��<G�@@�t$HH�L$8L��$�D��H�t$ I�������D9�$����$�H�T$@L�^�.I��B8t�8}���$�Lc�t%L��$�I��H��I��A��H�D$ �����\���I��@8t$HtsL�T$PI��I��O�BM;�sR�
�f��t:f��
uL�@M;�sfA90u��A��A�I�f�L�GI��I;�r��
I��B�L�8I+�H������H�T$PA������j����t��u��*���	�*��������m����������3���*���0�*���	�����H��$�H��`A_A^A]A\_^]���H�\$H�t$�L$WATAUAVAWH�� E��L��Hcك��u�6*��� �N*���	���xv;��.snH��H��H��L�-��.��?L�$�I�D�B�D�8tI���}H��I�D�B�D�8u�)���	��)��� �E��I�׋��DH�����J~H����)��� �)���	���H��H�\$XH�t$`H�� A_A^A]A\_��H�\$H�t$WH�� Hc�A����H����H���u�j)���	H���SD��L�D$HH��H��2��u������(����H�D$HH���t�H��L���.��?H��H��H��I�Ȁd�8�H�\$0H�t$8H�� _�����o�������W������H�\$WH�� ���.H�ٿ������3�H�C趞��H�{t�K@��KH�C�H�C�{ H�C�cH�H�\$0H�� _��̸�L���ID��D��fA��fD#�fD;�u��u3ҍBfA9������3ҩ���ufA9tA��fE+�fE+�fE����øfA;���fA�f#�fA�H���I��H�
>����fA��D��A��FI��H�����FA�HfD#�fA3�fA�HfA;�}fEfA�fA��f����Q��f#�f;�u�Au3�f9�t%���A����u3�f9t
f��f�f��f�������H�\$WH�� �ٺH�L$8�9��D$8���D$0�� ��$D��Nj�����у�$��Dыʃ�$��D�D��A��$��DD�A�ȃ�$AD�苁	D$0H�L$0���@��t
��&���!�@��t�&���"H�\$@H�� _��H�\$H�t$WH�� �BH��f����f#�3�H��f;�uf��Bu�Cf9t=��6f;�rH���#�f��~f������f��~f!O�?f	Of���H�\$0H�t$8H�� _���������������@SH��E3�3�D�f�.E�HA����$��L$#ȉ\$�T$;�u,3��H�� H�H�T$ H�D$ D�&�.$<ED�D��.D��.3�H��[�H��H��h)p�(�(�A��t+A��unD�@�E�HW��P��@��@�"�@��-�D$@W��D$8A��\$0�D$("�D$ �t$xH�
ć$L�D$x����(�(t$PH��h���������H��H��h)p�(�(�A��t+A��u}D�@�E�HW��H��P��@�"�@��-�D$@W��D$8A��T$0�D$("�D$ H��$�H�
��$��$��L��$����(�(t$PH��h��H�\$WH�� H��H��H��u
H���s����H��u�'����H���v-�"$���3�H�\$0H�� _���:��t�H���p����t�H�
��.L��L��3���H��t�����H�\$WH�� �����f;�tK�f;�sH���+���H��#��.3�f�L$@L�L$0f�|$0H�T$@�OD���!���t�D$0��3�H�\$8H�� _��H�\$H�t$H�|$UH��H��H���+H3�H�E��Hc�I��H�M��W�G3�=w
H�E�H��y�H�UЋ��A���H�f9H}�M�E�J@�}��]��
@�}�E�ʈ]�3�D�T$0�E�L�E�f�E�H�MЋBA�҉D$(H�E�H�D$ ���u8]�tH�Eȃ���3���E�#�8]�tH�Mȃ���H�M�H3��-6��L��$�I�[I�sI�{ I��]Á�5�w ���;����	wA��A��r��*u/3��+����t ����v����v��t܁��u��H�%����H��(����u�|����}!�����3�H��(��H��(H��u��!������H��H��(�L��3�H�
r�.H��(H�%o����@SH��@Hc�H�L$ ��C=wH�D$(H��Y%��3��|$8tH�L$ ����H��@[��@UATAUAVAWH��`H�l$PH�]@H�uHH�}PH���+H3�H�EHc]`M��H�UE��H����~H��I���h��;ÍX|��D�uxE��uH�D�p���D��M��A��҃d$(H�d$ �����h���Lc��6I��I�����H�H�HH;�H�H#�tSH��w.H�BH;�wI��H����4��H+�H�t$PH��������H��蛖��H��H��t���H���3�H����D�d$(D��M��H�t$ �A���������zH�d$@E��H�d$8L��H�d$0A��L�}�d$(I��H�d$ ����Hc����=�D��tR�Ep���*;�� H�d$@E��H�d$8L��H�d$0A�ՉD$(I��H�EhH�D$ �u����������H��H�H�AH;�H�H#�tSH;�w5H�AH;�w
H�����H����p3��H+�H�\$PH���������j���H��H��t���H���3�H��trH�d$@E��H�d$8L��H�d$0A�Չ|$(I��H�\$ ������t1H�d$83�H!T$0D�ϋEpL��A�΅�ue!T$(H!T$ �����u`H�K�9��u蝔��3�H��tH�N�9��u腔����H�MH3��/2��H�]@H�uHH�}PH�eA_A^A]A\]ÉD$(H�EhH�D$ �H�K�9��u��=�������H�\$H�t$WH��pH��I��H��A��H�L$P�?���$�H�L$X�D$@L�ˋ�$�D�ljD$8H�֋�$��D$0H��$�H�D$(��$��D$ �w����|$htH�L$P����L�\$pI�[I�sI��_���H�\$H�t$ H�T$UWATAVAWH��H��PE3�M��H��A��H��tM��u3��fD�!H��u�_�����H���I��H�M��c�H�E�H���uL�M0L�e0M��H�U8H���4H���<H����L9�8u/M���!H�M8�f�D8$�H��H��I;�r��L�E8H��D�t$(D��H�|$ �S
�O���Hcȅ����*���zucL�E8E��I��E��t,A��D8&t �H�U�������tH��D8&t4H��E��u�L�E8H�E�A+�D�t$(D�κH�|$ �H����Hcȅ�u�5���*fD�'�TH���OH��L9�8uH�E8H��D8$u��3L�E8D��D�d$(�	L�d$ ���Hcȅ�u
�����*�H�Y�D8e�tH�M���H��L�\$PI�[@I�sHI��A_A^A\_]�H�\$H�t$H�|$ATAVAWH��@E3�M��I��H��L��A��H��uLM��uLH��tfD�"M��tL�!H��$�H�L$ �t�L��$�L;�LG�I�����v'�3����iH��u��"�����B��L�L$(I��H���Y���H���uH��tfD�'������EH��H��t5H;�v*H��$��tfD�'�����"������H�ƻPfD�dG�M��tI�D8d$8tH�L$ ����H�t$h��H�\$`H�|$pH��@A_A^A\��H��8H�D$`H�d$(H�D$ ���H��8���@USVWATAVAWH�l$�H��H�E����H���+H3�H�EI��L��H�U�E3�A��D�}�H��tM��u3��H��u�������H����I��H�M����H�E�D�PA���uL�}�L�M�L��H�U�I���zH���M����L9�8uLH���h��H�M�f9w'�A��H��H�M�f���@H��H;�r��3�R��H���L�E߃xuuH��t-I��H��fD98t
H��H��u�H��tfD98uH��I+�H�H��H�E�H�D$8L�|$0�t$(L�t$ D��3�A����Hcȅ�t�D9}�u�H�Y�E8|�HE��H�E�H�D$8L�|$0�t$(L�t$ H��D��3�A���Hc���tD9}��bH�_��dD9}��O����z�@H���ED�`�H�U�H�M��AA;�AO�L�E�L�D$8L�|$0�D$(H�EH�D$ A�L��3ҋI�"����D9}�������Hc�I;���H�:H;���I��H��~�D
A�>����H��H��H;�|�H�U�H��H�U�H;����T���L9�8u;I��H�M��f��ty��f;�wH��H���f��u��^�z���*H���MH�E�H�D$8L�|$0D�|$(L�|$ H��D��L�E�3�A���AHc���tD9}�uH����*���*H��D8}tH�M��H��H�MH3��*��H�ĐA_A^A\_^[]����H�\$H�t$H�|$AVH�� E3�I��I��H��H��H��tQM��tQH��tD�2H��tL!1L�D$PL;�LG�I�����w,L�L$XH��H���5���H���u+H��tD�3�v����\H��t��h����������BH��H��t/H;�v%H�|$P�tD�3H;�w�6���"��H��A�P�D�H��tH�A��H�\$0H�t$8H�|$@H�� A^�@UAVAWH��pH�l$@H�]PH�uXH�}`L�ehH�b�+H3�H�E L��M��H��A��H�M���H�EE3�E3���I��D�`�r���Hc���u3���H��H�H�HH;�H�H#�tVH��w1H�BH;�w
H�����H����~)��H+�H�\$@H��ty����H���y���H��H��t���H���3�H��tND��L�Ë�I�������t:D�EpA��A����H�H�d$8H�d$0I#�D�D$(A��H�T$ L��3������3�H��tH�K�9��u踊���}tH�E������H�M H3��Q(��H�]PH�uXH�}`L�ehH�e0A_A^]����@SUVWATAVAWH���H��+H3�H��$�H��$03�A��M��L��H�>����L�L$@�D$ �D��I���)���Hc؅�tC�WH��藉��3�H�����H9>�H��C�Lc�L�D$@H����u���3����a���z��E3ɉ|$ D��I��I�����Lc�����I�Ϻ�#���H��H��t%L��D�|$ D��I��I�������tH��H��H����H���c������t�;�u;E3�E3���I������Lc���tQI�ϋ�轈��H��H��t�E��L����I����랅�u)���|$0��L�D$0D��I���ѽ����t�D$0�������H��$�H3��&��H���A_A^A\_^][�E3�H�|$ E3�3�3��9���@UATAUAVAWH��`H�l$0H�]`H�uhH�}pH��+H3�H�E D��E��H��M��H�M�������uH�E�x���E��M�ċ�҃d$(H�d$ �������Lc�u3���I��H�H�FH;�H�H#�tSH��w1H�AH;�w
H�����H����&��H+�H�\$0H��to��������H��H��t���H���3�H��tGL��3�H���*��E��D�t$(M��H�\$ ����:���tL���D��H��A�������3�H��tH�K�9��u�`����}tH�E������H�M H3��$��H�]`H�uhH�}pH�e0A_A^A]A\]����H�\$L�L$ WH�� I���
�!���H���+�˃�?H3�.H�ˋ�]!��H��H�\$0H�� _����L��H��(�M�KM�C�D$8I�S�D$@I�K���H��(���H�
�.H�
�.H�
�.H�
 �.����H�\$ VWATAUAVH��@��E3�D!l$xA�D�t$p��t!��tL��t��tB��t=��t�A�w}����������	��������tt3����y��L��H��u��H��$�H��@A^A]A\_^�H�H�
ln$H��H��	9XtH��H;�u�3�H��u����������H�xE2�D�t$p�"H�='�.�H�=�.�H�=�.�H�=��.H��$�E��t��|���E��tH�5�+�΃�?H37H���H�7H����H���A�	��w=A��s7I�EH��$�H�D$0I�e��uS�gw���@�D$x�D$ �Ww���@���u2H�xm$H��IEH�
qm$H��H�H�D$(H;�tH�`H����H�F�+H��A�	E��t
����H��u3������u��v���P��H��L�~�A�����H��H�m��҃�w�A��s�H��$�I�E��u��v���L$x�H�E��t�N�����6_����H�\$H�t$WH�� 3�L��H�H�ىA�پ.�A��I��A�< t��<at<rt<w�R���A�	�	�qI��E2�@2�E2�E2۲A�8�BA���S������ ���tI��t<��t%��
t����E������^�+����@����@��A��@�����@�@������Ɖ�C����C�E����� A�A�����Ttg��tS��t<��t+��t���K���	sJ��
�L���u;���=E��u0�s�
E��u$�kA�A���#���u������s2������3�����L��������E��I�xID��H�ǀ? t�E��uD8���C�A�H��$H���p������H���H�NJ< t�<=uH�ǀ? t��H�L�$D��H���k��u�+�@�H�7�$D��H���k��u�+��H��$D��H���k��u�+H�7�H���< t����B����������H�t$8H��H�\$0H�� _���H��H�XH�hH�p WH��PH��I��H�H�A������3���@�D$0�D$8:�tGD�D$0H�L$pD���D$ �H���u��u&���.�D$4�	G�D$p�_H�_(H�_H�H�߉GH�l$hH��H�\$`H�t$xH��P_�������������H��x�)t$`(�D;�����A����A��tg��A��v3A��	���D$@D�H�L$8�D$0�D$("�D$ ��D$@A��L$8�D$0�D$("�D$ �d�D$@A��L$8�D$0�D$(!�D$ �<�t$PH�L$P(t$`H��x鸯���D$@D���L$8�D$0�D$("�D$ �t$PH�
��L�D$P�����(�(t$`H��x�������������H��UH�h�H��)p�(�A���D;����CA����A����A��tAA��	�H�eD�H�D$@�L$8�D$0�D$("�uL�E�D$ ��H�eA��D$@�L$8�D$0�D$("�uL�E�D$ �H�e'A��D$@�L$8�D$0�u'L�E'�D$(!�h�u�M�y����uH�e/D�ȉD$@�L$8�D$0�D$("�u/L�E/�D$ �.H�e7�D$@�L$8�D$0�d$(�u7E3�L�E7�D$ �H�
��$赬��(�(�$�H�Đ]������@S����D�у�A��3ہ�5�w���;����	w
����r9A��*�+A����t*A����vA����vA���tA���t�����H�L$HE��H�D$@HE�HE�H�L$HA��H�D$@[H�%����L��L��E�M�RA�M�[A�@���E�H �B�EGȍJ ��A��G�+�uE��u����H��(�=��.u-H��u�����2������H��(�H��t�H��(���E3�H��(���H�\$H�l$H�t$WAVAWH��@H��H��H��u��������������H��t�I��H�L$ ���H�T$(H��8uH��H���������A�L�=3<$fD93s�A�DOt
H�������H�T$(�VtH�T$(H����fD96s�A�DOt
H�������H�T$(�tH�T$(H����+�u��u��|$8tH�D$ ������H�\$`H�l$hH�t$pH��@A_A^_����������H��p�p�0�.H��$�.H������.H�9�+H��.3�����@SH�� 3ۉ\$0eH�%`H�H 9Y|H�L$0����|$0t���H�� [�H;�s���3�H;������H��H�XH�hH�pH�x AVH��@3�E��H��H��H��u"8Z(tH�J��z���_(H�_H�_H�_ �"f9uTH9ZuF8Z(tH�J�z���_(���z��H�GH��H���҃��������G(H�O��t����H�G��H�\$8A��H�\$0L�Ɖ\$(3�A��H�\$ �T���Hc�u����������;����H�OH;�vB8_(tH�O�z���_(H���Jz��H�GH��H���҃�HDͅ����G(H�O���b���H�GA��H�\$8L��H�\$03҉L$(A��H�D$ ���Hcȅ��i���H��H�O H�l$X��H�\$PH�t$`H�|$hH��@A^���H�\$H�T$UVWATAUAVAWH��H��`3�H��H��u�e���_�������W�H�:H��E�H�}�H��tVH�UPf�EP*?H��@�}R�WvH�H��uL�M�E3�3���L�E�H�����u	H��H��L�e�L�}��L�}�L��L�e�I��I��H�}PI+�L��L��I��I��H�HH��M;�HG�H��H��t%L�H��H��A8<u�I��H��L�I��L;�u�L�MPA�I��I���XU��H��H��tvJ��M��H�U�H��H�UXM;�tVH��I+�H�M�M�L��I��C8<(u�H+�I��HUPM��H���d����H�EXH�M�H�U�J�1I�I��H�EXM;�u�H�EH��H�3���w��I��M��I+�H��H��M;�HG�H��tI���w��H��M�vH;�u�I���w����H��$�H��`A_A^A]A\_^]�E3�H�|$ E3�3�3��������H�\$H�l$H�t$WATAUAVAWH��0H��I��3�M��L��L��H��@84)u��I��H�H��H;�v �BH�\$`H�l$hH�t$pH��0A_A^A]A\_�M�xL�I���v��H��M��tM��M��I��H����b����M+�J�3I��L��M����b����H�OD�xL�wI;���H97u+A�׍H�(v��3�H��v��H�H��tBH�A H�OH�G�mL+7H��������I��L;�wH�K�,6H��M����H��u"3��Lv��H���Dv���3��8v��������J��H�H�OH��H�O3��v��H�OH�L��E3�H�t$ E3�3�3��z����H�\$ UVWATAUAVAWH��$���H��0H�^�+H3�H�� M��H��H� H;�t"�,/<-w
H��H��rH���vH��H;�u�D�A��:uH�FH;�tM��E3�3�H������VA��/3�A��-wI��H�ðr@��H+�H�}�H��H�}���H�}�H�L$0H�}�M�H�}�L#�@�}�3��E��H�D$8A��D9xu@8|$HtH�D$0����E���:迧����u@8|$HtH�D$0����A��@8|$HtH�D$0����D��H�U�H���	��H�M�L�EЅ��|$(H�|$ HE�E3�3�H�H��H���uM��E3�3�H�������GM�t$M+4$I��3�H�|$pH�L$PH�|$xH�}�H�}�H�}�@�}��a��H�D$XD9xu@8|$htH�D$P����E���:�����u@8|$htH�D$P����A��@8|$htH�D$P����D��H�T$pH�M����L�}���I��HEπ9.u�A��t <.u@8ytM��M��H����������u[3�@8}�tI���s��H�U�H��.�A�����
���I�$I�T$H+�H��L;�t)I+�J��L�
���A��"l��}�tI���*s��H�����}�t	H�M��s����H�� H3����H��$�H��0A_A^A]A\_^]����W������H�\$H�|$UH��$p���H��H�K�+H3�H���A��H��A�H�T$p�����u� ����!���3��H�d$`H�L$ H��H�\$@3�H�D$HH�D$XH�\$P�D$h���H�D$(A��D9@u�|$8tGH�D$ �����9�����u8D$8tH�D$ ����A���|$8tH�D$ ����E3�H�T$@H�L$p�C���D$`H���H3����L��$�I�[I�{ I��]���H�\$L�L$ WH�� I��I�؋
����H�H�H���H��H�
��.H��toH��t]A�E��A�P~HI@ A H0I0@@A@HPIP@`A`H�HpI�H�I��u����'3�A����������7���A�A�P~H�H�H���HH�
_�.H��t^H��tLHI@ A H0I0@@A@HPIP@`A`H�HpI�H�I��u��3�A��������蠿��H�CH�H�������uH�CH�H� �+H9tH�	�;p��H�H�H�CH�H���H�H�H�H������}
��H�\$0H�� _���@SH��@��3�H�L$ ����%u�.���u�f�.�p�����u�O�.�a�������uH�D$(�1�.�X�|$8tH�L$ ������H��@[����H�\$H�l$H�t$WH�� H�YH��H��D��3�����3�H�~H�F�H�� ��f�H�=�+H+���H��H��u�H����9�H��H��u�H�\$0H�l$8H�t$@H�� _�H�\$H�t$UH��$����H��H�_�+H3�H��pH�ًI����?H�T$P������,3�H�L$p����H��;�r��D$VH�T$V�D$p �"D�B���
;�s���Dp ��A;�v�H�����uڋCL�D$p�d$0D�ΉD$(�H��p3�H�D$ �s��d$@L�L$p�CD��H�� 3ɉD$8H�Ep�t$0H�D$(�t$ ����d$@L�L$p�CA�H�� 3ɉD$8H��p�t$0H�D$(�t$ ����H��p�t�L�Lo��t�L ��o�2Ɉ�H��H��H��u��C3Ҿ�JD�B�A�@ ��w
�L�B �A��w
�L �B��2�����H��;�r�H��pH3���
��L��$�I�[I�s I��]��H�\$L�L$ L�D$UVWH��H��@@���I��I���������H�M0��L���A;@u3���(�l��H��H����H�E0�H��H���D�B|HI@ A H0I0@@A@HPIP@`A`I�HpI�I�H��u�HIH�@ H�A ��!H��������u%�%������H���l����H�\$`H��@_^]�@��u����H�E0H���������uH�E0H���H���+H;�t�k���H��H�E03�H���H�E0���u��Ν+u�H�E0H�E�L�M�H�E8H�E�L�E�CH�U�E�H�M�E����@���I���H�E8H�H�
'�+�6�����H�\$H�t$WH�� H��H���e�+���tH���t	H����d�����H���H�\$0H;t>H��t"������uH���+H�L$0H;�t��j��H�H���H�D$0�H�\$0����H��tH��H�\$8H�t$@H�� _�������������H��(�=�.uLH�
��+H�
�.H�>�+H�
g�+H��.H�
ɤ.�|]��L�
ͤ.L���������*����ä.�H��(�H��(�{\��H��H���.H��(����H�\$UVWATAUAVAWH��@H���+H3�H�D$8H�����3ۋ����SL�-��+D��I�ōk98�ND�H��0A��r���-��K������;�u.H�FH�� �^f�^H�~�ùf�H���q�����H�T$ ��W�����3�H�NA�����|$ �~H�� ��H�L$&8\$&t,8Yt'�A�;�w+z�(�L7�H+�u�H��8u�H�F���H�H+�u��N��t.��t ��
t;�tH���"H���$�H�p�$�H�_�$�H�N�$H�� ���n����9
�.�����3�H�NA�����A��M�ML�=h�+A�L�@I��M�I��A8t>8Zt9D��BD;�w$E�PA��sA�D�AD2D��BD;�v�H��8u�I��L�L+�u��~�n��t)��t��
t
;�u"H���$�H���$�H�x�$�H�g�$L+�H�� H�V�K�<+�D�f�H�RH+�u�����H�����3�H�L$8H3��#��H��$�H��@A_A^A]A\_^]����H�\$H�t$WH��@��A��H��A��H�L$ �X��H�D$0��@�|u��tH�D$(H��Q#��3���t��|$8tH�L$ ����H�\$PH�t$XH��@_���̋�A�3�E3��v�����������������H��(�F�H�_�.�1�H�Z�.�H��(����H��H�XH�hH�pH�x AVH��@���E3�H��H����H��fD90tH��H��fD94Fu�H�4FH��fD96u�L�t$8H+�L�t$0H��H�L��D��D�t$(3�L�t$ 3���Hc�tKH���Af��H��H��t.L�t$8D��L�t$0L�Él$(3�3�H�D$ �����tH��I���I��H���e���I��H��t	H��-�H�\$PH��H�t$`H�l$XH�|$hH��@A^����H�\$H�l$H�t$WH�� I��H��H��H��t3�H�B�H��I;�s�_��3��AH��t
�k��H���3�H��H��H������H��H��tH;�sH+�H�8L��3���H��H�\$0H�l$8H�t$@H�� _����������������H��(���H��H���.��H��(�����H�%��.���H�\$H�t$WH�� H��H��H;�tTH��H�H��t
�����t	H��H;�u�H;�t1H;�t(H��H�{�tH�H��t3�g�H��H�CH;�u�2���H�\$0H�t$8H�� _�H�\$WH�� H��H��H;�tH�C�H��t3��H��H;�u�H�\$0�H�� _�H���+��H3��.��?H��H��������H�
��.�H�a�+L����H3��.��?H��H��u3��I��H��H�%�����AH���H��t�H���H��t�H���H��t�H��H��t�H�A8A�H�7�+H9P�tH�H��t�H�x�tH�P�H��t�H�� I��u�H�� �y�H�\$H�l$H�t$WH�� H���H��H��tyH�
j�+H;�tmH���H��ta�8u\H���H��t�9u��b��H����rH���H��t�9u�b��H����H����b��H����b��H��H��tG�8uBH��H���\b��H����H+��Hb��H��H+��9b��H���-b��H�� �H��(�H�{8H��+H9G�tH�H��t�9u
��a��H���a��H��tH�O�H��t
�9u��a��H��H�� H��u�H��H�\$0H�l$8H�t$@H�� _�a����H��tH��Q$H;�t����\��ø�����H��t0SH�� H��Q$H��H;�t��\��u
�<%H���La��H�� [���H��tH�PQ$H;�t�����\��ø�������H��(H����A���DIH���H��t�DH���H��t�DH���H��t�DH��H��t�DH�A8A�H���+H9P�tH�H��t�D
H�x�t
H�P�H��t�D
H�� I��u�H�� �5���H��(�H�\$WH�� �R�����H����
��+tH�H��u,��N����H�Γ.H���&H�ع���H��tH��H�\$0H�� _��u���H�\$WH�� H��H��tFH��tAH�H;�uH���6H�9H���1���H��t�H������{u�H�7�+H;�t�H�������3�H�\$0H�� _������������������ff�H���$�$H��ÉL$�T$��\$�����!L$�T$�f.*{$sf.({$v
�H-��H*����̋
�.��@SH��0H��H�L$ ��`H��w�T$ �������G�H��tf�H��0[����H�\$H�l$WATAUAVAWH�� H�:E3�M��I��L��L��H����H��M����D8/uA��D8ouA���G��M�I��I��M��H�L$PH���L`H��H���tuH��tg�L$P����v9H��vG����A�����L$P��
H��fA�f���f#�H����f�f�H�H��H���_���I+�I�>H�H���I��fD�+��I�>���*H��H�\$XH�l$`H�� A_A^A]A\_�I��D8/uA��D8ouA���G��M�I��I��M��H��3��j_H���t�H��t�H��uH��H�H�����H��(H��uI� ����u���€���u�������uA�A���9����u��(��=�vHA�A������u5����w-A�A��M�ي��$?�A�I��u�A
�I�A�M!�I� ����*H��H��(���G������H�\$WH�� E��L��H��u�����Ϋ�����H��t�3��E��AO��H�H;�w�|��"��M��t�I�YL�A�0�!�H�C�ɺ0E�HD�A�H��I��A��E���A�x�;5|�A�0I��A�<9t�A�A�:1uA�A�I��I��C�|u�I��I�RI���S�3�H�\$0H�� _���@USVWATAUAVAWH��$(���H���H�I�+H3�H���H�L$8I��H�L$XL�L$hM��L�D$x���:_�D$XE3��<uD�d$`�H�L$X�_�D$`H�D$8� H��I�v��A��I��������S
H�H��H��4A�I#�uI��uE�fL���?I;�tA���AH��I#�u��*H��yH�H;�u��H��H��3�у���A�F���������������H���������H#�H�D$8���D$8�|$P�D$HH�T$HL��I��4I��I#�H��H��H�H�I#�H#�H�H���E#�D�<E��{_�^�,ȉ}�������E�H�� D#�}���D�l$@����‰U�A��4��3�Dž(��$�� ���BE��A�ȋD��9��$�+A��D;�u�E�����D�d$8E�ÍB�A��A����A+��H��ϋ��D��D��A��t���A��+�B���su�D;�wA��A����s������A�rA;�DB�E��E;�tOE;�rJA��A+��H�;�sD�L���E3�;�s�T���3�A#�A�‹�D#���E�A��A��AщT��E;�t�U��3�E��t�d����A;�u�D;�A�FDG��E3���(A�D��PD�u�Dž DžT�"E�����D�d$8E�ÍB�A��A����A+��H��ϋ��D��D��A��t���A��+�B���su�D;�wA��A����s������A�rA;�DB�E��E;�tOE;�rJA��A+��H�;�sD�L���E3�;�s�T���3�A#�A�‹�D#���E�A��A��AщT��E;�t�U��3�E��t�d����A;�u�D;�A�FDG��E3���(A�D��PD�u�Dž DžT�A��6�)3�Dž(��$�� ���	E��A�ȋD��9��$��A��D;�u���D�d$8t���A��+�D��A����D��D�@�;�sF�L���E3�D;�sB�L���3��A�����A��B�L��E;�t�U��;�A�F�6H��$DB�A+���D�u���3ҋ�H��L�������@����$D�E��I��D�� D��PM������H��TL;���H��$������B�D�d$8�D��t���A��+�D��A����D��D�@�;�sF�L���E3�D;�sB�L���3��C�	�A��B�L��E;�t�U��ƒ�A�F�5H��$DB�A+���D�u���3ҋ�H��L���.����@����$�
���L��3�������"跤��D��P�����E����A���H��Y����D$8D��D$0�����&D;�E��DG�D�l$DA�E�����G����G�ً�3�H��L�ÍH��$�� �z�H�
SY�H������GH����FH��$L��H�H���:��D�� A������$��uE3�D��P�����E����E3�L��E3�B���TA��I��H�L��B���TI�� A��E;�u�E��t4��Pss��PD���TD��PA���E3�D��P2��D��P�wA������TM��I��E��D��PM��t@��H��TL;�wH��$�D���L��3��H������"��D��P����������E����E3�L��E3�B���TA��I��H�L��B���TI�� A��E;�u�����E;�H��TE��L��$LC�H��TEB�H��$HC�����H�T$HEE�E3�E3�D���E���C�t�A����u!E;���B!���E�yD�����E3�E��E����A���A��st]A��E;�u����A�@���A�A��������H��H�A��H�A�L�ډ���D���I�� A;�tH�T$H�E��tMA��s��A��E;�u����A�@�������A��A��Hȉ���D���H�� D�م�u�A��s��H�T$HA��E;����E��I��D��PM��t@��H��TL;�wH����=���L��3��A�������"���D��PD�d$0D�l$D����E+�H��U�D�d$0�&�=����D$8D�l$@��A���+����A������F������tjE��teE3�D��E3�B���TA��I��H�L��B���TI�� A��E;�u�E��t'��Ps����PD���TD��PA���jD��PH�|$hE3�H��E����E��E��A��A���D��H��A��L�HD�D��I�� E;�u�E�����}�s�k�E�D�D���E��~E3�D��P�A��A���H��T����D$DD��D$0�����&D;�A��G��D$8�ȋ�����G����G��H��3�L�ÍH��$�� ���H�
dT�H������GH����FH��$L��H�H���K��D�� A������$��uE3�D�u�������E����E3�L��E3�B�L��A��I��H�L��B�L��I�� A��E;�u�E��t%�}�ss�E�D�D��D�u�A���E3�D�u�2��eD�u��ZA�����]�M��I��E��D�U�M��t:��H�M�L;�wH��$�y���L��3��}������"�)���D�u����!�������E����E3�L��E3�B�L��A��I��H�L��B�L��I�� A��E;�u��(���E;�H�U�E��H��$HC�L��$EB�H�L$p��H�U�ICЄ�H�T$HEE�E3�E3�D���E���B�4�A����u!E;���B!���E�qD�����E3�E��E����A���A��st]A��E;�u����A�@���B�A��������H��H�A��H�B�L�ډ���D���I�� A;�tH�T$H�E��tMA��s�cA��E;�u����A�@�������A��A��Hȉ���D���H�� D�م�u�A��s�H�L$pH�T$HA��E;����E��I��D�u�M��t:��H�M�L;�wH����~���L��3�����
���"�.���D�u�D�d$0�����D+d$8H�3Q�D�d$0�&�w����D$D���D+�����A�E������F��tj�������E�������E3�D��E3�B�L��A��I��H�L��B�L��I�� A��E;�u�E��t�}�ss!�E�D�D��D�u�A��D�u��_���D�u��V����e�H�|$hE3�H���#E3�D�� L��$D�e���H�M����H��PH�M���t$@��
�����1H�_E����E��E��A��A�����TH��A��L�HD���TI�� E;�u�E��tZ��Pss��PD���T��P�;E3�D�� L��$D��P��H��T�������u���0H�_�H�D$x�T$P�p��x
�����w�H��@H�ɋ�H;�HB�H�H;���A�	��D�U�E����E��E��A��A���D��Hi�ʚ;A��H�L���L��I�� E;�u�E��t6�}�ss
�E�D�D���E��#E3�D�� L��$D�e���H�M��L���H��PH�M���D��L��D+�A������A��������D*�A�H0D��E;�rA���D�D;�u�H��H+�I;�IO�H�H;��!���D�#D8d$`t
H�L$X��MH���H3����H���A_A^A]A\_^[]�L��f$�L�wf$�L�ff$H��@H����6����u�L�Bf$��E3�L�d$ E3�3�3��0�������H��(���u
����	�B��x.;
0�.s&Hc�H�$}.H����?H��H��H���D�8��@��c���	脘��3�H��(��H���SH�� H��H�IH;
�v+t�%I��H�K H;
�v+t�I��H�K(H;
�v+t�I��H�K0H;
�v+t��H��H�K8H;
�v+t��H��H�K@H;
�v+t��H��H�KHH;
�v+t�H��H�KhH;
�v+t�H��H�KpH;
�v+t�H��H�KxH;
zv+t�H��H���H;
mv+t�nH��H���H;
`v+t�YH��H���H;
Sv+t�DH��H�� [�������H�\$H�t$H�|$UATAUAVAWH��H��@E3�H�M�L!}�H��L9�@uL9�HuE3�L�5gu+�qA���A���_G��3�L����G��M��uA����I�͋��9G��3�L���G��M��u
I���G����L9�@�OH��I���G��3�L���vG��M��u
I���iG��I����H��@I�FL��H�D$ A�H�M�A���ü��I�N A�H�L$ L��H�M�A�Ջ�裼��I�N(A�H�L$ L��H�M�A���胼���H�M�I�F0A�L��H�D$ A���c���A�M�n8L��L�l$ H�M��A�Q��B���A�PH�M��L��I�F@H�D$ A�Q��!���A�QH�M��L��I�FHH�D$ A�Q������H�M�I�FPA�L��H�D$ 3�����H�M�I�FQA�L��H�D$ 3��»���H�M�I�FRA�TL��H�D$ 3�裻���I�FSA�UL��H�D$ 3�H�M�脻���H�M�I�FTA�VL��H�D$ 3��e����H�M�I�FUA�WL��H�D$ 3��F����H�M�I�FVA�RL��H�D$ 3��'����H�M�I�FWA�SL��H�D$ 3�����A�H�M��L��I�FhH�D$ A�Q����A�H�M��L��I�FpH�D$ A�Q��ƺ��A�H�M��L��I�FxH�D$ A�Q�襺��A�H�M��L��I���H�D$ A�Q�聺��A�PH�M��L��I���H�D$ A�Q��]����I���A�QH�D$ L��H�M�A�Q��9����t*I���a���I���D��I���D��I���D����dI�U������HЀ�	w�
A�IՊ��u��<;u�L��I�@�A�L����u�A���H��q+��AHAN@ AF H0AN0@@AF@HPANP@`AF`@pAD�AH�DI�D�A�H���H�I�H���H�HI�NH���H�HI�NH���H�HXI�NXH���H�H`I�N`E�,$M��tE�/H���H��t�H���H��t$������uH����FC��H����:C��L���3�L���L���L�\$@I�[0I�s8I�{@I��A_A^A]A\]��H��tfSH�� H��H�	H;
ep+t��B��H�KH;
[p+t��B��H�KH;
Qp+t��B��H�KXH;
�p+t�B��H�K`H;
}p+t�B��H�� [�H��H�XH�hH�pWATAUAVAWH��@3�H�H�H��H�X�H9�HuH9�@uD��H�5�o+D���'A���A���A��H��H��uA���ZH������z���HN@ F H0N0@@F@HPNP@`F`@pD�H�DH�D�B��3�L���A��M��u
H���A���u���A�$H9�H�+H����A��3�L���A��M��u
H���uA����A�H�L$0H��HA�L��H�t$ A���϶��H�NA�H�L$ L��H�L$0A�֋�讶��L�nA�L��L�l$ A��H�L$0�荶��A�H�L$0�L��H�FXH�D$ A�Q��k���A�H�L$0�L��H�F`H�D$ A�Q��I����t$H�����H���@��I���@��A��I�����I�U�
�HЀ�	w
�
I֊��u��R<;u�L��I�@�A�L����u���H��m+L��H�H��m+H�FH��m+H�FH�n+H�FXH�n+H�F`E�4$M��tE�7H���H��t�H���H��t$������uH�����?��H�����?��L���3�L���H���L�\$@I�[0I�k8I�s@I��A_A^A]A\_�H�\$H�t$WH�� 3�H��H��H��H��������H#�H;�HG�H��tH��t?��H��H�[H;�u�H�\$0H�t$8H�� _�H�\$H�t$H�|$UATAUAVAWH��H��@L��PL��3�H�U�I��H�u��%S��I��$�D�~1D�nA�Oи%I�$��E��+�M����º��k�+�I�<�H�M�H�|$ �Y����E�O�H�G8M�ƺH�D$ H�M��9����H�M�H��`E��M��H�D$ ������E�O�H���M�ƺH�D$ H�M����A��I���T���E�}8E�o�I��$�H�G�M��E�OH�D$ �H�M�跳��E��H�|$ M��H�M��蜳���E�OH���M��H�D$ ��H�M��w����H�M�H��`E��M��H�D$ ���X����H��A��I���p���I��$0M�ƍ{&H�D$ D�ύS�H�M��#����_I��$8D��D�o�H�D$ M��H�M�A�����D��H�M��{�I��$���M��H�D$ �ز���H�M�I��$�D��M��H�D$ ��踲���D�{�I��$@E��M��H�D$ A��H�M�蓲���{�I��$HD��M��H�D$ A��H�M��o����H�M�I��$P�D��H�D$ M��A���I����D�KI��$XM��3�H�D$ H�M��(���E��H�M��E�}I��$�A��M��H�D$ �����I��$�D��H�D$ M��H�M�A������H�M�I��$�D��M��H�D$ A�����L�\$@�I�[0I�s8��I�{@I��A_A^A]A\]���H����H�\$H�l$VH�� �H�ً��A���H�K8���6����u��H�Kp�(���H���������H��0�U�����H��@�;��H��H�;��H��P�;��H��`������H���������H��������H��0�����H����U����H����D;��H����8;��H����,;��H���� ;��H�\$0H�l$8H�� ^���������H�\$H�t$WH�� 3�H��H9�Pu	H��*$�Q����[:��H��H��tH��H���h�����uH�����H��H���:����&3�ǃ\�:��H�� �A��3�H�� H�\$0H�t$8H�� _�@SH�� 3�L��H��t
H��tM��uf��R�����r�����H�� [�f9t
H��H��u�H��ufA���L+�A�f�H�If��tH��u�H��u�fA�����"��H�\$WH�� E3�H��L��M��u,H��u,H��t���������D��H�\$0A��H�� _�M��t�H��t�M��tM��ufD���I��fD9t
H��H��u�H��ufE��I���uL+�A�f�H�If��t6H��u��.M��t A�M�@f�H��f��tH��tH��u�H��ufD�H���a���I���ufE�T[�D�RP�L���fE�����"�/������E3�L��fD9H��t)M��fE9tA�f9tI��A�f��u�H��fD9��H+�H���E3�fD9	t(L��fD9
t�f;tI��A�f��u�H����H���3��H�\$WH���H��d+H3�H��$��IH��H�L$0�U�m����~2I��H�D$03�I��fB9<Hu�I��H��XL�D$0�U�I$����u!H��$�H3����H��$H���_�E3�H�|$ E3�3�3��X�������H�\$WH�� H�I��H��3�I��H��f9<Ju���H�����CH�CI��fB9<@u�I�������CH��u��6D��H��u���*�D�H�A�@�f��vfA��afA��wA����A��E3ɉKE3�H�
�A�Q�<j���K������	��"�������u�{H�\$0H�� _��H�\$WH�� H�I��3�H��I��fB9<Bu���I�����Au��6D��H��u���*�D�H�A�@�f��vfA��afA��wA����A��E3ɉKE3�H�

A�Q�i���Cu�{H�\$0H�� _�H�\$H�l$VWAUH��H��b+H3�H��$�H���(��A�@L�D$0H����K��H��ҁ�����j��3�u
�k��>H�KH�T$0�˸��H��D�oV�����CD�OA��L�D$0H��ҁ����j����t�H�H�T$0膸���K��u��L�ωKI��fB9,Nu��8��uP9k��LcCH�T$0H��`�����KL��I��fB9,Nu�H��XI��L��I���v!�������C�#�;��Z�CL�D$0��A�@H��ҁ�����i�������H�H�T$0�ŷ������C��	�C9ktU��H��X�Cf9)��H��f9,~u����C�m���H�������]����KL��I��fB9,Nu��*���9ktH�H��H��f9,Ju�;KukH�����uCL�D��I��M��t#A�H���B�f��v
f��af��w�A����H��H��fA9,Au�D;�tK�kH��Xf9)u:H��f9,~u����H��X�Cf9)uH��f9,~u�L�OL��I��� ����u3�C���Ѓ�H��$�H3��c��L��$�I�[(I�k0I��A]_^�E3�H�l$ E3�3�3������������H�\$H�t$WH��0H��_+H3�H��$ H���%��A�xL�D$0H����K��H��ҁ�����g��3���u�s�F�IH�H�T$0�����u-I��I��fB94Ou�I��H��XL�ǺU�����u4�K�C���Ѓ�H��$ H3��p��L��$0I�[I�s I��_�E3�H�t$ E3�3�3��������H�\$H�t$WH�� 3�H��H��H����f91��H��^$�>����H��^$H��� �����tOH��^$H���
�����t<H��^$H���^>��u>� A�L�D$0H��X��f����t/�D$0��}��H�\$8H�t$@H�� _�H���P���� �3������@SH��@H�C^+H3�H�D$8A�	L�D$ H��A�QP�hf����tA�	H�L$ H��������u��3�H�L$8H3����H��@[��H��H�XH�hH�pH�x ATAVAWH�� 3�M����L�����xA��t?I��>�+��Hc�L��I��K�&�����u
I�L$I�I��
y�}���u;�~���H�l$H��H�t$P��H�\$@H�|$XH�� A_A^A\����H��H�XH�hH�pH�x ATAVAWH��0I��L��H����"��E3�H��H���H���D�cL��XH�3H�{fE�'H�fD9 tL��A�T$H�
Q$��H�fD9!H��tMH�fD9 t�d�����-���D9cuAL��H�
�L$�@�����tH�H��fD9 t�.���������x���D9c�SH��fD9&ufD9!u�u��H���7����؅��&=����U����
M��tA�H����H�� I��fD�&I��fG9$Ou�I��M�ǺUH���������D�H@L�źH���d������H���A�@L�ǺH����c�������_H���PH��u�P.H���PH��tA�@L��H��A�Q��c����tIH�����uA�L�[$H��A�Q������u>�A�
H�Ћ�E�A�:��3�H�\$PH�l$XH�t$`H�|$hH��0A_A^A\�E3�L�d$ E3�3�3���}��������H�\$H�l$H�t$ WH�� H��Z+H3�H��$H��� ��H���{ ��H��H����`���L�D$ ��A�x�ȋ�ҁ����ݔ3ۅ�u��C�?H���H�T$ 觰����u H�4Z$f;0t��H����
r��w�w����Ѓ�H��$H3��A��L��$ I�[I�k I�s(I��_�H�\$WH�� H�����I��M��3�H���H�I��fB9<Hu���I�����BH�BI��fB9<@u�I����A����B�{9zu+H�
D��D�	I�A�A�f��vfA��afA��wA����E��D�BH�
�����������	��"�������u�;H�\$0H�� _����H�\$WH�� H������I��L��3�H���I��fB9<Bu���I�����A���t(D��D�H�A�@�f��vfA��afA��wA����A��A����H�
j�D��u�;H�\$0H�� _���H�\$H�l$VWAVH�� H�|X+H3�H��$H���5��H����)��H��H�����NL�D$ ��A�x�ȋ�ҁ������E3�����H�NH�T$ �]���H�������FE�Nx��L�D$ ��ҁ����E����WH�H�T$ �������u���_�i��ui��D9vt;LcFH�T$ H�����u"���_�H��H�H��fD94Au�;Fu-�_�(���u"A��H�IW$f;t��H����
r���_���#�;����FL�D$ ��A�x��ҁ����z�����H�H�T$ �M�����u5���	�D9vt����PD9vt�H�H��fD94iu�;nu��D9vu4D9vt.H�H�T$ �����u3�L�Nj��[��t
�/D9wu�_����Ѓ��D�7�H��$H3����L��$ I�[(I�k0I��A^_^�������H�\$H�t$WH�� H�/V+H3�H��$H������H������H��H��������L�D$ ��A�x�ȋ�ҁ����B���u	!��hH���H�T$ ���������u	��u6�Q�#��u69��t.H���H�T$ �ܫ����u3�L�Nj��<��t	��_�_����Ѓ�H��$H3��}��L��$ I�[I�s I��_��E3�E��L���7�B�M�If��w����B�f��w���f�A����A���A�D�f��u�A�����H�\$H�t$WH�� 3�H��H��H��tSf91tNH��T$�w4��t>H��T$H���d4��u!�OD�NL�D$0� �����t-�D$0�9H���s���/�OL�D$0A�� �Ў��u3���D$0��u�j�H�\$8H�t$@H�� _���H�\$H�t$WH�� ���������L�D$0��A���
� H���k�E3҅�tU;\$0tH��tDL���E��A�I�I�B�f��v
f��af��w�A��H����H��H��fE9Iu�D;�t��3�H�\$8H�t$@H�� _��H�\$H�l$H�t$WAVAWH�� 3�M����H���x0I���+��Hc�L��I��I�.蠩����t)y�^���~;�~�2�H�\$@H�l$HH�t$PH�� A_A^_�H�EI�I�����@USVWATAVAWH��H��@H��R+H3�H�E�I��L��L�����H��3�H�E�E����H�M�E3�H���H���I���L���H�H��tfD9 t�FH$H�
�F$��L�����D�e�H���H��tyfD9 tsH�H��tfD9 tH�M��`����	H�M��%���D9e����mF$L�����H�
MB$�������H�H��tfD9 tH�M������wH�M������lH�H��tQfD9 tK���H��H��H���H��fD9$Hu�H��A��H�
���������O��E�uD�e���E��>��E�E�D9e���I��I��H�U�H�H#�����؅������������M�������M��tA��M�H���E3�A�qUD���[��H��td�M�H�� E3�D����Z���M�@D��L�Ǻ�X���t9�M�L���D�κ�<���tH����D�N�D�F��N0��3�H�M�H3�����H��@A_A^A\_^[]���H�\$H�l$H�t$WH�� �H�J��k#��3�H��H��t[H��H;�tLH�x0H�O�E3����tY��H�O��H�OH�7���G

�G
�g
�@�1��H����r�H��HH�G�H;�u�H��3��w#��H�\$0H��H�t$@H�l$8H�� _����H��tJH�\$H�t$WH�� H��H��H��H;�tH����H��HH;�u�H���#��H�\$0H�t$8H�� _�H�\$H�t$H�|$AWH��0�� r)���	��r����H�\$@H�t$HH�|$PH��0A_�3��O�ʼ����ߋYZ.H�\$ ;�|6L�=IV.I9<�t�"���I��H��u�x��(Z.��@�Z.H����ؼ�����Hc�L�V.H�ƒ�?H��H��I��H��H�%}��H��H�XH�hH�pH�x AVH�� Hc�H����xk;�Y.scH��L�5�U.��?H��H��H�,�I��H�|�(�u?�d.��u(��t+�t;�u��������������H��3�I��H�|�(3��豫���	膫��� ��H�\$0H�l$8H�t$@H�|$HH�� A^��Hc�L�U.H�ƒ�?H��H��I��H��H�%���H�\$H�t$H�|$ATAVAWH��0��A���I��3�L�%�T.�\$ �����Hc�I�4�H��u:���I��H������X.@�������Hc�H��I���@8D���L��H��H�t$(I;�tv�G8t�H����G8tH���H��HH�|$(��H+�H�9��8��8H��H��H��H��?H���Hc�L��I����?H��K���D�8K��L�t�(D����������裺��A��H�\$PH�t$XH�|$`H��0A_A^A\���H�\$H�t$H�|$AVH�� Hcم�xr;�W.sjH��L�5�S.��?H��H��H�<�I���D�8tGH�|�(�t?�<,��u'��t+�t;�u��������������3��I��H�L�(�3��艩���	�^���� ��H�\$0H�t$8H�|$@H�� A^���H��(���u�2���� �J����	�N��x2;
�V.s*Hc�L��R.H����?H��H��I���D�8tH�D�(����� ����	� n��H��H��(����H�\$H�l$H�t$WH��0Ic�D��H���u����H��u��������E3�H�-(K$A��C�
�+�A���Hc�H��+)t�ҍH�AI����D��DI�D;�~σ���x9H��UH�H�l�H�����H�؅�~;�}H��L��H�����u�C�3�H�\$@H�l$HH�t$PH��0_�H�d$ E3�E3�3�3��qm���H�\$H�l$H�t$WAVAWH�� L��H��tt3�L�="����A�U�I��+��Hc�H��H��H�I��׀6G�@��ty�}���];�~ă��H�A����6G��x=�sH�H�A���@(G�3�H�\$@H�l$HH�t$PH�� A_A^_��f�L$H��(�)��tL�D$8�H�L$0�
*��t�D$0����H��(��H�\$H�t$WH�� ��H���u!9���ϋ��}#ÉH�\$03�H�t$8H�� _����H�\$H�t$WH�� H�ك�tD���F�?���:�#��=�ϋ��#�#���������� *;�t��3�H�\$0H�t$8H�� _����A�@�3��\$D�L$A��fA#�A�J�f;�uA��f��@uA��fA;�D�¹DD�A��A�`A#�t)= t=@t
A;¹E����	����A�A���A����A#�A#�����A����	A#���A����
A#���A����A#�A���E#��A��AЋ‹����?%��������̋���?������\$�L$��?�ы������������Ћ�������Ћ������Ћ��������ы�����H�\$H�t$H�|$ D����A��%��?�A���3�D���A��#�A�;�tA;�t;�tD���A���A�@�A�@�A����A�#�t";�tA;�t;�u�`��@�
� ���A��t����A����uD��A��fA���u��A��f���uD��A��fA���t�����f�A��A��u��H�t$f�H�\$f�H�|$ fA��\$�L$��?��%��ȉL$�T$�̋�A�����?�\$��D����E#��ȋ��A#��A��D���A#ɋ����D���A#ɋ����D�������A#�A#�D��D��D$��A��?A��D$�T$��H�\$�Q��D�һfD#�L��3�D��f��u	f9����f��uA�A����fA�A������fA;�s(A�����f�f��f�f�fA�fA����fA;�r�A�fD;�w%��A���f��fD�f��f�f��fA�fD;�v�f��H�\$fA�fA�PA�����H�%�|�L��L��M��u3��A�
M�RA�M�[�A���D�I �B�DGɃ��J A��G�+�uE��tI��u���H��(�=�K.u-H��u�����g������H��(�H��t�H��(�z���E3�H��(���H��H�XH�hH�pH�x ATAVAWH��@I��H��L��H��u蘡����f��������H��t�H��u3���I��H�L$ �r��H�T$(H��8uL��H��I��������A�L�%�#fE9>sA�A�DLt
H������A�H�T$(�%H�T$(I�����fD9>s�A�DLt
H�������H�T$(��H�T$(H����+�u��t
H���x����|$8tH�D$ ������H�\$`H�l$hH�t$pH�|$xH��@A_A^A\�L��L��M��u3��A�
A��A���D�I �B�DG�I��I�ÍJ ��A��G�+�uE��tI��u�����H��(�=�I.u6H��u������6e������H��(�H��t�I�����w�H��(�q���E3�H��(��H�\$H�t$WH��@I��H��H��H��u躟�����d�������iH��t�H�����w�H��u3��RI��H�L$ �p��H�D$(L���H��B��H��B���+�u
��tH��uڀ|$8tH�L$ ����H�\$PH�t$XH��@_����H�\$UVWATAUAVAWH��@H��A+H3�H�D$0H�2I��L�L$ M��L��L��H����H��H���L�d$(I��L��LC�I���"H��H���tPL;�tL;�r;L��I��H���
���H��t
H�+�x�tH��H��HE�L+�H�H�l$ �3�H�X�I+�I�>H���<I�>H���33��H�L$(L���'"H���tH��t�|'t	H�H����H��H�H�L$0H3��ٱ��H��$�H��@A_A^A]A\_^]��H�\$WH�� E3�I��L��M��u,H��u,H��t������	c��D��H�\$0A��H�� _�H��t�M��t�M��uD���H��uD��H+�H��M��I��I���u��H�„�t(I��u�� ��H�„�tI��tH��u�H��uD�M��u�I���uF�T�E�PP�u���D��G����"�Y����H�\$WH��PH��$�H��u� ������@b����H�\$`H��P_Ã�H��tڋ�$���t	A�����uƃd$@�d$D�D$0D�L$(D�D$ D��L��H��H�L$@����D$D�|$@t,��t!HcH��H��H�>F.��?H��H�€d�8�����t�����g����L��I�[I�kI�s WAVAWH��0Lc�3�M��A�A��?H�
�E.I��I��H��A��H��O��H��B8\�8�A�@E��u"I�K�\$P� ����D$PA#�u?����A#�A���@t>�����������t������t ������u������#�;�uD�>�������E@�z�E��#‹ˋ�=@t=�t3;��V�E���KA;�v��v\���8�����A��\$PH�T$PA���Ol����~��D����tEA;�tW�����|$PuD��E��3�A���q��H��tzE3�3�A����q��H���u�Қ�����M���v����D$P=��u
诚�����=��uE3�I��A���q��H���t�D�>�E3�3�A���q��H���t���tY����\$P��t��u�D$P��A����D$P���t(D��Hc�H�T$PD+�H�A���W������F����;��3�H�\$XH�l$`H�t$hH��0A_A^_�E3�H�\$ E3�3�3��d_������H�\$H�l$VWAVH��0H�����E��A���������tI��t ��t詙�����^�����0���)����@����"��Ɂ����@����ljK�#�ta=tS=tE=t7=tE=t"=t);�t�)�����J^���K���!����������C��tI��t=��t1��t%��@t�՘����]���%3����@�������	��3��c�s�C�@��y�����u��@uH�L$X����u~9t$Xt�����t�FI.��A#Ƅ�x�C@��@t�k�k�K��s	K��
s�k@�� t�k�@��t�kH�l$`H��H�\$PH��0A^_^�H�d$ E3�E3�3�3��W]�����H�\$H�l$WH�� Hc�H�
_A.H��H��H����?H��H�ҊL�8��Hux3��yrD�EH�����n��H��H���u�^����8�tM�q�����FA�f�l$0H�T$0���zh����uf�|$0uH�׋������t�E3�3ҋ��?n��H���t�3�H�\$8H�l$@H�� _����H��H�XH�pH�xL�p UH�h�H��H�eH��H�eL��H�eH�M�H�e'3�H�e/A��I���E7��g��H�E�A��D9@u�}tBH�E���5�e?����u8EtH�E��A���}tH�E��E3�H�UH���e�����t���)�ED��L�EH�։D$0I�΋Ew�D$(�Eo�D$ �e�؀}7t	H�M���L��$���I�[I�sI�{ M�s(I��]��H��8A���D$(D�L$`E��L��H�L$ D��A��I�����H��8���H��H�XH�pH�x L�@UATAUAVAWH�h�H��E��I��D�MwH��D�EoH��A��H�M�����HE�fs�fI~��M�I�� �M�L�}�A���u�.���3��0���B�����9�������u�
���3��0��������ϋM�L�M�L�u�A��H�U�E���I�� ��Duǃ��3�H�t$0D�t$(�L$ H��H�� �E�H�u�E�L�u�$o�]���L��H���u{��#�;�u@A��t:�M�L�M�H�t$0���]�E��H�U�D�t$(�L$ H�M_H�� ��nL��H���u3HcL�=�=.H����?H��H��I�ǀd�8���q���œ�����I��_o��uQ��q�ȋ�褓��HcL�=�=.H�ʃ�?H��H��I�πd�8�I���p��������ݓ���
���D�u���uA��@�	��uA���I���l�HcL�=F=.H��A��H����?D�u�I��H��D�t�8HcH����?H��H��I��@�t�9A��t�����E���t��E���E��HE�L�M���M�H�U�E��)E�@�u��M���Hc�E���u�H��H����?I��H���E��D�9HcH����?H��H��I��A���$�d�=�D�=A��Hu A��tHcH����?H��H��I�ǀL�8 ����#�;���A����I���oH�M�L�M�D�E���H�t$0�L$(�M��L$ H�M_�]�H�U�H�� ��lH��H���u3��o���ԑ��HcH����?H��H��I�ǀd�8��������HcH��H����?I��H��H�T�(3�L��$�I�[0I�s8I�{HI��A_A^A]A\]��f�L$H��X���f;���H�L$0��b���T$`A�fA;�s*��H�
v�#�AtH�D$8��H����I���DH�D$8H��8H��t3H�D$p�D$(A�H�D$ L�D$`A���B�T$`��t�T$p�|$HtH�L$0������H��X������ATAUAVH��PH��3+H3�H��$M��M��L��H��uH��t�����
V���HM��t�M��t�H���4H��$HH��$@H��$8H��$0L��$(L�z�M��L�3�H�L$ fff�3�I��I+�I��H�XH����M;�veK�4.I��H��I;�w H��H��I��Ap��HO�I�I;�v�M��I��I;�tI+�D����
H�RI��u�M+�M;�w�H�L$ H��H��H�L$ H���0L�l�0L��� �W���H��I��I��I��J�<+H���o��~4M��L��L;�t)@ff�A�I��H+��
�A�I��I��u�I��I��I��vo��~*M��I��M;�tM��M+ϐ�A�A��
H�RI��u�I��H��I��9o��~-M��I��I;�t"L��M+�@�A�A��
H�RI��u�I��I��f�H;�v I�H;�sH��H��I���n��~�H;�wI�I;�wH��H��I���n��~�H��I+�H;�vH��H��I���n���H;�r8M��H��tL��L+��A�A��
H�RI��u�H;�H��HE�H���e���H;�s I+�H;�vH��H��I��In��t�H;�rI+�I;�vH��H��I��)n��t�I��H��H+�I+�H;�H�L$ |+L;�sL�l�0H��� H��H�L$ I;����L���d���I;�sH�\�0L��� H��H�L$ L;�����L���9���H��$0H��$8H��$@H��$HL��$(H��$H3��1���H��PA^A]A\����H��XH��/+H3�H�D$@3�L��H�� L��sw�D H��H�� |����H�������L ��I���L A���u��A���A�Ƀ�H����T uI��E�E��u�3�H�L$@H3�蒠��H��X�I�����������H�\$H�t$WH��0L��H�5�A��H��I+�H��L��W�I�C��oH��ws����"H��fs��`fs��Yfs��Rfs��Kfs��Dfs��=fs��6fs��/fs�	�(fs�
�!fs��fs��fs�
�fs��fs�W��ft�f����8D��M��uD�R��E3�A���I+�H;�A�‹�A+�;������@�"H��fs�fs��fs�fs��fs�fs��fs�fs��fs�fs��{fs�fs��ofs�fs��cfs�fs��Wfs�	fs�	�Kfs�
fs�
�?fs�fs��3fs�fs��'fs�
fs�
�fs�fs��fs�fs��W�E�����oWfo�ft�f���u@H��I��H�\$@H�t$HH��0_�c���M��u�D8_��H��H�\$@H�t$HH��0_�=����ȋ�I+�H��H��w�+у�wz�����"H΋��fs��efs��^fs��Wfs��Pfs��Ifs��Bfs��;fs��4fs�	�-fs�
�&fs��fs��fs�
�fs��
fs��W�f��fo�A���t6ff���fn�f`�f`�fp�ft�f���uA�@I����u�3�H�\$@H�t$HH��0_�H�\$@I��H�t$HH��0_�&�"-�"4�";�"B�"I�"P�"W�"^�"e�"l�"s�"z�"��"��"�"�"�"�"�"*�"6�"B�"N�"Z�"f�"r�"~�"��"��"��"*�"1�"8�"?�"F�"M�"T�"[�"b�"i�"p�"w�"~�"��"��"��"E3��H�\$WH��@H��H��H��u�Έ�����M��3��`H��t�H;�s�I��H�L$ ��Y��H�L$0H�S��yt$H��H;�w
��Du�H��H+�H�Ӄ�H+�H�ʀ|$8tH�L$ ����H��H�\$PH��@_�����H��(跓��3Ʉ�����H��(��H�\$UVWAVAWH��@H��*+H3�H�D$0E3�L��8.M��H�=5�H��L��ME�H��A�jHE�D��ME�H��H�H#�M��uH������UfE9SumD�H��E��xH��tA�ɉE��A��I���)A��$�<�uA��A��$�<�uA��A��$�<���A�A���+ȋ���A��+�A��#��)E�CA�A�[A�@�<��@:���A:�����I;�D��MC�� �H�NJ�$�<������Ƀ�?�����H��I+�I;�r�L;�sA��A*�fA�C��fA�CA������(��=�v>��s6A���D$ ��D$$�D$(;T�rH��t���M�H�H#��M�脆���*H��H�L$0H3�����H�\$xH��@A_A^_^]�@SH�� H����������C3�H�� [�@SH�� H�ً	�,��K�l�H�d$0H�L$0�����u�D$09u
�D$49Cu3���H�� [�@SH�� �d$8H�كd$<H�L$8�w�����u$H�D$8H�L$8�L$8H��|�����u	�+
3���H�� [�E3��D$H�T$H��������H��H#�H�@CH;�A��H;�rH��H;�v~H���%+��H��?H;�s+H��tbM��tH��H�D$�D$�F�]��<H�¹3H��4*ȸH��H��H��H#�H�D$�D$M��u
H;�t�X����������������H��Xft$ �=+4.��f(�f(�fs�4fH~�f��C$f(�fT-�C$f/-�C$��f(����fW�f/��/f��C$�\%_D$f/5�D$��fT%9E$L��H#�C$L#
�C$I��I�fHn�f/%�D$��H��,f�#D$f�
D$L�
�
$�\��AY�f(�f(�L�
[E$�cD$�
+D$�Y��Y��Y�f(��X3D$�X
�C$�Y��Y��Y��XD$�X��Y��X��-sC$�Y
+C$�Y��\��A�H��L$���%9C$�Y��X��X��X�fot$ H��X�ffffff��(C$�\0C$�X�f(��^��%,D$�-DD$f(��Y��X�f(��Y��Y��Y��X%�C$�X-D$�Y��Y��Y��Y��Y���B$�X��\��5lB$f(�f��C$�\��X�f(�f(��Y��Y��Y��Y��X��X��X�fot$ H��X�f�qB$�\iB$��f��A$fH~�fs�4f�-�B$����f�u�
FA$D�C$�
�H��
HA$D�eC$�	�*ff�H;A$tH;A$t�H'A$fHn�f�fot$ H��X�DH3���s�4��~���A$�����-�@$�/-�@$�A�����/������@$�\%�A$�/5B$����
�@$���@$��s�������~����%?B$�/%�A$��H��,���EA$���
=A$L�
�
$��\��sY�L�
�B$��Y���A$�-QA$���hA$���-�@$�����BA$�Y���ѹ�������Y
l@$�-�@$��ɫ��A�H�2J$����X���ɹp@$�X��ot$ H��XÐ�x@$�\�@$��X��^��%�A$�-�A$�Y���X���Y����%SA$���-jA$��Y���Y���Y���Y���Y���X���\���fA$�\���X���Y
�?$��Y%�?$��Y�?$��Y�?$�X��X��X��ot$ H��X�����?$��\�?$��s�4���:?$�(���-^@$���@���Du.�
�>$D��@$��ot$ H��X�fffffff��
�>$D��@$�\�ot$ H��XÐH;y>$t'H;`>$t�H�>$fHn�D��@$�&�@�ot$ H��X��H�\$H�l$H�t$WAVAWH�� E3�A��I��L��L��A��D8|$`tA�G-��f��X�L�RM��3�I�r��M����ȃ�	�WD�p�fAF�H��f�fA���tL��H;�r�H;�rfE�;�~���"��C�����#fD�>A�A�	fA�I��fA�I��M;�r�3�H�\$@H�l$HH�t$PH�� A_A^_�@SH��03�D��H��u�;~�����[C����H��0[�M��t��L$`f�H�AL;�w�~���"��A�A��";�w��L$`A��H��0[�������H��83�A��
u��y��D$ �y���H��8��D�D+�uH+�f��tH���D�D+�t�A��A�����A+����̋f..��@SH��@H��++3�H���u.H�\$0D�C�\$(H�
�>$E3�D�D$ �@��WH�Q++H�����H��@[���H��(H�
5++H���w�!ZH��(�H��H�XH�hH�pWH��@H�`�I��M�ȋ�D��H��H��H�
�*+�=W�؅�uj�YZ��u_H�
�*+H���w��YH�d$0H�
>$�d$(A�E3�D�D$ �@��VH�d$ L��H��H��*+D��H���V��H�l$X��H�\$PH�t$`H��@_���H��(�d$8��H�L$8�7���D$8��H��(����@SH�� M��H�-.D�ʸ�IEغ$Aу;uPf;�wH�#�{���*H���[A�(A��fE�fD;�w��
��������3��2L��H�� [���f;�w�H�d$@L�D$@A�с�#���Ŕ��H�#H�� [����H��(H��u�z{����@����
�V,.�3�H��(��H�\$H�|$L�t$Hc�H�=�$.L��A�I����?N��L��C�L�8G�\�9�ف���@tL���t:���������tA;�uD�ɀC�L�8J��B�D�9�0�ɀC�L�8J��B�D�9���C�L�8��ɀC�L�8J��B�D�9��u���E��u�@�
A���AD�H�\$H�|$L�t$���H��H�XH�hH�pH�x ATAVAWH�� H��A�E��3ҋ��VQ��3�E�F��L���FQ��H��H+�I�����H�����3�H����A�A��A����H��H��u
��y����I�������D���
H�H+�H��~?D��I;�H�Ӌ�EM��x8�����u��y���8u�y���
�y���8H�����WA�֋��/�����yIE3�H�Ӌ��P��H���t/���	��H���S��u"�Wy���
�,y��H���V��<y���8E3�I�׋��=P��H�\$@��H�|$XH�l$HH�t$PH�� A_A^A\�H�\$H�l$H�t$WH��PIc�I����H��E��~H��I���i��;ÍX|��H�d$@D��H�d$8L��H�d$0�֋�$�H�͉D$(H��$�H�D$ �z%��H�\$`H�l$hH�t$pH��P_��@SH�� ��������E3��?tK�ˋËӃ���D��A����DD�A�ȃ�$��ADȋу�$��D�D��A��$ DD��tA��A��H�� [�������H��8H���#A�H�D$ �H��8�H��H��h)p�(�A��(�A��t*A��uiD�@�W��P�E���@��@�!�@��-�D$@W��D$8A��\$0�D$("�D$ H��$��t$xL�D$x����(�(t$PH��h�%�TH�%�S�H�L$H��(H���H�L$8H�h�H�H���h���H��(���@SH�� H�YH��t9����C��u,H�H��H���V����C��uH�H��H�@��VH�� [���L��I�[WH��0H��W��D$ L�M�C�L�JM�K�H�"H�bH�I�C�L�H�YI�[�L�IH��t9����C��u,H�H��H��eV����C��uH�H��H�@�HVH��H�\$@H��0_�����������H�\$H�L$WH�� ��H��H���H�L$@H�A�H�H����f����t
��H���{���H��H�\$8H�� _��H�\$H�t$WH�� H�Y��H��H��t9����C��u,H�H��H���U����C��uH�H��H�@��U@��t
�H������H�\$0H��H�t$8H�� _�@SH�� H���t
���؇��H��H�� [����H�L$SVWATAUAVAWH��pL��L��3��t$ H�B0H�Z8H�\$HLc@Ic|H�HcOH���H�L$8�u��L��H�D$(H����W��D$H�^�\$ ��#+H��#+H�D$HH��#+H�D$PH�T$HI��������\$ H�L$PH���
������A���H�\$PH�H��H��fT����C���H�L$PH�H�@�ET�H���L��L��I�T$(�W�A�A�^A�^H��E$I�M�nL�l$XA�$A�EA�D$�A�EI�uI�uA�t$��$�A�u�{��$�;�G���$�H��I�T$ I�M L���s��+�D��I��H�K I�3��w��I���I�F8M�/M�wH��pA_A^A]A\_^[������������H��H�XH�hH�pWAVAWH��@M��H��3��x�M����W��@Ѝ_�X��"+H�"+H�D$(H��!+H�D$0H�T$(�5�����\$ H�L$0H����������A���H�\$0H�H��H���R����C���H�L$0H�H�@��R�w�A�XA�XH�D$I�M�p�A��B�A�FI�~I�~�rA�v�{;�G�H��H�� I�N L���q��+�D��I��I�N H�3��u��L�uL�}H�\$`H�l$hH�t$pH��@A_A^_����H�\$H�l$H�t$WH�� A�I��H��H��u<A�xt5IchI�PH��I��ww���L��H��H��t
A��z����*�g����#Mc@�q���tH�H��t
H�H�@��QH�\$0H�l$8H�t$@H�� _����������H��(�78���H��(��H��(�ycsm�uo�y(ui�Q0���l�v��@�uSH�Q@H��tOL�A8M��tAL�IHHcBJcL�ztHcRI�I���sv���B�	tI�H��tH�H�@��P�H��(��>�����H�\$WH�� I��H���csm��AH�aH�a�AH�A  �H�Q(M��tA�tH�H�H�H�y0H�{0H��tH�T$0H���K�3�H�D$0H�C8H��t�uH��uH�C @�H�\$8H�� _���H�!H�aH�BH��t�@H�H�H�BH�A����H�!H�a���H�\$WH�� H���*v��H�H��tZ�;MOC�tR�;RCC�tJ�;csm�u)�{u#�K ���l�v��@�u
H��H���w��������o��L��H��H���5����H�\$0H�� _��3�����@UH���H�l$ H���H��+H3�H���H�H��uH�M�9���H��*H�M�M`���H�M ��HI@ A H0I0@@A@HPIP@`A`@pD�H�DH�DD�U A��csm����}8��H�M@���l�v��@�uvH�UHH����H�EPH�����x��Hc@L�MXB�<~vNcDM�Ic@H�HH;�w
H�����H���H���r���H+�H�\$ H���2���D�U H�]HD�E8L�M@�U$A���IH���H3��ǁ��H���H���]��f�����H���_J���������H���;S���������H���s}���������H���S���������H���c}���������H��H���V�����H��(H��H��A����|����tH��(�����������������H��(H��H��E3�A���|����tH��(�讹������������H��H���sW�����H��(H��H���g|������H��(������H��(H��H��E3��T|������H��(���H��(H�H�@��L3�H��(�H�H�@ H�%�L�̋..��x
��~��t0H�?$H�H���UH��H�=a.tH��>$H�H���H{��H�=.t�H�{>$���H�\$H�t$WH�� H��H��H���m��H��H����l��L�H��H��I��6LH���6m��H�\$03�H�t$8H�� _�H��H�XH�p H�PH�HWAVAWH��0M��M��H��H��3�H�X�X�I;�t!H��I��H��K��H�H�|$PH��H�\$(���D$ H�\$`H�t$hH��0A_A^_�������������LcA<E3�L�L��A�@E�XH��I�E��t�PL;�r
�H�L;�rA��H��(E;�r�3��������������H�\$WH�� H��H�=���H���4��t"H+�H��H�����H��t�@$���Ѓ��3�H�\$0H�� _���̸MZf9u HcA<H��8PEu�f9Hu��3�����H��H�XH�hH�pH�x AVH�� M�Q8H��M��H��I��H��I��A�H��I�L�C�F}���E$f�ظ��ЅStL��M��H��H���|��H�\$0H�l$8H�t$@H�|$HH�� A^����H��H�XH�hH�pH�x AVH�� I�Y8H��M��H��I��H��I��L�C��|���E$f�ظE�A��D�D�CtL��M��H��H����f��H�\$0H�l$8H�t$@H�|$HH�� A^��H�T$H�L$H��(E3�E3�H�T$8H�L$0��FH��(����E3�L����uDA��H��H���A��A��W�A���oft�f�A#�uH���oft�f���t���H�Ã=�+����M��A��I������fn�A���p�A��W�A��fAtf��fp�fo�fAtf��A#�A#�u-��W�fo�Iʅ�LE�I��fAt
fAtf��f�Ѕ�tӋ���#���#���Iʅ�LE�I���A�;�MD�A�8t�I��A��u���fn�fA:c@s
Lc�M�fA:c@t�I��������L��E3�fn��p�fp�I��%�H=�w#�AoW�fu�fu�f��f���u��fA9t%fE9t�L����L�fA9MD�I���3��I������������ff�����������������������ff��%�G����������H��0��U�H�T$UH�� H��L�E H�U(H�M8�_�3�3��X���H��8�(T�H�T$UH�� H��H�M0�z[�H��L�E H�U(�_�3�3��QX���H�� �8T�H�� �|T�H��P�<T�@UH�� H�꺘H�M@�y��H�� ]�H�� �S�H��(�U�H�� H���S�@UH�� H��L�
�S�A�� H�MP�3x��H�� ]�H��8�U�H��p�T�H��pH��H�S�H�T$UH�� H��H�M(�Z�H��L�E0H�U �^�3�3��cW���H��`�fS�H��@�ZS�H����S�H����BS�H����6S�H����*S�@UH�� H��E0����t
�e0�H�MP�
T�H�� ]�H����,S�H��(��p�H�� �pp�H�� �p�H��@�Xp�H��(�hp�H�T$UH�� H��H�M �Y�H��L�E(H�M ��k�3�3��}V���@UH�� H���H�M@��w��H�� ]�H���
�#q�H��P
�WR�H��
�KS�H��`�?R�H����3R�H����'R�H���	��R�H��0
�R�H��
�S�H�� �Q�H�����Q�H��@��Q�H���	�R�H��p
��Q�H���	�R�H����Q�H����Q�H���Q�H���	�;R�H���
�Q�H���	�sR�H����gQ�H����[Q�H����OQ�H���	��Q�H���
�o�@UH�� H���H�M0�v��H�� ]�H��0�NR�H��`�fQ�H��@�*Q�H������H��P��P�H��0��P�H��x�vQ�H����V��H��H�^Q�H�� �RQ�H����֤�H��P�:Q�H��`龤�H�T$UH�� H��L�E H�U(H�M8�x[�3�3��GT���H�T$UH�� H��L�E H�U(H�M8踱�3�3��T���H����b��H����n�H����P�H��8�P�H����P�H�� �N�H��0H���Q�H����
��H��`�P�H�� �^m�H�T$UH�� H��L�E@H�U H�M8�L�L�E(H�U0H�M8�7�3�3��jS���H����mO�H����aO�H��p�UO�@UH�� H��XH�M0�t��H�� ]�@UH�� H��8H�M@�t��H�� ]�@UH�� H���H�Mp�tt��H�� ]�@UH�� H���H����Tt��H�� ]�@UH�� H�꺘H�MP�7t��H�� ]�@UH�� H��H�MP�t��H�� ]�@UH�� H��XH�Mp�s��H�� ]�@UH�� H���H�Mp��s��H�� ]�@UH�� H���H�M`��s��H�� ]�H��(�T��H�� �ў�@UH�� H��E@����t�e@�H�M0H�� ���H�� ]�H��0H���_�@UH�� H��E8����t�e8�H�M0H�����H�� ]�H��0H�� ��H��8��H��0��H��0��S��H��0H���>��H��0H���.��H��0H��(���H��0H��8���H��0H��H��H��0H��X���@UH�� H��L�
*M�A�� H�MX�vq��H�� ]�H����hM�H���H���N�H���H��8�vN�H���H��h�cN�H���H����PN�H����M�H���H���1N�H���H��8�N�H���H��h�N�H��pH����M�H���锠�H��x�HM�H��pH��X�5L�H��pH����"M�H��pH��@�L�H��pH��`�K�H��pH�����K�H��0�	�H�� ��K�H��@�I�H��P��H�T$UH��@H��H���H�Lc@L�A�H��I�@HH���҃�у�A�PA�@#�t
3�3��\O���H�H��@]��H��@��@UH�� H��0H����p��H�� ]�@UH�� H��H����p��H�� ]�@UH�� H�ꋅ�����t����H�M ��H�� ]�H�����H����N��H��h�J�H����J�H��@�J�H�T$UH�� H��H�H�� ]��H�T$UH�� H��H�M(�rQ�H��L�E0H�U �zU�3�3��IN���H��X���@UH�� H��E ����t
�e �H�MX�l��H�� ]�@UH�� H��E ����t
�e �H�MH�F��H�� ]�H��0���@UH�� H��ET����t�eT�H����J�H�� ]�H����I�H���I�H����WJ�H����KJ�H����?J�H����3J�H���
�wI�H��`
�kI�@UH�� H��EP����t�eP�H��p�HI�H�� ]�H���
�6I�@UH�� H��EP����t�eP�H��P�I�H�� ]�H���
�I�@UH�� H��EP����t�eP�H��0��H�H�� ]�H����H�H����H�H���H�H���
�H�H��
�LI�H���	�М�H���	�Ĝ�H��p	���H���
鬜�H���	�`H�H���	�TH�H����HH�H����<H�H��@
�0H�H��`�$H�H����H�H��x�H�H�� �H�H��@��G�H�� 
��G�H��X��G�H��0
�H�H��@
�tH�H�� 
�hH�H��h�G�H��P
�PH�H���	��H�H��8�G�H��`
�|G�H���
� H�H���
�dG�H���
�H�H�� �H�H����@G�H����4G�H�����G�H����G�H��p�G�H����G�H����G�H����G�H�����F�H����F�H��`��F�H����F�H�����G�H������H����(��H���F�H��P�F�H����tF�H��
�`��H���G�H����G�H��0�DF�H�� ��F�H�����F�H�����F�H�����F�H����F�H����E�H�����E�H����$G�H����G�H����|F�H���pF�H����E�H��P�XF�H����LF�H����@F�H��@�4F�H��p�(F�H��0�F�H��0�F�@UH�� H��E ����t
�e �H�MH�@E�H�� ]�H�� �z��H��8��H�T$UH�� H��H�M(H�Lc@L�A�H��I�@HH���҃�у�A�PA�@#�t
3�3���H���H�H�� ]��@UH�� H�꺨H�M`�j��H�� ]�H���
�]c�@UH�� H��E@����t�e@�H����*E�H�� ]�@UH�� H��E@����t�e@�H����E�H�� ]�@UH�� H��E@����t�e@�H�����D�H�� ]�H�����D�@UH�� H��E@����t�e@�H���D�H�� ]�@UH�� H��E@�� ��t�e@�H���zD�H�� ]�@UH�� H��E@��@��t�e@�H����QD�H�� ]�H��P	�C�H��P�C�H����wC�H��p�kC�H����_C�H����SC�H����GC�H��p�;C�H��0�/C�H��0�#C�H����C�H����C�H��p�B�H��P��B�H����B�H�����B�H�����B�H��0��B�H��P�B�H��0�B�H����B�H���
�B�H��@	�7C�H���
��`�H��@�oC�@UH�� H�꺘H�MP��g��H�� ]�H��p醖�H�����B�H����n��H����`�H�����B�H����B�H����B�H����f`�H����B�H��0�v��H����Z��H��H�^��H���
�fB�H�� �z�H�� ��H��@�b�H����ƕ�@UH�� H��L�
���A���H��`�e��H�� ]�H����H��違�H���5B�H��p�)B�H����]��H��@�Q��H��`�B�H��H�A�H��8�a_�@UH�� H�ꋅX����t��X�H�M �wA�H�� ]�H��h�A�H����A�H��8�A�H�� �A�H����5A�H����)A�H����A�H����A�H����UA�H����IA�@UH�� H��H����e��H�� ]�@UH�� H���H�M0�e��H�� ]�@UH�� H��L�
�?�A�� H����Ed��H�� ]�H����7@�H���H����}�H���H���EA�H���H��H�2A�H���H��x�A�H���H����A�H���H����
}�@UH�� H��E0����t
�e0�H�M@���H�� ]�H������H������H��`
��?�H�� ���H����?�H��@��|�H��X��>�H��8��>�H��0�?�H�����H�� �+]�H���]�H��0髽�H�� �?\�H�T$UH�� H��L�E(H�U H�Mp�%��L�ExH���H�Mp���3�3��HB���H��@�>�H��H��>�H������H������H��8髽�H������H����+��H��p�'��H������H��0�?��H��p�>�H���~�H����k>�H������H����\�H����ב�@UH�� H�꺘H�M`��b��H�� ]�H��8��=�H��8H��P�[=�H��8H��x�H>�H��8H����{�H��h��=�H��X�>�H����>�H����>�H����=�@UH�� H��L�
�<�A�� H��p�2a��H�� ]�H����>�H����d=�H����X=�H��H�[�H��X�А�H��p�Z�H�� �<#�H�� H���#�H�� H���8#�H�T$UH�� H��L�E H�U(H�M`���H�M`�1C�H��L�EhH�Ux�M$�3�3��@���H��0�#�H��0��"�H��H��;�H��@�<�H�� ��"�@UH�� H��@H�M0�4a��H�� ]�@UH�� H��pH�M0�a��H�� ]�@UH�� H��8H�M �`��H�� ]�@UH�� H�꺈H�M0��`��H�� ]�@UH�� H��XH�M@�`��H�� ]�H��P�j#�H����v"�H�� �;�H��@�Z<�H��@H���J��H�T$UH��@H��H���H�Lc@L�A�H��I�@HH���҃�у�A�PA�@#�t
3�3��>���H�H��@]��H��H�"�H��x�;�H��X�:�H��8�{:�H����;�H��x�c:�H����:�H�
��-�+f��H���!�H������H��p�"�H��(�:�H��0�!�H�
��-��e��H��@��!�H�� �Ss�H��`��@UH�� H��H�M0�8_��H�� ]�H��0�:s�H����� �H�� H��P�9�H�� H��p�9�H�� H����q9�H�� H����^9�H�� H�� �N9�@UH�� H��E$����t
�e$�H�MP�n��H�� ]�H�
�-�d��H���9�H����X �H������H��P�� �H�� ��8�H�� �� �H�
��-�d��H����8�H��p��s�H��P
�4r�H��0�8�H����s�H���
�r�H����t8�H����s�H�� ��q�H��P�s�H�����q�H��
�88�H����hs�H����q�H����8�H����Ds�H��X�q�H����,s�H����tq�H����s�H��(�\q�H��0�r�H����Dq�H�����r�H����,q�H��p��r�H��`�q�H���r�H����p�H����r�H��0��p�H��P�r�H�����p�H����lr�H���p�H����Tr�H��h�p�H��0�<r�H����p�H��P��6�H��0�r�H��8�`p�H�����6�H�����q�H����<p�H����6�H��p��q�H���p�H��0�|6�H���q�H��p��o�H���
�X6�H���
�q�H�����o�H��P
�pq�H��@�o�H��
�6�H���	�Lq�H����o�H���	�5�H���	�(q�H���po�H��0	�q�H��x�Xo�H����5�H�����p�H����4o�H����5�H��p��p�H��H�o�H��0�t5�H���p�H�����n�H����P5�H����p�H����n�H��p�,5�H��P�\p�H����n�H���5�H����8p�H����n�H�����4�H����p�H��P�\n�H��P�4�H��0��o�H����8n�H����4�H�����o�@UH�� H��L�
n�A�#�hH��P
��X��H�� ]�@UH�� H��HH�M0�Y��H�� ]�H��P�4�H�
+�-�`��H�����4�H����j�H�������H��P���H��(���@UH�� H��PH�M0�KY��H�� ]�H��@�y4�H���3�H�
ƾ-�_��H������H�����H����m��@UH�� H��L�
}3�A�� H�M0��W��H�� ]�H����4�@UH�� H��H�M0�X��H�� ]�H����r�H�� H��H�3�H�� H��h�3�H�� H����2�H�� H�����2�H�
�-�^��H��P���H����H�����H����2�H��P���H��(���@UH�� H��PH�M0��W��H�� ]�H�
��-�E^��H�����H��`�-��H���1�H��8�52�H��8��@UH�� H�꺨H�M0�W��H�� ]�H��P�D�H�
Q�-��]��H�����1�H��(�0�H�����H��0���H�� �R�@UH�� H��H�M0�W��H�� ]�H������H���2�H����w2�H����R�H��H�_1�H�
ȼ-�3]��H�����H������H������H�����H�� ���H�� ���H�T$UH�� H��H�MP�7�H��L�EXH�MP���3�3���4���H�T$UH�� H��L�E(H�U H�Mp�5��L�ExH���H�Mp�;�3�3��4���H�T$UH�� H��L�E0H�U H����6��L���H���H�����3�3��K4���H�T$UH�� H��L�E0H�U H������L���H���H����_��3�3��4���H��P�=0�H��(�/�H�T$SUWH�� H��H�M H�}HH��t�G��_��H��H�H��H�B��"H��H�����H�H�� _][��H�T$SUH��(H��H�M H��t�����	��H��H�MXH�H�B�M"H��H�����H�H��(][��H�T$SUWH�� H��H�M H��t����H�E@�E(H�E8
A�
H���H�M(�EA���E5���L��H�E(L;�tVL�M(H�}@����LEM(H�]8I;Zw*I��I�z����tI�:I�ZL��I��H����@����E3�H��I���;��H�U@H������t
H��H�M(�/��H�H�� _][��H�T$SUH��(H��H�M H��t��������H��H���H�H�B�!H��H���e��H�H��(][��H�T$SUWH�� H��H�M H��t����H�E@�E(H�E8
A�
H�q�H�M(�@���E5�G��L��H�E(L;�tVL�M(H�}@����LEM(H�]8I;Zw*I��I�z����tI�:I�ZL��I��H���?����E3�H��I�����H�U@H������t
H��H�M(����H�H�� _][��H�T$SUH��(H��H�M H��t��H����H��H�MXH�H�B��H��H���+��H�H��(][��H�T$SUWH�� H��H�M H��t��H�H�E@�E(H�E8
A�
H�7�H�M(��>���E5�
��L��H�E(L;�tVL�M(H�}@����LEM(H�]8I;Zw*I��I�z����tI�:I�ZL��I��H���x>����E3�H��I������H�U@H������t
H��H�M(���H�H�� _][��H��X�,�H�T$SUWH�� H��H�M H�}PH��t�G��J��H��H�H��H�B��H��H������H�H�� _][��H�T$SUH��(H��H�M H��t��������H��H�M`H�H�B�8H��H�����H�H��(][��H�T$SUWH�� H��H�M H��t����H�EH�E0H�E@
A�
H���H�M0�0=���E=�o��L��H�E0L;�tVL�M0H�}H����LEM0H�]@I;Zw*I��I�z����tI�:I�ZL��I��H����<����E3�H��I���&��H�UHH������t
H��H�M0���H�H�� _][��@UH�� H��8H�M0�O��H�� ]�@UH�� H��(H�M0�O��H�� ]�@UH�� H��PH�M0�uO��H�� ]�H��PH���/+�H�� �é�H��(�*�H�� H����)�H�� H��(�)�H�� H��P�)�H�� H��p�)�H��(�Oz�@UH�� H��(H����N��H�� ]�@UH�� H��Ep����t�ep�H����0z�H�� ]�@UH�� H��Ep����t
�ep�H�Mx�")�H�� ]�@UH�� H��Ep����t�ep�H����(�H�� ]�@UH�� H��Ep����t�ep�H�����(�H�� ]�@UH�� H��Ep����t�ep�H����(�H�� ]�@UH�� H��Ep�� ��t�ep�H����~(�H�� ]�@UH�� H��Ep��@��t�ep�H�� �=y�H�� ]�H�� ���H����w)�@UH�� H�� H�MP�M��H�� ]�@UH�� H��EH����t
�eH�H�M ��x�H�� ]�H����x��H��鼧�H�����'�H�T$UH�� H��H�M@�.�H��L�EHH�UP��2�3�3��+���H�T$UH�� H��H�M@�.�H��L�EHH�UP��3�3��a+���H��h�(�H�� �8��H��X�L'�H�T$UH�� H��L�EXH�,�H�M ����H��H�M@�.%�H�O�*H�M@�*���H��(�5'�H�T$SUH��(H��H�M H��t�Ep��h��H��H�MXH�H�B��H��H���
��H�H��(][��H�T$SUWH�� H��H�M H��t�Ep�H�EH�E0H�E@
A�
H��H�M0�8���E=����L��H�E0L;�tVL�M0H�}H����LEM0H�]@I;Zw*I��I�z����tI�:I�ZL��I��H���Q8����E3�H��I�����H�UHH������t
H��H�M0���H�H�� _][��@UH�� H��E ����t
�e �H�M(��&�H�� ]�@UH��0�Ћ%�-Hk�eH�%XH�H�H�D�A���-Hk�eH�%XHи0��H�H�D�]�@UH�� H��E ����t
�e �H�MH�0x�H�� ]�@UH�� H��E ����t
�e �H�MH�J&�H�� ]�@UH�� H��8H�M0�]J��H�� ]�H��(��H��0�CC�H��`�s%�H��0�%�H�
8�-�P��H������H����C%�H���g��H���[��H����_�@UH�� H��`H�M0��I��H�� ]�@UH�� H��8H�M0�I��H�� ]�@UH�� H�꺀H�M0�I��H�� ]�@UH�� H�꺘H�M0�qI��H�� ]�H��H�3�H��P�C��H��HH��x�3��H��@�'��H��HH������H���#�H����#�H��(�#�H����#�H����x#�H����$�H����-�H���H��0�.�H���H�����H��8H��x�R/�H��8H����?/�H����#�H����_��H����3w�H�����"�H�����"�H��H��"�H�
h�-�N��H��p�
�H����
�H�����H����C�H�����V�H����{#�H����o#�H�
 �-�CN��H���	�H����+��H������H����#
�@UH�� H��XH�M0�G��H�� ]�@UH�� H���H�M0�oG��H�� ]�H��X�"�H��H�E"�H��HH���f#�H��HH��8�S#�H��HH��h�@#�H��HH����-#�H��@�!�H��`�}!�H����q!�H�� �e!�H����Y!�H����M!�H����A!�H����5!�H����)!�H���!�H�� �!�H���!�H���� �H�� �� �H����� �H��`�� �H��@�� �H���� �H���� �H���� �H��@� �H��@� �H�� � �H���u �H��`�i �H����] �H����Q �H��`�E �H����9 �H����- �H����! �H�� � �H���	 �H�����H������H��`���H��@���H������H�����H�����H�����H����H����H���	��H���	�y�H���	�m�H����a�H����U�H��@�I�H����=�H�� 	�1�H��	�%�H�� ��H��`�
�H���	��H�����H��`	���H��@	���H�
��-�J��H��(�u�H����
�H������H����H��`��@UH�� H�꺰H�M0��C��H�� ]�H�����H��`��H��@��H��@H��P�A�H��@H������H��@H����H��@H��@��H��@H��p��H�
֩-��I��H�����H��@�%�H������H������H������H��P��@UH�� H�꺘H�M0�B��H�� ]�H�
}�-�XI��H�� ��H�����H��0�4��H����8�H����<�H��H�p�H��H�dq�@UH�� H�꺐H�M0�}B��H�� ]�@UH�� H��0H�M0�`B��H�� ]�H��PH��H���H��PH��h�q�H��PH�����H��PH�� ��p�H��PH��8��p�H�
��-�_H��H��X���H��@�G��H����K�H�� ��H�� �p�H��@�&�H��@H��0���H��PH�� �	]�H����e��H��0���H��H�}��H�
�-�G��@UH�� H��H�M0�:A��H�� ]�H��@��H��HH����=�H��HH����*�H����6�H�
ǧ-�ZG��H��8��H�����H�� 	�6��H�� �*��H�� ���H���"�H�����H��0��@UH�� H�꺰H�M0�s@��H�� ]�H����5�H�����H��`�=�H�
:�-�F��H�
F�-�F��H����	�H��`���H����H���q��H����u�@UH�� H���H�M0��?��H�� ]�H�����H��x��H����D�H���8�H����,�H���� �H�����H��x��H�����H������H��8���H��X���H��@H��P���H��@H��x��H��@H����W�H��@H����8W�H�����H����t�H�
�-�HE��H��0��H��`�0��H����D�H���(�H��8�,�@UH�� H��xH�M0�>��H�� ]�H�� H��(��H�
��-��D��@UH�� H��E$����t�e$�H������H�� ]�@UH�� H��E$����t
�e$�H�M@��H�� ]�H���u��H����y�H���H���ai�H����U�H���H����
�H�� H��@�J�H��@���H��H�T�@UH�� H���H�M8�=��H�� ]�@UH�� H���H�MH�n=��H�� ]�@UH�� H�꺨H�MH�Q=��H�� ]�H��0�h�@UH�� H��E ����t
�e �H�M(�CT�H�� ]�H�T$UH�� H��H�U H�M(�~�H�Ȍ*H�M(�o���@UH�� H��8H�M(��<��H�� ]�@UH�� H��E ����t
�e �H�M8���H�� ]�@UH�� H��H�M(�<��H�� ]�@UH�� H��E ����t
�e �H�M@�^��H�� ]�H�T$UH�� H��H�UHH�����}�H��*H�������H������H��P���H������H����w��H��h���H�� �7�H��0��z�H��`��z�@UH�� H���H�M0�;��H�� ]�H�
3�-�B��@UH�� H��E$����t�e$�H�����H�� ]�H����	�H�
�-��A��H�������H��0���@UH�� H���H�M0�>;��H�� ]�H�� H��@��H�� H��`��H�� H�����H�� H����|�H�
��-�PA��H��8��@UH�� H��E$����t�e$�H����A�H�� ]�H�� ���H������@UH�� H���H�M0�|:��H�� ]�H��@H�� ���H��@H��@���H��@H��h�e�H��@H����R�H��H�^�H��H��H��h��H�����H����~�H����r�H��(�f�H���Z�H����N�H��h�B�H��H�6�H���*�H�����H��(��H��(��H����H�
+�-��?��H�������@UH�� H��H�M0�;9��H�� ]�H�����H���H�����Q�H���H���+�H���H��H��H���H��x��H���H������H���H�����P�H���;�H��(�/�H��(�#�H��H��H��h��H�����H������H������H������H�����H��(���H��H��H�����H��h��H��H��H��h��H����{�H����o�H����c�H����W�H��H�K�H��(�?�H���3�H����'�H��h��H�����H�����H�����H������H������H������H�����H��H��H�����H�����H�����H��h��H�
Ԟ-�_=��H��x���H����W��H�����H�
��-�/=��H��@�3��H����7�@UH�� H�꺸H�M0�6��H�� ]�H�
��-��<��H����F��H��(�Z�H�
�-��<��H�
�-�<��H��h�b��H��X�V��H��0�c�H��@H�����H��0���H��x��H�����H����z�H����n�H��`�R��H����V�H����J�H��x�~d�H��0�b��H����Z�H�����a�@UH�� H��E$����t
�e$�H�M0��H�� ]�H��0��H�T$UH�� H��L�E0H�U(H����;	�L���H�U H�����3�3�����@UH�� H�꺸H�MP�4��H�� ]�H��(H���9�H��p�M��H��x�a�H�����H�
��-�);��H�
��-�;��H��P��@UH�� H�꺐H�M0�4��H�� ]�H��(H�����H��(H������H��(H������H��(H������H��(H����H��(H�� ��H��(H��H��H�
�-�c:��H�����@UH�� H��E ����t�e �H����T�H�� ]�@UH�� H��E ����t
�e �H�Mp�.�H�� ]�@UH�� H��E ����t�e �H�����H�� ]�@UH�� H��E ����t�e �H�����
�H�� ]�@UH�� H��E ����t�e �H���
�H�� ]�@UH�� H��E �� ��t�e �H����
�H�� ]�@UH�� H��E ��@��t�e �H�� �a
�H�� ]�@UH�� H��E %���t�u H�M@�8
�H�� ]�H��P���@UH�� H���H�M0�2��H�� ]�H��(H��X��H��(H�����
�H�
t�-�8��H��p���H�� ���H�
h�-�8��@UH�� H��E ����t�e �H��8��H�� ]�@UH�� H��E ����t
�e �H�MH�j�H�� ]�@UH�� H��E ����t�e �H��X�A�H�� ]�@UH�� H��E ����t
�e �H�Mh��H�� ]�H�� ����@UH�� H��@H�M0�b1��H�� ]�H�����H�
��-�7��H�� ���H�� ���H�� ���H�� � ��H��@�D)�H�T$UH�� H��H�MP��H��L�EXH�MP�2��3�3��Y���H��0��@UH�� H�ꋅ�����t����H���H������H�� ]�H���H��颽�H���H���r��H��0���H��(��H��(H����H��(���H��8��H��P���H��`���H����n\�@UH�� H��8H��@�/��H�� ]�@UH�� H��H��@��/��H�� ]�H�T$UH�� H��H�E0�@���t-����v%A��H��-H�Mx��H�|*H�Mx�
���A�����H��-H������H��{*H�����
���H��@��H��@�?F�H����+��@UH�� H��L�
�	�A��(H����.��H�� ]�H��p���H������@UH�� H��L�
v	�A��(H����-��H�� ]�H��`��H���顾�@UH�� H��L�
1	�A��(H���z-��H�� ]�H����H��H��P�\��@UH�� H��L�
��A��(H��0�5-��H�� ]�@UH�� H��L�
���A�� H����-��H�� ]�H����V��@UH�� H��E@����t
�e@�H�MH�v	�H�� ]�H�����D�H����	�H��PH��(�=I�H�
^�-�4��H�
j�-�
4��H������H��`���H�� ���H��0�al�H��0��H�� �Il�H�� H����H��0H���%��H��0H��(�X�H��0H��8酇�H��0H��P�u��H��0H��h�!l�H��0H��x�l�H��0H����l�H��X��H��8�*��H��(鞼�H��8钼�@UH�� H��E0����t�e0�H��P��H�� ]�@UH�� H��E0����t
�e0�H�MH��H�� ]�H������H����+��@UH�� H��E$����t
�e$�H�M8苆�H�� ]�H�� �)��H�T$UH�� H��L�E H�U(H�M`���H�M`�r
�H��L�EhH�Ux�f	�3�3��I
���H������H����<��H�
��-�2��H����l��H�����H�����H�
��-��1��H����d:�H����X:�H��x�L:�H��`���H��H�4:�H�
i�-�1��H��@�:�H������@UH�� H��PH�M0�*��H�� ]�H��X�{�H��x�o�H����c�H����W�H����K�H���?�H����3�H��8�'�H����H�����H��x��H��8��H������H������H������H��X���H��X��H��8��H����H��x��H�����H�����H��x�s�H����g�H���[�H����O�H����C�H����7�H��x�+�H��X��H��8��H�����H�����H������H������H������H��8���H����H�����H����H�����H��x��H��X��H��8�w�H����k�H����_�H����S�H����G�H��x�;�H��X�/�H��	�#�H�����H�����H�����H��x	���H��X	���H��8	���H�
��-�.��H����H��`���H������H��8H���K�H��8H��(�k��H��8H��@�[��H��8H��X�˷�H����� �H�T$UH�� H��H�M@�I	�H��L�EHH�UP�y��3�3�� ���H��@�>�H��p�>�@UH�� H��E ����t
�e �H�M@�ׁ�H�� ]�H����u��H�T$SUWH��0H��HDž��EhH�ExA�H�H�Mh�����EiH���H�H�@�q�H��L�EhH��`�k�H��H�E`�EHH�EXA�H��~H�MH����EIH���HDž�ƅ�L�
�9E3�A�P0H�������L�MHL����U0H���讒��]4��L��L����U0H��菒����]4H���H������tH��H����h���H���H������tH��H����F��H���HDž�ƅ�H�U`H������tH��H�MH���H�eXH�E`�EHH��xH������tH��H��`����H��pHDžxƅ`H���H������tH��H�Mh���H�exHDž��EhH��HDžƅL�
�7E3�A�PDH���O���L��L����?H����I�H��H������tH��H������H��(H������tH��H������H�H��0_][��H��x黳�@UH�� H�꺰H�M0�$��H�� ]�H��`�F��H�� H��(���H�� H��@���H�� H��X���H�
��-�*��H��X���H��P��H����H�����H���a��H����e��H����Y��H��p�M��H�� �Q��H�T$UH�� H��L�E0H���H�������H����!�H��L���H�U �:��3�3�����H�T$SUWH�� H��H�U0H��H���H�H�} L�H������H�3�3�����H�T$SUWH�� H��H�M0H��H��L���I�H��J�<	L��H��H���蹰�L��H�} H�H���J��L�H�]8H��H������H�3�3��@���H�T$SUH��(H��H�] L�H�U(H�������H���H�3�3�����H�T$SUH��(H��L���H�] L�H�U(H������L�H�U(H������H�E8H�3�3�����H�� �-�H��8H���	��H��8H�� �y|�H��8H��8��H��8H��H�P�@UH�� H�� H�M(��!��H�� ]�H��8H��`��H��8H���镬�H��8H����M�H��8H����g��H��(�{�H��@�N�H��@H��0�_�H��@H��@���H������H�T$SUWH�� H��H���H����m��H��L�E H�>H����C���L�S>H��H����\��H��H����d�H���ٚ�L��H��H��������H��H�Mh�Z��H�{n*H�Mh�*����H���
���H���
���H���
���H��@�I��H��`�=O�H�T$SUWH�� H��H�UXH�M@���H��H�U@H�M H�	���H���)d�H���-��L��H��=H���W���L�g=H��H����p��H��H����c�H�����L��H��H��������H��H����k��H��m*H����8����@UH�� H��E4����t
�e4�H�M8�g��H�� ]�H��@�UN�H��P�=��H������@UH�� H��E ����t
�e �H�M(���H�� ]�H��0�36�H�T$UH�� H��L�ExH�3<H�M �Z���H��H�M@��H��l*H�M@�}����H��p�0��H��@�T��H������H��P�<��H��p�PL�H��H�DL�H��p�xM�H����,L�H�� 阩�H����L�H����L�H��鼪�H��X��K�H��h��K�H��`��K�H��8��K�H���K�H����,��H����K�H����K�H��p�K�H��H�K�H�� �xK�H����lK�H���`K�H����TK�H����HK�H����<K�H������H��@�$K�H����K�H����@��@UH�� H��E$����t�e$�H������H�� ]�H���	���H���	���H��
��H�� 
��H��@
��H���
��H���
��H���
��H���w��H�� �k��H��@�_��H��`�S��H����G��H����;��H����/��H����#��H�����H�� ���H��@��H��`���H������H������H������H������H��
��H���
��H���
��H����H�� ��H��@�{��H��`�o��@UH�� H��L�
_��A�t� H�M ���H�� ]�H����9��@UH�� H��E ����t�e �H��P���H�� ]�@UH�� H��E ����t�e �H������H�� ]�@UH�� H��E ����t�e �H������H�� ]�@UH�� H��E ����t�e �H�����H�� ]�@UH�� H��E ����t
�e �H�MX�%��H�� ]�@UH�� H��E �� ��t�e �H����L��H�� ]�@UH�� H��E ��@��t�e �H����#��H�� ]�@UH�� H��E %���t�u H�����H�� ]�@UH�� H��E %��t�u 	H�������H�� ]�H��0�t�H�����H�����H��8�%��H�� �M��H�T$UH�� H��H�MP�s��H��L�EXH�MP���3�3��J����H������H���H������H���H�� ����H���H����ZH�H���H����{�H���H����\0�@UH�� H��HH�MH�M��H�� ]�@UH�� H��EP����t�eP�H�� ���H�� ]�H��@����H��(����H��X����H��H���H��x�
��H��(��3�H�T$UH�� H��L�E H�U(H�M8�~�3�3��/����@UH�� H�꺠H�M0���H�� ]�H��P�Y��H��PH��x�T�H��PH�������H�
C�-����H��p���H����"��H�������H��閱�H������H��P���@UH�� H��(H�M0���H�� ]�H�
�-�U��H�� �I��H����M��H��x�A��H�
҃-�%��H�� ���H��H�-��@UH�� H��H�M0���H�� ]�@UH�� H�꺘H�M0�i��H�� ]�H��0���H�
��-���H��(����H�
��-���H������H��0鋰�H������@UH�� H���H�M0���H�� ]�H����v��H���j��H�
3�-�>��H��H���H�
3�-�&��H��8H�� �3��H�
,�-���H�
8�-���H�
D�-����H�
P�-����H������H�
P�-����H��8�3��H��@鳯�H�
D�-���H��PH��@�.�H��PH��X�9��H����y.�H�
�-�i��H��@�a.�H����q��H�
�-�E��H�
�-�9��H����-��H�� ��3�H�T$UH�� H��L�E0H�U H����U�L���H���H������3�3����H�T$UH�� H��L�E(H���H�Mp�C�L�ExH�U H�Mp�BL�3�3���H�T$UH�� H��L�E(H���H�Mp��B�L�ExH�U H�Mp�L�3�3��u�H�� �@3�H�� �D3�H�� �H3�@UH�� H��E ����t
�e �H�M(��7�H�� ]�H��(H���*��H��(H�� ���@UH�� H��E ����t�e �H����7�H�� ]�H������H�����3�H���H��x�@�H���H���F5�H���H����4�H���H���� n�H���\9�H��H�أ�H�� �2�H�� ���H�� H���3�H�� H��(�B�H�� H��X�`6�H�� H��0� ��@UH�� H��L�
2�A�
�XH�M0�\��H�� ]�H��@�J5�H�� H���6�H�� H��@�
B�H�� H��X��N�H��(��A�H��0�*8�H��`�8�H�� H���5�H�
w�-�Z��H�T$UH�� H��H�M@�d��H��L�EHH�UP��I�3�3��;�H��@��7�H����5�H����5�H����J��H����^2�@UH�� H��H�M@�g��H�� ]�H��@�ul�H�� �il�H��`�8�H��X�5�H��8���@UH�� H��E ����t
�e �H�MX��7�H�� ]�@UH�� H��E ����t
�e �H�MH�7�H�� ]�@UH�� H��L�
Y0�A��XH�M0���H�� ]�H��`��4�H����4�H���K��H��`�?��H��0�S1�@UH�� H��H���Y��H�� ]�H�T$UH�� H��L�E0H�U H����l�L���H���H�������3�3����@UH�� H��E ����t�e �H����j�H�� ]�H�
�~-�I��H������H��0�Q/�H�����i�H�����3�H���]��H��0�Q��H��x�E��H����9��H��p�
L�H����L�H����K�H�����K�H�����K�H����K�H��0��K�H��P�K�H��p�K�H��P�K�H���K�H��0�K�H��P�}K�H��p�qK�H����eK�H����YK�H����MK�H����AK�H���5K�H����i/�@UH�� H��H�M8�r��H�� ]�@UH�� H��E ����t
�e �H�Mx�,5�H�� ]�@UH�� H��L�
&��A��H�M(���H�� ]�@UH�� H��E ����t�e �H���艎�H�� ]�H�
\}-�W��H������H����_��H�� ��1�H����.�@UH�� H��H������H�� ]�H�
`}-���H��@���H����1�H����G.�@UH�� H��H����M��H�� ]�H�
p}-���H���鿍�H�� �K1�H����-�H����?g�H����'1�H���鳼�H��0駼�H����{I�H����oI�H����cI�H���WI�H��x�k��H����_��H��(�3I�H��H�'I�H����[-�@UH�� H��E ����t�e �H����83�H�� ]�@UH�� H��L�
2��A��H�MP���H�� ]�H�
�|-���H��0頌�H����,0�@UH�� H��E ����t
�e �H�Mh��2�H�� ]�@UH�� H��L�
���A��H�M(���H�� ]�H�
�|-���H����,��H��p�/�H����d,�H�T$UH�� H��L�E H�U(H�M8�N��3�3�����@UH�� H��E ����t�e �H�������H�� ]�H�
||-���H������H��0�7/�H�����+�@UH�� H��H�������H�� ]�H�� ���H������H���H�����H��P���H�T$UH�� H��L�E H�U(H�M`�I9�H�M`���H��L�EhH�Ux�B�3�3�����@UH�� H��L�
�)�A��XH�M0�:
��H�� ]�H����)�H�
|-���@UH�� H��H��P���H�� ]�@UH�� H��E8�� ��t�e8�H����	,�H�� ]�H����g��H��@��-�H��x���H����*�H��P�Ǚ�H��@黙�H��X���H��(�d�@UH�� H��E0����t�e0�H����P��H�� ]�H��p�n��H�� H��X����H�� H��x���@UH�� H��E ����t�e �H����K)�H�� ]�H�
.{-�i��H����-)�@UH�� H��E ����t�e �H����JJ�H�� ]�@UH�� H��E4����t�e4�H���!J�H�� ]�H����O��H���C��@UH�� H�꺐H�M0�l	��H�� ]�H�
�z-����H������H�����I�H���
�^,�H������H�� �޷�H��H�ҷ�H��h�Ʒ�H���麷�H����.��H�����(�@UH�� H��H�Mx����H�� ]�@UH�� H��E ����t�e �H����.�H�� ]�@UH�� H��E ����t
�e �H�M@��v�H�� ]�@UH�� H��E ����t�e �H����v�H�� ]�@UH�� H��E4����t�e4�H���v�H�� ]�H�

z-���H��(�L��H��@�`v�H��@�+�H��@騶�H���'�@UH�� H��H�� ����H�� ]�@UH�� H��E ����t�e �H����y-�H�� ]�H���`�H����*�H��8�C�H�����H�� ���H��h�+'�@UH�� H��H�MX�4��H�� ]�H�� �f��H�� �j��H��8�j��H�� �ֶ�@UH�� H�꺘H�M ����H�� ]�H��(H�� �a��H��(H��@�Q��@UH�� H��E8����t�e8�H�M0H�����H�� ]�H��0H��頓�H��0�$��H��p�&�H��pH��x���@UH�� H��L�
���A��HH�M0�(��H�� ]�H��8�f��H����ʶ�@UH�� H��L�
���A��@H�������H�� ]�@UH�� H��E4����t�e4�H����ڶ�H�� ]�@UH�� H��L�
d��A��@H�M0���H�� ]�@UH�� H��E$����t
�e$�H�M(芶�H�� ]�H�� ���H�
�w-����H����2�H��8��2�H��`��2�H����2�H����2�@UH�� H��L�
�2�A��(H������H�� ]�H��@�w��@UH�� H���H�M ����H�� ]�H��@�*�@UH�� H��L�
���A��H������H�� ]�H��p�^�H���I3�H���=3�@UH�� H��L�
���A��H��0�6��H�� ]�H��(�^�H����ط�H����,��H��0��H�
�v-�t
��H����8��H����Lr�H����'�H��P锲�H�� �#�@UH�� H��H�Mp���H�� ]�H�T$UH�� H��L�E H�U(H�M@�5��3�3����H�T$UH�� H��L�E H�U(H�M8�T�3�3�����H�T$UH�� H��L�E H�U(H�M8�
i�3�3����H�T$UH�� H��L�E(H���H�Mp�O�L�ExH�U H�Mp���3�3��x��H�T$UH�� H��H�M0�q��H��L�E H�U(�T�3�3��H��H�T$UH�� H��H�M0�A��H��L�E H�U(�qh�3�3����H�T$UH�� H��L�E0H�U@H�M8��N�H�M8���H��L�E H�U(����3�3�����H�� �L�H����^��H����R��H����L�H����K�H����p�H����K�H������H���L�H�� �K�H��8�^p�H���~K�H����L�H�����K�H����zL�H�����K�H����*=�H��@�K�H�� �*K�H�T$UH�� H��H�M(����H��L�E0H�U �R�3�3������@UH�� H��E4����t
�e4�H�M8���H�� ]�H��X��K�H��@��K�H�
Ut-�h��H�
�t-�\��H����$�@UH�� H��L�
`�A��XH�M0���H�� ]�H��@��Y�H�� ��#�H����R��H������H��H�<�H��h�<�H����"��H��8���H�� �* �@UH�� H��E4����t�e4�H����n�H�� ]�H���ծ�@UH�� H��L�
��A��XH�M0���H�� ]�H�
�s-�O��H���3n�H���釮�H�����@UH�� H��H������H�� ]�@UH�� H��L�
{��A��H����d���H�� ]�H��@�j��H��0�^��H��8�~��H��@���H�� �&��H��@�Z��@UH�� H��E ����t�e �H������H�� ]�H��@���H��0���H��0H�� ���@UH�� H�ꋅ�����t����H���H����	��H�� ]�H���H��郋�H���H���{��H��0H��@���H��0H��`����H��0H������H�T$UH��0H��H�ȍH�
��*�9�H���?�H�E0H�
��H���H�
��H���H���H����Q��H�H��0]��H�T$UH�� H��H���H�Lc@L�A�H��I�@HH���҃�у�A�PA�@#�t
3�3�����H�H�� ]��H�� ���H�� �$��H�T$UH�� H��H���H�Lc@L�A�H��I�@HH���҃�у�A�PA�@#�t
3�3�����H�H�� ]��H����!��H��P���H��p�%��@UH�� H��E0����t
�e0�H�M8�U��H�� ]�@UH�� H��E ����t�e �H����p�H�� ]�@UH�� H��E4����t�e4�H����G�H�� ]�@UH�� H��L�
��A��XH�M0�9���H�� ]�H�
�p-���H��P��H��@�G�H��P�Ӫ�H����Ǫ�H���黪�H���鯪�H��飪�H��0��@UH�� H��L�
���A��H�M(���H�� ]�H�
�p-���H���i�H�����H���=��H����Q�@UH�� H��H���W���H�� ]�H�
�p-���H����a�H������H���H��x�y'�H���H���*�H���H������H���H����U�H�
�p-�H��H������H���� i�H��0���H��@�h��H�������H����p�@UH�� H��EX����t�eX�H����M �H�� ]�H����K��@UH�� H��E ����t�e �H����D��H�� ]�@UH�� H��E4����t�e4�H������H�� ]�H�
*p-�m��H��P�1��H������H��0陨�H�����H��x遨�H����u��H���i��H���]��H��X�Q��H����E��H����9��H��`���H��p�A�H����E��H�
�o-���H����x�H��p�Y�H�����@UH�� H��H������H�� ]�@UH�� H��H�M0���H�� ]�H��h�R�@UH�� H��E ����t�e �H����-��H�� ]�H��(��H�
�o-����H�����H�����@UH�� H��H����i���H�� ]�H�������@UH�� H��EX����t
�eX�H�M8����H�� ]�H����y��H�T$UH��0H��H�UXH�M`�9�H��G*H�M`�{���H�� ����H��@�v��H���Ƈ�H��`麇�H��h鮇�H��X颇�H��x閇�H���銇�@UH�� H�ꋅ�����t����H����A&�H�� ]�H����O�H��@��H����'�H����[Q�H����OQ�H�T$UH��0H��H�H��0]��H�� �e(�H�� �$�H�� �$�H��H���H��8鱈�H��H酇�H�T$UH�� H��H�M0H�Lc@L�A�H��I�@HH���҃�у�A�PA�@#�t
3�3�����H�H�� ]��H�T$UH�� H��L�E(H���H�Mp�,-�L�ExH�U H�Mp����3�3�����H�T$UH�� H��L�E(H���H�Mp�-�L�ExH�U H�Mp���3�3��v���H�T$UH�� H��L�E8H�U(H����,�L���H�U H����}N�3�3��4���H�T$UH�� H��L�E8H�U(H����,�L���H�U H������3�3������H��8�u#�H�T$UH�� H��H�M0����H��L�E(H�U ��3�3�����H�T$UH�� H��H�M0���H��L�E H�U(���3�3�����H�T$UH�� H��L�E H�U(H�M`��+�H�M`�n��H��L�EhH�Ux�b��3�3��E���H�T$UH�� H��L�E H�U(H�M`��+�H�M`�-��H��L�EhH�Ux�]Z�3�3�����H�T$UH�� H��L�E H�U(H�M`�+�H�M`����H��L�EhH�Ux����3�3������H�� �f#�H�� �j#�H�� �n#�H�� �r#�H����$�H����$�H��p�N%�H�� �.$�@UH�� H��E0����t�e0�H����k$�H�� ]�@UH�� H��E ����t�e �H����f"�H�� ]�@UH�� H��E ����t
�e �H�MH�$�H�� ]�H��h�."�H��8�""�H��8�$�H��P���H��0�r��@UH�� H��EX����t�eX�H�M@H����k�H�� ]�H��@H�� �q�H�� �� �H�� �� �H��0����H��8�Q �H����!�H��X�9 �H����m!�H����a!�H��(H���y$�H��(H��X��!�H��(H��p�"�H�� �"�H��8��"�H��@�)1�H�����!�H�����!�@UH�� H��E4����t
�e4�H�MP�!�H�� ]�H���"�H��@�'��H������H��X�k"�@UH�� H��L�
#�A��H�M`��H�� ]�H��p�E"�H��P��@UH�� H��L�
�"�A��H�M8�Y�H�� ]�H���"�H����;"�@UH�� H��E4����t
�e4�H�M8��!�H�� ]�H�T$SUWH��0H��H���H��(H���k��E4H��H�� H;�t[H�SA�
H���*��L��H��H�x����tH�M�@H��������H��H��rH��H���д�H��0�H����(�H�H��0_][��H�T$SUWH��0H��H���H��(H�����E4H��H�� H;�t[H�SA�
H��p�o��L��H��H�x����tH�M�@H�������H���H��rH��H��p���H��0�H���(�H�H��0_][��H�T$SUWH��0H��H���H��(H����M4 H��H�� H;�t[H�SA�
H��p���L��H��H�x����tH�M�@H����Z���H���H��rH��H��p�]��H��0�H���_'�H�H��0_][��H�T$SUVWH��8H��H�������L���H�U8H����;<�H��H�}PH;�t>H�L�CH��H�����H�[H�H�[H�gH�H�H�H�H�OH�FH�GH�NL�E8M�@H�U8H�M8�|��HH�M8薲��H�H��8_^][��H�T$SUWH��0H��H���H��(H�����E4EH��H�� H;�t[H�SA�
H��p�F��L��H��H�x����tH�M�@H��������H���H��rH��H��p���H��0�H����%�H�H��0_][��H�T$UH��0H��H���H�����.�H�/=*H��������@UH�� H��E4����t
�e4�H�M8���H�� ]�H��h����H��H��@UH�� H��L�
d�A��H������H�� ]�H����H��P��H����_�H������@UH�� H��E4����t�e4�H����0�H�� ]�H��`�R�H��(�ʶ�H�����@UH�� H��L�
���A�� H����3�H�� ]�H������H��`�M��H�������H�����H��(���H��(�|�H������@UH�� H��E ����t
�e �H�M8�Y��H�� ]�@UH�� H��E$����t�e$�H����0��H�� ]�H��(�z*�H��P��H��(��@UH�� H��E ����t�e �H����m�H�� ]�H�
c-��H����u��H�����l�H��P�E�H����љ�H�����
�H�
.c-�i�@UH�� H��E ����t�e �H����f��H�� ]�@UH�� H��L�
P	�A��XH�M0��H�� ]�H�
/c-�
�H��p���H�� �
�H��X�V
�@UH�� H��E ����t�e �H������H�� ]�H�
6c-��H��p��H�����H����E
�H�
fc-��H����i�H���!
�H��0�
D�H��0����H��0���H��0H������H��0H�����H��0H�����H�� ��H�� H������H�� H����b�H��`�b�H��`H������H��`H����0�H��`H���5��H��X�)��H����x�H����)��H�����x�H������H�����'�@UH�� H�ꋅ�� ��t���H�M ��	�H�� ]�H�
�b-��H�
�b-�	�H����Uj�H��`��H��X�5��H����I�@UH�� H��E0����t�e0�H������H�� ]�H�� ���H��0���H��`���H��`H���l�H��p����H�����r�H�����H�����H��P�0�H��`�r�H�T$UH�� H��L�E0H�U H����5�L���H���H����1��3�3�����H�� ��+�@UH�� H��E8����t�e8�H�M0H����s�H�� ]�H�� �b��H�� H���"�H�� H��`��+�H��x�+�H��xH���"��H��xH�����0�H��xH�����H��xH�����H��xH�� ��H��xH�����/�H��xH��H�,�H��xH��p��+�H��xH��x���H��xH������H��xH����<+�@UH�� H��H�M �)�H�� ]�@UH�� H��E`����t�e`�H�MPH��P�,�H�� ]�H������H��h�9,�@UH�� H��H�Mp���H�� ]�H����8+�H��`����H��H����H�T$UH��@H��H��PH����'�H�I5*H��������H��8���H��`��*�H��0�p��H�T$UH��0H��H���H����&�H��4*H�������H�T$UH��0H��H���H���t&�H��4*H���a���H��`��>�@UH�� H��E0����t
�e0�H�MX�D��H�� ]�@UH�� H��E0����t
�e0�H�MX�~t�H�� ]�H��P鼿�H��`鰿�@UH�� H��E0����t
�e0�H�MX�@t�H�� ]�@UH�� H���H�MP�3�H�� ]�@UH�� H���H�MP��H�� ]�@UH�� H���H�MP��H�� ]�H�����H�T$UH��0H��H������3�3��E���H�T$UH��0H��H�UPH�MX�*%�H�s3*H�MX����H���
)�H�T$UH��0H��H�UXH�����$�H�93*H��������H�� �x��H�
�^-��H��0��b�H��@�T�H���鰾�H������H�
�^-�x�H�
_-�l�H����b�H���	��H���阑�H���錑�@UH�� H��H�����H�� ]�H�T$UH�� H��L�E H�U(H�M@�J��3�3������H�T$UH�� H��H�M0���H��L�E H�U(���3�3������H����hq�H����\q�H���@��H��@�X,�H����8q�H����,q�H�����H��(�(,�H�T$UH�� H��H�M(�n��H��L�E0H�U 芤�3�3��E����H�T$UH�� H��H�M(�>��H��L�E0H�U �nG�3�3������@UH�� H��E0����t
�e0�H�Mh�dq�H�� ]�@UH�� H��E$����t
�e$�H�M(�+�H�� ]�H�
Q_-��H���`�H��P�L�H����؏�H�
�_-�|�@UH�� H��E ����t�e �H����5��H�� ]�H�
�_-�G�H������H������@UH�� H��H����H�� ]�H�
�_-��H�
`-��@UH�� H��E0�� ��t�e0�H�����H�� ]�H����_�H����n�H��p��H�
#`-��H��H�b��H���_�H����2�H���龎�H��`鲎�H��X馎�@UH�� H��H�������H�� ]�@UH�� H��L�
�o�A��H�M(���H�� ]�H����8�H�����@UH�� H��L�
do�A��H�M0�P��H�� ]�H�
�_-��H��0�M�@UH�� H��L�
"o�A��H�MH���H�� ]�@UH�� H��L�
���A��XH�M0����H�� ]�H�
�_-�R�H�
;`-�F�H��p�Z^�H������H����r��H��P��H�
_`-�
�H�
�`-��H�
a-���H��P�^�H�����H��0�v�H������H��0�
�H����

�H����w�H��P���H�� ����H�� H���v8�H�����H�����H������H����@UH�� H��L�
��A���H������H�� ]�H����}��@UH�� H��E$����t
�e$�H�M@�]��H�� ]�H��0��H�� ��H��0��@UH�� H��E ����t
�e �H�Mp�S��H�� ]�H��8��H�T$UH�� H��L�E H�U(H�M`�#I�H�M`芾�H��L�EhH�Ux�:I�3�3��a����H�� ��@UH�� H���H�M0���H�� ]�H�� ��
�H�� ��H�� ��H�� H����`�H��0���H��0H��P�Q�H��0H��h�޷�H��0H�����H��0H����&�@UH�� H��ED����t�eD�H������H�� ]�H��@���H����W6�@UH�� H��L�
���A���H������H�� ]�@UH�� H��E$����t�e$�H��P�6�H�� ]�H����Ŷ�H���鹶�@UH�� H��L�
���A��H����B��H�� ]�H����5�@UH�� H��L�
p��A��H����	��H�� ]�H����w5�H���鋵�H��0���H���s��H��P駶�H��p�[��H���/5�H����3��@UH�� H��hH�M0���H�� ]�@UH�� H��`H�M0���H�� ]�H�����H����!��@UH�� H��L�
��A�� H�MP�-��H�� ]�H���H��(��@UH�� H��H�M0���H�� ]�@UH�� H��HH�M0����H�� ]�H��0H��P隈�H����~��H��0�r��@UH�� H��L�
b��A��@H������H�� ]�@UH�� H��E ����t�e �H���肊�H�� ]�@UH�� H��E4����t�e4�H��0�3�H�� ]�H��P�w��H��`�k��@UH�� H��L�
[��A��H��@����H�� ]�@UH�� H�ꋅ�����t����H�����H�� ]�H��`���H�T$UH�� H��L�E0H�U H���肉�L���H���H�����3�3�����H�T$UH�� H��L�E0H���H����:��H����޹�H��L���H�U �[�3�3�貶���H�T$SUWH�� H��H�U0H��H���H�H�} L�H����݈�H�3�3��q����H�T$SUWH�� H��H�M0H��H��L���I�H��J�<	L��H��H����R��L��H�} H�H���
�L�H�]8H��H����i��H�3�3�����H�T$SUH��(H��H�] L�H�U(H����7��H���H�3�3��ĵ���H�T$SUH��(H��L���H�] L�H�U(H���跈�L�H�U(H������H�E8H�3�3��s����@UH�� H�꺀H�M0����H�� ]�H���y��H��P�m��H����a��H����U��H���I��@UH�� H��L�
9��A��@H���b��H�� ]�@UH�� H��E4����t�e4�H���Y��H�� ]�H����0�H����;��H��p�/��H����Æ�H��鷆�H��P髆�H���韆�H���铆�H��釆�H��P�{��H����o��H����c��H���W��H��P�K��H����?��H����3��H��	�'��H��P	���H���	���H���	���H��
��H��P
���H���
�߅�H���
�Ӆ�@UH�� H��L�
�A��@H�������H�� ]�@UH�� H��E0����t�e0�H������H�� ]�@UH�� H��E4����t
�e4�H�M8轅�H�� ]�H��@髅�H��`韅�H����3��H���'��H��@���H������H������H����H��@���H����߄�H����ӄ�@UH�� H��L�
�A�
�@H�������H�� ]�@UH�� H��E0����t�e0�H������H�� ]�H����a�H����U�H����I�H��p�=�H����1�H��P�%�H��0��H���
�H��P��H����H��0���H������H������H��0���H�����@UH�� H��L�
I��A��H�MP����H�� ]�@UH�� H��E$����t
�e$�H�MH�?-�H�� ]�@UH�� H��L�
���A��H�����H�� ]�@UH�� H��E ����t�e �H��0��,�H�� ]�H��(駭�H��0雭�H��@鏭�H��P郭�H��p�w��H����k��H����_��H����S��H����G��@UH�� H��L�
7��A��H��0����H�� ]�@UH�� H��E@����t�e@�H��(�',�H�� ]�@UH�� H��H�M0���H�� ]�@UH�� H��E4����t�e4�H��P��+�H�� ]�@UH�� H��L�
���A��H��`�4��H�� ]�H��p�R��H����+�H�T$UH�� H��L�E(H���H�Mp���L�ExH�U H�Mp���3�3��k����H��0H��H��H��0��H��0H���N��H��0H��0�~��H��0H��H�~�H��0��>�H��0H�������H�� �3�H�����@UH�� H��E|����t�e|�H����$��H�� ]�H�� �R��H��p鶫�H����*�@UH�� H��L�
*��A���H�������H�� ]�H�����H����U~�@UH�� H��E@����t�e@�H����"*�H�� ]�H������H����Ԫ�H����Ȫ�H��鼪�H��鰪�H�� 餪�@UH�� H��L�
���A��H����-��H�� ]�@UH�� H��L�
g��A��H��`���H�� ]�@UH�� H��L�
:��A��H��P����H�� ]�H����A)�@UH�� H��L�
��A��H��p���H�� ]�H����)�@UH�� H��L�
ȩ�A��H����a��H�� ]�H�����(�H��@���H��X�(�H��8���H��P���H����c��H����'��H������H��0���H������H��0���H���黽�H����?��H������H�����H������H����ߨ�H����Ө�H���Ǩ�H��黨�@UH�� H��L�
���A�
�H����D��H�� ]�@UH�� H��E ����t�e �H��@�'�H�� ]�H��0�'�@UH�� H��xH�M0���H�� ]�@UH�� H��E|����t�e|�H������H�� ]�H��P����H����+'�@UH�� H��E$����t�e$�H����'�H�� ]�@UH�� H��L�
§�A��H�Mx�^��H�� ]�@UH�� H��L�
���A��H����1��H�� ]�H��@�&�@UH�� H��E ����t�e �H����|&�H�� ]�H��P���H�������H�����|�H�����@UH�� H��E0����t�e0�H����C��H�� ]�@UH�� H��E ����t
�e �H�M(�ͦ�H�� ]�H��P�K��H��0�?��@UH�� H��E ����t
�e �H�M(���H�� ]�@UH�� H��E ����t
�e �H�M`��H�� ]�@UH�� H��L�
S��A��H�������H�� ]�@UH�� H��E$����t�e$�H����C%�H�� ]�H�
NN-�1��H����E��H��p���H��x�]y�H���H�����H���H�� �
��@UH�� H��ED����t
�eD�H�MH�=��H�� ]�H�� �$�@UH�� H��L�
[��A���H�����H�� ]�H�T$UH��@H��H�EHH� H�`H�`H�H��@]��@UH�� H��E4����t�e4�H��8�;$�H�� ]�@UH�� H��L�
���A��H��x���H�� ]�H��@�#�@UH�� H��L�
���A��H����U��H�� ]�H��(��#�H������H����#�@UH�� H��E$����t�e$�H����#�H�� ]�@UH�� H��L�
B��A��H�������H�� ]�H���I#�@UH�� H��L�
	��A��H������H�� ]�@UH�� H��L�
ܣ�A��H����u��H�� ]�H��H��"�H����7��H�����"�@UH�� H��ED����t
�eD�H�MP���H�� ]�H��0�"�H��H���@UH�� H��L�
-��A���H�� ����H�� ]�H�T$UH��@H��H�EPH� H�`H�`H�H��@]��H��@���@UH�� H��EX����t�eX�H����q��H�� ]�H�����H�����!�H��P駢�H��`離�@UH�� H��L�
���A��H��P�$��H�� ]�H��h�!�H������@UH�� H��L�
&��A���H�������H�� ]�H�T$UH��@H��H���H� H�`H�`H�H��@]��@UH�� H��pH�M0���H�� ]�@UH�� H��Et����t�et�H����V��H�� ]�H�����H��p�� �@UH�� H��L�
h��A���H����!��H�� ]�@UH�� H��E ����t�e �H���x �H�� ]�@UH�� H��E ����t
�e �H�M`�r��H�� ]�@UH�� H��E ����t�e �H��(��H�� ]�@UH�� H��E ����t
�e �H�M@�#��H�� ]�@UH�� H��E ����t�e �H��誠�H�� ]�@UH�� H��L�
���A��H����-��H�� ]�@UH�� H��Et����t�et�H�������H�� ]�H��0�"��H�����@UH�� H��E$����t�e$�H����C�H�� ]�@UH�� H��L�
���A��H������H�� ]�@UH�� H��hH�M0���H�� ]�@UH�� H��EP����t
�eP�H�MX���H�� ]�@UH�� H��`H�M0�F��H�� ]�@UH�� H��EP����t�eP�H�����H�� ]�H����C�H���o�@UH�� H��L�
��A���H��0����H�� ]�@UH�� H��E$����t�e$�H�����H�� ]�@UH�� H��L�
ٞ�A��H�M@�u��H�� ]�@UH�� H��Ed����t
�ed�H�Mh���H�� ]�@UH�� H��E$����t�e$�H����H�� ]�H����d��@UH�� H��L�
T��A��H������H�� ]�H�� �+��@UH�� H��L�
��A��H�� ���H�� ]�H��0H������@UH�� H�ꋅ�����t����H����b��H�� ]�H������H������@UH�� H��E4����t�e4�H�����H�� ]�H�� �o��@UH�� H��L�
_��A��H������H�� ]�H��P�f�@UH�� H��L�
&��A��H������H�� ]�@UH�� H��L�
���A��H������H�� ]�H�����@UH�� H��L�
���A��H����Y���H�� ]�H������H��h�ۜ�H��P��@UH�� H��EX����t
�eX�H�M`��H�� ]�H�� �}�H�������@UH�� H��E@����t
�e@�H�Mh�Q�H�� ]�@UH�� H��L�
��A��H��P褿��H�� ]�H�T$UH�� H��L�E0H�U(H����}��L���H�U H������3�3�����H���鐖�H���H��@�p�H������H������H��0��@UH�� H��E`����t
�e`�H�Mh�|�H�� ]�@UH�� H��Eh����t�eh�H��P�S�H�� ]�@UH�� H��L�

��A��H��`覾��H�� ]�H��p��@UH�� H��E0����t
�e0�H�Mh���H�� ]�@UH�� H��E4����t�e4�H������H�� ]�H��鉚�@UH�� H��L�
y��A��H������H�� ]�@UH�� H��Ep����t�ep�H����i�H�� ]�@UH�� H��E4����t�e4�H��x�@�H�� ]�@UH�� H��L�
���A��H���蓽��H�� ]�@UH�� H��E4����t�e4�H������H�� ]�@UH�� H��L�
���A��H����=���H�� ]�@UH�� H��EP����t
�eP�H�Mx��H�� ]�H����E��H���H��@�%�H�������H������H������H���饙�@UH�� H��Ep����t
�ep�H�Mx�%�H�� ]�@UH�� H��E ����t
�e �H�MX��H�� ]�@UH�� H��Ep����t�ep�H������H�� ]�@UH�� H�ꋅ�����t����H�����H�� ]�@UH�� H��Ep����t�ep�H����~�H�� ]�@UH�� H��E ����t
�e �H�MH�X�H�� ]�@UH�� H��EH����t�eH�H����/�H�� ]�@UH�� H��L�
��A��H���肻��H�� ]�H��X���@UH�� H��L�
���A��H����I���H�� ]�@UH�� H��E$����t
�e$�H�Mp��H�� ]�@UH�� H��L�
]��A��H�M`���H�� ]�H�T$UH�� H��L�E0H�U(H����b��L���H�U H�������3�3��B����H������H���H��@���H���i��H��(���H�T$UH�� H��L�E0H�U(H������L���H�U H�����3�3��̙���H���o��H��H��@����H��0����H��P����H���ۖ�H��@���H������H��X���@UH�� H��Ep����t�ep�H����4�H�� ]�H��P���H��PH��@���H����f��H����Ji�H����>i�@UH�� H��E0����t
�e0�H�Mx���H�� ]�@UH�� H��E$����t�e$�H�����H�� ]�@UH�� H��L�
_��A��H������H�� ]�@UH�� H�꺰H�M0���H�� ]�@UH�� H��L�
���A���H���许��H�� ]�@UH�� H��E|����t�e|�H����u��H�� ]�@UH�� H��H�M0�x���H�� ]�@UH�� H��EP����t
�eP�H�Mh���H�� ]�@UH�� H�ꋅ�����t����H������H�� ]�H��0H�������H���鎓�H���邔�@UH�� H��Ex����t�ex�H������H�� ]�H����=4��H����!�@UH�� H��L�
���A���H���z���H�� ]�@UH�� H��E4����t�e4�H��p���H�� ]�@UH�� H��L�
���A��H�M8�'���H�� ]�H��H��@UH�� H��L�
U��A��H������H�� ]�H��`�\�@UH�� H��L�
��A��H���赶��H�� ]�H��x�#�H����7��@UH�� H��ED����t
�eD�H�Mp�g��H�� ]�H����U��H��p��2��@UH�� H��E4����t�e4�H�����H�� ]�@UH�� H��L�
p��A��H����	���H�� ]�@UH�� H��EP����t
�eP�H�Mp����H�� ]�H��x���@UH�� H��E$����t�e$�H����.�H�� ]�H�����H�� ���H��0�ԑ�@UH�� H��L�
đ�A��H����]���H�� ]�@UH�� H��hH�M@�P���H�� ]�@UH�� H��ED����t
�eD�H�Mx�
��H�� ]�H������@UH�� H��EP����t
�eP�H�Mx����H�� ]�@UH�� H��E$����t�e$�H����?�H�� ]�@UH�� H��L�
���A�
�H���蒴��H�� ]�@UH�� H��`H�M@腵��H�� ]�@UH�� H��Ep����t�ep�H����<��H�� ]�H����*��@UH�� H���H�M0�3���H�� ]�@UH�� H��E|����t�e|�H�������H�� ]�@UH�� H��E4����t�e4�H��X�Q�H�� ]�@UH�� H��L�
��A��H���褳��H�� ]�H����r��@UH�� H��Ex����t�ex�H������H�� ]�@UH�� H��EH����t�eH�H������H�� ]�@UH�� H��L�
���A��H�������H�� ]�H����W��@UH�� H��L�
G��A��H������H�� ]�@UH�� H��E$����t�e$�H����7�H�� ]�@UH�� H��L�
��A��H���芲��H�� ]�@UH�� H�ꋅ�����t����H����K��H�� ]�H�����
�@UH�� H��L�
i��A���H����"���H�� ]�@UH�� H��E$����t�e$�H����y
�H�� ]�@UH�� H��L�
3��A��H�� �̱��H�� ]�@UH�� H��L�
��A��H���蟱��H�� ]�@UH�� H��L�
ٍ�A��H����r���H�� ]�@UH�� H��E0����t�e0�H������H�� ]�H��0�?��@UH�� H��ED����t�eD�H������H�� ]�H����2��H��P�U�H��0�`�H����^�@UH�� H��E4����t�e4�H��H�;�H�� ]�H��X��H��h���@UH�� H��L�
݌�A��H��X�v���H�� ]�@UH�� H��L�
���A��H����I���H�� ]�@UH�� H��L�
���A��H�������H�� ]�@UH�� H��L�
V��A��H������H�� ]�@UH�� H��L�
)��A��H����¯��H�� ]�H����0�@UH�� H��L�
��A��H���良��H�� ]�H�
,4-���H�� �K��H��p�_=��H����S=��@UH�� H��L�
C=��A�� H�Mp�/���H�� ]�@UH�� H�꺐H�M0�"���H�� ]�H��@�p��H��@H��P�^�H��@H����^�H��@H����^�@UH�� H��ED����t�eD�H������H�� ]�H�������H��`�Vi�@UH�� H��E$����t�e$�H����	�H�� ]�@UH�� H��L�
���A��H����6���H�� ]�@UH�� H��L�
p��A��H�� �	���H�� ]�@UH�� H��L�
C��A��H��`�ܭ��H�� ]�@UH�� H��L�
��A��H��p语��H�� ]�@UH�� H��L�
��A��H���肭��H�� ]�@UH�� H��E0����t�e0�H����I��H�� ]�H����]�@UH�� H��Et����t�et�H������H�� ]�H����B��@UH�� H��L�
R��A��H������H�� ]�@UH�� H��E$����t�e$�H���B�H�� ]�@UH�� H��L�
���A��H��蕬��H�� ]�H����c��@UH�� H�꺐H�M0�|���H�� ]�@UH�� H��E$����t�e$�H��@���H�� ]�@UH�� H�ꋅ�����t����H�����H�� ]�@UH�� H��E$����t�e$�H����k�H�� ]�@UH�� H��L�
%��A��H���辫��H�� ]�@UH�� H���H�M0豬��H�� ]�H��0H��X�(��H��(�|��H��(H����9[�H��(H����@UH�� H��Et����t�et�H����&��H�� ]�H�����@UH�� H��Et����t�et�H�������H�� ]�@UH�� H��E ����t�e �H����X�H�� ]�@UH�� H��E ����t�e �H��P�O��H�� ]�@UH�� H��E ����t�e �H����&��H�� ]�@UH�� H��E ����t�e �H��0��H�� ]�@UH�� H��E ����t�e �H����ԅ�H�� ]�@UH�� H��L�
n��A��H�������H�� ]�@UH�� H��L�
A��A��H����ک��H�� ]�@UH�� H��E$����t�e$�H����1�H�� ]�H������@UH�� H��E ����t
�e �H�M`��H�� ]�H��p���@UH�� H�꺈H�M0�f���H�� ]�@UH�� H��E$����t�e$�H��H��H�� ]�@UH�� H��L�
g��A��H��P����H�� ]�@UH�� H��E$����t�e$�H���W�H�� ]�@UH�� H��L�
��A��H���誨��H�� ]�@UH�� H��L�
��A��H��p�}���H�� ]�@UH�� H��E$����t�e$�H��0���H�� ]�H��0钄�H��@醄�H��P�z��H��`�n��H��p�b��H����V��@UH�� H��L�
F��A��H��0�ߧ��H�� ]�@UH�� H��L�
��A��H���貧��H�� ]�@UH�� H��L�
��A��H��P腧��H�� ]�H��`�CW�@UH�� H��L�
���A���H��`�L���H�� ]�@UH�� H��E4����t�e4�H�����H�� ]�@UH�� H��L�
]��A��H������H�� ]�H��P���H�� ���H��c�l��H��0c�X�H���b�T��H��pc�hX�H���b�<��H���b�0��H���b�$��H��hb���H���c�,X�H��Hb���H��(b���H���c�X�H��b�܁�H���a�Ё�H��0d��W�H���a鸁�H���a鬁�H��pd�W�H���a锁�H��ha鈁�H��Ha�|��H��(a�p��H���d�W�H��a�X��H���`�L��H���`�@��H���`�4��H���d�HW�H���`���H��h`���H��H`���H��(`��H��0e�W�H��`���H���_�Ԁ�H���_�Ȁ�H���_鼀�H��pe��V�H���_餀�H��h_阀�H��H_錀�H��(_退�H���e�V�H��_�h��H���^�\��H���^�P��H���^�D��H���e�XV�H���^�,��H��h^� ��H��H^���H��(^���H��0f�V�H��^���H���]���H���]���H���]���H��pf��U�H���]��H��h]��H��H]��H��(]��H���f�U�H��]�x�H���\�l�H���\�`�H���\�T�H���f�hU�H���\�<�H��h\�0�H��H\�$�H��(\��H��\��H��0g� U�H���[��~�H���[��~�H���[��~�H���[��~�H��h[��~�H��pg��T�H��H[�~�H��([�~�H��[�~�H���Z�~�H���Z�|~�H���Z�p~�H���g�T�H���Z�X~�H��hZ�L~�H��HZ�@~�H��(Z�4~�H��Z�(~�H���g�<T�H���Y�~�H���Y�~�H���Y�}�H���Y��}�H��0h�T�H��hY��}�H��HY��}�H��(Y�}�H��Y�}�H��ph��S�H���X�}�H���X�}�H���X�}�H���X�t}�H��hX�h}�H���h�|S�H��HX�P}�H���h�dS�H��(X�8}�H��X�,}�H���W� }�H���W�}�H���W�}�H��0i�S�H���W��|�H��hW��|�H��HW��|�H��(W��|�H��W�|�H��pi��R�H���V�|�H���V�|�H���V�|�H���V�|�H��hV�x|�H���i�R�H��HV�`|�H��(V�T|�H��V�H|�H���U�<|�H���U�0|�H���U�$|�H���i�8R�H���U�|�H��hU�|�H��HU��{�H��(U��{�H��U��{�H���T��{�H���T��{�H��0j��Q�H���T�{�H���T�{�H��pj�Q�H��hT�{�H��HT�|{�H���j�Q�H��(T�d{�H��T�X{�H���S�L{�H���S�@{�H���S�4{�H���j�HQ�H���S�{�H��hS�{�H��HS�{�H��0k�Q�H��(S��z�H��S��z�H���R��z�H���R��z�H��pk��P�H���R�z�H���R�z�H��hR�z�H��HR�z�H��(R�z�H���k�P�H��R�hz�H���Q�\z�H���Q�Pz�H���Q�Dz�H���Q�8z�H���k�LP�H��hQ� z�H��HQ�z�H��(Q�z�H��Q�y�H��0l�P�H���P��y�H���P��y�H��pl��O�H���P�y�H���P�y�H���l��O�H��hP�y�H��HP�y�H��(P�y�H��P�xy�H���O�ly�H���l�O�H���O�Ty�H���O�Hy�H���O�<y�H��0m�PO�H��hO�$y�H��HO�y�H��(O�y�H��pm� O�H��O��x�H���N��x�H���N��x�H���m��N�H���N��x�H���N�x�H��hN�x�H��HN�x�H��(N�x�H���m�N�H��N�|x�H���M�px�H���M�dx�H���M�Xx�H���M�Lx�H��0n�`N�H��hM�4x�H��HM�(x�H��(M�x�H��M�x�H���L�x�H���L�w�H��pn�N�H���L��w�H���L��w�H��hL��w�H��HL�w�H��(L�w�H���n��M�H��L�w�H���K�w�H���K�w�H���K�tw�H���K�hw�H��hK�\w�H���n�pM�H��HK�Dw�H��(K�8w�H��K�,w�H���J� w�H���J�w�H���J�w�H���J�v�H��0o�M�H��hJ��v�H��po�L�H��HJ��v�H��(J�v�H��J�v�H���I�v�H���I�v�H���I�v�H���o�L�H���I�xv�H��hI�lv�H��HI�`v�H��(I�Tv�H��I�Hv�H���H�<v�H���o�PL�H���H�$v�H���H�v�H���H�v�H��hH�v�H��0p�L�H��HH��u�H��(H��u�H��H��u�H���G��u�H���G�u�H��pp��K�H���G�u�H���G�u�H��hG�u�H��HG�|u�H��(G�pu�H���p�K�H��G�Xu�H���F�Lu�H���F�@u�H���F�4u�H���F�(u�H���p�<K�H��hF�u�H��HF�u�H��(F�t�H��F��t�H���E��t�H���E��t�H��0q��J�H���E�t�H���E�t�H��hE�t�H��HE�t�H��(E�t�H��pq�J�H��E�tt�H���D�ht�H���D�\t�H���D�Pt�H���q�dJ�H���D�8t�H��hD�,t�H��HD� t�H��(D�t�H��D�t�H���q�J�H���C��s�H���C��s�H���C��s�H���C��s�H��0r��I�H��hC�s�H��HC�s�H��(C�s�H��C�s�H��pr�I�H���B�xs�H���B�ls�H���B�`s�H���B�Ts�H���r�hI�H��hB�<s�H��HB�0s�H��(B�$s�H��B�s�H���r�,I�H���A�s�H���A��r�H���A��r�H���A��r�H��0s��H�H��hA��r�H��HA�r�H��(A�r�H��A�r�H��ps�H�H���@�r�H���@�|r�H���@�pr�H���@�dr�H��h@�Xr�H��H@�Lr�H���s�`H�H��(@�4r�H��@�(r�H���?�r�H���?�r�H���?�r�H���?�q�H���s�H�H��h?��q�H��H?��q�H��(?��q�H��?�q�H��0t��G�H���>�q�H���>�q�H���>�q�H���>�q�H��pt�G�H��h>�hq�H��H>�\q�H��(>�Pq�H��>�Dq�H���t�XG�H���=�,q�H���=� q�H���=�q�H���=�q�H���t�G�H��h=��p�H��H=��p�H��(=��p�H��=��p�H��0u��F�H���<�p�H���<�p�H���<�p�H���<�p�H��pu�F�H��h<�xp�H��H<�lp�H��(<�`p�H��<�Tp�H���u�hF�H���;�<p�H���;�0p�H���;�$p�H���;�p�H��h;�p�H���u� F�H��H;��o�H��(;��o�H��;��o�H���:��o�H��0v��E�H���:�o�H���:�o�H���:�o�H��h:�o�H��pv�E�H��H:�|o�H��(:�po�H��:�do�H���9�Xo�H���9�Lo�H���v�`E�H���9�4o�H���9�(o�H��h9�o�H��H9�o�H��(9�o�H��9�n�H���v�E�H���8��n�H���8��n�H���8��n�H���8�n�H��h8�n�H��H8�n�H��0w�D�H��(8�n�H��8�n�H���7�tn�H���7�hn�H���7�\n�H��pw�pD�H���7�Dn�H��h7�8n�H��H7�,n�H��(7� n�H��7�n�H���6�n�H���w�D�H���6��m�H���6��m�H���6��m�H��h6��m�H��H6�m�H���w��C�H��(6�m�H��6�m�H���5�m�H���5�m�H��0x�C�H���5�lm�H���5�`m�H��h5�Tm�H��H5�Hm�H��px�\C�H��(5�0m�H��5�$m�H���4�m�H���4�m�H���x� C�H���4��l�H���4��l�H���x�B�H��h4��l�H��H4��l�H��(4�l�H��4�l�H��0y�B�H���3�l�H���3�l�H���3�|l�H���3�pl�H��py�B�H��h3�Xl�H��H3�Ll�H��(3�@l�H��3�4l�H���2�(l�H���y�<B�H���2�l�H���2�l�H���2�k�H��h2��k�H��H2��k�H���y��A�H��(2��k�H��2�k�H���1�k�H���1�k�H��0z�A�H���1�k�H���1�k�H��h1�tk�H��H1�hk�H��pz�|A�H��(1�Pk�H��1�Dk�H���0�8k�H���0�,k�H���z�@A�H���0�k�H���0�k�H��h0�j�H��H0��j�H��(0��j�H���z�@�H��0��j�H���/�j�H���/�j�H���/�j�H���/�j�H��0{�@�H��h/�j�H��H/�xj�H��p{�@�H��(/�`j�H��/�Tj�H���.�Hj�H���.�<j�H���.�0j�H���.�$j�H��h.�j�H��H.�j�H���{� @�H��(.��i�H��.��i�H���-��i�H���-��i�H���-��i�H���{��?�H���-�i�H��h-�i�H��H-�i�H��(-�i�H��0|�?�H��-�pi�H���,�di�H���,�Xi�H���,�Li�H��p|�`?�H���,�4i�H��h,�(i�H��H,�i�H��(,�i�H��,�i�H���|�?�H���+��h�H���+��h�H���+��h�H���+��h�H��h+�h�H��H+�h�H���|��>�H��(+�h�H��+�h�H��0}�>�H���*�th�H���*�hh�H���*�\h�H���*�Ph�H��h*�Dh�H��H*�8h�H��p}�L>�H��(*� h�H��*�h�H���)�h�H���)�g�H���)��g�H���}�>�H���)��g�H��h)��g�H���}��=�H��H)�g�H��()�g�H��0~�=�H��)�g�H���(�g�H��p~�=�H���(�lg�H���(�`g�H���~�t=�H���(�Hg�H��h(�<g�H���~�P=�H��H(�$g�H��((�g�H��0�,=�H��(�g�H���'��f�H��p�=�H���'��f�H���'��f�H���'��f�H��h'�f�H��H'�f�H����<�H��('�f�H��'�f�H���&�|f�H���&�pf�H���&�df�H����x<�H���&�Lf�H��h&�@f�H��H&�4f�H��(&�(f�H��&�f�H��0��0<�H���%�f�H���%�e�H���%��e�H���%��e�H��h%��e�H��p���;�H��H%�e�H��(%�e�H��%�e�H���$�e�H���$�e�H�����;�H���$�te�H���$�he�H��h$�\e�H��H$�Pe�H��($�De�H����X;�H��$�,e�H���#� e�H���#�e�H���#�e�H���#�d�H��0��;�H��h#��d�H��H#��d�H��p���:�H��(#�d�H��#�d�H������:�H���"�d�H���"�d�H����:�H���"�xd�H���"�ld�H��0��:�H��h"�Td�H��H"�Hd�H��p��\:�H��("�0d�H��"�$d�H���!�d�H���!�d�H���!�d�H�����:�H���!��c�H��h!��c�H�����9�H��H!��c�H��(!�c�H��!�c�H��� �c�H��� �c�H��0��9�H��� �|c�H��� �pc�H��h �dc�H��H �Xc�H��( �Lc�H��p��`9�H�� �4c�H����(c�H����c�H����c�H����c�H��h�b�H�����9�H��H��b�H��(��b�H����b�H����b�H����b�H�����8�H����b�H����b�H��h�b�H��H�tb�H��(�hb�H��0��|8�H���Pb�H����Db�H����8b�H����,b�H���� b�H��p��48�H��h�b�H��H�a�H��(��a�H����a�H�����a�H������7�H����a�H����a�H����a�H��h�a�H��H�a�H��(�a�H����7�H���la�H����`a�H����Ta�H����Ha�H����<a�H��0��P7�H��h�$a�H��H�a�H��(�a�H���a�H�����`�H�����`�H��p��6�H�����`�H�����`�H��h�`�H��H�`�H��(�`�H�����6�H���`�H����|`�H����p`�H����d`�H����X`�H��h�L`�H����`6�H��H�4`�H��(�(`�H���`�H����`�H����`�H��0��6�H�����_�H�����_�H��p���5�H��h��_�H��H�_�H��(�_�H���_�H����_�H����_�H�����5�H����t_�H����h_�H��h�\_�H��H�P_�H��(�D_�H���8_�H����L5�H���� _�H����_�H����_�H����^�H��h��^�H��H��^�H��0��4�H��(��^�H���^�H����^�H����^�H����^�H��p��4�H����^�H��h�x^�H��H�l^�H��(�`^�H���T^�H�����h4�H����<^�H����0^�H����D4�H����^�H����^�H��h�^�H��H��]�H��(��]�H����]�H��0���3�H�����]�H����]�H����]�H����]�H��h�]�H��p��3�H��H�|]�H��(�p]�H���d]�H����X]�H����L]�H�����`3�H����4]�H����(]�H��h�]�H��H�]�H��(�]�H����3�H����\�H�����\�H�����\�H�����\�H����\�H��0���2�H��h�\�H��H�\�H��p��2�H��(�\�H���t\�H�����2�H����\\�H����P\�H����D\�H����X2�H����,\�H��h� \�H��H�\�H��(�\�H���[�H��0��2�H�����[�H�����[�H�����[�H����[�H��h�[�H��p���1�H��H�[�H��(�[�H�����1�H���x[�H����l[�H����1�H����T[�H����H[�H��0��\1�H����0[�H��h�$[�H��p��81�H��H�[�H��(�[�H����Z�H���
��Z�H���
��Z�H������0�H���
��Z�H���
�Z�H�����0�H��h
�Z�H��H
�Z�@UH�� H��L�
�0�A���@H��0c��~��H�� ]�H��0
����@UH�� H��E ����t
�e �H�MP�{[�H�� ]�H�T$UH�� H��L�E(H��"H����B��L��"H��H�M0��A��H��H�Mp�X�H�!�)H�Mp��]���H��p��/�H�����/�H�����/�H��0��/�@UH�� H��L�
�/�A��@H��p��}��H�� ]�@UH�� H��E ����t�e �H��H��/�H�� ]�@UH�� H�꺀H�M0�~��H�� ]�@UH�� H��E$����t�e$�H��@���H�� ]�H����G��@UH�� H��L�
�Y�A��H����@}��H�� ]�@UH�� H��L�
zY�A��H����}��H�� ]�@UH�� H��L�
MY�A��H��P��|��H�� ]�@UH�� H��L�
 Y�A��H�� �|��H�� ]�@UH�� H��L�
�X�A��H���|��H�� ]�@UH�� H��L�
�X�A��H����_|��H�� ]�@UH�� H��L�
�X�A��H����2|��H�� ]�@UH�� H��L�
lX�A��H����|��H�� ]�@UH�� H��E4����t�e4�H����\��H�� ]�@UH�� H��L�
X�A��H����{��H�� ]�@UH�� H��L�
�W�A��H����{��H�� ]�H������@UH�� H��Et����t�et�H����=��H�� ]�H��0�/]��@UH�� H��E0����t�e0�H�
�*H����H�� ]�@UH�� H��} uL�MxL�EpH�UhH�M`�V{���H�� ]��@SUH��(H��H�M@H�M0H�E0H�H�M(H�E(�8csm�t�E �E �"�Xo��H�M(H�H�E0H�X�Xo��H��p����H��(][��@UH��H�3Ɂ8�����]��H�T$UH�� H��H�H�� ]��@UH�� H��M@H�� ]�����@UH�� H��M ����H�� ]��@UH�� H��H�� ]�V~���@UH��0H��H��H�L$(�T$ L�
���L�Ep�UhH�M`�}���H��0]��@UH�� H��(H�M@��z��H�� ]�H��PH��0�n��H��PH�������@UH�� H��H�M �z��H�� ]�@UH�� H��HH�ePH��H�����H@�H�MP�͇��H�� ]�H��8�g���@UH�� H��H�M@�4z��H�� ]�H��P麫��@UH�� H���H�MX�z��H�� ]�H��@�}���H��P�q���H��0�e���H������H���H�����H���H��H���H���H��`���H���H��x���H���H����b���H���H�������H���H��P���H���H����)m��H���H��8���H���H��H���@UH�� H��H�MH�y��H�� ]�@UH�� H��H�Mh��x��H�� ]�@UH�� H��E ����t
�e �H�MX���H�� ]�H��X�O���H��P�ǂ��@UH�� H�� H�M0�x��H�� ]�H�T$UH�� H��H�E0�xH���H�U@H�� �iAH�e@H�H�� ]��@UH�� H�� H�MH�4x��H�� ]�@UH�� H�� H��H��H�����H@�H��H�����HB�H�M`�c���H�� ]�H��h���@UH�� H��0H�����w��H�� ]�@UH�� H���H����w��H�� ]�@UH�� H��pH�MP�w��H�� ]�@UH�� H�꺀H�MP�mw��H�� ]�H�� �7���H��(�@��H��X����H��`����@UH�� H��@H����w��H�� ]�H��8���H��@�@��H����ύ��H��0�[U��H��0H����T��H��0H�����T��H��@�U��@UH�� H���H�M0�v��H�� ]�@UH�� H��H�M(H���r����H�� ]��@UH�� H��} tH���H����H����H�� ]��H��0�@���H��@H��`�@@��@UH�� H���H�M0�v��H�� ]�H��0�U��H�� �l��H�T$UH�� H��(H�����u��3�3��XT���H��@H��@�i��@UH�� H��8H�MH�u��H�� ]�@UH�� H��`H�MH�u��H�� ]�H�������@UH�� H�꺐H�MH�ju��H�� ]�H��H�ܦ��H�� �Ц��H��0阫��H��0H���i��@UH�� H�꺀H�M@�u��H�� ]�@UH�� H��`H�M8�t��H�� ]�H��`邦��@UH�� H��H�M0�C���H�� ]�H��0H�����H��0H�� �1�H��0���@UH�� H��Ep����t�ep�H����~��H�� ]�@UH�� H��H���H��H�����H@�H���蹁��H�� ]�H��PH�� ��H��PH�����H��PH����@UH�� H��PH�MX�s��H�� ]�H��0��H��`H��0���H��0���H��`H��`����H��`H����4�H��`H�� �-�H��0H���e���@UH�� H��PH�M`�ns��H�� ]�@UH�� H��PH�M@�Qs��H�� ]�H��0�Q��@UH�� H��@H�M8�(s��H�� ]�@UH�� H�꺀H�M8�s��H�� ]�@UH�� H��pH�MH��r��H�� ]�H�� �0j��H��0�$j��H��0�P��H��0H����P��H��`���@UH�� H��H�M@H���H�� ]�/����H�T$UH�� H��H��������~�����u
H�����o���H�H�� ]��H�T$UH�� H��H������H����o���H�H�� ]��H�� ��H��x���H��P���H��0鹳��@SUH��HH��H�MPH�MH�rt��H���H�HpH�EHH�H�Y8�Wt��H�XhH�MH�D$8H�d$0�d$(H���H�D$ L���L���H���H�	�f����t��H�`p�E@�H��H][��@SUH��HH��H�MPH�MH��s��H���H�HpH�EHH�H�Y8��s��H�Xh�s������HxH�MH�D$8H�d$0�d$(H���H�D$ L���L���H���H�	����rs��H�`p�E@�H��H][��@SUH��(H��H�M8H�M0�}XtlH�E0H�H�M(H�E(�8csm�uUH�E(�xuKH�E(�x  �tH�E(�x !�t
H�E(�x "�u$��r��H�M(H�H H�E0H�X��r��H�X(�����E �E H��(][��@UH��0H��H�3Ɂ8�����H��0]�����@UH�� H��H�3Ɂ8�����H�� ]��@UH�� H��H�MXL�E H�������H�� ]��@SUH��(H��H�M8�\Y���} u:H����;csm�u+�{u%�C - ���wH�K(�Kb����t�H����a����r��H���H�H ��q��H�M@H�H(H��(][��@UH�� H��H���L�M D���H����ܚ���H�� ]��@SUH��(H��H�MH�X���} u:H����;csm�u+�{u%�C - ���wH�K(�a����t�H���"a����\q��H�M0H�H �Oq��H�M8H�H(�Bq������HxH��(][��@UH�� H���a���H�� ]��@UH�� H���
q���x0~�q���H0H�� ]��@UH��0H���ra���H��0]��@UH��0H����p���x0~��p���H0H��0]��H��p����@UH�� H��3�H�� ]�r���@UH�� H��H�M0H�� ]�fB���@UH�� H��H�MHH�	H�� ]�KB���@UH�� H��H����H�� ]�vk���@UH�� H��H�M@�B���H�� ]��@UH�� H��H�MH�B���H�� ]��@UH��0H��H�M`H��0]��A���@UH�� H��H�M8H�� ]��A���@UH�� H��H�EH�H�� ]�j���@UH�� H��H�} u
H�M@�
���H�M@�A���H�� ]��@UH�� H��3�H�� ]�j���@UH�� H��H��迩���H�� ]��@UH�� H��H��8�t�8�t3���H�� ]��@UH�� H��H�EX�H�� ]�Vj���@UH�� H��H�EHH�H�����H�� ]��@UH�� H��H�� ]�j���@UH�� H��H�� ]�j���@UH�� H��H�EH�H�� ]����@UH�� H��MPH�� ]����@UH�� H��M@H�� ]�ϭ���H��X�+��@UH�� H��}pt��i���H�� ]��@UH�� H��H�� ]�ui���@UH�� H��H�� ]�\i���@UH��@H��}@t=�}Dt(H���HcH��H��H�f-��?H��H�€d�8�H�����$����H��@]��H��0H����I��H��8�%G�H�� �Y�H��@�
G�H�
B*��H�
v*��@UH�� H��E ����t
�e �H�MH��H�� ]�@UH�� H��E ����t
�e �H�M`���H�� ]�@UH�� H��E ����t
�e �H�M8���H�� ]�@UH�� H��E ����t
�e �H�M(��H�� ]�H�T$SUH��(H��H�M(�r���W��E(�E ��*H��*H�E(H��*H�E0H�U(H��������E H�M0H��t?����A��u2H�]0H�H��H��17����C��uH�M0H�H�@�7�H�H��(][��H�T$SUVWATAVAWH�� H���]��H��;MOC��&�;RCC���;csm����{��L�{ A����l�v��@���H�C0HcHHK8HcyH{8HcwH�ưH;u8��H�M(�4��H���|V��L��H�E(H����W��E8�E �*H�*H�E8H�*H�E@H�U8H����D��A�F��E H�M@H��t?����A��u2H�]@H�H��H���5����C��uH�M@H�H�@��5�H�H��L�u(M���L�MHL��H�S(I�����W�AA�FA�FH�'#I�I�v���C���FH�fH�f�K����NDž�H���H�����HF‹L��H�N I���vT��A�D+�I��H�KH��3��jX��M�f8H���H�0L�pH�t���H�j��L�E(H��H����Y��H�L��H�M(�w���W��E`�E ��*H��*H�E`H��*H�EhH�U`H���������E H�MhH��t?����A��u2H�]hH�H��H��64����C��uH�MhH�H�@�4�H���H�� A_A^A\_^][��@UH�� H��E ����t
�e �H�M(����H�� ]�@UH�� H��} uL�MpL�E(H�UXH�MP�e���H�� ]������������������������������H��(L�-�,H�
&�,H��M�@��	�H�
�,�xH��(�-*����������������������������H��(L���,H�
��,H��M�@�	�H�
��,�xH��(��)����������������������������H��(L���,H�
��,H��M�@�2	�H�
��,�xH��(�)��������������H�
��,H���e����������������H��(L���,H�
��,H��M�@���H�
s�,�xH��(�-)����������������������������H��(L�U�,H�
N�,H��M�@��H�
;�,�xH��(��(����������������������������H��(L��,H�
�,H��M�@�2�H�
�,�xH��(�(����������������������������H��(L���,H�
��,H��M�@���H�
��,�xH��(�=(����������������������������H��(L���,H�
��,H��M�@��H�
��,�xH��(��'����������������������������H��(L�u�,H�
n�,H��M�@�B�H�
[�,�xH��(�'��������������@SH�� �
d�,eH�%X�H�H�SH��rH�H���]'�H�cH�C�H�� [����������������������H��(L���,H�
��,H��M�@��H�
��,�xH��(�&����������������������������H��(L���,H�
��,H��M�@�R�H�
��,�xH��(�&����������������������������H��(L�}�,H�
v�,H��M�@��H�
c�,�xH��(�]&����������������������������H��(L�E�,H�
>�,H��M�@��H�
+�,�xH��(�
&����������������������������H��(L�
�,H�
�,H��M�@�b�H�
��,�xH��(�%����������������������������H��(L���,H�
��,H��M�@��H�
��,�xH��(�m%����������������������������H��(L���,H�
��,H��M�@�nQ�H�
��,�hH��(�%����������������������������H��(L�e�,H�
^�,H��M�@�Q�H�
K�,�hH��(��$����������������������������H��(L�-�,H�
&�,H��M�@�"�H�
�,�xH��(�}$������������������������������������������H��(L���,H�
��,H��M�@���H�
��,�xH��(�$��������������H��(L���,H�
��,H��M�@��H�
��,�xH��(��#����������������������������H��(L���,H�
��,H��M�@�2�H�
s�,�xH��(�#����������������������������H��(L�U�,H�
N�,H��M�@���H�
;�,�xH��(�=#����������������������������H��(L�E�,H�
>�,H��M�@��H�
+�,�xH��(��"����������������������������H��(L�
�,H�
�,H��M�@�B�H�
��,�xH��(�"����������������������������H��(L���,H�
��,H��M�@���H�
��,�xH��(�M"����������������������������H��(L���,H�
��,H��M�@��H�
��,�xH��(�!����������������������������H��(L�e�,H�
^�,H��M�@�R�H�
K�,�xH��(�!����������������������������H��(L�-�,H�
&�,H��M�@��H�
�,�xH��(�]!����������������������������H��(L���,H�
��,H��M�@�^M�H�
��,�hH��(�
!����������������������������H��(L��,H�
�,H��M�@�b�H�
�,�xH��(� ����������������������������H��(L���,H�
��,H��M�@�L�H�
��,�hH��(�m ����������������������������H��(L���,H�
��,H��M�@���H�
��,�xH��(� ����������������������������H��(L���,H�
��,H��M�@�r��H�
��,�xH��(������������������������������H��(L�e�,H�
^�,H��M�@�"��H�
K�,�xH��(�}����������������������������H��(L�-�,H�
&�,H��M�@���H�
�,�xH��(�-����������������������������H��(L���,H�
��,H��M�@��H�
��,�xH��(������������������������������H��(L���,H�
��,H��M�@�2��H�
��,�xH��(�����������������������������H��(L���,H�
��,H��M�@�J�H�
��,�hH��(�=����������������������������H��(L���,H�
��,H��M�@��H�
s�,�xH��(������������������������������H��(L�}�,H�
v�,H��M�@�B��H�
c�,�xH��(�����������������������������H��(L�E�,H�
>�,H��M�@���H�
+�,�xH��(�M����������������������������H��(L�
�,H�
�,H��M�@�NI�H�
��,�hH��(�����������������������������H��(L���,H�
��,H��M�@�R��H�
��,�xH��(�����������������������������H��(L���,H�
��,H��M�@�H�H�
��,�hH��(�]��������������H��(H�
��,H��t@H���,L���,�m�H���,H�
��,H+�H�����H�%��,W����,H��(��������������������������H��(L�m�,H�
f�,H��M�@�R��H�
S�,�xH��(�����������������������������H��(L�5�,H�
.�,H��M�@���H�
�,�xH��(�]����������������������������H��(L���,H�
��,H��M�@��H�
��,�xH��(�
����������������������������H��(L���,H�
��,H��M�@�G�H�
��,�hH��(�����������������������������H��(L���,H�
��,H��M�@���H�
s�,�xH��(�m����������������������������H��(L�U�,H�
N�,H��M�@�nF�H�
;�,�hH��(�����������������������������H��(L��,H�
�,H��M�@�r��H�
�,�xH��(������������������������������H��(L��,H�
�,H��M�@�"��H�
�,�xH��(�}����������������������������H��(L���,H�
��,H��M�@���H�
��,�xH��(�-����������������������������H��(L�u�,H�
n�,H��M�@��H�
[�,�xH��(������������������������������H��(L�=�,H�
6�,H��M�@�2��H�
#�,�xH��(�����������������������������H��(L��,H�
��,H��M�@���H�
�,�xH��(�=����������������������������H��(L��,H�
�,H��M�@��H�
��,�xH��(������������������������������H��(L���,H�
��,H��M�@�B��H�
{�,�xH��(�����������������������������H��(L�]�,H�
V�,H��M�@���H�
C�,�xH��(�M����������������������������H��(L�%�,H�
�,H��M�@��H�
�,�xH��(�����������������������������H�ѮH�
�,H��,�F{�����������������������������������H���H�
2�,H�+�,�{���������������������H���H�
b�,H�[�,��z���������������������H�)�H�
��,H���,�z���������������������H���H�
�,H���,�vz���������������������H���H�
�,H��,�Fz�������H�
9�,�4z�����H�
��,�$z�������������������H�Y�H�
�,H��,�y�������H�
)�,��y�������������������H���H�
b�,H�[�,�y���������������������H�A�H�
��,H���,�y�����������������������������������H��(L���,H�
��,H��M�@�^��H�
��,�HH��(�����������������������������H���H�
��,H���,�x���������������������H�	�H�
:�,H�3�,��x�������H��H�
R�,H�K�,�x�����������������������������������H��H�
��,H���,�fx���������������������H���H�
��,H���,�6x���������������������H�I�H�
*�,H�#�,�x���������������������H�y�H�
Z�,H�S�,��w���������������������H���H�
��,H���,�w���������������������H�I�H�
��,H���,�vw�������H�
�,�dw�������������������H�
i�,�Dw�������������������H���H�
�,H���,�w���������������������H���H�
2�,H�+�,��v���������������������H�)�H�
b�,H�[�,�v���������������������H��H�
��,H���,�v���������������������H���H�
��,H���,�Vv�����������������������������������H�!�H�
*�,H�#�,�v���������������������H���H�
Z�,H�S�,��u�������H��(H�
��,H��t&H���,H+�H����=�H�%��,W����,H��(������H�
��,�u�������������������H��H�
2�,H�+�,�fu���������������������H�I
H�
b�,H�[�,�6u���������������������H�
9�,�u�������������������H��H�
r�,H�k�,��t���������������������H��H�
��,H���,�t���������������������H�IH�
��,H���,�t���������������������H�AH�
�,H���,�Vt���������������������H�YH�
2�,H�+�,�&t�������������������������������������������������H�QH�
��,H���,��s���������������������H�
��,�s�������������������H�!H�
�,H���,�s���������������������H��"H�
2�,H�+�,�Vs���������������������H�Q$H�
b�,H�[�,�&s���������������������H��%H�
��,H���,�r���������������������@SH�� H�
�,�.8��H���,H��t+����C��uH�H������C��u	H�H��PH�� [��H�
�,H���1K��H���H�
�,H��,�fr�������H��(L�%�,H�
�,H��M�@�2��H�
�,�@H��(�
��������������H�
	�,�)������@SH�� �AH�H�KH���,H�H�@��H��H��tH�H�����H���I��H�H�,H��u�H�� [������H��(H�
�,H��t)H�H�@�CL��H��tH��H�I��'H��(���H��(H��)HcHL�
�)H�ÃJ�H���)HcH�Q�B�T�H�=�H���)H�
��)�r2���H��(�������������H�
9�,�@�����H�
�,��(������H��(�&H�
�,H��H��H���)��H��t�tH���)H��
r�H��(���H�
��,�(������H�
��,�th����������������������NN�N�N�N�N�N�N�NzNpN^NNN:N.N"NNN�N�N�N�N�N�N�N�NnNXNHN:N*NNN�N�N�N�N�N�N�NpNTN8N$N�
N�
N�
N�
N�
N�
NNN�N�N�N�N�N�N�NnN�N�N�N�NNN2NLNhNxN�N�N�N�N�N�NNN N*NDNTNhNzN�NN�N�N�N�N�N�NN$N>NRNnN�N�N�N�N�N�NNN$N:NJN^NrN�N�N�N�N�NN*NHNZNJ	N^	Nv	N�	N�	N�	N�	N�	N�	N�N
N
N6
NR
Nf
Nx
N
N�N�N�N�N�N~NlNZNFN,NNN�N�N8	N�N�N~NhNRN@N0NNN�
N�
N�
N�
N�
N�
NJ
Nb
N�
N,
N N>NRNbNrN�N�����#��#��#� X�Y��X�`X��X� Y�@Y��Y��Y�PX�@X���#��#�P%��&�(��)�@+��,��,�.� .��.�0�00��1��1�02��3�5� 5��5��5�P7��8�`9�;��;�0<�@<��=�?�@�A��B�PC��D�F��F��G�H�0H��H��I��J�K�`L��L��M��N�PP��Q��Q�0S��T�@U��V��W�X�PY�`Y�Z��Y�@������j!��_"��"�`�"����p��@��@"��#� l!��#�#P%�&(�)@+�,�,. .�.000�1�102�35 5�5�5P7�8`9;�;0<@<�=?@A�BPC�DF�F�GH0H�H�I�JK`L�L�M�NPP�Q�Q0S�T@U�V�WX X@XPX`X�X�XY Y@YPY`Y�Y�Y�YZPZ�Z[�[�[�\�\�^0_p`0h�h�p�r�s�st�v�v wpw�w0xpxy y0yPypy�y�y�y�y�y�z�z�z{`}~ ~p~���� �0�`�В@�P�`�p�����������Г��`����� �����е��� �@�P�`�p�����`������� �`��P�`�p����������� �`�@�p�P���@����0�!P&0(�,�1�1�122 2P2�2�2�23@3p3�3�34@5�5`6�6707�78p8�8P9�9�9:�:�:0;�; <`<�<P=`=p=�=�=�=�=�=�=�=>`>p>�>�>�>�>�>�>?? ?0?@? L�M�SW W0W@WPW`WpW�W�W�W�W�WY[�[�[ \`\p\�\�]�^�`Pb�bd0e g0g@g�g�g�g0hPhph�jkk�l�m@n p0p@p`�К����p�@���������0�p����� ����� �����������0�������@�������P����0��P�)�)*p*�*: :0:@:�J�p�p�p�pr r�z�� �АP������P����@�������������о���� �0�@�P�`�p�����������п���� �0�@�P�`�p���������p���@�p� �����`���p������p*@*�*�*++ +0+@+P+`+p+,`,p305@5P5`5Qp]�_ `P`�`�`�`a@a�a�a bPb�b@d�g�j�k�l�n0o�opPp�p0r�s0t�t�t@yPy� �P�������Њ@�0� ��p� �А���`�p�� �P��@�P�`� �б�������p� �����p�p������0�`����� ���������0���������0���0`��0���0����`�P�2�2 3P3�3�4�5p6�7�8�9p;P=PDM@MpM�M@N�N�O�P0R�R�S@U V�Y�no�opr`s@t�u`vwPy�~����@���P�����`�Н��0�p�0�������@�p����@���������� �@�P�`����������� �P�p������������� �0�@�P�`�p������������� �0�@�`�p����������� �@�P�`���������� �@�`�p�������������0�P�p������������0�@�P�`�p�������������� �0�P�p����������� �0�@�`�p�������������� �P�p������������0�`�p���� ����� �0�@�P�`��� �������0�@���`�p���������@�P�`���`�p������� �0����� �0�����@�P�`�������@���0���P�`���P�`�p��������������@��`�p�����P��������������������������@������� �0�@�P���p�����`p`p� 0@P`p�������� 0@P`p��������		 	0	@	P	`	p	�	�	�	�	�	�	�	�	

 
0
@
P
`
p
�
�
�
�
�
�
�
�
 0@P`p�������� 0@P`p��������

 
0
@
P
`
p
�
�
�
�
�
�
�
�
� @P0@P������@��p��0p� � !@!�!�!"@"�"�" #`#�#�# $`$�$�$ %�%�% &`&�&�& '`'�'�'@(�(0)`)�)*@*0+�+�,�,�- .�./�/�/�0`1�12P2�2�2@3�3�34@4�4�45@5�5�56@6�6�67@7�7�78@8�8�89@9�9�9:@:�:�:;@;�;�;<@<�<�<=@=�=>P>�>�>?P?�?0A�X�XY@YpY�\@^ _�`@a�a bPe�f��� �P���0�p����`�����������P� �p�P���p� �В�� �Й�� �P�����Ш��Ь ��p� �б����P������� �@����0���0F`F�F�F0GpG�G�G�G@H�JL�L`NO�OpQ�T@_�v�v�v�z�{p|P~��P�0�������@�p��P����������P�0��p�����0�`�����������p� ��P������� ���p�P�0������. /P/�/�/�/0�001 >?@�@�A0CpE F�F�G0H`H I�MPN@^ sPs�s@z0{|�}0~�`�p���М�@���p�P���p���0�0�p�а��� �P�������p�P���p� �0���p� P����� �`�`P��� 0@P��� � p!�#�%P+`J�J�K�]�^p_�`�a@bPe0�`��б�������p���� �P��������������� ����� � �P�������P���`�P�0���P�0�����	�		@	�	�	�	�	�	�	p	�	�	@ 	�#	�(	�/	0	@0	�1	�2	�3	 5	�5	�6	�<	�=	pC	 D	�E	�F	G	@G	�G	�G	�G	�G	�	�	@�	p�	��	��	��	С	@�	0�	�	��	0�	�	��	p�	й	�	0�	`�	�	�	�	P�	�	��	P�	@�	p�	��	��	�	p�	��	��	��	p�	��	��	@�	��	 �	��	`�	��	��	�	��	��	�	��	p�	�	
0
`
�
�
p
�
�
@
�
`&
�&
�&
�&
`'
�'
�>
�?
�@
 B
�B
�C
0E
pF
�J
_
g
h
ph
�h
�h
Pm
�m
r
`u
pu
�u
�u
Ј
��
@�
�
�
�
@�
��
 �
��
В
�
�
�
@�
0�
�
��
0�
�
��
��
г
�
0�
�
е
��
 �
и
��
 �
��
P�
@p����`� �!0"�# %*�6707`7�788 808P;@< =�>@?�? @�BPG0U`U�U�UV�Z�[�\ ^�^�_pd0i tPt�t�t�tP�@� ���P��������@�0�`������� ���������@���P��pP%��������0�`���������@������0�`������`�p��������P����P


@

p

�

�

�

�

�
�
�
�
�
P
�
�
.
0.
`.
�.
�.
0/
�>
p?
P@
�A
pB
PC
�C
0F
PH
0T
`T
�T
�T
�V
�W
�X
0Z
�Z
�[
0^
�l
�l
 m
@q
0r
s
�t
0u
v
`x
z
��
��
�
�
��
��
`�
Ѝ
��
0�
Б
�
�
@�
p�
�
�
��
0�
�
��
@�
��
p�
��
�
�
�
 �
0�
��
��
��
��
��
P�
��
��
��
��
 �
��
��
��
�
��
p�
 �
��
��
@p���������	P
�p�����0��0!p*�*�*++ +0+�+�,�- /�/�0 3�>�> ?P?�?@I0JK�L0M�MQ�U�^�^_0_`_p_�_�_�b�c�d�e�fPg�iPn�v�vw0w�y�z�{�|�}P~�����@���Љ�������P����������p����P�����0�p������ж ���`�0�������0���`�����p�`����0�p�@���@�����P���
P
�
`0P`�00P�`0P`0(p+�+�+�+ ,�,�-�;@K�KPLM�N�NPX�Z�Z�[@\`\�h l�lpm n@n�y0�P���Є��������І��� �@�P� �С ���Ъ0�����0�P����н��P�о������@�P������ �������0�����0����	p@��'�' (`(p*�*�*+ -`-�-`./�01 1P1`1�1�1p3@4�6`:;�;p<?C0H�H�HPI�K�K L�LM�Y�d0e�e�f0g�k@nPnpn�n �P� � ����P�p��������P�@��p���!-@-�.�.p/ 0�24p4�4�BG�I@J�l�m0���P� �P���������@�Њ���0�@����p�P���Ф�0�������p�������� �0�p���`�� �P�`���`�������������� 
�
���# 6�6�7�7@A`E0F�F�H I�K�K�M�N`O0P�PQ�]0r�u��0�������`���
p
@������ � �!p"�"�"p,P/ 0�002`2�2�23�;0>@CD�D�G H`H�H�HR�S�Z[0[@[\�\�] hwPw�|�}��`������p�����@�`�p�0�������@�� �0�@���@���p�������P����0����� 0@�����p���`
p
@��p@� �'�*@+,�,�-�-�-�;�IJJ�J�K�mp~�~�~pp�p�@��� �p�0�`���p� ��0�@�����p�����@�������������p�����0�������@���� �@��������p����	�@���,@0�0P12 202�;�?P@A A0A�J N�N�O�O�O�Y�\�\�]P^p^�^`h@k@l`lpl�l�l�ln�n�no o�o�o�opp�t�zP� �`��������@�`�������І0�P�p������0��p��p�`����p���В`��������������� �P�0�`�@� ��P���0���@��� ����г�0�`�д��@�`�p����P�����@��0���P��������0����������������� �0�����`�p�����0�p���������P�`���������`@	 
p
�
`�p�P
�
0���� P������0��@`@�� P������P�`�p @ ` @!�!"�"# #$�$�%�&�&@'�'�'P(�(0)�)�*�*�*+@+`+@,�,-�-.0./�/�0�1�2p3P4056�6�7�8�9p:P;0<=�=�>�?�@pAPB0CD�D�E�F�GpHPI0JK�K�L�M�NpOPP�P�P@Q�Q�Q0R�R�R SpS�ST`T�TUPU�U�UV0V�V�V WpW�WX`X�XYPY�YZ�Z�Z`[�[@\�\ ]�]^p^�^P_�_0`�`a�a�a`b�b@c�c d�depe�ePf�f0g�gh�h�h`i�i@j�j�kplpno@opo�o�op0p`p�p�p�p qPq�q�q�qr@rpr�r�rs0s`s�s�s�s tPt�t�t�tu@upu�u�uv0v`v�v�vwPw�w�wxPx�x�xyPy�y�yzPz�z�z{P{�{�{|P|�|�|}P}�}�}~0~�~�~0�� �p����`����P����@������������`�@� �p����`��� ����p��Џp���А�0�`�����0���`���p������`�И�0���0�p���Ц�������P�еp�`���p�`��� ��� �п ���p�@��� ����������� �����`� �p��� ��� ��� �����0�`����� �@�`��`�-�.`/�/�3PH�H I@I�IJ@KLPM�M0OP@QR�RPS�S�U�V�XZ�ZP[�[�` e�f�h�i�j�j k�kl�lm0mPm0no`o�o p�p�q�q�qr�rPs�s t@t uv�v�w�x�y`z@{ |}�}�~���`�@� �p����`����P����@����0���Ї �p��P���0�������`�Ќ@��� ����p����p��0�`������ �P�������@�p���Е�0�p���Ж������P�������К@��@�`�@����О� ���`�ТP�Ф��0���Ц��� ���P�����������`�����p��0�@� ����������`����P�����`���@��� ����@�������0�`�������0�p�����0�p��������p�@�p���p���0��0�P�0��`��� ���`�������������`�@� ��P�����P�����@��� ����p���P�P��������@�p���������`�0�`�����p�P�0���� ����p�P���������@������������P�`0`�`@��P�����`	
�
�
�
�@�
0
����pP0�� p�`�P��`�@� �p�P�`P � � � !@!p!�!�!"0"`"�"`#�# $�$ %@% &p&'@'`'@( )*�*�+�,�,@-�-�-@.�./p/�/P0�001 2P2�2�2�23@3`3@4�405`5�5`6�6p7�7�7�89�9�9:�:0;�;p<�<�<�=>�>P?�?�?�@`A@B CpC�CPD�D0E�EpFG�G�G�H�HI0I`I�I`J�J K�K L@L MpMN@N`N@O�OPP�P Q@Q�T�T�U0VY�Y@Z�[P]�b`ce�fpg h�h@i�mpno�op�p0q�qs�st�t�v�{`|���@����@���@�`�@�`�������p���0��@�0�����Щ��ЬP�0����� ���бP� �0�`�`���0������P���p� �����0�� �!(�()�* +�+�,�- /�:;�;�<>P>�>?�A�E@F`F�FG�K L�MN�N�NpQ�SpU�U�UPV�WX�X�X�[�]�^�^_�_a�a�a�d�d�e�ef�f�f�gPi�ik�k�k�qPr�tv@v�y�z�{�|@�� ��p��� �����@�p�����@��p������@��������� �������P�����0�p��p�P�������������`�`�����������P���P�`���0�P�`���� �0�0���0��P�����������p�@����p�@���@�p�`��	����`�0@@ � !`$�$�&�&p()0*+P+�+�/0�0�1�2 3�4`5�;�;�<�=�>�E G@H�HIJ`P�P@Q�QS�SUPU0\�\ ]�^�_�`�l�m`p`|�}0��`���Ђ@�� ��p� ��`�@���������0����@���� ����P�`�����@���0������0��p�������������`� ���0��������`���P�������`��������0���0������� �0���P�������@�@��� �0�`�p�����P���`������`��p���� @�p���P
@0�0�� @ P!P"�#�$�&p)�*`+�,�24�46�7p8�9`:�:�;�<0>�>�?�AC�CE�E�FPH�H@J�J�K�K�MNO�O�T�V W�X�Y�\�^�^�`�a`bPc�gipi`jkplm�m�o�q�rPs�tv�v�v�v0{�|0}�~����0�ІP�Ј��Љ��Г��P�����@�@�К0����`�����������`�����`�p�о`��� �p����������������p�`����0� ��� ����������� ��p�@���@������	 p�@P�P�@���@p� P �������p �!p"�"P$%0%p%�%�*p9`=�=>�?@A0A�F0PPP�P�R�R@S�T`U�U�XpY�Y�YPZ�[ \�\�\@`�be@epef�i j�j�lm�mn0n�n`p�p0q�qr�rPt�tu0u`upw x�|�} �P�������`������@�p� ���0��@��p����@���������Й@�����@�`���`�p��0�Ш����� �������0��� ���0���0���������`� ���@�p��� �0��������p��0�����������p��� ������P���`�����������0� ��`��� ����������0����`�P�p`	
�
@� 
P
��@�`����P!�!�!�"�"0$p$�$ %0(p-�-�./0�00>`?�?�?�@@A�APB�B�CE�EG�H0I`I`L�L�N�N�N`O�P0Q�Q�QPU�W0XpY�Z@[�[�[�`pd�d�dPe�epfPgph�hpij�j`�p���0�p�P�0���� �p�������`��@����0�`������p�@�P�@p� �	��`�0`���`�P���1�3`5�5@6p6 90A`D�E0F�F�F�IN�SPU�UPV�V�Y�\_�`0a�ab0b�d�f�hpjk@k�mp@p�pq�q@r�r@s�u@wx`x�z�}P�`�p���� �0�@���Ѕ�� �0�@�`������� ����@�0��@�`���Й���������@�p��� �P�p��0��P�P�@��@�����@�� �0�@�P�`���`��p`P��� P��  � @!P!�"�#$ )0)�) 8�8P;`;�@pC�C@I�IJ�J�K�K�QT�TPU [0[@[0]�bPc`c�c�c dpd�d�efpf0g�g h�i�i�i@jpw�w`|����������� �@������`����`���p�P������p�����@�`��������� �`��������0����������� �P�`�p������������� ����������`�0��P � � �   � � �       � �   P# �' �+ P-  3 4 `4 p5 �5 07 p7 �7 �8 9 9 P9 �9 �9 0; @; < �< �< P= �= �= 0> @> `> �> �> �> pB �B `F �G �I J J  J 0J @J 0K pK @M PN �N �P `Q �Q 0T �T U �_ d �l Pn �u �u �v � �  � ��  � �� �� �� �� �!�!
!0
!p
!p&!�&!�&!'!`'!�@!�@!�@!@A!`B!�C!D!�L!Pj!�j! l!0�!Г!�!@�!p�!�!��!��!��!�!�!P�!`�!��!@�!P�!��!@"�'"�'"�+"P5"�5"�_"`"�`"�z" |"�"��" �"�"��"�"p�"�"��"@�"0�"P�"��"��"`�"�#�
#�#P#@#P#�#�#�#�#�###@#p#�#�#2$ 2$`2$p2$�2$�2$3$3$ 3$`3$p3$�3$�3$4$4$P4$`4$�4$�4$�4$@5$P5$�5$�5$�5$�5$06$@6$�6$�6$�6$�6$ 7$07$p7$�7$�7$�7$8$ 8$08$p8$�8$�8$9$9$P9$`9$�9$�9$�9$:$@:$P:$�:$�:$�:$�:$0;$@;$�;$�;$�;$�;$ <$0<$p<$�<$�<$�<$=$ =$`=$p=$�=$�=$>$>$P>$`>$�>$�>$�>$?$@?$P?$�?$�?$�?$�?$0@$�@$�@$�@$�@$0A$@A$�A$�A$�A$�A$ B$0B$pB$�B$�B$�B$C$ C$`C$pC$�C$�C$D$D$PD$`D$�D$�D$�D$E$@E$PE$�E$�E$�E$�E$�E$F$F$0F$@F$`F$pF$�F$�F$�F$�F$�F$�F$G$ G$0G$PG$`G$�G$�G$�G$�G$�G$H$ H$@H$`H$pH$�H$�H$�H$�H$�H$I$I$0I$@I$`I$pI$�I$�I$�I$�I$�I$�I$J$ J$0J$PJ$`J$�J$�J$�J$�J$�J$�J$K$ K$`K$pK$�K$�K$�K$�K$�K$�K$L$ L$0L$PL$`L$�L$�L$�L$�L$�L$�L$M$M$0M$@M$PM$`M$�M$�M$�M$�M$�M$�M$N$ N$pN$�N$�N$�N$�N$PO$�O$�O$P$P$PP$`P$pP$�P$0ZG� w� ��Unknown exception�ZG� w� ��([G� w� ��bad array new lengthstring too long�[G� w� ��0\G�pw� ��: �\G��w��u �~�data type id failed�^G��v�p~�~��u ��]G�0x�p~� ~����reorder type id failed_reorder_Inconcistency in topology description: user of a node is not present among its dependecies.Internal Error: container index out of range exception. comaptible with Internal Error: no layout format available for  kernel which satisfies output format dependecies.Internal Error: no implementation for vector too long�^G�py�Py��v��y�X_G� y� y��y��z�0y��y��_G�y�y��y��z�0y��y�X`G� w� ���`G� w� ��_batch_norm type id failedmutable_data type id failed@bG�`��p~�~��u �`aG�В�p~�~�`��reshape type id failedreshape_invalid vector subscriptprogram_node: mismatching primitive's typehbG�py�Py�0���y��bG�`��`��������0y��y�hcG�P��P��������0y��y��cG�@��@��p�����0y��y�implementation pointer should not be nullmemget memory layout failedretain memory failedrelease memory failed�eG����p~�~��u ��dG� ��p~�~�`��prior_box type id failed_result_cldnn_tmp_fG�py�Py�����y��fG�е�е� ��p��0y��y�gG���������P��0y��y��gG���������`��0y��y�hG�����@�����0y��y��hG����Py�������convolution type id failedeltwise type id failedinvalid map<K, T> keyiG�P��P��p�����0y��y��iG�`��`��������0y��y�jG� w� ��bad castmap/set too long�pG��9� ��qG��9� ���qG�`6�К�`��[�Ph�ph�iostreamiostream stream error(rG�P9��u ��u �bad locale namefalsetrue�sG��6� L�`>�@g�0g��g��g�0h�`\�p\�`\�xtG��9� ���jG� <�ios_base::badbit setios_base::failbit setios_base::eofbit set�kG�4��mG�2��lG��1� nG��1� lG�@5��S��S��������y����0���������������y��y��S�oG��5��S��S����p���y�p��0��������������y��y��S��oG�2���:�uG��9�@p�k�pvG�`6� p��j��vG�`6�0p��j��xG����p~�~��u ��wG�:�p~�~����concatenation type id failed�yG��7�p~�~��u ��xG��:�p~�k����convolution's weights/bias count does not match�zG�p8�p~�~��u ��yG�0;�p~��l����deconvolution type id faileddetection_output type id failed�{G��8�p~�~��u ��zG��;�p~�~����detection_output_sort type id failedlstm type id failed�|G��v�p~�~��u ��{G��<�p~�@n����lstm_gemm type id failed�}G�`��p~�~��u ��|G�`<�p~��m� ��lstm_elt type id failedsplit type id failed�~G�8�p~�~��u ��}G��:�p~�~� ��crop type id failedupsampling type id failed:<split_output_id>"!Split layer cannot be used directly! Please use split output ""!num_filter in upsampling cannot be 0 in bilinear filtering mode in "_deconvolution_weights_tmp_pre:crop::lstm_gemm:lstm_elt:crop:hidden:cell:concat:reshapeuG�7� L�`>�Pb��`��^�d��b��]��\�0e�%p�~G�07� L�`>��[� g� \��[��g�eEpP.invalid string position�G�py�Py� 2��y��G�py�Py�P2��y���G�py�Py��2��y�pointer should not be null layout size buffer size mismatch - input size memory attach failed�G�py�Py�@3��y���G�py�Py��2��y��G�py�Py�p3��y���G�py�Py�3��y��G�py�Py��3��y���G�py�Py��3��y��G�py�Py��2��y�list too long��G��=��=�0?��W�0y��y��G��=��=��>�`W�0y��y���G��=��=�?�pW�0y��y��G�>�>�@?��W�0y��y���G��=��=��>�PW�0y��y��G�P=�P=��>�W�0y��y���G��=��=�?��W�0y��y��G��=��=��>�@W�0y��y���G�`=�`=��>� W�0y��y��G��=��=� ?��W�0y��y���G�p=�p=��>�0W�p>��y�?�? _�B��������������������������)�G����p~�~��u ��G�@��p~�~����border type id failedPadding above in feature is not supportedPadding above featureE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\graph_optimizer\handle_input_padding.cppPadding above in batch is not supportedPadding above batchPadding below in feature is not supportedPadding below featurePadding below in batch is not supportedPadding below batchPadding above in X cannot be negativePadding above XPadding above in Y cannot be negativePadding above YPadding below in X cannot be negativePadding below XPadding below in Y cannot be negativePadding below Y_border_(=) is not equal to: ) is less than: �G�py�Py�����y���G�������������0y��y�_reshape_split__reshape_input__reshape_output_fully_connected type id failed�G��������0y��y���G��u ��G�p*��*�fused_conv_eltwise type id failedpost_optimize_weights��G��)��)��)�*�0y��y�embed type id failed�G�p*�@:�pre_optimize_bias��G�:�:� :�0:�0y��y�pooling type id failed�G�`6�r��j���G�py�Py��p��y��G��p��p��p��p�0y��y���G� w� ��weights offset too bigcustom_gpu_primitive type id failedInput data spatial sizes must be positive (>= 1).Sliding window spatial sizes must be positive (>= 1).Sliding window h/v strides must be positive (>= 1).Sliding window h/v input dialations must be positive (>= 1).Output data spatial sizes must be positive (>= 1).�G������� ��0y��y�roi_pooling type id failedconvolution's weights count does not match quantization factors countactivation type id failedp�G�:�p~�~��u ���G�@��p~�~���x�G�P��p~�~��u ���G���p~�����batch_norm_grad type id failedbroadcast type id failed��G���p~�~��u ���G����p~�p�� ��fused_conv_bn_scale type id failedlrn type id failedmvn type id failednormalize type id failedpermute type id failedsoftmax type id failedscale type id failedscale_grad_weights type id failed_fused__RW_OPT_use_RW_OPT_reuse��G�py�Py�����y�(�G�py�Py�P���y���G�py�Py�����y�(�G�0��0�������0y��y���G�����п����0y��y�(�G��������`��0y��y���G� �� �������0y��y�(�G�������P����0y��y���G��������p��0y��y�(�G�о�о����P��0y��y���G�������`�� ��0y��y�(�G����������@��0y��y���G�������@����0y��y�(�G�����������0y��y���G�������p��0��0y��y�generic_layer type id failed_cldnn_const_prop_(�G�p��p��������0y��y�proposal type id failedreorg_yolo type id failed��G�@*�p~�~��u ���G��*�p~�,�p3�input_layout type id failed��G�p*�`,�reorder_inputs_winograd__bias_conv1x1_reorder_back_0�G�py�Py�*��y���G�+�+�0+�`+�0y��y�0�G��*��*� +�P+�0y��y���G�+�+�@+�p+�0y��y�max_unpooling type id failed0�G�05�05�@5�P5�0y��y��G��8�p~�~��u ��G�Pb�p~��s�Py��G��a�0t�@y�آG��a�0t�@y�`�G�@a��S�0�G�@a��S��G��p��b�{

 : },
}
��G� b�0r��l��k��j��n�0o��g��t��t�Requested activation is not supported for integer type (int8).E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\activation.cppactivation_funcadditional_params.aadditional_params.badditional_params inputactivation infoRelu input/output num dismatchReLU output numberReLU input numberDimensions mismatch between input and slope input in Activation layer(slope x size should be equal to input feature size)!input feature sizeSlope x sizeDimensions mismatch of slope input in Activation layer!Slope input size xSlope input size countprimitive_type_base::to_string: primitive type mismatchprimitive_type_base::calc_output_layout: primitive type mismatchprimitive_type_base::choose_impl: primitive type mismatchprimitive_type_base::create_instance: primitive type mismatchprimitive_type_base::create_node: primitive type mismatchprimitive_type_base::from_dto: primitive type mismatchDTO type mismatch�G�@d�Py�a��y���G�Pp�`6��G��o�`6���G�p��a�engine_impl::create_primitive_impl: program's engine does not match called engine�G�py�Py��`��y���G�py�Py��_��y�type�G�py�Py� `��y� could not find any implementation to match keyimplementation_map for ,
unordered_map/set too longinvalid hash bucket count��G�@d�Py��`��y��G�@d�Py�P`��y���G�@d�Py��`��y�_�G��8�p~�~��u ��G�Pb�p~��s�Py�activation_grad type id failed�G��a�0t�@y��G��a�0t�@y���G�@a��S��G�@a��S� �G� b�А��� ��0��p�� ��@�����t�activation_grad_funcactivation_grad infoRelu input_grad/input num dismatchReLU input_grad numberE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\activation_grad.cpp��G�Pp�`6� �G�py�Py�����y���G�py�Py����y� �G�py�Py� ���y���G����������Њ�0y��y� �G�@d�Py�P���y�bfxy?byxfbfyxbfxyb?x??xyfbbfyx?fbyxbfklyxbfklxy?bfzyxbfxyz��G�@*�p~�~��u ���G���p~� �����apply_adam type id failed��G��a�0t�@y���G��a�0t�@y���G�@a��S���G�@a��S���G� b�p��������б������ ������t�beta1_power_idbeta2_power_idbeta1beta2epsilonapply adam infosupported m formatsE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\apply_adam.cppsupported v formatssupported beta1_power formatsbeta1_power formatsupported beta2_power formatsbeta2_power format. Should be one of:  ) is incompatible with ( , 8�G�py�Py�P���y���G�py�Py����y�8�G�py�Py� ���y���G�@��@��P��`��0y��y��G�:�p~�~��u �8�G����p~�~����arg_max_min type id failed �G��a�0t�@y�@�G��a�0t�@y�(�G�@a��S�H�G�@a��S�P�G� b�������������0��������0���t�Current output data type is unable to hold maximum index of a tensor.Maximum output data type valueReduced tensor sizeE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\arg_max_min.cppmaxmintop_kwith axisoutput typearg_max_min info) is greater than: кG����`6�P�G����`6�лG�Pp�`6�P�G�py�Py�`���y�мG�py�Py�p���y�P�G�py�Py�����y�нG������� ��0y��y�P�G�@d�Py�����y�оG�@d�Py����y�P�G�@d�Py�0���y�[b:,, f:, x, y, z, w]��G���p~�~��u �пG�0�p~�~�P�average_unpooling type id failed��G��a�0t�@y��G��a�0t�@y���G�@a��S��G�@a��S���G� b�`����������0����t�Stride spatial X must be positive (>= 1)stride spatial XE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\average_unpooling.cppStride spatial Y must be positive (>= 1)stride spatial YSize X (of pooling window) must be positive (>= 1)window size spatial XSize Y (of pooling window) must be positive (>= 1)window size spatial Yinputstridewindow sizeaverage_unpooling info) is less or equal than: h�G�py�Py����y���G�py�Py�0��y�h�G�py�Py�`��y���G���������0y��y�H�G��;�p~�~��u �h�G�P3�p~�p;�PD�P�G��a�0t�@y�p�G��a�0t�@y�X�G�@a��S�x�G�@a��S���G� b��9�p6��5��4��7��8��3�P=��t�mean_idvariance_idinv_varbatch norm infosupported mean formatsMean formatE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\batch_norm.cppsupported variance formatsVariance formatmean and variance are not the same typesupported scale formatsScale formatsupported shift formatsShift formatinv_variance is not mutable_data type�G�py�Py� 3��y���G�py�Py��2��y��G�py�Py��2��y�`�G����p~�~��u ���G��M�p~�@U��Y�h�G��a�0t�@y���G��a�0t�@y�p�G�@a��S���G�@a��S���G� b��S��P��O��N�0R��R�@N� V��t�inv_variance_idbatch_norm_grad info�G�py�Py�pM��y���G�py�Py�M��y��G�py�Py�@M��y�%fx�G��a�0t�@y���G��a�0t�@y���G�@a��S���G�@a��S���G� b�w�@t�`s�pr��u�`v��o�Py��t�unknownconstantedgemirrormirror-101left/top sizesright/bottom sizesborder typeborder valueborder infosupported border primitive input formatsInput formatE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\border.cppInvalid border size: negative value0 valueLeft/Top border sizesRight/Bottom border sizesNot enough data in input to create mirror border of specified sizeinput_sizesNot enough data in input to create mirror-101 border of specified sizeinput_sizes - 1(�G�py�Py�o��y���G�py�Py��n��y��G�@��p~�~��u �(�G����p~�~�0���G��a�0t�@y�0�G��a�0t�@y��G�@a��S�8�G�@a��S�@�G� b�0��`��������Н����P��p���t�broadcast_sizesbroadcast axesbroadcast infoIncorrect parameters configuration: broadcast_axes size should be less or equal 4.E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\broadcast.cppIncorrect parameters configuration: broadcast_axes index should be within broadcast_sizes range.Incorrect parameters configuration: Duplicate axes numbers was found in broadcast_axes.Must be equal 1.Input size on dimension number Invalid broadcast size: not dividable by input sizeinput sizesBroadcast sizes��G�py�Py����y�@�G�py�Py�����y���G�py�Py����y�@�G� w� ��Operation succeederror unknown��G����' exists alreadydifferent primitive with id 'Topology doesn't contain primtive:  is not input_layout.Primitive: option type does not match: should be 'output'output data is empty��G����@�@�option type does not match: should be 'learning_config'Learning params data is empty8�G����P�P�option type does not match: should be 'tuning_config'Tuning config data is empty��G�`6��y��j�8�G��a�0� �unsupported build option type�G����u ��u ��u �����G�@�����S����� should not be null.TopologyPrimitivePrimitive idPrimitive typeInput layout idUnknown format of layout.Unknown data_type of layout. should not equals 0.Primitives numberenginecache.jsonEngineEventEvent passed to cldnn_set_event should be an user eventHandlerProgramNetworkMemIdMemory sizeOutput sizePrimitives sizeID of primitivebuffer size does not match layout sizeMemoryReading error message failed.invalid unordered_map<K, T> key@�G�py�Py�����y���G�py�Py�@���y�@�G�py�Py�p���y���G�py�Py����y�@�G�������������y���G�P��P�����������y�@�G�����������
�����y���G����������0�����y�@�G�������@��������y���G�`��`�����
�����y�@�G����������
�����y���G����������	�����y�@�G�`��`����`�����y���G�@��@��0��P	�����y�@�G���������������y���G�������p�p
�����y�@�G�0��0����� �����y���G����������p�����y�@�G�p��p����������y���G�����������	�����y�@�G�P��P�����������y���G����������P
�����y�@�G�����P��������y���G�P��P�� ��������y�@�G�P��P��p��
�����y���G� �� �� ��0�����y�@�G� �� ��`��
�����y���G�������0��@
�0���y�@�G��������`
�����y���G���������������y�@�G���������P�����y���G���������������y�@�G�p��p����@�����y���G�0��0�����������y�@�G�����������
�����y���G����������0�����y�@�G�������`��������y���G�������@�� �����y�@�G�������`�������y���G����������0
�����y�@�G�������@��������y���G�������0���	�����y�@�G� �� �����������y���G����������������y�@�G�p��p����������y���G�@��@��P��0
�����y�@�G�P��P��@��0�����y���G� �� ��`���	�����y�@�G���������������y���G�������p�������y�@�G����������������y���G�@��@������
�����y�@�G� �� ��`��p
�����y���G�p��p�����p	�����y�@�G�������@�� 
�����y���G��������
�����y�@�G�������������y���G�������P��������y�@�G�@��@����������y���G���������������y�@H� �� ����0	�����y��H���������������y�@H�@��@�����@�����y��H����������������y�@H����������
�����y��H�p��p�����������y�@H�����@���	�����y��H�p��p��`���
�����y�@H� �� �����p�����y��H�0��0����������y�@H����������
�����y��H�`��`����������y�@H�����������
�����y��H�p��p��P��������y�@H�����`��@�����y��H�p��p��`��
�����y�@H�������p��������y��H�������`��������y�@	H����������
�����y��	H�P��P����P�����y�@
H����������
�����y��
H������� �����y�@H�������p���
�����y��H������� ��p�����y�@H�0��0�� ��@	�����y��H���������� �����y�@
H� �� ��0��
�����y��
H�����p��P�����y�@H�����P��`
�����y��H�������p������y�@H�������0�������y��H�p��p����P
�����y�@H������� ���	�����y��H�@��@������	�����y�@H���������������y��H��������	�����y�@H����� ��
�����y��H�`��`��P���
�����y�@H�@��@�����������y��H��������`�����y�@H�P��P����������y��H����������@�����y�@H�������p��`�����y��H�������`��P�����y�@H�`��`�����`	�����y��H�`��`����@
�����y�@H�������0��������y��H�P��P�����
�����y�@H�����������	�����y��H�0��0��@�� 
�����y�@H�������`��������y��H�����P���	�����y�@H�������������y��H������� 	�����y�@H�0��0�����p�����y��H� �� �����`�����y�@H����������������y��H�`��`��@��������y�option type does not matchdata_type and/or format values are too big to be fused into single valueinput offset too big H��a�0t�@y�@H��a�0t�@y�(H�@a��S�HH�@a�Pe�PH� b� b� _�@^��\��`�@a�pY��f��t�, count: concat axisinputs countinputsconcat infoEvery input must have the same sizeinput memory dim: Input size dim: E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\concatenation.cppFused input/output formats mistmachinput format (fused)Output format (fused) Output size in concatenated dimension mismatch sum of inputs!output size dim:Concat countOutput size in non-concatenated dimension mistmatch input�H�Pp�`6�P H��a�`6�� H�py�Py�@Y��y�P!H�py�Py��X��y��!H�@d�Py��X��y�P"H�@d�Py�Y��y�retain topology failed�#H�P��p~�~��u ��"H����p~�� ��condition type id failed�%H����p~�~��u ��#H���p~�~���%H��a�0t�@y��$H�p��0t�@y�Pointer to topology cannot be nullptr:result�&H�@a��S��%H�0���S��&H� b� ��P��p�� �����p��P������t�Branch true should have one output.expected outputs sizeCount of branch true outputsE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\condition.cppBranch false should have one output.Count of branch false outputsLayout of the branches should be the same.branch false output layoutBranch true output layoutcondition infoCompare primitive is too big.input tensorCompare tensorOffset is too big.Offset with compare tensorp'H�py�Py����y��'H�py�Py� ���y�p(H�py�Py����y��(H�py�Py����y�p)H�`��`��������0y��y��)H�������������0y��y�P+H��8�p~�~��u �p*H����p~�~���contract type id failedX,H��a�0t�@y�x+H��a�0t�@y�`-H�@a��S��,H�@a��S��-H� b��� ���p�� �������t�sumproductallanynot supported modereduction axescontract infoIncorrect parameters configuration: reduction_axes should not be empty.E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\contract.cppIncorrect parameters configuration: reduction_axes size should be less or equal 4.Incorrect parameters configuration: reduction_axes index should be within reduction_axes range.Incorrect parameters configuration: Duplicate axes numbers was found in reduction_axes..H�py�Py�P���y��.H�py�Py����y�/H�py�Py� ���y��/H����������0y��y�Invalid convolution dto: bad split value�0H��a�0t�@y�0H����0t�@y�bias offset too big�1H�@a��S�1H�@a��S�2H� b���������0���@�����t�valueStride spatial XE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\convolution.cppStride spatial YDilatation patial X must be positive (>= 1)Dilatation spatial XDilatation spatial Y must be positive (>= 1)Dilatation spatial YThere is no input data to processinput layout spatial XInput offset spatial Xinput layout spatial YInput offset spatial YInput offset in feature is not supportedInput offset featureInput offset in batch is not supportedInput offset batchStride spatial Z must be positive (>= 1)Stride spatial ZDilatation spatial Z must be positive (>= 1)Dilatation spatial Zinput layout spatial ZInput offset spatial ZInput for convolution should not be in windograd weights format - it is reserved for weights onlyConvolution with winograd input only supports split == 1expected valueconvolution splitConvolution's input in winograd_2x3_s1_data format can only be used with stride 1x1Winograd 2x3 convolution does not support dilatationInput for winograd 2x3 convolution should have features count divisable by 32Number of filters (OFM) for winograd 2x3 convolution should be divisable by 32Winograd 2x3 convolution should not have activation fused - activation should be performed at transformation from winograd domain stageConvolution input is smaller than weightsfilter widthinput widthfilter heightinput heightmust be positive(>= 1)User defined output spatial XUser defined output spatial YUser defined output spatial Z trueinput offsetpadding abovepadding belowsplitwith activationslopewith user defined output sizeconvolution infoInput/output dims mismatchoutput number of dimensionsInput number of dimensionsstride/output dims mismatchStride number of dimensionsBiases isn't 1D vector.expected size of batchBias batch[0]expected size of featureBias feature[0]expected size of spatial[1]Bias spatial[1]expected size of spatial[2]Bias spatial[2]Bias/fm mismatchexpected feature map numberBias spatial[0]Weights/output dims mismatchWeights number of dimensionsUnknown padding mode.padding valueConvolution padding modeInput offset/ input size mismatchinput number of dimensionsInput offset number of dimensionsOnly one-dimensional features are supportedexpected feature sizeOutput feature sizeOnly one-dimensional batch size are supportedexpected output sizeOutput batch sizeWeights/ifm mismatchinput feature maps numberWeights feature maps numberoutput x dimensionNumber of local x dimensionoutput y dimensionNumber of local y dimension�2H�Pp�`6�3H�py�Py�����y��3H�py�Py�P���y�4H�@d�Py�����y�x5H��F�p~�~��u ��4H�pG�p~�pQ�@_�convolution_grad_weights type id failedInvalid convolution_grad_weights dto: bad split value�6H��a�0t�@y��5H�0G�0t�@y��7H�@a��S��6H�@a��S��7H� b��O��L�L��J�`N�O�@H��T��t�weights countbias countconvolution_grad_weights infoInput_grad/Input number of dimension does not match.Input sizeconvolution_grad_weights Input_grad sizeE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\convolution_grad_weights.cppInput/output number of dimension does not match.output sizeconvolution_grad_weights Input sizeStride/output number of dimension does not match.convolution_grad_weights Stride sizeOnly dilation x = 1 is supported right now.should be 1convolution_grad_weights dilation xOnly dilation y = 1 is supported right now.convolution_grad_weights dilation yshould be same as prev_weights_grad numbernumber of weightsshould be same as prev_bias_grad numbernumber of biasBatch[0] of bias should be 1. Bias isn't 1D vector.dimension sizeFeature[0] of bias should be 1. Bias isn't 1D vector.Spatial[1] of bias should be 1. Bias isn't 1D vector.Biases/output feature maps number does not match.input_grad feature size / splitUnknown padding mode in convolution_grad_weights.padding modeconvolution_grad_weights padding filling valueInput offset sizeexpected output feature sizeexpected output batch sizeWeights/ifm mimsmatchinput_grad feature maps number08H�py�Py��F��y��8H�py�Py�0F��y�09H�py�Py�`F��y��9H��G��G��G��G�0y��y�;H��a�0t�@y�0:H��a�0t�@y�<H�@a��S�8;H�@a���@<H� b���p|��{��z�P~���v�P���t�reference input sizeoffsetcrop infosupported crop input formatsE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\crop.cppInvalid border size: negativeLeft/top/lower bordersRight/bottom/upper bordersInvalid border sizes: greater-equal input sizes1 valueInput sizes - border sizesReference input tensor/ input tensor mismtachReference inputInvalid Batch offset: negative valueBatch offsetsInvalid Batch offset: exceeds data for output!reference input sizesinput sizes - offsets�<H�py�Py��v��y�@=H�py�Py��v��y��>H�P��p~�~��u ��=H����p~�~�����?H��a�0t�@y��>H��a�0t�@y��@H�@a��S��?H�@a��S��@H� b�p������������P��������t�entry pointkernels codebuild optionsgwslwscustom primitive infoXAH�0��p���AH�����XBH�py�Py�@���y��BH�py�Py�����y�XCH�py�Py�����y��CH�@d�Py����y�XDH�@d�Py����y��EH��a�0t�@y��DH����0t�@y��FH�@a��S��EH�@a��S��FH� b������������p�� �����P���t�hGH�py�Py�`���y��GH�py�Py�0���y�Invalid deconvolution dto: bad split valueHIH��a�0t�@y�hHH����0t�@y�PJH�@a��S�pIH�@a��S�xJH� b����P��p�����0���� �����t�User-defined size of output layout must be positive (>= 1)value 0User-defined output spatial XE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\deconvolution.cppUser-defined output spatial YUser-defined output spatial Zwith_user_defined_output_sizedeconvolution infoStride sizeSpatial[2] of bias should be 1. Bias isn't 1D vector.output feature size / splitUnknown padding mode in deconvolution.deconvolution padding filling value�JH�py�Py�����y�xKH�py�Py�����y��LH�0�p~�~��u ��KH����p~�~�@^�Cannot use decrease_label_id and background_label_id parameter simultaneously.�MH��a�0t�@y�MH��a�0t�@y��NH�@a��S�NH�@a��S��OH��a�0t�@y�OH��a�0t�@y��PH�@a��S�PH�@a��S� QH� b�`H��A�@� >�pE��F��0��M��t�expected number of inputsDetection output layer input numberE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\detection_output.cppcornercenter sizecorner sizenot supported code typeinput location idinput confidence idinput prior box idnum_classes:keep_top_kshare_locationbackground_label_idnms_tresholdetacode_typevariance_encodedconfidence_thresholdprior_info_sizeprior_coordinates_offsetprior_is_normalizedinput_widthinput_heightdecrease_label_iddection output infoexpected bfyx input formatLocation memory formatConfidence memory formatPrior box memory formatLocation input/ detection output dims mismatchdetection output layer dimensionsLocation input dimensionsConfidence input/detection output dims mistmachConfidence input dimensionsBatch sizes mismatch.location input batch sizeConfidence batch sizePrior box batch sizePrior box spatial XPrior box feature sizeDetection output layer doesn't support output padding.Detection output layer paddingDetection output layer doesn't support input padding in Prior-Box inputDetection output layer Prior-box input padding�QH� b� I�0C��@�?� F��G�01�PN��t�Cannot calculate output layout.node.get_dependency(0).is_type<detection_output>()input bboxes idInput memory formatDetecion output layer padding RH�0H�`6��RH�py�Py��/��y� SH�py�Py��/��y��SH�py�Py�P/��y� TH�py�Py��/��y��TH�py�Py��.��y� UH�@d�Py� /��y�eltiwise dto should containt at least two inputsInvalid eltwise coefficients count in dto (should be equal to 0 or input.size)�VH��a�0t�@y��UH�0G�0t�@y��WH�@a��S��VH�@a��S��WH� b���|�0{�@z��}�0~��s�`���t�Requested eltwise mode is not supported for integer types.E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\eltwise.cppActivations are not supported for logical operations.{  }divpowmodequalnot equalless-or-equalgreatergreater-or-equalandinput_coefficientseltwise infoEltwise strides countEltwise inputs countEltwise output_xEltwise input_x / stride_xEltwise output_yEltwise inputyx / stride_yInput tensors are not broadcastable to the same shapeinput0 sizesinput1 sizes0XH�py�Py�Ps��y��XH�py�Py� s��y�	
ZH�:�p~�~��u �0YH���p~�0��p��[H��a�0t�@y�8ZH��a�0t�@y� \H�@a��S�@[H�@a��S�H\H� b����P��p��������p��@��0���t�no biasweights idbias idembed infoexpected formatinput formatE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\embed.cppoutput batchInput batchsize 1Input featureInput y size �\H�py�Py�М��y�H]H�py�Py�p���y��]H�py�Py�����y�H^H�а�_H�pw� ��trying to reinterpret buffer allocated by a different enginetrying to reinterpret non-image buffer as imagetrying to reinterpret image buffer as non-image bufferi32i64f16f32invalid data type:  at line: Error has occured for: ) should be (Data formats are incompatible. is:  format is: Data formats should be the same!BatchFeatureSpatial xSpatial y sizes:  dimensions. dimensions should not be less than All Mismatching dimensions:  dimensions should not be greater than  dimensions must be dividable by corresponding dimensions from Layouts mismatch. data padding. data padding mismatch:  upper data padding:  lower data padding:  data type. data type mismatch:  data type:  format. format mismatch:  format:  size. size mismatch :  size: �`H��;�p~�~��u ��_H����p~�0��p���aH��a�0t�@y��`H�0G�0t�@y��bH�@a��S��aH�@a��S��bH� b� ��P��p��������p���������t�fully connected infoE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\fully_connected.cpp@cH�py�Py�P���y��cH�py�Py�����y�@dH�py�Py� ���y��eH����p~�~��u ��dH��M�p~�@U��Y�fully_connected_grad_input type id failed�fH��a�0t�@y��eH��a�0t�@y��gH�@a��S��fH�@a��S��gH� b������ �`����`��t�fully connected grad input infoE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\fully_connected_grad_input.cppXhH�py�Py����y��hH�py�Py� ��y�XiH�py�Py�P��y��iH���������0y��y�8kH��v�p~�~��u �XjH���p~��#�P+�fully_connected_grad_weights type id failed@lH��a�0t�@y�`kH��a�0t�@y�HmH�@a��S�hlH�@a��S�pmH� b�p!������� �� �P��%��t�fully connected grad weights infoE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\fully_connected_grad_weights.cpp�mH�py�Py����y�pnH�py�Py�P��y��nH�py�Py����y�poH� � �0�@�0y��y��pH��a�0t�@y��oH�0G�0t�@y�input index too big�qH�@a��S��pH�@a��S�rH� b�@b�p_��^��]��`��a��K�Pe��t�E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\fused_conv_bn_scale.cppfused_conv_bn_scale infoInput/output dims mismtachstride/output dims mismtachBias/fm mismtachWeights/output dims mismtachInput offset/ input size mismtachWeights/ifm mismtach�rH�py�Py��J��y�sH�py�Py�`J��y�`tH��a�0t�@y��sH����0t�@y�huH�@a��S��tH�@a��S��uH� b�p��������б�����������t�E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\fused_conv_eltwise.cppvH�py�Py�`���y��vH�py�Py�0���y��wH�:�p~�~��u �wH����p~�~� ��gemm type id failed�xH��a�0t�@y�xH��a�0t�@y�zH�@a��S� yH�@a��S�(zH� b������������� �������� ���t�alphatrasnpose_input1transpose_input2Input2 Rows countInput1 Columns countE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gemm.cppInput2 Columns countInput3 Columns countInput1 Rows countInput3 Rows countInput13 Columns count�zH�py�Py�P���y�({H�py�Py�����y��{H�py�Py� ���y�(|H�������������0y��y��}H����p~�~��u ��|H�P��p~�~�����~H��a�0t�@y��}H��a�0t�@y��H�@a��S��~H�@a��S��H� b�0��0��P��`�����P��������t�@�H�py�Py�����y���H�py�Py�P���y�@�H�py�Py�����y������{�{�{�{||||��������3333�8�8�8�8�G�G�G�G��������������H�:�p~�~��u ���H�@	�p~�~��(	�index_select type id failed��H��a�0t�@y�ȂH��a�0t�@y���H�@a��S�ЃH�@a��S�؄H� b�@ 	�p	��	��	��	��	��	��#	��t�UNSUPPORTED AXISE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\index_select.cppalong_b, along_f, along_y, along_x, not supported axis, index_select_infosupported input formatinput_formati32 data_type indicies data_typeexpected sizeindicies batch_sizeindicies feature_sizeindicies y_sizeindicies x_sizesupported indicies formaterror during error parsingX�H�py�Py�	��y�؅H�py�Py��	��y�X�H�py�Py��	��y�؆H��	��	��	��	�0y��y�8�H��a�0t�@y�X�H��a�0t�@y�@�H�@a��S�`�H�@a��S�h�H� b��6	��3	��2	��1	� 5	��5	�@0	��<	��t�output memory layoutmemory layoutinput layoutE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\input_layout.cpp�H�py�Py�0	��y�h�H�py�Py��/	��y��H� w� ��get_version: fetching version information failedUnknown coord type: ��H��u �Tensor pitches didn't set correctlyTensor total Size didn't set correctly�H�@G	�8�H�@G	� �H��G	�@�H��G	�Unknown activation functionUnknown activation_grad functioncl_intel_subgroupscl_intel_subgroups_shortcl_khr_fp16cl_khr_fp64H�H��G	��G	��G	��G	�0y��y�o:fff?cannot convert to new formatUnsupported data type in layout_optimizer::get_expected_layout for convolution primitiveUnsupported data type in layout_optimizer::get_expected_layout for fully-connected primitiveUnsupported data type in layout_optimizer::get_expected_layout for deconvolution primitivedetection_output only supports optimization of its output (no weights/biases)E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\layout_optimizer.cppUnsupported data type in layout_optimizer::get_expected_layout for embed primitivereorder_generic_layer_unsupported layout optimization attribute[Layout optimizer] Other formats in is_format_optimized(...) method are not implemented!��H����p~�~��u �ȎH�:�p~�~�p�	�lookup_table type id failed��H��a�0t�@y�ЏH��a�0t�@y���H�@a��S�ؐH�@a��S��H� b��	��	�0�	�@�	���	�0�	�С	���	��t�lookup_table info`�H�Pp�`6��H�py�Py�p�	��y�`�H�py�Py��	��y��H�py�Py��	��y�`�H���	���	���	���	�0y��y��H�@d�Py�@�	��y�@�H��8�p~�~��u �`�H��;�p~�~�@�	�(�H�@a��S�H�H�@a��S�P�H� b���	��	��	��	�P�	��	�`�	�P�	��t�ИH��a�0t�@y�h�H��a�0t�@y�across channelwithin channelsize of normalizationnormalization regionLRN size must be greater than 0!LRN argument sizeE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\lrn.cpp��H�py�Py�0�	��y�x�H�py�Py�й	��y���H�py�Py��	��y�X�H��	�p~�~��u �x�H�p�	�p~���	���	�`�H��a�0t�@y���H��a�0t�@y�h�H�@a��S���H�@a��S���H� b�@�	�p�	���	���	���	���	���	� �	��t�no peepholesno inital hiddenno initial cellrecurrent idpeepholes idinitial_hidden idinitial_cell idlstm infoE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\lstm.cpp�H�py�Py���	��y���H�py�Py�p�	��y��H�py�Py���	��y�p�H��a�0t�@y���H��a�0t�@y�x�H�@a��S���H�@a��S���H� b�p�	���	���	��	��	���	���	��	��t�cell idlstm elt infoE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\lstm_elt.cpp �H�py�Py���	��y���H�py�Py�`�	��y��H��a�0t�@y� �H��a�0t�@y��H�@a��S�(�H�@a��S�0�H� b�@
�p
��
��
��
��
�`
��
��t�hidden idlstm gemm infoE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\lstm_gemm.cpp��H�py�Py�0
��y�0�H�py�Py�
��y���H��&
�p~�~��u ���H�`'
�p~�0E
��J
���H��a�0t�@y���H��a�0t�@y���H�@a��S���H�@a��S�ȩH� b��C
��@
��?
��>
� B
��B
��'
�pF
��t�Argmax data type is not fp32.expected to be fp32Argmax data typeE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\max_unpooling.cppInput offset is greater than input data range. There is no input data to processinput layout size spatial Xinput layout size spatial YFirst pool is outside of image. please reduce input offset Xinput window size spatial XNegate input offset spatial XFirst pool is outside of image. please reduce input offset Yinput window size spatial YNegate input offset spatial Yargmaxmax unmax_unpooling infoH�H�py�Py��&
��y�ȪH�py�Py�`&
��y�H�H�py�Py��&
��y�exceeded max size of memory object allocationexceeded global device memoryout of GPU resourcesGPU buffer allocation failedȫH��h
�Pm
��m
���
�@�
��y� �
���
���
�В
��
��
��
�@�
�Ј
�H�H��h
��
Non-padded pool:Size	Users:
--- Padded pool: ---H�H�7� L�`>�`u
� p� p�pu
�pu
��u
��u
���H��a�0t�@y��H����0t�@y�ȯH�@a��S��H�@a��S��H� b��
��
�0�
�@�
���
�0�
��
���
��t�only f32 data types can be filledE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\mutable_data.cppp�H�py�Py��
��y��H�py�Py��
��y�@@�A�OP�H�:�p~�~��u �p�H��8�p~�~���
�X�H��a�0t�@y�x�H��a�0t�@y�`�H�@a��S���H�@a��S���H� b���
���
�е
��
� �
�и
�0�
� �
��t�across_channels regionnormalize_variance region�H�py�Py��
��y���H�py�Py���
��y��H�py�Py�г
��y�_optimized_��H�P�
�has not a valid instance.E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\network.cpptopology doesn't contain prmitive: is not an inputprimitive in anotother network.Found primitive with id: Network_impl is tried to be executed for the second timePrimitive Invalid primitive call 8�H�:�p~�~��u �X�H���p~��#�*�@�H��a�0t�@y�`�H��a�0t�@y�H�H�@a��S�h�H�@a��S�p�H� b�0"�`������ ��!��� %��t�across spatialwithin spatialscale input idnoramlize infoScale feature sizeE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\normalize.cppDimensions mismatch of scale input in Normalize layer!scale feature sizeScale input size elements count�H�py�Py�p��y�p�H�py�Py���y��H�py�Py�@��y�P�H�0�p~�~��u �p�H��7�p~�~�PG�one_hot type id failedX�H��a�0t�@y�x�H��a�0t�@y�`�H�@a��S���H�@a��S���H� b� @� =�@<�P;��>�@?�08��B��t�Incorrect parameters configuration: one_hot_axis should be less or equal to 3.E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\one_hot.cppoutput shapeone-hot axisone_hot infoIncorrect parameters configuration: input batch size should be equal to 1.Incorrect parameters configuration: shape does not fit input size.�H��?�`6���H�py�Py�`7��y��H�py�Py��6��y���H�py�Py�7��y��H�8�8�8� 8�0y��y���H�@d�Py�07��y���H�:�p~�~��u ��H��U�p~�~�0i���H��a�0t�@y��H��a�0t�@y���H�@a��S��H�@a��S� �H� b��_��\��[��Z� ^��^�V�pd��t�byxf, yxfb, bfyx, fyxb, bfyx_f16node formatE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\permute.cppThis format is not supported in GPU permute_instpermute orderpermute infoPermute order size needs to be 4.expected order sizePermute order sizePermute order does not contain all of required values.��H�py�Py��U��y� �H�py�Py�0U��y���H�py�Py�`U��y��H��F�p~�~��u � �H��t�p~��������H��a�0t�@y�(�H��a�0t�@y��H�@a��S�0�H�@a��S�8�H� b��� ��@��P�����P���t�����t�Pooling mode should be set to max_with_argmax when argmax primitive is present.should be max_with_argmaxPooling modeE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\pooling.cppArgmax primitive not present despite max_with_argmax mode.should not be emptyArgmax primitiveargmax_layout.formatInput_layout.formatstride spatial ZSize Z (of pooling window) must be positive (>= 1)window size spatial Zinput layout size spatial ZUser-defined size of output layout (spatial X) must be positive (>= 1)User-defined size of output XUser-defined size of output layout (spatial Y) must be positive (>= 1)User-defined size of output Yaveragekernel sizepooling info��H�py�Py��t��y�8�H�py�Py� t��y���H�py�Py�Pt��y�8�H�@���S� with invalid/unset inputCannot execute primitive Invalid/unset inputE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\primitive_inst.cppinternal CLDNN error: execution order corrupted.Conversion from half failedConversion to half failed@�H� ��p~�~��u �`�H����p~�~�p�H�H��a�0t�@y�h�H����0t�@y�P�H�@a��S�p�H�@a��S�x�H� b�P���������@����������t�Must provide at least one min size.not proper sizeArgument min sizeE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\prior_box.cppMin size must be positive.less or equal than 0Min size value at index: Number of min sizes must be equal to number of max sizes.argument max sizesArgument min sizesMax size must be greater than Min size.argument max sizes valueArgument min size valueMust provide 4 variances.Argument variance sizeVariance must be positive.Varaiance value at index: Varaiance value at index 0Image spatial X must be positive.Image dimension spatial XImage spatial Y must be positive.Image dimension spatial YStep height must be positive.Step heightStep width must be positive.Step widthPrior-box layer doesn't support output padding.Prior box paddingiamge sizemin sizesmax sizesbox sizesaspect_ratioscale all sizesstep widthstep heightprior box infoPrior box primitive instance should not be created!) is greater or equal than: ��H������x�H�py�Py�����y���H�py�Py�0���y�x�H�py�Py�`���y���H�@d�Py�����y����ư>�?x�H�P%�0H�H����add_required_reorders��H����add_reshape_to_primitives_passH�H����calculated_prior_boxes��H� ��compile_graphH�H�`��eltwise_shrinking��H����eltwise_remove_strideH�H�@��H�H���handle_reshape��H�P��handle_input_paddingH�H�0�analyzed_graph��H� r�prepare_buffer_fusing��H���prepare_conv_eltw_fusingH�H�@��prepare_conv_eltw_read_write_optH�H��z�prepare_depthwise_sep_opt��H��J�prep_opt_depthwise_sep_postH�H�p��prepare_primitive_fusing��H�А�prepare_paddingH�H�P�post_input_reorder��H���propagate_constants��H�p�remove_redundant_reordersH�H�`5�trimmedProgram doesn't contain primtive node: NULL pointer in nodes_map. that is input to: Program doesn't contain primitive:  do not match. and its copy Node Engine must be created with profiling enabled in tune_and_cache mode!Memory dependencies/restrictions:
primitive:  restricted list: reorder_input_Node which is about to be added in between two other nodes should not have any existing dependencies but they are not connected in this way. and dependecy Trying to add intermediate node in between  already existsTrying to rename program_node but node with id Trying to rename an output node. If you intend to do that, please clear 'output' flag manually.Node which is about to replace other node should be detachedReplacement node shouldn't be marked as an output since it's impossible to rename such node.cldnn_memory_pool.log_memory_pool.graphcldnn_program_.info.order.optimizedchartreuseaquamarinegreenazurebeigebisqueblanchedalmondbluevioletbrownburlywoodcadetbluechocolatecoralcornflowerbluecrimsonaliceblueantiquewhitedeepskybluedimgraydodgerbluefirebrickfloralwhiteforestgreengainsboroghostwhitegoldenrodgreenyellowhotpinkindianredindigoivorykhakilavenderlavenderblushlawngreenlemonchiffonlightbluelightcorallightcyanlightgoldenrodyellowlightgraylightgreylightpinklightsalmonlightseagreenlightskybluelightsteelbluelightyellowlimelimegreenlinenmagentamaroonmediumaquamarinemediumbluemediumorchidmediumpurplemediumseagreenmediumslatebluemediumspringgreenmediumturquoisemediumvioletredmidnightbluemintcreammistyrosemoccasinnavajowhitenavyoldlaceoliveolivedraborangeorangeredorchidpalegoldenrodpalegreenpaleturquoisepalevioletredpapayawhippeachpuffperupinkplumpowderbluepurpleredrosybrownroyalbluesaddlebrownsalmonsandybrownseagreenseashellsiennasilverskyblueslatebluesnowspringgreensteelbluetantealthistletomatoturquoisevioletwheatwhiteyellowyellowgreenunknown (o_i_yx_i16_o16os_iyx_osv16os_iyx_osv32os_iyx_osv64bs_xs_xsv8_bsv8bs_xs_xsv8_bsv16bs_x_bsv16image_2d_weights_c4_fyx_bimage_2d_weights_c1_b_fyxwinograd_2x3_s1_datawinograd_2x3_s1_weightswinograd_2x3_s1_fused_weightswinograd_6x3_s1_fused_weightsimage_2d_weights_winograd_6x3_s1_fbxybimage_2d_weights_winograd_6x3_s1_xfbybos_is_yx_isa8_osv8_isv4os_is_yx_isa8_osv8_isv4_swizzled_by_4is_o_yx_isv32is_o32_yx_isv32_swizzled_by_4os_is_y_x8_osv8_isv4os_is_y_x8_osv8_isv4_swizzled_by_4byxf_af32byx8_f4fs_bs_yx_bsv4_fsv32bf_lyx_yxb_fs_yx_fs4os_is_yx_osv16_isv4fs_b_yx_fsv32node_/ (invalid)size_info:  (nonpadded)
u: 
l: digraph cldnn_program {
\n optimized out\n color:\nprocessing number: 
 out data_type: 
 out format: :
[label="    struct cldnn::datastruct cldnn::input_layout\n Selected kernel: ", shape=diamond, shape=box, color=blue" , fillcolor=" style=filled ];
 ->  [color=red] [color=red, style=dashed, label="usr"] [style=dashed, label="usr"];
 [style=dashed, label="dep", constraint=false];
   )
 (The count of values passed to initialize tensor does not match passed format.Internal order of a format contains channel which does not appear in external order.Requested to calculate linear offset for an element which lies outside of the buffer range.��H��a�0t�@y�ptrvalid output layoutdata typeformatlower sizeupper sizepadding infooutput layoutin data flowoutputnulldependenciesusersimplementationOutput layout not calculated��H�P��p~�~��u ���H����p~�~�0����H��a�0t�@y���H��a�0t�@y���H�@a��S��H�`���S��H� b������������@����������t�cls scoreimage infomax proposalsiou thresholdbase bbox sizemin bbox sizepre nms topnpost nms topnratioscoordinates offsetbox coordinate scalebox size scaleswap xyinitial clipround ratiosshift anchorsparamsproposal info��H�py�Py�0���y��H�py�Py�����y���H�py�Py����y���H���p~�~��u ��H���p~�~��S�pyramid_roi_align type id failed��H��a�0t�@y��H��a�0t�@y���H�@a��S��H�@a��S� �H� b����������P�������P
��t�pyramid_roi_align_info��H�py�Py�����y� �H�py�Py�`���y���H�py�Py�����y� �H�`��`��p�����0y��y���H��8�p~�~��u ���H��;�p~�~��
�region_yolo type id failedh�H�@a��S���H�@a��S���H� b�P
��
��
��
��
��
��

��
��t��H��a�0t�@y���H��a�0t�@y�coordsclassesnumdo_softmaxmask_sizeregion yolo info8�H�py�Py�p

��y���H�py�Py�

��y�8�H�py�Py�@

��y���H��

��

��

��

�0y��y��H��a�0t�@y�8�H��.
�0t�@y� �H�@a��S�@�H�@a�0F
�H�H� b��C
�P@
�p?
��>
��A
�pB
�0/
�PH
��t�Reordering between winograd weights and data formats is unsupportedE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\reorder.cppinput for conversion to winograd_2x3_s1 weights format should have spatial size 3x3input_layout.size.spatial[0]input_layout.size.spatial[1]Conversion of weights from winograd to standard domain is currently unsupportedsubtract per featurereorder infoInput dimension < output dimension. Reorder primitive woks only with same dimension sizes (reorder) or when input > output (flatten).ouput dimension sizeInput dimension sizeSubtracting values work only for formats that have feature dimension == 1Input feature dimension sizeNumber of features/channels in input does not match the number of features/channels in values to subtractargument subtract per feature sizeInput feature size[0]��H�PC
��.
�H�H�py�Py�`.
��y���H�py�Py�.
��y�H�H�@d�Py�0.
��y���H����p~�~��u ���H�:�p~�~������H�@a��S���H�@a��S���H� b��[
��X
��W
��V
�0Z
��Z
��T
�0^
��t�8�H��a�0t�@y���H��a�0t�@y�reorg yolo info`�H�py�Py��T
��y��H�py�Py�0T
��y�`�H�py�Py�`T
��y���H��a�0t�@y��H��a�0t�@y��H�@a��S��H�@a�`x
��H� b�v
�s
�0r
�@q
��t
�0u
� m
�z
��t�Only one dimension of the new shape can be -1E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\reshape.cppreshape infooutput layout data typeInput layout data typrOutput layout of reshape primitive changes size of input bufferinput layout countOutput layout countp�H�py�Py��l
��y��H�py�Py��l
��y�P�H��8�p~�~��u �p�H��;�p~�~�@�	�X�H��a�0t�@y�x�H��a�0t�@y�`�H�@a��S���H�@a��S���H� b�0�
�`�
���
���
�Ѝ
���
��
�Б
��t�Group sizeE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\roi_pooling.cppgroup_sz must be either 0 (For RoIPooling) or satisfy fm % (group_sz^2) == 0bilinearspatial_scaleI�py�Py��
��y��I�py�Py���
��y�I�py�Py���
��y�hI����p~�~��u ��I��M�p~�@�
��Y�scale dto should contains exactly 2 inputspI��a�0t�@y��I��a�0t�@y�xI�@a��S��I�@a��S��I� b���
���
��
��
�0�
��
�p�
���
��t�input x sizeScale x sizeE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\scale.cppinput y sizeScale y sizescale inputscale infoinput batch sizeScale batch sizebias formatScale input size do not match bias size! Size index: I�py�Py�@�
��y��I�py�Py��
��y� I�py�Py��
��y��I���p~�~��u ��I���p~�~��S�scale_grad_input type id failedscale_grad_input dto should contains exactly 2 inputs�I��a�0t�@y��I��a�0t�@y��	I�@a��S��I�@a��S��	I� b�P�
���
���
���
���
���
�0�
���
��t�E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\scale_grad_input.cppscale_grad_input info8
I�py�Py��
��y��
I�py�Py�p�
��y�8I�py�Py���
��y��I��
��
��
� �
�0y��y�
I��v�p~�~��u �8I���p~� �
���
� I��a�0t�@y�@
I��a�0t�@y�(I�@a��S�HI�@a��S�PI� b�p�
���
���
���
��
���
� �
���
��t�input gradscale_grad_weights infoE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\scale_grad_weights.cppAll sizes in scale_input except feature should be 1.previous scale grad memoryScale memoryprevious bias grad memoryBias memory�I�py�Py���
��y�PI�py�Py���
��y��I�py�Py���
��y�0I���p~�~��u �PI���p~�~��S�select type id failed8I��a�0t�@y�XI��a�0t�@y�@I�@a��S�`I�@a��S�hI� b�P
����������	�����t�select infoBatch size next inputBatch size inputE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\select.cppFeature size next inputFeature size inputSpatial size next inputSpatial size inputFormat next inputFormat inputData type input 2Data type input 1�I�py�Py����y�hI�py�Py�@��y��I�py�Py�p��y�hI���������0y��y��I����p~�~��u ��I�:�p~�~�����I�@a��S��I�@a��S��I� b���������0����0!��t�XI��a�0t�@y��I��a�0t�@y��I�py�Py����y�I�py�Py�p��y��I�py�Py����y��I���p~�~��u �I���p~�~��S�softmax_loss_grad type id failed�I�@a��S��I�@a��S��I� b��0��-��,��+� /��/�0+� 3��t�pI��a�0t�@y�I��a�0t�@y��I�py�Py��*��y� I�py�Py�p*��y�� I�py�Py��*��y�!I�+�+�+� +�0y��y�x"I����p~�~��u ��!I�P?�p~�~��U��#I��a�0t�@y��"I��a�0t�@y��$I�@a��S��#I�@a��S��$I� b��M�K�0J�@I��L�0M��?�Q��t�Output_ids count/ output_offsets count mismatchoutput_offsets countOutput_ids countE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\split.cppOutput_offsets tensor/ next input output_offsets tensor mismatchnext output_offsetsoutput_offsetsOutput_offsets tensor/ input tensor mismatchOutput_offsetsInvalid output_offsets: dims cannot be less than 0output ids countoffset countsplit infoSplit primitive instance should not be created!0%I�py�Py��>��y��%I�py�Py� ?��y�0&I�py�Py��>��y��'I����p~�~��u ��&I�:�p~�~�Pn�tile type id failed�(I��a�0t�@y��'I��a�0t�@y��)I�@a��S��(I�@a��S��)I� b�Pg��d��c��b��e��f��_��i��t�tilestile infoH*I�Pp�`6��*I�py�Py�0_��y�H+I�py�Py��^��y��+I�py�Py��^��y�H,I�`_�`_�p_��_�0y��y��,I�@d�Py�_��y�(.I��8�p~�~��u �H-I��;�p~�~���0/I��a�0t�@y�P.I��a�0t�@y�80I�@a��S�X/I�@a��S�`0I� b�P~��{��z��y��|��}�0w�����t�nearestnot supported sample type,  size: 
	output: count: 
	output padding upper size: 
	output padding lower size: , slope: 
	with activation: 
	sample_type: 
	num_filter: 
	scale: 
	input_1: , type: upsamplingid: Upsampling primitive instance with bilinear filtering should be replaced by deconvolution!E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\upsampling.cpp�0I�py�Py�w��y�`1I�py�Py��v��y��1I�py�Py��v��y�@5I�����7I����@�����88I�Љ����4I��������`u
��u �`u
��9I�P�������t����`u
��t��� p� p��8I�P�������t����`u
��t���� p� p�Error - not enough data inside additional params bufferoutput_layout.size.feature[0] * params_numSlope layout size countE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\activation_gpu.cppCannot find a proper kernel with this argumentsBest_kernel.empty()`2I�����u ��u �`u
��5I����86I���� :I�����������0y��y��2I�����p��P3I�`���3I�p��0�����Implementation type does not match primitive typeTrying to validate primitive implementation with mismatching primitive instanceTrying to execute primitive implementation with mismatching primitive instanceH4I�Љ����6I�����u �������07I���д��������:I����������`u
��u �`u
�<I�P���������t����`u
��t��� p� p� ;I�P���������t����`u
��t�p�� p� p�E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\activation_grad_gpu.cpp�<I�`��`�������0y��y�>I�0���������>I�Љ���=I����p��@��`u
��u �`u
�@I�P��p��@���t����`u
��t��� p� p�?I�P��p��@���t����`u
��t���� p� p�E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\apply_adam_gpu.cpp�=I�@����������x@I������������0y��y��̒8�AI�P
�
�����BI�Љ����@I�����
�`�`u
��u �`u
��CI�P���
�`��t����`u
��t��� p� p�CI�P���
�`��t����`u
��t�� p� p�E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\arg_max_min_gpu.cpphDI�0�0���P�0y��y�xAI�`�@��������EI�P�0����pFI�Љ����DI������`�`u
��u �`u
��GI�P����`��t����`u
��t��� p� p��FI�P����`��t����`u
��t�� p� p�E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\average_unpooling_gpu.cppXHI�0�0���P�0y��y�hEI�`��������HLI�p+�p+����+�0y��y�XII��+�0�����II�Љ���`JI��+����������HI���� ,��,�`u
��u �`u
��KI�P�� ,��,��t����`u
��t��� p� p��JI�P�� ,��,��t����`u
��t��-� p� p�E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\batch_norm_gpu.cppPNI�@K����������LI�����K�PL�`u
��u �`u
��OI�P���K�PL��t����`u
��t��� p� p��NI�P���K�PL��t����`u
��t�M� p� p�E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\batch_norm_grad_gpu.cpp8PI��N��N����N�0y��y�HMI�p��0�����MI�Љ���8QI��Z�0�����QI�Љ����PI�����Z��[�`u
��u �`u
�0SI�P���Z��[��t����`u
��t��� p� p�@RI�P���Z��[��t����`u
��t��� p� p�E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\border_gpu.cpp�SI�@\�@\���`\�0y��y��TI� l�0�����0UI�Љ���(TI�����l�pm�`u
��u �`u
��VI�P���l�pm��t����`u
��t��� p� p��UI�P���l�pm��t����`u
��t��� p� p�E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\broadcast_gpu.cppWI� n� n���@n�0y��y��WI��9�0��emptyRetain ObjectRelease ObjectclCreateCommandQueueclCreateCommandQueueWithPropertiesINTEL error Command queues buildersE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\command_queues_builder.cppThe param priority_mode is set in engine_configuration,                but cl_khr_priority_hints or cl_khr_create_command_queue                is not supported by current OpenCL implementation.Command queues builders - priority_modeYI��+�P������YI�Є����XI��������`u
��u �`u
�[I�P�������t����`u
��t��� p� p� ZI�P�������t����`u
������ p� p�Error - not enough kernels for concatenationInput countE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\concatenation_gpu.cpp�[I������������0y��y��XI�І�@+�������$tI8]I� �� ����@��0y��y�`\I� ��P�� ��`u
�С�`u
�Unknown comparision function for: 8^I�0��0������^I�Љ����]I����������`u
��u �`u
�0`I�P���������t����`u
��t��� p� p�@_I�P���������t����`u
��t��� p� p�E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\contract_gpu.cpp�`I�0��0����P��0y��y�Cannot find a proper kernel with these argumentsfI���������н�0y��y��eI�@d�Py����y�quantization factor offset too bigcalibration factor offset too bigquantization factors offset too big�aI���~�������(bI�P��������cI�о�������cI�Љ���(aI��������`u
��u �`u
�eI�P�������t����`u
��t��� p� p� dI�P�������t��������t����@��P��filter memoryInput memoryE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\convolution_gpu.cpp�gI����`��������prev weights grad offset too bigprev bias grad offset too bigno bias datano prev weights grad datano prev bias grad data�fI� ��������kI������������0y��y�xhI�0�����Ц�iI�Љ���gI����������`u
��u �`u
��jI�P���������t����`u
��t��� p� p��iI�P���������t����0���t���@�� p�convolution_grad_weights filling valueE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\convolution_grad_weights_gpu.cppoutput memoryInput grad memoryprevious weights grad memoryFilter memoryconvolution_grad_weights weights format unsupported�kI����p�@�`u
��u �`u
��lI�P��p�@��t����`u
��t��� p� p�lI�P��p�@��t����`u
������ p� p�E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\crop_gpu.cpppmI��������0y��y�	

AESObjectLengthOpaqueKeyBlob []){  } char_SIZEucharintlongulongfloatHnI��u �'��nI��'� (�pI�`(�p*�rI�@d�Py��*��y��rI�@d�Py��*��y��pI�+� -�sI�@d�Py�`-��y�@oI��0��-�`.�`u
�/�`u
�Unknown argument typeqI�1�Py� 1��y��qI�P1�Py�`1��y�_DIMShalfUnhandled data type in layoutadd layout to jitE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\custom_gpu_primitive_gpu.cpp_TYPE_FORMAT__LOWER_PADDING_UPPER_PADDINGUnhandled format in pitch calculation_PITCHES_OFFSETNUM_INPUTSGLOBAL_WORKSIZELOCAL_WORKSIZEINPUTOUTPUT0// Custom Layer Built-ins

�sI��1��1����1�0y��y�tI� L�� #define �uI�0e��d��f�@vI�Љ����tI�����e��f�`u
��u �`u
��wI�P���e��f��t����`u
��t��� p� p��vI�P���e��f��t����0g��t��k�@��@n�deconvolution filling valueE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\deconvolution_gpu.cppdeconvolution weights format unsupported0xI�Pn�Pn���pn�0y��y�Only one input for fused sum is supported0uI��n�0m��������xI����P�� ��`u
��u �`u
�0yI� ��P�� ��`u
� ��`u
����zI�����q�������@{I����q�������E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\detection_output_gpu.cpp`|I�P��P����p��0y��y��|I������������0y��y��yI����0����@zI�Љ����~I�P��P�� ���t����`u
��t��� p� p��}I�P��P�� ���t����`u
��t��� p� p�`}I������@�`u
��u �`u
��I�P����@��t����`u
��t��� p� p��~I�P����@��t����`u
��t��� p� p��I��������`u
��u �`u
���I�P�������t����`u
��t��� p� p���I�P�������t����`u
��t�p� p� p�E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\eltwise_gpu.cpp��I���������0y��y���I�-� t�������x�I�P���.�@-�no_biasbias_�I�Љ���x�I�����.�p/�`u
��u �`u
���I�P���.�p/��t����`u
��t��� p� p���I�4��.�p/��t��2�`u
��t� 0� p� p�E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\embed_gpu.cpp��I�p4�p4����4�0y��y�Device lookup failedinvalid stoi argumentstoi argument out of range�?$@Y@@�@��@j�@��.A�cA�חAe��A _�B�vH7B��mB@�0�B�ļ�B4&�kC��7y�AC�؅W4vC�Ngm��C=�`�X�C@��x�DP����KD��M��D�J��-�D���yCx�D�(,*� E52��TE���qىE�/�'�E!���1�Eꌠ9Y>)F$���_Fn����F��F"��F|���F�M�raB3G� y�hGiWC��G��*���GJ��H�\��)c=H�7�]rHa���x��Hy��ֲ�HL}�Y��I�\C�kFI�3T�|I\���'��Isȡ�1��I�:�~^J�d~�QJ���v�a�J0}�G��J>n�ll��J�����$KA�j�ZK�=P�1P�KM�Z>d�KW`��M}�Km�n��/LD�����cL��^�L�p�u�L�af�irM��?�O8Mr����bnMG�9���Mz��)��M��:Ft�
Nd��ȋBN=��ֺ.wN9��i��N�C���N���u��O��I�LLO�֯�O����O[��п��O����E!P/'�%�UP_��Q�P�6��PbD���P{U�[*QmU��x`Q�*4V��Qz5��߼�Ql�X�R��.��4R9��mr"iR�Y)	k�Rعe��R$N(���S�a򮌮>S}W�-sSO\��]��Sc��bu��Sp�]	�T%L9��hGT.����B}T}Ô%�I�T\�n��Tsq���U�F���QU�`��R�U�xӫ�U?+d�p�U�5=��%VN��=@[V�ҟ&�V���G0J�V=:�Y���Vf$���0W��&s�dW�����W���)>�W�]3s�MXk5�!a9X�B�i�oX�)�8�ӣX*4�����X5AHx�Y�(-��\CY�r��%4xY��v/A�Y��i���Y?���ZO����MZ20�Hw�Z~$|7�Z�-[b��Z��XC}"[�;/���V[�
;�C-�[���SJ��[= ��\�[M��"4�+\0IΕ�2a\|�A�H�\[R���\ysK�p�]WP�M�4]m�H�=j]Į]-�f�]u�8W��]a�m�	^�|M$D@^��`-Ut^��x��^W�UH�^��P.5�_[��y�pH_r�]��~_'�:���_�_	k���_��EW�`�R��V�R`�'�.�N�`��(:W"�`�Y�v5�`�o%��&a��.�s\ax}?�5ȑa�\�,C:�a4����a��z�]1b����eb��"�b� �_S��b���7�2cϢ�ER:c���k��pc2g�Fx��c�@BXV��c�h)�5,d���tC7Ddx�0REydV�fY��d66��dC�C�u�esTN��Ne����G�e�1e�eax~Z��e=����"fβ�̈Wf��_�j�f�����b�f8�j��f�D�}�,g�J#���ag��Z�q�g�$���gwWӈhה�,�5h
:�7�ekhHD�b��hZս��g�h�J�zg�
i�N���@iZb���ti�:�
� �i�D�h�T�iV�B�ij�kz��IjsYH �j�7-4�j
��8��jL�%k0V(�wSk�k21U�k���j�k*do^��k5=6~�'l���]�]l��8����l��@�4�l7���#�l#s�:V!2m�OBɫ�fm�㒻T�mp�;5���mб!n�r-3�;n�g��RJqn���眥n�a�}!�n,}���ov�k*:Eo���bzo=$qE}�o�m͖��o\Ȁ��p�9}�UPpC��D� �pT��&)�p�4�os�p��%�#qVA1/�XqkY�����q��z�42�q܍��qS�r�-r�C��br���n�r�1��{J�r_|s�Ns�v[�0�6s�Tr��ls�t�"��sRy��X�s��W��t��quAtztU��ut����G�tc��2��t<�s�Ou�P�ԣJugm�e��u�wN�ϴu����u�L�~B v�>�XSTv/N���g�v�azj��v}��+��vZ�/�v�(wp��-T_w&2��b�w�~�Ù:�w\��4@I�w��!��2x��T):�gx�0�����xg^Jp5|�x�\�By�3t�<y1��/L
ry=Ȓ;���yMzw
�4�yp��f��z�W-�;	Fzo�8`��{zel#|67�zG,��z^Y�!E�{ۗ:5��P{�=���{F�+��D�{L8��k�{_z�΅$|��FB�Y|�T�k��|8*�ƫ
�|��s�V
�|��f�P/};��k�c}
=!�w�}L�)\Ȕ�}���9�~�u�<�7~��K�m~�[@JO��~�r��T�~���*
�قnQ:B)�#���v3t�<{�������VEN_DEV_0x00123456789ABCDEF0000000000000000x�I�����\cache.json24{}[WARNING] error during parsing cache file, tuning data won't be usedcl_khr_fp16 �I�0��Py�@���y�clGetDeviceInfo"/\

	"/\

	$@���������������P�I���������`u
��u �`u
�X�I�P��������t����`u
��t��� p� p�h�I�P��������t����`u
��t�p�� p� p�ЇI�P�����������E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\fully_connected_gpu.cppP�I�Ф��������I�Љ���ЊI�������0��0y��y���I�P���.���� �I�Љ�����I��������`u
��u �`u
���I�P�������t����`u
��t��� p� p���I�P�������t����`u
��t���� p� p�E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\fully_connected_grad_input_gpu.cpp�I�p��p�������0y��y��I������������� �I������� ��0y��y��I�0��@����������I� ��p�����(�I�Љ�����I�������`��`u
��u �`u
���I�P�����`���t����`u
��t��� p� p���I�P�����`���t�������t� �� p� p�E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\fully_connected_grad_weights_gpu.cpp��I�0e�`�����0�I�Љ�����I�������`��`u
��u �`u
���I�P�����`���t����`u
��t��� p� p���I�P�����`���t�������t����@�� p�E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\fused_conv_bn_scale_gpu.cpp �I������������0y��y� �I������������ �I���������0y��y���I���������0�I�Љ�����I���� 
��
�`u
��u �`u
���I�P�� 
��
��t����`u
��t��� p� p���I�P�� 
��
��t����`u
��t���@�� p�E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\fused_conv_eltwise_gpu.cpp �I������������ �I�P
�0�������I�Љ�����I���� 6��6�`u
��u �`u
��I�P�� 6��6��t����`u
��t��� p� p�(�I�P�� 6��6��t����`u
��t��� p� p�E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\gemm_gpu.cpp��I��7��7����7�0y��y�h�I��H�`E�0F�`u
��F�`u
��I� ��`E�0F�`u
� I�`u
�ȠI��K��K����K�0y��y�ȡI��N�0�����P�I�Љ���H�I����`O�0P�`u
��u �`u
���I�P��`O�0P��t����`u
��t��� p� p�ТI�P��`O�0P��t����`u
��t��� p� p�E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\index_select_gpu.cpp8�I��P��P���Q�0y��y�clSetKernelArgError set args
clFinish�I�����u�executing0KSSM���#J��Mͳ��!�Jk��#J��Mͳ��!�Jk'\���zX���y���SB{_���&��ՙ���ۍ�(3f��;v�7��D�zm��Ib
r}w^JA�$'�_m,�RQ%���d)�øv��$پS�!�7��H��L����J��,}d��3�{'�ڝ��
��iQ�ivHp����sQ.�a�7v�Gz�"=���vʄ?��^��n>�!��
����<a�u3�N�O��Dѻ���Z��|B��H���z[
E�_�d��
�]�׶���!^ױeaձ9�l'�f�V���D?���ȖĹ�q3�aQ���D���^1�0� �Y���#J��Mͳ��!�JkPROCESSOR_ARCHITECTURE=x86PROCESSOR_ARCHITEW6432=AMD64PROCESSO�@��I����0��clCreateProgramWithSourceclBuildProgramclCreateProgramWithBinaryclCreateKernelsInProgramclGetProgramInfodefine#ifdef #undef #endif
 __PROGRAM__ __DUMP_CUSTOM_PROGRAM__ __ONE_TIME__clDNN64.dllbuild programProgram build failed:
clGetProgramBuildInfoclGetKernelInfoi@@�@(knN�I�
��������I�Љ����I����p
�@�`u
��u �`u
��I�P��p
�@��t����`u
��t��� p� p��I�P��p
�@��t�������t�� p� p�E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\lookup_table_gpu.cpp��I���������0y��y���I�������������I�P�� ������I�Љ����I����� ��!�`u
��u �`u
���I�P��� ��!��t����`u
��t��� p� p��I�P��� ��!��t����`u
��t��� p� p�E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\lrn_gpu.cppp�I�p"�p"����"�0y��y���I��"�����������I����P/� 0�`u
��u �`u
��I�P��P/� 0��t����`u
��t��� p� p���I�P��P/� 0��t����`u
��t��0� p� p�E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\lstm_elt_gpu.cpp�I�`2�02����x�I�Љ���`�I��2��2����2�0y��y�Clip value < 0p�I�3�`���������I����@C�D�`u
��u �`u
�شI�P��@C�D��t����`u
��t��� p� p��I�P��@C�D��t����`u
��t��D� p� p�E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\lstm_gemm_gpu.cpp�I� H��G����h�I�Љ���P�I�`H�`H����H�0y��y�`�I��H���������P�I��Z����������@�I�[�[���0[�0y��y�жI�p��0����X�I�Љ���еI����@[�\�`u
��u �`u
�ȸI�P��@[�\��t����`u
��t��� p� p�طI�P��@[�\��t��]�`u
��t��\� p� p�E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\max_unpooling_gpu.cppclCreateBufferclCreateImageclEnqueueFillImageclEnqueueMapBufferclEnqueueMapImageclEnqueueUnMapMemObject��I�w�����|���H�I�Pw���`���}���unsupported image type!clEnqueueFillBuffer��I���������0y��y�кI��������`u
��u �`u
�@�I�P�������t����`u
��t��� p� p�P�I�P�������t����`u
��t��� p� p�8�I�P
�p�������I�Љ���8�I����������`u
��u �`u
�0�I�P���������t����`u
��t��� p� p�@�I�P���������t����`u
��t��� p� p�E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\mvn_gpu.cpp��I�@��@����`��0y��y���I�p��`�������(�I�
���������I�Љ���(�I����������`u
��u �`u
� �I�P���������t����`u
��t��� p� p�0�I�P���������t����`u
��t�@�� p� p�E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\normalize_gpu.cpp��I������� ��0y��y���I�0����������submissionstartingclWaitForEventsclSetEventCallbackWait for event: clGetEventProfileInfoclGetEventInfoclGetCommandQueueInfoclGetDeviceIDsclCreateContext[ERROR]. Number of devices from user context is not equal to 1.[ERROR]. User defined device is not an gpu device!No OpenCL device found which would match provided configuration:
    clGetPlatformIDs error Could not find any OpenCL device: invalid device type: invalid vendor type: invalid driver version,: missing out of order supportError getting OpenCL platform_id from device!clGetContextInfo�I� w���bad_weak_ptrclCreateUserEventclEnqueueMarkerWithWaitListclEnqueueBarrierWithWaitListclEnqueueNDRangeKernelclFlush@�I�P�������u ��u �`u
�`u
���I��u ��I���������u ��u �`u
�`u
�h�I���������u ��u �`u
�`u
�@�I�p������p������ �0�p�����I������������`u
�0�8�p���Trying to attach events to valid event object.��I����I���������������@�@�����Hp���unk, error code: NEO    used defined context:     subgroups short:     fp16 denorms:     fp16:     local memory size:     max work group size:     core frequencey:     cores count:     device id: 
Engine info:
    sources dumps:     engine log:     out-of-order:     single kernel name:     compiler options:     vendor type:     device type:     dump custom program:     meaningful names:     profiling: Engine configuration:
cl_khr_priority_hintscl_khr_create_command_queuecl_khr_throttle_hints, deps: , lws: , gws: ()Marker with dependencies: FlushWait for events: ] [BarrierCould not initialize ocl_toolkit log file' for writingCould not open ocl_toolkit log file '�I�0��������y�clSetUserEventStatus��I�`
�`6�duration��I��+�0�����`�I�Љ���X�I����p
�@�`u
��u �`u
���I�P��p
�@��t����`u
��t��� p� p���I�P��p
�@��t����`u
��t��� p� p�E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\one_hot_gpu.cppH�I��������0y��y���I� l�0����P�I�Љ�����I����p�@�`u
��u �`u
���I�P��p�@��t����`u
��t��� p� p���I�P��p�@��t����`u
��t��� p� p�E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\permute_gpu.cpp8�I��������0y��y�H�I� �
���������I��Z��*����@�I�Љ���E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\pooling_gpu.cpp��I����@+�,�`u
��u �`u
���I�P��@+�,��t����`u
��t��� p� p���I�P��@+�,��t����`u
��t��,� p� p�(�I��-��-����-�0y��y�8�I��-�`"�������output dimensionsinput dimensionsstride dimensionswindow dimensions��I��I��I���J�0y��y��I� ��J��J�`u
��K�`u
�image_info must have either 3, 4 or 6 itemsE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\proposal_gpu.cppProposal doesn't support batching.��'7��I�p��0�����`�I�Љ���H�I�p~�p~����~�0y��y�X�I�����~�p�`u
��u �`u
���I�P���~�p��t����`u
��t��� p� p���I�P���~�p��t����`u
��t��� p� p�E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\pyramid_roi_align_gpu.cpp��I�P�0����P�I�Љ�����I����p��@��`u
��u �`u
���I�P��p��@���t����`u
��t��� p� p���I�P��p��@���t����`u
��t��� p� p�E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\region_yolo_gpu.cpp8�I���������0y��y�H�I� ��@'���������I�`��0�����@�I�Љ�����I�������p��`u
��u �`u
���I�P�����p���t����`u
��t��� p� p���I�P�����p���t����`u
���� �� p� p�: unsupported mean_mode value.E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\reorder_gpu.cpp(�I�������0��0y��y�8�I�@��@3���������I��+�0����0�I�Љ�����I���������`u
��u �`u
���I�P��������t����`u
��t��� p� p���I�P��������t����`u
��t��� p� p�E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\reorg_yolo_gpu.cpp�I�p��p�������0y��y�(�I����`5������� �I����7���������I���������`u
��u �`u
���I�P��������t����`u
��t��� p� p���I�P��������t����`u
������ p� p��I������������0y��y�E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\reshape_gpu.cpp�I�p��0������I�Љ�����I�p��0�����I�Љ�����I����������`u
��u �`u
���I�P���������t����`u
��t��� p� p���I�P���������t����`u
��t�0�� p� p�Unknown padding mode in roi_pooling.roi_pooling padding filling valueE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\roi_pooling_gpu.cppoutput_layout.formatgroup_sz * group_sz * out_featinput feture mapPS/ RoI Pooling doesn't support batching.��I�����������0y��y��I����9�������x�I����@����`u
��u �`u
���I�P��@�����t����`u
��t��� p� p���I�P��@�����t����`u
��t���� p� p�E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\scale_gpu.cpp`�I� �� ����@��0y��y���I��������`u
��u �`u
�P�I�P�������t����`u
��t��� p� p�`�I�P�������t����`u
��t�0�� p� p�E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\scale_grad_input_gpu.cpp��I������������0y��y�H�I� ��p������I�Љ����I����<��������I��������0y��y�H�I�������`u
��u �`u
�`�I�P������t����`u
��t��� p� p�p�I�P������t����`u
��t��	� p� p�E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\scale_grad_weights_gpu.cpp�I�p��0����`�I�Љ���X�I����@��`u
��u �`u
��I�P��@���t����`u
��t��� p� p��I�P��@���t����`u
��t��� p� p�E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\select_gpu.cppH�I���������0y��y��I��+�@0����P�I�Љ����I�����0�P1�`u
��u �`u
���I�P���0�P1��t����`u
��t��� p� p��I�P���0�P1��t����`u
��t��� p� p�Wrong API - no such softmaxE:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\softmax_gpu.cpp8J�2�2��� 2�0y��y�H�I�02�`I��������J�p��0����@J�Љ����J�����?�P@�`u
��u �`u
��J�P���?�P@��t����`u
��t��� p� p��J�P���?�P@��t����`u
��t��� p� p�E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\softmax_loss_grad_gpu.cpp(J�A�A��� A�0y��y�8J�0A� L��������J��+�0����0J�Љ����J���� N��N�`u
��u �`u
��J�P�� N��N��t����`u
��t��� p� p��J�P�� N��N��t����`u
��t��� p� p�E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\tile_gpu.cppJ��O��O����O�0y��y�(J��O�@N��������	J�P
��\���� 
J�Љ����J�����\��]�`u
��u �`u
��J�P���\��]��t����`u
��t��� p� p��
J�P���\��]��t����`u
��t��� p� p�E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\src\gpu\upsampling_gpu.cppJ�P^�P^���p^�0y��y�	J��^� Q��������J����@k�`u
�`u
��
J�@l�@l���`l�0y��y�xJ�pl�pl����l�0y��y��J��l��l����l�0y��y�Unsupported - cannot flatten with paddingUnsupported - cannot flatten yxf to f if f/yx != 1Unsupported - unsupported layout_nmxJ�`���u ������u ����{��J�`���u ������u ����{�`u
�pJ�`���u ������u ����{�@�������J�`��@������`�����{����`����activation_opt�J�`��@�����������{�@������activation_refJ�`��@������p�����{��������activation_tutorial�J�`��@�����y�(J�`��@���y��J�`��@��0���y�1ELTWISE_LAYOUT_BASEDQUANTIZATION_TERMELTWISE_BROADCASTCALIBRATION_TERMconst* input __global _STRIDE_X_STRIDE_Y_STRIDE_Z8 in\
	const [0]8)(input = ( = vload8(global_id, input);INPUTS_DECLSELTWISE_NO_PITCH_SAME_DIMSVLOAD_DECLSINPUT_in)][GET_INPUT_INDEX_BFYX_F16([GET_INDEX(INPUT, output[GET_OUTPUT_INDEX(d4, d3, d2, d1)]output[GET_INDEX(OUTPUT, )][(size_t)tmptmp(MAKE_VECTOR_TYPE(UNIT_TYPE, 8)) = const MAKE_VECTOR_TYPE(UNIT_TYPE, 8) tmp(int)const int tmp(UNIT_TYPE)const UNIT_TYPE tmp_0_1)* +  -  *  /  ==  !=  <  <=  >  >=  &&  ||  % ), (convert_float(f)), convert_float(pow(sqrt(1/sqrt(OPERATION;\
	)] = tmp\
	input\
	res = tmpDO_ELTWISEINPUT_STRIDED(J�`��@������y��J�`���u ������u ����{���p����0J�`��������0�����{���p����generic_eltwise_ref�J�`���������P�����{���������eltwise_simple_vload8PJ�`��������������{��� ����eltwise_fs_bs_yx_bsv4_fsv32�J�`��������0����{�� �����eltwise_b_fs_yx_fsv4pJ�`���!�����(����{�)������eltwise_fs_b_yx_fsv32J�`�� /������:����{��;�p����eltwise_mixed_byxf_and_fs_b_yx_fsv32�J�`��@�����y�J�`��@�����y��J�`��@�� ��y�J�`��@�����y��J�`��@�����y�J�`��@��P��y��J�`���u ������u ����{�@F��A��E�J�`��`F������F����{�@F��A��E�arg_max_min_gpu_ref�J�`��G������K����{�@F��A��E�arg_max_min_axis8J�`��@����y��J�`��@�����y�8J�`���u ������u ����{�pU�pQ��S��J�`���U������U����{�pU�pQ��S�average_unpooling_gpu_refPJ�`��@�����y��J�`���u ������u ����{��^��[��]�X J�`���^�����_����{��^��[��]�batch_norm_gpu_ref� J�`��@�����y�h!J�`���u ������u ����{��^��d��d��!J�`���e�����_����{��^��d��d�batch_norm_grad_gpu_ref�"J�`��@��P��y�#J����@ ��������#J�`���u ������u ����{�`u
�$J�`���e�����f����{�`u
�border_gpu_ref�$J�`��@�� ��y�%J����#��������%J�`���u ������u ����{�`u
� &J�`���f������f����{�`u
�broadcast_gpu_ref�&J�`��@���"��y�0'J�`���u ������u ����{�v�Pr��t��'J�`���y������z����{�v�@v��t�concatenation_gpu_refH(J�`���y������{����{�@�Pr��|�concatenation_gpu_bfzyx_ref�(J�`�������������{���Pr� ��concatenation_gpu_depth_bfyx_no_pitchh)J�`��������p�����{�@�Pr���concatenation_gpu_blocked�)J�`��@���*��y�x*J�`��@���*��y��*J�`��@��+��y�x+J�`��@���*��y��+J����.�������x,J�`���u ������u ����{�`u
�-J�`���������f����{�`u
�contract_ref�-J�`��@���-��y�.J�`���u ������u ����{�`u
� ���.J��v��u ��������u ����{�@�� ���u ����t������(/J�Pw��������������{��� ���~����t�����fused_conv_eltwise_gpu_ref-cl-intel-no-prera-scheduling-cl-no-subgroup-ifp�/J�y���������p�����{�P�� ����0��`u
����p��convolution_gpu_bfyx_gemm_likeX0J��x��������������{��� �� ����`u
�������convolution_gpu_bfyx_direct_10_12_16�0J�}���������`�����{�@�� ��@�����t������convolution_gpu_yxfb_ref�1J�P}���������������{�0�� ��P��0���t��� ��convolution_gpu_yxfb_yxio_b16 2J��}���������������{��� ��P�����t�0��0��convolution_gpu_yxfb_yxio_b8_fp32�2J��}���������������{���� ��P�����t�P�����convolution_gpu_yxfb_yxio_b1_block_multiple_x_fp32P3J��w��������������{��� ���~����t�������convolution_gpu_winograd_2x3_s1�3J�Px���������@�����{��� �������t�p�����convolution_gpu_bfyx_1x1�4J��x���������@�����{�@�� �������t�p�����convolution_gpu_bfyx_1x1_hgemm_buf_16x15J��w���������`����{��	� ��0����t�p����convolution_gpu_winograd_2x3_s1_fused�5J�x�������������{��	� �������t�����convolution_gpu_winograd_6x3_s1_fusedH6J�w�`������������{�@�� ��0~����t���0�convolution_gpu_mmad�6J��v���������p(����{�0*� ��0~����t��&�)�convolution_gpu_1x1_gemm_MMADx7J��z�+�������p(����{�P+� �������t������convolution_gpu_byxf_af32_depthwise8J��{��/�������0����{�@�� ��0~����t��+��0�convolution_gpu_mmad_batched�8J�Py����������2����{��4� ��p�����t��1� 3�convolution_gpu_bfyx_depthwise_weights_lwg@9J��|��;��������;����{��=� ��0~����t�`5��<�convolution_gpu_mmad_slm_2x14_rep4�9J��|��;��������;����{� G� ��0~����t��>��E�convolution_gpu_mmad_slm_7x7_rep4p:J��z�@H��������H����{�@�� ��P�����t����I�convolution_gpu_byxf_fs_bs_yx_bsv4_fsv32;J�|�`P��������P����{�S� ��@Q����t�J��Q�convolution_gpu_mmad_batched_block�;J�P|�0\��������P����{��^� ���\����t�PU� ]�convolution_gpu_mmad_batched_block_1x18<J�P{�����������P����{��m� �������t��`��l�convolution_gpu_mmad_32x32sg_128x128wg_slm_int8�<J��{�����������P����{��}� �������t�`p�`|�convolution_gpu_mmad_32x32sg_224x128wg_slm_int8h=J�Pz�0\������������{��&� ��������t�0��`��convolution_gpu_byx8_f4__fs_bs_yx_bsv4_fsv32>J�{�@H�������@�����{� �� ��������t�Ђ���fused_conv_eltwise_gpu_imad�>J�{�@H�������@�����{� �� ��������t�p����8?J�{�@H�������@�����{� �� ��������t�p�����?J�z��������� �����{�@�� ��`�����t������convolution_gpu_bfzyx_refp@J��y�@H�������0�����{��� �������t�������convolution_gpu_bfyx_f16_depthwiseAJ��y�@H�������������{���� ��������t����`��convolution_gpu_bfyx_f16_1x1�AJ�`��@���o��y� BJ�`��@��`v��y��BJ�`��@�� q��y� CJ�`��@���p��y��CJ�`��@��r��y� DJ�`��@���u��y��DJ�`��@���u��y� EJ�`��@��0v��y��EJ�`��@��v��y� FJ�`��@��p��y��FJ�`��@��0p��y� GJ�`��@��`p��y��GJ�`��@���p��y� HJ�`��@���p��y��HJ�`��@��po��y� IJ�`��@���o��y��IJ�`��@��@o��y� JJ�`��@��s��y��JJ�`��@���t��y� KJ�`��@��Pq��y��KJ�`��@��@u��y� LJ�`��@��pu��y��LJ�`��@��Pt��y� MJ�`��@���t��y��MJ�`��@��0s��y� NJ�`��@���r��y��NJ�`��@���t��y� OJ�`��@��u��y��OJ�`��@���s��y� PJ�`��@���s��y��PJ�`��@�� t��y� QJ�`��@���r��y��QJ�`��@��`s��y� RJ�`��@���s��y��RJ�`��@��pr��y� SJ�`��@���q��y��SJ�`��@���q��y� TJ�`��@���q��y��TJ�`��@��@r��y� UJ�`���u ������u ����{�`u
� ��0���UJ�`��0�������u ����{�`u
� ��0�����p��HVJ�`��0������������{�`u
� ��0�����p��convolution_grad_weights_ref�VJ�`��0������P�����{���� ��0��������convolution_grad_weights_1x1�WJ�`��0������������{�@�� ��0�����@��convolution_grad_weights_yxfb(XJ�`��0������������{�0�� ��0����� ��convolution_grad_weights_3x3�XJ�`��0������������{�p�� ��0�����`��convolution_grad_weights_7x7hYJ�`��@�����y��YJ�`��@��p���y�hZJ�`��@��0���y��ZJ�`��@������y�h[J�`��@��А��y�STRIDEPADDINGFILTER_ARRAY_NUMINPUT0_OFFSET_WITH_PADDINGDEPTHWISE_SEPARABLE_OPTOUTPUT_GRAD_W�[J�0��`��h\J����@�����y��\J�`��@��И��y�_SIZE_X_SIZE_Y_SIZE_ZLINEARLOGISTICHYPERBOLIC_TANRELURELU_NEGATIVE_SLOPECLAMPSOFTRELUABSSQUARESQRTELURELU_GRADRELU_NEGATIVE_SLOPE_GRADSINASINSINHCOSACOSCOSHLOGLOG2EXPNONENONE_GRADTANATANFLOORCEILNEGATIVENOTBS_F_BSV8__AF8BS_F_BSV16__AF8BRFYXWINOGRAD_2x3_S1_DATABYXF_AF32BYX8_F4FS_BS_YX_BSV4_FSV32B_FS_YX_FSV4BFZYXFS_B_YX_FSV32UINT8INT16UINT16INT32UINT32INT64F16F32UNKNOWNCONVOLUTIONLRNPOOLINGROI_POOLINGFULLY_CONNECTEDACTIVATIONREGION_YOLOREORG_YOLOELTWISEREORDERSELECTMAXINSIDE_PARAMSIN_BUFFERBATCHFEATUREXYFAVGMAX_WITH_ARGMAXACROSS_CHANNELWITHIN_CHANNELDONT_CAREFIXEDDYNAMICDYNAMIC_WITH_PADDINGACROSS_SPATIALWITHIN_SPATIALACROSS_CHANNELSWITHIN_CHANNELSO_I_YX_I16_O16OS_IYX_OSV16OS_IYX_OSV32OS_IYX_OSV64OS_IYX_OSV16_ROTATE_180OS_I_OSV16OS_I_OSV8__AI8OS_I_OSV16__AI8I_YXS_OS_YXSV2_OSV16IY_XS_OS_XSV2_OSV16__AO32IY_XS_OS_XSV2_OSV8__AO32IMAGE_2D_WEIGHTS_C4_FYX_BIMAGE_2D_WEIGHTS_C1_B_FYXWINOGRAD_2x3_S1_WEIGHTSWINOGRAD_2x3_S1_FUSED_WEIGHTSWINOGRAD_6x3_S1_FUSED_WEIGHTSIMAGE_2D_WEIGHTS_WINOGRAD_6x3_S1_FBXYBIMAGE_2D_WEIGHTS_WINOGRAD_6x3_S1_XFBYBOS_IS_YX_ISA8_OSV8_ISV4OS_IS_YX_ISA8_OSV8_ISV4_SWIZZLED_BY_4IS_O_YX_ISV32IS_O32_YX_ISV32_SWIZZLED_BY_4OS_IS_Y_X8_OSV8_ISV4OS_IS_Y_X8_OSV8_ISV4_SWIZZLED_BY_4OS_IS_YX_OSV16_ISV4OIZYXSAMPLE_TYPE_NEARESTSAMPLE_TYPE_BILINEARBORDER_TYPE_CONSTANTBORDER_TYPE_EDGEBORDER_TYPE_MIRRORBORDER_TYPE_MIRROR_101INDEX_SELECT_AXIS_BATCHINDEX_SELECT_AXIS_FEATUREINDEX_SELECT_AXIS_XINDEX_SELECT_AXIS_Y_pvdshortushortUNIT>>=<===(- ? (isinf((exp((log(valval/mean_valval*mean_valval-mean_val-INFINITYINFINITYas_float(0x*/ /*h]J�`�����_FEATURE_NUM_ROI_NUM_BATCH_NUM_X_PITCH_Y_PITCH_Z_PITCH_FEATURE_PITCH_ROI_PITCH_BATCH_PITCH_PAD_BEFORE_SIZE_X_PAD_BEFORE_SIZE_Y_PAD_BEFORE_SIZE_Z_PAD_BEFORE_FEATURE_NUM_PAD_BEFORE_BATCH_NUM_PAD_AFTER_SIZE_X_PAD_AFTER_SIZE_Y_PAD_AFTER_SIZE_Z_PAD_AFTER_FEATURE_NUM_PAD_AFTER_BATCH_NUMH^J�����_IFM_NUM_OFM_NUM_IFM_PITCH_OFM_PITCHCAT(_MAX_FUNC_MIN_FUNCTO__VAL_ONE_VAL_ZERO(jit_type, input, m, n)(input, m, n)(jit_type, input_grad, input, m, n)(input_grad, input, m, n)(tanh(input))n(fabs(input))(m*input + n)(input*input)(sqrt(input))(sin(input))(asin(input))(sinh(input))(cos(input))(acos(input))(cosh(input))(log(input))(log2(input))(exp(input))input_grad(tan(input))(atan(input))(floor(input))(ceil(input))(-input)convert_char(v)convert_char_sat(v)UCHAR_MAX(uchar) 1(uchar) 0convert_uchar(v)convert_uchar_sat(v)INT_MAXINT_MIN(int) 1(int) 0convert_int(v)convert_int_sat(v)4convert_uint(v)convert_uint_sat(v)convert_long(v)convert_long_sat(v)8HALF_MAX_VAL_MAX-1.0h0.0hconvert_half(v)fmaxfmin2FLT_MAX1.0f0.0fconvert_float(v)_VAL_MIN_TYPE(v)_TYPE_SAT(v)_TYPE_SIZE_IS_FPNL_MNL_NLOOP0(VAR, STMT)(STMT); (VAR)++;LOOP1(VAR, STMT)(VAR, STMT); (STMT); (VAR)++;LOOP(VAR, STMT)CAT(LOOP, N)((VAR), (STMT))LOOP(N, VAR, STMT)_VIEW_OFFSET_LENGTH_SIMPLE_LAYOUT_size_t_SIZES_PAD_BEFORE_PAD_AFTER(_J����@��0���y��_J����@��`���y�bias_size:FUSED_ELTWISEGROUPED(`J�`��@��P[��y��`J�`���`������u ����{�`u
� ���[� e�8aJ�`���`�����������{�`u
� �����P��deconvolution_gpu_ref�aJ�`���`�����������{�`u
� ���[�`��deconvolution_gpu_bfyx_opthbJ�`��@���l��y��bJ�`��@��m��y�hcJ�`���u ������u ����{�`u
�����cJ�`��������������{�`u
� �detection_output�dJ�`��@����������{�`u
���detection_output_sorteJ�`��@���q��y��eJ�`��@���q��y�fJ�`��P
�����@����{�`u
� �����embed_ref�fJ�`��@���s��y� gJ�p���u ������u ����{�� ��@ � �P!��gJ�p��P"������#����{�� ��@ � ��$�fully_connected_gpu_bfyx_refHhJ�p��p)������*����{�� ��@ ��&�`+�fully_connected_gpu_bf_io_gemm�hJ�p���2�����4����{�� ��@ ��,��4�fully_connected_gpu_bs_f_bsv16_b1xiJ�0���u ������u ����{�� ��@ �6�P!�jJ�0��p8�����`:����{��;� ��@ �6��:�fully_connected_gpu_bs_f_bsv16_af8_vload�jJ�0���<�����0>����{��?� ��@ �6��>�fully_connected_gpu_bs_f_bsv8_af8_vloadPkJ�p���A�����C����{�� ��@ � �P!�fully_connected_gpu_yxfb_ref�kJ�p���C�����E����{�� ��@ � �P!�fully_connected_gpu_fb_oi_ref�lJ�p���E�����E����{�� ��@ � �P!�fully_connected_gpu_fb_io_refmJ�p���F�����PH����{�� ��@ � �P!�fully_connected_gpu_bf_io_ref�mJ�p���H�����@J����{��K� ��@ � ��J�fully_connected_gpu_fb_oi_b8_fp32_refHnJ�0���K������M����{�O� ��@ �6�N�fully_connected_gpu_fb_io_b8_f8_vload�nJ�p���T������V����{��X� ��@ ��O� W�fully_connected_gpu_fb_io_block_fp16�oJ�p���Y�����PH����{��^� ��@ � ��\�fully_connected_gpu_bf_io_input_spatialpJ�p���`������a����{�� ��@ ��^�`b�fully_connected_gpu_MMAD�pJ�p���g�����i����{�`j� ��@ �Pc�pi�fully_connected_gpu_mmad_batchedHqJ�p��k�����pl����{��m� ��@ � �m�fully_connected_gpu_imad�qJ�p���q������r����{�� ��@ ��o�Ps�fully_connected_gpu_fs_byx_fsv32xrJ�`��@�����y��rJ�`��@��`���y�xsJ�`��@��P���y��sJ�`��@�� ���y�xtJ�`��@������y��tJ�`��@�����y�xuJ�`��@��p���y��uJ�`��@�����y�xvJ�`��@������y��vJ�`��@��@���y�xwJ�`��@�����y��wJ�`��@������y�xxJ�`��@������y��xJ�`��@��0���y�xyJ�`��@����y��yJ�`��@�����y�xzJ�`��@������y��zJ�`���v������u ����{�`u
� ���v�0{��{J�`���v������|����{�`u
� ���v�0{�fully_connected_grad_input_gpu_ref |J�`��@��P���y��|J�`���������u ����{�`u
� ��0������8}J�`��������0�����{�`u
� ��0������fully_connected_grad_weights_gpu_ref�}J�`��@�����y�X~J�`���u ������u ����{���� ���u ��������~J�`���������������{���� ��p����P��@��fused_conv_bn_scale_kernel_ref�J�`��@����y�LOCAL_CONVOLUTION_ELTWELTW_CALIBRATION_TERMELTW_STRIDE_XELTW_STRIDE_YIN_OUT_OPT�J�`��@����y���J�����u ����`���u ����{���� ���u ����t��������J�0������`��0�����{��� �����0��`u
�@�����fused_conv_eltwise_gpu_bfyx_1x1_opt��J�0��������`�������0���� �������t�`�����@�J����К����`��о����{���� �������t�p��`��fused_conv_eltwise_gpu_mmad_32x32sg_128x128wg_slm_int8؂J����К����`��о����{���� �������t�p�����fused_conv_eltwise_gpu_mmad_32x32sg_224x128wg_slm_int8p�J�p�������`�������{���� ��P��0���t�������fused_conv_eltwise_gpu_yxfb_yxio_b16�J�p��������`��������{�p�� ��������t��������J�`��@������y� �J�`��@������y���J�`��@������y� �J�`��@������y���J�`��@��0���y� �J�`��@��`���y���J�`��@�����y� �J����p����������J�`���u ������u ����{�`u
�(�J�`��`������������{�`u
���J�`��@��@���y�8�J����0����������J�`���u ������u ����{�`u
�@�J�`��������0�����{�`u
�index_select_gpu_refЋJ�`��@�����y�P�J�`���u ������u ����{���������،J�`�������� �����{���������lookup_table_refh�J�`��������p�����{���������lookup_table_axis��J�`��@������y�x�J�`��@��`���y���J�`���u ������u ����{�����	���J�`��p����������{�� �@�lrn_ref�J�`��P����������{�����lrn_gpu_within_channel��J�`��P����������{������lrn_gpu_within_channel_opt0�J�`��P�����@����{������lrn_gpu_across_channel_ref��J�`��P����������{�p���@�lrn_gpu_across_channel_yxfb_b8_optP�J�`�� ����� ����{�������lrn_gpu_across_channel_multiple_features�J�`�������������{��� ���lrn_within_channel_byxf_optp�J�`��@������y��J�`��@�����y�p�J�`��@��p���y��J�`��@������y�p�J�`��@������y��J�`��@��@���y�p�J�`��@��P���y��J�`���u ������u ����{�����*�x�J�`��`=������=����{�����*�lstm_elt_gpu_bfyx_ref�J�`��@��0���y���J�`���u ������u ����{����F��J�`��0P�����PP����{����F�lstm_gemm_gpu_bfyx_ref��J�`���P������R����{����F�lstm_gemv_gpu_subgroup1x64_bfyx_ff_SIMD160�J�`���P������R����{����F�lstm_gemv_gpu_subgroup1x64_bfyx_hh_SIMD16��J�`��@��P���y�@�J�`��@������y���J�`��@������y�@�J�`���u ������u ����{�pY��X��S�ȜJ�`���Y������Y����{�pY��X��S�max_unpooling_gpu_refX�J�`��@������y�؝J�`���u ������u ����{�`u
�@`��b���`�J�`��@e�����pe����{�`u
�@`��b�e�mvn_gpu_ref�J�`���i����� j����{�`u
�f��j���mvn_gpu_bfyx_opt��J�`��@��0��y��J�`��@����y���J�`���u ������u ����{�`u
��J�`���l�����m����{�`u
�normalize_gpu_within_spatial_ref��J�`���l������m����{�`u
�normalize_gpu_across_spatial_ref(�J�`��@�����y���J�`��@�����y�(�J�����
���������J�`���u ������u ����{�`u
�0�J�`��n�����0n����{�`u
�one_hot_ref��J�`��@���
��y�@�J�`�� x������|����{�`u
�permute_refȥJ�`��@�����y�H�J�`���u ������u ����{�������`��ЦJ�`�������������{�������`��pooling_gpu_ref`�J�`��@������p�����{������ ��pooling_gpu_byxf_opt�J�`��������@�����{�p��0����pooling_gpu_bfyx_block_opt��J�`��������p�����{������ ��pooling_gpu_byxf_padding_opt�J�`��������@�����{���������pooling_gpu_byxf_af32��J�`�������������{�������`��pooling_gpu_int8_ref0�J�`�������������{����������pooling_gpu_fs_bs_yx_bsv4_fsv32��J�`��������@�����{����Й���pooling_gpu_b_fs_yx_fsv4P�J�`��������������{������@��pooling_gpu_fs_bs_yx_bsv4_fsv32_simd32�J�`��������������{�p����`��pooling_gpu_fs_b_yx_fsv32p�J�`��0������Ш����{���������pooling_gpu_blocked�J�`��@��0"��y���J�`��@���!��y��J�`��@��p!��y���J�`��@���!��y��J�`��@��"��y���J�`��@��� ��y��J�`��@��� ��y���J�`��@��P ��y��J�`��@��!��y���J�`��@��� ��y��J�`��@��@!��y���J���� %��������J�`���u ������u ����{�`u
���J�`�������� �����{�`u
�pyramid_roi_align_gpu_ref�J�`��@���$��y���J�`��������� �����{�`u
�0��region_yolo_gpu_ref �J�`��@��'��y���J�`���u ������u ����{�`u
�0����������(�J�`��������0�����{�`u
�p����������reorder_data��J�`���������������{�������������reorder_data_fast_b1H�J�`��p������������{�`u
������� ����reorder_from_winograd_2x3_s1طJ�`��p������������{�`u
�����������reorder_to_winograd_2x3_s1h�J�`���������`�����{����P����������reorder_data_to_yxfb_batched��J�`���������������{� ��������0����reorder_data_byxf_f32_to_byx8_f4_i8��J�`��@���2��y��J�`��@��P2��y���J�`��@�� 2��y��J�`��@���2��y���J�`��@���2��y��J�`��@��3��y���J�`��������� �����{�`u
����reorg_yolo_gpu_ref�J�`��@��05��y���J�`���������|����{�`u
�reshape_ref�J�`��@��p7��y���J�`��p�����`	����{�`u
�roi_pooling_ref �J�`��@���9��y���J�`��P
������u ����{�`u
� ��0������8�J�`��P
����������{�`u
� ��0������scale_grad_weights_gpu_ref�J�`��@��p<��y�X�J�����?��������J�`���u ������u ����{�P!�����`�J�`���!������!����{��"�����select_gpu_ref��J�`��@��P?��y�p�J�`���u ������u ����{��.�0(�p-���J�`���u ������u ����{�/�0(��-���J�`���u ������u ����{��.��0�p-��J�`��`?������?����{��.��0��?�softmax_gpu_ref��J�`��`?������@����{�/�0(�@A�softmax_gpu_bfH�J�`���A�����PB����{��C�0(��B�softmax_gpu_fb��J�`��`?������?����{��.�E��E�softmax_gpu_items_class_optimizedx�J�`��@���H��y���J�`��@��I��y�x�J�`��@��0I��y���J�`��@���H��y�x�J�`���u ������u ����{��N�`L��L��J�`���N������N����{��N�`L��L�softmax_loss_grad_gpu_ref��J�`��@���K��y��J�`��PU����������{�`u
��Q�0X���J�`��@��N��y��J�`���u ������u ����{�pd��`���J�`���d������d����{�pd��`�upsampling_ref0�J�`��@���P��y���Տ�v�>�ᮺv�U0 ���5�]J�B�-;eU��k��E=���ƚ��p�Oܼ���w��kA�V�<���Ѝ��U1(\Qӵɦ���q�ˋ�#w"��mSx@�I̮Wζ]y<�7V�M6��O�H8oꖐ�:�%˅t���φ��*�
45*�g8�;?����Ȅ���'D�Ŗ�%�Οk���b}$l���_
Xf��&��ޓ���������J|l_b�S0�4`���U&����N��~)p$w�ߏ�帟�ߦ�}t��_��ϛ���pD�k�����11eU%�ͬ{���?�;+*�\�Ӓsi�$$������d�̈Po	̼�,e�X��@����b���x��	��x9?���{Η�p\�{�2~�h�髤8��E"�&'O�'���1�c�Ȍ8eް�e��ǃ�qB�]�X��,iM��pd��Jw�m��k}�{x	�w�y��T��ś[��[�=]���S5ȳ���\�*��_����F�%�9�4›�\���r��ξ�TS�ܷ�A"��x\ӛ� ��S!{�Z�:0�ܵ�△�\S�٨<D���|��D��LLv��@��,�W���)1����������)�;b� (��ϧz^KD�-ݬ@�!���D^/�g�A����3ԩ㴒���wߺn���k��;��<�W�r�����������,�F�a�{���������5�P�k���������
�%�?�Z�t����������.�I�c�~�������8Sm�����
'B\w�����1Lf����� ;Up�����*00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
d�'��@B����ʚ; could not be read! Must provide a valid cache file in USE_CACHE mode.Tuning file: 0123456789ABCDEFuuuuuuuubtnufruuuuuuuuuuuuuuuuuu"\�y�PD�?�u@OUTPUTFP64_SUPPORTEDFP16_SUPPORTEDFP16_UNIT_USEDINT8_UNIT_USEDINT32_UNIT_USEDINT64_UNIT_USEDUINT8_UNIT_USEDUINT32_UNIT_USEDLayerIDPARAMS_NUMADDITIONAL_PARAMSPARAMETERIZED��J�`��@�����y�NUM_COLS_WIADVANCED_TUTORIAL##_name_##(name) 
//====================================================// Kernel template: // Kernel name: __kernel void KERNEL(name)FUNC_CALL -cl-mad-enable -DMMAD_SUPPORTED=1 -DIMAD_SUPPORTED=1 LWS cannot be greater than 256!
ERROR: dispatch data for kernel:  dispatch data cannot contain zeros! LWS0:  is incorrect: GWS0:  LWS1:  is incorrect: GWS1:  LWS2:  is incorrect: GWS2: 0�J����@3���������J��� ��p��GWS_BATCHGWS_FEATUREGWS_YX��V5IN_X_PITCHIN_Y_PITCHIN_B_BLOCK_PITCHIN_F_BLOCK_PITCHIN_OFFSET, INPUTGET_INPUT(input(int16)const int16 tmpELTW_UNSIGNEDGET_DATA_INDEX(GET_DATA_FS_B_YX_FSV32_INDEX(incorrect data_layout,b,f,y,x)INPUT_0_0INPUT_0_1tmp_input_0tmp_input_1INPUT0GET_INPUT_0_DATA_INDEX(b,f,y,x)INPUT1GET_INPUT_1_DATA_INDEX(b,f,y,x)GET_OUTPUT_DATA_INDEX(b,f,y,x)��V4��q5TOP_K_AXISMAX_OUTMIN_OUT0�J�`��@���>��y�UNPOOL��J�`��@���N��y�EPSILONFORWARDSCALE_SHIFTMEAN_VAR_OUT0�J�`��@���X��y���J�`��@���a��y�CONCAT_CONCAT_AXIS_INDEX0�J�`��@���k��y����3CHECK_FEATURESFEATURE_CHANNELINPUT_DIM_0INPUT_DIM_1INPUT_DIM_2INPUT_DIM_3FILTERBIAS_TERMBIAS_PER_OUTPUTBIAS_PER_OFM��J�`��@��@���y�_TYPEDDONT_DEQUANTIZE_BIAS0�J�����������������{�P�� �������`u
� ����convolution_gpu_bfyx_1x1_optOUT_BLOCK_WIDTHOUT_BLOCK_HEIGHTOUT_BLOCK_DEPTH_fp32_fp16ALIGNED_OFMFILTER_SIZE_X_DIV2INPUT_BUFFER_WIDTH_PADDEDINPUT_BUFFER_HEIGHT_PADDEDLEFTOVERS�!5KERNEL_SLICE_DIV2RIGHT_PARTIAL_TILE_K��J�����������P�����{�`�� �������`u
����P��convolution_gpu_bfyx_os_iyx_osv16SUB_GROUP_SIZEOUTPUT_BLOCK_WIDTHOUTPUT_BLOCK_HEIGHTIN_BLOCK_ARRAY_SIZEIN_BLOCK_WIDTHUSE_BLOCK_READ_2USE_BLOCK_READ_1LOCAL_WORK_GROUP_SIZEOFM_PER_WORK_ITEMBATCHES_PER_WORK_ITEMLOCAL_WORK_GROUPS_PER_SINGLE_BATCHES_ELEMENTSWORK_ITEMS_PER_SINGLE_BATCHES_ELEMENTS��;5USE_VECTORX_PER_WORK_ITEM>�>INPUT0_SIZE_WINOGRAD_XINPUT0_SIZE_WINOGRAD_YTILE_MTILE_NNUM_WHOLE_GROUPS_YNUM_WHOLE_SUBGROUPS_YLAST_LOCAL_Y�=C4_up16TROWSTCOLSKROWSWKCOLSWFILTER_OFM_BLOCK_PITCH`�J�� �`$�����������{��&� ��0~����t�!��$�convolution_gpu_mmad_blocksBOUNDARY_CHECKLOCAL_SIZE_XLOCAL_SIZE_YLOCAL_SIZE_Z -Dcl_intel_subgroups_charOUT_X_PITCHOUT_Y_PITCHWEIGHTS_PER_WORKITEMWG_BATCH_COUNTWG_TILE_MWG_TILE_NTILES_PER_SG_XTILES_PER_SG_YDIM_XDIM_YMATRIX_SMALL_KMATRIX_SMALL_K_BFLOATSG_TILE_MSG_TILE_NSG_SIZESIMD_LANE_M(SG_TILE_N / SG_SIZE)SIMD_LANE_N(SG_SIZE * WG_TILE_N / SG_TILE_N) * (WG_TILE_M / SG_TILE_M)WG_SIZECOMPILE_KERNELSTILED_GLOBAL_LAYOUTOUTPUT_TILED_GLOBAL_LAYOUTOUT_B_BLOCK_PITCHOUT_F_BLOCK_PITCHOUT_OFFSETOUT_WITH_PADDINGWG_BATCH_SIZE_IW_IH_IDIWPADIHPAD_OW_OH_ODOWPADOHPADSIMD_SIZEK_WIDTHNON_BLOCK_LOAD��J������0��@��������{���� ������`u
�����convolution_gpu_fs_byx_fsv32INPUT_BLOCK_WIDTHFSVFSV_PER_THREAD��J�0������0��������{�p�� ������`u
������convolution_gpu_fs_byx_fsv32_1x1(�J��������`�������{���� ������`u
���� ��convolution_gpu_bfyx_to_fs_byx_fsv32INPUT_BLOCK_HEIGHTXY_BLOCKSPADDED_INPUTPADDED_OUTPUTX_BLOCK_SIZEIC_BLOCKS��J������0�����`�����{��� ��������t�������convolution_gpu_bfyx_f16OUTPUT_X_BLOCK_SIZEINPUT_LINE_SIZEX�J�0����0�����������{� �� ��������t�0�����convolution_gpu_bfyx_to_bfyx_f16INPUT_BLOCK_SIZEMOMENTUM_FACTORDECAY_RATEDIM_ORDER_XYBFNUM_IMAGESNUM_CLASSESKEEP_TOP_KBACKGROUND_LABEL_IDCODE_TYPECONF_SIZE_XCONF_SIZE_YCONF_PADDING_XCONF_PADDING_YSHARE_LOCATIONVARIANCE_ENCODED_IN_TARGETNMS_THRESHOLDETACONFIDENCE_THRESHOLDIMAGE_WIDTHIMAGE_HEIGHELEMENTS_PER_THREADPRIOR_COORD_OFFSETPRIOR_INFO_SIZEPRIOR_IS_NORMALIZED��J�`��@��p���y�INPUT0_ELEMENTS_COUNTNUM_OUTPUT_SIZEp�J�`��@�����y���J�`��@�����y�LAST_INPUT_SIZE_REMAINDERLAST_INPUT_SIZE_DIV_4uintWORK_ITEMS_PER_BATCHUNIT_BYTE_SIZECHUNK_TYPECHUNK_BYTE_SIZEUNITS_PER_CHUNKBYTES_PER_SG_READUNITS_PER_SG_READRESPONSES_PER_SG_EXECIN_CHUNK_PREFETCH_SIZEFILTER_CHUNK_PREFETCH_SIZE�75NEURONS_PER_WORK_ITEMOUTPUT_ELEMENTS_COUNT���4��4LAST_RG_SIZEWG_HEIGHTOUTPUT_BLOCK_SIZE_Bp�J�`��@���v��y���J�`��@�����y�FUSED_TRAININGSCALE_BIAS_TERMp�J�`��@������y�_ELTW_TYPEDNON_CONV_SCALE��J�`������`��������{���� �������`u
����`��fused_conv_eltwise_gpu_bfyx_os_iyx_osv16IN2_X_PITCHIN2_Y_PITCHIN2_B_BLOCK_PITCHIN2_F_BLOCK_PITCHIN2_OFFSETELTW_WITH_PADDINGVAL_NUM��J�`��@������y�LOCAL_SIZEALPHA_KERNEL_DIVIDERALPHA_AFTER_FACTOREDALPHA_DIV_BY_SIZEALPHA_VAL_FACTORALPHA_VAL_FACTOR_DIV_BY_SIZE�J�`��@������y�NUM_ELEMENTS_DIVOFM_PER_SIMDFORCE_SIMD_16CELL_TERMCELL_DIRECTION : (x))) ? : (x < ((x > CLIP(x)(x)INPUT_FORGETDIRECTIONGEMM_OFFSET_IGEMM_OFFSET_OGEMM_OFFSET_FGEMM_OFFSET_Z��J�`��@��p%��y�HIDDENHIDDEN_TERMRECURRENTHIDDEN_DIRECTIONWEIGHTSINPUT_DIRECTION�J�`��@��A��y�OUTPUT_PADDED��J�`��@��`U��y�NORMALIZE_VARIANCE�J�`��@���\��y�_accross_channels_within_channelsITEMS_NUMLWSGWSDATA_SETS_COUNTDATA_SET_SIZEPERMUTE_ORDER��J�`u��t��J����@��0u��y���J�`��@��u��y�_POOLINGCHECK_BOUNDRY�J�`��@��P���y�BLOCK_SIZE_YBATCH_SG_COUNTCOORDSCLASSESNUMDO_SOFTMAXMASK_SIZE��J�`��@�����y�MEAN_SUBTRACT_VALUE_TO_SUBTRACTconvert_floatTO_MEAN_TYPEMEAN_SUBTRACTconvert_CALC_TYPETO_CALC_TYPEINPUT0_TYPEINPUT_REORDER_TYPEOUTPUT_TYPEOUTPUT_REORDER_TYPETO_OUTPUT_TYPETO_OUTPUT_REORDER_TYPEMEAN_OP(val,mean_val)�J� ��p*���J����@��@���y��J�`��@�����y���J�`��@�����y�ELEMENTS_COUNTCHANGE_DATA_TYPE_ONLYINPUT0_OFFSET_SIZE_XINPUT0_OFFSET_SIZE_Y�J�`��@������y���J�`��@�����y�POOLED_HEIGHTPOOLED_WIDTHSPATIAL_SCALEGROUP_SIZEUSE_OLD_SCALE_AND_ROUNDING�J�`��@��P��y���J�`��@�� 
��y�INPUT_2abs(INPUT_2))_rtp(�J�`��@��`��y�ALONG_��J�`��@���$��y�INPUT0_Y_PITCHINPUT0_OTHER0_PITCHINPUT0_FEATURE_PITCHINPUT0_OTHER1_PITCHINPUT0_X_PITCHINPUT0_CLASS_PITCHINPUT0_SIZE_XINPUT0_CLASS_NUMOUTPUT_Y_PITCHOUTPUT_OTHER0_PITCHOUTPUT_FEATURE_PITCHOUTPUT_OTHER1_PITCHOUTPUT_X_PITCHOUTPUT_CLASS_PITCHINPUT0_SIZE_YINPUT0_FEATURE_NUMACCUMULATOR_TYPEWORKITEMS_PER_CLASSES�J�`��@��0I��y�TILESAXIS_PITCHOUTER_SIZEOUTPUT_ELEMENTSDENSE��J�`��@���Q��y�X_RATIOY_RATIO�J�`��@���[��y�/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)


KERNEL(activation)(
#if GRADIENT
    __global UNIT_TYPE* input_grad,
    __global UNIT_TYPE* output,
    __global UNIT_TYPE* input
#else
    __global UNIT_TYPE* input,
    __global UNIT_TYPE* output
#endif
    )
{
    const unsigned int x = get_global_id(0) * NUM_COLS_WI;

    unsigned int input_offset  = x + INPUT0_OFFSET;
    unsigned int output_offset = x + OUTPUT_OFFSET;

    typedef CAT(UNIT_TYPE, 4) type_t;
#if GRADIENT
    type_t g = ((__global type_t*) (input_grad + input_offset))[0];
#endif
    type_t v = ((__global type_t*) (input + input_offset))[0];

#if GRADIENT
    v = ACTIVATION(g, v, NL_M, NL_N);
#else
    v = ACTIVATION(v, NL_M, NL_N);
#endif

    *((__global type_t*)(output + output_offset)) = v;
}

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)


// TODO: move it from layout based to memory based
KERNEL(activation)(
#if GRADIENT
    __global UNIT_TYPE* input_grad,
    __global UNIT_TYPE* output_grad,
    __global UNIT_TYPE* input
#else
    __global UNIT_TYPE* input,
    __global UNIT_TYPE* output
#endif
#ifdef PARAMETERIZED
    , __global ADDITIONAL_PARAMS_TYPE* params
#endif
    )
{
#if defined OUTPUT_LAYOUT_BFZYX
    const unsigned x = get_global_id(0);
    const uint y = get_global_id(1) % OUTPUT_SIZE_Y;
    const uint z = get_global_id(1) / OUTPUT_SIZE_Y;
#if OUTPUT_BATCH_NUM == 1
    const unsigned feature = get_global_id(2);
    const unsigned batch = 0;
#else
    const unsigned feature = get_global_id(2) % OUTPUT_FEATURE_NUM;
    const unsigned batch = get_global_id(2) / OUTPUT_FEATURE_NUM;
#endif
#else
#if defined OUTPUT_LAYOUT_YXFB
    const unsigned x = get_global_id(1);
    const unsigned y = get_global_id(2);
#define z 0
#if OUTPUT_BATCH_NUM == 1
    const unsigned feature = get_global_id(0);
    const unsigned batch = 0;
#else
    const unsigned feature = get_global_id(0) % OUTPUT_FEATURE_NUM;
    const unsigned batch = get_global_id(0) / OUTPUT_FEATURE_NUM;
#endif
#else
#define z 0
    const unsigned x = get_global_id(0);
    const unsigned y = get_global_id(1);
#if OUTPUT_BATCH_NUM == 1
    const unsigned feature = get_global_id(2);
    const unsigned batch = 0;
#else
    const unsigned feature = get_global_id(2) % OUTPUT_FEATURE_NUM;
    const unsigned batch = get_global_id(2) / OUTPUT_FEATURE_NUM;
#endif
#endif
#endif

#if GRADIENT
    const unsigned src_grad_index = batch*INPUT0_BATCH_PITCH + feature*INPUT0_FEATURE_PITCH + z*INPUT0_Z_PITCH + y*INPUT0_Y_PITCH + x*INPUT0_X_PITCH + INPUT0_OFFSET;
    const unsigned src_index = batch*INPUT1_BATCH_PITCH + feature*INPUT1_FEATURE_PITCH + z*INPUT1_Z_PITCH + y*INPUT1_Y_PITCH + x*INPUT1_X_PITCH + INPUT1_OFFSET;
#else
    const unsigned src_index = batch*INPUT0_BATCH_PITCH + feature*INPUT0_FEATURE_PITCH + z*INPUT0_Z_PITCH + y*INPUT0_Y_PITCH + x*INPUT0_X_PITCH + INPUT0_OFFSET;
#endif
    const unsigned dst_index = batch*OUTPUT_BATCH_PITCH + feature*OUTPUT_FEATURE_PITCH + z*OUTPUT_Z_PITCH + y*OUTPUT_Y_PITCH + x*OUTPUT_X_PITCH + OUTPUT_OFFSET;

#if defined PARAMETERIZED
    #if   PARAMS_NUM == 2
        const float nl_m = (float)params[2*feature + 0];
        const float nl_n = (float)params[2*feature + 1];
    #elif PARAMS_NUM == 1
        const float nl_m = (float)params[feature];
        const float nl_n = (float)NL_N;
    #else
        const float nl_m = (float)NL_M;
        const float nl_n = (float)NL_N;
    #endif
#else
    const float nl_m = (float)NL_M;
    const float nl_n = (float)NL_N;
#endif

#if GRADIENT
    output_grad[dst_index] = ACTIVATION(input_grad[src_grad_index], input[src_index], nl_m, nl_n);
#else
    output[dst_index] = ACTIVATION(input[src_index], nl_m, nl_n);
#endif
}

        CAT(prefix, _SIZE_X),                           \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



KERNEL(activation)(
    __global UNIT_TYPE* input,
    __global UNIT_TYPE* output
#ifdef PARAMETERIZED
    , __global ADDITIONAL_PARAMS_TYPE* params
#endif
    )
{
#if defined OUTPUT_LAYOUT_YXFB                  // in Case of YXFB we need a different processing order than BFYX (from performance aspect)
    const uint x = get_global_id(1);
    const uint y = get_global_id(2);
#if OUTPUT_BATCH_NUM == 1
    const uint feature = get_global_id(0);
    const uint batch = 0;
#else
    const uint feature = get_global_id(0) % OUTPUT_FEATURE_NUM;
    const uint batch = get_global_id(0) / OUTPUT_FEATURE_NUM;
#endif
#else
    const uint x = get_global_id(0);
    const uint y = get_global_id(1);
#if OUTPUT_BATCH_NUM == 1
    const uint feature = get_global_id(2);
    const uint batch = 0;
#else
    const uint feature = get_global_id(2) % OUTPUT_FEATURE_NUM;
    const uint batch = get_global_id(2) / OUTPUT_FEATURE_NUM;
#endif
#endif

    const uint src_index = GET_DATA_INDEX(INPUT0, batch, feature, y, x);    // helper macro to deduce the buffer index.
    const uint dst_index = GET_DATA_INDEX(OUTPUT, batch, feature, y, x);

#if defined PARAMETERIZED                                                   // in case that the input additional params is located on a bufffer
    #if   PARAMS_NUM == 2
        const float nl_m = (float)params[2*feature + 0];
        const float nl_n = (float)params[2*feature + 1];
    #elif PARAMS_NUM == 1
        const float nl_m = (float)params[feature];
        const float nl_n = (float)NL_N;
    #else
        const float nl_m = (float)NL_M;
        const float nl_n = (float)NL_N;
    #endif
#else
    const float nl_m = (float)NL_M;
    const float nl_n = (float)NL_N;
#endif
    output[dst_index] = ACTIVATION(input[src_index], nl_m, nl_n);           // Do the activation
}

#else

//#include "put here your include files"

__kernel void activation_tutorial(
    const __global UNIT_TYPE* input,
    __global UNIT_TYPE* output)
{
	// fill here your kernel
}

#endif

        CAT(prefix, _OFFSET),                                                   \
        sub_group_size)

inline uint FUNC(get_os_is_yx_isa8_osv8_isv4_index)(uint o, uint i, uint y, uint x, uint size_x, uint size_y, uint size_ifm, uint size_ofm, uint offset)
{
    const uint f_32_aligned = ((size_ifm + 31)/32) * 32;
	const uint isv2_idx = i % 4;
	const uint osv_idx = o % 8;
	const uint isv1_idx = (i / 4) % 8;
	const uint is_idx = i / 32;
	const uint os_idx = o / 8;

	size_t idx = offset + isv2_idx + 4 * (osv_idx + 8 * isv1_idx);
	idx += x * 4 * 8 * 8;
	idx += y * size_x * 4 * 8 * 8;
	idx += is_idx * size_y * size_x * 4 * 8 * 8;
	idx += os_idx * (f_32_aligned/32) * size_y * size_x * 4 * 8 * 8;

    return idx;
}

#define GET_FILTER_OS_IS_YX_ISA8_OSV8_ISV4(prefix, o, i, y, x) \
	FUNC_CALL(get_os_is_yx_isa8_osv8_isv4_index)(                               \
        o, i, y, x, CAT(prefix, _SIZE_X ),                                      \
        CAT(prefix, _SIZE_Y),                                                \
        CAT(prefix, _IFM_NUM),                                                  \
        CAT(prefix, _OFM_NUM),                                                  \
        CAT(prefix, _OFFSET))

inline uint FUNC(get_os_is_yx_isa8_osv8_isv4_swizzled_by_4_index)(uint o, uint i, uint y, uint x, uint size_x, uint size_y, uint size_ifm, uint size_ofm, uint offset)
{
    const uint o_swizzled = (o % 4) * 8 + ((o % 32) / 4) + (o / 32) * 32;

    const uint f_32_aligned = ((size_ifm + 31)/32) * 32;
	const uint isv2_idx = i % 4;
	const uint osv_idx = o_swizzled % 8;
	const uint isv1_idx = (i / 4) % 8;
	const uint is_idx = i / 32;
	const uint os_idx = o_swizzled / 8;

	size_t idx = offset + isv2_idx + 4 * (osv_idx + 8 * isv1_idx);
	idx += x * 4 * 8 * 8;
	idx += y * size_x * 4 * 8 * 8;
	idx += is_idx * size_y * size_x * 4 * 8 * 8;
	idx += os_idx * (f_32_aligned/32) * size_y * size_x * 4 * 8 * 8;

    return idx;
}

#define GET_FILTER_OS_IS_YX_ISA8_OSV8_ISV4_SWIZZLED_BY_4_INDEX(prefix, o, i, y, x) \
	FUNC_CALL(get_os_is_yx_isa8_osv8_isv4_swizzled_by_4_index)(                    \
        o, i, y, x, CAT(prefix, _SIZE_X ),                                      \
        CAT(prefix, _SIZE_Y),                                                \
        CAT(prefix, _IFM_NUM),                                                  \
        CAT(prefix, _OFM_NUM),                                                  \
        CAT(prefix, _OFFSET))


inline uint FUNC(get_is_o_yx_isv32_index)(uint o, uint i, uint y, uint x, uint i_size, uint o_size, uint x_size, uint y_size)
{
    const uint i_aligned_to_32 = ((i_size + 31) / 32) * 32;
    const uint i_val = i % 32;
    const uint i_slice = i / 32;
    const size_t idx = i_val + 32* (x + x_size * (y + y_size * (o + o_size * i_slice) ) );
    return idx;
}

#define GET_FILTER_IS_O_YX_ISV32(prefix, o, i, y, x)\
    FUNC_CALL(get_is_o_yx_isv32_index)(\
        o, i, y, x, CAT(prefix, _IFM_NUM),\
        CAT(prefix, _OFM_NUM),\
        CAT(prefix, _SIZE_X),\
        CAT(prefix, _SIZE_Y))

inline uint FUNC(get_is_o32_yx_isv32_swizzled_by_4_index)(uint o, uint i, uint y, uint x, uint i_size, uint o_size, uint x_size, uint y_size)
{
    const uint o_aligned_to_32 = ((o_size + 31) / 32) * 32;
    const uint o_swizzled = (o % 4) * 8 + ((o % 32) / 4) + (o / 32) * 32;
    const uint i_aligned_to_32 = ((i_size + 31) / 32) * 32;
    const uint i_val = i % 32;
    const uint i_slice = i / 32;
    const size_t idx = i_val + 32* (x + x_size * (y + y_size * (o_swizzled + o_aligned_to_32 * i_slice) ) );
    return idx;
}

#define GET_FILTER_IS_O32_YX_ISV32_SWIZZLED_BY_4(prefix, o, i, y, x)\
    FUNC_CALL(get_is_o32_yx_isv32_swizzled_by_4_index)(\
        o, i, y, x, CAT(prefix, _IFM_NUM),\
        CAT(prefix, _OFM_NUM),\
        CAT(prefix, _SIZE_X),\
        CAT(prefix, _SIZE_Y))

inline uint FUNC(get_os_is_y_x8_osv8_isv4_index)(uint o, uint i, uint y, uint x, uint i_size, uint o_size, uint x_size, uint y_size)
{
    const uint i_aligned_to_4 = ((i_size + 3) / 4) * 4;
    const uint o_aligned_to_8 = ((o_size + 7) / 8) * 8;
    const uint x_aligned_to_8 = ((x_size + 7) / 8) * 8;
    const uint i_val = i % 4;
    const uint i_slice = i / 4;
    const uint o_val = o % 8;
    const uint o_slice = o / 8;
    const size_t idx = i_val + 4 * (o_val + 8 * ( x + x_aligned_to_8 * (y + y_size * (i_slice + (i_aligned_to_4/4) * (o_slice)))));
    return idx;
}

#define GET_FILTER_OS_IS_Y_X8_OSV8_ISV4(prefix, o, i, y, x)\
    FUNC_CALL(get_os_is_y_x8_osv8_isv4_index)(\
        o, i, y, x, CAT(prefix, _IFM_NUM),\
        CAT(prefix, _OFM_NUM),\
        CAT(prefix, _SIZE_X),\
        CAT(prefix, _SIZE_Y))

inline uint FUNC(get_os_is_y_x8_osv8_isv4_swizzled_by_4_index)(uint o, uint i, uint y, uint x, uint i_size, uint o_size, uint x_size, uint y_size)
{
    const uint i_aligned_to_4 = ((i_size + 3) / 4) * 4;
    const uint o_aligned_to_8 = ((o_size + 7) / 8) * 8;
    const uint x_aligned_to_8 = ((x_size + 7) / 8) * 8;
    const uint i_val = i % 4;
    const uint i_slice = i / 4;
    const uint o_swizzled = (o % 4) * 8 + ((o % 32) / 4) + (o / 32) * 32;
    const uint o_val = o_swizzled % 8;
    const uint o_slice = o_swizzled / 8;
    const size_t idx = i_val + 4 * (o_val + 8 * ( x + x_aligned_to_8 * (y + y_size * (i_slice + (i_aligned_to_4/4) * (o_slice)))));
    return idx;
}

#define GET_FILTER_OS_IS_Y_X8_OSV8_ISV4_SWIZZLED_BY_4(prefix, o, i, y, x)\
    FUNC_CALL(get_os_is_y_x8_osv8_isv4_swizzled_by_4_index)(\
        o, i, y, x, CAT(prefix, _IFM_NUM),\
        CAT(prefix, _OFM_NUM),\
        CAT(prefix, _SIZE_X),\
        CAT(prefix, _SIZE_Y))


#define GET_DATA_B_FS_YX_FSV4_INDEX(prefix, o, i, y, x)\
    FUNC_CALL(get_b_fs_yx_fsv4)(\
        o, i, y, x,\
        CAT(prefix, _FEATURE_NUM),\
        CAT(prefix, _PAD_BEFORE_SIZE_Y), CAT(prefix, _SIZE_Y), CAT(prefix, _PAD_AFTER_SIZE_Y),\
        CAT(prefix, _PAD_BEFORE_SIZE_X), CAT(prefix, _SIZE_X), CAT(prefix, _PAD_AFTER_SIZE_X))

inline uint FUNC(get_b_fs_yx_fsv4)(uint o, uint i, uint y, uint x,
                                   uint feature_num,
                                   uint pad_before_size_y, uint size_y, uint pad_after_size_y,
                                   uint pad_before_size_x, uint size_x, uint pad_after_size_x)
{
    const uint tile = 4;
    uint id_tile = i / tile;
    uint id      = i - id_tile * tile;

    const uint feature_num_aligned4 = ((feature_num + 3) / 4) * 4;

    uint idx = o * (feature_num_aligned4 / tile) *
                   (pad_before_size_y + size_y + pad_after_size_y) *
                   (pad_before_size_x + size_x + pad_after_size_x) * tile
               + id_tile * (pad_before_size_y + size_y + pad_after_size_y) *
                           (pad_before_size_x + size_x + pad_after_size_x) * tile
               + pad_before_size_y * (pad_before_size_x + size_x + pad_after_size_x) * tile
               + y * (pad_before_size_x + size_x + pad_after_size_x) * tile
               + pad_before_size_x * tile
               + x * tile
               + id;

    return idx;
}

#define GET_FILTER_OS_IS_YX_OSV16_ISV4_INDEX(prefix, o, i, y, x)\
    FUNC_CALL(get_os_is_yx_osv16_isv4)(\
        o, i, y, x,\
        CAT(prefix, _IFM_PITCH),\
        CAT(prefix, _OFM_PITCH),\
        CAT(prefix, _SIZE_X))

inline uint FUNC(get_os_is_yx_osv16_isv4)(uint o, uint i, uint y, uint x,
                                          uint i_size,
                                          uint o_size,
                                          uint x_size)
{
    const uint otd = 16;
    uint out_depth_tile = o / otd;
    uint od             = o - out_depth_tile * otd;

    const uint tile = 4;
    uint id_tile = i / tile;
    uint id      = i - id_tile * tile;

    uint idx = out_depth_tile * (o_size / tile) * otd * tile
               + id_tile               * i_size * otd * tile
               + y                     * x_size * otd * tile
               + x                              * otd * tile
               + od                                   * tile
               + id;

    return idx;
}

#define GET_DATA_FS_B_YX_FSV32_INDEX(prefix, b, f, y, x)\
    FUNC_CALL(get_fs_b_yx_fsv32_index)(                 \
        b, f, y, x,                                     \
        CAT(prefix, _PAD_BEFORE_SIZE_X),                \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _PAD_AFTER_FEATURE_NUM))

#define GET_FILTER_O_I_YX_I16_O16_INDEX(prefix, o, i, y, x, sub_group_size)  \
    CAT(prefix, _OFFSET) +                                                   \
    ((o) % (sub_group_size)) +                                               \
    (sub_group_size)*(                                                       \
        (x)*(sub_group_size)*CAT(prefix, _X_PITCH) +                         \
        (y)*(sub_group_size)*CAT(prefix, _Y_PITCH) +                         \
        ((i) % (sub_group_size)) +                                           \
        ((i) / (sub_group_size))*(sub_group_size)*CAT(prefix, _IFM_PITCH) +  \
        ((o) / (sub_group_size))*CAT(prefix, _OFM_PITCH)                     \
    )

inline uint FUNC(get_byxf_af32_index)(uint b, uint f, uint y, uint x, uint y_pitch, uint b_pitch, uint f_size, uint offset)
{
	const uint f_aligned_to_32 = ((f_size + 31) / 32) * 32;
	const uint b_offset = b * b_pitch;
	const uint xy_offset = f_aligned_to_32 * x + y_pitch * y;
	const uint f_offset = f;
	const size_t idx = offset + xy_offset + b_offset + f_offset;
	return idx;
}

#define GET_DATA_BYXF_AF32_INDEX(prefix, b, f, y, x)\
	FUNC_CALL(get_byxf_af32_index)(                 \
		b, f, y, x, CAT(prefix, _Y_PITCH),          \
		CAT(prefix, _BATCH_PITCH),                      \
		CAT(prefix, _FEATURE_NUM),                 \
		CAT(prefix, _OFFSET))

inline uint FUNC(get_byx8_f4_index)(uint b, uint f, uint y, uint x,
    uint x_pitch, uint y_pitch, uint b_pitch, uint f_size, uint x_size, uint offset)
{
    const uint f_aligned_to_4 = ((f_size + 3) / 4) * 4;
    const uint x_aligned_to_8 = ((x_size + 7) / 8) * 8;
    const uint b_offset = b * b_pitch;
    const uint xy_offset = x * x_pitch + y * y_pitch;
    const uint f_offset = f;
    const size_t idx = offset + xy_offset + b_offset + f_offset;
    return idx;
}

#define GET_DATA_BYX8_F4_INDEX(prefix, b, f, y, x)\
	FUNC_CALL(get_byx8_f4_index)(                 \
		b, f, y, x, CAT(prefix, _X_PITCH),          \
		CAT(prefix, _Y_PITCH),                      \
		CAT(prefix, _BATCH_PITCH),                      \
		CAT(prefix, _FEATURE_NUM),                 \
		CAT(prefix, _SIZE_X),                 \
		CAT(prefix, _OFFSET))

#define GET_DATA_BF8_XY16_INDEX(prefix, b, f, y, x)     \
    FUNC_CALL(get_bf8_xy16_index)(                      \
        b, f, y, x, CAT(prefix, _SIZE_X ),              \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _FEATURE_NUM),                      \
        CAT(prefix, _OFFSET))

inline uint FUNC(get_fs_bs_yx_bsv4_fsv32_index)(uint b, uint f, uint y, uint x,
    uint x_pad_before, uint x_size, uint x_pad_after,
    uint y_pad_before, uint y_size, uint y_pad_after,
    uint size_f, uint size_b)
{
    const uint f_32_aligned = ((size_f + 31)/32) * 32;
    const uint b_4_aligned = ((size_b + 3)/4) * 4;
    const uint fsv_idx = f % 32;
    const uint bsv_idx = b % 4;
    const uint fs_idx = f / 32;
    const uint bs_idx = b / 4;

    const uint x_pitch = 32 * 4;
    const uint y_pitch = 32 * 4 * (x_pad_before + x_size + x_pad_after);
    const uint bs_pitch = y_pitch * (y_pad_before + y_size + y_pad_after);
    const uint fs_pitch = bs_pitch * (b_4_aligned / 4);
    uint offset = x_pitch * x_pad_before + y_pitch * y_pad_before;

    size_t idx = offset + fsv_idx + bsv_idx * 32;
    idx += 32*4 * x;
    idx += y * y_pitch;
    idx += bs_idx * bs_pitch;
    idx += fs_idx * fs_pitch;

    return idx;
}

#define GET_DATA_FS_BS_YX_BSV4_FSV32_INDEX(prefix, b, f, y, x)\
	FUNC_CALL(get_fs_bs_yx_bsv4_fsv32_index)(       \
		b, f, y, x,                                 \
        CAT(prefix, _PAD_BEFORE_SIZE_X),            \
        CAT(prefix, _SIZE_X),                       \
        CAT(prefix, _PAD_AFTER_SIZE_X),             \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),            \
        CAT(prefix, _SIZE_Y),                       \
        CAT(prefix, _PAD_AFTER_SIZE_Y),             \
		CAT(prefix, _FEATURE_NUM),                  \
        CAT(prefix, _BATCH_NUM))

#define GET_FILTER_INDEX(prefix, o, i, y, x)    \
    CAT(prefix, _OFFSET) +                      \
    (x)*CAT(prefix, _X_PITCH) +                 \
    (y)*CAT(prefix, _Y_PITCH) +                 \
    (i)*CAT(prefix, _IFM_PITCH) +               \
    (o)*CAT(prefix, _OFM_PITCH)

#define GET_FILTER_INDEX_SAFE(prefix, o, i, y, x)           \
    CAT(prefix, _OFFSET) +                                  \
    (x % CAT(prefix, _SIZE_X ))*CAT(prefix, _X_PITCH) +     \
    (y % CAT(prefix, _SIZE_Y ))*CAT(prefix, _Y_PITCH) +     \
    (i % CAT(prefix, _IFM_NUM))*CAT(prefix, _IFM_PITCH) +   \
    (o % CAT(prefix, _OFM_NUM))*CAT(prefix, _OFM_PITCH)

#define GET_FILTER_OS_IYX_OSV8_INDEX(prefix, o, i, y, x, sub_group_size)    \
    CAT(prefix, _OFFSET) +                                                  \
    ((o) % (sub_group_size)) +                                              \
    (sub_group_size)*(                                                      \
        (x)*CAT(prefix, _X_PITCH) +                                         \
        (y)*CAT(prefix, _Y_PITCH) +                                         \
        (i)*CAT(prefix, _IFM_PITCH) +                                       \
        ((o) / (sub_group_size))*CAT(prefix, _OFM_PITCH)                    \
    )

#define GET_FILTER_OS_IYX_OSV8_ROTATE_180_INDEX(prefix, o, i, y, x, sub_group_size)    \
    CAT(prefix, _OFFSET) +                                                  \
    ((o) % (sub_group_size)) +                                              \
    (sub_group_size)*(                                                      \
        (CAT(prefix, _SIZE_X ) - x - 1)*CAT(prefix, _X_PITCH) +             \
        (CAT(prefix, _SIZE_Y ) - y - 1)*CAT(prefix, _Y_PITCH) +             \
        (i)*CAT(prefix, _IFM_PITCH) +                                       \
        ((o) / (sub_group_size))*CAT(prefix, _OFM_PITCH)                    \
    )

inline uint FUNC(get_i_yxs_os_yxsv2_osv_index)(uint o, uint i, uint y, uint x, uint x_size, uint i_pitch, uint y_pitch, uint x_pitch, uint offset, uint sub_group_size)
{
    const uint aligned_ofm_line = x_pitch;
    const uint ifm_height_pitch = (i_pitch/aligned_ofm_line);
    const uint dst_height = i*ifm_height_pitch + y*x_size + x;
    const uint base_filter_index = y*x_size + x;

    const uint aligned_height = dst_height & 0xfffffffe;
    const uint base_filter_odd = (base_filter_index & 0x1);

    uint slice_id = o / sub_group_size;
    uint id_in_slice = o % sub_group_size;
    uint slice_pitch = 2*sub_group_size;
    uint offset_in_slice = (int)(sub_group_size*base_filter_odd);

    const uint in_line = (slice_pitch*slice_id + offset_in_slice + id_in_slice);
    const size_t idx = offset + aligned_height*aligned_ofm_line + in_line;

    return idx;
}

#define GET_FILTER_I_YXS_OS_YXSV2_OSV_INDEX(prefix, o, i, y, x, sub_group_size) \
    FUNC_CALL(get_i_yxs_os_yxsv2_osv_index)(                                    \
        o, i, y, x, CAT(prefix, _SIZE_X ),                                      \
        CAT(prefix, _IFM_PITCH),                                                \
        CAT(prefix, _Y_PITCH),                                                  \
        CAT(prefix, _X_PITCH),                                                  \
        CAT(prefix, _OFFSET),                                                   \
        sub_group_size)

inline uint FUNC(get_iy_xs_os_xsv2_osv_index)(uint o, uint i, uint y, uint x, uint x_size, uint i_pitch, uint y_pitch, uint x_pitch, uint offset, uint sub_group_size)
{
    const uint aligned_ofm_line = x_pitch;
    const uint ifm_height_pitch = (i_pitch/aligned_ofm_line);
    const uint aligned_x_line = y_pitch / x_pitch;
    const uint dst_height = i*ifm_height_pitch + y*aligned_x_line + x;
    const uint base_filter_index = x;

    const uint aligned_height = dst_height & 0xfffffffe;
    const uint base_filter_odd = (base_filter_index & 0x1);

    uint slice_id = o / sub_group_size;
    uint id_in_slice = o % sub_group_size;
    uint slice_pitch = 2*sub_group_size;
    uint offset_in_slice = (int)(sub_group_size*base_filter_odd);

    const bool last_line_in_base_filter = (x == (x_size - 1));
    if (last_line_in_base_filter && base_filter_odd == 0)
    {
        const uint element_in_slice = 32;
        slice_id = o / element_in_slice;
        id_in_slice = o % element_in_slice;
        slice_pitch = 2*element_in_slice;
        offset_in_slice = 0;
    }

    const uint in_line = (slice_pitch*slice_id + offset_in_slice + id_in_slice);
    const size_t idx = offset + aligned_height*aligned_ofm_line + in_line;

    return idx;
}

#define GET_FILTER_IY_XS_OS_XSV2_OSV_INDEX(prefix, o, i, y, x, sub_group_size)  \
    FUNC_CALL(get_iy_xs_os_xsv2_osv_index)(                                     \
        o, i, y, x, CAT(prefix, _SIZE_X ),                                      \
        CAT(prefix, _IFM_PITCH),                                                \
        CAT(prefix, _Y_PITCH),                                                  \
        CAT(prefix, _X_PITCH),                                                  \
// Copyright (c) 2016-2017 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

#ifdef ADVANCED_TUTORIAL

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/


#define GET_DATA_INDEX(prefix, b, f, y, x)  \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_INDEX_SAFE(prefix, b, f, y, x)                     \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

 #define GET_3D_DATA_INDEX(prefix, b, f, z, y, x) \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (z)*CAT(prefix, _Z_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_3D_DATA_INDEX_SAFE(prefix, b, f, z, y, x)               \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (z % CAT(prefix, _SIZE_Z     ))*CAT(prefix, _Z_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_BS_FYX_BSV8_INDEX(prefix, b, f, y, x, sub_group_size)  \
    CAT(prefix, _OFFSET) +                                              \
    ((b) % (sub_group_size)) +                                          \
    (sub_group_size)*(                                                  \
        (x)*CAT(prefix, _X_PITCH) +                                     \
        (y)*CAT(prefix, _Y_PITCH) +                                     \
        (f)*CAT(prefix, _FEATURE_PITCH) +                               \
        ((b) / (sub_group_size))*CAT(prefix, _BATCH_PITCH)              \
    )

inline uint FUNC(get_bf8_xy16_index)(uint b, uint f, uint y, uint x, uint x_size, uint y_size, uint f_size, uint offset)
{
    const uint xy_idx = x + y * x_size;
    const uint xy_offset = (xy_idx % 16) + (xy_idx / 16) * 16 * 8;
    const uint xy_block_num = (x_size * y_size + 16 - 1) / 16;
    const uint f_offset = (f % 8) * 16 + (f / 8) * xy_block_num * 16 * 8;
    const uint f_block_num = (f_size + 8 - 1) / 8;
    const uint b_offset = b * f_block_num * xy_block_num * 128;

    const size_t idx = offset + xy_offset + f_offset + b_offset;

    return idx;
}

inline uint FUNC(get_bfyx_f16_index)(
    uint b, uint f, uint y, uint x,
    uint x_size, uint y_size, uint f_size,
    uint y_pad_before,uint y_pad_after,
    uint x_pad_before, uint x_pad_after,
    uint f_pad_before, uint f_pad_after)
{
    const uint feature_slice_size = 16;

    const uint full_width = x_size + x_pad_before + x_pad_after;
    const uint full_height = y_size + y_pad_before + y_pad_after;
    const uint full_features = f_pad_before + f_size + f_pad_after;
    const uint feature_tiles_number = (full_features + feature_slice_size - 1) / feature_slice_size;

    const uint x_pitch = feature_slice_size;
    const uint y_pitch = x_pitch * full_width;
    const uint fs_pitch = y_pitch * full_height;
    const uint b_pitch = fs_pitch * feature_tiles_number;

    const uint x_offset = (x + x_pad_before) * x_pitch;
    const uint y_offset = (y + y_pad_before) * y_pitch;
    const uint fs_offset = (f / feature_slice_size + f_pad_before / feature_slice_size) * fs_pitch;
    const uint b_offset = b * b_pitch;

    const size_t idx = x_offset + y_offset + fs_offset + b_offset + (f % feature_slice_size);

    return idx;
}

#define GET_DATA_BFYX_F16_INDEX(prefix, b, f, y, x)     \
    FUNC_CALL(get_bfyx_f16_index)(                      \
        b, f, y, x,                                     \
        CAT(prefix, _SIZE_X ),                          \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _FEATURE_NUM),                      \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_X),                \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        barrier(CLK_LOCAL_MEM_FENCE);

        __attribute__((opencl_unroll_hint))
        for(uint scratch_offset = LOCAL_SIZE / 2; scratch_offset > 0; scratch_offset /= 2)
        {
            if (local_index < scratch_offset)
            {
                iav_type other = scratch[local_index + scratch_offset];
                iav_type mine = scratch[local_index];

                if(mine.value COMPARE_SIGN other.value)
                {
                    scratch[local_index] = other;
                }
            }
            barrier(CLK_LOCAL_MEM_FENCE);
        }

        if (local_index == 0)
        {
            output[output_index + i] = scratch[0].index;
        }
        global_index = temp_index;
        results[i] = scratch[0].index;
    }
}

#undef COMPARE_SIGN
#undef INPUT0_FILL_VAL
#undef GAP_SIZE
#undef VALUES_NUM
#undef FIRST_DIM_SIZE
#undef SECOND_DIM_SIZE
#undef FIRST_DIM_MUL
#undef SECOND_DIM_MUL
#undef THIRD_DIM_MUL

// Copyright (c) 2018 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)


#define GLOBAL_SIZE 128
#define LOCAL_SIZE GLOBAL_SIZE

#ifdef BATCH_AXIS
    #define GAP_SIZE (INPUT0_FEATURE_NUM * INPUT0_SIZE_X * INPUT0_SIZE_Y)
    #define VALUES_NUM INPUT0_BATCH_NUM
    #define FIRST_DIM_SIZE INPUT0_SIZE_X
    #define SECOND_DIM_SIZE INPUT0_SIZE_Y
    #define FIRST_DIM_MUL 1
    #define SECOND_DIM_MUL INPUT0_SIZE_X
    #define THIRD_DIM_MUL (INPUT0_SIZE_X * INPUT0_SIZE_Y)
#endif
#ifdef FEATURE_AXIS
    #define GAP_SIZE (INPUT0_SIZE_X * INPUT0_SIZE_Y)
    #define VALUES_NUM INPUT0_FEATURE_NUM
    #define FIRST_DIM_SIZE INPUT0_SIZE_X
    #define SECOND_DIM_SIZE INPUT0_SIZE_Y
    #define FIRST_DIM_MUL 1
    #define SECOND_DIM_MUL INPUT0_SIZE_X
    #define THIRD_DIM_MUL (INPUT0_SIZE_X * INPUT0_SIZE_Y * INPUT0_FEATURE_NUM)
#endif
#ifdef Y_AXIS
    #define GAP_SIZE INPUT0_SIZE_X
    #define VALUES_NUM INPUT0_SIZE_Y
    #define FIRST_DIM_SIZE INPUT0_SIZE_X
    #define SECOND_DIM_SIZE INPUT0_FEATURE_NUM
    #define FIRST_DIM_MUL 1
    #define SECOND_DIM_MUL (INPUT0_SIZE_Y * INPUT0_SIZE_X)
    #define THIRD_DIM_MUL (INPUT0_SIZE_X * INPUT0_SIZE_Y * INPUT0_FEATURE_NUM)
#endif
#ifdef X_AXIS
    #define GAP_SIZE 1
    #define VALUES_NUM INPUT0_SIZE_X
    #define FIRST_DIM_SIZE INPUT0_SIZE_Y
    #define SECOND_DIM_SIZE INPUT0_FEATURE_NUM
    #define FIRST_DIM_MUL INPUT0_SIZE_X
    #define SECOND_DIM_MUL (INPUT0_SIZE_Y * INPUT0_SIZE_X)
    #define THIRD_DIM_MUL (INPUT0_SIZE_X * INPUT0_SIZE_Y * INPUT0_FEATURE_NUM)
#endif

#ifdef MAX_OUT
    #define COMPARE_SIGN <
    #define INPUT0_FILL_VAL INPUT0_VAL_MIN
#else
    #define COMPARE_SIGN >
    #define INPUT0_FILL_VAL INPUT0_VAL_MAX
#endif

__attribute__((reqd_work_group_size(LOCAL_SIZE, 1, 1)))
KERNEL(arg_max_gpu_axis)(const __global INPUT0_TYPE* input, __global OUTPUT_TYPE* output)
{
/*
// Copyright (c) 2018 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

/* Index and Value type that holds index and value used in this kernel */

#ifndef IAV_STRUCT_DEFINED
    typedef struct
    {
        uint index;
        INPUT0_TYPE value;
    } iav_type;
    #define IAV_STRUCT_DEFINED
#endif

    uint results[TOP_K];
    __local iav_type scratch[LOCAL_SIZE];
    const uint first_dim_id = (uint)get_global_id(1);
    const uint second_third_dim_id = (uint)get_global_id(2);
    const uint second_dim_id = second_third_dim_id % SECOND_DIM_SIZE;
    const uint third_dim_id = second_third_dim_id / SECOND_DIM_SIZE;
    const uint output_index = (first_dim_id + second_dim_id * FIRST_DIM_SIZE + third_dim_id * FIRST_DIM_SIZE * SECOND_DIM_SIZE) * TOP_K;
    const uint offset = first_dim_id * FIRST_DIM_MUL + second_dim_id * SECOND_DIM_MUL + third_dim_id * THIRD_DIM_MUL;
    uint local_index = get_local_id(0);
    uint global_index = offset + local_index * GAP_SIZE;

    iav_type accumulator;

    uint temp_index = global_index;
    uint start_index = (global_index - offset) / GAP_SIZE;
    __attribute__((opencl_unroll_hint))
    for (uint i = 0; i < TOP_K; i++)
    {
        accumulator.index = start_index;
        accumulator.value = input[global_index];
        for (int j = 0; j < i; j++)
        {
            if (accumulator.index == results[j])
                accumulator.value = INPUT0_FILL_VAL;
        }
        global_index += GLOBAL_SIZE * GAP_SIZE;
        uint element_index = start_index + GLOBAL_SIZE;
        while (global_index < offset + VALUES_NUM * GAP_SIZE)
        {
            iav_type element;
            element.value = input[global_index];
            element.index = element_index;
            for (int j = 0; j < i; j++){
                if (element.index == results[j])
                    element.value = INPUT0_FILL_VAL;
            }
            if(accumulator.value COMPARE_SIGN element.value)
            {
                accumulator.value = element.value;
                accumulator.index = element.index;
            }
            element_index += GLOBAL_SIZE;
            global_index += GLOBAL_SIZE * GAP_SIZE;
        }
        if (local_index < VALUES_NUM)
            scratch[local_index] = accumulator;
        else
            scratch[local_index].value = INPUT0_FILL_VAL;

        {
            output[current_batch * TOP_K + i] = scratch[0].index % size;
        }
        global_index = temp_index;
        results[i] = scratch[0].index % size;
#else
        if (local_index == 0)
        {
            output[current_batch + i*INPUT0_BATCH_NUM] = scratch[0].index / INPUT0_BATCH_NUM;
        }
        global_index = temp_index;
        results[i] = scratch[0].index;
#endif
    }
}

#undef COMPARE_SIGN
#undef INPUT0_FILL_VAL

// Copyright (c) 2018 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)


#define GLOBAL_SIZE 128
#define LOCAL_SIZE GLOBAL_SIZE

#ifdef MAX_OUT
    #define COMPARE_SIGN <
    #define INPUT0_FILL_VAL INPUT0_VAL_MIN
#else
    #define COMPARE_SIGN >
    #define INPUT0_FILL_VAL INPUT0_VAL_MAX
#endif

__attribute__((reqd_work_group_size(LOCAL_SIZE, 1, 1)))
KERNEL(arg_max_gpu_top_k)(const __global INPUT0_TYPE* input, __global OUTPUT_TYPE* output)
{
/*
// Copyright (c) 2018 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

/* Index and Value type that holds index and value used in this kernel */

#ifndef IAV_STRUCT_DEFINED
    typedef struct
    {
        uint index;
        INPUT0_TYPE value;
    } iav_type;
    #define IAV_STRUCT_DEFINED
#endif

    uint results[TOP_K];
    __local iav_type scratch[LOCAL_SIZE];

    const uint current_batch = (uint)get_global_id(1);
    uint local_index = get_local_id(0);
#ifdef INPUT0_LAYOUT_BFYX
    const uint size = INPUT0_SIZE_X * INPUT0_SIZE_Y * INPUT0_FEATURE_NUM;
    const uint batch_offset = current_batch * size;
    uint global_index = batch_offset + local_index;
#else
    const uint size = INPUT0_SIZE_X * INPUT0_SIZE_Y * INPUT0_FEATURE_NUM * INPUT0_BATCH_NUM;
    const uint fyx_size = INPUT0_SIZE_X * INPUT0_SIZE_Y * INPUT0_FEATURE_NUM;
    uint global_index = current_batch + local_index*INPUT0_BATCH_NUM;
#endif

    iav_type accumulator;

    uint temp_index = global_index;

    __attribute__((opencl_unroll_hint))
    for (uint i = 0; i < TOP_K; i++){
        accumulator.index = global_index;
        accumulator.value = input[global_index];
        for (int j = 0; j < i; j++){
            if (accumulator.index % size == results[j])
                accumulator.value = INPUT0_FILL_VAL;
        }
        global_index += GLOBAL_SIZE;
#ifdef INPUT0_LAYOUT_BFYX
            while (global_index < size + batch_offset)
#else
            while (global_index < size)
#endif
        {
            iav_type element;
            element.value = input[global_index];
            element.index = global_index;
            for (int j = 0; j < i; j++){
                if (element.index % size == results[j])
                    element.value = INPUT0_FILL_VAL;
            }
            if(accumulator.value COMPARE_SIGN element.value)
            {
                accumulator.value = element.value;
                accumulator.index = element.index;
            }
#ifdef INPUT0_LAYOUT_BFYX
            global_index += GLOBAL_SIZE;
#else
            global_index += GLOBAL_SIZE * INPUT0_BATCH_NUM;
#endif
        }

#ifdef INPUT0_LAYOUT_BFYX
        if (local_index < size)
            scratch[local_index] = accumulator;
        else
            scratch[local_index].value = INPUT0_FILL_VAL;
#else
        if (local_index < fyx_size)
            scratch[local_index] = accumulator;
        else
            scratch[local_index].value = INPUT0_FILL_VAL;
#endif


        barrier(CLK_LOCAL_MEM_FENCE);

        __attribute__((opencl_unroll_hint))
        for(uint offset = LOCAL_SIZE / 2; offset > 0; offset /= 2)
        {
            if (local_index < offset)
            {
                iav_type other = scratch[local_index + offset];
                iav_type mine = scratch[local_index];

                if(mine.value COMPARE_SIGN other.value)
                {
                    scratch[local_index] = other;
                }
            }
            barrier(CLK_LOCAL_MEM_FENCE);
        }

#ifdef INPUT0_LAYOUT_BFYX
        if (local_index == 0)

    // Write TOP_K sorted results.
    uint ai = 0;
    __attribute__((opencl_unroll_hint))
    for (uint k_base_off = 0; k_base_off + SG_SIZE <= TOP_K; k_base_off += SG_SIZE)
    {
        output[k_base_off + lid] = result[ai++] % input_size;
    }

    const uint k_remainder_off = TOP_K / SG_SIZE * SG_SIZE;
    if (k_remainder_off < TOP_K && lid < TOP_K - k_remainder_off)
    {
        output[k_remainder_off + lid] = result[ai] % input_size;
    }
}


#ifdef SG_SIZE_NEEDSUNDEF_
    #undef SG_SIZE
    #undef SG_SIZE_NEEDSUNDEF_
#endif
#ifdef INB_ARRAY_SIZE_NEEDSUNDEF_
    #undef INB_ARRAY_SIZE
    #undef INB_ARRAY_SIZE_NEEDSUNDEF_
#endif
#ifdef UNIT_FILL_VAL_NEEDSUNDEF_
    #undef UNIT_FILL_VAL
    #undef UNIT_FILL_VAL_NEEDSUNDEF_
#endif
#undef OP_ARG_REL

// Copyright (c) 2018 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)


#ifndef SG_SIZE
    #define SG_SIZE   16
    #define SG_SIZE_NEEDSUNDEF_
#endif
#ifndef INB_ARRAY_SIZE
    #define INB_ARRAY_SIZE   8
    #define INB_ARRAY_SIZE_NEEDSUNDEF_
#endif
#ifndef UNIT_FILL_VAL
    #ifdef MAX_OUT
        #define UNIT_FILL_VAL   UNIT_VAL_MIN
    #else
        #define UNIT_FILL_VAL   UNIT_VAL_MAX
    #endif
    #define UNIT_FILL_VAL_NEEDSUNDEF_
#endif
#if MAX_OUT
    #define OP_ARG_REL   >
#else
    #define OP_ARG_REL   <
#endif


#if SG_SIZE != 8 && SG_SIZE != 16
    #error This kernel does not support specified sub-group size.
#endif
#if TOP_K > INB_ARRAY_SIZE * SG_SIZE || TOP_K <= 0
    #error This kernel does not support specified "TOP_K" JIT parameter.
#endif


__attribute__((intel_reqd_sub_group_size(SG_SIZE)))
__attribute__((reqd_work_group_size(SG_SIZE, 1, 1)))
KERNEL(arg_max_min_opt)(const __global UNIT_TYPE* input, __global uint* output)
{
    const uint input_size = INPUT0_FEATURE_NUM * INPUT0_SIZE_X * INPUT0_SIZE_Y;
    const uint gid = get_group_id(0);
    const uint lid = get_sub_group_local_id();

    UNIT_TYPE input_blocks[INB_ARRAY_SIZE];
    uint indices[INB_ARRAY_SIZE];

    // Read INB_ARRAY_SIZE * SG_SIZE elements (cache them in registers, fill unaligned/unpadded data with
    //                                         UNIT_FILL_VAL).
    //
    // gid * INB_ARRAY_SIZE * SG_SIZE + (INB_ARRAY_SIZE - 1) * SG_SIZE + SG_SIZE - 1 < input_size
    // gid * INB_ARRAY_SIZE * SG_SIZE + INB_ARRAY_SIZE * SG_SIZE <= input_size
    // (gid + 1) * INB_ARRAY_SIZE * SG_SIZE <= input_size
    // (gid + 1) <= input_size / (INB_ARRAY_SIZE * SG_SIZE)   ->   as gid is integral, the floor is not an issue
    if (gid + 1 <= input_size / (INB_ARRAY_SIZE * SG_SIZE))
    {
        __attribute__((opencl_unroll_hint))
        for (uint ai = 0; ai < INB_ARRAY_SIZE; ++ai)
        {
            // Can be exchanged with sub-group block read to INB_ARRAY_SIZE-component vector.
            input_blocks[ai] = input[gid * INB_ARRAY_SIZE * SG_SIZE + ai * SG_SIZE + lid];
            indices[ai] = gid * INB_ARRAY_SIZE * SG_SIZE + ai * SG_SIZE + lid;
        }
    }
    else
    {
        const uint last_gid = input_size / (INB_ARRAY_SIZE * SG_SIZE);

        uint ai = 0;
        __attribute__((opencl_unroll_hint))
        for (uint last_base_off = last_gid * INB_ARRAY_SIZE * SG_SIZE; last_base_off + SG_SIZE <= input_size; last_base_off += SG_SIZE)
        {
            // Can be exchanged with sub-group block read to scalar.
            input_blocks[ai] = input[last_base_off + lid];
            indices[ai++] = last_base_off + lid;
        }

        const uint remainder_off = input_size / SG_SIZE * SG_SIZE;

        if (remainder_off < input_size)
        {
            input_blocks[ai] = lid < input_size - remainder_off ? input[remainder_off + lid] : UNIT_FILL_VAL;
            indices[ai++] = lid < input_size - remainder_off ? remainder_off + lid : 0;
        }

        __attribute__((opencl_unroll_hint))
        for (; ai < INB_ARRAY_SIZE; ++ai)
        {
            input_blocks[ai] = UNIT_FILL_VAL;
        }
    }


    // Sort TOP_K elements (by linear scan and insert).
    const uint minmax_acc_array_size = (TOP_K + SG_SIZE - 1) / SG_SIZE;
    UNIT_TYPE acc[minmax_acc_array_size];
    uint result[minmax_acc_array_size];

    __attribute__((opencl_unroll_hint))
    for (uint ai = 0; ai < minmax_acc_array_size; ++ai)
    {
        acc[ai] = UNIT_FILL_VAL;
        result[ai] = 0;
    }

    //__attribute__((opencl_unroll_hint))
    __attribute__((opencl_unroll_hint(1)))
    for (uint ii = 0; ii < INB_ARRAY_SIZE * SG_SIZE; ++ii)
    {
        UNIT_TYPE in_val = intel_sub_group_shuffle(input_blocks[ii / SG_SIZE], ii % SG_SIZE);
        uint in_index = intel_sub_group_shuffle(input_blocks[ii / SG_SIZE], ii % SG_SIZE);
        __attribute__((opencl_unroll_hint))
        for (uint ai = 0; ai < minmax_acc_array_size; ++ai)
        {
            bool insert_flag = (in_val OP_ARG_REL acc[ai]);
            if (sub_group_any(insert_flag))
            {
                __attribute__((opencl_unroll_hint))
                for (uint aj = minmax_acc_array_size; aj > ai + 1; --aj)
                {
                    acc[aj - 1] = intel_sub_group_shuffle_up(acc[aj - 2], acc[aj - 1], 1);
                    result[aj - 1] = intel_sub_group_shuffle_up(result[aj - 2], acc[aj - 1], 1);
                }
                UNIT_TYPE in_val_acc_mask = select(in_val, acc[ai], insert_flag);
                uint in_index_mask = select(in_index, result[ai], insert_flag);
                acc[ai] = select(acc[ai], intel_sub_group_shuffle_up(in_val, in_val_acc_mask, 1), insert_flag);
                result[ai] = select(result[ai], intel_sub_group_shuffle_up(in_index, in_index_mask, 1), insert_flag);
                break;
            }
        }
    }

arg_max_min_opt        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



KERNEL(average_unpooling_gpu)(const __global UNIT_TYPE* input, __global UNIT_TYPE* output)
{
#if OUTPUT_LAYOUT_BFYX  || OUTPUT_LAYOUT_BYXF
    const uint x    = (uint)get_global_id(0);
    const uint y    = (uint)get_global_id(1);
    const uint bf   = (uint)get_global_id(2);
    const uint f    = bf % INPUT0_FEATURE_NUM;
    const uint b    = bf / INPUT0_FEATURE_NUM;
#elif OUTPUT_LAYOUT_YXFB
    const uint x    = (uint)get_global_id(1);
    const uint y    = (uint)get_global_id(2);
    const uint bf   = (uint)get_global_id(0);
    const uint f    = bf / INPUT0_BATCH_NUM;
    const uint b    = bf % INPUT0_BATCH_NUM;
#endif

    if (x >= INPUT0_SIZE_X)
    {
        return;
    }

    const uint x_begin = x * STRIDE_SIZE_X;
    const uint y_begin = y * STRIDE_SIZE_Y;
    const uint x_end = min((uint)(x_begin + UNPOOL_SIZE_X), (uint)(OUTPUT_SIZE_X));
    const uint y_end = min((uint)(y_begin + UNPOOL_SIZE_Y), (uint)(OUTPUT_SIZE_Y));

    const uint window_x = x_end - x_begin;
    const uint window_y = y_end - y_begin;

    const uint input_offset = GET_DATA_INDEX(INPUT0, b, f, y, x);
    uint out_index = GET_DATA_INDEX(OUTPUT, b, f, y_begin, x_begin);
    UNIT_TYPE out_val = input[input_offset] / (window_x * window_y);

    for(uint j = 0; j < window_y; j++)
    {
        for(uint i = 0; i < window_x; i++)
        {
            output[out_index] += ACTIVATION(out_val, NL_M ,NL_N);
            out_index += OUTPUT_X_PITCH;
        }
        out_index += OUTPUT_Y_PITCH - window_x * OUTPUT_X_PITCH;
    }
}

        sub_group_size)

inline uint FUNC(get_os_is_yx_isa8_osv8_isv4_index)(uint o, uint i, uint y, uint x, uint size_x, uint size_y, uint size_ifm, uint size_ofm, uint offset)
{
    const uint f_32_aligned = ((size_ifm + 31)/32) * 32;
	const uint isv2_idx = i % 4;
	const uint osv_idx = o % 8;
	const uint isv1_idx = (i / 4) % 8;
	const uint is_idx = i / 32;
	const uint os_idx = o / 8;

	size_t idx = offset + isv2_idx + 4 * (osv_idx + 8 * isv1_idx);
	idx += x * 4 * 8 * 8;
	idx += y * size_x * 4 * 8 * 8;
	idx += is_idx * size_y * size_x * 4 * 8 * 8;
	idx += os_idx * (f_32_aligned/32) * size_y * size_x * 4 * 8 * 8;

    return idx;
}

#define GET_FILTER_OS_IS_YX_ISA8_OSV8_ISV4(prefix, o, i, y, x) \
	FUNC_CALL(get_os_is_yx_isa8_osv8_isv4_index)(                               \
        o, i, y, x, CAT(prefix, _SIZE_X ),                                      \
        CAT(prefix, _SIZE_Y),                                                \
        CAT(prefix, _IFM_NUM),                                                  \
        CAT(prefix, _OFM_NUM),                                                  \
        CAT(prefix, _OFFSET))

inline uint FUNC(get_os_is_yx_isa8_osv8_isv4_swizzled_by_4_index)(uint o, uint i, uint y, uint x, uint size_x, uint size_y, uint size_ifm, uint size_ofm, uint offset)
{
    const uint o_swizzled = (o % 4) * 8 + ((o % 32) / 4) + (o / 32) * 32;

    const uint f_32_aligned = ((size_ifm + 31)/32) * 32;
	const uint isv2_idx = i % 4;
	const uint osv_idx = o_swizzled % 8;
	const uint isv1_idx = (i / 4) % 8;
	const uint is_idx = i / 32;
	const uint os_idx = o_swizzled / 8;

	size_t idx = offset + isv2_idx + 4 * (osv_idx + 8 * isv1_idx);
	idx += x * 4 * 8 * 8;
	idx += y * size_x * 4 * 8 * 8;
	idx += is_idx * size_y * size_x * 4 * 8 * 8;
	idx += os_idx * (f_32_aligned/32) * size_y * size_x * 4 * 8 * 8;

    return idx;
}

#define GET_FILTER_OS_IS_YX_ISA8_OSV8_ISV4_SWIZZLED_BY_4_INDEX(prefix, o, i, y, x) \
	FUNC_CALL(get_os_is_yx_isa8_osv8_isv4_swizzled_by_4_index)(                    \
        o, i, y, x, CAT(prefix, _SIZE_X ),                                      \
        CAT(prefix, _SIZE_Y),                                                \
        CAT(prefix, _IFM_NUM),                                                  \
        CAT(prefix, _OFM_NUM),                                                  \
        CAT(prefix, _OFFSET))


inline uint FUNC(get_is_o_yx_isv32_index)(uint o, uint i, uint y, uint x, uint i_size, uint o_size, uint x_size, uint y_size)
{
    const uint i_aligned_to_32 = ((i_size + 31) / 32) * 32;
    const uint i_val = i % 32;
    const uint i_slice = i / 32;
    const size_t idx = i_val + 32* (x + x_size * (y + y_size * (o + o_size * i_slice) ) );
    return idx;
}

#define GET_FILTER_IS_O_YX_ISV32(prefix, o, i, y, x)\
    FUNC_CALL(get_is_o_yx_isv32_index)(\
        o, i, y, x, CAT(prefix, _IFM_NUM),\
        CAT(prefix, _OFM_NUM),\
        CAT(prefix, _SIZE_X),\
        CAT(prefix, _SIZE_Y))

inline uint FUNC(get_is_o32_yx_isv32_swizzled_by_4_index)(uint o, uint i, uint y, uint x, uint i_size, uint o_size, uint x_size, uint y_size)
{
    const uint o_aligned_to_32 = ((o_size + 31) / 32) * 32;
    const uint o_swizzled = (o % 4) * 8 + ((o % 32) / 4) + (o / 32) * 32;
    const uint i_aligned_to_32 = ((i_size + 31) / 32) * 32;
    const uint i_val = i % 32;
    const uint i_slice = i / 32;
    const size_t idx = i_val + 32* (x + x_size * (y + y_size * (o_swizzled + o_aligned_to_32 * i_slice) ) );
    return idx;
}

#define GET_FILTER_IS_O32_YX_ISV32_SWIZZLED_BY_4(prefix, o, i, y, x)\
    FUNC_CALL(get_is_o32_yx_isv32_swizzled_by_4_index)(\
        o, i, y, x, CAT(prefix, _IFM_NUM),\
        CAT(prefix, _OFM_NUM),\
        CAT(prefix, _SIZE_X),\
        CAT(prefix, _SIZE_Y))

inline uint FUNC(get_os_is_y_x8_osv8_isv4_index)(uint o, uint i, uint y, uint x, uint i_size, uint o_size, uint x_size, uint y_size)
{
    const uint i_aligned_to_4 = ((i_size + 3) / 4) * 4;
    const uint o_aligned_to_8 = ((o_size + 7) / 8) * 8;
    const uint x_aligned_to_8 = ((x_size + 7) / 8) * 8;
    const uint i_val = i % 4;
    const uint i_slice = i / 4;
    const uint o_val = o % 8;
    const uint o_slice = o / 8;
    const size_t idx = i_val + 4 * (o_val + 8 * ( x + x_aligned_to_8 * (y + y_size * (i_slice + (i_aligned_to_4/4) * (o_slice)))));
    return idx;
}

#define GET_FILTER_OS_IS_Y_X8_OSV8_ISV4(prefix, o, i, y, x)\
    FUNC_CALL(get_os_is_y_x8_osv8_isv4_index)(\
        o, i, y, x, CAT(prefix, _IFM_NUM),\
        CAT(prefix, _OFM_NUM),\
        CAT(prefix, _SIZE_X),\
        CAT(prefix, _SIZE_Y))

inline uint FUNC(get_os_is_y_x8_osv8_isv4_swizzled_by_4_index)(uint o, uint i, uint y, uint x, uint i_size, uint o_size, uint x_size, uint y_size)
{
    const uint i_aligned_to_4 = ((i_size + 3) / 4) * 4;
    const uint o_aligned_to_8 = ((o_size + 7) / 8) * 8;
    const uint x_aligned_to_8 = ((x_size + 7) / 8) * 8;
    const uint i_val = i % 4;
    const uint i_slice = i / 4;
    const uint o_swizzled = (o % 4) * 8 + ((o % 32) / 4) + (o / 32) * 32;
    const uint o_val = o_swizzled % 8;
    const uint o_slice = o_swizzled / 8;
    const size_t idx = i_val + 4 * (o_val + 8 * ( x + x_aligned_to_8 * (y + y_size * (i_slice + (i_aligned_to_4/4) * (o_slice)))));
    return idx;
}

#define GET_FILTER_OS_IS_Y_X8_OSV8_ISV4_SWIZZLED_BY_4(prefix, o, i, y, x)\
    FUNC_CALL(get_os_is_y_x8_osv8_isv4_swizzled_by_4_index)(\
        o, i, y, x, CAT(prefix, _IFM_NUM),\
        CAT(prefix, _OFM_NUM),\
        CAT(prefix, _SIZE_X),\
        CAT(prefix, _SIZE_Y))


#define GET_DATA_B_FS_YX_FSV4_INDEX(prefix, o, i, y, x)\
    FUNC_CALL(get_b_fs_yx_fsv4)(\
        o, i, y, x,\
        CAT(prefix, _FEATURE_NUM),\
        CAT(prefix, _PAD_BEFORE_SIZE_Y), CAT(prefix, _SIZE_Y), CAT(prefix, _PAD_AFTER_SIZE_Y),\
        CAT(prefix, _PAD_BEFORE_SIZE_X), CAT(prefix, _SIZE_X), CAT(prefix, _PAD_AFTER_SIZE_X))

inline uint FUNC(get_b_fs_yx_fsv4)(uint o, uint i, uint y, uint x,
                                   uint feature_num,
                                   uint pad_before_size_y, uint size_y, uint pad_after_size_y,
                                   uint pad_before_size_x, uint size_x, uint pad_after_size_x)
{
    const uint tile = 4;
    uint id_tile = i / tile;
    uint id      = i - id_tile * tile;

    const uint feature_num_aligned4 = ((feature_num + 3) / 4) * 4;

    uint idx = o * (feature_num_aligned4 / tile) *
                   (pad_before_size_y + size_y + pad_after_size_y) *
                   (pad_before_size_x + size_x + pad_after_size_x) * tile
               + id_tile * (pad_before_size_y + size_y + pad_after_size_y) *
                           (pad_before_size_x + size_x + pad_after_size_x) * tile
               + pad_before_size_y * (pad_before_size_x + size_x + pad_after_size_x) * tile
               + y * (pad_before_size_x + size_x + pad_after_size_x) * tile
               + pad_before_size_x * tile
               + x * tile
               + id;

    return idx;
}

#define GET_FILTER_OS_IS_YX_OSV16_ISV4_INDEX(prefix, o, i, y, x)\
    FUNC_CALL(get_os_is_yx_osv16_isv4)(\
        o, i, y, x,\
        CAT(prefix, _IFM_PITCH),\
        CAT(prefix, _OFM_PITCH),\
        CAT(prefix, _SIZE_X))

inline uint FUNC(get_os_is_yx_osv16_isv4)(uint o, uint i, uint y, uint x,
                                          uint i_size,
                                          uint o_size,
                                          uint x_size)
{
    const uint otd = 16;
    uint out_depth_tile = o / otd;
    uint od             = o - out_depth_tile * otd;

    const uint tile = 4;
    uint id_tile = i / tile;
    uint id      = i - id_tile * tile;

    uint idx = out_depth_tile * (o_size / tile) * otd * tile
               + id_tile               * i_size * otd * tile
               + y                     * x_size * otd * tile
               + x                              * otd * tile
               + od                                   * tile
               + id;

    return idx;
}

#define GET_DATA_FS_B_YX_FSV32_INDEX(prefix, b, f, y, x)\
    FUNC_CALL(get_fs_b_yx_fsv32_index)(                 \
        b, f, y, x,                                     \
        CAT(prefix, _PAD_BEFORE_SIZE_X),                \
        CAT(prefix, _SIZE_X),                           \
        CAT(prefix, _PAD_AFTER_FEATURE_NUM))

#define GET_FILTER_O_I_YX_I16_O16_INDEX(prefix, o, i, y, x, sub_group_size)  \
    CAT(prefix, _OFFSET) +                                                   \
    ((o) % (sub_group_size)) +                                               \
    (sub_group_size)*(                                                       \
        (x)*(sub_group_size)*CAT(prefix, _X_PITCH) +                         \
        (y)*(sub_group_size)*CAT(prefix, _Y_PITCH) +                         \
        ((i) % (sub_group_size)) +                                           \
        ((i) / (sub_group_size))*(sub_group_size)*CAT(prefix, _IFM_PITCH) +  \
        ((o) / (sub_group_size))*CAT(prefix, _OFM_PITCH)                     \
    )

inline uint FUNC(get_byxf_af32_index)(uint b, uint f, uint y, uint x, uint y_pitch, uint b_pitch, uint f_size, uint offset)
{
	const uint f_aligned_to_32 = ((f_size + 31) / 32) * 32;
	const uint b_offset = b * b_pitch;
	const uint xy_offset = f_aligned_to_32 * x + y_pitch * y;
	const uint f_offset = f;
	const size_t idx = offset + xy_offset + b_offset + f_offset;
	return idx;
}

#define GET_DATA_BYXF_AF32_INDEX(prefix, b, f, y, x)\
	FUNC_CALL(get_byxf_af32_index)(                 \
		b, f, y, x, CAT(prefix, _Y_PITCH),          \
		CAT(prefix, _BATCH_PITCH),                      \
		CAT(prefix, _FEATURE_NUM),                 \
		CAT(prefix, _OFFSET))

inline uint FUNC(get_byx8_f4_index)(uint b, uint f, uint y, uint x,
    uint x_pitch, uint y_pitch, uint b_pitch, uint f_size, uint x_size, uint offset)
{
    const uint f_aligned_to_4 = ((f_size + 3) / 4) * 4;
    const uint x_aligned_to_8 = ((x_size + 7) / 8) * 8;
    const uint b_offset = b * b_pitch;
    const uint xy_offset = x * x_pitch + y * y_pitch;
    const uint f_offset = f;
    const size_t idx = offset + xy_offset + b_offset + f_offset;
    return idx;
}

#define GET_DATA_BYX8_F4_INDEX(prefix, b, f, y, x)\
	FUNC_CALL(get_byx8_f4_index)(                 \
		b, f, y, x, CAT(prefix, _X_PITCH),          \
		CAT(prefix, _Y_PITCH),                      \
		CAT(prefix, _BATCH_PITCH),                      \
		CAT(prefix, _FEATURE_NUM),                 \
		CAT(prefix, _SIZE_X),                 \
		CAT(prefix, _OFFSET))

#define GET_DATA_BF8_XY16_INDEX(prefix, b, f, y, x)     \
    FUNC_CALL(get_bf8_xy16_index)(                      \
        b, f, y, x, CAT(prefix, _SIZE_X ),              \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _FEATURE_NUM),                      \
        CAT(prefix, _OFFSET))

inline uint FUNC(get_fs_bs_yx_bsv4_fsv32_index)(uint b, uint f, uint y, uint x,
    uint x_pad_before, uint x_size, uint x_pad_after,
    uint y_pad_before, uint y_size, uint y_pad_after,
    uint size_f, uint size_b)
{
    const uint f_32_aligned = ((size_f + 31)/32) * 32;
    const uint b_4_aligned = ((size_b + 3)/4) * 4;
    const uint fsv_idx = f % 32;
    const uint bsv_idx = b % 4;
    const uint fs_idx = f / 32;
    const uint bs_idx = b / 4;

    const uint x_pitch = 32 * 4;
    const uint y_pitch = 32 * 4 * (x_pad_before + x_size + x_pad_after);
    const uint bs_pitch = y_pitch * (y_pad_before + y_size + y_pad_after);
    const uint fs_pitch = bs_pitch * (b_4_aligned / 4);
    uint offset = x_pitch * x_pad_before + y_pitch * y_pad_before;

    size_t idx = offset + fsv_idx + bsv_idx * 32;
    idx += 32*4 * x;
    idx += y * y_pitch;
    idx += bs_idx * bs_pitch;
    idx += fs_idx * fs_pitch;

    return idx;
}

#define GET_DATA_FS_BS_YX_BSV4_FSV32_INDEX(prefix, b, f, y, x)\
	FUNC_CALL(get_fs_bs_yx_bsv4_fsv32_index)(       \
		b, f, y, x,                                 \
        CAT(prefix, _PAD_BEFORE_SIZE_X),            \
        CAT(prefix, _SIZE_X),                       \
        CAT(prefix, _PAD_AFTER_SIZE_X),             \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),            \
        CAT(prefix, _SIZE_Y),                       \
        CAT(prefix, _PAD_AFTER_SIZE_Y),             \
		CAT(prefix, _FEATURE_NUM),                  \
        CAT(prefix, _BATCH_NUM))

#define GET_FILTER_INDEX(prefix, o, i, y, x)    \
    CAT(prefix, _OFFSET) +                      \
    (x)*CAT(prefix, _X_PITCH) +                 \
    (y)*CAT(prefix, _Y_PITCH) +                 \
    (i)*CAT(prefix, _IFM_PITCH) +               \
    (o)*CAT(prefix, _OFM_PITCH)

#define GET_FILTER_INDEX_SAFE(prefix, o, i, y, x)           \
    CAT(prefix, _OFFSET) +                                  \
    (x % CAT(prefix, _SIZE_X ))*CAT(prefix, _X_PITCH) +     \
    (y % CAT(prefix, _SIZE_Y ))*CAT(prefix, _Y_PITCH) +     \
    (i % CAT(prefix, _IFM_NUM))*CAT(prefix, _IFM_PITCH) +   \
    (o % CAT(prefix, _OFM_NUM))*CAT(prefix, _OFM_PITCH)

#define GET_FILTER_OS_IYX_OSV8_INDEX(prefix, o, i, y, x, sub_group_size)    \
    CAT(prefix, _OFFSET) +                                                  \
    ((o) % (sub_group_size)) +                                              \
    (sub_group_size)*(                                                      \
        (x)*CAT(prefix, _X_PITCH) +                                         \
        (y)*CAT(prefix, _Y_PITCH) +                                         \
        (i)*CAT(prefix, _IFM_PITCH) +                                       \
        ((o) / (sub_group_size))*CAT(prefix, _OFM_PITCH)                    \
    )

#define GET_FILTER_OS_IYX_OSV8_ROTATE_180_INDEX(prefix, o, i, y, x, sub_group_size)    \
    CAT(prefix, _OFFSET) +                                                  \
    ((o) % (sub_group_size)) +                                              \
    (sub_group_size)*(                                                      \
        (CAT(prefix, _SIZE_X ) - x - 1)*CAT(prefix, _X_PITCH) +             \
        (CAT(prefix, _SIZE_Y ) - y - 1)*CAT(prefix, _Y_PITCH) +             \
        (i)*CAT(prefix, _IFM_PITCH) +                                       \
        ((o) / (sub_group_size))*CAT(prefix, _OFM_PITCH)                    \
    )

inline uint FUNC(get_i_yxs_os_yxsv2_osv_index)(uint o, uint i, uint y, uint x, uint x_size, uint i_pitch, uint y_pitch, uint x_pitch, uint offset, uint sub_group_size)
{
    const uint aligned_ofm_line = x_pitch;
    const uint ifm_height_pitch = (i_pitch/aligned_ofm_line);
    const uint dst_height = i*ifm_height_pitch + y*x_size + x;
    const uint base_filter_index = y*x_size + x;

    const uint aligned_height = dst_height & 0xfffffffe;
    const uint base_filter_odd = (base_filter_index & 0x1);

    uint slice_id = o / sub_group_size;
    uint id_in_slice = o % sub_group_size;
    uint slice_pitch = 2*sub_group_size;
    uint offset_in_slice = (int)(sub_group_size*base_filter_odd);

    const uint in_line = (slice_pitch*slice_id + offset_in_slice + id_in_slice);
    const size_t idx = offset + aligned_height*aligned_ofm_line + in_line;

    return idx;
}

#define GET_FILTER_I_YXS_OS_YXSV2_OSV_INDEX(prefix, o, i, y, x, sub_group_size) \
    FUNC_CALL(get_i_yxs_os_yxsv2_osv_index)(                                    \
        o, i, y, x, CAT(prefix, _SIZE_X ),                                      \
        CAT(prefix, _IFM_PITCH),                                                \
        CAT(prefix, _Y_PITCH),                                                  \
        CAT(prefix, _X_PITCH),                                                  \
        CAT(prefix, _OFFSET),                                                   \
        sub_group_size)

inline uint FUNC(get_iy_xs_os_xsv2_osv_index)(uint o, uint i, uint y, uint x, uint x_size, uint i_pitch, uint y_pitch, uint x_pitch, uint offset, uint sub_group_size)
{
    const uint aligned_ofm_line = x_pitch;
    const uint ifm_height_pitch = (i_pitch/aligned_ofm_line);
    const uint aligned_x_line = y_pitch / x_pitch;
    const uint dst_height = i*ifm_height_pitch + y*aligned_x_line + x;
    const uint base_filter_index = x;

    const uint aligned_height = dst_height & 0xfffffffe;
    const uint base_filter_odd = (base_filter_index & 0x1);

    uint slice_id = o / sub_group_size;
    uint id_in_slice = o % sub_group_size;
    uint slice_pitch = 2*sub_group_size;
    uint offset_in_slice = (int)(sub_group_size*base_filter_odd);

    const bool last_line_in_base_filter = (x == (x_size - 1));
    if (last_line_in_base_filter && base_filter_odd == 0)
    {
        const uint element_in_slice = 32;
        slice_id = o / element_in_slice;
        id_in_slice = o % element_in_slice;
        slice_pitch = 2*element_in_slice;
        offset_in_slice = 0;
    }

    const uint in_line = (slice_pitch*slice_id + offset_in_slice + id_in_slice);
    const size_t idx = offset + aligned_height*aligned_ofm_line + in_line;

    return idx;
}

#define GET_FILTER_IY_XS_OS_XSV2_OSV_INDEX(prefix, o, i, y, x, sub_group_size)  \
    FUNC_CALL(get_iy_xs_os_xsv2_osv_index)(                                     \
        o, i, y, x, CAT(prefix, _SIZE_X ),                                      \
        CAT(prefix, _IFM_PITCH),                                                \
        CAT(prefix, _Y_PITCH),                                                  \
        CAT(prefix, _X_PITCH),                                                  \
        CAT(prefix, _OFFSET),                                                   \
// Copyright (c) 2018 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/


#define GET_DATA_INDEX(prefix, b, f, y, x)  \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_INDEX_SAFE(prefix, b, f, y, x)                     \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

 #define GET_3D_DATA_INDEX(prefix, b, f, z, y, x) \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (z)*CAT(prefix, _Z_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_3D_DATA_INDEX_SAFE(prefix, b, f, z, y, x)               \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (z % CAT(prefix, _SIZE_Z     ))*CAT(prefix, _Z_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_BS_FYX_BSV8_INDEX(prefix, b, f, y, x, sub_group_size)  \
    CAT(prefix, _OFFSET) +                                              \
    ((b) % (sub_group_size)) +                                          \
    (sub_group_size)*(                                                  \
        (x)*CAT(prefix, _X_PITCH) +                                     \
        (y)*CAT(prefix, _Y_PITCH) +                                     \
        (f)*CAT(prefix, _FEATURE_PITCH) +                               \
        ((b) / (sub_group_size))*CAT(prefix, _BATCH_PITCH)              \
    )

inline uint FUNC(get_bf8_xy16_index)(uint b, uint f, uint y, uint x, uint x_size, uint y_size, uint f_size, uint offset)
{
    const uint xy_idx = x + y * x_size;
    const uint xy_offset = (xy_idx % 16) + (xy_idx / 16) * 16 * 8;
    const uint xy_block_num = (x_size * y_size + 16 - 1) / 16;
    const uint f_offset = (f % 8) * 16 + (f / 8) * xy_block_num * 16 * 8;
    const uint f_block_num = (f_size + 8 - 1) / 8;
    const uint b_offset = b * f_block_num * xy_block_num * 128;

    const size_t idx = offset + xy_offset + f_offset + b_offset;

    return idx;
}

inline uint FUNC(get_bfyx_f16_index)(
    uint b, uint f, uint y, uint x,
    uint x_size, uint y_size, uint f_size,
    uint y_pad_before,uint y_pad_after,
    uint x_pad_before, uint x_pad_after,
    uint f_pad_before, uint f_pad_after)
{
    const uint feature_slice_size = 16;

    const uint full_width = x_size + x_pad_before + x_pad_after;
    const uint full_height = y_size + y_pad_before + y_pad_after;
    const uint full_features = f_pad_before + f_size + f_pad_after;
    const uint feature_tiles_number = (full_features + feature_slice_size - 1) / feature_slice_size;

    const uint x_pitch = feature_slice_size;
    const uint y_pitch = x_pitch * full_width;
    const uint fs_pitch = y_pitch * full_height;
    const uint b_pitch = fs_pitch * feature_tiles_number;

    const uint x_offset = (x + x_pad_before) * x_pitch;
    const uint y_offset = (y + y_pad_before) * y_pitch;
    const uint fs_offset = (f / feature_slice_size + f_pad_before / feature_slice_size) * fs_pitch;
    const uint b_offset = b * b_pitch;

    const size_t idx = x_offset + y_offset + fs_offset + b_offset + (f % feature_slice_size);

    return idx;
}

#define GET_DATA_BFYX_F16_INDEX(prefix, b, f, y, x)     \
    FUNC_CALL(get_bfyx_f16_index)(                      \
        b, f, y, x,                                     \
        CAT(prefix, _SIZE_X ),                          \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _FEATURE_NUM),                      \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_X),                \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



#define LOCAL_SIZE INPUT0_BATCH_NUM

__attribute__((reqd_work_group_size(LOCAL_SIZE, 1, 1)))
KERNEL(batch_norm_gpu)(
    const __global UNIT_TYPE* input,
	#ifdef MEAN_VAR_OUT
		__global UNIT_TYPE* mean_out,
		__global UNIT_TYPE* variance_out,
	#endif
	#ifdef SCALE_SHIFT
	     __global UNIT_TYPE* scale,
		 __global UNIT_TYPE* shift,
	#endif
	#ifdef FORWARD
		__global UNIT_TYPE* inv_var,
	#endif
       __global UNIT_TYPE* output)
{
    __local ACCUMULATOR_TYPE sum[LOCAL_SIZE];

    const uint local_idx = (uint)get_global_id(0);
    const uint f = (uint)get_global_id(1);

    sum[local_idx] = 0;

    uint input_idx = GET_DATA_INDEX(INPUT0, local_idx, f, 0, 0);
    for (uint y = 0; y < INPUT0_SIZE_Y; y++)
    {
        for (uint x = 0; x < INPUT0_SIZE_X; x++)
        {
            UNIT_TYPE in = input[input_idx];
            sum[local_idx] += in;
            input_idx += INPUT0_X_PITCH;
        }
        input_idx += INPUT0_Y_PITCH - INPUT0_SIZE_X * INPUT0_X_PITCH;
    }

    barrier(CLK_LOCAL_MEM_FENCE);

    for(uint offset = LOCAL_SIZE / 2; offset > 0; offset /= 2)
    {
        if (local_idx < offset)
        {
            sum[local_idx] += sum[local_idx + offset];
        }
        barrier(CLK_LOCAL_MEM_FENCE);
    }

    UNIT_TYPE mean = sum[0] / (OUTPUT_BATCH_NUM * OUTPUT_SIZE_X * OUTPUT_SIZE_Y);
#ifdef MEAN_VAR_OUT
		mean_out[f] = mean;
#endif
    sum[local_idx] = 0;

    input_idx = GET_DATA_INDEX(INPUT0, local_idx, f, 0, 0);
    for (uint y = 0; y < INPUT0_SIZE_Y; y++)
    {
        for (uint x = 0; x < INPUT0_SIZE_X; x++)
        {
            UNIT_TYPE in = input[input_idx] - mean;
            sum[local_idx] += in * in;
            input_idx += INPUT0_X_PITCH;
        }
        input_idx += INPUT0_Y_PITCH - INPUT0_SIZE_X * INPUT0_X_PITCH;
    }

    barrier(CLK_LOCAL_MEM_FENCE);

    for(uint offset = LOCAL_SIZE / 2; offset > 0; offset /= 2)
    {
        if (local_idx < offset)
        {
            sum[local_idx] += sum[local_idx + offset];
        }
        barrier(CLK_LOCAL_MEM_FENCE);
    }

    float variance = sum[0] / (OUTPUT_BATCH_NUM * OUTPUT_SIZE_X * OUTPUT_SIZE_Y);
#ifdef MEAN_VAR_OUT
	variance_out[f] = variance;
#endif
    float inv_variance = (float)(1.0 / sqrt(variance + EPSILON));
#ifdef FORWARD
    if (local_idx == 0)
        inv_var[f] = inv_variance;
#endif

    uint out_idx = GET_DATA_INDEX(OUTPUT, local_idx, f, 0, 0);
    for (uint y = 0; y < OUTPUT_SIZE_Y; y++)
    {
        for (uint x = 0; x < OUTPUT_SIZE_X; x++)
        {
			#ifdef SCALE_SHIFT
				output[out_idx] = (inv_variance * (input[out_idx] - mean)) * scale[f] + shift[f];
			#else
				output[out_idx] = inv_variance * (input[out_idx] - mean);
			#endif
            out_idx += OUTPUT_X_PITCH;
        }
        out_idx += OUTPUT_Y_PITCH - OUTPUT_SIZE_X * OUTPUT_X_PITCH;
    }
}

#undef LOCAL_SIZE

        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



#define LOCAL_SIZE INPUT0_BATCH_NUM

__attribute__((reqd_work_group_size(LOCAL_SIZE, 1, 1)))
KERNEL(batch_norm_grad_gpu)(const __global UNIT_TYPE* input_grad, __global UNIT_TYPE* input, __global UNIT_TYPE* inv_var,  __global UNIT_TYPE* output)
{
    __local ACCUMULATOR_TYPE grad_sum[LOCAL_SIZE];
    __local ACCUMULATOR_TYPE grad_sum_in[LOCAL_SIZE];

    const uint local_idx = (uint)get_local_id(0);
    const uint f = (uint)get_global_id(1);

    grad_sum[local_idx] = 0;
    grad_sum_in[local_idx] = 0;

    uint grad_idx = GET_DATA_INDEX(INPUT0, local_idx, f, 0, 0);
    for (uint y = 0; y < INPUT0_SIZE_Y; y++)
    {
        for (uint x = 0; x < INPUT0_SIZE_X; x++)
        {
            UNIT_TYPE in_g = input_grad[grad_idx];
            grad_sum[local_idx] += in_g;
            grad_sum_in[local_idx] += in_g * input[grad_idx];
            grad_idx += INPUT0_X_PITCH;
        }
        grad_idx += INPUT0_Y_PITCH - INPUT0_SIZE_X * INPUT0_X_PITCH;
    }

    barrier(CLK_LOCAL_MEM_FENCE);

    for(uint offset = LOCAL_SIZE / 2; offset > 0; offset /= 2)
    {
        if (local_idx < offset)
        {
            grad_sum[local_idx] += grad_sum[local_idx + offset];
            grad_sum_in[local_idx] += grad_sum_in[local_idx + offset];
        }
        barrier(CLK_LOCAL_MEM_FENCE);
    }

    UNIT_TYPE grad_mean = grad_sum[0] / (OUTPUT_BATCH_NUM * OUTPUT_SIZE_X * OUTPUT_SIZE_Y);
    UNIT_TYPE grad_mean_in = grad_sum_in[0] / (OUTPUT_BATCH_NUM * OUTPUT_SIZE_X * OUTPUT_SIZE_Y);

    uint out_idx = GET_DATA_INDEX(OUTPUT, local_idx, f, 0, 0);
    for (uint y = 0; y < OUTPUT_SIZE_Y; y++)
    {
        for (uint x = 0; x < OUTPUT_SIZE_X; x++)
        {
            UNIT_TYPE grad_out = inv_var[f] * (input_grad[out_idx] - grad_mean - grad_mean_in * input[out_idx]);

            if (grad_out > 5.0f)
                grad_out = 5.0f;
            else if (grad_out < -5.0f)
                grad_out = -5.0f;

            output[out_idx] = grad_out;
            out_idx += OUTPUT_X_PITCH;
        }
        out_idx += OUTPUT_Y_PITCH - OUTPUT_SIZE_X * OUTPUT_X_PITCH;
    }

}

#undef LOCAL_SIZE

        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif




KERNEL(border_gpu_ref)(
    const __global UNIT_TYPE* input,
    __global UNIT_TYPE* output)
{
    // [CONSTEXPR]
    // Border sizes (left-top set and right-bottom set):
    const uint blt_sx = LT_SIZES_SIZE_X;
    const uint blt_sy = LT_SIZES_SIZE_Y;
    const uint blt_sf = LT_SIZES_FEATURE_NUM;
    const uint blt_sb = LT_SIZES_BATCH_NUM;

    const uint brb_sx = RB_SIZES_SIZE_X;
    const uint brb_sy = RB_SIZES_SIZE_Y;
    const uint brb_sf = RB_SIZES_FEATURE_NUM;
    const uint brb_sb = RB_SIZES_BATCH_NUM;

    // Input sizes:
    const uint in_sx = INPUT0_SIZE_X;
    const uint in_sy = INPUT0_SIZE_Y;
    const uint in_sf = INPUT0_FEATURE_NUM;
    const uint in_sb = INPUT0_BATCH_NUM;

    // Input limits (exclusive; tested on output position):
    const uint in_lx = in_sx + blt_sx;
    const uint in_ly = in_sy + blt_sy;
    const uint in_lf = in_sf + blt_sf;
    const uint in_lb = in_sb + blt_sb;


    const uint out_x  = (uint) get_global_id(0);
    const uint out_y  = (uint) get_global_id(1);
    const uint out_fb = (uint) get_global_id(2);

    const uint out_f  = out_fb % OUTPUT_FEATURE_NUM;
    const uint out_b  = out_fb / OUTPUT_FEATURE_NUM;

#ifdef BORDER_TYPE_CONSTANT
    UNIT_TYPE in_val = TO_UNIT_TYPE(BORDER_VALUE);
    if (out_x >= blt_sx & out_x < in_lx &
        out_y >= blt_sy & out_y < in_ly &
        out_f >= blt_sf & out_f < in_lf &
        out_b >= blt_sb & out_b < in_lb)
    {
        const uint in_x = out_x - blt_sx;
        const uint in_y = out_y - blt_sy;
        const uint in_f = out_f - blt_sf;
        const uint in_b = out_b - blt_sb;

        const uint in_pos = GET_DATA_INDEX(INPUT0, in_b, in_f, in_y, in_x);
        in_val = input[in_pos];
    }
#elif defined BORDER_TYPE_EDGE
    const uint in_x = (out_x >= blt_sx & out_x < in_lx) ? out_x - blt_sx : (out_x < blt_sx ? 0 : in_sx - 1);
    const uint in_y = (out_y >= blt_sy & out_y < in_ly) ? out_y - blt_sy : (out_y < blt_sy ? 0 : in_sy - 1);
    const uint in_f = (out_f >= blt_sf & out_f < in_lf) ? out_f - blt_sf : (out_f < blt_sf ? 0 : in_sf - 1);
    const uint in_b = (out_b >= blt_sb & out_b < in_lb) ? out_b - blt_sb : (out_b < blt_sb ? 0 : in_sb - 1);

    const uint in_pos = GET_DATA_INDEX(INPUT0, in_b, in_f, in_y, in_x);
    UNIT_TYPE in_val = input[in_pos];
#elif defined BORDER_TYPE_MIRROR
    const uint in_x = (out_x >= blt_sx & out_x < in_lx) ? out_x - blt_sx : (out_x < blt_sx ? blt_sx - 1 - out_x : in_sx + in_lx - 1 - out_x);
    const uint in_y = (out_y >= blt_sy & out_y < in_ly) ? out_y - blt_sy : (out_y < blt_sy ? blt_sy - 1 - out_y : in_sy + in_ly - 1 - out_y);
    const uint in_f = (out_f >= blt_sf & out_f < in_lf) ? out_f - blt_sf : (out_f < blt_sf ? blt_sf - 1 - out_f : in_sf + in_lf - 1 - out_f);
    const uint in_b = (out_b >= blt_sb & out_b < in_lb) ? out_b - blt_sb : (out_b < blt_sb ? blt_sb - 1 - out_b : in_sb + in_lb - 1 - out_b);

    const uint in_pos = GET_DATA_INDEX(INPUT0, in_b, in_f, in_y, in_x);
    UNIT_TYPE in_val = input[in_pos];
#elif defined BORDER_TYPE_MIRROR_101
    const uint in_x = (out_x >= blt_sx & out_x < in_lx) ? out_x - blt_sx : (out_x < blt_sx ? blt_sx - out_x : in_sx + in_lx - 2 - out_x);
    const uint in_y = (out_y >= blt_sy & out_y < in_ly) ? out_y - blt_sy : (out_y < blt_sy ? blt_sy - out_y : in_sy + in_ly - 2 - out_y);
    const uint in_f = (out_f >= blt_sf & out_f < in_lf) ? out_f - blt_sf : (out_f < blt_sf ? blt_sf - out_f : in_sf + in_lf - 2 - out_f);
    const uint in_b = (out_b >= blt_sb & out_b < in_lb) ? out_b - blt_sb : (out_b < blt_sb ? blt_sb - out_b : in_sb + in_lb - 2 - out_b);

    const uint in_pos = GET_DATA_INDEX(INPUT0, in_b, in_f, in_y, in_x);
    UNIT_TYPE in_val = input[in_pos];
#else
    #error Unsupported border type.
#endif

    const uint out_pos = GET_DATA_INDEX(OUTPUT, out_b, out_f, out_y, out_x);
    output[out_pos] = in_val;
}


inline uint FUNC(get_os_is_yx_isa8_osv8_isv4_index)(uint o, uint i, uint y, uint x, uint size_x, uint size_y, uint size_ifm, uint size_ofm, uint offset)
{
    const uint f_32_aligned = ((size_ifm + 31)/32) * 32;
	const uint isv2_idx = i % 4;
	const uint osv_idx = o % 8;
	const uint isv1_idx = (i / 4) % 8;
	const uint is_idx = i / 32;
	const uint os_idx = o / 8;

	size_t idx = offset + isv2_idx + 4 * (osv_idx + 8 * isv1_idx);
	idx += x * 4 * 8 * 8;
	idx += y * size_x * 4 * 8 * 8;
	idx += is_idx * size_y * size_x * 4 * 8 * 8;
	idx += os_idx * (f_32_aligned/32) * size_y * size_x * 4 * 8 * 8;

    return idx;
}

#define GET_FILTER_OS_IS_YX_ISA8_OSV8_ISV4(prefix, o, i, y, x) \
	FUNC_CALL(get_os_is_yx_isa8_osv8_isv4_index)(                               \
        o, i, y, x, CAT(prefix, _SIZE_X ),                                      \
        CAT(prefix, _SIZE_Y),                                                \
        CAT(prefix, _IFM_NUM),                                                  \
        CAT(prefix, _OFM_NUM),                                                  \
        CAT(prefix, _OFFSET))

inline uint FUNC(get_os_is_yx_isa8_osv8_isv4_swizzled_by_4_index)(uint o, uint i, uint y, uint x, uint size_x, uint size_y, uint size_ifm, uint size_ofm, uint offset)
{
    const uint o_swizzled = (o % 4) * 8 + ((o % 32) / 4) + (o / 32) * 32;

    const uint f_32_aligned = ((size_ifm + 31)/32) * 32;
	const uint isv2_idx = i % 4;
	const uint osv_idx = o_swizzled % 8;
	const uint isv1_idx = (i / 4) % 8;
	const uint is_idx = i / 32;
	const uint os_idx = o_swizzled / 8;

	size_t idx = offset + isv2_idx + 4 * (osv_idx + 8 * isv1_idx);
	idx += x * 4 * 8 * 8;
	idx += y * size_x * 4 * 8 * 8;
	idx += is_idx * size_y * size_x * 4 * 8 * 8;
	idx += os_idx * (f_32_aligned/32) * size_y * size_x * 4 * 8 * 8;

    return idx;
}

#define GET_FILTER_OS_IS_YX_ISA8_OSV8_ISV4_SWIZZLED_BY_4_INDEX(prefix, o, i, y, x) \
	FUNC_CALL(get_os_is_yx_isa8_osv8_isv4_swizzled_by_4_index)(                    \
        o, i, y, x, CAT(prefix, _SIZE_X ),                                      \
        CAT(prefix, _SIZE_Y),                                                \
        CAT(prefix, _IFM_NUM),                                                  \
        CAT(prefix, _OFM_NUM),                                                  \
        CAT(prefix, _OFFSET))


inline uint FUNC(get_is_o_yx_isv32_index)(uint o, uint i, uint y, uint x, uint i_size, uint o_size, uint x_size, uint y_size)
{
    const uint i_aligned_to_32 = ((i_size + 31) / 32) * 32;
    const uint i_val = i % 32;
    const uint i_slice = i / 32;
    const size_t idx = i_val + 32* (x + x_size * (y + y_size * (o + o_size * i_slice) ) );
    return idx;
}

#define GET_FILTER_IS_O_YX_ISV32(prefix, o, i, y, x)\
    FUNC_CALL(get_is_o_yx_isv32_index)(\
        o, i, y, x, CAT(prefix, _IFM_NUM),\
        CAT(prefix, _OFM_NUM),\
        CAT(prefix, _SIZE_X),\
        CAT(prefix, _SIZE_Y))

inline uint FUNC(get_is_o32_yx_isv32_swizzled_by_4_index)(uint o, uint i, uint y, uint x, uint i_size, uint o_size, uint x_size, uint y_size)
{
    const uint o_aligned_to_32 = ((o_size + 31) / 32) * 32;
    const uint o_swizzled = (o % 4) * 8 + ((o % 32) / 4) + (o / 32) * 32;
    const uint i_aligned_to_32 = ((i_size + 31) / 32) * 32;
    const uint i_val = i % 32;
    const uint i_slice = i / 32;
    const size_t idx = i_val + 32* (x + x_size * (y + y_size * (o_swizzled + o_aligned_to_32 * i_slice) ) );
    return idx;
}

#define GET_FILTER_IS_O32_YX_ISV32_SWIZZLED_BY_4(prefix, o, i, y, x)\
    FUNC_CALL(get_is_o32_yx_isv32_swizzled_by_4_index)(\
        o, i, y, x, CAT(prefix, _IFM_NUM),\
        CAT(prefix, _OFM_NUM),\
        CAT(prefix, _SIZE_X),\
        CAT(prefix, _SIZE_Y))

inline uint FUNC(get_os_is_y_x8_osv8_isv4_index)(uint o, uint i, uint y, uint x, uint i_size, uint o_size, uint x_size, uint y_size)
{
    const uint i_aligned_to_4 = ((i_size + 3) / 4) * 4;
    const uint o_aligned_to_8 = ((o_size + 7) / 8) * 8;
    const uint x_aligned_to_8 = ((x_size + 7) / 8) * 8;
    const uint i_val = i % 4;
    const uint i_slice = i / 4;
    const uint o_val = o % 8;
    const uint o_slice = o / 8;
    const size_t idx = i_val + 4 * (o_val + 8 * ( x + x_aligned_to_8 * (y + y_size * (i_slice + (i_aligned_to_4/4) * (o_slice)))));
    return idx;
}

#define GET_FILTER_OS_IS_Y_X8_OSV8_ISV4(prefix, o, i, y, x)\
    FUNC_CALL(get_os_is_y_x8_osv8_isv4_index)(\
        o, i, y, x, CAT(prefix, _IFM_NUM),\
        CAT(prefix, _OFM_NUM),\
        CAT(prefix, _SIZE_X),\
        CAT(prefix, _SIZE_Y))

inline uint FUNC(get_os_is_y_x8_osv8_isv4_swizzled_by_4_index)(uint o, uint i, uint y, uint x, uint i_size, uint o_size, uint x_size, uint y_size)
{
    const uint i_aligned_to_4 = ((i_size + 3) / 4) * 4;
    const uint o_aligned_to_8 = ((o_size + 7) / 8) * 8;
    const uint x_aligned_to_8 = ((x_size + 7) / 8) * 8;
    const uint i_val = i % 4;
    const uint i_slice = i / 4;
    const uint o_swizzled = (o % 4) * 8 + ((o % 32) / 4) + (o / 32) * 32;
    const uint o_val = o_swizzled % 8;
    const uint o_slice = o_swizzled / 8;
    const size_t idx = i_val + 4 * (o_val + 8 * ( x + x_aligned_to_8 * (y + y_size * (i_slice + (i_aligned_to_4/4) * (o_slice)))));
    return idx;
}

#define GET_FILTER_OS_IS_Y_X8_OSV8_ISV4_SWIZZLED_BY_4(prefix, o, i, y, x)\
    FUNC_CALL(get_os_is_y_x8_osv8_isv4_swizzled_by_4_index)(\
        o, i, y, x, CAT(prefix, _IFM_NUM),\
        CAT(prefix, _OFM_NUM),\
        CAT(prefix, _SIZE_X),\
        CAT(prefix, _SIZE_Y))


#define GET_DATA_B_FS_YX_FSV4_INDEX(prefix, o, i, y, x)\
    FUNC_CALL(get_b_fs_yx_fsv4)(\
        o, i, y, x,\
        CAT(prefix, _FEATURE_NUM),\
        CAT(prefix, _PAD_BEFORE_SIZE_Y), CAT(prefix, _SIZE_Y), CAT(prefix, _PAD_AFTER_SIZE_Y),\
        CAT(prefix, _PAD_BEFORE_SIZE_X), CAT(prefix, _SIZE_X), CAT(prefix, _PAD_AFTER_SIZE_X))

inline uint FUNC(get_b_fs_yx_fsv4)(uint o, uint i, uint y, uint x,
                                   uint feature_num,
                                   uint pad_before_size_y, uint size_y, uint pad_after_size_y,
                                   uint pad_before_size_x, uint size_x, uint pad_after_size_x)
{
    const uint tile = 4;
    uint id_tile = i / tile;
    uint id      = i - id_tile * tile;

    const uint feature_num_aligned4 = ((feature_num + 3) / 4) * 4;

    uint idx = o * (feature_num_aligned4 / tile) *
                   (pad_before_size_y + size_y + pad_after_size_y) *
                   (pad_before_size_x + size_x + pad_after_size_x) * tile
               + id_tile * (pad_before_size_y + size_y + pad_after_size_y) *
                           (pad_before_size_x + size_x + pad_after_size_x) * tile
               + pad_before_size_y * (pad_before_size_x + size_x + pad_after_size_x) * tile
               + y * (pad_before_size_x + size_x + pad_after_size_x) * tile
               + pad_before_size_x * tile
               + x * tile
               + id;

    return idx;
}

#define GET_FILTER_OS_IS_YX_OSV16_ISV4_INDEX(prefix, o, i, y, x)\
    FUNC_CALL(get_os_is_yx_osv16_isv4)(\
        o, i, y, x,\
        CAT(prefix, _IFM_PITCH),\
        CAT(prefix, _OFM_PITCH),\
        CAT(prefix, _SIZE_X))

inline uint FUNC(get_os_is_yx_osv16_isv4)(uint o, uint i, uint y, uint x,
                                          uint i_size,
                                          uint o_size,
                                          uint x_size)
{
    const uint otd = 16;
    uint out_depth_tile = o / otd;
    uint od             = o - out_depth_tile * otd;

    const uint tile = 4;
    uint id_tile = i / tile;
    uint id      = i - id_tile * tile;

    uint idx = out_depth_tile * (o_size / tile) * otd * tile
               + id_tile               * i_size * otd * tile
               + y                     * x_size * otd * tile
               + x                              * otd * tile
               + od                                   * tile
               + id;

    return idx;
}

#define GET_DATA_FS_B_YX_FSV32_INDEX(prefix, b, f, y, x)\
    FUNC_CALL(get_fs_b_yx_fsv32_index)(                 \
        b, f, y, x,                                     \
        CAT(prefix, _PAD_BEFORE_SIZE_X),                \
        CAT(prefix, _SIZE_X),                           \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \

#define GET_FILTER_O_I_YX_I16_O16_INDEX(prefix, o, i, y, x, sub_group_size)  \
    CAT(prefix, _OFFSET) +                                                   \
    ((o) % (sub_group_size)) +                                               \
    (sub_group_size)*(                                                       \
        (x)*(sub_group_size)*CAT(prefix, _X_PITCH) +                         \
        (y)*(sub_group_size)*CAT(prefix, _Y_PITCH) +                         \
        ((i) % (sub_group_size)) +                                           \
        ((i) / (sub_group_size))*(sub_group_size)*CAT(prefix, _IFM_PITCH) +  \
        ((o) / (sub_group_size))*CAT(prefix, _OFM_PITCH)                     \
    )

inline uint FUNC(get_byxf_af32_index)(uint b, uint f, uint y, uint x, uint y_pitch, uint b_pitch, uint f_size, uint offset)
{
	const uint f_aligned_to_32 = ((f_size + 31) / 32) * 32;
	const uint b_offset = b * b_pitch;
	const uint xy_offset = f_aligned_to_32 * x + y_pitch * y;
	const uint f_offset = f;
	const size_t idx = offset + xy_offset + b_offset + f_offset;
	return idx;
}

#define GET_DATA_BYXF_AF32_INDEX(prefix, b, f, y, x)\
	FUNC_CALL(get_byxf_af32_index)(                 \
		b, f, y, x, CAT(prefix, _Y_PITCH),          \
		CAT(prefix, _BATCH_PITCH),                      \
		CAT(prefix, _FEATURE_NUM),                 \
		CAT(prefix, _OFFSET))

inline uint FUNC(get_byx8_f4_index)(uint b, uint f, uint y, uint x,
    uint x_pitch, uint y_pitch, uint b_pitch, uint f_size, uint x_size, uint offset)
{
    const uint f_aligned_to_4 = ((f_size + 3) / 4) * 4;
    const uint x_aligned_to_8 = ((x_size + 7) / 8) * 8;
    const uint b_offset = b * b_pitch;
    const uint xy_offset = x * x_pitch + y * y_pitch;
    const uint f_offset = f;
    const size_t idx = offset + xy_offset + b_offset + f_offset;
    return idx;
}

#define GET_DATA_BYX8_F4_INDEX(prefix, b, f, y, x)\
	FUNC_CALL(get_byx8_f4_index)(                 \
		b, f, y, x, CAT(prefix, _X_PITCH),          \
		CAT(prefix, _Y_PITCH),                      \
		CAT(prefix, _BATCH_PITCH),                      \
		CAT(prefix, _FEATURE_NUM),                 \
		CAT(prefix, _SIZE_X),                 \
		CAT(prefix, _OFFSET))

#define GET_DATA_BF8_XY16_INDEX(prefix, b, f, y, x)     \
    FUNC_CALL(get_bf8_xy16_index)(                      \
        b, f, y, x, CAT(prefix, _SIZE_X ),              \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _FEATURE_NUM),                      \
        CAT(prefix, _OFFSET))

inline uint FUNC(get_fs_bs_yx_bsv4_fsv32_index)(uint b, uint f, uint y, uint x,
    uint x_pad_before, uint x_size, uint x_pad_after,
    uint y_pad_before, uint y_size, uint y_pad_after,
    uint size_f, uint size_b)
{
    const uint f_32_aligned = ((size_f + 31)/32) * 32;
    const uint b_4_aligned = ((size_b + 3)/4) * 4;
    const uint fsv_idx = f % 32;
    const uint bsv_idx = b % 4;
    const uint fs_idx = f / 32;
    const uint bs_idx = b / 4;

    const uint x_pitch = 32 * 4;
    const uint y_pitch = 32 * 4 * (x_pad_before + x_size + x_pad_after);
    const uint bs_pitch = y_pitch * (y_pad_before + y_size + y_pad_after);
    const uint fs_pitch = bs_pitch * (b_4_aligned / 4);
    uint offset = x_pitch * x_pad_before + y_pitch * y_pad_before;

    size_t idx = offset + fsv_idx + bsv_idx * 32;
    idx += 32*4 * x;
    idx += y * y_pitch;
    idx += bs_idx * bs_pitch;
    idx += fs_idx * fs_pitch;

    return idx;
}

#define GET_DATA_FS_BS_YX_BSV4_FSV32_INDEX(prefix, b, f, y, x)\
	FUNC_CALL(get_fs_bs_yx_bsv4_fsv32_index)(       \
		b, f, y, x,                                 \
        CAT(prefix, _PAD_BEFORE_SIZE_X),            \
        CAT(prefix, _SIZE_X),                       \
        CAT(prefix, _PAD_AFTER_SIZE_X),             \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),            \
        CAT(prefix, _SIZE_Y),                       \
        CAT(prefix, _PAD_AFTER_SIZE_Y),             \
		CAT(prefix, _FEATURE_NUM),                  \
        CAT(prefix, _BATCH_NUM))

#define GET_FILTER_INDEX(prefix, o, i, y, x)    \
    CAT(prefix, _OFFSET) +                      \
    (x)*CAT(prefix, _X_PITCH) +                 \
    (y)*CAT(prefix, _Y_PITCH) +                 \
    (i)*CAT(prefix, _IFM_PITCH) +               \
    (o)*CAT(prefix, _OFM_PITCH)

#define GET_FILTER_INDEX_SAFE(prefix, o, i, y, x)           \
    CAT(prefix, _OFFSET) +                                  \
    (x % CAT(prefix, _SIZE_X ))*CAT(prefix, _X_PITCH) +     \
    (y % CAT(prefix, _SIZE_Y ))*CAT(prefix, _Y_PITCH) +     \
    (i % CAT(prefix, _IFM_NUM))*CAT(prefix, _IFM_PITCH) +   \
    (o % CAT(prefix, _OFM_NUM))*CAT(prefix, _OFM_PITCH)

#define GET_FILTER_OS_IYX_OSV8_INDEX(prefix, o, i, y, x, sub_group_size)    \
    CAT(prefix, _OFFSET) +                                                  \
    ((o) % (sub_group_size)) +                                              \
    (sub_group_size)*(                                                      \
        (x)*CAT(prefix, _X_PITCH) +                                         \
        (y)*CAT(prefix, _Y_PITCH) +                                         \
        (i)*CAT(prefix, _IFM_PITCH) +                                       \
        ((o) / (sub_group_size))*CAT(prefix, _OFM_PITCH)                    \
    )

#define GET_FILTER_OS_IYX_OSV8_ROTATE_180_INDEX(prefix, o, i, y, x, sub_group_size)    \
    CAT(prefix, _OFFSET) +                                                  \
    ((o) % (sub_group_size)) +                                              \
    (sub_group_size)*(                                                      \
        (CAT(prefix, _SIZE_X ) - x - 1)*CAT(prefix, _X_PITCH) +             \
        (CAT(prefix, _SIZE_Y ) - y - 1)*CAT(prefix, _Y_PITCH) +             \
        (i)*CAT(prefix, _IFM_PITCH) +                                       \
        ((o) / (sub_group_size))*CAT(prefix, _OFM_PITCH)                    \
    )

inline uint FUNC(get_i_yxs_os_yxsv2_osv_index)(uint o, uint i, uint y, uint x, uint x_size, uint i_pitch, uint y_pitch, uint x_pitch, uint offset, uint sub_group_size)
{
    const uint aligned_ofm_line = x_pitch;
    const uint ifm_height_pitch = (i_pitch/aligned_ofm_line);
    const uint dst_height = i*ifm_height_pitch + y*x_size + x;
    const uint base_filter_index = y*x_size + x;

    const uint aligned_height = dst_height & 0xfffffffe;
    const uint base_filter_odd = (base_filter_index & 0x1);

    uint slice_id = o / sub_group_size;
    uint id_in_slice = o % sub_group_size;
    uint slice_pitch = 2*sub_group_size;
    uint offset_in_slice = (int)(sub_group_size*base_filter_odd);

    const uint in_line = (slice_pitch*slice_id + offset_in_slice + id_in_slice);
    const size_t idx = offset + aligned_height*aligned_ofm_line + in_line;

    return idx;
}

#define GET_FILTER_I_YXS_OS_YXSV2_OSV_INDEX(prefix, o, i, y, x, sub_group_size) \
    FUNC_CALL(get_i_yxs_os_yxsv2_osv_index)(                                    \
        o, i, y, x, CAT(prefix, _SIZE_X ),                                      \
        CAT(prefix, _IFM_PITCH),                                                \
        CAT(prefix, _Y_PITCH),                                                  \
        CAT(prefix, _X_PITCH),                                                  \
        CAT(prefix, _OFFSET),                                                   \
        sub_group_size)

inline uint FUNC(get_iy_xs_os_xsv2_osv_index)(uint o, uint i, uint y, uint x, uint x_size, uint i_pitch, uint y_pitch, uint x_pitch, uint offset, uint sub_group_size)
{
    const uint aligned_ofm_line = x_pitch;
    const uint ifm_height_pitch = (i_pitch/aligned_ofm_line);
    const uint aligned_x_line = y_pitch / x_pitch;
    const uint dst_height = i*ifm_height_pitch + y*aligned_x_line + x;
    const uint base_filter_index = x;

    const uint aligned_height = dst_height & 0xfffffffe;
    const uint base_filter_odd = (base_filter_index & 0x1);

    uint slice_id = o / sub_group_size;
    uint id_in_slice = o % sub_group_size;
    uint slice_pitch = 2*sub_group_size;
    uint offset_in_slice = (int)(sub_group_size*base_filter_odd);

    const bool last_line_in_base_filter = (x == (x_size - 1));
    if (last_line_in_base_filter && base_filter_odd == 0)
    {
        const uint element_in_slice = 32;
        slice_id = o / element_in_slice;
        id_in_slice = o % element_in_slice;
        slice_pitch = 2*element_in_slice;
        offset_in_slice = 0;
    }

    const uint in_line = (slice_pitch*slice_id + offset_in_slice + id_in_slice);
    const size_t idx = offset + aligned_height*aligned_ofm_line + in_line;

    return idx;
}

#define GET_FILTER_IY_XS_OS_XSV2_OSV_INDEX(prefix, o, i, y, x, sub_group_size)  \
    FUNC_CALL(get_iy_xs_os_xsv2_osv_index)(                                     \
        o, i, y, x, CAT(prefix, _SIZE_X ),                                      \
        CAT(prefix, _IFM_PITCH),                                                \
        CAT(prefix, _Y_PITCH),                                                  \
        CAT(prefix, _X_PITCH),                                                  \
        CAT(prefix, _OFFSET),                                                   \
        sub_group_size)
// Copyright (c) 2018 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/


#define GET_DATA_INDEX(prefix, b, f, y, x)  \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_INDEX_SAFE(prefix, b, f, y, x)                     \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

 #define GET_3D_DATA_INDEX(prefix, b, f, z, y, x) \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (z)*CAT(prefix, _Z_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_3D_DATA_INDEX_SAFE(prefix, b, f, z, y, x)               \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (z % CAT(prefix, _SIZE_Z     ))*CAT(prefix, _Z_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_BS_FYX_BSV8_INDEX(prefix, b, f, y, x, sub_group_size)  \
    CAT(prefix, _OFFSET) +                                              \
    ((b) % (sub_group_size)) +                                          \
    (sub_group_size)*(                                                  \
        (x)*CAT(prefix, _X_PITCH) +                                     \
        (y)*CAT(prefix, _Y_PITCH) +                                     \
        (f)*CAT(prefix, _FEATURE_PITCH) +                               \
        ((b) / (sub_group_size))*CAT(prefix, _BATCH_PITCH)              \
    )

inline uint FUNC(get_bf8_xy16_index)(uint b, uint f, uint y, uint x, uint x_size, uint y_size, uint f_size, uint offset)
{
    const uint xy_idx = x + y * x_size;
    const uint xy_offset = (xy_idx % 16) + (xy_idx / 16) * 16 * 8;
    const uint xy_block_num = (x_size * y_size + 16 - 1) / 16;
    const uint f_offset = (f % 8) * 16 + (f / 8) * xy_block_num * 16 * 8;
    const uint f_block_num = (f_size + 8 - 1) / 8;
    const uint b_offset = b * f_block_num * xy_block_num * 128;

    const size_t idx = offset + xy_offset + f_offset + b_offset;

    return idx;
}

inline uint FUNC(get_bfyx_f16_index)(
    uint b, uint f, uint y, uint x,
    uint x_size, uint y_size, uint f_size,
    uint y_pad_before,uint y_pad_after,
    uint x_pad_before, uint x_pad_after,
    uint f_pad_before, uint f_pad_after)
{
    const uint feature_slice_size = 16;

    const uint full_width = x_size + x_pad_before + x_pad_after;
    const uint full_height = y_size + y_pad_before + y_pad_after;
    const uint full_features = f_pad_before + f_size + f_pad_after;
    const uint feature_tiles_number = (full_features + feature_slice_size - 1) / feature_slice_size;

    const uint x_pitch = feature_slice_size;
    const uint y_pitch = x_pitch * full_width;
    const uint fs_pitch = y_pitch * full_height;
    const uint b_pitch = fs_pitch * feature_tiles_number;

    const uint x_offset = (x + x_pad_before) * x_pitch;
    const uint y_offset = (y + y_pad_before) * y_pitch;
    const uint fs_offset = (f / feature_slice_size + f_pad_before / feature_slice_size) * fs_pitch;
    const uint b_offset = b * b_pitch;

    const size_t idx = x_offset + y_offset + fs_offset + b_offset + (f % feature_slice_size);

    return idx;
}

#define GET_DATA_BFYX_F16_INDEX(prefix, b, f, y, x)     \
    FUNC_CALL(get_bfyx_f16_index)(                      \
        b, f, y, x,                                     \
        CAT(prefix, _SIZE_X ),                          \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _FEATURE_NUM),                      \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_X),                \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _PAD_AFTER_FEATURE_NUM))
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif




KERNEL(broadcast_gpu_ref)(
    const __global INPUT0_TYPE* input,
    __global INPUT0_TYPE* output)
{
    // [CONSTEXPR]
    // Input sizes:
    uint4 input_indices;
    input_indices[0] = INPUT0_BATCH_NUM;
    input_indices[1] = INPUT0_FEATURE_NUM;
    input_indices[2] = INPUT0_SIZE_Y;
    input_indices[3] = INPUT0_SIZE_X;

    const uint in_sx = input_indices[BROADCAST_ORDER[3]];
    const uint in_sy = input_indices[BROADCAST_ORDER[2]];
    const uint in_sf = input_indices[BROADCAST_ORDER[1]];
    const uint in_sb = input_indices[BROADCAST_ORDER[0]];

    const uint out_x  = (uint) get_global_id(0);
    const uint out_y  = (uint) get_global_id(1);
    const uint out_fb = (uint) get_global_id(2);

    const uint out_f  = out_fb % OUTPUT_FEATURE_NUM;
    const uint out_b  = out_fb / OUTPUT_FEATURE_NUM;


    const uint in_x = out_x % in_sx;
    const uint in_y = out_y % in_sy;
    const uint in_f = out_f % in_sf;
    const uint in_b = out_b % in_sb;

    const uint in_pos =  INPUT0_OFFSET + in_x + in_sx * (in_y + in_sy * (in_f + in_sf * in_b));
    const uint out_pos = GET_DATA_INDEX(OUTPUT, out_b, out_f, out_y, out_x);

    output[out_pos] = input[in_pos];
}

        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



KERNEL (concatenation_gpu_ref)(__global UNIT_TYPE* input, __global UNIT_TYPE* output, uint output_offset_in_concat_axis)
{
    const uint x = get_global_id(0) % INPUT0_SIZE_X;
    const uint y = get_global_id(0) / INPUT0_SIZE_X;
    const uint z = get_global_id(1);
    const uint f = get_global_id(2) % INPUT0_FEATURE_NUM;
    const uint b = get_global_id(2) / INPUT0_FEATURE_NUM;

    uint input_offset  = GET_3D_DATA_INDEX(INPUT0, b, f, z, y, x);
    uint output_offset = GET_3D_DATA_INDEX(OUTPUT, b, f, z, y, x) + output_offset_in_concat_axis*OUTPUT_PITCHES[CONCAT_AXIS_INDEX];

    output[output_offset] = ACTIVATION(input[input_offset], NL_M, NL_N);
}

// Copyright (c) 2017 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/


#define GET_DATA_INDEX(prefix, b, f, y, x)  \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_INDEX_SAFE(prefix, b, f, y, x)                     \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

 #define GET_3D_DATA_INDEX(prefix, b, f, z, y, x) \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (z)*CAT(prefix, _Z_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_3D_DATA_INDEX_SAFE(prefix, b, f, z, y, x)               \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (z % CAT(prefix, _SIZE_Z     ))*CAT(prefix, _Z_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_BS_FYX_BSV8_INDEX(prefix, b, f, y, x, sub_group_size)  \
    CAT(prefix, _OFFSET) +                                              \
    ((b) % (sub_group_size)) +                                          \
    (sub_group_size)*(                                                  \
        (x)*CAT(prefix, _X_PITCH) +                                     \
        (y)*CAT(prefix, _Y_PITCH) +                                     \
        (f)*CAT(prefix, _FEATURE_PITCH) +                               \
        ((b) / (sub_group_size))*CAT(prefix, _BATCH_PITCH)              \
    )

inline uint FUNC(get_bf8_xy16_index)(uint b, uint f, uint y, uint x, uint x_size, uint y_size, uint f_size, uint offset)
{
    const uint xy_idx = x + y * x_size;
    const uint xy_offset = (xy_idx % 16) + (xy_idx / 16) * 16 * 8;
    const uint xy_block_num = (x_size * y_size + 16 - 1) / 16;
    const uint f_offset = (f % 8) * 16 + (f / 8) * xy_block_num * 16 * 8;
    const uint f_block_num = (f_size + 8 - 1) / 8;
    const uint b_offset = b * f_block_num * xy_block_num * 128;

    const size_t idx = offset + xy_offset + f_offset + b_offset;

    return idx;
}

inline uint FUNC(get_bfyx_f16_index)(
    uint b, uint f, uint y, uint x,
    uint x_size, uint y_size, uint f_size,
    uint y_pad_before,uint y_pad_after,
    uint x_pad_before, uint x_pad_after,
    uint f_pad_before, uint f_pad_after)
{
    const uint feature_slice_size = 16;

    const uint full_width = x_size + x_pad_before + x_pad_after;
    const uint full_height = y_size + y_pad_before + y_pad_after;
    const uint full_features = f_pad_before + f_size + f_pad_after;
    const uint feature_tiles_number = (full_features + feature_slice_size - 1) / feature_slice_size;

    const uint x_pitch = feature_slice_size;
    const uint y_pitch = x_pitch * full_width;
    const uint fs_pitch = y_pitch * full_height;
    const uint b_pitch = fs_pitch * feature_tiles_number;

    const uint x_offset = (x + x_pad_before) * x_pitch;
    const uint y_offset = (y + y_pad_before) * y_pitch;
    const uint fs_offset = (f / feature_slice_size + f_pad_before / feature_slice_size) * fs_pitch;
    const uint b_offset = b * b_pitch;

    const size_t idx = x_offset + y_offset + fs_offset + b_offset + (f % feature_slice_size);

    return idx;
}

#define GET_DATA_BFYX_F16_INDEX(prefix, b, f, y, x)     \
    FUNC_CALL(get_bfyx_f16_index)(                      \
        b, f, y, x,                                     \
        CAT(prefix, _SIZE_X ),                          \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _FEATURE_NUM),                      \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_X),                \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



//
// In this kernel we are processing "fyx" as flatten 1D "elements".
// As long as we can we use block read/write.
// For last SIMD in which we have to write only partial data we use normal read/write to buffer.
//

// must be 8 as long as we use block_read8/write8
#define ELEMENTS_PER_WORK_ITEM 8
#define WORK_GROUP_SIZE 16
#define INPUT0_ELEMENTS_COUNT (INPUT0_LENGTH/INPUT0_BATCH_NUM)
#define IC_BLOCK 16

#if FP16_UNIT_USED
    #define ALIGNED_BLOCK_READ(ptr, byte_offset) as_half(intel_sub_group_block_read_us((const __global ushort*)(ptr) + (byte_offset)))
    #define ALIGNED_BLOCK_READ8(ptr, byte_offset) as_half8(intel_sub_group_block_read_us8((const __global ushort*)(ptr) + (byte_offset)))
    #define ALIGNED_BLOCK_WRITE(ptr, byte_offset, val) intel_sub_group_block_write_us((__global ushort*)(ptr) + (byte_offset), as_ushort(val))
    #define ALIGNED_BLOCK_WRITE8(ptr, byte_offset, val) intel_sub_group_block_write_us8((__global ushort*)(ptr) + (byte_offset), as_ushort8(val))
#else
    #define ALIGNED_BLOCK_READ(ptr, byte_offset) as_float(intel_sub_group_block_read((const __global uint*)(ptr) + (byte_offset)))
    #define ALIGNED_BLOCK_READ8(ptr, byte_offset) as_float8(intel_sub_group_block_read8((const __global uint*)(ptr) + (byte_offset)))
    #define ALIGNED_BLOCK_WRITE(ptr, byte_offset, val) intel_sub_group_block_write((__global uint*)(ptr) + (byte_offset), as_uint(val))
    #define ALIGNED_BLOCK_WRITE8(ptr, byte_offset, val) intel_sub_group_block_write8((__global uint*)(ptr) + (byte_offset), as_uint8(val))
#endif

__attribute__((reqd_work_group_size(1, WORK_GROUP_SIZE, 1)))
__attribute__((intel_reqd_sub_group_size(WORK_GROUP_SIZE)))
KERNEL (concatenation_gpu_blocked)(__global UNIT_TYPE* input, __global UNIT_TYPE* output, uint output_offset_in_concat_axis)
{
    const int b = get_global_id(0);
    const int f_block = get_group_id(1);
    const int xy = get_global_id(2);
    const int lid = get_sub_group_local_id();

    const int x = xy % OUTPUT_SIZE_X;
    const int y = xy / OUTPUT_SIZE_X;
    const uint input_offset = b*INPUT0_BATCH_PITCH*IC_BLOCK + INPUT0_OFFSET*IC_BLOCK + IC_BLOCK*f_block*INPUT0_FEATURE_PITCH + y*INPUT0_Y_PITCH*IC_BLOCK + x*INPUT0_X_PITCH*IC_BLOCK;

    const uint dst_index = b*OUTPUT_BATCH_PITCH*IC_BLOCK + OUTPUT_OFFSET*IC_BLOCK + (f_block*IC_BLOCK + output_offset_in_concat_axis)*OUTPUT_FEATURE_PITCH
             + y*OUTPUT_Y_PITCH*IC_BLOCK + x*OUTPUT_X_PITCH*IC_BLOCK;

    UNIT_TYPE src = ALIGNED_BLOCK_READ(input, input_offset);
    src = ACTIVATION(src, NL_M, NL_N);
    ALIGNED_BLOCK_WRITE(output, dst_index, src);
}

#undef INPUT0_ELEMENTS_COUNT
#undef WORK_GROUP_SIZE
#undef ELEMENTS_PER_WORK_ITEM
#undef ALIGNED_BLOCK_READ8
#undef ALIGNED_BLOCK_WRITE8

// Copyright (c) 2016-2017 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/


#define GET_DATA_INDEX(prefix, b, f, y, x)  \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_INDEX_SAFE(prefix, b, f, y, x)                     \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

 #define GET_3D_DATA_INDEX(prefix, b, f, z, y, x) \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (z)*CAT(prefix, _Z_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_3D_DATA_INDEX_SAFE(prefix, b, f, z, y, x)               \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (z % CAT(prefix, _SIZE_Z     ))*CAT(prefix, _Z_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_BS_FYX_BSV8_INDEX(prefix, b, f, y, x, sub_group_size)  \
    CAT(prefix, _OFFSET) +                                              \
    ((b) % (sub_group_size)) +                                          \
    (sub_group_size)*(                                                  \
        (x)*CAT(prefix, _X_PITCH) +                                     \
        (y)*CAT(prefix, _Y_PITCH) +                                     \
        (f)*CAT(prefix, _FEATURE_PITCH) +                               \
        ((b) / (sub_group_size))*CAT(prefix, _BATCH_PITCH)              \
    )

inline uint FUNC(get_bf8_xy16_index)(uint b, uint f, uint y, uint x, uint x_size, uint y_size, uint f_size, uint offset)
{
    const uint xy_idx = x + y * x_size;
    const uint xy_offset = (xy_idx % 16) + (xy_idx / 16) * 16 * 8;
    const uint xy_block_num = (x_size * y_size + 16 - 1) / 16;
    const uint f_offset = (f % 8) * 16 + (f / 8) * xy_block_num * 16 * 8;
    const uint f_block_num = (f_size + 8 - 1) / 8;
    const uint b_offset = b * f_block_num * xy_block_num * 128;

    const size_t idx = offset + xy_offset + f_offset + b_offset;

    return idx;
}

inline uint FUNC(get_bfyx_f16_index)(
    uint b, uint f, uint y, uint x,
    uint x_size, uint y_size, uint f_size,
    uint y_pad_before,uint y_pad_after,
    uint x_pad_before, uint x_pad_after,
    uint f_pad_before, uint f_pad_after)
{
    const uint feature_slice_size = 16;

    const uint full_width = x_size + x_pad_before + x_pad_after;
    const uint full_height = y_size + y_pad_before + y_pad_after;
    const uint full_features = f_pad_before + f_size + f_pad_after;
    const uint feature_tiles_number = (full_features + feature_slice_size - 1) / feature_slice_size;

    const uint x_pitch = feature_slice_size;
    const uint y_pitch = x_pitch * full_width;
    const uint fs_pitch = y_pitch * full_height;
    const uint b_pitch = fs_pitch * feature_tiles_number;

    const uint x_offset = (x + x_pad_before) * x_pitch;
    const uint y_offset = (y + y_pad_before) * y_pitch;
    const uint fs_offset = (f / feature_slice_size + f_pad_before / feature_slice_size) * fs_pitch;
    const uint b_offset = b * b_pitch;

    const size_t idx = x_offset + y_offset + fs_offset + b_offset + (f % feature_slice_size);

    return idx;
}

#define GET_DATA_BFYX_F16_INDEX(prefix, b, f, y, x)     \
    FUNC_CALL(get_bfyx_f16_index)(                      \
        b, f, y, x,                                     \
        CAT(prefix, _SIZE_X ),                          \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _FEATURE_NUM),                      \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_X),                \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



//
// In this kernel we are processing "fyx" as flatten 1D "elements".
// As long as we can we use block read/write.
// For last SIMD in which we have to write only partial data we use normal read/write to buffer.
//

// must be 8 as long as we use block_read8/write8
#define ELEMENTS_PER_WORK_ITEM 8
#define WORK_GROUP_SIZE 16
#define INPUT0_ELEMENTS_COUNT (INPUT0_LENGTH/INPUT0_BATCH_NUM)

#if FP16_UNIT_USED
    #define ALIGNED_BLOCK_READ8(ptr, byte_offset) as_half8(intel_sub_group_block_read_us8((const __global ushort*)(ptr) + (byte_offset)))
    #define ALIGNED_BLOCK_WRITE8(ptr, byte_offset, val) intel_sub_group_block_write_us8((__global ushort*)(ptr) + (byte_offset), as_ushort8(val))
#else
    #define ALIGNED_BLOCK_READ8(ptr, byte_offset) as_float8(intel_sub_group_block_read8((const __global uint*)(ptr) + (byte_offset)))
    #define ALIGNED_BLOCK_WRITE8(ptr, byte_offset, val) intel_sub_group_block_write8((__global uint*)(ptr) + (byte_offset), as_uint8(val))
#endif

__attribute__((reqd_work_group_size(1, WORK_GROUP_SIZE, 1)))
__attribute__((intel_reqd_sub_group_size(WORK_GROUP_SIZE)))
KERNEL (concatenation_gpu_depth_bfyx_no_padding)(__global UNIT_TYPE* input, __global UNIT_TYPE* output, uint output_offset_in_concat_axis)
{
    const uint batch_id = get_group_id(0);

    // Which pack of 16*8 elements we are processing.
    uint element_group_id = get_group_id(1);
    uint element_offset = (uint)get_global_id(1) * ELEMENTS_PER_WORK_ITEM;

    const uint element_group_offset = element_group_id * WORK_GROUP_SIZE * ELEMENTS_PER_WORK_ITEM;

    const uint input_offset = INPUT0_OFFSET + element_group_offset + batch_id * INPUT0_BATCH_PITCH;
    const uint output_batch_offset = batch_id * OUTPUT_BATCH_PITCH;
    const uint output_offset = OUTPUT_OFFSET + element_group_offset + output_batch_offset + output_offset_in_concat_axis*OUTPUT_PITCHES[CONCAT_AXIS_INDEX];

    //Check if current group in batch starts from 16-byte aligned pos. If not then move block read to 16-byte aligned position.
    //Requirement for intel_sub_group_block_write8.
    uint align_offset = 0;
    const uint group_start_pos = output_offset;
    if(group_start_pos % WORK_GROUP_SIZE != 0)
    {
        uint next_aligned_pos = group_start_pos / WORK_GROUP_SIZE * WORK_GROUP_SIZE + WORK_GROUP_SIZE;
        align_offset = next_aligned_pos - group_start_pos;
    }

    if(element_group_offset + align_offset + WORK_GROUP_SIZE * ELEMENTS_PER_WORK_ITEM < INPUT0_ELEMENTS_COUNT)
    {
        MAKE_VECTOR_TYPE(UNIT_TYPE, 8) in = ALIGNED_BLOCK_READ8(input, input_offset + align_offset);
        ALIGNED_BLOCK_WRITE8(output, output_offset + align_offset, ACTIVATION(in, NL_M, NL_N));

        //Fill the values that were missed upon adding align_offset
        if((align_offset != 0) && (element_offset + output_batch_offset < group_start_pos + align_offset))
        {
            for(uint i = 0; i < align_offset; i++)
                output[output_offset + i] = ACTIVATION(input[input_offset + i], NL_M, NL_N);
        }
    }
    else
    {
        // This is the last SIMD that needs to write only partial data.
        uint element_offset_in_workitem = element_offset - element_group_offset;
        for(uint i = 0; i < ELEMENTS_PER_WORK_ITEM; i++)
        {
            if(element_offset + i >= INPUT0_ELEMENTS_COUNT)
                return;

            output[output_offset + element_offset_in_workitem] = ACTIVATION(input[input_offset + element_offset_in_workitem], NL_M, NL_N);
            element_offset_in_workitem++;
        }
    }
}

#undef INPUT0_ELEMENTS_COUNT
#undef WORK_GROUP_SIZE
#undef ELEMENTS_PER_WORK_ITEM
#undef ALIGNED_BLOCK_READ8
#undef ALIGNED_BLOCK_WRITE8

        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



KERNEL (concatenation_gpu_ref)(__global UNIT_TYPE* input, __global UNIT_TYPE* output, uint output_offset_in_concat_axis)
{
    const uint d1 = get_global_id(0);
    const uint d2 = get_global_id(1);
#ifdef CHECK_FEATURES
    if (FEATURE_CHANNEL == 2)   // bfyx
    {
        if(d2 >= INPUT0_FEATURE_NUM)
            return;
    }
    else                        // yxfb
    {
        if(d1 >= INPUT0_FEATURE_NUM)
            return;
    }
#endif
    const uint d3 = get_global_id(2);

    uint input_offset  = INPUT0_OFFSET + d1*INPUT0_PITCHES[INPUT_DIM_1] + d2*INPUT0_PITCHES[INPUT_DIM_2] + d3*INPUT0_PITCHES[INPUT_DIM_3];
    uint output_offset = OUTPUT_OFFSET + d1*OUTPUT_PITCHES[1] + d2*OUTPUT_PITCHES[2] + d3*OUTPUT_PITCHES[3] + output_offset_in_concat_axis*OUTPUT_PITCHES[CONCAT_AXIS_INDEX];

    for (size_t idx = 0; idx < INPUT0_SIZES[INPUT_DIM_0]; ++idx)
    {
        output[output_offset] = ACTIVATION(input[input_offset], NL_M, NL_N);
        input_offset  += INPUT0_PITCHES[INPUT_DIM_0];
        output_offset += OUTPUT_PITCHES[0];
    }
}

        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif




KERNEL(contract_ref)(
    const __global INPUT0_TYPE* input,
    __global INPUT0_TYPE* output)
{
    INPUT0_TYPE out_val = REDUCE_SEED;

#if REDUCE_B
    for (uint in_b = 0; in_b < INPUT0_BATCH_NUM; ++in_b) {
#else
    const uint in_b = (uint) get_global_id(DIM_B);
#endif

#if REDUCE_F
    for (uint in_f = 0; in_f < INPUT0_FEATURE_NUM; ++in_f) {
#else
    const uint in_f = (uint) get_global_id(DIM_F);
#endif

#if REDUCE_Y
    for (uint in_y = 0; in_y < INPUT0_SIZE_Y; ++in_y) {
#else
    const uint in_y = (uint) get_global_id(DIM_Y);
#endif

#if REDUCE_X
    for (uint in_x = 0; in_x < INPUT0_SIZE_X; ++in_x) {
#else
    const uint in_x = (uint) get_global_id(DIM_X);
#endif

    out_val = REDUCE_OPERATION(out_val, input[GET_DATA_INDEX(INPUT0, in_b, in_f, in_y, in_x)]);

#if REDUCE_X
    }
#endif
#if REDUCE_Y
    }
#endif
#if REDUCE_F
    }
#endif
#if REDUCE_B
    }
#endif

    output[GET_DATA_INDEX(OUTPUT, 0, get_global_id(0), get_global_id(1), get_global_id(2))] = out_val;
}

// Copyright (c) 2019 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/


#define GET_DATA_INDEX(prefix, b, f, y, x)  \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_INDEX_SAFE(prefix, b, f, y, x)                     \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

 #define GET_3D_DATA_INDEX(prefix, b, f, z, y, x) \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (z)*CAT(prefix, _Z_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_3D_DATA_INDEX_SAFE(prefix, b, f, z, y, x)               \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (z % CAT(prefix, _SIZE_Z     ))*CAT(prefix, _Z_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_BS_FYX_BSV8_INDEX(prefix, b, f, y, x, sub_group_size)  \
    CAT(prefix, _OFFSET) +                                              \
    ((b) % (sub_group_size)) +                                          \
    (sub_group_size)*(                                                  \
        (x)*CAT(prefix, _X_PITCH) +                                     \
        (y)*CAT(prefix, _Y_PITCH) +                                     \
        (f)*CAT(prefix, _FEATURE_PITCH) +                               \
        ((b) / (sub_group_size))*CAT(prefix, _BATCH_PITCH)              \
    )

inline uint FUNC(get_bf8_xy16_index)(uint b, uint f, uint y, uint x, uint x_size, uint y_size, uint f_size, uint offset)
{
    const uint xy_idx = x + y * x_size;
    const uint xy_offset = (xy_idx % 16) + (xy_idx / 16) * 16 * 8;
    const uint xy_block_num = (x_size * y_size + 16 - 1) / 16;
    const uint f_offset = (f % 8) * 16 + (f / 8) * xy_block_num * 16 * 8;
    const uint f_block_num = (f_size + 8 - 1) / 8;
    const uint b_offset = b * f_block_num * xy_block_num * 128;

    const size_t idx = offset + xy_offset + f_offset + b_offset;

    return idx;
}

inline uint FUNC(get_bfyx_f16_index)(
    uint b, uint f, uint y, uint x,
    uint x_size, uint y_size, uint f_size,
    uint y_pad_before,uint y_pad_after,
    uint x_pad_before, uint x_pad_after,
    uint f_pad_before, uint f_pad_after)
{
    const uint feature_slice_size = 16;

    const uint full_width = x_size + x_pad_before + x_pad_after;
    const uint full_height = y_size + y_pad_before + y_pad_after;
    const uint full_features = f_pad_before + f_size + f_pad_after;
    const uint feature_tiles_number = (full_features + feature_slice_size - 1) / feature_slice_size;

    const uint x_pitch = feature_slice_size;
    const uint y_pitch = x_pitch * full_width;
    const uint fs_pitch = y_pitch * full_height;
    const uint b_pitch = fs_pitch * feature_tiles_number;

    const uint x_offset = (x + x_pad_before) * x_pitch;
    const uint y_offset = (y + y_pad_before) * y_pitch;
    const uint fs_offset = (f / feature_slice_size + f_pad_before / feature_slice_size) * fs_pitch;
    const uint b_offset = b * b_pitch;

    const size_t idx = x_offset + y_offset + fs_offset + b_offset + (f % feature_slice_size);

    return idx;
}

#define GET_DATA_BFYX_F16_INDEX(prefix, b, f, y, x)     \
    FUNC_CALL(get_bfyx_f16_index)(                      \
        b, f, y, x,                                     \
        CAT(prefix, _SIZE_X ),                          \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _FEATURE_NUM),                      \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_X),                \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _PAD_AFTER_FEATURE_NUM))
#define MMAD_4x8(A, B, C) FUNC_CALL(mmad4x8)(A, B, C)
#define MMAD_8x8(A, B, C) FUNC_CALL(mmad8x8)(A, B, C)
#define SLM_BLOCK_WRITE_4(A, B) (FUNC_CALL(intel_sub_group_block_write_4)(A, B))
#define SLM_BLOCK_READ_4(A) (FUNC_CALL(intel_sub_group_block_read_uint4)(A))
#define SLM_BLOCK_READ_8(A) (FUNC_CALL(intel_sub_group_block_read_uint8)(A))


#define FILTER_IFM_MMAD_NUM ((FILTER_IFM_NUM + 31) / 32)
#define FILTER_OFM_MMAD_NUM ((FILTER_OFM_NUM + 7) / 8)
#define FILTER_IFM_ALIGNED (FILTER_IFM_MMAD_NUM * 32)
#define FILTER_OFM_ALIGNED (FILTER_OFM_MMAD_NUM * 8)

__attribute__((intel_reqd_sub_group_size(SUB_GROUP_SIZE)))
KERNEL(convolution_1x1_gemm_MMAD)(
    __global INPUT0_TYPE* input,
    __global OUTPUT_TYPE* output,
    __global FILTER_TYPE* weights,
#if BIAS_TERM
    __global BIAS_TYPE* biases,
#endif
#if QUANTIZATION_TERM
    __global float* quantizations,
#endif
#if CALIBRATION_TERM
    __global float* calibrations,
#endif
    uint split_idx)
{
    const uint sg_channel = get_sub_group_local_id();

    const uint x = (get_group_id(0) * 8) % INPUT0_SIZE_X;
    const uint y = (get_group_id(0) * 8) / INPUT0_SIZE_X;
    const uint f = get_global_id(1) % FILTER_OFM_ALIGNED;
    const uint b = get_global_id(1) / FILTER_OFM_ALIGNED;

    const int input_x = x * STRIDE_SIZE_X - PADDING_SIZE_X;
    const int input_y = y * STRIDE_SIZE_Y - PADDING_SIZE_Y;

    const uint in_split_offset = split_idx * INPUT0_FEATURE_PITCH * FILTER_IFM_NUM;

    const uint input_offset = b*INPUT0_BATCH_PITCH + INPUT0_OFFSET + in_split_offset;
    uint in_addr = input_offset + input_x * INPUT0_X_PITCH + input_y * INPUT0_Y_PITCH;

    const uint filter_offset = (get_group_id(1) % FILTER_OFM_MMAD_NUM) * FILTER_OFM_BLOCK_PITCH;
    uint filter_idx = filter_offset;

    int8 tileA;
    int8 tileB;
    int8 tileC;
    for(uint i = 0; i < 8; i++)
    {
        tileC[i] = 0;
    }

    for (uint k = 0; k < FILTER_IFM_MMAD_NUM; ++k)
    {
        // load A tile ( input )
        for(uint i = 0; i < 8; i++)
        {
            uint tmp_addr = in_addr + i * INPUT0_X_PITCH;
            tileA[i] = as_int(intel_sub_group_block_read((const __global uint*)(input + tmp_addr)));
        }

        // load B tile ( weights )
        tileB = as_int8(intel_sub_group_block_read8((const __global uint*)(weights + filter_idx)));

        // compute C tile ( output )
        tileC = MMAD_8x8(tileA, tileB, tileC);

        in_addr += 32; // 4 features per channel * 8 SIMD channels
        filter_idx += 32*8; // 32 features per channel * 8 output features per SIMD channel
    }

#if BIAS_TERM
#if   BIAS_PER_OUTPUT
    const uint bias_index = GET_DATA_INDEX(BIAS, b, f, y, x);
#elif BIAS_PER_OFM
    const uint bias_index = f;
#endif
    for(uint i = 0; i < 8; i++)
    {
#if CALIBRATION_TERM
    tileC[i] = (UNIT_TYPE)round(((float)tileC[i] * quantizations[f] * I_QF + biases[bias_index]) * calibrations[f]);
#else  // CALIBRATION_TERM
    tileC[i] = (UNIT_TYPE)round(((float)tileC[i] * quantizations[f] * I_QF + biases[bias_index]) * O_QF);
#endif // CALIBRATION_TERM
    }
#endif // BIAS_TERM

    const uint out_split_offset = split_idx * OUTPUT_FEATURE_PITCH * OUTPUT_FEATURE_NUM;
    // save to output
    for(uint i = 0; i < 8; i++)
    {
        const uint curr_x = (x + i) % INPUT0_SIZE_X;
        const uint curr_y = y + (x + i) / INPUT0_SIZE_X;
        if(curr_x < INPUT0_SIZE_X && curr_y < INPUT0_SIZE_Y)
        {
            const uint dst_index = GET_DATA_INDEX(OUTPUT, b, f, curr_y, curr_x) + out_split_offset;
            output[dst_index] = ACTIVATION(convert_char(tileC[i]), NL_M, NL_N);
        }
    }
}

#undef FILTER_IFM_MMAD_NUM
#undef FILTER_OFM_MMAD_NUM
#undef FILTER_IFM_ALIGNED
#undef FILTER_OFM_ALIGNED

    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

void FUNC(intel_sub_group_block_write_4)( __local uint* p, uint4 data )
{
    p[ get_sub_group_local_id() ] = data.s0;
    p += 8;
    p[ get_sub_group_local_id() ] = data.s1;
    p += 8;
    p[ get_sub_group_local_id() ] = data.s2;
    p += 8;
    p[ get_sub_group_local_id() ] = data.s3;
}

uint4 FUNC(intel_sub_group_block_read_uint4)(const __local uint* p)
{
    uint4 ret;
    uint idx = get_sub_group_local_id();

    ret.s0 = p[idx]; idx += get_max_sub_group_size();
    ret.s1 = p[idx]; idx += get_max_sub_group_size();
    ret.s2 = p[idx]; idx += get_max_sub_group_size();
    ret.s3 = p[idx]; idx += get_max_sub_group_size();

    return ret;
}

uint8 FUNC(intel_sub_group_block_read_uint8)(const __local uint* p)
{
    uint8 ret;
    uint idx = get_sub_group_local_id();

    ret.s0 = p[idx]; idx += get_max_sub_group_size();
    ret.s1 = p[idx]; idx += get_max_sub_group_size();
    ret.s2 = p[idx]; idx += get_max_sub_group_size();
    ret.s3 = p[idx]; idx += get_max_sub_group_size();
    ret.s4 = p[idx]; idx += get_max_sub_group_size();
    ret.s5 = p[idx]; idx += get_max_sub_group_size();
    ret.s6 = p[idx]; idx += get_max_sub_group_size();
    ret.s7 = p[idx]; idx += get_max_sub_group_size();

    return ret;
}

inline int FUNC(mmad_4)(char4 input, char4 weight, int acc)
{
	acc += (input[0] * weight[0]);
	acc += (input[1] * weight[1]);
	acc += (input[2] * weight[2]);
	acc += (input[3] * weight[3]);
	return acc;
}

inline int FUNC(mmad8)(int8 A_scalars, int8 B_vectors, int acc)
{
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[0]), as_char4(B_vectors[0]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[1]), as_char4(B_vectors[1]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[2]), as_char4(B_vectors[2]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[3]), as_char4(B_vectors[3]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[4]), as_char4(B_vectors[4]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[5]), as_char4(B_vectors[5]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[6]), as_char4(B_vectors[6]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[7]), as_char4(B_vectors[7]), acc);

	return acc;
}

inline int4 FUNC(mmad4x8)(int4 A_vectors, int8 B_vectors, int4 acc)
{
    int4 ret;
    for(uint i = 0; i < 4; i++)
    {
        int8 A_scalars;
        A_scalars.s0 = sub_group_broadcast(A_vectors[i], 0);
        A_scalars.s1 = sub_group_broadcast(A_vectors[i], 1);
        A_scalars.s2 = sub_group_broadcast(A_vectors[i], 2);
        A_scalars.s3 = sub_group_broadcast(A_vectors[i], 3);
        A_scalars.s4 = sub_group_broadcast(A_vectors[i], 4);
        A_scalars.s5 = sub_group_broadcast(A_vectors[i], 5);
        A_scalars.s6 = sub_group_broadcast(A_vectors[i], 6);
        A_scalars.s7 = sub_group_broadcast(A_vectors[i], 7);
        ret[i] = FUNC_CALL(mmad8)(A_scalars, B_vectors, acc[i]);
    }
    return ret;
}

inline int8 FUNC(mmad8x8)(int8 A_vectors, int8 B_vectors, int8 acc)
{
    int8 ret;
    for(uint i = 0; i < 8; i++)
    {
        int8 A_scalars;
        A_scalars.s0 = sub_group_broadcast(A_vectors[i], 0);
        A_scalars.s1 = sub_group_broadcast(A_vectors[i], 1);
        A_scalars.s2 = sub_group_broadcast(A_vectors[i], 2);
        A_scalars.s3 = sub_group_broadcast(A_vectors[i], 3);
        A_scalars.s4 = sub_group_broadcast(A_vectors[i], 4);
        A_scalars.s5 = sub_group_broadcast(A_vectors[i], 5);
        A_scalars.s6 = sub_group_broadcast(A_vectors[i], 6);
        A_scalars.s7 = sub_group_broadcast(A_vectors[i], 7);
        ret[i] = FUNC_CALL(mmad8)(A_scalars, B_vectors, acc[i]);
    }
    return ret;
}

// TODO: remove it when cl_intel_subgroups_char extension will work
inline void FUNC(sub_group_block_write_uchar8)(__global uchar* outPtr, uchar8 v)
{
#ifdef cl_intel_subgroups_char
    intel_sub_group_block_write_uc8(outPtr, v);
#else
    uint idx = get_sub_group_local_id();

	outPtr[idx] = v.s0; idx += get_max_sub_group_size();
    outPtr[idx] = v.s1; idx += get_max_sub_group_size();
    outPtr[idx] = v.s2; idx += get_max_sub_group_size();
    outPtr[idx] = v.s3; idx += get_max_sub_group_size();
    outPtr[idx] = v.s4; idx += get_max_sub_group_size();
    outPtr[idx] = v.s5; idx += get_max_sub_group_size();
    outPtr[idx] = v.s6; idx += get_max_sub_group_size();
    outPtr[idx] = v.s7; idx += get_max_sub_group_size();
#endif
}

inline uchar8 FUNC(sub_group_block_read_uchar8)(const __global uchar* ptr)
{
#ifdef cl_intel_subgroups_char
    return intel_sub_group_block_read_uc8(ptr);
#else
    uint idx = get_sub_group_local_id();

    uchar8 ret;

    ret.s0 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s1 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s2 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s3 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s4 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s5 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s6 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s7 = ptr[idx]; idx += get_max_sub_group_size();

    return ret;

#endif
}

//


#define MMAD_8(A, B, C) FUNC_CALL(mmad8)(A, B, C)

    return idx;
}

#define GET_FILTER_OS_IS_YX_ISA8_OSV8_ISV4(prefix, o, i, y, x) \
	FUNC_CALL(get_os_is_yx_isa8_osv8_isv4_index)(                               \
        o, i, y, x, CAT(prefix, _SIZE_X ),                                      \
        CAT(prefix, _SIZE_Y),                                                \
        CAT(prefix, _IFM_NUM),                                                  \
        CAT(prefix, _OFM_NUM),                                                  \
        CAT(prefix, _OFFSET))

inline uint FUNC(get_os_is_yx_isa8_osv8_isv4_swizzled_by_4_index)(uint o, uint i, uint y, uint x, uint size_x, uint size_y, uint size_ifm, uint size_ofm, uint offset)
{
    const uint o_swizzled = (o % 4) * 8 + ((o % 32) / 4) + (o / 32) * 32;

    const uint f_32_aligned = ((size_ifm + 31)/32) * 32;
	const uint isv2_idx = i % 4;
	const uint osv_idx = o_swizzled % 8;
	const uint isv1_idx = (i / 4) % 8;
	const uint is_idx = i / 32;
	const uint os_idx = o_swizzled / 8;

	size_t idx = offset + isv2_idx + 4 * (osv_idx + 8 * isv1_idx);
	idx += x * 4 * 8 * 8;
	idx += y * size_x * 4 * 8 * 8;
	idx += is_idx * size_y * size_x * 4 * 8 * 8;
	idx += os_idx * (f_32_aligned/32) * size_y * size_x * 4 * 8 * 8;

    return idx;
}

#define GET_FILTER_OS_IS_YX_ISA8_OSV8_ISV4_SWIZZLED_BY_4_INDEX(prefix, o, i, y, x) \
	FUNC_CALL(get_os_is_yx_isa8_osv8_isv4_swizzled_by_4_index)(                    \
        o, i, y, x, CAT(prefix, _SIZE_X ),                                      \
        CAT(prefix, _SIZE_Y),                                                \
        CAT(prefix, _IFM_NUM),                                                  \
        CAT(prefix, _OFM_NUM),                                                  \
        CAT(prefix, _OFFSET))


inline uint FUNC(get_is_o_yx_isv32_index)(uint o, uint i, uint y, uint x, uint i_size, uint o_size, uint x_size, uint y_size)
{
    const uint i_aligned_to_32 = ((i_size + 31) / 32) * 32;
    const uint i_val = i % 32;
    const uint i_slice = i / 32;
    const size_t idx = i_val + 32* (x + x_size * (y + y_size * (o + o_size * i_slice) ) );
    return idx;
}

#define GET_FILTER_IS_O_YX_ISV32(prefix, o, i, y, x)\
    FUNC_CALL(get_is_o_yx_isv32_index)(\
        o, i, y, x, CAT(prefix, _IFM_NUM),\
        CAT(prefix, _OFM_NUM),\
        CAT(prefix, _SIZE_X),\
        CAT(prefix, _SIZE_Y))

inline uint FUNC(get_is_o32_yx_isv32_swizzled_by_4_index)(uint o, uint i, uint y, uint x, uint i_size, uint o_size, uint x_size, uint y_size)
{
    const uint o_aligned_to_32 = ((o_size + 31) / 32) * 32;
    const uint o_swizzled = (o % 4) * 8 + ((o % 32) / 4) + (o / 32) * 32;
    const uint i_aligned_to_32 = ((i_size + 31) / 32) * 32;
    const uint i_val = i % 32;
    const uint i_slice = i / 32;
    const size_t idx = i_val + 32* (x + x_size * (y + y_size * (o_swizzled + o_aligned_to_32 * i_slice) ) );
    return idx;
}

#define GET_FILTER_IS_O32_YX_ISV32_SWIZZLED_BY_4(prefix, o, i, y, x)\
    FUNC_CALL(get_is_o32_yx_isv32_swizzled_by_4_index)(\
        o, i, y, x, CAT(prefix, _IFM_NUM),\
        CAT(prefix, _OFM_NUM),\
        CAT(prefix, _SIZE_X),\
        CAT(prefix, _SIZE_Y))

inline uint FUNC(get_os_is_y_x8_osv8_isv4_index)(uint o, uint i, uint y, uint x, uint i_size, uint o_size, uint x_size, uint y_size)
{
    const uint i_aligned_to_4 = ((i_size + 3) / 4) * 4;
    const uint o_aligned_to_8 = ((o_size + 7) / 8) * 8;
    const uint x_aligned_to_8 = ((x_size + 7) / 8) * 8;
    const uint i_val = i % 4;
    const uint i_slice = i / 4;
    const uint o_val = o % 8;
    const uint o_slice = o / 8;
    const size_t idx = i_val + 4 * (o_val + 8 * ( x + x_aligned_to_8 * (y + y_size * (i_slice + (i_aligned_to_4/4) * (o_slice)))));
    return idx;
}

#define GET_FILTER_OS_IS_Y_X8_OSV8_ISV4(prefix, o, i, y, x)\
    FUNC_CALL(get_os_is_y_x8_osv8_isv4_index)(\
        o, i, y, x, CAT(prefix, _IFM_NUM),\
        CAT(prefix, _OFM_NUM),\
        CAT(prefix, _SIZE_X),\
        CAT(prefix, _SIZE_Y))

inline uint FUNC(get_os_is_y_x8_osv8_isv4_swizzled_by_4_index)(uint o, uint i, uint y, uint x, uint i_size, uint o_size, uint x_size, uint y_size)
{
    const uint i_aligned_to_4 = ((i_size + 3) / 4) * 4;
    const uint o_aligned_to_8 = ((o_size + 7) / 8) * 8;
    const uint x_aligned_to_8 = ((x_size + 7) / 8) * 8;
    const uint i_val = i % 4;
    const uint i_slice = i / 4;
    const uint o_swizzled = (o % 4) * 8 + ((o % 32) / 4) + (o / 32) * 32;
    const uint o_val = o_swizzled % 8;
    const uint o_slice = o_swizzled / 8;
    const size_t idx = i_val + 4 * (o_val + 8 * ( x + x_aligned_to_8 * (y + y_size * (i_slice + (i_aligned_to_4/4) * (o_slice)))));
    return idx;
}

#define GET_FILTER_OS_IS_Y_X8_OSV8_ISV4_SWIZZLED_BY_4(prefix, o, i, y, x)\
    FUNC_CALL(get_os_is_y_x8_osv8_isv4_swizzled_by_4_index)(\
        o, i, y, x, CAT(prefix, _IFM_NUM),\
        CAT(prefix, _OFM_NUM),\
        CAT(prefix, _SIZE_X),\
        CAT(prefix, _SIZE_Y))


#define GET_DATA_B_FS_YX_FSV4_INDEX(prefix, o, i, y, x)\
    FUNC_CALL(get_b_fs_yx_fsv4)(\
        o, i, y, x,\
        CAT(prefix, _FEATURE_NUM),\
        CAT(prefix, _PAD_BEFORE_SIZE_Y), CAT(prefix, _SIZE_Y), CAT(prefix, _PAD_AFTER_SIZE_Y),\
        CAT(prefix, _PAD_BEFORE_SIZE_X), CAT(prefix, _SIZE_X), CAT(prefix, _PAD_AFTER_SIZE_X))

inline uint FUNC(get_b_fs_yx_fsv4)(uint o, uint i, uint y, uint x,
                                   uint feature_num,
                                   uint pad_before_size_y, uint size_y, uint pad_after_size_y,
                                   uint pad_before_size_x, uint size_x, uint pad_after_size_x)
{
    const uint tile = 4;
    uint id_tile = i / tile;
    uint id      = i - id_tile * tile;

    const uint feature_num_aligned4 = ((feature_num + 3) / 4) * 4;

    uint idx = o * (feature_num_aligned4 / tile) *
                   (pad_before_size_y + size_y + pad_after_size_y) *
                   (pad_before_size_x + size_x + pad_after_size_x) * tile
               + id_tile * (pad_before_size_y + size_y + pad_after_size_y) *
                           (pad_before_size_x + size_x + pad_after_size_x) * tile
               + pad_before_size_y * (pad_before_size_x + size_x + pad_after_size_x) * tile
               + y * (pad_before_size_x + size_x + pad_after_size_x) * tile
               + pad_before_size_x * tile
               + x * tile
               + id;

    return idx;
}

#define GET_FILTER_OS_IS_YX_OSV16_ISV4_INDEX(prefix, o, i, y, x)\
    FUNC_CALL(get_os_is_yx_osv16_isv4)(\
        o, i, y, x,\
        CAT(prefix, _IFM_PITCH),\
        CAT(prefix, _OFM_PITCH),\
        CAT(prefix, _SIZE_X))

inline uint FUNC(get_os_is_yx_osv16_isv4)(uint o, uint i, uint y, uint x,
                                          uint i_size,
                                          uint o_size,
                                          uint x_size)
{
    const uint otd = 16;
    uint out_depth_tile = o / otd;
    uint od             = o - out_depth_tile * otd;

    const uint tile = 4;
    uint id_tile = i / tile;
    uint id      = i - id_tile * tile;

    uint idx = out_depth_tile * (o_size / tile) * otd * tile
               + id_tile               * i_size * otd * tile
               + y                     * x_size * otd * tile
               + x                              * otd * tile
               + od                                   * tile
               + id;

    return idx;
}

#define GET_DATA_FS_B_YX_FSV32_INDEX(prefix, b, f, y, x)\
    FUNC_CALL(get_fs_b_yx_fsv32_index)(                 \
        b, f, y, x,                                     \
        CAT(prefix, _PAD_BEFORE_SIZE_X),                \
        CAT(prefix, _SIZE_X),                           \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
	const uint b_offset = b * b_pitch;
	const uint xy_offset = f_aligned_to_32 * x + y_pitch * y;
	const uint f_offset = f;
	const size_t idx = offset + xy_offset + b_offset + f_offset;
	return idx;
}

#define GET_DATA_BYXF_AF32_INDEX(prefix, b, f, y, x)\
	FUNC_CALL(get_byxf_af32_index)(                 \
		b, f, y, x, CAT(prefix, _Y_PITCH),          \
		CAT(prefix, _BATCH_PITCH),                      \
		CAT(prefix, _FEATURE_NUM),                 \
		CAT(prefix, _OFFSET))

inline uint FUNC(get_byx8_f4_index)(uint b, uint f, uint y, uint x,
    uint x_pitch, uint y_pitch, uint b_pitch, uint f_size, uint x_size, uint offset)
{
    const uint f_aligned_to_4 = ((f_size + 3) / 4) * 4;
    const uint x_aligned_to_8 = ((x_size + 7) / 8) * 8;
    const uint b_offset = b * b_pitch;
    const uint xy_offset = x * x_pitch + y * y_pitch;
    const uint f_offset = f;
    const size_t idx = offset + xy_offset + b_offset + f_offset;
    return idx;
}

#define GET_DATA_BYX8_F4_INDEX(prefix, b, f, y, x)\
	FUNC_CALL(get_byx8_f4_index)(                 \
		b, f, y, x, CAT(prefix, _X_PITCH),          \
		CAT(prefix, _Y_PITCH),                      \
		CAT(prefix, _BATCH_PITCH),                      \
		CAT(prefix, _FEATURE_NUM),                 \
		CAT(prefix, _SIZE_X),                 \
		CAT(prefix, _OFFSET))

#define GET_DATA_BF8_XY16_INDEX(prefix, b, f, y, x)     \
    FUNC_CALL(get_bf8_xy16_index)(                      \
        b, f, y, x, CAT(prefix, _SIZE_X ),              \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _FEATURE_NUM),                      \
        CAT(prefix, _OFFSET))

inline uint FUNC(get_fs_bs_yx_bsv4_fsv32_index)(uint b, uint f, uint y, uint x,
    uint x_pad_before, uint x_size, uint x_pad_after,
    uint y_pad_before, uint y_size, uint y_pad_after,
    uint size_f, uint size_b)
{
    const uint f_32_aligned = ((size_f + 31)/32) * 32;
    const uint b_4_aligned = ((size_b + 3)/4) * 4;
    const uint fsv_idx = f % 32;
    const uint bsv_idx = b % 4;
    const uint fs_idx = f / 32;
    const uint bs_idx = b / 4;

    const uint x_pitch = 32 * 4;
    const uint y_pitch = 32 * 4 * (x_pad_before + x_size + x_pad_after);
    const uint bs_pitch = y_pitch * (y_pad_before + y_size + y_pad_after);
    const uint fs_pitch = bs_pitch * (b_4_aligned / 4);
    uint offset = x_pitch * x_pad_before + y_pitch * y_pad_before;

    size_t idx = offset + fsv_idx + bsv_idx * 32;
    idx += 32*4 * x;
    idx += y * y_pitch;
    idx += bs_idx * bs_pitch;
    idx += fs_idx * fs_pitch;

    return idx;
}

#define GET_DATA_FS_BS_YX_BSV4_FSV32_INDEX(prefix, b, f, y, x)\
	FUNC_CALL(get_fs_bs_yx_bsv4_fsv32_index)(       \
		b, f, y, x,                                 \
        CAT(prefix, _PAD_BEFORE_SIZE_X),            \
        CAT(prefix, _SIZE_X),                       \
        CAT(prefix, _PAD_AFTER_SIZE_X),             \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),            \
        CAT(prefix, _SIZE_Y),                       \
        CAT(prefix, _PAD_AFTER_SIZE_Y),             \
		CAT(prefix, _FEATURE_NUM),                  \
        CAT(prefix, _BATCH_NUM))

#define GET_FILTER_INDEX(prefix, o, i, y, x)    \
    CAT(prefix, _OFFSET) +                      \
    (x)*CAT(prefix, _X_PITCH) +                 \
    (y)*CAT(prefix, _Y_PITCH) +                 \
    (i)*CAT(prefix, _IFM_PITCH) +               \
    (o)*CAT(prefix, _OFM_PITCH)

#define GET_FILTER_INDEX_SAFE(prefix, o, i, y, x)           \
    CAT(prefix, _OFFSET) +                                  \
    (x % CAT(prefix, _SIZE_X ))*CAT(prefix, _X_PITCH) +     \
    (y % CAT(prefix, _SIZE_Y ))*CAT(prefix, _Y_PITCH) +     \
    (i % CAT(prefix, _IFM_NUM))*CAT(prefix, _IFM_PITCH) +   \
    (o % CAT(prefix, _OFM_NUM))*CAT(prefix, _OFM_PITCH)

#define GET_FILTER_OS_IYX_OSV8_INDEX(prefix, o, i, y, x, sub_group_size)    \
    CAT(prefix, _OFFSET) +                                                  \
    ((o) % (sub_group_size)) +                                              \
    (sub_group_size)*(                                                      \
        (x)*CAT(prefix, _X_PITCH) +                                         \
        (y)*CAT(prefix, _Y_PITCH) +                                         \
        (i)*CAT(prefix, _IFM_PITCH) +                                       \
        ((o) / (sub_group_size))*CAT(prefix, _OFM_PITCH)                    \
    )

#define GET_FILTER_OS_IYX_OSV8_ROTATE_180_INDEX(prefix, o, i, y, x, sub_group_size)    \
    CAT(prefix, _OFFSET) +                                                  \
    ((o) % (sub_group_size)) +                                              \
    (sub_group_size)*(                                                      \
        (CAT(prefix, _SIZE_X ) - x - 1)*CAT(prefix, _X_PITCH) +             \
        (CAT(prefix, _SIZE_Y ) - y - 1)*CAT(prefix, _Y_PITCH) +             \
        (i)*CAT(prefix, _IFM_PITCH) +                                       \
        ((o) / (sub_group_size))*CAT(prefix, _OFM_PITCH)                    \
    )

inline uint FUNC(get_i_yxs_os_yxsv2_osv_index)(uint o, uint i, uint y, uint x, uint x_size, uint i_pitch, uint y_pitch, uint x_pitch, uint offset, uint sub_group_size)
{
    const uint aligned_ofm_line = x_pitch;
    const uint ifm_height_pitch = (i_pitch/aligned_ofm_line);
    const uint dst_height = i*ifm_height_pitch + y*x_size + x;
    const uint base_filter_index = y*x_size + x;

    const uint aligned_height = dst_height & 0xfffffffe;
    const uint base_filter_odd = (base_filter_index & 0x1);

    uint slice_id = o / sub_group_size;
    uint id_in_slice = o % sub_group_size;
    uint slice_pitch = 2*sub_group_size;
    uint offset_in_slice = (int)(sub_group_size*base_filter_odd);

    const uint in_line = (slice_pitch*slice_id + offset_in_slice + id_in_slice);
    const size_t idx = offset + aligned_height*aligned_ofm_line + in_line;

    return idx;
}

#define GET_FILTER_I_YXS_OS_YXSV2_OSV_INDEX(prefix, o, i, y, x, sub_group_size) \
    FUNC_CALL(get_i_yxs_os_yxsv2_osv_index)(                                    \
        o, i, y, x, CAT(prefix, _SIZE_X ),                                      \
        CAT(prefix, _IFM_PITCH),                                                \
        CAT(prefix, _Y_PITCH),                                                  \
        CAT(prefix, _X_PITCH),                                                  \
        CAT(prefix, _OFFSET),                                                   \
        sub_group_size)

inline uint FUNC(get_iy_xs_os_xsv2_osv_index)(uint o, uint i, uint y, uint x, uint x_size, uint i_pitch, uint y_pitch, uint x_pitch, uint offset, uint sub_group_size)
{
    const uint aligned_ofm_line = x_pitch;
    const uint ifm_height_pitch = (i_pitch/aligned_ofm_line);
    const uint aligned_x_line = y_pitch / x_pitch;
    const uint dst_height = i*ifm_height_pitch + y*aligned_x_line + x;
    const uint base_filter_index = x;

    const uint aligned_height = dst_height & 0xfffffffe;
    const uint base_filter_odd = (base_filter_index & 0x1);

    uint slice_id = o / sub_group_size;
    uint id_in_slice = o % sub_group_size;
    uint slice_pitch = 2*sub_group_size;
    uint offset_in_slice = (int)(sub_group_size*base_filter_odd);

    const bool last_line_in_base_filter = (x == (x_size - 1));
    if (last_line_in_base_filter && base_filter_odd == 0)
    {
        const uint element_in_slice = 32;
        slice_id = o / element_in_slice;
        id_in_slice = o % element_in_slice;
        slice_pitch = 2*element_in_slice;
        offset_in_slice = 0;
    }

    const uint in_line = (slice_pitch*slice_id + offset_in_slice + id_in_slice);
    const size_t idx = offset + aligned_height*aligned_ofm_line + in_line;

    return idx;
}

#define GET_FILTER_IY_XS_OS_XSV2_OSV_INDEX(prefix, o, i, y, x, sub_group_size)  \
    FUNC_CALL(get_iy_xs_os_xsv2_osv_index)(                                     \
        o, i, y, x, CAT(prefix, _SIZE_X ),                                      \
        CAT(prefix, _IFM_PITCH),                                                \
        CAT(prefix, _Y_PITCH),                                                  \
        CAT(prefix, _X_PITCH),                                                  \
        CAT(prefix, _OFFSET),                                                   \
        sub_group_size)

inline uint FUNC(get_os_is_yx_isa8_osv8_isv4_index)(uint o, uint i, uint y, uint x, uint size_x, uint size_y, uint size_ifm, uint size_ofm, uint offset)
{
    const uint f_32_aligned = ((size_ifm + 31)/32) * 32;
	const uint isv2_idx = i % 4;
	const uint osv_idx = o % 8;
	const uint isv1_idx = (i / 4) % 8;
	const uint is_idx = i / 32;
	const uint os_idx = o / 8;

	size_t idx = offset + isv2_idx + 4 * (osv_idx + 8 * isv1_idx);
	idx += x * 4 * 8 * 8;
	idx += y * size_x * 4 * 8 * 8;
	idx += is_idx * size_y * size_x * 4 * 8 * 8;
	idx += os_idx * (f_32_aligned/32) * size_y * size_x * 4 * 8 * 8;
// Copyright (c) 2016-2017 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))


/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/


#define GET_DATA_INDEX(prefix, b, f, y, x)  \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_INDEX_SAFE(prefix, b, f, y, x)                     \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

 #define GET_3D_DATA_INDEX(prefix, b, f, z, y, x) \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (z)*CAT(prefix, _Z_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_3D_DATA_INDEX_SAFE(prefix, b, f, z, y, x)               \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (z % CAT(prefix, _SIZE_Z     ))*CAT(prefix, _Z_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_BS_FYX_BSV8_INDEX(prefix, b, f, y, x, sub_group_size)  \
    CAT(prefix, _OFFSET) +                                              \
    ((b) % (sub_group_size)) +                                          \
    (sub_group_size)*(                                                  \
        (x)*CAT(prefix, _X_PITCH) +                                     \
        (y)*CAT(prefix, _Y_PITCH) +                                     \
        (f)*CAT(prefix, _FEATURE_PITCH) +                               \
        ((b) / (sub_group_size))*CAT(prefix, _BATCH_PITCH)              \
    )

inline uint FUNC(get_bf8_xy16_index)(uint b, uint f, uint y, uint x, uint x_size, uint y_size, uint f_size, uint offset)
{
    const uint xy_idx = x + y * x_size;
    const uint xy_offset = (xy_idx % 16) + (xy_idx / 16) * 16 * 8;
    const uint xy_block_num = (x_size * y_size + 16 - 1) / 16;
    const uint f_offset = (f % 8) * 16 + (f / 8) * xy_block_num * 16 * 8;
    const uint f_block_num = (f_size + 8 - 1) / 8;
    const uint b_offset = b * f_block_num * xy_block_num * 128;

    const size_t idx = offset + xy_offset + f_offset + b_offset;

    return idx;
}

inline uint FUNC(get_bfyx_f16_index)(
    uint b, uint f, uint y, uint x,
    uint x_size, uint y_size, uint f_size,
    uint y_pad_before,uint y_pad_after,
    uint x_pad_before, uint x_pad_after,
    uint f_pad_before, uint f_pad_after)
{
    const uint feature_slice_size = 16;

    const uint full_width = x_size + x_pad_before + x_pad_after;
    const uint full_height = y_size + y_pad_before + y_pad_after;
    const uint full_features = f_pad_before + f_size + f_pad_after;
    const uint feature_tiles_number = (full_features + feature_slice_size - 1) / feature_slice_size;

    const uint x_pitch = feature_slice_size;
    const uint y_pitch = x_pitch * full_width;
    const uint fs_pitch = y_pitch * full_height;
    const uint b_pitch = fs_pitch * feature_tiles_number;

    const uint x_offset = (x + x_pad_before) * x_pitch;
    const uint y_offset = (y + y_pad_before) * y_pitch;
    const uint fs_offset = (f / feature_slice_size + f_pad_before / feature_slice_size) * fs_pitch;
    const uint b_offset = b * b_pitch;

    const size_t idx = x_offset + y_offset + fs_offset + b_offset + (f % feature_slice_size);

    return idx;
}

#define GET_DATA_BFYX_F16_INDEX(prefix, b, f, y, x)     \
    FUNC_CALL(get_bfyx_f16_index)(                      \
        b, f, y, x,                                     \
        CAT(prefix, _SIZE_X ),                          \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _FEATURE_NUM),                      \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_X),                \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _PAD_AFTER_FEATURE_NUM))

#define GET_FILTER_O_I_YX_I16_O16_INDEX(prefix, o, i, y, x, sub_group_size)  \
    CAT(prefix, _OFFSET) +                                                   \
    ((o) % (sub_group_size)) +                                               \
    (sub_group_size)*(                                                       \
        (x)*(sub_group_size)*CAT(prefix, _X_PITCH) +                         \
        (y)*(sub_group_size)*CAT(prefix, _Y_PITCH) +                         \
        ((i) % (sub_group_size)) +                                           \
        ((i) / (sub_group_size))*(sub_group_size)*CAT(prefix, _IFM_PITCH) +  \
        ((o) / (sub_group_size))*CAT(prefix, _OFM_PITCH)                     \
    )

inline uint FUNC(get_byxf_af32_index)(uint b, uint f, uint y, uint x, uint y_pitch, uint b_pitch, uint f_size, uint offset)
{
	const uint f_aligned_to_32 = ((f_size + 31) / 32) * 32;
convolution_gpu_1x1_gemm_mmad    #define ALIGNED_BLOCK_READ8(ptr, byte_offset) as_half8(intel_sub_group_block_read_us8((const __global ushort*)(ptr) + (byte_offset)))

    #define MULTIPLY_BLOCKS_16x8_8x16(_result, _blockA, _blockB) \
    { \
        const half16 acol0 = TRANSPOSE_BLOCK_16_FP16_HALF_TYPE( _blockA.s0 ); \
        const half16 acol1 = TRANSPOSE_BLOCK_16_FP16_HALF_TYPE( _blockA.s1 ); \
        const half16 acol2 = TRANSPOSE_BLOCK_16_FP16_HALF_TYPE( _blockA.s2 ); \
        const half16 acol3 = TRANSPOSE_BLOCK_16_FP16_HALF_TYPE( _blockA.s3 ); \
        const half16 acol4 = TRANSPOSE_BLOCK_16_FP16_HALF_TYPE( _blockA.s4 ); \
        const half16 acol5 = TRANSPOSE_BLOCK_16_FP16_HALF_TYPE( _blockA.s5 ); \
        const half16 acol6 = TRANSPOSE_BLOCK_16_FP16_HALF_TYPE( _blockA.s6 ); \
        const half16 acol7 = TRANSPOSE_BLOCK_16_FP16_HALF_TYPE( _blockA.s7 ); \
        _result = fma( _blockB.s0, acol0, _result ); \
        _result = fma( _blockB.s1, acol1, _result ); \
        _result = fma( _blockB.s2, acol2, _result ); \
        _result = fma( _blockB.s3, acol3, _result ); \
        _result = fma( _blockB.s4, acol4, _result ); \
        _result = fma( _blockB.s5, acol5, _result ); \
        _result = fma( _blockB.s6, acol6, _result ); \
        _result = fma( _blockB.s7, acol7, _result ); \
    }
#else
    // Block read - currently block is 4 bytes aligned.
    #define ALIGNED_BLOCK_READ8(ptr, byte_offset) as_float8(intel_sub_group_block_read8((const __global uint*)(ptr) + (byte_offset)))

    #define MULTIPLY_BLOCKS_16x8_8x16(_result, _blockA, _blockB) \
    { \
        const float16 acol0 = TRANSPOSE_BLOCK_16( _blockA.s0 ); \
        const float16 acol1 = TRANSPOSE_BLOCK_16( _blockA.s1 ); \
        const float16 acol2 = TRANSPOSE_BLOCK_16( _blockA.s2 ); \
        const float16 acol3 = TRANSPOSE_BLOCK_16( _blockA.s3 ); \
        const float16 acol4 = TRANSPOSE_BLOCK_16( _blockA.s4 ); \
        const float16 acol5 = TRANSPOSE_BLOCK_16( _blockA.s5 ); \
        const float16 acol6 = TRANSPOSE_BLOCK_16( _blockA.s6 ); \
        const float16 acol7 = TRANSPOSE_BLOCK_16( _blockA.s7 ); \
        _result = fma( _blockB.s0, acol0, _result ); \
        _result = fma( _blockB.s1, acol1, _result ); \
        _result = fma( _blockB.s2, acol2, _result ); \
        _result = fma( _blockB.s3, acol3, _result ); \
        _result = fma( _blockB.s4, acol4, _result ); \
        _result = fma( _blockB.s5, acol5, _result ); \
        _result = fma( _blockB.s6, acol6, _result ); \
        _result = fma( _blockB.s7, acol7, _result ); \
    }
#endif

__attribute__((intel_reqd_sub_group_size(16)))
KERNEL(convolution_bfyx_1x1)(
    __global INPUT0_TYPE* input,
    __global OUTPUT_TYPE* output,
    __global FILTER_TYPE* weights,
#if BIAS_TERM
    __global BIAS_TYPE* biases,
#endif
    uint split_idx)
{
    const uint xy = get_group_id(0) * 16 + get_sub_group_local_id();
    const uint x = xy % OUTPUT_SIZE_X;
    const uint y = xy / OUTPUT_SIZE_X;
    const uint f = get_group_id(1) * 16 + get_sub_group_local_id();//get_global_id(1);
    const uint b = get_global_id(2);
    const uint group_f = get_group_id(1) * 16;

    MAKE_VECTOR_TYPE(UNIT_TYPE, 16) blockC00 = UNIT_VAL_ZERO;

#if BIAS_TERM
    #if   BIAS_PER_OUTPUT
        const uint bias_index = GET_DATA_INDEX(BIAS, b, f, y, x);
    #elif BIAS_PER_OFM
        const uint bias_index = f;
    #endif
    for(uint i = 0; i < 16; i++)
    {
        blockC00[i] = intel_sub_group_shuffle(biases[bias_index], i);
    }
#endif

#if DEPTHWISE_SEPARABLE_OPT
    const uint in_split_offset = (f / FILTER_OFM_NUM) * INPUT0_FEATURE_PITCH * FILTER_IFM_NUM;
#else
    const uint in_split_offset = split_idx * INPUT0_FEATURE_PITCH * FILTER_IFM_NUM;
#endif
    const uint filter_offset = group_f * ((FILTER_OFM_PITCH + 8 - 1) / 8) * 8;//f*FILTER_OFM_PITCH;
    const uint xy_block_num = (INPUT0_FEATURE_PITCH + 16 - 1) / 16;
    const uint f_block_num = (INPUT0_FEATURE_NUM + 8 - 1) / 8;
    const uint input_offset = in_split_offset + xy * 8 + b * xy_block_num * f_block_num * 128;//b*INPUT0_BATCH_PITCH + INPUT0_OFFSET + in_split_offset;

    for (uint k = 0; k < (FILTER_IFM_NUM + 8 - 1) / 8; ++k)
    {
        MAKE_VECTOR_TYPE(UNIT_TYPE, 8) blockA00;
        MAKE_VECTOR_TYPE(UNIT_TYPE, 8) blockB00;

        uint input_idx = input_offset + k * 8 * xy_block_num * 16;
        uint filter_idx = filter_offset + k * 8 * 16;

        blockA00 = ALIGNED_BLOCK_READ8(input, input_idx);
        blockB00 = ALIGNED_BLOCK_READ8(weights, filter_idx);

        MULTIPLY_BLOCKS_16x8_8x16(blockC00, blockB00, blockA00);
    }

    if(xy >= INPUT0_SIZE_X * INPUT0_SIZE_Y)
        return;

    const uint out_split_offset = split_idx * OUTPUT_FEATURE_PITCH * OUTPUT_FEATURE_NUM;

    for(uint i = 0; i < 16; i++)
    {
    #if OUTPUT_LAYOUT_BF8_XY16
        const uint dst_index = GET_DATA_BF8_XY16_INDEX(OUTPUT, b, group_f+i, y, x) + out_split_offset;
    #else
        const uint dst_index = GET_DATA_INDEX(OUTPUT, b, group_f+i, y, x) + out_split_offset;
    #endif
    #if LEFTOVERS
        if(group_f+i < OUTPUT_FEATURE_NUM)
    #endif
        output[dst_index] = ACTIVATION(blockC00[i], NL_M, NL_N);
    }
}

#undef ALIGNED_BLOCK_READ8
#undef MULTIPLY_BLOCKS_16x8_8x16
#undef CONCAT_TOKEN
#undef CONCAT_TOKEN_HANDLER1
#undef MULTIPLY_BLOCKS_16x16
#undef MAKE_VECTOR_TYPE

        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif


/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_intel_subgroups)
#pragma OPENCL EXTENSION  cl_intel_subgroups : enable
#endif

#if defined(cl_intel_subgroups_short)
#pragma OPENCL EXTENSION  cl_intel_subgroups_short : enable
#endif

#define TRANSPOSE_BLOCK_8( _block )   \
        (float8)( intel_sub_group_shuffle( _block, 0 ), \
                  intel_sub_group_shuffle( _block, 1 ), \
                  intel_sub_group_shuffle( _block, 2 ), \
                  intel_sub_group_shuffle( _block, 3 ), \
                  intel_sub_group_shuffle( _block, 4 ), \
                  intel_sub_group_shuffle( _block, 5 ), \
                  intel_sub_group_shuffle( _block, 6 ), \
                  intel_sub_group_shuffle( _block, 7 ) );

#define TRANSPOSE_BLOCK_8_FP16( _block )   \
        (half8)( intel_sub_group_shuffle( _block, 0 ), \
                  intel_sub_group_shuffle( _block, 1 ), \
                  intel_sub_group_shuffle( _block, 2 ), \
                  intel_sub_group_shuffle( _block, 3 ), \
                  intel_sub_group_shuffle( _block, 4 ), \
                  intel_sub_group_shuffle( _block, 5 ), \
                  intel_sub_group_shuffle( _block, 6 ), \
                  intel_sub_group_shuffle( _block, 7 ) );

#define TRANSPOSE_BLOCK_8_COL( _block, _col )   \
        (float8)( intel_sub_group_shuffle( _block.s0, _col ), \
                  intel_sub_group_shuffle( _block.s1, _col ), \
                  intel_sub_group_shuffle( _block.s2, _col ), \
                  intel_sub_group_shuffle( _block.s3, _col ), \
                  intel_sub_group_shuffle( _block.s4, _col ), \
                  intel_sub_group_shuffle( _block.s5, _col ), \
                  intel_sub_group_shuffle( _block.s6, _col ), \
                  intel_sub_group_shuffle( _block.s7, _col ) );

#define TRANSPOSE_BLOCK_8_COL_FP16( _block, _col )   \
        (half8)( intel_sub_group_shuffle( _block.s0, _col ), \
                  intel_sub_group_shuffle( _block.s1, _col ), \
                  intel_sub_group_shuffle( _block.s2, _col ), \
                  intel_sub_group_shuffle( _block.s3, _col ), \
                  intel_sub_group_shuffle( _block.s4, _col ), \
                  intel_sub_group_shuffle( _block.s5, _col ), \
                  intel_sub_group_shuffle( _block.s6, _col ), \
                  intel_sub_group_shuffle( _block.s7, _col ) );

#define TRANSPOSE_BLOCK_16_FP16(_block)  \
        (half16)(as_half2(intel_sub_group_shuffle(_block, 0)),  \
                 as_half2(intel_sub_group_shuffle(_block, 1)),  \
                 as_half2(intel_sub_group_shuffle(_block, 2)),  \
                 as_half2(intel_sub_group_shuffle(_block, 3)),  \
                 as_half2(intel_sub_group_shuffle(_block, 4)),  \
                 as_half2(intel_sub_group_shuffle(_block, 5)),  \
                 as_half2(intel_sub_group_shuffle(_block, 6)),  \
                 as_half2(intel_sub_group_shuffle(_block, 7)));

#define TRANSPOSE_BLOCK_16_FP16_HALF_TYPE(_block)  \
        (half16)(intel_sub_group_shuffle(_block, 0),  \
                 intel_sub_group_shuffle(_block, 1),  \
                 intel_sub_group_shuffle(_block, 2),  \
                 intel_sub_group_shuffle(_block, 3),  \
                 intel_sub_group_shuffle(_block, 4),  \
                 intel_sub_group_shuffle(_block, 5),  \
                 intel_sub_group_shuffle(_block, 6),  \
                 intel_sub_group_shuffle(_block, 7),  \
                 intel_sub_group_shuffle(_block, 8),  \
                 intel_sub_group_shuffle(_block, 9),  \
                 intel_sub_group_shuffle(_block, 10),  \
                 intel_sub_group_shuffle(_block, 11),  \
                 intel_sub_group_shuffle(_block, 12),  \
                 intel_sub_group_shuffle(_block, 13),  \
                 intel_sub_group_shuffle(_block, 14),  \
                 intel_sub_group_shuffle(_block, 15));

#define TRANSPOSE_BLOCK_16(_block)  \
        (float16)(intel_sub_group_shuffle(_block, 0),  \
                 intel_sub_group_shuffle(_block, 1),  \
                 intel_sub_group_shuffle(_block, 2),  \
                 intel_sub_group_shuffle(_block, 3),  \
                 intel_sub_group_shuffle(_block, 4),  \
                 intel_sub_group_shuffle(_block, 5),  \
                 intel_sub_group_shuffle(_block, 6),  \
                 intel_sub_group_shuffle(_block, 7),  \
                 intel_sub_group_shuffle(_block, 8),  \
                 intel_sub_group_shuffle(_block, 9),  \
                 intel_sub_group_shuffle(_block, 10),  \
                 intel_sub_group_shuffle(_block, 11),  \
                 intel_sub_group_shuffle(_block, 12),  \
                 intel_sub_group_shuffle(_block, 13),  \
                 intel_sub_group_shuffle(_block, 14),  \
                 intel_sub_group_shuffle(_block, 15));

#define DOT_PRODUCT_8( _result, _rowA, colB )    \
{   \
        _result.s0 = mad( _rowA, intel_sub_group_shuffle( colB, 0 ), _result.s0 );  \
        _result.s1 = mad( _rowA, intel_sub_group_shuffle( colB, 1 ), _result.s1 );  \
        _result.s2 = mad( _rowA, intel_sub_group_shuffle( colB, 2 ), _result.s2 );  \
        _result.s3 = mad( _rowA, intel_sub_group_shuffle( colB, 3 ), _result.s3 );  \
        _result.s4 = mad( _rowA, intel_sub_group_shuffle( colB, 4 ), _result.s4 );  \
        _result.s5 = mad( _rowA, intel_sub_group_shuffle( colB, 5 ), _result.s5 );  \
        _result.s6 = mad( _rowA, intel_sub_group_shuffle( colB, 6 ), _result.s6 );  \
        _result.s7 = mad( _rowA, intel_sub_group_shuffle( colB, 7 ), _result.s7 );  \
}

#define ADD_BIAS_8( _result, _biasVal) \
{ \
    _result.s0 += intel_sub_group_shuffle( _biasVal, 0 ); \
    _result.s1 += intel_sub_group_shuffle( _biasVal, 1 ); \
    _result.s2 += intel_sub_group_shuffle( _biasVal, 2 ); \
    _result.s3 += intel_sub_group_shuffle( _biasVal, 3 ); \
    _result.s4 += intel_sub_group_shuffle( _biasVal, 4 ); \
    _result.s5 += intel_sub_group_shuffle( _biasVal, 5 ); \
    _result.s6 += intel_sub_group_shuffle( _biasVal, 6 ); \
    _result.s7 += intel_sub_group_shuffle( _biasVal, 7 ); \
}

#define ADD_BIAS_16_FP16( _result, _biasVal) \
{ \
    _result.s01 += as_half2(intel_sub_group_shuffle(_biasVal, 0)); \
    _result.s23 += as_half2(intel_sub_group_shuffle(_biasVal, 1)); \
    _result.s45 += as_half2(intel_sub_group_shuffle(_biasVal, 2)); \
    _result.s67 += as_half2(intel_sub_group_shuffle(_biasVal, 3)); \
    _result.s89 += as_half2(intel_sub_group_shuffle(_biasVal, 4)); \
    _result.sab += as_half2(intel_sub_group_shuffle(_biasVal, 5)); \
    _result.scd += as_half2(intel_sub_group_shuffle(_biasVal, 6)); \
    _result.sef += as_half2(intel_sub_group_shuffle(_biasVal, 7)); \
}


#if FP16_UNIT_USED
// Copyright (c) 2016-2017 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/


#define GET_DATA_INDEX(prefix, b, f, y, x)  \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_INDEX_SAFE(prefix, b, f, y, x)                     \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

 #define GET_3D_DATA_INDEX(prefix, b, f, z, y, x) \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (z)*CAT(prefix, _Z_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_3D_DATA_INDEX_SAFE(prefix, b, f, z, y, x)               \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (z % CAT(prefix, _SIZE_Z     ))*CAT(prefix, _Z_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_BS_FYX_BSV8_INDEX(prefix, b, f, y, x, sub_group_size)  \
    CAT(prefix, _OFFSET) +                                              \
    ((b) % (sub_group_size)) +                                          \
    (sub_group_size)*(                                                  \
        (x)*CAT(prefix, _X_PITCH) +                                     \
        (y)*CAT(prefix, _Y_PITCH) +                                     \
        (f)*CAT(prefix, _FEATURE_PITCH) +                               \
        ((b) / (sub_group_size))*CAT(prefix, _BATCH_PITCH)              \
    )

inline uint FUNC(get_bf8_xy16_index)(uint b, uint f, uint y, uint x, uint x_size, uint y_size, uint f_size, uint offset)
{
    const uint xy_idx = x + y * x_size;
    const uint xy_offset = (xy_idx % 16) + (xy_idx / 16) * 16 * 8;
    const uint xy_block_num = (x_size * y_size + 16 - 1) / 16;
    const uint f_offset = (f % 8) * 16 + (f / 8) * xy_block_num * 16 * 8;
    const uint f_block_num = (f_size + 8 - 1) / 8;
    const uint b_offset = b * f_block_num * xy_block_num * 128;

    const size_t idx = offset + xy_offset + f_offset + b_offset;

    return idx;
}

inline uint FUNC(get_bfyx_f16_index)(
    uint b, uint f, uint y, uint x,
    uint x_size, uint y_size, uint f_size,
    uint y_pad_before,uint y_pad_after,
    uint x_pad_before, uint x_pad_after,
    uint f_pad_before, uint f_pad_after)
{
    const uint feature_slice_size = 16;

    const uint full_width = x_size + x_pad_before + x_pad_after;
    const uint full_height = y_size + y_pad_before + y_pad_after;
    const uint full_features = f_pad_before + f_size + f_pad_after;
    const uint feature_tiles_number = (full_features + feature_slice_size - 1) / feature_slice_size;

    const uint x_pitch = feature_slice_size;
    const uint y_pitch = x_pitch * full_width;
    const uint fs_pitch = y_pitch * full_height;
    const uint b_pitch = fs_pitch * feature_tiles_number;

    const uint x_offset = (x + x_pad_before) * x_pitch;
    const uint y_offset = (y + y_pad_before) * y_pitch;
    const uint fs_offset = (f / feature_slice_size + f_pad_before / feature_slice_size) * fs_pitch;
    const uint b_offset = b * b_pitch;

    const size_t idx = x_offset + y_offset + fs_offset + b_offset + (f % feature_slice_size);

    return idx;
}

#define GET_DATA_BFYX_F16_INDEX(prefix, b, f, y, x)     \
    FUNC_CALL(get_bfyx_f16_index)(                      \
        b, f, y, x,                                     \
        CAT(prefix, _SIZE_X ),                          \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _FEATURE_NUM),                      \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_X),                \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _PAD_AFTER_FEATURE_NUM))
        C_write[14*N] = ACTIVATION(C8.s6, NL_M, NL_N);
#endif
#if 15 < LAST_LOCAL_Y
        C_write[15*N] = ACTIVATION(C8.s7, NL_M, NL_N);
#endif
    }
}

	const float8    acol5 = GET_COL_8( _blockA, 5 );	\
	const float8    acol6 = GET_COL_8( _blockA, 6 );	\
	const float8    acol7 = GET_COL_8( _blockA, 7 );	\
	_result = mad( (float8)(_blockB.s0), acol0, _result );	\
	_result = mad( (float8)(_blockB.s1), acol1, _result );	\
	_result = mad( (float8)(_blockB.s2), acol2, _result );	\
	_result = mad( (float8)(_blockB.s3), acol3, _result );	\
	_result = mad( (float8)(_blockB.s4), acol4, _result );	\
	_result = mad( (float8)(_blockB.s5), acol5, _result );	\
	_result = mad( (float8)(_blockB.s6), acol6, _result );	\
	_result = mad( (float8)(_blockB.s7), acol7, _result );	\
    }

#define MULTIPLY_BLOCKS_16x8_HI( _result, _blockA, _blockB )	\
    {								\
	const float8    acol0 = GET_COL_8( _blockA, 8 );	\
	const float8    acol1 = GET_COL_8( _blockA, 9 );	\
	const float8    acol2 = GET_COL_8( _blockA, 10 );	\
	const float8    acol3 = GET_COL_8( _blockA, 11 );	\
	const float8    acol4 = GET_COL_8( _blockA, 12 );	\
	const float8    acol5 = GET_COL_8( _blockA, 13 );	\
	const float8    acol6 = GET_COL_8( _blockA, 14 );	\
	const float8    acol7 = GET_COL_8( _blockA, 15 );	\
	_result = mad( (float8)(_blockB.s0), acol0, _result );	\
	_result = mad( (float8)(_blockB.s1), acol1, _result );	\
	_result = mad( (float8)(_blockB.s2), acol2, _result );	\
	_result = mad( (float8)(_blockB.s3), acol3, _result );	\
	_result = mad( (float8)(_blockB.s4), acol4, _result );	\
	_result = mad( (float8)(_blockB.s5), acol5, _result );	\
	_result = mad( (float8)(_blockB.s6), acol6, _result );	\
	_result = mad( (float8)(_blockB.s7), acol7, _result );	\
    }


#define WRITE_BLOCK_2(ptr_,     block0_, block1_, row_)                 \
    if (row_ < max_row) {                                               \
        const float2 vec = (float2)(block0_.s ## row_,                  \
                                    block1_.s ## row_);                 \
        intel_sub_group_block_write2((__global uint*)&ptr_[N*row_], as_uint2(vec)); \
    }

#define WRITE_BLOCK_4(ptr_, block0_, block1_, block2_, block3_, row_)   \
    if (row_ < max_row) {                                               \
        const float4 vec = (float4)(block0_.s ## row_,                  \
                                    block1_.s ## row_,                  \
                                    block2_.s ## row_,                  \
                                    block3_.s ## row_);                 \
        intel_sub_group_block_write4((__global uint*)&ptr_[N*row_], as_uint4(vec)); \
    }


#define MULT(C_, A_, i_)                   \
    DOT8i(C_,  B0, A_, i_ + 0);            \
    DOT8i(C_,  B8, A_, i_ + 1);            \
    DOT8i(C_, B16, A_, i_ + 2);            \
    DOT8i(C_, B24, A_, i_ + 3);

__attribute__((reqd_work_group_size(16, TY, 1)))
__attribute__((intel_reqd_sub_group_size(16)))
KERNEL(convolution_gpu_bfyx_1x1_hgemm_buf_16x1)(
    __global INPUT0_TYPE* input,
    __global OUTPUT_TYPE* output,
    __read_only image2d_t weights,
#if BIAS_TERM
    __global BIAS_TYPE* biases,
#endif
    uint split_idx)
{

    const uint local_x = get_local_id(0);
    const uint local_y = get_local_id(1);
    const uint group_x = get_group_id(0);
    const uint group_y = get_group_id(1);
    const uint batch = get_global_id(2);

#if BIAS_TERM
    const uint bias_index = group_x * TILE_N + local_x;
    half8 C0 = biases[bias_index];
    half8 C8 = biases[bias_index];
#else
    //      i [16.1]
    half8 C0 = 0.0h;
    half8 C8 = 0.0h;
#endif

    uint lxd4 = local_x >> 2;
    uint lxm4 = local_x % 4;

    uint i = TILE_M * group_y + local_y * 16 + lxd4;

    __global const half8 *A_load = (__global const half8*)&input[batch * INPUT0_BATCH_PITCH + i*K + (lxm4<<3)];

    uint j = group_x << 4;

    // YX->KN
    int2 coordB = (int2)(j * sizeof(short), 0);

    for (uint k8 = 0; k8 < K8; k8 += 4) {

        // 512 MADs

        half8 B0 = as_half8(intel_sub_group_block_read_us8(weights, coordB));
        coordB.y += 8;
        half8 B8 = as_half8(intel_sub_group_block_read_us8(weights, coordB));
        coordB.y += 8;

        half8 B16 = as_half8(intel_sub_group_block_read_us8(weights, coordB));
        coordB.y += 8;
        half8 B24 = as_half8(intel_sub_group_block_read_us8(weights, coordB));
        coordB.y += 8;

        half8 A0 = A_load[K8*0 + k8];
        half8 A4 = A_load[K8*4 + k8];

        MULT(C0.s0, A0, 0);
        MULT(C0.s1, A0, 4);
        MULT(C0.s2, A0, 8);
        MULT(C0.s3, A0, 12);
        MULT(C0.s4, A4, 0);
        MULT(C0.s5, A4, 4);
        MULT(C0.s6, A4, 8);
        MULT(C0.s7, A4, 12);

        A0 = A_load[K8* 8 + k8];
        A4 = A_load[K8*12 + k8];

        MULT(C8.s0, A0, 0);
        MULT(C8.s1, A0, 4);
        MULT(C8.s2, A0, 8);
        MULT(C8.s3, A0, 12);
        MULT(C8.s4, A4, 0);
        MULT(C8.s5, A4, 4);
        MULT(C8.s6, A4, 8);
        MULT(C8.s7, A4, 12);
    }

    uint y0 = group_y * TILE_M + (local_y << 4);
    __global half *C_write = &output[batch * OUTPUT_BATCH_PITCH + group_x * TILE_N + y0 * N + local_x];

    if (group_y < NUM_WHOLE_GROUPS_Y || local_y < NUM_WHOLE_SUBGROUPS_Y) {
        C_write[0*N] = ACTIVATION(C0.s0, NL_M, NL_N);
        C_write[1*N] = ACTIVATION(C0.s1, NL_M, NL_N);
        C_write[2*N] = ACTIVATION(C0.s2, NL_M, NL_N);
        C_write[3*N] = ACTIVATION(C0.s3, NL_M, NL_N);
        C_write[4*N] = ACTIVATION(C0.s4, NL_M, NL_N);
        C_write[5*N] = ACTIVATION(C0.s5, NL_M, NL_N);
        C_write[6*N] = ACTIVATION(C0.s6, NL_M, NL_N);
        C_write[7*N] = ACTIVATION(C0.s7, NL_M, NL_N);
        C_write[8*N] = ACTIVATION(C8.s0, NL_M, NL_N);
        C_write[9*N] = ACTIVATION(C8.s1, NL_M, NL_N);
        C_write[10*N] = ACTIVATION(C8.s2, NL_M, NL_N);
        C_write[11*N] = ACTIVATION(C8.s3, NL_M, NL_N);
        C_write[12*N] = ACTIVATION(C8.s4, NL_M, NL_N);
        C_write[13*N] = ACTIVATION(C8.s5, NL_M, NL_N);
        C_write[14*N] = ACTIVATION(C8.s6, NL_M, NL_N);
        C_write[15*N] = ACTIVATION(C8.s7, NL_M, NL_N);
    } else {
#if 0 < LAST_LOCAL_Y
        C_write[0*N] = ACTIVATION(C0.s0, NL_M, NL_N);
#endif
#if 1 < LAST_LOCAL_Y
        C_write[1*N] = ACTIVATION(C0.s1, NL_M, NL_N);
#endif
#if 2 < LAST_LOCAL_Y
        C_write[2*N] = ACTIVATION(C0.s2, NL_M, NL_N);
#endif
#if 3 < LAST_LOCAL_Y
        C_write[3*N] = ACTIVATION(C0.s3, NL_M, NL_N);
#endif
#if 4 < LAST_LOCAL_Y
        C_write[4*N] = ACTIVATION(C0.s4, NL_M, NL_N);
#endif
#if 5 < LAST_LOCAL_Y
        C_write[5*N] = ACTIVATION(C0.s5, NL_M, NL_N);
#endif
#if 6 < LAST_LOCAL_Y
        C_write[6*N] = ACTIVATION(C0.s6, NL_M, NL_N);
#endif
#if 7 < LAST_LOCAL_Y
        C_write[7*N] = ACTIVATION(C0.s7, NL_M, NL_N);
#endif
#if 8 < LAST_LOCAL_Y
        C_write[8*N] = ACTIVATION(C8.s0, NL_M, NL_N);
#endif
#if 9 < LAST_LOCAL_Y
        C_write[9*N] = ACTIVATION(C8.s1, NL_M, NL_N);
#endif
#if 10 < LAST_LOCAL_Y
        C_write[10*N] = ACTIVATION(C8.s2, NL_M, NL_N);
#endif
#if 11 < LAST_LOCAL_Y
        C_write[11*N] = ACTIVATION(C8.s3, NL_M, NL_N);
#endif
#if 12 < LAST_LOCAL_Y
        C_write[12*N] = ACTIVATION(C8.s4, NL_M, NL_N);
#endif
#if 13 < LAST_LOCAL_Y
        C_write[13*N] = ACTIVATION(C8.s5, NL_M, NL_N);
#endif
#if 14 < LAST_LOCAL_Y
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif


/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#define GET_COL_8( _block, _col )                               \
        (float8)( intel_sub_group_shuffle( _block, _col ));

#define GET_COL_2( _block, _col )                               \
        (float2)( intel_sub_group_shuffle( _block, _col ));

#define GET_COL_4( _block, _col )                               \
        (float4)( intel_sub_group_shuffle( _block, _col ));

#define DOT4i( _result, _A, _B, i)					\
    {									\
	_result = mad(_A.s0, sub_group_broadcast( _B.s0, i), _result);	\
	_result = mad(_A.s1, sub_group_broadcast( _B.s1, i), _result);	\
	_result = mad(_A.s2, sub_group_broadcast( _B.s2, i), _result);	\
	_result = mad(_A.s3, sub_group_broadcast( _B.s3, i), _result);	\
    }

#define DOT4i_LO( _result, _A, _B, i)					\
    {									\
	_result = mad(_A.s0, sub_group_broadcast( _B.s0, i), _result);	\
	_result = mad(_A.s1, sub_group_broadcast( _B.s1, i), _result);	\
	_result = mad(_A.s2, sub_group_broadcast( _B.s2, i), _result);	\
	_result = mad(_A.s3, sub_group_broadcast( _B.s3, i), _result);	\
    }

#define DOT4i_HI( _result, _A, _B, i)					\
    {									\
	_result = mad(_A.s4, sub_group_broadcast( _B.s0, i), _result);	\
	_result = mad(_A.s5, sub_group_broadcast( _B.s1, i), _result);	\
	_result = mad(_A.s6, sub_group_broadcast( _B.s2, i), _result);	\
	_result = mad(_A.s7, sub_group_broadcast( _B.s3, i), _result);	\
    }

#define DOT8i( _result, _A, _B, i)					\
    {									\
	_result = fma(_A.s0, sub_group_broadcast( _B.s0, i), _result);	\
	_result = fma(_A.s1, sub_group_broadcast( _B.s1, i), _result);	\
	_result = fma(_A.s2, sub_group_broadcast( _B.s2, i), _result);	\
	_result = fma(_A.s3, sub_group_broadcast( _B.s3, i), _result);	\
	_result = fma(_A.s4, sub_group_broadcast( _B.s4, i), _result);	\
	_result = fma(_A.s5, sub_group_broadcast( _B.s5, i), _result);	\
	_result = fma(_A.s6, sub_group_broadcast( _B.s6, i), _result);	\
	_result = fma(_A.s7, sub_group_broadcast( _B.s7, i), _result);	\
    }

#define MULTIPLY_BLOCKS_8x8( _result, _blockA, _blockB )                \
        {                                                               \
            const float8    acol0 = GET_COL_8( _blockA, 0 );            \
            const float8    acol1 = GET_COL_8( _blockA, 1 );            \
            const float8    acol2 = GET_COL_8( _blockA, 2 );            \
            const float8    acol3 = GET_COL_8( _blockA, 3 );            \
            const float8    acol4 = GET_COL_8( _blockA, 4 );            \
            const float8    acol5 = GET_COL_8( _blockA, 5 );            \
            const float8    acol6 = GET_COL_8( _blockA, 6 );            \
            const float8    acol7 = GET_COL_8( _blockA, 7 );            \
            _result = mad( (float8)(_blockB.s0), acol0, _result );      \
            _result = mad( (float8)(_blockB.s1), acol1, _result );      \
            _result = mad( (float8)(_blockB.s2), acol2, _result );      \
            _result = mad( (float8)(_blockB.s3), acol3, _result );      \
            _result = mad( (float8)(_blockB.s4), acol4, _result );      \
            _result = mad( (float8)(_blockB.s5), acol5, _result );      \
            _result = mad( (float8)(_blockB.s6), acol6, _result );      \
            _result = mad( (float8)(_blockB.s7), acol7, _result );      \
        }

#define MULTIPLY_BLOCKS_4x8( _result, _blockA, _blockB )                \
        {                                                               \
            const float4    acol0 = GET_COL_4( _blockA, 0 );            \
            const float4    acol1 = GET_COL_4( _blockA, 1 );            \
            const float4    acol2 = GET_COL_4( _blockA, 2 );            \
            const float4    acol3 = GET_COL_4( _blockA, 3 );            \
            const float4    acol4 = GET_COL_4( _blockA, 4 );            \
            const float4    acol5 = GET_COL_4( _blockA, 5 );            \
            const float4    acol6 = GET_COL_4( _blockA, 6 );            \
            const float4    acol7 = GET_COL_4( _blockA, 7 );            \
            _result = mad( (float4)(_blockB.s0), acol0, _result );      \
            _result = mad( (float4)(_blockB.s1), acol1, _result );      \
            _result = mad( (float4)(_blockB.s2), acol2, _result );      \
            _result = mad( (float4)(_blockB.s3), acol3, _result );      \
            _result = mad( (float4)(_blockB.s4), acol4, _result );      \
            _result = mad( (float4)(_blockB.s5), acol5, _result );      \
            _result = mad( (float4)(_blockB.s6), acol6, _result );      \
            _result = mad( (float4)(_blockB.s7), acol7, _result );      \
        }

#define MULTIPLY_BLOCKS_2x8( _result, _blockA, _blockB )                \
        {                                                               \
            const float2    acol0 = GET_COL_2( _blockA, 0 );            \
            const float2    acol1 = GET_COL_2( _blockA, 1 );            \
            const float2    acol2 = GET_COL_2( _blockA, 2 );            \
            const float2    acol3 = GET_COL_2( _blockA, 3 );            \
            const float2    acol4 = GET_COL_2( _blockA, 4 );            \
            const float2    acol5 = GET_COL_2( _blockA, 5 );            \
            const float2    acol6 = GET_COL_2( _blockA, 6 );            \
            const float2    acol7 = GET_COL_2( _blockA, 7 );            \
            _result = mad( (float2)(_blockB.s0), acol0, _result );      \
            _result = mad( (float2)(_blockB.s1), acol1, _result );      \
            _result = mad( (float2)(_blockB.s2), acol2, _result );      \
            _result = mad( (float2)(_blockB.s3), acol3, _result );      \
            _result = mad( (float2)(_blockB.s4), acol4, _result );      \
            _result = mad( (float2)(_blockB.s5), acol5, _result );      \
            _result = mad( (float2)(_blockB.s6), acol6, _result );      \
            _result = mad( (float2)(_blockB.s7), acol7, _result );      \
        }

#define MULTIPLY_BLOCKS_8x8_NO_ACCUMULATE( _result, _blockA, _blockB )  \
        {                                                               \
            const float8    acol0 = GET_COL_8( _blockA, 0 );            \
            const float8    acol1 = GET_COL_8( _blockA, 1 );            \
            const float8    acol2 = GET_COL_8( _blockA, 2 );            \
            const float8    acol3 = GET_COL_8( _blockA, 3 );            \
            const float8    acol4 = GET_COL_8( _blockA, 4 );            \
            const float8    acol5 = GET_COL_8( _blockA, 5 );            \
            const float8    acol6 = GET_COL_8( _blockA, 6 );            \
            const float8    acol7 = GET_COL_8( _blockA, 7 );            \
            _result = (float8)(_blockB.s0) * acol0;                     \
            _result = mad( (float8)(_blockB.s1), acol1, _result );      \
            _result = mad( (float8)(_blockB.s2), acol2, _result );      \
            _result = mad( (float8)(_blockB.s3), acol3, _result );      \
            _result = mad( (float8)(_blockB.s4), acol4, _result );      \
            _result = mad( (float8)(_blockB.s5), acol5, _result );      \
            _result = mad( (float8)(_blockB.s6), acol6, _result );      \
            _result = mad( (float8)(_blockB.s7), acol7, _result );      \
        }

#define MULTIPLY_BLOCKS_16x8_LO( _result, _blockA, _blockB )	\
    {								\
	const float8    acol0 = GET_COL_8( _blockA, 0 );	\
	const float8    acol1 = GET_COL_8( _blockA, 1 );	\
	const float8    acol2 = GET_COL_8( _blockA, 2 );	\
	const float8    acol3 = GET_COL_8( _blockA, 3 );	\
	const float8    acol4 = GET_COL_8( _blockA, 4 );	\
    //--------------------------------------------------------------------

    for(uint bd = 0; bd < OUT_BLOCK_DEPTH/2; bd++)
    {
        for(uint br = 0; br < OUT_BLOCK_HEIGHT; br++)
        {
            uint width_offset = 0;
            #if (OUT_BLOCK_WIDTH) >= 4
            const uint slm_off = OUT_BLOCK_WIDTH * (get_sub_group_local_id() + SIMD_SIZE * (br + OUT_BLOCK_HEIGHT * (bd + ifm_offset) ));
            float4 tmp = vload4(0, slm_p + slm_off);
            dotProd0[0 + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)] += tmp[0];
            dotProd0[1 + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)] += tmp[1];
            dotProd0[2 + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)] += tmp[2];
            dotProd0[3 + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)] += tmp[3];

            dotProd0[0 + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)] = ACTIVATION(dotProd0[0 + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)], NL_M, NL_N);;
            dotProd0[1 + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)] = ACTIVATION(dotProd0[1 + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)], NL_M, NL_N);;
            dotProd0[2 + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)] = ACTIVATION(dotProd0[2 + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)], NL_M, NL_N);;
            dotProd0[3 + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)] = ACTIVATION(dotProd0[3 + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)], NL_M, NL_N);;

            width_offset += 4;
            #endif

            for(uint bc = width_offset; bc < OUT_BLOCK_WIDTH; bc++)
            {
                dotProd0[bc + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)] += slm_vals[bc + OUT_BLOCK_WIDTH * (get_sub_group_local_id() + SIMD_SIZE * (br + OUT_BLOCK_HEIGHT * (bd + ifm_offset) ))];
                dotProd0[bc + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)] = ACTIVATION(dotProd0[bc + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)], NL_M, NL_N);;
            }
        }
    }

    //--------------------------------------------------------------------
    // output phase
    //--------------------------------------------------------------------

    for(uint bd = 0; bd < OUT_BLOCK_DEPTH/2; bd++)
    {
        for(uint br = 0; br < OUT_BLOCK_HEIGHT; br++)
        {
            uint dst_index = GET_DATA_INDEX(OUTPUT, b, f + (bd + ifm_offset) * SIMD_SIZE + get_sub_group_local_id(), group_y + br, group_x);
            uint out_vstore_offset = 0;
            #if (OUT_BLOCK_WIDTH >= 8)
            float8 tmp = (float8)(dotProd0[out_vstore_offset + 0 + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)],
                                  dotProd0[out_vstore_offset + 1 + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)],
                                  dotProd0[out_vstore_offset + 2 + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)],
                                  dotProd0[out_vstore_offset + 3 + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)],
                                  dotProd0[out_vstore_offset + 4 + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)],
                                  dotProd0[out_vstore_offset + 5 + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)],
                                  dotProd0[out_vstore_offset + 6 + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)],
                                  dotProd0[out_vstore_offset + 7 + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)]);
            vstore8(tmp, 0, output + dst_index + out_vstore_offset * OUTPUT_X_PITCH);
            out_vstore_offset += 8;
            #endif
            #if (OUT_BLOCK_WIDTH % 8) > 3
            float4 tmp = (float4)(dotProd0[out_vstore_offset + 0 + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)],
                                  dotProd0[out_vstore_offset + 1 + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)],
                                  dotProd0[out_vstore_offset + 2 + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)],
                                  dotProd0[out_vstore_offset + 3 + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)]);
            vstore4(tmp, 0, output + dst_index + out_vstore_offset * OUTPUT_X_PITCH);
            out_vstore_offset += 4;
            #endif
            #if (OUT_BLOCK_WIDTH % 4) > 1
            float2 tmp2 = (float2)(dotProd0[out_vstore_offset + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)],
                                 dotProd0[out_vstore_offset+1 + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)]);
            vstore2(tmp2, 0, output + dst_index + out_vstore_offset * OUTPUT_X_PITCH);
            out_vstore_offset += 2;
            #endif
            //dst_index += 4 * OUTPUT_X_PITCH;
            for(uint bc = out_vstore_offset; bc < OUT_BLOCK_WIDTH; bc++)
            {
                output[dst_index + bc * OUTPUT_X_PITCH] = dotProd0[bc + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)];
            }
        }
    }
}

        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



#define SIMD_SIZE 8
__attribute__((intel_reqd_sub_group_size(SIMD_SIZE)))
KERNEL(convolution)(
    __global INPUT0_TYPE* input,
    __global OUTPUT_TYPE* output,
    __global FILTER_TYPE* weights,
#if BIAS_TERM
    __global BIAS_TYPE* biases,
#endif
    uint split_idx)
{
    const uint group_x = get_group_id(0) * OUT_BLOCK_WIDTH;
    const uint group_y = get_group_id(1) * OUT_BLOCK_HEIGHT;
    const uint f = (get_group_id(2) * SIMD_SIZE * OUT_BLOCK_DEPTH) % OUTPUT_FEATURE_NUM;
    const uint b = (get_group_id(2) * SIMD_SIZE * OUT_BLOCK_DEPTH) / OUTPUT_FEATURE_NUM;;

    const uint ifm_part = get_sub_group_id();
    uint ifm_offset = ifm_part* OUT_BLOCK_DEPTH/2;

    UNIT_TYPE in[OUT_BLOCK_HEIGHT];
    UNIT_TYPE dotProd0[OUT_BLOCK_WIDTH * OUT_BLOCK_HEIGHT * OUT_BLOCK_DEPTH/2];
    UNIT_TYPE dotProd1[OUT_BLOCK_WIDTH * OUT_BLOCK_HEIGHT * OUT_BLOCK_DEPTH/2];

    for(uint i = 0; i < OUT_BLOCK_WIDTH * OUT_BLOCK_HEIGHT * OUT_BLOCK_DEPTH/2; i++)
    {
        dotProd0[i] = 0;
        dotProd1[i] = 0;
    }

#if OUT_BLOCK_DEPTH == 8
    const uint filter_offset = f * FILTER_IFM_NUM + ifm_part*(64 * FILTER_IFM_NUM/2);
#elif OUT_BLOCK_DEPTH == 4
    const uint filter_offset = f * FILTER_IFM_NUM + ifm_part*(32 * FILTER_IFM_NUM/2);
#elif OUT_BLOCK_DEPTH == 2
    const uint filter_offset = f * FILTER_IFM_NUM + ifm_part*(16 * FILTER_IFM_NUM/2);
#else
    const uint filter_offset = f*FILTER_OFM_PITCH + ifm_part*(FILTER_IFM_NUM/2) * FILTER_IFM_PITCH;
#endif
    const uint input_offset = b*INPUT0_BATCH_PITCH + INPUT0_OFFSET + group_x * INPUT0_X_PITCH + group_y * INPUT0_Y_PITCH + ifm_part*(FILTER_IFM_NUM/2) * INPUT0_FEATURE_PITCH;

    //--------------------------------------------------------------------
    // main computation phase
    //--------------------------------------------------------------------

    for (uint k = 0; k < FILTER_IFM_NUM/2; ++k)
    {
        for(uint i = 0; i < OUT_BLOCK_HEIGHT; i++)
        {
            const uint in_offset = input_offset + get_sub_group_local_id() + i * INPUT0_Y_PITCH + k * INPUT0_FEATURE_PITCH;
            in[i] = input[in_offset];
        }

#if OUT_BLOCK_DEPTH == 8
        float8 w = as_float8(intel_sub_group_block_read8((__global uint*)weights + filter_offset + k * 64));
#elif OUT_BLOCK_DEPTH == 4
        float4 w = as_float4(intel_sub_group_block_read4((__global uint*)weights + filter_offset + k * 32));
#elif OUT_BLOCK_DEPTH == 2
        float2 w = as_float2(intel_sub_group_block_read2((__global uint*)weights + filter_offset + k * 16));
#endif

        for(uint br = 0; br < OUT_BLOCK_HEIGHT; br++)
        {
            for(uint bc = 0; bc < OUT_BLOCK_WIDTH; bc++)
            {
                float _in = intel_sub_group_shuffle(in[br], bc);
                for(uint bd = 0; bd < OUT_BLOCK_DEPTH/2; bd++)
                {
                    dotProd0[bc + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)] += _in * w[bd];
                    dotProd1[bc + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)] += _in * w[bd + OUT_BLOCK_DEPTH/2];
                }
            }
        }
    }

    __local float slm_vals[OUT_BLOCK_WIDTH * OUT_BLOCK_HEIGHT * OUT_BLOCK_DEPTH * SIMD_SIZE];
    __local float* slm_p = &slm_vals[0];
    //--------------------------------------------------------------------
    // second sub_group in workgroup task
    //--------------------------------------------------------------------

    if(ifm_part == 1)
    {
        for(uint bd = 0; bd < OUT_BLOCK_DEPTH/2; bd++)
        {
            for(uint br = 0; br < OUT_BLOCK_HEIGHT; br++)
            {
                for(uint bc = 0; bc < OUT_BLOCK_WIDTH; bc++)
                {
                    slm_vals[bc + OUT_BLOCK_WIDTH * (get_sub_group_local_id() + SIMD_SIZE * (br + OUT_BLOCK_HEIGHT * bd))] = dotProd0[bc + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)];
                    dotProd0[bc + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)] = dotProd1[bc + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)];
                }
            }
        }

    }

    //--------------------------------------------------------------------
    // first sub_group in workgroup task
    //--------------------------------------------------------------------

    if(ifm_part == 0)
    {
        for(uint bd = 0; bd < OUT_BLOCK_DEPTH/2; bd++)
        {
            for(uint br = 0; br < OUT_BLOCK_HEIGHT; br++)
            {
                uint width_offset = 0;
                #if (OUT_BLOCK_WIDTH) >= 4
                const uint slm_off = OUT_BLOCK_WIDTH * (get_sub_group_local_id() + SIMD_SIZE * (br + OUT_BLOCK_HEIGHT * (bd + OUT_BLOCK_DEPTH/2) ));
                float4 tmp = (float4)(dotProd1[width_offset + 0 + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)],
                                      dotProd1[width_offset + 1 + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)],
                                      dotProd1[width_offset + 2 + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)],
                                      dotProd1[width_offset + 3 + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)]);
                vstore4(tmp, 0, slm_p + slm_off);
                width_offset += 4;
                #endif
                for(uint bc = width_offset; bc < OUT_BLOCK_WIDTH; bc++)
                {
                    slm_vals[bc + OUT_BLOCK_WIDTH * (get_sub_group_local_id() + SIMD_SIZE * (br + OUT_BLOCK_HEIGHT * (bd+OUT_BLOCK_DEPTH/2) ))] = dotProd1[bc + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)];
                }
            }
        }

    }

    //--------------------------------------------------------------------
    // add bias phase
    //--------------------------------------------------------------------

    #if BIAS_TERM
    for(uint bd = 0; bd < OUT_BLOCK_DEPTH/2; bd++)
    {
        float _bias = biases[f + (bd + ifm_offset) * SIMD_SIZE + get_sub_group_local_id()];
        for(uint br = 0; br < OUT_BLOCK_HEIGHT; br++)
        {
            for(uint bc = 0; bc < OUT_BLOCK_WIDTH; bc++)
            {
                dotProd0[bc + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)] += _bias;
            }
        }
    }
    #endif

    barrier(CLK_LOCAL_MEM_FENCE); // we want to add barrier after biases addition so that the long slm write part latency is shadowed by it

    //--------------------------------------------------------------------
    // sum sub-group results + activation phase
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



#if FP16_UNIT_USED == 0
    #define ALIGNED_BLOCK_READ(ptr, offset) as_float(intel_sub_group_block_read((const __global uint*)(ptr) + (offset)))
#endif

__attribute__((intel_reqd_sub_group_size(SUB_GROUP_SIZE)))
__attribute__((reqd_work_group_size(SUB_GROUP_SIZE, 1, 1)))
KERNEL(convolution_gpu_bfyx_3x3_dw_opt)(
    __global UNIT_TYPE* input,
    __global UNIT_TYPE* output,
    __global UNIT_TYPE* weights,
#if BIAS_TERM
    __global UNIT_TYPE* biases,
#endif
    uint split_idx)
{
    const uint local_id = get_local_id(0);
    const uint tile_x = get_global_id(0);
    const uint tile_y = get_global_id(1);
    const uint bf = get_global_id(2);
    const uint f = bf % INPUT0_FEATURE_NUM;
    const uint b = bf / INPUT0_FEATURE_NUM;

    const uint start_x = tile_x / SUB_GROUP_SIZE * TILE_WIDTH;
    const uint offset_x = start_x + (tile_x - tile_x / SUB_GROUP_SIZE * SUB_GROUP_SIZE) % TILE_WIDTH;
    const uint offset = b * INPUT0_BATCH_PITCH + INPUT0_FEATURE_PITCH * f;
    const uint out_offset = b * OUTPUT_BATCH_PITCH + OUTPUT_FEATURE_PITCH * f;

    const int start_y = tile_y * TILE_HEIGHT;
    const int end_y = min(INPUT0_SIZE_Y - 1, start_y + TILE_HEIGHT - 1);
    const uint weight_offset = f * FILTER_IFM_PITCH + local_id;

    // Read 3 lines of SUB_GROUP_SIZE floats.
    // The 3 lines start one float before the current (to the left) and one line up:
    // SUB_GROUP_SIZE=16
    // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
    // 0 X 2 3 4 5 6 7 8 9 10 11 12 13 14 15
    // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
    // In the diagram above X represents the current work item.

    const int input_offset_const = INPUT0_OFFSET + offset + (start_y * INPUT0_Y_PITCH + start_x) - 1;

    const uint base_addr_offset = INPUT0_Y_PITCH;

    UNIT_TYPE input_buffer[3] = { UNIT_VAL_ZERO };
    const int base_offset = -base_addr_offset * UNIT_BYTE_SIZE;

#if FP16_UNIT_USED
    const uint lid = get_sub_group_local_id();
    if(input_offset_const - base_addr_offset >= 0)
        input_buffer[0] = input[input_offset_const - base_addr_offset + lid];
    if(input_offset_const >= 0)
        input_buffer[1] = input[input_offset_const + lid];
#else
    input_buffer[0] = ALIGNED_BLOCK_READ(input, input_offset_const - base_addr_offset);
    input_buffer[1] = ALIGNED_BLOCK_READ(input, input_offset_const);
#endif

    UNIT_TYPE w = weights[weight_offset];

    int first = 0;
    int second = 1;
    int third = 2;
    int input_offset = input_offset_const;

    for (int y = start_y; y <= end_y; y++)
    {
        UNIT_TYPE res = UNIT_VAL_ZERO;
        input_offset += base_addr_offset;

#if FP16_UNIT_USED
        if(input_offset >= 0)
            input_buffer[third] = input[input_offset + lid];
#else
        input_buffer[third] = ALIGNED_BLOCK_READ(input, input_offset);
#endif

        uint kc = 0;
        LOOP(FILTER_SIZE_X, kc,
        {
            res = mad(intel_sub_group_shuffle( w, FILTER_SIZE_Y + kc),intel_sub_group_shuffle( input_buffer[second], local_id + kc),res);

            if (y == 0)
            {
            res = mad(intel_sub_group_shuffle( w, 2*FILTER_SIZE_Y + kc),intel_sub_group_shuffle( input_buffer[third], local_id + kc),res);
            }
            else if (y == INPUT0_SIZE_Y - 1)
            {
            res = mad(intel_sub_group_shuffle( w, kc),intel_sub_group_shuffle( input_buffer[first], local_id + kc),res);
            }
            else
            {
            res = mad(intel_sub_group_shuffle( w, kc),intel_sub_group_shuffle( input_buffer[first], local_id + kc),res);
            res = mad(intel_sub_group_shuffle( w, 2*FILTER_SIZE_Y + kc),intel_sub_group_shuffle( input_buffer[third], local_id + kc),res);
            }
        });

#if BIAS_TERM
        res += biases[f];
#endif

        if ((local_id < TILE_WIDTH) && (offset_x < INPUT0_SIZE_X))
        {
            output[OUTPUT_OFFSET + out_offset + y * INPUT0_SIZE_X + offset_x] = ACTIVATION(res, NL_M, NL_N);
        }

        first = (first + 1) % 3;
        second = (second + 1) % 3;
        third = (third + 1) % 3;
    }

}

#undef ALIGNED_BLOCK_READ

convolution_gpu_bfyx_3x3_dw_opt        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



#if FP16_UNIT_USED
    #define ALIGNED_BLOCK_READ(ptr, byte_offset) as_half(intel_sub_group_block_read_us8((const __global ushort*)(ptr) + (byte_offset)))
    #define ALIGNED_BLOCK_WRITE(ptr, byte_offset, val) intel_sub_group_block_write_us((__global ushort*)(ptr) + (byte_offset), as_ushort8(val))
#else
    #define ALIGNED_BLOCK_READ(ptr, byte_offset) as_float(intel_sub_group_block_read((const __global uint*)(ptr) + (byte_offset)))
    #define ALIGNED_BLOCK_WRITE(ptr, byte_offset, val) intel_sub_group_block_write((__global uint*)(ptr) + (byte_offset), as_uint8(val))
#endif

__attribute__((intel_reqd_sub_group_size(16)))
__attribute__((reqd_work_group_size(16, 1, 1)))
KERNEL(convolution_depthwise_weights_lwg)(
    __global INPUT0_TYPE* input,
    __global OUTPUT_TYPE* output,
    __global FILTER_TYPE* weights,
#if BIAS_TERM
    __global BIAS_TYPE* biases,
#endif
    uint split_idx)
{
    const uint yx = get_global_id(0);
    const uint x = yx % OUTPUT_SIZE_X;
    const uint y = yx / OUTPUT_SIZE_X;
    const uint f = get_global_id(1);
    const uint b = get_global_id(2);

    UNIT_TYPE dotProd = UNIT_VAL_ZERO;

    const int input_x = x * STRIDE_SIZE_X - PADDING_SIZE_X;
    const int input_y = y * STRIDE_SIZE_Y - PADDING_SIZE_Y;

    const uint in_split_offset = (f / FILTER_OFM_NUM) * INPUT0_FEATURE_PITCH * FILTER_IFM_NUM;

    const uint filter_offset = f*FILTER_OFM_PITCH;
    const uint input_offset = b*INPUT0_BATCH_PITCH + INPUT0_OFFSET + in_split_offset;

#if FILTER_SIZE_Y * FILTER_SIZE_X % 16 == 0 && !FP16_UNIT_USED
    UNIT_TYPE w = ALIGNED_BLOCK_READ(weights, filter_offset);
#else
    const uint lid = get_local_id(0);
    UNIT_TYPE w = UNIT_VAL_ZERO;
    if(lid < FILTER_SIZE_X * FILTER_SIZE_Y)
        w = weights[filter_offset + lid];
#endif

    __attribute__((opencl_unroll_hint(FILTER_SIZE_Y)))
    for (uint j = 0; j < FILTER_SIZE_Y ; ++j)
    {
        const int input_offset_y = input_y + j * DILATION_SIZE_Y;
#if BOUNDARY_CHECK
        const bool zero_y = input_offset_y >= INPUT0_SIZE_Y || input_offset_y < 0;

        if(!zero_y)
        {
#endif
            __attribute__((opencl_unroll_hint(FILTER_SIZE_X)))
            for (uint i = 0; i < FILTER_SIZE_X ; ++i)
            {
                const int input_offset_x = input_x + i * DILATION_SIZE_X;
#if BOUNDARY_CHECK
                const bool zero_x = input_offset_x >= INPUT0_SIZE_X || input_offset_x < 0;

                if(!zero_x)
                {
#endif
                    dotProd = mad(input[input_offset + (uint)input_offset_x*INPUT0_X_PITCH + (uint)input_offset_y*INPUT0_Y_PITCH],
                                  intel_sub_group_shuffle( w, j*FILTER_Y_PITCH + i*FILTER_X_PITCH), dotProd);
                }
            }
#if BOUNDARY_CHECK
        }
    }
#endif

    if(yx >= OUTPUT_SIZE_X * OUTPUT_SIZE_Y)
        return;

#if BIAS_TERM
#if   BIAS_PER_OUTPUT
    const uint bias_index = GET_DATA_INDEX(BIAS, b, f, y, x);
#elif BIAS_PER_OFM
    const uint bias_index = f;
#endif
    dotProd += (UNIT_TYPE)biases[bias_index];
#endif

    const uint out_split_offset = split_idx * OUTPUT_FEATURE_PITCH * OUTPUT_FEATURE_NUM;
    const uint dst_index = GET_DATA_INDEX(OUTPUT, b, f, y, x) + out_split_offset;
    output[dst_index] = ACTIVATION(dotProd, NL_M, NL_N);

}

            src1_read += ALIGNED_OFM * 2;
        }

#define BLOCK_A(n) ( (n < 60) \
    ? sub_group_broadcast( blockA0[(n)%4], (n)/4 ) \
    : sub_group_broadcast( blockA1[(n-60)%4], (n-60)/4 ) )

        // Perform MADs
        // Loop through all patches in tile (patch_x/y)
        // For each patch, sum values (x/y)
        unsigned patch_y=0;
        LOOP(TILE_M, patch_y,
        {
            unsigned patch_x=0;
            LOOP(TILE_K, patch_x,
            {
                unsigned tile_idx = patch_y * TILE_X * STRIDE_SIZE_Y + patch_x * STRIDE_SIZE_X;
                unsigned out_idx  = patch_y * TILE_K + patch_x;

                unsigned y=0;
                LOOP(FILTER_SIZE_Y, y,
                {
                    unsigned x=0;
                    LOOP(FILTER_SIZE_X, x,
                    {
                        unsigned offset_idx = y * TILE_X + x;
                        unsigned out_chan_idx = y * FILTER_SIZE_X + x;

                        blockC[out_idx] = mad( BLOCK_A( tile_idx + offset_idx ), blockB[out_chan_idx], blockC[out_idx] );
                    } )
                } )
            } )
        } )
    }
    while ( ++patch_depth < INPUT0_FEATURE_NUM );

    // Dst resembles a cube of width x height x (output channel * batches).  Each tile writes:
    // TILE_K x TILE_M x SIMD.  Partial writes most likely generated if output padding used.
    // Group stores into vectors to expedite writeback.  One large write is faster than many
    // small saves. Right-most column may be smaller if output width not divisible by tile width.
    const uint out_split_offset = split_idx * OUTPUT_FEATURE_PITCH * OUTPUT_FEATURE_NUM;
    __global half *out = dst + OUTPUT_OFFSET + out_split_offset +
     + batch_id * OUTPUT_BATCH_PITCH            // batch offset
     + out_fm * OUTPUT_FEATURE_PITCH              // channel offset
     + ( global_y * TILE_M ) * OUTPUT_Y_PITCH // y offset
     + ( global_x * TILE_K );                // x offset

    if ( batch_id < OUTPUT_BATCH_NUM && out_fm < OUTPUT_FEATURE_NUM )
    {
#if BIAS_TERM == 0
        const half bias = 0.h;
#elif BIAS_PER_OFM
        const half bias = biases[out_fm];
#endif

        if ( OUTPUT_SIZE_X % TILE_K == 0 ||
             group_x < max_group_x - 1 )
        {
            typedef CAT( half, TILE_K ) half_t;
            for( unsigned y = 0; y < TILE_M; y++ )
            {
                if ( global_y * TILE_M + y < OUTPUT_SIZE_Y )
                {
                    half_t vBlockC;
                    half *pvBlockC = (half*)&vBlockC;
                    for (unsigned i = 0; i < TILE_K; i++)
                    {
                    #if BIAS_TERM && BIAS_PER_OUTPUT
                        const unsigned bias_index = out_fm*OUTPUT_SIZE_X*OUTPUT_SIZE_Y + ( global_y * TILE_M + y )*OUTPUT_SIZE_X + ( global_x * TILE_K + i);
                        const half bias = biases[bias_index];
                    #endif
                        pvBlockC[i] = ACTIVATION(blockC[y * TILE_K + i] + bias, NL_M, NL_N);
                        ((__global half*)(out + y * OUTPUT_Y_PITCH))[i] = pvBlockC[i];
                    }
                    //*(__global half_t*)(out + y * OUTPUT_Y_PITCH) = vBlockC;
                }
            }
        }
        else
        {
            typedef CAT( half, RIGHT_PARTIAL_TILE_K ) half_t;
            for( unsigned y = 0; y < TILE_M; y++ )
            {
                if ( global_y * TILE_M + y < OUTPUT_SIZE_Y )
                {
                    half_t vBlockC;
                    half *pvBlockC = (half*)&vBlockC;
                    for (unsigned i = 0; i < RIGHT_PARTIAL_TILE_K; i++)
                    {
                    #if BIAS_TERM && BIAS_PER_OUTPUT
                        const unsigned bias_index = out_fm*OUTPUT_SIZE_X*OUTPUT_SIZE_Y + ( global_y * TILE_M + y )*OUTPUT_SIZE_X + ( global_x * TILE_K + i);
                        const half bias = biases[bias_index];
                    #endif
                        pvBlockC[i] = ACTIVATION(blockC[y * TILE_K + i] + bias, NL_M, NL_N);
                        ((__global half*)(out + y * OUTPUT_Y_PITCH))[i] = pvBlockC[i];
                    }
                    //*(__global half_t*)(out + y * OUTPUT_Y_PITCH) = vBlockC;
                }
            }
        }
    }
}
#endif // cl_intel_subgroups_short

        CAT(prefix, _SIZE_X),                           \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



//////////////////////////////////////////////////////////////////////////////
// Direct Convolution
#if defined(cl_intel_subgroups_short)

#define TILE_M          DY      // Height of tile in input patches (src0)
#define TILE_K          DX      // Width of tile in input patches (src0)
#define TILE_N          16      // Num filter channels per tile (src1)

#define TILE_X          12      // Width of tile loaded in input (src0)
#define TILE_Y          10      // Height of tile loaded in input (src0)

__attribute__((intel_reqd_sub_group_size(16)))
KERNEL(convolution_f16_10x12x16)(
    const __global half *src0,
    __global half *dst,
    const __global half *src1,
#if BIAS_TERM
    const __global half *biases,
#endif
    uint split_idx)
{
/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

typedef struct half1  { half s0; }                                                               half1;
typedef struct half5  { half s0; half s1; half s2; half s3; half s4; }                           half5;
typedef struct half6  { half s0; half s1; half s2; half s3; half s4; half s5; }                  half6;
typedef struct half7  { half s0; half s1; half s2; half s3; half s4; half s5; half s6; }         half7;
typedef struct half9  { half s0; half s1; half s2; half s3; half s4; half s5; half s6; half s7;
                        half s8; }                                                               half9;
typedef struct half10 { half s0; half s1; half s2; half s3; half s4; half s5; half s6; half s7;
                        half s8; half s9; }                                                      half10;
typedef struct half11 { half s0; half s1; half s2; half s3; half s4; half s5; half s6; half s7;
                        half s8; half s9; half sa; }                                             half11;
typedef struct half12 { half s0; half s1; half s2; half s3; half s4; half s5; half s6; half s7;
                        half s8;  half s9; half sa; half sb;}                                    half12;
typedef struct half13 { half s0; half s1; half s2; half s3; half s4; half s5; half s6; half s7;
                        half s8;  half s9; half sa; half sb; half sc;}                           half13;
typedef struct half14 { half s0; half s1; half s2; half s3; half s4; half s5; half s6; half s7;
                        half s8;  half s9; half sa; half sb; half sc; half se;}                  half14;
typedef struct half15 { half s0; half s1; half s2; half s3; half s4; half s5; half s6; half s7;
                       half s8;  half s9; half sa; half sb; half sc; half se; half sf;}          half15;
typedef struct half0  { half s0; } half0; //never used but makes compiler happy.

typedef struct float1 { float s0; } float1;
typedef struct float5 { float s0; float s1; float s2; float s3; float s4; } float5;
typedef struct float6 { float s0; float s1; float s2; float s3; float s4; float s5; } float6;
typedef struct float7 { float s0; float s1; float s2; float s3; float s4; float s5; float s6; } float7;
typedef struct float9 { float s0; float s1; float s2; float s3; float s4; float s5; float s6; float s7; float s8; } float9;
typedef struct float10 { float s0; float s1; float s2; float s3; float s4; float s5;
                         float s6; float s7; float s8; float s9;} float10;
typedef struct float11 { float s0; float s1; float s2; float s3; float s4; float s5;
                         float s6; float s7; float s8; float s9; float sa;} float11;
typedef struct float12 { float s0; float s1; float s2; float s3; float s4; float s5;
                         float s6; float s7; float s8; float s9; float sa; float sb; } float12;
typedef struct float13 { float s0; float s1; float s2; float s3; float s4; float s5;
                         float s6; float s7; float s8; float s9; float sa; float sb; float sc;} float13;
typedef struct float14 { float s0; float s1; float s2; float s3; float s4; float s5;
                         float s6; float s7; float s8; float s9; float sa; float sb; float sc; float sd; } float14;
typedef struct float15 { float s0; float s1; float s2; float s3; float s4; float s5;
                         float s6; float s7; float s8; float s9; float sa; float sb; float sc; float sd; float se; } float15;
typedef struct float0 { float s0; } float0; //never used but makes compiler happy.


    const unsigned global_x = get_global_id(0);
    const unsigned global_y = get_global_id(1);
    const unsigned global_z = get_global_id(2);
    const unsigned out_fm   = global_z % ALIGNED_OFM;
    const unsigned batch_id = global_z / ALIGNED_OFM;
    const unsigned group_x = get_group_id(0);
    const unsigned group_z = get_group_id(2);
    const unsigned max_group_x = get_num_groups(0);
    const unsigned local_z = get_local_id(2);

    half blockC[TILE_M * TILE_K] = { 0 };

    const uint in_split_offset = split_idx * INPUT0_FEATURE_PITCH * INPUT0_FEATURE_NUM;
    uint src0_offset_tile = INPUT0_OFFSET_WITH_PADDING      // data offset
     + in_split_offset
     + batch_id * INPUT0_BATCH_PITCH                        // batch offset
     + ( global_y * TILE_M * STRIDE_SIZE_Y ) * INPUT0_Y_PITCH    // y offset
     + ( global_x * TILE_K * STRIDE_SIZE_X );                    // x offset
    uint src0_offset = src0_offset_tile
     + ( local_z / ( TILE_X / 4 ) ) * INPUT0_Y_PITCH        // y tile offset
     + ( local_z % ( TILE_X / 4 ) ) * 4;                    // x tile offset

    const __global half *src1_read = src1 + ( group_z * TILE_N % ALIGNED_OFM ) * 2;

    unsigned patch_depth = 0;
    __attribute__((opencl_unroll_hint(3)))
    do
    {
        // Load atile (input) and btile (filters).
        // Kernel data is partially interleaved.  Every 2 rows are interleaved at float16 granularity.
        // The exception is that if FILTER_SIZE_X is odd the last row is not interleaved.  The non
        // interleaved row is padded with zero to ensure same size as interleaved rows. This
        // interleaving is done to increase consecutive data to fetch which reduces loads required.
        // For example, this is how the kernel data would be arranged before/after interleaving for FILTER_SIZE_X=3.
        // (0, 0) (8, 0) (16, 0) (24, 0) ...       (0, 0) (0, 1) (8, 0) (0, 1) (16, 0) (0, 1) (24, 0) ..
        // (0, 1) (8, 1) (16, 1) (24, 1) ... =>    (0, 2) (8, 2) (16, 2) (24, 2) ...
        // (0, 2) (8, 2) (16, 2) (24, 2) ...       ...
        // ...

        #if ((INPUT0_Y_PITCH) % 4) == 0
        // aligned - can ignore vload
        half4 blockA0 = *(const __global half4 *)( src0 + src0_offset );
        half4 blockA1 = *(const __global half4 *)( src0 + src0_offset + INPUT0_Y_PITCH * 5 );
        #elif ((INPUT0_Y_PITCH) % 2) == 0
        // in case the data is not aligned to sizeof(T)*4 we need to use vload or set the data in a loop
        // first one is aligned
        half4 blockA0 = *(const __global half4 *)( src0 + src0_offset );
        half4 blockA1 = vload4(0, src0 + src0_offset + INPUT0_Y_PITCH * 5 );
        #else
        half4 blockA0 = vload4(0, src0 + src0_offset );
        half4 blockA1 = vload4(0, src0 + src0_offset + INPUT0_Y_PITCH * 5 );
        #endif
        src0_offset += INPUT0_FEATURE_PITCH;

        half blockB[FILTER_SIZE_X * FILTER_SIZE_Y];
        ushort2* p2BlockB = (ushort2*)blockB;
        ushort*  pBlockB =  (ushort* )blockB;

        const bool kernel_slice_is_odd = ( FILTER_SIZE_X * FILTER_SIZE_Y ) % 2 == 1;
        unsigned interleaved_y = 0;
        LOOP(KERNEL_SLICE_DIV2, interleaved_y,
        {
            p2BlockB[interleaved_y] = intel_sub_group_block_read_us2( (const __global ushort*)src1_read );
            src1_read += ALIGNED_OFM * 2;
        } )
        if ( kernel_slice_is_odd )
        {
            pBlockB[FILTER_SIZE_X * FILTER_SIZE_Y - 1] = intel_sub_group_block_read_us( (const __global ushort*)src1_read );
/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/


#define GET_DATA_INDEX(prefix, b, f, y, x)  \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_INDEX_SAFE(prefix, b, f, y, x)                     \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

 #define GET_3D_DATA_INDEX(prefix, b, f, z, y, x) \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (z)*CAT(prefix, _Z_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_3D_DATA_INDEX_SAFE(prefix, b, f, z, y, x)               \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (z % CAT(prefix, _SIZE_Z     ))*CAT(prefix, _Z_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_BS_FYX_BSV8_INDEX(prefix, b, f, y, x, sub_group_size)  \
    CAT(prefix, _OFFSET) +                                              \
    ((b) % (sub_group_size)) +                                          \
    (sub_group_size)*(                                                  \
        (x)*CAT(prefix, _X_PITCH) +                                     \
        (y)*CAT(prefix, _Y_PITCH) +                                     \
        (f)*CAT(prefix, _FEATURE_PITCH) +                               \
        ((b) / (sub_group_size))*CAT(prefix, _BATCH_PITCH)              \
    )

inline uint FUNC(get_bf8_xy16_index)(uint b, uint f, uint y, uint x, uint x_size, uint y_size, uint f_size, uint offset)
{
    const uint xy_idx = x + y * x_size;
    const uint xy_offset = (xy_idx % 16) + (xy_idx / 16) * 16 * 8;
    const uint xy_block_num = (x_size * y_size + 16 - 1) / 16;
    const uint f_offset = (f % 8) * 16 + (f / 8) * xy_block_num * 16 * 8;
    const uint f_block_num = (f_size + 8 - 1) / 8;
    const uint b_offset = b * f_block_num * xy_block_num * 128;

    const size_t idx = offset + xy_offset + f_offset + b_offset;

    return idx;
}

inline uint FUNC(get_bfyx_f16_index)(
    uint b, uint f, uint y, uint x,
    uint x_size, uint y_size, uint f_size,
    uint y_pad_before,uint y_pad_after,
    uint x_pad_before, uint x_pad_after,
    uint f_pad_before, uint f_pad_after)
{
    const uint feature_slice_size = 16;

    const uint full_width = x_size + x_pad_before + x_pad_after;
    const uint full_height = y_size + y_pad_before + y_pad_after;
    const uint full_features = f_pad_before + f_size + f_pad_after;
    const uint feature_tiles_number = (full_features + feature_slice_size - 1) / feature_slice_size;

    const uint x_pitch = feature_slice_size;
    const uint y_pitch = x_pitch * full_width;
    const uint fs_pitch = y_pitch * full_height;
    const uint b_pitch = fs_pitch * feature_tiles_number;

    const uint x_offset = (x + x_pad_before) * x_pitch;
    const uint y_offset = (y + y_pad_before) * y_pitch;
    const uint fs_offset = (f / feature_slice_size + f_pad_before / feature_slice_size) * fs_pitch;
    const uint b_offset = b * b_pitch;

    const size_t idx = x_offset + y_offset + fs_offset + b_offset + (f % feature_slice_size);

    return idx;
}

#define GET_DATA_BFYX_F16_INDEX(prefix, b, f, y, x)     \
    FUNC_CALL(get_bfyx_f16_index)(                      \
        b, f, y, x,                                     \
        CAT(prefix, _SIZE_X ),                          \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _FEATURE_NUM),                      \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_X),                \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

//#include "include/cnn_common.cl"

//////////////////////////////////////////////////////////////////////////////
// Direct Convolution
#if defined(cl_intel_subgroups_short)

#define TILE_M          DY      // Height of tile in input patches (src0)
#define TILE_K          DX      // Width of tile in input patches (src0)
#define TILE_N          16      // Num filter channels per tile (src1)

#define TILE_X          8       // Width of tile loaded in input (src0)
#define TILE_Y          8       // Height of tile loaded in input (src0)

__attribute__((intel_reqd_sub_group_size(16)))
__kernel void convolution_f16_8x8x16(
    const __global half *src0,
    __global half *dst,
    const __global half *src1,
    const __global half *biases)
{
    const unsigned global_x = get_global_id(0);
    const unsigned global_y = get_global_id(1);
    const unsigned global_z = get_global_id(2);
    const unsigned out_fm   = global_z % ALIGNED_OFM;
    const unsigned batch_id = global_z / ALIGNED_OFM;
    const unsigned group_x = get_group_id(0);
    const unsigned group_z = get_group_id(2);
    const unsigned max_group_x = get_num_groups(0);
    const unsigned local_z = get_local_id(2);

    half blockC[TILE_M * TILE_K] = { 0 };

    uint src0_offset_tile =
       batch_id * INPUT_BATCH_PITCH                         // batch offset
     + ( global_y * TILE_M * STRIDE_Y ) * INPUT_Y_PITCH   // y offset
     + ( global_x * TILE_K * STRIDE_X );                    // x offset
    uint src0_offset = src0_offset_tile
     + ( local_z / ( TILE_X / 4 ) ) * INPUT_Y_PITCH       // y tile offset
     + ( local_z % ( TILE_X / 4 ) ) * 4;                    // x tile offset

    const __global half *src1_read = src1 + ( group_z * TILE_N % ALIGNED_OFM ) * 2;

    unsigned patch_depth = 0;
    __attribute__((opencl_unroll_hint(3)))
    do
    {
        // Load atile (input) and btile (filters).
        // Kernel data is partially interleaved.  Every 2 rows are interleaved at float16 granularity.
        // The exception is that if KERNEL_WIDTH is odd the last row is not interleaved.  The non
        // interleaved row is padded with zero to ensure same size as interleaved rows. This
        // interleaving is done to increase consecutive data to fetch which reduces loads required.
        // For example, this is how the kernel data would be arranged before/after interleaving for KERNEL_WIDTH=3.
        // (0, 0) (8, 0) (16, 0) (24, 0) ...       (0, 0) (0, 1) (8, 0) (0, 1) (16, 0) (0, 1) (24, 0) ..
        // (0, 1) (8, 1) (16, 1) (24, 1) ... =>    (0, 2) (8, 2) (16, 2) (24, 2) ...
        // (0, 2) (8, 2) (16, 2) (24, 2) ...       ...
        // ...

        // in case the data is not aligned to sizeof(T)*KERNEL_WIDTH we need to use vload or set the data in a loop
        half4 blockA = vload4(0, src0 + src0_offset );
        src0_offset += INPUT_FEATURE_PITCH;

        half blockB[KERNEL_WIDTH * KERNEL_HEIGHT];
        ushort2* p2BlockB = (ushort2*)blockB;
        ushort*  pBlockB =  (ushort* )blockB;

        const bool kernel_slice_is_odd = ( KERNEL_WIDTH * KERNEL_HEIGHT ) % 2 == 1;
        unsigned interleaved_y = 0;
        LOOP(KERNEL_SLICE_DIV2, interleaved_y,
        {
            p2BlockB[interleaved_y] = intel_sub_group_block_read_us2( (const __global ushort*)src1_read );
            src1_read += ALIGNED_OFM * 2;
        } )
        if ( kernel_slice_is_odd )
        {
            pBlockB[KERNEL_WIDTH * KERNEL_HEIGHT - 1] = intel_sub_group_block_read_us( (const __global ushort*)src1_read );
            src1_read += ALIGNED_OFM * 2;
        }

#define BLOCK_A(n) sub_group_broadcast( blockA[(n)%4], (n)/4 )

        // Perform MADs
        // Loop through all patches in tile (patch_x/y)
        // For each patch, sum values (x/y)
        unsigned patch_y=0;
        LOOP(TILE_M, patch_y,
        {
            unsigned patch_x=0;
            LOOP(TILE_K, patch_x,
            {
                unsigned tile_idx = patch_y * TILE_X * STRIDE_Y + patch_x * STRIDE_X;
                unsigned out_idx  = patch_y * TILE_K + patch_x;

                unsigned y=0;
                LOOP(KERNEL_HEIGHT, y,
                {
                    unsigned x=0;
                    LOOP(KERNEL_WIDTH, x,
                    {
                        unsigned offset_idx = y * TILE_X + x;
                        unsigned out_chan_idx = y * KERNEL_WIDTH + x;

                        blockC[out_idx] = mad( BLOCK_A( tile_idx + offset_idx ), blockB[out_chan_idx], blockC[out_idx] );
                    } )
                } )
            } )
        } )
    }
    while ( ++patch_depth < INPUT_FEATURE_NUM );

    // Dst resembles a cube of width x height x (output channel * batches).  Each tile writes:
    // TILE_K x TILE_M x SIMD.  Partial writes most likely generated if output padding used.
    // Group stores into vectors to expedite writeback.  One large write is faster than many
    // small saves. Right-most column may be smaller if output width not divisible by tile width.
    __global half *out = dst
     + batch_id * OUTPUT_BATCH_PITCH            // batch offset
     + out_fm * OUTPUT_FEATURE_PITCH              // channel offset
     + ( global_y * TILE_M ) * OUTPUT_Y_PITCH // y offset
     + ( global_x * TILE_K );                // x offset

    if ( batch_id < OUTPUT_BATCH_NUM && out_fm < OUTPUT_FEATURE_NUM )
    {
        half bias = biases[out_fm];
        if ( OUTPUT_SIZE_X % TILE_K == 0 ||
             group_x < max_group_x - 1 )
        {
            typedef CAT( half, TILE_K ) half_t;
            half bias = biases[out_fm];
            for( unsigned y = 0; y < TILE_M; y++ )
            {
                if ( global_y * TILE_M + y < OUTPUT_SIZE_Y )
                {
                    half_t vBlockC;
                    half *pvBlockC = (half*)&vBlockC;
                    for (unsigned i = 0; i < TILE_K; i++) pvBlockC[i] = activation_function(blockC[y * TILE_K + i] + bias, NL_M, NL_N);
                    *(__global half_t*)(out + y * OUTPUT_Y_PITCH) = vBlockC;
                }
            }
        }
        else
        {
            typedef CAT( half, RIGHT_PARTIAL_TILE_K ) half_t;
            for( unsigned y = 0; y < TILE_M; y++ )
            {
                if ( global_y * TILE_M + y < OUTPUT_SIZE_Y )
                {
                    half_t vBlockC;
                    half *pvBlockC = (half*)&vBlockC;
                    for (unsigned i = 0; i < RIGHT_PARTIAL_TILE_K; i++) pvBlockC[i] = activation_function(blockC[y * TILE_K + i] + bias, NL_M, NL_N);
                    *(__global half_t*)(out + y * OUTPUT_Y_PITCH) = vBlockC;
                }
            }
        }
    }
}
#endif // cl_intel_subgroups_short

convolution_gpu_bfyx_direct_8_8_16#   if GROUPED && !DEPTHWISE_SEPARABLE_OPT
    bias_offset += split_idx * BIAS_LENGTH;
#   endif

    vec_t dst = (vec_t)(UNIT_BLOCK_READ(biases, bias_offset));
#else
    vec_t dst = UNIT_VAL_ZERO;
#endif

    for (uint icb = 0; icb < IC_BLOCKS; icb++)
    {
        __attribute__((opencl_unroll_hint(FILTER_SIZE_Y)))
        for (uint kh = 0; kh < FILTER_SIZE_Y; kh++)
        {
            if (input_y + kh < 0 || input_y + kh >= INPUT0_SIZE_Y)
                continue;

            UNIT_TYPE line_cache[INPUT_LINE_SIZE];
            int xb = 0;

            for (; xb + 8 <= INPUT_LINE_SIZE; xb += 8)
            {
                MAKE_VECTOR_TYPE(UNIT_TYPE, 8) vv = UNIT_BLOCK_READ8(input, input_offset +
                                                                            icb * input_fs_pitch +
                                                                            kh  * input_y_pitch +
                                                                            xb  * input_x_pitch);

                line_cache[xb + 0] = vv[0];
                line_cache[xb + 1] = vv[1];
                line_cache[xb + 2] = vv[2];
                line_cache[xb + 3] = vv[3];
                line_cache[xb + 4] = vv[4];
                line_cache[xb + 5] = vv[5];
                line_cache[xb + 6] = vv[6];
                line_cache[xb + 7] = vv[7];
            }
            for (; xb + 4 <= INPUT_LINE_SIZE; xb += 4)
            {
                MAKE_VECTOR_TYPE(UNIT_TYPE, 4) vv = UNIT_BLOCK_READ4(input, input_offset +
                                                                            icb * input_fs_pitch +
                                                                            kh  * input_y_pitch +
                                                                            xb  * input_x_pitch);

                line_cache[xb + 0] = vv[0];
                line_cache[xb + 1] = vv[1];
                line_cache[xb + 2] = vv[2];
                line_cache[xb + 3] = vv[3];
            }
            for (; xb < INPUT_LINE_SIZE; xb++)
            {
                line_cache[xb] = UNIT_BLOCK_READ(input, input_offset +
                                                        icb * input_fs_pitch +
                                                        kh  * input_y_pitch +
                                                        xb  * input_x_pitch);
            }

            __attribute__((opencl_unroll_hint(FILTER_SIZE_X)))
            for (uint kw = 0; kw < FILTER_SIZE_X; kw++)
            {

                vec_t src;
                __attribute__((opencl_unroll_hint(OUTPUT_X_BLOCK_SIZE)))
                for (int i = 0; i < OUTPUT_X_BLOCK_SIZE; i++)
                {
                    src[i] = line_cache[kw + STRIDE_SIZE_X*(i)];
                }

                wei_t wei0 = UNIT_BLOCK_READ8(weights, filter_offset +
                                                       icb * filter_is_pitch +
                                                       kh * filter_y_pitch +
                                                       kw * filter_x_pitch);
                wei_t wei1 = UNIT_BLOCK_READ8(weights, filter_offset +
                                                       icb * filter_is_pitch +
                                                       kh * filter_y_pitch +
                                                       kw * filter_x_pitch +
                                                       8 * filter_isv_pitch);

                const vec_t src0  = GET_SRC(src, 0);
                const vec_t src1  = GET_SRC(src, 1);
                const vec_t src2  = GET_SRC(src, 2);
                const vec_t src3  = GET_SRC(src, 3);
                const vec_t src4  = GET_SRC(src, 4);
                const vec_t src5  = GET_SRC(src, 5);
                const vec_t src6  = GET_SRC(src, 6);
                const vec_t src7  = GET_SRC(src, 7);
                const vec_t src8  = GET_SRC(src, 8);
                const vec_t src9  = GET_SRC(src, 9);
                const vec_t src10 = GET_SRC(src, 10);
                const vec_t src11 = GET_SRC(src, 11);
                const vec_t src12 = GET_SRC(src, 12);
                const vec_t src13 = GET_SRC(src, 13);
                const vec_t src14 = GET_SRC(src, 14);
                const vec_t src15 = GET_SRC(src, 15);

                dst = mad(wei0.s0, src0,  dst);
                dst = mad(wei0.s1, src1,  dst);
                dst = mad(wei0.s2, src2,  dst);
                dst = mad(wei0.s3, src3,  dst);
                dst = mad(wei0.s4, src4,  dst);
                dst = mad(wei0.s5, src5,  dst);
                dst = mad(wei0.s6, src6,  dst);
                dst = mad(wei0.s7, src7,  dst);
                dst = mad(wei1.s0, src8,  dst);
                dst = mad(wei1.s1, src9,  dst);
                dst = mad(wei1.s2, src10, dst);
                dst = mad(wei1.s3, src11, dst);
                dst = mad(wei1.s4, src12, dst);
                dst = mad(wei1.s5, src13, dst);
                dst = mad(wei1.s6, src14, dst);
                dst = mad(wei1.s7, src15, dst);
            }
        }
    }

    dst = ACTIVATION(dst, NL_M, NL_N);

    if (x + OUTPUT_X_BLOCK_SIZE <= OUTPUT_SIZE_X)
    {
        // TODO Generalize for other block sizes
#if OUTPUT_X_BLOCK_SIZE == 8
        UNIT_BLOCK_WRITE8(output, output_offset, dst);
#elif OUTPUT_X_BLOCK_SIZE == 4
        UNIT_BLOCK_WRITE4(output, output_offset, dst);
#elif OUTPUT_X_BLOCK_SIZE == 2
        UNIT_BLOCK_WRITE2(output, output_offset, dst);
#elif OUTPUT_X_BLOCK_SIZE == 1
        UNIT_BLOCK_WRITE(output, output_offset, dst);
#else
#   error convolution_gpu_bfyx_f16.cl: Unsupported output x block size.
#endif
    }
    else
    {
        // TODO Handle case of not full feature slice
        const int x_tail = OUTPUT_SIZE_X - x;
        for (int i = 0; i < x_tail; i++)
            UNIT_BLOCK_WRITE(output, output_offset + i * output_x_pitch, dst[i]);
    }
}

#undef GET_SRC
#undef FEATURE_SLICE_SIZE

        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif


// Copyright (c) 2019 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


#ifndef UNIT_TYPE
#error Unit type not defined.
#endif

#if UNIT_TYPE_SIZE == 2
// 2 byte data type case (ex. half)
#define UNIT_BLOCK_RW_TYPE ushort
#define UNIT_BLOCK_READ_FUNC intel_sub_group_block_read_us
#define UNIT_BLOCK_WRITE_FUNC intel_sub_group_block_write_us
#elif UNIT_TYPE_SIZE == 4
// 4 byte data type case (ex. float)
#define UNIT_BLOCK_RW_TYPE uint
#define UNIT_BLOCK_READ_FUNC intel_sub_group_block_read
#define UNIT_BLOCK_WRITE_FUNC intel_sub_group_block_write
#else
#error Unsupported unit type for block read/write.
#endif

#define UNIT_TYPE2 MAKE_VECTOR_TYPE(UNIT_TYPE, 2)
#define UNIT_TYPE4 MAKE_VECTOR_TYPE(UNIT_TYPE, 4)
#define UNIT_TYPE8 MAKE_VECTOR_TYPE(UNIT_TYPE, 8)

#define UNIT_BLOCK_RW_TYPE2 MAKE_VECTOR_TYPE(UNIT_BLOCK_RW_TYPE, 2)
#define UNIT_BLOCK_RW_TYPE4 MAKE_VECTOR_TYPE(UNIT_BLOCK_RW_TYPE, 4)
#define UNIT_BLOCK_RW_TYPE8 MAKE_VECTOR_TYPE(UNIT_BLOCK_RW_TYPE, 8)

#define AS_TYPE(type, val) CAT(as_, type)(val)

#define UNIT_BLOCK_READ_FUNC2 CAT(UNIT_BLOCK_READ_FUNC, 2)
#define UNIT_BLOCK_READ_FUNC4 CAT(UNIT_BLOCK_READ_FUNC, 4)
#define UNIT_BLOCK_READ_FUNC8 CAT(UNIT_BLOCK_READ_FUNC, 8)

#define UNIT_BLOCK_WRITE_FUNC2 CAT(UNIT_BLOCK_WRITE_FUNC, 2)
#define UNIT_BLOCK_WRITE_FUNC4 CAT(UNIT_BLOCK_WRITE_FUNC, 4)
#define UNIT_BLOCK_WRITE_FUNC8 CAT(UNIT_BLOCK_WRITE_FUNC, 8)

#define UNIT_BLOCK_READ(ptr, offset)  AS_TYPE(UNIT_TYPE,  UNIT_BLOCK_READ_FUNC( (const __global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset)))
#define UNIT_BLOCK_READ2(ptr, offset) AS_TYPE(UNIT_TYPE2, UNIT_BLOCK_READ_FUNC2((const __global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset)))
#define UNIT_BLOCK_READ4(ptr, offset) AS_TYPE(UNIT_TYPE4, UNIT_BLOCK_READ_FUNC4((const __global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset)))
#define UNIT_BLOCK_READ8(ptr, offset) AS_TYPE(UNIT_TYPE8, UNIT_BLOCK_READ_FUNC8((const __global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset)))

#define UNIT_BLOCK_WRITE(ptr, offset, val)  UNIT_BLOCK_WRITE_FUNC( (__global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset), AS_TYPE(UNIT_BLOCK_RW_TYPE,  val))
#define UNIT_BLOCK_WRITE2(ptr, offset, val) UNIT_BLOCK_WRITE_FUNC2((__global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset), AS_TYPE(UNIT_BLOCK_RW_TYPE2, val))
#define UNIT_BLOCK_WRITE4(ptr, offset, val) UNIT_BLOCK_WRITE_FUNC4((__global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset), AS_TYPE(UNIT_BLOCK_RW_TYPE4, val))
#define UNIT_BLOCK_WRITE8(ptr, offset, val) UNIT_BLOCK_WRITE_FUNC8((__global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset), AS_TYPE(UNIT_BLOCK_RW_TYPE8, val))


#define GET_SRC(data, id) AS_TYPE(MAKE_VECTOR_TYPE(UNIT_TYPE, OUTPUT_X_BLOCK_SIZE),                             \
                            intel_sub_group_shuffle(                                                            \
                                AS_TYPE(MAKE_VECTOR_TYPE(UNIT_BLOCK_RW_TYPE, OUTPUT_X_BLOCK_SIZE), data),       \
                                id))
//#define GET_SRC(data, id) intel_sub_group_shuffle(src, id)
#define FEATURE_SLICE_SIZE 16

__attribute__((intel_reqd_sub_group_size(SUB_GROUP_SIZE)))
__attribute__((reqd_work_group_size(1, SUB_GROUP_SIZE, 1)))
KERNEL(convolution_bfyx_f16)(
    __global INPUT0_TYPE* input,
    __global OUTPUT_TYPE* output,
    __global FILTER_TYPE* weights,
#if BIAS_TERM
    __global BIAS_TYPE* biases,
#endif
    uint split_idx)
{
    const int f_block = get_group_id(1);
    const int lid = get_sub_group_local_id();
    const int b = get_global_id(2);

    const int xy = get_global_id(0);
    const int x = (xy % X_BLOCKS) * OUTPUT_X_BLOCK_SIZE;
    const int y = (xy / X_BLOCKS);

    typedef MAKE_VECTOR_TYPE(UNIT_TYPE, OUTPUT_X_BLOCK_SIZE) vec_t;
    typedef MAKE_VECTOR_TYPE(UNIT_TYPE, 8) wei_t;

    const int input_x = x * STRIDE_SIZE_X - PADDING_SIZE_X;
    const int input_y = y * STRIDE_SIZE_Y - PADDING_SIZE_Y;

    // Input offset calculations:
    const uint input_x_pitch = FEATURE_SLICE_SIZE;
    const uint input_y_pitch = input_x_pitch * (INPUT0_PAD_BEFORE_SIZE_X +  INPUT0_SIZE_X + INPUT0_PAD_AFTER_SIZE_X);
    const uint input_fs_pitch = input_y_pitch * (INPUT0_PAD_BEFORE_SIZE_Y +  INPUT0_SIZE_Y + INPUT0_PAD_AFTER_SIZE_Y);
    const uint input_total_f_size = INPUT0_PAD_BEFORE_FEATURE_NUM + INPUT0_FEATURE_NUM + INPUT0_PAD_AFTER_FEATURE_NUM;
    const uint input_b_pitch = input_fs_pitch * ((input_total_f_size + FEATURE_SLICE_SIZE - 1) / FEATURE_SLICE_SIZE);

    const uint input_fs_pad_before = INPUT0_PAD_BEFORE_FEATURE_NUM / FEATURE_SLICE_SIZE;

#if DEPTHWISE_SEPARABLE_OPT
    const uint in_split_offset = (f_block / FILTER_OFM_NUM) * INPUT0_FEATURE_PITCH * FILTER_IFM_NUM;
#else
    const uint in_split_offset = split_idx * (FILTER_IFM_NUM / FEATURE_SLICE_SIZE) * input_fs_pitch;
#endif // DEPTHWISE_SEPARABLE_OPT

    const uint input_offset = in_split_offset +
                              b * input_b_pitch +
                              input_fs_pad_before * input_fs_pitch +
                              (INPUT0_PAD_BEFORE_SIZE_Y + input_y) * input_y_pitch +
                              (INPUT0_PAD_BEFORE_SIZE_X + input_x) * input_x_pitch;

    // Output offset calculations:
    const uint output_x_pitch = FEATURE_SLICE_SIZE;
    const uint output_y_pitch = output_x_pitch * (OUTPUT_PAD_BEFORE_SIZE_X +  OUTPUT_SIZE_X + OUTPUT_PAD_AFTER_SIZE_X);
    const uint output_total_f_size = OUTPUT_PAD_BEFORE_FEATURE_NUM + OUTPUT_FEATURE_NUM + OUTPUT_PAD_AFTER_FEATURE_NUM;
    const uint output_fs_pitch = output_y_pitch * (OUTPUT_PAD_BEFORE_SIZE_Y +  OUTPUT_SIZE_Y + OUTPUT_PAD_AFTER_SIZE_Y);
    const uint output_b_pitch = output_fs_pitch * ((output_total_f_size + FEATURE_SLICE_SIZE - 1) / FEATURE_SLICE_SIZE);

    const uint output_fs_pad_before = OUTPUT_PAD_BEFORE_FEATURE_NUM / FEATURE_SLICE_SIZE;

    const uint out_split_offset = split_idx * (OUTPUT_FEATURE_NUM / FEATURE_SLICE_SIZE) * output_fs_pitch;

    const uint output_offset = out_split_offset +
                               b * output_b_pitch +
                               (f_block + output_fs_pad_before) * output_fs_pitch +
                               (y + OUTPUT_PAD_BEFORE_SIZE_Y) * output_y_pitch +
                               (x + OUTPUT_PAD_BEFORE_SIZE_X) * output_x_pitch;

    // Filter offset calculations:
    const uint filter_isv_pitch = FEATURE_SLICE_SIZE;
    const uint filter_x_pitch = FEATURE_SLICE_SIZE * FEATURE_SLICE_SIZE;
    const uint filter_y_pitch = filter_x_pitch * FILTER_SIZE_X;
    const uint filter_is_pitch = filter_y_pitch * FILTER_SIZE_Y;
    const uint filter_os_pitch = filter_is_pitch * ((FILTER_IFM_NUM + FEATURE_SLICE_SIZE - 1) / FEATURE_SLICE_SIZE);

#if GROUPED && !DEPTHWISE_SEPARABLE_OPT
    const uint filter_offset = f_block * filter_os_pitch + split_idx * FILTER_LENGTH;
#else
    const uint filter_offset = f_block * filter_os_pitch;
#endif

#if BIAS_TERM
    uint bias_offset = f_block * FEATURE_SLICE_SIZE;

// Copyright (c) 2016-2019 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/


#define GET_DATA_INDEX(prefix, b, f, y, x)  \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_INDEX_SAFE(prefix, b, f, y, x)                     \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

 #define GET_3D_DATA_INDEX(prefix, b, f, z, y, x) \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (z)*CAT(prefix, _Z_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_3D_DATA_INDEX_SAFE(prefix, b, f, z, y, x)               \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (z % CAT(prefix, _SIZE_Z     ))*CAT(prefix, _Z_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_BS_FYX_BSV8_INDEX(prefix, b, f, y, x, sub_group_size)  \
    CAT(prefix, _OFFSET) +                                              \
    ((b) % (sub_group_size)) +                                          \
    (sub_group_size)*(                                                  \
        (x)*CAT(prefix, _X_PITCH) +                                     \
        (y)*CAT(prefix, _Y_PITCH) +                                     \
        (f)*CAT(prefix, _FEATURE_PITCH) +                               \
        ((b) / (sub_group_size))*CAT(prefix, _BATCH_PITCH)              \
    )

inline uint FUNC(get_bf8_xy16_index)(uint b, uint f, uint y, uint x, uint x_size, uint y_size, uint f_size, uint offset)
{
    const uint xy_idx = x + y * x_size;
    const uint xy_offset = (xy_idx % 16) + (xy_idx / 16) * 16 * 8;
    const uint xy_block_num = (x_size * y_size + 16 - 1) / 16;
    const uint f_offset = (f % 8) * 16 + (f / 8) * xy_block_num * 16 * 8;
    const uint f_block_num = (f_size + 8 - 1) / 8;
    const uint b_offset = b * f_block_num * xy_block_num * 128;

    const size_t idx = offset + xy_offset + f_offset + b_offset;

    return idx;
}

inline uint FUNC(get_bfyx_f16_index)(
    uint b, uint f, uint y, uint x,
    uint x_size, uint y_size, uint f_size,
    uint y_pad_before,uint y_pad_after,
    uint x_pad_before, uint x_pad_after,
    uint f_pad_before, uint f_pad_after)
{
    const uint feature_slice_size = 16;

    const uint full_width = x_size + x_pad_before + x_pad_after;
    const uint full_height = y_size + y_pad_before + y_pad_after;
    const uint full_features = f_pad_before + f_size + f_pad_after;
    const uint feature_tiles_number = (full_features + feature_slice_size - 1) / feature_slice_size;

    const uint x_pitch = feature_slice_size;
    const uint y_pitch = x_pitch * full_width;
    const uint fs_pitch = y_pitch * full_height;
    const uint b_pitch = fs_pitch * feature_tiles_number;

    const uint x_offset = (x + x_pad_before) * x_pitch;
    const uint y_offset = (y + y_pad_before) * y_pitch;
    const uint fs_offset = (f / feature_slice_size + f_pad_before / feature_slice_size) * fs_pitch;
    const uint b_offset = b * b_pitch;

    const size_t idx = x_offset + y_offset + fs_offset + b_offset + (f % feature_slice_size);

    return idx;
}

#define GET_DATA_BFYX_F16_INDEX(prefix, b, f, y, x)     \
    FUNC_CALL(get_bfyx_f16_index)(                      \
        b, f, y, x,                                     \
        CAT(prefix, _SIZE_X ),                          \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _FEATURE_NUM),                      \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_X),                \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _PAD_AFTER_FEATURE_NUM))
                                                  yb * input_y_pitch +
                                                  xb * input_x_pitch;
            src[i] = UNIT_BLOCK_READ(input, input_idx);
        }
#else
        vec_t src = UNIT_BLOCK_READ8(input, input_offset + k * input_fs_pitch +
                                                           input_y * input_y_pitch +
                                                           input_x * input_x_pitch);
#endif

        vec_t wei0 = UNIT_BLOCK_READ8(weights, filter_offset + k * filter_is_pitch);
        vec_t wei1 = UNIT_BLOCK_READ8(weights, filter_offset + k * filter_is_pitch + 8 * filter_isv_pitch);
        const vec_t src0  = GET_SRC(src, 0);
        const vec_t src1  = GET_SRC(src, 1);
        const vec_t src2  = GET_SRC(src, 2);
        const vec_t src3  = GET_SRC(src, 3);
        const vec_t src4  = GET_SRC(src, 4);
        const vec_t src5  = GET_SRC(src, 5);
        const vec_t src6  = GET_SRC(src, 6);
        const vec_t src7  = GET_SRC(src, 7);
        const vec_t src8  = GET_SRC(src, 8);
        const vec_t src9  = GET_SRC(src, 9);
        const vec_t src10 = GET_SRC(src, 10);
        const vec_t src11 = GET_SRC(src, 11);
        const vec_t src12 = GET_SRC(src, 12);
        const vec_t src13 = GET_SRC(src, 13);
        const vec_t src14 = GET_SRC(src, 14);
        const vec_t src15 = GET_SRC(src, 15);


        dst = mad(wei0.s0, src0, dst);
        dst = mad(wei0.s1, src1, dst);
        dst = mad(wei0.s2, src2, dst);
        dst = mad(wei0.s3, src3, dst);
        dst = mad(wei0.s4, src4, dst);
        dst = mad(wei0.s5, src5, dst);
        dst = mad(wei0.s6, src6, dst);
        dst = mad(wei0.s7, src7, dst);
        dst = mad(wei1.s0, src8, dst);
        dst = mad(wei1.s1, src9, dst);
        dst = mad(wei1.s2, src10, dst);
        dst = mad(wei1.s3, src11, dst);
        dst = mad(wei1.s4, src12, dst);
        dst = mad(wei1.s5, src13, dst);
        dst = mad(wei1.s6, src14, dst);
        dst = mad(wei1.s7, src15, dst);
    }

    dst = ACTIVATION(dst, NL_M, NL_N);

    // TODO Add support for padded output
    if (xy * X_BLOCK_SIZE + X_BLOCK_SIZE <= OUTPUT_SIZE_X * OUTPUT_SIZE_Y)
    {
        UNIT_BLOCK_WRITE8(output, output_offset + y * output_y_pitch + x * output_x_pitch, dst);
    }
    else
    {
        for (int i = 0; i < X_BLOCK_SIZE; i++)
        {
            if (xy * X_BLOCK_SIZE + i >= OUTPUT_SIZE_X * OUTPUT_SIZE_Y)
                return;

            int xi = (x+i) % OUTPUT_SIZE_X;
            int yi = y + ((x+i) / OUTPUT_SIZE_X);

            UNIT_BLOCK_WRITE(output, output_offset + yi * output_y_pitch + xi * output_x_pitch, dst[i]);
        }
    }
}

#undef GET_SRC
#undef FEATURE_SLICE_SIZE

        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif


// Copyright (c) 2019 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


#ifndef UNIT_TYPE
#error Unit type not defined.
#endif

#if UNIT_TYPE_SIZE == 2
// 2 byte data type case (ex. half)
#define UNIT_BLOCK_RW_TYPE ushort
#define UNIT_BLOCK_READ_FUNC intel_sub_group_block_read_us
#define UNIT_BLOCK_WRITE_FUNC intel_sub_group_block_write_us
#elif UNIT_TYPE_SIZE == 4
// 4 byte data type case (ex. float)
#define UNIT_BLOCK_RW_TYPE uint
#define UNIT_BLOCK_READ_FUNC intel_sub_group_block_read
#define UNIT_BLOCK_WRITE_FUNC intel_sub_group_block_write
#else
#error Unsupported unit type for block read/write.
#endif

#define UNIT_TYPE2 MAKE_VECTOR_TYPE(UNIT_TYPE, 2)
#define UNIT_TYPE4 MAKE_VECTOR_TYPE(UNIT_TYPE, 4)
#define UNIT_TYPE8 MAKE_VECTOR_TYPE(UNIT_TYPE, 8)

#define UNIT_BLOCK_RW_TYPE2 MAKE_VECTOR_TYPE(UNIT_BLOCK_RW_TYPE, 2)
#define UNIT_BLOCK_RW_TYPE4 MAKE_VECTOR_TYPE(UNIT_BLOCK_RW_TYPE, 4)
#define UNIT_BLOCK_RW_TYPE8 MAKE_VECTOR_TYPE(UNIT_BLOCK_RW_TYPE, 8)

#define AS_TYPE(type, val) CAT(as_, type)(val)

#define UNIT_BLOCK_READ_FUNC2 CAT(UNIT_BLOCK_READ_FUNC, 2)
#define UNIT_BLOCK_READ_FUNC4 CAT(UNIT_BLOCK_READ_FUNC, 4)
#define UNIT_BLOCK_READ_FUNC8 CAT(UNIT_BLOCK_READ_FUNC, 8)

#define UNIT_BLOCK_WRITE_FUNC2 CAT(UNIT_BLOCK_WRITE_FUNC, 2)
#define UNIT_BLOCK_WRITE_FUNC4 CAT(UNIT_BLOCK_WRITE_FUNC, 4)
#define UNIT_BLOCK_WRITE_FUNC8 CAT(UNIT_BLOCK_WRITE_FUNC, 8)

#define UNIT_BLOCK_READ(ptr, offset)  AS_TYPE(UNIT_TYPE,  UNIT_BLOCK_READ_FUNC( (const __global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset)))
#define UNIT_BLOCK_READ2(ptr, offset) AS_TYPE(UNIT_TYPE2, UNIT_BLOCK_READ_FUNC2((const __global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset)))
#define UNIT_BLOCK_READ4(ptr, offset) AS_TYPE(UNIT_TYPE4, UNIT_BLOCK_READ_FUNC4((const __global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset)))
#define UNIT_BLOCK_READ8(ptr, offset) AS_TYPE(UNIT_TYPE8, UNIT_BLOCK_READ_FUNC8((const __global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset)))

#define UNIT_BLOCK_WRITE(ptr, offset, val)  UNIT_BLOCK_WRITE_FUNC( (__global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset), AS_TYPE(UNIT_BLOCK_RW_TYPE,  val))
#define UNIT_BLOCK_WRITE2(ptr, offset, val) UNIT_BLOCK_WRITE_FUNC2((__global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset), AS_TYPE(UNIT_BLOCK_RW_TYPE2, val))
#define UNIT_BLOCK_WRITE4(ptr, offset, val) UNIT_BLOCK_WRITE_FUNC4((__global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset), AS_TYPE(UNIT_BLOCK_RW_TYPE4, val))
#define UNIT_BLOCK_WRITE8(ptr, offset, val) UNIT_BLOCK_WRITE_FUNC8((__global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset), AS_TYPE(UNIT_BLOCK_RW_TYPE8, val))


#define GET_SRC(data, id) AS_TYPE(MAKE_VECTOR_TYPE(UNIT_TYPE, X_BLOCK_SIZE),                             \
                            intel_sub_group_shuffle(                                                     \
                                AS_TYPE(MAKE_VECTOR_TYPE(UNIT_BLOCK_RW_TYPE, X_BLOCK_SIZE), data),       \
                                id))

#define FEATURE_SLICE_SIZE 16


__attribute__((intel_reqd_sub_group_size(SUB_GROUP_SIZE)))
__attribute__((reqd_work_group_size(1, SUB_GROUP_SIZE, 1)))
KERNEL(convolution_bfyx_f16_1x1)(
    __global INPUT0_TYPE* input,
    __global OUTPUT_TYPE* output,
    __global FILTER_TYPE* weights,
#if BIAS_TERM
    __global BIAS_TYPE* biases,
#endif
    uint split_idx)
{
    const int xy = get_global_id(0);
    const int f_block = get_group_id(1);
    const int b = get_global_id(2);
    const int lid = get_sub_group_local_id();

    const int x = (xy * X_BLOCK_SIZE) % OUTPUT_SIZE_X;
    const int y = (xy * X_BLOCK_SIZE) / OUTPUT_SIZE_X;

    const int input_x = x;
    const int input_y = y;

    // Input offset calculations:
    const uint input_x_pitch = FEATURE_SLICE_SIZE;
    const uint input_y_pitch = input_x_pitch * (INPUT0_PAD_BEFORE_SIZE_X +  INPUT0_SIZE_X + INPUT0_PAD_AFTER_SIZE_X);
    const uint input_fs_pitch = input_y_pitch * (INPUT0_PAD_BEFORE_SIZE_Y +  INPUT0_SIZE_Y + INPUT0_PAD_AFTER_SIZE_Y);
    const uint input_total_f_size = INPUT0_PAD_BEFORE_FEATURE_NUM + INPUT0_FEATURE_NUM + INPUT0_PAD_AFTER_FEATURE_NUM;
    const uint input_b_pitch = input_fs_pitch * ((input_total_f_size + FEATURE_SLICE_SIZE - 1) / FEATURE_SLICE_SIZE);

    const uint input_fs_pad_before = INPUT0_PAD_BEFORE_FEATURE_NUM / FEATURE_SLICE_SIZE;

    const uint input_offset = b * input_b_pitch +
                              input_fs_pad_before * input_fs_pitch +
                              INPUT0_PAD_BEFORE_SIZE_Y * input_y_pitch +
                              INPUT0_PAD_BEFORE_SIZE_X * input_x_pitch;

    // Output offset calculations:
    const uint output_x_pitch = FEATURE_SLICE_SIZE;
    const uint output_y_pitch = output_x_pitch * (OUTPUT_PAD_BEFORE_SIZE_X +  OUTPUT_SIZE_X + OUTPUT_PAD_AFTER_SIZE_X);
    const uint output_total_f_size = OUTPUT_PAD_BEFORE_FEATURE_NUM + OUTPUT_FEATURE_NUM + OUTPUT_PAD_AFTER_FEATURE_NUM;
    const uint output_fs_pitch = output_y_pitch * (OUTPUT_PAD_BEFORE_SIZE_Y +  OUTPUT_SIZE_Y + OUTPUT_PAD_AFTER_SIZE_Y);
    const uint output_b_pitch = output_fs_pitch * ((output_total_f_size + FEATURE_SLICE_SIZE - 1) / FEATURE_SLICE_SIZE);

    const uint output_fs_pad_before = OUTPUT_PAD_BEFORE_FEATURE_NUM / FEATURE_SLICE_SIZE;

    const uint output_offset =  b * output_b_pitch +
                               (f_block + output_fs_pad_before) * output_fs_pitch +
                               (OUTPUT_PAD_BEFORE_SIZE_Y) * output_y_pitch +
                               (OUTPUT_PAD_BEFORE_SIZE_X) * output_x_pitch;

    // Filter offset calculations:
    const uint filter_isv_pitch = FEATURE_SLICE_SIZE;
    const uint filter_x_pitch = FEATURE_SLICE_SIZE * FEATURE_SLICE_SIZE;
    const uint filter_y_pitch = filter_x_pitch * FILTER_SIZE_X;
    const uint filter_is_pitch = filter_y_pitch * FILTER_SIZE_Y;
    const uint filter_os_pitch = filter_is_pitch * ((FILTER_IFM_NUM + FEATURE_SLICE_SIZE - 1) / FEATURE_SLICE_SIZE);

    const uint filter_offset = f_block * filter_os_pitch;

    typedef MAKE_VECTOR_TYPE(UNIT_TYPE, X_BLOCK_SIZE) vec_t;


#if BIAS_TERM
    vec_t dst = (vec_t)(UNIT_BLOCK_READ(biases, f_block * FEATURE_SLICE_SIZE));
#else
    vec_t dst = UNIT_VAL_ZERO;
#endif

    for (uint k = 0; k < IC_BLOCKS; ++k)
    {
#if PADDED_INPUT
        vec_t src;
        __attribute__((opencl_unroll_hint(X_BLOCK_SIZE)))
        for (int i = 0; i < X_BLOCK_SIZE; i++)
        {
            const uint xb = (x + i) % INPUT0_SIZE_X;
            const uint yb = y + (x + i) / INPUT0_SIZE_X;
            const uint input_idx = input_offset + k * input_fs_pitch +
        blockC00[7] = mad(src_tail_01, wei_02, blockC00[7]);

        blockC00[7] = mad(src_block_1[7], wei_10, blockC00[7]);
        blockC00[7] = mad(src_tail_10, wei_11, blockC00[7]);
        blockC00[7] = mad(src_tail_11, wei_12, blockC00[7]);

        blockC00[7] = mad(src_block_2[7], wei_20, blockC00[7]);
        blockC00[7] = mad(src_tail_20, wei_21, blockC00[7]);
        blockC00[7] = mad(src_tail_21, wei_22, blockC00[7]);
    }

#else
    UNIT_TYPE8 src_block_00 = UNIT_BLOCK_READ8(input, input_offset + (input_y + 0) * IC_BLOCK * INPUT0_Y_PITCH + (input_x)*IC_BLOCK);
    UNIT_TYPE8 src_block_01 = UNIT_BLOCK_READ8(input, input_offset + (input_y + 0) * IC_BLOCK * INPUT0_Y_PITCH + (input_x + 8)*IC_BLOCK);
    UNIT_TYPE8 src_block_10 = UNIT_BLOCK_READ8(input, input_offset + (input_y + 1) * IC_BLOCK * INPUT0_Y_PITCH + (input_x)*IC_BLOCK);
    UNIT_TYPE8 src_block_11 = UNIT_BLOCK_READ8(input, input_offset + (input_y + 1) * IC_BLOCK * INPUT0_Y_PITCH + (input_x + 8)*IC_BLOCK);
    UNIT_TYPE8 src_block_20 = UNIT_BLOCK_READ8(input, input_offset + (input_y + 2) * IC_BLOCK * INPUT0_Y_PITCH + (input_x)*IC_BLOCK);
    UNIT_TYPE8 src_block_21 = UNIT_BLOCK_READ8(input, input_offset + (input_y + 2) * IC_BLOCK * INPUT0_Y_PITCH + (input_x + 8)*IC_BLOCK);
    UNIT_TYPE src_tail_0 = UNIT_BLOCK_READ(input, input_offset + (input_y + 0)*IC_BLOCK*INPUT0_Y_PITCH + (input_x + 16)*IC_BLOCK);
    UNIT_TYPE src_tail_1 = UNIT_BLOCK_READ(input, input_offset + (input_y + 1)*IC_BLOCK*INPUT0_Y_PITCH + (input_x + 16)*IC_BLOCK);
    UNIT_TYPE src_tail_2 = UNIT_BLOCK_READ(input, input_offset + (input_y + 2)*IC_BLOCK*INPUT0_Y_PITCH + (input_x + 16)*IC_BLOCK);

    for (int i = 0; i < 3; i++)
    {
        blockC00[i] = mad(src_block_00[2*i + 0], wei_00,blockC00[i]);
        blockC00[i] = mad(src_block_00[2*i + 1], wei_01,blockC00[i]);
        blockC00[i] = mad(src_block_00[2*i + 2], wei_02,blockC00[i]);
        blockC00[i] = mad(src_block_10[2*i + 0], wei_10,blockC00[i]);
        blockC00[i] = mad(src_block_10[2*i + 1], wei_11,blockC00[i]);
        blockC00[i] = mad(src_block_10[2*i + 2], wei_12,blockC00[i]);
        blockC00[i] = mad(src_block_20[2*i + 0], wei_20,blockC00[i]);
        blockC00[i] = mad(src_block_20[2*i + 1], wei_21,blockC00[i]);
        blockC00[i] = mad(src_block_20[2*i + 2], wei_22,blockC00[i]);
    }
    {
        blockC00[3] = mad(src_block_00[6], wei_00,blockC00[3]);
        blockC00[3] = mad(src_block_00[7], wei_01,blockC00[3]);
        blockC00[3] = mad(src_block_01[0], wei_02,blockC00[3]);

        blockC00[3] = mad(src_block_10[6], wei_10,blockC00[3]);
        blockC00[3] = mad(src_block_10[7], wei_11,blockC00[3]);
        blockC00[3] = mad(src_block_11[0], wei_12,blockC00[3]);

        blockC00[3] = mad(src_block_20[6], wei_20,blockC00[3]);
        blockC00[3] = mad(src_block_20[7], wei_21,blockC00[3]);
        blockC00[3] = mad(src_block_21[0], wei_22,blockC00[3]);
    }

    for (int i = 0; i < 3; i++)
    {
        blockC00[4+i] = mad(src_block_01[2*i + 0], wei_00,blockC00[4+i]);
        blockC00[4+i] = mad(src_block_01[2*i + 1], wei_01,blockC00[4+i]);
        blockC00[4+i] = mad(src_block_01[2*i + 2], wei_02,blockC00[4+i]);

        blockC00[4+i] = mad(src_block_11[2*i + 0], wei_10,blockC00[4+i]);
        blockC00[4+i] = mad(src_block_11[2*i + 1], wei_11,blockC00[4+i]);
        blockC00[4+i] = mad(src_block_11[2*i + 2], wei_12,blockC00[4+i]);

        blockC00[4+i] = mad(src_block_21[2*i + 0], wei_20,blockC00[4+i]);
        blockC00[4+i] = mad(src_block_21[2*i + 1], wei_21,blockC00[4+i]);
        blockC00[4+i] = mad(src_block_21[2*i + 2], wei_22,blockC00[4+i]);
    }
    {
        blockC00[7] = mad(src_block_01[6], wei_00,blockC00[7]);
        blockC00[7] = mad(src_block_01[7], wei_01,blockC00[7]);
        blockC00[7] = mad(src_tail_0, wei_02,blockC00[7]);

        blockC00[7] = mad(src_block_11[6], wei_10,blockC00[7]);
        blockC00[7] = mad(src_block_11[7], wei_11,blockC00[7]);
        blockC00[7] = mad(src_tail_1, wei_12,blockC00[7]);

        blockC00[7] = mad(src_block_21[6], wei_20,blockC00[7]);
        blockC00[7] = mad(src_block_21[7], wei_21,blockC00[7]);
        blockC00[7] = mad(src_tail_2, wei_22,blockC00[7]);
    }
#endif // STRIDE_SIZE_X == 1

    blockC00 = ACTIVATION(blockC00, NL_M, NL_N);
    const uint dst_index = f_block * IC_BLOCK * OUTPUT_FEATURE_PITCH + y * IC_BLOCK * OUTPUT_Y_PITCH;

    if (x + XY_BLOCK <= OUTPUT_SIZE_X)
    {
        UNIT_BLOCK_WRITE8(output, dst_index + x*IC_BLOCK, blockC00);
    }
    else
    {
        for (int i = 0; i < (OUTPUT_SIZE_X - x); i++)
        {
            UNIT_BLOCK_WRITE(output, dst_index + (x+i)*IC_BLOCK, blockC00[i]);
        }
    }
}

#undef FEATURE_SLICE_SIZE
#undef XY_BLOCK

        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif


// Copyright (c) 2019 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


#ifndef UNIT_TYPE
#error Unit type not defined.
#endif

#if UNIT_TYPE_SIZE == 2
// 2 byte data type case (ex. half)
#define UNIT_BLOCK_RW_TYPE ushort
#define UNIT_BLOCK_READ_FUNC intel_sub_group_block_read_us
#define UNIT_BLOCK_WRITE_FUNC intel_sub_group_block_write_us
#elif UNIT_TYPE_SIZE == 4
// 4 byte data type case (ex. float)
#define UNIT_BLOCK_RW_TYPE uint
#define UNIT_BLOCK_READ_FUNC intel_sub_group_block_read
#define UNIT_BLOCK_WRITE_FUNC intel_sub_group_block_write
#else
#error Unsupported unit type for block read/write.
#endif

#define UNIT_TYPE2 MAKE_VECTOR_TYPE(UNIT_TYPE, 2)
#define UNIT_TYPE4 MAKE_VECTOR_TYPE(UNIT_TYPE, 4)
#define UNIT_TYPE8 MAKE_VECTOR_TYPE(UNIT_TYPE, 8)

#define UNIT_BLOCK_RW_TYPE2 MAKE_VECTOR_TYPE(UNIT_BLOCK_RW_TYPE, 2)
#define UNIT_BLOCK_RW_TYPE4 MAKE_VECTOR_TYPE(UNIT_BLOCK_RW_TYPE, 4)
#define UNIT_BLOCK_RW_TYPE8 MAKE_VECTOR_TYPE(UNIT_BLOCK_RW_TYPE, 8)

#define AS_TYPE(type, val) CAT(as_, type)(val)

#define UNIT_BLOCK_READ_FUNC2 CAT(UNIT_BLOCK_READ_FUNC, 2)
#define UNIT_BLOCK_READ_FUNC4 CAT(UNIT_BLOCK_READ_FUNC, 4)
#define UNIT_BLOCK_READ_FUNC8 CAT(UNIT_BLOCK_READ_FUNC, 8)

#define UNIT_BLOCK_WRITE_FUNC2 CAT(UNIT_BLOCK_WRITE_FUNC, 2)
#define UNIT_BLOCK_WRITE_FUNC4 CAT(UNIT_BLOCK_WRITE_FUNC, 4)
#define UNIT_BLOCK_WRITE_FUNC8 CAT(UNIT_BLOCK_WRITE_FUNC, 8)

#define UNIT_BLOCK_READ(ptr, offset)  AS_TYPE(UNIT_TYPE,  UNIT_BLOCK_READ_FUNC( (const __global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset)))
#define UNIT_BLOCK_READ2(ptr, offset) AS_TYPE(UNIT_TYPE2, UNIT_BLOCK_READ_FUNC2((const __global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset)))
#define UNIT_BLOCK_READ4(ptr, offset) AS_TYPE(UNIT_TYPE4, UNIT_BLOCK_READ_FUNC4((const __global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset)))
#define UNIT_BLOCK_READ8(ptr, offset) AS_TYPE(UNIT_TYPE8, UNIT_BLOCK_READ_FUNC8((const __global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset)))

#define UNIT_BLOCK_WRITE(ptr, offset, val)  UNIT_BLOCK_WRITE_FUNC( (__global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset), AS_TYPE(UNIT_BLOCK_RW_TYPE,  val))
#define UNIT_BLOCK_WRITE2(ptr, offset, val) UNIT_BLOCK_WRITE_FUNC2((__global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset), AS_TYPE(UNIT_BLOCK_RW_TYPE2, val))
#define UNIT_BLOCK_WRITE4(ptr, offset, val) UNIT_BLOCK_WRITE_FUNC4((__global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset), AS_TYPE(UNIT_BLOCK_RW_TYPE4, val))
#define UNIT_BLOCK_WRITE8(ptr, offset, val) UNIT_BLOCK_WRITE_FUNC8((__global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset), AS_TYPE(UNIT_BLOCK_RW_TYPE8, val))


#define FEATURE_SLICE_SIZE 16
#define XY_BLOCK 8

__attribute__((intel_reqd_sub_group_size(SUB_GROUP_SIZE)))
__attribute__((reqd_work_group_size(1, SUB_GROUP_SIZE, 1)))
KERNEL(convolution_depthwise)(
    __global INPUT0_TYPE* input,
    __global OUTPUT_TYPE* output,
    __global FILTER_TYPE* weights,
#if BIAS_TERM
    __global BIAS_TYPE* biases,
#endif
    uint split_idx)
{
    const uint yx = get_global_id(0);
    const uint x = (yx % XY_BLOCKS) * XY_BLOCK;
    const uint y = (yx / XY_BLOCKS);
    const uint f_block = get_group_id(1);
    const int lid = get_local_id(1);
    const uint b = get_global_id(2);

    const uint filter_offset = f_block * IC_BLOCK * FILTER_OFM_PITCH;

    const int input_x = x * STRIDE_SIZE_X - PADDING_SIZE_X;
    const int input_y = y * STRIDE_SIZE_Y - PADDING_SIZE_Y;

    const uint input_offset = b*INPUT0_BATCH_PITCH*IC_BLOCK + INPUT0_OFFSET*IC_BLOCK + f_block*IC_BLOCK*INPUT0_FEATURE_PITCH;

#if BIAS_TERM
    UNIT_TYPE8 blockC00 = (UNIT_TYPE8)(UNIT_BLOCK_READ(biases, f_block * FEATURE_SLICE_SIZE));
#else
    UNIT_TYPE8 blockC00 = (UNIT_TYPE8)(UNIT_VAL_ZERO);
 #endif

    UNIT_TYPE wei_00 = UNIT_BLOCK_READ(weights, filter_offset + 0*FILTER_Y_PITCH*IC_BLOCK + 0*IC_BLOCK);
    UNIT_TYPE wei_01 = UNIT_BLOCK_READ(weights, filter_offset + 0*FILTER_Y_PITCH*IC_BLOCK + 1*IC_BLOCK);
    UNIT_TYPE wei_02 = UNIT_BLOCK_READ(weights, filter_offset + 0*FILTER_Y_PITCH*IC_BLOCK + 2*IC_BLOCK);
    UNIT_TYPE wei_10 = UNIT_BLOCK_READ(weights, filter_offset + 1*FILTER_Y_PITCH*IC_BLOCK + 0*IC_BLOCK);
    UNIT_TYPE wei_11 = UNIT_BLOCK_READ(weights, filter_offset + 1*FILTER_Y_PITCH*IC_BLOCK + 1*IC_BLOCK);
    UNIT_TYPE wei_12 = UNIT_BLOCK_READ(weights, filter_offset + 1*FILTER_Y_PITCH*IC_BLOCK + 2*IC_BLOCK);
    UNIT_TYPE wei_20 = UNIT_BLOCK_READ(weights, filter_offset + 2*FILTER_Y_PITCH*IC_BLOCK + 0*IC_BLOCK);
    UNIT_TYPE wei_21 = UNIT_BLOCK_READ(weights, filter_offset + 2*FILTER_Y_PITCH*IC_BLOCK + 1*IC_BLOCK);
    UNIT_TYPE wei_22 = UNIT_BLOCK_READ(weights, filter_offset + 2*FILTER_Y_PITCH*IC_BLOCK + 2*IC_BLOCK);

#if STRIDE_SIZE_X == 1
    UNIT_TYPE8 src_block_0 = UNIT_BLOCK_READ8(input, input_offset + (input_y + 0)*IC_BLOCK*INPUT0_Y_PITCH + (input_x)*IC_BLOCK);
    UNIT_TYPE8 src_block_1 = UNIT_BLOCK_READ8(input, input_offset + (input_y + 1)*IC_BLOCK*INPUT0_Y_PITCH + (input_x)*IC_BLOCK);
    UNIT_TYPE8 src_block_2 = UNIT_BLOCK_READ8(input, input_offset + (input_y + 2)*IC_BLOCK*INPUT0_Y_PITCH + (input_x)*IC_BLOCK);
    UNIT_TYPE src_tail_00 = UNIT_BLOCK_READ(input, input_offset + (input_y + 0)*IC_BLOCK*INPUT0_Y_PITCH + (input_x + 8)*IC_BLOCK);
    UNIT_TYPE src_tail_01 = UNIT_BLOCK_READ(input, input_offset + (input_y + 0)*IC_BLOCK*INPUT0_Y_PITCH + (input_x + 9)*IC_BLOCK);
    UNIT_TYPE src_tail_10 = UNIT_BLOCK_READ(input, input_offset + (input_y + 1)*IC_BLOCK*INPUT0_Y_PITCH + (input_x + 8)*IC_BLOCK);
    UNIT_TYPE src_tail_11 = UNIT_BLOCK_READ(input, input_offset + (input_y + 1)*IC_BLOCK*INPUT0_Y_PITCH + (input_x + 9)*IC_BLOCK);
    UNIT_TYPE src_tail_20 = UNIT_BLOCK_READ(input, input_offset + (input_y + 2)*IC_BLOCK*INPUT0_Y_PITCH + (input_x + 8)*IC_BLOCK);
    UNIT_TYPE src_tail_21 = UNIT_BLOCK_READ(input, input_offset + (input_y + 2)*IC_BLOCK*INPUT0_Y_PITCH + (input_x + 9)*IC_BLOCK);

    for (int i = 0; i < XY_BLOCK - 2; i++)
    {
        blockC00[i] = mad(src_block_0[i + 0], wei_00,blockC00[i]);
        blockC00[i] = mad(src_block_0[i + 1], wei_01,blockC00[i]);
        blockC00[i] = mad(src_block_0[i + 2], wei_02,blockC00[i]);

        blockC00[i] = mad(src_block_1[i + 0], wei_10,blockC00[i]);
        blockC00[i] = mad(src_block_1[i + 1], wei_11,blockC00[i]);
        blockC00[i] = mad(src_block_1[i + 2], wei_12,blockC00[i]);

        blockC00[i] = mad(src_block_2[i + 0], wei_20,blockC00[i]);
        blockC00[i] = mad(src_block_2[i + 1], wei_21,blockC00[i]);
        blockC00[i] = mad(src_block_2[i + 2], wei_22,blockC00[i]);
    }
    {
        blockC00[6] = mad(src_block_0[6], wei_00,blockC00[6]);
        blockC00[6] = mad(src_block_0[7], wei_01,blockC00[6]);
        blockC00[6] = mad(src_tail_00, wei_02,blockC00[6]);

        blockC00[6] = mad(src_block_1[6], wei_10,blockC00[6]);
        blockC00[6] = mad(src_block_1[7], wei_11,blockC00[6]);
        blockC00[6] = mad(src_tail_10, wei_12,blockC00[6]);

        blockC00[6] = mad(src_block_2[6], wei_20,blockC00[6]);
        blockC00[6] = mad(src_block_2[7], wei_21,blockC00[6]);
        blockC00[6] = mad(src_tail_20, wei_22,blockC00[6]);
    }

    {
        blockC00[7] = mad(src_block_0[7], wei_00, blockC00[7]);
        blockC00[7] = mad(src_tail_00, wei_01, blockC00[7]);
// Copyright (c) 2018-2019 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/


#define GET_DATA_INDEX(prefix, b, f, y, x)  \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_INDEX_SAFE(prefix, b, f, y, x)                     \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

 #define GET_3D_DATA_INDEX(prefix, b, f, z, y, x) \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (z)*CAT(prefix, _Z_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_3D_DATA_INDEX_SAFE(prefix, b, f, z, y, x)               \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (z % CAT(prefix, _SIZE_Z     ))*CAT(prefix, _Z_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_BS_FYX_BSV8_INDEX(prefix, b, f, y, x, sub_group_size)  \
    CAT(prefix, _OFFSET) +                                              \
    ((b) % (sub_group_size)) +                                          \
    (sub_group_size)*(                                                  \
        (x)*CAT(prefix, _X_PITCH) +                                     \
        (y)*CAT(prefix, _Y_PITCH) +                                     \
        (f)*CAT(prefix, _FEATURE_PITCH) +                               \
        ((b) / (sub_group_size))*CAT(prefix, _BATCH_PITCH)              \
    )

inline uint FUNC(get_bf8_xy16_index)(uint b, uint f, uint y, uint x, uint x_size, uint y_size, uint f_size, uint offset)
{
    const uint xy_idx = x + y * x_size;
    const uint xy_offset = (xy_idx % 16) + (xy_idx / 16) * 16 * 8;
    const uint xy_block_num = (x_size * y_size + 16 - 1) / 16;
    const uint f_offset = (f % 8) * 16 + (f / 8) * xy_block_num * 16 * 8;
    const uint f_block_num = (f_size + 8 - 1) / 8;
    const uint b_offset = b * f_block_num * xy_block_num * 128;

    const size_t idx = offset + xy_offset + f_offset + b_offset;

    return idx;
}

inline uint FUNC(get_bfyx_f16_index)(
    uint b, uint f, uint y, uint x,
    uint x_size, uint y_size, uint f_size,
    uint y_pad_before,uint y_pad_after,
    uint x_pad_before, uint x_pad_after,
    uint f_pad_before, uint f_pad_after)
{
    const uint feature_slice_size = 16;

    const uint full_width = x_size + x_pad_before + x_pad_after;
    const uint full_height = y_size + y_pad_before + y_pad_after;
    const uint full_features = f_pad_before + f_size + f_pad_after;
    const uint feature_tiles_number = (full_features + feature_slice_size - 1) / feature_slice_size;

    const uint x_pitch = feature_slice_size;
    const uint y_pitch = x_pitch * full_width;
    const uint fs_pitch = y_pitch * full_height;
    const uint b_pitch = fs_pitch * feature_tiles_number;

    const uint x_offset = (x + x_pad_before) * x_pitch;
    const uint y_offset = (y + y_pad_before) * y_pitch;
    const uint fs_offset = (f / feature_slice_size + f_pad_before / feature_slice_size) * fs_pitch;
    const uint b_offset = b * b_pitch;

    const size_t idx = x_offset + y_offset + fs_offset + b_offset + (f % feature_slice_size);

    return idx;
}

#define GET_DATA_BFYX_F16_INDEX(prefix, b, f, y, x)     \
    FUNC_CALL(get_bfyx_f16_index)(                      \
        b, f, y, x,                                     \
        CAT(prefix, _SIZE_X ),                          \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _FEATURE_NUM),                      \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_X),                \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _PAD_AFTER_FEATURE_NUM))
#else
        if ( ( global_x + 1 ) < get_global_size(0) )
        {
            #if BIAS_TERM
            blockC00 += *biasPtr;
            blockC10 += *(biasPtr + 1);
            #endif

            blockC00 = ACTIVATION(blockC00, NL_M, NL_N);
            blockC10 = ACTIVATION(blockC10, NL_M, NL_N);

            for ( unsigned i = 0; i < 16; i++ )
            {
                out[( 0+i) * OUTPUT_FEATURE_PITCH] = blockC00[i];
                out[(16+i) * OUTPUT_FEATURE_PITCH] = blockC10[i];
            }
        }
        else
        {
#if ( (OUTPUT_FEATURE_NUM % TILE_N) > 16 )

            #if BIAS_TERM
            blockC00 += *biasPtr;
            blockC10 += *(biasPtr + 1);
            #endif

            blockC00 = ACTIVATION(blockC00, NL_M, NL_N);
            blockC10 = ACTIVATION(blockC10, NL_M, NL_N);

            for (unsigned i = 0; i < 16 ; i++)
            {
                out[( 0+i) * OUTPUT_FEATURE_PITCH] = blockC00[i];
            }
            for (unsigned i = 0; i < OUTPUT_FEATURE_NUM % 16 ; i++)
            {
                out[(16+i) * OUTPUT_FEATURE_PITCH] = blockC10[i];
            }
#else
            #if BIAS_TERM
            blockC00 += *biasPtr;
            #endif

            blockC00 = ACTIVATION(blockC00, NL_M, NL_N);

            for (unsigned i = 0; i < OUTPUT_FEATURE_NUM % 16 ; i++)
            {
                out[( 0+i) * OUTPUT_FEATURE_PITCH] = blockC00[i];
            }
#endif
        }
#endif
    }

}
#endif

        _result.sa = mad( _rowA, sub_group_broadcast( colB, 10 ), _result.sa );  \
        _result.sb = mad( _rowA, sub_group_broadcast( colB, 11 ), _result.sb );  \
        _result.sc = mad( _rowA, sub_group_broadcast( colB, 12 ), _result.sc );  \
        _result.sd = mad( _rowA, sub_group_broadcast( colB, 13 ), _result.sd );  \
        _result.se = mad( _rowA, sub_group_broadcast( colB, 14 ), _result.se );  \
        _result.sf = mad( _rowA, sub_group_broadcast( colB, 15 ), _result.sf );  \
    }
    typedef CAT( half, FILTER_SIZE_X ) half_t;
    // Walk DOWN src0 (patch 0, 1, 2, ...) and DOWN src1.
    // Inner loop loads and FMADs one row (FILTER_SIZE_X) of each input patch
    // and FILTER_SIZE_X/2 rows of interleaved filter.
    unsigned patch_depth = 0;
    __attribute__((opencl_unroll_hint(1)))
    do
    {
        int patch_row = 0;
        __attribute__((opencl_unroll_hint(1)))
        do
        {
            // Load atile and btile.
            // Kernel data is partially interleaved.  Every 2 rows are interleaved at half16 granularity.
            // The exception is that if FILTER_SIZE_X is odd the last row is not interleaved.  The non
            // interleaved row is padded with zero to ensure same size as interleaved rows. This
            // interleaving is done to ensure 0% GDR bank conflicts.  For example, this is how the
            // kernel data would be arranged before/after interleaving for FILTER_SIZE_X=3.
            // (0, 0) (16, 0) (32, 0) (48, 0) ...     (0, 0) ( 0, 1) (16, 0) ( 0, 1) (32, 0) (0, 1) (48, 0) ...
            // (0, 1) (16, 1) (32, 1) (48, 1) ... =>  (0, 2) (16, 2) (32, 2) (48, 2) ...
            // (0, 2) (16, 2) (32, 2) (48, 2) ...     ...
            // ...
            const bool kernel_width_is_odd = FILTER_SIZE_X % 2 == 1;
            #if defined(INPUT_BUFFER_WIDTH_PADDED) && defined(INPUT_BUFFER_HEIGHT_PADDED)

            // in case the data is not aligned to sizeof(T)*FILTER_SIZE_X we need to use vload or set the data in a loop
            half blockA00[FILTER_SIZE_X];
            {
                unsigned i = 0;
                LOOP(FILTER_SIZE_X, i,
                {
#if LEFTOVERS == 1
                    if(src0_read_offset_const + (FILTER_SIZE_Y - 1) * INPUT0_Y_PITCH + (INPUT0_FEATURE_NUM - 1) * (INPUT0_FEATURE_PITCH - ( FILTER_SIZE_Y * INPUT0_Y_PITCH )) >= INPUT0_BATCH_NUM * INPUT0_BATCH_PITCH)
                    {
                        if(src0_read_offset + i < INPUT0_BATCH_NUM * INPUT0_BATCH_PITCH)
                            blockA00[i] = src0[src0_read_offset + i];
                    }
                    else
#endif
                        blockA00[i] = src0[src0_read_offset + i];
                } )
            }

            half*  pblockA00 = (half*)(&blockA00);

            #elif !defined(INPUT_BUFFER_WIDTH_PADDED) && !defined(INPUT_BUFFER_HEIGHT_PADDED)
            // TODO: Fixed vload issue in this path.
            #pragma error
            half_t blockA00;
            half*  pblockA00 = (half*)(&blockA00);
            #if (PADDING_SIZE_X == 1) && (INPPUT_PADDING_Y == 1) && (FILTER_SIZE_X == 3) && (FILTER_SIZE_Y == 3)
            if ((y_offset +  patch_row < 0) || ((y_offset + patch_row) >= INPUT_SIZE_Y))
            {
                blockA00 = { 0 };
            }
            else
            {
                 blockA00 = src0[src0_read_offset - partial_left];
                 if (partial_left) pblockA00[0] = 0;
                 if (partial_right != FILTER_SIZE_X) pblockA00[FILTER_SIZE_X - 1] = 0;
            }
            #else
            if ((y_offset +  patch_row < 0) || ((y_offset + patch_row) >= INPUT_SIZE_Y))
            {
                blockA00 = { 0 };
            }
            else
            {
                 blockA00 = src0[src0_read_offset - partial_left];
                 for (unsigned i = 0; i < partial_left; ++i) pblockA00[i] = 0;
                 for (unsigned i = partial_right; i < FILTER_SIZE_X; ++i) pblockA00[i] = 0;

            }
            #endif
            #elif defined(INPUT_BUFFER_WIDTH_PADDED)
            // TODO: Fixed vload issue in this path.
            #pragma error
            if ((y_offset +  patch_row < 0) || ((y_offset + patch_row) >= INPUT_SIZE_Y))
            {
                blockA00 = { 0 };
            }
            else
            {
                blockA00 = src0[src0_read_offset];
            }
            #endif
            src0_read_offset += INPUT0_Y_PITCH;

            ushort blockB00[FILTER_SIZE_X * 2];
            ushort4* p4BlockB00 = (ushort4*)blockB00;
            ushort2* p2BlockB00 = (ushort2*)blockB00;
            half* pBlockB00  = (half*)blockB00;

            interleaved_y = 0;
            LOOP(FILTER_SIZE_X_DIV2, interleaved_y,
            {
                p4BlockB00[interleaved_y] = intel_sub_group_block_read_us4( (const __global ushort*)src1 + src1_read_offset );
                src1_read_offset += ALIGNED_OFM * 2;
            } )
            if ( kernel_width_is_odd )
            {
                p2BlockB00[FILTER_SIZE_X - 1] = intel_sub_group_block_read_us2( (const __global ushort*)src1 + src1_read_offset );
                src1_read_offset += ALIGNED_OFM * 2;
            }

            // Perform MADs
            kernel_idx = 0;
            interleaved_y = 0;
            LOOP(FILTER_SIZE_X_DIV2, interleaved_y,
            {
                kernel_y = interleaved_y * 2;
                DOT_PRODUCT_16( blockC00, pblockA00[kernel_y    ], pBlockB00[kernel_idx] ); kernel_idx++;
                DOT_PRODUCT_16( blockC00, pblockA00[kernel_y + 1], pBlockB00[kernel_idx] ); kernel_idx++;
                DOT_PRODUCT_16( blockC10, pblockA00[kernel_y    ], pBlockB00[kernel_idx] ); kernel_idx++;
                DOT_PRODUCT_16( blockC10, pblockA00[kernel_y + 1], pBlockB00[kernel_idx] ); kernel_idx++;
            } )
            if ( kernel_width_is_odd )
            {
                kernel_y = interleaved_y * 2;
                DOT_PRODUCT_16( blockC00, pblockA00[kernel_y], pBlockB00[kernel_idx] ); kernel_idx++;
                DOT_PRODUCT_16( blockC10, pblockA00[kernel_y], pBlockB00[kernel_idx] ); kernel_idx++;
            }
        }
        while( ++patch_row < FILTER_SIZE_Y );

        src0_read_offset += INPUT0_FEATURE_PITCH - ( FILTER_SIZE_Y * INPUT0_Y_PITCH ); // reset to start of next slice of patch
    }
    while ( ++patch_depth < INPUT0_FEATURE_NUM );

    #undef DOT_PRODUCT_16

    const uint out_split_offset = split_idx * OUTPUT_FEATURE_PITCH * OUTPUT_FEATURE_NUM;
    // Dst resembles a cube of width x height x (output channel * batches).  Each tile writes:
    // (SIMD * TILE_M) x 1 x TILE_N.  Partial writes most likely generated if padding used.
    __global half *out = dst + OUTPUT_OFFSET + out_split_offset
     + global_z * OUTPUT_BATCH_PITCH                                                   // batch offset
     + ( group_x * TILE_N ) * OUTPUT_FEATURE_PITCH                                     // channel offset
     + ( ( global_y * TILE_M ) / OUTPUT_SIZE_X ) * OUTPUT_Y_PITCH                      // y offset
     + ( ( global_y * TILE_M ) % OUTPUT_SIZE_X );                                      // x offset


    if (global_y * TILE_M < OUTPUT_SIZE_X * OUTPUT_SIZE_Y )
    {
         #if BIAS_TERM
         __global half16* biasPtr = (__global half16*) (bias + group_x * TILE_N);
         #endif

#if ( ( OUTPUT_FEATURE_NUM % TILE_N ) == 0 )

        #if BIAS_TERM
        blockC00 += *biasPtr;
        blockC10 += *(biasPtr + 1);
        #endif

        blockC00 = ACTIVATION(blockC00, NL_M, NL_N);
        blockC10 = ACTIVATION(blockC10, NL_M, NL_N);

        for (unsigned i = 0; i < 16; i++)
        {
            out[( 0+i) * OUTPUT_FEATURE_PITCH] = blockC00[i];
            out[(16+i) * OUTPUT_FEATURE_PITCH] = blockC10[i];
        }

#elif ( ( OUTPUT_FEATURE_NUM % 16 ) == 0 )
        if ( ( global_x + 1 ) < get_global_size(0) )
        {
            #if BIAS_TERM
            blockC00 += *biasPtr;
            blockC10 += *(biasPtr + 1);
            #endif

            blockC00 = ACTIVATION(blockC00, NL_M, NL_N);
            blockC10 = ACTIVATION(blockC10, NL_M, NL_N);

            for ( unsigned i = 0; i < 16; i++ )
            {
                out[( 0+i) * OUTPUT_FEATURE_PITCH] = blockC00[i];
                out[(16+i) * OUTPUT_FEATURE_PITCH] = blockC10[i];
            }
        }
        else
        {
            #if BIAS_TERM
            blockC00 += *biasPtr;
            #endif

            blockC00 = ACTIVATION(blockC00, NL_M, NL_N);

            for (unsigned i = 0; i < 16; i++)
            {
                out[( 0+i) * OUTPUT_FEATURE_PITCH] = blockC00[i];
            }
        }
        CAT(prefix, _SIZE_X),                           \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



#if defined(cl_intel_subgroups_short)
#define TILE_M          1
#define TILE_K          FILTER_SIZE_X
#define TILE_N          32

__attribute__((intel_reqd_sub_group_size(16)))
KERNEL(convolution_f16)(
    const __global half *src0,
    __global half *dst,
    const __global half *src1,
#if BIAS_TERM
    const __global half *bias,
#endif
    uint split_idx)
{
/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

typedef struct half1  { half s0; }                                                               half1;
typedef struct half5  { half s0; half s1; half s2; half s3; half s4; }                           half5;
typedef struct half6  { half s0; half s1; half s2; half s3; half s4; half s5; }                  half6;
typedef struct half7  { half s0; half s1; half s2; half s3; half s4; half s5; half s6; }         half7;
typedef struct half9  { half s0; half s1; half s2; half s3; half s4; half s5; half s6; half s7;
                        half s8; }                                                               half9;
typedef struct half10 { half s0; half s1; half s2; half s3; half s4; half s5; half s6; half s7;
                        half s8; half s9; }                                                      half10;
typedef struct half11 { half s0; half s1; half s2; half s3; half s4; half s5; half s6; half s7;
                        half s8; half s9; half sa; }                                             half11;
typedef struct half12 { half s0; half s1; half s2; half s3; half s4; half s5; half s6; half s7;
                        half s8;  half s9; half sa; half sb;}                                    half12;
typedef struct half13 { half s0; half s1; half s2; half s3; half s4; half s5; half s6; half s7;
                        half s8;  half s9; half sa; half sb; half sc;}                           half13;
typedef struct half14 { half s0; half s1; half s2; half s3; half s4; half s5; half s6; half s7;
                        half s8;  half s9; half sa; half sb; half sc; half se;}                  half14;
typedef struct half15 { half s0; half s1; half s2; half s3; half s4; half s5; half s6; half s7;
                       half s8;  half s9; half sa; half sb; half sc; half se; half sf;}          half15;
typedef struct half0  { half s0; } half0; //never used but makes compiler happy.

typedef struct float1 { float s0; } float1;
typedef struct float5 { float s0; float s1; float s2; float s3; float s4; } float5;
typedef struct float6 { float s0; float s1; float s2; float s3; float s4; float s5; } float6;
typedef struct float7 { float s0; float s1; float s2; float s3; float s4; float s5; float s6; } float7;
typedef struct float9 { float s0; float s1; float s2; float s3; float s4; float s5; float s6; float s7; float s8; } float9;
typedef struct float10 { float s0; float s1; float s2; float s3; float s4; float s5;
                         float s6; float s7; float s8; float s9;} float10;
typedef struct float11 { float s0; float s1; float s2; float s3; float s4; float s5;
                         float s6; float s7; float s8; float s9; float sa;} float11;
typedef struct float12 { float s0; float s1; float s2; float s3; float s4; float s5;
                         float s6; float s7; float s8; float s9; float sa; float sb; } float12;
typedef struct float13 { float s0; float s1; float s2; float s3; float s4; float s5;
                         float s6; float s7; float s8; float s9; float sa; float sb; float sc;} float13;
typedef struct float14 { float s0; float s1; float s2; float s3; float s4; float s5;
                         float s6; float s7; float s8; float s9; float sa; float sb; float sc; float sd; } float14;
typedef struct float15 { float s0; float s1; float s2; float s3; float s4; float s5;
                         float s6; float s7; float s8; float s9; float sa; float sb; float sc; float sd; float se; } float15;
typedef struct float0 { float s0; } float0; //never used but makes compiler happy.


    const unsigned group_x = get_group_id(0);
    const unsigned group_y = get_group_id(1);
    const unsigned global_x = get_global_id(0);
    const unsigned global_y = get_global_id(1);
    const unsigned global_z = get_global_id(2);

    unsigned interleaved_y;
    unsigned kernel_y;
    unsigned kernel_idx;

    // Result ctile (*dst) is M rows x N columns
    // LWG size is 1x16.  Thus each thread calculates 16*M rows x N cols of ctile.
    half16  blockC00 = 0.f;
    half16  blockC10 = 0.f;

    const uint in_split_offset = split_idx * INPUT0_FEATURE_PITCH * INPUT0_FEATURE_NUM;
    // Src0 (patch input) is directly used as atile.
    // Each work item points to the start of a different patch.
    // atile is M rows x K columns.
#if defined(INPUT_BUFFER_WIDTH_PADDED) && defined(INPUT_BUFFER_HEIGHT_PADDED)
    const uint src0_read_offset_const = INPUT0_OFFSET_WITH_PADDING + in_split_offset
     + INPUT0_BATCH_PITCH * global_z                                                         // batch offset
     + ( ( global_y / OUTPUT_SIZE_X ) * STRIDE_SIZE_Y * INPUT0_Y_PITCH )                     // y offset
     + ( ( global_y % OUTPUT_SIZE_X ) * STRIDE_SIZE_X );                                     // x offset
#elif !defined(INPUT_BUFFER_WIDTH_PADDED) && !defined(INPUT_BUFFER_HEIGHT_PADDED)
    #pragma error - fix this path
    const int y_offset = ( global_y / OUTPUT_SIZE_X ) * STRIDE_SIZE_Y - PADDING_SIZE_Y;
    const int x_offset = ( global_y % OUTPUT_SIZE_X ) * STRIDE_SIZE_X - PADDING_SIZE_X;
    uint src0_read_offset = INPUT_OFFSET + in_split_offset + INPUT0_BATCH_PITCH * global_z
                            + y_offset * INPUT0_Y_PITCH;

    int partial_left = 0, partial_right = 0;
    if (x_offset < 0)
    {
        partial_left = min((int) FILTER_SIZE_X, (int) abs(x_offset));
        src0_read_offset -= partial_left;
    }
    else
    {
        partial_left = 0;
        src0_read_offset +=  x_offset;
    }
    if ((x_offset + FILTER_SIZE_X) >= INPUT_SIZE_X)
        partial_right = min(FILTER_SIZE_X, INPUT_SIZE_X - x_offset);
    else
        partial_right = FILTER_SIZE_X;

#elif defined(INPUT_BUFFER_WIDTH_PADDED)
    #pragma error - fix this path
    // TODO: Handle offset
    const int y_offset = ( global_y / OUTPUT_SIZE_X ) * STRIDE_SIZE_Y -PADDING_SIZE_Y;
    int src0_read_offset = in_split_offset + INPUT0_BATCH_PITCH * global_z        // batch offset
     + y_offset * INPUT0_Y_PITCH                              // y offset
     + ( ( global_y % OUTPUT_SIZE_X ) * STRIDE_SIZE_X );                // x offset
#endif

    // Src1 (filter) is directly used as btile.
    // It starts at the top of src1 and walks down.
    // btile is K rows x N columns.
    uint src0_read_offset = src0_read_offset_const;
    uint src1_read_offset = ( global_x * TILE_N * 2);

#define DOT_PRODUCT_16( _result, _rowA, colB )    \
    {   \
        _result.s0 = mad( _rowA, sub_group_broadcast( colB,  0 ), _result.s0 );  \
        _result.s1 = mad( _rowA, sub_group_broadcast( colB,  1 ), _result.s1 );  \
        _result.s2 = mad( _rowA, sub_group_broadcast( colB,  2 ), _result.s2 );  \
        _result.s3 = mad( _rowA, sub_group_broadcast( colB,  3 ), _result.s3 );  \
        _result.s4 = mad( _rowA, sub_group_broadcast( colB,  4 ), _result.s4 );  \
        _result.s5 = mad( _rowA, sub_group_broadcast( colB,  5 ), _result.s5 );  \
        _result.s6 = mad( _rowA, sub_group_broadcast( colB,  6 ), _result.s6 );  \
        _result.s7 = mad( _rowA, sub_group_broadcast( colB,  7 ), _result.s7 );  \
        _result.s8 = mad( _rowA, sub_group_broadcast( colB,  8 ), _result.s8 );  \
        _result.s9 = mad( _rowA, sub_group_broadcast( colB,  9 ), _result.s9 );  \
convolution_gpu_bfyx_gemm_like_fp16        {
            #if BIAS_TERM
            blockC01 += *biasPtr;
            blockC11 += *(biasPtr + 1);
            blockC21 += *(biasPtr + 2);
            blockC31 += *(biasPtr + 3);
            #endif

            blockC01 = ACTIVATION(blockC01, NL_M, NL_N);
            blockC11 = ACTIVATION(blockC11, NL_M, NL_N);
            blockC21 = ACTIVATION(blockC21, NL_M, NL_N);
            blockC31 = ACTIVATION(blockC31, NL_M, NL_N);

            for( unsigned i = 0; i < 8; i++ )
            {
                out1[( 0+i) * OUTPUT_FEATURE_PITCH] = blockC01[i];
                out1[( 8+i) * OUTPUT_FEATURE_PITCH] = blockC11[i];
                out1[(16+i) * OUTPUT_FEATURE_PITCH] = blockC21[i];
                out1[(24+i) * OUTPUT_FEATURE_PITCH] = blockC31[i];
            }
        }
        else
        {
            if ( ( global_x + 1 ) < get_global_size(0) )
            {
                #if BIAS_TERM
                blockC01 += *biasPtr;
                blockC11 += *(biasPtr + 1);
                blockC21 += *(biasPtr + 2);
                blockC31 += *(biasPtr + 3);
                #endif

                blockC01 = ACTIVATION(blockC01, NL_M, NL_N);
                blockC11 = ACTIVATION(blockC11, NL_M, NL_N);
                blockC21 = ACTIVATION(blockC21, NL_M, NL_N);
                blockC31 = ACTIVATION(blockC31, NL_M, NL_N);

                for ( unsigned i = 0; i < 8; i++ )
                {
                    out1[( 0+i) * OUTPUT_FEATURE_PITCH] = blockC01[i];
                    out1[( 8+i) * OUTPUT_FEATURE_PITCH] = blockC11[i];
                    out1[(16+i) * OUTPUT_FEATURE_PITCH] = blockC21[i];
                    out1[(24+i) * OUTPUT_FEATURE_PITCH] = blockC31[i];
                }
            }
            else
            {
                if ( ( OUTPUT_FEATURE_NUM % TILE_N ) >= 24 )
                {
                    #if BIAS_TERM
                    blockC01 += *biasPtr;
                    blockC11 += *(biasPtr + 1);
                    blockC21 += *(biasPtr + 2);
                    if ( ( OUTPUT_FEATURE_NUM % TILE_N ) > 24 ) blockC31 += *(biasPtr + 3);
                    #endif

                    blockC01 = ACTIVATION(blockC01, NL_M, NL_N);
                    blockC11 = ACTIVATION(blockC11, NL_M, NL_N);
                    blockC21 = ACTIVATION(blockC21, NL_M, NL_N);

                    for (unsigned i = 0; i < 8; i++)
                    {
                        out1[( 0+i) * OUTPUT_FEATURE_PITCH] = blockC01[i];
                        out1[( 8+i) * OUTPUT_FEATURE_PITCH] = blockC11[i];
                        out1[(16+i) * OUTPUT_FEATURE_PITCH] = blockC21[i];
                    }

                    // Remaining channels
                    for (unsigned i = 0; i < OUTPUT_FEATURE_NUM % 8; i++)
                    {
                        out1[(24+i) * OUTPUT_FEATURE_PITCH] = ACTIVATION(blockC31[i], NL_M, NL_N);
                    }
                }
                else if ( ( OUTPUT_FEATURE_NUM % TILE_N ) >= 16 )
                {
                    #if BIAS_TERM
                    blockC01 += *biasPtr;
                    blockC11 += *(biasPtr + 1);
                    if ( ( OUTPUT_FEATURE_NUM % TILE_N ) > 16 ) blockC21 += *(biasPtr + 2);
                    #endif

                    blockC01 = ACTIVATION(blockC01, NL_M, NL_N);
                    blockC11 = ACTIVATION(blockC11, NL_M, NL_N);

                    for (unsigned i = 0; i < 8; i++)
                    {
                        out1[( 0+i) * OUTPUT_FEATURE_PITCH] = blockC01[i];
                        out1[( 8+i) * OUTPUT_FEATURE_PITCH] = blockC11[i];
                    }

                    for (unsigned i = 0; i < OUTPUT_FEATURE_NUM % 8; i++)
                    {
                        out1[(16+i) * OUTPUT_FEATURE_PITCH] = ACTIVATION(blockC21[i], NL_M, NL_N);
                    }
                }
                else if ( ( OUTPUT_FEATURE_NUM % TILE_N ) >= 8 )
                {
                    #if BIAS_TERM
                    blockC01 += *biasPtr;
                    if ( ( OUTPUT_FEATURE_NUM % TILE_N ) > 8 ) blockC11 += *(biasPtr + 1);
                    #endif

                    blockC01 = ACTIVATION(blockC01, NL_M, NL_N);

                    for (unsigned i = 0; i < 8; i++)
                    {
                        out1[( 0+i) * OUTPUT_FEATURE_PITCH] = blockC01[i];
                    }

                    for (unsigned i = 0; i < OUTPUT_FEATURE_NUM % 8; i++)
                    {
                        out1[(8+i) * OUTPUT_FEATURE_PITCH] = ACTIVATION(blockC11[i], NL_M, NL_N);
                    }
                }
                else
                {
                    #if BIAS_TERM
                    blockC01 += *biasPtr;
                    #endif

                    for (unsigned i = 0; i < OUTPUT_FEATURE_NUM % 8; i++)
                    {
                        out1[( 0+i) * OUTPUT_FEATURE_PITCH] = ACTIVATION(blockC01[i], NL_M, NL_N);
                    }
                }
            }
        }
    }
}

            kernel_idx = 0;
            interleaved_y = 0;
            LOOP(FILTER_SIZE_X_DIV2, interleaved_y,
            {
                kernel_y = interleaved_y * 2;
                DOT_PRODUCT_8( blockC00, pblockA00[kernel_y    ], pBlockB00[kernel_idx] );
                DOT_PRODUCT_8( blockC01, pblockA01[kernel_y    ], pBlockB00[kernel_idx] ); kernel_idx++;
                DOT_PRODUCT_8( blockC00, pblockA00[kernel_y + 1], pBlockB00[kernel_idx] );
                DOT_PRODUCT_8( blockC01, pblockA01[kernel_y + 1], pBlockB00[kernel_idx] ); kernel_idx++;
                DOT_PRODUCT_8( blockC10, pblockA00[kernel_y    ], pBlockB00[kernel_idx] );
                DOT_PRODUCT_8( blockC11, pblockA01[kernel_y    ], pBlockB00[kernel_idx] ); kernel_idx++;
                DOT_PRODUCT_8( blockC10, pblockA00[kernel_y + 1], pBlockB00[kernel_idx] );
                DOT_PRODUCT_8( blockC11, pblockA01[kernel_y + 1], pBlockB00[kernel_idx] ); kernel_idx++;
                DOT_PRODUCT_8( blockC20, pblockA00[kernel_y    ], pBlockB00[kernel_idx] );
                DOT_PRODUCT_8( blockC21, pblockA01[kernel_y    ], pBlockB00[kernel_idx] ); kernel_idx++;
                DOT_PRODUCT_8( blockC20, pblockA00[kernel_y + 1], pBlockB00[kernel_idx] );
                DOT_PRODUCT_8( blockC21, pblockA01[kernel_y + 1], pBlockB00[kernel_idx] ); kernel_idx++;
                DOT_PRODUCT_8( blockC30, pblockA00[kernel_y    ], pBlockB00[kernel_idx] );
                DOT_PRODUCT_8( blockC31, pblockA01[kernel_y    ], pBlockB00[kernel_idx] ); kernel_idx++;
                DOT_PRODUCT_8( blockC30, pblockA00[kernel_y + 1], pBlockB00[kernel_idx] );
                DOT_PRODUCT_8( blockC31, pblockA01[kernel_y + 1], pBlockB00[kernel_idx] ); kernel_idx++;
            } )
            if ( kernel_width_is_odd )
            {
                kernel_y = interleaved_y * 2;
                DOT_PRODUCT_8( blockC00, pblockA00[kernel_y], pBlockB00[kernel_idx] );
                DOT_PRODUCT_8( blockC01, pblockA01[kernel_y], pBlockB00[kernel_idx] ); kernel_idx++;
                DOT_PRODUCT_8( blockC10, pblockA00[kernel_y], pBlockB00[kernel_idx] );
                DOT_PRODUCT_8( blockC11, pblockA01[kernel_y], pBlockB00[kernel_idx] ); kernel_idx++;
                DOT_PRODUCT_8( blockC20, pblockA00[kernel_y], pBlockB00[kernel_idx] );
                DOT_PRODUCT_8( blockC21, pblockA01[kernel_y], pBlockB00[kernel_idx] ); kernel_idx++;
                DOT_PRODUCT_8( blockC30, pblockA00[kernel_y], pBlockB00[kernel_idx] );
                DOT_PRODUCT_8( blockC31, pblockA01[kernel_y], pBlockB00[kernel_idx] ); kernel_idx++;
            }
        }

        //while( ++patch_row < 1 ); //debug
        while( ++patch_row < FILTER_SIZE_Y );

        src0_read_offset0 += INPUT0_FEATURE_PITCH - ( FILTER_SIZE_Y * INPUT0_Y_PITCH ); // reset to start of next slice of patch
        src0_read_offset1 += INPUT0_FEATURE_PITCH - ( FILTER_SIZE_Y * INPUT0_Y_PITCH ); // reset to start of next slice of patch
    }
    //while ( ++patch_depth < 1 );  //debug
    while ( ++patch_depth < INPUT0_FEATURE_NUM );

    const uint out_split_offset = split_idx * OUTPUT_FEATURE_PITCH * OUTPUT_FEATURE_NUM;
    // Dst resembles a cube of width x height x (output channel * batches).  Each tile writes:
    // (SIMD * TILE_M) x 1 x TILE_N.  Partial writes most likely generated if padding used.
    __global float *out0 = dst + OUTPUT_OFFSET + out_split_offset
     + global_z * OUTPUT_BATCH_PITCH                                                   // batch offset
     + ( group_x * TILE_N ) * OUTPUT_FEATURE_PITCH                                     // channel offset
     + ( ( global_y * TILE_M ) / OUTPUT_SIZE_X ) * OUTPUT_Y_PITCH                      // y offset
     + ( ( global_y * TILE_M ) % OUTPUT_SIZE_X );                                      // x offset
    __global float *out1 = dst + OUTPUT_OFFSET + out_split_offset
     + global_z * OUTPUT_BATCH_PITCH                                                   // batch offset
     + ( group_x * TILE_N ) * OUTPUT_FEATURE_PITCH                                     // channel offset
     + ( ( global_y * TILE_M + 1 ) / OUTPUT_SIZE_X ) * OUTPUT_Y_PITCH                  // y offset
     + ( ( global_y * TILE_M + 1 ) % OUTPUT_SIZE_X );                                  // x offset

    #if BIAS_TERM
    __global float8* biasPtr = (__global float8*) (bias + group_x * TILE_N);
    #endif

    if( global_y * TILE_M < OUTPUT_SIZE_X * OUTPUT_SIZE_Y )
    {
        if ( ( OUTPUT_FEATURE_NUM % TILE_N ) == 0 )
        {
            #if BIAS_TERM
            blockC00 += *biasPtr;
            blockC10 += *(biasPtr + 1);
            blockC20 += *(biasPtr + 2);
            blockC30 += *(biasPtr + 3);
            #endif

            blockC00 = ACTIVATION(blockC00, NL_M, NL_N);
            blockC10 = ACTIVATION(blockC10, NL_M, NL_N);
            blockC20 = ACTIVATION(blockC20, NL_M, NL_N);
            blockC30 = ACTIVATION(blockC30, NL_M, NL_N);

            for( unsigned i = 0; i < 8; i++ )
            {
                out0[( 0+i) * OUTPUT_FEATURE_PITCH] = blockC00[i];
                out0[( 8+i) * OUTPUT_FEATURE_PITCH] = blockC10[i];
                out0[(16+i) * OUTPUT_FEATURE_PITCH] = blockC20[i];
                out0[(24+i) * OUTPUT_FEATURE_PITCH] = blockC30[i];
            }
        }
        else
        {
            if ( ( global_x + 1 ) < get_global_size(0) )
            {
                #if BIAS_TERM
                blockC00 += *biasPtr;
                blockC10 += *(biasPtr + 1);
                blockC20 += *(biasPtr + 2);
                blockC30 += *(biasPtr + 3);
                #endif

                blockC00 = ACTIVATION(blockC00, NL_M, NL_N);
                blockC10 = ACTIVATION(blockC10, NL_M, NL_N);
                blockC20 = ACTIVATION(blockC20, NL_M, NL_N);
                blockC30 = ACTIVATION(blockC30, NL_M, NL_N);

                for ( unsigned i = 0; i < 8; i++ )
                {
                    out0[( 0+i) * OUTPUT_FEATURE_PITCH] = blockC00[i];
                    out0[( 8+i) * OUTPUT_FEATURE_PITCH] = blockC10[i];
                    out0[(16+i) * OUTPUT_FEATURE_PITCH] = blockC20[i];
                    out0[(24+i) * OUTPUT_FEATURE_PITCH] = blockC30[i];
                }
            }
            else
            {
                if ( ( OUTPUT_FEATURE_NUM % TILE_N ) >= 24 )
                {
                    #if BIAS_TERM
                    blockC00 += *biasPtr;
                    blockC10 += *(biasPtr + 1);
                    blockC20 += *(biasPtr + 2);
                    if (( OUTPUT_FEATURE_NUM % TILE_N) > 24 ) blockC30 += *(biasPtr + 3);
                    #endif

                    blockC00 = ACTIVATION(blockC00, NL_M, NL_N);
                    blockC10 = ACTIVATION(blockC10, NL_M, NL_N);
                    blockC20 = ACTIVATION(blockC20, NL_M, NL_N);

                    for (unsigned i = 0; i < 8; i++)
                    {
                        out0[( 0+i) * OUTPUT_FEATURE_PITCH] = blockC00[i];
                        out0[( 8+i) * OUTPUT_FEATURE_PITCH] = blockC10[i];
                        out0[(16+i) * OUTPUT_FEATURE_PITCH] = blockC20[i];
                    }

                    // remaining output channels
                    for (unsigned i = 0; i < OUTPUT_FEATURE_NUM % 8; i++)
                    {
                        out0[(24+i) * OUTPUT_FEATURE_PITCH] = ACTIVATION(blockC30[i], NL_M, NL_N);
                    }
                }
                else if ( ( OUTPUT_FEATURE_NUM % TILE_N ) >= 16 )
                {
                    #if BIAS_TERM
                    blockC00 += *biasPtr;
                    blockC10 += *(biasPtr + 1);
                    if (( OUTPUT_FEATURE_NUM % TILE_N) > 16 )
                        blockC20 += *(biasPtr + 2);
                    #endif

                    blockC00 = ACTIVATION(blockC00, NL_M, NL_N);
                    blockC10 = ACTIVATION(blockC10, NL_M, NL_N);

                    for (unsigned i = 0; i < 8; i++)
                    {
                        out0[( 0+i) * OUTPUT_FEATURE_PITCH] = blockC00[i];
                        out0[( 8+i) * OUTPUT_FEATURE_PITCH] = blockC10[i];
                    }

                    for (unsigned i = 0; i < OUTPUT_FEATURE_NUM % 8; i++)
                    {
                        out0[(16+i) * OUTPUT_FEATURE_PITCH] = ACTIVATION(blockC20[i], NL_M, NL_N);

                    }
                }
                else if ( ( OUTPUT_FEATURE_NUM % TILE_N ) >= 8 )
                {
                    #if BIAS_TERM
                    blockC00 += *biasPtr;
                    if (( OUTPUT_FEATURE_NUM % TILE_N) > 8 )
                        blockC10 += *(biasPtr + 1);
                    #endif

                    blockC00 = ACTIVATION(blockC00, NL_M, NL_N);

                    for (unsigned i = 0; i < 8; i++)
                    {
                        out0[( 0+i) * OUTPUT_FEATURE_PITCH] = blockC00[i];
                    }

                    for (unsigned i = 0; i < OUTPUT_FEATURE_NUM % 8; i++)
                    {
                        out0[(8+i) * OUTPUT_FEATURE_PITCH] = ACTIVATION(blockC10[i], NL_M, NL_N);
                    }
                }
                else
                {
                    #if BIAS_TERM
                    blockC00 += *biasPtr;
                    #endif
                    for (unsigned i = 0; i < OUTPUT_FEATURE_NUM % 8; i++)
                    {
                        out0[( 0+i) * OUTPUT_FEATURE_PITCH] = ACTIVATION(blockC00[i], NL_M, NL_N);
                    }
                }
            }
        }
    }

    if ((global_y * TILE_M + 1) < OUTPUT_SIZE_X * OUTPUT_SIZE_Y )
    {
        if ( ( OUTPUT_FEATURE_NUM % TILE_N ) == 0 )

#define TILE_M          2
#define TILE_K          FILTER_SIZE_X
#define TILE_N          32

__attribute__((intel_reqd_sub_group_size(8)))
KERNEL(convolution_f32)(
    const __global float *src0,
    __global float *dst,
    const __global float *src1,
#if BIAS_TERM
    const __global float *bias,
#endif
    uint split_idx)
{
/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

typedef struct half1  { half s0; }                                                               half1;
typedef struct half5  { half s0; half s1; half s2; half s3; half s4; }                           half5;
typedef struct half6  { half s0; half s1; half s2; half s3; half s4; half s5; }                  half6;
typedef struct half7  { half s0; half s1; half s2; half s3; half s4; half s5; half s6; }         half7;
typedef struct half9  { half s0; half s1; half s2; half s3; half s4; half s5; half s6; half s7;
                        half s8; }                                                               half9;
typedef struct half10 { half s0; half s1; half s2; half s3; half s4; half s5; half s6; half s7;
                        half s8; half s9; }                                                      half10;
typedef struct half11 { half s0; half s1; half s2; half s3; half s4; half s5; half s6; half s7;
                        half s8; half s9; half sa; }                                             half11;
typedef struct half12 { half s0; half s1; half s2; half s3; half s4; half s5; half s6; half s7;
                        half s8;  half s9; half sa; half sb;}                                    half12;
typedef struct half13 { half s0; half s1; half s2; half s3; half s4; half s5; half s6; half s7;
                        half s8;  half s9; half sa; half sb; half sc;}                           half13;
typedef struct half14 { half s0; half s1; half s2; half s3; half s4; half s5; half s6; half s7;
                        half s8;  half s9; half sa; half sb; half sc; half se;}                  half14;
typedef struct half15 { half s0; half s1; half s2; half s3; half s4; half s5; half s6; half s7;
                       half s8;  half s9; half sa; half sb; half sc; half se; half sf;}          half15;
typedef struct half0  { half s0; } half0; //never used but makes compiler happy.

typedef struct float1 { float s0; } float1;
typedef struct float5 { float s0; float s1; float s2; float s3; float s4; } float5;
typedef struct float6 { float s0; float s1; float s2; float s3; float s4; float s5; } float6;
typedef struct float7 { float s0; float s1; float s2; float s3; float s4; float s5; float s6; } float7;
typedef struct float9 { float s0; float s1; float s2; float s3; float s4; float s5; float s6; float s7; float s8; } float9;
typedef struct float10 { float s0; float s1; float s2; float s3; float s4; float s5;
                         float s6; float s7; float s8; float s9;} float10;
typedef struct float11 { float s0; float s1; float s2; float s3; float s4; float s5;
                         float s6; float s7; float s8; float s9; float sa;} float11;
typedef struct float12 { float s0; float s1; float s2; float s3; float s4; float s5;
                         float s6; float s7; float s8; float s9; float sa; float sb; } float12;
typedef struct float13 { float s0; float s1; float s2; float s3; float s4; float s5;
                         float s6; float s7; float s8; float s9; float sa; float sb; float sc;} float13;
typedef struct float14 { float s0; float s1; float s2; float s3; float s4; float s5;
                         float s6; float s7; float s8; float s9; float sa; float sb; float sc; float sd; } float14;
typedef struct float15 { float s0; float s1; float s2; float s3; float s4; float s5;
                         float s6; float s7; float s8; float s9; float sa; float sb; float sc; float sd; float se; } float15;
typedef struct float0 { float s0; } float0; //never used but makes compiler happy.


    const unsigned group_x = get_group_id(0);
    const unsigned group_y = get_group_id(1);
    const unsigned global_x = get_global_id(0);
    const unsigned global_y = get_global_id(1);
    const unsigned global_z = get_global_id(2);

    unsigned interleaved_y;
    unsigned kernel_y;
    unsigned kernel_idx;

    // Result ctile (*dst) is M rows x N columns
    // LWG size is 1x8.  Thus each thread calculates 8*M rows x N cols of ctile.
    float8  blockC00 = 0.f;
    float8  blockC10 = 0.f;
    float8  blockC20 = 0.f;
    float8  blockC30 = 0.f;
    float8  blockC01 = 0.f;
    float8  blockC11 = 0.f;
    float8  blockC21 = 0.f;
    float8  blockC31 = 0.f;

    const uint in_split_offset = split_idx * INPUT0_FEATURE_PITCH * INPUT0_FEATURE_NUM;
    // Src0 (patch input) is directly used as atile.
    // Each work item points to the start of a different patch.
    // atile is M rows x K columns.
    const uint src0_read_offset0_const = INPUT0_OFFSET_WITH_PADDING + in_split_offset
     + INPUT0_BATCH_PITCH * global_z                                                         // batch offset
     + ( ( ( global_y * TILE_M + 0 ) / OUTPUT_SIZE_X ) * STRIDE_SIZE_Y * INPUT0_Y_PITCH )    // y offset
     + ( ( ( global_y * TILE_M + 0 ) % OUTPUT_SIZE_X ) * STRIDE_SIZE_X );                    // x offset
    const uint src0_read_offset1_const = INPUT0_OFFSET_WITH_PADDING + in_split_offset
     + INPUT0_BATCH_PITCH * global_z                                                 // batch offset
     + ( ( ( global_y * TILE_M + 1 ) / OUTPUT_SIZE_X ) * STRIDE_SIZE_Y * INPUT0_Y_PITCH )    // y offset
     + ( ( ( global_y * TILE_M + 1 ) % OUTPUT_SIZE_X ) * STRIDE_SIZE_X );                    // x offset

    // Src1 (filter) is directly used as btile.
    // It starts at the top of src1 and walks down.
    // btile is K rows x N columns.
    uint src0_read_offset0 = src0_read_offset0_const;
    uint src0_read_offset1 = src0_read_offset1_const;
    uint src1_read_offset = ( global_x * TILE_N * 2);

#define DOT_PRODUCT_8( _result, _rowA, colB )    \
    {   \
        _result.s0 = mad( _rowA, sub_group_broadcast( colB,  0 ), _result.s0 );  \
        _result.s1 = mad( _rowA, sub_group_broadcast( colB,  1 ), _result.s1 );  \
        _result.s2 = mad( _rowA, sub_group_broadcast( colB,  2 ), _result.s2 );  \
        _result.s3 = mad( _rowA, sub_group_broadcast( colB,  3 ), _result.s3 );  \
        _result.s4 = mad( _rowA, sub_group_broadcast( colB,  4 ), _result.s4 );  \
        _result.s5 = mad( _rowA, sub_group_broadcast( colB,  5 ), _result.s5 );  \
        _result.s6 = mad( _rowA, sub_group_broadcast( colB,  6 ), _result.s6 );  \
        _result.s7 = mad( _rowA, sub_group_broadcast( colB,  7 ), _result.s7 );  \
    }

    // Walk DOWN src0 (patch 0, 1, 2, ...) and DOWN src1.
    // Inner loop loads and FMADs one row (FILTER_SIZE_X) of each input patch
    // and FILTER_SIZE_X/2 rows of interleaved filter.
    unsigned patch_depth = 0;
    do
    {
        unsigned patch_row = 0;
        do
        {
            // Load atile and btile.
            // Kernel data is partially interleaved.  Every 2 rows are interleaved at float8 granularity.
            // The exception is that if FILTER_SIZE_X is odd the last row is not interleaved.  The non
            // interleaved row is padded with zero to ensure same size as interleaved rows. This
            // interleaving is done to ensure 0% GDR bank conflicts.  For example, this is how the
            // kernel data would be arranged before/after interleaving for FILTER_SIZE_X=3.
            // (0, 0) (8, 0) (16, 0) (24, 0) ...       (0, 0) (0, 1) (8, 0) (0, 1) (16, 0) (0, 1) (24, 0) ..
            // (0, 1) (8, 1) (16, 1) (24, 1) ... =>    (0, 2) (8, 2) (16, 2) (24, 2) ...
            // (0, 2) (8, 2) (16, 2) (24, 2) ...       ...
            // ...
            const bool kernel_width_is_odd = FILTER_SIZE_X % 2 == 1;

            float blockA00[FILTER_SIZE_X];
            float blockA01[FILTER_SIZE_X];

            // in case the data is not aligned to sizeof(T)*FILTER_SIZE_X we need to use vload or set the data in a loop
            {
                unsigned i = 0;
                LOOP(FILTER_SIZE_X, i,
                {
#if LEFTOVERS == 1
                    if(src0_read_offset0_const + (FILTER_SIZE_Y - 1) * INPUT0_Y_PITCH + (INPUT0_FEATURE_NUM - 1) * (INPUT0_FEATURE_PITCH - ( FILTER_SIZE_Y * INPUT0_Y_PITCH )) >= INPUT0_BATCH_NUM * INPUT0_BATCH_PITCH)
                    {
                        if(src0_read_offset0 + i < INPUT0_BATCH_NUM * INPUT0_BATCH_PITCH)
                            blockA00[i] = src0[src0_read_offset0 + i];
                    }
                    else
#endif
                        blockA00[i] = src0[src0_read_offset0 + i];

#if LEFTOVERS == 1
                    if(src0_read_offset1_const + (FILTER_SIZE_Y - 1) * INPUT0_Y_PITCH + (INPUT0_FEATURE_NUM - 1) * (INPUT0_FEATURE_PITCH - ( FILTER_SIZE_Y * INPUT0_Y_PITCH )) >= INPUT0_BATCH_NUM * INPUT0_BATCH_PITCH)
                    {
                        if(src0_read_offset1 + i < INPUT0_BATCH_NUM * INPUT0_BATCH_PITCH)
                            blockA01[i] = src0[src0_read_offset1 + i];
                    }
                    else
#endif
                        blockA01[i] = src0[src0_read_offset1 + i];
                } )
            }

            float*  pblockA00 = (float*)(&blockA00);
            float*  pblockA01 = (float*)(&blockA01);

            src0_read_offset0 += INPUT0_Y_PITCH;
            src0_read_offset1 += INPUT0_Y_PITCH;


            float blockB00[FILTER_SIZE_X*4];
            float8* p8BlockB00 = (float8*)blockB00;
            float4* p4BlockB00 = (float4*)blockB00;
            float*  pBlockB00 =  (float* )blockB00;

            interleaved_y = 0;
            LOOP(FILTER_SIZE_X_DIV2, interleaved_y,
            {
                p8BlockB00[interleaved_y] = as_float8( intel_sub_group_block_read8( (const __global uint*)src1 + src1_read_offset ) );
                src1_read_offset += ALIGNED_OFM * 2;
            } )
            if ( kernel_width_is_odd )
            {
                p4BlockB00[FILTER_SIZE_X - 1] = as_float4( intel_sub_group_block_read4( (const __global uint*)src1 + src1_read_offset ) );
                src1_read_offset += ALIGNED_OFM * 2;
            }

            // Perform MADs
        CAT(prefix, _SIZE_X),                           \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif


/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_intel_subgroups)
#pragma OPENCL EXTENSION  cl_intel_subgroups : enable
#endif

#if defined(cl_intel_subgroups_short)
#pragma OPENCL EXTENSION  cl_intel_subgroups_short : enable
#endif

#define TRANSPOSE_BLOCK_8( _block )   \
        (float8)( intel_sub_group_shuffle( _block, 0 ), \
                  intel_sub_group_shuffle( _block, 1 ), \
                  intel_sub_group_shuffle( _block, 2 ), \
                  intel_sub_group_shuffle( _block, 3 ), \
                  intel_sub_group_shuffle( _block, 4 ), \
                  intel_sub_group_shuffle( _block, 5 ), \
                  intel_sub_group_shuffle( _block, 6 ), \
                  intel_sub_group_shuffle( _block, 7 ) );

#define TRANSPOSE_BLOCK_8_FP16( _block )   \
        (half8)( intel_sub_group_shuffle( _block, 0 ), \
                  intel_sub_group_shuffle( _block, 1 ), \
                  intel_sub_group_shuffle( _block, 2 ), \
                  intel_sub_group_shuffle( _block, 3 ), \
                  intel_sub_group_shuffle( _block, 4 ), \
                  intel_sub_group_shuffle( _block, 5 ), \
                  intel_sub_group_shuffle( _block, 6 ), \
                  intel_sub_group_shuffle( _block, 7 ) );

#define TRANSPOSE_BLOCK_8_COL( _block, _col )   \
        (float8)( intel_sub_group_shuffle( _block.s0, _col ), \
                  intel_sub_group_shuffle( _block.s1, _col ), \
                  intel_sub_group_shuffle( _block.s2, _col ), \
                  intel_sub_group_shuffle( _block.s3, _col ), \
                  intel_sub_group_shuffle( _block.s4, _col ), \
                  intel_sub_group_shuffle( _block.s5, _col ), \
                  intel_sub_group_shuffle( _block.s6, _col ), \
                  intel_sub_group_shuffle( _block.s7, _col ) );

#define TRANSPOSE_BLOCK_8_COL_FP16( _block, _col )   \
        (half8)( intel_sub_group_shuffle( _block.s0, _col ), \
                  intel_sub_group_shuffle( _block.s1, _col ), \
                  intel_sub_group_shuffle( _block.s2, _col ), \
                  intel_sub_group_shuffle( _block.s3, _col ), \
                  intel_sub_group_shuffle( _block.s4, _col ), \
                  intel_sub_group_shuffle( _block.s5, _col ), \
                  intel_sub_group_shuffle( _block.s6, _col ), \
                  intel_sub_group_shuffle( _block.s7, _col ) );

#define TRANSPOSE_BLOCK_16_FP16(_block)  \
        (half16)(as_half2(intel_sub_group_shuffle(_block, 0)),  \
                 as_half2(intel_sub_group_shuffle(_block, 1)),  \
                 as_half2(intel_sub_group_shuffle(_block, 2)),  \
                 as_half2(intel_sub_group_shuffle(_block, 3)),  \
                 as_half2(intel_sub_group_shuffle(_block, 4)),  \
                 as_half2(intel_sub_group_shuffle(_block, 5)),  \
                 as_half2(intel_sub_group_shuffle(_block, 6)),  \
                 as_half2(intel_sub_group_shuffle(_block, 7)));

#define TRANSPOSE_BLOCK_16_FP16_HALF_TYPE(_block)  \
        (half16)(intel_sub_group_shuffle(_block, 0),  \
                 intel_sub_group_shuffle(_block, 1),  \
                 intel_sub_group_shuffle(_block, 2),  \
                 intel_sub_group_shuffle(_block, 3),  \
                 intel_sub_group_shuffle(_block, 4),  \
                 intel_sub_group_shuffle(_block, 5),  \
                 intel_sub_group_shuffle(_block, 6),  \
                 intel_sub_group_shuffle(_block, 7),  \
                 intel_sub_group_shuffle(_block, 8),  \
                 intel_sub_group_shuffle(_block, 9),  \
                 intel_sub_group_shuffle(_block, 10),  \
                 intel_sub_group_shuffle(_block, 11),  \
                 intel_sub_group_shuffle(_block, 12),  \
                 intel_sub_group_shuffle(_block, 13),  \
                 intel_sub_group_shuffle(_block, 14),  \
                 intel_sub_group_shuffle(_block, 15));

#define TRANSPOSE_BLOCK_16(_block)  \
        (float16)(intel_sub_group_shuffle(_block, 0),  \
                 intel_sub_group_shuffle(_block, 1),  \
                 intel_sub_group_shuffle(_block, 2),  \
                 intel_sub_group_shuffle(_block, 3),  \
                 intel_sub_group_shuffle(_block, 4),  \
                 intel_sub_group_shuffle(_block, 5),  \
                 intel_sub_group_shuffle(_block, 6),  \
                 intel_sub_group_shuffle(_block, 7),  \
                 intel_sub_group_shuffle(_block, 8),  \
                 intel_sub_group_shuffle(_block, 9),  \
                 intel_sub_group_shuffle(_block, 10),  \
                 intel_sub_group_shuffle(_block, 11),  \
                 intel_sub_group_shuffle(_block, 12),  \
                 intel_sub_group_shuffle(_block, 13),  \
                 intel_sub_group_shuffle(_block, 14),  \
                 intel_sub_group_shuffle(_block, 15));

#define DOT_PRODUCT_8( _result, _rowA, colB )    \
{   \
        _result.s0 = mad( _rowA, intel_sub_group_shuffle( colB, 0 ), _result.s0 );  \
        _result.s1 = mad( _rowA, intel_sub_group_shuffle( colB, 1 ), _result.s1 );  \
        _result.s2 = mad( _rowA, intel_sub_group_shuffle( colB, 2 ), _result.s2 );  \
        _result.s3 = mad( _rowA, intel_sub_group_shuffle( colB, 3 ), _result.s3 );  \
        _result.s4 = mad( _rowA, intel_sub_group_shuffle( colB, 4 ), _result.s4 );  \
        _result.s5 = mad( _rowA, intel_sub_group_shuffle( colB, 5 ), _result.s5 );  \
        _result.s6 = mad( _rowA, intel_sub_group_shuffle( colB, 6 ), _result.s6 );  \
        _result.s7 = mad( _rowA, intel_sub_group_shuffle( colB, 7 ), _result.s7 );  \
}

#define ADD_BIAS_8( _result, _biasVal) \
{ \
    _result.s0 += intel_sub_group_shuffle( _biasVal, 0 ); \
    _result.s1 += intel_sub_group_shuffle( _biasVal, 1 ); \
    _result.s2 += intel_sub_group_shuffle( _biasVal, 2 ); \
    _result.s3 += intel_sub_group_shuffle( _biasVal, 3 ); \
    _result.s4 += intel_sub_group_shuffle( _biasVal, 4 ); \
    _result.s5 += intel_sub_group_shuffle( _biasVal, 5 ); \
    _result.s6 += intel_sub_group_shuffle( _biasVal, 6 ); \
    _result.s7 += intel_sub_group_shuffle( _biasVal, 7 ); \
}

#define ADD_BIAS_16_FP16( _result, _biasVal) \
{ \
    _result.s01 += as_half2(intel_sub_group_shuffle(_biasVal, 0)); \
    _result.s23 += as_half2(intel_sub_group_shuffle(_biasVal, 1)); \
    _result.s45 += as_half2(intel_sub_group_shuffle(_biasVal, 2)); \
    _result.s67 += as_half2(intel_sub_group_shuffle(_biasVal, 3)); \
    _result.s89 += as_half2(intel_sub_group_shuffle(_biasVal, 4)); \
    _result.sab += as_half2(intel_sub_group_shuffle(_biasVal, 5)); \
    _result.scd += as_half2(intel_sub_group_shuffle(_biasVal, 6)); \
    _result.sef += as_half2(intel_sub_group_shuffle(_biasVal, 7)); \
}

/*
// Copyright (c) 2018 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/


#define GET_DATA_INDEX(prefix, b, f, y, x)  \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_INDEX_SAFE(prefix, b, f, y, x)                     \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

 #define GET_3D_DATA_INDEX(prefix, b, f, z, y, x) \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (z)*CAT(prefix, _Z_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_3D_DATA_INDEX_SAFE(prefix, b, f, z, y, x)               \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (z % CAT(prefix, _SIZE_Z     ))*CAT(prefix, _Z_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_BS_FYX_BSV8_INDEX(prefix, b, f, y, x, sub_group_size)  \
    CAT(prefix, _OFFSET) +                                              \
    ((b) % (sub_group_size)) +                                          \
    (sub_group_size)*(                                                  \
        (x)*CAT(prefix, _X_PITCH) +                                     \
        (y)*CAT(prefix, _Y_PITCH) +                                     \
        (f)*CAT(prefix, _FEATURE_PITCH) +                               \
        ((b) / (sub_group_size))*CAT(prefix, _BATCH_PITCH)              \
    )

inline uint FUNC(get_bf8_xy16_index)(uint b, uint f, uint y, uint x, uint x_size, uint y_size, uint f_size, uint offset)
{
    const uint xy_idx = x + y * x_size;
    const uint xy_offset = (xy_idx % 16) + (xy_idx / 16) * 16 * 8;
    const uint xy_block_num = (x_size * y_size + 16 - 1) / 16;
    const uint f_offset = (f % 8) * 16 + (f / 8) * xy_block_num * 16 * 8;
    const uint f_block_num = (f_size + 8 - 1) / 8;
    const uint b_offset = b * f_block_num * xy_block_num * 128;

    const size_t idx = offset + xy_offset + f_offset + b_offset;

    return idx;
}

inline uint FUNC(get_bfyx_f16_index)(
    uint b, uint f, uint y, uint x,
    uint x_size, uint y_size, uint f_size,
    uint y_pad_before,uint y_pad_after,
    uint x_pad_before, uint x_pad_after,
    uint f_pad_before, uint f_pad_after)
{
    const uint feature_slice_size = 16;

    const uint full_width = x_size + x_pad_before + x_pad_after;
    const uint full_height = y_size + y_pad_before + y_pad_after;
    const uint full_features = f_pad_before + f_size + f_pad_after;
    const uint feature_tiles_number = (full_features + feature_slice_size - 1) / feature_slice_size;

    const uint x_pitch = feature_slice_size;
    const uint y_pitch = x_pitch * full_width;
    const uint fs_pitch = y_pitch * full_height;
    const uint b_pitch = fs_pitch * feature_tiles_number;

    const uint x_offset = (x + x_pad_before) * x_pitch;
    const uint y_offset = (y + y_pad_before) * y_pitch;
    const uint fs_offset = (f / feature_slice_size + f_pad_before / feature_slice_size) * fs_pitch;
    const uint b_offset = b * b_pitch;

    const size_t idx = x_offset + y_offset + fs_offset + b_offset + (f % feature_slice_size);

    return idx;
}

#define GET_DATA_BFYX_F16_INDEX(prefix, b, f, y, x)     \
    FUNC_CALL(get_bfyx_f16_index)(                      \
        b, f, y, x,                                     \
        CAT(prefix, _SIZE_X ),                          \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _FEATURE_NUM),                      \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_X),                \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
convolution_gpu_bfyx_gemm_like_fp32        }
#else
    #error IN_BLOCK_WIDTH must be multiple of SUB_GROUP_SIZE or half of SUB_GROUP_SIZE. Other scenarios are not currently implemented.
#endif

        //move to next filter
        in_addr += INPUT0_FEATURE_PITCH;

        for(int pf=0; pf<PREFETCH; pf++) {
            w[pf] = weights[weight_addr]; weight_addr += SUB_GROUP_SIZE;
        }

        uint wi = 0;
        uint kr = 0; // kr = Kernel Row
        LOOP(FILTER_SIZE_Y, kr,  // LOOP is a macro that unrolls the loop.
        {
            uint kc = 0; // kc = Kernel Column
            LOOP(FILTER_SIZE_X, kc,
            {
                //w = weights[weight_addr];
                for(uint br=0; br<OUTPUT_BLOCK_HEIGHT; br++) {
                    for(uint bc=0; bc<OUTPUT_BLOCK_WIDTH; bc++) {

#if IN_BLOCK_WIDTH != SUB_GROUP_SIZE
                        //if we fix the programming model, then we could use a nice simple 2d array: val = in[br * STRIDE_SIZE_Y + kr][bc * STRIDE_SIZE_X + kc];
                        UNIT_TYPE val = intel_sub_group_shuffle( in[(((br * STRIDE_SIZE_Y + kr * DILATION_SIZE_Y) * IN_BLOCK_WIDTH) + (bc * STRIDE_SIZE_X + kc * DILATION_SIZE_X)) / SUB_GROUP_SIZE],
                                                                    (((br * STRIDE_SIZE_Y + kr * DILATION_SIZE_Y) * IN_BLOCK_WIDTH) + (bc * STRIDE_SIZE_X + kc * DILATION_SIZE_X)) % SUB_GROUP_SIZE);
#else
                        UNIT_TYPE val = intel_sub_group_shuffle( in[br * STRIDE_SIZE_Y + kr * DILATION_SIZE_Y], bc * STRIDE_SIZE_X + kc * DILATION_SIZE_X);
#endif

                        out[br * OUTPUT_BLOCK_WIDTH + bc] = mad(w[wi % PREFETCH], val, out[br * OUTPUT_BLOCK_WIDTH + bc]);
                    }
                }
                w[wi % PREFETCH] = weights[weight_addr];
                weight_addr += SUB_GROUP_SIZE; // weights must be stored in just the right SIMD swizzled format for this to work, see host code for details.
                wi++;
            });
        });
        // addr went beyond due to prefetch so move it back to correct location.
        weight_addr -= PREFETCH * SUB_GROUP_SIZE;
    }

    uint out_split_offset = split_idx * OUTPUT_FEATURE_PITCH * FILTER_OFM_NUM;
    uint out_addr = OUTPUT_OFFSET;
    out_addr += batch_idx * OUTPUT_BATCH_PITCH;
    out_addr += out_split_offset + feature_idx * OUTPUT_FEATURE_PITCH; // out_addr indices into start of 16 feature maps.
    out_addr += or * OUTPUT_Y_PITCH + oc;  // offset for the 4x3 block that this workitem is working on;

#if BIAS_TERM
    for(uint r = 0; r < OUTPUT_BLOCK_HEIGHT; r++) {
        for(uint c = 0; c < OUTPUT_BLOCK_WIDTH; c++) {
#if BIAS_PER_OUTPUT
            const unsigned bias_index = feature_idx*OUTPUT_SIZE_X*OUTPUT_SIZE_Y + or*OUTPUT_SIZE_X + oc;
#else
            const unsigned bias_index = feature_idx;
#endif
            out[r * OUTPUT_BLOCK_WIDTH + c] += bias[bias_index];
        }
    }
#endif


    for(uint r = 0; r < OUTPUT_BLOCK_HEIGHT; r++) {
        for(uint c = 0; c < OUTPUT_BLOCK_WIDTH; c++) {
            out[r * OUTPUT_BLOCK_WIDTH + c] = ACTIVATION(out[r * OUTPUT_BLOCK_WIDTH + c], NL_M, NL_N);
        }
    }


//--------------------------------------------------------------------
// output phase
//--------------------------------------------------------------------

#ifdef LEFTOVERS
    if (feature_idx < OUTPUT_FEATURE_NUM)
#endif
    for(uint r = 0; r < OUTPUT_BLOCK_HEIGHT; r++) {
        if(!(or + r >= OUTPUT_SIZE_Y))
        {
#if (OUTPUT_SIZE_X % OUTPUT_BLOCK_WIDTH) == 0 // in this case we don't need to check if we're outside of X boundaries
            uint out_vstore_offset = 0;
            #if (OUT_BLOCK_WIDTH % 8) > 3
            MAKE_VECTOR_TYPE(UNIT_TYPE, 4) tmp = MAKE_VECTOR_TYPE(UNIT_TYPE, 4)(
                out[out_vstore_offset + 0 + r * OUTPUT_BLOCK_WIDTH],
                out[out_vstore_offset + 1 + r * OUTPUT_BLOCK_WIDTH],
                out[out_vstore_offset + 2 + r * OUTPUT_BLOCK_WIDTH],
                out[out_vstore_offset + 3 + r * OUTPUT_BLOCK_WIDTH]
            );

            vstore4(tmp, 0, output + out_addr + r * OUTPUT_Y_PITCH + out_vstore_offset * OUTPUT_X_PITCH);
            out_vstore_offset += 4;
            #endif

            #if (OUT_BLOCK_WIDTH % 4) > 1
            MAKE_VECTOR_TYPE(UNIT_TYPE, 2) tmp2 = MAKE_VECTOR_TYPE(UNIT_TYPE, 2)(
                out[out_vstore_offset + 0 + r * OUTPUT_BLOCK_WIDTH],
                out[out_vstore_offset + 1 + r * OUTPUT_BLOCK_WIDTH]
            );

            vstore2(tmp2, 0, output + out_addr + r * OUTPUT_Y_PITCH + out_vstore_offset * OUTPUT_X_PITCH);
            out_vstore_offset += 2;
            #endif
            for(uint c = out_vstore_offset; c < OUTPUT_BLOCK_WIDTH; c++) {
                // this does a scattered write to 16 different feature maps, so that data within one map is contiguous, thus ready for input to next layer.
                output[out_addr + r * OUTPUT_Y_PITCH + c] = out[r * OUTPUT_BLOCK_WIDTH + c];
            }
#else
            for(uint c = 0; c < OUTPUT_BLOCK_WIDTH; c++) {
                // this does a scattered write to 16 different feature maps, so that data within one map is contiguous, thus ready for input to next layer.
                if(!(oc + c >= OUTPUT_SIZE_X))
                    output[out_addr + r * OUTPUT_Y_PITCH + c] = out[r * OUTPUT_BLOCK_WIDTH + c];
            }
#endif
        }
    }
}

#undef FEATURES_THREADS_PER_BATCH

// Copyright (c) 2016-2017 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)



// ---------------------------------------------------------------------------------------------------------------------
// Just-in-time macro definitions:
// ---------------------------------------------------------------------------------------------------------------------

// Required JIT constants:
//  - INPUT                - [tensor] Input dimensions (batch, spatial and feature).
//  - OUTPUT               - [tensor] Output dimensions (batch, spatial and feature).
//  - STRIDE               - [tensor] Stride (only spatial). Factors that describe step size in X or Y dimension of
//                           input position of application of convolution filter when next ouput value
//                           (step 1 in in X or Y dimension of output) is computed.
//  - INPUT0_OFFSET        - [tensor] Offset for the first element
//                           initial offset input position of application of convolution filter and output position.
//  - FP16_SUPPORTED       - [0/1] Value indicating whether device supports FP16 OpenCL extension (cl_khr_fp16).
//  - FP16_UNIT_USED       - [0/1] Value indicating that current kernel should use FP16.
//  - UNIT_TYPE            - Type of unit of input/output/weight/bias.
//  - UNIT_VAL_ZERO        - Literal of current UNIT_TYPE that represents 0.
//  - RELU                 - [0/1] Indicates that ReLU activation function should be used on output.
//  - NEGATIVE_SLOPE       - [float] Factor for negative output values (required when ReLU is specified).
//
//  - SUB_GROUP_SIZE       - [int] Size of used subgroup (SIMD).
//  - LEFTOVERS            - [int] Optional parameter, required only when number of ofm is not dividable by SUB_GROUP_SIZE
//                           see comment for FEATURES_THREADS_PER_BATCH for more informations

/*
gpu::make_jit_constant("OUTPUT_LIMIT",              output_size),
gpu::make_jit_constant("FILTER",                    filter_mem.argument().size),
gpu::make_jit_constant("FILTER_ARRAY_NUM",          split),
gpu::make_jit_constant("OUTPUT_BLOCK_WIDTH",        _kernel_data.block_width));
gpu::make_jit_constant("OUTPUT_BLOCK_HEIGHT",       _kernel_data.block_height));
gpu::make_jit_constant("IN_BLOCK_ARRAY_SIZE",       _kernel_data.input_block_array_size));
gpu::make_jit_constant("IN_BLOCK_WIDTH",            _kernel_data.input_block_width));
gpu::make_jit_constant("PREFETCH",                  _kernel_data.prefetch));
if (_kernel_data.leftovers)
    gpu::make_jit_constant("LEFTOVERS",             _kernel_data.leftovers));
*/

// FEATURES_THREADS_PER_BATCH defines how many threads in z-dimension are processing single batch.
// ideally, z-dimension of value n should indicate processing of n-th output feature. however, since
// threads are stack in groups of SUB_GROUP_SIZE, when number of ofm is not dividable by SUB_GROUP_SIZE
// there are dummy threads added in z-dimension in count of LEFTOVERS. We need to take them into consideration
// while calculating batch's id (see lines 86-87). Values calculated by dummy threads are discarded at line 210.
#ifdef LEFTOVERS
#define FEATURES_THREADS_PER_BATCH (FILTER_OFM_NUM + LEFTOVERS)
#else
#define FEATURES_THREADS_PER_BATCH (FILTER_OFM_NUM)
#endif

__attribute__((intel_reqd_sub_group_size(SUB_GROUP_SIZE)))
__attribute__((reqd_work_group_size(1, 1, SUB_GROUP_SIZE)))
KERNEL(convolution_gpu_bfyx_os_iyx_osv16)(
    const __global UNIT_TYPE* input,
    __global UNIT_TYPE* output,
    const __global UNIT_TYPE* weights,
#if BIAS_TERM
    const __global UNIT_TYPE* bias,
#endif
    uint split_idx) // TODO: removing this parameter cause a performance degradation... :)
{
    const uint oc  = (uint)get_global_id(0) * OUTPUT_BLOCK_WIDTH;  // oc = Output Column
    const uint or  = (uint)get_global_id(1) * OUTPUT_BLOCK_HEIGHT; // or = Output Row
    const uint fm  = get_global_id(2);                    // fm = Feature Map = od = Output Depth
    const uint lid = get_sub_group_local_id();

    uint batch_idx = fm / FEATURES_THREADS_PER_BATCH;
    uint feature_idx = fm % FEATURES_THREADS_PER_BATCH;
    uint fmg = feature_idx / SUB_GROUP_SIZE;

    UNIT_TYPE in[IN_BLOCK_ARRAY_SIZE];
    UNIT_TYPE out[OUTPUT_BLOCK_WIDTH * OUTPUT_BLOCK_HEIGHT];
    UNIT_TYPE w[PREFETCH];
    uint in_addr;
    uint weight_addr = fmg * FILTER_IFM_NUM * FILTER_SIZE_X * FILTER_SIZE_Y * SUB_GROUP_SIZE + lid;

    for(int i = 0; i < (OUTPUT_BLOCK_WIDTH * OUTPUT_BLOCK_HEIGHT); i++) {
        out[i] = UNIT_VAL_ZERO;
    }

    uint in_split_offset = split_idx * INPUT0_FEATURE_PITCH * FILTER_IFM_NUM;
    in_addr = batch_idx * INPUT0_BATCH_PITCH;
    in_addr += in_split_offset + INPUT0_OFFSET_WITH_PADDING + (or * STRIDE_SIZE_Y * INPUT0_Y_PITCH) + (oc * STRIDE_SIZE_X + lid) * INPUT0_X_PITCH;

    for(int kd = 0; kd < FILTER_IFM_NUM; kd++)  // _ID = 3, RGB
    {
        uint tmp_in_addr = in_addr;

#if IN_BLOCK_WIDTH % SUB_GROUP_SIZE == 0
        __attribute__((opencl_unroll_hint(IN_BLOCK_ARRAY_SIZE)))
        for(uint in_block_pos = 0; in_block_pos < IN_BLOCK_ARRAY_SIZE * SUB_GROUP_SIZE; in_block_pos += SUB_GROUP_SIZE) {
            // Horizontal position in input block after read.
            const uint in_block_next_x_pos = in_block_pos % IN_BLOCK_WIDTH + SUB_GROUP_SIZE;

            in[in_block_pos / SUB_GROUP_SIZE] = input[tmp_in_addr + (in_block_pos % IN_BLOCK_WIDTH) * INPUT0_X_PITCH];

            // If we have row break, move to the next row.
            if (in_block_next_x_pos == IN_BLOCK_WIDTH)
                tmp_in_addr += INPUT0_Y_PITCH;
        }
#elif (2 * IN_BLOCK_WIDTH) % SUB_GROUP_SIZE == 0
        __attribute__((opencl_unroll_hint(IN_BLOCK_ARRAY_SIZE)))
        for(uint in_block_pos = 0; in_block_pos < IN_BLOCK_ARRAY_SIZE * SUB_GROUP_SIZE; in_block_pos += SUB_GROUP_SIZE) {
            // Horizontal position in input block after read.
            const uint in_block_next_x_pos = in_block_pos % IN_BLOCK_WIDTH + SUB_GROUP_SIZE;

            if (in_block_next_x_pos <= IN_BLOCK_WIDTH) { //
                in[in_block_pos / SUB_GROUP_SIZE] = input[tmp_in_addr + (in_block_pos % IN_BLOCK_WIDTH) * INPUT0_X_PITCH];

                // If we have row break, move to the next row.
                if (in_block_next_x_pos == IN_BLOCK_WIDTH)
                    tmp_in_addr += INPUT0_Y_PITCH;
            }
            else {
                // TODO: Generalize this step to relax IN_BLOCK_WIDTH restrictions.
                // Position in sub-group on which new row need to be read.
                const uint sg_br_pos = IN_BLOCK_WIDTH - in_block_pos % IN_BLOCK_WIDTH;

                if (lid < sg_br_pos)
                    in[in_block_pos / SUB_GROUP_SIZE] = input[tmp_in_addr + (in_block_pos % IN_BLOCK_WIDTH) * INPUT0_X_PITCH];
                // We have row break inside sub-group. Need to move to next line.
                tmp_in_addr += INPUT0_Y_PITCH;
                if (lid >= sg_br_pos)
                    in[in_block_pos / SUB_GROUP_SIZE] = input[tmp_in_addr - (sg_br_pos * INPUT0_X_PITCH)];

                // If we have another row break, move to the next row.
                if (in_block_next_x_pos == 2 * IN_BLOCK_WIDTH)
                    tmp_in_addr += INPUT0_Y_PITCH;
            }

                // If we have another row break, move to the next row.
                if (in_block_next_x_pos == 2 * IN_BLOCK_WIDTH)
                    tmp_in_addr += INPUT0_Y_PITCH;
            }
        }
#else
    #error IN_BLOCK_WIDTH must be multiple of SUB_GROUP_SIZE or half of SUB_GROUP_SIZE. Other scenarios are not currently implemented.
#endif

        //move to next filter
        in_addr += INPUT0_FEATURE_PITCH;

        for(int pf=0; pf<PREFETCH; pf++) {
            w[pf] = weights[weight_addr]; weight_addr += SUB_GROUP_SIZE;
        }

        uint wi = 0;
        uint kr = 0; // kr = Kernel Row
        LOOP(FILTER_SIZE_Y, kr,  // LOOP is a macro that unrolls the loop.
        {
            uint kc = 0; // kc = Kernel Column
            LOOP(FILTER_SIZE_X, kc,
            {
                //w = weights[weight_addr];
                for(uint br=0; br<OUTPUT_BLOCK_HEIGHT; br++) {
                    for(uint bc=0; bc<OUTPUT_BLOCK_WIDTH; bc++) {

#if IN_BLOCK_WIDTH != SUB_GROUP_SIZE
                        //if we fix the programming model, then we could use a nice simple 2d array: val = in[br * STRIDE_SIZE_Y + kr][bc * STRIDE_SIZE_X + kc];
                        UNIT_TYPE val = intel_sub_group_shuffle( in[(((br * STRIDE_SIZE_Y + kr * DILATION_SIZE_Y) * IN_BLOCK_WIDTH) + (bc * STRIDE_SIZE_X + kc * DILATION_SIZE_X)) / SUB_GROUP_SIZE],
                                                                    (((br * STRIDE_SIZE_Y + kr * DILATION_SIZE_Y) * IN_BLOCK_WIDTH) + (bc * STRIDE_SIZE_X + kc * DILATION_SIZE_X)) % SUB_GROUP_SIZE);
#else
                        UNIT_TYPE val = intel_sub_group_shuffle( in[br * STRIDE_SIZE_Y + kr * DILATION_SIZE_Y], bc * STRIDE_SIZE_X + kc * DILATION_SIZE_X);
#endif

                        out[br * OUTPUT_BLOCK_WIDTH + bc] = mad(w[wi % PREFETCH], val, out[br * OUTPUT_BLOCK_WIDTH + bc]);
                    }
                }
                w[wi % PREFETCH] = weights[weight_addr];
                weight_addr += SUB_GROUP_SIZE; // weights must be stored in just the right SIMD swizzled format for this to work, see host code for details.
                wi++;
            });
        });
        // addr went beyond due to prefetch so move it back to correct location.
        weight_addr -= PREFETCH * SUB_GROUP_SIZE;
    }

    if(ifm_part == 1)
    {
        for(uint br=0; br<OUTPUT_BLOCK_HEIGHT; br++) {
            for(uint bc=0; bc<OUTPUT_BLOCK_WIDTH; bc++) {
                slm_vals[get_sub_group_local_id() + SIMD_SIZE * (bc + OUTPUT_BLOCK_WIDTH * (br) ) ] = out[br * OUTPUT_BLOCK_WIDTH + bc];
            }
        }
    }

    uint out_split_offset = split_idx * OUTPUT_FEATURE_PITCH * FILTER_OFM_NUM;
    uint out_addr = OUTPUT_OFFSET;
    out_addr += batch_idx * OUTPUT_BATCH_PITCH;
    out_addr += out_split_offset + feature_idx * OUTPUT_FEATURE_PITCH; // out_addr indices into start of 16 feature maps.
    out_addr += or * OUTPUT_Y_PITCH + oc;  // offset for the 4x3 block that this workitem is working on;

    if(ifm_part == 0)
{

#if BIAS_TERM
    for(uint r = 0; r < OUTPUT_BLOCK_HEIGHT; r++) {
        for(uint c = 0; c < OUTPUT_BLOCK_WIDTH; c++) {
#if BIAS_PER_OUTPUT
            const unsigned bias_index = feature_idx*OUTPUT_SIZE_X*OUTPUT_SIZE_Y + or*OUTPUT_SIZE_X + oc;
#else
            const unsigned bias_index = feature_idx;
#endif
            out[r * OUTPUT_BLOCK_WIDTH + c] += bias[bias_index];
        }
    }
#endif
}

    barrier(CLK_LOCAL_MEM_FENCE); // we want to add barrier after biases addition so that the long slm write part latency is shadowed by it

    if(ifm_part == 0)
{
    for(uint r = 0; r < OUTPUT_BLOCK_HEIGHT; r++) {
        for(uint c = 0; c < OUTPUT_BLOCK_WIDTH; c++) {
            out[r * OUTPUT_BLOCK_WIDTH + c] += slm_vals[get_sub_group_local_id() + SIMD_SIZE * (c + OUTPUT_BLOCK_WIDTH * r)];
            out[r * OUTPUT_BLOCK_WIDTH + c] = ACTIVATION(out[r * OUTPUT_BLOCK_WIDTH + c], NL_M, NL_N);
        }
    }

#ifdef LEFTOVERS
    if (feature_idx < OUTPUT_FEATURE_NUM)
#endif
    for(uint r = 0; r < OUTPUT_BLOCK_HEIGHT; r++) {
        if(!(or + r >= OUTPUT_SIZE_Y))
        {
            for(uint c = 0; c < OUTPUT_BLOCK_WIDTH; c++) {
                // this does a scattered write to 16 different feature maps, so that data within one map is contiguous, thus ready for input to next layer.
                if(!(oc + c >= OUTPUT_SIZE_X))
                    output[out_addr + r * OUTPUT_Y_PITCH + c] = out[r * OUTPUT_BLOCK_WIDTH + c];
            }
        }
    }

}

}

#undef FEATURES_THREADS_PER_BATCH

// Copyright (c) 2016-2017 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)


#define SIMD_SIZE SUB_GROUP_SIZE
// ---------------------------------------------------------------------------------------------------------------------
// Just-in-time macro definitions:
// ---------------------------------------------------------------------------------------------------------------------

// Required JIT constants:
//  - INPUT                - [tensor] Input dimensions (batch, spatial and feature).
//  - OUTPUT               - [tensor] Output dimensions (batch, spatial and feature).
//  - STRIDE               - [tensor] Stride (only spatial). Factors that describe step size in X or Y dimension of
//                           input position of application of convolution filter when next ouput value
//                           (step 1 in in X or Y dimension of output) is computed.
//  - INPUT0_OFFSET        - [tensor] Offset for the first element
//                           initial offset input position of application of convolution filter and output position.
//  - FP16_SUPPORTED       - [0/1] Value indicating whether device supports FP16 OpenCL extension (cl_khr_fp16).
//  - FP16_UNIT_USED       - [0/1] Value indicating that current kernel should use FP16.
//  - UNIT_TYPE            - Type of unit of input/output/weight/bias.
//  - UNIT_VAL_ZERO        - Literal of current UNIT_TYPE that represents 0.
//  - RELU                 - [0/1] Indicates that ReLU activation function should be used on output.
//  - NEGATIVE_SLOPE       - [float] Factor for negative output values (required when ReLU is specified).
//
//  - SUB_GROUP_SIZE       - [int] Size of used subgroup (SIMD).
//  - LEFTOVERS            - [int] Optional parameter, required only when number of ofm is not dividable by SUB_GROUP_SIZE
//                           see comment for FEATURES_THREADS_PER_BATCH for more informations

/*
gpu::make_jit_constant("OUTPUT_LIMIT",              output_size),
gpu::make_jit_constant("FILTER",                    filter_mem.argument().size),
gpu::make_jit_constant("FILTER_ARRAY_NUM",          split),
gpu::make_jit_constant("OUTPUT_BLOCK_WIDTH",        _kernel_data.block_width));
gpu::make_jit_constant("OUTPUT_BLOCK_HEIGHT",       _kernel_data.block_height));
gpu::make_jit_constant("IN_BLOCK_ARRAY_SIZE",       _kernel_data.input_block_array_size));
gpu::make_jit_constant("IN_BLOCK_WIDTH",            _kernel_data.input_block_width));
gpu::make_jit_constant("PREFETCH",                  _kernel_data.prefetch));
if (_kernel_data.leftovers)
    gpu::make_jit_constant("LEFTOVERS",             _kernel_data.leftovers));
*/

// FEATURES_THREADS_PER_BATCH defines how many threads in z-dimension are processing single batch.
// ideally, z-dimension of value n should indicate processing of n-th output feature. however, since
// threads are stack in groups of SUB_GROUP_SIZE, when number of ofm is not dividable by SUB_GROUP_SIZE
// there are dummy threads added in z-dimension in count of LEFTOVERS. We need to take them into consideration
// while calculating batch's id (see lines 86-87). Values calculated by dummy threads are discarded at line 210.
#ifdef LEFTOVERS
#define FEATURES_THREADS_PER_BATCH (FILTER_OFM_NUM + LEFTOVERS)
#else
#define FEATURES_THREADS_PER_BATCH (FILTER_OFM_NUM)
#endif

__attribute__((intel_reqd_sub_group_size(SUB_GROUP_SIZE)))
__attribute__((reqd_work_group_size(1, 1, 2*SUB_GROUP_SIZE)))
KERNEL(convolution_gpu_bfyx_os_iyx_osv16_2_sg)(
    const __global UNIT_TYPE* input,
    __global UNIT_TYPE* output,
    const __global UNIT_TYPE* weights,
#if BIAS_TERM
    const __global UNIT_TYPE* bias,
#endif
    uint split_idx) // TODO: removing this parameter cause a performance degradation... :)
{
    const uint oc  = (uint)get_global_id(0) * OUTPUT_BLOCK_WIDTH;  // oc = Output Column
    const uint or  = (uint)get_global_id(1) * OUTPUT_BLOCK_HEIGHT; // or = Output Row
    const uint fm  = get_group_id(2) * SUB_GROUP_SIZE + get_sub_group_local_id();//get_global_id(2);                    // fm = Feature Map = od = Output Depth
    const uint lid = get_sub_group_local_id();

    const uint ifm_part = get_sub_group_id();
    __local float slm_vals[OUTPUT_BLOCK_WIDTH * OUTPUT_BLOCK_HEIGHT * SIMD_SIZE];

    uint batch_idx = fm / FEATURES_THREADS_PER_BATCH;
    uint feature_idx = fm % FEATURES_THREADS_PER_BATCH;
    uint fmg = feature_idx / SUB_GROUP_SIZE;

    UNIT_TYPE in[IN_BLOCK_ARRAY_SIZE];
    UNIT_TYPE out[OUTPUT_BLOCK_WIDTH * OUTPUT_BLOCK_HEIGHT];
    UNIT_TYPE w[PREFETCH];
    uint in_addr;
    uint weight_addr = fmg * FILTER_IFM_NUM * FILTER_SIZE_X * FILTER_SIZE_Y * SUB_GROUP_SIZE + lid;
    weight_addr += ifm_part * SUB_GROUP_SIZE * FILTER_IFM_NUM/2 * FILTER_SIZE_X * FILTER_SIZE_Y;

    for(int i = 0; i < (OUTPUT_BLOCK_WIDTH * OUTPUT_BLOCK_HEIGHT); i++) {
        out[i] = UNIT_VAL_ZERO;
    }

    uint in_split_offset = split_idx * INPUT0_FEATURE_PITCH * FILTER_IFM_NUM;
    in_addr = batch_idx * INPUT0_BATCH_PITCH;
    in_addr += in_split_offset + INPUT0_OFFSET_WITH_PADDING + or * STRIDE_SIZE_Y * INPUT0_Y_PITCH + oc * STRIDE_SIZE_X + lid;
    in_addr += ifm_part * INPUT0_FEATURE_PITCH * FILTER_IFM_NUM/2;

    for(int kd = 0; kd < FILTER_IFM_NUM/2; kd++)  // _ID = 3, RGB
    {
        uint tmp_in_addr = in_addr;

#if IN_BLOCK_WIDTH % SUB_GROUP_SIZE == 0
        __attribute__((opencl_unroll_hint(IN_BLOCK_ARRAY_SIZE)))
        for(uint in_block_pos = 0; in_block_pos < IN_BLOCK_ARRAY_SIZE * SUB_GROUP_SIZE; in_block_pos += SUB_GROUP_SIZE) {
            // Horizontal position in input block after read.
            const uint in_block_next_x_pos = in_block_pos % IN_BLOCK_WIDTH + SUB_GROUP_SIZE;

            in[in_block_pos / SUB_GROUP_SIZE] = input[tmp_in_addr + in_block_pos % IN_BLOCK_WIDTH];

            // If we have row break, move to the next row.
            if (in_block_next_x_pos == IN_BLOCK_WIDTH)
                tmp_in_addr += INPUT0_Y_PITCH;
        }
#elif (2 * IN_BLOCK_WIDTH) % SUB_GROUP_SIZE == 0
        __attribute__((opencl_unroll_hint(IN_BLOCK_ARRAY_SIZE)))
        for(uint in_block_pos = 0; in_block_pos < IN_BLOCK_ARRAY_SIZE * SUB_GROUP_SIZE; in_block_pos += SUB_GROUP_SIZE) {
            // Horizontal position in input block after read.
            const uint in_block_next_x_pos = in_block_pos % IN_BLOCK_WIDTH + SUB_GROUP_SIZE;

            if (in_block_next_x_pos <= IN_BLOCK_WIDTH) { //
                in[in_block_pos / SUB_GROUP_SIZE] = input[tmp_in_addr + in_block_pos % IN_BLOCK_WIDTH];

                // If we have row break, move to the next row.
                if (in_block_next_x_pos == IN_BLOCK_WIDTH)
                    tmp_in_addr += INPUT0_Y_PITCH;
            }
            else {
                // TODO: Generalize this step to relax IN_BLOCK_WIDTH restrictions.
                // Position in sub-group on which new row need to be read.
                const uint sg_br_pos = IN_BLOCK_WIDTH - in_block_pos % IN_BLOCK_WIDTH;

                if (lid < sg_br_pos)
                    in[in_block_pos / SUB_GROUP_SIZE] = input[tmp_in_addr + in_block_pos % IN_BLOCK_WIDTH];
                // We have row break inside sub-group. Need to move to next line.
                tmp_in_addr += INPUT0_Y_PITCH;
                if (lid >= sg_br_pos)
                    in[in_block_pos / SUB_GROUP_SIZE] = input[tmp_in_addr - sg_br_pos];
convolution_gpu_bfyx_os_iyx_osv16_2_sg
    UNIT_TYPE line_cache[3 * INPUT_BLOCK_SIZE];
    for (int ic = 0; ic < 3; ic++)
    {
        __attribute__((opencl_unroll_hint(INPUT_BLOCK_SIZE)))
        for (uint i = 0; i < INPUT_BLOCK_SIZE; i++)
        {
            const uint in_elem = i * SUB_GROUP_SIZE + lid;
            const uint xb = in_elem % INPUT_LINE_SIZE;
            const uint yb = in_elem / INPUT_LINE_SIZE;
            if (input_y + yb >= 0 && input_y + yb < INPUT0_SIZE_Y)
                line_cache[ic * INPUT_BLOCK_SIZE + i] = input[input_offset +
                                                              ic * input_f_pitch +
                                                              xb * input_x_pitch +
                                                              yb * input_y_pitch];
            else
                line_cache[ic * INPUT_BLOCK_SIZE + i] = UNIT_VAL_ZERO;
        }
    }


    __attribute__((opencl_unroll_hint(FILTER_SIZE_Y)))
    for (uint kh = 0; kh < FILTER_SIZE_Y; kh++)
    {
        __attribute__((opencl_unroll_hint(FILTER_SIZE_X)))
        for (uint kw = 0; kw < FILTER_SIZE_X; kw++)
        {
            MAKE_VECTOR_TYPE(UNIT_TYPE, 2) wei = UNIT_BLOCK_READ2(weights, filter_offset +
                                                                           kh * filter_y_pitch +
                                                                           kw * filter_x_pitch);
            UNIT_TYPE wei2 = UNIT_BLOCK_READ(weights, filter_offset +
                                                      kh * filter_y_pitch +
                                                      kw * filter_x_pitch +
                                                      2 * filter_isv_pitch);

            __attribute__((opencl_unroll_hint(OUTPUT_X_BLOCK_SIZE)))
            for (int i = 0; i < OUTPUT_X_BLOCK_SIZE; i++)
            {
                const uint buf_offset = (kw + STRIDE_SIZE_X * i + (kh) * INPUT_LINE_SIZE) / SUB_GROUP_SIZE;
                const uint buf_group  = (kw + STRIDE_SIZE_X * i + (kh) * INPUT_LINE_SIZE) % SUB_GROUP_SIZE;

                UNIT_TYPE src0 = intel_sub_group_shuffle(line_cache[0 * INPUT_BLOCK_SIZE + buf_offset], buf_group);
                UNIT_TYPE src1 = intel_sub_group_shuffle(line_cache[1 * INPUT_BLOCK_SIZE + buf_offset], buf_group);
                UNIT_TYPE src2 = intel_sub_group_shuffle(line_cache[2 * INPUT_BLOCK_SIZE + buf_offset], buf_group);

                dst[i] = mad(wei[0], src0, dst[i]);
                dst[i] = mad(wei[1], src1, dst[i]);
                dst[i] = mad(wei2, src2, dst[i]);
            }
        }
    }

    dst = ACTIVATION(dst, NL_M, NL_N);

    if (x + OUTPUT_X_BLOCK_SIZE <= OUTPUT_SIZE_X)
    {
        // TODO Generalize for other block sizes
#if OUTPUT_X_BLOCK_SIZE == 8
        UNIT_BLOCK_WRITE8(output, output_offset, dst);
#elif OUTPUT_X_BLOCK_SIZE == 4
        UNIT_BLOCK_WRITE4(output, output_offset, dst);
#elif OUTPUT_X_BLOCK_SIZE == 2
        UNIT_BLOCK_WRITE2(output, output_offset, dst);
#elif OUTPUT_X_BLOCK_SIZE == 1
        UNIT_BLOCK_WRITE(output, output_offset, dst);
#else
#   error convolution_gpu_bfyx_to_bfyx_f16.cl: Unsupported output x block size.
#endif
    }
    else
    {
        const int x_tail = OUTPUT_SIZE_X - x;
        for (int i = 0; i < x_tail; i++)
            UNIT_BLOCK_WRITE(output, output_offset + i * output_x_pitch, dst[i]);
    }
}

#undef FEATURE_SLICE_SIZE 16

        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif


// Copyright (c) 2019 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


#ifndef UNIT_TYPE
#error Unit type not defined.
#endif

#if UNIT_TYPE_SIZE == 2
// 2 byte data type case (ex. half)
#define UNIT_BLOCK_RW_TYPE ushort
#define UNIT_BLOCK_READ_FUNC intel_sub_group_block_read_us
#define UNIT_BLOCK_WRITE_FUNC intel_sub_group_block_write_us
#elif UNIT_TYPE_SIZE == 4
// 4 byte data type case (ex. float)
#define UNIT_BLOCK_RW_TYPE uint
#define UNIT_BLOCK_READ_FUNC intel_sub_group_block_read
#define UNIT_BLOCK_WRITE_FUNC intel_sub_group_block_write
#else
#error Unsupported unit type for block read/write.
#endif

#define UNIT_TYPE2 MAKE_VECTOR_TYPE(UNIT_TYPE, 2)
#define UNIT_TYPE4 MAKE_VECTOR_TYPE(UNIT_TYPE, 4)
#define UNIT_TYPE8 MAKE_VECTOR_TYPE(UNIT_TYPE, 8)

#define UNIT_BLOCK_RW_TYPE2 MAKE_VECTOR_TYPE(UNIT_BLOCK_RW_TYPE, 2)
#define UNIT_BLOCK_RW_TYPE4 MAKE_VECTOR_TYPE(UNIT_BLOCK_RW_TYPE, 4)
#define UNIT_BLOCK_RW_TYPE8 MAKE_VECTOR_TYPE(UNIT_BLOCK_RW_TYPE, 8)

#define AS_TYPE(type, val) CAT(as_, type)(val)

#define UNIT_BLOCK_READ_FUNC2 CAT(UNIT_BLOCK_READ_FUNC, 2)
#define UNIT_BLOCK_READ_FUNC4 CAT(UNIT_BLOCK_READ_FUNC, 4)
#define UNIT_BLOCK_READ_FUNC8 CAT(UNIT_BLOCK_READ_FUNC, 8)

#define UNIT_BLOCK_WRITE_FUNC2 CAT(UNIT_BLOCK_WRITE_FUNC, 2)
#define UNIT_BLOCK_WRITE_FUNC4 CAT(UNIT_BLOCK_WRITE_FUNC, 4)
#define UNIT_BLOCK_WRITE_FUNC8 CAT(UNIT_BLOCK_WRITE_FUNC, 8)

#define UNIT_BLOCK_READ(ptr, offset)  AS_TYPE(UNIT_TYPE,  UNIT_BLOCK_READ_FUNC( (const __global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset)))
#define UNIT_BLOCK_READ2(ptr, offset) AS_TYPE(UNIT_TYPE2, UNIT_BLOCK_READ_FUNC2((const __global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset)))
#define UNIT_BLOCK_READ4(ptr, offset) AS_TYPE(UNIT_TYPE4, UNIT_BLOCK_READ_FUNC4((const __global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset)))
#define UNIT_BLOCK_READ8(ptr, offset) AS_TYPE(UNIT_TYPE8, UNIT_BLOCK_READ_FUNC8((const __global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset)))

#define UNIT_BLOCK_WRITE(ptr, offset, val)  UNIT_BLOCK_WRITE_FUNC( (__global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset), AS_TYPE(UNIT_BLOCK_RW_TYPE,  val))
#define UNIT_BLOCK_WRITE2(ptr, offset, val) UNIT_BLOCK_WRITE_FUNC2((__global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset), AS_TYPE(UNIT_BLOCK_RW_TYPE2, val))
#define UNIT_BLOCK_WRITE4(ptr, offset, val) UNIT_BLOCK_WRITE_FUNC4((__global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset), AS_TYPE(UNIT_BLOCK_RW_TYPE4, val))
#define UNIT_BLOCK_WRITE8(ptr, offset, val) UNIT_BLOCK_WRITE_FUNC8((__global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset), AS_TYPE(UNIT_BLOCK_RW_TYPE8, val))


#define FEATURE_SLICE_SIZE 16

__attribute__((intel_reqd_sub_group_size(SUB_GROUP_SIZE)))
__attribute__((reqd_work_group_size(1, SUB_GROUP_SIZE, 1)))
KERNEL(convolution_bfyx_to_bfyx_f16)(
    __global INPUT0_TYPE* input,
    __global OUTPUT_TYPE* output,
    __global FILTER_TYPE* weights,
#if BIAS_TERM
    __global BIAS_TYPE* biases,
#endif
    uint split_idx)
{
    const int f_block = get_group_id(1);
    const int lid = get_sub_group_local_id();
    const int b = get_global_id(2);

    const int xy = get_global_id(0);
    const int x = (xy % X_BLOCKS) * OUTPUT_X_BLOCK_SIZE;
    const int y = (xy / X_BLOCKS);

    typedef MAKE_VECTOR_TYPE(UNIT_TYPE, OUTPUT_X_BLOCK_SIZE) vec_t;
    typedef MAKE_VECTOR_TYPE(UNIT_TYPE, 8) wei_t;

    const int input_x = x * STRIDE_SIZE_X - PADDING_SIZE_X;
    const int input_y = y * STRIDE_SIZE_Y - PADDING_SIZE_Y;

    // Input offset calculations:
    const uint input_x_pitch = INPUT0_X_PITCH;
    const uint input_y_pitch = INPUT0_Y_PITCH;
    const uint input_f_pitch = INPUT0_FEATURE_PITCH;
    const uint input_b_pitch = INPUT0_BATCH_PITCH;

#if DEPTHWISE_SEPARABLE_OPT
    const uint in_split_offset = (f_block / FILTER_OFM_NUM) * INPUT0_FEATURE_PITCH * FILTER_IFM_NUM;
#else
    const uint in_split_offset = split_idx * FILTER_IFM_NUM * input_f_pitch;
#endif // DEPTHWISE_SEPARABLE_OPT

    const uint input_offset = in_split_offset +
                              INPUT0_OFFSET +
                              b * input_b_pitch +
                              input_y * input_y_pitch +
                              input_x * input_x_pitch;

    // Output offset calculations:
    const uint output_x_pitch = FEATURE_SLICE_SIZE;
    const uint output_y_pitch = output_x_pitch * (OUTPUT_PAD_BEFORE_SIZE_X +  OUTPUT_SIZE_X + OUTPUT_PAD_AFTER_SIZE_X);
    const uint output_total_f_size = OUTPUT_PAD_BEFORE_FEATURE_NUM + OUTPUT_FEATURE_NUM + OUTPUT_PAD_AFTER_FEATURE_NUM;
    const uint output_fs_pitch = output_y_pitch * (OUTPUT_PAD_BEFORE_SIZE_Y +  OUTPUT_SIZE_Y + OUTPUT_PAD_AFTER_SIZE_Y);
    const uint output_b_pitch = output_fs_pitch * ((output_total_f_size + FEATURE_SLICE_SIZE - 1) / FEATURE_SLICE_SIZE);

    const uint output_fs_pad_before = OUTPUT_PAD_BEFORE_FEATURE_NUM / FEATURE_SLICE_SIZE;

    const uint out_split_offset = split_idx * (OUTPUT_FEATURE_NUM / FEATURE_SLICE_SIZE) * output_fs_pitch;

    const uint output_offset = out_split_offset +
                               b * output_b_pitch +
                               (f_block + output_fs_pad_before) * output_fs_pitch +
                               (y + OUTPUT_PAD_BEFORE_SIZE_Y) * output_y_pitch +
                               (x + OUTPUT_PAD_BEFORE_SIZE_X) * output_x_pitch;

    // Filter offset calculations:
    const uint filter_isv_pitch = FEATURE_SLICE_SIZE;
    const uint filter_x_pitch = FEATURE_SLICE_SIZE * FEATURE_SLICE_SIZE;
    const uint filter_y_pitch = filter_x_pitch * FILTER_SIZE_X;
    const uint filter_is_pitch = filter_y_pitch * FILTER_SIZE_Y;
    const uint filter_os_pitch = filter_is_pitch * ((FILTER_IFM_NUM + FEATURE_SLICE_SIZE - 1) / FEATURE_SLICE_SIZE);

#if GROUPED && !DEPTHWISE_SEPARABLE_OPT
    const uint filter_offset = f_block * filter_os_pitch + split_idx * FILTER_LENGTH;
#else
    const uint filter_offset = f_block * filter_os_pitch;
#endif

#if BIAS_TERM
    uint bias_offset = f_block * FEATURE_SLICE_SIZE;

#   if GROUPED && !DEPTHWISE_SEPARABLE_OPT
    bias_offset += split_idx * BIAS_LENGTH;
#   endif

    vec_t dst = (vec_t)(UNIT_BLOCK_READ(biases, bias_offset));
#else
    vec_t dst = UNIT_VAL_ZERO;
#endif
        }
    }
    // ========================================================================
}

#undef unroll_for

#undef INPUT0_SIZE_X_WITH_PADDING
#undef INPUT0_SIZE_Y_WITH_PADDING

#undef OUTPUT_SIZE_X_WITH_PADDING
#undef OUTPUT_SIZE_Y_WITH_PADDING

#undef INPUT_BLOCK_WIDTH_EL_CNT

    uint fs = fs_b_id / INPUT0_BATCH_NUM;
    uint b = fs_b_id - fs * INPUT0_BATCH_NUM;

    UNIT_TYPE in[INPUT_BLOCK_HEIGHT * INPUT_BLOCK_WIDTH_EL_CNT];
    UNIT_TYPE w[FSV_PER_THREAD];
    UNIT_TYPE out[OUTPUT_BLOCK_HEIGHT * OUTPUT_BLOCK_WIDTH * FSV_PER_THREAD];

    for (uint out_i = 0; out_i < OUTPUT_BLOCK_HEIGHT * OUTPUT_BLOCK_WIDTH * FSV_PER_THREAD; ++out_i)
    {
        out[out_i] = UNIT_VAL_ZERO;
    }

    uint input_offset = 0;
    input_offset += oc * STRIDE_SIZE_X + INPUT0_PADDING_OFFSET_SIZE_X;
    input_offset += (or * STRIDE_SIZE_Y + INPUT0_PADDING_OFFSET_SIZE_Y) * INPUT0_SIZE_X_WITH_PADDING;
    input_offset += b * INPUT0_SIZE_X_WITH_PADDING * INPUT0_SIZE_Y_WITH_PADDING * FILTER_IFM_NUM;

    uint weight_offset = 0;
    weight_offset += fs * FILTER_SIZE_X * FILTER_SIZE_Y * FILTER_IFM_NUM * FSV;

    for (uint ifi = 0; ifi < FILTER_IFM_NUM; ++ifi)
    {
        uint tmp_input_offset = input_offset;
        // ====================================================================
        // Load input:
        unroll_for (uint in_y = 0; in_y < INPUT_BLOCK_HEIGHT; ++in_y)
        {
            uint in_x = 0;

#if CAN_USE_BLOCK_READ
            unroll_for (; in_x + 4 <= INPUT_BLOCK_WIDTH_EL_CNT; in_x += 4)
            {
                UNIT_TYPE4 tmp_read = UNIT_BLOCK_READ4(input, tmp_input_offset + in_x * SUB_GROUP_SIZE);
                in[in_y * INPUT_BLOCK_WIDTH_EL_CNT + in_x + 0] = tmp_read.s0;
                in[in_y * INPUT_BLOCK_WIDTH_EL_CNT + in_x + 1] = tmp_read.s1;
                in[in_y * INPUT_BLOCK_WIDTH_EL_CNT + in_x + 2] = tmp_read.s2;
                in[in_y * INPUT_BLOCK_WIDTH_EL_CNT + in_x + 3] = tmp_read.s3;
            }
            unroll_for (; in_x + 2 <= INPUT_BLOCK_WIDTH_EL_CNT; in_x += 2)
            {
                UNIT_TYPE2 tmp_read = UNIT_BLOCK_READ2(input, tmp_input_offset + in_x * SUB_GROUP_SIZE);
                in[in_y * INPUT_BLOCK_WIDTH_EL_CNT + in_x + 0] = tmp_read.s0;
                in[in_y * INPUT_BLOCK_WIDTH_EL_CNT + in_x + 1] = tmp_read.s1;
            }
            unroll_for (; in_x + 1 <= INPUT_BLOCK_WIDTH_EL_CNT; in_x += 1)
            {
                UNIT_TYPE tmp_read = UNIT_BLOCK_READ(input, tmp_input_offset + in_x * SUB_GROUP_SIZE);
                in[in_y * INPUT_BLOCK_WIDTH_EL_CNT + in_x + 0] = tmp_read;
            }
#else // CAN_USE_BLOCK_READ
            // TODO Optimize this path by using vload's
            unroll_for (; in_x + 1 <= INPUT_BLOCK_WIDTH_EL_CNT; in_x += 1)
            {
                UNIT_TYPE tmp_read = input[tmp_input_offset + in_x * SUB_GROUP_SIZE + sglid];
                in[in_y * INPUT_BLOCK_WIDTH_EL_CNT + in_x + 0] = tmp_read;
            }
#endif // CAN_USE_BLOCK_READ

            // Move temporary input offset to next row
            tmp_input_offset += INPUT0_SIZE_X_WITH_PADDING;
        }
        // ====================================================================

        // ====================================================================
        // Perform convolution on loaded input
        unroll_for (uint f_y = 0; f_y < FILTER_SIZE_Y; ++f_y)
        {
            unroll_for (uint f_x = 0; f_x < FILTER_SIZE_X; ++f_x)
            {
                // Load weights
                UNIT_TYPE2 tmp_read = UNIT_BLOCK_READ2(weights, weight_offset);
                w[0] = tmp_read.s0;
                w[1] = tmp_read.s1;

                weight_offset += FSV;
                // Actual convolution
                unroll_for (uint out_y = 0; out_y < OUTPUT_BLOCK_HEIGHT; ++out_y)
                {
                    unroll_for (uint out_x = 0; out_x < OUTPUT_BLOCK_WIDTH; ++out_x)
                    {
                        unroll_for (uint out_f = 0; out_f < FSV_PER_THREAD; ++out_f)
                        {
                            // Value to convolve is at 2D index in[out_y * STRIDE_SIZE_Y + f_y * DILATION_SIZE_Y][out_x * STRIDE_SIZE_X + f_x * DILATION_SIZE_X].
                            // With simd along x dimension:
                            // (out_x * STRIDE_SIZE_X + f_x * DILATION_SIZE_X) / SUB_GROUP_SIZE - element number in simd-lane;
                            // (out_x * STRIDE_SIZE_X + f_x * DILATION_SIZE_X) % SUB_GROUP_SIZE - simd-lane with that element.
                            UNIT_TYPE in_val = intel_sub_group_shuffle(
                                in[(out_y * STRIDE_SIZE_Y + f_y * DILATION_SIZE_Y) * INPUT_BLOCK_WIDTH_EL_CNT +
                                   (out_x * STRIDE_SIZE_X + f_x * DILATION_SIZE_X) / SUB_GROUP_SIZE],
                                (out_x * STRIDE_SIZE_X + f_x * DILATION_SIZE_X) % SUB_GROUP_SIZE);



                            const uint out_idx = out_y * OUTPUT_BLOCK_WIDTH * FSV_PER_THREAD + out_x * FSV_PER_THREAD + out_f;
                            out[out_idx] = mad(in_val, w[out_f], out[out_idx]);
                        }
                    }
                }
            }
            // ====================================================================
        }

        // Move input offset to next input feature
        input_offset += INPUT0_SIZE_X_WITH_PADDING * INPUT0_SIZE_Y_WITH_PADDING;
        // No need to move weight offset as it has already been moved to next
        // input filter feature by FILTER_SIZE_Y * FILTER_SIZE_X times moving
        // by FSV.
    }

    // ========================================================================
    // Bias
#if BIAS_TERM
    unroll_for (uint out_y = 0; out_y < OUTPUT_BLOCK_HEIGHT; ++out_y)
    {
        unroll_for (uint out_x = 0; out_x < OUTPUT_BLOCK_WIDTH; ++out_x)
        {
#   if BIAS_PER_OUTPUT
            // TODO Change bias format to use block reads
            unroll_for (uint out_f = 0; out_f < FSV_PER_THREAD; ++out_f)
            {
                const uint bias_index = (fs * FSV + out_f * SUB_GROUP_SIZE + sglid) * OUTPUT_SIZE_X * OUTPUT_SIZE_Y +
                                        (or + out_y) * OUTPUT_SIZE_X +
                                        (oc + out_x);
                out[out_y * OUTPUT_BLOCK_WIDTH * FSV_PER_THREAD + out_x * FSV_PER_THREAD + out_f]
                    += biases[bias_index];
            }
#   else
            const uint bias_index = fs * FSV;
            UNIT_TYPE2 bias_read = UNIT_BLOCK_READ2(biases, bias_index);
            out[out_y * OUTPUT_BLOCK_WIDTH * FSV_PER_THREAD + out_x * FSV_PER_THREAD + 0] += bias_read.s0;
            out[out_y * OUTPUT_BLOCK_WIDTH * FSV_PER_THREAD + out_x * FSV_PER_THREAD + 1] += bias_read.s1;
#   endif

        }
    }
#endif // BIAS_TERM
    // ========================================================================

    // ========================================================================
    // Activation
    unroll_for (uint out_y = 0; out_y < OUTPUT_BLOCK_HEIGHT; ++out_y)
    {
        unroll_for (uint out_x = 0; out_x < OUTPUT_BLOCK_WIDTH; ++out_x)
        {
            unroll_for (uint out_f = 0; out_f < FSV_PER_THREAD; ++out_f)
            {
                const uint out_idx = out_y * OUTPUT_BLOCK_WIDTH * FSV_PER_THREAD + out_x * FSV_PER_THREAD + out_f;
                out[out_idx] = ACTIVATION(out[out_idx], NL_M, NL_N);
            }
        }
    }
    // ========================================================================

    // ========================================================================
    // Store results:
    const uint pad_before_fs = (OUTPUT_PAD_BEFORE_FEATURE_NUM / FSV);
    uint output_offset = 0;
    output_offset += (oc + OUTPUT_PAD_BEFORE_SIZE_X) * FSV;
    output_offset += (or + OUTPUT_PAD_BEFORE_SIZE_Y) * FSV * OUTPUT_SIZE_X_WITH_PADDING;
    output_offset += b  * FSV * OUTPUT_SIZE_X_WITH_PADDING * OUTPUT_SIZE_Y_WITH_PADDING;
    output_offset += (pad_before_fs + fs) * FSV * OUTPUT_SIZE_X_WITH_PADDING * OUTPUT_SIZE_Y_WITH_PADDING * OUTPUT_BATCH_NUM;

    const bool full_f = OUTPUT_FEATURE_NUM % FSV == 0 || fs * FSV + FSV <= OUTPUT_FEATURE_NUM;
    const bool full_x = OUTPUT_SIZE_X % OUTPUT_BLOCK_WIDTH == 0 || oc + OUTPUT_BLOCK_WIDTH <= OUTPUT_SIZE_X;
    const bool full_y = OUTPUT_SIZE_Y % OUTPUT_BLOCK_HEIGHT == 0 || or + OUTPUT_BLOCK_HEIGHT <= OUTPUT_SIZE_Y;

    if (full_f && full_x && full_y)
    {
        // Case without bounds checking
        unroll_for (uint out_y = 0; out_y < OUTPUT_BLOCK_HEIGHT; ++out_y)
        {
            unroll_for (uint out_x = 0; out_x < OUTPUT_BLOCK_WIDTH; ++out_x)
            {
                UNIT_TYPE2 tmp_write = (UNIT_TYPE2)(out[out_y * OUTPUT_BLOCK_WIDTH * FSV_PER_THREAD + out_x * FSV_PER_THREAD + 0],
                                                    out[out_y * OUTPUT_BLOCK_WIDTH * FSV_PER_THREAD + out_x * FSV_PER_THREAD + 1]);
                UNIT_BLOCK_WRITE2(output, output_offset + out_x * FSV, tmp_write);
            }
            // Move output offset to next row
            output_offset += FSV * OUTPUT_SIZE_X_WITH_PADDING;
        }
    }
    else
    {
        unroll_for (uint out_y = 0; out_y < OUTPUT_BLOCK_HEIGHT; ++out_y)
        {
            unroll_for (uint out_x = 0; out_x < OUTPUT_BLOCK_WIDTH; ++out_x)
            {
                unroll_for (uint out_f = 0; out_f < FSV_PER_THREAD; ++out_f)
                {
                    if (oc + out_x < OUTPUT_SIZE_X
                     && or + out_y < OUTPUT_SIZE_Y
                     && fs * FSV + sglid + out_f * SUB_GROUP_SIZE < OUTPUT_FEATURE_NUM)
                    {
                        output[output_offset + out_x * FSV + out_f * SUB_GROUP_SIZE + sglid]
                            = out[out_y * OUTPUT_BLOCK_WIDTH * FSV_PER_THREAD + out_x * FSV_PER_THREAD + out_f];
                    }
                }
            }
            // Move output offset to next row
            output_offset += FSV * OUTPUT_SIZE_X_WITH_PADDING;
// Copyright (c) 2019 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)

// Copyright (c) 2019 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


#ifndef UNIT_TYPE
#error Unit type not defined.
#endif

#if UNIT_TYPE_SIZE == 2
// 2 byte data type case (ex. half)
#define UNIT_BLOCK_RW_TYPE ushort
#define UNIT_BLOCK_READ_FUNC intel_sub_group_block_read_us
#define UNIT_BLOCK_WRITE_FUNC intel_sub_group_block_write_us
#elif UNIT_TYPE_SIZE == 4
// 4 byte data type case (ex. float)
#define UNIT_BLOCK_RW_TYPE uint
#define UNIT_BLOCK_READ_FUNC intel_sub_group_block_read
#define UNIT_BLOCK_WRITE_FUNC intel_sub_group_block_write
#else
#error Unsupported unit type for block read/write.
#endif

#define UNIT_TYPE2 MAKE_VECTOR_TYPE(UNIT_TYPE, 2)
#define UNIT_TYPE4 MAKE_VECTOR_TYPE(UNIT_TYPE, 4)
#define UNIT_TYPE8 MAKE_VECTOR_TYPE(UNIT_TYPE, 8)

#define UNIT_BLOCK_RW_TYPE2 MAKE_VECTOR_TYPE(UNIT_BLOCK_RW_TYPE, 2)
#define UNIT_BLOCK_RW_TYPE4 MAKE_VECTOR_TYPE(UNIT_BLOCK_RW_TYPE, 4)
#define UNIT_BLOCK_RW_TYPE8 MAKE_VECTOR_TYPE(UNIT_BLOCK_RW_TYPE, 8)

#define AS_TYPE(type, val) CAT(as_, type)(val)

#define UNIT_BLOCK_READ_FUNC2 CAT(UNIT_BLOCK_READ_FUNC, 2)
#define UNIT_BLOCK_READ_FUNC4 CAT(UNIT_BLOCK_READ_FUNC, 4)
#define UNIT_BLOCK_READ_FUNC8 CAT(UNIT_BLOCK_READ_FUNC, 8)

#define UNIT_BLOCK_WRITE_FUNC2 CAT(UNIT_BLOCK_WRITE_FUNC, 2)
#define UNIT_BLOCK_WRITE_FUNC4 CAT(UNIT_BLOCK_WRITE_FUNC, 4)
#define UNIT_BLOCK_WRITE_FUNC8 CAT(UNIT_BLOCK_WRITE_FUNC, 8)

#define UNIT_BLOCK_READ(ptr, offset)  AS_TYPE(UNIT_TYPE,  UNIT_BLOCK_READ_FUNC( (const __global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset)))
#define UNIT_BLOCK_READ2(ptr, offset) AS_TYPE(UNIT_TYPE2, UNIT_BLOCK_READ_FUNC2((const __global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset)))
#define UNIT_BLOCK_READ4(ptr, offset) AS_TYPE(UNIT_TYPE4, UNIT_BLOCK_READ_FUNC4((const __global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset)))
#define UNIT_BLOCK_READ8(ptr, offset) AS_TYPE(UNIT_TYPE8, UNIT_BLOCK_READ_FUNC8((const __global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset)))

#define UNIT_BLOCK_WRITE(ptr, offset, val)  UNIT_BLOCK_WRITE_FUNC( (__global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset), AS_TYPE(UNIT_BLOCK_RW_TYPE,  val))
#define UNIT_BLOCK_WRITE2(ptr, offset, val) UNIT_BLOCK_WRITE_FUNC2((__global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset), AS_TYPE(UNIT_BLOCK_RW_TYPE2, val))
#define UNIT_BLOCK_WRITE4(ptr, offset, val) UNIT_BLOCK_WRITE_FUNC4((__global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset), AS_TYPE(UNIT_BLOCK_RW_TYPE4, val))
#define UNIT_BLOCK_WRITE8(ptr, offset, val) UNIT_BLOCK_WRITE_FUNC8((__global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset), AS_TYPE(UNIT_BLOCK_RW_TYPE8, val))


#define unroll_for __attribute__((opencl_unroll_hint)) for

#define INPUT0_SIZE_X_WITH_PADDING (INPUT0_PAD_BEFORE_SIZE_X + INPUT0_SIZE_X + INPUT0_PAD_AFTER_SIZE_X)
#define INPUT0_SIZE_Y_WITH_PADDING (INPUT0_PAD_BEFORE_SIZE_Y + INPUT0_SIZE_Y + INPUT0_PAD_AFTER_SIZE_Y)

#define OUTPUT_SIZE_X_WITH_PADDING (OUTPUT_PAD_BEFORE_SIZE_X + OUTPUT_SIZE_X + OUTPUT_PAD_AFTER_SIZE_X)
#define OUTPUT_SIZE_Y_WITH_PADDING (OUTPUT_PAD_BEFORE_SIZE_Y + OUTPUT_SIZE_Y + OUTPUT_PAD_AFTER_SIZE_Y)

// In some cases input padding may be bigger than needed, those variables describe the offset into padding.
#define INPUT0_PADDING_OFFSET_SIZE_X (INPUT0_PAD_BEFORE_SIZE_X - PADDING_SIZE_X)
#define INPUT0_PADDING_OFFSET_SIZE_Y (INPUT0_PAD_BEFORE_SIZE_Y - PADDING_SIZE_Y)

// ======================================================================================
// Required JIT definitions:
// --------------------------------------------------------------------------------------
// SUB_GROUP_SIZE      - [int] sub-group/simd size; limited to 16
// FSV                 - [int] feature slice size; limted to 32
// FSV_PER_THREAD      - [int] number of features from slice per thread;
//                             must be equal FSV / SUB_GROUP_SIZE
// OUTPUT_BLOCK_WIDTH  - [int] number of elements calculated in x dimension by one thread
// OUTPUT_BLOCK_HEIGHT - [int] number of output rows calculated by one thread
// INPUT_BLOCK_WIDTH   - [int] number of continous input elements to calculate output,
//                             rounded to multiple of sub-group size
// INPUT_BLOCK_HEIGHT  - [int] number of input rows needed to calculate output
// ======================================================================================

// For loading simd will be aligned along x dimension, this macro gives the number of
// elements to load for each simd-lane
#define INPUT_BLOCK_WIDTH_EL_CNT ((INPUT_BLOCK_WIDTH) / (SUB_GROUP_SIZE))

// In order to use block reads input offset must be aligned to 4 bytes
// To ensure this:
// 1. Every offset move to next row must be aligned,
//    so INPUT0_SIZE_X_WITH_PADDING must be aligned
// 2. Starting offset must be aligned, for this alignment must hold for:
//    OUTPUT_BLOCK_WIDTH * STRIDE_SIZE_X
//    INPUT0_PADDING_OFFSET_SIZE_X
//    OUTPUT_BLOCK_HEIGHT * STRIDE_SIZE_Y * INPUT0_SIZE_X_WITH_PADDING (covered by 1.)
//    INPUT0_PADDING_OFFSET_SIZE_Y * INPUT0_SIZE_X_WITH_PADDING        (covered by 1.)
//    INPUT0_SIZE_X_WITH_PADDING * INPUT0_SIZE_Y_WITH_PADDING * FILTER_IFM_NUM (covered by 1.)
// 3. Every offset move to next feature by
//    INPUT0_SIZE_X_WITH_PADDING * INPUT0_SIZE_Y_WITH_PADDING must be aligned (covered by 1.)

#define CAN_USE_BLOCK_READ                                          \
    (STRIDE_SIZE_X * OUTPUT_BLOCK_WIDTH * UNIT_TYPE_SIZE) % 4 == 0  \
    && (INPUT0_SIZE_X_WITH_PADDING * UNIT_TYPE_SIZE) % 4 == 0       \
    && (INPUT0_PADDING_OFFSET_SIZE_X * UNIT_TYPE_SIZE) % 4 == 0


__attribute__((intel_reqd_sub_group_size(SUB_GROUP_SIZE)))
__attribute__((reqd_work_group_size(1, 1, SUB_GROUP_SIZE)))
KERNEL(convolution_gpu_bfyx_to_fs_byx_fsv32)(
    __global UNIT_TYPE* input,
    __global UNIT_TYPE* output,
    __global UNIT_TYPE* weights,
#if BIAS_TERM
    __global UNIT_TYPE* biases,
#endif
    int split_idx)
{
    uint oc = get_global_id(0) * OUTPUT_BLOCK_WIDTH;
    uint or = get_global_id(1) * OUTPUT_BLOCK_HEIGHT;
    uint fs_b_id = get_group_id(2);
    uint sglid = get_sub_group_local_id();


        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



KERNEL(convolution)(
    __global INPUT0_TYPE* input,
    __global OUTPUT_TYPE* output,
    __global FILTER_TYPE* weights,
#if BIAS_TERM
    __global BIAS_TYPE* biases,
#endif
#if QUANTIZATION_TERM
    __global float* quantizations,
#endif
#if CALIBRATION_TERM
    __global float* calibrations,
#endif
    uint split_idx)
{
    const uint x = get_global_id(0);
#if  OUTPUT_SIZE_Z == 1
    const uint y = get_global_id(1);
    const uint z = 0;
#else
    const uint y = get_global_id(1) % OUTPUT_SIZE_Y;
    const uint z = get_global_id(1) / OUTPUT_SIZE_Y;
#endif
#if OUTPUT_BATCH_NUM == 1
    const uint f = get_global_id(2);
    const uint b = 0;
#else
    const uint f = get_global_id(2) % OUTPUT_FEATURE_NUM;
    const uint b = get_global_id(2) / OUTPUT_FEATURE_NUM;
#endif
#if QUANTIZATION_TERM
    int dotProd = 0;
#else
    UNIT_TYPE dotProd = UNIT_VAL_ZERO;
#endif
    const int input_x = x * STRIDE_SIZE_X - PADDING_SIZE_X;
    const int input_y = y * STRIDE_SIZE_Y - PADDING_SIZE_Y;
    const int input_z = z * STRIDE_SIZE_Z - PADDING_SIZE_Z;

// TODO check DEPTHWISE_SEPARABLE_OPT
#if DEPTHWISE_SEPARABLE_OPT
    const uint in_split_offset = (f / FILTER_OFM_NUM) * INPUT0_FEATURE_PITCH * FILTER_IFM_NUM;
#else
    const uint in_split_offset = split_idx * INPUT0_FEATURE_PITCH * FILTER_IFM_NUM;
#endif
#if GROUPED && !DEPTHWISE_SEPARABLE_OPT
    const uint filter_offset = f*FILTER_OFM_PITCH + split_idx * FILTER_LENGTH;
#else
    const uint filter_offset = f*FILTER_OFM_PITCH;
#endif
    const uint input_offset = b*INPUT0_BATCH_PITCH + INPUT0_OFFSET + in_split_offset;

// TODO check LOCAL_CONVOLUTION
#ifdef LOCAL_CONVOLUTION
    const int local_offset = FILTER_SIZE_X * FILTER_SIZE_Y * (x + OUTPUT_SIZE_X * y);
#endif
    for (uint k = 0; k < FILTER_IFM_NUM; ++k)
    {
        for (uint l = 0; l < FILTER_SIZE_Z ; ++l)
        {
            const int input_offset_z = input_z + l * DILATION_SIZE_Z;
            const bool zero_z = input_offset_z >= INPUT0_SIZE_Z || input_offset_z < 0;

            if(!zero_z)
            {
                for (uint j = 0; j < FILTER_SIZE_Y ; ++j)
                {
                    const int input_offset_y = input_y + j * DILATION_SIZE_Y;
                    const bool zero_y = input_offset_y >= INPUT0_SIZE_Y || input_offset_y < 0;

                    if(!zero_y)
                    {
                        for (uint i = 0; i < FILTER_SIZE_X ; ++i)
                        {
                            const int input_offset_x = input_x + i * DILATION_SIZE_X;
                            const bool zero_x = input_offset_x >= INPUT0_SIZE_X || input_offset_x < 0;

                            if(!zero_x)
                            {
                                uint input_idx = input_offset + (uint)input_offset_x*INPUT0_X_PITCH + (uint)input_offset_y*INPUT0_Y_PITCH +
                                                 (uint)input_offset_z*INPUT0_Z_PITCH + k*INPUT0_FEATURE_PITCH;
#ifdef LOCAL_CONVOLUTION
                                uint filter_idx = filter_offset + k*FILTER_IFM_PITCH + l*FILTER_Z_PITCH + j*FILTER_Y_PITCH + i*FILTER_X_PITCH + local_offset;
#else
                                uint filter_idx = filter_offset + k*FILTER_IFM_PITCH + l*FILTER_Z_PITCH + j*FILTER_Y_PITCH + i*FILTER_X_PITCH;
#endif
#if QUANTIZATION_TERM
                                dotProd += (int)input[input_idx] * (int)weights[filter_idx];
#else
                                dotProd += input[input_idx] * weights[filter_idx];
#endif
                            }
                        }
                    }
                }
            }
        }
    }

#if BIAS_TERM
#if GROUPED && !DEPTHWISE_SEPARABLE_OPT
    const uint bias_offset = split_idx * BIAS_LENGTH;
#else
    const uint bias_offset = 0;
#endif
#if   BIAS_PER_OUTPUT
    const uint bias_index = bias_offset + GET_3D_DATA_INDEX(BIAS, b, f, z, y, x);
#elif BIAS_PER_OFM
    const uint bias_index = bias_offset + f;
#endif
#if QUANTIZATION_TERM
#if CALIBRATION_TERM

    dotProd = (UNIT_TYPE)round(((float)dotProd * quantizations[f] * I_QF + biases[bias_index]) * calibrations[f]);
#else  // CALIBRATION_TERM
    dotProd = (UNIT_TYPE)round(((float)dotProd * quantizations[f] * I_QF + biases[bias_index]) * O_QF);
#endif // CALIBRATION_TERM
#else  // QUANTIZATION_TERM
    dotProd += (UNIT_TYPE)biases[bias_index];
#endif // QUANTIZATION_TERM
#endif

    const uint out_split_offset = split_idx * OUTPUT_FEATURE_PITCH * OUTPUT_FEATURE_NUM;
    const uint dst_index = GET_3D_DATA_INDEX(OUTPUT, b, f, z, y, x) + out_split_offset;

#if QUANTIZATION_TERM
    output[dst_index] = ACTIVATION(convert_char(dotProd), NL_M, NL_N);
#else
    output[dst_index] = ACTIVATION(dotProd, NL_M, NL_N);
#endif
}

#define MMAD_4x8(A, B, C) FUNC_CALL(mmad4x8)(A, B, C)
#define MMAD_8x8(A, B, C) FUNC_CALL(mmad8x8)(A, B, C)
#define SLM_BLOCK_WRITE_4(A, B) (FUNC_CALL(intel_sub_group_block_write_4)(A, B))
#define SLM_BLOCK_READ_4(A) (FUNC_CALL(intel_sub_group_block_read_uint4)(A))
#define SLM_BLOCK_READ_8(A) (FUNC_CALL(intel_sub_group_block_read_uint8)(A))


#define FILTER_IFM_SLICES ((FILTER_IFM_NUM + 3) /4)
#define FILTER_SIZE_X_SLICES ((FILTER_SIZE_X + 7) / 8)

#define FILTER_IFM_SLICE_PITCH (32 * (FILTER_SIZE_X_SLICES * 8) * FILTER_SIZE_Y)
#define FILTER_OFM_SLICE_PITCH (FILTER_IFM_SLICE_PITCH * FILTER_IFM_SLICES)

#define OUT_BLOCK_BATCH 2
#define OUT_BLOCK_HEIGHT 2
#define WEIGHTS_PER_WORKITEM 4 // currently needs to be set to 4, check output stage and float4 on quantizations etc.

#define SCALE 0.11f

#ifdef LIGHTWEIGHT_QUANTIZATION

#define QUANTIZATION \
    out[w + pb * 4] = convert_uchar_sat((float)dotProd[w*OUT_BLOCK_HEIGHT*OUT_BLOCK_BATCH + h*OUT_BLOCK_BATCH + pb][i] * SCALE + bias_f[w]);

#elif NO_QUANTIZATION

#define QUANTIZATION \
    out[w + pb * 4] = convert_uchar_sat(dotProd[w*OUT_BLOCK_HEIGHT*OUT_BLOCK_BATCH + h*OUT_BLOCK_BATCH + pb][i]);

#else

#define QUANTIZATION \
    out[w + pb * 4] = as_uchar( ACTIVATION( convert_char( round( ( (float)dotProd[w*OUT_BLOCK_HEIGHT*OUT_BLOCK_BATCH + h*OUT_BLOCK_BATCH + pb][i] * quant_f[w] * I_QF + bias_f[w]) * calib_f[w])), NL_M, NL_N));

#endif

__attribute__((intel_reqd_sub_group_size(8)))
KERNEL(convolution_gpu_byx8_f4_fs_bs_yx_bsv4_fsv32)(
    __global INPUT0_TYPE* input,
    __global OUTPUT_TYPE* output,
    __global FILTER_TYPE* weights,
    __global BIAS_TYPE* biases,
    __global float* quantizations,
#if CALIBRATION_TERM
    __global float* calibrations,
#endif
    uint split_idx)
{
    const uint x = get_group_id(1) * 8;
    const uint y = get_group_id(2) * OUT_BLOCK_HEIGHT;

    const uint bf_id = (get_group_id(0) * WG_BATCH_SIZE + get_sub_group_id()) * 8 * WEIGHTS_PER_WORKITEM;

    const uint f = (bf_id) % OUTPUT_FEATURE_NUM;
    const uint b = OUT_BLOCK_BATCH * (bf_id / OUTPUT_FEATURE_NUM);

    int8 dotProd[OUT_BLOCK_BATCH * OUT_BLOCK_HEIGHT * WEIGHTS_PER_WORKITEM] =  { 0 };

    const int input_x = x * STRIDE_SIZE_X - PADDING_SIZE_X;
    const int input_y = y * STRIDE_SIZE_Y - PADDING_SIZE_Y;

    uint filter_offset = (f/8)*FILTER_OFM_SLICE_PITCH;
    const uint input_offset = b*INPUT0_BATCH_PITCH + INPUT0_OFFSET;

    for (uint k = 0; k < FILTER_IFM_SLICES; ++k)
    {
        __attribute__((opencl_unroll_hint(FILTER_SIZE_Y)))
        for (uint j = 0; j < FILTER_SIZE_Y ; ++j)
        {
            const int input_offset_y = input_y + j * DILATION_SIZE_Y;

            __attribute__((opencl_unroll_hint(FILTER_SIZE_X_SLICES)))
            for(uint i = 0; i < FILTER_SIZE_X_SLICES; i++)
            {
                const uint filter_spatial_offset = 32 * (i*8 + (FILTER_SIZE_X_SLICES * 8) * j);

                int8 act_reg[OUT_BLOCK_HEIGHT*OUT_BLOCK_BATCH]; // activations for MMAD

                // preload batch data
                __attribute__((opencl_unroll_hint(OUT_BLOCK_BATCH)))
                for(uint pb = 0; pb < OUT_BLOCK_BATCH; pb++)
                {
                    // preload spatial data
                    __attribute__((opencl_unroll_hint(OUT_BLOCK_HEIGHT)))
                    for(uint h = 0; h < OUT_BLOCK_HEIGHT; h++)
                    {
                        uint input_idx = GET_DATA_BYX8_F4_INDEX(INPUT0, b + pb, k * 4, input_offset_y + h * STRIDE_SIZE_Y, input_x + i * 8);
                        int2 _input_data_01 = as_int2(intel_sub_group_block_read2((__global uint*)(input + input_idx)));
                        int _input_data_2 = as_int(intel_sub_group_block_read((__global uint*)(input + input_idx + 8 * 8)));

                        act_reg[h * OUT_BLOCK_BATCH + pb][0] = _input_data_01[0];
                        act_reg[h * OUT_BLOCK_BATCH + pb][1] = intel_sub_group_shuffle_down(_input_data_01[0], _input_data_01[1], STRIDE_SIZE_X * 1);
                        act_reg[h * OUT_BLOCK_BATCH + pb][2] = intel_sub_group_shuffle_down(_input_data_01[0], _input_data_01[1], STRIDE_SIZE_X * 2);
                        act_reg[h * OUT_BLOCK_BATCH + pb][3] = intel_sub_group_shuffle_down(_input_data_01[0], _input_data_01[1], STRIDE_SIZE_X * 3);
                        act_reg[h * OUT_BLOCK_BATCH + pb][4] = _input_data_01[1];
                        act_reg[h * OUT_BLOCK_BATCH + pb][5] = intel_sub_group_shuffle_down(_input_data_01[1], _input_data_2, STRIDE_SIZE_X * 1);
                        act_reg[h * OUT_BLOCK_BATCH + pb][6] = intel_sub_group_shuffle_down(_input_data_01[1], _input_data_2, STRIDE_SIZE_X * 2);
                        act_reg[h * OUT_BLOCK_BATCH + pb][7] = intel_sub_group_shuffle_down(_input_data_01[1], _input_data_2, STRIDE_SIZE_X * 3);
                    }
                }

                uint filter_idx = filter_offset + filter_spatial_offset;

                // preload weights
                int8 _weights[WEIGHTS_PER_WORKITEM];
                __attribute__((opencl_unroll_hint(WEIGHTS_PER_WORKITEM)))
                for(uint w = 0; w < WEIGHTS_PER_WORKITEM; w++) // iterate over output feature channels for weights
                {
                    _weights[w] = as_int8(intel_sub_group_block_read8((__global uint*)(weights + filter_idx)));
                    filter_idx += FILTER_OFM_SLICE_PITCH;
                }

                __attribute__((opencl_unroll_hint(WEIGHTS_PER_WORKITEM)))
                for(uint w = 0; w < WEIGHTS_PER_WORKITEM; w++) // iterate over output feature channels for weights
                {
                    __attribute__((opencl_unroll_hint(OUT_BLOCK_BATCH)))
                    for(uint pb = 0; pb < OUT_BLOCK_BATCH; pb++)
                    {
                        __attribute__((opencl_unroll_hint(OUT_BLOCK_HEIGHT)))
                        for(uint h = 0; h < OUT_BLOCK_HEIGHT; h++)
                        {
                            // MMAD on 8x WEIGHTS_PER_WORKITEM input channels elements for 8x outputs in WI
                            dotProd[w*OUT_BLOCK_HEIGHT*OUT_BLOCK_BATCH + h*OUT_BLOCK_BATCH + pb] = MMAD_8x8(act_reg[h * OUT_BLOCK_BATCH + pb], _weights[w], dotProd[w*OUT_BLOCK_HEIGHT*OUT_BLOCK_BATCH + h*OUT_BLOCK_BATCH + pb]);
                        }
                    }
                }
            }
        }
        filter_offset += FILTER_IFM_SLICE_PITCH;
    }


const uint sg_local_f = get_sub_group_local_id() * 4;
float4 quant_f = vload4(0, quantizations + f + sg_local_f);
float4 bias_f = vload4(0, biases + f + sg_local_f);
float4 calib_f = vload4(0, calibrations + f + sg_local_f);

__attribute__((opencl_unroll_hint(OUT_BLOCK_HEIGHT)))
for(uint h = 0; h < OUT_BLOCK_HEIGHT; h++)
{
    const uint dst_index = GET_DATA_FS_BS_YX_BSV4_FSV32_INDEX(OUTPUT, b, f, y + h, x);

    __attribute__((opencl_unroll_hint(8)))
    for(uint i = 0; i < 8; i++)
    {

    #if WEIGHTS_PER_WORKITEM == 4

        uchar8 out;
        __attribute__((opencl_unroll_hint(WEIGHTS_PER_WORKITEM)))
        for(uint pb = 0; pb < OUT_BLOCK_BATCH; pb++)
        {
            for(uint w = 0; w < WEIGHTS_PER_WORKITEM; w++)
            {
                QUANTIZATION;
            }
        }
        intel_sub_group_block_write2((__global unsigned int*)(output + dst_index + 32 * 4 * i), as_uint2(out));

    #else
        #error NOT IMPLEMENTED
        __attribute__((opencl_unroll_hint(WEIGHTS_PER_WORKITEM)))
        for(uint w = 0; w < WEIGHTS_PER_WORKITEM; w++)
        {
        #if CALIBRATION_TERM
            dotProd[w*OUT_BLOCK_HEIGHT + h][i] = (UNIT_TYPE)round(((float)dotProd[w*OUT_BLOCK_HEIGHT + h][i] * quant_f[w] * I_QF + bias_f[w]) * calib_f[w]);
        #else  // CALIBRATION_TERM
            dotProd[w*OUT_BLOCK_HEIGHT + h][i] = (UNIT_TYPE)round(((float)dotProd[w*OUT_BLOCK_HEIGHT + h][i] * quant_f[w] * I_QF + bias_f[w]) * O_QF);
        #endif // CALIBRATION_TERM
            output[dst_index + 32 * 4 * i + 8 * w] = ACTIVATION(convert_char(dotProd[w*OUT_BLOCK_HEIGHT + h][i]), NL_M, NL_N);
        }

    #endif
    }
}

}

#undef OUT_BLOCK_HEIGHT
#undef WEIGHTS_PER_WORKITEM

#undef FILTER_SIZE_X_SLICES
#undef FILTER_IFM_SLICES

#undef FILTER_IFM_SLICE_PITCH
#undef FILTER_OFM_SLICE_PITCH

#undef SCALE
#undef QUANTIZATION

#define MMAD_4x8(A, B, C) FUNC_CALL(mmad4x8)(A, B, C)
#define MMAD_8x8(A, B, C) FUNC_CALL(mmad8x8)(A, B, C)
#define SLM_BLOCK_WRITE_4(A, B) (FUNC_CALL(intel_sub_group_block_write_4)(A, B))
#define SLM_BLOCK_READ_4(A) (FUNC_CALL(intel_sub_group_block_read_uint4)(A))
#define SLM_BLOCK_READ_8(A) (FUNC_CALL(intel_sub_group_block_read_uint8)(A))


KERNEL(convolution_gpu_byxf_af32_depthwise)(
    __global INPUT0_TYPE* input,
    __global OUTPUT_TYPE* output,
    __global FILTER_TYPE* weights,
#if BIAS_TERM
    __global BIAS_TYPE* biases,
#endif
#if QUANTIZATION_TERM
    __global float* quantizations,
#endif
#if CALIBRATION_TERM
    __global float* calibrations,
#endif
    uint split_idx)
{
    const uint x = get_global_id(1);
    const uint y = get_global_id(2);
#if OUTPUT_BATCH_NUM == 1
    const uint f = get_global_id(0);
    const uint b = 0;
#else
    const uint f = get_global_id(0) % OUTPUT_FEATURE_NUM;
    const uint b = get_global_id(0) / OUTPUT_FEATURE_NUM;
#endif

#if QUANTIZATION_TERM
    int dotProd = 0;
#else
    UNIT_TYPE dotProd = UNIT_VAL_ZERO;
#endif
    const int input_x = x * STRIDE_SIZE_X - PADDING_SIZE_X;
    const int input_y = y * STRIDE_SIZE_Y - PADDING_SIZE_Y;

#if DEPTHWISE_SEPARABLE_OPT
    const uint in_split_offset = (f / FILTER_OFM_NUM) * INPUT0_FEATURE_PITCH * FILTER_IFM_NUM;
#else
    const uint in_split_offset = split_idx * INPUT0_FEATURE_PITCH * FILTER_IFM_NUM;
#endif
    const uint filter_offset = f*FILTER_OFM_PITCH;
    const uint input_offset = b*INPUT0_BATCH_PITCH + INPUT0_OFFSET + in_split_offset;

    for (uint k = 0; k < FILTER_IFM_NUM; ++k)
    {
        for (uint j = 0; j < FILTER_SIZE_Y ; ++j)
        {
            const int input_offset_y = input_y + j * DILATION_SIZE_Y;
            const bool zero_y = input_offset_y >= INPUT0_SIZE_Y || input_offset_y < 0;

            if(!zero_y)
            {
                for (uint i = 0; i < FILTER_SIZE_X ; ++i)
                {
                    const int input_offset_x = input_x + i * DILATION_SIZE_X;
                    const bool zero_x = input_offset_x >= INPUT0_SIZE_X || input_offset_x < 0;

                    if(!zero_x)
                    {
                        uint input_idx = input_offset + (uint)input_offset_x*INPUT0_X_PITCH + (uint)input_offset_y*INPUT0_Y_PITCH + k*INPUT0_FEATURE_PITCH;
                        uint filter_idx = filter_offset + k*FILTER_IFM_PITCH + j*FILTER_Y_PITCH + i*FILTER_X_PITCH;
#if QUANTIZATION_TERM
                        dotProd += (int)input[input_idx] * (int)weights[filter_idx];
#else
                        dotProd += input[input_idx] * weights[filter_idx];
#endif
                    }
                }
            }
        }
    }

#if BIAS_TERM
#if   BIAS_PER_OUTPUT
    const uint bias_index = GET_DATA_INDEX(BIAS, b, f, y, x);
#elif BIAS_PER_OFM
    const uint bias_index = f;
#endif
#if QUANTIZATION_TERM
#if CALIBRATION_TERM

    dotProd = (UNIT_TYPE)round(((float)dotProd * quantizations[f] * I_QF + biases[bias_index]) * calibrations[f]);
#else  // CALIBRATION_TERM
    dotProd = (UNIT_TYPE)round(((float)dotProd * quantizations[f] * I_QF + biases[bias_index]) * O_QF);
#endif // CALIBRATION_TERM
#else  // QUANTIZATION_TERM
    dotProd += (UNIT_TYPE)biases[bias_index];
#endif // QUANTIZATION_TERM
#endif

    const uint out_split_offset = split_idx * OUTPUT_FEATURE_PITCH * OUTPUT_FEATURE_NUM;
    const uint dst_index = GET_DATA_INDEX(OUTPUT, b, f, y, x) + out_split_offset;

#if QUANTIZATION_TERM
    output[dst_index] = ACTIVATION(convert_char(dotProd), NL_M, NL_N);
#else
    output[dst_index] = ACTIVATION(dotProd, NL_M, NL_N);
#endif

}

        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



#define OBS 8
__attribute__((intel_reqd_sub_group_size(8)))
KERNEL(convolution)(
    __global INPUT0_TYPE* input,
    __global OUTPUT_TYPE* output,
    __global FILTER_TYPE* weights,
#if BIAS_TERM
    __global BIAS_TYPE* biases,
#endif
#if QUANTIZATION_TERM
    __global float* quantizations,
#endif
#if CALIBRATION_TERM
    __global float* calibrations,
#endif
    uint split_idx)
{
    const uint f_pack = (get_group_id(0) * 32) % OUTPUT_FEATURE_NUM;
    const uint b = (get_group_id(0) * 32) / OUTPUT_FEATURE_NUM;

    const uint x = get_group_id(1) * OBS;
    const uint y = get_group_id(2);

    int4 dotProd[OBS] = { 0 };

    const int input_x = x * STRIDE_SIZE_X - PADDING_SIZE_X;
    const int input_y = y * STRIDE_SIZE_Y - PADDING_SIZE_Y;

    const uint filter_offset = f_pack*FILTER_OFM_PITCH;
    const uint input_offset = b*INPUT0_BATCH_PITCH + INPUT0_OFFSET;

    for (uint j = 0; j < FILTER_SIZE_Y ; ++j)
    {
        const int input_offset_y = input_y + j;
        for (uint i = 0; i < FILTER_SIZE_X ; ++i)
        {
            const int input_offset_x = input_x + i + STRIDE_SIZE_X * get_sub_group_local_id();
            uint input_idx = input_offset + (uint)input_offset_x*INPUT0_X_PITCH + (uint)input_offset_y*INPUT0_Y_PITCH;
            uint filter_idx = filter_offset + j*FILTER_Y_PITCH + i*FILTER_X_PITCH;

            char input_data[3];
            char2 _i = vload2(0, input + input_idx);
            input_data[0] = _i.s0;
            input_data[1] = _i.s1;
            input_data[2] = input[input_idx + 2];

            for (uint k = 0; k < FILTER_IFM_NUM; ++k)
            {
                char4 w_data = as_char4(intel_sub_group_block_read((const __global uint*)(weights + filter_idx)));
                for(uint r = 0; r < OBS; r++)
                {
                    char in = intel_sub_group_shuffle(input_data[k], r);
                    for(uint c = 0; c < 4; c++)
                    {
                        dotProd[r][c] += (int)in * (int)w_data[c];
                    }
                }
                filter_idx += FILTER_IFM_PITCH;
            }
        }
    }


const uint dst_index = GET_DATA_FS_BS_YX_BSV4_FSV32_INDEX(OUTPUT, b, f_pack, y, x + get_sub_group_local_id());
const uint _f_idx = f_pack + get_sub_group_local_id() * 4;
float4 quants = vload4(0, quantizations + _f_idx );
float4 calibs = vload4(0, calibrations + _f_idx );
float4 bias = vload4(0, biases + _f_idx );
for(uint r = 0; r < OBS; r++)
{
    char4 char_output;
    for(uint c = 0; c < 4; c++)
    {
        const uint f_idx = f_pack + get_sub_group_local_id() * 4 + c;
    #if BIAS_TERM
        const uint bias_index = f_idx;
    #if CALIBRATION_TERM
        dotProd[r][c] = (UNIT_TYPE)round(((float)dotProd[r][c] * quants[c] * I_QF + bias[c]) * calibs[c]);
    #else  // CALIBRATION_TERM
        dotProd[r][c] = (UNIT_TYPE)round(((float)dotProd[r][c] * quants[c] * I_QF + bias[c]) * O_QF);
    #endif // CALIBRATION_TERM
    #endif
        char_output[c] = ACTIVATION(convert_char(dotProd[r][c]), NL_M, NL_N);
    }
    const uint out_idx = intel_sub_group_shuffle(dst_index, r);
    intel_sub_group_block_write( (__global uint*)(output + out_idx) , as_uint(char_output));
}

}

            // ====================================================================
            // Load input:
            uint in_x = 0;
            unroll_for (; in_x + 2 <= INPUT_BLOCK_WIDTH; in_x += 2)
            {
                UNIT_TYPE4 tmp_read = UNIT_BLOCK_READ4(input, tmp_input_offset + in_x * FSV);
                in[in_x * FSV_PER_THREAD + 0] = tmp_read.s0;
                in[in_x * FSV_PER_THREAD + 1] = tmp_read.s1;
                in[in_x * FSV_PER_THREAD + 2] = tmp_read.s2;
                in[in_x * FSV_PER_THREAD + 3] = tmp_read.s3;
            }
            unroll_for (; in_x < INPUT_BLOCK_WIDTH; ++in_x)
            {
                UNIT_TYPE2 tmp_read = UNIT_BLOCK_READ2(input, tmp_input_offset + in_x * FSV);
                in[in_x * FSV_PER_THREAD + 0] = tmp_read.s0;
                in[in_x * FSV_PER_THREAD + 1] = tmp_read.s1;
            }
            // ====================================================================

            // Move temporary input offset to next row
            tmp_input_offset += DILATION_SIZE_Y * INPUT0_SIZE_X_WITH_PADDING * FSV;

            uint tmp_weight_offset = weight_offset;

            // ====================================================================
            // Perform convolutions with loaded input features
            unroll_for (uint ifii = 0; ifii < FSV; ++ifii)
            {

                unroll_for (uint f_x = 0; f_x < FILTER_SIZE_X; ++f_x)
                {
                    // Load weights
                    UNIT_TYPE2 tmp_read = UNIT_BLOCK_READ2(weights, tmp_weight_offset + f_x * FSV);
                    w[0] = tmp_read.s0;
                    w[1] = tmp_read.s1;

                    unroll_for (uint out_x = 0; out_x < OUTPUT_BLOCK_WIDTH; ++out_x)
                    {
                        unroll_for (uint out_f = 0; out_f < FSV_PER_THREAD; ++out_f)
                        {
                            UNIT_TYPE in_val = intel_sub_group_shuffle(
                                in[(out_x * STRIDE_SIZE_X + f_x * DILATION_SIZE_X) * FSV_PER_THREAD + ifii / SUB_GROUP_SIZE],
                                ifii % SUB_GROUP_SIZE);

                            const uint out_idx = out_x * FSV_PER_THREAD + out_f;
                            out[out_idx] = mad(in_val, w[out_f], out[out_idx]);
                        }
                    }

                }
                // Move temporary weight offset to next input feature
                tmp_weight_offset += FILTER_SIZE_Y * FILTER_SIZE_X * FSV;
            }
            // ====================================================================
            // Move weight offset to next row
            weight_offset += FILTER_SIZE_X * FSV;
        }
        // Move input offset to next input feature slice
        input_offset += INPUT0_BATCH_NUM * INPUT0_SIZE_X_WITH_PADDING * INPUT0_SIZE_Y_WITH_PADDING * FSV;
        // Move weight offset to next input feature slice (FSV input features)
        //  minus offset added by moving FILTER_SIZE_Y times to new row
        weight_offset += FSV * FILTER_SIZE_Y * FILTER_SIZE_X * FSV // FSV * input filter feature pitch
                       - FILTER_SIZE_Y * FILTER_SIZE_X * FSV;      // FILTER_SIZE_Y * filter y pitch
    }
    // ========================================================================
    // Bias
#if BIAS_TERM
    unroll_for (uint out_x = 0; out_x < OUTPUT_BLOCK_WIDTH; ++out_x)
    {
#   if BIAS_PER_OUTPUT
        // TODO Change bias format to use block reads
        unroll_for (uint out_f = 0; out_f < FSV_PER_THREAD; ++out_f)
        {
            const uint bias_index = (fs * FSV + out_f * SUB_GROUP_SIZE + sglid) * OUTPUT_SIZE_X * OUTPUT_SIZE_Y +
                                    or * OUTPUT_SIZE_X +
                                    (oc + out_x);
            out[out_x * FSV_PER_THREAD + out_f] += biases[bias_index];
        }
#   else // BIAS_PER_OUTPUT
        const uint bias_index = fs * FSV;
        UNIT_TYPE2 bias_read = UNIT_BLOCK_READ2(biases, bias_index);
        out[out_x * FSV_PER_THREAD + 0] += bias_read.s0;
        out[out_x * FSV_PER_THREAD + 1] += bias_read.s1;
#   endif // BIAS_PER_OUTPUT
    }
#endif // BIAS_TERM
    // ========================================================================

    // ========================================================================
    // Activation
    unroll_for (uint out_x = 0; out_x < OUTPUT_BLOCK_WIDTH; ++out_x)
    {
        unroll_for (uint out_f = 0; out_f < FSV_PER_THREAD; ++out_f)
        {
            const uint out_idx = out_x * FSV_PER_THREAD + out_f;
            out[out_idx] = ACTIVATION(out[out_idx], NL_M, NL_N);
        }
    }
    // ========================================================================

    // ========================================================================
    // Store results:
    const uint pad_before_fs = (OUTPUT_PAD_BEFORE_FEATURE_NUM / FSV);

    uint output_offset = 0;
    output_offset += (oc + OUTPUT_PAD_BEFORE_SIZE_X) * FSV;
    output_offset += (or + OUTPUT_PAD_BEFORE_SIZE_Y) * FSV * OUTPUT_SIZE_X_WITH_PADDING;
    output_offset += b  * FSV * OUTPUT_SIZE_X_WITH_PADDING * OUTPUT_SIZE_Y_WITH_PADDING;
    output_offset += (pad_before_fs + fs) * FSV * OUTPUT_SIZE_X_WITH_PADDING * OUTPUT_SIZE_Y_WITH_PADDING * OUTPUT_BATCH_NUM;

    const bool full_f = OUTPUT_FEATURE_NUM % FSV == 0 || fs * FSV + FSV <= OUTPUT_FEATURE_NUM;
    const bool full_x = OUTPUT_SIZE_X % OUTPUT_BLOCK_WIDTH == 0 || oc + OUTPUT_BLOCK_WIDTH <= OUTPUT_SIZE_X;

    if (full_f && full_x)
    {
        // Case without bounds checking
        unroll_for (uint out_x = 0; out_x < OUTPUT_BLOCK_WIDTH; ++out_x)
        {
            UNIT_TYPE2 tmp_write = (UNIT_TYPE2)(out[out_x * FSV_PER_THREAD + 0],
                                                out[out_x * FSV_PER_THREAD + 1]);
            UNIT_BLOCK_WRITE2(output, output_offset, tmp_write);
            output_offset += FSV;
        }
    }
    else
    {
        unroll_for (uint out_x = 0; out_x < OUTPUT_BLOCK_WIDTH; ++out_x)
        {
            unroll_for (uint out_f = 0; out_f < FSV_PER_THREAD; ++out_f)
            {
                if (oc + out_x < OUTPUT_SIZE_X && fs * FSV + sglid + out_f * SUB_GROUP_SIZE < OUTPUT_FEATURE_NUM)
                {
                    output[output_offset + sglid] = out[out_x * FSV_PER_THREAD + out_f];
                }
                output_offset += SUB_GROUP_SIZE;
            }
        }
    }
    // ========================================================================
}

#undef unroll_for

#undef INPUT0_SIZE_X_WITH_PADDING
#undef INPUT0_SIZE_Y_WITH_PADDING

#undef OUTPUT_SIZE_X_WITH_PADDING
#undef OUTPUT_SIZE_Y_WITH_PADDING

// Copyright (c) 2019 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)

// Copyright (c) 2019 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


#ifndef UNIT_TYPE
#error Unit type not defined.
#endif

#if UNIT_TYPE_SIZE == 2
// 2 byte data type case (ex. half)
#define UNIT_BLOCK_RW_TYPE ushort
#define UNIT_BLOCK_READ_FUNC intel_sub_group_block_read_us
#define UNIT_BLOCK_WRITE_FUNC intel_sub_group_block_write_us
#elif UNIT_TYPE_SIZE == 4
// 4 byte data type case (ex. float)
#define UNIT_BLOCK_RW_TYPE uint
#define UNIT_BLOCK_READ_FUNC intel_sub_group_block_read
#define UNIT_BLOCK_WRITE_FUNC intel_sub_group_block_write
#else
#error Unsupported unit type for block read/write.
#endif

#define UNIT_TYPE2 MAKE_VECTOR_TYPE(UNIT_TYPE, 2)
#define UNIT_TYPE4 MAKE_VECTOR_TYPE(UNIT_TYPE, 4)
#define UNIT_TYPE8 MAKE_VECTOR_TYPE(UNIT_TYPE, 8)

#define UNIT_BLOCK_RW_TYPE2 MAKE_VECTOR_TYPE(UNIT_BLOCK_RW_TYPE, 2)
#define UNIT_BLOCK_RW_TYPE4 MAKE_VECTOR_TYPE(UNIT_BLOCK_RW_TYPE, 4)
#define UNIT_BLOCK_RW_TYPE8 MAKE_VECTOR_TYPE(UNIT_BLOCK_RW_TYPE, 8)

#define AS_TYPE(type, val) CAT(as_, type)(val)

#define UNIT_BLOCK_READ_FUNC2 CAT(UNIT_BLOCK_READ_FUNC, 2)
#define UNIT_BLOCK_READ_FUNC4 CAT(UNIT_BLOCK_READ_FUNC, 4)
#define UNIT_BLOCK_READ_FUNC8 CAT(UNIT_BLOCK_READ_FUNC, 8)

#define UNIT_BLOCK_WRITE_FUNC2 CAT(UNIT_BLOCK_WRITE_FUNC, 2)
#define UNIT_BLOCK_WRITE_FUNC4 CAT(UNIT_BLOCK_WRITE_FUNC, 4)
#define UNIT_BLOCK_WRITE_FUNC8 CAT(UNIT_BLOCK_WRITE_FUNC, 8)

#define UNIT_BLOCK_READ(ptr, offset)  AS_TYPE(UNIT_TYPE,  UNIT_BLOCK_READ_FUNC( (const __global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset)))
#define UNIT_BLOCK_READ2(ptr, offset) AS_TYPE(UNIT_TYPE2, UNIT_BLOCK_READ_FUNC2((const __global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset)))
#define UNIT_BLOCK_READ4(ptr, offset) AS_TYPE(UNIT_TYPE4, UNIT_BLOCK_READ_FUNC4((const __global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset)))
#define UNIT_BLOCK_READ8(ptr, offset) AS_TYPE(UNIT_TYPE8, UNIT_BLOCK_READ_FUNC8((const __global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset)))

#define UNIT_BLOCK_WRITE(ptr, offset, val)  UNIT_BLOCK_WRITE_FUNC( (__global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset), AS_TYPE(UNIT_BLOCK_RW_TYPE,  val))
#define UNIT_BLOCK_WRITE2(ptr, offset, val) UNIT_BLOCK_WRITE_FUNC2((__global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset), AS_TYPE(UNIT_BLOCK_RW_TYPE2, val))
#define UNIT_BLOCK_WRITE4(ptr, offset, val) UNIT_BLOCK_WRITE_FUNC4((__global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset), AS_TYPE(UNIT_BLOCK_RW_TYPE4, val))
#define UNIT_BLOCK_WRITE8(ptr, offset, val) UNIT_BLOCK_WRITE_FUNC8((__global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset), AS_TYPE(UNIT_BLOCK_RW_TYPE8, val))


#define unroll_for __attribute__((opencl_unroll_hint)) for

#define INPUT0_SIZE_X_WITH_PADDING (INPUT0_PAD_BEFORE_SIZE_X + INPUT0_SIZE_X + INPUT0_PAD_AFTER_SIZE_X)
#define INPUT0_SIZE_Y_WITH_PADDING (INPUT0_PAD_BEFORE_SIZE_Y + INPUT0_SIZE_Y + INPUT0_PAD_AFTER_SIZE_Y)

#define OUTPUT_SIZE_X_WITH_PADDING (OUTPUT_PAD_BEFORE_SIZE_X + OUTPUT_SIZE_X + OUTPUT_PAD_AFTER_SIZE_X)
#define OUTPUT_SIZE_Y_WITH_PADDING (OUTPUT_PAD_BEFORE_SIZE_Y + OUTPUT_SIZE_Y + OUTPUT_PAD_AFTER_SIZE_Y)

// In some cases input padding may be bigger than needed, those variables describe the offset into padding.
#define INPUT0_PADDING_OFFSET_SIZE_X (INPUT0_PAD_BEFORE_SIZE_X - PADDING_SIZE_X)
#define INPUT0_PADDING_OFFSET_SIZE_Y (INPUT0_PAD_BEFORE_SIZE_Y - PADDING_SIZE_Y)

// ======================================================================================
// Required JIT definitions:
// --------------------------------------------------------------------------------------
// SUB_GROUP_SIZE     - [int] sub-group/simd size; limited to 16
// FSV                - [int] feature slice size; limted to 32
// FSV_PER_THREAD     - [int] number of features from slice per thread;
//                            must be equal FSV / SUB_GROUP_SIZE
// OUTPUT_BLOCK_WIDTH - [int] number of elements calculated in x dimension by one thread
// INPUT_BLOCK_WIDTH  - [int] number of continous input elements to calculate output
// ======================================================================================


__attribute__((intel_reqd_sub_group_size(SUB_GROUP_SIZE)))
__attribute__((reqd_work_group_size(1, 1, SUB_GROUP_SIZE)))
KERNEL(convolution_gpu_fs_byx_fsv32)(
    __global UNIT_TYPE* input,
    __global UNIT_TYPE* output,
    __global UNIT_TYPE* weights,
#if BIAS_TERM
    __global UNIT_TYPE* biases,
#endif
    int split_idx)
{
    uint oc = get_global_id(0) * OUTPUT_BLOCK_WIDTH;
    uint or = get_global_id(1);
    uint fs_b_id = get_group_id(2);
    uint sglid = get_sub_group_local_id();

    uint fs = fs_b_id / INPUT0_BATCH_NUM;
    uint b = fs_b_id - fs * INPUT0_BATCH_NUM;

    UNIT_TYPE in[INPUT_BLOCK_WIDTH * FSV_PER_THREAD];
    UNIT_TYPE w[FSV_PER_THREAD];
    UNIT_TYPE out[OUTPUT_BLOCK_WIDTH * FSV_PER_THREAD];

    for (uint out_i = 0; out_i < OUTPUT_BLOCK_WIDTH * FSV_PER_THREAD; ++out_i)
    {
        out[out_i] = UNIT_VAL_ZERO;
    }

    uint input_offset = 0;
    input_offset += (oc * STRIDE_SIZE_X + INPUT0_PADDING_OFFSET_SIZE_X) * FSV;
    input_offset += (or * STRIDE_SIZE_Y + INPUT0_PADDING_OFFSET_SIZE_Y) * INPUT0_SIZE_X_WITH_PADDING * FSV;
    input_offset += b * INPUT0_SIZE_X_WITH_PADDING * INPUT0_SIZE_Y_WITH_PADDING * FSV;

    uint weight_offset = 0;
    weight_offset += fs * FILTER_SIZE_X * FILTER_SIZE_Y * FILTER_IFM_NUM * FSV;

    for (uint ifi_32 = 0; ifi_32 < (FILTER_IFM_NUM + FSV - 1) / FSV; ++ifi_32)
    {

        uint tmp_input_offset = input_offset;
        for (uint in_y = 0; in_y < FILTER_SIZE_Y; ++in_y)
        {
            w[wi * FSV_PER_THREAD + 0] = tmp_read.s0;
            w[wi * FSV_PER_THREAD + 1] = tmp_read.s1;
            w[wi * FSV_PER_THREAD + 2] = tmp_read.s2;
            w[wi * FSV_PER_THREAD + 3] = tmp_read.s3;
        }
        // Move weight offset by FSV output features x FSV input features
        weight_offset += FSV * FSV;
        // ========================================================================

        uint tmp_input_offset = input_offset;
        // ========================================================================
        // Convolution across output block
        unroll_for (uint out_y = 0; out_y < OUTPUT_BLOCK_HEIGHT; ++out_y)
        {
            unroll_for (uint out_x = 0; out_x < OUTPUT_BLOCK_WIDTH; ++out_x)
            {
                // Load input
                UNIT_TYPE2 input_read = UNIT_BLOCK_READ2(input, tmp_input_offset + out_x * STRIDE_SIZE_X * FSV);

                unroll_for (uint in_f = 0; in_f < FSV; ++in_f)
                {
                    unroll_for (uint out_f = 0; out_f < FSV_PER_THREAD; ++out_f)
                    {
                        UNIT_TYPE in_val = intel_sub_group_shuffle(input_read[in_f / SUB_GROUP_SIZE], in_f % SUB_GROUP_SIZE);

                        const uint out_idx = out_y * OUTPUT_BLOCK_WIDTH * FSV_PER_THREAD + out_x * FSV_PER_THREAD + out_f;
                        out[out_idx] = mad(w[in_f * FSV_PER_THREAD + out_f], in_val, out[out_idx]);
                    }
                }
            }
            // Move temporary input offset to next strided row
            tmp_input_offset += INPUT0_SIZE_X_WITH_PADDING * FSV * STRIDE_SIZE_Y;
        }
        // ========================================================================
        // Move input offset to next input feature slice
        input_offset += INPUT0_BATCH_NUM * INPUT0_SIZE_X_WITH_PADDING * INPUT0_SIZE_Y_WITH_PADDING * FSV;

    }
    // ========================================================================
    // Bias
#if BIAS_TERM
    unroll_for (uint out_y = 0; out_y < OUTPUT_BLOCK_HEIGHT; ++out_y)
    {
        unroll_for (uint out_x = 0; out_x < OUTPUT_BLOCK_WIDTH; ++out_x)
        {
#   if BIAS_PER_OUTPUT
        // TODO Change bias format to use block reads
            unroll_for (uint out_f = 0; out_f < FSV_PER_THREAD; ++out_f)
            {
                const uint bias_index = (fs * FSV + out_f * SUB_GROUP_SIZE + sglid) * OUTPUT_SIZE_X * OUTPUT_SIZE_Y +
                                        (or + out_y) * OUTPUT_SIZE_X +
                                        (oc + out_x);
                out[out_y * FSV_PER_THREAD * OUTPUT_BLOCK_WIDTH + out_x * FSV_PER_THREAD + out_f] += biases[bias_index];
            }
#   else // BIAS_PER_OUTPUT
            const uint bias_index = fs * FSV;
            UNIT_TYPE2 bias_read = UNIT_BLOCK_READ2(biases, bias_index);
            out[out_y * FSV_PER_THREAD * OUTPUT_BLOCK_WIDTH + out_x * FSV_PER_THREAD + 0] += bias_read.s0;
            out[out_y * FSV_PER_THREAD * OUTPUT_BLOCK_WIDTH + out_x * FSV_PER_THREAD + 1] += bias_read.s1;
#   endif // BIAS_PER_OUTPUT
        }
    }
#endif // BIAS_TERM
    // ========================================================================

    // ========================================================================
    // Activation
    unroll_for (uint out_y = 0; out_y < OUTPUT_BLOCK_HEIGHT; ++out_y)
    {
        unroll_for (uint out_x = 0; out_x < OUTPUT_BLOCK_WIDTH; ++out_x)
        {
            unroll_for (uint out_f = 0; out_f < FSV_PER_THREAD; ++out_f)
            {
                const uint out_idx = out_y * OUTPUT_BLOCK_WIDTH * FSV_PER_THREAD + out_x * FSV_PER_THREAD + out_f;
                out[out_idx] = ACTIVATION(out[out_idx], NL_M, NL_N);
            }
        }
    }
    // ========================================================================

    // ========================================================================
    // Store results:
    const uint pad_before_fs = (OUTPUT_PAD_BEFORE_FEATURE_NUM / FSV);
    uint output_offset = 0;
    output_offset += (oc + OUTPUT_PAD_BEFORE_SIZE_X) * FSV;
    output_offset += (or + OUTPUT_PAD_BEFORE_SIZE_Y) * FSV * OUTPUT_SIZE_X_WITH_PADDING;
    output_offset += b  * FSV * OUTPUT_SIZE_X_WITH_PADDING * OUTPUT_SIZE_Y_WITH_PADDING;
    output_offset += (pad_before_fs + fs) * FSV * OUTPUT_SIZE_X_WITH_PADDING * OUTPUT_SIZE_Y_WITH_PADDING * OUTPUT_BATCH_NUM;

    const bool full_f = OUTPUT_FEATURE_NUM % FSV == 0 || fs * FSV + FSV <= OUTPUT_FEATURE_NUM;
    const bool full_x = OUTPUT_SIZE_X % OUTPUT_BLOCK_WIDTH == 0 || oc + OUTPUT_BLOCK_WIDTH <= OUTPUT_SIZE_X;
    const bool full_y = OUTPUT_SIZE_Y % OUTPUT_BLOCK_HEIGHT == 0 || or + OUTPUT_BLOCK_HEIGHT <= OUTPUT_SIZE_Y;

    if (full_f && full_x && full_y)
    {
        // Case without bounds checking
        unroll_for (uint out_y = 0; out_y < OUTPUT_BLOCK_HEIGHT; ++out_y)
        {
            unroll_for (uint out_x = 0; out_x < OUTPUT_BLOCK_WIDTH; ++out_x)
            {
                UNIT_TYPE2 tmp_write = (UNIT_TYPE2)(out[out_y * OUTPUT_BLOCK_WIDTH * FSV_PER_THREAD + out_x * FSV_PER_THREAD + 0],
                                                    out[out_y * OUTPUT_BLOCK_WIDTH * FSV_PER_THREAD + out_x * FSV_PER_THREAD + 1]);

                UNIT_BLOCK_WRITE2(output, output_offset + out_x * FSV, tmp_write);
            }
            // Move output offset to next row
            output_offset += FSV * OUTPUT_SIZE_X_WITH_PADDING;
        }
    }
    else
    {
        unroll_for (uint out_y = 0; out_y < OUTPUT_BLOCK_HEIGHT; ++out_y)
        {
            unroll_for (uint out_x = 0; out_x < OUTPUT_BLOCK_WIDTH; ++out_x)
            {
                unroll_for (uint out_f = 0; out_f < FSV_PER_THREAD; ++out_f)
                {
                    if (oc + out_x < OUTPUT_SIZE_X
                    && or + out_y < OUTPUT_SIZE_Y
                    && fs * FSV + sglid +  out_f * SUB_GROUP_SIZE < OUTPUT_FEATURE_NUM)
                    {
                        output[output_offset + out_x * FSV + out_f * SUB_GROUP_SIZE + sglid] =
                            out[out_y * OUTPUT_BLOCK_WIDTH * FSV_PER_THREAD + out_x * FSV_PER_THREAD + out_f];
                    }
                }
            }
            // Move output offset to next row
            output_offset += FSV * OUTPUT_SIZE_X_WITH_PADDING;
        }
    }
    // ========================================================================
}

#undef unroll_for

#undef INPUT0_SIZE_X_WITH_PADDING
#undef INPUT0_SIZE_Y_WITH_PADDING

#undef OUTPUT_SIZE_X_WITH_PADDING
#undef OUTPUT_SIZE_Y_WITH_PADDING

// Copyright (c) 2019 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)

// Copyright (c) 2019 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


#ifndef UNIT_TYPE
#error Unit type not defined.
#endif

#if UNIT_TYPE_SIZE == 2
// 2 byte data type case (ex. half)
#define UNIT_BLOCK_RW_TYPE ushort
#define UNIT_BLOCK_READ_FUNC intel_sub_group_block_read_us
#define UNIT_BLOCK_WRITE_FUNC intel_sub_group_block_write_us
#elif UNIT_TYPE_SIZE == 4
// 4 byte data type case (ex. float)
#define UNIT_BLOCK_RW_TYPE uint
#define UNIT_BLOCK_READ_FUNC intel_sub_group_block_read
#define UNIT_BLOCK_WRITE_FUNC intel_sub_group_block_write
#else
#error Unsupported unit type for block read/write.
#endif

#define UNIT_TYPE2 MAKE_VECTOR_TYPE(UNIT_TYPE, 2)
#define UNIT_TYPE4 MAKE_VECTOR_TYPE(UNIT_TYPE, 4)
#define UNIT_TYPE8 MAKE_VECTOR_TYPE(UNIT_TYPE, 8)

#define UNIT_BLOCK_RW_TYPE2 MAKE_VECTOR_TYPE(UNIT_BLOCK_RW_TYPE, 2)
#define UNIT_BLOCK_RW_TYPE4 MAKE_VECTOR_TYPE(UNIT_BLOCK_RW_TYPE, 4)
#define UNIT_BLOCK_RW_TYPE8 MAKE_VECTOR_TYPE(UNIT_BLOCK_RW_TYPE, 8)

#define AS_TYPE(type, val) CAT(as_, type)(val)

#define UNIT_BLOCK_READ_FUNC2 CAT(UNIT_BLOCK_READ_FUNC, 2)
#define UNIT_BLOCK_READ_FUNC4 CAT(UNIT_BLOCK_READ_FUNC, 4)
#define UNIT_BLOCK_READ_FUNC8 CAT(UNIT_BLOCK_READ_FUNC, 8)

#define UNIT_BLOCK_WRITE_FUNC2 CAT(UNIT_BLOCK_WRITE_FUNC, 2)
#define UNIT_BLOCK_WRITE_FUNC4 CAT(UNIT_BLOCK_WRITE_FUNC, 4)
#define UNIT_BLOCK_WRITE_FUNC8 CAT(UNIT_BLOCK_WRITE_FUNC, 8)

#define UNIT_BLOCK_READ(ptr, offset)  AS_TYPE(UNIT_TYPE,  UNIT_BLOCK_READ_FUNC( (const __global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset)))
#define UNIT_BLOCK_READ2(ptr, offset) AS_TYPE(UNIT_TYPE2, UNIT_BLOCK_READ_FUNC2((const __global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset)))
#define UNIT_BLOCK_READ4(ptr, offset) AS_TYPE(UNIT_TYPE4, UNIT_BLOCK_READ_FUNC4((const __global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset)))
#define UNIT_BLOCK_READ8(ptr, offset) AS_TYPE(UNIT_TYPE8, UNIT_BLOCK_READ_FUNC8((const __global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset)))

#define UNIT_BLOCK_WRITE(ptr, offset, val)  UNIT_BLOCK_WRITE_FUNC( (__global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset), AS_TYPE(UNIT_BLOCK_RW_TYPE,  val))
#define UNIT_BLOCK_WRITE2(ptr, offset, val) UNIT_BLOCK_WRITE_FUNC2((__global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset), AS_TYPE(UNIT_BLOCK_RW_TYPE2, val))
#define UNIT_BLOCK_WRITE4(ptr, offset, val) UNIT_BLOCK_WRITE_FUNC4((__global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset), AS_TYPE(UNIT_BLOCK_RW_TYPE4, val))
#define UNIT_BLOCK_WRITE8(ptr, offset, val) UNIT_BLOCK_WRITE_FUNC8((__global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset), AS_TYPE(UNIT_BLOCK_RW_TYPE8, val))


#define unroll_for __attribute__((opencl_unroll_hint)) for

#define INPUT0_SIZE_X_WITH_PADDING (INPUT0_PAD_BEFORE_SIZE_X + INPUT0_SIZE_X + INPUT0_PAD_AFTER_SIZE_X)
#define INPUT0_SIZE_Y_WITH_PADDING (INPUT0_PAD_BEFORE_SIZE_Y + INPUT0_SIZE_Y + INPUT0_PAD_AFTER_SIZE_Y)

#define OUTPUT_SIZE_X_WITH_PADDING (OUTPUT_PAD_BEFORE_SIZE_X + OUTPUT_SIZE_X + OUTPUT_PAD_AFTER_SIZE_X)
#define OUTPUT_SIZE_Y_WITH_PADDING (OUTPUT_PAD_BEFORE_SIZE_Y + OUTPUT_SIZE_Y + OUTPUT_PAD_AFTER_SIZE_Y)

// In some cases input padding may be bigger than needed, those variables describe the offset into padding.
#define INPUT0_PADDING_OFFSET_SIZE_X (INPUT0_PAD_BEFORE_SIZE_X - PADDING_SIZE_X)
#define INPUT0_PADDING_OFFSET_SIZE_Y (INPUT0_PAD_BEFORE_SIZE_Y - PADDING_SIZE_Y)

// ======================================================================================
// Required JIT definitions:
// --------------------------------------------------------------------------------------
// SUB_GROUP_SIZE      - [int] sub-group/simd size; limited to 16
// FSV                 - [int] feature slice size; limted to 32
// FSV_PER_THREAD      - [int] number of features from slice per thread;
//                             must be equal FSV / SUB_GROUP_SIZE
// OUTPUT_BLOCK_WIDTH  - [int] number of elements calculated in x dimension by one thread
// OUTPUT_BLOCK_HEIGHT - [int] number of elements calculated in y dimension by one thread
// ======================================================================================

__attribute__((intel_reqd_sub_group_size(SUB_GROUP_SIZE)))
__attribute__((reqd_work_group_size(1, 1, SUB_GROUP_SIZE)))
KERNEL(convolution_gpu_fs_byx_fsv32_1x1)(
    __global UNIT_TYPE* input,
    __global UNIT_TYPE* output,
    __global UNIT_TYPE* weights,
#if BIAS_TERM
    __global UNIT_TYPE* biases,
#endif
    int split_idx)
{
    uint oc = get_global_id(0) * OUTPUT_BLOCK_WIDTH;
    uint or = get_global_id(1) * OUTPUT_BLOCK_HEIGHT;
    uint fs_b_id = get_group_id(2);
    uint sglid = get_sub_group_local_id();

    uint fs = fs_b_id / INPUT0_BATCH_NUM;
    uint b = fs_b_id - fs * INPUT0_BATCH_NUM;

    UNIT_TYPE in[FSV_PER_THREAD];
    UNIT_TYPE w[FSV * FSV_PER_THREAD];
    UNIT_TYPE out[OUTPUT_BLOCK_WIDTH * OUTPUT_BLOCK_HEIGHT * FSV_PER_THREAD];

    for (uint out_i = 0; out_i < OUTPUT_BLOCK_WIDTH * OUTPUT_BLOCK_HEIGHT * FSV_PER_THREAD; ++out_i)
    {
        out[out_i] = UNIT_VAL_ZERO;
    }

    uint input_offset = 0;
    input_offset += (oc * STRIDE_SIZE_X + INPUT0_PADDING_OFFSET_SIZE_X) * FSV;
    input_offset += (or * STRIDE_SIZE_Y + INPUT0_PADDING_OFFSET_SIZE_Y) * INPUT0_SIZE_X_WITH_PADDING * FSV;
    input_offset += b * INPUT0_SIZE_X_WITH_PADDING * INPUT0_SIZE_Y_WITH_PADDING * FSV;

    uint weight_offset = 0;
    weight_offset += fs * FILTER_IFM_NUM * FSV;

    for (uint ifi_32 = 0; ifi_32 < (FILTER_IFM_NUM + FSV - 1) / FSV; ++ifi_32)
    {
        // ========================================================================
        // Load weights for all input features:
        unroll_for (uint wi = 0; wi + 2 <= FSV; wi += 2)
        {
            UNIT_TYPE4 tmp_read = UNIT_BLOCK_READ4(weights, weight_offset + wi * FSV);
#define MMAD_4x8(A, B, C) FUNC_CALL(mmad4x8)(A, B, C)
#define MMAD_8x8(A, B, C) FUNC_CALL(mmad8x8)(A, B, C)
#define SLM_BLOCK_WRITE_4(A, B) (FUNC_CALL(intel_sub_group_block_write_4)(A, B))
#define SLM_BLOCK_READ_4(A) (FUNC_CALL(intel_sub_group_block_read_uint4)(A))
#define SLM_BLOCK_READ_8(A) (FUNC_CALL(intel_sub_group_block_read_uint8)(A))


#define FILTER_IFM_MMAD_NUM ((FILTER_IFM_NUM + 31) / 32)
#define FILTER_OFM_MMAD_NUM ((FILTER_OFM_NUM + 7) / 8)
#define FILTER_IFM_ALIGNED (FILTER_IFM_MMAD_NUM * 32)
#define FILTER_OFM_ALIGNED (FILTER_OFM_MMAD_NUM * 8)

__attribute__((intel_reqd_sub_group_size(SUB_GROUP_SIZE)))
KERNEL(convolution_MMAD)(
    __global INPUT0_TYPE* input,
    __global OUTPUT_TYPE* output,
    __global FILTER_TYPE* weights,
#if BIAS_TERM
    __global BIAS_TYPE* biases,
#endif
#if QUANTIZATION_TERM
    const __global float* quantizations,
#endif
#if CALIBRATION_TERM
    const __global float* calibrations,
#endif
    uint split_idx)
{
    const uint x = get_global_id(0);
    const uint y = get_global_id(1);
#if OUTPUT_BATCH_NUM == 1
    const uint f = get_global_id(2);
    const uint b = 0;
#else
    const uint f = get_global_id(2) % FILTER_OFM_ALIGNED;
    const uint b = get_global_id(2) / FILTER_OFM_ALIGNED;
#endif

#if QUANTIZATION_TERM
    int dotProd = 0;
#else
    UNIT_TYPE dotProd = UNIT_VAL_ZERO;
#endif

    const int input_x = x * STRIDE_SIZE_X - PADDING_SIZE_X;
    const int input_y = y * STRIDE_SIZE_Y - PADDING_SIZE_Y;

    const uint in_split_offset = split_idx * INPUT0_FEATURE_PITCH * FILTER_IFM_NUM;

    const uint filter_offset = (get_group_id(2) % FILTER_OFM_MMAD_NUM) * FILTER_OFM_BLOCK_PITCH;
    const uint input_offset = b*INPUT0_BATCH_PITCH + INPUT0_OFFSET + in_split_offset;

    for (uint k = 0; k < FILTER_IFM_MMAD_NUM; ++k)
    {
        for (uint j = 0; j < FILTER_SIZE_Y ; ++j)
        {
            const int input_offset_y = input_y + j * DILATION_SIZE_Y;
            const bool zero_y = input_offset_y >= INPUT0_SIZE_Y || input_offset_y < 0;

            if(!zero_y)
            {
                for (uint i = 0; i < FILTER_SIZE_X ; ++i)
                {
                    const int input_offset_x = input_x + i * DILATION_SIZE_X;
                    const bool zero_x = input_offset_x >= INPUT0_SIZE_X || input_offset_x < 0;

                    if(!zero_x)
                    {
                        uint input_idx = input_offset + (uint)input_offset_x*INPUT0_X_PITCH + (uint)input_offset_y*INPUT0_Y_PITCH + k*32;
                        uint filter_idx = filter_offset + k*FILTER_Y_PITCH * FILTER_SIZE_Y + j*FILTER_Y_PITCH + i*FILTER_X_PITCH;

						int input_data = as_int(intel_sub_group_block_read((const __global uint*)(input + input_idx)));
						int8 activations;  //activations of all lanes
						activations.s0 = sub_group_broadcast(input_data, 0);
                        activations.s1 = sub_group_broadcast(input_data, 1);
                        activations.s2 = sub_group_broadcast(input_data, 2);
                        activations.s3 = sub_group_broadcast(input_data, 3);
                        activations.s4 = sub_group_broadcast(input_data, 4);
                        activations.s5 = sub_group_broadcast(input_data, 5);
                        activations.s6 = sub_group_broadcast(input_data, 6);
                        activations.s7 = sub_group_broadcast(input_data, 7);

						int8 weights_data = as_int8(intel_sub_group_block_read8((const __global uint*)(weights + filter_idx)));

						dotProd = MMAD_8(activations, weights_data, dotProd);
                    }
                }
            }
        }
    }

#if BIAS_TERM
#if   BIAS_PER_OUTPUT
    const uint bias_index = GET_DATA_INDEX(BIAS, b, f, y, x);
#elif BIAS_PER_OFM
    const uint bias_index = f;
#endif
#if QUANTIZATION_TERM
#if CALIBRATION_TERM
    dotProd = (UNIT_TYPE)round(((float)dotProd * quantizations[f] * I_QF + biases[bias_index]) * calibrations[f]);
#else  // CALIBRATION_TERM
    dotProd = (UNIT_TYPE)round(((float)dotProd * quantizations[f] * I_QF + biases[bias_index]) * O_QF);
#endif // CALIBRATION_TERM
#else // QUANTIZATION_TERM
    dotProd += (UNIT_TYPE)biases[bias_index];
#endif // QUANTIZATION_TERM
#endif // BIAS_TERM

    const uint out_split_offset = split_idx * OUTPUT_FEATURE_PITCH * OUTPUT_FEATURE_NUM;
    const uint dst_index = GET_DATA_INDEX(OUTPUT, b, f, y, x) + out_split_offset;
#if QUANTIZATION_TERM
    output[dst_index] = ACTIVATION(convert_char(dotProd), NL_M, NL_N);
#else
    output[dst_index] = ACTIVATION(dotProd, NL_M, NL_N);
#endif
}

#undef FILTER_IFM_MMAD_NUM
#undef FILTER_OFM_MMAD_NUM
#undef FILTER_IFM_ALIGNED
#undef FILTER_OFM_ALIGNED

    const uint numElements32x32TileB = (MATRIX_SMALL_K * SG_TILE_N) / sizeof(int8);
    const uint numElements32x8TileB = numElements32x32TileB / 4;
    const uint l_offsetTileB = numElements32x32TileB * sg_local_idX;
    const uint l_offsetTileB_col0 = l_offsetTileB + sg_tid;
    const uint l_offsetTileB_col1 = l_offsetTileB + 1 * numElements32x8TileB + sg_tid;
    const uint l_offsetTileB_col2 = l_offsetTileB + 2 * numElements32x8TileB + sg_tid;
    const uint l_offsetTileB_col3 = l_offsetTileB + 3 * numElements32x8TileB + sg_tid;

    // Global indices
    uint g_idxA[2];
    uint g_idxB[2];
#ifdef TILED_GLOBAL_LAYOUT // 32-row major (matrixA) and 32-col major (matrixB)
    g_idxA[0] = ((MATRIX_SMALL_K / sizeof(int4)) * WG_TILE_M) * get_group_id(DIM_Y) + l_tid;
    g_idxB[0] = ((MATRIX_SMALL_K / sizeof(int4)) * WG_TILE_N) * get_group_id(DIM_X) + l_tid;
    g_idxA[1] = g_idxA[0] + l_groupSize;
    g_idxB[1] = g_idxB[0] + l_groupSize;
#else // Row (matrixA) and Col (matrixB) major layout
    g_idxA[0] = WG_TILE_M * (MATRIX_K / sizeof(int4)) * get_group_id(DIM_Y) +
               (l_tid / 2) * (MATRIX_K / sizeof(int4)) + (l_tid % 2);
    g_idxB[0] = WG_TILE_N * (MATRIX_K / sizeof(int4)) * get_group_id(DIM_X) +
               (l_tid / 2) * (MATRIX_K / sizeof(int4)) + (l_tid % 2);
    g_idxA[1] = g_idxA[0] + (l_groupSize / 2) * (MATRIX_K / sizeof(int4));
    g_idxB[1] = g_idxB[0] + (l_groupSize / 2) * (MATRIX_K / sizeof(int4));
#endif

    // Initial SLM setup
    {
        l_workGroupTileA_int4[l_tid] = g_matrixA[g_idxA[0]];
        l_workGroupTileB_int4[l_tid] = g_matrixB[g_idxB[0]];
        l_workGroupTileA_int4[l_tid + l_groupSize] = g_matrixA[g_idxA[1]];
        l_workGroupTileB_int4[l_tid + l_groupSize] = g_matrixB[g_idxB[1]];

#ifdef TILED_GLOBAL_LAYOUT
        g_idxA[0] += MATRIX_M * MATRIX_SMALL_K / sizeof(int4);
        g_idxB[0] += MATRIX_N * MATRIX_SMALL_K / sizeof(int4);
        g_idxA[1] += MATRIX_M * MATRIX_SMALL_K / sizeof(int4);
        g_idxB[1] += MATRIX_N * MATRIX_SMALL_K / sizeof(int4);
#else
        g_idxA[0] += MATRIX_SMALL_K / sizeof(int4);
        g_idxB[0] += MATRIX_SMALL_K / sizeof(int4);
        g_idxA[1] += MATRIX_SMALL_K / sizeof(int4);
        g_idxB[1] += MATRIX_SMALL_K / sizeof(int4);
#endif

        barrier(CLK_LOCAL_MEM_FENCE);
    }

    int4 hdcReadValueA[2];
    int4 hdcReadValueB[2];

    __attribute__((opencl_unroll_hint(1)))
    for (uint k = 0; k < (MATRIX_K / MATRIX_SMALL_K) - 1; k++)
    {
        /*
         * SLM setup - HDC read only
         */
        // Overlap HDC reads with mmad compute
        hdcReadValueA[0] = g_matrixA[g_idxA[0]];
        hdcReadValueB[0] = g_matrixB[g_idxB[0]];
        hdcReadValueA[1] = g_matrixA[g_idxA[1]];
        hdcReadValueB[1] = g_matrixB[g_idxB[1]];

#ifdef TILED_GLOBAL_LAYOUT
        g_idxA[0] += MATRIX_M * MATRIX_SMALL_K / sizeof(int4);
        g_idxB[0] += MATRIX_N * MATRIX_SMALL_K / sizeof(int4);
        g_idxA[1] += MATRIX_M * MATRIX_SMALL_K / sizeof(int4);
        g_idxB[1] += MATRIX_N * MATRIX_SMALL_K / sizeof(int4);
#else
        g_idxA[0] += MATRIX_SMALL_K / sizeof(int4);
        g_idxB[0] += MATRIX_SMALL_K / sizeof(int4);
        g_idxA[1] += MATRIX_SMALL_K / sizeof(int4);
        g_idxB[1] += MATRIX_SMALL_K / sizeof(int4);
#endif

        /*
         * mmad compute
         */
        FUNC_CALL(mmad_32x32_int8)(&l_workGroupTileA_uint[(k % 2) * l_pingPongOffsetA_uint],
                                l_offsetTileA, &l_workGroupTileB[(k % 2) * l_pingPongOffsetB_int8],
                                l_offsetTileB_col0, l_offsetTileB_col1, l_offsetTileB_col2,
                                l_offsetTileB_col3, rowA, colB, regC);

        /*
         * SLM setup - SLM write only
         */
        l_workGroupTileA_int4[((k + 1) % 2 * l_pingPongOffsetA_int4) + l_tid] = hdcReadValueA[0];
        l_workGroupTileB_int4[((k + 1) % 2 * l_pingPongOffsetB_int4) + l_tid] = hdcReadValueB[0];
        l_workGroupTileA_int4[((k + 1) % 2 * l_pingPongOffsetA_int4) + l_tid + l_groupSize] = hdcReadValueA[1];
        l_workGroupTileB_int4[((k + 1) % 2 * l_pingPongOffsetB_int4) + l_tid + l_groupSize] = hdcReadValueB[1];

        barrier(CLK_LOCAL_MEM_FENCE);
    } // main outer loop

    /*
     * Last mmad compute iteration (avoids branching in main loop)
     */

    FUNC_CALL(mmad_32x32_int8)(
        &l_workGroupTileA_uint[(((MATRIX_K / MATRIX_SMALL_K) - 1) % 2) * l_pingPongOffsetA_uint],
        l_offsetTileA,
        &l_workGroupTileB[(((MATRIX_K / MATRIX_SMALL_K) - 1) % 2) * l_pingPongOffsetB_int8],
        l_offsetTileB_col0, l_offsetTileB_col1, l_offsetTileB_col2, l_offsetTileB_col3, rowA, colB,
        regC);

#ifdef OUTPUT_TILED_GLOBAL_LAYOUT
    // Write out in swizzled manner after quantizing
    __global uchar* g_outC_uchar = (__global uchar*)g_outC;
    uint cOffset = sg_global_idX * (MATRIX_M * SG_TILE_N / sizeof(uchar)) +
                   sg_global_idY * (SG_TILE_M * SG_TILE_N / sizeof(uchar));

    uchar16 regC_uchar16;
    uint offset_uc16 = 0;

    const uint workgroup_id_x = get_group_id(0);
    uint feature_off = 32*(sub_group_id % (WG_TILE_N / 32)) + WG_TILE_N*workgroup_id_x; //=32*{0,1,2,3} + WG_TILE_N * workgroup_id_x
    uint feature = get_sub_group_local_id()*4 + feature_off;

    float4 quant_f = vload4(0, quantizations + feature);
    float4 bias_f = vload4(0, biases + feature);
    float4 calib_f = vload4(0, calibrations + feature);

#if MMAD_SUPPORTED == 1
    __attribute__((opencl_unroll_hint( SG_TILE_M / (sizeof(int8) / sizeof(int)) )))
#endif
    for (uint i = 0; i < SG_TILE_M / (sizeof(int8) / sizeof(int)); i++)
    {
        uint padded_offset = FUNC_CALL(calculate_output_offset_to_account_padding)(cOffset);
        {
            // B0..3, F0..31
            QUANTIZATION(0);
        }

        intel_sub_group_block_write4((__global uint*)(g_outC_uchar + padded_offset), as_uint4(regC_uchar16));
        cOffset += sizeof(uchar16) * SG_SIZE;

        // now we need to calculate again for other x
        padded_offset = FUNC_CALL(calculate_output_offset_to_account_padding)(cOffset);
        {
            // B0..3, F0..31
            QUANTIZATION(4);
        }

        intel_sub_group_block_write4( (__global uint*)(g_outC_uchar + padded_offset), as_uint4(regC_uchar16) );
        cOffset += sizeof(uchar16) * SG_SIZE;
    }
#else
    // Write final accumulated values
    uint cOffset = sg_global_idX * ((MATRIX_M / 8) * SG_TILE_N) + sg_global_idY * (SG_TILE_M / 8) +
                   sg_tid * (MATRIX_M / 8);
    __attribute__((opencl_unroll_hint(SIMD_LANE_N)))
    for (uint i = 0; i < (SIMD_LANE_N); ++i)
    {
        __attribute__((opencl_unroll_hint(SIMD_LANE_M / 8)))
        for (uint j = 0; j < (SIMD_LANE_M / 8); ++j)
        {
            g_matrixC[cOffset + j] = regC[i*(SIMD_LANE_M / 8) + j];
        }
        cOffset += SG_SIZE * (MATRIX_M / 8);
    }
#endif

}

#undef QUANTIZATION
#undef SCALE

#elif NO_QUANTIZATION

#define QUANTIZATION(idx) \
    regC_uchar16.s0 = convert_uchar_sat(regC[0 * 4 + i][idx]);\
    regC_uchar16.s1 = convert_uchar_sat(regC[1 * 4 + i][idx]);\
    regC_uchar16.s2 = convert_uchar_sat(regC[2 * 4 + i][idx]);\
    regC_uchar16.s3 = convert_uchar_sat(regC[3 * 4 + i][idx]);\
    \
    regC_uchar16.s4 = convert_uchar_sat(regC[0 * 4 + i][idx+1]);\
    regC_uchar16.s5 = convert_uchar_sat(regC[1 * 4 + i][idx+1]);\
    regC_uchar16.s6 = convert_uchar_sat(regC[2 * 4 + i][idx+1]);\
    regC_uchar16.s7 = convert_uchar_sat(regC[3 * 4 + i][idx+1]);\
    \
    regC_uchar16.s8 = convert_uchar_sat(regC[0 * 4 + i][idx+2]);\
    regC_uchar16.s9 = convert_uchar_sat(regC[1 * 4 + i][idx+2]);\
    regC_uchar16.sa = convert_uchar_sat(regC[2 * 4 + i][idx+2]);\
    regC_uchar16.sb = convert_uchar_sat(regC[3 * 4 + i][idx+2]);\
    \
    regC_uchar16.sc = convert_uchar_sat(regC[0 * 4 + i][idx+3]);\
    regC_uchar16.sd = convert_uchar_sat(regC[1 * 4 + i][idx+3]);\
    regC_uchar16.se = convert_uchar_sat(regC[2 * 4 + i][idx+3]);\
    regC_uchar16.sf = convert_uchar_sat(regC[3 * 4 + i][idx+3]);

#else

#define QUANTIZATION(idx) \
    regC_uchar16.s0 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[0 * 4 + i][idx]) * quant_f.s0 * I_QF + bias_f.s0) * calib_f.s0)), NL_M, NL_N));\
    regC_uchar16.s1 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[1 * 4 + i][idx]) * quant_f.s1 * I_QF + bias_f.s1) * calib_f.s1)), NL_M, NL_N));\
    regC_uchar16.s2 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[2 * 4 + i][idx]) * quant_f.s2 * I_QF + bias_f.s2) * calib_f.s2)), NL_M, NL_N));\
    regC_uchar16.s3 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[3 * 4 + i][idx]) * quant_f.s3 * I_QF + bias_f.s3) * calib_f.s3)), NL_M, NL_N));\
    \
    regC_uchar16.s4 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[0 * 4 + i][idx+1]) * quant_f.s0 * I_QF + bias_f.s0) * calib_f.s0)), NL_M, NL_N));\
    regC_uchar16.s5 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[1 * 4 + i][idx+1]) * quant_f.s1 * I_QF + bias_f.s1) * calib_f.s1)), NL_M, NL_N));\
    regC_uchar16.s6 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[2 * 4 + i][idx+1]) * quant_f.s2 * I_QF + bias_f.s2) * calib_f.s2)), NL_M, NL_N));\
    regC_uchar16.s7 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[3 * 4 + i][idx+1]) * quant_f.s3 * I_QF + bias_f.s3) * calib_f.s3)), NL_M, NL_N));\
    \
    regC_uchar16.s8 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[0 * 4 + i][idx+2]) * quant_f.s0 * I_QF + bias_f.s0) * calib_f.s0)), NL_M, NL_N));\
    regC_uchar16.s9 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[1 * 4 + i][idx+2]) * quant_f.s1 * I_QF + bias_f.s1) * calib_f.s1)), NL_M, NL_N));\
    regC_uchar16.sa = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[2 * 4 + i][idx+2]) * quant_f.s2 * I_QF + bias_f.s2) * calib_f.s2)), NL_M, NL_N));\
    regC_uchar16.sb = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[3 * 4 + i][idx+2]) * quant_f.s3 * I_QF + bias_f.s3) * calib_f.s3)), NL_M, NL_N));\
    \
    regC_uchar16.sc = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[0 * 4 + i][idx+3]) * quant_f.s0 * I_QF + bias_f.s0) * calib_f.s0)), NL_M, NL_N));\
    regC_uchar16.sd = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[1 * 4 + i][idx+3]) * quant_f.s1 * I_QF + bias_f.s1) * calib_f.s1)), NL_M, NL_N));\
    regC_uchar16.se = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[2 * 4 + i][idx+3]) * quant_f.s2 * I_QF + bias_f.s2) * calib_f.s2)), NL_M, NL_N));\
    regC_uchar16.sf = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[3 * 4 + i][idx+3]) * quant_f.s3 * I_QF + bias_f.s3) * calib_f.s3)), NL_M, NL_N));

#endif


inline uint FUNC(calculate_output_offset_to_account_padding)(uint cOffset)
{
#if OUT_WITH_PADDING == 1
    uint tmp_idx = cOffset;
    uint f_val_idx = tmp_idx % 32;
    tmp_idx /= 32;
    uint b_val_idx = tmp_idx % 4;
    tmp_idx /= 4;
    uint x_idx = tmp_idx % OUTPUT_SIZE_X;
    tmp_idx /= OUTPUT_SIZE_X;
    uint y_idx = tmp_idx % OUTPUT_SIZE_Y;
    tmp_idx /= OUTPUT_SIZE_Y;
    uint b_slice_idx = tmp_idx % (OUTPUT_BATCH_NUM / 4);
    tmp_idx /= (OUTPUT_BATCH_NUM / 4);
    uint f_slice_idx = tmp_idx % (OUTPUT_FEATURE_NUM / 32);

    uint padded_offset = f_slice_idx * OUT_F_BLOCK_PITCH;
    padded_offset += b_slice_idx * OUT_B_BLOCK_PITCH;
    padded_offset += y_idx * OUT_Y_PITCH;
    padded_offset += x_idx * OUT_X_PITCH;
    padded_offset += b_val_idx * 32;
    padded_offset += f_val_idx;
    padded_offset += OUT_OFFSET;

    return padded_offset;
#else
    return cOffset;
#endif
}

inline void FUNC(mmad_32x32_int8)(  __local uint* l_tileA, const uint l_offsetTileA,
                                    __local int8* l_tileB, const uint l_offsetTileB_col0,
                                    const uint l_offsetTileB_col1, const uint l_offsetTileB_col2,
                                    const uint l_offsetTileB_col3, int8* rowA, int8* colB,
                                    int8* regC)
{
    // Read tile A from SLM to regA
    uint l_offsetTileATemp = l_offsetTileA;
    __attribute__((opencl_unroll_hint(SG_TILE_M / 8)))
    for (uint j = 0; j < (SG_TILE_M / 8); ++j)
    {
        rowA[j] = as_int8(SLM_BLOCK_READ_8(&l_tileA[l_offsetTileATemp]));
        l_offsetTileATemp += 8 * SG_SIZE;
    }
    // Read tile B from SLM to regB and compute mmad
    colB[0] = l_tileB[l_offsetTileB_col0];
    colB[1] = l_tileB[l_offsetTileB_col1];
    __attribute__((opencl_unroll_hint(SG_TILE_M / 8)))
    for (uint j = 0; j < (SG_TILE_M / 8); ++j)
    {
        // Compute partial C
        regC[0*(SIMD_LANE_M / 8) + j] = MMAD_8x8( rowA[j], colB[0], regC[0*(SIMD_LANE_M / 8) + j]);
    }
    colB[0] = l_tileB[l_offsetTileB_col2];
    __attribute__((opencl_unroll_hint(SG_TILE_M / 8)))
    for (uint j = 0; j < (SG_TILE_M / 8); ++j)
    {
        // Compute partial C
        regC[1*(SIMD_LANE_M / 8) + j] = MMAD_8x8( rowA[j], colB[1], regC[1*(SIMD_LANE_M / 8) + j] );
    }
    colB[1] = l_tileB[l_offsetTileB_col3];
    __attribute__((opencl_unroll_hint(SG_TILE_M / 8)))
    for (uint j = 0; j < (SG_TILE_M / 8); ++j)
    {
        // Compute partial C
        regC[2*(SIMD_LANE_M / 8) + j] = MMAD_8x8(rowA[j], colB[0], regC[2*(SIMD_LANE_M / 8) + j]);
    }
    __attribute__((opencl_unroll_hint(SG_TILE_M / 8)))
    for (uint j = 0; j < (SG_TILE_M / 8); ++j)
    {
        // Compute partial C
        regC[3*(SIMD_LANE_M / 8) + j] = MMAD_8x8(rowA[j], colB[1], regC[3*(SIMD_LANE_M / 8) + j]);
    }
}

/*
 *  \brief GEMM kernel to compute MxN matrix using SLM
 *  \param g_inA  - Input matrix
 *  \param g_inB  - Input matrix
 *  \param g_outC - Output matrix
 */

__attribute__((intel_reqd_sub_group_size(SG_SIZE)))
KERNEL(Kernel_GEMM_MMAD8_32x32SG_128x128WG_SLM_INT8)
  (
  __global char* const g_inA,
  __global int* g_outC,
  __global char* const g_inB,
    #if BIAS_TERM
        __global BIAS_TYPE* biases,
    #endif
        __global float* quantizations,
    #if CALIBRATION_TERM
        __global float* calibrations,
    #endif
        uint split_idx

   )
{

    __global int4* const g_matrixA = (__global int4*)g_inA;
    __global int4* const g_matrixB = (__global int4*)g_inB;
    __global int8* g_matrixC = (__global int8*)g_outC;

    // Each work-group works to compute 128x128 tile.
    // Each work-group contains 16 sub-groups.
    // Each sub-group within the work-group works to compute a 32x32 tile.
    // 1) All work-items in WG fill SLM with tileA (128x32) and tileB (32x128).
    // 2) Each sub-group works to compute 32x32 tileC (stored in regC).
    //    Note that each work-item in the sub-group computes a 32x4 chunk of tileC.
    // 3) Repeat until tileC is fully computed (while moving tileA and tileB "windows")
    __local int8 l_workGroupTileA[2 * (WG_TILE_M * MATRIX_SMALL_K) / sizeof(int8)]; // [2*128*32/8] = 1024
    __local int8 l_workGroupTileB[2 * (WG_TILE_N * MATRIX_SMALL_K) / sizeof(int8)]; // [2*128*32/8] = 1024

    __local uint* l_workGroupTileA_uint = (__local uint*)l_workGroupTileA;
    __local int4* l_workGroupTileA_int4 = (__local int4*)l_workGroupTileA;
    __local int4* l_workGroupTileB_int4 = (__local int4*)l_workGroupTileB;

    const uint l_groupSize = get_local_size(DIM_X) * get_local_size(DIM_Y);

    const uint l_pingPongOffsetA_uint = (WG_TILE_M * MATRIX_SMALL_K) / sizeof(uint);
    const uint l_pingPongOffsetB_int8 = (WG_TILE_N * MATRIX_SMALL_K) / sizeof(int8);
    const uint l_pingPongOffsetA_int4 = (WG_TILE_M * MATRIX_SMALL_K) / sizeof(int4);
    const uint l_pingPongOffsetB_int4 = (WG_TILE_N * MATRIX_SMALL_K) / sizeof(int4);

    // Thread IDs
    const uint g_tidY = get_global_id(DIM_Y); // 0,...,all_wi_inY
    const uint g_tidX = get_global_id(DIM_X); // 0,...,all_wi_inX
    const uint l_tidX = get_local_id(DIM_X);  // 0,...,31 in WG
    const uint l_tidY = get_local_id(DIM_Y);  // 0,1,2,3  in WG
    const uint l_tid = l_tidY * get_local_size(DIM_X) + l_tidX; // 0,1,2,...127

    // SubGroup IDs
    const uint sg_tid = get_sub_group_local_id();            // 0,1,...,8
    const uint sg_global_idX = (uint)(g_tidX / SG_SIZE);     //{0}/8
    const uint sg_global_idY = g_tidY;                       //{0}

    const uint sg_local_idX = (uint)(l_tidX / SG_SIZE);      // {0,...,31}/8={0,0,0,0,0...,1,1,1,...,3,3,3}
    const uint sg_local_idY = l_tidY;                        // 0,1,2,3
    const uint sg_local_id = sg_local_idY * get_local_size(DIM_X) / SG_SIZE + sg_local_idX;  // get_local_size(DIM_X) / SG_SIZE = 32/8 = 4

    const uint sub_group_id = get_sub_group_id();


    // Registers
    int8 regC[(SIMD_LANE_M / 8) * SIMD_LANE_N] = {0}; // Each work-item responsible for 32x4 ints elts   // (32/8)*4
    int8 rowA[(SG_TILE_M * MATRIX_SMALL_K / SG_SIZE) / sizeof(int8)]; // each work-item will hold 1/8 of matrixA
    int8 colB[2];  // each lane will store 32x4 piece of matrixB

    // SLM indices
    const uint l_offsetTileA = SG_TILE_M * (MATRIX_SMALL_K / sizeof(uint)) * sg_local_idY;
// Copyright (c) 2018 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

void FUNC(intel_sub_group_block_write_4)( __local uint* p, uint4 data )
{
    p[ get_sub_group_local_id() ] = data.s0;
    p += 8;
    p[ get_sub_group_local_id() ] = data.s1;
    p += 8;
    p[ get_sub_group_local_id() ] = data.s2;
    p += 8;
    p[ get_sub_group_local_id() ] = data.s3;
}

uint4 FUNC(intel_sub_group_block_read_uint4)(const __local uint* p)
{
    uint4 ret;
    uint idx = get_sub_group_local_id();

    ret.s0 = p[idx]; idx += get_max_sub_group_size();
    ret.s1 = p[idx]; idx += get_max_sub_group_size();
    ret.s2 = p[idx]; idx += get_max_sub_group_size();
    ret.s3 = p[idx]; idx += get_max_sub_group_size();

    return ret;
}

uint8 FUNC(intel_sub_group_block_read_uint8)(const __local uint* p)
{
    uint8 ret;
    uint idx = get_sub_group_local_id();

    ret.s0 = p[idx]; idx += get_max_sub_group_size();
    ret.s1 = p[idx]; idx += get_max_sub_group_size();
    ret.s2 = p[idx]; idx += get_max_sub_group_size();
    ret.s3 = p[idx]; idx += get_max_sub_group_size();
    ret.s4 = p[idx]; idx += get_max_sub_group_size();
    ret.s5 = p[idx]; idx += get_max_sub_group_size();
    ret.s6 = p[idx]; idx += get_max_sub_group_size();
    ret.s7 = p[idx]; idx += get_max_sub_group_size();

    return ret;
}

inline int FUNC(mmad_4)(char4 input, char4 weight, int acc)
{
	acc += (input[0] * weight[0]);
	acc += (input[1] * weight[1]);
	acc += (input[2] * weight[2]);
	acc += (input[3] * weight[3]);
	return acc;
}

inline int FUNC(mmad8)(int8 A_scalars, int8 B_vectors, int acc)
{
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[0]), as_char4(B_vectors[0]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[1]), as_char4(B_vectors[1]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[2]), as_char4(B_vectors[2]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[3]), as_char4(B_vectors[3]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[4]), as_char4(B_vectors[4]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[5]), as_char4(B_vectors[5]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[6]), as_char4(B_vectors[6]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[7]), as_char4(B_vectors[7]), acc);

	return acc;
}

inline int4 FUNC(mmad4x8)(int4 A_vectors, int8 B_vectors, int4 acc)
{
    int4 ret;
    for(uint i = 0; i < 4; i++)
    {
        int8 A_scalars;
        A_scalars.s0 = sub_group_broadcast(A_vectors[i], 0);
        A_scalars.s1 = sub_group_broadcast(A_vectors[i], 1);
        A_scalars.s2 = sub_group_broadcast(A_vectors[i], 2);
        A_scalars.s3 = sub_group_broadcast(A_vectors[i], 3);
        A_scalars.s4 = sub_group_broadcast(A_vectors[i], 4);
        A_scalars.s5 = sub_group_broadcast(A_vectors[i], 5);
        A_scalars.s6 = sub_group_broadcast(A_vectors[i], 6);
        A_scalars.s7 = sub_group_broadcast(A_vectors[i], 7);
        ret[i] = FUNC_CALL(mmad8)(A_scalars, B_vectors, acc[i]);
    }
    return ret;
}

inline int8 FUNC(mmad8x8)(int8 A_vectors, int8 B_vectors, int8 acc)
{
    int8 ret;
    for(uint i = 0; i < 8; i++)
    {
        int8 A_scalars;
        A_scalars.s0 = sub_group_broadcast(A_vectors[i], 0);
        A_scalars.s1 = sub_group_broadcast(A_vectors[i], 1);
        A_scalars.s2 = sub_group_broadcast(A_vectors[i], 2);
        A_scalars.s3 = sub_group_broadcast(A_vectors[i], 3);
        A_scalars.s4 = sub_group_broadcast(A_vectors[i], 4);
        A_scalars.s5 = sub_group_broadcast(A_vectors[i], 5);
        A_scalars.s6 = sub_group_broadcast(A_vectors[i], 6);
        A_scalars.s7 = sub_group_broadcast(A_vectors[i], 7);
        ret[i] = FUNC_CALL(mmad8)(A_scalars, B_vectors, acc[i]);
    }
    return ret;
}

// TODO: remove it when cl_intel_subgroups_char extension will work
inline void FUNC(sub_group_block_write_uchar8)(__global uchar* outPtr, uchar8 v)
{
#ifdef cl_intel_subgroups_char
    intel_sub_group_block_write_uc8(outPtr, v);
#else
    uint idx = get_sub_group_local_id();

	outPtr[idx] = v.s0; idx += get_max_sub_group_size();
    outPtr[idx] = v.s1; idx += get_max_sub_group_size();
    outPtr[idx] = v.s2; idx += get_max_sub_group_size();
    outPtr[idx] = v.s3; idx += get_max_sub_group_size();
    outPtr[idx] = v.s4; idx += get_max_sub_group_size();
    outPtr[idx] = v.s5; idx += get_max_sub_group_size();
    outPtr[idx] = v.s6; idx += get_max_sub_group_size();
    outPtr[idx] = v.s7; idx += get_max_sub_group_size();
#endif
}

inline uchar8 FUNC(sub_group_block_read_uchar8)(const __global uchar* ptr)
{
#ifdef cl_intel_subgroups_char
    return intel_sub_group_block_read_uc8(ptr);
#else
    uint idx = get_sub_group_local_id();

    uchar8 ret;

    ret.s0 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s1 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s2 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s3 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s4 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s5 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s6 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s7 = ptr[idx]; idx += get_max_sub_group_size();

    return ret;

#endif
}

//


#define MMAD_8(A, B, C) FUNC_CALL(mmad8)(A, B, C)
#define MMAD_4x8(A, B, C) FUNC_CALL(mmad4x8)(A, B, C)
#define MMAD_8x8(A, B, C) FUNC_CALL(mmad8x8)(A, B, C)
#define SLM_BLOCK_WRITE_4(A, B) (FUNC_CALL(intel_sub_group_block_write_4)(A, B))
#define SLM_BLOCK_READ_4(A) (FUNC_CALL(intel_sub_group_block_read_uint4)(A))
#define SLM_BLOCK_READ_8(A) (FUNC_CALL(intel_sub_group_block_read_uint8)(A))


#define SCALE 0.11f

#ifdef LIGHTWEIGHT_QUANTIZATION

#define QUANTIZATION(idx) \
    {\
        for(uint z = 0; z < 4; z++)\
        {\
            regC_uchar16[z * 4 + 0] = convert_uchar_sat( (regC[0 * 4 + i][idx + z / 4]) * SCALE + bias_f.s0);\
            regC_uchar16[z * 4 + 1] = convert_uchar_sat( (regC[1 * 4 + i][idx + z / 4]) * SCALE + bias_f.s1);\
            regC_uchar16[z * 4 + 2] = convert_uchar_sat( (regC[2 * 4 + i][idx + z / 4]) * SCALE + bias_f.s2);\
            regC_uchar16[z * 4 + 3] = convert_uchar_sat( (regC[3 * 4 + i][idx + z / 4]) * SCALE + bias_f.s3);\
        }\
    }

    const uint l_offsetTileB_col1 = l_offsetTileB + 1 * numElements32x8TileB + sg_tid;
    const uint l_offsetTileB_col2 = l_offsetTileB + 2 * numElements32x8TileB + sg_tid;
    const uint l_offsetTileB_col3 = l_offsetTileB + 3 * numElements32x8TileB + sg_tid;

    // Global indices
    uint g_idxA[2];
    uint g_idxB[2];
#ifdef TILED_GLOBAL_LAYOUT // 32-row major (matrixA) and 32-col major (matrixB)
    g_idxA[0] = ((MATRIX_SMALL_K / sizeof(int4)) * WG_TILE_M) * get_group_id(DIM_Y) + l_tid;
    g_idxB[0] = ((MATRIX_SMALL_K / sizeof(int4)) * WG_TILE_N) * get_group_id(DIM_X) + l_tid;
    g_idxA[1] = g_idxA[0] + l_groupSize;
    g_idxB[1] = g_idxB[0] + l_groupSize;
#else // Row (matrixA) and Col (matrixB) major layout
    g_idxA[0] = WG_TILE_M * (MATRIX_K / sizeof(int4)) * get_group_id(DIM_Y) +
               (l_tid / 2) * (MATRIX_K / sizeof(int4)) + (l_tid % 2);
    g_idxB[0] = WG_TILE_N * (MATRIX_K / sizeof(int4)) * get_group_id(DIM_X) +
               (l_tid / 2) * (MATRIX_K / sizeof(int4)) + (l_tid % 2);
    g_idxA[1] = g_idxA[0] + (l_groupSize / 2) * (MATRIX_K / sizeof(int4));
    g_idxB[1] = g_idxB[0] + (l_groupSize / 2) * (MATRIX_K / sizeof(int4));
#endif
    // Initial SLM setup
    {
        l_workGroupTileA_int4[l_tid] = g_matrixA[g_idxA[0]];
        l_workGroupTileB_int4[l_tid] = g_matrixB[g_idxB[0]];

        l_workGroupTileA_int4[l_tid + l_groupSize] = g_matrixA[g_idxA[1]];
        if (l_tid < 32)
        {
            // Not all work-items will be needed to fetch the remaining matrix B
            l_workGroupTileB_int4[l_tid + l_groupSize] = g_matrixB[g_idxB[1]];
        }
#ifdef TILED_GLOBAL_LAYOUT
        g_idxA[0] += MATRIX_M * MATRIX_SMALL_K / sizeof(int4);
        g_idxB[0] += MATRIX_N * MATRIX_SMALL_K / sizeof(int4);
        g_idxA[1] += MATRIX_M * MATRIX_SMALL_K / sizeof(int4);
        g_idxB[1] += MATRIX_N * MATRIX_SMALL_K / sizeof(int4);
#else
        g_idxA[0] += MATRIX_SMALL_K / sizeof(int4);
        g_idxB[0] += MATRIX_SMALL_K / sizeof(int4);
        g_idxA[1] += MATRIX_SMALL_K / sizeof(int4);
        g_idxB[1] += MATRIX_SMALL_K / sizeof(int4);
#endif

        barrier(CLK_LOCAL_MEM_FENCE);
    }
    int4 hdcReadValueA[2];
    int4 hdcReadValueB[2];

    __attribute__((opencl_unroll_hint(1)))
    for (uint k = 0; k < (MATRIX_K / MATRIX_SMALL_K) - 1; k++)
    {
        hdcReadValueA[0] = g_matrixA[g_idxA[0]];
        hdcReadValueB[0] = g_matrixB[g_idxB[0]];
        hdcReadValueA[1] = g_matrixA[g_idxA[1]];
        if (l_tid < 32)
        {
            // Not all work-items will be needed to fetch the remaining matrix B
            hdcReadValueB[1] = g_matrixB[g_idxB[1]];
        }
#ifdef TILED_GLOBAL_LAYOUT
        g_idxA[0] += MATRIX_M * MATRIX_SMALL_K / sizeof(int4);
        g_idxB[0] += MATRIX_N * MATRIX_SMALL_K / sizeof(int4);
        g_idxA[1] += MATRIX_M * MATRIX_SMALL_K / sizeof(int4);
        g_idxB[1] += MATRIX_N * MATRIX_SMALL_K / sizeof(int4);
#else
        g_idxA[0] += MATRIX_SMALL_K / sizeof(int4);
        g_idxB[0] += MATRIX_SMALL_K / sizeof(int4);
        g_idxA[1] += MATRIX_SMALL_K / sizeof(int4);
        g_idxB[1] += MATRIX_SMALL_K / sizeof(int4);
#endif


        //MMAD compute
        FUNC_CALL(mmad_32x32_int8)(&l_workGroupTileA_uint[(k % 2) * l_pingPongOffsetA_uint],
                                l_offsetTileA, &l_workGroupTileB[(k % 2) * l_pingPongOffsetB_int8],
                                l_offsetTileB_col0, l_offsetTileB_col1, l_offsetTileB_col2,
                                l_offsetTileB_col3, rowA, colB, regC);

        //SLM setup - SLM write only
        l_workGroupTileA_int4[((k + 1) % 2 * l_pingPongOffsetA_int4) + l_tid] = hdcReadValueA[0];
        l_workGroupTileB_int4[((k + 1) % 2 * l_pingPongOffsetB_int4) + l_tid] = hdcReadValueB[0];
        l_workGroupTileA_int4[((k + 1) % 2 * l_pingPongOffsetA_int4) + l_tid + l_groupSize] = hdcReadValueA[1];
        if (l_tid < 32)
        {
            // Not all work-items will be needed to fetch the remaining matrix B
            l_workGroupTileB_int4[((k + 1) % 2 * l_pingPongOffsetB_int4) + l_tid + l_groupSize] = hdcReadValueB[1];
        }
        barrier(CLK_LOCAL_MEM_FENCE);
    } // main outer loop

    //Last MMAD compute iteration (avoids branching in main loop)
	FUNC_CALL(mmad_32x32_int8)(
        &l_workGroupTileA_uint[(((MATRIX_K / MATRIX_SMALL_K) - 1) % 2) * l_pingPongOffsetA_uint],
        l_offsetTileA,
        &l_workGroupTileB[(((MATRIX_K / MATRIX_SMALL_K) - 1) % 2) * l_pingPongOffsetB_int8],
        l_offsetTileB_col0, l_offsetTileB_col1, l_offsetTileB_col2, l_offsetTileB_col3, rowA, colB,
        regC);


#ifdef OUTPUT_TILED_GLOBAL_LAYOUT

    // Write out in swizzled manner after quantizing
    __global uchar* g_outC_uchar = (__global uchar*)g_outC;
    uint cOffset = sg_global_idX * (MATRIX_M * SG_TILE_N / sizeof(uchar)) +
                   sg_global_idY * (SG_TILE_M * SG_TILE_N / sizeof(uchar));

    uchar16 regC_uchar16;
    uint offset_uc16 = 0;

	const uint workgroup_id_x = get_group_id(0);
	uint feature_off = 32*(sub_group_id % (WG_TILE_N / 32)) + WG_TILE_N*workgroup_id_x; //=32*{0,1,2,3} + WG_TILE_N * workgroup_id_x
	uint feature = get_sub_group_local_id()*4 + feature_off;

    float4 quant_f = vload4(0, quantizations + feature);
    float4 bias_f = vload4(0, biases + feature);
    float4 calib_f = vload4(0, calibrations + feature);

#if MMAD_SUPPORTED == 1
    __attribute__((opencl_unroll_hint( SG_TILE_M / (sizeof(int8) / sizeof(int)) )))
#endif
    for (uint i = 0; i < SG_TILE_M / (sizeof(int8) / sizeof(int)); i++)
    {
        uint padded_offset = FUNC_CALL(calculate_output_offset_to_account_padding)(cOffset);
        {
            // B0..3, F0..31
            QUANTIZATION(0);
        }

        intel_sub_group_block_write4((__global uint*)(g_outC_uchar + padded_offset), as_uint4(regC_uchar16));
		cOffset += sizeof(uchar16) * SG_SIZE;

        // now we need to calculate again for other x
        padded_offset = FUNC_CALL(calculate_output_offset_to_account_padding)(cOffset);
        {
            // B0..3, F0..31
            QUANTIZATION(4);
        }

        intel_sub_group_block_write4( (__global uint*)(g_outC_uchar + padded_offset), as_uint4(regC_uchar16) );
        cOffset += sizeof(uchar16) * SG_SIZE;
    }

#else
    // Write final accumulated values
    uint cOffset = sg_global_idX * ((MATRIX_M / 8) * SG_TILE_N) + sg_global_idY * (SG_TILE_M / 8) +
                   sg_tid * (MATRIX_M / 8);
    __attribute__((opencl_unroll_hint(SIMD_LANE_N)))
    for (uint i = 0; i < (SIMD_LANE_N); ++i)
    {
        __attribute__((opencl_unroll_hint(SIMD_LANE_M / 8)))
        for (uint j = 0; j < (SIMD_LANE_M / 8); ++j)
        {
            g_matrixC[cOffset + j] = regC[i*(SIMD_LANE_M / 8) + j];
        }
        cOffset += SG_SIZE * (MATRIX_M / 8);
    }
#endif
}

#elif NO_QUANTIZATION

#define QUANTIZATION(idx) \
    regC_uchar16.s0 = convert_uchar_sat(regC[0 * 4 + i][idx]);\
    regC_uchar16.s1 = convert_uchar_sat(regC[1 * 4 + i][idx]);\
    regC_uchar16.s2 = convert_uchar_sat(regC[2 * 4 + i][idx]);\
    regC_uchar16.s3 = convert_uchar_sat(regC[3 * 4 + i][idx]);\
    \
    regC_uchar16.s4 = convert_uchar_sat(regC[0 * 4 + i][idx+1]);\
    regC_uchar16.s5 = convert_uchar_sat(regC[1 * 4 + i][idx+1]);\
    regC_uchar16.s6 = convert_uchar_sat(regC[2 * 4 + i][idx+1]);\
    regC_uchar16.s7 = convert_uchar_sat(regC[3 * 4 + i][idx+1]);\
    \
    regC_uchar16.s8 = convert_uchar_sat(regC[0 * 4 + i][idx+2]);\
    regC_uchar16.s9 = convert_uchar_sat(regC[1 * 4 + i][idx+2]);\
    regC_uchar16.sa = convert_uchar_sat(regC[2 * 4 + i][idx+2]);\
    regC_uchar16.sb = convert_uchar_sat(regC[3 * 4 + i][idx+2]);\
    \
    regC_uchar16.sc = convert_uchar_sat(regC[0 * 4 + i][idx+3]);\
    regC_uchar16.sd = convert_uchar_sat(regC[1 * 4 + i][idx+3]);\
    regC_uchar16.se = convert_uchar_sat(regC[2 * 4 + i][idx+3]);\
    regC_uchar16.sf = convert_uchar_sat(regC[3 * 4 + i][idx+3]);

#else

#define QUANTIZATION(idx) \
    regC_uchar16.s0 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[0 * 4 + i][idx]) * quant_f.s0 * I_QF + bias_f.s0) * calib_f.s0)), NL_M, NL_N));\
    regC_uchar16.s1 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[1 * 4 + i][idx]) * quant_f.s1 * I_QF + bias_f.s1) * calib_f.s1)), NL_M, NL_N));\
    regC_uchar16.s2 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[2 * 4 + i][idx]) * quant_f.s2 * I_QF + bias_f.s2) * calib_f.s2)), NL_M, NL_N));\
    regC_uchar16.s3 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[3 * 4 + i][idx]) * quant_f.s3 * I_QF + bias_f.s3) * calib_f.s3)), NL_M, NL_N));\
    \
    regC_uchar16.s4 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[0 * 4 + i][idx+1]) * quant_f.s0 * I_QF + bias_f.s0) * calib_f.s0)), NL_M, NL_N));\
    regC_uchar16.s5 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[1 * 4 + i][idx+1]) * quant_f.s1 * I_QF + bias_f.s1) * calib_f.s1)), NL_M, NL_N));\
    regC_uchar16.s6 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[2 * 4 + i][idx+1]) * quant_f.s2 * I_QF + bias_f.s2) * calib_f.s2)), NL_M, NL_N));\
    regC_uchar16.s7 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[3 * 4 + i][idx+1]) * quant_f.s3 * I_QF + bias_f.s3) * calib_f.s3)), NL_M, NL_N));\
    \
    regC_uchar16.s8 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[0 * 4 + i][idx+2]) * quant_f.s0 * I_QF + bias_f.s0) * calib_f.s0)), NL_M, NL_N));\
    regC_uchar16.s9 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[1 * 4 + i][idx+2]) * quant_f.s1 * I_QF + bias_f.s1) * calib_f.s1)), NL_M, NL_N));\
    regC_uchar16.sa = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[2 * 4 + i][idx+2]) * quant_f.s2 * I_QF + bias_f.s2) * calib_f.s2)), NL_M, NL_N));\
    regC_uchar16.sb = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[3 * 4 + i][idx+2]) * quant_f.s3 * I_QF + bias_f.s3) * calib_f.s3)), NL_M, NL_N));\
    \
    regC_uchar16.sc = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[0 * 4 + i][idx+3]) * quant_f.s0 * I_QF + bias_f.s0) * calib_f.s0)), NL_M, NL_N));\
    regC_uchar16.sd = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[1 * 4 + i][idx+3]) * quant_f.s1 * I_QF + bias_f.s1) * calib_f.s1)), NL_M, NL_N));\
    regC_uchar16.se = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[2 * 4 + i][idx+3]) * quant_f.s2 * I_QF + bias_f.s2) * calib_f.s2)), NL_M, NL_N));\
    regC_uchar16.sf = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[3 * 4 + i][idx+3]) * quant_f.s3 * I_QF + bias_f.s3) * calib_f.s3)), NL_M, NL_N));

#endif

inline uint FUNC(calculate_output_offset_to_account_padding)(uint cOffset)
{
#if OUT_WITH_PADDING == 1
    uint tmp_idx = cOffset;
    uint f_val_idx = tmp_idx % 32;
    tmp_idx /= 32;
    uint b_val_idx = tmp_idx % 4;
    tmp_idx /= 4;
    uint x_idx = tmp_idx % OUTPUT_SIZE_X;
    tmp_idx /= OUTPUT_SIZE_X;
    uint y_idx = tmp_idx % OUTPUT_SIZE_Y;
    tmp_idx /= OUTPUT_SIZE_Y;
    uint b_slice_idx = tmp_idx % (OUTPUT_BATCH_NUM / 4);
    tmp_idx /= (OUTPUT_BATCH_NUM / 4);
    uint f_slice_idx = tmp_idx % (OUTPUT_FEATURE_NUM / 32);

    uint padded_offset = f_slice_idx * OUT_F_BLOCK_PITCH;
    padded_offset += b_slice_idx * OUT_B_BLOCK_PITCH;
    padded_offset += y_idx * OUT_Y_PITCH;
    padded_offset += x_idx * OUT_X_PITCH;
    padded_offset += b_val_idx * 32;
    padded_offset += f_val_idx;
    padded_offset += OUT_OFFSET;

    return padded_offset;
#else
    return cOffset;
#endif
}

inline void FUNC(mmad_32x32_int8)(  __local uint* l_tileA, const uint l_offsetTileA,
                                    __local int8* l_tileB, const uint l_offsetTileB_col0,
                                    const uint l_offsetTileB_col1, const uint l_offsetTileB_col2,
                                    const uint l_offsetTileB_col3, int8* rowA, int8* colB,
                                    int8* regC)
{
    // Read tile A from SLM to regA
    uint l_offsetTileATemp = l_offsetTileA;
    __attribute__((opencl_unroll_hint(SG_TILE_M / 8)))
    for (uint j = 0; j < (SG_TILE_M / 8); ++j)
    {
		rowA[j] = as_int8(SLM_BLOCK_READ_8(&l_tileA[l_offsetTileATemp]));
        l_offsetTileATemp += 8 * SG_SIZE;
    }
    // Read tile B from SLM to regB and compute mmad
    colB[0] = l_tileB[l_offsetTileB_col0];
    colB[1] = l_tileB[l_offsetTileB_col1];
    __attribute__((opencl_unroll_hint(SG_TILE_M / 8)))
    for (uint j = 0; j < (SG_TILE_M / 8); ++j)
    {
        // Compute partial C
        regC[0*(SIMD_LANE_M / 8) + j] = MMAD_8x8( rowA[j], colB[0], regC[0*(SIMD_LANE_M / 8) + j]);
    }
    colB[0] = l_tileB[l_offsetTileB_col2];
    __attribute__((opencl_unroll_hint(SG_TILE_M / 8)))
    for (uint j = 0; j < (SG_TILE_M / 8); ++j)
    {
        // Compute partial C
        regC[1*(SIMD_LANE_M / 8) + j] = MMAD_8x8( rowA[j], colB[1], regC[1*(SIMD_LANE_M / 8) + j] );
	}
    colB[1] = l_tileB[l_offsetTileB_col3];
    __attribute__((opencl_unroll_hint(SG_TILE_M / 8)))
    for (uint j = 0; j < (SG_TILE_M / 8); ++j)
    {
        // Compute partial C
        regC[2*(SIMD_LANE_M / 8) + j] = MMAD_8x8(rowA[j], colB[0], regC[2*(SIMD_LANE_M / 8) + j]);
    }
    __attribute__((opencl_unroll_hint(SG_TILE_M / 8)))
    for (uint j = 0; j < (SG_TILE_M / 8); ++j)
    {
        // Compute partial C
        regC[3*(SIMD_LANE_M / 8) + j] = MMAD_8x8(rowA[j], colB[1], regC[3*(SIMD_LANE_M / 8) + j]);
    }
}

/*
 *  \brief GEMM kernel to compute MxN matrix using SLM
 *  \param g_inA  - Input matrix
 *  \param g_inB  - Input matrix
 *  \param g_outC - Output matrix
 */

__attribute__((intel_reqd_sub_group_size(SG_SIZE)))
KERNEL(Kernel_GEMM_MMAD8_32x32SG_224x128WG_SLM_INT8)
														  (__global char* const g_inA,
														  __global int* g_outC,
														  __global char* const g_inB,
 														    #if BIAS_TERM
																__global BIAS_TYPE* biases,
															#endif
																__global float* quantizations,
															#if CALIBRATION_TERM
																__global float* calibrations,
															#endif
																uint split_idx

														   )
{

    __global int4* const g_matrixA = (__global int4*)g_inA;
    __global int4* const g_matrixB = (__global int4*)g_inB;
    __global int8* g_matrixC = (__global int8*)g_outC;

    // Each work-group works to compute 128x128 tile.
    // Each work-group contains 16 sub-groups.
    // Each sub-group within the work-group works to compute a 32x32 tile.
    // 1) All work-items in WG fill SLM with tileA (128x32) and tileB (32x128).
    // 2) Each sub-group works to compute 32x32 tileC (stored in regC).
    //    Note that each work-item in the sub-group computes a 32x4 chunk of tileC.
    // 3) Repeat until tileC is fully computed (while moving tileA and tileB "windows")
    __local int8 l_workGroupTileA[2 * (WG_TILE_M * MATRIX_SMALL_K) / sizeof(int8)];
    __local int8 l_workGroupTileB[2 * (WG_TILE_N * MATRIX_SMALL_K) / sizeof(int8)];

    __local uint* l_workGroupTileA_uint = (__local uint*)l_workGroupTileA;
    __local int4* l_workGroupTileA_int4 = (__local int4*)l_workGroupTileA;
    __local int4* l_workGroupTileB_int4 = (__local int4*)l_workGroupTileB;

    const uint l_groupSize = get_local_size(DIM_X) * get_local_size(DIM_Y);

    const uint l_pingPongOffsetA_uint = (WG_TILE_M * MATRIX_SMALL_K) / sizeof(uint);
    const uint l_pingPongOffsetB_int8 = (WG_TILE_N * MATRIX_SMALL_K) / sizeof(int8);
    const uint l_pingPongOffsetA_int4 = (WG_TILE_M * MATRIX_SMALL_K) / sizeof(int4);
    const uint l_pingPongOffsetB_int4 = (WG_TILE_N * MATRIX_SMALL_K) / sizeof(int4);

    // Thread IDs
    const uint g_tidY = get_global_id(DIM_Y);
    const uint g_tidX = get_global_id(DIM_X);
    const uint l_tidX = get_local_id(DIM_X);
    const uint l_tidY = get_local_id(DIM_Y);
    const uint l_tid = l_tidY * get_local_size(DIM_X) + l_tidX;

    // SubGroup IDs
    const uint sg_tid = get_sub_group_local_id();
    const uint sg_global_idX = (uint)(g_tidX / SG_SIZE);
    const uint sg_global_idY = g_tidY;
    const uint sg_local_idX = (uint)(l_tidX / SG_SIZE);
    const uint sg_local_idY = l_tidY;
    const uint sg_local_id = sg_local_idY * get_local_size(DIM_X) / SG_SIZE + sg_local_idX;

	const uint sub_group_id = get_sub_group_id();

    // Registers
    int8 regC[(SIMD_LANE_M / 8) * SIMD_LANE_N] = {0}; // Each work-item responsible for 32x4 ints elts
    int8 rowA[(SG_TILE_M * MATRIX_SMALL_K / SG_SIZE) / sizeof(int8)]; // each work-item will hold 1/8 of matrixA
    int8 colB[2];  // each lane will store 32x4 piece of matrixB

    // SLM indices
    const uint l_offsetTileA = SG_TILE_M * (MATRIX_SMALL_K / sizeof(uint)) * sg_local_idY;
    const uint numElements32x32TileB = (MATRIX_SMALL_K * SG_TILE_N) / sizeof(int8);
    const uint numElements32x8TileB = numElements32x32TileB / 4;
    const uint l_offsetTileB = numElements32x32TileB * sg_local_idX;
    const uint l_offsetTileB_col0 = l_offsetTileB + sg_tid;
#if ((MATRIX_K / MATRIX_SMALL_K) > 1)
        uint g_idxATemp = g_idxA;
        for (uint i = l_tid, j = 0; i < (WG_TILE_M * MATRIX_SMALL_K / sizeof(int4)); i += WG_SIZE, ++j)
        {
            hdcReadValueA[j] = g_matrixA[g_idxATemp];
#ifdef TILED_GLOBAL_LAYOUT
            g_idxATemp += WG_SIZE;
#else
            g_idxATemp += (WG_SIZE / 2) * (MATRIX_K / sizeof(int4));
#endif
        }

        uint g_idxBTemp = g_idxB;
        for (uint i = l_tid, j = 0; i < (WG_TILE_N * MATRIX_SMALL_K / sizeof(int4)); i += WG_SIZE, ++j)
        {
            hdcReadValueB[j] = g_matrixB[g_idxBTemp];
#ifdef TILED_GLOBAL_LAYOUT
            g_idxBTemp += WG_SIZE;
#else
            g_idxBTemp += (WG_SIZE / 2) * (MATRIX_K / sizeof(int4));
#endif
        }

#ifdef TILED_GLOBAL_LAYOUT
        g_idxA += MATRIX_M * MATRIX_SMALL_K / sizeof(int4);
        g_idxB += MATRIX_N * MATRIX_SMALL_K / sizeof(int4);
#else
        g_idxA += MATRIX_SMALL_K / sizeof(int4);
        g_idxB += MATRIX_SMALL_K / sizeof(int4);
#endif
#endif

        /*
         * MMAD compute
         */

        FUNC_CALL(mmad_32x32_int8)(l_workGroupTileA_live_uint, l_offsetTileA, l_workGroupTileB_live,
                                l_offsetTileB_col0, l_offsetTileB_col1, l_offsetTileB_col2,
                                l_offsetTileB_col3, rowA, colB, regC);

        /*
         * SLM setup - SLM write only
         */

#if ((MATRIX_K / MATRIX_SMALL_K) > 1)
        if (k % 2 == 0)
        {
            for (uint i = l_tid, j = 0; i < (WG_TILE_M * MATRIX_SMALL_K / sizeof(int4));
                 i += WG_SIZE, ++j)
            {
                l_workGroupTileA_1_int4[i] = hdcReadValueA[j];
            }

            for (uint i = l_tid, j = 0; i < (WG_TILE_N * MATRIX_SMALL_K / sizeof(int4));
                 i += WG_SIZE, ++j)
            {
                l_workGroupTileB_1_int4[i] = hdcReadValueB[j];
            }

            l_workGroupTileA_live = l_workGroupTileA_1;
            l_workGroupTileB_live = l_workGroupTileB_1;
            l_workGroupTileA_live_uint = l_workGroupTileA_uint_1;
        }
        else
        {
            for (uint i = l_tid, j = 0; i < (WG_TILE_M * MATRIX_SMALL_K / sizeof(int4));
                 i += WG_SIZE, ++j)
            {
                l_workGroupTileA_0_int4[i] = hdcReadValueA[j];
            }

            for (uint i = l_tid, j = 0; i < (WG_TILE_N * MATRIX_SMALL_K / sizeof(int4));
                 i += WG_SIZE, ++j)
            {
                l_workGroupTileB_0_int4[i] = hdcReadValueB[j];
            }

            l_workGroupTileA_live = l_workGroupTileA_0;
            l_workGroupTileB_live = l_workGroupTileB_0;
            l_workGroupTileA_live_uint = l_workGroupTileA_uint_0;
        }
        barrier(CLK_LOCAL_MEM_FENCE);
#endif
    }

    /*
     * Last MMAD compute iteration (avoids branching in main loop)
     */
    FUNC_CALL(mmad_32x32_int8)(l_workGroupTileA_live_uint, l_offsetTileA, l_workGroupTileB_live,
                            l_offsetTileB_col0, l_offsetTileB_col1, l_offsetTileB_col2,
                            l_offsetTileB_col3, rowA, colB, regC);

#ifdef OUTPUT_TILED_GLOBAL_LAYOUT
    // Write out in swizzled manner after quantizing
    __global uchar* g_outC_uchar = (__global uchar*)g_outC;
    uint cOffset = sg_global_idX * (MATRIX_M * SG_TILE_N / sizeof(uchar)) +
                   sg_global_idY * (SG_TILE_M * SG_TILE_N / sizeof(uchar));

    uchar8 regC_uchar8[SIMD_LANE_M * SIMD_LANE_N / (sizeof(uchar8) / sizeof(uchar))];
    uint offset_uc8 = 0;

	const uint workgroup_id_x = get_group_id(0);
	uint feature_off = 32*(sub_group_id % (WG_TILE_N / 32)) + WG_TILE_N*workgroup_id_x; //=32*{0,1,2,3} + WG_TILE_N * workgroup_id_x
	uint feature = get_sub_group_local_id() + feature_off;

    float4 quant_f = as_float4(intel_sub_group_block_read4((__global uint*) (quantizations + feature) ));
    float4 bias_f = as_float4(intel_sub_group_block_read4((__global uint*) (biases + feature) ));
    float4 calib_f = as_float4(intel_sub_group_block_read4((__global uint*) (calibrations + feature) ));

#if MMAD_SUPPORTED == 1
    __attribute__((opencl_unroll_hint( SG_TILE_M / (sizeof(int8) / sizeof(int)) )))
#endif
    for (uint i = 0; i < SG_TILE_M / (sizeof(int8) / sizeof(int)); i++)
    {
        // begin of account for output PADDING
        uint padded_offset = FUNC_CALL(calculate_output_offset_to_account_padding)(cOffset);
        // end of account for padding

        // B0 F0..31
		regC_uchar8[offset_uc8].s0 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[0 * 4 + i].s0) * quant_f.s0 * I_QF + bias_f.s0) * calib_f.s0)), NL_M, NL_N));
		regC_uchar8[offset_uc8].s1 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[1 * 4 + i].s0) * quant_f.s1 * I_QF + bias_f.s1) * calib_f.s1)), NL_M, NL_N));
		regC_uchar8[offset_uc8].s2 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[2 * 4 + i].s0) * quant_f.s2 * I_QF + bias_f.s2) * calib_f.s2)), NL_M, NL_N));
		regC_uchar8[offset_uc8].s3 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[3 * 4 + i].s0) * quant_f.s3 * I_QF + bias_f.s3) * calib_f.s3)), NL_M, NL_N));
        // B1 F0..31
		regC_uchar8[offset_uc8].s4 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[0 * 4 + i].s1) * quant_f.s0 * I_QF + bias_f.s0) * calib_f.s0)), NL_M, NL_N));
		regC_uchar8[offset_uc8].s5 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[1 * 4 + i].s1) * quant_f.s1 * I_QF + bias_f.s1) * calib_f.s1)), NL_M, NL_N));
		regC_uchar8[offset_uc8].s6 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[2 * 4 + i].s1) * quant_f.s2 * I_QF + bias_f.s2) * calib_f.s2)), NL_M, NL_N));
		regC_uchar8[offset_uc8].s7 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[3 * 4 + i].s1) * quant_f.s3 * I_QF + bias_f.s3) * calib_f.s3)), NL_M, NL_N));

		FUNC_CALL(sub_group_block_write_uchar8)(&g_outC_uchar[padded_offset], regC_uchar8[offset_uc8]);
        cOffset += sizeof(uchar8) * SG_SIZE;
        padded_offset += sizeof(uchar8) * SG_SIZE;
        offset_uc8++;

        // B2 F0..31
        regC_uchar8[offset_uc8].s0 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[0 * 4 + i].s2) * quant_f.s0 * I_QF + bias_f.s0) * calib_f.s0)), NL_M, NL_N));
		regC_uchar8[offset_uc8].s1 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[1 * 4 + i].s2) * quant_f.s1 * I_QF + bias_f.s1) * calib_f.s1)), NL_M, NL_N));
		regC_uchar8[offset_uc8].s2 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[2 * 4 + i].s2) * quant_f.s2 * I_QF + bias_f.s2) * calib_f.s2)), NL_M, NL_N));
		regC_uchar8[offset_uc8].s3 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[3 * 4 + i].s2) * quant_f.s3 * I_QF + bias_f.s3) * calib_f.s3)), NL_M, NL_N));
        // B3 F0..31
		regC_uchar8[offset_uc8].s4 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[0 * 4 + i].s3) * quant_f.s0 * I_QF + bias_f.s0) * calib_f.s0)), NL_M, NL_N));
		regC_uchar8[offset_uc8].s5 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[1 * 4 + i].s3) * quant_f.s1 * I_QF + bias_f.s1) * calib_f.s1)), NL_M, NL_N));
		regC_uchar8[offset_uc8].s6 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[2 * 4 + i].s3) * quant_f.s2 * I_QF + bias_f.s2) * calib_f.s2)), NL_M, NL_N));
		regC_uchar8[offset_uc8].s7 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[3 * 4 + i].s3) * quant_f.s3 * I_QF + bias_f.s3) * calib_f.s3)), NL_M, NL_N));

		FUNC_CALL(sub_group_block_write_uchar8)(&g_outC_uchar[padded_offset], regC_uchar8[offset_uc8]);
		cOffset += sizeof(uchar8) * SG_SIZE;
        offset_uc8++;

        // now we need to calculate again for other x
        padded_offset = FUNC_CALL(calculate_output_offset_to_account_padding)(cOffset);
        //

        regC_uchar8[offset_uc8].s0 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[0 * 4 + i].s4) * quant_f.s0 * I_QF + bias_f.s0) * calib_f.s0)), NL_M, NL_N));
		regC_uchar8[offset_uc8].s1 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[1 * 4 + i].s4) * quant_f.s1 * I_QF + bias_f.s1) * calib_f.s1)), NL_M, NL_N));
		regC_uchar8[offset_uc8].s2 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[2 * 4 + i].s4) * quant_f.s2 * I_QF + bias_f.s2) * calib_f.s2)), NL_M, NL_N));
		regC_uchar8[offset_uc8].s3 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[3 * 4 + i].s4) * quant_f.s3 * I_QF + bias_f.s3) * calib_f.s3)), NL_M, NL_N));

		regC_uchar8[offset_uc8].s4 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[0 * 4 + i].s5) * quant_f.s0 * I_QF + bias_f.s0) * calib_f.s0)), NL_M, NL_N));
		regC_uchar8[offset_uc8].s5 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[1 * 4 + i].s5) * quant_f.s1 * I_QF + bias_f.s1) * calib_f.s1)), NL_M, NL_N));
		regC_uchar8[offset_uc8].s6 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[2 * 4 + i].s5) * quant_f.s2 * I_QF + bias_f.s2) * calib_f.s2)), NL_M, NL_N));
		regC_uchar8[offset_uc8].s7 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[3 * 4 + i].s5) * quant_f.s3 * I_QF + bias_f.s3) * calib_f.s3)), NL_M, NL_N));

		FUNC_CALL(sub_group_block_write_uchar8)(&g_outC_uchar[padded_offset], regC_uchar8[offset_uc8]);
        cOffset += sizeof(uchar8) * SG_SIZE;
        padded_offset += sizeof(uchar8) * SG_SIZE;
        offset_uc8++;

        regC_uchar8[offset_uc8].s0 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[0 * 4 + i].s6) * quant_f.s0 * I_QF + bias_f.s0) * calib_f.s0)), NL_M, NL_N));
		regC_uchar8[offset_uc8].s1 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[1 * 4 + i].s6) * quant_f.s1 * I_QF + bias_f.s1) * calib_f.s1)), NL_M, NL_N));
		regC_uchar8[offset_uc8].s2 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[2 * 4 + i].s6) * quant_f.s2 * I_QF + bias_f.s2) * calib_f.s2)), NL_M, NL_N));
		regC_uchar8[offset_uc8].s3 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[3 * 4 + i].s6) * quant_f.s3 * I_QF + bias_f.s3) * calib_f.s3)), NL_M, NL_N));

		regC_uchar8[offset_uc8].s4 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[0 * 4 + i].s7) * quant_f.s0 * I_QF + bias_f.s0) * calib_f.s0)), NL_M, NL_N));
		regC_uchar8[offset_uc8].s5 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[1 * 4 + i].s7) * quant_f.s1 * I_QF + bias_f.s1) * calib_f.s1)), NL_M, NL_N));
		regC_uchar8[offset_uc8].s6 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[2 * 4 + i].s7) * quant_f.s2 * I_QF + bias_f.s2) * calib_f.s2)), NL_M, NL_N));
		regC_uchar8[offset_uc8].s7 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[3 * 4 + i].s7) * quant_f.s3 * I_QF + bias_f.s3) * calib_f.s3)), NL_M, NL_N));

		FUNC_CALL(sub_group_block_write_uchar8)(&g_outC_uchar[padded_offset], regC_uchar8[offset_uc8]);
        cOffset += sizeof(uchar8) * SG_SIZE;
        offset_uc8++;
    }
#else
    // Write final accumulated values
    uint cOffset = sg_global_idX * ((MATRIX_M / 8) * SG_TILE_N) + sg_global_idY * (SG_TILE_M / 8) +
                   sg_tid * (MATRIX_M / 8);
    __attribute__((opencl_unroll_hint(SIMD_LANE_N)))
    for (uint i = 0; i < (SIMD_LANE_N); ++i)
    {
        __attribute__((opencl_unroll_hint(SIMD_LANE_M / 8)))
        for (uint j = 0; j < (SIMD_LANE_M / 8); ++j)
        {
            g_matrixC[cOffset + j] = regC[i*(SIMD_LANE_M / 8) + j];
        }
        cOffset += SG_SIZE * (MATRIX_M / 8);
    }
#endif

}

    uint padded_offset = f_slice_idx * OUT_F_BLOCK_PITCH;
    padded_offset += b_slice_idx * OUT_B_BLOCK_PITCH;
    padded_offset += y_idx * OUT_Y_PITCH;
    padded_offset += x_idx * OUT_X_PITCH;
    padded_offset += b_val_idx * 32;
    padded_offset += f_val_idx;
    padded_offset += OUT_OFFSET;

    return padded_offset;
}

inline void FUNC(mmad_32x32_int8)(  __local uint* l_tileA, const uint l_offsetTileA,
                                    __local int8* l_tileB, const uint l_offsetTileB_col0,
                                    const uint l_offsetTileB_col1, const uint l_offsetTileB_col2,
                                    const uint l_offsetTileB_col3, int8* rowA, int8* colB,
                                    int8* regC)
{
    // Read tile A from SLM to regA
    uint l_offsetTileATemp = l_offsetTileA;
    __attribute__((opencl_unroll_hint(SG_TILE_M / 8)))
    for (uint j = 0; j < (SG_TILE_M / 8); ++j)
    {
		rowA[j] = as_int8(SLM_BLOCK_READ_8(&l_tileA[l_offsetTileATemp]));
        l_offsetTileATemp += 8 * SG_SIZE;
    }
    // Read tile B from SLM to regB and compute mmad
    colB[0] = l_tileB[l_offsetTileB_col0];
    colB[1] = l_tileB[l_offsetTileB_col1];
    __attribute__((opencl_unroll_hint(SG_TILE_M / 8)))
    for (uint j = 0; j < (SG_TILE_M / 8); ++j)
    {
        // Compute partial C
        regC[0*(SIMD_LANE_M / 8) + j] = MMAD_8x8( rowA[j], colB[0], regC[0*(SIMD_LANE_M / 8) + j]);
    }
    colB[0] = l_tileB[l_offsetTileB_col2];
    __attribute__((opencl_unroll_hint(SG_TILE_M / 8)))
    for (uint j = 0; j < (SG_TILE_M / 8); ++j)
    {
        // Compute partial C
        regC[1*(SIMD_LANE_M / 8) + j] = MMAD_8x8( rowA[j], colB[1], regC[1*(SIMD_LANE_M / 8) + j] );
	}
    colB[1] = l_tileB[l_offsetTileB_col3];
    __attribute__((opencl_unroll_hint(SG_TILE_M / 8)))
    for (uint j = 0; j < (SG_TILE_M / 8); ++j)
    {
        // Compute partial C
        regC[2*(SIMD_LANE_M / 8) + j] = MMAD_8x8(rowA[j], colB[0], regC[2*(SIMD_LANE_M / 8) + j]);
    }
    __attribute__((opencl_unroll_hint(SG_TILE_M / 8)))
    for (uint j = 0; j < (SG_TILE_M / 8); ++j)
    {
        // Compute partial C
        regC[3*(SIMD_LANE_M / 8) + j] = MMAD_8x8(rowA[j], colB[1], regC[3*(SIMD_LANE_M / 8) + j]);
    }
}

/*
 *  \brief GEMM kernel to compute MxN matrix using SLM
 *  \param g_inA  - Input matrix
 *  \param g_inB  - Input matrix
 *  \param g_outC - Output matrix
 */

__attribute__((intel_reqd_sub_group_size(SG_SIZE)))
KERNEL(Kernel_GEMM_MMAD8_32x32SG_128x128WG_SLM_INT8)
														  (
														  __global char* const g_inA,
														  __global int* g_outC,
														  __global char* const g_inB,
 														    #if BIAS_TERM
																__global BIAS_TYPE* biases,
															#endif
																__global float* quantizations,
															#if CALIBRATION_TERM
																__global float* calibrations,
															#endif
																uint split_idx

														   )
{

    __global int4* const g_matrixA = (__global int4*)g_inA;
    __global int4* const g_matrixB = (__global int4*)g_inB;
    __global int8* g_matrixC = (__global int8*)g_outC;

    // 1) All work-items in work-group fill SLM with tileA and tileB.
    // 2) Each sub-group works to compute a 32x32 tileC (stored in regC).
    //    Note that each work-item in the sub-group computes a 32x4 chunk of tileC.
    // 3) Repeat until tileC is fully computed (while moving tileA and tileB "windows")
    __local int8 l_workGroupTileA_0[(WG_TILE_M * MATRIX_SMALL_K) / sizeof(int8)];
    __local int8 l_workGroupTileB_0[(WG_TILE_N * MATRIX_SMALL_K) / sizeof(int8)];
    __local uint* l_workGroupTileA_uint_0 = (__local uint*)l_workGroupTileA_0;

    __local int8 l_workGroupTileA_1[(WG_TILE_M * MATRIX_SMALL_K) / sizeof(int8)];
    __local int8 l_workGroupTileB_1[(WG_TILE_N * MATRIX_SMALL_K) / sizeof(int8)];
    __local uint* l_workGroupTileA_uint_1 = (__local uint*)l_workGroupTileA_1;

    __local int8* l_workGroupTileA_live =  l_workGroupTileA_0;
    __local int8* l_workGroupTileB_live =  l_workGroupTileB_0;
    __local uint* l_workGroupTileA_live_uint = l_workGroupTileA_uint_0;

    __local int4* l_workGroupTileA_0_int4 = (__local int4*)l_workGroupTileA_0;
    __local int4* l_workGroupTileB_0_int4 = (__local int4*)l_workGroupTileB_0;
    __local int4* l_workGroupTileA_1_int4 = (__local int4*)l_workGroupTileA_1;
    __local int4* l_workGroupTileB_1_int4 = (__local int4*)l_workGroupTileB_1;

    const uint l_groupSize = get_local_size(DIM_X) * get_local_size(DIM_Y);

    // Thread IDs
    const uint g_tidY = get_global_id(DIM_Y);
    const uint g_tidX = get_global_id(DIM_X);
    const uint l_tidX = get_local_id(DIM_X);
    const uint l_tidY = get_local_id(DIM_Y);
    const uint l_tid = l_tidY * get_local_size(DIM_X) + l_tidX;

    // SubGroup IDs
    const uint sg_tid = get_sub_group_local_id();
    const uint sg_global_idX = (uint)(g_tidX / SG_SIZE);
    const uint sg_global_idY = g_tidY;
    const uint sg_local_idX = (uint)(l_tidX / SG_SIZE);
    const uint sg_local_idY = l_tidY;
    const uint sg_local_id = sg_local_idY * get_local_size(DIM_X) / SG_SIZE + sg_local_idX;

    const uint sub_group_id = get_sub_group_id();

    // Registers
    int8 regC[(SIMD_LANE_M / 8) * SIMD_LANE_N] = {0}; // Each work-item responsible for 32x4 ints elts
    int8 rowA[(SG_TILE_M * MATRIX_SMALL_K / SG_SIZE) / sizeof(int8)]; // each work-item will hold 1/8 of matrixA
    int8 colB[2]; // each lane will store 32x4 piece of matrixB

    // SLM indices
    const uint l_offsetTileA = SG_TILE_M * (MATRIX_SMALL_K / sizeof(uint)) * sg_local_idY;
    const uint numElements32x32TileB = (MATRIX_SMALL_K * SG_TILE_N) / sizeof(int8);
    const uint numElements32x8TileB = numElements32x32TileB / 4;
    const uint l_offsetTileB = numElements32x32TileB * sg_local_idX;
    const uint l_offsetTileB_col0 = l_offsetTileB + sg_tid;
    const uint l_offsetTileB_col1 = l_offsetTileB + 1 * numElements32x8TileB + sg_tid;
    const uint l_offsetTileB_col2 = l_offsetTileB + 2 * numElements32x8TileB + sg_tid;
    const uint l_offsetTileB_col3 = l_offsetTileB + 3 * numElements32x8TileB + sg_tid;

    // Global indices
#ifdef TILED_GLOBAL_LAYOUT  // 32-row major (matrixA) and 32-col major (matrixB)
    uint g_idxA = ((MATRIX_SMALL_K / sizeof(int4)) * WG_TILE_M) * get_group_id(DIM_Y) + l_tid;
    uint g_idxB = ((MATRIX_SMALL_K / sizeof(int4)) * WG_TILE_N) * get_group_id(DIM_X) + l_tid;
#else  // Row (matrixA) and Col (matrixB) major layout
    uint g_idxA = WG_TILE_M * (MATRIX_K / sizeof(int4)) * get_group_id(DIM_Y) +
                  (l_tid / 2) * (MATRIX_K / sizeof(int4)) + (l_tid % 2);
    uint g_idxB = WG_TILE_N * (MATRIX_K / sizeof(int4)) * get_group_id(DIM_X) +
                  (l_tid / 2) * (MATRIX_K / sizeof(int4)) + (l_tid % 2);
#endif

    // Initial SLM setup
    {
        uint g_idxATemp = g_idxA;
        for (uint i = l_tid; i < (WG_TILE_M * MATRIX_SMALL_K / sizeof(int4)); i += WG_SIZE)
        {
            l_workGroupTileA_0_int4[i] = g_matrixA[g_idxATemp];
#ifdef TILED_GLOBAL_LAYOUT
            g_idxATemp += WG_SIZE;
#else
            g_idxATemp += (WG_SIZE / 2) * (MATRIX_K / sizeof(int4));
#endif
        }

        uint g_idxBTemp = g_idxB;
        for (uint i = l_tid; i < (WG_TILE_N * MATRIX_SMALL_K / sizeof(int4)); i += WG_SIZE)
        {
            l_workGroupTileB_0_int4[i] = g_matrixB[g_idxBTemp];
#ifdef TILED_GLOBAL_LAYOUT
            g_idxBTemp += WG_SIZE;
#else
            g_idxBTemp +=  (WG_SIZE / 2) * (MATRIX_K / sizeof(int4));
#endif
        }

#ifdef TILED_GLOBAL_LAYOUT
        g_idxA += MATRIX_M * MATRIX_SMALL_K / sizeof(int4);
        g_idxB += MATRIX_N * MATRIX_SMALL_K / sizeof(int4);
#else
        g_idxA += MATRIX_SMALL_K / sizeof(int4);
        g_idxB += MATRIX_SMALL_K / sizeof(int4);
#endif

        barrier(CLK_LOCAL_MEM_FENCE);
    }

    int4 hdcReadValueA[(WG_TILE_M * MATRIX_SMALL_K / sizeof(int4)) / WG_SIZE < 1
                           ? 1
                           : (WG_TILE_M * MATRIX_SMALL_K / sizeof(int4)) / WG_SIZE];
    int4 hdcReadValueB[(WG_TILE_N * MATRIX_SMALL_K / sizeof(int4)) / WG_SIZE < 1
                           ? 1
                           : (WG_TILE_N * MATRIX_SMALL_K / sizeof(int4)) / WG_SIZE];

    __attribute__((opencl_unroll_hint(1)))
    for (uint k = 0; k < (MATRIX_K / MATRIX_SMALL_K) - 1; k++)
    {
        /*
         * SLM setup - HDC read only
         */

// Copyright (c) 2018 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

void FUNC(intel_sub_group_block_write_4)( __local uint* p, uint4 data )
{
    p[ get_sub_group_local_id() ] = data.s0;
    p += 8;
    p[ get_sub_group_local_id() ] = data.s1;
    p += 8;
    p[ get_sub_group_local_id() ] = data.s2;
    p += 8;
    p[ get_sub_group_local_id() ] = data.s3;
}

uint4 FUNC(intel_sub_group_block_read_uint4)(const __local uint* p)
{
    uint4 ret;
    uint idx = get_sub_group_local_id();

    ret.s0 = p[idx]; idx += get_max_sub_group_size();
    ret.s1 = p[idx]; idx += get_max_sub_group_size();
    ret.s2 = p[idx]; idx += get_max_sub_group_size();
    ret.s3 = p[idx]; idx += get_max_sub_group_size();

    return ret;
}

uint8 FUNC(intel_sub_group_block_read_uint8)(const __local uint* p)
{
    uint8 ret;
    uint idx = get_sub_group_local_id();

    ret.s0 = p[idx]; idx += get_max_sub_group_size();
    ret.s1 = p[idx]; idx += get_max_sub_group_size();
    ret.s2 = p[idx]; idx += get_max_sub_group_size();
    ret.s3 = p[idx]; idx += get_max_sub_group_size();
    ret.s4 = p[idx]; idx += get_max_sub_group_size();
    ret.s5 = p[idx]; idx += get_max_sub_group_size();
    ret.s6 = p[idx]; idx += get_max_sub_group_size();
    ret.s7 = p[idx]; idx += get_max_sub_group_size();

    return ret;
}

inline int FUNC(mmad_4)(char4 input, char4 weight, int acc)
{
	acc += (input[0] * weight[0]);
	acc += (input[1] * weight[1]);
	acc += (input[2] * weight[2]);
	acc += (input[3] * weight[3]);
	return acc;
}

inline int FUNC(mmad8)(int8 A_scalars, int8 B_vectors, int acc)
{
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[0]), as_char4(B_vectors[0]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[1]), as_char4(B_vectors[1]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[2]), as_char4(B_vectors[2]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[3]), as_char4(B_vectors[3]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[4]), as_char4(B_vectors[4]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[5]), as_char4(B_vectors[5]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[6]), as_char4(B_vectors[6]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[7]), as_char4(B_vectors[7]), acc);

	return acc;
}

inline int4 FUNC(mmad4x8)(int4 A_vectors, int8 B_vectors, int4 acc)
{
    int4 ret;
    for(uint i = 0; i < 4; i++)
    {
        int8 A_scalars;
        A_scalars.s0 = sub_group_broadcast(A_vectors[i], 0);
        A_scalars.s1 = sub_group_broadcast(A_vectors[i], 1);
        A_scalars.s2 = sub_group_broadcast(A_vectors[i], 2);
        A_scalars.s3 = sub_group_broadcast(A_vectors[i], 3);
        A_scalars.s4 = sub_group_broadcast(A_vectors[i], 4);
        A_scalars.s5 = sub_group_broadcast(A_vectors[i], 5);
        A_scalars.s6 = sub_group_broadcast(A_vectors[i], 6);
        A_scalars.s7 = sub_group_broadcast(A_vectors[i], 7);
        ret[i] = FUNC_CALL(mmad8)(A_scalars, B_vectors, acc[i]);
    }
    return ret;
}

inline int8 FUNC(mmad8x8)(int8 A_vectors, int8 B_vectors, int8 acc)
{
    int8 ret;
    for(uint i = 0; i < 8; i++)
    {
        int8 A_scalars;
        A_scalars.s0 = sub_group_broadcast(A_vectors[i], 0);
        A_scalars.s1 = sub_group_broadcast(A_vectors[i], 1);
        A_scalars.s2 = sub_group_broadcast(A_vectors[i], 2);
        A_scalars.s3 = sub_group_broadcast(A_vectors[i], 3);
        A_scalars.s4 = sub_group_broadcast(A_vectors[i], 4);
        A_scalars.s5 = sub_group_broadcast(A_vectors[i], 5);
        A_scalars.s6 = sub_group_broadcast(A_vectors[i], 6);
        A_scalars.s7 = sub_group_broadcast(A_vectors[i], 7);
        ret[i] = FUNC_CALL(mmad8)(A_scalars, B_vectors, acc[i]);
    }
    return ret;
}

// TODO: remove it when cl_intel_subgroups_char extension will work
inline void FUNC(sub_group_block_write_uchar8)(__global uchar* outPtr, uchar8 v)
{
#ifdef cl_intel_subgroups_char
    intel_sub_group_block_write_uc8(outPtr, v);
#else
    uint idx = get_sub_group_local_id();

	outPtr[idx] = v.s0; idx += get_max_sub_group_size();
    outPtr[idx] = v.s1; idx += get_max_sub_group_size();
    outPtr[idx] = v.s2; idx += get_max_sub_group_size();
    outPtr[idx] = v.s3; idx += get_max_sub_group_size();
    outPtr[idx] = v.s4; idx += get_max_sub_group_size();
    outPtr[idx] = v.s5; idx += get_max_sub_group_size();
    outPtr[idx] = v.s6; idx += get_max_sub_group_size();
    outPtr[idx] = v.s7; idx += get_max_sub_group_size();
#endif
}

inline uchar8 FUNC(sub_group_block_read_uchar8)(const __global uchar* ptr)
{
#ifdef cl_intel_subgroups_char
    return intel_sub_group_block_read_uc8(ptr);
#else
    uint idx = get_sub_group_local_id();

    uchar8 ret;

    ret.s0 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s1 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s2 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s3 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s4 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s5 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s6 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s7 = ptr[idx]; idx += get_max_sub_group_size();

    return ret;

#endif
}

//


#define MMAD_8(A, B, C) FUNC_CALL(mmad8)(A, B, C)
#define MMAD_4x8(A, B, C) FUNC_CALL(mmad4x8)(A, B, C)
#define MMAD_8x8(A, B, C) FUNC_CALL(mmad8x8)(A, B, C)
#define SLM_BLOCK_WRITE_4(A, B) (FUNC_CALL(intel_sub_group_block_write_4)(A, B))
#define SLM_BLOCK_READ_4(A) (FUNC_CALL(intel_sub_group_block_read_uint4)(A))
#define SLM_BLOCK_READ_8(A) (FUNC_CALL(intel_sub_group_block_read_uint8)(A))


inline uint FUNC(calculate_output_offset_to_account_padding)(uint cOffset)
{
    uint tmp_idx = cOffset;
    uint f_val_idx = tmp_idx % 32;
    tmp_idx /= 32;
    uint b_val_idx = tmp_idx % 4;
    tmp_idx /= 4;
    uint x_idx = tmp_idx % OUTPUT_SIZE_X;
    tmp_idx /= OUTPUT_SIZE_X;
    uint y_idx = tmp_idx % OUTPUT_SIZE_Y;
    tmp_idx /= OUTPUT_SIZE_Y;
    uint b_slice_idx = tmp_idx % (OUTPUT_BATCH_NUM / 4);
    tmp_idx /= (OUTPUT_BATCH_NUM / 4);
    uint f_slice_idx = tmp_idx % (OUTPUT_FEATURE_NUM / 32);

convolution_gpu_mmad_32x32sg_slm_int8#define MMAD_4x8(A, B, C) FUNC_CALL(mmad4x8)(A, B, C)
#define MMAD_8x8(A, B, C) FUNC_CALL(mmad8x8)(A, B, C)
#define SLM_BLOCK_WRITE_4(A, B) (FUNC_CALL(intel_sub_group_block_write_4)(A, B))
#define SLM_BLOCK_READ_4(A) (FUNC_CALL(intel_sub_group_block_read_uint4)(A))
#define SLM_BLOCK_READ_8(A) (FUNC_CALL(intel_sub_group_block_read_uint8)(A))


#define FILTER_IFM_MMAD_NUM ((FILTER_IFM_NUM + 31) / 32)
#define FILTER_OFM_MMAD_NUM ((FILTER_OFM_NUM + 7) / 8)
#define FILTER_IFM_ALIGNED (FILTER_IFM_MMAD_NUM * 32)
#define FILTER_OFM_ALIGNED (FILTER_OFM_MMAD_NUM * 8)
// input data is in blocks 4batch x 32 features
// each SIMD process 4 batches and 8 output features

__attribute__((intel_reqd_sub_group_size(SUB_GROUP_SIZE)))
KERNEL(convolution_mmad_batched)(
    __global INPUT0_TYPE* input,
    __global OUTPUT_TYPE* output,
    __global FILTER_TYPE* weights,
#if BIAS_TERM
    __global BIAS_TYPE* biases,
#endif
#if QUANTIZATION_TERM
    const __global float* quantizations,
#endif
#if CALIBRATION_TERM
    const __global float* calibrations,
#endif
    uint split_idx)
{
    const uint x = get_global_id(0);
    const uint y = get_global_id(1);

    const uint f = get_global_id(2) % FILTER_OFM_ALIGNED;
    const uint b_block = get_global_id(2) / FILTER_OFM_ALIGNED;
    const uint f_block = f / 32;

    int4 dotProd = 0;

    const int input_x = x * STRIDE_SIZE_X - PADDING_SIZE_X;
    const int input_y = y * STRIDE_SIZE_Y - PADDING_SIZE_Y;

    const uint filter_offset = (get_group_id(2) % FILTER_OFM_MMAD_NUM) * FILTER_OFM_BLOCK_PITCH;
    const uint input_offset = IN_OFFSET + IN_B_BLOCK_PITCH * b_block;

    for (uint k = 0; k < FILTER_IFM_MMAD_NUM; ++k)
    {
        for (uint j = 0; j < FILTER_SIZE_Y ; ++j)
        {
            const int input_offset_y = input_y + j * DILATION_SIZE_Y;
            const bool zero_y = input_offset_y >= INPUT0_SIZE_Y || input_offset_y < 0;

            if(!zero_y)
            {
                for (uint i = 0; i < FILTER_SIZE_X ; ++i)
                {
                    const int input_offset_x = input_x + i * DILATION_SIZE_X;
                    const bool zero_x = input_offset_x >= INPUT0_SIZE_X || input_offset_x < 0;

                    if(!zero_x)
                    {
                        uint input_idx = input_offset + input_offset_y * IN_Y_PITCH + input_offset_x * IN_X_PITCH + k * IN_F_BLOCK_PITCH;
                        uint filter_idx = filter_offset + k*FILTER_Y_PITCH * FILTER_SIZE_Y + j*FILTER_Y_PITCH + i*FILTER_X_PITCH;

						int4 input_data = as_int4(intel_sub_group_block_read4((const __global uint*)(input + input_idx)));
                        int8 weights_data = as_int8(intel_sub_group_block_read8((const __global uint*)(weights + filter_idx)));

                        dotProd = MMAD_4x8(input_data, weights_data, dotProd);
                    }
                }
            }
        }
    }

for(uint b = 0; b < 4; b++)
{

#if BIAS_TERM
    const uint bias_index = f;
#if QUANTIZATION_TERM
#if CALIBRATION_TERM
    dotProd[b] = (UNIT_TYPE)round(((float)dotProd[b] * quantizations[f] * I_QF + biases[bias_index]) * calibrations[f]);
#else  // CALIBRATION_TERM
    dotProd[b] = (UNIT_TYPE)round(((float)dotProd[b] * quantizations[f] * I_QF + biases[bias_index]) * O_QF);
#endif // CALIBRATION_TERM
#else // QUANTIZATION_TERM
    dotProd[b] += (UNIT_TYPE)biases[bias_index];
#endif // QUANTIZATION_TERM
#endif // BIAS_TERM

    const uint dst_index = GET_DATA_FS_BS_YX_BSV4_FSV32_INDEX(OUTPUT, b_block*4 + b, f, y, x);
#if QUANTIZATION_TERM
    output[dst_index] = ACTIVATION(convert_char(dotProd[b]), NL_M, NL_N);
#else
    output[dst_index] = ACTIVATION(dotProd[b], NL_M, NL_N);
#endif
}
}

#undef FILTER_IFM_MMAD_NUM
#undef FILTER_OFM_MMAD_NUM
#undef FILTER_IFM_ALIGNED
#undef FILTER_OFM_ALIGNED

// Copyright (c) 2018 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))


/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/


#define GET_DATA_INDEX(prefix, b, f, y, x)  \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_INDEX_SAFE(prefix, b, f, y, x)                     \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

 #define GET_3D_DATA_INDEX(prefix, b, f, z, y, x) \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (z)*CAT(prefix, _Z_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_3D_DATA_INDEX_SAFE(prefix, b, f, z, y, x)               \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (z % CAT(prefix, _SIZE_Z     ))*CAT(prefix, _Z_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_BS_FYX_BSV8_INDEX(prefix, b, f, y, x, sub_group_size)  \
    CAT(prefix, _OFFSET) +                                              \
    ((b) % (sub_group_size)) +                                          \
    (sub_group_size)*(                                                  \
        (x)*CAT(prefix, _X_PITCH) +                                     \
        (y)*CAT(prefix, _Y_PITCH) +                                     \
        (f)*CAT(prefix, _FEATURE_PITCH) +                               \
        ((b) / (sub_group_size))*CAT(prefix, _BATCH_PITCH)              \
    )

inline uint FUNC(get_bf8_xy16_index)(uint b, uint f, uint y, uint x, uint x_size, uint y_size, uint f_size, uint offset)
{
    const uint xy_idx = x + y * x_size;
    const uint xy_offset = (xy_idx % 16) + (xy_idx / 16) * 16 * 8;
    const uint xy_block_num = (x_size * y_size + 16 - 1) / 16;
    const uint f_offset = (f % 8) * 16 + (f / 8) * xy_block_num * 16 * 8;
    const uint f_block_num = (f_size + 8 - 1) / 8;
    const uint b_offset = b * f_block_num * xy_block_num * 128;

    const size_t idx = offset + xy_offset + f_offset + b_offset;

    return idx;
}

inline uint FUNC(get_bfyx_f16_index)(
    uint b, uint f, uint y, uint x,
    uint x_size, uint y_size, uint f_size,
    uint y_pad_before,uint y_pad_after,
    uint x_pad_before, uint x_pad_after,
    uint f_pad_before, uint f_pad_after)
{
    const uint feature_slice_size = 16;

    const uint full_width = x_size + x_pad_before + x_pad_after;
    const uint full_height = y_size + y_pad_before + y_pad_after;
    const uint full_features = f_pad_before + f_size + f_pad_after;
    const uint feature_tiles_number = (full_features + feature_slice_size - 1) / feature_slice_size;

    const uint x_pitch = feature_slice_size;
    const uint y_pitch = x_pitch * full_width;
    const uint fs_pitch = y_pitch * full_height;
    const uint b_pitch = fs_pitch * feature_tiles_number;

    const uint x_offset = (x + x_pad_before) * x_pitch;
    const uint y_offset = (y + y_pad_before) * y_pitch;
    const uint fs_offset = (f / feature_slice_size + f_pad_before / feature_slice_size) * fs_pitch;
    const uint b_offset = b * b_pitch;

    const size_t idx = x_offset + y_offset + fs_offset + b_offset + (f % feature_slice_size);

    return idx;
}

#define GET_DATA_BFYX_F16_INDEX(prefix, b, f, y, x)     \
    FUNC_CALL(get_bfyx_f16_index)(                      \
        b, f, y, x,                                     \
        CAT(prefix, _SIZE_X ),                          \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _FEATURE_NUM),                      \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_X),                \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _PAD_AFTER_FEATURE_NUM))

#define GET_FILTER_O_I_YX_I16_O16_INDEX(prefix, o, i, y, x, sub_group_size)  \
    CAT(prefix, _OFFSET) +                                                   \
    ((o) % (sub_group_size)) +                                               \
    (sub_group_size)*(                                                       \
        (x)*(sub_group_size)*CAT(prefix, _X_PITCH) +                         \
        (y)*(sub_group_size)*CAT(prefix, _Y_PITCH) +                         \
        ((i) % (sub_group_size)) +                                           \
        ((i) / (sub_group_size))*(sub_group_size)*CAT(prefix, _IFM_PITCH) +  \
        ((o) / (sub_group_size))*CAT(prefix, _OFM_PITCH)                     \
    )

inline uint FUNC(get_byxf_af32_index)(uint b, uint f, uint y, uint x, uint y_pitch, uint b_pitch, uint f_size, uint offset)
{
	const uint f_aligned_to_32 = ((f_size + 31) / 32) * 32;
#else

#define QUANTIZATION \
    char4 out;\
    out[0] = ACTIVATION(convert_char(round(((float)dotProd[o + OUT_BLOCK_WIDTH * 0][b] * quant_f.s0 * I_QF + bias_f.s0) * calib_f.s0)), NL_M, NL_N);\
    out[1] = ACTIVATION(convert_char(round(((float)dotProd[o + OUT_BLOCK_WIDTH * 1][b] * quant_f.s1 * I_QF + bias_f.s1) * calib_f.s1)), NL_M, NL_N);\
    out[2] = ACTIVATION(convert_char(round(((float)dotProd[o + OUT_BLOCK_WIDTH * 2][b] * quant_f.s2 * I_QF + bias_f.s2) * calib_f.s2)), NL_M, NL_N);\
    out[3] = ACTIVATION(convert_char(round(((float)dotProd[o + OUT_BLOCK_WIDTH * 3][b] * quant_f.s3 * I_QF + bias_f.s3) * calib_f.s3)), NL_M, NL_N);

#endif

#define FILTER_IFM_MMAD_NUM ((FILTER_IFM_NUM + 31) / 32)
#define FILTER_OFM_MMAD_NUM ((FILTER_OFM_NUM + 7) / 8)
#define FILTER_IFM_ALIGNED (FILTER_IFM_MMAD_NUM * 32)
#define FILTER_OFM_ALIGNED (FILTER_OFM_MMAD_NUM * 8)
// input data is in blocks 4batch x 32 features

#define NEEDED_INPUT_X ((OUT_BLOCK_WIDTH-1) * (STRIDE_SIZE_X) + (FILTER_SIZE_X - 1) + 1)

__attribute__((intel_reqd_sub_group_size(SUB_GROUP_SIZE)))
KERNEL(convolution_mmad_batched_block)(
    __global INPUT0_TYPE* input,
    __global OUTPUT_TYPE* output,
    __global FILTER_TYPE* weights,
    __global BIAS_TYPE* biases,
    const __global float* quantizations,
#if CALIBRATION_TERM
    const __global float* calibrations,
#endif
    uint split_idx)
{
    const uint x = get_global_id(0) * OUT_BLOCK_WIDTH;
    const uint y = get_global_id(1) * OUT_BLOCK_HEIGHT;

    const uint b_f = (get_group_id(2) * WG_BATCH_COUNT + get_sub_group_id());

#if WEIGHTS_PER_WORKITEM == 4
    const uint f = (b_f * 32 + get_sub_group_local_id() * 4) % FILTER_OFM_ALIGNED;
#else
    const uint f = ((b_f * WEIGHTS_PER_WORKITEM * 8) + get_sub_group_local_id() ) % FILTER_OFM_ALIGNED;
#endif
    const uint b_block = (b_f * 8 * WEIGHTS_PER_WORKITEM) / FILTER_OFM_ALIGNED;

    // all accumulators
    int4 dotProd[OUT_BLOCK_WIDTH * OUT_BLOCK_HEIGHT * WEIGHTS_PER_WORKITEM] = { 0 };

    const int input_x = x * STRIDE_SIZE_X - PADDING_SIZE_X;
    const int input_y = y * STRIDE_SIZE_Y - PADDING_SIZE_Y;

    const uint filter_offset = ((b_f * WEIGHTS_PER_WORKITEM) % FILTER_OFM_MMAD_NUM) * FILTER_OFM_BLOCK_PITCH;
    uint input_offset = IN_OFFSET + IN_B_BLOCK_PITCH * b_block + input_y * IN_Y_PITCH + input_x * IN_X_PITCH;

    uint filter_idx = filter_offset;
    __attribute__((opencl_unroll_hint(1)))
    for (uint k = 0; k < FILTER_IFM_MMAD_NUM; ++k)
    {
        uint input_offset_y = 0;
        __attribute__((opencl_unroll_hint(FILTER_SIZE_Y)))
        for (uint j = 0; j < FILTER_SIZE_Y; ++j)
        {
            uint input_idx = input_offset + input_offset_y;

            ////// preloading input data //////
            int4 preloaded_input[NEEDED_INPUT_X];
            for(int p = 0; p < NEEDED_INPUT_X; p++)
            {
                preloaded_input[p] = as_int4(intel_sub_group_block_read4((const __global uint*)(input + input_idx)));
                input_idx += IN_X_PITCH;
            }

            __attribute__((opencl_unroll_hint(WEIGHTS_PER_WORKITEM)))
            for(uint wi = 0; wi < WEIGHTS_PER_WORKITEM; wi++)
            {
                ////// preloading weights data //////
                int8 preloaded_weights[FILTER_SIZE_X];
                uint tmp_filter_idx = filter_idx;
                __attribute__((opencl_unroll_hint(FILTER_SIZE_X)))
                for(uint w = 0; w < FILTER_SIZE_X; w++)
                {
                    preloaded_weights[w] = as_int8(intel_sub_group_block_read8((const __global uint*) (weights + tmp_filter_idx + (wi * FILTER_OFM_BLOCK_PITCH))));
                    tmp_filter_idx += FILTER_X_PITCH;
                }
                ////// computing //////
                __attribute__((opencl_unroll_hint(FILTER_SIZE_X)))
                for (uint i = 0; i < FILTER_SIZE_X; ++i)
                {
                    __attribute__((opencl_unroll_hint(OUT_BLOCK_WIDTH)))
                    for(uint ox = 0; ox < OUT_BLOCK_WIDTH; ox++)
                    {
                        const uint out_idx = ox + wi * OUT_BLOCK_WIDTH;
                        const uint in_idx = ox * STRIDE_SIZE_X + i;
                        dotProd[out_idx] = MMAD_4x8(preloaded_input[in_idx], preloaded_weights[i], dotProd[out_idx]);
                    }
                }
            }
            filter_idx += FILTER_X_PITCH * FILTER_SIZE_X;
            input_offset_y += IN_Y_PITCH;
        }
        input_offset += IN_F_BLOCK_PITCH;
    }

////// QUANTIZE & OUTPUT //////

#if WEIGHTS_PER_WORKITEM == 4

float4 quant_f = vload4(0, quantizations + f);
float4 bias_f = vload4(0, biases + f);
float4 calib_f = vload4(0, calibrations + f);

uint dst_index = GET_DATA_FS_BS_YX_BSV4_FSV32_INDEX(OUTPUT, b_block*4, f, y, x);

__attribute__((opencl_unroll_hint(OUT_BLOCK_WIDTH)))
for(uint o = 0; o < OUT_BLOCK_WIDTH; o++)
{
    uint4 to_output;
    __attribute__((opencl_unroll_hint(4)))
    for(uint b = 0; b < 4; b++)
    {
        QUANTIZATION;
        to_output[b] = as_uint(out);
    }
    intel_sub_group_block_write4((__global uint*)(output + dst_index), to_output);
    dst_index += OUT_X_PITCH;
}
#else
__attribute__((opencl_unroll_hint(WEIGHTS_PER_WORKITEM)))
for(uint w = 0; w < WEIGHTS_PER_WORKITEM; w++)
{
    float quant_f = quantizations[f + w * 8];
    float bias_f = biases[f + w * 8];
#if CALIBRATION_TERM
    float calib_f = calibrations[f + w * 8];
#endif
    __attribute__((opencl_unroll_hint(OUT_BLOCK_WIDTH)))
    for(uint o = 0; o < OUT_BLOCK_WIDTH; o++)
    {
        const uint out_idx = o + OUT_BLOCK_WIDTH * w;
        __attribute__((opencl_unroll_hint(4)))
        for(uint b = 0; b < 4; b++)
        {
        #if CALIBRATION_TERM
            dotProd[out_idx][b] = (UNIT_TYPE)round(((float)dotProd[out_idx][b] * quant_f * I_QF + bias_f) * calib_f);
        #else  // CALIBRATION_TERM
            dotProd[out_idx][b] = (UNIT_TYPE)round(((float)dotProd[out_idx][b] * quant_f * I_QF + bias_f) * O_QF);
        #endif // CALIBRATION_TERM

            const uint dst_index = GET_DATA_FS_BS_YX_BSV4_FSV32_INDEX(OUTPUT, b_block*4 + b, f + w * 8, y, x + o);
            output[dst_index] = ACTIVATION(convert_char(dotProd[out_idx][b]), NL_M, NL_N);
        }
    }
}
#endif

}

#undef FILTER_IFM_MMAD_NUM
#undef FILTER_OFM_MMAD_NUM
#undef FILTER_IFM_ALIGNED
#undef FILTER_OFM_ALIGNED

#undef SCALE
#undef QUANTIZATION


#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

void FUNC(intel_sub_group_block_write_4)( __local uint* p, uint4 data )
{
    p[ get_sub_group_local_id() ] = data.s0;
    p += 8;
    p[ get_sub_group_local_id() ] = data.s1;
    p += 8;
    p[ get_sub_group_local_id() ] = data.s2;
    p += 8;
    p[ get_sub_group_local_id() ] = data.s3;
}

uint4 FUNC(intel_sub_group_block_read_uint4)(const __local uint* p)
{
    uint4 ret;
    uint idx = get_sub_group_local_id();

    ret.s0 = p[idx]; idx += get_max_sub_group_size();
    ret.s1 = p[idx]; idx += get_max_sub_group_size();
    ret.s2 = p[idx]; idx += get_max_sub_group_size();
    ret.s3 = p[idx]; idx += get_max_sub_group_size();

    return ret;
}

uint8 FUNC(intel_sub_group_block_read_uint8)(const __local uint* p)
{
    uint8 ret;
    uint idx = get_sub_group_local_id();

    ret.s0 = p[idx]; idx += get_max_sub_group_size();
    ret.s1 = p[idx]; idx += get_max_sub_group_size();
    ret.s2 = p[idx]; idx += get_max_sub_group_size();
    ret.s3 = p[idx]; idx += get_max_sub_group_size();
    ret.s4 = p[idx]; idx += get_max_sub_group_size();
    ret.s5 = p[idx]; idx += get_max_sub_group_size();
    ret.s6 = p[idx]; idx += get_max_sub_group_size();
    ret.s7 = p[idx]; idx += get_max_sub_group_size();

    return ret;
}

inline int FUNC(mmad_4)(char4 input, char4 weight, int acc)
{
	acc += (input[0] * weight[0]);
	acc += (input[1] * weight[1]);
	acc += (input[2] * weight[2]);
	acc += (input[3] * weight[3]);
	return acc;
}

inline int FUNC(mmad8)(int8 A_scalars, int8 B_vectors, int acc)
{
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[0]), as_char4(B_vectors[0]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[1]), as_char4(B_vectors[1]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[2]), as_char4(B_vectors[2]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[3]), as_char4(B_vectors[3]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[4]), as_char4(B_vectors[4]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[5]), as_char4(B_vectors[5]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[6]), as_char4(B_vectors[6]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[7]), as_char4(B_vectors[7]), acc);

	return acc;
}

inline int4 FUNC(mmad4x8)(int4 A_vectors, int8 B_vectors, int4 acc)
{
    int4 ret;
    for(uint i = 0; i < 4; i++)
    {
        int8 A_scalars;
        A_scalars.s0 = sub_group_broadcast(A_vectors[i], 0);
        A_scalars.s1 = sub_group_broadcast(A_vectors[i], 1);
        A_scalars.s2 = sub_group_broadcast(A_vectors[i], 2);
        A_scalars.s3 = sub_group_broadcast(A_vectors[i], 3);
        A_scalars.s4 = sub_group_broadcast(A_vectors[i], 4);
        A_scalars.s5 = sub_group_broadcast(A_vectors[i], 5);
        A_scalars.s6 = sub_group_broadcast(A_vectors[i], 6);
        A_scalars.s7 = sub_group_broadcast(A_vectors[i], 7);
        ret[i] = FUNC_CALL(mmad8)(A_scalars, B_vectors, acc[i]);
    }
    return ret;
}

inline int8 FUNC(mmad8x8)(int8 A_vectors, int8 B_vectors, int8 acc)
{
    int8 ret;
    for(uint i = 0; i < 8; i++)
    {
        int8 A_scalars;
        A_scalars.s0 = sub_group_broadcast(A_vectors[i], 0);
        A_scalars.s1 = sub_group_broadcast(A_vectors[i], 1);
        A_scalars.s2 = sub_group_broadcast(A_vectors[i], 2);
        A_scalars.s3 = sub_group_broadcast(A_vectors[i], 3);
        A_scalars.s4 = sub_group_broadcast(A_vectors[i], 4);
        A_scalars.s5 = sub_group_broadcast(A_vectors[i], 5);
        A_scalars.s6 = sub_group_broadcast(A_vectors[i], 6);
        A_scalars.s7 = sub_group_broadcast(A_vectors[i], 7);
        ret[i] = FUNC_CALL(mmad8)(A_scalars, B_vectors, acc[i]);
    }
    return ret;
}

// TODO: remove it when cl_intel_subgroups_char extension will work
inline void FUNC(sub_group_block_write_uchar8)(__global uchar* outPtr, uchar8 v)
{
#ifdef cl_intel_subgroups_char
    intel_sub_group_block_write_uc8(outPtr, v);
#else
    uint idx = get_sub_group_local_id();

	outPtr[idx] = v.s0; idx += get_max_sub_group_size();
    outPtr[idx] = v.s1; idx += get_max_sub_group_size();
    outPtr[idx] = v.s2; idx += get_max_sub_group_size();
    outPtr[idx] = v.s3; idx += get_max_sub_group_size();
    outPtr[idx] = v.s4; idx += get_max_sub_group_size();
    outPtr[idx] = v.s5; idx += get_max_sub_group_size();
    outPtr[idx] = v.s6; idx += get_max_sub_group_size();
    outPtr[idx] = v.s7; idx += get_max_sub_group_size();
#endif
}

inline uchar8 FUNC(sub_group_block_read_uchar8)(const __global uchar* ptr)
{
#ifdef cl_intel_subgroups_char
    return intel_sub_group_block_read_uc8(ptr);
#else
    uint idx = get_sub_group_local_id();

    uchar8 ret;

    ret.s0 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s1 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s2 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s3 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s4 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s5 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s6 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s7 = ptr[idx]; idx += get_max_sub_group_size();

    return ret;

#endif
}

//


#define MMAD_8(A, B, C) FUNC_CALL(mmad8)(A, B, C)
#define MMAD_4x8(A, B, C) FUNC_CALL(mmad4x8)(A, B, C)
#define MMAD_8x8(A, B, C) FUNC_CALL(mmad8x8)(A, B, C)
#define SLM_BLOCK_WRITE_4(A, B) (FUNC_CALL(intel_sub_group_block_write_4)(A, B))
#define SLM_BLOCK_READ_4(A) (FUNC_CALL(intel_sub_group_block_read_uint4)(A))
#define SLM_BLOCK_READ_8(A) (FUNC_CALL(intel_sub_group_block_read_uint8)(A))


#define SCALE 0.11f

#ifdef LIGHTWEIGHT_QUANTIZATION

#define QUANTIZATION \
    uchar4 out;\
    out[0] = convert_uchar_sat((float)dotProd[o + OUT_BLOCK_WIDTH * 0][b] * SCALE + bias_f.s0);\
    out[1] = convert_uchar_sat((float)dotProd[o + OUT_BLOCK_WIDTH * 1][b] * SCALE + bias_f.s1);\
    out[2] = convert_uchar_sat((float)dotProd[o + OUT_BLOCK_WIDTH * 2][b] * SCALE + bias_f.s2);\
    out[3] = convert_uchar_sat((float)dotProd[o + OUT_BLOCK_WIDTH * 3][b] * SCALE + bias_f.s3);

#elif NO_QUANTIZATION

#define QUANTIZATION \
    uchar4 out;\
    out[0] = convert_uchar_sat(dotProd[o + OUT_BLOCK_WIDTH * 0][b]);\
    out[1] = convert_uchar_sat(dotProd[o + OUT_BLOCK_WIDTH * 1][b]);\
    out[2] = convert_uchar_sat(dotProd[o + OUT_BLOCK_WIDTH * 2][b]);\
    out[3] = convert_uchar_sat(dotProd[o + OUT_BLOCK_WIDTH * 3][b]);

	idx += os_idx * (f_32_aligned/32) * size_y * size_x * 4 * 8 * 8;

    return idx;
}

#define GET_FILTER_OS_IS_YX_ISA8_OSV8_ISV4_SWIZZLED_BY_4_INDEX(prefix, o, i, y, x) \
	FUNC_CALL(get_os_is_yx_isa8_osv8_isv4_swizzled_by_4_index)(                    \
        o, i, y, x, CAT(prefix, _SIZE_X ),                                      \
        CAT(prefix, _SIZE_Y),                                                \
        CAT(prefix, _IFM_NUM),                                                  \
        CAT(prefix, _OFM_NUM),                                                  \
        CAT(prefix, _OFFSET))


inline uint FUNC(get_is_o_yx_isv32_index)(uint o, uint i, uint y, uint x, uint i_size, uint o_size, uint x_size, uint y_size)
{
    const uint i_aligned_to_32 = ((i_size + 31) / 32) * 32;
    const uint i_val = i % 32;
    const uint i_slice = i / 32;
    const size_t idx = i_val + 32* (x + x_size * (y + y_size * (o + o_size * i_slice) ) );
    return idx;
}

#define GET_FILTER_IS_O_YX_ISV32(prefix, o, i, y, x)\
    FUNC_CALL(get_is_o_yx_isv32_index)(\
        o, i, y, x, CAT(prefix, _IFM_NUM),\
        CAT(prefix, _OFM_NUM),\
        CAT(prefix, _SIZE_X),\
        CAT(prefix, _SIZE_Y))

inline uint FUNC(get_is_o32_yx_isv32_swizzled_by_4_index)(uint o, uint i, uint y, uint x, uint i_size, uint o_size, uint x_size, uint y_size)
{
    const uint o_aligned_to_32 = ((o_size + 31) / 32) * 32;
    const uint o_swizzled = (o % 4) * 8 + ((o % 32) / 4) + (o / 32) * 32;
    const uint i_aligned_to_32 = ((i_size + 31) / 32) * 32;
    const uint i_val = i % 32;
    const uint i_slice = i / 32;
    const size_t idx = i_val + 32* (x + x_size * (y + y_size * (o_swizzled + o_aligned_to_32 * i_slice) ) );
    return idx;
}

#define GET_FILTER_IS_O32_YX_ISV32_SWIZZLED_BY_4(prefix, o, i, y, x)\
    FUNC_CALL(get_is_o32_yx_isv32_swizzled_by_4_index)(\
        o, i, y, x, CAT(prefix, _IFM_NUM),\
        CAT(prefix, _OFM_NUM),\
        CAT(prefix, _SIZE_X),\
        CAT(prefix, _SIZE_Y))

inline uint FUNC(get_os_is_y_x8_osv8_isv4_index)(uint o, uint i, uint y, uint x, uint i_size, uint o_size, uint x_size, uint y_size)
{
    const uint i_aligned_to_4 = ((i_size + 3) / 4) * 4;
    const uint o_aligned_to_8 = ((o_size + 7) / 8) * 8;
    const uint x_aligned_to_8 = ((x_size + 7) / 8) * 8;
    const uint i_val = i % 4;
    const uint i_slice = i / 4;
    const uint o_val = o % 8;
    const uint o_slice = o / 8;
    const size_t idx = i_val + 4 * (o_val + 8 * ( x + x_aligned_to_8 * (y + y_size * (i_slice + (i_aligned_to_4/4) * (o_slice)))));
    return idx;
}

#define GET_FILTER_OS_IS_Y_X8_OSV8_ISV4(prefix, o, i, y, x)\
    FUNC_CALL(get_os_is_y_x8_osv8_isv4_index)(\
        o, i, y, x, CAT(prefix, _IFM_NUM),\
        CAT(prefix, _OFM_NUM),\
        CAT(prefix, _SIZE_X),\
        CAT(prefix, _SIZE_Y))

inline uint FUNC(get_os_is_y_x8_osv8_isv4_swizzled_by_4_index)(uint o, uint i, uint y, uint x, uint i_size, uint o_size, uint x_size, uint y_size)
{
    const uint i_aligned_to_4 = ((i_size + 3) / 4) * 4;
    const uint o_aligned_to_8 = ((o_size + 7) / 8) * 8;
    const uint x_aligned_to_8 = ((x_size + 7) / 8) * 8;
    const uint i_val = i % 4;
    const uint i_slice = i / 4;
    const uint o_swizzled = (o % 4) * 8 + ((o % 32) / 4) + (o / 32) * 32;
    const uint o_val = o_swizzled % 8;
    const uint o_slice = o_swizzled / 8;
    const size_t idx = i_val + 4 * (o_val + 8 * ( x + x_aligned_to_8 * (y + y_size * (i_slice + (i_aligned_to_4/4) * (o_slice)))));
    return idx;
}

#define GET_FILTER_OS_IS_Y_X8_OSV8_ISV4_SWIZZLED_BY_4(prefix, o, i, y, x)\
    FUNC_CALL(get_os_is_y_x8_osv8_isv4_swizzled_by_4_index)(\
        o, i, y, x, CAT(prefix, _IFM_NUM),\
        CAT(prefix, _OFM_NUM),\
        CAT(prefix, _SIZE_X),\
        CAT(prefix, _SIZE_Y))


#define GET_DATA_B_FS_YX_FSV4_INDEX(prefix, o, i, y, x)\
    FUNC_CALL(get_b_fs_yx_fsv4)(\
        o, i, y, x,\
        CAT(prefix, _FEATURE_NUM),\
        CAT(prefix, _PAD_BEFORE_SIZE_Y), CAT(prefix, _SIZE_Y), CAT(prefix, _PAD_AFTER_SIZE_Y),\
        CAT(prefix, _PAD_BEFORE_SIZE_X), CAT(prefix, _SIZE_X), CAT(prefix, _PAD_AFTER_SIZE_X))

inline uint FUNC(get_b_fs_yx_fsv4)(uint o, uint i, uint y, uint x,
                                   uint feature_num,
                                   uint pad_before_size_y, uint size_y, uint pad_after_size_y,
                                   uint pad_before_size_x, uint size_x, uint pad_after_size_x)
{
    const uint tile = 4;
    uint id_tile = i / tile;
    uint id      = i - id_tile * tile;

    const uint feature_num_aligned4 = ((feature_num + 3) / 4) * 4;

    uint idx = o * (feature_num_aligned4 / tile) *
                   (pad_before_size_y + size_y + pad_after_size_y) *
                   (pad_before_size_x + size_x + pad_after_size_x) * tile
               + id_tile * (pad_before_size_y + size_y + pad_after_size_y) *
                           (pad_before_size_x + size_x + pad_after_size_x) * tile
               + pad_before_size_y * (pad_before_size_x + size_x + pad_after_size_x) * tile
               + y * (pad_before_size_x + size_x + pad_after_size_x) * tile
               + pad_before_size_x * tile
               + x * tile
               + id;

    return idx;
}

#define GET_FILTER_OS_IS_YX_OSV16_ISV4_INDEX(prefix, o, i, y, x)\
    FUNC_CALL(get_os_is_yx_osv16_isv4)(\
        o, i, y, x,\
        CAT(prefix, _IFM_PITCH),\
        CAT(prefix, _OFM_PITCH),\
        CAT(prefix, _SIZE_X))

inline uint FUNC(get_os_is_yx_osv16_isv4)(uint o, uint i, uint y, uint x,
                                          uint i_size,
                                          uint o_size,
                                          uint x_size)
{
    const uint otd = 16;
    uint out_depth_tile = o / otd;
    uint od             = o - out_depth_tile * otd;

    const uint tile = 4;
    uint id_tile = i / tile;
    uint id      = i - id_tile * tile;

    uint idx = out_depth_tile * (o_size / tile) * otd * tile
               + id_tile               * i_size * otd * tile
               + y                     * x_size * otd * tile
               + x                              * otd * tile
               + od                                   * tile
               + id;

    return idx;
}

#define GET_DATA_FS_B_YX_FSV32_INDEX(prefix, b, f, y, x)\
    FUNC_CALL(get_fs_b_yx_fsv32_index)(                 \
        b, f, y, x,                                     \
        CAT(prefix, _PAD_BEFORE_SIZE_X),                \
        CAT(prefix, _SIZE_X),                           \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST
	FUNC_CALL(get_byx8_f4_index)(                 \
		b, f, y, x, CAT(prefix, _X_PITCH),          \
		CAT(prefix, _Y_PITCH),                      \
		CAT(prefix, _BATCH_PITCH),                      \
		CAT(prefix, _FEATURE_NUM),                 \
		CAT(prefix, _SIZE_X),                 \
		CAT(prefix, _OFFSET))

#define GET_DATA_BF8_XY16_INDEX(prefix, b, f, y, x)     \
    FUNC_CALL(get_bf8_xy16_index)(                      \
        b, f, y, x, CAT(prefix, _SIZE_X ),              \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _FEATURE_NUM),                      \
        CAT(prefix, _OFFSET))

inline uint FUNC(get_fs_bs_yx_bsv4_fsv32_index)(uint b, uint f, uint y, uint x,
    uint x_pad_before, uint x_size, uint x_pad_after,
    uint y_pad_before, uint y_size, uint y_pad_after,
    uint size_f, uint size_b)
{
    const uint f_32_aligned = ((size_f + 31)/32) * 32;
    const uint b_4_aligned = ((size_b + 3)/4) * 4;
    const uint fsv_idx = f % 32;
    const uint bsv_idx = b % 4;
    const uint fs_idx = f / 32;
    const uint bs_idx = b / 4;

    const uint x_pitch = 32 * 4;
    const uint y_pitch = 32 * 4 * (x_pad_before + x_size + x_pad_after);
    const uint bs_pitch = y_pitch * (y_pad_before + y_size + y_pad_after);
    const uint fs_pitch = bs_pitch * (b_4_aligned / 4);
    uint offset = x_pitch * x_pad_before + y_pitch * y_pad_before;

    size_t idx = offset + fsv_idx + bsv_idx * 32;
    idx += 32*4 * x;
    idx += y * y_pitch;
    idx += bs_idx * bs_pitch;
    idx += fs_idx * fs_pitch;

    return idx;
}

#define GET_DATA_FS_BS_YX_BSV4_FSV32_INDEX(prefix, b, f, y, x)\
	FUNC_CALL(get_fs_bs_yx_bsv4_fsv32_index)(       \
		b, f, y, x,                                 \
        CAT(prefix, _PAD_BEFORE_SIZE_X),            \
        CAT(prefix, _SIZE_X),                       \
        CAT(prefix, _PAD_AFTER_SIZE_X),             \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),            \
        CAT(prefix, _SIZE_Y),                       \
        CAT(prefix, _PAD_AFTER_SIZE_Y),             \
		CAT(prefix, _FEATURE_NUM),                  \
        CAT(prefix, _BATCH_NUM))

#define GET_FILTER_INDEX(prefix, o, i, y, x)    \
    CAT(prefix, _OFFSET) +                      \
    (x)*CAT(prefix, _X_PITCH) +                 \
    (y)*CAT(prefix, _Y_PITCH) +                 \
    (i)*CAT(prefix, _IFM_PITCH) +               \
    (o)*CAT(prefix, _OFM_PITCH)

#define GET_FILTER_INDEX_SAFE(prefix, o, i, y, x)           \
    CAT(prefix, _OFFSET) +                                  \
    (x % CAT(prefix, _SIZE_X ))*CAT(prefix, _X_PITCH) +     \
    (y % CAT(prefix, _SIZE_Y ))*CAT(prefix, _Y_PITCH) +     \
    (i % CAT(prefix, _IFM_NUM))*CAT(prefix, _IFM_PITCH) +   \
    (o % CAT(prefix, _OFM_NUM))*CAT(prefix, _OFM_PITCH)

#define GET_FILTER_OS_IYX_OSV8_INDEX(prefix, o, i, y, x, sub_group_size)    \
    CAT(prefix, _OFFSET) +                                                  \
    ((o) % (sub_group_size)) +                                              \
    (sub_group_size)*(                                                      \
        (x)*CAT(prefix, _X_PITCH) +                                         \
        (y)*CAT(prefix, _Y_PITCH) +                                         \
        (i)*CAT(prefix, _IFM_PITCH) +                                       \
        ((o) / (sub_group_size))*CAT(prefix, _OFM_PITCH)                    \
    )

#define GET_FILTER_OS_IYX_OSV8_ROTATE_180_INDEX(prefix, o, i, y, x, sub_group_size)    \
    CAT(prefix, _OFFSET) +                                                  \
    ((o) % (sub_group_size)) +                                              \
    (sub_group_size)*(                                                      \
        (CAT(prefix, _SIZE_X ) - x - 1)*CAT(prefix, _X_PITCH) +             \
        (CAT(prefix, _SIZE_Y ) - y - 1)*CAT(prefix, _Y_PITCH) +             \
        (i)*CAT(prefix, _IFM_PITCH) +                                       \
        ((o) / (sub_group_size))*CAT(prefix, _OFM_PITCH)                    \
    )

inline uint FUNC(get_i_yxs_os_yxsv2_osv_index)(uint o, uint i, uint y, uint x, uint x_size, uint i_pitch, uint y_pitch, uint x_pitch, uint offset, uint sub_group_size)
{
    const uint aligned_ofm_line = x_pitch;
    const uint ifm_height_pitch = (i_pitch/aligned_ofm_line);
    const uint dst_height = i*ifm_height_pitch + y*x_size + x;
    const uint base_filter_index = y*x_size + x;

    const uint aligned_height = dst_height & 0xfffffffe;
    const uint base_filter_odd = (base_filter_index & 0x1);

    uint slice_id = o / sub_group_size;
    uint id_in_slice = o % sub_group_size;
    uint slice_pitch = 2*sub_group_size;
    uint offset_in_slice = (int)(sub_group_size*base_filter_odd);

    const uint in_line = (slice_pitch*slice_id + offset_in_slice + id_in_slice);
    const size_t idx = offset + aligned_height*aligned_ofm_line + in_line;

    return idx;
}

#define GET_FILTER_I_YXS_OS_YXSV2_OSV_INDEX(prefix, o, i, y, x, sub_group_size) \
    FUNC_CALL(get_i_yxs_os_yxsv2_osv_index)(                                    \
        o, i, y, x, CAT(prefix, _SIZE_X ),                                      \
        CAT(prefix, _IFM_PITCH),                                                \
        CAT(prefix, _Y_PITCH),                                                  \
        CAT(prefix, _X_PITCH),                                                  \
        CAT(prefix, _OFFSET),                                                   \
        sub_group_size)

inline uint FUNC(get_iy_xs_os_xsv2_osv_index)(uint o, uint i, uint y, uint x, uint x_size, uint i_pitch, uint y_pitch, uint x_pitch, uint offset, uint sub_group_size)
{
    const uint aligned_ofm_line = x_pitch;
    const uint ifm_height_pitch = (i_pitch/aligned_ofm_line);
    const uint aligned_x_line = y_pitch / x_pitch;
    const uint dst_height = i*ifm_height_pitch + y*aligned_x_line + x;
    const uint base_filter_index = x;

    const uint aligned_height = dst_height & 0xfffffffe;
    const uint base_filter_odd = (base_filter_index & 0x1);

    uint slice_id = o / sub_group_size;
    uint id_in_slice = o % sub_group_size;
    uint slice_pitch = 2*sub_group_size;
    uint offset_in_slice = (int)(sub_group_size*base_filter_odd);

    const bool last_line_in_base_filter = (x == (x_size - 1));
    if (last_line_in_base_filter && base_filter_odd == 0)
    {
        const uint element_in_slice = 32;
        slice_id = o / element_in_slice;
        id_in_slice = o % element_in_slice;
        slice_pitch = 2*element_in_slice;
        offset_in_slice = 0;
    }

    const uint in_line = (slice_pitch*slice_id + offset_in_slice + id_in_slice);
    const size_t idx = offset + aligned_height*aligned_ofm_line + in_line;

    return idx;
}

#define GET_FILTER_IY_XS_OS_XSV2_OSV_INDEX(prefix, o, i, y, x, sub_group_size)  \
    FUNC_CALL(get_iy_xs_os_xsv2_osv_index)(                                     \
        o, i, y, x, CAT(prefix, _SIZE_X ),                                      \
        CAT(prefix, _IFM_PITCH),                                                \
        CAT(prefix, _Y_PITCH),                                                  \
        CAT(prefix, _X_PITCH),                                                  \
        CAT(prefix, _OFFSET),                                                   \
        sub_group_size)

inline uint FUNC(get_os_is_yx_isa8_osv8_isv4_index)(uint o, uint i, uint y, uint x, uint size_x, uint size_y, uint size_ifm, uint size_ofm, uint offset)
{
    const uint f_32_aligned = ((size_ifm + 31)/32) * 32;
	const uint isv2_idx = i % 4;
	const uint osv_idx = o % 8;
	const uint isv1_idx = (i / 4) % 8;
	const uint is_idx = i / 32;
	const uint os_idx = o / 8;

	size_t idx = offset + isv2_idx + 4 * (osv_idx + 8 * isv1_idx);
	idx += x * 4 * 8 * 8;
	idx += y * size_x * 4 * 8 * 8;
	idx += is_idx * size_y * size_x * 4 * 8 * 8;
	idx += os_idx * (f_32_aligned/32) * size_y * size_x * 4 * 8 * 8;

    return idx;
}

#define GET_FILTER_OS_IS_YX_ISA8_OSV8_ISV4(prefix, o, i, y, x) \
	FUNC_CALL(get_os_is_yx_isa8_osv8_isv4_index)(                               \
        o, i, y, x, CAT(prefix, _SIZE_X ),                                      \
        CAT(prefix, _SIZE_Y),                                                \
        CAT(prefix, _IFM_NUM),                                                  \
        CAT(prefix, _OFM_NUM),                                                  \
        CAT(prefix, _OFFSET))

inline uint FUNC(get_os_is_yx_isa8_osv8_isv4_swizzled_by_4_index)(uint o, uint i, uint y, uint x, uint size_x, uint size_y, uint size_ifm, uint size_ofm, uint offset)
{
    const uint o_swizzled = (o % 4) * 8 + ((o % 32) / 4) + (o / 32) * 32;

    const uint f_32_aligned = ((size_ifm + 31)/32) * 32;
	const uint isv2_idx = i % 4;
	const uint osv_idx = o_swizzled % 8;
	const uint isv1_idx = (i / 4) % 8;
	const uint is_idx = i / 32;
	const uint os_idx = o_swizzled / 8;

	size_t idx = offset + isv2_idx + 4 * (osv_idx + 8 * isv1_idx);
	idx += x * 4 * 8 * 8;
	idx += y * size_x * 4 * 8 * 8;
	idx += is_idx * size_y * size_x * 4 * 8 * 8;
// Copyright (c) 2018 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))


#define GET_DATA_INDEX(prefix, b, f, y, x)  \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_INDEX_SAFE(prefix, b, f, y, x)                     \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

 #define GET_3D_DATA_INDEX(prefix, b, f, z, y, x) \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (z)*CAT(prefix, _Z_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_3D_DATA_INDEX_SAFE(prefix, b, f, z, y, x)               \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (z % CAT(prefix, _SIZE_Z     ))*CAT(prefix, _Z_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_BS_FYX_BSV8_INDEX(prefix, b, f, y, x, sub_group_size)  \
    CAT(prefix, _OFFSET) +                                              \
    ((b) % (sub_group_size)) +                                          \
    (sub_group_size)*(                                                  \
        (x)*CAT(prefix, _X_PITCH) +                                     \
        (y)*CAT(prefix, _Y_PITCH) +                                     \
        (f)*CAT(prefix, _FEATURE_PITCH) +                               \
        ((b) / (sub_group_size))*CAT(prefix, _BATCH_PITCH)              \
    )

inline uint FUNC(get_bf8_xy16_index)(uint b, uint f, uint y, uint x, uint x_size, uint y_size, uint f_size, uint offset)
{
    const uint xy_idx = x + y * x_size;
    const uint xy_offset = (xy_idx % 16) + (xy_idx / 16) * 16 * 8;
    const uint xy_block_num = (x_size * y_size + 16 - 1) / 16;
    const uint f_offset = (f % 8) * 16 + (f / 8) * xy_block_num * 16 * 8;
    const uint f_block_num = (f_size + 8 - 1) / 8;
    const uint b_offset = b * f_block_num * xy_block_num * 128;

    const size_t idx = offset + xy_offset + f_offset + b_offset;

    return idx;
}

inline uint FUNC(get_bfyx_f16_index)(
    uint b, uint f, uint y, uint x,
    uint x_size, uint y_size, uint f_size,
    uint y_pad_before,uint y_pad_after,
    uint x_pad_before, uint x_pad_after,
    uint f_pad_before, uint f_pad_after)
{
    const uint feature_slice_size = 16;

    const uint full_width = x_size + x_pad_before + x_pad_after;
    const uint full_height = y_size + y_pad_before + y_pad_after;
    const uint full_features = f_pad_before + f_size + f_pad_after;
    const uint feature_tiles_number = (full_features + feature_slice_size - 1) / feature_slice_size;

    const uint x_pitch = feature_slice_size;
    const uint y_pitch = x_pitch * full_width;
    const uint fs_pitch = y_pitch * full_height;
    const uint b_pitch = fs_pitch * feature_tiles_number;

    const uint x_offset = (x + x_pad_before) * x_pitch;
    const uint y_offset = (y + y_pad_before) * y_pitch;
    const uint fs_offset = (f / feature_slice_size + f_pad_before / feature_slice_size) * fs_pitch;
    const uint b_offset = b * b_pitch;

    const size_t idx = x_offset + y_offset + fs_offset + b_offset + (f % feature_slice_size);

    return idx;
}

#define GET_DATA_BFYX_F16_INDEX(prefix, b, f, y, x)     \
    FUNC_CALL(get_bfyx_f16_index)(                      \
        b, f, y, x,                                     \
        CAT(prefix, _SIZE_X ),                          \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _FEATURE_NUM),                      \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_X),                \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _PAD_AFTER_FEATURE_NUM))

#define GET_FILTER_O_I_YX_I16_O16_INDEX(prefix, o, i, y, x, sub_group_size)  \
    CAT(prefix, _OFFSET) +                                                   \
    ((o) % (sub_group_size)) +                                               \
    (sub_group_size)*(                                                       \
        (x)*(sub_group_size)*CAT(prefix, _X_PITCH) +                         \
        (y)*(sub_group_size)*CAT(prefix, _Y_PITCH) +                         \
        ((i) % (sub_group_size)) +                                           \
        ((i) / (sub_group_size))*(sub_group_size)*CAT(prefix, _IFM_PITCH) +  \
        ((o) / (sub_group_size))*CAT(prefix, _OFM_PITCH)                     \
    )

inline uint FUNC(get_byxf_af32_index)(uint b, uint f, uint y, uint x, uint y_pitch, uint b_pitch, uint f_size, uint offset)
{
	const uint f_aligned_to_32 = ((f_size + 31) / 32) * 32;
	const uint b_offset = b * b_pitch;
	const uint xy_offset = f_aligned_to_32 * x + y_pitch * y;
	const uint f_offset = f;
	const size_t idx = offset + xy_offset + b_offset + f_offset;
	return idx;
}

#define GET_DATA_BYXF_AF32_INDEX(prefix, b, f, y, x)\
	FUNC_CALL(get_byxf_af32_index)(                 \
		b, f, y, x, CAT(prefix, _Y_PITCH),          \
		CAT(prefix, _BATCH_PITCH),                      \
		CAT(prefix, _FEATURE_NUM),                 \
		CAT(prefix, _OFFSET))

inline uint FUNC(get_byx8_f4_index)(uint b, uint f, uint y, uint x,
    uint x_pitch, uint y_pitch, uint b_pitch, uint f_size, uint x_size, uint offset)
{
    const uint f_aligned_to_4 = ((f_size + 3) / 4) * 4;
    const uint x_aligned_to_8 = ((x_size + 7) / 8) * 8;
    const uint b_offset = b * b_pitch;
    const uint xy_offset = x * x_pitch + y * y_pitch;
    const uint f_offset = f;
    const size_t idx = offset + xy_offset + b_offset + f_offset;
    return idx;
}

#define GET_DATA_BYX8_F4_INDEX(prefix, b, f, y, x)\
}

#undef FILTER_IFM_MMAD_NUM
#undef FILTER_OFM_MMAD_NUM
#undef FILTER_IFM_ALIGNED
#undef FILTER_OFM_ALIGNED


#undef SCALE
#undef QUANTIZATION

#else

#define QUANTIZATION \
    char4 out;\
    out[0] = ACTIVATION(convert_char(round( ((float)dotProd[out_idx + OUT_BLOCK_WIDTH * OUT_BLOCK_HEIGHT * 0][b]  * quant_f.s0 * I_QF + bias_f.s0) * calib_f.s0 ) ), NL_M, NL_N);\
    out[1] = ACTIVATION(convert_char(round( ((float)dotProd[out_idx + OUT_BLOCK_WIDTH * OUT_BLOCK_HEIGHT * 1][b]  * quant_f.s1 * I_QF + bias_f.s1) * calib_f.s1 ) ), NL_M, NL_N);\
    out[2] = ACTIVATION(convert_char(round( ((float)dotProd[out_idx + OUT_BLOCK_WIDTH * OUT_BLOCK_HEIGHT * 2][b]  * quant_f.s2 * I_QF + bias_f.s2) * calib_f.s2 ) ), NL_M, NL_N);\
    out[3] = ACTIVATION(convert_char(round( ((float)dotProd[out_idx + OUT_BLOCK_WIDTH * OUT_BLOCK_HEIGHT * 3][b]  * quant_f.s3 * I_QF + bias_f.s3) * calib_f.s3 ) ), NL_M, NL_N);

#endif

#define FILTER_IFM_MMAD_NUM ((FILTER_IFM_NUM + 31) / 32)
#define FILTER_OFM_MMAD_NUM ((FILTER_OFM_NUM + 7) / 8)
#define FILTER_IFM_ALIGNED (FILTER_IFM_MMAD_NUM * 32)
#define FILTER_OFM_ALIGNED (FILTER_OFM_MMAD_NUM * 8)
// input data is in blocks 4batch x 32 features

#define NEEDED_INPUT_X ((OUT_BLOCK_WIDTH-1) * (STRIDE_SIZE_X) + (FILTER_SIZE_X - 1) + 1)
#define NEEDED_INPUT_Y ((OUT_BLOCK_HEIGHT-1) * (STRIDE_SIZE_Y) + (FILTER_SIZE_Y - 1) + 1)

__attribute__((intel_reqd_sub_group_size(SUB_GROUP_SIZE)))
KERNEL(convolution_mmad_batched_block_1x1)(
    __global INPUT0_TYPE* input,
    __global OUTPUT_TYPE* output,
    __global FILTER_TYPE* weights,
    __global BIAS_TYPE* biases,
    const __global float* quantizations,
#if CALIBRATION_TERM
    const __global float* calibrations,
#endif
    uint split_idx)
{
    const uint x = get_global_id(0) * OUT_BLOCK_WIDTH;
    const uint y = get_global_id(1) * OUT_BLOCK_HEIGHT;

    const uint b_f = (get_group_id(2) * WG_BATCH_COUNT + get_sub_group_id());
#if WEIGHTS_PER_WORKITEM == 4
    const uint f = (b_f * 32 + get_sub_group_local_id() * 4) % FILTER_OFM_ALIGNED;
#else
    const uint f = ((b_f * WEIGHTS_PER_WORKITEM * 8) + get_sub_group_local_id() ) % FILTER_OFM_ALIGNED;
#endif
    const uint b_block = (b_f * 8 * WEIGHTS_PER_WORKITEM) / FILTER_OFM_ALIGNED;

    int4 dotProd[OUT_BLOCK_WIDTH * OUT_BLOCK_HEIGHT * WEIGHTS_PER_WORKITEM] = { 0 };

    const int input_x = x * STRIDE_SIZE_X - PADDING_SIZE_X;
    const int input_y = y * STRIDE_SIZE_Y - PADDING_SIZE_Y;

    const uint filter_offset = ((b_f * WEIGHTS_PER_WORKITEM) % FILTER_OFM_MMAD_NUM) * FILTER_OFM_BLOCK_PITCH;
    uint input_offset = IN_OFFSET + IN_B_BLOCK_PITCH * b_block;

    uint filter_idx = filter_offset;
    for (uint k = 0; k < FILTER_IFM_MMAD_NUM; ++k)
    {
        ////// preloading input data //////
        int4 preloaded_input[NEEDED_INPUT_X * NEEDED_INPUT_Y];
        for(int h = 0; h < NEEDED_INPUT_Y; h++)
        {
            for(int p = 0; p < NEEDED_INPUT_X; p++)
            {
                const int input_offset_y = input_y + h;
                const int input_offset_x = input_x + p;

                uint input_idx = input_offset + input_offset_y * IN_Y_PITCH + input_offset_x * IN_X_PITCH;
                preloaded_input[p + h * NEEDED_INPUT_X] = as_int4(intel_sub_group_block_read4((const __global uint*)(input + input_idx)));
            }
        }

        __attribute__((opencl_unroll_hint(FILTER_SIZE_Y)))
        for (uint j = 0; j < FILTER_SIZE_Y; ++j)
        {
            __attribute__((opencl_unroll_hint(FILTER_SIZE_X)))
            for (uint i = 0; i < FILTER_SIZE_X; ++i)
            {
                ////// preloading weights data //////
                int8 preloaded_weights[WEIGHTS_PER_WORKITEM];
                __attribute__((opencl_unroll_hint(WEIGHTS_PER_WORKITEM)))
                for(uint w = 0; w < WEIGHTS_PER_WORKITEM; w++)
                {
                    preloaded_weights[w] = as_int8(intel_sub_group_block_read8((const __global uint*) (weights + (filter_idx + w * FILTER_OFM_BLOCK_PITCH) ) ));
                }

                ////// computing //////
                __attribute__((opencl_unroll_hint(WEIGHTS_PER_WORKITEM)))
                for(uint w = 0; w < WEIGHTS_PER_WORKITEM; w++)
                {
                    __attribute__((opencl_unroll_hint(OUT_BLOCK_HEIGHT)))
                    for(uint oy = 0; oy < OUT_BLOCK_HEIGHT; oy++)
                    {
                        __attribute__((opencl_unroll_hint(OUT_BLOCK_WIDTH)))
                        for(uint ox = 0; ox < OUT_BLOCK_WIDTH; ox++)
                        {
                            const uint out_idx = ox + OUT_BLOCK_WIDTH * (oy + w * OUT_BLOCK_HEIGHT);
                            const uint preloaded_idx =ox * STRIDE_SIZE_X + i + NEEDED_INPUT_X * (oy * STRIDE_SIZE_Y + j);
                            dotProd[out_idx] = MMAD_4x8(preloaded_input[preloaded_idx], preloaded_weights[w], dotProd[out_idx]);
                        }
                    }
                }
                filter_idx += FILTER_X_PITCH;
            }
        }
        input_offset += IN_F_BLOCK_PITCH;
    }


#if WEIGHTS_PER_WORKITEM == 4

float4 quant_f = vload4(0, quantizations + f);
float4 bias_f = vload4(0, biases + f);
float4 calib_f = vload4(0, calibrations + f);

uint dst_index = GET_DATA_FS_BS_YX_BSV4_FSV32_INDEX(OUTPUT, b_block*4, f, y, x);

__attribute__((opencl_unroll_hint(OUT_BLOCK_HEIGHT)))
for(uint h = 0; h < OUT_BLOCK_HEIGHT; h++)
{
    uint tmp_dst_index = dst_index;
    __attribute__((opencl_unroll_hint(OUT_BLOCK_WIDTH)))
    for(uint o = 0; o < OUT_BLOCK_WIDTH; o++)
    {
        uint4 to_output;
        __attribute__((opencl_unroll_hint(4)))
        for(uint b = 0; b < 4; b++)
        {
            const uint out_idx = o + OUT_BLOCK_WIDTH * h;

            QUANTIZATION;
            to_output[b] = as_uint(out);
        }
        intel_sub_group_block_write4((__global uint*)(output + tmp_dst_index), to_output);
        tmp_dst_index += OUT_X_PITCH;
    }
    dst_index += OUT_Y_PITCH;
}

#else // WEIGHTS_PER_WORKITEM ==4

////// QUANTIZE & OUTPUT //////
__attribute__((opencl_unroll_hint(WEIGHTS_PER_WORKITEM)))
for(uint w = 0; w < WEIGHTS_PER_WORKITEM; w++)
{
    float quant_f = quantizations[f + w * 8];
    float bias_f = biases[f + w * 8];
#if CALIBRATION_TERM
    float calib_f = calibrations[f + w * 8];
#endif
    __attribute__((opencl_unroll_hint(OUT_BLOCK_HEIGHT)))
    for(uint h = 0; h < OUT_BLOCK_HEIGHT; h++)
    {
        __attribute__((opencl_unroll_hint(OUT_BLOCK_WIDTH)))
        for(uint o = 0; o < OUT_BLOCK_WIDTH; o++)
        {
            const uint out_idx = o + OUT_BLOCK_WIDTH * (h + w * OUT_BLOCK_HEIGHT);
            for(uint b = 0; b < 4; b++)
            {
            #if CALIBRATION_TERM
                dotProd[out_idx][b] = (UNIT_TYPE)round(((float)dotProd[out_idx][b] * quant_f * I_QF + bias_f) * calib_f);
            #else  // CALIBRATION_TERM
                dotProd[out_idx][b] = (UNIT_TYPE)round(((float)dotProd[out_idx][b] * quant_f * I_QF + bias_f) * O_QF);
            #endif // CALIBRATION_TERM
            }
        }
    }
}

////// OUTPUT STAGE //////
__attribute__((opencl_unroll_hint(OUT_BLOCK_HEIGHT)))
for(uint h = 0; h < OUT_BLOCK_HEIGHT; h++)
{
    __attribute__((opencl_unroll_hint(OUT_BLOCK_WIDTH)))
    for(uint o = 0; o < OUT_BLOCK_WIDTH; o++)
    {
        const uint dst_index = GET_DATA_FS_BS_YX_BSV4_FSV32_INDEX(OUTPUT, b_block*4, f, y + h, x + o);

        __attribute__((opencl_unroll_hint(4)))
        for(uint b = 0; b < 4; b++)
        {
            #if WEIGHTS_PER_WORKITEM == 2
                char2 out;
                const uint out_idx = o + OUT_BLOCK_WIDTH * h;
                out[0] = ACTIVATION(convert_char(dotProd[out_idx][b]), NL_M, NL_N);
                out[1] = ACTIVATION(convert_char(dotProd[out_idx + OUT_BLOCK_WIDTH * OUT_BLOCK_HEIGHT][b]), NL_M, NL_N);

                intel_sub_group_block_write_uc2((__global uchar*)(output + dst_index + b * 32), as_uchar2(out));
            #else
            __attribute__((opencl_unroll_hint(WEIGHTS_PER_WORKITEM)))
            for(uint w = 0; w < WEIGHTS_PER_WORKITEM; w++)
            {
                const uint out_idx = o + OUT_BLOCK_WIDTH * (h + w * OUT_BLOCK_HEIGHT);
                const uint dst_index = GET_DATA_FS_BS_YX_BSV4_FSV32_INDEX(OUTPUT, b_block*4, f + w * 8, y + h, x + o);
                char char_val = ACTIVATION(convert_char(dotProd[out_idx][b]), NL_M, NL_N);
                output[dst_index + b * 32] = char_val;
            }
            #endif
        }
    }
}

#endif // WEIGHTS_PER_WORKITEM ==4


#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

void FUNC(intel_sub_group_block_write_4)( __local uint* p, uint4 data )
{
    p[ get_sub_group_local_id() ] = data.s0;
    p += 8;
    p[ get_sub_group_local_id() ] = data.s1;
    p += 8;
    p[ get_sub_group_local_id() ] = data.s2;
    p += 8;
    p[ get_sub_group_local_id() ] = data.s3;
}

uint4 FUNC(intel_sub_group_block_read_uint4)(const __local uint* p)
{
    uint4 ret;
    uint idx = get_sub_group_local_id();

    ret.s0 = p[idx]; idx += get_max_sub_group_size();
    ret.s1 = p[idx]; idx += get_max_sub_group_size();
    ret.s2 = p[idx]; idx += get_max_sub_group_size();
    ret.s3 = p[idx]; idx += get_max_sub_group_size();

    return ret;
}

uint8 FUNC(intel_sub_group_block_read_uint8)(const __local uint* p)
{
    uint8 ret;
    uint idx = get_sub_group_local_id();

    ret.s0 = p[idx]; idx += get_max_sub_group_size();
    ret.s1 = p[idx]; idx += get_max_sub_group_size();
    ret.s2 = p[idx]; idx += get_max_sub_group_size();
    ret.s3 = p[idx]; idx += get_max_sub_group_size();
    ret.s4 = p[idx]; idx += get_max_sub_group_size();
    ret.s5 = p[idx]; idx += get_max_sub_group_size();
    ret.s6 = p[idx]; idx += get_max_sub_group_size();
    ret.s7 = p[idx]; idx += get_max_sub_group_size();

    return ret;
}

inline int FUNC(mmad_4)(char4 input, char4 weight, int acc)
{
	acc += (input[0] * weight[0]);
	acc += (input[1] * weight[1]);
	acc += (input[2] * weight[2]);
	acc += (input[3] * weight[3]);
	return acc;
}

inline int FUNC(mmad8)(int8 A_scalars, int8 B_vectors, int acc)
{
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[0]), as_char4(B_vectors[0]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[1]), as_char4(B_vectors[1]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[2]), as_char4(B_vectors[2]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[3]), as_char4(B_vectors[3]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[4]), as_char4(B_vectors[4]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[5]), as_char4(B_vectors[5]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[6]), as_char4(B_vectors[6]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[7]), as_char4(B_vectors[7]), acc);

	return acc;
}

inline int4 FUNC(mmad4x8)(int4 A_vectors, int8 B_vectors, int4 acc)
{
    int4 ret;
    for(uint i = 0; i < 4; i++)
    {
        int8 A_scalars;
        A_scalars.s0 = sub_group_broadcast(A_vectors[i], 0);
        A_scalars.s1 = sub_group_broadcast(A_vectors[i], 1);
        A_scalars.s2 = sub_group_broadcast(A_vectors[i], 2);
        A_scalars.s3 = sub_group_broadcast(A_vectors[i], 3);
        A_scalars.s4 = sub_group_broadcast(A_vectors[i], 4);
        A_scalars.s5 = sub_group_broadcast(A_vectors[i], 5);
        A_scalars.s6 = sub_group_broadcast(A_vectors[i], 6);
        A_scalars.s7 = sub_group_broadcast(A_vectors[i], 7);
        ret[i] = FUNC_CALL(mmad8)(A_scalars, B_vectors, acc[i]);
    }
    return ret;
}

inline int8 FUNC(mmad8x8)(int8 A_vectors, int8 B_vectors, int8 acc)
{
    int8 ret;
    for(uint i = 0; i < 8; i++)
    {
        int8 A_scalars;
        A_scalars.s0 = sub_group_broadcast(A_vectors[i], 0);
        A_scalars.s1 = sub_group_broadcast(A_vectors[i], 1);
        A_scalars.s2 = sub_group_broadcast(A_vectors[i], 2);
        A_scalars.s3 = sub_group_broadcast(A_vectors[i], 3);
        A_scalars.s4 = sub_group_broadcast(A_vectors[i], 4);
        A_scalars.s5 = sub_group_broadcast(A_vectors[i], 5);
        A_scalars.s6 = sub_group_broadcast(A_vectors[i], 6);
        A_scalars.s7 = sub_group_broadcast(A_vectors[i], 7);
        ret[i] = FUNC_CALL(mmad8)(A_scalars, B_vectors, acc[i]);
    }
    return ret;
}

// TODO: remove it when cl_intel_subgroups_char extension will work
inline void FUNC(sub_group_block_write_uchar8)(__global uchar* outPtr, uchar8 v)
{
#ifdef cl_intel_subgroups_char
    intel_sub_group_block_write_uc8(outPtr, v);
#else
    uint idx = get_sub_group_local_id();

	outPtr[idx] = v.s0; idx += get_max_sub_group_size();
    outPtr[idx] = v.s1; idx += get_max_sub_group_size();
    outPtr[idx] = v.s2; idx += get_max_sub_group_size();
    outPtr[idx] = v.s3; idx += get_max_sub_group_size();
    outPtr[idx] = v.s4; idx += get_max_sub_group_size();
    outPtr[idx] = v.s5; idx += get_max_sub_group_size();
    outPtr[idx] = v.s6; idx += get_max_sub_group_size();
    outPtr[idx] = v.s7; idx += get_max_sub_group_size();
#endif
}

inline uchar8 FUNC(sub_group_block_read_uchar8)(const __global uchar* ptr)
{
#ifdef cl_intel_subgroups_char
    return intel_sub_group_block_read_uc8(ptr);
#else
    uint idx = get_sub_group_local_id();

    uchar8 ret;

    ret.s0 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s1 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s2 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s3 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s4 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s5 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s6 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s7 = ptr[idx]; idx += get_max_sub_group_size();

    return ret;

#endif
}

//


#define MMAD_8(A, B, C) FUNC_CALL(mmad8)(A, B, C)
#define MMAD_4x8(A, B, C) FUNC_CALL(mmad4x8)(A, B, C)
#define MMAD_8x8(A, B, C) FUNC_CALL(mmad8x8)(A, B, C)
#define SLM_BLOCK_WRITE_4(A, B) (FUNC_CALL(intel_sub_group_block_write_4)(A, B))
#define SLM_BLOCK_READ_4(A) (FUNC_CALL(intel_sub_group_block_read_uint4)(A))
#define SLM_BLOCK_READ_8(A) (FUNC_CALL(intel_sub_group_block_read_uint8)(A))


#define SCALE 0.11f

#ifdef LIGHTWEIGHT_QUANTIZATION

#define QUANTIZATION \
    uchar4 out;\
    out[0] = convert_uchar_sat((float)dotProd[out_idx + OUT_BLOCK_WIDTH * OUT_BLOCK_HEIGHT * 0][b] * SCALE + bias_f.s0);\
    out[1] = convert_uchar_sat((float)dotProd[out_idx + OUT_BLOCK_WIDTH * OUT_BLOCK_HEIGHT * 1][b] * SCALE + bias_f.s1);\
    out[2] = convert_uchar_sat((float)dotProd[out_idx + OUT_BLOCK_WIDTH * OUT_BLOCK_HEIGHT * 2][b] * SCALE + bias_f.s2);\
    out[3] = convert_uchar_sat((float)dotProd[out_idx + OUT_BLOCK_WIDTH * OUT_BLOCK_HEIGHT * 0][b] * SCALE + bias_f.s3);

#elif NO_QUANTIZATION

#define QUANTIZATION \
    uchar4 out;\
    out[0] = convert_uchar_sat(dotProd[out_idx + OUT_BLOCK_WIDTH * OUT_BLOCK_HEIGHT * 0][b]);\
    out[1] = convert_uchar_sat(dotProd[out_idx + OUT_BLOCK_WIDTH * OUT_BLOCK_HEIGHT * 1][b]);\
    out[2] = convert_uchar_sat(dotProd[out_idx + OUT_BLOCK_WIDTH * OUT_BLOCK_HEIGHT * 2][b]);\
    out[3] = convert_uchar_sat(dotProd[out_idx + OUT_BLOCK_WIDTH * OUT_BLOCK_HEIGHT * 3][b]);

#define MMAD_4x8(A, B, C) FUNC_CALL(mmad4x8)(A, B, C)
#define MMAD_8x8(A, B, C) FUNC_CALL(mmad8x8)(A, B, C)
#define SLM_BLOCK_WRITE_4(A, B) (FUNC_CALL(intel_sub_group_block_write_4)(A, B))
#define SLM_BLOCK_READ_4(A) (FUNC_CALL(intel_sub_group_block_read_uint4)(A))
#define SLM_BLOCK_READ_8(A) (FUNC_CALL(intel_sub_group_block_read_uint8)(A))


#define FILTER_IFM_MMAD_NUM ((FILTER_IFM_NUM + 31) / 32)
#define FILTER_OFM_MMAD_NUM ((FILTER_OFM_NUM + 7) / 8)
#define FILTER_IFM_ALIGNED (FILTER_IFM_MMAD_NUM * 32)
#define FILTER_OFM_ALIGNED (FILTER_OFM_MMAD_NUM * 8)

__attribute__((intel_reqd_sub_group_size(SUB_GROUP_SIZE)))
KERNEL(convolution_MMAD_blocks)(
    __global INPUT0_TYPE* input,
    __global OUTPUT_TYPE* output,
    __global FILTER_TYPE* weights,
#if BIAS_TERM
    __global BIAS_TYPE* biases,
#endif
    __global float* quantizations,
#if CALIBRATION_TERM
    __global float* calibrations,
#endif
    uint split_idx)
{
    const uint x = get_global_id(0) * OUTPUT_BLOCK_WIDTH;
    const uint y = get_global_id(1) * OUTPUT_BLOCK_HEIGHT;
#if OUTPUT_BATCH_NUM == 1
    const uint f = get_global_id(2);
    const uint b = 0;
#else
    const uint f = get_global_id(2) % FILTER_OFM_ALIGNED;
    const uint b = get_global_id(2) / FILTER_OFM_ALIGNED;
#endif

    // our output values
    int out[OUTPUT_BLOCK_WIDTH * OUTPUT_BLOCK_HEIGHT] = { 0 };
    int in[IN_BLOCK_ARRAY_SIZE];

    const int input_x = x * STRIDE_SIZE_X - PADDING_SIZE_X;
    const int input_y = y * STRIDE_SIZE_Y - PADDING_SIZE_Y;

    const uint in_split_offset = split_idx * INPUT0_FEATURE_PITCH * FILTER_IFM_NUM;

    const uint filter_offset = (get_group_id(2) % FILTER_OFM_MMAD_NUM) * FILTER_OFM_BLOCK_PITCH;
    const uint input_offset = b*INPUT0_BATCH_PITCH + INPUT0_OFFSET + in_split_offset;

    uint in_addr = input_offset + input_x * INPUT0_X_PITCH + input_y * INPUT0_Y_PITCH;
    uint filter_idx = filter_offset;

   	__attribute__((opencl_unroll_hint(1)))
    for (uint k = 0; k < FILTER_IFM_MMAD_NUM; ++k)
    {
        // preload input data
        for(uint in_block_pos = 0; in_block_pos < IN_BLOCK_ARRAY_SIZE; in_block_pos++)
        {
            uint block_x = in_block_pos % IN_BLOCK_WIDTH;
            uint block_y = in_block_pos / IN_BLOCK_WIDTH;
            uint input_idx = in_addr + block_x * INPUT0_X_PITCH + block_y * INPUT0_Y_PITCH;
            in[in_block_pos] = as_int(intel_sub_group_block_read((const __global uint*)(input + input_idx)));
        }
        // end of preloading input data

        __attribute__((opencl_unroll_hint(FILTER_SIZE_Y)))
        for (uint j = 0; j < FILTER_SIZE_Y ; ++j)
        {
		    __attribute__((opencl_unroll_hint(FILTER_SIZE_X)))
            for (uint i = 0; i < FILTER_SIZE_X ; ++i)
            {
                int8 weights_data = as_int8(intel_sub_group_block_read8((const __global uint*)(weights + filter_idx)));

			    __attribute__((opencl_unroll_hint(OUTPUT_BLOCK_HEIGHT)))
                for(uint br = 0; br < OUTPUT_BLOCK_HEIGHT; br++)
                {
				    __attribute__((opencl_unroll_hint(OUTPUT_BLOCK_WIDTH)))
                    for(uint bc = 0; bc < OUTPUT_BLOCK_WIDTH; bc++)
                    {
                        int input_data = in[(br * STRIDE_SIZE_Y + j) * IN_BLOCK_WIDTH + bc * STRIDE_SIZE_X + i];
                        int8 activations;  //activations of all lanes
                        activations.s0 = sub_group_broadcast(input_data, 0);
                        activations.s1 = sub_group_broadcast(input_data, 1);
                        activations.s2 = sub_group_broadcast(input_data, 2);
                        activations.s3 = sub_group_broadcast(input_data, 3);
                        activations.s4 = sub_group_broadcast(input_data, 4);
                        activations.s5 = sub_group_broadcast(input_data, 5);
                        activations.s6 = sub_group_broadcast(input_data, 6);
                        activations.s7 = sub_group_broadcast(input_data, 7);

                        out[br * OUTPUT_BLOCK_WIDTH + bc] = MMAD_8(activations, weights_data, out[br * OUTPUT_BLOCK_WIDTH + bc]);
                    }
                }
                filter_idx += 32*8; // 32 features per channel * 8 output features per SIMD channel
            }
        }
        in_addr += 32; // 4 features per channel * 8 SIMD channels
    }

#if BIAS_TERM
#if   BIAS_PER_OUTPUT
    const uint bias_index = GET_DATA_INDEX(BIAS, b, f, y, x);
#elif BIAS_PER_OFM
    const uint bias_index = f;
#endif

    for(uint br = 0; br < OUTPUT_BLOCK_HEIGHT; br++)
    {
        for(uint bc = 0; bc < OUTPUT_BLOCK_WIDTH; bc++)
        {
#if CALIBRATION_TERM
            out[br * OUTPUT_BLOCK_WIDTH + bc] = (UNIT_TYPE)round(((float)out[br * OUTPUT_BLOCK_WIDTH + bc] * quantizations[f] * I_QF + biases[bias_index]) * calibrations[f]);
#else  // CALIBRATION_TERM
            out[br * OUTPUT_BLOCK_WIDTH + bc] = (UNIT_TYPE)round(((float)out[br * OUTPUT_BLOCK_WIDTH + bc] * quantizations[f] * I_QF + biases[bias_index]) * O_QF);
#endif // CALIBRATION_TERM
        }
    }
#endif // BIAS_TERM

    const uint out_split_offset = split_idx * OUTPUT_FEATURE_PITCH * OUTPUT_FEATURE_NUM;
    for(uint br = 0; br < OUTPUT_BLOCK_HEIGHT; br++)
    {
        if(y + br < OUTPUT_SIZE_Y)
        {
            for(uint bc = 0; bc < OUTPUT_BLOCK_WIDTH; bc++)
            {
                if(x + bc < OUTPUT_SIZE_X)
                {
                    const uint dst_index = GET_DATA_INDEX(OUTPUT, b, f, y+br, x+bc) + out_split_offset;
                    output[dst_index] = ACTIVATION(convert_char(out[br * OUTPUT_BLOCK_WIDTH + bc]), NL_M, NL_N);
                }
            }
        }
    }
}

#undef FILTER_IFM_MMAD_NUM
#undef FILTER_OFM_MMAD_NUM
#undef FILTER_IFM_ALIGNED
#undef FILTER_OFM_ALIGNED


			__local uchar4*  out_slm   = (__local uchar4*)  &act_slm;
			__local uchar4* out_slm_2  = (__local uchar4*)  &out_slm[ out_slm_write ];

			/* Scale the accumulator down and do the ReLU before converting to 8 bits */

			/*  Real code might do this, but need to get scale right or the convert to uchar saturates and then doesn''t match CPU
			float scale = (float)SCALE_FACTOR;

			uchar outchar = (uchar)max(((float)outint) * scale, 0.0f); */

            const uint _feature = ((fmg * 32) % _OD) + get_local_id(0);
            float quant_f = as_float(intel_sub_group_block_read((__global uint*) (quantizations + _feature) ));
            float bias_f = as_float(intel_sub_group_block_read((__global uint*) (biases + _feature) ));
            float calib_f = as_float(intel_sub_group_block_read((__global uint*) (calibrations + _feature) ));

			__attribute__((opencl_unroll_hint(OUT_BLOCK_HEIGHT)))
			for (int r = 0; r < OUT_BLOCK_HEIGHT; r++)
            {
			    __attribute__((opencl_unroll_hint(OUT_BLOCK_WIDTH)))
				for (int c = 0; c < OUT_BLOCK_WIDTH; c++)
                {
					int4 outvec = out[ r * OUT_BLOCK_WIDTH + c];

					uchar4 slm_write0;

					int slm_addr = c * 32 + r * TILE_W * 32;

					/*TODO - Activation & Quantization  code goes here -  presently applying ReLU and  taking lower 8-bits */

                    QUANTIZATION;

					out_slm_2[ slm_addr ]   = slm_write0;

				} // out_block_width-for loop

			}  // out_block_height-for loop

			//  Wait till all threads in WG finish placing the output
			  barrier(CLK_LOCAL_MEM_FENCE);

			/******************* Read from SLM & Write to Global *************************************/

		    /* Each lane will read uint4 from SLM - 4K x 4N values. Swizzle them into 4N x 4K order

     		   SLM Read Distribution - 8Px14Qx4Nx32K output tile

			   Threads 0-1 handles row0, col 0-13,
			   Threads 2-3 handles row1, col 0-13,
			   ..
			   Threads 14-15 handles row7, col 0-13 */

			uint row_id =   thread_id / 2;
			uint col_id =   ( thread_id % 2 )*7;

			uint out_slm_read =  col_id * 32 + row_id * TILE_W * 32 + lane_id * 4;

			__local uint4 *out_slm3   = (__local uint4*) &out_slm[ out_slm_read ];

			/* feature maps are an array of slicePacks, each H,W position within the slice pack contains 32 8bit feature maps(channels) of 8 different batches */
			uint row_size_bytes        = (_OW + OWPAD) * PACK * BATCH_PACK;

			/* slice_pack is a pack of 32 feature map tiles that are [OH][OW][4][32] that are stored within the full [K/32][N/4][OH][OW][4][32] output */
			uint slice_pack_size_bytes = row_size_bytes * (_OH + OHPAD);

			/* Each fmg writes [OH][OW][4][32]*/

		 	uint output_depth_index      =  output_depth;

			uint batch_index			 =  batch;

			uint slice_pack_addr_bytes  = output_depth_index * slice_pack_size_bytes * ( BATCH_SIZE / BATCH_PACK ) + batch_index * slice_pack_size_bytes + (groupz_tile + row_id ) * row_size_bytes + (groupy_tile + col_id ) * PACK * BATCH_PACK;

			__global uint* output_write = (__global uint *) &outputs [ slice_pack_addr_bytes ];

			/* Each lane writes 4K values of 4 batches and 8 different columns */

			/* 4K values of K=0..31 */

			const char  mask_constant = 0xFF;

			__attribute__((opencl_unroll_hint(7)))
			for ( int c=0; c<7; c++ )
            {
				/* Get 4K4N values in uint4 - each uint containing 4N values of a K
 				   swizzle the data and pack into another uint4 containing 4N4K values - each uint containing 4K values of a N.
				   Use block_writes for writing uint4 */

				uint4 out_k4n4 = out_slm3 [ c*8 ];

               	//Pack 4K values of first n
				uchar4 out_n0k4;

				out_n0k4.s0 = out_k4n4.s0 & mask_constant;
				out_n0k4.s1 = out_k4n4.s1 & mask_constant;
				out_n0k4.s2 = out_k4n4.s2 & mask_constant;
				out_n0k4.s3 = out_k4n4.s3 & mask_constant;

		        /* Assigning to uchar hence need to get the required bits to lower 8-bits*/

				//Pack 4K values of second n
				uchar4 out_n1k4;

			    out_n1k4.s0 = (out_k4n4.s0 >> 8) & mask_constant;
				out_n1k4.s1 = (out_k4n4.s1 >> 8) & mask_constant;
				out_n1k4.s2 = (out_k4n4.s2 >> 8) & mask_constant;
				out_n1k4.s3 = (out_k4n4.s3 >> 8) & mask_constant;

		        //Pack 4K values of third n
				uchar4 out_n2k4;

				out_n2k4.s0  = (out_k4n4.s0 >> 16) & mask_constant;
				out_n2k4.s1  = (out_k4n4.s1 >> 16) & mask_constant;
				out_n2k4.s2  = (out_k4n4.s2 >> 16) & mask_constant;
				out_n2k4.s3  = (out_k4n4.s3 >> 16) & mask_constant;

		        //Pack 4K values of fourth n
				uchar4 out_n3k4;

				out_n3k4.s0 = (out_k4n4.s0 >> 24) & mask_constant;
				out_n3k4.s1 = (out_k4n4.s1 >> 24) & mask_constant;
				out_n3k4.s2 = (out_k4n4.s2 >> 24) & mask_constant;
				out_n3k4.s3 = (out_k4n4.s3 >> 24) & mask_constant;

				uint4 out_n4k4;

				out_n4k4.s0 = as_uint ( out_n0k4 );
				out_n4k4.s1 = as_uint ( out_n1k4 );
				out_n4k4.s2 = as_uint ( out_n2k4 );
				out_n4k4.s3 = as_uint ( out_n3k4 );

			    intel_sub_group_block_write4 ( output_write , out_n4k4 );

				output_write += 4*8;
			}
} //end of kernel

#undef SCAL
#undef QUANTIZATION

				out[ 0 ]  = _MMAD_4x8 ( out[ 0 ],  act_reg_2[0]  , weights_reg0 );
				out[ 1 ]  = _MMAD_4x8 ( out[ 1 ],  act_reg_2[1]  , weights_reg0 );
				out[ 15 ] = _MMAD_4x8 ( out[ 15 ], act_reg_2[1] , weights_reg3 );

				out[ 14 ] = _MMAD_4x8 ( out[ 14 ], act_reg_2[1], weights_reg4 );
				out[ 0 ]  = _MMAD_4x8 ( out[ 0 ],  act_reg_2[1], weights_reg1 );

				/* load input row =2,col=2:7,8:13,1Hx6Wx4N  */

				uint col_2 = 2;

				__attribute__((opencl_unroll_hint(2)))
				do {

				uint slm_offset 	  = 2*(TILE_W + 2)*BATCH_PACK*8 + col_2*BATCH_PACK*8;

				act_reg_2 [ 0 ] = as_int4 (SLM_BLOCK_READ_4 (slm_ptr0 + slm_offset)) ;
				act_reg_2 [ 1 ] = as_int4 (SLM_BLOCK_READ_4 (slm_ptr0 + slm_offset +   BATCH_PACK*8)) ;
				act_reg_2 [ 2 ] = as_int4 (SLM_BLOCK_READ_4 (slm_ptr0 + slm_offset + 2*BATCH_PACK*8)) ;
				act_reg_2 [ 3 ] = as_int4 (SLM_BLOCK_READ_4 (slm_ptr0 + slm_offset + 3*BATCH_PACK*8) ) ;
   				act_reg_2 [ 4 ] = as_int4 (SLM_BLOCK_READ_4 (slm_ptr0 + slm_offset + 4*BATCH_PACK*8) ) ;
   				act_reg_2 [ 5 ] = as_int4 (SLM_BLOCK_READ_4 (slm_ptr0 + slm_offset + 5*BATCH_PACK*8) ) ;

   				uint first_row_offset   = col_2 - 2;
				uint second_row_offset  = 14 + col_2 - 2;

				out [ first_row_offset + 1 ]  =  _MMAD_4x8 ( out[ first_row_offset + 1] , act_reg_2[0],  weights_reg1 );
				out [ first_row_offset + 2 ]  =  _MMAD_4x8 ( out[ first_row_offset + 2] , act_reg_2[0],  weights_reg0 );
				out [ first_row_offset + 3 ]  =  _MMAD_4x8 ( out[ first_row_offset + 3 ], act_reg_2[1], weights_reg0 );
				out [ first_row_offset ]      =  _MMAD_4x8 ( out[ first_row_offset ] ,    act_reg_2[0] , weights_reg2 );

				out [ second_row_offset + 1 ]  =  _MMAD_4x8 ( out[ second_row_offset + 1] , act_reg_2[0],  weights_reg4 );
				out [ second_row_offset + 2 ]  =  _MMAD_4x8 ( out[ second_row_offset + 2] , act_reg_2[0],  weights_reg3 );
				out [ second_row_offset + 3 ]  =  _MMAD_4x8 ( out[ second_row_offset + 3], act_reg_2[1], weights_reg3 );
				out [ second_row_offset ]      =  _MMAD_4x8 ( out[ second_row_offset ] , act_reg_2[0] , weights_reg5 );

				out [ first_row_offset + 1 ]   = _MMAD_4x8 (  out[ first_row_offset + 1 ], act_reg_2[1], weights_reg2 );
				out [ first_row_offset + 2 ]   = _MMAD_4x8 (  out[ first_row_offset + 2 ], act_reg_2[1], weights_reg1 );
				out [ first_row_offset + 3 ]   = _MMAD_4x8 ( out[ first_row_offset + 3 ],  act_reg_2[2], weights_reg1 );
				out [ first_row_offset + 4 ]   = _MMAD_4x8 ( out[ first_row_offset + 4 ],  act_reg_2[2], weights_reg0 );

				out [ second_row_offset + 1 ]  = _MMAD_4x8 (  out[ second_row_offset + 1 ], act_reg_2[1], weights_reg5 );
				out [ second_row_offset + 2 ]  = _MMAD_4x8 (  out[ second_row_offset + 2 ], act_reg_2[1], weights_reg4 );
				out [ second_row_offset + 3 ]   = _MMAD_4x8 ( out[ second_row_offset + 3 ], act_reg_2[2], weights_reg4 );
				out [ second_row_offset + 4 ]   = _MMAD_4x8 ( out[ second_row_offset + 4 ], act_reg_2[2], weights_reg3 );

				out [ first_row_offset + 5 ]   = _MMAD_4x8 ( out[ first_row_offset + 5], act_reg_2[3], weights_reg0 );
				out [ first_row_offset + 2 ]   = _MMAD_4x8 ( out[ first_row_offset + 2], act_reg_2[2], weights_reg2 );
				out [ first_row_offset + 3 ]   = _MMAD_4x8 ( out[ first_row_offset + 3], act_reg_2[3], weights_reg2 );
				out [ first_row_offset + 4 ]   = _MMAD_4x8 ( out[ first_row_offset + 4], act_reg_2[3], weights_reg1 );

				out [ second_row_offset + 5 ]   = _MMAD_4x8 ( out[ second_row_offset + 5], act_reg_2[3], weights_reg3 );
				out [ second_row_offset + 2 ]   = _MMAD_4x8 ( out[ second_row_offset + 2], act_reg_2[2], weights_reg5 );
				out [ second_row_offset + 3 ]   = _MMAD_4x8 ( out[ second_row_offset + 3], act_reg_2[3], weights_reg5 );
				out [ second_row_offset + 4 ]   = _MMAD_4x8 ( out[ second_row_offset + 4], act_reg_2[3], weights_reg4 );

				out [ first_row_offset + 6 ]   = _MMAD_4x8 ( out[ first_row_offset + 6], act_reg_2[4], weights_reg0 );
				out [ first_row_offset + 7 ]   = _MMAD_4x8 ( out[ first_row_offset + 7], act_reg_2[5], weights_reg0 );
				out [ first_row_offset + 5 ]   = _MMAD_4x8 ( out[ first_row_offset + 5], act_reg_2[4], weights_reg1 );
				out [ first_row_offset + 6 ]   = _MMAD_4x8 ( out[ first_row_offset + 6], act_reg_2[5], weights_reg1 );
				out [ first_row_offset + 4 ]   = _MMAD_4x8 ( out[ first_row_offset + 4], act_reg_2[4], weights_reg2 );
				out [ first_row_offset + 5 ]   = _MMAD_4x8 ( out[ first_row_offset + 5], act_reg_2[5], weights_reg2 );

				out [ second_row_offset + 6 ]   = _MMAD_4x8 ( out[ second_row_offset + 6], act_reg_2[4], weights_reg3 );
				out [ second_row_offset + 7 ]   = _MMAD_4x8 ( out[ second_row_offset + 7], act_reg_2[5], weights_reg3 );
				out [ second_row_offset + 5 ]   = _MMAD_4x8 ( out[ second_row_offset + 5], act_reg_2[4], weights_reg4 );
				out [ second_row_offset + 6 ]   = _MMAD_4x8 ( out[ second_row_offset + 6], act_reg_2[5], weights_reg4 );
				out [ second_row_offset + 4 ]   = _MMAD_4x8 ( out[ second_row_offset + 4], act_reg_2[4], weights_reg5 );
				out [ second_row_offset + 5 ]   = _MMAD_4x8 ( out[ second_row_offset + 5], act_reg_2[5], weights_reg5 );

				col_2 +=6;

				} while ( col_2 < 14 );

				/* load input row =2,col=14:15  1Hx2Wx4N  */

				uint slm_row_offset_5 	  = 2 * (TILE_W + 2) * BATCH_PACK * 8 + 14 * BATCH_PACK * 8;

				act_reg_2 [ 0 ] = as_int4 (SLM_BLOCK_READ_4 (slm_ptr0 + slm_row_offset_5)) ;
				act_reg_2 [ 1 ] = as_int4 (SLM_BLOCK_READ_4 (slm_ptr0 + slm_row_offset_5 +   BATCH_PACK*8)) ;

				out[ 13 ]  = _MMAD_4x8 ( out[ 13 ],   act_reg_2[0],  weights_reg1 );
				out[ 27 ]  = _MMAD_4x8 ( out[ 27 ],   act_reg_2[0],  weights_reg4 );
				out[ 26 ]  = _MMAD_4x8 ( out[ 26 ],   act_reg_2[0],  weights_reg5 );

				out[ 12 ]  = _MMAD_4x8 ( out[ 12 ],  act_reg_2[0],  weights_reg2 );
				out[ 13 ]  = _MMAD_4x8 ( out[ 13 ],  act_reg_2[1],  weights_reg2 );

				out[ 27 ]  = _MMAD_4x8 ( out[ 27 ],  act_reg_2[1],  weights_reg5 );
	}

				/*************************************************************************************************
				   Fourth phase - discard middle weight row, for fourth activation row load 1Hx8Wx4N at a time
				                - Weights - 24 registers, Activations - 32 registers: Total 56 registers used for input data
				**************************************************************************************************/
		{
					int4 act_reg[ 8 ];

			/* load first 1Hx8Wx4N inputs */

				uint slm_row_offset_6 =  3 * (TILE_W + 2) * BATCH_PACK * 8 ;

				__attribute__((opencl_unroll_hint(8)))
				for (int ic = 0; ic < 8; ic++)
				{
	                 /* Load activations from SLM into registers  */
					 uint slm_offset = ic * BATCH_PACK * 8  + slm_row_offset_6;
    				 act_reg [ ic ] = as_int4 (SLM_BLOCK_READ_4 (slm_ptr0 + slm_offset)) ;
				}

			/* Convolve */

				uint phase_offset = 14;

				out[ phase_offset + 0 ] = _MMAD_4x8 ( out[ phase_offset +0 ], act_reg[0], weights_reg0 );
				out[ phase_offset + 1 ] = _MMAD_4x8 ( out[ phase_offset +1 ], act_reg[1], weights_reg0 );
				out[ phase_offset +2 ] = _MMAD_4x8 ( out[ phase_offset +2 ], act_reg[2], weights_reg0 );
				out[ phase_offset +3 ] = _MMAD_4x8 ( out[ phase_offset +3 ], act_reg[3], weights_reg0 );
				out[ phase_offset +4 ] = _MMAD_4x8 ( out[ phase_offset +4 ], act_reg[4], weights_reg0 );
				out[ phase_offset +5 ] = _MMAD_4x8 ( out[ phase_offset +5 ], act_reg[5], weights_reg0 );
				out[ phase_offset +6 ] = _MMAD_4x8 ( out[ phase_offset +6 ], act_reg[6], weights_reg0 );
				out[ phase_offset +7 ] = _MMAD_4x8 ( out[ phase_offset +7 ], act_reg[7], weights_reg0 );

				out[ phase_offset +0 ] = _MMAD_4x8 ( out[ phase_offset +0 ], act_reg[1], weights_reg1 );
				out[ phase_offset +1 ] = _MMAD_4x8 ( out[ phase_offset +1 ], act_reg[2], weights_reg1 );
				out[ phase_offset +2 ] = _MMAD_4x8 ( out[ phase_offset +2 ], act_reg[3], weights_reg1 );
				out[ phase_offset +3 ] = _MMAD_4x8 ( out[ phase_offset +3 ], act_reg[4], weights_reg1 );
				out[ phase_offset +4 ] = _MMAD_4x8 ( out[ phase_offset +4 ], act_reg[5], weights_reg1 );
				out[ phase_offset +5 ] = _MMAD_4x8 ( out[ phase_offset +5 ], act_reg[6], weights_reg1 );
				out[ phase_offset +6 ] = _MMAD_4x8 ( out[ phase_offset +6 ], act_reg[7], weights_reg1 );

				out[ phase_offset +0 ] = _MMAD_4x8 ( out[ phase_offset +0 ], act_reg[2], weights_reg2 );
				out[ phase_offset +1 ] = _MMAD_4x8 ( out[ phase_offset +1 ], act_reg[3], weights_reg2 );
				out[ phase_offset +2 ] = _MMAD_4x8 ( out[ phase_offset +2 ], act_reg[4], weights_reg2 );
				out[ phase_offset +3 ] = _MMAD_4x8 ( out[ phase_offset +3 ], act_reg[5], weights_reg2 );
				out[ phase_offset +4 ] = _MMAD_4x8 ( out[ phase_offset +4 ], act_reg[6], weights_reg2 );
				out[ phase_offset +5 ] = _MMAD_4x8 ( out[ phase_offset +5 ], act_reg[7], weights_reg2 );

				/* load next 1Hx8Wx4N inputs */

				__attribute__((opencl_unroll_hint(8)))
				for (int ic = 8; ic < 16; ic++)
				{
					 uint slm_offset = ic * BATCH_PACK * 8 + slm_row_offset_6;
					 act_reg [ ic - 8 ] = as_int4 (SLM_BLOCK_READ_4 (slm_ptr0 + slm_offset)) ;
				}

				/* Convolve */

				out[ phase_offset +6 ] = _MMAD_4x8 ( out[ phase_offset +6 ], act_reg[0], weights_reg2 );
				out[ phase_offset +7 ] = _MMAD_4x8 ( out[ phase_offset +7 ], act_reg[1], weights_reg2 );
				out[ phase_offset + 8 ] = _MMAD_4x8 ( out[ phase_offset +8 ], act_reg[2], weights_reg2 );
				out[ phase_offset +9 ] = _MMAD_4x8 ( out[phase_offset + 9 ], act_reg[3], weights_reg2 );
				out[ phase_offset +10 ] = _MMAD_4x8 ( out[ phase_offset +10 ], act_reg[4], weights_reg2 );
				out[ phase_offset +11 ] = _MMAD_4x8 ( out[phase_offset + 11 ], act_reg[5], weights_reg2 );
				out[ phase_offset +12 ] = _MMAD_4x8 ( out[ phase_offset +12 ], act_reg[6], weights_reg2 );
				out[ phase_offset +13 ] = _MMAD_4x8 ( out[ phase_offset +13 ], act_reg[7], weights_reg2 );

				out[ phase_offset +7 ] =  _MMAD_4x8 ( out[ phase_offset +7 ], act_reg[0], weights_reg1 );
				out[ phase_offset +8 ] =  _MMAD_4x8 ( out[phase_offset + 8 ], act_reg[1], weights_reg1 );
				out[ phase_offset +9 ] = _MMAD_4x8 ( out[ phase_offset +9 ], act_reg[2], weights_reg1 );
				out[ phase_offset +10 ] = _MMAD_4x8 ( out[ phase_offset +10 ], act_reg[3], weights_reg1 );
				out[ phase_offset +11 ] = _MMAD_4x8 ( out[ phase_offset +11 ], act_reg[4], weights_reg1 );
				out[ phase_offset +12 ] = _MMAD_4x8 ( out[ phase_offset +12 ], act_reg[5], weights_reg1 );
				out[ phase_offset +13 ] = _MMAD_4x8 ( out[phase_offset + 13 ], act_reg[6], weights_reg1 );

				out[ phase_offset +8 ] =  _MMAD_4x8 ( out[phase_offset + 8 ],  act_reg[0], weights_reg0 );
				out[ phase_offset +9 ] = _MMAD_4x8 ( out[ phase_offset +9 ], act_reg[1], weights_reg0 );
				out[ phase_offset +10 ] = _MMAD_4x8 ( out[ phase_offset +10 ], act_reg[2], weights_reg0 );
				out[ phase_offset +11 ] = _MMAD_4x8 ( out[phase_offset + 11 ], act_reg[3], weights_reg0 );
				out[ phase_offset +12 ] = _MMAD_4x8 ( out[ phase_offset +12 ], act_reg[4], weights_reg0 );
				out[ phase_offset +13 ] = _MMAD_4x8 ( out[phase_offset + 13 ], act_reg[5], weights_reg0 );
			}

			// To make sure all threads in WG have finished compute before next depth tile of activation and weights are loaded into SLM
			barrier(CLK_LOCAL_MEM_FENCE);

	} //for kd

        /****************************************************************************************************************
		*******************************Output Write Stage****************************************************************
		****************************************************************************************************************/

		/*
		   Outputs will be passed through activation function and quantized to 8 bits before writing
		   Output will be in same format as input [K/32][N/4][P][Q][4N][32K]
		   Writes are staged in SLM so that 32-bit writes can be done to Global memory
		*/

		/******************* Write output to SLM *************************************/

		/*  Quantize and pack 4x1 byte - from consectuive n-coordinates
         	Write uint32 from each lane to SLM , the entire thread will write 8-consecutive K-coorindates
			Four threads will write 4x8xuint32 for 32 output channels and 4 batches
			This will be repeated for entire WG-tile

			Assume one SLM row as 32 uints ( 32 channels , four batches for each channel - 4NK )
		*/

			 uint out_slm_write        =  lid_z * TILE_W * OUT_BLOCK_HEIGHT * 32 + threadid_group_4 * 8 + lane_id;
				out[ 2 ] = _MMAD_4x8 ( out[ 2 ], act_reg[3], weights_reg1 );
				out[ 3 ] = _MMAD_4x8 ( out[ 3 ], act_reg[4], weights_reg1 );
				out[ 4 ] = _MMAD_4x8 ( out[ 4 ], act_reg[5], weights_reg1 );
				out[ 5 ] = _MMAD_4x8 ( out[ 5 ], act_reg[6], weights_reg1 );
				out[ 6 ] = _MMAD_4x8 ( out[ 6 ], act_reg[7], weights_reg1 );

				out[ 0 ] = _MMAD_4x8 ( out[ 0 ], act_reg[2], weights_reg2 );
				out[ 1 ] = _MMAD_4x8 ( out[ 1 ], act_reg[3], weights_reg2 );
				out[ 2 ] = _MMAD_4x8 ( out[ 2 ], act_reg[4], weights_reg2 );
				out[ 3 ] = _MMAD_4x8 ( out[ 3 ], act_reg[5], weights_reg2 );
				out[ 4 ] = _MMAD_4x8 ( out[ 4 ], act_reg[6], weights_reg2 );
				out[ 5 ] = _MMAD_4x8 ( out[ 5 ], act_reg[7], weights_reg2 );

				/* load next 1Hx8Wx4N inputs */

				__attribute__((opencl_unroll_hint(8)))
				for (int ic = 8; ic < 16; ic++)
				{
					 uint slm_offset = ic * BATCH_PACK * 8;

					 act_reg [ ic - 8 ] = as_int4 (SLM_BLOCK_READ_4 (slm_ptr0 + slm_offset) ) ;
				}

				/* Convolve */

				out[ 6 ] = _MMAD_4x8 ( out[ 6 ], act_reg[0], weights_reg2 );
				out[ 7 ] = _MMAD_4x8 ( out[ 7 ], act_reg[1], weights_reg2 );
				out[ 8 ] = _MMAD_4x8 ( out[ 8 ], act_reg[2], weights_reg2 );
				out[ 9 ] = _MMAD_4x8 ( out[ 9 ], act_reg[3], weights_reg2 );
				out[ 10 ] = _MMAD_4x8 ( out[ 10 ], act_reg[4], weights_reg2 );
				out[ 11 ] = _MMAD_4x8 ( out[ 11 ], act_reg[5], weights_reg2 );
				out[ 12 ] = _MMAD_4x8 ( out[ 12 ], act_reg[6], weights_reg2 );
				out[ 13 ] = _MMAD_4x8 ( out[ 13 ], act_reg[7], weights_reg2 );

				out[ 7 ]  =  _MMAD_4x8 ( out[ 7 ], act_reg[0], weights_reg1 );
				out[ 8 ]  =  _MMAD_4x8 ( out[ 8 ], act_reg[1], weights_reg1 );
				out[ 9 ]  = _MMAD_4x8 (  out[ 9 ],  act_reg[2], weights_reg1 );
				out[ 10 ] = _MMAD_4x8 ( out[ 10 ], act_reg[3], weights_reg1 );
				out[ 11 ] = _MMAD_4x8 ( out[ 11 ], act_reg[4], weights_reg1 );
				out[ 12 ] = _MMAD_4x8 ( out[ 12 ], act_reg[5], weights_reg1 );
				out[ 13 ] = _MMAD_4x8 ( out[ 13 ], act_reg[6], weights_reg1 );

				out[ 8 ] =  _MMAD_4x8 ( out[ 8 ],  act_reg[0], weights_reg0 );
				out[ 9 ] = _MMAD_4x8 ( out [ 9 ],   act_reg[1], weights_reg0 );
				out[ 10 ] = _MMAD_4x8 ( out[ 10 ], act_reg[2], weights_reg0 );
				out[ 11 ] = _MMAD_4x8 ( out[ 11 ], act_reg[3], weights_reg0 );
				out[ 12 ] = _MMAD_4x8 ( out[ 12 ], act_reg[4], weights_reg0 );
				out[ 13 ] = _MMAD_4x8 ( out[ 13 ], act_reg[5], weights_reg0 );
			}

			/* Second , Third phase */
		{
				int8 weights_reg3, weights_reg4,weights_reg5;
				int4 act_reg_2[ 6 ];

				/*****************************************************************************************************************************************
				 Second phase - load second row of weights, now both rows are in registers, for the second activation row - 1Hx6Wx4N inputs at a time
                              - Weights - 48 registers, Activations - 24 registers: Total 72 registers used	for input data
				******************************************************************************************************************************************/

				 /* Load weights of row = 1 from SLM into registers  */
				 {

						weights_reg3.s0123     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptr1 ) );
					    weights_reg3.s4567     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptr1 + 64 ) );
						slm_ptr1   			   += LOCAL_SIZE_X*8;

						weights_reg4.s0123     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptr1 ) );
					    weights_reg4.s4567     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptr1 + 64 ) );
						slm_ptr1   			   += LOCAL_SIZE_X*8;

						weights_reg5.s0123     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptr1 ) );
					    weights_reg5.s4567     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptr1 + 64 ) );
						slm_ptr1   			   += LOCAL_SIZE_X*8;
				}

				/* load input row =1,col=0:1  1Hx2Wx8N  */

				uint slm_row_offset_2 	  = 1*(TILE_W + 2)*BATCH_PACK*8;

				act_reg_2 [ 0 ] = as_int4 (SLM_BLOCK_READ_4 (slm_ptr0 + slm_row_offset_2) ) ;
				act_reg_2 [ 1 ] = as_int4 (SLM_BLOCK_READ_4 (slm_ptr0 + slm_row_offset_2 + BATCH_PACK*8) ) ;

				out[ 14 ] = _MMAD_4x8 ( out[ 14 ], act_reg_2[0] , weights_reg0 );
				out[ 0 ]  = _MMAD_4x8 ( out[ 0 ],  act_reg_2[0]  , weights_reg3 );
				out[ 1 ]  = _MMAD_4x8 ( out[ 1 ],  act_reg_2[1]  , weights_reg3 );
				out[ 15 ] = _MMAD_4x8 ( out[ 15 ], act_reg_2[1] , weights_reg0 );

				out[ 14 ] = _MMAD_4x8 ( out[ 14 ], act_reg_2[1], weights_reg1 );
				out[ 0 ]  = _MMAD_4x8 ( out[ 0 ],  act_reg_2[1], weights_reg4 );

				/* load input row =1,col=2:7,8:13,1Hx6Wx4N  */

				uint col = 2;

				__attribute__((opencl_unroll_hint(2)))
				do {

				uint slm_offset 	  = 1*(TILE_W + 2)*BATCH_PACK*8 + col*BATCH_PACK*8;

				act_reg_2 [ 0 ] = as_int4 (SLM_BLOCK_READ_4 (slm_ptr0 + slm_offset)) ;
				act_reg_2 [ 1 ] = as_int4 (SLM_BLOCK_READ_4 (slm_ptr0 + slm_offset +   BATCH_PACK*8)) ;
				act_reg_2 [ 2 ] = as_int4 (SLM_BLOCK_READ_4 (slm_ptr0 + slm_offset + 2*BATCH_PACK*8)) ;
				act_reg_2 [ 3 ] = as_int4 (SLM_BLOCK_READ_4 (slm_ptr0 + slm_offset + 3*BATCH_PACK*8) ) ;
   				act_reg_2 [ 4 ] = as_int4 (SLM_BLOCK_READ_4 (slm_ptr0 + slm_offset + 4*BATCH_PACK*8) ) ;
   				act_reg_2 [ 5 ] = as_int4 (SLM_BLOCK_READ_4 (slm_ptr0 + slm_offset + 5*BATCH_PACK*8) ) ;

   				uint first_row_offset   = col - 2;
				uint second_row_offset  = 14 + col - 2;

   				out [ first_row_offset ]      =  _MMAD_4x8 ( out[ first_row_offset ] ,    act_reg_2[0] , weights_reg5 );
				out [ first_row_offset + 1 ]  =  _MMAD_4x8 ( out[ first_row_offset + 1] , act_reg_2[0],  weights_reg4 );
				out [ first_row_offset + 2 ]  =  _MMAD_4x8 ( out[ first_row_offset + 2] , act_reg_2[0],  weights_reg3 );
				out [ first_row_offset + 3 ]  =  _MMAD_4x8 ( out[ first_row_offset + 3 ], act_reg_2[1], weights_reg3 );

				out [ second_row_offset ]      =  _MMAD_4x8 ( out[ second_row_offset ] , act_reg_2[0] , weights_reg2 );
				out [ second_row_offset + 1 ]  =  _MMAD_4x8 ( out[ second_row_offset + 1] , act_reg_2[0],  weights_reg1 );
				out [ second_row_offset + 2 ]  =  _MMAD_4x8 ( out[ second_row_offset + 2] , act_reg_2[0],  weights_reg0 );
				out [ second_row_offset + 3 ]  =  _MMAD_4x8 ( out[ second_row_offset + 3], act_reg_2[1], weights_reg0 );

				out [ first_row_offset + 1 ]   = _MMAD_4x8 (  out[ first_row_offset + 1 ], act_reg_2[1], weights_reg5 );
				out [ first_row_offset + 2 ]   = _MMAD_4x8 (  out[ first_row_offset + 2 ], act_reg_2[1], weights_reg4 );
				out [ first_row_offset + 3 ]   = _MMAD_4x8 ( out[ first_row_offset + 3 ],  act_reg_2[2], weights_reg4 );
				out [ first_row_offset + 4 ]   = _MMAD_4x8 ( out[ first_row_offset + 4 ],  act_reg_2[2], weights_reg3 );

				out [ second_row_offset + 1 ]  = _MMAD_4x8 (  out[ second_row_offset + 1 ], act_reg_2[1], weights_reg2 );
				out [ second_row_offset + 2 ]  = _MMAD_4x8 (  out[ second_row_offset + 2 ], act_reg_2[1], weights_reg1 );
				out [ second_row_offset + 3 ]   = _MMAD_4x8 ( out[ second_row_offset + 3 ], act_reg_2[2], weights_reg1 );
				out [ second_row_offset + 4 ]   = _MMAD_4x8 ( out[ second_row_offset + 4 ], act_reg_2[2], weights_reg0 );

				out [ first_row_offset + 2 ]   = _MMAD_4x8 ( out[ first_row_offset + 2], act_reg_2[2], weights_reg5 );
				out [ first_row_offset + 3 ]   = _MMAD_4x8 ( out[ first_row_offset + 3], act_reg_2[3], weights_reg5 );
				out [ first_row_offset + 4 ]   = _MMAD_4x8 ( out[ first_row_offset + 4], act_reg_2[3], weights_reg4 );
				out [ first_row_offset + 5 ]   = _MMAD_4x8 ( out[ first_row_offset + 5], act_reg_2[3], weights_reg3 );

				out [ second_row_offset + 2 ]   = _MMAD_4x8 ( out[ second_row_offset + 2], act_reg_2[2], weights_reg2 );
				out [ second_row_offset + 3 ]   = _MMAD_4x8 ( out[ second_row_offset + 3], act_reg_2[3], weights_reg2 );
				out [ second_row_offset + 4 ]   = _MMAD_4x8 ( out[ second_row_offset + 4], act_reg_2[3], weights_reg1 );
				out [ second_row_offset + 5 ]   = _MMAD_4x8 ( out[ second_row_offset + 5], act_reg_2[3], weights_reg0 );

				out [ first_row_offset + 6 ]   = _MMAD_4x8 ( out[ first_row_offset + 6], act_reg_2[4], weights_reg3 );
				out [ first_row_offset + 7 ]   = _MMAD_4x8 ( out[ first_row_offset + 7], act_reg_2[5], weights_reg3 );
				out [ first_row_offset + 5 ]   = _MMAD_4x8 ( out[ first_row_offset + 5], act_reg_2[4], weights_reg4 );
				out [ first_row_offset + 6 ]   = _MMAD_4x8 ( out[ first_row_offset + 6], act_reg_2[5], weights_reg4 );
				out [ first_row_offset + 4 ]   = _MMAD_4x8 ( out[ first_row_offset + 4], act_reg_2[4], weights_reg5 );
				out [ first_row_offset + 5 ]   = _MMAD_4x8 ( out[ first_row_offset + 5], act_reg_2[5], weights_reg5 );

				out [ second_row_offset + 6 ]   = _MMAD_4x8 ( out[ second_row_offset + 6], act_reg_2[4], weights_reg0 );
				out [ second_row_offset + 7 ]   = _MMAD_4x8 ( out[ second_row_offset + 7], act_reg_2[5], weights_reg0 );
				out [ second_row_offset + 5 ]   = _MMAD_4x8 ( out[ second_row_offset + 5], act_reg_2[4], weights_reg1 );
				out [ second_row_offset + 6 ]   = _MMAD_4x8 ( out[ second_row_offset + 6], act_reg_2[5], weights_reg1 );
				out [ second_row_offset + 4 ]   = _MMAD_4x8 ( out[ second_row_offset + 4], act_reg_2[4], weights_reg2 );
				out [ second_row_offset + 5 ]   = _MMAD_4x8 ( out[ second_row_offset + 5], act_reg_2[5], weights_reg2 );

				col +=6;

				} while ( col < 14 );

				/* load input row =1,col=14:15  1Hx2Wx4N  */

				uint slm_row_offset_3 	  = 1 * (TILE_W + 2) * BATCH_PACK * 8 + 14 * BATCH_PACK * 8;

				act_reg_2 [ 0 ] = as_int4 (SLM_BLOCK_READ_4 (slm_ptr0 + slm_row_offset_3)) ;
				act_reg_2 [ 1 ] = as_int4 (SLM_BLOCK_READ_4 (slm_ptr0 + slm_row_offset_3 +   BATCH_PACK*8)) ;

				out[ 13 ]  = _MMAD_4x8 ( out[ 13 ],   act_reg_2[0],  weights_reg4 );
				out[ 27 ]  = _MMAD_4x8 ( out[ 27 ],   act_reg_2[0],  weights_reg1 );
				out[ 26 ]  = _MMAD_4x8 ( out[ 26 ],   act_reg_2[0],  weights_reg2 );

				out[ 12 ]  = _MMAD_4x8 ( out[ 12 ],  act_reg_2[0],  weights_reg5 );
				out[ 13 ]  = _MMAD_4x8 ( out[ 13 ],  act_reg_2[1],  weights_reg5 );

				out[ 27 ]  = _MMAD_4x8 ( out[ 27 ],  act_reg_2[1],  weights_reg2 );

                /****************************************************************************************************************************************
				   Third phase - load third row of weights, this replaces first weight row, for the third activation row read 1Hx6Wx4N inputs at a time
				               - Weights - 48 registers, Activations - 24 registers: Total 72 registers used for input data
				*****************************************************************************************************************************************/

				 /* Load weights of row = 2 from SLM into registers - replaces row = 0 weights  */
				 {
					    weights_reg0.s0123     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptr1 ) );
					    weights_reg0.s4567     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptr1 + 64 ) );
						slm_ptr1   			   += LOCAL_SIZE_X*8;

						weights_reg1.s0123     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptr1 ) );
					    weights_reg1.s4567     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptr1 + 64 ) );
						slm_ptr1   			   += LOCAL_SIZE_X*8;

						weights_reg2.s0123     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptr1 ) );
					    weights_reg2.s4567     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptr1 + 64 ) );
						slm_ptr1   			   += LOCAL_SIZE_X*8;
				}

				uint slm_row_offset_4 	  = 2*(TILE_W + 2)*BATCH_PACK*8;

				act_reg_2 [ 0 ] = as_int4 (SLM_BLOCK_READ_4 (slm_ptr0 + slm_row_offset_4)) ;
				act_reg_2 [ 1 ] = as_int4 (SLM_BLOCK_READ_4 (slm_ptr0 + slm_row_offset_4 + BATCH_PACK*8)) ;

				out[ 14 ] = _MMAD_4x8 ( out[ 14 ], act_reg_2[0] , weights_reg3 );

	   Above interleaving present to avoid SLM Bank conflicts when fused threads read from SLM
	   Thread0 will read k=0..7, thread1 will read k=8..15

	   First all output channels are present in SLM, then next weight pixel is present in SLM */

	 #define NUM_FILTERS (K_HEIGHT * K_WIDTH)

	 uint output_depth = fmg % ( _OD / LOCAL_SIZE_X );

	 uint weight_size_CRS =  ( _ID / PACK ) * NUM_FILTERS * 8; //8 output channels packed inside

	 // Global weight addr for workgroup
	 uint weight_global_addr_offset =  output_depth * 4 * weight_size_CRS ; //32 output channels per workgroup

	 // Global weight address for thread
	 uint weight_global_channel_offset = threadid_mod_2 * weight_size_CRS ;

	uint slm_channel_offset = 0;

    if ( thread_id >= 8 ) {
		weight_global_channel_offset +=  2*weight_size_CRS;
		slm_channel_offset = 1;
    }

	 uint weight_global_pixel_offset = 0;
	 uint slm_pixel_offset = 0;

    if ( threadid_mod_8 >=2  )
    {
		weight_global_pixel_offset = 3*8 +  ( ( (threadid_mod_8/2) - 1 )*2*8 );
		slm_pixel_offset 		   = 3*LOCAL_SIZE_X + ( ( (threadid_mod_8/2) - 1 )*2*LOCAL_SIZE_X );
    }

	 weight_global_addr_offset += weight_global_channel_offset + weight_global_pixel_offset;

	 /* Weight slm write index */

	 uint slm_write_weight = threadid_mod_2*4  + slm_pixel_offset + slm_channel_offset * 16;

	 /* Weight slm read index */

	 uint wt_slm_rd_offset = threadid_group_4*8;

    if ( threadid_mod_2 )
    {
		wt_slm_rd_offset = wt_slm_rd_offset - 8 + 4;
    }

	int kd;

	__attribute__((opencl_unroll_hint(1)))
	for(kd = 0; kd <  ( _ID / PACK ) ; kd++)
	{

	{
			/* Load Activation from global to SLM */

			int in_addr = kd * (_IH + IHPAD) * (_IW + IWPAD) * BATCH_SIZE + in_addr_offset;

			__global uint *activation_tile = (__global uint*)&inputs[ in_addr ];

			__local uint *act_slm_ptr   = (__local uint *) &act_slm [ act_slm_write  ];

			/* The odd thread in fused pair will start from next 4x8 block */

			activation_tile += threadid_mod_2*4*8;
			act_slm_ptr 	+= threadid_mod_2*4*8;

			int4 act_col_0 =  as_int4( intel_sub_group_block_read4(activation_tile) );
			int4 act_col_1 =  as_int4( intel_sub_group_block_read4(activation_tile + 8*8) );
			int4 act_col_2 =  as_int4( intel_sub_group_block_read4(activation_tile + 2*8*8) );
			int4 act_col_3 =  as_int4( intel_sub_group_block_read4(activation_tile + 3*8*8) );
			int4 act_col_4 =  as_int4( intel_sub_group_block_read4(activation_tile + 4*8*8) );
			int4 act_col_5 =  as_int4( intel_sub_group_block_read4(activation_tile + 5*8*8) );
			int4 act_col_6 =  as_int4( intel_sub_group_block_read4(activation_tile + 6*8*8) );
			int4 act_col_7 =  as_int4( intel_sub_group_block_read4(activation_tile + 7*8*8) );

			SLM_BLOCK_WRITE_4 ( act_slm_ptr , as_uint4 ( act_col_0 ) );
			SLM_BLOCK_WRITE_4 ( ( act_slm_ptr + 8*8 ) , as_uint4 ( act_col_1 ) );
			SLM_BLOCK_WRITE_4 ( ( act_slm_ptr + 2*8*8 ) , as_uint4 ( act_col_2 ) );
			SLM_BLOCK_WRITE_4 ( ( act_slm_ptr + 3*8*8 ) , as_uint4 ( act_col_3 ) );
			SLM_BLOCK_WRITE_4 ( ( act_slm_ptr + 4*8*8 ) , as_uint4 ( act_col_4 ) );
			SLM_BLOCK_WRITE_4 ( ( act_slm_ptr + 5*8*8 ) , as_uint4 ( act_col_5 ) );
			SLM_BLOCK_WRITE_4 ( ( act_slm_ptr + 6*8*8 ) , as_uint4 ( act_col_6 ) );
			SLM_BLOCK_WRITE_4 ( ( act_slm_ptr + 7*8*8 ) , as_uint4 ( act_col_7 ) );

			if ( thread_id >=12 )
            {
				activation_tile = activation_tile + 1 * (_IW + IWPAD ) * BATCH_PACK * 8;
				act_slm_ptr 	+= 8*8*8;

				int4 act_col_9 =  as_int4( intel_sub_group_block_read4(activation_tile) );
				int4 act_col_10 =  as_int4( intel_sub_group_block_read4(activation_tile + 8*8) );
				int4 act_col_11 =  as_int4( intel_sub_group_block_read4(activation_tile + 2*8*8) );
				int4 act_col_12 =  as_int4( intel_sub_group_block_read4(activation_tile + 3*8*8) );
				int4 act_col_13 =  as_int4( intel_sub_group_block_read4(activation_tile + 4*8*8) );
				int4 act_col_14 =  as_int4( intel_sub_group_block_read4(activation_tile + 5*8*8) );
				int4 act_col_15 =  as_int4( intel_sub_group_block_read4(activation_tile + 6*8*8) );
				int4 act_col_16 =  as_int4( intel_sub_group_block_read4(activation_tile + 7*8*8) );

				SLM_BLOCK_WRITE_4 ( act_slm_ptr  , as_uint4 ( act_col_9 ) );
				SLM_BLOCK_WRITE_4 ( ( act_slm_ptr + 8*8 )   , as_uint4 ( act_col_10 ) );
				SLM_BLOCK_WRITE_4 ( ( act_slm_ptr + 2*8*8 ) , as_uint4 ( act_col_11 ) );
				SLM_BLOCK_WRITE_4 ( ( act_slm_ptr + 3*8*8 ) , as_uint4 ( act_col_12 ) );
				SLM_BLOCK_WRITE_4 ( ( act_slm_ptr + 4*8*8 ) , as_uint4 ( act_col_13 ) );
				SLM_BLOCK_WRITE_4 ( ( act_slm_ptr + 5*8*8 ) , as_uint4 ( act_col_14 ) );
				SLM_BLOCK_WRITE_4 ( ( act_slm_ptr + 6*8*8 ) , as_uint4 ( act_col_15 ) );
				SLM_BLOCK_WRITE_4 ( ( act_slm_ptr + 7*8*8 ) , as_uint4 ( act_col_16 ) );
			}

		/* load weights from global to weight_slm */

			int weight_addr = kd * NUM_FILTERS * 8 + weight_global_addr_offset;

			__global uint *weight_tile   = (__global uint*)&weights    [ weight_addr ];
			__local  uint *wt_slm_ptr    = (__local uint *) &weight_slm [ slm_write_weight  ];

			int4 w0 = as_int4 ( intel_sub_group_block_read4( weight_tile ) );
			int4 w1 = as_int4 ( intel_sub_group_block_read4( weight_tile + 4*8 ) );
			int4 w2 = as_int4 ( intel_sub_group_block_read4( weight_tile + 8*8 ) );
			int4 w3 = as_int4 ( intel_sub_group_block_read4( weight_tile + 12*8 ) );

			SLM_BLOCK_WRITE_4 ( wt_slm_ptr , as_uint4 ( w0 ) );
			SLM_BLOCK_WRITE_4 ( ( wt_slm_ptr + 8*8 )   , as_uint4 ( w1 ) );
			SLM_BLOCK_WRITE_4 ( ( wt_slm_ptr + 32*8 ) , as_uint4 ( w2 ) );
			SLM_BLOCK_WRITE_4 ( ( wt_slm_ptr + 32*8 + 8*8 ) , as_uint4 ( w3 ) );

		   if( threadid_mod_8 < 2 )
           {
				weight_tile += 16*8;
				wt_slm_ptr  += 2*32*8;

				int4 w4 = as_int4 ( intel_sub_group_block_read4( weight_tile ) );
				int4 w5 = as_int4 ( intel_sub_group_block_read4( weight_tile + 4*8 ) );

				SLM_BLOCK_WRITE_4 ( wt_slm_ptr , as_uint4 ( w4 ) );
				SLM_BLOCK_WRITE_4 ( ( wt_slm_ptr + 8*8 )   , as_uint4 ( w5 ) );
			}
	}

		// Synchronize SLM writes across workgroup
		 barrier(CLK_LOCAL_MEM_FENCE);

			uint wt_slm_rd = wt_slm_rd_offset;

			__local uint *slm_ptr0     = (__local uint *) &act_slm[ act_slm_read ];
			__local uint *slm_ptr1     = (__local uint *) &weight_slm[ wt_slm_rd ];

			int8 weights_reg0, weights_reg1,weights_reg2;

			/**********************************************************************************************************
			  First phase - load first row of weights and for the first activation row - 1Hx8Wx4N inputs at a time
                          - Weights - 24 registers, Activations - 32 registers: Total 56 registers used	for input data
			***********************************************************************************************************/
			{
					int4 act_reg[ 8 ];

	                 /* Load weights from SLM into registers  */
				{
					    weights_reg0.s0123     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptr1 ) );
					    weights_reg0.s4567     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptr1 + 64 ) );
						slm_ptr1   			   += LOCAL_SIZE_X*8;

						weights_reg1.s0123     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptr1 ) );
					    weights_reg1.s4567     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptr1 + 64 ) );
						slm_ptr1   			   += LOCAL_SIZE_X*8;

						weights_reg2.s0123     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptr1 ) );
					    weights_reg2.s4567     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptr1 + 64 ) );
						slm_ptr1   			   += LOCAL_SIZE_X*8;
				}

			/* load first 1Hx8Wx4N inputs - Activation Broadcast will occur since it is same for fused threads */

				__attribute__((opencl_unroll_hint(8)))
				for (int ic = 0; ic < 8; ic++)
				{
	                 /* Load activations from SLM into registers  */

					 uint slm_offset = ic * BATCH_PACK * 8 ;

    				 act_reg [ ic ] = as_int4 (SLM_BLOCK_READ_4 (slm_ptr0 + slm_offset)) ;
				}

			/* Convolve */

			   /* order the mmad instructions to minimize dependency on src0,dst - also try to maximise reuse of weights-reg*/

                out[ 0 ] = _MMAD_4x8 ( out[ 0 ], act_reg[0], weights_reg0 );
				out[ 1 ] = _MMAD_4x8 ( out[ 1 ], act_reg[1], weights_reg0 );
				out[ 2 ] = _MMAD_4x8 ( out[ 2 ], act_reg[2], weights_reg0 );
				out[ 3 ] = _MMAD_4x8 ( out[ 3 ], act_reg[3], weights_reg0 );
				out[ 4 ] = _MMAD_4x8 ( out[ 4 ], act_reg[4], weights_reg0 );
				out[ 5 ] = _MMAD_4x8 ( out[ 5 ], act_reg[5], weights_reg0 );
				out[ 6 ] = _MMAD_4x8 ( out[ 6 ], act_reg[6], weights_reg0 );
				out[ 7 ] = _MMAD_4x8 ( out[ 7 ], act_reg[7], weights_reg0 );

				out[ 0 ] = _MMAD_4x8 ( out[ 0 ], act_reg[1], weights_reg1 );
				out[ 1 ] = _MMAD_4x8 ( out[ 1 ], act_reg[2], weights_reg1 );
//


#define MMAD_8(A, B, C) FUNC_CALL(mmad8)(A, B, C)
#define MMAD_4x8(A, B, C) FUNC_CALL(mmad4x8)(A, B, C)
#define MMAD_8x8(A, B, C) FUNC_CALL(mmad8x8)(A, B, C)
#define SLM_BLOCK_WRITE_4(A, B) (FUNC_CALL(intel_sub_group_block_write_4)(A, B))
#define SLM_BLOCK_READ_4(A) (FUNC_CALL(intel_sub_group_block_read_uint4)(A))
#define SLM_BLOCK_READ_8(A) (FUNC_CALL(intel_sub_group_block_read_uint8)(A))


#define SCALE 0.11f

#ifdef LIGHTWEIGHT_QUANTIZATION

#define QUANTIZATION \
    slm_write0.s0 = convert_uchar_sat((float)outvec.s0 * SCALE + bias_f);\
    slm_write0.s1 = convert_uchar_sat((float)outvec.s1 * SCALE + bias_f);\
    slm_write0.s2 = convert_uchar_sat((float)outvec.s2 * SCALE + bias_f);\
    slm_write0.s3 = convert_uchar_sat((float)outvec.s3 * SCALE + bias_f);

#elif NO_QUANTIZATION

#define QUANTIZATION(idx) \
    slm_write0.s0 = convert_uchar_sat(outvec.s0);\
    slm_write0.s1 = convert_uchar_sat(outvec.s1);\
    slm_write0.s2 = convert_uchar_sat(outvec.s2);\
    slm_write0.s3 = convert_uchar_sat(outvec.s3);

#else

#define QUANTIZATION \
    slm_write0.s0 = as_uchar(ACTIVATION(convert_char(round(((float)(outvec.s0) * quant_f * I_QF + bias_f) * calib_f)), NL_M, NL_N));\
    slm_write0.s1 = as_uchar(ACTIVATION(convert_char(round(((float)(outvec.s1) * quant_f * I_QF + bias_f) * calib_f)), NL_M, NL_N));\
    slm_write0.s2 = as_uchar(ACTIVATION(convert_char(round(((float)(outvec.s2) * quant_f * I_QF + bias_f) * calib_f)), NL_M, NL_N));\
    slm_write0.s3 = as_uchar(ACTIVATION(convert_char(round(((float)(outvec.s3) * quant_f * I_QF + bias_f) * calib_f)), NL_M, NL_N));

#endif

// mapping to clDNN
#define _MMAD_4x8(C, A, B) MMAD_4x8(A, B, C)
#define _OD OUTPUT_FEATURE_NUM
#define _OW OUTPUT_SIZE_X
#define _OH OUTPUT_SIZE_Y
#define OWPAD (OUTPUT_PAD_BEFORE_SIZE_X + OUTPUT_PAD_AFTER_SIZE_X)
#define OHPAD (OUTPUT_PAD_BEFORE_SIZE_Y + OUTPUT_PAD_AFTER_SIZE_Y)
#define _IH INPUT0_SIZE_Y
#define _IW INPUT0_SIZE_X
#define _ID INPUT0_FEATURE_NUM
#define K_HEIGHT FILTER_SIZE_Y
#define K_WIDTH FILTER_SIZE_X
#define BATCH_SIZE OUTPUT_BATCH_NUM

#define IHPAD (INPUT0_PAD_BEFORE_SIZE_Y + INPUT0_PAD_AFTER_SIZE_Y)
#define IWPAD (INPUT0_PAD_BEFORE_SIZE_X + INPUT0_PAD_AFTER_SIZE_X)
#define K_STRIDE STRIDE_SIZE_X
// end of mapping

// for now kernel stride is square
#define K_WSTRIDE K_STRIDE
#define K_HSTRIDE K_STRIDE

#define PACK 32
#define BATCH_PACK 4

__attribute__((intel_reqd_sub_group_size(8)))
KERNEL(convolution_mmad_slm_2x14_rep4)(
__global int8 *inputs,
__global uchar* outputs,
__global int8* weights,
#if BIAS_TERM
    __global BIAS_TYPE* biases,
#endif
#if QUANTIZATION_TERM
    const __global float* quantizations,
#endif
#if CALIBRATION_TERM
    const __global float* calibrations,
#endif
    uint split_idx
)
{
	const uint TILE_H = OUT_BLOCK_HEIGHT*LOCAL_SIZE_Z;
	const uint TILE_W = OUT_BLOCK_WIDTH*LOCAL_SIZE_Y;

	ushort fmg     = get_group_id(0);   // Output Depth
	ushort group_y = get_group_id(1);   // Output Width
	ushort group_z = get_group_id(2);   // Output Height

	/* 32,1,4 WG , SIMD8 - 16 HW threads in a WG
	threads 0-3   (group1) : (lid_x:0-15,lid_y:0,lid_z:0)
	threads 4-7   (group2) : (lid_x:0-15,lid_y:0,lid_z:1)
	threads 8-11  (group3) : (lid_x:0-15,lid_y:0,lid_z:2)
	threads 12-15  (group4) : (lid_x:0-15,lid_y:0,lid_z:3)

    Verify sub_group_layout through below printfs

	if(group_z == 0 && group_y == 0 && fmg == 0 && get_sub_group_id() == 31) {
			printf("\n sub_group_local_id: %d, lid_x: %d, lid_y: %d, lid_z: %d ", get_sub_group_local_id(), get_local_id(0) ,get_local_id(1),get_local_id(2));
			printf("\n #WorkgroupsX: %d, #WorkgroupsY: %d, #WorkgroupsZ: %d",get_num_groups(0),get_num_groups(1),get_num_groups(2));
	}

	If sub_group_layout is different then derive lid_x, lid_z

	lid_z: thread_id/4
	*/

	/* Thread, local IDs */
	ushort thread_id 		= get_sub_group_id();
	ushort threadid_group_4 = thread_id % 4;
	ushort threadid_mod_2   = thread_id%2;
	ushort threadid_mod_8   = thread_id % 8;

	ushort lid_x    = get_local_id(0);
	ushort lid_z    = get_local_id(2);

	uchar  lane_id  = get_sub_group_local_id();

	/* 32-bit signed accumulator for 4 mini-batches , for a thread OUT_BLOCK_WIDTH*HEIGHT*4 registers are used
	   Will be converted to 8-bits before final write														*/

	int4 out[ OUT_BLOCK_HEIGHT * OUT_BLOCK_WIDTH ] = { 0 } ;

	/* Account for batching */

	ushort batch = ( fmg*LOCAL_SIZE_X ) /_OD;

	// Size calculated for int8 elements , One Batch processing is [H][W][4N][32C]
	uint input_size = (_IH + IHPAD) * (_IW + IWPAD) * BATCH_PACK ;

	uint in_addr_offset = batch*input_size;

	/* Goto activation tile for work group, offset is w.r.t int8 array */

	uint groupy_tile = TILE_W*group_y;
	uint groupz_tile = TILE_H*group_z;

     in_addr_offset += (groupz_tile * K_STRIDE) * (_IW + IWPAD) * BATCH_PACK + (groupy_tile * K_STRIDE) * BATCH_PACK;

	 	/* SLM space for Activation, Weights
	       ( 32,1,4 ) Workgroup - 4 tiles along Y direction and 32 different output channels
	        Activation - 10Wx16Wx4Nx32C Weights -9RSx32Kx32C	*/

	__local int8 act_slm      [  10*16*4 ];
	__local int8 weight_slm   [  9*32  ];

   /* 10Hx16Wx4Nx32C activation tile written into SLM.  Distribute among 16 threads in Workgroup
	   threads 0-1 write 16x4x32 of H=0, W=0...15 ( 8x4x32 per thread )
	   threads 2-3 write 16x4x32 of H=1, W=0...15 ( 8x4x32 per thread )
	   threads 4-5 write 16x4x32 of H=2, W=0...15 ( 8x4x32 per thread )
	   threads 6-7 write 16x4x32 of H=3, W=0...15 ( 8x4x32 per thread )
	   threads 8-9 write 16x4x32 of H=4, W=0...15 ( 8x4x32 per thread )
	   threads 10-11 write 16x4x32 of H=5, W=0...15 ( 8x4x32 per thread )
	   threads 12 write 16x4x32 of H=6, W=0...15 ( 16x4x32 per thread )
	   thread 13 writes 16x4x32 of H=7
	   thread 14 writes 16x4x32 of H=8
	   thread 15 writes 16x4x32 of H=9

	   Interleaved write to avoid SLM BC

	   threads0,1 write 16x4x32 together
	   thread0 writes first 4x32 block, thread1 writes next 4x32 block etc.
   */


	/* Goto activation tile for thread in group */

	uint row_offset   =  thread_id / 2;

	if ( thread_id >= 12 ) {
		row_offset = 6 + thread_id - 12 - threadid_mod_2;
	}

	// In addr offset for the particular thread
	in_addr_offset    += row_offset * K_STRIDE * (_IW + IWPAD ) * BATCH_PACK ;

   /* Activation SLM indices */
    uint act_slm_write =  row_offset * ( TILE_W + 2) * BATCH_PACK;
	uint act_slm_read  =  OUT_BLOCK_HEIGHT * lid_z * ( TILE_W + 2) * BATCH_PACK ;

	/* Weights
	   Weight Global Tensor Order: [K/8][C/32][R][S][8C][8K][4C]
	*/

	/* 9RSx32Kx32C Weight Block in SLM
	   thread0 handles ( reads from global ) w(0,0),w(0,1),w(0,2) of K=0 ( k=0..7)
	   thread1 handles w(0,0),w(0,1),w(0,2) of K=1 ( k=8..15)
	   thread2 handles w(1,0),w(1,1) of K=0 ( k=0..7)
	   thread3 handles w(1,0),w(1,1) of K=1 ( k=8..15)
	   thread4 handles w(1,2),w(2,0) of K=0 ( k=0..7)
	   thread5 handles w(1,2),w(2,0) of K=1 ( k=8..15)
	   thread6 handles w(2,1),w(2,2) of K=0 ( k=0..7)
	   thread7 handles w(2,1),w(2,2) of K=1 ( k=8..15)

	   Similarly threads8-15 handles for K=2,3

	   Weight Layout in SLM

	   w(R=0,S=0,k=0..7,C=0..15),w(R=0,S=0,k=8..15,C=0..15)
	   w(R=0,S=0,k=0..7,C=16..31),w(R=0,S=0,k=8..15,C=16..31)
// Copyright (c) 2016-2017 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

void FUNC(intel_sub_group_block_write_4)( __local uint* p, uint4 data )
{
    p[ get_sub_group_local_id() ] = data.s0;
    p += 8;
    p[ get_sub_group_local_id() ] = data.s1;
    p += 8;
    p[ get_sub_group_local_id() ] = data.s2;
    p += 8;
    p[ get_sub_group_local_id() ] = data.s3;
}

uint4 FUNC(intel_sub_group_block_read_uint4)(const __local uint* p)
{
    uint4 ret;
    uint idx = get_sub_group_local_id();

    ret.s0 = p[idx]; idx += get_max_sub_group_size();
    ret.s1 = p[idx]; idx += get_max_sub_group_size();
    ret.s2 = p[idx]; idx += get_max_sub_group_size();
    ret.s3 = p[idx]; idx += get_max_sub_group_size();

    return ret;
}

uint8 FUNC(intel_sub_group_block_read_uint8)(const __local uint* p)
{
    uint8 ret;
    uint idx = get_sub_group_local_id();

    ret.s0 = p[idx]; idx += get_max_sub_group_size();
    ret.s1 = p[idx]; idx += get_max_sub_group_size();
    ret.s2 = p[idx]; idx += get_max_sub_group_size();
    ret.s3 = p[idx]; idx += get_max_sub_group_size();
    ret.s4 = p[idx]; idx += get_max_sub_group_size();
    ret.s5 = p[idx]; idx += get_max_sub_group_size();
    ret.s6 = p[idx]; idx += get_max_sub_group_size();
    ret.s7 = p[idx]; idx += get_max_sub_group_size();

    return ret;
}

inline int FUNC(mmad_4)(char4 input, char4 weight, int acc)
{
	acc += (input[0] * weight[0]);
	acc += (input[1] * weight[1]);
	acc += (input[2] * weight[2]);
	acc += (input[3] * weight[3]);
	return acc;
}

inline int FUNC(mmad8)(int8 A_scalars, int8 B_vectors, int acc)
{
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[0]), as_char4(B_vectors[0]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[1]), as_char4(B_vectors[1]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[2]), as_char4(B_vectors[2]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[3]), as_char4(B_vectors[3]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[4]), as_char4(B_vectors[4]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[5]), as_char4(B_vectors[5]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[6]), as_char4(B_vectors[6]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[7]), as_char4(B_vectors[7]), acc);

	return acc;
}

inline int4 FUNC(mmad4x8)(int4 A_vectors, int8 B_vectors, int4 acc)
{
    int4 ret;
    for(uint i = 0; i < 4; i++)
    {
        int8 A_scalars;
        A_scalars.s0 = sub_group_broadcast(A_vectors[i], 0);
        A_scalars.s1 = sub_group_broadcast(A_vectors[i], 1);
        A_scalars.s2 = sub_group_broadcast(A_vectors[i], 2);
        A_scalars.s3 = sub_group_broadcast(A_vectors[i], 3);
        A_scalars.s4 = sub_group_broadcast(A_vectors[i], 4);
        A_scalars.s5 = sub_group_broadcast(A_vectors[i], 5);
        A_scalars.s6 = sub_group_broadcast(A_vectors[i], 6);
        A_scalars.s7 = sub_group_broadcast(A_vectors[i], 7);
        ret[i] = FUNC_CALL(mmad8)(A_scalars, B_vectors, acc[i]);
    }
    return ret;
}

inline int8 FUNC(mmad8x8)(int8 A_vectors, int8 B_vectors, int8 acc)
{
    int8 ret;
    for(uint i = 0; i < 8; i++)
    {
        int8 A_scalars;
        A_scalars.s0 = sub_group_broadcast(A_vectors[i], 0);
        A_scalars.s1 = sub_group_broadcast(A_vectors[i], 1);
        A_scalars.s2 = sub_group_broadcast(A_vectors[i], 2);
        A_scalars.s3 = sub_group_broadcast(A_vectors[i], 3);
        A_scalars.s4 = sub_group_broadcast(A_vectors[i], 4);
        A_scalars.s5 = sub_group_broadcast(A_vectors[i], 5);
        A_scalars.s6 = sub_group_broadcast(A_vectors[i], 6);
        A_scalars.s7 = sub_group_broadcast(A_vectors[i], 7);
        ret[i] = FUNC_CALL(mmad8)(A_scalars, B_vectors, acc[i]);
    }
    return ret;
}

// TODO: remove it when cl_intel_subgroups_char extension will work
inline void FUNC(sub_group_block_write_uchar8)(__global uchar* outPtr, uchar8 v)
{
#ifdef cl_intel_subgroups_char
    intel_sub_group_block_write_uc8(outPtr, v);
#else
    uint idx = get_sub_group_local_id();

	outPtr[idx] = v.s0; idx += get_max_sub_group_size();
    outPtr[idx] = v.s1; idx += get_max_sub_group_size();
    outPtr[idx] = v.s2; idx += get_max_sub_group_size();
    outPtr[idx] = v.s3; idx += get_max_sub_group_size();
    outPtr[idx] = v.s4; idx += get_max_sub_group_size();
    outPtr[idx] = v.s5; idx += get_max_sub_group_size();
    outPtr[idx] = v.s6; idx += get_max_sub_group_size();
    outPtr[idx] = v.s7; idx += get_max_sub_group_size();
#endif
}

inline uchar8 FUNC(sub_group_block_read_uchar8)(const __global uchar* ptr)
{
#ifdef cl_intel_subgroups_char
    return intel_sub_group_block_read_uc8(ptr);
#else
    uint idx = get_sub_group_local_id();

    uchar8 ret;

    ret.s0 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s1 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s2 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s3 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s4 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s5 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s6 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s7 = ptr[idx]; idx += get_max_sub_group_size();

    return ret;

#endif
}

                    QUANTIZATION;

					intel_sub_group_block_write_uc8 (  output_write_ptr  , out_write_N2K4[0] );
					output_write_ptr += 64;
					intel_sub_group_block_write_uc8 (  output_write_ptr  , out_write_N2K4[1] );
					output_write_ptr += 64;

				} // out_block_width-for loop
		}//lid_z loop
} //end of kernel

#undef SCAL
#undef QUANTIZATION

				out_07[ 6 ] = _MMAD_4x8 ( out_07[ 6 ], act_reg[6], weights_reg[0] );

				out_07[ 0 ] = _MMAD_4x8 ( out_07[ 0 ], act_reg[1], weights_reg[1] );
				out_07[ 1 ] = _MMAD_4x8 ( out_07[ 1 ], act_reg[2], weights_reg[1] );
				out_07[ 2 ] = _MMAD_4x8 ( out_07[ 2 ], act_reg[3], weights_reg[1] );
				out_07[ 3 ] = _MMAD_4x8 ( out_07[ 3 ], act_reg[4], weights_reg[1] );
				out_07[ 4 ] = _MMAD_4x8 ( out_07[ 4 ], act_reg[5], weights_reg[1] );
				out_07[ 5 ] = _MMAD_4x8 ( out_07[ 5 ], act_reg[6], weights_reg[1] );
				out_07[ 6 ] = _MMAD_4x8 ( out_07[ 6 ], act_reg[7], weights_reg[1] );

				out_07[ 0 ] = _MMAD_4x8 ( out_07[ 0 ], act_reg[2], weights_reg[2] );
				out_07[ 1 ] = _MMAD_4x8 ( out_07[ 1 ], act_reg[3], weights_reg[2] );
				out_07[ 2 ] = _MMAD_4x8 ( out_07[ 2 ], act_reg[4], weights_reg[2] );
				out_07[ 3 ] = _MMAD_4x8 ( out_07[ 3 ], act_reg[5], weights_reg[2] );
				out_07[ 4 ] = _MMAD_4x8 ( out_07[ 4 ], act_reg[6], weights_reg[2] );
				out_07[ 5 ] = _MMAD_4x8 ( out_07[ 5 ], act_reg[7], weights_reg[2] );
				out_07[ 6 ] = _MMAD_4x8 ( out_07[ 6 ], act_reg[8], weights_reg[2] );

				     /* Load weights from SLM into registers - row2, output channels 8..15  */
				{
					 	__local uint *slm_ptrw2 = slm_ptr1 + 6*slm_read_pixel_offset + 2*8*8;

					    weights_reg[0].s0123     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw2 ) );
					    weights_reg[0].s4567     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw2 + 64 ) );
						slm_ptrw2   			   += slm_read_pixel_offset;

						weights_reg[1].s0123     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw2 ) );
					    weights_reg[1].s4567     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw2 + 64 ) );
						slm_ptrw2   			   += slm_read_pixel_offset;

						weights_reg[2].s0123     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw2 ) );
					    weights_reg[2].s4567     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw2 + 64 ) );
				}

				out_815[ 0 ] = _MMAD_4x8 ( out_815[ 0 ], act_reg[0], weights_reg[0] );
				out_815[ 1 ] = _MMAD_4x8 ( out_815[ 1 ], act_reg[1], weights_reg[0] );
				out_815[ 2 ] = _MMAD_4x8 ( out_815[ 2 ], act_reg[2], weights_reg[0] );
				out_815[ 3 ] = _MMAD_4x8 ( out_815[ 3 ], act_reg[3], weights_reg[0] );
				out_815[ 4 ] = _MMAD_4x8 ( out_815[ 4 ], act_reg[4], weights_reg[0] );
				out_815[ 5 ] = _MMAD_4x8 ( out_815[ 5 ], act_reg[5], weights_reg[0] );
				out_815[ 6 ] = _MMAD_4x8 ( out_815[ 6 ], act_reg[6], weights_reg[0] );

				out_815[ 0 ] = _MMAD_4x8 ( out_815[ 0 ], act_reg[1], weights_reg[1] );
				out_815[ 1 ] = _MMAD_4x8 ( out_815[ 1 ], act_reg[2], weights_reg[1] );
				out_815[ 2 ] = _MMAD_4x8 ( out_815[ 2 ], act_reg[3], weights_reg[1] );
				out_815[ 3 ] = _MMAD_4x8 ( out_815[ 3 ], act_reg[4], weights_reg[1] );
				out_815[ 4 ] = _MMAD_4x8 ( out_815[ 4 ], act_reg[5], weights_reg[1] );
				out_815[ 5 ] = _MMAD_4x8 ( out_815[ 5 ], act_reg[6], weights_reg[1] );
				out_815[ 6 ] = _MMAD_4x8 ( out_815[ 6 ], act_reg[7], weights_reg[1] );

				out_815[ 0 ] = _MMAD_4x8 ( out_815[ 0 ], act_reg[2], weights_reg[2] );
				out_815[ 1 ] = _MMAD_4x8 ( out_815[ 1 ], act_reg[3], weights_reg[2] );
				out_815[ 2 ] = _MMAD_4x8 ( out_815[ 2 ], act_reg[4], weights_reg[2] );
				out_815[ 3 ] = _MMAD_4x8 ( out_815[ 3 ], act_reg[5], weights_reg[2] );
				out_815[ 4 ] = _MMAD_4x8 ( out_815[ 4 ], act_reg[6], weights_reg[2] );
				out_815[ 5 ] = _MMAD_4x8 ( out_815[ 5 ], act_reg[7], weights_reg[2] );
				out_815[ 6 ] = _MMAD_4x8 ( out_815[ 6 ], act_reg[8], weights_reg[2] );

				/* Load weights from SLM into registers - row2, output channels 16..23  */
				{
					 	__local uint *slm_ptrw2 = slm_ptr1 + 6*slm_read_pixel_offset + 4*8*8;

					    weights_reg[0].s0123     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw2 ) );
					    weights_reg[0].s4567     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw2 + 64 ) );
						slm_ptrw2   			   += slm_read_pixel_offset;

						weights_reg[1].s0123     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw2 ) );
					    weights_reg[1].s4567     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw2 + 64 ) );
						slm_ptrw2   			   += slm_read_pixel_offset;

						weights_reg[2].s0123     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw2 ) );
					    weights_reg[2].s4567     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw2 + 64 ) );
				}

				out_1623[ 0 ] = _MMAD_4x8 ( out_1623[ 0 ], act_reg[0], weights_reg[0] );
				out_1623[ 1 ] = _MMAD_4x8 ( out_1623[ 1 ], act_reg[1], weights_reg[0] );
				out_1623[ 2 ] = _MMAD_4x8 ( out_1623[ 2 ], act_reg[2], weights_reg[0] );
				out_1623[ 3 ] = _MMAD_4x8 ( out_1623[ 3 ], act_reg[3], weights_reg[0] );
				out_1623[ 4 ] = _MMAD_4x8 ( out_1623[ 4 ], act_reg[4], weights_reg[0] );
				out_1623[ 5 ] = _MMAD_4x8 ( out_1623[ 5 ], act_reg[5], weights_reg[0] );
				out_1623[ 6 ] = _MMAD_4x8 ( out_1623[ 6 ], act_reg[6], weights_reg[0] );

				out_1623[ 0 ] = _MMAD_4x8 ( out_1623[ 0 ], act_reg[1], weights_reg[1] );
				out_1623[ 1 ] = _MMAD_4x8 ( out_1623[ 1 ], act_reg[2], weights_reg[1] );
				out_1623[ 2 ] = _MMAD_4x8 ( out_1623[ 2 ], act_reg[3], weights_reg[1] );
				out_1623[ 3 ] = _MMAD_4x8 ( out_1623[ 3 ], act_reg[4], weights_reg[1] );
				out_1623[ 4 ] = _MMAD_4x8 ( out_1623[ 4 ], act_reg[5], weights_reg[1] );
				out_1623[ 5 ] = _MMAD_4x8 ( out_1623[ 5 ], act_reg[6], weights_reg[1] );
				out_1623[ 6 ] = _MMAD_4x8 ( out_1623[ 6 ], act_reg[7], weights_reg[1] );

				out_1623[ 0 ] = _MMAD_4x8 ( out_1623[ 0 ], act_reg[2], weights_reg[2] );
				out_1623[ 1 ] = _MMAD_4x8 ( out_1623[ 1 ], act_reg[3], weights_reg[2] );
				out_1623[ 2 ] = _MMAD_4x8 ( out_1623[ 2 ], act_reg[4], weights_reg[2] );
				out_1623[ 3 ] = _MMAD_4x8 ( out_1623[ 3 ], act_reg[5], weights_reg[2] );
				out_1623[ 4 ] = _MMAD_4x8 ( out_1623[ 4 ], act_reg[6], weights_reg[2] );
				out_1623[ 5 ] = _MMAD_4x8 ( out_1623[ 5 ], act_reg[7], weights_reg[2] );
				out_1623[ 6 ] = _MMAD_4x8 ( out_1623[ 6 ], act_reg[8], weights_reg[2] );

				/* Load weights from SLM into registers - row3, output channels 24..31  */
				{
					 	__local uint *slm_ptrw2 = slm_ptr1 + 6*slm_read_pixel_offset + 6*8*8;

					    weights_reg[0].s0123     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw2 ) );
					    weights_reg[0].s4567     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw2 + 64 ) );
						slm_ptrw2   			   += slm_read_pixel_offset;

						weights_reg[1].s0123     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw2 ) );
					    weights_reg[1].s4567     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw2 + 64 ) );
						slm_ptrw2   			   += slm_read_pixel_offset;

						weights_reg[2].s0123     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw2 ) );
					    weights_reg[2].s4567     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw2 + 64 ) );
				}

				out_2431[ 0 ] = _MMAD_4x8 ( out_2431[ 0 ], act_reg[0], weights_reg[0] );
				out_2431[ 1 ] = _MMAD_4x8 ( out_2431[ 1 ], act_reg[1], weights_reg[0] );
				out_2431[ 2 ] = _MMAD_4x8 ( out_2431[ 2 ], act_reg[2], weights_reg[0] );
				out_2431[ 3 ] = _MMAD_4x8 ( out_2431[ 3 ], act_reg[3], weights_reg[0] );
				out_2431[ 4 ] = _MMAD_4x8 ( out_2431[ 4 ], act_reg[4], weights_reg[0] );
				out_2431[ 5 ] = _MMAD_4x8 ( out_2431[ 5 ], act_reg[5], weights_reg[0] );
				out_2431[ 6 ] = _MMAD_4x8 ( out_2431[ 6 ], act_reg[6], weights_reg[0] );

				out_2431[ 0 ] = _MMAD_4x8 ( out_2431[ 0 ], act_reg[1], weights_reg[1] );
				out_2431[ 1 ] = _MMAD_4x8 ( out_2431[ 1 ], act_reg[2], weights_reg[1] );
				out_2431[ 2 ] = _MMAD_4x8 ( out_2431[ 2 ], act_reg[3], weights_reg[1] );
				out_2431[ 3 ] = _MMAD_4x8 ( out_2431[ 3 ], act_reg[4], weights_reg[1] );
				out_2431[ 4 ] = _MMAD_4x8 ( out_2431[ 4 ], act_reg[5], weights_reg[1] );
				out_2431[ 5 ] = _MMAD_4x8 ( out_2431[ 5 ], act_reg[6], weights_reg[1] );
				out_2431[ 6 ] = _MMAD_4x8 ( out_2431[ 6 ], act_reg[7], weights_reg[1] );

				out_2431[ 0 ] = _MMAD_4x8 ( out_2431[ 0 ], act_reg[2], weights_reg[2] );
				out_2431[ 1 ] = _MMAD_4x8 ( out_2431[ 1 ], act_reg[3], weights_reg[2] );
				out_2431[ 2 ] = _MMAD_4x8 ( out_2431[ 2 ], act_reg[4], weights_reg[2] );
				out_2431[ 3 ] = _MMAD_4x8 ( out_2431[ 3 ], act_reg[5], weights_reg[2] );
				out_2431[ 4 ] = _MMAD_4x8 ( out_2431[ 4 ], act_reg[6], weights_reg[2] );
				out_2431[ 5 ] = _MMAD_4x8 ( out_2431[ 5 ], act_reg[7], weights_reg[2] );
				out_2431[ 6 ] = _MMAD_4x8 ( out_2431[ 6 ], act_reg[8], weights_reg[2] );
		}

			// To make sure all threads in WG have finished compute before next depth tile of activation and weights are loaded into SLM
			barrier(CLK_LOCAL_MEM_FENCE);
	} //for kd

        /****************************************************************************************************************
		*******************************Output Write Stage****************************************************************
		****************************************************************************************************************/
			/*
		   Outputs will be passed through activation function and quantized to 8 bits before writing
		   Output will be in same format as input [K/32][N/4][P][Q][4N][32K] */

			/******************* Write output to SLM *************************************/

		/*  Quantize and pack 4x1 byte - from consectuive n-coordinates
			Each thread produces [1P][7Q][4N][32K]
         	Write uint32 from each lane to SLM , the entire thread will write 32-consecutive K-coorindates

			Assume one SLM row as 32 uints ( 32 channels , four batches for each channel - 4NK )
			In SLM 7x7x4x32 present first then the next 32 channels
		*/

		if( lid_z <= 6 )
        {
			/* feature maps are an array of slicePacks, each H,W position within the slice pack contains 32 8bit feature maps(channels) of 8 different batches */
			uint row_size_bytes        = (_OW + OWPAD) * PACK * BATCH_PACK;

			/* slice_pack is a pack of 32 feature map tiles that are [OH][OW][4][32] that are stored within the full [K/32][N/4][OH][OW][4][32] output */
			uint slice_pack_size_bytes = row_size_bytes * (_OH + OHPAD);

			/* Each output_depth WG writes 64 output channels */

		 	uint output_depth_index      =  output_depth*2 + threadid_mod_2;
			uint batch_index			 =  batch;

			/* Each WG produces entire 7x7 output, hence no group_y, group_z tiling */

            uint output_offset_x = groupy_tile * OUT_X_PITCH;
            uint output_offset_y = groupz_tile * OUT_Y_PITCH;
			uint slice_pack_addr_bytes  = output_depth_index * slice_pack_size_bytes * ( BATCH_SIZE / BATCH_PACK ) + batch_index * slice_pack_size_bytes + lid_z * row_size_bytes;

			__global uchar* output_write_ptr = (__global uchar *) &outputs [ slice_pack_addr_bytes + output_offset_x + output_offset_y ];

                const uint feature = output_depth_index * 32 + get_sub_group_local_id();

                const float4 quant_f = as_float4(intel_sub_group_block_read4((__global uint*) (quantizations + feature) ));
                const float4 bias_f = as_float4(intel_sub_group_block_read4((__global uint*) (biases + feature) ));
                const float4 calib_f = as_float4(intel_sub_group_block_read4((__global uint*) (calibrations + feature) ));

                __attribute__((opencl_unroll_hint(OUT_BLOCK_WIDTH)))
				for (int col = 0; col < OUT_BLOCK_WIDTH; col++)
                {

					int4 outvec0 = out_07[col];
					int4 outvec1 = out_815[col];
					int4 outvec2 = out_1623[col];
					int4 outvec3 = out_2431[col];

					/* Non-Linear Activation & Quantization code */

					uchar8 out_write_N2K4[2];

			 /* Load weights from SLM into registers - row1, output channels 0..7  */
				{
					 	__local uint *slm_ptrw1  = slm_ptr1 + 3*slm_read_pixel_offset;

					    weights_reg[0].s0123     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw1 ) );
					    weights_reg[0].s4567     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw1 + 64 ) );
						slm_ptrw1   			 += slm_read_pixel_offset;

						weights_reg[1].s0123     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw1 ) );
					    weights_reg[1].s4567     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw1 + 64 ) );
						slm_ptrw1  			     += slm_read_pixel_offset;

						weights_reg[2].s0123     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw1 ) );
					    weights_reg[2].s4567     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw1 + 64 ) );
				}

				out_07[ 0 ] = _MMAD_4x8 ( out_07[ 0 ], act_reg[9], weights_reg[0] );
				out_07[ 1 ] = _MMAD_4x8 ( out_07[ 1 ], act_reg[10], weights_reg[0] );
				out_07[ 2 ] = _MMAD_4x8 ( out_07[ 2 ], act_reg[11], weights_reg[0] );
				out_07[ 3 ] = _MMAD_4x8 ( out_07[ 3 ], act_reg[12], weights_reg[0] );
				out_07[ 4 ] = _MMAD_4x8 ( out_07[ 4 ], act_reg[13], weights_reg[0] );
				out_07[ 5 ] = _MMAD_4x8 ( out_07[ 5 ], act_reg[14], weights_reg[0] );
				out_07[ 6 ] = _MMAD_4x8 ( out_07[ 6 ], act_reg[15], weights_reg[0] );

				out_07[ 0 ] = _MMAD_4x8 ( out_07[ 0 ], act_reg[10], weights_reg[1] );
				out_07[ 1 ] = _MMAD_4x8 ( out_07[ 1 ], act_reg[11], weights_reg[1] );
				out_07[ 2 ] = _MMAD_4x8 ( out_07[ 2 ], act_reg[12], weights_reg[1] );
				out_07[ 3 ] = _MMAD_4x8 ( out_07[ 3 ], act_reg[13], weights_reg[1] );
				out_07[ 4 ] = _MMAD_4x8 ( out_07[ 4 ], act_reg[14], weights_reg[1] );
				out_07[ 5 ] = _MMAD_4x8 ( out_07[ 5 ], act_reg[15], weights_reg[1] );
				out_07[ 6 ] = _MMAD_4x8 ( out_07[ 6 ], act_reg[16], weights_reg[1] );

				out_07[ 0 ] = _MMAD_4x8 ( out_07[ 0 ], act_reg[11], weights_reg[2] );
				out_07[ 1 ] = _MMAD_4x8 ( out_07[ 1 ], act_reg[12], weights_reg[2] );
				out_07[ 2 ] = _MMAD_4x8 ( out_07[ 2 ], act_reg[13], weights_reg[2] );
				out_07[ 3 ] = _MMAD_4x8 ( out_07[ 3 ], act_reg[14], weights_reg[2] );
				out_07[ 4 ] = _MMAD_4x8 ( out_07[ 4 ], act_reg[15], weights_reg[2] );
				out_07[ 5 ] = _MMAD_4x8 ( out_07[ 5 ], act_reg[16], weights_reg[2] );
				out_07[ 6 ] = _MMAD_4x8 ( out_07[ 6 ], act_reg[17], weights_reg[2] );

				    /* Load weights from SLM into registers - row1, output channels 8..15  */
				{
					 	__local uint *slm_ptrw1 = slm_ptr1 + 3*slm_read_pixel_offset + 2*8*8;

					    weights_reg[0].s0123     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw1 ) );
					    weights_reg[0].s4567     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw1 + 64 ) );
						slm_ptrw1   			   += slm_read_pixel_offset;

						weights_reg[1].s0123     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw1 ) );
					    weights_reg[1].s4567     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw1 + 64 ) );
						slm_ptrw1   			   += slm_read_pixel_offset;

						weights_reg[2].s0123     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw1 ) );
					    weights_reg[2].s4567     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw1 + 64 ) );
				}

				out_815[ 0 ] = _MMAD_4x8 ( out_815[ 0 ], act_reg[9], weights_reg[0] );
				out_815[ 1 ] = _MMAD_4x8 ( out_815[ 1 ], act_reg[10], weights_reg[0] );
				out_815[ 2 ] = _MMAD_4x8 ( out_815[ 2 ], act_reg[11], weights_reg[0] );
				out_815[ 3 ] = _MMAD_4x8 ( out_815[ 3 ], act_reg[12], weights_reg[0] );
				out_815[ 4 ] = _MMAD_4x8 ( out_815[ 4 ], act_reg[13], weights_reg[0] );
				out_815[ 5 ] = _MMAD_4x8 ( out_815[ 5 ], act_reg[14], weights_reg[0] );
				out_815[ 6 ] = _MMAD_4x8 ( out_815[ 6 ], act_reg[15], weights_reg[0] );

				out_815[ 0 ] = _MMAD_4x8 ( out_815[ 0 ], act_reg[10], weights_reg[1] );
				out_815[ 1 ] = _MMAD_4x8 ( out_815[ 1 ], act_reg[11], weights_reg[1] );
				out_815[ 2 ] = _MMAD_4x8 ( out_815[ 2 ], act_reg[12], weights_reg[1] );
				out_815[ 3 ] = _MMAD_4x8 ( out_815[ 3 ], act_reg[13], weights_reg[1] );
				out_815[ 4 ] = _MMAD_4x8 ( out_815[ 4 ], act_reg[14], weights_reg[1] );
				out_815[ 5 ] = _MMAD_4x8 ( out_815[ 5 ], act_reg[15], weights_reg[1] );
				out_815[ 6 ] = _MMAD_4x8 ( out_815[ 6 ], act_reg[16], weights_reg[1] );

				out_815[ 0 ] = _MMAD_4x8 ( out_815[ 0 ], act_reg[11], weights_reg[2] );
				out_815[ 1 ] = _MMAD_4x8 ( out_815[ 1 ], act_reg[12], weights_reg[2] );
				out_815[ 2 ] = _MMAD_4x8 ( out_815[ 2 ], act_reg[13], weights_reg[2] );
				out_815[ 3 ] = _MMAD_4x8 ( out_815[ 3 ], act_reg[14], weights_reg[2] );
				out_815[ 4 ] = _MMAD_4x8 ( out_815[ 4 ], act_reg[15], weights_reg[2] );
				out_815[ 5 ] = _MMAD_4x8 ( out_815[ 5 ], act_reg[16], weights_reg[2] );
				out_815[ 6 ] = _MMAD_4x8 ( out_815[ 6 ], act_reg[17], weights_reg[2] );

				/* Load weights from SLM into registers - row1, output channels 16..23  */
				{
					 	__local uint *slm_ptrw1 = slm_ptr1 + 3*slm_read_pixel_offset + 4*8*8;

					    weights_reg[0].s0123     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw1 ) );
					    weights_reg[0].s4567     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw1 + 64 ) );
						slm_ptrw1   			   += slm_read_pixel_offset;

						weights_reg[1].s0123     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw1 ) );
					    weights_reg[1].s4567     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw1 + 64 ) );
						slm_ptrw1   			   += slm_read_pixel_offset;

						weights_reg[2].s0123     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw1 ) );
					    weights_reg[2].s4567     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw1 + 64 ) );
				}

				out_1623[ 0 ] = _MMAD_4x8 ( out_1623[ 0 ], act_reg[9], weights_reg[0] );
				out_1623[ 1 ] = _MMAD_4x8 ( out_1623[ 1 ], act_reg[10], weights_reg[0] );
				out_1623[ 2 ] = _MMAD_4x8 ( out_1623[ 2 ], act_reg[11], weights_reg[0] );
				out_1623[ 3 ] = _MMAD_4x8 ( out_1623[ 3 ], act_reg[12], weights_reg[0] );
				out_1623[ 4 ] = _MMAD_4x8 ( out_1623[ 4 ], act_reg[13], weights_reg[0] );
				out_1623[ 5 ] = _MMAD_4x8 ( out_1623[ 5 ], act_reg[14], weights_reg[0] );
				out_1623[ 6 ] = _MMAD_4x8 ( out_1623[ 6 ], act_reg[15], weights_reg[0] );

				/* load 1Hx9Wx4N inputs, Activation row2  */

				uint slm_row_offset_3	  = 2*(TILE_W + 2)*BATCH_PACK*8;

				__attribute__((opencl_unroll_hint(9)))
				for (int ic = 0; ic < 9; ic++)
				{
	                 /* Load activations from SLM into registers  */

					 uint slm_offset = slm_row_offset_3 + ic * BATCH_PACK * 8 ;

    				 act_reg [ ic ] = as_int4 (SLM_BLOCK_READ_4 (slm_ptr0 + slm_offset)) ;
				}

				out_1623[ 0 ] = _MMAD_4x8 ( out_1623[ 0 ], act_reg[10], weights_reg[1] );
				out_1623[ 1 ] = _MMAD_4x8 ( out_1623[ 1 ], act_reg[11], weights_reg[1] );
				out_1623[ 2 ] = _MMAD_4x8 ( out_1623[ 2 ], act_reg[12], weights_reg[1] );
				out_1623[ 3 ] = _MMAD_4x8 ( out_1623[ 3 ], act_reg[13], weights_reg[1] );
				out_1623[ 4 ] = _MMAD_4x8 ( out_1623[ 4 ], act_reg[14], weights_reg[1] );
				out_1623[ 5 ] = _MMAD_4x8 ( out_1623[ 5 ], act_reg[15], weights_reg[1] );
				out_1623[ 6 ] = _MMAD_4x8 ( out_1623[ 6 ], act_reg[16], weights_reg[1] );

				out_1623[ 0 ] = _MMAD_4x8 ( out_1623[ 0 ], act_reg[11], weights_reg[2] );
				out_1623[ 1 ] = _MMAD_4x8 ( out_1623[ 1 ], act_reg[12], weights_reg[2] );
				out_1623[ 2 ] = _MMAD_4x8 ( out_1623[ 2 ], act_reg[13], weights_reg[2] );
				out_1623[ 3 ] = _MMAD_4x8 ( out_1623[ 3 ], act_reg[14], weights_reg[2] );
				out_1623[ 4 ] = _MMAD_4x8 ( out_1623[ 4 ], act_reg[15], weights_reg[2] );
				out_1623[ 5 ] = _MMAD_4x8 ( out_1623[ 5 ], act_reg[16], weights_reg[2] );
				out_1623[ 6 ] = _MMAD_4x8 ( out_1623[ 6 ], act_reg[17], weights_reg[2] );

				/* Load weights from SLM into registers - row1, output channels 24..31  */
				{
					 	__local uint *slm_ptrw1 = slm_ptr1 + 3*slm_read_pixel_offset + 6*8*8;

					    weights_reg[0].s0123     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw1 ) );
					    weights_reg[0].s4567     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw1 + 64 ) );
						slm_ptrw1   			   += slm_read_pixel_offset;

						weights_reg[1].s0123     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw1 ) );
					    weights_reg[1].s4567     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw1 + 64 ) );
						slm_ptrw1   			   += slm_read_pixel_offset;

						weights_reg[2].s0123     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw1 ) );
					    weights_reg[2].s4567     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw1 + 64 ) );
				}

				out_2431[ 0 ] = _MMAD_4x8 ( out_2431[ 0 ], act_reg[9], weights_reg[0] );
				out_2431[ 1 ] = _MMAD_4x8 ( out_2431[ 1 ], act_reg[10], weights_reg[0] );
				out_2431[ 2 ] = _MMAD_4x8 ( out_2431[ 2 ], act_reg[11], weights_reg[0] );
				out_2431[ 3 ] = _MMAD_4x8 ( out_2431[ 3 ], act_reg[12], weights_reg[0] );
				out_2431[ 4 ] = _MMAD_4x8 ( out_2431[ 4 ], act_reg[13], weights_reg[0] );
				out_2431[ 5 ] = _MMAD_4x8 ( out_2431[ 5 ], act_reg[14], weights_reg[0] );
				out_2431[ 6 ] = _MMAD_4x8 ( out_2431[ 6 ], act_reg[15], weights_reg[0] );

				out_2431[ 0 ] = _MMAD_4x8 ( out_2431[ 0 ], act_reg[10], weights_reg[1] );
				out_2431[ 1 ] = _MMAD_4x8 ( out_2431[ 1 ], act_reg[11], weights_reg[1] );
				out_2431[ 2 ] = _MMAD_4x8 ( out_2431[ 2 ], act_reg[12], weights_reg[1] );
				out_2431[ 3 ] = _MMAD_4x8 ( out_2431[ 3 ], act_reg[13], weights_reg[1] );
				out_2431[ 4 ] = _MMAD_4x8 ( out_2431[ 4 ], act_reg[14], weights_reg[1] );
				out_2431[ 5 ] = _MMAD_4x8 ( out_2431[ 5 ], act_reg[15], weights_reg[1] );
				out_2431[ 6 ] = _MMAD_4x8 ( out_2431[ 6 ], act_reg[16], weights_reg[1] );

				out_2431[ 0 ] = _MMAD_4x8 ( out_2431[ 0 ], act_reg[11], weights_reg[2] );
				out_2431[ 1 ] = _MMAD_4x8 ( out_2431[ 1 ], act_reg[12], weights_reg[2] );
				out_2431[ 2 ] = _MMAD_4x8 ( out_2431[ 2 ], act_reg[13], weights_reg[2] );
				out_2431[ 3 ] = _MMAD_4x8 ( out_2431[ 3 ], act_reg[14], weights_reg[2] );
				out_2431[ 4 ] = _MMAD_4x8 ( out_2431[ 4 ], act_reg[15], weights_reg[2] );
				out_2431[ 5 ] = _MMAD_4x8 ( out_2431[ 5 ], act_reg[16], weights_reg[2] );
				out_2431[ 6 ] = _MMAD_4x8 ( out_2431[ 6 ], act_reg[17], weights_reg[2] );

			/**********************************************************************************************************
			  Third phase - multiply third row of weights  and third row of activations
			***********************************************************************************************************/

				 /* Load weights from SLM into registers - row2, output channels 0..7  */
				{
					 	__local uint *slm_ptrw2  = slm_ptr1 + 6*slm_read_pixel_offset;

					    weights_reg[0].s0123     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw2 ) );
					    weights_reg[0].s4567     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw2 + 64 ) );
						slm_ptrw2   			   += slm_read_pixel_offset;

						weights_reg[1].s0123     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw2 ) );
					    weights_reg[1].s4567     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw2 + 64 ) );
						slm_ptrw2 			     += slm_read_pixel_offset;

						weights_reg[2].s0123     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw2 ) );
					    weights_reg[2].s4567     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw2 + 64 ) );
				}

				out_07[ 0 ] = _MMAD_4x8 ( out_07[ 0 ], act_reg[0], weights_reg[0] );
				out_07[ 1 ] = _MMAD_4x8 ( out_07[ 1 ], act_reg[1], weights_reg[0] );
				out_07[ 2 ] = _MMAD_4x8 ( out_07[ 2 ], act_reg[2], weights_reg[0] );
				out_07[ 3 ] = _MMAD_4x8 ( out_07[ 3 ], act_reg[3], weights_reg[0] );
				out_07[ 4 ] = _MMAD_4x8 ( out_07[ 4 ], act_reg[4], weights_reg[0] );
				out_07[ 5 ] = _MMAD_4x8 ( out_07[ 5 ], act_reg[5], weights_reg[0] );
			***********************************************************************************************************/

	                 /* Load weights from SLM into registers - row0, output channels 0..7  */

				{
					 	__local uint *slm_ptrw0  = slm_ptr1;

					    weights_reg[0].s0123     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw0 ) );
					    weights_reg[0].s4567     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw0 + 64 ) );
						slm_ptrw0   			 += slm_read_pixel_offset;

						weights_reg[1].s0123     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw0 ) );
					    weights_reg[1].s4567     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw0 + 64 ) );
						slm_ptrw0   			 += slm_read_pixel_offset;

						weights_reg[2].s0123     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw0 ) );
					    weights_reg[2].s4567     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw0 + 64 ) );
				}

			/* load 1Hx9Wx4N inputs, Activation row0   */

				__attribute__((opencl_unroll_hint(9)))
				for (int ic = 0; ic < 9; ic++)
				{
	                 /* Load activations from SLM into registers  */

					 uint slm_offset = ic * BATCH_PACK * 8 ;

    				 act_reg [ ic ] = as_int4 (SLM_BLOCK_READ_4 (slm_ptr0 + slm_offset)) ;
				}

			/* Convolve */

			   /* order the mmad instructions to minimize dependency on src0,dst - also try to maximise reuse of weights-reg*/

				/*  Output channels 0-7 */

				out_07[ 0 ] = _MMAD_4x8 ( out_07[ 0 ], act_reg[0], weights_reg[0] );
				out_07[ 1 ] = _MMAD_4x8 ( out_07[ 1 ], act_reg[1], weights_reg[0] );
				out_07[ 2 ] = _MMAD_4x8 ( out_07[ 2 ], act_reg[2], weights_reg[0] );
				out_07[ 3 ] = _MMAD_4x8 ( out_07[ 3 ], act_reg[3], weights_reg[0] );
				out_07[ 4 ] = _MMAD_4x8 ( out_07[ 4 ], act_reg[4], weights_reg[0] );
				out_07[ 5 ] = _MMAD_4x8 ( out_07[ 5 ], act_reg[5], weights_reg[0] );
				out_07[ 6 ] = _MMAD_4x8 ( out_07[ 6 ], act_reg[6], weights_reg[0] );

				out_07[ 0 ] = _MMAD_4x8 ( out_07[ 0 ], act_reg[1], weights_reg[1] );
				out_07[ 1 ] = _MMAD_4x8 ( out_07[ 1 ], act_reg[2], weights_reg[1] );
				out_07[ 2 ] = _MMAD_4x8 ( out_07[ 2 ], act_reg[3], weights_reg[1] );
				out_07[ 3 ] = _MMAD_4x8 ( out_07[ 3 ], act_reg[4], weights_reg[1] );
				out_07[ 4 ] = _MMAD_4x8 ( out_07[ 4 ], act_reg[5], weights_reg[1] );
				out_07[ 5 ] = _MMAD_4x8 ( out_07[ 5 ], act_reg[6], weights_reg[1] );
				out_07[ 6 ] = _MMAD_4x8 ( out_07[ 6 ], act_reg[7], weights_reg[1] );

				out_07[ 0 ] = _MMAD_4x8 ( out_07[ 0 ], act_reg[2], weights_reg[2] );
				out_07[ 1 ] = _MMAD_4x8 ( out_07[ 1 ], act_reg[3], weights_reg[2] );
				out_07[ 2 ] = _MMAD_4x8 ( out_07[ 2 ], act_reg[4], weights_reg[2] );
				out_07[ 3 ] = _MMAD_4x8 ( out_07[ 3 ], act_reg[5], weights_reg[2] );
				out_07[ 4 ] = _MMAD_4x8 ( out_07[ 4 ], act_reg[6], weights_reg[2] );
				out_07[ 5 ] = _MMAD_4x8 ( out_07[ 5 ], act_reg[7], weights_reg[2] );
				out_07[ 6 ] = _MMAD_4x8 ( out_07[ 6 ], act_reg[8], weights_reg[2] );

		     /* Load weights from SLM into registers - row0, output channels 8..15  */

				{
					 	__local uint *slm_ptrw0 = slm_ptr1 + 2*8*8;

					    weights_reg[0].s0123     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw0 ) );
					    weights_reg[0].s4567     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw0 + 64 ) );
						slm_ptrw0   			 += slm_read_pixel_offset;

						weights_reg[1].s0123     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw0 ) );
					    weights_reg[1].s4567     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw0 + 64 ) );
						slm_ptrw0   			 += slm_read_pixel_offset;

						weights_reg[2].s0123     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw0 ) );
					    weights_reg[2].s4567     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw0 + 64 ) );
				}

				out_815[ 0 ] = _MMAD_4x8 ( out_815[ 0 ], act_reg[0], weights_reg[0] );
				out_815[ 1 ] = _MMAD_4x8 ( out_815[ 1 ], act_reg[1], weights_reg[0] );
				out_815[ 2 ] = _MMAD_4x8 ( out_815[ 2 ], act_reg[2], weights_reg[0] );
				out_815[ 3 ] = _MMAD_4x8 ( out_815[ 3 ], act_reg[3], weights_reg[0] );
				out_815[ 4 ] = _MMAD_4x8 ( out_815[ 4 ], act_reg[4], weights_reg[0] );
				out_815[ 5 ] = _MMAD_4x8 ( out_815[ 5 ], act_reg[5], weights_reg[0] );
				out_815[ 6 ] = _MMAD_4x8 ( out_815[ 6 ], act_reg[6], weights_reg[0] );

				out_815[ 0 ] = _MMAD_4x8 ( out_815[ 0 ], act_reg[1], weights_reg[1] );
				out_815[ 1 ] = _MMAD_4x8 ( out_815[ 1 ], act_reg[2], weights_reg[1] );
				out_815[ 2 ] = _MMAD_4x8 ( out_815[ 2 ], act_reg[3], weights_reg[1] );
				out_815[ 3 ] = _MMAD_4x8 ( out_815[ 3 ], act_reg[4], weights_reg[1] );
				out_815[ 4 ] = _MMAD_4x8 ( out_815[ 4 ], act_reg[5], weights_reg[1] );
				out_815[ 5 ] = _MMAD_4x8 ( out_815[ 5 ], act_reg[6], weights_reg[1] );
				out_815[ 6 ] = _MMAD_4x8 ( out_815[ 6 ], act_reg[7], weights_reg[1] );

				out_815[ 0 ] = _MMAD_4x8 ( out_815[ 0 ], act_reg[2], weights_reg[2] );
				out_815[ 1 ] = _MMAD_4x8 ( out_815[ 1 ], act_reg[3], weights_reg[2] );
				out_815[ 2 ] = _MMAD_4x8 ( out_815[ 2 ], act_reg[4], weights_reg[2] );
				out_815[ 3 ] = _MMAD_4x8 ( out_815[ 3 ], act_reg[5], weights_reg[2] );
				out_815[ 4 ] = _MMAD_4x8 ( out_815[ 4 ], act_reg[6], weights_reg[2] );
				out_815[ 5 ] = _MMAD_4x8 ( out_815[ 5 ], act_reg[7], weights_reg[2] );
				out_815[ 6 ] = _MMAD_4x8 ( out_815[ 6 ], act_reg[8], weights_reg[2] );

				/* Load weights from SLM into registers - row0, output channels 16..23  */
				{
					 	__local uint *slm_ptrw0 = slm_ptr1 + 4*8*8;

					    weights_reg[0].s0123     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw0 ) );
					    weights_reg[0].s4567     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw0 + 64 ) );
						slm_ptrw0   			 += slm_read_pixel_offset;

						weights_reg[1].s0123     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw0 ) );
					    weights_reg[1].s4567     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw0 + 64 ) );
						slm_ptrw0   			 += slm_read_pixel_offset;

						weights_reg[2].s0123     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw0 ) );
					    weights_reg[2].s4567     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw0 + 64 ) );
				}

				out_1623[ 0 ] = _MMAD_4x8 ( out_1623[ 0 ], act_reg[0], weights_reg[0] );
				out_1623[ 1 ] = _MMAD_4x8 ( out_1623[ 1 ], act_reg[1], weights_reg[0] );
				out_1623[ 2 ] = _MMAD_4x8 ( out_1623[ 2 ], act_reg[2], weights_reg[0] );
				out_1623[ 3 ] = _MMAD_4x8 ( out_1623[ 3 ], act_reg[3], weights_reg[0] );
				out_1623[ 4 ] = _MMAD_4x8 ( out_1623[ 4 ], act_reg[4], weights_reg[0] );
				out_1623[ 5 ] = _MMAD_4x8 ( out_1623[ 5 ], act_reg[5], weights_reg[0] );
				out_1623[ 6 ] = _MMAD_4x8 ( out_1623[ 6 ], act_reg[6], weights_reg[0] );

				/* load 1Hx9Wx4N inputs, Activation row1   */

				uint slm_row_offset_2 	  = 1*(TILE_W + 2)*BATCH_PACK*8;

				__attribute__((opencl_unroll_hint(9)))
				for (int ic = 0; ic < 9; ic++)
				{
	                 /* Load activations from SLM into registers  */

					 uint slm_offset = slm_row_offset_2 + ic * BATCH_PACK * 8 ;

    				 act_reg [ ic + 9 ] = as_int4 (SLM_BLOCK_READ_4 (slm_ptr0 + slm_offset)) ;
				}

				out_1623[ 0 ] = _MMAD_4x8 ( out_1623[ 0 ], act_reg[1], weights_reg[1] );
				out_1623[ 1 ] = _MMAD_4x8 ( out_1623[ 1 ], act_reg[2], weights_reg[1] );
				out_1623[ 2 ] = _MMAD_4x8 ( out_1623[ 2 ], act_reg[3], weights_reg[1] );
				out_1623[ 3 ] = _MMAD_4x8 ( out_1623[ 3 ], act_reg[4], weights_reg[1] );
				out_1623[ 4 ] = _MMAD_4x8 ( out_1623[ 4 ], act_reg[5], weights_reg[1] );
				out_1623[ 5 ] = _MMAD_4x8 ( out_1623[ 5 ], act_reg[6], weights_reg[1] );
				out_1623[ 6 ] = _MMAD_4x8 ( out_1623[ 6 ], act_reg[7], weights_reg[1] );

				out_1623[ 0 ] = _MMAD_4x8 ( out_1623[ 0 ], act_reg[2], weights_reg[2] );
				out_1623[ 1 ] = _MMAD_4x8 ( out_1623[ 1 ], act_reg[3], weights_reg[2] );
				out_1623[ 2 ] = _MMAD_4x8 ( out_1623[ 2 ], act_reg[4], weights_reg[2] );
				out_1623[ 3 ] = _MMAD_4x8 ( out_1623[ 3 ], act_reg[5], weights_reg[2] );
				out_1623[ 4 ] = _MMAD_4x8 ( out_1623[ 4 ], act_reg[6], weights_reg[2] );
				out_1623[ 5 ] = _MMAD_4x8 ( out_1623[ 5 ], act_reg[7], weights_reg[2] );
				out_1623[ 6 ] = _MMAD_4x8 ( out_1623[ 6 ], act_reg[8], weights_reg[2] );

				/* Load weights from SLM into registers - row0, output channels 24..31  */
				{
					 	__local uint *slm_ptrw0 = slm_ptr1 + 6*8*8;

					    weights_reg[0].s0123     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw0 ) );
					    weights_reg[0].s4567     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw0 + 64 ) );
						slm_ptrw0   			 += slm_read_pixel_offset;

						weights_reg[1].s0123     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw0 ) );
					    weights_reg[1].s4567     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw0 + 64 ) );
						slm_ptrw0   			 += slm_read_pixel_offset;

						weights_reg[2].s0123     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw0 ) );
					    weights_reg[2].s4567     = as_int4 ( SLM_BLOCK_READ_4 ( slm_ptrw0 + 64 ) );
				}

				out_2431[ 0 ] = _MMAD_4x8 ( out_2431[ 0 ], act_reg[0], weights_reg[0] );
				out_2431[ 1 ] = _MMAD_4x8 ( out_2431[ 1 ], act_reg[1], weights_reg[0] );
				out_2431[ 2 ] = _MMAD_4x8 ( out_2431[ 2 ], act_reg[2], weights_reg[0] );
				out_2431[ 3 ] = _MMAD_4x8 ( out_2431[ 3 ], act_reg[3], weights_reg[0] );
				out_2431[ 4 ] = _MMAD_4x8 ( out_2431[ 4 ], act_reg[4], weights_reg[0] );
				out_2431[ 5 ] = _MMAD_4x8 ( out_2431[ 5 ], act_reg[5], weights_reg[0] );
				out_2431[ 6 ] = _MMAD_4x8 ( out_2431[ 6 ], act_reg[6], weights_reg[0] );

				out_2431[ 0 ] = _MMAD_4x8 ( out_2431[ 0 ], act_reg[1], weights_reg[1] );
				out_2431[ 1 ] = _MMAD_4x8 ( out_2431[ 1 ], act_reg[2], weights_reg[1] );
				out_2431[ 2 ] = _MMAD_4x8 ( out_2431[ 2 ], act_reg[3], weights_reg[1] );
				out_2431[ 3 ] = _MMAD_4x8 ( out_2431[ 3 ], act_reg[4], weights_reg[1] );
				out_2431[ 4 ] = _MMAD_4x8 ( out_2431[ 4 ], act_reg[5], weights_reg[1] );
				out_2431[ 5 ] = _MMAD_4x8 ( out_2431[ 5 ], act_reg[6], weights_reg[1] );
				out_2431[ 6 ] = _MMAD_4x8 ( out_2431[ 6 ], act_reg[7], weights_reg[1] );

				out_2431[ 0 ] = _MMAD_4x8 ( out_2431[ 0 ], act_reg[2], weights_reg[2] );
				out_2431[ 1 ] = _MMAD_4x8 ( out_2431[ 1 ], act_reg[3], weights_reg[2] );
				out_2431[ 2 ] = _MMAD_4x8 ( out_2431[ 2 ], act_reg[4], weights_reg[2] );
				out_2431[ 3 ] = _MMAD_4x8 ( out_2431[ 3 ], act_reg[5], weights_reg[2] );
				out_2431[ 4 ] = _MMAD_4x8 ( out_2431[ 4 ], act_reg[6], weights_reg[2] );
				out_2431[ 5 ] = _MMAD_4x8 ( out_2431[ 5 ], act_reg[7], weights_reg[2] );
				out_2431[ 6 ] = _MMAD_4x8 ( out_2431[ 6 ], act_reg[8], weights_reg[2] );

			/**********************************************************************************************************
			  Second phase - multiply second row of weights  and second row of activations
			***********************************************************************************************************/

	   w(R=0,S=0,k=0..7,C=16..31),w(R=0,S=0,k=32..39,C=16..31)

	   Above interleaving present to avoid SLM Bank conflicts when fused threads read from SLM
	   Thread0 will read k=0..31, thread1 will read k=32..63

	   First all output channels are present in SLM, then next weight pixel is present in SLM */

	 #define NUM_FILTERS (K_HEIGHT * K_WIDTH)

	 uint output_depth    = fmg % ( _OD / ( LOCAL_SIZE_X * 4 ) ); //LOCAL_SIZE_X=16, 64 output channels used

	 uint weight_size_CRS =  ( _ID / PACK ) * NUM_FILTERS * 8; //8 output channels packed inside

	 // Global weight addr for workgroup
	 uint weight_global_addr_offset =  output_depth * 8 * weight_size_CRS ; //64 output channels per workgroup

	 /* Global weight address for thread */

	 // Goto appropriate output channel in weights
	 uint weight_global_channel_offset = threadid_mod_2 * 2 * weight_size_CRS ;

	uint slm_channel_offset     = threadid_mod_2;
	uint bc_fused_thread_offset = 0;

	 if ( thread_id >= 8 )
    {
		bc_fused_thread_offset =  1;

		weight_global_channel_offset =  4 * weight_size_CRS + slm_channel_offset * weight_size_CRS * 2 ;
    }

	 // Goto appropriate pixel in weights

	 uint weight_global_pixel_offset = 0;
	 uint slm_pixel_offset = 0;

    if ( threadid_mod_8 >=2  )
    {
	 /* First three pixels handled by threads 0-1, then 2 pixels handled by two threads */

		weight_global_pixel_offset = 3*8 +  ( ( (threadid_mod_8/2) - 1 )*2*8 );
		slm_pixel_offset 		   = 3*64 + ( ( (threadid_mod_8/2) - 1 )*2*64 );
    }

    weight_global_addr_offset += weight_global_channel_offset + weight_global_pixel_offset;

	 /* Weight slm write index */

	 uint slm_write_weight = slm_pixel_offset + slm_channel_offset * 32 + bc_fused_thread_offset * 4;

	 /* Weight slm read index */

	 /* Thread 0  reads output channels 0-15, thread 1 handles output channels 16-31, data present in interleaved
	    manner in SLM
		Data layout in SLM

		w(0,0) C=0..7, K = 0..7 | w(0,0) C=0..7, K = 32..39
		w(0,0) C=8..15,K=0..7   | w(0,0) C=8..15,K = 32..39
		w(0,0) C=0..7, K=8..15  | w(0,0) C=0..7, K = 40..47
		w(0,0) C=8..15,K=8..15  | w(0,0) C=8..15,K=  40..47

		*/
    uint wt_slm_rd_offset = threadid_mod_2*4;

	int kd;

	__attribute__((opencl_unroll_hint(1)))
	for(kd = 0; kd <  ( _ID / PACK ) ; kd++)
	{
		{
			/* Load Activation from global to SLM */

			int in_addr = kd * (_IH + IHPAD) * (_IW + IWPAD) * BATCH_SIZE + in_addr_offset;

			__global uint *activation_tile = (__global uint*)&inputs[ in_addr ];

			__local uint *act_slm_ptr   = (__local uint *) &act_slm [ act_slm_write  ];

			/* The odd thread in fused pair will start from next 4x8 block */

			activation_tile += threadid_mod_2*4*8;
			act_slm_ptr 	+= threadid_mod_2*4*8;

			int4 act_col_0 =  as_int4( intel_sub_group_block_read4(activation_tile) );//col 0
			int4 act_col_1 =  as_int4( intel_sub_group_block_read4(activation_tile + 8*8) );//col 2
			int4 act_col_2 =  as_int4( intel_sub_group_block_read4(activation_tile + 2*8*8) );//col 4
			int4 act_col_3 =  as_int4( intel_sub_group_block_read4(activation_tile + 3*8*8) );//col 6

			SLM_BLOCK_WRITE_4 ( act_slm_ptr , as_uint4 ( act_col_0 ) );
			SLM_BLOCK_WRITE_4 ( ( act_slm_ptr + 8*8 ) , as_uint4 ( act_col_1 ) );
			SLM_BLOCK_WRITE_4 ( ( act_slm_ptr + 2*8*8 ) , as_uint4 ( act_col_2 ) );
			SLM_BLOCK_WRITE_4 ( ( act_slm_ptr + 3*8*8 ) , as_uint4 ( act_col_3 ) );

			if ( threadid_mod_2  == 0 )
            {
				int4 act_col_4 =  as_int4( intel_sub_group_block_read4(activation_tile + 4*8*8) );

				SLM_BLOCK_WRITE_4 ( ( act_slm_ptr + 4*8*8 ) , as_uint4 ( act_col_4 ) );
			}

			if ( thread_id >=14)
            {
				activation_tile  = activation_tile + 1 * (_IW + IWPAD ) * BATCH_PACK * 8;
				act_slm_ptr 	 = act_slm_ptr + (TILE_W + 2)  * BATCH_PACK *8;

				int4 act_col_9 =  as_int4( intel_sub_group_block_read4(activation_tile) );
				int4 act_col_10 =  as_int4( intel_sub_group_block_read4(activation_tile + 8*8) );
				int4 act_col_11 =  as_int4( intel_sub_group_block_read4(activation_tile + 2*8*8) );
				int4 act_col_12 =  as_int4( intel_sub_group_block_read4(activation_tile + 3*8*8) );

				SLM_BLOCK_WRITE_4 ( act_slm_ptr  , as_uint4 ( act_col_9 ) );
				SLM_BLOCK_WRITE_4 ( ( act_slm_ptr + 8*8 )   , as_uint4 ( act_col_10 ) );
				SLM_BLOCK_WRITE_4 ( ( act_slm_ptr + 2*8*8 ) , as_uint4 ( act_col_11 ) );
				SLM_BLOCK_WRITE_4 ( ( act_slm_ptr + 3*8*8 ) , as_uint4 ( act_col_12 ) );

				if ( threadid_mod_2  == 0 )
                {
					int4 act_col_13 =  as_int4( intel_sub_group_block_read4(activation_tile + 4*8*8) );

					SLM_BLOCK_WRITE_4 ( ( act_slm_ptr + 4*8*8 ) , as_uint4 ( act_col_13 ) );
				}
			}

		/* load weights from global to weight_slm */

			int weight_addr = kd * NUM_FILTERS * 8 + weight_global_addr_offset;

			__global uint *weight_tile   = (__global uint*)&weights    [ weight_addr ];
			__local  uint *wt_slm_ptr    = (__local uint *)&weight_slm [ slm_write_weight  ];

			__global uint *weight_tile_2   = weight_tile;
			__local uint *wt_slm_ptr_2     = wt_slm_ptr;

			int4 w0 = as_int4 ( intel_sub_group_block_read4( weight_tile ) );	// Pixel1 K=0..7 C=0..15
			int4 w1 = as_int4 ( intel_sub_group_block_read4( weight_tile + 4*8 ) );	// Pixel1 K=0..7 C=16..31
			int4 w2 = as_int4 ( intel_sub_group_block_read4( weight_tile + 8*8 ) );	// Pixel2 K=0..7 C=0..15
			int4 w3 = as_int4 ( intel_sub_group_block_read4( weight_tile + 12*8 ) );// Pixel2 K=0..7 C=16..31

			// Goto next output channel
			weight_tile += weight_size_CRS*8;

			int4 w4 = as_int4 ( intel_sub_group_block_read4( weight_tile ) );	// Pixel1 K=8..15 C=0..15
			int4 w5 = as_int4 ( intel_sub_group_block_read4( weight_tile + 4*8 ) );	// Pixel1 K=8..15 C=16..31
			int4 w6 = as_int4 ( intel_sub_group_block_read4( weight_tile + 8*8 ) );	// Pixel2 K=8..15 C=0..15
			int4 w7 = as_int4 ( intel_sub_group_block_read4( weight_tile + 12*8 ) );// Pixel2 K=8..15 C=16..31

			SLM_BLOCK_WRITE_4 ( wt_slm_ptr, as_uint4 ( w0 ) );
			SLM_BLOCK_WRITE_4 ( ( wt_slm_ptr + 8*8 ) , as_uint4 ( w1 ) );
			SLM_BLOCK_WRITE_4 ( ( wt_slm_ptr + 64*8 ), as_uint4 ( w2 ) );
			SLM_BLOCK_WRITE_4 ( ( wt_slm_ptr + 64*8 + 8*8 ), as_uint4 ( w3 ) );

			wt_slm_ptr  += 16*8;

			SLM_BLOCK_WRITE_4 ( wt_slm_ptr , as_uint4 ( w4 ) );
			SLM_BLOCK_WRITE_4 ( ( wt_slm_ptr + 8*8 )   , as_uint4 ( w5 ) );
			SLM_BLOCK_WRITE_4 ( ( wt_slm_ptr + 64*8 ) , as_uint4 ( w6 ) );
			SLM_BLOCK_WRITE_4 ( ( wt_slm_ptr + 64*8 + 8*8 ) , as_uint4 ( w7 ) );

		   if( threadid_mod_8 < 2 )
           {
				// Goto next pixel
				weight_tile_2 += 16*8;
				wt_slm_ptr_2  += 2*64*8;

				int4 w0 = as_int4 ( intel_sub_group_block_read4( weight_tile_2 ) );	// Pixel1 K=0..7 C=0..15
				int4 w1 = as_int4 ( intel_sub_group_block_read4( weight_tile_2 + 4*8 ) );	// Pixel1 K=0..7 C=16..31

				// Goto next output channel
				weight_tile_2 += weight_size_CRS*8;

				int4 w4 = as_int4 ( intel_sub_group_block_read4( weight_tile_2 ) );	// Pixel1 K=8..15 C=0..15
				int4 w5 = as_int4 ( intel_sub_group_block_read4( weight_tile_2 + 4*8 ) );	// Pixel1 K=8..15 C=16..31

				SLM_BLOCK_WRITE_4 ( wt_slm_ptr_2, as_uint4 ( w0 ) );
				SLM_BLOCK_WRITE_4 ( ( wt_slm_ptr_2 + 8*8 ) , as_uint4 ( w1 ) );

				wt_slm_ptr_2  += 16*8;

				SLM_BLOCK_WRITE_4 ( wt_slm_ptr_2 , as_uint4 ( w4 ) );
				SLM_BLOCK_WRITE_4 ( ( wt_slm_ptr_2 + 8*8 )   , as_uint4 ( w5 ) );
			}
	}

		// Synchronize SLM writes across workgroup
		 barrier(CLK_LOCAL_MEM_FENCE);

		if ( lid_z <= 6 )
        {
			uint wt_slm_rd = wt_slm_rd_offset;

			__local uint *slm_ptr0     = (__local uint *) &act_slm[ act_slm_read ];
			__local uint *slm_ptr1     = (__local uint *) &weight_slm[ wt_slm_rd ];

			/* balancing load of weights, activations   */
			int8 weights_reg[3]; //24 registers
			int4 act_reg[18];    //72 registers
			uint slm_read_pixel_offset = 64*8;

			/**********************************************************************************************************
			  First phase - multiply first row of weights  and 1st row of activations
    out_write_N2K4[1].s0 = convert_uchar_sat((float)outvec0.s2 * SCALE + bias_f.s0); /*K= lane_id,N=2*/\
    out_write_N2K4[1].s1 = convert_uchar_sat((float)outvec1.s2 * SCALE + bias_f.s1); /*K= lane_id + 8,N=2*/\
    out_write_N2K4[1].s2 = convert_uchar_sat((float)outvec2.s2 * SCALE + bias_f.s2); /*K= lane_id + 16,N=2*/\
    out_write_N2K4[1].s3 = convert_uchar_sat((float)outvec3.s2 * SCALE + bias_f.s3); /*K= lane_id + 24,N=2*/\
    \
    out_write_N2K4[1].s4 = convert_uchar_sat((float)outvec0.s3 * SCALE + bias_f.s0); /*K= lane_id,N=3*/\
    out_write_N2K4[1].s5 = convert_uchar_sat((float)outvec1.s3 * SCALE + bias_f.s1); /*K= lane_id + 8,N=3*/\
    out_write_N2K4[1].s6 = convert_uchar_sat((float)outvec2.s3 * SCALE + bias_f.s2); /*K= lane_id + 16,N=3*/\
    out_write_N2K4[1].s7 = convert_uchar_sat((float)outvec3.s3 * SCALE + bias_f.s3); /*K= lane_id + 24,N=3*/

#elif NO_QUANTIZATION

#define QUANTIZATION \
    out_write_N2K4[0].s0 = convert_uchar_sat(outvec0.s0); /*K= lane_id,N=0*/ \
    out_write_N2K4[0].s1 = convert_uchar_sat(outvec1.s0); /*K= lane_id + 8,N=0*/\
    out_write_N2K4[0].s2 = convert_uchar_sat(outvec2.s0); /*K= lane_id + 16,N=0*/\
    out_write_N2K4[0].s3 = convert_uchar_sat(outvec3.s0); /*K= lane_id + 24,N=0*/\
    \
    out_write_N2K4[0].s4 = convert_uchar_sat(outvec0.s1); /*K= lane_id,N=1*/\
    out_write_N2K4[0].s5 = convert_uchar_sat(outvec1.s1); /*K= lane_id + 8,N=1*/\
    out_write_N2K4[0].s6 = convert_uchar_sat(outvec2.s1); /*K= lane_id + 16,N=1*/\
    out_write_N2K4[0].s7 = convert_uchar_sat(outvec3.s1); /*K= lane_id + 24,N=1*/\
    \
    out_write_N2K4[1].s0 = convert_uchar_sat(outvec0.s2); /*K= lane_id,N=2*/\
    out_write_N2K4[1].s1 = convert_uchar_sat(outvec1.s2); /*K= lane_id + 8,N=2*/\
    out_write_N2K4[1].s2 = convert_uchar_sat(outvec2.s2); /*K= lane_id + 16,N=2*/\
    out_write_N2K4[1].s3 = convert_uchar_sat(outvec3.s2); /*K= lane_id + 24,N=2*/\
    \
    out_write_N2K4[1].s4 = convert_uchar_sat(outvec0.s3); /*K= lane_id,N=3*/\
    out_write_N2K4[1].s5 = convert_uchar_sat(outvec1.s3); /*K= lane_id + 8,N=3*/\
    out_write_N2K4[1].s6 = convert_uchar_sat(outvec2.s3); /*K= lane_id + 16,N=3*/\
    out_write_N2K4[1].s7 = convert_uchar_sat(outvec3.s3); /*K= lane_id + 24,N=3*/

#else

#define QUANTIZATION \
    out_write_N2K4[0].s0 = as_uchar(ACTIVATION(convert_char(round(((float)(outvec0.s0) * quant_f.s0 * I_QF + bias_f.s0) * calib_f.s0)), NL_M, NL_N)); /*K= lane_id,N=0*/ \
    out_write_N2K4[0].s1 = as_uchar(ACTIVATION(convert_char(round(((float)(outvec1.s0) * quant_f.s1 * I_QF + bias_f.s1) * calib_f.s1)), NL_M, NL_N)); /*K= lane_id + 8,N=0*/\
    out_write_N2K4[0].s2 = as_uchar(ACTIVATION(convert_char(round(((float)(outvec2.s0) * quant_f.s2 * I_QF + bias_f.s2) * calib_f.s2)), NL_M, NL_N)); /*K= lane_id + 16,N=0*/\
    out_write_N2K4[0].s3 = as_uchar(ACTIVATION(convert_char(round(((float)(outvec3.s0) * quant_f.s3 * I_QF + bias_f.s3) * calib_f.s3)), NL_M, NL_N)); /*K= lane_id + 24,N=0*/\
    \
    out_write_N2K4[0].s4 = as_uchar(ACTIVATION(convert_char(round(((float)(outvec0.s1) * quant_f.s0 * I_QF + bias_f.s0) * calib_f.s0)), NL_M, NL_N)); /*K= lane_id,N=1*/\
    out_write_N2K4[0].s5 = as_uchar(ACTIVATION(convert_char(round(((float)(outvec1.s1) * quant_f.s1 * I_QF + bias_f.s1) * calib_f.s1)), NL_M, NL_N)); /*K= lane_id + 8,N=1*/\
    out_write_N2K4[0].s6 = as_uchar(ACTIVATION(convert_char(round(((float)(outvec2.s1) * quant_f.s2 * I_QF + bias_f.s2) * calib_f.s2)), NL_M, NL_N)); /*K= lane_id + 16,N=1*/\
    out_write_N2K4[0].s7 = as_uchar(ACTIVATION(convert_char(round(((float)(outvec3.s1) * quant_f.s3 * I_QF + bias_f.s3) * calib_f.s3)), NL_M, NL_N)); /*K= lane_id + 24,N=1*/\
    \
    out_write_N2K4[1].s0 = as_uchar(ACTIVATION(convert_char(round(((float)(outvec0.s2) * quant_f.s0 * I_QF + bias_f.s0) * calib_f.s0)), NL_M, NL_N)); /*K= lane_id,N=2*/\
    out_write_N2K4[1].s1 = as_uchar(ACTIVATION(convert_char(round(((float)(outvec1.s2) * quant_f.s1 * I_QF + bias_f.s1) * calib_f.s1)), NL_M, NL_N)); /*K= lane_id + 8,N=2*/\
    out_write_N2K4[1].s2 = as_uchar(ACTIVATION(convert_char(round(((float)(outvec2.s2) * quant_f.s2 * I_QF + bias_f.s2) * calib_f.s2)), NL_M, NL_N)); /*K= lane_id + 16,N=2*/\
    out_write_N2K4[1].s3 = as_uchar(ACTIVATION(convert_char(round(((float)(outvec3.s2) * quant_f.s3 * I_QF + bias_f.s3) * calib_f.s3)), NL_M, NL_N)); /*K= lane_id + 24,N=2*/\
    \
    out_write_N2K4[1].s4 = as_uchar(ACTIVATION(convert_char(round(((float)(outvec0.s3) * quant_f.s0 * I_QF + bias_f.s0) * calib_f.s0)), NL_M, NL_N)); /*K= lane_id,N=3*/\
    out_write_N2K4[1].s5 = as_uchar(ACTIVATION(convert_char(round(((float)(outvec1.s3) * quant_f.s1 * I_QF + bias_f.s1) * calib_f.s1)), NL_M, NL_N)); /*K= lane_id + 8,N=3*/\
    out_write_N2K4[1].s6 = as_uchar(ACTIVATION(convert_char(round(((float)(outvec2.s3) * quant_f.s2 * I_QF + bias_f.s2) * calib_f.s2)), NL_M, NL_N)); /*K= lane_id + 16,N=3*/\
    out_write_N2K4[1].s7 = as_uchar(ACTIVATION(convert_char(round(((float)(outvec3.s3) * quant_f.s3 * I_QF + bias_f.s3) * calib_f.s3)), NL_M, NL_N)); /*K= lane_id + 24,N=3*/

#endif

// mapping to clDNN
#define _MMAD_4x8(C, A, B) MMAD_4x8(A, B, C)
#define _OD OUTPUT_FEATURE_NUM
#define _OW OUTPUT_SIZE_X
#define _OH OUTPUT_SIZE_Y
#define OWPAD (OUTPUT_PAD_BEFORE_SIZE_X + OUTPUT_PAD_AFTER_SIZE_X)
#define OHPAD (OUTPUT_PAD_BEFORE_SIZE_Y + OUTPUT_PAD_AFTER_SIZE_Y)
#define _IH INPUT0_SIZE_Y
#define _IW INPUT0_SIZE_X
#define _ID INPUT0_FEATURE_NUM
#define K_HEIGHT FILTER_SIZE_Y
#define K_WIDTH FILTER_SIZE_X
#define BATCH_SIZE OUTPUT_BATCH_NUM

#define IHPAD (INPUT0_PAD_BEFORE_SIZE_Y + INPUT0_PAD_AFTER_SIZE_Y)
#define IWPAD (INPUT0_PAD_BEFORE_SIZE_X + INPUT0_PAD_AFTER_SIZE_X)
#define K_STRIDE STRIDE_SIZE_X
// end of mapping

// for now kernel stride is square
#define K_WSTRIDE K_STRIDE
#define K_HSTRIDE K_STRIDE

#define PACK 32
#define BATCH_PACK 4

__attribute__((intel_reqd_sub_group_size(8)))
KERNEL(convolution_mmad_slm_2x14_rep4)(
__global int8 *inputs,
__global uchar* outputs,
__global int8* weights,
#if BIAS_TERM
    __global BIAS_TYPE* biases,
#endif
#if QUANTIZATION_TERM
    const __global float* quantizations,
#endif
#if CALIBRATION_TERM
    const __global float* calibrations,
#endif
    uint split_idx
)
{
	const uint TILE_H = OUT_BLOCK_HEIGHT*LOCAL_SIZE_Z;
	const uint TILE_W = OUT_BLOCK_WIDTH*LOCAL_SIZE_Y;

	ushort fmg     = get_group_id(0);   // Output Depth
	ushort group_y = get_group_id(1);   // Output Width
	ushort group_z = get_group_id(2);   // Output Height

	/* 16,1,8 WG , SIMD8 - 16 HW threads in a WG
	threads 0-1 : ( lid_x:0-15,lid_y:0,lid_z:0)
	threads 2-3 : ( lid_x:0-15,lid_y:0,lid_z:1)
	..
	threads 12-13: ( lid_x:0-15, lid_y:0,lid_z:6)
	threads 14-15: ( lid_x:0-15, lid_y:0,lid_z:7)
	*/

	/* Thread, local IDs */
	ushort thread_id 		= get_sub_group_id();
	ushort threadid_mod_2   = thread_id % 2;
	ushort threadid_mod_8   = thread_id % 8;

	ushort lid_x    = get_local_id(0);
	ushort lid_z    = get_local_id(2);

	uchar  lane_id  = get_sub_group_local_id();

	/* 32-bit signed accumulator , 112 output registers for 1Px7Qx4Nx32K output tile size
	   Will be converted to 8-bits before final write */

	int4  out_07 [ OUT_BLOCK_HEIGHT * OUT_BLOCK_WIDTH ]   = {0}; // For output channels 0-7
	int4  out_815[ OUT_BLOCK_HEIGHT * OUT_BLOCK_WIDTH ]   = {0}; // For output channels 8-15
	int4  out_1623[ OUT_BLOCK_HEIGHT * OUT_BLOCK_WIDTH ]  = {0}; // For output channels 16-23
	int4  out_2431[ OUT_BLOCK_HEIGHT * OUT_BLOCK_WIDTH ]  = {0}; // For output channels 24-31

	/* Account for batching */

	ushort batch 	= ( fmg*LOCAL_SIZE_X*4 ) /_OD; // Each thread processing 32 output_channels and each fmg processing 64 output channels , LOCAL_SIZE_X is only 16

	// Size calculated for int8 elements
	uint input_size = (_IH + IHPAD) * (_IW + IWPAD) * BATCH_PACK ;

	uint in_addr_offset = batch*input_size;

	/* Goto activation tile for work group, offset is w.r.t int8 array */

	uint groupy_tile = TILE_W*group_y;
	uint groupz_tile = TILE_H*group_z;

    in_addr_offset += (groupz_tile * K_STRIDE) * (_IW + IWPAD) * BATCH_PACK + (groupy_tile * K_STRIDE) * BATCH_PACK;

	 	/* SLM space for Activation, Weights
	       ( 16,1,8 ) Workgroup - 7 tiles along Y direction and 64 different output channels
		    2 threads used to load global memory
	        Activation - 9Hx9Wx4Nx32C Weights -3Rx3Sx64Kx32C	*/

	__local int8 act_slm      [  9*9*4 ];
	__local int8 weight_slm   [  9*64  ];

   /* 9Hx9Wx4Nx32C activation tile written into SLM.  Distribute among 14 threads in Workgroup
	   threads 0-1 write 9x4x32 of  H=0, W=0...8
	   threads 2-3 write 9x4x32 of H=1, W=0...8
	   threads 4-5 write 9x4x32 of H=2, W=0...8
	   threads 6-7  write 9x4x32 of H=3, W=0...8
	   threads 8-9 write 9x4x32 of H=4, W=0...8
	   threads 10-11 write 9x4x32 of H=5,W=0...8
	   threads 12-13 write 9x4x32 of H=6,W=0...8
	   threads 14 write 9x4x32 of H=7,W=0...8
	   threads 15 write 9x4x32 of H=8,W=0...8 */

	/* Goto activation tile for thread in group */

	uint row_offset   =  thread_id / 2;

	if ( thread_id >= 14 )
    {
        row_offset = 7;
	}

	// In addr offset for the particular thread
	in_addr_offset    += row_offset * K_STRIDE * (_IW + IWPAD ) * BATCH_PACK ;

   /* Activation SLM indices */
    uint act_slm_write =  row_offset * ( TILE_W + 2) * BATCH_PACK;
	uint act_slm_read  =  OUT_BLOCK_HEIGHT * lid_z * ( TILE_W + 2) * BATCH_PACK ;

	/* 9RSx64Kx32C Weight Block in SLM
	   thread0 handles ( reads from global ) w(0,0),w(0,1),w(0,2) of K=0,1 ( k=0..15 )
	   thread1 handles w(0,0),w(0,1),w(0,2) of K=2,3 ( k=16..31)
	   thread2 handles w(1,0),w(1,1) of K=0,1 ( k=0..15)
	   thread3 handles w(1,0),w(1,1) of K=2,3 ( k=16..31)
	   thread4 handles w(1,2),w(2,0) of K=0,1 ( k=0..15)
	   thread5 handles w(1,2),w(2,0) of K=2,3 ( k=16..31)
	   thread6 handles w(2,1),w(2,2) of K=0,1 ( k=0..15)
	   thread7 handles w(2,1),w(2,2) of K=2,3 ( k=16..31)

	   Similarly threads8-15 handles for K=4,5,6,7

	   Weight Layout in SLM

	   w(R=0,S=0,k=0..7,C=0..15),w(R=0,S=0,k=32..39,C=0..15)
// Copyright (c) 2016-2017 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

void FUNC(intel_sub_group_block_write_4)( __local uint* p, uint4 data )
{
    p[ get_sub_group_local_id() ] = data.s0;
    p += 8;
    p[ get_sub_group_local_id() ] = data.s1;
    p += 8;
    p[ get_sub_group_local_id() ] = data.s2;
    p += 8;
    p[ get_sub_group_local_id() ] = data.s3;
}

uint4 FUNC(intel_sub_group_block_read_uint4)(const __local uint* p)
{
    uint4 ret;
    uint idx = get_sub_group_local_id();

    ret.s0 = p[idx]; idx += get_max_sub_group_size();
    ret.s1 = p[idx]; idx += get_max_sub_group_size();
    ret.s2 = p[idx]; idx += get_max_sub_group_size();
    ret.s3 = p[idx]; idx += get_max_sub_group_size();

    return ret;
}

uint8 FUNC(intel_sub_group_block_read_uint8)(const __local uint* p)
{
    uint8 ret;
    uint idx = get_sub_group_local_id();

    ret.s0 = p[idx]; idx += get_max_sub_group_size();
    ret.s1 = p[idx]; idx += get_max_sub_group_size();
    ret.s2 = p[idx]; idx += get_max_sub_group_size();
    ret.s3 = p[idx]; idx += get_max_sub_group_size();
    ret.s4 = p[idx]; idx += get_max_sub_group_size();
    ret.s5 = p[idx]; idx += get_max_sub_group_size();
    ret.s6 = p[idx]; idx += get_max_sub_group_size();
    ret.s7 = p[idx]; idx += get_max_sub_group_size();

    return ret;
}

inline int FUNC(mmad_4)(char4 input, char4 weight, int acc)
{
	acc += (input[0] * weight[0]);
	acc += (input[1] * weight[1]);
	acc += (input[2] * weight[2]);
	acc += (input[3] * weight[3]);
	return acc;
}

inline int FUNC(mmad8)(int8 A_scalars, int8 B_vectors, int acc)
{
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[0]), as_char4(B_vectors[0]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[1]), as_char4(B_vectors[1]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[2]), as_char4(B_vectors[2]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[3]), as_char4(B_vectors[3]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[4]), as_char4(B_vectors[4]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[5]), as_char4(B_vectors[5]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[6]), as_char4(B_vectors[6]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[7]), as_char4(B_vectors[7]), acc);

	return acc;
}

inline int4 FUNC(mmad4x8)(int4 A_vectors, int8 B_vectors, int4 acc)
{
    int4 ret;
    for(uint i = 0; i < 4; i++)
    {
        int8 A_scalars;
        A_scalars.s0 = sub_group_broadcast(A_vectors[i], 0);
        A_scalars.s1 = sub_group_broadcast(A_vectors[i], 1);
        A_scalars.s2 = sub_group_broadcast(A_vectors[i], 2);
        A_scalars.s3 = sub_group_broadcast(A_vectors[i], 3);
        A_scalars.s4 = sub_group_broadcast(A_vectors[i], 4);
        A_scalars.s5 = sub_group_broadcast(A_vectors[i], 5);
        A_scalars.s6 = sub_group_broadcast(A_vectors[i], 6);
        A_scalars.s7 = sub_group_broadcast(A_vectors[i], 7);
        ret[i] = FUNC_CALL(mmad8)(A_scalars, B_vectors, acc[i]);
    }
    return ret;
}

inline int8 FUNC(mmad8x8)(int8 A_vectors, int8 B_vectors, int8 acc)
{
    int8 ret;
    for(uint i = 0; i < 8; i++)
    {
        int8 A_scalars;
        A_scalars.s0 = sub_group_broadcast(A_vectors[i], 0);
        A_scalars.s1 = sub_group_broadcast(A_vectors[i], 1);
        A_scalars.s2 = sub_group_broadcast(A_vectors[i], 2);
        A_scalars.s3 = sub_group_broadcast(A_vectors[i], 3);
        A_scalars.s4 = sub_group_broadcast(A_vectors[i], 4);
        A_scalars.s5 = sub_group_broadcast(A_vectors[i], 5);
        A_scalars.s6 = sub_group_broadcast(A_vectors[i], 6);
        A_scalars.s7 = sub_group_broadcast(A_vectors[i], 7);
        ret[i] = FUNC_CALL(mmad8)(A_scalars, B_vectors, acc[i]);
    }
    return ret;
}

// TODO: remove it when cl_intel_subgroups_char extension will work
inline void FUNC(sub_group_block_write_uchar8)(__global uchar* outPtr, uchar8 v)
{
#ifdef cl_intel_subgroups_char
    intel_sub_group_block_write_uc8(outPtr, v);
#else
    uint idx = get_sub_group_local_id();

	outPtr[idx] = v.s0; idx += get_max_sub_group_size();
    outPtr[idx] = v.s1; idx += get_max_sub_group_size();
    outPtr[idx] = v.s2; idx += get_max_sub_group_size();
    outPtr[idx] = v.s3; idx += get_max_sub_group_size();
    outPtr[idx] = v.s4; idx += get_max_sub_group_size();
    outPtr[idx] = v.s5; idx += get_max_sub_group_size();
    outPtr[idx] = v.s6; idx += get_max_sub_group_size();
    outPtr[idx] = v.s7; idx += get_max_sub_group_size();
#endif
}

inline uchar8 FUNC(sub_group_block_read_uchar8)(const __global uchar* ptr)
{
#ifdef cl_intel_subgroups_char
    return intel_sub_group_block_read_uc8(ptr);
#else
    uint idx = get_sub_group_local_id();

    uchar8 ret;

    ret.s0 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s1 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s2 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s3 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s4 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s5 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s6 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s7 = ptr[idx]; idx += get_max_sub_group_size();

    return ret;

#endif
}

//


#define MMAD_8(A, B, C) FUNC_CALL(mmad8)(A, B, C)
#define MMAD_4x8(A, B, C) FUNC_CALL(mmad4x8)(A, B, C)
#define MMAD_8x8(A, B, C) FUNC_CALL(mmad8x8)(A, B, C)
#define SLM_BLOCK_WRITE_4(A, B) (FUNC_CALL(intel_sub_group_block_write_4)(A, B))
#define SLM_BLOCK_READ_4(A) (FUNC_CALL(intel_sub_group_block_read_uint4)(A))
#define SLM_BLOCK_READ_8(A) (FUNC_CALL(intel_sub_group_block_read_uint8)(A))


#define SCALE 0.11f

#ifdef LIGHTWEIGHT_QUANTIZATION

#define QUANTIZATION \
    out_write_N2K4[0].s0 = convert_uchar_sat((float)outvec0.s0 * SCALE + bias_f.s0); /*K= lane_id,N=0*/ \
    out_write_N2K4[0].s1 = convert_uchar_sat((float)outvec1.s0 * SCALE + bias_f.s1); /*K= lane_id + 8,N=0*/\
    out_write_N2K4[0].s2 = convert_uchar_sat((float)outvec2.s0 * SCALE + bias_f.s2); /*K= lane_id + 16,N=0*/\
    out_write_N2K4[0].s3 = convert_uchar_sat((float)outvec3.s0 * SCALE + bias_f.s3); /*K= lane_id + 24,N=0*/\
    \
    out_write_N2K4[0].s4 = convert_uchar_sat((float)outvec0.s1 * SCALE + bias_f.s0); /*K= lane_id,N=1*/\
    out_write_N2K4[0].s5 = convert_uchar_sat((float)outvec1.s1 * SCALE + bias_f.s1); /*K= lane_id + 8,N=1*/\
    out_write_N2K4[0].s6 = convert_uchar_sat((float)outvec2.s1 * SCALE + bias_f.s2); /*K= lane_id + 16,N=1*/\
    out_write_N2K4[0].s7 = convert_uchar_sat((float)outvec3.s1 * SCALE + bias_f.s3); /*K= lane_id + 24,N=1*/\
    \
// Copyright (c) 2017 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// --------------------------------------------------------------------------------------------------------------------------------
// L3_SIMD_4x8
// Input matrices dimensions: M x K x N
// Output matrix dimensions: M x N
// --------------------------------------------------------------------------------------------------------------------------------
#define VEC_SIZE        4   // dx
#define TILE_M          8   // dy
#define TILE_K          32
#define TILE_N          32

#define WINOGRAD_TILE_WIDTH 4
#define WINOGRAD_FILTER_HEIGHT 3
#define WINOGRAD_OUTPUT_TILE_WIDTH 2 //width of the winograd tile when transformed back to standard domain, do not confuse with outpout of this kernel (which is still in winograd domain)

#define _CAT(a,b) a##b
#define CAT(a,b) _CAT(a,b)
#define UNIT_TYPE_4 CAT(UNIT_TYPE, 4)

#define INPUT0_PITCH_SIZE_Y INPUT0_FEATURE_NUM
#define WEIGHTS_PITCH_FEATURE OUTPUT_FEATURE_NUM
#define INPUT0_PITCH_FEATURE 1

__attribute__((reqd_work_group_size(8, 1, 1)))
KERNEL(convolution_gpu_winograd_2x3_s1)
(
    const __global UNIT_TYPE *signalw,
          __global UNIT_TYPE *outputw,
    const __global UNIT_TYPE *filterw,
    uint split_idx)
{
    const int INPUT0_SIZE_Y_PITCH_UNIT_4 = INPUT0_PITCH_SIZE_Y / VEC_SIZE; //for bxyf -> INPUT0_PITCH_SIZE_Y is equal to input features count, since ifm % 32 == 0, division by VEC_SIZE is ok
    const int OUTPUT_SIZE_Y_PITCH_UNIT_4 = OUTPUT_Y_PITCH / VEC_SIZE; //for bxyf -> OUTPUT_Y_PITCH is equal to output features count, since ofm % 32 == 0, division by VEC_SIZE is ok
	  const int WEIGHTS_FEATURE_PITCH_UNIT_4 = WEIGHTS_PITCH_FEATURE / VEC_SIZE; //for xyio -> WEIGHTS_PITCH_FEATURE is equal to the output features count

    const int group_x = get_group_id(0);
    const int group_y = get_group_id(1);
    const int group_z = get_group_id(2);
    const int local_x = get_local_id(0);
    const int local_y = get_local_id(1);
    const int local_z = get_local_id(2);

    const int no_of_tiles_x = INPUT0_SIZE_WINOGRAD_X / WINOGRAD_TILE_WIDTH;
    const int no_of_tiles_y = INPUT0_SIZE_WINOGRAD_Y - WINOGRAD_FILTER_HEIGHT + 1;

    const int x_offset_from_z_id = group_z % WINOGRAD_TILE_WIDTH;
    const int batch_idx = group_z / WINOGRAD_TILE_WIDTH;

    //y-dim size is equal to a flattened number of tiles in x-y dims,
    //since one work group processes TILE_M tiles, flattened tile idx is group_y * TILE_M,
    //this idx is then deflattened to idx in x and y dim by dividing by no_of_tiles_y,
    //note: we do not add local id because group size in y-dim is 1
    const int linear_x = (group_y * TILE_M) / no_of_tiles_y;
    const int tile_idx_y = (group_y * TILE_M) % no_of_tiles_y;
    const int x_idx = linear_x + x_offset_from_z_id * no_of_tiles_x;
    const int y_idx = tile_idx_y; //winograd tile height == 1
    const int f_idx = group_x * TILE_N + local_x * VEC_SIZE;
    const int b_idx = batch_idx;

	  const int in_tile_idx = (x_idx % WINOGRAD_TILE_WIDTH);
	  const int tile_idx_x = (x_idx / WINOGRAD_TILE_WIDTH);

    // Result ctile is M rows x N columns
    // M = 8, we have 1 rows of work-items, so we need 8/1 = 8 results down
    // N = 32, we have 8 columns of work-items, so we need 32/8 = 4 results across = 1 float4s across

    UNIT_TYPE_4 c0 = (UNIT_TYPE_4)(0.f);
    UNIT_TYPE_4 c1 = (UNIT_TYPE_4)(0.f);
    UNIT_TYPE_4 c2 = (UNIT_TYPE_4)(0.f);
    UNIT_TYPE_4 c3 = (UNIT_TYPE_4)(0.f);
    UNIT_TYPE_4 c4 = (UNIT_TYPE_4)(0.f);
    UNIT_TYPE_4 c5 = (UNIT_TYPE_4)(0.f);
    UNIT_TYPE_4 c6 = (UNIT_TYPE_4)(0.f);
    UNIT_TYPE_4 c7 = (UNIT_TYPE_4)(0.f);

    //optimal format is bxyf
    const int output_idx = b_idx * OUTPUT_BATCH_PITCH +
                           f_idx * OUTPUT_FEATURE_PITCH +
                           x_idx * OUTPUT_X_PITCH +
                           y_idx * OUTPUT_Y_PITCH;

    __global UNIT_TYPE_4 *dst = (__global UNIT_TYPE_4 *)(outputw + output_idx);

    // Src0 is used directly as atile.
    // It starts at the left side of signalw and walks across.
    // atile is M rows x K columns.
    // M = 8, we have 1 rows of work-items, so we need 8/1 = 8 rows.
    // K = 32, we have 8 columns of work-items, so we need 32/8 = 4 floats across = 1 float4s across
    const int src0_idx = local_x * VEC_SIZE * INPUT0_PITCH_FEATURE
                         + y_idx * INPUT0_FEATURE_NUM
                         + x_idx * INPUT0_SIZE_WINOGRAD_Y * INPUT0_FEATURE_NUM
                         + batch_idx * INPUT0_SIZE_WINOGRAD_X * INPUT0_SIZE_WINOGRAD_Y * INPUT0_FEATURE_NUM;

    const __global UNIT_TYPE_4 *src0 = (__global UNIT_TYPE_4 *)(signalw + src0_idx);

    // Src1 is directly used as btile.
    // It starts at the top of filterw and walks down.
    // btile is K rows x N columns.
    // K = 32, we'll process four rows at a time
    // N = 32, we have 8 columns of work-items, so we need 32/8 = 4 floats across = 1 float4s across
    const int src1_idx = local_x * VEC_SIZE
                         + (group_x * TILE_N)
                         + in_tile_idx * WINOGRAD_FILTER_HEIGHT * INPUT0_FEATURE_NUM * OUTPUT_FEATURE_NUM;

    const __global UNIT_TYPE_4 *src1 = (__global UNIT_TYPE_4 *)(filterw + src1_idx);

    UNIT_TYPE_4 a;

    // Walk ACROSS signalw and DOWN filterw:
    for (int w = 0; w < K; w += TILE_K)
    {
		//in one iteration load tile 1-width, 8-height, 4-depth (REQ: in_y % 8 == 0),
		//SIMD reads are chained along f-axis, resulting in a 1-width, 8-height, 4*8=32-depth input block (REQ: ifm % 32 == 0)
		//consecutive blocks are also chained along f-axis and overflows to y-axis, reading in total 3*f values (i.e., read all in-depth values from 3 consecutive y values and constant x)
        const UNIT_TYPE_4 a0 = src0[0 * INPUT0_SIZE_Y_PITCH_UNIT_4];
        const UNIT_TYPE_4 a1 = src0[1 * INPUT0_SIZE_Y_PITCH_UNIT_4];
        const UNIT_TYPE_4 a2 = src0[2 * INPUT0_SIZE_Y_PITCH_UNIT_4];
        const UNIT_TYPE_4 a3 = src0[3 * INPUT0_SIZE_Y_PITCH_UNIT_4];
        const UNIT_TYPE_4 a4 = src0[4 * INPUT0_SIZE_Y_PITCH_UNIT_4];
        const UNIT_TYPE_4 a5 = src0[5 * INPUT0_SIZE_Y_PITCH_UNIT_4];
        const UNIT_TYPE_4 a6 = src0[6 * INPUT0_SIZE_Y_PITCH_UNIT_4];
        const UNIT_TYPE_4 a7 = src0[7 * INPUT0_SIZE_Y_PITCH_UNIT_4];

#define DOT_PRODUCT( _i, _j ) { a = intel_sub_group_shuffle(a ## _i, _j); c ## _i = mad(a.x, b0, mad(a.y, b1, mad(a.z, b2, mad(a.w, b3, c ## _i)))); }

		//in one iteration load weights tile 1-width, 1-height, 4-depth from 4 different filters (ofms)
		//SIMD reads are chained along b-axis (different ofms), resulting in 1-width, 1-height, 4-depth blocks from 4*8=32 different filters
		//consecutive reads are chained along f-dim and overflows to y-dim, reading in total
#define ITERATION( _j ) \
        {   \
            const UNIT_TYPE_4 b0 = src1[0]; src1 += WEIGHTS_FEATURE_PITCH_UNIT_4; \
            const UNIT_TYPE_4 b1 = src1[0]; src1 += WEIGHTS_FEATURE_PITCH_UNIT_4; \
            const UNIT_TYPE_4 b2 = src1[0]; src1 += WEIGHTS_FEATURE_PITCH_UNIT_4; \
            const UNIT_TYPE_4 b3 = src1[0]; src1 += WEIGHTS_FEATURE_PITCH_UNIT_4; \
            \
            DOT_PRODUCT(0, _j) \
            DOT_PRODUCT(1, _j) \
            DOT_PRODUCT(2, _j) \
            DOT_PRODUCT(3, _j) \
            DOT_PRODUCT(4, _j) \
            DOT_PRODUCT(5, _j) \
            DOT_PRODUCT(6, _j) \
            DOT_PRODUCT(7, _j) \
        }

        // If I had #pragma unroll I wouldn't need to do this manually...

        // We need K/VEC_SIZE iterations.
        // K = 32, VEC_SIZE = 4
        // So, 32/4 = 8 iterations.
        ITERATION(0);
        ITERATION(1);
        ITERATION(2);
        ITERATION(3);
        ITERATION(4);
        ITERATION(5);
        ITERATION(6);
        ITERATION(7);

#undef ITERATION
#undef DOT_PRODUCT

        src0 += TILE_K / VEC_SIZE;
    }

    dst[0] = c0; dst += OUTPUT_SIZE_Y_PITCH_UNIT_4;
    dst[0] = c1; dst += OUTPUT_SIZE_Y_PITCH_UNIT_4;
    dst[0] = c2; dst += OUTPUT_SIZE_Y_PITCH_UNIT_4;
    dst[0] = c3; dst += OUTPUT_SIZE_Y_PITCH_UNIT_4;
    dst[0] = c4; dst += OUTPUT_SIZE_Y_PITCH_UNIT_4;
    dst[0] = c5; dst += OUTPUT_SIZE_Y_PITCH_UNIT_4;
    dst[0] = c6; dst += OUTPUT_SIZE_Y_PITCH_UNIT_4;
    dst[0] = c7; dst += OUTPUT_SIZE_Y_PITCH_UNIT_4;
};


    }
}
#undef UNIT_TYPE_2
#undef UNIT_TYPE_4
#undef UNIT_TYPE_8

    }

    if (lz < 7)
	{
        // Load multiplies from SLM.
        __local const UNIT_TYPE_8 *M_read = (__local UNIT_TYPE_8*)&V[lz*8 + lxd4*224 + lxm4*2 + slmSize*upperHalf];

        UNIT_TYPE_8 M0 = M_read[0*28];
        UNIT_TYPE_8 M1 = M_read[1*28];
        UNIT_TYPE_8 M2 = M_read[2*28];
        UNIT_TYPE_8 M3 = M_read[3*28];

        // Inverse Transform.
        UNIT_TYPE_8 S0 = M0 + M1 + M2;
        UNIT_TYPE_8 S1 = M1 - M2 - M3;

        // Store output to global memory.
        uint p = gy*4 + OUTPUT_PAD_BEFORE_SIZE_Y;
        uint q = gx*14 + lz*2 + OUTPUT_PAD_BEFORE_SIZE_X;
        uint k = gk*16 + lx*2;

		// bias and activation
		#if BIAS_TERM
		#if BIAS_PER_OUTPUT
            const unsigned bias_index0 = k*OUTPUT_SIZE_X*OUTPUT_SIZE_Y + trow*OUTPUT_SIZE_X + q;
			const unsigned bias_index1 = bias_index0 + 1;
		#else
            const unsigned bias_index0 = k;
			const unsigned bias_index1 = bias_index0 + 1;
		#endif
		#endif

#if OUTPUT_LAYOUT_BYXF
		uint outindex = gn*PQK + p*Q*FILTER_OFM_NUM + q*FILTER_OFM_NUM + k;
        __global UNIT_TYPE_2 *O_write = (__global UNIT_TYPE_2 *)&O[outindex];
#else
        __global UNIT_TYPE *O_write_0 = (__global UNIT_TYPE *)(&O[gn*PQK + k*Q*P + (p+0)*Q + q]);
        __global UNIT_TYPE *O_write_1 = (__global UNIT_TYPE *)(&O[gn*PQK + k*Q*P + (p+1)*Q + q]);
        __global UNIT_TYPE *O_write_2 = (__global UNIT_TYPE *)(&O[gn*PQK + k*Q*P + (p+2)*Q + q]);
        __global UNIT_TYPE *O_write_3 = (__global UNIT_TYPE *)(&O[gn*PQK + k*Q*P + (p+3)*Q + q]);
#endif

        // TODO: clip output by P, Q
        bool q0_in = q < Q - OUTPUT_PAD_AFTER_SIZE_X;
        bool q1_in = q + 1 < Q - OUTPUT_PAD_AFTER_SIZE_X;

		if (k < FILTER_OFM_NUM) {
            if (p < P - OUTPUT_PAD_AFTER_SIZE_Y) {
                if (q0_in) {

#if OUTPUT_LAYOUT_BYXF
#if BIAS_TERM
                    O_write[0*QK2 + 0*K2] = (UNIT_TYPE_2)(ACTIVATION(S0.s0 + bias[bias_index0], NL_M, NL_N), ACTIVATION(S0.s4 + bias[bias_index1], NL_M, NL_N));
#else
                    O_write[0*QK2 + 0*K2] = (UNIT_TYPE_2)(ACTIVATION(S0.s0, NL_M, NL_N), ACTIVATION(S0.s4, NL_M, NL_N));
#endif
#else
#if BIAS_TERM
                    O_write_0[0] = ACTIVATION(S0.s0 + bias[bias_index0], NL_M, NL_N);
                    O_write_0[0+Q*P] = ACTIVATION(S0.s4 + bias[bias_index1], NL_M, NL_N);
#else
                    O_write_0[0] = ACTIVATION(S0.s0, NL_M, NL_N);
                    O_write_0[0+Q*P] = ACTIVATION(S0.s4, NL_M, NL_N);
#endif
#endif
                }
                if (q1_in) {
#if OUTPUT_LAYOUT_BYXF
#if BIAS_TERM
                    O_write[0*QK2 + 1*K2] = (UNIT_TYPE_2)(ACTIVATION(S0.s1 + bias[bias_index0], NL_M, NL_N), ACTIVATION(S0.s5 + bias[bias_index1], NL_M, NL_N));
#else
                    O_write[0*QK2 + 1*K2] = (UNIT_TYPE_2)(ACTIVATION(S0.s1, NL_M, NL_N), ACTIVATION(S0.s5, NL_M, NL_N));
#endif
#else
#if BIAS_TERM
                    O_write_0[1] = ACTIVATION(S0.s1 + bias[bias_index0], NL_M, NL_N);
                    O_write_0[1+Q*P] = ACTIVATION(S0.s5 + bias[bias_index1], NL_M, NL_N);
#else
                    O_write_0[1] = ACTIVATION(S0.s1, NL_M, NL_N);
                    O_write_0[1+Q*P] = ACTIVATION(S0.s5, NL_M, NL_N);
#endif
#endif
                }
            }

            // row 1
            if (p + 1 < P - OUTPUT_PAD_AFTER_SIZE_Y) {
                if (q0_in) {
#if OUTPUT_LAYOUT_BYXF
#if BIAS_TERM
                    O_write[1*QK2 + 0*K2] = (UNIT_TYPE_2)(ACTIVATION(S1.s0 + bias[bias_index0], NL_M, NL_N), ACTIVATION(S1.s4 + bias[bias_index1], NL_M, NL_N));
#else
                    O_write[1*QK2 + 0*K2] = (UNIT_TYPE_2)(ACTIVATION(S1.s0, NL_M, NL_N), ACTIVATION(S1.s4, NL_M, NL_N));
#endif
#else
#if BIAS_TERM
                    O_write_1[0] = ACTIVATION(S1.s0 + bias[bias_index0], NL_M, NL_N);
                    O_write_1[0+Q*P] = ACTIVATION(S1.s4 + bias[bias_index1], NL_M, NL_N);
#else
                    O_write_1[0] = ACTIVATION(S1.s0, NL_M, NL_N);
                    O_write_1[0+Q*P] = ACTIVATION(S1.s4, NL_M, NL_N);
#endif
#endif
                }
                if (q1_in) {
#if OUTPUT_LAYOUT_BYXF
#if BIAS_TERM
                    O_write[1*QK2 + 1*K2] = (UNIT_TYPE_2)(ACTIVATION(S1.s1 + bias[bias_index0], NL_M, NL_N), ACTIVATION(S1.s5 + bias[bias_index1], NL_M, NL_N));
#else
                    O_write[1*QK2 + 1*K2] = (UNIT_TYPE_2)(ACTIVATION(S1.s1, NL_M, NL_N), ACTIVATION(S1.s5, NL_M, NL_N));
#endif
#else
#if BIAS_TERM
                    O_write_1[1] = ACTIVATION(S1.s1 + bias[bias_index0], NL_M, NL_N);
                    O_write_1[1+Q*P] = ACTIVATION(S1.s5 + bias[bias_index1], NL_M, NL_N);
#else
                    O_write_1[1] = ACTIVATION(S1.s1, NL_M, NL_N);
                    O_write_1[1+Q*P] = ACTIVATION(S1.s5, NL_M, NL_N);
#endif
#endif
                }
            }

            // row 2
            if (p + 2 < P - OUTPUT_PAD_AFTER_SIZE_Y) {
                if (q0_in) {
#if OUTPUT_LAYOUT_BYXF
#if BIAS_TERM
                    O_write[2*QK2 + 0*K2] = (UNIT_TYPE_2)(ACTIVATION(S0.s2 + bias[bias_index0], NL_M, NL_N), ACTIVATION(S0.s6 + bias[bias_index1], NL_M, NL_N));
#else
                    O_write[2*QK2 + 0*K2] = (UNIT_TYPE_2)(ACTIVATION(S0.s2, NL_M, NL_N), ACTIVATION(S0.s6, NL_M, NL_N));
#endif
#else
#if BIAS_TERM
                    O_write_2[0] = ACTIVATION(S0.s2 + bias[bias_index0], NL_M, NL_N);
                    O_write_2[0+Q*P] = ACTIVATION(S0.s6 + bias[bias_index1], NL_M, NL_N);
#else
                    O_write_2[0] = ACTIVATION(S0.s2, NL_M, NL_N);
                    O_write_2[0+Q*P] = ACTIVATION(S0.s6, NL_M, NL_N);
#endif
#endif
                }
                if (q1_in) {
#if OUTPUT_LAYOUT_BYXF
#if BIAS_TERM
                    O_write[2*QK2 + 1*K2] = (UNIT_TYPE_2)(ACTIVATION(S0.s3 + bias[bias_index0], NL_M, NL_N), ACTIVATION(S0.s7 + bias[bias_index1], NL_M, NL_N));
#else
                    O_write[2*QK2 + 1*K2] = (UNIT_TYPE_2)(ACTIVATION(S0.s3, NL_M, NL_N), ACTIVATION(S0.s7, NL_M, NL_N));
#endif
#else
#if BIAS_TERM
                    O_write_2[1] = ACTIVATION(S0.s3 + bias[bias_index0], NL_M, NL_N);
                    O_write_2[1+Q*P] = ACTIVATION(S0.s7 + bias[bias_index1], NL_M, NL_N);
#else
                    O_write_2[1] = ACTIVATION(S0.s3, NL_M, NL_N);
                    O_write_2[1+Q*P] = ACTIVATION(S0.s7, NL_M, NL_N);
#endif
#endif
                }
            }

            // row 3
            if (p + 3 < P - OUTPUT_PAD_AFTER_SIZE_Y) {
                if (q0_in) {
#if OUTPUT_LAYOUT_BYXF
#if BIAS_TERM
                    O_write[3*QK2 + 0*K2] = (UNIT_TYPE_2)(ACTIVATION(S1.s2 + bias[bias_index0], NL_M, NL_N), ACTIVATION(S1.s6 + bias[bias_index1], NL_M, NL_N));
#else
                    O_write[3*QK2 + 0*K2] = (UNIT_TYPE_2)(ACTIVATION(S1.s2, NL_M, NL_N), ACTIVATION(S1.s6, NL_M, NL_N));
#endif
#else
#if BIAS_TERM
                    O_write_3[0] = ACTIVATION(S1.s2 + bias[bias_index0], NL_M, NL_N);
                    O_write_3[0+Q*P] = ACTIVATION(S1.s6 + bias[bias_index1], NL_M, NL_N);
#else
                    O_write_3[0] = ACTIVATION(S1.s2, NL_M, NL_N);
                    O_write_3[0+Q*P] = ACTIVATION(S1.s6, NL_M, NL_N);
#endif
#endif
                }
                if (q1_in) {
#if OUTPUT_LAYOUT_BYXF
#if BIAS_TERM
                    O_write[3*QK2 + 1*K2] = (UNIT_TYPE_2)(ACTIVATION(S1.s3 + bias[bias_index0], NL_M, NL_N), ACTIVATION(S1.s7 + bias[bias_index1], NL_M, NL_N));
#else
                    O_write[3*QK2 + 1*K2] = (UNIT_TYPE_2)(ACTIVATION(S1.s3, NL_M, NL_N), ACTIVATION(S1.s7, NL_M, NL_N));
#endif
#else
#if BIAS_TERM
                    O_write_3[1] = ACTIVATION(S1.s3 + bias[bias_index0], NL_M, NL_N);
                    O_write_3[1+Q*P] = ACTIVATION(S1.s7 + bias[bias_index1], NL_M, NL_N);
#else
                    O_write_3[1] = ACTIVATION(S1.s3, NL_M, NL_N);
                    O_write_3[1+Q*P] = ACTIVATION(S1.s7, NL_M, NL_N);
#endif
#endif
                }
            }
        }

					*(__global UNIT_TYPE *)(&U[flatA + 16 + 0 * FILTER_OFM_NUM*KCOLSW*KROWSW]),
					*(__global UNIT_TYPE *)(&U[flatA + 16 + 1 * FILTER_OFM_NUM*KCOLSW*KROWSW]),
					*(__global UNIT_TYPE *)(&U[flatA + 16 + 2 * FILTER_OFM_NUM*KCOLSW*KROWSW]),
					*(__global UNIT_TYPE *)(&U[flatA + 16 + 3 * FILTER_OFM_NUM*KCOLSW*KROWSW]));
				coordU0.y += 4;


				// f2[c4] x v[2 .. 16]
				DOT4i0(M0.s0, f2, V00, 4 + c4);
				DOT4i0(M0.s1, f2, V00, 6 + c4);
				DOT4i0(M1.s0, f2, V01, 0 + c4);
				DOT4i0(M1.s1, f2, V01, 2 + c4);

				DOT4i0(M2.s0, f2, V01, 4 + c4);
				DOT4i0(M2.s1, f2, V01, 6 + c4);
				DOT4i0(M3.s0, f2, V02, 0 + c4);
				DOT4i0(M3.s1, f2, V02, 2 + c4);

				DOT4i0(M4.s0, f2, V02, 4 + c4);
				DOT4i0(M4.s1, f2, V02, 6 + c4);
				DOT4i0(M5.s0, f2, V03, 0 + c4);
				DOT4i0(M5.s1, f2, V03, 2 + c4);

				DOT4i0(M6.s0, f2, V03, 4 + c4);
				DOT4i0(M6.s1, f2, V03, 6 + c4);

				// row 1

				// f2 x v[2 .. 16]
				DOT4i0(M0.s2, f2, V10, 4 + c4);
				DOT4i0(M0.s3, f2, V10, 6 + c4);
				DOT4i0(M1.s2, f2, V11, 0 + c4);
				DOT4i0(M1.s3, f2, V11, 2 + c4);

				DOT4i0(M2.s2, f2, V11, 4 + c4);
				DOT4i0(M2.s3, f2, V11, 6 + c4);
				DOT4i0(M3.s2, f2, V12, 0 + c4);
				DOT4i0(M3.s3, f2, V12, 2 + c4);

				DOT4i0(M4.s2, f2, V12, 4 + c4);
				DOT4i0(M4.s3, f2, V12, 6 + c4);
				DOT4i0(M5.s2, f2, V13, 0 + c4);
				DOT4i0(M5.s3, f2, V13, 2 + c4);

				DOT4i0(M6.s2, f2, V13, 4 + c4);
				DOT4i0(M6.s3, f2, V13, 6 + c4);

				///


				// f2[c4] x v[2 .. 16]
				DOT4i1(M0.s0, f2, V00, 4 + c4);
				DOT4i1(M0.s1, f2, V00, 6 + c4);
				DOT4i1(M1.s0, f2, V01, 0 + c4);
				DOT4i1(M1.s1, f2, V01, 2 + c4);

				DOT4i1(M2.s0, f2, V01, 4 + c4);
				DOT4i1(M2.s1, f2, V01, 6 + c4);
				DOT4i1(M3.s0, f2, V02, 0 + c4);
				DOT4i1(M3.s1, f2, V02, 2 + c4);

				DOT4i1(M4.s0, f2, V02, 4 + c4);
				DOT4i1(M4.s1, f2, V02, 6 + c4);
				DOT4i1(M5.s0, f2, V03, 0 + c4);
				DOT4i1(M5.s1, f2, V03, 2 + c4);

				DOT4i1(M6.s0, f2, V03, 4 + c4);
				DOT4i1(M6.s1, f2, V03, 6 + c4);

				// row 1


				// f2 x v[2 .. 16]
				DOT4i1(M0.s2, f2, V10, 4 + c4);
				DOT4i1(M0.s3, f2, V10, 6 + c4);
				DOT4i1(M1.s2, f2, V11, 0 + c4);
				DOT4i1(M1.s3, f2, V11, 2 + c4);

				DOT4i1(M2.s2, f2, V11, 4 + c4);
				DOT4i1(M2.s3, f2, V11, 6 + c4);
				DOT4i1(M3.s2, f2, V12, 0 + c4);
				DOT4i1(M3.s3, f2, V12, 2 + c4);

				DOT4i1(M4.s2, f2, V12, 4 + c4);
				DOT4i1(M4.s3, f2, V12, 6 + c4);
				DOT4i1(M5.s2, f2, V13, 0 + c4);
				DOT4i1(M5.s3, f2, V13, 2 + c4);

				DOT4i1(M6.s2, f2, V13, 4 + c4);
				DOT4i1(M6.s3, f2, V13, 6 + c4);



				// f2[c4] x v[2 .. 16]
				DOT4i2(M0.s0, f2, V00, 4 + c4);
				DOT4i2(M0.s1, f2, V00, 6 + c4);
				DOT4i2(M1.s0, f2, V01, 0 + c4);
				DOT4i2(M1.s1, f2, V01, 2 + c4);

				DOT4i2(M2.s0, f2, V01, 4 + c4);
				DOT4i2(M2.s1, f2, V01, 6 + c4);
				DOT4i2(M3.s0, f2, V02, 0 + c4);
				DOT4i2(M3.s1, f2, V02, 2 + c4);

				DOT4i2(M4.s0, f2, V02, 4 + c4);
				DOT4i2(M4.s1, f2, V02, 6 + c4);
				DOT4i2(M5.s0, f2, V03, 0 + c4);
				DOT4i2(M5.s1, f2, V03, 2 + c4);

				DOT4i2(M6.s0, f2, V03, 4 + c4);
				DOT4i2(M6.s1, f2, V03, 6 + c4);

				//

				// f2 x v[2 .. 16]
				DOT4i2(M0.s2, f2, V10, 4 + c4);
				DOT4i2(M0.s3, f2, V10, 6 + c4);
				DOT4i2(M1.s2, f2, V11, 0 + c4);
				DOT4i2(M1.s3, f2, V11, 2 + c4);

				DOT4i2(M2.s2, f2, V11, 4 + c4);
				DOT4i2(M2.s3, f2, V11, 6 + c4);
				DOT4i2(M3.s2, f2, V12, 0 + c4);
				DOT4i2(M3.s3, f2, V12, 2 + c4);

				DOT4i2(M4.s2, f2, V12, 4 + c4);
				DOT4i2(M4.s3, f2, V12, 6 + c4);
				DOT4i2(M5.s2, f2, V13, 0 + c4);
				DOT4i2(M5.s3, f2, V13, 2 + c4);

				DOT4i2(M6.s2, f2, V13, 4 + c4);
				DOT4i2(M6.s3, f2, V13, 6 + c4);


				//
				// row 1
				// f0 x v[0 .. 14]

				// f2[c4] x v[2 .. 16]
				DOT4i3(M0.s0, f2, V00, 4 + c4);
				DOT4i3(M0.s1, f2, V00, 6 + c4);
				DOT4i3(M1.s0, f2, V01, 0 + c4);
				DOT4i3(M1.s1, f2, V01, 2 + c4);

				DOT4i3(M2.s0, f2, V01, 4 + c4);
				DOT4i3(M2.s1, f2, V01, 6 + c4);
				DOT4i3(M3.s0, f2, V02, 0 + c4);
				DOT4i3(M3.s1, f2, V02, 2 + c4);

				DOT4i3(M4.s0, f2, V02, 4 + c4);
				DOT4i3(M4.s1, f2, V02, 6 + c4);
				DOT4i3(M5.s0, f2, V03, 0 + c4);
				DOT4i3(M5.s1, f2, V03, 2 + c4);

				DOT4i3(M6.s0, f2, V03, 4 + c4);
				DOT4i3(M6.s1, f2, V03, 6 + c4);


				// f2 x v[2 .. 16]
				DOT4i3(M0.s2, f2, V10, 4 + c4);
				DOT4i3(M0.s3, f2, V10, 6 + c4);
				DOT4i3(M1.s2, f2, V11, 0 + c4);
				DOT4i3(M1.s3, f2, V11, 2 + c4);

				DOT4i3(M2.s2, f2, V11, 4 + c4);
				DOT4i3(M2.s3, f2, V11, 6 + c4);
				DOT4i3(M3.s2, f2, V12, 0 + c4);
				DOT4i3(M3.s3, f2, V12, 2 + c4);

				DOT4i3(M4.s2, f2, V12, 4 + c4);
				DOT4i3(M4.s3, f2, V12, 6 + c4);
				DOT4i3(M5.s2, f2, V13, 0 + c4);
				DOT4i3(M5.s3, f2, V13, 2 + c4);

				DOT4i3(M6.s2, f2, V13, 4 + c4);
				DOT4i3(M6.s3, f2, V13, 6 + c4);


			}
			//V_read_c8 += 256;

        }

        //barrier(CLK_LOCAL_MEM_FENCE);
    }

    // Store multiplies in SLM.
    {
		barrier(CLK_LOCAL_MEM_FENCE);
        __local UNIT_TYPE_4 *M_write = &V[lz*7*8 + lx + slmSize*upperHalf];

        M_write[0*8] = M0;
        M_write[1*8] = M1;
        M_write[2*8] = M2;
        M_write[3*8] = M3;
        M_write[4*8] = M4;
        M_write[5*8] = M5;
        M_write[6*8] = M6;

        barrier(CLK_LOCAL_MEM_FENCE);
				DOT4i3(M2.s1, f0, V01, 2 + c4);
				DOT4i3(M3.s0, f0, V01, 4 + c4);
				DOT4i3(M3.s1, f0, V01, 6 + c4);

				DOT4i3(M4.s0, f0, V02, 0 + c4);
				DOT4i3(M4.s1, f0, V02, 2 + c4);
				DOT4i3(M5.s0, f0, V02, 4 + c4);
				DOT4i3(M5.s1, f0, V02, 6 + c4);

				DOT4i3(M6.s0, f0, V03, 0 + c4);
				DOT4i3(M6.s1, f0, V03, 2 + c4);

				// f0 x v[0 .. 14]
				DOT4i3(M0.s2, f0, V10, 0 + c4);
				DOT4i3(M0.s3, f0, V10, 2 + c4);
				DOT4i3(M1.s2, f0, V10, 4 + c4);
				DOT4i3(M1.s3, f0, V10, 6 + c4);

				DOT4i3(M2.s2, f0, V11, 0 + c4);
				DOT4i3(M2.s3, f0, V11, 2 + c4);
				DOT4i3(M3.s2, f0, V11, 4 + c4);
				DOT4i3(M3.s3, f0, V11, 6 + c4);

				DOT4i3(M4.s2, f0, V12, 0 + c4);
				DOT4i3(M4.s3, f0, V12, 2 + c4);
				DOT4i3(M5.s2, f0, V12, 4 + c4);
				DOT4i3(M5.s3, f0, V12, 6 + c4);

				DOT4i3(M6.s2, f0, V13, 0 + c4);
				DOT4i3(M6.s3, f0, V13, 2 + c4);



				//flatA += 8;
				const UNIT_TYPE_4 f1 = (UNIT_TYPE_4)(
					*(__global UNIT_TYPE *)(&U[flatA + 8 + 0 * FILTER_OFM_NUM*KCOLSW*KROWSW]),
					*(__global UNIT_TYPE *)(&U[flatA + 8 + 1 * FILTER_OFM_NUM*KCOLSW*KROWSW]),
					*(__global UNIT_TYPE *)(&U[flatA + 8 + 2 * FILTER_OFM_NUM*KCOLSW*KROWSW]),
					*(__global UNIT_TYPE *)(&U[flatA + 8 + 3 * FILTER_OFM_NUM*KCOLSW*KROWSW]));


				// f1[c4] x v[1 .. 15]
				DOT4i0(M0.s0, f1, V00, 2 + c4);
				DOT4i0(M0.s1, f1, V00, 4 + c4);
				DOT4i0(M1.s0, f1, V00, 6 + c4);
				DOT4i0(M1.s1, f1, V01, 0 + c4);

				DOT4i0(M2.s0, f1, V01, 2 + c4);
				DOT4i0(M2.s1, f1, V01, 4 + c4);
				DOT4i0(M3.s0, f1, V01, 6 + c4);
				DOT4i0(M3.s1, f1, V02, 0 + c4);

				DOT4i0(M4.s0, f1, V02, 2 + c4);
				DOT4i0(M4.s1, f1, V02, 4 + c4);
				DOT4i0(M5.s0, f1, V02, 6 + c4);
				DOT4i0(M5.s1, f1, V03, 0 + c4);

				DOT4i0(M6.s0, f1, V03, 2 + c4);
				DOT4i0(M6.s1, f1, V03, 4 + c4);


				// f1 x v[1 .. 15]
				DOT4i0(M0.s2, f1, V10, 2 + c4);
				DOT4i0(M0.s3, f1, V10, 4 + c4);
				DOT4i0(M1.s2, f1, V10, 6 + c4);
				DOT4i0(M1.s3, f1, V11, 0 + c4);

				DOT4i0(M2.s2, f1, V11, 2 + c4);
				DOT4i0(M2.s3, f1, V11, 4 + c4);
				DOT4i0(M3.s2, f1, V11, 6 + c4);
				DOT4i0(M3.s3, f1, V12, 0 + c4);

				DOT4i0(M4.s2, f1, V12, 2 + c4);
				DOT4i0(M4.s3, f1, V12, 4 + c4);
				DOT4i0(M5.s2, f1, V12, 6 + c4);
				DOT4i0(M5.s3, f1, V13, 0 + c4);

				DOT4i0(M6.s2, f1, V13, 2 + c4);
				DOT4i0(M6.s3, f1, V13, 4 + c4);


				// f1[c4] x v[1 .. 15]
				DOT4i1(M0.s0, f1, V00, 2 + c4);
				DOT4i1(M0.s1, f1, V00, 4 + c4);
				DOT4i1(M1.s0, f1, V00, 6 + c4);
				DOT4i1(M1.s1, f1, V01, 0 + c4);

				DOT4i1(M2.s0, f1, V01, 2 + c4);
				DOT4i1(M2.s1, f1, V01, 4 + c4);
				DOT4i1(M3.s0, f1, V01, 6 + c4);
				DOT4i1(M3.s1, f1, V02, 0 + c4);

				DOT4i1(M4.s0, f1, V02, 2 + c4);
				DOT4i1(M4.s1, f1, V02, 4 + c4);
				DOT4i1(M5.s0, f1, V02, 6 + c4);
				DOT4i1(M5.s1, f1, V03, 0 + c4);

				DOT4i1(M6.s0, f1, V03, 2 + c4);
				DOT4i1(M6.s1, f1, V03, 4 + c4);


				// f1 x v[1 .. 15]
				DOT4i1(M0.s2, f1, V10, 2 + c4);
				DOT4i1(M0.s3, f1, V10, 4 + c4);
				DOT4i1(M1.s2, f1, V10, 6 + c4);
				DOT4i1(M1.s3, f1, V11, 0 + c4);

				DOT4i1(M2.s2, f1, V11, 2 + c4);
				DOT4i1(M2.s3, f1, V11, 4 + c4);
				DOT4i1(M3.s2, f1, V11, 6 + c4);
				DOT4i1(M3.s3, f1, V12, 0 + c4);

				DOT4i1(M4.s2, f1, V12, 2 + c4);
				DOT4i1(M4.s3, f1, V12, 4 + c4);
				DOT4i1(M5.s2, f1, V12, 6 + c4);
				DOT4i1(M5.s3, f1, V13, 0 + c4);

				DOT4i1(M6.s2, f1, V13, 2 + c4);
				DOT4i1(M6.s3, f1, V13, 4 + c4);

				// f1[c4] x v[1 .. 15]
				DOT4i2(M0.s0, f1, V00, 2 + c4);
				DOT4i2(M0.s1, f1, V00, 4 + c4);
				DOT4i2(M1.s0, f1, V00, 6 + c4);
				DOT4i2(M1.s1, f1, V01, 0 + c4);

				DOT4i2(M2.s0, f1, V01, 2 + c4);
				DOT4i2(M2.s1, f1, V01, 4 + c4);
				DOT4i2(M3.s0, f1, V01, 6 + c4);
				DOT4i2(M3.s1, f1, V02, 0 + c4);

				DOT4i2(M4.s0, f1, V02, 2 + c4);
				DOT4i2(M4.s1, f1, V02, 4 + c4);
				DOT4i2(M5.s0, f1, V02, 6 + c4);
				DOT4i2(M5.s1, f1, V03, 0 + c4);

				DOT4i2(M6.s0, f1, V03, 2 + c4);
				DOT4i2(M6.s1, f1, V03, 4 + c4);

				// f1 x v[1 .. 15]
				DOT4i2(M0.s2, f1, V10, 2 + c4);
				DOT4i2(M0.s3, f1, V10, 4 + c4);
				DOT4i2(M1.s2, f1, V10, 6 + c4);
				DOT4i2(M1.s3, f1, V11, 0 + c4);

				DOT4i2(M2.s2, f1, V11, 2 + c4);
				DOT4i2(M2.s3, f1, V11, 4 + c4);
				DOT4i2(M3.s2, f1, V11, 6 + c4);
				DOT4i2(M3.s3, f1, V12, 0 + c4);

				DOT4i2(M4.s2, f1, V12, 2 + c4);
				DOT4i2(M4.s3, f1, V12, 4 + c4);
				DOT4i2(M5.s2, f1, V12, 6 + c4);
				DOT4i2(M5.s3, f1, V13, 0 + c4);

				DOT4i2(M6.s2, f1, V13, 2 + c4);
				DOT4i2(M6.s3, f1, V13, 4 + c4);

				// f1[c4] x v[1 .. 15]
				DOT4i3(M0.s0, f1, V00, 2 + c4);
				DOT4i3(M0.s1, f1, V00, 4 + c4);
				DOT4i3(M1.s0, f1, V00, 6 + c4);
				DOT4i3(M1.s1, f1, V01, 0 + c4);

				DOT4i3(M2.s0, f1, V01, 2 + c4);
				DOT4i3(M2.s1, f1, V01, 4 + c4);
				DOT4i3(M3.s0, f1, V01, 6 + c4);
				DOT4i3(M3.s1, f1, V02, 0 + c4);

				DOT4i3(M4.s0, f1, V02, 2 + c4);
				DOT4i3(M4.s1, f1, V02, 4 + c4);
				DOT4i3(M5.s0, f1, V02, 6 + c4);
				DOT4i3(M5.s1, f1, V03, 0 + c4);

				DOT4i3(M6.s0, f1, V03, 2 + c4);
				DOT4i3(M6.s1, f1, V03, 4 + c4);


				// f1 x v[1 .. 15]
				DOT4i3(M0.s2, f1, V10, 2 + c4);
				DOT4i3(M0.s3, f1, V10, 4 + c4);
				DOT4i3(M1.s2, f1, V10, 6 + c4);
				DOT4i3(M1.s3, f1, V11, 0 + c4);

				DOT4i3(M2.s2, f1, V11, 2 + c4);
				DOT4i3(M2.s3, f1, V11, 4 + c4);
				DOT4i3(M3.s2, f1, V11, 6 + c4);
				DOT4i3(M3.s3, f1, V12, 0 + c4);

				DOT4i3(M4.s2, f1, V12, 2 + c4);
				DOT4i3(M4.s3, f1, V12, 4 + c4);
				DOT4i3(M5.s2, f1, V12, 6 + c4);
				DOT4i3(M5.s3, f1, V13, 0 + c4);

				DOT4i3(M6.s2, f1, V13, 2 + c4);
				DOT4i3(M6.s3, f1, V13, 4 + c4);


				//flatA += 8;
				const UNIT_TYPE_4 f2 = (UNIT_TYPE_4)(

			#else
				const __global UNIT_TYPE *I_load_0 = &I_load[0*W]; //y0_in ? &I_load[0*W] : zeros4;
				const __global UNIT_TYPE *I_load_1 = &I_load[1*W]; //y1_in ? &I_load[1*W] : zeros4;
				const __global UNIT_TYPE *I_load_2 = &I_load[2*W]; //y2_in ? &I_load[2*W] : zeros4;
				const __global UNIT_TYPE *I_load_3 = &I_load[3*W]; //y3_in ? &I_load[3*W] : zeros4;
				const __global UNIT_TYPE *I_load_4 = &I_load[4*W]; //y4_in ? &I_load[4*W] : zeros4;
				const __global UNIT_TYPE *I_load_5 = &I_load[5*W]; //y5_in ? &I_load[5*W] : zeros4;
			#endif

#if INPUT0_LAYOUT_BYXF

            UNIT_TYPE_4 I0 =  I_load_0;
            UNIT_TYPE_4 I1 =  I_load_1;
            UNIT_TYPE_4 I2 =  I_load_2;
            UNIT_TYPE_4 I3 =  I_load_3;
            UNIT_TYPE_4 I4 =  I_load_4;
            UNIT_TYPE_4 I5 =  I_load_5;
#else
            UNIT_TYPE_4 I0 = y0_in ? (UNIT_TYPE_4)(I_load_0[c*HW*4], I_load_0[c*HW*4+HW], I_load_0[c*HW*4+HW*2], I_load_0[c*HW*4+HW*3]):(UNIT_TYPE_4)(UNIT_VAL_ZERO,UNIT_VAL_ZERO,UNIT_VAL_ZERO,UNIT_VAL_ZERO);
            UNIT_TYPE_4 I1 = y1_in ? (UNIT_TYPE_4)(I_load_1[c*HW*4], I_load_1[c*HW*4+HW], I_load_1[c*HW*4+HW*2], I_load_1[c*HW*4+HW*3]):(UNIT_TYPE_4)(UNIT_VAL_ZERO,UNIT_VAL_ZERO,UNIT_VAL_ZERO,UNIT_VAL_ZERO);
            UNIT_TYPE_4 I2 = y2_in ? (UNIT_TYPE_4)(I_load_2[c*HW*4], I_load_2[c*HW*4+HW], I_load_2[c*HW*4+HW*2], I_load_2[c*HW*4+HW*3]):(UNIT_TYPE_4)(UNIT_VAL_ZERO,UNIT_VAL_ZERO,UNIT_VAL_ZERO,UNIT_VAL_ZERO);
            UNIT_TYPE_4 I3 = y3_in ? (UNIT_TYPE_4)(I_load_3[c*HW*4], I_load_3[c*HW*4+HW], I_load_3[c*HW*4+HW*2], I_load_3[c*HW*4+HW*3]):(UNIT_TYPE_4)(UNIT_VAL_ZERO,UNIT_VAL_ZERO,UNIT_VAL_ZERO,UNIT_VAL_ZERO);
            UNIT_TYPE_4 I4 = y4_in ? (UNIT_TYPE_4)(I_load_4[c*HW*4], I_load_4[c*HW*4+HW], I_load_4[c*HW*4+HW*2], I_load_4[c*HW*4+HW*3]):(UNIT_TYPE_4)(UNIT_VAL_ZERO,UNIT_VAL_ZERO,UNIT_VAL_ZERO,UNIT_VAL_ZERO);
            UNIT_TYPE_4 I5 = y5_in ? (UNIT_TYPE_4)(I_load_5[c*HW*4], I_load_5[c*HW*4+HW], I_load_5[c*HW*4+HW*2], I_load_5[c*HW*4+HW*3]):(UNIT_TYPE_4)(UNIT_VAL_ZERO,UNIT_VAL_ZERO,UNIT_VAL_ZERO,UNIT_VAL_ZERO);
#endif

            // Compute Winograd f2x3 data transform and store components in SLM.
            V_write[0*64] = I0 - I2;
            V_write[1*64] = I1 + I2;
            V_write[2*64] = -I1 + I2;
            V_write[3*64] = I1 - I3;

            V_write[0*64 + 32] = I2 - I4;
            V_write[1*64 + 32] = I3 + I4;
            V_write[2*64 + 32] = -I3 + I4;
            V_write[3*64 + 32] = I3 - I5;
        }

        barrier(CLK_LOCAL_MEM_FENCE);

        __local const UNIT_TYPE_4 *V_read_c8 = V_read;

        __attribute__((opencl_unroll_hint(1)))
        for (uint c8 = 0; c8 < 2; ++c8) {

            // 2*14 * 3 * 8 = 672 MADs

			// Fetch 8 channels of Winograd input components, spread across subgroup.
			// row 0
			const UNIT_TYPE_4 V00 = V_read_c8[0 * 8 + 32 * 0 + c8 * 256];
			const UNIT_TYPE_4 V01 = V_read_c8[1 * 8 + 32 * 0 + c8 * 256];
			const UNIT_TYPE_4 V02 = V_read_c8[2 * 8 + 32 * 0 + c8 * 256];
			const UNIT_TYPE_4 V03 = V_read_c8[3 * 8 + 32 * 0 + c8 * 256];

			// row 1
			const UNIT_TYPE_4 V10 = V_read_c8[0 * 8 + 32 * 1 + c8 * 256];
			const UNIT_TYPE_4 V11 = V_read_c8[1 * 8 + 32 * 1 + c8 * 256];
			const UNIT_TYPE_4 V12 = V_read_c8[2 * 8 + 32 * 1 + c8 * 256];
			const UNIT_TYPE_4 V13 = V_read_c8[3 * 8 + 32 * 1 + c8 * 256];

            __attribute__((opencl_unroll_hint(2)))
            for (uint c4 = 0; c4 < 2; ++c4) {
                // 2*14 * 3 * 4 = 336 MADs

                // Fetch 4 channels of Winograd filter components.
                //uint2 coordU = coordU0;
				//uint coordU_x = coordU0.x + get_sub_group_local_id()%8;
				const uint flatA = coordU0.y*FILTER_OFM_NUM*KCOLSW*KROWSW + coordU0.x + get_sub_group_local_id()%8;
                const UNIT_TYPE_4 f0 = (UNIT_TYPE_4)(
				*(__global UNIT_TYPE *)(&U[flatA+0*FILTER_OFM_NUM*KCOLSW*KROWSW]), // as_UNIT_TYPE_4(intel_sub_group_block_read4(U, coordU));
				*(__global UNIT_TYPE *)(&U[flatA+1*FILTER_OFM_NUM*KCOLSW*KROWSW]), // as_UNIT_TYPE_4(intel_sub_group_block_read4(U, coordU));
				*(__global UNIT_TYPE *)(&U[flatA+2*FILTER_OFM_NUM*KCOLSW*KROWSW]), // as_UNIT_TYPE_4(intel_sub_group_block_read4(U, coordU));
				*(__global UNIT_TYPE *)(&U[flatA+3*FILTER_OFM_NUM*KCOLSW*KROWSW])); // as_UNIT_TYPE_4(intel_sub_group_block_read4(U, coordU));

				// row 0

				// f0 x v[0 .. 14]
				DOT4i0(M0.s0, f0, V00, 0 + c4);
				DOT4i0(M0.s1, f0, V00, 2 + c4);
				DOT4i0(M1.s0, f0, V00, 4 + c4);
				DOT4i0(M1.s1, f0, V00, 6 + c4);

				DOT4i0(M2.s0, f0, V01, 0 + c4);
				DOT4i0(M2.s1, f0, V01, 2 + c4);
				DOT4i0(M3.s0, f0, V01, 4 + c4);
				DOT4i0(M3.s1, f0, V01, 6 + c4);

				DOT4i0(M4.s0, f0, V02, 0 + c4);
				DOT4i0(M4.s1, f0, V02, 2 + c4);
				DOT4i0(M5.s0, f0, V02, 4 + c4);
				DOT4i0(M5.s1, f0, V02, 6 + c4);

				DOT4i0(M6.s0, f0, V03, 0 + c4);
				DOT4i0(M6.s1, f0, V03, 2 + c4);

				// f0 x v[0 .. 14]
				DOT4i0(M0.s2, f0, V10, 0 + c4);
				DOT4i0(M0.s3, f0, V10, 2 + c4);
				DOT4i0(M1.s2, f0, V10, 4 + c4);
				DOT4i0(M1.s3, f0, V10, 6 + c4);

				DOT4i0(M2.s2, f0, V11, 0 + c4);
				DOT4i0(M2.s3, f0, V11, 2 + c4);
				DOT4i0(M3.s2, f0, V11, 4 + c4);
				DOT4i0(M3.s3, f0, V11, 6 + c4);

				DOT4i0(M4.s2, f0, V12, 0 + c4);
				DOT4i0(M4.s3, f0, V12, 2 + c4);
				DOT4i0(M5.s2, f0, V12, 4 + c4);
				DOT4i0(M5.s3, f0, V12, 6 + c4);

				DOT4i0(M6.s2, f0, V13, 0 + c4);
				DOT4i0(M6.s3, f0, V13, 2 + c4);


				// row 1
				DOT4i1(M0.s0, f0, V00, 0 + c4);
				DOT4i1(M0.s1, f0, V00, 2 + c4);
				DOT4i1(M1.s0, f0, V00, 4 + c4);
				DOT4i1(M1.s1, f0, V00, 6 + c4);

				DOT4i1(M2.s0, f0, V01, 0 + c4);
				DOT4i1(M2.s1, f0, V01, 2 + c4);
				DOT4i1(M3.s0, f0, V01, 4 + c4);
				DOT4i1(M3.s1, f0, V01, 6 + c4);

				DOT4i1(M4.s0, f0, V02, 0 + c4);
				DOT4i1(M4.s1, f0, V02, 2 + c4);
				DOT4i1(M5.s0, f0, V02, 4 + c4);
				DOT4i1(M5.s1, f0, V02, 6 + c4);

				DOT4i1(M6.s0, f0, V03, 0 + c4);
				DOT4i1(M6.s1, f0, V03, 2 + c4);

				// f0 x v[0 .. 14]
				DOT4i1(M0.s2, f0, V10, 0 + c4);
				DOT4i1(M0.s3, f0, V10, 2 + c4);
				DOT4i1(M1.s2, f0, V10, 4 + c4);
				DOT4i1(M1.s3, f0, V10, 6 + c4);

				DOT4i1(M2.s2, f0, V11, 0 + c4);
				DOT4i1(M2.s3, f0, V11, 2 + c4);
				DOT4i1(M3.s2, f0, V11, 4 + c4);
				DOT4i1(M3.s3, f0, V11, 6 + c4);

				DOT4i1(M4.s2, f0, V12, 0 + c4);
				DOT4i1(M4.s3, f0, V12, 2 + c4);
				DOT4i1(M5.s2, f0, V12, 4 + c4);
				DOT4i1(M5.s3, f0, V12, 6 + c4);

				DOT4i1(M6.s2, f0, V13, 0 + c4);
				DOT4i1(M6.s3, f0, V13, 2 + c4);

				// f0 x v[0 .. 14]
				DOT4i2(M0.s0, f0, V00, 0 + c4);
				DOT4i2(M0.s1, f0, V00, 2 + c4);
				DOT4i2(M1.s0, f0, V00, 4 + c4);
				DOT4i2(M1.s1, f0, V00, 6 + c4);

				DOT4i2(M2.s0, f0, V01, 0 + c4);
				DOT4i2(M2.s1, f0, V01, 2 + c4);
				DOT4i2(M3.s0, f0, V01, 4 + c4);
				DOT4i2(M3.s1, f0, V01, 6 + c4);

				DOT4i2(M4.s0, f0, V02, 0 + c4);
				DOT4i2(M4.s1, f0, V02, 2 + c4);
				DOT4i2(M5.s0, f0, V02, 4 + c4);
				DOT4i2(M5.s1, f0, V02, 6 + c4);

				DOT4i2(M6.s0, f0, V03, 0 + c4);
				DOT4i2(M6.s1, f0, V03, 2 + c4);

				// f0 x v[0 .. 14]
				DOT4i2(M0.s2, f0, V10, 0 + c4);
				DOT4i2(M0.s3, f0, V10, 2 + c4);
				DOT4i2(M1.s2, f0, V10, 4 + c4);
				DOT4i2(M1.s3, f0, V10, 6 + c4);

				DOT4i2(M2.s2, f0, V11, 0 + c4);
				DOT4i2(M2.s3, f0, V11, 2 + c4);
				DOT4i2(M3.s2, f0, V11, 4 + c4);
				DOT4i2(M3.s3, f0, V11, 6 + c4);

				DOT4i2(M4.s2, f0, V12, 0 + c4);
				DOT4i2(M4.s3, f0, V12, 2 + c4);
				DOT4i2(M5.s2, f0, V12, 4 + c4);
				DOT4i2(M5.s3, f0, V12, 6 + c4);

				DOT4i2(M6.s2, f0, V13, 0 + c4);
				DOT4i2(M6.s3, f0, V13, 2 + c4);


				// f0 x v[0 .. 14]
				DOT4i3(M0.s0, f0, V00, 0 + c4);
				DOT4i3(M0.s1, f0, V00, 2 + c4);
				DOT4i3(M1.s0, f0, V00, 4 + c4);
				DOT4i3(M1.s1, f0, V00, 6 + c4);

				DOT4i3(M2.s0, f0, V01, 0 + c4);
// Copyright (c) 2016-2018 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// --------------------------------------------------------------------------------------------------------------------------------
// L3_SIMD_4x8
// Input matrices dimensions: M x K x N
// Output matrix dimensions: M x N
// --------------------------------------------------------------------------------------------------------------------------------

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))



#define DOT4i0( _result, _A, _B, i)					\
    {	\
	_result = mad(_A.s0, intel_sub_group_shuffle( _B.s0, (i)), _result);	\
    }

#define DOT4i1( _result, _A, _B, i)					\
    {	\
	_result = mad(_A.s1, intel_sub_group_shuffle( _B.s1, (i)), _result);	\
    }

#define DOT4i2( _result, _A, _B, i)					\
    {	\
	_result = mad(_A.s2, intel_sub_group_shuffle( _B.s2, (i)), _result);	\
    }

#define DOT4i3( _result, _A, _B, i)					\
    {	\
	_result = mad(_A.s3, intel_sub_group_shuffle( _B.s3, (i)), _result);	\
    }

#define UNIT_TYPE_2 CAT(UNIT_TYPE, 2)
#define UNIT_TYPE_4 CAT(UNIT_TYPE, 4)
#define UNIT_TYPE_8 CAT(UNIT_TYPE, 8)

__attribute__((reqd_work_group_size(8, 2, 8)))
__attribute__((intel_reqd_sub_group_size(16)))
KERNEL(convolution_gpu_winograd_2x3_s1_fused)
(
    __global INPUT0_TYPE* I,
    __global OUTPUT_TYPE* O,
    __global FILTER_TYPE* U,
#if BIAS_TERM
    const __global UNIT_TYPE * bias,
#endif
    uint split_idx)
{
    //               (DxC2)x(UxWx8c)
	const uint slmSize = (4*2)*(2*16*2);
    __local UNIT_TYPE_4 V[slmSize*2]; // 8 KB

    /* These constants are defined as precompiler macros during compilation. */
     const uint WC = W*INPUT0_FEATURE_NUM;
	 const uint HW = H*W;
     const uint HWC = H*WC;
     const uint WC4 = WC >> 2;
     const uint K16 = FILTER_OFM_NUM >> 4;
     const uint C4 = INPUT0_FEATURE_NUM >> 2;
     const uint K2 = FILTER_OFM_NUM >> 1;
     const uint QK2 = Q*K2;
     const uint QK = Q*FILTER_OFM_NUM;
     const uint PQK = P*QK;

	const uint upperHalf = get_local_id(1);
    uint gx = get_group_id(0);
    uint gy = get_group_id(1)*2+(get_group_id(2)%2);
    uint gz = (get_group_id(2)/2)*2+ upperHalf;
    uint gk = gz % K16;
    uint gn = gz / K16;

	#define lx get_local_id(0)
	#define lz get_local_id(2)

    uint lxd4 = lx >> 2;
    uint lxm4 = lx % 4;

    uint lzd4 = lz >> 2;
    uint lzm4 = lz % 4;

    // Load 16x6 input tile, with 2 pixel overlap in X and y.
    // Compute 14x4 output tile.
    // Load 8 filters / thread.
    // 8 threads total: 2 filters x 4 winograd components. 16 filters total.
    int x = gx*14 + lz*2 + lxd4 - px;
    int y = gy*4 - py;
    uint k = gk*16 + lzd4*8;

    // #                                  x->
    // #     M0    M1    M2    M3    M4    M5    M6
    // #   +------------------------------------------
    // # u | 0 1 | 0 1 | 0 1 | 0 1 | 0 1 | 0 1 | 0 1 |
    // # | | 2 3 | 2 3 | 2 3 | 2 3 | 2 3 | 2 3 | 2 3 |
    // # v
    // #

    UNIT_TYPE_4 M0 = (UNIT_TYPE_4)(UNIT_VAL_ZERO, UNIT_VAL_ZERO, UNIT_VAL_ZERO, UNIT_VAL_ZERO);
    UNIT_TYPE_4 M1 = (UNIT_TYPE_4)(UNIT_VAL_ZERO, UNIT_VAL_ZERO, UNIT_VAL_ZERO, UNIT_VAL_ZERO);
    UNIT_TYPE_4 M2 = (UNIT_TYPE_4)(UNIT_VAL_ZERO, UNIT_VAL_ZERO, UNIT_VAL_ZERO, UNIT_VAL_ZERO);
    UNIT_TYPE_4 M3 = (UNIT_TYPE_4)(UNIT_VAL_ZERO, UNIT_VAL_ZERO, UNIT_VAL_ZERO, UNIT_VAL_ZERO);
    UNIT_TYPE_4 M4 = (UNIT_TYPE_4)(UNIT_VAL_ZERO, UNIT_VAL_ZERO, UNIT_VAL_ZERO, UNIT_VAL_ZERO);
    UNIT_TYPE_4 M5 = (UNIT_TYPE_4)(UNIT_VAL_ZERO, UNIT_VAL_ZERO, UNIT_VAL_ZERO, UNIT_VAL_ZERO);
    UNIT_TYPE_4 M6 = (UNIT_TYPE_4)(UNIT_VAL_ZERO, UNIT_VAL_ZERO, UNIT_VAL_ZERO, UNIT_VAL_ZERO);

#if INPUT0_LAYOUT_BYXF
    uint adr = gn*HWC + ((uint)y)*WC + ((uint)x)*INPUT0_FEATURE_NUM;
    const __global UNIT_TYPE_4 *I_load = ((const __global UNIT_TYPE_4*)&(I[adr]));
#else
	const __global UNIT_TYPE *I_load = (const __global UNIT_TYPE*)&I[gn*HWC + ((uint)y)*W + ((uint)x)];
#endif


    uint lxm2 = lx % 2;
    uint lxb1 = (lx & 2)/2;

    uint2 coordU0;
    coordU0.x = (lzm4*24 + k*12);
    coordU0.y = 0;

	uint slmPipeStage = 0;

    __attribute__((opencl_unroll_hint(1)))
    for (uint c = lxm4; c < C4_up16; c += 4) {

		__local UNIT_TYPE_4 *V_write = &V[lxb1 * 256 + lz * 4 + lxd4 * 2 + lxm2 + slmSize*slmPipeStage];
		__local const UNIT_TYPE_4 *V_read = &V[lzm4 * 64 + lx + slmSize*slmPipeStage];
		slmPipeStage = (slmPipeStage+1)%2;

        // 2*14 * 3 * 16 = 1344 MADs

        // Transform HxW x C        -> DxUxW x C
        //           6x16x16 inputs -> 4x2x16x16 winograd components.
		if (!upperHalf)
        {
			bool x_in =  0 <= x && x < W;
			bool y0_in = 0 <= (y + 0) && (y + 0) < H && x_in;
			bool y1_in = 0 <= (y + 1) && (y + 1) < H && x_in;
			bool y2_in = 0 <= (y + 2) && (y + 2) < H && x_in;
			bool y3_in = 0 <= (y + 3) && (y + 3) < H && x_in;
			bool y4_in = 0 <= (y + 4) && (y + 4) < H && x_in;
			bool y5_in = 0 <= (y + 5) && (y + 5) < H && x_in;

			#if INPUT0_LAYOUT_BYXF

/*				const  UNIT_TYPE_4 I_load_0 = y0_in ? I_load[0*WC4+c] : (UNIT_TYPE_4)(UNIT_VAL_ZERO);
				const  UNIT_TYPE_4 I_load_1 = y1_in ? I_load[1*WC4+c] : (UNIT_TYPE_4)(UNIT_VAL_ZERO);
				const  UNIT_TYPE_4 I_load_2 = y2_in ? I_load[2*WC4+c] : (UNIT_TYPE_4)(UNIT_VAL_ZERO);
				const  UNIT_TYPE_4 I_load_3 = y3_in ? I_load[3*WC4+c] : (UNIT_TYPE_4)(UNIT_VAL_ZERO);
				const  UNIT_TYPE_4 I_load_4 = y4_in ? I_load[4*WC4+c] : (UNIT_TYPE_4)(UNIT_VAL_ZERO);
				const  UNIT_TYPE_4 I_load_5 = y5_in ? I_load[5*WC4+c] : (UNIT_TYPE_4)(UNIT_VAL_ZERO);*/

				const  UNIT_TYPE_4 I_load_0 = y0_in ? *((const __global UNIT_TYPE_4*)(I+adr+(0*WC4+c)*4)) : (UNIT_TYPE_4)(UNIT_VAL_ZERO);
				const  UNIT_TYPE_4 I_load_1 = y1_in ? *((const __global UNIT_TYPE_4*)(I+adr+(1*WC4+c)*4)) : (UNIT_TYPE_4)(UNIT_VAL_ZERO);
				const  UNIT_TYPE_4 I_load_2 = y2_in ? *((const __global UNIT_TYPE_4*)(I+adr+(2*WC4+c)*4)) : (UNIT_TYPE_4)(UNIT_VAL_ZERO);
				const  UNIT_TYPE_4 I_load_3 = y3_in ? *((const __global UNIT_TYPE_4*)(I+adr+(3*WC4+c)*4)) : (UNIT_TYPE_4)(UNIT_VAL_ZERO);
				const  UNIT_TYPE_4 I_load_4 = y4_in ? *((const __global UNIT_TYPE_4*)(I+adr+(4*WC4+c)*4)) : (UNIT_TYPE_4)(UNIT_VAL_ZERO);
				const  UNIT_TYPE_4 I_load_5 = y5_in ? *((const __global UNIT_TYPE_4*)(I+adr+(5*WC4+c)*4)) : (UNIT_TYPE_4)(UNIT_VAL_ZERO);

						O_write_0[1] = ACTIVATION(S0.s1 * scl, NL_M, NL_N);
#endif
#endif
					}
				}

				// row 1
				if (p + 1 < P - OUTPUT_PAD_AFTER_SIZE_Y) {
					if (q0_in) {
#if OUTPUT_LAYOUT_BYXF
#if BIAS_TERM
						O_write[1 * QK + 0 * K] = ACTIVATION(S1.s0 * scl + bias[bias_index0], NL_M, NL_N);
#else
						O_write[1 * QK + 0 * K] = ACTIVATION(S1.s0 * scl, NL_M, NL_N);
#endif
#else
#if BIAS_TERM
						O_write_1[0] = ACTIVATION(S1.s0 * scl + bias[bias_index0], NL_M, NL_N);
#else
						O_write_1[0] = ACTIVATION(S1.s0 * scl, NL_M, NL_N);
#endif
#endif
					}
					if (q1_in) {
#if OUTPUT_LAYOUT_BYXF
#if BIAS_TERM
						O_write[1 * QK + 1 * K] = ACTIVATION(S1.s1 * scl + bias[bias_index0], NL_M, NL_N);
#else
						O_write[1 * QK + 1 * K] = ACTIVATION(S1.s1 * scl, NL_M, NL_N);
#endif
#else
#if BIAS_TERM
						O_write_1[1] = ACTIVATION(S1.s1 * scl + bias[bias_index0], NL_M, NL_N);
#else
						O_write_1[1] = ACTIVATION(S1.s1 * scl, NL_M, NL_N);
#endif
#endif
					}
				}

				// row 2
				if (p + 2 < P - OUTPUT_PAD_AFTER_SIZE_Y) {
					if (q0_in) {
#if OUTPUT_LAYOUT_BYXF
#if BIAS_TERM
						O_write[2 * QK + 0 * K] = ACTIVATION(S2.s0 * scl + bias[bias_index0], NL_M, NL_N);
#else
						O_write[2 * QK + 0 * K] = ACTIVATION(S2.s0 * scl, NL_M, NL_N);
#endif
#else
#if BIAS_TERM
						O_write_2[0] = ACTIVATION(S2.s0 * scl + bias[bias_index0], NL_M, NL_N);
#else
						O_write_2[0] = ACTIVATION(S2.s0 * scl, NL_M, NL_N);
#endif
#endif
					}
					if (q1_in) {
#if OUTPUT_LAYOUT_BYXF
#if BIAS_TERM
						O_write[2 * QK + 1 * K] = ACTIVATION(S2.s1 * scl + bias[bias_index0], NL_M, NL_N);
#else
						O_write[2 * QK + 1 * K] = ACTIVATION(S2.s1 * scl, NL_M, NL_N);
#endif
#else
#if BIAS_TERM
						O_write_2[1] = ACTIVATION(S2.s1 * scl + bias[bias_index0], NL_M, NL_N);
#else
						O_write_2[1] = ACTIVATION(S2.s1 * scl, NL_M, NL_N);
#endif
#endif
					}
				}

				// row 3
				if (p + 3 < P - OUTPUT_PAD_AFTER_SIZE_Y) {
					if (q0_in) {
#if OUTPUT_LAYOUT_BYXF
#if BIAS_TERM
						O_write[3 * QK + 0 * K] = ACTIVATION(S3.s0 * scl + bias[bias_index0], NL_M, NL_N);
#else
						O_write[3 * QK + 0 * K] = ACTIVATION(S3.s0 * scl, NL_M, NL_N);
#endif
#else
#if BIAS_TERM
						O_write_3[0] = ACTIVATION(S3.s0 * scl + bias[bias_index0], NL_M, NL_N);
#else
						O_write_3[0] = ACTIVATION(S3.s0 * scl, NL_M, NL_N);
#endif
#endif
					}
					if (q1_in) {
#if OUTPUT_LAYOUT_BYXF
#if BIAS_TERM
						O_write[3 * QK + 1 * K] = ACTIVATION(S3.s1 * scl + bias[bias_index0], NL_M, NL_N);
#else
						O_write[3 * QK + 1 * K] = ACTIVATION(S3.s1 * scl, NL_M, NL_N);
#endif
#else
#if BIAS_TERM
						O_write_3[1] = ACTIVATION(S3.s1 * scl + bias[bias_index0], NL_M, NL_N);
#else
						O_write_3[1] = ACTIVATION(S3.s1 * scl, NL_M, NL_N);
#endif
#endif
					}
				}
			}

			// row 4
			if (p + 4 < P - OUTPUT_PAD_AFTER_SIZE_Y) {
				if (q0_in) {
#if OUTPUT_LAYOUT_BYXF
#if BIAS_TERM
					O_write[4 * QK + 0 * K] = ACTIVATION(S4.s0 * scl + bias[bias_index0], NL_M, NL_N);
#else
					O_write[4 * QK + 0 * K] = ACTIVATION(S4.s0 * scl, NL_M, NL_N);
#endif
#else
#if BIAS_TERM
					O_write_4[0] = ACTIVATION(S4.s0 * scl + bias[bias_index0], NL_M, NL_N);
#else
					O_write_4[0] = ACTIVATION(S4.s0 * scl, NL_M, NL_N);
#endif
#endif
				}
				if (q1_in) {
#if OUTPUT_LAYOUT_BYXF
#if BIAS_TERM
					O_write[4 * QK + 1 * K] = ACTIVATION(S4.s1 * scl + bias[bias_index0], NL_M, NL_N);
#else
					O_write[4 * QK + 1 * K] = ACTIVATION(S4.s1 * scl, NL_M, NL_N);
#endif
#else
#if BIAS_TERM
					O_write_4[1] = ACTIVATION(S4.s1 * scl + bias[bias_index0], NL_M, NL_N);
#else
					O_write_4[1] = ACTIVATION(S4.s1 * scl, NL_M, NL_N);
#endif
#endif
				}
			}

			// row 5
			if (p + 5 < P - OUTPUT_PAD_AFTER_SIZE_Y) {
				if (q0_in) {
#if OUTPUT_LAYOUT_BYXF
#if BIAS_TERM
					O_write[5 * QK + 0 * K] = ACTIVATION(S5.s0 * scl + bias[bias_index0], NL_M, NL_N);
#else
					O_write[5 * QK + 0 * K] = ACTIVATION(S5.s0 * scl, NL_M, NL_N);
#endif
#else
#if BIAS_TERM
					O_write_5[0] = ACTIVATION(S5.s0 * scl + bias[bias_index0], NL_M, NL_N);
#else
					O_write_5[0] = ACTIVATION(S5.s0 * scl, NL_M, NL_N);
#endif
#endif
				}
				if (q1_in) {
#if OUTPUT_LAYOUT_BYXF
#if BIAS_TERM
					O_write[5 * QK + 1 * K] = ACTIVATION(S5.s1 * scl + bias[bias_index0], NL_M, NL_N);
#else
					O_write[5 * QK + 1 * K] = ACTIVATION(S5.s1 * scl, NL_M, NL_N);
#endif
#else
#if BIAS_TERM
					O_write_5[1] = ACTIVATION(S5.s1 * scl + bias[bias_index0], NL_M, NL_N);
#else
					O_write_5[1] = ACTIVATION(S5.s1 * scl, NL_M, NL_N);
#endif
#endif
				}
			}
		}

}
#undef UNIT_TYPE_2
#undef UNIT_TYPE_4
#undef UNIT_TYPE_8

							// f2[c8] x v[2 .. 16]
							DOT8i_4(M0.s0, f02, V0, 4 + c8);
							DOT8i_4(M0.s1, f02, V0, 6 + c8);
							DOT8i_4(M1.s0, f02, V0, 8 + c8);
							DOT8i_4(M1.s1, f02, V0, 10 + c8);

							DOT8i_4(M2.s0, f02, V0, 12 + c8);
							DOT8i_4(M2.s1, f02, V0, 14 + c8);
							DOT8i_4(M3.s0, f02, V8, 0 + c8);
							DOT8i_4(M3.s1, f02, V8, 2 + c8);

							DOT8i_4(M4.s0, f02, V8, 4 + c8);
							DOT8i_4(M4.s1, f02, V8, 6 + c8);
							DOT8i_4(M5.s0, f02, V8, 8 + c8);
							DOT8i_4(M5.s1, f02, V8, 10 + c8);

							DOT8i_4(M6.s0, f02, V8, 12 + c8);
							DOT8i_4(M6.s1, f02, V8, 14 + c8);


							// f2[c8] x v[2 .. 16]
							DOT8i_5(M0.s0, f02, V0, 4 + c8);
							DOT8i_5(M0.s1, f02, V0, 6 + c8);
							DOT8i_5(M1.s0, f02, V0, 8 + c8);
							DOT8i_5(M1.s1, f02, V0, 10 + c8);

							DOT8i_5(M2.s0, f02, V0, 12 + c8);
							DOT8i_5(M2.s1, f02, V0, 14 + c8);
							DOT8i_5(M3.s0, f02, V8, 0 + c8);
							DOT8i_5(M3.s1, f02, V8, 2 + c8);

							DOT8i_5(M4.s0, f02, V8, 4 + c8);
							DOT8i_5(M4.s1, f02, V8, 6 + c8);
							DOT8i_5(M5.s0, f02, V8, 8 + c8);
							DOT8i_5(M5.s1, f02, V8, 10 + c8);

							DOT8i_5(M6.s0, f02, V8, 12 + c8);
							DOT8i_5(M6.s1, f02, V8, 14 + c8);

							// f2[c8] x v[2 .. 16]
							DOT8i_6(M0.s0, f02, V0, 4 + c8);
							DOT8i_6(M0.s1, f02, V0, 6 + c8);
							DOT8i_6(M1.s0, f02, V0, 8 + c8);
							DOT8i_6(M1.s1, f02, V0, 10 + c8);

							DOT8i_6(M2.s0, f02, V0, 12 + c8);
							DOT8i_6(M2.s1, f02, V0, 14 + c8);
							DOT8i_6(M3.s0, f02, V8, 0 + c8);
							DOT8i_6(M3.s1, f02, V8, 2 + c8);

							DOT8i_6(M4.s0, f02, V8, 4 + c8);
							DOT8i_6(M4.s1, f02, V8, 6 + c8);
							DOT8i_6(M5.s0, f02, V8, 8 + c8);
							DOT8i_6(M5.s1, f02, V8, 10 + c8);

							DOT8i_6(M6.s0, f02, V8, 12 + c8);
							DOT8i_6(M6.s1, f02, V8, 14 + c8);


							// f2[c8] x v[2 .. 16]
							DOT8i_7(M0.s0, f02, V0, 4 + c8);
							DOT8i_7(M0.s1, f02, V0, 6 + c8);
							DOT8i_7(M1.s0, f02, V0, 8 + c8);
							DOT8i_7(M1.s1, f02, V0, 10 + c8);

							DOT8i_7(M2.s0, f02, V0, 12 + c8);
							DOT8i_7(M2.s1, f02, V0, 14 + c8);
							DOT8i_7(M3.s0, f02, V8, 0 + c8);
							DOT8i_7(M3.s1, f02, V8, 2 + c8);

							DOT8i_7(M4.s0, f02, V8, 4 + c8);
							DOT8i_7(M4.s1, f02, V8, 6 + c8);
							DOT8i_7(M5.s0, f02, V8, 8 + c8);
							DOT8i_7(M5.s1, f02, V8, 10 + c8);

							DOT8i_7(M6.s0, f02, V8, 12 + c8);
							DOT8i_7(M6.s1, f02, V8, 14 + c8);

						}
				}
				barrier(CLK_LOCAL_MEM_FENCE);
		}

	//barrier(CLK_LOCAL_MEM_FENCE);


	// Store multiplies in SLM.
		{
			//barrier(CLK_LOCAL_MEM_FENCE);
			__local UNIT_TYPE_2 *M_write = (__local UNIT_TYPE_2 *)&V[lz * 7 * 8];
			M_write += lx;

			M_write[0 * 16] = M0;
			M_write[1 * 16] = M1;
			M_write[2 * 16] = M2;
			M_write[3 * 16] = M3;
			M_write[4 * 16] = M4;
			M_write[5 * 16] = M5;
			M_write[6 * 16] = M6;

			barrier(CLK_LOCAL_MEM_FENCE);
		}

		//if ((gz) % 2) return;

		if (lz < 7)
		{
			// Load multiplies from SLM.
			__local const UNIT_TYPE_2 *M_read = (__local UNIT_TYPE_2*)&V[lz * 8 ];
			M_read += lx;

			UNIT_TYPE_2 M0 = M_read[0 * 112];
			UNIT_TYPE_2 M1 = M_read[1 * 112];
			UNIT_TYPE_2 M2 = M_read[2 * 112];
			UNIT_TYPE_2 M3 = M_read[3 * 112];
			UNIT_TYPE_2 M4 = M_read[4 * 112];
			UNIT_TYPE_2 M5 = M_read[5 * 112];
			UNIT_TYPE_2 M6 = M_read[6 * 112];
			UNIT_TYPE_2 M7 = M_read[7 * 112];

			// Inverse Transform.
			UNIT_TYPE_2 x0 = M1 + M2;
			UNIT_TYPE_2 x1 = M1 - M2;

			UNIT_TYPE_2 x2 = M3 + M4;
			UNIT_TYPE_2 x3 = M3 - M4;

			UNIT_TYPE_2 x4 = M5 + M6;
			UNIT_TYPE_2 x5 = M5 - M6;

			UNIT_TYPE_2 S0 = M0 + x0 + x2 + x4;
			UNIT_TYPE_2 S1 = x1 + ((UNIT_TYPE)2.f)*x3 + ((UNIT_TYPE)0.5f)*x5;
			UNIT_TYPE_2 S2 = x0 + ((UNIT_TYPE)4.f)*x2 + ((UNIT_TYPE)0.25f)*x4;
			UNIT_TYPE_2 S3 = x1 + ((UNIT_TYPE)8.f)*x3 + ((UNIT_TYPE)0.125f)*x5;
			UNIT_TYPE_2 S4 = x0 + ((UNIT_TYPE)16.f)*x2 + ((UNIT_TYPE)0.0625f)*x4;
			UNIT_TYPE_2 S5 = x1 + ((UNIT_TYPE)32.f)*x3 + ((UNIT_TYPE)0.03125f)*x5 + M7;

			// Store output to global memory.
			uint p = gy * 6 + OUTPUT_PAD_BEFORE_SIZE_Y;
			uint q = gx * 14 + lz * 2 + OUTPUT_PAD_BEFORE_SIZE_X;
			uint k = gk * 16 + lx;

			// bias and activation
#if BIAS_TERM
#if BIAS_PER_OUTPUT
			const unsigned bias_index0 = k*OUTPUT_SIZE_X*OUTPUT_SIZE_Y + trow*OUTPUT_SIZE_X + q;
			const unsigned bias_index1 = bias_index0 + 1;
#else
			const unsigned bias_index0 = k;
			const unsigned bias_index1 = bias_index0 + 1;
#endif
#endif

#if OUTPUT_LAYOUT_BYXF
			uint outindex = gn*PQK + p*Q*FILTER_OFM_NUM + q*FILTER_OFM_NUM + k;
			__global UNIT_TYPE *O_write = (__global UNIT_TYPE *)&O[outindex];
#else
			__global UNIT_TYPE *O_write_0 = (__global UNIT_TYPE *)(&O[gn*PQK + k*Q*P + (p + 0)*Q + q]);
			__global UNIT_TYPE *O_write_1 = (__global UNIT_TYPE *)(&O[gn*PQK + k*Q*P + (p + 1)*Q + q]);
			__global UNIT_TYPE *O_write_2 = (__global UNIT_TYPE *)(&O[gn*PQK + k*Q*P + (p + 2)*Q + q]);
			__global UNIT_TYPE *O_write_3 = (__global UNIT_TYPE *)(&O[gn*PQK + k*Q*P + (p + 3)*Q + q]);
			__global UNIT_TYPE *O_write_4 = (__global UNIT_TYPE *)(&O[gn*PQK + k*Q*P + (p + 4)*Q + q]);
			__global UNIT_TYPE *O_write_5 = (__global UNIT_TYPE *)(&O[gn*PQK + k*Q*P + (p + 5)*Q + q]);
#endif

			// TODO: clip output by P, Q
			bool q0_in = q < Q - OUTPUT_PAD_AFTER_SIZE_X;
			bool q1_in = q + 1 < Q - OUTPUT_PAD_AFTER_SIZE_X;

			const uint K = FILTER_OFM_NUM;

			if (k < FILTER_OFM_NUM) {
				if (p < P - OUTPUT_PAD_AFTER_SIZE_Y) {
					if (q0_in) {

#if OUTPUT_LAYOUT_BYXF
#if BIAS_TERM
						O_write[0 * QK + 0 * K] = ACTIVATION(S0.s0 * scl + bias[bias_index0], NL_M, NL_N);
#else
						O_write[0 * QK + 0 * K] = ACTIVATION(S0.s0 * scl, NL_M, NL_N);
#endif
#else
#if BIAS_TERM
						O_write_0[0] = ACTIVATION(S0.s0 * scl + bias[bias_index0], NL_M, NL_N);
#else
						O_write_0[0] = ACTIVATION(S0.s0 * scl, NL_M, NL_N);
#endif
#endif
					}
					if (q1_in) {
#if OUTPUT_LAYOUT_BYXF
#if BIAS_TERM
						O_write[0 * QK + 1 * K] = ACTIVATION(S0.s1 * scl + bias[bias_index0], NL_M, NL_N);
#else
						O_write[0 * QK + 1 * K] = ACTIVATION(S0.s1 * scl, NL_M, NL_N);
#endif
#else
#if BIAS_TERM
						O_write_0[1] = ACTIVATION(S0.s1 * scl + bias[bias_index0], NL_M, NL_N);
#else
							DOT8i_2(M5.s1, f01, V8, 8 + c8);

							DOT8i_2(M6.s0, f01, V8, 10 + c8);
							DOT8i_2(M6.s1, f01, V8, 12 + c8);

							// f1[c8] x v[1 .. 15]
							DOT8i_3(M0.s0, f01, V0, 2 + c8);
							DOT8i_3(M0.s1, f01, V0, 4 + c8);
							DOT8i_3(M1.s0, f01, V0, 6 + c8);
							DOT8i_3(M1.s1, f01, V0, 8 + c8);

							DOT8i_3(M2.s0, f01, V0, 10 + c8);
							DOT8i_3(M2.s1, f01, V0, 12 + c8);
							DOT8i_3(M3.s0, f01, V0, 14 + c8);
							DOT8i_3(M3.s1, f01, V8, 0 + c8);

							DOT8i_3(M4.s0, f01, V8, 2 + c8);
							DOT8i_3(M4.s1, f01, V8, 4 + c8);
							DOT8i_3(M5.s0, f01, V8, 6 + c8);
							DOT8i_3(M5.s1, f01, V8, 8 + c8);

							DOT8i_3(M6.s0, f01, V8, 10 + c8);
							DOT8i_3(M6.s1, f01, V8, 12 + c8);

							// f1[c8] x v[1 .. 15]
							DOT8i_4(M0.s0, f01, V0, 2 + c8);
							DOT8i_4(M0.s1, f01, V0, 4 + c8);
							DOT8i_4(M1.s0, f01, V0, 6 + c8);
							DOT8i_4(M1.s1, f01, V0, 8 + c8);

							DOT8i_4(M2.s0, f01, V0, 10 + c8);
							DOT8i_4(M2.s1, f01, V0, 12 + c8);
							DOT8i_4(M3.s0, f01, V0, 14 + c8);
							DOT8i_4(M3.s1, f01, V8, 0 + c8);

							DOT8i_4(M4.s0, f01, V8, 2 + c8);
							DOT8i_4(M4.s1, f01, V8, 4 + c8);
							DOT8i_4(M5.s0, f01, V8, 6 + c8);
							DOT8i_4(M5.s1, f01, V8, 8 + c8);

							DOT8i_4(M6.s0, f01, V8, 10 + c8);
							DOT8i_4(M6.s1, f01, V8, 12 + c8);


							// f1[c8] x v[1 .. 15]
							DOT8i_5(M0.s0, f01, V0, 2 + c8);
							DOT8i_5(M0.s1, f01, V0, 4 + c8);
							DOT8i_5(M1.s0, f01, V0, 6 + c8);
							DOT8i_5(M1.s1, f01, V0, 8 + c8);

							DOT8i_5(M2.s0, f01, V0, 10 + c8);
							DOT8i_5(M2.s1, f01, V0, 12 + c8);
							DOT8i_5(M3.s0, f01, V0, 14 + c8);
							DOT8i_5(M3.s1, f01, V8, 0 + c8);

							DOT8i_5(M4.s0, f01, V8, 2 + c8);
							DOT8i_5(M4.s1, f01, V8, 4 + c8);
							DOT8i_5(M5.s0, f01, V8, 6 + c8);
							DOT8i_5(M5.s1, f01, V8, 8 + c8);

							DOT8i_5(M6.s0, f01, V8, 10 + c8);
							DOT8i_5(M6.s1, f01, V8, 12 + c8);


							// f1[c8] x v[1 .. 15]
							DOT8i_6(M0.s0, f01, V0, 2 + c8);
							DOT8i_6(M0.s1, f01, V0, 4 + c8);
							DOT8i_6(M1.s0, f01, V0, 6 + c8);
							DOT8i_6(M1.s1, f01, V0, 8 + c8);

							DOT8i_6(M2.s0, f01, V0, 10 + c8);
							DOT8i_6(M2.s1, f01, V0, 12 + c8);
							DOT8i_6(M3.s0, f01, V0, 14 + c8);
							DOT8i_6(M3.s1, f01, V8, 0 + c8);

							DOT8i_6(M4.s0, f01, V8, 2 + c8);
							DOT8i_6(M4.s1, f01, V8, 4 + c8);
							DOT8i_6(M5.s0, f01, V8, 6 + c8);
							DOT8i_6(M5.s1, f01, V8, 8 + c8);

							DOT8i_6(M6.s0, f01, V8, 10 + c8);
							DOT8i_6(M6.s1, f01, V8, 12 + c8);



							// f1[c8] x v[1 .. 15]
							DOT8i_7(M0.s0, f01, V0, 2 + c8);
							DOT8i_7(M0.s1, f01, V0, 4 + c8);
							DOT8i_7(M1.s0, f01, V0, 6 + c8);
							DOT8i_7(M1.s1, f01, V0, 8 + c8);

							DOT8i_7(M2.s0, f01, V0, 10 + c8);
							DOT8i_7(M2.s1, f01, V0, 12 + c8);
							DOT8i_7(M3.s0, f01, V0, 14 + c8);
							DOT8i_7(M3.s1, f01, V8, 0 + c8);

							DOT8i_7(M4.s0, f01, V8, 2 + c8);
							DOT8i_7(M4.s1, f01, V8, 4 + c8);
							DOT8i_7(M5.s0, f01, V8, 6 + c8);
							DOT8i_7(M5.s1, f01, V8, 8 + c8);

							DOT8i_7(M6.s0, f01, V8, 10 + c8);
							DOT8i_7(M6.s1, f01, V8, 12 + c8);

#if FILTER_LAYOUT_IMAGE_2D_WEIGHTS_WINOGRAD_6x3_S1_FBXYB || FILTER_LAYOUT_IMAGE_2D_WEIGHTS_WINOGRAD_6x3_S1_XFBYB
							const UNIT_TYPE_8 f02 = as_half8(intel_sub_group_block_read_us8(U, (int2)(coordU0.x + 32 * sizeof(UNIT_TYPE), coordU0.y)));
#else
							const UNIT_TYPE_8 f02 = (UNIT_TYPE_8)(
								as_half(intel_sub_group_block_read_us((__global unsigned short *)&U[flatA + 32 + 0 * WEIGHTWIDTH])),
								as_half(intel_sub_group_block_read_us((__global unsigned short *)&U[flatA + 32 + 1 * WEIGHTWIDTH])),
								as_half(intel_sub_group_block_read_us((__global unsigned short *)&U[flatA + 32 + 2 * WEIGHTWIDTH])),
								as_half(intel_sub_group_block_read_us((__global unsigned short *)&U[flatA + 32 + 3 * WEIGHTWIDTH])),
								as_half(intel_sub_group_block_read_us((__global unsigned short *)&U[flatA + 32 + 4 * WEIGHTWIDTH])),
								as_half(intel_sub_group_block_read_us((__global unsigned short *)&U[flatA + 32 + 5 * WEIGHTWIDTH])),
								as_half(intel_sub_group_block_read_us((__global unsigned short *)&U[flatA + 32 + 6 * WEIGHTWIDTH])),
								as_half(intel_sub_group_block_read_us((__global unsigned short *)&U[flatA + 32 + 7 * WEIGHTWIDTH])));
#endif
							coordU0.y += 8;


							// f2[c8] x v[2 .. 16]
							DOT8i_0(M0.s0, f02, V0, 4 + c8);
							DOT8i_0(M0.s1, f02, V0, 6 + c8);
							DOT8i_0(M1.s0, f02, V0, 8 + c8);
							DOT8i_0(M1.s1, f02, V0, 10 + c8);

							DOT8i_0(M2.s0, f02, V0, 12 + c8);
							DOT8i_0(M2.s1, f02, V0, 14 + c8);
							DOT8i_0(M3.s0, f02, V8, 0 + c8);
							DOT8i_0(M3.s1, f02, V8, 2 + c8);

							DOT8i_0(M4.s0, f02, V8, 4 + c8);
							DOT8i_0(M4.s1, f02, V8, 6 + c8);
							DOT8i_0(M5.s0, f02, V8, 8 + c8);
							DOT8i_0(M5.s1, f02, V8, 10 + c8);

							DOT8i_0(M6.s0, f02, V8, 12 + c8);
							DOT8i_0(M6.s1, f02, V8, 14 + c8);


							// f2[c8] x v[2 .. 16]
							DOT8i_1(M0.s0, f02, V0, 4 + c8);
							DOT8i_1(M0.s1, f02, V0, 6 + c8);
							DOT8i_1(M1.s0, f02, V0, 8 + c8);
							DOT8i_1(M1.s1, f02, V0, 10 + c8);

							DOT8i_1(M2.s0, f02, V0, 12 + c8);
							DOT8i_1(M2.s1, f02, V0, 14 + c8);
							DOT8i_1(M3.s0, f02, V8, 0 + c8);
							DOT8i_1(M3.s1, f02, V8, 2 + c8);

							DOT8i_1(M4.s0, f02, V8, 4 + c8);
							DOT8i_1(M4.s1, f02, V8, 6 + c8);
							DOT8i_1(M5.s0, f02, V8, 8 + c8);
							DOT8i_1(M5.s1, f02, V8, 10 + c8);

							DOT8i_1(M6.s0, f02, V8, 12 + c8);
							DOT8i_1(M6.s1, f02, V8, 14 + c8);


							// f2[c8] x v[2 .. 16]
							DOT8i_2(M0.s0, f02, V0, 4 + c8);
							DOT8i_2(M0.s1, f02, V0, 6 + c8);
							DOT8i_2(M1.s0, f02, V0, 8 + c8);
							DOT8i_2(M1.s1, f02, V0, 10 + c8);

							DOT8i_2(M2.s0, f02, V0, 12 + c8);
							DOT8i_2(M2.s1, f02, V0, 14 + c8);
							DOT8i_2(M3.s0, f02, V8, 0 + c8);
							DOT8i_2(M3.s1, f02, V8, 2 + c8);

							DOT8i_2(M4.s0, f02, V8, 4 + c8);
							DOT8i_2(M4.s1, f02, V8, 6 + c8);
							DOT8i_2(M5.s0, f02, V8, 8 + c8);
							DOT8i_2(M5.s1, f02, V8, 10 + c8);

							DOT8i_2(M6.s0, f02, V8, 12 + c8);
							DOT8i_2(M6.s1, f02, V8, 14 + c8);


							// f2[c8] x v[2 .. 16]
							DOT8i_3(M0.s0, f02, V0, 4 + c8);
							DOT8i_3(M0.s1, f02, V0, 6 + c8);
							DOT8i_3(M1.s0, f02, V0, 8 + c8);
							DOT8i_3(M1.s1, f02, V0, 10 + c8);

							DOT8i_3(M2.s0, f02, V0, 12 + c8);
							DOT8i_3(M2.s1, f02, V0, 14 + c8);
							DOT8i_3(M3.s0, f02, V8, 0 + c8);
							DOT8i_3(M3.s1, f02, V8, 2 + c8);

							DOT8i_3(M4.s0, f02, V8, 4 + c8);
							DOT8i_3(M4.s1, f02, V8, 6 + c8);
							DOT8i_3(M5.s0, f02, V8, 8 + c8);
							DOT8i_3(M5.s1, f02, V8, 10 + c8);

							DOT8i_3(M6.s0, f02, V8, 12 + c8);
							DOT8i_3(M6.s1, f02, V8, 14 + c8);


							DOT8i_1(M0.s1, f00, V0, 2 + c8);
							DOT8i_1(M1.s0, f00, V0, 4 + c8);
							DOT8i_1(M1.s1, f00, V0, 6 + c8);

							DOT8i_1(M2.s0, f00, V0, 8 + c8);
							DOT8i_1(M2.s1, f00, V0, 10 + c8);
							DOT8i_1(M3.s0, f00, V0, 12 + c8);
							DOT8i_1(M3.s1, f00, V0, 14 + c8);

							DOT8i_1(M4.s0, f00, V8, 0 + c8);
							DOT8i_1(M4.s1, f00, V8, 2 + c8);
							DOT8i_1(M5.s0, f00, V8, 4 + c8);
							DOT8i_1(M5.s1, f00, V8, 6 + c8);

							DOT8i_1(M6.s0, f00, V8, 8 + c8);
							DOT8i_1(M6.s1, f00, V8, 10 + c8);

							// f0 x v[0 .. 14]
							DOT8i_2(M0.s0, f00, V0, 0 + c8);
							DOT8i_2(M0.s1, f00, V0, 2 + c8);
							DOT8i_2(M1.s0, f00, V0, 4 + c8);
							DOT8i_2(M1.s1, f00, V0, 6 + c8);

							DOT8i_2(M2.s0, f00, V0, 8 + c8);
							DOT8i_2(M2.s1, f00, V0, 10 + c8);
							DOT8i_2(M3.s0, f00, V0, 12 + c8);
							DOT8i_2(M3.s1, f00, V0, 14 + c8);

							DOT8i_2(M4.s0, f00, V8, 0 + c8);
							DOT8i_2(M4.s1, f00, V8, 2 + c8);
							DOT8i_2(M5.s0, f00, V8, 4 + c8);
							DOT8i_2(M5.s1, f00, V8, 6 + c8);

							DOT8i_2(M6.s0, f00, V8, 8 + c8);
							DOT8i_2(M6.s1, f00, V8, 10 + c8);


							// f0 x v[0 .. 14]
							DOT8i_3(M0.s0, f00, V0, 0 + c8);
							DOT8i_3(M0.s1, f00, V0, 2 + c8);
							DOT8i_3(M1.s0, f00, V0, 4 + c8);
							DOT8i_3(M1.s1, f00, V0, 6 + c8);

							DOT8i_3(M2.s0, f00, V0, 8 + c8);
							DOT8i_3(M2.s1, f00, V0, 10 + c8);
							DOT8i_3(M3.s0, f00, V0, 12 + c8);
							DOT8i_3(M3.s1, f00, V0, 14 + c8);

							DOT8i_3(M4.s0, f00, V8, 0 + c8);
							DOT8i_3(M4.s1, f00, V8, 2 + c8);
							DOT8i_3(M5.s0, f00, V8, 4 + c8);
							DOT8i_3(M5.s1, f00, V8, 6 + c8);

							DOT8i_3(M6.s0, f00, V8, 8 + c8);
							DOT8i_3(M6.s1, f00, V8, 10 + c8);


							// f0 x v[0 .. 14]
							DOT8i_4(M0.s0, f00, V0, 0 + c8);
							DOT8i_4(M0.s1, f00, V0, 2 + c8);
							DOT8i_4(M1.s0, f00, V0, 4 + c8);
							DOT8i_4(M1.s1, f00, V0, 6 + c8);

							DOT8i_4(M2.s0, f00, V0, 8 + c8);
							DOT8i_4(M2.s1, f00, V0, 10 + c8);
							DOT8i_4(M3.s0, f00, V0, 12 + c8);
							DOT8i_4(M3.s1, f00, V0, 14 + c8);

							DOT8i_4(M4.s0, f00, V8, 0 + c8);
							DOT8i_4(M4.s1, f00, V8, 2 + c8);
							DOT8i_4(M5.s0, f00, V8, 4 + c8);
							DOT8i_4(M5.s1, f00, V8, 6 + c8);

							DOT8i_4(M6.s0, f00, V8, 8 + c8);
							DOT8i_4(M6.s1, f00, V8, 10 + c8);

							// f0 x v[0 .. 14]
							DOT8i_5(M0.s0, f00, V0, 0 + c8);
							DOT8i_5(M0.s1, f00, V0, 2 + c8);
							DOT8i_5(M1.s0, f00, V0, 4 + c8);
							DOT8i_5(M1.s1, f00, V0, 6 + c8);

							DOT8i_5(M2.s0, f00, V0, 8 + c8);
							DOT8i_5(M2.s1, f00, V0, 10 + c8);
							DOT8i_5(M3.s0, f00, V0, 12 + c8);
							DOT8i_5(M3.s1, f00, V0, 14 + c8);

							DOT8i_5(M4.s0, f00, V8, 0 + c8);
							DOT8i_5(M4.s1, f00, V8, 2 + c8);
							DOT8i_5(M5.s0, f00, V8, 4 + c8);
							DOT8i_5(M5.s1, f00, V8, 6 + c8);

							DOT8i_5(M6.s0, f00, V8, 8 + c8);
							DOT8i_5(M6.s1, f00, V8, 10 + c8);

							// f0 x v[0 .. 14]
							DOT8i_6(M0.s0, f00, V0, 0 + c8);
							DOT8i_6(M0.s1, f00, V0, 2 + c8);
							DOT8i_6(M1.s0, f00, V0, 4 + c8);
							DOT8i_6(M1.s1, f00, V0, 6 + c8);

							DOT8i_6(M2.s0, f00, V0, 8 + c8);
							DOT8i_6(M2.s1, f00, V0, 10 + c8);
							DOT8i_6(M3.s0, f00, V0, 12 + c8);
							DOT8i_6(M3.s1, f00, V0, 14 + c8);

							DOT8i_6(M4.s0, f00, V8, 0 + c8);
							DOT8i_6(M4.s1, f00, V8, 2 + c8);
							DOT8i_6(M5.s0, f00, V8, 4 + c8);
							DOT8i_6(M5.s1, f00, V8, 6 + c8);

							DOT8i_6(M6.s0, f00, V8, 8 + c8);
							DOT8i_6(M6.s1, f00, V8, 10 + c8);


							// f0 x v[0 .. 14]
							DOT8i_7(M0.s0, f00, V0, 0 + c8);
							DOT8i_7(M0.s1, f00, V0, 2 + c8);
							DOT8i_7(M1.s0, f00, V0, 4 + c8);
							DOT8i_7(M1.s1, f00, V0, 6 + c8);

							DOT8i_7(M2.s0, f00, V0, 8 + c8);
							DOT8i_7(M2.s1, f00, V0, 10 + c8);
							DOT8i_7(M3.s0, f00, V0, 12 + c8);
							DOT8i_7(M3.s1, f00, V0, 14 + c8);

							DOT8i_7(M4.s0, f00, V8, 0 + c8);
							DOT8i_7(M4.s1, f00, V8, 2 + c8);
							DOT8i_7(M5.s0, f00, V8, 4 + c8);
							DOT8i_7(M5.s1, f00, V8, 6 + c8);

							DOT8i_7(M6.s0, f00, V8, 8 + c8);
							DOT8i_7(M6.s1, f00, V8, 10 + c8);

#if FILTER_LAYOUT_IMAGE_2D_WEIGHTS_WINOGRAD_6x3_S1_FBXYB || FILTER_LAYOUT_IMAGE_2D_WEIGHTS_WINOGRAD_6x3_S1_XFBYB
							const UNIT_TYPE_8 f01 = as_half8(intel_sub_group_block_read_us8(U, (int2)(coordU0.x + 16 * sizeof(UNIT_TYPE), coordU0.y)));
#else
							const UNIT_TYPE_8 f01 = (UNIT_TYPE_8)(
								as_half(intel_sub_group_block_read_us((__global unsigned short *)&U[flatA + 16 + 0 * WEIGHTWIDTH])),
								as_half(intel_sub_group_block_read_us((__global unsigned short *)&U[flatA + 16 + 1 * WEIGHTWIDTH])),
								as_half(intel_sub_group_block_read_us((__global unsigned short *)&U[flatA + 16 + 2 * WEIGHTWIDTH])),
								as_half(intel_sub_group_block_read_us((__global unsigned short *)&U[flatA + 16 + 3 * WEIGHTWIDTH])),
								as_half(intel_sub_group_block_read_us((__global unsigned short *)&U[flatA + 16 + 4 * WEIGHTWIDTH])),
								as_half(intel_sub_group_block_read_us((__global unsigned short *)&U[flatA + 16 + 5 * WEIGHTWIDTH])),
								as_half(intel_sub_group_block_read_us((__global unsigned short *)&U[flatA + 16 + 6 * WEIGHTWIDTH])),
								as_half(intel_sub_group_block_read_us((__global unsigned short *)&U[flatA + 16 + 7 * WEIGHTWIDTH])));
#endif

							// f1[c8] x v[1 .. 15]
							DOT8i_0(M0.s0, f01, V0, 2 + c8);
							DOT8i_0(M0.s1, f01, V0, 4 + c8);
							DOT8i_0(M1.s0, f01, V0, 6 + c8);
							DOT8i_0(M1.s1, f01, V0, 8 + c8);

							DOT8i_0(M2.s0, f01, V0, 10 + c8);
							DOT8i_0(M2.s1, f01, V0, 12 + c8);
							DOT8i_0(M3.s0, f01, V0, 14 + c8);
							DOT8i_0(M3.s1, f01, V8, 0 + c8);

							DOT8i_0(M4.s0, f01, V8, 2 + c8);
							DOT8i_0(M4.s1, f01, V8, 4 + c8);
							DOT8i_0(M5.s0, f01, V8, 6 + c8);
							DOT8i_0(M5.s1, f01, V8, 8 + c8);

							DOT8i_0(M6.s0, f01, V8, 10 + c8);
							DOT8i_0(M6.s1, f01, V8, 12 + c8);

							// f1[c8] x v[1 .. 15]
							DOT8i_1(M0.s0, f01, V0, 2 + c8);
							DOT8i_1(M0.s1, f01, V0, 4 + c8);
							DOT8i_1(M1.s0, f01, V0, 6 + c8);
							DOT8i_1(M1.s1, f01, V0, 8 + c8);

							DOT8i_1(M2.s0, f01, V0, 10 + c8);
							DOT8i_1(M2.s1, f01, V0, 12 + c8);
							DOT8i_1(M3.s0, f01, V0, 14 + c8);
							DOT8i_1(M3.s1, f01, V8, 0 + c8);

							DOT8i_1(M4.s0, f01, V8, 2 + c8);
							DOT8i_1(M4.s1, f01, V8, 4 + c8);
							DOT8i_1(M5.s0, f01, V8, 6 + c8);
							DOT8i_1(M5.s1, f01, V8, 8 + c8);

							DOT8i_1(M6.s0, f01, V8, 10 + c8);
							DOT8i_1(M6.s1, f01, V8, 12 + c8);

							// f1[c8] x v[1 .. 15]
							DOT8i_2(M0.s0, f01, V0, 2 + c8);
							DOT8i_2(M0.s1, f01, V0, 4 + c8);
							DOT8i_2(M1.s0, f01, V0, 6 + c8);
							DOT8i_2(M1.s1, f01, V0, 8 + c8);

							DOT8i_2(M2.s0, f01, V0, 10 + c8);
							DOT8i_2(M2.s1, f01, V0, 12 + c8);
							DOT8i_2(M3.s0, f01, V0, 14 + c8);
							DOT8i_2(M3.s1, f01, V8, 0 + c8);

							DOT8i_2(M4.s0, f01, V8, 2 + c8);
							DOT8i_2(M4.s1, f01, V8, 4 + c8);
							DOT8i_2(M5.s0, f01, V8, 6 + c8);
	UNIT_TYPE_2 M5 = (UNIT_TYPE_2)(UNIT_VAL_ZERO, UNIT_VAL_ZERO);
	UNIT_TYPE_2 M6 = (UNIT_TYPE_2)(UNIT_VAL_ZERO, UNIT_VAL_ZERO);

	/*if (gy == 0) {
		y = 0;
	}*/

	uint lxm4 = lx % 4;
	uint lxb2 = (lx & 4) / 4;

#if INPUT0_LAYOUT_BYXF
	uint adr = gn*HWC + ((uint)y)*WC + ((uint)x)*INPUT0_FEATURE_NUM + c0;
	const __global UNIT_TYPE_4 *I_load = ((const __global UNIT_TYPE_4*)&(I[adr]));
#else
	uint adr = gn*HWC + c0*HW + ((uint)y)*W + ((uint)x);
	const __global UNIT_TYPE *I_load = (const __global UNIT_TYPE*)&I[adr];
#endif

	// c, Kdsk
	uint2 coordU0;

#if FILTER_LAYOUT_IMAGE_2D_WEIGHTS_WINOGRAD_6x3_S1_FBXYB
	coordU0.x = (lz * 48 + k * 24);
	coordU0.y = 0;
#else // FILTER_LAYOUT_IMAGE_2D_WEIGHTS_WINOGRAD_6x3_S1_XFBYB
	coordU0.x = (k * 3);
	coordU0.y = lz*C_;
	int last_coord_y = lz*C_ + C_;
#endif

#if FILTER_LAYOUT_IMAGE_2D_WEIGHTS_WINOGRAD_6x3_S1_FBXYB || FILTER_LAYOUT_IMAGE_2D_WEIGHTS_WINOGRAD_6x3_S1_XFBYB
	coordU0.x *= sizeof(UNIT_TYPE);
#endif

	__attribute__((opencl_unroll_hint(1)))
		for (uint c = 0; c < C4; c += 8) {

			__local UNIT_TYPE_4 *V_write = &V[lxb2 * 512 + lz * 8 + lxd8 * 4 + lxm4];
			__local const UNIT_TYPE_8 *V_read = (__local const UNIT_TYPE_8 *)&V[lz * 64 + lx * 2];

			// 2*14 * 3 * 16 = 1344 MADs

			// Transform HxW x C        -> DxUxW x C
			//           6x16x16 inputs -> 4x2x16x16 winograd components.
			{
				bool x_in = 0 <= x && x < W;
				bool y0_in = 0 <= (y + 0) && (y + 0) < H && x_in;
				bool y1_in = 0 <= (y + 1) && (y + 1) < H && x_in;
				bool y2_in = 0 <= (y + 2) && (y + 2) < H && x_in;
				bool y3_in = 0 <= (y + 3) && (y + 3) < H && x_in;
				bool y4_in = 0 <= (y + 4) && (y + 4) < H && x_in;
				bool y5_in = 0 <= (y + 5) && (y + 5) < H && x_in;
				bool y6_in = 0 <= (y + 6) && (y + 6) < H && x_in;
				bool y7_in = 0 <= (y + 7) && (y + 7) < H && x_in;

#if INPUT0_LAYOUT_BYXF

				UNIT_TYPE_4 I0 = y0_in ? *((const __global UNIT_TYPE_4*)(I + adr + (0 * WC4 + c) * 4)) : (UNIT_TYPE_4)(UNIT_VAL_ZERO);
				UNIT_TYPE_4 I1 = y1_in ? *((const __global UNIT_TYPE_4*)(I + adr + (1 * WC4 + c) * 4)) : (UNIT_TYPE_4)(UNIT_VAL_ZERO);
				UNIT_TYPE_4 I2 = y2_in ? *((const __global UNIT_TYPE_4*)(I + adr + (2 * WC4 + c) * 4)) : (UNIT_TYPE_4)(UNIT_VAL_ZERO);
				UNIT_TYPE_4 I3 = y3_in ? *((const __global UNIT_TYPE_4*)(I + adr + (3 * WC4 + c) * 4)) : (UNIT_TYPE_4)(UNIT_VAL_ZERO);
				UNIT_TYPE_4 I4 = y4_in ? *((const __global UNIT_TYPE_4*)(I + adr + (4 * WC4 + c) * 4)) : (UNIT_TYPE_4)(UNIT_VAL_ZERO);
				UNIT_TYPE_4 I5 = y5_in ? *((const __global UNIT_TYPE_4*)(I + adr + (5 * WC4 + c) * 4)) : (UNIT_TYPE_4)(UNIT_VAL_ZERO);
				UNIT_TYPE_4 I6 = y6_in ? *((const __global UNIT_TYPE_4*)(I + adr + (6 * WC4 + c) * 4)) : (UNIT_TYPE_4)(UNIT_VAL_ZERO);
				UNIT_TYPE_4 I7 = y7_in ? *((const __global UNIT_TYPE_4*)(I + adr + (7 * WC4 + c) * 4)) : (UNIT_TYPE_4)(UNIT_VAL_ZERO);

#else
				const __global UNIT_TYPE *I_load_0 = &I_load[0 * W];
				const __global UNIT_TYPE *I_load_1 = &I_load[1 * W];
				const __global UNIT_TYPE *I_load_2 = &I_load[2 * W];
				const __global UNIT_TYPE *I_load_3 = &I_load[3 * W];
				const __global UNIT_TYPE *I_load_4 = &I_load[4 * W];
				const __global UNIT_TYPE *I_load_5 = &I_load[5 * W];
				const __global UNIT_TYPE *I_load_6 = &I_load[6 * W];
				const __global UNIT_TYPE *I_load_7 = &I_load[7 * W];

				UNIT_TYPE_4 I0 = y0_in ? (UNIT_TYPE_4)(I_load_0[c*HW * 4], I_load_0[c*HW * 4 + HW], I_load_0[c*HW * 4 + HW * 2], I_load_0[c*HW * 4 + HW * 3]) : (UNIT_TYPE_4)(UNIT_VAL_ZERO, UNIT_VAL_ZERO, UNIT_VAL_ZERO, UNIT_VAL_ZERO);
				UNIT_TYPE_4 I1 = y1_in ? (UNIT_TYPE_4)(I_load_1[c*HW * 4], I_load_1[c*HW * 4 + HW], I_load_1[c*HW * 4 + HW * 2], I_load_1[c*HW * 4 + HW * 3]) : (UNIT_TYPE_4)(UNIT_VAL_ZERO, UNIT_VAL_ZERO, UNIT_VAL_ZERO, UNIT_VAL_ZERO);
				UNIT_TYPE_4 I2 = y2_in ? (UNIT_TYPE_4)(I_load_2[c*HW * 4], I_load_2[c*HW * 4 + HW], I_load_2[c*HW * 4 + HW * 2], I_load_2[c*HW * 4 + HW * 3]) : (UNIT_TYPE_4)(UNIT_VAL_ZERO, UNIT_VAL_ZERO, UNIT_VAL_ZERO, UNIT_VAL_ZERO);
				UNIT_TYPE_4 I3 = y3_in ? (UNIT_TYPE_4)(I_load_3[c*HW * 4], I_load_3[c*HW * 4 + HW], I_load_3[c*HW * 4 + HW * 2], I_load_3[c*HW * 4 + HW * 3]) : (UNIT_TYPE_4)(UNIT_VAL_ZERO, UNIT_VAL_ZERO, UNIT_VAL_ZERO, UNIT_VAL_ZERO);
				UNIT_TYPE_4 I4 = y4_in ? (UNIT_TYPE_4)(I_load_4[c*HW * 4], I_load_4[c*HW * 4 + HW], I_load_4[c*HW * 4 + HW * 2], I_load_4[c*HW * 4 + HW * 3]) : (UNIT_TYPE_4)(UNIT_VAL_ZERO, UNIT_VAL_ZERO, UNIT_VAL_ZERO, UNIT_VAL_ZERO);
				UNIT_TYPE_4 I5 = y5_in ? (UNIT_TYPE_4)(I_load_5[c*HW * 4], I_load_5[c*HW * 4 + HW], I_load_5[c*HW * 4 + HW * 2], I_load_5[c*HW * 4 + HW * 3]) : (UNIT_TYPE_4)(UNIT_VAL_ZERO, UNIT_VAL_ZERO, UNIT_VAL_ZERO, UNIT_VAL_ZERO);
				UNIT_TYPE_4 I6 = y6_in ? (UNIT_TYPE_4)(I_load_6[c*HW * 4], I_load_6[c*HW * 4 + HW], I_load_6[c*HW * 4 + HW * 2], I_load_6[c*HW * 4 + HW * 3]) : (UNIT_TYPE_4)(UNIT_VAL_ZERO, UNIT_VAL_ZERO, UNIT_VAL_ZERO, UNIT_VAL_ZERO);
				UNIT_TYPE_4 I7 = y7_in ? (UNIT_TYPE_4)(I_load_7[c*HW * 4], I_load_7[c*HW * 4 + HW], I_load_7[c*HW * 4 + HW * 2], I_load_7[c*HW * 4 + HW * 3]) : (UNIT_TYPE_4)(UNIT_VAL_ZERO, UNIT_VAL_ZERO, UNIT_VAL_ZERO, UNIT_VAL_ZERO);

#endif



				//For winograd 6x3 the WA to scale input needed to be added, as the intermediate computations overflow in some cases
				//Later on the output is adjusted with the same scale factor before adding bias and ACTIVATION
				I0 = I0*scl_vec;
				I1 = I1*scl_vec;
				I2 = I2*scl_vec;
				I3 = I3*scl_vec;
				I4 = I4*scl_vec;
				I5 = I5*scl_vec;
				I6 = I6*scl_vec;
				I7 = I7*scl_vec;


				// Compute Winograd f6x3 data transform and store components in SLM.
				V_write[0 * 64] = I0 - 5.25h*I2 + 5.25h*I4 - I6;

				UNIT_TYPE_4 x0 = I1 - 4.25h*I3 + I5;
				UNIT_TYPE_4 x1 = I2 - 4.25h*I4 + I6;

				V_write[1 * 64] = x1 + x0;
				V_write[2 * 64] = x1 - x0;

				UNIT_TYPE_4 x2 = -5.h*I3 + I1;
				UNIT_TYPE_4 x3 = 4.h*I5 + x2;
				UNIT_TYPE_4 x4 = 0.25h*I2 + I6;
				UNIT_TYPE_4 x5 = -1.25h*I4 + x4;

				V_write[3 * 64] = +0.5h * x3 + x5;
				V_write[4 * 64] = -0.5h * x3 + x5;

				UNIT_TYPE_4 x6 = 4.h*I1 + I5;
				UNIT_TYPE_4 x7 = -5.h*I3 + x6;
				UNIT_TYPE_4 x8 = 4.h*I2 + I6;
				UNIT_TYPE_4 x9 = -5.h*I4 + x8;

				V_write[5 * 64] = +0.5h*x7 + x9;
				V_write[6 * 64] = -0.5h*x7 + x9;

				V_write[7 * 64] = -I1 + 5.25h*I3 - 5.25h*I5 + I7;
			}

			barrier(CLK_LOCAL_MEM_FENCE);

			__local const UNIT_TYPE_8 *V_read_c16 = V_read;

			__attribute__((opencl_unroll_hint(1)))
            for (uint c16 = 0; c16 < 2
#ifndef FILTER_LAYOUT_IMAGE_2D_WEIGHTS_WINOGRAD_6x3_S1_FBXYB
				&& coordU0.y < last_coord_y
#endif
				; ++c16) {

					// 2*14 * 3 * 8 = 672 MADs

					// Fetch 16 channels of Winograd input components, spread across subgroup.
					UNIT_TYPE_8 V0 = V_read_c16[0 * 16 + c16 * 256];
					UNIT_TYPE_8 V8 = V_read_c16[1 * 16 + c16 * 256];

					__attribute__((opencl_unroll_hint(2)))
                    for (int c8 = 0; c8 < 2 ; ++c8) {


							// filter 0

							// 2*14 * 3 * 4 = 336 MADs
                            const uint2 coordU = coordU0;

#if FILTER_LAYOUT_IMAGE_2D_WEIGHTS_WINOGRAD_6x3_S1_FBXYB
							const uint WEIGHTWIDTH = FILTER_OFM_NUM*KCOLSW*KROWSW;
#else
							const uint WEIGHTWIDTH = FILTER_OFM_NUM*KROWSW;
#endif

							const uint flatA = coordU0.y*WEIGHTWIDTH + coordU0.x;

							// Fetch 8 channels of Winograd components from f(k,s)
#if FILTER_LAYOUT_IMAGE_2D_WEIGHTS_WINOGRAD_6x3_S1_FBXYB || FILTER_LAYOUT_IMAGE_2D_WEIGHTS_WINOGRAD_6x3_S1_XFBYB
							const UNIT_TYPE_8 f00 = as_half8(intel_sub_group_block_read_us8(U, (int2)(coordU0.x, coordU0.y)));
#else
							const UNIT_TYPE_8 f00 = (UNIT_TYPE_8)(
								as_half(intel_sub_group_block_read_us((__global unsigned short *)&U[flatA + 0 * WEIGHTWIDTH])),
								as_half(intel_sub_group_block_read_us((__global unsigned short *)&U[flatA + 1 * WEIGHTWIDTH])),
								as_half(intel_sub_group_block_read_us((__global unsigned short *)&U[flatA + 2 * WEIGHTWIDTH])),
								as_half(intel_sub_group_block_read_us((__global unsigned short *)&U[flatA + 3 * WEIGHTWIDTH])),
								as_half(intel_sub_group_block_read_us((__global unsigned short *)&U[flatA + 4 * WEIGHTWIDTH])),
								as_half(intel_sub_group_block_read_us((__global unsigned short *)&U[flatA + 5 * WEIGHTWIDTH])),
								as_half(intel_sub_group_block_read_us((__global unsigned short *)&U[flatA + 6 * WEIGHTWIDTH])),
								as_half(intel_sub_group_block_read_us((__global unsigned short *)&U[flatA + 7 * WEIGHTWIDTH])));
#endif


							// f0 x v[0 .. 14]
							DOT8i_0(M0.s0, f00, V0, 0 + c8);
							DOT8i_0(M0.s1, f00, V0, 2 + c8);
							DOT8i_0(M1.s0, f00, V0, 4 + c8);
							DOT8i_0(M1.s1, f00, V0, 6 + c8);

							DOT8i_0(M2.s0, f00, V0, 8 + c8);
							DOT8i_0(M2.s1, f00, V0, 10 + c8);
							DOT8i_0(M3.s0, f00, V0, 12 + c8);
							DOT8i_0(M3.s1, f00, V0, 14 + c8);

							DOT8i_0(M4.s0, f00, V8, 0 + c8);
							DOT8i_0(M4.s1, f00, V8, 2 + c8);
							DOT8i_0(M5.s0, f00, V8, 4 + c8);
							DOT8i_0(M5.s1, f00, V8, 6 + c8);

							DOT8i_0(M6.s0, f00, V8, 8 + c8);
							DOT8i_0(M6.s1, f00, V8, 10 + c8);

							// f0 x v[0 .. 14]
							DOT8i_1(M0.s0, f00, V0, 0 + c8);
// Copyright (c) 2016-2018 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// --------------------------------------------------------------------------------------------------------------------------------
// L3_SIMD_4x8
// Input matrices dimensions: M x K x N
// Output matrix dimensions: M x N
// --------------------------------------------------------------------------------------------------------------------------------

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)



#define DOT8i_0( _result, _A, _B, i)					\
    {									\
	_result = mad(_A.s0, sub_group_broadcast( _B.s0, i), _result);	\
    }
#define DOT8i_1( _result, _A, _B, i)					\
    {									\
	_result = mad(_A.s1, sub_group_broadcast( _B.s1, i), _result);	\
    }
#define DOT8i_2( _result, _A, _B, i)					\
    {									\
	_result = mad(_A.s2, sub_group_broadcast( _B.s2, i), _result);	\
    }
#define DOT8i_3( _result, _A, _B, i)					\
    {									\
	_result = mad(_A.s3, sub_group_broadcast( _B.s3, i), _result);	\
    }
#define DOT8i_4( _result, _A, _B, i)					\
    {									\
	_result = mad(_A.s4, sub_group_broadcast( _B.s4, i), _result);	\
    }
#define DOT8i_5( _result, _A, _B, i)					\
    {									\
	_result = mad(_A.s5, sub_group_broadcast( _B.s5, i), _result);	\
    }
#define DOT8i_6( _result, _A, _B, i)					\
    {									\
	_result = mad(_A.s6, sub_group_broadcast( _B.s6, i), _result);	\
    }
#define DOT8i_7( _result, _A, _B, i)					\
    {									\
	_result = mad(_A.s7, sub_group_broadcast( _B.s7, i), _result);	\
    }

#define DOT8i_( _result, _A, _B, i)					\
    {									\
	_result = mad(_A.s0, sub_group_broadcast( _B.s0, i), _result);	\
	_result = mad(_A.s1, sub_group_broadcast( _B.s1, i), _result);	\
	_result = mad(_A.s2, sub_group_broadcast( _B.s2, i), _result);	\
	_result = mad(_A.s3, sub_group_broadcast( _B.s3, i), _result);	\
	_result = mad(_A.s4, sub_group_broadcast( _B.s4, i), _result);	\
	_result = mad(_A.s5, sub_group_broadcast( _B.s5, i), _result);	\
	_result = mad(_A.s6, sub_group_broadcast( _B.s6, i), _result);	\
	_result = mad(_A.s7, sub_group_broadcast( _B.s7, i), _result);	\
    }

#define UNIT_TYPE_2 MAKE_VECTOR_TYPE(UNIT_TYPE, 2)
#define UNIT_TYPE_4 MAKE_VECTOR_TYPE(UNIT_TYPE, 4)
#define UNIT_TYPE_8 MAKE_VECTOR_TYPE(UNIT_TYPE, 8)


__attribute__((reqd_work_group_size(16, 1, 8)))
__attribute__((intel_reqd_sub_group_size(16)))
KERNEL(convolution_gpu_winograd_6x3_s1_fused)
(
	__global INPUT0_TYPE* I,
	__global OUTPUT_TYPE* O,
#if FILTER_LAYOUT_IMAGE_2D_WEIGHTS_WINOGRAD_6x3_S1_FBXYB || FILTER_LAYOUT_IMAGE_2D_WEIGHTS_WINOGRAD_6x3_S1_XFBYB
    __read_only image2d_t  U,
#else
	__global FILTER_TYPE* U,
#endif
#if BIAS_TERM
	const __global UNIT_TYPE * bias,
#endif
	uint split_idx)
{
	//               (DxC2)x(UxWx8c)
	const uint slmSize = (2 * 8)*(16 * 4);
	__local UNIT_TYPE_4 V[slmSize]; // 8 KB

	/* These constants are defined as precompiler macros during compilation. */
	const uint WC = W*INPUT0_FEATURE_NUM;
	const uint HW = H*W;
	const uint HWC = H*WC;
	const uint WC4 = WC >> 2;
	const uint K16 = FILTER_OFM_NUM >> 4;
	const uint C4 = INPUT0_FEATURE_NUM >> 2;
	const uint K2 = FILTER_OFM_NUM >> 1;
	const uint QK2 = Q*K2;
	const uint QK = Q*FILTER_OFM_NUM;
	const uint PQK = P*QK;

    const UNIT_TYPE sc = 0.1h;
    const UNIT_TYPE scl = 1.0h/sc;
    const UNIT_TYPE_4 scl_vec = (UNIT_TYPE_4)(sc, sc, sc, sc);

	uint gx = get_group_id(0);
	uint gy = get_group_id(1);
	uint gz = get_group_id(2);
	uint gk = gz % K16;
	uint gn = gz / K16;

#define lx get_local_id(0)
#define lz get_local_id(2)

	uint lxd8 = lx >> 3;
	uint lxm8 = lx % 8;

	// Load 16x8 input tile, with 2 pixel overlap in X and y.
	// Compute 14x6 output tile.
	// Load 32 filters.
	// 8 threads total
	int x = gx * 14 + lz * 2 + lxd8 - px;
	int y = gy * 6 - py;
	uint k = gk * 16;
	uint c0 = lxm8 * 4;

	// #                                  x->
	// #     M0    M1    M2    M3    M4    M5    M6
	// #   +------------------------------------------
	// # u | 0 1 | 0 1 | 0 1 | 0 1 | 0 1 | 0 1 | 0 1 |
	// # | | 2 3 | 2 3 | 2 3 | 2 3 | 2 3 | 2 3 | 2 3 |
	// # v
	// #

	UNIT_TYPE_2 M0 = (UNIT_TYPE_2)(UNIT_VAL_ZERO, UNIT_VAL_ZERO);
	UNIT_TYPE_2 M1 = (UNIT_TYPE_2)(UNIT_VAL_ZERO, UNIT_VAL_ZERO);
	UNIT_TYPE_2 M2 = (UNIT_TYPE_2)(UNIT_VAL_ZERO, UNIT_VAL_ZERO);
	UNIT_TYPE_2 M3 = (UNIT_TYPE_2)(UNIT_VAL_ZERO, UNIT_VAL_ZERO);
	UNIT_TYPE_2 M4 = (UNIT_TYPE_2)(UNIT_VAL_ZERO, UNIT_VAL_ZERO);
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



KERNEL(convolution_gpu_yxfb_ref)(
    const __global UNIT_TYPE* input,
    __global UNIT_TYPE* output,
    const __global UNIT_TYPE* filter,
#if BIAS_TERM
    const __global UNIT_TYPE* bias,
#endif
    uint split_idx)
{
    UNIT_TYPE result = UNIT_VAL_ZERO;

    const uint batch_offset = (uint)get_global_id(0) % INPUT0_BATCH_NUM;
    const uint ofm_offset   = (uint)get_global_id(0) / INPUT0_BATCH_NUM;
    const uint out_x        = (uint)get_global_id(1);
    const uint out_y        = (uint)get_global_id(2);

    const int x = (int)out_x * STRIDE_SIZE_X - PADDING_SIZE_X;
    const int y = (int)out_y * STRIDE_SIZE_Y - PADDING_SIZE_Y;

#if DEPTHWISE_SEPARABLE_OPT
    const uint in_split_offset = (ofm_offset / FILTER_OFM_NUM) * INPUT0_FEATURE_PITCH * FILTER_IFM_NUM;
#else
    const uint in_split_offset = split_idx * INPUT0_FEATURE_PITCH * FILTER_IFM_NUM;
#endif
    const uint input_offset = INPUT0_OFFSET + batch_offset*INPUT0_BATCH_PITCH + in_split_offset;
#if GROUPED && !DEPTHWISE_SEPARABLE_OPT
    const uint filter_offset = split_idx * FILTER_LENGTH;
#else
    const uint filter_offset = 0;
#endif

    for (uint i = 0; i < FILTER_SIZE_Y; i++)
    {
        const int input_offset_y = y + i * DILATION_SIZE_Y;
        const bool zero_y = input_offset_y >= INPUT0_SIZE_Y || input_offset_y < 0;

        if(!zero_y)
        {
            for (uint j = 0; j < FILTER_SIZE_X; j++)
            {
                const int input_offset_x = x + j * DILATION_SIZE_X;
                const bool zero = input_offset_x >= INPUT0_SIZE_X || input_offset_x < 0;

                if(!zero)
                {
                    uint input_idx = input_offset + (uint)input_offset_x*INPUT0_X_PITCH + (uint)input_offset_y*INPUT0_Y_PITCH;
                    uint filter_idx = filter_offset + ofm_offset*FILTER_OFM_PITCH + i*FILTER_Y_PITCH + j*FILTER_X_PITCH;

                    for (uint h = 0; h < FILTER_IFM_NUM; h++)
                    {
                        result = fma(input[input_idx], filter[filter_idx], result);
                        filter_idx += FILTER_IFM_PITCH;
                        input_idx += INPUT0_FEATURE_PITCH;
                    }
                }
            }
        }
    }
#if BIAS_TERM
#if GROUPED && !DEPTHWISE_SEPARABLE_OPT
    const uint bias_offset = split_idx * BIAS_LENGTH;
#else
    const uint bias_offset = 0;
#endif
    result += bias[ofm_offset + bias_offset];
#endif
    const uint out_split_offset = split_idx * OUTPUT_FEATURE_PITCH * FILTER_OFM_NUM;
    const uint dst_index = batch_offset*OUTPUT_BATCH_PITCH + ofm_offset*OUTPUT_FEATURE_PITCH + out_y*OUTPUT_Y_PITCH + out_x*OUTPUT_X_PITCH + OUTPUT_OFFSET + out_split_offset;
    output[dst_index] = ACTIVATION(result, NL_M, NL_N);
}

__attribute__((intel_reqd_sub_group_size(16)))
__attribute__((reqd_work_group_size(16, 1, 1)))
KERNEL(convolution_gpu_yxfb_yxio_b16)(
    const __global UNIT_TYPE* input,
    __global UNIT_TYPE* output,
    const __global UNIT_TYPE* filter,
#if BIAS_TERM
    const __global UNIT_TYPE* bias,
#endif
    uint split_idx)
{
    // get_global_size(0) -> Number of work items needed to compute all features and all batches for single output spatial position
    //                       (single (x, y) point in output).
    // get_global_size(1) -> Output size in X-dimension.
    // get_global_size(2) -> Output size in Y-dimension.
    // get_global_id(0)   -> Id of work item computing single spatial point of output indicated by get_global_id(1), get_global_id(2).
    // get_group_id(1)   -> Current x-position in output.
    // get_group_id(2)   -> Current y-position in output.
    //
    // WORK_ITEMS_PER_SINGLE_BATCHES_ELEMENTS -> Number of work items needed to compute entire one batch for at least one feature and one spatial point.
    //                                           (this number in current implementation computes also OFM_PER_WORK_ITEM output features at the same time).
    // FILTER_ARRAY_NUM                       -> Number of filters groups (split size).

    const uint out_x = get_group_id(1);
    const uint out_y = get_group_id(2);

    const uint output_f_size = OUTPUT_PAD_BEFORE_FEATURE_NUM + OUTPUT_FEATURE_NUM + OUTPUT_PAD_AFTER_FEATURE_NUM;
    const uint output_x_size = OUTPUT_PAD_BEFORE_SIZE_X + OUTPUT_SIZE_X + OUTPUT_PAD_AFTER_SIZE_X;
    const uint linear_id_xy = OUTPUT_PAD_BEFORE_SIZE_X + out_x + output_x_size * (out_y + OUTPUT_PAD_BEFORE_SIZE_Y);
    uint global_id = (((uint)get_global_id(0) / WORK_ITEMS_PER_SINGLE_BATCHES_ELEMENTS) + (linear_id_xy * FILTER_ARRAY_NUM + split_idx) * (output_f_size / OFM_PER_WORK_ITEM)) * WORK_ITEMS_PER_SINGLE_BATCHES_ELEMENTS;

    const uint sub_group_id = get_local_id(0);

#if defined(USE_BLOCK_READ_2) || defined(USE_BLOCK_READ_1)
    const uint chunk_size = sizeof(uint)/sizeof(UNIT_TYPE);
#else
    const uint chunk_size = 1;
#endif

    const uint out_batch_id = chunk_size * sub_group_id + LOCAL_WORK_GROUP_SIZE * BATCHES_PER_WORK_ITEM * ((uint)get_group_id(0) % LOCAL_WORK_GROUPS_PER_SINGLE_BATCHES_ELEMENTS);

    const uint out_id = (global_id / WORK_ITEMS_PER_SINGLE_BATCHES_ELEMENTS) * OFM_PER_WORK_ITEM * OUTPUT_FEATURE_PITCH + OUTPUT_PAD_BEFORE_FEATURE_NUM * OUTPUT_FEATURE_PITCH + OUTPUT_PAD_BEFORE_BATCH_NUM + out_batch_id;

    const uint ofm_offset = ((global_id * OFM_PER_WORK_ITEM) / WORK_ITEMS_PER_SINGLE_BATCHES_ELEMENTS) % output_f_size;

    // Each component of vector element contains computation for separate output feature.
    half16 _data[BATCHES_PER_WORK_ITEM];
    for(uint i = 0; i < BATCHES_PER_WORK_ITEM; i++)
    {
        _data[i] = UNIT_VAL_ZERO;
    }

    const int x = (int)out_x * STRIDE_SIZE_X - PADDING_SIZE_X;
    const int y = (int)out_y * STRIDE_SIZE_Y - PADDING_SIZE_Y;

    for (uint i = 0; i < FILTER_SIZE_Y; i++)
    {
        const int input_offset_y = y + i * DILATION_SIZE_Y;
        const bool zero_y = input_offset_y >= INPUT0_SIZE_Y || input_offset_y < 0;

        if(!zero_y)
        {
            for (uint j = 0; j < FILTER_SIZE_X; j++)
            {
                const int input_offset_x = x + j * DILATION_SIZE_X;
                const bool zero = input_offset_x >= INPUT0_SIZE_X || input_offset_x < 0;

                if(!zero)
                {
                    uint input_idx = input_offset_x*INPUT0_X_PITCH + input_offset_y*INPUT0_Y_PITCH;
                    input_idx += INPUT0_OFFSET + split_idx * FILTER_IFM_NUM * INPUT0_FEATURE_PITCH;
                    input_idx += out_batch_id;

                    //sub_group_id used as offset to make each workitem load different filter, and then shuffle it
                    // 2 * sub_group_id is used because we group 2 halfs as one uint element.
                    uint filter_idx = ofm_offset + 2*sub_group_id + i*FILTER_Y_PITCH + j*FILTER_X_PITCH;

                    for (uint h = 0; h < FILTER_IFM_NUM; h++)
                    {
#if defined(USE_BLOCK_READ_2)
                        half4 _input = as_half4(intel_sub_group_block_read2((const __global uint*)(input + input_idx)));
                        uint filter_val_pair = *(const __global uint*)(filter + filter_idx);
                        half16 filter_transp = TRANSPOSE_BLOCK_16_FP16(filter_val_pair);
                        _data[0] = fma(_input.s0, filter_transp, _data[0]);
                        _data[1] = fma(_input.s1, filter_transp, _data[1]);
                        _data[2] = fma(_input.s2, filter_transp, _data[2]);
                        _data[3] = fma(_input.s3, filter_transp, _data[3]);
                        input_idx += INPUT0_FEATURE_PITCH;
#elif defined(USE_BLOCK_READ_1)
                        half2 _input = as_half2(intel_sub_group_block_read((const __global uint*)(input + input_idx)));
                        uint filter_val_pair = *(const __global uint*)(filter + filter_idx);
                        half16 filter_transp = TRANSPOSE_BLOCK_16_FP16(filter_val_pair);
                        _data[0] = fma(_input.s0, filter_transp, _data[0]);
                        _data[1] = fma(_input.s1, filter_transp, _data[1]);
                        input_idx += INPUT0_FEATURE_PITCH;
#else
                        uint filter_val_pair = *(const __global uint*)(filter + filter_idx);
                        half16 filter_transp = TRANSPOSE_BLOCK_16_FP16(filter_val_pair);
                        for(uint s = 0; s < BATCHES_PER_WORK_ITEM; s++)
                        {
                            _data[s] = fma(input[input_idx], filter_transp, _data[s]);
                            input_idx += LOCAL_WORK_GROUP_SIZE;
                        }
                        input_idx += INPUT0_FEATURE_PITCH - BATCHES_PER_WORK_ITEM * LOCAL_WORK_GROUP_SIZE;
#endif
                        filter_idx += FILTER_IFM_PITCH;
                    }
                }
            }
        }
    }

#if BIAS_TERM
    uint bias_val_pair = *(const __global uint*)(bias + (ofm_offset + 2 * sub_group_id));
    for(uint s = 0; s < BATCHES_PER_WORK_ITEM; s++)
    {
        ADD_BIAS_16_FP16(_data[s], bias_val_pair);
    }
#endif
    for(uint s = 0; s < BATCHES_PER_WORK_ITEM; s++)
    {
        _data[s] = ACTIVATION(_data[s], NL_M, NL_N);
    }

#if defined(USE_BLOCK_READ_2) || defined(USE_BLOCK_READ_1)
    #if BATCHES_PER_WORK_ITEM == 4
        uint _out_id = OUTPUT_VIEW_OFFSET + out_id;
        for(uint i = 0; i < 16; i++)
        {
            *(__global uint*)(output + _out_id) = as_uint((half2)(_data[0][i], _data[1][i]));
            *(__global uint*)(output + _out_id + 32) = as_uint((half2)(_data[2][i], _data[3][i]));
            _out_id += OUTPUT_FEATURE_PITCH;
        }
    #else
    for(uint s = 0; s < BATCHES_PER_WORK_ITEM / 2; s++)
    {
        uint _out_id = OUTPUT_VIEW_OFFSET + out_id + chunk_size * s * LOCAL_WORK_GROUP_SIZE;
        *(__global uint*)(output + _out_id) = as_uint((half2)(_data[chunk_size * s].s0, _data[chunk_size * s + 1].s0)); _out_id += OUTPUT_FEATURE_PITCH;
        *(__global uint*)(output + _out_id) = as_uint((half2)(_data[chunk_size * s].s1, _data[chunk_size * s + 1].s1)); _out_id += OUTPUT_FEATURE_PITCH;
        *(__global uint*)(output + _out_id) = as_uint((half2)(_data[chunk_size * s].s2, _data[chunk_size * s + 1].s2)); _out_id += OUTPUT_FEATURE_PITCH;
        *(__global uint*)(output + _out_id) = as_uint((half2)(_data[chunk_size * s].s3, _data[chunk_size * s + 1].s3)); _out_id += OUTPUT_FEATURE_PITCH;
        *(__global uint*)(output + _out_id) = as_uint((half2)(_data[chunk_size * s].s4, _data[chunk_size * s + 1].s4)); _out_id += OUTPUT_FEATURE_PITCH;
        *(__global uint*)(output + _out_id) = as_uint((half2)(_data[chunk_size * s].s5, _data[chunk_size * s + 1].s5)); _out_id += OUTPUT_FEATURE_PITCH;
        *(__global uint*)(output + _out_id) = as_uint((half2)(_data[chunk_size * s].s6, _data[chunk_size * s + 1].s6)); _out_id += OUTPUT_FEATURE_PITCH;
        *(__global uint*)(output + _out_id) = as_uint((half2)(_data[chunk_size * s].s7, _data[chunk_size * s + 1].s7)); _out_id += OUTPUT_FEATURE_PITCH;
        *(__global uint*)(output + _out_id) = as_uint((half2)(_data[chunk_size * s].s8, _data[chunk_size * s + 1].s8)); _out_id += OUTPUT_FEATURE_PITCH;
        *(__global uint*)(output + _out_id) = as_uint((half2)(_data[chunk_size * s].s9, _data[chunk_size * s + 1].s9)); _out_id += OUTPUT_FEATURE_PITCH;
        *(__global uint*)(output + _out_id) = as_uint((half2)(_data[chunk_size * s].sa, _data[chunk_size * s + 1].sa)); _out_id += OUTPUT_FEATURE_PITCH;
        *(__global uint*)(output + _out_id) = as_uint((half2)(_data[chunk_size * s].sb, _data[chunk_size * s + 1].sb)); _out_id += OUTPUT_FEATURE_PITCH;
        *(__global uint*)(output + _out_id) = as_uint((half2)(_data[chunk_size * s].sc, _data[chunk_size * s + 1].sc)); _out_id += OUTPUT_FEATURE_PITCH;
        *(__global uint*)(output + _out_id) = as_uint((half2)(_data[chunk_size * s].sd, _data[chunk_size * s + 1].sd)); _out_id += OUTPUT_FEATURE_PITCH;
        *(__global uint*)(output + _out_id) = as_uint((half2)(_data[chunk_size * s].se, _data[chunk_size * s + 1].se)); _out_id += OUTPUT_FEATURE_PITCH;
        *(__global uint*)(output + _out_id) = as_uint((half2)(_data[chunk_size * s].sf, _data[chunk_size * s + 1].sf)); _out_id += OUTPUT_FEATURE_PITCH;
    }
    #endif
#else
    for(uint s = 0; s < BATCHES_PER_WORK_ITEM; s++)
    {
        uint _out_id = OUTPUT_VIEW_OFFSET + out_id + s * LOCAL_WORK_GROUP_SIZE;
        output[_out_id] = _data[s].s0; _out_id += OUTPUT_FEATURE_PITCH;
        output[_out_id] = _data[s].s1; _out_id += OUTPUT_FEATURE_PITCH;
        output[_out_id] = _data[s].s2; _out_id += OUTPUT_FEATURE_PITCH;
        output[_out_id] = _data[s].s3; _out_id += OUTPUT_FEATURE_PITCH;
        output[_out_id] = _data[s].s4; _out_id += OUTPUT_FEATURE_PITCH;
        output[_out_id] = _data[s].s5; _out_id += OUTPUT_FEATURE_PITCH;
        output[_out_id] = _data[s].s6; _out_id += OUTPUT_FEATURE_PITCH;
        output[_out_id] = _data[s].s7; _out_id += OUTPUT_FEATURE_PITCH;
        output[_out_id] = _data[s].s8; _out_id += OUTPUT_FEATURE_PITCH;
        output[_out_id] = _data[s].s9; _out_id += OUTPUT_FEATURE_PITCH;
        output[_out_id] = _data[s].sa; _out_id += OUTPUT_FEATURE_PITCH;
        output[_out_id] = _data[s].sb; _out_id += OUTPUT_FEATURE_PITCH;
        output[_out_id] = _data[s].sc; _out_id += OUTPUT_FEATURE_PITCH;
        output[_out_id] = _data[s].sd; _out_id += OUTPUT_FEATURE_PITCH;
        output[_out_id] = _data[s].se; _out_id += OUTPUT_FEATURE_PITCH;
        output[_out_id] = _data[s].sf; _out_id += OUTPUT_FEATURE_PITCH;
    }
#endif
}

        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif


/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_intel_subgroups)
#pragma OPENCL EXTENSION  cl_intel_subgroups : enable
#endif

#if defined(cl_intel_subgroups_short)
#pragma OPENCL EXTENSION  cl_intel_subgroups_short : enable
#endif

#define TRANSPOSE_BLOCK_8( _block )   \
        (float8)( intel_sub_group_shuffle( _block, 0 ), \
                  intel_sub_group_shuffle( _block, 1 ), \
                  intel_sub_group_shuffle( _block, 2 ), \
                  intel_sub_group_shuffle( _block, 3 ), \
                  intel_sub_group_shuffle( _block, 4 ), \
                  intel_sub_group_shuffle( _block, 5 ), \
                  intel_sub_group_shuffle( _block, 6 ), \
                  intel_sub_group_shuffle( _block, 7 ) );

#define TRANSPOSE_BLOCK_8_FP16( _block )   \
        (half8)( intel_sub_group_shuffle( _block, 0 ), \
                  intel_sub_group_shuffle( _block, 1 ), \
                  intel_sub_group_shuffle( _block, 2 ), \
                  intel_sub_group_shuffle( _block, 3 ), \
                  intel_sub_group_shuffle( _block, 4 ), \
                  intel_sub_group_shuffle( _block, 5 ), \
                  intel_sub_group_shuffle( _block, 6 ), \
                  intel_sub_group_shuffle( _block, 7 ) );

#define TRANSPOSE_BLOCK_8_COL( _block, _col )   \
        (float8)( intel_sub_group_shuffle( _block.s0, _col ), \
                  intel_sub_group_shuffle( _block.s1, _col ), \
                  intel_sub_group_shuffle( _block.s2, _col ), \
                  intel_sub_group_shuffle( _block.s3, _col ), \
                  intel_sub_group_shuffle( _block.s4, _col ), \
                  intel_sub_group_shuffle( _block.s5, _col ), \
                  intel_sub_group_shuffle( _block.s6, _col ), \
                  intel_sub_group_shuffle( _block.s7, _col ) );

#define TRANSPOSE_BLOCK_8_COL_FP16( _block, _col )   \
        (half8)( intel_sub_group_shuffle( _block.s0, _col ), \
                  intel_sub_group_shuffle( _block.s1, _col ), \
                  intel_sub_group_shuffle( _block.s2, _col ), \
                  intel_sub_group_shuffle( _block.s3, _col ), \
                  intel_sub_group_shuffle( _block.s4, _col ), \
                  intel_sub_group_shuffle( _block.s5, _col ), \
                  intel_sub_group_shuffle( _block.s6, _col ), \
                  intel_sub_group_shuffle( _block.s7, _col ) );

#define TRANSPOSE_BLOCK_16_FP16(_block)  \
        (half16)(as_half2(intel_sub_group_shuffle(_block, 0)),  \
                 as_half2(intel_sub_group_shuffle(_block, 1)),  \
                 as_half2(intel_sub_group_shuffle(_block, 2)),  \
                 as_half2(intel_sub_group_shuffle(_block, 3)),  \
                 as_half2(intel_sub_group_shuffle(_block, 4)),  \
                 as_half2(intel_sub_group_shuffle(_block, 5)),  \
                 as_half2(intel_sub_group_shuffle(_block, 6)),  \
                 as_half2(intel_sub_group_shuffle(_block, 7)));

#define TRANSPOSE_BLOCK_16_FP16_HALF_TYPE(_block)  \
        (half16)(intel_sub_group_shuffle(_block, 0),  \
                 intel_sub_group_shuffle(_block, 1),  \
                 intel_sub_group_shuffle(_block, 2),  \
                 intel_sub_group_shuffle(_block, 3),  \
                 intel_sub_group_shuffle(_block, 4),  \
                 intel_sub_group_shuffle(_block, 5),  \
                 intel_sub_group_shuffle(_block, 6),  \
                 intel_sub_group_shuffle(_block, 7),  \
                 intel_sub_group_shuffle(_block, 8),  \
                 intel_sub_group_shuffle(_block, 9),  \
                 intel_sub_group_shuffle(_block, 10),  \
                 intel_sub_group_shuffle(_block, 11),  \
                 intel_sub_group_shuffle(_block, 12),  \
                 intel_sub_group_shuffle(_block, 13),  \
                 intel_sub_group_shuffle(_block, 14),  \
                 intel_sub_group_shuffle(_block, 15));

#define TRANSPOSE_BLOCK_16(_block)  \
        (float16)(intel_sub_group_shuffle(_block, 0),  \
                 intel_sub_group_shuffle(_block, 1),  \
                 intel_sub_group_shuffle(_block, 2),  \
                 intel_sub_group_shuffle(_block, 3),  \
                 intel_sub_group_shuffle(_block, 4),  \
                 intel_sub_group_shuffle(_block, 5),  \
                 intel_sub_group_shuffle(_block, 6),  \
                 intel_sub_group_shuffle(_block, 7),  \
                 intel_sub_group_shuffle(_block, 8),  \
                 intel_sub_group_shuffle(_block, 9),  \
                 intel_sub_group_shuffle(_block, 10),  \
                 intel_sub_group_shuffle(_block, 11),  \
                 intel_sub_group_shuffle(_block, 12),  \
                 intel_sub_group_shuffle(_block, 13),  \
                 intel_sub_group_shuffle(_block, 14),  \
                 intel_sub_group_shuffle(_block, 15));

#define DOT_PRODUCT_8( _result, _rowA, colB )    \
{   \
        _result.s0 = mad( _rowA, intel_sub_group_shuffle( colB, 0 ), _result.s0 );  \
        _result.s1 = mad( _rowA, intel_sub_group_shuffle( colB, 1 ), _result.s1 );  \
        _result.s2 = mad( _rowA, intel_sub_group_shuffle( colB, 2 ), _result.s2 );  \
        _result.s3 = mad( _rowA, intel_sub_group_shuffle( colB, 3 ), _result.s3 );  \
        _result.s4 = mad( _rowA, intel_sub_group_shuffle( colB, 4 ), _result.s4 );  \
        _result.s5 = mad( _rowA, intel_sub_group_shuffle( colB, 5 ), _result.s5 );  \
        _result.s6 = mad( _rowA, intel_sub_group_shuffle( colB, 6 ), _result.s6 );  \
        _result.s7 = mad( _rowA, intel_sub_group_shuffle( colB, 7 ), _result.s7 );  \
}

#define ADD_BIAS_8( _result, _biasVal) \
{ \
    _result.s0 += intel_sub_group_shuffle( _biasVal, 0 ); \
    _result.s1 += intel_sub_group_shuffle( _biasVal, 1 ); \
    _result.s2 += intel_sub_group_shuffle( _biasVal, 2 ); \
    _result.s3 += intel_sub_group_shuffle( _biasVal, 3 ); \
    _result.s4 += intel_sub_group_shuffle( _biasVal, 4 ); \
    _result.s5 += intel_sub_group_shuffle( _biasVal, 5 ); \
    _result.s6 += intel_sub_group_shuffle( _biasVal, 6 ); \
    _result.s7 += intel_sub_group_shuffle( _biasVal, 7 ); \
}

#define ADD_BIAS_16_FP16( _result, _biasVal) \
{ \
    _result.s01 += as_half2(intel_sub_group_shuffle(_biasVal, 0)); \
    _result.s23 += as_half2(intel_sub_group_shuffle(_biasVal, 1)); \
    _result.s45 += as_half2(intel_sub_group_shuffle(_biasVal, 2)); \
    _result.s67 += as_half2(intel_sub_group_shuffle(_biasVal, 3)); \
    _result.s89 += as_half2(intel_sub_group_shuffle(_biasVal, 4)); \
    _result.sab += as_half2(intel_sub_group_shuffle(_biasVal, 5)); \
    _result.scd += as_half2(intel_sub_group_shuffle(_biasVal, 6)); \
    _result.sef += as_half2(intel_sub_group_shuffle(_biasVal, 7)); \
}


convolution_gpu_yxfb_yxio_b16_fp16KERNEL(convolution_gpu_yxfb_yxio_b16)(
    const __global float* input,
    __global UNIT_TYPE* output,
    const __global float* filter,
#if BIAS_TERM
    const __global float* bias,
#endif
    uint split_idx)
{
    // get_global_size(0) -> Number of work items needed to compute all features and all batches for single output spatial position
    //                       (single (x, y) point in output).
    // get_global_size(1) -> Output size in X-dimension.
    // get_global_size(2) -> Output size in Y-dimension.
    // get_global_id(0)   -> Id of work item computing single spatial point of output indicated by get_global_id(1), get_global_id(2).
    // get_global_id(1)   -> Current x-position in output.
    // get_global_id(2)   -> Current y-position in output.
    //
    // WORK_ITEMS_PER_SINGLE_BATCHES_ELEMENTS -> Number of work items needed to compute entire one batch for at least one feature and one spatial point.
    //                                           (this number in current implementation computes also OFM_PER_WORK_ITEM output features at the same time).
    // FILTER_ARRAY_NUM                       -> Number of filters groups (split size).

    const uint out_x = get_global_id(1);
    const uint out_y = get_global_id(2);

    const uint output_f_size = OUTPUT_PAD_BEFORE_FEATURE_NUM + OUTPUT_FEATURE_NUM + OUTPUT_PAD_AFTER_FEATURE_NUM;
    const uint output_x_size = OUTPUT_PAD_BEFORE_SIZE_X + OUTPUT_SIZE_X + OUTPUT_PAD_AFTER_SIZE_X;
    const uint linear_id_xy = OUTPUT_PAD_BEFORE_SIZE_X + out_x + output_x_size * (out_y + OUTPUT_PAD_BEFORE_SIZE_Y);
    uint global_id = (((uint)get_global_id(0) / WORK_ITEMS_PER_SINGLE_BATCHES_ELEMENTS) + (linear_id_xy * FILTER_ARRAY_NUM + split_idx) * (output_f_size / OFM_PER_WORK_ITEM)) * WORK_ITEMS_PER_SINGLE_BATCHES_ELEMENTS;

    const uint sub_group_id = get_local_id(0);

#if defined(USE_BLOCK_READ_2) || defined(USE_BLOCK_READ_1)
    const uint chunk_size = sizeof(uint)/sizeof(UNIT_TYPE);
#else
    const uint chunk_size = 1;
#endif

    const uint out_batch_id = chunk_size * sub_group_id + LOCAL_WORK_GROUP_SIZE * BATCHES_PER_WORK_ITEM * ((uint)get_group_id(0) % LOCAL_WORK_GROUPS_PER_SINGLE_BATCHES_ELEMENTS);

    const uint out_id = (global_id / WORK_ITEMS_PER_SINGLE_BATCHES_ELEMENTS) * OFM_PER_WORK_ITEM * OUTPUT_FEATURE_PITCH + OUTPUT_PAD_BEFORE_FEATURE_NUM * OUTPUT_FEATURE_PITCH + OUTPUT_PAD_BEFORE_BATCH_NUM + out_batch_id;

    const uint ofm_offset = ((global_id * OFM_PER_WORK_ITEM) / WORK_ITEMS_PER_SINGLE_BATCHES_ELEMENTS) % output_f_size;

    // Each component of vector element contains computation for separate output feature.
    float8 _data[BATCHES_PER_WORK_ITEM];
    for(uint i = 0; i < BATCHES_PER_WORK_ITEM; i++)
    {
        _data[i] = UNIT_VAL_ZERO;
    }

    const int x = (int)out_x * STRIDE_SIZE_X - PADDING_SIZE_X;
    const int y = (int)out_y * STRIDE_SIZE_Y - PADDING_SIZE_Y;

    for (uint i = 0; i < FILTER_SIZE_Y; i++)
    {
        const int input_offset_y = y + i * DILATION_SIZE_Y;
        const bool zero_y = input_offset_y >= INPUT0_SIZE_Y || input_offset_y < 0;

        if(!zero_y)
        {
            for (uint j = 0; j < FILTER_SIZE_X; j++)
            {
                const int input_offset_x = x + j * DILATION_SIZE_X;
                const bool zero = input_offset_x >= INPUT0_SIZE_X || input_offset_x < 0;

                if(!zero)
                {
                    uint input_idx = input_offset_x*INPUT0_X_PITCH + input_offset_y*INPUT0_Y_PITCH;
                    input_idx += INPUT0_OFFSET + split_idx * FILTER_IFM_NUM * INPUT0_FEATURE_PITCH;
                    input_idx += out_batch_id;

                    //sub_group_id used as offset to make each workitem load different filter, and then shuffle it
                    uint filter_idx = ofm_offset + sub_group_id + i*FILTER_Y_PITCH + j*FILTER_X_PITCH;

                    for (uint h = 0; h < FILTER_IFM_NUM; h++)
                    {
#ifdef USE_BLOCK_READ_2
                        float2 _input = as_float2(intel_sub_group_block_read2((const __global uint*)input + input_idx));
                        float8 filter_transp = TRANSPOSE_BLOCK_8(filter[filter_idx]);
                        _data[0] = fma(_input.s0, filter_transp, _data[0]);
                        _data[1] = fma(_input.s1, filter_transp, _data[1]);
                        input_idx += INPUT0_FEATURE_PITCH;
#else
                        float8 filter_transp = TRANSPOSE_BLOCK_8(filter[filter_idx]);
                        for(uint s = 0; s < BATCHES_PER_WORK_ITEM; s++)
                        {
                            _data[s] = fma(input[input_idx], filter_transp, _data[s]);
                            input_idx += LOCAL_WORK_GROUP_SIZE;
                        }
                        input_idx += INPUT0_FEATURE_PITCH - BATCHES_PER_WORK_ITEM * LOCAL_WORK_GROUP_SIZE;
#endif
                        filter_idx += FILTER_IFM_PITCH;
                    }
                }
            }
        }
    }

#if BIAS_TERM
    float bias_val = bias[ofm_offset + sub_group_id];
    for(uint s = 0; s < BATCHES_PER_WORK_ITEM; s++)
    {
        ADD_BIAS_8(_data[s], bias_val);
    }
#endif
    for(uint s = 0; s < BATCHES_PER_WORK_ITEM; s++)
    {
        _data[s] = ACTIVATION(_data[s], NL_M, NL_N);
    }

    for(uint s = 0; s < BATCHES_PER_WORK_ITEM; s++)
    {
        uint _out_id = OUTPUT_VIEW_OFFSET + out_id + s * LOCAL_WORK_GROUP_SIZE;
        output[_out_id] = _data[s].s0; _out_id += OUTPUT_FEATURE_PITCH;
        output[_out_id] = _data[s].s1; _out_id += OUTPUT_FEATURE_PITCH;
        output[_out_id] = _data[s].s2; _out_id += OUTPUT_FEATURE_PITCH;
        output[_out_id] = _data[s].s3; _out_id += OUTPUT_FEATURE_PITCH;
        output[_out_id] = _data[s].s4; _out_id += OUTPUT_FEATURE_PITCH;
        output[_out_id] = _data[s].s5; _out_id += OUTPUT_FEATURE_PITCH;
        output[_out_id] = _data[s].s6; _out_id += OUTPUT_FEATURE_PITCH;
        output[_out_id] = _data[s].s7; _out_id += OUTPUT_FEATURE_PITCH;
    }
}

convolution_gpu_yxfb_yxio_b16_fp32KERNEL(convolution_gpu_yxfb_yxio_b1_block)(
    const __global float* input,
    __global float* output,
    const __global float* filter,
#if BIAS_TERM
    const __global float* bias,
#endif
    uint split_idx)
{
#ifdef USE_VECTOR_8
    #define VECTOR_FLOAT float8
    #define BLOCK_READ(IN) as_float8(intel_sub_group_block_read8((const __global uint*)IN))
    #define BLOCK_WRITE(OUT, DATA) intel_sub_group_block_write8((__global uint*)OUT, as_uint8(DATA));
#endif
#ifdef USE_VECTOR_4
    #define VECTOR_FLOAT float4
    #define BLOCK_READ(IN) as_float4(intel_sub_group_block_read4((const __global uint*)IN))
    #define BLOCK_WRITE(OUT, DATA) intel_sub_group_block_write4((__global uint*)OUT, as_uint4(DATA));
#endif
#ifdef USE_VECTOR_2
    #define VECTOR_FLOAT float2
    #define BLOCK_READ(IN) as_float2(intel_sub_group_block_read2((const __global uint*)IN))
    #define BLOCK_WRITE(OUT, DATA) intel_sub_group_block_write2((__global uint*)OUT, as_uint2(DATA));
#endif

    const uint batch_num = INPUT0_BATCH_NUM;
    const uint linear_id_xy = get_group_id(1) + get_global_size(1) * get_group_id(2);
    uint global_id = (((uint)get_group_id(0) * LOCAL_WORK_GROUP_SIZE) / batch_num) * batch_num + (linear_id_xy * FILTER_ARRAY_NUM + split_idx) * (FILTER_OFM_NUM / OFM_PER_WORK_ITEM) * batch_num;

    const uint out_batch_id = (uint)get_local_id(0) % INPUT0_BATCH_NUM;
    const uint out_x = get_group_id(1);
    const uint out_y = get_group_id(2);

    const uint out_id = (global_id / batch_num) * OFM_PER_WORK_ITEM * batch_num + out_batch_id;

    const uint ofm_offset = (global_id * (OFM_PER_WORK_ITEM / batch_num)) % FILTER_OFM_NUM;

    const uint sub_group_id = (uint)get_local_id(0) % INPUT0_BATCH_NUM;

    VECTOR_FLOAT _data0 = 0.f;

    const int x = (int)out_x * STRIDE_SIZE_X - PADDING_SIZE_X;
    const int y = (int)out_y * STRIDE_SIZE_Y - PADDING_SIZE_Y;

    for (uint i = 0; i < FILTER_SIZE_Y; i++)
    {
        const int input_offset_y = y + i * DILATION_SIZE_Y;
        const bool zero_y = input_offset_y >= INPUT0_SIZE_Y || input_offset_y < 0;

        if(!zero_y)
        {
            for (uint j = 0; j < FILTER_SIZE_X; j++)
            {
                const int input_offset_x = x + j * DILATION_SIZE_X;
                const bool zero = input_offset_x >= INPUT0_SIZE_X || input_offset_x < 0;

                if(!zero)
                {
                    uint input_idx = input_offset_x*INPUT0_X_PITCH + input_offset_y*INPUT0_Y_PITCH;
                    input_idx += INPUT0_OFFSET + split_idx * FILTER_IFM_NUM * INPUT0_FEATURE_PITCH;
                    input_idx += out_batch_id;

                    uint filter_idx = ofm_offset + sub_group_id + i*FILTER_Y_PITCH + j*FILTER_X_PITCH;

#if INPUT0_BATCH_NUM == 1
                    for(uint h = 0; h < FILTER_IFM_NUM / 8; h++)
                    {
                        float _in = as_float(intel_sub_group_block_read((const __global uint*)input + input_idx));
                        float8 _input = TRANSPOSE_BLOCK_8(_in);

                        VECTOR_FLOAT _filter;
                        _filter = BLOCK_READ(filter + filter_idx); filter_idx += FILTER_OFM_NUM;
                        _data0 = mad(_input.s0, _filter, _data0);

                        _filter = BLOCK_READ(filter + filter_idx); filter_idx += FILTER_OFM_NUM;
                        _data0 = mad(_input.s1, _filter, _data0);

                        _filter = BLOCK_READ(filter + filter_idx); filter_idx += FILTER_OFM_NUM;
                        _data0 = mad(_input.s2, _filter, _data0);

                        _filter = BLOCK_READ(filter + filter_idx); filter_idx += FILTER_OFM_NUM;
                        _data0 = mad(_input.s3, _filter, _data0);

                        _filter = BLOCK_READ(filter + filter_idx); filter_idx += FILTER_OFM_NUM;
                        _data0 = mad(_input.s4, _filter, _data0);

                        _filter = BLOCK_READ(filter + filter_idx); filter_idx += FILTER_OFM_NUM;
                        _data0 = mad(_input.s5, _filter, _data0);

                        _filter = BLOCK_READ(filter + filter_idx); filter_idx += FILTER_OFM_NUM;
                        _data0 = mad(_input.s6, _filter, _data0);

                        _filter = BLOCK_READ(filter + filter_idx); filter_idx += FILTER_OFM_NUM;
                        _data0 = mad(_input.s7, _filter, _data0);

                        input_idx += 8 * INPUT0_FEATURE_PITCH;
                    }
                    for (uint h = FILTER_IFM_NUM - (FILTER_IFM_NUM % 8); h < FILTER_IFM_NUM; h++)
#else
                    for (uint h = 0; h < FILTER_IFM_NUM; h++)
#endif
                    {
                        VECTOR_FLOAT _filter = BLOCK_READ(filter + filter_idx);
                        _data0 = mad(input[input_idx], _filter, _data0);
                        filter_idx += FILTER_IFM_PITCH;
                        input_idx += INPUT0_FEATURE_PITCH;
                    }
                }
            }
        }
    }

#if BIAS_TERM
    _data0 += BLOCK_READ(bias + ofm_offset);
#endif
    _data0 = ACTIVATION(_data0, NL_M, NL_N);

    uint _out_id = OUTPUT_OFFSET + out_id;
    BLOCK_WRITE(output + _out_id, _data0);
#if defined(USE_VECTOR_8) || defined(USE_VECTOR_4) || defined(USE_VECTOR_2)
    #undef VECTOR_FLOAT
    #undef BLOCK_READ
    #undef BLOCK_WRITE
#endif
}

        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif


/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_intel_subgroups)
#pragma OPENCL EXTENSION  cl_intel_subgroups : enable
#endif

#if defined(cl_intel_subgroups_short)
#pragma OPENCL EXTENSION  cl_intel_subgroups_short : enable
#endif

#define TRANSPOSE_BLOCK_8( _block )   \
        (float8)( intel_sub_group_shuffle( _block, 0 ), \
                  intel_sub_group_shuffle( _block, 1 ), \
                  intel_sub_group_shuffle( _block, 2 ), \
                  intel_sub_group_shuffle( _block, 3 ), \
                  intel_sub_group_shuffle( _block, 4 ), \
                  intel_sub_group_shuffle( _block, 5 ), \
                  intel_sub_group_shuffle( _block, 6 ), \
                  intel_sub_group_shuffle( _block, 7 ) );

#define TRANSPOSE_BLOCK_8_FP16( _block )   \
        (half8)( intel_sub_group_shuffle( _block, 0 ), \
                  intel_sub_group_shuffle( _block, 1 ), \
                  intel_sub_group_shuffle( _block, 2 ), \
                  intel_sub_group_shuffle( _block, 3 ), \
                  intel_sub_group_shuffle( _block, 4 ), \
                  intel_sub_group_shuffle( _block, 5 ), \
                  intel_sub_group_shuffle( _block, 6 ), \
                  intel_sub_group_shuffle( _block, 7 ) );

#define TRANSPOSE_BLOCK_8_COL( _block, _col )   \
        (float8)( intel_sub_group_shuffle( _block.s0, _col ), \
                  intel_sub_group_shuffle( _block.s1, _col ), \
                  intel_sub_group_shuffle( _block.s2, _col ), \
                  intel_sub_group_shuffle( _block.s3, _col ), \
                  intel_sub_group_shuffle( _block.s4, _col ), \
                  intel_sub_group_shuffle( _block.s5, _col ), \
                  intel_sub_group_shuffle( _block.s6, _col ), \
                  intel_sub_group_shuffle( _block.s7, _col ) );

#define TRANSPOSE_BLOCK_8_COL_FP16( _block, _col )   \
        (half8)( intel_sub_group_shuffle( _block.s0, _col ), \
                  intel_sub_group_shuffle( _block.s1, _col ), \
                  intel_sub_group_shuffle( _block.s2, _col ), \
                  intel_sub_group_shuffle( _block.s3, _col ), \
                  intel_sub_group_shuffle( _block.s4, _col ), \
                  intel_sub_group_shuffle( _block.s5, _col ), \
                  intel_sub_group_shuffle( _block.s6, _col ), \
                  intel_sub_group_shuffle( _block.s7, _col ) );

#define TRANSPOSE_BLOCK_16_FP16(_block)  \
        (half16)(as_half2(intel_sub_group_shuffle(_block, 0)),  \
                 as_half2(intel_sub_group_shuffle(_block, 1)),  \
                 as_half2(intel_sub_group_shuffle(_block, 2)),  \
                 as_half2(intel_sub_group_shuffle(_block, 3)),  \
                 as_half2(intel_sub_group_shuffle(_block, 4)),  \
                 as_half2(intel_sub_group_shuffle(_block, 5)),  \
                 as_half2(intel_sub_group_shuffle(_block, 6)),  \
                 as_half2(intel_sub_group_shuffle(_block, 7)));

#define TRANSPOSE_BLOCK_16_FP16_HALF_TYPE(_block)  \
        (half16)(intel_sub_group_shuffle(_block, 0),  \
                 intel_sub_group_shuffle(_block, 1),  \
                 intel_sub_group_shuffle(_block, 2),  \
                 intel_sub_group_shuffle(_block, 3),  \
                 intel_sub_group_shuffle(_block, 4),  \
                 intel_sub_group_shuffle(_block, 5),  \
                 intel_sub_group_shuffle(_block, 6),  \
                 intel_sub_group_shuffle(_block, 7),  \
                 intel_sub_group_shuffle(_block, 8),  \
                 intel_sub_group_shuffle(_block, 9),  \
                 intel_sub_group_shuffle(_block, 10),  \
                 intel_sub_group_shuffle(_block, 11),  \
                 intel_sub_group_shuffle(_block, 12),  \
                 intel_sub_group_shuffle(_block, 13),  \
                 intel_sub_group_shuffle(_block, 14),  \
                 intel_sub_group_shuffle(_block, 15));

#define TRANSPOSE_BLOCK_16(_block)  \
        (float16)(intel_sub_group_shuffle(_block, 0),  \
                 intel_sub_group_shuffle(_block, 1),  \
                 intel_sub_group_shuffle(_block, 2),  \
                 intel_sub_group_shuffle(_block, 3),  \
                 intel_sub_group_shuffle(_block, 4),  \
                 intel_sub_group_shuffle(_block, 5),  \
                 intel_sub_group_shuffle(_block, 6),  \
                 intel_sub_group_shuffle(_block, 7),  \
                 intel_sub_group_shuffle(_block, 8),  \
                 intel_sub_group_shuffle(_block, 9),  \
                 intel_sub_group_shuffle(_block, 10),  \
                 intel_sub_group_shuffle(_block, 11),  \
                 intel_sub_group_shuffle(_block, 12),  \
                 intel_sub_group_shuffle(_block, 13),  \
                 intel_sub_group_shuffle(_block, 14),  \
                 intel_sub_group_shuffle(_block, 15));

#define DOT_PRODUCT_8( _result, _rowA, colB )    \
{   \
        _result.s0 = mad( _rowA, intel_sub_group_shuffle( colB, 0 ), _result.s0 );  \
        _result.s1 = mad( _rowA, intel_sub_group_shuffle( colB, 1 ), _result.s1 );  \
        _result.s2 = mad( _rowA, intel_sub_group_shuffle( colB, 2 ), _result.s2 );  \
        _result.s3 = mad( _rowA, intel_sub_group_shuffle( colB, 3 ), _result.s3 );  \
        _result.s4 = mad( _rowA, intel_sub_group_shuffle( colB, 4 ), _result.s4 );  \
        _result.s5 = mad( _rowA, intel_sub_group_shuffle( colB, 5 ), _result.s5 );  \
        _result.s6 = mad( _rowA, intel_sub_group_shuffle( colB, 6 ), _result.s6 );  \
        _result.s7 = mad( _rowA, intel_sub_group_shuffle( colB, 7 ), _result.s7 );  \
}

#define ADD_BIAS_8( _result, _biasVal) \
{ \
    _result.s0 += intel_sub_group_shuffle( _biasVal, 0 ); \
    _result.s1 += intel_sub_group_shuffle( _biasVal, 1 ); \
    _result.s2 += intel_sub_group_shuffle( _biasVal, 2 ); \
    _result.s3 += intel_sub_group_shuffle( _biasVal, 3 ); \
    _result.s4 += intel_sub_group_shuffle( _biasVal, 4 ); \
    _result.s5 += intel_sub_group_shuffle( _biasVal, 5 ); \
    _result.s6 += intel_sub_group_shuffle( _biasVal, 6 ); \
    _result.s7 += intel_sub_group_shuffle( _biasVal, 7 ); \
}

#define ADD_BIAS_16_FP16( _result, _biasVal) \
{ \
    _result.s01 += as_half2(intel_sub_group_shuffle(_biasVal, 0)); \
    _result.s23 += as_half2(intel_sub_group_shuffle(_biasVal, 1)); \
    _result.s45 += as_half2(intel_sub_group_shuffle(_biasVal, 2)); \
    _result.s67 += as_half2(intel_sub_group_shuffle(_biasVal, 3)); \
    _result.s89 += as_half2(intel_sub_group_shuffle(_biasVal, 4)); \
    _result.sab += as_half2(intel_sub_group_shuffle(_biasVal, 5)); \
    _result.scd += as_half2(intel_sub_group_shuffle(_biasVal, 6)); \
    _result.sef += as_half2(intel_sub_group_shuffle(_biasVal, 7)); \
}


__attribute__((reqd_work_group_size(LOCAL_WORK_GROUP_SIZE, 1, 1)))
convolution_gpu_yxfb_yxio_b1_block_fp32KERNEL(convolution_gpu_yxfb_yxio_b1_block_multiple_x)(
    const __global float* input,
    __global float* output,
    const __global float* filter,
#if BIAS_TERM
    const __global float* bias,
#endif
    uint split_idx)
{
#if USE_VECTOR == 8
    #define VECTOR_FLOAT float8
    #define BLOCK_READ(IN) as_float8(intel_sub_group_block_read8((const __global uint*)IN))
    #define BLOCK_WRITE(OUT, DATA) intel_sub_group_block_write8((__global uint*)OUT, as_uint8(DATA));
#endif
#if USE_VECTOR == 4
    #define VECTOR_FLOAT float4
    #define BLOCK_READ(IN) as_float4(intel_sub_group_block_read4((const __global uint*)IN))
    #define BLOCK_WRITE(OUT, DATA) intel_sub_group_block_write4((__global uint*)OUT, as_uint4(DATA));
#endif
#if USE_VECTOR == 2
    #define VECTOR_FLOAT float2
    #define BLOCK_READ(IN) as_float2(intel_sub_group_block_read2((const __global uint*)IN))
    #define BLOCK_WRITE(OUT, DATA) intel_sub_group_block_write2((__global uint*)OUT, as_uint2(DATA));
#endif
#if USE_VECTOR == 1
    #define VECTOR_FLOAT float
    #define BLOCK_READ(IN) as_float(intel_sub_group_block_read((const __global uint*)IN))
    #define BLOCK_WRITE(OUT, DATA) intel_sub_group_block_write((__global uint*)OUT, as_uint(DATA));
#endif

    const uint batch_num = INPUT0_BATCH_NUM;
    const uint linear_id_xy = (uint)get_group_id(1) * X_PER_WORK_ITEM + OUTPUT_SIZE_X * (uint)get_group_id(2);
    uint global_id = (((uint)get_group_id(0) * LOCAL_WORK_GROUP_SIZE) / batch_num) * batch_num + ( linear_id_xy * FILTER_ARRAY_NUM + split_idx) * (FILTER_OFM_NUM / OFM_PER_WORK_ITEM) * batch_num;

    const uint out_batch_id = (uint)get_local_id(0) % INPUT0_BATCH_NUM;
    const uint out_x = (uint)get_group_id(1) * X_PER_WORK_ITEM;
    const uint out_y = get_group_id(2);

    uint out_id[X_PER_WORK_ITEM];
    for(uint i = 0; i < X_PER_WORK_ITEM; i++)
    {
        out_id[i] = OUTPUT_OFFSET + ( (global_id + i * FILTER_ARRAY_NUM * (FILTER_OFM_NUM / OFM_PER_WORK_ITEM) * INPUT0_BATCH_NUM) / batch_num) * OFM_PER_WORK_ITEM * batch_num + out_batch_id;
    }

    const uint ofm_offset = (global_id * (OFM_PER_WORK_ITEM / batch_num)) % FILTER_OFM_NUM;

    const uint sub_group_id = (uint)get_local_id(0) % INPUT0_BATCH_NUM;

    VECTOR_FLOAT _data[X_PER_WORK_ITEM];
    for(uint i = 0; i < X_PER_WORK_ITEM; i++)
    {
        _data[i] = 0.0f;
    }

    const int x = (int)out_x * STRIDE_SIZE_X - PADDING_SIZE_X;
    const int y = (int)out_y * STRIDE_SIZE_Y - PADDING_SIZE_Y;

    for (uint i = 0; i < FILTER_SIZE_Y; i++)
    {
        const int input_offset_y = y + i * DILATION_SIZE_Y;
        const bool zero_y = input_offset_y >= INPUT0_SIZE_Y || input_offset_y < 0;

        if(!zero_y)
        {
            for (uint j = 0; j < FILTER_SIZE_X; j++)
            {
                const int input_offset_x = x + j * DILATION_SIZE_X;

                bool zero_x[X_PER_WORK_ITEM];
                for(int z = 0; z < X_PER_WORK_ITEM; z++)
                {
                    zero_x[z] = (input_offset_x + z * STRIDE_SIZE_X) >= INPUT0_SIZE_X || (input_offset_x + z * STRIDE_SIZE_X) < 0;
                }

                VECTOR_FLOAT _tmp[X_PER_WORK_ITEM];
                for(uint t = 0; t < X_PER_WORK_ITEM; t++)
                {
                    _tmp[t] = 0.f;
                }

                uint input_idx = input_offset_x*INPUT0_X_PITCH + input_offset_y*INPUT0_Y_PITCH;
                input_idx += INPUT0_OFFSET + split_idx * FILTER_IFM_NUM * INPUT0_FEATURE_PITCH;
                input_idx += out_batch_id;

                uint filter_idx = ofm_offset + sub_group_id + i*FILTER_Y_PITCH + j*FILTER_X_PITCH;

#if FILTER_IFM_NUM >= 8
                for(uint h = 0; h < FILTER_IFM_NUM / 8; h++)
                {
                    float _in[X_PER_WORK_ITEM];
                    for(uint a = 0; a < X_PER_WORK_ITEM; a++)
                    {
                        _in[a] = as_float(intel_sub_group_block_read((const __global uint*)input + (input_idx + a * INPUT0_FEATURE_NUM * STRIDE_SIZE_X)));
                    }
                    float8 _input[X_PER_WORK_ITEM];
                    for(uint a = 0; a < X_PER_WORK_ITEM; a++)
                    {
                        _input[a] = TRANSPOSE_BLOCK_8(_in[a]);
                    }

                    VECTOR_FLOAT _filter;
                    _filter = BLOCK_READ(filter + filter_idx); filter_idx += FILTER_OFM_NUM;
                    for(uint a = 0; a < X_PER_WORK_ITEM; a++)
                    {
                        _tmp[a] = mad(_input[a].s0, _filter, _tmp[a]);
                    }

                    _filter = BLOCK_READ(filter + filter_idx); filter_idx += FILTER_OFM_NUM;
                    for(uint a = 0; a < X_PER_WORK_ITEM; a++)
                    {
                        _tmp[a] = mad(_input[a].s1, _filter, _tmp[a]);
                    }

                    _filter = BLOCK_READ(filter + filter_idx); filter_idx += FILTER_OFM_NUM;
                    for(uint a = 0; a < X_PER_WORK_ITEM; a++)
                    {
                        _tmp[a] = mad(_input[a].s2, _filter, _tmp[a]);
                    }

                    _filter = BLOCK_READ(filter + filter_idx); filter_idx += FILTER_OFM_NUM;
                    for(uint a = 0; a < X_PER_WORK_ITEM; a++)
                    {
                        _tmp[a] = mad(_input[a].s3, _filter, _tmp[a]);
                    }


                    _filter = BLOCK_READ(filter + filter_idx); filter_idx += FILTER_OFM_NUM;
                    for(uint a = 0; a < X_PER_WORK_ITEM; a++)
                    {
                        _tmp[a] = mad(_input[a].s4, _filter, _tmp[a]);
                    }

                    _filter = BLOCK_READ(filter + filter_idx); filter_idx += FILTER_OFM_NUM;
                    for(uint a = 0; a < X_PER_WORK_ITEM; a++)
                    {
                        _tmp[a] = mad(_input[a].s5, _filter, _tmp[a]);
                    }

                    _filter = BLOCK_READ(filter + filter_idx); filter_idx += FILTER_OFM_NUM;
                    for(uint a = 0; a < X_PER_WORK_ITEM; a++)
                    {
                        _tmp[a] = mad(_input[a].s6, _filter, _tmp[a]);
                    }

                    _filter = BLOCK_READ(filter + filter_idx); filter_idx += FILTER_OFM_NUM;
                    for(uint a = 0; a < X_PER_WORK_ITEM; a++)
                    {
                        _tmp[a] = mad(_input[a].s7, _filter, _tmp[a]);
                    }

                    input_idx += 8 * INPUT0_FEATURE_PITCH;
                }
                for (uint h = FILTER_IFM_NUM - (FILTER_IFM_NUM % 8); h < FILTER_IFM_NUM; h++)
#else
                for (uint h = 0; h < FILTER_IFM_NUM; h++)
#endif
                {
                    VECTOR_FLOAT _filter = BLOCK_READ(filter + filter_idx);
                    for(uint a = 0; a < X_PER_WORK_ITEM; a++)
                    {
                        _tmp[a] = mad(input[input_idx + a * INPUT0_FEATURE_NUM * STRIDE_SIZE_X], _filter, _tmp[a]);
                    }
                    filter_idx += FILTER_IFM_PITCH;
                    input_idx += INPUT0_FEATURE_PITCH;
                }
                for(uint a = 0; a < X_PER_WORK_ITEM; a++)
                {
                    if(!zero_x[a])
                        _data[a] += _tmp[a];
                }
            }
        }
    }

#if BIAS_TERM
    for(uint a = 0; a < X_PER_WORK_ITEM; a++)
    {
        _data[a] += BLOCK_READ(bias + ofm_offset);
    }
#endif
    for(uint a = 0; a < X_PER_WORK_ITEM; a++)
    {
        _data[a] = ACTIVATION(_data[a], NL_M, NL_N);
    }

    BLOCK_WRITE(output + out_id[0], _data[0]);
    for(uint a = 1; a < X_PER_WORK_ITEM; a++)
    {
        if(out_x + a < OUTPUT_SIZE_X)
        {
            BLOCK_WRITE(output + out_id[a], _data[a]);
        }
    }

#if defined(USE_VECTOR)
    #undef VECTOR_FLOAT
    #undef BLOCK_READ
    #undef BLOCK_WRITE
#endif
}
__attribute__((reqd_work_group_size(LOCAL_WORK_GROUP_SIZE, 1, 1)))
KERNEL(convolution_gpu_yxfb_yxio_b8)(
    const __global float* input,
    __global float* output,
    const __global float* filter,
#if BIAS_TERM
    const __global float* bias,
#endif
    uint split_idx)
{
    const uint batch_num = INPUT0_BATCH_NUM;

    const uint linear_id_xy = get_global_id(1) + get_global_size(1) * get_global_id(2);
    // we're computing 8 OUTPUT_FEATURE_MAP so we must divide by 8, but we got 8 batches, so no division is needed.
    uint global_id = ((uint)get_global_id(0) / batch_num) * batch_num + (linear_id_xy * FILTER_ARRAY_NUM + split_idx) * (FILTER_OFM_NUM / OFM_PER_WORK_ITEM) * batch_num;

    const uint out_batch_id = get_local_id(0);
    const uint out_x = get_global_id(1);
    const uint out_y = get_global_id(2);

    const uint out_id = (global_id / batch_num) * OFM_PER_WORK_ITEM * batch_num + out_batch_id;

    const uint ofm_offset = (global_id * OFM_PER_WORK_ITEM) / batch_num % FILTER_OFM_NUM;

    const uint sub_group_id = get_local_id(0);

    float8 _data0 = 0.f;
#if OFM_PER_WORK_ITEM == 16
    float8 _data1 = 0.f;
#endif

    const int x = (int)out_x * STRIDE_SIZE_X - PADDING_SIZE_X;
    const int y = (int)out_y * STRIDE_SIZE_Y - PADDING_SIZE_Y;

    for (uint i = 0; i < FILTER_SIZE_Y; i++)
    {
        const int input_offset_y = y + i * DILATION_SIZE_Y;
        const bool zero_y = input_offset_y >= INPUT0_SIZE_Y || input_offset_y < 0;

        if(!zero_y)
        {
            for (uint j = 0; j < FILTER_SIZE_X; j++)
            {
                const int input_offset_x = x + j * DILATION_SIZE_X;
                const bool zero = input_offset_x >= INPUT0_SIZE_X || input_offset_x < 0;

                if(!zero)
                {
                    uint input_idx = input_offset_x*INPUT0_X_PITCH + input_offset_y*INPUT0_Y_PITCH;
                    input_idx += INPUT0_OFFSET + split_idx * FILTER_IFM_NUM * INPUT0_FEATURE_PITCH;
                    input_idx += out_batch_id;

                    //sub_group_id used as offset to make each workitem load different filter, and then shuffle it
                    uint filter_idx = ofm_offset + sub_group_id + i*FILTER_Y_PITCH + j*FILTER_X_PITCH;
#if OFM_PER_WORK_ITEM == 16
                    uint filter_idx2 = filter_idx + 8;
#endif
                    for (uint h = 0; h < FILTER_IFM_NUM / 8; h++)
                    {
                        float8 _input = as_float8(intel_sub_group_block_read8((const __global uint*)input + input_idx));

                        DOT_PRODUCT_8(_data0, _input.s0, filter[filter_idx]) filter_idx += FILTER_OFM_NUM;
#if OFM_PER_WORK_ITEM == 16
                        DOT_PRODUCT_8(_data1, _input.s0, filter[filter_idx2]) filter_idx2 += FILTER_OFM_NUM;
#endif
                        DOT_PRODUCT_8(_data0, _input.s1, filter[filter_idx]) filter_idx += FILTER_OFM_NUM;
#if OFM_PER_WORK_ITEM == 16
                        DOT_PRODUCT_8(_data1, _input.s1, filter[filter_idx2]) filter_idx2 += FILTER_OFM_NUM;
#endif
                        DOT_PRODUCT_8(_data0, _input.s2, filter[filter_idx]) filter_idx += FILTER_OFM_NUM;
#if OFM_PER_WORK_ITEM == 16
                        DOT_PRODUCT_8(_data1, _input.s2, filter[filter_idx2]) filter_idx2 += FILTER_OFM_NUM;
#endif
                        DOT_PRODUCT_8(_data0, _input.s3, filter[filter_idx]) filter_idx += FILTER_OFM_NUM;
#if OFM_PER_WORK_ITEM == 16
                        DOT_PRODUCT_8(_data1, _input.s3, filter[filter_idx2]) filter_idx2 += FILTER_OFM_NUM;
#endif
                        DOT_PRODUCT_8(_data0, _input.s4, filter[filter_idx]) filter_idx += FILTER_OFM_NUM;
#if OFM_PER_WORK_ITEM == 16
                        DOT_PRODUCT_8(_data1, _input.s4, filter[filter_idx2]) filter_idx2 += FILTER_OFM_NUM;
#endif
                        DOT_PRODUCT_8(_data0, _input.s5, filter[filter_idx]) filter_idx += FILTER_OFM_NUM;
#if OFM_PER_WORK_ITEM == 16
                        DOT_PRODUCT_8(_data1, _input.s5, filter[filter_idx2]) filter_idx2 += FILTER_OFM_NUM;
#endif
                        DOT_PRODUCT_8(_data0, _input.s6, filter[filter_idx]) filter_idx += FILTER_OFM_NUM;
#if OFM_PER_WORK_ITEM == 16
                        DOT_PRODUCT_8(_data1, _input.s6, filter[filter_idx2]) filter_idx2 += FILTER_OFM_NUM;
#endif
                        DOT_PRODUCT_8(_data0, _input.s7, filter[filter_idx]) filter_idx += FILTER_OFM_NUM;
#if OFM_PER_WORK_ITEM == 16
                        DOT_PRODUCT_8(_data1, _input.s7, filter[filter_idx2]) filter_idx2 += FILTER_OFM_NUM;
#endif
                        input_idx += 8 * INPUT0_FEATURE_PITCH;
                    }
                    for (uint h = FILTER_IFM_NUM - (FILTER_IFM_NUM % 8); h < FILTER_IFM_NUM; h++)
                    {
                        float8 _filter = TRANSPOSE_BLOCK_8(filter[filter_idx]); filter_idx += FILTER_OFM_NUM;
                        _data0 = mad(input[input_idx], _filter, _data0);
#if OFM_PER_WORK_ITEM == 16
                        float8 _filter2 = TRANSPOSE_BLOCK_8(filter[filter_idx2]); filter_idx2 += FILTER_OFM_NUM;
                        _data1 = mad(input[input_idx], _filter2, _data1);
#endif
                        input_idx += INPUT0_FEATURE_PITCH;
                    }
                }
            }
        }
    }

#if BIAS_TERM
    ADD_BIAS_8(_data0, bias[ofm_offset + sub_group_id]);
#if OFM_PER_WORK_ITEM == 16
    ADD_BIAS_8(_data1, bias[ofm_offset + sub_group_id + 8]);
#endif
#endif // #if BIAS_TERM
    _data0 = ACTIVATION(_data0, NL_M, NL_N);
#if OFM_PER_WORK_ITEM == 16
    _data1 = ACTIVATION(_data1, NL_M, NL_N);
#endif

    const uint _out_id = OUTPUT_OFFSET + out_id;
    intel_sub_group_block_write8((__global uint*)output + _out_id, as_uint8(_data0));
#if OFM_PER_WORK_ITEM == 16
    intel_sub_group_block_write8((__global uint*)output + _out_id + 8 * INPUT0_FEATURE_PITCH, as_uint8(_data1));
#endif
}

        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



__attribute__((intel_reqd_sub_group_size(16)))
KERNEL(convolution_grad_weights_gpu_1x1)(
    const __global UNIT_TYPE* input_grad,
    __global UNIT_TYPE* output,
    __global UNIT_TYPE* filter,
#if BIAS_TERM
    __global UNIT_TYPE* bias,
#endif
#if MOMENTUM
    __global UNIT_TYPE* prev_grad_w,
#if BIAS_TERM
    __global UNIT_TYPE* prev_grad_b,
#endif
#endif
    const __global UNIT_TYPE* input,
    uint split_idx,
    float lr)
{
    const uint local_id = get_local_id(0);
    const uint ifm      = get_global_id(1);
    const uint ofm      = get_global_id(2);

    const int in_x = -PADDING_SIZE_X;
    const int in_y = -PADDING_SIZE_Y;

    ACCUMULATOR_TYPE grad_w = 0;

#if BIAS_TERM
    ACCUMULATOR_TYPE grad_b = 0;
#endif

    uint weights_idx = ofm * FILTER_OFM_PITCH + ifm * FILTER_IFM_PITCH;

    for(int b = 0; b < INPUT0_BATCH_NUM; b++)
    {
        UNIT_TYPE result = UNIT_VAL_ZERO;

#if BIAS_TERM
        UNIT_TYPE result_bias = UNIT_VAL_ZERO;
#endif

        const uint grad_split_offset = split_idx * INPUT0_FEATURE_PITCH * FILTER_OFM_NUM;
        const uint in_split_offset = split_idx * INPUT1_FEATURE_PITCH * FILTER_IFM_NUM;

        for (uint i = 0; i < INPUT0_SIZE_Y; i++)
        {
		    const int input_offset_y = in_y + i * STRIDE_SIZE_Y;
            const bool zero_y = input_offset_y >= INPUT1_SIZE_Y || input_offset_y < 0;
            for (uint j = 0; j < (INPUT0_SIZE_X + 15)/16; j++)
            {
                const int input_offset_x = in_x + j * STRIDE_SIZE_X * 16 + local_id * STRIDE_SIZE_X;
                const bool zero_x = input_offset_x >= INPUT1_SIZE_X || input_offset_x < 0;
                const bool grad_zero = j*16 + local_id >= INPUT0_SIZE_X;
#if BIAS_TERM
                UNIT_TYPE grad;
                if(grad_zero)
                {
                    grad = 0;
                }
                else
                {
                    uint input_grad_idx = grad_split_offset + b*INPUT0_BATCH_PITCH + ofm*INPUT0_FEATURE_PITCH + j*INPUT0_X_PITCH*16 + local_id*INPUT0_X_PITCH + i*INPUT0_Y_PITCH;
                    grad = input_grad[input_grad_idx];
                }
#endif
                if(!zero_x && !zero_y)
                {
                    uint input_idx = in_split_offset + b*INPUT1_BATCH_PITCH + ifm*INPUT1_FEATURE_PITCH + (uint)input_offset_x*INPUT1_X_PITCH + (uint)input_offset_y*INPUT1_Y_PITCH;
#if BIAS_TERM
                    result = fma(input[input_idx], grad, result);
#else
                    if(!grad_zero)
                    {
                        uint input_grad_idx = grad_split_offset + b*INPUT0_BATCH_PITCH + ofm*INPUT0_FEATURE_PITCH + j*INPUT0_X_PITCH*16 + local_id*INPUT0_X_PITCH + i*INPUT0_Y_PITCH;
                        result = fma(input[input_idx], input_grad[input_grad_idx], result);
                    }
#endif
                }
#if BIAS_TERM
                result_bias += grad;
#endif
            }
        }

        grad_w += result;

#if BIAS_TERM
        grad_b += result_bias;
#endif
    }

    grad_w = sub_group_reduce_add(grad_w);
#if BIAS_TERM
    grad_b = sub_group_reduce_add(grad_b);
#endif

    if (local_id == 0)
    {
#if MOMENTUM
        UNIT_TYPE update_gradient_w = lr * (prev_grad_w[weights_idx] * MOMENTUM_FACTOR + grad_w + DECAY_RATE * filter[weights_idx]);
        filter[weights_idx] -= update_gradient_w;
        prev_grad_w[weights_idx] = update_gradient_w;
#else
        filter[weights_idx] -= lr * grad_w + DECAY_RATE * lr * filter[weights_idx];
#endif

#if BIAS_TERM
        if(ifm == 0)
        {
#if MOMENTUM
            UNIT_TYPE update_gradient_b = lr * grad_b + prev_grad_b[ofm] * MOMENTUM_FACTOR;
            bias[ofm] -= update_gradient_b;
            prev_grad_b[ofm] = update_gradient_b;
#else
            bias[ofm] -= lr * grad_b;
#endif
        }
#endif
    }
}

    filter[weights_idx + 8] = uweights8;
#if MOMENTUM
    vstore8(newDelta_0_7, 0, &prev_grad_w[weights_idx]);
    prev_grad_w[weights_idx + 8] = newDelta8;
#endif

#if BIAS_TERM
    if(ifm == 0)
    {
#if MOMENTUM
        UNIT_TYPE update_gradient_b = lr * grad_b + prev_grad_b[ofm] * MOMENTUM_FACTOR;
        bias[ofm] -= update_gradient_b;
        prev_grad_b[ofm] = update_gradient_b;
#else
        bias[ofm] -= lr * grad_b;
#endif
    }
#endif
}

        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



KERNEL(convolution_grad_weights_gpu_3x3)(
    const __global UNIT_TYPE* input_grad,
    __global UNIT_TYPE* output,
    __global UNIT_TYPE* filter,
#if BIAS_TERM
    __global UNIT_TYPE* bias,
#endif
#if MOMENTUM
    __global UNIT_TYPE* prev_grad_w,
#if BIAS_TERM
    __global UNIT_TYPE* prev_grad_b,
#endif
#endif
    const __global UNIT_TYPE* input,
    uint split_idx,
    float lr)
{
    const uint ofm = get_global_id(0);
    const uint ifm = get_global_id(1);

    if (ofm >= INPUT0_FEATURE_NUM || ifm >= INPUT1_FEATURE_NUM)
        return;

    const int in_x = -PADDING_SIZE_X;
    const int in_y = -PADDING_SIZE_Y;

    ACCUMULATOR_TYPE grad_w[9] = {};
#if BIAS_TERM
    ACCUMULATOR_TYPE grad_b = 0;
#endif

    uint weights_idx = ofm * FILTER_OFM_PITCH + ifm * FILTER_IFM_PITCH;

    for(int b = 0; b < INPUT0_BATCH_NUM; b++)
    {
        const uint grad_split_offset = split_idx * INPUT0_FEATURE_PITCH * FILTER_OFM_NUM;
        const uint in_split_offset = split_idx * INPUT1_FEATURE_PITCH * FILTER_IFM_NUM;

        for (uint i = 0; i < INPUT0_SIZE_Y; i++)
        {

            for (uint j = 0; j < INPUT0_SIZE_X; j+=2)
            {
                float2 grad;
                if (j + 1 >= INPUT0_SIZE_X)
                {
                    uint input_grad_idx = grad_split_offset + b*INPUT0_BATCH_PITCH + ofm*INPUT0_FEATURE_PITCH + j*INPUT0_X_PITCH + i*INPUT0_Y_PITCH;
                    grad.s0 = input_grad[input_grad_idx];
                    grad.s1 = 0;
                }
                else
                {
                    uint input_grad_idx = grad_split_offset + b*INPUT0_BATCH_PITCH + ofm*INPUT0_FEATURE_PITCH + j*INPUT0_X_PITCH + i*INPUT0_Y_PITCH;
                    grad = vload2(0, &input_grad[input_grad_idx]);
                }
                for (uint y = 0; y < 3; y++)
                {
                    const int input_offset_y = in_y + y + i;
                    const bool zero_y = input_offset_y >= INPUT1_SIZE_Y || input_offset_y < 0;
                    const int input_offset_x = in_x + j;
                    const bool zero_x = input_offset_x < 0 || input_offset_x + 3 >= INPUT1_SIZE_X;
                    uint input_idx = in_split_offset + b*INPUT1_BATCH_PITCH + ifm*INPUT1_FEATURE_PITCH + (uint)input_offset_x*INPUT1_X_PITCH + (uint)input_offset_y*INPUT1_Y_PITCH;
                    union v4 {
                        float s[4];
                        float4 v;
                    };
                    union v4 inp;
                    if (zero_y)
                        continue;
                    if (zero_x)
                    {
                        for (uint k = 0; k < 4; k++)
                        {
                            if (input_offset_x + k >= INPUT1_SIZE_X || input_offset_x + k < 0)
                                inp.s[k] = 0;
                            else
                                inp.s[k] = input[input_idx + k];
                        }
                    }
                    else
                    {
                        inp.v = vload4(0, &input[input_idx]);
                    }
                    for (uint x = 0; x < 3; x++)
                    {
                        grad_w[y * 3 + x] = mad(inp.s[x] * lr, grad.s0, grad_w[y * 3 + x]);
                        grad_w[y * 3 + x] = mad(inp.s[x + 1] * lr, grad.s1, grad_w[y * 3 + x]);
                    }
                }
#if BIAS_TERM
                grad_b += grad.s0;
                grad_b += grad.s1;
#endif
            }
        }
    }

    union {
        float  s[8];
        float8 v;
    } uweights_0_7;
    float uweights8;

#if MOMENTUM
    float dwa[9];
    uweights_0_7.v = vload8(0, &prev_grad_w[weights_idx]);
    dwa[0 * 3 + 0] = uweights_0_7.v.s0;
    dwa[0 * 3 + 1] = uweights_0_7.v.s1;
    dwa[0 * 3 + 2] = uweights_0_7.v.s2;
    dwa[1 * 3 + 0] = uweights_0_7.v.s3;
    dwa[1 * 3 + 1] = uweights_0_7.v.s4;
    dwa[1 * 3 + 2] = uweights_0_7.v.s5;
    dwa[2 * 3 + 0] = uweights_0_7.v.s6;
    dwa[2 * 3 + 1] = uweights_0_7.v.s7;
    dwa[2 * 3 + 2] = prev_grad_w[weights_idx + 8];
#endif

    uweights_0_7.v = vload8(0, &filter[weights_idx]);
    uweights8 = filter[weights_idx + 8];

#if MOMENTUM
    float8 newDelta_0_7 = (float8)(
                                    grad_w[0 * 3 + 0] + (MOMENTUM_FACTOR * dwa[0 * 3 + 0]),
                                    grad_w[0 * 3 + 1] + (MOMENTUM_FACTOR * dwa[0 * 3 + 1]),
                                    grad_w[0 * 3 + 2] + (MOMENTUM_FACTOR * dwa[0 * 3 + 2]),
                                    grad_w[1 * 3 + 0] + (MOMENTUM_FACTOR * dwa[1 * 3 + 0]),
                                    grad_w[1 * 3 + 1] + (MOMENTUM_FACTOR * dwa[1 * 3 + 1]),
                                    grad_w[1 * 3 + 2] + (MOMENTUM_FACTOR * dwa[1 * 3 + 2]),
                                    grad_w[2 * 3 + 0] + (MOMENTUM_FACTOR * dwa[2 * 3 + 0]),
                                    grad_w[2 * 3 + 1] + (MOMENTUM_FACTOR * dwa[2 * 3 + 1]));
    float newDelta8 =               grad_w[2 * 3 + 2] + (MOMENTUM_FACTOR * dwa[2 * 3 + 2]);
#else
    float8 newDelta_0_7 = (float8)(
                                    grad_w[0 * 3 + 0],
                                    grad_w[0 * 3 + 1],
                                    grad_w[0 * 3 + 2],
                                    grad_w[1 * 3 + 0],
                                    grad_w[1 * 3 + 1],
                                    grad_w[1 * 3 + 2],
                                    grad_w[2 * 3 + 0],
                                    grad_w[2 * 3 + 1]);
    float newDelta8 =               grad_w[2 * 3 + 2];
#endif
    uweights8      -= newDelta8;
    uweights_0_7.v -= newDelta_0_7;

    vstore8(uweights_0_7.v, 0, &filter[weights_idx]);
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



KERNEL(convolution_grad_weights_gpu_7x7)(
    const __global UNIT_TYPE* input_grad,
    __global UNIT_TYPE* output,
    __global UNIT_TYPE* filter,
#if BIAS_TERM
    __global UNIT_TYPE* bias,
#endif
#if MOMENTUM
    __global UNIT_TYPE* prev_grad_w,
#if BIAS_TERM
    __global UNIT_TYPE* prev_grad_b,
#endif
#endif
    const __global UNIT_TYPE* input,
    uint split_idx,
    float lr)
{
    const uint x_filter = get_global_id(0);
    const uint ofm = get_global_id(1);
    const uint ifm = get_global_id(2);

    if (x_filter >= 7 || ofm >= INPUT0_FEATURE_NUM || ifm >= INPUT1_FEATURE_NUM)
        return;

    const int in_x = -PADDING_SIZE_X;
    const int in_y = -PADDING_SIZE_Y;

    ACCUMULATOR_TYPE grad_w[7] = { 0, 0, 0, 0, 0, 0, 0 };
#if BIAS_TERM
    ACCUMULATOR_TYPE grad_b = UNIT_VAL_ZERO;
#endif

    uint weights_idx = ofm * FILTER_OFM_PITCH + ifm * FILTER_IFM_PITCH;

    for(int b = 0; b < INPUT0_BATCH_NUM; b++)
    {
        const uint grad_split_offset = split_idx * INPUT0_FEATURE_PITCH * FILTER_OFM_NUM;
        const uint in_split_offset = split_idx * INPUT1_FEATURE_PITCH * FILTER_IFM_NUM;

        for(int i = 0; i < INPUT0_SIZE_Y; i++)
        {
            for(int j = 0; j < INPUT0_SIZE_X; j++)
            {
                float grad;
                uint input_grad_idx = grad_split_offset + b*INPUT0_BATCH_PITCH + ofm*INPUT0_FEATURE_PITCH + j*INPUT0_X_PITCH + i*INPUT0_Y_PITCH;
                grad = input_grad[input_grad_idx];
                for(uint y_filter = 0; y_filter < 7; y_filter++)
                {
                    const int input_offset_y = in_y + y_filter + i * STRIDE_SIZE_Y;
                    const bool zero_y = input_offset_y >= INPUT1_SIZE_Y || input_offset_y < 0;
                    const int input_offset_x = in_x + x_filter + j * STRIDE_SIZE_X;
                    const bool zero_x = input_offset_x < 0 || input_offset_x >= INPUT1_SIZE_X;
                    uint input_idx = in_split_offset + b*INPUT1_BATCH_PITCH + ifm*INPUT1_FEATURE_PITCH + (uint)input_offset_x*INPUT1_X_PITCH + (uint)input_offset_y*INPUT1_Y_PITCH;
                    if(!zero_x && !zero_y)
                    {
                        const float delta_f = input[input_idx] * lr * grad;
                        grad_w[y_filter] += delta_f;
                    }
                }
#if BIAS_TERM
                grad_b += grad;
#endif
            }
        }
    }
    for(uint y_filter = 0; y_filter < 7; y_filter++)
    {
        uint address = weights_idx + 48 - (7 * (6 - y_filter) + (6 - x_filter));
#if MOMENTUM
        float dw = prev_grad_w[address];
        const float delta_f_m = MOMENTUM_FACTOR * dw;
        grad_w[y_filter] += delta_f_m;
        prev_grad_w[address] = grad_w[y_filter];
#endif
        filter[address] -= grad_w[y_filter];
    }
#if BIAS_TERM
    if(ifm == 0 && x_filter == 0)
    {
#if MOMENTUM
        UNIT_TYPE update_gradient_b = lr * grad_b + prev_grad_b[ofm] * MOMENTUM_FACTOR;
        bias[ofm] -= update_gradient_b;
        prev_grad_b[ofm] = update_gradient_b;
#else
        bias[ofm] -= lr * grad_b;
#endif
    }
#endif
}

        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif


KERNEL(convolution_grad_weights_gpu_ref)(
    const __global UNIT_TYPE* input_grad,
    __global UNIT_TYPE* output,
    __global float* filter,
#if BIAS_TERM
    __global float* bias,
#endif
#if MOMENTUM
    __global float* prev_grad_w,
#if BIAS_TERM
    __global float* prev_grad_b,
#endif
#endif
    const __global UNIT_TYPE* input,
    uint split_idx,
    float lr)
{
    const uint ofm_ifm       = get_global_id(0);
    const uint id_x          = (uint)get_global_id(1);
    const uint id_y          = (uint)get_global_id(2);
    const uint ifm           = ofm_ifm % INPUT1_FEATURE_NUM;
    const uint ofm           = ofm_ifm / INPUT1_FEATURE_NUM;

    const int in_x    = id_x - PADDING_SIZE_X;
    const int in_y    = id_y - PADDING_SIZE_Y;

    ACCUMULATOR_TYPE grad_w = 0;

#if BIAS_TERM
    ACCUMULATOR_TYPE grad_b = 0;
#endif

    uint weights_idx = ofm * FILTER_OFM_PITCH + ifm * FILTER_IFM_PITCH + id_y * FILTER_Y_PITCH + id_x * FILTER_X_PITCH;

    for(int b = 0; b < INPUT0_BATCH_NUM; b++)
    {
        ACCUMULATOR_TYPE result = ACCUMULATOR_TYPE_ZERO;

#if BIAS_TERM
        ACCUMULATOR_TYPE result_bias = ACCUMULATOR_TYPE_ZERO;
#endif

        const uint grad_split_offset = split_idx * INPUT0_FEATURE_PITCH * FILTER_OFM_NUM;
        const uint in_split_offset = split_idx * INPUT1_FEATURE_PITCH * FILTER_IFM_NUM;

        for (uint i = 0; i < INPUT0_SIZE_Y; i++)
        {
            for (uint j = 0; j < INPUT0_SIZE_X; j++)
            {
                const int input_offset_y = in_y + i * STRIDE_SIZE_Y;
                const bool zero_y = input_offset_y >= INPUT1_SIZE_Y || input_offset_y < 0;
                const int input_offset_x = in_x + j * STRIDE_SIZE_X;
                const bool zero_x = input_offset_x >= INPUT1_SIZE_X || input_offset_x < 0;
#if BIAS_TERM
                uint input_grad_idx = grad_split_offset + b*INPUT0_BATCH_PITCH + ofm*INPUT0_FEATURE_PITCH + j*INPUT0_X_PITCH + i*INPUT0_Y_PITCH;
                ACCUMULATOR_TYPE grad = TO_ACCUMULATOR_TYPE(input_grad[input_grad_idx]);
#endif
                if(!zero_x && !zero_y)
                {
                    uint input_idx = in_split_offset + b*INPUT1_BATCH_PITCH + ifm*INPUT1_FEATURE_PITCH + (uint)input_offset_x*INPUT1_X_PITCH + (uint)input_offset_y*INPUT1_Y_PITCH;
#if BIAS_TERM
                    result = fma(TO_ACCUMULATOR_TYPE(input[input_idx]), grad, result);
#else
                    uint input_grad_idx = grad_split_offset + b*INPUT0_BATCH_PITCH + ofm*INPUT0_FEATURE_PITCH + j*INPUT0_X_PITCH + i*INPUT0_Y_PITCH;
                    result = fma(TO_ACCUMULATOR_TYPE(input[input_idx]), TO_ACCUMULATOR_TYPE(input_grad[input_grad_idx]), result);
#endif
                }
#if BIAS_TERM
                result_bias += grad;
#endif
            }
        }

        grad_w += result;

#if BIAS_TERM
        grad_b += result_bias;
#endif
    }

#if OUTPUT_GRAD_W
    output[weights_idx] = grad_w;
#else
    #if MOMENTUM
        float update_gradient_w = lr * (grad_w + DECAY_RATE * filter[weights_idx]) + prev_grad_w[weights_idx] * MOMENTUM_FACTOR;
        filter[weights_idx] -= update_gradient_w;
        prev_grad_w[weights_idx] = update_gradient_w;
    #else
        filter[weights_idx] -= lr * grad_w + DECAY_RATE * lr * filter[weights_idx];
    #endif

#if BIAS_TERM
        if(ifm == 0 && id_x == 0 && id_y == 0)
        {
#if MOMENTUM
        float update_gradient_b = lr * grad_b + prev_grad_b[ofm] * MOMENTUM_FACTOR;
        bias[ofm] -= update_gradient_b;
        prev_grad_b[ofm] = update_gradient_b;
#else
        bias[ofm] -= lr * grad_b;
#endif
        }
#endif

#endif

}

        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



__attribute__((intel_reqd_sub_group_size(16)))
KERNEL(convolution_grad_weights_gpu_ref)(
    const __global UNIT_TYPE* input_grad,
    __global UNIT_TYPE* output,
    __global UNIT_TYPE* filter,
#if BIAS_TERM
    __global UNIT_TYPE* bias,
#endif
#if MOMENTUM
    __global UNIT_TYPE* prev_grad_w,
#if BIAS_TERM
    __global UNIT_TYPE* prev_grad_b,
#endif
#endif
    const __global UNIT_TYPE* input,
    uint split_idx,
    float lr)
{
    const uint local_id = get_local_id(0);
    const uint ofm_ifm  = get_global_id(1);
    const uint id_x_y   = get_global_id(2);

    const uint id_x     = id_x_y % FILTER_SIZE_X;
    const uint id_y     = id_x_y / FILTER_SIZE_X;
    const uint ifm      = ofm_ifm % INPUT1_FEATURE_NUM;
    const uint ofm      = ofm_ifm / INPUT1_FEATURE_NUM;

    const int in_x      = id_x - PADDING_SIZE_X;
    const int in_y      = id_y - PADDING_SIZE_Y;

    ACCUMULATOR_TYPE grad_w = 0;
#if BIAS_TERM
    ACCUMULATOR_TYPE grad_b = 0;
#endif

    const uint grad_split_offset = split_idx * INPUT0_FEATURE_PITCH * FILTER_OFM_NUM;
    const uint in_split_offset = split_idx * INPUT1_FEATURE_PITCH * FILTER_IFM_NUM;

    uint weights_idx = ofm * FILTER_OFM_PITCH + ifm * FILTER_IFM_PITCH + id_y * FILTER_Y_PITCH + id_x * FILTER_X_PITCH;

    for(int y = 0; y < INPUT0_SIZE_Y; y++)
    {
        const int input_offset_y = in_y + y * STRIDE_SIZE_Y;
        const bool zero_y = input_offset_y >= INPUT1_SIZE_Y || input_offset_y < 0;
        for (uint x = 0; x < INPUT0_SIZE_X; x++)
        {
            const int input_offset_x = in_x + x * STRIDE_SIZE_X;
            const bool zero_x = input_offset_x >= INPUT1_SIZE_X || input_offset_x < 0;
            for (uint b = 0; b < INPUT0_BATCH_NUM / 16; b++)
            {
#if BIAS_TERM
                uint input_grad_idx = grad_split_offset + b*16*INPUT0_BATCH_PITCH + ofm*INPUT0_FEATURE_PITCH + x*INPUT0_X_PITCH + y*INPUT0_Y_PITCH;
                UNIT_TYPE grad = as_float(intel_sub_group_block_read((const __global uint*)(input_grad + input_grad_idx)));
                grad_b += grad;
#endif
                if(!zero_x && !zero_y)
                {
                uint input_idx = in_split_offset + b*16*INPUT1_BATCH_PITCH + ifm*INPUT1_FEATURE_PITCH + (uint)input_offset_x*INPUT1_X_PITCH + (uint)input_offset_y*INPUT1_Y_PITCH;
#if BIAS_TERM
                grad_w = fma(as_float(intel_sub_group_block_read((const __global uint*)(input + input_idx))), grad, grad_w);
#else
                uint input_grad_idx = grad_split_offset + b*16*INPUT0_BATCH_PITCH + ofm*INPUT0_FEATURE_PITCH + x*INPUT0_X_PITCH + y*INPUT0_Y_PITCH;
                grad_w = fma(as_float(intel_sub_group_block_read((const __global uint*)(input + input_idx))), as_float(intel_sub_group_block_read((const __global uint*)(input_grad + input_grad_idx))), grad_w);
#endif
                }
            }
        }
    }

    grad_w = sub_group_reduce_add(grad_w);
#if BIAS_TERM
    grad_b = sub_group_reduce_add(grad_b);
#endif

    if (local_id == 0)
    {
#if OUTPUT_GRAD_W
        output[weights_idx] = grad_w;
#else
    #if MOMENTUM
            UNIT_TYPE update_gradient_w = lr * (grad_w + DECAY_RATE * filter[weights_idx]) + prev_grad_w[weights_idx] * MOMENTUM_FACTOR;
            filter[weights_idx] -= update_gradient_w;
            prev_grad_w[weights_idx] = update_gradient_w;
    #else
            filter[weights_idx] -= lr * (grad_w + DECAY_RATE * filter[weights_idx]);
    #endif

#if BIAS_TERM
        if(ifm == 0 && id_x == 0 && id_y == 0)
        {
#if MOMENTUM
            UNIT_TYPE update_gradient_b = lr * grad_b + prev_grad_b[ofm] * MOMENTUM_FACTOR;
            bias[ofm] -= update_gradient_b;
            prev_grad_b[ofm] = update_gradient_b;
#else
            bias[ofm] -= lr * grad_b;
#endif
        }
#endif
#endif
    }
}

        CAT(prefix, _SIZE_X),                           \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



// change this function with your own idea. please note that it's a naive implementation.
KERNEL(convolution_tutorial)(
    __global INPUT0_TYPE* input,        // input buffer
    __global OUTPUT_TYPE* output,       // output buffer
    __global FILTER_TYPE* weights,      // weights buffer (training output)
#if BIAS_TERM                           // in case we have bias in convolution params
    __global BIAS_TYPE* biases,         // bias buffer (training output)
#endif
    uint split_idx)                     // which split index to process
{
#if defined OUTPUT_LAYOUT_YXFB                  // in Case of YXFB we need a different processing order than BFYX (from performance aspect)
    const uint x = get_global_id(1);
    const uint y = get_global_id(2);
#if OUTPUT_BATCH_NUM == 1
    const uint f = get_global_id(0);
    const uint b = 0;
#else
    const uint f = get_global_id(0) % OUTPUT_FEATURE_NUM;
    const uint b = get_global_id(0) / OUTPUT_FEATURE_NUM;
#endif
#else
    const uint x = get_global_id(0);
    const uint y = get_global_id(1);
#if OUTPUT_BATCH_NUM == 1
    const uint f = get_global_id(2);
    const uint b = 0;
#else
    const uint f = get_global_id(2) % OUTPUT_FEATURE_NUM;
    const uint b = get_global_id(2) / OUTPUT_FEATURE_NUM;
#endif
#endif

    UNIT_TYPE dotProd = UNIT_VAL_ZERO;                                          // UNIT_TYPE - half/float/etc

#if BIAS_TERM
    #if   BIAS_PER_OUTPUT
        const uint bias_index = GET_DATA_INDEX(BIAS, b, f, y, x);               // helper macro to cacluate indices
    #elif BIAS_PER_OFM
        const uint bias_index = f;
    #endif
    dotProd = biases[bias_index];
#endif

    const int input_x = x * STRIDE_SIZE_X - PADDING_SIZE_X;
    const int input_y = y * STRIDE_SIZE_Y - PADDING_SIZE_Y;

    // in case of depth separable optimization we have to dynamically calculate the split index
#if DEPTHWISE_SEPARABLE_OPT
    const uint in_split_offset = (f / FILTER_OFM_NUM) * INPUT0_FEATURE_PITCH * FILTER_IFM_NUM;
#else
    const uint in_split_offset = split_idx * INPUT0_FEATURE_PITCH * FILTER_IFM_NUM;
#endif
    const uint filter_offset = f*FILTER_OFM_PITCH;
    const uint input_offset = b*INPUT0_BATCH_PITCH + INPUT0_OFFSET + in_split_offset;

    for (uint k = 0; k < FILTER_IFM_NUM; ++k)
    {
        for (uint j = 0; j < FILTER_SIZE_Y ; ++j)
        {
            const int input_offset_y = input_y + j * DILATION_SIZE_Y;
            const bool zero_y = input_offset_y >= INPUT0_SIZE_Y || input_offset_y < 0;

            if(!zero_y)
            {
                for (uint i = 0; i < FILTER_SIZE_X ; ++i)
                {
                    const int input_offset_x = input_x + i * DILATION_SIZE_X;
                    const bool zero_x = input_offset_x >= INPUT0_SIZE_X || input_offset_x < 0;

                    if(!zero_x)
                    {
                        uint input_idx = input_offset + (uint)input_offset_x*INPUT0_X_PITCH + (uint)input_offset_y*INPUT0_Y_PITCH + k*INPUT0_FEATURE_PITCH;
                        uint filter_idx = filter_offset + k*FILTER_IFM_PITCH + j*FILTER_Y_PITCH + i*FILTER_X_PITCH;
                        dotProd += input[input_idx]*weights[filter_idx];    // finally the convolution calcualtion.
                    }
                }
            }
        }
    }

    const uint out_split_offset = split_idx * OUTPUT_FEATURE_PITCH * OUTPUT_FEATURE_NUM;    // calculating output split offset
    const uint dst_index = GET_DATA_INDEX(OUTPUT, b, f, y, x) + out_split_offset;           // helper macro to calculate output index
    output[dst_index] = ACTIVATION(dotProd, NL_M, NL_N);                                    // run activation functions (RelU in most cases) and set output
}

#else

//#include "put here your include files"

__kernel void convolution_tutorial(
    const __global UNIT_TYPE* input,
    __global UNIT_TYPE* output,
    const __global UNIT_TYPE* filter,
    const __global UNIT_TYPE* bias)
{
    // fill here your kernel
}

#endif

convolution_tutorial        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



#define WORK_GROUP_GROUP_SIZE 16

__attribute__((reqd_work_group_size(WORK_GROUP_GROUP_SIZE, 1, 1)))
KERNEL(deconvolution_gpu_bfyx_opt)(
    const __global UNIT_TYPE* input,
    __global UNIT_TYPE* output,
    const __global UNIT_TYPE* filter,
#if BIAS_TERM
    const __global UNIT_TYPE* bias,
#endif
    uint split_idx
#if FUSED_ELTWISE
	, const __global UNIT_TYPE* fuse_input
#endif
	)
{
    UNIT_TYPE result = UNIT_VAL_ZERO;

    const uint b_f          = get_global_id(2);
    const uint batch_offset = b_f / OUTPUT_FEATURE_NUM;
    const uint ofm_offset   = b_f % OUTPUT_FEATURE_NUM;

    const uint global_x_group    = get_group_id(0);
    const uint global_y_group    = get_group_id(1);

    const uint local_x        = get_local_id(0);
    const uint local_y        = get_local_id(1);

    const uint stride_x_id = global_x_group % STRIDE_SIZE_X;
    const uint stride_y_id = global_y_group % STRIDE_SIZE_Y;

    const uint id_x = (global_x_group / STRIDE_SIZE_X) * STRIDE_SIZE_X * WORK_GROUP_GROUP_SIZE + local_x * STRIDE_SIZE_X + stride_x_id;

    if (id_x >= OUTPUT_SIZE_X)
        return;

    const uint id_y = (global_y_group / STRIDE_SIZE_Y) * STRIDE_SIZE_Y + local_y * STRIDE_SIZE_Y + stride_y_id;
    const int in_x = (int)id_x + PADDING_SIZE_X - (FILTER_SIZE_X - 1);
    const int in_y = (int)id_y + PADDING_SIZE_Y - (FILTER_SIZE_Y - 1);

    const uint start_x = (STRIDE_SIZE_X - (in_x % STRIDE_SIZE_X)) % STRIDE_SIZE_X;
    const uint start_y = (STRIDE_SIZE_Y - (in_y % STRIDE_SIZE_Y)) % STRIDE_SIZE_Y;

#if DEPTHWISE_SEPARABLE_OPT
    const uint in_split_offset = (ofm_offset / FILTER_OFM_NUM) * INPUT0_FEATURE_PITCH * FILTER_IFM_NUM;
#else
    const uint in_split_offset = split_idx * INPUT0_FEATURE_PITCH * FILTER_IFM_NUM;
#endif
    const uint input_offset = INPUT0_OFFSET + batch_offset*INPUT0_BATCH_PITCH + in_split_offset;
#if GROUPED && !DEPTHWISE_SEPARABLE_OPT
    const uint filter_offset = split_idx * FILTER_LENGTH;
#else
    const uint filter_offset = 0;
#endif

    for (uint i = start_y; i < FILTER_SIZE_Y; i+=STRIDE_SIZE_Y)
    {
        const int input_offset_y = in_y + i;
        const bool zero_y = (input_offset_y >= INPUT0_SIZE_Y * STRIDE_SIZE_Y) || (input_offset_y < 0);

        if(!zero_y)
        {
            for (uint j = start_x; j < FILTER_SIZE_X; j+=STRIDE_SIZE_X)
            {
                const int input_offset_x = in_x + j;
                const bool zero_x = (input_offset_x >= INPUT0_SIZE_X * STRIDE_SIZE_X) || (input_offset_x < 0);

                if(!zero_x)
                {
                    uint fixed_input_offset_x = (uint)input_offset_x / STRIDE_SIZE_X;
                    uint fixed_input_offset_y = (uint)input_offset_y / STRIDE_SIZE_Y;
                    uint input_idx = input_offset + (uint)fixed_input_offset_x*INPUT0_X_PITCH + (uint)fixed_input_offset_y*INPUT0_Y_PITCH;

#if GRADIENT
                    uint filter_idx = filter_offset + ofm_offset*FILTER_IFM_PITCH + (FILTER_SIZE_Y - i - 1)*FILTER_Y_PITCH + (FILTER_SIZE_X - j - 1)*FILTER_X_PITCH;
                    for (uint h = 0; h < FILTER_OFM_NUM; h++)
                    {
                        result = fma(input[input_idx], filter[filter_idx], result);
                        filter_idx += FILTER_OFM_PITCH;
                        input_idx += INPUT0_FEATURE_PITCH;
                    }
#else
                    uint filter_idx = filter_offset + ofm_offset*FILTER_OFM_PITCH + (FILTER_SIZE_Y - i - 1)*FILTER_Y_PITCH + (FILTER_SIZE_X - j - 1)*FILTER_X_PITCH;
                    for (uint h = 0; h < FILTER_IFM_NUM; h++)
                    {
                        result = fma(input[input_idx], filter[filter_idx], result);
                        filter_idx += FILTER_IFM_PITCH;
                        input_idx += INPUT0_FEATURE_PITCH;
                    }
#endif
                }
            }
        }
    }
#if BIAS_TERM
#if GROUPED && !DEPTHWISE_SEPARABLE_OPT
    const uint bias_offset = split_idx * BIAS_LENGTH;
#else
    const uint bias_offset = 0;
#endif
    result += bias[ofm_offset + bias_offset];
#endif
    const uint out_split_offset = split_idx * OUTPUT_FEATURE_PITCH * FILTER_OFM_NUM;
    const uint dst_index = OUTPUT_OFFSET + out_split_offset + batch_offset*OUTPUT_BATCH_PITCH + ofm_offset*OUTPUT_FEATURE_PITCH + id_y*OUTPUT_Y_PITCH + id_x*OUTPUT_X_PITCH;
#if FUSED_ELTWISE
    const uint fused_index = INPUT1_OFFSET + split_idx * INPUT1_FEATURE_PITCH * FILTER_OFM_NUM + batch_offset*INPUT1_BATCH_PITCH + ofm_offset*INPUT1_FEATURE_PITCH + id_y*INPUT1_Y_PITCH + id_x*INPUT1_X_PITCH;
#if !GRADIENT
	output[dst_index] = ACTIVATION(result + fuse_input[fused_index], NL_M, NL_N);
#else
	output[dst_index] = result + fuse_input[fused_index];
#endif
#else
    output[dst_index] = ACTIVATION(result, NL_M, NL_N);
#endif
}

#undef ACTIVATION
#undef WORK_GROUP_GROUP_SIZE

        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



KERNEL(deconvolution_gpu_yxfb_ref)(
    const __global UNIT_TYPE* input,
    __global UNIT_TYPE* output,
    const __global UNIT_TYPE* filter,
#if BIAS_TERM
    const __global UNIT_TYPE* bias,
#endif
    uint split_idx
#if FUSED_ELTWISE
	, const __global UNIT_TYPE* fuse_input
#endif
	)
{
    UNIT_TYPE result = UNIT_VAL_ZERO;

#if DIM_ORDER_XYBF == 1
    const uint out_x        = get_global_id(0);
#if  OUTPUT_SIZE_Z == 1
    const uint out_y        = get_global_id(1);
    const uint out_z        = 0;
#else // 3D
    const uint out_y        = get_global_id(1) % OUTPUT_SIZE_Y;
    const uint out_z        = get_global_id(1) / OUTPUT_SIZE_Y;
#endif // 2D/3D
    const uint b_f          = get_global_id(2);
    const uint batch_offset = b_f / OUTPUT_FEATURE_NUM;
    const uint ofm_offset   = b_f % OUTPUT_FEATURE_NUM;

    if (out_x >= OUTPUT_SIZE_X)
        return;
#else
    const uint b_f           = get_global_id(0);
    const uint out_x         = (uint)get_global_id(1);
#if  OUTPUT_SIZE_Z == 1
    const uint out_y         = (uint)get_global_id(2);
    const uint out_z        = 0;
#else // 3D
    const uint out_y        = get_global_id(2) % OUTPUT_SIZE_Y;
    const uint out_z        = get_global_id(2) / OUTPUT_SIZE_Y;
#endif // 2D/3D
    const uint ofm_offset    = b_f / INPUT0_BATCH_NUM;
    const uint batch_offset  = b_f % INPUT0_BATCH_NUM;
#endif

    const int x = (int)out_x + PADDING_SIZE_X - (FILTER_SIZE_X - 1);
    const int y = (int)out_y + PADDING_SIZE_Y - (FILTER_SIZE_Y - 1);
    const int z = (int)out_z + PADDING_SIZE_Z - (FILTER_SIZE_Z - 1);

#if DEPTHWISE_SEPARABLE_OPT
    const uint in_split_offset = (ofm_offset / FILTER_OFM_NUM) * INPUT0_FEATURE_PITCH * FILTER_IFM_NUM;
#else
    const uint in_split_offset = split_idx * INPUT0_FEATURE_PITCH * FILTER_IFM_NUM;
#endif
    const uint input_offset = INPUT0_OFFSET + batch_offset*INPUT0_BATCH_PITCH + in_split_offset;
#if GROUPED && !DEPTHWISE_SEPARABLE_OPT
    const uint filter_offset = split_idx * FILTER_LENGTH;
#else
    const uint filter_offset = 0;
#endif

    for (uint k = 0; k < FILTER_SIZE_Z; k++)
    {
        const int input_offset_z = z + k;
        const bool zero_z = (input_offset_z >= INPUT0_SIZE_Z * STRIDE_SIZE_Z) || (input_offset_z < 0) || ((input_offset_z % STRIDE_SIZE_Z) != 0);

        if(!zero_z)
        {
            for (uint i = 0; i < FILTER_SIZE_Y; i++)
            {
                    const int input_offset_y = y + i;
                const bool zero_y = (input_offset_y >= INPUT0_SIZE_Y * STRIDE_SIZE_Y) || (input_offset_y < 0) || ((input_offset_y % STRIDE_SIZE_Y) != 0);

                if(!zero_y)
                {
                    for (uint j = 0; j < FILTER_SIZE_X; j++)
                    {
                        const int input_offset_x = x + j;
                        const bool zero_x = (input_offset_x >= INPUT0_SIZE_X * STRIDE_SIZE_X) || (input_offset_x < 0) || ((input_offset_x % STRIDE_SIZE_X) != 0);

                        if(!zero_x)
                        {
                            uint fixed_input_offset_x = (uint)input_offset_x / STRIDE_SIZE_X;
                            uint fixed_input_offset_y = (uint)input_offset_y / STRIDE_SIZE_Y;
                            uint fixed_input_offset_z = (uint)input_offset_z / STRIDE_SIZE_Z;
                            uint input_idx = input_offset + (uint)fixed_input_offset_x*INPUT0_X_PITCH + (uint)fixed_input_offset_y*INPUT0_Y_PITCH + (uint)fixed_input_offset_z*INPUT0_Z_PITCH;

#if GRADIENT
                            uint filter_idx = filter_offset + ofm_offset*FILTER_IFM_PITCH + (FILTER_SIZE_Z - k - 1)*FILTER_Z_PITCH + (FILTER_SIZE_Y - i - 1)*FILTER_Y_PITCH + (FILTER_SIZE_X - j - 1)*FILTER_X_PITCH;
                            for (uint h = 0; h < FILTER_OFM_NUM; h++)
                            {
                                result = fma(input[input_idx], filter[filter_idx], result);
                                filter_idx += FILTER_OFM_PITCH;
                                input_idx += INPUT0_FEATURE_PITCH;
                            }
#else
                            uint filter_idx = filter_offset + ofm_offset*FILTER_OFM_PITCH + (FILTER_SIZE_Z - k - 1)*FILTER_Z_PITCH + (FILTER_SIZE_Y - i - 1)*FILTER_Y_PITCH + (FILTER_SIZE_X - j - 1)*FILTER_X_PITCH;
                            for (uint h = 0; h < FILTER_IFM_NUM; h++)
                            {
                                result = fma(input[input_idx], filter[filter_idx], result);
                                filter_idx += FILTER_IFM_PITCH;
                                input_idx += INPUT0_FEATURE_PITCH;
                            }
#endif
                        }
                    }
                }
            }
        }
    }

#if BIAS_TERM
#if GROUPED && !DEPTHWISE_SEPARABLE_OPT
    const uint bias_offset = split_idx * BIAS_LENGTH;
#else
    const uint bias_offset = 0;
#endif
    result += bias[ofm_offset + bias_offset];
#endif
    const uint out_split_offset = split_idx * OUTPUT_FEATURE_PITCH * FILTER_OFM_NUM;
    const uint dst_index = OUTPUT_OFFSET + out_split_offset + batch_offset*OUTPUT_BATCH_PITCH + ofm_offset*OUTPUT_FEATURE_PITCH + out_z*OUTPUT_Z_PITCH + out_y*OUTPUT_Y_PITCH + out_x*OUTPUT_X_PITCH;
#if FUSED_ELTWISE
    const uint fused_index = INPUT1_OFFSET + split_idx * INPUT1_FEATURE_PITCH * FILTER_OFM_NUM + batch_offset*INPUT1_BATCH_PITCH + ofm_offset*INPUT1_FEATURE_PITCH + out_z*INPUT1_Z_PITCH + out_y*INPUT1_Y_PITCH + out_x*INPUT1_X_PITCH;
#if !GRADIENT
	output[dst_index] = ACTIVATION(result + fuse_input[fused_index], NL_M, NL_N);
#else
	output[dst_index] = result + fuse_input[fused_index];
#endif

#else
    output[dst_index] = ACTIVATION(result, NL_M, NL_N);
#endif
}

#undef ACTIVATION


        // If work item is processing last bbox in image (we already know the number of all detections),
        // use it to fill rest of keep_top_k items if number of detections is smaller
        if (is_last_bbox_in_class)
        {
            uint out_idx = output_offset + scores_size[idx_class];

            uint current_top_k = output_offset + SCORES_COUNT;
            for (uint i = out_idx; i < current_top_k; i++)
            {
                out_idx = i * OUTPUT_ROW_SIZE + OUTPUT_OFFSET;
                output[out_idx] = -1.0;
                output[out_idx + 1] = 0.0;
                output[out_idx + 2] = 0.0;
                output[out_idx + 3] = 0.0;
                output[out_idx + 4] = 0.0;
                output[out_idx + 5] = 0.0;
                output[out_idx + 6] = 0.0;
            }
        }

        // Write number of scores kept in first step of detection output
        if (is_last_bbox_in_image)
        {
            uint scores_sum = 0;
            for (uint i = 0; i < NUM_CLASSES; i++)
            {
                scores_sum += scores_size[i];
            }
            output[idx_image] = scores_sum;

        }
    }
}

        const UNIT_TYPE bbox_ymin = input_location[location_offset + LOC_XY_SIZE_PRODUCT];
        const UNIT_TYPE bbox_xmax = input_location[location_offset + 2 * LOC_XY_SIZE_PRODUCT];
        const UNIT_TYPE bbox_ymax = input_location[location_offset + 3 * LOC_XY_SIZE_PRODUCT];

        if (VARIANCE_ENCODED_IN_TARGET)
        {
            // variance is encoded in target, we simply need to add the offset predictions.
            decoded_bbox[0] = prior_bboxes[0] + bbox_xmin * prior_width;
            decoded_bbox[1] = prior_bboxes[1] + bbox_ymin * prior_height;
            decoded_bbox[2] = prior_bboxes[2] + bbox_xmax * prior_width;
            decoded_bbox[3] = prior_bboxes[3] + bbox_ymax * prior_height;
        }
        else
        {
            // variance is encoded in bbox, we need to scale the offset accordingly.
            decoded_bbox[0] = prior_bboxes[0] + input_prior_box[NUM_OF_PRIOR_COMPONENTS] * bbox_xmin * prior_width;
            decoded_bbox[1] = prior_bboxes[1] + input_prior_box[NUM_OF_PRIOR_COMPONENTS + 1] * bbox_ymin * prior_height;
            decoded_bbox[2] = prior_bboxes[2] + input_prior_box[NUM_OF_PRIOR_COMPONENTS + 2] * bbox_xmax * prior_width;
            decoded_bbox[3] = prior_bboxes[3] + input_prior_box[NUM_OF_PRIOR_COMPONENTS + 3] * bbox_ymax * prior_height;
        }
    }
}

UNIT_TYPE FUNC(get_score)(__global UNIT_TYPE* input_confidence, const uint idx_prior, const uint idx_class, const uint idx_image)
{
    const uint confidence_offset =                    // offset in kernel input 'input_confidence'
            (idx_prior * NUM_CLASSES + idx_image * NUM_OF_PRIORS * NUM_CLASSES + idx_class) *
            CONF_XY_SIZE_PRODUCT +
            CONF_PADDING;

    return (input_confidence[confidence_offset] > CONFIDENCE_THRESHOLD)? input_confidence[confidence_offset] : 0;
}



KERNEL (detection_output)(__global UNIT_TYPE* input_location, __global UNIT_TYPE* output, __global UNIT_TYPE* input_confidence, __global UNIT_TYPE* input_prior_box)
{
    const uint idx = get_global_id(0);              // bbox idx
    const uint local_id = get_local_id(0) * NUM_OF_ITEMS; // All bboxes from one image in work group
    const uint idx_image = idx / NUM_OF_ITERATIONS;  // idx of current image

    __local uint indexes[NUM_OF_PRIORS];
    __local uint scores_size[NUM_CLASSES * NUM_OF_IMAGES];
    __local bool stillSorting;

    uint indexes_class_0[NUM_OF_PRIORS];

    int last_bbox_in_class = NUM_OF_ITEMS;
    bool is_last_bbox_in_class = false;
    for (uint it = 0; it < NUM_OF_ITEMS; it ++)
    {
        if (((local_id + it + 1) % NUM_OF_PRIORS) == 0 )
        {
            last_bbox_in_class = it;
            is_last_bbox_in_class = true;
            break;
        }
    }

    for (uint idx_class = 0; idx_class < NUM_CLASSES; idx_class++)
    {
        if (idx_class == BACKGROUND_LABEL_ID)
        {
            continue;
        }

        for (uint it = 0;  it < NUM_OF_ITEMS; it++)
        {
            indexes[local_id + it] = local_id + it;
        }

        stillSorting = true;
        barrier(CLK_LOCAL_MEM_FENCE);

        bool is_last_bbox_in_image = (is_last_bbox_in_class) && (idx_class == (NUM_CLASSES - 1));

        while(stillSorting)
        {
            barrier(CLK_LOCAL_MEM_FENCE);
            stillSorting = false;

            for (uint i = 0; i < 2; i++)
            {
                for (uint it = 0; it < NUM_OF_ITEMS; it++)
                {
                    uint item_id = local_id + it;

                    uint idx1 = indexes[item_id];
                    uint idx2 = indexes[item_id+1];
                    bool perform = false;
                    if ((((i % 2) && (item_id % 2)) ||
                        ((!(i % 2)) && (!(item_id % 2)))) &&
                        (it < last_bbox_in_class))
                    {
                        perform = true;
                    }

                    if (perform &&
                        (FUNC_CALL(get_score)(input_confidence, idx1, idx_class, idx_image) <
                         FUNC_CALL(get_score)(input_confidence, idx2, idx_class, idx_image)))
                    {
                        indexes[item_id] = idx2;
                        indexes[item_id+1] = idx1;
                        stillSorting = true;
                    }
                    barrier(CLK_LOCAL_MEM_FENCE);
                }
            }
        }

        // Do it only once per class in image
        if (is_last_bbox_in_class)
        {
            UNIT_TYPE adaptive_threshold = NMS_THRESHOLD;
            uint post_nms_count = 0;
            const uint shared_class = (SHARE_LOCATION)? 0 : idx_class;
            scores_size[idx_class] = 0;

            // Do the "keep" algorithm only for classes with confidence greater than CONFIDENCE_THRESHOLD.
            // Check first, the biggest one (after sort) element in class.
            if (FUNC_CALL(get_score)(input_confidence, indexes[0], idx_class, idx_image) != 0.0f)
            {
                for (uint i = 0; i < SCORES_COUNT; i++)
                {
                    const uint bb_idx = indexes[i];
                    bool keep = true;
                    for (uint j = 0; j < post_nms_count; j++)
                    {
                        if (!keep)
                        {
                            break;
                        }

                        UNIT_TYPE overlap = 0.0;
                        const uint bb_idx2 = indexes[j];

                        UNIT_TYPE decoded_bbox1[4];
                        FUNC_CALL(get_decoded_bbox)(decoded_bbox1, input_location, input_prior_box, bb_idx, shared_class, idx_image);
                        UNIT_TYPE decoded_bbox2[4];
                        FUNC_CALL(get_decoded_bbox)(decoded_bbox2, input_location, input_prior_box, bb_idx2, shared_class, idx_image);
                        bool intersecting =
                            (decoded_bbox1[0] < decoded_bbox2[2]) &
                            (decoded_bbox2[0] < decoded_bbox1[2]) &
                            (decoded_bbox1[1] < decoded_bbox2[3]) &
                            (decoded_bbox2[1] < decoded_bbox1[3]);

                        if (intersecting)
                        {
                            const UNIT_TYPE intersect_width = min(decoded_bbox1[2], decoded_bbox2[2]) - max(decoded_bbox1[0], decoded_bbox2[0]);
                            const UNIT_TYPE intersect_height = min(decoded_bbox1[3], decoded_bbox2[3]) - max(decoded_bbox1[1], decoded_bbox2[1]);
                            const UNIT_TYPE intersect_size = intersect_width * intersect_height;
                            const UNIT_TYPE bbox1_area = (decoded_bbox1[2] - decoded_bbox1[0]) * (decoded_bbox1[3] - decoded_bbox1[1]);
                            const UNIT_TYPE bbox2_area = (decoded_bbox2[2] - decoded_bbox2[0]) * (decoded_bbox2[3] - decoded_bbox2[1]);
                            overlap = intersect_size / (bbox1_area + bbox2_area - intersect_size);
                        }
                        keep = (overlap <= adaptive_threshold);
                    }
                    if (keep)
                    {
                        indexes[post_nms_count] = indexes[i];
                        ++post_nms_count;
                    }
                    if ((keep) && (ETA < 1) && (adaptive_threshold > 0.5))
                    {
                        adaptive_threshold *= ETA;
                    }
                }
            }
            // Write number of scores to global memory, for proper output order in separated work groups
            scores_size[idx_class] = post_nms_count;
        }

        stillSorting = true;
        // Wait for scores number from all classes in images
        barrier(CLK_LOCAL_MEM_FENCE);

        uint output_offset = (idx_image * NUM_CLASSES_OUT + idx_class - HIDDEN_CLASS) * SCORES_COUNT;

        for (uint it = 0; it < NUM_OF_ITEMS; it++)
        {
            const uint local_id_out = local_id + it;

            if (local_id_out < scores_size[idx_class])
            {
                const uint score_idx = indexes[local_id_out];
                uint bb_idx = indexes[local_id_out];
                const uint shared_class = (SHARE_LOCATION)? 0 : idx_class;
                UNIT_TYPE decoded_bbox[4];
                FUNC_CALL(get_decoded_bbox)(decoded_bbox, input_location, input_prior_box, bb_idx, shared_class, idx_image);

                const uint out_idx = (local_id_out + output_offset) * OUTPUT_ROW_SIZE + OUTPUT_OFFSET;
                output[out_idx] = TO_UNIT_TYPE(idx_image);
                output[out_idx + 1] = TO_UNIT_TYPE(idx_class);
                output[out_idx + 2] = FUNC_CALL(get_score)(input_confidence, score_idx, idx_class, idx_image);
                output[out_idx + 3] = decoded_bbox[0];
                output[out_idx + 4] = decoded_bbox[1];
                output[out_idx + 5] = decoded_bbox[2];
                output[out_idx + 6] = decoded_bbox[3];
            }
        }
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif


// Copyright (c) 2018 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

#define PRIOR_BOX_SIZE 4 // Each prior-box consists of [xmin, ymin, xmax, ymax].
#define OUTPUT_ROW_SIZE 7 // Each detection consists of [image_id, label, confidence, xmin, ymin, xmax, ymax].

#define CODE_TYPE_CORNER 0
#define CODE_TYPE_CENTER_SIZE 1
#define CODE_TYPE_CORNER_SIZE 2

#define HIDDEN_CLASS ((BACKGROUND_LABEL_ID == 0 && SHARE_LOCATION)?  1 : 0)
#define NUM_OF_IMAGES INPUT0_BATCH_NUM
#define NUM_LOC_CLASSES ((SHARE_LOCATION)? 1 : NUM_CLASSES)
#define NUM_CLASSES_OUT ((HIDDEN_CLASS == 1)? NUM_CLASSES - 1 : NUM_CLASSES)
#define NUM_OF_PRIORS (INPUT0_LENGTH / (NUM_OF_IMAGES * NUM_LOC_CLASSES * PRIOR_BOX_SIZE))
#define NUM_OF_ITEMS ((NUM_OF_PRIORS / 256) + 1)
#define NUM_OF_ITERATIONS ((NUM_OF_PRIORS % NUM_OF_ITEMS == 0)? (NUM_OF_PRIORS / NUM_OF_ITEMS) : ((NUM_OF_PRIORS / NUM_OF_ITEMS) + 1))

#define X_SIZE INPUT0_Y_PITCH
#define Y_SIZE (INPUT0_FEATURE_PITCH/INPUT0_Y_PITCH)
#define LOCATION_PADDING (INPUT0_PAD_BEFORE_SIZE_Y * X_SIZE + INPUT0_PAD_BEFORE_SIZE_X)
#define LOC_XY_SIZE_PRODUCT (X_SIZE * Y_SIZE)
#define CONF_PADDING (CONF_PADDING_Y * CONF_SIZE_X + CONF_PADDING_X)
#define CONF_XY_SIZE_PRODUCT (CONF_SIZE_X * CONF_SIZE_Y)

#define NUM_OF_PRIOR_COMPONENTS (NUM_OF_PRIORS * PRIOR_BOX_SIZE)
#define NUM_OF_IMAGE_CONF (INPUT0_LENGTH/NUM_OF_IMAGES/PRIOR_BOX_SIZE)

#define SCORES_COUNT (((TOP_K != -1) && (TOP_K < NUM_OF_PRIORS))? TOP_K : NUM_OF_PRIORS)

#define OUTPUT_OFFSET (((NUM_OF_IMAGES + 15) / 16) * 16)
#define SCORE_OFFSET 2

#define INPUT_OFFSET (((NUM_IMAGES + 15) / 16) * 16)
#define INPUT_BBOXES_COUNT ((INPUT0_LENGTH - INPUT_OFFSET) / OUTPUT_ROW_SIZE)
#define NUM_CLASSES_IN NUM_CLASSES_OUT
#define BBOXES_NUM_BASED_TOP_K (TOP_K * NUM_CLASSES_IN * NUM_IMAGES)
#define INPUT_BBOXES_LENGTH (((TOP_K != -1) && (BBOXES_NUM_BASED_TOP_K < INPUT_BBOXES_COUNT))? BBOXES_NUM_BASED_TOP_K : INPUT_BBOXES_COUNT)
#define NUM_OF_CLASS_BBOXES (INPUT_BBOXES_LENGTH / (NUM_IMAGES * NUM_CLASSES_IN))
#define NUM_OF_IMAGE_BBOXES (INPUT_BBOXES_LENGTH / NUM_IMAGES)
#define NUM_OF_ITEMS_SORT ((NUM_CLASSES_IN / 256) + 1)


// Number of bboxes to keep in output
#define KEEP_BBOXES_NUM ((KEEP_TOP_K < NUM_OF_IMAGE_BBOXES)? KEEP_TOP_K : NUM_OF_IMAGE_BBOXES)

void FUNC(get_decoded_bbox)(UNIT_TYPE* decoded_bbox, __global UNIT_TYPE* input_location, __global UNIT_TYPE* input_prior_box, const uint idx_prior, const uint idx_class, const uint idx_image)
{
    const uint prior_offset = idx_prior * PRIOR_INFO_SIZE + PRIOR_COORD_OFFSET;
    uint location_offset =
        (NUM_LOC_CLASSES * (idx_prior * PRIOR_BOX_SIZE) + idx_image * INPUT0_FEATURE_NUM + idx_class * PRIOR_BOX_SIZE) *
        LOC_XY_SIZE_PRODUCT +
        LOCATION_PADDING;

    UNIT_TYPE prior_bboxes[4] = {
        input_prior_box[prior_offset],
        input_prior_box[prior_offset + 1],
        input_prior_box[prior_offset + 2],
        input_prior_box[prior_offset + 3]};

    if (!PRIOR_IS_NORMALIZED)
    {
        prior_bboxes[0] /= IMAGE_WIDTH;
        prior_bboxes[1] /= IMAGE_HEIGH;
        prior_bboxes[2] /= IMAGE_WIDTH;
        prior_bboxes[3] /= IMAGE_HEIGH;
    }

    if (CODE_TYPE == CODE_TYPE_CORNER)
    {
        if (VARIANCE_ENCODED_IN_TARGET)
        {
            // variance is encoded in target, we simply need to add the offset predictions.
            for(uint i = 0; i < PRIOR_BOX_SIZE; i++)
            {
                decoded_bbox[i] =
                    prior_bboxes[i] +
                    input_location[location_offset];

                location_offset += LOC_XY_SIZE_PRODUCT;
            }
        }
        else
        {
            // variance is encoded in bbox, we need to scale the offset accordingly.
            for(uint i = 0; i < PRIOR_BOX_SIZE; i++)
            {
                decoded_bbox[i] =
                    mad(input_prior_box[NUM_OF_PRIOR_COMPONENTS + i], // prior variances are places after prior bboxes
                        input_location[location_offset],
                        prior_bboxes[i]);

                location_offset += LOC_XY_SIZE_PRODUCT;
            }
        }
    }
    else if (CODE_TYPE == CODE_TYPE_CENTER_SIZE)
    {
        const UNIT_TYPE prior_width = prior_bboxes[2] - prior_bboxes[0];
        const UNIT_TYPE prior_height = prior_bboxes[3] - prior_bboxes[1];
        const UNIT_TYPE prior_center_x = (prior_bboxes[0] + prior_bboxes[2]) / 2;
        const UNIT_TYPE prior_center_y = (prior_bboxes[1] + prior_bboxes[3]) / 2;
        const UNIT_TYPE bbox_xmin = input_location[location_offset];
        const UNIT_TYPE bbox_ymin = input_location[location_offset + LOC_XY_SIZE_PRODUCT];
        const UNIT_TYPE bbox_xmax = input_location[location_offset + 2 * LOC_XY_SIZE_PRODUCT];
        const UNIT_TYPE bbox_ymax = input_location[location_offset + 3 * LOC_XY_SIZE_PRODUCT];
        UNIT_TYPE decode_bbox_center_x, decode_bbox_center_y;
        UNIT_TYPE decode_bbox_width, decode_bbox_height;

        if (VARIANCE_ENCODED_IN_TARGET)
        {
            // variance is encoded in target, we simply need to restore the offset predictions.
            decode_bbox_center_x = bbox_xmin * prior_width + prior_center_x;
            decode_bbox_center_y = bbox_ymin * prior_height + prior_center_y;
            decode_bbox_width = (exp(bbox_xmax) * prior_width) / 2;
            decode_bbox_height = (exp(bbox_ymax) * prior_height) / 2;
        }
        else
        {
            // variance is encoded in bbox, we need to scale the offset accordingly.
            decode_bbox_center_x = input_prior_box[NUM_OF_PRIOR_COMPONENTS] * bbox_xmin * prior_width + prior_center_x;
            decode_bbox_center_y = input_prior_box[NUM_OF_PRIOR_COMPONENTS + 1] * bbox_ymin * prior_height + prior_center_y;
            decode_bbox_width = (exp(input_prior_box[NUM_OF_PRIOR_COMPONENTS + 2] * bbox_xmax) * prior_width) / 2;
            decode_bbox_height = (exp(input_prior_box[NUM_OF_PRIOR_COMPONENTS + 3] * bbox_ymax) * prior_height) / 2;
        }

        decoded_bbox[0] = decode_bbox_center_x - decode_bbox_width;
        decoded_bbox[1] = decode_bbox_center_y - decode_bbox_height;
        decoded_bbox[2] = decode_bbox_center_x + decode_bbox_width;
        decoded_bbox[3] = decode_bbox_center_y + decode_bbox_height;
    }
    else
    {
        const UNIT_TYPE prior_width = prior_bboxes[2] - prior_bboxes[0];
        const UNIT_TYPE prior_height = prior_bboxes[3] - prior_bboxes[1];
        const UNIT_TYPE bbox_xmin = input_location[location_offset];
                }
           }
           uint image_count_sum = (input_bboxes[image_id] < KEEP_TOP_K)? input_bboxes[image_id] : KEEP_TOP_K;
           for (output_count; output_count < image_count_sum; output_count++)
           {
                uint out_idx = output_count * OUTPUT_ROW_SIZE + image_offset_output;
                output[out_idx] = -1.0;
                output[out_idx + 1] = 0.0;
                output[out_idx + 2] = 0.0;
                output[out_idx + 3] = 0.0;
                output[out_idx + 4] = 0.0;
                output[out_idx + 5] = 0.0;
                output[out_idx + 6] = 0.0;
           }
        }
    }

    if (local_id == 0 &&
        image_id == (NUM_IMAGES - 1))
    {
        for (output_count += count_sum; output_count < (KEEP_TOP_K *  NUM_IMAGES); output_count++ )
        {
            uint out_idx = output_count * OUTPUT_ROW_SIZE;
            output[out_idx] = -1.0;
            output[out_idx + 1] = 0.0;
            output[out_idx + 2] = 0.0;
            output[out_idx + 3] = 0.0;
            output[out_idx + 4] = 0.0;
            output[out_idx + 5] = 0.0;
            output[out_idx + 6] = 0.0;
        }
    }

}

        const UNIT_TYPE bbox_ymin = input_location[location_offset + LOC_XY_SIZE_PRODUCT];
        const UNIT_TYPE bbox_xmax = input_location[location_offset + 2 * LOC_XY_SIZE_PRODUCT];
        const UNIT_TYPE bbox_ymax = input_location[location_offset + 3 * LOC_XY_SIZE_PRODUCT];

        if (VARIANCE_ENCODED_IN_TARGET)
        {
            // variance is encoded in target, we simply need to add the offset predictions.
            decoded_bbox[0] = prior_bboxes[0] + bbox_xmin * prior_width;
            decoded_bbox[1] = prior_bboxes[1] + bbox_ymin * prior_height;
            decoded_bbox[2] = prior_bboxes[2] + bbox_xmax * prior_width;
            decoded_bbox[3] = prior_bboxes[3] + bbox_ymax * prior_height;
        }
        else
        {
            // variance is encoded in bbox, we need to scale the offset accordingly.
            decoded_bbox[0] = prior_bboxes[0] + input_prior_box[NUM_OF_PRIOR_COMPONENTS] * bbox_xmin * prior_width;
            decoded_bbox[1] = prior_bboxes[1] + input_prior_box[NUM_OF_PRIOR_COMPONENTS + 1] * bbox_ymin * prior_height;
            decoded_bbox[2] = prior_bboxes[2] + input_prior_box[NUM_OF_PRIOR_COMPONENTS + 2] * bbox_xmax * prior_width;
            decoded_bbox[3] = prior_bboxes[3] + input_prior_box[NUM_OF_PRIOR_COMPONENTS + 3] * bbox_ymax * prior_height;
        }
    }
}

UNIT_TYPE FUNC(get_score)(__global UNIT_TYPE* input_confidence, const uint idx_prior, const uint idx_class, const uint idx_image)
{
    const uint confidence_offset =                    // offset in kernel input 'input_confidence'
            (idx_prior * NUM_CLASSES + idx_image * NUM_OF_PRIORS * NUM_CLASSES + idx_class) *
            CONF_XY_SIZE_PRODUCT +
            CONF_PADDING;

    return (input_confidence[confidence_offset] > CONFIDENCE_THRESHOLD)? input_confidence[confidence_offset] : 0;
}



UNIT_TYPE FUNC(get_score_sort)(__global UNIT_TYPE* input_bboxes, const uint idx_bbox, const uint idx_image)
{
    if (idx_bbox == KEEP_BBOXES_NUM)
    {
        // Idx set to dummy value, return -1 to exclude this element from sorting
        return -1;
    }
    else
    {
        return input_bboxes[(idx_bbox + idx_image * NUM_OF_IMAGE_BBOXES) * OUTPUT_ROW_SIZE + INPUT_OFFSET + SCORE_OFFSET];
    }
}

KERNEL (detection_output_sort)(__global UNIT_TYPE* input_bboxes, __global UNIT_TYPE* output)
{
    __local uint indexes[NUM_CLASSES_IN];
    __local bool stillSorting;
    __local uint output_count;
    __local uint num_out_per_class[NUM_CLASSES_IN];

    output_count = 0;
    num_out_per_class[get_local_id(0)] = 0;

    const uint image_id = get_global_id(0) / NUM_CLASSES_IN;
    const uint local_id = get_local_id(0) * NUM_OF_ITEMS_SORT; // All bboxes from one image in work group

    uint image_offset_input = image_id * NUM_OF_IMAGE_BBOXES;

    uint count_sum = 0;
    for (uint i = 0; i < image_id; i++)
    {
        count_sum += (input_bboxes[i] < KEEP_TOP_K)? input_bboxes[i] : KEEP_TOP_K;
    }

    uint image_offset_output = count_sum * OUTPUT_ROW_SIZE;

    // If there is less elements than needed, write input to output
    if (input_bboxes[image_id] <= KEEP_TOP_K)
    {
        if (local_id == 0)
        {
            for (uint class = 0; class < NUM_CLASSES_IN; class++)
            {
                if (class == BACKGROUND_LABEL_ID && !HIDDEN_CLASS)
                {
                    continue;
                }
                for (uint i = 0; i < NUM_OF_CLASS_BBOXES; i++)
                {
                    uint input_idx = (i + image_offset_input + class * NUM_OF_CLASS_BBOXES) * OUTPUT_ROW_SIZE + INPUT_OFFSET;
                    if (input_bboxes[input_idx] != -1)
                    {
                        uint out_idx = output_count * OUTPUT_ROW_SIZE + image_offset_output;

                        for (uint idx = 0; idx < OUTPUT_ROW_SIZE; idx++)
                        {
                            output[out_idx + idx] = input_bboxes[input_idx + idx];
                        }

                        output_count++;
                    }
                    else
                    {
                        break;
                    }
                }
            }
        }
    }
    else
    {
        uint sorted_output[KEEP_TOP_K * NUM_CLASSES_IN];

        for (uint it = 0; it < NUM_OF_ITEMS_SORT; it++)
        {
            indexes[local_id + it] = (local_id + it) * NUM_OF_CLASS_BBOXES;
        }

        while (output_count < KEEP_BBOXES_NUM)
        {
            stillSorting = true;

            while(stillSorting)
            {
                barrier(CLK_LOCAL_MEM_FENCE);
                stillSorting = false;
                for (uint it = 0; it < NUM_OF_ITEMS_SORT; it++)
                {
                    uint item_id = local_id + it;
                    for (uint i = 0; i < 2; i++)
                    {

                        uint idx1 = indexes[item_id];
                        uint idx2 = indexes[item_id+1];
                        bool perform = false;
                        if ((((i % 2) && (item_id % 2)) ||
                            ((!(i % 2)) && (!(item_id % 2)))) &&
                            (item_id != (NUM_CLASSES_IN - 1)))
                        {
                            perform = true;
                        }

                        if (perform &&
                            (FUNC_CALL(get_score_sort)(input_bboxes, idx1, image_id) <
                             FUNC_CALL(get_score_sort)(input_bboxes, idx2, image_id)))
                        {
                            indexes[item_id] = idx2;
                            indexes[item_id+1] = idx1;
                            stillSorting = true;
                        }
                        barrier(CLK_LOCAL_MEM_FENCE);
                    }
                }
            }

            if (local_id == 0)
            {
                UNIT_TYPE top_score = FUNC_CALL(get_score_sort)(input_bboxes, indexes[0], image_id);

                if (top_score != 0)
                {
                    for (uint it = 0; (it < NUM_CLASSES_IN) && (output_count < KEEP_BBOXES_NUM); it++)
                    {
                        if (FUNC_CALL(get_score_sort)(input_bboxes, indexes[it], image_id) == top_score)
                        {
                            // write to output, create counter, and check if keep_top_k is satisfied.
                            uint input_idx = (indexes[it] + image_offset_input) * OUTPUT_ROW_SIZE + INPUT_OFFSET;
                            uint class_idx = input_bboxes[input_idx + 1] - HIDDEN_CLASS;

                            sorted_output[class_idx * KEEP_TOP_K + num_out_per_class[class_idx]] = input_idx;
                            num_out_per_class[class_idx]++;

                            indexes[it]++;
                            output_count++;

                            // If all class elements are written to output, set dummy value to exclude class from sorting.
                            if ((indexes[it] % NUM_OF_CLASS_BBOXES) == 0)
                            {
                                indexes[it] = KEEP_BBOXES_NUM;
                            }
                        }
                    }
                }
                else
                {
                    // There is no more significant results to sort.
                    output_count = KEEP_BBOXES_NUM;
                }
            }
            barrier(CLK_LOCAL_MEM_FENCE);
        }
        if (local_id == 0)
        {
            output_count = 0;
            for (uint i = 0; i < NUM_CLASSES_IN; i++)
            {
                for (uint j = 0; j < num_out_per_class[i]; j++)
                {

                    uint out_idx = output_count * OUTPUT_ROW_SIZE + image_offset_output;
                    for (uint idx = 0; idx < OUTPUT_ROW_SIZE; idx++)
                    {
                        output[out_idx + idx] = input_bboxes[sorted_output[i * KEEP_TOP_K + j] + idx];
                    }
                    output_count++;
        CAT(prefix, _SIZE_X),                           \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



#define PACK 4

#define SGR_MAX_SIZE   (get_max_sub_group_size())
#define SGR_LOCAL_ID   (get_sub_group_local_id())

#define GET_INDEX(_x) \
   ( ((_x / SGR_MAX_SIZE) * SGR_MAX_SIZE /* Normed to max_subgroup_size */)   \
     * (4 * sizeof(int)                  /* 4xINT32 per sub_group reading */) \
   )

inline int16 FUNC(get_int16)(const __global UNIT_TYPE* src, uint idx)
{
    int4 int_data = as_int4(intel_sub_group_block_read4((const __global uint*)(src + idx)));
    int16 to_return;
    for(uint i = 0; i < 4; i++)
    {
        for(uint j = 0; j < 4; j++)
        {
            to_return[i * 4 + j] = as_char4(int_data[i])[j];
        }
    }
    return to_return;
}
#define GET_INPUT(A, B) FUNC_CALL(get_int16)(A, GET_INDEX(x))


__attribute__((intel_reqd_sub_group_size(8)))
KERNEL(eltwise_b_fs_yx_fsv4)(
    INPUTS_DECLS
    __global UNIT_TYPE* output
#if CALIBRATION_TERM
    , const __global float* calibrations
#endif
    )
{
    // This kernel works with linearized data w/o strides and padding
    // so only one dimension 'X' is required
    const uint x   = get_global_id(0);
    const uint idx = GET_INDEX(x);

    int16 res;

    DO_ELTWISE;

    for(uint i = 0; i < 4; i++)
    {
        const uint out_idx = idx + (sizeof(int) * (SGR_LOCAL_ID + (i * SGR_MAX_SIZE)));
        char4 char_res;

        for(uint j = 0; j < 4; j++)
        {
            int res_tmp = res[i * 4 + j];
        #if QUANTIZATION_TERM
        #if CALIBRATION_TERM
            // Batch:
            const uint b = out_idx / OUTPUT_BATCH_PITCH;
            // Feature:
            // Because of specific data layout Feature  must be normed to PACK size
            uint d3 = ((out_idx - b * OUTPUT_BATCH_PITCH) / (OUTPUT_FEATURE_PITCH * PACK)) * PACK;
            res_tmp = (int)round(((float)res_tmp) * calibrations[d3+j]);
        #else  // CALIBRATION_TERM
            res_tmp = (int)round(((float)res_tmp) * O_QF);
        #endif // CALIBRATION_TERM
        #endif // QUANTIZATION_TERM

        #if QUANTIZATION_TERM
        #ifdef ELTW_UNSIGNED
            char_res[j] = ACTIVATION(convert_uchar_sat(res_tmp), NL_M, NL_N);
        #else
            char_res[j] = ACTIVATION(convert_char_sat(res_tmp), NL_M, NL_N);
        #endif
        #else
            char_res[j] = ACTIVATION(convert_char(res_tmp), NL_M, NL_N);
        #endif
        }
        // put 4 chars into output
        // char_result[i] = as_int(char_res);
        *((__global int*)(output + out_idx)) = as_int(char_res);
    }
}

#undef PACK
#undef SGR_MAX_SIZE
#undef SGR_LOCAL_ID
#undef GET_INDEX
#undef GET_INPUT

/*
// Copyright (c) 2019 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/


#define GET_DATA_INDEX(prefix, b, f, y, x)  \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_INDEX_SAFE(prefix, b, f, y, x)                     \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

 #define GET_3D_DATA_INDEX(prefix, b, f, z, y, x) \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (z)*CAT(prefix, _Z_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_3D_DATA_INDEX_SAFE(prefix, b, f, z, y, x)               \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (z % CAT(prefix, _SIZE_Z     ))*CAT(prefix, _Z_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_BS_FYX_BSV8_INDEX(prefix, b, f, y, x, sub_group_size)  \
    CAT(prefix, _OFFSET) +                                              \
    ((b) % (sub_group_size)) +                                          \
    (sub_group_size)*(                                                  \
        (x)*CAT(prefix, _X_PITCH) +                                     \
        (y)*CAT(prefix, _Y_PITCH) +                                     \
        (f)*CAT(prefix, _FEATURE_PITCH) +                               \
        ((b) / (sub_group_size))*CAT(prefix, _BATCH_PITCH)              \
    )

inline uint FUNC(get_bf8_xy16_index)(uint b, uint f, uint y, uint x, uint x_size, uint y_size, uint f_size, uint offset)
{
    const uint xy_idx = x + y * x_size;
    const uint xy_offset = (xy_idx % 16) + (xy_idx / 16) * 16 * 8;
    const uint xy_block_num = (x_size * y_size + 16 - 1) / 16;
    const uint f_offset = (f % 8) * 16 + (f / 8) * xy_block_num * 16 * 8;
    const uint f_block_num = (f_size + 8 - 1) / 8;
    const uint b_offset = b * f_block_num * xy_block_num * 128;

    const size_t idx = offset + xy_offset + f_offset + b_offset;

    return idx;
}

inline uint FUNC(get_bfyx_f16_index)(
    uint b, uint f, uint y, uint x,
    uint x_size, uint y_size, uint f_size,
    uint y_pad_before,uint y_pad_after,
    uint x_pad_before, uint x_pad_after,
    uint f_pad_before, uint f_pad_after)
{
    const uint feature_slice_size = 16;

    const uint full_width = x_size + x_pad_before + x_pad_after;
    const uint full_height = y_size + y_pad_before + y_pad_after;
    const uint full_features = f_pad_before + f_size + f_pad_after;
    const uint feature_tiles_number = (full_features + feature_slice_size - 1) / feature_slice_size;

    const uint x_pitch = feature_slice_size;
    const uint y_pitch = x_pitch * full_width;
    const uint fs_pitch = y_pitch * full_height;
    const uint b_pitch = fs_pitch * feature_tiles_number;

    const uint x_offset = (x + x_pad_before) * x_pitch;
    const uint y_offset = (y + y_pad_before) * y_pitch;
    const uint fs_offset = (f / feature_slice_size + f_pad_before / feature_slice_size) * fs_pitch;
    const uint b_offset = b * b_pitch;

    const size_t idx = x_offset + y_offset + fs_offset + b_offset + (f % feature_slice_size);

    return idx;
}

#define GET_DATA_BFYX_F16_INDEX(prefix, b, f, y, x)     \
    FUNC_CALL(get_bfyx_f16_index)(                      \
        b, f, y, x,                                     \
        CAT(prefix, _SIZE_X ),                          \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _FEATURE_NUM),                      \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_X),                \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _SIZE_X),                           \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



#ifdef INPUT_STRIDED
#define GET_INDEX(src) \
    GET_DATA_FS_BS_YX_BSV4_FSV32_INDEX(src, d4, d3, d2 * CAT(src, _STRIDE_Y), d1 * CAT(src, _STRIDE_X))
#else
#define GET_INDEX(src) \
    GET_DATA_FS_BS_YX_BSV4_FSV32_INDEX(src, d4, d3, d2, d1)
#endif

int16 FUNC(get_int16)(const __global UNIT_TYPE* src, uint idx)
{
    int4 int_data = as_int4(intel_sub_group_block_read4((const __global uint*)(src + idx)));
    int16 to_return;
    for(uint b = 0; b < 4; b++)
    {
        for(uint f = 0; f < 4; f++)
        {
            to_return[b * 4 + f] = as_char4(int_data[b])[f];
        }
    }
    return to_return;
}
#define GET_INPUT(A, B) FUNC_CALL(get_int16)(A, GET_INDEX(B))

__attribute__((intel_reqd_sub_group_size(8)))
KERNEL(eltwise_fs_bs_yx_bsv4_fsv32)(
    INPUTS_DECLS
    __global UNIT_TYPE* output
#if CALIBRATION_TERM
    , const __global float* calibrations
#endif
    )
{
    const uint of_32_aligned = ((OUTPUT_FEATURE_NUM + 31) / 32) * 32;
    const uint d1 = get_global_id(0);   // X
    const uint d2 = get_global_id(1);   // Y
    const uint d3 = (get_global_id(2) * 4) % of_32_aligned; // Feature
    const uint d4 = 4 * ((get_global_id(2) * 4) / of_32_aligned); // Batch

    int16 res;

    DO_ELTWISE;

    int4 char_result;
    for(uint b = 0; b < 4; b++)
    {
        char4 char_res;
        for(uint f = 0; f < 4; f++)
        {
            int res_tmp = res[b * 4 + f];
        #if CALIBRATION_TERM
            res_tmp = (int)round(((float)res_tmp) * calibrations[d3+f]);
        #else  // CALIBRATION_TERM
            res_tmp = (int)round(((float)res_tmp) * O_QF);
        #endif // CALIBRATION_TERM
            char_res[f] = ACTIVATION(convert_char_sat(res_tmp), NL_M, NL_N);
        }
        // pack 4 chars into int
        char_result[b] = as_int(char_res);
    }

    uint output_offset = GET_DATA_FS_BS_YX_BSV4_FSV32_INDEX(OUTPUT, d4, d3, d2, d1);
    intel_sub_group_block_write4((__global uint*)(output + output_offset), as_uint4(char_result));
}

#undef GET_INDEX

        CAT(prefix, _SIZE_X),                           \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



KERNEL(eltwise_fs_b_yx_fsv32)(
    INPUTS_DECLS
    __global UNIT_TYPE* output)
{
    const uint global_id = get_global_id(0);

    VLOAD_DECLS

    MAKE_VECTOR_TYPE(UNIT_TYPE, 8) res;

    DO_ELTWISE

    res = ACTIVATION(res, NL_M, NL_N);

    vstore8(res, global_id, output);

}




        CAT(prefix, _SIZE_X),                           \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif


// Copyright (c) 2019 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


#ifndef UNIT_TYPE
#error Unit type not defined.
#endif

#if UNIT_TYPE_SIZE == 2
// 2 byte data type case (ex. half)
#define UNIT_BLOCK_RW_TYPE ushort
#define UNIT_BLOCK_READ_FUNC intel_sub_group_block_read_us
#define UNIT_BLOCK_WRITE_FUNC intel_sub_group_block_write_us
#elif UNIT_TYPE_SIZE == 4
// 4 byte data type case (ex. float)
#define UNIT_BLOCK_RW_TYPE uint
#define UNIT_BLOCK_READ_FUNC intel_sub_group_block_read
#define UNIT_BLOCK_WRITE_FUNC intel_sub_group_block_write
#else
#error Unsupported unit type for block read/write.
#endif

#define UNIT_TYPE2 MAKE_VECTOR_TYPE(UNIT_TYPE, 2)
#define UNIT_TYPE4 MAKE_VECTOR_TYPE(UNIT_TYPE, 4)
#define UNIT_TYPE8 MAKE_VECTOR_TYPE(UNIT_TYPE, 8)

#define UNIT_BLOCK_RW_TYPE2 MAKE_VECTOR_TYPE(UNIT_BLOCK_RW_TYPE, 2)
#define UNIT_BLOCK_RW_TYPE4 MAKE_VECTOR_TYPE(UNIT_BLOCK_RW_TYPE, 4)
#define UNIT_BLOCK_RW_TYPE8 MAKE_VECTOR_TYPE(UNIT_BLOCK_RW_TYPE, 8)

#define AS_TYPE(type, val) CAT(as_, type)(val)

#define UNIT_BLOCK_READ_FUNC2 CAT(UNIT_BLOCK_READ_FUNC, 2)
#define UNIT_BLOCK_READ_FUNC4 CAT(UNIT_BLOCK_READ_FUNC, 4)
#define UNIT_BLOCK_READ_FUNC8 CAT(UNIT_BLOCK_READ_FUNC, 8)

#define UNIT_BLOCK_WRITE_FUNC2 CAT(UNIT_BLOCK_WRITE_FUNC, 2)
#define UNIT_BLOCK_WRITE_FUNC4 CAT(UNIT_BLOCK_WRITE_FUNC, 4)
#define UNIT_BLOCK_WRITE_FUNC8 CAT(UNIT_BLOCK_WRITE_FUNC, 8)

#define UNIT_BLOCK_READ(ptr, offset)  AS_TYPE(UNIT_TYPE,  UNIT_BLOCK_READ_FUNC( (const __global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset)))
#define UNIT_BLOCK_READ2(ptr, offset) AS_TYPE(UNIT_TYPE2, UNIT_BLOCK_READ_FUNC2((const __global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset)))
#define UNIT_BLOCK_READ4(ptr, offset) AS_TYPE(UNIT_TYPE4, UNIT_BLOCK_READ_FUNC4((const __global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset)))
#define UNIT_BLOCK_READ8(ptr, offset) AS_TYPE(UNIT_TYPE8, UNIT_BLOCK_READ_FUNC8((const __global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset)))

#define UNIT_BLOCK_WRITE(ptr, offset, val)  UNIT_BLOCK_WRITE_FUNC( (__global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset), AS_TYPE(UNIT_BLOCK_RW_TYPE,  val))
#define UNIT_BLOCK_WRITE2(ptr, offset, val) UNIT_BLOCK_WRITE_FUNC2((__global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset), AS_TYPE(UNIT_BLOCK_RW_TYPE2, val))
#define UNIT_BLOCK_WRITE4(ptr, offset, val) UNIT_BLOCK_WRITE_FUNC4((__global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset), AS_TYPE(UNIT_BLOCK_RW_TYPE4, val))
#define UNIT_BLOCK_WRITE8(ptr, offset, val) UNIT_BLOCK_WRITE_FUNC8((__global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset), AS_TYPE(UNIT_BLOCK_RW_TYPE8, val))


// Kernel works only for sub_group size of 16 with 32 features slice size and process 2 features per WI
#define REQD_SUB_GROUP_SIZE 16
#define REQD_FEATURE_SLICE_SIZE 32
#define REQD_FEATURES_PER_WORK_ITEM 2

//inputs_decls -> __global unit_type * input0, __global unit_type * input1

__attribute__((intel_reqd_sub_group_size(REQD_SUB_GROUP_SIZE)))
KERNEL(eltwise_mixed_byxf_and_fs_b_yx_fsv32)(
    INPUTS_DECLS
    __global UNIT_TYPE* output)
{
    const uint x   = get_global_id(0);
    const uint y   = get_global_id(1);
    const uint bf  = (uint)get_global_id(2);
    const uint bfs = bf / (REQD_FEATURE_SLICE_SIZE / REQD_FEATURES_PER_WORK_ITEM);

    const uint b  = bfs % INPUT0_BATCH_NUM;
    const uint fs = bfs / INPUT0_BATCH_NUM;
    const uint f0 = fs * REQD_FEATURE_SLICE_SIZE; //number of first feature in slice

    const uint input_0_offset = GET_INPUT_0_DATA_INDEX(b,f0,y,x);
    const uint input_1_offset = GET_INPUT_1_DATA_INDEX(b,f0,y,x);
    const uint output_offset  = GET_OUTPUT_DATA_INDEX(b,f0,y,x);

    UNIT_TYPE2 in1;
    UNIT_TYPE2 in2;
    UNIT_TYPE2 out;

    in1 = UNIT_BLOCK_READ2(input0,input_0_offset);
    in2 = UNIT_BLOCK_READ2(input1,input_1_offset);

    {
        const UNIT_TYPE tmp_input_0 = in1.s0;
        const UNIT_TYPE tmp_input_1 = in2.s0;
        OPERATION0;
        out.s0 = tmp0;
    }
    {
        const UNIT_TYPE tmp_input_0 = in1.s1;
        const UNIT_TYPE tmp_input_1 = in2.s1;
        OPERATION0;
        out.s1 = tmp0;
    }

    out = ACTIVATION(out, NL_M, NL_N);

    UNIT_BLOCK_WRITE2(output,output_offset,out);
}




        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



KERNEL(eltwise_gpu_vload8)(
    INPUTS_DECLS
    __global UNIT_TYPE* output)
{
    const uint global_id = get_global_id(0);

    VLOAD_DECLS

    MAKE_VECTOR_TYPE(UNIT_TYPE, 8) res;

    DO_ELTWISE

    res = ACTIVATION(res, NL_M, NL_N);

    vstore8(res, global_id, output);

}

        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



KERNEL(embed_ref)(const __global UNIT_TYPE* input0,
    __global UNIT_TYPE* output,
    const __global UNIT_TYPE* weights
#if BIAS_TERM
    ,const __global UNIT_TYPE* biases
#endif
)
{
    const uint x = (uint)get_global_id(0);
	const uint y = (uint)get_global_id(1);
	const uint b = (uint)get_global_id(2);

	uint output_idx = (b*INPUT0_ELEMENTS_COUNT*NUM_OUTPUT_SIZE)+(uint)(x*NUM_OUTPUT_SIZE+y);
    output[output_idx] = weights[(uint)(input0[(b*INPUT0_ELEMENTS_COUNT)+x]*NUM_OUTPUT_SIZE+y)];
#if BIAS_TERM
    output[output_idx] += biases[y];
#endif
}

        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



KERNEL(fc)(
    const __global INPUT0_TYPE* input,
    __global OUTPUT_TYPE* output,
    const __global FILTER_TYPE* weights
#if BIAS_TERM
    , const __global BIAS_TYPE* biases
#endif
#if QUANTIZATION_TERM
    ,const __global float* quantizations
#endif
#if CALIBRATION_TERM
    ,const __global float* calibrations
#endif
    )
{
    const uint ofm = get_global_id(0);
    const uint b = get_global_id(1);

#if QUANTIZATION_TERM
    int dotProd = 0;
#else
    ACCUMULATOR_TYPE dotProd = 0;
#endif

    for (uint ifm = 0; ifm < INPUT0_FEATURE_NUM; ++ifm)
    {
       for (uint y = 0; y < INPUT0_SIZE_Y; ++y)
       {
           for(uint x = 0; x < INPUT0_SIZE_X; ++x )
           {
               const uint input0_idx = GET_DATA_INDEX(INPUT0, b, ifm, y, x);
               const uint filter_idx = GET_FILTER_INDEX(FILTER, ofm, ifm, y, x);
#if QUANTIZATION_TERM
               dotProd += (int)input[input0_idx] * (int)weights[filter_idx];
#else
               dotProd += (ACCUMULATOR_TYPE)(input[input0_idx] * weights[filter_idx]);
#endif
          }
       }
    }

    const uint output_idx = GET_DATA_INDEX(OUTPUT, b, ofm, 0, 0);

#if BIAS_TERM
    const uint bias_index = ofm;
#endif

#if BIAS_TERM
#if QUANTIZATION_TERM
#if CALIBRATION_TERM
    dotProd = (UNIT_TYPE)round(((float)dotProd * quantizations[ofm] * I_QF + biases[bias_index]) * calibrations[ofm]);
#else  // CALIBRATION_TERM
    dotProd = (UNIT_TYPE)round(((float)dotProd * quantizations[ofm] * I_QF + biases[bias_index]) * O_QF);
#endif // CALIBRATION_TERM
#else  // QUANTIZATION_TERM
    dotProd += (ACCUMULATOR_TYPE)biases[bias_index];
#endif // QUANTIZATION_TERM
#endif

#if QUANTIZATION_TERM
    output[output_idx] = ACTIVATION(convert_char(dotProd), NL_M, NL_N);
#else
    output[output_idx] = ACTIVATION((UNIT_TYPE)dotProd, NL_M, NL_N);
#endif
}

    // TODO: we need to support multi dims. currently it doesn't
    // TODO: check cases we have padding in y/z dimensions
    unsigned w = INPUT0_BATCH_PITCH;

    #if BIAS_TERM
    const float bias = biases[y];
    #else
    const float bias = 0;
    #endif

    #if (LAST_INPUT_SIZE_DIV_4 == 0)
    w /= VEC_SIZE;
    __global const float4 *mat_read    = (__global const float4 *) (matrix);
    const int start_offset = w*y;
    const int end_offset = start_offset + w;
    #else
    __global const float4 *mat_read    = (__global const float4 *) (matrix + w * y);
    const int start_offset = 0;
    const int end_offset = start_offset + (w + VEC_SIZE - 1) / VEC_SIZE;
    #endif

    __global const float4 *src_read    = (__global const float4 *) (src_vector + batch_id*INPUT0_BATCH_PITCH + INPUT0_OFFSET);
    int m_offset = start_offset + x;
    int v_offset = x;
    float4 sum = (float4)(0);
    #if (LAST_INPUT_SIZE_REMAINDER == 0)
    for (; m_offset < end_offset; m_offset += WORK_GROUP_X, v_offset += WORK_GROUP_X) {
        const float4 m = mat_read[m_offset];
        const float4 v = src_read[v_offset];
        sum = mad(m, v, sum);
    }
    #else

        #if (LAST_INPUT_SIZE_DIV_4 == 0)
        for (; m_offset < end_offset; m_offset += WORK_GROUP_X, v_offset += WORK_GROUP_X) {
            const float4 m = mat_read[m_offset];
            const float4 v = src_read[v_offset];

            sum = mad(m, v, sum);
        }
        #else
        for (; m_offset < end_offset - WORK_GROUP_X; m_offset += WORK_GROUP_X, v_offset += WORK_GROUP_X) {
            const float4 m = mat_read[m_offset];
            const float4 v = src_read[v_offset];

            sum = mad(m, v, sum);
        }

        if (m_offset < end_offset)
        {
            const float4 m = mat_read[m_offset];
            const float4 v = src_read[v_offset];
            if ((x + 1) == ((LAST_INPUT_SIZE_REMAINDER + VEC_SIZE - 1) / VEC_SIZE))
            {
                #if (LAST_INPUT_SIZE_DIV_4 == 3)
                    sum.xyz += m.xyz * v.xyz;
                #elif (LAST_INPUT_SIZE_DIV_4 == 2)
                    sum.xy += m.xy * v.xy;
                #else
                    sum.x += m.x * v.x;
                #endif
            }
            else
            {
                sum = mad(m, v, sum);
            }
        }
        #endif
    #endif

    slm[x] = sum.x + sum.y + sum.z + sum.w;
    barrier(CLK_LOCAL_MEM_FENCE);

    // Reduction now
    for (int max_offset = WORK_GROUP_X / 2; max_offset > 0; max_offset >>= 1) {
        if (x < max_offset) slm[x] += slm[x + max_offset];
        barrier(CLK_LOCAL_MEM_FENCE);
    }

    if (x == 0) dst_vector[oidx] = ACTIVATION(slm[0] + bias, NL_M, NL_N);
}
#endif


        CAT(prefix, _PAD_BEFORE_SIZE_X),                \
        CAT(prefix, _SIZE_X),                           \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



#if defined(__fc_f16)

#define WORK_GROUP_X 64
#define VEC_SIZE 4
__attribute__ ((reqd_work_group_size(WORK_GROUP_X, 1, 1)))
KERNEL(fc_f16)(
    const __global const half  *src_vector,
    __global half        *dst_vector,
    const __global const half  *matrix
#if BIAS_TERM
    , const __global const half  *biases
#endif
    )
{
    local half slm[WORK_GROUP_X];
    const unsigned x = get_local_id(0);
    const unsigned y = get_global_id(1);
#if OUTPUT_BATCH_NUM == 1
    const unsigned oidx = (y / OUTPUT_SIZE_X) * OUTPUT_Y_PITCH + y % OUTPUT_SIZE_X + OUTPUT_OFFSET;
    const unsigned batch_id = 0;
#else
    const unsigned batch_id = get_global_id(2);

    const unsigned out_z = y / (OUTPUT_SIZE_X * OUTPUT_SIZE_Y);
    const unsigned out_yx = y % (OUTPUT_SIZE_X * OUTPUT_SIZE_Y);
    const unsigned out_y = out_yx / (OUTPUT_SIZE_X);
    const unsigned out_x = out_yx % (OUTPUT_SIZE_X);

    const unsigned oidx = batch_id*OUTPUT_BATCH_PITCH + out_z*OUTPUT_FEATURE_PITCH + out_y*OUTPUT_Y_PITCH + out_x + OUTPUT_OFFSET;
#endif

    // TODO: we need to support multi dims. currently it doesn't
    // TODO: check cases we have padding in y/z dimensions
    unsigned w = INPUT0_BATCH_PITCH;

    #if (LAST_INPUT_SIZE_DIV_4 == 0)
    w /= VEC_SIZE;
    __global const half4 *mat_read    = (__global const half4 *) (matrix);
    const int start_offset = w*y;
    const int end_offset = start_offset + w;
    #else
    __global const half4 *mat_read    = (__global const half4 *) (matrix + w * y);
    const int start_offset = 0;
    const int end_offset = start_offset + (w + VEC_SIZE - 1) / VEC_SIZE;
    #endif

    __global const half4 *src_read    = (__global const half4 *) (src_vector + batch_id*INPUT0_BATCH_PITCH + INPUT0_OFFSET);
    int m_offset = start_offset + x;
    int v_offset = x;
    half4 sum = (half4)(0);
    #if (LAST_INPUT_SIZE_REMAINDER == 0)
    for (; m_offset < end_offset; m_offset += WORK_GROUP_X, v_offset += WORK_GROUP_X) {
        const half4 m = mat_read[m_offset];
        const half4 v = src_read[v_offset];
        sum = mad(m, v, sum);
    }
    #else

        #if (LAST_INPUT_SIZE_DIV_4 == 0)
        for (; m_offset < end_offset; m_offset += WORK_GROUP_X, v_offset += WORK_GROUP_X) {
            const half4 m = mat_read[m_offset];
            const half4 v = src_read[v_offset];

            sum = mad(m, v, sum);
        }
        #else
        for (; m_offset < end_offset - WORK_GROUP_X; m_offset += WORK_GROUP_X, v_offset += WORK_GROUP_X) {
            const half4 m = vload4(m_offset, (__global const half*)mat_read);
            const half4 v = vload4(v_offset, (__global const half*)src_read);

            sum = mad(m, v, sum);
        }

        if (m_offset < end_offset)
        {
            const half4 m = vload4(m_offset, (__global const half*)mat_read);
            const half4 v = vload4(v_offset, (__global const half*)src_read);
            if ((x + 1) == ((LAST_INPUT_SIZE_REMAINDER + VEC_SIZE - 1) / VEC_SIZE))
            {
                #if (LAST_INPUT_SIZE_DIV_4 == 3)
                    sum.xyz += m.xyz * v.xyz;
                #elif (LAST_INPUT_SIZE_DIV_4 == 2)
                    sum.xy += m.xy * v.xy;
                #else
                    sum.x += m.x * v.x;
                #endif
            }
            else
            {
                sum = mad(m, v, sum);
            }
        }
        #endif
    #endif

    slm[x] = sum.x + sum.y + sum.z + sum.w;
    barrier(CLK_LOCAL_MEM_FENCE);

    // Reduction now
    for (int max_offset = WORK_GROUP_X / 2; max_offset > 0; max_offset >>= 1) {
        if (x < max_offset) slm[x] += slm[x + max_offset];
        barrier(CLK_LOCAL_MEM_FENCE);
    }

    #if BIAS_TERM
    const half bias = biases[y];
    if (x == 0) dst_vector[oidx] = ACTIVATION(slm[0] + bias, NL_M, NL_N);
    #else
    if (x == 0) dst_vector[oidx] = ACTIVATION(slm[0], NL_M, NL_N);
    #endif
}
#endif


#if defined(__fc_f32)

#define WORK_GROUP_X 64
#define VEC_SIZE 4
__attribute__ ((reqd_work_group_size(WORK_GROUP_X, 1, 1)))
KERNEL(fc_f32)(
    const __global const float  *src_vector,
    __global float        *dst_vector,
    const __global const float  *matrix
#if BIAS_TERM
    , const __global const float  *biases
#endif
    )
{
    local float slm[WORK_GROUP_X];
    const unsigned x = get_local_id(0);
    const unsigned y = get_global_id(1);
#if OUTPUT_BATCH_NUM == 1
    const unsigned oidx = (y / OUTPUT_SIZE_X) * OUTPUT_Y_PITCH + y % OUTPUT_SIZE_X + OUTPUT_OFFSET;
    const unsigned batch_id = 0;
#else
    const unsigned batch_id = get_global_id(2);

    const unsigned out_z = y / (OUTPUT_SIZE_X * OUTPUT_SIZE_Y);
    const unsigned out_yx = y % (OUTPUT_SIZE_X * OUTPUT_SIZE_Y);
    const unsigned out_y = out_yx / (OUTPUT_SIZE_X);
    const unsigned out_x = out_yx % (OUTPUT_SIZE_X);

    const unsigned oidx = batch_id*OUTPUT_BATCH_PITCH + out_z*OUTPUT_FEATURE_PITCH + out_y*OUTPUT_Y_PITCH + out_x + OUTPUT_OFFSET;
#endif
        CAT(prefix, _X_PITCH),                                                  \
        CAT(prefix, _OFFSET),                                                   \
        sub_group_size)

inline uint FUNC(get_os_is_yx_isa8_osv8_isv4_index)(uint o, uint i, uint y, uint x, uint size_x, uint size_y, uint size_ifm, uint size_ofm, uint offset)
{
    const uint f_32_aligned = ((size_ifm + 31)/32) * 32;
	const uint isv2_idx = i % 4;
	const uint osv_idx = o % 8;
	const uint isv1_idx = (i / 4) % 8;
	const uint is_idx = i / 32;
	const uint os_idx = o / 8;

	size_t idx = offset + isv2_idx + 4 * (osv_idx + 8 * isv1_idx);
	idx += x * 4 * 8 * 8;
	idx += y * size_x * 4 * 8 * 8;
	idx += is_idx * size_y * size_x * 4 * 8 * 8;
	idx += os_idx * (f_32_aligned/32) * size_y * size_x * 4 * 8 * 8;

    return idx;
}

#define GET_FILTER_OS_IS_YX_ISA8_OSV8_ISV4(prefix, o, i, y, x) \
	FUNC_CALL(get_os_is_yx_isa8_osv8_isv4_index)(                               \
        o, i, y, x, CAT(prefix, _SIZE_X ),                                      \
        CAT(prefix, _SIZE_Y),                                                \
        CAT(prefix, _IFM_NUM),                                                  \
        CAT(prefix, _OFM_NUM),                                                  \
        CAT(prefix, _OFFSET))

inline uint FUNC(get_os_is_yx_isa8_osv8_isv4_swizzled_by_4_index)(uint o, uint i, uint y, uint x, uint size_x, uint size_y, uint size_ifm, uint size_ofm, uint offset)
{
    const uint o_swizzled = (o % 4) * 8 + ((o % 32) / 4) + (o / 32) * 32;

    const uint f_32_aligned = ((size_ifm + 31)/32) * 32;
	const uint isv2_idx = i % 4;
	const uint osv_idx = o_swizzled % 8;
	const uint isv1_idx = (i / 4) % 8;
	const uint is_idx = i / 32;
	const uint os_idx = o_swizzled / 8;

	size_t idx = offset + isv2_idx + 4 * (osv_idx + 8 * isv1_idx);
	idx += x * 4 * 8 * 8;
	idx += y * size_x * 4 * 8 * 8;
	idx += is_idx * size_y * size_x * 4 * 8 * 8;
	idx += os_idx * (f_32_aligned/32) * size_y * size_x * 4 * 8 * 8;

    return idx;
}

#define GET_FILTER_OS_IS_YX_ISA8_OSV8_ISV4_SWIZZLED_BY_4_INDEX(prefix, o, i, y, x) \
	FUNC_CALL(get_os_is_yx_isa8_osv8_isv4_swizzled_by_4_index)(                    \
        o, i, y, x, CAT(prefix, _SIZE_X ),                                      \
        CAT(prefix, _SIZE_Y),                                                \
        CAT(prefix, _IFM_NUM),                                                  \
        CAT(prefix, _OFM_NUM),                                                  \
        CAT(prefix, _OFFSET))


inline uint FUNC(get_is_o_yx_isv32_index)(uint o, uint i, uint y, uint x, uint i_size, uint o_size, uint x_size, uint y_size)
{
    const uint i_aligned_to_32 = ((i_size + 31) / 32) * 32;
    const uint i_val = i % 32;
    const uint i_slice = i / 32;
    const size_t idx = i_val + 32* (x + x_size * (y + y_size * (o + o_size * i_slice) ) );
    return idx;
}

#define GET_FILTER_IS_O_YX_ISV32(prefix, o, i, y, x)\
    FUNC_CALL(get_is_o_yx_isv32_index)(\
        o, i, y, x, CAT(prefix, _IFM_NUM),\
        CAT(prefix, _OFM_NUM),\
        CAT(prefix, _SIZE_X),\
        CAT(prefix, _SIZE_Y))

inline uint FUNC(get_is_o32_yx_isv32_swizzled_by_4_index)(uint o, uint i, uint y, uint x, uint i_size, uint o_size, uint x_size, uint y_size)
{
    const uint o_aligned_to_32 = ((o_size + 31) / 32) * 32;
    const uint o_swizzled = (o % 4) * 8 + ((o % 32) / 4) + (o / 32) * 32;
    const uint i_aligned_to_32 = ((i_size + 31) / 32) * 32;
    const uint i_val = i % 32;
    const uint i_slice = i / 32;
    const size_t idx = i_val + 32* (x + x_size * (y + y_size * (o_swizzled + o_aligned_to_32 * i_slice) ) );
    return idx;
}

#define GET_FILTER_IS_O32_YX_ISV32_SWIZZLED_BY_4(prefix, o, i, y, x)\
    FUNC_CALL(get_is_o32_yx_isv32_swizzled_by_4_index)(\
        o, i, y, x, CAT(prefix, _IFM_NUM),\
        CAT(prefix, _OFM_NUM),\
        CAT(prefix, _SIZE_X),\
        CAT(prefix, _SIZE_Y))

inline uint FUNC(get_os_is_y_x8_osv8_isv4_index)(uint o, uint i, uint y, uint x, uint i_size, uint o_size, uint x_size, uint y_size)
{
    const uint i_aligned_to_4 = ((i_size + 3) / 4) * 4;
    const uint o_aligned_to_8 = ((o_size + 7) / 8) * 8;
    const uint x_aligned_to_8 = ((x_size + 7) / 8) * 8;
    const uint i_val = i % 4;
    const uint i_slice = i / 4;
    const uint o_val = o % 8;
    const uint o_slice = o / 8;
    const size_t idx = i_val + 4 * (o_val + 8 * ( x + x_aligned_to_8 * (y + y_size * (i_slice + (i_aligned_to_4/4) * (o_slice)))));
    return idx;
}

#define GET_FILTER_OS_IS_Y_X8_OSV8_ISV4(prefix, o, i, y, x)\
    FUNC_CALL(get_os_is_y_x8_osv8_isv4_index)(\
        o, i, y, x, CAT(prefix, _IFM_NUM),\
        CAT(prefix, _OFM_NUM),\
        CAT(prefix, _SIZE_X),\
        CAT(prefix, _SIZE_Y))

inline uint FUNC(get_os_is_y_x8_osv8_isv4_swizzled_by_4_index)(uint o, uint i, uint y, uint x, uint i_size, uint o_size, uint x_size, uint y_size)
{
    const uint i_aligned_to_4 = ((i_size + 3) / 4) * 4;
    const uint o_aligned_to_8 = ((o_size + 7) / 8) * 8;
    const uint x_aligned_to_8 = ((x_size + 7) / 8) * 8;
    const uint i_val = i % 4;
    const uint i_slice = i / 4;
    const uint o_swizzled = (o % 4) * 8 + ((o % 32) / 4) + (o / 32) * 32;
    const uint o_val = o_swizzled % 8;
    const uint o_slice = o_swizzled / 8;
    const size_t idx = i_val + 4 * (o_val + 8 * ( x + x_aligned_to_8 * (y + y_size * (i_slice + (i_aligned_to_4/4) * (o_slice)))));
    return idx;
}

#define GET_FILTER_OS_IS_Y_X8_OSV8_ISV4_SWIZZLED_BY_4(prefix, o, i, y, x)\
    FUNC_CALL(get_os_is_y_x8_osv8_isv4_swizzled_by_4_index)(\
        o, i, y, x, CAT(prefix, _IFM_NUM),\
        CAT(prefix, _OFM_NUM),\
        CAT(prefix, _SIZE_X),\
        CAT(prefix, _SIZE_Y))


#define GET_DATA_B_FS_YX_FSV4_INDEX(prefix, o, i, y, x)\
    FUNC_CALL(get_b_fs_yx_fsv4)(\
        o, i, y, x,\
        CAT(prefix, _FEATURE_NUM),\
        CAT(prefix, _PAD_BEFORE_SIZE_Y), CAT(prefix, _SIZE_Y), CAT(prefix, _PAD_AFTER_SIZE_Y),\
        CAT(prefix, _PAD_BEFORE_SIZE_X), CAT(prefix, _SIZE_X), CAT(prefix, _PAD_AFTER_SIZE_X))

inline uint FUNC(get_b_fs_yx_fsv4)(uint o, uint i, uint y, uint x,
                                   uint feature_num,
                                   uint pad_before_size_y, uint size_y, uint pad_after_size_y,
                                   uint pad_before_size_x, uint size_x, uint pad_after_size_x)
{
    const uint tile = 4;
    uint id_tile = i / tile;
    uint id      = i - id_tile * tile;

    const uint feature_num_aligned4 = ((feature_num + 3) / 4) * 4;

    uint idx = o * (feature_num_aligned4 / tile) *
                   (pad_before_size_y + size_y + pad_after_size_y) *
                   (pad_before_size_x + size_x + pad_after_size_x) * tile
               + id_tile * (pad_before_size_y + size_y + pad_after_size_y) *
                           (pad_before_size_x + size_x + pad_after_size_x) * tile
               + pad_before_size_y * (pad_before_size_x + size_x + pad_after_size_x) * tile
               + y * (pad_before_size_x + size_x + pad_after_size_x) * tile
               + pad_before_size_x * tile
               + x * tile
               + id;

    return idx;
}

#define GET_FILTER_OS_IS_YX_OSV16_ISV4_INDEX(prefix, o, i, y, x)\
    FUNC_CALL(get_os_is_yx_osv16_isv4)(\
        o, i, y, x,\
        CAT(prefix, _IFM_PITCH),\
        CAT(prefix, _OFM_PITCH),\
        CAT(prefix, _SIZE_X))

inline uint FUNC(get_os_is_yx_osv16_isv4)(uint o, uint i, uint y, uint x,
                                          uint i_size,
                                          uint o_size,
                                          uint x_size)
{
    const uint otd = 16;
    uint out_depth_tile = o / otd;
    uint od             = o - out_depth_tile * otd;

    const uint tile = 4;
    uint id_tile = i / tile;
    uint id      = i - id_tile * tile;

    uint idx = out_depth_tile * (o_size / tile) * otd * tile
               + id_tile               * i_size * otd * tile
               + y                     * x_size * otd * tile
               + x                              * otd * tile
               + od                                   * tile
               + id;

    return idx;
}

#define GET_DATA_FS_B_YX_FSV32_INDEX(prefix, b, f, y, x)\
    FUNC_CALL(get_fs_b_yx_fsv32_index)(                 \
        b, f, y, x,                                     \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _PAD_AFTER_FEATURE_NUM))

#define GET_FILTER_O_I_YX_I16_O16_INDEX(prefix, o, i, y, x, sub_group_size)  \
    CAT(prefix, _OFFSET) +                                                   \
    ((o) % (sub_group_size)) +                                               \
    (sub_group_size)*(                                                       \
        (x)*(sub_group_size)*CAT(prefix, _X_PITCH) +                         \
        (y)*(sub_group_size)*CAT(prefix, _Y_PITCH) +                         \
        ((i) % (sub_group_size)) +                                           \
        ((i) / (sub_group_size))*(sub_group_size)*CAT(prefix, _IFM_PITCH) +  \
        ((o) / (sub_group_size))*CAT(prefix, _OFM_PITCH)                     \
    )

inline uint FUNC(get_byxf_af32_index)(uint b, uint f, uint y, uint x, uint y_pitch, uint b_pitch, uint f_size, uint offset)
{
	const uint f_aligned_to_32 = ((f_size + 31) / 32) * 32;
	const uint b_offset = b * b_pitch;
	const uint xy_offset = f_aligned_to_32 * x + y_pitch * y;
	const uint f_offset = f;
	const size_t idx = offset + xy_offset + b_offset + f_offset;
	return idx;
}

#define GET_DATA_BYXF_AF32_INDEX(prefix, b, f, y, x)\
	FUNC_CALL(get_byxf_af32_index)(                 \
		b, f, y, x, CAT(prefix, _Y_PITCH),          \
		CAT(prefix, _BATCH_PITCH),                      \
		CAT(prefix, _FEATURE_NUM),                 \
		CAT(prefix, _OFFSET))

inline uint FUNC(get_byx8_f4_index)(uint b, uint f, uint y, uint x,
    uint x_pitch, uint y_pitch, uint b_pitch, uint f_size, uint x_size, uint offset)
{
    const uint f_aligned_to_4 = ((f_size + 3) / 4) * 4;
    const uint x_aligned_to_8 = ((x_size + 7) / 8) * 8;
    const uint b_offset = b * b_pitch;
    const uint xy_offset = x * x_pitch + y * y_pitch;
    const uint f_offset = f;
    const size_t idx = offset + xy_offset + b_offset + f_offset;
    return idx;
}

#define GET_DATA_BYX8_F4_INDEX(prefix, b, f, y, x)\
	FUNC_CALL(get_byx8_f4_index)(                 \
		b, f, y, x, CAT(prefix, _X_PITCH),          \
		CAT(prefix, _Y_PITCH),                      \
		CAT(prefix, _BATCH_PITCH),                      \
		CAT(prefix, _FEATURE_NUM),                 \
		CAT(prefix, _SIZE_X),                 \
		CAT(prefix, _OFFSET))

#define GET_DATA_BF8_XY16_INDEX(prefix, b, f, y, x)     \
    FUNC_CALL(get_bf8_xy16_index)(                      \
        b, f, y, x, CAT(prefix, _SIZE_X ),              \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _FEATURE_NUM),                      \
        CAT(prefix, _OFFSET))

inline uint FUNC(get_fs_bs_yx_bsv4_fsv32_index)(uint b, uint f, uint y, uint x,
    uint x_pad_before, uint x_size, uint x_pad_after,
    uint y_pad_before, uint y_size, uint y_pad_after,
    uint size_f, uint size_b)
{
    const uint f_32_aligned = ((size_f + 31)/32) * 32;
    const uint b_4_aligned = ((size_b + 3)/4) * 4;
    const uint fsv_idx = f % 32;
    const uint bsv_idx = b % 4;
    const uint fs_idx = f / 32;
    const uint bs_idx = b / 4;

    const uint x_pitch = 32 * 4;
    const uint y_pitch = 32 * 4 * (x_pad_before + x_size + x_pad_after);
    const uint bs_pitch = y_pitch * (y_pad_before + y_size + y_pad_after);
    const uint fs_pitch = bs_pitch * (b_4_aligned / 4);
    uint offset = x_pitch * x_pad_before + y_pitch * y_pad_before;

    size_t idx = offset + fsv_idx + bsv_idx * 32;
    idx += 32*4 * x;
    idx += y * y_pitch;
    idx += bs_idx * bs_pitch;
    idx += fs_idx * fs_pitch;

    return idx;
}

#define GET_DATA_FS_BS_YX_BSV4_FSV32_INDEX(prefix, b, f, y, x)\
	FUNC_CALL(get_fs_bs_yx_bsv4_fsv32_index)(       \
		b, f, y, x,                                 \
        CAT(prefix, _PAD_BEFORE_SIZE_X),            \
        CAT(prefix, _SIZE_X),                       \
        CAT(prefix, _PAD_AFTER_SIZE_X),             \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),            \
        CAT(prefix, _SIZE_Y),                       \
        CAT(prefix, _PAD_AFTER_SIZE_Y),             \
		CAT(prefix, _FEATURE_NUM),                  \
        CAT(prefix, _BATCH_NUM))

#define GET_FILTER_INDEX(prefix, o, i, y, x)    \
    CAT(prefix, _OFFSET) +                      \
    (x)*CAT(prefix, _X_PITCH) +                 \
    (y)*CAT(prefix, _Y_PITCH) +                 \
    (i)*CAT(prefix, _IFM_PITCH) +               \
    (o)*CAT(prefix, _OFM_PITCH)

#define GET_FILTER_INDEX_SAFE(prefix, o, i, y, x)           \
    CAT(prefix, _OFFSET) +                                  \
    (x % CAT(prefix, _SIZE_X ))*CAT(prefix, _X_PITCH) +     \
    (y % CAT(prefix, _SIZE_Y ))*CAT(prefix, _Y_PITCH) +     \
    (i % CAT(prefix, _IFM_NUM))*CAT(prefix, _IFM_PITCH) +   \
    (o % CAT(prefix, _OFM_NUM))*CAT(prefix, _OFM_PITCH)

#define GET_FILTER_OS_IYX_OSV8_INDEX(prefix, o, i, y, x, sub_group_size)    \
    CAT(prefix, _OFFSET) +                                                  \
    ((o) % (sub_group_size)) +                                              \
    (sub_group_size)*(                                                      \
        (x)*CAT(prefix, _X_PITCH) +                                         \
        (y)*CAT(prefix, _Y_PITCH) +                                         \
        (i)*CAT(prefix, _IFM_PITCH) +                                       \
        ((o) / (sub_group_size))*CAT(prefix, _OFM_PITCH)                    \
    )

#define GET_FILTER_OS_IYX_OSV8_ROTATE_180_INDEX(prefix, o, i, y, x, sub_group_size)    \
    CAT(prefix, _OFFSET) +                                                  \
    ((o) % (sub_group_size)) +                                              \
    (sub_group_size)*(                                                      \
        (CAT(prefix, _SIZE_X ) - x - 1)*CAT(prefix, _X_PITCH) +             \
        (CAT(prefix, _SIZE_Y ) - y - 1)*CAT(prefix, _Y_PITCH) +             \
        (i)*CAT(prefix, _IFM_PITCH) +                                       \
        ((o) / (sub_group_size))*CAT(prefix, _OFM_PITCH)                    \
    )

inline uint FUNC(get_i_yxs_os_yxsv2_osv_index)(uint o, uint i, uint y, uint x, uint x_size, uint i_pitch, uint y_pitch, uint x_pitch, uint offset, uint sub_group_size)
{
    const uint aligned_ofm_line = x_pitch;
    const uint ifm_height_pitch = (i_pitch/aligned_ofm_line);
    const uint dst_height = i*ifm_height_pitch + y*x_size + x;
    const uint base_filter_index = y*x_size + x;

    const uint aligned_height = dst_height & 0xfffffffe;
    const uint base_filter_odd = (base_filter_index & 0x1);

    uint slice_id = o / sub_group_size;
    uint id_in_slice = o % sub_group_size;
    uint slice_pitch = 2*sub_group_size;
    uint offset_in_slice = (int)(sub_group_size*base_filter_odd);

    const uint in_line = (slice_pitch*slice_id + offset_in_slice + id_in_slice);
    const size_t idx = offset + aligned_height*aligned_ofm_line + in_line;

    return idx;
}

#define GET_FILTER_I_YXS_OS_YXSV2_OSV_INDEX(prefix, o, i, y, x, sub_group_size) \
    FUNC_CALL(get_i_yxs_os_yxsv2_osv_index)(                                    \
        o, i, y, x, CAT(prefix, _SIZE_X ),                                      \
        CAT(prefix, _IFM_PITCH),                                                \
        CAT(prefix, _Y_PITCH),                                                  \
        CAT(prefix, _X_PITCH),                                                  \
        CAT(prefix, _OFFSET),                                                   \
        sub_group_size)

inline uint FUNC(get_iy_xs_os_xsv2_osv_index)(uint o, uint i, uint y, uint x, uint x_size, uint i_pitch, uint y_pitch, uint x_pitch, uint offset, uint sub_group_size)
{
    const uint aligned_ofm_line = x_pitch;
    const uint ifm_height_pitch = (i_pitch/aligned_ofm_line);
    const uint aligned_x_line = y_pitch / x_pitch;
    const uint dst_height = i*ifm_height_pitch + y*aligned_x_line + x;
    const uint base_filter_index = x;

    const uint aligned_height = dst_height & 0xfffffffe;
    const uint base_filter_odd = (base_filter_index & 0x1);

    uint slice_id = o / sub_group_size;
    uint id_in_slice = o % sub_group_size;
    uint slice_pitch = 2*sub_group_size;
    uint offset_in_slice = (int)(sub_group_size*base_filter_odd);

    const bool last_line_in_base_filter = (x == (x_size - 1));
    if (last_line_in_base_filter && base_filter_odd == 0)
    {
        const uint element_in_slice = 32;
        slice_id = o / element_in_slice;
        id_in_slice = o % element_in_slice;
        slice_pitch = 2*element_in_slice;
        offset_in_slice = 0;
    }

    const uint in_line = (slice_pitch*slice_id + offset_in_slice + id_in_slice);
    const size_t idx = offset + aligned_height*aligned_ofm_line + in_line;

    return idx;
}

#define GET_FILTER_IY_XS_OS_XSV2_OSV_INDEX(prefix, o, i, y, x, sub_group_size)  \
    FUNC_CALL(get_iy_xs_os_xsv2_osv_index)(                                     \
        o, i, y, x, CAT(prefix, _SIZE_X ),                                      \
        CAT(prefix, _IFM_PITCH),                                                \
        CAT(prefix, _Y_PITCH),                                                  \
/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/


/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/


#define GET_DATA_INDEX(prefix, b, f, y, x)  \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_INDEX_SAFE(prefix, b, f, y, x)                     \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

 #define GET_3D_DATA_INDEX(prefix, b, f, z, y, x) \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (z)*CAT(prefix, _Z_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_3D_DATA_INDEX_SAFE(prefix, b, f, z, y, x)               \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (z % CAT(prefix, _SIZE_Z     ))*CAT(prefix, _Z_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_BS_FYX_BSV8_INDEX(prefix, b, f, y, x, sub_group_size)  \
    CAT(prefix, _OFFSET) +                                              \
    ((b) % (sub_group_size)) +                                          \
    (sub_group_size)*(                                                  \
        (x)*CAT(prefix, _X_PITCH) +                                     \
        (y)*CAT(prefix, _Y_PITCH) +                                     \
        (f)*CAT(prefix, _FEATURE_PITCH) +                               \
        ((b) / (sub_group_size))*CAT(prefix, _BATCH_PITCH)              \
    )

inline uint FUNC(get_bf8_xy16_index)(uint b, uint f, uint y, uint x, uint x_size, uint y_size, uint f_size, uint offset)
{
    const uint xy_idx = x + y * x_size;
    const uint xy_offset = (xy_idx % 16) + (xy_idx / 16) * 16 * 8;
    const uint xy_block_num = (x_size * y_size + 16 - 1) / 16;
    const uint f_offset = (f % 8) * 16 + (f / 8) * xy_block_num * 16 * 8;
    const uint f_block_num = (f_size + 8 - 1) / 8;
    const uint b_offset = b * f_block_num * xy_block_num * 128;

    const size_t idx = offset + xy_offset + f_offset + b_offset;

    return idx;
}

inline uint FUNC(get_bfyx_f16_index)(
    uint b, uint f, uint y, uint x,
    uint x_size, uint y_size, uint f_size,
    uint y_pad_before,uint y_pad_after,
    uint x_pad_before, uint x_pad_after,
    uint f_pad_before, uint f_pad_after)
{
    const uint feature_slice_size = 16;

    const uint full_width = x_size + x_pad_before + x_pad_after;
    const uint full_height = y_size + y_pad_before + y_pad_after;
    const uint full_features = f_pad_before + f_size + f_pad_after;
    const uint feature_tiles_number = (full_features + feature_slice_size - 1) / feature_slice_size;

    const uint x_pitch = feature_slice_size;
    const uint y_pitch = x_pitch * full_width;
    const uint fs_pitch = y_pitch * full_height;
    const uint b_pitch = fs_pitch * feature_tiles_number;

    const uint x_offset = (x + x_pad_before) * x_pitch;
    const uint y_offset = (y + y_pad_before) * y_pitch;
    const uint fs_offset = (f / feature_slice_size + f_pad_before / feature_slice_size) * fs_pitch;
    const uint b_offset = b * b_pitch;

    const size_t idx = x_offset + y_offset + fs_offset + b_offset + (f % feature_slice_size);

    return idx;
}

#define GET_DATA_BFYX_F16_INDEX(prefix, b, f, y, x)     \
    FUNC_CALL(get_bfyx_f16_index)(                      \
        b, f, y, x,                                     \
        CAT(prefix, _SIZE_X ),                          \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _FEATURE_NUM),                      \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_X),                \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



// Required JIT constants:
//  - FP16_SUPPORTED        - [0/1] Value indicating whether device supports FP16 OpenCL extension (cl_khr_fp16).
//  - FP16_UNIT_USED        - [0/1] Value indicating that current kernel should use FP16.
//  - UNIT_TYPE             - Type of unit of input/output/weight/bias.
//  - UNIT_VAL_ZERO         - Literal of current UNIT_TYPE that represents 0.
//  - INPUT0_BATCH_NUM      - [int] Number of elements from single spatial and single feature that are grouped in single batch in input.
//  - INPUT0_ELEMENTS_COUNT - [int] Cumulative number of elements from input that are processed in single batch.
//  - FILTER_OFM_NUM        - [int] Cumulative number of elements that are outputted in single batch.
//  - RELU                  - [0/1] Indicates that ReLU activation function should be used on output.
//  - NEGATIVE_SLOPE        - [float] Factor for negative output values (required when ReLU is specified).

#define ACC_TYPE float
__attribute__((intel_reqd_sub_group_size(16)))
KERNEL (fully_connected_gpu_bf_io_input_spatial)(
    const __global UNIT_TYPE* input,
    __global UNIT_TYPE* output,
    const __global UNIT_TYPE* weight
#if BIAS_TERM
    , __global UNIT_TYPE* bias)
#else
    )
#endif
{
    const uint x = get_global_id(0);
    const uint batch_id = get_global_id(1);

    const uint outXIdx = batch_id * FILTER_OFM_NUM + x;
    ACC_TYPE result = UNIT_VAL_ZERO;

    uint input_idx = batch_id * INPUT0_ELEMENTS_COUNT + get_sub_group_local_id();
    input_idx = MULTIPLY_OFFSET(UNIT_TYPE, input_idx);
    uint weight_idx = MULTIPLY_OFFSET(UNIT_TYPE, outXIdx);
    const uint weight_idx_base = weight_idx;
    uint s_w_idx = MULTIPLY_OFFSET(UNIT_TYPE, get_group_id(0) * 16 + get_sub_group_local_id() * FILTER_OFM_NUM);
    const uint input_slices = INPUT0_ELEMENTS_COUNT / 16;
    for (uint i = 0; i < input_slices; i++)
    {
        UNIT_TYPE _inG = *OFFSET_GLOBAL_PTR(UNIT_TYPE, input, input_idx);
        uint it_w_addr = _inG == UNIT_VAL_ZERO ? weight_idx_base : s_w_idx;
        for(uint j = 0; j < 16; j++)
        {
            UNIT_TYPE _in = intel_sub_group_shuffle(_inG, j);
            uint wi_w_addr = intel_sub_group_shuffle(it_w_addr, j);
            wi_w_addr += MULTIPLY_OFFSET(UNIT_TYPE, get_sub_group_local_id());
            UNIT_TYPE _w = *OFFSET_GLOBAL_PTR(UNIT_TYPE, weight, wi_w_addr);
            result += _in * _w;
        }
        input_idx  += MULTIPLY_OFFSET(UNIT_TYPE, 16);
        s_w_idx += MULTIPLY_OFFSET(UNIT_TYPE, FILTER_OFM_NUM * 16);
    }
    input_idx -=  MULTIPLY_OFFSET(UNIT_TYPE, get_sub_group_local_id());
    weight_idx += MULTIPLY_OFFSET(UNIT_TYPE, input_slices * FILTER_OFM_NUM);
    for (uint i = 0; i < INPUT0_ELEMENTS_COUNT % 16; i++)
    {
        UNIT_TYPE _in = *OFFSET_GLOBAL_PTR(UNIT_TYPE, input, input_idx);
        UNIT_TYPE _w = *OFFSET_GLOBAL_PTR(UNIT_TYPE, weight, weight_idx);
        result += _in * _w;
        input_idx  += MULTIPLY_OFFSET(UNIT_TYPE, 1);
        weight_idx += MULTIPLY_OFFSET(UNIT_TYPE, FILTER_OFM_NUM);
    }

#if BIAS_TERM
    result += bias[outXIdx];
#endif
    if(x < FILTER_OFM_NUM)
    {
        output[x] = ACTIVATION((UNIT_TYPE)(result), NL_M, NL_N);
    }
}


        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



// Required JIT constants:
//  - FP16_SUPPORTED        - [0/1] Value indicating whether device supports FP16 OpenCL extension (cl_khr_fp16).
//  - FP16_UNIT_USED        - [0/1] Value indicating that current kernel should use FP16.
//  - UNIT_TYPE             - Type of unit of input/output/weight/bias.
//  - UNIT_VAL_ZERO         - Literal of current UNIT_TYPE that represents 0.
//  - INPUT0_BATCH_NUM      - [int] Number of elements from single spatial and single feature that are grouped in single batch in input.
//  - INPUT0_ELEMENTS_COUNT - [int] Cumulative number of elements from input that are processed in single batch.
//  - FILTER_OFM_NUM        - [int] Cumulative number of elements that are outputted in single batch.
//  - RELU                  - [0/1] Indicates that ReLU activation function should be used on output.
//  - NEGATIVE_SLOPE        - [float] Factor for negative output values (required when ReLU is specified).


KERNEL (fully_connected_gpu_bx_xb_from_fyxb)(
    const __global UNIT_TYPE* input,
    __global UNIT_TYPE* output,
    const __global UNIT_TYPE* weight
#if BIAS_TERM
    , __global UNIT_TYPE* bias)
#else
    )
#endif
{
    const uint x = get_global_id(0);
    const uint batch_id = x / FILTER_OFM_NUM;

    const uint outXIdx = x % FILTER_OFM_NUM;
    UNIT_TYPE result = UNIT_VAL_ZERO;

    uint input_idx = batch_id * INPUT0_ELEMENTS_COUNT;
    input_idx = MULTIPLY_OFFSET(UNIT_TYPE, input_idx);
    uint weight_idx = MULTIPLY_OFFSET(UNIT_TYPE, outXIdx);
    for (uint i = 0; i < INPUT0_ELEMENTS_COUNT; i++)
    {
        UNIT_TYPE _in = *OFFSET_GLOBAL_PTR(UNIT_TYPE, input, input_idx);
        UNIT_TYPE _w =  *OFFSET_GLOBAL_PTR(UNIT_TYPE, weight, weight_idx);
        result += _in * _w;
        input_idx  += MULTIPLY_OFFSET(UNIT_TYPE, 1);
        weight_idx += MULTIPLY_OFFSET(UNIT_TYPE, FILTER_OFM_NUM);
    }
#if BIAS_TERM
    result += bias[outXIdx];
#endif
    output[x] = ACTIVATION(result, NL_M, NL_N);
}


// Block read - currently block is 4 bytes aligned.
#define ALIGNED_BLOCK_READ8(ptr, byte_offset) as_half8(intel_sub_group_block_read_us8((const __global ushort*)(ptr) + (byte_offset)))

#define MULTIPLY_BLOCKS_16x8(_result, _blockA, _blockB)  \
{   \
    const half16 acol0 = TRANSPOSE_BLOCK_16_FP16_HALF_TYPE( _blockA.s0 ); \
    const half16 acol1 = TRANSPOSE_BLOCK_16_FP16_HALF_TYPE( _blockA.s1 ); \
    const half16 acol2 = TRANSPOSE_BLOCK_16_FP16_HALF_TYPE( _blockA.s2 ); \
    const half16 acol3 = TRANSPOSE_BLOCK_16_FP16_HALF_TYPE( _blockA.s3 ); \
    const half16 acol4 = TRANSPOSE_BLOCK_16_FP16_HALF_TYPE( _blockA.s4 ); \
    const half16 acol5 = TRANSPOSE_BLOCK_16_FP16_HALF_TYPE( _blockA.s5 ); \
    const half16 acol6 = TRANSPOSE_BLOCK_16_FP16_HALF_TYPE( _blockA.s6 ); \
    const half16 acol7 = TRANSPOSE_BLOCK_16_FP16_HALF_TYPE( _blockA.s7 ); \
    _result = fma( _blockB.s0, acol0, _result ); \
    _result = fma( _blockB.s1, acol1, _result ); \
    _result = fma( _blockB.s2, acol2, _result ); \
    _result = fma( _blockB.s3, acol3, _result ); \
    _result = fma( _blockB.s4, acol4, _result ); \
    _result = fma( _blockB.s5, acol5, _result ); \
    _result = fma( _blockB.s6, acol6, _result ); \
    _result = fma( _blockB.s7, acol7, _result ); \
}

#define SUB_GROUP_SIZE 16

__attribute__((reqd_work_group_size(SUB_GROUP_SIZE, 1, 1)))
__attribute__((intel_reqd_sub_group_size(SUB_GROUP_SIZE)))
KERNEL (fully_connected_gpu_xb_bs_xs_xsv8_bsv16_vload)(
    const __global UNIT_TYPE* input,
    __global UNIT_TYPE* output,
    const __global UNIT_TYPE* weight
#if BIAS_TERM
    , __global UNIT_TYPE* bias)
#else
    )
#endif
{
    const uint global_id = get_global_id(0);
    const uint group_id = get_group_id(0);
    const uint batch_group_id = get_global_id(1); // which part of batches we are computing, for example for batch 64 we compute batches 0..31 for batch_group_id == 0 and batches 32..65 for batch_group_id == 1
    const uint id_in_sub_group = get_sub_group_local_id();

    const uint out_id = (id_in_sub_group * BATCHES_PER_WORK_ITEM * (uint)get_global_size(1)) / SUB_GROUP_SIZE + group_id * BATCHES_PER_WORK_ITEM * (uint)get_global_size(1) + (BATCHES_PER_WORK_ITEM * batch_group_id) / SUB_GROUP_SIZE;

    uint neuronIdx = id_in_sub_group + group_id * SUB_GROUP_SIZE;

    MAKE_VECTOR_TYPE(UNIT_TYPE, 16) blockC00 = UNIT_VAL_ZERO;

    uint weight_offset = id_in_sub_group + SUB_GROUP_SIZE * group_id * INPUT0_ELEMENTS_COUNT;

    uint input_idx = id_in_sub_group + batch_group_id * BATCHES_PER_WORK_ITEM * INPUT0_ELEMENTS_COUNT;
    for(uint h = 0; h < INPUT0_ELEMENTS_COUNT / 8; h++)
    {
        // read input data in blocks ( 16 batch * 8 x )
        MAKE_VECTOR_TYPE(UNIT_TYPE, 8) blockA00 = ALIGNED_BLOCK_READ8(input, input_idx);
        MAKE_VECTOR_TYPE(UNIT_TYPE, 8) blockB00 = ALIGNED_BLOCK_READ8(weight, weight_offset);

        MULTIPLY_BLOCKS_16x8(blockC00, blockA00, blockB00)

        weight_offset += 128;
        input_idx     += 128; // 128 = 16x8 - because of input format which have blocks of 128 elements
    }

#if BIAS_TERM
    blockC00 += bias[neuronIdx];
#endif // #if BIAS_TERM

    blockC00 = ACTIVATION(blockC00, NL_M, NL_N);

    vstore16(blockC00, out_id, output);

}

#undef SUB_GROUP_SIZE
#undef ALIGNED_BLOCK_READ8
#undef MULTIPLY_BLOCKS_16x8

            EXPAND_CHUNK_VEC4_TO_CHUNK_ARRAY(input_val, input_val_idx, input_vals);
        }
    #elif IN_CHUNK_PREFETCH_SIZE % 2 == 0 && (IN_CHUNK_PREFETCH_REMAINDER_REQ_SIZE % 2 == 0 || IN_CHUNK_PREFETCH_REMAINDER_REQ_SIZE >= 4)
        __attribute__((opencl_unroll_hint))
        for (uint input_val_idx = 0; input_val_idx < IN_CHUNK_PREFETCH_REMAINDER_REQ_SIZE; input_val_idx += 2)
        {
            CHUNK_VEC2_TYPE input_vals = ALIGNED_BLOCK_READ2(input, input_offset + 2 * sg_elem_offset);
            input_offset += 2 * BYTES_PER_SG_READ;
            EXPAND_CHUNK_VEC2_TO_CHUNK_ARRAY(input_val, input_val_idx, input_vals);
        }
    #else
        __attribute__((opencl_unroll_hint))
        for (uint input_val_idx = 0; input_val_idx < IN_CHUNK_PREFETCH_REMAINDER_REQ_SIZE; input_val_idx += 1)
        {
            CHUNK_VEC1_TYPE input_vals = ALIGNED_BLOCK_READ1(input, input_offset + sg_elem_offset);
            input_offset += BYTES_PER_SG_READ;
            EXPAND_CHUNK_VEC1_TO_CHUNK_ARRAY(input_val, input_val_idx, input_vals);
        }
    #endif

        __attribute__((opencl_unroll_hint))
        for (uint elem_base_idx = 0; elem_base_idx < INPUT0_ELEMENTS_REMAINDER; elem_base_idx += FILTER_CHUNK_PREFETCH_SIZE * UNITS_PER_SG_READ / RESPONSES_PER_SG_EXEC)
        {
            // Size of array of CHUNK_TYPE needed to contain filter elements for input elements in range [elem_base_idx; INPUT0_ELEMENTS_REMAINDER).
            const uint filter_chunk_remainder_size = ((INPUT0_ELEMENTS_REMAINDER - elem_base_idx) * RESPONSES_PER_SG_EXEC + UNITS_PER_SG_READ - 1) / UNITS_PER_SG_READ;
            const uint filter_chunk_prefetch_req_size = filter_chunk_remainder_size < FILTER_CHUNK_PREFETCH_SIZE ? filter_chunk_remainder_size : FILTER_CHUNK_PREFETCH_SIZE;

            CHUNK_TYPE filter_val[FILTER_CHUNK_PREFETCH_SIZE];

#if FILTER_CHUNK_PREFETCH_SIZE % 8 == 0
            __attribute__((opencl_unroll_hint))
            for (uint filter_val_idx = 0; filter_val_idx < filter_chunk_prefetch_req_size; filter_val_idx += 8)
            {
                CHUNK_VEC8_TYPE filter_vals = ALIGNED_BLOCK_READ8(weight, filter_offset + 8 * sg_elem_offset);
                filter_offset += 8 * BYTES_PER_SG_READ;
                EXPAND_CHUNK_VEC8_TO_CHUNK_ARRAY(filter_val, filter_val_idx, filter_vals);
            }
#elif FILTER_CHUNK_PREFETCH_SIZE % 4 == 0
            __attribute__((opencl_unroll_hint))
            for (uint filter_val_idx = 0; filter_val_idx < filter_chunk_prefetch_req_size; filter_val_idx += 4)
            {
                CHUNK_VEC4_TYPE filter_vals = ALIGNED_BLOCK_READ4(weight, filter_offset + 4 * sg_elem_offset);
                filter_offset += 4 * BYTES_PER_SG_READ;
                EXPAND_CHUNK_VEC4_TO_CHUNK_ARRAY(filter_val, filter_val_idx, filter_vals);
            }
#elif FILTER_CHUNK_PREFETCH_SIZE % 2 == 0
            __attribute__((opencl_unroll_hint))
            for (uint filter_val_idx = 0; filter_val_idx < filter_chunk_prefetch_req_size; filter_val_idx += 2)
            {
                CHUNK_VEC2_TYPE filter_vals = ALIGNED_BLOCK_READ2(weight, filter_offset + 2 * sg_elem_offset);
                filter_offset += 2 * BYTES_PER_SG_READ;
                EXPAND_CHUNK_VEC2_TO_CHUNK_ARRAY(filter_val, filter_val_idx, filter_vals);
            }
#else
            __attribute__((opencl_unroll_hint))
            for (uint filter_val_idx = 0; filter_val_idx < filter_chunk_prefetch_req_size; filter_val_idx += 1)
            {
                CHUNK_VEC1_TYPE filter_vals = ALIGNED_BLOCK_READ1(weight, filter_offset + sg_elem_offset);
                filter_offset += BYTES_PER_SG_READ;
                EXPAND_CHUNK_VEC1_TO_CHUNK_ARRAY(filter_val, filter_val_idx, filter_vals);
            }
#endif

            // Processing of cached filter chunks.
            __attribute__((opencl_unroll_hint))
            for (uint filter_val_idx = 0; filter_val_idx < filter_chunk_prefetch_req_size; ++filter_val_idx)
            {
                const uint input_base_elem_idx = elem_base_idx + filter_val_idx * UNITS_PER_SG_READ / RESPONSES_PER_SG_EXEC;

                // Select different input for every SUB_GROUP_SIZE * RESPONSES_PER_SG_EXEC / UNITS_PER_SG_READ work-items in sub-group.
                // This code is suboptimal because get_sub_group_local_id() is not treated as constexpr (compiler issue).
#if UNITS_PER_SG_READ / RESPONSES_PER_SG_EXEC == 4
                UNIT_TYPE rearranged_input = sg_elem_id < SUB_GROUP_SIZE / 2
                    ? (sg_elem_id < SUB_GROUP_SIZE / 4
                        ? (input_base_elem_idx     < INPUT0_ELEMENTS_REMAINDER ? SG_UNIT_SELECT(input_val[input_base_elem_idx       / UNITS_PER_SG_READ], input_base_elem_idx % UNITS_PER_SG_READ)       : UNIT_VAL_ZERO)
                        : (input_base_elem_idx + 1 < INPUT0_ELEMENTS_REMAINDER ? SG_UNIT_SELECT(input_val[(input_base_elem_idx + 1) / UNITS_PER_SG_READ], (input_base_elem_idx + 1) % UNITS_PER_SG_READ) : UNIT_VAL_ZERO))
                    : (sg_elem_id < 3 * SUB_GROUP_SIZE / 4
                        ? (input_base_elem_idx + 2 < INPUT0_ELEMENTS_REMAINDER ? SG_UNIT_SELECT(input_val[(input_base_elem_idx + 2) / UNITS_PER_SG_READ], (input_base_elem_idx + 2) % UNITS_PER_SG_READ) : UNIT_VAL_ZERO)
                        : (input_base_elem_idx + 3 < INPUT0_ELEMENTS_REMAINDER ? SG_UNIT_SELECT(input_val[(input_base_elem_idx + 3) / UNITS_PER_SG_READ], (input_base_elem_idx + 3) % UNITS_PER_SG_READ) : UNIT_VAL_ZERO));
#elif UNITS_PER_SG_READ / RESPONSES_PER_SG_EXEC == 2
                UNIT_TYPE rearranged_input = sg_elem_id < SUB_GROUP_SIZE / 2
                    ? (input_base_elem_idx     < INPUT0_ELEMENTS_REMAINDER ? SG_UNIT_SELECT(input_val[input_base_elem_idx       / UNITS_PER_SG_READ], input_base_elem_idx % UNITS_PER_SG_READ)       : UNIT_VAL_ZERO)
                    : (input_base_elem_idx + 1 < INPUT0_ELEMENTS_REMAINDER ? SG_UNIT_SELECT(input_val[(input_base_elem_idx + 1) / UNITS_PER_SG_READ], (input_base_elem_idx + 1) % UNITS_PER_SG_READ) : UNIT_VAL_ZERO);
#elif UNITS_PER_SG_READ / RESPONSES_PER_SG_EXEC == 1
                UNIT_TYPE rearranged_input = input_base_elem_idx < INPUT0_ELEMENTS_REMAINDER ? SG_UNIT_SELECT(input_val[input_base_elem_idx / UNITS_PER_SG_READ], input_base_elem_idx % UNITS_PER_SG_READ) : UNIT_VAL_ZERO;
#else
    #error Selected RESPONSES_PER_SG_EXEC is not supported.
#endif

                acc = AS_CHUNK(fma(rearranged_input, AS_UNITS(filter_val[filter_val_idx]), AS_UNITS(acc)));
            }
        }
    }

#endif
#undef INPUT0_ELEMENTS_REMAINDER
#undef IN_CHUNK_PREFETCH_REMAINDER_REQ_SIZE


    // Secondary accumulator that will contain final sum (special reducing over work-items in sub-group).
    CHUNK_TYPE reduced_acc = acc;
    CHUNK_TYPE zero = 0;

    for (uint sg_reduce_offset = SUB_GROUP_SIZE * RESPONSES_PER_SG_EXEC / UNITS_PER_SG_READ;
         sg_reduce_offset < SUB_GROUP_SIZE;
         sg_reduce_offset += SUB_GROUP_SIZE * RESPONSES_PER_SG_EXEC / UNITS_PER_SG_READ)
    {
        reduced_acc = AS_CHUNK(AS_UNITS(reduced_acc) + AS_UNITS(intel_sub_group_shuffle_down(acc, zero, sg_reduce_offset)));
    }


    // Expand accumulator chunks to units.
    const uint expanded_acc_size = (RESPONSES_PER_SG_EXEC + SUB_GROUP_SIZE - 1) / SUB_GROUP_SIZE;

    __attribute__((opencl_unroll_hint))
    for (uint expanded_acc_idx = 0; expanded_acc_idx < expanded_acc_size; ++expanded_acc_idx)
    {
        const uint output_id = output_base_id + expanded_acc_idx * SUB_GROUP_SIZE;
#if BIAS_TERM
        const uint bias_id = bias_base_id + expanded_acc_idx * SUB_GROUP_SIZE;
#endif
        UNIT_TYPE expanded_acc = SG_UNIT_SELECT(reduced_acc, expanded_acc_idx * SUB_GROUP_SIZE + sg_elem_id);

        if (output_id < output_size)
        {
#if BIAS_TERM
            expanded_acc += bias[bias_id];
#endif
            output[output_id] = ACTIVATION(expanded_acc, NL_M, NL_N);
        }
    }
}

#undef CONCAT_TOKEN_HANDLER1
#undef CONCAT_TOKEN
#undef MAKE_VECTOR_TYPE
#undef CVT_UNIT
#undef CHUNK_UNITS_TYPE
#undef AS_CHUNK
#undef AS_UNITS
#undef CHUNK_UNIT_SELECT

#undef SG_UNIT_SELECT
#undef CHUNK_VEC1_TYPE
#undef CHUNK_VEC2_TYPE
#undef CHUNK_VEC4_TYPE
#undef CHUNK_VEC8_TYPE
#undef EXPAND_CHUNK_VEC1_TO_CHUNK_ARRAY
#undef EXPAND_CHUNK_VEC2_TO_CHUNK_ARRAY
#undef EXPAND_CHUNK_VEC4_TO_CHUNK_ARRAY
#undef EXPAND_CHUNK_VEC8_TO_CHUNK_ARRAY
#undef ALIGNED_BLOCK_READ1
#undef ALIGNED_BLOCK_READ2
#undef ALIGNED_BLOCK_READ4
#undef ALIGNED_BLOCK_READ8
#undef ALIGNED_READ1
#undef ALIGNED_READ2
#undef ALIGNED_READ4
#undef ALIGNED_READ8
#undef ALIGNED_BLOCK_WRITE1
#undef ALIGNED_BLOCK_WRITE2
#undef ALIGNED_BLOCK_WRITE4
#undef ALIGNED_BLOCK_WRITE8
#undef ALIGNED_WRITE1
#undef ALIGNED_WRITE2
#undef ALIGNED_WRITE4
#undef ALIGNED_WRITE8


    #error Kernel does not support specified prefetch sizes.
#endif



__attribute__((intel_reqd_sub_group_size(SUB_GROUP_SIZE)))
__attribute__((reqd_work_group_size(SUB_GROUP_SIZE, 1, 1)))
KERNEL (fully_connected_gpu_bx_bs_x_bsv16_b1)(
    const __global UNIT_TYPE* input,
    __global UNIT_TYPE* output,
    const __global UNIT_TYPE* weight
#if BIAS_TERM
    , __global UNIT_TYPE* bias)
#else
    )
#endif
{
    // constexpr:
    const uint input_byte_size  = INPUT0_ELEMENTS_COUNT * UNIT_BYTE_SIZE;

    const uint output_size      = FILTER_OFM_NUM;

    // Identifier of work item element in processing sub-group.
    const uint sg_elem_id       = get_sub_group_local_id();

// ---------------------------------------------------------------------------------------------------------------------

    // non-constexpr:
    // Identifier of processing sub-group (each sub-group process RESPONSES_PER_SG_EXEC output responses).
    const uint sg_id          = get_group_id(0);

    // Input base offset in bytes (bfyx/bx format of input).
    const uint input_base     = 0;

    // Filter base offset in bytes (bs_x_bsv16 format of weights).
    const uint filter_base    = sg_id * input_byte_size * RESPONSES_PER_SG_EXEC;

    // [SCATTERED] Output base identifier/element offset to use (bx format of output).
    const uint output_base_id = sg_id * RESPONSES_PER_SG_EXEC + sg_elem_id;
#if BIAS_TERM
    // [SCATTERED] Bias base identifier/element offset to use (x/f format of biases).
    const uint bias_base_id = output_base_id;
#endif //
    // Filter/input byte offsets in sub-group used duering read/write operations.
    const uint sg_elem_offset = sg_elem_id * CHUNK_BYTE_SIZE;


    // Accumulator for fully connected. Contains one or more sum of multiples on yxf plane. If there is more than one it needs to be sum up to single one.
    CHUNK_TYPE acc = 0;

    uint input_offset = input_base;   // Non-scattered offset (all work items in sub-group must have the same value, so the loop will not diverge in sub-group).
    uint filter_offset = filter_base; // Non-scattered (to support different sub-group scatter in remainder processing and avoid TPM issue during shuffling).
    while (input_offset + IN_CHUNK_PREFETCH_SIZE * BYTES_PER_SG_READ <= input_byte_size)
    {
        // Contains chached IN_CHUNK_PREFETCH_SIZE * UNITS_PER_SG_READ input elements.
        // Currently consecutive fyx data elements are stored in consecutive work-items in sub-group (elems in array seen from work-item are offseted by UNITS_PER_SG_READ).
        CHUNK_TYPE input_val[IN_CHUNK_PREFETCH_SIZE];

#if IN_CHUNK_PREFETCH_SIZE % 8 == 0
        __attribute__((opencl_unroll_hint))
        for (uint input_val_idx = 0; input_val_idx < IN_CHUNK_PREFETCH_SIZE; input_val_idx += 8)
        {
            CHUNK_VEC8_TYPE input_vals = ALIGNED_BLOCK_READ8(input, input_offset + 8 * sg_elem_offset);
            input_offset += 8 * BYTES_PER_SG_READ;
            EXPAND_CHUNK_VEC8_TO_CHUNK_ARRAY(input_val, input_val_idx, input_vals);
        }
#elif IN_CHUNK_PREFETCH_SIZE % 4 == 0
        __attribute__((opencl_unroll_hint))
        for (uint input_val_idx = 0; input_val_idx < IN_CHUNK_PREFETCH_SIZE; input_val_idx += 4)
        {
            CHUNK_VEC4_TYPE input_vals = ALIGNED_BLOCK_READ4(input, input_offset + 4 * sg_elem_offset);
            input_offset += 4 * BYTES_PER_SG_READ;
            EXPAND_CHUNK_VEC4_TO_CHUNK_ARRAY(input_val, input_val_idx, input_vals);
        }
#elif IN_CHUNK_PREFETCH_SIZE % 2 == 0
        __attribute__((opencl_unroll_hint))
        for (uint input_val_idx = 0; input_val_idx < IN_CHUNK_PREFETCH_SIZE; input_val_idx += 2)
        {
            CHUNK_VEC2_TYPE input_vals = ALIGNED_BLOCK_READ2(input, input_offset + 2 * sg_elem_offset);
            input_offset += 2 * BYTES_PER_SG_READ;
            EXPAND_CHUNK_VEC2_TO_CHUNK_ARRAY(input_val, input_val_idx, input_vals);
        }
#else
        __attribute__((opencl_unroll_hint))
        for (uint input_val_idx = 0; input_val_idx < IN_CHUNK_PREFETCH_SIZE; input_val_idx += 1)
        {
            CHUNK_VEC1_TYPE input_vals = ALIGNED_BLOCK_READ1(input, input_offset + sg_elem_offset);
            input_offset += BYTES_PER_SG_READ;
            EXPAND_CHUNK_VEC1_TO_CHUNK_ARRAY(input_val, input_val_idx, input_vals);
        }
#endif

        __attribute__((opencl_unroll_hint))
        for (uint elem_base_idx = 0; elem_base_idx < IN_CHUNK_PREFETCH_SIZE * UNITS_PER_SG_READ; elem_base_idx += FILTER_CHUNK_PREFETCH_SIZE * UNITS_PER_SG_READ / RESPONSES_PER_SG_EXEC)
        {
            // Contains group of weights for RESPONSES_PER_SG_EXEC responses and for (FILTER_CHUNK_PREFETCH_SIZE * UNITS_PER_SG_READ / RESPONSES_PER_SG_EXEC) spatial points.
            // Currently for floats:
            // sub-group-id |        0 |        1 |        2 | ... |        15
            // -------------+----------+----------+----------+-----+----------
            // [0]          | (s0, r0) | (s0, r1) | (s0, r2) | ... | (s0, r15)
            // [1]          | (s1, r0) | (s1, r1) | (s1, r2) | ... | (s1, r15)
            // [2]          | (s2, r0) | (s2, r1) | (s2, r2) | ... | (s2, r15)
            // ...          |   ...    |   ...    |   ...    | ... |   ...
            // Currently for halfs:
            // sub-group-id |          0 |          1 |          2 | ... |            7 |          8 |          9 |         10 | ... |           15
            // -------------+------------+------------+------------+-----+--------------+------------+------------+------------+-----+-------------
            // [0]          | (s0, r0-1) | (s0, r2-3) | (s0, r4-5) | ... | (s0, r14-15) | (s1, r0-1) | (s1, r2-3) | (s1, r4-5) | ... | (s1, r14-15)
            // [1]          | (s2, r0-1) | (s2, r2-3) | (s2, r4-5) | ... | (s2, r14-15) | (s3, r0-1) | (s3, r2-3) | (s3, r4-5) | ... | (s3, r14-15)
            // [2]          | (s4, r0-1) | (s4, r2-3) | (s4, r4-5) | ... | (s4, r14-15) | (s5, r0-1) | (s5, r2-3) | (s5, r4-5) | ... | (s5, r14-15)
            // ...          |    ...     |    ...     |    ...     | ... |     ...      |    ...     |    ...     |    ...     | ... |     ...
            CHUNK_TYPE filter_val[FILTER_CHUNK_PREFETCH_SIZE];

#if FILTER_CHUNK_PREFETCH_SIZE % 8 == 0
            __attribute__((opencl_unroll_hint))
            for (uint filter_val_idx = 0; filter_val_idx < FILTER_CHUNK_PREFETCH_SIZE; filter_val_idx += 8)
            {
                CHUNK_VEC8_TYPE filter_vals = ALIGNED_BLOCK_READ8(weight, filter_offset + 8 * sg_elem_offset);
                filter_offset += 8 * BYTES_PER_SG_READ;
                EXPAND_CHUNK_VEC8_TO_CHUNK_ARRAY(filter_val, filter_val_idx, filter_vals);
            }
#elif FILTER_CHUNK_PREFETCH_SIZE % 4 == 0
            __attribute__((opencl_unroll_hint))
            for (uint filter_val_idx = 0; filter_val_idx < FILTER_CHUNK_PREFETCH_SIZE; filter_val_idx += 4)
            {
                CHUNK_VEC4_TYPE filter_vals = ALIGNED_BLOCK_READ4(weight, filter_offset + 4 * sg_elem_offset);
                filter_offset += 4 * BYTES_PER_SG_READ;
                EXPAND_CHUNK_VEC4_TO_CHUNK_ARRAY(filter_val, filter_val_idx, filter_vals);
            }
#elif FILTER_CHUNK_PREFETCH_SIZE % 2 == 0
            __attribute__((opencl_unroll_hint))
            for (uint filter_val_idx = 0; filter_val_idx < FILTER_CHUNK_PREFETCH_SIZE; filter_val_idx += 2)
            {
                CHUNK_VEC2_TYPE filter_vals = ALIGNED_BLOCK_READ2(weight, filter_offset + 2 * sg_elem_offset);
                filter_offset += 2 * BYTES_PER_SG_READ;
                EXPAND_CHUNK_VEC2_TO_CHUNK_ARRAY(filter_val, filter_val_idx, filter_vals);
            }
#else
            __attribute__((opencl_unroll_hint))
            for (uint filter_val_idx = 0; filter_val_idx < FILTER_CHUNK_PREFETCH_SIZE; filter_val_idx += 1)
            {
                CHUNK_VEC1_TYPE filter_vals = ALIGNED_BLOCK_READ1(weight, filter_offset + sg_elem_offset);
                filter_offset += BYTES_PER_SG_READ;
                EXPAND_CHUNK_VEC1_TO_CHUNK_ARRAY(filter_val, filter_val_idx, filter_vals);
            }
#endif

            // Processing of cached filter chunks.
            __attribute__((opencl_unroll_hint))
            for (uint filter_val_idx = 0; filter_val_idx < FILTER_CHUNK_PREFETCH_SIZE; ++filter_val_idx)
            {
                const uint input_base_elem_idx = elem_base_idx + filter_val_idx * UNITS_PER_SG_READ / RESPONSES_PER_SG_EXEC;

                // Select different input for every SUB_GROUP_SIZE * RESPONSES_PER_SG_EXEC / UNITS_PER_SG_READ work-items in sub-group.
                // This code is suboptimal because get_sub_group_local_id() is not treated as constexpr (compiler issue).
#if UNITS_PER_SG_READ / RESPONSES_PER_SG_EXEC == 4
                UNIT_TYPE rearranged_input = sg_elem_id < SUB_GROUP_SIZE / 2
                    ? (sg_elem_id < SUB_GROUP_SIZE / 4
                        ? (SG_UNIT_SELECT(input_val[input_base_elem_idx / UNITS_PER_SG_READ], input_base_elem_idx % UNITS_PER_SG_READ))
                        : (SG_UNIT_SELECT(input_val[(input_base_elem_idx + 1) / UNITS_PER_SG_READ], (input_base_elem_idx + 1) % UNITS_PER_SG_READ)))
                    : (sg_elem_id < 3 * SUB_GROUP_SIZE / 4
                        ? (SG_UNIT_SELECT(input_val[(input_base_elem_idx + 2) / UNITS_PER_SG_READ], (input_base_elem_idx + 2) % UNITS_PER_SG_READ))
                        : (SG_UNIT_SELECT(input_val[(input_base_elem_idx + 3) / UNITS_PER_SG_READ], (input_base_elem_idx + 3) % UNITS_PER_SG_READ)));
#elif UNITS_PER_SG_READ / RESPONSES_PER_SG_EXEC == 2
                UNIT_TYPE rearranged_input = sg_elem_id < SUB_GROUP_SIZE / 2
                    ? (SG_UNIT_SELECT(input_val[input_base_elem_idx / UNITS_PER_SG_READ], input_base_elem_idx % UNITS_PER_SG_READ))
                    : (SG_UNIT_SELECT(input_val[(input_base_elem_idx + 1) / UNITS_PER_SG_READ], (input_base_elem_idx + 1) % UNITS_PER_SG_READ));
#elif UNITS_PER_SG_READ / RESPONSES_PER_SG_EXEC == 1
                UNIT_TYPE rearranged_input = SG_UNIT_SELECT(input_val[input_base_elem_idx / UNITS_PER_SG_READ], input_base_elem_idx % UNITS_PER_SG_READ);
#else
    #error Selected RESPONSES_PER_SG_EXEC is not supported.
#endif

                acc = AS_CHUNK(fma(rearranged_input, AS_UNITS(filter_val[filter_val_idx]), AS_UNITS(acc)));
            }
        }
    }


// Processing input remainder (if needed).
#define INPUT0_ELEMENTS_REMAINDER             (INPUT0_ELEMENTS_COUNT % (IN_CHUNK_PREFETCH_SIZE * UNITS_PER_SG_READ))
#define IN_CHUNK_PREFETCH_REMAINDER_REQ_SIZE ((INPUT0_ELEMENTS_REMAINDER + UNITS_PER_SG_READ - 1) / UNITS_PER_SG_READ)
#if INPUT0_ELEMENTS_REMAINDER != 0

    {
        CHUNK_TYPE input_val[IN_CHUNK_PREFETCH_SIZE];

    #if IN_CHUNK_PREFETCH_SIZE % 8 == 0 && (IN_CHUNK_PREFETCH_REMAINDER_REQ_SIZE % 8 == 0 || IN_CHUNK_PREFETCH_REMAINDER_REQ_SIZE >= 16)
        __attribute__((opencl_unroll_hint))
        for (uint input_val_idx = 0; input_val_idx < IN_CHUNK_PREFETCH_REMAINDER_REQ_SIZE; input_val_idx += 8)
        {
            CHUNK_VEC8_TYPE input_vals = ALIGNED_BLOCK_READ8(input, input_offset + 8 * sg_elem_offset);
            input_offset += 8 * BYTES_PER_SG_READ;
            EXPAND_CHUNK_VEC8_TO_CHUNK_ARRAY(input_val, input_val_idx, input_vals);
        }
    #elif IN_CHUNK_PREFETCH_SIZE % 4 == 0 && (IN_CHUNK_PREFETCH_REMAINDER_REQ_SIZE % 4 == 0 || IN_CHUNK_PREFETCH_REMAINDER_REQ_SIZE >= 8)
        __attribute__((opencl_unroll_hint))
        for (uint input_val_idx = 0; input_val_idx < IN_CHUNK_PREFETCH_REMAINDER_REQ_SIZE; input_val_idx += 4)
        {
            CHUNK_VEC4_TYPE input_vals = ALIGNED_BLOCK_READ4(input, input_offset + 4 * sg_elem_offset);
            input_offset += 4 * BYTES_PER_SG_READ;
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



// ---------------------------------------------------------------------------------------------------------------------
// Just-in-time macro definitions:
// ---------------------------------------------------------------------------------------------------------------------

// Required JIT constants:
//  - FP16_SUPPORTED        - [0/1] Value indicating whether device supports FP16 OpenCL extension (cl_khr_fp16).
//  - FP16_UNIT_USED        - [0/1] Value indicating that current kernel should use FP16.
//  - UNIT_TYPE             - Type of unit of input/output/weight/bias.
//  - UNIT_VAL_ZERO         - Literal of current UNIT_TYPE that represents 0.
//  - INPUT0_BATCH_NUM      - [int] Batch size for input. Number of input sets of spatial and feature data that
//                                  are grouped to be processed in single batch.
//  - INPUT0_ELEMENTS_COUNT - [int] Cumulative number of elements in single data set from batch.
//  - FILTER_OFM_NUM        - [int] Cumulative number of elements that are outputted for single input set from batch.
//                           Number of layer responses per single input set from batch.
//  - RELU                  - [0/1] Indicates that ReLU activation function should be used on output.
//  - NEGATIVE_SLOPE        - [float] Factor for negative output values (required when ReLU is specified).
//
//  - SUB_GROUP_SIZE        - [int] Size of used subgroup (SIMD).
//  - UNIT_BYTE_SIZE        - [int] Size of unit of input/output/weight/bias in bytes.
//  - CHUNK_TYPE            - Type of chunk of data read by work item using sub-group operation (OpenCL scalar type).
//  - CHUNK_BYTE_SIZE       - [int] Size of chunk of data read by work item using sub-group operation in bytes.
//  - UNITS_PER_CHUNK       - [int] Number of units stored in single chunk of read data.
//                                  Must be equal CHUNK_BYTE_SIZE / UNIT_BYTE_SIZE (and this division must not have
//                                  remainder). Added as helper for manual loop unrolling.
//  - BYTES_PER_SG_READ     - [int] Number of bytes read by single sub-group read operation (read by entire sub-group).
//                                  Must be equal (CHUNK_BYTE_SIZE * SUB_GROUP_SIZE). Added as helper for manual loop
//                                  unrolling.
//  - UNITS_PER_SG_READ     - [int] Number of units read by single sub-group read operation (read by entire sub-group).
//                                  Must be equal (UNIT_BYTE_SIZE * SUB_GROUP_SIZE). Added as helper for manual loop
//                                  unrolling.
//
//  - RESPONSES_PER_SG_EXEC      - [int] Number of neural responses processed/executed by single sub-group.
//  - IN_CHUNK_PREFETCH_SIZE     - [int] Size of array of CHUNK_TYPE use to cache/prefetch input data.
//  - FILTER_CHUNK_PREFETCH_SIZE - [int] Size of array of CHUNK_TYPE use to cache/prefetch filter/weights data.

// ---------------------------------------------------------------------------------------------------------------------
// Helpers:
// ---------------------------------------------------------------------------------------------------------------------

#define CONCAT_TOKEN_HANDLER1(prefix, suffix) prefix##suffix

// Expands and concatenates two tokens into one.
#define CONCAT_TOKEN(prefix, suffix) CONCAT_TOKEN_HANDLER1(prefix, suffix)

// ---------------------------------------------------------------------------------------------------------------------

// Converts scalar expression to scalar of unit type.
#if FP16_UNIT_USED
    #define CVT_UNIT(expression) CONCAT_TOKEN(convert_, UNIT_TYPE)(expression)
#else
    #define CVT_UNIT(expression) (expression)
#endif

// ---------------------------------------------------------------------------------------------------------------------

// - CHUNK_UNITS_TYPE - Type of scalar or vector of UNIT_TYPE that can be reinterpreted as CHUNK_TYPE.
#if UNITS_PER_CHUNK == 1
    #define CHUNK_UNITS_TYPE UNIT_TYPE
#else
    #define CHUNK_UNITS_TYPE MAKE_VECTOR_TYPE(UNIT_TYPE, UNITS_PER_CHUNK)
#endif

// ---------------------------------------------------------------------------------------------------------------------

// Reinterpretation between CHUNK_TYPE and CHUNK_UNITS_TYPE.
#define AS_CHUNK(expression) CONCAT_TOKEN(as_, CHUNK_TYPE)(expression)
#define AS_UNITS(expression) CONCAT_TOKEN(as_, CHUNK_UNITS_TYPE)(expression)

// ---------------------------------------------------------------------------------------------------------------------

// Extracts one scalar element of UNIT_TYPE from work-item chunk;
//     chunk - name of chunk variable, idx - 0-based index of element.
#if UNITS_PER_CHUNK == 4
    #define CHUNK_UNIT_SELECT(chunk, idx) ((idx) > 1 ? ((idx) > 2 ? AS_UNITS(chunk).s3 : AS_UNITS(chunk).s2) : ((idx) ? AS_UNITS(chunk).s1 : AS_UNITS(chunk).s0))
#elif UNITS_PER_CHUNK == 2
    #define CHUNK_UNIT_SELECT(chunk, idx) ((idx) ? AS_UNITS(chunk).s1 : AS_UNITS(chunk).s0)
#elif UNITS_PER_CHUNK == 1
    #define CHUNK_UNIT_SELECT(chunk, idx) AS_UNITS(chunk)
#else
    #error Unsupported number of units per chunk.
#endif

// ---------------------------------------------------------------------------------------------------------------------
// Sub-group operations:
// ---------------------------------------------------------------------------------------------------------------------

// Extracts one scalar element of UNIT_TYPE from sub-group chunk;
//     chunk - name of chunk variable, idx - 0-based index of element.
#define SG_UNIT_SELECT(chunk, idx) CHUNK_UNIT_SELECT(intel_sub_group_shuffle(chunk, (idx) / UNITS_PER_CHUNK), (idx) % UNITS_PER_CHUNK)

// ---------------------------------------------------------------------------------------------------------------------
// Reads / Writes:
// ---------------------------------------------------------------------------------------------------------------------

// Type of chunk salar/vector returned by or passed to read/write macros.
#define CHUNK_VEC1_TYPE CHUNK_TYPE
#define CHUNK_VEC2_TYPE MAKE_VECTOR_TYPE(CHUNK_TYPE, 2)
#define CHUNK_VEC4_TYPE MAKE_VECTOR_TYPE(CHUNK_TYPE, 4)
#define CHUNK_VEC8_TYPE MAKE_VECTOR_TYPE(CHUNK_TYPE, 8)

// Expands vector of chunks to array of chunks (using order of components);
//     array - name of chunk array variable, idx - 0-based start index in array where vector should be expanded,
//     chunk_vec - vector to expand.
#define EXPAND_CHUNK_VEC1_TO_CHUNK_ARRAY(array, idx, chunk_vec) ((void)((array)[(idx)] = chunk_vec))
#define EXPAND_CHUNK_VEC2_TO_CHUNK_ARRAY(array, idx, chunk_vec) ((void)((array)[(idx)] = chunk_vec.s0, (array)[(idx) + 1] = chunk_vec.s1))
#define EXPAND_CHUNK_VEC4_TO_CHUNK_ARRAY(array, idx, chunk_vec) ((void)((array)[(idx)]     = chunk_vec.s0, (array)[(idx) + 1] = chunk_vec.s1, \
                                                                        (array)[(idx) + 2] = chunk_vec.s2, (array)[(idx) + 3] = chunk_vec.s3))
#define EXPAND_CHUNK_VEC8_TO_CHUNK_ARRAY(array, idx, chunk_vec) ((void)((array)[(idx)]     = chunk_vec.s0, (array)[(idx) + 1] = chunk_vec.s1, \
                                                                        (array)[(idx) + 2] = chunk_vec.s2, (array)[(idx) + 3] = chunk_vec.s3, \
                                                                        (array)[(idx) + 4] = chunk_vec.s4, (array)[(idx) + 5] = chunk_vec.s5, \
                                                                        (array)[(idx) + 6] = chunk_vec.s6, (array)[(idx) + 7] = chunk_vec.s7))

// Currently block read is 4 bytes aligned.
#define ALIGNED_BLOCK_READ1(ptr, byte_offset) intel_sub_group_block_read((const __global CHUNK_TYPE*)((const __global char*)(ptr) + (byte_offset)))
#define ALIGNED_BLOCK_READ2(ptr, byte_offset) intel_sub_group_block_read2((const __global CHUNK_TYPE*)((const __global char*)(ptr) + (byte_offset)))
#define ALIGNED_BLOCK_READ4(ptr, byte_offset) intel_sub_group_block_read4((const __global CHUNK_TYPE*)((const __global char*)(ptr) + (byte_offset)))
#define ALIGNED_BLOCK_READ8(ptr, byte_offset) intel_sub_group_block_read8((const __global CHUNK_TYPE*)((const __global char*)(ptr) + (byte_offset)))

// Currently read is 4 bytes aligned.
#define ALIGNED_READ1(ptr, byte_offset) (*(const __global CHUNK_TYPE*)((const __global char*)(ptr) + (byte_offset)))
#define ALIGNED_READ2(ptr, byte_offset) vload2(0, (const __global CHUNK_TYPE*)((const __global char*)(ptr) + (byte_offset)))
#define ALIGNED_READ4(ptr, byte_offset) vload4(0, (const __global CHUNK_TYPE*)((const __global char*)(ptr) + (byte_offset)))
#define ALIGNED_READ8(ptr, byte_offset) vload8(0, (const __global CHUNK_TYPE*)((const __global char*)(ptr) + (byte_offset)))

// Currently block write is 16 bytes aligned.
#define ALIGNED_BLOCK_WRITE1(ptr, byte_offset, val) intel_sub_group_block_write((__global CHUNK_TYPE*)((__global char*)(ptr) + (byte_offset)), (val))
#define ALIGNED_BLOCK_WRITE2(ptr, byte_offset, val) intel_sub_group_block_write2((__global CHUNK_TYPE*)((__global char*)(ptr) + (byte_offset)), (val))
#define ALIGNED_BLOCK_WRITE4(ptr, byte_offset, val) intel_sub_group_block_write4((__global CHUNK_TYPE*)((__global char*)(ptr) + (byte_offset)), (val))
#define ALIGNED_BLOCK_WRITE8(ptr, byte_offset, val) intel_sub_group_block_write8((__global CHUNK_TYPE*)((__global char*)(ptr) + (byte_offset)), (val))

// Currently block write is 4 bytes aligned.
#define ALIGNED_WRITE1(ptr, byte_offset, val) ((void)(*(__global CHUNK_TYPE*)((__global char*)(ptr) + (byte_offset)) = (val)))
#define ALIGNED_WRITE2(ptr, byte_offset, val) vstore2((val), 0, (__global CHUNK_TYPE*)((__global char*)(ptr) + (byte_offset)))
#define ALIGNED_WRITE4(ptr, byte_offset, val) vstore4((val), 0, (__global CHUNK_TYPE*)((__global char*)(ptr) + (byte_offset)))
#define ALIGNED_WRITE8(ptr, byte_offset, val) vstore8((val), 0, (__global CHUNK_TYPE*)((__global char*)(ptr) + (byte_offset)))



// Kernel-specific JIT requirements.
#if INPUT0_BATCH_NUM != 1
    #error Kernel does not support specified input batch size.
#endif
#if UNITS_PER_SG_READ <= 0 || RESPONSES_PER_SG_EXEC <= 0 || UNITS_PER_CHUNK <= 0 || UNITS_PER_SG_READ % RESPONSES_PER_SG_EXEC != 0 || RESPONSES_PER_SG_EXEC % UNITS_PER_CHUNK != 0
    #error Kernel does not support specified number of responses processed by single sub-group.
#endif
#if IN_CHUNK_PREFETCH_SIZE <= 0 || FILTER_CHUNK_PREFETCH_SIZE <= 0 || (IN_CHUNK_PREFETCH_SIZE * RESPONSES_PER_SG_EXEC) % FILTER_CHUNK_PREFETCH_SIZE != 0
    vstore8(blockC13, out_id+INPUT0_BATCH_NUM+3, output);
#endif
#endif

#endif // #if NEURONS_PER_WORK_ITEM > 1
}

#undef SUB_GROUP_SIZE
#undef ALIGNED_BLOCK_READ8
#undef MULTIPLY_BLOCKS_8x8

#if FP16_UNIT_USED
    // Block read - currently block is 4 bytes aligned.
    #define ALIGNED_BLOCK_READ8(ptr, byte_offset) as_half8(intel_sub_group_block_read_us8((const __global ushort*)(ptr) + (byte_offset)))

    #define MULTIPLY_BLOCKS_8x8(_result, _blockA, _blockB)  \
    {   \
        const half8 acol0 = TRANSPOSE_BLOCK_8_FP16( _blockA.s0 ); \
        const half8 acol1 = TRANSPOSE_BLOCK_8_FP16( _blockA.s1 ); \
        const half8 acol2 = TRANSPOSE_BLOCK_8_FP16( _blockA.s2 ); \
        const half8 acol3 = TRANSPOSE_BLOCK_8_FP16( _blockA.s3 ); \
        const half8 acol4 = TRANSPOSE_BLOCK_8_FP16( _blockA.s4 ); \
        const half8 acol5 = TRANSPOSE_BLOCK_8_FP16( _blockA.s5 ); \
        const half8 acol6 = TRANSPOSE_BLOCK_8_FP16( _blockA.s6 ); \
        const half8 acol7 = TRANSPOSE_BLOCK_8_FP16( _blockA.s7 ); \
        _result = fma( _blockB.s0, acol0, _result ); \
        _result = fma( _blockB.s1, acol1, _result ); \
        _result = fma( _blockB.s2, acol2, _result ); \
        _result = fma( _blockB.s3, acol3, _result ); \
        _result = fma( _blockB.s4, acol4, _result ); \
        _result = fma( _blockB.s5, acol5, _result ); \
        _result = fma( _blockB.s6, acol6, _result ); \
        _result = fma( _blockB.s7, acol7, _result ); \
    }
#else
    // Block read - currently block is 4 bytes aligned.
    #define ALIGNED_BLOCK_READ8(ptr, byte_offset) as_float8(intel_sub_group_block_read8((const __global uint*)(ptr) + (byte_offset)))

    #define MULTIPLY_BLOCKS_8x8(_result, _blockA, _blockB)  \
    {   \
        const float8 acol0 = TRANSPOSE_BLOCK_8( _blockA.s0 ); \
        const float8 acol1 = TRANSPOSE_BLOCK_8( _blockA.s1 ); \
        const float8 acol2 = TRANSPOSE_BLOCK_8( _blockA.s2 ); \
        const float8 acol3 = TRANSPOSE_BLOCK_8( _blockA.s3 ); \
        const float8 acol4 = TRANSPOSE_BLOCK_8( _blockA.s4 ); \
        const float8 acol5 = TRANSPOSE_BLOCK_8( _blockA.s5 ); \
        const float8 acol6 = TRANSPOSE_BLOCK_8( _blockA.s6 ); \
        const float8 acol7 = TRANSPOSE_BLOCK_8( _blockA.s7 ); \
        _result = mad( _blockB.s0, acol0, _result ); \
        _result = mad( _blockB.s1, acol1, _result ); \
        _result = mad( _blockB.s2, acol2, _result ); \
        _result = mad( _blockB.s3, acol3, _result ); \
        _result = mad( _blockB.s4, acol4, _result ); \
        _result = mad( _blockB.s5, acol5, _result ); \
        _result = mad( _blockB.s6, acol6, _result ); \
        _result = mad( _blockB.s7, acol7, _result ); \
    }
#endif

#define SUB_GROUP_SIZE 8

__attribute__((reqd_work_group_size(SUB_GROUP_SIZE, 1, 1)))
__attribute__((intel_reqd_sub_group_size(SUB_GROUP_SIZE)))
KERNEL (fully_connected_gpu_xb_bs_xs_xsv8_bsv8_vload)(
    const __global UNIT_TYPE* input,
    __global UNIT_TYPE* output,
    const __global UNIT_TYPE* weight
#if BIAS_TERM
    , __global UNIT_TYPE* bias)
#else
    )
#endif
{
    const uint global_id = get_global_id(0);
    const uint group_id = get_group_id(0);
    const uint batch_group_id = get_global_id(1); // which part of batches we are computing, for example for batch 64 we compute batches 0..31 for batch_group_id == 0 and batches 32..65 for batch_group_id == 1
    const uint id_in_sub_group = get_sub_group_local_id();

    const uint out_id = (id_in_sub_group * BATCHES_PER_WORK_ITEM * (uint)get_global_size(1)) / SUB_GROUP_SIZE + group_id * BATCHES_PER_WORK_ITEM * NEURONS_PER_WORK_ITEM * (uint)get_global_size(1) + (BATCHES_PER_WORK_ITEM * batch_group_id) / SUB_GROUP_SIZE;

    uint neuronIdx = id_in_sub_group + group_id * SUB_GROUP_SIZE * NEURONS_PER_WORK_ITEM;

    MAKE_VECTOR_TYPE(UNIT_TYPE, 8) blockC00 = UNIT_VAL_ZERO;
    MAKE_VECTOR_TYPE(UNIT_TYPE, 8) blockC10 = UNIT_VAL_ZERO;

#if BATCHES_PER_WORK_ITEM >= 16
    MAKE_VECTOR_TYPE(UNIT_TYPE, 8) blockC01 = UNIT_VAL_ZERO;
    MAKE_VECTOR_TYPE(UNIT_TYPE, 8) blockC11 = UNIT_VAL_ZERO;
#if BATCHES_PER_WORK_ITEM >= 32
    MAKE_VECTOR_TYPE(UNIT_TYPE, 8) blockC02 = UNIT_VAL_ZERO;
    MAKE_VECTOR_TYPE(UNIT_TYPE, 8) blockC12 = UNIT_VAL_ZERO;
    MAKE_VECTOR_TYPE(UNIT_TYPE, 8) blockC03 = UNIT_VAL_ZERO;
    MAKE_VECTOR_TYPE(UNIT_TYPE, 8) blockC13 = UNIT_VAL_ZERO;
#endif
#endif

    uint weight_offset = id_in_sub_group + SUB_GROUP_SIZE * group_id * NEURONS_PER_WORK_ITEM * INPUT0_ELEMENTS_COUNT;
#if NEURONS_PER_WORK_ITEM > 1

    uint weight_offset2 = weight_offset + SUB_GROUP_SIZE * INPUT0_ELEMENTS_COUNT;

#endif // #if NEURONS_PER_WORK_ITEM > 1

    uint input_idx = id_in_sub_group + batch_group_id * BATCHES_PER_WORK_ITEM * INPUT0_ELEMENTS_COUNT;
    for(uint h = 0; h < INPUT0_ELEMENTS_COUNT / 8; h++)
    {
        // read input data in blocks ( 8 batch * 8 x )
        MAKE_VECTOR_TYPE(UNIT_TYPE, 8) blockA00 = ALIGNED_BLOCK_READ8(input, input_idx);
#if BATCHES_PER_WORK_ITEM >= 16
        MAKE_VECTOR_TYPE(UNIT_TYPE, 8) blockA01 = ALIGNED_BLOCK_READ8(input, input_idx + (INPUT0_ELEMENTS_COUNT*8));
#if BATCHES_PER_WORK_ITEM >= 32
        MAKE_VECTOR_TYPE(UNIT_TYPE, 8) blockA02 = ALIGNED_BLOCK_READ8(input, input_idx + (INPUT0_ELEMENTS_COUNT*16));
        MAKE_VECTOR_TYPE(UNIT_TYPE, 8) blockA03 = ALIGNED_BLOCK_READ8(input, input_idx + (INPUT0_ELEMENTS_COUNT*24));
#endif
#endif

        MAKE_VECTOR_TYPE(UNIT_TYPE, 8) blockB00 = ALIGNED_BLOCK_READ8(weight, weight_offset); weight_offset += 64;

        MULTIPLY_BLOCKS_8x8(blockC00, blockA00, blockB00)
#if BATCHES_PER_WORK_ITEM >= 16
        MULTIPLY_BLOCKS_8x8(blockC01, blockA01, blockB00)
#if BATCHES_PER_WORK_ITEM >= 32
        MULTIPLY_BLOCKS_8x8(blockC02, blockA02, blockB00)
        MULTIPLY_BLOCKS_8x8(blockC03, blockA03, blockB00)
#endif
#endif

#if NEURONS_PER_WORK_ITEM > 1

        MAKE_VECTOR_TYPE(UNIT_TYPE, 8) blockB10 = ALIGNED_BLOCK_READ8(weight, weight_offset2); weight_offset2 += 64;

        MULTIPLY_BLOCKS_8x8(blockC10, blockA00, blockB10)
#if BATCHES_PER_WORK_ITEM >= 16
        MULTIPLY_BLOCKS_8x8(blockC11, blockA01, blockB10)
#if BATCHES_PER_WORK_ITEM >= 32
        MULTIPLY_BLOCKS_8x8(blockC12, blockA02, blockB10)
        MULTIPLY_BLOCKS_8x8(blockC13, blockA03, blockB10)
#endif
#endif

#endif // #if NEURONS_PER_WORK_ITEM > 1
        input_idx += 64; // 64 because of input format which have blocks of 64 elements
    }

#if BIAS_TERM
    blockC00 += bias[neuronIdx];
#if BATCHES_PER_WORK_ITEM >= 16
    blockC01 += bias[neuronIdx];
#if BATCHES_PER_WORK_ITEM >= 32
    blockC02 += bias[neuronIdx];
    blockC03 += bias[neuronIdx];
#endif
#endif

#if NEURONS_PER_WORK_ITEM > 1

    blockC10 += bias[neuronIdx+8];
#if BATCHES_PER_WORK_ITEM >= 16
    blockC11 += bias[neuronIdx+8];
#if BATCHES_PER_WORK_ITEM >= 32
    blockC12 += bias[neuronIdx+8];
    blockC13 += bias[neuronIdx+8];
#endif
#endif

#endif // #if NEURONS_PER_WORK_ITEM > 1
#endif // #if BIAS_TERM
    blockC00 = ACTIVATION(blockC00, NL_M, NL_N);
#if BATCHES_PER_WORK_ITEM >= 16
    blockC01 = ACTIVATION(blockC01, NL_M, NL_N);
#if BATCHES_PER_WORK_ITEM >= 32
    blockC02 = ACTIVATION(blockC02, NL_M, NL_N);
    blockC03 = ACTIVATION(blockC03, NL_M, NL_N);
#endif
#endif

#if NEURONS_PER_WORK_ITEM > 1

    blockC10 = ACTIVATION(blockC10, NL_M, NL_N);
#if BATCHES_PER_WORK_ITEM >= 16
    blockC11 = ACTIVATION(blockC11, NL_M, NL_N);
#if BATCHES_PER_WORK_ITEM >= 32
    blockC12 = ACTIVATION(blockC12, NL_M, NL_N);
    blockC13 = ACTIVATION(blockC13, NL_M, NL_N);
#endif
#endif

#endif // #if NEURONS_PER_WORK_ITEM > 1

    if(neuronIdx >= OUTPUT_ELEMENTS_COUNT)
        return;

    vstore8(blockC00, out_id, output);
#if BATCHES_PER_WORK_ITEM >= 16
    vstore8(blockC01, out_id + 1, output);
#if BATCHES_PER_WORK_ITEM >= 32
    vstore8(blockC02, out_id + 2, output);
    vstore8(blockC03, out_id + 3, output);
#endif
#endif

#if NEURONS_PER_WORK_ITEM > 1

    if(neuronIdx + 8 >= OUTPUT_ELEMENTS_COUNT)
        return;

    vstore8(blockC10, out_id+INPUT0_BATCH_NUM, output);
#if BATCHES_PER_WORK_ITEM >= 16
    vstore8(blockC11, out_id+INPUT0_BATCH_NUM+1, output);
#if BATCHES_PER_WORK_ITEM >= 32
    vstore8(blockC12, out_id+INPUT0_BATCH_NUM+2, output);
__attribute__((reqd_work_group_size(8, 1, 1)))
KERNEL (fully_connected_gpu_xb_xb_b8_x8)(
    const __global float* input,
    __global float* output,
    const __global float* weight
#if BIAS_TERM
    , __global UNIT_TYPE* bias)
#else
    )
#endif
{
    const uint global_id = get_global_id(0);
    const int x = get_global_id(0);
    const uint batch_id = x % INPUT0_BATCH_NUM;

    uint neuronIdx = (x / INPUT0_BATCH_NUM) * NEURONS_PER_WORK_ITEM;

    const uint sub_group_id = get_local_id(0);
    const uint batch_num = INPUT0_BATCH_NUM;

    const int out_id = (global_id / batch_num) * NEURONS_PER_WORK_ITEM * batch_num + batch_id;

    const int ofm_offset = (global_id * NEURONS_PER_WORK_ITEM) / batch_num;

    float8 _data0 = 0.f;
#if NEURONS_PER_WORK_ITEM > 8
    float8 _data1 = 0.f;
#endif

    uint weight_offset = sub_group_id + neuronIdx;

    for(uint h = 0; h < INPUT0_ELEMENTS_COUNT; h++)
    {
        DOT_PRODUCT_8(_data0, input[h * batch_num + batch_id], weight[weight_offset])
#if NEURONS_PER_WORK_ITEM > 8
        DOT_PRODUCT_8(_data1, input[h * batch_num + batch_id], weight[weight_offset + 8])
#endif
        weight_offset+= FILTER_OFM_NUM;
    }

#if BIAS_TERM
    ADD_BIAS_8(_data0, bias[neuronIdx + sub_group_id]);
#if NEURONS_PER_WORK_ITEM > 8
    ADD_BIAS_8(_data1, bias[neuronIdx + sub_group_id + 8]);
#endif
#endif
    _data0 = ACTIVATION(_data0, NL_M, NL_N);
#if NEURONS_PER_WORK_ITEM > 8
    _data1 = ACTIVATION(_data1, NL_M, NL_N);
#endif

    intel_sub_group_block_write8((__global uint*)output + out_id, as_uint8(_data0));
#if NEURONS_PER_WORK_ITEM > 8
    intel_sub_group_block_write8((__global uint*)output + out_id + 8 * batch_num, as_uint8(_data1));
#endif
}

fully_connected_gpu_fb_io_b8_f8
    vstore8(blockC10, out_id+INPUT0_BATCH_NUM, output);

#if BATCHES_PER_WORK_ITEM >= 16
    vstore8(blockC11, out_id+INPUT0_BATCH_NUM+1, output);
#endif

#if BATCHES_PER_WORK_ITEM >= 32
    vstore8(blockC12, out_id+INPUT0_BATCH_NUM+2, output);
    vstore8(blockC13, out_id+INPUT0_BATCH_NUM+3, output);
#endif

#endif // #if NEURONS_PER_WORK_ITEM > 1
}

#undef SUB_GROUP_SIZE
#undef ALIGNED_BLOCK_READ8
#undef MAKE_VECTOR_TYPE
#undef CONCAT_TOKEN
#undef CONCAT_TOKEN_HANDLER1
#undef MULTIPLY_BLOCKS_8x8

#if FP16_UNIT_USED
    #define MULTIPLY_BLOCKS_8x8(_result, _blockA, _blockB)  \
    {   \
        const half8 acol0 = TRANSPOSE_BLOCK_8_COL_FP16( _blockA, 0 ); \
        const half8 acol1 = TRANSPOSE_BLOCK_8_COL_FP16( _blockA, 1 ); \
        const half8 acol2 = TRANSPOSE_BLOCK_8_COL_FP16( _blockA, 2 ); \
        const half8 acol3 = TRANSPOSE_BLOCK_8_COL_FP16( _blockA, 3 ); \
        const half8 acol4 = TRANSPOSE_BLOCK_8_COL_FP16( _blockA, 4 ); \
        const half8 acol5 = TRANSPOSE_BLOCK_8_COL_FP16( _blockA, 5 ); \
        const half8 acol6 = TRANSPOSE_BLOCK_8_COL_FP16( _blockA, 6 ); \
        const half8 acol7 = TRANSPOSE_BLOCK_8_COL_FP16( _blockA, 7 ); \
        _result = fma( _blockB.s0, acol0, _result ); \
        _result = fma( _blockB.s1, acol1, _result ); \
        _result = fma( _blockB.s2, acol2, _result ); \
        _result = fma( _blockB.s3, acol3, _result ); \
        _result = fma( _blockB.s4, acol4, _result ); \
        _result = fma( _blockB.s5, acol5, _result ); \
        _result = fma( _blockB.s6, acol6, _result ); \
        _result = fma( _blockB.s7, acol7, _result ); \
    }
#else
    #define MULTIPLY_BLOCKS_8x8(_result, _blockA, _blockB)  \
    {   \
        const float8 acol0 = TRANSPOSE_BLOCK_8_COL( _blockA, 0 ); \
        const float8 acol1 = TRANSPOSE_BLOCK_8_COL( _blockA, 1 ); \
        const float8 acol2 = TRANSPOSE_BLOCK_8_COL( _blockA, 2 ); \
        const float8 acol3 = TRANSPOSE_BLOCK_8_COL( _blockA, 3 ); \
        const float8 acol4 = TRANSPOSE_BLOCK_8_COL( _blockA, 4 ); \
        const float8 acol5 = TRANSPOSE_BLOCK_8_COL( _blockA, 5 ); \
        const float8 acol6 = TRANSPOSE_BLOCK_8_COL( _blockA, 6 ); \
        const float8 acol7 = TRANSPOSE_BLOCK_8_COL( _blockA, 7 ); \
        _result = mad( _blockB.s0, acol0, _result ); \
        _result = mad( _blockB.s1, acol1, _result ); \
        _result = mad( _blockB.s2, acol2, _result ); \
        _result = mad( _blockB.s3, acol3, _result ); \
        _result = mad( _blockB.s4, acol4, _result ); \
        _result = mad( _blockB.s5, acol5, _result ); \
        _result = mad( _blockB.s6, acol6, _result ); \
        _result = mad( _blockB.s7, acol7, _result ); \
    }
#endif

#define SUB_GROUP_SIZE 8

__attribute__((reqd_work_group_size(SUB_GROUP_SIZE, 1, 1)))
KERNEL (fully_connected_gpu_xb_xb_b8_x8_vload)(
    const __global UNIT_TYPE* input,
    __global UNIT_TYPE* output,
    const __global UNIT_TYPE* weight
#if BIAS_TERM
    , __global UNIT_TYPE* bias)
#else
    )
#endif
{
    const uint global_id = get_global_id(0);
    const uint group_id = get_global_id(1); // which part of batches we are computing, for example for batch 64 we compute batches 0..31 for group_id == 0 and batches 32..65 for group_id == 1
    uint sub_group_idx = (uint)get_local_id(0) % 8;

    const uint out_id = (sub_group_idx * BATCHES_PER_WORK_ITEM * (uint)get_global_size(1)) / 8 + (global_id / 8) * BATCHES_PER_WORK_ITEM * NEURONS_PER_WORK_ITEM * (uint)get_global_size(1) + (BATCHES_PER_WORK_ITEM * group_id) / 8;

    uint neuronIdx = sub_group_idx + (global_id / 8) * 8 * NEURONS_PER_WORK_ITEM;

    MAKE_VECTOR_TYPE(UNIT_TYPE, 8) blockC00 = UNIT_VAL_ZERO;
    MAKE_VECTOR_TYPE(UNIT_TYPE, 8) blockC10 = UNIT_VAL_ZERO;

#if BATCHES_PER_WORK_ITEM >= 16
    MAKE_VECTOR_TYPE(UNIT_TYPE, 8) blockC01 = UNIT_VAL_ZERO;
    MAKE_VECTOR_TYPE(UNIT_TYPE, 8) blockC11 = UNIT_VAL_ZERO;
#endif

#if BATCHES_PER_WORK_ITEM >= 32
    MAKE_VECTOR_TYPE(UNIT_TYPE, 8) blockC02 = UNIT_VAL_ZERO;
    MAKE_VECTOR_TYPE(UNIT_TYPE, 8) blockC12 = UNIT_VAL_ZERO;

    MAKE_VECTOR_TYPE(UNIT_TYPE, 8) blockC03 = UNIT_VAL_ZERO;
    MAKE_VECTOR_TYPE(UNIT_TYPE, 8) blockC13 = UNIT_VAL_ZERO;
#endif

    uint weight_offset = neuronIdx;
#if NEURONS_PER_WORK_ITEM > 1

    uint weight_offset2 = neuronIdx + 8;

#endif // #if NEURONS_PER_WORK_ITEM > 1

    uint input_idx = sub_group_idx * (BATCHES_PER_WORK_ITEM / 8) * (uint)get_global_size(1) + (group_id * BATCHES_PER_WORK_ITEM) / 8;
    for(uint h = 0; h < INPUT0_ELEMENTS_COUNT / 8; h++)
    {
        MAKE_VECTOR_TYPE(UNIT_TYPE, 8) blockA00 = vload8(input_idx, input);

#if BATCHES_PER_WORK_ITEM >= 16
        MAKE_VECTOR_TYPE(UNIT_TYPE, 8) blockA01 = vload8(input_idx + 1, input);
#endif

#if BATCHES_PER_WORK_ITEM >= 32
        MAKE_VECTOR_TYPE(UNIT_TYPE, 8) blockA02 = vload8(input_idx + 2, input);
        MAKE_VECTOR_TYPE(UNIT_TYPE, 8) blockA03 = vload8(input_idx + 3, input);
#endif
        MAKE_VECTOR_TYPE(UNIT_TYPE, 8) blockB00;
        blockB00.s0 = weight[weight_offset]; weight_offset += FILTER_OFM_NUM;
        blockB00.s1 = weight[weight_offset]; weight_offset += FILTER_OFM_NUM;
        blockB00.s2 = weight[weight_offset]; weight_offset += FILTER_OFM_NUM;
        blockB00.s3 = weight[weight_offset]; weight_offset += FILTER_OFM_NUM;
        blockB00.s4 = weight[weight_offset]; weight_offset += FILTER_OFM_NUM;
        blockB00.s5 = weight[weight_offset]; weight_offset += FILTER_OFM_NUM;
        blockB00.s6 = weight[weight_offset]; weight_offset += FILTER_OFM_NUM;
        blockB00.s7 = weight[weight_offset]; weight_offset += FILTER_OFM_NUM;
        MULTIPLY_BLOCKS_8x8(blockC00, blockA00, blockB00)

#if BATCHES_PER_WORK_ITEM >= 16
        MULTIPLY_BLOCKS_8x8(blockC01, blockA01, blockB00)
#endif

#if BATCHES_PER_WORK_ITEM >= 32
        MULTIPLY_BLOCKS_8x8(blockC02, blockA02, blockB00)
        MULTIPLY_BLOCKS_8x8(blockC03, blockA03, blockB00)
#endif

#if NEURONS_PER_WORK_ITEM > 1

        MAKE_VECTOR_TYPE(UNIT_TYPE, 8) blockB10;
        blockB10.s0 = weight[weight_offset2]; weight_offset2 += FILTER_OFM_NUM;
        blockB10.s1 = weight[weight_offset2]; weight_offset2 += FILTER_OFM_NUM;
        blockB10.s2 = weight[weight_offset2]; weight_offset2 += FILTER_OFM_NUM;
        blockB10.s3 = weight[weight_offset2]; weight_offset2 += FILTER_OFM_NUM;
        blockB10.s4 = weight[weight_offset2]; weight_offset2 += FILTER_OFM_NUM;
        blockB10.s5 = weight[weight_offset2]; weight_offset2 += FILTER_OFM_NUM;
        blockB10.s6 = weight[weight_offset2]; weight_offset2 += FILTER_OFM_NUM;
        blockB10.s7 = weight[weight_offset2]; weight_offset2 += FILTER_OFM_NUM;
        MULTIPLY_BLOCKS_8x8(blockC10, blockA00, blockB10)

#if BATCHES_PER_WORK_ITEM >= 16
        MULTIPLY_BLOCKS_8x8(blockC11, blockA01, blockB10)
#endif
#if BATCHES_PER_WORK_ITEM >= 32
        MULTIPLY_BLOCKS_8x8(blockC12, blockA02, blockB10)
        MULTIPLY_BLOCKS_8x8(blockC13, blockA03, blockB10)
#endif

#endif // #if NEURONS_PER_WORK_ITEM > 1
        input_idx += INPUT0_BATCH_NUM; // we don't need to multiply by 8 because of vload8
    }

#if BIAS_TERM
    blockC00 += bias[neuronIdx];
#if BATCHES_PER_WORK_ITEM >= 16
    blockC01 += bias[neuronIdx];
#endif

#if BATCHES_PER_WORK_ITEM >= 32
    blockC02 += bias[neuronIdx];
    blockC03 += bias[neuronIdx];
#endif

#if NEURONS_PER_WORK_ITEM > 1

    blockC10 += bias[neuronIdx+8];
#if BATCHES_PER_WORK_ITEM >= 16
    blockC11 += bias[neuronIdx+8];
#endif
#if BATCHES_PER_WORK_ITEM >= 32
    blockC12 += bias[neuronIdx+8];
    blockC13 += bias[neuronIdx+8];
#endif

#endif // #if NEURONS_PER_WORK_ITEM > 1

    blockC00 = ACTIVATION(blockC00, NL_M, NL_N);
#if BATCHES_PER_WORK_ITEM >= 16
    blockC01 = ACTIVATION(blockC01, NL_M, NL_N);
#endif
#if BATCHES_PER_WORK_ITEM >= 32
    blockC02 = ACTIVATION(blockC02, NL_M, NL_N);
    blockC03 = ACTIVATION(blockC03, NL_M, NL_N);
#endif

#if NEURONS_PER_WORK_ITEM > 1

    blockC10 = ACTIVATION(blockC10, NL_M, NL_N);
#if BATCHES_PER_WORK_ITEM >= 16
    blockC11 = ACTIVATION(blockC11, NL_M, NL_N);
#endif
#if BATCHES_PER_WORK_ITEM >= 32
    blockC12 = ACTIVATION(blockC12, NL_M, NL_N);
    blockC13 = ACTIVATION(blockC13, NL_M, NL_N);
#endif

#endif // #if NEURONS_PER_WORK_ITEM > 1

    vstore8(blockC00, out_id, output);
#if BATCHES_PER_WORK_ITEM >= 16
    vstore8(blockC01, out_id + 1, output);
#endif
#if BATCHES_PER_WORK_ITEM >= 32
    vstore8(blockC02, out_id + 2, output);
    vstore8(blockC03, out_id + 3, output);
#endif
#endif // #if BIAS_TERM
#if NEURONS_PER_WORK_ITEM > 1
#else
    )
#endif
{
    // constexpr:
    const uint input_batch_byte_size       = INPUT0_BATCH_NUM * UNIT_BYTE_SIZE;
    const uint input_byte_size             = INPUT0_ELEMENTS_COUNT * input_batch_byte_size;
    const uint input_yxf_elems_per_sg_read = INPUT0_BATCH_NUM < UNITS_PER_SG_READ
                                               ? UNITS_PER_SG_READ / INPUT0_BATCH_NUM
                                               : 1;
    const uint input_sg_reads_distance     = WORK_ITEMS_PER_BATCH * BYTES_PER_SG_READ;

    // Size in bytes of all responses for single spatial/feature data point (the same as filter_yxf_elems_distance).
    // Distance between two nearest xyf elements with the same response id.
    const uint filter_response_byte_size = FILTER_OFM_NUM * UNIT_BYTE_SIZE;
    // Cumulative size in bytes of all weights/filters.
    const uint filters_byte_size         = INPUT0_ELEMENTS_COUNT * filter_response_byte_size;

    const uint output_batch_byte_size = input_batch_byte_size;
    const uint output_byte_size = FILTER_OFM_NUM * output_batch_byte_size;

// ---------------------------------------------------------------------------------------------------------------------

    // non-constexpr:
    // Identifier of processing sub-group (each sub-group process UNITS_PER_SG_READ output responses for at least
    // one data set in batch).
    const uint sg_id          = get_group_id(0);
    // Identifier of batch group (each batch group process up to UNITS_PER_SG_READ data sets from batch).
    const uint batch_group_id = get_global_id(1);
    // Identifier of work item element in processing sub-group.
    const uint sg_elem_id     = get_sub_group_local_id();

    // Input base offset in bytes (yxfb/xb format of input).
    const uint input_base     = batch_group_id * BYTES_PER_SG_READ;

    // Filter base offset in bytes (yxfb/xb format of weights).
    const uint filter_base    = sg_id * BYTES_PER_SG_READ;

    // Filter base offset in bytes (x/f format of biases).
#if BIAS_TERM
    const uint bias_base = filter_base;
#endif
    // Output base offset in bytes (xb format of output). INPUT0_BATCH_NUM is the same as OUTPUT_BATCH_NUM.
    const uint output_base    = (sg_id * INPUT0_BATCH_NUM + batch_group_id) * BYTES_PER_SG_READ;

    // Filter/input byte offsets in sub-group used duering read/write operations.
    const uint sg_elem_offset = sg_elem_id * CHUNK_BYTE_SIZE;


    // Accumulator over batch and response elements.
    CHUNK_TYPE acc[UNITS_PER_SG_READ] = {};

    // Iterate over yxf linear plane (both filters/weights and input).
    for (uint input_offset = input_base, filter_offset = filter_base; input_offset < input_byte_size; input_offset += input_sg_reads_distance)
    {
        CHUNK_TYPE input_val = INPUT0_READ(input, input_offset + sg_elem_offset);

        // Iterate over filters needed to process input read by sub-group.
        for(uint elem_idx = 0; elem_idx < input_yxf_elems_per_sg_read; ++elem_idx)
        {
            CHUNK_TYPE filter_val = FILTER_READ(weight, filter_offset + sg_elem_offset);
            filter_offset += filter_response_byte_size;

            // MULTIPLY
            // BATCH = 32x? (HF) / 16x? (F)
            // Iterate over output features (indexed by acc_pos). acc[i] accumulates entire batch group for output feature i.
            __attribute__((opencl_unroll_hint(UNITS_PER_SG_READ)))
            for (uint acc_pos = 0; acc_pos < UNITS_PER_SG_READ; ++acc_pos)
            {
                acc[acc_pos] = AS_CHUNK(fma(AS_UNITS(input_val), SG_UNIT_SELECT(filter_val, acc_pos), AS_UNITS(acc[acc_pos])));
            }
        }
    }

    // WRITE OUTPUT
    // BATCH = 32x? (HF) / 16x? (F)
#if LAST_RG_SIZE > 0
    if (sg_id < RG_COUNT - 1)
#endif
    {
#if BIAS_TERM
        CHUNK_TYPE bias_val = BIAS_READ(bias, bias_base + sg_elem_offset);
#endif
        uint output_offset = output_base;
        __attribute__((opencl_unroll_hint(UNITS_PER_SG_READ)))
        for (uint acc_pos = 0; acc_pos < UNITS_PER_SG_READ; ++acc_pos)
        {
#if BIAS_TERM
            CHUNK_UNITS_TYPE output_val = AS_UNITS(acc[acc_pos]) + SG_UNIT_SELECT(bias_val, acc_pos);
#else
            CHUNK_UNITS_TYPE output_val = AS_UNITS(acc[acc_pos]);
#endif
            output_val = ACTIVATION(output_val, NL_M, NL_N);
            OUTPUT_WRITE(output, output_offset + sg_elem_offset, AS_CHUNK(output_val));
            output_offset += output_batch_byte_size;
        }
    }
#if LAST_RG_SIZE > 0
    else
    {
        CHUNK_TYPE bias_val = BIAS_READ(bias, bias_base + sg_elem_offset);

        uint output_offset = output_base;
        __attribute__((opencl_unroll_hint(LAST_RG_SIZE)))
        for (uint acc_pos = 0; acc_pos < LAST_RG_SIZE; ++acc_pos)
        {
#if BIAS_TERM
            CHUNK_UNITS_TYPE output_val = AS_UNITS(acc[acc_pos]) + SG_UNIT_SELECT(bias_val, acc_pos);
#else
            CHUNK_UNITS_TYPE output_val = AS_UNITS(acc[acc_pos]);
#endif
            output_val = ACTIVATION(output_val, NL_M, NL_N);
            OUTPUT_WRITE(output, output_offset + sg_elem_offset, AS_CHUNK(output_val));
            output_offset += output_batch_byte_size;
        }
    }
#endif
}

#undef CONCAT_TOKEN_HANDLER1
#undef CONCAT_TOKEN
#undef MAKE_VECTOR_TYPE
#undef CVT_UNIT
#undef CHUNK_UNITS_TYPE
#undef AS_CHUNK
#undef AS_UNITS
#undef CHUNK_UNIT_SELECT

#undef SG_UNIT_SELECT
#undef ALIGNED_BLOCK_READ
#undef ALIGNED_BLOCK_WRITE
#undef INPUT0_READ
#undef FILTER_READ
#undef BIAS_READ
#undef OUTPUT_WRITE

        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



// ---------------------------------------------------------------------------------------------------------------------
// Just-in-time macro definitions:
// ---------------------------------------------------------------------------------------------------------------------

// Required JIT constants:
//  - FP16_SUPPORTED       - [0/1] Value indicating whether device supports FP16 OpenCL extension (cl_khr_fp16).
//  - FP16_UNIT_USED       - [0/1] Value indicating that current kernel should use FP16.
//  - UNIT_TYPE            - Type of unit of input/output/weight/bias.
//  - UNIT_VAL_ZERO        - Literal of current UNIT_TYPE that represents 0.
//  - INPUT_BATCH_NUM      - [int] Batch size for input. Number of input sets of spatial and feature data that
//                           are grouped to be processed in single batch.
//  - INPUT_ELEMENTS_COUNT - [int] Cumulative number of elements in single data set from batch.
//  - FILTER_OFM_NUM       - [int] Cumulative number of elements that are outputted for single input set from batch.
//                           Number of layer responses per single input set from batch.
//  - RELU                 - [0/1] Indicates that ReLU activation function should be used on output.
//  - NEGATIVE_SLOPE       - [float] Factor for negative output values (required when ReLU is specified).
//
//  - SUB_GROUP_SIZE       - [int] Size of used subgroup (SIMD).
//  - WORK_ITEMS_PER_BATCH - [int] Number of work items needed to process at least one element in all data sets
//                           from batch.
//  - UNIT_BYTE_SIZE       - [int] Size of unit of input/output/weight/bias in bytes.
//  - CHUNK_TYPE           - Type of chunk of data read by work item using sub-group operation.
//  - CHUNK_BYTE_SIZE      - [int] Size of chunk of data read by work item using sub-group operation in bytes.
//  - UNITS_PER_CHUNK      - [int] Number of units stored in single chunk of read data.
//  - BYTES_PER_SG_READ    - [int] Number of bytes read by single sub-group read operation (read by entire sub-group).
//  - UNITS_PER_SG_READ    - [int] Number of units read by single sub-group read operation (read by entire sub-group).
//  - RG_COUNT             - [int] Number of response groups. Each group (except last) writes units_per_sg_read
//                           responses for at least one input data set from batch.
//  - LAST_RG_SIZE         - [int] Number of responses in last group of written responses.
//                           Responses are grouped in UNITS_PER_SG_READ-sized groups. The parameter describes how
//                           many responses are in last group or 0, if group is full.

// ---------------------------------------------------------------------------------------------------------------------
// Helpers:
// ---------------------------------------------------------------------------------------------------------------------

#define CONCAT_TOKEN_HANDLER1(prefix, suffix) prefix##suffix

// Expands and concatenates two tokens into one.
#define CONCAT_TOKEN(prefix, suffix) CONCAT_TOKEN_HANDLER1(prefix, suffix)

// ---------------------------------------------------------------------------------------------------------------------

// Converts scalar expression to scalar of unit type.
#if FP16_UNIT_USED
    #define CVT_UNIT(expression) CONCAT_TOKEN(convert_, UNIT_TYPE)(expression)
#else
    #define CVT_UNIT(expression) (expression)
#endif

// ---------------------------------------------------------------------------------------------------------------------

// - CHUNK_UNITS_TYPE - Type of scalar or vector of UNIT_TYPE that can be reinterpreted as CHUNK_TYPE.
#if UNITS_PER_CHUNK == 1
    #define CHUNK_UNITS_TYPE UNIT_TYPE
#else
    #define CHUNK_UNITS_TYPE MAKE_VECTOR_TYPE(UNIT_TYPE, UNITS_PER_CHUNK)
#endif

// ---------------------------------------------------------------------------------------------------------------------

// Reinterpretation between CHUNK_TYPE and CHUNK_UNITS_TYPE.
#define AS_CHUNK(expression) CONCAT_TOKEN(as_, CHUNK_TYPE)(expression)
#define AS_UNITS(expression) CONCAT_TOKEN(as_, CHUNK_UNITS_TYPE)(expression)

// ---------------------------------------------------------------------------------------------------------------------

// Extracts one scalar element of UNIT_TYPE from work-item chunk;
//     chunk - name of chunk variable, idx - 0-based index of element.
#if UNITS_PER_CHUNK == 2
    #define CHUNK_UNIT_SELECT(chunk, idx) ((idx) ? AS_UNITS(chunk).s1 : AS_UNITS(chunk).s0)
#elif UNITS_PER_CHUNK == 1
    #define CHUNK_UNIT_SELECT(chunk, idx) AS_UNITS(chunk)
#else
    #error Unsupported number of units per chunk.
#endif

// ---------------------------------------------------------------------------------------------------------------------
// Sub-group operations:
// ---------------------------------------------------------------------------------------------------------------------

// Extracts one scalar element of UNIT_TYPE from sub-group chunk;
//     chunk - name of chunk variable, idx - 0-based index of element.
#define SG_UNIT_SELECT(chunk, idx) CHUNK_UNIT_SELECT(intel_sub_group_shuffle(chunk, (idx) / UNITS_PER_CHUNK), (idx) % UNITS_PER_CHUNK)

// ---------------------------------------------------------------------------------------------------------------------

// Currently block read is 4 bytes aligned.
#define ALIGNED_BLOCK_READ(ptr, byte_offset) intel_sub_group_block_read((const __global CHUNK_TYPE*)((const __global char*)(ptr) + (byte_offset)))

// Currently read is 4 bytes aligned.
#define ALIGNED_READ(ptr, byte_offset) (*(const __global CHUNK_TYPE*)((const __global char*)(ptr) + (byte_offset)))

// Currently block write is 16 bytes aligned.
#define ALIGNED_BLOCK_WRITE(ptr, byte_offset, val) intel_sub_group_block_write((__global CHUNK_TYPE*)((__global char*)(ptr) + (byte_offset)), (val))

// Currently block write is 4 bytes aligned.
#define ALIGNED_WRITE(ptr, byte_offset, val) ((void)(*(__global CHUNK_TYPE*)((__global char*)(ptr) + (byte_offset)) = (val)))

// Depends on batch size (aligned to greatest power of 2 which divides INPUT0_BATCH_NUM).
#define INPUT0_READ(ptr, byte_offset) ALIGNED_READ(ptr, byte_offset)
// Depends on number of responses (aligned to greatest power of 2 which divides FILTER_OFM_NUM).
#define FILTER_READ(ptr, byte_offset) ALIGNED_READ(ptr, byte_offset)
// Aligned to BYTES_PER_SG_READ.
#define BIAS_READ(ptr, byte_offset) ALIGNED_READ(ptr, byte_offset)
// Depends on batch size (aligned to greatest power of 2 which divides INPUT0_BATCH_NUM).
#define OUTPUT_WRITE(ptr, byte_offset, val) ALIGNED_WRITE(ptr, byte_offset, val)


/*
#if FILTER_OFM_NUM % (2 * SUB_GROUP_SIZE) == 0 || (!FP16_UNIT_USED && FILTER_OFM_NUM % SUB_GROUP_SIZE == 0)
    #define FILTER_READ(ptr, byte_offset) ALIGNED_BLOCK_READ(ptr, byte_offset)
#elifs
    #define FILTER_READ(ptr, byte_offset) ALIGNED_BLOCK_READ(ptr, byte_offset)
#elif FILTER_OFM_NUM % 8 == 0
#else
#endif




#if FP16_UNIT_USED
    #define ALIGNED_FILTER_BLOCK_READ(ptr, byte_offset) as_half2(intel_sub_group_block_read((const __global uint*)((const __global char*)(ptr) + (byte_offset))))
    #define FILTER_TYPE half2
#else
    #define ALIGNED_FILTER_BLOCK_READ(ptr, byte_offset) as_float(intel_sub_group_block_read((const __global uint*)((const __global char*)(ptr) + (byte_offset))))
    #define FILTER_TYPE float
#endif
*/


#if INPUT0_BATCH_NUM > 0 && INPUT0_BATCH_NUM % (SUB_GROUP_SIZE * CHUNK_BYTE_SIZE / UNIT_BYTE_SIZE) == 0
#else
    #error Kernel does not support specified input batch size.
#endif



__attribute__((intel_reqd_sub_group_size(SUB_GROUP_SIZE)))
__attribute__((reqd_work_group_size(SUB_GROUP_SIZE, 1, 1)))
KERNEL (fully_connected_gpu_xb_xb_block_fp16)(
    const __global UNIT_TYPE* input,
    __global UNIT_TYPE* output,
    const __global UNIT_TYPE* weight
#if BIAS_TERM
    , __global UNIT_TYPE* bias)
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



// Required JIT constants:
//  - FP16_SUPPORTED       - [0/1] Value indicating whether device supports FP16 OpenCL extension (cl_khr_fp16).
//  - FP16_UNIT_USED       - [0/1] Value indicating that current kernel should use FP16.
//  - UNIT_TYPE            - Type of unit of input/output/weight/bias.
//  - UNIT_VAL_ZERO        - Literal of current UNIT_TYPE that represents 0.
//  - INPUT_BATCH_NUM      - [int] Number of elements from single spatial and single feature that are grouped in single batch in input.
//  - INPUT_ELEMENTS_COUNT - [int] Cumulative number of elements from input that are processed in single batch.
//  - FILTER_OFM_NUM       - [int] Cumulative number of elements that are outputted in single batch.
//  - RELU                 - [0/1] Indicates that ReLU activation function should be used on output.
//  - NEGATIVE_SLOPE       - [float] Factor for negative output values (required when ReLU is specified).


KERNEL (fully_connected_gpu_xb_xb)(
    const __global UNIT_TYPE* input,
    __global UNIT_TYPE* output,
    const __global UNIT_TYPE* weight
#if BIAS_TERM
    , __global UNIT_TYPE* bias)
#else
    )
#endif
{
    const uint x = get_global_id(0);
    const uint batch_id = x % INPUT0_BATCH_NUM;

    const uint outXIdx = x / INPUT0_BATCH_NUM;
    UNIT_TYPE result = UNIT_VAL_ZERO;

    uint input_idx = MULTIPLY_OFFSET(UNIT_TYPE, batch_id);
    uint weight_idx = MULTIPLY_OFFSET(UNIT_TYPE, outXIdx);

    for (uint i = 0; i < INPUT0_ELEMENTS_COUNT; i++)
    {
        UNIT_TYPE _in = *OFFSET_GLOBAL_PTR(UNIT_TYPE, input, input_idx);
        UNIT_TYPE _w =  *OFFSET_GLOBAL_PTR(UNIT_TYPE, weight, weight_idx);
        result += _in * _w;
        input_idx  += MULTIPLY_OFFSET(UNIT_TYPE, INPUT0_BATCH_NUM);
        weight_idx += MULTIPLY_OFFSET(UNIT_TYPE, FILTER_OFM_NUM);
    }

#if BIAS_TERM
    result += bias[outXIdx];
#endif

    output[x] = ACTIVATION(result, NL_M, NL_N);
}

        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif




__attribute__((reqd_work_group_size(8, 1, 1)))
KERNEL (fully_connected_gpu_xb_bx_b8)(
    const __global float* input,
    __global float* output,
    const __global float* weight
#if BIAS_TERM
    , __global UNIT_TYPE* bias)
#else
    )
#endif
{
    const uint batch_id = get_global_id(0);

    uint outXIdx = get_global_id(1);
    uint weight_offset = outXIdx * INPUT0_ELEMENTS_COUNT + batch_id;
#if BIAS_TERM
    float result = bias[outXIdx];
#else
    float result = 0.0f;
#endif

    float8 _data = 0.f;
    const uint sub_group_id = get_local_id(0);

    for(uint _i = 0; _i < INPUT0_ELEMENTS_COUNT/8; _i++)
    {
        uint i = _i * 8;
        const float weight_val = weight[weight_offset];
        const float8 _input = as_float8(intel_sub_group_block_read8((const __global uint*)input + i * INPUT0_BATCH_NUM + batch_id));
        _data.s0 = fma(_input.s0, intel_sub_group_shuffle(weight_val, 0), _data.s0);
        _data.s1 = fma(_input.s1, intel_sub_group_shuffle(weight_val, 1), _data.s1);
        _data.s2 = fma(_input.s2, intel_sub_group_shuffle(weight_val, 2), _data.s2);
        _data.s3 = fma(_input.s3, intel_sub_group_shuffle(weight_val, 3), _data.s3);
        _data.s4 = fma(_input.s4, intel_sub_group_shuffle(weight_val, 4), _data.s4);
        _data.s5 = fma(_input.s5, intel_sub_group_shuffle(weight_val, 5), _data.s5);
        _data.s6 = fma(_input.s6, intel_sub_group_shuffle(weight_val, 6), _data.s6);
        _data.s7 = fma(_input.s7, intel_sub_group_shuffle(weight_val, 7), _data.s7);
        weight_offset += 8;
    }
    for(uint i = INPUT0_ELEMENTS_COUNT - (INPUT0_ELEMENTS_COUNT % 8); i < INPUT0_ELEMENTS_COUNT; i++)
    {
        result += input[i * INPUT0_BATCH_NUM + batch_id] * weight[weight_offset++];
    }
    result += _data.s0 + _data.s1 + _data.s2 + _data.s3 +
              _data.s4 + _data.s5 + _data.s6 + _data.s7;

    output[outXIdx * INPUT0_BATCH_NUM + batch_id] = ACTIVATION(result, NL_M, NL_N);
}

        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



// Required JIT constants:
//  - FP16_SUPPORTED       - [0/1] Value indicating whether device supports FP16 OpenCL extension (cl_khr_fp16).
//  - FP16_UNIT_USED       - [0/1] Value indicating that current kernel should use FP16.
//  - UNIT_TYPE            - Type of unit of input/output/weight/bias.
//  - UNIT_VAL_ZERO        - Literal of current UNIT_TYPE that represents 0.
//  - INPUT_BATCH_NUM      - [int] Number of elements from single spatial and single feature that are grouped in single batch in input.
//  - INPUT_ELEMENTS_COUNT - [int] Cumulative number of elements from input that are processed in single batch.
//  - FILTER_OFM_NUM       - [int] Cumulative number of elements that are outputted in single batch.
//  - RELU                 - [0/1] Indicates that ReLU activation function should be used on output.
//  - NEGATIVE_SLOPE       - [float] Factor for negative output values (required when ReLU is specified).


KERNEL (fully_connected_gpu_xb_bx)(
    const __global UNIT_TYPE* input,
    __global UNIT_TYPE* output,
    const __global UNIT_TYPE* weight
#if BIAS_TERM
    , __global UNIT_TYPE* bias)
#else
    )
#endif
{
    const uint x = get_global_id(0);
    const uint batch_id = x % INPUT0_BATCH_NUM;
    const uint outXIdx = x / INPUT0_BATCH_NUM;
    UNIT_TYPE result = UNIT_VAL_ZERO;
    uint weight_offset = outXIdx * FILTER_OFM_PITCH;
    uint input_offset = INPUT0_OFFSET + batch_id*INPUT0_BATCH_PITCH;

    for (uint i = 0; i < INPUT0_ELEMENTS_COUNT; i++)
    {
        result += input[input_offset] * weight[weight_offset];
        input_offset += INPUT0_BATCH_NUM;
        weight_offset++;
    }
#if BIAS_TERM
    result += bias[outXIdx];
#endif
    output[x] = ACTIVATION(result, NL_M, NL_N);
}


    // Loop over FSV input features from one slice in one iteration
    for (uint fi = 0; fi < (INPUT0_FEATURE_NUM + FSV - 1) / FSV; ++fi)
    {
        uint tmp_input_offset = input_offset;
        uint tmp_weights_offset = weights_offset;

        // Loop over spatial dimensions of input
        for (uint fii = 0; fii < INPUT0_SIZE_X * INPUT0_SIZE_Y; ++fii)
        {
            // Read input - 32 in_f x OUTPUT_BLOCK_SIZE_B b
            unroll_for (uint obi = 0; obi < OUTPUT_BLOCK_SIZE_B; ++obi)
            {
                const uint batched_input_offset =
                    tmp_input_offset + obi * input_b_pitch;
                in[obi] = UNIT_BLOCK_READ2(input, batched_input_offset);
            }

            unroll_for (uint ofi = 0; ofi < FSV; ++ofi)
            {
                // Read weights - OUTPUT_BLOCK_SIZE_F out_f
                const uint feature_weights_offset = tmp_weights_offset + ofi * weights_i_pitch;
                UNIT_TYPE2 w = UNIT_BLOCK_READ2(weights, feature_weights_offset);

                unroll_for (uint obi = 0; obi < OUTPUT_BLOCK_SIZE_B; ++obi)
                {
                    UNIT_TYPE in_val = intel_sub_group_shuffle(in[obi][ofi / SUB_GROUP_SIZE],
                                                               ofi % SUB_GROUP_SIZE);
                    out[obi] = mad(w, in_val, out[obi]);
                }
            }
            // Move temporary offsets to next spatial (x/y)
            tmp_input_offset += FSV;
            tmp_weights_offset += FSV;
        }
        // Move input offset to next feature slice (FSV features)
        input_offset += input_fs_pitch;
        weights_offset += FSV * weights_i_pitch;
    }

    // ========================================================================
    // Bias
#if BIAS_TERM
    unroll_for (uint obi = 0; obi < OUTPUT_BLOCK_SIZE_B; ++obi)
    {
        const uint bias_index = of;

        UNIT_TYPE2 bias = UNIT_BLOCK_READ2(biases, bias_index);
        out[obi] += bias;
    }
#endif
    // ========================================================================

    // ========================================================================
    // Activation
    unroll_for (uint obi = 0; obi < OUTPUT_BLOCK_SIZE_B; ++obi)
    {
        out[obi] = ACTIVATION(out[obi], NL_M, NL_N);
    }
    // ========================================================================

    // ========================================================================
    // Write output
    uint output_offset = of + ob * OUTPUT_FEATURE_NUM;

    const bool full_of = OUTPUT_FEATURE_NUM % OUTPUT_BLOCK_SIZE_F == 0 || of + OUTPUT_BLOCK_SIZE_F <= OUTPUT_FEATURE_NUM;
    const bool full_ob = OUTPUT_BATCH_NUM % OUTPUT_BLOCK_SIZE_B == 0 || ob + OUTPUT_BLOCK_SIZE_B <= OUTPUT_BATCH_NUM;

    if (full_of && full_ob)
    {
        // Case without bounds checking
        unroll_for (uint obi = 0; obi < OUTPUT_BLOCK_SIZE_B; ++obi)
        {
            UNIT_BLOCK_WRITE2(output, output_offset, out[obi]);
            // Move output offset to next batch
            output_offset += OUTPUT_FEATURE_NUM;
        }
    }
    else
    {
        unroll_for (uint obi = 0; obi < OUTPUT_BLOCK_SIZE_B; ++obi)
        {
            unroll_for (uint ofi = 0; ofi < OUTPUT_BLOCK_SIZE_F_EL_CNT; ++ofi)
            {
                if (ob + obi < OUTPUT_BATCH_NUM && of + ofi * SUB_GROUP_SIZE + sglid < OUTPUT_FEATURE_NUM)
                {
                    const uint feature_output_offset = output_offset + ofi * SUB_GROUP_SIZE + sglid;
                    output[feature_output_offset] = out[obi][ofi];
                }
            }
            // Move output offset to next batch
            output_offset += OUTPUT_FEATURE_NUM;
        }
    }
    // ========================================================================
}

// Copyright (c) 2019 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

// Copyright (c) 2019 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)


#ifndef UNIT_TYPE
#error Unit type not defined.
#endif

#if UNIT_TYPE_SIZE == 2
// 2 byte data type case (ex. half)
#define UNIT_BLOCK_RW_TYPE ushort
#define UNIT_BLOCK_READ_FUNC intel_sub_group_block_read_us
#define UNIT_BLOCK_WRITE_FUNC intel_sub_group_block_write_us
#elif UNIT_TYPE_SIZE == 4
// 4 byte data type case (ex. float)
#define UNIT_BLOCK_RW_TYPE uint
#define UNIT_BLOCK_READ_FUNC intel_sub_group_block_read
#define UNIT_BLOCK_WRITE_FUNC intel_sub_group_block_write
#else
#error Unsupported unit type for block read/write.
#endif

#define UNIT_TYPE2 MAKE_VECTOR_TYPE(UNIT_TYPE, 2)
#define UNIT_TYPE4 MAKE_VECTOR_TYPE(UNIT_TYPE, 4)
#define UNIT_TYPE8 MAKE_VECTOR_TYPE(UNIT_TYPE, 8)

#define UNIT_BLOCK_RW_TYPE2 MAKE_VECTOR_TYPE(UNIT_BLOCK_RW_TYPE, 2)
#define UNIT_BLOCK_RW_TYPE4 MAKE_VECTOR_TYPE(UNIT_BLOCK_RW_TYPE, 4)
#define UNIT_BLOCK_RW_TYPE8 MAKE_VECTOR_TYPE(UNIT_BLOCK_RW_TYPE, 8)

#define AS_TYPE(type, val) CAT(as_, type)(val)

#define UNIT_BLOCK_READ_FUNC2 CAT(UNIT_BLOCK_READ_FUNC, 2)
#define UNIT_BLOCK_READ_FUNC4 CAT(UNIT_BLOCK_READ_FUNC, 4)
#define UNIT_BLOCK_READ_FUNC8 CAT(UNIT_BLOCK_READ_FUNC, 8)

#define UNIT_BLOCK_WRITE_FUNC2 CAT(UNIT_BLOCK_WRITE_FUNC, 2)
#define UNIT_BLOCK_WRITE_FUNC4 CAT(UNIT_BLOCK_WRITE_FUNC, 4)
#define UNIT_BLOCK_WRITE_FUNC8 CAT(UNIT_BLOCK_WRITE_FUNC, 8)

#define UNIT_BLOCK_READ(ptr, offset)  AS_TYPE(UNIT_TYPE,  UNIT_BLOCK_READ_FUNC( (const __global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset)))
#define UNIT_BLOCK_READ2(ptr, offset) AS_TYPE(UNIT_TYPE2, UNIT_BLOCK_READ_FUNC2((const __global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset)))
#define UNIT_BLOCK_READ4(ptr, offset) AS_TYPE(UNIT_TYPE4, UNIT_BLOCK_READ_FUNC4((const __global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset)))
#define UNIT_BLOCK_READ8(ptr, offset) AS_TYPE(UNIT_TYPE8, UNIT_BLOCK_READ_FUNC8((const __global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset)))

#define UNIT_BLOCK_WRITE(ptr, offset, val)  UNIT_BLOCK_WRITE_FUNC( (__global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset), AS_TYPE(UNIT_BLOCK_RW_TYPE,  val))
#define UNIT_BLOCK_WRITE2(ptr, offset, val) UNIT_BLOCK_WRITE_FUNC2((__global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset), AS_TYPE(UNIT_BLOCK_RW_TYPE2, val))
#define UNIT_BLOCK_WRITE4(ptr, offset, val) UNIT_BLOCK_WRITE_FUNC4((__global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset), AS_TYPE(UNIT_BLOCK_RW_TYPE4, val))
#define UNIT_BLOCK_WRITE8(ptr, offset, val) UNIT_BLOCK_WRITE_FUNC8((__global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset), AS_TYPE(UNIT_BLOCK_RW_TYPE8, val))


#define unroll_for __attribute__((opencl_unroll_hint)) for

#define INPUT0_SIZE_X_WITH_PADDING (INPUT0_PAD_BEFORE_SIZE_X + INPUT0_SIZE_X + INPUT0_PAD_AFTER_SIZE_X)
#define INPUT0_SIZE_Y_WITH_PADDING (INPUT0_PAD_BEFORE_SIZE_Y + INPUT0_SIZE_Y + INPUT0_PAD_AFTER_SIZE_Y)

// ============================================================================
// Required JIT definitions:
// ----------------------------------------------------------------------------
// SUB_GROUP_SIZE      - [int] sub-group/simd size. Limited to 16.
// WG_HEIGHT           - [int] number of sub-groups in work-group along b dimension.
// OUTPUT_BLOCK_SIZE_B - [int] number of batches to process by one thread.
// ============================================================================

#define FSV 32
#define OUTPUT_BLOCK_SIZE_F 32
#define OUTPUT_BLOCK_SIZE_F_EL_CNT 2

__attribute__((intel_reqd_sub_group_size(SUB_GROUP_SIZE)))
__attribute__((reqd_work_group_size(1, WG_HEIGHT, SUB_GROUP_SIZE)))
KERNEL(fully_connected_gpu_fs_byx_fsv32)(
    const __global UNIT_TYPE* input,
    __global UNIT_TYPE* output,
    const __global UNIT_TYPE* weights
#if BIAS_TERM
    , const __global UNIT_TYPE* biases
#endif
)
{
    const uint of = get_group_id(0) * OUTPUT_BLOCK_SIZE_F;
#if WG_HEIGHT == 1
    const uint ob = get_group_id(1) * OUTPUT_BLOCK_SIZE_B;
#else
    const uint ob = (get_group_id(1) * WG_HEIGHT + get_sub_group_id()) * OUTPUT_BLOCK_SIZE_B;

    // In case batch number is not evenly divisible by work-group processed batch number,
    // early return threads from work-group that target batches outside.
    if (OUTPUT_BATCH_NUM % (WG_HEIGHT * OUTPUT_BLOCK_SIZE_B) != 0 && ob > OUTPUT_BATCH_NUM)
        return;
#endif
    const uint sglid = get_sub_group_local_id();

    UNIT_TYPE2 in[OUTPUT_BLOCK_SIZE_B] = { };
    UNIT_TYPE2 out[OUTPUT_BLOCK_SIZE_B] = { };

    unroll_for (uint oi = 0; oi < OUTPUT_BLOCK_SIZE_B; ++oi)
    {
        out[oi] = UNIT_VAL_ZERO;
    }
    // ========================================================================
    // [constexpr] Input and weight pitches
    const uint input_x_pitch = FSV;
    const uint input_y_pitch = input_x_pitch * INPUT0_SIZE_X_WITH_PADDING;
    const uint input_b_pitch = input_y_pitch * INPUT0_SIZE_Y_WITH_PADDING;
    const uint input_fs_pitch = input_b_pitch * INPUT0_BATCH_NUM;

    const uint weights_x_pitch = FSV;
    const uint weights_y_pitch = weights_x_pitch * INPUT0_SIZE_X;
    const uint weights_i_pitch = weights_y_pitch * INPUT0_SIZE_Y;
    const uint weights_os_pitch = weights_i_pitch * INPUT0_FEATURE_NUM;
    // ========================================================================

    // Input offset adjustement by padding
    const uint input_base_offset = INPUT0_PAD_BEFORE_SIZE_X * input_x_pitch
                                 + INPUT0_PAD_BEFORE_SIZE_Y * input_y_pitch;
    uint input_offset = input_base_offset + ob * input_b_pitch;
    uint weights_offset = (of / FSV) * weights_os_pitch;
    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif

/*
// Copyright (c) 2018 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

inline int FUNC(imad_SW)(int acc, uchar4 input, char4 weight) __attribute__((overloadable)) {
    acc += input[0] * weight[0];
    acc += input[1] * weight[1];
    acc += input[2] * weight[2];
    acc += input[3] * weight[3];
    return acc;
}

inline int FUNC(imad_SW)(int acc, char4 input, char4 weight) __attribute__((overloadable)) {
    acc += input[0] * weight[0];
    acc += input[1] * weight[1];
    acc += input[2] * weight[2];
    acc += input[3] * weight[3];
    return acc;
}


#define IMAD(_O, _I, _W) FUNC_CALL(imad_SW)(_O, _I, _W)


#define SIMD_SIZE         16
#define BYTES_PER_READ    (sizeof(int))
#define BYTES_PER_READ8   (8 * BYTES_PER_READ)

__attribute__((intel_reqd_sub_group_size(SIMD_SIZE)))
KERNEL(fully_connected_gpu_IMAD)(
    const __global INPUT0_TYPE* input,
    __global OUTPUT_TYPE* output,
    const __global FILTER_TYPE* weights
#if BIAS_TERM
    , const __global BIAS_TYPE* biases
#endif
#if QUANTIZATION_TERM
    ,const __global float* quantizations
#endif
#if CALIBRATION_TERM
    ,const __global float* calibrations
#endif
    )
{
    // This kernel works with linearized data w/o strides and padding
    // so only one dimension 'F' is required
    const uint f = get_global_id(0);
    const uint b = get_global_id(1);

    if (f >= OUTPUT_FEATURE_NUM) {
        return;
    }

    int dotProd = 0;

    uint idx_w = ((f / SIMD_SIZE) * SIMD_SIZE) * INPUT0_FEATURE_NUM;
    const __global INPUT0_TYPE* current_input = &input[GET_DATA_INDEX(INPUT0, b, 0, 0, 0)];

    for (uint idx_i = 0; idx_i < INPUT0_FEATURE_NUM; idx_i += BYTES_PER_READ8) {
        int input_data = as_int(intel_sub_group_block_read((const __global uint*)(current_input + idx_i)));
        int8 activations;  //activations of all lanes
        activations.s0 = sub_group_broadcast(input_data, 0);
        activations.s1 = sub_group_broadcast(input_data, 1);
        activations.s2 = sub_group_broadcast(input_data, 2);
        activations.s3 = sub_group_broadcast(input_data, 3);
        activations.s4 = sub_group_broadcast(input_data, 4);
        activations.s5 = sub_group_broadcast(input_data, 5);
        activations.s6 = sub_group_broadcast(input_data, 6);
        activations.s7 = sub_group_broadcast(input_data, 7);

        int8 weights_data = as_int8(intel_sub_group_block_read8((const __global uint*)(weights + idx_w)));
        idx_w += SIMD_SIZE * BYTES_PER_READ8;

        for (int i = 0; i < 8; i++) {
            dotProd = IMAD(dotProd, as_char4(activations[i]), as_char4(weights_data[i]));
        }
    }

#if BIAS_TERM
#if   BIAS_PER_OUTPUT
    const uint bias_index = GET_DATA_INDEX(BIAS, b, f, y, x);
#elif BIAS_PER_OFM
    const uint bias_index = f;
#endif
#if CALIBRATION_TERM
    dotProd = (UNIT_TYPE)round(((float)dotProd * quantizations[f] * I_QF + biases[bias_index]) * calibrations[f]);
#else  // CALIBRATION_TERM
    dotProd = (UNIT_TYPE)round(((float)dotProd * quantizations[f] * I_QF + biases[bias_index]) * O_QF);
#endif // CALIBRATION_TERM
#endif // BIAS_TERM

    const uint out_index = GET_DATA_INDEX(OUTPUT, b, f, 0, 0);
    output[out_index] = ACTIVATION(convert_char(dotProd), NL_M, NL_N);
}

#undef SIMD_SIZE
#undef BYTES_PER_READ
#undef BYTES_PER_READ8

	idx += os_idx * (f_32_aligned/32) * size_y * size_x * 4 * 8 * 8;

    return idx;
}

#define GET_FILTER_OS_IS_YX_ISA8_OSV8_ISV4(prefix, o, i, y, x) \
	FUNC_CALL(get_os_is_yx_isa8_osv8_isv4_index)(                               \
        o, i, y, x, CAT(prefix, _SIZE_X ),                                      \
        CAT(prefix, _SIZE_Y),                                                \
        CAT(prefix, _IFM_NUM),                                                  \
        CAT(prefix, _OFM_NUM),                                                  \
        CAT(prefix, _OFFSET))

inline uint FUNC(get_os_is_yx_isa8_osv8_isv4_swizzled_by_4_index)(uint o, uint i, uint y, uint x, uint size_x, uint size_y, uint size_ifm, uint size_ofm, uint offset)
{
    const uint o_swizzled = (o % 4) * 8 + ((o % 32) / 4) + (o / 32) * 32;

    const uint f_32_aligned = ((size_ifm + 31)/32) * 32;
	const uint isv2_idx = i % 4;
	const uint osv_idx = o_swizzled % 8;
	const uint isv1_idx = (i / 4) % 8;
	const uint is_idx = i / 32;
	const uint os_idx = o_swizzled / 8;

	size_t idx = offset + isv2_idx + 4 * (osv_idx + 8 * isv1_idx);
	idx += x * 4 * 8 * 8;
	idx += y * size_x * 4 * 8 * 8;
	idx += is_idx * size_y * size_x * 4 * 8 * 8;
	idx += os_idx * (f_32_aligned/32) * size_y * size_x * 4 * 8 * 8;

    return idx;
}

#define GET_FILTER_OS_IS_YX_ISA8_OSV8_ISV4_SWIZZLED_BY_4_INDEX(prefix, o, i, y, x) \
	FUNC_CALL(get_os_is_yx_isa8_osv8_isv4_swizzled_by_4_index)(                    \
        o, i, y, x, CAT(prefix, _SIZE_X ),                                      \
        CAT(prefix, _SIZE_Y),                                                \
        CAT(prefix, _IFM_NUM),                                                  \
        CAT(prefix, _OFM_NUM),                                                  \
        CAT(prefix, _OFFSET))


inline uint FUNC(get_is_o_yx_isv32_index)(uint o, uint i, uint y, uint x, uint i_size, uint o_size, uint x_size, uint y_size)
{
    const uint i_aligned_to_32 = ((i_size + 31) / 32) * 32;
    const uint i_val = i % 32;
    const uint i_slice = i / 32;
    const size_t idx = i_val + 32* (x + x_size * (y + y_size * (o + o_size * i_slice) ) );
    return idx;
}

#define GET_FILTER_IS_O_YX_ISV32(prefix, o, i, y, x)\
    FUNC_CALL(get_is_o_yx_isv32_index)(\
        o, i, y, x, CAT(prefix, _IFM_NUM),\
        CAT(prefix, _OFM_NUM),\
        CAT(prefix, _SIZE_X),\
        CAT(prefix, _SIZE_Y))

inline uint FUNC(get_is_o32_yx_isv32_swizzled_by_4_index)(uint o, uint i, uint y, uint x, uint i_size, uint o_size, uint x_size, uint y_size)
{
    const uint o_aligned_to_32 = ((o_size + 31) / 32) * 32;
    const uint o_swizzled = (o % 4) * 8 + ((o % 32) / 4) + (o / 32) * 32;
    const uint i_aligned_to_32 = ((i_size + 31) / 32) * 32;
    const uint i_val = i % 32;
    const uint i_slice = i / 32;
    const size_t idx = i_val + 32* (x + x_size * (y + y_size * (o_swizzled + o_aligned_to_32 * i_slice) ) );
    return idx;
}

#define GET_FILTER_IS_O32_YX_ISV32_SWIZZLED_BY_4(prefix, o, i, y, x)\
    FUNC_CALL(get_is_o32_yx_isv32_swizzled_by_4_index)(\
        o, i, y, x, CAT(prefix, _IFM_NUM),\
        CAT(prefix, _OFM_NUM),\
        CAT(prefix, _SIZE_X),\
        CAT(prefix, _SIZE_Y))

inline uint FUNC(get_os_is_y_x8_osv8_isv4_index)(uint o, uint i, uint y, uint x, uint i_size, uint o_size, uint x_size, uint y_size)
{
    const uint i_aligned_to_4 = ((i_size + 3) / 4) * 4;
    const uint o_aligned_to_8 = ((o_size + 7) / 8) * 8;
    const uint x_aligned_to_8 = ((x_size + 7) / 8) * 8;
    const uint i_val = i % 4;
    const uint i_slice = i / 4;
    const uint o_val = o % 8;
    const uint o_slice = o / 8;
    const size_t idx = i_val + 4 * (o_val + 8 * ( x + x_aligned_to_8 * (y + y_size * (i_slice + (i_aligned_to_4/4) * (o_slice)))));
    return idx;
}

#define GET_FILTER_OS_IS_Y_X8_OSV8_ISV4(prefix, o, i, y, x)\
    FUNC_CALL(get_os_is_y_x8_osv8_isv4_index)(\
        o, i, y, x, CAT(prefix, _IFM_NUM),\
        CAT(prefix, _OFM_NUM),\
        CAT(prefix, _SIZE_X),\
        CAT(prefix, _SIZE_Y))

inline uint FUNC(get_os_is_y_x8_osv8_isv4_swizzled_by_4_index)(uint o, uint i, uint y, uint x, uint i_size, uint o_size, uint x_size, uint y_size)
{
    const uint i_aligned_to_4 = ((i_size + 3) / 4) * 4;
    const uint o_aligned_to_8 = ((o_size + 7) / 8) * 8;
    const uint x_aligned_to_8 = ((x_size + 7) / 8) * 8;
    const uint i_val = i % 4;
    const uint i_slice = i / 4;
    const uint o_swizzled = (o % 4) * 8 + ((o % 32) / 4) + (o / 32) * 32;
    const uint o_val = o_swizzled % 8;
    const uint o_slice = o_swizzled / 8;
    const size_t idx = i_val + 4 * (o_val + 8 * ( x + x_aligned_to_8 * (y + y_size * (i_slice + (i_aligned_to_4/4) * (o_slice)))));
    return idx;
}

#define GET_FILTER_OS_IS_Y_X8_OSV8_ISV4_SWIZZLED_BY_4(prefix, o, i, y, x)\
    FUNC_CALL(get_os_is_y_x8_osv8_isv4_swizzled_by_4_index)(\
        o, i, y, x, CAT(prefix, _IFM_NUM),\
        CAT(prefix, _OFM_NUM),\
        CAT(prefix, _SIZE_X),\
        CAT(prefix, _SIZE_Y))


#define GET_DATA_B_FS_YX_FSV4_INDEX(prefix, o, i, y, x)\
    FUNC_CALL(get_b_fs_yx_fsv4)(\
        o, i, y, x,\
        CAT(prefix, _FEATURE_NUM),\
        CAT(prefix, _PAD_BEFORE_SIZE_Y), CAT(prefix, _SIZE_Y), CAT(prefix, _PAD_AFTER_SIZE_Y),\
        CAT(prefix, _PAD_BEFORE_SIZE_X), CAT(prefix, _SIZE_X), CAT(prefix, _PAD_AFTER_SIZE_X))

inline uint FUNC(get_b_fs_yx_fsv4)(uint o, uint i, uint y, uint x,
                                   uint feature_num,
                                   uint pad_before_size_y, uint size_y, uint pad_after_size_y,
                                   uint pad_before_size_x, uint size_x, uint pad_after_size_x)
{
    const uint tile = 4;
    uint id_tile = i / tile;
    uint id      = i - id_tile * tile;

    const uint feature_num_aligned4 = ((feature_num + 3) / 4) * 4;

    uint idx = o * (feature_num_aligned4 / tile) *
                   (pad_before_size_y + size_y + pad_after_size_y) *
                   (pad_before_size_x + size_x + pad_after_size_x) * tile
               + id_tile * (pad_before_size_y + size_y + pad_after_size_y) *
                           (pad_before_size_x + size_x + pad_after_size_x) * tile
               + pad_before_size_y * (pad_before_size_x + size_x + pad_after_size_x) * tile
               + y * (pad_before_size_x + size_x + pad_after_size_x) * tile
               + pad_before_size_x * tile
               + x * tile
               + id;

    return idx;
}

#define GET_FILTER_OS_IS_YX_OSV16_ISV4_INDEX(prefix, o, i, y, x)\
    FUNC_CALL(get_os_is_yx_osv16_isv4)(\
        o, i, y, x,\
        CAT(prefix, _IFM_PITCH),\
        CAT(prefix, _OFM_PITCH),\
        CAT(prefix, _SIZE_X))

inline uint FUNC(get_os_is_yx_osv16_isv4)(uint o, uint i, uint y, uint x,
                                          uint i_size,
                                          uint o_size,
                                          uint x_size)
{
    const uint otd = 16;
    uint out_depth_tile = o / otd;
    uint od             = o - out_depth_tile * otd;

    const uint tile = 4;
    uint id_tile = i / tile;
    uint id      = i - id_tile * tile;

    uint idx = out_depth_tile * (o_size / tile) * otd * tile
               + id_tile               * i_size * otd * tile
               + y                     * x_size * otd * tile
               + x                              * otd * tile
               + od                                   * tile
               + id;

    return idx;
}

#define GET_DATA_FS_B_YX_FSV32_INDEX(prefix, b, f, y, x)\
    FUNC_CALL(get_fs_b_yx_fsv32_index)(                 \
        b, f, y, x,                                     \
        CAT(prefix, _PAD_BEFORE_SIZE_X),                \
        CAT(prefix, _SIZE_X),                           \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

	const uint f_aligned_to_32 = ((f_size + 31) / 32) * 32;
	const uint b_offset = b * b_pitch;
	const uint xy_offset = f_aligned_to_32 * x + y_pitch * y;
	const uint f_offset = f;
	const size_t idx = offset + xy_offset + b_offset + f_offset;
	return idx;
}

#define GET_DATA_BYXF_AF32_INDEX(prefix, b, f, y, x)\
	FUNC_CALL(get_byxf_af32_index)(                 \
		b, f, y, x, CAT(prefix, _Y_PITCH),          \
		CAT(prefix, _BATCH_PITCH),                      \
		CAT(prefix, _FEATURE_NUM),                 \
		CAT(prefix, _OFFSET))

inline uint FUNC(get_byx8_f4_index)(uint b, uint f, uint y, uint x,
    uint x_pitch, uint y_pitch, uint b_pitch, uint f_size, uint x_size, uint offset)
{
    const uint f_aligned_to_4 = ((f_size + 3) / 4) * 4;
    const uint x_aligned_to_8 = ((x_size + 7) / 8) * 8;
    const uint b_offset = b * b_pitch;
    const uint xy_offset = x * x_pitch + y * y_pitch;
    const uint f_offset = f;
    const size_t idx = offset + xy_offset + b_offset + f_offset;
    return idx;
}

#define GET_DATA_BYX8_F4_INDEX(prefix, b, f, y, x)\
	FUNC_CALL(get_byx8_f4_index)(                 \
		b, f, y, x, CAT(prefix, _X_PITCH),          \
		CAT(prefix, _Y_PITCH),                      \
		CAT(prefix, _BATCH_PITCH),                      \
		CAT(prefix, _FEATURE_NUM),                 \
		CAT(prefix, _SIZE_X),                 \
		CAT(prefix, _OFFSET))

#define GET_DATA_BF8_XY16_INDEX(prefix, b, f, y, x)     \
    FUNC_CALL(get_bf8_xy16_index)(                      \
        b, f, y, x, CAT(prefix, _SIZE_X ),              \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _FEATURE_NUM),                      \
        CAT(prefix, _OFFSET))

inline uint FUNC(get_fs_bs_yx_bsv4_fsv32_index)(uint b, uint f, uint y, uint x,
    uint x_pad_before, uint x_size, uint x_pad_after,
    uint y_pad_before, uint y_size, uint y_pad_after,
    uint size_f, uint size_b)
{
    const uint f_32_aligned = ((size_f + 31)/32) * 32;
    const uint b_4_aligned = ((size_b + 3)/4) * 4;
    const uint fsv_idx = f % 32;
    const uint bsv_idx = b % 4;
    const uint fs_idx = f / 32;
    const uint bs_idx = b / 4;

    const uint x_pitch = 32 * 4;
    const uint y_pitch = 32 * 4 * (x_pad_before + x_size + x_pad_after);
    const uint bs_pitch = y_pitch * (y_pad_before + y_size + y_pad_after);
    const uint fs_pitch = bs_pitch * (b_4_aligned / 4);
    uint offset = x_pitch * x_pad_before + y_pitch * y_pad_before;

    size_t idx = offset + fsv_idx + bsv_idx * 32;
    idx += 32*4 * x;
    idx += y * y_pitch;
    idx += bs_idx * bs_pitch;
    idx += fs_idx * fs_pitch;

    return idx;
}

#define GET_DATA_FS_BS_YX_BSV4_FSV32_INDEX(prefix, b, f, y, x)\
	FUNC_CALL(get_fs_bs_yx_bsv4_fsv32_index)(       \
		b, f, y, x,                                 \
        CAT(prefix, _PAD_BEFORE_SIZE_X),            \
        CAT(prefix, _SIZE_X),                       \
        CAT(prefix, _PAD_AFTER_SIZE_X),             \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),            \
        CAT(prefix, _SIZE_Y),                       \
        CAT(prefix, _PAD_AFTER_SIZE_Y),             \
		CAT(prefix, _FEATURE_NUM),                  \
        CAT(prefix, _BATCH_NUM))

#define GET_FILTER_INDEX(prefix, o, i, y, x)    \
    CAT(prefix, _OFFSET) +                      \
    (x)*CAT(prefix, _X_PITCH) +                 \
    (y)*CAT(prefix, _Y_PITCH) +                 \
    (i)*CAT(prefix, _IFM_PITCH) +               \
    (o)*CAT(prefix, _OFM_PITCH)

#define GET_FILTER_INDEX_SAFE(prefix, o, i, y, x)           \
    CAT(prefix, _OFFSET) +                                  \
    (x % CAT(prefix, _SIZE_X ))*CAT(prefix, _X_PITCH) +     \
    (y % CAT(prefix, _SIZE_Y ))*CAT(prefix, _Y_PITCH) +     \
    (i % CAT(prefix, _IFM_NUM))*CAT(prefix, _IFM_PITCH) +   \
    (o % CAT(prefix, _OFM_NUM))*CAT(prefix, _OFM_PITCH)

#define GET_FILTER_OS_IYX_OSV8_INDEX(prefix, o, i, y, x, sub_group_size)    \
    CAT(prefix, _OFFSET) +                                                  \
    ((o) % (sub_group_size)) +                                              \
    (sub_group_size)*(                                                      \
        (x)*CAT(prefix, _X_PITCH) +                                         \
        (y)*CAT(prefix, _Y_PITCH) +                                         \
        (i)*CAT(prefix, _IFM_PITCH) +                                       \
        ((o) / (sub_group_size))*CAT(prefix, _OFM_PITCH)                    \
    )

#define GET_FILTER_OS_IYX_OSV8_ROTATE_180_INDEX(prefix, o, i, y, x, sub_group_size)    \
    CAT(prefix, _OFFSET) +                                                  \
    ((o) % (sub_group_size)) +                                              \
    (sub_group_size)*(                                                      \
        (CAT(prefix, _SIZE_X ) - x - 1)*CAT(prefix, _X_PITCH) +             \
        (CAT(prefix, _SIZE_Y ) - y - 1)*CAT(prefix, _Y_PITCH) +             \
        (i)*CAT(prefix, _IFM_PITCH) +                                       \
        ((o) / (sub_group_size))*CAT(prefix, _OFM_PITCH)                    \
    )

inline uint FUNC(get_i_yxs_os_yxsv2_osv_index)(uint o, uint i, uint y, uint x, uint x_size, uint i_pitch, uint y_pitch, uint x_pitch, uint offset, uint sub_group_size)
{
    const uint aligned_ofm_line = x_pitch;
    const uint ifm_height_pitch = (i_pitch/aligned_ofm_line);
    const uint dst_height = i*ifm_height_pitch + y*x_size + x;
    const uint base_filter_index = y*x_size + x;

    const uint aligned_height = dst_height & 0xfffffffe;
    const uint base_filter_odd = (base_filter_index & 0x1);

    uint slice_id = o / sub_group_size;
    uint id_in_slice = o % sub_group_size;
    uint slice_pitch = 2*sub_group_size;
    uint offset_in_slice = (int)(sub_group_size*base_filter_odd);

    const uint in_line = (slice_pitch*slice_id + offset_in_slice + id_in_slice);
    const size_t idx = offset + aligned_height*aligned_ofm_line + in_line;

    return idx;
}

#define GET_FILTER_I_YXS_OS_YXSV2_OSV_INDEX(prefix, o, i, y, x, sub_group_size) \
    FUNC_CALL(get_i_yxs_os_yxsv2_osv_index)(                                    \
        o, i, y, x, CAT(prefix, _SIZE_X ),                                      \
        CAT(prefix, _IFM_PITCH),                                                \
        CAT(prefix, _Y_PITCH),                                                  \
        CAT(prefix, _X_PITCH),                                                  \
        CAT(prefix, _OFFSET),                                                   \
        sub_group_size)

inline uint FUNC(get_iy_xs_os_xsv2_osv_index)(uint o, uint i, uint y, uint x, uint x_size, uint i_pitch, uint y_pitch, uint x_pitch, uint offset, uint sub_group_size)
{
    const uint aligned_ofm_line = x_pitch;
    const uint ifm_height_pitch = (i_pitch/aligned_ofm_line);
    const uint aligned_x_line = y_pitch / x_pitch;
    const uint dst_height = i*ifm_height_pitch + y*aligned_x_line + x;
    const uint base_filter_index = x;

    const uint aligned_height = dst_height & 0xfffffffe;
    const uint base_filter_odd = (base_filter_index & 0x1);

    uint slice_id = o / sub_group_size;
    uint id_in_slice = o % sub_group_size;
    uint slice_pitch = 2*sub_group_size;
    uint offset_in_slice = (int)(sub_group_size*base_filter_odd);

    const bool last_line_in_base_filter = (x == (x_size - 1));
    if (last_line_in_base_filter && base_filter_odd == 0)
    {
        const uint element_in_slice = 32;
        slice_id = o / element_in_slice;
        id_in_slice = o % element_in_slice;
        slice_pitch = 2*element_in_slice;
        offset_in_slice = 0;
    }

    const uint in_line = (slice_pitch*slice_id + offset_in_slice + id_in_slice);
    const size_t idx = offset + aligned_height*aligned_ofm_line + in_line;

    return idx;
}

#define GET_FILTER_IY_XS_OS_XSV2_OSV_INDEX(prefix, o, i, y, x, sub_group_size)  \
    FUNC_CALL(get_iy_xs_os_xsv2_osv_index)(                                     \
        o, i, y, x, CAT(prefix, _SIZE_X ),                                      \
        CAT(prefix, _IFM_PITCH),                                                \
        CAT(prefix, _Y_PITCH),                                                  \
        CAT(prefix, _X_PITCH),                                                  \
        CAT(prefix, _OFFSET),                                                   \
        sub_group_size)

inline uint FUNC(get_os_is_yx_isa8_osv8_isv4_index)(uint o, uint i, uint y, uint x, uint size_x, uint size_y, uint size_ifm, uint size_ofm, uint offset)
{
    const uint f_32_aligned = ((size_ifm + 31)/32) * 32;
	const uint isv2_idx = i % 4;
	const uint osv_idx = o % 8;
	const uint isv1_idx = (i / 4) % 8;
	const uint is_idx = i / 32;
	const uint os_idx = o / 8;

	size_t idx = offset + isv2_idx + 4 * (osv_idx + 8 * isv1_idx);
	idx += x * 4 * 8 * 8;
	idx += y * size_x * 4 * 8 * 8;
	idx += is_idx * size_y * size_x * 4 * 8 * 8;
// Copyright (c) 2019 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))


/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/


#define GET_DATA_INDEX(prefix, b, f, y, x)  \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_INDEX_SAFE(prefix, b, f, y, x)                     \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

 #define GET_3D_DATA_INDEX(prefix, b, f, z, y, x) \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (z)*CAT(prefix, _Z_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_3D_DATA_INDEX_SAFE(prefix, b, f, z, y, x)               \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (z % CAT(prefix, _SIZE_Z     ))*CAT(prefix, _Z_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_BS_FYX_BSV8_INDEX(prefix, b, f, y, x, sub_group_size)  \
    CAT(prefix, _OFFSET) +                                              \
    ((b) % (sub_group_size)) +                                          \
    (sub_group_size)*(                                                  \
        (x)*CAT(prefix, _X_PITCH) +                                     \
        (y)*CAT(prefix, _Y_PITCH) +                                     \
        (f)*CAT(prefix, _FEATURE_PITCH) +                               \
        ((b) / (sub_group_size))*CAT(prefix, _BATCH_PITCH)              \
    )

inline uint FUNC(get_bf8_xy16_index)(uint b, uint f, uint y, uint x, uint x_size, uint y_size, uint f_size, uint offset)
{
    const uint xy_idx = x + y * x_size;
    const uint xy_offset = (xy_idx % 16) + (xy_idx / 16) * 16 * 8;
    const uint xy_block_num = (x_size * y_size + 16 - 1) / 16;
    const uint f_offset = (f % 8) * 16 + (f / 8) * xy_block_num * 16 * 8;
    const uint f_block_num = (f_size + 8 - 1) / 8;
    const uint b_offset = b * f_block_num * xy_block_num * 128;

    const size_t idx = offset + xy_offset + f_offset + b_offset;

    return idx;
}

inline uint FUNC(get_bfyx_f16_index)(
    uint b, uint f, uint y, uint x,
    uint x_size, uint y_size, uint f_size,
    uint y_pad_before,uint y_pad_after,
    uint x_pad_before, uint x_pad_after,
    uint f_pad_before, uint f_pad_after)
{
    const uint feature_slice_size = 16;

    const uint full_width = x_size + x_pad_before + x_pad_after;
    const uint full_height = y_size + y_pad_before + y_pad_after;
    const uint full_features = f_pad_before + f_size + f_pad_after;
    const uint feature_tiles_number = (full_features + feature_slice_size - 1) / feature_slice_size;

    const uint x_pitch = feature_slice_size;
    const uint y_pitch = x_pitch * full_width;
    const uint fs_pitch = y_pitch * full_height;
    const uint b_pitch = fs_pitch * feature_tiles_number;

    const uint x_offset = (x + x_pad_before) * x_pitch;
    const uint y_offset = (y + y_pad_before) * y_pitch;
    const uint fs_offset = (f / feature_slice_size + f_pad_before / feature_slice_size) * fs_pitch;
    const uint b_offset = b * b_pitch;

    const size_t idx = x_offset + y_offset + fs_offset + b_offset + (f % feature_slice_size);

    return idx;
}

#define GET_DATA_BFYX_F16_INDEX(prefix, b, f, y, x)     \
    FUNC_CALL(get_bfyx_f16_index)(                      \
        b, f, y, x,                                     \
        CAT(prefix, _SIZE_X ),                          \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _FEATURE_NUM),                      \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_X),                \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _PAD_AFTER_FEATURE_NUM))

#define GET_FILTER_O_I_YX_I16_O16_INDEX(prefix, o, i, y, x, sub_group_size)  \
    CAT(prefix, _OFFSET) +                                                   \
    ((o) % (sub_group_size)) +                                               \
    (sub_group_size)*(                                                       \
        (x)*(sub_group_size)*CAT(prefix, _X_PITCH) +                         \
        (y)*(sub_group_size)*CAT(prefix, _Y_PITCH) +                         \
        ((i) % (sub_group_size)) +                                           \
        ((i) / (sub_group_size))*(sub_group_size)*CAT(prefix, _IFM_PITCH) +  \
        ((o) / (sub_group_size))*CAT(prefix, _OFM_PITCH)                     \
    )

inline uint FUNC(get_byxf_af32_index)(uint b, uint f, uint y, uint x, uint y_pitch, uint b_pitch, uint f_size, uint offset)
{
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



KERNEL(fully_connected_gpu_image_tutorial)(
    const __global INPUT0_TYPE* input,
    __global OUTPUT_TYPE* output,
    read_only image2d_t weights
#if BIAS_TERM
    , const __global BIAS_TYPE* biases
#endif
    )
{
    const uint ofm = get_global_id(0);
    const uint b = get_global_id(1);
    DECLARE_SAMPLER;

    ACCUMULATOR_TYPE dotProd = 0;

    for (uint iyx = 0; iyx < (INPUT0_FEATURE_NUM * INPUT0_SIZE_Y * INPUT0_SIZE_X + 3) / 4; ++iyx)
    {
        MAKE_VECTOR_TYPE(UNIT_TYPE, 4) weights_val = IMAGE_READ(weights, (int2)(iyx, ofm));
        const uint input0_idx = INPUT0_OFFSET + b * INPUT0_BATCH_PITCH + iyx * 4;

        dotProd += (ACCUMULATOR_TYPE)(input[input0_idx] * weights_val.x);
        if(iyx*4 + 1 >= INPUT0_BATCH_PITCH) break;
        dotProd += (ACCUMULATOR_TYPE)(input[input0_idx + 1] * weights_val.y);
        if(iyx*4 + 2 >= INPUT0_BATCH_PITCH) break;
        dotProd += (ACCUMULATOR_TYPE)(input[input0_idx + 2] * weights_val.z);
        if(iyx*4 + 3 >= INPUT0_BATCH_PITCH) break;
        dotProd += (ACCUMULATOR_TYPE)(input[input0_idx + 3] * weights_val.w);
    }

    const uint output_idx = GET_DATA_INDEX(OUTPUT, b, ofm, 0, 0);

#if BIAS_TERM
    dotProd += (ACCUMULATOR_TYPE)biases[ofm];
#endif

    output[output_idx] = ACTIVATION((UNIT_TYPE)dotProd, NL_M, NL_N);
    MAKE_VECTOR_TYPE(UNIT_TYPE, 4) weights_val = IMAGE_READ(weights, (int2)(1, 0));
}

fully_connected_gpu_image_tutorial#define MMAD_8(A, B, C) FUNC_CALL(mmad8)(A, B, C)
#define MMAD_4x8(A, B, C) FUNC_CALL(mmad4x8)(A, B, C)
#define MMAD_8x8(A, B, C) FUNC_CALL(mmad8x8)(A, B, C)
#define SLM_BLOCK_WRITE_4(A, B) (FUNC_CALL(intel_sub_group_block_write_4)(A, B))
#define SLM_BLOCK_READ_4(A) (FUNC_CALL(intel_sub_group_block_read_uint4)(A))
#define SLM_BLOCK_READ_8(A) (FUNC_CALL(intel_sub_group_block_read_uint8)(A))


KERNEL(fully_connected_gpu_MMAD)(
    const __global INPUT0_TYPE* input,
    __global OUTPUT_TYPE* output,
    const __global FILTER_TYPE* weights
#if BIAS_TERM
    , const __global BIAS_TYPE* biases
#endif
#if QUANTIZATION_TERM
    ,const __global float* quantizations
#endif
#if CALIBRATION_TERM
    ,const __global float* calibrations
#endif
    )
{
    const uint x = 0;
    const uint y = 0;
#if OUTPUT_BATCH_NUM == 1
    const uint f = get_global_id(2);
    const uint b = 0;
#else
    const uint f = get_global_id(2) % FILTER_OFM_ALIGNED;
    const uint b = get_global_id(2) / FILTER_OFM_ALIGNED;
#endif

    int dotProd = 0;

    const int input_x = x * STRIDE_SIZE_X - PADDING_SIZE_X;
    const int input_y = y * STRIDE_SIZE_Y - PADDING_SIZE_Y;

    const uint in_split_offset = split_idx * INPUT0_FEATURE_PITCH * FILTER_IFM_NUM;

    const uint filter_offset = (get_group_id(2) % FILTER_OFM_MMAD_NUM) * FILTER_OFM_BLOCK_PITCH;
    const uint input_offset = b*INPUT0_BATCH_PITCH + INPUT0_OFFSET + in_split_offset;

    for (uint k = 0; k < FILTER_IFM_MMAD_NUM; ++k)
    {
        for (uint j = 0; j < FILTER_SIZE_Y ; ++j)
        {
            const int input_offset_y = input_y + j * DILATION_SIZE_Y;
            const bool zero_y = input_offset_y >= INPUT0_SIZE_Y || input_offset_y < 0;

            if(!zero_y)
            {
                for (uint i = 0; i < FILTER_SIZE_X ; ++i)
                {
                    const int input_offset_x = input_x + i * DILATION_SIZE_X;
                    const bool zero_x = input_offset_x >= INPUT0_SIZE_X || input_offset_x < 0;

                    if(!zero_x)
                    {
                        uint input_idx = input_offset + (uint)input_offset_x*INPUT0_X_PITCH + (uint)input_offset_y*INPUT0_Y_PITCH + k*32;
                        uint filter_idx = filter_offset + k*FILTER_Y_PITCH * FILTER_SIZE_Y + j*FILTER_Y_PITCH + i*FILTER_X_PITCH;

						int input_data = as_int(intel_sub_group_block_read((const __global uint*)(input + input_idx)));
						int8 activations;  //activations of all lanes
						activations.s0 = sub_group_broadcast(input_data, 0);
                        activations.s1 = sub_group_broadcast(input_data, 1);
                        activations.s2 = sub_group_broadcast(input_data, 2);
                        activations.s3 = sub_group_broadcast(input_data, 3);
                        activations.s4 = sub_group_broadcast(input_data, 4);
                        activations.s5 = sub_group_broadcast(input_data, 5);
                        activations.s6 = sub_group_broadcast(input_data, 6);
                        activations.s7 = sub_group_broadcast(input_data, 7);

						int8 weights_data = as_int8(intel_sub_group_block_read8((const __global uint*)(weights + filter_idx)));

						dotProd = MMAD_8(activations, weights_data, dotProd);
                    }
                }
            }
        }
    }

#if BIAS_TERM
#if   BIAS_PER_OUTPUT
    const uint bias_index = GET_DATA_INDEX(BIAS, b, f, y, x);
#elif BIAS_PER_OFM
    const uint bias_index = f;
#endif
#if CALIBRATION_TERM
    dotProd = (UNIT_TYPE)round(((float)dotProd * quantizations[f] * I_QF + biases[bias_index]) * calibrations[f]);
#else  // CALIBRATION_TERM
    dotProd = (UNIT_TYPE)round(((float)dotProd * quantizations[f] * I_QF + biases[bias_index]) * O_QF);
#endif // CALIBRATION_TERM
#endif // BIAS_TERM

    const uint out_split_offset = split_idx * OUTPUT_FEATURE_PITCH * OUTPUT_FEATURE_NUM;
    const uint dst_index = GET_DATA_INDEX(OUTPUT, b, f, y, x) + out_split_offset;
    output[dst_index] = ACTIVATION(convert_char(dotProd), NL_M, NL_N);
}

#undef FILTER_IFM_MMAD_NUM
#undef FILTER_OFM_MMAD_NUM
#undef FILTER_IFM_ALIGNED
#undef FILTER_OFM_ALIGNED

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

void FUNC(intel_sub_group_block_write_4)( __local uint* p, uint4 data )
{
    p[ get_sub_group_local_id() ] = data.s0;
    p += 8;
    p[ get_sub_group_local_id() ] = data.s1;
    p += 8;
    p[ get_sub_group_local_id() ] = data.s2;
    p += 8;
    p[ get_sub_group_local_id() ] = data.s3;
}

uint4 FUNC(intel_sub_group_block_read_uint4)(const __local uint* p)
{
    uint4 ret;
    uint idx = get_sub_group_local_id();

    ret.s0 = p[idx]; idx += get_max_sub_group_size();
    ret.s1 = p[idx]; idx += get_max_sub_group_size();
    ret.s2 = p[idx]; idx += get_max_sub_group_size();
    ret.s3 = p[idx]; idx += get_max_sub_group_size();

    return ret;
}

uint8 FUNC(intel_sub_group_block_read_uint8)(const __local uint* p)
{
    uint8 ret;
    uint idx = get_sub_group_local_id();

    ret.s0 = p[idx]; idx += get_max_sub_group_size();
    ret.s1 = p[idx]; idx += get_max_sub_group_size();
    ret.s2 = p[idx]; idx += get_max_sub_group_size();
    ret.s3 = p[idx]; idx += get_max_sub_group_size();
    ret.s4 = p[idx]; idx += get_max_sub_group_size();
    ret.s5 = p[idx]; idx += get_max_sub_group_size();
    ret.s6 = p[idx]; idx += get_max_sub_group_size();
    ret.s7 = p[idx]; idx += get_max_sub_group_size();

    return ret;
}

inline int FUNC(mmad_4)(char4 input, char4 weight, int acc)
{
	acc += (input[0] * weight[0]);
	acc += (input[1] * weight[1]);
	acc += (input[2] * weight[2]);
	acc += (input[3] * weight[3]);
	return acc;
}

inline int FUNC(mmad8)(int8 A_scalars, int8 B_vectors, int acc)
{
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[0]), as_char4(B_vectors[0]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[1]), as_char4(B_vectors[1]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[2]), as_char4(B_vectors[2]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[3]), as_char4(B_vectors[3]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[4]), as_char4(B_vectors[4]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[5]), as_char4(B_vectors[5]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[6]), as_char4(B_vectors[6]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[7]), as_char4(B_vectors[7]), acc);

	return acc;
}

inline int4 FUNC(mmad4x8)(int4 A_vectors, int8 B_vectors, int4 acc)
{
    int4 ret;
    for(uint i = 0; i < 4; i++)
    {
        int8 A_scalars;
        A_scalars.s0 = sub_group_broadcast(A_vectors[i], 0);
        A_scalars.s1 = sub_group_broadcast(A_vectors[i], 1);
        A_scalars.s2 = sub_group_broadcast(A_vectors[i], 2);
        A_scalars.s3 = sub_group_broadcast(A_vectors[i], 3);
        A_scalars.s4 = sub_group_broadcast(A_vectors[i], 4);
        A_scalars.s5 = sub_group_broadcast(A_vectors[i], 5);
        A_scalars.s6 = sub_group_broadcast(A_vectors[i], 6);
        A_scalars.s7 = sub_group_broadcast(A_vectors[i], 7);
        ret[i] = FUNC_CALL(mmad8)(A_scalars, B_vectors, acc[i]);
    }
    return ret;
}

inline int8 FUNC(mmad8x8)(int8 A_vectors, int8 B_vectors, int8 acc)
{
    int8 ret;
    for(uint i = 0; i < 8; i++)
    {
        int8 A_scalars;
        A_scalars.s0 = sub_group_broadcast(A_vectors[i], 0);
        A_scalars.s1 = sub_group_broadcast(A_vectors[i], 1);
        A_scalars.s2 = sub_group_broadcast(A_vectors[i], 2);
        A_scalars.s3 = sub_group_broadcast(A_vectors[i], 3);
        A_scalars.s4 = sub_group_broadcast(A_vectors[i], 4);
        A_scalars.s5 = sub_group_broadcast(A_vectors[i], 5);
        A_scalars.s6 = sub_group_broadcast(A_vectors[i], 6);
        A_scalars.s7 = sub_group_broadcast(A_vectors[i], 7);
        ret[i] = FUNC_CALL(mmad8)(A_scalars, B_vectors, acc[i]);
    }
    return ret;
}

// TODO: remove it when cl_intel_subgroups_char extension will work
inline void FUNC(sub_group_block_write_uchar8)(__global uchar* outPtr, uchar8 v)
{
#ifdef cl_intel_subgroups_char
    intel_sub_group_block_write_uc8(outPtr, v);
#else
    uint idx = get_sub_group_local_id();

	outPtr[idx] = v.s0; idx += get_max_sub_group_size();
    outPtr[idx] = v.s1; idx += get_max_sub_group_size();
    outPtr[idx] = v.s2; idx += get_max_sub_group_size();
    outPtr[idx] = v.s3; idx += get_max_sub_group_size();
    outPtr[idx] = v.s4; idx += get_max_sub_group_size();
    outPtr[idx] = v.s5; idx += get_max_sub_group_size();
    outPtr[idx] = v.s6; idx += get_max_sub_group_size();
    outPtr[idx] = v.s7; idx += get_max_sub_group_size();
#endif
}

inline uchar8 FUNC(sub_group_block_read_uchar8)(const __global uchar* ptr)
{
#ifdef cl_intel_subgroups_char
    return intel_sub_group_block_read_uc8(ptr);
#else
    uint idx = get_sub_group_local_id();

    uchar8 ret;

    ret.s0 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s1 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s2 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s3 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s4 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s5 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s6 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s7 = ptr[idx]; idx += get_max_sub_group_size();

    return ret;

#endif
}

//


// Copyright (c) 2016-2017 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))


/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/


#define GET_DATA_INDEX(prefix, b, f, y, x)  \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_INDEX_SAFE(prefix, b, f, y, x)                     \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

 #define GET_3D_DATA_INDEX(prefix, b, f, z, y, x) \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (z)*CAT(prefix, _Z_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_3D_DATA_INDEX_SAFE(prefix, b, f, z, y, x)               \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (z % CAT(prefix, _SIZE_Z     ))*CAT(prefix, _Z_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_BS_FYX_BSV8_INDEX(prefix, b, f, y, x, sub_group_size)  \
    CAT(prefix, _OFFSET) +                                              \
    ((b) % (sub_group_size)) +                                          \
    (sub_group_size)*(                                                  \
        (x)*CAT(prefix, _X_PITCH) +                                     \
        (y)*CAT(prefix, _Y_PITCH) +                                     \
        (f)*CAT(prefix, _FEATURE_PITCH) +                               \
        ((b) / (sub_group_size))*CAT(prefix, _BATCH_PITCH)              \
    )

inline uint FUNC(get_bf8_xy16_index)(uint b, uint f, uint y, uint x, uint x_size, uint y_size, uint f_size, uint offset)
{
    const uint xy_idx = x + y * x_size;
    const uint xy_offset = (xy_idx % 16) + (xy_idx / 16) * 16 * 8;
    const uint xy_block_num = (x_size * y_size + 16 - 1) / 16;
    const uint f_offset = (f % 8) * 16 + (f / 8) * xy_block_num * 16 * 8;
    const uint f_block_num = (f_size + 8 - 1) / 8;
    const uint b_offset = b * f_block_num * xy_block_num * 128;

    const size_t idx = offset + xy_offset + f_offset + b_offset;

    return idx;
}

inline uint FUNC(get_bfyx_f16_index)(
    uint b, uint f, uint y, uint x,
    uint x_size, uint y_size, uint f_size,
    uint y_pad_before,uint y_pad_after,
    uint x_pad_before, uint x_pad_after,
    uint f_pad_before, uint f_pad_after)
{
    const uint feature_slice_size = 16;

    const uint full_width = x_size + x_pad_before + x_pad_after;
    const uint full_height = y_size + y_pad_before + y_pad_after;
    const uint full_features = f_pad_before + f_size + f_pad_after;
    const uint feature_tiles_number = (full_features + feature_slice_size - 1) / feature_slice_size;

    const uint x_pitch = feature_slice_size;
    const uint y_pitch = x_pitch * full_width;
    const uint fs_pitch = y_pitch * full_height;
    const uint b_pitch = fs_pitch * feature_tiles_number;

    const uint x_offset = (x + x_pad_before) * x_pitch;
    const uint y_offset = (y + y_pad_before) * y_pitch;
    const uint fs_offset = (f / feature_slice_size + f_pad_before / feature_slice_size) * fs_pitch;
    const uint b_offset = b * b_pitch;

    const size_t idx = x_offset + y_offset + fs_offset + b_offset + (f % feature_slice_size);

    return idx;
}

#define GET_DATA_BFYX_F16_INDEX(prefix, b, f, y, x)     \
    FUNC_CALL(get_bfyx_f16_index)(                      \
        b, f, y, x,                                     \
        CAT(prefix, _SIZE_X ),                          \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _FEATURE_NUM),                      \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_X),                \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _PAD_AFTER_FEATURE_NUM))

#define GET_FILTER_O_I_YX_I16_O16_INDEX(prefix, o, i, y, x, sub_group_size)  \
    CAT(prefix, _OFFSET) +                                                   \
    ((o) % (sub_group_size)) +                                               \
    (sub_group_size)*(                                                       \
        (x)*(sub_group_size)*CAT(prefix, _X_PITCH) +                         \
        (y)*(sub_group_size)*CAT(prefix, _Y_PITCH) +                         \
        ((i) % (sub_group_size)) +                                           \
        ((i) / (sub_group_size))*(sub_group_size)*CAT(prefix, _IFM_PITCH) +  \
        ((o) / (sub_group_size))*CAT(prefix, _OFM_PITCH)                     \
    )

inline uint FUNC(get_byxf_af32_index)(uint b, uint f, uint y, uint x, uint y_pitch, uint b_pitch, uint f_size, uint offset)
{
#define MMAD_4x8(A, B, C) FUNC_CALL(mmad4x8)(A, B, C)
#define MMAD_8x8(A, B, C) FUNC_CALL(mmad8x8)(A, B, C)
#define SLM_BLOCK_WRITE_4(A, B) (FUNC_CALL(intel_sub_group_block_write_4)(A, B))
#define SLM_BLOCK_READ_4(A) (FUNC_CALL(intel_sub_group_block_read_uint4)(A))
#define SLM_BLOCK_READ_8(A) (FUNC_CALL(intel_sub_group_block_read_uint8)(A))


#define FILTER_IFM_MMAD_NUM ((FILTER_IFM_NUM + 31) / 32)
#define FILTER_OFM_MMAD_NUM ((FILTER_OFM_NUM + 7) / 8)
#define FILTER_IFM_ALIGNED (FILTER_IFM_MMAD_NUM * 32)
#define FILTER_OFM_ALIGNED (FILTER_OFM_MMAD_NUM * 8)

__attribute__((intel_reqd_sub_group_size(8)))
KERNEL(fully_connected_kernel_mmad_batched)(
    const __global INPUT0_TYPE* input,
    __global OUTPUT_TYPE* output,
    const __global FILTER_TYPE* weights
#if BIAS_TERM
    , const __global BIAS_TYPE* biases
#endif
#if QUANTIZATION_TERM
    ,const __global float* quantizations
#endif
#if CALIBRATION_TERM
    ,const __global float* calibrations
#endif
    )
{
    const uint sg_channel = get_sub_group_local_id();

    const uint batch_id = (uint)get_group_id(0) * 8;
    const uint b_block = batch_id / 4;
    const uint f = get_global_id(1) % FILTER_OFM_ALIGNED;

    uint in_addr = IN_OFFSET + b_block * IN_B_BLOCK_PITCH;

    const uint filter_offset = (get_group_id(1) % FILTER_OFM_MMAD_NUM) * FILTER_OFM_BLOCK_PITCH;
    uint filter_idx = filter_offset;

    int8 tileA;
    int8 tileB;
    int8 tileC = 0;

    for(uint z = 0; z < FILTER_IFM_MMAD_NUM; z++ )
    {
        for (uint k = 0; k < FILTER_SIZE_X * FILTER_SIZE_Y; ++k)
        {
            // load A tile ( input )
            // load 8 batches 4 channels per WI, so we'll have 8x32 block

            tileA.lo = as_int4(intel_sub_group_block_read4((const __global uint*)(input + in_addr)));
            tileA.hi = as_int4(intel_sub_group_block_read4((const __global uint*)(input + in_addr + IN_B_BLOCK_PITCH)));

            // load B tile ( weights )
            tileB = as_int8(intel_sub_group_block_read8((const __global uint*)(weights + filter_idx)));

            // compute C tile ( output )
            tileC = MMAD_8x8(tileA, tileB, tileC); // here we output 8 batches per workitem, and each workitem gets different output feature

            in_addr += 32 * 4; // 4 batches * 4 features per channel * 8 SIMD channels
            filter_idx += 32*8; // 32 features per channel * 8 output features per SIMD channel
        }
        in_addr += IN_F_BLOCK_PITCH;
        in_addr -= (FILTER_SIZE_X * FILTER_SIZE_Y * 32 * 4);
    }

#if BIAS_TERM
#if   BIAS_PER_OUTPUT
    const uint bias_index = GET_DATA_INDEX(BIAS, batch_id, f, y, x);
#elif BIAS_PER_OFM
    const uint bias_index = f;
#endif
    for(uint i = 0; i < 8; i++)
    {
#if CALIBRATION_TERM
    tileC[i] = (UNIT_TYPE)round(((float)tileC[i] * quantizations[f] * I_QF + biases[bias_index]) * calibrations[f]);
#else  // CALIBRATION_TERM
    tileC[i] = (UNIT_TYPE)round(((float)tileC[i] * quantizations[f] * I_QF + biases[bias_index]) * O_QF);
#endif // CALIBRATION_TERM
    }
#endif // BIAS_TERM

    // save to output
    if(f < FILTER_OFM_NUM)
    {
        for(uint i = 0; i < 8; i++)
        {
            const uint curr_b = batch_id + i;
#if defined OUTPUT_LAYOUT_FS_BS_YX_BSV4_FSV32
            const uint dst_index = GET_DATA_FS_BS_YX_BSV4_FSV32_INDEX(OUTPUT, curr_b, f, 0, 0);
#else
            const uint dst_index = GET_DATA_INDEX(OUTPUT, curr_b, f, 0, 0);
#endif
            output[dst_index] = ACTIVATION(convert_char(tileC[i]), NL_M, NL_N);
        }
    }
}

#undef FILTER_IFM_MMAD_NUM
#undef FILTER_OFM_MMAD_NUM
#undef FILTER_IFM_ALIGNED
#undef FILTER_OFM_ALIGNED

        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif


/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

inline uint4 FUNC(reshape_2_to_4)(uint o, uint i, uint y, uint x, uint dst_size_y, uint dst_size_x)
{
    uint _i  = i / (dst_size_y*dst_size_x);
    uint _yx = i % (dst_size_y*dst_size_x);
    uint _y = _yx / dst_size_x;
    uint _x = _yx % dst_size_x;
    return (uint4)(o,_i,_y,_x);
}

inline uint4 FUNC(reshape_4_to_2)(uint o, uint i, uint y, uint x, uint src_size_y, uint src_size_x)
{
    uint _i = i*src_size_y*src_size_x + y*src_size_x + x;
    return (uint4)(o,_i,0,0);
}

inline uint4 FUNC(reshape_dims)(uint o, uint i, uint y, uint x, uint src_size_y, uint src_size_x, uint dst_size_y, uint dst_size_x, uint src_dims, uint dst_dims)
{
    if (src_dims == 4 && dst_dims == 2)
    {
        return FUNC_CALL(reshape_4_to_2)(o,i,y,x,src_size_y,src_size_x);
    }
    else if (src_dims == 2 && dst_dims == 4)
    {
        return FUNC_CALL(reshape_2_to_4)(o,i,y,x,dst_size_y,dst_size_x);
    }

    return (uint4)(o,i,y,x);
}

inline uint8 FUNC(reshape_dims3d)(uint o, uint i, uint z, uint y, uint x, uint src_size_z, uint src_size_y, uint src_size_x, uint dst_size_z, uint dst_size_y, uint dst_size_x, uint src_dims, uint dst_dims)
{
    if (src_dims == 4 && dst_dims == 5)
    {
        return (uint8)(o,i,1,y,x,0,0,0);
    }
    else if (src_dims == 5 && dst_dims == 4)
    {
        uint _y = z*src_size_y + y;
        return (uint8)(o,i,0,_y,x,0,0,0);
    }
    return (uint8)(o,i,z,y,x,0,0,0);
}


// Required JIT constants:
//  - FP16_SUPPORTED       - [0/1] Value indicating whether device supports FP16 OpenCL extension (cl_khr_fp16).
//  - FP16_UNIT_USED       - [0/1] Value indicating that current kernel should use FP16.
//  - UNIT_TYPE            - Type of unit of input/output/weights/biases.
//  - UNIT_VAL_ZERO        - Literal of current UNIT_TYPE that represents 0.
//  - INPUT_BATCH_NUM      - [int] Number of elements from single spatial and single feature that are grouped in single batch in input.
//  - INPUT_ELEMENTS_COUNT - [int] Cumulative number of elements from input that are processed in single batch.
//  - FILTER_OFM_NUM       - [int] Cumulative number of elements that are outputted in single batch.
//  - RELU                 - [0/1] Indicates that ReLU activation function should be used on output.
//  - NEGATIVE_SLOPE       - [float] Factor for negative output values (required when ReLU is specified).

KERNEL (fully_connected_gpu_yxfn)(
    const __global INPUT0_TYPE* input,
    __global OUTPUT_TYPE* output,
    const __global FILTER_TYPE* weights
#if BIAS_TERM
    , const __global BIAS_TYPE* biases
#endif
    )
{
    const uint x = get_global_id(0);
    const uint batch_id = x % INPUT0_BATCH_NUM;
    const uint neuronIdx = x / INPUT0_BATCH_NUM;

    UNIT_TYPE result = UNIT_VAL_ZERO;

    uint weight_offset = neuronIdx * FILTER_OFM_PITCH;
    for (uint k = 0; k < INPUT0_FEATURE_NUM; k++)
    {
        for (uint j = 0; j < INPUT0_SIZE_Y; j++)
        {
            for(uint i = 0; i < INPUT0_SIZE_X; i++)
            {
                uint4 widx = FUNC(reshape_dims)(batch_id, k,j,i, INPUT0_SIZE_Y, INPUT0_SIZE_X, FILTER_SIZE_Y, FILTER_SIZE_X, INPUT0_DIMS, FILTER_DIMS);
                uint weight_idx = weight_offset + widx[1]*FILTER_IFM_PITCH + widx[2]*FILTER_Y_PITCH + widx[3]*FILTER_X_PITCH;
                uint input_idx = INPUT0_OFFSET + k*INPUT0_FEATURE_PITCH + j*INPUT0_Y_PITCH + i*INPUT0_X_PITCH + batch_id*INPUT0_BATCH_PITCH;
                result += input[input_idx] * weights[weight_idx];
            }
        }
    }
    const uint output_idx = OUTPUT_OFFSET + batch_id*OUTPUT_BATCH_PITCH + neuronIdx*OUTPUT_FEATURE_PITCH;

#if BIAS_TERM
    result += biases[neuronIdx];
#endif
    output[output_idx] = ACTIVATION(result, NL_M, NL_N);
}

        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



KERNEL(fully_connected_grad_input_gpu_ref)(
    const __global INPUT0_TYPE* input_grad,
    __global OUTPUT_TYPE* output,
    const __global FILTER_TYPE* weights,
    const __global INPUT1_TYPE* input
    )
{
    const uint x            = get_global_id(1);
    const uint y            = get_global_id(2);
    const uint b_f          = get_global_id(0);
    const uint batch_id     = b_f % INPUT0_BATCH_NUM;
    const uint feature_id   = b_f / INPUT0_BATCH_NUM;

    if(b_f >= INPUT1_FEATURE_NUM * INPUT0_BATCH_NUM)
        return;

    ACCUMULATOR_TYPE result = 0;

    for (uint ofm = 0; ofm < FILTER_OFM_NUM; ++ofm)
    {
        const uint input_grad_idx = GET_DATA_INDEX(INPUT0, batch_id, 0, 0, ofm);
        const uint filter_idx = GET_FILTER_INDEX(FILTER, ofm, feature_id, y, x);

        result += (ACCUMULATOR_TYPE)(input_grad[input_grad_idx] * weights[filter_idx]);
    }

    const uint output_idx = GET_DATA_INDEX(OUTPUT, batch_id, feature_id, y, x);
    output[output_idx] = result;
}

        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



KERNEL(fully_connected_grad_weights_gpu_ref)(
    const __global INPUT0_TYPE* input_grad,
    __global OUTPUT_TYPE* output,
    __global float* weights,
#if BIAS_TERM
    __global float* bias,
#endif
#if MOMENTUM
    __global float* prev_grad_w,
#if BIAS_TERM
    __global float* prev_grad_b,
#endif
#endif
    const __global INPUT1_TYPE* input,
    const float lr
    )
{
    const uint ofm_ifm       = get_global_id(0);
    const uint id_x          = (uint)get_global_id(1);
    const uint id_y          = (uint)get_global_id(2);
    const uint ifm           = ofm_ifm % FILTER_IFM_NUM;
    const uint ofm           = ofm_ifm / FILTER_IFM_NUM;

    ACCUMULATOR_TYPE grad_w = 0;
#if BIAS_TERM
    ACCUMULATOR_TYPE grad_b = 0;
#endif

    const uint filter_idx = GET_FILTER_INDEX(FILTER, ofm, ifm, id_y, id_x);
    for (uint b = 0; b < INPUT0_BATCH_NUM; b++)
    {
        const uint input_grad_idx = GET_DATA_INDEX(INPUT0, b, 0, 0, ofm);
        const uint input_idx = GET_DATA_INDEX(INPUT1, b, ifm, id_y, id_x);
        ACCUMULATOR_TYPE grad = TO_ACCUMULATOR_TYPE(input_grad[input_grad_idx]);
        grad_w += TO_ACCUMULATOR_TYPE(input[input_idx] * grad);
#if BIAS_TERM
        grad_b += TO_ACCUMULATOR_TYPE(grad);
#endif
    }

#if MOMENTUM
    float update_gradient_w = lr * (grad_w + DECAY_RATE * weights[filter_idx]) + prev_grad_w[filter_idx] * MOMENTUM_FACTOR;
    weights[filter_idx] -= update_gradient_w;
    prev_grad_w[filter_idx] = update_gradient_w;
#else
    weights[filter_idx] -= lr * grad_w + DECAY_RATE * lr * weights[filter_idx];
#endif

#if BIAS_TERM
    if(ifm == 0 && id_x == 0 && id_y == 0)
    {
#if MOMENTUM
        float update_gradient_b = lr * grad_b + prev_grad_b[ofm] * MOMENTUM_FACTOR;
        bias[ofm] -= update_gradient_b;
        prev_grad_b[ofm] = update_gradient_b;
#else
        bias[ofm] -= lr * grad_b;
#endif
    }
#endif


}


#ifdef FUSED_TRAINING
    if (local_idx == 0)
        inv_var[f] = inv_variance;
#endif

    uint out_idx = GET_DATA_INDEX(OUTPUT, local_idx, f, 0, 0);
    for (uint y = 0; y < OUTPUT_SIZE_Y; y++)
    {
        for (uint x = 0; x < OUTPUT_SIZE_X; x++)
        {
#ifdef FUSED_TRAINING
            UNIT_TYPE out_val = inv_variance * (conv_output[out_idx] - mean);
            bn_output[out_idx] = out_val;
#ifdef SCALE_BIAS_TERM
            output[out_idx] = ACTIVATION(out_val * scale_in[f] + scale_bias[f], NL_M, NL_N);
#else
            output[out_idx] = ACTIVATION(out_val * scale_in[f], NL_M, NL_N);
#endif
#else
#ifdef SCALE_BIAS_TERM
            output[out_idx] = ACTIVATION(inv_variance * (output[out_idx] - mean) * scale_in[f] + scale_bias[f], NL_M, NL_N);
#else
            output[out_idx] = ACTIVATION(inv_variance * (output[out_idx] - mean) * scale_in[f], NL_M, NL_N);
#endif
#endif
            out_idx += OUTPUT_X_PITCH;
        }
        out_idx += OUTPUT_Y_PITCH - OUTPUT_SIZE_X * OUTPUT_X_PITCH;
    }

}

#undef LOCAL_SIZE

        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



#define LOCAL_SIZE INPUT0_BATCH_NUM

__attribute__((reqd_work_group_size(LOCAL_SIZE, 1, 1)))
KERNEL(convolution)(
    __global INPUT0_TYPE* input,
    __global OUTPUT_TYPE* output,
    __global FILTER_TYPE* weights,
#if BIAS_TERM
    __global BIAS_TYPE* biases,
#endif
    uint split_idx,
    __global INPUT0_TYPE* scale_in
#if SCALE_BIAS_TERM
    , __global INPUT0_TYPE* scale_bias
#endif
#if FUSED_TRAINING
    , __global INPUT0_TYPE* inv_var,
    __global INPUT0_TYPE* conv_output,
    __global INPUT0_TYPE* bn_output
#endif
    )
{
    const uint f = get_global_id(1);
    const uint b = get_global_id(0);

    UNIT_TYPE conv_out = UNIT_VAL_ZERO;

    const uint in_split_offset = split_idx * INPUT0_FEATURE_PITCH * FILTER_IFM_NUM;

    const uint filter_offset = f*FILTER_OFM_PITCH;
    const uint input_offset = b*INPUT0_BATCH_PITCH + INPUT0_OFFSET + in_split_offset;

    for (uint y = 0; y < OUTPUT_SIZE_Y; ++y)
    {
        const int input_y = y * STRIDE_SIZE_Y - PADDING_SIZE_Y;
        for (uint x = 0; x < OUTPUT_SIZE_X; ++x)
        {
            const int input_x = x * STRIDE_SIZE_X - PADDING_SIZE_X;
            for (uint k = 0; k < FILTER_IFM_NUM; ++k)
            {
                for (uint j = 0; j < FILTER_SIZE_Y ; ++j)
                {
                    const int input_offset_y = input_y + j * DILATION_SIZE_Y;
                    const bool zero_y = input_offset_y >= INPUT0_SIZE_Y || input_offset_y < 0;

                    if(!zero_y)
                    {
                        for (uint i = 0; i < FILTER_SIZE_X ; ++i)
                        {
                            const int input_offset_x = input_x + i * DILATION_SIZE_X;
                            const bool zero_x = input_offset_x >= INPUT0_SIZE_X || input_offset_x < 0;

                            if(!zero_x)
                            {
                                uint input_idx = input_offset + (uint)input_offset_x*INPUT0_X_PITCH + (uint)input_offset_y*INPUT0_Y_PITCH + k*INPUT0_FEATURE_PITCH;
                                uint filter_idx = filter_offset + k*FILTER_IFM_PITCH + j*FILTER_Y_PITCH + i*FILTER_X_PITCH;
                                conv_out += input[input_idx] * weights[filter_idx];
                            }
                        }
                    }
                }
            }
#if BIAS_TERM
                conv_out += (UNIT_TYPE)biases[f];
#endif

                const uint out_split_offset = split_idx * OUTPUT_FEATURE_PITCH * OUTPUT_FEATURE_NUM;
                const uint dst_index = GET_DATA_INDEX(OUTPUT, b, f, y, x) + out_split_offset;
#ifdef FUSED_TRAINING
                conv_output[dst_index] = conv_out;
#else
                output[dst_index] = conv_out;
#endif
        }
    }


    // BATCH NORM PART
    barrier(CLK_LOCAL_MEM_FENCE);

    __local ACCUMULATOR_TYPE sum[LOCAL_SIZE];

    const uint local_idx = b;

    sum[local_idx] = 0;

    uint input_idx = GET_DATA_INDEX(OUTPUT, local_idx, f, 0, 0);
    for (uint y = 0; y < OUTPUT_SIZE_Y; y++)
    {
        for (uint x = 0; x < OUTPUT_SIZE_X; x++)
        {
#ifdef FUSED_TRAINING
            UNIT_TYPE in = conv_output[input_idx];
#else
            UNIT_TYPE in = output[input_idx];
#endif
            sum[local_idx] += in;
            input_idx += OUTPUT_X_PITCH;
        }
        input_idx += OUTPUT_Y_PITCH - OUTPUT_SIZE_X * OUTPUT_X_PITCH;
    }

    barrier(CLK_LOCAL_MEM_FENCE);

    for(uint offset = LOCAL_SIZE / 2; offset > 0; offset /= 2)
    {
        if (local_idx < offset)
        {
            sum[local_idx] += sum[local_idx + offset];
        }
        barrier(CLK_LOCAL_MEM_FENCE);
    }

    UNIT_TYPE mean = sum[0] / (OUTPUT_BATCH_NUM * OUTPUT_SIZE_X * OUTPUT_SIZE_Y);

    sum[local_idx] = 0;

    input_idx = GET_DATA_INDEX(OUTPUT, local_idx, f, 0, 0);
    for (uint y = 0; y < OUTPUT_SIZE_Y; y++)
    {
        for (uint x = 0; x < OUTPUT_SIZE_X; x++)
        {
#ifdef FUSED_TRAINING
            UNIT_TYPE in = conv_output[input_idx] - mean;
#else
            UNIT_TYPE in = output[input_idx] - mean;
#endif
            sum[local_idx] += in * in;
            input_idx += OUTPUT_X_PITCH;
        }
        input_idx += OUTPUT_Y_PITCH - OUTPUT_SIZE_X * OUTPUT_X_PITCH;
    }

    barrier(CLK_LOCAL_MEM_FENCE);

    for(uint offset = LOCAL_SIZE / 2; offset > 0; offset /= 2)
    {
        if (local_idx < offset)
        {
            sum[local_idx] += sum[local_idx + offset];
        }
        barrier(CLK_LOCAL_MEM_FENCE);
    }

    float variance = sum[0] / (OUTPUT_BATCH_NUM * OUTPUT_SIZE_X * OUTPUT_SIZE_Y);

    float inv_variance = (float)(1.0 / sqrt(variance + EPSILON));
                dotProd0[bc + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)] = ACTIVATION(dotProd0[bc + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)], NL_M, NL_N);;
            }
        }
    }

    //--------------------------------------------------------------------
    // eltwise with eltwise activation phase
    //--------------------------------------------------------------------
    #if IN_OUT_OPT != 1
    for(uint bd = 0; bd < OUT_BLOCK_DEPTH/2; bd++)
    {
        for(uint br = 0; br < OUT_BLOCK_HEIGHT; br++)
        {
            for(uint bc = 0; bc < OUT_BLOCK_WIDTH; bc++)
            {
                uint src3_offset = GET_DATA_INDEX(INPUT1, b, f + (bd + ifm_offset) * SIMD_SIZE + get_sub_group_local_id(), (group_y + br) * ELTW_STRIDE_Y, (group_x + bc) * ELTW_STRIDE_X);
                dotProd0[bc + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)] += src3[src3_offset];
                dotProd0[bc + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)] = ACTIVATION_ELTW(dotProd0[bc + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)], NL_M_ELTW, NL_N_ELTW);
            }
        }
    }
    #endif

    //--------------------------------------------------------------------
    // output phase
    //--------------------------------------------------------------------

    for(uint bd = 0; bd < OUT_BLOCK_DEPTH/2; bd++)
    {
        for(uint br = 0; br < OUT_BLOCK_HEIGHT; br++)
        {
            uint dst_index = GET_DATA_INDEX(OUTPUT, b, f + (bd + ifm_offset) * SIMD_SIZE + get_sub_group_local_id(), group_y + br, group_x);
            uint out_vstore_offset = 0;
            #if (OUT_BLOCK_WIDTH >= 8)
            {
                float8 tmp = (float8)(dotProd0[out_vstore_offset + 0 + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)],
                                      dotProd0[out_vstore_offset + 1 + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)],
                                      dotProd0[out_vstore_offset + 2 + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)],
                                      dotProd0[out_vstore_offset + 3 + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)],
                                      dotProd0[out_vstore_offset + 4 + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)],
                                      dotProd0[out_vstore_offset + 5 + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)],
                                      dotProd0[out_vstore_offset + 6 + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)],
                                      dotProd0[out_vstore_offset + 7 + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)]);
#if IN_OUT_OPT == 1
                float8 tmp2 = vload8(0, output + dst_index + out_vstore_offset * OUTPUT_X_PITCH);
                tmp += tmp2;
                tmp = ACTIVATION_ELTW(tmp, NL_M_ELTW, NL_N_ELTW);
#endif
                vstore8(tmp, 0, output + dst_index + out_vstore_offset * OUTPUT_X_PITCH);
                out_vstore_offset += 8;
            }
            #endif
            #if (OUT_BLOCK_WIDTH % 8) > 3
            {
                float4 tmp = (float4)(dotProd0[out_vstore_offset + 0 + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)],
                                      dotProd0[out_vstore_offset + 1 + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)],
                                      dotProd0[out_vstore_offset + 2 + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)],
                                      dotProd0[out_vstore_offset + 3 + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)]);
#if IN_OUT_OPT == 1
                float4 tmp2 = vload4(0, output + dst_index + out_vstore_offset * OUTPUT_X_PITCH);
                tmp += tmp2;
                tmp = ACTIVATION_ELTW(tmp, NL_M_ELTW, NL_N_ELTW);
#endif
                vstore4(tmp, 0, output + dst_index + out_vstore_offset * OUTPUT_X_PITCH);
                out_vstore_offset += 4;
            }
            #endif
            #if (OUT_BLOCK_WIDTH % 4) > 1
            {
                float2 tmp = (float2)(dotProd0[out_vstore_offset + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)],
                                       dotProd0[out_vstore_offset+1 + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)]);
#if IN_OUT_OPT == 1
                float2 tmp2 = vload2(0, output + dst_index + out_vstore_offset * OUTPUT_X_PITCH);
                tmp += tmp2;
                tmp = ACTIVATION_ELTW(tmp, NL_M_ELTW, NL_N_ELTW);
#endif
                vstore2(tmp, 0, output + dst_index + out_vstore_offset * OUTPUT_X_PITCH);
                out_vstore_offset += 2;
            }
            #endif
            for(uint bc = out_vstore_offset; bc < OUT_BLOCK_WIDTH; bc++)
            {
#if IN_OUT_OPT == 1
                dotProd0[bc + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)] += output[dst_index + bc * OUTPUT_X_PITCH];
                dotProd0[bc + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)] = ACTIVATION_ELTW(dotProd0[bc + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)], NL_M_ELTW, NL_N_ELTW);
#endif
                output[dst_index + bc * OUTPUT_X_PITCH] = dotProd0[bc + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)];
            }
        }
    }
}

        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



#define SIMD_SIZE 8
__attribute__((intel_reqd_sub_group_size(SIMD_SIZE)))
KERNEL(fused_conv_eltwise_gpu_bfyx_1x1_opt)(
    __global INPUT0_TYPE* input,
    __global OUTPUT_TYPE* output,
    __global FILTER_TYPE* weights,
#if BIAS_TERM
    __global BIAS_TYPE* biases,
#endif
    uint split_idx,
    const __global float* src3)
{
   const uint group_x = get_group_id(0) * OUT_BLOCK_WIDTH;
    const uint group_y = get_group_id(1) * OUT_BLOCK_HEIGHT;
    const uint f = (get_group_id(2) * SIMD_SIZE * OUT_BLOCK_DEPTH) % OUTPUT_FEATURE_NUM;
    const uint b = (get_group_id(2) * SIMD_SIZE * OUT_BLOCK_DEPTH) / OUTPUT_FEATURE_NUM;;

    const uint ifm_part = get_sub_group_id();
    uint ifm_offset = ifm_part* OUT_BLOCK_DEPTH/2;

    UNIT_TYPE in[OUT_BLOCK_HEIGHT];
    UNIT_TYPE dotProd0[OUT_BLOCK_WIDTH * OUT_BLOCK_HEIGHT * OUT_BLOCK_DEPTH/2];
    UNIT_TYPE dotProd1[OUT_BLOCK_WIDTH * OUT_BLOCK_HEIGHT * OUT_BLOCK_DEPTH/2];

    for(uint i = 0; i < OUT_BLOCK_WIDTH * OUT_BLOCK_HEIGHT * OUT_BLOCK_DEPTH/2; i++)
    {
        dotProd0[i] = 0;
        dotProd1[i] = 0;
    }

#if OUT_BLOCK_DEPTH == 8
    const uint filter_offset = f * FILTER_IFM_NUM + ifm_part*(64 * FILTER_IFM_NUM/2);
#elif OUT_BLOCK_DEPTH == 4
    const uint filter_offset = f * FILTER_IFM_NUM + ifm_part*(32 * FILTER_IFM_NUM/2);
#elif OUT_BLOCK_DEPTH == 2
    const uint filter_offset = f * FILTER_IFM_NUM + ifm_part*(16 * FILTER_IFM_NUM/2);
#else
    const uint filter_offset = f*FILTER_OFM_PITCH + ifm_part*(FILTER_IFM_NUM/2) * FILTER_IFM_PITCH;
#endif
    const uint input_offset = b*INPUT0_BATCH_PITCH + INPUT0_OFFSET + group_x * INPUT0_X_PITCH + group_y * INPUT0_Y_PITCH + ifm_part*(FILTER_IFM_NUM/2) * INPUT0_FEATURE_PITCH;

    //--------------------------------------------------------------------
    // main computation phase
    //--------------------------------------------------------------------

    for (uint k = 0; k < FILTER_IFM_NUM/2; ++k)
    {
        for(uint i = 0; i < OUT_BLOCK_HEIGHT; i++)
        {
            const uint in_offset = input_offset + get_sub_group_local_id() + i * INPUT0_Y_PITCH + k * INPUT0_FEATURE_PITCH;
            in[i] = input[in_offset];
        }

#if OUT_BLOCK_DEPTH == 8
        float8 w = as_float8(intel_sub_group_block_read8((__global uint*)weights + filter_offset + k * 64));
#elif OUT_BLOCK_DEPTH == 4
        float4 w = as_float4(intel_sub_group_block_read4((__global uint*)weights + filter_offset + k * 32));
#elif OUT_BLOCK_DEPTH == 2
        float2 w = as_float2(intel_sub_group_block_read2((__global uint*)weights + filter_offset + k * 16));
#endif

        for(uint br = 0; br < OUT_BLOCK_HEIGHT; br++)
        {
            for(uint bc = 0; bc < OUT_BLOCK_WIDTH; bc++)
            {
                float _in = intel_sub_group_shuffle(in[br], bc);
                for(uint bd = 0; bd < OUT_BLOCK_DEPTH/2; bd++)
                {
                    dotProd0[bc + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)] += _in * w[bd];
                    dotProd1[bc + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)] += _in * w[bd + OUT_BLOCK_DEPTH/2];
                }
            }
        }
    }

    __local float slm_vals[OUT_BLOCK_WIDTH * OUT_BLOCK_HEIGHT * OUT_BLOCK_DEPTH * SIMD_SIZE];

    //--------------------------------------------------------------------
    // second sub_group in workgroup task
    //--------------------------------------------------------------------

    if(ifm_part == 1)
    {
        for(uint bd = 0; bd < OUT_BLOCK_DEPTH/2; bd++)
        {
            for(uint br = 0; br < OUT_BLOCK_HEIGHT; br++)
            {
                for(uint bc = 0; bc < OUT_BLOCK_WIDTH; bc++)
                {
                    slm_vals[SIMD_SIZE * (bc + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)) + get_sub_group_local_id()] = dotProd0[bc + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)];
                    dotProd0[bc + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)] = dotProd1[bc + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)];
                }
            }
        }

    }

    //--------------------------------------------------------------------
    // first sub_group in workgroup task
    //--------------------------------------------------------------------

    if(ifm_part == 0)
    {
        for(uint bd = 0; bd < OUT_BLOCK_DEPTH/2; bd++)
        {
            for(uint br = 0; br < OUT_BLOCK_HEIGHT; br++)
            {
                for(uint bc = 0; bc < OUT_BLOCK_WIDTH; bc++)
                {
                    slm_vals[SIMD_SIZE * (bc + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * (bd+OUT_BLOCK_DEPTH/2) )) + get_sub_group_local_id()] = dotProd1[bc + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)];
                }
            }
        }

    }

    //--------------------------------------------------------------------
    // add bias phase
    //--------------------------------------------------------------------

    #if BIAS_TERM
    for(uint bd = 0; bd < OUT_BLOCK_DEPTH/2; bd++)
    {
        float _bias = biases[f + (bd + ifm_offset) * SIMD_SIZE + get_sub_group_local_id()];
        for(uint br = 0; br < OUT_BLOCK_HEIGHT; br++)
        {
            for(uint bc = 0; bc < OUT_BLOCK_WIDTH; bc++)
            {
                dotProd0[bc + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)] += _bias;
            }
        }
    }
    #endif

    barrier(CLK_LOCAL_MEM_FENCE); // we want to add barrier after biases addition so that the long slm write part latency is shadowed by it

    //--------------------------------------------------------------------
    // sum sub-group results + activation phase
    //--------------------------------------------------------------------

    for(uint bd = 0; bd < OUT_BLOCK_DEPTH/2; bd++)
    {
        for(uint br = 0; br < OUT_BLOCK_HEIGHT; br++)
        {
            for(uint bc = 0; bc < OUT_BLOCK_WIDTH; bc++)
            {
                dotProd0[bc + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * bd)] += slm_vals[SIMD_SIZE * (bc + OUT_BLOCK_WIDTH * (br + OUT_BLOCK_HEIGHT * (bd + ifm_offset) )) + get_sub_group_local_id()];
fused_conv_eltwise_gpu_bfyx_1x1_opt_fp32            }
        }
#else
    #error IN_BLOCK_WIDTH must be multiple of SUB_GROUP_SIZE or half of SUB_GROUP_SIZE. Other scenarios are not currently implemented.
#endif

        //move to next filter
        in_addr += INPUT0_FEATURE_PITCH;

        for(int pf=0; pf<PREFETCH; pf++) {
            w[pf] = weights[weight_addr]; weight_addr += SUB_GROUP_SIZE;
        }

        uint wi = 0;
        uint kr = 0; // kr = Kernel Row
        LOOP(FILTER_SIZE_Y, kr,  // LOOP is a macro that unrolls the loop.
        {
            uint kc = 0; // kc = Kernel Column
            LOOP(FILTER_SIZE_X, kc,
            {
                //w = weights[weight_addr];
                for(uint br=0; br<OUTPUT_BLOCK_HEIGHT; br++) {
                    for(uint bc=0; bc<OUTPUT_BLOCK_WIDTH; bc++) {

#if IN_BLOCK_WIDTH != SUB_GROUP_SIZE
                        //if we fix the programming model, then we could use a nice simple 2d array: val = in[br * STRIDE_SIZE_Y + kr][bc * STRIDE_SIZE_X + kc];
                        UNIT_TYPE val = intel_sub_group_shuffle( in[(((br * STRIDE_SIZE_Y + kr * DILATION_SIZE_Y) * IN_BLOCK_WIDTH) + (bc * STRIDE_SIZE_X + kc * DILATION_SIZE_X)) / SUB_GROUP_SIZE],
                                                                    (((br * STRIDE_SIZE_Y + kr * DILATION_SIZE_Y) * IN_BLOCK_WIDTH) + (bc * STRIDE_SIZE_X + kc * DILATION_SIZE_X)) % SUB_GROUP_SIZE);
#else
                        UNIT_TYPE val = intel_sub_group_shuffle( in[br * STRIDE_SIZE_Y + kr * DILATION_SIZE_Y], bc * STRIDE_SIZE_X + kc * DILATION_SIZE_X);
#endif

                        out[br * OUTPUT_BLOCK_WIDTH + bc] = mad(w[wi % PREFETCH], val, out[br * OUTPUT_BLOCK_WIDTH + bc]);
                    }
                }
                w[wi % PREFETCH] = weights[weight_addr];
                weight_addr += SUB_GROUP_SIZE; // weights must be stored in just the right SIMD swizzled format for this to work, see host code for details.
                wi++;
            });
        });
        // addr went beyond due to prefetch so move it back to correct location.
        weight_addr -= PREFETCH * SUB_GROUP_SIZE;
    }

    uint out_split_offset = split_idx * OUTPUT_FEATURE_PITCH * FILTER_OFM_NUM;
    uint out_addr = OUTPUT_OFFSET;
    out_addr += batch_idx * OUTPUT_BATCH_PITCH;
    out_addr += out_split_offset + feature_idx * OUTPUT_FEATURE_PITCH; // out_addr indices into start of 16 feature maps.
    out_addr += or * OUTPUT_Y_PITCH + oc;  // offset for the 4x3 block that this workitem is working on;

#if BIAS_TERM
    for(uint r = 0; r < OUTPUT_BLOCK_HEIGHT; r++) {
        for(uint c = 0; c < OUTPUT_BLOCK_WIDTH; c++) {
#if BIAS_PER_OUTPUT
            const unsigned bias_index = feature_idx*OUTPUT_SIZE_X*OUTPUT_SIZE_Y + or*OUTPUT_SIZE_X + oc;
#else
            const unsigned bias_index = feature_idx;
#endif
            out[r * OUTPUT_BLOCK_WIDTH + c] += bias[bias_index];
        }
    }
#endif


    for(uint r = 0; r < OUTPUT_BLOCK_HEIGHT; r++) {
        for(uint c = 0; c < OUTPUT_BLOCK_WIDTH; c++) {
            out[r * OUTPUT_BLOCK_WIDTH + c] = ACTIVATION(out[r * OUTPUT_BLOCK_WIDTH + c], NL_M, NL_N);
        }
    }

#if IN_OUT_OPT != 1
    // eltwise part
    uint eltw_addr = INPUT1_OFFSET;
    eltw_addr += batch_idx * INPUT1_BATCH_PITCH;
    eltw_addr += out_split_offset + feature_idx * INPUT1_FEATURE_PITCH; // eltw_addr indices into start of 16 feature maps.
    eltw_addr += (or * ELTW_STRIDE_Y) * INPUT1_Y_PITCH + (oc * ELTW_STRIDE_X);  // offset for the 4x3 block that this workitem is working on;

    for(uint r = 0; r < OUTPUT_BLOCK_HEIGHT; r++) {
        for(uint c = 0; c < OUTPUT_BLOCK_WIDTH; c++) {
            out[r * OUTPUT_BLOCK_WIDTH + c] += eltw_input[eltw_addr + r * INPUT1_Y_PITCH * ELTW_STRIDE_Y + c * ELTW_STRIDE_X];
            out[r * OUTPUT_BLOCK_WIDTH + c] = ACTIVATION_ELTW(out[r * OUTPUT_BLOCK_WIDTH + c], NL_M_ELTW, NL_N_ELTW);
        }
    }
    // end of eltwise part
#endif

#ifdef LEFTOVERS
    if (feature_idx < OUTPUT_FEATURE_NUM)
#endif
    for(uint r = 0; r < OUTPUT_BLOCK_HEIGHT; r++) {
        if(!(or + r >= OUTPUT_SIZE_Y))
        {
            for(uint c = 0; c < OUTPUT_BLOCK_WIDTH; c++) {
                // this does a scattered write to 16 different feature maps, so that data within one map is contiguous, thus ready for input to next layer.
                if(!(oc + c >= OUTPUT_SIZE_X))
                {
#if IN_OUT_OPT == 1
                    out[r * OUTPUT_BLOCK_WIDTH + c] += output[out_addr + r * OUTPUT_Y_PITCH + c];
                    out[r * OUTPUT_BLOCK_WIDTH + c] = ACTIVATION_ELTW(out[r * OUTPUT_BLOCK_WIDTH + c], NL_M_ELTW, NL_N_ELTW);
#endif
                    output[out_addr + r * OUTPUT_Y_PITCH + c] = out[r * OUTPUT_BLOCK_WIDTH + c];
                }
            }
        }
    }
}

#undef FEATURES_THREADS_PER_BATCH

// Copyright (c) 2016-2017 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)



// ---------------------------------------------------------------------------------------------------------------------
// Just-in-time macro definitions:
// ---------------------------------------------------------------------------------------------------------------------

// Required JIT constants:
//  - INPUT                - [tensor] Input dimensions (batch, spatial and feature).
//  - OUTPUT               - [tensor] Output dimensions (batch, spatial and feature).
//  - STRIDE               - [tensor] Stride (only spatial). Factors that describe step size in X or Y dimension of
//                           input position of application of convolution filter when next ouput value
//                           (step 1 in in X or Y dimension of output) is computed.
//  - INPUT0_OFFSET        - [tensor] Offset for the first element
//                           initial offset input position of application of convolution filter and output position.
//  - FP16_SUPPORTED       - [0/1] Value indicating whether device supports FP16 OpenCL extension (cl_khr_fp16).
//  - FP16_UNIT_USED       - [0/1] Value indicating that current kernel should use FP16.
//  - UNIT_TYPE            - Type of unit of input/output/weight/bias.
//  - UNIT_VAL_ZERO        - Literal of current UNIT_TYPE that represents 0.
//  - RELU                 - [0/1] Indicates that ReLU activation function should be used on output.
//  - NEGATIVE_SLOPE       - [float] Factor for negative output values (required when ReLU is specified).
//
//  - SUB_GROUP_SIZE       - [int] Size of used subgroup (SIMD).
//  - LEFTOVERS            - [int] Optional parameter, required only when number of ofm is not dividable by SUB_GROUP_SIZE
//                           see comment for FEATURES_THREADS_PER_BATCH for more informations

/*
gpu::make_jit_constant("OUTPUT_LIMIT",              output_size),
gpu::make_jit_constant("FILTER",                    filter_mem.argument().size),
gpu::make_jit_constant("FILTER_ARRAY_NUM",          split),
gpu::make_jit_constant("OUTPUT_BLOCK_WIDTH",        _kernel_data.block_width));
gpu::make_jit_constant("OUTPUT_BLOCK_HEIGHT",       _kernel_data.block_height));
gpu::make_jit_constant("IN_BLOCK_ARRAY_SIZE",       _kernel_data.input_block_array_size));
gpu::make_jit_constant("IN_BLOCK_WIDTH",            _kernel_data.input_block_width));
gpu::make_jit_constant("PREFETCH",                  _kernel_data.prefetch));
if (_kernel_data.leftovers)
    gpu::make_jit_constant("LEFTOVERS",             _kernel_data.leftovers));
*/

// FEATURES_THREADS_PER_BATCH defines how many threads in z-dimension are processing single batch.
// ideally, z-dimension of value n should indicate processing of n-th output feature. however, since
// threads are stack in groups of SUB_GROUP_SIZE, when number of ofm is not dividable by SUB_GROUP_SIZE
// there are dummy threads added in z-dimension in count of LEFTOVERS. We need to take them into consideration
// while calculating batch's id (see lines 86-87). Values calculated by dummy threads are discarded at line 210.
#ifdef LEFTOVERS
#define FEATURES_THREADS_PER_BATCH (FILTER_OFM_NUM + LEFTOVERS)
#else
#define FEATURES_THREADS_PER_BATCH (FILTER_OFM_NUM)
#endif

__attribute__((intel_reqd_sub_group_size(SUB_GROUP_SIZE)))
__attribute__((reqd_work_group_size(1, 1, SUB_GROUP_SIZE)))
KERNEL(convolution_gpu_bfyx_os_iyx_osv16)(
    const __global UNIT_TYPE* input,
    __global UNIT_TYPE* output,
    const __global UNIT_TYPE* weights,
#if BIAS_TERM
    const __global UNIT_TYPE* bias,
#endif
    uint split_idx,
    const __global UNIT_TYPE* eltw_input) // TODO: removing this parameter cause a performance degradation... :)
{
    const uint oc  = (uint)get_global_id(0) * OUTPUT_BLOCK_WIDTH;  // oc = Output Column
    const uint or  = (uint)get_global_id(1) * OUTPUT_BLOCK_HEIGHT; // or = Output Row
    const uint fm  = get_global_id(2);                    // fm = Feature Map = od = Output Depth
    const uint lid = get_sub_group_local_id();

    uint batch_idx = fm / FEATURES_THREADS_PER_BATCH;
    uint feature_idx = fm % FEATURES_THREADS_PER_BATCH;
    uint fmg = feature_idx / SUB_GROUP_SIZE;

    UNIT_TYPE in[IN_BLOCK_ARRAY_SIZE];
    UNIT_TYPE out[OUTPUT_BLOCK_WIDTH * OUTPUT_BLOCK_HEIGHT];
    UNIT_TYPE w[PREFETCH];
    uint in_addr;
    uint weight_addr = fmg * FILTER_IFM_NUM * FILTER_SIZE_X * FILTER_SIZE_Y * SUB_GROUP_SIZE + lid;

    for(int i = 0; i < (OUTPUT_BLOCK_WIDTH * OUTPUT_BLOCK_HEIGHT); i++) {
        out[i] = UNIT_VAL_ZERO;
    }

    uint in_split_offset = split_idx * INPUT0_FEATURE_PITCH * FILTER_IFM_NUM;
    in_addr = batch_idx * INPUT0_BATCH_PITCH;
    in_addr += in_split_offset + INPUT0_OFFSET_WITH_PADDING + or * STRIDE_SIZE_Y * INPUT0_Y_PITCH + oc * STRIDE_SIZE_X + lid;

    for(int kd = 0; kd < FILTER_IFM_NUM; kd++)  // _ID = 3, RGB
    {
        uint tmp_in_addr = in_addr;

#if IN_BLOCK_WIDTH % SUB_GROUP_SIZE == 0
        __attribute__((opencl_unroll_hint(IN_BLOCK_ARRAY_SIZE)))
        for(uint in_block_pos = 0; in_block_pos < IN_BLOCK_ARRAY_SIZE * SUB_GROUP_SIZE; in_block_pos += SUB_GROUP_SIZE) {
            // Horizontal position in input block after read.
            const uint in_block_next_x_pos = in_block_pos % IN_BLOCK_WIDTH + SUB_GROUP_SIZE;

            in[in_block_pos / SUB_GROUP_SIZE] = input[tmp_in_addr + in_block_pos % IN_BLOCK_WIDTH];

            // If we have row break, move to the next row.
            if (in_block_next_x_pos == IN_BLOCK_WIDTH)
                tmp_in_addr += INPUT0_Y_PITCH;
        }
#elif (2 * IN_BLOCK_WIDTH) % SUB_GROUP_SIZE == 0
        __attribute__((opencl_unroll_hint(IN_BLOCK_ARRAY_SIZE)))
        for(uint in_block_pos = 0; in_block_pos < IN_BLOCK_ARRAY_SIZE * SUB_GROUP_SIZE; in_block_pos += SUB_GROUP_SIZE) {
            // Horizontal position in input block after read.
            const uint in_block_next_x_pos = in_block_pos % IN_BLOCK_WIDTH + SUB_GROUP_SIZE;

            if (in_block_next_x_pos <= IN_BLOCK_WIDTH) { //
                in[in_block_pos / SUB_GROUP_SIZE] = input[tmp_in_addr + in_block_pos % IN_BLOCK_WIDTH];

                // If we have row break, move to the next row.
                if (in_block_next_x_pos == IN_BLOCK_WIDTH)
                    tmp_in_addr += INPUT0_Y_PITCH;
            }
            else {
                // TODO: Generalize this step to relax IN_BLOCK_WIDTH restrictions.
                // Position in sub-group on which new row need to be read.
                const uint sg_br_pos = IN_BLOCK_WIDTH - in_block_pos % IN_BLOCK_WIDTH;

                if (lid < sg_br_pos)
                    in[in_block_pos / SUB_GROUP_SIZE] = input[tmp_in_addr + in_block_pos % IN_BLOCK_WIDTH];
                // We have row break inside sub-group. Need to move to next line.
                tmp_in_addr += INPUT0_Y_PITCH;
                if (lid >= sg_br_pos)
                    in[in_block_pos / SUB_GROUP_SIZE] = input[tmp_in_addr - sg_br_pos];

                // If we have another row break, move to the next row.
                if (in_block_next_x_pos == 2 * IN_BLOCK_WIDTH)
                    tmp_in_addr += INPUT0_Y_PITCH;
                        out1[(16+i) * OUTPUT_FEATURE_PITCH] = ACTIVATION(blockC21[i], NL_M, NL_N);
                    }
                }
                else if ( ( OUTPUT_FEATURE_NUM % TILE_N ) >= 8 )
                {
                    #if BIAS_TERM
                    blockC01 += *biasPtr;
                    if ( ( OUTPUT_FEATURE_NUM % TILE_N ) > 8 ) blockC11 += *(biasPtr + 1);
                    #endif

                    blockC01 = ACTIVATION(blockC01, NL_M, NL_N);

                    for (unsigned i = 0; i < 8; i++)
                    {
                        out1[( 0+i) * OUTPUT_FEATURE_PITCH] = blockC01[i];
                    }

                    for (unsigned i = 0; i < OUTPUT_FEATURE_NUM % 8; i++)
                    {
                        out1[(8+i) * OUTPUT_FEATURE_PITCH] = ACTIVATION(blockC11[i], NL_M, NL_N);
                    }
                }
                else
                {
                    #if BIAS_TERM
                    blockC01 += *biasPtr;
                    #endif

                    for (unsigned i = 0; i < OUTPUT_FEATURE_NUM % 8; i++)
                    {
                        out1[( 0+i) * OUTPUT_FEATURE_PITCH] = ACTIVATION(blockC01[i], NL_M, NL_N);
                    }
                }
            }
        }
    }
}

                    {
                        blockC00[i] += src3[src3_offset + (i + 0 )* INPUT1_FEATURE_PITCH];
                        blockC10[i] += src3[src3_offset + (i + 8 )* INPUT1_FEATURE_PITCH];
                        blockC20[i] += src3[src3_offset + (i + 16)* INPUT1_FEATURE_PITCH];
                    }

                    // remaining output channels
                    for (unsigned i = 0; i < OUTPUT_FEATURE_NUM % 8; i++)
                    {
                        blockC30[i] += src3[src3_offset + (i + 24 )* INPUT1_FEATURE_PITCH];
                        blockC30[i] = ACTIVATION_ELTW(blockC30[i], NL_M_ELTW, NL_N_ELTW);
                    }

                    blockC00 = ACTIVATION_ELTW(blockC00, NL_M_ELTW, NL_N_ELTW);
                    blockC10 = ACTIVATION_ELTW(blockC10, NL_M_ELTW, NL_N_ELTW);
                    blockC20 = ACTIVATION_ELTW(blockC20, NL_M_ELTW, NL_N_ELTW);
                    // end eltwise

                    for (unsigned i = 0; i < 8; i++)
                    {
                        out0[( 0+i) * OUTPUT_FEATURE_PITCH] = blockC00[i];
                        out0[( 8+i) * OUTPUT_FEATURE_PITCH] = blockC10[i];
                        out0[(16+i) * OUTPUT_FEATURE_PITCH] = blockC20[i];
                    }

                    // remaining output channels
                    for (unsigned i = 0; i < OUTPUT_FEATURE_NUM % 8; i++)
                    {
                        out0[(24+i) * OUTPUT_FEATURE_PITCH] = blockC30[i];
                    }
                }
                else if ( ( OUTPUT_FEATURE_NUM % TILE_N ) >= 16 )
                {
                    #if BIAS_TERM
                    blockC00 += *biasPtr;
                    blockC10 += *(biasPtr + 1);
                    if (( OUTPUT_FEATURE_NUM % TILE_N) > 16 )
                        blockC20 += *(biasPtr + 2);
                    #endif

                    blockC00 = ACTIVATION(blockC00, NL_M, NL_N);
                    blockC10 = ACTIVATION(blockC10, NL_M, NL_N);

                    for (unsigned i = 0; i < 8; i++)
                    {
                        out0[( 0+i) * OUTPUT_FEATURE_PITCH] = blockC00[i];
                        out0[( 8+i) * OUTPUT_FEATURE_PITCH] = blockC10[i];
                    }

                    for (unsigned i = 0; i < OUTPUT_FEATURE_NUM % 8; i++)
                    {
                        out0[(16+i) * OUTPUT_FEATURE_PITCH] = ACTIVATION(blockC20[i], NL_M, NL_N);

                    }
                }
                else if ( ( OUTPUT_FEATURE_NUM % TILE_N ) >= 8 )
                {
                    #if BIAS_TERM
                    blockC00 += *biasPtr;
                    if (( OUTPUT_FEATURE_NUM % TILE_N) > 8 )
                        blockC10 += *(biasPtr + 1);
                    #endif

                    blockC00 = ACTIVATION(blockC00, NL_M, NL_N);

                    for (unsigned i = 0; i < 8; i++)
                    {
                        out0[( 0+i) * OUTPUT_FEATURE_PITCH] = blockC00[i];
                    }

                    for (unsigned i = 0; i < OUTPUT_FEATURE_NUM % 8; i++)
                    {
                        out0[(8+i) * OUTPUT_FEATURE_PITCH] = ACTIVATION(blockC10[i], NL_M, NL_N);
                    }
                }
                else
                {
                    #if BIAS_TERM
                    blockC00 += *biasPtr;
                    #endif
                    for (unsigned i = 0; i < OUTPUT_FEATURE_NUM % 8; i++)
                    {
                        out0[( 0+i) * OUTPUT_FEATURE_PITCH] = ACTIVATION(blockC00[i], NL_M, NL_N);
                    }
                }
            }
        }
    }

    if ((global_y * TILE_M + 1) < OUTPUT_SIZE_X * OUTPUT_SIZE_Y )
    {
        if ( ( OUTPUT_FEATURE_NUM % TILE_N ) == 0 )
        {
            #if BIAS_TERM
            blockC01 += *biasPtr;
            blockC11 += *(biasPtr + 1);
            blockC21 += *(biasPtr + 2);
            blockC31 += *(biasPtr + 3);
            #endif

            blockC01 = ACTIVATION(blockC01, NL_M, NL_N);
            blockC11 = ACTIVATION(blockC11, NL_M, NL_N);
            blockC21 = ACTIVATION(blockC21, NL_M, NL_N);
            blockC31 = ACTIVATION(blockC31, NL_M, NL_N);

            // eltwise
            uint src3_offset = FUNC_CALL(calculate_eltw_input_offset_based_on_output_offset)(out1_offset, ELTW_STRIDE_X,ELTW_STRIDE_Y);
            for(uint i = 0; i < 8; i++)
            {
                blockC01[i] += src3[src3_offset + (i + 0 )* INPUT1_FEATURE_PITCH];
                blockC11[i] += src3[src3_offset + (i + 8 )* INPUT1_FEATURE_PITCH];
                blockC21[i] += src3[src3_offset + (i + 16)* INPUT1_FEATURE_PITCH];
                blockC31[i] += src3[src3_offset + (i + 24)* INPUT1_FEATURE_PITCH];
            }

            blockC01 = ACTIVATION_ELTW(blockC01, NL_M_ELTW, NL_N_ELTW);
            blockC11 = ACTIVATION_ELTW(blockC11, NL_M_ELTW, NL_N_ELTW);
            blockC21 = ACTIVATION_ELTW(blockC21, NL_M_ELTW, NL_N_ELTW);
            blockC31 = ACTIVATION_ELTW(blockC31, NL_M_ELTW, NL_N_ELTW);
            // end eltwise

            for( unsigned i = 0; i < 8; i++ )
            {
                out1[( 0+i) * OUTPUT_FEATURE_PITCH] = blockC01[i];
                out1[( 8+i) * OUTPUT_FEATURE_PITCH] = blockC11[i];
                out1[(16+i) * OUTPUT_FEATURE_PITCH] = blockC21[i];
                out1[(24+i) * OUTPUT_FEATURE_PITCH] = blockC31[i];
            }
        }
        else
        {
            if ( ( global_x + 1 ) < get_global_size(0) )
            {
                #if BIAS_TERM
                blockC01 += *biasPtr;
                blockC11 += *(biasPtr + 1);
                blockC21 += *(biasPtr + 2);
                blockC31 += *(biasPtr + 3);
                #endif

                blockC01 = ACTIVATION(blockC01, NL_M, NL_N);
                blockC11 = ACTIVATION(blockC11, NL_M, NL_N);
                blockC21 = ACTIVATION(blockC21, NL_M, NL_N);
                blockC31 = ACTIVATION(blockC31, NL_M, NL_N);

                for ( unsigned i = 0; i < 8; i++ )
                {
                    out1[( 0+i) * OUTPUT_FEATURE_PITCH] = blockC01[i];
                    out1[( 8+i) * OUTPUT_FEATURE_PITCH] = blockC11[i];
                    out1[(16+i) * OUTPUT_FEATURE_PITCH] = blockC21[i];
                    out1[(24+i) * OUTPUT_FEATURE_PITCH] = blockC31[i];
                }
            }
            else
            {
                if ( ( OUTPUT_FEATURE_NUM % TILE_N ) >= 24 )
                {
                    #if BIAS_TERM
                    blockC01 += *biasPtr;
                    blockC11 += *(biasPtr + 1);
                    blockC21 += *(biasPtr + 2);
                    if ( ( OUTPUT_FEATURE_NUM % TILE_N ) > 24 ) blockC31 += *(biasPtr + 3);
                    #endif

                    blockC01 = ACTIVATION(blockC01, NL_M, NL_N);
                    blockC11 = ACTIVATION(blockC11, NL_M, NL_N);
                    blockC21 = ACTIVATION(blockC21, NL_M, NL_N);

                    for (unsigned i = 0; i < 8; i++)
                    {
                        out1[( 0+i) * OUTPUT_FEATURE_PITCH] = blockC01[i];
                        out1[( 8+i) * OUTPUT_FEATURE_PITCH] = blockC11[i];
                        out1[(16+i) * OUTPUT_FEATURE_PITCH] = blockC21[i];
                    }

                    // Remaining channels
                    for (unsigned i = 0; i < OUTPUT_FEATURE_NUM % 8; i++)
                    {
                        out1[(24+i) * OUTPUT_FEATURE_PITCH] = ACTIVATION(blockC31[i], NL_M, NL_N);
                    }
                }
                else if ( ( OUTPUT_FEATURE_NUM % TILE_N ) >= 16 )
                {
                    #if BIAS_TERM
                    blockC01 += *biasPtr;
                    blockC11 += *(biasPtr + 1);
                    if ( ( OUTPUT_FEATURE_NUM % TILE_N ) > 16 ) blockC21 += *(biasPtr + 2);
                    #endif

                    blockC01 = ACTIVATION(blockC01, NL_M, NL_N);
                    blockC11 = ACTIVATION(blockC11, NL_M, NL_N);

                    for (unsigned i = 0; i < 8; i++)
                    {
                        out1[( 0+i) * OUTPUT_FEATURE_PITCH] = blockC01[i];
                        out1[( 8+i) * OUTPUT_FEATURE_PITCH] = blockC11[i];
                    }

                    for (unsigned i = 0; i < OUTPUT_FEATURE_NUM % 8; i++)
                    {
            float blockB00[FILTER_SIZE_X*4];
            float8* p8BlockB00 = (float8*)blockB00;
            float4* p4BlockB00 = (float4*)blockB00;
            float*  pBlockB00 =  (float* )blockB00;

            interleaved_y = 0;
            LOOP(FILTER_SIZE_X_DIV2, interleaved_y,
            {
                p8BlockB00[interleaved_y] = as_float8( intel_sub_group_block_read8( (const __global uint*)src1 + src1_read_offset ) );
                src1_read_offset += ALIGNED_OFM * 2;
            } )
            if ( kernel_width_is_odd )
            {
                p4BlockB00[FILTER_SIZE_X - 1] = as_float4( intel_sub_group_block_read4( (const __global uint*)src1 + src1_read_offset ) );
                src1_read_offset += ALIGNED_OFM * 2;
            }

            // Perform MADs
            kernel_idx = 0;
            interleaved_y = 0;
            LOOP(FILTER_SIZE_X_DIV2, interleaved_y,
            {
                kernel_y = interleaved_y * 2;
                DOT_PRODUCT_8( blockC00, pblockA00[kernel_y    ], pBlockB00[kernel_idx] );
                DOT_PRODUCT_8( blockC01, pblockA01[kernel_y    ], pBlockB00[kernel_idx] ); kernel_idx++;
                DOT_PRODUCT_8( blockC00, pblockA00[kernel_y + 1], pBlockB00[kernel_idx] );
                DOT_PRODUCT_8( blockC01, pblockA01[kernel_y + 1], pBlockB00[kernel_idx] ); kernel_idx++;
                DOT_PRODUCT_8( blockC10, pblockA00[kernel_y    ], pBlockB00[kernel_idx] );
                DOT_PRODUCT_8( blockC11, pblockA01[kernel_y    ], pBlockB00[kernel_idx] ); kernel_idx++;
                DOT_PRODUCT_8( blockC10, pblockA00[kernel_y + 1], pBlockB00[kernel_idx] );
                DOT_PRODUCT_8( blockC11, pblockA01[kernel_y + 1], pBlockB00[kernel_idx] ); kernel_idx++;
                DOT_PRODUCT_8( blockC20, pblockA00[kernel_y    ], pBlockB00[kernel_idx] );
                DOT_PRODUCT_8( blockC21, pblockA01[kernel_y    ], pBlockB00[kernel_idx] ); kernel_idx++;
                DOT_PRODUCT_8( blockC20, pblockA00[kernel_y + 1], pBlockB00[kernel_idx] );
                DOT_PRODUCT_8( blockC21, pblockA01[kernel_y + 1], pBlockB00[kernel_idx] ); kernel_idx++;
                DOT_PRODUCT_8( blockC30, pblockA00[kernel_y    ], pBlockB00[kernel_idx] );
                DOT_PRODUCT_8( blockC31, pblockA01[kernel_y    ], pBlockB00[kernel_idx] ); kernel_idx++;
                DOT_PRODUCT_8( blockC30, pblockA00[kernel_y + 1], pBlockB00[kernel_idx] );
                DOT_PRODUCT_8( blockC31, pblockA01[kernel_y + 1], pBlockB00[kernel_idx] ); kernel_idx++;
            } )
            if ( kernel_width_is_odd )
            {
                kernel_y = interleaved_y * 2;
                DOT_PRODUCT_8( blockC00, pblockA00[kernel_y], pBlockB00[kernel_idx] );
                DOT_PRODUCT_8( blockC01, pblockA01[kernel_y], pBlockB00[kernel_idx] ); kernel_idx++;
                DOT_PRODUCT_8( blockC10, pblockA00[kernel_y], pBlockB00[kernel_idx] );
                DOT_PRODUCT_8( blockC11, pblockA01[kernel_y], pBlockB00[kernel_idx] ); kernel_idx++;
                DOT_PRODUCT_8( blockC20, pblockA00[kernel_y], pBlockB00[kernel_idx] );
                DOT_PRODUCT_8( blockC21, pblockA01[kernel_y], pBlockB00[kernel_idx] ); kernel_idx++;
                DOT_PRODUCT_8( blockC30, pblockA00[kernel_y], pBlockB00[kernel_idx] );
                DOT_PRODUCT_8( blockC31, pblockA01[kernel_y], pBlockB00[kernel_idx] ); kernel_idx++;
            }
        }

        //while( ++patch_row < 1 ); //debug
        while( ++patch_row < FILTER_SIZE_Y );

        src0_read_offset0 += INPUT0_FEATURE_PITCH - ( FILTER_SIZE_Y * INPUT0_Y_PITCH ); // reset to start of next slice of patch
        src0_read_offset1 += INPUT0_FEATURE_PITCH - ( FILTER_SIZE_Y * INPUT0_Y_PITCH ); // reset to start of next slice of patch
    }
    //while ( ++patch_depth < 1 );  //debug
    while ( ++patch_depth < INPUT0_FEATURE_NUM );

    const uint out_split_offset = split_idx * OUTPUT_FEATURE_PITCH * OUTPUT_FEATURE_NUM;
    // Dst resembles a cube of width x height x (output channel * batches).  Each tile writes:
    // (SIMD * TILE_M) x 1 x TILE_N.  Partial writes most likely generated if padding used.
    __global float *out0 = dst + OUTPUT_OFFSET + out_split_offset
     + global_z * OUTPUT_BATCH_PITCH                                                   // batch offset
     + ( group_x * TILE_N ) * OUTPUT_FEATURE_PITCH                                     // channel offset
     + ( ( global_y * TILE_M ) / OUTPUT_SIZE_X ) * OUTPUT_Y_PITCH                      // y offset
     + ( ( global_y * TILE_M ) % OUTPUT_SIZE_X );                                      // x offset
    __global float *out1 = dst + OUTPUT_OFFSET + out_split_offset
     + global_z * OUTPUT_BATCH_PITCH                                                   // batch offset
     + ( group_x * TILE_N ) * OUTPUT_FEATURE_PITCH                                     // channel offset
     + ( ( global_y * TILE_M + 1 ) / OUTPUT_SIZE_X ) * OUTPUT_Y_PITCH                  // y offset
     + ( ( global_y * TILE_M + 1 ) % OUTPUT_SIZE_X );                                  // x offset

    #if BIAS_TERM
    __global float8* biasPtr = (__global float8*) (bias + group_x * TILE_N);
    #endif

    uint out0_offset = OUTPUT_OFFSET + out_split_offset
     + global_z * OUTPUT_BATCH_PITCH                                                   // batch offset
     + ( group_x * TILE_N ) * OUTPUT_FEATURE_PITCH                                     // channel offset
     + ( ( global_y * TILE_M ) / OUTPUT_SIZE_X ) * OUTPUT_Y_PITCH                      // y offset
     + ( ( global_y * TILE_M ) % OUTPUT_SIZE_X );                                      // x offset

     uint out1_offset = OUTPUT_OFFSET + out_split_offset
     + global_z * OUTPUT_BATCH_PITCH                                                   // batch offset
     + ( group_x * TILE_N ) * OUTPUT_FEATURE_PITCH                                     // channel offset
     + ( ( global_y * TILE_M + 1 ) / OUTPUT_SIZE_X ) * OUTPUT_Y_PITCH                  // y offset
     + ( ( global_y * TILE_M + 1 ) % OUTPUT_SIZE_X );

    //-----------------------------------------------------------------------------------------------//
    // OUTPUT PHASE
    //-----------------------------------------------------------------------------------------------//
    if( global_y * TILE_M < OUTPUT_SIZE_X * OUTPUT_SIZE_Y )
    {
        if ( ( OUTPUT_FEATURE_NUM % TILE_N ) == 0 )
        {
            #if BIAS_TERM
            blockC00 += *biasPtr;
            blockC10 += *(biasPtr + 1);
            blockC20 += *(biasPtr + 2);
            blockC30 += *(biasPtr + 3);
            #endif

            blockC00 = ACTIVATION(blockC00, NL_M, NL_N);
            blockC10 = ACTIVATION(blockC10, NL_M, NL_N);
            blockC20 = ACTIVATION(blockC20, NL_M, NL_N);
            blockC30 = ACTIVATION(blockC30, NL_M, NL_N);

            // eltwise
            uint src3_offset = FUNC_CALL(calculate_eltw_input_offset_based_on_output_offset)(out0_offset, ELTW_STRIDE_X,ELTW_STRIDE_Y);
            for(uint i = 0; i < 8; i++)
            {
                blockC00[i] += src3[src3_offset + (i + 0 )* INPUT1_FEATURE_PITCH];
                blockC10[i] += src3[src3_offset + (i + 8 )* INPUT1_FEATURE_PITCH];
                blockC20[i] += src3[src3_offset + (i + 16)* INPUT1_FEATURE_PITCH];
                blockC30[i] += src3[src3_offset + (i + 24)* INPUT1_FEATURE_PITCH];
            }

            blockC00 = ACTIVATION_ELTW(blockC00, NL_M_ELTW, NL_N_ELTW);
            blockC10 = ACTIVATION_ELTW(blockC10, NL_M_ELTW, NL_N_ELTW);
            blockC20 = ACTIVATION_ELTW(blockC20, NL_M_ELTW, NL_N_ELTW);
            blockC30 = ACTIVATION_ELTW(blockC30, NL_M_ELTW, NL_N_ELTW);
            // end eltwise

            for( unsigned i = 0; i < 8; i++ )
            {
                out0[( 0+i) * OUTPUT_FEATURE_PITCH] = blockC00[i];
                out0[( 8+i) * OUTPUT_FEATURE_PITCH] = blockC10[i];
                out0[(16+i) * OUTPUT_FEATURE_PITCH] = blockC20[i];
                out0[(24+i) * OUTPUT_FEATURE_PITCH] = blockC30[i];
            }
        }
        else
        {
            if ( ( global_x + 1 ) < get_global_size(0) )
            {
                #if BIAS_TERM
                blockC00 += *biasPtr;
                blockC10 += *(biasPtr + 1);
                blockC20 += *(biasPtr + 2);
                blockC30 += *(biasPtr + 3);
                #endif

                blockC00 = ACTIVATION(blockC00, NL_M, NL_N);
                blockC10 = ACTIVATION(blockC10, NL_M, NL_N);
                blockC20 = ACTIVATION(blockC20, NL_M, NL_N);
                blockC30 = ACTIVATION(blockC30, NL_M, NL_N);

                // eltwise
                uint src3_offset = FUNC_CALL(calculate_eltw_input_offset_based_on_output_offset)(out0_offset, ELTW_STRIDE_X,ELTW_STRIDE_Y);
                for(uint i = 0; i < 8; i++)
                {
                    blockC00[i] += src3[src3_offset + (i + 0 )* INPUT1_FEATURE_PITCH];
                    blockC10[i] += src3[src3_offset + (i + 8 )* INPUT1_FEATURE_PITCH];
                    blockC20[i] += src3[src3_offset + (i + 16)* INPUT1_FEATURE_PITCH];
                    blockC30[i] += src3[src3_offset + (i + 24)* INPUT1_FEATURE_PITCH];
                }

                blockC00 = ACTIVATION_ELTW(blockC00, NL_M_ELTW, NL_N_ELTW);
                blockC10 = ACTIVATION_ELTW(blockC10, NL_M_ELTW, NL_N_ELTW);
                blockC20 = ACTIVATION_ELTW(blockC20, NL_M_ELTW, NL_N_ELTW);
                blockC30 = ACTIVATION_ELTW(blockC30, NL_M_ELTW, NL_N_ELTW);
                // end eltwise

                for ( unsigned i = 0; i < 8; i++ )
                {
                    out0[( 0+i) * OUTPUT_FEATURE_PITCH] = blockC00[i];
                    out0[( 8+i) * OUTPUT_FEATURE_PITCH] = blockC10[i];
                    out0[(16+i) * OUTPUT_FEATURE_PITCH] = blockC20[i];
                    out0[(24+i) * OUTPUT_FEATURE_PITCH] = blockC30[i];
                }
            }
            else
            {
                if ( ( OUTPUT_FEATURE_NUM % TILE_N ) >= 24 )
                {
                    #if BIAS_TERM
                    blockC00 += *biasPtr;
                    blockC10 += *(biasPtr + 1);
                    blockC20 += *(biasPtr + 2);
                    if (( OUTPUT_FEATURE_NUM % TILE_N) > 24 ) blockC30 += *(biasPtr + 3);
                    #endif

                    blockC00 = ACTIVATION(blockC00, NL_M, NL_N);
                    blockC10 = ACTIVATION(blockC10, NL_M, NL_N);
                    blockC20 = ACTIVATION(blockC20, NL_M, NL_N);

                    // remaining output channels
                    for (unsigned i = 0; i < OUTPUT_FEATURE_NUM % 8; i++)
                    {
                        blockC30[i] = ACTIVATION(blockC30[i], NL_M, NL_N);
                    }

                    // eltwise
                    uint src3_offset = FUNC_CALL(calculate_eltw_input_offset_based_on_output_offset)(out0_offset, ELTW_STRIDE_X,ELTW_STRIDE_Y);
                    for(uint i = 0; i < 8; i++)

#define TILE_M          2
#define TILE_K          FILTER_SIZE_X
#define TILE_N          32

inline uint FUNC(calculate_eltw_input_offset_based_on_output_offset)(uint out_offset, uint strideX, uint strideY)
{
// bfyx
    uint tmp_idx = out_offset;
    uint x_idx = tmp_idx % OUTPUT_SIZE_X;
    x_idx *= strideX;
    tmp_idx /= OUTPUT_SIZE_X;
    uint y_idx = tmp_idx % OUTPUT_SIZE_Y;
    y_idx *= strideY;
    tmp_idx /= OUTPUT_SIZE_Y;
    uint f_idx = tmp_idx % OUTPUT_FEATURE_NUM;
    tmp_idx /= OUTPUT_FEATURE_NUM;
    uint b_idx = tmp_idx % OUTPUT_BATCH_NUM;

    return GET_DATA_INDEX(INPUT1, b_idx, f_idx, y_idx, x_idx);
}

__attribute__((intel_reqd_sub_group_size(8)))
KERNEL(fused_conv_eltwise_gemm_fp32)(
    const __global float *src0,
    __global float *dst,
    const __global float *src1,
#if BIAS_TERM
    const __global float *bias,
#endif
    uint split_idx,
    const __global float* src3)
{
/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

typedef struct half1  { half s0; }                                                               half1;
typedef struct half5  { half s0; half s1; half s2; half s3; half s4; }                           half5;
typedef struct half6  { half s0; half s1; half s2; half s3; half s4; half s5; }                  half6;
typedef struct half7  { half s0; half s1; half s2; half s3; half s4; half s5; half s6; }         half7;
typedef struct half9  { half s0; half s1; half s2; half s3; half s4; half s5; half s6; half s7;
                        half s8; }                                                               half9;
typedef struct half10 { half s0; half s1; half s2; half s3; half s4; half s5; half s6; half s7;
                        half s8; half s9; }                                                      half10;
typedef struct half11 { half s0; half s1; half s2; half s3; half s4; half s5; half s6; half s7;
                        half s8; half s9; half sa; }                                             half11;
typedef struct half12 { half s0; half s1; half s2; half s3; half s4; half s5; half s6; half s7;
                        half s8;  half s9; half sa; half sb;}                                    half12;
typedef struct half13 { half s0; half s1; half s2; half s3; half s4; half s5; half s6; half s7;
                        half s8;  half s9; half sa; half sb; half sc;}                           half13;
typedef struct half14 { half s0; half s1; half s2; half s3; half s4; half s5; half s6; half s7;
                        half s8;  half s9; half sa; half sb; half sc; half se;}                  half14;
typedef struct half15 { half s0; half s1; half s2; half s3; half s4; half s5; half s6; half s7;
                       half s8;  half s9; half sa; half sb; half sc; half se; half sf;}          half15;
typedef struct half0  { half s0; } half0; //never used but makes compiler happy.

typedef struct float1 { float s0; } float1;
typedef struct float5 { float s0; float s1; float s2; float s3; float s4; } float5;
typedef struct float6 { float s0; float s1; float s2; float s3; float s4; float s5; } float6;
typedef struct float7 { float s0; float s1; float s2; float s3; float s4; float s5; float s6; } float7;
typedef struct float9 { float s0; float s1; float s2; float s3; float s4; float s5; float s6; float s7; float s8; } float9;
typedef struct float10 { float s0; float s1; float s2; float s3; float s4; float s5;
                         float s6; float s7; float s8; float s9;} float10;
typedef struct float11 { float s0; float s1; float s2; float s3; float s4; float s5;
                         float s6; float s7; float s8; float s9; float sa;} float11;
typedef struct float12 { float s0; float s1; float s2; float s3; float s4; float s5;
                         float s6; float s7; float s8; float s9; float sa; float sb; } float12;
typedef struct float13 { float s0; float s1; float s2; float s3; float s4; float s5;
                         float s6; float s7; float s8; float s9; float sa; float sb; float sc;} float13;
typedef struct float14 { float s0; float s1; float s2; float s3; float s4; float s5;
                         float s6; float s7; float s8; float s9; float sa; float sb; float sc; float sd; } float14;
typedef struct float15 { float s0; float s1; float s2; float s3; float s4; float s5;
                         float s6; float s7; float s8; float s9; float sa; float sb; float sc; float sd; float se; } float15;
typedef struct float0 { float s0; } float0; //never used but makes compiler happy.


    const unsigned group_x = get_group_id(0);
    const unsigned group_y = get_group_id(1);
    const unsigned global_x = get_global_id(0);
    const unsigned global_y = get_global_id(1);
    const unsigned global_z = get_global_id(2);

    unsigned interleaved_y;
    unsigned kernel_y;
    unsigned kernel_idx;

    // Result ctile (*dst) is M rows x N columns
    // LWG size is 1x8.  Thus each thread calculates 8*M rows x N cols of ctile.
    float8  blockC00 = 0.f;
    float8  blockC10 = 0.f;
    float8  blockC20 = 0.f;
    float8  blockC30 = 0.f;
    float8  blockC01 = 0.f;
    float8  blockC11 = 0.f;
    float8  blockC21 = 0.f;
    float8  blockC31 = 0.f;

    const uint in_split_offset = split_idx * INPUT0_FEATURE_PITCH * INPUT0_FEATURE_NUM;
    // Src0 (patch input) is directly used as atile.
    // Each work item points to the start of a different patch.
    // atile is M rows x K columns.
    const uint src0_read_offset0_const = INPUT0_OFFSET_WITH_PADDING + in_split_offset
     + INPUT0_BATCH_PITCH * global_z                                                         // batch offset
     + ( ( ( global_y * TILE_M + 0 ) / OUTPUT_SIZE_X ) * STRIDE_SIZE_Y * INPUT0_Y_PITCH )    // y offset
     + ( ( ( global_y * TILE_M + 0 ) % OUTPUT_SIZE_X ) * STRIDE_SIZE_X );                    // x offset
    const uint src0_read_offset1_const = INPUT0_OFFSET_WITH_PADDING + in_split_offset
     + INPUT0_BATCH_PITCH * global_z                                                 // batch offset
     + ( ( ( global_y * TILE_M + 1 ) / OUTPUT_SIZE_X ) * STRIDE_SIZE_Y * INPUT0_Y_PITCH )    // y offset
     + ( ( ( global_y * TILE_M + 1 ) % OUTPUT_SIZE_X ) * STRIDE_SIZE_X );                    // x offset

    // Src1 (filter) is directly used as btile.
    // It starts at the top of src1 and walks down.
    // btile is K rows x N columns.
    uint src0_read_offset0 = src0_read_offset0_const;
    uint src0_read_offset1 = src0_read_offset1_const;
    uint src1_read_offset = ( global_x * TILE_N * 2);

#define DOT_PRODUCT_8( _result, _rowA, colB )    \
    {   \
        _result.s0 = mad( _rowA, sub_group_broadcast( colB,  0 ), _result.s0 );  \
        _result.s1 = mad( _rowA, sub_group_broadcast( colB,  1 ), _result.s1 );  \
        _result.s2 = mad( _rowA, sub_group_broadcast( colB,  2 ), _result.s2 );  \
        _result.s3 = mad( _rowA, sub_group_broadcast( colB,  3 ), _result.s3 );  \
        _result.s4 = mad( _rowA, sub_group_broadcast( colB,  4 ), _result.s4 );  \
        _result.s5 = mad( _rowA, sub_group_broadcast( colB,  5 ), _result.s5 );  \
        _result.s6 = mad( _rowA, sub_group_broadcast( colB,  6 ), _result.s6 );  \
        _result.s7 = mad( _rowA, sub_group_broadcast( colB,  7 ), _result.s7 );  \
    }

    // Walk DOWN src0 (patch 0, 1, 2, ...) and DOWN src1.
    // Inner loop loads and FMADs one row (FILTER_SIZE_X) of each input patch
    // and FILTER_SIZE_X/2 rows of interleaved filter.
    unsigned patch_depth = 0;
    do
    {
        unsigned patch_row = 0;
        do
        {
            // Load atile and btile.
            // Kernel data is partially interleaved.  Every 2 rows are interleaved at float8 granularity.
            // The exception is that if FILTER_SIZE_X is odd the last row is not interleaved.  The non
            // interleaved row is padded with zero to ensure same size as interleaved rows. This
            // interleaving is done to ensure 0% GDR bank conflicts.  For example, this is how the
            // kernel data would be arranged before/after interleaving for FILTER_SIZE_X=3.
            // (0, 0) (8, 0) (16, 0) (24, 0) ...       (0, 0) (0, 1) (8, 0) (0, 1) (16, 0) (0, 1) (24, 0) ..
            // (0, 1) (8, 1) (16, 1) (24, 1) ... =>    (0, 2) (8, 2) (16, 2) (24, 2) ...
            // (0, 2) (8, 2) (16, 2) (24, 2) ...       ...
            // ...
            const bool kernel_width_is_odd = FILTER_SIZE_X % 2 == 1;

            float blockA00[FILTER_SIZE_X];
            float blockA01[FILTER_SIZE_X];

            // in case the data is not aligned to sizeof(T)*FILTER_SIZE_X we need to use vload or set the data in a loop
            {
                unsigned i = 0;
                LOOP(FILTER_SIZE_X, i,
                {
#if LEFTOVERS == 1
                    if(src0_read_offset0_const + (FILTER_SIZE_Y - 1) * INPUT0_Y_PITCH + (INPUT0_FEATURE_NUM - 1) * (INPUT0_FEATURE_PITCH - ( FILTER_SIZE_Y * INPUT0_Y_PITCH )) >= INPUT0_BATCH_NUM * INPUT0_BATCH_PITCH)
                    {
                        if(src0_read_offset0 + i < INPUT0_BATCH_NUM * INPUT0_BATCH_PITCH)
                            blockA00[i] = src0[src0_read_offset0 + i];
                    }
                    else
#endif
                        blockA00[i] = src0[src0_read_offset0 + i];

#if LEFTOVERS == 1
                    if(src0_read_offset1_const + (FILTER_SIZE_Y - 1) * INPUT0_Y_PITCH + (INPUT0_FEATURE_NUM - 1) * (INPUT0_FEATURE_PITCH - ( FILTER_SIZE_Y * INPUT0_Y_PITCH )) >= INPUT0_BATCH_NUM * INPUT0_BATCH_PITCH)
                    {
                        if(src0_read_offset1 + i < INPUT0_BATCH_NUM * INPUT0_BATCH_PITCH)
                            blockA01[i] = src0[src0_read_offset1 + i];
                    }
                    else
#endif
                        blockA01[i] = src0[src0_read_offset1 + i];
                } )
            }

            float*  pblockA00 = (float*)(&blockA00);
            float*  pblockA01 = (float*)(&blockA01);

            src0_read_offset0 += INPUT0_Y_PITCH;
            src0_read_offset1 += INPUT0_Y_PITCH;


fused_conv_eltwise_gpu_gemm_fp32    const uint output_idx_offset = GET_DATA_B_FS_YX_FSV4_INDEX(OUTPUT, batch, f, or, oc);
    const uint output_row_size_bytes = (_OW + OWPAD) * PACK;
#ifdef ACTIVATION_ELTW //defined for fused conv+eltwise
    #if IN_OUT_OPT == 0
    const uint eltw_idx_offset = GET_DATA_B_FS_YX_FSV4_INDEX(INPUT1, batch, f, or * ELTW_STRIDE_Y, oc * ELTW_STRIDE_X);
    const uint eltw_row_size_bytes = (INPUT1_SIZE_X + INPUT1_PAD_BEFORE_SIZE_X + INPUT1_PAD_AFTER_SIZE_X) * PACK;
    #endif
#endif

    for (int r = 0; r < OUT_BLOCK_HEIGHT; r++)
    {
        for (int c = 0; c < OUT_BLOCK_WIDTH; c++)
        {
            uint out_idx = output_idx_offset + r * output_row_size_bytes + (c*PACK);
#ifdef ACTIVATION_ELTW //defined for fused conv+eltwise
    #if IN_OUT_OPT == 0
            uint eltw_idx = eltw_idx_offset + r * ELTW_STRIDE_Y * eltw_row_size_bytes + (c * ELTW_STRIDE_X * PACK);
    #else
            uint eltw_idx = out_idx;
    #endif
#endif

            int dotProd = out[r * OUT_BLOCK_WIDTH + c];

#if BIAS_TERM
    #if BIAS_PER_OUTPUT
        #error "BIAS_PER_OUTPUT is not supported!"
    #elif BIAS_PER_OFM
            const uint bias_index = f;
    #endif
    #if QUANTIZATION_TERM
            float before_output_calibration = dotProd * quantizations[f] * I_QF + biases[bias_index];
    #else
            int before_output_calibration = TO_UNIT_TYPE(dotProd + biases[bias_index]);
    #endif
#else // BIAS_TERM
    #if QUANTIZATION_TERM
        #error "Quantization without bias is meaningless, use output calibration instead!"
    #endif
            int before_output_calibration = dotProd;
#endif

#if CALIBRATION_TERM
            float before_activation = round(before_output_calibration * calibrations[f]);
#elif defined(O_QF)
            float before_activation = round(before_output_calibration * O_QF);
#else
            int before_activation = before_output_calibration;
#endif

            UNIT_TYPE after_activation = ACTIVATION(TO_UNIT_TYPE(before_activation), NL_M, NL_N);
#ifdef ACTIVATION_ELTW //defined for fused conv+eltwise
            output[out_idx] = ACTIVATION_ELTW(TO_UNIT_TYPE_SAT(
                round(((int)after_activation + (int)eltw_input[eltw_idx])*eltw_calibrations[f])),
                NL_M_ELTW, NL_N_ELTW);
#else
            output[out_idx] = after_activation;
#endif
        } // for (int c = 0; c < OUT_BLOCK_WIDTH; c++)
    } // for (int r = 0; r < OUT_BLOCK_HEIGHT; r++)
}

#if NON_BLOCK_LOAD != 1
#undef BLOCK_LOAD_WEIGHTS
#endif

#undef BLOCK_LOAD_INPUTS
#undef K_WSTRIDE
#undef K_HSTRIDE
#undef IN_BLOCK_WIDTH
#undef IN_BLOCK_HEIGHT
#undef PACK
#undef AS_TYPE_N_
#undef AS_TYPE_N
#undef AS_INPUT0_TYPE_4
#undef NUM_FILTERS

#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)

/*
// Copyright (c) 2018 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

inline int FUNC(imad_SW)(int acc, uchar4 input, char4 weight) __attribute__((overloadable)) {
    acc += input[0] * weight[0];
    acc += input[1] * weight[1];
    acc += input[2] * weight[2];
    acc += input[3] * weight[3];
    return acc;
}

inline int FUNC(imad_SW)(int acc, char4 input, char4 weight) __attribute__((overloadable)) {
    acc += input[0] * weight[0];
    acc += input[1] * weight[1];
    acc += input[2] * weight[2];
    acc += input[3] * weight[3];
    return acc;
}


#define IMAD(_O, _I, _W) FUNC_CALL(imad_SW)(_O, _I, _W)


#if NON_BLOCK_LOAD != 1
// block loads for inputs and weights should be fastest, but compiler seems
// to do better with a mix, regular loads for inputs and block loads for weights.
#define BLOCK_LOAD_WEIGHTS
#endif
// Input reading operation is always blocked.
#define BLOCK_LOAD_INPUTS

// for now kernel stride is square
#define K_WSTRIDE K_STRIDE
#define K_HSTRIDE K_STRIDE

// need KERNEL width for first output + STRIDE more for each additional.
#define IN_BLOCK_WIDTH  (K_WIDTH  + K_WSTRIDE * (OUT_BLOCK_WIDTH  - 1))
#define IN_BLOCK_HEIGHT (K_HEIGHT + K_HSTRIDE * (OUT_BLOCK_HEIGHT - 1))

// for imad we are packing 4 8bit activations per 32 bit SIMD lane
// if we later add 4bit, then PACK would be 8.
#define PACK 4

#define AS_TYPE_N_(type, n, x) as_##type##n(x)
#define AS_TYPE_N(type, n, x) AS_TYPE_N_(type, n, x)
#define AS_INPUT0_TYPE_4(x) AS_TYPE_N(INPUT0_TYPE, 4, x)

// int8 conv_input and weights data is packed to int32 "batches",
// int/uint pointers here instead of INPUT0_TYPE/FILTER_TYPE for convenience
__attribute__((intel_reqd_sub_group_size(SIMD_SIZE)))
KERNEL (fused_convolution_eltwise_gpu_imad)(
    const __global uint          *conv_input,
    __global OUTPUT_TYPE         *output,
    const __global int           *weights
#if BIAS_TERM
    , const __global BIAS_TYPE   *biases
#endif
#if QUANTIZATION_TERM
    , const __global float       *quantizations
#endif
#if CALIBRATION_TERM
    , const __global float       *calibrations
#endif
    , uint split_idx
// one kernel for both convolution and fused_conv_eltwise
#ifdef ACTIVATION_ELTW //defined for fused conv+eltwise
    , const __global OUTPUT_TYPE *eltw_input
    , const __global float       *eltw_calibrations
#endif
)
{
    const uint oc = get_global_id(0) * OUT_BLOCK_WIDTH;  // oc = Output Column
    const uint or = get_global_id(1) * OUT_BLOCK_HEIGHT; // or = Output Row
    const uint fm = get_global_id(2);                    // fm = Feature Map = od = Output Depth, SIMD is across this dimension, WG is 1x1x16
    const uint fmg = get_group_id(2);
    const uint lid = get_local_id(2);
    const uint batch = fm / _OD;
    const uint f = fm % _OD;

    uint in[IN_BLOCK_HEIGHT];
    int  out[OUT_BLOCK_WIDTH * OUT_BLOCK_HEIGHT] = { 0 };  // this is the 32 bit signed accumulator that must be converted to 8 bits before final write.

    #define NUM_FILTERS (K_HEIGHT * K_WIDTH)
    int w[NUM_FILTERS];

    int in_addr;

#ifdef BLOCK_LOAD_WEIGHTS
    int weight_addr = (fmg % (_OD / SIMD_SIZE)) * ((_ID * K_HEIGHT * K_WIDTH * SIMD_SIZE) / PACK);
#else
    int weight_addr = (fmg % (_OD / SIMD_SIZE)) * ((_ID * K_HEIGHT * K_WIDTH * SIMD_SIZE) / PACK) + lid;
#endif

    uint input_size = (_ID * (_IH + IHPAD) * (_IW + IWPAD)) / PACK; // dividing by PACK to get right number of 32bit entities.

    // For imad we do 4X less input feature map iterations since we are packing 4 of them in each uchar4.
    // _ID provided by host is multiple of packing factor.
    __attribute__((opencl_unroll_hint(1)))
    for(int kd = 0; kd < (_ID / PACK); kd++)
    {

#ifdef BLOCK_LOAD_INPUTS
        in_addr = kd * (_IH + IHPAD) * (_IW + IWPAD) + (or * K_STRIDE) * (_IW + IWPAD) + (oc * K_STRIDE);
#else
        in_addr = kd * (_IH + IHPAD) * (_IW + IWPAD) + (or * K_STRIDE) * (_IW + IWPAD) + (oc * K_STRIDE) + lid;
#endif
        in_addr += batch * input_size;  // adjust for batching

        for(uint reg = 0; reg < IN_BLOCK_HEIGHT; reg++) {
#ifdef BLOCK_LOAD_INPUTS
            in[reg] = intel_sub_group_block_read(&conv_input[in_addr]);
#else
            in[reg] = conv_input[in_addr];// read SIMD_SIZE elements wide
#endif
            in_addr += (_IW + IWPAD);  // move to next row down
        }

#ifdef BLOCK_LOAD_WEIGHTS
        *((int8*)&w[0]) = as_int8(intel_sub_group_block_read8((const __global uint*) &weights[weight_addr]));
        w[8]= as_int(intel_sub_group_block_read((const __global uint*) &weights[weight_addr + (SIMD_SIZE<<3)]));
        weight_addr += SIMD_SIZE*NUM_FILTERS;
#else
        for(int pf=0; pf < NUM_FILTERS; pf++) {
            w[pf] = weights[weight_addr];
            weight_addr += SIMD_SIZE;
        }
#endif

        int wi = 0;
        __attribute__((opencl_unroll_hint(K_HEIGHT)))
        for (int kr = 0; kr < K_HEIGHT; ++kr) // kr = Kernel Row
        {
            __attribute__((opencl_unroll_hint(K_WIDTH)))
            for (int kc = 0; kc < K_WIDTH; ++kc) // kc = Kernel Column
            {
                for (int br = 0; br < OUT_BLOCK_HEIGHT; br++) {
                    for (int bc = 0; bc < OUT_BLOCK_WIDTH; bc++) {
                        uint input = sub_group_broadcast(in[br * K_HSTRIDE + kr], bc * K_WSTRIDE + kc);

                        out[br * OUT_BLOCK_WIDTH + bc] =
                            IMAD(out[br * OUT_BLOCK_WIDTH + bc], AS_INPUT0_TYPE_4(input), as_char4(w[wi]));
                    }
                }
                wi++;
            }
        }
    } //for kd

    // Compiler emits worse code when GET_DATA_B_FS_YX_FSV4_INDEX is called inside the loop
    // to calculate out_idx and eltw_idx. Calculate offsets with GET_DATA_B_FS_YX_FSV4_INDEX before
    // entering the loop, and have a simple expressions for indexes inside the loop.
	idx += is_idx * size_y * size_x * 4 * 8 * 8;
	idx += os_idx * (f_32_aligned/32) * size_y * size_x * 4 * 8 * 8;

    return idx;
}

#define GET_FILTER_OS_IS_YX_ISA8_OSV8_ISV4_SWIZZLED_BY_4_INDEX(prefix, o, i, y, x) \
	FUNC_CALL(get_os_is_yx_isa8_osv8_isv4_swizzled_by_4_index)(                    \
        o, i, y, x, CAT(prefix, _SIZE_X ),                                      \
        CAT(prefix, _SIZE_Y),                                                \
        CAT(prefix, _IFM_NUM),                                                  \
        CAT(prefix, _OFM_NUM),                                                  \
        CAT(prefix, _OFFSET))


inline uint FUNC(get_is_o_yx_isv32_index)(uint o, uint i, uint y, uint x, uint i_size, uint o_size, uint x_size, uint y_size)
{
    const uint i_aligned_to_32 = ((i_size + 31) / 32) * 32;
    const uint i_val = i % 32;
    const uint i_slice = i / 32;
    const size_t idx = i_val + 32* (x + x_size * (y + y_size * (o + o_size * i_slice) ) );
    return idx;
}

#define GET_FILTER_IS_O_YX_ISV32(prefix, o, i, y, x)\
    FUNC_CALL(get_is_o_yx_isv32_index)(\
        o, i, y, x, CAT(prefix, _IFM_NUM),\
        CAT(prefix, _OFM_NUM),\
        CAT(prefix, _SIZE_X),\
        CAT(prefix, _SIZE_Y))

inline uint FUNC(get_is_o32_yx_isv32_swizzled_by_4_index)(uint o, uint i, uint y, uint x, uint i_size, uint o_size, uint x_size, uint y_size)
{
    const uint o_aligned_to_32 = ((o_size + 31) / 32) * 32;
    const uint o_swizzled = (o % 4) * 8 + ((o % 32) / 4) + (o / 32) * 32;
    const uint i_aligned_to_32 = ((i_size + 31) / 32) * 32;
    const uint i_val = i % 32;
    const uint i_slice = i / 32;
    const size_t idx = i_val + 32* (x + x_size * (y + y_size * (o_swizzled + o_aligned_to_32 * i_slice) ) );
    return idx;
}

#define GET_FILTER_IS_O32_YX_ISV32_SWIZZLED_BY_4(prefix, o, i, y, x)\
    FUNC_CALL(get_is_o32_yx_isv32_swizzled_by_4_index)(\
        o, i, y, x, CAT(prefix, _IFM_NUM),\
        CAT(prefix, _OFM_NUM),\
        CAT(prefix, _SIZE_X),\
        CAT(prefix, _SIZE_Y))

inline uint FUNC(get_os_is_y_x8_osv8_isv4_index)(uint o, uint i, uint y, uint x, uint i_size, uint o_size, uint x_size, uint y_size)
{
    const uint i_aligned_to_4 = ((i_size + 3) / 4) * 4;
    const uint o_aligned_to_8 = ((o_size + 7) / 8) * 8;
    const uint x_aligned_to_8 = ((x_size + 7) / 8) * 8;
    const uint i_val = i % 4;
    const uint i_slice = i / 4;
    const uint o_val = o % 8;
    const uint o_slice = o / 8;
    const size_t idx = i_val + 4 * (o_val + 8 * ( x + x_aligned_to_8 * (y + y_size * (i_slice + (i_aligned_to_4/4) * (o_slice)))));
    return idx;
}

#define GET_FILTER_OS_IS_Y_X8_OSV8_ISV4(prefix, o, i, y, x)\
    FUNC_CALL(get_os_is_y_x8_osv8_isv4_index)(\
        o, i, y, x, CAT(prefix, _IFM_NUM),\
        CAT(prefix, _OFM_NUM),\
        CAT(prefix, _SIZE_X),\
        CAT(prefix, _SIZE_Y))

inline uint FUNC(get_os_is_y_x8_osv8_isv4_swizzled_by_4_index)(uint o, uint i, uint y, uint x, uint i_size, uint o_size, uint x_size, uint y_size)
{
    const uint i_aligned_to_4 = ((i_size + 3) / 4) * 4;
    const uint o_aligned_to_8 = ((o_size + 7) / 8) * 8;
    const uint x_aligned_to_8 = ((x_size + 7) / 8) * 8;
    const uint i_val = i % 4;
    const uint i_slice = i / 4;
    const uint o_swizzled = (o % 4) * 8 + ((o % 32) / 4) + (o / 32) * 32;
    const uint o_val = o_swizzled % 8;
    const uint o_slice = o_swizzled / 8;
    const size_t idx = i_val + 4 * (o_val + 8 * ( x + x_aligned_to_8 * (y + y_size * (i_slice + (i_aligned_to_4/4) * (o_slice)))));
    return idx;
}

#define GET_FILTER_OS_IS_Y_X8_OSV8_ISV4_SWIZZLED_BY_4(prefix, o, i, y, x)\
    FUNC_CALL(get_os_is_y_x8_osv8_isv4_swizzled_by_4_index)(\
        o, i, y, x, CAT(prefix, _IFM_NUM),\
        CAT(prefix, _OFM_NUM),\
        CAT(prefix, _SIZE_X),\
        CAT(prefix, _SIZE_Y))


#define GET_DATA_B_FS_YX_FSV4_INDEX(prefix, o, i, y, x)\
    FUNC_CALL(get_b_fs_yx_fsv4)(\
        o, i, y, x,\
        CAT(prefix, _FEATURE_NUM),\
        CAT(prefix, _PAD_BEFORE_SIZE_Y), CAT(prefix, _SIZE_Y), CAT(prefix, _PAD_AFTER_SIZE_Y),\
        CAT(prefix, _PAD_BEFORE_SIZE_X), CAT(prefix, _SIZE_X), CAT(prefix, _PAD_AFTER_SIZE_X))

inline uint FUNC(get_b_fs_yx_fsv4)(uint o, uint i, uint y, uint x,
                                   uint feature_num,
                                   uint pad_before_size_y, uint size_y, uint pad_after_size_y,
                                   uint pad_before_size_x, uint size_x, uint pad_after_size_x)
{
    const uint tile = 4;
    uint id_tile = i / tile;
    uint id      = i - id_tile * tile;

    const uint feature_num_aligned4 = ((feature_num + 3) / 4) * 4;

    uint idx = o * (feature_num_aligned4 / tile) *
                   (pad_before_size_y + size_y + pad_after_size_y) *
                   (pad_before_size_x + size_x + pad_after_size_x) * tile
               + id_tile * (pad_before_size_y + size_y + pad_after_size_y) *
                           (pad_before_size_x + size_x + pad_after_size_x) * tile
               + pad_before_size_y * (pad_before_size_x + size_x + pad_after_size_x) * tile
               + y * (pad_before_size_x + size_x + pad_after_size_x) * tile
               + pad_before_size_x * tile
               + x * tile
               + id;

    return idx;
}

#define GET_FILTER_OS_IS_YX_OSV16_ISV4_INDEX(prefix, o, i, y, x)\
    FUNC_CALL(get_os_is_yx_osv16_isv4)(\
        o, i, y, x,\
        CAT(prefix, _IFM_PITCH),\
        CAT(prefix, _OFM_PITCH),\
        CAT(prefix, _SIZE_X))

inline uint FUNC(get_os_is_yx_osv16_isv4)(uint o, uint i, uint y, uint x,
                                          uint i_size,
                                          uint o_size,
                                          uint x_size)
{
    const uint otd = 16;
    uint out_depth_tile = o / otd;
    uint od             = o - out_depth_tile * otd;

    const uint tile = 4;
    uint id_tile = i / tile;
    uint id      = i - id_tile * tile;

    uint idx = out_depth_tile * (o_size / tile) * otd * tile
               + id_tile               * i_size * otd * tile
               + y                     * x_size * otd * tile
               + x                              * otd * tile
               + od                                   * tile
               + id;

    return idx;
}

#define GET_DATA_FS_B_YX_FSV32_INDEX(prefix, b, f, y, x)\
    FUNC_CALL(get_fs_b_yx_fsv32_index)(                 \
        b, f, y, x,                                     \
        CAT(prefix, _PAD_BEFORE_SIZE_X),                \
        CAT(prefix, _SIZE_X),                           \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define GET_DATA_BYX8_F4_INDEX(prefix, b, f, y, x)\
	FUNC_CALL(get_byx8_f4_index)(                 \
		b, f, y, x, CAT(prefix, _X_PITCH),          \
		CAT(prefix, _Y_PITCH),                      \
		CAT(prefix, _BATCH_PITCH),                      \
		CAT(prefix, _FEATURE_NUM),                 \
		CAT(prefix, _SIZE_X),                 \
		CAT(prefix, _OFFSET))

#define GET_DATA_BF8_XY16_INDEX(prefix, b, f, y, x)     \
    FUNC_CALL(get_bf8_xy16_index)(                      \
        b, f, y, x, CAT(prefix, _SIZE_X ),              \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _FEATURE_NUM),                      \
        CAT(prefix, _OFFSET))

inline uint FUNC(get_fs_bs_yx_bsv4_fsv32_index)(uint b, uint f, uint y, uint x,
    uint x_pad_before, uint x_size, uint x_pad_after,
    uint y_pad_before, uint y_size, uint y_pad_after,
    uint size_f, uint size_b)
{
    const uint f_32_aligned = ((size_f + 31)/32) * 32;
    const uint b_4_aligned = ((size_b + 3)/4) * 4;
    const uint fsv_idx = f % 32;
    const uint bsv_idx = b % 4;
    const uint fs_idx = f / 32;
    const uint bs_idx = b / 4;

    const uint x_pitch = 32 * 4;
    const uint y_pitch = 32 * 4 * (x_pad_before + x_size + x_pad_after);
    const uint bs_pitch = y_pitch * (y_pad_before + y_size + y_pad_after);
    const uint fs_pitch = bs_pitch * (b_4_aligned / 4);
    uint offset = x_pitch * x_pad_before + y_pitch * y_pad_before;

    size_t idx = offset + fsv_idx + bsv_idx * 32;
    idx += 32*4 * x;
    idx += y * y_pitch;
    idx += bs_idx * bs_pitch;
    idx += fs_idx * fs_pitch;

    return idx;
}

#define GET_DATA_FS_BS_YX_BSV4_FSV32_INDEX(prefix, b, f, y, x)\
	FUNC_CALL(get_fs_bs_yx_bsv4_fsv32_index)(       \
		b, f, y, x,                                 \
        CAT(prefix, _PAD_BEFORE_SIZE_X),            \
        CAT(prefix, _SIZE_X),                       \
        CAT(prefix, _PAD_AFTER_SIZE_X),             \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),            \
        CAT(prefix, _SIZE_Y),                       \
        CAT(prefix, _PAD_AFTER_SIZE_Y),             \
		CAT(prefix, _FEATURE_NUM),                  \
        CAT(prefix, _BATCH_NUM))

#define GET_FILTER_INDEX(prefix, o, i, y, x)    \
    CAT(prefix, _OFFSET) +                      \
    (x)*CAT(prefix, _X_PITCH) +                 \
    (y)*CAT(prefix, _Y_PITCH) +                 \
    (i)*CAT(prefix, _IFM_PITCH) +               \
    (o)*CAT(prefix, _OFM_PITCH)

#define GET_FILTER_INDEX_SAFE(prefix, o, i, y, x)           \
    CAT(prefix, _OFFSET) +                                  \
    (x % CAT(prefix, _SIZE_X ))*CAT(prefix, _X_PITCH) +     \
    (y % CAT(prefix, _SIZE_Y ))*CAT(prefix, _Y_PITCH) +     \
    (i % CAT(prefix, _IFM_NUM))*CAT(prefix, _IFM_PITCH) +   \
    (o % CAT(prefix, _OFM_NUM))*CAT(prefix, _OFM_PITCH)

#define GET_FILTER_OS_IYX_OSV8_INDEX(prefix, o, i, y, x, sub_group_size)    \
    CAT(prefix, _OFFSET) +                                                  \
    ((o) % (sub_group_size)) +                                              \
    (sub_group_size)*(                                                      \
        (x)*CAT(prefix, _X_PITCH) +                                         \
        (y)*CAT(prefix, _Y_PITCH) +                                         \
        (i)*CAT(prefix, _IFM_PITCH) +                                       \
        ((o) / (sub_group_size))*CAT(prefix, _OFM_PITCH)                    \
    )

#define GET_FILTER_OS_IYX_OSV8_ROTATE_180_INDEX(prefix, o, i, y, x, sub_group_size)    \
    CAT(prefix, _OFFSET) +                                                  \
    ((o) % (sub_group_size)) +                                              \
    (sub_group_size)*(                                                      \
        (CAT(prefix, _SIZE_X ) - x - 1)*CAT(prefix, _X_PITCH) +             \
        (CAT(prefix, _SIZE_Y ) - y - 1)*CAT(prefix, _Y_PITCH) +             \
        (i)*CAT(prefix, _IFM_PITCH) +                                       \
        ((o) / (sub_group_size))*CAT(prefix, _OFM_PITCH)                    \
    )

inline uint FUNC(get_i_yxs_os_yxsv2_osv_index)(uint o, uint i, uint y, uint x, uint x_size, uint i_pitch, uint y_pitch, uint x_pitch, uint offset, uint sub_group_size)
{
    const uint aligned_ofm_line = x_pitch;
    const uint ifm_height_pitch = (i_pitch/aligned_ofm_line);
    const uint dst_height = i*ifm_height_pitch + y*x_size + x;
    const uint base_filter_index = y*x_size + x;

    const uint aligned_height = dst_height & 0xfffffffe;
    const uint base_filter_odd = (base_filter_index & 0x1);

    uint slice_id = o / sub_group_size;
    uint id_in_slice = o % sub_group_size;
    uint slice_pitch = 2*sub_group_size;
    uint offset_in_slice = (int)(sub_group_size*base_filter_odd);

    const uint in_line = (slice_pitch*slice_id + offset_in_slice + id_in_slice);
    const size_t idx = offset + aligned_height*aligned_ofm_line + in_line;

    return idx;
}

#define GET_FILTER_I_YXS_OS_YXSV2_OSV_INDEX(prefix, o, i, y, x, sub_group_size) \
    FUNC_CALL(get_i_yxs_os_yxsv2_osv_index)(                                    \
        o, i, y, x, CAT(prefix, _SIZE_X ),                                      \
        CAT(prefix, _IFM_PITCH),                                                \
        CAT(prefix, _Y_PITCH),                                                  \
        CAT(prefix, _X_PITCH),                                                  \
        CAT(prefix, _OFFSET),                                                   \
        sub_group_size)

inline uint FUNC(get_iy_xs_os_xsv2_osv_index)(uint o, uint i, uint y, uint x, uint x_size, uint i_pitch, uint y_pitch, uint x_pitch, uint offset, uint sub_group_size)
{
    const uint aligned_ofm_line = x_pitch;
    const uint ifm_height_pitch = (i_pitch/aligned_ofm_line);
    const uint aligned_x_line = y_pitch / x_pitch;
    const uint dst_height = i*ifm_height_pitch + y*aligned_x_line + x;
    const uint base_filter_index = x;

    const uint aligned_height = dst_height & 0xfffffffe;
    const uint base_filter_odd = (base_filter_index & 0x1);

    uint slice_id = o / sub_group_size;
    uint id_in_slice = o % sub_group_size;
    uint slice_pitch = 2*sub_group_size;
    uint offset_in_slice = (int)(sub_group_size*base_filter_odd);

    const bool last_line_in_base_filter = (x == (x_size - 1));
    if (last_line_in_base_filter && base_filter_odd == 0)
    {
        const uint element_in_slice = 32;
        slice_id = o / element_in_slice;
        id_in_slice = o % element_in_slice;
        slice_pitch = 2*element_in_slice;
        offset_in_slice = 0;
    }

    const uint in_line = (slice_pitch*slice_id + offset_in_slice + id_in_slice);
    const size_t idx = offset + aligned_height*aligned_ofm_line + in_line;

    return idx;
}

#define GET_FILTER_IY_XS_OS_XSV2_OSV_INDEX(prefix, o, i, y, x, sub_group_size)  \
    FUNC_CALL(get_iy_xs_os_xsv2_osv_index)(                                     \
        o, i, y, x, CAT(prefix, _SIZE_X ),                                      \
        CAT(prefix, _IFM_PITCH),                                                \
        CAT(prefix, _Y_PITCH),                                                  \
        CAT(prefix, _X_PITCH),                                                  \
        CAT(prefix, _OFFSET),                                                   \
        sub_group_size)

inline uint FUNC(get_os_is_yx_isa8_osv8_isv4_index)(uint o, uint i, uint y, uint x, uint size_x, uint size_y, uint size_ifm, uint size_ofm, uint offset)
{
    const uint f_32_aligned = ((size_ifm + 31)/32) * 32;
	const uint isv2_idx = i % 4;
	const uint osv_idx = o % 8;
	const uint isv1_idx = (i / 4) % 8;
	const uint is_idx = i / 32;
	const uint os_idx = o / 8;

	size_t idx = offset + isv2_idx + 4 * (osv_idx + 8 * isv1_idx);
	idx += x * 4 * 8 * 8;
	idx += y * size_x * 4 * 8 * 8;
	idx += is_idx * size_y * size_x * 4 * 8 * 8;
	idx += os_idx * (f_32_aligned/32) * size_y * size_x * 4 * 8 * 8;

    return idx;
}

#define GET_FILTER_OS_IS_YX_ISA8_OSV8_ISV4(prefix, o, i, y, x) \
	FUNC_CALL(get_os_is_yx_isa8_osv8_isv4_index)(                               \
        o, i, y, x, CAT(prefix, _SIZE_X ),                                      \
        CAT(prefix, _SIZE_Y),                                                \
        CAT(prefix, _IFM_NUM),                                                  \
        CAT(prefix, _OFM_NUM),                                                  \
        CAT(prefix, _OFFSET))

inline uint FUNC(get_os_is_yx_isa8_osv8_isv4_swizzled_by_4_index)(uint o, uint i, uint y, uint x, uint size_x, uint size_y, uint size_ifm, uint size_ofm, uint offset)
{
    const uint o_swizzled = (o % 4) * 8 + ((o % 32) / 4) + (o / 32) * 32;

    const uint f_32_aligned = ((size_ifm + 31)/32) * 32;
	const uint isv2_idx = i % 4;
	const uint osv_idx = o_swizzled % 8;
	const uint isv1_idx = (i / 4) % 8;
	const uint is_idx = i / 32;
	const uint os_idx = o_swizzled / 8;

	size_t idx = offset + isv2_idx + 4 * (osv_idx + 8 * isv1_idx);
	idx += x * 4 * 8 * 8;
	idx += y * size_x * 4 * 8 * 8;
// Copyright (c) 2018-2019 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/


#define GET_DATA_INDEX(prefix, b, f, y, x)  \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_INDEX_SAFE(prefix, b, f, y, x)                     \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

 #define GET_3D_DATA_INDEX(prefix, b, f, z, y, x) \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (z)*CAT(prefix, _Z_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_3D_DATA_INDEX_SAFE(prefix, b, f, z, y, x)               \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (z % CAT(prefix, _SIZE_Z     ))*CAT(prefix, _Z_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_BS_FYX_BSV8_INDEX(prefix, b, f, y, x, sub_group_size)  \
    CAT(prefix, _OFFSET) +                                              \
    ((b) % (sub_group_size)) +                                          \
    (sub_group_size)*(                                                  \
        (x)*CAT(prefix, _X_PITCH) +                                     \
        (y)*CAT(prefix, _Y_PITCH) +                                     \
        (f)*CAT(prefix, _FEATURE_PITCH) +                               \
        ((b) / (sub_group_size))*CAT(prefix, _BATCH_PITCH)              \
    )

inline uint FUNC(get_bf8_xy16_index)(uint b, uint f, uint y, uint x, uint x_size, uint y_size, uint f_size, uint offset)
{
    const uint xy_idx = x + y * x_size;
    const uint xy_offset = (xy_idx % 16) + (xy_idx / 16) * 16 * 8;
    const uint xy_block_num = (x_size * y_size + 16 - 1) / 16;
    const uint f_offset = (f % 8) * 16 + (f / 8) * xy_block_num * 16 * 8;
    const uint f_block_num = (f_size + 8 - 1) / 8;
    const uint b_offset = b * f_block_num * xy_block_num * 128;

    const size_t idx = offset + xy_offset + f_offset + b_offset;

    return idx;
}

inline uint FUNC(get_bfyx_f16_index)(
    uint b, uint f, uint y, uint x,
    uint x_size, uint y_size, uint f_size,
    uint y_pad_before,uint y_pad_after,
    uint x_pad_before, uint x_pad_after,
    uint f_pad_before, uint f_pad_after)
{
    const uint feature_slice_size = 16;

    const uint full_width = x_size + x_pad_before + x_pad_after;
    const uint full_height = y_size + y_pad_before + y_pad_after;
    const uint full_features = f_pad_before + f_size + f_pad_after;
    const uint feature_tiles_number = (full_features + feature_slice_size - 1) / feature_slice_size;

    const uint x_pitch = feature_slice_size;
    const uint y_pitch = x_pitch * full_width;
    const uint fs_pitch = y_pitch * full_height;
    const uint b_pitch = fs_pitch * feature_tiles_number;

    const uint x_offset = (x + x_pad_before) * x_pitch;
    const uint y_offset = (y + y_pad_before) * y_pitch;
    const uint fs_offset = (f / feature_slice_size + f_pad_before / feature_slice_size) * fs_pitch;
    const uint b_offset = b * b_pitch;

    const size_t idx = x_offset + y_offset + fs_offset + b_offset + (f % feature_slice_size);

    return idx;
}

#define GET_DATA_BFYX_F16_INDEX(prefix, b, f, y, x)     \
    FUNC_CALL(get_bfyx_f16_index)(                      \
        b, f, y, x,                                     \
        CAT(prefix, _SIZE_X ),                          \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _FEATURE_NUM),                      \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_X),                \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _PAD_AFTER_FEATURE_NUM))

#define GET_FILTER_O_I_YX_I16_O16_INDEX(prefix, o, i, y, x, sub_group_size)  \
    CAT(prefix, _OFFSET) +                                                   \
    ((o) % (sub_group_size)) +                                               \
    (sub_group_size)*(                                                       \
        (x)*(sub_group_size)*CAT(prefix, _X_PITCH) +                         \
        (y)*(sub_group_size)*CAT(prefix, _Y_PITCH) +                         \
        ((i) % (sub_group_size)) +                                           \
        ((i) / (sub_group_size))*(sub_group_size)*CAT(prefix, _IFM_PITCH) +  \
        ((o) / (sub_group_size))*CAT(prefix, _OFM_PITCH)                     \
    )

inline uint FUNC(get_byxf_af32_index)(uint b, uint f, uint y, uint x, uint y_pitch, uint b_pitch, uint f_size, uint offset)
{
	const uint f_aligned_to_32 = ((f_size + 31) / 32) * 32;
	const uint b_offset = b * b_pitch;
	const uint xy_offset = f_aligned_to_32 * x + y_pitch * y;
	const uint f_offset = f;
	const size_t idx = offset + xy_offset + b_offset + f_offset;
	return idx;
}

#define GET_DATA_BYXF_AF32_INDEX(prefix, b, f, y, x)\
	FUNC_CALL(get_byxf_af32_index)(                 \
		b, f, y, x, CAT(prefix, _Y_PITCH),          \
		CAT(prefix, _BATCH_PITCH),                      \
		CAT(prefix, _FEATURE_NUM),                 \
		CAT(prefix, _OFFSET))

inline uint FUNC(get_byx8_f4_index)(uint b, uint f, uint y, uint x,
    uint x_pitch, uint y_pitch, uint b_pitch, uint f_size, uint x_size, uint offset)
{
    const uint f_aligned_to_4 = ((f_size + 3) / 4) * 4;
    const uint x_aligned_to_8 = ((x_size + 7) / 8) * 8;
    const uint b_offset = b * b_pitch;
    const uint xy_offset = x * x_pitch + y * y_pitch;
    const uint f_offset = f;
    const size_t idx = offset + xy_offset + b_offset + f_offset;
    return idx;
}

    uint cOffset = sg_global_idX * (MATRIX_M * SG_TILE_N / sizeof(uchar)) +
                   sg_global_idY * (SG_TILE_M * SG_TILE_N / sizeof(uchar));

    uchar16 regC_uchar16;
    uint offset_uc16 = 0;

    const uint workgroup_id_x = get_group_id(0);
    uint feature_off = 32*(sub_group_id % (WG_TILE_N / 32)) + WG_TILE_N*workgroup_id_x; //=32*{0,1,2,3} + WG_TILE_N * workgroup_id_x
    uint feature = get_sub_group_local_id()*4 + feature_off;

    float4 quant_f = vload4(0, quantizations + feature);
    float4 bias_f = vload4(0, biases + feature);
    float4 calib_f = vload4(0, calibrations + feature);

    // eltwise calibs
    float4 eltw_calib_f = vload4(0, eltw_calibrations + feature);

    uchar16 eltw[(2*SG_TILE_M) / (sizeof(int8) / sizeof(int))];
    uint tmpcOff = cOffset;
    __attribute__((opencl_unroll_hint( SG_TILE_M / (sizeof(int8) / sizeof(int)) )))
    for (uint i = 0; i < (2*SG_TILE_M) / (sizeof(int8) / sizeof(int)); i++)
    {
        uint padded_offset = FUNC_CALL(calculate_output_offset_to_account_padding)(tmpcOff);
#if IN_OUT_OPT == 1
        eltw[i] = as_uchar16(intel_sub_group_block_read4((__global uint*)(g_outC_uchar + padded_offset)));
#else
        const uint eltw_second_input_offset = FUNC_CALL(calculate_eltw_input_offset_based_on_output_offset_account_padding)(tmpcOff, ELTW_STRIDE_X, ELTW_STRIDE_Y);
        eltw[i] = as_uchar16(intel_sub_group_block_read4((__global uint*)(input2 + eltw_second_input_offset)));
#endif
        tmpcOff += sizeof(uchar16) * SG_SIZE;
    }

#if MMAD_SUPPORTED == 1
    __attribute__((opencl_unroll_hint( SG_TILE_M / (sizeof(int8) / sizeof(int)) )))
#endif
    for (uint i = 0; i < SG_TILE_M / (sizeof(int8) / sizeof(int)); i++)
    {
        uint padded_offset = FUNC_CALL(calculate_output_offset_to_account_padding)(cOffset);
        {
            uchar16 eltw_input_vals = eltw[i * 2];
            // B0..3, F0..31
            QUANTIZATION(0);
        }

        intel_sub_group_block_write4((__global uint*)(g_outC_uchar + padded_offset), as_uint4(regC_uchar16));
        cOffset += sizeof(uchar16) * SG_SIZE;

        // now we need to calculate again for other x
        padded_offset = FUNC_CALL(calculate_output_offset_to_account_padding)(cOffset);
        {
            uchar16 eltw_input_vals = eltw[i * 2 + 1];
            // B0..3, F0..31
            QUANTIZATION(4);
        }

        intel_sub_group_block_write4( (__global uint*)(g_outC_uchar + padded_offset), as_uint4(regC_uchar16) );
        cOffset += sizeof(uchar16) * SG_SIZE;
    }
#else
    // Write final accumulated values
    uint cOffset = sg_global_idX * ((MATRIX_M / 8) * SG_TILE_N) + sg_global_idY * (SG_TILE_M / 8) +
                   sg_tid * (MATRIX_M / 8);
    __attribute__((opencl_unroll_hint(SIMD_LANE_N)))
    for (uint i = 0; i < (SIMD_LANE_N); ++i)
    {
        __attribute__((opencl_unroll_hint(SIMD_LANE_M / 8)))
        for (uint j = 0; j < (SIMD_LANE_M / 8); ++j)
        {
            g_matrixC[cOffset + j] = regC[i*(SIMD_LANE_M / 8) + j];
        }
        cOffset += SG_SIZE * (MATRIX_M / 8);
    }
#endif
}

#undef SUM_SCALE
#undef SCALE
#undef QUANTIZATION

    }
    colB[1] = l_tileB[l_offsetTileB_col3];
    __attribute__((opencl_unroll_hint(SG_TILE_M / 8)))
    for (uint j = 0; j < (SG_TILE_M / 8); ++j)
    {
        // Compute partial C
        regC[2*(SIMD_LANE_M / 8) + j] = MMAD_8x8(rowA[j], colB[0], regC[2*(SIMD_LANE_M / 8) + j]);
    }
    __attribute__((opencl_unroll_hint(SG_TILE_M / 8)))
    for (uint j = 0; j < (SG_TILE_M / 8); ++j)
    {
        // Compute partial C
        regC[3*(SIMD_LANE_M / 8) + j] = MMAD_8x8(rowA[j], colB[1], regC[3*(SIMD_LANE_M / 8) + j]);
    }
}

/*
 *  \brief GEMM kernel to compute MxN matrix using SLM
 *  \param g_inA  - Input matrix
 *  \param g_inB  - Input matrix
 *  \param g_outC - Output matrix
 */

__attribute__((intel_reqd_sub_group_size(SG_SIZE)))
KERNEL(Kernel_GEMM_MMAD8_32x32SG_128x128WG_SLM_INT8_fused_eltwise)
  (
  __global char* const g_inA,
  __global int* g_outC,
  __global char* const g_inB,
    #if BIAS_TERM
        __global BIAS_TYPE* biases,
    #endif
        __global float* quantizations,
    #if CALIBRATION_TERM
        __global float* calibrations,
    #endif
        uint split_idx,
  __global char* const input2,
  __global float* eltw_calibrations
   )
{

    __global int4* const g_matrixA = (__global int4*)g_inA;
    __global int4* const g_matrixB = (__global int4*)g_inB;
    __global int8* g_matrixC = (__global int8*)g_outC;

    // Each work-group works to compute 128x128 tile.
    // Each work-group contains 16 sub-groups.
    // Each sub-group within the work-group works to compute a 32x32 tile.
    // 1) All work-items in WG fill SLM with tileA (128x32) and tileB (32x128).
    // 2) Each sub-group works to compute 32x32 tileC (stored in regC).
    //    Note that each work-item in the sub-group computes a 32x4 chunk of tileC.
    // 3) Repeat until tileC is fully computed (while moving tileA and tileB "windows")
    __local int8 l_workGroupTileA[2 * (WG_TILE_M * MATRIX_SMALL_K) / sizeof(int8)]; // [2*128*32/8] = 1024
    __local int8 l_workGroupTileB[2 * (WG_TILE_N * MATRIX_SMALL_K) / sizeof(int8)]; // [2*128*32/8] = 1024

    __local uint* l_workGroupTileA_uint = (__local uint*)l_workGroupTileA;
    __local int4* l_workGroupTileA_int4 = (__local int4*)l_workGroupTileA;
    __local int4* l_workGroupTileB_int4 = (__local int4*)l_workGroupTileB;

    const uint l_groupSize = get_local_size(DIM_X) * get_local_size(DIM_Y);

    const uint l_pingPongOffsetA_uint = (WG_TILE_M * MATRIX_SMALL_K) / sizeof(uint);
    const uint l_pingPongOffsetB_int8 = (WG_TILE_N * MATRIX_SMALL_K) / sizeof(int8);
    const uint l_pingPongOffsetA_int4 = (WG_TILE_M * MATRIX_SMALL_K) / sizeof(int4);
    const uint l_pingPongOffsetB_int4 = (WG_TILE_N * MATRIX_SMALL_K) / sizeof(int4);

    // Thread IDs
    const uint g_tidY = get_global_id(DIM_Y); // 0,...,all_wi_inY
    const uint g_tidX = get_global_id(DIM_X); // 0,...,all_wi_inX
    const uint l_tidX = get_local_id(DIM_X);  // 0,...,31 in WG
    const uint l_tidY = get_local_id(DIM_Y);  // 0,1,2,3  in WG
    const uint l_tid = l_tidY * get_local_size(DIM_X) + l_tidX; // 0,1,2,...127

    // SubGroup IDs
    const uint sg_tid = get_sub_group_local_id();            // 0,1,...,8
    const uint sg_global_idX = (uint)(g_tidX / SG_SIZE);     //{0}/8
    const uint sg_global_idY = g_tidY;                       //{0}

    const uint sg_local_idX = (uint)(l_tidX / SG_SIZE);      // {0,...,31}/8={0,0,0,0,0...,1,1,1,...,3,3,3}
    const uint sg_local_idY = l_tidY;                        // 0,1,2,3
    const uint sg_local_id = sg_local_idY * get_local_size(DIM_X) / SG_SIZE + sg_local_idX;  // get_local_size(DIM_X) / SG_SIZE = 32/8 = 4

    const uint sub_group_id = get_sub_group_id();


    // Registers
    int8 regC[(SIMD_LANE_M / 8) * SIMD_LANE_N] = {0}; // Each work-item responsible for 32x4 ints elts   // (32/8)*4
    int8 rowA[(SG_TILE_M * MATRIX_SMALL_K / SG_SIZE) / sizeof(int8)]; // each work-item will hold 1/8 of matrixA
    int8 colB[2];  // each lane will store 32x4 piece of matrixB

    // SLM indices
    const uint l_offsetTileA = SG_TILE_M * (MATRIX_SMALL_K / sizeof(uint)) * sg_local_idY;
    const uint numElements32x32TileB = (MATRIX_SMALL_K * SG_TILE_N) / sizeof(int8);
    const uint numElements32x8TileB = numElements32x32TileB / 4;
    const uint l_offsetTileB = numElements32x32TileB * sg_local_idX;
    const uint l_offsetTileB_col0 = l_offsetTileB + sg_tid;
    const uint l_offsetTileB_col1 = l_offsetTileB + 1 * numElements32x8TileB + sg_tid;
    const uint l_offsetTileB_col2 = l_offsetTileB + 2 * numElements32x8TileB + sg_tid;
    const uint l_offsetTileB_col3 = l_offsetTileB + 3 * numElements32x8TileB + sg_tid;

    // Global indices
    uint g_idxA[2];
    uint g_idxB[2];
#ifdef TILED_GLOBAL_LAYOUT // 32-row major (matrixA) and 32-col major (matrixB)
    g_idxA[0] = ((MATRIX_SMALL_K / sizeof(int4)) * WG_TILE_M) * get_group_id(DIM_Y) + l_tid;
    g_idxB[0] = ((MATRIX_SMALL_K / sizeof(int4)) * WG_TILE_N) * get_group_id(DIM_X) + l_tid;
    g_idxA[1] = g_idxA[0] + l_groupSize;
    g_idxB[1] = g_idxB[0] + l_groupSize;
#else // Row (matrixA) and Col (matrixB) major layout
    g_idxA[0] = WG_TILE_M * (MATRIX_K / sizeof(int4)) * get_group_id(DIM_Y) +
               (l_tid / 2) * (MATRIX_K / sizeof(int4)) + (l_tid % 2);
    g_idxB[0] = WG_TILE_N * (MATRIX_K / sizeof(int4)) * get_group_id(DIM_X) +
               (l_tid / 2) * (MATRIX_K / sizeof(int4)) + (l_tid % 2);
    g_idxA[1] = g_idxA[0] + (l_groupSize / 2) * (MATRIX_K / sizeof(int4));
    g_idxB[1] = g_idxB[0] + (l_groupSize / 2) * (MATRIX_K / sizeof(int4));
#endif

    // Initial SLM setup
    {
        l_workGroupTileA_int4[l_tid] = g_matrixA[g_idxA[0]];
        l_workGroupTileB_int4[l_tid] = g_matrixB[g_idxB[0]];
        l_workGroupTileA_int4[l_tid + l_groupSize] = g_matrixA[g_idxA[1]];
        l_workGroupTileB_int4[l_tid + l_groupSize] = g_matrixB[g_idxB[1]];

#ifdef TILED_GLOBAL_LAYOUT
        g_idxA[0] += MATRIX_M * MATRIX_SMALL_K / sizeof(int4);
        g_idxB[0] += MATRIX_N * MATRIX_SMALL_K / sizeof(int4);
        g_idxA[1] += MATRIX_M * MATRIX_SMALL_K / sizeof(int4);
        g_idxB[1] += MATRIX_N * MATRIX_SMALL_K / sizeof(int4);
#else
        g_idxA[0] += MATRIX_SMALL_K / sizeof(int4);
        g_idxB[0] += MATRIX_SMALL_K / sizeof(int4);
        g_idxA[1] += MATRIX_SMALL_K / sizeof(int4);
        g_idxB[1] += MATRIX_SMALL_K / sizeof(int4);
#endif

        barrier(CLK_LOCAL_MEM_FENCE);
    }

    int4 hdcReadValueA[2];
    int4 hdcReadValueB[2];

    __attribute__((opencl_unroll_hint(1)))
    for (uint k = 0; k < (MATRIX_K / MATRIX_SMALL_K) - 1; k++)
    {
        /*
         * SLM setup - HDC read only
         */
        // Overlap HDC reads with mmad compute
        hdcReadValueA[0] = g_matrixA[g_idxA[0]];
        hdcReadValueB[0] = g_matrixB[g_idxB[0]];
        hdcReadValueA[1] = g_matrixA[g_idxA[1]];
        hdcReadValueB[1] = g_matrixB[g_idxB[1]];

#ifdef TILED_GLOBAL_LAYOUT
        g_idxA[0] += MATRIX_M * MATRIX_SMALL_K / sizeof(int4);
        g_idxB[0] += MATRIX_N * MATRIX_SMALL_K / sizeof(int4);
        g_idxA[1] += MATRIX_M * MATRIX_SMALL_K / sizeof(int4);
        g_idxB[1] += MATRIX_N * MATRIX_SMALL_K / sizeof(int4);
#else
        g_idxA[0] += MATRIX_SMALL_K / sizeof(int4);
        g_idxB[0] += MATRIX_SMALL_K / sizeof(int4);
        g_idxA[1] += MATRIX_SMALL_K / sizeof(int4);
        g_idxB[1] += MATRIX_SMALL_K / sizeof(int4);
#endif

        /*
         * mmad compute
         */
        FUNC_CALL(mmad_32x32_int8)(&l_workGroupTileA_uint[(k % 2) * l_pingPongOffsetA_uint],
                                l_offsetTileA, &l_workGroupTileB[(k % 2) * l_pingPongOffsetB_int8],
                                l_offsetTileB_col0, l_offsetTileB_col1, l_offsetTileB_col2,
                                l_offsetTileB_col3, rowA, colB, regC);

        /*
         * SLM setup - SLM write only
         */
        l_workGroupTileA_int4[((k + 1) % 2 * l_pingPongOffsetA_int4) + l_tid] = hdcReadValueA[0];
        l_workGroupTileB_int4[((k + 1) % 2 * l_pingPongOffsetB_int4) + l_tid] = hdcReadValueB[0];
        l_workGroupTileA_int4[((k + 1) % 2 * l_pingPongOffsetA_int4) + l_tid + l_groupSize] = hdcReadValueA[1];
        l_workGroupTileB_int4[((k + 1) % 2 * l_pingPongOffsetB_int4) + l_tid + l_groupSize] = hdcReadValueB[1];

        barrier(CLK_LOCAL_MEM_FENCE);
    } // main outer loop

    /*
     * Last mmad compute iteration (avoids branching in main loop)
     */

    FUNC_CALL(mmad_32x32_int8)(
        &l_workGroupTileA_uint[(((MATRIX_K / MATRIX_SMALL_K) - 1) % 2) * l_pingPongOffsetA_uint],
        l_offsetTileA,
        &l_workGroupTileB[(((MATRIX_K / MATRIX_SMALL_K) - 1) % 2) * l_pingPongOffsetB_int8],
        l_offsetTileB_col0, l_offsetTileB_col1, l_offsetTileB_col2, l_offsetTileB_col3, rowA, colB,
        regC);

#ifdef OUTPUT_TILED_GLOBAL_LAYOUT
    // Write out in swizzled manner after quantizing
    __global uchar* g_outC_uchar = (__global uchar*)g_outC;
            regC_uchar16[z * 4 + 0] = convert_uchar_sat( (regC[0 * 4 + i][idx + z / 4]) * SCALE + tmp.s0);\
            regC_uchar16[z * 4 + 1] = convert_uchar_sat( (regC[1 * 4 + i][idx + z / 4]) * SCALE + tmp.s1);\
            regC_uchar16[z * 4 + 2] = convert_uchar_sat( (regC[2 * 4 + i][idx + z / 4]) * SCALE + tmp.s2);\
            regC_uchar16[z * 4 + 3] = convert_uchar_sat( (regC[3 * 4 + i][idx + z / 4]) * SCALE + tmp.s3);\
        }\
    }

#elif NO_QUANTIZATION

#define QUANTIZATION(idx) \
    regC_uchar16.s0 = regC[0 * 4 + i][idx];\
    regC_uchar16.s1 = regC[1 * 4 + i][idx];\
    regC_uchar16.s2 = regC[2 * 4 + i][idx];\
    regC_uchar16.s3 = regC[3 * 4 + i][idx];\
    \
    regC_uchar16.s4 = regC[0 * 4 + i][idx+1];\
    regC_uchar16.s5 = regC[1 * 4 + i][idx+1];\
    regC_uchar16.s6 = regC[2 * 4 + i][idx+1];\
    regC_uchar16.s7 = regC[3 * 4 + i][idx+1];\
    \
    regC_uchar16.s8 = regC[0 * 4 + i][idx+2];\
    regC_uchar16.s9 = regC[1 * 4 + i][idx+2];\
    regC_uchar16.sa = regC[2 * 4 + i][idx+2];\
    regC_uchar16.sb = regC[3 * 4 + i][idx+2];\
    \
    regC_uchar16.sc = regC[0 * 4 + i][idx+3];\
    regC_uchar16.sd = regC[1 * 4 + i][idx+3];\
    regC_uchar16.se = regC[2 * 4 + i][idx+3];\
    regC_uchar16.sf = regC[3 * 4 + i][idx+3];\
    {\
        int16 sum;\
        for(uint s = 0; s <16; s++)\
        {\
            sum[s] = (int)as_char(regC_uchar16[s]) + (int)as_char(eltw_input_vals[s]);\
        }\
        regC_uchar16.s0 = convert_uchar_sat( sum.s0 );\
        regC_uchar16.s1 = convert_uchar_sat( sum.s1 );\
        regC_uchar16.s2 = convert_uchar_sat( sum.s2 );\
        regC_uchar16.s3 = convert_uchar_sat( sum.s3 );\
        \
        regC_uchar16.s4 = convert_uchar_sat( sum.s4 );\
        regC_uchar16.s5 = convert_uchar_sat( sum.s5 );\
        regC_uchar16.s6 = convert_uchar_sat( sum.s6 );\
        regC_uchar16.s7 = convert_uchar_sat( sum.s7 );\
        \
        regC_uchar16.s8 = convert_uchar_sat( sum.s8 );\
        regC_uchar16.s9 = convert_uchar_sat( sum.s9 );\
        regC_uchar16.sa = convert_uchar_sat( sum.sa );\
        regC_uchar16.sb = convert_uchar_sat( sum.sb );\
        \
        regC_uchar16.sc = convert_uchar_sat( sum.sc );\
        regC_uchar16.sd = convert_uchar_sat( sum.sd );\
        regC_uchar16.se = convert_uchar_sat( sum.se );\
        regC_uchar16.sf = convert_uchar_sat( sum.sf );\
    }

#else

#define QUANTIZATION(idx) \
    regC_uchar16.s0 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[0 * 4 + i][idx]) * quant_f.s0 * I_QF + bias_f.s0) * calib_f.s0)), NL_M, NL_N));\
    regC_uchar16.s1 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[1 * 4 + i][idx]) * quant_f.s1 * I_QF + bias_f.s1) * calib_f.s1)), NL_M, NL_N));\
    regC_uchar16.s2 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[2 * 4 + i][idx]) * quant_f.s2 * I_QF + bias_f.s2) * calib_f.s2)), NL_M, NL_N));\
    regC_uchar16.s3 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[3 * 4 + i][idx]) * quant_f.s3 * I_QF + bias_f.s3) * calib_f.s3)), NL_M, NL_N));\
    \
    regC_uchar16.s4 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[0 * 4 + i][idx+1]) * quant_f.s0 * I_QF + bias_f.s0) * calib_f.s0)), NL_M, NL_N));\
    regC_uchar16.s5 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[1 * 4 + i][idx+1]) * quant_f.s1 * I_QF + bias_f.s1) * calib_f.s1)), NL_M, NL_N));\
    regC_uchar16.s6 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[2 * 4 + i][idx+1]) * quant_f.s2 * I_QF + bias_f.s2) * calib_f.s2)), NL_M, NL_N));\
    regC_uchar16.s7 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[3 * 4 + i][idx+1]) * quant_f.s3 * I_QF + bias_f.s3) * calib_f.s3)), NL_M, NL_N));\
    \
    regC_uchar16.s8 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[0 * 4 + i][idx+2]) * quant_f.s0 * I_QF + bias_f.s0) * calib_f.s0)), NL_M, NL_N));\
    regC_uchar16.s9 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[1 * 4 + i][idx+2]) * quant_f.s1 * I_QF + bias_f.s1) * calib_f.s1)), NL_M, NL_N));\
    regC_uchar16.sa = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[2 * 4 + i][idx+2]) * quant_f.s2 * I_QF + bias_f.s2) * calib_f.s2)), NL_M, NL_N));\
    regC_uchar16.sb = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[3 * 4 + i][idx+2]) * quant_f.s3 * I_QF + bias_f.s3) * calib_f.s3)), NL_M, NL_N));\
    \
    regC_uchar16.sc = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[0 * 4 + i][idx+3]) * quant_f.s0 * I_QF + bias_f.s0) * calib_f.s0)), NL_M, NL_N));\
    regC_uchar16.sd = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[1 * 4 + i][idx+3]) * quant_f.s1 * I_QF + bias_f.s1) * calib_f.s1)), NL_M, NL_N));\
    regC_uchar16.se = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[2 * 4 + i][idx+3]) * quant_f.s2 * I_QF + bias_f.s2) * calib_f.s2)), NL_M, NL_N));\
    regC_uchar16.sf = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[3 * 4 + i][idx+3]) * quant_f.s3 * I_QF + bias_f.s3) * calib_f.s3)), NL_M, NL_N));\
    {\
        int16 sum;\
        for(uint s = 0; s <16; s++)\
        {\
            sum[s] = (int)as_char(regC_uchar16[s]) + (int)as_char(eltw_input_vals[s]);\
        }\
        regC_uchar16.s0 = as_uchar(ACTIVATION_ELTW( convert_char_sat(round( (float)(sum.s0)  * eltw_calib_f.s0)), NL_M_ELTW, NL_N_ELTW));\
        regC_uchar16.s1 = as_uchar(ACTIVATION_ELTW( convert_char_sat(round( (float)(sum.s1)  * eltw_calib_f.s1)), NL_M_ELTW, NL_N_ELTW));\
        regC_uchar16.s2 = as_uchar(ACTIVATION_ELTW( convert_char_sat(round( (float)(sum.s2)  * eltw_calib_f.s2)), NL_M_ELTW, NL_N_ELTW));\
        regC_uchar16.s3 = as_uchar(ACTIVATION_ELTW( convert_char_sat(round( (float)(sum.s3)  * eltw_calib_f.s3)), NL_M_ELTW, NL_N_ELTW));\
        \
        regC_uchar16.s4 = as_uchar(ACTIVATION_ELTW( convert_char_sat(round( (float)(sum.s4)  * eltw_calib_f.s0)), NL_M_ELTW, NL_N_ELTW));\
        regC_uchar16.s5 = as_uchar(ACTIVATION_ELTW( convert_char_sat(round( (float)(sum.s5)  * eltw_calib_f.s1)), NL_M_ELTW, NL_N_ELTW));\
        regC_uchar16.s6 = as_uchar(ACTIVATION_ELTW( convert_char_sat(round( (float)(sum.s6)  * eltw_calib_f.s2)), NL_M_ELTW, NL_N_ELTW));\
        regC_uchar16.s7 = as_uchar(ACTIVATION_ELTW( convert_char_sat(round( (float)(sum.s7)  * eltw_calib_f.s3)), NL_M_ELTW, NL_N_ELTW));\
        \
        regC_uchar16.s8 = as_uchar(ACTIVATION_ELTW( convert_char_sat(round( (float)(sum.s8)  * eltw_calib_f.s0)), NL_M_ELTW, NL_N_ELTW));\
        regC_uchar16.s9 = as_uchar(ACTIVATION_ELTW( convert_char_sat(round( (float)(sum.s9)  * eltw_calib_f.s1)), NL_M_ELTW, NL_N_ELTW));\
        regC_uchar16.sa = as_uchar(ACTIVATION_ELTW( convert_char_sat(round( (float)(sum.sa)  * eltw_calib_f.s2)), NL_M_ELTW, NL_N_ELTW));\
        regC_uchar16.sb = as_uchar(ACTIVATION_ELTW( convert_char_sat(round( (float)(sum.sb)  * eltw_calib_f.s3)), NL_M_ELTW, NL_N_ELTW));\
        \
        regC_uchar16.sc = as_uchar(ACTIVATION_ELTW( convert_char_sat(round( (float)(sum.sc)  * eltw_calib_f.s0)), NL_M_ELTW, NL_N_ELTW));\
        regC_uchar16.sd = as_uchar(ACTIVATION_ELTW( convert_char_sat(round( (float)(sum.sd)  * eltw_calib_f.s1)), NL_M_ELTW, NL_N_ELTW));\
        regC_uchar16.se = as_uchar(ACTIVATION_ELTW( convert_char_sat(round( (float)(sum.se)  * eltw_calib_f.s2)), NL_M_ELTW, NL_N_ELTW));\
        regC_uchar16.sf = as_uchar(ACTIVATION_ELTW( convert_char_sat(round( (float)(sum.sf)  * eltw_calib_f.s3)), NL_M_ELTW, NL_N_ELTW));\
    }
#endif


inline uint FUNC(calculate_output_offset_to_account_padding)(uint cOffset)
{
#if OUT_WITH_PADDING == 1
    uint tmp_idx = cOffset;
    uint f_val_idx = tmp_idx % 32;
    tmp_idx /= 32;
    uint b_val_idx = tmp_idx % 4;
    tmp_idx /= 4;
    uint x_idx = tmp_idx % OUTPUT_SIZE_X;
    tmp_idx /= OUTPUT_SIZE_X;
    uint y_idx = tmp_idx % OUTPUT_SIZE_Y;
    tmp_idx /= OUTPUT_SIZE_Y;
    uint b_slice_idx = tmp_idx % (OUTPUT_BATCH_NUM / 4);
    tmp_idx /= (OUTPUT_BATCH_NUM / 4);
    uint f_slice_idx = tmp_idx % (OUTPUT_FEATURE_NUM / 32);

    uint padded_offset = f_slice_idx * OUT_F_BLOCK_PITCH;
    padded_offset += b_slice_idx * OUT_B_BLOCK_PITCH;
    padded_offset += y_idx * OUT_Y_PITCH;
    padded_offset += x_idx * OUT_X_PITCH;
    padded_offset += b_val_idx * 32;
    padded_offset += f_val_idx;
    padded_offset += OUT_OFFSET;

    return padded_offset;
#else
    return cOffset;
#endif
}

#if IN_OUT_OPT != 1
inline uint FUNC(calculate_eltw_input_offset_based_on_output_offset_account_padding)(uint cOffset, uint strideX, uint strideY)
{
#if ELTW_WITH_PADDING == 1 || ELTW_STRIDE_X != 1 || ELTW_STRIDE_Y != 1
    uint tmp_idx = cOffset;
    uint f_val_idx = tmp_idx % 32;
    tmp_idx /= 32;
    uint b_val_idx = tmp_idx % 4;
    tmp_idx /= 4;
    uint x_idx = tmp_idx % OUTPUT_SIZE_X;
    x_idx *= strideX;
    tmp_idx /= OUTPUT_SIZE_X;
    uint y_idx = tmp_idx % OUTPUT_SIZE_Y;
    y_idx *= strideY;
    tmp_idx /= OUTPUT_SIZE_Y;
    uint b_slice_idx = tmp_idx % (OUTPUT_BATCH_NUM / 4);
    tmp_idx /= (OUTPUT_BATCH_NUM / 4);
    uint f_slice_idx = tmp_idx % (OUTPUT_FEATURE_NUM / 32);

    uint padded_offset = f_slice_idx * IN2_F_BLOCK_PITCH;
    padded_offset += b_slice_idx * IN2_B_BLOCK_PITCH;
    padded_offset += y_idx * IN2_Y_PITCH;
    padded_offset += x_idx * IN2_X_PITCH;
    padded_offset += b_val_idx * 32;
    padded_offset += f_val_idx;
    padded_offset += IN2_OFFSET;

    return padded_offset;
#else
    return cOffset;
#endif
}
#endif

inline void FUNC(mmad_32x32_int8)(  __local uint* l_tileA, const uint l_offsetTileA,
                                    __local int8* l_tileB, const uint l_offsetTileB_col0,
                                    const uint l_offsetTileB_col1, const uint l_offsetTileB_col2,
                                    const uint l_offsetTileB_col3, int8* rowA, int8* colB,
                                    int8* regC)
{
    // Read tile A from SLM to regA
    uint l_offsetTileATemp = l_offsetTileA;
    __attribute__((opencl_unroll_hint(SG_TILE_M / 8)))
    for (uint j = 0; j < (SG_TILE_M / 8); ++j)
    {
        rowA[j] = as_int8(SLM_BLOCK_READ_8(&l_tileA[l_offsetTileATemp]));
        l_offsetTileATemp += 8 * SG_SIZE;
    }
    // Read tile B from SLM to regB and compute mmad
    colB[0] = l_tileB[l_offsetTileB_col0];
    colB[1] = l_tileB[l_offsetTileB_col1];
    __attribute__((opencl_unroll_hint(SG_TILE_M / 8)))
    for (uint j = 0; j < (SG_TILE_M / 8); ++j)
    {
        // Compute partial C
        regC[0*(SIMD_LANE_M / 8) + j] = MMAD_8x8( rowA[j], colB[0], regC[0*(SIMD_LANE_M / 8) + j]);
    }
    colB[0] = l_tileB[l_offsetTileB_col2];
    __attribute__((opencl_unroll_hint(SG_TILE_M / 8)))
    for (uint j = 0; j < (SG_TILE_M / 8); ++j)
    {
        // Compute partial C
        regC[1*(SIMD_LANE_M / 8) + j] = MMAD_8x8( rowA[j], colB[1], regC[1*(SIMD_LANE_M / 8) + j] );
// Copyright (c) 2018 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

void FUNC(intel_sub_group_block_write_4)( __local uint* p, uint4 data )
{
    p[ get_sub_group_local_id() ] = data.s0;
    p += 8;
    p[ get_sub_group_local_id() ] = data.s1;
    p += 8;
    p[ get_sub_group_local_id() ] = data.s2;
    p += 8;
    p[ get_sub_group_local_id() ] = data.s3;
}

uint4 FUNC(intel_sub_group_block_read_uint4)(const __local uint* p)
{
    uint4 ret;
    uint idx = get_sub_group_local_id();

    ret.s0 = p[idx]; idx += get_max_sub_group_size();
    ret.s1 = p[idx]; idx += get_max_sub_group_size();
    ret.s2 = p[idx]; idx += get_max_sub_group_size();
    ret.s3 = p[idx]; idx += get_max_sub_group_size();

    return ret;
}

uint8 FUNC(intel_sub_group_block_read_uint8)(const __local uint* p)
{
    uint8 ret;
    uint idx = get_sub_group_local_id();

    ret.s0 = p[idx]; idx += get_max_sub_group_size();
    ret.s1 = p[idx]; idx += get_max_sub_group_size();
    ret.s2 = p[idx]; idx += get_max_sub_group_size();
    ret.s3 = p[idx]; idx += get_max_sub_group_size();
    ret.s4 = p[idx]; idx += get_max_sub_group_size();
    ret.s5 = p[idx]; idx += get_max_sub_group_size();
    ret.s6 = p[idx]; idx += get_max_sub_group_size();
    ret.s7 = p[idx]; idx += get_max_sub_group_size();

    return ret;
}

inline int FUNC(mmad_4)(char4 input, char4 weight, int acc)
{
	acc += (input[0] * weight[0]);
	acc += (input[1] * weight[1]);
	acc += (input[2] * weight[2]);
	acc += (input[3] * weight[3]);
	return acc;
}

inline int FUNC(mmad8)(int8 A_scalars, int8 B_vectors, int acc)
{
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[0]), as_char4(B_vectors[0]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[1]), as_char4(B_vectors[1]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[2]), as_char4(B_vectors[2]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[3]), as_char4(B_vectors[3]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[4]), as_char4(B_vectors[4]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[5]), as_char4(B_vectors[5]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[6]), as_char4(B_vectors[6]), acc);
	acc = FUNC_CALL(mmad_4)(as_char4(A_scalars[7]), as_char4(B_vectors[7]), acc);

	return acc;
}

inline int4 FUNC(mmad4x8)(int4 A_vectors, int8 B_vectors, int4 acc)
{
    int4 ret;
    for(uint i = 0; i < 4; i++)
    {
        int8 A_scalars;
        A_scalars.s0 = sub_group_broadcast(A_vectors[i], 0);
        A_scalars.s1 = sub_group_broadcast(A_vectors[i], 1);
        A_scalars.s2 = sub_group_broadcast(A_vectors[i], 2);
        A_scalars.s3 = sub_group_broadcast(A_vectors[i], 3);
        A_scalars.s4 = sub_group_broadcast(A_vectors[i], 4);
        A_scalars.s5 = sub_group_broadcast(A_vectors[i], 5);
        A_scalars.s6 = sub_group_broadcast(A_vectors[i], 6);
        A_scalars.s7 = sub_group_broadcast(A_vectors[i], 7);
        ret[i] = FUNC_CALL(mmad8)(A_scalars, B_vectors, acc[i]);
    }
    return ret;
}

inline int8 FUNC(mmad8x8)(int8 A_vectors, int8 B_vectors, int8 acc)
{
    int8 ret;
    for(uint i = 0; i < 8; i++)
    {
        int8 A_scalars;
        A_scalars.s0 = sub_group_broadcast(A_vectors[i], 0);
        A_scalars.s1 = sub_group_broadcast(A_vectors[i], 1);
        A_scalars.s2 = sub_group_broadcast(A_vectors[i], 2);
        A_scalars.s3 = sub_group_broadcast(A_vectors[i], 3);
        A_scalars.s4 = sub_group_broadcast(A_vectors[i], 4);
        A_scalars.s5 = sub_group_broadcast(A_vectors[i], 5);
        A_scalars.s6 = sub_group_broadcast(A_vectors[i], 6);
        A_scalars.s7 = sub_group_broadcast(A_vectors[i], 7);
        ret[i] = FUNC_CALL(mmad8)(A_scalars, B_vectors, acc[i]);
    }
    return ret;
}

// TODO: remove it when cl_intel_subgroups_char extension will work
inline void FUNC(sub_group_block_write_uchar8)(__global uchar* outPtr, uchar8 v)
{
#ifdef cl_intel_subgroups_char
    intel_sub_group_block_write_uc8(outPtr, v);
#else
    uint idx = get_sub_group_local_id();

	outPtr[idx] = v.s0; idx += get_max_sub_group_size();
    outPtr[idx] = v.s1; idx += get_max_sub_group_size();
    outPtr[idx] = v.s2; idx += get_max_sub_group_size();
    outPtr[idx] = v.s3; idx += get_max_sub_group_size();
    outPtr[idx] = v.s4; idx += get_max_sub_group_size();
    outPtr[idx] = v.s5; idx += get_max_sub_group_size();
    outPtr[idx] = v.s6; idx += get_max_sub_group_size();
    outPtr[idx] = v.s7; idx += get_max_sub_group_size();
#endif
}

inline uchar8 FUNC(sub_group_block_read_uchar8)(const __global uchar* ptr)
{
#ifdef cl_intel_subgroups_char
    return intel_sub_group_block_read_uc8(ptr);
#else
    uint idx = get_sub_group_local_id();

    uchar8 ret;

    ret.s0 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s1 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s2 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s3 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s4 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s5 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s6 = ptr[idx]; idx += get_max_sub_group_size();
    ret.s7 = ptr[idx]; idx += get_max_sub_group_size();

    return ret;

#endif
}

//


#define MMAD_8(A, B, C) FUNC_CALL(mmad8)(A, B, C)
#define MMAD_4x8(A, B, C) FUNC_CALL(mmad4x8)(A, B, C)
#define MMAD_8x8(A, B, C) FUNC_CALL(mmad8x8)(A, B, C)
#define SLM_BLOCK_WRITE_4(A, B) (FUNC_CALL(intel_sub_group_block_write_4)(A, B))
#define SLM_BLOCK_READ_4(A) (FUNC_CALL(intel_sub_group_block_read_uint4)(A))
#define SLM_BLOCK_READ_8(A) (FUNC_CALL(intel_sub_group_block_read_uint8)(A))


#define SUM_SCALE 0.11f
#define SCALE 0.11f

#ifdef LIGHTWEIGHT_QUANTIZATION

#define QUANTIZATION(idx) \
    {\
        float4 tmp;\
        for(uint z = 0; z < 4; z++)\
        {\
            tmp.s0 = (float)eltw_input_vals[z * 4 + 0] * SUM_SCALE + bias_f.s0;\
            tmp.s1 = (float)eltw_input_vals[z * 4 + 1] * SUM_SCALE + bias_f.s1;\
            tmp.s2 = (float)eltw_input_vals[z * 4 + 2] * SUM_SCALE + bias_f.s2;\
            tmp.s3 = (float)eltw_input_vals[z * 4 + 3] * SUM_SCALE + bias_f.s3;\
            \
    uint offset_uc16 = 0;

    const uint workgroup_id_x = get_group_id(0);
    uint feature_off = 32*(sub_group_id % (WG_TILE_N / 32)) + WG_TILE_N*workgroup_id_x; //=32*{0,1,2,3} + WG_TILE_N * workgroup_id_x
    uint feature = get_sub_group_local_id()*4 + feature_off;

    float4 quant_f = vload4(0, quantizations + feature);
    float4 bias_f = vload4(0, biases + feature);
    float4 calib_f = vload4(0, calibrations + feature);

    // eltwise calibs
    float4 eltw_calib_f = vload4(0, eltw_calibrations + feature);

    uchar16 eltw[(2*SG_TILE_M) / (sizeof(int8) / sizeof(int))];
    uint tmpcOff = cOffset;
    __attribute__((opencl_unroll_hint( SG_TILE_M / (sizeof(int8) / sizeof(int)) )))
    for (uint i = 0; i < (2*SG_TILE_M) / (sizeof(int8) / sizeof(int)); i++)
    {
        uint padded_offset = FUNC_CALL(calculate_output_offset_to_account_padding)(tmpcOff);
#if IN_OUT_OPT == 1
        eltw[i] = as_uchar16(intel_sub_group_block_read4((__global uint*)(g_outC_uchar + padded_offset)));
#else
        const uint eltw_second_input_offset = FUNC_CALL(calculate_eltw_input_offset_based_on_output_offset_account_padding)(tmpcOff, ELTW_STRIDE_X, ELTW_STRIDE_Y);
        eltw[i] = as_uchar16(intel_sub_group_block_read4((__global uint*)(input2 + eltw_second_input_offset)));
#endif
        tmpcOff += sizeof(uchar16) * SG_SIZE;
    }

#if MMAD_SUPPORTED == 1
    __attribute__((opencl_unroll_hint( SG_TILE_M / (sizeof(int8) / sizeof(int)) )))
#endif
    for (uint i = 0; i < SG_TILE_M / (sizeof(int8) / sizeof(int)); i++)
    {
        uint padded_offset = FUNC_CALL(calculate_output_offset_to_account_padding)(cOffset);
        {
            uchar16 eltw_input_vals = eltw[i * 2];
            // B0..3, F0..31
            QUANTIZATION(0);
        }

        intel_sub_group_block_write4((__global uint*)(g_outC_uchar + padded_offset), as_uint4(regC_uchar16));
        cOffset += sizeof(uchar16) * SG_SIZE;

        // now we need to calculate again for other x
        padded_offset = FUNC_CALL(calculate_output_offset_to_account_padding)(cOffset);
        {
            uchar16 eltw_input_vals = eltw[i * 2 + 1];
            // B0..3, F0..31
            QUANTIZATION(4);
        }

        intel_sub_group_block_write4( (__global uint*)(g_outC_uchar + padded_offset), as_uint4(regC_uchar16) );
        cOffset += sizeof(uchar16) * SG_SIZE;
    }
#else
    // Write final accumulated values
    uint cOffset = sg_global_idX * ((MATRIX_M / 8) * SG_TILE_N) + sg_global_idY * (SG_TILE_M / 8) +
                   sg_tid * (MATRIX_M / 8);
    __attribute__((opencl_unroll_hint(SIMD_LANE_N)))
    for (uint i = 0; i < (SIMD_LANE_N); ++i)
    {
        __attribute__((opencl_unroll_hint(SIMD_LANE_M / 8)))
        for (uint j = 0; j < (SIMD_LANE_M / 8); ++j)
        {
            g_matrixC[cOffset + j] = regC[i*(SIMD_LANE_M / 8) + j];
        }
        cOffset += SG_SIZE * (MATRIX_M / 8);
    }
#endif
}

#undef SUM_SCALE
#undef SCALE
#undef QUANTIZATION

    colB[1] = l_tileB[l_offsetTileB_col3];
    __attribute__((opencl_unroll_hint(SG_TILE_M / 8)))
    for (uint j = 0; j < (SG_TILE_M / 8); ++j)
    {
        // Compute partial C
        regC[2*(SIMD_LANE_M / 8) + j] = MMAD_8x8(rowA[j], colB[0], regC[2*(SIMD_LANE_M / 8) + j]);
    }
    __attribute__((opencl_unroll_hint(SG_TILE_M / 8)))
    for (uint j = 0; j < (SG_TILE_M / 8); ++j)
    {
        // Compute partial C
        regC[3*(SIMD_LANE_M / 8) + j] = MMAD_8x8(rowA[j], colB[1], regC[3*(SIMD_LANE_M / 8) + j]);
    }
}

/*
 *  \brief GEMM kernel to compute MxN matrix using SLM
 *  \param g_inA  - Input matrix
 *  \param g_inB  - Input matrix
 *  \param g_outC - Output matrix
 */

__attribute__((intel_reqd_sub_group_size(SG_SIZE)))
KERNEL(Kernel_GEMM_MMAD8_32x32SG_224x128WG_SLM_INT8_fused_eltwise)
  (__global char* const g_inA,
  __global int* g_outC,
  __global char* const g_inB,
    #if BIAS_TERM
        __global BIAS_TYPE* biases,
    #endif
        __global float* quantizations,
    #if CALIBRATION_TERM
        __global float* calibrations,
    #endif
        uint split_idx,
  __global char* const input2,
  __global float* eltw_calibrations
   )
{

    __global int4* const g_matrixA = (__global int4*)g_inA;
    __global int4* const g_matrixB = (__global int4*)g_inB;
    __global int8* g_matrixC = (__global int8*)g_outC;

    // Each work-group works to compute 128x128 tile.
    // Each work-group contains 16 sub-groups.
    // Each sub-group within the work-group works to compute a 32x32 tile.
    // 1) All work-items in WG fill SLM with tileA (128x32) and tileB (32x128).
    // 2) Each sub-group works to compute 32x32 tileC (stored in regC).
    //    Note that each work-item in the sub-group computes a 32x4 chunk of tileC.
    // 3) Repeat until tileC is fully computed (while moving tileA and tileB "windows")
    __local int8 l_workGroupTileA[2 * (WG_TILE_M * MATRIX_SMALL_K) / sizeof(int8)];
    __local int8 l_workGroupTileB[2 * (WG_TILE_N * MATRIX_SMALL_K) / sizeof(int8)];

    __local uint* l_workGroupTileA_uint = (__local uint*)l_workGroupTileA;
    __local int4* l_workGroupTileA_int4 = (__local int4*)l_workGroupTileA;
    __local int4* l_workGroupTileB_int4 = (__local int4*)l_workGroupTileB;

    const uint l_groupSize = get_local_size(DIM_X) * get_local_size(DIM_Y);

    const uint l_pingPongOffsetA_uint = (WG_TILE_M * MATRIX_SMALL_K) / sizeof(uint);
    const uint l_pingPongOffsetB_int8 = (WG_TILE_N * MATRIX_SMALL_K) / sizeof(int8);
    const uint l_pingPongOffsetA_int4 = (WG_TILE_M * MATRIX_SMALL_K) / sizeof(int4);
    const uint l_pingPongOffsetB_int4 = (WG_TILE_N * MATRIX_SMALL_K) / sizeof(int4);

    // Thread IDs
    const uint g_tidY = get_global_id(DIM_Y);
    const uint g_tidX = get_global_id(DIM_X);
    const uint l_tidX = get_local_id(DIM_X);
    const uint l_tidY = get_local_id(DIM_Y);
    const uint l_tid = l_tidY * get_local_size(DIM_X) + l_tidX;

    // SubGroup IDs
    const uint sg_tid = get_sub_group_local_id();
    const uint sg_global_idX = (uint)(g_tidX / SG_SIZE);
    const uint sg_global_idY = g_tidY;
    const uint sg_local_idX = (uint)(l_tidX / SG_SIZE);
    const uint sg_local_idY = l_tidY;
    const uint sg_local_id = sg_local_idY * get_local_size(DIM_X) / SG_SIZE + sg_local_idX;

    const uint sub_group_id = get_sub_group_id();

    // Registers
    int8 regC[(SIMD_LANE_M / 8) * SIMD_LANE_N] = {0}; // Each work-item responsible for 32x4 ints elts
    int8 rowA[(SG_TILE_M * MATRIX_SMALL_K / SG_SIZE) / sizeof(int8)]; // each work-item will hold 1/8 of matrixA
    int8 colB[2];  // each lane will store 32x4 piece of matrixB

    // SLM indices
    const uint l_offsetTileA = SG_TILE_M * (MATRIX_SMALL_K / sizeof(uint)) * sg_local_idY;
    const uint numElements32x32TileB = (MATRIX_SMALL_K * SG_TILE_N) / sizeof(int8);
    const uint numElements32x8TileB = numElements32x32TileB / 4;
    const uint l_offsetTileB = numElements32x32TileB * sg_local_idX;
    const uint l_offsetTileB_col0 = l_offsetTileB + sg_tid;
    const uint l_offsetTileB_col1 = l_offsetTileB + 1 * numElements32x8TileB + sg_tid;
    const uint l_offsetTileB_col2 = l_offsetTileB + 2 * numElements32x8TileB + sg_tid;
    const uint l_offsetTileB_col3 = l_offsetTileB + 3 * numElements32x8TileB + sg_tid;

    // Global indices
    uint g_idxA[2];
    uint g_idxB[2];
#ifdef TILED_GLOBAL_LAYOUT // 32-row major (matrixA) and 32-col major (matrixB)
    g_idxA[0] = ((MATRIX_SMALL_K / sizeof(int4)) * WG_TILE_M) * get_group_id(DIM_Y) + l_tid;
    g_idxB[0] = ((MATRIX_SMALL_K / sizeof(int4)) * WG_TILE_N) * get_group_id(DIM_X) + l_tid;
    g_idxA[1] = g_idxA[0] + l_groupSize;
    g_idxB[1] = g_idxB[0] + l_groupSize;
#else // Row (matrixA) and Col (matrixB) major layout
    g_idxA[0] = WG_TILE_M * (MATRIX_K / sizeof(int4)) * get_group_id(DIM_Y) +
               (l_tid / 2) * (MATRIX_K / sizeof(int4)) + (l_tid % 2);
    g_idxB[0] = WG_TILE_N * (MATRIX_K / sizeof(int4)) * get_group_id(DIM_X) +
               (l_tid / 2) * (MATRIX_K / sizeof(int4)) + (l_tid % 2);
    g_idxA[1] = g_idxA[0] + (l_groupSize / 2) * (MATRIX_K / sizeof(int4));
    g_idxB[1] = g_idxB[0] + (l_groupSize / 2) * (MATRIX_K / sizeof(int4));
#endif
    // Initial SLM setup
    {
        l_workGroupTileA_int4[l_tid] = g_matrixA[g_idxA[0]];
        l_workGroupTileB_int4[l_tid] = g_matrixB[g_idxB[0]];

        l_workGroupTileA_int4[l_tid + l_groupSize] = g_matrixA[g_idxA[1]];
        if (l_tid < 32)
        {
            // Not all work-items will be needed to fetch the remaining matrix B
            l_workGroupTileB_int4[l_tid + l_groupSize] = g_matrixB[g_idxB[1]];
        }
#ifdef TILED_GLOBAL_LAYOUT
        g_idxA[0] += MATRIX_M * MATRIX_SMALL_K / sizeof(int4);
        g_idxB[0] += MATRIX_N * MATRIX_SMALL_K / sizeof(int4);
        g_idxA[1] += MATRIX_M * MATRIX_SMALL_K / sizeof(int4);
        g_idxB[1] += MATRIX_N * MATRIX_SMALL_K / sizeof(int4);
#else
        g_idxA[0] += MATRIX_SMALL_K / sizeof(int4);
        g_idxB[0] += MATRIX_SMALL_K / sizeof(int4);
        g_idxA[1] += MATRIX_SMALL_K / sizeof(int4);
        g_idxB[1] += MATRIX_SMALL_K / sizeof(int4);
#endif

        barrier(CLK_LOCAL_MEM_FENCE);
    }
    int4 hdcReadValueA[2];
    int4 hdcReadValueB[2];

    __attribute__((opencl_unroll_hint(1)))
    for (uint k = 0; k < (MATRIX_K / MATRIX_SMALL_K) - 1; k++)
    {
        hdcReadValueA[0] = g_matrixA[g_idxA[0]];
        hdcReadValueB[0] = g_matrixB[g_idxB[0]];
        hdcReadValueA[1] = g_matrixA[g_idxA[1]];
        if (l_tid < 32)
        {
            // Not all work-items will be needed to fetch the remaining matrix B
            hdcReadValueB[1] = g_matrixB[g_idxB[1]];
        }
#ifdef TILED_GLOBAL_LAYOUT
        g_idxA[0] += MATRIX_M * MATRIX_SMALL_K / sizeof(int4);
        g_idxB[0] += MATRIX_N * MATRIX_SMALL_K / sizeof(int4);
        g_idxA[1] += MATRIX_M * MATRIX_SMALL_K / sizeof(int4);
        g_idxB[1] += MATRIX_N * MATRIX_SMALL_K / sizeof(int4);
#else
        g_idxA[0] += MATRIX_SMALL_K / sizeof(int4);
        g_idxB[0] += MATRIX_SMALL_K / sizeof(int4);
        g_idxA[1] += MATRIX_SMALL_K / sizeof(int4);
        g_idxB[1] += MATRIX_SMALL_K / sizeof(int4);
#endif


        //MMAD compute
        FUNC_CALL(mmad_32x32_int8)(&l_workGroupTileA_uint[(k % 2) * l_pingPongOffsetA_uint],
                                l_offsetTileA, &l_workGroupTileB[(k % 2) * l_pingPongOffsetB_int8],
                                l_offsetTileB_col0, l_offsetTileB_col1, l_offsetTileB_col2,
                                l_offsetTileB_col3, rowA, colB, regC);

        //SLM setup - SLM write only
        l_workGroupTileA_int4[((k + 1) % 2 * l_pingPongOffsetA_int4) + l_tid] = hdcReadValueA[0];
        l_workGroupTileB_int4[((k + 1) % 2 * l_pingPongOffsetB_int4) + l_tid] = hdcReadValueB[0];
        l_workGroupTileA_int4[((k + 1) % 2 * l_pingPongOffsetA_int4) + l_tid + l_groupSize] = hdcReadValueA[1];
        if (l_tid < 32)
        {
            // Not all work-items will be needed to fetch the remaining matrix B
            l_workGroupTileB_int4[((k + 1) % 2 * l_pingPongOffsetB_int4) + l_tid + l_groupSize] = hdcReadValueB[1];
        }
        barrier(CLK_LOCAL_MEM_FENCE);
    } // main outer loop

    //Last MMAD compute iteration (avoids branching in main loop)
    FUNC_CALL(mmad_32x32_int8)(
        &l_workGroupTileA_uint[(((MATRIX_K / MATRIX_SMALL_K) - 1) % 2) * l_pingPongOffsetA_uint],
        l_offsetTileA,
        &l_workGroupTileB[(((MATRIX_K / MATRIX_SMALL_K) - 1) % 2) * l_pingPongOffsetB_int8],
        l_offsetTileB_col0, l_offsetTileB_col1, l_offsetTileB_col2, l_offsetTileB_col3, rowA, colB,
        regC);


#ifdef OUTPUT_TILED_GLOBAL_LAYOUT

    // Write out in swizzled manner after quantizing
    __global uchar* g_outC_uchar = (__global uchar*)g_outC;
    uint cOffset = sg_global_idX * (MATRIX_M * SG_TILE_N / sizeof(uchar)) +
                   sg_global_idY * (SG_TILE_M * SG_TILE_N / sizeof(uchar));

    uchar16 regC_uchar16;
            regC_uchar16[z * 4 + 0] = convert_uchar_sat( (regC[0 * 4 + i][idx + z / 4]) * SCALE + tmp.s0);\
            regC_uchar16[z * 4 + 1] = convert_uchar_sat( (regC[1 * 4 + i][idx + z / 4]) * SCALE + tmp.s1);\
            regC_uchar16[z * 4 + 2] = convert_uchar_sat( (regC[2 * 4 + i][idx + z / 4]) * SCALE + tmp.s2);\
            regC_uchar16[z * 4 + 3] = convert_uchar_sat( (regC[3 * 4 + i][idx + z / 4]) * SCALE + tmp.s3);\
        }\
    }

#elif NO_QUANTIZATION

#define QUANTIZATION(idx) \
    regC_uchar16.s0 = regC[0 * 4 + i][idx];\
    regC_uchar16.s1 = regC[1 * 4 + i][idx];\
    regC_uchar16.s2 = regC[2 * 4 + i][idx];\
    regC_uchar16.s3 = regC[3 * 4 + i][idx];\
    \
    regC_uchar16.s4 = regC[0 * 4 + i][idx+1];\
    regC_uchar16.s5 = regC[1 * 4 + i][idx+1];\
    regC_uchar16.s6 = regC[2 * 4 + i][idx+1];\
    regC_uchar16.s7 = regC[3 * 4 + i][idx+1];\
    \
    regC_uchar16.s8 = regC[0 * 4 + i][idx+2];\
    regC_uchar16.s9 = regC[1 * 4 + i][idx+2];\
    regC_uchar16.sa = regC[2 * 4 + i][idx+2];\
    regC_uchar16.sb = regC[3 * 4 + i][idx+2];\
    \
    regC_uchar16.sc = regC[0 * 4 + i][idx+3];\
    regC_uchar16.sd = regC[1 * 4 + i][idx+3];\
    regC_uchar16.se = regC[2 * 4 + i][idx+3];\
    regC_uchar16.sf = regC[3 * 4 + i][idx+3];\
    {\
        int16 sum;\
        for(uint s = 0; s <16; s++)\
        {\
            sum[s] = (int)as_char(regC_uchar16[s]) + (int)as_char(eltw_input_vals[s]);\
        }\
        regC_uchar16.s0 = convert_uchar_sat( sum.s0 );\
        regC_uchar16.s1 = convert_uchar_sat( sum.s1 );\
        regC_uchar16.s2 = convert_uchar_sat( sum.s2 );\
        regC_uchar16.s3 = convert_uchar_sat( sum.s3 );\
        \
        regC_uchar16.s4 = convert_uchar_sat( sum.s4 );\
        regC_uchar16.s5 = convert_uchar_sat( sum.s5 );\
        regC_uchar16.s6 = convert_uchar_sat( sum.s6 );\
        regC_uchar16.s7 = convert_uchar_sat( sum.s7 );\
        \
        regC_uchar16.s8 = convert_uchar_sat( sum.s8 );\
        regC_uchar16.s9 = convert_uchar_sat( sum.s9 );\
        regC_uchar16.sa = convert_uchar_sat( sum.sa );\
        regC_uchar16.sb = convert_uchar_sat( sum.sb );\
        \
        regC_uchar16.sc = convert_uchar_sat( sum.sc );\
        regC_uchar16.sd = convert_uchar_sat( sum.sd );\
        regC_uchar16.se = convert_uchar_sat( sum.se );\
        regC_uchar16.sf = convert_uchar_sat( sum.sf );\
    }

#else

#define QUANTIZATION(idx) \
    regC_uchar16.s0 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[0 * 4 + i][idx]) * quant_f.s0 * I_QF + bias_f.s0) * calib_f.s0)), NL_M, NL_N));\
    regC_uchar16.s1 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[1 * 4 + i][idx]) * quant_f.s1 * I_QF + bias_f.s1) * calib_f.s1)), NL_M, NL_N));\
    regC_uchar16.s2 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[2 * 4 + i][idx]) * quant_f.s2 * I_QF + bias_f.s2) * calib_f.s2)), NL_M, NL_N));\
    regC_uchar16.s3 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[3 * 4 + i][idx]) * quant_f.s3 * I_QF + bias_f.s3) * calib_f.s3)), NL_M, NL_N));\
    \
    regC_uchar16.s4 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[0 * 4 + i][idx+1]) * quant_f.s0 * I_QF + bias_f.s0) * calib_f.s0)), NL_M, NL_N));\
    regC_uchar16.s5 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[1 * 4 + i][idx+1]) * quant_f.s1 * I_QF + bias_f.s1) * calib_f.s1)), NL_M, NL_N));\
    regC_uchar16.s6 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[2 * 4 + i][idx+1]) * quant_f.s2 * I_QF + bias_f.s2) * calib_f.s2)), NL_M, NL_N));\
    regC_uchar16.s7 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[3 * 4 + i][idx+1]) * quant_f.s3 * I_QF + bias_f.s3) * calib_f.s3)), NL_M, NL_N));\
    \
    regC_uchar16.s8 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[0 * 4 + i][idx+2]) * quant_f.s0 * I_QF + bias_f.s0) * calib_f.s0)), NL_M, NL_N));\
    regC_uchar16.s9 = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[1 * 4 + i][idx+2]) * quant_f.s1 * I_QF + bias_f.s1) * calib_f.s1)), NL_M, NL_N));\
    regC_uchar16.sa = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[2 * 4 + i][idx+2]) * quant_f.s2 * I_QF + bias_f.s2) * calib_f.s2)), NL_M, NL_N));\
    regC_uchar16.sb = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[3 * 4 + i][idx+2]) * quant_f.s3 * I_QF + bias_f.s3) * calib_f.s3)), NL_M, NL_N));\
    \
    regC_uchar16.sc = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[0 * 4 + i][idx+3]) * quant_f.s0 * I_QF + bias_f.s0) * calib_f.s0)), NL_M, NL_N));\
    regC_uchar16.sd = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[1 * 4 + i][idx+3]) * quant_f.s1 * I_QF + bias_f.s1) * calib_f.s1)), NL_M, NL_N));\
    regC_uchar16.se = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[2 * 4 + i][idx+3]) * quant_f.s2 * I_QF + bias_f.s2) * calib_f.s2)), NL_M, NL_N));\
    regC_uchar16.sf = as_uchar(ACTIVATION( convert_char(round(( (float)(regC[3 * 4 + i][idx+3]) * quant_f.s3 * I_QF + bias_f.s3) * calib_f.s3)), NL_M, NL_N));\
    {\
        int16 sum;\
        for(uint s = 0; s <16; s++)\
        {\
            sum[s] = (int)as_char(regC_uchar16[s]) + (int)as_char(eltw_input_vals[s]);\
        }\
        regC_uchar16.s0 = as_uchar(ACTIVATION_ELTW( convert_char_sat(round( (float)(sum.s0)  * eltw_calib_f.s0)), NL_M_ELTW, NL_N_ELTW));\
        regC_uchar16.s1 = as_uchar(ACTIVATION_ELTW( convert_char_sat(round( (float)(sum.s1)  * eltw_calib_f.s1)), NL_M_ELTW, NL_N_ELTW));\
        regC_uchar16.s2 = as_uchar(ACTIVATION_ELTW( convert_char_sat(round( (float)(sum.s2)  * eltw_calib_f.s2)), NL_M_ELTW, NL_N_ELTW));\
        regC_uchar16.s3 = as_uchar(ACTIVATION_ELTW( convert_char_sat(round( (float)(sum.s3)  * eltw_calib_f.s3)), NL_M_ELTW, NL_N_ELTW));\
        \
        regC_uchar16.s4 = as_uchar(ACTIVATION_ELTW( convert_char_sat(round( (float)(sum.s4)  * eltw_calib_f.s0)), NL_M_ELTW, NL_N_ELTW));\
        regC_uchar16.s5 = as_uchar(ACTIVATION_ELTW( convert_char_sat(round( (float)(sum.s5)  * eltw_calib_f.s1)), NL_M_ELTW, NL_N_ELTW));\
        regC_uchar16.s6 = as_uchar(ACTIVATION_ELTW( convert_char_sat(round( (float)(sum.s6)  * eltw_calib_f.s2)), NL_M_ELTW, NL_N_ELTW));\
        regC_uchar16.s7 = as_uchar(ACTIVATION_ELTW( convert_char_sat(round( (float)(sum.s7)  * eltw_calib_f.s3)), NL_M_ELTW, NL_N_ELTW));\
        \
        regC_uchar16.s8 = as_uchar(ACTIVATION_ELTW( convert_char_sat(round( (float)(sum.s8)  * eltw_calib_f.s0)), NL_M_ELTW, NL_N_ELTW));\
        regC_uchar16.s9 = as_uchar(ACTIVATION_ELTW( convert_char_sat(round( (float)(sum.s9)  * eltw_calib_f.s1)), NL_M_ELTW, NL_N_ELTW));\
        regC_uchar16.sa = as_uchar(ACTIVATION_ELTW( convert_char_sat(round( (float)(sum.sa)  * eltw_calib_f.s2)), NL_M_ELTW, NL_N_ELTW));\
        regC_uchar16.sb = as_uchar(ACTIVATION_ELTW( convert_char_sat(round( (float)(sum.sb)  * eltw_calib_f.s3)), NL_M_ELTW, NL_N_ELTW));\
        \
        regC_uchar16.sc = as_uchar(ACTIVATION_ELTW( convert_char_sat(round( (float)(sum.sc)  * eltw_calib_f.s0)), NL_M_ELTW, NL_N_ELTW));\
        regC_uchar16.sd = as_uchar(ACTIVATION_ELTW( convert_char_sat(round( (float)(sum.sd)  * eltw_calib_f.s1)), NL_M_ELTW, NL_N_ELTW));\
        regC_uchar16.se = as_uchar(ACTIVATION_ELTW( convert_char_sat(round( (float)(sum.se)  * eltw_calib_f.s2)), NL_M_ELTW, NL_N_ELTW));\
        regC_uchar16.sf = as_uchar(ACTIVATION_ELTW( convert_char_sat(round( (float)(sum.sf)  * eltw_calib_f.s3)), NL_M_ELTW, NL_N_ELTW));\
    }
#endif

inline uint FUNC(calculate_output_offset_to_account_padding)(uint cOffset)
{
#if OUT_WITH_PADDING == 1
    uint tmp_idx = cOffset;
    uint f_val_idx = tmp_idx % 32;
    tmp_idx /= 32;
    uint b_val_idx = tmp_idx % 4;
    tmp_idx /= 4;
    uint x_idx = tmp_idx % OUTPUT_SIZE_X;
    tmp_idx /= OUTPUT_SIZE_X;
    uint y_idx = tmp_idx % OUTPUT_SIZE_Y;
    tmp_idx /= OUTPUT_SIZE_Y;
    uint b_slice_idx = tmp_idx % (OUTPUT_BATCH_NUM / 4);
    tmp_idx /= (OUTPUT_BATCH_NUM / 4);
    uint f_slice_idx = tmp_idx % (OUTPUT_FEATURE_NUM / 32);

    uint padded_offset = f_slice_idx * OUT_F_BLOCK_PITCH;
    padded_offset += b_slice_idx * OUT_B_BLOCK_PITCH;
    padded_offset += y_idx * OUT_Y_PITCH;
    padded_offset += x_idx * OUT_X_PITCH;
    padded_offset += b_val_idx * 32;
    padded_offset += f_val_idx;
    padded_offset += OUT_OFFSET;

    return padded_offset;
#else
    return cOffset;
#endif
}

#if IN_OUT_OPT != 1
inline uint FUNC(calculate_eltw_input_offset_based_on_output_offset_account_padding)(uint cOffset, uint strideX, uint strideY)
{
#if ELTW_WITH_PADDING == 1 || ELTW_STRIDE_X != 1 || ELTW_STRIDE_Y != 1
    uint tmp_idx = cOffset;
    uint f_val_idx = tmp_idx % 32;
    tmp_idx /= 32;
    uint b_val_idx = tmp_idx % 4;
    tmp_idx /= 4;
    uint x_idx = tmp_idx % OUTPUT_SIZE_X;
    x_idx *= strideX;
    tmp_idx /= OUTPUT_SIZE_X;
    uint y_idx = tmp_idx % OUTPUT_SIZE_Y;
    y_idx *= strideY;
    tmp_idx /= OUTPUT_SIZE_Y;
    uint b_slice_idx = tmp_idx % (OUTPUT_BATCH_NUM / 4);
    tmp_idx /= (OUTPUT_BATCH_NUM / 4);
    uint f_slice_idx = tmp_idx % (OUTPUT_FEATURE_NUM / 32);

    uint padded_offset = f_slice_idx * IN2_F_BLOCK_PITCH;
    padded_offset += b_slice_idx * IN2_B_BLOCK_PITCH;
    padded_offset += y_idx * IN2_Y_PITCH;
    padded_offset += x_idx * IN2_X_PITCH;
    padded_offset += b_val_idx * 32;
    padded_offset += f_val_idx;
    padded_offset += IN2_OFFSET;

    return padded_offset;
#else
    return cOffset;
#endif
}
#endif

inline void FUNC(mmad_32x32_int8)(  __local uint* l_tileA, const uint l_offsetTileA,
                                    __local int8* l_tileB, const uint l_offsetTileB_col0,
                                    const uint l_offsetTileB_col1, const uint l_offsetTileB_col2,
                                    const uint l_offsetTileB_col3, int8* rowA, int8* colB,
                                    int8* regC)
{
    // Read tile A from SLM to regA
    uint l_offsetTileATemp = l_offsetTileA;
    __attribute__((opencl_unroll_hint(SG_TILE_M / 8)))
    for (uint j = 0; j < (SG_TILE_M / 8); ++j)
    {
        rowA[j] = as_int8(SLM_BLOCK_READ_8(&l_tileA[l_offsetTileATemp]));
        l_offsetTileATemp += 8 * SG_SIZE;
    }
    // Read tile B from SLM to regB and compute mmad
    colB[0] = l_tileB[l_offsetTileB_col0];
    colB[1] = l_tileB[l_offsetTileB_col1];
    __attribute__((opencl_unroll_hint(SG_TILE_M / 8)))
    for (uint j = 0; j < (SG_TILE_M / 8); ++j)
    {
        // Compute partial C
        regC[0*(SIMD_LANE_M / 8) + j] = MMAD_8x8( rowA[j], colB[0], regC[0*(SIMD_LANE_M / 8) + j]);
    }
    colB[0] = l_tileB[l_offsetTileB_col2];
    __attribute__((opencl_unroll_hint(SG_TILE_M / 8)))
    for (uint j = 0; j < (SG_TILE_M / 8); ++j)
    {
        // Compute partial C
        regC[1*(SIMD_LANE_M / 8) + j] = MMAD_8x8( rowA[j], colB[1], regC[1*(SIMD_LANE_M / 8) + j] );
    }
    float eltw_elem_scaled = (float)eltw_elem * NON_CONV_SCALE;
#    else
    // Saturation isn't needed here probably. However, this is not a performant
    // kernel, so better be safe. A slightly better way would be to assert about
    // precision somehow, but it's not going to be easy/elegant in OpenCL :(
    ACTIVATION_TYPE eltw_elem_scaled = CAT(CAT(TO_, ACTIVATION_TYPE_BASE), _TYPE_SAT)(eltw_elem);
#    endif

    // TODO: Support other eltwise operations.
    ACTIVATION_TYPE before_eltw_activation = after_output_calibration + eltw_elem_scaled;
    ACTIVATION_TYPE after_eltw_activation =
        ACTIVATION_ELTW_TYPED(
            ACTIVATION_TYPE_BASE,
            before_eltw_activation,
            NL_M_ELTW,
            NL_N_ELTW);

    after_eltw_activation =
        AFTER_ELTW_CALIBRATION_ROUND(after_eltw_activation
#    if ELTW_CALIBRATION_TERM
                                     * eltw_output_calibrations[f]
#    endif
        );

    output[dst_index] = TO_OUTPUT_TYPE_SAT(after_eltw_activation);
#endif
}

#if defined(O_QF_LOCAL_DEFINE)
#    undef O_QF
#    undef O_QF_LOCAL_DEFINE
#endif

#if defined(ACTIVATION_ELTW_TYPED)
#    undef AFTER_CELTW_CALIBRATION_ROUND
#endif

#undef AFTER_CALIBRATION_ROUND
#undef ACTIVATION_TYPE_BASE
#undef ACTIVATION_TYPE
#undef TO_ACCUMULATOR_TYPE
#undef ACCUMULATOR_TYPE


#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif


#if QUANTIZATION_TERM || CALIBRATION_TERM || defined(O_QF)
#    define ACCUMULATOR_TYPE int
#    define TO_ACCUMULATOR_TYPE(x) convert_int(x)
#    define ACTIVATION_TYPE float
#    define ACTIVATION_TYPE_BASE float
     // TODO: It's unclear for now what should be the rounding scheme. Might
     // happen that we will be required to round to nearest-even. Should it
     // become a customization point, or will we support just one rounding
     // scheme?
#    if !defined(ACTIVATION_ELTW_TYPED) && OUTPUT_IS_FP
         // [U]INT8 -> float convolution with quantization/calibration.
#        define AFTER_CALIBRATION_ROUND(x) (x)
#    else
         // TODO: Do we need the round of the conv result in the fused
         // primitive?
#        define AFTER_CALIBRATION_ROUND(x) round(x)
#    endif
#elif defined(ACTIVATION_ELTW_TYPED) && (INT8_UNIT_USED || UINT8_UNIT_USED)
    // TODO: Get rid of INT8_UNIT_USED - its meaning doesn't look to be defined
    // properly. Better to check INPUT0_TYPE is [U]INT8 somehow...
#    define ACCUMULATOR_TYPE int
#    define TO_ACCUMULATOR_TYPE(x) convert_int(x)
#    define ACTIVATION_TYPE int
#    define ACTIVATION_TYPE_BASE int
#    define AFTER_CALIBRATION_ROUND(x) (x)
#else
#    define ACCUMULATOR_TYPE INPUT0_TYPE
#    define TO_ACCUMULATOR_TYPE(x) TO_INPUT0_TYPE(x)
#    define ACTIVATION_TYPE INPUT0_TYPE
#    define ACTIVATION_TYPE_BASE INPUT0
#    define AFTER_CALIBRATION_ROUND(x) (x)
#endif

#if defined(ACTIVATION_ELTW_TYPED)
#    if OUTPUT_IS_FP
#        define AFTER_ELTW_CALIBRATION_ROUND(x) (x)
#    else
#        define AFTER_ELTW_CALIBRATION_ROUND(x) round(x)
#    endif
#endif

#if QUANTIZATION_TERM && (!defined(CALIBRATION_TERM) || CALIBRATION_TERM == 0 ) && !defined(O_QF)
    // To get proper type for the "before_activation" below.
#   define O_QF_LOCAL_DEFINE
#   define O_QF 1.0
#endif

KERNEL(kernel_name)(
    const __global INPUT0_TYPE *conv_input,
    __global OUTPUT_TYPE *output,
    const __global FILTER_TYPE *weights,
#if BIAS_TERM
    const __global BIAS_TYPE *biases,
#endif
#if QUANTIZATION_TERM
    const __global float* quantizations,
#endif
#if CALIBRATION_TERM
    const __global float* calibrations,
#endif
    uint split_idx
#if defined(ACTIVATION_ELTW_TYPED)
#    if IN_OUT_OPT
    // The argument is always present (in this case it would be the same as
    // output), just ignore it.
    , const __global OUTPUT_TYPE *_ignore
#    else
    , const __global INPUT1_TYPE *eltw_input
#    endif
#    if ELTW_CALIBRATION_TERM
    , const __global float* eltw_output_calibrations
#    endif
#endif
    )
{
    // Convolution part.
    const uint x = get_global_id(0);
    const uint y = get_global_id(1);
#if OUTPUT_BATCH_NUM == 1
    const uint f = get_global_id(2);
    const uint b = 0;
#else
    const uint f = get_global_id(2) % OUTPUT_FEATURE_NUM;
    const uint b = get_global_id(2) / OUTPUT_FEATURE_NUM;
#endif

    ACCUMULATOR_TYPE dotProd = (ACCUMULATOR_TYPE)0;
    const int input_x = x * STRIDE_SIZE_X - PADDING_SIZE_X;
    const int input_y = y * STRIDE_SIZE_Y - PADDING_SIZE_Y;

#if DEPTHWISE_SEPARABLE_OPT
    const uint in_split_offset = (f / FILTER_OFM_NUM) * INPUT0_FEATURE_PITCH * FILTER_IFM_NUM;
#else
    const uint in_split_offset = split_idx * INPUT0_FEATURE_PITCH * FILTER_IFM_NUM;
#endif
    for (uint k = 0; k < FILTER_IFM_NUM; ++k)
    {
        for (uint j = 0; j < FILTER_SIZE_Y ; ++j)
        {
            const int input_offset_y = input_y + j * DILATION_SIZE_Y;
            const bool zero_y = input_offset_y >= INPUT0_SIZE_Y || input_offset_y < 0;

            if(!zero_y)
            {
                for (uint i = 0; i < FILTER_SIZE_X ; ++i)
                {
                    const int input_offset_x = input_x + i * DILATION_SIZE_X;
                    const bool zero_x = input_offset_x >= INPUT0_SIZE_X || input_offset_x < 0;

                    if(!zero_x)
                    {
                        uint input_idx =
                            GET_DATA_INDEX(
                                INPUT0, b, k, input_offset_y, input_offset_x)
                            + in_split_offset;
                        uint filter_idx = GET_FILTER_INDEX(FILTER, f, k, j, i);
#if GROUPED && !DEPTHWISE_SEPARABLE_OPT
                        filter_idx += split_idx * FILTER_LENGTH;
#endif
#ifdef LOCAL_CONVOLUTION
                        filter_idx += FILTER_SIZE_X * FILTER_SIZE_Y
                            * (x + OUTPUT_SIZE_X * y);
#endif
                        dotProd += TO_ACCUMULATOR_TYPE(conv_input[input_idx]) * TO_ACCUMULATOR_TYPE(weights[filter_idx]);
                    }
                }
            }
        }
    }

#if BIAS_TERM
    #if GROUPED && !DEPTHWISE_SEPARABLE_OPT
        const uint bias_offset = split_idx * BIAS_LENGTH;
    #else
        const uint bias_offset = 0;
    #endif
    #if   BIAS_PER_OUTPUT
        const uint bias_index = bias_offset + GET_DATA_INDEX(BIAS, b, f, y, x);
    #elif BIAS_PER_OFM
        const uint bias_index = bias_offset + f;
    #endif

    #if !DONT_DEQUANTIZE_BIAS
        dotProd += TO_ACCUMULATOR_TYPE(biases[bias_index]);
    #endif
#endif

    ACTIVATION_TYPE dequantized = dotProd
#if QUANTIZATION_TERM
        // TODO: Do per-channel and per-tensor dequantization coeffecients
        // happen to co-exist really?
        * quantizations[f] * I_QF
#endif
        ;

#if DONT_DEQUANTIZE_BIAS
    #if !BIAS_TERM || !QUANTIZATION_TERM
        #error "DONT_DEQUANTIZE_BIAS is meaningless without BIAS_TERM and QUANTIZATION_TERM"
    #endif
    // assert(BIAS_TYPE == float);
    dequantized += biases[bias_index];
#endif

    ACTIVATION_TYPE after_activation =
        ACTIVATION_TYPED(ACTIVATION_TYPE_BASE, dequantized, NL_M, NL_N);

#if CALIBRATION_TERM
    ACTIVATION_TYPE after_output_calibration = after_activation * calibrations[f];
#elif defined(O_QF)
    ACTIVATION_TYPE after_output_calibration = after_activation * O_QF;
#else
    ACTIVATION_TYPE after_output_calibration = after_activation;
#endif

    after_output_calibration = AFTER_CALIBRATION_ROUND(after_output_calibration);

    const uint out_split_offset = split_idx * OUTPUT_FEATURE_PITCH * OUTPUT_FEATURE_NUM;
    const uint dst_index = GET_DATA_INDEX(OUTPUT, b, f, y, x) + out_split_offset;

#if !defined(ACTIVATION_ELTW_TYPED)
    output[dst_index] = TO_OUTPUT_TYPE_SAT(after_output_calibration);
#else

#    if IN_OUT_OPT == 1
    OUTPUT_TYPE eltw_elem = output[dst_index];
#    else
    INPUT1_TYPE eltw_elem = eltw_input[GET_DATA_INDEX(INPUT1, b, f, y * ELTW_STRIDE_Y, x * ELTW_STRIDE_X)];
#    endif

#    if defined(NON_CONV_SCALE)
// Copyright (c) 2016-2019 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/


#define GET_DATA_INDEX(prefix, b, f, y, x)  \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_INDEX_SAFE(prefix, b, f, y, x)                     \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

 #define GET_3D_DATA_INDEX(prefix, b, f, z, y, x) \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (z)*CAT(prefix, _Z_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_3D_DATA_INDEX_SAFE(prefix, b, f, z, y, x)               \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (z % CAT(prefix, _SIZE_Z     ))*CAT(prefix, _Z_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_BS_FYX_BSV8_INDEX(prefix, b, f, y, x, sub_group_size)  \
    CAT(prefix, _OFFSET) +                                              \
    ((b) % (sub_group_size)) +                                          \
    (sub_group_size)*(                                                  \
        (x)*CAT(prefix, _X_PITCH) +                                     \
        (y)*CAT(prefix, _Y_PITCH) +                                     \
        (f)*CAT(prefix, _FEATURE_PITCH) +                               \
        ((b) / (sub_group_size))*CAT(prefix, _BATCH_PITCH)              \
    )

inline uint FUNC(get_bf8_xy16_index)(uint b, uint f, uint y, uint x, uint x_size, uint y_size, uint f_size, uint offset)
{
    const uint xy_idx = x + y * x_size;
    const uint xy_offset = (xy_idx % 16) + (xy_idx / 16) * 16 * 8;
    const uint xy_block_num = (x_size * y_size + 16 - 1) / 16;
    const uint f_offset = (f % 8) * 16 + (f / 8) * xy_block_num * 16 * 8;
    const uint f_block_num = (f_size + 8 - 1) / 8;
    const uint b_offset = b * f_block_num * xy_block_num * 128;

    const size_t idx = offset + xy_offset + f_offset + b_offset;

    return idx;
}

inline uint FUNC(get_bfyx_f16_index)(
    uint b, uint f, uint y, uint x,
    uint x_size, uint y_size, uint f_size,
    uint y_pad_before,uint y_pad_after,
    uint x_pad_before, uint x_pad_after,
    uint f_pad_before, uint f_pad_after)
{
    const uint feature_slice_size = 16;

    const uint full_width = x_size + x_pad_before + x_pad_after;
    const uint full_height = y_size + y_pad_before + y_pad_after;
    const uint full_features = f_pad_before + f_size + f_pad_after;
    const uint feature_tiles_number = (full_features + feature_slice_size - 1) / feature_slice_size;

    const uint x_pitch = feature_slice_size;
    const uint y_pitch = x_pitch * full_width;
    const uint fs_pitch = y_pitch * full_height;
    const uint b_pitch = fs_pitch * feature_tiles_number;

    const uint x_offset = (x + x_pad_before) * x_pitch;
    const uint y_offset = (y + y_pad_before) * y_pitch;
    const uint fs_offset = (f / feature_slice_size + f_pad_before / feature_slice_size) * fs_pitch;
    const uint b_offset = b * b_pitch;

    const size_t idx = x_offset + y_offset + fs_offset + b_offset + (f % feature_slice_size);

    return idx;
}

#define GET_DATA_BFYX_F16_INDEX(prefix, b, f, y, x)     \
    FUNC_CALL(get_bfyx_f16_index)(                      \
        b, f, y, x,                                     \
        CAT(prefix, _SIZE_X ),                          \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _FEATURE_NUM),                      \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_X),                \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _PAD_AFTER_FEATURE_NUM))

#define GET_FILTER_O_I_YX_I16_O16_INDEX(prefix, o, i, y, x, sub_group_size)  \
    CAT(prefix, _OFFSET) +                                                   \
    ((o) % (sub_group_size)) +                                               \
    (sub_group_size)*(                                                       \
        (x)*(sub_group_size)*CAT(prefix, _X_PITCH) +                         \
        (y)*(sub_group_size)*CAT(prefix, _Y_PITCH) +                         \
        ((i) % (sub_group_size)) +                                           \
        ((i) / (sub_group_size))*(sub_group_size)*CAT(prefix, _IFM_PITCH) +  \
        ((o) / (sub_group_size))*CAT(prefix, _OFM_PITCH)                     \
    )

inline uint FUNC(get_byxf_af32_index)(uint b, uint f, uint y, uint x, uint y_pitch, uint b_pitch, uint f_size, uint offset)
{
	const uint f_aligned_to_32 = ((f_size + 31) / 32) * 32;
	const uint b_offset = b * b_pitch;
	const uint xy_offset = f_aligned_to_32 * x + y_pitch * y;
	const uint f_offset = f;
	const size_t idx = offset + xy_offset + b_offset + f_offset;
	return idx;
}

#define GET_DATA_BYXF_AF32_INDEX(prefix, b, f, y, x)\
	FUNC_CALL(get_byxf_af32_index)(                 \
		b, f, y, x, CAT(prefix, _Y_PITCH),          \
		CAT(prefix, _BATCH_PITCH),                      \
		CAT(prefix, _FEATURE_NUM),                 \
		CAT(prefix, _OFFSET))

inline uint FUNC(get_byx8_f4_index)(uint b, uint f, uint y, uint x,
    uint x_pitch, uint y_pitch, uint b_pitch, uint f_size, uint x_size, uint offset)
{
    const uint f_aligned_to_4 = ((f_size + 3) / 4) * 4;
    const uint x_aligned_to_8 = ((x_size + 7) / 8) * 8;
    const uint b_offset = b * b_pitch;
    const uint xy_offset = x * x_pitch + y * y_pitch;
    const uint f_offset = f;
    const size_t idx = offset + xy_offset + b_offset + f_offset;
    return idx;
}

#define GET_DATA_BYX8_F4_INDEX(prefix, b, f, y, x)\
    }
    #endif
#else
    for(uint s = 0; s < BATCHES_PER_WORK_ITEM; s++)
    {
        uint _out_id = OUTPUT_VIEW_OFFSET + out_id + s * LOCAL_WORK_GROUP_SIZE;

        for(uint i = 0; i < 16; i++)
        {
#if IN_OUT_OPT == 1
            half eltw_second_input_data = output[_out_id + i * OUTPUT_FEATURE_PITCH];
#else
            uint _eltw_id = INPUT1_VIEW_OFFSET + eltw_id + s * LOCAL_WORK_GROUP_SIZE;
            half eltw_second_input_data = output[_eltw_id + i * INPUT1_FEATURE_PITCH];
#endif
            _data[s][i] += eltw_second_input_data;
            _data[s][i] = ACTIVATION_ELTW(_data[s][i], NL_M_ELTW, NL_N_ELTW);
        }

        output[_out_id] = _data[s].s0; _out_id += OUTPUT_FEATURE_PITCH;
        output[_out_id] = _data[s].s1; _out_id += OUTPUT_FEATURE_PITCH;
        output[_out_id] = _data[s].s2; _out_id += OUTPUT_FEATURE_PITCH;
        output[_out_id] = _data[s].s3; _out_id += OUTPUT_FEATURE_PITCH;
        output[_out_id] = _data[s].s4; _out_id += OUTPUT_FEATURE_PITCH;
        output[_out_id] = _data[s].s5; _out_id += OUTPUT_FEATURE_PITCH;
        output[_out_id] = _data[s].s6; _out_id += OUTPUT_FEATURE_PITCH;
        output[_out_id] = _data[s].s7; _out_id += OUTPUT_FEATURE_PITCH;
        output[_out_id] = _data[s].s8; _out_id += OUTPUT_FEATURE_PITCH;
        output[_out_id] = _data[s].s9; _out_id += OUTPUT_FEATURE_PITCH;
        output[_out_id] = _data[s].sa; _out_id += OUTPUT_FEATURE_PITCH;
        output[_out_id] = _data[s].sb; _out_id += OUTPUT_FEATURE_PITCH;
        output[_out_id] = _data[s].sc; _out_id += OUTPUT_FEATURE_PITCH;
        output[_out_id] = _data[s].sd; _out_id += OUTPUT_FEATURE_PITCH;
        output[_out_id] = _data[s].se; _out_id += OUTPUT_FEATURE_PITCH;
        output[_out_id] = _data[s].sf; _out_id += OUTPUT_FEATURE_PITCH;
    }
#endif
}

__attribute__((intel_reqd_sub_group_size(16)))
__attribute__((reqd_work_group_size(16, 1, 1)))
KERNEL(fused_conv_eltwise_gpu_yxfb_yxio_b16)(
    const __global UNIT_TYPE* input,
    __global UNIT_TYPE* output,
    const __global UNIT_TYPE* filter,
#if BIAS_TERM
    const __global UNIT_TYPE* bias,
#endif
    uint split_idx,
    const __global UNIT_TYPE* input2)
{
    // get_global_size(0) -> Number of work items needed to compute all features and all batches for single output spatial position
    //                       (single (x, y) point in output).
    // get_global_size(1) -> Output size in X-dimension.
    // get_global_size(2) -> Output size in Y-dimension.
    // get_global_id(0)   -> Id of work item computing single spatial point of output indicated by get_global_id(1), get_global_id(2).
    // get_group_id(1)   -> Current x-position in output.
    // get_group_id(2)   -> Current y-position in output.
    //
    // WORK_ITEMS_PER_SINGLE_BATCHES_ELEMENTS -> Number of work items needed to compute entire one batch for at least one feature and one spatial point.
    //                                           (this number in current implementation computes also OFM_PER_WORK_ITEM output features at the same time).
    // FILTER_ARRAY_NUM                       -> Number of filters groups (split size).

    const uint out_x = get_group_id(1);
    const uint out_y = get_group_id(2);

    const uint output_f_size = OUTPUT_PAD_BEFORE_FEATURE_NUM + OUTPUT_FEATURE_NUM + OUTPUT_PAD_AFTER_FEATURE_NUM;
    const uint output_x_size = OUTPUT_PAD_BEFORE_SIZE_X + OUTPUT_SIZE_X + OUTPUT_PAD_AFTER_SIZE_X;
    const uint linear_id_xy = OUTPUT_PAD_BEFORE_SIZE_X + out_x + output_x_size * (out_y + OUTPUT_PAD_BEFORE_SIZE_Y);
    uint global_id = (((uint)get_global_id(0) / WORK_ITEMS_PER_SINGLE_BATCHES_ELEMENTS) + (linear_id_xy * FILTER_ARRAY_NUM + split_idx) * (output_f_size / OFM_PER_WORK_ITEM)) * WORK_ITEMS_PER_SINGLE_BATCHES_ELEMENTS;

    const uint sub_group_id = get_local_id(0);

#if defined(USE_BLOCK_READ_2) || defined(USE_BLOCK_READ_1)
    const uint chunk_size = sizeof(uint)/sizeof(UNIT_TYPE);
#else
    const uint chunk_size = 1;
#endif

    const uint out_batch_id = chunk_size * sub_group_id + LOCAL_WORK_GROUP_SIZE * BATCHES_PER_WORK_ITEM * ((uint)get_group_id(0) % LOCAL_WORK_GROUPS_PER_SINGLE_BATCHES_ELEMENTS);

    const uint out_id = (global_id / WORK_ITEMS_PER_SINGLE_BATCHES_ELEMENTS) * OFM_PER_WORK_ITEM * OUTPUT_FEATURE_PITCH + OUTPUT_PAD_BEFORE_FEATURE_NUM * OUTPUT_FEATURE_PITCH + OUTPUT_PAD_BEFORE_BATCH_NUM + out_batch_id;

    const uint ofm_offset = ((global_id * OFM_PER_WORK_ITEM) / WORK_ITEMS_PER_SINGLE_BATCHES_ELEMENTS) % output_f_size;

#if IN_OUT_OPT != 1 // calculating eltwise offset
    const uint eltw_x = out_x * ELTW_STRIDE_X;
    const uint eltw_y = out_y * ELTW_STRIDE_Y;

    const uint eltw_f_size = INPUT1_PAD_BEFORE_FEATURE_NUM + INPUT1_FEATURE_NUM + INPUT1_PAD_AFTER_FEATURE_NUM;
    const uint eltw_x_size = INPUT1_PAD_BEFORE_SIZE_X + INPUT1_SIZE_X + INPUT1_PAD_AFTER_SIZE_X;

    const uint eltw_linear_id_xy = INPUT1_PAD_BEFORE_SIZE_X + eltw_x + eltw_x_size * (eltw_y + INPUT1_PAD_BEFORE_SIZE_Y);

    uint eltw_global_id = (((uint)get_global_id(0) / WORK_ITEMS_PER_SINGLE_BATCHES_ELEMENTS) + (eltw_linear_id_xy * FILTER_ARRAY_NUM + split_idx) * (eltw_f_size / OFM_PER_WORK_ITEM)) * WORK_ITEMS_PER_SINGLE_BATCHES_ELEMENTS;
    const uint eltw_id = (eltw_global_id / WORK_ITEMS_PER_SINGLE_BATCHES_ELEMENTS) * OFM_PER_WORK_ITEM * INPUT1_FEATURE_PITCH + INPUT1_PAD_BEFORE_FEATURE_NUM * INPUT1_FEATURE_PITCH + INPUT1_PAD_BEFORE_BATCH_NUM + out_batch_id;
#endif

    // Each component of vector element contains computation for separate output feature.
    half16 _data[BATCHES_PER_WORK_ITEM];
    for(uint i = 0; i < BATCHES_PER_WORK_ITEM; i++)
    {
        _data[i] = UNIT_VAL_ZERO;
    }

    const int x = (int)out_x * STRIDE_SIZE_X - PADDING_SIZE_X;
    const int y = (int)out_y * STRIDE_SIZE_Y - PADDING_SIZE_Y;

    for (uint i = 0; i < FILTER_SIZE_Y; i++)
    {
        const int input_offset_y = y + i * DILATION_SIZE_Y;
        const bool zero_y = input_offset_y >= INPUT0_SIZE_Y || input_offset_y < 0;

        if(!zero_y)
        {
            for (uint j = 0; j < FILTER_SIZE_X; j++)
            {
                const int input_offset_x = x + j * DILATION_SIZE_X;
                const bool zero = input_offset_x >= INPUT0_SIZE_X || input_offset_x < 0;

                if(!zero)
                {
                    uint input_idx = input_offset_x*INPUT0_X_PITCH + input_offset_y*INPUT0_Y_PITCH;
                    input_idx += INPUT0_OFFSET + split_idx * FILTER_IFM_NUM * INPUT0_FEATURE_PITCH;
                    input_idx += out_batch_id;

                    //sub_group_id used as offset to make each workitem load different filter, and then shuffle it
                    // 2 * sub_group_id is used because we group 2 halfs as one uint element.
                    uint filter_idx = ofm_offset + 2*sub_group_id + i*FILTER_Y_PITCH + j*FILTER_X_PITCH;

                    for (uint h = 0; h < FILTER_IFM_NUM; h++)
                    {
#if defined(USE_BLOCK_READ_2)
                        half4 _input = as_half4(intel_sub_group_block_read2((const __global uint*)(input + input_idx)));
                        uint filter_val_pair = *(const __global uint*)(filter + filter_idx);
                        half16 filter_transp = TRANSPOSE_BLOCK_16_FP16(filter_val_pair);
                        _data[0] = fma(_input.s0, filter_transp, _data[0]);
                        _data[1] = fma(_input.s1, filter_transp, _data[1]);
                        _data[2] = fma(_input.s2, filter_transp, _data[2]);
                        _data[3] = fma(_input.s3, filter_transp, _data[3]);
                        input_idx += INPUT0_FEATURE_PITCH;
#elif defined(USE_BLOCK_READ_1)
                        half2 _input = as_half2(intel_sub_group_block_read((const __global uint*)(input + input_idx)));
                        uint filter_val_pair = *(const __global uint*)(filter + filter_idx);
                        half16 filter_transp = TRANSPOSE_BLOCK_16_FP16(filter_val_pair);
                        _data[0] = fma(_input.s0, filter_transp, _data[0]);
                        _data[1] = fma(_input.s1, filter_transp, _data[1]);
                        input_idx += INPUT0_FEATURE_PITCH;
#else
                        uint filter_val_pair = *(const __global uint*)(filter + filter_idx);
                        half16 filter_transp = TRANSPOSE_BLOCK_16_FP16(filter_val_pair);
                        for(uint s = 0; s < BATCHES_PER_WORK_ITEM; s++)
                        {
                            _data[s] = fma(input[input_idx], filter_transp, _data[s]);
                            input_idx += LOCAL_WORK_GROUP_SIZE;
                        }
                        input_idx += INPUT0_FEATURE_PITCH - BATCHES_PER_WORK_ITEM * LOCAL_WORK_GROUP_SIZE;
#endif
                        filter_idx += FILTER_IFM_PITCH;
                    }
                }
            }
        }
    }

#if BIAS_TERM
    uint bias_val_pair = *(const __global uint*)(bias + (ofm_offset + 2 * sub_group_id));
    for(uint s = 0; s < BATCHES_PER_WORK_ITEM; s++)
    {
        ADD_BIAS_16_FP16(_data[s], bias_val_pair);
    }
#endif
    for(uint s = 0; s < BATCHES_PER_WORK_ITEM; s++)
    {
        _data[s] = ACTIVATION(_data[s], NL_M, NL_N);
    }

#if defined(USE_BLOCK_READ_2) || defined(USE_BLOCK_READ_1)
    #if BATCHES_PER_WORK_ITEM == 4
        uint _out_id = OUTPUT_VIEW_OFFSET + out_id;
        for(uint i = 0; i < 16; i++)
        {
#if IN_OUT_OPT == 1
            half2 eltw_second_input_data0 = as_half2(*(__global uint*)(output + _out_id ));
            half2 eltw_second_input_data1 = as_half2(*(__global uint*)(output + _out_id + 32));
#else
            uint _eltw_id = INPUT1_VIEW_OFFSET + eltw_id;
            half2 eltw_second_input_data0 = as_half2(*(__global uint*)(input2 + _eltw_id + i * INPUT1_FEATURE_PITCH));
            half2 eltw_second_input_data1 = as_half2(*(__global uint*)(input2 + _eltw_id + i * INPUT1_FEATURE_PITCH + 32));
#endif
            _data[0][i] += eltw_second_input_data0.s0;
            _data[1][i] += eltw_second_input_data0.s1;
            _data[2][i] += eltw_second_input_data1.s0;
            _data[3][i] += eltw_second_input_data1.s1;

            _data[0][i] = ACTIVATION_ELTW(_data[0][i], NL_M_ELTW, NL_N_ELTW);
            _data[1][i] = ACTIVATION_ELTW(_data[1][i], NL_M_ELTW, NL_N_ELTW);
            _data[2][i] = ACTIVATION_ELTW(_data[2][i], NL_M_ELTW, NL_N_ELTW);
            _data[3][i] = ACTIVATION_ELTW(_data[3][i], NL_M_ELTW, NL_N_ELTW);

            *(__global uint*)(output + _out_id) = as_uint((half2)(_data[0][i], _data[1][i]));
            *(__global uint*)(output + _out_id + 32) = as_uint((half2)(_data[2][i], _data[3][i]));
            _out_id += OUTPUT_FEATURE_PITCH;
        }
    #else
    for(uint s = 0; s < BATCHES_PER_WORK_ITEM / 2; s++)
    {
        uint _out_id = OUTPUT_VIEW_OFFSET + out_id + chunk_size * s * LOCAL_WORK_GROUP_SIZE;

        for(uint i = 0; i < 16; i++)
        {
#if IN_OUT_OPT == 1
            half2 eltw_second_input_data = as_half2(*(__global uint*)(output + _out_id + i * OUTPUT_FEATURE_PITCH));
#else
            uint _eltw_id = INPUT1_VIEW_OFFSET + eltw_id + chunk_size * s * LOCAL_WORK_GROUP_SIZE;
            half2 eltw_second_input_data = as_half2(*(__global uint*)(input2 + _eltw_id + i * INPUT1_FEATURE_PITCH));
#endif
            _data[chunk_size * s][i] += eltw_second_input_data.s0;
            _data[chunk_size * s + 1][i] += eltw_second_input_data.s1;
            _data[chunk_size * s][i] = ACTIVATION_ELTW(_data[chunk_size * s][i], NL_M_ELTW, NL_N_ELTW);
            _data[chunk_size * s + 1][i] = ACTIVATION_ELTW(_data[chunk_size * s + 1][i], NL_M_ELTW, NL_N_ELTW);
        }

        *(__global uint*)(output + _out_id) = as_uint((half2)(_data[chunk_size * s].s0, _data[chunk_size * s + 1].s0)); _out_id += OUTPUT_FEATURE_PITCH;
        *(__global uint*)(output + _out_id) = as_uint((half2)(_data[chunk_size * s].s1, _data[chunk_size * s + 1].s1)); _out_id += OUTPUT_FEATURE_PITCH;
        *(__global uint*)(output + _out_id) = as_uint((half2)(_data[chunk_size * s].s2, _data[chunk_size * s + 1].s2)); _out_id += OUTPUT_FEATURE_PITCH;
        *(__global uint*)(output + _out_id) = as_uint((half2)(_data[chunk_size * s].s3, _data[chunk_size * s + 1].s3)); _out_id += OUTPUT_FEATURE_PITCH;
        *(__global uint*)(output + _out_id) = as_uint((half2)(_data[chunk_size * s].s4, _data[chunk_size * s + 1].s4)); _out_id += OUTPUT_FEATURE_PITCH;
        *(__global uint*)(output + _out_id) = as_uint((half2)(_data[chunk_size * s].s5, _data[chunk_size * s + 1].s5)); _out_id += OUTPUT_FEATURE_PITCH;
        *(__global uint*)(output + _out_id) = as_uint((half2)(_data[chunk_size * s].s6, _data[chunk_size * s + 1].s6)); _out_id += OUTPUT_FEATURE_PITCH;
        *(__global uint*)(output + _out_id) = as_uint((half2)(_data[chunk_size * s].s7, _data[chunk_size * s + 1].s7)); _out_id += OUTPUT_FEATURE_PITCH;
        *(__global uint*)(output + _out_id) = as_uint((half2)(_data[chunk_size * s].s8, _data[chunk_size * s + 1].s8)); _out_id += OUTPUT_FEATURE_PITCH;
        *(__global uint*)(output + _out_id) = as_uint((half2)(_data[chunk_size * s].s9, _data[chunk_size * s + 1].s9)); _out_id += OUTPUT_FEATURE_PITCH;
        *(__global uint*)(output + _out_id) = as_uint((half2)(_data[chunk_size * s].sa, _data[chunk_size * s + 1].sa)); _out_id += OUTPUT_FEATURE_PITCH;
        *(__global uint*)(output + _out_id) = as_uint((half2)(_data[chunk_size * s].sb, _data[chunk_size * s + 1].sb)); _out_id += OUTPUT_FEATURE_PITCH;
        *(__global uint*)(output + _out_id) = as_uint((half2)(_data[chunk_size * s].sc, _data[chunk_size * s + 1].sc)); _out_id += OUTPUT_FEATURE_PITCH;
        *(__global uint*)(output + _out_id) = as_uint((half2)(_data[chunk_size * s].sd, _data[chunk_size * s + 1].sd)); _out_id += OUTPUT_FEATURE_PITCH;
        *(__global uint*)(output + _out_id) = as_uint((half2)(_data[chunk_size * s].se, _data[chunk_size * s + 1].se)); _out_id += OUTPUT_FEATURE_PITCH;
        *(__global uint*)(output + _out_id) = as_uint((half2)(_data[chunk_size * s].sf, _data[chunk_size * s + 1].sf)); _out_id += OUTPUT_FEATURE_PITCH;
fused_conv_eltwise_gpu_yxfb_yxio_b16_fp16// Copyright (c) 2018 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)


KERNEL(gemm_ref)
	(const __global UNIT_TYPE* input0,
	const __global UNIT_TYPE* input1,
#if OUT_BIAS_TERM
	const __global UNIT_TYPE* input2,
#endif
	__global UNIT_TYPE* output)
{
    const uint x = (uint)get_global_id(0);
	const uint y = (uint)get_global_id(1);
	const uint b = (uint)get_global_id(2);
	uint in0_idx=0;
	uint in1_idx=0;
	float value = 0;

#if TRANSPOSE_INPUT1
for (uint i = 0; i < Y1; ++i)
	{
		in0_idx = i * X1 + x + b * X1 * Y1;
#else
	for (uint i = 0; i < X1; ++i)
	{
		in0_idx = x * X1 + i + b * X1 * Y1;
#endif

#if TRANSPOSE_INPUT2
	in1_idx = y * X2 + i + b * X2 * Y2;
#else
	in1_idx = i * X2 + y + b * X2 * Y2;
#endif

		value = fma(input0[in0_idx], input1[in1_idx], value);
	}
#if TRANSPOSE_INPUT1 && TRANSPOSE_INPUT2
	uint out_idx = x * Y2 + y + b * X1 * Y2;
#elif TRANSPOSE_INPUT1
	uint out_idx = x * X2 + y + b * X1 * Y1;
#elif TRANSPOSE_INPUT2
	uint out_idx = x * Y2 + y + b * X2 * Y2;
#else
	uint out_idx = x * X2 + y + b * X2 * Y1;
#endif

	float beta_out = 0;
#if OUT_BIAS_TERM
	beta_out = BETA * input2[out_idx];
#endif
	output[out_idx] = fma(ALPHA, value, beta_out);
}


gemm_ref#else

#define GET_INDEX(prefix, num)                                                      \
    CAT(CAT(prefix, num), _OFFSET) +                                                \
    (CAT(d1_in, num) % CAT(CAT(prefix, num), _SIZES)[0])*CAT(CAT(prefix, num), _PITCHES)[0] +    \
    (CAT(d2_in, num) % CAT(CAT(prefix, num), _SIZES)[1])*CAT(CAT(prefix, num), _PITCHES)[1] +    \
    (CAT(d3_in, num) % CAT(CAT(prefix, num), _SIZES)[2])*CAT(CAT(prefix, num), _PITCHES)[2] +    \
    (CAT(d4_in, num) % CAT(CAT(prefix, num), _SIZES)[3])*CAT(CAT(prefix, num), _PITCHES)[3]

#endif

#endif
#endif
#endif // 3D/2D spatial

#if OUTPUT_LAYOUT_BFYX_F16
#   define GET_OUTPUT_INDEX(b, f, y, x)                        \
        GET_DATA_BFYX_F16_INDEX(OUTPUT, b, f, y, x)

#endif

#if !ELTWISE_NO_PITCH_SAME_DIMS
#   define GET_INPUT_INDEX_BFYX_F16(num)                                            \
    GET_DATA_BFYX_F16_INDEX(                                                        \
            CAT(INPUT, num),                                                        \
            d4 % CAT(CAT(INPUT, num), _BATCH_NUM),                                  \
            d3 % CAT(CAT(INPUT, num), _FEATURE_NUM),                                \
            d2 * CAT(CAT(INPUT, num), _STRIDE_Y) % CAT(CAT(INPUT, num), _SIZE_Y),   \
            d1 * CAT(CAT(INPUT, num), _STRIDE_X) % CAT(CAT(INPUT, num), _SIZE_X))

#else
#   define GET_INPUT_INDEX_BFYX_F16(num) GET_INDEX(INPUT, num)
#endif

KERNEL(eltwise)(
    INPUTS_DECLS
    __global UNIT_TYPE* output
#if CALIBRATION_TERM
    , const __global float* calibrations
#endif
    )
{
#if OUTPUT_DIMS == 5 // 3D spatial
#if ELTWISE_LAYOUT_BASED || QUANTIZATION_TERM

    uint data_idx = get_global_id(GWS_YX);
    const uint d1 = data_idx % OUTPUT_SIZE_X; // X
    data_idx = data_idx / OUTPUT_SIZE_X;

    const uint d2 = data_idx % OUTPUT_SIZE_Y; // Y
    data_idx = data_idx / OUTPUT_SIZE_Y;

    const uint d3 = data_idx % OUTPUT_SIZE_Z; // Z

    const uint d4 = get_global_id(GWS_FEATURE);             // Feature
    const uint d5 = get_global_id(GWS_BATCH);               // Batch

    uint output_offset = OUTPUT_OFFSET +
                         d1*OUTPUT_X_PITCH +
                         d2*OUTPUT_Y_PITCH +
                         d3*OUTPUT_Z_PITCH +
                         d4*OUTPUT_FEATURE_PITCH +
                         d5*OUTPUT_BATCH_PITCH;

#elif ELTWISE_NO_PITCH_SAME_DIMS
    const uint d1 = get_global_id(0);
    uint output_offset = OUTPUT_OFFSET + d1;
#else
    const uint d1 = get_global_id(0);
    const uint d2 = get_global_id(1) % OUTPUT_SIZES[2];
    const uint d3 = get_global_id(1) / OUTPUT_SIZES[2];
    const uint d4 = get_global_id(2) % OUTPUT_SIZES[3];
    const uint d5 = get_global_id(2) / OUTPUT_SIZES[3];

    uint output_offset = OUTPUT_OFFSET +
                         d1*OUTPUT_PITCHES[0] +
                         d2*OUTPUT_PITCHES[1] +
                         d3*OUTPUT_PITCHES[2] +
                         d4*OUTPUT_PITCHES[3] +
                         d5*OUTPUT_PITCHES[4];
#endif

#else // 2D spatial

#if ELTWISE_LAYOUT_BASED || QUANTIZATION_TERM
    const uint d1 = get_global_id(GWS_YX) % OUTPUT_SIZE_X;  // X
    const uint d2 = get_global_id(GWS_YX) / OUTPUT_SIZE_X;  // Y
    const uint d3 = get_global_id(GWS_FEATURE);             // Feature
    const uint d4 = get_global_id(GWS_BATCH);               // Batch

#if OUTPUT_LAYOUT_BFYX_F16
    uint output_offset = GET_OUTPUT_INDEX(d4, d3, d2, d1);
#else
    uint output_offset = OUTPUT_OFFSET +
                         d1*OUTPUT_X_PITCH +
                         d2*OUTPUT_Y_PITCH +
                         d3*OUTPUT_FEATURE_PITCH +
                         d4*OUTPUT_BATCH_PITCH;
#endif
#elif ELTWISE_NO_PITCH_SAME_DIMS
    const uint d1 = get_global_id(0);
    uint output_offset = OUTPUT_OFFSET + d1;
#else
    const uint d1 = get_global_id(0);
    const uint d2 = get_global_id(1);
    const uint d3 = get_global_id(2) % OUTPUT_SIZES[2];
    const uint d4 = get_global_id(2) / OUTPUT_SIZES[2];

#if OUTPUT_LAYOUT_BFYX_F16
    uint output_offset = GET_OUTPUT_INDEX(d4, d3, d2, d1);
#else
    uint output_offset = OUTPUT_OFFSET +
                         d1*OUTPUT_PITCHES[0] +
                         d2*OUTPUT_PITCHES[1] +
                         d3*OUTPUT_PITCHES[2] +
                         d4*OUTPUT_PITCHES[3];
#endif
#endif
#endif

#if ELTWISE_BROADCAST
    const uint d1_in0 = d1 % INPUT0_SIZE_X;
#if !ELTWISE_NO_PITCH_SAME_DIMS
    const uint d2_in0 = d2 % INPUT0_SIZE_Y;
#if OUTPUT_DIMS == 5 // 3D spatial
    const uint d3_in0 = d3 % INPUT0_SIZE_Z;
    const uint d4_in0 = d4 % INPUT0_FEATURE_NUM;
    const uint d5_in0 = d5 % INPUT0_BATCH_NUM;
#else // 2D spatial
    const uint d3_in0 = d3 % INPUT0_FEATURE_NUM;
    const uint d4_in0 = d4 % INPUT0_BATCH_NUM;
#endif // 3D/2D spatial
#endif
    const uint d1_in1 = d1 % INPUT1_SIZE_X;
#if !ELTWISE_NO_PITCH_SAME_DIMS
    const uint d2_in1 = d2 % INPUT1_SIZE_Y;
#if OUTPUT_DIMS == 5 // 3D spatial
    const uint d3_in1 = d3 % INPUT1_SIZE_Z;
    const uint d4_in1 = d4 % INPUT1_FEATURE_NUM;
    const uint d5_in1 = d5 % INPUT1_BATCH_NUM;
#else // 2D spatial
    const uint d3_in1 = d3 % INPUT1_FEATURE_NUM;
    const uint d4_in1 = d4 % INPUT1_BATCH_NUM;
#endif // 3D/2D spatial
#endif
#endif

#if QUANTIZATION_TERM
    int res;
#else
    UNIT_TYPE res;
#endif

    DO_ELTWISE;

#if QUANTIZATION_TERM
#if CALIBRATION_TERM
    res = (int)round(((float)res) * calibrations[d3]);
#else  // CALIBRATION_TERM
    res = (int)round(((float)res) * O_QF);
#endif // CALIBRATION_TERM
#endif // QUANTIZATION_TERM

#if QUANTIZATION_TERM
    output[output_offset] = ACTIVATION(convert_char_sat(res), NL_M, NL_N);
#else
    output[output_offset] = ACTIVATION(res, NL_M, NL_N);
#endif
}

        CAT(prefix, _SIZE_X),                           \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



#if OUTPUT_DIMS == 5 // 3D spatial
#if !ELTWISE_BROADCAST
#ifdef INPUT_STRIDED

#define GET_INDEX(prefix, num) \
    CAT(CAT(prefix, num), _OFFSET) + \
    ((d1 * CAT(CAT(prefix, num), _STRIDE_X)) % CAT(CAT(prefix, num), _SIZE_X))*CAT(CAT(prefix, num), _X_PITCH) +\
    ((d2 * CAT(CAT(prefix, num), _STRIDE_Y)) % CAT(CAT(prefix, num), _SIZE_Y))*CAT(CAT(prefix, num), _Y_PITCH) +\
    ((d3 * CAT(CAT(prefix, num), _STRIDE_Z)) % CAT(CAT(prefix, num), _SIZE_Z))*CAT(CAT(prefix, num), _Z_PITCH) +\
    (d4 % CAT(CAT(prefix, num), _FEATURE_NUM))*CAT(CAT(prefix, num), _FEATURE_PITCH) + \
    (d5 % CAT(CAT(prefix, num), _BATCH_NUM  ))*CAT(CAT(prefix, num), _BATCH_PITCH)

#else

#if ELTWISE_LAYOUT_BASED || QUANTIZATION_TERM

#define GET_INDEX(prefix, num)                                                          \
    CAT(CAT(prefix, num), _OFFSET) +                                                    \
    (d1 % CAT(CAT(prefix, num), _SIZE_X     ))*CAT(CAT(prefix, num), _X_PITCH) +        \
    (d2 % CAT(CAT(prefix, num), _SIZE_Y     ))*CAT(CAT(prefix, num), _Y_PITCH) +        \
    (d3 % CAT(CAT(prefix, num), _SIZE_Z     ))*CAT(CAT(prefix, num), _Z_PITCH) +        \
    (d4 % CAT(CAT(prefix, num), _FEATURE_NUM))*CAT(CAT(prefix, num), _FEATURE_PITCH) +  \
    (d5 % CAT(CAT(prefix, num), _BATCH_NUM  ))*CAT(CAT(prefix, num), _BATCH_PITCH)

#elif ELTWISE_NO_PITCH_SAME_DIMS
#define GET_INDEX(prefix, num)                                                      \
    CAT(CAT(prefix, num), _OFFSET) + d1

#else

#define GET_INDEX(prefix, num)                                                      \
    CAT(CAT(prefix, num), _OFFSET) +                                                \
    (d1 % CAT(CAT(prefix, num), _SIZES)[0])*CAT(CAT(prefix, num), _PITCHES)[0] +    \
    (d2 % CAT(CAT(prefix, num), _SIZES)[1])*CAT(CAT(prefix, num), _PITCHES)[1] +    \
    (d3 % CAT(CAT(prefix, num), _SIZES)[2])*CAT(CAT(prefix, num), _PITCHES)[2] +    \
    (d4 % CAT(CAT(prefix, num), _SIZES)[3])*CAT(CAT(prefix, num), _PITCHES)[3] +    \
    (d5 % CAT(CAT(prefix, num), _SIZES)[4])*CAT(CAT(prefix, num), _PITCHES)[4]

#endif

#endif
#else // ELTWISE_BROADCAST
#ifdef INPUT_STRIDED

#define GET_INDEX(prefix, num) \
    CAT(CAT(prefix, num), _OFFSET) + \
    ((CAT(d1_in, num) * CAT(CAT(prefix, num), _STRIDE_X)) % CAT(CAT(prefix, num), _SIZE_X))*CAT(CAT(prefix, num), _X_PITCH) +\
    ((CAT(d2_in, num) * CAT(CAT(prefix, num), _STRIDE_Y)) % CAT(CAT(prefix, num), _SIZE_Y))*CAT(CAT(prefix, num), _Y_PITCH) +\
    ((CAT(d3_in, num) * CAT(CAT(prefix, num), _STRIDE_Z)) % CAT(CAT(prefix, num), _SIZE_Z))*CAT(CAT(prefix, num), _Z_PITCH) +\
    (CAT(d4_in, num) % CAT(CAT(prefix, num), _FEATURE_NUM))*CAT(CAT(prefix, num), _FEATURE_PITCH) + \
    (CAT(d5_in, num) % CAT(CAT(prefix, num), _BATCH_NUM  ))*CAT(CAT(prefix, num), _BATCH_PITCH)

#else

#if ELTWISE_LAYOUT_BASED || QUANTIZATION_TERM

#define GET_INDEX(prefix, num)                                                          \
    CAT(CAT(prefix, num), _OFFSET) +                                                    \
    (CAT(d1_in, num) % CAT(CAT(prefix, num), _SIZE_X     ))*CAT(CAT(prefix, num), _X_PITCH) +        \
    (CAT(d2_in, num) % CAT(CAT(prefix, num), _SIZE_Y     ))*CAT(CAT(prefix, num), _Y_PITCH) +        \
    (CAT(d3_in, num) % CAT(CAT(prefix, num), _SIZE_Z     ))*CAT(CAT(prefix, num), _Z_PITCH) +        \
    (CAT(d4_in, num) % CAT(CAT(prefix, num), _FEATURE_NUM))*CAT(CAT(prefix, num), _FEATURE_PITCH) +  \
    (CAT(d5_in, num) % CAT(CAT(prefix, num), _BATCH_NUM  ))*CAT(CAT(prefix, num), _BATCH_PITCH)

#elif ELTWISE_NO_PITCH_SAME_DIMS
#define GET_INDEX(prefix, num)                                                      \
    CAT(CAT(prefix, num), _OFFSET) + CAT(d1_in, num)

#else

#define GET_INDEX(prefix, num)                                                      \
    CAT(CAT(prefix, num), _OFFSET) +                                                \
    (CAT(d1_in, num) % CAT(CAT(prefix, num), _SIZES)[0])*CAT(CAT(prefix, num), _PITCHES)[0] +    \
    (CAT(d2_in, num) % CAT(CAT(prefix, num), _SIZES)[1])*CAT(CAT(prefix, num), _PITCHES)[1] +    \
    (CAT(d3_in, num) % CAT(CAT(prefix, num), _SIZES)[2])*CAT(CAT(prefix, num), _PITCHES)[2] +    \
    (CAT(d4_in, num) % CAT(CAT(prefix, num), _SIZES)[3])*CAT(CAT(prefix, num), _PITCHES)[3] +    \
    (CAT(d5_in, num) % CAT(CAT(prefix, num), _SIZES)[4])*CAT(CAT(prefix, num), _PITCHES)[4]

#endif

#endif
#endif // ELTWISE_BROADCAST
#else // 2D spatial
#if !ELTWISE_BROADCAST
#ifdef INPUT_STRIDED

#define GET_INDEX(prefix, num) \
    CAT(CAT(prefix, num), _OFFSET) + \
    ((d1 * CAT(CAT(prefix, num), _STRIDE_X)) % CAT(CAT(prefix, num), _SIZE_X))*CAT(CAT(prefix, num), _X_PITCH) +\
    ((d2 * CAT(CAT(prefix, num), _STRIDE_Y)) % CAT(CAT(prefix, num), _SIZE_Y))*CAT(CAT(prefix, num), _Y_PITCH) +\
    (d3 % CAT(CAT(prefix, num), _FEATURE_NUM))*CAT(CAT(prefix, num), _FEATURE_PITCH) + \
    (d4 % CAT(CAT(prefix, num), _BATCH_NUM  ))*CAT(CAT(prefix, num), _BATCH_PITCH)

#else

#if ELTWISE_LAYOUT_BASED || QUANTIZATION_TERM

#define GET_INDEX(prefix, num)                                                          \
    CAT(CAT(prefix, num), _OFFSET) +                                                    \
    (d1 % CAT(CAT(prefix, num), _SIZE_X     ))*CAT(CAT(prefix, num), _X_PITCH) +        \
    (d2 % CAT(CAT(prefix, num), _SIZE_Y     ))*CAT(CAT(prefix, num), _Y_PITCH) +        \
    (d3 % CAT(CAT(prefix, num), _FEATURE_NUM))*CAT(CAT(prefix, num), _FEATURE_PITCH) +  \
    (d4 % CAT(CAT(prefix, num), _BATCH_NUM  ))*CAT(CAT(prefix, num), _BATCH_PITCH)

#elif ELTWISE_NO_PITCH_SAME_DIMS
#define GET_INDEX(prefix, num)                                                      \
    CAT(CAT(prefix, num), _OFFSET) + d1

#else

#define GET_INDEX(prefix, num)                                                      \
    CAT(CAT(prefix, num), _OFFSET) +                                                \
    (d1 % CAT(CAT(prefix, num), _SIZES)[0])*CAT(CAT(prefix, num), _PITCHES)[0] +    \
    (d2 % CAT(CAT(prefix, num), _SIZES)[1])*CAT(CAT(prefix, num), _PITCHES)[1] +    \
    (d3 % CAT(CAT(prefix, num), _SIZES)[2])*CAT(CAT(prefix, num), _PITCHES)[2] +    \
    (d4 % CAT(CAT(prefix, num), _SIZES)[3])*CAT(CAT(prefix, num), _PITCHES)[3]

#endif

#endif
#else
#ifdef INPUT_STRIDED

#define GET_INDEX(prefix, num) \
    CAT(CAT(prefix, num), _OFFSET) + \
    ((CAT(d1_in, num) * CAT(CAT(prefix, num), _STRIDE_X)) % CAT(CAT(prefix, num), _SIZE_X))*CAT(CAT(prefix, num), _X_PITCH) +\
    ((CAT(d2_in, num) * CAT(CAT(prefix, num), _STRIDE_Y)) % CAT(CAT(prefix, num), _SIZE_Y))*CAT(CAT(prefix, num), _Y_PITCH) +\
    (CAT(d3_in, num) % CAT(CAT(prefix, num), _FEATURE_NUM))*CAT(CAT(prefix, num), _FEATURE_PITCH) + \
    (CAT(d4_in, num) % CAT(CAT(prefix, num), _BATCH_NUM  ))*CAT(CAT(prefix, num), _BATCH_PITCH)

#else

#if ELTWISE_LAYOUT_BASED || QUANTIZATION_TERM

#define GET_INDEX(prefix, num)                                                          \
    CAT(CAT(prefix, num), _OFFSET) +                                                    \
    (CAT(d1_in, num) % CAT(CAT(prefix, num), _SIZE_X     ))*CAT(CAT(prefix, num), _X_PITCH) +        \
    (CAT(d2_in, num) % CAT(CAT(prefix, num), _SIZE_Y     ))*CAT(CAT(prefix, num), _Y_PITCH) +        \
    (CAT(d3_in, num) % CAT(CAT(prefix, num), _FEATURE_NUM))*CAT(CAT(prefix, num), _FEATURE_PITCH) +  \
    (CAT(d4_in, num) % CAT(CAT(prefix, num), _BATCH_NUM  ))*CAT(CAT(prefix, num), _BATCH_PITCH)

#elif ELTWISE_NO_PITCH_SAME_DIMS
#define GET_INDEX(prefix, num)                                                      \
    CAT(CAT(prefix, num), _OFFSET) + CAT(d1_in, num)

/*
// Copyright (c) 2016-2019 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/


#define GET_DATA_INDEX(prefix, b, f, y, x)  \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_INDEX_SAFE(prefix, b, f, y, x)                     \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

 #define GET_3D_DATA_INDEX(prefix, b, f, z, y, x) \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (z)*CAT(prefix, _Z_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_3D_DATA_INDEX_SAFE(prefix, b, f, z, y, x)               \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (z % CAT(prefix, _SIZE_Z     ))*CAT(prefix, _Z_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_BS_FYX_BSV8_INDEX(prefix, b, f, y, x, sub_group_size)  \
    CAT(prefix, _OFFSET) +                                              \
    ((b) % (sub_group_size)) +                                          \
    (sub_group_size)*(                                                  \
        (x)*CAT(prefix, _X_PITCH) +                                     \
        (y)*CAT(prefix, _Y_PITCH) +                                     \
        (f)*CAT(prefix, _FEATURE_PITCH) +                               \
        ((b) / (sub_group_size))*CAT(prefix, _BATCH_PITCH)              \
    )

inline uint FUNC(get_bf8_xy16_index)(uint b, uint f, uint y, uint x, uint x_size, uint y_size, uint f_size, uint offset)
{
    const uint xy_idx = x + y * x_size;
    const uint xy_offset = (xy_idx % 16) + (xy_idx / 16) * 16 * 8;
    const uint xy_block_num = (x_size * y_size + 16 - 1) / 16;
    const uint f_offset = (f % 8) * 16 + (f / 8) * xy_block_num * 16 * 8;
    const uint f_block_num = (f_size + 8 - 1) / 8;
    const uint b_offset = b * f_block_num * xy_block_num * 128;

    const size_t idx = offset + xy_offset + f_offset + b_offset;

    return idx;
}

inline uint FUNC(get_bfyx_f16_index)(
    uint b, uint f, uint y, uint x,
    uint x_size, uint y_size, uint f_size,
    uint y_pad_before,uint y_pad_after,
    uint x_pad_before, uint x_pad_after,
    uint f_pad_before, uint f_pad_after)
{
    const uint feature_slice_size = 16;

    const uint full_width = x_size + x_pad_before + x_pad_after;
    const uint full_height = y_size + y_pad_before + y_pad_after;
    const uint full_features = f_pad_before + f_size + f_pad_after;
    const uint feature_tiles_number = (full_features + feature_slice_size - 1) / feature_slice_size;

    const uint x_pitch = feature_slice_size;
    const uint y_pitch = x_pitch * full_width;
    const uint fs_pitch = y_pitch * full_height;
    const uint b_pitch = fs_pitch * feature_tiles_number;

    const uint x_offset = (x + x_pad_before) * x_pitch;
    const uint y_offset = (y + y_pad_before) * y_pitch;
    const uint fs_offset = (f / feature_slice_size + f_pad_before / feature_slice_size) * fs_pitch;
    const uint b_offset = b * b_pitch;

    const size_t idx = x_offset + y_offset + fs_offset + b_offset + (f % feature_slice_size);

    return idx;
}

#define GET_DATA_BFYX_F16_INDEX(prefix, b, f, y, x)     \
    FUNC_CALL(get_bfyx_f16_index)(                      \
        b, f, y, x,                                     \
        CAT(prefix, _SIZE_X ),                          \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _FEATURE_NUM),                      \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_X),                \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif




KERNEL(index_select_gpu_ref)(
    const __global UNIT_TYPE* input,
#ifndef REVERSE
    const __global int* indices,
#endif
    __global UNIT_TYPE* output)
{
    // [CONSTEXPR]:
    const uint input_sx  = INPUT0_SIZE_X;
    const uint input_sy  = INPUT0_SIZE_Y;
    const uint input_sf  = INPUT0_FEATURE_NUM;
    const uint input_sb  = INPUT0_BATCH_NUM;

    const uint out_b         = (uint) get_global_id(0);
    const uint indices_idx   = (uint) get_global_id(1);
    const uint feature_idx   = (uint) get_global_id(2);

    #if AXES_NUMBER == 1
        #ifdef REVERSE
            const uint indices_value = REVERSE_AXIS_SIZE - 1 - indices_idx;
        #else
            const uint indices_value = indices[indices_idx];
        #endif
    #elif AXES_NUMBER > 1
        #ifdef REVERSE
            uint indices_value[4] =  {
                #ifdef REVERSE_INDEX_SELECT_AXIS_BATCH_SIZE
                    REVERSE_INDEX_SELECT_AXIS_BATCH_SIZE - 1 - out_b,
                #else
                    out_b,
                #endif
                #ifdef REVERSE_INDEX_SELECT_AXIS_FEATURE_SIZE
                    REVERSE_INDEX_SELECT_AXIS_FEATURE_SIZE - 1 - feature_idx,
                #else
                    feature_idx,
                #endif
                #ifdef REVERSE_INDEX_SELECT_AXIS_Y_SIZE
                    REVERSE_INDEX_SELECT_AXIS_Y_SIZE - 1 - indices_idx,
                #else
                    indices_idx,
                #endif
                    0
             };
        #endif
    #endif

    // [LOGIC]:
    #if AXES_NUMBER > 1
        for(uint x = 0; x < input_sx; x++)
        {
            #ifdef REVERSE_INDEX_SELECT_AXIS_X_SIZE
                indices_value[3] = REVERSE_INDEX_SELECT_AXIS_X_SIZE - 1 - x;
            #else
                indices_value[3] = x;
            #endif
            output[GET_DATA_INDEX(OUTPUT, out_b, feature_idx, indices_idx, x)] = input[GET_DATA_INDEX(INPUT0, indices_value[0], indices_value[1], indices_value[2], indices_value[3])];
        }

    #else
        #ifdef INDEX_SELECT_AXIS_BATCH
            for(uint x = 0; x < input_sx; x++)
            {
                for(uint y = 0; y < input_sy; y++)
                {
                    output[GET_DATA_INDEX(OUTPUT, indices_idx, feature_idx, y, x)] = input[GET_DATA_INDEX(INPUT0, indices_value, feature_idx, y, x)];
                }
            }
        #elif defined INDEX_SELECT_AXIS_FEATURE
            for(uint x = 0; x < input_sx; x++)
            {
                output[GET_DATA_INDEX(OUTPUT, out_b, indices_idx, feature_idx, x)] = input[GET_DATA_INDEX(INPUT0, out_b, indices_value, feature_idx, x)];
            }
        #elif defined INDEX_SELECT_AXIS_X
            for(uint i = 0; i < input_sy; i++)
            {
                output[GET_DATA_INDEX(OUTPUT, out_b, feature_idx, i, indices_idx)] = input[GET_DATA_INDEX(INPUT0, out_b, feature_idx, i, indices_value)];
            }
        #elif defined INDEX_SELECT_AXIS_Y

            for(uint i = 0; i < input_sx; i++)
            {
                output[GET_DATA_INDEX(OUTPUT, out_b, feature_idx, indices_idx, i)] = input[GET_DATA_INDEX(INPUT0, out_b, feature_idx, indices_value, i)];
            }
        #endif
    #endif
}

// Copyright (c) 2018 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

#ifdef BATCH_AXIS
    #define GAP_SIZE (INPUT0_FEATURE_NUM * INPUT0_SIZE_X * INPUT0_SIZE_Y)
    #define VALUES_NUM INPUT0_BATCH_NUM
    #define FIRST_DIM_SIZE INPUT0_SIZE_X
    #define SECOND_DIM_SIZE INPUT0_SIZE_Y
    #define FIRST_DIM_MUL 1
    #define SECOND_DIM_MUL INPUT0_SIZE_X
    #define THIRD_DIM_MUL (INPUT0_SIZE_X * INPUT0_SIZE_Y)
#endif
#ifdef FEATURE_AXIS
    #define GAP_SIZE (INPUT0_SIZE_X * INPUT0_SIZE_Y)
    #define VALUES_NUM INPUT0_FEATURE_NUM
    #define FIRST_DIM_SIZE INPUT0_SIZE_X
    #define SECOND_DIM_SIZE INPUT0_SIZE_Y
    #define FIRST_DIM_MUL 1
    #define SECOND_DIM_MUL INPUT0_SIZE_X
    #define THIRD_DIM_MUL (INPUT0_SIZE_X * INPUT0_SIZE_Y * INPUT0_FEATURE_NUM)
#endif
#ifdef Y_AXIS
    #define GAP_SIZE INPUT0_SIZE_X
    #define VALUES_NUM INPUT0_SIZE_Y
    #define FIRST_DIM_SIZE INPUT0_SIZE_X
    #define SECOND_DIM_SIZE INPUT0_FEATURE_NUM
    #define FIRST_DIM_MUL 1
    #define SECOND_DIM_MUL (INPUT0_SIZE_Y * INPUT0_SIZE_X)
    #define THIRD_DIM_MUL (INPUT0_SIZE_X * INPUT0_SIZE_Y * INPUT0_FEATURE_NUM)
#endif
#ifdef X_AXIS
    #define GAP_SIZE 1
    #define VALUES_NUM INPUT0_SIZE_X
    #define FIRST_DIM_SIZE INPUT0_SIZE_Y
    #define SECOND_DIM_SIZE INPUT0_FEATURE_NUM
    #define FIRST_DIM_MUL INPUT0_SIZE_X
    #define SECOND_DIM_MUL (INPUT0_SIZE_Y * INPUT0_SIZE_X)
    #define THIRD_DIM_MUL (INPUT0_SIZE_X * INPUT0_SIZE_Y * INPUT0_FEATURE_NUM)
#endif


/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)


KERNEL(lookup_table_axis)(const __global UNIT_TYPE* input0, const __global float* indices, __global UNIT_TYPE* output)
{
    const uint first_dim_id = (uint)get_global_id(0);
    const uint second_dim_id = (uint)get_global_id(1);
    const uint third_dim_id = (uint)get_global_id(2);
	const uint offset = first_dim_id * FIRST_DIM_MUL + second_dim_id * SECOND_DIM_MUL + third_dim_id * THIRD_DIM_MUL;
    const uint val_index = (first_dim_id + second_dim_id * FIRST_DIM_SIZE + third_dim_id * FIRST_DIM_SIZE * SECOND_DIM_SIZE) * VAL_NUM;
	for (uint i = 0; i < VAL_NUM; i++)
    {
        uint global_index = offset + (int)indices[val_index + i] * GAP_SIZE;
        output[val_index + i] = input0[global_index];
    }
}


#undef GAP_SIZE
#undef VALUES_NUM
#undef FIRST_DIM_SIZE
#undef SECOND_DIM_SIZE
#undef FIRST_DIM_MUL
#undef SECOND_DIM_MUL
#undef THIRD_DIM_MUL

// Copyright (c) 2018 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)


KERNEL(lookup_table)(const __global UNIT_TYPE* input0, const __global float* indices, __global UNIT_TYPE* output)
{
    const uint x    = (uint)get_global_id(0);
    const uint b    = (uint)get_global_id(1);
	const uint size = INPUT0_SIZE_X * INPUT0_SIZE_Y * INPUT0_FEATURE_NUM;
    #ifdef INPUT0_LAYOUT_BFYX
    const uint global_index = b * VAL_NUM + x;
    output[global_index] = input0[(int)indices[global_index] + b*size];
    #elif defined INPUT0_LAYOUT_YXFB
    const uint global_index = b + x * INPUT0_BATCH_NUM;
    output[global_index] = input0[(int)indices[global_index]*INPUT0_BATCH_NUM + b];
    #endif
}


// Copyright (c) 2016-2017 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)



#ifdef FORCE_SIMD_16
__attribute__((intel_reqd_sub_group_size(16)))
#endif
KERNEL (lrn_gpu_across_channel_multiple_features)(const __global INPUT0_TYPE* input, __global OUTPUT_TYPE* output)
{
#if   defined OUTPUT_LAYOUT_BFYX
// PERF NOTE: SIMD IS OVER global_id(0) so in SIMD global_id(1) and global_id(2) does not change, so we can use group_id to have SIMD1 instructions
    const uint x            = get_global_id(0);
    const uint y            = get_group_id(1);
    const uint b_f          = get_group_id(2);
    const uint batch_id     = (b_f * OFM_PER_SIMD) / INPUT0_FEATURE_NUM;
    const uint feature_id   = (b_f % (INPUT0_FEATURE_NUM / OFM_PER_SIMD)) * OFM_PER_SIMD;

    if (x >= INPUT0_SIZE_X)
        return;
#elif defined OUTPUT_LAYOUT_YXFB
    const uint b_f          = get_global_id(0);
    const uint x            = get_group_id(1);
    const uint y            = get_group_id(2);
    const uint feature_id   = (b_f / INPUT0_BATCH_NUM) * OFM_PER_SIMD;
    const uint batch_id     = b_f % INPUT0_BATCH_NUM;
#endif

    uint input_id = INPUT0_OFFSET + batch_id*INPUT0_BATCH_PITCH + feature_id*INPUT0_FEATURE_PITCH + y*INPUT0_Y_PITCH + x*INPUT0_X_PITCH;

    int input_offset_f = feature_id - PADDING;
    uint input_idx = input_id - PADDING*INPUT0_FEATURE_PITCH;

    input_idx =  MULTIPLY_OFFSET(UNIT_TYPE, input_idx);

    UNIT_TYPE vals[OFM_PER_SIMD];
    UNIT_TYPE results[OFM_PER_SIMD] = { UNIT_VAL_ZERO };

    // prefetch
    for(uint i = 0; i < OFM_PER_SIMD; i++)
    {
        bool zero = input_offset_f < 0 || input_offset_f >= INPUT0_FEATURE_NUM;
        vals[i] = zero ? UNIT_VAL_ZERO : TO_UNIT_TYPE(ALPHA_VAL_FACTOR_DIV_BY_SIZE) * (*OFFSET_GLOBAL_PTR(UNIT_TYPE, input, input_idx));
        input_offset_f++;
        input_idx += MULTIPLY_OFFSET(UNIT_TYPE, INPUT0_FEATURE_PITCH);
    }

    for (uint i = 0; i < LOCAL_SIZE-1; i++)
    {
        for(uint j = 0; j < OFM_PER_SIMD; j++)
        {
            results[j] = mad(vals[j], vals[j], results[j]);
        }
        for(uint j = 0; j < OFM_PER_SIMD-1; j++)
        {
            vals[j] = vals[j+1];
        }

        bool zero = input_offset_f < 0 || input_offset_f >= INPUT0_FEATURE_NUM;
        vals[OFM_PER_SIMD-1] = zero ? UNIT_VAL_ZERO : TO_UNIT_TYPE(ALPHA_VAL_FACTOR_DIV_BY_SIZE) * (*OFFSET_GLOBAL_PTR(UNIT_TYPE, input, input_idx));
        input_offset_f++;
        input_idx += MULTIPLY_OFFSET(UNIT_TYPE, INPUT0_FEATURE_PITCH);
    }

    for(uint j = 0; j < OFM_PER_SIMD; j++)
    {
        results[j] = mad(vals[j], vals[j], results[j]);
    }

    for(uint j = 0; j < OFM_PER_SIMD; j++)
    {
        results[j] = mad(results[j], TO_UNIT_TYPE(ALPHA_DIV_BY_SIZE), TO_UNIT_TYPE(K));
        results[j] = native_powr(results[j], -TO_UNIT_TYPE(BETA));
    }

    uint output_idx = OUTPUT_OFFSET + batch_id*OUTPUT_BATCH_PITCH + feature_id*OUTPUT_FEATURE_PITCH + y*OUTPUT_Y_PITCH + x*OUTPUT_X_PITCH;
    for(uint j = 0; j < OFM_PER_SIMD; j++)
    {
        output[output_idx] = ACTIVATION(results[j] * input[input_id], NL_M ,NL_N);
        output_idx += OUTPUT_FEATURE_PITCH;
        input_id += INPUT0_FEATURE_PITCH;
    }
}

// Copyright (c) 2016-2017 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)



#if FP16_UNIT_USED
    #define UNIT_CVT_FUNC(val) convert_half(val)
#else
    #define UNIT_CVT_FUNC(val) (val)
#endif


KERNEL (lrn_gpu_across_channel_ref)(const __global UNIT_TYPE* input, __global UNIT_TYPE* output)
{
#if   defined OUTPUT_LAYOUT_BFYX
    const uint x            = get_global_id(0);
    const uint y            = get_global_id(1);
    const uint b_f          = get_global_id(2);
    const uint batch_id     = b_f / INPUT0_FEATURE_NUM;
    const uint feature_id   = b_f % INPUT0_FEATURE_NUM;

    if (x >= INPUT0_SIZE_X)
        return;
#else
    const uint b_f          = get_global_id(0);
    const uint x            = (uint)get_global_id(1);
    const uint y            = (uint)get_global_id(2);
    const uint feature_id   = b_f / INPUT0_BATCH_NUM;
    const uint batch_id     = b_f % INPUT0_BATCH_NUM;
#endif

    const uint input_id = INPUT0_OFFSET + batch_id*INPUT0_BATCH_PITCH + feature_id*INPUT0_FEATURE_PITCH + y*INPUT0_Y_PITCH + x*INPUT0_X_PITCH;

    UNIT_TYPE acc = UNIT_VAL_ZERO;

    int input_offset_f = feature_id - PADDING;
    int input_idx = (int)input_id - PADDING*INPUT0_FEATURE_PITCH;

    for (int i = 0; i < LOCAL_SIZE; i++)
    {
        bool zero = input_offset_f < 0 || input_offset_f >= INPUT0_FEATURE_NUM;

        UNIT_TYPE value = zero ? UNIT_VAL_ZERO : UNIT_CVT_FUNC(ALPHA_VAL_FACTOR_DIV_BY_SIZE) * input[input_idx];
        acc = mad(value, value, acc);

        input_offset_f++;
        input_idx += INPUT0_FEATURE_PITCH;
    }
    acc = mad(acc, UNIT_CVT_FUNC(ALPHA_DIV_BY_SIZE), UNIT_CVT_FUNC(K));
    acc = native_powr(acc, -UNIT_CVT_FUNC(BETA));

    const uint output_idx = OUTPUT_OFFSET + batch_id*OUTPUT_BATCH_PITCH + feature_id*OUTPUT_FEATURE_PITCH + y*OUTPUT_Y_PITCH + x*OUTPUT_X_PITCH;
    output[output_idx] = ACTIVATION(acc * input[input_id], NL_M ,NL_N);
}

#undef UNIT_CVT_FUNC

// Copyright (c) 2016-2017 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)



#if FP16_UNIT_USED
    #define UNIT_CVT_FUNC(val) convert_half(val)
#else
    #define UNIT_CVT_FUNC(val) (val)
#endif

__attribute__((reqd_work_group_size(SUB_GROUP_SIZE, 1, 1)))
KERNEL (lrn_gpu_yxfb_b8)(const __global UNIT_TYPE* input, __global UNIT_TYPE* output)
{

    const uint batch_num_group  = (INPUT0_BATCH_NUM/SUB_GROUP_SIZE);
    const uint b_f              = get_global_id(0);
    const uint x                = (uint)get_global_id(1);
    const uint y                = (uint)get_global_id(2);
    const uint feature_id       = b_f / batch_num_group;
    const uint batch_id_group   = b_f % batch_num_group;
    const uint batch_id         = batch_id_group * SUB_GROUP_SIZE;

    const uint input_id = INPUT0_OFFSET + batch_id*INPUT0_BATCH_PITCH + feature_id*INPUT0_FEATURE_PITCH + y*INPUT0_Y_PITCH + x*INPUT0_X_PITCH;
    const uint input_id_group = input_id / SUB_GROUP_SIZE;

    int input_offset_f = feature_id - PADDING;

    const uint input_feature_pitch_group  = (INPUT0_FEATURE_PITCH/SUB_GROUP_SIZE);
    int input_idx_group = (int)input_id_group - PADDING*input_feature_pitch_group;

    float8 acc = 0;

    for (int i = 0; i < LOCAL_SIZE; i++)
    {
        bool zero = input_offset_f < 0 || input_offset_f >= INPUT0_FEATURE_NUM;

        if(!zero)
        {
            float8 value = vload8(input_idx_group, input);
            acc = mad(value, value, acc);
        }

        input_offset_f++;
        input_idx_group += input_feature_pitch_group;
    }
    acc = mad(acc, UNIT_CVT_FUNC(ALPHA_DIV_BY_SIZE), UNIT_CVT_FUNC(K));
    acc = native_powr(acc, -UNIT_CVT_FUNC(BETA));

    const uint output_idx = OUTPUT_OFFSET + batch_id*OUTPUT_BATCH_PITCH + feature_id*OUTPUT_FEATURE_PITCH + y*OUTPUT_Y_PITCH + x*OUTPUT_X_PITCH;
    const uint output_idx_group = output_idx / SUB_GROUP_SIZE;
    float8 _in = vload8(input_id_group, input);
    float8 res = ACTIVATION(acc * _in, NL_M ,NL_N);
    vstore8(res, output_idx_group, output);
}

// Copyright (c) 2016-2017 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)



KERNEL (lrn_gpu_within_channel)(const __global UNIT_TYPE* input, __global UNIT_TYPE* output)
{
    for (uint index = get_global_id(0) ; index < INPUT0_LENGTH ; index += get_global_size(0))
    {
#if   defined OUTPUT_LAYOUT_YXFB
        const uint batch_id   = index % INPUT0_BATCH_NUM;
        const uint yxf        = index / INPUT0_BATCH_NUM;
        const uint feature_id = yxf   % INPUT0_FEATURE_NUM;
        const uint yx         = yxf   / INPUT0_FEATURE_NUM;
        const uint x          = yx    % INPUT0_SIZE_X;
        const uint y          = yx    / INPUT0_SIZE_X;
#elif defined OUTPUT_LAYOUT_BFYX
        const uint x          = index % INPUT0_SIZE_X;
        const uint bfy        = index / INPUT0_SIZE_X;
        const uint y          = bfy   % INPUT0_SIZE_Y;
        const uint bf         = bfy   / INPUT0_SIZE_Y;
        const uint feature_id = bf    % INPUT0_FEATURE_NUM;
        const uint batch_id   = bf    / INPUT0_FEATURE_NUM;
#endif

        const uint first_index_in_feature = INPUT0_OFFSET + batch_id*INPUT0_BATCH_PITCH + feature_id*INPUT0_FEATURE_PITCH;
        const uint input_id = first_index_in_feature + y*INPUT0_Y_PITCH + x*INPUT0_X_PITCH;

        int wstart = x - PADDING;
        int hstart = y - PADDING;
        int hend = min(hstart + LOCAL_SIZE, INPUT0_SIZE_Y + PADDING);
        int wend = min(wstart + LOCAL_SIZE, INPUT0_SIZE_X + PADDING);
        const int pool_size = (hend - hstart) * (wend - wstart);
        hstart = max(hstart, (int)0);
        wstart = max(wstart, (int)0);
        hend = min(hend, INPUT0_SIZE_Y);
        wend = min(wend, INPUT0_SIZE_X);
        UNIT_TYPE aveval = 0;

        __global const UNIT_TYPE* bottom_slice = input + first_index_in_feature;
        for (int h = hstart; h < hend; ++h)
        {
            for (int w = wstart; w < wend; ++w)
            {
                UNIT_TYPE tmp_val = bottom_slice[h*INPUT0_Y_PITCH + w*INPUT0_X_PITCH] * TO_UNIT_TYPE(ALPHA_VAL_FACTOR);
                aveval += (tmp_val * tmp_val);
            }
        }

        UNIT_TYPE acc = aveval / pool_size;
        acc = mad(acc, TO_UNIT_TYPE(ALPHA_AFTER_FACTORED), TO_UNIT_TYPE(K));
        acc = native_powr(acc, -TO_UNIT_TYPE(BETA));

        const uint output_idx = OUTPUT_OFFSET + batch_id*OUTPUT_BATCH_PITCH + feature_id*OUTPUT_FEATURE_PITCH + y*OUTPUT_Y_PITCH + x*OUTPUT_X_PITCH;
        output[output_idx] = ACTIVATION(acc * input[input_id], NL_M ,NL_N);
    }
}

// Copyright (c) 2016-2017 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)



KERNEL (lrn_gpu_within_channel_opt)(const __global UNIT_TYPE* input, __global UNIT_TYPE* output)
{
    uint index = get_global_id(0);
#if   defined OUTPUT_LAYOUT_YXFB
    const uint yxf        = index / INPUT0_BATCH_NUM;
    const uint batch_id   = index - yxf * INPUT0_BATCH_NUM;
    const uint yx         = yxf / INPUT0_FEATURE_NUM;
    const uint feature_id = yxf - yx * INPUT0_FEATURE_NUM;
    const uint y          = yx / INPUT0_SIZE_X;
    const uint x          = yx - y * INPUT0_SIZE_X;

#elif defined OUTPUT_LAYOUT_BFYX
    const uint bfy        = index / INPUT0_SIZE_X;
    const uint x          = index - bfy * INPUT0_SIZE_X;
    const uint bf         = bfy / INPUT0_SIZE_Y;
    const uint y          = bfy - bf * INPUT0_SIZE_Y;
    const uint batch_id   = bf / INPUT0_FEATURE_NUM;
    const uint feature_id = bf - batch_id * INPUT0_FEATURE_NUM;
#endif

    const uint first_index_in_feature = INPUT0_OFFSET + batch_id * INPUT0_BATCH_PITCH + feature_id * INPUT0_FEATURE_PITCH;
    const uint input_id = first_index_in_feature + y * INPUT0_Y_PITCH + x * INPUT0_X_PITCH;

    UNIT_TYPE aveval = 0;
    uint pool_size = 0;
    int wstart = x - PADDING;
    int hstart = y - PADDING;


    if (((hstart + LOCAL_SIZE) < INPUT0_SIZE_Y) &&
        ((wstart + LOCAL_SIZE) < INPUT0_SIZE_X) &&
        (x > PADDING) &&
        (y > PADDING))
    {
        pool_size = LOCAL_SIZE * LOCAL_SIZE;

        __global const UNIT_TYPE* bottom_slice = input + first_index_in_feature + hstart * INPUT0_Y_PITCH + wstart * INPUT0_X_PITCH;
        for (int h = 0; h < LOCAL_SIZE; ++h)
        {
            uint hPitch = h * INPUT0_Y_PITCH;
            for (int w = 0; w < LOCAL_SIZE; ++w)
            {
                UNIT_TYPE tmp_val = bottom_slice[hPitch + w * INPUT0_X_PITCH] * TO_UNIT_TYPE(ALPHA_VAL_FACTOR);
                aveval = mad(tmp_val, tmp_val, aveval);
            }
        }
    }
    else
    {
        int hend = min(hstart + LOCAL_SIZE, INPUT0_SIZE_Y + PADDING);
        int wend = min(wstart + LOCAL_SIZE, INPUT0_SIZE_X + PADDING);
        pool_size = (hend - hstart) * (wend - wstart);
        hstart = max(hstart, (int)0);
        wstart = max(wstart, (int)0);
        hend = min(hend, INPUT0_SIZE_Y);
        wend = min(wend, INPUT0_SIZE_X);

        __global const UNIT_TYPE* bottom_slice = input + first_index_in_feature;
        for (uint h = hstart; h < hend; ++h)
        {
            uint hPitch = h * INPUT0_Y_PITCH;
            for (uint w = wstart; w < wend; ++w)
            {
                UNIT_TYPE tmp_val = bottom_slice[hPitch + w * INPUT0_X_PITCH] * TO_UNIT_TYPE(ALPHA_VAL_FACTOR);
                aveval = mad(tmp_val, tmp_val, aveval);
            }
        }
    }

    UNIT_TYPE acc = aveval / pool_size;
    acc = mad(acc, TO_UNIT_TYPE(ALPHA_AFTER_FACTORED), TO_UNIT_TYPE(K));
    acc = native_powr(acc, -TO_UNIT_TYPE(BETA));

    const uint output_idx = OUTPUT_OFFSET + batch_id * OUTPUT_BATCH_PITCH + feature_id * OUTPUT_FEATURE_PITCH + y * OUTPUT_Y_PITCH + x * OUTPUT_X_PITCH;
    output[output_idx] = ACTIVATION(acc * input[input_id], NL_M ,NL_N);
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)



KERNEL(normalization)(__global const INPUT0_TYPE* input, __global OUTPUT_TYPE* output)
{
    const uint b = get_global_id(GWS_BATCH);
    const uint f = get_global_id(GWS_FEATURE);
    const uint y = get_global_id(GWS_YX) / INPUT0_SIZE_X;
    const uint x = get_global_id(GWS_YX) % INPUT0_SIZE_X;

    const uint input_index  = GET_DATA_INDEX(INPUT0, b, f, y, x);
    const uint output_index = GET_DATA_INDEX(OUTPUT, b, f, y, x);

    ACCUMULATOR_TYPE sum = 0.0f;
#ifdef DYNAMIC_KERNEL_DIVIDER
    uint num_elementes = 0;
#endif

#ifdef ACROSS_CHANNEL

    uint j_offset = input_index - PADDING*INPUT0_FEATURE_PITCH;

    for(int j = 0 ; j < LOCAL_SIZE ; j++)
    {
        const int z_idx = (j + f - PADDING);
        bool zero = (z_idx < 0 || z_idx >= INPUT0_FEATURE_NUM);
        UNIT_TYPE val = zero ? 0.0f : input[j_offset];
        sum += val*val;
        j_offset += INPUT0_FEATURE_PITCH;
#ifdef DYNAMIC_KERNEL_DIVIDER
        num_elementes += zero ? 0 : 1;
#endif
    }

#else

    const int x_start = ((int)x - PADDING);
    const int y_start = ((int)y - PADDING);
    int input_offset = GET_DATA_INDEX(INPUT0, b, f, y_start, x_start);

    for (int j = 0; j < LOCAL_SIZE ; ++j)
    {
        for (int i = 0; i < LOCAL_SIZE ; ++i)
        {
            int input_offset_x = x_start + i;
            int input_offset_y = y_start + j;
            bool zero = false;
            zero = input_offset_x < 0 ? true : zero;
            zero = input_offset_y < 0 ? true : zero;
            zero = input_offset_x >= INPUT0_SIZE_X ? true : zero;
            zero = input_offset_y >= INPUT0_SIZE_Y ? true : zero;

            UNIT_TYPE val = zero ? UNIT_VAL_ZERO : input[input_offset];

            sum += val*val;
            input_offset += INPUT0_X_PITCH;
#ifdef DYNAMIC_KERNEL_DIVIDER
            num_elementes += zero ? 0 : 1;
#endif
        }
        input_offset += INPUT0_Y_PITCH - LOCAL_SIZE*INPUT0_X_PITCH;
    }
#endif

#ifdef DYNAMIC_KERNEL_DIVIDER
    const UNIT_TYPE num_elementes_div = UNIT_VAL_ONE / TO_UNIT_TYPE(num_elementes);
#else
    const UNIT_TYPE num_elementes_div = NUM_ELEMENTS_DIV;
#endif

    const UNIT_TYPE base = TO_UNIT_TYPE(K) + TO_UNIT_TYPE((ACCUMULATOR_TYPE)ALPHA*sum * num_elementes_div);
    const UNIT_TYPE normalization_factor = native_powr(base, TO_UNIT_TYPE(-BETA));

    const UNIT_TYPE val = input[input_index];
    const UNIT_TYPE normres =  val*normalization_factor;
    output[output_index] = ACTIVATION(normres, NL_M ,NL_N);
}

	idx += y * size_x * 4 * 8 * 8;
	idx += is_idx * size_y * size_x * 4 * 8 * 8;
	idx += os_idx * (f_32_aligned/32) * size_y * size_x * 4 * 8 * 8;

    return idx;
}

#define GET_FILTER_OS_IS_YX_ISA8_OSV8_ISV4_SWIZZLED_BY_4_INDEX(prefix, o, i, y, x) \
	FUNC_CALL(get_os_is_yx_isa8_osv8_isv4_swizzled_by_4_index)(                    \
        o, i, y, x, CAT(prefix, _SIZE_X ),                                      \
        CAT(prefix, _SIZE_Y),                                                \
        CAT(prefix, _IFM_NUM),                                                  \
        CAT(prefix, _OFM_NUM),                                                  \
        CAT(prefix, _OFFSET))


inline uint FUNC(get_is_o_yx_isv32_index)(uint o, uint i, uint y, uint x, uint i_size, uint o_size, uint x_size, uint y_size)
{
    const uint i_aligned_to_32 = ((i_size + 31) / 32) * 32;
    const uint i_val = i % 32;
    const uint i_slice = i / 32;
    const size_t idx = i_val + 32* (x + x_size * (y + y_size * (o + o_size * i_slice) ) );
    return idx;
}

#define GET_FILTER_IS_O_YX_ISV32(prefix, o, i, y, x)\
    FUNC_CALL(get_is_o_yx_isv32_index)(\
        o, i, y, x, CAT(prefix, _IFM_NUM),\
        CAT(prefix, _OFM_NUM),\
        CAT(prefix, _SIZE_X),\
        CAT(prefix, _SIZE_Y))

inline uint FUNC(get_is_o32_yx_isv32_swizzled_by_4_index)(uint o, uint i, uint y, uint x, uint i_size, uint o_size, uint x_size, uint y_size)
{
    const uint o_aligned_to_32 = ((o_size + 31) / 32) * 32;
    const uint o_swizzled = (o % 4) * 8 + ((o % 32) / 4) + (o / 32) * 32;
    const uint i_aligned_to_32 = ((i_size + 31) / 32) * 32;
    const uint i_val = i % 32;
    const uint i_slice = i / 32;
    const size_t idx = i_val + 32* (x + x_size * (y + y_size * (o_swizzled + o_aligned_to_32 * i_slice) ) );
    return idx;
}

#define GET_FILTER_IS_O32_YX_ISV32_SWIZZLED_BY_4(prefix, o, i, y, x)\
    FUNC_CALL(get_is_o32_yx_isv32_swizzled_by_4_index)(\
        o, i, y, x, CAT(prefix, _IFM_NUM),\
        CAT(prefix, _OFM_NUM),\
        CAT(prefix, _SIZE_X),\
        CAT(prefix, _SIZE_Y))

inline uint FUNC(get_os_is_y_x8_osv8_isv4_index)(uint o, uint i, uint y, uint x, uint i_size, uint o_size, uint x_size, uint y_size)
{
    const uint i_aligned_to_4 = ((i_size + 3) / 4) * 4;
    const uint o_aligned_to_8 = ((o_size + 7) / 8) * 8;
    const uint x_aligned_to_8 = ((x_size + 7) / 8) * 8;
    const uint i_val = i % 4;
    const uint i_slice = i / 4;
    const uint o_val = o % 8;
    const uint o_slice = o / 8;
    const size_t idx = i_val + 4 * (o_val + 8 * ( x + x_aligned_to_8 * (y + y_size * (i_slice + (i_aligned_to_4/4) * (o_slice)))));
    return idx;
}

#define GET_FILTER_OS_IS_Y_X8_OSV8_ISV4(prefix, o, i, y, x)\
    FUNC_CALL(get_os_is_y_x8_osv8_isv4_index)(\
        o, i, y, x, CAT(prefix, _IFM_NUM),\
        CAT(prefix, _OFM_NUM),\
        CAT(prefix, _SIZE_X),\
        CAT(prefix, _SIZE_Y))

inline uint FUNC(get_os_is_y_x8_osv8_isv4_swizzled_by_4_index)(uint o, uint i, uint y, uint x, uint i_size, uint o_size, uint x_size, uint y_size)
{
    const uint i_aligned_to_4 = ((i_size + 3) / 4) * 4;
    const uint o_aligned_to_8 = ((o_size + 7) / 8) * 8;
    const uint x_aligned_to_8 = ((x_size + 7) / 8) * 8;
    const uint i_val = i % 4;
    const uint i_slice = i / 4;
    const uint o_swizzled = (o % 4) * 8 + ((o % 32) / 4) + (o / 32) * 32;
    const uint o_val = o_swizzled % 8;
    const uint o_slice = o_swizzled / 8;
    const size_t idx = i_val + 4 * (o_val + 8 * ( x + x_aligned_to_8 * (y + y_size * (i_slice + (i_aligned_to_4/4) * (o_slice)))));
    return idx;
}

#define GET_FILTER_OS_IS_Y_X8_OSV8_ISV4_SWIZZLED_BY_4(prefix, o, i, y, x)\
    FUNC_CALL(get_os_is_y_x8_osv8_isv4_swizzled_by_4_index)(\
        o, i, y, x, CAT(prefix, _IFM_NUM),\
        CAT(prefix, _OFM_NUM),\
        CAT(prefix, _SIZE_X),\
        CAT(prefix, _SIZE_Y))


#define GET_DATA_B_FS_YX_FSV4_INDEX(prefix, o, i, y, x)\
    FUNC_CALL(get_b_fs_yx_fsv4)(\
        o, i, y, x,\
        CAT(prefix, _FEATURE_NUM),\
        CAT(prefix, _PAD_BEFORE_SIZE_Y), CAT(prefix, _SIZE_Y), CAT(prefix, _PAD_AFTER_SIZE_Y),\
        CAT(prefix, _PAD_BEFORE_SIZE_X), CAT(prefix, _SIZE_X), CAT(prefix, _PAD_AFTER_SIZE_X))

inline uint FUNC(get_b_fs_yx_fsv4)(uint o, uint i, uint y, uint x,
                                   uint feature_num,
                                   uint pad_before_size_y, uint size_y, uint pad_after_size_y,
                                   uint pad_before_size_x, uint size_x, uint pad_after_size_x)
{
    const uint tile = 4;
    uint id_tile = i / tile;
    uint id      = i - id_tile * tile;

    const uint feature_num_aligned4 = ((feature_num + 3) / 4) * 4;

    uint idx = o * (feature_num_aligned4 / tile) *
                   (pad_before_size_y + size_y + pad_after_size_y) *
                   (pad_before_size_x + size_x + pad_after_size_x) * tile
               + id_tile * (pad_before_size_y + size_y + pad_after_size_y) *
                           (pad_before_size_x + size_x + pad_after_size_x) * tile
               + pad_before_size_y * (pad_before_size_x + size_x + pad_after_size_x) * tile
               + y * (pad_before_size_x + size_x + pad_after_size_x) * tile
               + pad_before_size_x * tile
               + x * tile
               + id;

    return idx;
}

#define GET_FILTER_OS_IS_YX_OSV16_ISV4_INDEX(prefix, o, i, y, x)\
    FUNC_CALL(get_os_is_yx_osv16_isv4)(\
        o, i, y, x,\
        CAT(prefix, _IFM_PITCH),\
        CAT(prefix, _OFM_PITCH),\
        CAT(prefix, _SIZE_X))

inline uint FUNC(get_os_is_yx_osv16_isv4)(uint o, uint i, uint y, uint x,
                                          uint i_size,
                                          uint o_size,
                                          uint x_size)
{
    const uint otd = 16;
    uint out_depth_tile = o / otd;
    uint od             = o - out_depth_tile * otd;

    const uint tile = 4;
    uint id_tile = i / tile;
    uint id      = i - id_tile * tile;

    uint idx = out_depth_tile * (o_size / tile) * otd * tile
               + id_tile               * i_size * otd * tile
               + y                     * x_size * otd * tile
               + x                              * otd * tile
               + od                                   * tile
               + id;

    return idx;
}

#define GET_DATA_FS_B_YX_FSV32_INDEX(prefix, b, f, y, x)\
    FUNC_CALL(get_fs_b_yx_fsv32_index)(                 \
        b, f, y, x,                                     \
        CAT(prefix, _PAD_BEFORE_SIZE_X),                \
        CAT(prefix, _SIZE_X),                           \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define GET_DATA_BYX8_F4_INDEX(prefix, b, f, y, x)\
	FUNC_CALL(get_byx8_f4_index)(                 \
		b, f, y, x, CAT(prefix, _X_PITCH),          \
		CAT(prefix, _Y_PITCH),                      \
		CAT(prefix, _BATCH_PITCH),                      \
		CAT(prefix, _FEATURE_NUM),                 \
		CAT(prefix, _SIZE_X),                 \
		CAT(prefix, _OFFSET))

#define GET_DATA_BF8_XY16_INDEX(prefix, b, f, y, x)     \
    FUNC_CALL(get_bf8_xy16_index)(                      \
        b, f, y, x, CAT(prefix, _SIZE_X ),              \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _FEATURE_NUM),                      \
        CAT(prefix, _OFFSET))

inline uint FUNC(get_fs_bs_yx_bsv4_fsv32_index)(uint b, uint f, uint y, uint x,
    uint x_pad_before, uint x_size, uint x_pad_after,
    uint y_pad_before, uint y_size, uint y_pad_after,
    uint size_f, uint size_b)
{
    const uint f_32_aligned = ((size_f + 31)/32) * 32;
    const uint b_4_aligned = ((size_b + 3)/4) * 4;
    const uint fsv_idx = f % 32;
    const uint bsv_idx = b % 4;
    const uint fs_idx = f / 32;
    const uint bs_idx = b / 4;

    const uint x_pitch = 32 * 4;
    const uint y_pitch = 32 * 4 * (x_pad_before + x_size + x_pad_after);
    const uint bs_pitch = y_pitch * (y_pad_before + y_size + y_pad_after);
    const uint fs_pitch = bs_pitch * (b_4_aligned / 4);
    uint offset = x_pitch * x_pad_before + y_pitch * y_pad_before;

    size_t idx = offset + fsv_idx + bsv_idx * 32;
    idx += 32*4 * x;
    idx += y * y_pitch;
    idx += bs_idx * bs_pitch;
    idx += fs_idx * fs_pitch;

    return idx;
}

#define GET_DATA_FS_BS_YX_BSV4_FSV32_INDEX(prefix, b, f, y, x)\
	FUNC_CALL(get_fs_bs_yx_bsv4_fsv32_index)(       \
		b, f, y, x,                                 \
        CAT(prefix, _PAD_BEFORE_SIZE_X),            \
        CAT(prefix, _SIZE_X),                       \
        CAT(prefix, _PAD_AFTER_SIZE_X),             \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),            \
        CAT(prefix, _SIZE_Y),                       \
        CAT(prefix, _PAD_AFTER_SIZE_Y),             \
		CAT(prefix, _FEATURE_NUM),                  \
        CAT(prefix, _BATCH_NUM))

#define GET_FILTER_INDEX(prefix, o, i, y, x)    \
    CAT(prefix, _OFFSET) +                      \
    (x)*CAT(prefix, _X_PITCH) +                 \
    (y)*CAT(prefix, _Y_PITCH) +                 \
    (i)*CAT(prefix, _IFM_PITCH) +               \
    (o)*CAT(prefix, _OFM_PITCH)

#define GET_FILTER_INDEX_SAFE(prefix, o, i, y, x)           \
    CAT(prefix, _OFFSET) +                                  \
    (x % CAT(prefix, _SIZE_X ))*CAT(prefix, _X_PITCH) +     \
    (y % CAT(prefix, _SIZE_Y ))*CAT(prefix, _Y_PITCH) +     \
    (i % CAT(prefix, _IFM_NUM))*CAT(prefix, _IFM_PITCH) +   \
    (o % CAT(prefix, _OFM_NUM))*CAT(prefix, _OFM_PITCH)

#define GET_FILTER_OS_IYX_OSV8_INDEX(prefix, o, i, y, x, sub_group_size)    \
    CAT(prefix, _OFFSET) +                                                  \
    ((o) % (sub_group_size)) +                                              \
    (sub_group_size)*(                                                      \
        (x)*CAT(prefix, _X_PITCH) +                                         \
        (y)*CAT(prefix, _Y_PITCH) +                                         \
        (i)*CAT(prefix, _IFM_PITCH) +                                       \
        ((o) / (sub_group_size))*CAT(prefix, _OFM_PITCH)                    \
    )

#define GET_FILTER_OS_IYX_OSV8_ROTATE_180_INDEX(prefix, o, i, y, x, sub_group_size)    \
    CAT(prefix, _OFFSET) +                                                  \
    ((o) % (sub_group_size)) +                                              \
    (sub_group_size)*(                                                      \
        (CAT(prefix, _SIZE_X ) - x - 1)*CAT(prefix, _X_PITCH) +             \
        (CAT(prefix, _SIZE_Y ) - y - 1)*CAT(prefix, _Y_PITCH) +             \
        (i)*CAT(prefix, _IFM_PITCH) +                                       \
        ((o) / (sub_group_size))*CAT(prefix, _OFM_PITCH)                    \
    )

inline uint FUNC(get_i_yxs_os_yxsv2_osv_index)(uint o, uint i, uint y, uint x, uint x_size, uint i_pitch, uint y_pitch, uint x_pitch, uint offset, uint sub_group_size)
{
    const uint aligned_ofm_line = x_pitch;
    const uint ifm_height_pitch = (i_pitch/aligned_ofm_line);
    const uint dst_height = i*ifm_height_pitch + y*x_size + x;
    const uint base_filter_index = y*x_size + x;

    const uint aligned_height = dst_height & 0xfffffffe;
    const uint base_filter_odd = (base_filter_index & 0x1);

    uint slice_id = o / sub_group_size;
    uint id_in_slice = o % sub_group_size;
    uint slice_pitch = 2*sub_group_size;
    uint offset_in_slice = (int)(sub_group_size*base_filter_odd);

    const uint in_line = (slice_pitch*slice_id + offset_in_slice + id_in_slice);
    const size_t idx = offset + aligned_height*aligned_ofm_line + in_line;

    return idx;
}

#define GET_FILTER_I_YXS_OS_YXSV2_OSV_INDEX(prefix, o, i, y, x, sub_group_size) \
    FUNC_CALL(get_i_yxs_os_yxsv2_osv_index)(                                    \
        o, i, y, x, CAT(prefix, _SIZE_X ),                                      \
        CAT(prefix, _IFM_PITCH),                                                \
        CAT(prefix, _Y_PITCH),                                                  \
        CAT(prefix, _X_PITCH),                                                  \
        CAT(prefix, _OFFSET),                                                   \
        sub_group_size)

inline uint FUNC(get_iy_xs_os_xsv2_osv_index)(uint o, uint i, uint y, uint x, uint x_size, uint i_pitch, uint y_pitch, uint x_pitch, uint offset, uint sub_group_size)
{
    const uint aligned_ofm_line = x_pitch;
    const uint ifm_height_pitch = (i_pitch/aligned_ofm_line);
    const uint aligned_x_line = y_pitch / x_pitch;
    const uint dst_height = i*ifm_height_pitch + y*aligned_x_line + x;
    const uint base_filter_index = x;

    const uint aligned_height = dst_height & 0xfffffffe;
    const uint base_filter_odd = (base_filter_index & 0x1);

    uint slice_id = o / sub_group_size;
    uint id_in_slice = o % sub_group_size;
    uint slice_pitch = 2*sub_group_size;
    uint offset_in_slice = (int)(sub_group_size*base_filter_odd);

    const bool last_line_in_base_filter = (x == (x_size - 1));
    if (last_line_in_base_filter && base_filter_odd == 0)
    {
        const uint element_in_slice = 32;
        slice_id = o / element_in_slice;
        id_in_slice = o % element_in_slice;
        slice_pitch = 2*element_in_slice;
        offset_in_slice = 0;
    }

    const uint in_line = (slice_pitch*slice_id + offset_in_slice + id_in_slice);
    const size_t idx = offset + aligned_height*aligned_ofm_line + in_line;

    return idx;
}

#define GET_FILTER_IY_XS_OS_XSV2_OSV_INDEX(prefix, o, i, y, x, sub_group_size)  \
    FUNC_CALL(get_iy_xs_os_xsv2_osv_index)(                                     \
        o, i, y, x, CAT(prefix, _SIZE_X ),                                      \
        CAT(prefix, _IFM_PITCH),                                                \
        CAT(prefix, _Y_PITCH),                                                  \
        CAT(prefix, _X_PITCH),                                                  \
        CAT(prefix, _OFFSET),                                                   \
        sub_group_size)

inline uint FUNC(get_os_is_yx_isa8_osv8_isv4_index)(uint o, uint i, uint y, uint x, uint size_x, uint size_y, uint size_ifm, uint size_ofm, uint offset)
{
    const uint f_32_aligned = ((size_ifm + 31)/32) * 32;
	const uint isv2_idx = i % 4;
	const uint osv_idx = o % 8;
	const uint isv1_idx = (i / 4) % 8;
	const uint is_idx = i / 32;
	const uint os_idx = o / 8;

	size_t idx = offset + isv2_idx + 4 * (osv_idx + 8 * isv1_idx);
	idx += x * 4 * 8 * 8;
	idx += y * size_x * 4 * 8 * 8;
	idx += is_idx * size_y * size_x * 4 * 8 * 8;
	idx += os_idx * (f_32_aligned/32) * size_y * size_x * 4 * 8 * 8;

    return idx;
}

#define GET_FILTER_OS_IS_YX_ISA8_OSV8_ISV4(prefix, o, i, y, x) \
	FUNC_CALL(get_os_is_yx_isa8_osv8_isv4_index)(                               \
        o, i, y, x, CAT(prefix, _SIZE_X ),                                      \
        CAT(prefix, _SIZE_Y),                                                \
        CAT(prefix, _IFM_NUM),                                                  \
        CAT(prefix, _OFM_NUM),                                                  \
        CAT(prefix, _OFFSET))

inline uint FUNC(get_os_is_yx_isa8_osv8_isv4_swizzled_by_4_index)(uint o, uint i, uint y, uint x, uint size_x, uint size_y, uint size_ifm, uint size_ofm, uint offset)
{
    const uint o_swizzled = (o % 4) * 8 + ((o % 32) / 4) + (o / 32) * 32;

    const uint f_32_aligned = ((size_ifm + 31)/32) * 32;
	const uint isv2_idx = i % 4;
	const uint osv_idx = o_swizzled % 8;
	const uint isv1_idx = (i / 4) % 8;
	const uint is_idx = i / 32;
	const uint os_idx = o_swizzled / 8;

	size_t idx = offset + isv2_idx + 4 * (osv_idx + 8 * isv1_idx);
	idx += x * 4 * 8 * 8;
/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/


#define GET_DATA_INDEX(prefix, b, f, y, x)  \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_INDEX_SAFE(prefix, b, f, y, x)                     \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

 #define GET_3D_DATA_INDEX(prefix, b, f, z, y, x) \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (z)*CAT(prefix, _Z_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_3D_DATA_INDEX_SAFE(prefix, b, f, z, y, x)               \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (z % CAT(prefix, _SIZE_Z     ))*CAT(prefix, _Z_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_BS_FYX_BSV8_INDEX(prefix, b, f, y, x, sub_group_size)  \
    CAT(prefix, _OFFSET) +                                              \
    ((b) % (sub_group_size)) +                                          \
    (sub_group_size)*(                                                  \
        (x)*CAT(prefix, _X_PITCH) +                                     \
        (y)*CAT(prefix, _Y_PITCH) +                                     \
        (f)*CAT(prefix, _FEATURE_PITCH) +                               \
        ((b) / (sub_group_size))*CAT(prefix, _BATCH_PITCH)              \
    )

inline uint FUNC(get_bf8_xy16_index)(uint b, uint f, uint y, uint x, uint x_size, uint y_size, uint f_size, uint offset)
{
    const uint xy_idx = x + y * x_size;
    const uint xy_offset = (xy_idx % 16) + (xy_idx / 16) * 16 * 8;
    const uint xy_block_num = (x_size * y_size + 16 - 1) / 16;
    const uint f_offset = (f % 8) * 16 + (f / 8) * xy_block_num * 16 * 8;
    const uint f_block_num = (f_size + 8 - 1) / 8;
    const uint b_offset = b * f_block_num * xy_block_num * 128;

    const size_t idx = offset + xy_offset + f_offset + b_offset;

    return idx;
}

inline uint FUNC(get_bfyx_f16_index)(
    uint b, uint f, uint y, uint x,
    uint x_size, uint y_size, uint f_size,
    uint y_pad_before,uint y_pad_after,
    uint x_pad_before, uint x_pad_after,
    uint f_pad_before, uint f_pad_after)
{
    const uint feature_slice_size = 16;

    const uint full_width = x_size + x_pad_before + x_pad_after;
    const uint full_height = y_size + y_pad_before + y_pad_after;
    const uint full_features = f_pad_before + f_size + f_pad_after;
    const uint feature_tiles_number = (full_features + feature_slice_size - 1) / feature_slice_size;

    const uint x_pitch = feature_slice_size;
    const uint y_pitch = x_pitch * full_width;
    const uint fs_pitch = y_pitch * full_height;
    const uint b_pitch = fs_pitch * feature_tiles_number;

    const uint x_offset = (x + x_pad_before) * x_pitch;
    const uint y_offset = (y + y_pad_before) * y_pitch;
    const uint fs_offset = (f / feature_slice_size + f_pad_before / feature_slice_size) * fs_pitch;
    const uint b_offset = b * b_pitch;

    const size_t idx = x_offset + y_offset + fs_offset + b_offset + (f % feature_slice_size);

    return idx;
}

#define GET_DATA_BFYX_F16_INDEX(prefix, b, f, y, x)     \
    FUNC_CALL(get_bfyx_f16_index)(                      \
        b, f, y, x,                                     \
        CAT(prefix, _SIZE_X ),                          \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _FEATURE_NUM),                      \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_X),                \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _PAD_AFTER_FEATURE_NUM))

#define GET_FILTER_O_I_YX_I16_O16_INDEX(prefix, o, i, y, x, sub_group_size)  \
    CAT(prefix, _OFFSET) +                                                   \
    ((o) % (sub_group_size)) +                                               \
    (sub_group_size)*(                                                       \
        (x)*(sub_group_size)*CAT(prefix, _X_PITCH) +                         \
        (y)*(sub_group_size)*CAT(prefix, _Y_PITCH) +                         \
        ((i) % (sub_group_size)) +                                           \
        ((i) / (sub_group_size))*(sub_group_size)*CAT(prefix, _IFM_PITCH) +  \
        ((o) / (sub_group_size))*CAT(prefix, _OFM_PITCH)                     \
    )

inline uint FUNC(get_byxf_af32_index)(uint b, uint f, uint y, uint x, uint y_pitch, uint b_pitch, uint f_size, uint offset)
{
	const uint f_aligned_to_32 = ((f_size + 31) / 32) * 32;
	const uint b_offset = b * b_pitch;
	const uint xy_offset = f_aligned_to_32 * x + y_pitch * y;
	const uint f_offset = f;
	const size_t idx = offset + xy_offset + b_offset + f_offset;
	return idx;
}

#define GET_DATA_BYXF_AF32_INDEX(prefix, b, f, y, x)\
	FUNC_CALL(get_byxf_af32_index)(                 \
		b, f, y, x, CAT(prefix, _Y_PITCH),          \
		CAT(prefix, _BATCH_PITCH),                      \
		CAT(prefix, _FEATURE_NUM),                 \
		CAT(prefix, _OFFSET))

inline uint FUNC(get_byx8_f4_index)(uint b, uint f, uint y, uint x,
    uint x_pitch, uint y_pitch, uint b_pitch, uint f_size, uint x_size, uint offset)
{
    const uint f_aligned_to_4 = ((f_size + 3) / 4) * 4;
    const uint x_aligned_to_8 = ((x_size + 7) / 8) * 8;
    const uint b_offset = b * b_pitch;
    const uint xy_offset = x * x_pitch + y * y_pitch;
    const uint f_offset = f;
    const size_t idx = offset + xy_offset + b_offset + f_offset;
    return idx;
}
        b, f, y, x,                                     \
        CAT(prefix, _PAD_BEFORE_SIZE_X),                \
        CAT(prefix, _SIZE_X),                           \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



#define VECTOR_TYPE MAKE_VECTOR_TYPE(UNIT_TYPE,8)
#define ACCUMULATOR_VECTOR_TYPE MAKE_VECTOR_TYPE(ACCUMULATOR_TYPE, 8)
#define FEATURE_PER_ITEM 8
#define FEATURE_BLOCK_NUM (OUTPUT_FEATURE_NUM / 8)

KERNEL(lrn_within_channel_byxf_opt)(__global const INPUT0_TYPE* input, __global OUTPUT_TYPE* output)
{
    const uint b = get_global_id(GWS_BATCH);
    const uint f = get_global_id(GWS_FEATURE)*FEATURE_PER_ITEM;
    const uint y = get_global_id(GWS_YX) / INPUT0_SIZE_X;
    const uint x = get_global_id(GWS_YX) % INPUT0_SIZE_X;

    const uint input_index = GET_DATA_INDEX(INPUT0, b, f, y, x);
    const uint output_index = GET_DATA_INDEX(OUTPUT, b, f, y, x);

    ACCUMULATOR_VECTOR_TYPE sum = 0.0f;
#ifdef DYNAMIC_KERNEL_DIVIDER
    uint num_elementes = 0;
#endif

    const int x_start = ((int)x - PADDING);
    const int y_start = ((int)y - PADDING);
    int input_offset = (GET_DATA_INDEX(INPUT0, b, f, y_start, x_start))/8;

    VECTOR_TYPE feature_block;

    for (int j = 0; j < LOCAL_SIZE; ++j)
    {
        for (int i = 0; i < LOCAL_SIZE; ++i)
        {
            int input_offset_x = x_start + i;
            int input_offset_y = y_start + j;
            bool zero = false;
            zero = input_offset_x < 0 ? true : zero;
            zero = input_offset_y < 0 ? true : zero;
            zero = input_offset_x >= INPUT0_SIZE_X ? true : zero;
            zero = input_offset_y >= INPUT0_SIZE_Y ? true : zero;

            VECTOR_TYPE val = zero ? UNIT_VAL_ZERO : vload8(input_offset+FEATURE_BLOCK_NUM*i, input);

            sum = mad(val,val,sum);
#ifdef DYNAMIC_KERNEL_DIVIDER
            num_elementes += zero ? 0 : 1;
#endif
        }
        input_offset += INPUT0_Y_PITCH/FEATURE_PER_ITEM;
    }

#ifdef DYNAMIC_KERNEL_DIVIDER
    const UNIT_TYPE num_elementes_div = UNIT_VAL_ONE / TO_UNIT_TYPE(num_elementes);
#else
    const UNIT_TYPE num_elementes_div = NUM_ELEMENTS_DIV;
#endif

    const VECTOR_TYPE base = mad((ACCUMULATOR_TYPE)ALPHA*num_elementes_div, sum, TO_UNIT_TYPE(K));
    const VECTOR_TYPE normalization_factor = native_powr(base, TO_UNIT_TYPE(-BETA));
    const VECTOR_TYPE val = vload8(input_index/FEATURE_PER_ITEM, input);
    const VECTOR_TYPE normres = val*normalization_factor;

    for(uint i = 0; i < FEATURE_PER_ITEM; i++)
    {
        output[output_index+i] = ACTIVATION(normres[i], NL_M ,NL_N);
    }
}

#undef FEATURE_BLOCK_NUM
#undef FEATURE_PER_ITEM
#undef VECTOR_TYPE
#undef ACCUMULATOR_VECTOR_TYPE

        CAT(prefix, _Y_PITCH),                                                  \
        CAT(prefix, _X_PITCH),                                                  \
        CAT(prefix, _OFFSET),                                                   \
        sub_group_size)

inline uint FUNC(get_os_is_yx_isa8_osv8_isv4_index)(uint o, uint i, uint y, uint x, uint size_x, uint size_y, uint size_ifm, uint size_ofm, uint offset)
{
    const uint f_32_aligned = ((size_ifm + 31)/32) * 32;
	const uint isv2_idx = i % 4;
	const uint osv_idx = o % 8;
	const uint isv1_idx = (i / 4) % 8;
	const uint is_idx = i / 32;
	const uint os_idx = o / 8;

	size_t idx = offset + isv2_idx + 4 * (osv_idx + 8 * isv1_idx);
	idx += x * 4 * 8 * 8;
	idx += y * size_x * 4 * 8 * 8;
	idx += is_idx * size_y * size_x * 4 * 8 * 8;
	idx += os_idx * (f_32_aligned/32) * size_y * size_x * 4 * 8 * 8;

    return idx;
}

#define GET_FILTER_OS_IS_YX_ISA8_OSV8_ISV4(prefix, o, i, y, x) \
	FUNC_CALL(get_os_is_yx_isa8_osv8_isv4_index)(                               \
        o, i, y, x, CAT(prefix, _SIZE_X ),                                      \
        CAT(prefix, _SIZE_Y),                                                \
        CAT(prefix, _IFM_NUM),                                                  \
        CAT(prefix, _OFM_NUM),                                                  \
        CAT(prefix, _OFFSET))

inline uint FUNC(get_os_is_yx_isa8_osv8_isv4_swizzled_by_4_index)(uint o, uint i, uint y, uint x, uint size_x, uint size_y, uint size_ifm, uint size_ofm, uint offset)
{
    const uint o_swizzled = (o % 4) * 8 + ((o % 32) / 4) + (o / 32) * 32;

    const uint f_32_aligned = ((size_ifm + 31)/32) * 32;
	const uint isv2_idx = i % 4;
	const uint osv_idx = o_swizzled % 8;
	const uint isv1_idx = (i / 4) % 8;
	const uint is_idx = i / 32;
	const uint os_idx = o_swizzled / 8;

	size_t idx = offset + isv2_idx + 4 * (osv_idx + 8 * isv1_idx);
	idx += x * 4 * 8 * 8;
	idx += y * size_x * 4 * 8 * 8;
	idx += is_idx * size_y * size_x * 4 * 8 * 8;
	idx += os_idx * (f_32_aligned/32) * size_y * size_x * 4 * 8 * 8;

    return idx;
}

#define GET_FILTER_OS_IS_YX_ISA8_OSV8_ISV4_SWIZZLED_BY_4_INDEX(prefix, o, i, y, x) \
	FUNC_CALL(get_os_is_yx_isa8_osv8_isv4_swizzled_by_4_index)(                    \
        o, i, y, x, CAT(prefix, _SIZE_X ),                                      \
        CAT(prefix, _SIZE_Y),                                                \
        CAT(prefix, _IFM_NUM),                                                  \
        CAT(prefix, _OFM_NUM),                                                  \
        CAT(prefix, _OFFSET))


inline uint FUNC(get_is_o_yx_isv32_index)(uint o, uint i, uint y, uint x, uint i_size, uint o_size, uint x_size, uint y_size)
{
    const uint i_aligned_to_32 = ((i_size + 31) / 32) * 32;
    const uint i_val = i % 32;
    const uint i_slice = i / 32;
    const size_t idx = i_val + 32* (x + x_size * (y + y_size * (o + o_size * i_slice) ) );
    return idx;
}

#define GET_FILTER_IS_O_YX_ISV32(prefix, o, i, y, x)\
    FUNC_CALL(get_is_o_yx_isv32_index)(\
        o, i, y, x, CAT(prefix, _IFM_NUM),\
        CAT(prefix, _OFM_NUM),\
        CAT(prefix, _SIZE_X),\
        CAT(prefix, _SIZE_Y))

inline uint FUNC(get_is_o32_yx_isv32_swizzled_by_4_index)(uint o, uint i, uint y, uint x, uint i_size, uint o_size, uint x_size, uint y_size)
{
    const uint o_aligned_to_32 = ((o_size + 31) / 32) * 32;
    const uint o_swizzled = (o % 4) * 8 + ((o % 32) / 4) + (o / 32) * 32;
    const uint i_aligned_to_32 = ((i_size + 31) / 32) * 32;
    const uint i_val = i % 32;
    const uint i_slice = i / 32;
    const size_t idx = i_val + 32* (x + x_size * (y + y_size * (o_swizzled + o_aligned_to_32 * i_slice) ) );
    return idx;
}

#define GET_FILTER_IS_O32_YX_ISV32_SWIZZLED_BY_4(prefix, o, i, y, x)\
    FUNC_CALL(get_is_o32_yx_isv32_swizzled_by_4_index)(\
        o, i, y, x, CAT(prefix, _IFM_NUM),\
        CAT(prefix, _OFM_NUM),\
        CAT(prefix, _SIZE_X),\
        CAT(prefix, _SIZE_Y))

inline uint FUNC(get_os_is_y_x8_osv8_isv4_index)(uint o, uint i, uint y, uint x, uint i_size, uint o_size, uint x_size, uint y_size)
{
    const uint i_aligned_to_4 = ((i_size + 3) / 4) * 4;
    const uint o_aligned_to_8 = ((o_size + 7) / 8) * 8;
    const uint x_aligned_to_8 = ((x_size + 7) / 8) * 8;
    const uint i_val = i % 4;
    const uint i_slice = i / 4;
    const uint o_val = o % 8;
    const uint o_slice = o / 8;
    const size_t idx = i_val + 4 * (o_val + 8 * ( x + x_aligned_to_8 * (y + y_size * (i_slice + (i_aligned_to_4/4) * (o_slice)))));
    return idx;
}

#define GET_FILTER_OS_IS_Y_X8_OSV8_ISV4(prefix, o, i, y, x)\
    FUNC_CALL(get_os_is_y_x8_osv8_isv4_index)(\
        o, i, y, x, CAT(prefix, _IFM_NUM),\
        CAT(prefix, _OFM_NUM),\
        CAT(prefix, _SIZE_X),\
        CAT(prefix, _SIZE_Y))

inline uint FUNC(get_os_is_y_x8_osv8_isv4_swizzled_by_4_index)(uint o, uint i, uint y, uint x, uint i_size, uint o_size, uint x_size, uint y_size)
{
    const uint i_aligned_to_4 = ((i_size + 3) / 4) * 4;
    const uint o_aligned_to_8 = ((o_size + 7) / 8) * 8;
    const uint x_aligned_to_8 = ((x_size + 7) / 8) * 8;
    const uint i_val = i % 4;
    const uint i_slice = i / 4;
    const uint o_swizzled = (o % 4) * 8 + ((o % 32) / 4) + (o / 32) * 32;
    const uint o_val = o_swizzled % 8;
    const uint o_slice = o_swizzled / 8;
    const size_t idx = i_val + 4 * (o_val + 8 * ( x + x_aligned_to_8 * (y + y_size * (i_slice + (i_aligned_to_4/4) * (o_slice)))));
    return idx;
}

#define GET_FILTER_OS_IS_Y_X8_OSV8_ISV4_SWIZZLED_BY_4(prefix, o, i, y, x)\
    FUNC_CALL(get_os_is_y_x8_osv8_isv4_swizzled_by_4_index)(\
        o, i, y, x, CAT(prefix, _IFM_NUM),\
        CAT(prefix, _OFM_NUM),\
        CAT(prefix, _SIZE_X),\
        CAT(prefix, _SIZE_Y))


#define GET_DATA_B_FS_YX_FSV4_INDEX(prefix, o, i, y, x)\
    FUNC_CALL(get_b_fs_yx_fsv4)(\
        o, i, y, x,\
        CAT(prefix, _FEATURE_NUM),\
        CAT(prefix, _PAD_BEFORE_SIZE_Y), CAT(prefix, _SIZE_Y), CAT(prefix, _PAD_AFTER_SIZE_Y),\
        CAT(prefix, _PAD_BEFORE_SIZE_X), CAT(prefix, _SIZE_X), CAT(prefix, _PAD_AFTER_SIZE_X))

inline uint FUNC(get_b_fs_yx_fsv4)(uint o, uint i, uint y, uint x,
                                   uint feature_num,
                                   uint pad_before_size_y, uint size_y, uint pad_after_size_y,
                                   uint pad_before_size_x, uint size_x, uint pad_after_size_x)
{
    const uint tile = 4;
    uint id_tile = i / tile;
    uint id      = i - id_tile * tile;

    const uint feature_num_aligned4 = ((feature_num + 3) / 4) * 4;

    uint idx = o * (feature_num_aligned4 / tile) *
                   (pad_before_size_y + size_y + pad_after_size_y) *
                   (pad_before_size_x + size_x + pad_after_size_x) * tile
               + id_tile * (pad_before_size_y + size_y + pad_after_size_y) *
                           (pad_before_size_x + size_x + pad_after_size_x) * tile
               + pad_before_size_y * (pad_before_size_x + size_x + pad_after_size_x) * tile
               + y * (pad_before_size_x + size_x + pad_after_size_x) * tile
               + pad_before_size_x * tile
               + x * tile
               + id;

    return idx;
}

#define GET_FILTER_OS_IS_YX_OSV16_ISV4_INDEX(prefix, o, i, y, x)\
    FUNC_CALL(get_os_is_yx_osv16_isv4)(\
        o, i, y, x,\
        CAT(prefix, _IFM_PITCH),\
        CAT(prefix, _OFM_PITCH),\
        CAT(prefix, _SIZE_X))

inline uint FUNC(get_os_is_yx_osv16_isv4)(uint o, uint i, uint y, uint x,
                                          uint i_size,
                                          uint o_size,
                                          uint x_size)
{
    const uint otd = 16;
    uint out_depth_tile = o / otd;
    uint od             = o - out_depth_tile * otd;

    const uint tile = 4;
    uint id_tile = i / tile;
    uint id      = i - id_tile * tile;

    uint idx = out_depth_tile * (o_size / tile) * otd * tile
               + id_tile               * i_size * otd * tile
               + y                     * x_size * otd * tile
               + x                              * otd * tile
               + od                                   * tile
               + id;

    return idx;
}

#define GET_DATA_FS_B_YX_FSV32_INDEX(prefix, b, f, y, x)\
    FUNC_CALL(get_fs_b_yx_fsv32_index)(                 \
        CAT(prefix, _PAD_BEFORE_SIZE_X),                \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _PAD_AFTER_FEATURE_NUM))

#define GET_FILTER_O_I_YX_I16_O16_INDEX(prefix, o, i, y, x, sub_group_size)  \
    CAT(prefix, _OFFSET) +                                                   \
    ((o) % (sub_group_size)) +                                               \
    (sub_group_size)*(                                                       \
        (x)*(sub_group_size)*CAT(prefix, _X_PITCH) +                         \
        (y)*(sub_group_size)*CAT(prefix, _Y_PITCH) +                         \
        ((i) % (sub_group_size)) +                                           \
        ((i) / (sub_group_size))*(sub_group_size)*CAT(prefix, _IFM_PITCH) +  \
        ((o) / (sub_group_size))*CAT(prefix, _OFM_PITCH)                     \
    )

inline uint FUNC(get_byxf_af32_index)(uint b, uint f, uint y, uint x, uint y_pitch, uint b_pitch, uint f_size, uint offset)
{
	const uint f_aligned_to_32 = ((f_size + 31) / 32) * 32;
	const uint b_offset = b * b_pitch;
	const uint xy_offset = f_aligned_to_32 * x + y_pitch * y;
	const uint f_offset = f;
	const size_t idx = offset + xy_offset + b_offset + f_offset;
	return idx;
}

#define GET_DATA_BYXF_AF32_INDEX(prefix, b, f, y, x)\
	FUNC_CALL(get_byxf_af32_index)(                 \
		b, f, y, x, CAT(prefix, _Y_PITCH),          \
		CAT(prefix, _BATCH_PITCH),                      \
		CAT(prefix, _FEATURE_NUM),                 \
		CAT(prefix, _OFFSET))

inline uint FUNC(get_byx8_f4_index)(uint b, uint f, uint y, uint x,
    uint x_pitch, uint y_pitch, uint b_pitch, uint f_size, uint x_size, uint offset)
{
    const uint f_aligned_to_4 = ((f_size + 3) / 4) * 4;
    const uint x_aligned_to_8 = ((x_size + 7) / 8) * 8;
    const uint b_offset = b * b_pitch;
    const uint xy_offset = x * x_pitch + y * y_pitch;
    const uint f_offset = f;
    const size_t idx = offset + xy_offset + b_offset + f_offset;
    return idx;
}

#define GET_DATA_BYX8_F4_INDEX(prefix, b, f, y, x)\
	FUNC_CALL(get_byx8_f4_index)(                 \
		b, f, y, x, CAT(prefix, _X_PITCH),          \
		CAT(prefix, _Y_PITCH),                      \
		CAT(prefix, _BATCH_PITCH),                      \
		CAT(prefix, _FEATURE_NUM),                 \
		CAT(prefix, _SIZE_X),                 \
		CAT(prefix, _OFFSET))

#define GET_DATA_BF8_XY16_INDEX(prefix, b, f, y, x)     \
    FUNC_CALL(get_bf8_xy16_index)(                      \
        b, f, y, x, CAT(prefix, _SIZE_X ),              \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _FEATURE_NUM),                      \
        CAT(prefix, _OFFSET))

inline uint FUNC(get_fs_bs_yx_bsv4_fsv32_index)(uint b, uint f, uint y, uint x,
    uint x_pad_before, uint x_size, uint x_pad_after,
    uint y_pad_before, uint y_size, uint y_pad_after,
    uint size_f, uint size_b)
{
    const uint f_32_aligned = ((size_f + 31)/32) * 32;
    const uint b_4_aligned = ((size_b + 3)/4) * 4;
    const uint fsv_idx = f % 32;
    const uint bsv_idx = b % 4;
    const uint fs_idx = f / 32;
    const uint bs_idx = b / 4;

    const uint x_pitch = 32 * 4;
    const uint y_pitch = 32 * 4 * (x_pad_before + x_size + x_pad_after);
    const uint bs_pitch = y_pitch * (y_pad_before + y_size + y_pad_after);
    const uint fs_pitch = bs_pitch * (b_4_aligned / 4);
    uint offset = x_pitch * x_pad_before + y_pitch * y_pad_before;

    size_t idx = offset + fsv_idx + bsv_idx * 32;
    idx += 32*4 * x;
    idx += y * y_pitch;
    idx += bs_idx * bs_pitch;
    idx += fs_idx * fs_pitch;

    return idx;
}

#define GET_DATA_FS_BS_YX_BSV4_FSV32_INDEX(prefix, b, f, y, x)\
	FUNC_CALL(get_fs_bs_yx_bsv4_fsv32_index)(       \
		b, f, y, x,                                 \
        CAT(prefix, _PAD_BEFORE_SIZE_X),            \
        CAT(prefix, _SIZE_X),                       \
        CAT(prefix, _PAD_AFTER_SIZE_X),             \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),            \
        CAT(prefix, _SIZE_Y),                       \
        CAT(prefix, _PAD_AFTER_SIZE_Y),             \
		CAT(prefix, _FEATURE_NUM),                  \
        CAT(prefix, _BATCH_NUM))

#define GET_FILTER_INDEX(prefix, o, i, y, x)    \
    CAT(prefix, _OFFSET) +                      \
    (x)*CAT(prefix, _X_PITCH) +                 \
    (y)*CAT(prefix, _Y_PITCH) +                 \
    (i)*CAT(prefix, _IFM_PITCH) +               \
    (o)*CAT(prefix, _OFM_PITCH)

#define GET_FILTER_INDEX_SAFE(prefix, o, i, y, x)           \
    CAT(prefix, _OFFSET) +                                  \
    (x % CAT(prefix, _SIZE_X ))*CAT(prefix, _X_PITCH) +     \
    (y % CAT(prefix, _SIZE_Y ))*CAT(prefix, _Y_PITCH) +     \
    (i % CAT(prefix, _IFM_NUM))*CAT(prefix, _IFM_PITCH) +   \
    (o % CAT(prefix, _OFM_NUM))*CAT(prefix, _OFM_PITCH)

#define GET_FILTER_OS_IYX_OSV8_INDEX(prefix, o, i, y, x, sub_group_size)    \
    CAT(prefix, _OFFSET) +                                                  \
    ((o) % (sub_group_size)) +                                              \
    (sub_group_size)*(                                                      \
        (x)*CAT(prefix, _X_PITCH) +                                         \
        (y)*CAT(prefix, _Y_PITCH) +                                         \
        (i)*CAT(prefix, _IFM_PITCH) +                                       \
        ((o) / (sub_group_size))*CAT(prefix, _OFM_PITCH)                    \
    )

#define GET_FILTER_OS_IYX_OSV8_ROTATE_180_INDEX(prefix, o, i, y, x, sub_group_size)    \
    CAT(prefix, _OFFSET) +                                                  \
    ((o) % (sub_group_size)) +                                              \
    (sub_group_size)*(                                                      \
        (CAT(prefix, _SIZE_X ) - x - 1)*CAT(prefix, _X_PITCH) +             \
        (CAT(prefix, _SIZE_Y ) - y - 1)*CAT(prefix, _Y_PITCH) +             \
        (i)*CAT(prefix, _IFM_PITCH) +                                       \
        ((o) / (sub_group_size))*CAT(prefix, _OFM_PITCH)                    \
    )

inline uint FUNC(get_i_yxs_os_yxsv2_osv_index)(uint o, uint i, uint y, uint x, uint x_size, uint i_pitch, uint y_pitch, uint x_pitch, uint offset, uint sub_group_size)
{
    const uint aligned_ofm_line = x_pitch;
    const uint ifm_height_pitch = (i_pitch/aligned_ofm_line);
    const uint dst_height = i*ifm_height_pitch + y*x_size + x;
    const uint base_filter_index = y*x_size + x;

    const uint aligned_height = dst_height & 0xfffffffe;
    const uint base_filter_odd = (base_filter_index & 0x1);

    uint slice_id = o / sub_group_size;
    uint id_in_slice = o % sub_group_size;
    uint slice_pitch = 2*sub_group_size;
    uint offset_in_slice = (int)(sub_group_size*base_filter_odd);

    const uint in_line = (slice_pitch*slice_id + offset_in_slice + id_in_slice);
    const size_t idx = offset + aligned_height*aligned_ofm_line + in_line;

    return idx;
}

#define GET_FILTER_I_YXS_OS_YXSV2_OSV_INDEX(prefix, o, i, y, x, sub_group_size) \
    FUNC_CALL(get_i_yxs_os_yxsv2_osv_index)(                                    \
        o, i, y, x, CAT(prefix, _SIZE_X ),                                      \
        CAT(prefix, _IFM_PITCH),                                                \
        CAT(prefix, _Y_PITCH),                                                  \
        CAT(prefix, _X_PITCH),                                                  \
        CAT(prefix, _OFFSET),                                                   \
        sub_group_size)

inline uint FUNC(get_iy_xs_os_xsv2_osv_index)(uint o, uint i, uint y, uint x, uint x_size, uint i_pitch, uint y_pitch, uint x_pitch, uint offset, uint sub_group_size)
{
    const uint aligned_ofm_line = x_pitch;
    const uint ifm_height_pitch = (i_pitch/aligned_ofm_line);
    const uint aligned_x_line = y_pitch / x_pitch;
    const uint dst_height = i*ifm_height_pitch + y*aligned_x_line + x;
    const uint base_filter_index = x;

    const uint aligned_height = dst_height & 0xfffffffe;
    const uint base_filter_odd = (base_filter_index & 0x1);

    uint slice_id = o / sub_group_size;
    uint id_in_slice = o % sub_group_size;
    uint slice_pitch = 2*sub_group_size;
    uint offset_in_slice = (int)(sub_group_size*base_filter_odd);

    const bool last_line_in_base_filter = (x == (x_size - 1));
    if (last_line_in_base_filter && base_filter_odd == 0)
    {
        const uint element_in_slice = 32;
        slice_id = o / element_in_slice;
        id_in_slice = o % element_in_slice;
        slice_pitch = 2*element_in_slice;
        offset_in_slice = 0;
    }

    const uint in_line = (slice_pitch*slice_id + offset_in_slice + id_in_slice);
    const size_t idx = offset + aligned_height*aligned_ofm_line + in_line;

    return idx;
}

#define GET_FILTER_IY_XS_OS_XSV2_OSV_INDEX(prefix, o, i, y, x, sub_group_size)  \
    FUNC_CALL(get_iy_xs_os_xsv2_osv_index)(                                     \
        o, i, y, x, CAT(prefix, _SIZE_X ),                                      \
        CAT(prefix, _IFM_PITCH),                                                \
/*
// Copyright (c) 2018 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/



/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/


#define GET_DATA_INDEX(prefix, b, f, y, x)  \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_INDEX_SAFE(prefix, b, f, y, x)                     \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

 #define GET_3D_DATA_INDEX(prefix, b, f, z, y, x) \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (z)*CAT(prefix, _Z_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_3D_DATA_INDEX_SAFE(prefix, b, f, z, y, x)               \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (z % CAT(prefix, _SIZE_Z     ))*CAT(prefix, _Z_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_BS_FYX_BSV8_INDEX(prefix, b, f, y, x, sub_group_size)  \
    CAT(prefix, _OFFSET) +                                              \
    ((b) % (sub_group_size)) +                                          \
    (sub_group_size)*(                                                  \
        (x)*CAT(prefix, _X_PITCH) +                                     \
        (y)*CAT(prefix, _Y_PITCH) +                                     \
        (f)*CAT(prefix, _FEATURE_PITCH) +                               \
        ((b) / (sub_group_size))*CAT(prefix, _BATCH_PITCH)              \
    )

inline uint FUNC(get_bf8_xy16_index)(uint b, uint f, uint y, uint x, uint x_size, uint y_size, uint f_size, uint offset)
{
    const uint xy_idx = x + y * x_size;
    const uint xy_offset = (xy_idx % 16) + (xy_idx / 16) * 16 * 8;
    const uint xy_block_num = (x_size * y_size + 16 - 1) / 16;
    const uint f_offset = (f % 8) * 16 + (f / 8) * xy_block_num * 16 * 8;
    const uint f_block_num = (f_size + 8 - 1) / 8;
    const uint b_offset = b * f_block_num * xy_block_num * 128;

    const size_t idx = offset + xy_offset + f_offset + b_offset;

    return idx;
}

inline uint FUNC(get_bfyx_f16_index)(
    uint b, uint f, uint y, uint x,
    uint x_size, uint y_size, uint f_size,
    uint y_pad_before,uint y_pad_after,
    uint x_pad_before, uint x_pad_after,
    uint f_pad_before, uint f_pad_after)
{
    const uint feature_slice_size = 16;

    const uint full_width = x_size + x_pad_before + x_pad_after;
    const uint full_height = y_size + y_pad_before + y_pad_after;
    const uint full_features = f_pad_before + f_size + f_pad_after;
    const uint feature_tiles_number = (full_features + feature_slice_size - 1) / feature_slice_size;

    const uint x_pitch = feature_slice_size;
    const uint y_pitch = x_pitch * full_width;
    const uint fs_pitch = y_pitch * full_height;
    const uint b_pitch = fs_pitch * feature_tiles_number;

    const uint x_offset = (x + x_pad_before) * x_pitch;
    const uint y_offset = (y + y_pad_before) * y_pitch;
    const uint fs_offset = (f / feature_slice_size + f_pad_before / feature_slice_size) * fs_pitch;
    const uint b_offset = b * b_pitch;

    const size_t idx = x_offset + y_offset + fs_offset + b_offset + (f % feature_slice_size);

    return idx;
}

#define GET_DATA_BFYX_F16_INDEX(prefix, b, f, y, x)     \
    FUNC_CALL(get_bfyx_f16_index)(                      \
        b, f, y, x,                                     \
        CAT(prefix, _SIZE_X ),                          \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _FEATURE_NUM),                      \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



#define ACTIVATION_LOGISTIC(input)                      (UNIT_VAL_ONE/(UNIT_VAL_ONE + exp(-input)))
#define ACTIVATION_HYPERBOLIC_TAN(input)                (tanh(input))

// tempGEMM = [ batch, 1, direction, 4 * hidden_size ]
// cell     = [ batch, 1, direction, hidden_size ] optional
// output   = [ batch, 1, direction, hidden_size ] output
KERNEL(lstm_elt)(
    const __global INPUT0_TYPE* input,
    __global OUTPUT_TYPE* output
#if CELL_TERM
    ,const __global OUTPUT_TYPE* cell
#endif
    )
{
    const uint x = get_global_id(0);
    const uint b = get_global_id(1);

    ACCUMULATOR_TYPE it = input[GET_DATA_INDEX(INPUT0, b, 0, 0, x + GEMM_OFFSET_I)];
    ACCUMULATOR_TYPE ot = input[GET_DATA_INDEX(INPUT0, b, 0, 0, x + GEMM_OFFSET_O)]; // pass constant offsets here
    ACCUMULATOR_TYPE zt = input[GET_DATA_INDEX(INPUT0, b, 0, 0, x + GEMM_OFFSET_Z)];

    ACCUMULATOR_TYPE val = ACTIVATION_LOGISTIC(CLIP(it)) * ACTIVATION_HYPERBOLIC_TAN(CLIP(zt));

#if CELL_TERM || INPUT_FORGET
    ACCUMULATOR_TYPE ft = input[GET_DATA_INDEX(INPUT0, b, 0, 0, x + GEMM_OFFSET_F)];
#endif

#if INPUT_FORGET
    val *= ((ACCUMULATOR_TYPE)1 - ft);
#endif

#if CELL_TERM
    val += cell[GET_DATA_INDEX(CELL, b, 0, CELL_DIRECTION, x)] * ACTIVATION_LOGISTIC(CLIP(ft));
#endif

    output[GET_DATA_INDEX(OUTPUT, b, 0, 0, x)] = (OUTPUT_TYPE)(ACTIVATION_HYPERBOLIC_TAN(val) * ACTIVATION_LOGISTIC(ot)); // hidden
    output[GET_DATA_INDEX(OUTPUT, b, 1, 0, x)] = (OUTPUT_TYPE)val; // cell
}

        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



#ifndef DIRECTION
#define DIRECTION 0
#endif

// input     = [    batch,  sequence,               1,      input_size ]
// weights   = [        1, direction, 4 * hidden_size,      input_size ]
// recurrent = [        1, direction, 4 * hidden_size,     hidden_size ]
// biases    = [        1,         1,       direction, 4 * hidden_size ] optional
// hidden    = [    batch, direction,               1,     hidden_size ] optional
// tempGEMM  = [    batch, direction,               1, 4 * hidden_size ] output
KERNEL(lstm_gemm)(
    const __global INPUT0_TYPE* input,
    __global OUTPUT_TYPE* output,
    const __global WEIGHTS_TYPE* weights
#if HIDDEN_TERM
    , const __global OUTPUT_TYPE* hidden,
    const __global RECURRENT_TYPE* recurrent
#endif
#if BIAS_TERM
    , const __global BIAS_TYPE* biases
#endif
    )
{
    const uint y = get_global_id(0);
    const uint b = get_global_id(1);

    ACCUMULATOR_TYPE dotProd = 0;
    for(uint x = 0; x < INPUT0_SIZE_X; ++x ) {
      const uint input_idx     = GET_DATA_INDEX(INPUT0, b, 0, INPUT_DIRECTION, x);
      const uint weights_idx   = GET_DATA_INDEX(WEIGHTS, 0, DIRECTION, y, x);
      dotProd += (ACCUMULATOR_TYPE)(input[input_idx] * weights[weights_idx]);
    }

#if HIDDEN_TERM
    for(uint x = 0; x < HIDDEN_SIZE_X; ++x ) {
      const uint hidden_idx    = GET_DATA_INDEX(HIDDEN, b, 0, HIDDEN_DIRECTION, x);
      const uint recurrent_idx = GET_DATA_INDEX(RECURRENT, 0, DIRECTION, y, x);
      dotProd += (ACCUMULATOR_TYPE)(hidden[hidden_idx] * recurrent[recurrent_idx]);
    }
#endif

#if BIAS_TERM
    const uint bias_idx = GET_DATA_INDEX(BIAS, 0, 0, DIRECTION, y);
    dotProd += (ACCUMULATOR_TYPE)biases[bias_idx];
#endif
    const uint output_idx = GET_DATA_INDEX(OUTPUT, b, 0, 0, y);
    output[output_idx] = (OUTPUT_TYPE)dotProd;
}

        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



#ifndef DIRECTION
#define DIRECTION 0
#endif

#ifndef SIMD
#define SIMD 16
#endif

// Sums value of result across all subgroups.
#define SUM_ACROSS_SUB_GROUP(val) \
 \
{ \
    val += intel_sub_group_shuffle(val, x+1); \
    val += intel_sub_group_shuffle(val, x+2); \
    val += intel_sub_group_shuffle(val, x+4); \
    val += (SIMD > 8) ? intel_sub_group_shuffle(val, x+8) : 0; \
    val += (SIMD > 16) ? intel_sub_group_shuffle(val, x+16) : 0; \
}

// input     = [    batch,  sequence,               1,      input_size ]
// weights   = [        1, direction, 4 * hidden_size,      input_size ]
// recurrent = [        1, direction, 4 * hidden_size,     hidden_size ]
// biases    = [        1,         1,       direction, 4 * hidden_size ] optional
// hidden    = [    batch, direction,               1,     hidden_size ] optional
// tempGEMM  = [    batch, direction,               1, 4 * hidden_size ] output

__attribute__((reqd_work_group_size(SIMD, 1, 1)))
KERNEL(lstm_gemm)(
    const __global INPUT0_TYPE* input,
    __global OUTPUT_TYPE* output,
    const __global WEIGHTS_TYPE* weights
#if HIDDEN_TERM
    , const __global OUTPUT_TYPE* hidden,
    const __global RECURRENT_TYPE* recurrent
#endif
#if BIAS_TERM
    , const __global BIAS_TYPE* biases
#endif
    )
{
    const uint x = get_local_id(0);
    const uint y = get_global_id(1);
	const int local_sz = get_local_size(0);
	const int weight_num_rows = get_global_size(1);

	uint K;
	int start_offset;
	int end_offset;
	int matrix_offset;
	int vector_offset;
	float4 sum;
	float result;

	K = INPUT0_SIZE_X;  // Width of  weight matrix
	start_offset = GET_DATA_INDEX(WEIGHTS, 0, DIRECTION, y, 0);  // set as the starting offset of the weight matrix
	end_offset = start_offset + K;
	matrix_offset = start_offset + (x * 4);  // Weight offset for the work item to work on
	vector_offset = GET_DATA_INDEX(INPUT0, 0, 0, INPUT_DIRECTION, (x*4));  // Input offset for the work item to work on
	sum = (float4)(0.f);
	result = 0;
	for(; matrix_offset < end_offset; matrix_offset += (local_sz * 4), vector_offset += (local_sz * 4))
	{
		float4 mask = (float4) (1 , (matrix_offset + 1) < end_offset , (matrix_offset + 2) < end_offset , (matrix_offset + 3) < end_offset);
		float4 m = (float4) (weights[matrix_offset], weights[matrix_offset + 1], weights[matrix_offset + 2], weights[matrix_offset + 3]);
		m = m * mask;

		const float4 v = (float4) (input[vector_offset], input[vector_offset + 1], input[vector_offset + 2], input[vector_offset + 3]);

		sum = mad(m, v, sum);
	}

	result = sum.x + sum.y + sum.z + sum.w;

#if HIDDEN_TERM
	K = HIDDEN_SIZE_X;  // width of recurrent matrix
	start_offset =  GET_DATA_INDEX(RECURRENT, 0, DIRECTION, y, 0);  // set as the starting offset of the recurrent matrix
	end_offset = start_offset + K;
	matrix_offset = start_offset + (x * 4);  // recurrent offset for the work item to work on
	vector_offset = GET_DATA_INDEX(HIDDEN, 0, 0, HIDDEN_DIRECTION, (x*4));  // hidden vector offset for the work item to work on
	sum = (float4)(0.f);
	for(; matrix_offset < end_offset; matrix_offset += (local_sz * 4), vector_offset += (local_sz * 4))
	{
		float4 mask = (float4) (1 , (matrix_offset + 1) < end_offset , (matrix_offset + 2) < end_offset , (matrix_offset + 3) < end_offset);
		float4 m = (float4) (recurrent[matrix_offset], recurrent[matrix_offset + 1], recurrent[matrix_offset + 2], recurrent[matrix_offset + 3]);
		m = m * mask;

		const float4 v = (float4) (hidden[vector_offset], hidden[vector_offset + 1], hidden[vector_offset + 2], hidden[vector_offset + 3]);

		sum = mad(m, v, sum);
	}

	result += sum.x + sum.y + sum.z + sum.w;
#endif

	// Add together partial sums contained in each work item's "result" variable
	SUM_ACROSS_SUB_GROUP(result);

	if(x == 0)
	{
		output[y] = (OUTPUT_TYPE)result;

#if BIAS_TERM
		const uint bias_idx = GET_DATA_INDEX(BIAS, 0, 0, DIRECTION, y);
		float bias = (ACCUMULATOR_TYPE)biases[bias_idx];
		output[y] += (OUTPUT_TYPE)bias;
#endif
	}
}

#undef SUM_ACROSS_SUB_GROUP
#undef SIMD

        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



#ifndef DIRECTION
#define DIRECTION 0
#endif

#ifndef SIMD
#define SIMD 16
#endif

// Sums value of result across all subgroups.
#define SUM_ACROSS_SUB_GROUP(val) \
 \
{ \
    val += intel_sub_group_shuffle(val, x+1); \
    val += intel_sub_group_shuffle(val, x+2); \
    val += intel_sub_group_shuffle(val, x+4); \
    val += intel_sub_group_shuffle(val, x+8); \
}

// input     = [    batch,  sequence,               1,      input_size ]
// weights   = [        1, direction, 4 * hidden_size,      input_size ]
// recurrent = [        1, direction, 4 * hidden_size,     hidden_size ]
// biases    = [        1,         1,       direction, 4 * hidden_size ] optional
// hidden    = [    batch, direction,               1,     hidden_size ] optional
// tempGEMM  = [    batch, direction,               1, 4 * hidden_size ] output

__attribute__((reqd_work_group_size(SIMD, 1, 1)))
KERNEL(lstm_gemm)(
    const __global INPUT0_TYPE* input,
    __global OUTPUT_TYPE* output,
    const __global WEIGHTS_TYPE* weights
#if HIDDEN_TERM
    , const __global OUTPUT_TYPE* hidden,
    const __global RECURRENT_TYPE* recurrent
#endif
#if BIAS_TERM
    , const __global BIAS_TYPE* biases
#endif
    )
{
    const uint x = get_local_id(0);
    const uint y = get_global_id(1);
	const int local_sz = get_local_size(0);

	uint K;
	int start_offset;
	int end_offset;
	int matrix_offset;
	int vector_offset;
	float4 sum;
	float result;

	K = INPUT0_SIZE_X;  // Width of  weight matrix
	start_offset = GET_DATA_INDEX(WEIGHTS, 0, DIRECTION, y, 0);  // set as the starting offset of the weight matrix
	end_offset = start_offset + K;
	matrix_offset = start_offset + (x * 4);  // Weight offset for the work item to work on
	vector_offset = GET_DATA_INDEX(INPUT0, 0, 0, INPUT_DIRECTION, (x*4));  // Input offset for the work item to work on
	sum = (float4)(0.f);
	result = 0;
	for(; matrix_offset < end_offset; matrix_offset += (local_sz * 4), vector_offset += (local_sz * 4))
	{
		half4 mask = (half4) (1 , (matrix_offset + 1) < end_offset , (matrix_offset + 2) < end_offset , (matrix_offset + 3) < end_offset);
		half4 m = (half4) (weights[matrix_offset], weights[matrix_offset + 1], weights[matrix_offset + 2], weights[matrix_offset + 3]);
		m = m * mask;

		const half4 v = (half4)(input[vector_offset], input[vector_offset + 1], input[vector_offset + 2], input[vector_offset + 3]);

		sum = mad(convert_float4(m), convert_float4(v), sum);
	}

	result = sum.x + sum.y + sum.z + sum.w;

#if HIDDEN_TERM
	K = HIDDEN_SIZE_X;  // width of recurrent matrix
	start_offset = GET_DATA_INDEX(RECURRENT, 0, DIRECTION, y, 0);  // set as the starting offset of the recurrent matrix
	end_offset = start_offset + K;
	matrix_offset = start_offset + (x * 4);  // recurrent offset for the work item to work on
	vector_offset = GET_DATA_INDEX(HIDDEN, 0, 0, HIDDEN_DIRECTION, (x*4));  // hidden vector offset for the work item to work on
	sum = (float4)(0.f);
	for(; matrix_offset < end_offset; matrix_offset += (local_sz * 4), vector_offset += (local_sz * 4))
	{
		half4 mask = (half4) (1 , (matrix_offset + 1) < end_offset , (matrix_offset + 2) < end_offset , (matrix_offset + 3) < end_offset);
		half4 m = (half4) (recurrent[matrix_offset], recurrent[matrix_offset + 1], recurrent[matrix_offset + 2], recurrent[matrix_offset + 3]);
		m = m * mask;

		const half4 v = (half4) (hidden[vector_offset], hidden[vector_offset + 1], hidden[vector_offset + 2], hidden[vector_offset + 3]);

		sum = mad(convert_float4(m), convert_float4(v), sum);
	}

	result += sum.x + sum.y + sum.z + sum.w;
#endif

	// Add together partial sums contained in each work item's "result" variable
	SUM_ACROSS_SUB_GROUP(result);

	if(x == 0)
	{
	    output[y] = 0;// (half)result;

#if BIAS_TERM
		const uint bias_idx = GET_DATA_INDEX(BIAS, 0, 0, DIRECTION, y);
		half bias = biases[bias_idx];
		result += (float)bias;
#endif

		output[y] = (half)result;
		//output[y] = convert_half_rte(result);


	}
}

#undef SUM_ACROSS_SUB_GROUP
#undef SIMD

        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



KERNEL(pooling_gpu)(const __global UNIT_TYPE* input, __global UNIT_TYPE* output, const __global float* arg_max)
{
#if OUTPUT_LAYOUT_BFYX  || OUTPUT_LAYOUT_BYXF
    const uint x    = (uint)get_global_id(0);
    const uint y    = (uint)get_global_id(1);
    const uint bf   = (uint)get_global_id(2);
    const uint f    = bf % INPUT0_FEATURE_NUM;
    const uint b    = bf / INPUT0_FEATURE_NUM;

    if (x >= INPUT0_SIZE_X)
    {
        return;
    }
#elif OUTPUT_LAYOUT_YXFB
    const uint x    = (uint)get_global_id(1);
    const uint y    = (uint)get_global_id(2);
    const uint bf   = (uint)get_global_id(0);
    const uint f    = bf / INPUT0_BATCH_NUM;
    const uint b    = bf % INPUT0_BATCH_NUM;
#endif

    const uint input_id = GET_DATA_INDEX(INPUT0, b, f, y, x);
    const uint arg_max_id = GET_DATA_INDEX(INPUT1, b, f, y, x);
    const uint pool_idx = convert_uint(arg_max[arg_max_id]);

#if OUTPUT_PADDED
    const uint x_output = pool_idx % OUTPUT_SIZE_X;
    const uint y_output = (pool_idx / OUTPUT_SIZE_X) % OUTPUT_SIZE_Y;
    const uint f_output = (pool_idx / OUTPUT_SIZE_X / OUTPUT_SIZE_Y) % OUTPUT_FEATURE_NUM;
    const uint b_output = pool_idx / OUTPUT_SIZE_X / OUTPUT_SIZE_Y / OUTPUT_FEATURE_NUM;

    const uint output_pos = GET_DATA_INDEX(OUTPUT, b_output, f_output, y_output, x_output);
    output[output_pos] += ACTIVATION(input[input_id], NL_M ,NL_N);
#else
    output[pool_idx] += ACTIVATION(input[input_id], NL_M ,NL_N);
#endif
}

// Copyright (c) 2018 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)



#if FP16_UNIT_USED
    #define UNIT_CVT_FUNC(val) convert_half(val)
#else
    #define UNIT_CVT_FUNC(val) (val)
#endif

__attribute__((reqd_work_group_size(LWS, 1, 1)))
KERNEL (mvn_gpu_bfyx_opt)(const __global UNIT_TYPE* input, __global UNIT_TYPE* output)
{
    const uint data_set_idx = get_global_id(1);     //in processing of which data set this WI participates?
    const uint workers_per_data_set = LWS;          //how many WI participates in processing of one data set
    const uint in_data_set_idx = get_global_id(0);  //this WI's id in group of items processing single data set
    const uint data_set_size = DATA_SET_SIZE;       //how many elements are in one data set
    const uint data_sets_count = DATA_SETS_COUNT;   //how many data sets are in the processing payload

    const uint data_set_offset = data_set_idx * data_set_size;
    const uint my_data_offset = data_set_offset + in_data_set_idx;

    float my_sum = 0.f;
    float tmp;

    __local float lg_storage[LWS];

    //each WI reads ITEMS_NUM consecutive items from batch*feature
    for (uint i=0; i<ITEMS_NUM; ++i)
    {
        my_sum += (float)input[my_data_offset + i * workers_per_data_set];
    }

    if (in_data_set_idx < LEFTOVERS)
    {
        my_sum += (float)input[data_set_offset + workers_per_data_set * ITEMS_NUM + in_data_set_idx];
    }

    lg_storage[in_data_set_idx] = my_sum;

    barrier(CLK_LOCAL_MEM_FENCE);
    if (in_data_set_idx == 0)
    {
        for (uint i=1; i<LWS; ++i)
            my_sum += lg_storage[i];

        lg_storage[0] = my_sum / data_set_size;
    }
    barrier(CLK_LOCAL_MEM_FENCE);

    my_sum = lg_storage[0];

#if NORMALIZE_VARIANCE == 0
    for (uint i=0; i<ITEMS_NUM; ++i)
        output[my_data_offset + i * workers_per_data_set] = ACTIVATION(UNIT_CVT_FUNC(input[my_data_offset + i * workers_per_data_set]) - UNIT_CVT_FUNC(my_sum), NL_M ,NL_N);
    if (in_data_set_idx < LEFTOVERS)
        output[data_set_offset + workers_per_data_set * ITEMS_NUM + in_data_set_idx] = ACTIVATION(UNIT_CVT_FUNC(input[data_set_offset + workers_per_data_set * ITEMS_NUM + in_data_set_idx]) - UNIT_CVT_FUNC(my_sum), NL_M ,NL_N);
#else
    barrier(CLK_LOCAL_MEM_FENCE);

    float my_variance = 0.f;
    //each WI reads ITEMS_NUM consecutive items from batch*feature
    for (uint i=0; i<ITEMS_NUM; ++i)
    {
        tmp = (float)input[my_data_offset + i * workers_per_data_set];
        tmp -= my_sum;
        my_variance = fma(tmp, tmp, my_variance);
    }

    if (in_data_set_idx < LEFTOVERS)
    {
        tmp = (float)input[data_set_offset + workers_per_data_set * ITEMS_NUM + in_data_set_idx];
        tmp -= my_sum;
        my_variance = fma(tmp, tmp, my_variance);
    }

    lg_storage[in_data_set_idx] = my_variance;

    barrier(CLK_LOCAL_MEM_FENCE);
    if (in_data_set_idx == 0)
    {
        for (uint i=1; i<LWS; ++i)
            my_variance += lg_storage[i];

        my_variance /= data_set_size;
        lg_storage[0] = native_powr(my_variance + (float)EPSILON, -0.5f);
    }
    barrier(CLK_LOCAL_MEM_FENCE);

    my_variance = lg_storage[0];

    for (uint i=0; i<ITEMS_NUM; ++i)
        output[my_data_offset + i * workers_per_data_set] = ACTIVATION((UNIT_CVT_FUNC(input[my_data_offset + i * workers_per_data_set]) - UNIT_CVT_FUNC(my_sum)) * UNIT_CVT_FUNC(my_variance), NL_M ,NL_N);
    if (in_data_set_idx < LEFTOVERS)
        output[data_set_offset + workers_per_data_set * ITEMS_NUM + in_data_set_idx] = ACTIVATION((UNIT_CVT_FUNC(input[data_set_offset + workers_per_data_set * ITEMS_NUM + in_data_set_idx]) - UNIT_CVT_FUNC(my_sum)) * UNIT_CVT_FUNC(my_variance), NL_M ,NL_N);
#endif
}

#undef UNIT_CVT_FUNC

// Copyright (c) 2018 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)



#if FP16_UNIT_USED
    #define UNIT_CVT_FUNC(val) convert_half(val)
#else
    #define UNIT_CVT_FUNC(val) (val)
#endif


KERNEL (mvn_gpu_ref_accross_channels)(const __global UNIT_TYPE* input, __global UNIT_TYPE* output)
{
    const uint b = get_global_id(0);
    float mean = 0.f;

    const uint input_first = INPUT0_OFFSET + b * INPUT0_BATCH_PITCH;

    // Compute mean
    uint input_idx = input_first;
    for (uint f = 0; f < INPUT0_FEATURE_NUM; f++)
    {
        for (uint y = 0; y < INPUT0_SIZE_Y; y++)
        {
            for (uint x = 0; x < INPUT0_SIZE_X; x++)
            {
                mean += (float)input[input_idx];
                input_idx += INPUT0_X_PITCH;
            }
            input_idx += INPUT0_Y_PITCH - INPUT0_SIZE_X*INPUT0_X_PITCH;
        }
        input_idx += INPUT0_FEATURE_PITCH - INPUT0_Y_PITCH*INPUT0_SIZE_Y;
    }
    uint output_idx = OUTPUT_OFFSET + b * OUTPUT_BATCH_PITCH;
    mean /= INPUT0_FEATURE_NUM * INPUT0_SIZE_Y * INPUT0_SIZE_X;

#if NORMALIZE_VARIANCE == 0
    // Subtract mean / compute variance if needed
    input_idx = input_first;
    for (uint f = 0; f < INPUT0_FEATURE_NUM; f++)
    {
        for (uint y = 0; y < INPUT0_SIZE_Y; y++)
        {
            for (uint x = 0; x < INPUT0_SIZE_X; x++)
            {
                output[output_idx] = ACTIVATION(input[input_idx] - UNIT_CVT_FUNC(mean), NL_M, NL_N);
                input_idx += INPUT0_X_PITCH;
                output_idx += OUTPUT_X_PITCH;
            }
            input_idx += INPUT0_Y_PITCH - INPUT0_SIZE_X*INPUT0_X_PITCH;
            output_idx += OUTPUT_Y_PITCH - INPUT0_SIZE_X*OUTPUT_X_PITCH;
        }
        input_idx += INPUT0_FEATURE_PITCH - INPUT0_Y_PITCH*INPUT0_SIZE_Y;
        output_idx += OUTPUT_FEATURE_PITCH - INPUT0_SIZE_Y*OUTPUT_Y_PITCH;
    }

#else //NORMALIZE_VARIANCE
    float variance = 0.f;

    //compute variance
    input_idx = input_first;
    for (uint f = 0; f < INPUT0_FEATURE_NUM; f++)
    {
        for (uint y = 0; y < INPUT0_SIZE_Y; y++)
        {
            for (uint x = 0; x < INPUT0_SIZE_X; x++)
            {
                float res = (float)input[input_idx] - mean;
                variance = fma(res, res, variance);
                input_idx += INPUT0_X_PITCH;
            }
            input_idx += INPUT0_Y_PITCH - INPUT0_SIZE_X*INPUT0_X_PITCH;
        }
        input_idx += INPUT0_FEATURE_PITCH - INPUT0_Y_PITCH*INPUT0_SIZE_Y;
    }

    //normalize variance
    variance /= INPUT0_FEATURE_NUM * INPUT0_SIZE_Y * INPUT0_SIZE_X;
    variance = native_powr(variance + (float)EPSILON, -0.5f);

    input_idx = input_first;
    for (uint f = 0; f < INPUT0_FEATURE_NUM; f++)
    {
        for (uint y = 0; y < INPUT0_SIZE_Y; y++)
        {
            for (uint x = 0; x < INPUT0_SIZE_X; x++)
            {
                output[output_idx] = ACTIVATION((input[input_idx] - UNIT_CVT_FUNC(mean)) * UNIT_CVT_FUNC(variance), NL_M, NL_N);
                input_idx += INPUT0_X_PITCH;
                output_idx += OUTPUT_X_PITCH;
            }
            input_idx += INPUT0_Y_PITCH - INPUT0_SIZE_X*INPUT0_X_PITCH;
            output_idx += OUTPUT_Y_PITCH - INPUT0_SIZE_X*OUTPUT_X_PITCH;
        }
        input_idx += INPUT0_FEATURE_PITCH - INPUT0_Y_PITCH*INPUT0_SIZE_Y;
        output_idx += OUTPUT_FEATURE_PITCH - INPUT0_SIZE_Y*OUTPUT_Y_PITCH;
    }
#endif
}


#undef UNIT_CVT_FUNC

mvn_gpu_ref_accross_channels// Copyright (c) 2018 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)



#if FP16_UNIT_USED
    #define UNIT_CVT_FUNC(val) convert_half(val)
#else
    #define UNIT_CVT_FUNC(val) (val)
#endif


KERNEL (mvn_gpu_ref_within_channels)(const __global UNIT_TYPE* input, __global UNIT_TYPE* output)
{
    const uint b = get_global_id(0);
    const uint f = get_global_id(1);
    float mean = 0.f;

    const uint input_first = INPUT0_OFFSET + b * INPUT0_BATCH_PITCH + f * INPUT0_FEATURE_PITCH;

    // Compute mean
    uint input_idx = input_first;
    for (uint y = 0; y < INPUT0_SIZE_Y; y++)
    {
        for (uint x = 0; x < INPUT0_SIZE_X; x++)
        {
            mean += (float)input[input_idx];
            input_idx += INPUT0_X_PITCH;
        }
        input_idx += INPUT0_Y_PITCH - INPUT0_SIZE_X*INPUT0_X_PITCH;
    }
    mean /= INPUT0_SIZE_X * INPUT0_SIZE_Y;

    uint output_idx = OUTPUT_OFFSET + b * OUTPUT_BATCH_PITCH + f * OUTPUT_FEATURE_PITCH;

#if NORMALIZE_VARIANCE == 0
    //subtract mean
    input_idx = input_first;
    for (uint y = 0; y < INPUT0_SIZE_Y; y++)
    {
        for (uint x = 0; x < INPUT0_SIZE_X; x++)
        {
            output[output_idx] = ACTIVATION(input[input_idx] - UNIT_CVT_FUNC(mean), NL_M, NL_N);
            input_idx += INPUT0_X_PITCH;
            output_idx += OUTPUT_X_PITCH;
        }
        input_idx += INPUT0_Y_PITCH - INPUT0_SIZE_X*INPUT0_X_PITCH;
        output_idx += OUTPUT_Y_PITCH - INPUT0_SIZE_X*OUTPUT_X_PITCH;
    }
#else //NORMALIZE_VARIANCE
    float variance = 0.f;

    //compute variance
    input_idx = input_first;
    for (uint y = 0; y < INPUT0_SIZE_Y; y++)
    {
        for (uint x = 0; x < INPUT0_SIZE_X; x++)
        {
            float res = (float)input[input_idx] - mean;
            variance = fma(res, res, variance);
            input_idx += INPUT0_X_PITCH;
        }
        input_idx += INPUT0_Y_PITCH - INPUT0_SIZE_X*INPUT0_X_PITCH;
    }

    //normalize variance
    variance /= INPUT0_SIZE_Y * INPUT0_SIZE_X;
    variance = native_powr(variance + (float)EPSILON, -0.5f);

    input_idx = input_first;
    for (uint y = 0; y < INPUT0_SIZE_Y; y++)
    {
        for (uint x = 0; x < INPUT0_SIZE_X; x++)
        {
            output[output_idx] = ACTIVATION((input[input_idx] - UNIT_CVT_FUNC(mean)) * UNIT_CVT_FUNC(variance), NL_M, NL_N);
            input_idx += INPUT0_X_PITCH;
            output_idx += OUTPUT_X_PITCH;
        }
        input_idx += INPUT0_Y_PITCH - INPUT0_SIZE_X*INPUT0_X_PITCH;
        output_idx += OUTPUT_Y_PITCH - INPUT0_SIZE_X*OUTPUT_X_PITCH;
    }
#endif
}


#undef UNIT_CVT_FUNC

mvn_gpu_ref_within_channels// Copyright (c) 2016-2017 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)



#if FP16_UNIT_USED
    #define UNIT_CVT_FUNC(val) convert_half(val)
#else
    #define UNIT_CVT_FUNC(val) (val)
#endif


KERNEL (normalize_gpu_across_spatial_bfyx)(const __global UNIT_TYPE* input, __global UNIT_TYPE* output, const __global UNIT_TYPE* scale_input)
{
    const uint b = get_global_id(0);

    float norm = EPSILON;

    const uint input_first = INPUT0_OFFSET + b * INPUT0_BATCH_PITCH;

    // Compute norm
    uint input_idx = input_first;
    for (uint f = 0; f < INPUT0_FEATURE_NUM; f++)
    {
        for (uint y = 0; y < INPUT0_SIZE_Y; y++)
        {
            for (uint x = 0; x < INPUT0_SIZE_X; x++)
            {
                float value = (float)input[input_idx];
                norm = mad(value, value, norm);
                input_idx += INPUT0_X_PITCH;
            }
            input_idx += INPUT0_Y_PITCH - INPUT0_SIZE_X*INPUT0_X_PITCH;
        }
        input_idx += INPUT0_FEATURE_PITCH - INPUT0_Y_PITCH*INPUT0_SIZE_Y;
    }
    if(norm <= THRESHOLD)
    {
        norm = 0;
    }
    else
    {
        norm = native_powr(norm, -0.5f);
    }

    uint output_idx = OUTPUT_OFFSET + b * OUTPUT_BATCH_PITCH;

    // Scale the input
    input_idx = input_first;
    for (uint f = 0; f < INPUT0_FEATURE_NUM; f++)
    {
#if SCALE_TABLE_FEATURE_NUM == 1
        const uint scale_index = 0;
#elif INPUT0_FEATURE_NUM <= SCALE_TABLE_FEATURE_NUM
        const uint scale_index = f;
#else
        const uint scale_index = f % SCALE_TABLE_FEATURE_NUM;
#endif

        for (uint y = 0; y < INPUT0_SIZE_Y; y++)
        {
            for (uint x = 0; x < INPUT0_SIZE_X; x++)
            {
                output[output_idx] = ACTIVATION(UNIT_CVT_FUNC(norm) * input[input_idx] * scale_input[scale_index], NL_M, NL_N);
                input_idx += INPUT0_X_PITCH;
                output_idx += OUTPUT_X_PITCH;
            }
            input_idx += INPUT0_Y_PITCH - INPUT0_SIZE_X*INPUT0_X_PITCH;
            output_idx += OUTPUT_Y_PITCH - INPUT0_SIZE_X*OUTPUT_X_PITCH;
        }
        input_idx += INPUT0_FEATURE_PITCH - INPUT0_Y_PITCH*INPUT0_SIZE_Y;
        output_idx += OUTPUT_FEATURE_PITCH - INPUT0_SIZE_Y*OUTPUT_Y_PITCH;
    }
}


#undef UNIT_CVT_FUNC

// Copyright (c) 2016-2017 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)



#if FP16_UNIT_USED
    #define UNIT_CVT_FUNC(val) convert_half(val)
#else
    #define UNIT_CVT_FUNC(val) (val)
#endif


KERNEL (normalize_gpu_within_spatial_bfyx)(const __global UNIT_TYPE* input, __global UNIT_TYPE* output, const __global UNIT_TYPE* scale_input)
{
    const uint x = get_global_id(0);
    const uint y = get_global_id(1);
    const uint b = get_global_id(2);

    const uint input_first = INPUT0_OFFSET + b*INPUT0_BATCH_PITCH + y*INPUT0_Y_PITCH + x*INPUT0_X_PITCH;

    // Compute norm
    uint input_idx = input_first;
    float norm = EPSILON;
    for (int i = 0; i < INPUT0_FEATURE_NUM; i++)
    {
        float value = (float)input[input_idx];
        norm = mad(value, value, norm);
        input_idx += INPUT0_FEATURE_PITCH;
    }

    uint output_idx = OUTPUT_OFFSET + b*OUTPUT_BATCH_PITCH + y*OUTPUT_Y_PITCH + x*OUTPUT_X_PITCH;

    if(norm <= THRESHOLD)
    {
        norm = 0;
    }
    else
    {
        norm = native_powr(norm, -0.5f);
    }

    // Scale the input
    input_idx = input_first;
    for (int f = 0; f < INPUT0_FEATURE_NUM; f++)
    {
#if SCALE_TABLE_FEATURE_NUM == 1
        const uint scale_index = 0;
#elif INPUT0_FEATURE_NUM <= SCALE_TABLE_FEATURE_NUM
        const uint scale_index = f;
#else
        const uint scale_index = f % SCALE_TABLE_FEATURE_NUM;
#endif

        output[output_idx] = ACTIVATION(UNIT_CVT_FUNC(norm) * input[input_idx] * scale_input[scale_index], NL_M, NL_N);
        output_idx += OUTPUT_FEATURE_PITCH;
        input_idx += INPUT0_FEATURE_PITCH;
    }
}


#undef UNIT_CVT_FUNC

        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



#define GET_COORDS_INDEX(prefix, coords) GET_DATA_INDEX(prefix, coords[0], coords[1], coords[2], coords[3])

KERNEL(one_hot_ref)(
    const __global INPUT0_TYPE* input,
    __global INPUT0_TYPE* output)
{
    uint in_coords[4] = { 0, get_global_id(0), get_global_id(1), get_global_id(2) };
    uint out_coords[4] = { 0, get_global_id(0), get_global_id(1), get_global_id(2) };
    for (uint i = 0; i < ONE_HOT_AXIS; ++i)
        out_coords[i] = out_coords[i + 1];

    // Fill the output with 0
    for (out_coords[ONE_HOT_AXIS] = 0; out_coords[ONE_HOT_AXIS] < ONE_HOT_LIMIT; ++out_coords[ONE_HOT_AXIS])
        output[GET_COORDS_INDEX(OUTPUT, out_coords)] = 0;

    // Put in the 1; ignore bad input values
    INPUT0_TYPE val = input[GET_COORDS_INDEX(INPUT0, in_coords)];
    if (val >= 0 && val < ONE_HOT_LIMIT)
    {
        out_coords[ONE_HOT_AXIS] = val;
        output[GET_COORDS_INDEX(OUTPUT, out_coords)] = 1;
    }
}

// Copyright (c) 2017 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)



KERNEL (permute_ref)(const __global UNIT_TYPE* input, __global UNIT_TYPE* output)
{
    uint4 input_indices, output_indices;

    input_indices[0] = get_global_id(0);
    input_indices[1] = get_global_id(1);
    input_indices[2] = get_global_id(2) % INPUT0_SIZES[2];
    input_indices[3] = get_global_id(2) / INPUT0_SIZES[2];

    output_indices[0] = input_indices[PERMUTE_ORDER[0]];
    output_indices[1] = input_indices[PERMUTE_ORDER[1]];
    output_indices[2] = input_indices[PERMUTE_ORDER[2]];
    output_indices[3] = input_indices[PERMUTE_ORDER[3]];

    uint input_offset =  INPUT0_OFFSET +
                         input_indices[0]*INPUT0_PITCHES[0] +
                         input_indices[1]*INPUT0_PITCHES[1] +
                         input_indices[2]*INPUT0_PITCHES[2] +
                         input_indices[3]*INPUT0_PITCHES[3];
    uint output_offset = OUTPUT_OFFSET +
                         output_indices[0]*OUTPUT_PITCHES[0] +
                         output_indices[1]*OUTPUT_PITCHES[1] +
                         output_indices[2]*OUTPUT_PITCHES[2] +
                         output_indices[3]*OUTPUT_PITCHES[3];

    output[output_offset] = ACTIVATION(input[input_offset], NL_M, NL_N);
}

        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



__attribute__((intel_reqd_sub_group_size(SUB_GROUP_SIZE)))
__attribute__((reqd_work_group_size(SUB_GROUP_SIZE, 1, 1)))
KERNEL(pooling_gpu_average_opt)(const __global float* input, __global float* output)
{
    int local_id = get_local_id(0);
    int tile_x = get_global_id(0);
    int tile_y = get_global_id(1);
    int channel = get_global_id(2);

    int start_x = tile_x / SUB_GROUP_SIZE * TILE_WIDTH;
    int offset_x = start_x + (tile_x - tile_x / SUB_GROUP_SIZE * SUB_GROUP_SIZE) % TILE_WIDTH;
    int offset = INPUT0_SIZE_Y * INPUT0_SIZE_X * channel;

    int start_y = tile_y * TILE_HEIGHT;
    int end_y = min(INPUT0_SIZE_Y - 1, start_y + TILE_HEIGHT - 1);

    // Read 3 lines of SUB_GROUP_SIZE floats.
    // The 3 lines start one float before the current (to the left) and one line up:
    // For example: SUB_GROUP_SIZE=16
    // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
    // 0 X 2 3 4 5 6 7 8 9 10 11 12 13 14 15
    // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
    // In the diagram above X represents the current work item.

    const __global float* base_addr = input + offset + (start_y * INPUT0_SIZE_X + start_x) - 1;

    float input_buffer[3];
    input_buffer[0] = as_float(intel_sub_group_block_read((const __global uint*)(base_addr - INPUT0_SIZE_X)));
    input_buffer[1] = as_float(intel_sub_group_block_read((const __global uint*)(base_addr)));

    int first = 0;
    int second = 1;
    int third = 2;
    float res, sum, sum_1, sum_2;

    for (int y = start_y; y <= end_y; y++)
    {
        base_addr += INPUT0_SIZE_X;

        input_buffer[third] = as_float(intel_sub_group_block_read((const __global uint*)(base_addr)));

#if INPUT0_SIZE_Y == 1
        sum = input_buffer[second];
#else
        if (y == 0)
        {
            sum = input_buffer[second] + input_buffer[third];
        }
        else if (y == INPUT0_SIZE_Y - 1)
        {
            sum = input_buffer[first] + input_buffer[second];
        }
        else
        {
            sum = input_buffer[first] + input_buffer[second] + input_buffer[third];
        }
#endif

        sum_1 = intel_sub_group_shuffle_down(sum, 0.f, 1);
        sum_2 = intel_sub_group_shuffle_down(sum, 0.f, 2);

#if INPUT0_SIZE_X == 1
        res = sum_1 * ONE_OVER_POOL_SIZE;
#else
        if (offset_x == 0)
        {
            res = (sum_1 + sum_2) * ONE_OVER_POOL_SIZE;
        }
        else if (offset_x == INPUT0_SIZE_X - 1)
        {
            res = (sum + sum_1) * ONE_OVER_POOL_SIZE;
        }
        else
        {
            res = (sum + sum_1 + sum_2) * ONE_OVER_POOL_SIZE;
        }
#endif

        if ((local_id < TILE_WIDTH) && (offset_x < INPUT0_SIZE_X))
        {
            output[offset + y * INPUT0_SIZE_X + offset_x] = ACTIVATION(res, NL_M ,NL_N);
        }

        first = (first + 1) % 3;
        second = (second + 1) % 3;
        third = (third + 1) % 3;
    }

}

pooling_gpu_average_opt        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



#if MAX_POOLING || MAX_WITH_ARGMAX_POOLING
    #define UNIT_INIT_VAL UNIT_VAL_MIN
#elif AVG_POOLING
    #define UNIT_INIT_VAL UNIT_VAL_ZERO
#else
#error
#endif


inline UNIT_TYPE FUNC(apply_pooling)(UNIT_TYPE tmp, UNIT_TYPE in)
{
#if MAX_POOLING || MAX_WITH_ARGMAX_POOLING
    return max(tmp, in);
#elif AVG_POOLING
    return tmp + in;
#endif
}

KERNEL(pooling_gpu)(const __global UNIT_TYPE* input, __global UNIT_TYPE* output
#if MAX_WITH_ARGMAX_POOLING
, __global float* arg_max
#endif
)
{

    const uint x    = (uint)get_global_id(0);
    const uint y    = (uint)get_global_id(1) * POOL_SIZE_Y;
    const uint bf   = (uint)get_global_id(2);
    const uint f    = bf % INPUT0_FEATURE_NUM;
    const uint b    = bf / INPUT0_FEATURE_NUM;

    if ((x >= OUTPUT_SIZE_X) || (y >= OUTPUT_SIZE_Y))
        return;

    const int offset_x = (int)x*STRIDE_SIZE_X - PADDING_SIZE_X;
    const int offset_y = (int)y*STRIDE_SIZE_Y - PADDING_SIZE_Y;

    UNIT_TYPE result = UNIT_INIT_VAL;

    uint input_idx = GET_DATA_INDEX(INPUT0, b, f, offset_y, offset_x);
    UNIT_TYPE max_x[BLOCK_SIZE_Y];
    UNIT_TYPE out[POOL_SIZE_Y];

#if MAX_WITH_ARGMAX_POOLING
    uint arg_max_x[BLOCK_SIZE_Y] = { 0 };
    uint arg_max_out[POOL_SIZE_Y] = { 0 };
    uint input_idx_bfyx_no_padding = offset_x + INPUT0_SIZE_X * (offset_y + INPUT0_SIZE_Y * (f + INPUT0_FEATURE_NUM * b));
#endif

    for(uint i = 0; i < BLOCK_SIZE_Y; i++)
    {
        max_x[i] = UNIT_INIT_VAL;
    }

    // we do max in "x" dimension
    for(uint j = 0; j < BLOCK_SIZE_Y; j++)
    {
        for(uint i = 0; i < POOL_SIZE_X; i++)
        {

#if MAX_WITH_ARGMAX_POOLING
            if(input[input_idx] > max_x[j])
                arg_max_x[j] = input_idx_bfyx_no_padding;
#endif
            max_x[j] = FUNC_CALL(apply_pooling)(max_x[j], input[input_idx]);
            input_idx += INPUT0_X_PITCH;

#if MAX_WITH_ARGMAX_POOLING
            input_idx_bfyx_no_padding++;
#endif

        }
        input_idx += (INPUT0_Y_PITCH - POOL_SIZE_X*INPUT0_X_PITCH);

#if MAX_WITH_ARGMAX_POOLING
        input_idx_bfyx_no_padding += (INPUT0_SIZE_X - POOL_SIZE_X);
#endif
    }

    for(uint i = 0; i < POOL_SIZE_Y; i++)
    {
        out[i] = max_x[i * STRIDE_SIZE_Y];

#if MAX_WITH_ARGMAX_POOLING
        arg_max_out[i] = arg_max_x[i * STRIDE_SIZE_Y];
#endif
    }

    // now we do max in "y" dimension
    for(uint i = 0; i < POOL_SIZE_Y; i++)
    {
        for(uint j = 1; j < POOL_SIZE_Y; j++)
        {

#if MAX_WITH_ARGMAX_POOLING
            if(max_x[j + i * STRIDE_SIZE_Y] > out[i])
                arg_max_out[i] = arg_max_x[j + i * STRIDE_SIZE_Y];
#endif

            out[i] = FUNC_CALL(apply_pooling)(out[i], max_x[j + i * STRIDE_SIZE_Y]);
        }
    }

    uint output_pos = GET_DATA_INDEX(OUTPUT, b, f, y, x);

#if MAX_WITH_ARGMAX_POOLING
    uint arg_max_pos = GET_DATA_INDEX(INPUT1, b, f, y, x);
#endif

    for(uint i = 0; i < POOL_SIZE_Y; i++)
    {
        if((y + i) < OUTPUT_SIZE_Y)
        {
#if defined AVG_POOLING
            out[i] /= (UNIT_TYPE)(POOL_SIZE_Y * POOL_SIZE_X);
#endif
            output[output_pos] = ACTIVATION(out[i], NL_M ,NL_N);
            output_pos += OUTPUT_Y_PITCH;

#if MAX_WITH_ARGMAX_POOLING
            arg_max[arg_max_pos] = arg_max_out[i];
            arg_max_pos += INPUT1_Y_PITCH;
#endif
        }
    }
}

#undef UNIT_INIT_VAL

        {
            if ((input_x + i) >= 0 && (input_x + i) < INPUT0_SIZE_X)
                line_cache[i] = UNIT_BLOCK_READ(input, input_offset + kh * input_y_pitch + i * IC_BLOCK);
            else
                line_cache[i] = UNIT_INIT_VAL;
        }

        __attribute__((opencl_unroll_hint(POOL_SIZE_X)))
        for (int kw = 0; kw < POOL_SIZE_X; kw++)
        {
            vec_t src;
            for (int i = 0; i < X_BLOCK_SIZE; i++) {
                src[i] = line_cache[kw + STRIDE_SIZE_X * i];
            }

#if defined MAX_POOLING
            dst = max(dst, src);
#elif defined AVG_POOLING
            dst += src;
#endif
        }
    }

#if defined MAX_POOLING
    dst = ACTIVATION(dst, NL_M, NL_N);
#elif defined AVG_POOLING && DYNAMIC_KERNEL_DIVIDER
    dst = ACTIVATION((dst / scale), NL_M ,NL_N);
#elif defined AVG_POOLING && FIXED_KERNEL_DIVIDER
    dst = ACTIVATION((dst / (POOL_SIZE_X * POOL_SIZE_Y)), NL_M ,NL_N);
#endif

    if (x + X_BLOCK_SIZE <= OUTPUT_SIZE_X)
    {
        UNIT_BLOCK_WRITE8(output, dst_index + y * output_y_pitch + x * output_x_pitch, dst);
    }
    else
    {
        // TODO Add case for not full feature slice
        const int x_tail = OUTPUT_SIZE_X - x;
        for (int i = 0; i < x_tail; i++)
            UNIT_BLOCK_WRITE(output, dst_index + (x+i) * output_x_pitch + y * output_y_pitch, dst[i]);
    }


}

#undef UNIT_INIT_VAL

        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif


// Copyright (c) 2019 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


#ifndef UNIT_TYPE
#error Unit type not defined.
#endif

#if UNIT_TYPE_SIZE == 2
// 2 byte data type case (ex. half)
#define UNIT_BLOCK_RW_TYPE ushort
#define UNIT_BLOCK_READ_FUNC intel_sub_group_block_read_us
#define UNIT_BLOCK_WRITE_FUNC intel_sub_group_block_write_us
#elif UNIT_TYPE_SIZE == 4
// 4 byte data type case (ex. float)
#define UNIT_BLOCK_RW_TYPE uint
#define UNIT_BLOCK_READ_FUNC intel_sub_group_block_read
#define UNIT_BLOCK_WRITE_FUNC intel_sub_group_block_write
#else
#error Unsupported unit type for block read/write.
#endif

#define UNIT_TYPE2 MAKE_VECTOR_TYPE(UNIT_TYPE, 2)
#define UNIT_TYPE4 MAKE_VECTOR_TYPE(UNIT_TYPE, 4)
#define UNIT_TYPE8 MAKE_VECTOR_TYPE(UNIT_TYPE, 8)

#define UNIT_BLOCK_RW_TYPE2 MAKE_VECTOR_TYPE(UNIT_BLOCK_RW_TYPE, 2)
#define UNIT_BLOCK_RW_TYPE4 MAKE_VECTOR_TYPE(UNIT_BLOCK_RW_TYPE, 4)
#define UNIT_BLOCK_RW_TYPE8 MAKE_VECTOR_TYPE(UNIT_BLOCK_RW_TYPE, 8)

#define AS_TYPE(type, val) CAT(as_, type)(val)

#define UNIT_BLOCK_READ_FUNC2 CAT(UNIT_BLOCK_READ_FUNC, 2)
#define UNIT_BLOCK_READ_FUNC4 CAT(UNIT_BLOCK_READ_FUNC, 4)
#define UNIT_BLOCK_READ_FUNC8 CAT(UNIT_BLOCK_READ_FUNC, 8)

#define UNIT_BLOCK_WRITE_FUNC2 CAT(UNIT_BLOCK_WRITE_FUNC, 2)
#define UNIT_BLOCK_WRITE_FUNC4 CAT(UNIT_BLOCK_WRITE_FUNC, 4)
#define UNIT_BLOCK_WRITE_FUNC8 CAT(UNIT_BLOCK_WRITE_FUNC, 8)

#define UNIT_BLOCK_READ(ptr, offset)  AS_TYPE(UNIT_TYPE,  UNIT_BLOCK_READ_FUNC( (const __global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset)))
#define UNIT_BLOCK_READ2(ptr, offset) AS_TYPE(UNIT_TYPE2, UNIT_BLOCK_READ_FUNC2((const __global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset)))
#define UNIT_BLOCK_READ4(ptr, offset) AS_TYPE(UNIT_TYPE4, UNIT_BLOCK_READ_FUNC4((const __global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset)))
#define UNIT_BLOCK_READ8(ptr, offset) AS_TYPE(UNIT_TYPE8, UNIT_BLOCK_READ_FUNC8((const __global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset)))

#define UNIT_BLOCK_WRITE(ptr, offset, val)  UNIT_BLOCK_WRITE_FUNC( (__global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset), AS_TYPE(UNIT_BLOCK_RW_TYPE,  val))
#define UNIT_BLOCK_WRITE2(ptr, offset, val) UNIT_BLOCK_WRITE_FUNC2((__global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset), AS_TYPE(UNIT_BLOCK_RW_TYPE2, val))
#define UNIT_BLOCK_WRITE4(ptr, offset, val) UNIT_BLOCK_WRITE_FUNC4((__global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset), AS_TYPE(UNIT_BLOCK_RW_TYPE4, val))
#define UNIT_BLOCK_WRITE8(ptr, offset, val) UNIT_BLOCK_WRITE_FUNC8((__global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset), AS_TYPE(UNIT_BLOCK_RW_TYPE8, val))


#define vec_t MAKE_VECTOR_TYPE(UNIT_TYPE, X_BLOCK_SIZE)
#define uint_vec_t MAKE_VECTOR_TYPE(uint, X_BLOCK_SIZE)

#if   defined MAX_POOLING
    #define UNIT_INIT_VAL UNIT_VAL_MIN
#elif defined AVG_POOLING
    #define UNIT_INIT_VAL UNIT_VAL_ZERO
#else
    #error pooling_gpu_blocked.cl - Unsupported pooling mode.
#endif

__attribute__((intel_reqd_sub_group_size(SUB_GROUP_SIZE)))
KERNEL(pooling_gpu_blocked)(const __global UNIT_TYPE* input, __global UNIT_TYPE* output)
{

    const int lid = get_sub_group_local_id();
    const int f_block = get_group_id(1);
    const int b = get_global_id(2);

    const int xy = get_global_id(0);
    const int x = (xy % X_BLOCKS) * X_BLOCK_SIZE;
    const int y = xy / X_BLOCKS;

    const int input_x = x * STRIDE_SIZE_X - PADDING_SIZE_X;
    const int input_y = y * STRIDE_SIZE_Y - PADDING_SIZE_Y;

    // Input offset calculations:
    const int input_x_pitch = IC_BLOCK;
    const int input_y_pitch = input_x_pitch * (INPUT0_PAD_BEFORE_SIZE_X +  INPUT0_SIZE_X + INPUT0_PAD_AFTER_SIZE_X);
    const int input_fs_pitch = input_y_pitch * (INPUT0_PAD_BEFORE_SIZE_Y +  INPUT0_SIZE_Y + INPUT0_PAD_AFTER_SIZE_Y);
    const int input_total_f_size = INPUT0_PAD_BEFORE_FEATURE_NUM + INPUT0_FEATURE_NUM + INPUT0_PAD_AFTER_FEATURE_NUM;
    const int input_b_pitch = input_fs_pitch * ((input_total_f_size + IC_BLOCK - 1) / IC_BLOCK);

    const uint input_fs_pad_before = INPUT0_PAD_BEFORE_FEATURE_NUM / IC_BLOCK;

    const int input_offset = b * input_b_pitch +
                             (input_y + INPUT0_PAD_BEFORE_SIZE_Y) * input_y_pitch +
                             (input_x + INPUT0_PAD_BEFORE_SIZE_X) * input_x_pitch +
                             (f_block + input_fs_pad_before) * input_fs_pitch;

    // Output offset calculations:
    const uint output_x_pitch = IC_BLOCK;
    const uint output_y_pitch = output_x_pitch * (OUTPUT_PAD_BEFORE_SIZE_X +  OUTPUT_SIZE_X + OUTPUT_PAD_AFTER_SIZE_X);
    const uint output_total_f_size = OUTPUT_PAD_BEFORE_FEATURE_NUM + OUTPUT_FEATURE_NUM + OUTPUT_PAD_AFTER_FEATURE_NUM;
    const uint output_fs_pitch = output_y_pitch * (OUTPUT_PAD_BEFORE_SIZE_Y +  OUTPUT_SIZE_Y + OUTPUT_PAD_AFTER_SIZE_Y);
    const uint output_b_pitch = output_fs_pitch * ((output_total_f_size + IC_BLOCK - 1) / IC_BLOCK);

    const uint output_fs_pad_before = OUTPUT_PAD_BEFORE_FEATURE_NUM / IC_BLOCK;

    const int dst_index = b * output_b_pitch +
                          INPUT0_PAD_BEFORE_SIZE_Y * input_y_pitch +
                          INPUT0_PAD_BEFORE_SIZE_X * input_x_pitch +
                          (f_block + output_fs_pad_before) * output_fs_pitch;

    vec_t dst = (vec_t)UNIT_INIT_VAL;

#if AVG_POOLING && DYNAMIC_KERNEL_DIVIDER
    uint count;
    if (lid < X_BLOCK_SIZE)
    {
        int x_min = max(0, input_x + lid);
        int x_max = min(input_x + lid + POOL_SIZE_X, INPUT0_SIZE_X);
        int y_min = max(0, input_y);
        int y_max = min(input_y + POOL_SIZE_Y, INPUT0_SIZE_Y);

        count = (y_max - y_min) * (x_max - x_min);
    }

    uint_vec_t scale = (uint_vec_t)(intel_sub_group_shuffle(count, 0),
                                    intel_sub_group_shuffle(count, 1),
                                    intel_sub_group_shuffle(count, 2),
                                    intel_sub_group_shuffle(count, 3),
                                    intel_sub_group_shuffle(count, 4),
                                    intel_sub_group_shuffle(count, 5),
                                    intel_sub_group_shuffle(count, 6),
                                    intel_sub_group_shuffle(count, 7));
#endif

    for (int kh = 0; kh < POOL_SIZE_Y; kh++)
    {
        if (input_y + kh < 0 || input_y + kh >= INPUT0_SIZE_Y)
            continue;

        UNIT_TYPE line_cache[INPUT_LINE_SIZE];
        for (int i = 0; i < INPUT_LINE_SIZE; i++)
// Copyright (c) 2018-2019 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/


#define GET_DATA_INDEX(prefix, b, f, y, x)  \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_INDEX_SAFE(prefix, b, f, y, x)                     \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

 #define GET_3D_DATA_INDEX(prefix, b, f, z, y, x) \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (z)*CAT(prefix, _Z_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_3D_DATA_INDEX_SAFE(prefix, b, f, z, y, x)               \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (z % CAT(prefix, _SIZE_Z     ))*CAT(prefix, _Z_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_BS_FYX_BSV8_INDEX(prefix, b, f, y, x, sub_group_size)  \
    CAT(prefix, _OFFSET) +                                              \
    ((b) % (sub_group_size)) +                                          \
    (sub_group_size)*(                                                  \
        (x)*CAT(prefix, _X_PITCH) +                                     \
        (y)*CAT(prefix, _Y_PITCH) +                                     \
        (f)*CAT(prefix, _FEATURE_PITCH) +                               \
        ((b) / (sub_group_size))*CAT(prefix, _BATCH_PITCH)              \
    )

inline uint FUNC(get_bf8_xy16_index)(uint b, uint f, uint y, uint x, uint x_size, uint y_size, uint f_size, uint offset)
{
    const uint xy_idx = x + y * x_size;
    const uint xy_offset = (xy_idx % 16) + (xy_idx / 16) * 16 * 8;
    const uint xy_block_num = (x_size * y_size + 16 - 1) / 16;
    const uint f_offset = (f % 8) * 16 + (f / 8) * xy_block_num * 16 * 8;
    const uint f_block_num = (f_size + 8 - 1) / 8;
    const uint b_offset = b * f_block_num * xy_block_num * 128;

    const size_t idx = offset + xy_offset + f_offset + b_offset;

    return idx;
}

inline uint FUNC(get_bfyx_f16_index)(
    uint b, uint f, uint y, uint x,
    uint x_size, uint y_size, uint f_size,
    uint y_pad_before,uint y_pad_after,
    uint x_pad_before, uint x_pad_after,
    uint f_pad_before, uint f_pad_after)
{
    const uint feature_slice_size = 16;

    const uint full_width = x_size + x_pad_before + x_pad_after;
    const uint full_height = y_size + y_pad_before + y_pad_after;
    const uint full_features = f_pad_before + f_size + f_pad_after;
    const uint feature_tiles_number = (full_features + feature_slice_size - 1) / feature_slice_size;

    const uint x_pitch = feature_slice_size;
    const uint y_pitch = x_pitch * full_width;
    const uint fs_pitch = y_pitch * full_height;
    const uint b_pitch = fs_pitch * feature_tiles_number;

    const uint x_offset = (x + x_pad_before) * x_pitch;
    const uint y_offset = (y + y_pad_before) * y_pitch;
    const uint fs_offset = (f / feature_slice_size + f_pad_before / feature_slice_size) * fs_pitch;
    const uint b_offset = b * b_pitch;

    const size_t idx = x_offset + y_offset + fs_offset + b_offset + (f % feature_slice_size);

    return idx;
}

#define GET_DATA_BFYX_F16_INDEX(prefix, b, f, y, x)     \
    FUNC_CALL(get_bfyx_f16_index)(                      \
        b, f, y, x,                                     \
        CAT(prefix, _SIZE_X ),                          \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _FEATURE_NUM),                      \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_X),                \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



#if MAX_POOLING
    #define INIT_VAL CHAR_MIN
#elif AVG_POOLING
    #define INIT_VAL 0
#else
#error
#endif


inline int FUNC(apply_pooling)(int tmp, int in)
{
#if MAX_POOLING
    return max(tmp, in);
#elif AVG_POOLING
    return tmp + in;
#endif
}

KERNEL(pooling_gpu_byxf_af32)(
    const __global UNIT_TYPE* input,
    __global UNIT_TYPE* output)
{
    const uint x    = (uint)get_global_id(0);
    const uint y    = (uint)get_global_id(1);
    const uint bf   = (uint)get_global_id(2);
	// we process 4 features per workitem that's why we need to divide it
    const uint aligned32_features = ((INPUT0_FEATURE_NUM + 31) / 32) * 32;
    const uint f    = 4 * (bf % (aligned32_features / 4));
    const uint b    = bf / (aligned32_features / 4);

    if (x >= OUTPUT_SIZE_X)
    {
        return;
    }

    const int offset_x = (int)x*STRIDE_SIZE_X - PADDING_SIZE_X;
    const int offset_y = (int)y*STRIDE_SIZE_Y - PADDING_SIZE_Y;

    int4 result = INIT_VAL;

#ifdef CHECK_BOUNDRY
    if (offset_x + POOL_SIZE_X < 0 || offset_x >= INPUT0_SIZE_X ||
        offset_y + POOL_SIZE_Y < 0 || offset_y >= INPUT0_SIZE_Y)
    {
        return;
    }

#ifdef DYNAMIC_KERNEL_DIVIDER
    uint num_elementes = 0;
#endif

    const uint batch_and_feature_offset = GET_DATA_INDEX(INPUT0, b, f, 0, 0);
    for(uint j = 0; j < POOL_SIZE_Y; j++)
    {
        int input_offset_y = offset_y + j;
        bool zero_y = input_offset_y >= INPUT0_SIZE_Y || input_offset_y < 0;
        if(!zero_y)
        {
            for(uint i = 0; i < POOL_SIZE_X; i++)
            {
                int input_offset_x = offset_x + i;
                bool zero = input_offset_x >= INPUT0_SIZE_X || input_offset_x < 0;
                if(!zero)
                {
                    const uint input_idx = batch_and_feature_offset + input_offset_y*INPUT0_Y_PITCH + input_offset_x*INPUT0_X_PITCH;

                    char4 input_data = as_char4(intel_sub_group_block_read((const __global uint*)(input + input_idx)));
                    result[0] = FUNC_CALL(apply_pooling)(result[0], (int)input_data[0]);
                    result[1] = FUNC_CALL(apply_pooling)(result[1], (int)input_data[1]);
                    result[2] = FUNC_CALL(apply_pooling)(result[2], (int)input_data[2]);
                    result[3] = FUNC_CALL(apply_pooling)(result[3], (int)input_data[3]);

#ifdef DYNAMIC_KERNEL_DIVIDER
                    num_elementes++;
#endif
                }
            }
        }
    }
#ifdef DYNAMIC_WITH_PADDING_KERNEL_DIVIDER
    const int hend = min(offset_y + POOL_SIZE_Y, INPUT0_SIZE_Y + PADDING_SIZE_Y);
    const int wend = min(offset_x + POOL_SIZE_X, INPUT0_SIZE_X + PADDING_SIZE_X);
    const uint num_elementes = (hend - offset_y) * (wend - offset_x);
#endif
#else
    uint input_idx = GET_DATA_INDEX(INPUT0, b, f, offset_y, offset_x);

    for(uint j = 0; j < POOL_SIZE_Y; j++)
    {
        for(uint i = 0; i < POOL_SIZE_X; i++)
        {
            char4 input_data = as_char4(intel_sub_group_block_read((const __global uint*)(input + input_idx)));
            result[0] = FUNC_CALL(apply_pooling)(result[0], (int)input_data[0]);
            result[1] = FUNC_CALL(apply_pooling)(result[1], (int)input_data[1]);
            result[2] = FUNC_CALL(apply_pooling)(result[2], (int)input_data[2]);
            result[3] = FUNC_CALL(apply_pooling)(result[3], (int)input_data[3]);

            input_idx += INPUT0_X_PITCH;
        }
        input_idx += (INPUT0_Y_PITCH - POOL_SIZE_X*INPUT0_X_PITCH);
    }

#if defined(DYNAMIC_KERNEL_DIVIDER) || defined(DYNAMIC_WITH_PADDING_KERNEL_DIVIDER)
    const uint num_elementes = POOL_SIZE_X*POOL_SIZE_Y;
#endif
#endif

#if defined AVG_POOLING
    #if defined(DYNAMIC_KERNEL_DIVIDER) || defined(DYNAMIC_WITH_PADDING_KERNEL_DIVIDER)
        for(uint i = 0; i < 4; i++)
        {
            result[i] = convert_int(round(((float)result[i] / max(num_elementes, (uint)1)));
        }
    #else
        for(uint i = 0; i < 4; i++)
        {
            result[i] = convert_int(round((float)result[i] / (int)(POOL_SIZE_Y * POOL_SIZE_X)));
        }
    #endif
#endif

for(uint op = 0; op < 4; op++)
{
    const uint output_pos = GET_DATA_INDEX(OUTPUT, b, f+op, y, x);
    output[output_pos] = ACTIVATION(convert_char(result[op]), NL_M ,NL_N);
}

}

#undef INIT_VAL

        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



#define VECTOR_TYPE MAKE_VECTOR_TYPE(UNIT_TYPE,8)
#define FEATURE_PER_ITEM 8
#define FEATURE_BLOCK_NUM (OUTPUT_FEATURE_NUM / 8)

#if   defined MAX_POOLING
    #define UNIT_INIT_VAL UNIT_VAL_MIN
#elif defined AVG_POOLING
    #define UNIT_INIT_VAL UNIT_VAL_ZERO
#else
#error
#endif

inline VECTOR_TYPE FUNC(apply_pooling)(VECTOR_TYPE tmp, VECTOR_TYPE in)
{
#if defined MAX_POOLING
    return max(tmp, in);
#elif defined AVG_POOLING
    return tmp + in;
#endif
}

KERNEL(pooling_gpu_byxf_opt)(const __global UNIT_TYPE* input, __global UNIT_TYPE* output)
{
    VECTOR_TYPE out;
    const uint x    = (uint)get_global_id(0);
    const uint y    = (uint)get_global_id(1);
    const uint bf   = (uint)get_global_id(2);
    const uint f    = bf / INPUT0_BATCH_NUM * FEATURE_PER_ITEM;
    const uint b    = bf % INPUT0_BATCH_NUM;

    VECTOR_TYPE feature_block;

    if ((x >= OUTPUT_SIZE_X) || (y >= OUTPUT_SIZE_Y))
        return;

    const int offset_x = (int)x*STRIDE_SIZE_X;
    const int offset_y = (int)y*STRIDE_SIZE_Y;

    int input_idx = b*FEATURE_BLOCK_NUM*INPUT0_SIZE_X*INPUT0_SIZE_Y + FEATURE_BLOCK_NUM*INPUT0_SIZE_X*offset_y + FEATURE_BLOCK_NUM*offset_x + bf / INPUT0_BATCH_NUM;

    out = UNIT_INIT_VAL;

    __attribute__((opencl_unroll_hint))
    for(uint j = 0; j < POOL_SIZE_Y; j++)
    {
        __attribute__((opencl_unroll_hint))
        for(uint i = 0; i < POOL_SIZE_X; i++)
        {
            feature_block = vload8(input_idx+FEATURE_BLOCK_NUM*i, input);
            out = FUNC_CALL(apply_pooling)(out, feature_block);
        }
        input_idx += FEATURE_BLOCK_NUM*INPUT0_SIZE_X;
    }

    uint output_pos = GET_DATA_INDEX(OUTPUT, b, f, y, x);
    __attribute__((opencl_unroll_hint))
    for(uint i = 0; i < FEATURE_PER_ITEM; i++)
    {
        if(f+i < INPUT0_FEATURE_NUM){
#if defined MAX_POOLING
            output[output_pos+i] = ACTIVATION(out[i], NL_M ,NL_N);
#elif defined AVG_POOLING
            output[output_pos+i] = ACTIVATION(out[i]/(UNIT_TYPE)(POOL_SIZE_X*POOL_SIZE_Y), NL_M ,NL_N);
#endif
        }
    }
}

#undef FEATURE_BLOCK_NUM
#undef FEATURE_PER_ITEM
#undef UNIT_INIT_VAL
#undef VECTOR_TYPE

        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



#define VECTOR_TYPE MAKE_VECTOR_TYPE(UNIT_TYPE,8)
#define FEATURE_PER_ITEM 8
#define FEATURE_BLOCK_NUM (OUTPUT_FEATURE_NUM / 8)

#if   defined MAX_POOLING
    #define UNIT_INIT_VAL UNIT_VAL_MIN
#elif defined AVG_POOLING
    #define UNIT_INIT_VAL UNIT_VAL_ZERO
#else
#error
#endif

inline VECTOR_TYPE FUNC(apply_pooling)(VECTOR_TYPE tmp, VECTOR_TYPE in)
{
#if   defined MAX_POOLING
    return max(tmp, in);
#elif defined AVG_POOLING
    return tmp + in;
#endif
}

KERNEL(pooling_gpu_byxf_opt)(const __global UNIT_TYPE* input, __global UNIT_TYPE* output)
{
    VECTOR_TYPE out;
    const uint x    = (uint)get_global_id(0);
    const uint y    = (uint)get_global_id(1);
    const uint bf   = (uint)get_global_id(2);
    const uint f    = bf / INPUT0_BATCH_NUM * FEATURE_PER_ITEM;
    const uint b    = bf % INPUT0_BATCH_NUM;

    VECTOR_TYPE feature_block;

    if ((x >= OUTPUT_SIZE_X) || (y >= OUTPUT_SIZE_Y))
        return;

    const int offset_x = (int)x*STRIDE_SIZE_X - PADDING_SIZE_X;
    const int offset_y = (int)y*STRIDE_SIZE_Y - PADDING_SIZE_Y;

#ifdef CHECK_BOUNDRY
    if (offset_x + POOL_SIZE_X < 0 || offset_x >= INPUT0_SIZE_X ||
        offset_y + POOL_SIZE_Y < 0 || offset_y >= INPUT0_SIZE_Y)
    {
        return;
    }
#endif
    int input_idx = b*FEATURE_BLOCK_NUM*INPUT0_SIZE_X*INPUT0_SIZE_Y + FEATURE_BLOCK_NUM*INPUT0_SIZE_X*offset_y + FEATURE_BLOCK_NUM*offset_x + bf / INPUT0_BATCH_NUM;

    out = UNIT_INIT_VAL;

    __attribute__((opencl_unroll_hint))
    for(uint j = 0; j < POOL_SIZE_Y; j++)
    {
        int input_offset_y = offset_y + j;
        bool zero = input_offset_y < 0 || input_offset_y >= INPUT0_SIZE_Y;
        if(!zero)
        {
            __attribute__((opencl_unroll_hint))
            for(uint i = 0; i < POOL_SIZE_X; i++)
            {
                int input_offset_x = offset_x + i;
                zero = input_offset_x < 0 || input_offset_x >= INPUT0_SIZE_X;
                if (!zero)
                {
                    feature_block = vload8(input_idx+FEATURE_BLOCK_NUM*i, input);
                    out = FUNC_CALL(apply_pooling)(out, feature_block);
                }
            }
        }
        input_idx += FEATURE_BLOCK_NUM*INPUT0_SIZE_X;
    }

    uint output_pos = GET_DATA_INDEX(OUTPUT, b, f, y, x);
    __attribute__((opencl_unroll_hint))
    for(uint i = 0; i < FEATURE_PER_ITEM; i++)
    {
        if(f+i < INPUT0_FEATURE_NUM)
        {
#if defined MAX_POOLING
            output[output_pos+i] = ACTIVATION(out[i], NL_M ,NL_N);
#elif defined AVG_POOLING
            output[output_pos+i] = ACTIVATION(out[i]/(UNIT_TYPE)(POOL_SIZE_X*POOL_SIZE_Y), NL_M ,NL_N);
#endif
        }
    }
}

#undef FEATURE_BLOCK_NUM
#undef FEATURE_PER_ITEM
#undef UNIT_INIT_VAL
#undef VECTOR_TYPE

        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



#if MAX_POOLING
    #define INIT_VAL CHAR_MIN
#elif AVG_POOLING
    #define INIT_VAL 0
#else
#error
#endif


inline int FUNC(apply_pooling)(int tmp, int in)
{
#if MAX_POOLING
    return max(tmp, in);
#elif AVG_POOLING
    return tmp + in;
#endif
}

KERNEL(pooling_gpu_b_fs_yx_fsv4)(
    const __global UNIT_TYPE* input,
    __global UNIT_TYPE* output)
{
    const uint x    = (uint)get_global_id(0);
    const uint y    = (uint)get_global_id(1);
    const uint bf   = (uint)get_global_id(2);
    const uint f    = (bf * 4) % INPUT0_FEATURE_NUM;
    const uint b    = (bf * 4) / INPUT0_FEATURE_NUM;

    const int offset_x = (int)x*STRIDE_SIZE_X - PADDING_SIZE_X;
    const int offset_y = (int)y*STRIDE_SIZE_Y - PADDING_SIZE_Y;

    int result[4] = { INIT_VAL, INIT_VAL, INIT_VAL, INIT_VAL };

#ifdef CHECK_BOUNDRY
    if (offset_x + POOL_SIZE_X < 0 || offset_x >= INPUT0_SIZE_X ||
        offset_y + POOL_SIZE_Y < 0 || offset_y >= INPUT0_SIZE_Y)
    {
        return;
    }

#ifdef DYNAMIC_KERNEL_DIVIDER
    uint num_elementes = 0;
#endif

    const uint batch_and_feature_offset = GET_DATA_B_FS_YX_FSV4_INDEX(INPUT0, b, f, 0, 0);
    for(uint j = 0; j < POOL_SIZE_Y; j++)
    {
        int input_offset_y = offset_y + j;
        bool zero_y = input_offset_y >= INPUT0_SIZE_Y || input_offset_y < 0;
        if(!zero_y)
        {
            for(uint i = 0; i < POOL_SIZE_X; i++)
            {
                int input_offset_x = offset_x + i;
                bool zero = input_offset_x >= INPUT0_SIZE_X || input_offset_x < 0;
                if(!zero)
                {
                    const uint input_idx = batch_and_feature_offset + input_offset_y*IN_Y_PITCH + input_offset_x*IN_X_PITCH;

                    int int_data   = *((const __global int*)(input + input_idx));
                    char4 ch4_data = as_char4(int_data);
                    result[0] = FUNC_CALL(apply_pooling)(result[0], (int)ch4_data[0]);
                    result[1] = FUNC_CALL(apply_pooling)(result[1], (int)ch4_data[1]);
                    result[2] = FUNC_CALL(apply_pooling)(result[2], (int)ch4_data[2]);
                    result[3] = FUNC_CALL(apply_pooling)(result[3], (int)ch4_data[3]);

#ifdef DYNAMIC_KERNEL_DIVIDER
                    num_elementes++;
#endif
                }
            }
        }
    }
#ifdef DYNAMIC_WITH_PADDING_KERNEL_DIVIDER
    const int hend = min(offset_y + POOL_SIZE_Y, INPUT0_SIZE_Y + PADDING_SIZE_Y);
    const int wend = min(offset_x + POOL_SIZE_X, INPUT0_SIZE_X + PADDING_SIZE_X);
    const uint num_elementes = (hend - offset_y) * (wend - offset_x);
#endif
#else // !CHECK_BOUNDRY
    uint input_idx = GET_DATA_B_FS_YX_FSV4_INDEX(INPUT0, b, f, offset_y, offset_x);

    for(uint j = 0; j < POOL_SIZE_Y; j++)
    {
        for(uint i = 0; i < POOL_SIZE_X; i++)
        {
            int int_data   = *((const __global int*)(input + input_idx));
            char4 ch4_data = as_char4(int_data);
            result[0] = FUNC_CALL(apply_pooling)(result[0], (int)ch4_data[0]);
            result[1] = FUNC_CALL(apply_pooling)(result[1], (int)ch4_data[1]);
            result[2] = FUNC_CALL(apply_pooling)(result[2], (int)ch4_data[2]);
            result[3] = FUNC_CALL(apply_pooling)(result[3], (int)ch4_data[3]);

            input_idx += IN_X_PITCH;
        }
        input_idx += (IN_Y_PITCH - POOL_SIZE_X*IN_X_PITCH);
    }

#if defined(DYNAMIC_KERNEL_DIVIDER) || defined(DYNAMIC_WITH_PADDING_KERNEL_DIVIDER)
    const uint num_elementes = POOL_SIZE_X*POOL_SIZE_Y;
#endif
#endif

#if defined AVG_POOLING
    #if defined(DYNAMIC_KERNEL_DIVIDER) || defined(DYNAMIC_WITH_PADDING_KERNEL_DIVIDER)
        for(uint i = 0; i < 4; i++)
        {
            result[i] = convert_int(round(((float)result[i] / max(num_elementes, (uint)1)));
        }
    #else
        for(uint i = 0; i < 4; i++)
        {
            result[i] = convert_int(round((float)result[i] / (int)(POOL_SIZE_Y * POOL_SIZE_X)));
        }
    #endif
#endif

    char4 char_res;
    for(uint op = 0; op < 4; op++)
    {
        char_res[op] = ACTIVATION(convert_char(result[op]), NL_M ,NL_N);
    }
    const uint output_pos = GET_DATA_B_FS_YX_FSV4_INDEX(OUTPUT, b, f, y, x);
    *((__global int*)(output + output_pos)) = as_int(char_res);
}

#undef INIT_VAL

// Copyright (c) 2019 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/


#define GET_DATA_INDEX(prefix, b, f, y, x)  \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_INDEX_SAFE(prefix, b, f, y, x)                     \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

 #define GET_3D_DATA_INDEX(prefix, b, f, z, y, x) \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (z)*CAT(prefix, _Z_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_3D_DATA_INDEX_SAFE(prefix, b, f, z, y, x)               \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (z % CAT(prefix, _SIZE_Z     ))*CAT(prefix, _Z_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_BS_FYX_BSV8_INDEX(prefix, b, f, y, x, sub_group_size)  \
    CAT(prefix, _OFFSET) +                                              \
    ((b) % (sub_group_size)) +                                          \
    (sub_group_size)*(                                                  \
        (x)*CAT(prefix, _X_PITCH) +                                     \
        (y)*CAT(prefix, _Y_PITCH) +                                     \
        (f)*CAT(prefix, _FEATURE_PITCH) +                               \
        ((b) / (sub_group_size))*CAT(prefix, _BATCH_PITCH)              \
    )

inline uint FUNC(get_bf8_xy16_index)(uint b, uint f, uint y, uint x, uint x_size, uint y_size, uint f_size, uint offset)
{
    const uint xy_idx = x + y * x_size;
    const uint xy_offset = (xy_idx % 16) + (xy_idx / 16) * 16 * 8;
    const uint xy_block_num = (x_size * y_size + 16 - 1) / 16;
    const uint f_offset = (f % 8) * 16 + (f / 8) * xy_block_num * 16 * 8;
    const uint f_block_num = (f_size + 8 - 1) / 8;
    const uint b_offset = b * f_block_num * xy_block_num * 128;

    const size_t idx = offset + xy_offset + f_offset + b_offset;

    return idx;
}

inline uint FUNC(get_bfyx_f16_index)(
    uint b, uint f, uint y, uint x,
    uint x_size, uint y_size, uint f_size,
    uint y_pad_before,uint y_pad_after,
    uint x_pad_before, uint x_pad_after,
    uint f_pad_before, uint f_pad_after)
{
    const uint feature_slice_size = 16;

    const uint full_width = x_size + x_pad_before + x_pad_after;
    const uint full_height = y_size + y_pad_before + y_pad_after;
    const uint full_features = f_pad_before + f_size + f_pad_after;
    const uint feature_tiles_number = (full_features + feature_slice_size - 1) / feature_slice_size;

    const uint x_pitch = feature_slice_size;
    const uint y_pitch = x_pitch * full_width;
    const uint fs_pitch = y_pitch * full_height;
    const uint b_pitch = fs_pitch * feature_tiles_number;

    const uint x_offset = (x + x_pad_before) * x_pitch;
    const uint y_offset = (y + y_pad_before) * y_pitch;
    const uint fs_offset = (f / feature_slice_size + f_pad_before / feature_slice_size) * fs_pitch;
    const uint b_offset = b * b_pitch;

    const size_t idx = x_offset + y_offset + fs_offset + b_offset + (f % feature_slice_size);

    return idx;
}

#define GET_DATA_BFYX_F16_INDEX(prefix, b, f, y, x)     \
    FUNC_CALL(get_bfyx_f16_index)(                      \
        b, f, y, x,                                     \
        CAT(prefix, _SIZE_X ),                          \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _FEATURE_NUM),                      \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_X),                \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
    }
    const uint output_pos = GET_DATA_FS_BS_YX_BSV4_FSV32_INDEX(OUTPUT, b, f, y, x);
    intel_sub_group_block_write4((__global uint*)(output + output_pos), as_uint4(char_result));
}

#undef INIT_VAL

        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



#if MAX_POOLING
    #define INIT_VAL CHAR_MIN
#elif AVG_POOLING
    #define INIT_VAL 0
#else
#error
#endif


inline int FUNC(apply_pooling)(int tmp, int in)
{
#if MAX_POOLING
    return max(tmp, in);
#elif AVG_POOLING
    return tmp + in;
#endif
}

__attribute__((intel_reqd_sub_group_size(8)))
KERNEL(pooling_gpu_fs_bs_yx_bsv4_fsv32)(
    const __global UNIT_TYPE* input,
    __global UNIT_TYPE* output)
{
    const uint x    = (uint)get_global_id(0);
    const uint y    = (uint)get_global_id(1);
    const uint bf   = (uint)get_global_id(2);
	// we process 4 features per workitem that's why we need to divide it
    const uint aligned32_features = ((INPUT0_FEATURE_NUM + 31) / 32) * 32;
    const uint f    = (get_global_id(2) * 4) % aligned32_features;
    const uint b = 4 * ((get_global_id(2) * 4) / aligned32_features);

    if (x >= OUTPUT_SIZE_X)
    {
        return;
    }

    const int offset_x = (int)x*STRIDE_SIZE_X - PADDING_SIZE_X;
    const int offset_y = (int)y*STRIDE_SIZE_Y - PADDING_SIZE_Y;

    int4 result[4] = { INIT_VAL };

#ifdef CHECK_BOUNDRY
    if (offset_x + POOL_SIZE_X < 0 || offset_x >= INPUT0_SIZE_X ||
        offset_y + POOL_SIZE_Y < 0 || offset_y >= INPUT0_SIZE_Y)
    {
        return;
    }

#ifdef DYNAMIC_KERNEL_DIVIDER
    uint num_elementes = 0;
#endif

    const uint batch_and_feature_offset = GET_DATA_FS_BS_YX_BSV4_FSV32_INDEX(INPUT0, b, f, 0, 0);
    for(uint j = 0; j < POOL_SIZE_Y; j++)
    {
        int input_offset_y = offset_y + j;
        bool zero_y = input_offset_y >= INPUT0_SIZE_Y || input_offset_y < 0;
        if(!zero_y)
        {
            for(uint i = 0; i < POOL_SIZE_X; i++)
            {
                int input_offset_x = offset_x + i;
                bool zero = input_offset_x >= INPUT0_SIZE_X || input_offset_x < 0;
                if(!zero)
                {
                    const uint input_idx = batch_and_feature_offset + input_offset_y*IN_Y_PITCH + input_offset_x*IN_X_PITCH;

                    int4 int_data = as_int4(intel_sub_group_block_read4((const __global uint*)(input + input_idx)));
                    for(uint b = 0; b < 4; b++)
                    {
                        char4 input_data = as_char4(int_data[b]);
                        result[b][0] = FUNC_CALL(apply_pooling)(result[b][0], (int)input_data[0]);
                        result[b][1] = FUNC_CALL(apply_pooling)(result[b][1], (int)input_data[1]);
                        result[b][2] = FUNC_CALL(apply_pooling)(result[b][2], (int)input_data[2]);
                        result[b][3] = FUNC_CALL(apply_pooling)(result[b][3], (int)input_data[3]);

                    }

#ifdef DYNAMIC_KERNEL_DIVIDER
                    num_elementes++;
#endif
                }
            }
        }
    }
#ifdef DYNAMIC_WITH_PADDING_KERNEL_DIVIDER
    const int hend = min(offset_y + POOL_SIZE_Y, INPUT0_SIZE_Y + PADDING_SIZE_Y);
    const int wend = min(offset_x + POOL_SIZE_X, INPUT0_SIZE_X + PADDING_SIZE_X);
    const uint num_elementes = (hend - offset_y) * (wend - offset_x);
#endif
#else
    uint input_idx = GET_DATA_FS_BS_YX_BSV4_FSV32_INDEX(INPUT0, b, f, offset_y, offset_x);

    for(uint j = 0; j < POOL_SIZE_Y; j++)
    {
        for(uint i = 0; i < POOL_SIZE_X; i++)
        {
            int4 int_data = as_int4(intel_sub_group_block_read4((const __global uint*)(input + input_idx)));
            for(uint b = 0; b < 4; b++)
            {
                char4 input_data = as_char4(int_data[b]);
                result[b][0] = FUNC_CALL(apply_pooling)(result[b][0], (int)input_data[0]);
                result[b][1] = FUNC_CALL(apply_pooling)(result[b][1], (int)input_data[1]);
                result[b][2] = FUNC_CALL(apply_pooling)(result[b][2], (int)input_data[2]);
                result[b][3] = FUNC_CALL(apply_pooling)(result[b][3], (int)input_data[3]);
            }

            input_idx += IN_X_PITCH;
        }
        input_idx += (IN_Y_PITCH - POOL_SIZE_X*IN_X_PITCH);
    }

#if defined(DYNAMIC_KERNEL_DIVIDER) || defined(DYNAMIC_WITH_PADDING_KERNEL_DIVIDER)
    const uint num_elementes = POOL_SIZE_X*POOL_SIZE_Y;
#endif
#endif

#if defined AVG_POOLING
    #if defined(DYNAMIC_KERNEL_DIVIDER) || defined(DYNAMIC_WITH_PADDING_KERNEL_DIVIDER)
        for(uint b = 0; b < 4; b++)
        {
            for(uint i = 0; i < 4; i++)
            {
                result[b][i] = convert_int(round(((float)result[b][i] / max(num_elementes, (uint)1)));
            }
        }
    #else
        for(uint b = 0; b < 4; b++)
        {
            for(uint i = 0; i < 4; i++)
            {
                result[b][i] = convert_int(round((float)result[b][i] / (int)(POOL_SIZE_Y * POOL_SIZE_X)));
            }
        }
    #endif
#endif

    int4 char_result;
    for(uint b = 0; b < 4; b++)
    {
        char4 char_res = as_char4(char_result[b]);
        for(uint op = 0; op < 4; op++)
        {
            char_res[op] = ACTIVATION(convert_char(result[b][op]), NL_M ,NL_N);
        }
        char_result[b] = as_int(char_res);
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



#if MAX_POOLING
    #define INIT_VAL CHAR_MIN
#elif AVG_POOLING
    #define INIT_VAL 0
#else
#error
#endif


inline int FUNC(apply_pooling)(int tmp, int in)
{
#if MAX_POOLING
    return max(tmp, in);
#elif AVG_POOLING
    return tmp + in;
#endif
}

__attribute__((intel_reqd_sub_group_size(32)))
KERNEL(pooling_gpu_fs_bs_yx_bsv4_fsv32_simd32)(
    const __global UNIT_TYPE* input,
    __global UNIT_TYPE* output)
{
    const uint x    = (uint)get_group_id(0);
    const uint y    = (uint)get_group_id(1);
    const uint bf   = (uint)get_group_id(2) * BATCH_SG_COUNT + get_sub_group_id();
	// we process 4 features per workitem that's why we need to divide it
    const uint aligned32_features = ((INPUT0_FEATURE_NUM + 31) / 32) * 32;
    const uint f = ((bf * 32) % aligned32_features) + (get_sub_group_local_id() % 8) * 4;
    const uint b = 4 * ((bf * 32) / aligned32_features) + (get_sub_group_local_id() / 8);

    if (x >= OUTPUT_SIZE_X)
    {
        return;
    }

    const int offset_x = (int)x*STRIDE_SIZE_X - PADDING_SIZE_X;
    const int offset_y = (int)y*STRIDE_SIZE_Y - PADDING_SIZE_Y;

    int4 result = INIT_VAL;

    if (offset_x + POOL_SIZE_X < 0 || offset_x >= INPUT0_SIZE_X ||
        offset_y + POOL_SIZE_Y < 0 || offset_y >= INPUT0_SIZE_Y)
    {
        return;
    }

    const uint batch_and_feature_offset = GET_DATA_FS_BS_YX_BSV4_FSV32_INDEX(INPUT0, b, f, 0, 0);
    __attribute__((opencl_unroll_hint(POOL_SIZE_Y)))
    for(uint j = 0; j < POOL_SIZE_Y; j++)
    {
        int input_offset_y = offset_y + j;

        __attribute__((opencl_unroll_hint(POOL_SIZE_X)))
        for(uint i = 0; i < POOL_SIZE_X; i++)
        {
            int input_offset_x = offset_x + i;
            bool zero_y = input_offset_y >= INPUT0_SIZE_Y || input_offset_y < 0;
            bool zero_x = input_offset_x >= INPUT0_SIZE_X || input_offset_x < 0;
            bool zero =  (zero_x || zero_y);
            const uint input_idx =  zero ? 0 : batch_and_feature_offset + input_offset_y*IN_Y_PITCH + input_offset_x*IN_X_PITCH;

            const __global uint* input_uint = (const __global uint*)(input + input_idx);
            int int_data = as_int(input_uint[0]);

            char4 input_data = zero ? (char4)(INIT_VAL,INIT_VAL,INIT_VAL,INIT_VAL) : as_char4(int_data);
            result[0] = FUNC_CALL(apply_pooling)((int)result[0], (int)input_data[0]);
            result[1] = FUNC_CALL(apply_pooling)((int)result[1], (int)input_data[1]);
            result[2] = FUNC_CALL(apply_pooling)((int)result[2], (int)input_data[2]);
            result[3] = FUNC_CALL(apply_pooling)((int)result[3], (int)input_data[3]);
        }
    }

    char4 char_res;
    for(uint op = 0; op < 4; op++)
    {
        char_res[op] = ACTIVATION(convert_char(result[op]), NL_M ,NL_N);
    }

    const uint output_pos = GET_DATA_FS_BS_YX_BSV4_FSV32_INDEX(OUTPUT, b, f, y, x);

    __global uint* output_uint = (__global uint*)(output + output_pos);
    output_uint[0] = as_uint(char_res);
}

#undef INIT_VAL

            }
        }
    }
#ifdef DYNAMIC_WITH_PADDING_KERNEL_DIVIDER
    const int hend = min(offset_y + POOL_SIZE_Y, INPUT0_SIZE_Y + PADDING_SIZE_Y);
    const int wend = min(offset_x + POOL_SIZE_X, INPUT0_SIZE_X + PADDING_SIZE_X);
    const uint num_elements = (hend - offset_y) * (wend - offset_x);
#endif
#else // !CHECK_BOUNDRY
    for(uint in_dy = 0; in_dy < POOL_SIZE_Y; in_dy++)
    {
        const size_t input_offset_y = (offset_y + in_dy) * y_pitch;
        unroll_for(uint in_dx = 0; in_dx < POOL_SIZE_X; in_dx++)
        {
            const size_t input_offset_x = (offset_x + in_dx) * x_pitch;
            const size_t total_input_offset = padding_offset + fs_offset + b_offset + input_offset_y + input_offset_x;

            UNIT_TYPE2 tmp_input = UNIT_BLOCK_READ2(input,total_input_offset);

            results = FUNC_CALL(apply_pooling)(results, tmp_input);
        }
    }
    #if defined(DYNAMIC_KERNEL_DIVIDER) || defined(DYNAMIC_WITH_PADDING_KERNEL_DIVIDER)
    const uint num_elements = POOL_SIZE_X*POOL_SIZE_Y;
    #endif
#endif

#if defined AVG_POOLING
    #if defined(DYNAMIC_KERNEL_DIVIDER) || defined(DYNAMIC_WITH_PADDING_KERNEL_DIVIDER)
        results /= max(num_elements, (uint)1);
    #else
        results /= POOL_SIZE_Y * POOL_SIZE_X;
    #endif
#endif

    results = ACTIVATION(results, NL_M, NL_N);

    const size_t out_x_pitch = REQD_FEATURE_SLICE_SIZE;
    const size_t out_y_pitch = out_x_pitch * OUTPUT_SIZE_X_WITH_PADDING;
    const size_t out_b_pitch = out_y_pitch * OUTPUT_SIZE_Y_WITH_PADDING;
    const size_t out_fs_pitch = out_b_pitch * OUTPUT_BATCH_NUM;

    const size_t out_pad_before_fs = (OUTPUT_PAD_BEFORE_FEATURE_NUM / REQD_FEATURE_SLICE_SIZE);
    const size_t out_x_offset = (out_x + OUTPUT_PAD_BEFORE_SIZE_X) * out_x_pitch;
    const size_t out_y_offset = (out_y + OUTPUT_PAD_BEFORE_SIZE_Y) * out_y_pitch;
    const size_t out_b_offset = b * out_b_pitch;
    const size_t out_fs_offset = (fs + out_pad_before_fs) * out_fs_pitch;


    const size_t output_offset = out_fs_offset + out_b_offset + out_y_offset + out_x_offset;

    const bool full_f = OUTPUT_FEATURE_NUM % REQD_FEATURE_SLICE_SIZE == 0 ||
                        fs * REQD_FEATURE_SLICE_SIZE + REQD_FEATURE_SLICE_SIZE <= OUTPUT_FEATURE_NUM;

    if (full_f)
    {
        UNIT_BLOCK_WRITE2(output,output_offset,results);
    }
    else
    {
        unroll_for (uint ofi = 0; ofi < REQD_FEATURES_PER_WORK_ITEM; ++ofi)
        {
            if (fs * REQD_FEATURE_SLICE_SIZE + ofi * REQD_SUB_GROUP_SIZE + sglid < OUTPUT_FEATURE_NUM)
            {
                output[output_offset + ofi * REQD_SUB_GROUP_SIZE + sglid] = results[ofi];
            }
        }
    }
}

#undef FEATURE_SLICE_SIZE
#undef INIT_VAL

        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif


// Copyright (c) 2019 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


#ifndef UNIT_TYPE
#error Unit type not defined.
#endif

#if UNIT_TYPE_SIZE == 2
// 2 byte data type case (ex. half)
#define UNIT_BLOCK_RW_TYPE ushort
#define UNIT_BLOCK_READ_FUNC intel_sub_group_block_read_us
#define UNIT_BLOCK_WRITE_FUNC intel_sub_group_block_write_us
#elif UNIT_TYPE_SIZE == 4
// 4 byte data type case (ex. float)
#define UNIT_BLOCK_RW_TYPE uint
#define UNIT_BLOCK_READ_FUNC intel_sub_group_block_read
#define UNIT_BLOCK_WRITE_FUNC intel_sub_group_block_write
#else
#error Unsupported unit type for block read/write.
#endif

#define UNIT_TYPE2 MAKE_VECTOR_TYPE(UNIT_TYPE, 2)
#define UNIT_TYPE4 MAKE_VECTOR_TYPE(UNIT_TYPE, 4)
#define UNIT_TYPE8 MAKE_VECTOR_TYPE(UNIT_TYPE, 8)

#define UNIT_BLOCK_RW_TYPE2 MAKE_VECTOR_TYPE(UNIT_BLOCK_RW_TYPE, 2)
#define UNIT_BLOCK_RW_TYPE4 MAKE_VECTOR_TYPE(UNIT_BLOCK_RW_TYPE, 4)
#define UNIT_BLOCK_RW_TYPE8 MAKE_VECTOR_TYPE(UNIT_BLOCK_RW_TYPE, 8)

#define AS_TYPE(type, val) CAT(as_, type)(val)

#define UNIT_BLOCK_READ_FUNC2 CAT(UNIT_BLOCK_READ_FUNC, 2)
#define UNIT_BLOCK_READ_FUNC4 CAT(UNIT_BLOCK_READ_FUNC, 4)
#define UNIT_BLOCK_READ_FUNC8 CAT(UNIT_BLOCK_READ_FUNC, 8)

#define UNIT_BLOCK_WRITE_FUNC2 CAT(UNIT_BLOCK_WRITE_FUNC, 2)
#define UNIT_BLOCK_WRITE_FUNC4 CAT(UNIT_BLOCK_WRITE_FUNC, 4)
#define UNIT_BLOCK_WRITE_FUNC8 CAT(UNIT_BLOCK_WRITE_FUNC, 8)

#define UNIT_BLOCK_READ(ptr, offset)  AS_TYPE(UNIT_TYPE,  UNIT_BLOCK_READ_FUNC( (const __global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset)))
#define UNIT_BLOCK_READ2(ptr, offset) AS_TYPE(UNIT_TYPE2, UNIT_BLOCK_READ_FUNC2((const __global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset)))
#define UNIT_BLOCK_READ4(ptr, offset) AS_TYPE(UNIT_TYPE4, UNIT_BLOCK_READ_FUNC4((const __global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset)))
#define UNIT_BLOCK_READ8(ptr, offset) AS_TYPE(UNIT_TYPE8, UNIT_BLOCK_READ_FUNC8((const __global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset)))

#define UNIT_BLOCK_WRITE(ptr, offset, val)  UNIT_BLOCK_WRITE_FUNC( (__global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset), AS_TYPE(UNIT_BLOCK_RW_TYPE,  val))
#define UNIT_BLOCK_WRITE2(ptr, offset, val) UNIT_BLOCK_WRITE_FUNC2((__global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset), AS_TYPE(UNIT_BLOCK_RW_TYPE2, val))
#define UNIT_BLOCK_WRITE4(ptr, offset, val) UNIT_BLOCK_WRITE_FUNC4((__global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset), AS_TYPE(UNIT_BLOCK_RW_TYPE4, val))
#define UNIT_BLOCK_WRITE8(ptr, offset, val) UNIT_BLOCK_WRITE_FUNC8((__global UNIT_BLOCK_RW_TYPE*)(ptr) + (offset), AS_TYPE(UNIT_BLOCK_RW_TYPE8, val))


#if MAX_POOLING
    #define INIT_VAL UNIT_VAL_MIN
#elif AVG_POOLING
    #define INIT_VAL 0
#else
#error No correct pooling mode defined
#endif

#define INPUT0_SIZE_X_WITH_PADDING (INPUT0_PAD_BEFORE_SIZE_X + INPUT0_SIZE_X + INPUT0_PAD_AFTER_SIZE_X)
#define INPUT0_SIZE_Y_WITH_PADDING (INPUT0_PAD_BEFORE_SIZE_Y + INPUT0_SIZE_Y + INPUT0_PAD_AFTER_SIZE_Y)
#define OUTPUT_SIZE_X_WITH_PADDING (OUTPUT_PAD_BEFORE_SIZE_X + OUTPUT_SIZE_X + OUTPUT_PAD_AFTER_SIZE_X)
#define OUTPUT_SIZE_Y_WITH_PADDING (OUTPUT_PAD_BEFORE_SIZE_Y + OUTPUT_SIZE_Y + OUTPUT_PAD_AFTER_SIZE_Y)

// Kernel works only for sub_group size of 16 with 32 features slice size and process 2 features per WI
#define REQD_SUB_GROUP_SIZE 16
#define REQD_FEATURE_SLICE_SIZE 32
#define REQD_FEATURES_PER_WORK_ITEM 2

#define unroll_for __attribute__((opencl_unroll_hint)) for

inline UNIT_TYPE2 FUNC(apply_pooling)(UNIT_TYPE2 tmp, UNIT_TYPE2 in)
{
#if MAX_POOLING
    return max(tmp, in);
#elif AVG_POOLING
    return tmp + in;
#endif
}

__attribute__((intel_reqd_sub_group_size(REQD_SUB_GROUP_SIZE)))
KERNEL(pooling_gpu_fs_b_yx_fsv32)(
    const __global UNIT_TYPE* input,
    __global UNIT_TYPE* output)
{
    const uint out_x    = (uint)get_global_id(0);
    const uint out_y    = (uint)get_global_id(1);
    const uint bf       = (uint)get_global_id(2);
    const uint bfs      = bf / (REQD_FEATURE_SLICE_SIZE / REQD_FEATURES_PER_WORK_ITEM);
    const uint sglid    = get_sub_group_local_id();

    const uint b  = bfs % INPUT0_BATCH_NUM;
    const uint fs = bfs / INPUT0_BATCH_NUM;

    UNIT_TYPE2 results = (UNIT_TYPE2)(INIT_VAL,INIT_VAL);

    const uint x_pitch = REQD_FEATURE_SLICE_SIZE;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * INPUT0_SIZE_X_WITH_PADDING;           // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * INPUT0_SIZE_Y_WITH_PADDING;           // difference in location between (b+1) and (b)
    const uint fs_pitch = b_pitch * INPUT0_BATCH_NUM;                     // difference in location between (fs+1) and (fs)

    const int offset_x = (int)out_x*STRIDE_SIZE_X - PADDING_SIZE_X;
    const int offset_y = (int)out_y*STRIDE_SIZE_Y - PADDING_SIZE_Y;

    const size_t padding_offset = INPUT0_PAD_BEFORE_SIZE_X * x_pitch + INPUT0_PAD_BEFORE_SIZE_Y * y_pitch;
    const size_t fs_offset = fs * fs_pitch; // locate beginning of feature tile
    const size_t b_offset = b * b_pitch;   // locate beginning of batch
#ifdef CHECK_BOUNDRY
    if (offset_x + POOL_SIZE_X < 0 || offset_x >= INPUT0_SIZE_X ||
        offset_y + POOL_SIZE_Y < 0 || offset_y >= INPUT0_SIZE_Y)
    {
        return;
    }

#ifdef DYNAMIC_KERNEL_DIVIDER
    uint num_elements = 0;
#endif
    unroll_for(uint in_dy = 0; in_dy < POOL_SIZE_Y; in_dy++)
    {
        if(offset_y + in_dy < INPUT0_SIZE_Y && offset_y + (int)in_dy >= 0)
        {
            const size_t input_offset_y = (offset_y + in_dy) * y_pitch;
            unroll_for(uint in_dx = 0; in_dx < POOL_SIZE_X; in_dx++)
            {
                if(offset_x + in_dx < INPUT0_SIZE_X && offset_x + (int)in_dx >= 0)
                {
                    const size_t input_offset_x = (offset_x + in_dx) * x_pitch;
                    const size_t total_input_offset = padding_offset + fs_offset + b_offset + input_offset_y + input_offset_x;

                    UNIT_TYPE2 tmp_input = UNIT_BLOCK_READ2(input,total_input_offset);

                    results = FUNC_CALL(apply_pooling)(results, tmp_input);
                    #ifdef DYNAMIC_KERNEL_DIVIDER
                        num_elements++;
                    #endif
                }
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



#if MAX_POOLING
    #define INIT_VAL CHAR_MIN
#elif AVG_POOLING
    #define INIT_VAL 0
#else
#error
#endif

inline int FUNC(apply_pooling)(int tmp, int in)
{
#if MAX_POOLING
    return max(tmp, in);
#elif AVG_POOLING
    return tmp + in;
#endif
}

KERNEL(pooling_gpu_int8_ref)(
    const __global INPUT0_TYPE* input,
    __global OUTPUT_TYPE* output)
{
#if OUTPUT_LAYOUT_BFYX  || OUTPUT_LAYOUT_BYXF
    const uint x    = (uint)get_global_id(0);
    const uint y    = (uint)get_global_id(1);
    const uint bf   = (uint)get_global_id(2);
    const uint f    = bf % INPUT0_FEATURE_NUM;
    const uint b    = bf / INPUT0_FEATURE_NUM;

    if (x >= OUTPUT_SIZE_X)
    {
        return;
    }
#elif OUTPUT_LAYOUT_YXFB
    const uint x    = (uint)get_global_id(1);
    const uint y    = (uint)get_global_id(2);
    const uint bf   = (uint)get_global_id(0);
    const uint f    = bf / INPUT0_BATCH_NUM;
    const uint b    = bf % INPUT0_BATCH_NUM;
#endif

    const int offset_x = (int)x*STRIDE_SIZE_X - PADDING_SIZE_X;
    const int offset_y = (int)y*STRIDE_SIZE_Y - PADDING_SIZE_Y;

    int result = INIT_VAL;

#ifdef CHECK_BOUNDRY
    if (offset_x + POOL_SIZE_X < 0 || offset_x >= INPUT0_SIZE_X ||
        offset_y + POOL_SIZE_Y < 0 || offset_y >= INPUT0_SIZE_Y)
    {
        return;
    }

#ifdef DYNAMIC_KERNEL_DIVIDER
    uint num_elementes = 0;
#endif

    const uint batch_and_feature_offset = GET_DATA_INDEX(INPUT0, b, f, 0, 0);
    for(uint j = 0; j < POOL_SIZE_Y; j++)
    {
        int input_offset_y = offset_y + j;
        bool zero_y = input_offset_y >= INPUT0_SIZE_Y || input_offset_y < 0;
        if(!zero_y)
        {
            for(uint i = 0; i < POOL_SIZE_X; i++)
            {
                int input_offset_x = offset_x + i;
                bool zero = input_offset_x >= INPUT0_SIZE_X || input_offset_x < 0;
                if(!zero)
                {
                    const uint input_idx = batch_and_feature_offset + input_offset_y*INPUT0_Y_PITCH + input_offset_x*INPUT0_X_PITCH;

                    result = FUNC_CALL(apply_pooling)(result, (int)input[input_idx]);

#ifdef DYNAMIC_KERNEL_DIVIDER
                    num_elementes++;
#endif
                }
            }
        }
    }
#ifdef DYNAMIC_WITH_PADDING_KERNEL_DIVIDER
    const int hend = min(offset_y + POOL_SIZE_Y, INPUT0_SIZE_Y + PADDING_SIZE_Y);
    const int wend = min(offset_x + POOL_SIZE_X, INPUT0_SIZE_X + PADDING_SIZE_X);
    const uint num_elementes = (hend - offset_y) * (wend - offset_x);
#endif
#else
    uint input_idx = GET_DATA_INDEX(INPUT0, b, f, offset_y, offset_x);

    for(uint j = 0; j < POOL_SIZE_Y; j++)
    {
        for(uint i = 0; i < POOL_SIZE_X; i++)
        {
            result = FUNC_CALL(apply_pooling)(result, (int)input[input_idx]);
            input_idx += INPUT0_X_PITCH;
        }
        input_idx += (INPUT0_Y_PITCH - POOL_SIZE_X*INPUT0_X_PITCH);
    }

#if defined(DYNAMIC_KERNEL_DIVIDER) || defined(DYNAMIC_WITH_PADDING_KERNEL_DIVIDER)
    const uint num_elementes = POOL_SIZE_X*POOL_SIZE_Y;
#endif
#endif

#if defined AVG_POOLING
    #if defined(DYNAMIC_KERNEL_DIVIDER) || defined(DYNAMIC_WITH_PADDING_KERNEL_DIVIDER)
        result = convert_int(round(((float)result / max(num_elementes, (uint)1)));
    #else
        result = convert_int(round((float)result / (int)(POOL_SIZE_Y * POOL_SIZE_X)));
    #endif
#endif

    const uint output_pos = GET_DATA_INDEX(OUTPUT, b, f, y, x);
    output[output_pos] = ACTIVATION(TO_OUTPUT_TYPE(result), NL_M ,NL_N);
}

#undef INIT_VAL

            if(input[input_idx] > result)
                arg_max_idx = input_idx_bfyx_no_padding;
#endif

            result = FUNC_CALL(apply_pooling)(result, input[input_idx]);
            input_idx += INPUT0_X_PITCH;
#if MAX_WITH_ARGMAX_POOLING
            input_idx_bfyx_no_padding++;
#endif
        }
        input_idx += (INPUT0_Y_PITCH - POOL_SIZE_X*INPUT0_X_PITCH);
#if MAX_WITH_ARGMAX_POOLING
        input_idx_bfyx_no_padding += (INPUT0_SIZE_X - POOL_SIZE_X);
#endif
    }

#if defined(DYNAMIC_KERNEL_DIVIDER) || defined(DYNAMIC_WITH_PADDING_KERNEL_DIVIDER)
    const uint num_elementes = POOL_SIZE_X*POOL_SIZE_Y*POOL_SIZE_Z;
#endif
#endif

#if defined AVG_POOLING
    #if defined(DYNAMIC_KERNEL_DIVIDER) || defined(DYNAMIC_WITH_PADDING_KERNEL_DIVIDER)
        result /= (UNIT_TYPE)max(num_elementes, (uint)1);
    #else
        result /= (UNIT_TYPE)(POOL_SIZE_Z * POOL_SIZE_Y * POOL_SIZE_X);
    #endif
#endif

    const uint output_pos = GET_3D_DATA_INDEX(OUTPUT, b, f, z, y, x);
    output[output_pos] = ACTIVATION(result, NL_M ,NL_N);

#if MAX_WITH_ARGMAX_POOLING
    //INPUT1 macro stands for Argmax
    const uint arg_max_pos = GET_3D_DATA_INDEX(INPUT1, b, f, z, y, x);
    arg_max[arg_max_pos] = convert_float(arg_max_idx);
#endif

}

#undef UNIT_INIT_VAL

        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



#if MAX_POOLING || MAX_WITH_ARGMAX_POOLING
    #define UNIT_INIT_VAL UNIT_VAL_MIN
#elif AVG_POOLING
    #define UNIT_INIT_VAL UNIT_VAL_ZERO
#else
#error
#endif


inline UNIT_TYPE FUNC(apply_pooling)(UNIT_TYPE tmp, UNIT_TYPE in)
{
#if MAX_POOLING || MAX_WITH_ARGMAX_POOLING
    return max(tmp, in);
#elif AVG_POOLING
    return tmp + in;
#endif
}

KERNEL(pooling_gpu)(const __global UNIT_TYPE* input, __global UNIT_TYPE* output
#if MAX_WITH_ARGMAX_POOLING
, __global float* arg_max
#endif
)
{
#if OUTPUT_LAYOUT_BFYX  || OUTPUT_LAYOUT_BYXF || OUTPUT_LAYOUT_BFZYX
    const uint x    = (uint)get_global_id(0);
#if  INPUT0_SIZE_Z == 1
    const uint y    = (uint)get_global_id(1);
    const uint z = 0;
#else
    const uint y = get_global_id(1) % OUTPUT_SIZE_Y;
    const uint z = get_global_id(1) / OUTPUT_SIZE_Y;
#endif
    const uint bf   = (uint)get_global_id(2);
    const uint f    = bf % INPUT0_FEATURE_NUM;
    const uint b    = bf / INPUT0_FEATURE_NUM;

    if (x >= OUTPUT_SIZE_X)
    {
        return;
    }
#elif OUTPUT_LAYOUT_YXFB
    const uint x    = (uint)get_global_id(1);
    const uint y    = (uint)get_global_id(2);
    const uint z    = 0;
    const uint bf   = (uint)get_global_id(0);
    const uint f    = bf / INPUT0_BATCH_NUM;
    const uint b    = bf % INPUT0_BATCH_NUM;
#endif

    const int offset_x = (int)x*STRIDE_SIZE_X - PADDING_SIZE_X;
    const int offset_y = (int)y*STRIDE_SIZE_Y - PADDING_SIZE_Y;
    const int offset_z = (int)z*STRIDE_SIZE_Z - PADDING_SIZE_Z;

    UNIT_TYPE result = UNIT_INIT_VAL;

#if MAX_WITH_ARGMAX_POOLING
    uint arg_max_idx = 0;
#endif

#ifdef CHECK_BOUNDRY
    if (offset_x + POOL_SIZE_X < 0 || offset_x >= INPUT0_SIZE_X ||
        offset_y + POOL_SIZE_Y < 0 || offset_y >= INPUT0_SIZE_Y ||
        offset_z + POOL_SIZE_Z < 0 || offset_z >= INPUT0_SIZE_Z)
    {
        return;
    }

#ifdef DYNAMIC_KERNEL_DIVIDER
    uint num_elementes = 0;
#endif

    const uint batch_and_feature_offset = GET_DATA_INDEX(INPUT0, b, f, 0, 0);
#if  INPUT0_SIZE_Z != 1  // 3D
    for(uint k = 0; k < POOL_SIZE_Z; k++)
    {
        int input_offset_z = offset_z + k;
        bool zero_z = input_offset_z >= INPUT0_SIZE_Z || input_offset_z < 0;
        if(!zero_z)
        {
#endif
    for(uint j = 0; j < POOL_SIZE_Y; j++)
    {
        int input_offset_y = offset_y + j;
        bool zero_y = input_offset_y >= INPUT0_SIZE_Y || input_offset_y < 0;
        if(!zero_y)
        {
            for(uint i = 0; i < POOL_SIZE_X; i++)
            {
                int input_offset_x = offset_x + i;
                bool zero = input_offset_x >= INPUT0_SIZE_X || input_offset_x < 0;
                if(!zero)
                {
#if  INPUT0_SIZE_Z == 1
                    const uint input_idx = batch_and_feature_offset + input_offset_y*INPUT0_Y_PITCH + input_offset_x*INPUT0_X_PITCH;
#else
                    const uint input_idx = batch_and_feature_offset + input_offset_z*INPUT0_Z_PITCH + input_offset_y*INPUT0_Y_PITCH + input_offset_x*INPUT0_X_PITCH;
#endif

#if MAX_WITH_ARGMAX_POOLING
                    if(input[input_idx] > result)
                    {
#if  INPUT0_SIZE_Z == 1
                        const uint input_idx_bfyx_no_padding = input_offset_x + INPUT0_SIZE_X * (input_offset_y + INPUT0_SIZE_Y * (f + INPUT0_FEATURE_NUM * b));
#else
                        const uint input_idx_bfyx_no_padding = input_offset_x + INPUT0_SIZE_X * (input_offset_y + INPUT0_SIZE_Y *
                                                               (input_offset_z + INPUT0_SIZE_Z * (f + INPUT0_FEATURE_NUM * b));
#endif
                        arg_max_idx = input_idx_bfyx_no_padding;
                    }
#endif
                    result = FUNC_CALL(apply_pooling)(result, input[input_idx]);

#ifdef DYNAMIC_KERNEL_DIVIDER
                    num_elementes++;
#endif
                }
            }
        }
    }
#if  INPUT0_SIZE_Z != 1 // 3D
        }
    }
#endif
#ifdef DYNAMIC_WITH_PADDING_KERNEL_DIVIDER
    const int hend = min(offset_y + POOL_SIZE_Y, INPUT0_SIZE_Y + PADDING_SIZE_Y);
    const int wend = min(offset_x + POOL_SIZE_X, INPUT0_SIZE_X + PADDING_SIZE_X);
    const uint num_elementes = (hend - offset_y) * (wend - offset_x);
#endif
#else
    uint input_idx = GET_DATA_INDEX(INPUT0, b, f, offset_y, offset_x);

#if MAX_WITH_ARGMAX_POOLING
#if  INPUT0_SIZE_Z == 1
    uint input_idx_bfyx_no_padding = offset_x + INPUT0_SIZE_X * (offset_y + INPUT0_SIZE_Y * (f + INPUT0_FEATURE_NUM * b));
#else
    uint input_idx_bfyx_no_padding = offset_x + INPUT0_SIZE_X * (offset_y + INPUT0_SIZE_Y * (offset_z + INPUT0_SIZE_Z *(f + INPUT0_FEATURE_NUM * b)));
#endif
#endif

    for(uint j = 0; j < POOL_SIZE_Y; j++)
    {
        for(uint i = 0; i < POOL_SIZE_X; i++)
        {

#if MAX_WITH_ARGMAX_POOLING
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



#define META_OFFSET_X                   4
#define META_OFFSET_Y                   5

#define SIZE_TAB_PARAMETERS             4

struct Parameters
{
    int h_source, w_source, f_Size, x_Size, y_Size, offset;
};

__constant struct Parameters parameters [SIZE_TAB_PARAMETERS] =
        {
            { INPUT2_SIZE_Y, INPUT2_SIZE_X, INPUT2_FEATURE_PITCH, INPUT2_X_PITCH, INPUT2_Y_PITCH, INPUT2_OFFSET },
            { INPUT3_SIZE_Y, INPUT3_SIZE_X, INPUT3_FEATURE_PITCH, INPUT3_X_PITCH, INPUT3_Y_PITCH, INPUT3_OFFSET },
            { INPUT4_SIZE_Y, INPUT4_SIZE_X, INPUT4_FEATURE_PITCH, INPUT4_X_PITCH, INPUT4_Y_PITCH, INPUT4_OFFSET },
            { INPUT5_SIZE_Y, INPUT5_SIZE_X, INPUT5_FEATURE_PITCH, INPUT5_X_PITCH, INPUT5_Y_PITCH, INPUT5_OFFSET }
        };


KERNEL(pyramidROIAlign_gpu_ref)(
    const __global INPUT0_TYPE *boxes,
    const __global INPUT1_TYPE *image_meta,
    const __global INPUT2_TYPE *P2,
    const __global INPUT3_TYPE *P3,
    const __global INPUT4_TYPE *P4,
    const __global INPUT5_TYPE *P5,
    const __global INPUT6_TYPE *dim,
    __global OUTPUT_TYPE *output)
{
    // [CONSTEXPR]:
    const uint kerNum = (uint) get_global_id(0);

    const __global float *feature_map_Ptr[SIZE_TAB_PARAMETERS];
    int f_Size;

    INPUT1_TYPE img_dim_X = image_meta[GET_DATA_INDEX(INPUT1, 0, 0, 0, META_OFFSET_X)];
    INPUT1_TYPE img_dim_Y = image_meta[GET_DATA_INDEX(INPUT1, 0, 0, 0, META_OFFSET_Y)];

    INPUT1_TYPE image_area = img_dim_X * img_dim_Y;
    INPUT1_TYPE scale = sqrt(image_area) / 224.0;

    INPUT0_TYPE hU = boxes[GET_DATA_INDEX(INPUT0, 0, 0, kerNum, 2)];
    INPUT0_TYPE hL = boxes[GET_DATA_INDEX(INPUT0, 0, 0, kerNum, 0)];
    INPUT0_TYPE h = hU - hL;
    INPUT0_TYPE wU = boxes[GET_DATA_INDEX(INPUT0, 0, 0, kerNum, 3)];
    INPUT0_TYPE wL = boxes[GET_DATA_INDEX(INPUT0, 0, 0, kerNum, 1)];
    INPUT0_TYPE w = wU - wL;

    int roi_level = (int)round(log2(sqrt(h*w) * scale));

    // 0 <= roi_level <= 3
    roi_level = min(3, max(0, 2 + roi_level));

    feature_map_Ptr[0] = P2;
    feature_map_Ptr[1] = P3;
    feature_map_Ptr[2] = P4;
    feature_map_Ptr[3] = P5;

    f_Size = parameters[roi_level].f_Size;

    //calculate cooficients for transformation
    INPUT0_TYPE y1 = hL * (parameters[roi_level].h_source - 1);
    INPUT0_TYPE x1 = wL * (parameters[roi_level].w_source - 1);
    INPUT0_TYPE y2 = hU * (parameters[roi_level].h_source - 1);
    INPUT0_TYPE x2 = wU * (parameters[roi_level].w_source - 1);
    INPUT0_TYPE deltaX = (x2 - x1) / (OUTPUT_SIZE_X - 1);
    INPUT0_TYPE deltaY = (y2 - y1) / (OUTPUT_SIZE_Y - 1);
    INPUT0_TYPE y = y1;

   //transformation
    for (int i = 0; i < OUTPUT_SIZE_Y; ++i) //loop by 'y' coordinate
    {
        int ya = (int)floor(y);
        int yb = (int)ceil(y);

        if (ya < 0) ya = 0;
        if (yb >= parameters[roi_level].h_source) yb = parameters[roi_level].h_source - 1;
        if (yb - ya == 0)
        {
            if (yb + 2 < parameters[roi_level].h_source) ++yb;
            else --ya;
        }

        INPUT0_TYPE x = x1;

        for (int j = 0; j < OUTPUT_SIZE_X; ++j) //loop by 'x' coordinate
        {
            int xa = (int)floor(x);
            int xb = (int)ceil(x);
            if (xa < 0) xa = 0;
            if (xb >= parameters[roi_level].w_source) xb = parameters[roi_level].w_source - 1;
            if (xb - xa == 0)
            {
                if (xb + 2 < parameters[roi_level].w_source) ++xb;
                else --xa;
            }

    /* BILINEAR TRANSFORMATION
         (xa,yb,f3)*---------------------------------*(xb,yb,f2)
                   |                                 |
                   |          *(x,y)                 |
                   |                                 |
         (xa,ya,f0)*---------------------------------*(xb,ya,f1)
   */
            //cooficients for bilinear transformation
            INPUT0_TYPE a = yb - y;
            INPUT0_TYPE b = y - ya;
            INPUT0_TYPE c = xb - x;
            INPUT0_TYPE d = x - xa;

            /*#define GET_DATA_INDEX(prefix, b, f, y, x)  \
                CAT(prefix, _OFFSET) +                  \
                (x)*CAT(prefix, _X_PITCH) +             \
                (y)*CAT(prefix, _Y_PITCH) +             \
                (f)*CAT(prefix, _FEATURE_PITCH) +       \
                (b)*CAT(prefix, _BATCH_PITCH)

            For P2, P3, P4, P5 batch size is always 0 */

            size_t f0Ind = parameters[roi_level].offset + parameters[roi_level].y_Size * ya + parameters[roi_level].x_Size * xa;
            size_t f1Ind = parameters[roi_level].offset + parameters[roi_level].y_Size * ya + parameters[roi_level].x_Size * xb;
            size_t f2Ind = parameters[roi_level].offset + parameters[roi_level].y_Size * yb + parameters[roi_level].x_Size * xb;
            size_t f3Ind = parameters[roi_level].offset + parameters[roi_level].y_Size * yb + parameters[roi_level].x_Size * xa;
            size_t ind_out = OUTPUT_OFFSET + i * OUTPUT_Y_PITCH + j * OUTPUT_X_PITCH + kerNum * OUTPUT_BATCH_PITCH;

            for (int k = 0; k < OUTPUT_FEATURE_NUM; ++k) //transformation for every feature
            {
                INPUT0_TYPE f0 = feature_map_Ptr[roi_level][k * f_Size + f0Ind];
                INPUT0_TYPE f1 = feature_map_Ptr[roi_level][k * f_Size + f1Ind];
                INPUT0_TYPE f2 = feature_map_Ptr[roi_level][k * f_Size + f2Ind];
                INPUT0_TYPE f3 = feature_map_Ptr[roi_level][k * f_Size + f3Ind];

                INPUT0_TYPE f03 = f3 * b + f0 * a;
                INPUT0_TYPE f12 = f2 * b + f1 * a;
                INPUT0_TYPE f = f03 * c + f12 * d;

                output[k * OUTPUT_FEATURE_PITCH + ind_out] = f;
            }
            x += deltaX;
        }
        y += deltaY;
    }
}

// Copyright (c) 2017 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)


#define IW INPUT0_SIZES[0]
#define IH INPUT0_SIZES[1]
#define IC INPUT0_SIZES[2]
#define IB INPUT0_SIZES[3]

inline UNIT_TYPE FUNC(logistic_activate)(UNIT_TYPE x) {
    return 1. / (1. + exp(-x));
}

inline int FUNC(entry_index)(int width, int height, int coords, int classes,
                       int outputs, int batch, int location,
                       int entry) {
    int n = location / (width * height);
    int loc = location % (width * height);
    return batch * outputs + n * width * height * (coords + classes + 1) +
        entry * width * height + loc;
}

#if DO_SOFTMAX
inline void FUNC(softmax_generic)(const __global UNIT_TYPE* src_data, __global UNIT_TYPE* dst_data,
                            int B, int C, int W, int H, int i)
{
    for (int b = 0; b < B; b++) {
        UNIT_TYPE max = src_data[b*C*H*W + i];
        for (int c = 0; c < C; c++) {
            UNIT_TYPE val = src_data[b*C*H*W + c*H*W + i];
            if (val > max) max = val;
        }

        UNIT_TYPE expSum = 0;
        for (int c = 0; c < C; c++) {
            dst_data[b*C*H*W + c*H*W + i] = exp(src_data[b*C*H*W + c*H*W + i] - max);
            expSum += dst_data[b*C*H*W + c*H*W + i];
        }

        for (int c = 0; c < C; c++) {
            dst_data[b*C*H*W + c*H*W + i] = dst_data[b*C*H*W + c*H*W + i] / expSum;
        }
    }
}
#endif

KERNEL (region_yolo_ref)(const __global UNIT_TYPE* input, __global UNIT_TYPE* output)
{
    int x = get_global_id(0);

#if DO_SOFTMAX
    #define ACTUAL_NUM (NUM)
    #define CONF_CLASSES (1)
#else
    #define ACTUAL_NUM (MASK_SIZE)
    #define CONF_CLASSES (CLASSES+1)
#endif
    #define INPUTS_COUNT (IH * IW * ACTUAL_NUM * (CLASSES + COORDS + 1))

    for (int b = 0; b < IB; b++) {
        for (int n = 0; n < ACTUAL_NUM; n++) {
            // coords: x/y
            int index = FUNC_CALL(entry_index)(IW, IH, COORDS, CLASSES, INPUTS_COUNT, b, n * IW * IH, 0);
            int i = index + 2 * x;
            output[i] = FUNC_CALL(logistic_activate)(input[i]);
            output[i+1] = FUNC_CALL(logistic_activate)(input[i+1]);

            // coords: w/h: directly copy?
            index = FUNC_CALL(entry_index)(IW, IH, COORDS, CLASSES, INPUTS_COUNT, b, n * IW * IH, 2);
            i = index + 2 * x;
            output[i] = input[i];
            output[i+1] = input[i+1];

            // confidence
            index = FUNC_CALL(entry_index)(IW, IH, COORDS, CLASSES, INPUTS_COUNT, b, n * IW * IH, COORDS);
            for (int j = 0; j < CONF_CLASSES; j++)
            {
                i = index + x + j*IH*IW;
                output[i] = FUNC_CALL(logistic_activate)(input[i]);
            }
        }
    }

#if DO_SOFTMAX
    // the probability of classes
    int index = FUNC_CALL(entry_index)(IW, IH, COORDS, CLASSES, INPUTS_COUNT, 0, 0, COORDS + 1);
    int batch_offset = INPUTS_COUNT / NUM;
    for (int b = 0; b < IB * NUM; b++)
        FUNC_CALL(softmax_generic)(input + index + b * batch_offset, output + index + b * batch_offset,
                                   1, CLASSES, IH, IW, x);
#endif
}

#endif

#if defined MEAN_SUBTRACT_INSIDE_PARAMS
    float res = TO_MEAN_TYPE(input[input_idx]);
    res = MEAN_OP(res, VALUE_TO_SUBTRACT[f % VALUE_TO_SUBTRACT_SIZE]);
#elif defined MEAN_SUBTRACT_IN_BUFFER
#if defined MEAN_PER_FEATURE
    MEAN_SUBTRACT_TYPE res = TO_MEAN_TYPE(input[input_idx]);
    res = MEAN_OP(res, mean_subtract[f]);
#else
    MEAN_SUBTRACT_TYPE res = TO_MEAN_TYPE(input[input_idx]);
    uint4 msv = FUNC_CALL(reshape_dims)(b,f,y,x, INPUT0_SIZE_Y, INPUT0_SIZE_X, MEAN_SUBTRACT_SIZE_Y, MEAN_SUBTRACT_SIZE_X, INPUT0_DIMS, MEAN_SUBTRACT_DIMS);
    res = MEAN_OP(res, mean_subtract[GET_DATA_INDEX_SAFE(MEAN_SUBTRACT, msv[0], msv[1], msv[2], msv[3])]);
#endif
#else
    CALC_TYPE res = TO_CALC_TYPE(input[input_idx]);
#endif

    output[output_idx] = ACTIVATION(TO_OUTPUT_REORDER_TYPE(res), NL_M ,NL_N);
}

    uint id      = i - id_tile * tile;

    uint idx = out_depth_tile * (o_size / tile) * otd * tile
               + id_tile               * i_size * otd * tile
               + y                     * x_size * otd * tile
               + x                              * otd * tile
               + od                                   * tile
               + id;

    return idx;
}

#define GET_DATA_FS_B_YX_FSV32_INDEX(prefix, b, f, y, x)\
    FUNC_CALL(get_fs_b_yx_fsv32_index)(                 \
        b, f, y, x,                                     \
        CAT(prefix, _PAD_BEFORE_SIZE_X),                \
        CAT(prefix, _SIZE_X),                           \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif


/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)


///////////////////////// Input Index /////////////////////////
inline uint FUNC(get_input_index)(uint b, uint f, uint y, uint x)
{
#if   INPUT0_SIMPLE
    return GET_DATA_INDEX(INPUT0, b, f, y, x);
#elif defined INPUT0_LAYOUT_BS_F_BSV8__AF8  || \
      defined INPUT0_LAYOUT_BS_F_BSV16__AF8
    return GET_DATA_BS_FYX_BSV8_INDEX(INPUT0, b, f, y, x, SUB_GROUP_SIZE);
#elif defined INPUT0_LAYOUT_BF8_XY16
    return GET_DATA_BF8_XY16_INDEX(INPUT0, b, f, y, x);
#elif defined INPUT0_LAYOUT_BFYX_F16
    return GET_DATA_BFYX_F16_INDEX(INPUT0, b, f, y, x);
#elif defined INPUT0_LAYOUT_BYXF_AF32
	return GET_DATA_BYXF_AF32_INDEX(INPUT0, b, f, y, x);
#elif defined INPUT0_LAYOUT_BYX8_F4
	return GET_DATA_BYX8_F4_INDEX(INPUT0, b, f, y, x);
#elif defined INPUT0_LAYOUT_FS_BS_YX_BSV4_FSV32
    return GET_DATA_FS_BS_YX_BSV4_FSV32_INDEX(INPUT0, b, f, y, x);
#elif defined INPUT0_LAYOUT_B_FS_YX_FSV4
    return GET_DATA_B_FS_YX_FSV4_INDEX(INPUT0, b, f, y, x);
#elif defined INPUT0_LAYOUT_FS_B_YX_FSV32
    return GET_DATA_FS_B_YX_FSV32_INDEX(INPUT0, b, f, y, x);
#else
#error reorder_data.cl: input format - not supported
#endif
}

inline uint FUNC(get_input3d_index)(uint b, uint f, uint z, uint y, uint x)
{
    return GET_3D_DATA_INDEX(INPUT0, b, f, z, y, x);
}

///////////////////////// Output Index /////////////////////////

inline uint FUNC(get_output_index)(uint b, uint f, uint y, uint x)
{
#if   OUTPUT_SIMPLE
    return GET_DATA_INDEX(OUTPUT, b, f, y, x);
#elif defined OUTPUT_LAYOUT_BS_F_BSV8__AF8  || \
      defined OUTPUT_LAYOUT_BS_F_BSV16__AF8
    return GET_DATA_BS_FYX_BSV8_INDEX(OUTPUT, b, f, y, x, SUB_GROUP_SIZE);
#elif defined OUTPUT_LAYOUT_BF8_XY16
    return GET_DATA_BF8_XY16_INDEX(OUTPUT, b, f, y, x);
#elif defined OUTPUT_LAYOUT_BFYX_F16
    return GET_DATA_BFYX_F16_INDEX(OUTPUT, b, f, y, x);
#elif defined OUTPUT_LAYOUT_BYXF_AF32
	return GET_DATA_BYXF_AF32_INDEX(OUTPUT, b, f, y, x);
#elif defined OUTPUT_LAYOUT_BYX8_F4
	return GET_DATA_BYX8_F4_INDEX(OUTPUT, b, f, y, x);
#elif defined OUTPUT_LAYOUT_FS_BS_YX_BSV4_FSV32
    return GET_DATA_FS_BS_YX_BSV4_FSV32_INDEX(OUTPUT, b, f, y, x);
#elif defined OUTPUT_LAYOUT_B_FS_YX_FSV4
    return GET_DATA_B_FS_YX_FSV4_INDEX(OUTPUT, b, f, y, x);
#elif defined OUTPUT_LAYOUT_FS_B_YX_FSV32
    return GET_DATA_FS_B_YX_FSV32_INDEX(OUTPUT, b, f, y, x);
#else
#error reorder_data.cl: output format - not supported
#endif
}

inline uint FUNC(get_output3d_index)(uint b, uint f, uint z, uint y, uint x)
{
    return GET_3D_DATA_INDEX(OUTPUT, b, f, z, y, x);
}

KERNEL (reorder_data)(
    const __global INPUT_REORDER_TYPE* input,
    __global OUTPUT_REORDER_TYPE* output
#ifdef MEAN_SUBTRACT_IN_BUFFER
    , __global MEAN_SUBTRACT_TYPE* mean_subtract
#endif
    )
{
    const uint b = get_global_id(GWS_BATCH);
    const uint f = get_global_id(GWS_FEATURE);
#if   INPUT0_DIMS == 2
    const uint y = 0;
    const uint x = 0;
#elif INPUT0_DIMS == 4
    const uint y = ((uint)(get_global_id(GWS_YX))) / INPUT0_SIZE_X;
    const uint x = ((uint)(get_global_id(GWS_YX))) % INPUT0_SIZE_X;
#elif INPUT0_DIMS == 5
    uint data_idx = get_global_id(GWS_YX);
    uint tmp_data_idx = data_idx / INPUT0_SIZE_X;
    const uint x = data_idx - tmp_data_idx * INPUT0_SIZE_X;
    data_idx = tmp_data_idx;

    tmp_data_idx  = data_idx / INPUT0_SIZE_Y;
    const uint y = data_idx - tmp_data_idx * INPUT0_SIZE_Y;
    data_idx = tmp_data_idx;

    tmp_data_idx  = data_idx / INPUT0_SIZE_Z;
    const uint z = data_idx - tmp_data_idx * INPUT0_SIZE_Z;
#endif

#if   INPUT0_DIMS == 5
    uint8 ov = FUNC_CALL(reshape_dims3d)(b,f,z,y,x, INPUT0_SIZE_Z, INPUT0_SIZE_Y, INPUT0_SIZE_X, OUTPUT_SIZE_Z, OUTPUT_SIZE_Y, OUTPUT_SIZE_X, INPUT0_DIMS, OUTPUT_DIMS);
    const uint input_idx  = FUNC_CALL(get_input3d_index)(b, f, z, y, x);
    const uint output_idx = FUNC_CALL(get_output3d_index)(ov[0],ov[1],ov[2],ov[3],ov[4]);
#else
    uint4 ov = FUNC_CALL(reshape_dims)(b,f,y,x, INPUT0_SIZE_Y, INPUT0_SIZE_X, OUTPUT_SIZE_Y, OUTPUT_SIZE_X, INPUT0_DIMS, OUTPUT_DIMS);
    const uint input_idx  = FUNC_CALL(get_input_index)(b, f, y, x);
    const uint output_idx = FUNC_CALL(get_output_index)(ov[0],ov[1],ov[2],ov[3]);
        slice_pitch = 2*element_in_slice;
        offset_in_slice = 0;
    }

    const uint in_line = (slice_pitch*slice_id + offset_in_slice + id_in_slice);
    const size_t idx = offset + aligned_height*aligned_ofm_line + in_line;

    return idx;
}

#define GET_FILTER_IY_XS_OS_XSV2_OSV_INDEX(prefix, o, i, y, x, sub_group_size)  \
    FUNC_CALL(get_iy_xs_os_xsv2_osv_index)(                                     \
        o, i, y, x, CAT(prefix, _SIZE_X ),                                      \
        CAT(prefix, _IFM_PITCH),                                                \
        CAT(prefix, _Y_PITCH),                                                  \
        CAT(prefix, _X_PITCH),                                                  \
        CAT(prefix, _OFFSET),                                                   \
        sub_group_size)

inline uint FUNC(get_os_is_yx_isa8_osv8_isv4_index)(uint o, uint i, uint y, uint x, uint size_x, uint size_y, uint size_ifm, uint size_ofm, uint offset)
{
    const uint f_32_aligned = ((size_ifm + 31)/32) * 32;
	const uint isv2_idx = i % 4;
	const uint osv_idx = o % 8;
	const uint isv1_idx = (i / 4) % 8;
	const uint is_idx = i / 32;
	const uint os_idx = o / 8;

	size_t idx = offset + isv2_idx + 4 * (osv_idx + 8 * isv1_idx);
	idx += x * 4 * 8 * 8;
	idx += y * size_x * 4 * 8 * 8;
	idx += is_idx * size_y * size_x * 4 * 8 * 8;
	idx += os_idx * (f_32_aligned/32) * size_y * size_x * 4 * 8 * 8;

    return idx;
}

#define GET_FILTER_OS_IS_YX_ISA8_OSV8_ISV4(prefix, o, i, y, x) \
	FUNC_CALL(get_os_is_yx_isa8_osv8_isv4_index)(                               \
        o, i, y, x, CAT(prefix, _SIZE_X ),                                      \
        CAT(prefix, _SIZE_Y),                                                \
        CAT(prefix, _IFM_NUM),                                                  \
        CAT(prefix, _OFM_NUM),                                                  \
        CAT(prefix, _OFFSET))

inline uint FUNC(get_os_is_yx_isa8_osv8_isv4_swizzled_by_4_index)(uint o, uint i, uint y, uint x, uint size_x, uint size_y, uint size_ifm, uint size_ofm, uint offset)
{
    const uint o_swizzled = (o % 4) * 8 + ((o % 32) / 4) + (o / 32) * 32;

    const uint f_32_aligned = ((size_ifm + 31)/32) * 32;
	const uint isv2_idx = i % 4;
	const uint osv_idx = o_swizzled % 8;
	const uint isv1_idx = (i / 4) % 8;
	const uint is_idx = i / 32;
	const uint os_idx = o_swizzled / 8;

	size_t idx = offset + isv2_idx + 4 * (osv_idx + 8 * isv1_idx);
	idx += x * 4 * 8 * 8;
	idx += y * size_x * 4 * 8 * 8;
	idx += is_idx * size_y * size_x * 4 * 8 * 8;
	idx += os_idx * (f_32_aligned/32) * size_y * size_x * 4 * 8 * 8;

    return idx;
}

#define GET_FILTER_OS_IS_YX_ISA8_OSV8_ISV4_SWIZZLED_BY_4_INDEX(prefix, o, i, y, x) \
	FUNC_CALL(get_os_is_yx_isa8_osv8_isv4_swizzled_by_4_index)(                    \
        o, i, y, x, CAT(prefix, _SIZE_X ),                                      \
        CAT(prefix, _SIZE_Y),                                                \
        CAT(prefix, _IFM_NUM),                                                  \
        CAT(prefix, _OFM_NUM),                                                  \
        CAT(prefix, _OFFSET))


inline uint FUNC(get_is_o_yx_isv32_index)(uint o, uint i, uint y, uint x, uint i_size, uint o_size, uint x_size, uint y_size)
{
    const uint i_aligned_to_32 = ((i_size + 31) / 32) * 32;
    const uint i_val = i % 32;
    const uint i_slice = i / 32;
    const size_t idx = i_val + 32* (x + x_size * (y + y_size * (o + o_size * i_slice) ) );
    return idx;
}

#define GET_FILTER_IS_O_YX_ISV32(prefix, o, i, y, x)\
    FUNC_CALL(get_is_o_yx_isv32_index)(\
        o, i, y, x, CAT(prefix, _IFM_NUM),\
        CAT(prefix, _OFM_NUM),\
        CAT(prefix, _SIZE_X),\
        CAT(prefix, _SIZE_Y))

inline uint FUNC(get_is_o32_yx_isv32_swizzled_by_4_index)(uint o, uint i, uint y, uint x, uint i_size, uint o_size, uint x_size, uint y_size)
{
    const uint o_aligned_to_32 = ((o_size + 31) / 32) * 32;
    const uint o_swizzled = (o % 4) * 8 + ((o % 32) / 4) + (o / 32) * 32;
    const uint i_aligned_to_32 = ((i_size + 31) / 32) * 32;
    const uint i_val = i % 32;
    const uint i_slice = i / 32;
    const size_t idx = i_val + 32* (x + x_size * (y + y_size * (o_swizzled + o_aligned_to_32 * i_slice) ) );
    return idx;
}

#define GET_FILTER_IS_O32_YX_ISV32_SWIZZLED_BY_4(prefix, o, i, y, x)\
    FUNC_CALL(get_is_o32_yx_isv32_swizzled_by_4_index)(\
        o, i, y, x, CAT(prefix, _IFM_NUM),\
        CAT(prefix, _OFM_NUM),\
        CAT(prefix, _SIZE_X),\
        CAT(prefix, _SIZE_Y))

inline uint FUNC(get_os_is_y_x8_osv8_isv4_index)(uint o, uint i, uint y, uint x, uint i_size, uint o_size, uint x_size, uint y_size)
{
    const uint i_aligned_to_4 = ((i_size + 3) / 4) * 4;
    const uint o_aligned_to_8 = ((o_size + 7) / 8) * 8;
    const uint x_aligned_to_8 = ((x_size + 7) / 8) * 8;
    const uint i_val = i % 4;
    const uint i_slice = i / 4;
    const uint o_val = o % 8;
    const uint o_slice = o / 8;
    const size_t idx = i_val + 4 * (o_val + 8 * ( x + x_aligned_to_8 * (y + y_size * (i_slice + (i_aligned_to_4/4) * (o_slice)))));
    return idx;
}

#define GET_FILTER_OS_IS_Y_X8_OSV8_ISV4(prefix, o, i, y, x)\
    FUNC_CALL(get_os_is_y_x8_osv8_isv4_index)(\
        o, i, y, x, CAT(prefix, _IFM_NUM),\
        CAT(prefix, _OFM_NUM),\
        CAT(prefix, _SIZE_X),\
        CAT(prefix, _SIZE_Y))

inline uint FUNC(get_os_is_y_x8_osv8_isv4_swizzled_by_4_index)(uint o, uint i, uint y, uint x, uint i_size, uint o_size, uint x_size, uint y_size)
{
    const uint i_aligned_to_4 = ((i_size + 3) / 4) * 4;
    const uint o_aligned_to_8 = ((o_size + 7) / 8) * 8;
    const uint x_aligned_to_8 = ((x_size + 7) / 8) * 8;
    const uint i_val = i % 4;
    const uint i_slice = i / 4;
    const uint o_swizzled = (o % 4) * 8 + ((o % 32) / 4) + (o / 32) * 32;
    const uint o_val = o_swizzled % 8;
    const uint o_slice = o_swizzled / 8;
    const size_t idx = i_val + 4 * (o_val + 8 * ( x + x_aligned_to_8 * (y + y_size * (i_slice + (i_aligned_to_4/4) * (o_slice)))));
    return idx;
}

#define GET_FILTER_OS_IS_Y_X8_OSV8_ISV4_SWIZZLED_BY_4(prefix, o, i, y, x)\
    FUNC_CALL(get_os_is_y_x8_osv8_isv4_swizzled_by_4_index)(\
        o, i, y, x, CAT(prefix, _IFM_NUM),\
        CAT(prefix, _OFM_NUM),\
        CAT(prefix, _SIZE_X),\
        CAT(prefix, _SIZE_Y))


#define GET_DATA_B_FS_YX_FSV4_INDEX(prefix, o, i, y, x)\
    FUNC_CALL(get_b_fs_yx_fsv4)(\
        o, i, y, x,\
        CAT(prefix, _FEATURE_NUM),\
        CAT(prefix, _PAD_BEFORE_SIZE_Y), CAT(prefix, _SIZE_Y), CAT(prefix, _PAD_AFTER_SIZE_Y),\
        CAT(prefix, _PAD_BEFORE_SIZE_X), CAT(prefix, _SIZE_X), CAT(prefix, _PAD_AFTER_SIZE_X))

inline uint FUNC(get_b_fs_yx_fsv4)(uint o, uint i, uint y, uint x,
                                   uint feature_num,
                                   uint pad_before_size_y, uint size_y, uint pad_after_size_y,
                                   uint pad_before_size_x, uint size_x, uint pad_after_size_x)
{
    const uint tile = 4;
    uint id_tile = i / tile;
    uint id      = i - id_tile * tile;

    const uint feature_num_aligned4 = ((feature_num + 3) / 4) * 4;

    uint idx = o * (feature_num_aligned4 / tile) *
                   (pad_before_size_y + size_y + pad_after_size_y) *
                   (pad_before_size_x + size_x + pad_after_size_x) * tile
               + id_tile * (pad_before_size_y + size_y + pad_after_size_y) *
                           (pad_before_size_x + size_x + pad_after_size_x) * tile
               + pad_before_size_y * (pad_before_size_x + size_x + pad_after_size_x) * tile
               + y * (pad_before_size_x + size_x + pad_after_size_x) * tile
               + pad_before_size_x * tile
               + x * tile
               + id;

    return idx;
}

#define GET_FILTER_OS_IS_YX_OSV16_ISV4_INDEX(prefix, o, i, y, x)\
    FUNC_CALL(get_os_is_yx_osv16_isv4)(\
        o, i, y, x,\
        CAT(prefix, _IFM_PITCH),\
        CAT(prefix, _OFM_PITCH),\
        CAT(prefix, _SIZE_X))

inline uint FUNC(get_os_is_yx_osv16_isv4)(uint o, uint i, uint y, uint x,
                                          uint i_size,
                                          uint o_size,
                                          uint x_size)
{
    const uint otd = 16;
    uint out_depth_tile = o / otd;
    uint od             = o - out_depth_tile * otd;

    const uint tile = 4;
    uint id_tile = i / tile;

    const size_t idx = x_offset + y_offset + fs_offset + b_offset + (f % feature_slice_size);

    return idx;
}

#define GET_DATA_BFYX_F16_INDEX(prefix, b, f, y, x)     \
    FUNC_CALL(get_bfyx_f16_index)(                      \
        b, f, y, x,                                     \
        CAT(prefix, _SIZE_X ),                          \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _FEATURE_NUM),                      \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_X),                \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _PAD_AFTER_FEATURE_NUM))

#define GET_FILTER_O_I_YX_I16_O16_INDEX(prefix, o, i, y, x, sub_group_size)  \
    CAT(prefix, _OFFSET) +                                                   \
    ((o) % (sub_group_size)) +                                               \
    (sub_group_size)*(                                                       \
        (x)*(sub_group_size)*CAT(prefix, _X_PITCH) +                         \
        (y)*(sub_group_size)*CAT(prefix, _Y_PITCH) +                         \
        ((i) % (sub_group_size)) +                                           \
        ((i) / (sub_group_size))*(sub_group_size)*CAT(prefix, _IFM_PITCH) +  \
        ((o) / (sub_group_size))*CAT(prefix, _OFM_PITCH)                     \
    )

inline uint FUNC(get_byxf_af32_index)(uint b, uint f, uint y, uint x, uint y_pitch, uint b_pitch, uint f_size, uint offset)
{
	const uint f_aligned_to_32 = ((f_size + 31) / 32) * 32;
	const uint b_offset = b * b_pitch;
	const uint xy_offset = f_aligned_to_32 * x + y_pitch * y;
	const uint f_offset = f;
	const size_t idx = offset + xy_offset + b_offset + f_offset;
	return idx;
}

#define GET_DATA_BYXF_AF32_INDEX(prefix, b, f, y, x)\
	FUNC_CALL(get_byxf_af32_index)(                 \
		b, f, y, x, CAT(prefix, _Y_PITCH),          \
		CAT(prefix, _BATCH_PITCH),                      \
		CAT(prefix, _FEATURE_NUM),                 \
		CAT(prefix, _OFFSET))

inline uint FUNC(get_byx8_f4_index)(uint b, uint f, uint y, uint x,
    uint x_pitch, uint y_pitch, uint b_pitch, uint f_size, uint x_size, uint offset)
{
    const uint f_aligned_to_4 = ((f_size + 3) / 4) * 4;
    const uint x_aligned_to_8 = ((x_size + 7) / 8) * 8;
    const uint b_offset = b * b_pitch;
    const uint xy_offset = x * x_pitch + y * y_pitch;
    const uint f_offset = f;
    const size_t idx = offset + xy_offset + b_offset + f_offset;
    return idx;
}

#define GET_DATA_BYX8_F4_INDEX(prefix, b, f, y, x)\
	FUNC_CALL(get_byx8_f4_index)(                 \
		b, f, y, x, CAT(prefix, _X_PITCH),          \
		CAT(prefix, _Y_PITCH),                      \
		CAT(prefix, _BATCH_PITCH),                      \
		CAT(prefix, _FEATURE_NUM),                 \
		CAT(prefix, _SIZE_X),                 \
		CAT(prefix, _OFFSET))

#define GET_DATA_BF8_XY16_INDEX(prefix, b, f, y, x)     \
    FUNC_CALL(get_bf8_xy16_index)(                      \
        b, f, y, x, CAT(prefix, _SIZE_X ),              \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _FEATURE_NUM),                      \
        CAT(prefix, _OFFSET))

inline uint FUNC(get_fs_bs_yx_bsv4_fsv32_index)(uint b, uint f, uint y, uint x,
    uint x_pad_before, uint x_size, uint x_pad_after,
    uint y_pad_before, uint y_size, uint y_pad_after,
    uint size_f, uint size_b)
{
    const uint f_32_aligned = ((size_f + 31)/32) * 32;
    const uint b_4_aligned = ((size_b + 3)/4) * 4;
    const uint fsv_idx = f % 32;
    const uint bsv_idx = b % 4;
    const uint fs_idx = f / 32;
    const uint bs_idx = b / 4;

    const uint x_pitch = 32 * 4;
    const uint y_pitch = 32 * 4 * (x_pad_before + x_size + x_pad_after);
    const uint bs_pitch = y_pitch * (y_pad_before + y_size + y_pad_after);
    const uint fs_pitch = bs_pitch * (b_4_aligned / 4);
    uint offset = x_pitch * x_pad_before + y_pitch * y_pad_before;

    size_t idx = offset + fsv_idx + bsv_idx * 32;
    idx += 32*4 * x;
    idx += y * y_pitch;
    idx += bs_idx * bs_pitch;
    idx += fs_idx * fs_pitch;

    return idx;
}

#define GET_DATA_FS_BS_YX_BSV4_FSV32_INDEX(prefix, b, f, y, x)\
	FUNC_CALL(get_fs_bs_yx_bsv4_fsv32_index)(       \
		b, f, y, x,                                 \
        CAT(prefix, _PAD_BEFORE_SIZE_X),            \
        CAT(prefix, _SIZE_X),                       \
        CAT(prefix, _PAD_AFTER_SIZE_X),             \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),            \
        CAT(prefix, _SIZE_Y),                       \
        CAT(prefix, _PAD_AFTER_SIZE_Y),             \
		CAT(prefix, _FEATURE_NUM),                  \
        CAT(prefix, _BATCH_NUM))

#define GET_FILTER_INDEX(prefix, o, i, y, x)    \
    CAT(prefix, _OFFSET) +                      \
    (x)*CAT(prefix, _X_PITCH) +                 \
    (y)*CAT(prefix, _Y_PITCH) +                 \
    (i)*CAT(prefix, _IFM_PITCH) +               \
    (o)*CAT(prefix, _OFM_PITCH)

#define GET_FILTER_INDEX_SAFE(prefix, o, i, y, x)           \
    CAT(prefix, _OFFSET) +                                  \
    (x % CAT(prefix, _SIZE_X ))*CAT(prefix, _X_PITCH) +     \
    (y % CAT(prefix, _SIZE_Y ))*CAT(prefix, _Y_PITCH) +     \
    (i % CAT(prefix, _IFM_NUM))*CAT(prefix, _IFM_PITCH) +   \
    (o % CAT(prefix, _OFM_NUM))*CAT(prefix, _OFM_PITCH)

#define GET_FILTER_OS_IYX_OSV8_INDEX(prefix, o, i, y, x, sub_group_size)    \
    CAT(prefix, _OFFSET) +                                                  \
    ((o) % (sub_group_size)) +                                              \
    (sub_group_size)*(                                                      \
        (x)*CAT(prefix, _X_PITCH) +                                         \
        (y)*CAT(prefix, _Y_PITCH) +                                         \
        (i)*CAT(prefix, _IFM_PITCH) +                                       \
        ((o) / (sub_group_size))*CAT(prefix, _OFM_PITCH)                    \
    )

#define GET_FILTER_OS_IYX_OSV8_ROTATE_180_INDEX(prefix, o, i, y, x, sub_group_size)    \
    CAT(prefix, _OFFSET) +                                                  \
    ((o) % (sub_group_size)) +                                              \
    (sub_group_size)*(                                                      \
        (CAT(prefix, _SIZE_X ) - x - 1)*CAT(prefix, _X_PITCH) +             \
        (CAT(prefix, _SIZE_Y ) - y - 1)*CAT(prefix, _Y_PITCH) +             \
        (i)*CAT(prefix, _IFM_PITCH) +                                       \
        ((o) / (sub_group_size))*CAT(prefix, _OFM_PITCH)                    \
    )

inline uint FUNC(get_i_yxs_os_yxsv2_osv_index)(uint o, uint i, uint y, uint x, uint x_size, uint i_pitch, uint y_pitch, uint x_pitch, uint offset, uint sub_group_size)
{
    const uint aligned_ofm_line = x_pitch;
    const uint ifm_height_pitch = (i_pitch/aligned_ofm_line);
    const uint dst_height = i*ifm_height_pitch + y*x_size + x;
    const uint base_filter_index = y*x_size + x;

    const uint aligned_height = dst_height & 0xfffffffe;
    const uint base_filter_odd = (base_filter_index & 0x1);

    uint slice_id = o / sub_group_size;
    uint id_in_slice = o % sub_group_size;
    uint slice_pitch = 2*sub_group_size;
    uint offset_in_slice = (int)(sub_group_size*base_filter_odd);

    const uint in_line = (slice_pitch*slice_id + offset_in_slice + id_in_slice);
    const size_t idx = offset + aligned_height*aligned_ofm_line + in_line;

    return idx;
}

#define GET_FILTER_I_YXS_OS_YXSV2_OSV_INDEX(prefix, o, i, y, x, sub_group_size) \
    FUNC_CALL(get_i_yxs_os_yxsv2_osv_index)(                                    \
        o, i, y, x, CAT(prefix, _SIZE_X ),                                      \
        CAT(prefix, _IFM_PITCH),                                                \
        CAT(prefix, _Y_PITCH),                                                  \
        CAT(prefix, _X_PITCH),                                                  \
        CAT(prefix, _OFFSET),                                                   \
        sub_group_size)

inline uint FUNC(get_iy_xs_os_xsv2_osv_index)(uint o, uint i, uint y, uint x, uint x_size, uint i_pitch, uint y_pitch, uint x_pitch, uint offset, uint sub_group_size)
{
    const uint aligned_ofm_line = x_pitch;
    const uint ifm_height_pitch = (i_pitch/aligned_ofm_line);
    const uint aligned_x_line = y_pitch / x_pitch;
    const uint dst_height = i*ifm_height_pitch + y*aligned_x_line + x;
    const uint base_filter_index = x;

    const uint aligned_height = dst_height & 0xfffffffe;
    const uint base_filter_odd = (base_filter_index & 0x1);

    uint slice_id = o / sub_group_size;
    uint id_in_slice = o % sub_group_size;
    uint slice_pitch = 2*sub_group_size;
    uint offset_in_slice = (int)(sub_group_size*base_filter_odd);

    const bool last_line_in_base_filter = (x == (x_size - 1));
    if (last_line_in_base_filter && base_filter_odd == 0)
    {
        const uint element_in_slice = 32;
        slice_id = o / element_in_slice;
        id_in_slice = o % element_in_slice;
// Copyright (c) 2016-2017 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

inline uint4 FUNC(reshape_2_to_4)(uint o, uint i, uint y, uint x, uint dst_size_y, uint dst_size_x)
{
    uint _i  = i / (dst_size_y*dst_size_x);
    uint _yx = i % (dst_size_y*dst_size_x);
    uint _y = _yx / dst_size_x;
    uint _x = _yx % dst_size_x;
    return (uint4)(o,_i,_y,_x);
}

inline uint4 FUNC(reshape_4_to_2)(uint o, uint i, uint y, uint x, uint src_size_y, uint src_size_x)
{
    uint _i = i*src_size_y*src_size_x + y*src_size_x + x;
    return (uint4)(o,_i,0,0);
}

inline uint4 FUNC(reshape_dims)(uint o, uint i, uint y, uint x, uint src_size_y, uint src_size_x, uint dst_size_y, uint dst_size_x, uint src_dims, uint dst_dims)
{
    if (src_dims == 4 && dst_dims == 2)
    {
        return FUNC_CALL(reshape_4_to_2)(o,i,y,x,src_size_y,src_size_x);
    }
    else if (src_dims == 2 && dst_dims == 4)
    {
        return FUNC_CALL(reshape_2_to_4)(o,i,y,x,dst_size_y,dst_size_x);
    }

    return (uint4)(o,i,y,x);
}

inline uint8 FUNC(reshape_dims3d)(uint o, uint i, uint z, uint y, uint x, uint src_size_z, uint src_size_y, uint src_size_x, uint dst_size_z, uint dst_size_y, uint dst_size_x, uint src_dims, uint dst_dims)
{
    if (src_dims == 4 && dst_dims == 5)
    {
        return (uint8)(o,i,1,y,x,0,0,0);
    }
    else if (src_dims == 5 && dst_dims == 4)
    {
        uint _y = z*src_size_y + y;
        return (uint8)(o,i,0,_y,x,0,0,0);
    }
    return (uint8)(o,i,z,y,x,0,0,0);
}

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))


#define GET_DATA_INDEX(prefix, b, f, y, x)  \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_INDEX_SAFE(prefix, b, f, y, x)                     \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

 #define GET_3D_DATA_INDEX(prefix, b, f, z, y, x) \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (z)*CAT(prefix, _Z_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_3D_DATA_INDEX_SAFE(prefix, b, f, z, y, x)               \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (z % CAT(prefix, _SIZE_Z     ))*CAT(prefix, _Z_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_BS_FYX_BSV8_INDEX(prefix, b, f, y, x, sub_group_size)  \
    CAT(prefix, _OFFSET) +                                              \
    ((b) % (sub_group_size)) +                                          \
    (sub_group_size)*(                                                  \
        (x)*CAT(prefix, _X_PITCH) +                                     \
        (y)*CAT(prefix, _Y_PITCH) +                                     \
        (f)*CAT(prefix, _FEATURE_PITCH) +                               \
        ((b) / (sub_group_size))*CAT(prefix, _BATCH_PITCH)              \
    )

inline uint FUNC(get_bf8_xy16_index)(uint b, uint f, uint y, uint x, uint x_size, uint y_size, uint f_size, uint offset)
{
    const uint xy_idx = x + y * x_size;
    const uint xy_offset = (xy_idx % 16) + (xy_idx / 16) * 16 * 8;
    const uint xy_block_num = (x_size * y_size + 16 - 1) / 16;
    const uint f_offset = (f % 8) * 16 + (f / 8) * xy_block_num * 16 * 8;
    const uint f_block_num = (f_size + 8 - 1) / 8;
    const uint b_offset = b * f_block_num * xy_block_num * 128;

    const size_t idx = offset + xy_offset + f_offset + b_offset;

    return idx;
}

inline uint FUNC(get_bfyx_f16_index)(
    uint b, uint f, uint y, uint x,
    uint x_size, uint y_size, uint f_size,
    uint y_pad_before,uint y_pad_after,
    uint x_pad_before, uint x_pad_after,
    uint f_pad_before, uint f_pad_after)
{
    const uint feature_slice_size = 16;

    const uint full_width = x_size + x_pad_before + x_pad_after;
    const uint full_height = y_size + y_pad_before + y_pad_after;
    const uint full_features = f_pad_before + f_size + f_pad_after;
    const uint feature_tiles_number = (full_features + feature_slice_size - 1) / feature_slice_size;

    const uint x_pitch = feature_slice_size;
    const uint y_pitch = x_pitch * full_width;
    const uint fs_pitch = y_pitch * full_height;
    const uint b_pitch = fs_pitch * feature_tiles_number;

    const uint x_offset = (x + x_pad_before) * x_pitch;
    const uint y_offset = (y + y_pad_before) * y_pitch;
    const uint fs_offset = (f / feature_slice_size + f_pad_before / feature_slice_size) * fs_pitch;
    const uint b_offset = b * b_pitch;
    out_vals.s1 = ACTIVATION(TO_OUTPUT_REORDER_TYPE(res.s1), NL_M ,NL_N);
    out_vals.s2 = ACTIVATION(TO_OUTPUT_REORDER_TYPE(res.s2), NL_M ,NL_N);
    out_vals.s3 = 0;

    __global uint* dst = (__global uint*)output;
    dst[output_idx/4] = as_uint(out_vals);
}

    uint id      = i - id_tile * tile;

    uint idx = out_depth_tile * (o_size / tile) * otd * tile
               + id_tile               * i_size * otd * tile
               + y                     * x_size * otd * tile
               + x                              * otd * tile
               + od                                   * tile
               + id;

    return idx;
}

#define GET_DATA_FS_B_YX_FSV32_INDEX(prefix, b, f, y, x)\
    FUNC_CALL(get_fs_b_yx_fsv32_index)(                 \
        b, f, y, x,                                     \
        CAT(prefix, _PAD_BEFORE_SIZE_X),                \
        CAT(prefix, _SIZE_X),                           \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif


/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)


///////////////////////// Input Index /////////////////////////
inline uint FUNC(get_input_index)(uint b, uint f, uint y, uint x)
{
#if   INPUT0_SIMPLE
    return GET_DATA_INDEX(INPUT0, b, f, y, x);
#elif defined INPUT0_LAYOUT_BS_F_BSV8__AF8  || \
      defined INPUT0_LAYOUT_BS_F_BSV16__AF8
    return GET_DATA_BS_FYX_BSV8_INDEX(INPUT0, b, f, y, x, SUB_GROUP_SIZE);
#elif defined INPUT0_LAYOUT_BF8_XY16
    return GET_DATA_BF8_XY16_INDEX(INPUT0, b, f, y, x);
#elif defined INPUT0_LAYOUT_BYXF_AF32
	return GET_DATA_BYXF_AF32_INDEX(INPUT0, b, f, y, x);
#elif defined INPUT0_LAYOUT_BYX8_F4
	return GET_DATA_BYX8_F4_INDEX(INPUT0, b, f, y, x);
#elif defined INPUT0_LAYOUT_FS_BS_YX_BSV4_FSV32
    return GET_DATA_FS_BS_YX_BSV4_FSV32_INDEX(INPUT0, b, f, y, x);
#elif defined INPUT0_LAYOUT_B_FS_YX_FSV4
    return GET_DATA_B_FS_YX_FSV4_INDEX(INPUT0, b, f, y, x);
#else
#error reorder_data.cl: input format - not supported
#endif
}

///////////////////////// Output Index /////////////////////////

inline uint FUNC(get_output_index)(uint b, uint f, uint y, uint x)
{
#if   OUTPUT_SIMPLE
    return GET_DATA_INDEX(OUTPUT, b, f, y, x);
#elif defined OUTPUT_LAYOUT_BS_F_BSV8__AF8  || \
      defined OUTPUT_LAYOUT_BS_F_BSV16__AF8
    return GET_DATA_BS_FYX_BSV8_INDEX(OUTPUT, b, f, y, x, SUB_GROUP_SIZE);
#elif defined OUTPUT_LAYOUT_BF8_XY16
    return GET_DATA_BF8_XY16_INDEX(OUTPUT, b, f, y, x);
#elif defined OUTPUT_LAYOUT_BYXF_AF32
	return GET_DATA_BYXF_AF32_INDEX(OUTPUT, b, f, y, x);
#elif defined OUTPUT_LAYOUT_BYX8_F4
	return GET_DATA_BYX8_F4_INDEX(OUTPUT, b, f, y, x);
#elif defined OUTPUT_LAYOUT_FS_BS_YX_BSV4_FSV32
    return GET_DATA_FS_BS_YX_BSV4_FSV32_INDEX(OUTPUT, b, f, y, x);
#elif defined OUTPUT_LAYOUT_B_FS_YX_FSV4
    return GET_DATA_B_FS_YX_FSV4_INDEX(OUTPUT, b, f, y, x);
#else
#error reorder_data.cl: output format - not supported
#endif
}

__attribute__((intel_reqd_sub_group_size(16)))
KERNEL (reorder_data_byxf_f32_to_byx8_f4_i8)(
    const __global INPUT_REORDER_TYPE* input,
    __global OUTPUT_REORDER_TYPE* output
#ifdef MEAN_SUBTRACT_IN_BUFFER
    , __global MEAN_SUBTRACT_TYPE* mean_subtract
#endif
    )
{
    const uint x = get_global_id(0);
    const uint y = get_group_id(1);
    const uint b = get_group_id(2) * WG_BATCH_SIZE + get_sub_group_id();

    const uint input_idx  = FUNC_CALL(get_input_index)(b, 0, y, x);
    const uint output_idx = FUNC_CALL(get_output_index)(b, 0, y, x);

#if defined MEAN_SUBTRACT_INSIDE_PARAMS
    float4 res;
    res.s0 = TO_MEAN_TYPE(input[input_idx]);
    res.s0 = MEAN_OP(res.s0, VALUE_TO_SUBTRACT[0 % VALUE_TO_SUBTRACT_SIZE]);
    res.s1 = TO_MEAN_TYPE(input[input_idx+1]);
    res.s1 = MEAN_OP(res.s1, VALUE_TO_SUBTRACT[1 % VALUE_TO_SUBTRACT_SIZE]);
    res.s2 = TO_MEAN_TYPE(input[input_idx+2]);
    res.s2 = MEAN_OP(res.s2, VALUE_TO_SUBTRACT[2 % VALUE_TO_SUBTRACT_SIZE]);
    res.s3 = 0;
#elif defined MEAN_SUBTRACT_IN_BUFFER
#if defined MEAN_PER_FEATURE
    MAKE_VECTOR_TYPE(MEAN_SUBTRACT_TYPE, 4) res;
    res.s0 = TO_MEAN_TYPE(input[input_idx]);
    res.s0 = MEAN_OP(res.s0, mean_subtract[0]);
    res.s1 = TO_MEAN_TYPE(input[input_idx+1]);
    res.s1 = MEAN_OP(res.s1, mean_subtract[1]);
    res.s2 = TO_MEAN_TYPE(input[input_idx+2]);
    res.s2 = MEAN_OP(res.s2, mean_subtract[2]);
    res.s3 = 0
#else
    MAKE_VECTOR_TYPE(MEAN_SUBTRACT_TYPE, 4) res;
    res.s0 = TO_MEAN_TYPE(input[input_idx]);
    res.s1 = TO_MEAN_TYPE(input[input_idx+1]);
    res.s2 = TO_MEAN_TYPE(input[input_idx+2]);
    res.s3 = 0;

    res.s0 = MEAN_OP(res.s0, mean_subtract[0]);
    res.s1 = MEAN_OP(res.s1, mean_subtract[1]);
    res.s2 = MEAN_OP(res.s2, mean_subtract[2]);
#endif
#else
    MAKE_VECTOR_TYPE(CALC_TYPE, 4) res;
    res.s0 = TO_CALC_TYPE(input[input_idx]);
    res.s1 = TO_CALC_TYPE(input[input_idx+1]);
    res.s2 = TO_CALC_TYPE(input[input_idx+2]);
    res.s3 = 0;
#endif

    char4 out_vals;
    out_vals.s0 = ACTIVATION(TO_OUTPUT_REORDER_TYPE(res.s0), NL_M ,NL_N);
    // Otherwise we could compute X and Y in reverse order
    tmp_data_idx = data_idx / INPUT0_SIZE_X;
    const uint x = data_idx - tmp_data_idx * INPUT0_SIZE_X;
    data_idx = tmp_data_idx;

    tmp_data_idx  = data_idx / INPUT0_SIZE_Y;
    const uint y = data_idx - tmp_data_idx * INPUT0_SIZE_Y;
#elif defined OUTPUT_LAYOUT_BFYX_16F
    uint tmp_data_idx = data_idx / INPUT0_BATCH_NUM;
    const uint b = data_idx - tmp_data_idx * INPUT0_BATCH_NUM;
    data_idx = tmp_data_idx;

    tmp_data_idx = data_idx / INPUT0_FEATURE_NUM;
    const uint f = data_idx - tmp_data_idx * INPUT0_FEATURE_NUM;
    data_idx = tmp_data_idx;

    // We're first iterating over Y then over X for performance reason
    // Otherwise we could compute X and Y in reverse order
    tmp_data_idx = data_idx / INPUT0_SIZE_X;
    const uint x = data_idx - tmp_data_idx * INPUT0_SIZE_X;
    data_idx = tmp_data_idx;

    tmp_data_idx  = data_idx / INPUT0_SIZE_Y;
    const uint y = data_idx - tmp_data_idx * INPUT0_SIZE_Y;
#elif defined OUTPUT_LAYOUT_BFZYX
    uint tmp_data_idx = data_idx / INPUT0_BATCH_NUM;
    const uint b = data_idx - tmp_data_idx * INPUT0_BATCH_NUM;
    data_idx = tmp_data_idx;

    tmp_data_idx = data_idx / INPUT0_FEATURE_NUM;
    const uint f = data_idx - tmp_data_idx * INPUT0_FEATURE_NUM;
    data_idx = tmp_data_idx;

    tmp_data_idx = data_idx / INPUT0_SIZE_X;
    const uint x = data_idx - tmp_data_idx * INPUT0_SIZE_X;
    data_idx = tmp_data_idx;

    tmp_data_idx  = data_idx / INPUT0_SIZE_Y;
    const uint y = data_idx - tmp_data_idx * INPUT0_SIZE_Y;

    data_idx = tmp_data_idx;

    tmp_data_idx  = data_idx / INPUT0_SIZE_Z;
    const uint z = data_idx - tmp_data_idx * INPUT0_SIZE_Z;
#else // BYXF?
    uint tmp_data_idx = data_idx / INPUT0_BATCH_NUM;
    const uint b = data_idx - tmp_data_idx * INPUT0_BATCH_NUM;
    data_idx = tmp_data_idx;

    tmp_data_idx = data_idx / INPUT0_SIZE_Y;
    const uint y = data_idx - tmp_data_idx * INPUT0_SIZE_Y;
    data_idx = tmp_data_idx;

    tmp_data_idx = data_idx / INPUT0_SIZE_X;
    const uint x = data_idx - tmp_data_idx * INPUT0_SIZE_X;
    data_idx = tmp_data_idx;

    tmp_data_idx  = data_idx / INPUT0_FEATURE_NUM;
    const uint f = data_idx - tmp_data_idx * INPUT0_FEATURE_NUM;
#endif
#endif

#if CHANGE_DATA_TYPE_ONLY
    const uint input_idx  = data_idx;
    const uint output_idx = data_idx;
#else
#if defined OUTPUT_LAYOUT_BFZYX
    uint8 ov = FUNC_CALL(reshape_dims3d)(b,f,z,y,x, INPUT0_SIZE_Z, INPUT0_SIZE_Y, INPUT0_SIZE_X, OUTPUT_SIZE_Z, OUTPUT_SIZE_Y, OUTPUT_SIZE_X, INPUT0_DIMS, OUTPUT_DIMS);
    const uint input_idx  = FUNC_CALL(get_input3d_index)(b, f, z, y, x);
    const uint output_idx = FUNC_CALL(get_output3d_index)(ov[0],ov[1],ov[2],ov[3],ov[4]);
#else
    uint4 ov = FUNC_CALL(reshape_dims)(b,f,y,x, INPUT0_SIZE_Y, INPUT0_SIZE_X, OUTPUT_SIZE_Y, OUTPUT_SIZE_X, INPUT0_DIMS, OUTPUT_DIMS);
    const uint input_idx  = FUNC_CALL(get_input_index)(b, f, y, x);
    const uint output_idx = FUNC_CALL(get_output_index)(ov[0],ov[1],ov[2],ov[3]);
#endif

#endif

#if   defined MEAN_SUBTRACT_INSIDE_PARAMS
    float res = TO_MEAN_TYPE(input[input_idx]);
    res -= VALUE_TO_SUBTRACT[f % VALUE_TO_SUBTRACT_SIZE];
#elif defined MEAN_SUBTRACT_IN_BUFFER
    MEAN_SUBTRACT_TYPE res = TO_MEAN_TYPE(input[input_idx]);
    uint4 msv = FUNC_CALL(reshape_dims)(b,f,y,x, INPUT0_SIZE_Y, INPUT0_SIZE_X, MEAN_SUBTRACT_SIZE_Y, MEAN_SUBTRACT_SIZE_X, INPUT0_DIMS, MEAN_SUBTRACT_DIMS);
    res -= mean_subtract[GET_DATA_INDEX_SAFE(MEAN_SUBTRACT, msv[0], msv[1], msv[2], msv[3])];
#else
    CALC_TYPE res = TO_CALC_TYPE(input[input_idx]);
#endif

    output[output_idx] = ACTIVATION(TO_OUTPUT_REORDER_TYPE(res), NL_M ,NL_N);
}

#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

inline uint4 FUNC(reshape_2_to_4)(uint o, uint i, uint y, uint x, uint dst_size_y, uint dst_size_x)
{
    uint _i  = i / (dst_size_y*dst_size_x);
    uint _yx = i % (dst_size_y*dst_size_x);
    uint _y = _yx / dst_size_x;
    uint _x = _yx % dst_size_x;
    return (uint4)(o,_i,_y,_x);
}

inline uint4 FUNC(reshape_4_to_2)(uint o, uint i, uint y, uint x, uint src_size_y, uint src_size_x)
{
    uint _i = i*src_size_y*src_size_x + y*src_size_x + x;
    return (uint4)(o,_i,0,0);
}

inline uint4 FUNC(reshape_dims)(uint o, uint i, uint y, uint x, uint src_size_y, uint src_size_x, uint dst_size_y, uint dst_size_x, uint src_dims, uint dst_dims)
{
    if (src_dims == 4 && dst_dims == 2)
    {
        return FUNC_CALL(reshape_4_to_2)(o,i,y,x,src_size_y,src_size_x);
    }
    else if (src_dims == 2 && dst_dims == 4)
    {
        return FUNC_CALL(reshape_2_to_4)(o,i,y,x,dst_size_y,dst_size_x);
    }

    return (uint4)(o,i,y,x);
}

inline uint8 FUNC(reshape_dims3d)(uint o, uint i, uint z, uint y, uint x, uint src_size_z, uint src_size_y, uint src_size_x, uint dst_size_z, uint dst_size_y, uint dst_size_x, uint src_dims, uint dst_dims)
{
    if (src_dims == 4 && dst_dims == 5)
    {
        return (uint8)(o,i,1,y,x,0,0,0);
    }
    else if (src_dims == 5 && dst_dims == 4)
    {
        uint _y = z*src_size_y + y;
        return (uint8)(o,i,0,_y,x,0,0,0);
    }
    return (uint8)(o,i,z,y,x,0,0,0);
}



///////////////////////// Input Index /////////////////////////
inline uint FUNC(get_input_index)(uint b, uint f, uint y, uint x)
{
#if   INPUT0_SIMPLE
    return GET_DATA_INDEX(INPUT0, b, f, y, x);
#elif defined INPUT0_LAYOUT_BS_F_BSV8__AF8  || \
      defined INPUT0_LAYOUT_BS_F_BSV16__AF8
    return GET_DATA_BS_FYX_BSV8_INDEX(INPUT0, b, f, y, x, SUB_GROUP_SIZE);
#elif defined INPUT0_LAYOUT_BF8_XY16
    return GET_DATA_BF8_XY16_INDEX(INPUT0, b, f, y, x);
#elif defined INPUT0_LAYOUT_BFYX_F16
    return GET_DATA_BFYX_F16_INDEX(INPUT0, b, f, y, x);
#else
#error reorder_data_fast_b1.cl: input format - not supported
#endif
}

inline uint FUNC(get_input3d_index)(uint b, uint f, uint z, uint y, uint x)
{
    return GET_3D_DATA_INDEX(INPUT0, b, f, z, y, x);
}

///////////////////////// Output Index /////////////////////////

inline uint FUNC(get_output_index)(uint b, uint f, uint y, uint x)
{
#if   OUTPUT_SIMPLE
    return GET_DATA_INDEX(OUTPUT, b, f, y, x);
#elif defined OUTPUT_LAYOUT_BS_F_BSV8__AF8  || \
      defined OUTPUT_LAYOUT_BS_F_BSV16__AF8
    return GET_DATA_BS_FYX_BSV8_INDEX(OUTPUT, b, f, y, x, SUB_GROUP_SIZE);
#elif defined OUTPUT_LAYOUT_BF8_XY16
    return GET_DATA_BF8_XY16_INDEX(OUTPUT, b, f, y, x);
#elif defined OUTPUT_LAYOUT_BFYX_F16
    return GET_DATA_BFYX_F16_INDEX(OUTPUT, b, f, y, x);
#else
#error reorder_data_fast_b1.cl: output format - not supported
#endif
}

inline uint FUNC(get_output3d_index)(uint b, uint f, uint z, uint y, uint x)
{
    return GET_3D_DATA_INDEX(OUTPUT, b, f, z, y, x);
}

KERNEL (reorder_data_fast_b1)(
    const __global INPUT_REORDER_TYPE* input,
    __global OUTPUT_REORDER_TYPE* output
#ifdef MEAN_SUBTRACT_IN_BUFFER
    , __global MEAN_SUBTRACT_TYPE* mean_subtract
#endif
    )
{
    uint data_idx = get_global_id(0);
    if(data_idx >= ELEMENTS_COUNT)
        return;

#if !CHANGE_DATA_TYPE_ONLY
 // We're checking output layout instead of input layout intentionally for performance reason
#if defined OUTPUT_LAYOUT_BFYX
    uint tmp_data_idx = data_idx / INPUT0_BATCH_NUM;
    const uint b = data_idx - tmp_data_idx * INPUT0_BATCH_NUM;
    data_idx = tmp_data_idx;

    tmp_data_idx = data_idx / INPUT0_FEATURE_NUM;
    const uint f = data_idx - tmp_data_idx * INPUT0_FEATURE_NUM;
    data_idx = tmp_data_idx;

    // We're first iterating over Y then over X for performance reason
    // Otherwise we could compute X and Y in reverse order
    tmp_data_idx = data_idx / INPUT0_SIZE_X;
    const uint x = data_idx - tmp_data_idx * INPUT0_SIZE_X;
    data_idx = tmp_data_idx;

    tmp_data_idx  = data_idx / INPUT0_SIZE_Y;
    const uint y = data_idx - tmp_data_idx * INPUT0_SIZE_Y;
#elif defined OUTPUT_LAYOUT_YXFB
    // We're first iterating over Y then over X for performance reason
    // Otherwise we could compute X and Y in reverse order
    uint tmp_data_idx = data_idx / INPUT0_SIZE_X;
    const uint x = data_idx - tmp_data_idx * INPUT0_SIZE_X;
    data_idx = tmp_data_idx;

    tmp_data_idx = data_idx / INPUT0_SIZE_Y;
    const uint y = data_idx - tmp_data_idx * INPUT0_SIZE_Y;
    data_idx = tmp_data_idx;

    tmp_data_idx = data_idx / INPUT0_FEATURE_NUM;
    const uint f = data_idx - tmp_data_idx * INPUT0_FEATURE_NUM;
    data_idx = tmp_data_idx;

    tmp_data_idx  = data_idx / INPUT0_BATCH_NUM;
    const uint b = data_idx - tmp_data_idx * INPUT0_BATCH_NUM;
#elif defined OUTPUT_LAYOUT_BFYX_8F
    uint tmp_data_idx = data_idx / INPUT0_BATCH_NUM;
    const uint b = data_idx - tmp_data_idx * INPUT0_BATCH_NUM;
    data_idx = tmp_data_idx;

    tmp_data_idx = data_idx / INPUT0_FEATURE_NUM;
    const uint f = data_idx - tmp_data_idx * INPUT0_FEATURE_NUM;
    data_idx = tmp_data_idx;

    // We're first iterating over Y then over X for performance reason
// Copyright (c) 2016-2017 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))


#define GET_DATA_INDEX(prefix, b, f, y, x)  \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_INDEX_SAFE(prefix, b, f, y, x)                     \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

 #define GET_3D_DATA_INDEX(prefix, b, f, z, y, x) \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (z)*CAT(prefix, _Z_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_3D_DATA_INDEX_SAFE(prefix, b, f, z, y, x)               \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (z % CAT(prefix, _SIZE_Z     ))*CAT(prefix, _Z_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_BS_FYX_BSV8_INDEX(prefix, b, f, y, x, sub_group_size)  \
    CAT(prefix, _OFFSET) +                                              \
    ((b) % (sub_group_size)) +                                          \
    (sub_group_size)*(                                                  \
        (x)*CAT(prefix, _X_PITCH) +                                     \
        (y)*CAT(prefix, _Y_PITCH) +                                     \
        (f)*CAT(prefix, _FEATURE_PITCH) +                               \
        ((b) / (sub_group_size))*CAT(prefix, _BATCH_PITCH)              \
    )

inline uint FUNC(get_bf8_xy16_index)(uint b, uint f, uint y, uint x, uint x_size, uint y_size, uint f_size, uint offset)
{
    const uint xy_idx = x + y * x_size;
    const uint xy_offset = (xy_idx % 16) + (xy_idx / 16) * 16 * 8;
    const uint xy_block_num = (x_size * y_size + 16 - 1) / 16;
    const uint f_offset = (f % 8) * 16 + (f / 8) * xy_block_num * 16 * 8;
    const uint f_block_num = (f_size + 8 - 1) / 8;
    const uint b_offset = b * f_block_num * xy_block_num * 128;

    const size_t idx = offset + xy_offset + f_offset + b_offset;

    return idx;
}

inline uint FUNC(get_bfyx_f16_index)(
    uint b, uint f, uint y, uint x,
    uint x_size, uint y_size, uint f_size,
    uint y_pad_before,uint y_pad_after,
    uint x_pad_before, uint x_pad_after,
    uint f_pad_before, uint f_pad_after)
{
    const uint feature_slice_size = 16;

    const uint full_width = x_size + x_pad_before + x_pad_after;
    const uint full_height = y_size + y_pad_before + y_pad_after;
    const uint full_features = f_pad_before + f_size + f_pad_after;
    const uint feature_tiles_number = (full_features + feature_slice_size - 1) / feature_slice_size;

    const uint x_pitch = feature_slice_size;
    const uint y_pitch = x_pitch * full_width;
    const uint fs_pitch = y_pitch * full_height;
    const uint b_pitch = fs_pitch * feature_tiles_number;

    const uint x_offset = (x + x_pad_before) * x_pitch;
    const uint y_offset = (y + y_pad_before) * y_pitch;
    const uint fs_offset = (f / feature_slice_size + f_pad_before / feature_slice_size) * fs_pitch;
    const uint b_offset = b * b_pitch;

    const size_t idx = x_offset + y_offset + fs_offset + b_offset + (f % feature_slice_size);

    return idx;
}

#define GET_DATA_BFYX_F16_INDEX(prefix, b, f, y, x)     \
    FUNC_CALL(get_bfyx_f16_index)(                      \
        b, f, y, x,                                     \
        CAT(prefix, _SIZE_X ),                          \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _FEATURE_NUM),                      \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_X),                \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _PAD_AFTER_FEATURE_NUM))

#define GET_FILTER_O_I_YX_I16_O16_INDEX(prefix, o, i, y, x, sub_group_size)  \
    CAT(prefix, _OFFSET) +                                                   \
    ((o) % (sub_group_size)) +                                               \
    (sub_group_size)*(                                                       \
        (x)*(sub_group_size)*CAT(prefix, _X_PITCH) +                         \
        (y)*(sub_group_size)*CAT(prefix, _Y_PITCH) +                         \
        ((i) % (sub_group_size)) +                                           \
        ((i) / (sub_group_size))*(sub_group_size)*CAT(prefix, _IFM_PITCH) +  \
        ((o) / (sub_group_size))*CAT(prefix, _OFM_PITCH)                     \
    )

inline uint FUNC(get_byxf_af32_index)(uint b, uint f, uint y, uint x, uint y_pitch, uint b_pitch, uint f_size, uint offset)
{
	const uint f_aligned_to_32 = ((f_size + 31) / 32) * 32;
	const uint b_offset = b * b_pitch;
	const uint xy_offset = f_aligned_to_32 * x + y_pitch * y;
	const uint f_offset = f;
	const size_t idx = offset + xy_offset + b_offset + f_offset;
	return idx;
}

#define GET_DATA_BYXF_AF32_INDEX(prefix, b, f, y, x)\
	FUNC_CALL(get_byxf_af32_index)(                 \
		b, f, y, x, CAT(prefix, _Y_PITCH),          \
		CAT(prefix, _BATCH_PITCH),                      \
		CAT(prefix, _FEATURE_NUM),                 \
		CAT(prefix, _OFFSET))

inline uint FUNC(get_byx8_f4_index)(uint b, uint f, uint y, uint x,
    uint x_pitch, uint y_pitch, uint b_pitch, uint f_size, uint x_size, uint offset)
{
    const uint f_aligned_to_4 = ((f_size + 3) / 4) * 4;
    const uint x_aligned_to_8 = ((x_size + 7) / 8) * 8;
    const uint b_offset = b * b_pitch;
    const uint xy_offset = x * x_pitch + y * y_pitch;
    const uint f_offset = f;
    const size_t idx = offset + xy_offset + b_offset + f_offset;
    return idx;
}

    uint id      = i - id_tile * tile;

    uint idx = out_depth_tile * (o_size / tile) * otd * tile
               + id_tile               * i_size * otd * tile
               + y                     * x_size * otd * tile
               + x                              * otd * tile
               + od                                   * tile
               + id;

    return idx;
}

#define GET_DATA_FS_B_YX_FSV32_INDEX(prefix, b, f, y, x)\
    FUNC_CALL(get_fs_b_yx_fsv32_index)(                 \
        b, f, y, x,                                     \
        CAT(prefix, _PAD_BEFORE_SIZE_X),                \
        CAT(prefix, _SIZE_X),                           \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif


/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)


///////////////////////// Input Index /////////////////////////
inline uint FUNC(get_input_index)(uint b, uint f, uint y, uint x)
{
#if   INPUT0_SIMPLE
    return GET_DATA_INDEX(INPUT0, b, f, y, x);
#elif defined INPUT0_LAYOUT_BS_F_BSV8__AF8  || \
      defined INPUT0_LAYOUT_BS_F_BSV16__AF8
    return GET_DATA_BS_FYX_BSV8_INDEX(INPUT0, b, f, y, x, SUB_GROUP_SIZE);
#elif defined INPUT0_LAYOUT_BF8_XY16
    return GET_DATA_BF8_XY16_INDEX(INPUT0, b, f, y, x);
#elif defined INPUT0_LAYOUT_BYXF_AF32
	return GET_DATA_BYXF_AF32_INDEX(INPUT0, b, f, y, x);
#elif defined INPUT0_LAYOUT_BFYX_F16
    return GET_DATA_BFYX_F16_INDEX(INPUT0, b, f, y, x);
#else
#error reorder_data_to_yxfb_batched.cl: input format - not supported
#endif
}

inline void FUNC(get_yxfb_coords_from_linear_idx_no_padding)(uint data_idx, uint* b, uint* f, uint* x, uint* y)
{
    uint tmp_data_idx = data_idx / INPUT0_BATCH_NUM;
    *b = data_idx - tmp_data_idx * INPUT0_BATCH_NUM;
    data_idx = tmp_data_idx;

    tmp_data_idx = data_idx / INPUT0_FEATURE_NUM;
    *f = data_idx - tmp_data_idx * INPUT0_FEATURE_NUM;
    data_idx = tmp_data_idx;

    tmp_data_idx  = data_idx / INPUT0_SIZE_X;
    *x = data_idx - tmp_data_idx * INPUT0_SIZE_X;
    data_idx = tmp_data_idx;

    tmp_data_idx = data_idx / INPUT0_SIZE_Y;
    *y = data_idx - tmp_data_idx * INPUT0_SIZE_Y;
}

__attribute__((intel_reqd_sub_group_size(8)))
KERNEL (reorder_data_to_yxfb_batched)(
    const __global INPUT_REORDER_TYPE* input,
    __global OUTPUT_REORDER_TYPE* output
    #ifdef MEAN_SUBTRACT_IN_BUFFER
    , __global MEAN_SUBTRACT_TYPE* mean_subtract
#endif
    )
{
    uint group_idx = get_group_id(0) * OUTPUT_BATCH_NUM * 8;

    for(uint i = 0; i < OUTPUT_BATCH_NUM; i++)
    {
        uint output_idx = group_idx + get_sub_group_local_id();
        if(output_idx >= ELEMENTS_COUNT)
            continue;

        group_idx += 8;

        uint x,y,f,b;
        FUNC_CALL(get_yxfb_coords_from_linear_idx_no_padding)(output_idx, &b,&f,&x,&y);
        const uint input_idx  = FUNC_CALL(get_input_index)(b, f, y, x);

    #if defined MEAN_SUBTRACT_INSIDE_PARAMS
        float res = TO_MEAN_TYPE(input[input_idx]);
        res = MEAN_OP(res, VALUE_TO_SUBTRACT[f % VALUE_TO_SUBTRACT_SIZE]);
    #elif defined MEAN_SUBTRACT_IN_BUFFER
    #if defined MEAN_PER_FEATURE
        MEAN_SUBTRACT_TYPE res = TO_MEAN_TYPE(input[input_idx]);
        res = MEAN_OP(res, mean_subtract[f]);
    #else
        MEAN_SUBTRACT_TYPE res = TO_MEAN_TYPE(input[input_idx]);
        uint4 msv = FUNC_CALL(reshape_dims)(b,f,y,x, INPUT0_SIZE_Y, INPUT0_SIZE_X, MEAN_SUBTRACT_SIZE_Y, MEAN_SUBTRACT_SIZE_X, INPUT0_DIMS, MEAN_SUBTRACT_DIMS);
        res = MEAN_OP(res, mean_subtract[GET_DATA_INDEX_SAFE(MEAN_SUBTRACT, msv[0], msv[1], msv[2], msv[3])]);
    #endif
    #else
        CALC_TYPE res = TO_CALC_TYPE(input[input_idx]);
    #endif

        output[output_idx] = ACTIVATION(TO_OUTPUT_REORDER_TYPE(res), NL_M ,NL_N);
    }
}

// Copyright (c) 2018 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

inline uint4 FUNC(reshape_2_to_4)(uint o, uint i, uint y, uint x, uint dst_size_y, uint dst_size_x)
{
    uint _i  = i / (dst_size_y*dst_size_x);
    uint _yx = i % (dst_size_y*dst_size_x);
    uint _y = _yx / dst_size_x;
    uint _x = _yx % dst_size_x;
    return (uint4)(o,_i,_y,_x);
}

inline uint4 FUNC(reshape_4_to_2)(uint o, uint i, uint y, uint x, uint src_size_y, uint src_size_x)
{
    uint _i = i*src_size_y*src_size_x + y*src_size_x + x;
    return (uint4)(o,_i,0,0);
}

inline uint4 FUNC(reshape_dims)(uint o, uint i, uint y, uint x, uint src_size_y, uint src_size_x, uint dst_size_y, uint dst_size_x, uint src_dims, uint dst_dims)
{
    if (src_dims == 4 && dst_dims == 2)
    {
        return FUNC_CALL(reshape_4_to_2)(o,i,y,x,src_size_y,src_size_x);
    }
    else if (src_dims == 2 && dst_dims == 4)
    {
        return FUNC_CALL(reshape_2_to_4)(o,i,y,x,dst_size_y,dst_size_x);
    }

    return (uint4)(o,i,y,x);
}

inline uint8 FUNC(reshape_dims3d)(uint o, uint i, uint z, uint y, uint x, uint src_size_z, uint src_size_y, uint src_size_x, uint dst_size_z, uint dst_size_y, uint dst_size_x, uint src_dims, uint dst_dims)
{
    if (src_dims == 4 && dst_dims == 5)
    {
        return (uint8)(o,i,1,y,x,0,0,0);
    }
    else if (src_dims == 5 && dst_dims == 4)
    {
        uint _y = z*src_size_y + y;
        return (uint8)(o,i,0,_y,x,0,0,0);
    }
    return (uint8)(o,i,z,y,x,0,0,0);
}

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))


#define GET_DATA_INDEX(prefix, b, f, y, x)  \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_INDEX_SAFE(prefix, b, f, y, x)                     \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

 #define GET_3D_DATA_INDEX(prefix, b, f, z, y, x) \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (z)*CAT(prefix, _Z_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_3D_DATA_INDEX_SAFE(prefix, b, f, z, y, x)               \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (z % CAT(prefix, _SIZE_Z     ))*CAT(prefix, _Z_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_BS_FYX_BSV8_INDEX(prefix, b, f, y, x, sub_group_size)  \
    CAT(prefix, _OFFSET) +                                              \
    ((b) % (sub_group_size)) +                                          \
    (sub_group_size)*(                                                  \
        (x)*CAT(prefix, _X_PITCH) +                                     \
        (y)*CAT(prefix, _Y_PITCH) +                                     \
        (f)*CAT(prefix, _FEATURE_PITCH) +                               \
        ((b) / (sub_group_size))*CAT(prefix, _BATCH_PITCH)              \
    )

inline uint FUNC(get_bf8_xy16_index)(uint b, uint f, uint y, uint x, uint x_size, uint y_size, uint f_size, uint offset)
{
    const uint xy_idx = x + y * x_size;
    const uint xy_offset = (xy_idx % 16) + (xy_idx / 16) * 16 * 8;
    const uint xy_block_num = (x_size * y_size + 16 - 1) / 16;
    const uint f_offset = (f % 8) * 16 + (f / 8) * xy_block_num * 16 * 8;
    const uint f_block_num = (f_size + 8 - 1) / 8;
    const uint b_offset = b * f_block_num * xy_block_num * 128;

    const size_t idx = offset + xy_offset + f_offset + b_offset;

    return idx;
}

inline uint FUNC(get_bfyx_f16_index)(
    uint b, uint f, uint y, uint x,
    uint x_size, uint y_size, uint f_size,
    uint y_pad_before,uint y_pad_after,
    uint x_pad_before, uint x_pad_after,
    uint f_pad_before, uint f_pad_after)
{
    const uint feature_slice_size = 16;

    const uint full_width = x_size + x_pad_before + x_pad_after;
    const uint full_height = y_size + y_pad_before + y_pad_after;
    const uint full_features = f_pad_before + f_size + f_pad_after;
    const uint feature_tiles_number = (full_features + feature_slice_size - 1) / feature_slice_size;

    const uint x_pitch = feature_slice_size;
    const uint y_pitch = x_pitch * full_width;
    const uint fs_pitch = y_pitch * full_height;
    const uint b_pitch = fs_pitch * feature_tiles_number;

    const uint x_offset = (x + x_pad_before) * x_pitch;
    const uint y_offset = (y + y_pad_before) * y_pitch;
    const uint fs_offset = (f / feature_slice_size + f_pad_before / feature_slice_size) * fs_pitch;
    const uint b_offset = b * b_pitch;
        b, f, y, x,                                     \
        CAT(prefix, _PAD_BEFORE_SIZE_X),                \
        CAT(prefix, _SIZE_X),                           \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



KERNEL(reorder_from_winograd_2x3_s1)(global const UNIT_TYPE* input_winograd, global float* output)
{
    const int winograd_tile_width = 4;
    const int winograd_tile_height = 1;
    const int output_tile_width = 2;
    const int output_tile_height = 1;

    const int batch_idx = get_global_id(0) / INPUT0_FEATURE_NUM;
    const int feature_idx = get_global_id(0) % INPUT0_FEATURE_NUM;
    const int tile_idx_x = get_global_id(1);
    const int tile_idx_y = get_global_id(2);

    const int out_x_idx = (tile_idx_x * output_tile_width);

    //input is in bxyf -- no paddings allowed in winograd domain
    int input_idx = batch_idx * INPUT0_BATCH_PITCH +
                    feature_idx * INPUT0_FEATURE_PITCH +
                    tile_idx_y * winograd_tile_height * INPUT0_Y_PITCH +
                    tile_idx_x * winograd_tile_width * INPUT0_X_PITCH;

    //winograd tile is 4x1, during conversion to standard domain values should have already been multiplied so this tile is actually an 'm' tile from the original paper
    UNIT_TYPE winograd_tile[winograd_tile_width];
    winograd_tile[0] = input_winograd[input_idx]; input_idx += INPUT0_X_PITCH;
    winograd_tile[1] = input_winograd[input_idx]; input_idx += INPUT0_X_PITCH;
    winograd_tile[2] = input_winograd[input_idx]; input_idx += INPUT0_X_PITCH;
    winograd_tile[3] = input_winograd[input_idx];

    UNIT_TYPE out_tile[output_tile_width];

    //transform back
    out_tile[0] = ACTIVATION(winograd_tile[0] + winograd_tile[1] + winograd_tile[2], NL_M ,NL_N);
    out_tile[1] = ACTIVATION(winograd_tile[1] - winograd_tile[2] - winograd_tile[3], NL_M ,NL_N);

    int out_idx = (OUTPUT_PAD_BEFORE_BATCH_NUM + batch_idx) * OUTPUT_BATCH_PITCH +
                  (OUTPUT_PAD_BEFORE_FEATURE_NUM + feature_idx) * OUTPUT_FEATURE_PITCH +
                  (OUTPUT_PAD_BEFORE_SIZE_Y + (tile_idx_y * output_tile_height)) * OUTPUT_Y_PITCH +
                  (OUTPUT_PAD_BEFORE_SIZE_X + (tile_idx_x * output_tile_width)) * OUTPUT_X_PITCH;

    output[out_idx] = out_tile[0];
#if LEFTOVERS == 1
    if (out_x_idx + 1 < OUTPUT_SIZE_X)
#endif
    {
        out_idx += OUTPUT_X_PITCH;
        output[out_idx] = out_tile[1];
    }
};

// Copyright (c) 2017 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// --------------------------------------------------------------------------------------------------------------------------------
// Convert the results using the inverse F(2,3) Winograd transform.
// --------------------------------------------------------------------------------------------------------------------------------

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/


#define GET_DATA_INDEX(prefix, b, f, y, x)  \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_INDEX_SAFE(prefix, b, f, y, x)                     \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

 #define GET_3D_DATA_INDEX(prefix, b, f, z, y, x) \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (z)*CAT(prefix, _Z_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_3D_DATA_INDEX_SAFE(prefix, b, f, z, y, x)               \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (z % CAT(prefix, _SIZE_Z     ))*CAT(prefix, _Z_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_BS_FYX_BSV8_INDEX(prefix, b, f, y, x, sub_group_size)  \
    CAT(prefix, _OFFSET) +                                              \
    ((b) % (sub_group_size)) +                                          \
    (sub_group_size)*(                                                  \
        (x)*CAT(prefix, _X_PITCH) +                                     \
        (y)*CAT(prefix, _Y_PITCH) +                                     \
        (f)*CAT(prefix, _FEATURE_PITCH) +                               \
        ((b) / (sub_group_size))*CAT(prefix, _BATCH_PITCH)              \
    )

inline uint FUNC(get_bf8_xy16_index)(uint b, uint f, uint y, uint x, uint x_size, uint y_size, uint f_size, uint offset)
{
    const uint xy_idx = x + y * x_size;
    const uint xy_offset = (xy_idx % 16) + (xy_idx / 16) * 16 * 8;
    const uint xy_block_num = (x_size * y_size + 16 - 1) / 16;
    const uint f_offset = (f % 8) * 16 + (f / 8) * xy_block_num * 16 * 8;
    const uint f_block_num = (f_size + 8 - 1) / 8;
    const uint b_offset = b * f_block_num * xy_block_num * 128;

    const size_t idx = offset + xy_offset + f_offset + b_offset;

    return idx;
}

inline uint FUNC(get_bfyx_f16_index)(
    uint b, uint f, uint y, uint x,
    uint x_size, uint y_size, uint f_size,
    uint y_pad_before,uint y_pad_after,
    uint x_pad_before, uint x_pad_after,
    uint f_pad_before, uint f_pad_after)
{
    const uint feature_slice_size = 16;

    const uint full_width = x_size + x_pad_before + x_pad_after;
    const uint full_height = y_size + y_pad_before + y_pad_after;
    const uint full_features = f_pad_before + f_size + f_pad_after;
    const uint feature_tiles_number = (full_features + feature_slice_size - 1) / feature_slice_size;

    const uint x_pitch = feature_slice_size;
    const uint y_pitch = x_pitch * full_width;
    const uint fs_pitch = y_pitch * full_height;
    const uint b_pitch = fs_pitch * feature_tiles_number;

    const uint x_offset = (x + x_pad_before) * x_pitch;
    const uint y_offset = (y + y_pad_before) * y_pitch;
    const uint fs_offset = (f / feature_slice_size + f_pad_before / feature_slice_size) * fs_pitch;
    const uint b_offset = b * b_pitch;

    const size_t idx = x_offset + y_offset + fs_offset + b_offset + (f % feature_slice_size);

    return idx;
}

#define GET_DATA_BFYX_F16_INDEX(prefix, b, f, y, x)     \
    FUNC_CALL(get_bfyx_f16_index)(                      \
        b, f, y, x,                                     \
        CAT(prefix, _SIZE_X ),                          \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _FEATURE_NUM),                      \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
// Copyright (c) 2017 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// --------------------------------------------------------------------------------------------------------------------------------
// Convert the signal using the forward F(2,3) Winograd transform.
// --------------------------------------------------------------------------------------------------------------------------------
KERNEL(reorder_to_winograd_2x3_s1)(global const UNIT_TYPE* input, global UNIT_TYPE* output_winograd)
{
    const uint input_tile_width = 4; //how much data is needed to produce one winograd tile (in x-dim)
    const uint input_tile_height = 1; //how much data is needed to produce on winograd tile (in y-dim)
    const uint input_tile_stride_x = 2; //how much do we need to proceed in input's x-dim to read data for new winograd tile
    const uint input_tile_stride_y = 1; //how much do we need to proceed in input's y-dim to read data for new winograd tile
    const uint winograd_tile_width = 4; //dimensions of resulting tile
    const uint winograd_tile_height = 1;

    const int batch_idx = get_global_id(0) / INPUT0_FEATURE_NUM;
    const int feature_idx = get_global_id(0) % INPUT0_FEATURE_NUM; //which feature do we process
    const int tile_idx_x = get_global_id(1); //which tile do we process (in x-dim)
    const int tile_idx_y = get_global_id(2); //which tile do we process (in y-dim)

    int in_idx = (INPUT0_PAD_BEFORE_BATCH_NUM + batch_idx) * INPUT0_BATCH_PITCH +
                  (INPUT0_PAD_BEFORE_FEATURE_NUM + feature_idx) * INPUT0_FEATURE_PITCH +
                  (INPUT0_PAD_BEFORE_SIZE_Y + (tile_idx_y * input_tile_stride_y) + INPUT0_OFFSET_SIZE_Y) * INPUT0_Y_PITCH +
                  (INPUT0_PAD_BEFORE_SIZE_X + (tile_idx_x * input_tile_stride_x) + INPUT0_OFFSET_SIZE_X) * INPUT0_X_PITCH;

    // storage for input tile
    UNIT_TYPE input_tile[input_tile_width * input_tile_height];

    // input tile is 4x1 so read 4 consecutive values in x-dim from input
    input_tile[0] = input[in_idx]; in_idx += INPUT0_X_PITCH;
    input_tile[1] = input[in_idx]; in_idx += INPUT0_X_PITCH;
    input_tile[2] = input[in_idx]; in_idx += INPUT0_X_PITCH;
    input_tile[3] = input[in_idx];

    // output is in byxf -- no paddings allowed in winograd domain
    int out_idx = batch_idx * OUTPUT_BATCH_PITCH +
                   feature_idx * OUTPUT_FEATURE_PITCH +
                   (tile_idx_y * winograd_tile_height) * OUTPUT_Y_PITCH +
                   (tile_idx_x * winograd_tile_width) * OUTPUT_X_PITCH;

    //produce single 4x1 winograd tile ==> write 4 consecutive values in x-dim to output
    output_winograd[out_idx] = input_tile[0] - input_tile[2]; out_idx += OUTPUT_X_PITCH;
    output_winograd[out_idx] = input_tile[1] + input_tile[2]; out_idx += OUTPUT_X_PITCH;
    output_winograd[out_idx] = input_tile[2] - input_tile[1]; out_idx += OUTPUT_X_PITCH;
    output_winograd[out_idx] = input_tile[1] - input_tile[3];
};

#if   OUTPUT_DIMS == 2
    const unsigned y = 0;
    const unsigned x = 0;
#elif OUTPUT_DIMS == 4
    const unsigned y = get_global_id(2) / INPUT0_SIZE_X;
    const unsigned x = get_global_id(2) % INPUT0_SIZE_X;
#endif
    uint4 ir = FUNC_CALL(reshape_dims)(o,i,y,x, OUTPUT_SIZE_Y, OUTPUT_SIZE_X, INPUT0_SIZE_Y, INPUT0_SIZE_X, OUTPUT_DIMS, INPUT0_DIMS);
    output[FUNC_CALL(get_output_index)(o, i, y, x)] = TO_OUTPUT_TYPE(input[FUNC_CALL(get_input_index)(ir[0],ir[1],ir[2],ir[3])]);
}
#endif

#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

inline uint4 FUNC(reshape_2_to_4)(uint o, uint i, uint y, uint x, uint dst_size_y, uint dst_size_x)
{
    uint _i  = i / (dst_size_y*dst_size_x);
    uint _yx = i % (dst_size_y*dst_size_x);
    uint _y = _yx / dst_size_x;
    uint _x = _yx % dst_size_x;
    return (uint4)(o,_i,_y,_x);
}

inline uint4 FUNC(reshape_4_to_2)(uint o, uint i, uint y, uint x, uint src_size_y, uint src_size_x)
{
    uint _i = i*src_size_y*src_size_x + y*src_size_x + x;
    return (uint4)(o,_i,0,0);
}

inline uint4 FUNC(reshape_dims)(uint o, uint i, uint y, uint x, uint src_size_y, uint src_size_x, uint dst_size_y, uint dst_size_x, uint src_dims, uint dst_dims)
{
    if (src_dims == 4 && dst_dims == 2)
    {
        return FUNC_CALL(reshape_4_to_2)(o,i,y,x,src_size_y,src_size_x);
    }
    else if (src_dims == 2 && dst_dims == 4)
    {
        return FUNC_CALL(reshape_2_to_4)(o,i,y,x,dst_size_y,dst_size_x);
    }

    return (uint4)(o,i,y,x);
}

inline uint8 FUNC(reshape_dims3d)(uint o, uint i, uint z, uint y, uint x, uint src_size_z, uint src_size_y, uint src_size_x, uint dst_size_z, uint dst_size_y, uint dst_size_x, uint src_dims, uint dst_dims)
{
    if (src_dims == 4 && dst_dims == 5)
    {
        return (uint8)(o,i,1,y,x,0,0,0);
    }
    else if (src_dims == 5 && dst_dims == 4)
    {
        uint _y = z*src_size_y + y;
        return (uint8)(o,i,0,_y,x,0,0,0);
    }
    return (uint8)(o,i,z,y,x,0,0,0);
}

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)



///////////////////////// Input Index /////////////////////////
inline uint FUNC(get_input_index)(uint o, uint i, uint y, uint x)
{
#if   INPUT0_SIMPLE
    return GET_FILTER_INDEX(INPUT0, o, i, y, x);
#elif defined INPUT0_LAYOUT_OS_IYX_OSV16    || \
      defined INPUT0_LAYOUT_OS_I_OSV16      || \
      defined INPUT0_LAYOUT_OS_I_OSV8__AI8  || \
      defined INPUT0_LAYOUT_OS_I_OSV16__AI8
    return GET_FILTER_OS_IYX_OSV8_INDEX(INPUT0, o, i, y, x, SUB_GROUP_SIZE);
#elif defined INPUT0_LAYOUT_IYX_OSV32
    return GET_FILTER_OS_IYX_OSV8_INDEX(INPUT0, o, i, y, x, 32);
#elif defined INPUT0_LAYOUT_IYX_OSV64
    return GET_FILTER_OS_IYX_OSV8_INDEX(INPUT0, o, i, y, x, 64);
#elif defined INPUT0_LAYOUT_OS_IYX_OSV16_ROTATE_180
    return GET_FILTER_OS_IYX_OSV8_ROTATE_180_INDEX(INPUT0, o, i, y, x, SUB_GROUP_SIZE);
#elif defined INPUT0_LAYOUT_I_YXS_OS_YXSV2_OSV16
    return GET_FILTER_I_YXS_OS_YXSV2_OSV_INDEX(INPUT0, o, i, y, x, SUB_GROUP_SIZE);
#elif defined INPUT0_LAYOUT_IY_XS_OS_XSV2_OSV16__AO32 || defined OUTPUT_LAYOUT_IY_XS_OS_XSV2_OSV8__AO32
    return GET_FILTER_IY_XS_OS_XSV2_OSV_INDEX(INPUT0, o, i, y, x, SUB_GROUP_SIZE);
#elif defined INPUT0_LAYOUT_IMAGE_2D_WEIGHTS_C1_B_FYX
    #error - not supported yet
#elif defined INPUT0_LAYOUT_OS_IS_YX_ISA8_OSV8_ISV4
	return GET_FILTER_OS_IS_YX_ISA8_OSV8_ISV4(INPUT0, o, i, y, x);
#elif defined INPUT0_LAYOUT_IS_O_YX_ISV32
    return GET_FILTER_IS_O_YX_ISV32(INPUT0, o, i, y, x);
#elif defined INPUT0_LAYOUT_IS_O32_YX_ISV32_SWIZZLED_BY_4
    return GET_FILTER_IS_O32_YX_ISV32_SWIZZLED_BY_4(INPUT0, o, i, y, x);
#elif defined INPUT0_LAYOUT_OS_IS_Y_X8_OSV8_ISV4
    return GET_FILTER_OS_IS_Y_X8_OSV8_ISV4(INPUT0, o, i, y, x);
#elif defined INPUT0_LAYOUT_OS_IS_Y_X8_OSV8_ISV4_SWIZZLED_BY_4
    return GET_FILTER_OS_IS_Y_X8_OSV8_ISV4_SWIZZLED_BY_4(INPUT0, o, i, y, x);
#elif defined INPUT0_LAYOUT_O_I_YX_I16_O16
    return GET_FILTER_O_I_YX_I16_O16_INDEX(INPUT0, o, i, y, x, SUB_GROUP_SIZE);
#else
#error reorder_weights.cl: input format - not supported
#endif
}

///////////////////////// Output Index /////////////////////////

inline uint FUNC(get_output_index)(uint o, uint i, uint y, uint x)
{
#if   OUTPUT_SIMPLE
    return GET_FILTER_INDEX(OUTPUT, o, i, y, x);
#elif defined OUTPUT_LAYOUT_OS_IYX_OSV16    || \
      defined OUTPUT_LAYOUT_OS_I_OSV16      || \
      defined OUTPUT_LAYOUT_OS_I_OSV8__AI8  || \
      defined OUTPUT_LAYOUT_OS_I_OSV16__AI8
    return GET_FILTER_OS_IYX_OSV8_INDEX(OUTPUT, o, i, y, x, SUB_GROUP_SIZE);
#elif defined OUTPUT_LAYOUT_OS_IYX_OSV32
    return GET_FILTER_OS_IYX_OSV8_INDEX(OUTPUT, o, i, y, x, 32);
#elif defined OUTPUT_LAYOUT_OS_IYX_OSV64
    return GET_FILTER_OS_IYX_OSV8_INDEX(OUTPUT, o, i, y, x, 64);
#elif defined OUTPUT_LAYOUT_OS_IYX_OSV16_ROTATE_180
    return GET_FILTER_OS_IYX_OSV8_ROTATE_180_INDEX(OUTPUT, o, i, y, x, SUB_GROUP_SIZE);
#elif defined OUTPUT_LAYOUT_I_YXS_OS_YXSV2_OSV16
    return GET_FILTER_I_YXS_OS_YXSV2_OSV_INDEX(OUTPUT, o, i, y, x, SUB_GROUP_SIZE);
#elif defined OUTPUT_LAYOUT_IY_XS_OS_XSV2_OSV16__AO32 || defined OUTPUT_LAYOUT_IY_XS_OS_XSV2_OSV8__AO32
    return GET_FILTER_IY_XS_OS_XSV2_OSV_INDEX(OUTPUT, o, i, y, x, SUB_GROUP_SIZE);
#elif defined OUTPUT_LAYOUT_IMAGE_2D_WEIGHTS_C1_B_FYX
    return 0; //will not be used for images
#elif defined OUTPUT_LAYOUT_OS_IS_YX_ISA8_OSV8_ISV4
	return GET_FILTER_OS_IS_YX_ISA8_OSV8_ISV4(OUTPUT, o, i, y, x);
#elif defined OUTPUT_LAYOUT_IS_O_YX_ISV32
    return GET_FILTER_IS_O_YX_ISV32(OUTPUT, o, i, y, x);
#elif defined OUTPUT_LAYOUT_IS_O32_YX_ISV32_SWIZZLED_BY_4
    return GET_FILTER_IS_O32_YX_ISV32_SWIZZLED_BY_4(OUTPUT, o, i, y, x);
#elif defined OUTPUT_LAYOUT_OS_IS_Y_X8_OSV8_ISV4
    return GET_FILTER_OS_IS_Y_X8_OSV8_ISV4(OUTPUT, o, i, y, x);
#elif defined OUTPUT_LAYOUT_OS_IS_Y_X8_OSV8_ISV4_SWIZZLED_BY_4
    return GET_FILTER_OS_IS_Y_X8_OSV8_ISV4_SWIZZLED_BY_4(OUTPUT, o, i, y, x);
#elif defined OUTPUT_LAYOUT_OS_IS_YX_OSV16_ISV4
    return GET_FILTER_OS_IS_YX_OSV16_ISV4_INDEX(OUTPUT, o, i, y, x);
#elif defined OUTPUT_LAYOUT_OS_IS_YX_ISA8_OSV8_ISV4_SWIZZLED_BY_4
    return GET_FILTER_OS_IS_YX_ISA8_OSV8_ISV4_SWIZZLED_BY_4_INDEX(OUTPUT, o, i, y, x);
#elif defined OUTPUT_LAYOUT_O_I_YX_I16_O16
    return GET_FILTER_O_I_YX_I16_O16_INDEX(OUTPUT, o, i, y, x, SUB_GROUP_SIZE);
#else
#error reorder_weights.cl: output format - not supported
#endif
}

#if OUTPUT_LAYOUT_IMAGE_2D_WEIGHTS_C1_B_FYX
KERNEL (reorder_weights)(const __global INPUT0_TYPE* input, write_only image2d_t output)
{
    const unsigned o = get_global_id(0);
    const unsigned iyx = get_global_id(1);
    const unsigned x = iyx % INPUT0_SIZE_X;
    const unsigned y = (iyx / INPUT0_SIZE_X) % INPUT0_SIZE_Y;
    const unsigned i = (iyx / INPUT0_SIZE_X) / INPUT0_SIZE_Y;

    MAKE_VECTOR_TYPE(UNIT_TYPE, 4) input_val = (MAKE_VECTOR_TYPE(UNIT_TYPE, 4))(UNIT_VAL_ZERO, UNIT_VAL_ZERO, UNIT_VAL_ZERO, UNIT_VAL_ZERO);
    const int2 coord = (int2)(o, iyx);
    uint4 ir = FUNC_CALL(reshape_dims)(o,i,y,x, OUTPUT_SIZE_Y, OUTPUT_SIZE_X, INPUT0_SIZE_Y, INPUT0_SIZE_X, OUTPUT_DIMS, INPUT0_DIMS);
    input_val.s0 = TO_OUTPUT_TYPE(input[FUNC_CALL(get_input_index)(ir[0],ir[1],ir[2],ir[3])]);
    IMAGE_WRITE(output, coord, input_val);
}
#else
KERNEL (reorder_weights)(const __global INPUT0_TYPE* input, __global OUTPUT_TYPE* output)
{
    const unsigned o = get_global_id(0);
    const unsigned i = get_global_id(1);
reorder_weights        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



KERNEL (reorder_weights_image_2d_c4_fyx_b)(const __global INPUT0_TYPE* input, write_only image2d_t output)
{
    const unsigned o = get_global_id(0);
    const unsigned iyx = get_global_id(1);
    const unsigned x = iyx % INPUT0_SIZE_X;
    const unsigned y = (iyx / INPUT0_SIZE_X) % INPUT0_SIZE_Y;
    const unsigned i = y / INPUT0_SIZE_Y;

    MAKE_VECTOR_TYPE(UNIT_TYPE, 4) input_val = (MAKE_VECTOR_TYPE(UNIT_TYPE, 4))(UNIT_VAL_ZERO, UNIT_VAL_ZERO, UNIT_VAL_ZERO, UNIT_VAL_ZERO);

    const int2 coord = (int2)(iyx, o);
    uint input_idx = o * INPUT0_OFM_PITCH + iyx*4;

    input_val.s0 = TO_OUTPUT_TYPE(input[input_idx]);
    if(iyx*4 + 1 < INPUT0_OFM_PITCH)
        input_val.s1 = TO_OUTPUT_TYPE(input[input_idx+1]);
    if(iyx*4 + 2 < INPUT0_OFM_PITCH)
        input_val.s2 = TO_OUTPUT_TYPE(input[input_idx+2]);
    if(iyx*4 + 3 < INPUT0_OFM_PITCH)
        input_val.s3 = TO_OUTPUT_TYPE(input[input_idx+3]);
    IMAGE_WRITE(output, coord, input_val);
}

reorder_weights_image_2d_c4_fyx_b        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



KERNEL(reorder_weights_image_winograd_6x3_s1)(const __global INPUT0_TYPE* input, write_only image2d_t output)
{
    const uint input_tile_width = 1;
    const uint input_tile_height = 3;
    const uint in_tile_x_idx = get_global_id(1);
    const uint in_tile_y_idx = get_global_id(0);

    const uint output_tile_width = 8;
    const uint output_tile_height = 1;

    const uint tile_x_idx = get_global_id(0);
    const uint tile_y_idx = get_global_id(1);
    const uint feature_idx = get_global_id(2) % INPUT0_IFM_NUM;
    const uint batch_idx = get_global_id(2) / INPUT0_IFM_NUM;

    uint in_idx = batch_idx * INPUT0_OFM_PITCH
        + feature_idx * INPUT0_IFM_PITCH
        + in_tile_y_idx * input_tile_height * INPUT0_Y_PITCH
        + in_tile_x_idx * input_tile_width * INPUT0_X_PITCH;

    MAKE_VECTOR_TYPE(INPUT0_TYPE, 4) tile;
    tile.x = input[in_idx]; in_idx += INPUT0_Y_PITCH;
    tile.y = input[in_idx]; in_idx += INPUT0_Y_PITCH;
    tile.z = input[in_idx];

    const uint weightsOSplit = 16;
    const uint oDivSplit = OUTPUT_OFM_NUM / 16;

#if OUTPUT_LAYOUT_IMAGE_2D_WEIGHTS_WINOGRAD_6x3_S1_FBXYB
    const uint ySize = OUTPUT_OFM_NUM * OUTPUT_SIZE_X * OUTPUT_SIZE_Y;
    uint idx = batch_idx % 16 +
        tile_y_idx * output_tile_height * weightsOSplit +
        tile_x_idx * output_tile_width * weightsOSplit * OUTPUT_SIZE_Y +
        batch_idx / 16 * weightsOSplit * OUTPUT_SIZE_X * OUTPUT_SIZE_Y +
        feature_idx * ySize;
    uint idx_x = idx%ySize;
    uint idx_y = idx/ySize;
    const uint Stride = weightsOSplit * OUTPUT_SIZE_Y;

    write_imagef(output, (int2)(idx_x, idx_y), TO_OUTPUT_TYPE(+90.0 / 90 * tile.x)); idx_x += Stride; //if (idx_x >= ySize) { idx_x = idx_x % ySize; idx_y++; }
    write_imagef(output, (int2)(idx_x, idx_y), TO_OUTPUT_TYPE(-20.0 / 90 * tile.x - 20.0 / 90 * tile.y - 20.0 / 90 * tile.z)); idx_x += Stride;  //if (idx_x >= ySize) { idx_x = idx_x % ySize; idx_y++; }
    write_imagef(output, (int2)(idx_x, idx_y), TO_OUTPUT_TYPE(-20.0 / 90 * tile.x + 20.0 / 90 * tile.y - 20.0 / 90 * tile.z)); idx_x += Stride;  //if (idx_x >= ySize) { idx_x = idx_x % ySize; idx_y++; }
    write_imagef(output, (int2)(idx_x, idx_y), TO_OUTPUT_TYPE(+1.0 / 90 * tile.x + 2.0 / 90 * tile.y + 4.0 / 90 * tile.z)); idx_x += Stride;  //if (idx_x >= ySize) { idx_x = idx_x % ySize; idx_y++; }
    write_imagef(output, (int2)(idx_x, idx_y), TO_OUTPUT_TYPE(+1.0 / 90 * tile.x - 2.0 / 90 * tile.y + 4.0 / 90 * tile.z)); idx_x += Stride;  //if (idx_x >= ySize) { idx_x = idx_x % ySize; idx_y++; }
    write_imagef(output, (int2)(idx_x, idx_y), TO_OUTPUT_TYPE(+64.0 / 90 * tile.x + 32.0 / 90 * tile.y + 16.0 / 90 * tile.z)); idx_x += Stride;  //if (idx_x >= ySize) { idx_x = idx_x % ySize; idx_y++; }
    write_imagef(output, (int2)(idx_x, idx_y), TO_OUTPUT_TYPE(+64.0 / 90 * tile.x - 32.0 / 90 * tile.y + 16.0 / 90 * tile.z)); idx_x += Stride;  //if (idx_x >= ySize) { idx_x = idx_x % ySize; idx_y++; }
    write_imagef(output, (int2)(idx_x, idx_y), TO_OUTPUT_TYPE(+90.0 / 90 * tile.z));


#else // OUTPUT_LAYOUT_IMAGE_2D_WEIGHTS_WINOGRAD_6x3_S1_XFBYB
    const uint ySize = OUTPUT_OFM_NUM * OUTPUT_SIZE_Y;
    uint idx = batch_idx % 16 +
        tile_y_idx * output_tile_height * weightsOSplit +
        batch_idx / 16 * weightsOSplit * OUTPUT_SIZE_Y +
        feature_idx * weightsOSplit * OUTPUT_SIZE_Y * oDivSplit +
        tile_x_idx * output_tile_width * weightsOSplit * OUTPUT_SIZE_Y * oDivSplit * INPUT0_IFM_NUM;
    uint idx_x = idx%ySize;
    uint idx_y = idx/ySize;
    const uint Stride = INPUT0_IFM_NUM;

    write_imagef(output, (int2)(idx_x, idx_y), TO_OUTPUT_TYPE(+90.0 / 90 * tile.x)); idx_y += Stride; //if (idx_x >= ySize) { idx_x = idx_x % ySize; idx_y++; }
    write_imagef(output, (int2)(idx_x, idx_y), TO_OUTPUT_TYPE(-20.0 / 90 * tile.x - 20.0 / 90 * tile.y - 20.0 / 90 * tile.z)); idx_y += Stride;  //if (idx_x >= ySize) { idx_x = idx_x % ySize; idx_y++; }
    write_imagef(output, (int2)(idx_x, idx_y), TO_OUTPUT_TYPE(-20.0 / 90 * tile.x + 20.0 / 90 * tile.y - 20.0 / 90 * tile.z)); idx_y += Stride;  //if (idx_x >= ySize) { idx_x = idx_x % ySize; idx_y++; }
    write_imagef(output, (int2)(idx_x, idx_y), TO_OUTPUT_TYPE(+1.0 / 90 * tile.x + 2.0 / 90 * tile.y + 4.0 / 90 * tile.z)); idx_y += Stride;  //if (idx_x >= ySize) { idx_x = idx_x % ySize; idx_y++; }
    write_imagef(output, (int2)(idx_x, idx_y), TO_OUTPUT_TYPE(+1.0 / 90 * tile.x - 2.0 / 90 * tile.y + 4.0 / 90 * tile.z)); idx_y += Stride;  //if (idx_x >= ySize) { idx_x = idx_x % ySize; idx_y++; }
    write_imagef(output, (int2)(idx_x, idx_y), TO_OUTPUT_TYPE(+64.0 / 90 * tile.x + 32.0 / 90 * tile.y + 16.0 / 90 * tile.z)); idx_y += Stride;  //if (idx_x >= ySize) { idx_x = idx_x % ySize; idx_y++; }
    write_imagef(output, (int2)(idx_x, idx_y), TO_OUTPUT_TYPE(+64.0 / 90 * tile.x - 32.0 / 90 * tile.y + 16.0 / 90 * tile.z)); idx_y += Stride;  //if (idx_x >= ySize) { idx_x = idx_x % ySize; idx_y++; }
    write_imagef(output, (int2)(idx_x, idx_y), TO_OUTPUT_TYPE(+90.0 / 90 * tile.z));

#endif


}

// Copyright (c) 2017 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/


#define GET_DATA_INDEX(prefix, b, f, y, x)  \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_INDEX_SAFE(prefix, b, f, y, x)                     \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

 #define GET_3D_DATA_INDEX(prefix, b, f, z, y, x) \
    CAT(prefix, _OFFSET) +                  \
    (x)*CAT(prefix, _X_PITCH) +             \
    (y)*CAT(prefix, _Y_PITCH) +             \
    (z)*CAT(prefix, _Z_PITCH) +             \
    (f)*CAT(prefix, _FEATURE_PITCH) +       \
    (b)*CAT(prefix, _BATCH_PITCH)

#define GET_3D_DATA_INDEX_SAFE(prefix, b, f, z, y, x)               \
    CAT(prefix, _OFFSET) +                                          \
    (x % CAT(prefix, _SIZE_X     ))*CAT(prefix, _X_PITCH) +         \
    (y % CAT(prefix, _SIZE_Y     ))*CAT(prefix, _Y_PITCH) +         \
    (z % CAT(prefix, _SIZE_Z     ))*CAT(prefix, _Z_PITCH) +         \
    (f % CAT(prefix, _FEATURE_NUM))*CAT(prefix, _FEATURE_PITCH) +   \
    (b % CAT(prefix, _BATCH_NUM  ))*CAT(prefix, _BATCH_PITCH)

#define GET_DATA_BS_FYX_BSV8_INDEX(prefix, b, f, y, x, sub_group_size)  \
    CAT(prefix, _OFFSET) +                                              \
    ((b) % (sub_group_size)) +                                          \
    (sub_group_size)*(                                                  \
        (x)*CAT(prefix, _X_PITCH) +                                     \
        (y)*CAT(prefix, _Y_PITCH) +                                     \
        (f)*CAT(prefix, _FEATURE_PITCH) +                               \
        ((b) / (sub_group_size))*CAT(prefix, _BATCH_PITCH)              \
    )

inline uint FUNC(get_bf8_xy16_index)(uint b, uint f, uint y, uint x, uint x_size, uint y_size, uint f_size, uint offset)
{
    const uint xy_idx = x + y * x_size;
    const uint xy_offset = (xy_idx % 16) + (xy_idx / 16) * 16 * 8;
    const uint xy_block_num = (x_size * y_size + 16 - 1) / 16;
    const uint f_offset = (f % 8) * 16 + (f / 8) * xy_block_num * 16 * 8;
    const uint f_block_num = (f_size + 8 - 1) / 8;
    const uint b_offset = b * f_block_num * xy_block_num * 128;

    const size_t idx = offset + xy_offset + f_offset + b_offset;

    return idx;
}

inline uint FUNC(get_bfyx_f16_index)(
    uint b, uint f, uint y, uint x,
    uint x_size, uint y_size, uint f_size,
    uint y_pad_before,uint y_pad_after,
    uint x_pad_before, uint x_pad_after,
    uint f_pad_before, uint f_pad_after)
{
    const uint feature_slice_size = 16;

    const uint full_width = x_size + x_pad_before + x_pad_after;
    const uint full_height = y_size + y_pad_before + y_pad_after;
    const uint full_features = f_pad_before + f_size + f_pad_after;
    const uint feature_tiles_number = (full_features + feature_slice_size - 1) / feature_slice_size;

    const uint x_pitch = feature_slice_size;
    const uint y_pitch = x_pitch * full_width;
    const uint fs_pitch = y_pitch * full_height;
    const uint b_pitch = fs_pitch * feature_tiles_number;

    const uint x_offset = (x + x_pad_before) * x_pitch;
    const uint y_offset = (y + y_pad_before) * y_pitch;
    const uint fs_offset = (f / feature_slice_size + f_pad_before / feature_slice_size) * fs_pitch;
    const uint b_offset = b * b_pitch;

    const size_t idx = x_offset + y_offset + fs_offset + b_offset + (f % feature_slice_size);

    return idx;
}

#define GET_DATA_BFYX_F16_INDEX(prefix, b, f, y, x)     \
    FUNC_CALL(get_bfyx_f16_index)(                      \
        b, f, y, x,                                     \
        CAT(prefix, _SIZE_X ),                          \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _FEATURE_NUM),                      \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_X),                \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _PAD_AFTER_FEATURE_NUM))
reorder_weights_image_winograd_6x3_s1        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



KERNEL(reorder_weights_winograd_2x3_s1)(const __global INPUT0_TYPE* input, __global OUTPUT_TYPE* output)
{
#if OUTPUT_LAYOUT_WINOGRAD_2x3_S1_WEIGHTS
    const uint input_tile_width = 3;
    const uint input_tile_height = 1;
    const uint in_tile_x_idx = get_global_id(0);
    const uint in_tile_y_idx = get_global_id(1);
#else //OUTPUT_LAYOUT_WINOGRAD_2x3_S1_FUSED_WEIGHTS
    const uint input_tile_width = 1;
    const uint input_tile_height = 3;
    const uint in_tile_x_idx = get_global_id(1);
    const uint in_tile_y_idx = get_global_id(0);
#endif

    const uint output_tile_width = 4;
    const uint output_tile_height = 1;

    const uint tile_x_idx = get_global_id(0);
    const uint tile_y_idx = get_global_id(1);
    const uint feature_idx = get_global_id(2) % INPUT0_IFM_NUM;
    const uint batch_idx = get_global_id(2) / INPUT0_IFM_NUM;

    uint in_idx = batch_idx * INPUT0_OFM_PITCH
                 + feature_idx * INPUT0_IFM_PITCH
                 + in_tile_y_idx * input_tile_height * INPUT0_Y_PITCH
                 + in_tile_x_idx * input_tile_width * INPUT0_X_PITCH;

#if OUTPUT_LAYOUT_WINOGRAD_2x3_S1_WEIGHTS
    MAKE_VECTOR_TYPE(INPUT0_TYPE, 4) tile;
    tile.x = input[in_idx]; in_idx += INPUT0_X_PITCH;
    tile.y = input[in_idx]; in_idx += INPUT0_X_PITCH;
    tile.z = input[in_idx];

    uint out_idx = batch_idx * OUTPUT_OFM_PITCH
                  + feature_idx * OUTPUT_IFM_PITCH
                  + tile_y_idx * output_tile_height * OUTPUT_Y_PITCH
                  + tile_x_idx * output_tile_width * OUTPUT_X_PITCH;

    output[out_idx] = TO_OUTPUT_TYPE(tile.x); out_idx += OUTPUT_X_PITCH;
    output[out_idx] = TO_OUTPUT_TYPE((tile.x + tile.y + tile.z) / 2.0f); out_idx += OUTPUT_X_PITCH;
    output[out_idx] = TO_OUTPUT_TYPE((tile.x - tile.y + tile.z) / 2.0f); out_idx += OUTPUT_X_PITCH;
    output[out_idx] = TO_OUTPUT_TYPE(tile.z);
#else //OUTPUT_LAYOUT_WINOGRAD_2x3_S1_FUSED_WEIGHTS
    MAKE_VECTOR_TYPE(INPUT0_TYPE, 4) tile;
    tile.x = input[in_idx]; in_idx += INPUT0_Y_PITCH;
    tile.y = input[in_idx]; in_idx += INPUT0_Y_PITCH;
    tile.z = input[in_idx];

    const uint weightsOSplit = 8;
    const uint oDivSplit = OUTPUT_OFM_NUM / 8;
    uint out_idx = batch_idx % 8 + tile_y_idx * output_tile_height * weightsOSplit +
        tile_x_idx * output_tile_width * weightsOSplit * OUTPUT_SIZE_Y +
        batch_idx / 8 * weightsOSplit * OUTPUT_SIZE_X * OUTPUT_SIZE_Y +
        feature_idx * weightsOSplit * OUTPUT_SIZE_X * OUTPUT_SIZE_Y * oDivSplit;

    output[out_idx] = TO_OUTPUT_TYPE(tile.x); out_idx += weightsOSplit * OUTPUT_SIZE_Y;
    output[out_idx] = TO_OUTPUT_TYPE((tile.x + tile.y + tile.z) / 2.0f); out_idx += weightsOSplit * OUTPUT_SIZE_Y;
    output[out_idx] = TO_OUTPUT_TYPE((tile.x - tile.y + tile.z) / 2.0f); out_idx += weightsOSplit * OUTPUT_SIZE_Y;
    output[out_idx] = TO_OUTPUT_TYPE(tile.z);
#endif
}

reorder_weights_winograd_2x3_s1        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



KERNEL(reorder_weights_winograd_6x3_s1)(const __global INPUT0_TYPE* input, __global OUTPUT_TYPE* output)
{
    const uint input_tile_width = 1;
    const uint input_tile_height = 3;
    const uint in_tile_x_idx = get_global_id(1);
    const uint in_tile_y_idx = get_global_id(0);

    const uint output_tile_width = 8;
    const uint output_tile_height = 1;

    const uint tile_x_idx = get_global_id(0);
    const uint tile_y_idx = get_global_id(1);
    const uint feature_idx = get_global_id(2) % INPUT0_IFM_NUM;
    const uint batch_idx = get_global_id(2) / INPUT0_IFM_NUM;

    uint in_idx = batch_idx * INPUT0_OFM_PITCH
                 + feature_idx * INPUT0_IFM_PITCH
                 + in_tile_y_idx * input_tile_height * INPUT0_Y_PITCH
                 + in_tile_x_idx * input_tile_width * INPUT0_X_PITCH;

    MAKE_VECTOR_TYPE(INPUT0_TYPE, 4) tile;
    tile.x = input[in_idx]; in_idx += INPUT0_Y_PITCH;
    tile.y = input[in_idx]; in_idx += INPUT0_Y_PITCH;
    tile.z = input[in_idx];

    const uint weightsOSplit = 16;
    const uint oDivSplit = OUTPUT_OFM_NUM / 16;

    uint out_idx = batch_idx % 16 +
        tile_y_idx * output_tile_height * weightsOSplit +
        batch_idx / 16 * weightsOSplit * OUTPUT_SIZE_Y +
        feature_idx * weightsOSplit * OUTPUT_SIZE_Y * oDivSplit +
        tile_x_idx * output_tile_width * weightsOSplit * OUTPUT_SIZE_Y * oDivSplit * INPUT0_IFM_NUM;

    output[out_idx] = TO_OUTPUT_TYPE(+90.0 / 90 * tile.x); out_idx += weightsOSplit * OUTPUT_SIZE_Y * oDivSplit * INPUT0_IFM_NUM;
    output[out_idx] = TO_OUTPUT_TYPE(-20.0 / 90 * tile.x - 20.0 / 90 * tile.y - 20.0 / 90 * tile.z); out_idx += weightsOSplit * OUTPUT_SIZE_Y * oDivSplit * INPUT0_IFM_NUM;
    output[out_idx] = TO_OUTPUT_TYPE(-20.0 / 90 * tile.x + 20.0 / 90 * tile.y - 20.0 / 90 * tile.z); out_idx += weightsOSplit * OUTPUT_SIZE_Y * oDivSplit * INPUT0_IFM_NUM;
    output[out_idx] = TO_OUTPUT_TYPE(+1.0 / 90 * tile.x + 2.0 / 90 * tile.y + 4.0 / 90 * tile.z); out_idx += weightsOSplit * OUTPUT_SIZE_Y * oDivSplit * INPUT0_IFM_NUM;
    output[out_idx] = TO_OUTPUT_TYPE(+1.0 / 90 * tile.x - 2.0 / 90 * tile.y + 4.0 / 90 * tile.z); out_idx += weightsOSplit * OUTPUT_SIZE_Y * oDivSplit * INPUT0_IFM_NUM;
    output[out_idx] = TO_OUTPUT_TYPE(+64.0 / 90 * tile.x + 32.0 / 90 * tile.y + 16.0 / 90 * tile.z); out_idx += weightsOSplit * OUTPUT_SIZE_Y * oDivSplit * INPUT0_IFM_NUM;
    output[out_idx] = TO_OUTPUT_TYPE(+64.0 / 90 * tile.x - 32.0 / 90 * tile.y + 16.0 / 90 * tile.z); out_idx += weightsOSplit * OUTPUT_SIZE_Y * oDivSplit * INPUT0_IFM_NUM;
    output[out_idx] = TO_OUTPUT_TYPE(+90.0 / 90 * tile.z);
}

reorder_weights_winograd_6x3_s1// Copyright (c) 2017 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)


#if OUTPUT_LAYOUT_BFYX
    #define IW INPUT0_SIZES[0]
    #define IH INPUT0_SIZES[1]
    #define IC INPUT0_SIZES[2]
    #define B  INPUT0_SIZES[3]

#elif OUTPUT_LAYOUT_YXFB
    #define IW INPUT0_SIZES[3]
    #define IH INPUT0_SIZES[2]
    #define IC INPUT0_SIZES[1]
    #define B  INPUT0_SIZES[0]
#endif

#define ic_off (IC / (STRIDE * STRIDE))
#define ih_off (IH * STRIDE)
#define iw_off (IW * STRIDE)

KERNEL (reorg_yolo_ref)(const __global UNIT_TYPE* input, __global UNIT_TYPE* output)
{
#if OUTPUT_LAYOUT_BFYX
    int ic = get_global_id(2);
    int ih = get_global_id(1);
    int iw = get_global_id(0);
        for (int b = 0; b < B; b++) {
        int dstIndex = b*IC*IH*IW + ic*IH*IW + ih*IW + iw;

        int oc = ic % ic_off;
        int offset = ic / ic_off;

        int ow = iw * STRIDE + offset % STRIDE;
        int oh = ih * STRIDE + offset / STRIDE;

        int srcIndex = b*ic_off*ih_off*iw_off + oc*ih_off*iw_off + oh*iw_off + ow;

        output[dstIndex] = input[srcIndex];
    }
#elif OUTPUT_LAYOUT_YXFB
    int ic = get_global_id(0) / B;
    int ib = get_global_id(0) % B;
    int ih = get_global_id(2);
    int iw = get_global_id(1);
    for (int b = 0; b < B; b++) {
        int dstIndex = ib + ic*B + ih*IC*B + iw*IH*IC*B;

        int oc = ic % ic_off;
        int offset = ic / ic_off;

        int ow = iw * STRIDE + offset % STRIDE;
        int oh = ih * STRIDE + offset / STRIDE;

        int srcIndex = b*ic_off*ih_off*iw_off + oc*ih_off*iw_off + oh*iw_off + ow;

        output[dstIndex] = input[srcIndex];
    }
#endif


}

// Copyright (c) 2017 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)



KERNEL (reshape_ref)(const __global UNIT_TYPE* input, __global UNIT_TYPE* output)
{
    const uint d1 = get_global_id(0);
    const uint d2 = get_global_id(1);
    const uint d3 = get_global_id(2) % INPUT0_SIZES[2];
    const uint d4 = get_global_id(2) / INPUT0_SIZES[2];

    uint linear = d1 + d2*INPUT0_SIZES[0] + d3*INPUT0_SIZES[0]*INPUT0_SIZES[1] + d4*INPUT0_SIZES[0]*INPUT0_SIZES[1]*INPUT0_SIZES[2];

    const uint od1 = linear % OUTPUT_SIZES[0]; linear /= OUTPUT_SIZES[0];
    const uint od2 = linear % OUTPUT_SIZES[1]; linear /= OUTPUT_SIZES[1];
    const uint od3 = linear % OUTPUT_SIZES[2]; linear /= OUTPUT_SIZES[2];
    const uint od4 = linear;

    uint input_offset =  INPUT0_OFFSET +
                         d1*INPUT0_PITCHES[0] +
                         d2*INPUT0_PITCHES[1] +
                         d3*INPUT0_PITCHES[2] +
                         d4*INPUT0_PITCHES[3];
    uint output_offset = OUTPUT_OFFSET +
                         od1*OUTPUT_PITCHES[0] +
                         od2*OUTPUT_PITCHES[1] +
                         od3*OUTPUT_PITCHES[2] +
                         od4*OUTPUT_PITCHES[3];

    output[output_offset] = ACTIVATION(input[input_offset], NL_M ,NL_N);
}

    // [0, 1, 3, 4]                                     # as expected
    // >>> [((x + 1) * 6) // 4 for x in [0, 1, 2, 3]]   # "after" values
    // [1, 3, 4 ,6]                                     # [2, 3, 5, 6] expected!
#if USE_OLD_SCALE_AND_ROUNDING
    const int dx_begin = ((x + 0) * roi_w) / DST_W;
    const int dy_begin = ((y + 0) * roi_h) / DST_H;
    const int dx_after = ((x + 1) * roi_w + (DST_W - 1)) / DST_W;
    const int dy_after = ((y + 1) * roi_h + (DST_H - 1)) / DST_H;

    // clamp in case roi_x or roi_y were unreasonable
    const int x_begin = clamp(roi_x + dx_begin, 0, SRC_W);
    const int y_begin = clamp(roi_y + dy_begin, 0, SRC_H);
    const int x_after = clamp(roi_x + dx_after, 0, SRC_W);
    const int y_after = clamp(roi_y + dy_after, 0, SRC_H);
#else
    const COORD_T dx_begin = (x + 0) * (COORD_T)(roi_w / DST_W);
    const COORD_T dy_begin = (y + 0) * (COORD_T)(roi_h / DST_H);
    const COORD_T dx_after = (x + 1) * (COORD_T)(roi_w / DST_W);
    const COORD_T dy_after = (y + 1) * (COORD_T)(roi_h / DST_H);

    // clamp in case roi_x or roi_y were unreasonable
    const int x_begin = CLAMP(floor(roi_x + dx_begin), 0, SRC_W);
    const int y_begin = CLAMP(floor(roi_y + dy_begin), 0, SRC_H);
    const int x_after = CLAMP(ceil(roi_x + dx_after), 0, SRC_W);
    const int y_after = CLAMP(ceil(roi_y + dy_after), 0, SRC_H);
#endif

#if GROUP_SIZE == 0
    const uint work_c = c;
#else

#if 0
    const COORD_T group_bin_w = (COORD_T)roi_w / DST_W;
    const COORD_T group_bin_h = (COORD_T)roi_h / DST_H;

    const uint group_x = CLAMP(x * group_bin_w, 0, GROUP_SIZE - 1);
    const uint group_y = CLAMP(y * group_bin_h, 0, GROUP_SIZE - 1);
#else
    const uint group_x = x;
    const uint group_y = y;
#endif

    const uint work_c = group_x + GROUP_SIZE * (group_y + GROUP_SIZE * c);
#endif

    const __global INPUT0_TYPE* data = src_data + INPUT0_OFFSET + INPUT0_FEATURE_PITCH*work_c;

#if MAX_POOLING
    ACCUM_T res = x_begin < x_after && y_begin < y_after ? -FLT_MAX : 0;
#else
    ACCUM_T res = 0;
#endif

    for (int yy = y_begin; yy < y_after; ++yy)
    for (int xx = x_begin; xx < x_after; ++xx)
    {
        INPUT0_TYPE val = data[xx*INPUT0_X_PITCH + yy*INPUT0_Y_PITCH];
#if MAX_POOLING
        res = MAX(res, (ACCUM_T)val);
#else
        res = res + (ACCUM_T)val;
#endif
    }

#if (!MAX_POOLING)
    {
        //TODO(ruv): again, differs from the standard fixed size area (?)
        const COORD_T area = (y_after - y_begin) * (x_after - x_begin);
        if (area) res /= area;
    }
#endif

    const uint output_offset = OUTPUT_OFFSET + x*OUTPUT_X_PITCH + y*OUTPUT_Y_PITCH + c*OUTPUT_FEATURE_PITCH + r*OUTPUT_ROI_PITCH;
    dst_data[output_offset] = ACTIVATION((OUTPUT_TYPE)res, NL_M, NL_N);
#endif
}

// Copyright (c) 2016-2017 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)



/****************************************************************************
 *                                                                          *
 *                               Utility Defines                            *
 *                                                                          *
 ***************************************************************************/

// Each RoI is described by 5 elements, the first one being unused. This is
// required for the kernel to have the same API as other implmentations.
#define ROI_NUM_ELEMENTS 5

#define SRC_W INPUT0_SIZE_X
#define SRC_H INPUT0_SIZE_Y
#define DST_W POOLED_WIDTH
#define DST_H POOLED_HEIGHT
#define PITCH_ROI_R INPUT1_BATCH_PITCH

#if GROUP_SIZE == 0
#define DST_C INPUT0_FEATURE_NUM
#else
#define DST_C (GROUP_SIZE ? (INPUT0_FEATURE_NUM / GROUP_SIZE / GROUP_SIZE) : INPUT0_FEATURE_NUM)
#endif

// Note: In the non-ROI_OLD case we keep the coordinates in float instead
//       of using UNIT_TYPE, since with FP16 we might actually lose some
//       precision in the coordinates, given a sufficiently large W or H.
#define COORD_T float
#define ACCUM_T float

#define MIN(a,b) ((a) < (b) ? (a) : (b))
#define MAX(a,b) ((a) > (b) ? (a) : (b))
#define CLAMP(v,l,u) MAX((l),MIN((v),(u)))

#if INPUT1_FEATURE_NUM != ROI_NUM_ELEMENTS
#error - unknown ROI_POOLING kernel type
#endif

/****************************************************************************
 *                                                                          *
 *                                RoI Pooling                               *
 *                                                                          *
 ***************************************************************************/

KERNEL(roi_pooling_gpu)
(
    const __global INPUT0_TYPE * src_data,
    __global OUTPUT_TYPE * dst_data,
    const __global INPUT1_TYPE * src_rois
)
{
    const size_t i = get_global_id(0);

    const uint x = i % DST_W;
    const uint y = i / DST_W % DST_H;
    const uint c = i / DST_W / DST_H % DST_C;
    const uint r = i / DST_W / DST_H / DST_C % OUTPUT_ROI_NUM;
    // const uint b = i / DST_W / DST_H / DST_C / OUTPUT_ROI_NUM; - TODO: support batching correctly
    // Note: The rounding of the coordinates is done prior to the mul
    //       with SPATIAL_SCALE: It makes sense since the resolution of
    //       the pooled data is limited by its dimensions. (Is this clear?)

    const __global INPUT1_TYPE * roi_ptr = &src_rois[PITCH_ROI_R * r];

#if BILINEAR_POOLING
    const uint output_offset = OUTPUT_OFFSET + x*OUTPUT_X_PITCH + y*OUTPUT_Y_PITCH + c*OUTPUT_FEATURE_PITCH + r*OUTPUT_ROI_PITCH;

    COORD_T roi_start_w = roi_ptr[1];
    COORD_T roi_start_h = roi_ptr[2];
    COORD_T roi_end_w   = roi_ptr[3];
    COORD_T roi_end_h   = roi_ptr[4];

    COORD_T height_scale = (roi_end_h - roi_start_h) * (SRC_H - 1) / (COORD_T)(POOLED_HEIGHT - 1);
    COORD_T width_scale  = (roi_end_w - roi_start_w) * (SRC_W - 1) / (COORD_T)(POOLED_WIDTH  - 1);

    COORD_T in_y = y*height_scale + roi_start_h*(COORD_T)(SRC_H - 1);
    COORD_T in_x = x*width_scale  + roi_start_w*(COORD_T)(SRC_W - 1);

    if (in_y < 0 || in_y > (COORD_T)(SRC_H - 1) || in_x < 0 || in_x > (COORD_T)(SRC_W - 1) || roi_ptr[0] == -1) {
        dst_data[output_offset] = ACTIVATION((OUTPUT_TYPE)0, NL_M, NL_N);
        return;
    }

    int top_y_index    = (int)(floor(in_y));
    int bottom_y_index = (int)(min(ceil(in_y), (COORD_T)SRC_H - 1));
    int left_x_index   = (int)(floor(in_x));
    int right_x_index  = (int)(min(ceil(in_x), (COORD_T)SRC_W - 1));

    const __global INPUT0_TYPE* data = src_data + INPUT0_OFFSET + INPUT0_FEATURE_PITCH*c;

    ACCUM_T top_left     = (ACCUM_T)data[top_y_index*INPUT0_Y_PITCH + left_x_index*INPUT0_X_PITCH];
    ACCUM_T top_right    = (ACCUM_T)data[top_y_index*INPUT0_Y_PITCH + right_x_index*INPUT0_X_PITCH];
    ACCUM_T bottom_left  = (ACCUM_T)data[bottom_y_index*INPUT0_Y_PITCH + left_x_index*INPUT0_X_PITCH];
    ACCUM_T bottom_right = (ACCUM_T)data[bottom_y_index*INPUT0_Y_PITCH + right_x_index*INPUT0_X_PITCH];

    ACCUM_T top    = top_left + (top_right - top_left) * (in_x - left_x_index);
    ACCUM_T bottom = bottom_left + (bottom_right - bottom_left) * (in_x - left_x_index);

    ACCUM_T res = top + (bottom - top) * (in_y - top_y_index);

    dst_data[output_offset] = ACTIVATION((OUTPUT_TYPE)res, NL_M, NL_N);
#else

#if USE_OLD_SCALE_AND_ROUNDING
    const int roi_x  = round(roi_ptr[1] * SPATIAL_SCALE);
    const int roi_y  = round(roi_ptr[2] * SPATIAL_SCALE);
    const int roi_x1 = round(roi_ptr[3] * SPATIAL_SCALE);
    const int roi_y1 = round(roi_ptr[4] * SPATIAL_SCALE);

    // The final coordinate is within the ROI and malformed dimensions are treated as 1
    const uint roi_w = max(roi_x1 - roi_x, 0) + 1;
    const uint roi_h = max(roi_y1 - roi_y, 0) + 1;
#else
    const COORD_T roi_x  = (COORD_T)(round(roi_ptr[1]) + 0.f) * SPATIAL_SCALE;
    const COORD_T roi_y  = (COORD_T)(round(roi_ptr[2]) + 0.f) * SPATIAL_SCALE;
    const COORD_T roi_x1 = (COORD_T)(round(roi_ptr[3]) + 1.f) * SPATIAL_SCALE;
    const COORD_T roi_y1 = (COORD_T)(round(roi_ptr[4]) + 1.f) * SPATIAL_SCALE;

    // The final coordinate is within the ROI and malformed dimensions are treated as 1
    const COORD_T roi_w = max(roi_x1 - roi_x, .1f);
    const COORD_T roi_h = max(roi_y1 - roi_y, .1f);
#endif

    // Note that when the "after" is rounded rounded up else we get the last cell,
    // instead of the cell beyond (For "symmetry").
    //
    // For ex. with src being a 6 cell row and dest being a 4 cell one:
    // >>> [((x + 0) * 6) // 4 for x in [0, 1, 2, 3]]   # "begin" values
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



#define LOCAL_SIZE INPUT0_BATCH_NUM

KERNEL(scale_grad_weights_gpu_ref)(
    const __global UNIT_TYPE* input,
    const __global UNIT_TYPE* input_grad,
    __global OUTPUT_TYPE* output,
	__global float* scale,
#if BIAS_TERM
    __global float* bias,
#endif
#if MOMENTUM
    __global float* prev_grad_w,
#if BIAS_TERM
    __global float* prev_grad_b,
#endif
#endif
    const float lr
    )
{
    __local ACCUMULATOR_TYPE grad_sum[LOCAL_SIZE];
    __local ACCUMULATOR_TYPE grad_sum_in[LOCAL_SIZE];

    const uint local_idx = (uint)get_local_id(0);
    const uint f = (uint)get_global_id(1);

    grad_sum[local_idx] = 0;
    grad_sum_in[local_idx] = 0;

    uint grad_idx = GET_DATA_INDEX(INPUT0, local_idx, f, 0, 0);
    for (uint y = 0; y < INPUT0_SIZE_Y; y++)
    {
        for (uint x = 0; x < INPUT0_SIZE_X; x++)
        {
            ACCUMULATOR_TYPE in_g = TO_ACCUMULATOR_TYPE(input_grad[grad_idx]);
            grad_sum[local_idx] += in_g * lr;
            grad_sum_in[local_idx] += in_g * TO_ACCUMULATOR_TYPE(input[grad_idx]) * lr;
            grad_idx += INPUT0_X_PITCH;
        }
        grad_idx += INPUT0_Y_PITCH - INPUT0_SIZE_X * INPUT0_X_PITCH;
    }

    barrier(CLK_LOCAL_MEM_FENCE);

    for(uint offset = LOCAL_SIZE / 2; offset > 0; offset /= 2)
    {
        if (local_idx < offset)
        {
            grad_sum[local_idx] += grad_sum[local_idx + offset];
            grad_sum_in[local_idx] += grad_sum_in[local_idx + offset];
        }
        barrier(CLK_LOCAL_MEM_FENCE);
    }

    if (local_idx == 0)
    {
#if MOMENTUM
    ACCUMULATOR_TYPE update_gradient_w = grad_sum_in[0] + prev_grad_w[f] * MOMENTUM_FACTOR + DECAY_RATE * lr * scale[f];
    scale[f] -= update_gradient_w;
    prev_grad_w[f] = update_gradient_w;
#else
    scale[f] -= grad_sum_in[0] + DECAY_RATE * lr * scale[f];
#endif

#if BIAS_TERM
#if MOMENTUM
    ACCUMULATOR_TYPE update_gradient_b = prev_grad_b[f] * MOMENTUM_FACTOR + grad_sum[0];
    bias[f] -= update_gradient_b;
    prev_grad_b[f] = update_gradient_b;
#else
    bias[f] -= grad_sum[0];
#endif
#endif
    }
}

#undef LOCAL_SIZE

        CAT(prefix, _SIZE_X),                           \
        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



#define GET_INDEX(prefix, num)                                                      \
    CAT(CAT(prefix, num), _OFFSET) +                                                \
    (d1 % CAT(CAT(prefix, num), _SIZES)[0])*CAT(CAT(prefix, num), _PITCHES)[0] +    \
    (d2 % CAT(CAT(prefix, num), _SIZES)[1])*CAT(CAT(prefix, num), _PITCHES)[1] +    \
    (d3 % CAT(CAT(prefix, num), _SIZES)[2])*CAT(CAT(prefix, num), _PITCHES)[2] +    \
    (d4 % CAT(CAT(prefix, num), _SIZES)[3])*CAT(CAT(prefix, num), _PITCHES)[3]

#define INPUT_0 input0[GET_INDEX(INPUT, 0)]
#define INPUT_1 input1[GET_INDEX(INPUT, 1)]
#define INPUT_2 input2[GET_INDEX(INPUT, 2)]

KERNEL(select)(
    INPUTS_DECLS
    __global OUTPUT_TYPE* output)
{

const uint d1  = (uint) get_global_id(0);
const uint d2  = (uint) get_global_id(1);
const uint d34 = (uint) get_global_id(2);

const uint d3  = d34 % OUTPUT_SIZES[2];
const uint d4  = d34 / OUTPUT_SIZES[2];

uint output_offset = OUTPUT_OFFSET +
                     d1*OUTPUT_PITCHES[0] +
                     d2*OUTPUT_PITCHES[1] +
                     d3*OUTPUT_PITCHES[2] +
                     d4*OUTPUT_PITCHES[3];

const OUTPUT_TYPE res = select(INPUT_1, INPUT_0, MASK);

output[output_offset] = res;
}

// Copyright (c) 2016-2017 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)



__attribute__((reqd_work_group_size(LWS, 1, 1)))
KERNEL (softmax_gpu_continoues_bfyx)(const __global UNIT_TYPE* input, __global UNIT_TYPE* output)
{
    const uint data_set_idx = get_global_id(1);     //in processing of which data set this WI participates?
    const uint workers_per_data_set = LWS;          //how many WI participates in processing of one data set
    const uint in_data_set_idx = get_global_id(0);  //this WI's id in group of items processing single data set
    const uint data_set_size = DATA_SET_SIZE;       //how many elements are in one data set
    const uint data_sets_count = DATA_SETS_COUNT;   //how many data sets are in the processing payload

    const uint data_set_offset = data_set_idx * data_set_size;
    const uint my_data_offset = data_set_offset + in_data_set_idx;

    UNIT_TYPE my_chunk[ITEMS_NUM + 1];
    UNIT_TYPE my_maximum = -UNIT_VAL_MAX;
    UNIT_TYPE my_sum = UNIT_VAL_ZERO;
    UNIT_TYPE tmp;

    __local UNIT_TYPE lg_storage[LWS];

    //each WI reads ITEMS_NUM consecutive items from batch
    for (uint i=0; i<ITEMS_NUM; ++i)
    {
        tmp = input[my_data_offset + i * workers_per_data_set];
        my_maximum = max(my_maximum, tmp);
        my_chunk[i] = tmp;
    }

    if (in_data_set_idx < LEFTOVERS)
    {
        tmp = input[data_set_offset + workers_per_data_set * ITEMS_NUM + in_data_set_idx];
        my_maximum = max(my_maximum, tmp);
        my_chunk[ITEMS_NUM] = tmp;
    }

    lg_storage[in_data_set_idx] = my_maximum;

    barrier(CLK_LOCAL_MEM_FENCE);
    if (in_data_set_idx == 0)
    {
        for (uint i=1; i<LWS; ++i)
            my_maximum = max(my_maximum, lg_storage[i]);

        lg_storage[0] = my_maximum;
    }
    barrier(CLK_LOCAL_MEM_FENCE);

    //my_maximum from this point is in fact global maximum
    my_maximum = lg_storage[0];

    barrier(CLK_LOCAL_MEM_FENCE);

    for (uint i=0; i<ITEMS_NUM; ++i)
    {
        tmp = native_exp(my_chunk[i] - my_maximum);
        my_sum += tmp;
        my_chunk[i] = tmp;
    }

    if (in_data_set_idx < LEFTOVERS)
    {
        tmp = native_exp(my_chunk[ITEMS_NUM] - my_maximum);
        my_sum += tmp;
        my_chunk[ITEMS_NUM] = tmp;
    }

    lg_storage[in_data_set_idx] = my_sum;

    barrier(CLK_LOCAL_MEM_FENCE);
    if (in_data_set_idx == 0)
    {
        for (uint i=1; i<LWS; ++i)
            my_sum += lg_storage[i];

        lg_storage[0] = my_sum;
    }
    barrier(CLK_LOCAL_MEM_FENCE);

    my_sum = lg_storage[0];

    for (uint i=0; i<ITEMS_NUM; ++i)
        output[my_data_offset + i * workers_per_data_set] = ACTIVATION(my_chunk[i] / my_sum, NL_M ,NL_N);
    if (in_data_set_idx < LEFTOVERS)
        output[data_set_offset + workers_per_data_set * ITEMS_NUM + in_data_set_idx] = ACTIVATION(my_chunk[ITEMS_NUM] / my_sum, NL_M ,NL_N);
}

// Copyright (c) 2016-2017 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)



UNIT_TYPE FUNC(find_max_value)(__local UNIT_TYPE* partial_max, const int global_id, const int idx, const int batch_offset, const int data_sets_count, const __global UNIT_TYPE* input)
{
    UNIT_TYPE value = -UNIT_VAL_MAX;
    for(int i = 0; i < ITEMS_NUM; i++)
    {
        value = max(value, input[LWS * i + global_id]);
    }
    value = max(value, global_id < LEFTOVERS? input[LWS * ITEMS_NUM + global_id] : -UNIT_VAL_MAX);
    partial_max[global_id] = value;

    barrier(CLK_LOCAL_MEM_FENCE);
    if(global_id < data_sets_count)
    {
        for(int i = 1; i < LWS / data_sets_count; i++)
        {
            partial_max[batch_offset] = max(partial_max[batch_offset], partial_max[i*data_sets_count + batch_offset]);
        };
    }
    barrier(CLK_LOCAL_MEM_FENCE);
    return partial_max[batch_offset];
}

KERNEL (softmax_gpu_continoues_yxfb)(const __global UNIT_TYPE* input, __global UNIT_TYPE* output)
{
    const uint data_sets_count = DATA_SETS_COUNT;   //how many data sets are in the processing payload

    const int global_id = get_global_id(0);
    const int idx = global_id / data_sets_count;

    const int batch_offset = global_id % data_sets_count;

    __local UNIT_TYPE partial_max[LWS];
    const UNIT_TYPE max_value = FUNC_CALL(find_max_value)(partial_max, global_id, idx, batch_offset, data_sets_count, input);

    UNIT_TYPE tmp_vals[ITEMS_NUM + 1];
    for(int i = 0; i < ITEMS_NUM; i++)
    {
        tmp_vals[i] = native_exp(input[LWS * i + global_id] - max_value);
    }
    tmp_vals[ITEMS_NUM] = global_id < LEFTOVERS ? native_exp(input[LWS * ITEMS_NUM + global_id] - max_value) : UNIT_VAL_ZERO;

    // accumulate all values;
    __local UNIT_TYPE partial_acc[LWS]; // all values accumulated;
    partial_acc[global_id] = UNIT_VAL_ZERO;
    for(int i = 0; i < ITEMS_NUM + 1; i++)
    {
        partial_acc[global_id] += tmp_vals[i];
    }

    barrier(CLK_LOCAL_MEM_FENCE); // we must be sure that all threads calculated max of elements(we can remove it if simd32 and GWS <= 32
    if(global_id < data_sets_count)
    {
        for(int i = 1; i < LWS/data_sets_count; i++)
        {
            partial_acc[batch_offset] += partial_acc[i*data_sets_count + batch_offset];
        }
    }
    barrier(CLK_LOCAL_MEM_FENCE);
    for(int i = 0; i < ITEMS_NUM; i++)
    {
        output[LWS * i + global_id] = ACTIVATION(tmp_vals[i] / partial_acc[batch_offset], NL_M ,NL_N);
    }
    if(global_id < LEFTOVERS)
        output[LWS * ITEMS_NUM + global_id] = ACTIVATION(tmp_vals[ITEMS_NUM] / partial_acc[batch_offset], NL_M ,NL_N);
}

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)



#define DATA_PER_WORKITEM ( (INPUT0_CLASS_NUM + (WORKITEMS_PER_CLASSES - 1) ) / WORKITEMS_PER_CLASSES)
#define FULL_ITERATIONS_NUM (INPUT0_CLASS_NUM / WORKITEMS_PER_CLASSES)

__attribute__((intel_reqd_sub_group_size(16)))
KERNEL(softmax_items_class_optimized)(__global INPUT0_TYPE* input, __global OUTPUT_TYPE* output)
{
    const uint other0 = get_group_id(0);
    const uint other1 = get_group_id(1);
    const uint batch  = get_group_id(2);
    const uint simd_lane = get_sub_group_local_id();

    const uint in_depth_offset  = batch*INPUT0_BATCH_PITCH + other1*INPUT0_OTHER1_PITCH + other0*INPUT0_OTHER0_PITCH + INPUT0_OFFSET;
    const uint out_depth_offset = batch*OUTPUT_BATCH_PITCH + other1*OUTPUT_OTHER1_PITCH + other0*OUTPUT_OTHER0_PITCH + OUTPUT_OFFSET;

    UNIT_TYPE max_value = UNIT_VAL_MIN;
    UNIT_TYPE data[DATA_PER_WORKITEM];

    // PART 1. Calculate MAX value
    uint input_idx = in_depth_offset + simd_lane * INPUT0_CLASS_PITCH;
    for (uint cls = 0; cls < FULL_ITERATIONS_NUM; cls++)
    {
        UNIT_TYPE in = input[input_idx];
        max_value = max(max_value, in);
        data[cls] = in;
        input_idx += WORKITEMS_PER_CLASSES*INPUT0_CLASS_PITCH;
    }
    if(simd_lane < LEFTOVERS)
    {
        UNIT_TYPE in = input[input_idx];
        max_value = max(max_value, in);
        data[DATA_PER_WORKITEM-1] = in;
    }
    max_value = sub_group_reduce_max(max_value);

    // PART 2. Calculate DENOMINATOR
    // TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
    ACCUMULATOR_TYPE denominator = 0.0;
    for (uint cls = 0; cls < FULL_ITERATIONS_NUM; cls++)
    {
        data[cls] = native_exp(data[cls] - max_value);
        denominator += data[cls];
    }
    if(simd_lane < LEFTOVERS)
    {
        data[DATA_PER_WORKITEM-1] = native_exp(data[DATA_PER_WORKITEM-1] - max_value);
        denominator += data[DATA_PER_WORKITEM-1];
    }

    denominator = sub_group_reduce_add(denominator);

    // PART 3. Write out results
    uint output_idx = out_depth_offset + simd_lane * OUTPUT_CLASS_PITCH;
    for (uint cls = 0; cls < FULL_ITERATIONS_NUM; cls++)
    {
        const UNIT_TYPE res = data[cls] / (UNIT_TYPE)denominator;
        output[output_idx] = ACTIVATION(res, NL_M, NL_N);
        output_idx += WORKITEMS_PER_CLASSES * OUTPUT_CLASS_PITCH;
    }
    if(simd_lane < LEFTOVERS)
    {
        const UNIT_TYPE res = data[DATA_PER_WORKITEM-1] / (UNIT_TYPE)denominator;
        output[output_idx] = ACTIVATION(res, NL_M, NL_N);
    }
}

#undef FULL_ITERATIONS_NUM
#undef DATA_PER_WORKITEM

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)



__attribute__((intel_reqd_sub_group_size(16)))
KERNEL(softmax)(__global INPUT0_TYPE* input, __global OUTPUT_TYPE* output)
{
    const uint other0 = get_global_id(0);
    const uint other1 = get_global_id(1);
    const uint batch  = get_global_id(2);

    const uint in_depth_offset  = batch*INPUT0_BATCH_PITCH + other1*INPUT0_OTHER1_PITCH + other0*INPUT0_OTHER0_PITCH + INPUT0_OFFSET;
    const uint out_depth_offset = batch*OUTPUT_BATCH_PITCH + other1*OUTPUT_OTHER1_PITCH + other0*OUTPUT_OTHER0_PITCH + OUTPUT_OFFSET;

    UNIT_TYPE max_value = UNIT_VAL_MIN;
    UNIT_TYPE data[INPUT0_CLASS_NUM];

    for (uint cls = 0; cls < INPUT0_CLASS_NUM; ++cls)
    {
        const uint index = in_depth_offset + cls*INPUT0_CLASS_PITCH;
        UNIT_TYPE in = input[index];
        max_value = max(max_value, in);
        data[cls] = in;
    }

    // TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
    ACCUMULATOR_TYPE denominator = 0.0;
    for (uint cls = 0; cls < INPUT0_CLASS_NUM; ++cls)
    {
        data[cls] = native_exp(data[cls] - max_value);;
        denominator += data[cls];
    }

    for (uint cls = 0; cls < INPUT0_CLASS_NUM; ++cls)
    {
        const UNIT_TYPE res = data[cls] / (UNIT_TYPE)denominator;
        const uint output_idx = out_depth_offset + cls*OUTPUT_CLASS_PITCH;
        output[output_idx] = ACTIVATION(res, NL_M, NL_N);
    }
}

        CAT(prefix, _PAD_AFTER_SIZE_X),                 \
        CAT(prefix, _PAD_BEFORE_SIZE_Y),                \
        CAT(prefix, _SIZE_Y),                           \
        CAT(prefix, _PAD_AFTER_SIZE_Y),                 \
        CAT(prefix, _PAD_BEFORE_FEATURE_NUM),           \
        CAT(prefix, _BATCH_NUM))

inline uint FUNC(get_fs_b_yx_fsv32_index)(uint b, uint f, uint y, uint x,
                                          uint x_pad_before, uint x_size, uint x_pad_after,
                                          uint y_pad_before, uint y_size, uint y_pad_after,
                                          uint f_pad_before,
                                          uint size_b)
{
    const uint feature_tile_size = 32;                             // size of the feature tile (slice)

    const uint x_total_size = x_pad_before + x_size + x_pad_after; // total size of x before padding
    const uint y_total_size = y_pad_before + y_size + y_pad_after; // total size of y before padding

    const uint real_x = x + x_pad_before;                          // x before padding
    const uint real_y = y + y_pad_before;                          // y before padding
    const uint real_f = f + f_pad_before;                          // f before padding

    const uint x_pitch = feature_tile_size;                        // difference in location between (x+1) and (x)
    const uint y_pitch = x_pitch * x_total_size;                   // difference in location between (y+1) and (y)
    const uint b_pitch = y_pitch * y_total_size;                   // difference in location between (b+1) and (b)
    const uint f_tile_pitch = b_pitch * size_b;                    // difference in location between (fs+1) and (fs)

    const uint feature_tile_number = real_f / feature_tile_size;        // number of tile which feature belongs to
    const uint feature_local_number = real_f % feature_tile_size;       // local number of feature in tile

    size_t index = 0;

    index += feature_tile_number * f_tile_pitch; // locate beginning of feature tile
    index += b * b_pitch;                        // locate beginning of batch
    index += real_y * y_pitch;                   // locate beginning of y with respect to padding
    index += real_x * x_pitch;                   // locate beginning of x with respect to padding
    index += feature_local_number;               // find requested index by adding feature location in tile

    return index;
}


#define DECLARE_SAMPLER const sampler_t imageSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST

#if FP16_UNIT_USED
    #define IMAGE_READ(image, coord) read_imageh((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imageh((image), (coord), (val))
#else
    #define IMAGE_READ(image, coord) read_imagef((image), imageSampler, (coord))
    #define IMAGE_WRITE(image, coord, val) write_imagef((image), (coord), (val))
#endif



KERNEL(softmax_loss_grad_gpu_ref)(
    const __global INPUT0_TYPE* input_pred,
    __global OUTPUT_TYPE* output,
    const __global INPUT1_TYPE* labels
    )
{
    const uint b_x          = get_global_id(0);
    const uint batch_id     = b_x / OUTPUT_SIZE_X;
    const uint x            = b_x % OUTPUT_SIZE_X;

    const uint input_pred_idx = GET_DATA_INDEX(INPUT0, batch_id, 0, 0, x);
    const uint labels_idx = GET_DATA_INDEX(INPUT1, batch_id, 0, 0, 0);

    UNIT_TYPE label = labels[labels_idx];
    const uint output_idx = GET_DATA_INDEX(OUTPUT, batch_id, 0, 0, x);

    if(label == x)
        output[output_idx] = input_pred[input_pred_idx] - 1;
    else
        output[output_idx] = input_pred[input_pred_idx];
}

// Copyright (c) 2018 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)


#if DENSE
__attribute__((intel_reqd_sub_group_size(16)))
__attribute__((reqd_work_group_size(16, 1, 1)))
#endif
KERNEL (tile_ref)(const __global UNIT_TYPE* input, __global UNIT_TYPE* output)
{
#if DENSE

    const uint id = get_global_id(0);
    const uint group_id = id / 16;
    const uint lid = get_local_id(0);
    const uint idx = min((uint)(id), (uint)(OUTER_SIZE - 1));
    UNIT_TYPE val = input[idx];

    for (int t = 0; t < TILES; t++)
    {
        UNIT_TYPE save_val = intel_sub_group_shuffle(val, (t*16 + lid)/TILES);
        int offset = group_id*16*TILES + t*16 + lid;
        if (offset < OUTPUT_ELEMENTS)
            output[offset] = save_val;
    }
#else
    const uint outer_idx = get_global_id(0);
    const uint inner_idx = get_global_id(1);
    if (inner_idx >= AXIS_PITCH) return;

    for (int t = 0; t < TILES; t++)
    {
        output[outer_idx*TILES*AXIS_PITCH + t*AXIS_PITCH + inner_idx] = input[outer_idx*AXIS_PITCH + inner_idx];
    }
#endif
}

tile_ref/*
// Copyright (c) 2017 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

#if defined(cl_khr_fp16)
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
#endif

#define __CAT(x, y) x##y
#define CAT(x, y) __CAT(x, y)

#define __CAT_FUNC(x, y) FUNC(x##y)
#define CAT_FUNC(x, y) __CAT_FUNC(x, y)

#define __CAT_FUNC_CALL(x, y) FUNC_CALL(x##y)
#define CAT_FUNC_CALL(x, y) __CAT_FUNC_CALL(x, y)

#define OFFSET_GLOBAL_PTR(elem_type, ptr, byte_offset) ((__global elem_type*)((__global char*)(ptr) + (byte_offset)))
#define MULTIPLY_OFFSET(elem_type, byte_offset) ((byte_offset) * sizeof(elem_type))

/*
// Copyright (c) 2016 Intel Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
*/

// TODO: currently we calculate on float32 because it's lot of "add" operation and it stuck on the value "8192.0f"
#if !defined(ACCUMULATOR_TYPE)
    #define ACCUMULATOR_TYPE float
    #define TO_ACCUMULATOR_TYPE(v) (float)(v)
    #define ACCUMULATOR_TYPE_ZERO 0.0f
#endif

// Creates vector type.
#define MAKE_VECTOR_TYPE(elem_type, size) CAT(elem_type, size)


KERNEL (upsampling_gpu_ref)(__global UNIT_TYPE* input, __global UNIT_TYPE* output)
{
#if defined OUTPUT_LAYOUT_YXFB
    const uint x = get_global_id(1);
    const uint y = get_global_id(2);
#if OUTPUT_BATCH_NUM == 1
    const uint feature = get_global_id(0);
    const uint batch = 0;
#else
    const uint feature = get_global_id(0) % OUTPUT_FEATURE_NUM;
    const uint batch = get_global_id(0) / OUTPUT_FEATURE_NUM;
#endif
#else
    const uint x = get_global_id(0);
    const uint y = get_global_id(1);
#if OUTPUT_BATCH_NUM == 1
    const uint feature = get_global_id(2);
    const uint batch = 0;
#else
    const uint feature = get_global_id(2) % OUTPUT_FEATURE_NUM;
    const uint batch = get_global_id(2) / OUTPUT_FEATURE_NUM;
#endif
#endif

    const uint dst_index = batch*OUTPUT_BATCH_PITCH + feature*OUTPUT_FEATURE_PITCH + y*OUTPUT_Y_PITCH + x*OUTPUT_X_PITCH + OUTPUT_OFFSET;

    const uint src_x = floor(x * X_RATIO);
    const uint src_y = floor(y * Y_RATIO);
    const uint src_index = batch*INPUT0_BATCH_PITCH + feature*INPUT0_FEATURE_PITCH + src_y*INPUT0_Y_PITCH + src_x*INPUT0_X_PITCH + INPUT0_OFFSET;
    output[dst_index] = input[src_index];

}

 in primitive database.cannot find the kernel ��J�`��p�����@p����{�`u
�0�����������J�`���p�����q����{�`u
�0���������q���J�`���p�����@r����{�`u
�0���������q�8�J�`���p������r����{�`u
�0��������@s���J�`���p������u����{�`u
�0���������q�X�J�`��@��`���y���J�`��@������y�X�J�`��@������y���J�`��@��0���y�X�J�`��@�����y�BORDER_VALUE��J� ���X�J����@��p��y���J�`��@��@��y�BROADCAST_ORDERX�J�`��@��0��y�DIM_FDIM_BREDUCE_SEEDa + bREDUCE_OPERATION(a, b)a * ba && ba || bUNIT_VAL_MINUNIT_MAX_FUNC(a,b)��J�`��@�����y�TRANSPOSE_INPUT1TRANSPOSE_INPUT2OUT_BIAS_TERMX�J�`��@��@6��y�AXES_NUMBERREVERSEREVERSE_AXIS_SIZEREVERSE_��J�`��@���F��y�SCALE_TABLETHRESHOLDX�J�`��@��PV��y���8ONE_HOT_AXISONE_HOT_LIMIT��J�`��@��b��y�X�J�`��@��k��y�h�6M%����+�bad allocation��J�@w�`x�bad function callX�J�@w� ��
�5m o&��R
���
7d	�)pP'
({W!'�'��
2�na	�i)� 

'
@'dA'e?'f5'g'	E'jM'kF'l7'm'Q'n4'p'&'H'q('8'sO'&B'tD'uC'vG'w:'{I'~6'�='�;'�9'�L'�3'�f@BF�d`BF�epBF�q�BF��BF�!�BF��BF�	�BF�h�BF� CF�jCF�g0CF�kPCF�lhCF��CF�m�CF��CF�)�CF��CF�DF�DF�& DF�(8DF�nPDF�ohDF�*�DF��DF��DF��DF��DF��DF�EF�sEF�t(EF�u8EF�vHEF�w`EF�
pEF�y�EF�'�EF�x�EF�z�EF�{�EF��EF�|FF�FF�8FF�HFF�hFF�xFF���FF�}�FF�~�FF��FF���FF�i�FF�p�FF�GF��(GF��@GF��XGF�
hGF���GF���GF��GF�$�GF��GF�"HF�HF��0HF��@HF��PHF�`HF��HF��HF�r�HF���HF���HF�address family not supportedaddress in useaddress not availablealready connectedargument list too longargument out of domainbad addressbad file descriptorbad messagebroken pipeconnection abortedconnection already in progressconnection refusedconnection resetcross device linkdestination address requireddevice or resource busydirectory not emptyexecutable format errorfile existsfile too largefilename too longfunction not supportedhost unreachableidentifier removedillegal byte sequenceinappropriate io control operationinterruptedinvalid argumentinvalid seekio erroris a directorymessage sizenetwork downnetwork resetnetwork unreachableno buffer spaceno child processno linkno lock availableno message availableno messageno protocol optionno space on deviceno stream resourcesno such device or addressno such deviceno such file or directoryno such processnot a directorynot a socketnot a streamnot connectednot enough memorynot supportedoperation canceledoperation in progressoperation not permittedoperation not supportedoperation would blockowner deadpermission deniedprotocol errorprotocol not supportedread only file systemresource deadlock would occurresource unavailable try againresult out of rangestate not recoverablestream timeouttext file busytimed outtoo many files open in systemtoo many files opentoo many linkstoo many symbolic link levelsvalue too largewrong protocol typeunknown error��J��z� L�`>�*C����������J�0��Ѕ�Ѕ�0����@�J�@������@������J� ������� �����CF��DF�hFF��FF�GF��GF��GF�$@�J��������[�Ph�ph�generic�JF��JF��JF��JF��JF��JF��JF��JF��JF��JF��JF��JF�KF�KF�rwarbwbabr+w+a+r+bw+ba+bkernel32.dllFlsAllocFlsFreeFlsGetValueFlsSetValueInitializeCriticalSectionExInitOnceExecuteOnceCreateEventExWCreateSemaphoreWCreateSemaphoreExWCreateThreadpoolTimerSetThreadpoolTimerWaitForThreadpoolTimerCallbacksCloseThreadpoolTimerCreateThreadpoolWaitSetThreadpoolWaitCloseThreadpoolWaitFlushProcessWriteBuffersFreeLibraryWhenCallbackReturnsGetCurrentProcessorNumberCreateSymbolicLinkWGetCurrentPackageIdGetTickCount64GetFileInformationByHandleExSetFileInformationByHandleGetSystemTimePreciseAsFileTimeInitializeConditionVariableWakeConditionVariableWakeAllConditionVariableSleepConditionVariableCSInitializeSRWLockAcquireSRWLockExclusiveTryAcquireSRWLockExclusiveReleaseSRWLockExclusiveSleepConditionVariableSRWCreateThreadpoolWorkSubmitThreadpoolWorkCloseThreadpoolWorkCompareStringExGetLocaleInfoExLCMapStringEx-0123456789abcdefghijklmnopqrstuvwxyz!


					0123456789abcdefghijklmnopqrstuvwxyzA)!





0mF�8mF�@mF�HmF�XmF�`mF�hmF�pmF�	xmF�
�mF��mF��mF�
�mF��mF��mF��mF��mF��mF��mF��mF��mF��mF��mF��mF��mF�nF�nF�nF�nF� nF� (nF�!0nF�"8nF�#@nF�$HnF�%PnF�&XnF�'`nF�)hnF�*pnF�+xnF�,�nF�-�nF�/�nF�6�nF�7�nF�8�nF�9�nF�>�nF�?�nF�@�nF�A�nF�C�nF�D�nF�F�nF�G�nF�I�nF�JoF�KoF�NoF�OoF�P oF�V(oF�W0oF�Z8oF�e@oF�PF�HoF�XoF�hoF�xoF��oF��oF��oF��oF�	�oF��oF��oF�
�oF�pF�pF�(pF�8pF�HpF�XpF�hpF�xpF��pF��pF��pF��pF��pF��pF��pF��pF�qF� qF�!(qF�"8qF�#HqF�$XqF�%hqF�&xqF�'�qF�)�qF�*�qF�+�qF�,�qF�-�qF�/�qF�2rF�4rF�5 rF�60rF�7@rF�8PrF�9`rF�:prF�;�rF�>�rF�?�rF�@�rF�A�rF�C�rF�D�rF�E�rF�FsF�GsF�I(sF�J8sF�KHsF�LXsF�NhsF�OxsF�P�sF�R�sF�V�sF�W�sF�Z�sF�e�sF�k�sF�l�sF��tF�tF�(tF�8tF�	HtF�
XtF�htF�xtF��tF��tF��tF��tF��tF�,�tF�;�tF�>uF�CuF�k0uF�@uF�PuF�`uF�	puF�
�uF��uF��uF�;�uF�k�uF��uF��uF��uF�	vF�
vF�(vF�8vF�;HvF�XvF�hvF�xvF�	�vF�
�vF��vF��vF�;�vF��vF�	�vF�
wF�wF� wF�;8wF�HwF�	XwF�
hwF�xwF�;�wF� �wF�	 �wF�
 �wF�; �wF�$�wF�	$�wF�
$xF�;$xF�( xF�	(0xF�
(@xF�,PxF�	,`xF�
,pxF�0�xF�	0�xF�
0�xF�4�xF�	4�xF�
4�xF�8�xF�
8�xF�<yF�
<yF�@ yF�
@0yF�
D@yF�
HPyF�
L`yF�
PpyF�|�yF�|�yF�PF�B�nF�,�yF�q0mF��yF���yF���yF���yF���yF���yF��zF��zF��(zF��8zF��HzF��XzF��hzF�CxzF���zF���zF���nF�)�zF���zF�k@nF�!�zF�c8mF��zF�D�zF�}{F��@mF� {F�EXmF�0{F�G@{F��`mF�P{F�HhmF�`{F��p{F���{F�I�{F���{F��@oF�A�{F��pmF��{F�JxmF��{F���{F���{F��|F��|F�� |F��0|F��@|F��P|F��`|F��p|F�K�|F���|F���mF�	�|F���|F���|F���|F���|F���|F��}F��}F�� }F��0}F��@}F��P}F��`}F��p}F���}F���}F���}F���}F���}F��PnF�#�}F�e�nF�*�}F�lhnF�&�}F�h�mF�
~F�L�nF�.~F�s�mF� ~F��0~F��@~F��P~F�M`~F��p~F��(oF�>�~F���nF�7�~F��mF��~F�N�nF�/�~F�t�mF��~F���~F�Z�mF�
�~F�OxnF�(�~F�j0nF�F�a�mF�F�P�mF� F��0F�Q�mF�@F�R�nF�-PF�r�nF�1`F�xoF�:pF���mF��F�S0oF�?�F���nF�2�F�y`nF�%�F�gXnF�$�F�f�F���nF�+�F�m�F�� oF�=�F��oF�;�F���nF�0 �F��0�F�w@�F�uP�F�U�mF�`�F��p�F�T��F���mF���F���nF�6��F�~�mF���F�V�mF���F�WЀF���F���F���F���mF��F�X�mF� �F�YoF�<0�F��@�F��P�F�v`�F��nF�p�F�[HnF�"��F�d��F����F����F����F��ЁF���F��nF��F�\�yF���F���F��0�F��H�F��nF�`�F��p�F�]�nF�3��F�z8oF�@��F���nF�8��F��oF�9��F��nF���F�^ЂF�n nF��F�_�nF�5�F�|8nF� �F�b(nF��F�`�nF�4 �F��8�F�{pnF�'P�F�i`�F�op�F���F����F����F����F����F��ЃF�F�F�parbgcazh-CHScsdadeelenesfifrhehuisitjakonlnoplptroruhrsksqsvthtruridukbesletlvltfavihyazeumkafkafohimskkkyswuzttpagutateknmrsamnglkoksyrdivar-SAbg-BGca-ESzh-TWcs-CZda-DKde-DEel-GRen-USfi-FIfr-FRhe-ILhu-HUis-ISit-ITja-JPko-KRnl-NLnb-NOpl-PLpt-BRro-ROru-RUhr-HRsk-SKsq-ALsv-SEth-THtr-TRur-PKid-IDuk-UAbe-BYsl-SIet-EElv-LVlt-LTfa-IRvi-VNhy-AMaz-AZ-Latneu-ESmk-MKtn-ZAxh-ZAzu-ZAaf-ZAka-GEfo-FOhi-INmt-MTse-NOms-MYkk-KZky-KGsw-KEuz-UZ-Latntt-RUbn-INpa-INgu-INta-INte-INkn-INml-INmr-INsa-INmn-MNcy-GBgl-ESkok-INsyr-SYdiv-MVquz-BOns-ZAmi-NZar-IQzh-CNde-CHen-GBes-MXfr-BEit-CHnl-BEnn-NOpt-PTsr-SP-Latnsv-FIaz-AZ-Cyrlse-SEms-BNuz-UZ-Cyrlquz-ECar-EGzh-HKde-ATen-AUes-ESfr-CAsr-SP-Cyrlse-FIquz-PEar-LYzh-SGde-LUen-CAes-GTfr-CHhr-BAsmj-NOar-DZzh-MOde-LIen-NZes-CRfr-LUbs-BA-Latnsmj-SEar-MAen-IEes-PAfr-MCsr-BA-Latnsma-NOar-TNen-ZAes-DOsr-BA-Cyrlsma-SEar-OMen-JMes-VEsms-FIar-YEen-CBes-COsmn-FIar-SYen-BZes-PEar-JOen-TTes-ARar-LBen-ZWes-ECar-KWen-PHes-CLar-AEes-UYar-BHes-PYar-QAes-BOes-SVes-HNes-NIes-PRzh-CHTsraf-zaar-aear-bhar-dzar-egar-iqar-joar-kwar-lbar-lyar-maar-omar-qaar-saar-syar-tnar-yeaz-az-cyrlaz-az-latnbe-bybg-bgbn-inbs-ba-latnca-escs-czcy-gbda-dkde-atde-chde-dede-lide-ludiv-mvel-gren-auen-bzen-caen-cben-gben-ieen-jmen-nzen-phen-tten-usen-zaen-zwes-ares-boes-cles-coes-cres-does-eces-eses-gtes-hnes-mxes-nies-paes-pees-pres-pyes-sves-uyes-veet-eeeu-esfa-irfi-fifo-fofr-befr-cafr-chfr-frfr-lufr-mcgl-esgu-inhe-ilhi-inhr-bahr-hrhu-huhy-amid-idis-isit-chit-itja-jpka-gekk-kzkn-inko-krkok-inky-kglt-ltlv-lvmi-nzmk-mkml-inmn-mnmr-inms-bnms-mymt-mtnb-nonl-benl-nlnn-nons-zapa-inpl-plpt-brpt-ptquz-boquz-ecquz-pero-roru-rusa-inse-fise-nose-sesk-sksl-sisma-nosma-sesmj-nosmj-sesmn-fisms-fisq-alsr-ba-cyrlsr-ba-latnsr-sp-cyrlsr-sp-latnsv-fisv-sesw-kesyr-syta-inte-inth-thtn-zatr-trtt-ruuk-uaur-pkuz-uz-cyrluz-uz-latnvi-vnxh-zazh-chszh-chtzh-cnzh-hkzh-mozh-sgzh-twzu-za��J��������������������api-ms-win-core-synch-l1-2-0.dllp�����p"Q�#Q�8�J�@w� ��Lock already taken��J�P�� ��SetThreadGroupAffinityGetThreadGroupAffinityGetCurrentProcessorNumberExGetLogicalProcessorInformationEx8�J�P�� ����J�@w� ��@�J�@w� ����J�@w� ��@�J�@w� ����J�@w� ��@�J�@w� ����J�@w� ��@�J�@w� ����J�@w� ��@�J�@w� ����J�@w� ��@�J�@w� ��`�J�`��@���J����P��`���� ��`�J���p��@��0����countpSchedulerversionH�����z> �K��u ��u ��u ��u � �8K�P��u ��u ��u ��u ��u ��u ��u ��u ��u ��u ��u ��u ��K���K����K���`;�@�� 8�J��K��J�P!� )�0)��T�T�pC��u �PU�@I��u ���0]��@��)��"�@!��u ��K���`4 � 3 ��8��J�P- �P;��I��K�P��' �4 ��+ �  �P# �PK����� 3 ��8�`K�P- �P;��I��K����5 ��C��Q�� �p5 �eventObjectppVirtualProcessorRootsPK��u ��u ��u ��u ��u ��K�f�Pc�Pc�@!�Pc�HK��u ��u ��u ��u ��u � h��K�0g��e��c��i��i� h�PK��g�Pc���@j�Pc� h��K�pf�Pc�`c��i�Pc�`K��b�pEvents�K��u ��u ��u ��u ��u �pw��K� ���u �@���u ��u ��w��u ��u ��u ��u ��u ��u ����������������u ��K�@w� �� 
K����`���	K�`��`���u �H
K���`������
K���������F��F�(�F�8�F�X�F�p�F���F���F���F�ȍF��F�SchedulerKindMaxConcurrencyMinConcurrencyTargetOversubscriptionFactorLocalContextCacheSizeContextStackSizeContextPrioritySchedulingProtocolDynamicProgressFeedbackWinRTInitializationMaxPolicyElementKeyHK�������P��-C��6?����Mbp?333333�?�K�`��������������p�����@������pContextpExecutionResourceCreateRemoteThreadExCreateUmsCompletionListCreateUmsThreadContextDeleteProcThreadAttributeListDeleteUmsCompletionListDeleteUmsThreadContextDequeueUmsCompletionListItemsEnterUmsSchedulingModeExecuteUmsThreadGetCurrentUmsThreadGetNextUmsListItemGetUmsCompletionListEventInitializeProcThreadAttributeListQueryUmsThreadInformationSetUmsThreadInformationUmsThreadYieldUpdateProcThreadAttributecombase.dllRoInitializeRoUninitialize�K��T ��Q �`Q �P�� ���P �K��u ��u ��u ��u ��u ����@pK����0���u ��u ��������u ��u ��u ����K����������������`�� ���������������M;M�q�҄�Y/}J�rLp>B��~md��*�	�
1G��
�|�Ra���k��C�`S��i�,�'W�PE�V�i�q���N�~��Z@�������_�'/v�N��~��D0/�
�y�_RI�c��^�[�'�[yD����d���3���=��I��FM�F�k��1eaB@����1_M��׷\f�]F��FT4�����H��yI��advapi32.dllRegisterTraceGuidsWUnregisterTraceGuidsTraceEventGetTraceLoggerHandleGetTraceEnableLevelGetTraceEnableFlags�K�p�������������� ����������� 0@P`p�������� 0@P`p�������� @`���� @`����@��@��@��@���	�	
�
��
�
��  hK��u ��u ��u ��u ��u �K�P;�� �� �� ������0��� ���@K�� � �@��  � ����`��  �  �� ���P ����������������u �pThreadProxy�K�� ��u ��u ��u ��K�P- �P;��I��K�P��' ��u ��+ ��u �P# �proc�K� ��9 �@��@; ��9 �07 ��7 �< �0; ��9 �p7 ��8 �������������������K��u ��u ��u ��u ��u ��u ��u �hK�P;�� �� �� ������0��� ���K�� � �@��  � ��< �`��  �  �� ���P ���������������0��(K�@> ��> �`> �P= ��> �����XK��< �`;�@���> �J��K��J�P!� )�0)��T�T�pC�0> �PU�@I��= ���0]��@��)��"�@!��= ��K�0J �J �@J �J � J ��u ��u ��u ��I ��u ��K�0J �J �@J �J � J �pK �@M ��N �0K �PN �switchStateK��T ��u ��u ��u �0T ��u �@K��u ������������� ���������������������������)� �)� ��� ��K�@w� ��@K�@w� ��Access violation - no RTTI data!Attempted a typeid of nullptr pointer!Bad read pointer - no RTTI data!Bad dynamic_cast!�K�@w� ��bad exception��F���F���F���F�	��F�
ȤF�
ؤF��F�	�F��F�	�F�	 �F�(�F�
8�F�H�F�	��$�T�F�`�F�h�F�l�F�p�F�t�F�L�&�x�F�|�F���F���F� IF���F���F��&���F���F���F���%���F���F�H�&�@�&�D�&�p%��R&���F���F���F���F���F���F�ĥF�ȥF�̥F�ХF�ԥF�إF�ܥF��F��F��F�	��F�	�F��F� �F�8�F�H�F�`�F���F���F���F��F��F�#(�F�H�F� p�F���F�&��F�اF��F��F���F��F�#,�F�8�F�	H�F�X�F�x�F���F�%��F�$�F�%�F�+@�F�`�F� ��F�"��F�(�F�*�F�0�F�@�F�X�F���$�h�F���F���F���F�تF���$� IF���F���F���F���F�8�F���F�__based(__cdecl__pascal__stdcall__thiscall__fastcall__vectorcall__clrcall__eabi__swift_1__swift_2__ptr64__restrict__unalignedrestrict( new delete=>><<!!=[]operator->++--+&->*%<~^|&&||*=+=-=/=%=>>=<<=&=|=^=`vftable'`vbtable'`vcall'`typeof'`local static guard'`string'`vbase destructor'`vector deleting destructor'`default constructor closure'`scalar deleting destructor'`vector constructor iterator'`vector destructor iterator'`vector vbase constructor iterator'`virtual displacement map'`eh vector constructor iterator'`eh vector destructor iterator'`eh vector vbase constructor iterator'`copy constructor closure'`udt returning'`EH`RTTI`local vftable'`local vftable constructor closure' new[] delete[]`omni callsig'`placement delete closure'`placement delete[] closure'`managed vector constructor iterator'`managed vector destructor iterator'`eh vector copy constructor iterator'`eh vector vbase copy constructor iterator'`dynamic initializer for '`dynamic atexit destructor for '`vector copy constructor iterator'`vector vbase copy constructor iterator'`managed vector copy constructor iterator'`local static thread guard'operator "" operator co_awaitoperator<=> Type Descriptor' Base Class Descriptor at ( Base Class Array' Class Hierarchy Descriptor' Complete Object Locator'`anonymous namespace'CV: ::template-parameter-`template-parameter-generic-type-`generic-type-''`non-type-template-parameter%lf??_C...NULL%d`template-type-parameter-`generic-class-parameter-`generic-method-parameter-void`template-parameter}' }'`vtordispex{`vtordisp{`adjustor{`local static destructor helper'`template static data member constructor helper'`template static data member destructor helper'static virtual private: protected: public: [thunk]:extern "C" ) char short int long unsigned void volatile volatilestd::nullptr_t std::nullptr_t<ellipsis>,...,<ellipsis> noexceptcpuampdoublebool__int8__int16__int32__int64__int128<unknown>char8_tchar16_tchar32_twchar_t__w64 signed  volatile`unknown ecsu'union struct class coclass cointerface enum const & && cli::array<cli::pin_ptr<)[{flat}{for s �K�0��0���!��&!�K�@A!�@A!�p
!�`'!��K��@!�9 �
!��&!�K��@!��@!��!�p&!��K��@!�`B!�0
!�'!� ?? دF�دF�دF�دF���F�ȱF��F�api-ms-win-core-fibers-l1-1-1api-ms-win-core-synch-l1-2-0kernel32api-ms-�EEE50P( 8PX700WP  `h````xpxxxx�����������EEE���00�P��('8PW�700PP� (����`h`hhhxwpwpp(null)(null)`p�2(7�2�>�3��3�>� �>��>�[�>�[�>��*?r1?�5?;��?sqrtf��@����+eGW@�9��B.�?UUUUUU�?�?��@r�B
		


!
5A
CPR
S
WYl
m pr	�
�
�	��
�)�
���
���Y*         (((((                  H���������������������� �����������������������������������������������������������������������������������������������������������������������������	

 !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������	

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~�����������������������������������������������������������������������������������������������������������������������������         (((((                  H����������������������      (                          0�Tc-^�k@��tFМ,�a�����\��)cd��4�҇f��;lDِe�,Bb�E"�&'O�@���V$���gm�s�m��r��d'�c���%{��p��k>�_�n���j�f29.EZ%��qVJ����.�C��|!�@Ί��Ą'�|Ô%�I@��T�̿aYܫ�\�D�g��R���)��`�*!�����V��G6�K]�_܀
���@َ�Ѐk#cd8L2��W��BJ�a"��=<�r��tY�
��l�*���[aOni*{�P+4�/�'Pc�qɦ�J�(.onIn@2&@�Pr��є)��[f�.;��}�e�S�w�� �S��ƫ%�KM��-���"RP(���WB�}]9֙Y�8�����w�za��ja��g�V �:�6	�ip��ev ��&���gn	�+�2qQH�΢�ER�x���t�]�u�۩����reLK(w�m‘CQ�ɕ'U���'樜��=@J����#�m
Xo�C�]-�H�Y��(���?�.�qּ�Di}n��Vyu��Ჹ<u���?�k:��އ�FEMh����$��h0'D���A����X�Qh٢%v}�qNd��Z��W���f�) ����}m?�M���p��=A�N��q��א:@O�?��owM&�
1U�	�X��&aV��j��uv�D,�G�A��>������U���D�~ $s%rс���@b;zO]��3A�Omm!�3V�V�%���(���w;I�-G 8��������N��hU�]i��<$qE}A'JnW�b쪉"��������f3���7>,���ެd��Nj�5jVg��@�;*xh�2k�ů��id&��_����U� J��W��
��{�,Ji��)�Ǫ���v�6�Uړ��ǚ��K%v�
	���t:�H孎cY�˗�i�&>r䴆��["93�uzK��G-w�n��@���_�l�%B��ɝ�s�|��-C�iu+-,�W���@z��b��j������U�U�Y�Ծ�X1��EL9�M���Ly���;�-��"m^��8{�y�rv�x���yN�����\lo}���;��obwQ4���Y+�X�<�X�F"|W�Yu�&Sgwc���_
��i9�35����1�C!�CZؖ���?hd�}�/�K����N��s�	��Og
��ֵ���8s��I�̗+_�?8��� 7x��B��">W߯�_�w���[R/=O�B
��R	E]�B��.4��o��?nz(��w�K���g��g;ɭ�V�l����H[=��J�6�RM��q�!�	�EJjت�|L����u�<�@����rd�6���x)�Q�9��%0+L�;<�(���wXC����=s��F|�bt�!ۮ��.�P���9�B4��������Ҁy�7��P���,�=87M�s�gm���Q��Ģ�R�:#שs�D����p�:�R�R��N�/�M��׫
O�b�{��!@f����u���)/���wd���q=v��/}fL�3.��
i�Ls�&`@<
�q�!-�7��ڊ�1�BAL��l�ȸ�|�R�a�b��ڇ��3�ah𔽚�j��-�6zƞ)�
?I�Ϧ�w�#���[��/r5D���¨N2Lɭ3�����v2!L.2�>���p6�\���B��F��8�҇i���>����o��@��@��w�,=��q�/��	cQr���FZ*���*��F΍$'��#���+����G�K	���ŎQ�1�VÎ�X/4B����ycg�6�fvP�ba�g
���;s�?.��❲a��c*�&���pa�%�¹u!,`j��;҉s}�`����+�i7��$��f�nIoۍ�u�t^6�n�1��6�B(Ȏy�$�dA���ՙ,C�瀢.=�k=yI�C��yJ�"�p�����פ��ld��N�n���E�t�T��W�t��øBnc�W�[�5�laQ�ۺ���N�P��qc+�/ޝ"��^<V7w�8��=O�ҁ,���t�×�j8�_������լ�Z>�̯�p?��m-�}o�i^�,�dH9���4X<���H'�W&|.ڋu���;��-�H�m~�$�P
d�'��@B����ʚ;	�C<������?��������������������4��5��������������������@�@Ȑ�Ȑ������������B.�?<y5�9�n>@�?�?�?UUUUUU�?�?�������?UUUUUU�?�$I�$I�?�����?�?�������@�?��?��?��?`�?@�? �?�?�?��?��?��?p�?P�?0�?�?�?�?��?��?��?p�?P�?@�? �?�?�?�?��?��?��?p�?P�?0�? �?�?�?�?��?��?��?p�?`�?@�?0�? �?�?�?�?��?��?��?��?`�?P�?@�? �?�?�?�?�?��?��?��?��?p�?P�?@�?0�? �?�?�?�?�?��?��?��?��?p�?`�?@�?0�? �?�?�?�?�?�?��?��?��?��?p�?`�?P�?@�?0�? �?�?�?�?�?�?��?��?��?��?��?p�?`�?P�?@�?0�? �?�?�?�?�?�?��?��?��?��?��?��?p�?`�?P�?@�?0�? �?�?�?�?��?��?��?��?��?��?��?��?��?p�?`�?`�?P�?@�?0�? �? �?�?�?��?��?��?��?��?��?��?��?��?��?��?p�?`�?P�?P�?@�?0�? �? �?�?�?�?��?��?��?��?��?��?��?��?��?��?��?p�?p�?`�?P�?P�?@�?0�?0�? �?�?�?�?�?��?��?��?��?��?��?��?��?��?��?��?��?��?p�?`�?`�?P�?P�?@�?0�?0�? �? �?�?�?�?��?��?��?��?��?��?��?��?��?��?��?��?��?��?��?p�?p�?`�?`�?P�?P�?@�?@�?0�?0�? �? �?�?�?�?�? ���>���?����1? ����??���e�H?`�	)y�Q?3�*��W?|�_?���c?���fh?��t�m?�rv�3?��C]�jP?�Ε$�\?�4��"e?<<<<<<l?��>?)�[W?�;@�d?̵s�l?�M���G?Fΰ�R�^?d��Yi?�A�A=?�il�\?f��ki?�0�%�rC?�6�`?�͗,�l?D�{�R?���Lf?�q�q<?���)a?8��o?�p����Z?�l?�+6�V?��
(Wj?�� ��S?#�u�)�i?\��c�xT?Vg�{�j?�����W?�6�im?H7`+!]?ـl@6 ?�GE�c�b?^Cy
�5D?� )��g?k�k�U?T��_:n?{���a?.�
��2G?�4�Mj?V()�]?�A�A:?�@9�Uh?�,��O[?��:?:�g *i?崠�]|^?�%w�F?��!��Il?333333c?�;6�T?�O��,?%[��vi?�ӭ�aa?��l�S?�E:i/?�!$�j?��18�c?����IY?�ƀiH?t���o?GS��ri?8�c?S&��—[?��J�P?�a�a8?�'�n?R�}e�.i?0@I�d?000000`?`�X?��P?��xҊ*A?�}A_�?�\$gm?���Dj?�sl�Tg?/�I��d?h�5#b?ĦҐs_?���+[?F]t�EW?�2��S?�z��P?:E��l�K?p�\�G?����C?�l|3�v??��hb:?l�l�6?�ϣ1��4?>)7�3?.���s4?h�h�6?6�q`�9?�/��>?�U�)|B?d!Y�BF?�VĵJ?<���O?�N�Ơ�R?X`�V?�﷤АY?o�W@�n]?iJ�ه�`?L� &Wc?�"���ye?����
h?oT�G��j?Fڱa�m?`XV�?#����>?`��ӽL?UUUUUUU?�\?���b?��
P��e?:*���j?܊�#�En?PP5?"�d�{L?�����W? �X�}�`?��^Kqe?�M�}j?�~�@�o?@Q
�k�C?��Aˎ�T?��D
`?�(\��e?J��h�k?�C�x)?
P�;�N?��g���[?;��WaNd?�
?�K�j?{$*�ˤ&?PPPPPPP?��9D^?�'`f?�
^K�m?�H%�eA?�שFfW?��W�H+c?�RF��j?;�;�3?�� ��T?n�0X8b?~̦Ej?8�8�3?�%GoU?*���c?D�U>��k?�	�[��@?�M���Y?�cy���e?�;�ڹn?7��XQO?l�ӱ�`?& �a2j?�&@��<?/����Z?,���C�f?��K�%�?K�B�(T?j?Y��c?�!n��m?+��P?
��%9b?�<%�S�l?�&%�ݒK?%`%`a?ߚ�Cq�k?\�9	ąJ?M��fa?'�%�Dl?吽���L?�$I�$Ib?s��..om?|�j�YQ?T$@Ed?$�Coo?�W!�U?����f?  2?�}�\?^�p�x�i?���yG?y�\��a?�9E[
n?gc�s�T?Rڍ��f?!+�+�7?GX�i��^?<#�3l?p�2NQ?s�W ae?��1?`Zod(^?���
l?Y��C5R?	N�<f?��\�?�;?�v��`?8H�hn?�D �D W?{W��i?P���:�J?�L�N3`d?1?�A��_?�!�!�m?�����W?�9���i?�C�	VP?2+�QAf?���"B?�u�y��b?�.h��$?Mw���_?�j�]�^n?�B�)Z?!�_M�k?�O%�T?���fWi?�B!�P?8��qS>g?h3�?R0I?�%�8ke?;�O��nB?���@�c?FA@s}9?��,��b?AA0?�o�a?�I��6"?��S��`?�@ ?�n�lH`?�>�`?��������F@���@����+eGW@�B.�?x�j�s�l�l�V?�?UUUUUU�?UUUUUU�?�?	UUUUUU�?�9��B.�?C.V@��Y��9��B.�?UUUUUU�?�?�?@���ƺ����?�]�4�<?�TUUUU�?�Q�#Ib?��������������+eGW@�?�����������
�o?�gk*�?w
�_G܇?������?u�FC�Γ?����?���'���?3x���?��#�ٰ�?`������?��ȯ[��?��2�Xt�?����\�?�qq�B�?Rۊk'�?�b�0
�?q�5�u�?�z��6e�?
/�S�?����A�?�F���.�???�?�P7�X�?Lk���?�{mvڷ?!�1�Eø?�3 FB��?c�J:m��?��+�x�?C�[�T^�?]�l�C�?��*n'�?�b�0
�?���1��?nY�g�?Y��|~�?�Bg��G�?�g/�*��?�Z
o&�?#��R��?����?t� �q�?*�����?}�l+M�?�U��6��?8����&�?� ��8��?ԓ�p0��?Q�rB�j�?����?�7@��@�?	����?�WC���?� e��?Am��(��?�V�ZR�?��}.6��?c���#�?/����?�N���?����Q[�?֌-t���?��Uh)�?"�����?��	N5��?��Ok!\�?}쫠���?��*n'�?`Z�R��?6Y�˭��?7{KV
U�?+>^m��?P�El�?Aд�%@�?
Y�_�q�?�s�$��?K��Wk��?�J����?����6�?���\g�?o#�-
��?��i����?�H����?fy�A)�?:v�`Y�?���Z��?%��:0��?1����?�AT�q�?U}���G�?[ؿb&w�?�EiUL��?���O��?䧆�0�?�*�2�?�^‹a�?�	@���?�xw�_��?j`2���?-�-���?cҭâH�?lZEwv�?���*��?�	X����?ԓ�p0��?�ǹ�,�?��s�Y�?��Ȇ�?>�5"���?�+����?6�x�B
�?�9�?��9Nf�?�G�_���?��7
޾�?ï�;���?�Ԡ��?���B�?�3��n�?[B��3��?��Xȷ��?�b6���?>�E�g�?�!�G�?XQA�r�?������?c�k��?L���#��?���d��?
��@H�?��k��r�?J����?�X���?kxG2)��?[���?c��{�D�?^�<��n�?���X��?
�
���?|��M��?'���?M�ͧ�=�?�o���f�?"�����?�zMt��?�����?dr�c
�?��~�2�?���[�?>/�%��?TY,>5��?��j��?������?&l|�$�?wh�qL�?���aBt�?�a�e���?��Fҙ��?��@� ��?��_��?\���9�?�(p�#a�?ž�6J��?�x�X��?r� O��?��W.��?��%���?�Х�R%�?;c��8�?�&���K�?�E&�_�?@�\>r�?EK�\��?!5WOo��?�ξv��?�*%�r��?�ֹ�c��?��хI��?}I�$��?�L-��	�?�̇��?�q/�?E=$% B�?�����T�?���\g�?��ػ�y�?�n��?o�g���?��}�T��?%<q���?pg���?�@p^_��?L	�K���?n�����?�e��?C���01�?49HoKC�?���[U�?�04bg�?��^y�?��
P��?���7��?�@&���?��D���?��.���?h�6t��?F�P�*��?�O3��?j��z�?q9+�?��2��<�?�᜝(N�?�n��_�?�GG�q�?yX����?*V���?��~>7��?#��I���?2�����?�Vqj��?\/k�3��?Boф[��?�܀Hz�?�rF��?���m�.�?g��?�?
�3Q�P�?�^‹a�?��3?tr�?߈��S��?���*��?�>�]���?t�Vi���?:�̯y��?�9:-��?�[����?�&P?z��?kh�	�?F4����?��[&-*�?}���:�?���g$K�?��T�[�?���k�?��6�W|�?�y͵���?~�%���?-�5L@��?s�0}��?elܱ��?#�W���?u$���?�����?وG�2�?gd��>�?�9��B.�?����������������������	mscoree.dllCorExitProcess��!��!�P5"��5"�@!�@!�p�!��!���"��"�P�!�P�!���!��'"��'"��"�@!� �"�@!���!�`�!�@!��!���!�@!�l�l�V?l�l�V?�?�?UUUUUU�?UUUUUU�?�?�?UUUUUU�?UUUUUU�?��B.��9;�����Ҽz�+#���9��B.�@����F@��Q0-�I����+eGW@��<��B.��9;������?P>�A<sqrtP�F��e%�T�F�X�F�`�F�h�F�!p�F�x�F�
��F���F���F�p�F���F���F� ��%���F���F���F���F���F���F���F���F���F�"��F�#��F�$��F�%��F�&�F�exploglog10sinhcoshtanhasinacosatanatan2sincosceilfloorfabsmodfldexp_cabs_hypotfmodfrexp_y0_y1_yn_logb_nextafter����������F���F���F���F���F���F���F���F���F���F���F���F���F���F���F���F�INFinfNANnanNAN(SNAN)nan(snan)NAN(IND)nan(ind)e+000	

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~�F���� �F��,N����8�F��,N���!�P�F��,N�p�"�h�F��,N��"���F��,N���"�LC_ALLLC_COLLATELC_CTYPELC_MONETARYLC_NUMERICLC_TIME=;;=-_.C_.,_.��F���F���F���F���F���F���F���F���F���F���F���F���F���F���F���F���F���F���F��F��F��F��F��F��F��F� �F�(�F�4�F�<�F���F�D�F�L�F�T�F�`�F�p�F�x�F���F���F���F���F���F���F���F���F���F���F���F��F��F��F� �F�0�F�@�F�X�F�p�F���F���F���F���F���F���F���F���F���F���F���F���F���F���F��F� �F�0�F���F�@�F�P�F�`�F�p�F���F���F���F���F���F���F���F��F��oF�SunMonTueWedThuFriSatSundayMondayTuesdayWednesdayThursdayFridaySaturdayJanFebMarAprMayJunJulAugSepOctNovDecJanuaryFebruaryMarchAprilJuneJulyAugustSeptemberOctoberNovemberDecemberAMPMMM/dd/yydddd, MMMM dd, yyyyHH:mm:ssSunMonTueWedThuFriSatSundayMondayTuesdayWednesdayThursdayFridaySaturdayJanFebMarAprMayJunJulAugSepOctNovDecJanuaryFebruaryMarchAprilJuneJulyAugustSeptemberOctoberNovemberDecemberAMPMMM/dd/yydddd, MMMM dd, yyyyHH:mm:ss��F���F��F�P�F���F��F�P�F�ȱF���F���F��F�P�F���F��F�P�F���F��F���F��F��F�api-ms-win-core-datetime-l1-1-1api-ms-win-core-file-l1-2-2api-ms-win-core-localization-l1-2-1api-ms-win-core-localization-obsolete-l1-2-0api-ms-win-core-processthreads-l1-1-2api-ms-win-core-string-l1-1-0api-ms-win-core-sysinfo-l1-2-1api-ms-win-core-winrt-l1-1-0api-ms-win-core-xstate-l2-1-0api-ms-win-rtcore-ntuser-window-l1-1-0api-ms-win-security-systemfunctions-l1-1-0ext-ms-win-ntuser-dialogbox-l1-1-0ext-ms-win-ntuser-windowstation-l1-1-0advapi32ntdllapi-ms-win-appmodel-runtime-l1-1-2user32ext-ms-AreFileApisANSIEnumSystemLocalesExGetDateFormatExGetTimeFormatExGetUserDefaultLocaleNameIsValidLocaleNameLCIDToLocaleNameLocaleNameToLCIDAppPolicyGetProcessTerminationMethod?�������?����?a�w>�,�?t�ӰY�?țuE��?��lX��?���2���?Q[��?�-���B�?{Q}<�r�?u�o�[��?��h1���?֌b�;�?8bunz8�?�|�eEk�?������?䦅��?�1
��?�d�<�?˩:7�q�?���4ۧ�?"4L���?*.�!
�?-�a`N�?�<�����?'*6�ڿ�?�,�v���?�O�V+4�?�'�6Go�?)TH���?H!�o�?�U:�~$�?%"U�8b�?�;f���?/e<��?t_��u�?�gBV�_�?��s��?bN�6��?�L��%�?�D��h�?۠*B�?6w���?��Ͱ77�?PNޟ�}�?�𣂑�?e�]{f�?]%>�U�?��yUk��?��Z���?�O��3�?G^��v�?�K��?�R�ݛ�?K�W.�g�?i��� ��?|�J-�?����X�?�2��?_�{3���?�?��.P�?ڐ�����?'Za���?@En[vP�?ؐ�����?expf"�H�MP�MxccsUTF-8UTF-16LEUNICODE�
�o?`*�?PG܇?����?@�Γ?��? ���?���?�ٰ�?����?�[��?�Xt�?�\�?p�B�?�k'�?�0
�?0�u�?�6e�? �S�?��A�?��.�?0�?�X�?���?`vڷ?�Eø?@B��?0m��? �x�?�T^�?�C�?`'�?�0
�?0��?g�?p~�?��G�?�*��?o&�?�R��?��? �q�?����?`+M�?�6��?��&�?�8��?p0��?@�j�?���?�@�?���?���?`��?�(��?�ZR�? 6��?�#�?���?@���?�Q[�?p���?Ph)�?����?@5��?`!\�?����?`'�?P��?����?P
U�?`��?@l�?�%@�?P�q�?�$��?Pk��?��?�6�?�\g�? 
��?����?����?�A)�?`Y�?Z��?00��?����?�q�?��G�?`&w�?PL��?�O��?�0�? �2�?��a�?���?�_��?0���?���?��H�?wv�?�*��?����?p0��?�,�?p�Y�?Ȇ�? ���?����?�B
�?��9�?Nf�?P���?޾�?0���?��?��B�?��n�?�3��?����?���?�g�?�G�?@�r�?����?k��?�#��?`��?�@H�?��r�?���?���?0)��?�?p�D�?��n�?�X��?���?�M��?��?��=�?��f�?����?p��?���?�c
�?p�2�?�[�? ��?05��?j��?����?�$�?�qL�?`Bt�?`���?Й��?� ��?P��?��9�?�#a�?0J��?�X��? O��?.��?���?�R%�?�8�?��K�?�_�?P>r�?�\��?@o��?�v��?�r��?�c��?�I��?$��?��	�?��?�q/�?  B�?��T�?�\g�?��y�?n��?���?�T��?���?���?P_��?@���?���?��?�01�?`KC�?�[U�?bg�?^y�?P��?�7��?���?���?���?0t��?�*��?0��?z�?0+�?��<�?�(N�?�_�?�q�?��?���?07��?@���?����?`��?�3��?�[��?@z�?��?`�.�?�?�?P�P�?��a�?0tr�?�S��?�*��?P���?`���?�y��?0-��?���?0z��?�	�?���? -*�?�:�?`$K�?P�[�?�k�?�W|�?����? ���?@@��?0}��?б��?P���?���?���?�2�?�>�?�B.�?ZCP^��=�n�� �=%J���=N��y|��=+�y�+5�=՟�j�V�=�Q�_F��=��f�>]����G>�R�z�>��ɑ>���s�>t��Ǒ>L�(���=��#��>q�|a�b�=)m�đc>����F->��-(.>
fJBGo>>uw�L->O�~0.>ӽc��n">3�7���%>��%�*>вփl�>�o�΀>��ƪ�$>��B�a'>/�+���.>�
yuͲ>����U,>q�|a�b�=墪���=G�Pq�R>�.Ͳ�9>���
�!>����$>ߣ���2>��F�?0>�(����1>Ŗ�;t��=�S9Ř�=���<��9>70�*��> ��
>u��A03>A|yz��=���j�>�Q5rHg,>��&��%>Y�HȆ>�6h�~5>$�@B$�$>=�T��=>`��h��9>����<>#n2�j�?>!υ1^9>����=>��Hk=>:�X3� >!�c0&>`���hj.>͑��<>"�"w�6>�b��}�=����U<>.�H��R>�1�l��7>m_��-)>��U|�:>K5s@�6>�kA�2>.:��O>�����#>@��,�j>>A?1��\C>S��E�$>�9LWG>����F�K>�h����>�E�L>
�D��G>u�=��>���5�.>PJ;I:qE>�Y8a:�E>�r�	��B>Ί���0E>X����%>׼��5>��>�7>I0�:>t6k'�	D>�[��� >_3t�=e2m���5>�zM#>�$'��<>c~�n->�jR�i=>A�3��>���N>A|yz�>�z{�<�%>W��(>|��])6M>&�J졬!>&'�CWD>~3����#>1�s@�:>)*	v��!>�+�D��O>><_oD>KgɆ_G>nk+�AK>(v�.=D>��@fD>b��j	;>X�i�@>�]���<>��{P�F>��t�-BH>t��5>�~>)�C�&>m�0I>��U�V3>֔Ea�>��Z�g�9>���4E>�X` ��">"��X�;">�#Ҷ�{M>�}��G>�:��yJ>�>f�CL:>8�ZF>:�6NK>
�j_>��5�6?>Ƶ>��/>`���hj>>û�'�51>W����G>8�J�<�L>��ê�L>`���E>nEA��(6>�F��XL>����3>��j�
B>{9L�D>H�Y��@>6�7~xh>���Շa6>r�f4">���w9>�f�
^O>���<I>؊�XQ�D>䊱{�;>g_�=��N>O=I9��>�/�0�@>�
���_">�q�C�F>qUxvƜ_>��ˤMR[>�58�LZ>,����9X>,���P>�?rAj�^>ۤ��)�]>^b�
��@>��o�sY>���/2GG>!B���6Y>��-�Z\>z8�3N>�L�OF>;^���D>�yLM��7>�9LWW>�A3�W>e��_>�r1�%�A>R��{��E>�)yIx�^>X���\>��{���\>��W>�5ٶ*)>���}�X>�x
��N>�(�gr�^>ux��1]>P��
C#>��[׈M4>�^�[>���a�]>)2X�V �=8�r�Z>M�����">�P�	�K>[�*�R>����x:>��:�O_>�
d�:$R>�5�)eT>%�-��9[>Q�@ݦ[>	t�E>R��\>"N�P�:>D8�{�\>�_E��S>�_�d�_>LH���T>���zY;>u:m	�EC>�<EҹQ>y��\�P>q_Y~�[>ܓ�;s�7>����;#>�[���0><[cZUg^>�^=���.>��;�=>~Ov}`[>���ĭR>��bsܙ_>jj��sT>�	�	�u+>���M�^>t����X>���̈F>"߹�oI>O7��m�F>
U�^RfN>��4/�B>�qe��F>�X-���9>�K�$�5G>����G>US�Y>kX>Mc��>���.�X>7�܍dRL>���,HR>O�1�U>%�)c#A>l$/��H[><y5�9�n>�?0�,�?аY�?E��?`X��?0���?��?��B�?0�r�?�[��?0���?�;�?`z8�?`Ek�?��?����?��?�<�?0�q�?0ۧ�?@���? 
�?`N�?����?�ڿ�?p���?P+4�?0Go�?���?o�?�~$�?�8b�?`���?0��?�u�?P�_�?p��?0��?��%�?��h�?@�?���?�77�?��}�?���?pf�?�U�?Pk��?���?��3�?�v�?��?Л�? �g�?� ��?@-�?�X�?�?0���?�.P�?����?���?PvP�?����?����l>*>ס+�H>���7�`>r1��i>:��F>��P[�=�f�[Rm>������h>1my��f>�[����6>�w��`>���p��l>��t�W>E���{T>u$-�[>��[*ncd>0�d�� C>TQ�*��\>$o���S>$hkDh$h>[2���r?>���@Kb>�O@�W>^u���T>bϴ��tZ>*|>uZ>���i��Z>`��R��j>�o�!��V>}�X�*
>�>�$�B>�,B2�Y>�A�]4�h>�F���a>j��"�	Y>���6XO>
tA�9=[>�%��b>;��%�f>*>��UA>N0Wl�*b>�����)>$=���o>5�〄E>�5e�ʻf>$Z�*�A>�����U>i�Z��b>��+�`>�=U7��G>=��t�>�AD8�
k>oB����l>�*� �i>E�d>�KI�i>
`�+��N>VF���K>L��,^>�{,̆$E>�?�N��l>	�΀��f>~
�
�9>powf@ ���?����?����? �����?�۠�c�?qBJ�eD�?�
#D�%�?|��?�E���?����?��z���?g��1��?�P��t�?t��:W�?s�y�:�?�?���?������?����?ہ�v`��?�#�?4,�T�w�?�ru��\�?�A�A�?[��,'�?t�n���?ƿD\n�?��V�?���m��?��^���?B��Z&��?�q�q�?�I
єX�?���?�?�.9�&�?��?�����?���+�?{>�e��?к����?#�+��?�3�=l}�?���e�?O贁N�?��JH7�?ـl@6 �?�"�1K	�?(�����?^����?p�p�?��/��?�cj`�?Y�0Q�?mЦm�?J�hAW�?�A�A�?�Ň*,�?Kz���?���?�3���?-hk��?��N��?�U�$��?�������?���
/��?r���p�?�w��\�?����H�?�,��4�?)��I� �?ՐO
�?������??7�zR�?�0��?:�b�ο�?��k���?������?J����?����'t�?�a�a�?x�O�?ݾ�z�<�?���J*�?�?`��?@��?OZQ%�?�}A_�?|.����?���"��?�9�k���?Ȥx�L��?
ƚy�?��4��g�?mu��V�?F]t�E�?��A��4�?��F($�?	|�mx�?p�\��?`�`�?�7Ck��?aȁ&��?l�l��?=�
I��?�rS�<��?�Ј:G��?h�h��?g6�q�?�"Qj�a�?�J;�OR�?d!Y�B�?���V3�?@bw�#�?��1h��?X`��?�-)4d��?�и[�?����g�?W�+��?��GƼ��?�Zk��?��#�a��?�X�0Ҏ�?`XV��?:kP<�q�?�R|��c�?UUUUUU�?����%G�?��H	9�?K�V�*�?����?���"�?PP�?�L�b���?9/����?L,ܾC��?n�%����?Ꮶ�>��?[�R�֯�?Jv���?gв�9��?�H"��?{�G�z�?f`Y4�m�?����`�?�v���S�?��be�F�?M�0':�?��%f-�?QY^&� �?�?feт�?��?��?��B���?��,��?�u�����?�{����?U)#�`��?;�;��?"�z8$��?c,��?�f�"��?8�8��?�E��[u�?H��i�?�*�_�]�?�x+�R�?F�yF�?��W[�:�?�j�\/�?�+J�#�?���Xw�?��0
�?`�*��?h/�����?K��N��?��K�%��?�P-
��?�,�M���?7Z����?@+���?����?��)A��?��[r��?�����?MΡ8�}�?5'��Ps�?'�|�h�?�p"^�?�w�~�S�?�$I�$I�?[`��>�?߼�xV4�?*�"*�?x�!���?�UH�y�?�gG�?  �?p�}��?L�<���?t�?;���?�J.g���?�����?Y��"��?)�F@J��?��g|��?�{a���?����?����S��?�+�����?���?���w�?ysB�n�?2�P�d�?
'u_[�?����Q�?;�
_H�?$G4�?�?�5�5�?��퉋,�?30]�X#�?&H�0�?�?����?���?�%����?���k���?`�U��?�F�� ��?:�5VD��?;ڼOq��?qA�����?ȝ%���?��.r/��?�h
���?`���۝�?T	9?��?�eu����?�B!��?��)�{�?�G
&s�?�y��j�?����Mb�?�ur��Y�?4��Q�?�d�II�?AA�?�G���8�?^��0�?�)w�d(�?�@ �?7zQ6$�?�?��?�?8pF�(tF�HpF�xoF�������?C������?�	
%-5	>
H
R]iu
��������-C	Y	p	�
�
�
�
�	%1#INF1#QNAN1#SNAN1#IND�G�ENUG�ENU(G�ENUPG�ENAhG�NLBxG�ENC�G�ZHH�G�ZHI�G�CHS�G�ZHH�G�CHSG�ZHI(G�CHTPG�NLBpG�ENU�G�ENA�G�ENL�G�ENC�G�ENB G�ENI( G�ENJH G�ENZ` G�ENS� G�ENT� G�ENG� G�ENU� G�ENU!G�FRB0!G�FRCP!G�FRLx!G�FRS�!G�DEA�!G�DEC�!G�DEL"G�DES("G�ENIH"G�ITSh"G�NOR�"G�NOR�"G�NON�"G�PTB#G�ESS(#G�ESBH#G�ESLh#G�ESO�#G�ESC�#G�ESD�#G�ESF$G�ESE8$G�ESG`$G�ESH�$G�ESM�$G�ESN�$G�ESI�$G�ESA%G�ESZ8%G�ESRX%G�ESU�%G�ESY�%G�ESV�%G�SVF�%G�DES8nF�ENG�%G�ENU&G�ENUA&G�USA&G�GBR(&G�CHN8&G�CZEH&G�GBRX&G�GBRx&G�NLD�&G�HKG�&G�NZL�&G�NZL�&G�CHN�&G�CHN�&G�PRI'G�SVK'G�ZAF8'G�KORP'G�ZAFp'G�KOR�'G�TTO8nF�GBR�'G�GBR�'G�USA�%G�USAamericanamerican englishamerican-englishaustralianbelgiancanadianchhchichinesechinese-hongkongchinese-simplifiedchinese-singaporechinese-traditionaldutch-belgianenglish-americanenglish-ausenglish-belizeenglish-canenglish-caribbeanenglish-ireenglish-jamaicaenglish-nzenglish-south africaenglish-trinidad y tobagoenglish-ukenglish-usenglish-usafrench-belgianfrench-canadianfrench-luxembourgfrench-swissgerman-austriangerman-lichtensteingerman-luxembourggerman-swissirish-englishitalian-swissnorwegiannorwegian-bokmalnorwegian-nynorskportuguese-brazilianspanish-argentinaspanish-boliviaspanish-chilespanish-colombiaspanish-costa ricaspanish-dominican republicspanish-ecuadorspanish-el salvadorspanish-guatemalaspanish-hondurasspanish-mexicanspanish-modernspanish-nicaraguaspanish-panamaspanish-paraguayspanish-peruspanish-puerto ricospanish-uruguayspanish-venezuelaswedish-finlandswissususaamericabritainchinaczechenglandgreat britainhollandhong-kongnew-zealandnzpr chinapr-chinapuerto-ricoslovaksouth africasouth koreasouth-africasouth-koreatrinidad & tobagounited-kingdomunited-statesutf8ACPutf-8OCP6-0mF�8mF�@mF�HmF�XmF�`mF�hmF�pmF�	xmF�
�mF��mF��mF�
�mF��mF��mF��mF��mF��mF��mF��mF��mF��mF��mF��mF��mF�nF�nF�nF�nF� nF� (nF�!0nF�"8nF�#@nF�$HnF�%PnF�&XnF�'`nF�)hnF�*pnF�+xnF�,�nF�-�nF�/�nF�6�nF�7�nF�8�nF�9�nF�>�nF�?�nF�@�nF�A�nF�C�nF�D�nF�F�nF�G�nF�I�nF�JoF�KoF�NoF�OoF�P oF�V(oF�W0oF�Z8oF�e@oF�PF�HoF�XoF�hoF�xoF��oF��oF��oF��oF�	�oF��oF��oF�
�oF�pF�pF�(pF�8pF�HpF�XpF�hpF�xpF��pF��pF��pF��pF��pF��pF��pF��pF�qF� qF�!(qF�"8qF�#HqF�$XqF�%hqF�&xqF�'�qF�)�qF�*�qF�+�qF�,�qF�-�qF�/�qF�2rF�4rF�5 rF�60rF�7@rF�8PrF�9`rF�:prF�;�rF�>�rF�?�rF�@�rF�A�rF�C�rF�D�rF�E�rF�FsF�GsF�I(sF�J8sF�KHsF�LXsF�NhsF�OxsF�P�sF�R�sF�V�sF�W�sF�Z�sF�e�sF�k�sF�l�sF��tF�tF�(tF�8tF�	HtF�
XtF�htF�xtF��tF��tF��tF��tF��tF�,�tF�;�tF�>uF�CuF�k0uF�@uF�PuF�`uF�	puF�
�uF��uF��uF�;�uF�k�uF��uF��uF��uF�	vF�
vF�(vF�8vF�;HvF�XvF�hvF�xvF�	�vF�
�vF��vF��vF�;�vF��vF�	�vF�
wF�wF� wF�;8wF�HwF�	XwF�
hwF�xwF�;�wF� �wF�	 �wF�
 �wF�; �wF�$�wF�	$�wF�
$xF�;$xF�( xF�	(0xF�
(@xF�,PxF�	,`xF�
,pxF�0�xF�	0�xF�
0�xF�4�xF�	4�xF�
4�xF�8�xF�
8�xF�<yF�
<yF�@ yF�
@0yF�
D@yF�
HPyF�
L`yF�
PpyF�|�yF�|�yF�PF�B�nF�,�yF�q0mF��yF���yF���yF���yF���yF���yF��zF��zF��(zF��8zF��HzF��XzF��hzF�CxzF���zF���zF���nF�)�zF���zF�k@nF�!�zF�c8mF��zF�D�zF�}{F��@mF� {F�EXmF�0{F�G@{F��`mF�P{F�HhmF�`{F��p{F���{F�I�{F���{F��@oF�A�{F��pmF��{F�JxmF��{F���{F���{F��|F��|F�� |F��0|F��@|F��P|F��`|F��p|F�K�|F���|F���mF�	�|F���|F���|F���|F���|F���|F��}F��}F�� }F��0}F��@}F��P}F��`}F��p}F���}F���}F���}F���}F���}F��PnF�#�}F�e�nF�*�}F�lhnF�&�}F�h�mF�
~F�L�nF�.~F�s�mF� ~F��0~F��@~F��P~F�M`~F��p~F��(oF�>�~F���nF�7�~F��mF��~F�N�nF�/�~F�t�mF��~F���~F�Z�mF�
�~F�OxnF�(�~F�j0nF�F�a�mF�F�P�mF� F��0F�Q�mF�@F�R�nF�-PF�r�nF�1`F�xoF�:pF���mF�0oF�?�F���F�S�nF�2�F�y`nF�%�F�gXnF�$�F�f�F���nF�+�F�m�F�� oF�=�F��oF�;�F���nF�0 �F��0�F�w@�F�uP�F�U�mF�`�F��p�F�T��F���mF���F���nF�6��F�~�mF���F�V�mF���F�WЀF���F���F���F���mF��F�X�mF� �F�YoF�<0�F��@�F��P�F�v`�F��nF�p�F�[HnF�"��F�d��F����F����F����F��ЁF���F��nF��F�\�yF���F���F��0�F��H�F��nF�`�F��p�F�]�nF�3��F�z8oF�@��F���nF�8��F��oF�9��F��nF���F�^ЂF�n nF��F�_�nF�5�F�|8nF� �F�b(nF��F�`�nF�4 �F��8�F�{pnF�'P�F�i`�F�op�F���F����F����F����F����F��ЃF�F�F�p�������������&{��?x��?5�q(7��>PD�?%>b�?�>@�?�?`?�?UUUUUU�?�?�������?UUUUUU�?�����?�?�?��������TUUUU�?�ƺ����?�Q�#Ib?�]�4�<?����CONOUT$���[?pԯk?`��t?�v�{?�M4�?P��?�q��?��^�?�j��?��
�?൵�?PO_�?S�?�í�?�R�? ���?p×�?�8�?��֟?���? ᇡ?�U�?�g!�?��?���?�8��?�K�?@��?��ܧ?���?��j�?Щ0�? ���?���?��~�?�A�?�q�?pdƮ?����?�($�?�&��?���?0,C�?@4��?`��?R_�?�h��?P0�?�x�?0�ճ?��2�?�>��? ��?0wG�?`!��?@���?@�Y�?�]��?���?i�?`÷?0��?v�?0ϸ?@�'�?�m��?��ع?Щ0�?�_��?p�ߺ?��6�?�䍻?0��?@�:�?p��?��?�}<�?�Ց�?��?��;�?�V��?���?��8�?����?0-�?���?pOC�?`�l�?���?=��?O�?�B�?�:�?��b�?�j��?�?0F�?��?�,�?дT�?�|�?�n��?� ��?����?P0�? �B�? �i�?����?`��?����?0��?p~,�?�S�?p�y�?p	��?X��?0���?@��?0�8�?P�^�?�X��?@��?p���?@$��?Њ�?P�?�?�e�?�(��?�+��?���?���?p��?�BB�?@�f�?�=��?0���?���?P��? �?�@�?��c�?�‡�?y��?0��?����?p�?�m9�?��\�?��?P���?p���?����?��?�~.�?`)Q�?��s�?p>��?��? ���?0>��?0i�?@A�?p�c�?�l��?�D��?���?����?0Q�?P�-�?PIO�?@�p�?0��?@'��?�I��?X��?S�?`:7�?`X�?�x�?p|��?���?Н��?���?0s�?��;�?P�[�?`&|�?�<��?�@��?�2��?���?���?Й;�?�B[�?��z�?p^��?�ѹ�?�2��?����?P��?�v�?0+�?�:�?@J�?�xY�?��h�?pFx�?����?��?0;��?�{��?P���?`���?0��?�+��?C�?@R�?@Y�?0X.�?O=�?�=L�?�$[�?pj�?P�x�?@���?`p��?�/��?��?����?�>��?����?pw��?`��?���?P�?p�(�?7�?0kE�?��S�?+b�?�p�?@�~�?`��? R��?����?๷�?����?���?P��?�2��? ?��?pD�?�B�?�9(�?*6�?PD�?� �"�
�=�
.3i�=W�~�
��=imb;D��=W>6��Z�=��<hC�=��`͉�=�. ob�=ͽڸ�O�=0B�؈>�y+�>����>IԭwJ�=07�?v>�G�b�=�M�>��Q���=��z	>��p���=Q�W.>n��[>��p)��=m�6��W>O�J�K>�����C>*��f>�8�=��p�T��=��:		r>�]'�p>�qw��>`
��'>�M�>[^j�7>Kb|�j>:b�β>	>ޔ��0>1��k>A���>+��^�=lg��=�)>,�ļ,+>De�}��=�7W`@>`z���>~�|'e�>�_��M�>��`�>�1<.	/>:�+��>�Os���&>��൏�=�MǛ/#>yH�s�=nX���>�JR��!>�11Y@/>58d%��>���_>��)�MJ$>�"� �>	��H*>�e��VM>cQ6�!>6'Y�x�=��%�R>jtm}S��=`
��'><�E쨰>���Z>�U&��>�䮿�Y
>�?h�/�>77:�ݸ$>�a~�>��I{�,>Y���)>6{1n��>Ur	Vr.>T�z�3&>R�a�+f)>0'��C>6�Z�d >�'�4
>�y��U�>��^�!-�=j�
�c?>cQ��.>5b�#)>�^x8�o2>���Lj[;>v��j"�=�:1�J<>�s|�d>f���3>fvw���=>����;H9>&X���;>�7Y��9>������>�
'�S�5>��*StO9>T���'4>�K�Z>��`�'>���%%>���΋�.>Tu
.(!>ʧY3�p
>%@�~+>�!�n03>Pu���?>d׌5�>>t��"�v:>��R�=>�X��̤/>�
�Ң�;>�[�� >��["`�=>7��>�ː�#�>>���6>��\�.>��9Ir�,>�X>z�8>4��&�/>	V�Y�S9>H�V�o�6>�a�"�$>�S=� �5>V�aR:>���V8>��(�.0>��D���=�Y�c%>�2x.&>��>�=��K~Je#>!��Ix[>dn��-/!>�9٭�7>��qb�(>aI��bQ�=cQ6�1>�v�+M<7>�=���*>�!�ư*>f[�t�0>�T��o ->�Or���=)�a�?>��ė�=���l(>>�
"Ic(>\,���=F	�ET5>�m�0�;>9l��ߙ%>������6>ȨmG4>���?7>�*y
W3>�a�y�;>��V�>��bp(=>?gҀ8�:>�})�36,>��8�!>� ���;>PӽD8>�j`&‘+>�+�&�z*>�n��Ov>�h�=O>�yu�`�=GQ��~f�=o�j�37>k�>��/>d�n�9>���hS�=q)�i�5>�m"e��=�?~X3>��6>T�z�36>J`��?>!T��4<>0A�8>cքBC?>6t9^	c:>��V�B4>�ٲ��6>�*:�8'>0��<>�Rm��=1>�"���3>P�k��Y)>�'._M�
>�5*��=4<,��BF>^G����*>�`J�K&>.yC�B
)>O 'L>[��.xJ>Hf�y\PD>!�M�ԩL>��|b=})>���\� >�v�c [1>H'���)>���dL?>Z�|��F>��N�i�;>��_��j+>��y��C>�O@�L�)>��uzKs@>��D>�H��e�@>�5�A�3>N;kU��r=C�A	� >���	p�.>E���K>V���R�>>�e�	kE>fvw���M>`�7��nH>��eF>t�H��/>�Ѥ��L>ev��[�%>J
��A>��@
_�A>pP&�V6E>`"(5�~7>ҹ@0�$>��y{�@>�W�9o�M>W���L>���փJ>�W�
p�0>
��l�D>#�,=>B�_!�">}t�M>�'>+�Ai���=1��I!>�u�|K�N>
�c�0iN>/�پ�A>��+h->|�ۈ�:>�r�-4�@>%>b�?�>K�P#�@#�P#��y��K������#��y�K������#��y��K�#��#��#��#���hK�@#��#��#��#����K�#�p#��#��#��#��^�`ndKdK�^�`�K�K�^�`
 �K�K88(N��e$��e$��h$�3u�e$��e$��e$��!Q�0#K��$K�`"Q��h$�P�5NXZG0ZGpZG�ZG�5N����@XZG�5N�ZG�ZG�ZG[G�ZG�5N����@�ZGP5NP[G([Gh[G�[G[G�ZGP5N����@P[G�5N�[G�[G�[G\G�ZG�5N����@�[G�5NX\G0\Gp\G�\G\G�ZG�5N����@X\G��N�\G�\G�\G]G��N����@�\GH]GX]G��N����@0]G؞N�]G�]G�]G�]G^G]G؞N����@�]G�N����@0^GH^G^G]Gx^G�^G`�N����@`^G�N0^G�^G��N_G�^G_G0_GX]G��N����@_G�N�_GX_G�_G�_G�^G�N����@�_Gp�N`G�_G`G0`G�^Gp�N����@`G�6N�`GX`G�`G�`G�ZG�6N����@�`G�6NaG�`GaG8aG�`G�ZG�6N����@aG�N�aG`aG�aG�aG�aG]G�N����@�aG �N����@bG(bG�aG]G �NbG@bGx�N�bGhbG�bG�bGX]Gx�N����@�bG��NcG�bG(cG@cG�^G��N����@cG@�N�cGhcG�cG�cG�^G@�N����@�cG��NdG�cG(dG@dG�^G��N����@dG�dG�dG@�N����@hdGp�N�dG�dG�dGeG@eG]Gp�N����@�dG��N����@heG�eG@eG]G�eG�eG�N����@�eG��NheG�eG0�N8fGfGPfGhfGX]G0�N����@8fGp�N�fG�fG�fG�fG�eGp�N����@�fG�N8gGgGPgGhgG�dG�N����@8gGP�N�gG�gG�gG�gG�dGP�N����@�gG��N8hGhGPhGhhG�^G��N����@8hG@�N�hG�hG�hG�hGX]G@�N����@�hG��N8iGiGPiGhiG�^G��N����@8iG@�N�iG�iG�iG�iG�^G@�N����@�iG�9N8jGjGPjGhjG�ZG�9N����@8jG��N�jG�jG�jG�jGkG��N����@�jG�N����@8kGPkG`kG�N����@8kG�N�kG�kG�kG�kG�jGkG�N����@�kGP�N8lGlGPlG`lGP�N����@8lG��N�lG�lG�lG�lGmG@mGhmG��N����@�lG�NP�kG��N@�jG�N@8kG�N�mG�mG�mG�mGmG@mGhmG�N����@�mG @�NHnG nG	`nG�nG�lGmG@mGhmG�nGmG@mGhmG@�N����@HnG�N����@�mG��N(oGoG@oGXoG`lG��N����@(oG��N�oG�oG
�oGpG�nG�lGmG@mGhmG�nGmG@mGhmG�N	����@�oGXpGhpGH�N����@@pG�9N�pG�pG�pG�pG\G�ZG�9N����@�pG�9N@qGqGXqG�qG�pG\G�ZG�9N����@@qGx�N�qG�qG�qGrGhpGx�N����@�qG��NPrG(rGhrGxrG��N����@PrGتN����@�rG�rG�rGxrGsG�N����@(sG@sGPsG�N����@(sG�sG�sG�rGxrGsG0�N����@xsGX�NtG�sG tGPtG�sG�rGxrGsGX�N����@tG:N�tGxtG�tG�tG�qG�pG\G�ZG:N����@�tG��N8uGuGPuGxuG�rGxrGsG��N����@8uG�uG�uG�N����@�uG�NvG�uG0vGHvG�uG�N����@vGH�N�vGpvG�vG�vG�uGH�N����@�vG��NwG�vG0wGHwG�uG��N����@wG�wG�wG��N����@pwG�N�wG�wGxG xGHxG]G�N����@�wG@�N����@pxG�xGHxG]G@�NpxG�xG��N�xG�xGyG(yGPyG]G��N����@�xGЭN����@xyG�yGPyG]GЭNxyG�yG0�N�yG�yGzG0zGXzG]G0�N����@�yG`�N����@�zG�zGXzG]G`�N�zG�zG��N{G�zG{G8{G`{G]G��N����@{G�N����@�{G�{G`{G]G�N�{G�{Gp�N|G�{G |G@|Gh|G]Gp�N����@|G��N����@�|G�|Gh|G]G��N�|G�|G��N}G�|G(}GH}Gp}G]G��N����@}G �N����@�}G�}Gp}G]G �N�}G�}Gx�N~G�}G0~GP~Gx~G]Gx�N����@~G��N����@�~G�~Gx~G]G��N�~G�~G�N G�~G8G`G�rGxrGsG�N����@ G �N�G�G�G�GX]G �N����@�Gp�N0�G�GH�G`�GX]Gp�N����@0�G��N��G��GȀG�GX]G��N����@��G�N0�G�GH�G`�GX]G�N����@0�G`�N��G��GȁG�GX]G`�N����@��G��N0�G�GH�G`�GX]G��N����@0�G�N��G��GȂG�GX]G�N����@��G@�N0�G�GH�G`�GX]G@�N����@0�G��N��G��GȃG�GX]G��N����@��G��N0�G�GH�G`�GX]G��N����@0�G�N��G��GȄG�G�^G�N����@��G��N0�G�GH�G`�G�^G��N����@0�G�N��G��GȅG�G�^G�N����@��G��N0�G�GH�G`�G�^G��N����@0�G�N��G��GȆG�G�^G�N����@��G��N0�G�GH�G`�G�^G��N����@0�G�N��G��GȇG�G�^G�N����@��G��N0�G�GH�G`�G�^G��N����@0�G�N��G��GȈG�G�^G�N����@��G��N0�G�GH�G`�G�^G��N����@0�G�N��G��GȉG�G�wG�N����@��G��N0�G�GH�Gh�G��G]G��N����@0�G��N����@��GЊG��G]G��N��G�G�N8�G�GP�Gh�GX]G�N����@8�GP�N��G��GЋG�G�^GP�N����@��GкN8�G�GP�Gh�G�^GкN����@8�GP�N��G��GЌG�GP�N����@��Gx�N0�G�GH�G`�G�Gx�N����@0�G��N��G��GȍG�G�^G��N����@��G0�N0�G�GH�G`�G�G0�N����@0�G`�N��G��GȎG�G�^G`�N����@��G�N0�G�GH�G`�G�uG�N����@0�G �N��G��GȏG�GX]G �N����@��Gp�N0�G�GH�G`�G�^Gp�N����@0�G�>N��G��GȐG�G\G�ZG�>N����@��G�N8�G�GP�Gh�G�^G�N����@8�Gp�N��G��GБG�G�G]Gp�N����@��G��N����@@�GX�G�G]G��N@�Gp�G�N��G��GؒG��G �G]G�N����@��G0�N����@H�G`�G �G]G0�NH�Gx�G��NȓG��G�G�G(�G]G��N����@ȓGпN����@P�Gh�G(�G]GпNP�G��G@�NДG��G�G�GX]G@�N����@ДG��NP�G(�Gh�G��GX]G��N����@P�G�NЕG��G�G�GX]G�N����@ЕG0�NP�G(�Gh�G��G�^G0�N����@P�G��NЖG��G�G�G�^G��N����@ЖG0�NP�G(�Gh�G��G�^G0�N����@P�G��NЗG��G�G�G�^G��N����@ЗG0�NP�G(�Gh�G��G�^G0�N����@P�G��NИG��G�G�G�^G��N����@ИG0�NP�G(�Gh�G��G�^G0�N����@P�G��NЙG��G�G�G�^G��N����@ЙG0�NP�G(�Gh�G��G�^G0�N����@P�G��NКG��G�G�G�^G��N����@КG0�NP�G(�Gh�G��G�^G0�N����@P�G��NЛG��G�G�G�^G��N����@ЛG0�NP�G(�Gh�G��G�^G0�N����@P�G��NМG��G�G�G0�G]G��N����@МG��N����@X�Gp�G0�G]G��NX�G��G8�N؝G��G�G�G�G8�N����@؝Gh�NX�G0�Gp�G��GX]Gh�N����@X�G��N؞G��G�G�G�^G��N����@؞G0�NX�G0�Gp�G��G�^G0�N����@X�G��N؟G��G�G�G�^G��N����@؟G0�NX�G0�Gp�G��G�^G0�N����@X�GȠGؠG��N����@��G�CN(�G�G@�G`�G��G]G�CN����@(�G��N����@��GȡG��G]G��N��G�G@�N0�G�GH�G`�G��G@�N����@0�Gp�N����@��GȢG��G��N�GآG�G8�G`�G��G��N����@�G��N����@��G��G`�G��GH�N����@�G��G��G��N��G�G��NX�G0�Gp�G��G��G�G��N����@X�G��N����@�G��G��G�G(�N����@8�GP�G�G��N�G`�G`�N��G��GȥG�GؠG`�N����@��G��N0�G�GH�G`�GX]G��N����@0�G�N��G��GȦG�G��G�N����@��GH�N0�G�GH�G`�G��GH�N����@0�G��N��G��GȧG�G��G��N����@��G��N0�G�GH�G`�GX]G��N����@0�GP�N��G��GȨG�GX]GP�N����@��G��N0�G�GH�G`�GX]G��N����@0�G��N��G��GȩG�GX]G��N����@��GP�N0�G�GH�G`�GX]GP�N����@0�G��N��G��GȪG�GX]G��N����@��GDN0�G�GH�Gh�G��G]GDN����@0�G �N����@��GЫG��G]G �N��G�G��N8�G�GP�Gp�G��G��G��N����@8�G��N����@��GجG��G��G��N��G�G@�N@�G�GX�Gx�G��G�G@�N����@@�G��N����@ȭG�G��G�G��NȭG��G��NH�G �G`�Gx�GؠG��N����@H�G@�NȮG��G�G��G��G@�N����@ȮG��NH�G �G`�Gx�GX]G��N����@H�G�NȯG��G�G��GX]G�N����@ȯGp�NH�G �G`�Gx�GX]Gp�N����@H�G��NȰG��G�G��G�^G��N����@ȰG@�NH�G �G`�Gx�GX]G@�N����@H�G�DNȱG��G�G�G(�G]G�DN����@ȱG��N����@P�Gh�G(�G]G��NP�G��G�NвG��G�G�G0�G��G�N����@вG`�N����@X�Gp�G0�G��G`�NX�G��G��NسG��G�G�G8�G�G��N����@سG�N����@`�Gx�G8�G�G�N`�G��Gp�N�G��G��G�GؠGp�N����@�G��N`�G8�Gx�G��GX]G��N����@`�G �N�G��G��G�GX]G �N����@�G��N`�G8�Gx�G��GX]G��N����@`�G��N�G��G��G�G�^G��N����@�G�DN`�G8�Gx�G��G��G]G�DN����@`�G@�N����@�G�G��G]G@�N�G�G��Nh�G@�G��G��GȸG��G��N����@h�G��N����@�G�GȸG��G��N�G �GP�Np�GH�G��G��GйG�GP�N����@p�G��N����@��G�GйG�G��N��G(�G�Nx�GP�G��G��GؠG�N����@x�GH�N��GкG�G(�G��GH�N����@��Gx�Nx�GP�G��G��G��Gx�N����@x�G��N��GлG�G(�G��G��N����@��G�Nx�GP�G��G��GX]G�N����@x�Gp�N��GмG�G(�GX]Gp�N����@��G��Nx�GP�G��G��GX]G��N����@x�G �N��GнG�G(�G�^G �N����@��G��Nx�GP�G��G��GX]G��N����@x�G��N��GоG�G(�GX]G��N����@��G@�Nx�GP�G��G��GX]G@�N����@x�G`EN��GпG�G0�GX�G]G`EN����@��G��N����@��G��GX�G]G��N��G��G �N�G�G�G8�G`�G��G �N����@�Gp�N����@��G��G`�G��Gp�N��G��G��N�G�G �G@�Gh�G�G��N����@�G �N����@��G��Gh�G�G �N��G��G��N�G��G(�G@�GؠG��N����@�G��N��Gh�G��G��GX]G��N����@��G@�N�G��G(�G@�GX]G@�N����@�G��N��Gh�G��G��GX]G��N����@��G�N�G��G(�G@�G�^G�N����@�G�EN��Gh�G��G��G��G]G�EN����@��G��N����@�G0�G��G]G��N�GH�G��N��Gp�G��G��G��G��G��N����@��G0�N����@ �G8�G��G��G0�N �GP�G��N��Gx�G��G��G�G�G��N����@��G��N����@(�G@�G�G�G��N(�GX�G@�N��G��G��G��GؠG@�N����@��G��N(�G�G@�GX�GX]G��N����@(�G��N��G��G��G��GX]G��N����@��GP�N(�G�G@�GX�GX]GP�N����@(�G�EN��G��G��G��G�G]G�EN����@��G��N����@0�GH�G�G]G��N0�G`�G�N��G��G��G��G�G��G�N����@��GP�N����@8�GP�G�G��GP�N8�Gh�G��N��G��G��G��G�G�G��N����@��G�N����@@�GX�G�G�G�N@�Gp�G`�N��G��G��G��GؠG`�N����@��G��N@�G�GX�Gp�GX]G��N����@@�G �N��G��G��G��GX]G �N����@��G��N@�G�GX�Gp�GX]G��N����@@�G��N��G��G��G��G �G��G��N����@��G0�N����@H�G`�G �G��G0�NH�Gx�G��N��G��G��G�G(�G�G��N����@��G��N����@P�Gh�G(�G�G��NP�G��G@�N��G��G��G�GؠG@�N����@��G��NP�G(�Gh�G��GX]G��N����@P�G��N��G��G��G�GX]G��N����@��G(FNP�G(�Gh�G��G��G]G(FN����@P�GP�N����@��G��G��G]GP�N��G�G��NX�G0�Gp�G��G��G��G��N����@X�G�N����@��G��G��G��G�N��G�G`�N`�G8�Gx�G��G��G�G`�N����@`�G��N����@��G�G��G�G��N��G�G�Nh�G@�G��G��GؠG�N����@h�G`�N��G��G�G�GX]G`�N����@��G��Nh�G@�G��G��GX]G��N����@h�G �N��G��G�G�GX]G �N����@��GPFNh�G@�G��G��G�`G�ZGPFN����@h�G��G��G`�N����@��G@BN@�G�GX�Gp�G��G@BN����@@�G��N����@��G��G��G��N�G��G(�G@�Gh�G��N����@�G�N����@��G��Gh�GX�N��G��G��G�G�uGX�N����@��G��N`�G8�Gx�G��G�uG��N����@`�G��N��G��G��G�G�uG��N����@��G�N`�G8�Gx�G��G�uG�N����@`�GH�N��G��G��G�Gp�G��GH�N����@��GX�Gh�G��N����@@�G��G��G��N����@��G��G�G�N����@��GH�GX�GX�N����@0�G��G��G��N����@��G��G��G��N����@��G8�GH�G �N����@ �G��G��Gp�N����@p�G��G��G��N����@��G(�G8�G��N����@�Gx�G��G@�N����@`�G��G��G��N����@��G�G(�G��N����@�Gh�Gx�G��N����@P�G��G��G(�N����@��G�G�G`�N����@��G��Nh�G@�G��G��GX]G��N����@h�G�N��G��G�G�GX]G�N����@��G`�Nh�G@�G��G��GX]G`�N����@h�G��N��G��G�G�GX]G��N����@��G�Nh�G@�G��G��Gh�G�N����@h�G��N��G��G�G�G��G��N����@��G�Nh�G@�G��G��G��G�N����@h�Gp�N��G��G�G�G��Gp�N����@��G�Nh�G@�G��G��G��G�N����@h�GP�N��G��G�G�G��GP�N����@��G��Nh�G@�G��G��G��G��N����@h�G0�N��G��G�G�G��G0�N����@��G��Nh�G@�G��G��G�G��N����@h�G �N��G��G�G�G��G �N����@��G��Nh�G@�G��G��G��G��N����@h�G�N��G��G�G�GX�G�N����@��G��Nh�G@�G��G��G��G��N����@h�G�N��G��G�G�G��G�N����@��G`�Nh�G@�G��G��G��G`�N����@h�G�N��G��G�G�G��G�N����@��GP�Nh�G@�G��G��G��GP�N����@h�G��N��G��G�G�G��G��N����@��G0�Nh�G@�G��G��G��G0�N����@h�G��N��G��G�G�G��G��N����@��G�Nh�G@�G��G��G��G�N����@h�G��N��G��G�G�G��G��N����@��G�Nh�G@�G��G��G��G�N����@h�G`O��G��G�G�GH�G`O����@��G�Oh�G@�G��G��G��G�O����@h�GPO��G��G�G�G��GPO����@��G�Oh�G@�G��G��G��G�O����@h�G@O��G��G�G�G��G@O����@��G�Oh�G@�G��G��G��G�O����@h�G O��G��G�G�G��G O����@��G�Oh�G@�G��G��G��G�O����@h�GO��G��G�G�G��GO����@��GpOh�G@�G��G��G�GpO����@h�G�O��G��G�G�GH�G�O����@��GpOh�G@�G��G��G��GpO����@h�G�O�G��G�G�G��G�O����@�GPOh�G@�G��G��G��GPO����@h�G�O�G��G�G�G��G�O����@�G0Oh�G@�G��G��G��G0O����@h�G�O�G��G�G�G��G�O����@�GOh�G@�G��G��G8�GO����@h�G�O�G��G�G�G��G�O����@�G	Oh�G@�G��G��G��G	O����@h�G�	O�G��G�G�G��G�	O����@�G
Oh�G@�G��G��G��G
O����@h�G�
O�G��G�G�G��G�
O����@�GOh�G@�G��G��G��GO����@h�GpO�G��G�G�G��GpO����@�G�Oh�G@�G��G��G(�G�O����@h�GPO�G��G�G�G��GPO����@�G�Oh�G@�G��G��Gx�G�O����@h�G0
O�G��G�G�G�G0
O����@�G�
Oh�G@�G��G��G��G�
O����@h�G O�G��G�G�G��G O����@�G�Oh�G@�G��G��G�G�O����@h�GO�G��GHH�GO����@�G�OhH@H�H�H�G�O����@hHO�H�HHH�GO����@�H�OhH@H�H�H�G�O����@hHO�H�HHH�GO����@�H�OhH@H�H�H�G�O����@hHO�H�HHH�GO����@�H�OhH@H�H�H�G�O����@hHO�H�HHH�GO����@�H�OhH@H�H�H�G�O����@hHO�H�HHH�GO����@�H�OhH@H�H�H�G�O����@hHO�H�HHH�GO����@�H�OhH@H�H�H�G�O����@hHO�H�HHH�GO����@�H�OhH@H�H�H�G�O����@hHO�H�HHH�GO����@�H�OhH@H�H�H�G�O����@hHO�H�H	H	H�GO����@�H�Oh	H@	H�	H�	H�G�O����@h	HO�	H�	H
H
H�GO����@�	H�Oh
H@
H�
H�
H�G�O����@h
HO�
H�
HHH�GO����@�
H�OhH@H�H�H�G�O����@hHO�H�HHH�GO����@�H�OhH@H�H�H�G�O����@hHO�H�H
H
H�GO����@�H�Oh
H@
H�
H�
H�G�O����@h
HO�
H�
HHH�GO����@�
H�OhH@H�H�H�G�O����@hHO�H�HHH�GO����@�H�OhH@H�H�H�G�O����@hHO�H�HHH�GO����@�H�OhH@H�H�H�G�O����@hH O�H�HHH�G O����@�H� OhH@H�H�H�G� O����@hH!O�H�HHH�G!O����@�H�!OhH@H�H�H�G�!O����@hH"O�H�HHH�G"O����@�H�"OhH@H�H�H�G�"O����@hH#O�H�HHH�G#O����@�H�#OhH@H�H�H�G�#O����@hH$O�H�HHH�G$O����@�H�$OhH@H�H�H�G�$O����@hH%O�H�HHH�G%O����@�H�%OhH@H�H�H�G�%O����@hH&O�H�HHH�G&O����@�H�&OhH@H�H�H�G�&O����@hH'O�H�HHH�G'O����@�H�'OhH@H�H�H�G�'O����@hH(O�H�HHH�G(O����@�H�(OhH@H�H�H�G�(O����@hH)O�H�HHH�G)O����@�H�)OhH@H�H�H�G�)O����@hH*O�H�HHH�G*O����@�H�*OhH@H�H�H�G�*O����@hH+O�H�HHH�G+O����@�H�+OhH@H�H�H�G�+O����@hH,O�H�HHH�G,O����@�H�,OhH@H�H�H�H��G�,O����@hH�,O����@�HH�H��G�,O�H H@-OpHHH�H�H�H�G@-O����@pH�-O����@�HH�H�G�-O�H(H�-OxHPH�H�HؠG�-O����@xH@.O�H�H H( H��G@.O����@�H�.Ox HP H� H� H��G�.O����@x H�.O� H� H!H(!HX]G�.O����@� H@/Ox!HP!H�!H�!HX]G@/O����@x!H�/O�!H�!H"H("HX]G�/O����@�!H 0Ox"HP"H�"H�"HX]G 0O����@x"HPcN�"H�"H#H0#HX#H]GPcN����@�"Hp0O����@�#H�#HX#H]Gp0O�#H�#H�0O$H�#H$H8$H`$H]G�0O����@$H1O����@�$H�$H`$H]G`1O�$H�$H�$H%H@%H��G`1O����@�$H�1O����@h%H�%H@%H��G1O�$H�%H�1Oh%H�%H2O&H�%H(&HH&Hp&H�G2O����@&H`2O����@�&H�&Hp&H�G`2O�&H�&H�2O'H�&H0'HH'HؠG�2O����@'H3O�'Hp'H�'H�'HX]G3O����@�'H`3O(H�'H0(HH(HX]G`3O����@(H�3O�(Hp(H�(H�(HX]G�3O����@�(H 4O)H�(H0)HH)HX]G 4O����@)H`4O�)Hp)H�)H�)H�dG`4O����@�)H�4O*H�)H0*HH*H�^G�4O����@*HdN�*Hp*H�*H�*H�*H]GdN����@�*HP5O����@ +H8+H�*H]GP5O +HP+H�5O�+Hx+H�+H�+H,H��G�5O����@�+H6O����@(,H@,H,H��G6O(,HX,H`6O�,H�,H�,H�,H-H�G`6O����@�,H�6O����@0-HH-H-H�G�6O0-H`-H7O�-H�-H�-H�-HؠG7O����@�-H`7O0.H.HH.H`.HX]G`7O����@0.H�7O�.H�.H�.H�.HX]G�7O����@�.H 8O0/H/HH/H`/HX]G 8O����@0/H`8O�/H�/H�/H�/H�^G`8O����@�/H�8O00H0HH0Hh0H�0H��G�8O����@00H09O����@�0H�0H�0H��G09O�0H�0H�9O81H1HP1Hp1H�1H�G�9O����@81H�9O����@�1H�1H�1H�G�9O�1H�1H@:O@2H2HX2Hp2HؠG@:O����@@2H�:O�2H�2H�2H�2H��G�:O����@�2H�:O@3H3HX3Hp3HX]G�:O����@@3H0;O�3H�3H�3H�3HX]G0;O����@�3H�;O@4H4HX4Hp4HX]G�;O����@@4HpdN�4H�4H�4H�4H 5H]GpdN����@�4H�;O����@H5H`5H 5H]G�;OH5Hx5H`<O�5H�5H�5H6H(6H��G`<O����@�5H�<O����@P6Hh6H(6H��G�<OP6H�6H0=O�6H�6H�6H7H07H�G0=O����@�6H�=O����@X7Hp7H07H�G�=OX7H�7H>O�7H�7H�7H8HؠG>O����@�7H`>OX8H08Hp8H�8HX]G`>O����@X8H�>O�8H�8H�8H9HX]G�>O����@�8H@?OX9H09Hp9H�9HX]G@?O����@X9H�?O�9H�9H�9H:H�^G�?O����@�9H@OX:H0:Hp:H�:H�:H��G@O����@X:HP@O����@�:H�:H�:H��GP@O�:H;H�@O`;H8;Hx;H�;H�;H�G�@O����@`;H�@O����@�;H<H�;H�G�@O�;H<HPAOh<H@<H�<H�<HؠGPAO����@h<H�AO�<H�<H=H=HX]G�AO����@�<H�AOh=H@=H�=H�=HX]G�AO����@h=H�dN�=H�=H>H >HH>H]G�dN����@�=HPBO����@p>H�>HH>H]GPBOp>H�>H�BO�>H�>H?H(?HP?H��G�BO����@�>HCO����@x?H�?HP?H��GCOx?H�?HpCO�?H�?H@H0@HX@H�GpCO����@�?H�CO����@�@H�@HX@H�G�CO�@H�@H@DOAH�@HAH0AHؠG@DO����@AH�DO�AHXAH�AH�AH��G�DO����@�AHEOBH�AHBH0BH��GEO����@BH@EO�BHXBH�BH�BHX]G@EO����@�BH�EOCH�BHCH0CHX]G�EO����@CH FO�CHXCH�CH�CHX]G FO����@�CHpFODH�CHDH0DHX]GpFO����@DHGO�DHXDH�DH�DHX]GGO����@�DHPGOEH�DHEH8EH`EH��GPGO����@EH�GO����@�EH�EH`EH��G�GO�EH�EH�GOFH�EH FH@FHhFH�G�GO����@FH0HO����@�FH�FHhFH�G0HO�FH�FH�HOGH�FH(GH@GHؠG�HO����@GH�HO�GHhGH�GH�GHX]G�HO����@�GH0IOHH�GH(HH@HHX]G0IO����@HH�IO�HHhHH�HH�HH�HH��G�IO����@�HH�IO����@IH0IH�HH��G�IOIHHIH@JO�IHpIH�IH�IH�IH�G@JO����@�IH�JO����@ JH8JH�IH�G�JO JHPJH�JO�JHxJH�JH�JHؠG�JO����@�JH@KO KH�JH8KHPKHX]G@KO����@ KH�KO�KHxKH�KH�KHX]G�KO����@�KH(eN LH�KH8LHXLH�LH]G(eN����@ LH LO����@�LH�LH�LH]G LO�LH�LH�LO(MHMH@MH`MH�MH��G�LO����@(MH�LO����@�MH�MH�MH��G�LO�MH�MH@MO0NHNHHNHhNH�NH�G@MO����@0NH�MO����@�NH�NH�NH�G�MO�NH�NH�MO8OHOHPOHpOH�OH��G�MO����@8OH@NO����@�OH�OH�OH��G@NO�OH�OH�NO@PHPHXPHxPH�PH�G�NO����@@PHOO����@�PH�PH�PH�GOO�PH�PH�OOHQH QH`QHxQHؠG�OO����@HQH�OO�QH�QH�QH�QHؠG�OO����@�QH(POHRH RH`RHxRH��G(PO����@HRH`PO�RH�RH�RH�RHX]G`PO����@�RH�POHSH SH`SHxSHX]G�PO����@HSH@QO�SH�SH�SH�SHX]G@QO����@�SH�QOHTH TH`THxTHX]G�QO����@HTH RO�TH�TH�TH�THX]G RO����@�THpROHUH UH`UHxUHX]GpRO����@HUH�RO�UH�UH�UHVH(VH��G�RO����@�UHSO����@PVHhVH(VH��GSOPVH�VHpSO�VH�VH�VHWH0WH�GpSO����@�VH�SO����@XWHpWH0WH�G�SOXWH�WH TO�WH�WH�WHXHؠG TO����@�WHpTOXXH0XHpXH�XHX]GpTO����@XXH�TO�XH�XH�XHYHX]G�TO����@�XHXeNXYH0YHpYH�YH�YH]GXeN����@XYH0UO����@�YH�YH�YH]G0UO�YHZH�UO`ZH8ZHxZH�ZH�ZH��G�UO����@`ZH�UO����@�ZH[H�ZH��G�UO�ZH[H VOh[H@[H�[H�[H�[H�G VO����@h[HpVO����@�[H\H�[H�GpVO�[H \H�VOp\HH\H�\H�\HؠG�VO����@p\H WO�\H�\H]H ]HX]G WO����@�\H�WOp]HH]H�]H�]HX]G�WO����@p]H�WO�]H�]H^H ^HX]G�WO����@�]H XOp^HH^H�^H�^H�^H XO����@p^HPXO����@�^H_H�^H�eN@_H_HX_H�_H�\G\G�ZG�eN����@@_H�eN�_H�_H�_H`H0`H]G�eN����@�_H�XO����@X`Hp`H0`H]G�XOX`H�`HYO�`H�`H�`HaH8aH��GYO����@�`H`YO����@`aHxaH8aH��G`YO`aH�aH�YO�aH�aH�aHbH@bH�G�YO����@�aHZO����@hbH�bH@bH�GZOhbH�bHpZO�bH�bHcHcHؠGpZO����@�bH�ZOhcH@cH�cH�cHX]G�ZO����@hcH0[O�cH�cHdHdHX]G0[O����@�cH�[OhdH@dH�dH�dHX]G�[O����@hdHfN�dH�dHeH eHHeH]GfN����@�dH�[O����@peH�eHHeH]G�[OpeH�eHp\O�eH�eHfH(fHPfH��Gp\O����@�eH�\O����@xfH�fHPfH��G�\OxfH�fH@]O�fH�fHgH0gHXgH�G@]O����@�fH�]O����@�gH�gHXgH�G�]O�gH�gH^OhH�gHhH0hHؠG^O����@hHp^O�hHXhH�hH�hHX]Gp^O����@�hH�^OiH�hHiH0iHX]G�^O����@iHP_O�iHXiH�iH�iHX]GP_O����@�iH�_OjH�iHjH0jH�^G�_O����@jH�fN�jHXjH�jH�jH�jH]G�fN����@�jH `O����@kH kH�jH]G `OkH8kH�`O�kH`kH�kH�kH�kH��G�`O����@�kHaO����@lH(lH�kH��GaOlH@lHpaO�lHhlH�lH�lH�lH�GpaO����@�lH�aO����@mH0mH�lH�G�aOmHHmH@bO�mHpmH�mH�mHؠG@bO����@�mH�bOnH�mH0nHHnHX]G�bO����@nH cO�nHpnH�nH�nHX]G cO����@�nH�cOoH�nH0oHHoHX]G�cO����@oH�cO�oHpoH�oH�oH�^G�cO����@�oHpdOpH�oH0pHPpHxpH��GpdO����@pH�dO����@�pH�pHxpH��G�dO�pH�pH eO qH�pH8qHXqH�qH�G eO����@ qHpeO����@�qH�qH�qH�GpeO�qH�qH�eO(rHrH@rHXrHؠG�eO����@(rH0fO�rH�rH�rH�rHX]G0fO����@�rH�fO(sHsH@sHXsHX]G�fO����@(sHgO�sH�sH�sH�sHtH��GgO����@�sH`gO����@0tHHtHtH��G`gO0tH`tH�gO�tH�tH�tH�tHuH�G�gO����@�tHhO����@8uHPuHuH�GhO8uHhuHphO�uH�uH�uH�uHؠGphO����@�uH�hO8vHvHPvHhvHX]G�hO����@8vH0iO�vH�vH�vH�vHX]G0iO����@�vHgN8wHwHPwHpwH�wH]GgN����@8wH�iO����@�wH�wH�wH]G�iO�wH�wH�iO@xHxHXxHxxH�xH��G�iO����@@xH0jO����@�xH�xH�xH��G0jO�xH�xH�jOHyH yH`yH�yH�yH�G�jO����@HyH�jO����@�yH�yH�yH�G�jO�yHzH0kOPzH(zHhzH�zHؠG0kO����@PzHpkO�zH�zH�zH{HX]GpkO����@�zH�kOP{H({Hh{H�{HX]G�kO����@P{H(lO�{H�{H�{H|HX]G(lO����@�{HplOP|H(|Hh|H�|H�^GplO����@P|HpgN�|H�|H�|H}H0}H]GpgN����@�|H�lO����@X}Hp}H0}H]G�lOX}H�}HPmO�}H�}H�}H~H8~H��GPmO����@�}H�mO����@`~Hx~H8~H��G�mO`~H�~HnO�~H�~H�~HH@H�GnO����@�~HPnO����@hH�H@H�GPnOhH�H�nO�H�H�H�HؠG�nO����@�HoOh�H@�H��H��HX]GoO����@h�HpoO�H��H�H�HX]GpoO����@�H�oOh�H@�H��H��HX]G�oO����@h�H�gN�H��H�H �HH�H]G�gN����@�H0pO����@p�H��HH�H]G0pOp�H��H�pO�HȂH�H(�HP�H��G�pO����@�H�pO����@x�H��HP�H��G�pOx�H��H@qO��HЃH�H0�HX�H�G@qO����@��H�qO����@��H��HX�H�G�qO��H��H�qO�H؄H�H0�HؠG�qO����@�H@rO��HX�H��H��HX]G@rO����@��H�rO�H؅H�H0�HX]G�rO����@�HsO��HX�H��H��HX]GsO����@��H`sO�H؆H�H0�H�^G`sO����@�H�sO��HX�H��H��H�H��G�sO����@��H0tO����@�H �H�H��G0tO�H8�H�tO��H`�H��H��H�H�G�tO����@��H�tO����@�H(�H�H�G�tO�H@�H@uO��Hh�H��H��HؠG@uO����@��H�uO�H�H(�H@�HX]G�uO����@�HvO��Hh�H��H��HX]GvO����@��HhN�H�H(�HH�H�`G�ZGhN����@�H��H��H`vO����@p�H�vO�H��H�H�H�vO����@�H�vO`�H8�Hx�H��H��H�H�vO����@`�HwO����@�H�H��H�HwO�H�H�wOh�H@�H��H��HȍH�H�wO����@h�H�wO����@�H�HȍH�H�wO�H �H@xOp�HH�H��H��H��H@xO����@p�H�hN�HȎH�H(�HP�H]G�hN����@�H�xO����@x�H��HP�H]G�xOx�H��H yO��HЏH�H0�HX�H��G yO����@��HpyO����@��H��HX�H��GpyO��H��H�yO�HؐH�H8�H`�H�G�yO����@�H zO����@��H��H`�H�G zO��H��H�zO�H�H �H8�HؠG�zO����@�H�zO��H`�H��H��H��G�zO����@��H {O�H�H �H8�HX]G {O����@�H�{O��H`�H��H��HX]G�{O����@��H�{O�H�H �H8�HX]G�{O����@�H@|O��H`�H��H��H�^G@|O����@��H�|O�H�H �H8�HX]G�|O����@�H�hN��H`�H��H��H�H]G�hN����@��H0}O����@�H(�H�H]G0}O�H@�H�}O��Hh�H��HȖH�H��G�}O����@��H�}O����@�H0�H�H��G~Op�HH�H��H��HЗH�G~O����@p�HP~O����@��H�HЗH�GP~O��H(�H�~Ox�HP�H��H��HؠG�~O����@x�H�}O�HИH�~O �H��H8�HP�HX]G�~O����@ �HPO��Hx�H��HЙHX]GPO����@��H�O �H��H8�HP�HX]G�O����@ �HiN��Hx�H��HؚH�H]GiN����@��H�O����@(�H@�H�H]G�O(�HX�H@�O��H��H��H�H�H��G@�O����@��H��O����@0�HH�H�H��G��O0�H`�HЀO��H��HȜH�H�H�GЀO����@��H �O����@8�HP�H�H�G �O8�Hh�H��O��H��HНH�HؠG��O����@��H��O8�H�HP�Hh�HX]G��O����@8�H �O��H��HОH�HX]G �O����@��Hx�O8�H�HP�Hh�HX]Gx�O����@8�H��O��H��HПH�H�H��G��O����@��H�O����@@�HX�H�H��G�O@�Hp�Hp�O��H��HؠH��H �H�Gp�O����@��H��O����@H�H`�H �H�G��OH�Hx�H �OȡH��H�H��HؠG �O����@ȡHp�OH�H �H`�Hx�HX]Gp�O����@H�HЄOȢH��H�H��HX]GЄO����@ȢH0�OH�H �H`�H��H��H��G0�O����@H�H��O����@УH�H��H��G��OУH�H�OP�H(�Hh�H��H��H�G�O����@P�H0�O����@ؤH�H��H�G0�OؤH�H��OX�H0�Hp�H��HؠG��O����@X�H�OإH��H�H�HX]G�O����@إH@�OX�H0�Hp�H��HX]G@�O����@X�H8iNئH��H�H�H8�H]G8iN����@ئH��O����@`�Hx�H8�H]G��O`�H��H�O�H��H��H�H@�H��G�O����@�HP�O����@h�H��H@�H��GP�Oh�H��H��O�H��H�H �HH�H�G��O����@�H�O����@p�H��HH�H�G�Op�H��H`�O�HȩH�H �HؠG`�O����@�H��Op�HH�H��H��HX]G��O����@p�H �O�HȪH�H �HX]G �O����@�H��Op�HH�H��H��HX]G��O����@p�H�O�HȫH�H �H`lG�O����@�H�0�Op�HH�H��H��H�mGmG@mGhmG0�O����@p�H��H �H�rGxrGsGx�O����@�H��Op�HH�H��H��H �H�rGxrGsG��O����@p�H�O�H�H �H@�Hh�H��G�O����@�H0�O����@��H��Hh�H��G0�O��H��H��O�H�H(�HH�Hp�H�G��O����@�H�O����@��H��Hp�H�G�O��HȯH@�O�H�H0�HH�HؠG@�O����@�H��O��Hp�H��HȰHX]G��O����@��H�O�H�H0�HH�HX]G�O����@�HhiN��Hp�H��HбH��H]GhiN����@��H`�O����@ �H8�H��H]G`�O �HP�H��O��Hx�H��HزH�H��G��O����@��H�O����@(�H@�H�H��G�O(�HX�H@�O��H��H��H�H�H�G@�O����@��H��O����@0�HH�H�H�G��O0�H`�H؏O��H��HȴH�HؠG؏O����@��H �O0�H�HH�H`�HX]G �O����@0�H��O��H��HȵH�HX]G��O����@��HؐO0�H�HH�H`�HX]GؐO����@0�H�O��H��HȶH�H�H�O����@��HP�O����@0�HH�H�H�iN��HX�H��H��H�H]G�iN����@��H��O����@�H �H�H]G��O�H8�H�O��H`�H��H��H�H��G�O����@��HP�O����@�H(�H�H��GP�O�H@�H��O��Hh�H��HȹH�H�G��O����@��H�O����@�H0�H�H�G�O�HH�H`�O��Hp�H��HȺHؠG`�O����@��H��O�H�H0�HH�HX]G��O����@�H�O��Hp�H��HȻHX]G�O����@��Hp�O�H�H0�HH�HX]Gp�O����@�H�iN��Hp�H��HмH��H]G�iN����@��H��O����@ �H8�H��H]G��O �HP�H�O��Hx�H��HؽH�H��G�O����@��H`�O����@(�H@�H�H��G`�O(�HX�H��O��H��H��H�H�H�G��O����@��H�O����@0�HH�H�H�G�O0�H`�Hp�O��H��HȿH�HؠGp�O����@��H��O0�H�HH�H`�H��G��O����@0�H�O��H��H�H�HX]G�O����@��HP�O0�H�HH�H`�HX]GP�O����@0�H��O��H��H�H�HX]G��O����@��H�O0�H�HH�H`�H�^G�O����@0�Hp�O��H��H��H��HX]Gp�O����@��H jN0�H�HH�Hh�H��H]G jN����@0�H��O����@��H��H��H]G��O��H��H �O8�H�HP�Hp�H��H��G �O����@8�Hp�O����@��H��H��H��Gp�O��H��HЙO@�H�HX�Hx�H��H�GЙO����@@�H �O����@��H��H��H�G �O��H��H��OH�H �H`�Hx�HؠG��O����@H�HКO��H��H��H��HX]GКO����@��H0�OH�H �H`�Hx�HX]G0�O����@H�H��O��H��H��H��HX]G��O����@��HHjNH�H �H`�H��H��H]GHjN����@H�HЛO����@��H��H��H]GЛO��H�H0�OP�H(�Hh�H��H��H��G0�O����@P�H��O����@��H��H��H��G��O��H�H�OX�H0�Hp�H��H��H�G�O����@X�H0�O����@��H��H��H�G0�O��H�H��O`�H8�Hx�H��HؠG��O����@`�H�O��H��H��H�HX]G�O����@��H@�O`�H8�Hx�H��HX]G@�O����@`�H��O��H��H��H�HX]G��O����@��H(�N8�G8�HpjN��H`�H��H��H��H]GpjN����@��H�O����@�H(�H��H]G�O�H@�H@�O��Hh�H��H��H��H��G@�O����@��H��O����@�H0�H��H��G��O�HH�H�O��Hp�H��H��H��H�G�O����@��H@�O����@ �H8�H��H�G@�O �HP�H��O��Hx�H��H��HؠG��O����@��H�O �H��H8�HP�H��G�O����@ �H �O��Hx�H��H��HX]G �O����@��H��O �H��H8�HP�HX]G��O����@ �H�O��Hx�H��H��HX]G�O����@��H �O �H��H8�HP�HX]G �O����@ �Hx�O��Hx�H��H��H��Hx�O����@��H��O����@ �H8�H��H��Op�HH�H��H��H�G��O����@p�H0�O��H��H�H �H�G0�O����@��H`�Op�HH�H��H��H�G`�O����@p�H��O��H��H�H �H�G��O����@��HУOp�HH�H��H��H�GУO����@p�H�O��H��H�H �H�G�O����@��H@�Op�HH�H��H��H�G@�O����@p�Hx�O��H��H�H �H�Gx�O����@��H��Op�HH�H��H��H�G��O����@p�H�O��H��H�H �H�G�O����@��H�Op�HH�H��H��H�G�O����@p�HH�O��H��H�H �H�GH�O����@��H��Op�HH�H��H��H�G��O����@p�H��O��H��H�H �H�G��O����@��H�Op�HH�H��H��H�G�O����@p�H�O��H��H�H �H�G�O����@��HH�Op�HH�H��H��H�GH�O����@p�H��O��H��H�H �H�G��O����@��H��Op�HH�H��H��H�G��O����@p�H�O��H��H�H �H�G�O����@��H �Op�HH�H��H��H�G �O����@p�HH�N�G��H�jN�H��H0�HP�Hx�H]G�jN����@�HP�O����@��H��Hx�H]GP�O��H��H��O �H��H8�HX�H��H��G��O����@ �H�O����@��H��H��H��G�O��H��H`�O(�H�H@�H`�H��H�G`�O����@(�H��O����@��H��H��H�G��O��H��H�O0�H�HH�H`�HؠG�O����@0�H`�O��H��H��H��HX]G`�O����@��H��O0�H�HH�H`�HX]G��O����@0�H �O��H��H��H��HX]G �O����@��H�jN0�H�HH�Hh�H��H]G�jN����@0�H`�O����@��H��H��H]G`�O��H��HЪO8�H�HP�Hp�H��H��GЪO����@8�H �O����@��H��H��H��G �O��H��H��O@�H�HX�Hx�H��H�G��O����@@�HЫO����@��H��H��H�GЫO��H��H0�OH�H �H`�Hx�HؠG0�O����@H�H��O��H��H��H��HX]G��O����@��H�OH�H �H`�Hx�HX]G�O����@H�H`�O��H��H��H��HX]G`�O����@��H��OH�H �H`�Hx�H�^G��O����@H�H0kN��H��H��H�H(�H]G0kN����@��H0�O����@P�Hh�H(�H]G0�OP�H��H��O��H��H��H�H0�H��G��O����@��H�O����@X�Hp�H0�H��G@�O��H��H��H��H�H�G@�O����@��H��O����@8�HP�H�H�G��O8�Hh�H�O��H��H��H��HؠG�O����@��H�OX�H�H@�O`�H8�Hx�H��HX]G@�O����@`�H��O��H��H��H�HX]G��O����@��H�O`�H8�Hx�H��HX]G�O����@`�H`�O��H��H��H�H�^G`�O����@��H�O`�H8�Hx�H��H��H��G�O����@`�H0�O����@��H�H��H��G0�O��H�H��Oh�H@�H��H��H��H�G��O����@h�H�O����@��H�H��H�G�O��H �H@�Op�HH�H��H��HؠG@�O����@p�H��O��H��H�H �H��G��O����@��H��Op�HH�H��H��HX]G��O����@p�H �O��H��H�H �HX]G �O����@��H��Op�HH�H��H��HX]G��O����@p�H�kN��H��H�H(�HP�H]G�kN����@��HдO����@x�H��HP�H]GдOx�H��H0�O��H��H�H0�HX�H��G0�O����@��H��O����@��H��HX�H��G�O�H��H�H�H8�H�G�O����@�H0�O����@`�Hx�H8�H�G0�O`�H��H��O�H��H��H�HؠG��O����@�H��O��H8�H�O��H`�H��H��HX]G�O����@��H@�O�H�H �H8�HX]G@�O����@�H��O��H`�H��H��HX]G��O����@��H�O�H�H �H@�Hh�H��G�O����@�H0�O����@��H��Hh�H��G0�O��H��H��O�H�H(�HH�Hp�H�G��O����@�H�O����@��H��Hp�H�G�O��H�H@�O�H�H0�HH�HؠG@�O����@�H��O��Hp�H��H�HX]G��O����@��H�O�H�H0�HH�HX]G�O����@�H�kN��Hp�H��H�H��H]G�kN����@��HP�O����@ �H8�H��H]GP�O �HP�H��O��Hx�H��H�H�H��G��O����@��H�O����@(�H@�H�H��G�O(�HX�H`�O��H��H��H�H�H�G`�O����@��H��O����@0�HH�H�H�G��O0�H`�H�O��H��H�H�HؠG�O����@��H`�O0IIHI`IX]G`�O����@0IмO�I�I�I�IX]GмO����@�I0�O0IIHI`IX]G0�O����@0I�kN�I�I�I�II]G�kN����@�I��O����@8IPII]G��O8IhIнO�I�I�I�II��GнO����@�I�O����@@IXII��G�O@IpIp�O�I�I�I�I I�Gp�O����@�I��O����@HI`I I�G��OHIxI �O�I�I�I�IؠG �O����@�Ip�OHI I`IxIX]Gp�O����@HIпO�I�I�I�IX]GпO����@�I0�OHI I`IxIX]G0�O����@HIlN�I�I�II(I]GlN����@�Ip�O����@PIhI(I]Gp�OPI�I�O�I�I�II0I��G�O����@�I0�O����@XIpI0I��G0�OXI�I��O�I�I�I	I8	I�G��O����@�I�O����@`	Ix	I8	I�G�O`	I�	I@�O�	I�	I�	I
IؠG@�O����@�	I��O`
I8
Ix
I�
IX]G��O����@`
I�O�
I�
I�
IIX]G�O����@�
Ip�O`I8IxI�IX]Gp�O����@`I��O�I�I�II�^G��O����@�I�lN`I8IxI�I�I]G�lN����@`I@�O����@�I
I�I]G@�O�I
I��Oh
I@
I�
I�
I�
I��G��O����@h
I�O����@�
II�
I��G�O�
I I`�OpIHI�I�I�I�G`�O����@pI��O����@�II�I�G��O�I(I�OxIPI�I�IؠG�O����@xI`�O�I�II(IX]G`�O����@�I��OxIPI�I�IX]G��O����@xI@�O�I�II(IX]G@�O����@�I�lNxIPI�I�I�I]G�lN����@xI��O����@II�I]G��OI0I��O�IXI�I�I�I��G��O����@�I@�O����@I I�I��G@�OI8I��O�I`I�I�I�I�G��O����@�I��O����@I(I�I�G��OI@IP�O�IhI�I�IؠGP�O����@�I��OI�I(I@IX]G��O����@I�O�IhI�I�IX]G�O����@�I`�OI�I(I@IX]G`�O����@I��O�IhI�I�I�^G��O����@�I0mNI�I(IHIpI]G0mN����@I �O����@�I�IpI]G �O�I�I��OI�I0IPIxI��G��O����@I��O����@�I�IxI��G0�O�I�II0IXI�G0�O����@�I��O����@�I�IXI�G��O�I�I��OI�II0IؠG��O����@I��O�IXI0�O�I�I�I�IX]G0�O����@�I��O(II@IXIX]G��O����@(I��O�I�I�I�IX]G��O����@�IXmN(II@I`I�I]GXmN����@(I0�O����@�I�I�I]G0�O�I�I��O0IIHIhI�I��G��O����@0I��O����@�I�I�I��GP�OI�I(IHIpI�GP�O����@I��O����@�I�IpI�G��O�I�I�OI�I0IHIؠG�O����@I��O�IpIP�O�I�I�I�IX]GP�O����@�I��O@ I IX Ip IX]G��O����@@ I0�O� I� I� I� IX]G0�O����@� I��O@!I!IX!Ip!I�^G��O����@@!I�mN�!I�!I�!I�!I "I]G�mN����@�!I�O����@H"I`"I "I]G�OH"Ix"IP�O�"I�"I�"I#I(#I��GP�O����@�"I��O����@P#Ih#I(#I��G��OP#I�#I��O�#I�#I�#I$I0$I�G��O����@�#I@�O����@X$Ip$I0$I�G@�OX$I�$I��O�$I�$I�$I%IؠG��O����@�$I��OX%I0%Ip%I�%IX]G��O����@X%IP�O�%I�%I�%I&IX]GP�O����@�%I��OX&I0&Ip&I�&IX]G��O����@X&I�mN�&I�&I�&I'I8'I]G�mN����@�&I��O����@`'Ix'I8'I]G��O`'I�'I@�O�'I�'I�'I(I@(I��G@�O����@�'I��O����@h(I�(I@(I��G��Oh(I�(I��O�(I�(I)I )IH)I�G��O����@�(I �O����@p)I�)IH)I�G �Op)I�)I��O�)I�)I*I *IؠG��O����@�)I��Op*IH*I�*I�*I��G��O����@p*I�O�*I�*I+I +IX]G�O����@�*Ip�Op+IH+I�+I�+IX]Gp�O����@p+I��O�+I�+I,I ,IX]G��O����@�+I�Op,IH,I�,I�,I�^G�O����@p,I��O�,I�,I-I -IX]G��O����@�,I`nNp-IH-I�-I�-I�-I]G`nN����@p-I��O����@�-I.I�-I]G��O�-I(.IP�Ox.IP.I�.I�.I�.I��GP�O����@x.I��O����@/I/I�.I��G��O/I0/I�O�/IX/I�/I�/I�/I�G�O����@�/IP�O����@0I 0I�/I�GP�O0I80I��O�0I`0I�0I�0IؠG��O����@�0I�O1I�0I 1I81IX]G�O����@1I`�O�1I`1I�1I�1IX]G`�O����@�1I��O2I�1I 2I82IX]G��O����@2I@=N�2I`2I�2I�2I@=N����@�2I�O3I�2I3I(3I�O����@3I0�Ox3IP3I�3I�3I0�O����@x3Ip�O�3I�3I4I 4I(3Ip�O����@�3I��Op4IH4I�4I�4I��O����@p4I��O�4I�4I5I5I�2I��O����@�4I(�Oh5I@5I�5I�5I(�O����@h5IX�O�5I�5I�5I6I�5IX�O����@�5I��O`6I86Ix6I�6I�5I��O����@`6I��O�6I�6I�6I7I��O����@�6I��OX7I07Ip7I�7I7I��O����@X7I8�O�7I�7I�7I8I 4I(3I8�O����@�7Ip�O`8I88Ix8I�8I�4Ip�O����@`8I��O�8I�8I�8I 9IH9I5I�2I��O����@�8I��O����@p9I�9IH9I5I�2I��Op9I�9I�9I�9I@�O����@�9I��OH:I :I`:Ix:I�9I��O����@H:IP�O�:I�:I�:I�:I�2IP�O����@�:I��OH;I ;I`;I�;I�;I�:I�2I��O����@H;I��O����@�;I�;I�;I�:I�2I��O�;I<IP<I`<I@�O����@8<I��O�<I�<I�<I�<I`<I��O����@�<I`�O0=I=IH=I`=I�2I`�O����@0=I��O�=I�=I�=I�=I7I��O����@�=I��O0>I>IH>Ih>I 4I(3I��O����@0>I �O�>I�>I�>I�>I�4I �O����@�>I`�O8?I?IP?Ix?I�?I`=I�2I`�O����@8?I��O����@�?I�?I�?I`=I�2I��O�?I@I@@IP@I��O����@(@I`�O�@Ix@I�@I�@IP@I`�O����@�@I��O AI�@I8AIPAI�2I��O����@ AI@�O�AIxAI�AI�AI7I@�O����@�AI��O BI�AI8BIXBI 4I(3I��O����@ BI��O�BI�BI�BI�BI�4I��O����@�BI�O(CICI@CIhCI�CIPAI�2I�O����@(CIP�O����@�CI�CI�CIPAI�2IP�O�CI�CI0DI@DI��O����@DI �O�DIhDI�DI�DI@DI �O����@�DI��OEI�DI(EI@EI�2I��O����@EI�O�EIhEI�EI�EI7I�O����@�EIH�OFI�EI(FIHFI 4I(3IH�O����@FI��O�FIpFI�FI�FI�4I��O����@�FI��OGI�FI0GIXGI�GI@EI�2I��O����@GI�O����@�GI�GI�GI@EI�2I�O�GI�GI HI0HIp�O����@HI��O�HIXHI�HI�HI0HI��O����@�HI��OII�HIII0II�2I��O����@II��O�IIXII�II�II 4I(3I��O����@�II�OJI�II JI8JI�4I�O����@JI`�O�JI`JI�JI�JI7I`�O����@�JI��OKI�JI KIHKIpKI0II�2I��O����@KI��O����@�KI�KIpKI0II�2I��O�KI�KILI LI0�O����@�KI��OpLIHLI�LI�LI LI��O����@pLI@�O�LI�LIMI MI�2I@�O����@�LI��OpMIHMI�MI�MI 4I(3I��O����@pMI��O�MI�MINI(NI�4I��O����@�MI �OxNIPNI�NI�NI7I �O����@xNIh�O�NI�NIOI8OI`OI MI�2Ih�O����@�NI��O����@�OI�OI`OI MI�2I��O�OI�OIPIPI�O����@�OI��O`PI8PIxPI�PIPI��O����@`PI �O�PI�PI�PIQI�2I �O����@�PIh�O`QI8QIxQI�QI 4I(3Ih�O����@`QI��O�QI�QIRIRI�4I��O����@�QI��OhRI@RI�RI�RI�RIQI�2I��O����@hRI�O����@�RISI�RIQI�2I�O�RI0SIpSI�SI`�O����@XSI��O�SI�SI�SITI�SI��O����@�SI`�OPTI(TIhTI�TI�2I`�O����@PTI��O�TI�TI�TIUI 4I(3I��O����@�TI��OXUI0UIpUI�UI�4I��O����@XUI �O�UI�UI�UIVI@VI�TI�2I �O����@�UIP�O����@hVI�VI@VI�TI�2IP�OhVI�VI�VI�VI��O����@�VI�O@WIWIXWIpWI�VI�O����@@WI�eN�WI�WI�WI�WI�ZG�eN����@�WI��O@XIXIXXIpXI�2I��O����@@XI��O�XI�XI�XI�XI7I��O����@�XI8�O@YIYIXYIxYI 4I(3I8�O����@@YI��O�YI�YI�YI�YI�4I��O����@�YI�OHZI ZI`ZI�ZI�ZIpXI�2I�O����@HZI�O����@�ZI�ZI�ZIpXI�2I�O�ZI[IP[I`[I`�O����@8[I�O�[I�[I�[I�[I`[I�O����@�[I \I8\I�2Ip�O����@\I��O�\I`\I�\I�\I8\I�2I��O����@�\I]I]I�O����@�\I`�O`]I8]Ix]I�]I]I`�O����@`]I�O�]I�]I�]I^I�2I�O����@�]I8�O`^I8^Ix^I�^I 4I(3I8�O����@`^Ip�O�^I�^I_I_I�4Ip�O����@�^I��Oh_I@_I�_I�_I�_I^I�2I��O����@h_I�O����@�_I`I�_I^I�2I�O�_I0`Ip`I�`I0�O����@X`I��O�`I�`I�`IaI�`I��O����@�`I0�OPaI(aIhaI�aI�2I0�O����@PaI��O�aI�aI�aIbI7I��O����@�aI�OPbI(bIhbI�bI 4I(3I�O����@PbI�bI�bI�4I�O����@�bIX�O0cIcIHcIpcI�bI 4I(3IX�O����@0cI��O�cI�cI�cI�cI�bI�4I��O����@�cI�OHdI dI`dI�dI�dI�aI�2I�O����@HdI �O����@�dI�dI�dI�aI�2I �O�dIeIPeI`eIp�O����@8eI�O�eI�eI�eI�eIX]G�O����@�eI@�O0fIfIHfI`fI`eI@�O����@0fI�O�fI�fI�fI�fI�bI 4I(3I�O����@�fI�O@gIgIXgIpgI�2I�O����@@gIp�O�gI�gI�gI�gI7Ip�O����@�gI0hIPhI�bI�4I��O����@hIP�hIxhI�hI�hI�fI�bI 4I(3IP����@�hIPP8iIiIPiIxiIPhI�bI�4IPP����@8iI�P�iI�iI�iIjI0jIpgI�2I�P����@�iI�P����@XjIpjI0jIpgI�2I�PXjI�jI�jI�jI@P����@�jI�P0kIkIHkI`kI�jI�P����@0kI`P�kI�kI�kI�kI�2I`P����@�kI�P0lIlIHlIplI�lI�kI�2I�P����@0lI�P����@�lI�lI�lI�kI�2I�P�lI�lI8mIHmI0P����@ mI�P�mIpmI�mI�mIHmI�P����@�mInI nI�2I0P����@�mI�PpnIHnI�nI�nI�P����@pnI�P�nI�nIoIoI�nI�P����@�nIPhoI@oI�oI�oI nI�2IP����@hoI�oI�oI@P����@�oI�P@pIpIXpIppI�nI�P����@@pIP�pI�pI�pI�pI�nIP����@�pIPP@qIqIXqIpqIX]GPP����@@qI�P�qI�qI�qI�qIX]G�P����@�qI�P@rIrIXrIprIX]G�P����@@rIPP�rI�rI�rI�rIX]GPP����@�rI�P@sIsIXsIpsIX]G�P����@@sIP�sI�sI�sI�sI�oIP����@�sI��P@tItIXtI�tI�mGmG@mGhmG�P����@@tI	P�tI�tI�tIuI�2I	P����@�tI`	PXuI0uIpuI�uI7I`	P����@XuI�	P�uI�uI�uIvI�bI 4I(3I�	P����@�uI�	PhvI@vI�vI�vI�bI�4I�	P����@hvI8
P�vI�vIwI0wIXwIuI�2I8
P����@�vIp
P����@�wI�wIXwIuI�2Ip
P�wI�wI�wIxI�
P����@�wIPPXxI0xIpxI�xIxIPP����@XxI�P�xI�xI�xIyI�2I�P����@�xI0PXyI0yIpyI�yIyI�2I0P����@XyIhP�yI�yI�yIzI 4I(3IhP����@�yI�PhzI@zI�zI�zI�4I�P����@hzI
P�zI�zI{I{I7I
P����@�zIP
Ph{I@{I�{I�{I7IP
P����@h{I�{I�{I�
P����@�{I(|I8|I P����@|I�P�|I`|I�|I�|I�{I�P����@�|I@P}I�|I }I8}I8|I@P����@}I�P�}I`}I�}I�}I�2I�P����@�}I8P~I�}I ~IH~Ip~IyI�2I8P����@~IpP����@�~I�~Ip~IyI�2IpP�~I�~I�P I�~I8I`I�I�}I�2I�P����@ IP����@�I�I�I�}I�2IP�I�IpP8�I�IP�Ih�I�2IpP����@8�I�P��I��IЀI��I �Ih�I�2I�P����@��I�P����@H�I`�I �Ih�I�2I�PH�I��I��IЁI@P����@��I�P �I��I8�IP�IЁI�P����@ �I@P��Ix�I��IЂI�2I@P����@��I�P �I��I8�IP�I7I�P����@ �I�P��Ix�I��I�I�bI 4I(3I�P����@��IP0�I�IH�Ih�I�bI�4IP����@0�I@P��I��IЄI��I �IЂI�2I@P����@��IpP����@H�I`�I �IЂI�2IpPH�I��I��IЅI�P����@��I0P �I��I8�IP�IЅI0P����@ �I��P��Ix�I��I�I�lGmG@mGhmG�P����@��IP8�I�IP�Ih�IX]GP����@8�I��I�2I�P����@x�I�P��IЇI�I(�I7I�P����@��IPx�IP�I��I��I�bI 4I(3IP����@x�IPP�I�I �I@�I�bI�4IPP����@�I�P��Ih�I��IЉI��I��I�2I�P����@��Ip=N����@ �I8�I��I��I�2Ip=N �IX�I��I��I�P����@��IPP��IЊI�I(�I��IPP����@��I�Px�IP�I��I@P��I��IЋI�I�2I@P����@��I�P8�I�IP�Ih�I7I�P����@8�IP��I��IЌI��I�bI 4I(3IP����@��IPPH�I �I`�I��I�bI�4IPP����@H�I�PЍI��I�I�I8�I�I�2I�P����@ЍI�P����@`�Ix�I8�I�I�2I�P`�I��I؎I�IPP����@��I�P8�I�IP�Ih�I�I�P����@8�I�P��I��IЏI�I�2I�P����@��I�P8�I�IP�Ih�I7I�P����@8�I@P��I��IАI�I�fI�bI 4I(3I@P����@��I�PP�I(�Ih�I��IPhI�bI�4I�P����@P�I�P�I��I��I �IH�I�I�2I�P����@�I@P����@p�I��IH�I�I�2I@Pp�I��I�I��I�P����@ВI@PH�I �I`�Ix�I��I@P����@H�I�PȓI��I�I��I�2I�P����@ȓI0 PH�I �I`�Ix�I7I0 P����@H�I� PȔI��I�I�I�bI 4I(3I� P����@ȔI� PX�I0�Ip�I��I�bI�4I� P����@X�I !P�I��I��I �IH�I��I�2I !P����@�I`!P����@p�I��IH�I��I�2I`!Pp�I��I�I��I�!P����@ЖI@"PH�I �I`�Ix�I��I@"P����@H�I�"PȗI��I�I��I�2I�"P����@ȗI0#PH�I �I`�Ix�I7I0#P����@H�I�#PȘI��I�I�I�bI 4I(3I�#P����@ȘI�#PX�I0�Ip�I��I�bI�4I�#P����@X�I$P�I��I��I �IH�I��I�2I$P����@�IP$P����@p�I��IH�I��I�2IP$Pp�I��I�I��I�$P����@КI0%PH�I �I`�Ix�I��I0%P����@H�I�%PțI��I�I��I�2I�%P����@țI&PH�I �I`�I��I 4I(3I&P����@H�IP&PМI��I�I�I�4IP&P����@МI�&PP�I(�Ih�I��I��I��I�2I�&P����@P�I�&P����@�I��I��I��I�2I�&P�I�IX�Ih�I'P����@@�I�'P��I��IОI�Ih�I�'P����@��I(�I@�I�2I(P����@�I`(P��Ih�I��IȟI@�I�2I`(P����@��I�(P�I�I0�IP�I@�I�2I�(P����@�I��I��I�(P����@x�I@)P�IȠI�I �I��I@)P����@�I�)Pp�IH�I��I��I�2I�)P����@p�I *P�IȡI�I(�I 4I(3I *P����@�I`*Px�IP�I��I��I�4I`*P����@x�I�*P��IТI�I8�I`�I��I�2I�*P����@��I�*P����@��I��I`�I��I�2I�*P��I��I�I�I@+P����@�I�+P`�I8�Ix�I��I�I�+P����@`�IФI�IP,P����@��I�,P0�I�IH�I`�I�I�,P����@0�I({N��I��IȥI�I�WI�ZG({N����@��I�,P8�I�IP�Ih�I�2I�,P����@8�I-P��I��IЦI�I7I-P����@��IX-P8�I�IP�Ip�I 4I(3IX-P����@8�I�-P��I��IاI�I�4I�-P����@��I�-P@�I�IX�I��I��Ih�I�2I�-P����@@�I .P����@ШI�I��Ih�I�2I .PШI�IH�IX�I�.P����@0�I/P��I��I��IةIX�I/P����@��I�/P(�I�I@�IX�I�2I�/P����@(�I�/P��I��I��IتI7I�/P����@��I0P(�I�I@�I`�I 4I(3I0P����@(�IH0P��I��IȫI�I�4IH0P����@��I�0P0�I�IH�Ip�I��IX�I�2I�0P����@0�I�0P����@��IجI��IX�I�2I�0P��I��I8�IH�I1P����@ �Ip1P��Ip�I��IȭIH�Ip1P����@��I2P�I�I0�IH�I�2I2P����@�IH2P��Ip�I��IȮI7IH2P����@��I�2P�I�I0�IP�I 4I(3I�2P����@�I�2P��Ix�I��IЯI�4I�2P����@��I3P �I��I8�I`�I��IH�I�2I3P����@ �I03P����@��IȰI��IH�I�2I03P��I�I(�I8�I�3P����@�I�3P��I`�I��I��I8�I�3P����@��I�4P�I�I �I8�I�2I�4P����@�I�4P��I`�I��I��I7I�4P����@��I5P�I�I �I@�I 4I(3I5P����@�IP5P��Ih�I��I��I�4IP5P����@��I�5P�I�I(�IP�Ix�I8�I�2I�5P����@�I�5P����@��I��Ix�I8�I�2I�5P��IشI�I(�I6P����@�I�6Px�IP�I��I��I(�I�6P����@x�I7P��IеI�I(�I�2I7P����@��I`7Px�IP�I��I��I7I`7P����@x�I�7P��IжI�I0�I 4I(3I�7P����@��I�7P��IX�I��I��I�4I�7P����@��I88P�IطI�I@�Ih�I(�I�2I88P����@�Ip8P����@��I��Ih�I(�I�2Ip8P��IȸI�I�I�8P����@�IP9Ph�I@�I��I��I�IP9P����@h�IhBN�I��I�I �Ip�G��GhBN����@�I�zNp�IH�I��I��Ip�G��G�zN����@p�I�9P��IкI�I(�I�2I�9P����@��I0:Px�IP�I��I��I�I(�I�2I0:P����@x�Ip:P����@�I �I�I(�I�2Ip:P�I@�I��I��I�:P����@h�IP;P�I��I��I�I��IP;P����@�I�;P`�I8�Ix�I��I�2I�;P����@`�I <P�I��I��I�I7I <P����@�I`<P`�I8�Ix�I��I 4I(3I`<P����@`�I�<P�I��I�I�I�4I�<P����@�I�<Ph�I@�I��I��IпI��I�2I�<P����@h�I=P����@��I�IпI��I�2I=P��I0�Ip�I��IP=P����@X�I�=P�I��I�I�I��I�=P����@�IP>PP�I(�Ih�I��I�2IP>P����@P�I�>P�I��I�I�I7I�>P����@�I�>PP�I(�Ih�I��I 4I(3I�>P����@P�I ?P��I��I��I�I�4I ?P����@��I`?PX�I0�Ip�I��I��I��I�2I`?P����@X�I�?P����@��I�I��I��I�2I�?P��I �I`�Ip�I�?P����@H�IP@P��I��I��I��Ip�IP@P����@��I�~N@�I�IX�Ip�I�ZG�~N����@@�I�FN��I��I��I��I �I��I�FN����@��IxFNPH�I`�Ix�I��IxFN����@H�I�@P����@��I��I��I�@P@��I�FN��I�IxFNH�I@�I8N��Ih�I��I��I��I�I8N����@��IxFNPH�I�@P@��I0H}Nh�I@�I��I��I��I��I�IH}N����@h�I8NP��I8N �I��I8�I`�I��I��I�IN����@ �I�~N��I��I��I�I@�Ih�I��I��I��I��I��I�~N����@��IH}N����@h�I8NP��IxFNPH�I�@P@��IP�~N��I��I0AP0�I�IH�I`�IX]G0AP����@0�I��I��I�AP����@��I BP�I��I�I0�I��I BP����@�IpBP��IX�I��I��I�2IpBP����@��I�BP�I��I�I8�I 4I(3I�BP����@�I�BP��I`�I��I��I�4I�BP����@��I0CP�I��I �IH�Ip�I��I�2I0CP����@�I`CP����@��I��Ip�I��I�2I`CP��I��I�I �I�CP����@��I DPp�IH�I��I��I �I DP����@p�I�DP��I��I�I �I�2I�DP����@��I�DPp�IH�I��I��I7I�DP����@p�I8EP��I��I�I(�I 4I(3I8EP����@��IpEPx�IP�I��I��I�4IpEP����@x�I�EP��I��I�I8�I`�I �I�2I�EP����@��I�EP����@��I��I`�I �I�2I�EP��I��I�I�I0FP����@��I�FP`�I8�Ix�I��I�I�FP����@`�I0GP��I��I��I�I�2I0GP����@��IxGP`�I8�Ix�I��I7IxGP����@`�I�GP��I��I��I�I 4I(3I�GP����@��I�GPh�I@�I��I��I�4I�GP����@h�I0HP��I��I�I(�IP�I�I�2I0HP����@��I`HP����@x�I��IP�I�I�2I`HPx�I��I��I�I�HP����@��I IPP�I(�Ih�I��I�I IP����@P�I��I��I�2I�IP����@��I�IP(�I�I@�I`�I��I�2I�IP����@(�I��I��I0JP����@��I�JP�I��I�I0�I��I�JP����@�I0KP��IX�I��I��I�2I0KP����@��I�KP�I��I�I8�I 4I(3I�KP����@�I�KP��I`�I��I��I�4I�KP����@��ILP�I��I �IH�Ip�I��I�2ILP����@�I@LP����@��I��Ip�I��I�2I@LP��I��I�I �I�LP����@��I MPp�IH�I��I��I �I MP����@p�I�MP��I��I�I �I�2I�MP����@��INPp�IH�I��I��I7INP����@p�IXNP��I��I�I(�I 4I(3IXNP����@��I�NPx�IP�I��I��I�4I�NP����@x�I�NP��I��I�I8�I`�I �I�2I�NP����@��I OP����@��I��I`�I �I�2I OP��I��I�I�IpOP����@��I�OP`�I8�Ix�I��I�I�OP����@`�I�PP��I��I��I�I�2I�PP����@��I�PP`�I8�Ix�I��I7I�PP����@`�IQP��I��I��I�I 4I(3IQP����@��I@QPh�I@�I��I��I�4I@QP����@h�I�QP��I��I�I(�IP�I�I�2I�QP����@��I�QP����@x�I��IP�I�I�2I�QPx�I��I��I�IRP����@��IpRPP�I(�Ih�I��I�IpRP����@P�ISP��I��I��I�I�2ISP����@��IPSPP�I(�Ih�I��I7IPSP����@P�I�SP��I��I��I�I 4I(3I�SP����@��I�SPX�I0�Ip�I��I�4I�SP����@X�ITP��I��I��I�I@�I�I�2ITP����@��IPTP����@h�I��I@�I�I�2IPTPh�I��I��I��I�TP����@��I UP@�I�IX�Ip�I��I UP����@@�I�UP��I��I��I��I�2I�UP����@��I�UP@�I�IX�Ix�I 4I(3I�UP����@@�I0VP��I��I��I��I�4I0VP����@��IpVPH�I �I`�Ix�I7IpVP����@H�I�VP��I��I��I�I0�I��I�2I�VP����@��I�VP����@X�Ip�I0�I��I�2I�VPX�I��I��I��I0WP����@��I�WP0�I�IH�I`�I��I�WP����@0�I0XP��I��I��I��I�2I0XP����@��I�XP0�I�IH�I`�I7I�XP����@0�I�XP��I��I��I��I 4I(3I�XP����@��IYP8�I�IP�Ih�I�4IYP����@8�IXYP��I��I��I��I �I��I�2IXYP����@��I�YP����@H�I`�I �I��I�2I�YPH�I��I��I��I�YP����@��I`ZP �I��I8�IP�I��I`ZP����@ �I�ZP��Ix�I��I��I�2I�ZP����@��I8[P �I��I8�I`�I��I��I�2I8[P����@ �Ip[P����@��I��I��I��I�2Ip[P��I��I(�I8�I�[P����@�I0\P��I`�I��I��I8�I0\P����@��I�\P�I��I �I8�I�2I�\P����@�I]P��I`�I��I��I��I8�I�2I]P����@��IP]P����@�I0�I��I8�I�2IP]P�IP�I��I��I�]P����@x�I0^P��I��I�I �I��I0^P����@��I�^Pp�IH�I��I��I�2I�^P����@p�I _P�I�I�I �I7I _P����@�Ip_Pp�IH�I��I��I�fI�bI 4I(3Ip_P����@p�I�_P�I�I �IH�IPhI�bI�4I�_P����@�I`P��Ip�I��I�I�I��I�2I`P����@��I@`P����@(�I@�I�I��I�2I@`P(�I`�I��I��I�`P����@��I aP�I�I�I0�I��I aP����@�I�aP��IX�I��I��I�2I�aP����@��IbP�I�I�I8�I 4I(3IbP����@�I@bP��I`�I��I��I�4I@bP����@��I�bP�I�I �IH�Ip�I��I�2I�bP����@�I�bP����@��I��Ip�I��I�2I�bP��I�I�I �IcP����@��IpcPp�IH�I��I��I �IpcP����@p�IdP�I�I�I �I�2IdP����@�IHdPp�IH�I��I��I7IHdP����@p�I�dP�I�I�I(�I 4I(3I�dP����@�I�dPx�IP�I��I��I�4I�dP����@x�IeP��I�I�I8�I`�I �I�2IeP����@��I0eP����@��I��I`�I �I�2I0eP��I��IJJ�eP����@�I�eP`J8JxJ�JJ�eP����@`J�fP�J�J�JJ�2I�fP����@�J�fP`J8JxJ�J7I�fP����@`JgP�J�J�JJ 4I(3IgP����@�J`gPhJ@J�J�J�4I`gP����@hJ�gP�J�JJ(JPJJ�2I�gP����@�J�gP����@xJ�JPJJ�2I�gPxJ�J�JJ@hP����@�J�hPPJ(JhJ�JJ�hP����@PJ`iP�J�J�JJ�2I`iP����@�J�iPPJ(JhJ�J7I�iP����@PJ�iP�J�J�JJ 4I(3I�iP����@�J jPXJ0JpJ�J�4I jP����@XJ`jP�J�J�JJ@JJ�2I`jP����@�J�jP����@hJ�J@JJ�2I�jPhJ�J�J�J�jP����@�JPkP@JJXJpJ�JPkP����@@J�kP�J�J�J�J�2I�kP����@�J0lP@	J	JX	Jp	J7I0lP����@@	JxlP�	J�	J�	J�	J 4I(3IxlP����@�	J�lPH
J 
J`
Jx
J�4I�lP����@H
J�lP�
J�
J�
JJ0J�J�2I�lP����@�
J0mP����@XJpJ0J�J�2I0mPXJ�J�J�J�mP����@�JnP0JJHJ`J�JnP����@0J�nP�J�J�J�J�2I�nP����@�J 
J0
J�nP����@
Jp
J�
J@oP����@X
J�
J�
J�oP����@�
J0pP J�
J8JPJ0
J0pP����@ J�pP�JxJ�J�J�
J�pP����@�JPqP J�J8JPJ�
JPqP����@ J�qP�JxJ�J�J�qP����@�JrPJ�J0JHJ�JrP����@JXrP�JpJ�J�JHJ�JXrP����@�J�rP J�J8J`J�JHJ�J�rP����@ J�rP�J�J�J�J�JHJ�J�rP����@�J sP@JJXJ�J�JHJ�J sP����@@J`sP�J�J�JJX]G`sP����@�J�sPPJ(JhJ�JX]G�sP����@PJ tP�J�J�JJX]G tP����@�J�tPPJ(JhJ�JX]G�tP����@PJ�tP�J�J�JJHJ�J�tP����@�JuPXJ0JpJ�JJHJ�JuP����@XJ@uP�J�JJ(JJHJ�J@uP����@�J�uPxJPJ�J�JJHJ�J�uP����@xJ�uPJ�J JHJJHJ�J�uP����@J vP�JpJ�J�JJHJ�J vP����@�JpvP(JJ@JhJJHJ�JpvP����@(J�vP�J�J�J�JX]G�vP����@�J wP8JJPJhJX]G wP����@8J�wP�J�J�J�JX]G�wP����@�J�wP8JJPJhJX]G�wP����@8JPxP�J�J�J�JX]GPxP����@�J�xP8JJPJhJX]G�xP����@8J yP�J�J�J�JHJ�J yP����@�J`yP@JJXJ�J�JHJ�J`yP����@@J�yP�J�J�JJ�JHJ�J�yP����@�J�yP`J8JxJ�JX]G�yP����@`J@zP�J�J�JJX]G@zP����@�J�zP`J8JxJ�JHJ�J�zP����@`J�zP�J�JJ(J�JHJ�J�zP����@�J@{PxJPJ�J�JX]G@{P����@xJ�{P�J�J J0 JHJ�J�{P����@�J�{P� JX J� J� J0 JHJ�J�{P����@� J |P!J� J(!J@!JX]G |P����@!Jx|P�!Jh!J�!J�!JHJ�Jx|P����@�!J�|P"J�!J0"JX"J�!JHJ�J�|P����@"J}P�"J�"J�"J�"JX]G}P����@�"JX}P(#J#J@#JX#J7IX}P����@(#J�}P�#J�#J�#J�#JHJ�J�}P����@�#J�}P0$J$JH$Jp$J�#JHJ�J�}P����@0$J~P�$J�$J�$J�$JX]G~P����@�$J`~P@%J%JX%Jp%J7I`~P����@@%J�~P�%J�%J�%J�%JHJ�J�~P����@�%J�~PH&J &J`&J�&J�%JHJ�J�~P����@H&J P�&J�&J�&J'JX]G P����@�&JxPX'J0'Jp'J�'JHJ�JxP����@X'J�P�'J�'J�'J (J�'JHJ�J�P����@�'J�Pp(JH(J�(J�(J�'JHJ�J�P����@p(JP�P)J�(J)J@)J�'JHJ�JP�P����@)J��P�)Jh)J�)J�)J�'JHJ�J��P����@�)J�P *J�)J8*JP*JX]G�P����@ *JP�P�*Jx*J�*J�*JX]GP�P����@�*J��P +J�*J8+JP+JX]G��P����@ +J �P�+Jx+J�+J�+JX]G �P����@�+J��P ,J�+J8,JP,J7I��P����@ ,J��P�,Jx,J�,J�,JHJ�J��P����@�,J�P(-J-J@-Jh-J�,JHJ�J�P����@(-J@�P�-J�-J�-J�-JX]G@�P����@�-J��P8.J.JP.Jp.JHJ�J��P����@8.J؃P�.J�.J�.J/Jp.JHJ�J؃P����@�.J�PP/J(/Jh/J�/J/Jp.JHJ�J�P����@P/J`�P�/J�/J0J00J/Jp.JHJ�J`�P����@�/J��P�0JX0J�0J�0J/Jp.JHJ�J��P����@�0J�P1J�0J01J`1J/Jp.JHJ�J�P����@1JP�P�1J�1J�1J�1J/Jp.JHJ�JP�P����@�1J��PH2J 2J`2J�2J/Jp.JHJ�J��P����@H2J�P�2J�2J�2J(3J/Jp.JHJ�J�P����@�2JP�Px3JP3J�3J�3J/Jp.JHJ�JP�P����@x3J��P4J�3J(4JX4J/Jp.JHJ�J��P����@4J�P�4J�4J�4J�4J/Jp.JHJ�J�P����@�4J@�P@5J5JX5J�5J/Jp.JHJ�J@�P����@@5J��P�5J�5J�5J 6J/Jp.JHJ�J��P����@�5J�Pp6JH6J�6J�6J/Jp.JHJ�J�P����@p6J �P7J�6J 7JP7J/Jp.JHJ�J �P����@7Jp�P�7Jx7J�7J�7J/Jp.JHJ�Jp�P����@�7J��P88J8JP8J�8J/Jp.JHJ�J��P����@88J�P�8J�8J�8J9J/Jp.JHJ�J�P����@�8Jp�Ph9J@9J�9J�9J/Jp.JHJ�Jp�P����@h9J��P:J�9J:JH:J/Jp.JHJ�J��P����@:J�P�:Jp:J�:J�:J/Jp.JHJ�J�P����@�:Jp�P0;J;JH;Jx;J/Jp.JHJ�Jp�P����@0;J��P�;J�;J�;J<J/Jp.JHJ�J��P����@�;J�P`<J8<Jx<J�<J/Jp.JHJ�J�P����@`<Jp�P�<J�<J=J@=J/Jp.JHJ�Jp�P����@�<JЋP�=Jh=J�=J�=J/Jp.JHJ�JЋP����@�=J0�P(>J>J@>Jp>J/Jp.JHJ�J0�P����@(>J��P�>J�>J�>J?Jp>J/Jp.JHJ�J��P����@�>JЌP`?J8?Jx?J�?Jp>J/Jp.JHJ�JЌP����@`?J �P@J�?J@JH@J/Jp.JHJ�J �P����@@Jp�P�@Jp@J�@J�@J/Jp.JHJ�Jp�P����@�@J��P0AJAJHAJxAJ/Jp.JHJ�J��P����@0AJ�P�AJ�AJ�AJ�AJX]G�P����@�AJp�PHBJ BJ`BJxBJX]Gp�P����@HBJЎP�BJ�BJ�BJ�BJX]GЎP����@�BJ0�PHCJ CJ`CJxCJX]G0�P����@HCJ��P�CJ�CJ�CJ�CJX]G��P����@�CJ�PHDJ DJ`DJxDJX]G�P����@HDJp�P�DJ�DJ�DJ�DJX]Gp�P����@�DJАPHEJ EJ`EJxEJX]GАP����@HEJ0�P�EJ�EJ�EJ�EJX]G0�P����@�EJ��PHFJ FJ`FJxFJX]G��P����@HFJ�P�FJ�FJ�FJ�FJX]G�P����@�FJ��PHGJ GJ`GJxGJX]G��P����@HGJ�P�GJ�GJ�GJ�GJX]G�P����@�GJP�PHHJ HJ`HJxHJX]GP�P����@HHJ��P�HJ�HJ�HJ�HJX]G��P����@�HJ �PHIJ IJ`IJxIJX]G �P����@HIJ��P�IJ�IJ�IJ�IJX]G��P����@�IJ�PHJJ JJ`JJxJJX]G�P����@HJJP�P�JJ�JJ�JJ�JJX]GP�P����@�JJ��PHKJ KJ`KJxKJX]G��P����@HKJ �P�KJ�KJ�KJ�KJX]G �P����@�KJ��PHLJ LJ`LJxLJX]G��P����@HLJ�P�LJ�LJ�LJ�LJX]G�P����@�LJ��PHMJ MJ`MJxMJX]G��P����@HMJ�P�MJ�MJ�MJ�MJX]G�P����@�MJp�PHNJ NJ`NJxNJX]Gp�P����@HNJ�P�NJ�NJ�NJ�NJX]G�P����@�NJP�PHOJ OJ`OJxOJX]GP�P����@HOJ��P�OJ�OJ�OJ�OJX]G��P����@�OJ �PHPJ PJ`PJxPJX]G �P����@HPJ��P�PJ�PJ�PJ�PJX]G��P����@�PJ�PHQJ QJ`QJxQJX]G�P����@HQJ@�P�QJ�QJ�QJ�QJX]G@�P����@�QJ��PHRJ RJ`RJxRJX]G��P����@HRJ�P�RJ�RJ�RJ�RJX]G�P����@�RJ��PHSJ SJ`SJxSJX]G��P����@HSJ�P�SJ�SJ�SJ�SJX]G�P����@�SJP�PHTJ TJ`TJxTJX]GP�P����@HTJ��P�TJ�TJ�TJ�TJX]G��P����@�TJ�PHUJ UJ`UJ�UJp.JHJ�J�P����@HUJ`�P�UJ�UJ�UJ VJ�UJp.JHJ�J`�P����@�UJ��PpVJHVJ�VJ�VJ VJ�UJp.JHJ�J��P����@pVJ�PWJ�VJ(WJ`WJ VJ�UJp.JHJ�J�P����@WJP�P�WJ�WJ�WJXJ VJ�UJp.JHJ�JP�P����@�WJ��PPXJ(XJhXJ�XJ VJ�UJp.JHJ�J��P����@PXJ�P�XJ�XJYJ@YJ VJ�UJp.JHJ�J�P����@�XJ@�P�YJhYJ�YJ�YJX]G@�P����@�YJ��PZJ�YJ(ZJ@ZJX]G��P����@ZJ�P�ZJhZJ�ZJ�ZJX]G�P����@�ZJp�P[J�ZJ([J@[JX]Gp�P����@[JСP�[Jh[J�[J�[JX]GСP����@�[J0�P\J�[J(\J@\J�nI0�P����@\Jp�P�\Jh\J�\J�\JX]Gp�P����@�\JТP]J�\J(]J@]JX]GТP����@]J0�P�]Jh]J�]J�]J�]J�nI0�P����@�]Jp�P����@^J0^J�]J�nI�Pp^JH^J�^J�^J�^J�nI�P����@p^J0�P����@�^J_J�^J�nI��PP_J(_Jh_J�_JX]G��P����@P_J�P�_J�_J�_J`JX]G�P����@�_Jp�PP`J(`Jh`J�`JX]Gp�P����@P`JȥP�`J�`J�`JaJp.JHJ�JȥP����@�`J�P`aJ8aJxaJ�aJaJp.JHJ�J�P����@`aJP�P�aJ�aJbJ@bJaJp.JHJ�JP�P����@�aJ��P�bJhbJ�bJ�bJX]G��P����@�bJ�PcJ�bJ(cJ@cJX]G�P����@cJ`�P�cJhcJ�cJ�cJHJ�J`�P����@�cJ��PdJ�cJ0dJXdJ�cJHJ�J��P����@dJ�P�dJ�dJ�dJ�dJ�cJHJ�J�P����@�dJ0�P8eJeJPeJheJX]G0�P����@8eJ��P�eJ�eJ�eJ�eJX]G��P����@�eJ�P8fJfJPfJxfJp.JHJ�J�P����@8fJ0�P�fJ�fJ�fJ�fJX]G0�P����@�fJ��PHgJ gJ`gJ�gJp.JHJ�J��P����@HgJ��P�gJ�gJ�gJ hJ�gJp.JHJ�J��P����@�gJ�PphJHhJ�hJ�hJ�gJp.JHJ�J�P����@phJ@�PiJ�hJ iJPiJ�gJp.JHJ�J@�P����@iJ��P�iJxiJ�iJ�iJ�gJp.JHJ�J��P����@�iJ�P8jJjJPjJ�jJ�iJ�gJp.JHJ�J�P����@8jJ0�P�jJ�jJ�jJ(kJ�iJ�gJp.JHJ�J0�P����@�jJx�PxkJPkJ�kJ�kJ�gJp.JHJ�Jx�P����@xkJ��PlJ�kJ(lJXlJ�gJp.JHJ�J��P����@lJ��P�lJ�lJ�lJ�lJ�gJp.JHJ�J��P����@�lJ8�P@mJmJXmJ�mJ�gJp.JHJ�J8�P����@@mJ��P�mJ�mJ�mJ nJ�gJp.JHJ�J��P����@�mJЬPpnJHnJ�nJ�nJ�iJ�gJp.JHJ�JЬP����@pnJ �PoJ�nJ(oJXoJ�gJp.JHJ�J �P����@oJp�P�oJ�oJ�oJ�oJ�gJp.JHJ�Jp�P����@�oJ��P@pJpJXpJ�pJ�gJp.JHJ�J��P����@@pJ�P�pJ�pJ�pJ qJ�gJp.JHJ�J�P����@�pJH�PpqJHqJ�qJ�qJ�gJp.JHJ�JH�P����@pqJ��PrJ�qJ rJPrJ�gJp.JHJ�J��P����@rJ�P�rJxrJ�rJ�rJX]G�P����@�rJ@�P sJ�rJ8sJPsJX]G@�P����@ sJ��P�sJxsJ�sJ�sJX]G��P����@�sJ�P tJ�sJ8tJPtJX]G�P����@ tJ`�P�tJxtJ�tJ�tJX]G`�P����@�tJ��P uJ�tJ8uJPuJX]G��P����@ uJ �P�uJxuJ�uJ�uJX]G �P����@�uJ��P vJ�uJ8vJPvJX]G��P����@ vJ�P�vJxvJ�vJ�vJX]G�P����@�vJ@�P wJ�vJ8wJPwJX]G@�P����@ wJ��P�wJxwJ�wJ�wJX]G��P����@�wJ�P xJ�wJ8xJPxJX]G�P����@ xJ`�P�xJxxJ�xJ�xJX]G`�P����@�xJгP yJ�xJ8yJPyJX]GгP����@ yJ0�P�yJxyJ�yJ�yJX]G0�P����@�yJ��P zJ�yJ8zJPzJX]G��P����@ zJ�P�zJxzJ�zJ�zJX]G�P����@�zJP�P {J�zJ8{J`{Jp.JHJ�JP�P����@ {J��P�{J�{J�{J�{J`{Jp.JHJ�J��P����@�{J�PH|J |J`|Jx|JX]G�P����@H|JP�P�|J�|J�|J}J�UJp.JHJ�JP�P����@�|J��P`}J8}Jx}J�}J}J�UJp.JHJ�J��P����@`}J�P~J�}J~J0~JX]G�P����@~J`�P�~JX~J�~J�~Jp.JHJ�J`�P����@�~J��PJ�~J(JXJ�~Jp.JHJ�J��P����@J�P�J�J�J�JX]G�P����@�J`�P(�J�J@�JX�JX]G`�P����@(�J��P��J��J��J�Jp.JHJ�J��P����@��J�P8�J�JP�J��J�Jp.JHJ�J�P����@8�J`�PЁJ��J�J�J�Jp.JHJ�J`�P����@ЁJ��Ph�J@�J��J��J�Jp.JHJ�J��P����@h�J�P�J؂J�JH�J�Jp.JHJ�J�P����@�Jp�P��Jp�J��J�J�Jp.JHJ�Jp�P����@��J��P0�J�JH�Jx�J�Jp.JHJ�J��P����@0�J�PȄJ��J�J��JX]G�P����@ȄJp�PH�J �J`�Jx�JX]Gp�P����@H�J�PȅJ��J�J��JX]G�P����@ȅJP�PH�J �J`�Jx�JX]GP�P����@H�J��PȆJ��J�J��JX]G��P����@ȆJ@�PH�J �J`�Jx�JX]G@�P����@H�J��PȇJ��J�J��JX]G��P����@ȇJ �PH�J �J`�Jx�J7I �P����@H�J`�PȈJ��J�J�JHJ�J`�P����@ȈJ��PP�J(�Jh�J��J�JHJ�J��P����@P�JоP�J��J��J�JX]GоP����@�J �P`�J8�Jx�J��J7I �P����@`�Jh�P�J��J��J�JHJ�Jh�P����@�J��Ph�J@�J��J��J�JHJ�J��P����@h�J�P��JЋJ�J(�JX]G�P����@��JH�Px�JP�J��J��JHJ�JH�P����@x�J��P�J،J�J@�J��JHJ�J��P����@�J�P��Jh�J��JЍJ��JHJ�J�P����@��J�P �J��J8�JP�JX]G�P����@ �Jp�P��Jx�J��JЎJX]Gp�P����@��J�P �J��J8�JX�JHJ�J�P����@ �J�P��J��J��J�JX�JHJ�J�P����@��J8�P8�J�JP�Jx�JX�JHJ�J8�P����@8�J��PȐJ��J�J�JX�JHJ�J��P����@ȐJ��PX�J0�Jp�J��JX�JHJ�J��P����@X�J�P�J��J�J(�JX�JHJ�J�P����@�J@�Px�JP�J��J��JX�JHJ�J@�P����@x�J��P�J�J �JH�JX�JHJ�J��P����@�J��P��Jp�J��JȓJX]G��P����@��J0�P�J�J0�JH�JX]G0�P����@�J��P��Jp�J��JȔJX]G��P����@��J��P�J�J0�JH�JX]G��P����@�JP�P��Jp�J��JȕJX]GP�P����@��J��P�J�J0�JH�JX]G��P����@�J�P��Jp�J��JȖJX]G�P����@��Jx�P�J�J0�JP�JHJ�Jx�P����@�J��P��Jx�J��J�JP�JHJ�J��P����@��J��P0�J�JH�J`�JX]G��P����@0�J@�P��J��JȘJ�JHJ�J@�P����@��J��P8�J�JP�Jx�J�JHJ�J��P����@8�J��PșJ��J�J�J�JHJ�J��P����@șJ �PX�J0�Jp�J��J�JHJ�J �P����@X�J��P�J��J�J�JX]G��P����@�J��Ph�J@�J��J��JX]G��P����@h�JP�P�J��J�J�JX]GP�P����@�J��Ph�J@�J��J��JHJ�J��P����@h�J�P�JȜJ�J0�J��JHJ�J�P����@�J@�P��JX�J��J��JX]G@�P����@��J��P�J؝J�J8�JHJ�J��P����@�J��P��J`�J��JȞJ8�JHJ�J��P����@��J�P�J�J0�JX�J8�JHJ�J�P����@�J@�P��J��J��J؟JX]G@�P����@��J��P(�J�J@�JX�JX]G��P����@(�J��P��J��J��J�JHJ�J��P����@��J �P0�J�JH�Jp�J�JHJ�J �P����@0�Jp�P��J��JءJ�J�JHJ�Jp�P����@��J��PP�J(�Jh�J��JX]G��P����@P�J �PТJ��J�J�JX]G �P����@ТJ��PP�J(�Jh�J��J7I��P����@P�J��PУJ��J�J�JHJ�J��P����@УJ��PX�J0�Jp�J��J�JHJ�J��P����@X�J0�P�J��J�J�JX]G0�P����@�J��Ph�J@�J��J��JHJ�J��P����@h�J��P�JȥJ�J �JX]G��P����@�J�Pp�JH�J��J��JHJ�J�P����@p�JH�P��JЦJ�J8�J��JHJ�JH�P����@��J��P��J`�J��JȧJ��JHJ�J��P����@��J��P�J�J0�JX�J��JHJ�J��P����@�J �P��J��J��J�J��JHJ�J �P����@��Jp�P8�J�JP�Jx�J��JHJ�Jp�P����@8�J��PȩJ��J�J�J��JHJ�J��P����@ȩJ��PX�J0�Jp�J��J��JHJ�J��P����@X�J@�P�J��J�J(�J��JHJ�J@�P����@�J��Px�JP�J��J��J��JHJ�J��P����@x�J��P�J�J �JH�J��JHJ�J��P����@�J8�P��Jp�J��JجJ��JHJ�J8�P����@��J��P(�J�J@�JX�JX]G��P����@(�J��P��J��J��JحJX]G��P����@��J@�P(�J�J@�JX�JX]G@�P����@(�J��P��J��J��JخJX]G��P����@��J�P(�J�J@�JX�JX]G�P����@(�J`�P��J��J��JدJX]G`�P����@��J��P(�J�J@�JX�JX]G��P����@(�J0�P��J��J��JذJX]G0�P����@��J��P(�J�J@�JX�JX]G��P����@(�J�P��J��J��JرJX]G�P����@��J`�P(�J�J@�JX�JX]G`�P����@(�J��P��J��J��JزJ7I��P����@��J�P(�J�J@�J`�JHJ�J�P����@(�JP�P��J��JȳJ�J`�JHJ�JP�P����@��J��P@�J�JX�Jp�JX]G��P����@@�J��P��J��JشJ��JHJ�J��P����@��J0�PH�J �J`�Jx�JX]G0�P����@H�J��PȵJ��J�J�JHJ�J��P����@ȵJ��PP�J(�Jh�J��J�JHJ�J��P����@P�J��P�J��J��J �J�JHJ�J��P����@�J@�Pp�JH�J��J��J�JHJ�J@�P����@p�J��P�JطJ�J@�J�JHJ�J��P����@�J��P��Jh�J��JиJ�JHJ�J��P����@��J0�P �J��J8�J`�J�JHJ�J0�P����@ �J��P��J��JȹJ�JX]G��P����@��J��P0�J�JH�J`�JX]G��P����@0�J0�P��J��JȺJ�JX]G0�P����@��J��P0�J�JH�J`�JX]G��P����@0�J��P��J��JȻJ�JX]G��P����@��JP�P0�J�JH�J`�JX]GP�P����@0�J��P��J��JȼJ�JHJ�J��P����@��J�P8�J�JP�Jh�JX]G�P����@8�JX�P��J��JнJ�JHJ�JX�P����@��J��P@�J�JX�Jp�JX]G��P����@@�J��P��J��JؾJ��JHJ�J��P����@��J �PH�J �J`�Jx�JX]G �P����@H�J��PȿJ��J�J�J�UJp.JHJ�J��P����@ȿJ��P`�J8�Jx�J��J�J�UJp.JHJ�J��P����@`�J�P�J�J�J0�JX]G�P����@�Jp�P��JX�J��J��J7Ip�P����@��J��P�J�J�J8�JHJ�J��P����@�J��P��J`�J��J��J8�JHJ�J��P����@��J �P�J��J0�JH�JX]G �P����@�Jp�P��Jp�J��J��JHJ�Jp�P����@��J��P �J��J8�J`�J��JHJ�J��P����@ �J��P��J��J��J��J��JHJ�J��P����@��J8�P@�J�JX�J��J��J��JHJ�J8�P����@@�Jp�P��J��J��J �J`�J��JHJ�Jp�P����@��J��Pp�JH�J��J��J`�J��JHJ�J��P����@p�J��P�J��J �JP�J��J��JHJ�J��P����@�J0�P��Jx�J��J��JX]G0�P����@��J��P �J��J8�JP�JX]G��P����@ �J��P��Jx�J��J��JX]G��P����@��J �P �J��J8�JP�JX]G �P����@ �J��P��Jx�J��J��JHJ�J��P����@��J��P(�J�J@�Jh�J��JHJ�J��P����@(�J�P��J��J��J��JX]G�P����@��JX�P8�J�JP�Jp�JHJ�JX�P����@8�J��P��J��J��J��JX]G��P����@��J��P@�J�JX�Jx�JHJ�J��P����@@�J �P��J��J��J�Jx�JHJ�J �P����@��J`�PX�J0�Jp�J��JX]G`�P����@X�J��P��J��J��J�JX]G��P����@��J �PX�J0�Jp�J��J7I �P����@X�Jh�P��J��J��J�J(3Ih�P����@��J��PX�J0�Jp�J��JX]G��P����@X�J�P��J��J��J�JX]G�P����@��Jp�PX�J0�Jp�J��JX]Gp�P����@X�J��P��J��J��J�JX]G��P����@��J0�PX�J0�Jp�J��JX]G0�P����@X�J��P��J��J��J�JX]G��P����@��J��PX�J0�Jp�J��J/Jp.JHJ�J��P����@X�J@�P��J��J�J8�J/Jp.JHJ�J@�P����@��J��P��J`�J��J��J/Jp.JHJ�J��P����@��J��P �J��J8�Jh�J/Jp.JHJ�J��P����@ �J0�P��J��J��J�J/Jp.JHJ�J0�P����@��J��PP�J(�Jh�J��J/Jp.JHJ�J��P����@P�J��P��J��J�J0�J/Jp.JHJ�J��P����@��J �P��JX�J��J��J/Jp.JHJ�J �P����@��Jp�P�J��J0�JH�JX]Gp�P����@�J��P��Jp�J��J��JX]G��P����@��J �P�J��J0�JH�JX]G �P����@�J��P��Jp�J��J��JX]G��P����@��J��P�J��J0�JH�JX]G��P����@�J`�P��Jp�J��J��JX]G`�P����@��J��P�J��J0�J`�J�Jp.JHJ�J��P����@�J �P��J��J��J��JX]G �P����@��J��P0�J�JH�J`�JX]G��P����@0�J��P��J��J��J��JX]G��P����@��J �P0�J�JH�J`�JX]G �P����@0�Jp�P��J��J��J��JX]Gp�P����@��J��P0�J�JH�J`�JX]G��P����@0�J �P��J��J��J��J�nI �P����@��J`�P0�J�JH�J`�JX]G`�P����@0�J��P��J��J��J��JX]G��P����@��J�P0�J�JH�J`�JX]G�P����@0�J`�P��J��J��J��JX]G`�P����@��J��P0�J�JH�J`�J�nI��P����@0�J�P��J��J��J��JX]G�P����@��J`�P0�J�JH�J`�JX]G`�P����@0�J��P��J��J��J��JX]G��P����@��J�P0�J�JH�J`�JX]G�P����@0�Jp�P��J��J��J��JX]Gp�P����@��J��P0�J�JH�J`�JX]G��P����@0�J �P��J��J��J��JX]G �P����@��J��P0�J�JH�J`�JX]G��P����@0�J��P��J��J��J��JX]G��P����@��J �P0�J�JH�J`�JX]G �P����@0�J��P��J��J��J��JX]G��P����@��J�P0�J�JH�J`�JX]G�P����@0�J(�P��J��J��J��J�JHJ�J(�P����@��Jp�P@�J�JX�J��J�JHJ�Jp�P����@@�J��P��J��J��J�J�JHJ�J��P����@��J�P`�J8�Jx�J��J�JHJ�J�P����@`�J`�P��J��J�J0�J�JHJ�J`�P����@��J��P��JX�J��J��JX]G��P����@��J�P�J��J�J0�JX]G�P����@�Jp�P��JX�J��J��JX]Gp�P����@��J�P�J��J�J0�JX]G�P����@�J0�P��JX�J��J��JX]G0�P����@��J��P�J��J�J0�J�nI��P����@�J�P��JX�J��J��JX]G�P����@��J@�P�J��J�J0�JX]G@�P����@�J��P��JX�J��J��JX]G��P����@��J�P�J��J�J0�JX]G�P����@�J0�P��JX�J��J��JX]G0�P����@��J��P�J��J�J0�JX]G��P����@�J�P��JX�J��J��JX]G�P����@��J0�P�J��J�J0�JX]G0�P����@�J��P��JX�J��J��JX]G��P����@��J�N�J��J�J0�J�ZG�N����@�J��N��JX�J��J��J�`G�ZG��N����@��J�N�J��J �JH�J�rGxrGsG�N����@�J��J��JP�N����@p�J��N��J��J�J�J��J��N����@��J�Nh�J@�J��J��J��J�N����@h�J@�N��J��J�J�J��J@�N����@��J��Nh�J@�J��J��JhpG��N����@h�J��N��J��J�J�J��N����@��J�N`�J8�Jx�J��J�ZG�N����@`�J�N�J��J��J�J�ZG�N����@�J`�N`�J8�Jx�J��J�J�ZG`�N����@`�J��N�J��J�J�J�ZG��N����@�J�Nh�J@�J��J��J�ZG�N����@h�J �N�J��J�J�J�ZG �N����@�J`�Nh�J@�J��J��J�ZG`�N����@h�J��N�J��J�J�J�ZG��N����@�J؋Nh�J@�J��J��J�ZG؋N����@h�J�N�J��J�J�J�ZG�N����@�JP�Nh�J@�J��J��J�ZGP�N����@h�J��N�J��J�J�J�ZG��N����@�J�Nh�J@�J��J��J�ZG�N����@h�J@�N�J��J�J�J�ZG@�N����@�J��Nh�J@�J��J��J�ZG��N����@h�J�J�J��N����@��J(�J8�J�N����@�J0�N��J`�J��J��J�J0�N����@��J��N�J�J �J8�J8�J��N����@�JȎN��J`�J��J��J�JȎN����@��J�N����@�J �J�JH�J`�J��J@�N����@0�J��N����@��J�J��J��NK�JK8K`�J��J��N����@K��N�K`K�K�K`�J��J��N����@�K8�N����@K(K�Kp�N`K8KxK�Kp�N����@`K��N��J�K8�NK�K��N(KK@KXK�K��N����@(K�N�K�K�K�KK�N����@�K0�N����@(K@KK��NxKPK�K�KK��N����@xKȑN�K�KK(K�KȑN����@�K�NxKPK�K�K�N����@xK8�N�K�KK K�K8�N����@�Kx�NpKHK�K�K�Kx�N����@pK��N�K�KK(K�K�K��N����@�K�NxKPK�K�K�K�K�N����@xK(�NK�KK8K K�K(�N����@Kp�N�K`K�K�Kp�N����@�KГNK�KK(KГN����@KhK�K(K�N����@PK�NPK�K@�N�K�K	K(	K�ZG@�N����@�K��N����@x	K�	KP	K��N�	K�	K�	K�	KP	K��N����@�	K��Nx	K 
K�Np
KH
K�
K�
K�	KP	K�N����@p
Kp�N�
K�
KK Kp�N����@�
KȕNpKHK�K�K�KȕN����@pK�N����@�KK�K@�N@KKXKpK�K@�N����@@K��N����@�K�K�K��N
K�K(
KH
Kp
K�
K��N����@
K��N����@�
K�
Kp
K�
K0�N����@�
KK�
K`�N@KKXKhK`�N����@@K��N�K�K�K�KKhK��N����@�K�N����@@KXKKhK�N@KpKX�N�K�K�K�KX�N����@�K��N����@8KPKKxK�K�KؘN����@�K�KxK�N����@PKГN����@K��N8KK��N8K@KؘN�KhK@�N0�J�K0�N(K�K�NK�K K@K�K(K�N����@KP�N�KhK�K�KKxK�K�KP�N����@�KP�N�KK��NPK(KhK�K�KK0K��N����@PKЙN����@�K�K�KȑN����@�Kp�N����@`K��NPKXKЙN�K�K�N�K�K�KK0K�K�N����@�K@�N����@XKpK0K�K��N�K�K�K�KK0K�K��N����@�K��N�
KKКNhK@K�K�K�KКN����@hKH�N�K�KKK�ZGH�N����@�K�NhK@K�K�KK�ZG�N����@hKp�N�K�KK K�ZGp�N����@�K`KpK��N����@HK��N�K�K�K�KpK��N����@�K؛N@KKXKpKpK؛N����@@K��N�K�K�K�KpK��N����@�K �N@KKXKpKpK �N����@@KH�N�K�K�K�KpKH�N����@�Kh�N@KKXKpKX]Gh�N����@@K��N�K�K�K�KX]G��N����@�K�N@KKXKpKX]G�N����@@K�K�K@�N����@�K��NK�K(K@K�K��N����@K�N�KhK�K�K�K�N����@�K0�NK�K(K@K�K0�N����@KRSDS0�v�\�dL������E:\Code\videocommon\vendors\clDNN\clDNN-0.1.0\build\out\Windows64\Release\clDNN64.pdb�
PJ.text$diPZp�".text$mn�#@.text$mn$00#.text$x2$s.text$yd`$�.idata$5�e$(.00cfg�e$.CRT$XCA�e$H.CRT$XCCf$.CRT$XCL(f$�.CRT$XCU h$.CRT$XCZ(h$.CRT$XDA0h$.CRT$XDZ8h$.CRT$XIA@h$0.CRT$XICph$.CRT$XIZxh$.CRT$XLA�h$.CRT$XLC�h$.CRT$XLD�h$.CRT$XLZ�h$.CRT$XPA�h$.CRT$XPB�h$.CRT$XPX�h$.CRT$XPXA�h$.CRT$XPZ�h$.CRT$XTA�h$.CRT$XTZ�h$`.gfids��$ �".rdataZG0.rdata$T0ZG4�.rdata$rdK�.rdata$zzzdbg#K.rtc$IAA#K.rtc$IZZ#K.rtc$TAA #K.rtc$TZZ0#K.tls@#KA.tls$�$K.tls$ZZZ�$KH�.xdata��M.xdata$x��MT.edata4NP.idata$2�N.idata$3�N�.idata$48	N�
.idata$6 NP.dataP5N0i.data$r��N`^.data$rs�P�9.bss@Ql�.pdata�R�_RDATA�R`.rsrc$01`�R�.rsrc$02�20

4
2p�B
4
2���
�p`PdT42pd	4Rpr0H�0
4
rpH�0T4
2�p`

t4

4
r	�p`8� D%K8Q%KT%Kc%K\%K�.#�@�

2P4Rp`P8� �%K(�%K�%K
hr@�V$r0h
4
�p�08� �%K(�%K�%K
�sP`,d42p4rp8� &K(&K&K�#�2Pt	42�td
4	R�

4
2p

4
2pd	42p

4
R	�p`8� �&K(�&K�&K�#~hd42pd4�p�&Kb(�&K�&Ks@4�r���T�P8� �&K('K	'KsA�t4Ptd
4	R�	��p`0P8� T'K(]'K�'K�#*tp44s�4s��4s�6#
jF>�
zR0"7
&t&d&4&
����P�'KB(�'K�'K

�r�:�r�:�ra��ra:�r��u
p-(
NJ,B&	4�
�p`PĘ0(K�(9(K[(K

�r�2�r�2�s���s�ڀs��8DF�
��
T
4	2�p`8� �(K(�(K�(K�#Pt42p`Pd	T42p8� �(K(�(K�(K
hrp�V$2�p`P042�
�p`P
42���
�p`P42p4r
��	�p`8� D)K8Q%KQ)K`)KY)K�@#%��d
T4rp8� �)K(�)K�)K
�r@�
d4r���
�p8� �)K8Q%K�)K�)K�)K�#�d%�8� �)K(�)K*K
�s`H4d42p7
&t�&d�&4�&�����PĘH*KR(Q*Kg+KL
D��*B���*:�rA):�sa(:�r�:�r:�r:�s'��s'5�s'%�s'��r�(B�s(:�r�:�r�:�r:�s�&��s�&5�s�&%�s�&��r�)B�s�':�r:�r�:�r:�s�&��s�&5�s�&%�s�&��rA*B�sA':�r�:�r:�r�:�sA&��sA&5�sA&%�sA&PzR,QN�
2Lh�D��N�2F h$�(J�%*N,�.,0F2h6�:J,�Y<N>�@,BFDhH�LJ>��t	d42���p`0P8� �+K(�+K,K
�#*tp44s�4s��4s�bF2
T
4	2�p`8� @,K(I,K�(KD #

4
rp8� d,K(m,Kt,K
ؐPPH�08� �,K(�,K�,K
��@2`��244
2�p`2p`0d
4	Rp8� �,K(�,K�,K
`�@~�	d*T)4(&p4r
��	�p`8� (-K85-K>-KM-K
|�P8@F-K� #v�<4�pĘl-Kb(�&Ku-K��L

4

2	�p`484P)	td4PH��B8� �-K`�-K 4P�-K�(�-K.Ks��"d
4rpPĘ0.K�(�-K9.K�		 0
�p`0Ęd.Kb(�&Km.K��@d.4-*�8� �.K(�.K�.K
t`44s�t4s�j>�

4
2p8� �.Kh�.K�.K� ,3"tQ"dP"4N"J��PĘ/KB(/K0/K

ȳ�:�r�2�r`2�s��� r�J*$f�
*d	T42p8� d/K(m/Ks/K�!#Ln		<0	d;T9486p8� �/K(�/K�/K
l�A:�"

4
Rpd4
Rpd4
rp04�����
�p`PĘ0Kz(0K+0K
�s�2��
zux%-
S
��	��p`0PĘ`0K�(i0K}0K
�s�2�s@2��]&��}97
&t7&d6&44&.����P�0Kb	(�0K�0K
��":�s�2D�!#:�s!:�sp��sa�U��j
=�Z
d4r���
�p8� (1K8Q%K51KD1K=1K�R"#�d)r�
���p`08� l1K8Q%Ky1K�1K�1K�z"#�^d	T42pbp
`P0
�t
d	4R�d
T	4Rp
4
�pH�@�p`0Ę2KJ(2K&2K�r�2�r@�>>�4�p4�p8� P2K(Y2K`2K
�r@^842p8� |2K(�2K�2K$y`66%#.F%#.V%#.f%#.v%#.�%#�208� �2K`�2KR0H�(	dT4p8� �2K(3K3K�'#vr#d
T4rpĘ,3K2(53KB3K
$yP2l�@�~>^�0

4
2p8� h3K(�.Kq3Kv:

4
2p8� �3Kh�.K�3K2B8� �3Kh�.K�3KR08� �3K(�3K�3K
*@P8d4�p�08� �3K8Q%K	4K4K4K�*(#�T	4�p`8� <4K8I4Kb4Ks4K
T,�2*�`h~� .� j4K�'#Xp��
F�

rP
4
�p�4Kj(�4K�4K
T,�>� .� j.lF$�

4
2p8� �4Kh�.K�4Kz

208� �4K(5K5K�$#(6�$#(�B8� $5Kh�.K-5K	4	2p8� H5K(Q5K\5K�$#.%#�b

4
2p8� x5K(�.K�5K8*
t	dT42�4Rp8� �5K(�5K�5Kp-#�
dT
4	2��p	tdT4��td4d42p8� $6Kh�.K-6K\208� @6Kh�.KI6KF

4
r	�p`8� d6K8Q%Kq6K�6Ky6K�H(#�@�
4
rpH�8d42p4
r`8� �6K(�6K�6K
t@@d42p8� �6K(�6K�6K{##>hdT4
rpt
d4

20

��	��p`0P8� L7K(U7K�7K�%#*tp44s!�4s!�4s!>�%#.�%#.�%#.&#�H2�

:��

��	��p`0P8� �7K(�7K�7K�#*tp44s�4s�4s>$&#.7&#.J&#�H2�
���v4Rp
`P8�  8K()8K/8K�(#�t4�P

��	��p`0P8� d8K(m8K�8K�#*tp44s�4s��4s�6]&#�J2
��4Rp
`P8� �8K()8K�8K���p`0P8� �8K(�+K�8KbF2�


��	��p`0P8� 9K(9KF9K�#*tp44s�4s��4s�6�&#.�&#.�&#�F2�
N00F4
Rp8� l9K(u9K{9K�(#�

4
2`'

��	��p`0P�9K�(�9K�9K�<�s�6�#*tp44s�4s��4s�6�&#.�&#�J2�NPR�

R08� :K(u9K:K�hW��N��E��<x�4h�,tC,dB,4@,:����PĘ\:Kr(e:K�;K\
�r�:�rAz�s:�r�F:�r�	:�rAG��rAG:�sA��s�B�r�:�rA��r�=:�rAB:t�;:0(�;:`'!:�ra:�rA:�rA?��rA?5�rA?BȳA(:�sA<��sA<>� b�s�=� �r�<B�s�<:�s�:�s:�sA�s�B�r�>:�r�?:t�::t!;:�s�r�s��r>:�sA=r�s�>��sa:�sr�s���s��HAF�
<�]����A�m�D �"0$@(�*�,.20�4h06�@8�:�<�>@>iB�D�F�H�JmL�J]N~J0P�RbP�TbP�V�XV�Z�\XV=~DNNNp.F4N6:.FNJ1
#t1#d0#4.#(����PĘx<K2(�<K�<K�(#2�r�:�rA:�s:�s�:�sA�<��*�
�
q�=
,t3,d2,40,*����P�<KB(�<Kj>Kh
�s
:�r�*:�r�)>e)#*�ra+��ra+>�)#*�r�+��r�+>�)#*�ra,��ra,:�r�:�rA:�r�6��r�65�r�6B�sA(%��'B�a':4'�%:�+:�r�&:�ra&:�r�
:�rA:�r5��r55�r5B�r�	:�rA
:�r�-��r�-E�r�-B�r�:�r	:�r�4��r�4E�r�4B�ra-:�s�(:�s):�s�(:�r���sA):�r%t&B�r�,:�r�5:�s*:�r6:�sA*|H�HD^�1��P> "`$U"�y&`(x*X,h.D0h2N468�:$<:>6B�D$F:H6L%N�P�RTYN�T�V�X�V=T�Z9\�ZM	^�`6bbdifXh�fld�,T*��$TNNL
d4����
�P8�  ?K()?K6?K
�s@2�s`X�y��	��p`0P8� \?K(�+Ke?KrF2	
		rP
4,
(p�?K2(�?K�?K
�1`>� 
� vJ(td
T	42���42p8� �?K(�?K�?K0(p40(`f208� @K`@K0#%	p`0PĘ4@K(=@K�@K
�r�:�rA:�r�2�r�2�ra��ra�ra�ra��ras���** �FT4R�p`8� �@K(�@K�@K$#P�T4��p`8� �@K(�@K�@K�##PqT4��p`8� AK(%AK+AK�##P!

4

rpT4��p`8� \AK(eAKkAK,$#PET4R�p`8� �AK(�AK�AK�##P�t
d4T4
r�p`8� �AK(�AK�AKf$#P�T4��p`8� BK(	BK+AKI$#T
4	2�p`8� ,BK(5BK�(K�##4�p`P4
Rp`P8� dBK(mBKtBK
|�@jHd	42p
d4r���
�p8� �BK8Q%K51K�BK�d���
���p`08� �BK8Q%K�BK�BK�BK�##y��B8� CK`CK>d42p8� 4CK(=CKDCK�(`nD208� \CKh�.KeCK*B	dT4p8� �CK(�CK�CK�'#fr'

��	��p`0P�CK�(�CK�CK
*�:�r��R��p`0H��*h	
��	�p`0PĘ$DK�(-DK4DK
�r��p`0H��*4"���
�p`PĘ|DK�(�DK�DK
*�:�r:*�j�r���LJ�"��*4���
�p`P�DK�(�DK�DK
*�:�r�2*�b�r!��LH�P)�
�	dT42�4
p	`P8� HEK(QEKhEK�'#.�'#,*��'#b�RdT4�p8� �EK(�EK�EK
T$A��
4R���
�p`P

4>
<p

4	
Rp8� �EK(�EK�EK8$@Dd42p8� FK(FKFK�"#JH�p`0P	:�	��p`0P9	��p`0P	d.T-4,*pd;T:494��p8� �FK(�FK�FK�<�s��0 �	t*d)4(&�4�p`8� �FK8I4K�FKGKGK�'#�Vp��
F�

4
�p8� 0GK8=GKPGKaGK

T,p08N� .� XGK��-#a
D��F
�d4����8� �GK8=GK�GK�GK�GK��-#!����F
�7
&te&dd&4b&\����P�GK�
(�GK/IK^
D�A*B��A*>3.#.\.#.�.#��sA>�.#.�.#./#��r�):�rA%:�rA:�rA
:�rA:�r�5�r�B�r�
:�rA:�r��rAB�rA:�rA:�r���r�B�r�:�r�
:�r���r�B�r�:�rA:�r�e	�rAB�rA:�r�:�rA5�r�B�rA:�rA	:�r�
�rAB�rA:�rA
:�r�	��r�B�r�*��r�*B�s%��R,��
�}������DI�`(�it"N$(&�$�t*J,(.�,��2@46�4�R8R:><>�<!R@RBJDF�D9:HRJRLN�L�RPRRRTV�T�.X\|^L\u t�NN
NNNNNN.N&NN&
)
��	��p`P0ĘJK2(�?K
JK
�8=J"T4
r�p`8� 8JK(AJKGJK
.#P�

�	���`08� dJK8=GKqJK�JKyJK��-#Q��F
�	d,T+4*(p4��
�p`P8� �JK(]'K�JK
tF8�
v7
&t�&d�&4�&�����PĘKK(KK�KK2
��:�s:�!:D�A:�r�:�r:�r�:�s���s�5�s�%�s���r�B�r:�r:�s���s�E�s�e�s�5�rB�s�%	�s�BD��:�r�:�s��s4~�����
,F^��1,Dn �$h�a&r*I,�.n2�,
�

4g
dpT4R�p`8� 4LK(=LK�AKa0#	d0T/4.,p8� dLK(mLKtLK
�s�n|048.���
�p`P�LKb	(�LK�LK
�sp2l�`
r����&	4�
�p`P�LK�(9(K�LK�8DF�
��
4
�p8� MK(Y2K!MKtFtd4r����P04�����
�p`PĘlMK�(uMK�MK
\):l��eu-��04�����
�p`P�MK�(uMK�MKu-��04xp���
�p`PĘNKr(	NKNK
�sA��04xp���
�p`PĘDNKr(	NKMNK���;p`P0H��
dT
4r��p6%4�%����
�p`P�NKb(�NK�NK
�s!+:��5�!!dF!4D!>���pP=
,t�,d�,4�,�����PĘOK"(%OKiOK
�A>J1#*0Q@�0Q@�0Q@:�AL:�sA:�s���:�Hn8�
��
$���F��

4

Rp7
&t}&d|&4z&t����P�OK�(�OK�OK
�s�2�s�2�s��U���L04���
�p`PĘPKR(%PK-PK
D���	��08� HPK(QPK�,K
�P@2�P�4
Rp`P8� xPK(�PK�PK
�P@j4

4
Rpd
T	4Rp8� �PK(�PK�PK��
t
dT4
r�dmTl4jf��p8� QK(
QKQK�1#UA�4
2p`P5
$h& 4Y N����
p	`PĘ\QKR(eQKtQK
�s�:�s��&$�=
,tW,dV,4T,N����P�QKb(�QK�QK
�s�FB�sGz�sAG��s!:�sa:�s�:�sa0H���M���
�
`0�
�1LBfBfB$N,d"4!���pPH��1
#t3#d2#41#*����PH�@
dT4
r��p-
�
��	��p`0PH�@,d"4!���pPH��-
�
��	��p`0P�RK"(�RKSK
�s�2�s
��"(�'
dT4r��pĘ4SK2(=SKDSK
D�@~(�04�����
�p`PĘtSKb(}SK�SK
�s�:��:�ra:�r�:�s���s�5�s�B�A���Y*1	
%@04�����
�p`PĘTK�(
TKsTKo3#*0(j0(:ȳ
:�r:�s�)��s�)5�s�)F� jȳ�:�r�:�sA)��sA)��sA)F� (�A0D!�H
&ZP$4&Zh�%vN7
&t�&d�&4�&�����P�TK(�TK�TK
D��	��	t/T.4-*�8� UK(�.KUKx>�
!
��	��p`0P8� <UK(EUK�UK
�rF�2#*tp44s��4s�4s�F�2#.3#.#3#.63#.I3#.\3#m*R@	ipF<:1d
4R�pP8� �UK()8K�UK�4R
p`P8� �UK()8K�UKa"4@:	�p`H��d	T42p8� 4VK(=VKCVK�2#Lt	dT4p8� hVK(qVKwVK�2#X
%	4>6�
�p`PH��d4
Rp8� �VK(�,K�VKnr04
2�
�p`P
g
��	��p`0P

R08� WK(WK WK�s�t
dT
42��p8� DWK(WKMWKp�04bX���
�p`PĘ|WK�(�WK�WK
���:0(`2�s�bȳA:�r:�sA��sA:��:D��m�  ��Y��	@
"u�`e��v&	4+"�
�p`PĘXK(XKLXK
���:0(�:`�pj��A:��:�r�2���L��%>
r��
A4��
�p`P8� �XK()?K�XK
Fl$$�#
#t#d#4#����P8� �XK(�XK�XK

�s`2�s@j�s@2�s�2�s��|"�"
QXAr0H�8R����
p`08� ,YK8Q%K9YKHYKAYK�=4#u�42pd
4�p42p8� �YK(�YK�EK��`d
4	Rp8� �YK(�YK�YK|�@T7
&t�&d�&4~&x����P�YK�(�YK�YK
�A��
r��

4
�p8�  ZK()ZK?ZK4sp6b5#.u5#.�5#F��X4
�p8� \ZK(Y2KeZK�!!4!����
p`P6%4�%����
�p`P�ZK�(�ZKB[K(
�s�:�s�2�sj�sa	:�s���s�:�rA:�sA3��sA3u�sA3B�r�	~�5#*t�3�t�3:�r�:�s3��s3��rAB�s�3��s�3>:M@��
}@
N�8���Vf��"!���m$l(��Q�fNT4
r�p`8� �[K(�[K�[K95#P�T4
r�p`8� �[K(�AK�[KP�04�����
�p`PĘ\K(\K*\K
�s�2�s�
�U=�@1
#t#d#4#����PĘh\K�(q\K�\K
D��2��2D��~���E�d	4Rp8� �\K(�,K�\K~�h

p	`08� �\K8I4K�\K�\K�\K��7#!Xp�
F�d
4rp8�  ]K(�&K)]K��4
2
p`P8� H]K(Q]K]]Kt�6�7#xR

4
rp8� x]K(�]K�]K4s@<4s@* �b4
Rp8� �]K(WK�]Kd4
Rp8� �]K(WK�]K�t
d4r�8� �]K(�]K^K�Z�><�l(	d4�pPĘ4^K�(=^KP^K
�s�2�r�2�rp�a�JJ�04dZ���
�p`P�^K�(�^K�^K
$Za:�s!:�1:�Z�<�rPl�Z`� ��n�u
Db�d��+	��	��p`0P�^K�(_KN_KZ:�r�:�r:�r�2�r���r�2�r�2�r��r�:�r�2�r*v.�HPP
�ER� |�RRJ\~Q.R08� �_K(�_K�_KX6#.h6#B�2�	p`P0!4��
�p`P�_KB(Y2K�_K�(�4�
p	`PĘ`KR(`K(`K�Z�4�r�2�s@j(�d	42p8� H`K(Q`KW`Ki7#4�

4

�pdT4�p8� �`K(�`K�`K�s!:�s@�idT
4�pd
T4rp
�p`0Ę�`KR(�`K�`K�r�2�s@^(�p`0ĘaKR(�`K%aKd(4��	p`ĘLaKR(UaKhaK�r�4�r�2�s@l(�&
)
��	��p`P0�aK2(�?K�aK
�8EJ"&
)
��	��p`P0�aK2(�?K�aK
�8AJ"		80
4
pĘbK�(bK bK
s�
v4r,Fd	T42p8� HbK(QbKs/KL7#d	T42p8� tbK(}bKs/K�6#d42p8� �bK(�bK�6K7#r�	��p`P08� �bK(�bK�bK
�Y`:�Y`	d�d
4rp8� cK(�_K	cKV~Ztd4
Rp8� 0cK(9cK?cK/7#>�4hdp`P4p8� pcK(ycK�cK
�rp2�r�2�r�s�JR8P:*B8� �cK(�cK�cKy8#�R�
�p`08� �cK8Q%K�cK�cK�cK�x6#	l�br�p`P08�  dK()dK0dK
�Y@��=d4	Rp8� PdK(YdK`dK�Y@N�2!dc!4b!Z���pP�dK�(�dK�dK
$Za:�s�2�1:�Z�<�rPl�Z�
� ��n\�
DpDz��+	��	��p`0PĘeKR(
eKVeKZ:�r�:�r:�r�2�r���r�2�r�2�r��r�:�r�2�r6v.�FNR
��RRF ��R� ��RRJh�Q.B8� �eK(�eK�cK�8#

4

Rp8� �eK(�eK�eKr9#�0/
/t{/dz/4y/r����P8� fK(
fK�iK1�9#*�rAb��:`�A5:�r�r�A:`��6:�rAr��:`��8:�r�r�A:`�!::�rA4r��3:`��;:�r�2r�A2:`�a=:�rAr��:`�?:�r�r�A:`��@:�rA
r��:`�AB:�r�r�A:`��C:�rA
r��	:`��E:�r�r�A:`�!G:�rAr��:`��H:�r�r�A:`�aJ:�rAr��:`�L:�r�r�A:`��M:�r�j�`2`�AO:�rA1r��0:`��P:�r�/r�A/:`��R:�rA.r��-:`�!T:�r�,r�A,:`��U:�rA+r��*:`�aW:�r�)r�A):`�Y:�rA(r��':`��Z:�r�&r�A&:`�A\:�rA%r��$:`��]:�r�#r�A#:`��_:�rA"r��!:`�!a:�r� r�A :`��b:�rAr��:`�ad:�r�r�A:`�f:�rAr��:`��g:�r�r�A:`�Ai:�rAr��:`��j:�r�r�A�,�AB��:�A:��3:�A2:��:�A:��:�A:��	:�A:��:�A:��:�A:�`2��0:�A/:��-:�A,:��*:�A):��':�A&:��$:�A#:��!:�A :��:�A:��:�A:��:�A>@>#�N�}
��$*	0	6-<B!H	N�T�Z�`�f�j<l�nJp<r�tJv<x�zJ|<~��L�<���H�<���L�<���T�<���L�<���L�<���L�<���L�<���L�<���P�<���H�<���H�<ƈ�P�<̈�P�<�T16-hT4�
p`8� �jK(�jK�jKT�`dd
4rp8� �jK(�jK�jK4s@<4s@6&9#.99#.L9#._9#4 n@@@
�l4�p8� $kK(-kK3kK�9#�04�v���
�p`PĘ`kK�(ikK�kK
�s!:$Z�:�1�
:�ZA	<�r@l�Z@� $���6F
T�
Z�
��
���b��@4QF���
�p`P8� �kK(�kKlKZ�:�r:�r�2�r���r�2�r�*^.�� n!�
 p
NN
 l
RR
 r

%	.�	��p`0PĘhlKb(qlK�lK
�1�2�r`n� %@z`�<dd42p8� �lK(�lK�6K�8#B8� �lK(�lK�cK�9#T4
r�p`d
4	Rp8� mK(mK&mK8�@<8�@T24rp8� @mK(ImKPmK4s�* 04.$���
�p`P�mK	(�mK�mK
�s�
A����2!d_!4^!V���pP�mK�(�mK�mK
�s�:$Z�:�1�:�ZA<�ZP�� ��n��
Jx��	4 �
�p`P8� 0nK(9nKTnK
�r�:�r:�r�2�r�=HHH"n
�p`0Ę|nKR(�nK�`K�r�2�s@d42p8� �nK(�nK�6Km>#B8� �nK(�nK�cK�>#2!dE!4D!<���pPĘoK�(
oKAoK
�1A:�r`2�r�2�r��C?#*t�Ut��� �6�
8��&
T4r���p`8� toK(}oK�oK4s@B 04�����
�p`P�oK�(�oK6pK"
�s	:�r:�r:�r�2�r��r�B�r�:�r�:�r��rB�r:�r�:�r��r�B�r�:�r�:�r0a�`N 
��^J.z�pF ��tJ ."� }�@04h^���
�p`P�pK�(�pK�pK
�s�:$Z�:�1�:�ZA<�rPl�ZP�  ���2:
vB
bB
�PFz��@d42p8� qK(qK�6K�>#B8� ,qK(5qK�cK?#d
4rp8� TqK(]qK~qK4s@<4s@6�?#.�?#.�?#.�?#4 n@@@
@�t4
RP8� �qK(u9K�qK�2!du!4t!l���pP�qKR(�qK)rK
�1A	:�Z<�rPj�s���Z�<�r�:$Z��$Z��$ZP�� .���6~���\�R��
�*T2Z�&B	H�	��p`0P8� |rK(�rK�rKZ�:�rA:�r�2�r�<T.�� �� �-�RNr��� �� ��:RNv�%	.�	��p`0PĘsKb(qlKsKM@z`�<dd42p8� @sK(IsK�6Ky?#B8� `sK(isK�cK�?#

4
rp8� �sK(�]K�sK* db,	4VN�
�p`P�sKb(�sK�sK
�s�2$Z�:�1�:�ZA<�rpl�Zp� ��n2:
�JLn��8d42p8� $tK(-tK�6KB@#B8� DtK(MtK�cK_@#bp0h
4
rpt
4r�8� �tK(}oK�tK6 04�����
�p`P�tK2(�tK�tK
�s`��A04�����
�p`PĘuK2(
uKIuK
�sa:�r:$Z�:�Z�<�r�l�rp��Zpʰ1�
� ���4�
RrPpZXD=04�����
�p`P�uK�(�uK�uKZA:�rA:�r�2�r���r�:�r�2�rA:�r��r�2�rAL�.�� x�N �y�J ���F �q�J �5�N �q�F �5@d42p8� LvK(UvK�6K�@#B8� lvK(uvK�cK�@#4�p`8� �vK8I4K�vK�vK�vK�'#�Xp��
F�

4
rp8� �vK(�]K�vK* �b�(4nhp`PĘwK2(�tKwK���04�|���
�p`PĘPwK�(YwK�wK
�s�:$Z�:�1A:�1A:�Z<�r@l�Z@� �� &��Fve
db
B�
>�
^p
b�B�@04�����
�p`P�wK"(�wKZxKZA:�s:�s�:�a:�r�2�r���r�:�r�:�r�:�rA:�r�e�rAB�r:�r�:�r>�.�VX�
NL
�R
 <
AR
 <
��\06z
) ���d42p8� �xK(�xK�6KA#B8� �xK(�xK�cKqA#d
4	Rp8� yK(	yK�YKԓ@�0���P-PH����4P�PP�-PH��%0H��-4��
p`PH�

��B8� �yK8Q%KzKzK	zK�*(#*

4
2p8� (zK(1zK7zK)M#�$P		�08� TzK8azKozK�zKsP0B�r`wzK�5N��F#n�5N��K#��"L#n\z2pP08� �zK)�zK�zK�
�r`BHBP08� �zK)�zK�zK�8J2pP08� {K)�zK
{K���42�p`8� ({K8Q%K5{KD{K={K�0K#�6bT4R�p`8� h{K(q{K�{K�H#.	I#.I#.)I#
�.D.�4Rp`P8� �{K(q{K�{K
�2D2�d
4rp8� �{K(�{K�{K
��P�H"4$p`PĘ|K�(|K;|K
�s�2�r:�r:�r���'@�	\
N(:
4
�pĘd|Kc8q|K|K�|K�r�0B�r@�|K��K#�4

2P8� �|K)�|K�|Kp
�r@8:Bp`08� �|K(�|K�|K
�r�2�r�J�*d
4Rp8� }K(}K}KM#�d
T4rp8� <}K(E}KQ}K
t@6�H#>.4�p`P8� p}K(y}K�}K�M#*�rP�l�4�p`P8� �}K(�}K�}K�M#�d42p8� �}K(�}K�6K�H#d42p8� �}K(~K�6K�H#d42p8�  ~K()~K�6KzH#4rp`P8� H~K(Q~K^~K��@2�sPzxr���
�p`08� �~K8Q%K�~K�~K�~K�vB#��

4
2p8� �~K`�~Kj

4:
6php08� �~K8�~KK2Ks�0B�r`K�5N��F#%�5N�@G#U��G#%�1BP08� LK)�zKVK�>J2pP08� pK)�zKzK����p
08� �K8�K�K�Ks�0B�rP�K�5N��B#��5N�+C#���C#�h�2pP08� �K)�K�zK�
�rPBP08� �K)�KVK�2pP08� <�K)�KzK�

B	��p`P0""t["dZ"4Y"T��P8� ��K(��KրKEI#.eI#.�I#.�I#.�I#.J#./J#.XJ#�eI#6�I#.�I#.�I#.J#./J#.XJ#hV*p08� �K8�K�K-�K	�K�5N��B#]�5N!eD#u��D#]�]BP08� H�K)�KR�K�>P�p
08� l�K8�Ky�K��K��K�5N��B#��5N�+C#u��C#�h�h�08� ��K8�KɁK�KсK�5N��B#��5N�+C#���C#�n�42�p`8� �K8Q%K�K,�K%�K�K#�@�R����
p`08� P�K8Q%K]�Kl�Ke�K��A#��a"4p`PĘ��K�(��KǂK
�r�2�r�j�r�2�r���rA:0(@��	R(:
"(Dp`08� �K8�K�K,�K	�K�5N��B#�5N��E#�
��E#��	r���
�p`08� P�K8Q%K]�Kl�Ke�K�1B#��I
hdT4�p

4
R	�p`8� ��K(��K��K8$@<8$@P:�08� ԃK(݃K�K
��@

4
Rp8� �K(	�K�K�J#.�J#^�J#&<X4�P8� 4�K(=�KV�K
�rp2�r�j�r�2�rp�n(:"(:"(:"(4C@P8� ��K(��K��K

�r�2�r�j�r�2�r���r@1D
�v*>$* 4P�K�(�K�K
�r�2�r�j�r�2�r�|(:"(8�  �K()�K6�K
�rp2�r�V*>8� P�K()�KY�K�*> 42.PĘ|�Kb(��K��K
�r�2�ran%(8� ��K()�K��KN*>8� ̅K()�KՅKZ*>�08� �K()�K��K<�*		08� �K(�|K�KVP*		08� 4�K(�|K=�KT�*>8� X�K(=�Ka�K�*>$*>

4
�p8� ��K()�K��K�* 4'$P��K(��K�K

�r:�r�z�r:�r����N
�N(>"(�08� �K()�K
�KJ�*t4�P8� ,�K(��K5�Kl�
0x(:"(:"(:"(8� d�K()�Km�Kp*>8� ��K()�K��Kh*> 4PĘ��K�(��K̇K
�r�2�r�j�r@
�*�N( 4P�K�(��K�K

�r�2�r�jt!:�r�2�r�n"(
:"(0ĘH�K�(�|KQ�Khq*%t4PĘ|�K�(��K��K
�r�2�r�j`����"(:%t&4%"PĘȈK(шK�K

�r�2�rr�r�:�r��r��,
�V(>$()	t'd&4%"PĘ,�K(шK5�K��(>
$(		F08� \�K(e�Ks�K
�r�2�r!�u0$dn4mjpH�@

4
p8� ��K(��KԉK
�r�2�r�j�rA:�r���0>$*8� �K()�K��K4@*di4hfp8�  �K(��K)�Kl�0>$*42���p`8� T�K8Q%Ka�Kp�Ki�K��A#dX<dT	4Rp8� ��K(��K��K
8$@P�04�����
�p`PĘԊK�(݊K�K
�s`2�s�!d��@04�����
�p`PĘ$�K(-�Ki�K
$ZA:�s:�1A:�1A:�Z<�rPl�ZP� �� ��F��
�f
�~
b�B�@045*���
�p`P��KB	(��Kd�K0Z�:�r�:�r�:�rA:�rA
:�r�:�r�	�rAB�rA:�r�:�rA��rA	B�r�2�r�:�r�:�r�
�rAB�rA:�r�:�r�:�rA:�rA�	D��B�s�F�.�
D :
 :��JJJ �a� 6$ ��D"$0&(0*$,�*Mz.50�.��d9484pd42p8� �K(�K�6K�M#B8� �K(	�K�cKN#

4
�p8� $�K(-�KD�K4sp<4sp6�O#.�O#* �=FF208� d�Kh�.Km�K�&T
4�p8� ��K(��K��K
t`f.	dy4xr�pPĘčK�(͍KۍK
�ra:�s`
��HbE��p
`0P8� �K(	�K8�K�s�<0}�:�s`6�O#^pO#�pO#*�s�6�O#��Bd	T42p8� \�K(e�Ks/K�N#04|r���
�p`P��K�(��K�K$
0(!:��z��:0(�2�A��A:�r�:�r!:�r�2�r��r!B�r�:�r!:�r���r�B�r!:�r�:�r!0z�"��FLNJp�JJJJ|��H H"H$�"�@.	dK4JD�pPĘt�K(}�K��K
�s�2$Z�2�Z<�Zpj�1A�� ��D�
NDE+	��	��p`0PĘ؏Kb(�K@�KZ!:0(A>�N#��N#*0(�6	O#�	O#*�r!:�r�2�r�2�r���r�:�r!:�r�:�r! v.t�
�%	 ��F �).d	T42p8� ��K(��Ks/K�N#d	T42p8� ��K(��Ks/KaN#d42p8� ؐK(�K�6K~N#B8� ��K(�K�cKP#4rp8� �K(%�K2�K4s�<4s�* \b,	4|t�
�p`PĘ`�K�(i�K��K
�s�2<��:�s�:�s!���h�D04�����
�p`PĘ��K�(ɑK�K
�s:$ZA:�1�:�1�:�r:�Z�<�r@l�Z@�� ]� (��Fx�
�^ZNL>�P�b
AB�@*4%���
�p`PĘ`�K�(i�K��KZ�:��:�r:�r���r�2�r@*t.b�DH�J
 :
aN
 :
N
 :
��@d42p8� ؒK(��K�6KB8� �K(��K�cKaP#
4����
�p`P8� $�K(-�KN�K4s�<4s�6�P#.Q#.Q#.(Q#B 444
YB4R
p`P8� |�K(��K��K�s��6%4\%R���
�p`P��K�(��Kc�K�
�s�2�r:�r�:�r:�r�%�r�B�r:�r:�r���rB�r�2�r:�r���r�B�r:�r:�r���rB�r�	:�r	:�r�U	�r�B�r:�r�
:�r
%�rB�r�:�r:�r���r�B�r:�r�
:�r
��r�B�r�:�r:�r���rB�r:�r�:�re�r�B�r�:�r:�r�5�rB�r%�r�B�r�:�r:�r���rB�r:�r�:�r��r�B�r�:�r:�r���r B�r:�r�:�re�r�&B�rA':�r�':�rA(5�rA)B�r�(%�r�"B�r# �r!B�r"!�r�$B�r$:�r� :�r�!�"�r&B�r�#:�r�%:�r%�$�r%B�r�%:�r�#:�r&u&�r�!B�r� :�r$:�r�$E(�r#B�r�":�r":�r!=:�%�F 
���J.���^ �A�b ."� -f$\&R(6*�(IR,R.R0F2�0aR4R6R8 :�89R<R>R@ B�@mRDRFRH.J�HIRLRNRP.R�PIRTRVRXFZ�X�R\ ^D\�R`RbRd f�d9RhRjXl n�l9RpRrJt.v�tI:x:zJ| ~�|�(�(� �D���� � �D�� � �D�� � �D�N(�(� �B����(�(� �D����(�(�(�H���z(�(�(�@���z(�(�(�@���An04�����
�p`PĘ��K�(ɗK�K
�s�:$Z�:�1�:�ZA<�r@j�Z�<�r@l�Z@	�Z�]� .��x@�
jN
�N
t�
fy@JbR0�b���5
$h� 4 ����
p	`PĘl�KR(
eKu�K��.ePLR
��NNF �q
R� ��R� ��R�.~�R� �}RB:8��BB: �uBB: �yBB: �eBB: �eBB: �eBB:T��BB: �uBB:.|�J,xh-�	�p`P0Ęd�K2(�?Km�K
8AJ"d	T42p8� ��K(��Ks/K�P#d42p8� ��K(əK�6K�P#B8� �K(�K�cK�S#
4����
�p`P8� �K(�K?�K4s�<4s�6|T#.�T#.�T#.�T#.�T#B �)44
4YB(4��p`PH�@04@6���
�p`P��K�	(��K�K
�s�:$Z:�1�":�1�:�1�:�ZA<�r@l�Z@� �� �� (��FF�
�
5^NbJX�F�
�BB�@
5
$h� 4� �����
p	`PĘD�Kb
(M�KM�KHZA:�s�
:�r�
:�r:�r�:�r5�rAB�r�:�r�:�r�r�B�r:�r�	:�r	��r
B�r�:�r�
:�r
��rB�r:�r�:�ru	�r�B�r�:�r�:�rE�r�B�r:�r�2�r���r�2�r�2�r��r�B�r�:�r
ʐ.MM�h
 �
m�Z ��Z �� Z" $�"��(Z*.,�*�.b0b2h4�2i:6B8B:h<t:�%6B>B@:B�@uB6B>:@ B�@uB6B>:@.B~@�B6B>:@>B�@�B6B>:@ B�@�B6B>:@ B�@uB6B>:@ B�@uB6B>:@ B�@uB6B>:@ B�@u:&DD(F�HvF�Jd	T42p8� H�K(�nKs/Kd42p8� l�K(u�K�6K;T#B8� ��K(��K�cK�T#2!dA!4@!8���pPH��	04B8���
�p`P�K�	(�K'�K
�s�:$Z�:�1�:�ZA<�r�t�rp��Zp�� �8i�6
VVlPhd��@04�����
�p`PĘp�K�(y�KϞKZA:�rA:�r�2�r���r�:�r�2�rA:�r��r�2�rAu�r�:�r�2�rAL�.
� �u�N ���J �y�J �y] �y� |V
HF ~=Zd42p8� @�K(I�K�6K/U#B8� `�K(i�K�cKLU#

4
�	�p`8� ��K(��K��K4s�<4s�6�U#.�U#.V#.V#.2V#0 �^F�
^6n

4$
"pd7464p04tj���
�p`P�KB(!�K\�K
�s�:$Za:�1	:�Z�<�r@lt@��@�Z@�� "���D�bN
�>h>bbF���4��	p`Ę��KR(��K��Kt�4�r�2�s@l(�4��	p`ĘܠKR(�K��K��4�r�2�s@l(�d42p8� �K(!�K�6K�U#d42p8� @�K(I�KO�K�U#>~d4p8� p�K(ycKy�K8�8X:*

46
4pB8� ��K(��K�cKEV#d4rp8� СK(١K�K4s�<4s�6�V#
4 Jl4
Rp8� �K(�K'�K�s�40}�6�V#�zd42p
4,
(pĘX�K2(a�Ks�K
$ZP2�1`f� d�0(JRd	42p8� ��K(��K��K
0(�H$(4E>p`PĘТK�(٢K��K

0(a:`'`2`'�f� �� �x<J��
�d42p8�  �K(m/K�6KB8� <�K(E�K�cK�V#
4����
�p`P8� l�K(u�K��K4s�<4s�6W#.+W#> =6�F04vl���
�p`PĘģKR(ͣK)�K
�s!:�r�:�r�2�r!:�r�%�r!B�r�2�r!:�r���r�B�r!:�r!:�r�&a��F.
t��J.|��J.zy]�04PF���
�p`P��K"
(��K�K
�s�:$Z�:�1�$:�1� :�1�:�Z<�r@j�ZA<�r`l�Z`	�Z`]� -� �� 0��FF�
�
^Nb1@JbN0�b�
�BB��
>
-h	%4%���
�p`PĘH�K�(Q�K�KrZ:�r:�r:�r�:�r�5�r�B�r�:�r�:�r�rB�r�:�r:�r�	��r�B�r:�r�2�r
��rB�r:�r�2�r�
U	�r�B�r�:�r:�r%�rB�r�:�r:�r���r�B�r:�r�
:�r
��rB�r�:�r:�r���r�B�r:�r�:�re�rB�r�:�r:�r�5�r�B�r:�r�:�r�rB�r�:�r:�r���r�B�r	:�r�:�r�:��U 
�-% ���1 ���  "� Am(.*�(a0.2�0�R4R6R8>:�8eR<R>R@ B�@MRDRFRH J�H9RLRNRP R�P9RTRVRX Z�X9R\R^R` b�`�RdRfRhTj�h1RlRnRpTr�p!Jd	T42p8� ��K(-tKs/Kd42p8� �K(�K�6K�V#B8� �K(	�K�cKJW#4
�p8� $�K(-�K:�K4s�<4s�* �F		40504�����
�p`P��KB(��K��K

�r�:�r:�r�2�r�ڀsA�NNDx��
�04�����
�p`P�Kb(�K-�K
$Z�:�s�:�1�:�r�:�ZA<�r`l�r@��Z@�� $�U�M
xf
�f
�f
�x
�f
~1�@04-"���
�p`P��K	(��K��KRZ�:�r:�r
:�r���r�	:�r�2�r�
��r�B�r�:�rU�rB�r:�r�:�r%�r�B�r�:�r:�r���r	B�r:�r�:�r�	�s�B�r�	:�r�2�r�:�r5�r	B�r:�r�:�r�r�B�r�:�r:�r���rB�r�:�r5�r�B�r�2�r~�.]^T��R
Z |qJB teJJB�r�FF F"�$r"�^&\(^* ,�*�2b4 6�4.:8::R< >�<�.:@:B:D F�D�.:H:JLzJ.BN:PRR|P�@R04�����
�p`PĘ`�K�(i�K��K
�r:�r:�r�2�r���r�:�r:�r��NND|��
FF�u04lb���
�p`P�K(�K�K
$Za:�s!:�1:�Z�<�rPl�ZP� �U�26
��Dr��@	4OF�
�p`P8� T�K(�kK]�KV.jPP�
RR
x
�%	.�	��p`0PĘ��Kb(qlK��K�@t`j<dd42p8� ԬK(��K�6Kd42p8� ��K(�K�6K�W#B8� �K(!�K�cKX#B8� 8�K(A�K�cK�W#	4 �
�p`Pd4�p8� x�K(��K��K4s�<4s�6�X#.Y#.Y#.1Y#4 lXfX
�FF04�����
�p`P�KR(�K�K
�s�
:�r�2�rp��sa
:�ra:�r���s��q�ZP�N
 6
UA04xn���
�p`PĘ`�Kb(i�K��K
$Z�:�s:�1�	:�r�:�ZA<�r�:�r��r��r@)�Z@�� $�!��
�0(
�R
`n
!b
bA�@
04�����
�p`P�K�
(�K��K,Z�:�s�	:�r!
:�ra:�r�:�ra5�r�
B�r�:�ra:�r��r!B�ra:�r�:�ra��r�B�ra:�r�2�ra��ra	B�r�:�r�2�r�<�.u�DD
�v
)�\bV�-bb �Y%" $�"��* ,�*E@$d-4,(p�K2(�?K�K�$mJ(4d42p8� D�K(M�K�6KKX#B8� d�K(m�K�cK\Y#

4
rp8� ��K(��K��K4s@<4s@6�Y#
* dHb%	4���
�p`PĘ԰K�(�tKݰK
����2!dm!4l!d���pP�K(�Kn�K
�s:$Z�>�Y#.	Z#*�r���r���r�:�r:�1A:�Z<�rPl�ZP� ����L�D��Pfb�u+	|�	��p`0P��K�(��K�KZ:�r:�r�2�r���r�:�r�2�r�2�r��r�2�r�2�r$v.!� t� �- �A�5�A.d42p8� D�K(M�K�6K�Y#B8� d�K(m�K�cK�Y#

4

Rp8� ��K(q{K��K
n0<0�

4

Rp8� ��K(��K�eKvZ#496p8� زK(�K��KGZ#*d��>cZ#�cZ#
Z, :

4
2p8� �K`�K<42p8� 4�K(=�KD�K0(�l��	��p`P0Ęh�KR(q�K~�K8��4�r���	�
���p`08� ��K8��K׳K�KR[#.o[#^o[#��[#.�[#ֲ[#߳K�eN��[#
�t�n�T
4	2�p`�08� �K8Q%K)�K=�K1�K�eN@'[# dT
4Rp8� \�K(e�Kk�K�Z#R^dT
4Rp8� ��K(e�K��KRNd42p8� ��K(��KôK�Z#D4dT
4Rp8� �K(�K��K�Z#R08� �K(
�K-6K
�s@
4
rpĘ,�K:(5�KA�K[#,��`\ur08� X�K(Y2Ka�K(4�08� x�K(��K��K
�rP�*)_	��p`0P��K�(��K�K
�1�:�1�:�rp2�r�2�r�2�ra:�r����t 
  -p`P0�KR(%�K3�K
�1�2�r`h�L-
U
��	��p`0PĘ`�K�(i�K~�K
�1A:�r�2�r���x �v-
3
��	��p`0PĘ��K�(��KζK
�1:�r�2�rp��l82�N-
3
��	��p`0P�K�(	�K�K
�1:�r�2�r��=l^ �@-
3
��	��p`0PĘP�K�(Y�Kn�K
t�2�r`b�1�����ub`-
3
��	��p`0P��K�(Y�K��K����9b`-
3
��	��p`0P�K�(Y�K��K�5��9h`r�p`P08� $�K(-�K4�K
,�`(b�B
�p`08� T�K8a�Kj�Kz�K
,��08r�K�*(#���d4
Rp8� ��K(��K��K
ԓ@ntd
4rp8� ȸK(ѸK�K
4s@<4s@6�?#.�?#.�?#4 n@@@
�,	44,�
�p`PĘ �KR	()�K0�K
�s�
1�u82!ds!4r!j���pPĘh�KB(q�KƹK
�s!:$Za>�\#.	Z#*�r!��r!��r!:�r�:�1	:�Z�<�rPl�ZP� ����~�D���Rx�u'|�p`0P�K�(
�K/�K
Z:�r�:�r�2�r�2�rn.�� 
�E&d42p8� \�K(e�K�6Ki\#B8� |�K(��K�cK�\#2!d�!4�!����pP��K�(�tK��K-E�,	4ZR�
�p`P�K�(��K*�K
�s�2$Z�:�r!:�1:�Z�<�rpl�Zp� ��LnB
�N
|��B8� P�K(Y�K�cK�\#d
4rp8� x�K(��K��K4s@<4s@6]#.]#..]#.A]#4 n@@@
@lt4
RP8� ̻K(u9KջK
4j
fpH� 2!do!4n!f���pP�K"(%�Kz�K
�s�:$Z�>l]#.	Z#*�r���r���r�:�r!:�1�:�ZA<�rPl�ZP� ����L�D��PHx�ud42p8� ��K(��K�6K�\#B8� мK(ټK�cKT]#
4����
�p`P8� �K(	�K*�K4s�<4s�6�]#.�]#.�]#.^#> �	>N6
aF04�����
�p`PĘh�KR(q�K^�KB
�s!:�r!
:�r�2�r!:�r�%�r�
B�r!:�r!:�r���r!B�r�:�r!:�r���r�B�r�2�r!:�r���r!B�r�:�r!:�r�U	�r�B�r!
:�r�	:�r!	%�r!B�r�:�r!:�r�
��r�B�r!:�r�:�r!^���F 
���J.z��T �	�^ ."� Af$\&^(6*�(if,\.^0F2�0�R4R6R8 :�89:<R>R@ B�@)�04|r���
�p`P�K�(��K(�K
�s�:$Za:�1
:�Z�<�rPl�ZP� E��4�
b�Jx��5
$h� 4 ����
p	`PĘp�KR(
eKy�K��.eNLV
��NNF ���R� ��R� ��R�.~�R�8��RR: �uBB: ��BB: �uBB: �uBB: �uBB:N��d42p8� 0�K(9�K�6K�]#B8� P�K(Y�K�cK�^#4rp8� t�K(ImKeCK4.$���
�p`P8� ��K(��K�K4sa:�r�6_#�_#.*_#.=_#.P_#.c_#.v_#L	H�6
66f�6%4(%���
�p`P�K�(%�KS�K�
�s�2�r! :�r�2�r!:�r��r� B�r!:�r!:�r���r�B�r�:�r!:�r���r!B�r!:�r!:�r���r�B�r�:�r!:�r�U	�r!B�r!
:�r�	:�r!	%�r�B�r�:�r!:�r�
��r!B�r!
:�r�:�r!��r�B�r�
��r!B�r!:�r�:�r!��r�B�r�:�r!:�r�U�r!B�r!:�r�:�r!%�r�B�r�:�r!:�r���r!B�r!:�r�:�r!��r�B�r���r!B�r!��r�B�r���r!B�r�:�r!:�r!!e�r!#B�r�":�r!":�r�!5�r�!B�r!":�r�":�r!#!�r�B�r!:�r!:�r!!�:���J 
���F.z��T ���^ ."� f$\&^(6*�(9R,R.R0F2�0MR4R6X8 :�89R<R>J@ B�@�JD FDD�RHRJJL N�L9RPRRJT V�T9RXRZJ\.^�\9R`RbRd f�d9RhRjRl.n�l�Rp rDp1Rt vDtqRx zDx�R|V~(�B����(�(�(�D����(�(� �H����(�(�(�D�����04�����
�p`PĘ|�K2(��K��K
�s�:$Z�:�1�:�ZA
<�r@j�Z�<�r@l�Z@	�Z�]� &��x@�
j�
fy@JbF0�J~��5
$h� 4 ����
p	`PĘ �KR(
eK)�K��.eNLR
��NNF ���R� ��R� ��R�.~�R�8��RB: �uBB: �yBB: �eBB: �eBB: �eBB:N��BB: �uBB:.|�d42p8� ��K(�K�6K�^#B8� �K(!�K�cKEa#,	4���
�p`PH��9(x*$h+ 4b X����
p	`PĘx�K�(��K��K
�s�2$Z�:�1A:�Z<�r�:�r��r�� �
n�:
*"���T04�����
�p`P��KR(�K��KDZ:�r�:�r:�r�2�r��rB�r�:�r:�r���r�B�r:�r�:�rE�rB�r�:�r�r�B�r:�r���r�:�r�2�r��r�B�r:�r�	�r�:�r�2�rE
�rB�r�:�rE
�r�:�r�2�r��.QJNT
��rFF ��HF<xiFP  ��nJ"@$.&�$�L(@*<,|*�:@< ~�H8.8002�0M@@406.8�6�:::@<.>�<�:8.8002�0U@@@0B.D�BU@B8� ��K(��K�cKua#

4"
 pd42p8� ��K(��K�6K�a#B8� ��K(�K�cK�a#**h"##h
4
Rp

4
�p8� <�K(E�KR�K4sP<4sP* ~x

4
Rp8� p�K(
�KD�K04�����
�p`P��K"(��K��K
�s:�s:�r�2�r���ZP-A@,	4ZR�
�p`P�K�(
�KB�K
�s�2$Z�:�1:�r!:�Z�<�rpl�Zp�� ��e�
BZ
JL
z��8+	��	��p`0P��K(��K��K"ZA:�ra:�rA:�r�2�r���r�:�r�2�rA:�r��r�2�rAu�r�:�r�2�rAU�r�:�r�2�rA4v.�L�l
��D��<vu@zE|Mv�� j"
.%	.�	��p`0PĘ\�Kb(qlKe�K%^8��`l<dB8� ��K(��K�cK�a#d
4rp8� ��K(}oK��K4 	4\T
��	�pP8� ��K(��K(�K
�r�:�ra:�r�2�ra:�r�5`'�:`'�n� ]� ��
v�%D^��d42p8� X�K(e�K�6KB8� t�K(}�K�cK�a#4P8� ��K(��K��Ks��$ 4�p`P��Kr(�&K��K��V,d$4"���pP�K�(�K1�K
�b#*�r�:�rA:�r�2�r��6:�bX :


4

R`T4��p`8� l�K(u�K{�Kb#h�d
4�p8� ��K(��K��K
�F	`@6
4,
(p��K2(�?K��K
��J(04J@���
�p`PĘ�K�(�K@�K
�s�:�sA:�s:�s�:�F	�:�sa�(���R
uQ"4p`PĘt�K�(}�K��K
�sA:��2G	`
p��&�2!d=!4<!4���pP��K�(��K��K
�s�:����Z-�'
'xhd
4�p4��
�p`PĘ �KR()�K6�K
�s�2�s`��\Ed
4	Rpd4�p8� h�K(q�Kx�K
��`Tl
T
42���p`/!4"!����
p`P��K�(��K��K
�ra:�r�2�s:�s��<:4L=�v	��p`0P8� �K(�+K�KrF2�
04�v���
�p`PĘP�K�(Y�K`�K
�s���
�.	dc4`\�pP��K�(�tK��KM�p2!dY!4V!P���pP��Kr(��K��K
�s�2�r�2�r`
�R2��d4P&
&tt&ds&4r&l����P8� 4�K(=�KK�K
�s`4�s����6N�%4>4���
�p`P)c	��p`0P��K(��K��K
�r�:�1�2�r@2�s���s��� �$�,
��p+	d�	��p`0P�K(	�K.�K
�r�:�1�2�r`2�s���s��� �"�6
��X

4	
Rp8� T�K(]�Kc�KGc#�`-
�
��	��p`0P��K"(��K��K�r�
:\):�s`2�s�s�2�sqy���y
��3"tu"dt"4r"n��P��Kb(�tK�K
���~�td4PT4R�p`8� L�K(U�K�AK*c#td42�r����
p`08� ��K8Q%K��K��K��K��b#��ET4��p`t
d4r�8� ��K(��K��Kti	`<ti	`h@
4
RpH�((4��p`PĘ4�K�(�tK=�K=�,	4VN�
�p`PĘl�Kb(u�K��K
�s�2$Z�:�1�:�ZA<�Zp�� ��n��
Rl��B8� ��K(��K�cK{c#>-�0(x1$h2 4p f����
p	`P�K�(
�K;�K
$ZA:�s�2�1�:�Z�<�r@l�Z@
� �9�26
l�Jb��^	4#�
�p`P8� x�K(��K��K
Z:�r�:�r�2�r:�r�P.j�H(
xB8� ��K(��K�cK�c#T4��p`8� ��K(��K)�K4sP<4sP6�c#.�c#.�c#.�c#.d#.d#..d#: r>>>
>>�T�t4
RP8� X�K(u9Ka�K�'	T�4���p`H��04�����
�p`P��Kb(��Kt�K<
�s�:$Z:�r:�r�>Yd#.�d#*�r��r��r>�d#.�d#*�r���r���r�>�d#.#e#*�r��r��r>Le#.ue#*�r���r���r�:�1�:�ZA
<�rPl�rp��Zp}� <��D|�!�I� D$
&�*�0�2\4�6|4f6~4f6p4f6b4�8�4b:h4b2�<-'H�p`0P��K2(��K��KZ�:�r:�r�2�r�n.�� h�&d42p8� (�K(1�K�6K�c#B8� H�K(Q�K�cKAd#4�p`P8� p�K(y�K��K4sP<4sP6�e#.�e#. n�Z�%	4ph�
�p`P��K2(�tK��K���,	4XP�
�p`P��Kr(�K7�K
�s:$Z�:�r:�1�:�Z�<�rPl�ZP� ��@nB
��
d��'H�p`0PĘl�K2(��Ku�Kn.�� x�&d42p8� ��K(��K�6K�e#B8� ��K(��K�cK�e#d
4rp8� ��K(��K
�K
4s@<4s@6]#.]#..]#4 n@@@
�2!d�!4�!����pPĘD�K�(�tKM�K-I�2!d�!4�!����pPĘ��K"(��K�K&
�s�:$Z�:�r:�r�>f#.Ff#*�r��r��r>lf#.�f#*�r�
��r�
��r�
:�1�:�ZA	<�rPl�ZP� ,��D^�%|D��P �"x f"� f"x b$� b�&QB8� D�K(M�K�cKf#
T4r���p`8� t�K(�]K}�KB lA	04�����
�p`P��KB(��K��KZ
�s!:�r�:�r�:�r!:�r�%�r!B�r�:�r�:�r!��r�B�r!:�r�:�r!��r!B�r�:�r�:�r!��r�B�r!:�r�:�r!e	�r!B�r!:�r�:�r!5�r�B�r�	:�r!	:�r�
�r!B�r!:�r�
:�r!
��r�B�r�:�r!:�r���r!B�r!:�r�
:�r!
u�r�B�r�2�r!:�r��E�HNN
�i�	jJ ��pF.��zN  "� ��&^(.*�(Yb,b.b062�09R4R6R8F:�8IR<R>R@6B�@IRDRFRHFJ�HMRLRNRP R�P9BTRVRX Z�X�t2!d_!4^!V���pP��K�(��K��K
�s!:$Z�:�1�:�ZA<�rPl�ZP� ��n2:
tj
jJJx��Bd42p8� (�K(1�K�6K�f#B8� H�K(Q�K�cK�f#d4
RpĘt�K*(}�K��K�r@vph4��
p	`P8� ��K(��K��K�e
`d4�
p	`P��KB(��K��K�e
p2�e
P�H�

4
rp8� �K(!�K(�K
�e
PZH	@���
�p`08� P�K8]�K��K��K0(�	:�s@2��h.h#6Nh#^Nh#���K�eN`nh#�*r��n�*
*�5'h#t##d"#4 #����P��K�(��K��K
8�!:ta�a��Vd
4	Rp8� $�K(-�K9�K�g
P6�g#P``
/
��	��p`0P8� `�K(i�Ko�K:j#AF�R04Rp8� ��K(��K��K0(�v-
Y
��	��p`0P��K�(��K��K
�r�B0(�
>Ji#*h
��N�*�~�$,	`�
���`0PĘ(�K�(1�Kq�K
�r�B0(a>�i#*h
A�0(�6�i#.j#*�g
���g
��g
� �~&�Rn"��D
.l@8�
�-
[
��	��p`0P��K�(��K��K

8��:�r!r0(>i#*h
���(�$�N�
*��dT4r����p'
-
��	��p`0PĘ<�KR(E�KQ�K
ph
�>� 
�r)24
Rp`P8� x�K(mBK�PKT4��p`8� ��K(��K��Ktg#(6�g#.�g#bX208� ��K`��K�R08� ��K(�3K��KJv(	d4�pPH��)	td4PĘ@�K�(I�KP�K
�r�}�R�p`P0H�(Rp`0H�(4rpH�8
4
�pH�X�08� ��K(��K�,K
Le
@2|��d
T42����p##htdT4��d
T	4Rp8� (�K(mBK1�K��d
4	Rp8� P�K(Y�Kf�K�Y@<�Y@T4d
4	Rp8� ��K(��K�YK0e
@

4
�p8� ��K(��K��K
f
`FI

4
R	�p`8� ��K(��K��Ke
@<e
@Z&42���p`8� �K8Q%K�Kp�K%�K�8g#dT4r����p

4
R	�p`8� `�K(i�K��K0e
@<0e
@td
4	R�8� ��K(i�K��Kh4dT	4Rp8� ��K(��K��K
0e
@Prd4rp8� ��K(��K�K4s�<4s�6xj#
4 J*l4
Rp8� ,�K(�K5�K�^*.	dF4E@�pPĘ`�K�(i�K|�K
�s�2�r�2�r@�R :�:E
4xV,hW$t�$d�$4�$�P��KR(�.K��K8��!h<0��K�(�.K��K��xd42p8� �K(=VK�6KB8� ,�K(5�K�cK�j##
#xhd4
rp5
$h, 4d Z����
p	`P��K�(��K��K
$ZA:�s�2�1�:�Z�<�rPl�ZP
� �n26
faJb��Jd42p8� ��K(}bK�6KB8� �K(�K�cK�j#T4rp8� 0�K(9�K]�K�j#.k#.k#.+k#.;k#.Kk#.[k#��:
^>^

4
rp8� ��K(��K��K
0(`@#d4
r�pP��K:(��K��K
`�@��4)���
�p`P8� ��K(��K%�K
�s@2�r!j�r`2�r:�r��s�j�((
(�"�d4��pP8� T�K(y}K]�K��rd4��pP8� ��K(y}K��K��r4��
�p`P8� ��K(y}K��K
�q$@nd4��pP8� ��K(y}K��K�nr4"���
�p`P8� �K(�K1�K0(P2�r`r�s�
�A
T��t"d!4 ��P8� d�K(m�K��K

�r:�r�:�r�2�r�2�r�\�*6
f4r�
�p`P8� ��K(��K��Kl#�04A6���
�p`P��K�(��K8�K
�r:�r!:�r�2�r�:�rA%0(p>�k#.�k#����H�N0(
H1��"I#d4��pPĘx�KR(��K��K
��p2�sPxl|UR08� ��K(��K�_K�j#.h6#
4R���
�p`P#d4��pP��Kj(��K�K
�s�f��r0Ę �K2(
�K)�KP$�
4�����
p`P8� P�K(Y�Ks�K
�sP2�sp20(!j0(@�v8�
tdT4��8� ��K(
�K��K�#
#t#d#4#����P8� ��K(��K��K
�r�2�r@2�r:�r�
�a*(,	dhTg4fdpr�	��p`P08� <�K(E�KR�K
��`:4�
`	P�r�	��p`P08� x�K(E�K��K	�ir�p`P08� ��K(��K��K
4�
@��ERp`08� ��K(��K��Kb�dT4�p(
4����
�p`P�Kz(!�K4�K
�s`:�s�j�s���x�)�d4	Rp8� `�K(i�Kp�K��@N^d
4	Rp8� ��K(��K��KVD	b
��	��p`P0 	b
��	��p`P0H�(d
4rpH�81
#t'#d&#4%#����P�K�(%�K4�K
t�:�!
�~=�	

4	
Rp
4
rpH�0"H�d4�pR�
�p`08� ��K8Q%K��K��K��K�7l#�h�

4	
Rp8� ��K(�YK�EK

4
rp8� ��K(�]K��K* d�5
$h. 4h ^����
p	`PĘ4�K�(=�Kl�K
$Z�:�s�:�1A:�Z<�r@l�Z@� ��4:
fj
��pb��J04�����
�p`P��KR(��K��KZ:�r�:�r:�r�2�r���r�2�r�2�r�.�FNN
��RRJ\rQ@B8� $�K(-�K�cK�l#

4
rp8� H�K(}oKPmK,	4xp�
�p`PĘx�Kr(��K��K��Z :��04bX���
�p`P��K�(��K��K
�s�:$Z�:�1�:�Z�<�rPl�ZP� ��n26
`B
n�Zb��@04UJ���
�p`PĘ<�KB(E�Kg�K
Z:�s�:�s!:�r�2�rP�.!�EN
L}Z 
<U@
�p`0��KR(�`K��K`(B8� ��K(��K�cK�l#4rp8� ��K(%�K��K* Db04�����
�p`PĘ$�K(-�KX�K
�s�:<��
z<��
:�s�
:<�!
:�s����.��04�x���
�p`P��K�(��K��K
�s:$ZA:<�:�1�
:�1�:�Z�<�rPl�ZP� �� "���BH
�d\>�Jnb
�B�@&	4) �
�p`PĘ$�K�(-�Kj�KZ�:<�a:�r�2�r�2�rA:�r�<��B�r�2�r�l.\PFF
F�
��R"854$���
�p`P8� ��K(��K��K
�r�:�r�2�rA
�� �)%	0�	��p`0P�Kr(	�K�K
�1�2�r`n� �@�z^�<dB8� D�K(M�K�cKm#
T4r���p`8� t�K(�]K}�KB l�	6%42%(���
�p`P��K2(��K�K�
�s!:�ra:�r�:�r�2�ra%�r�B�ra:�r�:�ra��raB�r�:�ra:�r���r�B�r�:�ra%�raB�ra:�r�:�ra��r�B�r�:�r�:�ra�
�raB�ra
:�r�	:�ra	��r�B�r�:�ra:�r�
e�raB�ra
:�r�:�ra5�r�B�r�:�ra:�r�
�raB�ra:�r�:�ra��r�B�r�:�ra:�r���raB�ra:�r�:�rau�r�B�r�:�ra:�r�E�ra B�ra:�r�:�ra�r� B�r�:�ra:�r���ra"B�r�!:�ra!:�r���ra$B�r�#:�ra#:�r�"u �ra&B�r�%:�ra%:�r�$�:�mF�.
|�JFF:v�lVFN��b^  ���$^& (�&Y�,^..0�.9R2R4R6 8�69R:R<R>.@�>9RBRDRF6H�F9RJRLRNFP�NIRRRTRV6X�VIRZR\R^F`�^MRbRdRf h�f9RjRlRn p�nmRrRtRv.x�v9RzR|R~.��~9R�R�B�F����(�(�(�H����(�(�(�H���9�l04�����
�p`P�K(	�KL�K
�sA:$Z:�1:�Z�	<�r@j�Z�<�r@l�Z@	�Z`]� *��x^N
rN
�N
b�@J^H*�hd��$	*�	��p`P0H�@d42p8� ��K(��K�6K,m#B8� �K(�K�cK�o#%	H�
���p`0�K38�KW�Kn�K
�r�:�r�:�r!:�r:�r�5`��B�rA8
0(p��r_�KPFN�p#��Tnf:4
b)���M0RpP08� ��K)��K
�K�
�r�2�r�:�r�2�r�:�ra:�rA��rA%�rA�rA��rA��rAB�r�8�6
>�@t4
rP*4'���
�p`PĘT�K�(]�Ky�K
%p#.5p#.Ep#.Up#*D�a
`
�~v
42�p`8� ��K8Q%K��KD{K��K�qp#.	dy4xr�pP�K�(�K��K8��<8��
�����td
4	R�8�  �K()�K/�K�p#��H�@�0H�@

4
rp8� h�K(q�K��K
4s@<4s@6�s#.�s#.�s#* �((h
�&
&ti&dh&4g&`����P8� �K(�K9�Kd
�r:�r�2�r�:�rA��r:�r�:�rA:�r�:�r��r�B�rA:�r�:�rA��rB�r�:�rA:�r���r�B�r�2�r�	:�rA	U	�r�B�r�:�rA
:�r:�r���rB�rA:�rA:�r�
e
�r�B�r�:�rA:�r�5�rB�rA:�r�
:�rA
�r�B�r�:�rA:�r���rB�rA:�r�:�rA��r�B�r�:�rA�s���FDxAV
J 62��fD^h��bbb <"� e�&b(D*�(��. 06224�2��8^:.<�:
X>R@RB.D�BIJFRHRJ.L�JIJNRPXR T�RIJVRXJZ \�ZIR^2`b�`�ud�^d,Tdd)4rh���
�p`PĘ�K2(�tK�K��04�����
�p`PĘH�K(Q�K��K
�sA:$Za
:�rA:�r�:�rA:�r�:�1A:�Z�<�rPj�Z<�r@l�Z@��Z�<�Z@�� <�z*FF
FLx��i��\zjpptfxEhb~d5�@��p`0P8� L(L0LZ�2�r�2�r@
<.dDL*h*
��	�p`P0ĘdL2(�?KmL
	8AJ",xh-�	�p`P0�L2(�?K�L
�8AJ"gg�	_�
W�O�G�
?�7�/�*x&h"'����p`
0P8� L(
LL
`'�>� IA��WW�Q�K�C�	;�
3�+�&x
"h���
�p
`	0P8� lL(�.KuL��$d-4,(p�L2(�L�L�s@2�1`f� �pvJt4�p`0�LJ(�`K�LT(d42p8� L(L�6K�s#r08� (L(Y2K1L$4xB8� HL(QL�cKt#
4
�pĘpLZ(yL�L�x#*��xd>

4(
$p

4	
Rp8� �L(�L�LD�@@Lr�p`P08� �L(�LLv#.'v#.7v#.Gv#.Wv#TD�P�tv#.�v#.�v#.�v#�&B$
R0lX,br�p`P08� LL(�LUL�&B$
R0lX,@4�p8� �L8�L�L�L�r@�L�y#�%d$4# P�L�(�L�L
�rA:�r�:�rA:�r�2�r@�s��(\Zj,
6�),d4���pPĘ8L�(ALUL�s�2�sA:�'��4X�*4"���
�p`P�L�(�L�L�s:�s�2�s�:�'�I�X�
�	��p`P0H�Hd
T4
rp8� �L(��K�L�N 
 t! d  T 4 ���8� (L(1LLL
�r�2�r�2�rA:�r���hV.H0'
d4����pP�Lj(�L�L
�r�2�rP
����dT4�����p04f\���
�p`P�L�(�L�L6
�r�:�r�2�r�:�r�:�ra:�r�:�ra:ph
�ph
5ph
%ph
ph
�ph
�ph
aR�ra:�r�2�rp2�r�:�ra:�r�u�r�:�rp2�ra:�r�:�r�
� H�.p0,*
 (�a6 2",$,& (**J(M$ 2,,.,0 2*4H2A$ 2,,.,0 2*4>2AP6V#dT4�pH�X!!4"!����
p`P8� 8L(ALTL
�s�2�s�j�s���N^��\�1B(	4,$�
��	p`�L8�L�L�L
�s�2t�rt�8
�s`��rA
�L�w#
��
:5H2pP08� �L)�LL�

�s:�rA:�r�:�rAn.J:
'	0��
��p`0ĘHL{8UL�L�L
�s�2�s�2�r�:�ra:�r�:�ra���@
�s�2�sPj�sPE�ra�L��w#��:��0L0
>2pP08� �L)�L		L�
�s�2�s�2�ra:�r�:�ra�.J
F 4PĘ0	L�(9	LL	L
���2���2��@N(:(�

4
�p�0Ę|	LJ(݃K�	L:*L7
&t�&d�&4�&�����P�	L(�	LA
L$
���:���
:���:��a:H#:���:��!:���	:��!	:���:������AB���:���:��:�$Ar�����a
2�.$F	�
(TFFFF.�.$LF| .�".R$@-%t4430P�
Lr(�
L�
L
��a:H#@2���:��:�$r���\(V:`
((*�7
&t�&d�&4�&�����PĘL�
(L+L
�s+B�sA+z�s�+������I
��
BZBZ)A	��p`0PĘpL�(yL�L
�r�2�s�j�s��yL�-�td4���P�LZ(�L�L
t�2hrp
�&��
T4r���p`1
#t#d#4#����PĘ(L�(1L>L
��2��U���'
d4����pPĘpLb(yL�L�x#*8�`2�r�
�ENvY7
&t;&d:&49&2����P�L�(�L�L
�s�2�r:�r�2�r���r�:�s���6�4
�d
�d4Rp
d
T4
R��ptd4��P8� X
L(a
Lt
L
�r�2�r�j�s@
���a(04G<���
�p`P�
L�(�
L�
L
�r��H
! �p`0P�
L�(�
LL
�rA:�rA:�r�2�r�2�rPsAfZ:,,
@Q��08� <L(Y2KELfF�08� \L(Y2KeL��08� xL(Y2K�L��08� �L(Y2K�qK4
�p8� �L(Y2K�L�d4
�p8� �L(�L�L

�r@4���l���6�v#.�v#rB�b
�08� L(Y2K!L�4�p`Ph
4
�p""r����p`08� `L8mLtL�L (0�L�L
�L�t#�
u#��u#���-�
2pP08� �L9�L�L�L��L��t#�2pP0BP08� L9�LL%L�L��u#�BP0T4R�p`8� PL(��KYLd:4�
��	�p`8� |L8=GKqJK�LZ=Y�F
�!4��
�p`P�LZ(�L�L��`2�s@2�rp��rpl8��04�����
�p`PĘL�(L�L*
�r�2�r�r�r�>�|#.�|#*�ra:�r�>�}#*�ra:�r�%�s	F�|#.}#.;}#.a}#.�}#.�}#��r�	B�r�u�rA
B�ra4��$�x
*0"� ���J: R"< ��$&&�$y�(&*�(�
t
dT4
r�8� �L(Y2KLD�4

4
R	�p`�08� (L(1L>L
�r�2�r@�.&

4
�p8� \L(1LeLI.&�	t�d�4��P8� �L(�L�L�
�r@2�r�2�r�2�r:�r�:�r:�r�:�r:�r�:�r:�r�:�r:�r�:�r:�r�:�r:�r�:�r	:�r�	:�r
:�r�
:�r:�r�:�r:�r�:�r
:�r�
:�r:�r�:�r:�r�:�r:�r�:�r:�r�:�r:�r�:�r:�r�:�r:�r�:�r:�r�:�r:�r�:�r:�r�:�r:�r�:�r:�r�:�r:�r�:�r:�r�:�r:�r�:�r:�r�:�r:�r�:�r:�r�:�r :�r� :�r!:�r�!:�r":�r�":�r#:�r�#:�r$:�r�$:�r%:�r�%:�r&:�r�&:�r':�r�':�r(:�r�(:�r):�r�):�r*:�r�*:�r+:�r�+:�r,:�r�,:�r-:�r�-:�r.:�r�.:�r/:�r�/:�r0:�r�0:�r1:�r�1:�r2:�r�2:�r3:�r�3:�r4:�r�4:�r5:�r�5:�r6:�r�6:�r7:�r�7:�r8:�r�8:�r9:�r�9=2a|#��LRNRPRRRTRVRXRZR\R^R`RbRdRfRhRjRlRnRpRrRtRvRxRzR|R~R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�d�(�(�(�|�2r08� tL(Y2K}L*d
4�p8� �L(�L�L
�r`Jd,	4���
�p`P�L�(�LL�z#*�ra:�r�:�r!:�r�2�r�2�rP�2]��*
*8>,d4���pPĘPL�(YLfL
�r�2�r�
}::	x%t#4"P�L�(�L�L
�s�:�s!�u��7
&tC&dB&4A&:����PH��+	D�	��p`0PĘL(
L+L

0(!:`'p2`'�f� �� ��xJ��
���%	4of�
�p`PH� '6�p`0PH��,	4@8�
�p`P�L�(�L�L�s�>�~#.�~#.�~#.�~#.�~#
��T
��

4
rp8� �L(�L�L
D�PZPr0ĘL:(!L(L�r`Xf!T
4R�p`ĘPL*(YL`Lt@��04ND���
�p`P�L(�L.L0�~#.�~#R�r�4�r���r���rP4�r���Z�D�r�r�Z<�r�l�Z��t:�rPjhr��t��t�:�r�j�rP�hr��t��ta:�rPlt�~��L<~�
T�Ld�
bp
P�2h<d8V��z�v^xX��x�^�p�rh��y* |f"�$�&�"r(**L"<,T.�,4.z,\0B,""�@"!4lfp`PH� &4��PH��hd4�p42���p`8� L8Q%K%Lp�K-L�G~#d	4Rp8� LL(UL\L
�Y@Hf4rp8� xL(�L�L4s�<4s�6�#
* �(I!4nhp`P�L2(�tK�L���04�����
�p`P�L(LDL
�s�	:$Z�:�s�:�1A:�Z<�rPj�ZA<�r@l�Z@�� ,��Lt
~
��
���d�)	�prb
Q
@
d4rp8� �L(�L�LZ�6�#@.�bb�S�B�:�2�*x$h	 t d T 4 ���$d-4,(pĘL2(�LL�$mJt4
4,
(pĘ<L2(ELWL
�1`2$ZPn� �~(v(d	T42p8� �L(�Ls/K�#
d4r���
�p8� �L8Q%K�L�L�L�j#�dB8� �L(�L�cK�#04�����
�p`PĘ L2(�tK)L)1�.	dM4LF�pPĘXL"(aL�L
�s�2$Z�2�1�:�ZA<�Z��� ��n@Z
$X��d42p8� �L(�L�6K2�#B8� �L(�L�cKO�#2!d�!4�!����pPĘL�(�tKL���04dZ���
�p`PĘHL�(QLyL
�s�:$Z�:�1:�Z�<�ZP�� ��nze
F���B8� �L(�L�cK�#

4
rp8� �L(�L�L4s@<4s@6�?#
* |(x4
rp8�  L(	 L L�s`n04�����
�p`PĘ< L(E L� L&
�r�:�rz�s�2�s!��r!:�r!:�r!:�r�u�r�B�r�2�r�:�r���r!:�r�:�r���r�:�r�2�r!�r�B�QbX�"��P ��� P".$|"y�
�V ���P.��}
V&L
	2!di!4h!`���pPĘ@!L�(I!L�!L
�s�2�r:$Za:�1�:�Z�<�rPl�sP��Z`}� "
��2
6h
NL
bR
�n
b��B+	|�	��p`0P�!L�(��K�!L(�8�NLT
���B ��RRBPtQ.4;4p`P4��	p`Ę4"LR(="L��K�s�4�r�2�s@d	T42p8� l"L(u"Ls/K��#d42p8� �"L(�"L�6K��#B8� �"L(�"L�cK�#+Tq4ph���p`Ę�"L2(�tK�"L���2!dQ!4P!H���pPĘ(#L2(1#LY#L
�s:$ZA:�1�:�Z�<�ZP�� ��n�J
�V��B8� |#L(�#L�cK�#&	4.&�
�p`P�#L"(�#L�#L
�s�2�s�r�s�:�s!:�r�2�r@�x��Z
 <
�2!di!4h!`���pPĘ$L�(%$LT$L
�s:$Z!:�1�:�Z�<�rPl�ZP� ���2:
fUnb��B04�����
�p`P�$Lb(�$L�$LZ�2�r:�ra:�r�2�r��r�B�r�:�ra:�r� |~HHLT
��JJF�p�Zd42p8� %L(%%L�6K1�#B8� <%L(E%L�cKf�#04�����
�p`PĘt%L�(}%L�%L
�s�:�r�:�r�2�r�2�r�rB�r��� 
~ER 4�!@04bX���
�p`P�%L�(�%L$&L
�s�2$ZA:�1�:�Z�<�ZP�� i�nb
Jb��B8� L&L(U&L�cK~�#

4
rp8� p&L(y&L�&L4sp<4sp6��#
* dpF04tj���
�p`P�&LB(�&L�&L
�r�:�r�2�r�2�r��r�2�r�2�r��� r� ra2!d]!4\!T���pPĘ8'L�(A'Lp'L
�s�:$Z�:�1A:�Z<�rPl�ZP� ��n2:
tj
�Jfb��B04�|���
�p`P�'L�(�'L(LZ:�r�:�r�2�r�2�r��r:�r�2�r�E�r�:�r:�r���r�2�r�.�.aLZR
�eTV p=1 ^�,$8�@B8� \(L(e(L�cK��#4
�p8� �(L(-�K�(L* �F2!d_!4^!V���pP�(L�(��K�(L��n2:
rj
�JJx��B04�|���
�p`PĘ)L�(��K)L�.�FXX
�=LF pQ@B8� H)L(Q)L�cK��#t4
RP8� p)L(u9Ky)L�04pf���
�p`P�)L"(�)L�)L
�s�:$Z�:�1�:�ZA<�r@l�Z@� $���4<
tf
�f
n�
LpJ���@04�����
�p`PĘ,*LR(5*L�*LZ:�r�:�r�2�r�2�r�r�:�r�u�r�:�r:�r��rB�r���r�@�.�VVP
�-R <��n���h��I ^�,$8�@B8� �*L(�*L�cK��#,	4ZR�
�p`PĘ+L�(%+Lb+L
$ZA:�s�2�1:�Z�<�ra:�r���r��ZP�� ~�n�<
*$��b��84WL���
�p`P8� �+L(�+L�+LZA:�r�:�rA:�r�2�r���r�2�r�2�rA��r�:�r�2�rA>^.�JNR
�UjRNJ�UjRNJ�U^N� p�\ZJH�$	(�	��p`P0Ę`,L2(�?Ki,L
�8QJ"B8� �,L(�,L�cK��#"40*p`P�,LB(�,L�,L
�sP2$Zp2�1�f� ��0(2�B8� �,L(-L�cKف#B8� -L(!-L�cK��#d
T4rp8� D-L(M-Ld-L4s�<4s�6	�#.�#< h6 v04|r���
�p`P�-L�(�-L�-L
�s!:���z���:�r�:�r:�r�2�r���r�2�r�2�r��r�:�r�2�r.Y�QF
NN�	R�<tM4���4|1�@04bX���
�p`PĘ\.L�(e.L�.L
�s:$Z�:��:�1�:�Z�<�rPl�ZP� ���n2
6\
�r
b��@��p`0P8� �.L(L�.L
<.dDHB8� �.L(�.L�cK;�#04vl���
�p`PĘ,/LR(5/LC/L
�s`2�s�
!d%�@2!d]!4\!T���pPĘx/L�(�/L�/L
�s:$Z�:�1A:�Z<�rPl�ZP� ��n2:
^1nb��BB8� �/L(�/L�cK_�#(4��p`PĘ0LB(�tK0L���04* ���
�p`PĘH0L�(Q0L�0L
�1�:�sp2�rA:�r�j�r�r!��r��� ��A
4�
4�4�4xE&@��p`0P8� �0L(L�0L
<.�DHB8� �0L(�0L�cKk�#

4	
Rp8� 1L(1L!1L�#.��#.I#`d4
�p8� <1L(E1LX1L
�r@40��l0��\�

4
R	�p`8� x1L(�1L�1L
�s@4�Pf�#.��#.�#
�0
4Rp`P8� �1L(�1L�1L
��@�V$

4

Rp8� �1L(�1L2L�s@6p�#.��#.��#��
4

rpĘ,2L2(52LA2L�rP6:�#�lT4r�p`8� d2L(m2Lz2L�s�4X���

4
rp8� �2L(�2L&KX�`42�p`8� �2L8Q%K�2L�2L�2L�V�#�6&B8� �2L(�2L�2LJ�#�
tdT
4��
4
�pĘ43LR(=3LD3L�r��~04�����
�p`PĘt3L�(}3L�3Lط:�s!>��#���#.�#.�#.-�#*��Ab0(�20(`�.����fU~@T
4
R�p`8� �3L(�3L4L�#*0(P�xd4�p8� $4L(-4L:4L
�s`:X����'
/
��	��p`0PĘd4Lj(m4L�4L

`�:`��: ��2D�a:0(��t�Pm�
^M�td4
Rp8� �4L(�4L�4LA�#B2!d�!4�!����pP�4L(5LX5L
p�A:h�:�r�:�rA:�r�2�r�G	�� ��B�rA:�rA:�r��…#(�"j�JN
R	
8X�JJJ��>�B+	��	��p`0P�5L�(�5L�5L��#*G	�
��<U<r08� �5L(�5L5Kp�#.��#.��#42p8� 6L(	 L6L<t�4��P8� 46L(=6LC6L��#�	2
hdT
4	RpR����
p`08� �6L8Q%K�6L�6L�6L��#u��R����
p`08� �6L8Q%K�6L�6L�6L�Ԃ#���r���
�p`08� 7L8Q%K
7L7L7L���#��id
T4rp8� D7L(M7LT7L
��@|d
T4rp8� t7L(}7LT7L
��@d
T4rp8� �7L(�7LT7L
��@
dT4
r��p4Rp`P8� �7L(�7L�7Ld�@<d�@4sPN~7
&t5&d4&43&,����PĘ08LR	(98L�8L
p��:h�A:�s!:G	ar�r�:�r:�r�2�r��G	�	 ��B�r:�r:�r��͆#,�"�8��
JRR	�8X�JJJ��BELHP8� �8L(�8L�8Lg�#�6B8� 9L(9L�2L[�#d4��pP8� 49L(=9L`9LԈ#*0(P20(`20(p20(��#��4
hW�&N�'E�(<x)4h*,t_,d^,4],V����P�9LR(�9L�:L<
t��?:h�AG:G	! rG	��G	��G	5�����A%������A%������A%������A%���������A������A����	��A�	���
��A�
�����A� �A?B�r�:�r�:�r�#tH�"
����
�������������������	�� ��"(-$(-&(9((�*(,(1.(I0(-2(�4R6R8R:�8
4><�~+	��	��p`0PĘH;L�(Q;L^;L2�#*G	�
zA<U<4P8� �;L(�;L�;Ls�<s�rж`�,td��
�P����
p`08� �;L8Q%K�;L�;L�;L��#��ed
4	Rp8� <L(%<L�YKd�@B8� <<L(E<L�2LM�#3"t]"d\"4["V��PĘt<L�(}<L�<L
�s�:�:h��: �a:�r�2�r�2�r`Ή�#�"�jX
PP��6�+	��	��p`0P�<L�(�<L=L$�#*G	�
��<U<r08�  =L(�5L)=L����PB8� L=L(U=L�2L��#.	dn4mh�pP�=L2(�=L�=L
�:h��
:�sA: ��:�r�2�r�2�r`�ى#�"1jZ
RR��6�+	��	��p`0P�=L�(�<L>L
��<U<
d4����pPB8� <>L(E>L�2L��#
d4����pP8� l>L(u>L�>LŊ#.�#R0(P�0(`�0(p�0(�%0(��D2�
m
-��M<x4h,t/,d.,4-,&����P�>L(�>L�?L0
��>:h��<: ��2:�r�:�r�2�r�ַ�#�t�3Bh��::G	�rG	����!���!5������!5G	��G	5������!5 �A2B�r�:�r�2�r�޷�#TH�"���v��������� v�"v	$��&��(P*N,L.�,�(>0�")�PL
N�
�>�`+	��	��p`0PĘ @L�(�<L)@L
��<U<B8� H@L(Q@L�2L�#T4r�p`8� t@L(}@L�@L<�#*0(P20(`�b�#
�4�6/	�WtV4URP�@L�(�@L�@L
��:h��: �a:�r�2�r�2�r`Ή�#~dZR
R�
�6z+	��	��p`0PĘ<AL�(�<LEAL
�i<U<B8� dAL(mAL�2L��#.	df4e`�pP�AL�(�AL�AL
��:h��	:�sA: �A:�r�2�r�2�r`�ى#�"lZ
RR��6�04�����
�p`PĘBL�(�<L!BL
�
<U<r0H�8""t"d"4"�����PB8� lBL(uBL�2L
�#7
&ta&d`&4_&X����P�BL�(�BL�BL
�w:h��: ��:�r�2�r�2�rp�=�#�"��TN
N~
�6�+	��	��p`0PĘCL�(%CL�5L�#*G	��td�P
d4r���
�p8� hCL8Q%KuCL�CL}CL���#�d5�p0Ę�CLZ(�CL�CL@�Rd4�p8� �CL(�CL�CL>u�#�J)	t#d"4!PĘDL�(!DLBDL

�:�r�:�r`2�r�2�r��F*
(
�t4�P8� tDL(}DL�DL
�r�2�r�2�r@�JJ,B8� �DL(�DL�2L�#	4#�
�p`P8� �DL(�DLEL
�:�r�:�r:�r�2�r�
D���
n7
&t�&d�&4�&�����PĘ@ELR(IEL�EL�#.4�#^4�#���:h�
:G	�r �:�ra:�r�2�r���# ��	"
)<
�TPP��6vL
+	��	��p`0P�EL�(�<L�EL
��<U<r08� FL(�5L	FL�""�6"d5"44"0��P8� 0FL(9FL?FLҌ#4R�
�p`08� `FL8Q%KmFL|FLuFL���#�hL	��p`0P8� �FL(�FL�FL��#*0(p2�r!<0(���r�<0(�`'�:`'�n� -� d~v��
�l@E��t04�����
�p`PĘ,GL�(5GLNGL
`'�2`'�`pv� �� ��=�
��Xtd4
rp8� �GL(�GL�GL0(�2`�PF8�d�Pd
4	Rp8� �GL(�GL�GL�#.��#.�#.�#B8� �GL(HL�2L;�#2!d`!4_!X���pPĘ0HL�(9HLmHL
��:h��:�sAr ��:�r�2�r�2�r`Ή�#�"��jV
PP~�6�+	��	��p`0PĘ�HL�(�HL�5L�#*G	�B8� �HL(�HL�2Lڎ#.	dW4VP�pPĘILr(IL3IL

�rA	:�r�:�r�2�r�2�rAxL��
��:r�
��	p`P08� dIL(mIL*K{�#7
&t�&d�&4�&�����P�IL"(�IL	JL
�sa:���:h��*:G	arG	�:G	!
�G	�:G	A��s�B �:�rA:�r�2�rp�^�#.5i"<Y
 �
9b v�:�PNN��>]L-
�
��	��p`0PĘdJLR(mJL�JL|�#*G	�bG	a:G	���>y>�z��z�d	T42p8� �JL(�JLs/K��#+	��	��p`0PĘ�JL�(KL^;LS�#*G	�B8�  KL()KL�2L�#4XN���
�p`P8� TKL(]KL�KL
�rA:�r�2�r�2�r���r�:�r�2�r���rAB�r�2�rA:�r���r�2�r�2�rA2��F"��
N&�A����1�������B��
��	p`P08� LL(LL*K��#7
&t&d&4&�����PĘLLL�(ULL�LL
�s�:�
:h�:G	r �A:�r�2�r�2�r`�d�#}	"���
TNN��
<	LB4	Rp8� �LL(�LL�6K��#-
�
��	��p`0PĘ�LLR(ML�JL�#*G	�bG	a:G	�+	��	��p`0PĘDML�(MML^;Lʏ#*G	�3"t�"d�"4�"���PĘ�MLb(�ML�ML
t�:h�:��pj�sA:G	�� ��:�r�2�r�2�rp��#"�"���u*
�pTNN~�8�Dd4�pH�X
�	�p`P0H�X4�p8� 8NL(ANLRNL��#*�r`^|�#T0L@

208� lNL(uNL|NL�sp�T4��p`8� �NL(�NL�NLط�6ԑ#*�s��%	"�	��p`0PĘ�NL(�NL�NL
 ��20(`]�4&p`0ĘOL"(%OL1OL
�K`>� 
�$�J(4	2p8� POL(YOLeOL�#(6��#�b+	l�	��p`0P�OLZ(�OL=PL0
�s�:�r�vؒ#*��A:���:���:��!:���� �#��r`:�r�2�r�	�r`:�r���r�B�r�:�r`%�r`��s
B�s�:�r�t�r`2�r��rJ�.""�Rb8y(*"X. *"D U."$"�."$"�R&�(**"(�,.0:(�h(4h4��
p	`P8� �PL(�PL��K�G`
�p`0�PLZ(�PL�PL�r�2�r@x&�4�p8� QL(Y2KQL^&04�����
�p`PĘHQL�(QQL�QL*
�r�6��#*�������Ұ��:�r:�a:�s�:�r�2���r�2�>ӓ#*��P�rAB�r�r���K�BPI!:�r��� 2i6d>
$�&L��i
*b 0-"2
v$N&H(:&�$P*�@ ,d$4#���pPĘ@RL�(IRL]RL
�s!:�rAvY�#Ea4	6�R08� �RL(�RL�RLB�#,�rP6_�#.o�#&

8� �RL(�RL�RL�#�6d	T42p8� �RL(�RL�(K
�Gpd	T42p8� SL(~Ks/Kd	T42p8� 8SL(�6Ks/Kd140(���pP8� hSL(qSL�SLS�#*�r�:�r�2�H�:�rp2�r���rp2�r�6&�#�2�
.�:d140(���pP8� �SL(qSL�SL�2�
.�:d
T4rp8� TL(TL&TL
H@4�rp�04Rp`P8� DTL(MTL`TL�G@<�G@4sPNbd
4	Rp8� �TL(i�K�TLTJ&	45,�
�p`P�TLR(�TL�TL
�1�2�r@n� �$�`2 &	45,�
�p`PĘULR(�TL
UL�$�`2 

4
Rp8� 4UL(=ULDUL�I@Z.

4
Rp8� `UL(=ULiULZBB8� �UL(�UL�2L0�#4TJ���
�p`P8� �UL(�UL�UL
�r�:�r�2�rA:�r��r�2�rA��J"�!
&�
I�

4r����
p`P8� VL(mIL�YK7
&t&d&4&�����PĘTVL�(]VL�VL
�s:�A:h�:G	Ar ��:�r!:�r�2�r`�x�#�Y"���
TPP��
>	��d��
�P^^�T�O�D�9�4�/x+h	t4PJJ�A�<�7�2x+h	T4�
p`$4��
�p`PĘTWLr(]WLoWL��#*��2�����]�81
"t"d"T
"4"��H�@*d4p�WLR(�WL�WL
��� �L*4*"���
�p`PĘXL
(
XL(XL
��:t�!:���>� u0H<-���@1
#t+#d*#4(#"����PĘlXL(uXL�XL
`'A:�A: ��:��:���M� ����
$D��tL*4( ���
�p`P�XL�(�XLYL
�a:t�:��ae.HH��4&x"h480����
p	`PĘHYLR(QYL{YL
`':�!: ��:��:��M� ����
$R�
�tTd4
Rp8� �YL(�YL�YL
��@�,	�
��	��p`P004LD���
�p`PĘZL(ZL!ZL
`'�>� ��M�
d4r���
�p8� PZL8Q%K]ZL�LeZL��#>-�$(x%$h& 4V N����
p	`P�ZL2(�ZL�ZL
`'aF� 5)a�d
4rp8� �ZL8Q%K�ZL�ZL�ZL�Ζ#�6�
d4r���
�p8�  [L8Q%K-[L<[L5[L���#�^

d4����
�p8� h[L8Q%Ku[L�[L}[L���#�dR����
p`08� �[L8Q%K�[L�[L�[L�
�#���04PH���
�p`P�[L2(ZL\L���00�+x&h	!4!����p`P8� @\L(I\LU\L
`'�>� �-�5
$h" 4N F����
p	`P�\L(�\L�\L
`'�>� ����4r
��	�p`8� �\L8Q%KQ)K�\L%��4p
T4
R���p`r
0R�p`P0

4
r	�p`8� 8]L8Q%KE]LT]LM]L�I�#���d���
��p8� x]L8Q%K�]L�]L�]L���#���dT4p4p`P
4R���
�p`Pd
T4rp8� �]L(^LT7L
�@4r
��	�p`8� $^L8Q%K1^L@^L9^L�y�#!���p`P0B8� l^L(u^L�2L<�#B8� �^L(�^L�2LH�#	d
4�pP8� �^L(
�K�^L��/	tcdb4a^P�^L�(�^L*_L
�:h�: ��:�r�2�r�2�r`Ή�#|��VP
P~
�6z+	��	��p`0PĘh_L�(�<Lq_L
��<U<dBTA4@<��p8� �_L(
�K�_L���R/	�at`4_\P�_L�(�@L�_L~ nZR
R�
�6zt4�Pd4Rp8� ,`L(�4L6L7
&t&d&4&����PĘd`L�(m`L�`L
t�:h�� :G	
r�sA:���j��КG	!:G	� ��B�r�:�r�:�rA#0�"M8v
�
m�m5 ���PFF��>QL""�)"t("d'"4&"$P8� $aL(-aL3aL`�#�4

4
r	�p`8� TaL8Q%KE]LaaL���B8� |aL(�aL�2LU�#"42,p`P�aLR(�aL�aL
�1�2�rPn� �8*�2 
4r����p
`P8� �aL(bLbL{�#.��#�:��p`P0Ę0bLB(9bL@bL
`�P~.	dn4mh�pPĘlbL2(ubL�bL
�:h��
:G	ar ��:�r�2�r�2�r`΅�#�""$djX
PP��6-
�
��	��p`0PĘ�bLB(�bLcL��#*G	�bG	:G	���>y>�z��z�P8� DcL(McLScL+�#�4+	��	��p`0PĘ|cL�(MMLEAL4
Rp`PH�(,d%4$���
�pĘ�cL�8�cL�cL�cL��#.љ#.�#(0:�rA�cL��#����5B~

RP7
&�Y&tX&dW&4V&R��PĘHdL�(QdL]dL[�#2�rp
�0�"v�0�dLb(Y2K�dL�R+	��	��p`0P�dL�(�dL�dL
�r�:�rA:�r`�dy�:dyA	:�rA:���n� ��U.�L 
���2!42p8� $eL(-eL9eLP�`6[�#��p`08� PeL8]eLfeLweL
*@8@neL�a�#A���t

�	�`08� �eL8�eL�eL�eL

�(@:T�@08~� �eL�ؚ#�����
��
�p`08� �eL8�eL�eL
fLfL�a�#�
�&~�
�T4��p`8� 4fL(=fLNfLk�#(6��#.��#-bX�H�04�p8� |fL(�fL�fL�#��0H�`#d
T	4RpH� (	d4�pP�fL�(�fL�fL
 ��24�@	�dT
4R����pd	T42p8� 4gL(=gLDgL
H�``�!4��
�p`PĘlgLZ(ugL|gL
��
�vJ�~
dT
4	2��p8� �gL(�gL�gL
H��a!B8� �gLh�.K�gL>##t#d
#4#R����P++xh4�����p
`P'
d4����pPĘ<hLZ(EhLLhL
t����*h4����
�p`PĘ|hLR(�hL�hL
t�pEaB8� �hL(�hL�2L��#
4�����p
`P8� �hL(�hL�hLŊ#.i�#�P67
&t#&d"&4!&����PĘiL�(%iL~iL
�A:h�!:G	A	r�s�:G	a
:G	�G	�:G	!5 ��B�rA:�r�2�rp�^�#,�"�$�8
 �
18 ��iTPP��>L-
�
��	��p`0PĘ�iLB(�iLcL��#*G	�bG	:G	�t�4��P8� jL(jL#jLӛ#Y	2+	��	��p`0PĘPjL�(YjL^;L��#*G	�B8� xjL(�jL�2L��#d4Rp8� �jL(�4L*K/	��t�4��PĘ�jL�(�jLkL
�:h��:G	ArG	A� ��:�r�2�r�2�r`�Ϝ# �"f0B���
ZRR��
<<B8� HkL(QkL�2L�#4RH���
�p`P8� |kL(�kL�kL
�r�:�r:�r�2�r���r�2�r�2�r���������4���
p`P8� �kL(mIL�kLR/	�t�4��PĘlLB(!lLUlL
�:h�:G	Ar ��:�r�2�r�2�r`�Ϝ#�"!2��Z
RR��<<+	��	��p`0P�lL�(MML)@LB8� �lL(�lL�2L\�#04�����
�p`PĘ�lL�(�lL0mLط!:�sA>�#��#.#�#.6�#.I�#*��Ab0(�20(`�.����fx�@!!d�!4�!z���pP8� pmL(ymL�mL
�r�:�r�2�r�2�rA
�"�I�
4�����
p`P8� �mL(�mL
nL��#*�s�20(Aj0(@�0(P�0(`�0(pU0(��0(�50(�^|�T%
%�%X7
&t!&d &4&����PĘ\nL�(enL�nL
�s�
:�:h��:G		r�s!
: �a
:�rA:�r�2�rp�^�#��"i<
	PNN��>Q-
�
��	��p`0PĘ�nLB(�bL�nL��<y<=x��x�td�P+	��	��p`0PĘLoL�(MMLUoL
z�<U<r08� toL(�5L�LB8� �oL(�oL�2L7�#
4�����
p`P8� �oL(�oL�oL��#*0(�X�	\=
,tw,dv,4u,n����PĘpLb(pL�pL"
�sA1:L A2:G	�rh��?:G	�rG	:G	A�G	!:G	a�G	�BG	���s�1B ��1:�r:�r�2�rp�^�#:H����`y
<M	 �b �}b ����PNN ��>"�-
�
��	��p`0P�pLB(�pL�nL�#*G	�bG	:G	�td��
�P+	��	��p`0PĘPqL�(YqLUoL�#*G	�B8� xqL(�qL�2L�#.	d�4���pPĘ�qL�(�qL�qL
�A:h��:G	�r�sA: ��:�r�2�r�2�r`��#�"a2�i�
ZRR��
<:+	��	��p`0PĘ8rL�(�<LArL
��<U<T4��p`8� lrL(urL�rLط�2�s�A##	��p`0PĘ�rL(�NL�rL���4'

��	��p`0P�rL�(�rLsL

`��2`'�2`'�f� �� xLj6M�
�d	T42p8� 4sL(=sLCsL;�#�*$B8� \sL(esL�2L��#R08� |sL(�sL�sL��P&r3"t�"d�"4�"���P�sL(�sLtL
�[A:h�:G	�v�#,�s� ��:�r!:�rp2�r�ֽ�#"�"I2�Z
Q��PNN��<�D+	��	��p`0PĘPtL�(YtL^;Ld�#*G	�#
��p`0�tL�8�tL�tL�tL
�b8@�tL�eN��#�N*�td4�����P&	4]T
��	�p`�tL�8	uL@uLQuL��#*�s�20��:��r �A:`�!:0(p0
`��pHuL��#�@B�
�q9�

�+
+�����p
`0P8� �uL(�uL�uL
0(�20(aXr0(��0(�20(�0(�:0(p�0(�:0(��0(B0(`"F���=N�r
�Er��he�h�08� vL(%vL�,K
@t@2ԓ�d
4	Rp8� LvL(��KUvL~�

4	
Rp8� pvL(yvL�vL��@6r9#�7
&t;&d:&48&2����P�vL�(�vL wL
���:�rAv֫#*t��t�:�r�:�r!:�r:�r�2�rp�tp�hr��t�:hr�j�rA8��,F4
>4�0.6�A6��Y&�r*��I�L

4	
Rp8� twL(}wL�wL��#.��#.ϥ#vhf,hV4���
��	p`�wLS8�wLuxL�xL<�#(
�r:�r�8��rz�r:�r�:��
8
�r�:��
:��a	>q�#*���2��A	���A	��A	F��#*��a���#�0�A
:�r�	Q��r�	%	�r�	��	�r�	
� �


�xL..0�xL02�xL446�xL8:�xL({N��#=({N֧#95({NI�#�5({NA��#�5�eN���#F��P8
}���Ha�5�V^"�$�&h($5*�$a,z.�,�<0):6y�V$.JJRpP08� LyL)VyLfyL�
��a:�rBZJRpP08� �yL)�yLfyL�
��a:�r�	

b	p`P08� �yL9�yL�yL�yL�

��a:�r�	�yL({N!��#�^RpP08� zL)�yLzL�BTJ5
$h@ 4� �����
p	`PĘHzL�(QzL�zL�#*t�:��!>,�#*�����#�0�A:�ra:��:�r�:ph
�:�r�� *��\�R
�N�Je�t����|�JR'
%
��	��p`0P�zL({L2{L}�#*�r�:,�P2�r�:�r!��s������@,
a:h64�p`PĘd{LR(=3Lm{Lb5�1
#t##d"#4!#����P�{L�(�{L�{L
,��2���:�����R��\4Rp`P8� �{L(�{L�1L
 �@

208� |L(|L|LTt`X42p8� 4|L(|L=|L�&	�
���`0PĘd|L�(m|L�|L��p2�!:���:�f*4)���
�p`P�|L�(�|L�|L���2�:��:�Ai<�~�vR'

��	��p`0PĘ}L�(}L'}L
�A:��p��jR,d4���pPĘX}L�(a}Ln}L
��2�bP�z�|FF*4'���
�p`P�}L�(�}L�}L

��a:��:���2�r�:��@�aD
��~Jd4
Rp8� �}L(~L�YL
8�@&	4�
�p`PĘ,~L�(5~L<~L
���8�|4�p8� \~L(e~L�cK��#4Rp8� �~L(�~L�~L��#�4��p`8� �~L8�~L�~L�~L

T,P08N� .� �~L�ؚ#�
Xf�F
�4��p`8� L8
L!L2L

�(P:T�P08~� )L�ؚ#i
�V�
�4	2
p`P8� XL(aLlL�#.?�#�jd42p8� �L(�L�L�%`:��0H�P

4
�p8� �L(�L�L
�r�2�r@8$ 5
$h 4> 4����
p	`P�L�(�L\�LtA:�r!:�r!:�r�:8�a:�r�r�r�:�r�2�r�
�
1
�(6�(6��J
6
%h!dC!4B!:���
pPĘ��L�(��LՀL
W�#*�1:8�:�rA�� �J���4�
&L
d4����
�p8� �L8�L3�LD�L
�(�:T��2*p`h�� ;�L�w�#��rU1��

4
�p8� l�L(u�L|�L��@�lR����
p`08� ��L8Q%K��L�[L��L��#R����
p`08� ؁L8Q%K�L�[L�L�ӡ#d	T42p8� �L(�L�(K
P�pr����
p`08� <�L8Q%KI�LX�LQ�L���#��a)	d*T)4(&pH� '	T+4*&�p`H� 4�p8� ��L(��LǂL^�#�

4
�p8� �L(u�L�L�f
4
�	�p`Ę�LR(�L�L
�p��d
4	Rp8� <�L(E�LX�L��@<��@4�rPNN24R���p`8� |�L8Q%K��L��L��L���#%�L4r
��	�p`8� ��L8Q%KɃL`)KуL��#d4r�
�p8� �L8Q%K�L�L	�L�ۢ#�H�R�
�p`08� 0�L8Q%K=�L��KE�L�;�#R�
�p`08� d�L8Q%Kq�L��Ly�L�|�#	lLd
T4rp8� ��L(��LT7L
p�@d
4	Rp8� ̄L(i�KՄLNDd
4	Rp8� �L(��LՄLd�@<d�@d
4	Rp8� $�L(-�LՄL�@<�@r����
p`08� X�L8Q%Ke�Lt�Lm�L�K�#��)

4
R	�p`8� ��L(i�K��K
tdT4��8� ąL(ͅL�UK
��@d
T4rp8� �L(��LT7L
��@dT4�p8� �L(%�L,�L
��@� ��	��p`0PĘP�Lj(Y�L`�L
��
�vV�~!4��
�p`P��LZ(��L��L
���dx%	�	��p`0PĘȆL�(цLކL
��2��p�r� �h

4
�p8� �L(}�K	�L>�B8�  �L()�L�2L�#	4"�
�p`P8� P�L(ymLY�L�*�2!d�!4�!����pPĘ��L�(��LЇL
�sa:�:h�A:G	�r �:�r�2�r�2�r`�Ϝ#�"<F	
XPP��
<�B+	��	��p`0PĘ�L�(�L^;Lʬ#*G	�B8� <�L(E�L�2L;�#.	d^4]X�pPĘp�L�(y�L��L
�:h��:�s�: �a:�r�2�r�2�r`Ή�#�"�jZ
RR��6�+	��	��p`0P�L�(�<L�L
�<U<h�0B8� �L(%�L�2L��#T4r�p`8� H�L(Q�L*K<�#/	�t�4��PĘ|�L"(��L��L
�;�:h��:G	Ar �a:�r�2�r�2�r`�Ϝ#�"��P�Z
RR��6�<+	��	��p`0P��L�(�L^;LG�#*G	�2P8� (�L(1�L7�Lp�#6B8� P�L(Y�L�2L�#4���
p`P8� |�L(mILI6K3"tX"4W"P���
�P��Lr
(��L�L
R�:G	!rh��: �a:�r�:�r!:�r���#,�*�BPBeP�jV
JJz�6�D+	��	��p`0PĘH�L�(Q�L^;Lʭ#*G	�B8� p�L(y�L�2L#�#4Rp8� ��L(��L��LA�#*0(P4���p`0PĘ̋LJ(ՋL�L
`�`20(P
v2P��/	�t�4��P�L�(�LQ�L
�:h�:G	Ar ��:�r�2�r�2�r`�Ϝ#�"	2��Z
RR��<�<�p0Ę��Lj(��L��LPv`�R"p0PĘ��L�(��LŌL�Vp`P0H�p"	��p`P0H��&

��	��p`P0H���p0H�`<p`08� L�L(U�Lf�LD�@6��#.î#Ed4
�p8� ��L(��L��L
,����

4	
Rp8� ��L(��L��L
,���B4�
p`P8� �L(�L��L0(�:hv�db�8�p`P08� �L(%�L;�LD�`6k�#.~�#.��#1nt	4@8�
�p`P8� d�L(m�L��L
0(p4D�`6k�#.~�#.��#��
24p8� ��L(��L��L
,��!~4
p`P8� �L(�L��L0(�:hv�tA�4IB	�p`8� �L(%�LA�L
D��6�#.��#.�#*Pv�]�l
N
p0H��	d%4"�pP8� ��L(��L��Ld�#.c�#^c�#N�B8� ��L(��L�2L��#/	�YtX4WTP�L�(�@L�L~�dZR
R�
�6z+	��	��p`0PĘ,�L�(�<L�5LB8� H�L(Q�L�2L��#3"t�"d�"4�"���PĘ��Lb(��LĐL
:h��
:G	a:G	A� ��:�r�2�r�2�r`�Ϝ# �"dB|�
XPP��
<�D�0�td4P8� �L(�L0�L
�r�2�r`2�s@�*P�&d4��pPH�x*4���
�p`PH��R0��L*(��L��L
@R*T4�p8� ��L(őL�fLׯ#&	4�
�p`PĘ�L�(цL��L�~v�rRp0Ę �Lr()�L0�L(`�Xd4
�p8� P�L(Y�Le�L(�6$�#�:d)	�t4P��L�(��L��L

���2���2$#�2�r!:�r`��\R�R�
�LB,d&4%���pP��L�(�LB�L
$#�:�r:�rp���:�rp2�r������r!:�r"���r�el��L*:(
:4�p8� |�L(��L��L
(�N�&	4�
�p`P��L�(��L�L
�ra:�rpj�r�2�rpb�r�2�rp r�|R�,`
"
�<
�Rp`08� �L(mBK%�Lb�
4
�pĘD�LZ(M�LT�Lhv@�`!��p`0H��R08� ��L(��L��L�#.�#zL

4

Rp8� ��L(�GL��L
�0<0�4	�pP8� �L(�L�L
�rA:�rP2�r�L�.�
4����
�p`P8� 0�L(9�L��L ���62�#.B�#.U�#.h�#.{�#.��#.��#.��#.DZ#.ڱ#.�#.�#V� z�r`2�r� d&F
 \	ZHlD M�Ftd
4��8� ЕL8ݕL�L�L_�#81�K@b'	D��
��p`0Ę�L8%�L��LŖL*
��a:hv�jhv�08B�r�:�rA:�r�:�rA:�rA:�r�:�r�2�r���r�%�r��r��r���r���r���r�B�ra��L�eNA��#*}��^<&,00:*4](P*<(p5�z'	490��
��`�L{8%�LK�Lt�L
hvp2���:hv`hp����r:�rAZ�L

g�L�eN���#�eN�,�# Q���|N�8,0,
B�V�08� ��L(Y2K��L��d4�p8� ЗL8ݗL�L��L
PvAH�L�Y�#��J"4,&	�p`Ę �L#8-�LI�L]�L
�r�2�rpj��!:hv`hp
Q�L�eN���#z&*��M|V


4
2p8� ��Lh�.K��L^d4��
�p8� ��L8��LƘLژL�r`ΘL�eN�|�#�� �

4
�p8� ��L()�K�L~�*>(	d4�pPĘ0�L�(9�L@�L
������d42p8� `�Lh�.K��K42p8� ��L(uNLD�KR
p`08� ��L(��L��L�s�6�#��T4��p`8� ؙL(�L�L
�s@2hv���T4R�p`8� �L(�L)�L��#20(�\J��d4
rp8� L�L(U�L6L��#T4R�p`8� x�L(��L��L0�#20(�\J��T4R�p`8� ��L(��L)�L�#20(�4Rp8� �L(�L�gL�s�d
4
rp8� �L(�L�L�s�6г#Rjd
4
rp8� <�L(�LE�LRld4��pP8� h�L(q�L��Lp-#*�r�2�rP�T4�,d4���pPĘ��L�(��L՛Ll�#,`��2�r�2�rp
��4��4	2p8� ��L(�L
�LͰ#(6��#�fd	42p8� ,�Lh�.K��Kr���
�p`08� T�L8Q%Ka�Lp�Li�L�|�#���dT4�p8� ��L(��L,�L
��@d4�p8� ��L(ŜL̜L
hv@�MJB8� �L(�L�2L�#.	d�4���pP�L�(!�LV�L
��:h�:�s�: �A:�r!:�r�2�r�ַ�#�"��V
PR��>�B8� ��L(��L�2L,�#2!d`!4_!X���pP��L�(��L�L
�w:h��: ��:�r:�r�2�rp�^�#�"m�PN
N|
�8�B8� �L(!�L�2L8�#7
&t�&d�&4�&�����PĘT�L�(]�L��L
�r�:�r:�r�2�r���r:�r�:�r:�r�u�r�B�r:�r�:�r"��HPP��
JJ v�DF r!4Rp8� �L(��L��L4��7
&t�&d�&4�&~����PĘ(�L�(1�Ls�L
��:h��':�sA:G	�
rG	�� �:�r�2�r�2�r`�t�#"t:"��<
�YTNN��BLd
T	4Rp8� ��L(
�K��K
4����
�p`P

4
r	�p`8� �L8Q%K�L�L	�L�L�#�@�M?�9�4�/�*�%�	 �
xt4PH�8;,�'�"�x4�����
p	`PĘ��L2(��L��LҶ#1

4
r	�p`8� ��L8Q%K��L�LɠL�|�#T4r�p`8� �L(��L��L��#`2!d~!4}!v���pPĘ(�L�(1�L\�L
�r�2�r`j�r�2�r�2�r`��r`2�r� �9FP��Z
��V��q
SE�=�8�3�.x*h&tC&dB&4@&:����PĘġLb(͡L�L
`'�:`'A:`':PkA:t��>� � �� ]� �}8��
u����p�A3�.x*h&t=&d<&4:&4����PĘ`�Lj(i�L��L
`'�:`'a:`'!:Pka:t�>� � �� ]� ��>��

�����pj
d4r���
�p8� �L8Q%K]ZL�L�dM
xh4�p`P
d4����
�p8� 4�L8Q%KA�LP�LI�L���#�d�4r
��	�p`8� x�L8Q%K1^L��L!��4r
��	�p`8� ��L8Q%K��L��L��L���#4p`B8� �L(�L�2L��#2!d�!4�!����pP�L�(%�L\�L
�:h�A:G	�r ��:�r�:�r!:�r���#0�"14��v�v�v�v�v�R
HH��<�BB8� ��L(��L�2L(�#.	d^4]X�pPĘؤL�(�L�L
�:h�:�s�: �a:�r�2�r�2�r`Ή�#|�d\
TT��6�2P8� @�L(1�LI�L6B8� `�L(i�L�2L]�#7
&t&d&4&����P��L�(��L�L
��:h�A:G	�r�sA��r�� ��:�r�:�r�2�r`ց�#&�N"�B���JRR��<�`4
>+	��	��p`0PĘ8�L�(A�L^;L4�#*G	�B8� `�L(i�L�2L��#.	d\4[V�pPĘ��L�(�L��L|^dZ
RR��6�B8� ĦL(ͦL�2L��#2!dv!4u!n���pPĘ��Lb(�LB�L^�#.��#^��#��A:h�A: ��:�r:�r�2�rp�^�#~>�I"
vTPP~�8�B8� t�L(}�L�2L�#d
T4
rp8� ��L(��L��L�#*0(P^z�#��6;*h�&t�&d�&4�&�����P��L�
(�LΨL:
�s!:�r�:�r�2�r:�r�%�r�	B�r:�r���r�
B�r:�r�2�r�E�rB�r:�r�:�r�r	B�r:�r�u�Bh�":G	�:G	�:G	a
r ��:�r
:�r:�r��Z�#R��x�N 
~�JF x� x�RR0 z)�$\&�$A"(�*(,@.	0V.2l4`6`8�6
2B:�V&+	��	��p`0PĘP�L�(�<LY�L
�
<U<
d4r���pP8� ��L(��L��LԈ#*0(`^��#�0(��4}�2!d�!4�!����pPĘ�Lb(�L$�L
t�:h��:G	Ar��p� ��:�r�:�r�2�rpַ�#(�"
4����v���
TPP��
>�B.	d�4���pPĘt�Lb(}�L��L
t�:h��:G	Ar��p� ��:�r�2�r�2�rpη�# �"	2����
XPP��
>�:B8� �L(��L�2L�#
4�����p
`P8� �L(%�L6�L��#*0(�^��#�6P6/	�etd4c`PĘd�L�(m�L��L
��:h��: �a:�r�2�r�2�r`Ή�#~dZR
R�
�6�-
�
��	��p`0PĘثLB(�bL�L��<y<]x��x�B8� �L(�L�2LR�#.	d�4���pPĘD�L�(�LM�L�"a2��V
PP��<�:""t�"d�"4�"���P8� ��L(��L��L(�#!2B8� ��L(��L�2L^�#.	dr4ql�pP�LR(��L7�L
��:h�A:�sA:G	rG	!� �A:�r�2�r�2�r`�ى# �"�n$
tjZRR��6UpB8� l�L(u�L�2L��#/	�t�4��PĘ��L�(��LݭL
�:h�A:G	Ar ��:�r�2�r�2�r`�Ϝ#�"!2��Z
RR��<�<B8� �L(�L�2L��#/	�YtX4WTPĘ@�L�(�@LI�L~5dZR
R�
�6zB8� t�L(}�L�2L��#.	d^4]X�pP��L�(��L�L
�A:h�A:�s: ��:�r!:�r�2�r`�x�#�	dV
RR~�8�+	��	��p`0PĘ$�L�(�<L-�L
��<U<

4
�p8� P�L(Y�L`�L
X�`Mt4�P8� |�L(��L��L�#6�#^�#�<v,v,*4)���
�p`PĘ̯L�(կLݯL
�!a5
R,d140(���pP�L2(�L!�L
G	�e	`*
T4����p`ĘP�LJ(Y�L`�L
�`�!*4%���
�p`P��L�(��L��L
����R%4���p
`PĘаLJ(Y�LٰL�mi
40
,pĘ�LR(�aL	�L�8LV($d140,pĘ8�LR(�aLA�L�(�LJ(.	d=4<6�pPĘt�L�(}�L��L

�1�:�r@jG	�2�r@�� �6*TT� T�6J>
&
4����
�p`P4R�
�p`P

4	
Rp8� ��L(�L�4K*�##'
���p`0Ę,�L#89�LU�Lj�L��#*�r!8
 ��:�r��
]�L�5N*(#)	��Z�
"�6'	d��
��p`0��L8��L!�LJ�L(
 ��:�r�	:�r�:�rA	��rA	:��A
:�r�: �!�
 ��
:�!>j�#b�r! �A:�!>j�#b�r�0�L$&=�L�5N�#=!�5N�#�+:�J�
�����\Z^�Fb"=\Z ^"�$F"b&""��
�2�p`P0d
T4rp8� ��L(ųLT7L
�@

208� ܳL(�L�L�`&,
4

RpĘ�L*(}�K�L�l4�pĘ4�LR(=3L=�Lp8�0

4

rp8� `�L(i�Lv�L
��`2��@$�42p8� ��L()~K��L.b

4

Rp8� ��L(��LȴL��#.I#�00d4
Rp8� �L(�L�YL
��@d4
Rp8� �L(�L*�L�#40�@6��#x�84Rp`P8� L�L(U�L�%K
��@42p8� p�L(y�L��L
��`6̻#.߻#.�#.�#*<(((�
04�����
�p`PĘ̵L*(յL��L���#*�r�	:�s�:�r:�s�:�r�5�rB�r�>Ǽ#*��5�ra��r!5�r	F�#*��au�r�B�r�:�rA:�r�2�rP2�r�2�ra:�r�:�r!:�r���r�:�rP��raB�r�2�rP2�r!e�r�B�ra:�r�2�r!:�rPe�r���r�e	�r��	�r!B�r!:�r�2�r�2�rP2�rA��rA�rA��rAB�r�2�r�:�ra:�r!:�r���r�B�r�:�r�:�rA:�r�2�rК�rA:tAtAB�r�2�r�:�r�U�rP��r!B�r�:�r�:�r�2�rPU�r�B�r�:�r�2�rP2�ra:�ra:�r�E	�r�:�rP2�ra:�ra:�r�U�raB�ra:�r���r!B�ra:�r�e�r�B�rA:�r�:�rA:�r�:�rA:�r�:�rA:�r�e�rAB�r�:�rA��raE��a��r����8b8
\8d�i�,"~"�X�=$4&6((*:,,.@0<2�$>&*486"4�$>&*4:6"4�$>&*4:6"4�$@&*4,6"4�$@&*4,6"4�$D&*8*:,<P>%$:&(@*B,D>F<H�$@&<(�$�JP"rLN"pNp"�P|RDT*V*X`dbn`:b.d*f(h$jjh�`>bN`Nb.d*f(h$jjhm`.b<d(f$h(jNh`"R�r<t�rht�rNt�r`t*v�t�r*t*v�rbx�|B~&�*��|�r�t*�:t|r*t:��r*t:��r*t:��r(�*�:�^r(�*�:�r*t:�~r(t(�(�*�*�:�=r �*�*�(�(�*�:��r �*�*�(�(�*�:��r �*�*�(�(�*�:��r*�(�(�*�:��r�t*�:t|r*t:��r*t:��r*t:��r*t:��r*t:��r*t:��r*t:��r$�|�*� ��P8�8�.�.�&�.�&�.� ąP.�.� �tP(�NP��Pb�JP�4,d-4*$���pPĘкL(ٺL�L
G	:�F	A:G	`����	�<F-
e
��	��p`0PĘ0�L(9�Lg�L�#*`�	:�r!:���:�r�:�r�vY�#�\NNL
��
�\
,-4�p8� ��L(Y2K��L�&

4
�p8� ��L(�LŻL0"

4
�p8� �L(�L�L0&4r��p
`P8� �L(�L�L�#�4
Rp`P8� 8�L(�%KA�L�V$d	T42p8� d�L(m�Lt�L
��p�\$d42p8� ��L(��L�6Kl�#d
T4
rp8� �)KR�
�p`08� ؼL8Q%K�L�L�L��#�n�d
T4rp8� �L(!�LT7L
�@

208� 8�L(�LA�L&\

208� X�L(�La�L&

208� x�L(�L��L&

208� ��L(�L��L&<

208� ��L(�L��L&�(	d!4 �pPĘ�L�(��L#�L�r<o�:�r�2�r�߽#.	�#�	�#�$nFB
0`d4
�p42p8� X�L(~K��L42p8� x�L(��L��L��#42p8� ��L(��L��L��#(	d342,�pPĘоLR(�aLپL�8012 

208� ��L(�L�L&Ld	42p8� $�L(-�L9�L��`6S�#4L:-
i
��	��p`0PĘd�L2(m�L��LB�#*�s!:`��	:���:�r�:�r:�rvY�#��TAB
L���N2
�24I>���
�p`P8� �L(�L��L,Ծ#*�rA:�s:�r�2�sA:�r�:�s�:�rA:�s�:�r�:�s:�rA:�sA:�r���r�:�r�:�rA:�r�:�rA:�r�6�#*��pzA�fP*F(F0�R*�,�(4�p`Pd	T42p8� �L(�Ls/K6�#d42p8� �L(��L�6K�#!!d?!4>!6���pP8� (�L(1�L��L��#*�rA:�rP2�H�:�r�:�r�2�H�:�r!:�r���r�B�r�2�r!:�r�6~�#� � 
� �@dT
4	Rp8� ��L(�L�L�x#
4,
(p�L2(�?K��L
�$�J(&	480�
�p`PĘ$�Lr(-�LE�L
�1�2�r@b�r��� �6*LT��h2 %h4.*pĘ|�L2(�?K��L
�RUJ(42�p`8� ��L8Q%K�2LD{K#d4��pP��LZ(��L��Ls�#*PI��\2�p`0P8� �L(�LG�LQ�#*�r:�s�2�rP2�s���rP6'�#d$($&
F@&
&t=&d<&4;&4����P8� ��L(��L��L$��#*�r�2�sA:�r`��r`6w�#5�raB�r�<�rP2�r�2�rA:�r��r�:�rA:�r�<�sPu�rAD�sP"�,N,BB
�2(4( � *"�$04�����
�p`PĘL�L"(U�L/�L�f�#*�r:�r�:�r:�r�:�r:�r:�r�:�r�:�r:�r�:�r�l�r@2�r!��r!:�s�<�r@2�r���r�:�s
<�r@2�r!��r!:�sA
<�r@2�r���r�:�s�
<�r@2�r!��r!:�s�
<�r@2�r�:�r!��r�:�r!:�s<�r@2�r�:�r!��r�:�r!:�sA<�r@2�r�r�2�s�<�r@2�r���r�:�s�<�r@2�r!��r!:�s:�r�%�r�B�r!:�r�:�r!:�r�:�r!:�r�:�r!:�r�2�r�:�r!:�r�>9�#T�Z�%��&.. \"(&.(\*(..0\2(6.8\:(>.@\B(D(J.L\N(P(V.X\Z*^.`\b.f.hLj.n*p.r&�Z�:�)4!p`P8� ��L(��L��L
�rA:�r�2�r�2�r`
^(((*4%p`P8� ��L(��L�L

�r�:�rP2�rA:�r�2�r�^,,(**
4P8� @�L(�LI�LN*(*�p`0P8� l�L(u�L��L
�rA:�r�:�rP2�rA:�r�:�r�2�rA:�r�f*0,(,
,,,04�v���
�p`P��L�(��L
�LT�#*�r�2�r�:�HA:�r�2�r:�HA	:�r�:�r�:�HA
:�r�:�r:�HA:�r:�rp2�HA:�r�:�r:�r�:�rA
��r�:�r:�r�:�r�:�r�:�r:�r:�rp2�r�:�r:�r�>��#�
���BPIAuPIAB�r�2�r�2�H���rp2�r�2�r�2�H�F� � 
�P�.��� 2"($�@H>� B�F8H:J�LNPP�T%NPP�T%NJP�T�F*NJP�T)04|r���
�p`P��L�(��L��L�J�#*PI�-:�r�:�r�:�HA:�r:�r:�HA:�r�2�r�:�HA:�r:�r:�HA:�r�:�r�:�HA:�r:�r:�HA:�r�:�r�:�HA:�r:�r:�HA:�r�:�r�:�HA:�r:�r:�HA :�r�:�r�:�HA!:�r:�r:�HA":�r�:�r�:�HA#:�r:�r	:�HA$:�r�:�r�	:�HA%:�r:�r
:�HA&:�r�:�r�
:�HA':�r:�r:�HA(:�r�:�r�:�HA):�r:�r:�HA*:�r�
:�r�:�HA+:�r
:�rp��rB�r:�r�2�r�:�r:�r:�r�:�r�:�r:�r:�r�:�r�:�r:�r:�r�:�r�:�r:�r:�r�:�r�:�r:�r:�r�:�r�:�r:�r	:�r�:�r�	:�r:�r
:�r�:�r�
:�r:�r:�r�:�r�:�r:�r:�r�
:�r�:�r
:�rp6�#b�Pj�
X�X�X�`�"f$�(\*�.f0�4f6�:f<�@hB�FZH�LZN�R\T�X\Z�^j`�dbf�jbl�pdr�vdx�|b~�f���>�q>d	T42p8� �L(�Ls/KN�#2!d�!4�!����pPĘD�Lz(M�L��LdJ�#*PI�:�r�
:�r�2�H:�r�	:�r�2�H:�ra	:�ra:�H
:�r�:�r�:�H:�ra:�ra:�H:�r�:�r�:�H:�ra:�ra:�H:�r�:�r�:�H:�ra:�ra:�H:�r�:�rp�r�	B�r�2�ra	:�ra:�r�:�r�:�ra:�ra:�r�:�r�:�ra:�ra:�r�:�r�:�ra:�ra:�r�:�rp6�#2�Pl�
\�Z�h�^�"\$�(^*�.^0�4\6�:h<dDb��+	P�	��p`0P�Lr(	�L��Lr
�r�:�r�:�rA:��A���A5��AB�rA:�rA:�������E���B��A:�r�:�rA:���2��A:���2��`��`u��AB��A	e��A	B��A:��`2���2��A:���2���:���:��A:�������B���:��A:���:���2��A:���2��`����B��A	:���:��A5��AB����
��AB���:��A:���:���:��A:���:���2��A:������:��`����QL�(@X<Z2XQ2(8P$R*T<V2T�*(�,*.@0 2(446.8&:,<*>,<�<&2� *"*$b"0\6^6` b4d6f"h2j"ln*l
64 "" $*"|:@B(D2F H@J"L<N2La%8p r*p��&	4 �
�p`PĘX�L�(a�L��L
�r@:�r�:�r:�r@2�r���r�2�r���("(
�( (�3	��p`0P8� ��L(��L�L
�r�2�rP2�rA:�r�:�rA:�r�:�rA:�rA:�r�:�r��*.(
(**,,"�p`0P8� @�L(I�Lq�L
�r�2�rP2�rA:�r�:�rA:�r�
.(,
,%	,�	��p`0P��LR(�TL��L�$�`2 %	,�	��p`0P��LR(�TL��L�$�`2 ����
p`08� �L8Q%K)�L8�L1�L�}�#���""r����p`08� `�L8mLm�L��L��L��L
��L�¿#�P�#���#���E�
2pP08� ��L9�L��L�L���L��#BP08� ��L9�L��L%L��L��#

4
Rp8� $�L(=UL-�LZ>-
k
��	��p`0PĘX�LB(a�L��LB�#*�sa:`��	:��:�r�:�rA:�rvj�#�..AB
L���V2
�24OD���
�p`P8� ��L(��L��L2��#*�r�:�s�:�rA:�s�:�rA:�s:�r�:�sA:�rA:�s�:�r�:�s�:�r�2�s:�r�u�rAB�rA:�r�:�rA:�r�:�r�2�r�6��#*��pzA~rP0F(F0�� R0�2q.dT���pd42p8� ��L(��L�6K��#

208� ��L(�L�L&42p8�  �L()�L/�LV�#-42p8� L�L(U�Lk�L0�`6r�#.��#.��#
*L42p8� ��L(��L��L�`6��#*<(�	��p`0P��Lj(��L��L
 �p2 ��
n�<8|T4��p`04�����
�p`PĘ(�L�(1�Li�LZk�#*�r
:�sA:�r:�s�:�r:�s�:�r�:�s:�r�:�sA:�r:�s�:�r���rB�r:�r�:�r�:�r:�r�>��#*��Au	�rF	�#*����
�r�F6�#*��!��ru�r���r
Fo�#*���5�r�
F��#*���u�r�B���e���B�rz�r���r���r�%�sB��an�=��f6L(^6^6R*�,i(�.R0�2i.�4R6�8i4�6:"�<"�>R@�Bi>�6DRF�HiD�JbNlPLN�R"N�T"NnTFNnRFN�VZNX�Z X�,d!4���pP�L�(�L�L
�!a!|-
o
��	��p`0PĘH�Lb(Q�L��L��#,�r�:`��<�s�j�r:���:�r�:�r>&�#���N 4>
\@T�P2u
4
�pH�ptd4�����P	�0��Lr(��L�L
G	@FL|R����
p`08� $�L8Q%K1�L@�L9�L��#���,d140(���pPĘp�L2(y�L��L
G	�:��:�F	�
��5]�

208� ��L(�L��L&l

208� ��L(�L��L&�04xn���
�p`P�Lb(
�L@�L
,�`2dy�:���:�r�2�r�� ��r�m� t�96�����^*F
04TJ���
�p`P��LB(��L��L�r�2,��2�r�2P��:P�:P�`jP�A:P�`jph
�: �:�T�-� ��
���*E����D
T4r���p`8�  �L()�L0�L�s@
�

t4tdT4���dT4
2����p4��
�p`P//hd
4Rp
d
T	42��p/ hdT4r����pH� BH�4qf���
�p`P8� �L(!�L-�LN��#*�rA:�sA
:�r�:�s�
:�rA:�s�
:�r�:�s:�rA:�sA:�r�2�s�:�r�2�s�:�r`2�s:�r�:�sA:�r!%�r�B�rA:�r�:�rA:�r�2�r�2�r`2�r�:�r!>��#��r!
����
�r�B�����r�	B�r<�sP��rD�sP2t�������� X"�$l(N<H:U>�@�BDY>F2H�J}LNN|L4)���
�p`P8� ��L(��L��L��#*�r!>��#*��P��r�:�s!:�r���r�6��#*���t�L�u�*
�J�},d!4���pP�L�(�L�L9�|-
g
��	��p`0PĘH�L"(Q�L��LD�#*`�A	:�r�:���:�r�:�ra:�rv&�#�\N�8
L���P2
�

4
�p8� ��L(�L��L2&d42p8� ��L(��L�6K'�#

4
2p8� �L(	�L�L��`*<&	4�
�p`PĘ<�L�(E�LL�L
��X�qr0P8� l�L(u�L��L�#*�r`��"0P8� ��L(u�L��L�j@04�|���
�p`P��L�(��LV�L$
0�:�r�:�r�2�ra:�rp2�r�2�r�:�ra:�r�:�ra:�r�:�ra:�r��PI�
j�#2�K�:�rp�� "��X,,(Z�uN�$ R"� HD$>�p0P��Lr(q�L��L
t�*4�
t
d4
R��P8� ��L()8K��L�!4��
�p`P��Lj(�L
�L��#*t��Z1

��	��p`0P8� 8�L(}DLA�Lh((4��rp`08� d�L(Y2Km�L0��

4
2p8� ��Lh�.K/8KtT42�	d4�pP
4
rpH�804g^���
�p`P�L�(	�L6�L�s:0��:G	�n��#.��#�h�A: �A��YB=��@	d4�pP8� p�L(y�L��LJ�#*�r�2�sA:�rP2�s�:�r��rP:�r�6�#
��jFB
T4R���p`8� ��L(��L��L��#Y,d%4$���pP�L�(%�L1�L��#,�`]�B8� H�L(Q�L�2Ls�#4
�p8� l�L(Y2Ku�LZd42p8� ��L(�L�6K%	d�
���p`0��L8��L��L�L��#*`�	:�r�:�r8
���x��r����#
�L�5N"�#�d~Z
R!�	�f4504�����
�p`PĘX�LB(a�L��L�R�#*�r�b�r!��r��r!�r���raB�s�	:�r!��r!>{�#*��%�r���ra%�r�F��#*���e�r�B�r�:�r�2�rp2�r�:�r�:�r!:�ra:�r���raB�rp��r!E�r��rB�r:�r�2�r�:�rp2�r!��r!�r!�r!B�r�2�ra:�ra:�r�:�r��r�:�ra:�r�:�raU�r�B�r!:�r�:�r!:�r�2�r��r�:t�t�B�r�2�ra:�r�U�rp��r!B�r�:�ra:�r�2�rp��r�B�r!:�r�:�ra:�r�2�rpu�r�B�ra:�r�2�rp�	�rp�r�B�r�2�rpu�ra
B�r�:�rA:�r!:�r�:�r!:�r�:�r!:�r�u�r�
B�r!:�r���ra	U��A��ra��=*�"�D�
L�"�6b6R�)I0"�"�F �"��&6(4*(,@.,0@2<4�&<(*668"6�&<(*688"6e:P$�<J$�>�@BB*D2F�NDPnN:P0Z,\.^$`j^�N.P<R.T.V>XNVN"@�h<j�hNj�h`j*l�j�h*j*l�hbn�rBt&v*xyr�h�j*z:j�h*j:z�h*j:z�h*j:z�h(j(�*�*�:��hJ���*�:�]>@�@�H�.�.�.�.�.�:��>H�.�:��>R�V>x�>`�D>ffh*j*l:��h*j*l:��h*j:z�h.j(|(~*�*�:�yh&j.�(�(�*�*�:��h&j.�(�(�*�*�:�9h&j.�(�(�*�*�:�d4�p  �p`P0H��04�����
�p`PĘ��LJ(��L,�L��#*�rA>.�#*��a��r�:�s:�r���r�>g�#*����r!��r!�rF��#*��!E�r!B�rA:�r�2�rP2�r�2�r!:�r:�r!:�r���r�U�r���r�B�r!:�r�2�r�2�rP2�r���r��r���r�B�r�2�r!:�rA:�r!:�r���rAB�r�:�r�:�r�:�r�2�rК�rA:tAtAB�r�2�r�:�r�U�rP��r!B�r!:�r�:�r�2�rP��r�B�r!:�r!:�r�:�r�2�rPu�r!B�r�:�r�2�rP�	�rP�r�B�r�2�rP��raB�r�:�r�	:�r�:�r:�r
:�r�
:�r
:�r�
��r�B�r�:�r�r	���a�r}��F���6
V0R��50"t"�R��	">$6&((@*,,@.<0�2J �4N �6z8B:*<2>�FFHnF<H0J0L(N>PlN�F0HBJ(L,N<PNNQF"8eX*Z�X*Z*\!X*Z*\�Xb^}bBd&f*h�b�X�Z*j:Z�X*Z:j�X*Z:j�X*Z:j�X(Z(�*�*�:��XJ���*�:��6@�@�H�.�.�.�.�.�:�56H�.�:��6D�V6��6��J6ffX*Z*\:��X*Z*\:�yX&Z(v(x(z*|*~:��X&Z(v(x(z*|*~:�X&Z(v(x(z*|*~:�X*Z:j�X(Z(l(n*p*r:t	td4�%	h�
���p`0��L38��L�L�L��#*`��	:�r�:�rA8
���x��!	:�rv#�#
�L�5NP�#��d�Z
R�!�i�f4�d4�pĘX�LR(=3La�Lv�d4�p8� ��L(��L��L�s�4r�
�p`P��L:(!L��Lr�)	����
�p`0��L�8��Ly�L��L,��#*`�:�r�:�r�8
��A:�r�:�sA	:�rA:�s�	<�r�j�s�	<�r�j�s
<�r���rAF��#*�����!B�r�~*�#"$��L�5NW�#�*4�f�X
�:��R�X�L\"�$� !�a(�*�(�,\(@���p`0P��Lz(��L
�L�r�4�r�2�r�2�r@�26z�\	(�	��p`0P8� 8�L(A�L��L$�#*�r:�s�:�r:�r�:�s�>>�#.d�#.��#.��#u�rB�r�>>�#.d�#.��#.��#.��#*��Pj� ( 
���"�$� -
]
��	��p`0P��L�(��L�L��#*`�:���:�r!:�r�:�r�n��#��B@F
�p
B:
�d42p8� L�L(U�L�6K��#-
c
��	��p`0P��L(��L��L	�#*`��:���:�r�:�rA:�r�n&�#�uPJL
�p
H:
1�p`0P8� ��L(��L�LJ�#*�r�2�s:�r���r�6s�#*��PZ�rF�U

d4����pP-
_
��	��p`0PĘl�L�(u�L�L��#*`�A:���:�r!:�r�:�r�n��#+	\�	��p`0PĘ��L�(��L��L��B@F
p
BF
�4�	�pP8� �L(	�L�L��#*�r@T�"�"�"�"d4�pd42p8� P�L(Y�L�6K��#+	\�	��p`0P��L�(��L��L��B@F
�p
BF
�d	T42p8� ��L(��L��L��#Fh	4#�
�p`P8� ��L(��L!�Ln�#*�r�:�r�6��#*��P��r�d:(&F
���2"-
�
��	��p`0PĘ\�L�(e�L��L�#*`�:��
:��!:�r�:�r	:�r��A�#���%H
NM�-
�HF>
d4r���
�p8� ��L8Q%K�L�L&	4�
�p`PĘ�L�(�L1�L��#*�r�Z�s�2�r��5"�"��"�"�"�"h(	d4�pPĘx�L�(�L��L��t�p`0td4�����Pd4�p45*���
�p`P8� �L(�LX�L ��#*�r�:�s�:�r��r�6�#*��P��raB�s�:�r�2�s�:�ra5�r�:�ra>U�#*���t��L�u
��tL� �42p8� ��L(��L��L�`6��#*�(04}r���
�p`P�L�(�L�LP��#*�r�:�sA:�rA:�s�:�rA:�s�:�r�:�s:�rA:�sA:�r�:�s�:�rA:�s�:�r���rAB�rA:�r�:�rA:�r�:�rA:�r�>�#*��p�
�rAF��#*�����r�FJ�#*���
�rA	�
�r�	Fw�#*����rA
F��#*��a�s�
B��A
P�%��R@F(F0F0� X0�2�.�4X6�8�4�:X<�>�:�6@"�BRD�FiB�6HRJ�LiH�N P�,d!4���pPĘl�L�(�Lu�L�!|-
q
��	��p`0P��Lr(��L�L��#,�r�:`��<�sAr�rA:���:�r�:�rA>Y�#���L >�
\@TqN2u(	d4�pPĘ,�L�(��K5�L�d1

��p0P8� X�L(a�Ls�L�#*�rp2��@N�	E*"!�p`0P��L�(��L��L
�aN�`�0

4
�P

��p0P8� �L(��L�L?�#*�r@N�"v:�"t4�P�td4P�d4��P
?
��	��p`0P8� |�L(��L�L(Ծ#*�rA:�sA:�rA:�s�:�r�:�s�:�rA:�s:�r�2�sA:�r���rAB�r�:�rA:�r�2�r�6e�#*��p��r�v)NNF6J2N2R$�&�"("	tdT�
?
��	��p`0P8� h�L(q�L�L,Ծ#*�rA:�s:�r�:�sA:�rA:�s�:�r�:�s�:�rA:�s:�r�2�sA:�r���r�B�rA:�r�:�rA:�r�2�r�6�#*��pzMNNJ@J�N2R2R*�,a(1
#t3#d2#41#*����PĘT�LB(]�L��Lpn�>��#*�!:�:��:t�:�ra:��`�$e��6
p��Q ��	��p`0P�Lj(��L�L
r�<8��	��p`0P8� ��L(�L�L�#*�r`��"v:z:t:�"�"�"'

��	��p`0PH��%	�	��p`0PH��r����
p`08� ��L8Q%K��L��L��L���#���
?
��	��p`0P8� �L(�LP�L":�#*�rpZ�rA:�s�:�r�:�s�:�r!:�s:�r�:�sA:�r!��r�B�r!:�r�:�r!>c�#*���(t�D	DxD�$P
@N(x>H( P"� �p`0P8� ��L(��L��L��#*�rp
\-r~:

4
�p��p`0P8� �L(�L�L�#*�r`XV!"�" "v8v:
C
��	��p`0P8� ,�L(5�L��L ��#*�rA:�s:�r�:�sA:�rA:�s�:�r�2�s�:�r���r�B�rA:�r�2�r�6��#*��pt��J�
�R�L� �d4p�p0P8� �L(��L�LJ�"td
4�P

��	��p`0P8� $M(-M?M$�#*�r�Z�r`.f�"�"n"�"�"�"�"�"z8t8�"
�
��	��p`0P8� �M(�M�MbM�#*�ra	:�s
:�rA:�sA
:�r�:�s�
:�rA:�s�
:�r�:�s:�rA:�sA:�r�:�s�:�rA:�s�:�r�:�s:�rA:�sA:�r�:�s�:�r�2�s�:�rA:�s
:�r�:�sA
:�rA:�s�
:�r�u
�rAB�r�:�rA:�r�:�rA:�r�:�rA:�r�:�rA:�r�:�r�2�rA:�r�:�rA:�r�6v�#*��p(t�r�~`TT� �$x(r,�0j4p8n<p@X`�ba^�td4���P#
#t#d#4#����P
�
��	��p`0P8� pM(yM�Mh��#*�r
:�s�
:�r�:�s:�rA:�sA:�r�:�s�:�rA:�s�:�r�:�s:�rA:�sA:�r�:�s�:�r�:�s�:�rA:�s
:�r�:�sA
:�rA:�s�
:�r�2�s�
:�r�2�s:�rA:�sA:�r�:�s�:�rAU�r�B�rA:�r�:�rA:�r�:�rA:�r�:�r�:�rA:�r�:�rA:�r�2�r�2�rA:�r�:�rA>��#*��p*t�r��`TVb �$�(|,x0�4r8p<n@nDXf�hmd��p`0P8� $M(-M9M��#*�r`
\�"%87
&tM&dL&4K&D����PĘtM(}M�Mpn>+�#*��:�a:�:t!:�r�:��`�*u��H
�)�=��	��p`0P8� �M(�M�Mk�#*�r`j�"v:z:r:�"�"8%	�	��p`0PH��	�td�

��	��p`0P8� xM(�M�Mr�"8�"�"|8p8�"�p0P8� �M(�M�M��#*�rPJ�""4p`PH���p`P0

��	��p`0P8�  M(�M)M2r�"18�"�"�8|8�"�"p>�"�"�"d4��

��	��p`0P8� �M(�M�M��#*�r`:r�"%8�"�"�8|:�"�"�"�"p>�"�"�"td4��

��	��p`0P8� M(!M-M��#*�r`2l�"8�"�"�8|8�"�"�"p:t8�"��tdPd
4�p�

��p`0

��	��p`0P8� �M(!M�M6l�"8�"�"�8|8�")"�"�"p:t8�"

��	��p`0P8� ,M(5MAM�#*�r`jp�"�"�"�"�"�"�"x:�"�"�"�"�"�"�"x:x:�"�"�"�"�"�:�:�"Q:

��	��p`0P8� �M(5M�Mjp�"�"�"�"�"�"�"x:�"�"�"�"�"�"�"x:x:�"�"�"�"�"�:�:�"Q:�p0P8� \	M(e	Mq	M8�#*�rPJ�" p`0H��
s
��	��p`0P8� �	M(�	MMb^�#*�r�	:�s�
:�r!:�s:�r�:�sA:�r!:�s�:�r�:�s�:�r!:�s:�r�:�sA:�r!:�s�:�r�:�s�:�r!:�s
:�r�:�sA
:�r!:�s�
:�r!:�s�
:�r���r!B�r�:�r!:�r�:�r!:�r�:�r!:�r�:�r!:�r�:�r!:�r!:�r�>��#*�����r!	B�s!
:�r���r�>��#*���0~�������� �$�(|,�0�4�8XT�V�R�
X^Z2\V`�be^*4���
�p`PĘhM�(qMxM
��!p1��p`0P8� �M(�M�M��#*�r�6�#*��P
P�F�U,d04/(���pP�M:(�M!MpnA>��#*��:t:�ra:��P�$�8r@
�� �p`P0ĘTM�(]MdM
����8J	R0H��

��p0P8� �M(	�L�MNn:v:�"�"�"#	��p`0PH��'

��	��p`0P�M�(
M
M
�A:�������r����
p`08� <
M8Q%KI
MX
MQ
M�=�#��}7
&t;&d:&49&2����P�
M�(�
M�
MpnA>�#*��:�A:ta:�r�:���$��6�
J�� �p`P0ĘM�(	MdM
��#	��p`0PH��%	�	��p`0PĘPM�(YMhM
��:�!
9|�
zr����
p`08� �M8Q%K�M�M�M���#�����	��p`0P8� �M(	�L�Mdh:v:I8v:�"�"�"�p0P8� M(%M7M��#*�r�Z�r`X�"�"�"tdT���td4���P	��p`0P8� �M(�M�MY�#*�r�Z�r`^�"�"�"�"�"�"-t 4���
�P�M�(�M#Mpn�6��#*��2t:�ra:��P�$�8r8
��#	��p`0PH��%	*�	��p`0PĘxMB(�M�M
k�#*G	�:G	�:�r`j�r��6DQ<�"�"�
"�
"�#+	��p`0P�MB(�M�M �6D�<�"�<�"�
"�
"�4�	�pP8� $M(	�L-MT�"�"�"d4�p
td4���P4�p`P8� |M(�M�M��#*�rpX�"4�����
�p`P8� �M(�M�M���#*�r:�s�:�r�:�s:�r�:�sA:�r:�s�:�r�
:�s�:�r�:�s
:�r:�sA
:�r�:�s�
:�r:�s�
:�r�:�s:�r:�sA:�r
:�s�:�r�:�s�:�r:�s:�r�	:�sA:�r:�s�:�r�2�s�:�r	:�s:�r�:�sA:�r�2�s�:�r��r�B�r�:�r:�r�
:�r�:�r:�r�:�r:�r�:�r:�r
:�r�:�r:�r�	:�r:�r�2�r	:�r�:�r�2�r>�#*��P>�����h6��� �$�(�,^.60�4�8^:8<�@�D^F6H^J6L�P^R6TX~��m|-
_
��	��p`0P�M�(�MM��#*`�A:��:�ra:�r�:�rv[�#�,R@L
��
�J
2-4��
�p`Pd42p8� dM(mM�6K>�#-
]
��	��p`0P�M�(��L�M�,F@F
�p
B:
�-
k
��	��p`0P�MB(�MM��#*�sa:`��	:��:�r�:�rA:�r!vj�#�..%B
L�nH8�24p`P8� TM(]MiM��#*�r`
\�8�"(	d4�pP�M�(qM�M��Qtd	T42p8� �M(�M��L��#42p8� �M(�MM�`6#�#*�(-h�
��	�p`P0Ę4M�(=MKM�sa<�r�� T|4?4���
�p`P8� xM(�M�M��#*�rAb�r���rA>��#*���U�r�F�#*�����rAFT�#*���,z8|@�P
�y�L�u�*"v"|J�e-
e
��	��p`0PĘ$M(-MpMN�#,�ra<�sA:`�	:G	�r�r�:�:���:�ra>��#��D
<��NB|P�T2�2(
h
�	�p`0P�M�(�M�M��#* ��hj&	4�
�p`P�M�(MM
��2�Apu��<8(
h
�	�p`0PĘHM�(QM]M-�#* ���bj!�p`0PĘ�M�(�M�M
��2��^�p�	"�	��p`0P8� �M(�MM��#*�r�Z�r�:�s:�r��r>�#*��pj�"D"�,J
(L�	
M
��	��p`0P8� @M(IM0MD_�#*�r:�s�:�r�:�s:�r:�sA:�r�:�s�:�r�2�s�:�r�2�s:�r:�sA:�r�:�s�:�r:�s�:�r�:�s	:�r	�r�B�r:�r�:�r�2�r�2�r:�r�:�r:�r�:�r>��#*��P*z�F*�z��L*D* F"*$F&*(F**,XB�Dm@4��
�p`P8� xM(�M�M��#NJ	�	��p`0P8� �M(�L�Mb�Hv8v�

4
�p(
h
�	�p`0P�M�(QM�M�hj
dT4���p4��
�p`P(
h�	�p`0PĘXM�(aMnM��#* �!�hj(
h
�	�p`0P�M�(QM�M�hj

4
�	�p`(
h
�	�p`0P�M�(�M�M(�#* ��hj4��
�p`P(
h
�	�p`0PĘ<M�(�MEM�jj

d
�p
G
��	��p`0P8� |M(�MWM>N�#*�r�:�sA:�r:�s�:�r:�s�:�r:�s:�r�2�sA:�r�2�s�:�r�:�s�:�r:�s:�r�:�sA:�r�5�rB�r:�r:�r�2�r�2�r�:�r:�r�:�r�>w�#*��P"z�F*�z��L*D* f$v(X<�>m:�p`P08� �M(�M�M��#JB,h�
��	�p`0P�M�(�M�M��#* �A
�bjEj
4����
�p`PT4��p`td4��
td4���Ptd4��

�	��p`P0�	��p`0P8� �M(�L�MTM"�"t8-
k
��	��p`0P�MB(a�L�M
,.Q@
L��LN2
�2-
k
��	��p`0PĘ MB(a�L)M
..UB
L��5N2
�2d42p8� `M(iM�6K��#4rp`PH�84G<���
�p`P8� �M(�MC M*<�#*�r�:�s:�r�2�sA:�rA:�s�:�r�:�s�:�rA:�s:�r���r�:�rA:�r�:�rA:�r�6e�#*��p��r�U�rA z��P
0rF(�X$�&m"Q("�*"(	d4�pP� M�(�L� My�t-
i
��	��p`0P� M2(� M!M�#*`��	:�r!:���:�r�:�r!:�rvY�#�bq\@
T���P2
�dT4�p

��p0P8� L!M(a�LU!MN�Y	�"!�p`0P�!M�(�L�!MN�`1
#t3#d2#41#*����P�!MB(�!M��L��>��#*�!:�:��:t�:�ra:��`

��	��p`0P8� 0"M(9"ME"M��#*�r`�h�"�"�"�"�"�"�"x:�"�"�"�"�"�"�"x:x:�"�"�"�"�"�:�<�"]:I"t:v:l<l:):

��	��p`0P8� �"M(9"M�"M�h�"�"�"�"�"�"�"x:�"�"�"�"�"�"�"x:x:�"�"�"�"�"�:�<�"]:I"t:v:l<l:):
y
��	��p`0P8� �#M(�#M%Mh��#*�r!
:�sA:�r�:�s�:�r!:�s�:�r�:�s:�r!:�sA:�r�:�s�:�r!:�s�:�r�:�s
:�r!:�sA
:�r�:�s�
:�r!:�s�
:�r�:�s:�r�:�sA:�r!:�s�:�r!��r�B�r!:�r�:�r!:�r�:�r!:�r�:�r!:�r�:�r!:�r�:�r�:�r!:�r!>��#*�����r�	B�s�
:�r!	��r!	>)�#*���2~�������� �$�(|,�0�4�8�<XZ�\uX�^^`2bVf�hedd	42p8� d%M(	�Lm%M4|�p`0P8� �%M(�%M�%MV�#*�r�2�s�:�r:�r���r:�r�6�#*��PZ� ("
F�i-
a
��	��p`0PĘ&M�(&M>&M��#*`��:��!:�r�:�r:�r�n��#�)PJL
�p
H6
1::�)2�*-�+(x,$h- 4g \����
p	`P8� �&M(�&M�'MH�#*�r�:�s�:�r�2�s�:�r�2�s	:�r�:�sA	:�ra:�s�	:�r�:�ra:�s�	:�r��r�:�r�2�r�:�ra:�r�:�ra:�r�>=�#*��P
�raB�s�:�ra:�s�:�r�:�s:�ra%�raB�r�:�ra>j�#*���2����bP(..".X.�0�,!(2Z4*6`8*:b<(>XF�H�Dtd4��-
c
��	��p`0P�'M((M3(M	�#*`��:���:�r�:�ra:�rv&�#���@L
�n
H:
1h,
��	�p`0P8� p(M(y(M�(MV�#*�r�:�sA:�r:�s�:�r�2�s�:�r���rB�r�2�r�6��#*��Pap"d�vL�u

4	
2pp`0P8� )M()M)M��#*�r�
��"9"
�td���P!�p`0PĘd)M�(��Lm)MN1�`d/4.(���pP8� �)M(�)M�)M��#*�@20%�2��20%A:�p���2�p6��#	�~��
�)D6d	42p8� *M(	�L*M4Lh4��
p	`P8� @*M(I*M��K%`04�����
�p`PĘx*MR(�*M�+MVR�#*�r!:�sa
:�r!:�s�
:�r!5�r!B�r!>��#*���%�r�B�rA:�r�:�r�:�r!:�r�:�r!:�r�
:�r!
:�r�	>��#*���E	�r!F��#*���
�r�F�#*��a��r!	FG�#*���
�r�B�sA:�r�:�s�:�r!:�s�:�r�%�r�B�r!:�r�>��#*��pZ��^�X��:�... .".$.&.(2*X,�*%(=.R0�2i.�4R6�8i4�:R<�>i:�@@BzD:FrH:JrL:TXV�T!RY-
�
��	��p`0PĘ0,M(9,Mu,M��#*`�
:�;A
:G	�:��A:�r�:�r!:�r!v��#��.�d
FLq�%N2�d42p8� �,M(�M�6Kd
4	Rp8� �,M(Y�K&mK4
2
p`P8� �,M(�,M-M���60�#.C�#.V�#
.LJ<<4WL���
�p`P8� D-M(M-M.M8��#*�rA:�s�:�r��r>��#*��P��rAB�s�:�r�:�s�:�r�:�s	:�r%�r�B�r�:�r>�#*�����rF-�#*���%	�r�FZ�#*���U
�r�F��#*��!4|�tX�}
y�|R0X$�&�"5(L*�,y(�.P0�2�.�4R6�8m4-
�
��	��p`0PĘh.M�(q.M�.Mi�#*`�A
:R�
:G		:���:�r�:�ra:�rav��#��.�d
FLe��P2�d42p8� �.M(�.M�6K�#%	�	��p`0PĘ/M�(!/M./M��#*G	A����p0P8� L/M(�MU/MJ�"-
a
��	��p`0P�/M�(�/M�/M��#*`��:��:�ra:�r�:�rv[�#��N@L
��
LJ
2-	4%�
�p`P8� �/M(�/M90MJ�#*�r�2�s�:�r:�s�:�r��rB�r�6�#*��Pl� (F
*J�q,d4���pPĘx0M�(qM�0M�q�|+	r�	��p`0PĘ�0M�(�0M�0M��#*`��
:�r�:��A:�r!:�r�:�r�n��#��(�@
T�pH:�#
#t#d#4#����P	:�	��p`0P8� H1M(Q1M�1M&K�#*�r�:�sA:�r:�s�:�r�:�s�:�r�2�s:�r�2�sA:�r��rB�r�:�r�2�r�2�r>t�#*��P	�lb��hL$�&i"�p0P8� �1M(�M2MJ�"-
a
��	��p`0PĘ02M�(92Mn2M�#*`��:�r�:��!:�r:��:�r�vY�#�NLL�N2
�d140(���pP8� �2M(qSL�2M�0�
.�:&	45,�
�p`P�2MR(�aL�2M�$�`�2 	6�	��p`0P8� $3M(-3M�3M*��#*�r�:�s�:�r�2�s�:�r�2�s:�r�:�r:�sA:�r�:�r��r�:�r�2�r�:�r:�r�:�r>c�#*��PE�rvt~� (& (&R&�(}$�*"
4�����
p`P-
e
��	��p`0PĘ4M(!4MO4M	�#*`�	:���:�r�:�ra:�rv&�#���@L
��
LP
2-d42p8� �4M(�4M�6K��#p0P8� �4M(u�L�4M��"

��	��p`0P8� �4M(�4M�4M��#*�r`�q"�"|8p8�"p0P8�  5M()M)5M
��"�"td��

��	��p`0P8� d5M(m5M5M��#*�r`Z�r���"�"�8|8�"�"	<0H��#/	��p`0P�5Mb(�5M�5M
k�#*G	A:G	:�r`j�r��6��"�"�"�"�
"�-
]
��	��p`0PĘ<6M�(��LE6M�:B@F
�p
B:
�	41(�
�p`P8� |6M(�6M�6M "�#*�r:�s�:�r�2�s:�r�:�sA:�r:�s�:�r���r�:�r�:�r:�r�6K�#*��Pl��rz�L� }(	d4�pPĘ(7M�(�L17M��td	42p8� T7M(]7Mi7M��`6��#4l84Rp`P8� �7M(�7M�7M��#40�P6��#rLJt4�P8� �7M(�M�7Md�"4�v���
�p`P8� �7M(8M�8MD5�#*�r�
:�r���r���rpb�rAe�rAB�sA:�r�:�r�	:�s�>^�#.��#*�r�:�s�>��#.��#*�r:�s:�r�:�sA:�r��r�B�r�	>^�#.��#*�r�>��#.��#*�r:�r�:�r>�#*���F�D.<!2"�
"�
"�.J�8^.22��.�"�$P&L(F*(,2BVD�B%@�
"(	d%4"�pPĘL9M�(U9M]9M
���A�t4�P�9Mr(�9M�9M
���6�-
a
��	��p`0P�9M�(�9M�9M�#*`��:�r�:��A:�r!:�r�n��#�8�PL
�t
�N
2--
a
��	��p`0PĘ0:M�(9:Mg:M��#*`��:�r�:��A:�r!:�rv��#�\�NL
�p
P
2-4(���
�p`P8� �:M(�:M;M\�#*�r!:�s�:�r�2�s:�rP2�sA:�r���r�:�rP2�r�6/�#��rP%���a�vbBJ�v.vd42p8� 8;M(A;M�6Kx�#&	45,�
�p`PĘl;MR(�aLu;M�$�V2 4
rp8� �;M(�;M�;M��#*��PL>
hdT4�p&	43*�
�p`P�;MB(�;M<M��#*��PZ`��2�r��@��"�<Z�p0P8� @<M(��LI<MJ�"�p0P8� d<M(�Mm<M
Jj@~@
tdT4��"41*p`P�<MB(�;M�<M|@��"ZT4��p`t
4�Ptd
4���p0P8� =M(=M/=M��#*��PZ�r�
J:�"��p`0P8� T=M(]=Mt=M��#*�r�6��#*��P
V�F�U&	4 �
�p`P�=M�(�L�=M��r-
a
��	��p`0P�=M�(92M�=M�NLL�}
N2
�-
_
��	��p`0PĘ$>M�(->M[>M��#*`�A:��:�ra:�r�:�rv[�#L@L��
LJ
2-4?4���
�p`P8� �>M(�>M+?M*��#*�r�:�sA:�ra:�s�:�r�2�s�:�r�2�s:�r�:�r!E�raB�r�2�r�2�r�:�r!>	�#*��Pe�r�F��#*��� z�v��"(*R"�$u �2&L(�*q&d42p8� h?M(q?M�6K��#-
_
��	��p`0P�?M�(�M�?M�0N@L
��
YP
8904?4���
�p`P�?M�(�?Mc@M"6�#*�r�:�r�:�r�:�r�2�r�:�rP2�r!:�r�2�rA��r�5�raB�ra:�rP2�r!:�r�:�r�&�%>.
*D,<61H�"9*( $"` �(	d4�pP�@M�(�@M�@M
��E�-
e
��	��p`0P�@M(9�L�@M�\NNL
��
�\
,-
;
��	��p`0P8� 4AM(=AM�AM.��#*�rA:�r�>_�#*��P��r!:�s�:�ra:�s:�r�:�sA:�r�2�s�:�r�2�s�:�ra��raB�r�:�r�2�r�2�ra>��#*��� z:((L
��ph��n R,�.q*-
o
��	��p`0PĘBMb(%BMRBM��#*`�A
:��A:�r�:�r!:�r�n��#�b
@L
�p
H:
1
4
pH��
�
��	��p`0P8� �BM(�BMnDM���#*�r�:�s�:�r�:�s:�rA:�sA:�r�2�s�:�rA
:�s�:�r�	:�s:�rA	��r�B�rA:�r�2�rA
:�r�	:�rA	>*�#*���E	�rAB�s:�r�:�sA:�rA:�s�:�r�:�s�:�rA:�s:�r�:�sA:�rA��r�B�rA:�r�:�rA:�r�:�rA>W�#*���e�r�
B�sA
:�r�:�s�
:�rA:�s�
:�r�:�s:�rA:�sA:�r�:�s�:�rA��r�B�rA:�r�:�rA:�r�:�rA>��#*��P��rAn-�X6ZP\0^J`0bFd0fDh0jDl0nDp0~X��~-|�6.\062b466^86:\<6>\@6B\D6FXT�V�R�6D0J
0J2\6\6\6X*�,�(=6�"t4��
�P�p0PĘEMr(�9MEMDR�&	4!�
�p`PH��Bp00P8� `EM(�MiEM�j>	�p`P0H�h&	4 �
�p`P�EM�(��L�EMM��r-
_
��	��p`0P�EM�(->M�EM�bz@L
��
LJ
2-%	"�	��p`0PĘ,FM(5FMNFM��#*G	�:G	�2�r@�V,�"�"�"="�"�
4
�pH�p-
]
��	��p`0P�FM�(�FM�FM��#*`�:�r!:���:�r�:�r�n��#�@FBF
�p
H8
�$
$x h4;2��
p	`P8� GM(%GMdGM��#*�r!:�sa:�r�2�s�:�r��r�:�r�6�#*��p~Q(��N��-
o
��	��p`0P�GMb(�GM�GM�#*`�A
:�r!	:���:�r�	:�r�v��#�\JNN
y�
�X
2-4��P8� HM(HMh�M�'�r�2�rCB�H�B�r�2�rCB�H�B�r4:�rCB�rCB�rCB�rCB�H�B�r�3:�rCB�rCB�H�B�r3:�rCB�rCB�H�!B�r�2:�rCB�rC
B�H�#B�r2:�rCB�rCB�rC
B�rC	B�H�%B�r@2�rCB�rCB�rCB�rCB�H�'B�r�1:�rCB�rCB�rCB�rCB�H�)B�r1:�rCB�rC�B�rC�B�rC�B�H�+B�r�0:�rC�B�rC�B�rC�B�rC�B�H�-B�r0:�rC�B�rC�B�rC�B�rC�B�H�/B�r�/:�rC�B�rC�B�rC�B�rC�B�H�1B�r/:�rC�B�rC�B�rC�B�rC�B�H�3B�r�.:�rC�B�rC�B�rC�B�rC�B�H�5B�r.:�rC�B�rC�B�rC�B�rC�B�H�7B�r�-:�rC�B�rC�B�rC�B�rC�B�rC�B�H�9B�r-:�rC�B�rC�B�rC�B�rC�B�rC�B�H�;B�r�,:�rC�B�rC�B�rC�B�rC�B�rC�B�rC�B�H�=B�r,:�rC�B�rC�B�rC�B�rC�B�rC�B�H�?B�r�+:�rC�B�rC�B�rC�B�rC�B�H�AB�r+:�rC�B�rC�B�rC�B�rC�B�H�CB�r�*:�rC�B�rC�B�rC�B�rC�B�rC�B�H�EB�r*:�rC�B�H�GB�r�):�rC�B�rC�B�rC�B�rC�B�rC�B�H�IB�r):�rC�B�rC�B�rC�B�rC�B�rC�B�H�KB�r�(:�rC�B�rC�B�rC�B�rC�B�rC�B�H�MB�r(:�rC�B�rC�B�rC�B�rC�B�rC�B�rC�B�H�OB�r�':�rC�B�rC�B�rC�B�rC�B�rC�B�rC�B�rC�B�H�QB�r':�rC�B�rC�B�H�SB�r�&:�rC�B�rC�B�H�UB�r&:�rC�B�rC�B�rC�B�rC�B�rC�B�H�WB�r�%:�rC�B�rC�B�rC�B�H�YB�r%:�rC�B�rC�B�rC�B�rC�B�H�[B�r�$:�rC�B�rC�B�rC�B�rC�B�rC�B�H�]B�r$:�rC�B�rC�B�rC�B�rC�B�rC�B�H�_B�r�#:�rC�B�rC�B�rC�B�rC�B�H�aB�r#:�rC�B�rC�B�H�cB�r�":�rC�B�rC�B�H�eB�r":�rC�B�rC�B�rC�B�rC�B�rCB�H�gB�r�!:�rC~B�rC}B�rC|B�H�iB�r!:�rC{B�rCzB�rCyB�H�kB�r� :�rCxB�rCwB�rCvB�H�mB�r :�rCuB�rCtB�rCsB�rCrB�rCqB�H�oB�r�:�rCpB�rCoB�rCnB�rCmB�rClB�H�qB�r:�rCkB�rCjB�rCiB�rChB�rCgB�rCfB�H�sB�r�:�rCeB�rCdB�rCcB�rCbB�rCaB�H�uB�r:�rC`B�rC_B�rC^B�rC]B�rC\B�rC[B�H�wB�r�:�rCZB�rCYB�rCXB�rCWB�rCVB�rCUB�rCTB�H�yB�r:�rCSB�H�{B�r�:�rCRB�rCQB�rCPB�rCOB�rCNB�rCMB�H�}B�r:�rCLB�rCKB�rCJB�rCIB�rCHB�rCGB�H�B�r�:�rCFB�rCEB�rCDB�rCCB�H��B�r:�rCBB�rCAB�rC@B�rC?B�rC>B�H��B�r�:�rC=B�rC<B�rC;B�rC:B�rC9B�H��B�r:�rC8B�rC7B�rC6B�rC5B�rC4B�H��B�r�:�rC3B�rC2B�rC1B�rC0B�rC/B�rC.B�H��B�r:�rC-B�rC,B�rC+B�rC*B�rC)B�H��B�r�:�rC(B�rC'B�rC&B�rC%B�H��B�r:�rC$B�rC#B�rC"B�rC!B�rC B�H��B�r�:�rCB�rCB�rCB�rCB�H��B�r:�rCB�rCB�rCB�rCB�H��B�r�:�rCB�rCB�rCB�rCB�H��B�r:�rCB�rCB�rCB�rCB�H��B�r�:�rCB�rCB�rC
B�rCB�H��B�r:�rCB�rC
B�rC	B�rCB�H��B�r�:�rCB�rCB�rCB�rCB�rCB�rCB�H��B�r:�rCB�rCB�r��:�r!�:�r��:�r!�:�H��B�r�:�r��:�r!�:�r��:�r!�:�H��B�r:�r��:�r!�:�r��:�r!�:�H��B�r�:�r��:�r!�:�r��:�r!�:�H��B�r:�r��:�r!�:�r��:�r!�:�H��B�r�:�r��:�r!�:�r��:�r!�:�H��B�r:�r��:�r!�:�r��:�r!�:�H��B�r�:�r��:�r!�:�r��:�r!�:�H��B�r:�r��:�r!�:�r��:�r!�:�r��:�H��B�r�:�r!�:�r��:�r!�:�r��:�H��B�r:�r!�:�r��:�r!�:�r��:�H��B�r�:�r!�:�r��:�r!�:�r��:�r!�:�H��B�r:�r��:�r!�:�r��:�r!�:�r��:�r!�:�H��B�r�
:�r��:�r!�:�r��:�r!�:�r��:�r!�:�H��B�r
:�r��:�r!�:�r��:�r!�:�r��:�H��B�r�:�r!�:�r��:�r!�:�r��:�r!�:�r��:�H��B�r:�r!�:�r��:�r!�:�r��:�r!�:�H��B�r�:�r��:�r!�:�r��:�r!�:�H��B�r:�r��:�r!�:�r��:�r!�:�H��B�r�
:�r��:�r!�:�r��:�r!�:�H��B�r
:�r��:�r!�:�H��B�r�	:�r��:�r!�:�r��:�r!�:�H��B�r	:�r��:�r!�:�r��:�r!�:�H��B�r�:�r��:�r!�:�r��:�r!�:�r��:�H��B�r:�r!�:�r��:�r!�:�r��:�r!�:�H��B�r�:�r��:�r!�:�r��:�r!�:�H��B�r:�r��:�r!�:�r��:�r!�:�H��B�r�:�r��:�r!�:�r��:�r!�:�H��B�r:�r��:�r!�:�r��:�r!�:�r��:�H��B�r�:�r!�:�r��:�r!�:�r��:�r!�:�H��B�r:�r��:�r!�:�H��B�r�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�H��B�r:�r��:�r!�:�r��:�r!�:�r��:�H��B�r�:�r!�:�r��:�r!�:�r��:�H��B�r:�r!�:�r��:�r!�:�r��:�H��B�r�:�r!�:�r��:�r!�:�r��:�r!�:�H��B�r:�r��:�r!�:�r��:�r!�:�r��:�r!�:�H��B�r��:�r!�:�H��B�r��:�r!�:�r��:�r!�:�r��:�r!�:�H��B�r��:�r!�:�r��:�r!�:�r��:�H��B�r!�:�r��:�H��B�r!�:�r��:�H��B�r!�:�r��:�H��B�r!�:�r��:�H��B�r!�:�r��:�H��B�r!�:�r��:�H��B�r!�:�r��:�H��B�r!�:�r��:�r!�:�r��:�r!�:�H��B�r��:�r!�:�r��:�r!�:�r��:�H��B�r!�:�r��:�r!�:�r��:�r!�:�H�B�r��:�r!�:�r��:�r!�:�r��:�H�B�r!�:�r��:�r!�:�r��:�r!�:�H�B�r��:�r!�:�r��:�r!�:�r��:�H�B�r!�:�r��:�r!�:�r��:�r!�:�H�	B�r��:�r!�:�H�B�r��:�r!�:�H�
B�r��:�r!�:�H�B�r��:�r!�:�H�B�r��:�r!�:�H�B�r��:�r!�:�r��:�r!�:�r��:�H�B�r!�:�r��:�H�B�r!�:�r��:�r!�:�r��:�r!�:�H�B�r��:�r!�:�r��:�r!�:�r��:�H�B�r!�:�r�:�r!:�r�~:�r!~:�r�}:�H�B�r!}:�r�|:�r!|:�r�{:�r!{:�H�B�r�z:�r!z:�r�y:�r!y:�r�x:�H�!B�r!x:�r�w:�r!w:�r�v:�r!v:�H�#B�r�u:�r!u:�r�t:�r!t:�r�s:�H�%B�r!s:�r�r:�r!r:�r�q:�r!q:�r�p:�H�'B�r!p:�r�o:�r!o:�r�n:�r!n:�H�)B�r�m:�r!m:�r�l:�r!l:�r�k:�r!k:�H�+B�r�j:�r!j:�r�i:�r!i:�r�h:�H�-B�r!h:�r�g:�r!g:�r�f:�r!f:�r�e:�H�/B�r!e:�r�d:�r!d:�r�c:�r!c:�H�1B�r�b:�r!b:�H�3B�r�a:�r!a:�r�`:�r!`:�r�_:�r!_:�H�5B�r�^:�r!^:�r�]:�r!]:�r�\:�r!\:�H�7B�r�[:�r![:�r�Z:�r!Z:�r�Y:�r!Y:�H�9B�r�X:�r!X:�r�W:�r!W:�r�V:�H�;B�r!V:�r�U:�r!U:�r�T:�r!T:�H�=B�r�S:�r!S:�H�?B�r�R:�r!R:�r�Q:�r!Q:�r�P:�r!P:�H�AB�r�O:�r!O:�r�N:�r!N:�r�M:�H�CB�r!M:�r�L:�r!L:�r�K:�r!K:�H�EB�r�J:�r!J:�r�I:�r!I:�r�H:�H�GB�r!H:�r�G:�r!G:�r�F:�r!F:�H�IB�r�E:�r!E:�H�KB�r�D:�r!D:�H�MB�r�C:�r!C:�r�B:�H�OB�r!B:�r�A:�r!A:�r�@:�r!@:�H�QB�r�?:�r!?:�r�>:�r!>:�r�=:�H�SB�r!=:�r�<:�H�UB�r!<:�r�;:�H�WB�r!;:�r�::�H�YB�r!::�r�9:�H�[B�r!9:�r�8:�r!8:�r�7:�r!7:�H�]B�r�6:�r!6:�H�_B�r�5:�r!5+z�r�B�rCB�r4:�rCB�rCB�rCB�rCB�r�3:�rCB�rCB�r3:�rCB�rCB�r�2:�rCB�rC
B�r2:�rCB�rCB�rC
B�rC	B�r@2�rCB�rCB�rCB�rCB�r�1:�rCB�rCB�rCB�rCB�r1:�rCB�rC�B�rC�B�rC�B�r�0:�rC�B�rC�B�rC�B�rC�B�r0:�rC�B�rC�B�rC�B�rC�B�r�/:�rC�B�rC�B�rC�B�rC�B�r/:�rC�B�rC�B�rC�B�rC�B�r�.:�rC�B�rC�B�rC�B�rC�B�r.:�rC�B�rC�B�rC�B�rC�B�r�-:�rC�B�rC�B�rC�B�rC�B�rC�B�r-:�rC�B�rC�B�rC�B�rC�B�rC�B�r�,:�rC�B�rC�B�rC�B�rC�B�rC�B�rC�B�r,:�rC�B�rC�B�rC�B�rC�B�rC�B�r�+:�rC�B�rC�B�rC�B�rC�B�r+:�rC�B�rC�B�rC�B�rC�B�r�*:�rC�B�rC�B�rC�B�rC�B�rC�B�r*:�rC�B�r�):�rC�B�rC�B�rC�B�rC�B�rC�B�r):�rC�B�rC�B�rC�B�rC�B�rC�B�r�(:�rC�B�rC�B�rC�B�rC�B�rC�B�r(:�rC�B�rC�B�rC�B�rC�B�rC�B�rC�B�r�':�rC�B�rC�B�rC�B�rC�B�rC�B�rC�B�rC�B�r':�rC�B�rC�B�r�&:�rC�B�rC�B�r&:�rC�B�rC�B�rC�B�rC�B�rC�B�r�%:�rC�B�rC�B�rC�B�r%:�rC�B�rC�B�rC�B�rC�B�r�$:�rC�B�rC�B�rC�B�rC�B�rC�B�r$:�rC�B�rC�B�rC�B�rC�B�rC�B�r�#:�rC�B�rC�B�rC�B�rC�B�r#:�rC�B�rC�B�r�":�rC�B�rC�B�r":�rC�B�rC�B�rC�B�rC�B�rCB�r�!:�rC~B�rC}B�rC|B�r!:�rC{B�rCzB�rCyB�r� :�rCxB�rCwB�rCvB�r :�rCuB�rCtB�rCsB�rCrB�rCqB�r�:�rCpB�rCoB�rCnB�rCmB�rClB�r:�rCkB�rCjB�rCiB�rChB�rCgB�rCfB�r�:�rCeB�rCdB�rCcB�rCbB�rCaB�r:�rC`B�rC_B�rC^B�rC]B�rC\B�rC[B�r�:�rCZB�rCYB�rCXB�rCWB�rCVB�rCUB�rCTB�r:�rCSB�r�:�rCRB�rCQB�rCPB�rCOB�rCNB�rCMB�r:�rCLB�rCKB�rCJB�rCIB�rCHB�rCGB�r�:�rCFB�rCEB�rCDB�rCCB�r:�rCBB�rCAB�rC@B�rC?B�rC>B�r�:�rC=B�rC<B�rC;B�rC:B�rC9B�r:�rC8B�rC7B�rC6B�rC5B�rC4B�r�:�rC3B�rC2B�rC1B�rC0B�rC/B�rC.B�r:�rC-B�rC,B�rC+B�rC*B�rC)B�r�:�rC(B�rC'B�rC&B�rC%B�r:�rC$B�rC#B�rC"B�rC!B�rC B�r�:�rCB�rCB�rCB�rCB�r:�rCB�rCB�rCB�rCB�r�:�rCB�rCB�rCB�rCB�r:�rCB�rCB�rCB�rCB�r�:�rCB�rCB�rC
B�rCB�r:�rCB�rC
B�rC	B�rCB�r�:�rCB�rCB�rCB�rCB�rCB�rCB�r:�rCB�rCB�r��:�r!�:�r��:�r!�:�r�:�r��:�r!�:�r��:�r!�:�r:�r��:�r!�:�r��:�r!�:�r�:�r��:�r!�:�r��:�r!�:�r:�r��:�r!�:�r��:�r!�:�r�:�r��:�r!�:�r��:�r!�:�r:�r��:�r!�:�r��:�r!�:�r�:�r��:�r!�:�r��:�r!�:�r:�r��:�r!�:�r��:�r!�:�r��:�r�:�r!�:�r��:�r!�:�r��:�r:�r!�:�r��:�r!�:�r��:�r�:�r!�:�r��:�r!�:�r��:�r!�:�r:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r�
:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r
:�r��:�r!�:�r��:�r!�:�r��:�r�:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r:�r!�:�r��:�r!�:�r��:�r!�:�r�:�r��:�r!�:�r��:�r!�:�r:�r��:�r!�:�r��:�r!�:�r�
:�r��:�r!�:�r��:�r!�:�r
:�r��:�r!�:�r�	:�r��:�r!�:�r��:�r!�:�r	:�r��:�r!�:�r��:�r!�:�r�:�r��:�r!�:�r��:�r!�:�r��:�r:�r!�:�r��:�r!�:�r��:�r!�:�r�:�r��:�r!�:�r��:�r!�:�r:�r��:�r!�:�r��:�r!�:�r�:�r��:�r!�:�r��:�r!�:�r:�r��:�r!�:�r��:�r!�:�r��:�r�:�r!�:�r��:�r!�:�r��:�r!�:�r:�r��:�r!�:�r�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r:�r��:�r!�:�r��:�r!�:�r��:�r�:�r!�:�r��:�r!�:�r��:�r:�r!�:�r��:�r!�:�r��:�r�:�r!�:�r��:�r!�:�r��:�r!�:�r:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r��:�r!�:�r�:�r!:�r�~:�r!~:�r�}:�r!}:�r�|:�r!|:�r�{:�r!{:�r�z:�r!z:�r�y:�r!y:�r�x:�r!x:�r�w:�r!w:�r�v:�r!v:�r�u:�r!u:�r�t:�r!t:�r�s:�r!s:�r�r:�r!r:�r�q:�r!q:�r�p:�r!p:�r�o:�r!o:�r�n:�r!n:�r�m:�r!m:�r�l:�r!l:�r�k:�r!k:�r�j:�r!j:�r�i:�r!i:�r�h:�r!h:�r�g:�r!g:�r�f:�r!f:�r�e:�r!e:�r�d:�r!d:�r�c:�r!c:�r�b:�r!b:�r�a:�r!a:�r�`:�r!`:�r�_:�r!_:�r�^:�r!^:�r�]:�r!]:�r�\:�r!\:�r�[:�r![:�r�Z:�r!Z:�r�Y:�r!Y:�r�X:�r!X:�r�W:�r!W:�r�V:�r!V:�r�U:�r!U:�r�T:�r!T:�r�S:�r!S:�r�R:�r!R:�r�Q:�r!Q:�r�P:�r!P:�r�O:�r!O:�r�N:�r!N:�r�M:�r!M:�r�L:�r!L:�r�K:�r!K:�r�J:�r!J:�r�I:�r!I:�r�H:�r!H:�r�G:�r!G:�r�F:�r!F:�r�E:�r!E:�r�D:�r!D:�r�C:�r!C:�r�B:�r!B:�r�A:�r!A:�r�@:�r!@:�r�?:�r!?:�r�>:�r!>:�r�=:�r!=:�r�<:�r!<:�r�;:�r!;:�r�::�r!::�r�9:�r!9:�r�8:�r!8:�r�7:�r!7:�r�6:�r!6:�r�5:�r!5><$,`��4�`��4`��4	`��4�`��4�`��4�`��4�`��4�`��4�`��4�	`��4�
`��4y`��4i`��4Y
`��4I`��49`��4)`��4`��4	`��4�`��4�`��4�`��4�`��4�`��4�`��4�`��4�`��4y`��4i`��4Y`��4I`��49`��4)`��4 `��4	!`��4�!`��4�"`��4�#`��4�$`��4�%`��4�&`��4�'`��4�(`��4y)`��4i*`��4Y+`��4I,`��49-`��4).`��4/`��4	0`��4�0`��4�1`��4�2`��4�3`��4�4`��4�5`��4�6`��4�7`��4y8`��4i9`��4Y:`��4I;`��49<`��4)=`��4>`��4	?`��4�?`��4�@`��4�A`��4�B`��4�C`��4�D`��4�E`��4�F`��4yG`��4iH`��4YI`��4IJ`��49K`��4)L`��4M`��4	N`��4�N`��4�O`��4�P`��4�Q`��4�R`��4�S`��4�T`��4�U`��4yV`��4iW`��4YX`��4IY`��49Z`��4)[`��4\`��4	]`��4�]`��4�^`��4�_`��4�``��4�a`��4�b`��4�c`��4�d`��4ye`��4if`��4Yg`��4Ih`��49i`��4)j`��4k`��4	l`��4�l`��4�m`��4�n`��4�o`��4�p`��4�q`��4�r`��4�s`��4yt`��4iu`��4Yv`��4Iw`��49x`��4)y`��4z`��4	{`��4�{`��4�|`��4�}`��4�~`��4�`��4��`��4��`��4��`��4y�`��4i�`��4Y�`��4I�`��49�`��4)�`��4�`��4	�`��4��`��4�`��4ٌ`��4ɍ`��4��`��4��`��4��`��4��`��4y�`��4i�`��4Y�`��4I�`��49�`��4)�`��4�`��4	�`��4��`��4�`��4ٛ`��4ɜ`��4��`��4��`��4��`��4��`��4y�`��4i�`��4Y�`��4I�`��49�`��4)�`��4�`��4	�`��4��`��4�`��4٪`��4ɫ`��4��`��4��`��4��`��4��`��4y�`��4i�`��4Y�`��4I�`��49�`��4)�`��4�`��4	�`��4��`��4�`��4ٹ`��4ɺ`��4��`��4��`��4��`��4��`��4y�`��4i�`��4Y�`��4I�`��49�`��4)�`��4�`��4	�`��4��`��4��`��4��`��4��`��4��`��4��`��4��`��4��`��4y�`��4i�`��4Y�`��4I�`��49�`��4)�`��4�`��4	�`��4��`��4��`��4��`��4��`��4��`��4��`��4��`��4��`��4y�`��4i�`��4Y�`��4I�`��49�`��4)�`��4�`��4	�`��4��`��4��`��4��`��4��`��4��`��4��`��4��`��4��`��4y�`��4i�`��4Y�`��4I�`��49�`��4)�`��4�`��4	�`��4��`��4��`��4�`��4�`��4��`��4��`��4��`��4��`��4y�`��4i�`��4Y�`��4I�`��49�`��4S`��4S`��4S`��4S`��4S`��4S
`��4S`��4S`��4S`��4S`��4S`��4S`��4S`��4S`��4S`��4S`��4S `��4S"`��4S$`��4S&`��4S(`��4S*`��4S,`��4S.`��4S0`��4S2`��4S4`��4S6`��4S8`��4S:`��4S<`��4S>`��4S@`��4SB`��4SD`��4SF`��4SH`��4SJ`��4SL`��4SN`��4SP`��4SR`��4ST`��4SV`��4SX`��4SZ`��4S\`��4S^`��4S``��4Sb`��4Sd`��4Sf`��4Sh`��4Sj`��4Sl`��4Sn`��4Sp`��4Sr`��4St`��4Sv`��4Sx`��4Sz`��4S|`��4S~`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S�`��4S`��4S`��4S`��4S`��4S`��4S
`��4S`��4S`��4S`��4S`��4S`��4S`��4S`��4S`��4S`��4S`��4S `��4S"`��4S$`��4S&`��4S(`��4S*`��4S,`��4S.`��4S0`��4S2`��4S4`��4S6`��4S8`��4S:`��4S<`��4S>`��4S@`��4SB`��4SD`��4SF`��4SH`��4SJ`��4SL`��4SN`��4SP`��4SR`��4sT`��4�V`��4�X`��4�Z`��4�\`��4�^`��4a`��43c`��4Se`��4Sg`��4si`��4�k`��4�m`��4�o`��4�q`��4�s`��4v`��43x`��4Sz`��4S|`��4s~`��4��`��4��`��4ӄ`��4ӆ`��4�`��4�`��43�`��4S�`��4S�`��4s�`��4��`��4��`��4ә`��4ӛ`��4�`��4�`��43�`��4S�`��4S�`��4s�`��4��`��4��`��4Ӯ`��4�`��4�`��4�`��43�`��4S�`��4s�`��4s�`��4��`��4��`��4��`��4��`��4�`��4�`��43�`��4S�`��4s�`��4��`��4��`��4��`��4��`��4��`��4�`��43�`��4S�`��4s�`��4s�`��4��`��4��`��4��`��4��`��4�`��4�`��43�`��4S�`��4s�`��4��`��4��`��4��`��4�`��4�`��4`��43`��43	`��4S`��4s
`��4�`��4�`��4�`��4�`��4�`��4`��43`��4S`��4s `��4�"`��4�$`��4�&`��4�(`��4�*`��4�,`��4/`��431`��4S3`��4s5`��4�7`��4�9`��4�;`��4�=`��4�?`��4B`��43D`��4SF`��4sH`��4sJ`��4�L`��4�N`��4�P`��4�R`��4U`��4W`��43Y`��4S[`��4s]`��4�_`��4�a`��4�c`��4�e`��4�g`��4j`��43l`��4Sn`��4sp`��4sr`��4�t`��4�v`��4�x`��4�z`��4}`��4`��43�`��4S�`��4s�`��4s�`��4��`��4��`��4Ӎ`��4ӏ`��4�`��4�`��43�`��43�`��4S�`��4s�`��4��`��4��`��4Ӣ`��4Ӥ`��4�`��4�`��4�`��43�`��4S�`��4S�`��4s�`��4��`��4��`��4ӹ`��4ӻ`��4�`��4�`��43�`��4S�`��4s�`��4s�`��4��`��4��`��4��`��4��`��4�`��4�`��43�`��4S�`��4s�`��4��`��4��`��4��`��4��`��4��`��4��`��4�`��43�`��4S�`��4s�`��4��`��4��`��4��`��4�`��4�`��4�`��4�`��4`��43`��4S`��4s`��4�	`��4�`��4�
`��4�`��4�`��4`��43`��4S`��4s`��4�`��4�`��4� `��4�"`��4�$`��4'`��43)`��4S+`��4S-`��4s/`��4�1`��4�3`��4�5`��4�7`��4�9`��4<`��43>`��4S@`��4sB`��4�D`��4�F`��4�H`��4�J`��4�L`��4�N`��4Q`��43S`��4SU`��4SW`��4sY`��4�[`��4�]`��4�_`��4�a`��4�c`��4f`��43h`��4Sj`��4Sl`��4sn`��4�p`��4�r`��4�t`��4�v`��4�x`��4{`��43}`��4S`��4s�`��4��`��4��`��4��`��4Ӊ`��4�`��4�`��43�`��4S�`��4S�`��4s�`��4��`��4��`��4Ӝ`��4�`��4�`��4�`��43�`��4S�`��4s�`��4s�`��4��`��4��`��4ӱ`��4�`��4�`��4�`��43�`��4S�`��4s�`��4s�`��4��`��4��`��4��`��4��`��4��`��4�`��43�`��4S�`��4s�`��4s�`��4��`��4��`��4��`��4��`��4��`��4�`��43�`��4S�`��4s�`��4s�`��4��`��4��`��4��`��4��`��4��`��4�`��43�`��4S�`��4s�`��4S�`��4s`��4�`��4�`��4�`��4�	`��4�`��4`��4`��43`��4S`��4S`��4s`��4�`��4�`��4�`��4� `��4�"`��4%`��4'`��43)`��4S+`��4��	`��4s�	`��4ө	`��4�&|}2.
\6....\6..\ 6".$.&\(6*.,..\062.4.6.8.:L<2>.@.B.D.F\H6J.L.N.P.R\T6V.X.Z.\.^\`6b.d.f.h.j\l6n.p.r.t.v\x6z.|.~.�.�\�6�.�.�.�.�\�6�.�.�.�.�\�6�.�.�.�.�\�6�.�.�.�.�.�\�6�.�.�.�.�.�\�6�.�.�.�.�.�.�\�6�.�.�.�.�.�\�6�.�.�.�.�\�6�.�.�.�.�\�6�.�...	.
\6.\6!.%.).-.1.5\96=.A.E.I.M.Q\U6Y.].a.e.i.m\q6u.y.}.�.�.�.�\�6�.�.�.�.�.�.�.�\�6�.�.�\�6�.�.�\�6�.�.�.�.�.�\�6�.�.�.\6	.
...\6!.%.).-.1.5\96=.A.E.I.M.Q\U6Y.].a.e.i\m6q.u.y\}6�.�.�\�6�.�.�.�.�.�\�6�.�.�.�\�6�.�.�.�\�6�.�.�.�\�6�.�.�.�.�.�\6.	.
...\6!.%.).-.1.5.9\=6A.E.I.M.Q.U\Y6].a.e.i.m.q.u\y6}.�.�.�.�.�.�.�\�6�.�\�6�.�.�.�.�.�.�\�6�.�.�.�.�.�.�\�6�.�.�.�.�\6.	.
...\6!.%.).-.1.5\96=.A.E.I.M.Q\U6Y.].a.e.i.m.q\u6y.}.�.�.�.�\�6�.�.�.�.�\�6�.�.�.�.�.�\�6�.�.�.�.�\�6�.�.�.�.�\�6�.�...	\
6....!\%6).-.1.5.9\=6A.E.I.M.Q\U6Y.].a.e.i.m.q\u6y.}.�.�.�.�.�\�6�.�.�.�.�\�6�.�.�.�.�\�6�.�.�.�.�\�6�.�.�.�.�\�6�.�...	\
6....!\%6).-.1.5.9\=6A.E.I.M.Q.U\Y6].a.e.i.m\q6u.y.}.�.�\�6�.�.�.�.�.�\�6�.�.�.�.�.�.�\�6�.�.�.�.�.�.�\�6�.�.�.�.�.�\6.	.
....\!6%.).-.1.5.9\=6A.E.I.M.Q\U6Y.].a.e.i\m6q.u.y.}.�\�6�.�.�\�6�.�.�.�.�\�6�.�.�.�.�\�6�.�.�.�.�.�\�6�.�.�.�.�.�\�6	.	.		.
	.	\	6	.	.!	.%	.)	\-	61	.5	.9	.=	.A	\E	6I	.M	.Q	.U	.Y	.]	Da	0e	.i	.m	.q	.u	.y	D}	0�	.�	.�	D�	0�	.�	.�	.�	.�	.�	.�	.�	.�	D�	0�	.�	.�	.�	.�	.�	D�	0�	.�	.�	.�	.�	D�	0�	.�	.�	.�	.�	D
0
.	
.
.
.
.
D
0!
.%
.)
.-
.1
.5
.9
(=
.A
.E
(I
.M
.Q
.U
.Y
.]
.a
(e
.i
.m
.q
.u
.y
(}
.�
.�
(�
.�
.�
(�
.�
.�
(�
.�
.�
(�
.�
.�
(�
.�
.�
(�
.�
.�
(�
.�
.�
.�
.�
.�
(�
.�
.�
.�
.�
.�
(..	.
..(..!.%.).-(1.5.9.=.A.E(I.M.Q.U.Y.](a.e.i.m.q.u(y.}.�(�.�.�(�.�.�(�.�.�(�.�.�(�.�.�.�.�.�(�.�.�(�.�.�.�.�.�(�.�.�.�..(	.
.....!(%.).-.1.5.9(=.A.E.I.M.Q(U.Y.].a.e.i(m.q.u.y.}.�(�.�.�.�.�.�.�(�.�.�.�.�.�(�.�.�.�.�.�.�(�.�.�.�.�.�(�.�.�.�.�.
.
(	
.

.
.
.
.
(!
.%
.)
(-
.1
.5
.9
.=
.A
.E
(I
.M
.Q
.U
.Y
.]
.a
(e
.i
.m
.q
.u
.y
.}
(�
.�
.�
.�
.�
.�
(�
.�
.�
.�
.�
.�
(�
.�
.�
(�
.�
.�
.�
.�
.�
.�
(�
.�
.�
.�
.�
.�
(�
.�
.�
.�
..(	.
....(!.%.).-.1.5(9.=.A(E.I.M(Q.U.Y.](a.e.i.m.q.u(y.}.�.�.�.�(�.�.�(�.�.�(�.�.�(�.�.�(�.�.�.�.�.�(�.�.�(�.�.�jE:Mp`08� <�M8I�Mc�Mr�M
u$(
�r`2�r!��r`k�M��$�=0>

2P8� ��M)��M��Mp
�r!:�r`>(:�H�84�p`P8� ԠM(ݠM�M`��2p�@J|�42�
�p`P

4
R	�p`8�  �M()�M<�M�@<�@4�rPPD0	"�	��p`0P8� d�M(m�M��MV�#*�r:�sA:�r�2�s�:�r�2�s�:�r���r�:�r�2�r�>��#*��Pj|h� (L��(	d!4�pP��M�(��L�Mm�Qt-
]
��	��p`0PĘ4�M�(��L=�M�:@@F
�p
B:
�!!d_!4^!V���pP8� x�M(��M"�M0N$*�rA:�rP2�H�:�r�:�r�2�H�:�r!:�r�2�H�:�r�:�r!:�H�:�r!:�r���r�B�r�2�r!:�r�2�r�:�r!:�r!:�r�>!$� � 
� ���0@.��p`0P8� T�M(�M]�M
V�F�U(	d!4 �pP��M�(��L��Mi�Qt-
]
��	��p`0PĘȣM�(��LѣM�:@@F
�p
B:
�04�����
�p`P�M�(�M��Mp�$*�A:�r�
>	�#*�����r>�$*��!��r�Fo�#*����rF�$*���E�r�B�sA:�r�:�s�:�ra:�s�:�r�%�r�B�ra:�r�>#$*��A�
�r�B�s�:�ra��ra>P$*��
�raB�s:�r���r�>}$*�����rB�s�:�ra��ra>�$*���%�r�
B�s:�r���r�>�$*��P��r
B�s�:�ra��ra>$*������]V�
y9R�i9R�i-R�i	�"�&�*R2�4u0�6f:h0jXn�p�l�6ZF\0^Xb�d�`�6NRP6RXV�X�T�BbD6FRJ�LyH�6b86:R>�@y<�@*"&(	d4�pPĘP�M�(qMY�M��Qtd42p8� |�M(��M�6Kw$

4
2p8� ��M(	�L��M*T4i^���
�p`P8� ԦM(ݦM��M>1$*�r:�s�:�r:�s:�r�:�sA:�r:�s�:�r:�s�:�r�:�s	:�r:�sA	:�r���rB�r�:�r:�r:�r�:�r:�r�>Z$*��p�
�r�F�$*�����rF��#*���,�����xbP0F0 X0�2�.�4X6�8}4�:X<�>}:,d#4 ���pPĘ�M�(�YK�M	}|+	\�	��p`0PĘD�M�(��LM�M�4@@F
=p
BF
�+	:�	��p`0P��M�(��M��M��#*�r�:�1:�rp�� ��r� ��"�"�x0r�2
@("-�*4"���
�p`PĘ�M�(�L	�M�}z+	\�	��p`0PĘ8�M�(��LA�M�4@@F
=p
BF
�	4+"�
�p`P8� x�M(��MթMV�#*�r:�sA:�r�2�s�:�r�:�s�:�r���r�:�r�:�r�6��#*��Pl�� 
(�L�}(	d4�pP�M�(qM�M!�t-
a
��	��p`0PĘL�M�(U�M��M�$*`��:��A:�r�:�r!:�r!v��#��L@L
��
LN
2�p`0P8� ��M(��L��MZ��F�i
(	d4�pPĘ�M�(qM��M��Qt(	d4�pPĘ,�M�(5~L5�M��t+	\�	��p`0PĘd�M�(��Lm�M�4N@F
=p
BF
�(	d%4"�pP��M�(U9M��M�1�tT42pd	T42p8� �M(�M��M
$y`j�4rp`PT4r�p`

4
2p8� 8�M`=�M@
4
r	�p`H�0d4�pĘt�MR(�L}�M�N�B8� ��M(��M�EK�$B8� ��M(�.K:KB8� ЬM(�.K٬ML-
E�td4C
���PH�Hb�p`0� c���"$	d4���p� ���N$�BP00	"� o����$��42p8� ��M`��M�B8� ̭MxQ%K٭MzK�M��$

2P8� ��Mi�M�GLpt	d42�� آG��$�����$

4
Rp� ���$�&�$/�:��$/�;�$	4r�p`� q�W�'$W�RPB		b

4

rprp`0d4p4��P

4	
2P

4

�Pd42p8� L�M(U�M[�M]$6(*tdT4����B8� ��M`��MMH�Pd4rp8� ��M(ɯMկM
���>� 
�6T .r08� �M(��M
�M
���6$^$nJ$T(&�8� ,�M(5�M<�M
���~<�8� T�M(5�M]�M~@
4R����
p`Pd	T42p8� ��M(��M��M
��`>� JBT
4	2�p`8� ԰M(ݰM�M
���>� N�dT42p8� �M(�.K�M<�d
T42����p8� D�M(M�MY�M
���>� r$�RTt
dT
r�
t	dT42�8� ��M(�.K��MP�
42����
p`P
T42���p`8� �M(�M��M�$d�4rp8� �M(�M$�Mz$.�$
lx�Hd42p8� H�Mh�.KQ�M��/H�`d
4�p��MJ(��M��M�$���
42����p`
Pd	42p8� ̲M(ղM�M
\�p6�$H>22�*x$h d T 4 �����p
4
2����
p`P
tdT4��T
4	2�p`8� \�M(ݰMe�M4x!
tdT4��R�p`P0dT4
R����p
T
4����p`4R���p`	�����p
`P0
4R����p`P
�	tT42�
4r����p`PT4��p`8� \�M(e�M��MX>k$.{$.�$.�$.�$.�$.�$.�$.�$.
$V�6:�^T

4
2p8� ȴM`ʹM.d4�p�d	42p8� �M8Q%K
�M"�M�M`�N�$mN50td4r����PT4��p`

4
Rp8� p�M(y�M�M�$�d208� ��M(�.K�L4
R
p`P8� ��M(��M�gLW$T42p
T4r���p`d42p8� �M(�.K�M2td42p8� 0�M(�.K9�M,fT4R�p`�8� d�M(5�Mm�Mjbbr08� ��M(��M��M
���6� r26
��
��	p`0P8� ��M(ɶM߶M $2 �6_ $^ $d�d�y6@�dT42p8� �M(�.K�M8d42p8� 8�M(A�MG�M�$l0 �8� `�M(i�Mv�M
���2\��j`.f

4
rpd	4RptdT4d4
�p4�pd
T4rp8� �M(�M��M� $6� $
�6v:L
4R���
�p`P		�Pd42p8� @�M(�.KI�MJNdT42p8� l�M(u�M{�M$D<d4
rp8� ��M(��M��M:$V@dT42p8� ȸM`͸M6t4P8� �M(��M��M
����F<%.�'t d4#
��PĘ0�M�(9�MF�M
�aP2��
��IT�!!4!!����
p`P8� x�M(��M��M
�a�2�A��R�4�-v@

4
2p8� ��M`��M"t4P8� ܹM(�M�M
�@H�<T4��p`8� �M(�M%�M	!$2�pXB�&N�d4
�p8� L�M(�MU�MFLJV
d
T	42��p

4
2p8� ��M(��M��M
<`8F� ,�d42p8� ĺM(ͺM޺M�v`6Y!$.l!$��,�

4
2p8� ��M(�M�M�!$"� d42p8� ,�M(�.K5�MFz
d4�����p� �C��!$L[��!$
dT
4	2��p8� ��M(��M��M
Lw�>� Z��d42p8� ԻM(�.KݻM2xdT
4	RpB8� �M`
�Md4rp8� (�M`-�MTT
4	2�p`8� L�M(U�M[�M�!$��}d	42p8� |�M(��M��M"$L�,)%�td4#�PĘ��MR(żM̼M
X�@�%�
dT4���pd	T42p8� �M(�M!�M
Lw`>� L>�
td
T	4R�d	42p8� \�M(-�Ke�M��42�
�p`P8� ��M(��L��MiX42pR0
d4����
�p8� ̽M8Q%KٽM�M�M�A"$J%
4

�pH�@  htd
T	4R�xhr0..�&��xh4�p4
2
p`P8� l�M(u�M��Mi"$.y"$
d�}<�T4��p`8� ��M(��M��M
��F� ``�dT42p8� �M(�M�M�"$D:
4�����p`Pd42p8� ,�M(5�M;�M�"$::
T42���p`8� `�M(M�Mi�MV>5t
dT4
R���T4
2�p`8� ��M(��M��M
���>� ��""4��
�p`P�Mr(�M��M
��@>� nD�d	T42p8� $�M(��M-�MJ&�td42�8� P�M(�.KY�M	�d42p8� x�M(�.K��M2�d42p8� ��M(��L��M@4208� ȸM

4

rPd42p8� �M(�M�GL��`

4
2p8� �M(�M�M-#$,@Rd	T42p8� <�M(E�MK�M#$<:

208� `�M(i�Mo�M#$4

4
2p8� ��M(��M��M>�8� ��M(��M��M
���jF�

4
2p8� �M`�M�208� CK208� ��M(�M�MV#$L0d4rpT4��p`

d
Rpd42p8� X�M(a�Ml�Ms#$.�#$Z,�208� ��M`��M$	B��
��	p`P08� ��M(��M��M�#$6� �l\�4r�
�p`Pd4
r�pP208� �Kd4��pP8�  �M()�M/�M�#$d6Td42p8� P�M(Y�Me�M
`�`>� T&	d4�pPT4r�p`
td4���Pd4rp8� ��M(��M��M�#$.
$$t8�T
4R�p`8� �M(
�M�M $$.0$$�2:

4
2p8� 4�M`9�M�
dT4
R��p�08� d�M(m�Ms�M�$$DD\dT
4	Rp8� ��M(��M��M�$$JxPd
T4
rp8� ��M(�.K��M\jT4
r�p`8� ��M(�M!�MY$$* `6u$$�u$$.�$$.�$$
�8R4
4T
4R�p`d4��pPd42p8� l�M(�.Ku�MDH&
4����
�p`PH�pdT42p8� ��M(�.K��Mt6

208� ��M(��M5KL`
td4���P
�	td42�42p8� ,�M(5�M;�M�$$N^d42p8� X�M(�.Ka�M>H42p8� |�M(��M��M�v`0D�208� ��M`�RLtd4��208� ��M(��M��M%$.

4
2p8� ��M(�M�M;%$*4

4
2p8�  �M()�M/�M%$$D		B8� D�M(M�MT�M��`

4
rp8� l�M(u�M)=L
��@42p8� ��M(��M��Mv`6|%$8D.d42p8� ��M(��M��M
<`>� Hd
4	2��p� �C �C �%$208� �M(�M%�Md0
42����
p`P8� L�M(U�Ma�M
<�>� Vr����
�p`08� ��M8Q%K��M��M��M@�N�%$i�&$i
*�2�8208� ��M`��MBd	TRp
T4r���p`8� �M(�M�M
<@>� ��
t
dT4
r�8� H�M(�MQ�Mt�
tT4
R���
td4
R���
d
4R���
�p%%4%����p`P8� ��M(��M��M
<�>� f]
4�����p`P8� �M(�M�M
<�>� `M
td
4r��P
d
T	42��pd42p8� p�M(y�M��M �`:2d4�p
T42���p`PH��%%htdT4��dT4�p	�0� �w �w �&$�w �P0	�0� �w �w g&$�w `pp	

�� � �� �'$�� 	
d4����
�p� � ۔ -($۔ �� !� -($۔ 	r0� /� c� P($�� �� �� P($�� 
T	4����p`����p`P0
42����p`PR����p`0� �� \� �)$\� �� �� �)$�� �� �)$��
���p`0� �� �� p($�� �� 2� �($+h��
��p`0�#�� Q� �)$Q� � n� *$��
��p`0� �� �� 
)$�� �� y� <)$�� �� 
)$�� �� �� <)$d
T4
2����p
dT4���p	
td4
R���� 
� B� |� b� |� |� 	
td4
R���� � E� � e� � � 	td42�� �� ,� B� 	td42�� w� � � '
%
��	��p`0PH�*
1
��	��p`0PH�p
4�����p
`P%%4#%����p`P'
'
��	��p`0PH�(	td4�� �B!�C!=*$42
p
�d4���P8� h�M(q�Mx�M
@� ���	-td4��PH��""tN"dM"4L"H��P�4�P
�td4�P$d4pH��4�Pt5d4.���
�P'
d4����pPH�` t4�PH�`4,$���
�p`P

4
�P'
't3'd1'40'*����P
�td
4�Pt4�P#
#t#d#4#����Ptd4�Pd4�pt4PBBBB.	d�4���pPH��hd4rp+	��	��p`0PH��"
"t	"d"T"4"2�
d
T4R��pd4
�pH�@t
442p� �m!�m!S*$rP42p� �m!Kn!k*$4��p`� �n!(o!�*$42p� ^o!ko!k*$4	Rp� �q!Br!�*$Kr!Ur!�*$4Rp� �r!�s!�*$�s!�s!�*$
�t
d	4R�� w!w!�*$d42p� �w!�w!S*$�P42p� �y!�y!k*$�P42p� n|!x|!k*$42p� t!�!�*$20

�

BbtdT
4r���
T4r���p`

4
�Ptd�Pr
P
d4r���pP42p� }�!��!+$1
dT4����pH��d
4	Rp� �!�!!+$	D�
��	p`P0!�C0�!\�!��M!0�!\�!��Mx
h	x
h�	B� &�!.�!.�!20� z�!��!L+$4�P	20� ��!��!b+$+�!42p� U�!^�!+$4R�
�p`PrPb42p� ��!��!+$42p� �!�!+$b		�P42p� Y�!i�!+$42p� ��!��!+$42p� !�!Q�!+$42p� ��!��!+$'	h
4!
p	`PH��h4R���
�p`P�
0t	d42P	d	42p� �!�!}+$�!4�p
`PdT4�p
tdT
4��dT4�����ptT
4��		20�
P-
M
��	��p`0PH�Pbp`P004qf���
�p`PH� )4MB���
�p`PH�B

4
�p*4���
�p`PH��d	4Rp� +"c"�+$42p� �"�
"+$

20� �"�"�+$20� �'"�'"�+$tdT4�&	h	�p`0PH��td4
�p42p� �+"=,"+$

4
Rp� �5"l6"�+$b42p� �6"%7",$20� �8"�8"�+$42p� :"x:",$
d42����p� �C"-D"0,$*4( ���
�p`PH��-	T�4���p`H�@1T�4�����p`H�`7
%d%T%4%
����pH�@42p� �H"�H"S*$d42p
�t
4	2���� ZV"�V"G,$
4�����
p`P
d42����p� �["�["0,$0h�(td4�PH�p-
Utd4S�
����PH�X
td
4r���
d4����pP-	�	��p`0Ph#�F�����^,$�k"�n"����$	�	��p`P0H��-
E�td4C
���PH�`-
5td43�
����PH�P4r
��	�p`� =v"�v"j,$ow"�w"j,$42p� �t"�t"+$dT
4�phPh�
4�����
p`P+tV4URPH��#
4r���
�p`PH�8d42p� ��"�"�,$4rp`P+d�4��PH�p42p� 	�"��"+$

4
2p� k�"}�"�,$
T42���
�p-
�
��	��p`0PH��2
0T42`'	T4�p`H��$d*4)&pH� 
4!
pH�� r�	��p`0PH�0'	T*4)$�p`H�$d(4'$pH�)	d)T(4'$pH�
td4
R���� {�"k�"�+$d42pt
d	4R�� ��"6�"�+$		BtdT
4r���#
4r���
�p`PH�0'
't'd'4'����P

4
�p� ��"��"�,$rPT4
R�p`		�
����H�!(
(� t�d�T�4���"��"��M!��"��"��M4r�
�p`PH�0

h��
t4

4
2p8� (�M@-�M&%4!#	PH��

4
2p8� (�M4Rp8� p�MHy�M��M
�#@`,B8� (�M
dT
4r��p8� ��MH��M��M�1$X|		B8� ��MH��M-�M-$4Ttp42p8� �MH�M-�M-$4Tt�����
�p`08� @�MXM�MY�Mg�M_-$0>�-$a�M�.$
���2�
��	p`P08� ��MY��M��M��M��-$6�-$X`�-$
��M�-$�,y��6�0(��BP08� ��MI�M	�M��-$
��B8� $�M-�M>�MTtp>-$fS-$8(B8� X�Ma�M>�MTtp>-$fG-$d
4R��p� �#�#�1$	

4
2p� m#�#P($�#BTt��M�M8�M`�MP5N�����i�5N�����i�5N����k�5N�����pTt��M��M��M`�M�5N����  jTt8�MX�M��M`�M�6N����X��6N������Tt��M��M`�M�9N�����Tt(�M��M`�M�9N����(�"�9N����(�Tt��M��M@�Mh�M��M`�M:N����(�Tt(�M��M`�MTt`�M��M��M`�M�>N����X�Tt��M��M��M`�MPFN������Tt0�MX�M��M��M`�M�eN���� �Tt��M��M��M`�MhN����F	Tt�M �M`�M�eN����(�}�rh�Mx�M�rN���� ��t���M��M �M`�M({N����@�Tt(�M@�M`�M�~N����0� w��M8�M`�M w��M��M��M`�M��N�����v w(�M@�M`�M�N����HvTt��M@�Mh�M��M`�M w��M��M`�M�N����l� w0�MH�M`�M�N���� �� w��M��M`�M��N������ w��M�M`�M��N����P� wP�Mh�M`�M �N����� w��M��M`�M�N����L w�M(�M`�M؋N����� wp�M��M`�M@�N����L� w��M��M`�M�N������ w0�MH�M`�MP�N���� � w��M��M`�M��N����� w��M�M`�M`�N����|� wP�Mh�M`�M��N����@� w��M��M`�M@�N������ w�M(�M`�M�N����� wp�M��MH�M`�M`�N���� �S  w��M��M �M`�M�N���� � H�N����\�  wh�M �M`�M w��M��M`�Mp�N����`� ������Muu�M��M��M����@��p��0p� � !@!�!�!"@"�"�" #`#�#�# $`$�$�$ %�%�% &`&�&�& '`'�'�'@(�(0)`)�)*@*0+�+�,�,�- .�./�/�/�0`1�12P2�2�2@3�3�34@4�4�45@5�5�56@6�6�67@7�7�78@8�8�89@9�9�9:@:�:�:;@;�;�;<@<�<�<=@=�=>P>�>�>?P?�?��M�M�M��M	�M�M6�MO�Mi�M}�M��M��M�M�M�M�M)�MC�M_�Mw�M��M��M�M�M��M�M$�MG�MZ�Mv�M��M��M�M�M��M
�M6�Ma�M�M��M�M�M�M�M�M4�MS�Mp�M��M��M�M�M�M.�MG�Mr�M��M��M�M�M�M�M4�M[�Mm�M��M��M��M�M�M��M�M#�M:�MR�Me�M��M��M��M�M�M�MN N7NWNqN�N�N�N�N�N�NN%N>NTNhN{N�N�N�N�N�NN)N=NRNbNzN�N�N�N�N�NNN	

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstclDNN64.dllcldnn_activation_grad_type_idcldnn_activation_type_idcldnn_add_event_handlercldnn_add_primitivecldnn_allocate_memorycldnn_allocate_networkcldnn_apply_adam_type_idcldnn_arg_max_min_type_idcldnn_attach_memorycldnn_average_unpooling_type_idcldnn_batch_norm_grad_type_idcldnn_batch_norm_type_idcldnn_border_type_idcldnn_broadcast_type_idcldnn_build_networkcldnn_build_programcldnn_change_input_layoutcldnn_concatenation_type_idcldnn_condition_type_idcldnn_contract_type_idcldnn_convolution_grad_weights_type_idcldnn_convolution_type_idcldnn_create_enginecldnn_create_topologycldnn_create_user_eventcldnn_crop_type_idcldnn_custom_gpu_primitive_type_idcldnn_data_type_idcldnn_deconvolution_type_idcldnn_detection_output_sort_type_idcldnn_detection_output_type_idcldnn_eltwise_type_idcldnn_embed_type_idcldnn_execute_networkcldnn_float_to_halfcldnn_fully_connected_grad_input_type_idcldnn_fully_connected_grad_weights_type_idcldnn_fully_connected_type_idcldnn_fused_conv_bn_scale_type_idcldnn_fused_conv_eltwise_type_idcldnn_gemm_type_idcldnn_generic_layer_type_idcldnn_get_engine_countcldnn_get_engine_infocldnn_get_engine_typecldnn_get_event_profiling_infocldnn_get_last_error_messagecldnn_get_learning_ratecldnn_get_max_used_device_memory_sizecldnn_get_memory_enginecldnn_get_memory_layoutcldnn_get_network_all_primitive_namescldnn_get_network_all_primitive_org_namescldnn_get_network_enginecldnn_get_network_executed_primitive_namescldnn_get_network_outputcldnn_get_network_output_eventcldnn_get_network_output_memorycldnn_get_network_output_namescldnn_get_network_programcldnn_get_primitive_idscldnn_get_primitive_infocldnn_get_temp_used_device_memory_sizecldnn_get_versioncldnn_half_to_floatcldnn_index_select_type_idcldnn_input_layout_type_idcldnn_is_the_same_buffercldnn_is_user_eventcldnn_lock_memorycldnn_lookup_table_type_idcldnn_lrn_type_idcldnn_lstm_elt_type_idcldnn_lstm_gemm_type_idcldnn_lstm_type_idcldnn_max_unpooling_type_idcldnn_mutable_data_type_idcldnn_mvn_type_idcldnn_normalize_type_idcldnn_one_hot_type_idcldnn_permute_type_idcldnn_pooling_type_idcldnn_prior_box_type_idcldnn_proposal_type_idcldnn_pyramid_roi_align_type_idcldnn_region_yolo_type_idcldnn_release_enginecldnn_release_eventcldnn_release_memorycldnn_release_networkcldnn_release_pending_memorycldnn_release_programcldnn_release_topologycldnn_reorder_type_idcldnn_reorg_yolo_type_idcldnn_reshape_type_idcldnn_retain_enginecldnn_retain_eventcldnn_retain_memorycldnn_retain_networkcldnn_retain_programcldnn_retain_topologycldnn_roi_pooling_type_idcldnn_scale_grad_input_type_idcldnn_scale_grad_weights_type_idcldnn_scale_type_idcldnn_select_type_idcldnn_set_eventcldnn_set_learning_ratecldnn_set_network_inputcldnn_softmax_loss_grad_type_idcldnn_softmax_type_idcldnn_split_type_idcldnn_tile_type_idcldnn_unlock_memorycldnn_upsampling_type_idcldnn_wait_for_eventXN 
N�c$�N�
N@e$�NN`$	N�Nhe$�NN�N�N�N�N�N�N�NzNpN^NNN:N.N"NNN�N�N�N�N�N�N�N�NnNXNHN:N*NNN�N�N�N�N�N�N�NpNTN8N$N�
N�
N�
N�
N�
N�
NNN�N�N�N�N�N�N�NnN�N�N�N�NNN2NLNhNxN�N�N�N�N�N�NNN N*NDNTNhNzN�NN�N�N�N�N�N�NN$N>NRNnN�N�N�N�N�N�NNN$N:NJN^NrN�N�N�N�N�NN*NHNZNJ	N^	Nv	N�	N�	N�	N�	N�	N�	N�N
N
N6
NR
Nf
Nx
N
N�N�N�N�N�N~NlNZNFN,NNN�N�N8	N�N�N~NhNRN@N0NNN�
N�
N�
N�
N�
N�
NJ
Nb
N�
N,
N N>NRNbNrN�N[clReleaseDeviceZclReleaseContextYclReleaseCommandQueuecclRetainDevicebclRetainContextclCreateCommandQueueWithPropertiesclCreateCommandQueueCclGetDeviceInfo]clReleaseKernelnclSetKernelArg=clFinishclCreateProgramWithSourceclCreateProgramWithBinary_clReleaseProgramclBuildProgramUclGetProgramInfoTclGetProgramBuildInfoclCreateKernelsInProgrameclRetainKernelMclGetKernelInfoclCreateBuffer
clCreateImagefclRetainMemObject^clReleaseMemObjectdclRetainEvent\clReleaseEvent$clEnqueueFillBuffer%clEnqueueFillImage&clEnqueueMapBuffer'clEnqueueMapImage8clEnqueueUnmapMemObjectaclRetainCommandQueue?clGetCommandQueueInfouclWaitForEventsDclGetEventInfomclSetEventCallbackEclGetEventProfilingInfoRclGetPlatformIDsBclGetDeviceIDsclCreateContext@clGetContextInfoclCreateUserEvent>clFlush+clEnqueueNDRangeKernel)clEnqueueMarkerWithWaitListclEnqueueBarrierWithWaitListrclSetUserEventStatusOpenCL.dllhSetupDiGetDeviceInstanceIdA@SetupDiEnumDeviceInfo=SetupDiDestroyDeviceInfoListQSetupDiGetClassDevsASETUPAPI.dllNHeapAllocRHeapFree�GetProcessHeapyGetModuleFileNameA|GetModuleHandleExA{GetModuleHandleAKERNEL32.dll'BCryptOpenAlgorithmProvider!BCryptGetPropertyBCryptEncryptBCryptDecrypt$BCryptImportKeyBCryptDestroyKeybcrypt.dll
WideCharToMultiByte5EnterCriticalSection�LeaveCriticalSection�TryEnterCriticalSectionDeleteCriticalSection"GetCurrentThreadIdPQueryPerformanceCounterQQueryPerformanceFrequency1EncodePointer
DecodePointer�MultiByteToWideChar?SetLastErrorhInitializeCriticalSectionAndSpinCount�CreateEventW�SwitchToThread�TlsAlloc�TlsGetValue�TlsSetValue�TlsFree�GetSystemTimeAsFileTimeGetTickCount~GetModuleHandleW�GetProcAddress�LCMapStringWkGetLocaleInfoW�GetStringTypeW�GetCPInfo�CloseHandle$SetEvent�ResetEvent�WaitForSingleObjectExlInitializeSListHead�RtlCaptureContext�RtlLookupFunctionEntry�RtlVirtualUnwind�UnhandledExceptionFilter{SetUnhandledExceptionFilterGetCurrentProcess�TerminateProcess�IsProcessorFeaturePresent�IsDebuggerPresent�GetStartupInfoWGetCurrentProcessIdgGetLastError�Sleep�SignalObjectAndWait�CreateThreadkSetThreadPriorityGetThreadPriorityoGetLogicalProcessorInformation�CreateTimerQueueTimerxChangeTimerQueueTimerDeleteTimerQueueTimer�GetNumaHighestNodeNumber�GetProcessAffinityMask`SetThreadAffinityMask�RegisterWaitForSingleObject�UnregisterWait!GetCurrentThreadGetThreadTimes�FreeLibrary�FreeLibraryAndExitThreadzGetModuleFileNameW�LoadLibraryExW$GetVersionExW�VirtualAlloc�VirtualProtect�VirtualFree/DuplicateHandle�ReleaseSemaphoreqInterlockedPopEntrySListrInterlockedPushEntrySListpInterlockedFlushSListFQueryDepthSList�UnregisterWaitEx�CreateTimerQueue�LoadLibraryW�RtlPcToFileHeaderfRaiseException�RtlUnwindExdExitProcess}GetModuleHandleExW�GetStdHandleUGetFileType�IsValidLocaleGetUserDefaultLCIDYEnumSystemLocalesW�FlushFileBuffers!WriteFile�GetConsoleCPGetConsoleModewReadFileSGetFileSizeEx1SetFilePointerExtReadConsoleWUHeapReAllocDeleteFileWWHeapSize{FindClose�FindFirstFileExW�FindNextFileW�IsValidCodePage�GetACP�GetOEMCP�GetCommandLineA�GetCommandLineW>GetEnvironmentStringsW�FreeEnvironmentStringsWWSetStdHandle�CreateFileW WriteConsoleWSetEndOfFile�RtlUnwind��$�H�$��$��$���$��%�(%�0	%��
%�H%��0%�`5%��9%�P=%�xJ%�(Q%��T%��V%�X%�(\%�pa%�xd%�Ph%�pn%��p%�s%�0u%�xw%�Xy%�H|%��~%��%���%��%���%���%��%��%�P�%�H�%���%�P�%���%���%�h�%���%���%�x�%���%���%�(�%���%�X�%�`�%���%�X�%� �%���%���%���%���%�`&��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� JF�
!"2*#3+x�$�p�$�
�] �f��2��-�+u������/ ��2�������������F��F� �F�0�F�@�F�`�F�p�F�����x�F��)N�@+Q�@+Q�@+Q�@+Q�@+Q�@+Q�@+Q�@+Q�@+Q��)N�D+Q�D+Q�D+Q�D+Q�D+Q�D+Q�D+Q� )N�..  $��F���F�������F���F��,N��,N��,N��,N��,N� )N��F���F���F� +N��.N�C���������


����PSTPDT�-N�0.N�                          abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ                          abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ�`�y�!�������@~�����ڣ ��@����ڣ ��A��Ϣ���[��@~��QQ�^� _�j�2�����1~�����������WG���$�h�F�hWG���$��:F���F�.?AVbad_array_new_length@std@@��F�.?AVbad_alloc@std@@��F�.?AVexception@std@@��F�.?AVruntime_error@std@@��F�.?AVerror@cldnn@@��F�.?AV<lambda_244dc94ebbdc92f14f0e938535f749a2>@@��F�.?AV<lambda_4f0cf5b91a71cc4d0bb4d16e165e066c>@@��F�.?AVinvalid_argument@std@@��F�.?AVlogic_error@std@@��F�.?AV<lambda_2dc4afda8140de4eb47ba5a4a1101503>@@��F�.?AV<lambda_82f859a5c54b1b14c74365120c601f75>@@��F�.?AV<lambda_b38f7e895a04113d261aa1b0011def42>@@��F�.?AV<lambda_be131ed2a04ad8b6fb59aa1bf8a08d97>@@��F�.?AV<lambda_9c0d1dc67bdf324201ecb7e6192d2d0a>@@��F�.?AV<lambda_4b40aa3958ddafc723a0ad4e57b7fc87>@@��F�.?AV<lambda_9d0bcdedf7d646d03a1be13a080ca388>@@��F�.?AU?$default_delete@Uprimitive_impl@cldnn@@@std@@��F�.?AV<lambda_ba0307f7421d97da33c6e05c41f06e3e>@@��F�.?AV<lambda_aeec84a34e793a5e5c45c755bdf67f62>@@��F�.?AVbad_cast@std@@��F�.?AVsystem_error@std@@��F�.?AV_System_error@std@@��F�.?AVfailure@ios_base@std@@��F�.?AV<lambda_e9ca396c356a5c4bf14f7ba425a3476b>@@��F�.?AV<lambda_3f4f411479207406a970beefd310e7ce>@@��F�.?AV<lambda_474d183f40e241f629910bb2dba4136a>@@��F�.?AV<lambda_c7f0044438343a3be19a5a32d2d0820f>@@��F�.?AV<lambda_1c54159746fe9bdbc8eea330fc389fbf>@@��F�.?AV<lambda_83272fb89de13e5b2c33bce89900fcf0>@@��F�.?AV<lambda_fca1e11d896b5ab272d5a2e5d8e18f2c>@@��F�.?AV<lambda_b3c1b4fb165df15d7c8d1719cc81b535>@@��F�.?AV<lambda_9991c1186dd4904929c76d40074d0f19>@@��F�.?AV<lambda_f79ac3d5836c2cd997a9de4edbab9d6e>@@��F�.?AV<lambda_41f373bea6c3c60246526ffc0fb0adc6>@@��F�.?AV<lambda_3af68d56e97f56fb921cd8ba8e44cd65>@@��F�.?AUprimitive_impl@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Ufully_connected@cldnn@@@gpu@cldnn@@��F�.?AV<lambda_fee93cb3f66bc68a0599d00afc02bcaa>@@��F�.?AV<lambda_207e66ee373569d525bc8eca60b7bc3e>@@��F�.?AV<lambda_feefa18208dca6b25e1b702ef8698eca>@@��F�.?AV<lambda_96a8a425b17a133ecebdbcf49002f204>@@��F�.?AVrange_error@std@@��F�.?AV<lambda_0e9c031e79ee458f3d63412d031abb8a>@@��F�.?AV<lambda_6a8094cb96f2e990d25afedd4da36b80>@@��F�.?AV<lambda_d23b5d56f96c369a1072fcd485d40302>@@��F�.?AV<lambda_10f93990b095e939a2e9cf29ee5c37e0>@@��F�.?AV<lambda_768b8fb659d8e7adbef55e4bc4b54690>@@��F�.?AV<lambda_52a001527af97ad7dbeb5e78f860aca0>@@��F�.?AV<lambda_98b9dd98fbbdc993aadba80ce69b8577>@@��F�.?AV<lambda_c7917558290480081437f338af93cdc2>@@��F�.?AV<lambda_41c39dc8af17ee4e75b4809ab178ca1c>@@��F�.?AV<lambda_e0c7271ee6b4d19fdf06a8a2c8ce8d6f>@@��F�.?AV<lambda_aeead87ad163df83e639d5ef835c8987>@@��F�.?AV<lambda_d704397abda87e88ec8f1a19ed1be6db>@@��F�.?AV<lambda_eaf1e7d55cb222435696025535c41d09>@@��F�.?AUmemory_impl@cldnn@@��F�.?AUgpu_buffer@gpu@cldnn@@��F�.?AV<lambda_4409b3bb4b288117bdd628cda89ab5e0>@@��F�.?AV<lambda_dba99d7ad6dd42b2746ae82f5bd5b70f>@@��F�.?AV<lambda_5d04b0418d941733b9096294c7ed0e37>@@��F�.?AV<lambda_9a0df6358217f5d2bc40167463d5ef26>@@��F�.?AV<lambda_fd32e988115b84f048f08b04e930ad42>@@��F�.?AUactivation@cldnn@@��F�.?AUactivation_grad@cldnn@@��F�.?AV<lambda_a92684715cc3ca9099a87865d4d72336>@@��F�.?AUapply_adam@cldnn@@��F�.?AV<lambda_394aa8eb6390a9a367ed7540bfe86ece>@@��F�.?AUarg_max_min@cldnn@@��F�.?AV<lambda_02d1b067ecec535ccc849617be7d75dd>@@��F�.?AUaverage_unpooling@cldnn@@��F�.?AV<lambda_c9a3738728f3dabe4ea46a169554a9ae>@@��F�.?AUbatch_norm@cldnn@@��F�.?AUbatch_norm_grad@cldnn@@��F�.?AUbroadcast@cldnn@@��F�.?AVout_of_range@std@@��F�.?AUevent_impl@cldnn@@��F�.?AUuser_event@cldnn@@��F�.?AV<lambda_35960a10e39bced932cde486707f46bb>@@��F�.?AV<lambda_d94390152afbf68d9053c73956bc8535>@@��F�.?AV<lambda_30e48b74246ec77e1879e71146a19ef6>@@��F�.?AV<lambda_32c3a52b3bfe9b30b52273322dfc1a51>@@��F�.?AV<lambda_423a4c46e80882102adb00bdd4a3add0>@@��F�.?AV<lambda_de249e3a7f50fcf99151e32cce7c7db3>@@��F�.?AV<lambda_6100bbb3019c2cb69c6dba1e36c5643f>@@��F�.?AV<lambda_060766ea1a49e2a6b2ad94085dbca718>@@��F�.?AV<lambda_e14e005fd733e14a6dc283993e70ef09>@@��F�.?AV<lambda_5c24ceb5019ca97654a68da868f45f11>@@��F�.?AV<lambda_6a1854813b7c5e46798650c917b2e95e>@@��F�.?AV<lambda_139be95336416c00335c172aa7d8eae6>@@��F�.?AV<lambda_e2865f937431cecf73cfcca401af2713>@@��F�.?AV<lambda_58df35ca35d4a5e628e2e813c868143b>@@��F�.?AV<lambda_a287a0fe0745c694c9f7ea9c68312fd3>@@��F�.?AV<lambda_a402c321f0295699fee2c72196a81e0c>@@��F�.?AV<lambda_c7810e429482b69cf48f6ab180b2af91>@@��F�.?AV<lambda_b91ea883dded8b3dc562bfed68b406bd>@@��F�.?AV<lambda_cae134ddc73d59753eb23b3e078c41cc>@@��F�.?AV<lambda_32eb6da6fde7e02392469ad4bc02afa0>@@��F�.?AV<lambda_8bfbd26a645e66fbe0753c4f5f1fab4c>@@��F�.?AV<lambda_e0b2202e3621028b1997fb0a6b769f21>@@��F�.?AV<lambda_4100cd30137c571ef53f84a4b98f438b>@@��F�.?AV<lambda_ba29b7a9d7f068db876d853880d32aff>@@��F�.?AV<lambda_68f0d001105753f904945fbe4ad1a486>@@��F�.?AV<lambda_5becd5d8ecd496f802dc5b5e2e0d5592>@@��F�.?AV<lambda_e385648965299d1f800e8b74d8247cf4>@@��F�.?AV<lambda_2558494c6379b597e1f438483837ea66>@@��F�.?AV<lambda_fee8d4fc713ff7ca4b07ab6bd25e0b6f>@@��F�.?AV<lambda_8589b66f1d15c3b4d767bcfcb1155a26>@@��F�.?AV<lambda_30c108a3f789e6be79ee21b79c948b0b>@@��F�.?AV<lambda_e135f7d4dad8d5eb7428da1074a71966>@@��F�.?AV<lambda_c0a6144775b4f29c664795afe418bafd>@@��F�.?AV<lambda_4f87857cdd367af8ffed2bc5460b79e5>@@��F�.?AV<lambda_11e1f8b8a4e3a8b16e9cefb8c76526b2>@@��F�.?AV<lambda_90671e6f5511915854959c95ec03008c>@@��F�.?AV<lambda_0b037ab575bde98d1ed56870a7f76033>@@��F�.?AV<lambda_e5c728fa519d02de9711a677c9b0705f>@@��F�.?AV<lambda_10c0eeb50d851be6616ae6d5f9bec365>@@��F�.?AV<lambda_e751e6fb30bbc2c6d895a06efb0711d7>@@��F�.?AV<lambda_3beb9046803aa34ea153b07d3a8c1283>@@��F�.?AV<lambda_3bfd419bd8f12dccfcb18ea9430be57a>@@��F�.?AV<lambda_fb76574271ef4921785557ed57e63983>@@��F�.?AV<lambda_2c1a7fcdeb9888447080f1755a20f4f0>@@��F�.?AV<lambda_35d40a44d10dec02f67a3fc5d02a31ac>@@��F�.?AV<lambda_9691c553313ee25f94c575a7c69d1392>@@��F�.?AV<lambda_b97c75680b5494873e4b9b32bd8832dc>@@��F�.?AV<lambda_f8132d6e2d750cbdc4aa25e6b1d2007a>@@��F�.?AV<lambda_b4c36712b572840ade4db57470836387>@@��F�.?AV<lambda_cb41e07f392812c4a94b5a2108815453>@@��F�.?AV<lambda_8d9d9498c3228d0e06795cd0f7cfb8ef>@@��F�.?AV<lambda_6000c42b3d127cc5427a0d9ae540ea0e>@@��F�.?AV<lambda_1e16c72731c70f634504bfb6b935e6ea>@@��F�.?AV<lambda_eff985abef9792d5646731b42441a97b>@@��F�.?AV<lambda_20eb4f7604973960a23990975d53765d>@@��F�.?AV<lambda_0cf959aa91f2eee4a039a45df909ceb2>@@��F�.?AV<lambda_bd51d716bb7e5d504c6456d78184d508>@@��F�.?AV<lambda_4b55001577561508689af37e6e5cbcfa>@@��F�.?AV<lambda_ddc5de76fd38644ce754cb7bee082993>@@��F�.?AV<lambda_b856f1a46cbf04002897a2f43886473b>@@��F�.?AV<lambda_145e3e76ed885f8e858fbff761c7f3c4>@@��F�.?AV<lambda_9c38699f73e3a975d03c00ad4e0c5fab>@@��F�.?AV<lambda_f8e1635f8db282ba39ace7018123e1af>@@��F�.?AV<lambda_72edc8386410b1e9f9db7a6a9a81b61d>@@��F�.?AV<lambda_5b88d12c9b0406a29aaf08e16fbb43c4>@@��F�.?AV<lambda_8668ab9c7f3fb95b014b8d29fdbb86ef>@@��F�.?AV<lambda_8670d327f0053ccbbc7dd3df42c3f10b>@@��F�.?AV<lambda_dbf5da693d0e0779dd3bca2a0065177e>@@��F�.?AV<lambda_078e1bde586fc899076c547cb64f96c2>@@��F�.?AV<lambda_a7044a5147b6d72b5df71d62c3be8c53>@@��F�.?AV<lambda_66c82ae922b1812636d8a9adfc21a521>@@��F�.?AV<lambda_9dd6181ee6b54dbf1c2787918cc82590>@@��F�.?AV<lambda_e2189d7a822ca4e1bfc57bb0b0168f21>@@��F�.?AV<lambda_cd7a8edab9f8dc10415aad8d87f03d9d>@@��F�.?AV<lambda_3aa5868263786e4dcb56eeca7bb3da09>@@��F�.?AV<lambda_193d175e4f002050c583bd6337f548bc>@@��F�.?AV<lambda_5bf215710559e93c5b604f9cc3944c90>@@��F�.?AV<lambda_13ccbfe2e79981d21490b423fb80c10d>@@��F�.?AV<lambda_7600a2d4747761b562e9203d74e5d326>@@��F�.?AV<lambda_15d6d66d49d607b54037caa852542e7c>@@��F�.?AV<lambda_27820f25ddd0adf11ba88ecc6c9b30b5>@@��F�.?AV<lambda_3966d0307822ad1abaabdfd6510123ac>@@��F�.?AV<lambda_c649230e4b9ce570e9a6a92d8ef5c8a6>@@��F�.?AV<lambda_937f17ed52f5607af4bb94ff76182c38>@@��F�.?AV<lambda_cb89e07df6159cbeac0d65fc3e8b0fbb>@@��F�.?AV<lambda_a1be1bbe2fc3a4a0257733382ba163f8>@@��F�.?AV<lambda_aa7708642b4276138548725a9308ffad>@@��F�.?AV<lambda_c82665a4a2c411df8edccb0d99fa9eef>@@��F�.?AV<lambda_0a5517dd9f06fc4a423fb1b42f45f758>@@��F�.?AV<lambda_e3d50e6f146817096f8f32d4fc31a1ce>@@��F�.?AV<lambda_7999997d9c88bc03e27a7446590a7cf9>@@��F�.?AV<lambda_f9e31c10f226996a9b4b96ba1042a708>@@��F�.?AV<lambda_0b6a85eff4f87841e0a8c443bf9bf447>@@��F�.?AV<lambda_fa0b773db443ec477636537bc15910eb>@@��F�.?AV<lambda_199334a7b6709048365de3d1cc6bfed3>@@��F�.?AV<lambda_af267af86454195097ad18954513b1fe>@@��F�.?AV<lambda_7c0083fd60a5ddf2acb4d31c9ecfeca0>@@��F�.?AV<lambda_cccc9126a4c95646f2f20f1861dc8e79>@@��F�.?AV<lambda_5d086eebc3ec121e2247dd59e765565e>@@��F�.?AV<lambda_b9f6a6330b431526e96fbd216077ae4c>@@��F�.?AV<lambda_a4a3d82d0ce5e8bc8c1534632aa0e679>@@��F�.?AV<lambda_9d77282aed4768e30c882bb82e527915>@@��F�.?AV<lambda_e40f92ec6d8bf6223dea833a93074c45>@@��F�.?AV<lambda_21a16cf3ec86348f34d372b5baa1ab3e>@@��F�.?AV<lambda_51068cc279cb345c3dd3cfbe05f042ed>@@��F�.?AV<lambda_118d2230deffe1ace4222528539b1b41>@@��F�.?AV<lambda_3cae3a760d844d674f0424e5c08a3e96>@@��F�.?AV<lambda_91c349a625648b4da69750411f0db742>@@��F�.?AV<lambda_6cb9d2fb68932c6532d9052c9768048d>@@��F�.?AV<lambda_d33abf3dc2ead9bf6bcb80037cf06047>@@��F�.?AV<lambda_291210d97fc47840fef319861bebe283>@@��F�.?AV<lambda_916964d7cc7540dd55c9a45fcfa62a51>@@��F�.?AV<lambda_3444190b50a6974950fae7f112caf08d>@@��F�.?AV<lambda_9842cd36dc59ba12f2de7c3abc997244>@@��F�.?AUcondition@cldnn@@��F�.?AV<lambda_87e01560176e2b4f084b3ca46285fd40>@@��F�.?AV<lambda_6faa84704e693f31f025f42d646d6ede>@@��F�.?AUcontract@cldnn@@��F�.?AV<lambda_eadc1b86e6e985f5ac5a4a45201e65ea>@@��F�.?AUconvolution_grad_weights@cldnn@@��F�.?AV<lambda_218e8e13e7aedd3abfe000f859b5db18>@@��F�.?AUcustom_gpu_primitive@cldnn@@��F�.?AUdetection_output@cldnn@@��F�.?AUembed@cldnn@@��F�.?AVError@cl@@��F�.?AVocl_error@gpu@cldnn@@��F�.?AUfully_connected@cldnn@@��F�.?AUfully_connected_grad_input@cldnn@@��F�.?AV<lambda_c7b25a97f229d76e2668e7b7fdcab191>@@��F�.?AUfully_connected_grad_weights@cldnn@@��F�.?AV<lambda_395df75b90f4ffb6abfc157987bfb53e>@@��F�.?AUgemm@cldnn@@��F�.?AV<lambda_ab01318478252fdc3a555c604e923c41>@@��F�.?AUgeneric_layer@cldnn@@��F�.?AUindex_select@cldnn@@��F�.?AV<lambda_312d31e3b0e5da3153da6965c43fd9da>@@��F�.?AVdomain_error@std@@��F�.?AV<lambda_a932dda1bb2c07cd1b7d0f749edacc8d>@@��F�.?AUlookup_table@cldnn@@��F�.?AV<lambda_5bc4a8b71f7cc284be63f13266bdd1af>@@��F�.?AUlrn@cldnn@@��F�.?AUlstm@cldnn@@��F�.?AUmax_unpooling@cldnn@@��F�.?AUmvn@cldnn@@��F�.?AUnormalize@cldnn@@��F�.?AUone_hot@cldnn@@��F�.?AV<lambda_7ac559b69beb4b5107152f35f6e7858e>@@��F�.?AUpermute@cldnn@@��F�.?AUpooling@cldnn@@��F�.?AUprior_box@cldnn@@��F�.?AUproposal@cldnn@@��F�.?AUpyramid_roi_align@cldnn@@��F�.?AV<lambda_cda0155cd626af22a23f835bcd32f8a5>@@��F�.?AUregion_yolo@cldnn@@��F�.?AV<lambda_b076f49f8eb855d28945d7d2217eb76f>@@��F�.?AUreorg_yolo@cldnn@@��F�.?AUroi_pooling@cldnn@@��F�.?AUscale@cldnn@@��F�.?AUscale_grad_input@cldnn@@��F�.?AV<lambda_b11464dd54141b31ecf921caf24d47f3>@@��F�.?AUscale_grad_weights@cldnn@@��F�.?AUselect@cldnn@@��F�.?AV<lambda_06bc0e1c14814354b10b4fc98426c663>@@��F�.?AUsoftmax@cldnn@@��F�.?AUsoftmax_loss_grad@cldnn@@��F�.?AV<lambda_f62b89a319d30409986d572ab3727716>@@��F�.?AUsplit@cldnn@@��F�.?AUtile@cldnn@@��F�.?AV<lambda_01f66cb71e218ec5ead99b1356effd29>@@��F�.?AUupsampling@cldnn@@��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uactivation@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uactivation_grad@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uapply_adam@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uarg_max_min@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uaverage_unpooling@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ubatch_norm@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ubatch_norm_grad@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uborder@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ubroadcast@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uconcatenation@cldnn@@@1@@Z��F�.?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ucondition@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ucontract@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uconvolution@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uconvolution_grad_weights@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ucrop@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ucustom_gpu_primitive@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Udeconvolution@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBV?$typed_program_node@Udetection_output_sort@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBV?$typed_program_node@Udetection_output@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ueltwise@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uembed@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ufully_connected@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ufully_connected_grad_input@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ufully_connected_grad_weights@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ufused_conv_bn_scale@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ufused_conv_eltwise@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ugemm@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ugeneric_layer@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uindex_select@cldnn@@@1@@Z��F�.?AUgpu_image2d@gpu@cldnn@@��F�.?AVBuildError@cl@@��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ulookup_table@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ulrn@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ulstm_elt@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ulstm_gemm@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Umax_unpooling@cldnn@@@1@@Z��F�.?AUbase_event@gpu@cldnn@@��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Umutable_data@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Umvn@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Unormalize@cldnn@@@1@@Z��F�.?AVbad_weak_ptr@std@@��F�.?AUuser_event@gpu@cldnn@@��F�.?AUbase_events@gpu@cldnn@@��F�.?AUocl_base_event@gpu@cldnn@@��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uone_hot@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Upermute@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Upooling@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uproposal@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Upyramid_roi_align@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uregion_yolo@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ureorder@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ureorg_yolo@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ureshape@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uroi_pooling@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uscale@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uscale_grad_input@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uscale_grad_weights@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uselect@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Usoftmax@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Usoftmax_loss_grad@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Utile@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uupsampling@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uprior_box@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uinput_layout@cldnn@@@1@@Z��F�.P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Udata@cldnn@@@1@@Z��F�.?AVlength_error@std@@��F�.?AVbad_function_call@std@@��F�.?AV_Locimp@locale@std@@��F�.?AVstl_critical_section_interface@details@Concurrency@@��F�.?AVstl_critical_section_vista@details@Concurrency@@��F�.?AVstl_critical_section_win7@details@Concurrency@@��F�.?AVstl_critical_section_concrt@details@Concurrency@@��F�.?AV_Generic_error_category@std@@��F�.?AVtype_info@@��F�.?AVimproper_lock@Concurrency@@��F�.?AVscheduler_resource_allocation_error@Concurrency@@��F�.?AVscheduler_worker_creation_error@Concurrency@@��F�.?AVunsupported_os@Concurrency@@��F�.?AVimproper_scheduler_attach@Concurrency@@��F�.?AVimproper_scheduler_reference@Concurrency@@��F�.?AVcontext_unblock_unbalanced@Concurrency@@��F�.?AVcontext_self_unblock@Concurrency@@��F�.?AVmissing_wait@Concurrency@@��F�.?AVinvalid_scheduler_policy_key@Concurrency@@��F�.?AVinvalid_scheduler_policy_value@Concurrency@@��F�.?AVinvalid_scheduler_policy_thread_specification@Concurrency@@��F�.?AVnested_scheduler_missing_detach@Concurrency@@��F�.?AVinvalid_oversubscribe_operation@Concurrency@@��F�.?AVinvalid_operation@Concurrency@@��F�.?AUITopologyExecutionResource@Concurrency@@��F�.?AUITopologyNode@Concurrency@@��F�.?AUTopologyObject@GlobalCore@details@Concurrency@@��F�.?AUTopologyObject@GlobalNode@details@Concurrency@@��F�.?AVResourceManager@details@Concurrency@@��F�.?AUIResourceManager@Concurrency@@��F�.?AVScheduleGroupBase@details@Concurrency@@��F�.?AVScheduleGroup@Concurrency@@��F�.?AVCacheLocalScheduleGroup@details@Concurrency@@��F�.?AVFairScheduleGroup@details@Concurrency@@��F�.?AU_Chore@details@Concurrency@@��F�.?AVScheduler@Concurrency@@��F�.?AVRealizedChore@details@Concurrency@@��F�.?AVCacheLocalScheduleGroupSegment@details@Concurrency@@��F�.?AVScheduleGroupSegmentBase@details@Concurrency@@��F�.?AVFairScheduleGroupSegment@details@Concurrency@@��F�.?AVSchedulerBase@details@Concurrency@@��F�.?AVWaitBlock@details@Concurrency@@��F�.?AVSingleWaitBlock@details@Concurrency@@��F�.?AVMultiWaitBlock@details@Concurrency@@��F�.?AVWaitAllBlock@details@Concurrency@@��F�.?AVWaitAnyBlock@details@Concurrency@@��F�.?AVTimedSingleWaitBlock@details@Concurrency@@��F�.?AV?$_MallocaArrayHolder@PEAVContext@Concurrency@@@details@Concurrency@@��F�.?AVContext@Concurrency@@��F�.?AVContextBase@details@Concurrency@@��F�.?AV_Interruption_exception@details@Concurrency@@��F�.?AV_RefCounter@details@Concurrency@@��F�.?AV_CancellationTokenRegistration@details@Concurrency@@��F�.?AVCancellationTokenRegistration_TaskProc@details@Concurrency@@��F�.?AV?$_MallocaArrayHolder@PEAVevent@Concurrency@@@details@Concurrency@@��F�.?AVExecutionResource@details@Concurrency@@��F�.?AUIExecutionResource@Concurrency@@��F�.?AVSchedulerProxy@details@Concurrency@@��F�.?AUISchedulerProxy@Concurrency@@��F�.?AVFreeThreadProxy@details@Concurrency@@��F�.?AVThreadProxy@details@Concurrency@@��F�.?AUIThreadProxy@Concurrency@@��F�.?AUIThreadProxyFactory@details@Concurrency@@��F�.?AVFreeThreadProxyFactory@details@Concurrency@@��F�.?AV?$ThreadProxyFactory@VFreeThreadProxy@details@Concurrency@@@details@Concurrency@@��F�.?AVVirtualProcessor@details@Concurrency@@��F�.?AVInternalContextBase@details@Concurrency@@��F�.?AUIExecutionContext@Concurrency@@��F�.?AVExternalContextBase@details@Concurrency@@��F�.?AVThreadInternalContext@details@Concurrency@@��F�.?AVThreadScheduler@details@Concurrency@@��F�.?AUIScheduler@Concurrency@@��F�.?AVVirtualProcessorRoot@details@Concurrency@@��F�.?AUIVirtualProcessorRoot@Concurrency@@��F�.?AVFreeVirtualProcessorRoot@details@Concurrency@@��F�.?AVThreadVirtualProcessor@details@Concurrency@@��F�.?AV__non_rtti_object@std@@��F�.?AVbad_typeid@std@@��F�.?AVbad_exception@std@@��F�.?AVDNameNode@@��F�.?AVcharNode@@��F�.?AVpcharNode@@��F�.?AVpDNameNode@@��F�.?AVDNameStatusNode@@��F�.?AVpairNode@@��F�.?AV_ExceptionPtr_normal@?A0xa7b2a1df@@��F�.?AV?$_ExceptionPtr_static@Vbad_alloc@std@@@?A0xa7b2a1df@@��F�.?AV?$_ExceptionPtr_static@Vbad_exception@std@@@?A0xa7b2a1df@@��F�.?AVstl_condition_variable_interface@details@Concurrency@@��F�.?AVstl_condition_variable_vista@details@Concurrency@@��F�.?AVstl_condition_variable_win7@details@Concurrency@@��F�.?AVstl_condition_variable_concrt@details@Concurrency@@��F�.?AUprimitive@cldnn@@��F�.?AV_Ref_count_base@std@@��F�.?AUreorder@cldnn@@��F�.?AV?$primitive_base@Ureorder@cldnn@@Ucldnn_reorder_desc@@@cldnn@@��F�.?AV?$_Func_base@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$_Ref_count_obj2@Ureorder@cldnn@@@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_4f0cf5b91a71cc4d0bb4d16e165e066c>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_244dc94ebbdc92f14f0e938535f749a2>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AUreshape@cldnn@@��F�.?AV?$primitive_base@Ureshape@cldnn@@Ucldnn_reshape_desc@@@cldnn@@��F�.?AV?$_Ref_count_obj2@Ureshape@cldnn@@@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_b38f7e895a04113d261aa1b0011def42>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_82f859a5c54b1b14c74365120c601f75>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_2dc4afda8140de4eb47ba5a4a1101503>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$_Func_base@XPEAH@std@@��F�.?AUdata@cldnn@@��F�.?AV?$primitive_base@Udata@cldnn@@Ucldnn_data_desc@@@cldnn@@��F�.?AV?$_Func_base@Ulayout@cldnn@@PEAH@std@@��F�.?AV?$_Ref_count_obj2@Udata@cldnn@@@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_9d0bcdedf7d646d03a1be13a080ca388>@@Ulayout@cldnn@@PEAH@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_4b40aa3958ddafc723a0ad4e57b7fc87>@@XPEAH@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_9c0d1dc67bdf324201ecb7e6192d2d0a>@@XPEAH@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_be131ed2a04ad8b6fb59aa1bf8a08d97>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$_Ref_count_resource@PEAUprimitive_impl@cldnn@@U?$default_delete@Uprimitive_impl@cldnn@@@std@@@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_aeec84a34e793a5e5c45c755bdf67f62>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_ba0307f7421d97da33c6e05c41f06e3e>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AVios_base@std@@��F�.?AV?$_Iosb@H@std@@��F�.?AV?$basic_ios@DU?$char_traits@D@std@@@std@@��F�.?AV?$basic_streambuf@DU?$char_traits@D@std@@@std@@��F�.?AV?$basic_istream@DU?$char_traits@D@std@@@std@@��F�.?AV?$basic_ostream@DU?$char_traits@D@std@@@std@@��F�.?AV?$basic_iostream@DU?$char_traits@D@std@@@std@@��F�.?AV?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@��F�.?AV?$basic_stringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@��F�.?AVerror_category@std@@��F�.?AV_Iostream_error_category2@std@@��F�.?AV_Facet_base@std@@��F�.?AVfacet@locale@std@@��F�.?AU_Crt_new_delete@std@@��F�.?AUctype_base@std@@��F�.?AV?$ctype@D@std@@��F�.?AV?$num_put@DV?$ostreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@��F�.?AUbuild_option@cldnn@@��F�.?AUbuild_option_outputs@cldnn@@��F�.?AU?$build_option_bool@$00@cldnn@@��F�.?AU?$build_option_bool@$06@cldnn@@��F�.?AV?$_Func_base@PEAUcldnn_memory_impl@@PEAH@std@@��F�.?AUconcatenation@cldnn@@��F�.?AV?$primitive_base@Uconcatenation@cldnn@@Ucldnn_concatenation_desc@@@cldnn@@��F�.?AUconvolution@cldnn@@��F�.?AV?$primitive_base@Uconvolution@cldnn@@Ucldnn_convolution_desc@@@cldnn@@��F�.?AUdeconvolution@cldnn@@��F�.?AV?$primitive_base@Udeconvolution@cldnn@@Ucldnn_deconvolution_desc@@@cldnn@@��F�.?AUdetection_output_sort@cldnn@@��F�.?AV?$primitive_base@Udetection_output_sort@cldnn@@Ucldnn_detection_output_sort_desc@@@cldnn@@��F�.?AUlstm_gemm@cldnn@@��F�.?AV?$primitive_base@Ulstm_gemm@cldnn@@Ucldnn_lstm_gemm_desc@@@cldnn@@��F�.?AUlstm_elt@cldnn@@��F�.?AV?$primitive_base@Ulstm_elt@cldnn@@Ucldnn_lstm_elt_desc@@@cldnn@@��F�.?AUcrop@cldnn@@��F�.?AV?$primitive_base@Ucrop@cldnn@@Ucldnn_crop_desc@@@cldnn@@��F�.?AV?$numpunct@D@std@@��F�.?AV?$_Ref_count_obj2@U?$build_option_bool@$00@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$build_option_bool@$06@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Ubuild_option_outputs@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Udeconvolution@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Uconvolution@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Udetection_output_sort@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Ucrop@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Ulstm_gemm@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Ulstm_elt@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Uconcatenation@cldnn@@@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_f79ac3d5836c2cd997a9de4edbab9d6e>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_9991c1186dd4904929c76d40074d0f19>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_b3c1b4fb165df15d7c8d1719cc81b535>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_fca1e11d896b5ab272d5a2e5d8e18f2c>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_83272fb89de13e5b2c33bce89900fcf0>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_1c54159746fe9bdbc8eea330fc389fbf>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_c7f0044438343a3be19a5a32d2d0820f>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_474d183f40e241f629910bb2dba4136a>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_3f4f411479207406a970beefd310e7ce>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_e9ca396c356a5c4bf14f7ba425a3476b>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_41f373bea6c3c60246526ffc0fb0adc6>@@PEAUcldnn_memory_impl@@PEAH@std@@��F�.?AUborder@cldnn@@��F�.?AV?$primitive_base@Uborder@cldnn@@Ucldnn_border_desc@@@cldnn@@��F�.?AV?$_Ref_count_obj2@Uborder@cldnn@@@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_3af68d56e97f56fb921cd8ba8e44cd65>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_fee93cb3f66bc68a0599d00afc02bcaa>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AVbase_pass@cldnn@@��F�.?AVpost_optimize_weights@cldnn@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_207e66ee373569d525bc8eca60b7bc3e>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AVpre_optimize_bias@cldnn@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_feefa18208dca6b25e1b702ef8698eca>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AU?$build_option_bool@$01@cldnn@@��F�.?AV?$_Ref_count_obj2@U?$build_option_bool@$01@cldnn@@@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_96a8a425b17a133ecebdbcf49002f204>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_0e9c031e79ee458f3d63412d031abb8a>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AUmutable_data@cldnn@@��F�.?AV?$primitive_base@Umutable_data@cldnn@@Ucldnn_mutable_data_desc@@@cldnn@@��F�.?AUfused_conv_eltwise@cldnn@@��F�.?AV?$primitive_base@Ufused_conv_eltwise@cldnn@@Ucldnn_fused_conv_eltwise_desc@@@cldnn@@��F�.?AUfused_conv_bn_scale@cldnn@@��F�.?AV?$primitive_base@Ufused_conv_bn_scale@cldnn@@Ucldnn_fused_conv_bn_scale_desc@@@cldnn@@��F�.?AV?$_Ref_count_obj2@Umutable_data@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Ufused_conv_bn_scale@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Ufused_conv_eltwise@cldnn@@@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_eaf1e7d55cb222435696025535c41d09>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_d704397abda87e88ec8f1a19ed1be6db>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_aeead87ad163df83e639d5ef835c8987>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_e0c7271ee6b4d19fdf06a8a2c8ce8d6f>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_41c39dc8af17ee4e75b4809ab178ca1c>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_c7917558290480081437f338af93cdc2>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_98b9dd98fbbdc993aadba80ce69b8577>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_52a001527af97ad7dbeb5e78f860aca0>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_768b8fb659d8e7adbef55e4bc4b54690>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_10f93990b095e939a2e9cf29ee5c37e0>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_d23b5d56f96c369a1072fcd485d40302>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_6a8094cb96f2e990d25afedd4da36b80>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_4409b3bb4b288117bdd628cda89ab5e0>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AUeltwise@cldnn@@��F�.?AV?$primitive_base@Ueltwise@cldnn@@Ucldnn_eltwise_desc@@@cldnn@@��F�.?AVreorder_inputs@cldnn@@��F�.?AV?$_Ref_count_obj2@Ueltwise@cldnn@@@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_9a0df6358217f5d2bc40167463d5ef26>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_5d04b0418d941733b9096294c7ed0e37>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_dba99d7ad6dd42b2746ae82f5bd5b70f>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_fd32e988115b84f048f08b04e930ad42>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AUcldnn_primitive_type@@��F�.?AV?$primitive_base@Uactivation@cldnn@@Ucldnn_activation_desc@@@cldnn@@��F�.?AVjson_composite@cldnn@@��F�.?AVjson_base@cldnn@@��F�.?AU?$typed_program_node@Uactivation@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Uactivation@cldnn@@@details@cldnn@@��F�.?AUprogram_node@cldnn@@��F�.?AV?$typed_primitive_inst@Uactivation@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Uactivation@cldnn@@@details@cldnn@@��F�.?AVprimitive_inst@cldnn@@��F�.?AU?$primitive_type_base@Uactivation@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@Vjson_composite@cldnn@@@std@@��F�.?AV?$json_leaf@W4cldnn_activation_func_t@@@cldnn@@��F�.?AV?$json_leaf@M@cldnn@@��F�.?AV?$json_leaf@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Uactivation@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Uactivation@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Uactivation@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@V?$json_leaf@W4cldnn_activation_func_t@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@V?$json_leaf@M@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@V?$json_leaf@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@cldnn@@@std@@��F�.?AV?$primitive_base@Uactivation_grad@cldnn@@Ucldnn_activation_grad_desc@@@cldnn@@��F�.?AU?$typed_program_node@Uactivation_grad@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Uactivation_grad@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Uactivation_grad@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Uactivation_grad@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Uactivation_grad@cldnn@@@cldnn@@��F�.?AV?$json_leaf@W4cldnn_activation_grad_func_t@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Uactivation_grad@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Uactivation_grad@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Uactivation_grad@cldnn@@@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_a92684715cc3ca9099a87865d4d72336>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$_Ref_count_obj2@V?$json_leaf@W4cldnn_activation_grad_func_t@@@cldnn@@@std@@��F�.?AV?$primitive_base@Uapply_adam@cldnn@@Ucldnn_apply_adam_desc@@@cldnn@@��F�.?AU?$typed_program_node@Uapply_adam@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Uapply_adam@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Uapply_adam@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Uapply_adam@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Uapply_adam@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Uapply_adam@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Uapply_adam@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Uapply_adam@cldnn@@@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_394aa8eb6390a9a367ed7540bfe86ece>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$primitive_base@Uarg_max_min@cldnn@@Ucldnn_arg_max_min_desc@@@cldnn@@��F�.?AU?$typed_program_node@Uarg_max_min@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Uarg_max_min@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Uarg_max_min@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Uarg_max_min@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Uarg_max_min@cldnn@@@cldnn@@��F�.?AV?$json_leaf@I@cldnn@@��F�.?AV?$json_leaf@PEBD@cldnn@@��F�.?AV?$json_leaf@W4axis_name@arg_max_min@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Uarg_max_min@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Uarg_max_min@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Uarg_max_min@cldnn@@@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_02d1b067ecec535ccc849617be7d75dd>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$_Ref_count_obj2@V?$json_leaf@I@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@V?$json_leaf@PEBD@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@V?$json_leaf@W4axis_name@arg_max_min@cldnn@@@cldnn@@@std@@��F�.?AV?$primitive_base@Uaverage_unpooling@cldnn@@Ucldnn_average_unpooling_desc@@@cldnn@@��F�.?AU?$typed_program_node@Uaverage_unpooling@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Uaverage_unpooling@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Uaverage_unpooling@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Uaverage_unpooling@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Uaverage_unpooling@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Uaverage_unpooling@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Uaverage_unpooling@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Uaverage_unpooling@cldnn@@@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_c9a3738728f3dabe4ea46a169554a9ae>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$primitive_base@Ubatch_norm@cldnn@@Ucldnn_batch_norm_desc@@@cldnn@@��F�.?AU?$typed_program_node@Ubatch_norm@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Ubatch_norm@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Ubatch_norm@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Ubatch_norm@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Ubatch_norm@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Ubatch_norm@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Ubatch_norm@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Ubatch_norm@cldnn@@@std@@��F�.?AV?$primitive_base@Ubatch_norm_grad@cldnn@@Ucldnn_batch_norm_grad_desc@@@cldnn@@��F�.?AU?$typed_program_node@Ubatch_norm_grad@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Ubatch_norm_grad@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Ubatch_norm_grad@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Ubatch_norm_grad@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Ubatch_norm_grad@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Ubatch_norm_grad@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Ubatch_norm_grad@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Ubatch_norm_grad@cldnn@@@std@@��F�.?AU?$typed_program_node@Uborder@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Uborder@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Uborder@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Uborder@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Uborder@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Uborder@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Uborder@cldnn@@@cldnn@@@std@@��F�.?AV?$primitive_base@Ubroadcast@cldnn@@Ucldnn_broadcast_desc@@@cldnn@@��F�.?AU?$typed_program_node@Ubroadcast@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Ubroadcast@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Ubroadcast@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Ubroadcast@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Ubroadcast@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Ubroadcast@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Ubroadcast@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Ubroadcast@cldnn@@@std@@��F�.?AV?$_Func_base@X$$V@std@@��F�.?AV?$refcounted_obj@Umemory_impl@cldnn@@@cldnn@@��F�.?AUtopology_impl@cldnn@@��F�.?AV?$refcounted_obj@Utopology_impl@cldnn@@@cldnn@@��F�.?AUbuild_option_learning_config@cldnn@@��F�.?AUbuild_option_tuning_config@cldnn@@��F�.?AU?$build_option_bool@$0A@@cldnn@@��F�.?AU?$build_option_directory@$04@cldnn@@��F�.?AUsimple_attached_memory@cldnn@@��F�.?AV?$_Func_base@Ucldnn_version@@$$V@std@@��F�.?AV?$_Func_base@PEAUcldnn_topology_impl@@$$V@std@@��F�.?AV?$_Func_base@PEAUcldnn_engine_impl@@$$V@std@@��F�.?AV?$_Func_base@Ucldnn_engine_info@@$$V@std@@��F�.?AV?$_Func_base@H$$V@std@@��F�.?AV?$_Func_base@PEAUcldnn_event_impl@@$$V@std@@��F�.?AV?$_Func_base@PEAUcldnn_program_impl@@$$V@std@@��F�.?AV?$_Func_base@PEAUcldnn_network_impl@@$$V@std@@��F�.?AV?$_Func_base@M$$V@std@@��F�.?AV?$_Func_base@Ucldnn_network_output@@$$V@std@@��F�.?AV?$_Func_base@PEAUcldnn_memory_impl@@$$V@std@@��F�.?AV?$_Func_base@_N$$V@std@@��F�.?AV?$_Func_base@PEAX$$V@std@@��F�.?AV?$_Func_base@Ucldnn_layout@@$$V@std@@��F�.?AV?$_Func_base@G$$V@std@@��F�.?AV?$_Func_base@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Ref_count_obj2@U?$build_option_bool@$0A@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Ubuild_option_learning_config@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Ubuild_option_tuning_config@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$build_option_directory@$04@cldnn@@@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_9842cd36dc59ba12f2de7c3abc997244>@@Ucldnn_version@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_3444190b50a6974950fae7f112caf08d>@@PEAUcldnn_topology_impl@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_916964d7cc7540dd55c9a45fcfa62a51>@@X$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_291210d97fc47840fef319861bebe283>@@X$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_d33abf3dc2ead9bf6bcb80037cf06047>@@X$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_6cb9d2fb68932c6532d9052c9768048d>@@X$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_91c349a625648b4da69750411f0db742>@@X$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_3cae3a760d844d674f0424e5c08a3e96>@@X$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_118d2230deffe1ace4222528539b1b41>@@PEAUcldnn_engine_impl@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_51068cc279cb345c3dd3cfbe05f042ed>@@X$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_21a16cf3ec86348f34d372b5baa1ab3e>@@X$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_e40f92ec6d8bf6223dea833a93074c45>@@Ucldnn_engine_info@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_9d77282aed4768e30c882bb82e527915>@@H$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_a4a3d82d0ce5e8bc8c1534632aa0e679>@@H$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_b9f6a6330b431526e96fbd216077ae4c>@@H$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_5d086eebc3ec121e2247dd59e765565e>@@PEAUcldnn_event_impl@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_cccc9126a4c95646f2f20f1861dc8e79>@@H$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_7c0083fd60a5ddf2acb4d31c9ecfeca0>@@X$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_af267af86454195097ad18954513b1fe>@@X$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_199334a7b6709048365de3d1cc6bfed3>@@X$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_fa0b773db443ec477636537bc15910eb>@@X$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_0b6a85eff4f87841e0a8c443bf9bf447>@@X$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_f9e31c10f226996a9b4b96ba1042a708>@@X$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_7999997d9c88bc03e27a7446590a7cf9>@@PEAUcldnn_program_impl@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_e3d50e6f146817096f8f32d4fc31a1ce>@@X$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_0a5517dd9f06fc4a423fb1b42f45f758>@@X$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_c82665a4a2c411df8edccb0d99fa9eef>@@PEAUcldnn_network_impl@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_aa7708642b4276138548725a9308ffad>@@X$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_a1be1bbe2fc3a4a0257733382ba163f8>@@X$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_cb89e07df6159cbeac0d65fc3e8b0fbb>@@X$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_937f17ed52f5607af4bb94ff76182c38>@@X$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_c649230e4b9ce570e9a6a92d8ef5c8a6>@@M$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_3966d0307822ad1abaabdfd6510123ac>@@PEAUcldnn_engine_impl@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_27820f25ddd0adf11ba88ecc6c9b30b5>@@PEAUcldnn_program_impl@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_15d6d66d49d607b54037caa852542e7c>@@X$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_7600a2d4747761b562e9203d74e5d326>@@X$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_13ccbfe2e79981d21490b423fb80c10d>@@X$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_5bf215710559e93c5b604f9cc3944c90>@@X$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_193d175e4f002050c583bd6337f548bc>@@X$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_3aa5868263786e4dcb56eeca7bb3da09>@@X$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_cd7a8edab9f8dc10415aad8d87f03d9d>@@Ucldnn_network_output@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_e2189d7a822ca4e1bfc57bb0b0168f21>@@PEAUcldnn_memory_impl@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_9dd6181ee6b54dbf1c2787918cc82590>@@PEAUcldnn_event_impl@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_66c82ae922b1812636d8a9adfc21a521>@@PEAUcldnn_memory_impl@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_a7044a5147b6d72b5df71d62c3be8c53>@@PEAUcldnn_memory_impl@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_078e1bde586fc899076c547cb64f96c2>@@_N$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_dbf5da693d0e0779dd3bca2a0065177e>@@X$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_8670d327f0053ccbbc7dd3df42c3f10b>@@X$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_8668ab9c7f3fb95b014b8d29fdbb86ef>@@PEAX$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_5b88d12c9b0406a29aaf08e16fbb43c4>@@X$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_72edc8386410b1e9f9db7a6a9a81b61d>@@Ucldnn_layout@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_f8e1635f8db282ba39ace7018123e1af>@@PEAUcldnn_engine_impl@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_9c38699f73e3a975d03c00ad4e0c5fab>@@G$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_145e3e76ed885f8e858fbff761c7f3c4>@@M$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_b856f1a46cbf04002897a2f43886473b>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_ddc5de76fd38644ce754cb7bee082993>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_4b55001577561508689af37e6e5cbcfa>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_bd51d716bb7e5d504c6456d78184d508>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_0cf959aa91f2eee4a039a45df909ceb2>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_20eb4f7604973960a23990975d53765d>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_eff985abef9792d5646731b42441a97b>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_1e16c72731c70f634504bfb6b935e6ea>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_6000c42b3d127cc5427a0d9ae540ea0e>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_8d9d9498c3228d0e06795cd0f7cfb8ef>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_cb41e07f392812c4a94b5a2108815453>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_b4c36712b572840ade4db57470836387>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_f8132d6e2d750cbdc4aa25e6b1d2007a>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_b97c75680b5494873e4b9b32bd8832dc>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_9691c553313ee25f94c575a7c69d1392>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_35d40a44d10dec02f67a3fc5d02a31ac>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_2c1a7fcdeb9888447080f1755a20f4f0>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_fb76574271ef4921785557ed57e63983>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_3bfd419bd8f12dccfcb18ea9430be57a>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_3beb9046803aa34ea153b07d3a8c1283>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_e751e6fb30bbc2c6d895a06efb0711d7>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_10c0eeb50d851be6616ae6d5f9bec365>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_e5c728fa519d02de9711a677c9b0705f>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_0b037ab575bde98d1ed56870a7f76033>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_90671e6f5511915854959c95ec03008c>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_11e1f8b8a4e3a8b16e9cefb8c76526b2>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_4f87857cdd367af8ffed2bc5460b79e5>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_c0a6144775b4f29c664795afe418bafd>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_e135f7d4dad8d5eb7428da1074a71966>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_30c108a3f789e6be79ee21b79c948b0b>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_8589b66f1d15c3b4d767bcfcb1155a26>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_fee8d4fc713ff7ca4b07ab6bd25e0b6f>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_2558494c6379b597e1f438483837ea66>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_e385648965299d1f800e8b74d8247cf4>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_5becd5d8ecd496f802dc5b5e2e0d5592>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_68f0d001105753f904945fbe4ad1a486>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_ba29b7a9d7f068db876d853880d32aff>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_4100cd30137c571ef53f84a4b98f438b>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_e0b2202e3621028b1997fb0a6b769f21>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_8bfbd26a645e66fbe0753c4f5f1fab4c>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_32eb6da6fde7e02392469ad4bc02afa0>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_cae134ddc73d59753eb23b3e078c41cc>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_b91ea883dded8b3dc562bfed68b406bd>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_c7810e429482b69cf48f6ab180b2af91>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_a402c321f0295699fee2c72196a81e0c>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_a287a0fe0745c694c9f7ea9c68312fd3>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_58df35ca35d4a5e628e2e813c868143b>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_e2865f937431cecf73cfcca401af2713>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_139be95336416c00335c172aa7d8eae6>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_6a1854813b7c5e46798650c917b2e95e>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_5c24ceb5019ca97654a68da868f45f11>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_e14e005fd733e14a6dc283993e70ef09>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_060766ea1a49e2a6b2ad94085dbca718>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_6100bbb3019c2cb69c6dba1e36c5643f>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_de249e3a7f50fcf99151e32cce7c7db3>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_423a4c46e80882102adb00bdd4a3add0>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_32c3a52b3bfe9b30b52273322dfc1a51>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_30e48b74246ec77e1879e71146a19ef6>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_d94390152afbf68d9053c73956bc8535>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_35960a10e39bced932cde486707f46bb>@@PEBUcldnn_primitive_type@@$$V@std@@��F�.?AU?$typed_program_node@Uconcatenation@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Uconcatenation@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Uconcatenation@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Uconcatenation@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Uconcatenation@cldnn@@@cldnn@@��F�.?AV?$json_leaf@W4concatenation_axis@concatenation@cldnn@@@cldnn@@��F�.?AV?$json_leaf@_K@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Uconcatenation@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Uconcatenation@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@V?$json_leaf@W4concatenation_axis@concatenation@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@V?$json_leaf@_K@cldnn@@@std@@��F�.?AV?$primitive_base@Ucondition@cldnn@@Ucldnn_condition_desc@@@cldnn@@��F�.?AUinput_layout@cldnn@@��F�.?AV?$primitive_base@Uinput_layout@cldnn@@Ucldnn_input_layout_desc@@@cldnn@@��F�.?AU?$typed_program_node@Ucondition@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Ucondition@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Ucondition@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Ucondition@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Ucondition@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@Uinput_layout@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Ucondition@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Ucondition@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Ucondition@cldnn@@@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_6faa84704e693f31f025f42d646d6ede>@@XPEAH@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_87e01560176e2b4f084b3ca46285fd40>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$primitive_base@Ucontract@cldnn@@Ucldnn_contract_desc@@@cldnn@@��F�.?AU?$typed_program_node@Ucontract@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Ucontract@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Ucontract@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Ucontract@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Ucontract@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Ucontract@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Ucontract@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Ucontract@cldnn@@@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_eadc1b86e6e985f5ac5a4a45201e65ea>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AU?$typed_program_node@Uconvolution@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Uconvolution@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Uconvolution@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Uconvolution@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Uconvolution@cldnn@@@cldnn@@��F�.?AV?$json_leaf@H@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Uconvolution@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Uconvolution@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@V?$json_leaf@H@cldnn@@@std@@��F�.?AV?$primitive_base@Uconvolution_grad_weights@cldnn@@Ucldnn_convolution_grad_weights_desc@@@cldnn@@��F�.?AU?$typed_program_node@Uconvolution_grad_weights@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Uconvolution_grad_weights@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Uconvolution_grad_weights@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Uconvolution_grad_weights@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Uconvolution_grad_weights@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Uconvolution_grad_weights@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Uconvolution_grad_weights@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Uconvolution_grad_weights@cldnn@@@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_218e8e13e7aedd3abfe000f859b5db18>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AU?$typed_program_node@Ucrop@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Ucrop@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Ucrop@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Ucrop@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Ucrop@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Ucrop@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Ucrop@cldnn@@@cldnn@@@std@@��F�.?AV?$primitive_base@Ucustom_gpu_primitive@cldnn@@Ucldnn_custom_gpu_primitive_desc@@@cldnn@@��F�.?AU?$typed_program_node@Ucustom_gpu_primitive@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Ucustom_gpu_primitive@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Ucustom_gpu_primitive@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Ucustom_gpu_primitive@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Ucustom_gpu_primitive@cldnn@@@cldnn@@��F�.?AV?$json_basic_array@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@cldnn@@��F�.?AV?$json_basic_array@_K@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Ucustom_gpu_primitive@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Ucustom_gpu_primitive@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Ucustom_gpu_primitive@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@V?$json_basic_array@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@V?$json_basic_array@_K@cldnn@@@std@@��F�.?AU?$typed_program_node@Udata@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Udata@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Udata@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Udata@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Udata@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Udata@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Udata@cldnn@@@cldnn@@@std@@��F�.?AU?$typed_program_node@Udeconvolution@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Udeconvolution@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Udeconvolution@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Udeconvolution@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Udeconvolution@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Udeconvolution@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Udeconvolution@cldnn@@@cldnn@@@std@@��F�.?AV?$primitive_base@Udetection_output@cldnn@@Ucldnn_detection_output_desc@@@cldnn@@��F�.?AV?$typed_program_node@Udetection_output@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Udetection_output@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Udetection_output@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Udetection_output@cldnn@@@details@cldnn@@��F�.?AV?$typed_program_node@Udetection_output_sort@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Udetection_output_sort@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Udetection_output_sort@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Udetection_output_sort@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Udetection_output@cldnn@@@cldnn@@��F�.?AU?$primitive_type_base@Udetection_output_sort@cldnn@@@cldnn@@��F�.?AV?$json_leaf@_N@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Udetection_output_sort@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@V?$typed_program_node@Udetection_output_sort@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Udetection_output@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@V?$typed_program_node@Udetection_output@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Udetection_output@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@V?$json_leaf@_N@cldnn@@@std@@��F�.?AU?$typed_program_node@Ueltwise@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Ueltwise@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Ueltwise@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Ueltwise@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Ueltwise@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Ueltwise@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Ueltwise@cldnn@@@cldnn@@@std@@��F�.?AV?$primitive_base@Uembed@cldnn@@Ucldnn_embed_desc@@@cldnn@@��F�.?AU?$typed_program_node@Uembed@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Uembed@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Uembed@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Uembed@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Uembed@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Uembed@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Uembed@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Uembed@cldnn@@@std@@��F�.?AUengine_impl@cldnn@@��F�.?AV?$refcounted_obj@Uengine_impl@cldnn@@@cldnn@@��F�.?AV?$primitive_base@Ufully_connected@cldnn@@Ucldnn_fully_connected_desc@@@cldnn@@��F�.?AU?$typed_program_node@Ufully_connected@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Ufully_connected@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Ufully_connected@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Ufully_connected@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Ufully_connected@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Ufully_connected@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Ufully_connected@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Ufully_connected@cldnn@@@std@@��F�.?AV?$primitive_base@Ufully_connected_grad_input@cldnn@@Ucldnn_fully_connected_grad_input_desc@@@cldnn@@��F�.?AU?$typed_program_node@Ufully_connected_grad_input@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Ufully_connected_grad_input@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Ufully_connected_grad_input@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Ufully_connected_grad_input@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Ufully_connected_grad_input@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Ufully_connected_grad_input@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Ufully_connected_grad_input@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Ufully_connected_grad_input@cldnn@@@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_c7b25a97f229d76e2668e7b7fdcab191>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$primitive_base@Ufully_connected_grad_weights@cldnn@@Ucldnn_fully_connected_grad_weights_desc@@@cldnn@@��F�.?AU?$typed_program_node@Ufully_connected_grad_weights@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Ufully_connected_grad_weights@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Ufully_connected_grad_weights@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Ufully_connected_grad_weights@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Ufully_connected_grad_weights@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Ufully_connected_grad_weights@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Ufully_connected_grad_weights@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Ufully_connected_grad_weights@cldnn@@@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_395df75b90f4ffb6abfc157987bfb53e>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AU?$typed_program_node@Ufused_conv_bn_scale@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Ufused_conv_bn_scale@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Ufused_conv_bn_scale@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Ufused_conv_bn_scale@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Ufused_conv_bn_scale@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Ufused_conv_bn_scale@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Ufused_conv_bn_scale@cldnn@@@cldnn@@@std@@��F�.?AU?$typed_program_node@Ufused_conv_eltwise@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Ufused_conv_eltwise@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Ufused_conv_eltwise@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Ufused_conv_eltwise@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Ufused_conv_eltwise@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Ufused_conv_eltwise@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Ufused_conv_eltwise@cldnn@@@cldnn@@@std@@��F�.?AV?$primitive_base@Ugemm@cldnn@@Ucldnn_gemm_desc@@@cldnn@@��F�.?AU?$typed_program_node@Ugemm@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Ugemm@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Ugemm@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Ugemm@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Ugemm@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Ugemm@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Ugemm@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Ugemm@cldnn@@@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_ab01318478252fdc3a555c604e923c41>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$primitive_base@Ugeneric_layer@cldnn@@Ucldnn_generic_layer_desc@2@@cldnn@@��F�.?AU?$typed_program_node@Ugeneric_layer@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Ugeneric_layer@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Ugeneric_layer@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Ugeneric_layer@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Ugeneric_layer@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Ugeneric_layer@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Ugeneric_layer@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Ugeneric_layer@cldnn@@@std@@��F�.?AV?$primitive_base@Uindex_select@cldnn@@Ucldnn_index_select_desc@@@cldnn@@��F�.?AU?$typed_program_node@Uindex_select@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Uindex_select@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Uindex_select@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Uindex_select@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Uindex_select@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Uindex_select@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Uindex_select@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Uindex_select@cldnn@@@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_312d31e3b0e5da3153da6965c43fd9da>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AU?$typed_program_node@Uinput_layout@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Uinput_layout@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Uinput_layout@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Uinput_layout@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Uinput_layout@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Uinput_layout@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Uinput_layout@cldnn@@@cldnn@@@std@@��F�.?AV?$_Func_base@Ucldnn_version@@PEAH@std@@��F�.?AUTensorBase@Tensor@kernel_selector@@��F�.?AUDataTensor@Tensor@kernel_selector@@��F�.?AU?$TensorBaseT@W4Datatype@kernel_selector@@W4DataLayout@Tensor@2@@Tensor@kernel_selector@@��F�.?AUWeightsTensor@Tensor@kernel_selector@@��F�.?AU?$TensorBaseT@W4WeightsType@kernel_selector@@W4WeightsLayout@Tensor@2@@Tensor@kernel_selector@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_a932dda1bb2c07cd1b7d0f749edacc8d>@@Ucldnn_version@@PEAH@std@@��F�.?AV?$primitive_base@Ulookup_table@cldnn@@Ucldnn_lookup_table_desc@@@cldnn@@��F�.?AU?$typed_program_node@Ulookup_table@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Ulookup_table@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Ulookup_table@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Ulookup_table@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Ulookup_table@cldnn@@@cldnn@@��F�.?AV?$json_leaf@W4axis_name@lookup_table@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Ulookup_table@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Ulookup_table@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Ulookup_table@cldnn@@@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_5bc4a8b71f7cc284be63f13266bdd1af>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$_Ref_count_obj2@V?$json_leaf@W4axis_name@lookup_table@cldnn@@@cldnn@@@std@@��F�.?AV?$primitive_base@Ulrn@cldnn@@Ucldnn_lrn_desc@@@cldnn@@��F�.?AU?$typed_program_node@Ulrn@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Ulrn@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Ulrn@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Ulrn@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Ulrn@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Ulrn@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Ulrn@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Ulrn@cldnn@@@std@@��F�.?AV?$primitive_base@Ulstm@cldnn@@Ucldnn_lstm_desc@@@cldnn@@��F�.?AU?$typed_program_node@Ulstm@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Ulstm@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Ulstm@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Ulstm@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Ulstm@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Ulstm@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Ulstm@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Ulstm@cldnn@@@std@@��F�.?AU?$typed_program_node@Ulstm_elt@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Ulstm_elt@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Ulstm_elt@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Ulstm_elt@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Ulstm_elt@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Ulstm_elt@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Ulstm_elt@cldnn@@@cldnn@@@std@@��F�.?AU?$typed_program_node@Ulstm_gemm@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Ulstm_gemm@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Ulstm_gemm@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Ulstm_gemm@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Ulstm_gemm@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Ulstm_gemm@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Ulstm_gemm@cldnn@@@cldnn@@@std@@��F�.?AV?$primitive_base@Umax_unpooling@cldnn@@Ucldnn_max_unpooling_desc@@@cldnn@@��F�.?AU?$typed_program_node@Umax_unpooling@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Umax_unpooling@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Umax_unpooling@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Umax_unpooling@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Umax_unpooling@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Umax_unpooling@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Umax_unpooling@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Umax_unpooling@cldnn@@@std@@��F�.?AV?$basic_filebuf@DU?$char_traits@D@std@@@std@@��F�.?AV?$basic_ofstream@DU?$char_traits@D@std@@@std@@��F�.?AVcodecvt_base@std@@��F�.?AV?$codecvt@DDU_Mbstatet@@@std@@��F�.?AU?$typed_program_node@Umutable_data@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Umutable_data@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Umutable_data@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Umutable_data@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Umutable_data@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Umutable_data@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Umutable_data@cldnn@@@cldnn@@@std@@��F�.?AV?$primitive_base@Umvn@cldnn@@Ucldnn_mvn_desc@@@cldnn@@��F�.?AU?$typed_program_node@Umvn@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Umvn@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Umvn@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Umvn@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Umvn@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Umvn@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Umvn@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Umvn@cldnn@@@std@@��F�.?AUnetwork_impl@cldnn@@��F�.?AV?$refcounted_obj@Unetwork_impl@cldnn@@@cldnn@@��F�.?AV?$primitive_base@Unormalize@cldnn@@Ucldnn_normalize_desc@@@cldnn@@��F�.?AU?$typed_program_node@Unormalize@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Unormalize@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Unormalize@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Unormalize@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Unormalize@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Unormalize@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Unormalize@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Unormalize@cldnn@@@std@@��F�.?AV?$primitive_base@Uone_hot@cldnn@@Ucldnn_one_hot_desc@@@cldnn@@��F�.?AU?$typed_program_node@Uone_hot@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Uone_hot@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Uone_hot@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Uone_hot@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Uone_hot@cldnn@@@cldnn@@��F�.?AV?$json_leaf@G@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Uone_hot@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Uone_hot@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Uone_hot@cldnn@@@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_7ac559b69beb4b5107152f35f6e7858e>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$_Ref_count_obj2@V?$json_leaf@G@cldnn@@@std@@��F�.?AV?$primitive_base@Upermute@cldnn@@Ucldnn_permute_desc@@@cldnn@@��F�.?AU?$typed_program_node@Upermute@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Upermute@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Upermute@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Upermute@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Upermute@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Upermute@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Upermute@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Upermute@cldnn@@@std@@��F�.?AV?$primitive_base@Upooling@cldnn@@Ucldnn_pooling_desc@@@cldnn@@��F�.?AU?$typed_program_node@Upooling@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Upooling@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Upooling@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Upooling@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Upooling@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Upooling@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Upooling@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Upooling@cldnn@@@std@@��F�.?AV?$primitive_base@Uprior_box@cldnn@@Ucldnn_prior_box_desc@@@cldnn@@��F�.?AU?$typed_program_node@Uprior_box@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Uprior_box@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Uprior_box@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Uprior_box@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Uprior_box@cldnn@@@cldnn@@��F�.?AV?$json_leaf@Utensor@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Uprior_box@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Uprior_box@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Uprior_box@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@V?$json_leaf@Utensor@cldnn@@@cldnn@@@std@@��F�.?AUprogram_impl@cldnn@@��F�.?AV?$refcounted_obj@Uprogram_impl@cldnn@@@cldnn@@��F�.?AVgraph_initializations@cldnn@@��F�.?AVcompile_graph@cldnn@@��F�.?AVprepare_primitive_fusing@cldnn@@��F�.?AVprepare_conv_eltw_fusing@cldnn@@��F�.?AVprepare_conv_eltw_read_write_opt@cldnn@@��F�.?AVpropagate_constants@cldnn@@��F�.?AVcalculate_prior_boxes@cldnn@@��F�.?AVprepare_padding@cldnn@@��F�.?AVadd_required_reorders@cldnn@@��F�.?AVadd_reshape_to_primitives@cldnn@@��F�.?AVeltwise_shrinking@cldnn@@��F�.?AVeltwise_remove_stride@cldnn@@��F�.?AVhandle_reshape@cldnn@@��F�.?AVhandle_input_padding@cldnn@@��F�.?AVmark_nodes@cldnn@@��F�.?AVprepare_buffer_fusing@cldnn@@��F�.?AVprepare_depthwise_sep_opt@cldnn@@��F�.?AVprep_opt_depthwise_sep_post@cldnn@@��F�.?AVpost_input_reorder@cldnn@@��F�.?AVremove_redundant_reorders@cldnn@@��F�.?AVtrim_to_outputs@cldnn@@��F�.?AV?$primitive_base@Uproposal@cldnn@@Ucldnn_proposal_desc@@@cldnn@@��F�.?AU?$typed_program_node@Uproposal@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Uproposal@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Uproposal@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Uproposal@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Uproposal@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Uproposal@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Uproposal@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Uproposal@cldnn@@@std@@��F�.?AV?$primitive_base@Upyramid_roi_align@cldnn@@Ucldnn_pyramid_roi_align_desc@@@cldnn@@��F�.?AU?$typed_program_node@Upyramid_roi_align@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Upyramid_roi_align@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Upyramid_roi_align@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Upyramid_roi_align@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Upyramid_roi_align@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Upyramid_roi_align@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Upyramid_roi_align@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Upyramid_roi_align@cldnn@@@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_cda0155cd626af22a23f835bcd32f8a5>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$primitive_base@Uregion_yolo@cldnn@@Ucldnn_region_yolo_desc@@@cldnn@@��F�.?AU?$typed_program_node@Uregion_yolo@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Uregion_yolo@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Uregion_yolo@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Uregion_yolo@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Uregion_yolo@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Uregion_yolo@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Uregion_yolo@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Uregion_yolo@cldnn@@@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_b076f49f8eb855d28945d7d2217eb76f>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AU?$typed_program_node@Ureorder@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Ureorder@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Ureorder@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Ureorder@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Ureorder@cldnn@@@cldnn@@��F�.?AV?$json_basic_array@M@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Ureorder@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Ureorder@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@V?$json_basic_array@M@cldnn@@@std@@��F�.?AV?$primitive_base@Ureorg_yolo@cldnn@@Ucldnn_reorg_yolo_desc@@@cldnn@@��F�.?AU?$typed_program_node@Ureorg_yolo@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Ureorg_yolo@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Ureorg_yolo@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Ureorg_yolo@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Ureorg_yolo@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Ureorg_yolo@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Ureorg_yolo@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Ureorg_yolo@cldnn@@@std@@��F�.?AU?$typed_program_node@Ureshape@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Ureshape@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Ureshape@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Ureshape@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Ureshape@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Ureshape@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Ureshape@cldnn@@@cldnn@@@std@@��F�.?AV?$primitive_base@Uroi_pooling@cldnn@@Ucldnn_roi_pooling_desc@@@cldnn@@��F�.?AU?$typed_program_node@Uroi_pooling@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Uroi_pooling@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Uroi_pooling@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Uroi_pooling@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Uroi_pooling@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Uroi_pooling@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Uroi_pooling@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Uroi_pooling@cldnn@@@std@@��F�.?AV?$primitive_base@Uscale@cldnn@@Ucldnn_scale_desc@@@cldnn@@��F�.?AU?$typed_program_node@Uscale@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Uscale@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Uscale@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Uscale@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Uscale@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Uscale@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Uscale@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Uscale@cldnn@@@std@@��F�.?AV?$primitive_base@Uscale_grad_input@cldnn@@Ucldnn_scale_grad_input_desc@@@cldnn@@��F�.?AU?$typed_program_node@Uscale_grad_input@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Uscale_grad_input@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Uscale_grad_input@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Uscale_grad_input@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Uscale_grad_input@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Uscale_grad_input@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Uscale_grad_input@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Uscale_grad_input@cldnn@@@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_b11464dd54141b31ecf921caf24d47f3>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$primitive_base@Uscale_grad_weights@cldnn@@Ucldnn_scale_grad_weights_desc@@@cldnn@@��F�.?AU?$typed_program_node@Uscale_grad_weights@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Uscale_grad_weights@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Uscale_grad_weights@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Uscale_grad_weights@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Uscale_grad_weights@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Uscale_grad_weights@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Uscale_grad_weights@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Uscale_grad_weights@cldnn@@@std@@��F�.?AV?$primitive_base@Uselect@cldnn@@Ucldnn_select_desc@@@cldnn@@��F�.?AU?$typed_program_node@Uselect@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Uselect@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Uselect@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Uselect@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Uselect@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Uselect@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Uselect@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Uselect@cldnn@@@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_06bc0e1c14814354b10b4fc98426c663>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$primitive_base@Usoftmax@cldnn@@Ucldnn_softmax_desc@@@cldnn@@��F�.?AU?$typed_program_node@Usoftmax@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Usoftmax@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Usoftmax@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Usoftmax@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Usoftmax@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Usoftmax@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Usoftmax@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Usoftmax@cldnn@@@std@@��F�.?AV?$primitive_base@Usoftmax_loss_grad@cldnn@@Ucldnn_softmax_loss_grad_desc@@@cldnn@@��F�.?AU?$typed_program_node@Usoftmax_loss_grad@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Usoftmax_loss_grad@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Usoftmax_loss_grad@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Usoftmax_loss_grad@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Usoftmax_loss_grad@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Usoftmax_loss_grad@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Usoftmax_loss_grad@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Usoftmax_loss_grad@cldnn@@@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_f62b89a319d30409986d572ab3727716>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$primitive_base@Usplit@cldnn@@Ucldnn_split_desc@@@cldnn@@��F�.?AV?$typed_program_node@Usplit@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Usplit@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Usplit@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Usplit@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Usplit@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Usplit@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@V?$typed_program_node@Usplit@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Usplit@cldnn@@@std@@��F�.?AV?$primitive_base@Utile@cldnn@@Ucldnn_tile_desc@@@cldnn@@��F�.?AU?$typed_program_node@Utile@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Utile@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Utile@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Utile@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Utile@cldnn@@@cldnn@@��F�.?AV?$json_leaf@W4tile_axis@tile@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Utile@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Utile@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Utile@cldnn@@@std@@��F�.?AV?$_Func_impl_no_alloc@V<lambda_01f66cb71e218ec5ead99b1356effd29>@@PEBUcldnn_primitive_type@@PEAH@std@@��F�.?AV?$_Ref_count_obj2@V?$json_leaf@W4tile_axis@tile@cldnn@@@cldnn@@@std@@��F�.?AV?$primitive_base@Uupsampling@cldnn@@Ucldnn_upsampling_desc@@@cldnn@@��F�.?AU?$typed_program_node@Uupsampling@cldnn@@@cldnn@@��F�.?AU?$api_typed_program_node_base@Uupsampling@cldnn@@@details@cldnn@@��F�.?AV?$typed_primitive_inst@Uupsampling@cldnn@@@cldnn@@��F�.?AV?$api_typed_primitive_inst_base@Uupsampling@cldnn@@@details@cldnn@@��F�.?AU?$primitive_type_base@Uupsampling@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@V?$typed_primitive_inst@Uupsampling@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@U?$typed_program_node@Uupsampling@cldnn@@@cldnn@@@std@@��F�.?AV?$_Ref_count_obj2@Uupsampling@cldnn@@@std@@��F�.?AUParams@kernel_selector@@��F�.?AUbase_activation_params@kernel_selector@@��F�.?AUbase_params@kernel_selector@@��F�.?AUoptional_params@kernel_selector@@��F�.?AU?$typed_primitive_impl@Uactivation@cldnn@@@cldnn@@��F�.?AVcontext_holder@gpu@cldnn@@��F�.?AVkernel@gpu@cldnn@@��F�.?AVevents_waiter@gpu@cldnn@@��F�.?AVkernel_selector_base@kernel_selector@@��F�.?AVactivation_kernel_selector@kernel_selector@@��F�.?AUactivation_params@kernel_selector@@��F�.?AUactivation_optional_params@kernel_selector@@��F�.?AUactivation_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Uactivation@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uactivation@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uactivation@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Uactivation_grad@cldnn@@@cldnn@@��F�.?AUactivation_grad_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Uactivation_grad@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uactivation_grad@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uactivation_grad@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Uapply_adam@cldnn@@@cldnn@@��F�.?AVeltwise_kernel_selector@kernel_selector@@��F�.?AUeltwise_params@kernel_selector@@��F�.?AUeltwise_optional_params@kernel_selector@@��F�.?AUapply_adam_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Uapply_adam@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uapply_adam@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uapply_adam@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Uarg_max_min@cldnn@@@cldnn@@��F�.?AVarg_max_min_kernel_selector@kernel_selector@@��F�.?AUarg_max_min_params@kernel_selector@@��F�.?AUarg_max_min_optional_params@kernel_selector@@��F�.?AUarg_max_min_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Uarg_max_min@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uarg_max_min@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uarg_max_min@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Uaverage_unpooling@cldnn@@@cldnn@@��F�.?AVaverage_unpooling_kernel_selector@kernel_selector@@��F�.?AUaverage_unpooling_params@kernel_selector@@��F�.?AUaverage_unpooling_optional_params@kernel_selector@@��F�.?AUaverage_unpooling_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Uaverage_unpooling@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uaverage_unpooling@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uaverage_unpooling@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Ubatch_norm@cldnn@@@cldnn@@��F�.?AUbatch_norm_params@kernel_selector@@��F�.?AUbatch_norm_optional_params@kernel_selector@@��F�.?AVbatch_norm_kernel_selector@kernel_selector@@��F�.?AUbatch_norm_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Ubatch_norm@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ubatch_norm@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ubatch_norm@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Ubatch_norm_grad@cldnn@@@cldnn@@��F�.?AUbatch_norm_grad_params@kernel_selector@@��F�.?AUbatch_norm_grad_optional_params@kernel_selector@@��F�.?AVbatch_norm_grad_kernel_selector@kernel_selector@@��F�.?AUbatch_norm_grad_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Ubatch_norm_grad@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ubatch_norm_grad@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ubatch_norm_grad@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Uborder@cldnn@@@cldnn@@��F�.?AUborder_params@kernel_selector@@��F�.?AUborder_optional_params@kernel_selector@@��F�.?AUborder_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Uborder@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uborder@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uborder@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Ubroadcast@cldnn@@@cldnn@@��F�.?AUbroadcast_params@kernel_selector@@��F�.?AUbroadcast_optional_params@kernel_selector@@��F�.?AUbroadcast_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Ubroadcast@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ubroadcast@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ubroadcast@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Uconcatenation@cldnn@@@cldnn@@��F�.?AVconcatenation_kernel_selector@kernel_selector@@��F�.?AUconcatenation_params@kernel_selector@@��F�.?AUconcatenation_optional_params@kernel_selector@@��F�.?AUconcatenation_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Uconcatenation@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uconcatenation@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uconcatenation@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Ucondition@cldnn@@@cldnn@@��F�.?AUcondition_gpu@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ucondition@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ucondition@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Ucontract@cldnn@@@cldnn@@��F�.?AUcontract_params@kernel_selector@@��F�.?AUcontract_optional_params@kernel_selector@@��F�.?AUcontract_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Ucontract@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ucontract@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ucontract@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Uconvolution@cldnn@@@cldnn@@��F�.?AVconvolution_kernel_selector@kernel_selector@@��F�.?AUweight_bias_params@kernel_selector@@��F�.?AUweight_bias_optional_params@kernel_selector@@��F�.?AUconvolution_params@kernel_selector@@��F�.?AUconvolution_optional_params@kernel_selector@@��F�.?AUconvolution_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Uconvolution@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uconvolution@cldnn@@@2@@std@@��F�.?AV?$_Ref_count_obj2@Vkernel_runner@gpu@cldnn@@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uconvolution@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AUtraining_params@kernel_selector@@��F�.?AU?$typed_primitive_impl@Uconvolution_grad_weights@cldnn@@@cldnn@@��F�.?AVconvolution_grad_weights_kernel_selector@kernel_selector@@��F�.?AUtraining_optional_params@kernel_selector@@��F�.?AUconvolution_grad_weights_params@kernel_selector@@��F�.?AUconvolution_grad_weights_optional_params@kernel_selector@@��F�.?AUconvolution_grad_weights_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Uconvolution_grad_weights@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uconvolution_grad_weights@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uconvolution_grad_weights@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Ucrop@cldnn@@@cldnn@@��F�.?AUcrop_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Ucrop@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ucrop@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ucrop@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Ucustom_gpu_primitive@cldnn@@@cldnn@@��F�.?AVJitConstant@kernel_selector@@��F�.?AVsimple_jit_constant@kernel_selector@@��F�.?AUcustom_gpu_primitive_gpu@neural@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ucustom_gpu_primitive@cldnn@@@2@@std@@��F�.?AV?$VectorDataJitConstant@H@kernel_selector@@��F�.?AV?$VectorDataJitConstant@_K@kernel_selector@@��F�.?AV?$_Ref_count_obj2@UclKernelData@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@UKernelString@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@V?$VectorDataJitConstant@H@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Vsimple_jit_constant@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@V?$VectorDataJitConstant@_K@kernel_selector@@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ucustom_gpu_primitive@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AV?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@��F�.?AU?$typed_primitive_impl@Udeconvolution@cldnn@@@cldnn@@��F�.?AVdeconvolution_kernel_selector@kernel_selector@@��F�.?AUdeconvolution_params@kernel_selector@@��F�.?AUdeconvolution_optional_params@kernel_selector@@��F�.?AUdeconvolution_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Udeconvolution@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Udeconvolution@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Udeconvolution@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Udetection_output@cldnn@@@cldnn@@��F�.?AUdetection_output_cpu@gpu@cldnn@@��F�.?AUdetection_output_params@kernel_selector@@��F�.?AUdetection_output_optional_params@kernel_selector@@��F�.?AVdetection_output_kernel_selector@kernel_selector@@��F�.?AVdetection_output_sort_kernel_selector@kernel_selector@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBV?$typed_program_node@Udetection_output@cldnn@@@2@@std@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBV?$typed_program_node@Udetection_output_sort@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBV?$typed_program_node@Udetection_output@cldnn@@@2@@ZPEAU12@AEBV32@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBV?$typed_program_node@Udetection_output_sort@cldnn@@@2@@ZPEAU12@AEBV32@@std@@��F�.?AU?$typed_primitive_impl@Udetection_output_sort@cldnn@@@cldnn@@��F�.?AUdetection_output_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Udetection_output@cldnn@@@gpu@cldnn@@��F�.?AUdetection_output_sort_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Udetection_output_sort@cldnn@@@gpu@cldnn@@��F�.?AU?$typed_primitive_impl@Ueltwise@cldnn@@@cldnn@@��F�.?AUeltwise_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Ueltwise@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ueltwise@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ueltwise@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Uembed@cldnn@@@cldnn@@��F�.?AVembed_kernel_selector@kernel_selector@@��F�.?AUembed_params@kernel_selector@@��F�.?AUembed_optional_params@kernel_selector@@��F�.?AUembed_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Uembed@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uembed@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uembed@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AV?$basic_ifstream@DU?$char_traits@D@std@@@std@@��F�.?AV?$_Ref_count_obj2@V?$GenericDocument@U?$UTF8@D@rapidjson@@V?$MemoryPoolAllocator@VCrtAllocator@rapidjson@@@2@VCrtAllocator@2@@rapidjson@@@std@@��F�.?AVfully_connected_kernel_selector@kernel_selector@@��F�.?AUfully_connected_params@kernel_selector@@��F�.?AUfully_connected_optional_params@kernel_selector@@��F�.?AUfully_connected_gpu@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ufully_connected@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ufully_connected@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Ufully_connected@cldnn@@@cldnn@@��F�.?AU?$typed_primitive_impl@Ufully_connected_grad_input@cldnn@@@cldnn@@��F�.?AVfully_connected_grad_input_kernel_selector@kernel_selector@@��F�.?AUfully_connected_grad_input_params@kernel_selector@@��F�.?AUfully_connected_grad_input_optional_params@kernel_selector@@��F�.?AUfully_connected_grad_input_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Ufully_connected_grad_input@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ufully_connected_grad_input@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ufully_connected_grad_input@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Ufully_connected_grad_weights@cldnn@@@cldnn@@��F�.?AVfully_connected_grad_weights_kernel_selector@kernel_selector@@��F�.?AUfully_connected_grad_weights_params@kernel_selector@@��F�.?AUfully_connected_grad_weights_optional_params@kernel_selector@@��F�.?AUfully_connected_grad_weights_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Ufully_connected_grad_weights@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ufully_connected_grad_weights@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ufully_connected_grad_weights@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Ufused_conv_bn_scale@cldnn@@@cldnn@@��F�.?AVfused_conv_bn_scale_kernel_selector@kernel_selector@@��F�.?AUfused_conv_bn_scale_params@kernel_selector@@��F�.?AUfused_conv_bn_scale_optional_params@kernel_selector@@��F�.?AUfused_conv_bn_scale_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Ufused_conv_bn_scale@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ufused_conv_bn_scale@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ufused_conv_bn_scale@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Ufused_conv_eltwise@cldnn@@@cldnn@@��F�.?AVfused_conv_eltwise_kernel_selector@kernel_selector@@��F�.?AUfused_conv_eltwise_params@kernel_selector@@��F�.?AUfused_conv_eltwise_optional_params@kernel_selector@@��F�.?AUfused_conv_eltwise_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Ufused_conv_eltwise@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ufused_conv_eltwise@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ufused_conv_eltwise@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Ugemm@cldnn@@@cldnn@@��F�.?AUgemm_params@kernel_selector@@��F�.?AUgemm_optional_params@kernel_selector@@��F�.?AUgemm_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Ugemm@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ugemm@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ugemm@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Ugeneric_layer@cldnn@@@cldnn@@��F�.?AUgeneric_layer_gpu@neural@@��F�.?AUgeneric_layer_cpu@neural@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ugeneric_layer@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ugeneric_layer@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Uindex_select@cldnn@@@cldnn@@��F�.?AUindex_select_params@kernel_selector@@��F�.?AUindex_select_optional_params@kernel_selector@@��F�.?AUindex_select_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Uindex_select@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uindex_select@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uindex_select@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AVKernelRunnerInterface@kernel_selector@@��F�.?AVkernel_runner@gpu@cldnn@@��F�.?AU?$typed_primitive_impl@Ulookup_table@cldnn@@@cldnn@@��F�.?AVlookup_table_kernel_selector@kernel_selector@@��F�.?AUlookup_table_params@kernel_selector@@��F�.?AUlookup_table_optional_params@kernel_selector@@��F�.?AUlookup_table_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Ulookup_table@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ulookup_table@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ulookup_table@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Ulrn@cldnn@@@cldnn@@��F�.?AVlrn_kernel_selector@kernel_selector@@��F�.?AUlrn_params@kernel_selector@@��F�.?AUlrn_optional_params@kernel_selector@@��F�.?AUlrn_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Ulrn@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ulrn@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ulrn@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Ulstm_elt@cldnn@@@cldnn@@��F�.?AVlstm_elt_kernel_selector@kernel_selector@@��F�.?AUlstm_elt_params@kernel_selector@@��F�.?AUlstm_elt_optional_params@kernel_selector@@��F�.?AUlstm_elt_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Ulstm_elt@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ulstm_elt@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ulstm_elt@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Ulstm_gemm@cldnn@@@cldnn@@��F�.?AVlstm_gemm_kernel_selector@kernel_selector@@��F�.?AUlstm_gemm_params@kernel_selector@@��F�.?AUlstm_gemm_optional_params@kernel_selector@@��F�.?AUlstm_gemm_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Ulstm_gemm@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ulstm_gemm@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ulstm_gemm@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Umax_unpooling@cldnn@@@cldnn@@��F�.?AVmax_unpooling_kernel_selector@kernel_selector@@��F�.?AUmax_unpooling_params@kernel_selector@@��F�.?AUmax_unpooling_optional_params@kernel_selector@@��F�.?AUmax_unpooling_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Umax_unpooling@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Umax_unpooling@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Umax_unpooling@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Umutable_data@cldnn@@@cldnn@@��F�.?AUmutable_data_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Umutable_data@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Umutable_data@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Umutable_data@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Umvn@cldnn@@@cldnn@@��F�.?AVmvn_kernel_selector@kernel_selector@@��F�.?AUmvn_params@kernel_selector@@��F�.?AUmvn_optional_params@kernel_selector@@��F�.?AUmvn_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Umvn@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Umvn@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Umvn@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Unormalize@cldnn@@@cldnn@@��F�.?AVnormalize_kernel_selector@kernel_selector@@��F�.?AUnormalize_params@kernel_selector@@��F�.?AUnormalize_optional_params@kernel_selector@@��F�.?AUnormalize_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Unormalize@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Unormalize@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Unormalize@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AV?$refcounted_obj@Uevent_impl@cldnn@@@cldnn@@��F�.?AV?$_Ref_count_obj2@Umake_shared_wa@?1??create@gpu_toolkit@gpu@cldnn@@SA?AV?$shared_ptr@Vgpu_toolkit@gpu@cldnn@@@std@@AEBUconfiguration@45@@Z@@std@@��F�.?AUprofiling_period@instrumentation@cldnn@@��F�.?AUprofiling_period_basic@instrumentation@cldnn@@��F�.?AU?$typed_primitive_impl@Uone_hot@cldnn@@@cldnn@@��F�.?AUone_hot_params@kernel_selector@@��F�.?AUone_hot_optional_params@kernel_selector@@��F�.?AUone_hot_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Uone_hot@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uone_hot@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uone_hot@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Upermute@cldnn@@@cldnn@@��F�.?AVpermute_kernel_selector@kernel_selector@@��F�.?AUpermute_params@kernel_selector@@��F�.?AUpermute_optional_params@kernel_selector@@��F�.?AUpermute_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Upermute@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Upermute@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Upermute@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Upooling@cldnn@@@cldnn@@��F�.?AVpooling_kernel_selector@kernel_selector@@��F�.?AUpooling_params@kernel_selector@@��F�.?AUpooling_optional_params@kernel_selector@@��F�.?AUpooling_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Upooling@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Upooling@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Upooling@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Uproposal@cldnn@@@cldnn@@��F�.?AUproposal_gpu@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uproposal@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uproposal@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Upyramid_roi_align@cldnn@@@cldnn@@��F�.?AUPyramidROIAlign_params@kernel_selector@@��F�.?AUPyramidROIAlign_optional_params@kernel_selector@@��F�.?AUpyramid_roi_align_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Upyramid_roi_align@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Upyramid_roi_align@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Upyramid_roi_align@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Uregion_yolo@cldnn@@@cldnn@@��F�.?AVregion_yolo_kernel_selector@kernel_selector@@��F�.?AUregion_yolo_params@kernel_selector@@��F�.?AUregion_yolo_optional_params@kernel_selector@@��F�.?AUregion_yolo_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Uregion_yolo@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uregion_yolo@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uregion_yolo@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Ureorder@cldnn@@@cldnn@@��F�.?AVreorder_kernel_selector@kernel_selector@@��F�.?AUreorder_params@kernel_selector@@��F�.?AUreorder_optional_params@kernel_selector@@��F�.?AUreorder_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Ureorder@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ureorder@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ureorder@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Ureorg_yolo@cldnn@@@cldnn@@��F�.?AVreorg_yolo_kernel_selector@kernel_selector@@��F�.?AUreorg_yolo_params@kernel_selector@@��F�.?AUreorg_yolo_optional_params@kernel_selector@@��F�.?AUreorg_yolo_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Ureorg_yolo@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ureorg_yolo@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ureorg_yolo@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Ureshape@cldnn@@@cldnn@@��F�.?AUreshape_params@kernel_selector@@��F�.?AUreshape_optional_params@kernel_selector@@��F�.?AVreshape_kernel_selector@kernel_selector@@��F�.?AUreshape_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Ureshape@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ureshape@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Ureshape@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Uroi_pooling@cldnn@@@cldnn@@��F�.?AVroi_pooling_kernel_selector@kernel_selector@@��F�.?AUroi_pooling_params@kernel_selector@@��F�.?AUroi_pooling_optional_params@kernel_selector@@��F�.?AUroi_pooling_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Uroi_pooling@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uroi_pooling@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uroi_pooling@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Uscale@cldnn@@@cldnn@@��F�.?AUscale_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Uscale@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uscale@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uscale@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Uscale_grad_input@cldnn@@@cldnn@@��F�.?AUscale_grad_input_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Uscale_grad_input@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uscale_grad_input@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uscale_grad_input@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Uscale_grad_weights@cldnn@@@cldnn@@��F�.?AVscale_grad_weights_kernel_selector@kernel_selector@@��F�.?AUscale_grad_weights_params@kernel_selector@@��F�.?AUscale_grad_weights_optional_params@kernel_selector@@��F�.?AUscale_grad_weights_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Uscale_grad_weights@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uscale_grad_weights@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uscale_grad_weights@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Uselect@cldnn@@@cldnn@@��F�.?AUselect_params@kernel_selector@@��F�.?AUselect_optional_params@kernel_selector@@��F�.?AUselect_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Uselect@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uselect@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uselect@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Usoftmax@cldnn@@@cldnn@@��F�.?AVsoftmax_kernel_selector@kernel_selector@@��F�.?AUsoftmax_params@kernel_selector@@��F�.?AUsoftmax_optional_params@kernel_selector@@��F�.?AUsoftmax_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Usoftmax@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Usoftmax@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Usoftmax@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Usoftmax_loss_grad@cldnn@@@cldnn@@��F�.?AVsoftmax_loss_grad_kernel_selector@kernel_selector@@��F�.?AUsoftmax_loss_grad_params@kernel_selector@@��F�.?AUsoftmax_loss_grad_optional_params@kernel_selector@@��F�.?AUsoftmax_loss_grad_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Usoftmax_loss_grad@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Usoftmax_loss_grad@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Usoftmax_loss_grad@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Utile@cldnn@@@cldnn@@��F�.?AVtile_kernel_selector@kernel_selector@@��F�.?AUtile_params@kernel_selector@@��F�.?AUtile_optional_params@kernel_selector@@��F�.?AUtile_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Utile@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Utile@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Utile@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AU?$typed_primitive_impl@Uupsampling@cldnn@@@cldnn@@��F�.?AVupsampling_kernel_selector@kernel_selector@@��F�.?AUupsampling_params@kernel_selector@@��F�.?AUupsampling_optional_params@kernel_selector@@��F�.?AUupsampling_gpu@gpu@cldnn@@��F�.?AU?$typed_primitive_gpu_impl@Uupsampling@cldnn@@@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uupsampling@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uupsampling@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AVwait_for_events_gpu@gpu@cldnn@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Udata@cldnn@@@2@@std@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uinput_layout@cldnn@@@2@@std@@��F�.?AV?$_Func_base@PEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uprior_box@cldnn@@@2@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Udata@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uinput_layout@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AV?$_Func_impl_no_alloc@P6APEAUprimitive_impl@cldnn@@AEBU?$typed_program_node@Uprior_box@cldnn@@@2@@ZPEAU12@AEBU32@@std@@��F�.?AVKernelBase@kernel_selector@@��F�.?AVcommon_kernel_base@kernel_selector@@��F�.?AVActivationKernelBase@kernel_selector@@��F�.?AVActivationKernelOpt@kernel_selector@@��F�.?AVActivationKernelRef@kernel_selector@@��F�.?AVActivationKernel_Tutorial@kernel_selector@@��F�.?AV?$_Ref_count_obj2@VActivationKernelRef@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VActivationKernelOpt@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VActivationKernel_Tutorial@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Ueltwise_params@kernel_selector@@@std@@��F�.?AVEltwiseKernelBase@kernel_selector@@��F�.?AVEltwiseKernelRef@kernel_selector@@��F�.?AVEltwiseKernel_vload8@kernel_selector@@��F�.?AVEltwiseKernel_fs_bs_yx_bsv4_fsv32@kernel_selector@@��F�.?AVEltwiseKernel_b_fs_yx_fsv4@kernel_selector@@��F�.?AVEltwiseKernel_fs_b_yx_fsv32@kernel_selector@@��F�.?AVEltwiseKernel_mixed_byxf_and_fs_b_yx_fsv32@kernel_selector@@��F�.?AV?$_Ref_count_obj2@VEltwiseKernelRef@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VEltwiseKernel_vload8@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VEltwiseKernel_fs_bs_yx_bsv4_fsv32@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VEltwiseKernel_b_fs_yx_fsv4@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VEltwiseKernel_fs_b_yx_fsv32@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VEltwiseKernel_mixed_byxf_and_fs_b_yx_fsv32@kernel_selector@@@std@@��F�.?AVArgMaxMinKernelBase@kernel_selector@@��F�.?AVArgMaxMinKernelGPURef@kernel_selector@@��F�.?AVArgMaxMinKernelAxis@kernel_selector@@��F�.?AV?$_Ref_count_obj2@VArgMaxMinKernelGPURef@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VArgMaxMinKernelAxis@kernel_selector@@@std@@��F�.?AVAverageUnpoolingKernelBase@kernel_selector@@��F�.?AVAverageUnpoolingKernelGPURef@kernel_selector@@��F�.?AV?$_Ref_count_obj2@VAverageUnpoolingKernelGPURef@kernel_selector@@@std@@��F�.?AVBatchNormKernelBase@kernel_selector@@��F�.?AVBatchNormKernelRef@kernel_selector@@��F�.?AV?$_Ref_count_obj2@VBatchNormKernelRef@kernel_selector@@@std@@��F�.?AVBatchNormGradKernelBase@kernel_selector@@��F�.?AVBatchNormGradKernelRef@kernel_selector@@��F�.?AV?$_Ref_count_obj2@VBatchNormGradKernelRef@kernel_selector@@@std@@��F�.?AVborder_kernel_selector@kernel_selector@@��F�.?AVBorderKernelBase@kernel_selector@@��F�.?AVBorderKernelRef@kernel_selector@@��F�.?AV?$_Ref_count_obj2@VBorderKernelRef@kernel_selector@@@std@@��F�.?AVbroadcast_kernel_selector@kernel_selector@@��F�.?AVBroadcastKernelBase@kernel_selector@@��F�.?AVBroadcastKernelRef@kernel_selector@@��F�.?AV?$_Ref_count_obj2@VBroadcastKernelRef@kernel_selector@@@std@@��F�.?AVConcatenationKernelBase@kernel_selector@@��F�.?AVConcatenationKernelRef@kernel_selector@@��F�.?AVConcatenationKernel_bfzyx_Ref@kernel_selector@@��F�.?AVConcatenationKernel_depth_bfyx_no_pitch@kernel_selector@@��F�.?AVConcatenationKernelBlocked@kernel_selector@@��F�.?AV?$_Ref_count_obj2@VConcatenationKernelRef@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VConcatenationKernel_bfzyx_Ref@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VConcatenationKernel_depth_bfyx_no_pitch@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VConcatenationKernelBlocked@kernel_selector@@@std@@��F�.?AVcontract_kernel_selector@kernel_selector@@��F�.?AVContractKernelBase@kernel_selector@@��F�.?AVContractKernelRef@kernel_selector@@��F�.?AV?$_Ref_count_obj2@VContractKernelRef@kernel_selector@@@std@@��F�.?AVWeightBiasKernelBase@kernel_selector@@��F�.?AVConvolutionKernelBase@kernel_selector@@��F�.?AVConvolutionKernel_Ref@kernel_selector@@��F�.?AVConvolutionKernel_bfyx_GEMMLike@kernel_selector@@��F�.?AVConvolutionKernel_bfyx_Direct_10_10_12@kernel_selector@@��F�.?AVConvolutionKernel_yxfb_Ref@kernel_selector@@��F�.?AVConvolutionKernel_yxfb_yxio_b16@kernel_selector@@��F�.?AVConvolutionKernel_yxfb_yxio_b8@kernel_selector@@��F�.?AVConvolutionKernel_yxfb_yxio_b1_block_mulitple_x@kernel_selector@@��F�.?AVConvolutionKernel_Winograd_2x3_s1@kernel_selector@@��F�.?AVConvolutionKernel_bfyx_1x1@kernel_selector@@��F�.?AVConvolutionKernel_bfyx_1x1_gemm_buf@kernel_selector@@��F�.?AVConvolutionKernel_Winograd_2x3_s1_fused@kernel_selector@@��F�.?AVConvolutionKernel_Winograd_6x3_s1_fused@kernel_selector@@��F�.?AVConvolutionKernel_MMAD@kernel_selector@@��F�.?AVConvolutionKernel_1x1_gemm_MMAD@kernel_selector@@��F�.?AVConvolutionKernel_byxf_af32_depthiwise@kernel_selector@@��F�.?AVConvolutionKernel_mmad_batched@kernel_selector@@��F�.?AVConvolutionKernel_bfyx_depthwise_weights_lwg@kernel_selector@@��F�.?AVConvolutionKernel_mmad_slm_2x14_rep4@kernel_selector@@��F�.?AVConvolutionKernel_mmad_slm_7x7_rep4@kernel_selector@@��F�.?AVConvolutionKernel_byxf_fs_bs_yx_bsv4_fsv32@kernel_selector@@��F�.?AVConvolutionKernel_mmad_batched_block@kernel_selector@@��F�.?AVConvolutionKernel_mmad_batched_block_1x1@kernel_selector@@��F�.?AVConvolutionKernel_mmad_32x32sg_128x128wg_slm_int8@kernel_selector@@��F�.?AVConvolutionKernel_mmad_32x32sg_224x128wg_slm_int8@kernel_selector@@��F�.?AVConvolutionKernel_byx8_f4__fs_bs_yx_bsv4_fsv32@kernel_selector@@��F�.?AVConvolutionKernel_imad_3x3@kernel_selector@@��F�.?AVConvolutionKernel_imad_1x1@kernel_selector@@��F�.?AVConvolutionKernel_imad_7x7@kernel_selector@@��F�.?AVConvolutionKernel_bfzyx_Ref@kernel_selector@@��F�.?AVConvolutionKernel_bfyx_f16_depthwise@kernel_selector@@��F�.?AVConvolutionKernel_bfyx_f16_1x1@kernel_selector@@��F�.?AV?$_Ref_count_obj2@VConvolutionKernel_Ref@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Vconvolution_kernel_bfyx_1x1_opt@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VConvolutionKernel_bfyx_GEMMLike@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VConvolutionKernel_bfyx_Direct_10_10_12@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VConvolutionKernel_bfyx_os_iyx_osv16@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VConvolutionKernel_yxfb_Ref@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VConvolutionKernel_yxfb_yxio_b16@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VConvolutionKernel_yxfb_yxio_b8@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VConvolutionKernel_yxfb_yxio_b1_block_mulitple_x@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VConvolutionKernel_Winograd_2x3_s1@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VConvolutionKernel_Winograd_2x3_s1_fused@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VConvolutionKernel_Winograd_6x3_s1_fused@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VConvolutionKernel_bfyx_1x1@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VConvolutionKernel_bfyx_1x1_gemm_buf@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VConvolutionKernel_MMAD@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VConvolutionKernel_MMAD_blocks@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VConvolutionKernel_1x1_gemm_MMAD@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VConvolutionKernel_byxf_af32_depthiwise@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VConvolutionKernel_mmad_batched@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VConvolutionKernel_bfyx_depthwise_weights_lwg@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VConvolutionKernel_mmad_slm_2x14_rep4@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VConvolutionKernel_mmad_slm_7x7_rep4@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VConvolutionKernel_mmad_32x32sg_128x128wg_slm_int8@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VConvolutionKernel_mmad_32x32sg_224x128wg_slm_int8@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VConvolutionKernel_byxf_fs_bs_yx_bsv4_fsv32@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VConvolutionKernel_byx8_f4__fs_bs_yx_bsv4_fsv32@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VConvolutionKernel_mmad_batched_block@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VConvolutionKernel_mmad_batched_block_1x1@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VConvolutionKernel_imad_3x3@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VConvolutionKernel_imad_1x1@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VConvolutionKernel_imad_7x7@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VConvolutionKernel_bfzyx_Ref@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VConvolutionKernel_fs_byx_fsv32@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VConvolutionKernel_fs_byx_fsv32_1x1@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VConvolutionKernel_bfyx_to_fs_byx_fsv32@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VConvolutionKernel_bfyx_f16_depthwise@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VConvolutionKernel_bfyx_f16_1x1@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VConvolutionKernel_bfyx_f16@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VConvolutionKernel_bfyx_to_bfyx_f16@kernel_selector@@@std@@��F�.?AVtraining_kernel_base@kernel_selector@@��F�.?AVConvolutionGradWeightsKernelBase@kernel_selector@@��F�.?AVConvolutionGradWeightsKernelRef@kernel_selector@@��F�.?AVConvolutionGradWeightsKernel1x1@kernel_selector@@��F�.?AVConvolutionGradWeightsKernel_yxfb@kernel_selector@@��F�.?AVConvolutionGradWeightsKernel3x3@kernel_selector@@��F�.?AVConvolutionGradWeightsKernel7x7@kernel_selector@@��F�.?AV?$_Ref_count_obj2@VConvolutionGradWeightsKernelRef@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VConvolutionGradWeightsKernel1x1@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VConvolutionGradWeightsKernel_yxfb@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VConvolutionGradWeightsKernel3x3@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VConvolutionGradWeightsKernel7x7@kernel_selector@@@std@@��F�.?AV?$SizeJitConstant@I@kernel_selector@@��F�.?AV?$_Ref_count_obj2@V?$SizeJitConstant@I@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Uconvolution_grad_weights_params@kernel_selector@@@std@@��F�.?AVDataTensorJitConstant@kernel_selector@@��F�.?AV?$TensorBaseTJitConstant@W4Datatype@kernel_selector@@W4DataLayout@Tensor@2@@kernel_selector@@��F�.?AVWeightTensorJitConstant@kernel_selector@@��F�.?AV?$TensorBaseTJitConstant@W4WeightsType@kernel_selector@@W4WeightsLayout@Tensor@2@@kernel_selector@@��F�.?AV?$_Ref_count_obj2@VDataTensorJitConstant@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VWeightTensorJitConstant@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Udeconvolution_params@kernel_selector@@@std@@��F�.?AVDeconvolutionKernelBase@kernel_selector@@��F�.?AVDeconvolutionKernelRef@kernel_selector@@��F�.?AVDeconvolutionKernel_bfyx_opt@kernel_selector@@��F�.?AV?$_Ref_count_obj2@VDeconvolutionKernelRef@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VDeconvolutionKernel_bfyx_opt@kernel_selector@@@std@@��F�.?AVDetectionOutputKernelBase@kernel_selector@@��F�.?AVDetectionOutputKernel@kernel_selector@@��F�.?AVDetectionOutputKernel_sort@kernel_selector@@��F�.?AV?$_Ref_count_obj2@VDetectionOutputKernel@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VDetectionOutputKernel_sort@kernel_selector@@@std@@��F�.?AVEmbedKernelRef@kernel_selector@@��F�.?AV?$_Ref_count_obj2@VEmbedKernelRef@kernel_selector@@@std@@��F�.?AVFullyConnectedKernelBase@kernel_selector@@��F�.?AVFullyConnected_bfyx_Ref@kernel_selector@@��F�.?AVFullyConnected_bf_io_GEMM@kernel_selector@@��F�.?AVFullyConnected_bs_f_bsv16_b1@kernel_selector@@��F�.?AVFullyConnectedBlockKernelBase@kernel_selector@@��F�.?AVFullyConnected_bs_f_bsv16_af8@kernel_selector@@��F�.?AVFullyConnected_bs_f_bsv8_af8@kernel_selector@@��F�.?AVFullyConnected_yxfb_ref@kernel_selector@@��F�.?AVFullyConnected_fb_oi_ref@kernel_selector@@��F�.?AVFullyConnected_fb_io_ref@kernel_selector@@��F�.?AVFullyConnected_bf_io_ref@kernel_selector@@��F�.?AVFullyConnected_fb_oi_b8_ref@kernel_selector@@��F�.?AVFullyConnected_fb_io_b8_f8@kernel_selector@@��F�.?AVFullyConnected_fb_io_block@kernel_selector@@��F�.?AVFullyConnected_bf_io_input_spatial@kernel_selector@@��F�.?AVFullyConnectedKernelMMAD@kernel_selector@@��F�.?AVFullyConnected_mmad_batched@kernel_selector@@��F�.?AVFullyConnectedKernelIMAD@kernel_selector@@��F�.?AVFullyConnected_fs_byx_fsv32@kernel_selector@@��F�.?AV?$_Ref_count_obj2@VFullyConnected_bfyx_Ref@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VFullyConnected_bf_io_GEMM@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VFullyConnected_bs_f_bsv16_b1@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VFullyConnected_bs_f_bsv16_af8@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VFullyConnected_bs_f_bsv8_af8@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VFullyConnected_yxfb_ref@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VFullyConnected_fb_oi_ref@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VFullyConnected_fb_io_ref@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VFullyConnected_bf_io_ref@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VFullyConnected_fb_oi_b8_ref@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VFullyConnected_fb_io_block@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VFullyConnected_fb_io_b8_f8@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VFullyConnected_bf_io_input_spatial@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VFullyConnectedKernelMMAD@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VFullyConnected_mmad_batched@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VFullyConnectedKernelIMAD@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VFullyConnected_fs_byx_fsv32@kernel_selector@@@std@@��F�.?AVFullyConnectedGradInputKernelBase@kernel_selector@@��F�.?AVFullyConnectedGradInputKernelRef@kernel_selector@@��F�.?AV?$_Ref_count_obj2@VFullyConnectedGradInputKernelRef@kernel_selector@@@std@@��F�.?AVFullyConnectedGradWeightsKernelBase@kernel_selector@@��F�.?AVFullyConnectedGradWeightsKernelRef@kernel_selector@@��F�.?AV?$_Ref_count_obj2@VFullyConnectedGradWeightsKernelRef@kernel_selector@@@std@@��F�.?AVfused_conv_bn_scale_kernel_base@kernel_selector@@��F�.?AVfused_conv_bn_scale_kernel_ref@kernel_selector@@��F�.?AV?$_Ref_count_obj2@Vfused_conv_bn_scale_kernel_ref@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Ufused_conv_eltwise_params@kernel_selector@@@std@@��F�.?AVfused_conv_eltwise_kernel_base@kernel_selector@@��F�.?AVfused_conv_eltwise_kernel_bfyx_1x1_opt@kernel_selector@@��F�.?AVfused_conv_eltwise_kernel_ref@kernel_selector@@��F�.?AVfused_conv_eltwise_kernel_mmad_32x32sg_128x128wg_slm_int8@kernel_selector@@��F�.?AVfused_conv_eltwise_kernel_mmad_32x32sg_224x128wg_slm_int8@kernel_selector@@��F�.?AVfused_conv_eltwise_kernel_yxfb_yxio_b16@kernel_selector@@��F�.?AVfused_conv_eltwise_kernel_imad@kernel_selector@@��F�.?AV?$_Ref_count_obj2@Vfused_conv_eltwise_kernel_ref@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Vfused_conv_eltwise_kernel_yxfb_yxio_b16@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Vfused_conv_eltwise_kernel_bfyx_1x1_opt@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Vfused_conv_eltwise_kernel_bfyx_os_iyx_osv16@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Vfused_conv_eltwise_kernel_mmad_32x32sg_128x128wg_slm_int8@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Vfused_conv_eltwise_kernel_mmad_32x32sg_224x128wg_slm_int8@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Vfused_conv_eltwise_kernel_imad@kernel_selector@@@std@@��F�.?AVgemm_kernel_selector@kernel_selector@@��F�.?AVGemmKernelBase@kernel_selector@@��F�.?AVGemmKernelRef@kernel_selector@@��F�.?AV?$_Ref_count_obj2@VGemmKernelRef@kernel_selector@@@std@@��F�.?AVindex_select_kernel_selector@kernel_selector@@��F�.?AVIndexSelectKernelBase@kernel_selector@@��F�.?AVIndexSelectKernelRef@kernel_selector@@��F�.?AV?$_Ref_count_obj2@VIndexSelectKernelRef@kernel_selector@@@std@@��F�.?AVLookUpTableKernelBase@kernel_selector@@��F�.?AVLookUpTableKernelRef@kernel_selector@@��F�.?AVLookUpTableKernelAxis@kernel_selector@@��F�.?AV?$_Ref_count_obj2@VLookUpTableKernelRef@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VLookUpTableKernelAxis@kernel_selector@@@std@@��F�.?AVLRNKernelBase@kernel_selector@@��F�.?AVLRNKernelRef@kernel_selector@@��F�.?AVLRNKernelWithinChannel@kernel_selector@@��F�.?AVLRNKernelWithinChannelOpt@kernel_selector@@��F�.?AVLRNKernelAcrossChannelRef@kernel_selector@@��F�.?AVLRNKernelAcrossChannel_b8@kernel_selector@@��F�.?AVLRNKernelAcrossChannelMultipleFeatures@kernel_selector@@��F�.?AVLRNKernelWithinChannelByxfOpt@kernel_selector@@��F�.?AV?$_Ref_count_obj2@VLRNKernelRef@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VLRNKernelWithinChannel@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VLRNKernelWithinChannelOpt@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VLRNKernelAcrossChannelRef@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VLRNKernelAcrossChannel_b8@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VLRNKernelWithinChannelByxfOpt@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VLRNKernelAcrossChannelMultipleFeatures@kernel_selector@@@std@@��F�.?AVLSTMEltKernelBase@kernel_selector@@��F�.?AVLSTMEltKernelRef@kernel_selector@@��F�.?AV?$_Ref_count_obj2@VLSTMEltKernelRef@kernel_selector@@@std@@��F�.?AVLSTMGemmKernelBase@kernel_selector@@��F�.?AVLSTMGemmKernelRef@kernel_selector@@��F�.?AVLSTMGemvKernel_subgroup1x64_bfyx_ff_SIMD16@kernel_selector@@��F�.?AVLSTMGemvKernel_subgroup1x64_bfyx_hh_SIMD16@kernel_selector@@��F�.?AV?$_Ref_count_obj2@VLSTMGemmKernelRef@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VLSTMGemvKernel_subgroup1x64_bfyx_ff_SIMD16@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VLSTMGemvKernel_subgroup1x64_bfyx_hh_SIMD16@kernel_selector@@@std@@��F�.?AVMaxUnpoolingKernelBase@kernel_selector@@��F�.?AVMaxUnpoolingKernelGPURef@kernel_selector@@��F�.?AV?$_Ref_count_obj2@VMaxUnpoolingKernelGPURef@kernel_selector@@@std@@��F�.?AVMVNKernelBase@kernel_selector@@��F�.?AVMVNKernelRef@kernel_selector@@��F�.?AVMVNKernelBfyxOpt@kernel_selector@@��F�.?AV?$_Ref_count_obj2@VMVNKernelRef@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VMVNKernelBfyxOpt@kernel_selector@@@std@@��F�.?AVNormalizeKernelBase@kernel_selector@@��F�.?AVNormalizeKernelWithinSpatialRef@kernel_selector@@��F�.?AVNormalizeKernelAcrossSpatialRef@kernel_selector@@��F�.?AV?$_Ref_count_obj2@VNormalizeKernelWithinSpatialRef@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VNormalizeKernelAcrossSpatialRef@kernel_selector@@@std@@��F�.?AVone_hot_kernel_selector@kernel_selector@@��F�.?AVOneHotKernelBase@kernel_selector@@��F�.?AVOneHotKernelRef@kernel_selector@@��F�.?AV?$_Ref_count_obj2@VOneHotKernelRef@kernel_selector@@@std@@��F�.?AVPermuteKernelRef@kernel_selector@@��F�.?AV?$_Ref_count_obj2@VPermuteKernelRef@kernel_selector@@@std@@��F�.?AVPoolingKernelBase@kernel_selector@@��F�.?AVPoolingKernelGPURef@kernel_selector@@��F�.?AVPoolingKernelGPUByxfOpt@kernel_selector@@��F�.?AVPoolingKernelGPUBfyxBlockOpt@kernel_selector@@��F�.?AVPoolingKernelGPUByxfPaddingOpt@kernel_selector@@��F�.?AVPoolingKerneGPU_byxf_af32@kernel_selector@@��F�.?AVPoolingKernelGPUInt8Ref@kernel_selector@@��F�.?AVPoolingKerneGPU_fs_bs_yx_bsv4_fsv32@kernel_selector@@��F�.?AVPoolingKerneGPU_b_fs_yx_fsv4@kernel_selector@@��F�.?AVPoolingKerneGPU_fs_bs_yx_bsv4_fsv32_simd32@kernel_selector@@��F�.?AVPoolingKerneGPU_fs_b_yx_fsv32@kernel_selector@@��F�.?AVPoolingKernelBlocked@kernel_selector@@��F�.?AV?$_Ref_count_obj2@VPoolingKernelGPURef@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VPoolingKernelGPUByxfOpt@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VPoolingKernelGPUBfyxBlockOpt@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VPoolingKernelGPUByxfPaddingOpt@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VPoolingKernelGPUInt8Ref@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VPoolingKerneGPU_byxf_af32@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VPoolingKerneGPU_fs_bs_yx_bsv4_fsv32@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VPoolingKerneGPU_b_fs_yx_fsv4@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VPoolingKerneGPU_fs_bs_yx_bsv4_fsv32_simd32@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VPoolingKerneGPU_fs_b_yx_fsv32@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VPoolingKernelBlocked@kernel_selector@@@std@@��F�.?AVPyramidROIAlign_kernel_selector@kernel_selector@@��F�.?AVPyramidROIAlignKernelBase@kernel_selector@@��F�.?AVPyramidROIAlignKernelRef@kernel_selector@@��F�.?AV?$_Ref_count_obj2@VPyramidROIAlignKernelRef@kernel_selector@@@std@@��F�.?AVRegionYoloKernelRef@kernel_selector@@��F�.?AV?$_Ref_count_obj2@VRegionYoloKernelRef@kernel_selector@@@std@@��F�.?AVReorderKernelBase@kernel_selector@@��F�.?AVReorderKernelRef@kernel_selector@@��F�.?AVReorderKernelFastBatch1@kernel_selector@@��F�.?AVReorderFromWinograd2x3Kernel@kernel_selector@@��F�.?AVReorderToWinograd2x3Kernel@kernel_selector@@��F�.?AVReorderKernel_to_yxfb_batched@kernel_selector@@��F�.?AVreorder_kernel_byxf_f32_to_byx8_f4_i8@kernel_selector@@��F�.?AV?$_Ref_count_obj2@VReorderKernelRef@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VReorderKernelFastBatch1@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VReorderFromWinograd2x3Kernel@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VReorderToWinograd2x3Kernel@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VReorderKernel_to_yxfb_batched@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Vreorder_kernel_byxf_f32_to_byx8_f4_i8@kernel_selector@@@std@@��F�.?AVReorgYoloKernelRef@kernel_selector@@��F�.?AV?$_Ref_count_obj2@VReorgYoloKernelRef@kernel_selector@@@std@@��F�.?AVReshapeKernelRef@kernel_selector@@��F�.?AV?$_Ref_count_obj2@VReshapeKernelRef@kernel_selector@@@std@@��F�.?AVROIPoolingKernelRef@kernel_selector@@��F�.?AV?$_Ref_count_obj2@VROIPoolingKernelRef@kernel_selector@@@std@@��F�.?AVScaleGradWeightsKernelBase@kernel_selector@@��F�.?AVScaleGradWeightsKernelRef@kernel_selector@@��F�.?AV?$_Ref_count_obj2@VScaleGradWeightsKernelRef@kernel_selector@@@std@@��F�.?AVselect_kernel_selector@kernel_selector@@��F�.?AVSelectKernelBase@kernel_selector@@��F�.?AVSelectKernelRef@kernel_selector@@��F�.?AV?$_Ref_count_obj2@VSelectKernelRef@kernel_selector@@@std@@��F�.?AVSoftmaxKernelBase@kernel_selector@@��F�.?AVSoftmaxKernelBaseBF@kernel_selector@@��F�.?AVSoftmaxItemsClassKernelBase@kernel_selector@@��F�.?AVSoftmaxKernelRef@kernel_selector@@��F�.?AVSoftmaxKernel_bf@kernel_selector@@��F�.?AVSoftmaxKernel_fb@kernel_selector@@��F�.?AVSoftmaxKerneItemsClassOptimized@kernel_selector@@��F�.?AV?$_Ref_count_obj2@VSoftmaxKernelRef@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VSoftmaxKernel_bf@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VSoftmaxKernel_fb@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VSoftmaxKerneItemsClassOptimized@kernel_selector@@@std@@��F�.?AVSoftmaxLossGradKernelBase@kernel_selector@@��F�.?AVSoftmaxLossGradKernelRef@kernel_selector@@��F�.?AV?$_Ref_count_obj2@VSoftmaxLossGradKernelRef@kernel_selector@@@std@@��F�.?AVTileKernelRef@kernel_selector@@��F�.?AV?$_Ref_count_obj2@VTileKernelRef@kernel_selector@@@std@@��F�.?AVUpSamplingKernelBase@kernel_selector@@��F�.?AVUpSamplingKernelRef@kernel_selector@@��F�.?AV?$_Ref_count_obj2@VUpSamplingKernelRef@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Uactivation_params@kernel_selector@@@std@@��F�.?AVReorderWeightsKernelSelctor@kernel_selector@@��F�.?AUreorder_weights_params@kernel_selector@@��F�.?AV?$_Ref_count_obj2@Uarg_max_min_params@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Uaverage_unpooling_params@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Ubatch_norm_params@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Ubatch_norm_grad_params@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Uconcatenation_params@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Uconvolution_params@kernel_selector@@@std@@��F�.?AVconvolution_kernel_bfyx_1x1_opt@kernel_selector@@��F�.?AVConvolutionKernel_bfyx_os_iyx_osv16@kernel_selector@@��F�.?AVConvolutionKernel_MMAD_blocks@kernel_selector@@��F�.?AVConvolutionKernel_fs_byx_fsv32@kernel_selector@@��F�.?AVConvolutionKernel_fs_byx_fsv32_1x1@kernel_selector@@��F�.?AVConvolutionKernel_bfyx_to_fs_byx_fsv32@kernel_selector@@��F�.?AVConvolutionKernel_bfyx_f16@kernel_selector@@��F�.?AVConvolutionKernel_bfyx_to_bfyx_f16@kernel_selector@@��F�.?AV?$_Ref_count_obj2@Udetection_output_params@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Uembed_params@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Ufully_connected_params@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Ufully_connected_grad_input_params@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Ufully_connected_grad_weights_params@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Ufused_conv_bn_scale_params@kernel_selector@@@std@@��F�.?AVfused_conv_eltwise_kernel_bfyx_os_iyx_osv16@kernel_selector@@��F�.?AV?$_Ref_count_obj2@Ulookup_table_params@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Ulrn_params@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Ulstm_elt_params@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Ulstm_gemm_params@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Umax_unpooling_params@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Umvn_params@kernel_selector@@@std@@��F�.?AV?$VectorDataJitConstant@G@kernel_selector@@��F�.?AV?$_Ref_count_obj2@V?$VectorDataJitConstant@G@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Upermute_params@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Upooling_params@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Uregion_yolo_params@kernel_selector@@@std@@��F�.?AV?$VectorDataJitConstant@M@kernel_selector@@��F�.?AV?$_Ref_count_obj2@V?$VectorDataJitConstant@M@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Ureorder_weights_params@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Ureorder_params@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Ureorg_yolo_params@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Ureshape_params@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Uroi_pooling_params@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Uscale_grad_weights_params@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Uselect_params@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Usoftmax_params@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Usoftmax_loss_grad_params@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Utile_params@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Uupsampling_params@kernel_selector@@@std@@��F�.?AVReorderWeightsKernel@kernel_selector@@��F�.?AVReorderWeightsWinograd2x3Kernel@kernel_selector@@��F�.?AVReorderWeightsWinograd6x3Kernel@kernel_selector@@��F�.?AVReorderWeightsImage_fyx_b_Kernel@kernel_selector@@��F�.?AVReorderWeightsImageWinograd6x3Kernel@kernel_selector@@��F�.?AV?$_Ref_count_obj2@VReorderWeightsKernel@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VReorderWeightsWinograd2x3Kernel@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VReorderWeightsWinograd6x3Kernel@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VReorderWeightsImage_fyx_b_Kernel@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@VReorderWeightsImageWinograd6x3Kernel@kernel_selector@@@std@@��F�.?AV?$DimVectorJitConstant@I@kernel_selector@@��F�.?AV?$_Ref_count_obj2@V?$DimVectorJitConstant@I@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Uborder_params@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Ubroadcast_params@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Ucontract_params@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Ugemm_params@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Uindex_select_params@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Unormalize_params@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@Uone_hot_params@kernel_selector@@@std@@��F�.?AV?$_Ref_count_obj2@UPyramidROIAlign_params@kernel_selector@@@std@@�#pL�#�#�$K�#I%�8LP%�&�;L�&
(,=L(�)>L�)5+�;L@+�,�;L�,�-4CL. .�$K .�.�GL�.04CL000�$K00�1�;L�1�1�$K�1$2�RL02�3�VL�3�4`L5 5�$K 5�50cL�5�5�$K�5I7�8LP7�8�8L�8S9oL`9;qL;�;oL�;$<�RL@<�=,=L�=�>�;L?�?�L@�@�LA�B>L�BDC�RLPC�DqL�DFqLF�F�vK�F�G�GL�GH�RLH0H�$K0H�HoL�HxIoL�IyJ,�L�J�J�RLKULqL`L�L�RL�L�MoL�M�N�;L�NEP�;LPP�Q�;L�Q�Q�$K�Q%S�;L0S�T�;L�T3UoL@U�V�8L�V�Wd�L�W�W�$KX X�$K X@X�$K`X�X��M�X�X�$KY Y�$K Y@Y�$K`YzY�$K�Y�Y�$K�Y�YH�MZNZ�MPZ�Z�$K�Z	[�$K[z[�%K�[�[�%K�[*\�$K,\v\�)K�\�\�$K�\])K]�^�)K�^"_�(K0_�_�(K�_p`�(Kp`Ha�(KHamb)Kpb�b�%K�b&d()K(d�dh)K�d�e�&K�eZfl(K\f�f4&K�f�g�$K�g0h$'K0h�h%K�h�it%K�i�i�$K�ij�$K jkj�$Klj�j�$K�jk�$KkFk�$KHk�kT&K�k�lH&K�l�m$&K�m=n�%K@n�n�%K�nHop&KHo�p8'K�p�p�$K�pRq�$KTqhr %Khr�r�$K�rs�$Ks4s�$K4svs�$K�s�s�$K�st�$KtTt�$Kht�t�$K�t�u�$K�u�u`&K�uzv�%K�v�v�$K�vw�$K wbw�$Kpw�w�$K�w#x�$K0xdx�$Kpxy�$K0yGy�$KPypy�$K�y�z,%K�z�z�$K�z�z�$K{{�$K{C}(K`}�}�$K ~p~�'Kp~�'K����&K��?��'K@�ӆ�%KԆ:��&K<����&K����'K4���P,K��Z��,K\����,K��K��,KL���|,K��Q��$KT��-K�M��,KP��$,K�X�$'KX����$K�����$K��8��$K8�ˏ�+K̏^�*K`�|��$K|����$K��א�$KؐB��&KD����$K��*��&K0�[��$K`�Ò�$KВ3��$KГ��$K����%K����*K���*K����&K����&K�R��&K`�˩�$K̩ڪ�+Kܪ��+K���x/K����L.K����T-K��W�@.KX��H/K�\�$'K\�i�t.Kl��T&K���.K��Ƴ$&Kȳ׳�-Kسu�@.K�����$K����$K ����.K �>��$K��%�|-K(�:��-K<����-K�h��-Kh��.K�v�.K����.K�V��&Kp����/K��l��/Kl����$K�����$K�����$K����$K ����/K�����$K��`��%K`��%K�E��$K����<0K��~��/K����/K�f��&Kh����&K����$K ���1K���P1K��?��1K@����$K��P��$K`�|��0K|���EK�4��$K@�e�$7Kp����$K��'��EK(����FK��Q�LFKT��4FK ����,K���� FK����xFK��C�`FKP���|BK��e�|BKh���LBK�c��BKd���BK����?K��*��(K,����(K����%K����(K��7��EK8�o��EKp����EK��{�EK|���<BK@����1K��t��1Kt����$K����$K�p�4AKp�E�@KH���$K����$K��?��$K@���H&K��>�H&K@����6K��R�BKT�6�AK8�.��@K0��tAK�r��@Kt�_�@AK`�B��AKD�
�AK
3K3K3K��4K�~d5K�)�$K0�45K�M�?KP�$'K�8$'K8�$'K� 	$'K 	�	$'K�	
$'K
|
$'K|
�
h2K�
�02K���$K��$K0P,7KP5�7K8W@?KX�D8K���8K�H�$KH{�'K|��$K�b�$Kd\ �9K\ �!�8K�!X"�$KX"�"CK�"<#�$K<#�#<2K�#6$�$K8$T$�$KT$�$�$K�$�$�$K�$�$�3K�%�%�$K�%M&�$KP&2'�$K4'^'�$K`'�'@K�'/(�$K0(i(�$Kl(�(�2K�(')CK()�)�$K�)*�$K*W*�$KX*>+�$K@+T,�9KT,�,LCK�,�. 4K�.�.�2K�.�/`&KD01�EK1�15K�1�106K 2K2�$KP2{2�$K�2�2�$K�2�2�$K�23�$K3;3�$K@3k3�$Kp3�3�$K�3�3�$K�3�3�$K4?4x3K@4x4�$Kx4�4�4K�4?5�4K@5�5�%K�56�$K6^66K`6�6�$K�6�6�$K7+7�$K07�7�$K�7�7�$K8c8�$Kp8�8�$K�8C9�$KP9{9�$K�9�9�$K�9:�$K:s:�$K�:�:�$K�:#;�$K0;�;�$K�;<�$K <_<x3K`<�<�$K�<�<�$K�<I=�$K>U>�$Kp>�>�$KH?�?�&K�?c@�$Kd@�D7K\E�ITDK�I~J�2K�J9KlCK<KL,EK(LMpEKMvMT3K�M�O�AK�O�S�DK�SkT�1KlTU�3KU�U�(K�UzVL6K|V	W�(K�W�W�$K�W�W�$K�WuX�$KxX�X�$K�XY�$KY{Y�%K|Y�Y�$K�YZ�$KZ�Z�+K�Z�ZL3K[�[�6K�[\�'K \S\�'Kp\�\�$K�\�]�CK�]�^�CK�^r`�CK�`Bb�CKPb�b<DK�bd�CKd#e�CK0eg�CK@g�g`&K�g�g`&K�g#h�'K0hMh�$Kph�h�'K�hci�$Kdi�i7K�i�j�4Kk�l8K�l�m�8K�m8n:K@n=oX9K@o px?KHp�tL<K�tz��<K|�:��3K<����$K��+��$K,�Ϙ�1KИ���1K��K��6K`�Ț�'Kؚw�|-Kx�+��6K,����/K��a��5K��=�:K@����$K��	��5K���5K�n��$Kp���?K��`��5K`����6K���$K�~��&K�����&K��N��&KP����&K����&K ����&K�����&K��V��&KX����&K��&��&K0�l��$K���48K ���p?K����48K ����$KP����3K�����5K��F��5KP����1K��&�lGK(����JK��(�LJK0�e��$Kh����IK��F��IKH��JK�x�$'Kx���@?K�����FK�����$K��3��$K@����$K��J�GKP�K��GKL����&K����p?K��MDLKP�DLK��LK�4LK4��JK��LK���JK���%K�"�%K0Z�$K\��$KC�LKPz|LK|��&K�)K�DMK�x!DMKx!%�MK%�(DMK�([)MKd)�)�%K*k*�$K�*�,(MK�,-�&K-�-XNK�-E.XNKH.�.XNK�.u/XNKx/2�MK2�4�MK�47NK7x9NKx9:MK@:=(MK=n=�&Kp=�=�$K�=k>�$Kl>�D�NK�D�J�NK�JLpNKL�L�PK�LJM�'KLMN�PKN�N8PK�NO`PKO�O�$K�OPH&KP�P�OK�P�P�$K�P/Q�$K8Q�]�NK�]�g�OK�gyp�OK�p�p�$K�pYq�%K\qr�6K ru�NKufu�&Khu�w�PKx�z�PK�z�{�PK�{>DRK@��lRK��Y��RK\�W� RKX����$K�����$K(�̊�RK̊���RK��!�0QK$�Đ QKА���QK����&K���VK���VK ����VK��&��VK(���HVK���VK ���$'K���$'K��*K�[�UK\�y��TK|����$K����$K����$K��L��9KL���$K�ҵ�UKԵI��VKP�{��$K�����$K��ۺ�$K�C��$KP����$K����$K�4��$K@����.K�����$K��q��$K�����SK����LSK��k�4AKp���UK���UK����$K����$K�6�SK@�f�SKp�7��TK8����&K����&K�n��&Kp����&K��>��&K@����&K����&K�v��&Kx����&K��F��&KH����&K����&K ��48K���48K���pYK��&��YK(�{�TYK����)K��P��PKP�T�`YK`���YK��7��$K8����$K��9�YK<��� QK�����$K�`��$K`����$K�����$K��u��$Kx����%K��i��$K����%K���hXK��G��XKH�M�$WKP���WK ����(K�~TWK�WKn�&Kp��YK�i|BKl�|BK��
�$K�
�&K�)XNK,��[K���[K�,$'K,(ZK(�HZK��$K�[K*�ZK*;*�$K@*�*�$K�*�*�$Kx+�+�$K,X,:K`,42hZK42�2�&K�23�&K3j3�&Kp34�'K4�4�\K�4/5|,K`5T9<\KT9�9�&K�9?:8dK@:�:�bK�:`;�$K`;�;dK�;<7K<�<�(K�<�<�(Kp=�=�$K,>�>�$K�>�?�cK�?xA�bKxAPBaKPBXC0aKXC-D�`K0DoD�%KpD=E�aK@E�E�%K�E3F�aK4F�GdK�GjI�aKlI�JpaK�JNKcKPK�KXbK�K`L�bK`L�LH&K�LqMcKtM�MH&K�MN,bK�NO0`KO�O�_K�OoP�]KpPQ�]KQ7Q�$K8QW�^KW�W�]K�WnXd]KpXY]KY�Y0]K�Y�Y�$K�Y�Y�$K�YZ�$K$ZGZ�$KHZ�Z�$K�Z�Z�$K�Z�[H&K�[f]�%Kp]]_�\K`_�_DcK�_`�$K `K`�$KP`{`�$K�`�`�$K�`�`�$K�`a�$Ka;a�$K@ata�$K�a�a�$K�ab�$K bAb�$KPb�b�$K�b�b�$K�b�c�_K�c8d�$KTdf�EKfff�%Khf�f�$K�f�g�_K�g�h�/K�h�j^K�j�k�`K�k}l�`K�l�mh`K�mun�$K�n+o�/K0o�o�/K�op�$KpEp�$KPpup�$K�p%r�_K0r�r\`K�r�sXcK�s0t�'K<t�t�cK�t�u�/K�u1y`^K�y�ydK�y8z7K8z
{�`K{O{�%KP{|�aK |�|�%K�|}�aK}�}XbK�}$~�bK$~�~H&K�~/,bK0��]K����]K�����dK��9��]K<��d]K���$K �K��$KP�{��$K�����$K؊:��$K@���/K�0��$K0���`K ����`K�p�h`Kp���/K �ː�/KА��\`K��s�XcKt���eK����/K��.�hdK0����&K����lK �M�dKP�И7KИ;� QK<����(K��a��lKd����%K��q��aKt���%K�g��aKh���DlK��O�XbKP�Р�lKР_�,bK`�G��]KH�٢�]Kܢ��jK�ʩ�kK̩t��]Kt����jKī5��eK8�T��$K`����$K��
��%K�i��$K���$K �K��$KP�{��$K|����$K�4��$Kh�ʰ�$K̰��$K �α�/Kб���`K�����`K���h`K����/K��k��/Kp�-�\`K0��XcK ��kK����lK��N��/KP��8kK����eK�����&K����dK��L�7KL�!��`K$���dnK�����`K����%K����aK��R��%KT����aK��K�paKL���XbK��\��nK\���H&K��R�H&KT���H&K��_�,bK`�G��]KH����]K��*��%K,����]K��n�,mKp�T��FKT�j�nKp����$K�����$K�����$K�+��$K0�[��$K`����$K�����$K(����$K��>��/K@���XmK�����`K�����`K��0�h`K0����/K�����/K�����$K�����$K����\`K����XcK��$��nK0����/K��X��mKX����&K�!�dK$���7K����%K����aK��"��%K$����aK����IK���XbK��(��pK(���,bK�����]K��1�]K4��%K��]K&ToK0[�$K`��$K���$K�#�$K0��$K�*�$K0��/K���oK���`K���`K�h`K��/K�[�/K`\`K XcK�qK�N�/KP�ppK���nK�J�&KPyp?K|�dK�,7K,k�%Kl9 �aK< � �%K� /!�aK0!�#�rK�#$XbK $�$(sK�$/%,bK0%&�]K&�&�]K�&�/\rK�/I0�]KL0t1<qKt1�2�%K�2�2�$K�23�$K 3K3�$KP3�3�$K�3�3�$K�3�4�/K�4�5�`K�5m6�`Kp6�7h`K�7�8�/K�8;9�/K<9�9�$K�9}:\`K�:c;XcKp;�<�qK�<H=PsKP=�=�/K>LD�qK�DOE�$KPE}EdK�EF7KF?F�%K@F
G�aKG~G�%K�GH�aKH�HXbK�HItKI�I,bK�I�J�]K�JK�]K KnK�%KpKL�]KL�LpsK�LM�$KM;M�$K@MkM�$KpM�M�$K�M�M�$K�M6N�$K@N�N�/K�N�O�`K�O�P�`K�P0Rh`K0R�R�/K�R�S�/K�SMT\`KPT3UXcK@U�U�'K�UV4tK V�V�/K�V�Y�sK�Y�YdK�Y|Z7K|Z�Z�%K�Z�[�aK�[�[�%K�[\�aK�\]XbK]�]4vK�]^,bK ^_�]K_�_�]K�_�lluK�l,m�]K,m�nptK�no�$Ko;o�$K<o�o�$K�oNp�/KPpdr�tKprYs�`K`s=t�`K@t�uh`K�u[v�/K`vw�/Kw�w\`K�w�xXcK�xDy\vKPy�y�/Kz�~�tK�~�`tK��TtK�c��xKd���dK���7K���|BK����`YK��Ղ�,K؂��%K���aK�V��%KX�ۄ�aK܄k�XbKl���xK�{�,bK|�c��]Kd����]K����wK����]K��ѓ�vKԓ��$K�F�H&KH�Ô�$KĔ��|vK��ۖ�$K���$K�;��$K@����$K����$K�F��$KP����/K����vK��y��`K��]��`K`�Нh`KН{��/K��+��/K0��\`K�ӠXcKԠd��xKp���/K ���(wK��,��6K0�ŧ�vKȧr���Kt��x�K�O��$KP���ăK��)��$K,���8�K����x�K��A�4�KD�׮4�K�e�d~Kh�Ѱ QK԰
��$K����K��b�X�Kd����K�³�Kij-��K0��܂K�Ҹ�~KԸ~��K����H&K��w�H&Kx��H&K�o�H&Kp��~K�p��}Kp���6K�p��}Kp���%K��� }K�����OK�߿0~K���{K���L{K��4��$K4����$K����~K����{K�����$K�����9K��D��$KD����~K����$K���%K����\�K����x�K����$K�;��$K@�k��$Kp����$K�����$K�4��$K@�t��$K�����$K�����$K�����$K�����$K����$K�'��$K0�G��$Kp�����K���@�K ���H�K@�D�0�K`�����K���؇K ����K��/�@�K@���t�K��_�p�K��<��K`���T�K��U�\�K�����K0����K���t�K0�q�؇K��<�܅K`���H�K��5��K@����K��!�؇K0�����K��E��K`����K��O�@�K���� �K��@�K��1���K@���K�_�@�K�����K��|�K�E��KP��@�K�w���K����K��{��K�����K�7��'K@�x�ĄK�����KP����Ke�Kp�`�K�^t�K`cp�KpZ �KxE��KH�{K�{K�L|K�p�|Kp�DzK��$KX%�|KX�zK�g�$Kh��}K���/K�/K���/K�/K���/K�/K���/K�/K��%K �X}K��yK�yKdyK�� yK�=�yK@�LyK��yK��yKo(yKp�yK��yK�'yK0gyKp�yK���/K � lyK� � (yK!7!yK@!w!yK�!�!yK�!�!yK"7"yK@"�"LyK�"�"yK�" #LyK #W#yK`#�#yK�#�#yK�#$yK $W$yK`$�$yK�$�$yK�$%yK %�%dyK�%�%�yK�%&yK &W&yK`&�&yK�&�&yK�&'yK 'W'yK`'�'yK�'@(TyK@(�(LyK�(+)0yK0)R)�yK`)�)LyK�)�)LyK*@*LyK@**+�yK0+�+0yK�+�,0yK�,�,LyK�,{-0yK�-.�yK .�.�yK�.�.�yK/�/0yK�/�/LyK�/�00yK�0Q1�yK`1�1LyK�1�1yK2E2�yKP2�2yK�2�2yK�233�yK@3�3LyK�3�3LyK�3�3yK474yK@4w4yK�4�4yK�4�4yK575yK@5w5yK�5�5yK�5�5yK676yK@6w6yK�6�6yK�6�6yK777yK@7w7yK�7�7yK�7�7DyK878DyK@8w8DyK�8�8DyK�8�8DyK979DyK@9w9DyK�9�9yK�9�9yK:7:yK@:w:DyK�:�:DyK�:�:DyK;7;DyK@;w;DyK�;�;DyK�;�;yK<7<yK@<w<yK�<�<yK�<�<yK=7=DyK@=�=xyK�=>dyK>G>yKP>�>yK�>�>yK�>?yK?G?DyKP?�?yK�?�?DyK�?u@H�Kx@�@dK�@(A7K0A�A�1K�A�B�`K�B�C�`K�C�C�%K�C�D�aK�DE�%KE�E�aK�EFXbKF�FȌK�FGH&KG�GH&K�G#H,bK$HI�]KI�I�]K�I�W��K�W0X�]K0X�X,mK�X�X�$K�XY�$KY;Y�$K@YkY�$KpYZ�/K Z�\��K�\�]�`K�]>^�$K@^_�`K _�`h`K�`;a�/K@a�a�/K�ab�$K b�b\`K�b�cXcK�c1d4AK4d�d�$K�dDe�KPe�e�$K�e�f��K�f>g�/K@g>l��K@lmldKpl�l7K�l/m�%K0m�m�aKnnn�%Kpn�n�aK�n�o��K�op��Kp�p@�K�p#qh�K$qr�]Kr�r�]K�rs$'Ks�x��K�x�z�K�zt|�Kt|0}t�K8}�}�$K�}&~�$K(~c~�$Kd~�~T�K�~�-K��%K���$K���$K���$K �K��$KP����$K��#��$K0�d��$Kp����$K����$K�S��$KȂF���KP����/K��l�K �	��`K�n��$Kp�M��`KP���h`K��k��/Kp���/K �ݑ\`K�ÒXcKВ��'K����K��|�T&K|��.K����OK��^��/K`���P�K����&K �˙�$KЙt�@.Kt���dK��$�7K$�c��%Kd�1��aK4����%K��'��aK(���XbK��8���K8�Ǟ,bKȞ���]K��A��]KD�O�8�KP����]K���%K��:��K<�s��$Kt���$K���$K �K��$KP�{��$K�����$K����/K��Ĭ<�KЬ���`K����$K ����`K�p�h`Kp���/K �˱�/Kб��\`K��s�XcKt���K����/K��{���K|���&K�.��'K0�]�dK`��7K����`K�����%K��Ž�aKȽ6��%K8����aK��*��IK,���<�K��C�|�KD�����K��=�H&K@���,bK�����]K��Y��]K\�S�@�KT���d�K�����K��G�*KP�{��$K�����$K�����$K����$K@����/K�����K�y�`K|��$K���`K�0h`K0��/K���/K�M\`KP3XcKX�ЙK���/K�\��K\�dK�7KK�%KL �aK � �%K� !�aK!�!,�K�! "T�K "�",bK�"�#�]K�#)$�]K,$�@�K�@Bd�KByE�K|E$F�$K0F[F�$K`F�F�$K�F�F�$K�F#G�$K0GdG�$KpG�G�$K�G:H�$K@H�H�/K�H�JT�K�J�K�`K�KL�$KL�L�`K�L`Nh`K`NO�/KO�O�/K�O}P\`K�PcQXcKpQwS�UKxST|�KTzT�$K�T.U�/K0U�^p�K�^6_�&K@_,a48K,a�a�$K�a�adK�a8b7K8bwb�%KxbEc�aKHc�c�%K�c;d�aK<d�dXbK�dLe(�KLe�e,bK�e�f�]K�fUg�]KXgRtH�KTt�t�]K�t�vptK�v�v�$K�v�v�$K�v�w�/K�w�z��K�z�{�`K�{m|�`Kp|�}h`K�}B~�$KP~�~�/K��/K�m�\`Kp�S�XcKT��P�K�J��$KP����/K�
���K�9�dK<���7K��/��(K0�‰�(Kĉ݊��K����K�+��%K,����aK��v��%Kx��XbK����K���(�K���(�K��/�,bK0���]K����]K�����%K�����]K���p�K�}��%K�����$K��ە�$K���$K�;��$K@�k��$Kp���%K�H��$KP����$K����$K����/K��{�ܟK|����K�ٚ�`K����`K��0�h`K0����$K��K��/KP�'�`YK0�ߟ�5K�j��$Kp�-�\`K0�*�T�K,�����K��n��/Kp����K��1�̟K4�a�dKd��7K�#��%K$���aK�n��%Kp���,�K����K���,bK���,�K�����]K��)��]K,�����K������K��$���K0�[��$K`����$K�����$K�����1K������K��F��/KH�����K�����`K�����`K���h`K�b��$Kp���/K ���`YK���\`K����T�K��L�,�KP����/K��<�K�9�dK<���7K�����%K����aK�:��%K<����aK��O���KP���ȧK��_�,bK`�G��]KH����]K�����K��J�d�KL�v�L�K�����$K�����$K����$K ����/K��r���K��i��`Kp�M��`KP���h`K��"��$K0���/K����/K��M�\`KP�3�XcK4���K�~��/K��@X�K@�7K�@7K@mdKp�dK�u�`Kx��%K���%K���aK��	�aK�	
�%K
v
�%Kx
�
�aK�
�aK��
x�K�
<�K<���K�5H&K8�,bK�W,bKX�XbK�wXbKx_�]K`G�]KH��]K�m�]Kp�&X�K�&�)4�K�)1*�]K4*�*�]K�*E,�KH,�,,mK-�. 4K�./�$K /K/�$KP/{/�$K�/�/�$K�/�/�$K�/0�$K0s0�$K�0.1�/K01�1�/K�1�7X�K�7>8�K >	?�`K?�?�`K@�@�`K�@�A�`K�A0Ch`K0C�Dh`K�DE�$KEfE�$KpEF�/K F�F�/K�F{G�/K�G+H�/K0HUH�$K`HI\`K I�I\`K�I�JXcK�J�KXcK�K8L(�K8L�L�K�L1MD�K4M�MP�K�MNN�/KPN�N�/KO�Y��K�Y?^��K_A_dKD_�_7K�_`�%K`�`�aK�`Ba�%KDa�a�aK�aWb,�KXb�b,�K�bgc,bKhcOd�]KPd�d�]K�d)p�K,p�qd�K�qs`�K sKs�$KPs{s�$K�s.t�/K0t5z��K@z){�`K0{
|�`K|�}h`K�}+~�/K0~�~�/K�~>�$K@��6K�m�\`Kp�S�XcKT��T�K�5��K8�T�H�K`���/K��8�K�(��$K(�U�dKX�؍7K؍��%K���aK�V��%KX�ۏ�aK܏k�XbKl��,�K�{�,bK|�c��]Kd����]K��r���Kt���]K���t�K��l��9Kp����$K��˜�$KМ���$K�4��$K@���/K�}���K��i��`Kp�M��`KP���h`K��k��/Kp���/K�~��$K��=�\`K@�#�XcK0����%K��(�T�K0�ާ�/K�b��K����t�K��&���K(����K�5��$K8�b��$Kd�H��9KH�ϰ�Kа��$K�x� �Kx����'K����H�K�����K�Q�ȴKT�ͳ@�KгA�p�KX�G��KH�g��Kh���K���$K����K�W���KX�й�Kйu�H&Kx����$K����H�K����$K�8��$K<����'K�����$K��(���K4�ǽ�KȽ���K�5�<�K8���ܶK������K����,�K����ȷK��&��$K(��h�K�7��$K8����$K��+���K4����K����<�K�����$K��#��$K$�P��$KP�}�dK���7K�?��%K@�
��aK�~��%K����aK���,�K���D�K���,bK�����]K����]K �@��K@���d�K������K�����9K����$K �K��$KP�{��$K�����$K��n��/Kp�s���K��i��`Kp�M��`KP���h`K��k��/Kp���/K ���\`K��B��$KD�'�XcK0�7�X9K8���l�K��~��/K��h�@�K�1�dK4���7K����%K����aK�2��%K4����aK��G�XbKH��tK�W�,bKX�?��]K@���]K���K���]K�psK K�$KP{�$K���$K���/K���K 	�`K��`K�`h`K`�/K��/K�}	\`K�	�	�$K�	�
XcK�
X@�K`�/K�ȺK�R�&KT�dK�7KC�%KD�aK��%K��aK�XbK���K�,bK���]K�!�]K$D�KD��]K��`�K�B�%KP{�$K���$K���$K��$KP��/K�ܻK���`K���`K� h`K � �/K� k!�/Kp!-"\`K0"�"�$K�"w#XcK�#%��K%�%��K�%^&�/K`&�*�K�*B+�&K�+�+dK�+|,7K|,�,�%K�,�-�aK�-�-�%K�-.�aK�./,�K/�/�K�/0,bK 01�]K1�1�]K�1�ED�K�E�Fd�K�FTJ�K`J�J�$K�J�J�$K�J5K�$K8K�K�$K�KnL�/KpL�]@�K�]�^�`K�^m_�`Kp_�`h`K�`�a�/K�a;b�/K@b�b\`Kcbc�$KdcGdXcKHd�d�$K�dDe@�KPe�e�/Kf�jȾK�jk�$Kk=kdK@k�k7K�k�k�%Kl�l�aK�l>m�%K@m�m�aK�mSn|�KTn�n��K�nco,bKdoKp�]KLp�p�]K�pQq`�KTqχ��KЇ��d�K��$���K0�[��$K`����$K����$K����/K��±�Kб���`K�����`K���h`K����/K��k��/Kp�-�\`K0����$K��w�XcKx���K����/K����T�K���dK�L�7KL����%K��Y��aK\����%K��O��aKP���XbK��`��nK`���,bK�����]K��i��]Kl�����K��E��]KH���,mK����$K �K��$KP�{��$K��^��/K`���(�K�����`K�����`K�� �h`K ����/K��{��/K��=�\`K@����$K����XcK�����K ����/K����H�K����&KT���dK���7K�C��%KD���aK����%K���XbK �����K��/�,bK0���]K����]K�����%K�����]K����,mK��M��%KP�{��$K�����$K�����$K��C��$KP����$K��n��/Kp����$K��]���K`�I��`KP�-��`K0���h`K��K��/KP�'�`YK0��\`K�R��$KT�N�T�KP����K����/K��^���K`�?	�K@		�K	E	dKH	�	7K�		�%K	�	�aK�	F	�%KH	�	�aK�	*	8�K,	�	XbK�	<		��K<		�		,bK�		�
	�]K�
	E	�]KH	�	\�K�	�	�]K�	*	(�K,	�	�$K�	�	�$K�		�$K	;	�$K@	t	�$K�	^	�/K`	�	|�K�	�	�`K�	m	�`Kp	�	h`K�	�	�/K�	; 	�/K@ 	� 	\`K!	�!	XcK�!	l"	\�Kl"	�"	�$K�"	B#	�$KD#	�#	|�K�#	�$	�/K�$	(	��K(	r(	�&K�(	�(	dK�(	d)	7Kd)	�)	�%K�)	q*	�aKt*	�*	�%K�*	+	XbK�+	,	@�K,	�,	,bK�,	w-	�]Kx-		.	�]K.	^.	�%K`.	/	�]K/	�/	��K�/	0	�$K0	;0	�$K@0	�0	�/K�0	j1	�$Kl1	�1	��K�1	�2	�`K�2	�3	�`K�3	 5	h`K 5	�5	�/K�5	�6	`YK�6	m7	\`Kp7	j8	T�Kl8	�8	�$K�8	`9	d�K`9	�<	��K�<	^=	�/K`=	�=	D�K�=	u>	|BKx>	�?	��K�?	�?	�$K�?	�@	��K�@	�A	P�K�A	RB	@�KTB	�B	H&K�B	hC	�}KpC	D	%K D	yE	P�K�E	F	��KF	DF	�$KDF	�F	�$K�F	�F	�$KG	7G	�$K�G	�G	�'K�G	�L	��K�L	�N	T�K�N	O	.K�Q	�Q	�$K�Q	xS	�$KxS	�S	��KT	T	�/K�T	5U	��K8U	�V	�K�V	�Y	��K�Y	�[	��Kt\	w]	��K�^	g_	�/Kh_	`	��K`	q`	�,Kt`	Eb	p�KHb	�b	 QK�b	c	�(Kc	�c	7K�c	!d	�$K$d	Ee	��KHe	�e	�$K�e	!f	�K$f	�f	0�K�f	4g	$'K4g	�h	��K�h	ti	@�Kti	�i	�$K�i	j	�$Kj	�j	�$K�j	�k	�%K�k	Dl	\�KXl	�m	��K�m	�o	�$K�o	�p	�$K�p	Os	��KPs	�u	|�K�u	�w	`�K�w	�}	(�K�}	L�	l�KL�	Ȃ	l�KȂ	D�	l�KD�	�	��K�	��	h�K��	��	��K��	�	�$K�	�	�K �	��	��K��	=�	�K@�	m�	dKp�	�	7K�	ř	�`Kș	�	�%K�	՚	�aKؚ	F�	�%KH�	˛	�aK̛	[�	XbK\�	ܜ	ȌKܜ	U�	H&KX�	�	,bK�	Ϟ	�]KО	a�	�]Kd�	��	�%K��	U�	�]KX�	ޠ	,mK�	�	�$K�	;�	�$K@�	k�	�$Kp�	��	�$KС	~�	�/K��	7�	�K@�	)�	�`K0�	
�	�`K�	��	h`K��	+�	�/K0�	ۨ	�/K�	��	\`K��	��	XcK��	�	��K�	v�	�$K��	.�	�/K0�	��	H�K�	f�	�&K��	��	dK��	<�	7K<�	{�	�%K|�	I�	�aKL�	��	�%K��	?�	�aK@�	��	�IK��	?�	XbK@�	��	��K��	O�	,bKP�	7�	�]K8�	ɶ	�]K̶	��	X�K��	�	�]K �	ƹ	,mKй	��	�$K�	+�	�$K0�	[�	�$K`�	�	�/K�	��	�`K�	ݼ	�`K�	P�	h`KP�	��	�/K�	��	�/K��	m�	\`Kp�	S�	XcKT�	�	��K�	F�	�$KP�	��	�/K�	:�	��K��	��	dK��	0�	7K0�	o�	�%Kp�	=�	�aK@�	��	�%K��	3�	�aK4�	��	XbK��	D�	�KD�	��	,bK��	��	�]K��	M�	�]KP�	'�	��K(�	��	�]K��	��	��K��	i�	�%Kp�	��	�$K��	��	�$K��	��	�$K�	c�	�$Kp�	��	�$K��	^�	�/K`�	��	d�K��	��	�`K��	m�	�`Kp�	��	h`K��	��	�/K��	;�	�/K@�	��	\`K�	��	XcK��	&�	@�K(�	��	8�K��	�	�$K �	��	�/K��	��	��K��	��	�$K��	!�	dK$�	��	7K��	��	�%K��	��	�aK��	"�	�%K$�	��	�aK��	7�	XbK8�	��	��K��	G�	,bKH�	/�	�]K0�	��	�]K��	��	L�K��	5�	�]K8�	[�	X�K`�	��	�$K��	��	�$K��	n�	�/Kp�	�	��K�	��	�`K��	��	�`K��	�	h`K�	��	�/K��	k�	�/Kp�	-�	\`K0�	�	XcK�	��	��K��	�	�$K�	��	�/K��	�
��K�
�
dK�
X
7KX
�
�%K�
e
�aKh
�
�%K�
[
�aK\
�
XbK�
l
,�Kl
�
,bK�
�
�]K�
u
�]Kx
W	
L�KX	
�	
�]K�	
�

��K
+
�$K0
[
�$K`

�/K
�
�K�
�
�`K�
m
�`Kp
�
h`K�
�
�/K�
;
�/K@
�
\`K
�
XcK�
t
4�Kt
�
�$K�
�
�/K�
S
X�KT
�
dK�

7K
C
�%KD

�aK
�
�%K�

�aK
�
XbK�
 
�K 
� 
,bK� 
�!
�]K�!
!"
�]K$"
r"
�%Kt"
#
�]K#
�%
T�K�%
T&
�$K`&
�&
�$K�&
�&
�$K�&
�&
�$K�&
S'
�$K`'
�'
�$K�'
N(
�/KP(
�>
��K�>
�?
�`K�?
�@
�`K�@
 B
h`K B
�B
�/K�B
{C
�/K�C
=D
\`K@D
#E
XcK0E
wE
�'KxE
F
8�KF
jF
�$KpF
G
�/K G
sJ
��K�J
,L
p?K,L
�L
�PK�L
!M
��K$M
�M
H�K�M
7N
8�K8N
�N
l�K�N
sO
x�KtO
5P
�K8P
�P
��K�P
'Q
��K(Q
�Q
�$K�Q
MR
��KPR
�S
��K�S
T
`�KT
=U
x�K@U
�U
��K�U
hV
 QKhV
�V
 QK�V
1W
�(K4W
�W
�(K�W
X
�(KX
�X
�/K�X
�Z
,�K�Z
�[
�$K�[
 \
�$K \
^
��K^

_
3K_
�`
��K�`
�a
��K�a
�b
�K�b
Jc
�OKLc
�c
�K�c
�d
��K�d
e
X�Ke
0e
�$K0e
Le
�$KLe
�e
�$K�e
�e
�$K�e
f
�$Kf
:f
�$K<f
g
��Kg
�g
�$K�g
h
�$Kh
ih
�$Kph
�h
06K�h
�h
�$K�h
>i
6K@i
�i
�6K�i
Gj
�$KHj
k
��K k
�k
lCK�k
�l
��K�l
Nm
�$KPm
jm
�$Klm
�m
�%K�m
�m
�$K�m
en
��Khn
�q
0�Kr
�r
�3K�r
Yu
��K�u
�y
�K�y
}
��K}
�
��K�
-�
�K0�
]�
x�K`�
��
@�K��
Έ
��KЈ
�
�$K�
��
��K��
8�
��K@�
�
T&K�
�
X�K�
ٍ
p�K�
4�
�$K@�
��
�$K��
�
�K �
��
�$K��
Ȓ
�VKВ
��
�5K��
��
dKē
D�
7KD�
��
�%K��
Q�
�aKT�
Ε
�%KЕ
{�
<�K|�
�
,�K�
��
��K��
�
,bK�
��
,�K��
��
�]K��
5�
�]K8�
��
��K��
��
�K��
<�
��K<�
ڜ
�$K�
�
�$K�
;�
�$K�
ƞ
�/KȞ
9�
��K@�
)�
�`K0�

�
�`K�
��
h`K��
+�
�/K0�
�
`YK�
�
<�K�
�
��K�
�
��K�
��
\`K��
��
T�K��
<�
�K<�
��
�$K��
N�
�/KP�
}�
dK��
�
7K�
?�
�%K@�

�
�aK�
~�
�%K��
�
�aK�
��
XbK��
�
��K�
��
,bK��
��
�]K��
�
�]K �
n�
�%Kp�
�
�]K�
��
,mK��
˳
�$Kг
��
�$K�
+�
�$K0�
޴
�/K�
ɵ
�`Kе
��
�`K��
 �
h`K �
˸
�/Kи
{�
�/K��
=�
\`K@�
#�
XcK$�
��
��K��
�
�$K �
μ
�/Kм
��
T�K��
W�
x�KX�
��
H�K�
M�
|BKP�
��
��K��
q�
4�Kt�
�
�,K�
	�
��K�
(�
��K(�
��
��K��
��
 �K��
��
��K��
��
\�K��
��
�$K��
��
��K��
��
paK��
m�
��Kp�
��
l�K��
3�
�K4�
j�
�$Kt�
��
�$K��
��
H&K��
J�
�KP�
��
�$K��
��
�%K��
��
��K��
)�
�K,�
*�
��K,�
��
X�K��
y�
�$K|�
��
�$K��
��
��K��
[�
H&K\�
��
�%K��
k�
��Kl�
��
��K��
k�
0�Kl�
R�
��KT�
0�
��K0�
z�
��K|�
��
d�K��
�
8�K�
��
�`K��
�
�$K�
��
��K��
�
��K�
��
��K��
~�
@�K��
��
��K��
w��Kx�)K<��$K���K ;t�K<Wt�KX��$K��$Ktd�Kt�H&K�l\�K�[�+K\��$K�+	�$K,	�	�%K�	r
��Kt
c��KdP�KrD�Kt��$K�E�6KHudKx�7K�7�%K8�aKv�%Kx��aK��XbK���K�,bK���]K��]KS��KT��]K����K��$K;�$K@k�$Kp��$K���$K���/K�y�`K�]�`K`� h`K� {!�/K�!+"�/K0"�"\`K�"�#XcK�#'$�'K($�$�K�$%�$K %�%�/K�%�)�K4*a*dKd*�*7K�*�+��K�+�+�%K�+�,�aK�,:-�%K<-�-�aK�-O.XbKP.�.��K�.K/H&KL/�/,bK�/�0�]K�0U1�]KX15�K5�5�]K�5�64�K�6�6�$K7+7�$K07[7�$K`7�7�$K�7�7�$K08�8�/K�8D;T�KP;9<�`K@<=�`K =�>h`K�>;?�/K@?�?�/K�?@�$K @�@\`K�@�AXcK�ATB��KTB�B�$K�BnC�/KpC�F��K�FFG�&KPG�G�$K�G�GdK�G|H7K|HI�(KIKI�%KLIJ�aKJ�J�%K�JM��KM�MXbK�MNtKN�N,bK�N�O�]K�O!P�]K$P�S�K�S4T�]K4T�T��K�T/U�$K0U[U�$K`U�U�$K�U�U�$K�U�U�$KV�V�/K�V]Z��K`Z�Z��K�Z�[�`K�[�\�`K�\ ^h`K ^�^�/K�^�_`YK�_m`\`Kp`jaT�Kla{c��K|cd4�Kdnd�$Kpde�/K e0ih�K0ibi�'Kdi�idK�i,j7K,jkj�%Klj<k|�K<k	l�aKlzl�%K|l�l�aKm�mXbK�mn��Kn�n,bK�n�o�]K�op�]Kp�p�]K�p�sT�K�st�$K tKt�$KPt{t�$K�t�t�$K�t�t�$K�t�u�/K�uM���KP�9��`K@���`K ���h`K��K��/KP����/K���\`K����XcK����'K����K��0� QK0����$K��N��/KP����K��d�p?Kd�6�,�K@�t��$Kt���$K�����K��z���K|�^��K`�G��KH���K�A�dK��8�7K8���L�G��%KH�/�(L0����L��]��aK`����%K��_�|L`���<L��V��aKX���<L��k�,�Kl����L��g��&Kh���,bK ���]K����]K������K��D��]KD���D�K��T�T�KT�p��$Kp���H&K��%�4�K0�[��$K`����$K�����$K�����$K����$K ����$K�����$K��~��/K��e��Kh�����K������K����`K����`K�@�h`K@���/K��`YK�C�LP�
�\`K�
�T�K���8L�����$K����/K��k �Kp��vK�
|L
�
4L�
���K��4L�
 QK
t
�(Kt
]�L`DL ��%K�-�%K0�h)K�?,L@�,L�O,LP�LL�k,Ll�,L�lhLl�,L���L�"�L$��L�,L�,L�+,L,�,L�;,L<�,L�p�Lp�,L���L�!4L!"�L"�",L�""#L,#G#�$KH#n#�$Kp#�$H&K�$K%�$KP%�%�$K�%&�%K &~&�$K�&
(L(�)�L�)�*�L�*d+$Ld+�-lL�-1�L 1v:�
Lx:�<PL�<�>�L�>�>�$K�>�?ܟK�?�C$LD�DXL�D�F�L�F�M�L�M,P\L,PQRLLTR�RlL�R�TLU�W`L�W�X	L�X5Y�/K8Y�Y�$K�Y�Z�%K�Z4[�L4[�]�L�]�^L3K�^�`x
L�`.h�	L0hah�$Kdhj�Lj�nL�n�o
L�otp
Ltprq�/Ktq@s�L@s>u4
L@u�x�
L�xLy�$KLy0{�
L0{�{h	L�{O|\	LP|�}�L�}�PK��`L��S��LT��cK��,��'K,����L��)��,K,�`�L`�P��LP�z��L|���%K����5K����HL�ƞ�LȞ��L���dL�k��/Kl�j�(Ll��`L����L��j�tLl�D�@LD�;��L<���4L��9��$K<�ͮ�LЮ�x�K�ٰ�LܰB�|LD�x��$Kx��L���0L��ʹ�$KдH�hLH����L�����L��I��LL����%K�����%K��$��$K$�_���K`���H&K��/��$K0��p�K���%K���dK���7K��1��L4�s��%Kt�A��aKD����%K��7��aK8���XbK��H�D�KH���dL�����]K��Q��]KT���xL�����]K����dL����$K����$K�����$K�+��$K0�[��$K`����$K����$K����/K�����L����`K�����`K��@�h`K@����/K�����/K��]�\`K`����L����XcK����L�z��$K|��� L����L����/K��$��L0�,��'K,�Y�dK\���7K����%K����aK��Z��%K\����aK��o�XbKp����L���,bK��g��]Kh����]K��J��%KL���]K�Z�,mK`����$K�����$K����$K�S��$K��>��/K@���L����`K���`K�P�h`KP����/K����/K��m
\`Kp
S
XcKT
�
�L�
F
�$KP
�
�/K
A
4LD
�
�&K�
�
dK�
\
7K\
�
�%K�
i
�aKl
�
�%K�
_
�aK`
�
XbK�
p	
��Kp	
�	
,bK

�

�]K�

y
�]K|
�
�%K�
]
�]K`



,mK

;

�$K@

k

�$Kp

�

�$K�

~
�/K�
�
�L�
�
�`K�
}
�`K�
�
h`K�
�
�/K�
K
�/KP


\`K
�
XcK�
�
�L�
�
�$K�
�
�/K�
P
 LP
�
�&K
-
dK0
�
7K�
�
"L�
�
�%K�
�
�aK�
F 
�%KH 
�!
�aK�!
/#
paK0#
�#
P"L�#
@$
|"L@$
�$
(�K�$
[%
,bK\%
C&
�]KD&
�&
�]K�&
,
�!L,
5-
�L8-
�-
�L.
+.
�$K0.
[.
�$K`.
�.
�$K�.
�.
�$K�.
$/
�$K0/
�/
�/K�/
>
 L>
y>
��K�>
i?
�`Kp?
M@
�`KP@
�A
h`K�A
kB
�/KpB
GC
`YKPC
�C
�$K�C
�D
\`K�D
�E
T�K�E
,F
�"L0F
KF
�$KLF
�F
�$K�F
AH
"LPH
�H
�/KI
�L
!L�L
%M
dK(M
�M
7K�M
�M
�%K�M
�N
�aK�N
&O
�%K(O
�O
�aK�O
;P
XbK<P
�P
ȌK�P
KQ
,bKLQ
3R
�]K4R
�R
�]K�R
S
�%KS
�S
�]K�S
"T
,mK0T
[T
�$K`T
�T
�$K�T
�T
�$K�T
nU
�/KpU
�V
�"L�V
�W
�`K�W
�X
�`K�X
0Z
h`K0Z
�Z
�/K�Z
�[
�/K�[
M\
\`KP\
3]
XcK4]
�]
l#L�]
&^
�$K0^
�^
�/K�^
xa
#Lxa
�a
dK�a
(b
7K(b
gb
�%Khb
5c
�aK8c
�c
�%K�c
Cd
XbKDd
�d
%L�d
Se
,bKTe
;f
�]K<f
�f
�]K�f
k
p$Lk
�k
�]K�k
�l
4�K�l
�l
�$K�l
m
�$K m
�m
�/K�m
�p
�#L�p
5q
��K@q
)r
�`K0r

s
�`Ks
�t
h`K�t
+u
�/K0u
v
`YKv
�v
\`K�v
�w
T�K�w
\x
,%L`x
�x
�$K�x
"y
�$K$y
�y
��Kz
�z
�/K�z
P~
�#LP~
}~
dK�~

7K
W
�%KX
%�
�aK(�
��
�%K��
�
�aK�
��
XbK��
,�
��K,�
��
,bK��
��
�]K��
5�
�]K8�
Ʉ
�]K̄
r�
,mK��
��
�$K��
ۅ
�$K�
�
�$K�
��
�/K��
��
L%L��
y�
�`K��
]�
�`K`�
Ѝ
h`KЍ
{�
�/K��
+�
�/K0�
�
\`K�
Ӑ
XcKԐ
d�
<&Ld�
Ƒ
�$KБ
~�
�/K��
��
�%L��
)�
dK,�
��
7K��
�
�%K�
��
�aK��
*�
�%K,�
��
�aK��
?�
XbK@�
��
tK��
O�
,bKP�
7�
�]K8�
ɛ
�]K̛
t�
�'Lt�
�
�]K�
ԣ
\&L�
�
�$K�
;�
�$K@�
k�
�$Kp�
�
�/K �
�
�&L�
٪
�`K�
��
�`K��
0�
h`K0�
ۭ
�/K�
��
�/K��
M�
\`KP�
3�
XcK@�
��
�'K��
 �
L(L �
��
�$K��
>�
�/K@�
��
'L��
ѵ
dKԵ
T�
7KT�
��
�%K��
a�
�aKd�
ҷ
�%KԷ
W�
�aKX�
�
XbK�
h�
�Lh�
��
,bK��
ߺ
�]K�
q�
�]Kt�
H�
�(LH�
ٿ
�]Kܿ
p�
l(Lp�
��
�$K��
�
�$K�
��
�$K0�
�
�/K�
��
�&L��
��
�`K��
}�
�`K��
��
h`K��
��
�/K��
K�
�/KP�

�
\`K�
��
XcK��
��
8)L��
��
�$K��
��
�/K��
�
�(L�
j�
�&Kl�
��
dK��
�
7K�
[�
�%K\�
)�
�aK,�
��
�%K��
�
�aK �
��
XbK��
0�
��K0�
��
,bK��
��
�]K��
9�
�]K<�
��
*L��
e�
�]Kh�
��
`�K��
��
�$K��
��
�$K��
�
�$K �
��
�/K��
��
�`K��
��
�`K��
�
h`K�
��
�/K��
k�
�/Kp�
-�
\`K0�
�
XcK �
��
X)L��
<�
�*L<�
��
�$K��
N�
�/KP�
��
|)LL�
��
�$K��
��
dK��
t�
7Kt�
��
�%K��
��
�aK��
�
�%K�
w�
�aKx�
�
<,L�
w�
XbKx�
��
�L��
��
,bK��
o�
�]Kp�
�
�]K�
3�+L4��]K�2,mK@k�$Kp��$K���$K��/K���`K�}�`K��h`K��	�/K�	K
�/KP

\`K�XcK��x,L���$K��
�/K�
��*L�:�&K<idKl�7K�+�%K,��aK�j�%Kl��aK�XbK�ȌK�,bK�w�]Kx	�]KZ�%K\��]K�f,mKp��$K���$K���$K��/K���$K���`K���`K�0h`K0��/K���/K�M\`KP3 XcK4 � �,L� &!�$K0!�!�/K�!F#�,LH#u#dKx#�#7K�#7$�%K8$%�aK%v%�%Kx%�%�aK�%�&XbK�&'�L'�',bK�'�(�]K�()�]K)f)�%Kh)�)�]K�)f*,mKp*�*�$K�*�*�$K�*�*�$K0+�+�/K�+�,�`K�,�-�`K�- /h`K /�/�/K�/{0�/K�0=1\`K@1#2XcK$2�2-L�23�$K 3�3�/K�364�&K84�47K�4�4dK�4m5|BKp5�5�$K�5�5�%K�5�6�aK�6&7�%K(7�7�aK�7,8�K,8�8,bK�8K9XbKL93:�]K4:�:�]K�:�;�.L�;M<�]KP<
= QK=�=(-L�=�>�$K�>�>�$K�>?�$K ?K?�$KP?�?�$K�?>@�/K@@@It-L@I)J�`K0J
K�`KK�Lh`K�L+M�/K0M�M�/K�M�N\`K�N�OXcK�OP�.LPvP�$KxPQ�6KQ�Q�/K�Q�U4.L�UV�/KVAVdKDV�V7K�V�W�`K�W�W�%K�W�X�aK�XY�%KY�Y�aK�Y/ZXbK0Z�ZȌK�Z)[H&K,[�[,bK�[�\�]K�\5]�]K8]�]�%K�]^�]K^�^,mK�^�^�$K�^�^�$K_+_�$K0_[_�$K�_>`�/K@`�b/L�b�c�`K�c}d�`K�d�eh`K�e�f�/K�fKg�/KPg
h\`Kh�hXcK�h�i�/L�i�i�$K�i�j�/K�j�mP/L�mFn�&Kln�ndK�no7Ko[o�%K\o)p�aK,p�p�%K�pq�aK q�qXbK�q0r��K0r�r,bK�r�s�]K�s9t�]K<t@u�0L@u�u�]K�u�v,mK�v�v�$K�v�v�$Kw+w�$K0w�w�/K�w�y�/L�y�z�`K�z}{�`K�{�|h`K�|�}�/K�}K~�/KP~
\`K�XcK����0L��>��/K@�� 0LP����$K��<��%K@�w��$K��É�$KЉ��$K�֊3L����/K����$K����3L��J�@4LP����$K��t��4L�����$K�j��$Kp����$K����$K�.��$K0�۔�7Lܔ~��(K�����&K��L�)KP���)K��Ė)KĖ��)K����L�����6L��O��6LP���d6L��X��7LX����$K��%��7L0���X7L��/�(7L0�á�$KġP��5LP�֢�5Lآp��5Lp�٥�$Kܥ>�L3L@��3L��� QK��7�%K8����1L����1L��U��0LԮ��6L����$1L��U�`1LX���$K�{��/K|���2L�͵H2Lеd�2Ld����$K�����$Kж��$K�ط�$Kط��$K0�t��$K��T��$K`�!��$K0�y��$K|����$K�e��$Kp����$K��6��$K8�V��$KX����$K�� ��$K ����1K�~��$K����$K����(K��%��2L(���\�K��5��$K8�!��$K$����$K ����2L��#��$K0����$K�����$K��d�L6Ld���4L��E��4Lp����$K����3L��b��/Kp�T��4L����L3L����3L����L6L�,�8L0�d��$Kp�6�3L@����/K��5�9L@�~��$K��A�<LP���)K����`K����;L��B��(KD����$K��F��5LH���$;L���L3L ���3L��r��$Kt����%K��)��8L,����$K��!��$K$���l;L���t9L
A
�$KP
�
�$K�
V3L`�/K*�$K`��$K�$=L$��<L�L3L �3L�a,<Ld$l;L0.L<L0G�$KP��$K�V3L`�/K'�$K`��$K�&�5L(�!�=L�!2&L3L4&�&3L�&a'<=Ld'$(l;L0(d+\=L�+�+�$K�+,�$K ,�,3L�,�-�/K�-
2L>L2�2�5L�25�?L 5�9L3L�9(:3L(:�:,>L�:t;l;L�;>K�>L@K~K�$K�KFL3LPL�L�/KM�NX@L�NnO�5LpO�QAL�QRVL3LTV�V3L�V�W8@L�WDXl;LPXvZ�@L�Z�Z�$K�Z�[3L�[2\�/Kh\�\0BL�\n]�5Lp]*`�AL,`�dL3L�d4e3L4e�g@BL�g-hTAL0h�hl;L�hltAL l�l�$K�lfm3Lpmn�/KHn�oHCL�oBp�5LDp�r�BL�r>wL3L@w�w3L�w3x�$K4x�x\BL�x�yl;L�y%}|BL4}�}�CL�}~�$K8~�CL&�$K(>�$K@��CL��XDLP����$K��Ƅ�$KЄ��$K�օ3L����/KІ��$K����$K���HFL����EL����EL�r�L3Lt��3L���FL�����DL����DL ���L6L���ELP��3L �¡�/KС��FL ����$K�����$K��d�l;Ld�˪GLЪr��6Kt�z�hGL|�&��GL0����$K��v�3L��"��/KX�ޯ�5L�x��HLx�ڶL3Lܶ��3L��Ϸ�$KзY��GL\�,��$K,��l;L���HL���$K�N��$KP�˾�$Kо��$K�ֿ3L����/K�����HL��2�HIL\����$K��Z��5L\����JL����@JL��/��JL0���L3L��8�3L8���@BL��G��$KH����$K��1��$K4����HL����l;L����$K���tIL��:��$K<����$K��T��$KT����$K��E��$KH����$K����$K ����$K��0��$K0����$K��v�3L��"��/K0���0KL�
��KL�^��LL`���5L�Y� ML\�*�LL,�L3L�43L4��$K���$K��KL�Hl;LH��$K�|	�$K�	f LLh�$K��$K�Z�$K\�4AK�d�$Kp63L@��/KzL3L| 3L @BL �l;L�?#\ML@#W$NLX$o%NLp%�%$7K�%�%�$K�%'�ML'q'�$K�'($NL (T(�$K`(i*DSLp*�*�$K�*�*�$K�*+�$K+-�SL -T-�$K`-�-�$K�-V.3L`./�/K/�0�NL�01�$K 1K1�$K`1�1�$K�1J2hTLL2�2,TL�2o3�/Kp3@4�PL@4M5�PLP5�5�/K�5)6 UL,6�6 UL�6�6LUL�6#7)K$78�L8�8�(K�8]:�lK`:;�RL;�;�$K�;c<�SLp<=pRL=�=�1K�=s>�RLt>?�RL?�?SL�?UA�TLXAC�TLC�C<OL�C*E�PL,E�F�NL�FG�$KG�G�$K�G�G�$K�G�G�$K�GH�$K0H�H�$K�H�H�$K�HKI�$KPI�I�$K�I�I�$K�I{J�9K|JK�$KK{K�$K�K�K�$K�KL06K,L�L6K�LM�$KM�M\NL�MNL6LN�YlOL�Y]RL ]�c QL�c�dOL�d"e�$K0e�e�$K�evf3L�f"g�/K0g�k�UL�k<n�UL�n�n�$K�n8o�$K8o�o�5L�o1r ML4rw�LLwf{L3Lh{|3L|t|�$Kt|�|pUL}�}l;L�}�~�$K�~�$K�(VL����/K��(��$K(����OK������K��ÉL^Lĉ��]L�����\L����$K���]L���|BK���)K�!�)K$�ېH[LܐĒ[LĒm�0ZLp���[L�~�T&K��f�*K\���'K����PKl�'��]L(�
��\L���]L�ˠ�%K̠��\L��� ]L���^L���\]L��s�pNKt�'�]L(���YL�ϫ�AKЫK��]LL����$K�����$K��1��$K4���lZL����`\L����YL����[L���\L���@XL���YL�a��WLd�(��WL(����XL��\��WL\�� QK���`&K��-��YL0���`&K�����$K����$K �s��$Kt����$K����$K ����$K���\�K���\�K�����ZL����$K����%K�����$K����WL��A��VLP��3L ���4WL��r��&Kt���6K ����/K����$K�N��$K�����$K��j��5Ll���D_L�b�L3Ld��L3L�l3Ll3L�\^L�%|^L(�l;L��l;L�L�^LP��_L�V	3LX	�^L�2�_L@��/K��3L�b�/Kpv`L�W�%KX�<aL�4�$K4�L3L�<3L<�aL�o �$Kp � L6L�!�,8`L->-�$K@-y.�aL�.�.�$K�.f/3Lp/0�/K 0�2�aL�2�3bL4j4�$K�45�5L 5�7XcL�7<�bL<j@L3Ll@A3LA�AlaL�ABL6LB{B�$K�B?EHbL@EG�fLG|GXfL|G�G�2K�G�I\�K�I=J\�K@J�J�$K�JxK�fLxK<O�gL<OPgLPMQ�$KPQ�R�5K�R�S�$K�S�T�$K�TdU�5KdU�U�$K�U�V�$K�V�]ThL^�h�gL�hfj�$Khj�l�$K�l�m�fL�m�n�fL�n�qhL�q�t�gL�tEu�$KHuSv�$K�v9w�%K<wzw�$K|w�w�$K�wSx�$KTx�x�'K�xby|BKdy�y�$K�yz�fLz�z�fL�z{�fL{�{�fL�{|�fL|�|�fL�|}�fL}�}�fL�}~�fL~�~hfL�~KhfLL��fL�%�LgL0����&K��I�eLP�ՃfL؃��cL �E��$KP�s�d�K�����$K�1��$KT���gL����06K��=��%K@�k��$Kl�Ɗ6KЊI��$KL���$K����%K����$K ����$K��9��%K<����%K��-��$K<���<eL��@��eL@�g��dLh�Y�dL\�М�eLМh��$Kh����cL��ldL���3L��b��/Kp�J��hLP����$K��ͤ�$KФ��$K8����$K��6��5L8���,jL����iL�v�L3Lx��3L����iL����$K����$K����hL�|�L6L�����hL����$K�־3L����/K��c��jL����$K�f��5Lh���XcL��J�L3LL���3L��y�hjL|���L6L����jL0�n��$Kp����$K��V�3L`���/K��XkL ���kL�b��LLd����5L��s�tlLt����bL��>�L3L@���3L��m�8kLp���L6L��O��$KP����kL��S��$K`����$K��V�3L`���/K�w�LmL�����mL��.��$K0����$K��)�doL,���(oL�����nL����lL�3L��$K��lL�`l;L`�4AK�D0nLD��$K�3�$K4�4AK�
�$K 
�
3L�
��/K���oL��$K ��5L�,qL1�pL4z�lL| 3L e�$KhJ �$KL � �$K� U!�oLX!"l;L"�"�$K�"C#7KD#�#�$K�#12�oL42�2�%K�2G3�%KH3�3�$K�3f4�/Kh45�/K5�54AK�5 6�$K 6�63L�6�7�/K�7N8�5LP8�:rL�:N?L3LP?�?3L�?}@hqL�@@Al;L@AYE�qL`E&F3L0F�F�/K�F�H�rL�HI�$K IuK�rL�KQMPrLTM�ML6L�M�NsL�N_O�$K`O&P3L0P�P�/KQ�Q�5L�QT,tLTfXL3LhXY3LYM[@BLP[�[lsL�[\�$K\q\�$Kt\�\LsL]�]l;L�]�b�sL�b�b�$K�b�chtL�c�q�tL0r�r�$K�rls4vLls�svL@tt�$K�t�u�&K�u�u�$K�u��puL��r��tLt���L�m���Lp��̂L���܄L��K�$�LL���L�}���L��$��L0����%K����L ���)K��Ӑ)KԐ2�)K4�e�)Kh���)K��ڑ)Kܑ����L��3���L4�J�<�LL�=� �L@��� QK��� QK����(K�����(K��X��(KX�ޛ�(K���DL��F��LH����%K��2��%K4���$K�]��$K`�ӡ�$Kԡ̢؃L̢���L�:��L<�B�L�LD���`�L��N�d�LP�
���L����K�����K�����K�[���L\�׬ԅLج����L��J��LL�Ԯ�$KԮE��$KH����$K��-��$K0�i��$Kl����$K����%K��|}L�����L��6�H~L8���l~L��+�hfL,�g�~Lh����L�����L���l�L��b�0�Ld��tL���@L���X�L���%K��p��{Lp���}L�d� |Ld����{L���@|L����|L��]�`wL`���\vL�����$K����$K� ��$K �6��$K8�N��$KP����$K����$K�m��$K�����$K����$K����$K�����$K��0��$K0�t��$Kt����$K�����$K��8��$K@���\	L��F�\	LH���\�K��+��$K,���\�K��d�\�Kd���\�K����\�K��	��$K�����5K�����$K��[��$K\����$K�����|L����x{L�����wL��S�zL`�B��3KD���0}L���`&K��.��L0���H{L����vL���L�U�~LX���L�`�zL`��~L���$K
o
�$Kp
63L@��/K��0�L��$K��$K��5L��L��L3L��3L��$KU�$KX��L��l;L�� d�L� � �$K� �!3L�!b"�/K�"�"�$K�"f#�5Lh#&ĈL&v*L3Lx*+3L+�+,�L�+h,l;Lp,M/L�LP/03L 0�0�/K�0)2,�L02`2�$K`2�2�$K3>3�$K@3�3�5L�396؉L<6�:L3L�:D;3LD;�;�$K�;<�$K <�<�L�<=L6L=�=�$K�=+>�L0>�AX�L�APB�$KPB�B�$K�B4C�$K@CD3LD�D�/K�D�G`�L�GH�$K HTH�$K�H�H�$K�HVI�5LXI�K$�L�K.PL3L0P�P3L�P�Q�$KR�R�$K�R}S@�L�S�SL6L�S`Z��L`Z�Z�$K�Z[�$K@[\3L\�\�/K�\�]��L�]�^��L�^>_�5L@_�aAL�a"fL3L$f�f3L�fQg`�LTghl;L hek�Lhk�lL�L�lGmp�LHm+n��L,nzo�L|o.qD�L0qGr4�LHr6u�L8uOv4�LPvfv�$Khv~v�$K�vw�$KwDw�$KPw�w�$K�w�x̌L�xz�Lz�{�L�{�| �L�|�}ȍL�}�~ĎL�l�L�݀��L�Z���L`�ځ��L�ւ3L����/K���L3L���3L���L6L�f�`�Lp����$K����3L��2��/Kp����$K��6��5L8�А�LА2�L3L4�ؕ3Lؕa���Ld�$�l;L0�����L�����$K����3L��2��/K@���`L0�n��$Kp����5L��i��Ll�ΤL3LФt�3Lt���$K�u�8�Lx�8�l;L@���X�L��B��(KD�¬�fLĬ^���L`�ݭ�fL�~��fL�����$K����<�L��@�X�L@���|�L��ײ�$Kز5��$K`����L��r��Lt�Ƶ�$KȵX��LX�ֶ�fLضU��fLX�ַ�fLطo�hfLp���fL�����L����fL�Ⱥ�LȺ��8�L��Z�\	L��F�h�LH��ԒL���l�L��C��%KD�	���L���̑L����$K�t��Lt���)K��M�8�LP���x�L�9��$K<���hfL�����L��/�,�L0�l��$K����l�L����l�L������L���x�L����L���̔L�����L�����$K��<��$K<���t�L�����$K����$K����$K�����$K��m��%Kp�/��$K0���H�L�� ��$K �P��$KP����$K��^�\	L`���\	L��g��$K�����$K����$K�M��%KP����$K�����$K����%K�0��$KP�p��$Kp����$K�V���LX����%K�����L������L��A��'KD�*��L,���L�d�\�Ld���L�^��L`�O���LP����L�w�4�Lx��̚L���$�L�����L�$��L$l\�Ll�LL��'K�i�$Kl�L�L�l�Ll��$K����L�2�%K@��$K�	��L	f�L���'KU
��Lp
63L@��/K��5L� AL �L3L�(3L(�ԜL�tl;L�j�Lp63L@��/K ^�$K`��5L��!�BL�!�%L3L�%�&3L�&'p�L'|'L6L�'�*��L�*=+�$K@+,3L,�,�/K�,�-؞L�-.�$K.�.�5L�.R1�ALT1�5L3L�5\63L\6C:@BLD:�:�L�:�;l;L�;|C��L|CI(�L I�I��LJ�J3L�J�K�/K�K�LРL�LNĢLN�O�L�RS3L SU�,KUVȣLVXW��LXW�X\�L�X-Y�`K0Y�Z��L�Z�b(�L�bNk��LPk�k�$K�k@lܟL@l�l��L�l�ml;L�m�r�L�rkv�KlvCw�KDwRz�LTz}T�L}j~ğL�~f3Lp��/K����5L���AL�~�L3L��$�3L$���ԣL��p�l;Lp�f��Lp�6�3L@���/K �^��$K`���5L�h�ALh�ʚL3L̚p�3Lp�����L��d�L6Lp�/���L0�`��$K`����$K��f�3Lp���/K ���4L@�~��$K����5L�y��L|�ީL3L���3L�����$K�����$K����$K���P�L���L6L��p�L���3L��b��/K��޵�$K�f��5Lh��AL�J�L3LL��3L�y�P�L|�<�l;L@��p�L���$K���3L�����/K�����$K��^��5L`���AL��B�L3LD���3L��q���Lt���L6L��e�ԦLp����$K��v�3L��"��/K0�����L�N��$KP����5L����,�L����L3L����3L���d�L���l;L��2�ȧL@��3L����/K���h�LH���L3L��P�3LP��l;L�����L��3L�r��/K��
L3L�3L�pl;Lp�P�L���$K�3L��	�/K�	�
��L�
�LL��5L�#tlL$v��Lx�L3L��3L�	ܪL�l;L�4@�L@3L��/K�n �5Lp �"AL�"R'L3LT'�'3L�'�+l�L�+I,�LL,�,L6L�,90 �L@0q0�$K�0F13LP1�1�/K02n2�$Kp2�2�5L�2�5�EL�5�9L3L�9�:3L�:;��L;�;l;L�;q?ȬL�?F@3LP@�@�/K0AnA�$KpA�A�5L�AxDALxD�HL3L�H�I3L�I	J\�LJ�Jl;L�JN|�L N�N3L�N�O�/K�OP�$KP�P�5L�PSALSzWL3L|W X3L X�X��L�XlYl;L�Y�\�L�\�\�$K�\�]3L�]B^�/K�^�^�$K�^8_�$K8_�_�5L�_Ub�LXb�fL3L�f`g3L`g�gd�L�gThL6L`h>k��L@k1l<�L�l0mL6L0m�mL6L�mnL6Ln�n�$K�ohp��Kpp�t�L�tw,�Lw�z��L�zN��LP�l�L0����Lp�[��L`����L��ߏP�L�b�\�Kp�����L��ƒ��LВQ���L����L�{��$K����ԱL����%K��}��(K����|�L����L �N��5KP�#��$K0�Z��5K`�7�L�L@��L�L ���L�L�P�D�LP���|�L��0�|�L0���|�L��7��L@���D�L���D�L ����L���̳L����L��г�$Kг���$K�+��$K0�[��$K`����$Kд��'K���$K�=��'K@�Y��$Kp���L���̻L��H�̻LP�����L�չ��L�r� �L��@�H�L@���$K�%���L0�����L��B���LP����1K�����5K���|�L���`&K��!�дL0�� QK���4�L������L��t���L��s�\�L�����$K�����$K��	��$K0�t��$K�����$K��Q��$K�����$K��$��%K0�g��Lp����$K������L����$K����L����L�I�$KP��$K�^\�K���$K��L�L��L�L�wL�L�WL�L`7	L�L@	
L�L 
p
D�Lp
�
D�L�
D�L`D�L`�D�L�D�Lp|�Lp�|�L�P
|�LP
�
|�L�
0|�L0�|�L�7�L8�(�L���$K���$K��$K K�$KP{�$K���$K���'K��L�L��L�L��D�L�0D�L0�|�L�|�L��L��H�L��$K;�$K@`�'K`7L�L@�D�L�|�L��L��h�L���$K �'K �L�LPD�LP�|�L�W�LX�h�L���$K���'K��L�L�D�L�|�L��LGh�LP{�$K�WL�L`�|�L�g�Lp�D�L� h�L ; �$K@ ` �'K` 7!L�L@!�!D�L�!"|�L"�"�L�"�"h�L�"�"�$K# #�'K #�#L�L$�$L�L�$�%L�L�%�&L�L�&�&D�L�&@'D�L@'�'D�L�'�'D�L�'P(|�LP(�(|�L�(0)|�L0)�)|�L�)7*�L8**��L�*�*�$K�*�*�$K�*+�$K+;+�$K@+`+�'K`+7,L�L@,�,�L�,-|�L-�-�L�-�-h�L�-.�$K.0.�'K0./L�L/�/L�L�/�0L�L�0�1L�L�1�2L�L�2g3L�Lp3G4L�LP4'5L�L056L�L6�6L�L�6�7L�L�7�8L�L�8�9L�L�9g:L�Lp:G;L�LP;'<L�L0<=L�L=�=L�L�=�>L�L�>�?L�L�?�@L�L�@gAL�LpAGBL�LPB'CL�L0CDL�LD�DL�L�D�EL�L�E�FL�L�F�GL�L�GgHL�LpHGIL�LPI'JL�L0JKL�LK�KL�L�K�LL�L�L�ML�L�M�NL�L�NgOL�LpOGPL�LPP�PD�L�P�PD�L�P@QD�L@Q�QD�L�Q�QD�L�Q0RD�L0R�RD�L�R�RD�L�R SD�L SpSD�LpS�SD�L�STD�LT`TD�L`T�TD�L�TUD�LUPUD�LPU�UD�L�U�U�$K�U�U�$KV&V�$K0V�VD�L�V�VD�L�V WD�L WpWD�LpW�WD�L�WXD�LX`XD�L`X�XD�L�XYD�LYPYD�LPY�YD�L�YZD�LZ�ZD�L�Z�Zd�L�Z`[D�L`[�[D�L�[@\D�L@\�\D�L�\ ]D�L ]�]D�L�]^D�L^p^D�Lp^�^D�L�^P_d�LP_�_D�L�_0`D�L0`�`d�L�`ad�La�ad�L�a�aD�L�a`bD�L`b�bD�L�b@cD�L@c�cd�L�c dd�L d�d��L�de��Lepe��Lpe�eD�L�ePfD�LPf�fD�L�f0gD�L0g�gD�L�ghD�Lh�hD�L�h�hD�L�h`iD�L`i�iD�L�i@jD�L@j�jD�L�j�k̽L�khl4�Lplm�Lmgn��Lpn�n�$Ko@o�$K@oko�$Kpo�o�$K�o�o�$K�o�o�$Kp+p�$K0p[p�$K`p�p�$K�p�p�$K�p�p�$K�pq�$K qKq�$KPq{q�$K�q�q�$K�q�q�$K�qr�$Kr;r�$K@rkr�$Kpr�r�$K�r�r�$K�r�r�$Ks+s�$K0s[s�$K`s�s�$K�s�s�$K�s�s�$K�st�$K tKt�$KPt{t�$K�t�t�$K�t�t�$K�tu�$Ku;u�$K@uku�$Kpu�u�$K�u�u�$K�u�u�$Kv+v�$K0v[v�$K`v�v�$K�v�v�$K�vw�$KwNw�$KPw�w�$K�w�w�$K�wx�$KxNx�$KPx�x�$K�x�x�$K�xy�$KyNy�$KPy�y�$K�y�y�$K�yz�$KzNz�$KPz�z�$K�z�z�$K�z{�$K{N{�$KP{�{�$K�{�{�$K�{|�$K|N|�$KP|�|�$K�|�|�$K�|}�$K}N}�$KP}�}�$K�}�}�$K�}~�$K~0~�'K0~s~�'K�~�~�L�~#�'K0s�'K���'K���'K �c��'Kp����'K����'K�S��'K`����'K����'K�I��%KP����'K����'K�3��'K@����%K����$K����$K������L����L�L��w�L�L��W�L�L`�7�L�L@��L�L �p�D�Lp���D�L���D�L�`�D�L`���D�L�� �|�L ���|�L���|�L�p�|�Lp��|�L�w��Lx�Ǐ�LЏg��Lp����$K��ː�$KА���$K�+��$K0�[��$K`����'K�����$K��-��L0����/K��X�̻L`���T&K��i��1Kp���L����L����$K�ߗ�$K�V��L`����$KИ���$K�+��$K0����L��.���L0�d�@�Lp�����LЦ���L���L���L����'K��r���L��D�D�KP�Ƶ�'Kеp�D�Kp�W�D�K`���D�K��c�D�Kp�_�D�K`����'K����'K ���D�K�� ��'K �¿D�Kп ��'K ���D�K��e�D�Kp�2�\�K@����L����L ����L����D�L�����%K����$K����.K�����L�����L �����L������L��V���L`����L �d��'Kp����$K����$K �����L�����L �����L�����L ���$�L��4�L�����L��0���L0�[��$K`����$K�����$K���D�L �1���L@�Q���L`��\�L���LX�L`�-��L�-�.��L�.U/�/K`/�/�/K�/�3X�L�3OH$�LPH�H�$K�HI�$K@I�I��LJ;K��L@KL(�LLKM��LPM�MD�K�M+O��L0O�O(�LP;Q��L@QR(�LR�R(�LPS|S�'K�S�UP�L�U�VD�K�VyX\�L�X�Y�LZ�Z��L�ZM[�$KP[{[�$K�[�`��L�`e4�L e�f��L�f�h��L�h�iL�L�iwjL�L�j�jD�L�j kD�L k�k|�L�kl|�Ll�l�L�l�lH�L�l�l�$Km+m�$K0mPm�'KPm'nL�L0noL�Lo`oD�L`o�oD�L�o p|�L p�p|�L�p'q�L(qWqh�LXq�qh�L�q�q�$K�q�q�$K�qr�'Kr�rL�L�rBs�LPs�s|�L�s�sh�L�st�$K t@t�'K@tuL�L u�uL�Lv�vL�L�v�wL�L�w�xL�L�xwyL�L�yWzL�L`z7{L�L@{|L�L |�|L�L}�}L�L�}�~L�L�~�L�L�w�L�L��W�L�L`�7�L�L@��L�L �p�D�Lp���D�L���D�L�`�D�L`���D�L���D�L�P�D�LP���D�L���D�L�@�D�L@���D�L���D�L�0�D�L0���D�L��ЇD�LЇ �D�L �p�D�Lp��D�L�P�D�LP���D�L��0�D�L0���D�L���D�L���D�L���D�L�`�D�L`�ЌD�LЌ@�D�L@���D�L�� �D�L ���D�L���D�L�p�D�Lp��D�L�w��L����̽L��g���Lp����$K�+��$K0�[��$K`����$K�����$K����$K���$K �K��$KP�{��$K�����$K��۔�$K���$K�;��$K@�k��$Kp����$K��˕�$KЕ���$K�+��$K0�n��$Kp����$K��Ж�'K���L�L���D�L���|�L����L�G�h�LP�{��$K�����'K��w�L�L��КD�LК@�|�L@�כ�L؛�h�L�;��$K@�`��'K`�7�L�L@���D�L���|�L����L��Ǟh�LО���$K� ��'K ����L��V��L`�ɢ�1KТP�,�KФ}��L��*�8�L0���x�L��Ц�$KЦ���$K�����L �����L��G���LP����'K����$�L����H�L�����L������L��T��$K`�����L������L��l���Kp���$K@��L�L ���L�L���L�L����L�L����L�L��w�L�L��W�L�L`���D�L���D�L�P�D�LP���D�L����D�L��`�D�L`���d�L��@���L@���D�L�� �D�L ���D�L���D�L�6�̽L@���D�L�����L����$K�����$K�����$K�+��$K0�[��$K`����$K�����$K�����$K��$��$K0�n��$Kp����$K�����$K��.��$K0�n��$Kp����$K�����'K����L�L����D�L�p�|�Lp���L�7�h�L@�k��$Kp����'K��g�L�Lp���D�L��0�|�L0����L����h�L�+��$K0�P��'KP�'�L�L0��L�L�`�D�L`���D�L�� �|�L ���|�L��'��L(�_�H�L`����$K�����$K�����'K����L�L����L�L��w�L�L��W�L�L`�7�L�L@��L�L ���L�L�P�D�LP���D�L����D�L��J��LP���D�L����D�L��@�D�L@���|�L�� �|�L ���|�L���|�L�p�|�Lp���|�L��P�|�LP����L��G���LP�{��$K�����$K�����$K����$K�;��$K@�k��$Kp����$K�����'K����L�L����D�L��`�|�L`����L��'�h�L0�[��$K`����'K��g�L�Lp�G�L�LP�'�L�L0���D�L���D�L� �D�L ���|�L���|�L�p�|�Lp���L�G�̳LP�{��$K�����$K����$K���'K��L�L�@�D�L@���|�L��G��LH�w�h�L�����$K����'K���L�L���L�L��D�L�P|�LP�|�L�W�L`�D�L��H�L+�$K0[�$K`��'K�WL�L`7L�L@�D�L��D�L�P|�LP�|�L�W�LX�H�L���$K���$K��'K�L�L�`	|�L`	�	�L
d
D�Ld
�
h�L�
�
�$K�
�
�'K�
�L�L�@|�L@�D�L��h�L�
�$K
0
�'K0
L�L�L�L��L�L��L�L��L�L�gL�LpGL�LP'L�L0L�L�L�L��L�L� D�L pD�Lp�D�L�D�L`D�L`�D�L�D�LPD�LP�D�L��D�L�`|�L`�|�L�@|�L@�|�L� |�L �|�L�|�Lp|�Lp�|�L�P|�LP�|�L�W�L`��L�O ��LP { �$K� � �$K� � �$K� !�$K!;!�$K@!k!�$Kp!�!�$K�!�!�$K�!�!�$K"+"�$K0"["�$K`"�"�'K�"W#L�L`#�#D�L�# $|�L $�$�L�$�$h�L�$%�$K %@%�'K@%&L�L &p&D�Lp&�&|�L�&'h�L';'�$K@'`'�'K`'7(L�L@()L�L )�)L�L*�*L�L�*�+L�L�+�,L�L�,�,D�L�,@-D�L@-�-�L�-�-D�L�-@.D�L@.�.D�L�./|�L/p/|�Lp/�/|�L�/P0|�LP0�0|�L�001|�L01�1�L�12(�L 2K2�$KP2{2�$K�2�2�$K�2�2�$K�23�$K3;3�$K@3`3�'K`374L�L@4�4D�L�45|�L5/5h�L05[5�$K`5�5�'K�5W6L�L`6�6|�L�647D�L47c7h�Lp7�7�$K�7�7�'K�7�8L�L�89|�L9�9�L�9�9h�L�9�9�$K�9:�'K:�:L�L�:0;D�L0;�;|�L�;7<�L8<g<h�Lp<�<�$K�<�<�'K�<�=L�L�=>|�L>�>�L�>?D�L?C?h�LP?{?�$K�?�?�'K�?w@L�L�@WAL�L`A7BL�L@BCL�L CpCD�LpC�C|�L�CPD|�LPD�D|�L�D0E|�L0E�E�L�EgF�LpFG�LG�G�L�G�GD�L�GTHD�LTH�H��L�H�H�$K�H�H�$KI+I�$K0I[I�$K`I�I�'K�IWJL�L`J�JD�L�J K|�L K�K�L�K�Kh�L�KL�$K L@L�'K@LML�L MgMD�LpM�M|�L�MNh�LN;N�$K@N`N�'K`N7OL�L@O�O|�L�OGP�LPP�PD�L�P�Ph�L�PQ�$K Q@Q�'K@Q�T��L�T�T�$K�T�U��L0VY`�LY�Y�$K�Y;Z�$K@Z�[|�L�[I]�LP]tb��L�bYc�$K`ce�?Ke�f�$K�fhg�5Kpgh�%K h�h�$K�h1i�$K@i�md�L�mjn�$Kpn	o��L�op�%Kp�p\�K�p#q\�K0q�q�$K�q�r�%Ksts�$K�s�s�$Kt�tH&K�t�v8�L�v�{D�L�{Q|��L`|���L����L��9���L@�����L�����L�;��$K@��$�L��d�L�@���L`�3�X�L@�W��$K`���$K����L����$K��h���Lp���$K���$K�#��$K0��x�L�7���L@�(���L0���K����L����|�L�©��LЩ���L��¬P�LЬP�x�LP�/�X�L0���$K��ޯ�$K���$K �����L��DZ�5KбJ���LP����L �0��$K0�V���L`�R�P�L`��8�L����L�'��$K0����$K���$K�����$K��I���LP����$K��o�`�Lp��̻L �u�0�L����$K��t�L�"��L0��$K�� ��L� �!��L�!(��L(�(�$K�()�OK)}*`�L�*+�$K +�+@�K�+�,��L�,�-h�L�-/��L /�:��L�:;�$K;�;<�L�;|<\	L�<�=�L>N>�$KP>�>4�L�>�>�$K?�A��L�A�E�L�E9F�L`F�F�'K�FG�$KGxK\�L�KL�$K L�M�L�MN�$KN�N��L�N�N�$K�NfQH�LpQuS��L�SjU0�L�U�U�'K�UHV�$KPV�W�L�WX�$KX�X8�L�X�X�$K�X�[��L�[�]��L�]�^(�L�^�^�'K_�_�$K�_
a�La�a��L�a�a�$K�a�d`�L�d�d�$K�d�e�`K�e�e�'K�ef�'Kf�f�$K�f�f�'K�f�g�$K�gMi�LPi�i�$K�ik��Lk�k8�L�k�k�$K�k�q8�LPr�t��L�t
v��Lv2v�$K@v�y��L�y�z�$K�z�{�$K�{�|�$K�|@T�L@�$K���$K���$K �Ԁ��L�d���Lp�Ղ�$K����L���'K ���L�}��L���ȌK�7�t�L@�k��$K�����L��7���L@�Տ��L�m���Lp���H�L��z���L�����L�;�D�L@����K�Ԫ@�L����'K���$K�����L����$K��خD�L���$K ����L����L�x��$K�����L�G�$�LP����L��{�@�L��+�\�L0�i��$Kp���$K�h��'Kp�G�0�LP����$K���H�L�y��$K�����K�u��$K����)K����p�L��Z��$K`�`�(�L`����$K�����$K�}��$K�����$K����P�L�����L�L���LP����$K��D��'KP�W�0�L`����$K��0��$K`���$K�{���L����$K �'��`K0�,���K0���|�L��)��$K0�����L�B���KP�w��L������L������L����L����$K����3L�g��$Kp�;��L@����$K�����L�c���Lp�<�M@����$K��1���L@�i��Lp�XpM`��$K��	0M�	�M�PM��$K���'K��0M�YM`��'K�!�$K0>��L@@ HM@ � �$K� � �$K!]$�M`$�$�'K�$�& M�&�&�$K�&i(Mp(�(�$K)"*@M0*+`YK+I+�'KP+w+�$K�+�/XM�/	0�'K0�0�$K�0�1��L�1v2�M�23�$K 3�4�M�4\5`YK`5w;M�;�;�M�;q<�$K�<�=`M�=�>`YK�>�EpM�EG`M G9H\	L@H|H�L�H�H�$KIJ�MJZP�M`P�P�L�P>Q�$K@Q�Q�L�Q�RdMS�S��L�S�T�MUGU�MPU.\�M0\�\�M�\]�L ]v^dM�^�_��L�_�`�M�`�lM�l�m��L�mQp0M`pY|�M`|q}��L�}+�0M0�ڀH	M�]��$K`�y��M��ǂ�MЂ@��	M@���$K��@M �	�x	Mp���M ���$K�S�)K`�?� 
M@����$K��q��M��ڙ�$K���M�'��M0�|���L����$K�3��'K@���4M����M���lM ���\�K�C��$K`���)K����xM��1��$K@�ެd
M�&��$K0�z��$K����,M��ײ�M�,���L0���
M�h�Mp�Ѷ�L�~�\�K����$K���d
M�����$K����'K����M�]��$K`���
M ���M��-�M0����$K����HM����M����xM��\��$K`�����L��L�\MP����M�����$K��z��'K��U�TM`����$K����4M����8M���`YK��%��M0�z��$K��!��'K0�z��M�����$K����4M���8M �-��`K0���M��H��$KP����$K����t�L��2��$K@�7���L@����L����$K �-�<M`�p�<M����dM��E��$KP���LM��_��$K`�����K�����M�]��L`��LM�a��$Kp����$K����M��$K 68M@�tM�l�$Kp��L���M���$K�H
8MP
@�M@��$K'xM0��L�0��L0��M���$K��$KM @ TM@ O!MP!M"�/KP"�#�M�#v$�$K�$�&�M�&m)�Mp)�*$M�*[+�$K`+�,hM�,�2 M�24$M4�4�$K�46\M6�7�M�7b8\`Kp8�9�M�9]:�M`:�:�$K�:�; M�;�<M�<(>�M0>�>�$K�>�? M�?�A��L�AC4MC�C�$K�C�DxME�E�$K�E�F�M�FEH$MPH�H�$K�H4JxM@J�J�$K�J�K�M�K�K�M�KM�M�MN�$KNOMO�O\	L�O�T\M�T�VM�VW�$K W�X|M�X�YPM�Y�\�M�\�^�M�^�`M�`�a�M�aYb�$K`bEcMPc�gXM�g�h�Mili�$Kpi_j$M`j
k\	Lkhl�Mpl�l�$Km�mPM�m�o8M�oqqxM�q�r�M�rEs�$KPswtdM�t�u�Lv�v�M�v�v�$K�v�v�$K�v-{�M0{~|��L�|!}�$K0}�~�L�~�$K�HM���$K���$K�݄�M�&���L0�Ć�$KІM��LP�Ј��LЈ���$K��ˉ�$KЉ��� M��ϓ�MГ��h M��M�pMP�s��$K�����'K��>��$K@�2� !M@�Ț�LК'��L0����$K����$�L�\��L`�w�4!M�����L�����$K����p!M��٤�$K���!M�]��$K`����$K�����L��[��$K`�g�0�Lp�ɾ"MоV��$K`�q���L���0M �g��Lp����"M������L����0M�����L����$K�����`K������K�����#M��h��$Kp�Y�x	M`����'K�����$K�%��'K0� ��$K ����L�� �LM ���L%M�����$K��z�`�L����t%M��� !M���'K ���$K�h��%Mp�6��$K@����L��@���L@����$K����$K���'M��	X&M�	�
�'M nL(Mp��'K�?�$K@E��LPu�'K��$KK�$KPu�'K�>�(M@��$K����L��X�L�?�$K@c�$Kp���K��(M E�'KP�M ��$K�|,)M���$K���'K�u�$K��D)M���L�f �,Mp �!�L�!i"�(Kp"�"�,M�"B$*MP$�$�)M%*%�$K0%g%�$Kp%�%�$K�%�*,M�*m9P*Mp9[=x)M`=w=�$K�=�=�$K>}?�L�?@�.M@�@�,MA+A�$K0A�FD.M�F/P -M0PGP�$KPP�P�$K�PR�.M�R�R�$K�R<S�$K@S�T�L�TTU��L`U�U�$K�U�X\/M�XgY8/M�Y�Y�'K�YHZ�$KPZ�[�L�[\�$K \�\4�L�\�\�$K�\?`�0M@`�b�/M�b�dP0Me6e�$K@eee�'Kpe�e�$Kf�i(1M�ij�'K j�j�$K�j�l1M�l�l�'Km{m�$K�m�m�$Kn%n�'K0n�n�$K�n]p�L`p�p�/K�p$q��L0q�q UL�qr��Lr�r�RL�rPt�2MPt�t�$K�t�t�$Ku+u�$K0u[u�$K`ugw�2Mpwx�1M x�|2M�|�}�$K�}�L �h4M�E��$KP�{��$K�����3M����3M��[�0M`����3M���'K���$K�?�L3K@�e��'Kp���$K �����L��+�\	L0�
��4M�5��'K@����$K�g�\	Lp����$K����L�5��'K@���$K�����L����9K��ڗ�4M���'K����$K��Й��LЙ2�5M@����9K����M���D5M��;��$K@�\�45M`����M��\��$K`�d���Lp����5M�.��5M0����`KШ|��$K������L����L���'K ����$K��
��L�����L�����$K�+��$K0���\6M���6M ����$K��#�7M0����L��-��L0����/K��� UL��� ;M�����L����RL��R�H;M`��<7M �ֿp7M���$K�;��$K@�k��$Kp���:M����9M �'��SL0����7M�����7M�����:M����h9M�m�(9Mp����;M�%��'K0���$K����;M�����;M�����$K��h�,<Mp����'K����$K �r�LM��{�P<M�����$K�E�x<MP����<M��[��;M`����$K�����<M�����<M����=M�����'K��%��$K0���<M ��(�L�W��M`����L����$K ���8�L�����$K��r�<=M���6M����=M��-��L0����L����$K���=M�]�L`�P?M�O�$KP{�$K�lt>Mp[	>M`	�	�$K
�
�'K�
=�L@��$K� 
HM 
K
�$KP
�x?M���`K�4�$K@��L�T��L`��$K���@M���$K�u�?M�H!�@M�!�!�$K�!�"�$K�"�"�$K�"-$�L0$f$�$Kp$�$8�L�$%�$K %-(�AM0(c-AM�-�.lBM/0�L0�0�$K�0'>�BM0>U?�DM`?w?�$K�?�?�$K�?�@�DM�@2A�$K@A�A�$K�AHB�$KPB�B�$K�B�C@EM�CE EME�ELEM�E
GpEMG�H�L�H$I��L0I[I�$K`IZL�EM`LwL�$K�L�N�EM�N�N�$K�NQO�$K`O�P�L�P"Q�$K0Q�Q8�L�Q�Q�$K�QNUFMPU�W�FM0XmYpFMpY�Z�L�Z>[�$K@[�[4�L�[�[�$K�[�`xGM�`bd�FM�d�d�$K�dIe�$KPe�e�PK�edf�MpfDg�?KPgbh�lKph�h�$K�hli�$Kpi�i�Mj�j��M�j\��GMp����$K��,���M0�j�$�Mp�G�L�LP�'�L�L0��L�L��L�L��L�L� �D�L �p�D�Lp���D�L���D�L���|�L���|�L�`�|�L`��|�L�@�|�L@����L�����L�+��$K0�[��$K`����$K�����$K����$K�m�Lp��/K�?T&K@�h4M�O�RLP��$K�1�$K@k�$Kp��$K��M �	T�M�	�D�M��ءM�]�L`���L�0��L0[�$K`���M��<�M��l�M�]�L`���M�C�,KP�d�M���$K���M��1�M�1�3,�M�3]5�L`5�5�$K�5@64�L@6k6�$Kp69 �M 9&A��M0A[D�M`D�E�L�E/F��L0F�Fd�M�F�F�$K�F�I�M�INd�MN�SبM�SMU�LPU�ULM�UJVL%MPV{V�$K�VuY(�M�Yq\X�M�\�^�M_}`�L�`)a��L0ata�$K�ab8�Lb+b�$K0b�d��M�d�f��M�f�hЪM�hmj�Lpjk��Lk;k�$K@k�m@�M�mp�Mp5p�'K@p�p�$K�p�p�'Kquq�$K�q>r�M@r�r�$K�r3s�$K@s�u��M�u%v�$KHv�v�$K�v�v�$K�vw�'K@w�w�$K�w�w�$K�w�w�$K�w�w�$K�wx�$Kx3x�$K4xWx�$Khx�x�$K�x�x�$K�x#y�$K$yVy�$K�yz��Mz�z�%K�z�z�$K�z${�$K,{$|̫M$|�|H&K�|	}�$K}%}�$K(}V}�$KX}�}�$K�}�}�$K�}~�$K~�~�$K�~��M����$K��Ɂ�ḾC��$KP�ł�$KȂG�$�ML���@�MЅ��$K���$K�����$K��ӆ�$K���$K��X�M���$K �[��$K\���\	L����$K����5K|����$K��Ċ�$KĊ���'K��Nj�$Kȋ��$KH����$K��@�ܬM@����$K�#��$K$�?��$K@�w�dKx����$K����$K���$KL�t��$K��۔dKܔ���$K��dK0�K��$Kl�����L��-��$K0�Ė�M0����M����,�M�<��$KH�e��$Kh�Ød�MĘC��5K`���p�M�����$KЙ!�x�M$�]��$K`����$K�����$K��Ԛ�$KԚ��$K�L��$KL�|��$K|����$K��ٛ�$Kܛg��$Kh����M�$��$K$�M��$KP����$K�����$K�����$K�����$K����$K�@��$K@����$K����$K�O��$Kp���5K���\�K�����M(�;���MP����$K�����M��<�D�M<�m���Mp����%K��إ�$Kإ��$K��ЮM����$K����ȮM���خM�u��M��!���ML����M��D��ML�g��$Kp����$K����$K���3K�-��$Kl����$K����$K�.���M0�ݯ4AK�L��$KP�ð�$Kİ0��$K0�n��$Kp����$K����7K��޲�$K���$K�*��$K<���$K���4AK0���\�K���D�L���(�M��p�4�Mp���d�M��߸�$K�F��$KP����$K�����/K�����$K�i��$Kl����$K��\�4AK\���7K����$K�[��$Kt�׾�Mؾ+��$K,�o��$K��̿�$Kܿ��$K@�X��$Kd����$K����$K�E��'KH����'K��@���M@����$K����$K�T��$KT����$K�����%K�?��$K@�o��$K�����'K0�w��'K�����'KP����$K�����$K�����$K������M��8��$KP����$K����0�M������M�����$K��}�8�L�����'K��J�h�ML�p��$Kp���)K����ȱM��i��Lt�����M�����M��h���Mh����%K������K����PK��)K�����M�����fL����fL����M����(�M�����$K����@�M�����M������M����̳M�:��$KD���D�M���l�M��Y�D�M�����$K�����M�d�d�Md����%K������K�����%K������M����d�M���p�M�>���M@�J��$KL����$K�����M���Ma�$KpZ��M\�`�L(�M���M�T �MT��5K��	�M
 X�M ��5K����M���5K���M�L|�M�+�M,\ȵMtI@�ML��$K���$K���$K���5K��\�K �$K,L�$Kd:��M<N��MP{�$K���$K���$K��$K K�$KP{�$K���$K���$K�nصMp�H&K�1�M4 �PK  � P�M� 7!��MP!�!�%K�!_"�/K`"�"�$K�"�"�$K�"3#�$K4#�#�%K�#�#�%K$G$�$KH$�$T�M�$&�M&i&�%Kl&='��M@'P(��MP(�(�%K�()�$K0)U)�MX)�)�$K�)�)�$K�)�)�$K�)O*�$KP*�*�%K�*�*�$K�*�+�%K�+-�%K -�-��L�-.�%K.f.�$Kh.�.��L�.x/��Lx/�0,�M1�2�?K�2�2�$K�2�3��M�3�4P�M�4*5 �M,5_6�M�67�%K7�7�1K�7�7��L 8>8�$K@8�8H&K�89(�M9�9\�M�9�:\�K�:1;\�Kh;�@��M�@�A�+K�A�B̷M�BkC�%KpC�C�/KD�D��M�D~G�M�GYH��M\H1IH&K@I�I !MJ�J4AK�J�KдM�K�K�$K�KL�$KL�L�%K�L�L�$K�L@M�%K@M�M�$K�MhO@�MhO�P@�K�P&Q�M(Q�Q�%K�Q�Q�$K�Q�R�PK�R]S�%K`S�S��MT�T�$K�TU�5KPU�U�$K�U#VH�M$V�Vt�M�VY�?KY�Y�$K�Y[��M@[�[�$KX\�\ �M�\+]�%K0]v]�$Kx]�]�$K�]^�$K^�^4AK�^f_�$Kh_�_�$K�_`\�K�`aa�5Kda�a�$K�a�a�$K�a�a�$K�ab�$KbIb��MLb�b��M�bDc�$K`c�c�$K�cd�$K dad�$Kpd�d�%Ke�e�L�e�e�$K�ef�$Kfdf�$Kpf!g\�K0g{g�$K�g�g�$K�gh�$K hi`�Miri�$K�i�i�$K�i�i�$K�i4j�$K@jwj�$Kxjk�/Kk�k\`K�kLl4�MLl$n�M$n�n��M�n�oиM�o*q�M,q�tT�M�t�u��M�uv�$Kv4v�$K4vTv�$KTv�v�%K�vIw�%KLwbw��Mpw�w�$K�w�w�$K�wYyصM\y�y�%K�yz��Mz�z�%K�z�z�$K�z�{|�M�{`|�$Kh|�|�$K�|1}�$K4}�}�$K~�~�M�~u�<�M̀z��$K|����Lt����$K��8��$K8�j��$K��#��%K,���%K�)��M,����M���$7K������K���x�M��p� �Mp�4��$KD�ċ�$KċL��%KL����$K���0�M�X��$KX����$K�����M����$K�U��$K`����$K����$K�j���Ll����M�ʒ�+K̒w��5Kx�ԔdKԔÕd�MĕK��$KL�3��5K4�k�)Kl�-���L0���M��)��$K,�S�l�M`���$K�����M(���4AK���H&K8����&K�� �,�M �֞D�M؞��$K�D�ؼMp����$K��+��$K,�r��$Kt�����M����$K� ��$K �\��$K��Т�$KТ���M�h��$K��,��$K,����$Kd���$K����M���4AK��˨�$K̨��$K���4�M�s�$�Mt����$K�4��$K����Mp��T�M�@���M@�L�t�ML��`�M<�3�@�M��+�4AK,����?K��c�ȾMp�����M����M�E��$KH����L�%�$7K(��4�M ���M���$K�?��$K@����$K��
���M����M�u��$Kx�%��5K(����%K�����Mp�w�ȿM��(��$K(�����M�����$K�����$K����$K�a��Md���P�M����@K����$K �^��$K`����$K�����$K��6� �M8����M���t�M�-��$K0����%K�����%K�����$K������L���\�K �H��$KX�_���M`�%��$K(�q��$Kt����$K����$K����`K�����%K��)��$K,�����M��/��$K0����M�� ��$K �o��Mp����$K��
��$Kh����%K��V��5KX����$K�����$K��� �M����PK��:��PK<����$K����4�M�����$K�����$K�����M�����M�����/K��� �M$�����L��r��%Kt�0�@�M0�W�\�KX����$K���صM�n���Lp����$K������LP�D��$KD����/K�����$K�����$K����t�M����$K����%K�����$K��
��$K`����$K��>��$K@�|��$K|����$K����$K�0��$K0�`���M`�r���M�����$K���p�M�V�8�M`�$���M0���/K���$K���$K���M�2��$K4���%K�B ��MP � �$K U �$KX  ��M � �$K� � ��K� l �%K� 7 �'K8 n �$Kp � �$K� � �$K�  �%K   `YK � �`K� T
 ��MT
  ,�K  R
 ��MT
 � \�K�  �'K   �L � ��M� � \�K�  �$K  �%K� � �M� � ��M� X ��MX U ��MX � �M� � �5K� � ��L� �  �M� w �$K� � �$K� 5 صM8 � صM� � @�M  T  �%KT  D! �MD! �! T�M�! �" <�M�" A# ��MP# �# �/K�# �$ �5K�$ 4% �$K4% �% T�M�% �% �$K�% ' ,�M' �' |�M�' =) ��M@) )* �%K<* t* �$Kt* �+ �M�+ �+ �$K�+ L, �$KL, �, �$K�, - �$K- C- �$KP- �- �$K�- (/ ��M(/ s2 |�Mt2 3 �%K 3 y3 @�M|3 
4 �/K4 X4 �$K`4 �4 �$K�4 k5 �/Kp5 �5 �M�5 P6 D�LP6 7 h�M7 -7 ��M07 d7 �$Kp7 �7 �$K�7 98 �$K<8 �8 �$K�8 9 �$K9 A9 �$KP9 y9 �$K�9 �9 �$K�9 �: ��M�: *; �$K@; �; 4AK< K< �$KL< �< �$K�< �< �$K�< D= �$K\= �= ��M�= �= �M�= 0> ��M`> {> �$K�> �> �$K�> ? �$K? +? �$K�? ?@ �$K@@ �@ X�M�@ �@ 4�M�@ BA �MDA �A |�M�A GB �$K�B �B ��M�B �C ,�M�C $D ��M$D FE �$KHE XF �$K`F �F �$K�F �F �$KG �G �$K�G oI l�MpI �I �$K�I �I �$K@J �J �%K�J �J �$K�J +K �$K0K fK �$KpK �L `YK�L ?M �$K@M PN \	LPN �N �%K�N �O �%K�O ZP 7K�P CQ H&K`Q �Q �$K�Q �R �PK�R �S �L�S �S �$K�S &T ��M0T dT �$K�T �T �%K�T U �$KU RU �$K`V �V �$K�V �V �$K�V ;W �$K<W SX (�MTX �X �1K�X /Y �1K0Y �Y 4AK�Y jZ \�MlZ �Z �%K�Z l[ <�Ml[ �[ 4AK�[ �\ t�M�\ ] �$K] K] �%KL] �] ,�M�] ^ ��M�^ �^ �$K�^ �_ H&K�_ �c ��Md zg ��M|g 8i �fL8i k ��Mk �l ��K�l Kn �?KPn �o @�M�o np (�Mpp q �/Kq �q (�M�q �r �%K�r �s �5K�s �t ��M�t )u �&K<u �u X�M�u �u �$K�u �u �$K�u �v \�K�v �v �$K�v `w ��M`w �w  �M�w x ��Mx [x �%K\x ~y �5K�y �y �$K�y z �%Kz Jz �$KLz { ��M<{ {| ��K|| �} ��M�} �~ ��M�~ � ��Mȁ � �$K� W� �$KX� j� �$Kl� ~� �$K�� �� �$K�� �� �$K�� 6� �`K8� �� ��M� ׄ @�M� � H�M� � T�M� � X�M � �� d�M�� � h�M$� S� �$Kx� ދ �$K� � �$K� � �$K� � �$KP� z� �$K|� �� ��K�� � ��M � \� �$K\� �� �$K��  � ��M � X� �5KX� q� �M�� "� ��M$� ҕ ��Mԕ Η �AKЗ � �$K� �� ��K�� $� �$K$� 8� �$K8� J� �$KL� e� �$Kh� x� �$K�� �� �$K�� � �$K� 	� �$K� ˛ �%K̛ � �$K� c� �$Kd� �� �$K�� �� �$K�� ٜ �$K� #� �$K4� �� �$K�� �� �5K�� �� ��M�� �� ��M�� H�  �MH� 	� L�M� ݤ ��M� �� ��M�� �� x�M�� �� ��M�� ɱ ��M̱ �� ��M�� �� �5K�� >� �5K@� w� 3Lx� � ��M� �� �$K`� �� �$K�� �� ��M�� � �M�� � �$K� @� �$K@� �� @�M�� �� ��M�� J� �$KL� 9� l�M<� �� �$K�� N� (�MP� � �$K� X� �$KX� �� �$K�� 
� �%K� n� �$Kp� � \�K� �� �%K�� _� �%K`� �� �$K�� 
� �%K� �� 0BL�� @� 0BL�� �� �$K�� 	� �$K� 5� �$K8� a� �$Kd� �� �$K�� �� �$K�� � �$K� o� �$Kp� �� �$K�� � �'K� �� d�M�� � <�M� �� �`K�� �� �L�� �� �%K�� � ��M� � �L� E� ��MH� �� �K�� � ��M � 1� ��M4� � H�M� b!��M�!�!��M�!�!�L�!�!�<M�!�!�M�!�!��M�!�!��M
!)
!�$K0
!e
!�$K�
!�
!\	L�
!v!�%Kx!�!�'KP!�!\M�!J!�<ML!!�<M!�!��M�!�!��M�!�!�$K�!�$!��M�$!�%!��M�%!f&!4AK�&!
'!�$K'!['!�$K�'!y(!�%K|(!�(!�$K�(!0)!�$K0)!�+!0M�+!5.!�M8.!�2!,�M�2!4!L�M@4!�7!�$K�7!9!�$K9!}9!�'K�9!�9!�$K�9!D;!�MD;!�;!�'K�;!�=!�M�=!�@!��M�@!�@!�$K�@!6A!�$KDA!VB!\	LdB!�B!�$K�B!�C!�M�C!�C!0�M�C!�C!4�MD!D!8�M<D!nD!�$K�D!�D!�$K�D!,F!`�L,F!qF!�$KtF!�F!�$K�F!G!�$KG!UG!�$KXG!�G!�%K�G!H!@�M H!JH!H�MPH!vH!P�M�H!�H!X�M�H!#J!`�M,J!�J!�1K�J!�J!dK�J!+K!dK,K!sK!�$KtK!lL!��M�L!4M!4�K@M!Q!�1KQ!�R!��M�R!�T!��M�T!BU!�$KDU!�U!��L�U!YV!��L\V!�V!��M�V!oW!�%K�W!�X!��K�X!�Z!�1K�Z!�\!ȵM�\!,]!�$K,]!�]!�$K�]!E_!�$KH_!�a!��M$b!9d!\`K<d!�d!�$K�d!�f!��L�f!�g!�%K�g!2h!�$K4h!	i!��Mi!�i!��M�i!j!�'Kj!Oj!�$K�j!�k!�5K l!{l!�$K|l!�l!�$K�l!_m!�$K`m!�m!�M�m!^n!4�M`n!@o!X�M@o!�o!��M�o!�o!,�M�o!Zp!�%K\p!�p!�$K�p!q!dKq![q!�$K\q!dr!��Mdr!�r!�$K�r!�s!��M�s!dv!d�Mdv!�v!dK�v!)w!�M,w!aw!�$Kdw!�w!<�M�w!�x!�$K�x!ky!�%K|y!�y!l�M�y! z!�%K z!�{!l�M�{!M|!d�MP|!�|!��M�|!p}!�%Kp}!~!��M~!2!�$K4!�!��M�!�!��M0�!ہ!��M܁!A�!��MP�!��!��M@�!��!�$K��!��!�$K��!Ѕ!�$K�!�!�M�!��!�M��!�!�$K�!2�!dKP�!��!8�M��!.�!,�M0�!�!<�M�!+�!�$K,�!��!�$KГ!�!��M�!>�!H�M@�!j�!�$Kp�!��!�$K�!�!�$K4�!O�!�$K`�!��!x�M��!>�!`�M@�!��!X�M��!��!�$K��!'�!4AK(�!��!4AK��!�!�1K�!G�!�$KH�!z�!�$K|�!��!�$K��!�!��M�!j�!�$Kl�!%�!��M0�!\�!��M\�!�!�M�!Y�!�M\�!�!�%K�!��!(�M��!V�!8�Mp�!��!7K��!��!�$K�!4�!H�M<�!k�!�$Kl�!��!h�M��!6�!�$K8�!p�!��Mp�!1�!��M@�!��!��M��!F�!�$KH�!��!�$K��!��!�?K��!��!�$K��!z�!��M|�!��!�$K��!��!<�M��!1�!)K4�!N�!�$KP�!j�!�$Kl�!��!�$K��!��!��M��!#�! �M$�!��!�5K��!��!��L��!6�!��M`�!��!��M��!��!�$K�!�!�$K�!M�!�$K`�!��!�$K��!��!�$K�!$�!�$K$�!4�!�$K4�!i�!�$Kl�!|�!�$K|�!��!�$K��!�!�$K �!�!H�M�!��!��M��!��!�$K��!'�!�$K(�!Q�!dKT�!}�!dK��!
�!P�M<�!{�!\�M|�!��!��M��!�!��M�!c�!��Md�!1�!T�M@�!`�!$7K`�!U�!p?KX�!��!�$K��!�!�$K�!��!�%K��!�!�$K��!L�!�%KP�!��!�$K��!��!�$K��!��!��M��!S�!�MT�!{�!�$K|�!��!0�M��!��!�$K��!�!�$K�!��!(�M`�!}�!�$K��!��!D�M��!�!�$K�!-�!�$K0�!��!�$K��!�!$7K�!F�!�$KH�!�!�`K�!l�!l�Ml�!��!dK��!��!�$K��!�!�$K�!U"��MX"3"�`K4""��M"K"�PKL"~"��M�"�"|�M�"�"�$K�"�"�$K�"�"��M�"
"��M"z"��M|"�"��M�"6"h�M8"�"�$K�"2"�$K@"n"`�Mp""�1K"z"<�M|":"�$K<"�"��M�"!"�M$"�"��M�"�"�fL�"J"<�ML"� "�M� "�""t�M�""�""dK�""q#"�/Kt#"~$",�M�$"%"�/K%"�%"\�K�%"q&"$�Mt&"�'"�5K�'"�'"�M�'"("�$K("e("D�Lh("")"�%K$)"K*"@�ML*"+"@�M�+"Q,"x�MT,"*."`�L,."z."�$K|."�."�$K�."M/"h�MP/"�/"�$K�/"�/"�$K�/"&0"�$K(0"y0"�$K|0"�0"�1K1"a1"�$Kd1"�1"�%K�1"2"�$K 2"�2"�1K�2"l3"�`Kl3"�3"�$K�3"�3"�$K�3"F5"�$KP5"�5"`�M�5"�5"�$K�5"�6"��M�6"�6"�$K�6"97"��M<7"�7"��M�7"�8"�$K�8"�8"��M9"�9"�$K:"�:"�M�:";"��M ;"�?"`�M�?"�@"��M�@"
B"��MB"�C"��M�C"kD"0�MlD"FG"�MHG"�H"\�K�H"I"��MI"7J"�%K8J"�K"�M�K"�L"��M�M"xN"�MxN"�N"�$K�N"�O"�%K�O"�Q"�]L�Q"T"��KT"�U"t�M�U"�V"$�M�V"*["T�M,["\"l�M\"�\"�%K�\".]"�$KT^"_"T&K_"�_"�%K�_"`"��M`"�`"��M�`"Wa"��MXa"�a"�$K�a"Cb"H&KDb"Lc"��M�c"�c"�$K�c"	d"�$Kd"Wd"�%KXd"mg"��Mpg"h"��Lh"j"�Mj";k"��M<k"Zk"dK\k"�n"$�M�n"�o"\�K�o")q"��M,q"�r"`�M�r"�t"��M�t"�t"�M�t"�t"`�Mu"�w"��M�w"Fz"�%KHz"�z"0�M�z"|"T�M |"�}"D�M�}"F~"d�M�~"�~"�$K�~"�"pNKD�"��"�$K��"�"�PK �")�"`�M,�"��"�fL��"ˆ"�M̈"�"x�M�"��"�M��"%�"�%K(�"��"�$K��"��"��M��"^�"��M`�"�"��M �"��"�$K��"��"�$K��"U�"��MX�"͔"�/K�"�"�$K�"�"�PK�"��"�$K��"ܖ"�$K�"l�"�%Kl�"��"�$K��"�"�$K,�"b�"$7K��"4�"�$K4�"��",�M��"�"�$K �"0�"P�Mx�"��"�'K��"*�"X�M,�"ߞ"�$K�"ʟ"�$K̟"��"p�M�"_�"�$K`�"j�"��Mp�"��"(MK��"�"$7K�"��"��K��"P�"�%KP�"��"(MK��"��"��M��"<�"�%K<�"��"�$K��"��"�$K0�"��"��M��"��"�$K��"@�"�$K@�"*�"��M0�"�"��M�"��"�&K��"K�"0BLL�"��"�?K��"K�"t�MP�"8�"T�M8�"�"�$K�"��"�$K��"��"�M��"��"8�MH�"��"�&K��"��"�&K��"#�"��L$�"��"��M��"I�"�$KL�"��"��M��"D�"��Ml�"+�"�5KT�"��"t�M��"N�"\�KP�"��"�$K��"��"�1K��"k�"��Ll�"��"��M��"��"�%K��"Y�"�%K��"��"7K|�"J�"��L��"��"�$K��"8�"��M��"��"�$K��"��"�/K��"��"�M��"s�"�$Kt�"7�"D�M8�"��"��M��"��"p�M��"��"ȵM��"��"$�L��"��"dK��"��"$�M��"��"��M��"��"��M��"�"��M�"=�"��M@�"�"4�K�"��"�$K�"\�"4AK`�"w�"�$Kx�"T�"��MT�"t�"�$Kt�"��"�$K��"#�$K�#�#��M�#`#��L`#�#�'K�#�#dK,#~#�%K�#�#�$K�#Z	#7K\	#}	#�$K�	#%
#�$K(
#W
#�$KX
#6#�M8#�#�?K�#+
#�`K,
#�
#�$K�
#�
#dK�
#V#��Md#�#��M�#�#�$K�#v#\�M�#�#��M�#P#�%KP#q#�$Kt#I#$�ML#�#��M�#7#�$K@#O#��MP#�#��M�#n#H�M�###�M,#�#0�M#4#�$K@#g#�$K�#�#�$K�#�#�$K�#�#�$K@#�#�%K�##t�M`#�#��M�#e#�5Kh#�#�5K�##��M�#�#�M�#�#��M#4#l%K@#p#l%K�#�#&K�##&K.#^#l%K�#�#&K #D #l%KD #a #&K�!#�!#&KR"#z"#l%Kz"#�"#l%K##W##l%K{##�##&K�##�##&K�##�##&K�##�##&K�##$#&K$#,$#&K,$#I$#&KI$#f$#&Kf$#�$#&K�$#�$#&K�$#%#&K�%#�%#&K'#v'#�4K�'#�'#&K�'#�'#&K�'#�'#&K*(#H(#l%KH(#x(#l%K�(#�(#&K�(#�(#&K�(#)#&Ke)#�)#&K�)#�)#&K�)#�)#&Kp-#�-#&K�-#
.#l%K
.#'.#&K3.#\.#&K\.#�.#&K�.#�.#&K�.#�.#&K�.#/#&K/#5/#&Ka0#~0#&KJ1#w1#&K�1#2#&K�2#�2#&K�2#�2#&K�2#�2#&Ko3#�3#&K=4#y4#l%K95#V5#&K�5#6#&Kx6#�6#l%K�6#7#&K7#/7#&K/7#L7#&KL7#i7#&Ki7#�7#&K�7#%8#�4K�8#9#&K�9#�9#&K@>#m>#&Km>#�>#&K�>#�>#&KC?#m?#&Ky?#�?#&KB@#_@#&K�@#�@#&KA#5A#&K�A#�A#l%K�A#1B#l%K1B#vB#l%KvB#�B#l%K�B#+C#�K+C#�C#�K�C#eD#(�KeD#�D#4�K�D#�E#(�K�E#�E#�K�E#�F#(�K�F#@G#�zK@G#�G#8K�G#zH#\KzH#�H#&K�H#�H#&K�H#�H#&KEI#eI#&KeI#�I#&K�I#�I#&K�I#�I#&K�I#J#&KJ#/J#&K/J#XJ#&KXJ#�J#&K�J#�J#&K�J#�J#&KK#0K#l%K0K#`K#l%K�K#�K#�|K�K#"L#�zK"L#M#�zKM#)M#&K)M#�M#<zK�M#�M#&K�M#�M#&K�M#�M#&KaN#~N#&K~N#�N#&K�N#�N#&K�N#�N#&K�P#�P#&K�P#�P#&K;T#XT#&K/U#LU#&K�U#�U#&K�U#�U#&K�V#W#&K�W#�W#&KKX#hX#&K�Y#�Y#&K�Y#	Z#&K	Z#/Z#&K�Z#�Z#&K�Z#�Z#&K�Z#�Z#&K[#'[#&K'[#R[#l%KR[#o[#&Ko[#�[#&K�[#�[#&K�[#�[#&K�[#	\#l%Ki\#�\#&K�\#�\#&K�\#]#&Kl]#�]#&K�]#�]#&K�^#_#&K�a#�a#&K�b#�b#&K�b#*c#l%K*c#Gc#&K�c#�c#&KYd#�d#&K�d#�d#&K�d#�d#&K�d#�d#&K�d##e#&K#e#Le#&KLe#ue#&Kue#�e#&K�e#�e#&Kf#Ff#&KFf#lf#&Klf#�f#&K�f#�f#&K�f#�f#&K8g#hg#l%Ktg#�g#&K.h#Nh#&KNh#nh#&Knh#�h#l%Ki#2i#&KJi#wi#&K�i#�i#&K�i#j#&Kj#.j#&K:j#`j#&K�k#�k#&K�k#�k#&Kl#+l#&K7l#xl#l%K,m#Im#&Kqp#�p#l%K�p#�p#&K�p#�s#��K�s#�s#&Kt#�t#l%K�t#
u#�L
u#�u#�L�u#�u#(L�u#v#�LWv#tv#&Kw#�w#�L�w#�x#�L�x#�x#&K�x#�x#&Ky#Dy#�|K�z#�z#&Ka|#�|#&K�|#�|#&K�|#�|#&K�|#}#&K}#;}#&K;}#a}#&Ka}#�}#&K�}#�}#&K�}#�}#&K�}#~#&KG~#w~#l%K�~#�~#&K�~#"#&Kj#�#l%K�#�#&K2�#O�#&K��#��#&K��#݀#&K1�#N�#&K��#Ԃ#l%KԂ#�#l%K�#L�#l%Kp�#��#&K��#߃#&K��#ڄ#&KV�#��#l%K…#߅#&K�#A�#&KA�#g�#&Kg�#��#&K͆#�#&K�#2�#l%K2�#[�#&K��#Ԉ#&KԈ#��#&K��#$�#&K$�#M�#&K��#��#&Kى#��#&KŊ#�#&K�#�#&K<�#b�#&Kb�#��#&K��#�#l%K�#
�#&K=�#]�#&K��#Ҍ#l%KҌ#��#&K�#4�#&K4�#]�#&K��#�#&K�#;�#&KS�#|�#&K|�#��#&K��#ڎ#&K^�#{�#&K{�#��#&K��#ʏ#&Kʏ#�#&K�#�#&Kd�#��#&K��#��#&K��#�#&KB�#_�#&K�#��#&K�#�#&K&�#S�#&KS�#|�#&K|�#��#&K��#̒#&K �#M�#&KY�#v�#&K��#��#&Kӓ#�#&Kx�#��#&K��#��#l%K��#�#l%K�#
�#l%K
�#I�#l%KI�#y�#l%Ky�#��#l%K��#�#l%KΖ#��#l%K��#$�#&K`�#��#&K��#�#&K+�#U�#&K��#��#&K��#Ҙ#&K�#C�#&Kk�#��#&K�#a�#dLa�#��#l%Kؚ#7�#l%K[�#��#&K��#��#&K��#ӛ#&Kӛ#��#&Ki�#��#&KϜ#�#&K��#ٝ#&K�#�#&K�#7�#&K�#;�#&K;�#X�#&Kd�#��#&K��#ݟ#&K�#�#&K�#F�#dL��#ՠ#&K�#/�#dLw�#ӡ#l%Kӡ#�#l%K�#K�#l%KK�#��#l%K��#Ϣ#l%Kۢ#�#l%K�#;�#l%K;�#|�#l%K|�#��#l%K��#��#l%K^�#��#&K��#��#&K��#֤#&K�#?�#&K�#A�#&Kq�#��#&K��#ݦ#&K��#�#&K�#֧#8yL֧#��#pyL��#I�#�yLI�#��#�yL��#��#pyL��#�#dL�#�#&K,�#Y�#&K��#��#&K֫#�#&KW�#}�#&K}�#��#&Kʬ#�#&KG�#p�#&Kp�#��#&Kʭ#�#&Kc�#��#&Kׯ#�#&K|�#��#l%KͰ#��#&K�#�#&K�#G�#&K_�#|�#&K��#Բ#�4K��#,�#dL,�#`�#dLl�#��#&K��#��#&Kг#��#&K��#�#&K�#0�#&K0�#M�#&KY�#|�#dL|�#��#dL��#�#dLt�#��#&K��#��#l%K��#�#l%KL�#|�#l%K|�#��#l%K��#Ҷ#&KҶ#��#&K4�#]�#&K��#��#&K��#�#&KZ�#z�#&Kz�#��#&K��#�#&K��#(�#&K(�#R�#&Kj�#��#&K��#ɺ#&K�#�#&K�#`�#l%Kl�#��#&K�#A�#&KY�#��#&K��#��#&KǼ#�#&K�#-�#&K��#��#&K��#ǽ#&K߽#	�#&K�#6�#&K6�#S�#&K~�#��#&K��#Ծ#&KԾ#��#&K�#B�#&KB�#q�#&K}�#¿#l%K¿#�#l%K�#P�#�LP�#�#��L�#��#(L��#N�#��LN�#k�#&K��#�#&K�#��#&K�#J�#&KJ�#s�#&Ks�#��#&K�#J�#&KJ�#s�#&K'�#Q�#&KQ�#w�#&Kw�#��#&K��#��#&K9�#f�#&Kf�#��#&K��#��#&K��#��#&K��#�#&K�#V�#l%K��#�#&K&�#S�#&Kk�#��#&K��#	�#&K	�#6�#&K6�#c�#&Ko�#��#&K��#��#&K��#��#&K��#�#&K'�#D�#&KD�#m�#&K��#��#&K��#��#&K��#�#&K�#:�#&Kj�#��#&K��#��#&K��#��#&K��#�#&K�#J�#&KJ�#s�#&K��#��#&K��#"�#&K"�#R�#�4KR�#{�#&K{�#��#&K��#��#&K�#.�#&K.�#[�#&Kg�#��#&K��#��#&K��#�#&K#�#P�#&KP�#��#�4K��#��#&K��#�#&K*�#W�#&KW�#��#�4K��#��#&K��#��#&K��#�#&K�#>�#&K>�#d�#&Kd�#��#&K��#��#&K��#��#&K��#	�#&K	�#2�#&KJ�#s�#&Ks�#��#&K��#��#&K��#��#&K��#�#&K�#)�#&KA�#n�#&Kn�#��#&K��#��#&K��#��#&K��#�#&K�#I�#&KU�#��#&K��#��#&K��#�#&K�#>�#&KJ�#w�#&Kw�#��#&K��#��#&K�#'�#&K?�#e�#&Ke�#��#&K��#��#l%K�#:�#&K:�#c�#&Kc�#��#&K��#��#&K��#��#&K��#$�#&K$�#M�#&KM�#v�#&Kv�#��#&K��#��#&K��#��#&K��#�#&Kk�#��#&K��#��#&K��#��#&K��#�#&K�#8�#&K8�#^�#&K^�#��#&K��#��#&K��#��#&K��#�#&K�#=�#&K=�#�#l%K��#��#l%KY�#��#&K��#��#&K��#�#&K�#>�#&K>�#[�#&K[�#��#&K��#��#&K��#��#&K��#��#&K��##�#&KN�#w�#&K��#��#&K��#��#&K��#�#&K�#H�#&KT�#��#&K��#��#&K��#�#&K�#-�#&K-�#S�#&K_�#��#&K��#��#&K��#��#&K��#�#&K(�#N�#&KN�#w�#&Kw�#��#&K��#��#&K��#��#&K��#�#&K�#<�#&K<�#e�#&Ke�#��#&K��#��#&K��#��#&K��#�#&K)�#V�#&KV�#�#&K�#��#&K��#��#&K��#�#&K�#=�#&K=�#j�#&Kj�#��#&K��#��#&K��#��#&K��#"�#&KR�#{�#&K��#��#&K��#��#&K��#�#&K�#G�#&KG�#t�#&K��#��#&K��#�#&K�#$�#&Ki�#��#&K��#��#&K��#�#&K�#-�#&K-�#Z�#&KZ�#��#&K��#��#&K��#��#&K��#�#&K�#K�#&KK�#t�#&Kt�#��#&K��#��#&K��#��#&K��#"�#&K"�#K�#&KK�#x�#&Kx�#��#&K��#�#&K�#5�#&K5�#^�#&K^�#��#&K��#��#&K��#��#&K��#�#&K�#/�#&K/�#\�#&K\�#��#&K��#��#&K��#��#&K��#	�#&K	�#6�#&K6�#_�#&K_�#��#&K��#��#&K��#��#&K*�#W�#&KW�#��#&K��#��#&K��#��#&K��#�#&K�#@�#&K<$i$&Ku$�$&K�$�$|�M!$N$&KN$w$&Kw$�$&K�$�$&K�$�$&K�$#$&K#$P$&KP$}$&K}$�$&K�$�$&K�$$&K$1$&K1$Z$&KZ$�$&K�$�$&K�$�$&K�$"$&K"$N$&KN$�$X�M�$�$<zK�$�$�M�$�$&K�$$&K$'$&K'$]$��M]$z$&K�$�$&K�$�$&K�$$&K$;$&K$:$&K:$W$&KW$}$&K�$�$&K�$�$l%K�$ $&K $S $&K_ $ $&K $� $&K� $� $&K� $� $&K	!$)!$&K�!$�!$&K�!$�!$&K�!$�!$&K"$)"$&KA"$i"$l%Ky"$�"$&K�"$�"$&K�"$�"$&K#$-#$&K-#$J#$&KV#$s#$&K�#$�#$&K�#$�#$&K0$$M$$&K�$$�$$&K�$$�$$&K%$%$&K%$;%$&K;%$X%$&K�%$�%$&K�%$&$l%K&$7&$l%Kg&$�&$�M�&$�'$�M�'$-($X�M-($M($��MP($p($&Kp($�($&K�($
)$X�M
)$<)$&K<)$�)$X�M�)$�)$&K�)$�)$&K�)$*$��M*$1*$��M=*$S*$&KS*$k*$&Kk*$�*$&K�*$�*$&K�*$�*$&K�*$�*$&K�*$�*$��M�*$+$&K+$!+$&K!+$L+$&KL+$b+$&Kb+$}+$&K}+$�+$&K�+$�+$&K�+$�+$&K�+$�+$&K�+$,$&K,$0,$&K0,$G,$&KG,$^,$&Kj,$�,$&K�,$�,$&K�,$�,$&K�,$-$h�M_-$�-$&K�-$�-$&K�-$�-$&K�-$�-$&K�-$�.$��M�.$�1$t�M�1$�1$&K�1$2$&K 2$S2$�$Kp2$�2$�$K�2$�2$�$K 3$S3$�$Kp3$�3$�$K�3$�3$�$K4$C4$�$K`4$�4$�$K�4$�4$�$K�4$95$�$KP5$�5$�$K�5$�5$�$K�5$#6$�$K@6$s6$�$K�6$�6$�$K�6$7$�$K07$c7$�$K�7$�7$�$K�7$8$�$K08$c8$�$Kp8$�8$�$K�8$�8$�$K9$C9$�$K`9$�9$�$K�9$�9$�$K:$3:$�$KP:$�:$�$K�:$�:$�$K�:$#;$�$K@;$s;$�$K�;$�;$�$K�;$<$�$K0<$c<$�$K�<$�<$�$K�<$=$�$K =$S=$�$Kp=$�=$�$K�=$�=$�$K>$C>$�$K`>$�>$�$K�>$�>$�$K?$3?$�$KP?$�?$�$K�?$�?$�$K�?$#@$�$K0@$�@$�$K�@$�@$�$K�@$#A$�$K@A$sA$�$K�A$�A$�$K�A$B$�$K0B$cB$�$K�B$�B$�$K�B$C$�$K C$SC$�$KpC$�C$�$K�C$�C$�$KD$CD$�$K`D$�D$�$K�D$�D$�$KE$3E$�$KPE$�E$�$K�G$�G$�$K K$[K$�$K N$oN$�$K�N$�N$�$K�N$KO$�$KPO$�O$�$K�O$�O$��MP$NP$��M�� �� �� �� ؅ � � � �� 0� @� �� P� � `� �� �� ^� [� �� W� d� t� �� T� �� h� �� �� `� p� �� P� �� �0�	H`�R}<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level='asInvoker' uiAccess='false' />
      </requestedPrivileges>
    </security>
  </trustInfo>
</assembly>
`$�����������Хإ������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȦЦئ������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȧЧا�������@�H�P�X�`�h��������������$������ �(�0�8�h�p�x���������������ة������� �����������ȫЫث������� �(�0�P�X�`�h�p�x�ȬЬج��������������������ȭЭح������� �(�0�8�@�H�P�X������ �(�0�8�x�������������������ȯЯد����$����� �(�0�8�@�H�P�X�`�h�p�x����������������� �(�0�8�@�H�P�X�`�p�x���������ȡСء������H�P�X�`�����������������ȢТآ�����X�`�h�p���������������ȣУأ������� �(�0�8�@�H�P�X�`�h�p�x�����������������ؤ������� �(�0�8�@�H�P�X�`�h�p�x�����������ȥХإ���(�0�8�@�H�P�X�`�h�p�����ȦЦئ����H�P�X�`�h�p�x�����������ȧЧا����8�@�H�P�X�`�h�p�x��������� �(�0�8�@�P�X�`�h�p�x���������ȪЪت������� �(�0���������ȫЫث������� �(�0�8�@�H�P�X�`�h�p�x�����������������Ьج������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȭЭح������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȮЮخ������� �(�0�x��������������������$(x�������������������ȢТ0�8�@�H�P�X�`�h�p�x�����Уأ���� �(�0�P�X�`�h�p�x�������������ȤФؤ������� �(�0�������������ȦX�`�h�p�x�������������������ȧЧا���8�@�H�P�X�`�h�p�x���������������ȩЩة������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȪЪت������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȫЫث������� �(�0�8�@�H�P�X�`�h�p�x�������������������X�`�h�p�x�����������ȭЭح �(�0�8�@�H�P�X�`�h�p�x�������������������ȮЮخ���� �(�0�8�@�P�X�`�h�p�x�������������������ȯЯد����$����� �@�H�P�X�`�h�p�x�����������������������ȤФؤ���X�`�h�p�x�����������������ȥХh�p�x�������������������ȦЦئ������ �(�0�X�`�h�p�x�������������������ȧЧا�������ب������� �(�0�8�@�H�P�X�`�h�p�x�������������������0�8�@�H�P�X�`�h�p�x�����������ȪЪت������� �(�0�8�@�H�P�X�`�������� �(�0�8�@�H�P�X�`�h�p�x�����������������ȭЭح���� �(�0�8�@�H�P�X�`�h�p�x�������������������Ȯ��%(���� �(�0�8�@�H�P�X�`�h�p�x�������������������ȠРؠ������� �(�0�8�@�H�P�X�`���������������ȡСء��� �(�0�8�@�H�P�X�`�h�p�x�������������������Ȣ��������ȤФؤ������� �(�0�8�@�H�P�`�h�p�x�������������������ȥХإ������� �(�0�8�@�H�P�X�`�h�p������� �(�0�8�@�H�P�X�h�p�x�������������������ȨШب������� �(�0�8�@�H�P�X�`�h�p�x���������ȩЩة�������(�0�8�@�H�P�X�`�h�p�x�������������������ȪЪت��(�0�8�@�H�P�X�`�h�p�������������������ȭЭح������� �(�0�8�@�H�P�X�`�h�p�x�������%�ȠРؠ������� �(�0�8�@�H�P�����`�h�p�x�آ���P�X�`�h�p�x�����������ȣУأ������ �(�0�8�@�H�P�X�`�h�p�x�������������������ȦЦئ������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȧЧا������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȨШب������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȩЩة������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȪЪت������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȫЫث������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȬЬج������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȭЭح������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȮЮخ������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȯЯد��� %����� �(�0�8�@�H�P�X�`�h�p�x�������������������ȠРؠ������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȡСء������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȢТآ������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȣУأ������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȤФؤ������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȥХإ������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȦЦئ������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȧЧا������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȨШب������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȩЩة������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȪЪت������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȫЫث������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȬЬج������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȭЭح������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȮЮخ������� �(�0�8�@�H�P�X�`�h�p�x�����������0%�X�`�h�p�x�������������������ȠРؠ���������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȣУ������ �(�0�8�@�h�p�x�������������������ȤФؤ���(�0�8�@�H�P�X�`�h�p�x���������������������������ȧЧا������� �(�0�8�@�H�P�X�`�h�p�x�����������������ȨШب����� �(�0�8�@�H�P�X�`�h�p�x�������������������ȩЩث������� �(�0�8�@�H�P�X�`�h�p�x�����ȬЬج���� �(�0�8�@�H�P�X�`�h�p�x���������@%t����ȨШب������� �(�0�8�@�P�X�`�h�p�x������������� �(�0�8�@�H�P�X�`�h�p�x���������������������P%����� �(�0�8�@�H�P�X�`�h�p�x�����������������ȠРؠ������� �(�0�8�@�H�P�X�`�h�p���������������ȣУأ������ �(�0�8�@�H�P�X�`�h�p�x�������������������ȤФؤ���P�X�`�h�p�x�������������������ȥХإ������� �(�0�8�@�P�X�`�h�p�x�������������������ȦЦئ������� �(�0�8�@�H�P�X�`�����������ȧЧا������� �(�0�8�@�H�P�X�`�H�P�X�`�h�p�x�����������������ȪЪت��@�H�P�X�`�h�p�x�������������������ȫЫث������� �(�0�8�@�H�P�X�`�h�p�`%�h�p�x�����������������`�h�p�x�������������������ȢТآ������� �(�0�8�@�H�P�X�`����� �(�0�8�@�H�P�X�`�h�p�x����������������������� �(�0�8�@�H�����������������ȧЧا������� �(�0�8�@�H�P�X�`�h�p�x���������x�������������������ȩЩة��������������ȭЭح������� �(�0�8�@�H�P�X�`�h�p�x�����������������(�0�8�@�H�P�X�`�h�p�x�����������������ȯЯد���p%�(�0�8�@�H�P�X�`�h�p�x�������������������ȠРؠ��h�p�x�������������������ȡСء������ �(�0�8�@�H�P�X�`�h�����������ȢТآ������� �(�0�8�@�H�P�X�`������� �(�0�8�@�H�P�X�`�h�p�x�����������������ȤФؤ������ �(�0�8�@�H�P�X�`�h�p�x���������ȦЦئ������� �(�0�8�@�H�P�X�`�h�p�x������������������� �(�0�8�@�H�P�X�`�h�x�������������������������� �(�0�8�@�H�P�X�`�h�p�x�����������ȪЪت������� �(�0�8�@�H�P�X�`�h�p�������������������ȫЫث������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȬЬج�����ح������� �H�P�X�`�h�p�x�������������������ȮЮخ������% ؠ������� �(�0�8�@�H�P�X�`�h�p�x�����������������ȡСء������� �(�0�8�@�H�P�آ������� �(�0�8���������� �(�Фؤ������ �(�0�8�@�H�P�X�������������������ȨШب������� �(�0�8�@�`�h�p�x�������������������ȩЩة������� �(�0�8�@�H�X�`�h�p�x�������������������ȪЪت������� �(�0�8�@�H�P�X�`�h�@�H�P�X�`�h�p�x�����������������ȬЬج������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȭЭ��������ȮЮخ�������(�0�8�@�H�P�X�`�h�p�x�������������������ȯЯد���%0H�P�X�`�h�p�x�����������������ȠРؠ������� �(�0�8�@�H�P�X�`�Сء�������(�0�8�@�H�P�X�`�h�p�x�������������������ȢТآ������� �(�0�8�����������ȥХإ����������������ȦЦئ������� �(�x�������������������ȧا������� �(�0�8�@�H�P�X�`�h�p�x���������� �(�0�8�@�H�P�X�`�������������������ȩЩة������� �(�0�8�@�H�P�X�`�h�p�x�������Ъت������� �(�0�8�@�`�h�ȬЬج������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȭЭح����� �(�0�8�@�H�P�X�`�p�x�����������������د����%����� �(�0�8�@�H�P�X�`�h�p�x��������������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȢТآ������ �(�0�8�@�H�P�X�`�h�p�x�������������������ȣУأ����h�p�x�������������������ȥХإ������ �(�0�8�@�H�P�X�`�h�p�x�������������������ȦЦئ�������� �(�0�8�@�H�P�X�`�p�x�������������ȫЫث������� �(�0�8�@�H�P�X�`�h�p�x����������������%�0�8�@�H�P�X�`�h�p�x�������������������ȡСء�����8�@�h�p���������آ�����0�8�X�`�x�������Уأ��8�@�h�p�������������8�@��%��� �(��� �(�0�8�@�H�P�X�`�h�p�x�������������������ȦЦئ������� �@�H�P�X�`�h�p�x�����������������ȨШب�����8�@�H�P�X�`�h�p�x�������������������ȩЩة���� �(�0�8�@�H�P�X�`�h�p�x�������������������Ъت�������@�H�P�X�`�h�p�x�������������������ȫЫث����X�`�h�p�x�������������������ȬЬج������ �(�0�8�@�H�P�X�`�h�p�x�������������������ȭЭ�%Xp�x�������������������ȡСء������ �(�0�8�@�H�P�X�`�h�p�x�������������������ȢТآ�������0�8�@�H�P�X�`�h�p�x�����������������ȣУأ������� �(�0�8�@�H�P�X�`�h�p�����������ȥХإ������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȦЦئ������������ �(�0�8�@�H�P�`�h�p�x�������������������� �(�0�8�@�H�P�X�`�h�p�x�������������ȪЪت������� �(�0�@�H�P�X�`�h�p�x����������� �(�0�8�@�H�P�X�`�h�p�x��������������� �(�0�8�@�H�P�X�`�h�p�x�����������������ȭЭح������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȮЮخ���%����� �(�0�8�@�H�P�X�`�h�x�������������������������� �(�0�8�@�H�P�X�`�h�p�x������������������ �(�0�8�@�H�P�X�`�h�p�x�����������������ȣУأ������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȤФؤ������� �0�8�@�H�P�X�`�h�p�x���������ȥХإ������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȦЦئ�������(�0�8�@�H�P�X�`�h�p�x�������������������ȧЧا������� �(�0�8�0�8�@�H�P�X�`�h�p�x�����������������ȪЪت���� �(�0�8�@�H�P�X�`�h�p�x�������������������ȫЫث������ �(�0�8�@�H�P�X�`�h�p�x�������������������ȬЬج������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȭЭح���ȯЯد����%���� �(�0�8�@�H�P�X�`�h�p�x�������������������ȠРؠ������� �(�0�8�@�H�P�X�`�h�����������������ȢТآ������� �(�0�8�@�H�P�0�8�@�H�P�X�`�h�p�x�������������������ȤФؤ������� �(�0�8�@�H�P�X�`�h�p�x�Хإ������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȦЦئ������� �������������������ȧЧا������ �(�0�8�@�H�P�X�`�h�p�x�������������������ȨШب����`�h�p�x�������������������ȩЩة������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȪЪت0�8�@�H�P�X�`�h�p�x�������������������ȫЫث������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȬЬج�����`�h�p�x�������������������ȭЭح������� �(�0�8�@�H�P�X�`�h���ȮЮخ������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȯЯد���&l���� �(�0�8�@�H�������������ȠРؠ������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȡСء��8�@�H�P�X�`�h�p�x���`�h�p�x�������������������ȤФؤ������� �(�0�8�@�H�P�X�`�h�p�x��� �(�0�8�@�H�P�X�`�h�x�������������������ȦЦئ��� �(�0�8�@�H�P�X�`�h�p�x�������������������ȧЧا������� �(�x������������������� �(�0�8�@���ȩЩة������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȪЪت������� �����������X�`�h�p�x�������������������ȬЬج������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȭ������ �(�0�8�@�H�P�X�`�h�p�x�������������������ȯ&H� �(�0�8�@�H������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȡСء����� �(�0�8�@�H�P�X�������� �H�P�X�`�h�p�x�������������������ȤФؤ������� �(�0�8�@�H�P�X�`��� �(�0�8�@�x���������������ȦЦئ�������(�0�8�@�H�P�X�`�h�p�Чا������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȨШب������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȩЩة������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȪЪت���H�P�X�`�h�p�x�������������������ث������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȬЬ(�0�8�@�H�P�X� &8����(�0�8�@�H�����������ȪЪت������� �(�0�8�@�H�P�X�`�h�p�x����������������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȬЬج������� �(�0�8�@�H�P�X�`�h�p�x���������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȮЮخ������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȯ0&�0�8�@�H�P�X�`�h�p�x�������������������ȠРؠ������� �(�0�8�@�H���������ȡСء������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȢТآ������� �(�0�8�@�H�P�X�����ȣУأ������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȤФؤ���H�P�X�`�h�p�x�������������������ȥХإ������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȦЦئ������� �(�0�8�@�����������ȧЧ �(�0���������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȬЬج������� �������������������ȭЭح������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȮЮخ���H�P�X�`�h�p�x�������������������ȯЯد���@&����� �(�0�8�@�H�P�X�`�h�p�x�����ؠ������� �(�0�8�@�X�`�h�p�x�������������������ȡСء������� �(�0�8�@�H�P�X�`�����ȢТآ������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȣУأ������� �(�0�8�@�H�P�X�`�h�p�x�������������������Ȥ����������ȥХإ���0�8�@�H�P�X�`�h�p�x�������������������ȦЦئ������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȧЧا������� �(�0�8�@�H�P�X�`�h�����ȨШب������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȩЩة������� �(�0�����������������ȪЪت�x������ �(�0�8�@�H�P�X�`�h�p�x�������������������ȮЮخ������� �@�H�P�X�`�h�p�x�ȯЯد���P&h���������������ȣУ������ �(�0�8�@�H�P�X�`�h�p�x�������������������ȤФؤ����X�`�h�p�x�������������������ȥХإ������� �(�0�8�@�H�P�X�`�h�p�x������������������� �(�0�8�@�H�P�X�`�h�p�x�����ا������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȨШب�������������������������ȩЩة�詐�������������ȪЪت������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȫЫث�@�H�P�X�`�h�p�x�������������������ȬЬج������� �(�0�8�@�H�P�X�������ȭЭح������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȮЮخ������� �(�������������ȯЯد���`&���� �(�0�8�@�H�P�X�`�h�p�x�������������������ȠРؠ������p�x�������������������ȡСء������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȢТآ������h�p�x�������������������ȣУأ������� �(�0�8�@�H�P�X�`�h�p�x������������������������ �(�0�8�@�H�P�X�`�h�p�x�������������������ȦЦئ������� �x�������������������ȧЧا������� �(�0�8�@�H�P�X�`�h�p�x������������ �(�0�8�@�H�P�X�`�h�p�x�������������������ȩЩة������� �(�0�8�@�H�P�X�`�h�p�x�������������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȫЫث������� �x�������������������ȬЬج������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȭ8�@�H�P�X�`�h�p�x�������������������ȮЮخ������� �(�0�8�@�H�P�X�`�h�p�x���������������p&��� �(�0�8�@�H�P�X�`�h�p�x�������������������ȠРؠ������� �(�0�8�@�H�P�X�`�h�p�x�����ء������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȢТآ������� �(�0�8�@�H�P�������ȣУأ������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȤФؤx�������������������ȥХإ������� �(�0�8�@�H�P�X�`�h�p�x���������������ȦЦئ������(�0�8�@�H�P�X�`�h�p�x�������������ȧЧا�������������ȫЫث������� �(�0�8�@�H�P�X�`�h�p�x�������������ȬЬج����� �(�0�8�@�H�P�X�������������������ȭЭ����� �(�0�8�@�`�h�p�x���������������������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȯЯد����&d���� �(�0�8�@�H�P�X�`�h�p�x�������������ȠРؠ����� �(�0�8�@�H�P�X�`�h�p�x�������������������ȡСء����(�0�8�@�H�P�X�`�h�p�x�������������������ȢТآ���� �(�0�8�@�H�P�X�`�h�p�x�������������������ȣУأ����� �(�0�8�@�H�P�X�`�h�p�x�������������������ȤФؤ������ �(�0�8�@�H�P�X�`�h�p�x�������������������ȥХ����� �(�0�8�@�H�P�X�`�h�p�x�������������������������� �(�0�X�`�h�p�x�������������ا������� �(�P�X�`�h�p�x�������������������ȨШب������� �(�0�8�@�H�P�X�`�h�p�x���������������ȩЩة������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȪЪت�������x�������������������ȫЫث���� �(�0�8�@�H�P�X�`�h�p�x���������ȬЬج������� �H�P�X�`�h�p�x������������������������ �(�0�8�@�H�P�������������������ȮЮخ���0�8�@�H�P�X�`�h�p�x�����������ȯЯد����&<���� �(�0�8�`�h�p�x�������������������ȠР���� �(�0�8�@�H�P�X�`�h�p�����������ȡСء������@�H�P�X�`�h�p�x���������������Тآ������� �(�0�8�@�h�p�x�������������������ȣУأ��� �(�0�8�@�H�P�X�`�h�p�x�����������ȤФؤ������H�P�X�`�h�p�x����������������������� �(�0�8�@�H�P�X�����������������ȦЦئ���0�8�@�H�P�X�`�h�p�x�����������Чا������� �(�0�8�@�p�x�������������������ȨШب�� �(�0�8�@�H�P�X�`�h�p�x�������ȩЩة������� �(�0�h�p�x�������������������ȪЪت���� �(�0�8�@�H�P�X�`�h�p�x�������������������ȫЫث������� �(�0�8�@�H�P�X�`�����������������ȬЬج���(�0�8�@�H�P�X�`�h�p�x�����������ȭЭح������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȮЮخ������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȯЯد����&����� �(�0�8�@�H�P�X�`�h�p�x�������������������ȠРؠ������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȡСء������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȢТآ������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȣУ���� �(�0�8�@�H�P�X�`�h�p�x�������������������ȤФؤ������� �H�P�X�`�h�p�x�������������Хإ������� �(�0�X�`�h�p�x������������������������ �(�0�8�@�h�p�x�������������������ȧЧا������� �(�����������ȨШب�����&����x����������� �(�0�`�h�p�x�������������������ȨШب������� �(�0�8�@�`�h�p�x������������������������ �(�0�8�@�H�P�X�`�h�p�x�������������������Ȫ������ �(�0�P�X�`�h�p�x�������������������ȫЫث����� �(�0�8�@�H�P�X�`�h�p�x�������������������ȬЬج����(�0�8�@�H�P�X�`�h�p�x�����������ȭЭح������@�H�P�X�`�h�p�x�������������������ȮЮخ�����@�H�P�X�`�h�p�x�����������Яد����&@���� �(�0�X�`�h�p�x������������������������ �(�0�8�@�h�p�x�������������������ȡ����� �(�0�8�@�H�P�������������������ȢТآ��� �(�0�8�@�H�P�X�`�h�p�����������ȣУأ����0�8�@�H�P�X�`�h�p�x�����������ȤФؤ�������H�P�X�`�h�p�x�������������Хإ������� �(�0�`�h�p�x�������������������ȦЦئ������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȧЧا������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȨШب������� �(�0�8�@�H�P�X�`�h�p�x������������������������ �(�0�8�@�H�P�X�`�h�p�x�������������������ȪЪت��� �(�0�8�@�H�P�X�`�h�p�x�������������������ȫЫث������8�@�H�P�X�ȬЬج������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȭЭح��� �(�0�8�@�H�P�X�`�h�p�x�������������������ȮЮخ���0�8�@�H�P�X�`�h�p�x���������������&����� �(�0�8�@�H�P�������������������ȠРؠ������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȡСء������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȢТآ������� �(�0�8�@�H�P�X�`�h�p�x�������������ȣУأ������� �(�0�8�@�H�P�X�`�h�p�x�������������ȤФؤ���� �(�0�8�@�H�P�X�`�h�p�x�������������������ȥХإ�������(�0�8�@�H�P�X�`�h�p�x�������������ȦЦئ���� �(�0�8�@�H�P�X�`�����������������ȧЧا��� �(�0�8�@�H�P�X���������������ȨШب���� �(�0�8�@�H�P�X�`�h�p�x�������������������ȩЩة������� �(�0�8�@�H�P�X�`�h�p�x�����������������ت������� �(�0�8�@�H�P�X�`�h�p�x�������������ȫЫث����8�@�H�P�X�`�h�p�x�������ȬЬج������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȭЭح������ �(�0�8�@�H�P�X�`�h�p�x�������������������ȮЮخ����� �(�0�8�@�H�h�p�x�������������������ȯЯد����&d���� �(�0�8�@�p�x���������������������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȡСء������ �(�0�8�@�H�P�X�`�x�������������������ȢТآ������� �(�0�8�@�H�`�h�p�x���������������Уأ������� �H�P�X�`�h�p�x�����������ȤФؤ������0�8�@�H�P�X�`�h�p�x�������������ȥХإ���� �(�0�8�@�H�P�X�`�h���������������ȦЦئ��� �(�0�8�@�H�P�X�`�����������������ȧЧا������ �(�0�8�@�H�P�X�`�h�p�x�������������������ȨШب������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȩЩة������� �(�0�8�@�H�P�X�`�����������������ȪЪت���� �(�0�8�@�H�P�X�`�h�p�x�������������������ȫЫث����� �(�0�8�@�H�P�X�`�h�p�x�������������ȬЬج����(�0�8�@�H�P�X�`�h�p�x�����������ȭЭح������8�@�H�P�X�`�h�p�x���������ȮЮخ������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȯЯد����&� �(�0�8�@�H�P�X�`�h�p�x���������������ȠРؠ����� �(�0�8�@�H�P�X�`�h�p�x�������������������ȡСء������8�@�H�P�X�`�h�p�x�������������������ȢТآ������� �(�0�H�P�X�`�h�p�x�������������������ȣУأ������� �(�0�8�@�H�P�X�`�h�p�x�������������������Ȥ������� �(�0�H�P�X�`�h�p�x���������������ȥХإ����0�8�@�H�P�X�`�h�p�x�������������������ȦЦئ������� �(�0�8�@�H�P�X�`�h�p�x�����������ȧЧا������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȨШب������'��� �(� �(�0�8�@�H�P�X�`�`�h�p�x������������������� �(�0�X�`�h�p�x� �(�0�8�@�h�p�x�������������������ȦЦئ����� �(�0�8�@�H�P�X�`���ȪЪت������� �(�0�0�8�@�H�P�X�`�h�p�x���������������� �(�0�8�@�H�P�X�`���������������ȯЯد���'h�������������ȠРؠ�����X�`�h�p�x�������������������ȡ������ȣУ���� �(�0�8�@�H����� �@�H�P�X�`�����������Цئ������� �(�0�8�@�������������ȨШ��ȩЩة�@�H�P�X�`�x�������������ȪЪتX�`�h�p�x���������������������`�h�p�x�������������ȭЭح������� �(�����������������ȮЮ8�@�H�P�X�`�h�p�x���������ȯЯ��� '(���������������(�0�8�@�H�0F|����ȤФؤ������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȥХإ������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȦЦئ������� �(�0�8�@�H�P�X�`�h�p�x���������������ȧЧا����� �(�0�����ȨШب �(�0�8�@�����������Щة��� �(�0�8�@�H�P�X�`�h���������ȪЪh�x���������ȭح����(�8�H�X�h�x���������Ȯخ����(�8�H�X�h�x���������ȯد��@F���(�8�H�X�h�x���������Ƞؠ����(�8�H�X�h�x���������ȡء����(�8�����0�8�@�H�P�X�`�h�p�x�������������������ȩЩة���� �(�0�8�@�H�`�h�p�x�������������������ȪPF���Ƞؠ����(�8�H�X�h�x���������ȡء����(�8�H�X�h�x���������Ȣآ����(�8�H�X�h�x���������ȣأ����(�8�H�X�h�x���������Ȥؤ����(�8�H�X�h�x���������ȥإ����(�8�H�X�h�x���������Ȧئ����(�8�H�X�h�x���������ȧا����(�8�H�X�h�x���������Ȩب����(�8�H�X�h�x���������ȩة����(�8�H�X�h�x���������Ȫت����(�8�H�X�h�x���������ȫث����(�8�H�X�h�x���������Ȭج����(�8�H�X�h�x���������ȭح����(�8�H�X�h�x���������Ȯخ���� �0�@�P�`�p�����������Я��`F��� �0�@�P�`�p�����������Р���� �0�@�P�`�p�����������С���� �0�@�P�`�p�����������Т���� �0�@�P�`�p�����������У���� �0�@�P�`�p�����������Ф���� �0�@�P�`�p�����������Х���� �0�@�P�`�p�����������Ц���� �0�@�P�`�p�����������Ч���� �0�@�P�`�p�����������Ш���� �0�@�P�`�p�����������Щ���� �0�@�P�`�p�����������Ъ���� �0�@�P�`�p�����������Ы���� �0�@�P�`�p�����������Ь���� ��F�X�`�p�x�������������@�H�P�X�`�h�p�x�������������������ȥХإ������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȦЦئ���(�0�8�@�H�P�X�`�h�p�x�������������������ȧЧا������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȨШب������� �(�0�8�@�H�P�X�`�h�p�x�������������ة������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȪЪت�������(�0�8�@�H�P�X�`�h�p�x�������������������ȫЫث������� �(�0�8�@�H�P�X�`�h�p�������ȬЬج����������@�H�P�X�`�h�p�x��������F0��ȠРؠ������� �(�@�H�P�X�`�h�p�x�������������������ȡСء��h�p�x���������������H�P�X�`�h�p�x�������������������ȥХإ������� �(�0�8�@�H�P�X�p�x�������������������ȦЦئ������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȧЧا������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȨШب������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȩЩة������� �(�0�8�@�H�P�X�`�h���������������ت������� ���������������P�X�`�����������Э���� �0�@�P�`�p�����������Ю���� �0�@�P�`�p�����������Я���F��� �0�@�P�`�p�����������Р���� �0�@�P�`�p�����������С���� �0�@�P�`�p�����������Т���� �0�@�P�`�p�����������У���� �0�@�P�`�p�X�`�h�p�x�������������������ȯЯد����F ����0�@�P�`�p�x����Fdp�����������������Ȥؤ������(�8�H�P�X�`�h���������Ȧئ����(�8�H�X�h�x���������ȧا����(�8�H� �(�0�8�@�H�P�X�`�h�p�x�������������������������ȪЪت�������ȫЫث������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȬЬج������ �(�0�8�@�H�P�X�`�h�p�x�������������������ȭЭح������� �(�0�8�@�H�P�X�`�h�p�x��F00�8�@�H�P�X�`�h�p�x�������������������ȢG�`�h�p�x�P�`�p�����������Ш���� �0�@�P�`�p�����������Щ���� �0�@�P�`�p�����������Ъ���� �0�@�P�`�p�����������Ы���� �0�@�P�p�����������Ь���� �0�@�P�`�p�����������Э GH�X�h�x���������Ȩب����(�8�H�X�h�x���������ȩة����(�8�H�X�h�x���������Ȫت����(�8�H�X�h�x���������ȫث����(�8�H�X�h�x���������Ȭج����(�8�H�X�h�x���������ȭح����(�8�H�X�h�x���������Ȯخ����(�8�H�X�h�x���������ȯد��0G��(�8�H�X�h�x���������Ƞؠ����(�8�H�X�h�x���������ȡء����(�8�H�X�h�x���������Ȣآ����(�8�H�X�h�x���������ȣأ����(�8�H�X�h�x���������Ȥؤ����(�8�H�X�h�x���������ȥإ����(�8�H�X�h�x�����������Ц���� �0�@�P�`�p�����������Ч���� �0�@�P�`�p�����������Ш���� �0�@�P�`�p�����������Щ���� �0�@�P�`�p�����������Ъ���� �0�@�P�`�p�����������Ы���� �0�@�P�`�p�����������Ь���� �0�@�P�`�p�����������Э���� �0�@�P�`�p�����������Ю���� �0�@�P�`�p�����������Я��@G��� �0�@�P�`�p�����������Р���� �0�@�P�`�p�����������С���� �0�@�P�`�p�����������Т���� �0�@�P�`�p�����������У���� �0�@�P�`�p���������PGd8�@�H�P�X�`�h�p�x�������������������ȧЧا������� �(�0�8����� �����ȩЩ���� N���� �(�0�8�@�H�P�X�`�h�p�x�������������������ȠРؠ������� �(�0�8�@�H�P�X�`�h�p�x�������������������ȡСء���X�������������Ш��� �(�0�8�@�H�P�X�`�h�x������������������� �h�����ȫ��0�8�@�x���p�x�0NpУx�����8�@�P�����Х�� �`���Ц�@������@������P�������@������@������@������@�p�Э�P���Ю�@�����@N��@������@������@�h���� �`�����@������ �`���Х��(�P�x���Ц�P���Ч�P���Ш�P���Щ�P���Ъ�P���Ы�P���Ь�P���Э�P���Ю�P���ЯPN��P���Р�P���С�P���Т�P���У�P���Ф�P���Х�P���Ц�P���Ч�P���Ш�P���Щ�P���Ъ�P���Ы�P���Ь�P���Э�P���Ю�P���Я`N��P���Р�P���С�P���Т�P������0�p����(�X�����Х�@������0�p���Ч�@�������8�h������ �H�p������0�`���ȫ��P������0�X���Э�� �`����`���pN`0����p�С0����`���0����p��P��� ����`��P��� �����(�P��� ����H����P���خ�8�p�Я�Nt0����`�С0����`���0����`�Х0����`�����P����@�������`���� �`���ث�P����@������0���Ȯ�@��������N�8�p����0���ȡ�8�x����(�p�У�@������p�ȥ�@�������0�`����X���ب�P���Щ�@���Ъ�H�p�����ث�� �H�h����@����0�����خ�`�����Npp�� �x���@���@�p����0�p��P���@���@�����P����@����H�x���ت�0�X�����H������@���Э0�`����p������Nd �x���� �p����`����@��������������������������P�ЪP�x���0�`�� �p��p����0���Я�N`@����0���0���0���0���0���0���0����8�h���0���0����@�p����H���Ь(�`����H����P�����N`P��� ����@����@����p���@����`����p��� �����@����P����H�x����p�Ь ����@��� �p�Я�Nh ���Р@�������0����@����P����P����`��� ����0����@����P����`����`��� �`���خ�X���Я�Nd�H������X���С �p����@������(�`����`�������p��P���0��� �������`�ЬP���0�������OL`��P���@��� ����p��p��P���0�������������p��P���0��� ������OH������������������������������������������������ OP����������������������������������������@����@���Ю@���0O` �p�Ƞ�`����`����`��� �`�ФP����`����`��� �`��0����@�����0����`���0����`�Ю@���@Od�P����P����P����p�У@����@��� �p��P����0���Ш0����@����@��� ����@����@������ЯPO`(�`�Р@��� �p����p��� �p�Ф0����� �p�Ц ���� �P����`����p���0����p�Ь@����p��P���`O` ����p�С@��� ����p��� �p��0����`����p���0����0���Ъ0�p�Ы(�p��P����P����p��pOd0����@����@����`��0����@����`���ئ�����@��� �p�Щ ���Ъ ����@���0������P����P�����Oh@���Р ����� �x����p��� �p�Ф0����0����@����P����`��� ����0�x����0����@����`����@���د�Oh ���ؠ�P����P����`����p����`����p����P����p��� �p�Щ ���Ъ0���Ы0����0����@����@�����Ox@���� ���� �x�����0�`���У�@�x�����H�������H������ �P����`����`��� �`�Ъ ���Ы0����`���0����@�����Od@����`��0����@����� ���Ф0����0����@����0����@����P����`����`�Ь0���Э�p��� �p�Я�O`0�p��0����@����p���@����`����`�Ц@����@����P����`��� ���Ы0����0����0����P����Op�P���0����P����@����P����@���Х ������p�ȧ����P����P����`����0�p����(�X������8�p����@����OdP����@���`���� �`����`��@���Х�P��� ����H���ب�p�𩐪ت�`����0���@���Э �h�������Oh �h�����`�С`���� �P�������8���ȥ�`��p����`��8�p����0���0���ȫ�X���� �p��@�Ю�p���P`�P����@���`����0���0������@����P����P�������`����8�p�ЪP��0�h����P��� ���@��P`8�p�Ƞ�p����@���@���ȣ�@�p���0�������P���ЧP��@����P����P�ી��@����@���@�� Pd0���Р �`���@��0������P���0�Х�P���������`�����@�Щ �`����@���P������X���� ������Я0Pl�H������p��H������0���𣀤Ф�P���������`����8�p�ШP��0�p�ЪP�� �`���ج�P���P���� �`����@PhP��0�ء �p����0�`��� �����8�p����0���0�x����0�`��� �����0���0������@��� ����X���� �p��PPd��Ƞ�@������p��P���У�P��� �����0�p����0���0���Ȩ�X����`��8�p���0����P���0�Ю �p���`Ph�@��� ����@������p��H������0���𥀦Ц�`����@���`���� �`����P��0�x�����0������Ю@���pPl0���P���X���آ �`��� ���Ф�@���Х �p�Ц ����P��� �`����@����@���� �x����X���Э�`���� �x����Pl�P����P��� ������@���أ�`����P����P����@���� �p����p����p����p�Ы0���Ь �p����p�Ю0����P\�p�Р0�������P��� ����P��� �������p��P��� ����@�������P����`����P�����Pl@����p�С0�p�Т0�p��0����p�ȥ�P����`����0����0������@����0�x�����8���Ь �p����H����@����Pd�`��� ����@����`�У0����P����P����`����`����`����p����p��P���@��� �`���Ю �h�����PtH���Ƞ�p�ȡ�8������@����0����P����x����@����� ����P����@���Ъ�@���� �p��� �������0������H���Я�Pl �p����@����8����@����`���0����`����P����0�������@����0���Ъ0����P����X���� ���Ю�p�����Pl �p����8�p����0���Т ������X���� �`��� �h����p�Ч0����@����0���Ъ �p�Ы ����`��� ���Ю �p�Я�PT �`����`����`����p��� ���Ф ���Х(�p����`����p�Ш0����@����0����0����_0�_�	*�H��
��_�0�_�10
	`�He0\
+�7�N0L0
+�70	���010
	`�He l=P�hQo�6�G��Mx�'}��ė1�L�.���^0��0���ѻ�yk��L��
��10
	*�H��
0l10	UUS10U
DigiCert Inc10Uwww.digicert.com1+0)U"DigiCert High Assurance EV Root CA0
220113000000Z
311109235959Z0b10	UUS10U
DigiCert Inc10Uwww.digicert.com1!0UDigiCert Trusted Root G40�"0
	*�H��
�0�
���sh޻�]J<0"0i3�§%.�!=��Y��)�=X�v�ͮ{�
�0��8�VƗm��y����_�<RRƞ�~���WYUr�h�p²�u�js2��D.߂���t;mq�-� �� c)-��^Nȓ�!a�4��^�[����ͬ4@_�zf�w�H�fWW�TX�+�O�0�V��{]��O^�5�1�ړ^܎��ڶ��@�y�xǶ�ĵj8���7�.}���>�p�U�A2��s*n�|!LԼ�u]xf�:1D�3@��ZI��橠gݤ'��O9�X�$\F�d��i�v�v=Y]Bv���izH��f�t��K�c���:�=��E%���D+~����am�3���K�}�Ï�!�����Ռp,A`��cD�vb~�����d�3щί�C���w��!�T)%�l�RQGt�&��Au�z�_�?ɼ�A[�P�1��r"	�|Lu?c�!_� Qko����O��E_� ������~
&���i/�-�٩����f0�b0U�0�0U����q]dL�.g?纘�O0U#0��>�i��GԘ&�cd+�0U��0U%0
+0+s0q0$+0�http://ocsp.digicert.com0I+0�=http://cacerts.digicert.com/DigiCertHighAssuranceEVRootCA.crt0KUD0B0@�>�<�:http://crl3.digicert.com/DigiCertHighAssuranceEVRootCA.crl0U 00g�0g�0
	*�H��
�A��Gy�ej��������_bOړY6�����?�����4�f(Ob1�*�*��>�ђ���ߪ�3FN����F�.���S�����!�k����א�2R+��s���ރq��Q[v/������S�匉�`��/#�,\I�~+�9+�a��vvt�d���Q��}=�W�Xn�ia�Z�(!�c�>�V�������8��{>+�S/\QXސH�
��;mU1��Gw�Q�^��\�C��0��0���Mg�C�*;z�F�j�0
	*�H��
0b10	UUS10U
DigiCert Inc10Uwww.digicert.com1!0UDigiCert Trusted Root G40
210728000000Z
360727235959Z0i10	UUS10U
DigiCert, Inc.1A0?U8DigiCert Trusted G4 Code Signing RSA4096 SHA256 2021 CA10�"0
	*�H��
�0�
��.}��h���M�6��42�FTb_���h�Md�vp�����K�<JR�VR�U<�a�m�����Bf��!�flS�a�1�](�F��*�K���]a���mO��m�x�l��( ��Ė�z6ou~	�٥�%{��rz�-�{���#�+l�Y�սZnj�_2wh/�\������E<��-�W�|syβ�ڲ(L�r��ڦ����o%�X��E�]�[+����0��-��=9�(4�#�j^V-��/ľs�V��K�bGʁ�2�@9s�������x���z+2ai���z�9��b�d�ق�'���S`�;�l���i�|+��$���S�Q���	~p�!�QB���i4*R��l��Bfx��D;>y��Dxgc���0��R;��v]���)��D9����n�
4 �Y�ΌQ�:��K ?4��t�E!)�O"Y9cYc��'�5-pB_�I���]+�*S�^-SU Y��LkK=�Q��i��Y0�U0U�0�0U�k"e��h����r%Ը�H�0U#0�����q]dL�.g?纘�O0U��0U%0
+0w+k0i0$+0�http://ocsp.digicert.com0A+0�5http://cacerts.digicert.com/DigiCertTrustedRootG4.crt0CU<0:08�6�4�2http://crl3.digicert.com/DigiCertTrustedRootG4.crl0U 00g�0g�0
	*�H��
�I�y�Y^g�~��mQ�!G�Ө�q�Pm`��NhTq�V�����X*�����}��=�Ȗk-""���U:�2
�"?���NK蒣�L,Ȕ�����,��K^"+p/����f��,�Z���ӊF!؞�c�|��N�aPD��q��b���Nb%@mO]����-o��6���Mm��yu��H�T�|���/q�w!g�Um0��Ow��̳�"�%���G�ہZ�?a��m�XXN��dv0�[�+�_\�X.8�y�PW���@�ܜ�3l�]���Q�]il�t��Y�f�|4<��j|���R��v|� �l��5#,��r��)ߎ;6J�;��Bp��j�2K/�n;�
�J"T�V������/e�nL�Y-^�C��KX1����k�c5�O�['W�fF�(02��Ty��q�}p�AW*v5;ݯ�W6Z��M%MH{F͑|oÛվ�#��wg��f��%5NSZݐ���*�ͽ��x^�f��.�:��0��0�ʠ���X�Af<�G�0
	*�H��
0i10	UUS10U
DigiCert, Inc.1A0?U8DigiCert Trusted G4 Code Signing RSA4096 SHA256 2021 CA10
241216000000Z
260113235959Z0��10+�7<US10+�7<Delaware10UPrivate Organization10U496996710	UUS10U
California10USan Jose1(0&U
Zoom Video Communications, Inc.1(0&UZoom Video Communications, Inc.0�"0
	*�H��
�0�
��y�y��b[��M�M���hL!j�d�V{t5�Y������<";��(�;�.�eW�8��G���8�Y�Zs�T�\?H)��%1+Q��+��:�-�V�`\�AIR��+��Iz��-�9
�[<���L$�o3�Y���e��?�tF����Y�-XL&�"�'���� m&�R��'�d�3��ºl2�?rH
�H�҇�	�7���o����y�]�-���]dֹ���G<ObNz��7.���n��U5��C�1X�s�6�C��
��i{���	���˔��.!�*.\9efb�
B�,qb�]A�G�B�h�B��=�>F����#Y`h�_�"���[3��P�G�o�l���H�--f�t�2R�s�b�P꾔{�v���-R@.���m7�A<JfZ>�S
���|/U%�a����8��k�VA��F��"�\T��'s�Xz4���I0�+!}���y�)���Bh�;�Ԫ��)}i ��5ڣ��0��0U#0��k"e��h����r%Ը�H�0U��|���M�z��y��X�0=U 60402g�0)0'+http://www.digicert.com/CPS0U��0U%0
+0��U��0��0S�Q�O�Mhttp://crl3.digicert.com/DigiCertTrustedG4CodeSigningRSA4096SHA2562021CA1.crl0S�Q�O�Mhttp://crl4.digicert.com/DigiCertTrustedG4CodeSigningRSA4096SHA2562021CA1.crl0��+��0��0$+0�http://ocsp.digicert.com0\+0�Phttp://cacerts.digicert.com/DigiCertTrustedG4CodeSigningRSA4096SHA2562021CA1.crt0	U00
	*�H��
�8E���|]a^�!UO@�Ҙ�F��	$<z�#���#�/�ĭ��	��ȭT"J��)���ߵ�=8�u��pG:'(�#N��Df[��㄂�,6o���|��=ݘ.H�D�lV�brM��*g�?5h6+�d�KC&*�芃�2�XO"�/@��U�Vi�zp�fј7����Q<[���Rn�q�ʸ`�/+8��W��?��X������Ij�j��,'}��";�
6C�s�@�î9C���Y�
�`d#DκJ�1 4�Q�^�J�m`�ӆ�U�͝��[��9壻',�1����@f"�A` ��&\~�[YV�:��YD�Y"����RV��[lA�3���l��,Y�6=�A��)���nk�ÊE{A�a�B��e�O����{k�O�Ż�G6�E<v��C�J�&6TԔhBV��mr������G��ݯ��&%>����)�ؗ�p�v�p�Z]�	�����1�J�0�J�0}0i10	UUS10U
DigiCert, Inc.1A0?U8DigiCert Trusted G4 Code Signing RSA4096 SHA256 2021 CA1���X�Af<�G�0
	`�He���0	*�H��
	1
+�70
+�710
+�70/	*�H��
	1" >Gk�q8�v9fe��X�cU�a��
y�0R
+�71D0B�@�>Zoom Video communications, Inc.0
	*�H��
�T����ԓb&?��f"ǩx-�V��m�Km�3i�pӷ�2e]@p�o�	���1]P��A�`5S��;3Ė�\~{1;���f��th6ҹԕ|P�����^�Ŕ|teߙw��_��c�����3���f%����|�Jfd�2�f�P�Q;T�`�cmv`�|[y7VѨ��8.��
���UEe��M ���.����p_p�y�
�!����;��KEfq�mg)>�:Cv�y
O0���ȢH�"��kЊ*^cl0J����צ˥s���KTUoB��`|��^��ḴVJ��(aIeENz�D:&r3��P�h݂��e!��D��0�{2
)�G��3Xh6d��r�f�����A;��zk��%ܻ�>�)Z8|tU2���e�a:��x�����΢�Q��AA7E�w����fD�渰4%q���%Z���o��]����D�I��P5��ω\�r*��\�ؾd&���(`DzÐ��磕͡�GL0�r
+�71�b0�^	*�H��
��O0�K10
	`�He0w*�H��
	�hf0d	`�H��l010
	`�He �mܸ/Il�p�f�{鸏��=J����uJ�d?:#�JJ���>Yη20251024234806Z��:0��0�ՠ
��K�����v��th0
	*�H��
0i10	UUS10U
DigiCert, Inc.1A0?U8DigiCert Trusted G4 TimeStamping RSA4096 SHA256 2025 CA10
250604000000Z
360903235959Z0c10	UUS10U
DigiCert, Inc.1;09U2DigiCert SHA256 RSA4096 Timestamp Responder 2025 10�"0
	*�H��
�0�
��F�-ƞ��`V�+W�oQ��p
��7�B0c2����q�����Lpl|H狦��g�M��<tM�����c�7!O$��*�C���f�[dz�+�D��`�+,�z���̯r}���zd�6�8�H�OQiK�4
Y|�:�p%w+q4�==��?�pYe+��#��oe(ʳt�;T
Q�]٧p�p���I� ���$���1�N�z����\�8�(u�*���'nKpRj-�\��pـ�ì�I+�ޥ<?��Ikz,�r����d�5��4�K�
N����Ǹ�4
|�'���%�-+��)��M;��~�$�hD�Ul�uUYù'�U�\�ǀ;������=��5�~�B�����v�(���e7t �mk�*�4���1�b�&�-�=����,��3C!x��à��������IDN�{��Dz�~X���u.OX�z�V��i
$�J�ޕ�4ɒ{�"�ѡ�7!!͛BiЊ
Eع�$��L�p	CUšp�����y����0��0U�00U�;��1���qcPC�a��0U#0��oSJ��|z��V�/�I��N0U��0U%�0
+0��+��0��0$+0�http://ocsp.digicert.com0]+0�Qhttp://cacerts.digicert.com/DigiCertTrustedG4TimeStampingRSA4096SHA2562025CA1.crt0_UX0V0T�R�P�Nhttp://crl3.digicert.com/DigiCertTrustedG4TimeStampingRSA4096SHA2562025CA1.crl0 U 00g�0	`�H��l0
	*�H��
�e*��'��`A��D�c@r!��"O�5��
�o�|�����hم��!�&D7�O����T�a��!���#�¼zP�����u?0�e���r&fR{a|�t�N�>�19�<�f�� �-�`��-�B���P�e*[�Z"��\Q?%�er�SL�Lޑ�(s�ym��l^�E�4�(lC'Ń��PQ)�n6|�U7��-�E�B�ל�b@œ��ڈ�}�<T��&i�%5wB_������yj˄U=*�̓D����r��A�'3�p�V9�"	�9ORJ����c���?�ޔ���@�
�:�%�2`u�w�t�}IP����%ً����p�q�#�eE��в!���E������-­j��uG�I����'qU��%CNhŌ���1{��~�z	W�JW�Ğ�k�"�SUdO��!6��
<�`m���iƏ�..=�7eO���C�Ů�.�8d�榋�B�yl���5s�!H�j��g0��0���
ǬW�!�.@C":I�0
	*�H��
0b10	UUS10U
DigiCert Inc10Uwww.digicert.com1!0UDigiCert Trusted Root G40
250507000000Z
380114235959Z0i10	UUS10U
DigiCert, Inc.1A0?U8DigiCert Trusted G4 TimeStamping RSA4096 SHA256 2025 CA10�"0
	*�H��
�0�
��x1�
�Ar�<F��uۣFht�Q�M��
�����,T�Cj�52lB���:s���^.<#����"����ڧ�%�Z�5���g�H��Ӫ��C��I����gC�����`�P]&G��-�>���a���n@��AvÄ	-T�o2�Ab�"9<x:؅pĤ�;E���|�JK�Z��|4^o���g`�7j�l�Ԏ�o�d�"��B���<�X�q)5U�ٔ<��&�1H�k��	�E�v�TR�K��x�<��h`i<��'�>�/h�O��|I���ƥ5�P�.�r��ϧ���5�fPJ�%�d1�q�K����в@Aq��տÌ	�5&���V���}2g���E�A�|�8���z�X1	���^�V��/�'O�����s<3��.��;bOޅ��[��ʈ1�<z�W���l4�`$�"���f]J�Sj̒��C��F)�l�.�A0�f�E%�Y�>΁i��Z��J3fڠ>��TxF4�X�(它�_���)���k cS��]0�Y0U�0�0U�oSJ��|z��V�/�I��N0U#0�����q]dL�.g?纘�O0U��0U%0
+0w+k0i0$+0�http://ocsp.digicert.com0A+0�5http://cacerts.digicert.com/DigiCertTrustedRootG4.crt0CU<0:08�6�4�2http://crl3.digicert.com/DigiCertTrustedRootG4.crl0 U 00g�0	`�H��l0
	*�H��
����=vq0��ȵ4��Їň0OÛ\s���Lci�]���Pk���3j�$���<H��K��~�wa8�!P��E�+I�y������,-��r�S>4�ĸ��c¿ɿkR��|��7��A���+�Gj��{n��X���X���� ?�Ѷ�rԋ�|u5��Ӛ��B������6�T�t�d���	ٮ�/5�6�W�1tI�SJS��AŸg/�1[���3�z�ξZ>϶�H]4M��.���ڈ�6��Dwj|��[�f(�}3�-��F��b
�:U|r*C�����c�\�2��SL��e�v��:weԦ�I�N��o84s[�1��e�tr�F��a:m1&�v������d�w�iG�A��%�7���,�%g��̈=�/�&����>��X(���,��1�ȟ����!���yL���?�0��0�t-�zؒ�KP��
�t��Z�Ȉ傝�V������R3��&l�šm�6��֐�O��\0��0�u�����-���P�@Z0
	*�H��
0e10	UUS10U
DigiCert Inc10Uwww.digicert.com1$0"UDigiCert Assured ID Root CA0
220801000000Z
311109235959Z0b10	UUS10U
DigiCert Inc10Uwww.digicert.com1!0UDigiCert Trusted Root G40�"0
	*�H��
�0�
���sh޻�]J<0"0i3�§%.�!=��Y��)�=X�v�ͮ{�
�0��8�VƗm��y����_�<RRƞ�~���WYUr�h�p²�u�js2��D.߂���t;mq�-� �� c)-��^Nȓ�!a�4��^�[����ͬ4@_�zf�w�H�fWW�TX�+�O�0�V��{]��O^�5�1�ړ^܎��ڶ��@�y�xǶ�ĵj8���7�.}���>�p�U�A2��s*n�|!LԼ�u]xf�:1D�3@��ZI��橠gݤ'��O9�X�$\F�d��i�v�v=Y]Bv���izH��f�t��K�c���:�=��E%���D+~����am�3���K�}�Ï�!�����Ռp,A`��cD�vb~�����d�3щί�C���w��!�T)%�l�RQGt�&��Au�z�_�?ɼ�A[�P�1��r"	�|Lu?c�!_� Qko����O��E_� ������~
&���i/�-�٩����:0�60U�0�0U����q]dL�.g?纘�O0U#0�E뢯�˂1-Q���!��m�0U��0y+m0k0$+0�http://ocsp.digicert.com0C+0�7http://cacerts.digicert.com/DigiCertAssuredIDRootCA.crt0EU>0<0:�8�6�4http://crl3.digicert.com/DigiCertAssuredIDRootCA.crl0U 
00U 0
	*�H��
�p��C\U�8_��t=���W�����,�^��"��iT"�wm��Jz/-�8������r�$�R�N�*�-V��0z���^���CD�C!�r�H��˝O�w'D���Y��/���4<�LJ��L@5FjiT���V���=����wZ\T�o�P=�v	h��o�� �5`� ��X�@cŘ"��Y�Uk�'�lv�o#-�~qj#k"��T-'~�:�𶇖�[�\��M�s���W�^(⹔1�|0�x0}0i10	UUS10U
DigiCert, Inc.1A0?U8DigiCert Trusted G4 TimeStamping RSA4096 SHA256 2025 CA1
��K�����v��th0
	`�He���0	*�H��
	1
*�H��
	0	*�H��
	1
251024234806Z0+*�H��
	1000�b0��
-0k�8�hyR0�A~0/	*�H��
	1" �Aَ�Ȏ
��1S2�/m�s���V���,d�07*�H��
	/1(0&0$0" J�?�,�\��\����gk��ʳ?�m&��4�F
30
	*�H��
�¿�_����0�W�p���z��TY����W�,_�W�
���G�<w)�$>���
�1B�<�`%
�2 ���-�U�p�ߚ�X�Z�*G�J��N��O����vE�a�S@��ܠ��Ě�4�P}�Eٕ8�0	ܝ)&׺� �|K����x(<�9�C0���?�6�%"���G!�}�O��:k����N����
����T.���j�(@V��Bgλ�{1����I~Go�ڙ�R	�����$ŦғڦYg���n���4�Ϧ�k�s���W��RB�hnn�	{���`�*����^�C*��%�����<'��4H��Z�|*5������p��ǡJG�sQF�wu��o�m�Jh*�h��d&�X�RO[#WR��(�W6Զ`�,���A��cs#JSg�E�j)m '��e���0fi�fKp
���_�	K۽��;�DQ8zQ͂���m
�~YQ.u�UE���}r�Ѿ��bNGnuu ���*�!bei]G.�K�0�/�
+�71�/�0�/�	*�H��
��/�0�/�10	+0L
+�7�>0<0
+�70	���0!0	+�͚$eE
��J]l�Q?F�ޠ�^0��0���ѻ�yk��L��
��10
	*�H��
0l10	UUS10U
DigiCert Inc10Uwww.digicert.com1+0)U"DigiCert High Assurance EV Root CA0
220113000000Z
311109235959Z0b10	UUS10U
DigiCert Inc10Uwww.digicert.com1!0UDigiCert Trusted Root G40�"0
	*�H��
�0�
���sh޻�]J<0"0i3�§%.�!=��Y��)�=X�v�ͮ{�
�0��8�VƗm��y����_�<RRƞ�~���WYUr�h�p²�u�js2��D.߂���t;mq�-� �� c)-��^Nȓ�!a�4��^�[����ͬ4@_�zf�w�H�fWW�TX�+�O�0�V��{]��O^�5�1�ړ^܎��ڶ��@�y�xǶ�ĵj8���7�.}���>�p�U�A2��s*n�|!LԼ�u]xf�:1D�3@��ZI��橠gݤ'��O9�X�$\F�d��i�v�v=Y]Bv���izH��f�t��K�c���:�=��E%���D+~����am�3���K�}�Ï�!�����Ռp,A`��cD�vb~�����d�3щί�C���w��!�T)%�l�RQGt�&��Au�z�_�?ɼ�A[�P�1��r"	�|Lu?c�!_� Qko����O��E_� ������~
&���i/�-�٩����f0�b0U�0�0U����q]dL�.g?纘�O0U#0��>�i��GԘ&�cd+�0U��0U%0
+0+s0q0$+0�http://ocsp.digicert.com0I+0�=http://cacerts.digicert.com/DigiCertHighAssuranceEVRootCA.crt0KUD0B0@�>�<�:http://crl3.digicert.com/DigiCertHighAssuranceEVRootCA.crl0U 00g�0g�0
	*�H��
�A��Gy�ej��������_bOړY6�����?�����4�f(Ob1�*�*��>�ђ���ߪ�3FN����F�.���S�����!�k����א�2R+��s���ރq��Q[v/������S�匉�`��/#�,\I�~+�9+�a��vvt�d���Q��}=�W�Xn�ia�Z�(!�c�>�V�������8��{>+�S/\QXސH�
��;mU1��Gw�Q�^��\�C��0��0���Mg�C�*;z�F�j�0
	*�H��
0b10	UUS10U
DigiCert Inc10Uwww.digicert.com1!0UDigiCert Trusted Root G40
210728000000Z
360727235959Z0i10	UUS10U
DigiCert, Inc.1A0?U8DigiCert Trusted G4 Code Signing RSA4096 SHA256 2021 CA10�"0
	*�H��
�0�
��.}��h���M�6��42�FTb_���h�Md�vp�����K�<JR�VR�U<�a�m�����Bf��!�flS�a�1�](�F��*�K���]a���mO��m�x�l��( ��Ė�z6ou~	�٥�%{��rz�-�{���#�+l�Y�սZnj�_2wh/�\������E<��-�W�|syβ�ڲ(L�r��ڦ����o%�X��E�]�[+����0��-��=9�(4�#�j^V-��/ľs�V��K�bGʁ�2�@9s�������x���z+2ai���z�9��b�d�ق�'���S`�;�l���i�|+��$���S�Q���	~p�!�QB���i4*R��l��Bfx��D;>y��Dxgc���0��R;��v]���)��D9����n�
4 �Y�ΌQ�:��K ?4��t�E!)�O"Y9cYc��'�5-pB_�I���]+�*S�^-SU Y��LkK=�Q��i��Y0�U0U�0�0U�k"e��h����r%Ը�H�0U#0�����q]dL�.g?纘�O0U��0U%0
+0w+k0i0$+0�http://ocsp.digicert.com0A+0�5http://cacerts.digicert.com/DigiCertTrustedRootG4.crt0CU<0:08�6�4�2http://crl3.digicert.com/DigiCertTrustedRootG4.crl0U 00g�0g�0
	*�H��
�I�y�Y^g�~��mQ�!G�Ө�q�Pm`��NhTq�V�����X*�����}��=�Ȗk-""���U:�2
�"?���NK蒣�L,Ȕ�����,��K^"+p/����f��,�Z���ӊF!؞�c�|��N�aPD��q��b���Nb%@mO]����-o��6���Mm��yu��H�T�|���/q�w!g�Um0��Ow��̳�"�%���G�ہZ�?a��m�XXN��dv0�[�+�_\�X.8�y�PW���@�ܜ�3l�]���Q�]il�t��Y�f�|4<��j|���R��v|� �l��5#,��r��)ߎ;6J�;��Bp��j�2K/�n;�
�J"T�V������/e�nL�Y-^�C��KX1����k�c5�O�['W�fF�(02��Ty��q�}p�AW*v5;ݯ�W6Z��M%MH{F͑|oÛվ�#��wg��f��%5NSZݐ���*�ͽ��x^�f��.�:��0��0�ʠ���X�Af<�G�0
	*�H��
0i10	UUS10U
DigiCert, Inc.1A0?U8DigiCert Trusted G4 Code Signing RSA4096 SHA256 2021 CA10
241216000000Z
260113235959Z0��10+�7<US10+�7<Delaware10UPrivate Organization10U496996710	UUS10U
California10USan Jose1(0&U
Zoom Video Communications, Inc.1(0&UZoom Video Communications, Inc.0�"0
	*�H��
�0�
��y�y��b[��M�M���hL!j�d�V{t5�Y������<";��(�;�.�eW�8��G���8�Y�Zs�T�\?H)��%1+Q��+��:�-�V�`\�AIR��+��Iz��-�9
�[<���L$�o3�Y���e��?�tF����Y�-XL&�"�'���� m&�R��'�d�3��ºl2�?rH
�H�҇�	�7���o����y�]�-���]dֹ���G<ObNz��7.���n��U5��C�1X�s�6�C��
��i{���	���˔��.!�*.\9efb�
B�,qb�]A�G�B�h�B��=�>F����#Y`h�_�"���[3��P�G�o�l���H�--f�t�2R�s�b�P꾔{�v���-R@.���m7�A<JfZ>�S
���|/U%�a����8��k�VA��F��"�\T��'s�Xz4���I0�+!}���y�)���Bh�;�Ԫ��)}i ��5ڣ��0��0U#0��k"e��h����r%Ը�H�0U��|���M�z��y��X�0=U 60402g�0)0'+http://www.digicert.com/CPS0U��0U%0
+0��U��0��0S�Q�O�Mhttp://crl3.digicert.com/DigiCertTrustedG4CodeSigningRSA4096SHA2562021CA1.crl0S�Q�O�Mhttp://crl4.digicert.com/DigiCertTrustedG4CodeSigningRSA4096SHA2562021CA1.crl0��+��0��0$+0�http://ocsp.digicert.com0\+0�Phttp://cacerts.digicert.com/DigiCertTrustedG4CodeSigningRSA4096SHA2562021CA1.crt0	U00
	*�H��
�8E���|]a^�!UO@�Ҙ�F��	$<z�#���#�/�ĭ��	��ȭT"J��)���ߵ�=8�u��pG:'(�#N��Df[��㄂�,6o���|��=ݘ.H�D�lV�brM��*g�?5h6+�d�KC&*�芃�2�XO"�/@��U�Vi�zp�fј7����Q<[���Rn�q�ʸ`�/+8��W��?��X������Ij�j��,'}��";�
6C�s�@�î9C���Y�
�`d#DκJ�1 4�Q�^�J�m`�ӆ�U�͝��[��9壻',�1����@f"�A` ��&\~�[YV�:��YD�Y"����RV��[lA�3���l��,Y�6=�A��)���nk�ÊE{A�a�B��e�O����{k�O�Ż�G6�E<v��C�J�&6TԔhBV��mr������G��ݯ��&%>����)�ؗ�p�v�p�Z]�	�����1��0��0}0i10	UUS10U
DigiCert, Inc.1A0?U8DigiCert Trusted G4 Code Signing RSA4096 SHA256 2021 CA1���X�Af<�G�0	+���0
*�H��
	10	*�H��
	1
+�70
+�710
+�70#	*�H��
	1A�j�Cㅐ0
a��J�0R
+�71D0B�@�>Zoom Video communications, Inc.0
	*�H��
�T�$�̢TZ��_�XD���e@����pQ����z�vt�v���㶨W?T��2@J�`��o�������]�� r��%�F��Q�)$��#��Q�]��@�߄���-�t�5��Xh4�}5#su�
�pzHc<*[�Q
�ޒ�b����:kJKp�nY�m7��|�O)-0f��ѡ~}����	���o�BG�7+�1�6�Q�r��ϕ�n�9�E�ekhvA�(�taLg�����i9Nvb�5�}�E��,���v���$�WY����N�4\tmO��l�(ZtU�	��A�b�<�=B�]Bn�@���0�4Z��F٪[��	a�v�T����0�a�
hM��k�%/�}E'� z�O��{NB�*$4E{��M~�5�{;��9���o��k��-�ߣ�a��=o��%�Z_�hO𔲧���RTN�SK�0�_��4�U�ջF��~��)�W��'8����f�l6��*��L�G�����'�㟽��x�oPO��w0�s
+�71�c0�_	*�H��
��P0�L10
	`�He0x*�H��
	�ig0e	`�H��l010
	`�He �N�|Tի,E3z���P�����7�P8U<Q��c��1�2<�ī�̪20251024234858Z��:0��0�ՠ
��K�����v��th0
	*�H��
0i10	UUS10U
DigiCert, Inc.1A0?U8DigiCert Trusted G4 TimeStamping RSA4096 SHA256 2025 CA10
250604000000Z
360903235959Z0c10	UUS10U
DigiCert, Inc.1;09U2DigiCert SHA256 RSA4096 Timestamp Responder 2025 10�"0
	*�H��
�0�
��F�-ƞ��`V�+W�oQ��p
��7�B0c2����q�����Lpl|H狦��g�M��<tM�����c�7!O$��*�C���f�[dz�+�D��`�+,�z���̯r}���zd�6�8�H�OQiK�4
Y|�:�p%w+q4�==��?�pYe+��#��oe(ʳt�;T
Q�]٧p�p���I� ���$���1�N�z����\�8�(u�*���'nKpRj-�\��pـ�ì�I+�ޥ<?��Ikz,�r����d�5��4�K�
N����Ǹ�4
|�'���%�-+��)��M;��~�$�hD�Ul�uUYù'�U�\�ǀ;������=��5�~�B�����v�(���e7t �mk�*�4���1�b�&�-�=����,��3C!x��à��������IDN�{��Dz�~X���u.OX�z�V��i
$�J�ޕ�4ɒ{�"�ѡ�7!!͛BiЊ
Eع�$��L�p	CUšp�����y����0��0U�00U�;��1���qcPC�a��0U#0��oSJ��|z��V�/�I��N0U��0U%�0
+0��+��0��0$+0�http://ocsp.digicert.com0]+0�Qhttp://cacerts.digicert.com/DigiCertTrustedG4TimeStampingRSA4096SHA2562025CA1.crt0_UX0V0T�R�P�Nhttp://crl3.digicert.com/DigiCertTrustedG4TimeStampingRSA4096SHA2562025CA1.crl0 U 00g�0	`�H��l0
	*�H��
�e*��'��`A��D�c@r!��"O�5��
�o�|�����hم��!�&D7�O����T�a��!���#�¼zP�����u?0�e���r&fR{a|�t�N�>�19�<�f�� �-�`��-�B���P�e*[�Z"��\Q?%�er�SL�Lޑ�(s�ym��l^�E�4�(lC'Ń��PQ)�n6|�U7��-�E�B�ל�b@œ��ڈ�}�<T��&i�%5wB_������yj˄U=*�̓D����r��A�'3�p�V9�"	�9ORJ����c���?�ޔ���@�
�:�%�2`u�w�t�}IP����%ً����p�q�#�eE��в!���E������-­j��uG�I����'qU��%CNhŌ���1{��~�z	W�JW�Ğ�k�"�SUdO��!6��
<�`m���iƏ�..=�7eO���C�Ů�.�8d�榋�B�yl���5s�!H�j��g0��0���
ǬW�!�.@C":I�0
	*�H��
0b10	UUS10U
DigiCert Inc10Uwww.digicert.com1!0UDigiCert Trusted Root G40
250507000000Z
380114235959Z0i10	UUS10U
DigiCert, Inc.1A0?U8DigiCert Trusted G4 TimeStamping RSA4096 SHA256 2025 CA10�"0
	*�H��
�0�
��x1�
�Ar�<F��uۣFht�Q�M��
�����,T�Cj�52lB���:s���^.<#����"����ڧ�%�Z�5���g�H��Ӫ��C��I����gC�����`�P]&G��-�>���a���n@��AvÄ	-T�o2�Ab�"9<x:؅pĤ�;E���|�JK�Z��|4^o���g`�7j�l�Ԏ�o�d�"��B���<�X�q)5U�ٔ<��&�1H�k��	�E�v�TR�K��x�<��h`i<��'�>�/h�O��|I���ƥ5�P�.�r��ϧ���5�fPJ�%�d1�q�K����в@Aq��տÌ	�5&���V���}2g���E�A�|�8���z�X1	���^�V��/�'O�����s<3��.��;bOޅ��[��ʈ1�<z�W���l4�`$�"���f]J�Sj̒��C��F)�l�.�A0�f�E%�Y�>΁i��Z��J3fڠ>��TxF4�X�(它�_���)���k cS��]0�Y0U�0�0U�oSJ��|z��V�/�I��N0U#0�����q]dL�.g?纘�O0U��0U%0
+0w+k0i0$+0�http://ocsp.digicert.com0A+0�5http://cacerts.digicert.com/DigiCertTrustedRootG4.crt0CU<0:08�6�4�2http://crl3.digicert.com/DigiCertTrustedRootG4.crl0 U 00g�0	`�H��l0
	*�H��
����=vq0��ȵ4��Їň0OÛ\s���Lci�]���Pk���3j�$���<H��K��~�wa8�!P��E�+I�y������,-��r�S>4�ĸ��c¿ɿkR��|��7��A���+�Gj��{n��X���X���� ?�Ѷ�rԋ�|u5��Ӛ��B������6�T�t�d���	ٮ�/5�6�W�1tI�SJS��AŸg/�1[���3�z�ξZ>϶�H]4M��.���ڈ�6��Dwj|��[�f(�}3�-��F��b
�:U|r*C�����c�\�2��SL��e�v��:weԦ�I�N��o84s[�1��e�tr�F��a:m1&�v������d�w�iG�A��%�7���,�%g��̈=�/�&����>��X(���,��1�ȟ����!���yL���?�0��0�t-�zؒ�KP��
�t��Z�Ȉ傝�V������R3��&l�šm�6��֐�O��\0��0�u�����-���P�@Z0
	*�H��
0e10	UUS10U
DigiCert Inc10Uwww.digicert.com1$0"UDigiCert Assured ID Root CA0
220801000000Z
311109235959Z0b10	UUS10U
DigiCert Inc10Uwww.digicert.com1!0UDigiCert Trusted Root G40�"0
	*�H��
�0�
���sh޻�]J<0"0i3�§%.�!=��Y��)�=X�v�ͮ{�
�0��8�VƗm��y����_�<RRƞ�~���WYUr�h�p²�u�js2��D.߂���t;mq�-� �� c)-��^Nȓ�!a�4��^�[����ͬ4@_�zf�w�H�fWW�TX�+�O�0�V��{]��O^�5�1�ړ^܎��ڶ��@�y�xǶ�ĵj8���7�.}���>�p�U�A2��s*n�|!LԼ�u]xf�:1D�3@��ZI��橠gݤ'��O9�X�$\F�d��i�v�v=Y]Bv���izH��f�t��K�c���:�=��E%���D+~����am�3���K�}�Ï�!�����Ռp,A`��cD�vb~�����d�3щί�C���w��!�T)%�l�RQGt�&��Au�z�_�?ɼ�A[�P�1��r"	�|Lu?c�!_� Qko����O��E_� ������~
&���i/�-�٩����:0�60U�0�0U����q]dL�.g?纘�O0U#0�E뢯�˂1-Q���!��m�0U��0y+m0k0$+0�http://ocsp.digicert.com0C+0�7http://cacerts.digicert.com/DigiCertAssuredIDRootCA.crt0EU>0<0:�8�6�4http://crl3.digicert.com/DigiCertAssuredIDRootCA.crl0U 
00U 0
	*�H��
�p��C\U�8_��t=���W�����,�^��"��iT"�wm��Jz/-�8������r�$�R�N�*�-V��0z���^���CD�C!�r�H��˝O�w'D���Y��/���4<�LJ��L@5FjiT���V���=����wZ\T�o�P=�v	h��o�� �5`� ��X�@cŘ"��Y�Uk�'�lv�o#-�~qj#k"��T-'~�:�𶇖�[�\��M�s���W�^(⹔1�|0�x0}0i10	UUS10U
DigiCert, Inc.1A0?U8DigiCert Trusted G4 TimeStamping RSA4096 SHA256 2025 CA1
��K�����v��th0
	`�He���0	*�H��
	1
*�H��
	0	*�H��
	1
251024234858Z0+*�H��
	1000�b0��
-0k�8�hyR0�A~0/	*�H��
	1" H�D$��������_Wz*�>pmD:�Fy�7E\{07*�H��
	/1(0&0$0" J�?�,�\��\����gk��ʳ?�m&��4�F
30
	*�H��
�5j�C�_�<�uL�b�W.��o3�%k�\b]�/9i*4?�|ʝKLy׃&��lmW��ފ��~��1t\;�Ns�B���dqrቒ{V7zYR�1��Uc���5WC�7�T�zj�r�X�
$P��dz#	����z8R��o=�L^�aC�B�+�$��O���RD���3��`jnH��!�X\��;�"5�iiI�<���z�5�D�,�N8��"��E~D�ӷ�u*=�Q�H�>��j	\���<mK)T%���dj�9��h��6V����oܝW�I�|z��88�j@�u��i�_���G ?fG�ئԋŵ7r^��g�K����RH�W�{<�JschWL��!2
:�V��0�������\�}��M�mP˾��#/E�nj�ip��谐�!�x�M��'h��_kۤq�4�D���vL��p��+Z9:!�e�).p���p�.�i2kv��D��tRH�4���*�,v��kA�@n�0����6���