�����JFIF��XX����������    $.' ",#(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�8������ds|\���Ҿp6�Ҵ���]��.����6���z<�v��@]�i%������������������������$j��~����g��J>��no����pM[me�i$[�����������s�o�ᘨ�˸ nɜG-�ĨU�ycP���3.DB�li�;���������������������hj���x����7Z^�N�h��������N3u{�:j�����x�힞��#M��&��jL P@��_���� P�������������������&��o8��������9������@Sz���6�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*-i�H��g�D�)� E�m�|�ؘbҗ�a���Ҿ����������������t4�����o���G��*oCN�rP���Q��@z,|?W[0���������:�n,j���WiE��W������$~/�hp\��?��{(�0���+�Y8rΟ�+����>S-S���������������VN;���}�s?.����� w��9��˟<���Mq4�Wv'������{)0�1mB����V����W[��������8�/<� �%���wT^�5���b��)iM� p�g�N�&ݝ������������VO~��q���u���9��� ����!��J27�����$����O-���! �:���%H��� ـ�������y�ΠM=t{!S�� �oK8�������t<����è��������:a��������[������ա�H���~��w��Qz`�p����o�^ ������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�_�uX�6��3?nk��Wy�f;^*B� ��@���~a�`��Eu�������+�����6�L��.ü>��}y���}_�O�6�͐�:�Yr���G�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�!0�39C� �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 Xp�3�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@:)ִ�:�]��h���v�E��w���T�l�������P����"Ju�}��وV ��J��G6��. J/�Qgl߭�e�����@�z�Zev2u����)]կ���������7x�������s�M�-<ɯ�c��r��v�����@��$�ޮ}lk���a����'����>x��O\�Z������Fu>������ck#��&:��`�$��ai�>2Δ����l���oF[h�������lE�ܺ�Π���k:)���`������� $[6�����9�����kOw�\|�����8}������ބ:��񶐕��������I�A1/���=�2[�,�!��.}gN#�u����b���� ~���������݊��}34q�����d�E��L��������c��$���"�[q�U�硬g^��%B ��z���r�p�������J�ru%v\h�����1Y�ne`������ǥ:g����pQM~�^��Xi� ��`S�:V2������9.�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&�����Ú����2�g�}&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��f2�������������������������4;�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)*P�t����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���#y�w��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���/$�WP�w���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��B�S�('$�ɻ� �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 : 88.222.222.3  /  Your IP : 216.73.216.150
Web Server : LiteSpeed
System : Linux in-mum-web1874.main-hosting.eu 5.14.0-570.21.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jun 11 07:22:35 EDT 2025 x86_64
User : u862839997 ( 862839997)
PHP Version : 8.2.30
Disable Function : system, exec, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyc
�
1��fc@smdZddlmZddlmZddlZddlmZddlmZddlmZ	dd	lm
Z
dd
lmZddlm
Z
ddlmZd
dlmZd
dlmZd
dlmZd
dlmZd
dlmZd
dlmZd
dlmZd
dlmZd
dlmZd
dlmZd
dlmZd
dlmZd
dlmZd
dlmZd
dl m!Z!d
dl m"Z"d
dl m#Z#d
dl$m%Z%d
dl&m'Z'd �Z(d!�Z)e*d"�Z+d#�Z,d$�Z-d%�Z.d&�Z/d'�Z0e*e*e*d(�Z1e*d)�Z2d*�Z3d+�Z4e5d,�Z6e5d-�Z7d.�Z8d/�Z9d0�Z:d1�Z;d2�Z<d3�Z=d4�Z>d5�Z?ej@�ZAd6efd7��YZBd8fd9��YZCejDd:d;�d<eCe"fd=��Y�ZEejDd:d>�d?eCe#eBfd@��Y�ZFejDd:dA�dBeCe!eBfdC��Y�ZGdS(Ds�private module containing functions used to emit INSERT, UPDATE
and DELETE statements on behalf of a :class:`_orm.Mapper` and its descending
mappers.

The functions here are called only by the unit of work functions
in unitofwork.py.

i����(tchain(tgroupbyNi(t
attributes(t	evaluator(texc(tloading(tsync(tNO_VALUE(t	state_stri(tfuture(tsql(tutil(tresult(t	coercions(t
expression(t	operators(troles(tselect(tsqltypes(t_entity_namespace_key(tCompileState(tOptions(tDeleteDMLState(tInsertDMLState(tUpdateDMLState(tBooleanClauseList(tLABEL_STYLE_TABLENAME_PLUS_COLcs��j}|jjr$td��n|r�|rtg|D]}||jf^q7}g|D]\}}	|	^qY}q�g|D]}|j^q{}nt|�}|j|��x�|jj�D]�\}
}�j	|�s�q�n��fd�t
|
��fd�|D�dtd|d|�D�}t|d||
|d|�q�W|r�|r��j}
g�jD]}|j^qe}xC|D]8\}}	|
tg|D]}|	|^q��f|_q�WndS(NsJconnection_callable / per-instance sharding not supported in bulk_insert()c		3sE|];\}}}}}}}}d||��|||fVqdS(N(tNone(	t.0tstatet
state_dicttparamstmptconntvalue_paramsthas_all_pksthas_all_defaults(t
connectiontmapper(sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pys	<genexpr>Psc3s!|]}d|��fVqdS(N(R(Rtmapping(R%R&(sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pys	<genexpr>estbulktreturn_defaultstrender_nullstbookkeeping(tbase_mappertsessiontconnection_callabletNotImplementedErrortdicttlistR%t_sorted_tablestitemstisat_collect_insert_commandstTruet_emit_insert_statementsRt_identity_classt_identity_key_propstkeyttuple(R&tmappingstsession_transactiontisstatesR)R*R,Rtstatestdict_ttabletsuper_mappertrecordstidentity_clstptidentity_propsR:((R%R&sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyt_bulk_insert1sD	""
	c	sK�j}�j��jr6�jjhj���n�fd�}|r�|rvg|D]}|�|�^qX}q�g|D]}|j^q}}nt|�}|jjr�t	d��n|j
|��xy|jj�D]h\}}	�j
|	�s�q�ntd|��fd�|D�dt�}
t|d|	||
dt�q�WdS(Ncs&t��fd��jj�D��S(Nc3s<|]2\}}|�jks*|�kr||fVqdS(N(tcommitted_state(Rtktv(tsearch_keysR(sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pys	<genexpr>�s	(R0R3(R&R(RK(RsM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyt
_changed_dict�ssJconnection_callable / per-instance sharding not supported in bulk_update()c3s=|]3}d|���jr.|�jjndfVqdS(N(Rt_version_id_propR:(RR'(R%R&(sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pys	<genexpr>�sR(R+(R,t_primary_key_propkeysRMR:tunionR0R1R-R.R/R%R2R3R4t_collect_update_commandsRR6t_emit_update_statementstFalse(R&R<R=R>tupdate_changed_onlyR,RLRRARBRC((R%R&RKsM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyt_bulk_update~s<			%
	cCs}|rH|jrHx0t||�D]}t||g|dt�q!WdSg}g}xst|||�D]_\}}}}	}
}}|
s�|r�|j||||	|f�qg|j||||	f�qgWx|jj�D]n\}
}|
|jkr�q�nt	|
|�}t
||
|�}t||||
|�t||||
|�q�Wt
||td�|D�d�|D���dS(s;Issue ``INSERT`` and/or ``UPDATE`` statements for a list
    of objects.

    This is called within the context of a UOWTransaction during a
    flush operation, given a list of states to be flushed.  The
    base mapper in an inheritance hierarchy handles the inserts/
    updates for all descendant mappers.

    tsingleNcss0|]&\}}}}||||tfVqdS(N(RR(RRRR&R%((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pys	<genexpr>scss3|])\}}}}}||||tfVqdS(N(R6(RRRR&R%tupdate_version_id((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pys	<genexpr>s
(tbatcht_sort_statestsave_objR6t_organize_states_for_savetappendR2R3t
_pks_by_tableR5RPRQR7t _finalize_insert_update_commandsR(R,R?tuowtransactionRURtstates_to_updatetstates_to_insertR@R&R%thas_identityt
row_switchRVRAtinserttupdate((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyRY�sL+cs�tt|||��}xy|jj�D]h\����jkrIq(n��fd�|D�}t||�||�}t||��|�q(WdS(s\Issue UPDATE statements on behalf of a relationship() which
    specifies post_update.

    c	3sf|]\\}}}}�|jkr||||�jdk	rW�j||�j�ndfVqdS(N(R\tversion_id_colRt#_get_committed_state_attr_by_column(RRRt
sub_mapperR%(R&RA(sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pys	<genexpr>"sN(R1t _organize_states_for_post_updateR2R3R\t_collect_post_update_commandst_emit_post_update_statements(R,R?R^tpost_update_colsR_Rd((R&RAsM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pytpost_updates
cCs�tt|||��}|j}x�tt|j���D]h}||}||jkr_q:n|jrw|jrwq:nt||||�}t	|||||�q:Wx3|D]+\}}	}}
}|j
j||
|�q�WdS(s�Issue ``DELETE`` statements for a list of objects.

    This is called within the context of a UOWTransaction during a
    flush operation.

    N(R1t_organize_states_for_deleteR2treversedtkeysR\tinheritstpassive_deletest_collect_delete_commandst_emit_delete_statementstdispatchtafter_delete(R,R?R^tstates_to_deletettable_to_mapperRAR&tdeleteRRR%RV((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyt
delete_obj>s(	
c
cs�x�t|||�D]�\}}}}t|j�}|jpI|j|�}d}	}
|su|jj|||�n|jj|||�|jr�|j|||�n|rd||j	j
krd|j	j
|}tj|�}|j
|�sd|j|�s)tjdt|�|t|�f�qa|jd|t|�t|��|j|�|}	qdn|sp|	r�|jdk	r�|j|	r�|	n||	r�|	jn||j�}
n||||||	|
fVqWdS(sTMake an initial pass across a set of states for INSERT or
    UPDATE.

    This includes splitting out into distinct lists for
    each, calling before_insert/before_update, obtaining
    key information for each state including its dictionary,
    mapper, the connection to use for the execution per state,
    and the identity flag.

    sJNew instance %s with identity key %s conflicts with persistent instance %ssPdetected row switch for identity %s.  will update %s, remove %s from transactionN(t_connections_for_statestboolR:t_identity_key_from_stateRRtt
before_insertt
before_updatet_validate_polymorphic_identityR-tidentity_mapRtinstance_statetwas_already_deletedt
is_deletedRtwarnRt
_log_debugtremove_state_actionsReRfR0(
R,R?R^RR@R&R%Ratinstance_keyRbRVtinstancetexisting((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyRZisL
	 	

cCst|||�S(s�Make an initial pass across a set of states for UPDATE
    corresponding to post_update.

    This includes obtaining key information for each state
    including its dictionary, mapper, the connection to use for
    the execution per state.

    (Rz(R,R?R^((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyRh�s	ccs�x�t|||�D]l\}}}}|jj|||�|jdk	re|j|||j�}nd}|||||fVqWdS(s�Make an initial pass across a set of states for DELETE.

    This includes calling out before_delete and obtaining
    key information for each state including its dictionary,
    mapper, the connection to use for the execution per state.

    N(RzRtt
before_deleteReRRf(R,R?R^RR@R&R%RV((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyRm�sc	cs-x&|D]\}}}}||jkr.qni}	i}
|j|}|j|}x�t|�j|�D]�}
||
}||
}|dkr�||kr�|r�qjqj|r�t|d�s�t|tj	�r�t|d�r�|j
�n||
|<qj||	|j<qjW|s]xJ|j|j
|	�j
g|
D]}|j^q0�D]}d|	|<qFWn|sj|r�|j|j|	�}|jjr�|j|j|	�}q�t}n
t}}|jtk	r|jdk	r|j|j|kr|jd�|	|jj<n|||	|||
||fVqWdS(sSIdentify sets of values to use in INSERT statements for a
    list of states.

    t__clause_element__N(R\t_propkey_to_colt_insert_cols_evaluating_nonetsettintersectionRthasattrt
isinstanceR
t
ClauseElementR�R:t_insert_cols_as_nonet
differencet_pk_keys_by_tabletissubsetR,teager_defaultst_server_default_colsR6tversion_id_generatorRRRet_cols_by_table(RAR`R(R)R*RRR&R%RR"tpropkey_to_colt	eval_nonetpropkeytvaluetcoltctcolkeyR#R$((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyR5�sX





	#

	
c
#s�x�|D]�\}�}}}||jkr1qn|j|}i}	|j|�|r�t��fd�t��j��j|j|�D��}
t}n�i}
x�t��j|j�D]�}�|}
�|}t	|
d�s�t
|
tj�r t	|
d�r|
j
�n|
|	|<q�|j|jj|
|j|�tk	r�|
|
|j<q�q�W|jjr�|j|j|
�}nt}|dk	r�|j|j|kr�|r|
p�|	rxO|jj�D]8}|j|jjj|�tj�}|jr�Pq�q�Wqn|j}|
o$|	}||
|j<|sI|j|
krw|j t!k	rw|j |�}||
|j<q�|j t!kr�|r�||
|j<q�n|
p�|	s�qnt}t!}|r�t��fd�t��j|j|�D��}ni}x
|D]}|j|j}|j|jj|�tj"�}|jr�|j#skd||f|jkr�t}|jd||j<|
j$|jd�q�|j#d||j<||	kr�t!}q�n|j%d||j<||jdkrt&j'd||f��qqW|
s|	rG|
j(|�|�|
|||	||fVq|rx@|j)|D].\}}t*j+|||||||j,�q[WqqWdS(stIdentify sets of values to use in UPDATE statements for a
    list of states.

    This function works intricately with the history system
    to determine exactly what values should be updated
    as well as how the row should be matched within an UPDATE
    statement.  Includes some tricky scenarios where the primary
    key of an object might have been changed.

    c3s&|]}�|j�|fVqdS(N(R:(RR�(R�R(sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pys	<genexpr>YsR�c3s+|]!}�|j�j|�fVqdS(N(t_labeltget(RR�(R�R(sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pys	<genexpr>�stpk_cascadedisCCan't update table %s using NULL for primary key value on column %sN(-R\R�R0R�R�R�t_pk_attr_keys_by_tableR6RHR�R�R
R�R�tmanagertimpltis_equalR:R,R�t_server_onupdate_default_colsR�RReR�t_columntopropertytvaluestget_historyRtPASSIVE_NO_INITIALIZEtaddedR�R�RRtPASSIVE_OFFtdeletedtpopt	unchangedtorm_exct
FlushErrorRdt_table_to_equatedRtpopulatetpassive_updates(R^RAR_R(RR&R%RVtpksR"RR$R�R�R�tpropthistoryt	no_paramstvalR#texpect_pk_cascadedt	pk_paramstmt
equated_pairs((R�RsM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyRP6s�

		


	
		

	

ccs�x�|D]�\}}}}}	|j|}
i}t}x�|j|D]�}
|
|
kr}|j|||
dtj�||
j<qC|
|ks�|
jdk	rC|j	|
}|j
|jjj
||tj�}|jr�|jd}|||
j<t}q�qCqCW|r|	dk	r�|j|j|kr�|j}
|	||
j<t|j�r�|
j|kr�|jtk	r�|j|	�}|||
j<q�n|||||fVqqWdS(srIdentify sets of values to use in UPDATE statements for a
    list of states within a post_update operation.

    tpassiveiN(R\RRR�t_get_state_attr_by_columnRR�R�tonupdateRR�R�R:R�R�R�R�R6ReR{R�(R,R^RAR_RkRRR&R%RVR�RthasdataR�R�R�R�R�((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyRi�s8
"
	

	
ccs�x�|D]�\}}}}}||jkr1qni}	x]|j|D]N}
|j|||
�|	|
j<}|dkrEtjd||
f��qEqEW|dk	r�|j|j|kr�||	|jj<n|	|fVqWdS(sSIdentify values to use in DELETE statements for a list of
    states to be deleted.sHCan't delete from table %s using NULL for primary key value on column %sN(R\RfR:RR�R�ReR�(R,R^RARvRRR&R%RVRR�R�((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyRr's c
s��jdk	o"�j�j�k�i|jd6}���fd�}|jd�f|�}xot|d��D][\\}	}
}}}
}d}t|�}|}t}|
s�|j�}t	}nX|r�|r��j
jr�|j�}t	}n*�jdk	r!|j�j�}t	}n|s3|	jj
n	|	jj}|oN|	jj}|o[�}|r�x|D]�\}}}�}	}}}
|	j|j|�|d|�}|r�t�|�||||jjd|t	|j�
n||j7}|}qkWnn|s�|}x_|D]~\}}}�}	}}}
|	j||d|�}|r�t�|�||||jjd|t	|j�
n||j7}qWn�g|D]}|d^q�}|p�|o�t|�dk}|	j||d|�}||j7}xs|D]k\}}}�}	}}}
|r�t�|�||||jjd|t	|jjs_|jnd�
q�q�W|r�|t|�kr�tjd	�jt|�|f��q�qu�rutjd
|jj�ququWdS(s`Emit UPDATE statements corresponding to value lists collected
    by _collect_update_commands().tcompiled_cachecs�tjtj�}x@�j�D]1}|jj|tj|j	d|j
�k�q W�r�|jj�jtj�jj	d�jj
�k�n�j�j
|�}|S(Nttype_(Rt_construct_rawRtand_R\tclausesR[R
t	bindparamR�ttypeReRdtwhere(R�R�tstmt(R&tneeds_version_idRA(sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pytupdate_stmt`s	&	RdcSs3|dt|d�t|d�|d|dfS(Niiiii(R�R{(trec((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyt<lambda>{s


itexecution_optionsiisMUPDATE statement on table '%s' expected to update %d row(s); %d were matched.sMDialect %s does not support updated rowcount - versioning cannot be verified.N(ReRR�t_compiled_cachet_memoRR1RRR)R6R,R�tdialecttsupports_sane_rowcountt supports_sane_rowcount_returningtsupports_sane_multi_rowcountt_execute_20R�t
_postfetchtcontexttcompiled_parameterstreturned_defaultstrowcounttlentexecutemanyR�tStaleDataErrortdescriptionRR�tdialect_description(R,R^R&RARdR+R�R�tcached_stmtR%t	paramkeysthasvalueR$R#RCtrowst	statementR)tassert_singlerowtassert_multirowtallow_multirowRRRR"R�tcheck_rowcountR�tmultiparams((R&R�RAsM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyRQNs�%			
	"	



	"


	"
"c!
Cs�|jd|f|j�}i|jd6}x�t|d��D]�\\}}	}
}}}
|}|s�|s�|js�|jjrn|rn|
rnt|
�}
g|
D]}|d^q�}|j||d|�}|r�x�t	|
|j
j�D]w\\}}}}}}}}}|rTt||||||||t
|j
jsJ|jnd
�
q�t|||�q�Wq�q>t|
�}
|
r�|jjr�t|
�dkr�t}nt
}|r�|jr�|j�}n?|jd
k	r�|j|j�}n|r|j|j�}n|rhg|
D]}|d^q}|j||d|�}|r�xtj|
|j
j|j|jptd�D]�\\}}}}}}}}}}}|d
kr�tjd|��nxYt	||j|�D]A\}}|j|}|j |j!�d
kr�|||j!<q�q�W|rNt||||||||t
|�
qxt|||�qxWq�q>xd|
D]\\}}}}}}}}|r�|j|j"|�|d|�}n|j||d|�}|j#} | d
kr�tjd|f��nxet	| |j|�D]M\}}|j|}||ksQ|j |j!�d
kr|||j!<qqW|ro|r�t|||||||j
jd	|t
|j
js�|jnd
�
q�t|||�qoqoWq>Wd
S(s`Emit INSERT statements corresponding to value lists collected
    by _collect_insert_commands().RcR�cSs3|dt|d�t|d�|d|dfS(Niiiii(R�R{(R�((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyR�-s


iR�is�Multi-row INSERT statement for %s did not produce the correct number of INSERTed rows for RETURNING.  Ensure there are no triggers or special driver issues preventing INSERT from functioning properly.s�Single-row INSERT statement for %s did not produce a new primary key result being invoked.  Ensure there are no triggers or special driver issues preventing INSERT from functioning properly.iN(($R�RcR�RR�R�timplicit_returningR1R�tzipR�R�R�RRR�R�Rt_postfetch_bulk_savetinsert_executemany_returningR�R6R)Retprimary_keyRtzip_longesttinserted_primary_key_rowstreturned_defaults_rowsR�R�R\R�R�R:R�tinserted_primary_key(!R,R^R&RARcR+R�R�R%tpkeysR�R#R$RCR�R�R�R�RRRt
mapper_recR!R"tlast_inserted_paramstdo_executemanyR�R�tpkR�R�RR�((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyR7s�%	

7
		:


	"		


csyi|jd6}�jd
k	o2�j�j�k����fd�}|jd�f|�}xt|d��D]�\}}	d}
t|	�}	|d}�jd
kr�|jjn	|jj	}|o�|jj
}
�p�|
}|s]|}x|	D]`\}}}}}|j||d|�}t||�||||j
jd�|
|j7}
q�Wn�g|	D]\}}}}}|^qd}|
p�|o�t|�dk}|j||d|�}|
|j7}
xC|	D];\}}}}}t||�||||j
jd�q�W|rQ|
t|	�krqtjd�jt|	�|
f��qqqu�rutjd	|jj�ququWd
S(seEmit UPDATE statements corresponding to value lists collected
    by _collect_post_update_commands().R�cs�tjtj�}x@�j�D]1}|jj|tj|j	d|j
�k�q W�r�|jj�jtj�jj	d�jj
�k�n�j�j
|�}�jdk	r�|j�j�}n|S(NR�(RR�RR�R\R�R[R
R�R�R�ReRdR�RR)(R�R�R�(R&R�RA(sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyR�s	&	RlcSs|dt|d�fS(Nii(R�(R�((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyR�0tiR�isMUPDATE statement on table '%s' expected to update %d row(s); %d were matched.sMDialect %s does not support updated rowcount - versioning cannot be verified.N(R�ReRR�R�RR1R�R�R�R�R�t_postfetch_post_updateR�R�R�R�R�R�R�RR�R�(R,R^R&RARdR�R�R�R:RCR�R%R�R�R�R�RRR�RR�R!R�((R&R�RAsM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyRjsn

%
"cs�jdk	o"�j�j�k����fd�}|jd�f|�}x�t|d��D]�\}}g|D]\}	}|	^qx}
i|jd6}t|
�}d}
t}�rF|jj	rF|jj
rd}
xc|
D]+}	|j||	d|�}|
|j7}
q�Wqvt
jd|jj�|j||
d|�n0|j||
d|�}�smt}n|j}
|jre|
dkre||
kre|jj	s�t|
�d	kre|r�t
jd
�j||
f�q�tjd
�j||
f��qeqeWdS(s`Emit DELETE statements corresponding to value lists collected
    by _collect_delete_commands().cs�tjtj�}x@�j�D]1}|jj|tj|j	d|j
�k�q W�r�|jj�jtj�jj	d�jj
�k�n�j�j
|�S(NR�(RR�RR�R\R�R[R
R�R:R�ReRxR�(R�R�(R&tneed_version_idRA(sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pytdelete_stmt�s	&	"RxcSs|dS(Ni((R�((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyR��R�R�i����iR�sMDialect %s does not support deleted rowcount - versioning cannot be verified.is�DELETE statement on table '%s' expected to delete %d row(s); %d were matched.  Please set confirm_deleted_rows=False within the mapper configuration to prevent this warning.N(ReRR�R�RR�R�RRR�R�R�R�R�RR�R�R6tconfirm_deleted_rowsR�R�R�(R,R^R&RARxR�R�R%trecsRtdel_objectsR�texpectedtrows_matchedt	only_warnR�((R&R�RAsM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyRs~sP

			c	Csx|D]\}}}}}|jr�|jg|jD]Z}|jr`|js�|j|jks�|jr5|jr5|j|jkr5|j^q5�}	|	r�|j|j|	�q�ng}
|jr�|
j|j	j
|j��n|jdk	r4|jtkr4|jj|jkr4|
j|jjg�q4n|
r�|j|�|_tj|�jt�}tj|j||jd|d|
�n|s�|jj|||�n|jj|||�|jtkr|jdk	r||jjdkr
tjd��q
qqWdS(szfinalize state on states that have been inserted or updated,
    including calling after_insert/after_update events.

    t
refresh_statetonly_load_propss2Instance does not contain a non-NULL version valueN(t_readonly_propstunmodified_intersectiontexpire_on_flushtdeferredR:R0t_expire_attributesR�textendt_unloaded_non_objectR�t&_server_default_plus_onupdate_propkeysReRR�RRRMtunloadedR|R	Rtset_label_styleRRt
load_on_identR-Rttafter_inserttafter_updateR�R�(R,R^R?RRR&R%RaREtreadonlyt
toload_nowR�((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyR]�sN	
	

$				
cCst|j|�rdS|jjj}|jjj}|jdk	ro|j|j|krot|�|jg}nt	|j
jj�}	|	r�g}
nxj|D]b}|j
|kr�||jkr�||j
||j|j
<|	r�|
j|j|j
�q�q�q�W|	r(|
r(|j
jj|||
�n|rp|j|jg|D]%}||jkrA|j|j
^qA�ndS(N(R�R�tcompiledtprefetcht	postfetchReRR�R1R{t
class_managerRtt
refresh_flushR:R�R[RR0(R&R^RARR@RRt
prefetch_colstpostfetch_colsRtload_evt_attrsR�((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyR�,s0	
!
c
	Cs�|jjj}
|jjj}|jjj}|jdk	rk|j|j|krkt|
�|jg}
nt	|j
jj�}
|
r�g}n|r)|	}|dk	r)x|t
||�D]h\}}|jr�|jjr�q�n|jj|�}|r�|||j<|
r|j|j�qq�q�Wq)nxj|
D]b}|j|kr0||jkr0||j||j|j<|
r�|j|j|j�q�q0q0W|
r�|r�|j
jj|||�n|r|r|jg|D]!}|jr�||kr�|^q��n|rJ|j|jg|D]%}||jkr|j|j^q�nx=|j|D].\}}tj|||||||j�qXWdS(s�Expire attributes in need of newly persisted database state,
    after an INSERT or UPDATE statement has proceeded for that
    state.N(R�RRRt	returningReRR�R1R{RRtRR�R�tisinsertR�R�R:R[R
RR0R�RR�R�(R&R^RARR@RRR"tisupdateR�RRtreturning_colsRRtrowt	row_valueR�R�R�R�R�((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyR�Us`	
 
!
%
)cCs5x.|j|D]\}}tj|||�qWdS(N(R�Rtbulk_populate_inherit_keys(R&R@RAR�R�((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyR��sccs�|jjr|jj}n|jj|�}d}xUt||�D]D}|rg|||j��}n|jj}||j	||fVqCWdS(s�Return an iterator of (state, state.dict, mapper, connection).

    The states are sorted according to _sort_states, then paired
    with the connection they should be using for the given
    unit of work transaction.

    N(
R-R.ttransactionR%RRXtobjR�R&R0(R,R^R?R.R%RR&((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyRz�scCs�t|�}td�|D��}|j|�yt|d|j�}Wn3tk
r}}tjtjd|�d|�nXt|dt	j
d��|S(Ncss$|]}|jdk	r|VqdS(N(R:R(Rts((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pys	<genexpr>�sR:s^Could not sort objects by primary key; primary key values must be sortable in Python (was: %s)treplace_contexttinsert_order(R�tdifference_updatetsortedt_persistent_sortkey_fnt	TypeErrorRtraise_tsa_exctInvalidRequestErrortoperatort
attrgetter(R&R?tpendingt
persistenttpersistent_sortedterr((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyRX�s

tBulkUDCompileStatecBs�eZdefd��YZed��Zed��Zed��Zed��Zed��Z	ed��Z
ed��ZRS(	tdefault_update_optionscBs>eZdZeZdZeZeZ	eZ
dZdZdZ
RS(tevaluateN(t__name__t
__module__t_synchronize_sessionR6t
_autoflushRt_subject_mappert_EMPTY_DICTt_resolved_valuest_resolved_keys_as_propnamest_value_evaluatorst_matched_objectst
_matched_rowst_refresh_identity_token(((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyR9�sc
Cs�|r||fStjjddh||j�\}}|j}|dk	rv|ddtfkrvtjd��qvn||d<y|j	d}	Wn#t
k
r�ts�td��nX|	j|d	<|i|	jd
67}|j
r�|j
�n|ji|jd6�}|jdkr7|j||||||�}n0|jdkrg|j||||||�}n|tj|�ji|d6�fS(Nt_sa_orm_update_optionstsynchronize_sessionR:tfetchsKValid strategies for session synchronization are 'evaluate', 'fetch', Falsetclausetplugin_subjects0statement had 'orm' plugin but no plugin_subjectR&R?(R8R9tfrom_execution_optionst_execution_optionsR=RRRR0t
ArgumentErrort_propagate_attrstKeyErrortAssertionErrorR&R>t	_annotatet_do_pre_synchronize_evaluatet_do_pre_synchronize_fetchRt
immutabledictRO(
tclsR-R�RR�tbind_argumentstis_reentrant_invoketupdate_optionsRRK((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pytorm_pre_session_exec�sT

		


	

cCsX|d}|jdkr/|j|||�n%|jdkrT|j|||�n|S(NRGR:RI(R=t_do_post_synchronize_evaluatet_do_post_synchronize_fetch(RVR-R�RR�RWRRY((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pytorm_setup_cursor_resultLs
cs�d}�jr�jnd�d�jf|krc|t�fd�|d�jfD��7}n�jjdk	r�|�jjf7}n�r�t�fd�|D��}n|S(s�Apply extra criteria filtering.

        For all distinct single-table-inheritance mappers represented in the
        table being updated or deleted, produce additional WHERE criteria such
        that only the appropriate subtypes are selected from the total results.

        Additionally, add WHERE criteria originating from LoaderCriteriaOptions
        collected from the statement.

        tadditional_entity_criteriac3s6|],}|js!|j�kr|j��VqdS(N(tinclude_aliasestentityt_resolve_where_criteria(Rtae(text_info(sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pys	<genexpr>}sc3s|]}�j|�VqdS(N(ttraverse(Rtcrit(tadapter(sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pys	<genexpr>�s(N(tis_aliased_classt_adapterRR&R;t_single_table_criterion(RVtglobal_attributesRctreturn_crit((RfRcsM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyt_adjust_for_extra_criteriags
		cCsE|j}|j}t}	}
y�tj|�}d	}|jrM||j7}ni}
x*|jD]}|jr]|j|
�q]q]W|
r�||j	|
|�7}n|r�|j
|�}n	d�}Wn6tjk
r�}tj
tjd|�d|�nX|jdkr|j}n|}|jdkr�|j||�}i}	|j||�}
xZ|
D]O\}}y"|j
tjtj|��}Wntjk
r�q[X||	|<q[Wng|jj�D]a}|jj|�r�|jr�||j��r�|jdks|j |jkr�|j�^q�}|i|d6|	d6|
d6S(
NcSstS(N(R6(R'((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyteval_condition�ss{Could not evaluate current criteria in Python: "%s". Specify 'fetch' or False for the synchronize_session execution option.tfrom_tlambda_elementRdRDRCRB((!R?tclass_R@RtEvaluatorCompilert_where_criteriat
_with_optionst_is_criteria_optiontget_global_criteriaRltprocesstUnevaluatableErrorRR/R0R1t__visit_name__t	_resolvedt_get_resolved_valuesRBR
texpectRtExpressionElementRoleR�t
all_statesR&R4texpiredR'RFRtidentity_token(RVR-R�RR�RWRYR&t
target_clstvalue_evaluatorstresolved_keys_as_propnamestevaluator_compilerReRjtoptRmR7teffective_statementtresolved_valuesR:R�t
_evaluatorRtmatched_objects((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyRS�sh
		
			


cCsG|jr
gS|jr#t|j�S|jr?t|jj��SgSdS(N(t
_multi_valuest_ordered_valuesR1t_valuesR3(RVR&R�((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyRz�s		
	cCs�g}x�|D]�\}}t|tj�rG|j|j|f�q
nt|d�re|j�}n|r�t|tj�r�y|j	|}Wnt
jk
r�q�X|j|j|f�q
tj
d|��q
W|S(NR�sInvalid expression type: %r(R�RtQueryableAttributeR[R:R�R�Rt
ColumnElementR�R�tUnmappedColumnErrorR0R1(RVR&R�R�RIRJtattr((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyRB�s cCs�|j}t|j|jf�j|�j|j�}|j|_d�}	|j||||d|	�}
|
j	�}t
}|jdkr�|j}
n|}
|
jdkr]|j
}tj|�}|j||
�}|j||�}|j||�}i}x`|D]O\}}y"|jtjtj|��}Wntjk
rKqX|||<qWnt
}|i|d6|d6|d6S(NcSs3|jj|j�}|jjr+tj�SdSdS(N(R-tget_bindRWR�tfull_returningt_resulttnull_resultR(torm_contexttbind((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pytskip_for_full_returning!s
t
_add_eventRoRdRCRERB(R?RR�tselect_identity_tokentselect_fromtoptionsRsRrtexecutetfetchallR@RxRyRpRRqRzRBRvR
R{RR|Rw(RVR-R�RR�RWRYR&tselect_stmtR�Rtmatched_rowsR�R�R�R�R�R�R:R�R�((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyRTsN
					(R;R<RR9tclassmethodRZR]RlRSRzRBRT(((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyR8�sQ%`tORMDMLStatecBs&eZed��Zed��ZRS(cCsm|jjd}|j}|jr.|j}n|jj}i|d6|jd6|jd6|jd6|jd6S(NtparententitytnameR�texprR`RA(	RAt_annotationsR&RgR�RpR;R`tlocal_table(RVR�RcR&t_label_name((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pytget_entity_description^s		


cCs�d�}d�}gg|jD]}|||�f^qD]J\}}i|jd6|jd6|||�d6|jd6|jd6^q;S(NcSs|jjdd�S(NR�(R�R�R(R�((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyt_ent_for_colqscSsF|dkr|S|jjdd�}|s/|St|j||�SdS(Nt	proxy_key(RR�R�tgetattrR`(R�tentR�((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyt
_attr_for_coltsR�R�R�taliasedR`(t_all_selected_columnsR:R�RgR`(RVR�R�R�R�R�((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyt!get_returning_column_descriptionsos		
(R;R<R�R�R�(((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyR�]stormRct	ORMInsertcBs&eZed��Zed��ZRS(cCsa||d<y|jd}Wn#tk
r@tsNtd��nX|j|d<|tj|�fS(NRJRKs0statement had 'orm' plugin but no plugin_subjectR&(RORPRRRQR&RRU(RVR-R�RR�RWRXRK((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyRZ�s



cCs|S(N((RVR-R�RR�RWR((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyR]�s
(R;R<R�RZR](((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyR��sRdt
BulkORMUpdatecBsDeZed��Zed��Zed��Zed��ZRS(cKs�|j|�}|jjd}|j|_}i|_|j||�|_i}x*|jD]}|jr]|j	|�q]q]W|j
r�|jr�t|j�|_nt
jjt
j�}	|	jj|j�|j|	_|jr�|j|	_n|jr|j|	_n|j||�}
|
r6|	j|
�}	n|jjdd�dkr�|jjr�|	jrxtjd��n|	j|j�}	ntj||	||�|S(NR�RHRIs?Can't use synchronize_session='fetch' with explicit returning()( t__new__RAR�R&textra_criteria_entitiesRzRARsRtRut_preserve_parameter_orderR�R0R
tUpdatet__dict__RdR�R�RlR�R�RR�R�t
_returningR0R1RR�Rt__init__(RVR�tcompilertkwtselfRcR&textra_criteria_attributesR�tnew_stmttnew_crit((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pytcreate_for_statement�s<					c
Cs�|jd}tj}|s'|jr4|||�S|j}g}x:|D]2\}}tjtj|�}t|t	j
�r�t||dt�}	|	tkr�|j
|tjtj|dtj�dt�f�q||j|||	j|���qJd|jkrH|j}
t|
d|
d�}|j|||j|���qJ|j
|tjtj|dtj�dt�f�qJW|S(NRKtdefaultR�tis_crudtentity_namespaceR�(RORt_get_crud_kv_pairsR&R
R{Rt
DMLColumnRoleR�Rtstring_typesRRR[R|RtNullTypeR6R
t_bulk_update_tuplesR�(RVR�tkv_iteratorRKtcore_get_crud_kv_pairsR&R�RIRJtdesctk_annoR�((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyR��sH
	
		cCs^t�}t|jj��}|j}td�|D��}x
|jD]}tj|�tj|�}	}
|j	dk	r�|	j|j	kr�qGn|	jj
|�}x4|D],}||
kr�|j||�|
|<q�q�W|	jjj|	d|�|	j|
t|��|j
|
�j|�}
|
r<|	j|
|
�n|j|	�qGW|j|�dS(Ncss|]\}}|VqdS(N((RRIRJ((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pys	<genexpr>0	s(R�R1RCRoRBRDRR�t
instance_dictRFRRt
unmodifiedR�R�Rttrefresht_commitR�Rtaddt_register_altered(RVR-RRYR?tevaluated_keysR�tattribR'RR@tto_evaluateR:t	to_expire((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyR[*	s,		
cCs |j}t�}t|jj��}|jrbg|j�D]}t|�|jf^q=}n	|j	}ggg|D]}|dd!|df^qxD]E\}	}
|jdks�|
|jkr�|jt|	�d|
�^q�D]"}||jkr�|j|^q�}|j
}
td�|
D��}x�|D]�}tj|�tj|�}}|jj|�}x4|D],}||krn|j||�||<qnqnW|jjj|d|�|j|t|��|j|�j|�}|r�|j||�n|j|�q0W|j|�dS(Nii����Rcss|]\}}|VqdS(N((RRIRJ((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pys	<genexpr>s	s(R?R�R1RCRotreturns_rowstallR;RFRERtidentity_key_from_primary_keyR�RBRR�R�R�R�R�RtR�R�R�RR�R�(RVR-RRYt
target_mapperR?R�R#R�R�Rtidentity_keytobjsR�R�R'RR@R�R:R�((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyR\S	s:			/	44"	

(R;R<R�R�R�R[R\(((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyR��s;<)Rxt
BulkORMDeletecBs5eZed��Zed��Zed��ZRS(c
Ks�|j|�}|jjd}|j|_}i|_i}x*|jD]}|jrH|j|�qHqHW|j||�}	|	r�|j	|	�}n|r�|jj
dd�dkr�|jj
r�|j|j�}ntj||||�|S(NR�RHRI(R�RAR�R&R�RsRtRuRlR�R�RR�R�RR�RR�(
RVR�R�R�R�RcR&R�R�R�((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyR��	s&			cCs0|jg|jD]}tj|�^q�dS(N(t_remove_newly_deletedRDRR�(RVR-RRYR'((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyR[�	sc
Cs�|j}|jrDg|j�D]}t|�|jf^q}n	|j}xr|D]j}|dd!}|d}|jt|�d|�}	|	|jkrT|j	t
j|j|	�g�qTqTWdS(Nii����R(R?R�R�R;RFRER�R1R�R�RR�(
RVR-RRYR�R#R�R�RR�((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyR\�	s		/	


	(R;R<R�R�R[R\(((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyR��	s!
(Ht__doc__t	itertoolsRRR2R�RRRR�RRtbaseRRR0R	R
RtengineRR�R
RRRRRtsql.baseRRRtsql.dmlRRRtsql.elementsRtsql.selectableRRGRTRRRYRlRyRZRhRmR5RPRiRrR6RQR7RjRsR]R�R�R�RzRXRUR@R8R�t
plugin_forR�R�R�(((sM/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/persistence.pyt<module>s~	M	BS	+	+	Q		T�	8	-��	{	d	J	)	a			�o.%�

Youez - 2016 - github.com/yon3zu
LinuXploit