403Webshell
Server IP : 93.86.61.54  /  Your IP : 216.73.216.60
Web Server : Apache/2.4.62 (Ubuntu)
System : Linux rasin.ddns.net 6.8.0-124-generic #124~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue May 26 21:05:19 UTC x86_64
User : www-data ( 33)
PHP Version : 8.4.22
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /lib/x86_64-linux-gnu/hexchat/plugins/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/x86_64-linux-gnu/hexchat/plugins/perl.so
ELF>@81@8@PP   �}�}����|�|�*�:�:0P�*�:�:���  ���$$S�td���  P�td�
�
�
��Q�tdR�td�*�:�:((GNU�GNUn��hQ2f��@M��|m-Ja@
abc�ykuJ���e�A#�����u�I% h��Q�`��$���l@lSeU�5�a��� �� Rw�0�sc-�
-�$�{9�Y�H�[��}����5�C�ot, ��dF"�M��`�/� ������__gmon_start___ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalizePL_thr_keypthread_getspecificPerl_push_scopePerl_savetmpsPerl_newSVpvPerl_sv_2mortalPerl_call_svPerl_sv_2bool_flagshexchat_printfPerl_pop_scopePerl_free_tmpsPerl_gv_add_by_typePerl_sv_2pv_flagsPerl_sv_2iv_flagsPerl_markstack_growPerl_stack_growPerl_mg_getstrchrstrlenstrncasecmpPerl_newSV_typehexchat_list_strPerl_newSVivPerl_hv_common_key_lenhexchat_list_intPerl_newSVuvhexchat_list_timePerl_newSVnvPerl_newSVpvnPerl_newRV_noincPerl_av_pushPerl_get_svPerl_sv_setsv_flagshexchat_printPerl_call_pvg_freePerl_sv_free2hexchat_set_contextPerl_sv_mortalcopy_flagshexchat_plugingui_addhexchat_emit_printPerl_av_leng_malloc_nPerl_av_fetchg_mallochexchat_send_modeshexchat_get_infostrncmphexchat_list_fieldshexchat_get_prefs__stack_chk_failPerl_newSVsv_flagshexchat_hook_serverhexchat_hook_commandhexchat_hook_printhexchat_get_contexthexchat_hook_timerhexchat_hook_fdPerl_sv_2uv_flagshexchat_unhookhexchat_commandhexchat_find_contexthexchat_nickcmphexchat_list_gethexchat_list_nexthexchat_list_freehexchat_plugingui_removehexchat_pluginpref_set_strhexchat_pluginpref_get_strhexchat_pluginpref_deletehexchat_pluginpref_liststrtokboot_DynaLoaderPerl_newXSPerl_get_hvPerl_newCONSTSUBPerl_sv_setpvexitsetlocalePerl_sys_init3perl_allocperl_constructperl_parsePerl_eval_pvg_build_filenameopendirreaddir64strcasecmpclosedirhexchat_plugin_get_infohexchat_plugin_inithexchat_plugin_deinitperl_destructperl_freePerl_sys_termlibglib-2.0.so.0libc.so.6libperl.so.5.34GLIBC_2.4GLIBC_2.34GLIBC_2.2.5Cii
]���gui	r�:0,�:�+@@�?�?�?!�?+�?V�?[==== =(=0=8=@=	H=
P=X=`=
h=p=x=�=�=�=�=�=�=�=�=�=�=�=�=�=�= �="�=#>$>%>&>' >((>)0>*8>,@>-H>.P>/X>0`>1h>2p>3x>4�>5�>6�>7�>8�>9�>:�>;�><�>=�>>�>?�>@�>A�>B�>C�>D?E?F?G?H ?I(?J0?K8?L@?MH?NP?OX?P`?Qh?Rp?Sx?T�?U�?W�?X�?Y�?Z�?\�?]�?^�?_�?`��H��H��H��t��H����5��%���h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h��Q������h��A������h��1������h��!������h��������h��������h������h �������h!��������h"�������h#�������h$�������h%�������h&�������h'��q������h(��a������h)��Q������h*��A������h+��1������h,��!������h-��������h.��������h/������h0�������h1��������h2�������h3�������h4�������h5�������h6�������h7��q������h8��a������h9��Q������h:��A������h;��1������h<��!������h=��������h>��������h?������h@�������hA��������hB�������hC�������hD�������hE�������hF�������hG��q������hH��a������hI��Q������hJ��A������hK��1������hL��!������hM��������hN��������hO������hP�������hQ��������hR�������hS�������hT�������hU�������hV�������hW��q������hX��a������hY��Q�������%D���%D���%
D���%D���%�D���%�D���%�D���%�D���%�D���%�D���%�D���%�D���%�D���%�D���%�D���%�D���%�D���%�D���%�D���%�D���%}D���%uD���%mD���%eD���%]D���%UD���%MD���%ED���%=D���%5D���%-D���%%D���%D���%D���%
D���%D���%�D���%�D���%�D���%�D���%�D���%�D���%�D���%�D���%�D���%�D���%�D���%�D���%�D���%�D���%�D���%�D���%}D���%uD���%mD���%eD���%]D���%UD���%MD���%ED���%=D���%5D���%-D���%%D���%D���%D���%
D���%D���%�D���%�D���%�D���%�D���%�D���%�D���%�D���%�D���%�D���%�D���%�D���%�D���%�D���%�D���%�D���%�D���%}D���%uD���%mD���%eD���%]D���%UD���%MDH�=�H�zH9�tH�6H��t	�����H�=QH�5JH)�H��H��?H��H�H�tH�H��t��fD�����=
u+UH�=�H��tH�=�����d�����]������w����AWAVI��AUI��ATUSH��H���;����;H�(���H���l����;���H�������;�v����;H�HpL�aL�`p�c���L;`x���;�R���H��H+HH��H��A�$�;�9���H�@ H)�H�����;H������1�L��H�������;I������L��H���|����;H�E���;H�(����
L��H������;A�������;L�8�����;H��`H�@H�8�d���H��`H�@�;H�(���I��H��tz�E �XI��$(H��H)�H��H�X�E��tP���g���^��tH�E�@�kH�H��@�[1�H��L���.������FfDA��tzA�E% =��I�UH�=D��H�5�v1�A������;�����;L�8�����;H�hP���H;hXR�;���H������H��D��[]A\A]A^A_ÐI�/M�o��E% =�^H�EL�` M���f��;�Y���H��������C����;H��`�5���1�H��H���(���H�@�����;����1ҹL��H�����H�������H�EH������H�@H���D�;����H��`H�@H�8�\�;���H��`H�@H��;�@% =������;H��`H�@H�8�n�i���H��`H�@�;H�(�T���1ҹH��H���B���H��H�=X1�I��A�H�5%p�P����G����;�����H��H������I�����f�H�EH�x ��������@�����;H��`H�@H�8����H��`H�@H�H�P�a����;���H����I���0���f��;�y���H��H��H�����H���5���fD�;�Q����;H��`�C���1�H��H���6���H�@���DH��H���������H9��7�����f�����;H��`���1�H��H�����H�@�y����H�������H�E�80������D����;H��`���1�H��H�����H�@�������H�=�u
��@USH��H�;�;�T���1�H�5[nH�������;H���9���H��H�����H�5�rH���_���H���[]���H�=tRATUSH��
L�f�;���1�H�5nH������;H�����H��H���F���L��H�����[�]A\Ð��f.�AUI��� ATUSH��L�gL���2���L��H������H��H��t?��~]HcۺH�=�mI�t��!������LE�H��[]L��A\A]��I�mH����H��H)�H��HE�LE��H��E1�[L��]A\A]�ff.����ATUS�C���H�=�tH��H��u[1�]A\�f.�H���;��1�H�5�lH���a����;I����L��H������H��H�����[�]A\����ATUSH�����H�=ptH��H��u1�H��[]��A\ÐH��;�2�1�H�5�lH�����;I����L��H�����H��H���A���[�]A\��AWAVAUATUSH��H��H�-�H�<$�}���H���?���L�;I��M����H���yf.�<p�H�4$H�=�L����}I���z�L��H���_���I�Nj}H���`�H��M��L��jH��A�$D��L�����L�{�XZM���M�oL����A��A�<s��w<<i�l���H�4$H�=!L���)�}A�����Ic�H����I���o���<tu<H�4$H�=�
L����}I����f��I*�H����I���1���D�}��L��@����@H�4$H�=�
L����I��H��t�H�����}H�D$�P�H�T$L��H���`���I��������}�(�L��H���m�}I����H��L��[H��]A\A]A^A_�y�f�AVAUATUH��SH��	L�uH���;���H���?�;I����L��H���*��K�A�<$tD�;I����L��1�H���A�;�H I���p�L��L��H�����I9�tM�&M��u�[L��]A\A]A^�f�ATI��USH�	�;�+�H�5nH����L9�t"�;H����[L��H��H��]�A\�a�[]A\�ff.���AWE1�AVAUI��ATI��UH��SH��H���;���;L�0��H����;��H�����E(��tH��D��[]A\A]A^A_�f.��;�i��;H�HpL�yL�xp�V�L;xx���;�E�L��H+HH��H��A��;�-�H�@ L)�H���L��M�n�!����;I����L��H���L��;I�F���H�@ L)�H���L��M�e����;I�����L��H�����;I�E��H�@ L)�H���uH�E�;I��I�$��H�} L� �E(�B����;L�e�w��(L��H���'�;A���]�H��@�����m(�;�F��;L�0�<��;H��`H�@H�8�=� �H��`H�@�;H�(��I��H���/�E ��I��$(H��H)�H��H�m�E�������������tH�E�@t!H�H��@t1�H��L���������;��H��`H�@H�8���;�l�H��`H�@H��;�@% =���D��;H��`H�@H�8���(�H��`H�@�;H�(��1ҹH��H����H��H�=1�I�n�E1�H�5]f���@H�EH�x �B����A��ujM�&I�n�A�D$% =��I�$L�x fD�;���;H�(���;H�hP��H;hX~�;�w�H��������f.�H�=yH�5ZjL��E1����DH�EH���c���H�@H�������H���L���H�E�80������:���f.��;��H���1��n���@����;H��`���1�H��H�����H�@�����;���L��H����I�����f����;H��`H�@H�8t �s�H��`H�@H�H�P�^���@�S��;H��`�E�1�H��H���8�H�@��f��;�)�L��L��H����I���i���fD�;��L��L���H���~�I������fD�;���L��L��H���V�I������fD�;��H���	�I���U�����;���;H��`��1�H��H���~�H�@����DH9��������f�H��H������[����K��;H��`�=�1�H��H���0�H�@�
������AWE1�AVAUI��ATI��UH��SH��H���;����;L�0���H������;���H���#��E(��tH��D��[]A\A]A^A_�f.��;���;H�HpL�yL�xp��L;xx���;��L��H+HH��H��A��;�m�H�@ L)�H���%L��M�n�a����;I���G�L��H�����;I�F�1�H�@ L)�H���L��M�e�%����;I����L��H���P��;I�E��H�@ L)�H����H�E�;I��I�$���H�} L� �E(����;L�e���(L��H���g��;A����H��@�Q����m(�;���;L�0�|��;H��`H�@H�8�M�`�H��`H�@�;H�(�K�I��H���?�E ��I��$(H��H)�H��H�}�E�������������tH�E�@t!H�H��@t1�H��L����������;���H��`H�@H�8���;��H��`H�@H��;�@% =�����;H��`H�@H�8���h�H��`H�@�;H�(�S�1ҹH��H���A�H��H�=W1�I�n�A�H�5�`�O��MDH�EH�x �:���f�A��ujM�&I�n�A�D$% =��I�$L�x fD�;����;H�(���;H�hP��H;hX~�;��H��������f.�H�=��H�5�dL��E1����DH�EH���c���H�@H�������H���L���H�E�80�p����:���f.��;�)�H���a��n���@���;H��`��1�H��H����H�@�����;����L��H�����I�����f����;H��`H�@H�8t ��H��`H�@H�H�P�N���@���;H��`�u�1�H��H���h�H�@��f��;�Y�L��L��H�����I���Y���fD�;�1�L��L���H����I�����fD�;�	�L��L��H����I������fD�;���H���9�I���E�����;����;H��`��1�H��H����H�@����DH9��������f�H��H�����K����{��;H��`�m�1�H��H���`�H�@������AWI��AVAUATE1�UH��SH��H��H�t$�;�"��;H�H�$��H������;��H���M�A�G(��tH��D��[]A\A]A^A_��;����H���L��;I�����L��H���7���
H����H�T�A��H��t�:t���A��;@�{�1�H�5	aH����I�Ƌ;I���\�L��L��H����E9�|iN�t��;M��t-A�>t��2�L��1�H������H I���f����;I��I����I��@L��H���[�E9�}�fD�;����;H�HpL�qL�pp���L;px���;��L�<$L��H+HH��H��A��;��H�@ L)�H�����;��L�<$L��H������;M�wI�G�d�H�@ L)�H���]L�|$�;I��I�GI��=�I� L�0A�G(���;M�'�"�L��(H������;A����H��@��A�o(�;����;H�(����;H��`H�@H�8�/���H��`H�@�;L�(��I��M��tsA�E �3I��(L��H)�I9���H��H��A�E��tB���[������tI�E�@��H�H��@t~1�L��L���N���umA���NH�=I�H�5�_I��E1��W��;���;L�(���;H�hP��H;hX�9�;���H�������I�EH�x ����t��;���H��`H�@H�8��;��H��`H�@H��;�@% =�6���;H��`H�@H�8��f�H��`H�@�;L� �Q�1ҹL��H���?�H��H�=U�1�L�m�E1�H�5�Y�P�����I�EH������H�@H���0���H�������I�E�80�������L�m�H�m�E% =u[H�EL�` ���fD�;���H��������@����;L��`���1�H��L����H�@�����;�i���H��H���Y��I���:����L���;H��`H�@H�8t�4��H��`H�@H�H�P�������;L��`�
��1�H��L����H�@�΋;����L��L���H���m��I������;����H���&�I�������;���H�4$�H��H���3��H�$�����;����;L��`���1�H��L���x�H�@����L��H���������Z���;L��`�L��1�H��L���?�H�@����fD��AUATUSH��H�-���}����}L� ����}H�PpH�J�HcH�HpH������H�PL��H�H)�H����tGH�=�H�5a\L�c���}����}H�X���J�T#�H�H��[]A\A]�f��}L�c����}H�@H�D�@% =tA�d���}H�@L�l�S���1�L��H���A��H��H�=W��r��m���D�#��H�@H�DH�p��@��AWAVAUATI��USH��H���;�����;H�(����H�����;����H������;�����;H�HpL�iL�hp���L;hx�@�;���H��H+HH��H��A�E�;���H�@ H)�H���(I�D$�;H��H�E�d��I�|$ H�(���;I�,$�L���H��H������;A���2��H��@����;����;L�8����;H��`H�@H�8�N���H��`H�@�;H�(����I��H��ts�E ��I��(H��H)�H��H���E��tJ���*���!��tH�E�@�)H�H��@�1�H��L��������A��u{M�/I�o�A�E% =��I�EH�@ A�Ņ���D�;�)���;H�(����;H�hP���H;hXF�;���H�����H��D��[]A\A]A^A_�DH�=�H�5�YL��E1�����D�;���H�����������;H��`���1�H��H�����H�@����H�EH���
���H�@H�����;�^��H��`H�@H�8���;�B��H��`H�@H��;�@% =�����;H��`H�@H�8�����H��`H�@�;H�(����1ҹH��H������H��H�=��1�I�o�A�H�5�S��������;���L��H�����A�Ņ��^����;����;H�ppL�vL�pp�t��L;px�R�;�c��H��H+pH��H��A��;�K��H�@ H)�H���;�;M�t$�/��L��H������;I�����L��H������;H�E����;L�8����H�5�RH�������;����M�4$�;H�(����M��tA�V������A�VM�t$M��t�;���A�V������A�VL���;���V���fDH�EH�x ��������@�;�a��H�����I�������;�I��H��H��H������H�����fDH��H������F����H9���������f�����;H��`H�@H�8tp����H��`H�@H�H�P���@�;����;H��`���1�H��H�����H�@�f���DH���&���H�E�80��������D�s���;H��`�e��1�H��H���X��H�@�w�����C���;H��`�5��1�H��H���(��H�@�,�����;���H���i��I�������;���H��H��H���v��H��L�x���f.�L��H���������L��H�����������AWAVAUATI��USH��H�t��;����;H�(���H���[���;�t��H������;�e���;H�HpL�iL�hp�R��L;hx�H�;�A��H��H+HH��H��A�E�;�(��H�@ H)�H���8I�D$�;H��H�E���I�t$H�(H��tH�=����I�|$ ���;I�,$�����(H��H������;A�����H��@�p��;����;L�8����;H��`H�@H�8�P���H��`H�@�;H�(�n��I��H��ts�E ��I��(H��H)�H��H���E��tJ���,�����tH�E�@�+H�H��@�1�H��L��������A��u}M�/I�o�A�E% =��I�EH�@ A�Ņ�����;����;H�(����;H�hP���H;hXF�;���H�����H��D��[]A\A]A^A_�DH�=��H�5JSL��E1�����D�;�I��H��������3���;H��`�%��1�H��H�����H�@����H�EH������H�@H�����;����H��`H�@H�8�y�;����H��`H�@H��;�@% =�����;H��`H�@H�8�����H��`H�@�;H�(�q��1ҹH��H���_��H��H�=u�1�I�o�A�H�54M�m�������;�)��L��H�����A�Ņ��V����;����;H�HpL�qL�pp����L;px�B�;����H��H+HH��H��A��;����H�@ H)�H���S�;M�t$���L��H������;I�����L��H������;H�E���H�@ L)�H�����;I�l$ I���d��H��H������;I��J���;L�8�@���H�5LH������;�%��H�(�e���DH�EH�x ��������@�;���H���Q��I�����f��;����H��H��H���V��H�����fDH��H���=���L����H9���������f�����;H��`H�@H�8tp�s��H��`H�@H�H�P����@�;�Q���;H��`�C��1�H��H���6��H�@�n���DH���,���H�E�80�%�������D����;H��`���1�H��H������H�@�w���������;H��`����1�H��H�����H�@�4�����;���H�����I�������;���L��L���H�����I�����fD�;�a��H��H��H������H��L�x���f���AWAVAUATUSH��H�-��}����}L� ����}H�PpH�J�HcH�HpH�����H�PL��H�H)�H����t#H�=��H��H�5�N1�[]A\A]A^A_�����}L�k����}H�@H�D�@% =������}H�@L�d����1�L��H���m��I�ċ}�b���}H�@H�D�@% =���>���}H�@L�t�-���1�H��L�����I�Nj}����}H�@H�D�@% =�A�����}H�@L�t�����1�L��H������I�Ƌ}����}H�@H�D �@% =������}H�@H�\ ����1�H��H���w��H��H�=��M��L��L��E1�����}I���Q��L��H���6���}I���;���}I���0��L��L��H�X����}L�H�����}H�X���L�H�H��[]A\A]A^A_�f�����H�@H�DL�`�o���f�����H�@H�D H�p�E���f����H�@H�DL�p����f����H�@H�DL�x�a���f���AWAVAUATUSH��H�7��;�P���;L� �F���;H�PpH�J�Hc*H�HpH���,��H�PL��H�H)�H����'H�=0�H��H�5eL[]A\A]A^A_�6��fD�;A��L�e�����;H�@H�D(�@% =������;H�@L�l(����1�H��L�����H�$M��E1��;���H�@J�(�@�t
A��I��E9�u�A���BH�ZQJc�H�>��;�I���;H�@H�D((�@% =�k�&���;H�@L�t((����1�H��L�����I�Nj;����;H�@H�D( �@% =�������;H�@L�t( �����1�L��H�����I�Ƌ;����;H�@H�D(�@% =�@����;H�@H�t(H�t$�s��H�t$�1�H���_��I�ŋ;�U���;H�@H�D(�@% =���2���;H�@H�l(�"��1ҹH��H�����H��H��H�="�M��1�jH�t$M��L�����Hc�XZ�X��;�����;H�@H�D( �@% =������;H�@L�t( ����1�H��L�����I�Nj;����;H�@H�D(�@% =���g���;H�@L�t(�W���1�L��H���E��I�Ƌ;�;���;H�@H�D(�@% =�t����;H�@H�l(���1ҹH��H�����H��H�4$H�=�E1�1�M��L�����Hc��G�;�����;H�@H�D(�@% =������;H�@L�t(����1�L��H�����I�Ƌ;�z���;H�@H�D(�@% =���W���;H�@H�l(�G��1ҹH��H���5��H��H�4$H�=G�E1�1�L���J��Hc��f��;�	���;H�@H�D(�@% =�������;H�@H�l(����1ҹH��H������H��H�4$H�=��1�1�����Hc���H�4$H�=��1�1����Hc�;���H��H���g���;I���m���;H���c��L��H��L�p�����;M�I��G���;H�h�<��L�H�(H��[]A\A]A^A_�����H�@H�D(H�@H�$�l������H�@H�D(L�p�m�������H�@H�D(H�P��������H�@H�D( L�x�/������H�@H�D((L�x������H�@H�D(H�P������H�@H�D(L�p�9����v��H�@H�D(H�P�2����_��H�@H�D(H�P�@����H��H�@H�D(L�h�����1��H�@H�D( L�p�m���1�������AWAVAUATUSH��(H����;�����;L� �����;H�PpH�J�Hc*H�HpH������H�HH�I)�I��A�D$���v$H�=��H��(H�52F[]A\A]A^A_�����;���H�@H�D(�@
���;�o���;H�@H�D(L�x�[��H��L���`���I�ƍ@Hc��D$�9��I�ŋD$����D��E1�H�D$� DH�VK�T�I�FL9t$��I�Ƌ;���L��1�L��H�����H�vCH��t�H�0�F% =t��;H�t$���H�t$1ҹH�����H��������;I������;H�@H�D(�@% =��i���;H�@L�t(�Y���1�H��L���G��I�E�D$�;�4���;H�@H�D(�@% =������;H�@L�t(����1�H��L�������;D�0�����;H�@H�D(�@% =������;H�@L�|(����1�H��L�����D�81�A����T$E��E��L��H�=�����H��(L��[]A\A]A^A_���fD�S��H�@H�D(H�@�����;��H�@H�D(H�@�@�#��H�@H�D(H�@�"�����;�	���;H�@H�D( �@% =t/�����;H�@H�l( �����H��H���������4������H�@H�D( H��H ������_���L���B���;����;L�`���I�L� H��([]A\A]A^A_�ff.���AWAVAUATUSH��H�'��;�@���;L� �6���;H�PpH�J�Hc*H�HpH�����H�PL��H�H)�H����t&H�=�H��H�5=[]A\A]A^A_�%��D�;L�}����H�@L�l(A�E% =��I�uH�=���X��I��H����A�E% =��I�uH�=�<�����;����A�E% =�%I�uH�=t<�
����;����A�E% =�I�uH�=L<�����;����A�E% =��I�uH�="<�
�z����;����A�E% =��I�uH�=�;�	�G����;���U���1�L��H���K���;�H I���z����;H�HpH�iH�hp�g���H;hx���;�V���L��H+HH��H���E�;�>���H�@ L)�H�����;I���#���L��H������;I�$�
���L� �D�;���L��1�H�����H���+�����;����L��1�H�����H���3�����;���L��H������;I������;H�����L��H��L�h���M�I�E�;�m����;H�h�b���L�H�(H��[]A\A]A^A_�D�;�A���1�L��H�����f��+���L��1�H������H����������L��1�H�����H����������L��1�H������H�������˿��L��1�H�����H�������;詿���;I��蟿��I��@H�@L�d(�����;胿��L��L��H������I���:����;�a���H�����H�������AUATUSH��H���;�4����;L� �*����;H�PpH�J�Hc*H�HpH������H�PL��H�H)�H����~H�=�H�5�>�(��H�=�H�5-9����;I���˾��H�@ L)�H��~7L��1������;I�D$詾���;L�`螾��I�T,H�H��[]A\A]��;聾��L��L��H�����I���f���AVAUATUSH�� H�-)�dH�%(H�D$1��}�1����}L� �&����}H�PpH�J�HcH�HpH������L�hL��I�L)�H����t5H�D$dH+%(�dH�=��H�� H�5�=[]A\A]A^���f��}L�c贽���}H�@H�D�@% =�%落���}H�@L�t�����1�L��H���m���H��H�=��H�L$H�T$�D������C��������uh�}L�d$�+���L��1�H���޾���}�H I������H�@ L)�H���\�}I����L��H���e����}I�E�ټ��L�(fDH�D$dH+%(�?H�� []A\A]A^����uӋD$�}����菼���}I��脼��I��(H�@�E��k���H�@H�DH�p���f��}�H����}I���=���I��@H�@L�l�}�%����}H�X����L�H��>���fD�}Lcl$���L��H������}I������}I���ڻ��L��L��H�X�K���L�H��軻���}I��谻��I��XH�@�n����}蘻��L��L��H������I������������AWAVAUATUSH��H�-7��}�O����}L� �D����}H�PpH�J�HcH�HpH���)���H�PL��H�H)�H����t#H�=,�H��H�5);[]A\A]A^A_�2���f��}L�k����}H�@H�D�@% =������}H�@L�d诺���1�L��H��蝻��I�ċ}蒺���}H�@H�D�@% =�s�n����}H�@L�t�]����L��H���M���A�Ƌ}�B����}H�@H�tH�t$�,����}H�@L�D L�$�����0H�@L�|(�d����}H�����H�t$�H������}H��ܹ��H�4$�H���۽���C(�}H�C踹��L���H��踽��I��D��L��H�C H�=��H�
��������}I���}���L��H���b����}I���g����}I���\���L��L��H�X�ͻ���}L�H��?����}H�X�3���L�H�H��[]A\A]A^A_�fD����H�@H�DL�`�g�������H�@H�DH�D�p ���fD��AWAVAUATUSH��(H�-���}迸���}L� 贸���}H�PpH�J�HcH�HpH��虸��H�PL��H�H)�H����t#H�=��H��(H�5�8[]A\A]A^A_颼��f��}L�s�T����}H�@H�D�@% =���0����}H�@L�d�����1�L��H���
���I�ċ}�����}H�@H�D�@% =���޷���}H�@L�l�ͷ���L��H��轶��A�ŋ}買���}H�@L�|衷��E1�H�@H�D �@��h�}L�D$�{����}H�@L�T(L�T$�e����0H�@L�L0L�L$譶���}H���B���L���H���B����}H��'���H�t$�H���%����C(�}H�C����H�t$�H������L�D$I��D��H�C H�=��H�
���L���+����}I�����L��H��襺���}I��誶���}I��蟶��L��L��H�X�����}L�H�肶���}H�X�v���L�H�H��([]A\A]A^A_Ð�[���H�@H�DL�`�?���f��;���H�@H�DH�D�h �l���fD�}�����}H�@H�D �@% =t=����}H�@H�t H�t$���H�t$�1�H���ζ��I���>���fD軵��H�@H�D L�@�!���f���AWAVAUATUSH��H�-g��}�����}L� �t����}H�PpH�J�HcH�HpH���Y���H�PL��H�H)�H����t#H�=\�H��H�56[]A\A]A^A_�b���f��}L�k�����}H�@H�D�@% =�����}H�@L�d�ߴ���1�L��H���͵��I�ċ}�´���}H�@H�D�@% =�s螴���}H�@L�t荴���L��H���}���A�Ƌ}�r����}H�@H�tH�t$�\����}H�@L�D L�$�G����0H�@L�|(蔳���}H���)���H�t$�H���'����}H�����H�4$�H�������C(�}H�C���L���H�����I��D��L��H�C H�=��H�
m��訶���}I��譳��L��H��蒷���}I��藳���}I��茳��L��L��H�X����}L�H��o����}H�X�c���L�H�H��[]A\A]A^A_�fD�C���H�@H�DL�`�g�����+���H�@H�DH�D�p ���fD��AWAVAUATUSH��H�-���}����}L� ����}H�PpH�J�HcH�HpH���ɲ��H�PL��H�H)�H����t#H�=��H��H�5�3[]A\A]A^A_�Ҷ��f��}L�k脲���}H�@H�D�@% =�]�`����}H�@L�d�O����L��H���?���A�ċ}�4����}H�@H�tH�t$�����}H�@L�|�
����0H�@L�t �Z����}H�����H�t$�H������}H��ұ��L���H���ҵ��H�=��H�C肱���}H�C覱��L���H��覵��H�=��H��D��H�C H�����I����}H�CI���j���L��H���O����}I���T����}I���I���L��L��H�X躳���}L�H��,����}H�X� ���L�H�H��[]A\A]A^A_�����H�@H�DH�D�` ���ff.���AVAUATUH�-��S�}�Ű���}L� 躰���}H�PpH�J�HcH�HpH��蟰��H�=��H�PL��H�H)�H����t�5�*]A\A]A^鯴����3����}H��I���T���L��H���9����}I���>����}I���3���L��L��L�p褲���}I�I������}L�`�
���I�L� []A\A]A^�ff.���AWAVAUATUSH��H�-���}�ϯ���}L� �į���}H�PpH�J�HcH�HpH��詯��H�PL��H�H)�H����t#H�=��H��H�5	1[]A\A]A^A_鲳��f��}L�k�d����}H�@H�D�@% =���@����}H�@L�d�/����L��H������A�ċ}�����}H�@L�t�����}H�@H�D�@% =�l�߮���}H�@L�|�ή���L��H��辭��A�Nj}賮���}H�@L�L L�L$蝮���0H�@L�D(L�$����}H���{���L���H���{����}H��`���H�t$�H���^����C(�}H�C�;���H�4$�H���:���I��D��D��H�C H�=6�H�
����:����}H�CI�����L��H������}I������}I���ڭ��L��L��H�X�K����}L�H�轭���}H�X豭��L�H�H��[]A\A]A^A_�@蓭��H�@H�DH�D�` �b���fD�s���H�@H�DH�D�x ���ff.���AWAVAUATUSH��H�-��}�/����}L� �$����}H�PpH�J�HcH�HpH���	���H�PL��H�H)�H����tCH�=�H�5_'� ����}�ج���}L�`�̬��I�L� H��[]A\A]A^A_���}L�s褬���}H�@H�D�@% �=��-耬���}H�@L�l�o����L��H���߫��H��H�=u�蠮��I��H����L�8M��t�}�4���A�W�����A�WI�}td�}����H�@ L)�H�����}M�u���L���L�sH���!����}I�D$M�e�Ы��M��tA�T$������A�T$M�e M��t�}褫��A�T$������A�T$L���6����}�~����}H�X�r���J�T3�H�H��[]A\A]A^A_��S���H�@H�DH�H�p ����}�6���L��L��H��質��I������L��H��������L��H���Ю���m���L��H������6���ff.���AVAUATUH�-��S�}�Ū���}L� 躪���}H�PpH�J�HcH�HpH��蟪��H�PL��H�H)�H����t!H�=��[H�5J,]A\A]A^鮮��fD�}L�c�\����}H�@H�D�@% �=����8����}H�@L�l�'����L��H��藩��H��H�=-������}�����Hc�H������}I������}I���ݩ��L��L��H�X�N����}L�H�����}H�X贩��L�H�[]A\A]A^�D蛩��H�@H�DH�H�p �r���fD��AUATUSH��H�-K��}�c����}L� �X����}H�PpH�J�HcH�HpH���=���H�PL��H�H)�H����tGH�=@�H�5+L�c�P����}�����}H�X���J�T#�H�H��[]A\A]�f��}L�c�Ԩ���}H�@H�D�@% =tA质���}H�@L�l裨���1�L��H��葩��H��H�=���"����m���D�s���H�@H�DH�p��@��AWAVAUATUSH��H�'��;�@����;L� �6����;H�PpH�J�Hc*H�HpH������H�PL��H�H)�H������L�mL�e���Y�����;����;H�@L�t(�ѧ��I��M��tiA�F �I��(L��H)�H��H�A�F��t>���e������tI�F�@t9H�H��@t-1�L��L���t�����u�;E1��V���H�@H�D(�@tO�;�=���H�@H�D(�@% =�1�;�����;H�@L�t(�
����1�L��H�����I�Ƌ;����;H�@L�|(�ަ��H��M����A�G �H��(L��H)�I9���H��H��A�G�������,���c����1�L��舥�����[�;�i���H�@H�D(�@% =�v�;�F����;H�@H�l(�6����1�H��H���$���H���E1�1�H�=3�L��I���g����;H��H������H��H���٩���;I���ߥ���;H���ե��L��H��Lh�F���I�E�;軥���;H�h谥��L�H�(H��[]A\A]A^A_��;葥���;H�@L�t(聥��I��M��toA�F ��I��(L��H)�I9���H��H��A�F��t>����������tI�F�@t:H�H��@t.1�L��L��������u�;����H�@H�D(�@�����;���H�@H�D(�@% =��;�ä���;H�@H�l(賤���1�H��H��补��1�I���}����I�H�x ����u��r���@H�=��L�mL�eE1�H�5�&蚨��1��9����K����;H���A���H��@H�@J�,(�k���DI�H�x ����������;����1�H�@H�D(�@���������;���H�@H�D(L�p����;�У��H�@H�D(H�p����;跣��1�H�@H�D(L�p���I�H�������H�@H�������H���s���I�F�80������a���I�H���G���H�@H������H���0���I�G�80��������I�H������H�@H������H�������I�F�80��������I�G�@�z���H�H��@�X����e���DI�H�x �~����]���DL��H�D$�;���H�|$�����L��H���%�������I9��C����"���f�L��H������������AVAUATUH�->�S�}�U����}L� �J����}H�PpH�J�HcH�HpH���/���H�PL��H�H)�H����t!H�=2�[H�5j$]A\A]A^�>���fD�}���}H�@H�D�@% =���̡���}H�@L�d軡���1�H��L��詢��I�ŋ}L�c蚡���}H�@H�D�@% =���v����}H�@L�t�e����1�L��H���S���H��H�=i�L�����}���7���Hc�H�������}I���!����}I������L��L��H�X臣���}L�H�����}H�X���L�H�[]A\A]A^�fD�Ӡ��H�@H�DL�h�����軠��H�@H�DH�p�Y���f���AWAVAUATUSH��H�g��;耠���;H�(�v����;H�PpH�J�Lc"H�HpI���\���H�PH��L�H)�H����t&H�=_�H��H�5�"[]A\A]A^A_�e���D�;M�t$����H�@N�| A�G% =��I�wH�=��W����;I��H�����ԟ��H�P�R"��u*H���HcB(���H�@H��H�JH���P������A�G% =�pI�wH�=��H��茡��I���0��;�Y���H�@ H)�H��~}L��L��L�u�N���H�EL��H�=P�L��������u�H�==�L������;����H�(H��[]A\A]A^A_�@�;��L���1�H���ߟ��H�������;�ɞ��H��H��H���F���H���a���fD�z,�
���fD1��@��H�=��L���^�����u�H�=��L���K����;�d���Hc�H���I����;I���O����;H���E���L��H��L�h趠���;M�I�E�(����;H�h����L�H�(����f��;�	���L���1�H�����H���s��������;H�h�؝��L�H�(����ff.�f���AUATUSH��H�-���}裝���}L� 蘝���}H�PpH�J�HcH�HpH���}���H�PL��H�H)�H����tGH�=��H�5�L�c萡���}�H����}H�X�<���J�T#�H�H��[]A\A]�f��}L�c�����}H�@H�D�@% �=�tA���}H�@L�l����L��H���S���H��H�=��4����o����賜��H�@H�DH�H�p �ѐ��AVAUATUSH�m��;膜���;H�h�{����;H�PpH�J�H�HpHcH�l��`����;H+h�U���H���;��H�@Hc�H��H��L�,��@% =�������;H�@H�,������1�H��H�����I�Ƌ;M�e�����;H�@J�D(��@% =���˛���;H�@J�l(�軛���1�H��H��詜��H��H�=��L���7����;��莛��Hc�H���s����;I���y����;H���o���L��H��L�p����;M�I��S����;H�h�H���L�H�([]A\A]A^�f��+���H�@H��L�p�!���f.�����H�@J�D(�H�p�S���f���AVAUATUSH��H�-��dH�%(H��$1��}軚���}H�X诚���}H�PpH�J�H�HpHcH��蔚���}H+X舚��H���}H�@��Hc�H��L�,��@% =���S����}H�@L�$��C����1�L��H���1���H��H�=G�I��L���ܙ���}���������}I������I��@H�@L�$؋}����}H�X�ޙ��L�H�H��$dH+%(uwH��[]A\A]A^�D諙��H�@H��H�p�l���f.�苙��L��1�H���>����}I���s����}I���h���L��L��H�X�ٛ��L�H��\������f���AVAUATUH�-�S�}�%����}H�X�����}H�PpH�J�H�HpHcH������}H+X��H���}H�@��Hc�H��L�$��@% =��轘���}H�@L�,�識���1�L��H��蛙��H��H�=��講���}��肘��Hc�H���g����}I���l����}I���a���L��L��H�X�Қ���}L�H��D����}H�X�8���L�H�[]A\A]A^�f�����H�@H��H�p�r���f.���AWAVAUATUSH��H�$H��H����;dH�%(H��$1�L��$趗���;L� 謗���;H�h街���;H�PpH�J�Lc:H�Hp苗��H�=��L��L�p�ț���;�����i����;H�HpH�iH�hp�V���H;hx���;L�5��>���L��L��L��H+HH��H���E�r���H��H����I��H�=)�L��H��辖���;���H�@ L)�H�����;���1�H��I�l$H��莘���;I���Ė��L��H���9����;I�D$譖��H�@ H)�H���}�;L�e蒖��1�L��H���E����;I���{���L��H����L��1�H�E貙��H��H���F����;�O���L� H��$dH+%(��H��[]A\A]A^A_��;����H��H��H��薕��H���a���fD�;��L��L��H���n���I�����fD�˕���;L�`���I��J�D�L)�H����H�I�D�I��S�����;葕��H�����H���5�������ff.����AUATL�%�SH�9��;�R���H�#�L��H�5�H���I����;�2���L��H����H�5�H���)����;����L��H����H�5�H���	����;��L��H���H�5�H������;�Ҕ��L��H�(��H�5�H���ɖ���;貔��L��H���H�5�H��詖���;蒔��L��H���H�5�H��艖���;�r���L��H��H�5�H���i����;�R���L��H����H�5�H���I����;�2���L��H���H�5�H���)����;����L��H�(�H�5H���	����;��L��H����H�5nH������;�ғ��L��H�x��H�5�H���ɕ���;貓��L��H��H�5JH��評���;蒓��L��H���H�5�H��艕���;�r���L��H�x���H�5�H���i����;�R���L��H����H�5�H���I����;�2���L��H�(���H�5�H���)����;����L��H���H�5�H���	����;��L��H��H�5�H������;�Ғ��L��H�h��H�5�H���ɔ���;貒��L��H�8��H�5�H��詔���;蒒��L��H�x��H�5�H��艔���;�r���L��H���H�5�H���i����;�R���H���H�54L��H���I����;�2����H�5bH��莖��H���j�;I�������H������;I����L��H�0L��H�������;�ؑ���@H��軕���;I�����L��H�	L��H���ܑ���;襑��1�H��苕���;I��葑��L��H��
L��H��謑���;�u���H�����H���V����;I���\���L��H��
L��H���w����;�@���H�ƀ���H���!����;I���'���L��H��
L��H���B����;����1�H�����;I�����L��H�d
L��H�������;�ې���H��辔���;I���Đ��L��H�:
L��H���ߐ���;訐���H��苔���;I��葐��L��H�
L��H��謐���;�u����H���X����;I���^���L��H��L��H���y����;�B����H���%����;I���+���L��H��L��H���F����;�����H�����;I�����L��H��L��H�������;�܏���H��迓���;I���ŏ��L��H�lL��H������;詏���H��茓���;I��蒏��L��H�BL��H��譏���;�v����H���Y����;I���_���L��H�L��H���z����;�C����H���&����;I���,���L��H��L��H���G����;����1�H������;I�����L��L��H��H�������;����H�5�H��輐���;I���Ž��[L��H��A\H��A]鋏����Q����AUATI��USH��HdH�%(H�D$81�H�=��taH�R��;�k���1�H�5pH�������;H���P���H��H���Ő��H��H�D$8dH+%(�H��HL��[]A\A]�\���@H�
	�L�l$H�L$H�
�
H��H�L$ H�5�
H�
�
H�L$(H�D$H�D$荐��H�=�H��1�H�5�
�$螌���<$�L���H�T$H�|$�D$����藎��H��H����؍��H�Q��;�j����T$E1�L�逈*H�=j�H�5���規���;�?����H�5SH���ˏ�����������AUH�5\ATUSH�LH��H�=�訏��1�H�5
H��1��ŋ��H��I���*���I��H��tjf�L���ȏ��H��tSH�hH���G�����~�H�H��H�t������u�1�H��L���r���H��H�����H���/���L���w���H��u�f�L��舍��L������H��1�[]A\A]���USH��H�=V�tTH���;�.���1�H�5O	H���ݍ���;H������H��H��舎��H�5�	H���9���H���[]�D1����H���[]�D��H���#���H��1�H��t
�����H���f.���H��H�H��H�H�rH�H��tH����v�AT���\H��E1�E1�H�=h�H�H��H�5UH�H�1�L�%����H�H�
J���� ��k���E1�E1�1�H�=�H�
���H�5F�I���L��E1�E1�H�=��1�H�5?�+���L��A�1�H�=٣L��H�5����H�=��E1�1�L�H�
���H�5����H�=��E1�1�L�H�
���H�5�躋��H�=s�E1�1�L�H�
0���H�5~蔋��H�=M�1�1�H�������H�=6�H�5��J����A\�f�H�5�4���1�A\�ff.�@��H�=�ATUH��StyH����;轉��1�H�5�H���l����;I��袉��L��H������H�5'H���Ȏ���;聉��H�=��ƀ�	�.���H�=����蝋��H�j�H��H�5��N��y���[�]A\���H��H���Perl error: %s
HexChat::Embed::unload_allHexChat::Embed::evaluate.plHexChat::Embed::unloadHexChat::Embed::reloadError in server callback %sError in command callback %sError in print callback %sError in fd callback %sHexChat::unhookError in timer callback %sUsage: HexChat::get_info(id)gtkwin_ptrlibdirfsxchatdirfsconfigdirchannelsUsage: HexChat::get_context()Usage: HexChat::unhook(hook),../plugins/perl/perl.cDynaLoader::boot_DynaLoaderHexChat::Internal::registerHexChat::Internal::hook_printHexChat::Internal::hook_timerHexChat::Internal::hook_fdHexChat::Internal::unhookHexChat::Internal::printHexChat::Internal::commandHexChat::Internal::get_infoHexChat::Internal::get_listHexChat::find_contextHexChat::get_contextHexChat::get_prefsHexChat::emit_printHexChat::send_modesHexChat::nickcmpHexChat::PRI_HIGHESTPRI_HIGHPRI_NORMPRI_LOWPRI_LOWESTEAT_NONEEAT_HEXCHATEAT_XCHATEAT_PLUGINEAT_ALLFD_READFD_WRITEFD_EXCEPTIONFD_NOTSOCKETKEEPREMOVEHexChat::VERSION2.16.0-e-wCperl_warningsHexChat::Embed::loadaddonsHexChat::Embed::reload_allPerlPerl scripting interfacepl_reloadunloadallreloadallPerl interface loaded
Perl interface unloaded
Perl error: expected 1 value from %s, got: %d
HexChat::Embed::current_packageServer handler should only return 1 value.Command handler should only return 1 value.Print handler should only return 1 value.Usage: HexChat::Internal::print(text)Fd handler should only return 1 value.Timer handler should only return 1 value.Usage: HexChat::Internal::register(scriptname, version, desc, filename)Usage: HexChat::emit_print(event_name, ...)Usage: HexChat::send_modes( targets, sign, mode, modes_per_line)Usage: HexChat::Internal::context_info()Usage: HexChat::get_prefs(name)Usage: HexChat::Internal::hook_server(name, priority, callback, userdata, package)Usage: HexChat::Internal::hook_command(name, priority, callback, help_text, userdata, package)Usage: HexChat::Internal::hook_print(name, priority, callback, userdata, package)Usage: HexChat::Internal::hook_timer(timeout, callback, userdata, package)Usage: HexChat::Internal::hook_fd(fd, callback, flags, userdata)Usage: HexChat::set_context(ctx)Usage: HexChat::Internal::command(command)Usage: HexChat::find_context ([channel, [server]])Usage: HexChat::nickcmp(s1, s2)Usage: HexChat::get_list(name)Usage: HexChat::Embed::plugingui_remove(handle)HexChat::Internal::hook_serverHexChat::Internal::hook_commandHexChat::Internal::set_contextHexChat::Internal::context_infoHexChat::Internal::plugin_pref_setHexChat::Internal::plugin_pref_getHexChat::Internal::plugin_pref_deleteHexChat::Internal::plugin_pref_listHexChat::Embed::plugingui_removePerl interface already loaded
Reloads a Perl script. Syntax: /pl_reload <filename.pl>Unloads all loaded Perl scripts.Realoads all loaded Perl scripts.Evaluates Perl code. Syntax: /pl <perl code>��`����0��� �������BEGIN {
$INC{'HexChat.pm'} = 'Compiled into the plugin.';
$INC{'Xchat.pm'} = 'Compiled into the plugin.';
$INC{'Embed.pm'} = 'Compiled into the plugin.';
$INC{'Network.pm'} = 'Compiled into the plugin.';
$INC{'Entry.pm'} = 'Compiled into the plugin.';
$INC{'AutoJoin.pm'} = 'Compiled into the plugin.';
}
{
#line 1 "HexChat.pm"
$SIG{__WARN__} = sub {
my $message = shift @_;
my ($package) = caller;

# redirect Gtk/Glib errors and warnings back to STDERR
my $message_levels =	qr/ERROR|CRITICAL|WARNING|MESSAGE|INFO|DEBUG/i;
if( $message =~ /^(?:Gtk|GLib|Gdk)(?:-\w+)?-$message_levels/i ) {
print STDERR $message;
} else {

if( defined &HexChat::Internal::print ) {
HexChat::print( $message );
} else {
warn $message;
}
}
};

use File::Spec ();
use File::Basename ();
use File::Glob ();
use List::Util ();
use Symbol();
use Time::HiRes ();
use Carp ();

package HexChat;
use base qw(Exporter);
use strict;
use warnings;

sub PRI_HIGHEST ();
sub PRI_HIGH ();
sub PRI_NORM ();
sub PRI_LOW ();
sub PRI_LOWEST ();

sub EAT_NONE ();
sub EAT_HEXCHAT ();
sub EAT_PLUGIN ();
sub EAT_ALL ();

sub KEEP ();
sub REMOVE ();
sub FD_READ ();
sub FD_WRITE ();
sub FD_EXCEPTION ();
sub FD_NOTSOCKET ();

sub get_context;
sub HexChat::Internal::context_info;
sub HexChat::Internal::print;

#keep compatibility with Xchat scripts
sub EAT_XCHAT ();
BEGIN {
*Xchat:: = *HexChat::;
}

our %EXPORT_TAGS = (
constants => [
qw(PRI_HIGHEST PRI_HIGH PRI_NORM PRI_LOW PRI_LOWEST), # priorities
qw(EAT_NONE EAT_HEXCHAT EAT_XCHAT EAT_PLUGIN EAT_ALL), # callback return values
qw(FD_READ FD_WRITE FD_EXCEPTION FD_NOTSOCKET), # fd flags
qw(KEEP REMOVE), # timers
],
hooks => [
qw(hook_server hook_command hook_print hook_timer hook_fd unhook),
],
util => [
qw(register nickcmp strip_code send_modes), # misc
qw(print prnt printf prntf command commandf emit_print), # output
qw(find_context get_context set_context), # context
qw(get_info get_prefs get_list context_info user_info), # input
qw(plugin_pref_set plugin_pref_get plugin_pref_delete plugin_pref_list), #settings
],
);

$EXPORT_TAGS{all} = [ map { @{$_} } @EXPORT_TAGS{qw(constants hooks util)}];
our @EXPORT = @{$EXPORT_TAGS{constants}};
our @EXPORT_OK = @{$EXPORT_TAGS{all}};

sub register {
my ($package, $calling_package) = HexChat::Embed::find_pkg();
my $pkg_info = HexChat::Embed::pkg_info( $package );
my $filename = $pkg_info->{filename};
my ($name, $version, $description, $callback) = @_;

if( defined $pkg_info->{gui_entry} ) {
HexChat::print( "HexChat::register called more than once in "
. $pkg_info->{filename} );
return ();
}

$description = "" unless defined $description;
if( $callback ) {
$callback = HexChat::Embed::fix_callback(
$package, $calling_package, $callback
);
}
$pkg_info->{shutdown} = $callback;
unless( $name && $name =~ /[[:print:]\w]/ ) {
$name = "Not supplied";
}
unless( $version && $version =~ /\d+(?:\.\d+)?/ ) {
$version = "NaN";
}
$pkg_info->{gui_entry} =
HexChat::Internal::register( $name, $version, $description, $filename );
# keep with old behavior
return ();
}

sub _process_hook_options {
my ($options, $keys, $store) = @_;

unless( @$keys == @$store ) {
die 'Number of keys must match the size of the store';
}

my @results;

if( ref( $options ) eq 'HASH' ) {
for my $index ( 0 .. @$keys - 1 ) {
my $key = $keys->[$index];
if( exists( $options->{ $key } ) && defined( $options->{ $key } ) ) {
${$store->[$index]} = $options->{ $key };
}
}
}

}

sub hook_server {
return undef unless @_ >= 2;
my $message = shift;
my $callback = shift;
my $options = shift;
my ($package, $calling_package) = HexChat::Embed::find_pkg();

$callback = HexChat::Embed::fix_callback(
$package, $calling_package, $callback
);

my ($priority, $data) = ( HexChat::PRI_NORM, undef );
_process_hook_options(
$options,
[qw(priority data)],
[\($priority, $data)],
);

my $pkg_info = HexChat::Embed::pkg_info( $package );
my $hook = HexChat::Internal::hook_server(
$message, $priority, $callback, $data, $package
);
push @{$pkg_info->{hooks}}, $hook if defined $hook;
return $hook;
}

sub hook_command {
return undef unless @_ >= 2;
my $command = shift;
my $callback = shift;
my $options = shift;
my ($package, $calling_package) = HexChat::Embed::find_pkg();

$callback = HexChat::Embed::fix_callback(
$package, $calling_package, $callback
);

my ($priority, $help_text, $data) = ( HexChat::PRI_NORM, undef, undef );
_process_hook_options(
$options,
[qw(priority help_text data)],
[\($priority, $help_text, $data)],
);

my $pkg_info = HexChat::Embed::pkg_info( $package );
my $hook = HexChat::Internal::hook_command(
$command, $priority, $callback, $help_text, $data, $package
);
push @{$pkg_info->{hooks}}, $hook if defined $hook;
return $hook;
}

sub hook_print {
return undef unless @_ >= 2;
my $event = shift;
my $callback = shift;
my $options = shift;
my ($package, $calling_package) = HexChat::Embed::find_pkg();

$callback = HexChat::Embed::fix_callback(
$package, $calling_package, $callback
);

my ($priority, $run_after, $filter, $data) = ( HexChat::PRI_NORM, 0, 0, undef );
_process_hook_options(
$options,
[qw(priority run_after_event filter data)],
[\($priority, $run_after, $filter, $data)],
);

if( $run_after and $filter ) {
Carp::carp( "HexChat::hook_print's run_after_event and filter options are mutually exclusive, you can only use of them at a time per hook" );
return;
}

if( $run_after ) {
my $cb = $callback;
$callback = sub {
my @args = @_;
hook_timer( 0, sub {
$cb->( @args );

if( ref $run_after eq 'CODE' ) {
$run_after->( @args );
}
return REMOVE;
});
return EAT_NONE;
};
}

if( $filter ) {
my $cb = $callback;
$callback = sub {
my @args = @{$_[0]};
my $event_data = $_[1];
my $event_name = $event;
my $last_arg = @args - 1;

my @new = $cb->( \@args, $event_data, $event_name );

# allow changing event by returning the new value
if( @new > @args ) {
$event_name = pop @new;
}

# a filter can either return the new results or it can modify
# @_ in place.
if( @new == @args ) {
emit_print( $event_name, @new[ 0 .. $last_arg ] );
return EAT_ALL;
} elsif(
join( "\0", @{$_[0]} ) ne join( "\0", @args[ 0 .. $last_arg ] )
) {
emit_print( $event_name, @args[ 0 .. $last_arg ] );
return EAT_ALL;
}

return EAT_NONE;
};

}

my $pkg_info = HexChat::Embed::pkg_info( $package );
my $hook = HexChat::Internal::hook_print(
$event, $priority, $callback, $data, $package
);
push @{$pkg_info->{hooks}}, $hook if defined $hook;
return $hook;
}

sub hook_timer {
return undef unless @_ >= 2;
my ($timeout, $callback, $data) = @_;
my ($package, $calling_package) = HexChat::Embed::find_pkg();

$callback = HexChat::Embed::fix_callback(
$package, $calling_package, $callback
);

if(
ref( $data ) eq 'HASH' && exists( $data->{data} )
&& defined( $data->{data} )
) {
$data = $data->{data};
}

my $pkg_info = HexChat::Embed::pkg_info( $package );
my $hook = HexChat::Internal::hook_timer( $timeout, $callback, $data, $package );
push @{$pkg_info->{hooks}}, $hook if defined $hook;
return $hook;
}

sub hook_fd {
return undef unless @_ >= 2;
my ($fd, $callback, $options) = @_;
return undef unless defined $fd && defined $callback;

my $fileno = fileno $fd;
return undef unless defined $fileno; # no underlying fd for this handle

my ($package, $calling_package) = HexChat::Embed::find_pkg();
$callback = HexChat::Embed::fix_callback(
$package, $calling_package, $callback
);

my ($flags, $data) = (HexChat::FD_READ, undef);
_process_hook_options(
$options,
[qw(flags data)],
[\($flags, $data)],
);

my $cb = sub {
my $userdata = shift;
return $userdata->{CB}->(
$userdata->{FD}, $userdata->{FLAGS}, $userdata->{DATA},
);
};

my $pkg_info = HexChat::Embed::pkg_info( $package );
my $hook = HexChat::Internal::hook_fd(
$fileno, $cb, $flags, {
DATA => $data, FD => $fd, CB => $callback, FLAGS => $flags,
},
$package
);
push @{$pkg_info->{hooks}}, $hook if defined $hook;
return $hook;
}

sub unhook {
my $hook = shift @_;
my $package = shift @_;
($package) = caller unless $package;
my $pkg_info = HexChat::Embed::pkg_info( $package );

if( defined( $hook )
&& $hook =~ /^\d+$/
&& grep { $_ == $hook } @{$pkg_info->{hooks}} ) {
$pkg_info->{hooks} = [grep { $_ != $hook } @{$pkg_info->{hooks}}];
return HexChat::Internal::unhook( $hook );
}
return ();
}

sub _do_for_each {
my ($cb, $channels, $servers) = @_;

# not specifying any channels or servers is not the same as specifying
# undef for both
# - not specifying either results in calling the callback inthe current ctx
# - specifying undef for for both results in calling the callback in the
#   front/currently selected tab
if( @_ == 3 && !($channels || $servers) ) {
$channels = [ undef ];
$servers = [ undef ];
} elsif( !($channels || $servers) ) {
$cb->();
return 1;
}

$channels = [ $channels ] unless ref( $channels ) eq 'ARRAY';

if( $servers ) {
$servers = [ $servers ] unless ref( $servers ) eq 'ARRAY';
} else {
$servers = [ undef ];
}

my $num_done = 0;
my $old_ctx = HexChat::get_context();
for my $server ( @$servers ) {
for my $channel ( @$channels ) {
if( HexChat::set_context( $channel, $server ) ) {
$cb->();
$num_done++
}
}
}
HexChat::set_context( $old_ctx );
return $num_done;
}

sub print {
my $text = shift @_;
return "" unless defined $text;
if( ref( $text ) eq 'ARRAY' ) {
if( $, ) {
$text = join $, , @$text;
} else {
$text = join "", @$text;
}
}

return _do_for_each(
sub { HexChat::Internal::print( $text ); },
@_
);
}

sub printf {
my $format = shift;
HexChat::print( sprintf( $format, @_ ) );
}

# make HexChat::prnt() and HexChat::prntf() as aliases for HexChat::print() and
# HexChat::printf(), mainly useful when these functions are exported
sub prnt {
goto &HexChat::print;
}

sub prntf {
goto &HexChat::printf;
}

sub command {
my $command = shift;
return "" unless defined $command;
my @commands;

if( ref( $command ) eq 'ARRAY' ) {
@commands = @$command;
} else {
@commands = ($command);
}

return _do_for_each(
sub { HexChat::Internal::command( $_ ) foreach @commands },
@_
);
}

sub commandf {
my $format = shift;
HexChat::command( sprintf( $format, @_ ) );
}

sub plugin_pref_set {
my $setting = shift // return 0;
my $value   = shift // return 0;

return HexChat::Internal::plugin_pref_set($setting, $value);
}

sub plugin_pref_get {
my $setting = shift // return 0;

return HexChat::Internal::plugin_pref_get($setting);
}

sub plugin_pref_delete {
my $setting = shift // return 0;

return HexChat::Internal::plugin_pref_delete($setting);
}

sub plugin_pref_list {
my %list = HexChat::Internal::plugin_pref_list();

return \%list;
}

sub set_context {
my $context;
if( @_ == 2 ) {
my ($channel, $server) = @_;
$context = HexChat::find_context( $channel, $server );
} elsif( @_ == 1 ) {
if( defined $_[0] && $_[0] =~ /^\d+$/ ) {
$context = $_[0];
} else {
$context = HexChat::find_context( $_[0] );
}
} elsif( @_ == 0 ) {
$context = HexChat::find_context();
}
return $context ? HexChat::Internal::set_context( $context ) : 0;
}

sub get_info {
my $id = shift;
my $info;

if( defined( $id ) ) {
if( grep { $id eq $_ } qw(state_cursor id) ) {
$info = HexChat::get_prefs( $id );
} else {
$info = HexChat::Internal::get_info( $id );
}
}
return $info;
}

sub user_info {
my $nick = HexChat::strip_code(shift @_ || HexChat::get_info( "nick" ));
my $user;
for (HexChat::get_list( "users" ) ) {
if ( HexChat::nickcmp( $_->{nick}, $nick ) == 0 ) {
$user = $_;
last;
}
}
return $user;
}

sub context_info {
my $ctx = shift @_ || HexChat::get_context;
my $old_ctx = HexChat::get_context;
my @fields = (
qw(away channel charset host id inputbox libdirfs modes network),
qw(nick nickserv server topic version win_ptr win_status),
qw(configdir xchatdir xchatdirfs state_cursor),
);

if( HexChat::set_context( $ctx ) ) {
my %info;
for my $field ( @fields ) {
$info{$field} = HexChat::get_info( $field );
}

my $ctx_info = HexChat::Internal::context_info;
@info{keys %$ctx_info} = values %$ctx_info;

HexChat::set_context( $old_ctx );
return \%info;
} else {
return undef;
}
}

sub get_list {
unless( grep { $_[0] eq $_ } qw(channels dcc ignore notify users networks) ) {
Carp::carp( "'$_[0]' does not appear to be a valid list name" );
}
if( $_[0] eq 'networks' ) {
return HexChat::List::Network->get();
} else {
return HexChat::Internal::get_list( $_[0] );
}
}

sub strip_code {
my $pattern = qr<
\cB| #Bold
\cC\d{0,2}(?:,\d{1,2})?| #Color
\e\[(?:\d{1,2}(?:;\d{1,2})*)?m| # ANSI color code
\cG| #Beep
\cO| #Reset
\cV| #Reverse
\c_  #Underline
>x;

if( defined wantarray ) {
my $msg = shift;
$msg =~ s/$pattern//g;
return $msg;
} else {
$_[0] =~ s/$pattern//g if defined $_[0];
}
}

1
}
{
#line 1 "Xchat.pm"
require HexChat;
}
{
#line 1 "Embed.pm"
package HexChat::Embed;
use strict;
use warnings;
use Data::Dumper;
# list of loaded scripts keyed by their package names
# The package names are generated from the filename of the script using
# the file2pkg() function.
# The values of this hash are hash references with the following keys:
#   filename
#     The full path to the script.
#   gui_entry
#     This is hexchat_plugin pointer that is used to remove the script from
#     Plugins and Scripts window when a script is unloaded. This has also
#     been converted with the PTR2IV() macro.
#   hooks
#     This is an array of hooks that are associated with this script.
#     These are pointers that have been converted with the PTR2IV() macro.
#   inner_packages
#     Other packages that are defined in a script. This is not recommended
#     partly because these will also get removed when a script is unloaded.
#   loaded_at
#     A timestamp of when the script was loaded. The value is whatever
#     Time::HiRes::time() returns. This is used to retain load order when
#     using the RELOADALL command.
#   shutdown
#     This is either a code ref or undef. It will be executed just before a
#     script is unloaded.
our %scripts;

# This is a mapping of "inner package" => "containing script package"
our %owner_package;

# used to keep track of which package a hook belongs to, if the normal way of
# checking which script is calling a hook function fails this will be used
# instead. When a hook is created this will be copied to the HookData structure
# and when a callback is invoked this it will be used to set this value.
our $current_package;

sub load {
my $file = expand_homedir( shift @_ );
my $package = file2pkg( $file );

if( exists $scripts{$package} ) {
my $pkg_info = pkg_info( $package );
my $filename = File::Basename::basename( $pkg_info->{filename} );
HexChat::printf(
qq{'%s' already loaded from '%s'.\n},
$filename, $pkg_info->{filename}
);
HexChat::print(
'If this is a different script then it rename and try '.
'loading it again.'
);
return 2;
}

if( open my $source_handle, $file ) {
my $source = do {local $/; <$source_handle>};
close $source_handle;
# we shouldn't care about things after __END__
$source =~ s/^__END__.*//ms;

# this must come before the eval or the filename will not be found in
# HexChat::register
$scripts{$package}{filename} = $file;
$scripts{$package}{loaded_at} = Time::HiRes::time();

# this must be done before the error check so the unload will remove
# any inner packages defined by the script. if a script fails to load
# then any inner packages need to be removed as well.
my @inner_packages = $source =~
m/^\s*package \s+
((?:[^\W:]+(?:::)?)+)\s*? # package name
# strict version number
(?:\d+(?:[.]\d+) # positive integer or decimal-fraction
|v\d+(?:[.]\d+){2,})? # dotted-decimal v-string
[{;]
/mgx;

# check if any inner package defined in the to be loaded script has
# already been defined by another script
my @conflicts;
for my $inner ( @inner_packages ) {
if( exists $owner_package{ $inner } ) {
push @conflicts, $inner;
}
}

# report conflicts and bail out
if( @conflicts ) {
my $error_message =
"'$file' won't be loaded due to conflicting inner packages:\n";
for my $conflict_package ( @conflicts ) {
$error_message .= "   $conflict_package already defined in " .
pkg_info($owner_package{ $conflict_package })->{filename}."\n";
}
HexChat::print( $error_message );

return 2;
}

my $full_path = File::Spec->rel2abs( $file );
$source =~ s/^/#line 1 "$full_path"\n\x7Bpackage $package;/;

# make sure we add the closing } even if the last line is a comment
if( $source =~ /^#.*\Z/m ) {
$source =~ s/^(?=#.*\Z)/\x7D/m;
} else {
$source =~ s/\Z/\x7D/;
}

$scripts{$package}{inner_packages} = [ @inner_packages ];
@owner_package{ @inner_packages } = ($package) x @inner_packages;
_do_eval( $source );

unless( exists $scripts{$package}{gui_entry} ) {
$scripts{$package}{gui_entry} =
HexChat::Internal::register(
"", "unknown", "", $file
);
}

if( $@ ) {
# something went wrong
$@ =~ s/\(eval \d+\)/$file/g;
HexChat::print( "Error loading '$file':\n$@\n" );
# make sure the script list doesn't contain false information
unload( $scripts{$package}{filename} );
return 1;
}
} else {
HexChat::print( "Error opening '$file': $!\n" );
return 2;
}

return 0;
}

sub _do_eval {
no strict;
no warnings;
eval $_[0];
}

sub unload {
my $file = shift @_;
my $package = file2pkg( $file );
my $pkg_info = pkg_info( $package );

if( $pkg_info ) {
# take care of the shutdown callback
if( exists $pkg_info->{shutdown} ) {
# allow incorrectly written scripts to be unloaded
eval {
if( ref $pkg_info->{shutdown} eq 'CODE' ) {
$pkg_info->{shutdown}->();
} elsif ( $pkg_info->{shutdown} ) {
no strict 'refs';
&{$pkg_info->{shutdown}};
}
};
}

if( exists $pkg_info->{hooks} ) {
for my $hook ( @{$pkg_info->{hooks}} ) {
HexChat::unhook( $hook, $package );
}
}

if( exists $pkg_info->{gui_entry} ) {
plugingui_remove( $pkg_info->{gui_entry} );
}

delete @owner_package{ @{$pkg_info->{inner_packages}} };
for my $inner_package ( @{$pkg_info->{inner_packages}} ) {
Symbol::delete_package( $inner_package );
}
Symbol::delete_package( $package );
delete $scripts{$package};
return HexChat::EAT_ALL;
} else {
HexChat::print( qq{"$file" is not loaded.\n} );
return HexChat::EAT_NONE;
}
}

sub unload_all {
for my $package ( keys %scripts ) {
unload( $scripts{$package}->{filename} );
}

return HexChat::EAT_ALL;
}

sub reload {
my $file = shift @_;
my $package = file2pkg( $file );
my $pkg_info = pkg_info( $package );
my $fullpath = $file;

if( $pkg_info ) {
$fullpath = $pkg_info->{filename};
unload( $file );
}

load( $fullpath );
return HexChat::EAT_ALL;
}

sub reload_all {
my @dirs = HexChat::get_info( "configdir" );
push @dirs, File::Spec->catdir( $dirs[0], "plugins" );
for my $dir ( @dirs ) {
my $auto_load_glob = File::Spec->catfile( $dir, "*.pl" );
my @scripts = map { $_->{filename} }
sort { $a->{loaded_at} <=> $b->{loaded_at} } values %scripts;
push @scripts, File::Glob::bsd_glob( $auto_load_glob );

my %seen;
@scripts = grep { !$seen{ $_ }++ } @scripts;

unload_all();
for my $script ( @scripts ) {
if( !pkg_info( file2pkg( $script ) ) ) {
load( $script );
}
}
}
}

sub evaluate {
my ($code) = @_;

my @results = eval $code;
HexChat::print $@ if $@; #print warnings

local $Data::Dumper::Sortkeys = 1;
local $Data::Dumper::Terse    = 1;

if (@results > 1) {
HexChat::print Dumper \@results;
}
elsif (ref $results[0] || !$results[0]) {
HexChat::print Dumper $results[0];
}
else {
HexChat::print $results[0];
}

return HexChat::EAT_HEXCHAT;
};

sub expand_homedir {
my $file = shift @_;

if ( $^O eq "MSWin32" ) {
$file =~ s/^~/$ENV{USERPROFILE}/;
} else {
$file =~ s{^~}{
(getpwuid($>))[7] ||  $ENV{HOME} || $ENV{LOGDIR}
}ex;
}
return $file;
}

sub file2pkg {
my $string = File::Basename::basename( shift @_ );
$string =~ s/\.pl$//i;
$string =~ s|([^A-Za-z0-9/])|'_'.unpack("H*",$1)|eg;
return "HexChat::Script::" . $string;
}

sub pkg_info {
my $package = shift @_;
return $scripts{$package};
}

sub find_external_pkg {
my $level = 1;

while( my @frame = caller( $level ) ) {
return @frame if $frame[0] !~ /(?:^IRC$|^HexChat)/;
$level++;
}
return;
}

sub find_pkg {
my $level = 1;

while( my ($package, $file, $line) = caller( $level ) ) {
return $package if $package =~ /^HexChat::Script::/;
$level++;
}

my $current_package = get_current_package();
if( defined $current_package ) {
return $current_package;
}

my @frame = find_external_pkg();
my $location;

if( $frame[0] or $frame[1] ) {
my $calling_package = $frame[0];
if( defined( my $owner = $owner_package{ $calling_package } ) ) {
return ($owner, $calling_package);
}

$location = $frame[1] ? $frame[1] : "package $frame[0]";
$location .= " line $frame[2]";
} else {
$location = "unknown location";
}

die "Unable to determine which script this hook belongs to. at $location\n";

}

# convert function names into code references
sub fix_callback {
my ($package, $calling_package, $callback) = @_;

unless( ref $callback ) {
unless( $callback =~ /::/ ) {
my $prefix = defined $calling_package ? $calling_package : $package;
$callback =~ s/^/${prefix}::/;
}

no strict 'subs';
$callback = \&{$callback};
}

return $callback;
}

sub get_current_package {
return $current_package;
}

sub set_current_package {
my $old_package = $current_package;
$current_package = shift;

return $old_package;
}

1
}
{
#line 1 "Network.pm"
package HexChat::List::Network;
use strict;
use warnings;
use Storable qw(dclone);
my $last_modified;
my @servers;

sub get {
my $server_file = HexChat::get_info( "configdir" ) . "/servlist.conf";

# recreate the list only if the server list file has changed
if( -f $server_file &&
(!defined $last_modified || $last_modified != -M $server_file ) ) {
$last_modified = -M _;

@servers = ();
if( open my $fh, "<", $server_file ) {
local $/ = "\n\n";
while( my $record = <$fh> ) {
chomp $record;
next if $record =~ /^v=/; # skip the version line
push @servers, HexChat::List::Network::Entry::parse( $record );
}
} else {
warn "Unable to open '$server_file': $!";
}
}

my $clone = dclone( \@servers );
return @$clone;
}

1
}
{
#line 1 "Entry.pm"
package HexChat::List::Network::Entry;
use strict;
use warnings;

my %key_for = (
I => "irc_nick1",
i => "irc_nick2",
U => "irc_user_name",
R => "irc_real_name",
P => "server_password",
B => "nickserv_password",
N => "network",
D => "selected",
E => "encoding",
);
my $letter_key_re = join "|", keys %key_for;

sub parse {
my $data  = shift;
my $entry = {
irc_nick1       => undef,
irc_nick2       => undef,
irc_user_name   => undef,
irc_real_name   => undef,
server_password => undef,

# the order of the channels need to be maintained
# list of { channel => .., key => ... }
autojoins         => HexChat::List::Network::AutoJoin->new( '' ),
connect_commands   => [],
flags             => {},
selected          => undef,
encoding          => undef,
servers           => [],
nickserv_password => undef,
network           => undef,
};

my @fields = split /\n/, $data;
chomp @fields;

$entry->{ autojoins } = HexChat::List::Network::AutoJoin->new();

for my $field ( @fields ) {
SWITCH: for ( $field ) {
/^($letter_key_re)=(.*)/ && do {
$entry->{ $key_for{ $1 } } = $2;
last SWITCH;
};

/^J.(.*)/ && do {
$entry->{ autojoins }->add( $1 );
};

/^F.(.*)/ && do {
$entry->{ flags } = parse_flags( $1 );
};

/^S.(.+)/ && do {
push @{$entry->{servers}}, parse_server( $1 );
};

/^C.(.+)/ && do {
push @{$entry->{connect_commands}}, $1;
};
}
}

#	$entry->{ autojoins } = $entry->{ autojoin_channels };
return $entry;
}

sub parse_flags {
my $value = shift || 0;
my %flags;

$flags{ "cycle" }         = $value & 1  ? 1 : 0;
$flags{ "use_global" }    = $value & 2  ? 1 : 0;
$flags{ "use_ssl" }       = $value & 4  ? 1 : 0;
$flags{ "autoconnect" }   = $value & 8  ? 1 : 0;
$flags{ "use_proxy" }     = $value & 16 ? 1 : 0;
$flags{ "allow_invalid" } = $value & 32 ? 1 : 0;

return \%flags;
}

sub parse_server {
my $data = shift;
if( $data ) {
my ($host, $port) = split /\//, $data;
unless( $port ) {
my @parts = split /:/, $host;

# if more than 2 then we are probably dealing with a IPv6 address
# if less than 2 then no port was specified
if( @parts == 2 ) {
$port = $parts[1];
}
}

$port ||= 6667;
return { host => $host, port => $port };
}
}

1
}
{
#line 1 "AutoJoin.pm"
package HexChat::List::Network::AutoJoin;
use strict;
use warnings;

use overload
#	'%{}' => \&as_hash,
#	'@{}' => \&as_array,
'""'   => 'as_string',
'0+'   => 'as_bool';

sub new {
my $class = shift;

my @autojoins;

return bless \@autojoins, $class;
}

sub add {
my $self = shift;

my $line = shift;

my ( $channel, $key ) = split /,/, $line, 2;
$key = $key || '';

push @$self, {
channel => $channel,
key     => $key,
};
}

sub channels {
my $self = shift;

if( wantarray ) {
return map { $_->{channel} } @$self;
} else {
return scalar @$self;
}
}

sub keys {
my $self = shift;
return map { $_->{key} } @$self  ;

}

sub pairs {
my $self = shift;

my @channels = $self->channels;
my @keys = $self->keys;

my @pairs = map { $_ => shift @keys } @channels;
}

sub as_hash {
my $self = shift;
return +{ $self->pairs };
}

sub as_string {
my $self = shift;
return join " ",
join( ",", $self->channels ),
join( ",", $self->keys );
}

sub as_array {
my $self = shift;
return [ map { \%$_ } @$self ];
}

sub as_bool {
my $self = shift;
return $self->channels ? 1 : "";
}

1
}
;�1����<���L�������#��P\$��x�$���|%����%��,|&��d|(���,)����)��0L/��|5���<;��\<��P�B���,I����K��P\R���V��@Z���[����]��@�`����c��	\f��x	�h���	|i��0
l���
�n���o��Pq����v����x��,�{����|���|~��
,���X
l����
�����
̊��L���X���������̍������������zRx�$����FJw�?:*3$"D`��\X���Ht���9B�B�E �E(�A0�A8�D@

8D0A(B BBBB$��!��mY�A�D GFA,��!��fP�A�A �DFBB���H"���B�J�A �A(�D0L
(A AEBIg(D DBB4d�"��yF�A�A �X
CBK@FB4��"��yF�A�A �`
AEB@FBT�#���B�B�B �B(�A0�A8�GP�XH`YXAP,8D0D(B BBB8,�$���B�B�B �A(�D0��(D BBB4h,%��UB�D�A �r
JGFAABH�T%���F�E�B �E(�D0�D8�D@z
8D0A(B BBBKH��*���F�E�B �E(�D0�D8�D@z
8D0A(B BBBKH8L0��F�E�B �B(�D0�D8�DPD
8D0A(B BBBD8� 6��F�B�A �A(�D0�
(A ABBJH�7��`F�B�B �B(�D0�A8�D@
8D0A(B BBBFH=��nF�B�B �B(�D0�A8�D@
8D0A(B BBBFdX<C���F�B�B �B(�A0�A8�D@V
8J0A(B BBBE�
8A0A(B BBBCp��E��XF�B�B �B(�A0�A8�DPR
8H0A(B BBBK�XN`TXAP�
8A0A(B BBBHx4�K���F�B�B �B(�A0�A8�D`U
8H0A(B BBBH 
8D0A(B BBBK�8A0A(B BBBd��N��F�B�B �B(�A0�A8�D@S
8H0A(B BBBJ�
8A0A(B BBBF8lR���F�B�A �A(�D0�
(A ABBDXT S���F�B�B �A(�A0�DPz
0H(A BBBG
0A(A BBBHd��U���F�B�B �B(�A0�A8�DPV
8H0A(B BBBG�
8A0A(B BBBGd�W��7F�B�B �B(�A0�A8�D`V
8H0A(B BBBG�
8A0A(B BBBBd��Z���F�B�B �B(�A0�A8�DPV
8H0A(B BBBG�
8A0A(B BBBGd��\��"F�B�B �B(�A0�A8�DPV
8H0A(B BBBGz
8A0A(B BBBDLP�^���F�B�B �A(�H0�K
(H BBBLe(A BBBd�D_���F�B�B �B(�A0�A8�DPV
8H0A(B BBBG�
8A0A(B BBBEd	|a��eF�B�B �B(�A0�A8�D@|
8A0A(B BBBHJ
8A0A(B BBBDLp	�c��ZF�B�B �A(�H0�L
(H BBBK�
(A BBBF8�	�d��F�B�A �A(�D0�
(A ABBJH�	xe���F�B�B �B(�A0�A8�DP�
8A0A(B BBBDPH
k���F�B�B �A(�H0�L
(H BBBK
(A BBBGd�
�l���F�B�B �B(�A0�A8�D@S
8H0A(B BBBJ
8A0A(B BBBE8o��F�B�A �A(�D0�
(A ABBJ<@�o���F�B�B �A(�A0�S
(A BBBJD�dq���F�B�B �A(�A0�G�
0A(A BBBF<��r��6F�B�B �A(�H0��
(A BBBJP�s���F�B�B �B(�A0�A8�G� L�$�
8A0A(B BBBD,\v���F�B�H ��
LEE8��|��B�B�D �A(�Dpi
(D ABBI4��}���F�I�A �A(�K0�(C ABB0
�~��{E�A�D Q
FAFKFA4
�~��&H]L
�~��/ `
���L�a
CP(�
p����N�A�D ��FB0,�+2CM 
ԝ�:�:���o�� 
~�<p��	���o���o����o�o����o�:0 @ P ` p � � � � � � � � !! !0!@!P!`!p!�!�!�!�!�!�!�!�!"" "0"@"P"`"p"�"�"�"�"�"�"�"�"## #0#@#P#`#p#�#�#�#�#�#�#�#�#$$ $0$@$P$`$p$�$�$�$�$�$�$�$�$%% %0%@%P%`%p%�%�%�%�%�%@8697685132661ce8d7404db807d97c6d2d1c4a.debug9�7.shstrtab.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.got.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.dynamic.data.bss.gnu_debuglink�� ��$1���o��0;  `	C��~K���o���X���o��@g�qB��p{  v    ���%�%��%�%���+�+Qr�ԝԝ
����m ��
�
��((�
��:�*��:�*��:�*��<�,�@0�@0 �04<0�

Youez - 2016 - github.com/yon3zu
LinuXploit