����JFIFXX�����    $.' ",#(7),01444'9=82<.342  2!!22222222222222222222222222222222222222222222222222����"��4�� ���,�PG"Z_�4�˷����kjز�Z�,F+��_z�,�© �����zh6�٨�ic�fu���#ډb���_�N�?��wQ���5-�~�I���8����TK<5o�Iv-�����k�_U_�����~b�M��d����Ӝ�U�Hh��?]��E�w��Q���k�{��_}qFW7HTՑ��Y��F�?_�'ϔ��_�Ջt��=||I ��6�έ"�����D���/[�k�9���Y�8ds|\���Ҿp6�Ҵ���]��.����6�z<�v��@]�i%��$j��~�g��J>��no����pM[me�i$[����s�o�ᘨ�˸ nɜG-�ĨU�ycP�3.DB�li�;��hj���x7Z^�N�h������N3u{�:j�x�힞��#M&��jL P@_���� P��&��o8������9�����@Sz6�t7#O�ߋ �s}Yf�T���lmr����Z)'N��k�۞p����w\�Tȯ?�8`�O��i{wﭹW�[�r�� ��Q4F�׊���3m&L�=��h3����z~��#�\�l :�F,j@�� ʱ�wQT����8�"kJO���6�֚l����}���R�>ډK���]��y����&����p�}b��;N�1�m�r$�|��7�>e�@B�TM*-iH��g�D�)� E�m�|�ؘbҗ�a��Ҿ����t4���o���G��*oCN�rP���Q��@z,|?W[0�����:�n,jWiE��W��$~/�hp\��?��{(�0���+�Y8rΟ�+����>S-S����VN;�}�s?.����� w�9��˟<���Mq4�Wv'��{)0�1mB��V����W[�����8�/<� �%���wT^�5���b��)iM� pg�N�&ݝ��VO~�q���u���9� ����!��J27����$O-���! �:�%H��� ـ����y�ΠM=t{!S�� oK8������t<����è:a������[�����ա�H���~��w��Qz`�po�^ ����Q��n� �,uu�C�$ ^���,������8�#��:�6��e�|~���!�3�3.�\0��q��o�4`.|� ����y�Q�`~;�d�ׯ,��O�Zw�������`73�v�܋�<���Ȏ�� ـ4k��5�K�a�u�=9Yd��$>x�A�&�� j0� ���vF��� Y�|�y��� ~�6�@c��1vOp�Ig����4��l�OD���L����� R���c���j�_�uX6��3?nk��Wy�f;^*B� ��@�~a�`��Eu������+���6�L��.ü>��}y���}_�O�6�͐�:�YrG�X��kG�����l^w���~㒶sy��Iu�!� W ��X��N�7BV��O��!X�2����wvG�R�f�T#�����t�/?���%8�^�W�aT��G�cL�M���I��(J����1~�8�?aT ���]����AS�E��(��*E}� 2��#I/�׍qz��^t�̔���b�Yz4x���t�){ OH��+(E��A&�N�������XT��o��"�XC��'���)}�J�z�p� ��~5�}�^����+�6����w��c��Q�|Lp�d�H��}�(�.|����k��c4^�"�����Z?ȕ ��a<�L�!039C� �Eu�C�F�Ew�ç ;�n?�*o���B�8�bʝ���'#Rqf���M}7����]����s2tcS{�\icTx;�\��7K���P���ʇ Z O-��~��c>"��?�������P��E��O�8��@�8��G��Q�g�a�Վ���󁶠�䧘��_%#r�>�1�z�a��eb��qcPѵ��n���#L��� =��׀t� L�7�`��V���A{�C:�g���e@�w1 Xp3�c3�ġ����p��M"'-�@n4���fG��B3�DJ�8[Jo�ߐ���gK)ƛ��$���� ���8�3�����+���� �����6�ʻ���� ���S�kI�*KZlT _`���?��K����QK�d����B`�s}�>���`��*�>��,*@J�d�oF*����弝��O}�k��s��]��y�ߘ��c1G�V���<=�7��7����6�q�PT��tXԀ�!9*4�4Tހ3XΛex�46���Y��D ����� �BdemDa����\�_l,��G�/���֌7���Y�](�xTt^%�GE�����4�}bT���ڹ�����;Y)���B�Q��u��>J/J �⮶.�XԄ��j�ݳ�+E��d ��r�5�_D�1 ��o�� �B�x�΢�#���<��W�����8���R6�@g�M�.��� dr�D��>(otU��@x=��~v���2� ӣ�d�oBd��3�eO�6�㣷�����ݜ6��6Y��Qz`��S��{���\P�~z m5{J/L��1������<�e�ͅPu�b�]�ϔ���'������f�b� Zpw��c`"��i���BD@:)ִ�:�]��hv�E�w���T�l��P���"Ju�}��وV J��G6��. J/�Qgl߭�e�����@�z�Zev2u�)]կ�����7x���s�M�-<ɯ�c��r�v�����@��$�ޮ}lk���a���'����>x��O\�ZFu>�����ck#��&:��`�$�ai�>2Δ����l���oF[h��lE�ܺ�Πk:)���`�� $[6�����9�����kOw�\|���8}������ބ:��񶐕��I�A1/�=�2[�,�!��.}gN#�u����b��� ~��݊��}34q����d�E��Lc��$��"�[q�U�硬g^��%B �z���r�pJ�ru%v\h1Y�ne`ǥ:g���pQM~�^�Xi� ��`S�:V29.�P���V�?B�k�� AEvw%�_�9C�Q����wKekPؠ�\�;Io d�{ ߞo�c1eP����\� `����E=���@K<�Y���eڼ�J���w����{av�F�'�M�@/J��+9p���|]�����Iw &`��8���&M�hg��[�{��Xj��%��Ӓ�$��(����ʹN���<>�I���RY���K2�NPlL�ɀ)��&e����B+ь����( � �JTx���_?EZ� }@ 6�U���뙢ط�z��dWI�n` D����噥�[��uV��"�G&Ú����2g�}&m��?ċ�"����Om#��������� ��{�ON��"S�X��Ne��ysQ���@Fn��Vg���dX�~nj�]J�<�K]:��FW��b�������62�=��5f����JKw��bf�X�55��~J �%^����:�-�QIE��P��v�nZum� z � ~ə ���� ���ة����;�f��\v���g�8�1��f24;�V���ǔ�)����9���1\��c��v�/'Ƞ�w�������$�4�R-��t���� e�6�/�ġ �̕Ecy�J���u�B���<�W�ַ~�w[B1L۲�-JS΂�{���΃������A��20�c#��@ 0!1@AP"#2Q`$3V�%45a6�FRUq��� ����^7ׅ,$n�������+��F�`��2X'��0vM��p�L=������5��8������u�p~���.�`r�����\���O��,ư�0oS ��_�M�����l���4�kv\JSd���x���SW�<��Ae�IX����������$I���w�:S���y���›R��9�Q[���,�5�;�@]�%���u�@ *ro�lbI �� ��+���%m:�͇ZV�����u�̉����θau<�fc�.����{�4Ա� �Q����*�Sm��8\ujqs]{kN���)qO�y�_*dJ�b�7���yQqI&9�ԌK!�M}�R�;������S�T���1���i[U�ɵz�]��U)V�S6���3$K{�ߊ<�(� E]Զ[ǼENg�����'�\?#)Dkf��J���o��v���'�%ƞ�&K�u�!��b�35LX�Ϸ��63$K�a�;�9>,R��W��3�3� d�JeTYE.Mϧ��-�o�j3+y��y^�c�������VO�9NV\nd�1 ��!͕_)a�v;����թ�M�lWR1��)El��P;��yوÏ�u 3�k�5Pr6<�⒲l�!˞*��u־�n�!�l:����UNW ��%��Chx8vL'��X�@��*��)���̮��ˍ��� ���D-M�+J�U�kvK����+�x8��cY������?�Ԡ��~3mo��|�u@[XeY�C�\Kp�x8�oC�C�&����N�~3-H���� ��MX�s�u<`���~"WL��$8ξ��3���a�)|:@�m�\���^�`�@ҷ)�5p+��6���p�%i)P M���ngc�����#0Aruz���RL+xSS?���ʮ}()#�t��mˇ!��0}}y����<�e� �-ή�Ԩ��X������ MF���ԙ~l L.3���}�V뽺�v�����멬��Nl�)�2����^�Iq��a��M��qG��T�����c3#������3U�Ǎ���}��לS�|qa��ڃ�+���-��2�f����/��bz��ڐ�� �ݼ[2�ç����k�X�2�* �Z�d���J�G����M*9W���s{��w���T��x��y,�in�O�v��]���n����P�$�JB@=4�OTI�n��e�22a\����q�d���%�$��(���:���: /*�K[PR�fr\nڙdN���F�n�$�4�[�� U�zƶ����� �mʋ���,�ao�u 3�z� �x��Kn����\[��VFmbE;�_U��&V�Gg�]L�۪&#n%�$ɯ�dG���D�TI=�%+AB�Ru#��b4�1�»x�cs�YzڙJG��f��Il��d�eF'T� iA��T���uC�$����Y��H?����[!G`}���ͪ� �纤Hv\������j�Ex�K���!���OiƸ�Yj�+u-<���'q����uN�*�r\��+�]���<�wOZ.fp�ێ��,-*)V?j-kÊ#�`�r��dV����(�ݽBk�����G�ƛk�QmUڗe��Z���f}|����8�8��a���i��3'J�����~G_�^���d�8w������ R�`(�~�.��u���l�s+g�bv���W���lGc}��u���afE~1�Ue������Z�0�8�=e�� f@/�jqEKQQ�J��oN��J���W5~M>$6�Lt�;$ʳ{���^��6�{����v6���ķܰg�V�cnn �~z�x�«�,2�u�?cE+Ș�H؎�%�Za�)���X>uW�Tz�Nyo����s���FQƤ��$��*�&�LLXL)�1�" L��eO��ɟ�9=���:t��Z���c��Ž���Y?�ӭV�wv�~,Y��r�ۗ�|�y��GaF�����C�����.�+� ���v1���fήJ�����]�S��T��B��n5sW}y�$��~z�'�c ��8 ��� ,! �p��VN�S��N�N�q��y8z˱�A��4��*��'������2n<�s���^ǧ˭P�Jޮɏ�U�G�L�J�*#��<�V��t7�8����TĜ>��i}K%,���)[��z�21z ?�N�i�n1?T�I�R#��m-�����������������1����lA�`��fT5+��ܐ�c�q՝��ʐ��,���3�f2U�եmab��#ŠdQ�y>\��)�SLY����w#��.���ʑ�f��� ,"+�w�~�N�'�c�O�3F�������N<���)j��&��,-� �љ���֊�_�zS���TǦ����w�>��?�������n��U仆�V���e�����0���$�C�d���rP �m�׈e�Xm�Vu� �L��.�bֹ��� �[Դaզ���*��\y�8�Է:�Ez\�0�Kq�C b��̘��cө���Q��=0Y��s�N��S.���3.���O�o:���#���v7�[#߫ ��5�܎�L���Er4���9n��COWlG�^��0k�%<���ZB���aB_���������'=��{i�v�l�$�uC���mƎҝ{�c㱼�y]���W�i ��ߧc��m�H� m�"�"�����;Y�ߝ�Z�Ǔ�����:S#��|}�y�,/k�Ld� TA�(�AI$+I3��;Y*���Z��}|��ӧO��d�v��..#:n��f>�>���ȶI�TX��� 8��y����"d�R�|�)0���=���n4��6ⲑ�+��r<�O�܂~zh�z����7ܓ�HH�Ga롏���nCo�>������a ���~]���R���̲c?�6(�q�;5%� |�uj�~z8R=X��I�V=�|{v�Gj\gc��q����z�؋%M�ߍ����1y��#��@f^���^�>N�����#x#۹��6�Y~�?�dfPO��{��P�4��V��u1E1J �*|���%���JN��`eWu�zk M6���q t[�� ��g�G���v��WIG��u_ft����5�j�"�Y�:T��ɐ���*�;� e5���4����q$C��2d�}���� _S�L#m�Yp��O�.�C�;��c����Hi#֩%+) �Ӎ��ƲV���SYź��g |���tj��3�8���r|���V��1#;.SQ�A[���S������#���`n�+���$��$I �P\[�@�s��(�ED�z���P��])8�G#��0B��[ى��X�II�q<��9�~[Z멜�Z�⊔IWU&A>�P~�#��dp<�?����7���c��'~���5 ��+$���lx@�M�dm��n<=e�dyX��?{�|Aef ,|n3�<~z�ƃ�uۧ�����P��Y,�ӥQ�*g�#먙R�\���;T��i,��[9Qi歉����c>]9�� ��"�c��P�� �Md?٥��If�ت�u��k��/����F��9�c*9��Ǎ:�ØF���z�n*�@|I�ށ9����N3{'��[�'ͬ�Ҳ4��#}��!�V� Fu��,�,mTIk���v C�7v���B�6k�T9��1�*l� '~��ƞF��lU��'�M ����][ΩũJ_�{�i�I�n��$���L�� j��O�dx�����kza۪��#�E��Cl����x˘�o�����V���ɞ�ljr��)�/,�߬h�L��#��^��L�ф�,íMƁe�̩�NB�L�����iL����q�}��(��q��6IçJ$�W�E$��:������=#����(�K�B����zђ <��K(�N�۫K�w��^O{!����)�H���>x�������lx�?>Պ�+�>�W���,Ly!_�D���Ō�l���Q�!�[ �S����J��1��Ɛ�Y}��b,+�Lo�x�ɓ)����=�y�oh�@�꥟/��I��ѭ=��P�y9��� �ۍYӘ�e+�p�Jnϱ?V\SO%�(�t� ���=?MR�[Ș�����d�/ ��n�l��B�7j� ��!�;ӥ�/�[-���A�>�dN�sLj ��,ɪv��=1c�.SQ�O3�U���ƀ�ܽ�E����������̻��9G�ϷD�7(�}��Ävӌ\�y�_0[w ���<΍>����a_��[0+�L��F.�޺��f�>oN�T����q;���y\��bՃ��y�jH�<|q-eɏ�_?_9+P���Hp$�����[ux�K w�Mw��N�ی'$Y2�=��q���KB��P��~������Yul:�[<����F1�2�O���5=d����]Y�sw:���Ϯ���E��j,_Q��X��z`H1,#II ��d�wr��P˂@�ZJV����y$�\y�{}��^~���[:N����ߌ�U�������O��d�����ؾe��${p>G��3c���Ė�lʌ�� ת��[��`ϱ�-W����dg�I��ig2��� ��}s ��ؤ(%#sS@���~���3�X�nRG�~\jc3�v��ӍL��M[JB�T��s3}��j�Nʖ��W����;7��ç?=X�F=-�=����q�ߚ���#���='�c��7���ڑW�I(O+=:uxq�������������e2�zi+�kuG�R��������0�&e�n���iT^J����~\jy���p'dtG��s����O��3����9* �b#Ɋ�� p������[Bws�T�>d4�ۧs���nv�n���U���_�~,�v����ƜJ1��s�� �QIz��)�(lv8M���U=�;����56��G���s#�K���MP�=��LvyGd��}�VwWBF�'�à �?MH�U�g2�� ����!�p�7Q��j��ڴ����=��j�u��� Jn�A s���uM������e��Ɔ�Ҕ�!)'��8Ϣ�ٔ��ޝ(��Vp���צ֖d=�IC�J�Ǡ{q������kԭ�߸���i��@K����u�|�p=..�*+����x�����z[Aqġ#s2a�Ɗ���RR�)*HRsi�~�a &f��M��P����-K�L@��Z��Xy�'x�{}��Zm+���:�)�) IJ�-i�u���� ���ܒH��'�L(7�y�GӜq���� j��� 6ߌg1�g�o���,kر���tY�?W,���p���e���f�OQS��!K�۟cҒA�|ս�j�>��=⬒��˧L[�� �߿2JaB~R��u�:��Q�] �0H~���]�7��Ƽ�I���(}��cq '�ήET���q�?f�ab���ӥvr� �)o��-Q��_'����ᴎo��K������;��V���o��%���~OK ����*��b�f:���-ťIR��`B�5!RB@���ï�� �u �̯e\�_U�_������� g�ES��3�������QT��a����x����U<~�c?�*�#]�MW,[8O�a�x��]�1bC|踤�P��lw5V%�)�{t�<��d��5���0i�XSU��m:��Z�┵�i�"��1�^B�-��P�hJ��&)O��*�D��c�W��vM��)����}���P��ܗ-q����\mmζZ-l@�}��a��E�6��F�@��&Sg@���ݚ�M����� ȹ 4����#p�\H����dYDo�H���"��\��..R�B�H�z_�/5˘����6��KhJR��P�mƶi�m���3�,#c�co��q�a)*Pt����R�m�k�7x�D�E�\Y�閣_X�<���~�)���c[[�BP����6�Yq���S��0����%_����;��Àv�~�| VS؇ ��'O0��F0��\���U�-�d@�����7�SJ*z��3n��y��P����O���������m�~�P�3|Y��ʉr#�C�<�G~�.,! ���bqx���h~0=��!ǫ�jy����l�O,�[B��~��|9��ٱ����Xly�#�i�B��g%�S��������tˋ���e���ې��\[d�t)��.+u�|1 ������#�~Oj����hS�%��i.�~X���I�H�m��0n���c�1uE�q��cF�RF�o���7� �O�ꮧ� ���ۛ{��ʛi5�rw?׌#Qn�TW��~?y$��m\�\o����%W� ?=>S�N@�� �Ʈ���R����N�)�r"C�:��:����� �����#��qb��Y�. �6[��2K����2u�Ǧ�HYR��Q�MV��� �G�$��Q+.>�����nNH��q�^��� ����q��mM��V��D�+�-�#*�U�̒ ���p욳��u:�������IB���m���PV@O���r[b= �� ��1U�E��_Nm�yKbN�O���U�}�the�`�|6֮P>�\2�P�V���I�D�i�P�O;�9�r�mAHG�W�S]��J*�_�G��+kP�2����Ka�Z���H�'K�x�W�MZ%�O�YD�Rc+o��?�q��Ghm��d�S�oh�\�D�|:W������UA�Qc yT�q������~^�H��/��#p�CZ���T�I�1�ӏT����4��"�ČZ�����}��`w�#�*,ʹ�� ��0�i��課�Om�*�da��^gJ݅{���l�e9uF#T�ֲ��̲�ٞC"�q���ߍ ոޑ�o#�XZTp����@ o�8��(jd��xw�]�,f���`~�|,s��^����f�1���t��|��m�򸄭/ctr��5s��7�9Q�4�H1꠲BB@l9@���C�����+�wp�xu�£Yc�9��?`@#�o�mH�s2��)�=��2�.�l����jg�9$�Y�S�%*L������R�Y������7Z���,*=�䷘$�������arm�o�ϰ���UW.|�r�uf����IGw�t����Zwo��~5 ��YյhO+=8fF�)�W�7�L9lM�̘·Y���֘YLf�큹�pRF���99.A �"wz��=E\Z���'a� 2��Ǚ�#;�'}�G���*��l��^"q��+2FQ� hj��kŦ��${���ޮ-�T�٭cf�|�3#~�RJ����t��$b�(R��(����r���dx� >U b�&9,>���%E\� Ά�e�$��'�q't��*�א���ެ�b��-|d���SB�O�O��$�R+�H�)�܎�K��1m`;�J�2�Y~9��O�g8=vqD`K[�F)k�[���1m޼c��n���]s�k�z$@��)!I �x՝"v��9=�ZA=`Ɠi �:�E��)`7��vI��}d�YI�_ �o�:ob���o ���3Q��&D&�2=�� �Ά��;>�h����y.*ⅥS������Ӭ�+q&����j|UƧ����}���J0��WW< ۋS�)jQR�j���Ư��rN)�Gű�4Ѷ(�S)Ǣ�8��i��W52���No˓� ۍ%�5brOn�L�;�n��\G����=�^U�dI���8$�&���h��'���+�(������cȁ߫k�l��S^���cƗjԌE�ꭔ��gF���Ȓ��@���}O���*;e�v�WV���YJ\�]X'5��ղ�k�F��b 6R�o՜m��i N�i����>J����?��lPm�U��}>_Z&�KK��q�r��I�D�Չ~�q�3fL�:S�e>���E���-G���{L�6p�e,8��������QI��h��a�Xa��U�A'���ʂ���s�+טIjP�-��y�8ۈZ?J$��W�P� ��R�s�]��|�l(�ԓ��sƊi��o(��S0��Y� 8�T97.�����WiL��c�~�dxc�E|�2!�X�K�Ƙਫ਼�$((�6�~|d9u+�qd�^3�89��Y�6L�.I�����?���iI�q���9�)O/뚅����O���X��X�V��ZF[�یgQ�L��K1���RҖr@v�#��X�l��F���Нy�S�8�7�kF!A��sM���^rkp�jP�DyS$N���q��nxҍ!U�f�!eh�i�2�m���`�Y�I�9r�6� �TF���C}/�y�^���Η���5d�'��9A-��J��>{�_l+�`��A���[�'��յ�ϛ#w:݅�%��X�}�&�PSt�Q�"�-��\縵�/����$Ɨh�Xb�*�y��BS����;W�ջ_mc�����vt?2}1�;qS�d�d~u:2k5�2�R�~�z+|HE!)�Ǟl��7`��0�<�,�2*���Hl-��x�^����'_TV�gZA�'j� ^�2Ϊ��N7t�����?w�� �x1��f��Iz�C-Ȗ��K�^q�;���-W�DvT�7��8�Z�������� hK�(P:��Q- �8�n�Z���܃e貾�<�1�YT<�,�����"�6{/ �?�͟��|1�:�#g��W�>$����d��J��d�B��=��jf[��%rE^��il:��B���x���Sּ�1հ��,�=��*�7 fcG��#q� �eh?��2�7�����,�!7x��6�n�LC�4x��},Geǝ�tC.��vS �F�43��zz\��;QYC,6����~;RYS/6���|2���5���v��T��i����������mlv��������&� �nRh^ejR�LG�f���? �ۉҬܦƩ��|��Ȱ����>3����!v��i�ʯ�>�v��オ�X3e���_1z�Kȗ\<������!�8���V��]��?b�k41�Re��T�q��mz��TiOʦ�Z��Xq���L������q"+���2ۨ��8}�&N7XU7Ap�d�X��~�׿��&4e�o�F��� �H����O���č�c�� 懴�6���͉��+)��v;j��ݷ�� �UV�� i��� j���Y9GdÒJ1��詞�����V?h��l����l�cGs�ځ�������y�Ac�����\V3�? �� ܙg�>qH�S,�E�W�[�㺨�uch�⍸�O�}���a��>�q�6�n6����N6�q������N ! 1AQaq�0@����"2BRb�#Pr���3C`��Scst���$4D���%Td�� ?���N����a��3��m���C���w��������xA�m�q�m���m������$����4n淿t'��C"w��zU=D�\R+w�p+Y�T�&�պ@��ƃ��3ޯ?�Aﶂ��aŘ���@-�����Q�=���9D��ռ�ѻ@��M�V��P��܅�G5�f�Y<�u=,EC)�<�Fy'�"�&�չ�X~f��l�KԆV��?�� �W�N����=(� �;���{�r����ٌ�Y���h{�١������jW����P���Tc�����X�K�r��}���w�R��%��?���E��m�� �Y�q|����\lEE4���r���}�lsI�Y������f�$�=�d�yO����p�����yBj8jU�o�/�S��?�U��*������ˍ�0������u�q�m [�?f����a�� )Q�>����6#������� ?����0UQ����,IX���(6ڵ[�DI�MNލ�c&���υ�j\��X�R|,4��� j������T�hA�e��^���d���b<����n�� �즇�=!���3�^�`j�h�ȓr��jẕ�c�,ٞX����-����a�ﶔ���#�$��]w�O��Ӫ�1y%��L�Y<�wg#�ǝ�̗`�x�xa�t�w��»1���o7o5��>�m뭛C���Uƃߜ}�C���y1Xνm�F8�jI���]����H���ۺиE@I�i;r�8ӭ����V�F�Շ| ��&?�3|x�B�MuS�Ge�=Ӕ�#BE5G�����Y!z��_e��q�р/W>|-�Ci߇�t�1ޯќd�R3�u��g�=0 5��[?�#͏��q�cf���H��{ ?u�=?�?ǯ���}Z��z���hmΔ�BFTW�����<�q�(v� ��!��z���iW]*�J�V�z��gX֧A�q�&��/w���u�gYӘa���; �i=����g:��?2�dž6�ى�k�4�>�Pxs����}������G�9��3 ���)gG�R<>r h�$��'nc�h�P��Bj��J�ҧH� -��N1���N��?��~��}-q!=��_2hc�M��l�vY%UE�@|�v����M2�.Y[|y�"Eï��K�ZF,�ɯ?,q�?v�M 80jx�"�;�9vk�����+ ֧�� �ȺU��?�%�vcV��mA�6��Qg^M����A}�3�nl� QRN�l8�kkn�'�����(��M�7m9و�q���%ޟ���*h$Zk"��$�9��: �?U8�Sl��,,|ɒ��xH(ѷ����Gn�/Q�4�P��G�%��Ա8�N��!� �&�7�;���eKM7�4��9R/%����l�c>�x;������>��C�:�����t��h?aKX�bhe�ᜋ^�$�Iհ �hr7%F$�E��Fd���t��5���+�(M6�t����Ü�UU|zW�=a�Ts�Tg������dqP�Q����b'�m���1{|Y����X�N��b �P~��F^F:����k6�"�j!�� �I�r�`��1&�-$�Bevk:y���#yw��I0��x��=D�4��tU���P�ZH��ڠ底taP��6����b>�xa����Q�#� WeF��ŮNj�p�J* mQ�N����*I�-*�ȩ�F�g�3 �5��V�ʊ�ɮ�a��5F���O@{���NX��?����H�]3��1�Ri_u��������ѕ�� ����0��� F��~��:60�p�͈�S��qX#a�5>���`�o&+�<2�D����: �������ڝ�$�nP���*)�N�|y�Ej�F�5ټ�e���ihy�Z �>���k�bH�a�v��h�-#���!�Po=@k̆IEN��@��}Ll?j�O������߭�ʞ���Q|A07x���wt!xf���I2?Z��<ץ�T���cU�j��]��陎Ltl �}5�ϓ��$�,��O�mˊ�;�@O��jE��j(�ا,��LX���LO���Ц�90�O �.����a��nA���7������j4 ��W��_ٓ���zW�jcB������y՗+EM�)d���N�g6�y1_x��p�$Lv:��9�"z��p���ʙ$��^��JԼ*�ϭ����o���=x�Lj�6�J��u82�A�H�3$�ٕ@�=Vv�]�'�qEz�;I˼��)��=��ɯ���x �/�W(V���p�����$ �m�������u�����񶤑Oqˎ�T����r��㠚x�sr�GC��byp�G��1ߠ�w e�8�$⿄����/�M{*}��W�]˷.�CK\�ުx���/$�WPw���r� |i���&�}�{�X� �>��$-��l���?-z���g����lΆ���(F���h�vS*���b���߲ڡn,|)mrH[���a�3�ר�[1��3o_�U�3�TC�$��(�=�)0�kgP���� ��u�^=��4 �WYCҸ:��vQ�ר�X�à��tk�m,�t*��^�,�}D*� �"(�I��9R����>`�`��[~Q]�#af��i6l��8���6�:,s�s�N6�j"�A4���IuQ��6E,�GnH��zS�HO�uk�5$�I�4��ؤ�Q9�@��C����wp�BGv[]�u�Ov���0I4���\��y�����Q�Ѹ��~>Z��8�T��a��q�ޣ;z��a���/��S��I:�ܫ_�|������>=Z����8:�S��U�I�J��"IY���8%b8���H��:�QO�6�;7�I�S��J��ҌAά3��>c���E+&jf$eC+�z�;��V����� �r���ʺ������my�e���aQ�f&��6�ND��.:��NT�vm�<- u���ǝ\MvZY�N�NT��-A�>jr!S��n�O 1�3�Ns�%�3D@���`������ܟ 1�^c<���� �a�ɽ�̲�Xë#�w�|y�cW�=�9I*H8�p�^(4���՗�k��arOcW�tO�\�ƍR��8����'�K���I�Q�����?5�>[�}��yU�ײ -h��=��% q�ThG�2�)���"ו3]�!kB��*p�FDl�A���,�eEi�H�f�Ps�����5�H:�Փ~�H�0Dت�D�I����h�F3�������c��2���E��9�H��5�zԑ�ʚ�i�X�=:m�xg�hd(�v����׊�9iS��O��d@0ڽ���:�p�5�h-��t�&���X�q�ӕ,��ie�|���7A�2���O%P��E��htj��Y1��w�Ѓ!����  ���� ࢽ��My�7�\�a�@�ţ�J �4�Ȼ�F�@o�̒?4�wx��)��]�P��~�����u�����5�����7X ��9��^ܩ�U;Iꭆ 5 �������eK2�7(�{|��Y׎ �V��\"���Z�1� Z�����}��(�Ǝ"�1S���_�vE30>���p;� ΝD��%x�W�?W?v����o�^V�i�d��r[��/&>�~`�9Wh��y�;���R��� ;;ɮT��?����r$�g1�K����A��C��c��K��l:�'��3 c�ﳯ*"t8�~l��)���m��+U,z��`(�>yJ�?����h>��]��v��ЍG*�{`��;y]��I�T� ;c��NU�fo¾h���/$���|NS���1�S�"�H��V���T���4��uhǜ�]�v;���5�͠x��'C\�SBpl���h}�N����� A�Bx���%��ޭ�l��/����T��w�ʽ]D�=����K���ž�r㻠l4�S�O?=�k �M:� ��c�C�a�#ha���)�ѐxc�s���gP�iG��{+���x���Q���I= �� z��ԫ+ �8"�k�ñ�j=|����c ��y��CF��/��*9ж�h{ �?4�o� ��k�m�Q�N�x��;�Y��4膚�a�w?�6�>e]�����Q�r�:����g�,i"�����ԩA�*M�<�G��b�if��l^M��5� �Ҩ�{����6J��ZJ�����P�*�����Y���ݛu�_4�9�I8�7���������,^ToR���m4�H��?�N�S�ѕw��/S��甍�@�9H�S�T��t�ƻ���ʒU��*{Xs�@����f�����֒Li�K{H�w^���������Ϥm�tq���s� ���ք��f:��o~s��g�r��ט� �S�ѱC�e]�x���a��) ���(b-$(�j>�7q�B?ӕ�F��hV25r[7 Y� }L�R��}����*sg+��x�r�2�U=�*'WS��ZDW]�WǞ�<��叓���{�$�9Ou4��y�90-�1�'*D`�c�^o?(�9��u���ݐ��'PI&� f�Jݮ�������:wS����jfP1F:X �H�9dԯ���˝[�_54 �}*;@�ܨ�� ð�yn�T���?�ןd�#���4rG�ͨ��H�1�|-#���Mr�S3��G�3�����)�.᧏3v�z֑��r����$G"�`j �1t��x0<Ɔ�Wh6�y�6��,œ�Ga��gA����y��b��)��h�D��ß�_�m��ü �gG;��e�v��ݝ�nQ� ��C����-�*��o���y�a��M��I�>�<���]obD��"�:���G�A��-\%LT�8���c�)��+y76���o�Q�#*{�(F�⽕�y����=���rW�\p���۩�c���A���^e6��K������ʐ�cVf5$�'->���ՉN"���F�"�UQ@�f��Gb~��#�&�M=��8�ט�JNu9��D��[̤�s�o�~������ G��9T�tW^g5y$b��Y'��س�Ǵ�=��U-2 #�MC�t(�i� �lj�@Q 5�̣i�*�O����s�x�K�f��}\��M{E�V�{�υ��Ƈ�����);�H����I��fe�Lȣr�2��>��W�I�Ȃ6������i��k�� �5�YOxȺ����>��Y�f5'��|��H+��98pj�n�.O�y�������jY��~��i�w'������l�;�s�2��Y��:'lg�ꥴ)o#'Sa�a�K��Z� �m��}�`169�n���"���x��I ��*+� }F<��cГ���F�P�������ֹ*�PqX�x۩��,� ��N�� �4<-����%����:��7����W���u�`����� $�?�I��&����o��o��`v�>��P��"��l���4��5'�Z�gE���8���?��[�X�7(��.Q�-��*���ތL@̲����v��.5���[��=�t\+�CNܛ��,g�SQnH����}*F�G16���&:�t��4ُ"A��̣��$�b �|����#rs��a�����T�� ]�<�j��BS�('$�ɻ� �wP;�/�n��?�ݜ��x�F��yUn�~mL*-�������Xf�wd^�a�}��f�,=t�׵i�.2/wpN�Ep8�OР���•��R�FJ� 55TZ��T �ɭ�<��]��/�0�r�@�f��V��V����Nz�G��^���7hZi����k��3�,kN�e|�vg�1{9]_i��X5y7� 8e]�U����'�-2,���e"����]ot�I��Y_��n�(JҼ��1�O ]bXc���Nu�No��pS���Q_���_�?i�~�x h5d'�(qw52] ��'ޤ�q��o1�R!���`ywy�A4u���h<קy���\[~�4�\ X�Wt/� 6�����n�F�a8��f���z �3$�t(���q��q�x��^�XWeN'p<-v�!�{�(>ӽDP7��ո0�y)�e$ٕv�Ih'Q�EA�m*�H��RI��=:��� ���4牢) �%_iN�ݧ�l]� �Nt���G��H�L��� ɱ�g<���1V�,�J~�ٹ�"K��Q�� 9�HS�9�?@��k����r�;we݁�]I�!{ �@�G�[�"��`���J:�n]�{�cA�E����V��ʆ���#��U9�6����j�#Y�m\��q�e4h�B�7��C�������d<�?J����1g:ٳ���=Y���D�p�ц� ׈ǔ��1�]26؜oS�'��9�V�FVu�P�h�9�xc�oq�X��p�o�5��Ա5$�9W�V(�[Ak�aY錎qf;�'�[�|���b�6�Ck��)��#a#a˙��8���=äh�4��2��C��4tm^ �n'c���]GQ$[Wҿ��i���vN�{Fu ��1�gx��1┷���N�m��{j-,��x�� Ūm�ЧS�[�s���Gna���䑴�� x�p 8<������97�Q���ϴ�v�aϚG��Rt�Һ׈�f^\r��WH�JU�7Z���y)�vg=����n��4�_)y��D'y�6�]�c�5̪�\� �PF�k����&�c;��cq�$~T�7j ���nç]�<�g ":�to�t}�159�<�/�8������m�b�K#g'I'.W�����6��I/��>v��\�MN��g���m�A�yQL�4u�Lj�j9��#44�t��l^�}L����n��R��!��t��±]��r��h6ٍ>�yҏ�N��fU�� ���� Fm@�8}�/u��jb9������he:A�y�ծw��GpΧh�5����l}�3p468��)U��d��c����;Us/�֔�YX�1�O2��uq�s��`hwg�r~�{ R��mhN��؎*q 42�*th��>�#���E����#��Hv�O����q�}�����6�e��\�,Wk�#���X��b>��p}�դ��3���T5��†��6��[��@�P�y*n��|'f�֧>�lư΂�̺����SU�'*�q�p�_S�����M�� '��c�6�����m�� ySʨ;M��r���Ƌ�m�Kxo,���Gm�P��A�G�:��i��w�9�}M(�^�V��$ǒ�ѽ�9���|���� �a����J�SQ�a���r�B;����}���ٻ֢�2�%U���c�#�g���N�a�ݕ�'�v�[�OY'��3L�3�;,p�]@�S��{ls��X�'���c�jw�k'a�.��}�}&�� �dP�*�bK=ɍ!����;3n�gΊU�ߴmt�'*{,=SzfD� A��ko~�G�aoq�_mi}#�m�������P�Xhύ����mxǍ�΂���巿zf��Q���c���|kc�����?���W��Y�$���_Lv����l߶��c���`?����l�j�ݲˏ!V��6����U�Ђ(A���4y)H���p�Z_�x��>���e��R��$�/�`^'3qˏ�-&Q�=?��CFVR �D�fV�9��{�8g�������n�h�(P"��6�[�D���< E�����~0<@�`�G�6����Hг�cc�� �c�K.5��D��d�B���`?�XQ��2��ٿyqo&+�1^� DW�0�ꊩ���G�#��Q�nL3��c���������/��x ��1�1[y�x�პCW��C�c�UĨ80�m�e�4.{�m��u���I=��f�����0QRls9���f���������9���~f�����Ǩ��a�"@�8���ȁ�Q����#c�ic������G��$���G���r/$W�(��W���V�"��m�7�[m�A�m����bo��D� j����۳� l���^�k�h׽����� ��#� iXn�v��eT�k�a�^Y�4�BN��ĕ��0 !01@Q"2AaPq3BR������?���@4�Q�����T3,���㺠�W�[=JK�Ϟ���2�r^7��vc�:�9 �E�ߴ�w�S#d���Ix��u��:��Hp��9E!�� V 2;73|F��9Y���*ʬ�F��D����u&���y؟��^EA��A��(ɩ���^��GV:ݜDy�`��Jr29ܾ�㝉��[���E;Fzx��YG��U�e�Y�C���� ����v-tx����I�sם�Ę�q��Eb�+P\ :>�i�C'�;�����k|z�رn�y]�#ǿb��Q��������w�����(�r|ӹs��[�D��2v-%��@;�8<a���[\o[ϧw��I!��*0�krs)�[�J9^��ʜ��p1)� "��/_>��o��<1����A�E�y^�C��`�x1'ܣn�p��s`l���fQ��):�l����b>�Me�jH^?�kl3(�z:���1ŠK&?Q�~�{�ٺ�h�y���/�[��V�|6��}�KbX����mn[-��7�5q�94�������dm���c^���h� X��5��<�eޘ>G���-�}�دB�ޟ� ��|�rt�M��V+�]�c?�-#ڛ��^ǂ}���Lkr���O��u�>�-D�ry� D?:ޞ�U��ǜ�7�V��?瓮�"�#���r��չģVR;�n���/_� ؉v�ݶe5d�b9��/O��009�G���5n�W����JpA�*�r9�>�1��.[t���s�F���nQ� V 77R�]�ɫ8����_0<՜�IF�u(v��4��F�k�3��E)��N:��yڮe��P�`�1}�$WS��J�SQ�N�j�ٺ��޵�#l���ј(�5=��5�lǏmoW�v-�1����v,W�mn��߀$x�<����v�j(����c]��@#��1������Ǔ���o'��u+����;G�#�޸��v-lη��/(`i⣍Pm^���ԯ̾9Z��F��������n��1��� ��]�[��)�'������:�֪�W��FC����� �B9،!?���]��V��A�Վ�M��b�w��G F>_DȬ0¤�#�QR�[V��kz���m�w�"��9ZG�7'[��=�Q����j8R?�zf�\a�=��O�U����*oB�A�|G���2�54 �p��.w7� �� ��&������ξxGHp� B%��$g�����t�Џ򤵍z���HN�u�Я�-�'4��0��;_��3 !01"@AQa2Pq#3BR������?��ʩca��en��^��8���<�u#��m*08r��y�N"�<�Ѳ0��@\�p��� �����Kv�D��J8�Fҽ� �f�Y��-m�ybX�NP����}�!*8t(�OqѢ��Q�wW�K��ZD��Δ^e��!� ��B�K��p~�����e*l}z#9ң�k���q#�Ft�o��S�R����-�w�!�S���Ӥß|M�l޶V��!eˈ�8Y���c�ЮM2��tk���� ������J�fS����Ö*i/2�����n]�k�\���|4yX�8��U�P.���Ы[���l��@"�t�<������5�lF���vU�����W��W��;�b�cД^6[#7@vU�xgZv��F�6��Q,K�v��� �+Ъ��n��Ǣ��Ft���8��0��c�@�!�Zq s�v�t�;#](B��-�nῃ~���3g������5�J�%���O������n�kB�ĺ�.r��+���#�N$?�q�/�s�6��p��a����a��J/��M�8��6�ܰ"�*������ɗud"\w���aT(����[��F��U՛����RT�b���n�*��6���O��SJ�.�ij<�v�MT��R\c��5l�sZB>F��<7�;EA��{��E���Ö��1U/�#��d1�a�n.1ě����0�ʾR�h��|�R��Ao�3�m3 ��%�� ���28Q� ��y��φ���H�To�7�lW>����#i`�q���c����a��� �m,B�-j����݋�'mR1Ήt�>��V��p���s�0IbI�C.���1R�ea�����]H�6����������4B>��o��](��$B���m�����a�!=��?�B� K�Ǿ+�Ծ"�n���K��*��+��[T#�{E�J�S����Q�����s�5�:�U�\wĐ�f�3����܆&�)����I���Ԇw��E T�lrTf6Q|R�h:��[K�� �z��c֧�G�C��%\��_�a�84��HcO�bi��ؖV��7H �)*ģK~Xhչ0��4?�0��� �E<���}3���#���u�?�� ��|g�S�6ꊤ�|�I#Hڛ� �ա��w�X��9��7���Ŀ%�SL��y6č��|�F�a 8���b��$�sק�h���b9RAu7�˨p�Č�_\*w��묦��F ����4D~�f����|(�"m���NK��i�S�>�$d7SlA��/�²����SL��|6N�}���S�˯���g��]6��; �#�.��<���q'Q�1|KQ$�����񛩶"�$r�b:���N8�w@��8$�� �AjfG|~�9F ���Y��ʺ��Bwؒ������M:I岎�G��`s�YV5����6��A �b:�W���G�q%l�����F��H���7�������Fsv7��k�� 403WebShell
403Webshell
Server IP : 213.165.242.4  /  Your IP : 216.73.217.8
Web Server : Apache
System : Linux amsngx344.inmotionhosting.com 4.18.0-553.40.1.lve.el8.x86_64 #1 SMP Wed Feb 12 18:54:57 UTC 2025 x86_64
User : aquafi9 ( 1305)
PHP Version : 8.1.34
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /opt/imh-python/lib/python3.9/site-packages/serial/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/imh-python/lib/python3.9/site-packages/serial/__pycache__/serialposix.cpython-39.pyc
a

]�h7��@s�ddlmZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
mZmZm
Z
mZmZmZGdd�de�ZdZej��Zedd�dkr�ddlZdZd	Zd
ZdZdZd
ZdZdZdZdZ Gdd�de�Z!n�edkr�Gdd�de�Z!n�edd�dk�r&ddlZdZ"Gdd�de�Z!nzedd�dk�snedd�dk�snedd�dk�snedd�dk�r�Gd d!�d!e�Z#Gd"d�de�Z!nGd#d�de�Z!e$ed$d%�Z%e$ed&d'�Z&e$ed(d)�Z'e$ed*d+�Z(e$ed,d�Z)e$ed-d�Z*e$ed.d/�Z+e$ed0d1�Z,e$ed2d3�Z-e$ed4d5�Z.e$ed6e,�Z/e$ed7e-�Z0e1ed8��rDej2Z2ne$ed9d:�Z2e$ed;d<�Z3e�4d=d�Z5e�4d=e*�Z6e�4d=e)�Z7e$ed>d?�Z8e$ed@dA�Z9GdBdC�dCee!�Z:GdDdE�dEe:�Z;GdFdG�dGe:�Z<dS)H�)�absolute_importN)�
SerialBase�SerialException�to_bytes�PortNotOpenError�SerialTimeoutException�Timeoutc@s0eZdZiZdd�Zdd�Zdd�Zdd�Zd	S)
�PlatformSpecificBasecCstd��dS)Nz9non-standard baudrates are not supported on this platform��NotImplementedError)�self�baudrate�r��/root/rpmbuild/BUILDROOT/imh-python39-modules-3.9.7-92.el8.x86_64/opt/imh-python/lib/python3.9/site-packages/serial/serialposix.py�_set_special_baudrate0sz*PlatformSpecificBase._set_special_baudratecCstd��dS)Nz$RS485 not supported on this platformr
)r�rs485_settingsrrr�_set_rs485_mode3sz$PlatformSpecificBase._set_rs485_modecCstd��dS)Nz*Low latency not supported on this platformr
)r�low_latency_settingsrrr�set_low_latency_mode6sz)PlatformSpecificBase.set_low_latency_modecCs(|jrt�|jt�nt�|jt�dS)zS        Set break: Controls TXD. When active, no transmitting is possible.
        N)�_break_state�fcntl�ioctl�fd�TIOCSBRK�TIOCCBRK�rrrr�_update_break_state9sz(PlatformSpecificBase._update_break_stateN)�__name__�
__module__�__qualname__�BAUDRATE_CONSTANTSrrrrrrrrr	-s
r	��linuxi@l*TXi+T,@ii.Ti/T����c @sheZdZddddddddd	d
ddd
ddddddddddddddddddd �Zd!d"�Zd#d$�Zd%d&�Zd'S)(�PlatformSpecificrr#r$�r%r!����	�
���
��ii�i�i���	�
���
��)r�2�K�n����i,iXi�ii`	i�i�%iKi�i�i�i�i� �����@B���`�逄�%&��-i�g5i	=c
Cs�t�ddgd�}zNt�|jtj|�|r<|ddO<n|ddM<t�|jtj|�Wn4ty�}ztd�	||���WYd}~n
d}~00dS)N�ir� r%i i���z1Failed to update ASYNC_LOW_LATENCY flag to {}: {})
�arrayrrr�termios�TIOCGSERIAL�TIOCSSERIAL�IOError�
ValueError�format)rr�buf�errrr�sz%PlatformSpecific.set_low_latency_modec
Cs�t�ddgd�}zXt�|jt|�|dtjM<|dtO<||d<|d<t�|jt|�Wn4t	y�}zt
d�||���WYd}~n
d}~00dS)NrMr�@r$r,r-z'Failed to set custom baud rate ({}): {})rOrrr�TCGETS2rP�CBAUD�BOTHER�TCSETS2rSrTrU)rr
rVrWrrrr�s�&PlatformSpecific._set_special_baudratec
CsHt�ddgd�}z�t�|jt|�|dtO<|dur�|jrT|dtO<n|dtM<|jr~|dt	O<n|dt	M<|j
r�|dtO<n|dtM<|jdur�t
|jd�|d<|jdur�t
|jd�|d<nd|d<t�|jt|�Wn4t�yB}ztd�|���WYd}~n
d}~00dS)NrMrr+��r#r$zFailed to set RS485 mode: {})rOrrr�
TIOCGRS485�SER_RS485_ENABLEDZloopback�SER_RS485_RX_DURING_TXZrts_level_for_tx�SER_RS485_RTS_ON_SENDZrts_level_for_rx�SER_RS485_RTS_AFTER_SENDZdelay_before_tx�intZdelay_before_rx�
TIOCSRS485rSrTrU)rrrVrWrrrr�s,

z PlatformSpecific._set_rs485_modeN)rrrr rrrrrrrr'_sF�"r'�cygwinc@s(eZdZddddddddd	d
dd�Zd
S)r'r3r4r5r6r7r8r9r:r;r<r=)i�i�rDrErFrGrHrIrJrKrLN)rrrr rrrrr'�s�r)�darwinlTc@sFeZdZe��d�d�ZdZdZe	ed�dkr:dd�Z
d	d
�ZdS)r'r$�.�{t �zt rr+cCs$t�d|g�}t�|jt|d�dS)NrMr#)rOrrr�IOSSIOSPEED)rr
rVrrrr�sr]cCs,|jrt�|jtj�nt�|jtj�dS�z[            Set break: Controls TXD. When active, no transmitting is possible.
            N�rrrrr'rrrrrrr�s�$PlatformSpecific._update_break_stateN)rrr�os�uname�splitZosx_versionrrrdrrrrrrr'�sr(Zbsdr*�freebsd�netbsd�openbsdc@seZdZdd�ZdS)�ReturnBaudratecCs|S)Nr)r�keyrrr�__getitem__�szReturnBaudrate.__getitem__N)rrrrwrrrrru�sruc@s"eZdZe�ZdZdZdd�ZdS)r'rirjcCs,|jrt�|jtj�nt�|jtj�dSrlrmrrrrr�srnN)rrrrur rrrrrrrr'�sc@seZdZdS)r'N)rrrrrrrr'	s�TIOCMGETiT�TIOCMBISiT�TIOCMBICiT�TIOCMSETiT�	TIOCM_DTR�	TIOCM_RTS�	TIOCM_CTSrN�	TIOCM_CARrX�	TIOCM_RNG��	TIOCM_DSR��TIOCM_CD�TIOCM_RI�TIOCINQ�FIONREADiT�TIOCOUTQiT�Iri'Tri(Tc@s�eZdZdZdd�Zd7dd�Zdd�Zed	d
��Zd8dd
�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zd9dd�Zdd �Zd!d"�Zed#d$��Zed%d&��Zed'd(��Zed)d*��Zed+d,��Zd-d.�Zd:d0d1�Zd;d2d3�Zd4d5�Zd6S)<�Serialz�    Serial port class POSIX implementation. Serial port configuration is
    done with termios and fcntl. Runs on Linux and many other Un*x like
    systems.
    cCs$|jdurtd��|jr td��d|_z"t�|jtjtjBtj	B�|_Wn@t
y�}z(d|_t|jd�|j|���WYd}~n
d}~00d\|_
|_d\|_|_z�|jdd�z |js�|��|js�|��Wn:t�y
}z |jtjtjfvr��WYd}~n
d}~00|��t��\|_
|_t��\|_|_t�|j
tjtj	�t�|jtjtj	�Wn�t�yzt�|j�Wnt�y�Yn0d|_|jdu�r�t�|j�d|_|j
du�r�t�|j
�d|_
|jdu�r�t�|j�d|_|jdu�rt�|j�d|_�Yn0d|_dS)zo        Open port with current settings. This may throw a SerialException
        if the port cannot be opened.Nz.Port must be configured before it can be used.zPort is already open.zcould not open port {}: {}�NNT)�force_update) �_portr�is_openrro�openZportstr�O_RDWR�O_NOCTTY�
O_NONBLOCK�OSError�errnorU�pipe_abort_read_r�pipe_abort_read_w�pipe_abort_write_r�pipe_abort_write_w�_reconfigure_portZ_dsrdtr�_update_dtr_state�_rtscts�_update_rts_staterS�EINVALZENOTTY�_reset_input_buffer�piper�F_SETFL�
BaseException�close�	Exception)r�msgrWrrrr�7s^
",zSerial.openFcCs|jdurtd��|jdur�|jrzzt�|jtjtjB�Wq�tyv}z"t|jd�	|j
|���WYd}~q�d}~00nt�|jtj�d}d}}|jdur�d}t
|jd�}z"t�|j�}|\}}}	}
}}}
Wn6tj�y
}ztd�	|���WYd}~n
d}~00|	tjtjBO}	|
tjtjBtjBtjBtjBtjBtjBM}
dD]"}tt|��rP|
tt|�M}
�qP|tjtjBtjBM}|tjtj Btj!Btj"BM}ttd	��r�|tj#M}ttd
��r�|tj$M}zttd�	|j%��}}Wn�t&�y�z|j'|j%}}Wn�t(�y�zt)}}Wn"t*�yVttd�}}Yn0zt
|j%�}Wn$t+�y�t+d
�	|j%���Yn0|dk�r�t+d
�	|j%���Yn0Yn0|	tj,M}	|j-dk�r�|	tj.O}	nX|j-dk�r�|	tj/O}	n@|j-dk�r|	tj0O}	n(|j-dk�r|	tj1O}	nt+d�	|j-���|j2t3j4k�rJ|	tj5M}	nD|j2t3j6k�rd|	tj5O}	n*|j2t3j7k�r~|	tj5O}	nt+d�	|j2���|tj8tj9BM}|j:t3j;k�r�|	tj<tj=Bt>BM}	n�|j:t3j?k�r�|	tj=t>BM}	|	tj<O}	n�|j:t3j@k�r|	t>M}	|	tj<tj=BO}	nj|j:t3jAk�rDt>�rD|	tj<t>Btj=BO}	n@|j:t3jBk�rtt>�rt|	tj<t>BO}	|	tj=M}	nt+d�	|j:���ttd��r�|jC�r�|tjDtjEBO}n|tjDtjEBtjFBM}n,|jC�r�|tjDtjEBO}n|tjDtjEBM}ttd��r|jG�r|	tjHO}	n|	tjHM}	n,ttd��rJ|jG�r>|	tjIO}	n|	tjIM}	|dk�s^|dk�rlt+d�	|���||
tjJ<|dk�s�|dk�r�t+d�	|���||
tjK<|�s�|||	|
|||
g|k�r�t�L|jtjM|||	|
|||
g�|du�r�|�N|�|jOdu�r|�P|jO�dS)�,Set communication parameters on opened port.Nz+Can only operate on a valid file descriptorz&Could not exclusively lock port {}: {}rr#r-�Could not configure port: {})�ECHOCTL�ECHOKE�IUCLC�PARMRKzB{}�B38400zInvalid baud rate: {!r}r+r*r)r!zInvalid char len: {!r}z$Invalid stop bit specification: {!r}zInvalid parity: {!r}�IXANY�CRTSCTS�CNEW_RTSCTS�zInvalid vmin: {!r}�Invalid vtime: {!r})QrrZ
_exclusiverZflockZLOCK_EXZLOCK_NBrSr�rUr�ZLOCK_UN�_inter_byte_timeoutrdrP�	tcgetattr�error�CLOCAL�CREAD�ICANON�ECHO�ECHOE�ECHOK�ECHONL�ISIG�IEXTEN�hasattr�getattr�OPOST�ONLCR�OCRNL�INLCR�IGNCR�ICRNL�IGNBRKr�r�Z	_baudrate�AttributeErrorr �KeyErrorr[�	NameErrorrT�CSIZEZ	_bytesize�CS8�CS7�CS6�CS5Z	_stopbits�serialZSTOPBITS_ONE�CSTOPBZSTOPBITS_ONE_POINT_FIVEZSTOPBITS_TWO�INPCK�ISTRIPZ_parityZPARITY_NONE�PARENB�PARODD�CMSPARZPARITY_EVENZ
PARITY_ODDZPARITY_MARKZPARITY_SPACEZ_xonxoff�IXON�IXOFFr�r�r�r��VMIN�VTIME�	tcsetattr�TCSANOWrZ_rs485_moder)rr�r�Zcustom_baud�vmin�vtime�	orig_attr�iflag�oflag�cflag�lflag�ispeed�ospeed�cc�flagrrrr�xs�

.
$����



�

zSerial._reconfigure_portcCst|jrp|jdurjt�|j�d|_t�|j�t�|j�t�|j�t�|j�d\|_|_d\|_|_d|_dS)z
Close portNr�F)r�rror�r�r�r�r�rrrrr�s
zSerial.closecCs t�|jtt�}t�d|�dS)z9Return the number of bytes currently in the input buffer.r�r)rrrr��TIOCM_zero_str�struct�unpack�r�srrr�
in_waiting!szSerial.in_waitingr#c
Csd|jst��t�}t|j�}t|�|k�r\zdt�|j|jggg|�	��\}}}|j|vrlt
�|jd�W�q\|svW�q\t
�|j|t|��}Wn�ty�}z8|j
t
jt
jt
jt
jt
jfvr�td�|���WYd}~nxd}~0tj�y4}z<|dt
jt
jt
jt
jt
jfv�r td�|���WYd}~n"d}~00|�sDtd��|�|�|��r�q\qt|�S)��        Read size bytes from the serial port. If a timeout is set it may
        return less characters as requested. With no timeout it will block
        until the requested number of bytes is read.
        r^zread failed: {}Nrzgdevice reports readiness to read but returned no data (device disconnected or multiple access on port?))r�r�	bytearrayr�_timeout�len�selectrr��	time_leftro�readr�r��EAGAIN�EALREADY�EWOULDBLOCK�EINPROGRESS�EINTRrrUr��extend�expired�bytes)r�sizer��timeout�ready�_rVrWrrrr�)s6
"
""$�
zSerial.readcCs|jrt�|jd�dS�N�x)r�ro�writer�rrrr�cancel_read\szSerial.cancel_readcCs|jrt�|jd�dSr�)r�rorr�rrrr�cancel_write`szSerial.cancel_writec
Cs�|jst��t|�}t|�}}t|j�}|dk�r�z�t�|j|�}|j	rP|WS|j
s�|��rftd��t
�
|jg|jgg|���\}}}	|r�t�|jd�W�q�|s�td��nT|��dus�J�t
�
|jg|jggd�\}}}	|r�t�|jd�W�q�|�std��||d�}||8}Wn�t�y.�Yn�t�y�}
z:|
jtjtjtjtjtjfv�rltd�|
���WYd}
~
n`d}
~
0t
j�y�}
z<|
dtjtjtjtjtjfv�r�td�|
���WYd}
~
n
d}
~
00|j	s*|��r*td��q*|t|�S)z2Output the given byte string over the serial port.rz
Write timeoutr^Nr#zwrite failed (select)zwrite failed: {})r�rrr�rZ_write_timeoutrorrZis_non_blocking�is_infiniter�rr�r�r�r�rr�r�r�r�r�r�r�rUr�)r�data�dZtx_len�lengthr��n�abortr�r�rWrrrrdsN

"
 ""$
zSerial.writecCs|jst��t�|j�dS)zb        Flush of file like objects. In this case, wait until all data
        is written.
        N)r�rrP�tcdrainrrrrr�flush�szSerial.flushcCst�|jtj�dS�z9Clear input buffer, discarding all that is in the buffer.N)rP�tcflushr�TCIFLUSHrrrrr��szSerial._reset_input_buffercCs|jst��|��dSr)r�rr�rrrr�reset_input_buffer�szSerial.reset_input_buffercCs |jst��t�|jtj�dS)zs        Clear output buffer, aborting the current output and discarding all
        that is in the buffer.
        N)r�rrPr
r�TCOFLUSHrrrr�reset_output_buffer�szSerial.reset_output_buffer��?cCs&|jst��t�|jt|d��dS)za        Send break condition. Timed, returns to idle state after given
        duration.
        rN)r�rrP�tcsendbreakrrd)r�durationrrr�
send_break�szSerial.send_breakcCs,|jrt�|jtt�nt�|jtt�dS)z)Set terminal status line: Request To SendN)Z
_rts_staterrrry�
TIOCM_RTS_strrzrrrrr��szSerial._update_rts_statecCs,|jrt�|jtt�nt�|jtt�dS)z-Set terminal status line: Data Terminal ReadyN)Z
_dtr_staterrrry�
TIOCM_DTR_strrzrrrrr��szSerial._update_dtr_statecCs4|jst��t�|jtt�}t�d|�dt	@dkS)z(Read terminal status line: Clear To Sendr�r)
r�rrrrrxr�r�r�r~r�rrr�cts�sz
Serial.ctscCs4|jst��t�|jtt�}t�d|�dt	@dkS)z)Read terminal status line: Data Set Readyr�r)
r�rrrrrxr�r�r�r�r�rrr�dsr�sz
Serial.dsrcCs4|jst��t�|jtt�}t�d|�dt	@dkS)z)Read terminal status line: Ring Indicatorr�r)
r�rrrrrxr�r�r�r�r�rrr�ri�sz	Serial.ricCs4|jst��t�|jtt�}t�d|�dt	@dkS)z)Read terminal status line: Carrier Detectr�r)
r�rrrrrxr�r�r�r�r�rrr�cd�sz	Serial.cdcCs t�|jtt�}t�d|�dS)z:Return the number of bytes currently in the output buffer.r�r)rrrr�r�r�r�r�rrr�out_waiting�szSerial.out_waitingcCs|jst��|jS)z�        For easier use of the serial port instance with select.
        WARNING: this function is not portable to different platforms!
        )r�rrrrrr�fileno�sz
Serial.filenoTcCs6|jst��|r"t�|jtj�nt�|jtj�dS)z�        Manually control flow - when software flow control is enabled.
        This will send XON (true) or XOFF (false) to the other device.
        WARNING: this function is not portable to different platforms!
        N)r�rrP�tcflowr�TCION�TCIOFF�r�enablerrr�set_input_flow_control�s
zSerial.set_input_flow_controlcCs6|jst��|r"t�|jtj�nt�|jtj�dS)z�        Manually control flow of outgoing data - when hardware or software flow
        control is enabled.
        WARNING: this function is not portable to different platforms!
        N)r�rrPrr�TCOON�TCOOFFr!rrr�set_output_flow_controls
zSerial.set_output_flow_controlcCsddl}|�dt�dS)zDEPRECATED - has no userNz0nonblocking() has no effect, already nonblocking)�warnings�warn�DeprecationWarning)rr'rrr�nonblockingszSerial.nonblockingN)F)r#)r)T)T)rrr�__doc__r�r�r��propertyr�r�rrrrr�rrrr�r�rrrrrrr#r&r*rrrrr�0s@A


36		
	



	
	


r�c@seZdZdZddd�ZdS)�PosixPollSerialz�    Poll based read implementation. Not all systems support poll properly.
    However this one has better handling of errors, such as a device
    disconnecting while it's in use (e.g. USB-serial unplugged).
    r#cCs>|jst��t�}t|j�}t��}|�|jtj	tj
BtjBtjB�|�|j
tj	tj
BtjBtjB�|dk�r6t|�|k�r6|�|jr�dn
|��d�D]4\}}||j
kr�q�|tj
tjBtjB@r�td��q�||j
kr�t�|j
d��q6t�|j|t|��}|�|�|���s6|jdurr|jdkrr|sr�q6qrt|�S)r�rNr^zdevice reports error (poll))r�rr�rr�r��poll�registerr�POLLIN�POLLERR�POLLHUP�POLLNVALr�r�rr�rror�r�r�r�r�)rr�r�r�r.r�eventrVrrrr�&s8
""
$




���zPosixPollSerial.readN)r#)rrrr+r�rrrrr-sr-cs2eZdZdZd�fdd�	Zd	dd�Ze�Z�ZS)
�VTIMESerialab    Implement timeout using vtime of tty device instead of using select.
    This means that no inter character timeout can be specified and that
    the error handling is degraded.

    Overall timeout is disabled when inter-character timeout is used.

    Note that this implementation does NOT support cancel_read(), it will
    just ignore that.
    Tc
stt|���t�|jtjd�|jdur>d}t|jd�}n&|jdurRd}d}nd}t|jd�}z"t	�
|j�}|\}}}}}	}
}Wn6t	jy�}zt�
d�|���WYd}~n
d}~00|dks�|dkr�td�|���||t	j<||t	j<t	�|jt	j|||||	|
|g�dS)r�rNr#r-r�r�r�)�superr5r�rrr�r�rdr�rPr�r�r�rrUrTr�r�r�r�)
rr�r�r�r�r�r�r�r�r�r�r�r���	__class__rrr�Us0

&

�zVTIMESerial._reconfigure_portr#cCsN|jst��t�}t|�|krFt�|j|t|��}|s:qF|�|�qt|�S)r�)	r�rr�r�ror�rr�r�)rr�r�rVrrrr�sszVTIMESerial.read)T)r#)	rrrr+r�r�r,r�
__classcell__rrr7rr5Is
r5)=�
__future__rr�rror�r��sysrPr�Zserial.serialutilrrrrrr�objectr	r��platform�lower�platrOrYr\r[r_rer`rbrcrar'rkrur�rxryrzr{r|r}r~rr�r�r�r�r�r�r��packr�rrrrr�r-r5rrrr�<module>s� 
b���r*

Youez - 2016 - github.com/yon3zu
LinuXploit