From c7172ce3406cf92cf4f3d72b8d38dbd288acb28d Mon Sep 17 00:00:00 2001 From: yfang1644 Date: Tue, 28 Nov 2017 20:22:03 +0800 Subject: [PATCH] update tudou --- addons.xml | 6 +- addons.xml.md5 | 2 +- plugin.video.5ivdo/resources/settings.xml | 2 +- plugin.video.baiduyun/resources/settings.xml | 2 +- plugin.video.cntv-video/addon.xml | 2 +- plugin.video.cntv-video/lib/tudou.py | 96 +- ....zip => plugin.video.cntv-video-1.0.9.zip} | Bin 77270 -> 77479 bytes plugin.video.funshion/resources/settings.xml | 2 +- plugin.video.iqiyi/resources/settings.xml | 8 +- plugin.video.letv/resources/settings.xml | 20 +- plugin.video.rrsp/icon.png | Bin 46242 -> 25450 bytes plugin.video.rrsp/plugin.video.rrsp-1.0.0.zip | Bin 63771 -> 42961 bytes plugin.video.rrsp/resources/settings.xml | 24 +- plugin.video.rrys/LICENSE | 340 +++++++ plugin.video.rrys/addon.py | 80 ++ plugin.video.rrys/addon.xml | 21 + plugin.video.rrys/changelog.txt | 2 + plugin.video.rrys/icon.png | Bin 0 -> 46242 bytes plugin.video.rrys/plugin.video.rrys-1.0.0.zip | Bin 0 -> 56033 bytes plugin.video.rrys/resources/settings.xml | 3 + plugin.video.tudou/addon.py | 306 ++++++ plugin.video.tudou/addon.xml | 9 +- plugin.video.tudou/changelog.txt | 4 +- plugin.video.tudou/default.py | 908 ------------------ ...1.0.0.zip => plugin.video.tudou-1.0.1.zip} | Bin 86300 -> 79154 bytes .../language/Chinese (Simple)/strings.xml | 28 - .../resources/language/English/strings.xml | 28 - plugin.video.tudou/resources/settings.xml | 5 +- plugin.video.youkutv/resources/settings.xml | 21 +- 29 files changed, 853 insertions(+), 1066 deletions(-) rename plugin.video.cntv-video/{plugin.video.cntv-video-1.0.8.zip => plugin.video.cntv-video-1.0.9.zip} (93%) create mode 100644 plugin.video.rrys/LICENSE create mode 100644 plugin.video.rrys/addon.py create mode 100644 plugin.video.rrys/addon.xml create mode 100644 plugin.video.rrys/changelog.txt create mode 100644 plugin.video.rrys/icon.png create mode 100644 plugin.video.rrys/plugin.video.rrys-1.0.0.zip create mode 100644 plugin.video.rrys/resources/settings.xml create mode 100644 plugin.video.tudou/addon.py delete mode 100644 plugin.video.tudou/default.py rename plugin.video.tudou/{plugin.video.tudou-1.0.0.zip => plugin.video.tudou-1.0.1.zip} (86%) delete mode 100644 plugin.video.tudou/resources/language/Chinese (Simple)/strings.xml delete mode 100644 plugin.video.tudou/resources/language/English/strings.xml diff --git a/addons.xml b/addons.xml index db048f2..6bad2ca 100644 --- a/addons.xml +++ b/addons.xml @@ -586,11 +586,11 @@ - + diff --git a/addons.xml.md5 b/addons.xml.md5 index 8bf928e..b610c34 100644 --- a/addons.xml.md5 +++ b/addons.xml.md5 @@ -1 +1 @@ -6f950d4432087aab00f1b0eb54b6a958 addons.xml +6f1710fee0aa7e01cd890dba04021db5 addons.xml diff --git a/plugin.video.5ivdo/resources/settings.xml b/plugin.video.5ivdo/resources/settings.xml index 918cfec..2b98044 100644 --- a/plugin.video.5ivdo/resources/settings.xml +++ b/plugin.video.5ivdo/resources/settings.xml @@ -1,4 +1,4 @@ - + diff --git a/plugin.video.baiduyun/resources/settings.xml b/plugin.video.baiduyun/resources/settings.xml index 50a13aa..6006ab0 100644 --- a/plugin.video.baiduyun/resources/settings.xml +++ b/plugin.video.baiduyun/resources/settings.xml @@ -1,4 +1,4 @@ - + diff --git a/plugin.video.cntv-video/addon.xml b/plugin.video.cntv-video/addon.xml index 3de8161..2246ae2 100644 --- a/plugin.video.cntv-video/addon.xml +++ b/plugin.video.cntv-video/addon.xml @@ -1,7 +1,7 @@ diff --git a/plugin.video.cntv-video/lib/tudou.py b/plugin.video.cntv-video/lib/tudou.py index 2d5b3b1..34e3cf3 100644 --- a/plugin.video.cntv-video/lib/tudou.py +++ b/plugin.video.cntv-video/lib/tudou.py @@ -1,76 +1,76 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- +#!/usr/bin/env python -import re +from xml.dom.minidom import parseString from json import loads -from common import get_html, r1 - - -HOST_URL = 'http://www.tudou.com' +from common import get_html, match1, r1 class Tudou(): - def video_from_iid(self, iid, **kwargs): - url = 'http://www.tudou.com/outplay/goto/getItemSegs.action?iid=%s' - html = get_html(url % iid) - data = loads(html) - - keys = data.keys() - for key in keys: - if data[key][0].get('size'): - vids = [t['k'] for t in data[key]] - break + def tudou_download_by_iid(self, iid, title, **kwargs): + data = loads(get_html('http://www.tudou.com/outplay/goto/getItemSegs.action?iid=%s' % iid)) + temp = max([data[i] for i in data if 'size' in data[i][0]], key=lambda x:sum([part['size'] for part in x])) + vids, size = [t["k"] for t in temp], sum([t["size"] for t in temp]) urls = [] for vid in vids: - html = get_html('http://cnc.v2.tudou.com/f?id=%d&jp=1' % vid) - y = re.compile('(http.+?)<\/f>').findall(html) - if len(y) < 1: - break - y = y[0].replace('&', '&') - urls.append(y.strip()) + for i in parseString(get_html('http://ct.v2.tudou.com/f?id=%s' % vid)).getElementsByTagName('f'): + urls.append(i.firstChild.nodeValue.strip()) + return urls - def video_from_id(self, id, **kwargs): + def tudou_download_by_id(self, id, title, **kwargs): html = get_html('http://www.tudou.com/programs/view/%s/' % id) iid = r1(r'iid\s*[:=]\s*(\S+)', html) - return self.video_from_iid(iid, **kwargs) - - def parse_plist(url): - html = get_html(url) - lcode = r1(r"lcode:\s*'([^']+)'", html) - plist_info = loads(get_html('http://www.tudou.com/crp/plist.action?lcode=' + lcode)) - return ([(item['kw'], item['iid']) for item in plist_info['items']]) - - def download_playlist(self, url, **kwargs): - videos = parse_plist(url) - urls = [] - for i, (title, id) in enumerate(videos): - print('Processing %s of %s videos...' % (i + 1, len(videos))) - urls += self.video_from_iid(id) + try: + title = r1(r'kw\s*[:=]\s*[\'\"]([^\n]+?)\'\s*\n', html).replace("\\'", "\'") + except AttributeError: + title = '' + return self.tudou_download_by_iid(iid, title, **kwargs) def video_from_url(self, url, **kwargs): # Embedded player - id = r1(r'http://www.tudou.com/v/([^/]+)/', url) + id = r1(r'.tudou.com/v/([^/]+)/', url) if id: - return self.video_from_id(id, **kwargs) - + return self.tudou_download_by_id(id, title='') + html = get_html(url) - + try: + title = r1(r'\Wkw\s*[:=]\s*[\'\"]([^\n]+?)\'\s*\n', html).replace("\\'", "\'") + assert title + title = unescape_html(title) + except AttributeError: + title = match1(html, r'id=\"subtitle\"\s*title\s*=\s*\"([^\"]+)\"') + if title is None: + title = '' + vcode = r1(r'vcode\s*[:=]\s*\'([^\']+)\'', html) if vcode is None: vcode = match1(html, r'viden\s*[:=]\s*\"([\w+/=]+)\"') if vcode: - from youku import video_from_vid - return video_from_vid(vcode, **kwargs) - + print "vcode", vcode + from youku import Youku + return Youku().video_from_vid(vcode, **kwargs) + iid = r1(r'iid\s*[:=]\s*(\d+)', html) if not iid: - return self.download_playlist(url) + return self.tudou_download_playlist(url, **kwargs) else: - return self.video_from_iid(iid, **kwargs) + return self.tudou_download_by_iid(iid, title, **kwargs) + + def parse_plist(self, url): + html = get_html(url) + lcode = r1(r"lcode:\s*'([^']+)'", html) + plist_info = loads(get_html('http://www.tudou.com/crp/plist.action?lcode=' + lcode)) + return ([(item['kw'], item['iid']) for item in plist_info['items']]) + def tudou_download_playlist(url, **kwargs): + videos = self.parse_plist(url) + for i, (title, id) in enumerate(videos): + print('Processing %s of %s videos...' % (i + 1, len(videos))) + self.tudou_download_by_iid(id, title, **kwargs) site = Tudou() -video_from_iid = site.video_from_iid +video_from_url = site.video_from_url + +#print video_from_url('http://video.tudou.com/v/XMzE3OTYyNjE0MA==.html?spm=a2h28.8313471.pl.dlink_1_21') diff --git a/plugin.video.cntv-video/plugin.video.cntv-video-1.0.8.zip b/plugin.video.cntv-video/plugin.video.cntv-video-1.0.9.zip similarity index 93% rename from plugin.video.cntv-video/plugin.video.cntv-video-1.0.8.zip rename to plugin.video.cntv-video/plugin.video.cntv-video-1.0.9.zip index c0a860dd6116825d2dfeb645d0f798a047417fcf..a58c05108fcd7679a5eeb8530e5cdd670611394e 100644 GIT binary patch delta 2045 zcmZWqdpMNa9{xTvV+ z2vi;rKjezUT%-xy-&30;8Voxvb%d0tNTTHWo5M|eP$ZtYn9#~?bcBc?_d5?Nem6aa z{V68_W!siyB_L0uUP6h~K9Yq}EhJn5IJ%nfxq8|H3IM?h42**wgH1qE$$gRxN%08^00^Ch0Dxp_@Fqlk zuu^`qaq_;rj62u9fgy8dhcYc9_lQ!7=FuUtZfz>=mDRYaVNSmG;=RS3MqF=9X#`O_ zJbmXt$(5C=dJK(JAMn(%qf66^(o}fPf@I`V!E7vV!-e(2=+v&hV@An!o?&a$AocC_ zPM_)vD{OH=x8_3*GJ^lm<`fm*Blx(UD83bL%hIvb&TP~h)v_IL)jG@M_T zT64a9OqXLI;IGG7w@&42E2kYc=!Hg19LBwl&8?XYuAa~P)$UH3mcS`<^8Q!9JoI$o z%x^S~x{mYiWh*~@;jayj<gw8~)KwF)PR_jx)>UM0LD6Xy|F!<{nm?Y#iGDFB06uce%_f z=Rmm=A??}yj4uQW1+{PbOVr_s9yR(f-uMBgaY`{MNc3DT6OQ*{o(a|b6UFmE%G2i%$%cHyN!6(*?Z+@z(H0#z>_O<&_ zR|+(?Q8XL9DDTS&RF78>Ap8BKjok687YdXLyoa=r%Wn}~{hLbdwX7_PPt+XQ<{H;@ zMs-A6nY|_tFYFR5oSaDFw4mIsRZk_UIcQM??f9<3z^4y%J6{Xk>xUNnNBJA9P9z$5 zc&F!K%xxc~^v2oX>>0lhJ30YXV)?K&HQ%Oa|91TP6O1agxK8GB{bp?R9$lvovX8BM zlst28L>IkKX^vA&Zufy8Y?ex56i|`x(Gk}JCx&fYepuJ=QMrPI*t8&Lo`NHL6bu}o zA@t};9fz78?j zrx?TI1JxdBvKKmPJLwck1w0fO$g2ywWcc){rH1D^Is9Rq_C92XIH`qApP4mowG)L zRblc8F+bwI135}BqpLY8Fir}+l2OV+yI&#yP(4%nWOL=;7N*&-rOwA=2l$Xli@-6< zef?9Le<;3aCa@AFU4Bk98O|GNhzEC>!oI!ewF-#1QUfhh7=!s-e!;)Xdg>ONx;WKt zC+i){Vknl`fldrUnGtn!rH2>5ov|o>_ov%Z8}aoGj({lSIGrtCR`bu#u(NjmVq(Sq zJ@m`M$M*~K(<>YA-mKpnUWvj)2@|3g^#}GDZ`We>B+AxR)xI zV_TcO8Cu=@6x6uo;uVQNTVI`IbWhbZ5KpNqJcxf3bnN+^(_U0L=af8)vDjDyW2?+n zeD@3jn+(nMpx_xjY->0%0Yy3rk=PIeQ;wJXoQQHYPy&)~XU2&^i<&0LM?yrF#$3_| z4?#qR#@uTF?u3ZEjCtGuw1bM>j0x@nQ7v~3z#-WGSPC=42(*QY{e(G%12N16BT!4` zE0KBD5Y%FvCdxB$SWr*r|H=W_A#qYsbpXxRt5{OGJWBx%10doGk$jN(01KjJ2H6sp zxrhbLbi{{~?EHJu`#TT-C<8+K^m1vSMYf_ikoW?mS!LivSxx_!m1n-hfo?K#6;gS` dZAGSoF=z)V(gYbxr9Uytj6rkRCIfMH{{hsve)a$W delta 1823 zcmZWqc{rQd7tWVRv}U4IY_UgT-+#3Bk`^UsZB;R4)H0)%qSfLTGSpIAOFrpWON3VG z!h@Po#k7i!rV>gwks7s|w%Rf@VJs8T`Df-n&%O73&U@~1?mhRtbz@?$cw*?IB!rj* zY`fr6lZw$s;!+%Wvao^B1$+-fXGmRMT?6-y~YM&2M`*OA`qmH-m%0Q&F+l$w}{_y?zhcBB6QgD zEq=s(JJhAa6JnB=6Nn_0q^zY-1Pr!!H>gI$flLoHwPAE9K)4-pV$wG-Kx|$}ikiY> zLkW}nFsXe1n=CvH(R{@|ail4Ev~em#oWBt(p|Kzh#pW`u8&c)&iZ@L;E1Vn;nQ8NoE*(@STi6x{j6f|R_!)K;R2j%}PlrQf-=jL#)MR&hH;u++#Y z;|KUrYeI>iBGr`qT<^ADAvc|v?DVt9@4)D%h9*AALor6Ni6eEdeLvW=wnl`vJY6iL z1*XkezPo7FYWddLH@@2-YoeQK$F6I^JQ$e_$Mif{yQXqnvt_!zVGaFq;nqMs*x&9u z5Q^OLzKuEcIDk~vsirVb=p#pec`kv zdR`@<4Jetv6UUi)vffRd@K1fi_&v8cQZQt}g>Q5^95kMHY6O1SAkREuI``Z6Yev&o z*JHXRjotDxS6tJT_60|~P_hZJ^MoWd^UkdEwE_G4pwGE56XoGs%t!EdRqn4(V@>0p z!yIF5joQYYrbSXu=$u&Sz9)9mrUy z_$UDCkM6_w!VZdCpLbkWI%~KE?~^?5xU6S(C^_bUTI0C(a@Y-7vc%jC3#9VIL5FVN zE2QU`&+E&qWrdbuKJY>0`;2;*ta12ys>QPrWmb8w4u=1$o-}9kFl$hh9QhaUhcpa}@@0BNLK5Ov(HJ?+L zUth`ij!7M(q>Tr5ti_*OS(sv|d>TvbO|G56WxhIquPF{0;>3qraA%7;^Qe#eHQ-@K z-i212bGag84P^g2*V0++$)4!>H8TRF8U_y6Za86&q!>iUtRn?%QV% zs#cv7qf^@5z^hgJ#dq_x1737&t2q|@TtyOHj(xQZAOgPE3eO^5cF5nGmIHWbgzy7^ zy77Q5LMZ! jPx$`oot5mbeGADL3B&7?1waQQMd-8 + diff --git a/plugin.video.iqiyi/resources/settings.xml b/plugin.video.iqiyi/resources/settings.xml index b137987..23e9e45 100644 --- a/plugin.video.iqiyi/resources/settings.xml +++ b/plugin.video.iqiyi/resources/settings.xml @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/plugin.video.letv/resources/settings.xml b/plugin.video.letv/resources/settings.xml index 1bf38a2..68ab8f5 100644 --- a/plugin.video.letv/resources/settings.xml +++ b/plugin.video.letv/resources/settings.xml @@ -1,10 +1,10 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/plugin.video.rrsp/icon.png b/plugin.video.rrsp/icon.png index 3cbaebadc09c55136f1c4251e92eed803ed8ff5b..aa66ac4d6993ed3a1442e55869d33fb72c7560e7 100644 GIT binary patch literal 25450 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

UA7>5ub8CcuAlQ0 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 A9RL6T literal 46242 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 _r!(#J)I)pfKi^{~own0M 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�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 W^P@3T)6Om2`5itlhN|?W2 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

5p= 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 F{vQy}BsTy6 diff --git a/plugin.video.rrsp/resources/settings.xml b/plugin.video.rrsp/resources/settings.xml index db54d32..50920ab 100644 --- a/plugin.video.rrsp/resources/settings.xml +++ b/plugin.video.rrsp/resources/settings.xml @@ -1,12 +1,12 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/plugin.video.rrys/LICENSE b/plugin.video.rrys/LICENSE new file mode 100644 index 0000000..ece019f --- /dev/null +++ b/plugin.video.rrys/LICENSE @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + {description} + Copyright (C) {year} {fullname} + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + {signature of Ty Coon}, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. + diff --git a/plugin.video.rrys/addon.py b/plugin.video.rrys/addon.py new file mode 100644 index 0000000..864e24e --- /dev/null +++ b/plugin.video.rrys/addon.py @@ -0,0 +1,80 @@ +#!/usr/bin/python +# -*- coding: utf8 -*- + +from xbmcswift2 import Plugin, ListItem, xbmc +from urlparse import parse_qsl +from urllib import urlencode +from json import loads +from bs4 import BeautifulSoup +from common import get_html + +HOST = 'http://www.renrenyingshi.com' +CATE = [ + '爱情', + '剧情', + '喜剧', + '科幻', + '动作', + '犯罪', + '冒险', + '家庭', + '战争', + '悬疑', + '恐怖', + '历史', + '伦理', + '罪案', + '警匪', + '惊悚', + '奇幻', + '魔幻', + '青春', + '都市', + '搞笑', + '纪录片', + '时装', + '动画', + '音乐'] + +plugin = Plugin() +url_for = plugin.url_for + + +def previous_page(endpoint, page, total_page, **kwargs): + if int(page) > 1: + page = str(int(page) - 1) + return [{'label': u'上一页 - {0}/{1}'.format(page, str(total_page)), 'path': url_for(endpoint, page=page, **kwargs)}] + else: + return [] + + +def next_page(endpoint, page, total_page, **kwargs): + if int(page) < int(total_page): + page = str(int(page) + 1) + return [{'label': u'下一页 - {0}/{1}'.format(page, str(total_page)), 'path': url_for(endpoint, page=page, **kwargs)}] + else: + return [] + + +@plugin.route('/sublist/') +def sublist(url): + if not url.startswith('http'): + url = HOST + url + pass + +# main entrance +@plugin.route('/') +def index(): + page = get_html(HOST) + tree = BeautifulSoup(page, 'html.parser') + soup = tree.find_all('ul', {'id': 'nav'}) + soups = soup[0].find_all('li', {'class': 'nav-item'}) + for item in soups[1:]: + yield { + 'label': item.text, + 'path': url_for('sublist', url=item.a['href']) + } + + +if __name__ == '__main__': + plugin.run() diff --git a/plugin.video.rrys/addon.xml b/plugin.video.rrys/addon.xml new file mode 100644 index 0000000..e0c11a9 --- /dev/null +++ b/plugin.video.rrys/addon.xml @@ -0,0 +1,21 @@ + + + + + + + + video + + +

来自人人影视(renrenyingshi.com)的视频 + 人人影视(renrenyinyshi.com) + + https://github.com/yfang1644/kodi_plugins/plugin.video.rrys + yfang1644@gmail.com + all +
+
diff --git a/plugin.video.rrys/changelog.txt b/plugin.video.rrys/changelog.txt new file mode 100644 index 0000000..0a3dafc --- /dev/null +++ b/plugin.video.rrys/changelog.txt @@ -0,0 +1,2 @@ +v1.0.0 (2017.11.27, for my daughter) +- 人人影视 initial diff --git a/plugin.video.rrys/icon.png b/plugin.video.rrys/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3cbaebadc09c55136f1c4251e92eed803ed8ff5b GIT binary patch literal 46242 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 _r!(#J)I)pfKi^{~own0M zl8ci}oLaIh*_OrU_5ebn_|n6&EL;38qDT+`fyIZ#VgYy|NCe-v>-_d|58Kwm-CbwrC{rnO_!QL_4Z{#jUhQ_#7Q`UtT^YXph8Eu|FCYjqwfn|Er&VO#O*7Y&?v zp-;T`$F2B?7hztxDhfC6eL-_)EjE`NUxmEw$8NYuIhkT5nWM1G3&}~w8DBN-{Z;JK zq5lQ~Z~Gp{L!TGBHN6Y5Bo-pA0H*%0)t=V`L6?aYLEX0a<@qjupI-5~Cw#N}fQL>k zwvU0C{*#DQcf1~Hzj*@4jMDTiOGOhRh;KF>haa6i8Uhy=P=6pOYa-JE3wWF@A}SOA zxm9CTLTirte%R{ToFCsV+5-FRhoub!>H4s1oGHDPZYRq`a zPmh307k+;m@OWSG@{z^!wuKWrzg$PCN;9?r`bAOoE3|d}%!~Nv)FtpFVQotn#)^fg zXj)HVm+g4KANYDZ@}HkXv}$Ti8tew>11VnAotwTsxrq4KgUZccmEe3ABuS-V{wu(;z>Ok~E<8RAJPcut^_E4mC5e70c@Eh85sa_Qsly<=KleBq zdK@R)lYR>2@lU`}|X4wSdUkk8d;0C-tarwICaM-93MuJ}uMLMf9 z)1GQ*i)C|W+;hHShN1>mJjEYI!r)5iUckqm&>!jQu;YCbC!4Yu6#$~7`m1AGJWngY znl*q~NJwtt(s)J=J$UzD#8C$hT8c+4INY;nx3p$p#f3fX@3FW=HQCn}y;deddG8d- zZ&^B8hy(}4$yLaku8SW=ll8aBfF`nZz{2=1ZsmsZ;CQqA6 z4-X1BW;_(kCS01mc|Kt!FQkGQ5i$p)dVz30(v7}16ndB71~Cs?(+*MN36pXCtb7c+ zG&YL>(n4hUbD?t%N`*9Pu-{M|>_WR`vDeT>Gslj}BcolJaf8aHYtk;t zQ%>-Ckk<|+b)A+8+tP=01|s~`bLk8NR1}T(k&Z0?&owaVNPo8_}OM)vk1Ucx+z4J*DSI#0aqRjUE$LiSXM~QhMEJ-nqtR>R#Pva$x99> zCV(Q!!)6h{Dv%gnZ5G#F4-4(MbKAH}c`bojMwV{I0)1oHJW5&_WHRBJxK&|G zkx@trG?b|YJH^2Y@82=pV*=n_R8WOgVh(}08y)w`aQ}t?W0V;EDr_Gzwxtpy7ATBof%YBpnyQ>eQ>n?2d*A4K)_&U zpg=(X>lFUuLjA8A0EDjKEuG%0PY~Ax1XTDRu>ZeYmd5sW^bU6B|I0b$h@)lc^#5?i zbQ&j+Pd~Ex#M*AQ)YjWxt+lipJCC;5Zm!ky@wC|TzTU>Z`TKWv7IIf~kaRRYn&hIS z;FT8>Mgm2{zyJXu7MBdE{1^Iuv00D&b84L1-~I85>#K?}_fGx2{p2+l{7D$&l(gu9 zfDZ0{u_d7Ki1C30VH40%)E=jLuDGm;ZygG~T(RWF+U}jbaRtc#5-~_7%>A&C8QLvc z?Igc0v_2bCbE56k`A{vZCJ)HT{gvqWxovoOjdq8CAA?6GMn>c+>}+txHFj!H+{ML3 zvciB7Abjh*K9zP`+C(`wy9IZh1ZKE9PId4e1GdDW-|J=RZR^JG`{fA#{&ml1H5fA* zJrrj=19wU5H1(X&pXI!o>{l6L{|n7L;rRY7UW37-T9b<~4KQ{)`~J=HEN!jUP0W^39E3 z!E!WH@_&! zO@Pa`QLtDln3qt|?+hw>g|)U9%q?B-6?^O}Atz}W*_rXQCsUFsgk``P1@+z#SQ7xB zO&Wg64WLfu1(BF{=2eP)tpx=#)7*BOv~D!CE|(6xHVF|5f5q3jdsL=p)**;AVJeLw z^pDK9O)o%GxQzZzD~{)^T_m^K34HJ!uN#7JI4_hlPLyL*VIJpPQW@g+0< zaX+^yAYpPS#V1CrM3$v}ImTK!0U#-Ieiz>H$3^_mLy3JGKti{NoA<(VM=og*P+k+5$YhUf|hmJ;L=UYaQx2b9Q=R7%67kQtUnE!7xQtUI5u%7uK^pj z%}CwNG38INe6zODm_^{kf32rrwW)t`Bg_#fS&1N`K#2z$dv*7}u z`yE5Wb5l*9_w_tngh9IfsZWYbuSA(jE67G9ct>D@W+C+Z!^~EWk!8yKdV{_#;idxe zLQij%gy5mgrss}GZ)W1HH9W>OR>+NZZ;!iAcj|{DiEbG+y%#HryTvv=D=8tKRk29rpSrwn3IR5`DY>gJYy9kdi;^iYx|2g zISH)NcIzP*ZY|%IU1lXiasHWnT{>Wh!f{1p(eA?4pA_gq#@J!wY}D_{I5P6_cm(^( zJ3LTOxq7?_&1|=9XhU#eZNV}v>fnV$8P_Hx@}Vodh0pY)5cn;<9^Ft&XfQc8GVytZ}wim7La`p4@-%L5cIb4Eu9rwjP)**O1ZkZ3VPwelTk*VzX}YBvqhR zhY#zHrDM?eihq}Wvzp*q_~aXj36;S;^V-qaBNplw_+aS{wqa;J7yF?U_+Ja>%Xcp% zXXJD%GC!@jTplL{J1b3TaGHGNEf~5Stb&`vnQDZuP!~8PDID_ zI}yu$ca_(@9wRmcKbjT{Uj!5qMpTuO_Zeyz;Gq_C(X|z!U!MGP5cf?3{5~Vki;S}Y znVnX6e$e0WU8(GLyAzMoPh>L|R_3wu5WZRk9+{s6^__g+r6E+;<0%_5o-_lu+a@E< zb?x`RM`Nv0a||$zxVLU;41(JZ&Fi?H$N;qim(1kS{&L}JSATrVoJEV!vyUuRmOtRL zx#WKt83fY1C}~e1f=@CTb+Y`j+4ocgS32;9ex*Ky9|)>j>LT!I$R#`^Q)ABY=a)Oz zVJ{C`E5{bo$9r5*Ow!U}7+=KT-{Jc?b$pPi}lp*?_v^3EY*DaK9CwW^O z1)^}8$uzGx%HysVI~@luPmVfS^Zi&+SCy}rx)gx_sB3;LJKEP6PNe~GXPP!@p`Ko! zb>)z3T#}I`&D<`X&LirjFc*7}-^7mdcOsS3sC*G%VwXWrp447#^t2x12fspa{TzWF z@6iEhgL?Jeo_G6Z=P1G0<0<27mlQCKzf`M@6BzL3%IVTp?QYr_5W=6~*ynD*bpRH$SKRL?hl9oAL?iRq~LhrIXRx-jOeqc?u5ZxGGn5M=ipuGp6E>qjV2 zwlg;8gAmjhN|NtG^mGUR`uvpxO3wcy1a0WMP@91$oXYa-fxH`cE+A>L&Ufyer{_Sy z6#oa-$XB5^{ms6*Hd{?$8Yws)o47>Rc{QNZ-bwjehn=*!PVV0BZ!098h_+ywT8MD2 zsLx{Jw#ymK+Y9$q3ycWZVC*|Qn0k!}Jtih|iD59d&cDvhu9bvhN-{X_^7Wbr5t z=8x^S%YIn@{Ak4r>Bb;)uR&_e#sSUNx_-D`@{3<{uZd^?O$5%TEDD^*%-DpdZ5DZp z)V~ z9I$kj6rIW}UCr;N{nt+<X$<<$C;$_d%DaGM90{0tH zY(8MWUM|qc$PvZ04Bl`fB4U0Cx%*qZ^J_eR2Z%Yd!}Oy#_>buTU(W%Dv6<6oQ=8h^ z!%a(ud_n>IUx;Ea!Y1Jjr`!dLD^ z$V{Zztnq!cX?l|B(;(b(*}08x&*>jqcr%Su9eHU#BZ{Tkk>Bx%E{|NGcnX9E*!j2K ze+jZTxw&35GtkcgP$?yXA$?-qeQysxB))PoMIV0u`X&3P1mMdGhbM=j&hW!%;f2?-$u>OGM%LK?P!AIn(Cm`W~ytX81KxWOB2F`Qs1 z`Y+jC_|nG+(o|sMNF63LjayUe9YW-eJr!U(103trc{I_(E`1cSgt@%i zco;fZi!K`BsTp@@z3Esw5*NmS3yr9L-Mri2&p{;@cd(`D5o8e>p;f=~vJ%T4c(V$@ zB_{C63xXnBD`e|%pgWGHPenc-5N@T&&9Ez;9)ni*|91DX1#eXHjB~T=3=pd1!ctm= z%X9O;CNcS`PUTpYB0pIQscV`50W}UO&msQVc1kMb}*dRNM zS0z15Xd9u9T<+v!1!dOXs`EOnH&x3Pj2_XgZ0_ewTn@3LMzT+9n;rDV8~Evxefx~~ z#{+vQt94Du@a8Li?wgKj^Uk{r)k*8i4bp&`bvGi(66KFex8eZ8&$xhwCFWu}sf&cJ zMUige%soqC-tvl<8lH1RR}$31tAKph;vjQv1Els)mD~=p=A%cA@8%dL_2&ErADKU2 zQOXyZuA+TWqbWi7s%Fn`Sd^V2Gq z?6Uq+M$Vo{xky0ET2?s*q6FEzI}(4mcKGRUh-*)G%%k`|uT0V#g4WxghLVa~o)4m_lDInAZDI z55V!*fx9JMkxD+oviYEc&~awMg^kI!vInEe!w3tb7?bgzG(3unHN*Y=Ehyn1xoLJ* zSp)vcqGC^j`Z4A@E7F&fOi|qt6l(Y4vy~WXfz4jrDE zRo%fD){~wjsbA|=1579l{1b@u{!Lr)WE-IhL8BbIRd++UY(1HCaGnb? z6Gi!H_24N&s}BSfQ5KRF=uv^Ydmf+fo$oA%04#J=E%BDSXNR;GB^_aA&p3H#h(viS ztnDhDmHGRNyKmiyVeLnS6RsXufo9%)Hbv2?+$;U-)TJ%xXw<`ze|+Mz0(mJKkMR;gi3?H3iPg(P>Z)diPs}G!Pql<&D#%CWBj~;Q^dDv=Mi! zyIg@pkQdU}P{1HzaQ{6DNI4J!3gVO7s`+M}6iB!qj8XbS$PS>G9o;f?@P0I(i6$=F z;S5L`u&G6Jc?);c{Y+KF$8;cj&fBOq@IxE5xhwv-1A=643M`xo<~@xTcZtjcymD$g z`Og4BK|Xx0Z=(+-totHaAnKxQ8+Pm{oo5mSGQ|bHdtzV?h+S#hEJmj8iPviF5w+^C zk7inxw(6Hv6g>^s4MH2#9I!ZDI;AkQ7kHM9UpT4s`N1s^0#Q2-6%Z>KFR8v__;Kz) zkdKCG_?ZEB7!`5x-~S~4+=&*RRWi39?a{jg-(VHbta9cuKVvA$pQKzZ#ic{Q9#)jN|Um7)J}5rzTwBxZ8d!rojHT) z$OSPq+0$4~v;2;R`Fh2N7daLf2GQZYjL(<%J^(5GtH#A`)w#@_M=Y*cStXh2ga6+6V_~o3&nD z!}-$rstuf6` zy7?ZQBb}!*p+7~H9bw~~DD9`HzkT#b7Nbo+p-lq9eyT5LN@3$c4GuWD1L#eq3m3LLQJtc`+3jUjO z0n=gCC<~`o5vMSLuhmG2J4u~BoWm!*T^OLdOGfjV-vPz-8^>uK7np(E4RDt%AHr(W z&v-W$*sg&?vr|x55qKWuhf7lzLp*9cWc>?FDK#~W>@%=nVv0$U}0*MEZN$k2H9a^T+ScbX=8 z;Xva}7|D{dx!hG^|0;a zvNqG105X1^RliBYyI*yy;W&vHpPL4r83HOB8j4sM@TnD#(F}?O1qg?_Tb~B#V2wrc zIs-mp`pMs+iMMB_m!9p@62a|YBx;_fwrahyfHle20eI=hYaKEaWp4R&V!+q%Xq^<8P z_uXgj;|X>WL??&rJZU23@E78v_zM<}Fdh^af}f0)7`;!WKPA#_CQ@dKR&nOK^9Ag6 z=aSaQ=9?wh6~)`c5p~P5V)RyT5w14|{+8XH6N;2_b1*OT;)$J{+_7TwmDwOXzL|a5 zo~|1I{6WAJj&%4GpEprDRDT8~`qU4(tTS>NJYm>0UJlH4227$9S;eB@a;Yf? zib;$1-Y;kQJR6l~mHPrb1-zu|On}E*Sd>FJ!1^X1*F|ZYMQ!)8bnL`Jro*t7zSDBN zf^FC-p~m*@AJ=G_Kznc^%0!0Mi zNF8S9GXARg4Dj_4h~G@Rf5dLl(Z@IwGYi-kqiDtn(>6EZi0H%Auf@}5A=c8_c+XV9 zm+QU`dW{ia0e7CUCmJTvsO-oxZ#FjO5TfQb^V=to&~v<+eVhG$Y$1Zd0r<%XgvwmS z_g%0SF_Jp=iKYzS*yMM5Draq>8OkqE z-l_>~nP3b79jv)j_Er!y979XQ=V?8=_V|Q0dC@T5AHL_I^eUK)Qt-3b-fIFZ=YNRK z`{BI1ni>67L3?m8{|RBdBH>JTcFOkG2u6w4dDWJfJt6KkoX8n#{?nTH`APA7{RC9Z zY+7kCc(u=+)PBTyz!MF!ixTh)pvpCoqUc=}p-)-4RUHihIs%$0$+((r9&jzxUh6%I z)>B`cfCrRc_e`68j>LifNM?~xT6b>Np!=U3L`I1;xX#k5 zU9L?9KBuh52nh}_6-F+mqOzQXWzefTWuQv;L5hEqY2JuiA#YR3rbJF>btK|)`ASVk zCA6|DadHCMTSL7mHLxQn#aL(az#1#9-uTeQli@Zcq=W!_?^?o3adtOh9De!<38kwy zPa)%~S;hRZ=$p=}W^|*RhXEd!b!2JjD`l6%&6Fs~Nc&Qd!4!x9I)$X8m$RsWy5ck3 z8itD}MvlcZPKyeayKeTlH44wZ6dac|n(2cv4H7(54qj#G9J9w+UNWcfJ z#)Ah+?(04bYVEB&#A@s&RaJMKRkbJwZlYn9IlX`F!A`0cwQ>WkS`(eSQd8?1P@(s4 z`zsRb3zTl|*K|!j(OVJmXIC4pthP#w+*RyF3;?IKZu)f6r1ML$wqAb1U@SS`%pbYt zeCs13HQcXdfG5u@{9EY<>)vyzD=2h0);cDwka{!u27(X>n&`$&Qm30 z5dZB@XBO{cWLzq9ZwanR-wGgUbdf8uMy4=dLYQ=8mO-3Yp}xeJFQdFENP8q(S{yjP z%%+1T-g`P^nxwd}BzL|C@_{)!A&ZPskvv%!ziOm{pECY}3n(`Pfbz8x2g2G={d9F* zU_N;$l_uEUZaZ7LF_CDyOY8s%FAZyg17w3;)aQARo$6m3rXb;jYfsJoW+Nf|0Xfn@z0@!xLAFfKY8H1ox?L|6QTW{+xhOGa# zXbYNLgRbd|`sZIIoZ1sLEX|{9j!FdJ@|rjz3k=}>-PSPg1%84m_X^^MtnM{11`ZO~ zx`bp0pYeoNx$ixDIXt6TtQ%N%i*0YlRLj|t!v~IVb5cUe8(@e=R^HcI@!k!iP8(m+ z=-8K~xPAc_^lhHNl6=}|WM1zbkqm*Q8c)(IZCUlKp3?@O5+{gU5!Qh*V2)zHU_Pu# z@P5G%0ZS0QTtMfs*~ZJE60ejg%$oZHi%pb~9=H_A-ZU$XQi=darmgPLD+SeJPr`c& z&)l4`T-qB^6iwYbN6`&+3Mh)d7#qlvd(QRydl{MG-spCa8Wd z&)z^m!LP6M(RdRVY!Bfil~DdQJ-Ima8cD@~_u@GHr*b{Tvqq4^Bvi!0#9(S7rK8C7 zY<%x##U=Z@AkAy(K@{{5b@8F?-Bal2S(12-jGxC*=$G;Nj~-AuP6fdQ` z8`xR_|7C6$V1Q=o0Mh<%xIV(F=8r{-Q&26jXEl!*l(MGTYQ}2II;l}-DzSaCZMq(} zuQjVP-cJlWMmJpSL&+F@Af`)e4@Nh~Jlj`x7Q^Ty{ID68lSKf#27ru}(&C$BzrrRw z#=ag)9jM}0sPDi6SUAi6;a_cVJS8CTN@+)VOjeS)bro}$2pD`mF!e+ksdWu9% zTx-vblM_dJgf5Y@L#vJ%VRVNoXLVmp9Ru#4_b?UoA7`~GGabSd)L^46C(|*Tj4ww(SXKQ06pk1%Im#t`#8bnL*Ho~aQeCFh~gGE z^^b^b$rxH97MNXQnAu+u=H1-T^_x)dHJlf{uMtr^Wvk~& zQFhEDk?`WoCP%$eO@)dl^l2dddgl5D<;X!|_D{ejExvz44TU+OVV}MWMg{X&)z{2f z`DpITZzZ_I6pa+{r#81`KZNu2L0~%0+QXtJUUwYlygU#)8uG=0owVa;YbKhWVB2wb zj!7#w84V_tLg>7DkdEQkV6|?NPoie%7uV7%zb3mzbYI}mi_o0C7ifn7!sqEnWB$O$>lVBDQ^{|_78JW|Inz~z$YHjp~ld@$f z9><$cH0)TrvF08;c+)tka2Z^v1~Gejmd!_PdQ~zL3Nf5E&{vp}1$72Ga4VWiRYj<6 zajJ8NCCA?Ns$4}+HNQPHf3zXJWaAkzNG``!JAw@!v_I!17`%fC8h42Xywo`%{@5Y@ z-5-PiS*5Y{{=_=1!D?=?%)$;2Xl zD8nE1Mu?vU{rG2d3C%|{qB|>WMrjPL_XmP~x_D}f(LEU8^NaY?nR^n#7qSV&FVGb3r~1Q+ynqu?6$hL$cR!aP&f&>TJF2+#Vh(m5 zWAri=$vO__x+Ld$wG@s0Y>nn!Q-Rbncs&(PeAP8ir0 z;Igc2HjJyDP?8mc|3s7!$UwlcciuIs8}RT0Y}|=fX7h$)e=lDHjed!@Oz zW$EM9h`k)U9tC7*D$~SdukPn0Rvqn`t;SEv-@S3MErAI9#I~x6D@h3*UcXp;mwl(f zQawHtfmI3`z1G)hQ%ot34<__9*c>w*HtGc!$7TAm!>WSjqbXOfCUA9jxQi8pP;s*U zhCV2SY991oGVc+uSO%lDy7Ywz>^d;tK7lWvH}{P!nbsgn>8@0^e)(Gi4KLnAl-I%V zWbEY*&J zzuYS-{6f=Ko8aw2%XDh8y3gQKISEOGL#oI}!;6Ong&H^)np1G)P|;oqV^@|UGX!u*6oOGYXbn zTryiJ!%z|Odtnor`I5|pcD07umGbC%H^jH;{VhWSyk-UAEJaO5)9 z6x5_lyo?`rnV3E-JwFh_Ol(F}plW#Vkz_2>X!FEo43gDA} zpZ4D`ovz{xneotS3^C=up$4j^z{xTLnTHL_Cu1~%Tsr{?ZM;_G$Uh_CC7ts^EN&1| z0N)pKA#sOBu(7=AM{S7sDa{Q%-3cWnNTV;F$CGW$;>mQZ;)n!)HI^3VEUW7JOq`7Vitex{=(9&gV3vtIE^;sO=pLr0NoDE3H_?%@gpYlx znwJ89o#WuIXyce{1>Q~&(u#`MzGe7rJTD%?THLr`$14&H3v2HGOZ0Z;uMDzF(H=Vi z*xmEvrw|een+@{_B5{TsZ-1Cfz;&6SX@=VMEt{R_9ViRI$u?&mWlLg~_boau>jUmF z&(~n`HLa-@RUGxxGy4LGv{=~uxIspTh6n(prDXy?tKUGH@|WV<_4d^1a2&G0uSHkHqhMha zN>kmGiBIZOeN8%j#6DdTZ*^7^EG>(d&<&vsg%xtb=4fe?LL6GVVZc#l0&4MQpD3 zIyRsEI;Jzk9#b+%k~~vUy|LQJ9G=V0hUel2y|2$=+SU;S;+u9I+b_TSl=M@MXs*`o z91xDax3j~qJqbrugex$fep}-dSdpU)DqaM2S3L^eXUffIG)L$4{lY$Fci)L7n zpZ`$>)A(v|qD%JEhauJmBnIxA9_@7^^Ev7c6&N(2^Va zCOS4S7C_pH*hi}o`Uk-nbCW5%BCud79k!k-!8aEOx`nls42u)-%>;aa&(j-xyNmsVf5C@RYuI-Eg;(SOg|E8ZY0h9ZF#swqZ8ty5Et8YX`PT?5UN^F z0WO0mpmFr(1{vR+t10P%sXw3Zx9E@%k4bbW&^ms4LsgXOOt9e?Okx%Y(m@P$#vMWB zh?k7n(0hTw{R7fWyQ1F^$M&|PX^GKc+?dF^*IF@bBEB7@p|N%d<&$MFNmHHfLw!d` z70I$@r)9K|+*^`=$tL8hZc&;|eIet>Vb6c!@>6$-02oV>@I6zgHnXY=$N~rN&3c$> z!Krik2-M7Iq-m_No|kl6N=V5h)x=EOI8yBTH6#}_nt|53H1*;KOl={IL1`%FXv!~X za34wcdddsr8?r;rETb3F_KAX=vlRus?sWEF++Em%j7Dtbwwl|j=KEK<;QaosIy zh%Lm*1E|MVT1$nbJwoWch`C(GO|RO>3j^rjE@p|x%J z`Sj88UKsotv>L-`kC24X0|7_pb4VpYGHX~v-?d7HT$cMtpMfFx)3 zOPl;{K&%v_c)NWAj4vk0sR|=2TlRf#RM5UEQbsLnF7@ZqE#?VTyp3VfEje`PtxPb zcD7n4MsJv?V}`sPL}WEef8FqYdbM#!Zy?W-4Ci9uuf8wA8KgPEeHxRw%9ZP@hvej8 z#UOwE!tT9NTO*ge67p_~#uL~bC-FDV>kI#$nZNQiKYxc6ol?y85jJk{eG31BD&&ry zo&pMJ)GF~Vncwp%Mg$k+U3BaGMO_?A3@?F$b0JPNqn`DoJ%NtfEn=5|E{tl<^8cwt zv|{!wI;*=H--7XZwinHEr&tR+8ZS z`HgI=%pGN2eTh+P#<9XbUt25m0##50+ur>vFK||knKbhU9B$i(Wj6y&$n1FiQZE`| zO6ssH`=_C;OUBqoIa-o6NKL|2J_H6*Au|B%*7fTTNM&W;t}$v{GTNVMDz@iht5UxW z+VBLcih5;Zy>k~8Y*@Lsdr(wRI17Z6%(wmN1)D9p7^OFU2NjBV56fyuum19ng6vgU zADt$ba}^1$4sE$C^Aw#wH<+VW?ZklcR5ji|98S0V5+arPNBQr?zyq+tn!ki8iC1k;THl5^n5eNt$KLv?q((p)5X>t|0p7pxCn@ zVUg0%?+)YRQa^SUK@qtC^D%j`Xh6mhWQA!g(n@93Lx`jeP_(uhNEaiag9&>`D_8$} zg92ECBI@0gQ|7(3U&7+yVo0Q-1&Tc!JuwRAXgi^n3cypGL2AS&gKB{aJv|&=3K0z1 z)(SCIinmhD|4F#qZRn)$r7xg)PPFl@Ez<4VOKHlVFWCGeX|T;YggyFq>B^{#6p%R- zF!`RNMOd_v%P}JLha}dqMjebP#U_ZzEGSXFAoI5O{cNusO_=gu6$x>RDTf(%KS@6T z)=J32dHma(-W}E{0?qe@znLv?p0^Xkr1Dv${u(`$Sv=8{up(pCZGODIE6s}#^E z6k|=Q!F=gn#5cN!wWU!Q=6ym6flwKo_fnD=9iKJ>0Fex~M8P2cJsGBPvISj2fO7s+ zn4?qv6n$zBJWN8$k*37ehT@uHojLjRkO?efYv(n-c6x{(GAUyG_^J(dew?>4u*#v2 zu0%dKYNwt9f6h?Hbc7q`UwHArB1ibm-?%k*?>`~zsvs%c7wW!bk&5zh6;dNxbjj*B{rhIpKz|H7GK?GU>| zugl_!8WtE2@tbnrw370Vq$(u*aAwaW6e!;`jnlQ-eMplB;HJ2JL!_nt^jp(aM#CsF zSsMf{+89A9RKZ2kZ?N(`?}_y#V=^9kmZ5h?;-{r!$hvraGw1e}Xg0c(RV(dhdUlv0B0hS#C)OLakpRM`7e@$O{3W9yU zy~KITh$LS<@FMcHyUP((I|h;m0Ygz7r23kq|-xIvuJ<0=mLtu|LSl6%Pj3ml*_8cOc&ZLJXO`x4z--2nY# z6&iilSFe`fL|u{wM|2FgJOD?zMCLISRDwu5ZKR^8pwt0MbYqH4x-1|L7T;bi$9iu!?> zaBYt3KT)uqA3CEL37mqz=(FB?-LWH{O^X`_Pr545tj;jbXTH}T^*p0Lc!Fh< zc$kd)d>2l2th`5IxPZfad%grJLCPA6&+TXiF?C+Wb^+FU>wloC18Tfg+%2Ulc3}sr zo)I-O5_}rTg&)ytT|f2Q+rCATSCeyBB5by=DdDgxeF$?zE>`)M{QX#J#KL?oqT}|| zIrAqgV|dT-r_CQogNo3Qg!ZNHuM%ZE-ATyqhzccN0BI_BW!r$Xm`iucwvKc%G5c!+ z&cu3L237^E49v75j*U3X*`kaLgHhz=wF|3O)-9GwG(TIL|EPq01&a5!AJcak&x^w2 z1F@-%rde=?xNg}lu~m;7cpslse}mAcomb71F!3d1vx29^${hXtpN;zqH|;6u%x>Bv zVu-5Yo5xQ3UTV_9xr_2}f`a>Hdc}$-j;^%ENNMxmvB0qLXIvidKN7JCb{+LYw_&TK zWa#lxLa7zNgDKiHYN5a}&%9vLrzea{Bri&zjMhQyb--z28g+tT0q)a~Cz!2|Lalrz z!3PbbnW!*&5Y)16YBqrL;j<0Td$0SKw2S#taY^189IAVYANg!MAQ;*C$x zUk^yN4fGg(B>|L5E+y3PVz~9)_CQ(|2#u2%4Nq3Lg58#lD)f zym1`?Lo|WB=!F}rX%f5;X&`XxG)I+`%s+0?SJ|aFH6}%($%SO+ZZn0Lk zNy0R3UI}Ng6q(#Z$~mH*6Hs#3rfxC7R5H-)J%z1To1X=uimd}Bl*b-6UGcjM zM5m3GVg()PrOn#u8HwVoiNx5NwQc&&&NV}T1^iUtupA*<8@6^5tJ zWzn@SG9S{-8g}DEvJ`ZSISAHsEbBN_pVx*f)lJRqY)9if(0L=_#P!@qZv5!00(~P1 z20v zaB#{OZu24A-sp=?SVbKjops;E^k}Z2L;kRgZlBiAgkMfjg}ZbJ_$$sEL-q>!LPLDS zzW(EaOD=>@u@C1Vq??3cN0b2H$P|ycknHJh%DjdS$&y87{M%7BZjs*8WSzC2rAL|8 z!#X_SI=lsQ?u`wXy5AeH9PeGkc_u#;YEgjEs#T&n%C)0KTB`k!#UF@c5NJ?5rF%`+ zU49h$s<9CXVEOEpLwN}f3YGa6_Oyb;1Hsqh? zKasp`Z&s*%xMf95dBz$602;UlIsK|lEQ-M94;@=7BySZa9zjjx2Kzd-VNmLpGkg=f ze0_Qii&ln9SES2 zo)Lr_c%2=K!05?Wp1}7m(Jeo+{!$_!3530nm(DcIu%^yDgmmu*+mZ}-I4p(fpHe}~ zEDrC2OQSj%@f<;1|PtAKuysnAKJD z>T5?)%}Alm*n>8;&a2UELBDB7VssmH%|Fg;2eW~oJ%S4rwm%*?%%tM!ZDxi#Tls`K z#Ct-q^)#oyfX&`Nla+SeU_pqaIK_AbthBPugM2z+2-0*4)hy#^fP@UD{h{xi6ZiHa zUz8l&CrO5D=Wr8q32VszIfk^=Qj#FlSRp)MlRM);Gog2^8PK^qqo<&~v<>SHEK2+| z0Kq*>1U|5~#bL51JE%yrmQp>xMB5|)@>+TDLe(DP<~#4-+?PNcW3aP@KTtEqg`HF_ zsZ_q-5lhwTC3-eqb+$G^DWAS}GkTcCz7p;~omx)Cp!qpIWVruRLq@aq+@ak&G1w;B zc^5@hopjH3RNj9|!FE(c-&td5bzQ$Z6H`ii0@-gOfj?T8f2uOi*E4VBE-1Tu!s9v& zd~;iCNeWv5=U+`ZBwhs%IS%&<^dH7Do(Z|&>XPQp63;W zWSmZi<7KEPdn-8?m;)z&?1YIg5DP`wjV!Qp22wM#JR#_tg0u@IMKx3ny6Z^`_VC(& zWCiQg(gW;`yo5P>aEDHQlhsFaKMem&qCpx!ipCCe!?D-dYC`SY<>}^eCa_UYq^B;k z{2l7FiCR59QkjUyiE#vVTM1IAdmV2i!}8)U^-DorBVF{Ni#O=r+s5Pxfdk2L{w|Tu)&cIDg5o zYG*m|#i=z1FT!%5Kg)vVK)MPF8OWMD#yU%$j&Wc1M-vAsc>t%^(>?IrT!nPd5jcJO zVwIomYlh?y;-bk{MCZep3>$a#H(R-==iL)?EcP2l;%)*{kU3w4{kbSCT-$gU>&aXx zE*QRrfzcC3pM5qwC#nazrS|*ynciH6Rk+J%t&0|9ia+6zS+REDXVu;sV!DeER_gi1 z@1p#D-Zf}@`@s(t6Pa_%toIEOAG8^p=V9tHSXCd$?m1v6&BwVg=AkeRCOJO#?ox1A zA&a;PuaTL-o;aieD8+F69puA;8Ycc9@HOdfg;l~g;T86AuPZ^)l0YA4gz>O8rch6U zC(ihbjh@$T8^VY=2|892lYmqJX*dbTM&WOvJu5i^Ih1o9`57dl(gJ+xt+Bf6*MGlf zp*fzJ9i!?}G${L4ihEW0nj_BOjA~&P{q=`XkIR+yN!Y~LXF&I3A>e$iB zgm=!xe4Z89GpSVVs&}9er_Bc5@SdXH>UV#Pl18_jpc_lOkYr6i)mx&!;mD%mI-2=v zdRNuYDBe-bJ`I-hxklot2urwJkhl*q%q(;DJ1-3Dxu4HIFpLfKcXu0T1n6dOV?S zeU`TxVs|;YqI1debe6h;Qo7-UC1SI0oH!XzIl-uVyi*}r;oGACOAbxHQ761J%|_rx z61+PoPq*rs0dO<=imWr_>F*G=Psp{mXkT`R08yuGgAyY0(ZZC7%P` z=PTsv9l=4RXyG*4mS=at_z5&v@KJmnE;I6TGdRR#BSw!gBicUX+AOG4JWid<$-+PP zPBX?vrl!x_gXLe~>vIoZs)I<11Oht9vDsVr^(wlY>BHhAh9L@!?1`?Z<6lnyR||k< zmO7DXIb)dfNH3Bfq6%XXX6fg~tmPvE-hnb3?~kbtHk}eipU(ky ziXEM~U&BwS%1XF*K%$XmH8;D}7%hjwO=6KQA5W)~>&cn2J;>~D5%hpsa<)0aS_Kz)vu4gH?BDnP`1}lRLd;gkaM@P_2ZpQd`6zu$4`w1DhBjT)D?I zVd|}DO2MhX?jQQ^wB44k&A2+p@HXvF8~K0I);We4&<>oRK@$p z;Yq#?&Yu)FxCbCi3gwKBKz3MSX|*!u#3h?#EyGrp`JPT@7 z-dz`K_~*xlSgT(3p#8m+_ZD#u`gR^)&w4I*0^(M)ta^Bs7o6`cItMHtjZ8}H5>@aF zkwD_djgAxe`HOcgA>hGnLqccr__H{?Q-uhKrUHm^QNBOB2hC&+OXrPZYVw|>EN388SwV29mcz}W8_t<3@A9&i z6nVj+-95NfLSS(|7ZLw)3@VO;G7mxnh7!BCltF_7TauXgtI@+B5*wL$J z$k6VgY7jg+kLzzoQ{+SKtD8K~pS^{>rqHd<%@5C0lJNPhKZ}TNlzKtA30k6BE6ogR zk7SU$cMn^Oc3p+x>CFgfX(J(TI4>8wn|~cAGn^+#iLouJt(jP7gAMr{U_5diSI2*u zq_N$7+I0HZmc0|Le-xs!BB=)^Vv+9+%YdpMe;3M|#Edtq&Gc%P<_&kuMMzH*ebcc} zW~qv2TbXCA*sJq8!1#MfzdAyG{!1BSA{77YO;l!~ZQTgkPs8Z`7BBzR8!%K`?;(V| zDdY%$SHpFgoNjJNJLqVwIGr69plIIT*XQ_p@E~)X5AG^3BWhPI1gAR1?_(Bo{Ih~9 zJ@tVKhG)c5VaN5DlJl#YzsRF8fgB5HgS6!~_*wFqWq6T~CvuH)obL#%3B;;Ni)P0S zpXfMzz0p~=Y3H%HO@V3$i@k9AVY!%yT)$->_!K|h3esULmr>2UgCxt^kpr;);R`4b z#ORELK|tyCCQV%t{P+9wi{T)e>J9~EzjCTRP{C#jdH#Lj0rKEisNS9-RX)6Z^>VPW znr;*UH#5$N!m8WHfeh#4=dyUHVjQ#`(0;=^y|&bq$X^#&Xgv>3dt4;lz0okLFaE*DUM zTky)7e<#Ta#@~K>kPR2)_3+$oH(H093VowPwX^k$Ej@U1GlXtu9TkWa?z-sKT0DWD zGAkv7WWZvk>@*xsDfR(0w}9$+J5`2gwQ za)ge^Smqe`k=~ILo*{m|F-iX>AR9$H<)_-{OBQ^aK44eH<+J!E&pVqt+(is9q6fMO zu`T#ve;-@P=~>^miM?L4>@|}3EdBlzx`DyJXk%hyui~VlMQlO@B8^q>}$>C!(#bJx2;YsRj^_#gr zzL9-8as!!fsu3xAiOFiY%xPOs!6wV?kYWfPu|dPJ)RTvp%BtVq38ibX>a%u2?zbV8zFoB(DkcU^|hbx^z?r0K_An~^%;k$E}Up34hYJPi?jdUu_ zTfhw(2)Mk?R}4L*7oMM}QnkxpKIxaV&Q@Hid6K%?u*Sf4D`f&iSC^OdznJQGtv+I`!OgC*&dypm^PM zG_qm&d3-?yQ((1dg$a?=yqM{F<*Qq?ep1P4sC~>)V0%n=g2;&d`j~_zV#NPGb_@S; zx^P-%QP*$n;f;DRr=>gG_UGqlpVn@6yhZP~RwBjiw3;@aKpEf5QN#-A`+a;{W`Ut# zLqgUgLl-DFa#eW8oIt6{ZsO2mo~=a%`8oK&*^P^L=MNj5@qdpD`(GEFVk$I+jTd(3$6@k+*Hsbr`6ZhvJKlDfiFMU{+ST_#FqdRa8Cy z(O?3Nf*SCPJ!pH7@WcRm7K)Rt9GELqH2IFD(X&xZp}RNmX=+#K6~H*-;Qw%Ae0*zQ z;PD#HJL(42aRI{0;K?^;OEGvA<2%u`E zf}G66;xj+p|NRjlYORo}G@a*w%1lwCFT=Ylf50Bo{~Gbpo5y#MXOAP;m*naE5arZm zPEQM;c!o@(v@s!f?9a&rV|-jS#t%iR6?Qdn>fPm*B^fl`%0*}9IV9eI{$MrHVzCvz z7Rp6%yXZX{<^8#51${-y7OedJN84dAY91=)?=HnL!!pa$CaaJBD0=dH5=rV^=F|SK zL62DI*-c1)$JK+r?(4e;sDhH23;ERsDx?8`l!>w`;p-*1W66=eu0 zn2GhOvQ0-N)KV|FmQ62&hvSL?bsJ(?{FdQ0s(hCve97p^QzO8-BU$+G@1vOmtQS`P z%53_N9&I*8JP{j(zwq8vQ~2p}caiablQZRY&x2RSBZYDd(iVV;1R4CM+>BNqN|APs z!rj^!-5`)4b6|BEDtWMzc{^;lq&_FbiIzjuayV?%R^Rw=h#YC@KT2!pynue@leP(y zq+O7~-a!3P6J<0%SN*+iiq9*I10s7~pBB*6Z6w$*p*_CoZ-xzj*#5?l5@Bv{rs1cn zBG{j^k|CrSd_zS_hS`OZCuSWI=8_}&Yxi@u zP+s9?fARhzi_b>|=-+1t4^)u7+N=T@V0P5JPU>cESMb4xDZ1AD%L<5^%MwqDDHl@D z(5~c*9Vk0lsGPrN7!*oQjOdAek7_8!U`)0i=898)K5hr+Z0%{P^5u5Vll(Q4w`_5d zR^61h!OKYEO5-rLmpAyEmd3k8wD8>Tm_8GDTSFFZ!M59EGWc_67VhthE-N(CDyL($ zX=nkGAL>{z!1{nI-P}_;hxCtGR*droOPONG%f@A;Fe6W zSdB>!gS2Bs`lkinc?-1McF_dcd zV&>zoZLugu^KVscduA`}2D?8l=`2MrXJ?8!L`VdQy<42CE#s^D*Np8~;>uFgZXze9 zUbp|rR(1ZpI0d@q*sv}TiI_Ak(QHBby&I4=4Xn2gKrepI1v+!C>@~l-oaiYV@0AwY zt@+tqqZ_bR6&}?`7Q-lvBXS{$Un&$t0s3QD%r}k}`;Y_&#g}MYY?9N8{e)kIP>vVnfyzY-p z>^co_4NGUu*Gq=IVYB0+z_}mWF!Ivl>G{jis||(@D_zW7Vs->>uLyI_+l8Sm>QK`& zCb-S|{kAQO46WL?dew^0w<9|`nK9Pw?3h37WVUI3rx220G=;jz5zmW8%XT&K!3x5_ zWVs&-#xpx)2jsSwmNW~=sUu%2jwOd2Uj9#2MW~jW91S70;HSZV9&Q&|>>?@PS4Q=3 z4@Wgqr$Z`O-Rn9gx4uyBxCjp&IA1;NcSUxNeWmO>pq2kR!8wIVUk>SOcYO6!c&*bQ z{5i=YoJ=7{)n1c_za#+^uMy>_y;dpOeBR0hIS1_{azRYSlO?c|6v}K`ad0y;lKOK# z6(>vbay6icGh#|<*@ zn6(o(=kikX@lCgPIxPb)!SSPQ@r{mwTDWq}YQkCa%WQl|?f;2;>+$xBLp|}-NK!7A z=)7I37k=y*L10ay(vd1|Q;5d3AT`YJ@B|&Rt#r8@$M2+FX>f21RDcNAy34UAje>Yc z99GCr3x$un*lU)-Z@#S*r;MN;`hd)UpV#g|qC5>pv7r{--hPkqUcVw?7gatBYHUh6 zuU)7s``j_p22zf;XaSI7Faf?cUp+%w(^soT9?J>;-V_~^>z-W|s3!FgaEd1|)|}3B zQ>%JTl_b$zm5(v0lu(Nc)9W8jELR}vz>;X;`r)uc=x0AZgmg}J0rbRvE!cMT@MoQ< zPB?+Hz!B7Jzc1AQr_K4@l?e*y@2gGqrr!S35sTyCOD!vVy$y(R<`$lKI3+;jY=v5% zUqk8zGG(@D_RrxI2olEk16E^H6Wt{}fI2;F%q?QU1TqFTru1(byNAO3c-O{t+f*~tqC17falbA7l)vtxW1ay_scCfY;tR+4altlQs?3r^QmP}4*Yc19 zg3r9y=m`?Py{G|=@aAvTNy!bTO%Q+oAlROBc{mDv!9 zwj)i8>YBU@QgJIUi*54rk#q`ZC3n3MY*PjMkQN1XSj*9k~_vI%Dhic{#rNg#a zeu{l^bTqlc`?iR@%DvVGo29zEQh%w|OW%@o)=ym)E9&!w!JY2+4pVWM4+j|H*-H(T*5-tfKu0B_FQQ(;R<8sXxcKpA#`m01EI`wap!?DGD%0>ZP zvf{e}YGbJtwN5Z43ByPS7it}^o_u}CFr#G2K((FiFn?`1(`j>j!Qc=3aZaf!CE7tG z+Me$w+xJ~-xC`PA4{RzTRbm>0`zyF_Ab?|1!pw;;TbUGAsQU|*JL@iv zE9U39bL_%Q_uEvgtUMV_G}jw5>}BYkC-AS)S)hTy1O+krIko$`*h@JFC)uF%mGR*} z55Pug6tpBs^9#Cw>H*j=Mp8K9>*u^IIC*Sp^mB)#?s*cJFuq43=w2)7Xcfl6&GzH# zc+I2ZRUx2lqi^_=hmgXYA+IA2hx=z4PY4upd z_9r)xi*A?5{`cp;FnvfA=b}ZdjsjYV$Fr6dteT40h`?Gv0>Ri74qW7R(A_o;5xy2E|B!-1)@B zK%hiJL}U732F##l_>Q~Tf6le@$}?T;j}NpuG%$kcd^zf_O`}oqKLR6i1#P3(+Uy$Y zDu-sy5YyqSZ@r^Nq!X^UL3C7+gGgQ`NaYl>KC0eN;;1APKOYR*bWx;ht-Ys|SPRjc zJ#3V0J{T!+M6PqO@Pfgd-YeMg^1AsG*TMCbcnG`(_rFHT(9&A|wft|HD-$3EkVht! ziYf-6@`*(ys%xJO^{#)_-&_f{IXq8q>Nz#zTDh~Mx;aWH7K$Z+!^DFVBWr*mJpNmD z(=Zonzk+%g+8QFeFAr-*G}S2Gv9~w3|8M)A+uaL^6NCdys5EAgd+i7XcFzb$LY6$W zD$}oQXEl=ERlCeH@SvpQEJm>7;?l0Xr*+mm-H@86rKQzi}eZp`?JuLdl9HGu_?x)_Pu#l-Ov}G@X~#C zQ=;R&9c2l=0AHpGD%4TxdglS;CyMnMVgq}4Ua9XLQ5;=_1<+1f!4d9~ z9!3T9N}Cs907#{fbywJ1Jo`8vwatwtsCGx_fqDmuKaiu?Nt`6(OB3_&#qQSdx2^4jEuv18XI#X35XNmL1qd%Vn%qx0 zzQK9??CmBlm+qZ}D(4BL$o&((!SsQy09Y7|Wa&VCNz~d2LA<5~aB0{0fk^kA0#U zb@5tgC6h>4I;sX;e9H(A^az!#1dEqog~bUY7AezISlS*_;dP0!)r%Pklv~#{m{BNo zfyp(lCG)F!<++(eg1?sY`kkG+{U)qbNMNwNa`xPaD?`mIa$ z{ifVtonjT+#!58?&?K~=o~&D{>R|1T2N|2Gr@iiM+AoAfOZ~IOOOTYoDlupId?wkm z*hH|GPuGN^t=>gg$I`om=Pf-spTEAv?XI+%MHk_nXq#+M9iltRC>ZQ~BG0T9f~=0` z`_<^}kd}H7pa%$W(QF@p+BR%fJqv2l~1|FZLb932=4Ohj>`9+L~Z*$6Trzw zYTmO9!SNtM$#M`2Huz!X<58`7aqQ6fj3(GIrX7y6$?yVOq$|huDevm~qZr<3JS}jr zGm}DXvIpYZ+c>5b6sPty0~AE2#X6Q%Hfc}EYLF|5cB@k~;_5+9pzUNe>UO(eAnqE^ z$MtU%-&x^$jl!RvI{6KLFT&?;NEyC-)b7sv^V1le>bKI?Dhw0>9&%k>7EJ>>zCtNb zYV>-2P@B-8FzYyuuUt4#sfOkyg&SIJ>d+RD7q31T(ykyw@F+)r>)X8q;Ul@i5zX#> zHCCR@2r5tEQxq^Ma!{zvNRaIf2WAdP1EAjiKJ@%Qkfa#J%;vITLi{kE#THIw)QuzJ zQS1Vy@lPlDC^fad5XDrhC*}gLAr+baT98Ml72PmK`^!bP$dGSm2Da(#PEc1p=K?KY zkDJ`7ZSV^y5pcaXj19NbOS`#V%3>bHNa4sol8nA=CmXJ0V8-LlSp0)l=GX4Fd(NN z0etrUY5~EBe9dUo`-{O6OU}}aVtZuP;kD_6c7yKE7^gmiMo0AP>r`OxNl&DxdRAbh z6RfQNJ}v+VS)|G1=s&X0lilE4_xe=VVMM$*qC362x}Z_&zQNd z0!VD>;d2%&AQ0QV)wH3JB$vzeGK%JqTyZcSaiaQt6KJG^2vc%=M0r{zW?pN~qj*RV zqx-g8ln6V-;MP9&O~Yp>TuU}1=_>k-+HN?AB~}WR7vyT;!5yKMUmWi_H7+o*j*Scf z4$N_s9UxC)PgFD9zzhbe+;I%B`U(1x6^|~Ay|T^Ac?+4D!MKF#2D&ye5vojyh{yol z?Z?$Gar*N_YNBP)OYYZ|;(_7#)tqX}?H4SUDeX=kw_0@qC*P;PyQ8YqhHkrr1Ww*g zezym6!*uTS*Q&@j{|tnI&axN-a#ElbjQtGQq01-uIJ+(UgH^mf@Ml}C;dh~%UV85M z@lUfLO&P+w=H!u6%E0MuuC}JZ$W}n2@UdT4d#a{AnOXSJIe_@aBw+3yBcNGVyKFi; zX(b0q5Mg&<_&-N_<4C2UiK$lGt-eMFMYX}JlWRXDoqhdxI3dvaRi-{O$V5*^3z94P z{(-g~tE;W7Nr$llg)91RyQ;F?^Q61@Adjo|mm;f^JqDh2=o5&e5=t!I^@p$bqh$R; z4zVWj)_&5T)(AcJ%Lt{>uIC&h6fx}r&5lk3FhOt2e5C`IGC12**ijj`f?DQ!EjSof zCkb-*fvvsJkKACZ6J4b)1H|u1WWn3Nmw?0i1%rp=Q>Mic&4qUH4G+2>p(cw=B7y3= z3DMx9QJ(o`Z%rse593{YC14K-^xb?OvGt2QY6*z8#eA%CJNwunVrl;e6l7K~Xxi8{ zX>9v3AK6q!O;`N|{s#2Q{`ByyPEI3c(93@pg+oI9qGoa<@-qtHPeTd0Fe=&KnfH(i zQmtVKCdVEFkF_40M8aby_PKM7bhEMLkcV6)rCg594zC!DW%{JMH$NB4q#94OI}l6y zjKCK1F|{}tw(oIqJ1;UG2Ez;zrJJ4Vqz3#$(WyuWxzq?D5-h(v7acSjf~^VMPkZim zaK})LASKMvnJ)UJuWdtfq#{Z;B54KV$b(|7 z(Ec0+&#l1F6tM%bMkHLZp1W5>_I$$C+)B16g7km20I&-8cf(e0bf4hZEgD9`OMaWg z8*nj!h3$`(OeFX>*BbqbZ3wWx4kj&Rs*`a`jK~UIPq_n*)HhEH5@J(ypL?QTb&kZo zd&&C5^#UjBA20fag0Pa2+pY2b5hwMvF*v(P^PyLTmgnC*Y41?M8vh7AM6(Ne&F$t9 zA;(7M7^b?roSse*d|B}lZl`LBqe7JAEhr?z^E+7yV6&Lt@wFARgp0YMZ7btjkJK@# zB5fZc1BY02B9f6k5V=0$(!qzohT5AqK|tdM>{62dC3(U0Bd(y?FK{aVWm;Tl`lQ}g zUun-w8R9TASRlDn4D|1`5h@)xnYq>RDF*FMDrhM|+_?eNxY`eN6TBRqGRyLh^q{ZQbS`Hic$+Dr_7?z|JhOPOysR1-b`>m~f`xr>hr^Vpc zwV+M28e~ca%sdnaYEob|Msax;AvqdccXQ)C^3-5pqefDd4@v#Pd+h#wStq=Ew-Xa=2m!h>p=oJCW7HRJ0@vg6dUK{9N;x7eZ!p7@6tO9iWgm_Ub^_b$|F2-040|MK%OyKNANl z2H6tvJ2y~F^x5gZcpMpd`o3bnwvNPdQtgSy>9UeTR-ZyNYNv!6oEOaF{JN(Y#LV)1MI&_Qwl@gq;@G>n=CqXBYbwJSg<#8hg=rKDC1He$OXog( zXPi75&HczB`&R$U!6ymq5RKQuIYHJ@ja@sM6x6WG#AE@{Npm@J+d}qhw7Z=}T4Qf< ztvga_&oBqSo8a%>x!LS&nZ}z*3f)k3T{z<@21ANFZS_O&J00|LC!pO;vcc6@eGM9D zHcD`l2MbMasQu-cFqb>asLtpzTyppo)k%WCTn&y-yL;Z=U&ArTKk5mH^c1@6x!eunV(~G1hxebBYsp#MI>Kr*dr!ojx+z>O&Uf2GX+xG-V_4b zgRrub z(gB2K&`jf-sllsmfB9jVAoymdqJiJ+NIP&1cWRAQX6ZncCgL_WoxmX8DHfV+x=zH@ z3zE3o|Kyx_n|Bow$O|su(b>NuRm38EUk<%ihoCMSS||nMe2hDf($&APgtp~=T5p7P zGIPC?1F%Kl@Uu&Dbg-_sGiX8}j2S*>ir6;lTf+J)UJ?iL`Z`5TJ&vRqEqwbG-PfU2 z#M$432l0|Hh{??BzJ5}i_tu{NI-+#Y>&}d?pyM~9I3xm3EZ1+GOe700{3t7`@h6eE z%Tq+G8GXjr2JF*$Y`5>9m7|4-W`m@)a$mfos8k$ltfxX{v(S!T+iXsx&cc>BLCuLD=3`ngbYo-u^-u_#VSooVSg5N;i zs6bH0I1T|fnS*7!AqO~YeJ?!-c#m*AbhH3sRxX~7HpS_xkM8qyIlX`$IMCj%+nt-G zIhj2+yv#h0Nfa*?2OCCK@Jo!eAaw_d3hsU?L9PV#m1eyCBH+I@h+WVzG)z?sj&tr>6vt?oHA(pR>6m{;~Xr zVp^dUem6j}$7HXdoIk8;0|86$`7FA0@?##M7fa{c0-VnJma?KT<6Lj1;O^f~3skX} z`X>R+?RtqPhkHiFKi25t)sJsy_)^rj#_?LEb2)919}M|#eS;VDG0nqNa70Eyx>J%h zYLhFuS|Y;-(l%JZu%f@Gp`AnJ^|5pCxF2_Jt-BEo0R#$x4&o%oVZ8Aefu>z2Uy&90 zwWBVWC;fw`RHk)Dtp6-B246rX7}*8#O*Cyj4#_S@X`uID|?C#8f95{KKnIV z%27smKiUXjPl)q*G)<$wV`CVhRM~ncRhWQjH27rIn{i%fLIX2x3_p1rAo&tAj9)Vr zTug1hP5ZHr4w}%{VR6gVX5-^HEGbYTaoD?w)+_|Ak=9or8Q?0EzzSyZhDD+`L9F); zUV*oNB`w}f;d!1sNTtrv{O84tCJZmHi4Ger>CyInW{B5J{Y{0GiNZ}2RInQ54N@+l zskNuOv+{0=W?SGFdiBkrey?ylx0b3;^a2~${EI80>Sz`#@|octRW%cvM9O{25f`5{H zK{ONCmV^)n@w!5OK8^k$#UX@+4$kpR%W=G%efe3y?atnzw37Jj7_47~JunxABq3j? z7-kbDtr+%On=D+eSeTnDw9?THqf?=3=c##zgj_Rr@`v~j!Ji3a zZW>}n+1~sB=uyE+N7Axk zEj<9T*33u@iIvplk?BD!5RUl{4duU2dz;3Ew*@3k);5Z_Vq1kWJ7^}RZoAQdo+6v5 z3rb`>g`tP1cZL8XzW)tEDzME4*$#y4b<{SgQA^kE`+W`ai(6tf0+hD{SRJ@0q^ov5 zm~0s|mzlk#E0HwUw9wH$gqyzdwNDD#C-x)3dhKgPXc$8Yo4TKR@Q-M4U+1qtfbOPYPC%q?b_)sF$0}A@Xv**% zJm29erb(8v2X3k>Y}EEIQu*ut9>VlWBHzu8D>4irRd_xycw%EYAPrNw|eY;PZUUEY%0q$owszd+B? z!^4Ek{a-x85IdlNPd7WRFxSaJ`2Oj*mV;SlLW{Lu)(|G}+yAJ1Zp=fK3vOR=1^dsR z@Xj33Aj$Ujw68%O+|PN_C7?F7sOkN&@;Rt~&;nH9D?1e67VpVvXIW6OAPx5&B5scv z_xiT0@3sSl3*O|t?LOxFb4JEI-o|T}2D!plKR;Z4gDYcM5`l;i3yAqCK8j2z4?nek zoUC#N&e~&QR}#O2jZ+k$tGkQy+OF9so$Y{Y`rNx1ZEGh_`z+lCQ;z1ki&4%Vx{SKv z8J439bSWEqYws4km ztFmL_Vh5BowLL@oyPHJ)+)V)TbPv3$A};?0t~=W99A5lgOIVp^FBcS51a_c0N>Eu? zf9b$@^`>rwVHxJVYJ>D`aJ_E-54fxxn3%jr)+pzHi9sPsa#azzmC8VQu{c@I2{)XY?H6Mcp?H*XQ^Yyw2Tn9h4GSur9 zuKsQ%Aho6;;8;(~2XuEi+^%w!wfk9i*F^eLkG3*V1TcGmFfYBM-cpY&yT=z{EKDU* zJCf!FBuhl(t%n?Hs3}4bO1iB_t_FCBe$5C6{})w4xn5oyCI-ie(KT>Lput}}BCL2( zua##DSEb6?<);0(})uW)%2PzlTxsqz+SVe+~G)HWZ{LCl7@- zzoS8o6n+THqwqP~DVzITL*F(u44!ausIv=h&!?wD1$@<~5as7Ls z`IuHADNvhoG}vK#^%u1n3CLhkr+RWva{>z`V@nq9`D^&}2lI-3z zQM_LM1fjl3sBw(pr{w8UH}GP=;%O7tT@<(LqICIUmwizclca-arvu02kuZywLb1AR z$Wwhq*k2RiOea+Tf)G)XWK)KoySao7t@G16r}BIKwSwQ92+Pg@gaKO;&CQw8Fv3v@ z4<8T7zP7E*IOCA;j2bR<))u{;jpWmK>~=f?Q75oA=}}0C{8-dWlql+6ijqOy*MQM{ zzo0vwwC3;^_4eS`WbHuSzw})XCZxMp?Ld_#!lH3YMHf@LlQIqg8UN!zT8ag;lZS&Y zgmeZD9g_H6nrs(D2+HpSNST`38Nc8gU$wm_z3n4z6oim`@wPN`SCxtn>3b;6wEp8R zxjV>#NO3id4Mj5z7(tSWn{cD9edO;6&Am4^2+nX^i8W;4Y4PneDfA$$ml|3rm|+QY zq9Sgik^!cPt=ZT!`Cv`D_7c`FhWI5r16`t=irZ18gSSNrd%|DsZlRl9_%S~C z<3$5Pv3c(z2LvQFGP5I9ysR_{QvI|I1fK8n%kn);>l} z{V!z*u?YEp{>{)xUp6dTP2mqWX`8-$H(r5b-s^$B$YrUqL;i!aNZc-m8|jO~+fBKG z#2`4>@imT_GzncubwkZF-JQQAPZA-Obj^@MBo4fxKW0(X97NZ=AChzSH&UWh)!=8; zAM!e<==L_eHLzcKJ&F}J@nj7dzNVse)u06n9i+Yr1~5lTp=tv~y3>-SmV4s|N3841 zYXQ1C8lKN;fhwUEgX93`ul;<}R!bXY6i20XwrBs){QiY0`)LV2n#7NIJ*!Pg9|X;N zT8!Jvuu(QV2*DS-pbVz|2kMmSh8D^oG?W*s7J}L6CFw&~$i}`7R&5%1_6vG_Z_C>> zBKh0B0%0QtNSA^?-ifbza^|EbB;OPrABjAGF}S0)bqc^(S;Ff>QrqDHEAA)HtPqMo zCi3^a`ky@e2Yn~;gyq++6e;ok#E?Smn-GeDGZ^%IYX8-lD=rQ-pa8nBJ7Lh)4J2j) zNH!6j&$nyj^nzC6(^f&m{;#Y-@c5X0vH=rOpT`R0p)^UHEo&#WrbVQmB@ZM~hayj2 zc1*%7vd|MQ*)2ZScCX=j!ggG6Wm!^ZnNC-u1ZL(#c79#y6=o@V^!(iurc~hI9cMok zAncW8A&<|HE>^IcXSgFF$m+G2a%mkYLESd&^q*(bt*$eOC%gSXg7T^IAU62dIGd}2 zvw^X?iY4W@2$}$p^m9F&!>`$HPU-d^5^(YBSFHt2D$bLLiaN zJn;6HW!daPWh-HrHJF-`CKC)(4#V9m><)7^P4ybX@p@EzCq#Q-82d;>s}2aAXd~lv zSB6lTR1|jj!c|W2>{2}wKh^T9T;-5(=tWnk2BIQ@rV8zUsnX+2fj>tK;IZC{^=$2P#fTc?0>7l{aOe=vf@N#+Zl z^@SI29;9pA*d>JG3UKc|?X|DVXV4~(!aQSbJC2W<{bOOX#l zJk1Fc;UP5(*RQUhVA?AOYJmkP1rlrZc2ko-7cU|o5=hC{ro3C>)@#ISce!kd`iu$L zu$IdVW@16n8z8O)?0Q3xY`fxpNjz)Ei}*w0Z>mK-x?BO`=i?uB^RL>`+gQo^!b|4S zjxw9KeW3AyhmPI~_A<3DcG-O2Kv3R!IJ%fntF(DLIM#X>%A?dW;#SbtIAl5y(yEH- zjO<{_6uO{=>u)c;h=0Fy8^C^4?7|tJ!70f!cUUnWEpK4sTLr8w7T4!SJ=DK_toJBf z8zNRl=$0e>aR8<8God9)M(dKpW8NYZMV%!RP`hGe3+`o|& z$&f&E5r0S9+bs2qFIX~GoZEza-5eLU<6}zsNeIx*udX7&S;;O+%qWco zA#D_Vv*1QWA6fvq_TGj>pamB!wRn1BWUPF!bX}E(Lag1UEassiObq`zOzqeK%Wr%X zl}N6)Qdc}-Wi9!=o^dO%&t3P>o1NVKy(L4-1A+l*K3S5S!OLQ?Z7jk-RAynWk0v;n zqvG(UUpCuS=#WwM{3M?vHMsu%b)))dg6l`ni#0N5S>D2^(1m)3+A)LsW+9|ZoBpJE z*YscL&@(U*4{uQ5U2Yb)E>_idDJ~ES2+1DSEYbbWG9Arww2)mu(f*J%s-Jfu(MTwS zu8o`#&*WEQp|u+LQhoGu^>+$cE&D&GWf{8TsuzwKu0l^qx;rEg(q&8qg%BU@`~81*slBbIv=ra=_wPl5 z-M;CvWYZoX(EaB(3zDAb6EP{aB{-BqVT?m67n$H{0^a=}cqU+pusWmZn<#&^X360B z4xk}w3UjeI<;0QVbA8sAdb`Xzkg$HGOaa5`<~@&q;8Qth%T*?SnDS^E^zU1(HzK+~ zS^*@zU3=<|U{oKWC&PdJ4?e$9)2?E&R7J0N5ru4XFKtN(*@GsUHc=UKle|@19f#Iy2gDH@3 z>x!H>9CvY#gybJ)y0~+bHARhySz~uKzRCA9*E?v+no74ullwK#9p?UHw#n`3KH$1> zi_r62(|r`w`1?;!R2)Dr`tWD`g^56tF7I!AaHKa?VE*mr8ET$B)0^frGgm^|AE3P+<0#r8n z0@i)~l<}g-UcwrP<0c}lO09jxa^WuF6*jeD9qH%tG_1d0)2RJOY0V6j&KkxDVMK~% zST|;R5bL}P83sHs=nBxs50%G7+}e$PxanN4erV%f1_jxD9u!cv3g>f`&GE|eoWl(r zPwv9-1zjx68mJZ&6(m*tzfzm0uzD3!K2BAY*!@#o!OF0D{yj3y6Afkk-OFbfGFV$*IQhLFxN7(5g>OK|7G10{Q8G|837%z4xqYvxGq&Dnire z-SR+cSp>Id^NQ~-%NW@d-=?@wFxH%|5d0`;Dj8BPl(YvYeMpZR{Joi%fy7_+!9R*A z!7rR3o;+GXE~6qb#tSYA8%rXUlj*YZUr35LeIyxjQwdYqj5WZg>-Mw{$dXjOR9hK{ z?#rN1x8w4vuWGWB)S_eRuzT=Dk#t?>;Lr|9Oxd)MBS>!Vj+vD}Yb^`ud$$b2KD8x-8Cxy9nL*=p(i2=*i=hlXVZ zlw|VGr#?I;-4yqtLBj>Z0GI>~i8`1hb_EK2i1aH-#dlU<;v_A_O^175JO^T>19 zL70P;Q3Vucq5?tCzgHc!h_t_6F-i&o?8R&Y*`1cN$2~PMR$78M+a>0VmKN?LBEBEq zy&NO=AN}o?eIU_}gOV0b-_qR|B5MD`)0%&FA-&{bZ_gAh(U+_=5rm5)4b5*W41JMK z7u(wtuF^R%&$E3%$pSUCGAh+pCsu0>w`PnoeGf!DK21;AN@0&>g|TE#5h$=0#^0lC zl*pfX;4A8nre?G1ymSy54@{cW!_GMtS*W!e`D0+bCtE5v^-|s6>yMK5>h`cOLjo^a zA9vLQJS^Dk#@6rLs_5sgQpy;%87d4rqh%N;<(!~ZT+&PR{t6Ig`uj2veo$P%YgSwr zhky246P01+&C=kJ%XSh$;;7kyhVM~3h(L`Mv?dcruT$^v^U`ih4&>+>B25aF-)6oO z*>fW3iOXGV0WU=ZQM4!zi*N$y`U#9&KUS&%wPq_WgpZ@rLD#Acd(`c+3z_-C=x>>O zI6akLRo91-6K==wvU#BN*<%vu00|1ZWWU$^QG=~aLvI=EO2chg)QRy#6qLxEcusuq zGg{20`23Lk#;iBvIjw=YA0*Zpd$Iq_qI_S`q&HB7E%i>=~T{#B7~% zv?Edw*8YLhz>{4@XuLJa5-ZuxwisrV`g7MlRIrC-AbiF5MT)HP-ul-r9qEtc{X}ac z-7DyARs3HfH@O($ZBSEi8GG7|PlUUY+(1abFS)>zOI~MHG$NeQ#OSTHVJC1;Ky!yb z*LYRz7Wi)de@P+4DFZ9*9UF#bx14kP2x|-Y{){5f*>*g$wAD~Xb{Q4`+b#ZiX&&e? zll)rt!I6iq= zP){(71=gU0*^sIzLNC7pUy1ZJo1U*TEs#|hv|6b;xf1?%=tI@#m3$$YBnSC zn4xmonVCfXvm$6ejUzDEE&4;T49lMvLF)8-muexRe(lW0eh)Er+wnw-0tRMGns)FQ z`Wv{rkqwY2V;u+T9^EJS&adzPJjO<-b-!5(guP>Qq|vuNSaDLZ&F-XQ+jhscZQHi( zj%{~rqhs5)|M}fnGk2{!cg?)3PT@nnwNIVB_t|Ib`O@1|?=;NqZ=N>-moY)Khhk?Z zVGS+o-(0ur9NIuSC;0ALjGKa}I>rMhZuh9xW#P6X=ConnR%HC)G& z4sWbi)PQ`)bev+Z)sZm|;X{`O(8W5B_d8txzB9gCn&Wb?{s?ZeZ4#T~T`mH@6Gi9P z2%T1uRVWanaJP^tw6Cx=Q5QcRA@im1R!mbG?|e&CskmSfVT+NOblHWjY-upHwZqXB zTz;+ODP)yGfp_i;bAX9!!WV!&Qn5X3JGg4|x%U_NbrT3Cb_nT_vOm^4 zpmPg6@qQU*K51Y|=s2N`Gvr`52{)=`3pyW?AD)ll@udOcQdaW)WfJIYxJ5dHa5#qA zmKdg>9SB>-2g1AQd?y|+m&o70eRG!ZO-3&{HTx(?QymNUT;h1xi#rS{tY5cS4Heq0e?9{$5z|}?0 zc^M5qBbE2B_+dS{Qp{CR)gTmHV*_tzGf)xL@x}*B)+Ui8K1W*i#1IO{V_%CRD$?_r zL|;c`batz#1&-4bPkgSdwKym-kPJI1Mp%ej~7r!^bY@LrC!=Dm1k94r^Gj$X1V?MbJAe?-zUCGGI?T=1qy#eGOi8 zy{Qw(=W_*Zd+|>$qXuhQs*veEc%>Ez>^jR#R0yZ1RBvH*no#L^Ym0LLmkYj;3~pVD zGDj#BW|v4VT2S*6OQ!4Oay*b5WsDzPV8? zx7`nv?_>cgw$p?Q$3pn$T*yWV3}|Aij0PG>TK-ZA3K#rFCJyt|tVsnM$RSIeXI;O> z{x?1vc1$8;otvLMQ*ZSqenZnvBB@6sw)by-Lo{Zz96s&s3QR~W^I!>~G*&MoGiZGu z#*2>js8a6RYa=N9X0V%ek-OxW-k{qm`SfdhHUwCBGzh(xNu*Qe^6n|FtSw!a=| z7lynxB?TQy$|@*%4_{e!2q^WV5XJkrP4txx-;n1U9p<*Li zC4x+;MhMTKA&JAM+I`AthM)H{h9XU+DpR~Rb^qWyG_E9<&{ZXew%;`hD+3*kdWN_Y zi)nH?wqn`{S%UsXoXeZU)tmf|uAwsqHpjoaz5htt$8H zU`1?`dJvsP%DRy++3S+=(u8^buxCVhIl?LgS-J324x`%M*Z}(8UJ`F^ROKf{r11wq zRlQ=QQD@z|+r155pk}{aDuC2nC_VpqB6IUz%h3HH3-_NUH>T~E9<4$eYE@p2>5eUoU9Z^1J1xr%CrRt6_Z4=mN)!(ptW%< zz3z4aEit&PVLT{k zuNO{g-br%{vp-xW+FqK5yY5>A2-T9z^N~yXn|1y{%Ez=T0i3`J)yM9Pamea%#*{7z zmJB?g>^B_bShmJiC6cnHBt;75%lA|~l{_QbUhHLW-~=mRog8OTfz|3Dcc9DI0ekT6 zCgIO1zaD)8uXJ*^Rk_~z6Bfa%cG{GM3qaGVr|203q4<%E@qyyaNL2RgL8Dzm(gm4v z#=^g)j{(=`#eI=Sl5oj)hJ>lpLM6X=ApHl^g|S8Roko5=kZSuE)POe&@R>mmJ5#4v zfRk?N|6Z;s`U>E$tIvITtS>~0ZUM8_yvt1a{T6rXk%e0)0MgmY($nP3tDAx2GIbS8=)$3!F^GH*iyZwB+tD!YIvV7rpN`E^CG{pvGF5El74 zpDxmeqUq=MTMnS|ou>X=H^tZP6P3Frh605DvV+>n{-w*Cqem5hT=`OM8UEgFLpRL| z8bdCqoAe+>H{JeSj>)^33_Ahq_jestrs+k(wwbR6&dykQr-c^Y&N%q$d8z&m6c2wk z{T~1|{WJ$t3g(xpsZP+uePF=UVJirM47>_#w0^!9zQ#>e_XW&Oo@nE3rgS&V3ronH z(^xd8ZZWC3T*jXc>Yh1Rob9?M(5*J^0WmR1wpg62#mSvu)136KIze^ORyOP)r9_lY zI_#&>!GSJl@~Qb=IhbCnG_<`ND%W51;P2D98vTm6q;C?;@AvK+UnKhGFg+|R^_yNc zc&yKSTReSKPcQc1*2y@V;K{o?uFfo^1)DStVL<*Oa>8(}Hdg%gLh@B4Fjot|8^H5w z8%T9_y@s#kTB70EB^hb1mYUb=t+lYdSG&>llmCXf+rR#7G;;RCo>j*quKXH4?Y;20 zjuPpLE)14?0ZQw{89(%ZV9;vor03HYkReh}i`&gK&v3$vDtW@2NM){&;6x%&oBgnE zSPufJ(bow%D>7Zw>#@HupEWH{*RulA@ePDMB%r=r)RO?TXO($zs!m_M>y5MF=YtQ5 zn)V3Q&)OqIq$j;R>SL0haYQM*iWsxRjg30e7%X8lA{wzjyy`LCalTV<^Zll+(A@MZ z2Kes`b2yH2y1WF@S9s`dKg49cGP-7l835Ok4$Ieu1u{a_`r1AVL4S^C1N=0qI8oU- zxx&pfnU2&xn#o=^Fzd_q??Eb$y>`|C)0L@mF0>nlBn&s9G$2J`2d@X|q0wXl_m6}p z-dH5GBH$5_DoqS^tw?Va6kviCEhw!59=x;r5`4Ud-4 zZVtb{SrE?7ypp8*(;Hx0H`!2i5PK)N@UfUwm!Mr zn^#4kq(rYZyqY6-lg3w#HT?CtD9Gc+V(fMse-+&Y9Mgk)!zsoV#Y$%o;#3Mw?efaqzRzf8TZTN}ewhJpH{E}&J-hy2yS zKLMayzPc3tnPQN>ULVkOTQzF)<^75qojB^sqL$_){^t2Q-J4uf)UVY>9LTuZJ~!=< z4Cv`49a#Y)A}sbAzaRDC2QN!}_SOLvMFzfZXyr~Lm2*WDKVBvbKm|)ENF364$+wKk zc@m8i*dbEvVsN+3fNAK0zkzS)eZbwJnO@~1K}VPhX%PaSbenOPxm)*Qq)$%z1%Tdj zcpc_6;?1f|aIWprXVs8kq~oWNK)?@|x8oqCt3fEpN@^F5TSrhp!f*p95MS{O*}agE*G%=T8dcUbC`vdh7e&d$=IKHiDW z3J?r_WUX(f3xqw5@;2j5MqZhf1n7usV3>zhIv?`%BAcu5{4ow@RYmS{y<@@-weEC? zxgK}$Z1~#bDs$wQT+wgd1P>i5yj=C7v{!2GIi=l5k^5`@YxCXvfFjpar6jBDyGsV< z5QNWF9lDh)!p&xmfd3;dY7R`C+EXyv%#ej^(rF56gd?dg3EBzi=R2Y->cCRiXwJ40 z{LU30_t5OWZQqXO82O#ep%f|uUo|x-yQ9)xL>t+gc~3>1mt?{Geg?c2I^5I-a*v;z z5sypWnh~H}$PT1eD`Bt7KP1O#N(>y(SN`z0%yu$t-+jt*G$_;)cxqmZ-8rGdvl)oC zMZ1d@5xW#t!Oi+GNnEMv=8KcYHU4PM>?#8xkbX&CD`P-j=ia)XV4c6(JXoGO2^iyU z!{3YR$*-|P!O1Kk3N~GYdX9D!TIb8y9zjwvtbu=XxzozlA~fnIx8^k5Wh!~s+PR7q#~d(;lFeoqK#J#;CoG%{>=ED1mFu7K!pA6b1!sD(ZVLdgd* z4mxX-IC_@(Ihkh1=&p*6bd|hKWmO7EKthP-?Pb`lVd+Rjb>5_|r2M?&ukVu?ajGrW zdQ=H47=U|r9cF4?5LTl>@AA+OibcSE@6QH;_xYU{HLBnzi4!m|6f25(hs$@lXxNP0 z6t$LW%4anzP*J3S``Dd9i-q>6Gg-lQ@#y=&@KZ2{TwnV14~s|!|H^bvw|Q7X?K+l= zS+V~h{s9vZd#4bI)fa(jXm#pN=S0bTG&O{uuZxfQd?6*Ig=5J)gp&$r%cxiGh?~wu z@~j9gJ0?;f$G2zW0(!)|5I~$cXoGN}Zhy;Pm4B7I|3kvgY8L{2%@B{J0~ag4EGAT5 zV=}uYl*Ii6EEfYqEy8aWJ9DjVR|3smPfvJWPR3FkP-N^@AZ`Eb}qCP_82a!a@ec3mm#uPEfuqZN}_Dgiw z=R?rmE9ORN2@~zfVwW|ndMyU9LISrs)pl=KeE#*DM`>>4{MZkI6X;ce*Y+m+`JDNfANf4b{m6uPzGhxf8&*c6>Upc= zpGu2hUoL!&%b&lsNtQ2rvrO{orCVen$GE_Hv(`?o|2N=AksC1|5c+L%`O~|)_L>4v zqh-_vXDJwXzq-3uko224o?yeIo`t>Iv?VUb^VLCpB49ebGHYyj(0D_t3!VX~%Pym8 zI7B1gBB-r~2IGNwT#resYmbc>Du3m`>y5{pQI__v+ywX~0o(KJUmPmZ>#`=$Tn$CD ztUgwAQx#2`L0wowCgb)~lr4N-S1Ei1C{IqPMJS~ZdP=nK<7Hp;2jrKRZN$*!6%gVp z!y)f#LJ-aS#H`Vo8vmM2PHO^b|-9Aj4778f?0DKjg)H? z!>m9l_L4qn+2X*k8Kw&G{jdm`m)pwDyXG+^fzwqhonsE#ZPf&WqjsR%@NlPPT3%!Q z=~>Li#!6cofzu=?mv8{3a6E<+0y@sdlc)mLc%aU$s89*;5Cf% zd^ia5ZAs1OwI~cpa?rqgRA1?vy~rZQxFo0Z*}77QQG$CS!&<4z5Uq3D*nQ*)K={l) zXa9wCC8K_|K&JvvRnO9hs4L9$Hk479@OWSuvrIhSU78p1RL$FQ|A=Bi!m)7i)5z3o zKReQpwsAuv+lu9ea~R;;vJ$)Jg}NE9B}Y`-q^g}cmylUujUi@dfs{fR8gxaVl-|6>+Du7#nsD$q07eIrP2gTil7^1){=ND6cGOrZ^jLa z%INJxY$dxpP&&3A6%iwB7Jm{MtKjvWg1r3@%Cfm(na85*>+M<6i;HNfg^kEiYrOuW zoGHGMj+FShv%VW%S;DVDyn2!w4=?Da1=E6Fw0jwPmydbS*&EB}$s41m%Hq)Cog!7~t-> zw}K>UjHCuBy)LgNv=lt12o8&PBZ3ip1W1>|-<<*oVn>I62|a3~=!QLOm>DkL?50k` zyA!HipKfsqq$jqFnqU}*JFJ^~H0Pwl(M@MTMqJsQt3dL#vGsl!2F5${tD6Pu=iA#F zT;B##JmMJY7E5>$xX|}hmtBhKMC@RAuR3Pn{u#(ucglPmMUrFt2Jw23`r&o5?l=7} zx^oea5^i`NKM{|izsrz|VFuf-pb>OzKLrB4wz$a+bn4Y3BOgs|89}emA=ZDqYtS#E zow}|AY^~vOiNmi%-rQRvCj`2Q0f5cjtg@|%DYlGNejTGVUBZNPyIK+?;Pk*I_8b}1 z#puAeK%e_dnUrsG$`;Z*Q(Tm>qTmj=s7 zxzJmGADkXsFzCfmr-94?;DGU9E-^u2-hv7fH0A60i~LjAoDq@S%mcobL+N>H5F}@l zoWAL@%aquWPBHF1meCx$c&SNal*X*FoYX#{^~WfM;^Oab>#KXU!v1VIND*NWJ2`k~ zG7!@CLZ#GFl-!&$v;S}K&f%dX0#P~XP8JL|31D*8r$Z>8QHWm|l`OiqDH>&~y))p! zA2O`(4F(kIhnBPq+}u2^NL=>RUhIH&ubsx6J*+N?-|`msbcF_;S7RqV7#5}8vC~EN z^5&&omSk9Wh`%uUxD|!G@bAKh!O5i%Jsh1A9d5P(TPt|_f7h}e&JUe*g=U_+aogUi z2iXH@etshaALyNwUahv*ul+z&p`Em8CTc+tAGy8gP;?st7C+~!t|)t$rxM$~)xG0^ zSZ14;DWe9X*I7SIKYtasn|ENBn~zxw=>C>JbQbI9#**r-+~hS!_eIe$7gOMVa{8i? zsi?`HXOPW7cu!0PP|zNJ^U8>nBeI+c@W$yn3i;xF+~Zvk4lO3|xW71$%M{VJx;VS{ za(@aYqy+Dx_T)pcqfK@)ugBr0!Fm}1lLnt1p75J1mU`r!Lsod0fV|`YdEnJ0ZfC<1 zKa~kV`JZU3FRgA9`V;Cq6vGJB)WPMu&H=ha3$QGFjOQwI_--f;3YS7x?0pz@-M22=>t-YBYERQAdXV6G%^g+C^Hw%-d%&G;_1@{s5 zKd}|TgE)v2Dkx7?+5W-ZSc`-1oJ528yq#j<3PD)FowoZkT<)|=FQF8O;hpKzXzaxGcPW4#a?ZuS$q`@+-ALhWsv<66Kx0^m_ z-EX^u|E_OmGb~E-r!ZmI20R9e#OmKu4I)p`3sY*HbT7ve=N(%R+5$+eG!QI+rKBNr z@_}Dh|E!m|3^~XE;fW}RlKK35`5ZdAdFYuXT<ewNsgtzw9&S5OA=;e=@#V9fvJ;`Bt`KAHq1H1#N}= zVo^TOccsi;303ky4`*m~Ar!-=*^ekqoUfE?D4BdJpC%d=aWF-+dL##ZD>{+pl_*8Qon)xJv){I7ozt5 ztS6|UJuKT1JSEpjz@aPW8yOZ>I1n+a`|qbX(rr9phr;JW6-q827k?SLMIJ;U_TST! zvp$KB^i?5^=e?e*#`k29YC@G(ceyv!gmw7F^-l9tnIO$jcpJQbpXQBOgglL>Bi@IE z7PcWV5XId^KMgDP>{B4AVc;73Fk3{Q-xraBz2h1fKII+hRtCIN+-Pww)Y{fYHZE7K zc8@mJ&3V);z7VN<0a+?;iso>wsW6Pt22TcF;`JY*)T_f-c!^DUJ~vzkEa00pECnCG zSXq3|#(;}Z=bIJzYUvI1J9NliH4r}gaW1@bCo-w_HVa*REYE}eKqwcw=_y$us8%`$ zDFa;x1>hUYPAV4*fy$$^X|URRj0r<_%O!(zU#Cdng#y!=IeO$9r{xgLqdl^a8ZKbV z$0}-A7T!z#X`~XjWv#0?Vn}UviDSg7WgRrt7f%EY$$bh9Y~S^>p$TNX4!)?i3^vO} z>sMsF{m&JIV0#$;DL4wr10f;s`sOTC6|~P#DyrxES3q*zRjGa%)%;gCytZ`SzjwK_ zjt+F4zqN~IgJ2l&Kdxtej>%F+B3+k1k0>DznT#noQTYyB12OYXg7 zlN4`*>%%414N%1avU2?)w7R@(eV9{lc}arvjnnV`FCeUhZ!gb%ofl)UbfHbXnx5z` zWGwuU!3AyAK9p~0$s~G5Y1iLDMTvf^ersgju4`KmZG_K0q_z%FzmPu6>DcR{yC1yi z7E$cz#{mN{L$$)Q(FT5XYyb^BA=ztgcDpii2Dz~=qBEm0gn$_3_l;Yv#;eiX9gj~b zFAR$?z4Nv%(ChmlK)0iD&}6)*G2H3MBeys~{bN*XsqmaNz2mr zKhybH8{)|$fO8)-n|VBH^=orHG+W10Z7(no2R`2SiJ0n|hHF^~eStLQ`}EpQBS?b(9qIkPR#~ zw(uuS{XZFO;nx;@Izna_hJ|bqPj9#Nns#Moe_@}5htEHa;DjSxxFnrcMWj&?lgnQ;RfPBsxAV(j!r43DpRs7;6szZ)A|X& zggz&~qV)LF-RiKKoy5Mq4nV79us53_2bZ;92>`&h1A|`!EO^2r7Yrw6YI?EybL{p$ zSO~gWw~tTQ(KK8>%eRY^hISph)U@Ea0nT8O&;;2_mw@$irDD1GD{mKucHMlE`%Ma0 z62eks#0C5f{RWKQG4{v&$9;?Gek8`HTY%zW8v|!|yd;I!q}5->`y<98}Xs(DsUbl zucgtR!{!G^000eALRdfvnGXc$c6blyb~Q#X34JFDszU+8)CQ++fEM{#e27%Q5z#Oh zUX7rxLMs1ra87znB3Yvj^ep-U$cBK!EKI(=UK4zKS(J;F(L0%ORzcE*b+@Av&E|@e zrL8YgAlaL!eJofwW;DL3Aw{LVZL!ujLbnqy@z@M9-~%Qb%lz$cW6|2m+`WKO>_HND zoce~Rh`_lX4xyP(Z~GafwFQIQKJY7KPw(HNx!ym*lq5i!H`Vp&tr|m*Ue2gSYiygb z(0vawAMzp;aI32`fNHOA^CR|G^Elc2fW81Y=~`-aJ%_(>j-21`97M{%T%J-pxwUw* zI}&@Qkm3WcIE{86 z?nh&NH_oLL2+bkGiKg%}&y3 zYkSJnkkOCWmqBS~&W_?ilexv?*vPM@04nD<`#C35hL%GkcD*=4Q9#;@XkU%(?EG`& z@Qm$wViDkb9nP>A3QR2CT4ytBWg^eamY$7uZ*v!;<)~`dkN;Q5lw{Tb=5h&wx7Z{5 z9TBtZYss!uBp;deAj4-68iq5F!^DyELWM>oW6|-U@3qJ0GiPO6yT|I(N-Hs{?*}Iq zLtGKtvr=H&WCh1#JD0vkB;X4+Z5CY*u!q&y@``ATA}}FS5t+bnGwBRboO|4&0>MNa zrvgFuN8*mlnu8#q3TcRJqvJ42GfaV5OdI5^T*FFzo;qNdiiKT#oh~h=imvaTOE#R1 z%UtzYBudwE{X}A3zJ`jp?iC1jeWa|&()b+Ep_Z&&)4~GX+^n$Ms|D4|4xU&LlE?0; zjfycmtR@9={0%rVpEa1B%~mmD`;p=bVIkDoIHu{}lz$shnw35Jo?l|e*fTE@9vPUN z-%Wv`jQ12n1pdT#ehQ2s!a+O|v$eO_My;XBm_ zUDAd8FeJz!_Q>^r<*UC+@N|{Hl+QNj8odI?08;z2Kt8`bqFr4r5m6zNLm6&W)uP8O z^s>>-@3n#YJ-J%G8+Zc2ZeydSpkkdmHwI+!bE`kRG#hh!)ebKVi)jSy@V^cme{{N; zNBNW0gaYTKXG?;i@{YSNdxxDE6mW70YCJ<}PySGh2chDDK@yzn%&N~rfKq$G6cVkV+tgSbxyPYFvaRMX+G#(C~pd%>dB(T>kT+ev=$Xh z9q)FXBAD0NDb7?BtY_-7`-KE-GilaiY>qfd76p`>K_jp#N%!Rh8Ot;`3*@I$MN(f= zFL3IVk?vGv#u`kNU`d1&;sz12r=>dPrmaB;O>)IBgBFtUi5?^3s|A>#B{i7p6N3{- z$d|TzX%BDq)mi>U*L^_7Y8HO#go4R`IZD+HPsERUiO=?Y@|PmU@)3PI2Hdo_EH=+1 zC07cH$uc-Qb8@1x4rEQ!44}KL(aT1lDZ(L_MK1-juqM~_fL?TCxd&f)+&6Xfr+-Y0 z1f=khTd3&fWCzQz=m^qlU^szsfA?H|qNzd1>th$FA{iZFmTo%h`8L~vpBFRTEnnkDJAx{k0k&NT+9N}SjZPKxDA&Z|9Y1T3#lX1u z1(JrMU!?T>dZ5hhZDP~{YDN>Gt)FAx?)@do0e!c7nsY{`E=Oi zfIKTClqcM`u$F+-OQABtaSgt6UOvQD6J>ATw2i4-)f+20MkAH19d>Oiam>gLYQOqo zF68D|GPKc;VP6_f$GmwaThU? zeL&$wpl@ebdaj))Wl7rQV+>z14CWV=T#5Hiekwzx6Slz3SBwIbjZv|8X9ukVK>k*_ z|Ml^0=kLSu=Li7vsEV$IIR==%-A3%@yAt*g9*uQb8$(O*Dvf=%Jgh^onm>@RnWMvd zQpJYV^DTLFt>DjS(>3t+&k|lb=2s9aA@%dzjX#fThsK{`80w}Fk_3Fjks&2dh{B$4 zj4R*-G-bHV{Zg-f+a1;FTgqkcXQIla_rA@CiRcj;--sNR#0(yj=Pa!12zuW10lVCt zqx8!v`P%c4CQj5guFP&w^1-i1XR&0XRpiNOBGfgl9?Uv5xiw(;tsu|JwZ&glq8RtjMch~BD)m`p?6PWpf$MSX?(#&9IGtJSa+jFZmqiIGjUsF={EHTaJ`Y9pQw(gc(OP&{| z20UODV0D_rkBEW~xSfsoMa}o$2am=js&bq3DXg0QJ-?D}0(-0>q&=uta`rHm!&)>| zL#f;x8i7S<%y3(5a+K7qv1T>*VJ(2mT^XWlK?*J0>g^kcfgt?wTzBD-^vWDQg{(6{bZk)$9}emKOJSZU9zmcL=z%{DtNNTbcMse*DiPf&F`L;C4Ey2HSAG@{_;+) z3>%PPa1_WQ&lY>|`bQ(%lN-R$-%%sTtr~Vo>m~5XI{Yqo3oFJ&&zlapxSS8k`zQk)&d3Tn%*i2b2(AAsZUB|zxV1^6kL zbF*m-CdSL;;UbS9X848Fs!+ZkCNt#ljjx3dt-eZ1LLTTa=G5dG!eT9ds1v|FBaW=V~b+vcyZSH z<`et4%Pn^X#OCG18dIHmUjapa)3(vq(Zh@Mv@E&MX_vS1U;_!~hW!jVxHX2Quw=i& z_PWG4lyC{!P-eJt6ecFWi}LvlNkKM(kr-DUc#Qpy=%TKZVc%msh0;qpXT@Z#GpSno zXxVF5PTKUFRC+ni68I?4sL(vCcr2j#wyN#kO7&-TCB|#lPesB8{5O5}xulU4N+E3s z7oQLMfr@X1Zf^2!5(QVm%3)#7lnoV3s^Hm2 zL@v;mr>#fVP)7bPQdPYo+`F_7RA>mw;}m(%nORFs1984tYAetE<-AjdC|zdp4D(7= zBKdx~XUX1RFIY2Etn(n#IR}unEuGLX#uPIa!kL$NtWFJJGsQshAB%$fUmys%Y zMPtH5KUMvHz&@D*$S})J(*?yP-oi{DGdrw*;!UrWGv&)h_uP1ty9uJ64ET7>f-gpO1$!f0-P90X$YV^+UWLL6 zom59neK;`?{qeUb{0uX{wVm7)o`k zIT6#@Sok6ZEVDk%4)o3CoB{?itWULoX(~`{kFk*i2>F!joAh2#72Hv}!}swIn9bEH z2Du1t7?+qIs;W;~#dQsp%zFyhWSq8X=`Gm;k5vr(3s_p}G&gUum3zCZJzMAiI3Or3 zoapmd8B;5#R&X;$Lj<(w$$r+?UQ^_I8n&N^n5*?~h%!-Re#!iQUV_)}X6Pl(Fe3cw zlwNn=$EY>DJ|xe!-)-K|Or<9Io6VM&7FA3R*-a07+w> z4F?fG#ko*excTfUq2K5jmwC#sANwg{zP%Na+ivw7_AHHh3>DFdY?0J>4eN|v>jqz6 zO|G=l)@%G&U;c&EqYmffQ-91e4*$uNFkRgL6Y@Oe+cNx>-8?Up5Sb{QrBP44k}`Po z2oNlIp6jot)_kWe5Jv*|4~7mJfVdHhgKxE*y+1l2t}XU&Xj^qzU*0I5`SFw#HyO^$ z*T1@ds;hY@&a}n9Le~jff`_-!6roL9IulT4x>^kAYu=n;!e_bV%XU5uS3QSe>g%*o z0@<#-1sqLjSX1$IgF7#VZCWKb(hW${|I|*vj!Fz+>#|&aD4);ge?fxUz7Y%yy|}BLW%m-rfjGzXc_bBvvI@D z`NTkF4~!II#B2baf+m|^3IR8GckcRt^yCW>WBS+Otl=TyJ@;$NRc;K;~rO$^Q#@c`W zS{g>NFNvhW4n_$8w5Mvg#J&aCHkW1Wn(q;rqUsMTvrpGrKd8}x?EC0-ZD>&Zh6eTG z4cu#pQ^D`@GP^O-y)l!m+mnuYlSGj+P^uH8rV5MfOf43>Fz7I(;8X?ibrOSHj|*4i zzf~S}u$VfgO4KobG+6=P)rGCq--hhuwSQ?puv;!g77frv65*_1n$NK?i!^pLS$FI* z2q}P6;T|Lu?c0_-*6A6}nISwmt=;oR{gqjdg$^hve629l9gv4Y(1;MDVP9`BYiTsm8w}>TxTPJ@Zv|kh&~lBN>>hUSsF4atD0IgcQ}2a{<3QRxNO!OR*7m=iSq`IDAf zvD61V+cDn}K{A-xqIOFT?_99MxNd1ilxa9-^v56Vbo;=uV#_(&F-4hc_qZhlQs?Xx zn6Cqpv6+m0Cwho~sh<&8=qkdyf_8jycmIsI7= zwiFkf7a@XAN;eiI;s5woAfop~<*V<)pxIY@E7lY{eXbOlLe@G<6QYTiX4K@w%^#@Q zZV&V~W58*}Jkqab!1%!V(yVwbn}x)QPp) z+fn}Ijm+7(*3xmEvzZWf)+0mjOx`#V>P8jNx9I8)=~AwwmWb)9V?FTFeYG%6(e;}k z_fW=R=~!bd=^(;hv^uV}O1abcYlx=U41szZE^|w2U>h;+WV9;lOU28J1DTV`Ah-s5 zfmd4$>xQ7)I!bcE$_5Djt+@D4V|HI50K+7#4@xUS#^xfFAA3$dQDg2BL| zQt0m&8c`7dI;9l@C1|Ofexy7ye=txpDgr>Mv}~XRE|=ejvFCdj-fiF7Ab$(^z9d9s zgsTPh0_3E?z|p=xLj!CTJf)-$Iv5*4000#*000+&2e7kpHZ`}Qbul+GwxxA&aCfBB zH!`xdp>?yiQdWWifHAt@YS4P&YB;;W0zklzzrXcgPu>Z?E!XLhLZ)wOkQ^-#sYvx< zibf=f;tXXc+sv%1Xvz^)6I#x)ggh>rW~B1bJkD6+eCK2Db(K<c^&~Cz9}dSsp^7Q;Iw^}p>W4F>%?XgU zMikU8)pv3EI}BRGQCBT3_8+ZpE?);GoEcQ2lQ*t=R@3&8#7&xxiul>osXYqd&bz;< zvahYA`ISzG+Wiu8@w|47P-~lwE5J9aop!dyoY_O51`Ru-B8&vNNzS!P==B@Kb8Bs1 zjKJmUufij&zdP{=M<=Ub-eLCm_`G|4U7mFs%4X5qJKGa@(b(%h%tw>Y}B%j>wg2B+7 z%7$<%UU9p@J9arFw0oK${e=6U7Z3Ln&QEFDg8Z&4xe+Z9El2n{B;Oh1)dddqm)f71 zKleT{Ri#{JNZ@7!f0&KYJ}kfp2a=-!wN30Z9iX%e6}07k+9~8tXohWT?64)K8}yRMiYufk zZhw-b=VM!={UqwkM@fiZG8%!62-cA@ISk=eSDQwrQ~4LWl1v}N*o+O?`?Kov};mCd9q~78VzjUP7Cx?3cf}NztzWc|3Yq0g$c2nUHzv?XJURDH{BI`ejbojq9`A=R6)U zCjeU45MD2Z(YW;>1X3JDbp$zHuQ4DNPqbu?CB=5TIzZNm9-Kr4WqwSAP8r*_@-{Is ztu5PVT$Vu~=?xy!d?IPk4&?{dRn!ZE?*N+(x>iM1F zfeR)339+D~-bGm#|-=kO#KrAS%*iVC0AxloesGRKyv?tSoiDetbblw+J+$4c@$zjB7 zQ&VV`$%3f_pPev$qfte&Tykg^gP7_ht=+B)9OKQ}_J~?xH(3_ok=7)lJ=}C&&vld9 z(0s1JuaOm@&k$wCUMEM)D5~9y6#uZdfNL44|94pa5Y8EyREu$no#k^qXm{LN9}w@% zdxYprc=Xp_u!lKU)SYD=d0_Zq^!g!xeuio3K!;xobF$yWReJ+uX|S!e?XymYCKvD@ z@dW-yaRZ9J^)xQW-YW0+`~M8W|5ZE<&GcfMCu0W+cpweYetY}(+E1?>`3=tG*!6$ulvV;>!Q8y$#&be5r}@@ zR`z?4|Nq?8(b&n!+{V=L|Jk8{uDBYd-@o!dX5CO%GcqYpE=5B*H8I_w%=nKhK2&9oC1>Z0om%m7Uloi zJTc@vrI!An9DMJZfO#zs@c$w#TT9b%Z6w*p6#Yvm zRfk%6_I9~r)I?NMQ$!+ZP`DT^q5e;cpHZSP9Hrb0loJ9*5J;Hj~4- zzMsn%+c%j89aQrR?Tklkn9t9$d{56(j;b1#WP|k{Qj(UJ5uCa|(Nm7o^?AF`)4z07 z7amg)2~%v`)srd^zXAt8`D;jDo~S1$3;RHor`Lhh+&T?+Rm6p=z4f(er4WO)STMYbd+um-kHw6iD0#s~1*N&Z}#y2b!7^nF{F^ zFYY`Tn3uEYOwP4UX0t>Z=-65z0IvhmYZASZ52+GW8hvz>$VTgTCuwQZ;rX8Llva(H z#w)qmv^BefnZ^s4aq&jkr+>ZL>T9=;1wT^0#2{`ZWUrt*uUt^~CW+ML*Q{sg_Ozw3 zXLYnQA9{rTI8aV!m($T_!f2kfPB%I%%hA8GITDx-ODuFZz6-W$E=RTN4p=v1y8H9@ zxWi^R@#B*xX9cOOddRWSnjQHuFZ88S54+T<*hQ{H%0Lvj*iy!n(`wW)NrbbS<30dd zZ~gbw1!vIXh=ldfEAQu4Iw)PTi6%w`<4RhKvw+mnLOVG=dy{|0_NYyX3yHRzGcN_J z$`)7AVAb6uY$>W5``$PTb+Z%G|m#tGbpB)}6vXlbn68^=x^Iv@gkqK)gu7 zh4Z!5!$bJFX-MfRk;M@@)pmL?QlxdJ9ynY$pjAY_?^Zy7zr1>{IK-HI0(m zQ|1>C`-+TfDj1OAhA(XS-On5zsRRl|)+eN!p*T2l9GIN$$?N-%zr`QVyHTuf&%CE2 zTWYTh@=HsI;!$O-y(K-BxKDdo??1>FyXFK__?a{#Seoi zJ{>#yM7Om=UZ=)2jxQ$=*1mgX!ved~i-K0G_rjCFe$1Eqj6&ATijryT-LUz$Q z{yqHUTc5)o3Y3W7;x6ZEJK+!Pjr8h>2&Avmk0%ehO|f18c3bcFYKd6w;3uuPaQ4;C z9#GQ3Qv9pYUsjF8pA^{-6uOHS~l|(|GI3Q->fVtQmLT zY81j2>kIfaBpLqbb05rGhH?Cz^hDe`Co$(0-&Gu$F~T?)wGnxaVuzT;Z$o|WG<7(v zZ-HMG*o|Cdm7LTe^-wH_pnx}$xe$ikEr9{o*f9=SV=aLiz~Ts?vXi_iX{5wPkeU5Ig`H(wRA0aL>F(~7?vkN9hVGUY z7->)hL}`#tK^g~;b^w840BHmrN?Je|IweOs4xam*^Z1;<&;7jEpS{)LDW{bsH2 zwbswQJ(u?tls#9HdaRBgN32jau`?WA9(j}zjVT$G z^Owoj8R*@0y^LqRJ`R*=r(Z;FqksQZuC4xPz#yxNHvuJ<3fL*2<(J^)E6po||mi=_06+Bgzbe&xTx zA9SUbB>(t{Pp}6+G2em7l(lxAr(r{YFjjX^W>hM8jFp?LuWGH`ooG2kX)*eKIy^XJ z-}F5b)h)=2c#A~W1QvO!JPMCd~wrC4b-Uv`7O z;!yvwtt**dl{U9l0kfv!Cupo@z&GQT0eJV19({_ubIRgAtYd1a@KX+Npy-BM_sGLq zKv*vNo85rx#m&Pv0oru}n@B9%q`^E(`;Y)Hzz%7yP}ih)M52xXw1IO_FF|TJ)1EKq3G6L&^wwESEmr0cr(ve0$JEcUZuAfFsq|{w zb}xGle4)JG%GKj27>{%PnvYxd1NEzjAoHXtu^La3OXyiIN;CFBdz1y9sHUfvp4gQg zOANST|my7qtxCp^Q18AQ{W1=Al=ptzk-(MC(QapDaQxniTOU(ZM202${)j0Os^k_ds>(`Gj}B4M zbdbvZNtm?lZ%kj`T<2t1Xu8gyB=I^}M%g*<+4A$0JqZ^%Pf~>fUsKw`c%tfGzF!Ah z#ys7ousJ;MI=hYP5MLwS!A;siYuPpiw~1tIj)l;wHcyKNn?0w%Fpf!)i0x404Zba0=a;Z_ zTnZB(pW{D4O`aCZSEk;OX!3qBVw43sL|h3s zj(DLe;)o!^F+gR$W_&V39AEV>7{hhB1e&-U67cB7zz=-YlGj^;by%vL6~A|p2hUp0 zvhgtdM94}ngiSy)CrzCx>w)oMxODaXrxiAz-<)hzU`BWNpfy*^G51ep_WktKd$Zq) zC)DVO%60dJbA`ax)wNHm8o&qy8O_8?zSew!8hhiJs4oHj!Y1E832nC<2fH95C<^kd z5*{R>QOJgqqJvsFpyy2*(6oEr( zF4FU(E&M$yy*v>qL&MAkw>JCQsVsE~qd7Q6KJaQeKi=8PQ^B+HVwk8w>WP5$ z3wZbd>yliKh|p^q!~wI@9Y%hXR^u%FD-tXtfGJOCD->DMD{kq_mm+Ok| zA-nO>7vV)|Oeli6LbUuL=M-5TtGd;V6!B zxmUNyMj&jkIv@EK=#Mskye|h^!pZ8u-EZqSV@w0F;42@=rRebgDI^*; z?v*#n&n-PSzUsejThlI=Ji&%)=~#4RNVAk}s7*&eCZT#KZ_ZiNP6p2`3uvPW!|`@>$aiN8=ui2X0%>gH^^+RR7R8F;~Y>c z17JR6YzK-|df84%ah%ha2U)h7dxgDq0`%rJuGIREM3k_^A=WhS9&) zcg;z=hV`1nehQ1h+~s;wXEW^eF*U907{yeTo`fl3?|wnoD$J=CJI;PSWMqC<6_S+06&iE%vB8qQLPt_sqbR88^GCrhzNyyT5xk{k&+g96Jc1Y0^ z6}yCrJOQ!~Zo-^ak0BV8BC6s2p%1$vD72nv8{H~h4z33)wTrZZP>Ik&OPfl+p3VrE zCP-Zv0T7HYF+df)S`vH}160`d;>gd4dH}F%`{sM?{nQzmCSwNFB?XTgXpnMp1T|aL zYvAk#L_7+9NWQ-@ZE^@R!gh)|=RwI5?N1Kd00%p{VO<`@H+p=IMgw_h^7CsY&T70M zOVu+PAiT4l&N7y=amxxWhL zs`#oXG#|J8aGbVcy*MRD1EU$QpSB5z3aA48SNvOzq+@oUW|@ss4W>hdZHsd@meZVB z`wAlFHpCm)#Yuk(7<9~V17=p%w}Wq^C*vznrHL=uDIQn>yuP$Lc4^=Ee{i{6uDH|B zHgqGxPMt(l{%$|h`;#*G7%NBt(R(y^3S2=FRFwragSv1-qGQ-yt9WmjYN+67mx~Hl z1RBQiUFc*2B{eQ4Tow1j(_T;`2zWGjS)Rpfu>>hbOO?u2Kj)nK2J|fJedWF@7@X+P zt|j`)C7?kom8xL3i>N?n3r)uv5s^QCz;JPh&kP6IlbRWWUXh&6iscj{FZ)`gG7Ug) z0*Kz7AmO64;0){QR|^W<6x}j(;t}s*PmNvctoh`4L2p?)YAB)}qQ0XoUu$p|^K)Z0 z5kzVn@JItlI7*&DO1X3lH_3=LE7Mulgnt@O=7h=TL`giZSMjTVF{(nGREQQ4-+W|lI;^m6{SXt9(Nh8Wv(Ovn7^T#8R3ns2g#zB;CO2L@+C)H z&ki*xb(v;Uj4Ox7J-&$~4{V`s$|b6@Ip3UfiTcD*^d8h@lQ=2LGKm;+PklDB%O8%f z2M_w>yEoeZb2z=mcmJWSLT*jJw9PS+k>So{65~64{}gC!!A(+O(c-eD*G$CQI(u(6 z+2n);Y^4IYd*H>w^u~9%1zUo$7%C$G_vIK%p?^Yaz)J#ZnqZ zmt7hnc_zb`3kZLgz%`zvtbC^~hRN|<38a1$#$84KV%;_L{TG5!)2eDAKb{(y({kCT zVkur?TtD$&C==W56ic|l!Asz$RGzPm{j=9XP(2J9_1O)qgzqx{=6s$15k}3 z$FsK?sIU(jq9tg8reeUX)PSUnj83Hf+AkLuxXXgXgIOCUE5GT^vqL2;HbHSZ)Jgl0 z&t3)ZziM^%SwetlQZ-l0Y43HIDc$C2WD^@Nh|0LCxo;R$+=Ya;TpA9O@fS3ZD~M}d zY_;<`na|NTSU&^_W+~)l4i60cUgQ^+WE)(+p3=`|^0<6AH)us;$Urb~cwTs48QY?E z;?@EF{>-PvjZw1t%bJHwfR9cw94+c1FT^Iz`8CNq4mz36C9O~4FER)2dqq9v=-d^JpOU!rkRtH5-oF+pvbl9Ig<>@yKs zNHBzaWncI?rD)(r$OUkO-U;3ClBIb&Ami`9#2m_m+=3m26}r``uXcXJ3*1W!WxDp1 zrqLaqu)lr`C~$=BQcr{i_w3y4#)b!Ng`$^Zhqlqm>JCG%x+~^`N(nm%mA*O8l}pC3 zpLojV6KNC$snLlt5i2a|58tfz{vSu;T;28&-VRXwGPCS?W#f8-%dH@` z6fku{JHsqfqJ z#j{=ZDSmo6xOX&qxvoU?a4VpL;IsXT+gvA;JV8AVq52YGIlD*C>cmUd+l`BNDgLr4 zMNC}iRb-^}^>{7vOnSGDmwbOi^-nz zh`g^R9LBgn==HuAk}As7ub#0fg#P%_`KwNFpm0eyA@_cY-H@~Jt#mu9*;AR-ZsSlK z)-j6nKpnVjay$9uQ=oEG2SG==sB8+;*5GQlU6F4EJFikTQbFb5by?bVTY9S^wEd{=fC zB-~ve`S5T6uDY#d z-Brh%Ldm=X5F6iM?`jm1XkO>gEKRtphxJWf-loW2VqvkQ;^-P}mLx;H zb1S2?82y<~$Zl;yj_3YmZ|vq#c(cQ7JX1NX2}%O5M^d`w+mI3M8wPlIP$s z=|Qkvoj`654a! zFi>iAi((E~_WP2aqG1v{BY6vAvRf0Rd0E29vf~hg5A{>gaAiXU*#6X`cON9m2Y0&k z<#MIF3E1}4!eV*@zY+6lru$GK`f15xY~U^~);@*({%W%2gRZq@j6Kg)a5=(^m8NcC zb>mK$Ja_3SbI@;hzzLGOp2$X>LXW-9>+1Y|b;&ZT^ftU18S7&*j|H3938~SYbNik8 zgqdLzn7h(fm)t|~kSBuCgK{CAaFq$ajK?GMt3Rk?4=;}?s8{wOE*|c=qUjHPDZ6Nf zFc^MrPvVg=GtYckKc9U?DVXVIonGBfODu8u-B@|0@$;)FtdvlVutE#I3xL28x))sF zMaQ@fZ4UlsdBn?_@?l{OciVN1h#^4qMz{kg?;*n{Fa}NQl?-Xatu2P--qM{Kj^A=j zOl3t2NlLYWlpX`WzU1H|W97*#m+h}?1F$ve2SylxCh?Q#$!Ub9JGgnXps15SgG2=` z{5rpEsg~+XkO?_)!;-Hbuv8)+zq-L;eAl0d<(5|}Z017Yc41!3r@>n#W?0eAzu;zO zb5I&7=y?}>e2#)VIwULE;+rNhB{Ke5d=$Ew(C&R8$gcAJIk|42gSWTX-0Ru4O$le* zPXbhU2J$c4;wAGt6M!(JllbnBtYhW<3JI0nLUm5|cF5(P5E~RS)Ob9SF|)^%z0m$G zK>H)>SqZFc#T=JkkO;0O}!D^=IVc#i+cI-I~EwR^zYJ36|dPKdHhOO)+jtr04 zB)8%8OYNPyvJEb9og6fqoSo~_y1z>}GI+a9^gdR2UW_?>^sD%)-LD=RwT|s?2U5P3 zonKES3g!(2<(Kcb3aGy@(T$GEcIlzov8X;*7e!K@J+ab!vd^Y$6cUY^P z?5nKbU82jvg$u75R-D_y5rq{ZFzA?nQS`nPr!a?#oTTldIk?Zb{Q_ndy8IHAWD|nL zc>9XPez&BPWzDS~d3TT0P|=vs|3y0A-3Jl=8z=t0lcCW3SCa(gr_%4of96w6O)yc= z{}M_0m+t?8b#FWEn3Ee(P{8*W-T&yKpfrZ-{8bm^bRT>1@pAo7{om~Fe*wim_5Ycq z`PX~j2W#&21)Ki%-hbq3?mO^1SMzTS{+ZDD(?AmX|2FuY*SOdJOIG90f&V9B{!@Rt z^>6zB3pn4K`~^1uY4T5C{O8y8Z2OzZpZNIR;Ws}1H^cN#c>HHKdjCHT|2Im$cl(W! r|Bc%}5%8aG?(Ki;&;J17d-=cqRG9bqo8RFq92CO)G)~9N@78|+zLtd_ literal 0 HcmV?d00001 diff --git a/plugin.video.rrys/resources/settings.xml b/plugin.video.rrys/resources/settings.xml new file mode 100644 index 0000000..15cb4f7 --- /dev/null +++ b/plugin.video.rrys/resources/settings.xml @@ -0,0 +1,3 @@ + + + diff --git a/plugin.video.tudou/addon.py b/plugin.video.tudou/addon.py new file mode 100644 index 0000000..0eb3162 --- /dev/null +++ b/plugin.video.tudou/addon.py @@ -0,0 +1,306 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- + +import xbmc +from xbmcswift2 import Plugin, xbmcgui +from urllib import quote_plus +import re +from bs4 import BeautifulSoup +from common import get_html, r1 +from youku import Youku +from tudou import Tudou + +plugin = Plugin() +url_for = plugin.url_for + +######################################################################## +# 土豆 www.tudou.com +######################################################################## + + +HOST_URL = 'http://www.tudou.com' + +BANNER = '[COLOR yellow]【%s】[/COLOR]' +BANNER_FMT = '[COLOR green]【%s】[/COLOR]' +TIMER_FMT = '[COLOR FF8040C0](%s)[/COLOR]' +INDENT_FMT0 = '[COLOR FFDEB887] %s[/COLOR]' +INDENT_FMT1 = '[COLOR FFDEB8FF] %s[/COLOR]' + + +def httphead(url): + if len(url) < 2: + return url + if url[0:2] == '//': + url = 'http:' + url + elif url[0] == '/': + url = HOST_URL + url + + return url + + +############################################################################ +@plugin.route('/playvideo/') +def playvideo(url): + level = int(plugin.addon.getSetting('resolution')) + + if level == 4: + dialog = xbmcgui.Dialog() + level = dialog.select('清晰度选择', ['流畅', '高清', '超清', '1080P']) + level = max(0, level) + + if 'youku' in url: + urls = Youku().video_from_url(httphead(url), level=level) + elif 'tudou' in url: + urls = Tudou().video_from_url(httphead(url), level=level) + + stack_url = 'stack://' + ' , '.join(urls) + plugin.set_resolved_url(stack_url) + + +def gettudoulist(url): + html = get_html(httphead(url)) + tree = BeautifulSoup(html, 'html.parser') + + items = [] + + soup = tree.find_all('div', {'class': 'td-listbox__list__item--show'}) + for item in soup: + soup2str = str(item) + title = re.compile('title=\"(.+?)\"').findall(soup2str) + if not title: + title = re.compile('title=\'(.+?)\'').findall(soup2str) + thumb = re.compile('src="(.+?)"').findall(soup2str) + purl = re.compile(' href="(.+?)"').findall(soup2str) + if not (title and thumb and purl): continue + + items.append({ + 'label': title[0], + 'path': url_for('playvideo', url=purl[0]), + 'is_playable': True, + 'thumbnail': thumb[0], + 'info': {'title': title[0]} + }) + return items + + +def getyoukulist(url): + html = get_html(httphead(url)) + tree = BeautifulSoup(html, 'html.parser') + + items = [] + progs = tree.find_all('div', {'class': 'program'}) + if len(progs) < 1: + title = tree.find('meta', {'name': 'title'})['content'] + desc = tree.find_all('meta', {'name': 'description'}) + info = desc[0]['content'] + items.append({ + 'label': title, + 'path': url_for('playvideo', url=url), + 'is_playable': True, + }) + else: + for item in progs: + title = item['title'] + href = httphead(item.a['href']) + img = item.img['src'] + t = item.find('span', {'class': 'c-time'}) + time = t.text + items.append({ + 'label': title + '(' + time + ')', + 'path': url_for('playvideo', url=item.a['href']), + 'is_playable': True, + 'thumbnail': item.img['src'], + }) + + soup = tree.find_all('div', {'class': 'items clearfix'}) + if not soup: + return items + + soups = soup[0].find_all('div', {'class': 'item'}) + for item in soups: + desc = item.find('div', {'class': 'show_aspect'}) + info = desc.text if desc is not None else '' + try: + title = item['title'] + except: + continue + items.append({ + 'label': item['title'].encode('utf-8'), + 'path': url_for('playvideo', url=item.a['href']), + 'is_playable': True, + 'info': {'title': item['title'], 'plot': info}, + }) + return items + + +@plugin.route('/movielist/') +def episodelist(url): + plugin.set_content('video') + if 'youku' in url: + items = getyoukulist(url) + elif 'tudou' in url: + items = gettudoulist(url) + + return items + + +@plugin.route('/videolist/') +def videolist(url): + html = get_html(httphead(url)) + + items = [] + + tree = BeautifulSoup(html, 'html.parser') + soup = tree.find_all('div', {'class': 'td__category__filter__panel__item'}) + + for item in soup: + si = item.find_all('li') + for subitem in si: + if 'current' in subitem.get('class', ''): + subtitle = '[B]{}[/B]'.format(subitem.text.encode('utf-8')) + key = item.label.text.encode('utf-8') + items.append({ + 'label': BANNER % (key+subtitle), + 'path': url_for('select', url=url, filter=key) + }) + + tree = BeautifulSoup(html, 'html.parser') + soup = tree.find_all('div', {'class': 'v-pack--p'}) + + for item in soup: + items.append({ + 'label': item.a['title'], + 'path': url_for('episodelist', url=item.a['href']), + 'thumbnail': item.img['src'] + }) + + # page list + soup = tree.find_all('div', {'class': 'yk-pager'}) + pages = soup[0].find_all('li') + for page in pages: + try: + href = page.a['href'] + except: + continue + items.append({ + 'label': page.a.text.encode('utf-8'), + 'path': url_for('videolist', url=href.encode('utf-8')) + }) + + return items + + +@plugin.route('/select//') +def select(url, filter): + html = get_html(httphead(url)) + tree = BeautifulSoup(html, 'html.parser') + soup = tree.find_all('div', {'class': 'td__category__filter__panel__item'}) + + dialog = xbmcgui.Dialog() + color = '[COLOR FF00FF00]%s[/COLOR]' + for item in soup: + if filter != item.label.text.encode('utf-8'): + continue + si = item.find_all('li') + list = [] + i = 0 + for subitem in si: + title = subitem.text + if 'current' in subitem.get('class', ''): + title = '[B]{}[/B]'.format(title.encode('utf-8')) + mark = i + list.append(title) + i += 1 + sel = dialog.select(item.label.text, list) + + if sel >= 0: + url = si[sel].a['href'] + return videolist(url.encode('utf-8')) + + +@plugin.route('/search') +def search(): + plugin.set_content('video') + keyboard = xbmc.Keyboard('', '请输入搜索内容') + + xbmc.sleep(1500) + keyboard.doModal() + if not keyboard.isConfirmed(): + return [] + + keyword = keyboard.getText() + p_url = 'http://www.soku.com/nt/search/q_' + url = p_url + quote_plus(keyword) + page = get_html(url) + tree = BeautifulSoup(page, 'html.parser') + soup = tree.find_all('div', {'class': 's_base'}) + items = [] + for item in soup: + title = item.a['_log_title'] + href = item.a['href'] + info = item.find('div', {'class': 'info-cont'}) + info = info.span['data-text'] if info else '' + + items.append({ + 'label': title, + 'path': url_for('playvideo', url=href), + 'is_playable': True, + 'info': {'title': title, 'plot': info}, + }) + soup = tree.find_all('ul', {'class': 'clearfix'}) + soups = soup[0].find_all('li') + for item in soups: + try: + items.append({ + 'label': item.a['_log_title'] + item.span.text, + 'path': url_for('playvideo', url=item.a['href']), + 'is_playable': True, + }) + except: + continue + return items + + +@plugin.route('/') +def index(): + yield { + 'label': BANNER % '土豆视频 - 搜索', + 'path': url_for('search') + } + + url = HOST_URL + '/category' + + html = get_html(url) + tree = BeautifulSoup(html, 'html.parser') + soup = tree.find_all('div', {'class': 'td__category__filter__nav__item'}) + + for prog in soup[1:]: + cur = prog['class'] + if len(cur) > 1: + href = url + else: + href = prog.a['href'] + nametype = href.split('/')[-1][:3] + + yield { + 'label': prog.text, + 'path': url_for('videolist', url=href) + } + + +# main programs goes here ######################################### +if __name__ == '__main__': + plugin.run() + +runlist = { + None: 'mainMenu()', + 'videolist': 'listSubMenu(params)', + 'videolist1': 'listSubMenu1(params)', + 'videolist2': 'listSubMenu2(params)', + 'albumlist': 'albumList(params)', + 'codelist': 'relatedPlayList(params)', + 'playvideo': 'PlayVideo(params)', + 'search': 'searchInTudou(params)', + 'select': 'normalSelect(params)' +} + diff --git a/plugin.video.tudou/addon.xml b/plugin.video.tudou/addon.xml index b6ae2f5..63f1234 100644 --- a/plugin.video.tudou/addon.xml +++ b/plugin.video.tudou/addon.xml @@ -1,14 +1,15 @@ - + + + + point="xbmc.python.pluginsource" library="addon.py"> video diff --git a/plugin.video.tudou/changelog.txt b/plugin.video.tudou/changelog.txt index 0c9119c..d3526eb 100644 --- a/plugin.video.tudou/changelog.txt +++ b/plugin.video.tudou/changelog.txt @@ -1,3 +1,5 @@ -V1.0.0 (2017.04.19) +V1.0.1 (2017.11.28) + +V1.0.0 (2017.04.19) - initial diff --git a/plugin.video.tudou/default.py b/plugin.video.tudou/default.py deleted file mode 100644 index 2dc894c..0000000 --- a/plugin.video.tudou/default.py +++ /dev/null @@ -1,908 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -import xbmc -from xbmcgui import Dialog, DialogProgress, ListItem -import xbmcplugin -import xbmcaddon -from urlparse import parse_qsl -from urllib import quote_plus -import re -import sys -import os -from json import loads -from bs4 import BeautifulSoup -from common import get_html, r1 -from youku import video_from_vid -from tudou import video_from_iid - -######################################################################## -# 土豆 www.tudou.com -######################################################################## - -# Plugin constants -__addon__ = xbmcaddon.Addon() -__addonid__ = __addon__.getAddonInfo('id') -__addonname__ = __addon__.getAddonInfo('name') -__addonicon__ = os.path.join(__addon__.getAddonInfo('path'), 'icon.png') -__profile__ = xbmc.translatePath(__addon__.getAddonInfo('profile')) -__m3u8__ = xbmc.translatePath(os.path.join(__profile__, 'temp.m3u8')).decode("utf-8") -cookieFile = __profile__ + 'cookies.tudou' - - -UserAgent = 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)' -UserAgent = 'Mozilla/5.0 (iPad; U; CPU OS 4_2_1 like Mac OS X; ja-jp) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148 Safari/6533.18.5' -#UserAgent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3' -UserAgent = 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:43.0) Gecko/20100101 Firefox/43.0' - -HOST_URL = 'http://new.tudou.com' - -BANNER_FMT = '[COLOR FFDEB887]【%s】[/COLOR]' -TIMER_FMT = '[COLOR FF8040C0](%s)[/COLOR]' -INDENT_FMT0 = '[COLOR FFDEB887] %s[/COLOR]' -INDENT_FMT1 = '[COLOR FFDEB8FF] %s[/COLOR]' -CFRAGMAX = [10, 15, 20, 25, 30, 35, 40, 45, 50, 60, 70, 80, 90, 100, 200, 300, 400, 500] - - -########################################################################### -# LeTv player class -########################################################################### -class LetvPlayer(xbmc.Player): - def __init__(self): - xbmc.Player.__init__(self) - - def play(self, name, thumb, v_urls=None): - self.name = name - self.thumb = thumb - self.v_urls_size = 0 - self.curpos = 0 - self.is_active = True - self.load_url_sync = False - self.xbmc_player_stop = False - self.title = name - self.mCheck = True - self.LOVS = 0 - - self.v_urls = v_urls - if (v_urls): # single video file playback - self.curpos = int(__addon__.getSetting('video_fragmentstart')) * 10 - self.v_urls_size = len(v_urls) - else: # ugc playlist playback - self.curpos = int(name.split('.')[0]) - 1 - # Get the number of video items in PlayList for ugc playback - self.playlist = xbmc.PlayList(xbmc.PLAYLIST_VIDEO) - self.psize = self.playlist.size() - - self.videoplaycont = __addon__.getSetting('video_vplaycont') - self.maxfp = CFRAGMAX[int(__addon__.getSetting('video_cfragmentmax'))] - - # Start filling first buffer video and start playback - self.geturl() - - def geturl(self): - if (self.v_urls and (self.curpos < self.v_urls_size)): - # Use double buffering for smooth playback - x = (self.curpos / self.maxfp) % 2 - self.videourl = __profile__ + 'vfile-' + str(x) + '.ts' - fs = open(self.videourl, 'wb') - - endIndex = min((self.curpos + self.maxfp), self.v_urls_size) - self.title = "%s - 第(%s~%s)/%s节" % (self.name, str(self.curpos+1), str(endIndex), str(self.v_urls_size)) - # print "### Preparing: " + self.title - self.listitem = ListItem(self.title, thumbnailImage=self.thumb) - self.listitem.setInfo(type="Video", infoLabels={"Title": self.title}) - - for i in range(self.curpos, endIndex): - # Stop further video loading and terminate if user stop playback - if (self.xbmc_player_stop or pDialog.iscanceled()): - self.videourl = None - i = self.v_urls_size - break - - if (not self.isPlayingVideo()): - pDialog.create('视频缓冲', '请稍候。下载视频文件 ....') - pDialog.update(((i - self.curpos) * 100 / self.maxfp), line2="### " + self.title) - else: - pDialog.close() - - v_url = self.v_urls[i] - bfile = get_html(v_url, binary=True) - # give another trial if playback is active and bfile is invalid - if ((len(bfile) < 30) and self.isPlayingVideo()): - bfile = get_html(v_url, binary=True) - fs.write(bfile) - - # Start playback after fetching 4th video files, restart every 4 fetches if playback aborted unless stop by user - if (not self.isPlayingVideo() and (i < self.v_urls_size) and (((i - self.curpos) % 4) == 3)): - pDialog.close() - # Must stop sync loading to avoid overwritten current video when onPlayerStarted - self.load_url_sync = False - xbmc.Player.play(self, self.videourl, self.listitem) - # give some time to xmbc to upate its player status before continue - xbmc.sleep(100) - # Only reset fragment start after successful playback - __addon__.setSetting('video_fragmentstart', '0') - - fs.close() - # print "### Last video file download fragment: " + str(i) - # set self.curpos to the next loading video index - self.curpos = i + 1 - - # Last of video segment loaded, enable play once only - if (self.curpos == self.v_urls_size): - self.LOVS = 1 - else: # reset - self.LOVS = 0 - - # Start next video segment loading if sync loading not enable - if (not self.load_url_sync and (self.curpos < self.v_urls_size)): - # Reset to sync loading on subsequent video segment - self.load_url_sync = True - self.playrun() - - # ugc auto playback - elif ((self.v_urls is None) and (self.curpos < self.psize)): - if (self.mCheck and not self.isPlayingVideo()): - pDialog.create('匹配视频', '请耐心等候! 尝试匹配视频文件 ...') - - # find next not play item in ugc playlist - for idx in range(self.curpos, self.psize): - p_item = self.playlist.__getitem__(idx) - p_url = p_item.getfilename(idx) - # p_url auto replaced with self.videourl by xbmc after played. To refresh, back and re-enter - if "http:" in p_url: - p_list = p_item.getdescription(idx) - self.listitem = p_item # pass all li items including the embedded thumb image - self.listitem.setInfo(type="Video", infoLabels={"Title":p_list}) - self.curpos = idx - break - - x = self.curpos % 2 - self.videourl = __profile__ + 'vfile-' + str(x) + '.ts' - fs = open(self.videourl, 'wb') - - v_urls = decrypt_url(p_url, self.mCheck) - self.v_urls_size = len(v_urls) - self.title = "UGC list @ %s (size = %s): %s" % (str(self.curpos), str(self.v_urls_size), p_list) - # print "### Preparing: " + self.title - - for i, v_url in enumerate(v_urls): - if (self.xbmc_player_stop or pDialog.iscanceled()): - self.videourl = None - i = self.v_urls_size - break - - if (not self.isPlayingVideo()): - pDialog.create('视频缓冲', '请稍候。下载视频文件 ....') - pDialog.update((i * 100 / self.v_urls_size), line2=self.title) - else: - pDialog.close() - - bfile = get_html(v_url, True, True) - fs.write(bfile) - - # Start playback after fetching 4th video files, restart every 4 fetches if playback aborted unless stop by user - if (not self.isPlayingVideo() and (i < self.v_urls_size) and ((i % 4) == 3)): - pDialog.close() - # Must stop sync loading to avoid overwritten current video when onPlayerStarted - self.load_url_sync = False - xbmc.Player.play(self, self.videourl, self.listitem) - # give some time to xmbc to upate its player status before continue - xbmc.sleep(100) - fs.close() - # print "### Last video file download total fragment: %s ==> %s" % (str(i), self.title) - # set self.curpos to the next loading ugc index - self.curpos += 1 - - # Last of video segment loaded, enable play once only - if (self.curpos == self.psize): - self.LOVS = 1 - else: # reset - self.LOVS = 0 - - # Start next video segment loading if sync loading not enable - if (not self.load_url_sync and (self.curpos < self.psize)): - # Do not display dialog on subsequent UGC list loading - self.mCheck = False - - # Reset to sync loading on subsequent ugc item - self.load_url_sync = True - self.playrun() - - # close dialog on all mode when fetching end - pDialog.close() - - def playrun(self): - if (self.videourl and not self.isPlayingVideo()): - # print "### Player resume: %s \n### %s" % (self.title, self.videourl) - pDialog.close() - # Next video segment loading must wait until player started to avoid race condition - self.load_url_sync = True - xbmc.Player.play(self, self.videourl, self.listitem) - xbmc.sleep(100) - elif ((self.curpos < self.v_urls_size) or self.videoplaycont): - # print "### Async fetch next video segment @ " + str(self.curpos) - self.geturl() - - def onPlayBackStarted(self): - # may display next title to playback due to async - # print "### onPlayBackStarted Callback: " + self.title - pDialog.close() - if (self.load_url_sync): - if ((self.curpos < self.v_urls_size) or self.videoplaycont): - # print "### Sync fetch next video segment @ " + str(self.curpos) - self.geturl() - xbmc.Player.onPlayBackStarted(self) - - def onPlayBackSeek(self, time, seekOffset): - # print "### Player seek forward: %s / %s" % (str(time), str(seekOffset)) - xbmc.Player.onPlayBackSeek(self, time, seekOffset) - - def onPlayBackSeekChapter(self, chapter): - # no effect, valid on playlist playback by xmbc - self.curpos += 1 - # print "### Player seek next chapter: " + str(self.curpos) - xbmc.Player.onPlayBackSeek(self, chapter) - - def onPlayBackEnded(self): - # Do not restart resume playback if video aborted due to starve network data - if (self.videourl and self.load_url_sync): - # if (self.videourl): - # print "### onPlayBackEnded callback: Continue next video playback !!! " + str(self.LOVS) - if (self.LOVS < 2): - self.playrun() - else: # reset - self.LOVS = 0 - # set flag to play last video segment once only - if (self.LOVS == 1): - self.LOVS += 1 - else: - # print "### onPlayBackEnded callback: Ended-Deleted !!!" - ## self.delTsFile(10) - xbmc.Player.onPlayBackEnded(self) - - def onPlayBackStopped(self): - # print "### onPlayBackStopped callback - Ending playback!!!" - self.is_active = False - self.xbmc_player_stop = True - - def delTsFile(self, end_index): - for k in range(end_index): - tsfile = __profile__ + 'vfile-' + str(k) + '.ts' - if os.path.isfile(tsfile): - try: - os.remove(tsfile) - except: - pass - - -############################################################################ -def PlayVideo(params): - title = params.get('title', '') - thumb = params.get('thumb') - level = int(__addon__.getSetting('resolution')) - - if level == 4: - dialog = Dialog() - level = dialog.select('清晰度选择', ['流畅', '高清', '超清', '1080P']) - level = max(0, level) - - vcode = params.get('vcode') - iid = params.get('iid') - - if vcode: - urls = video_from_vid(vcode, stream_id=level) - ulen = len(urls) - if ulen > 0: - playlist = xbmc.PlayList(xbmc.PLAYLIST_VIDEO) - playlist.clear() - for i in range(ulen): - name = title + '(%d/%d)' % (i + 1, ulen) - listitem = ListItem(name, thumbnailImage=thumb) - listitem.setInfo(type="Video", infoLabels={"Title": name}) - playlist.add(urls[i], listitem) - - xbmc.Player().play(playlist) - elif iid: - urls = video_from_iid(iid) - ulen = len(urls) - if ulen > 0: - playlist = xbmc.PlayList(xbmc.PLAYLIST_VIDEO) - playlist.clear() - for i in range(ulen): - name = title + '(%d/%d)' % (i + 1, ulen) - listitem = ListItem(name, thumbnailImage=thumb) - listitem.setInfo(type="Video", infoLabels={"Title": name}) - playlist.add(urls[i], listitem) - - xbmc.Player().play(playlist) - - ''' - pDialog.create('匹配视频', '请耐心等候! 尝试匹配视频文件 ...') - pDialog.close() - if len(urls) > 0: - xplayer.play(title, thumb, urls) - - # need xmbc.sleep to make xbmc callback working properly - while xplayer.is_active: - xbmc.sleep(100) - ''' - else: - Dialog().ok(__addonname__, '未匹配到VID') - return - - -def httphead(url): - if len(url) < 2: - return url - if url[0:2] == '//': - url = 'http:' + url - elif url[0] == '/': - url = HOST_URL + url - - return url - - -def buildParams(params): - str = '' - for item in params: - str += '&%s=' % item + quote_plus(params[item]) - return str - - -def mainMenu(): - li = ListItem('[COLOR FF00FF00] 【土豆视频 - 搜索】[/COLOR]') - u = sys.argv[0] + '?mode=search' - xbmcplugin.addDirectoryItem(int(sys.argv[1]), u, li, True) - - url = HOST_URL + '/category/c_97.html' - - html = get_html(url) - tree = BeautifulSoup(html, 'html.parser') - soup = tree.find_all('div', {'class': 'td__category__filter__nav__item'}) - - for prog in soup: - title = prog.text - cur = prog['class'] - if len(cur) > 1: - href = url - else: - href = prog.a['href'] - href = httphead(href) - nametype = href.split('/')[-1][:3] - mode = 'videolist' - - li = ListItem(title) - u = sys.argv[0] + '?url=%s&mode=%s&name=%s' % (href, mode, title) - xbmcplugin.addDirectoryItem(int(sys.argv[1]), u, li, True) - - xbmcplugin.endOfDirectory(int(sys.argv[1])) - - -def listSubMenu(params): - name = params['name'] - url = params['url'] - html = get_html(url) - filter = params.get('filter', '') - - li = ListItem(BANNER_FMT % (name+'(分类过滤)' + filter)) - u = sys.argv[0] + '?url=' + quote_plus(url) - u += '&mode=select&name=' + name - xbmcplugin.addDirectoryItem(int(sys.argv[1]), u, li, True) - - tree = BeautifulSoup(html, 'html.parser') - soup = tree.find_all('div', {'class': 'v-pack--p'}) - - for item in soup: - thumb = item.img['src'] - href = httphead(item.a['href']) - title = item.a['title'] - li = ListItem(title, - iconImage=thumb, thumbnailImage=thumb) - u = sys.argv[0] + '?url=' + href - u += '&name=' + quote_plus(name) - u += '&thumb=' + quote_plus(thumb) - u += '&title=' + title - xbmcplugin.addDirectoryItem(int(sys.argv[1]), u, li, True) - - soup = tree.find_all('div', {'class': 'yk-pager'}) - pages = soup[0].find_all('li') - print '======================', pages - for page in pages: - try: - href = httphead(page.a['href']) - except: - continue - title = page.a.text - u = sys.argv[0] + '?url=' + href - u += '&name=' + quote_plus(name) - u += '&mode=videolist&title=' + title - li = ListItem(title) - xbmcplugin.addDirectoryItem(int(sys.argv[1]), u, li, True) - - xbmcplugin.setContent(int(sys.argv[1]), 'movies') - xbmcplugin.endOfDirectory(int(sys.argv[1])) - - -def findTags(string): - group = re.compile('(a|b|c|d|e|f|g|h|i|j|k|l|m|n)(\d+)').findall(string) - return dict(group) - - -def mergeTags(tags): - str = '' - for x in tags: - str += '&tags=' + tags[x] - return str - - -def listSubMenu1(params): - # http://www.tudou.com/list/ach3a-2b-2c-2d-2e-2f1003g-2h-2i-2j-2k-2l-2m-2n1sort2.html - # http://www.tudou.com/list/ach3a42b55c324d-2e-2f1003g-2h-2i-2j-2k-2l-2m-2n-2sort2.html - # a42:地区 - # b55:类型 - # c324:状态 - # dxx:年代 - # exxx:付费 - # f1002:清晰度 - # &tags=&tags=.... - # sort1:最新 sort2: 人气 - name = params['name'] - url = params['url'] - filter = params.get('filter', '') - urlpage = get_html(url) - page = params.get('pageNo', '1') - piece = url.split('/')[-1] - tagId = re.compile('ch(\d+)').findall(piece)[0] - tags = findTags(piece) - - if tags.get('n'): - AtoZ = chr(int(tags['n']) + 64) - del(tags['n']) - else: - AtoZ = '' - - params = {'name': name, - 'pageSize': '30', - 'app': 'mainsitepc', - 'deviceType': '1', - 'tagType': '3', - 'firstTagId': tagId, - 'areaCode': '', - 'initials': AtoZ, # 首字母 nXXsort2 - 'hotSingerId': '', - 'pageNo': page - } - # 'tags': '', # 地区类型...清晰度 , etc. - strparam = buildParams(params) - strparam = '?' + strparam[1:] + mergeTags(tags) - - list_api = 'http://www.tudou.com/s3portal/service/pianku/data.action' - html = get_html(list_api + strparam) - jsdata = loads(html) - items = jsdata['items'] - total = jsdata['total'] - - li = ListItem(BANNER_FMT % (name+'(第%s页|分类过滤)' % page + filter)) - u = sys.argv[0] + '?url=' + quote_plus(url) - u += '&mode=select&name=' + name - xbmcplugin.addDirectoryItem(int(sys.argv[1]), u, li, True) - - tree = BeautifulSoup(urlpage, 'html.parser') - soup = tree.find_all('select', {'id': 'selectOps'}) - field = soup[0].find_all('option') - link = re.compile('var CONFIG.+?urls:(.+])').findall(urlpage) - link = eval(link[0]) - for i in range(len(field)): - title = field[i].text - if field[i].has_attr('selected'): - li = ListItem(INDENT_FMT0 % title) - currentPage = link[i] - else: - li = ListItem(INDENT_FMT1 % title) - - href = HOST_URL + '/list/' + link[i] - nametype = link[i][:3] - if nametype == 'ach': - mode = 'videolist1' - else: - mode = 'videolist2' - - u = sys.argv[0] + '?url=' + quote_plus(href) - u += '&name=' + quote_plus(name) - u += '&mode=' + mode + '&title=' + title - xbmcplugin.addDirectoryItem(int(sys.argv[1]), u, li, True) - - for item in items: - title = item['title'] - href = item['playUrl'] - info = item['albumShortDesc'] - img = item['picUrl_200x112'] - pay = item['needMoney'] - info = item['updateInfo'] - if pay is True: - info += '|付费'.decode('utf-8') - albumId = item['albumId'] - aid = item['aid'] - li = ListItem(title + TIMER_FMT % info, - iconImage=img, thumbnailImage=img) - li.setInfo(type='Video', infoLabels={'Title': title, 'Plot': info}) - u = sys.argv[0] + '?url=' + href - u += '&mode=albumlist&albumId=%d' % albumId - u += '&name=' + quote_plus(name) - u += '&thumb=' + quote_plus(img) - u += '&title=' + title - xbmcplugin.addDirectoryItem(int(sys.argv[1]), u, li, True) - - if currentPage[:3] == 'ach': - mode = 'videolist1' - else: - mode = 'videolist2' - if int(page) > 1: - li = ListItem(BANNER_FMT % '上一页') - u = sys.argv[0] + '?url=' + url - u += '&mode=videolist1&pageNo=%d' % (int(page)-1) - u += '&name=' + quote_plus(name) - xbmcplugin.addDirectoryItem(int(sys.argv[1]), u, li, True) - - if int(page) <= total // 30: - li = ListItem(BANNER_FMT % '下一页') - u = sys.argv[0] + '?url=' + url - u += '&mode=videolist1&pageNo=%d' % (int(page)+1) - u += '&name=' + quote_plus(name) - xbmcplugin.addDirectoryItem(int(sys.argv[1]), u, li, True) - - xbmcplugin.setContent(int(sys.argv[1]), 'movies') - xbmcplugin.endOfDirectory(int(sys.argv[1])) - - -def listSubMenu2(params): - name = params['name'] - url = params['url'] - filter = params.get('filter', '') - urlpage = get_html(url) - page = params.get('page', '1') - piece = url.split('/')[-1] - tagId = re.compile('ch(\d+)').findall(piece)[0] - tags = findTags(piece) - - if tags.get('n'): - AtoZ = chr(int(tags['n']) + 64) - del(tags['n']) - else: - AtoZ = '' - - params = {'name': name, - 'pageSize': '30', - 'sort': '2', - 'tagType': '1', - 'firstTagId': tagId, - 'areaCode': '', - 'initials': AtoZ, # 首字母 2n2sort2 - 'hotSingerId': '', - 'page': page - } - # 'tags': '', # 地区类型...清晰度 , etc. - strparam = buildParams(params) - strparam = '?' + strparam[1:] + mergeTags(tags) - - list_api = 'http://www.tudou.com/list/itemData.action' - html = get_html(list_api + strparam) - - li = ListItem(BANNER_FMT % (name+'(第%s页|分类过滤)' % page + filter)) - u = sys.argv[0] + '?url=' + quote_plus(url) - u += '&mode=select&name=' + name - xbmcplugin.addDirectoryItem(int(sys.argv[1]), u, li, True) - - tree = BeautifulSoup(urlpage, 'html.parser') - soup = tree.find_all('select', {'id': 'selectOps'}) - field = soup[0].find_all('option') - link = re.compile('var CONFIG.+?urls:(.+])').findall(urlpage) - link = eval(link[0]) - for i in range(len(field)): - title = field[i].text - if field[i].has_attr('selected'): - li = ListItem(INDENT_FMT0 % title) - currentPage = link[i] - else: - li = ListItem(INDENT_FMT1 % title) - - href = HOST_URL + '/list/' + link[i] - nametype = link[i][:3] - if nametype == 'ach': - mode = 'videolist1' - else: - mode = 'videolist2' - u = sys.argv[0] + '?url=' + quote_plus(href) - u += '&name=' + quote_plus(name) - u += '&mode=%s&title=%s' % (mode, title) - xbmcplugin.addDirectoryItem(int(sys.argv[1]), u, li, True) - jsdata = loads(html) - items = jsdata['data'] - - for item in items: - title = item['title'] - iid = item['itemId'] - img = item['bigPicUrl'] - time = item['totalTimeStr'] - href = HOST_URL + '/programs/view/%s/' % item['code'] - li = ListItem(title + TIMER_FMT % time, - iconImage=img, thumbnailImage=img) - u = sys.argv[0] + '?mode=albumlist' - u += '&name=' + quote_plus(name) - u += '&thumb=' + img + '&url=' + href - u += '&title=' + title - u += '&iid=%d' % (iid) - xbmcplugin.addDirectoryItem(int(sys.argv[1]), u, li, True) - - if currentPage[:3] == 'ach': - mode = 'videolist1' - else: - mode = 'videolist2' - if int(page) > 1: - li = ListItem(BANNER_FMT % '上一页') - u = sys.argv[0] + '?url=' + url - u += '&mode=videolist2&page=%d' % (int(page)-1) - u += '&name=' + name - xbmcplugin.addDirectoryItem(int(sys.argv[1]), u, li, True) - - if int(page) <= 2000: - li = ListItem(BANNER_FMT % '下一页') - u = sys.argv[0] + '?url=' + url - u += '&mode=videolist2&page=%d' % (int(page)+1) - u += '&name=' + name - xbmcplugin.addDirectoryItem(int(sys.argv[1]), u, li, True) - - xbmcplugin.setContent(int(sys.argv[1]), 'movies') - xbmcplugin.endOfDirectory(int(sys.argv[1])) - - -def normalSelect(params): - url = params.get('url') - name = params.get('name') - surl = url.split('/') - purl = surl[-1] - if len(purl) < 10: - purl = purl[:-5] + 'a-2b-2c-2d-2e-2f-2g-2h-2i-2j-2k-2l-2m-2n-2sort2.html' - filter = params.get('filter', '') - - html = get_html(url) - tree = BeautifulSoup(html, 'html.parser') - soup = tree.find_all('div', {'class': 'category_item fix'}) - - dialog = Dialog() - color = '[COLOR FF00FF00]%s[/COLOR]' - for iclass in soup: - si = iclass.find_all('li') - list = [] - i = 0 - for subitem in si: - title = subitem.text - if subitem.get('class'): - title = color % title - mark = i - list.append(title) - i += 1 - sel = dialog.select(iclass.h3.text, list) - - if sel < 0: - continue - filter += '|' + iclass.h3.text + '(' + si[sel].text + ')' - if sel == mark: - continue - - seurl = si[sel].a['href'].split('/')[-1] - p = re.compile('(a|b|c|d|e|f|g|h|i|j|k|l|m|n)(\d+)').findall(seurl[3:]) - for x in p: - purl = re.sub(x[0] + '\d+', x[0] + x[1], purl) - purl = re.sub(x[0] + '\-2', x[0] + x[1], purl) - - surl[-1] = purl - params['url'] = '/'.join(surl) - params['filter'] = filter.encode('utf-8') - - if purl[0] == 'a': - listSubMenu1(params) - else: - listSubMenu2(params) - - -def relatedAlbumList(params): - aid = params.get('albumId') - title = params.get('title') - img = params.get('thumb', '') - url = params.get('url') - if url: - html = get_html(url) - iid = re.compile('iid: (\d+)').findall(html) - vcode = re.compile('youkuCode: "(.+?)"').findall(html) - u = sys.argv[0] + '?mode=playvideo&iid=%s&vcode=%s' % (iid[0], vcode[0]) - u += '&title=' + quote_plus(title) - u += '&thumb=' + img - - else: - u = sys.argv[0] + '?mode=albumlist&albumId=%s' % aid - u += '&title=' + title + '&thumb=' + img - - li = ListItem(BANNER_FMT % title, - iconImage=img, thumbnailImage=img) - xbmcplugin.addDirectoryItem(int(sys.argv[1]), u, li, False) - - album_api = 'http://www.tudou.com/crp/alist.action?a=%s' - jspage = get_html(album_api % aid, decoded=True) - - jsdata = loads(jspage.encode('utf-8')) - jsdata = jsdata['items'] - - for item in jsdata: - title = item['kw'] - info = item.get('comments', '') - if info is None: - info = '' - time = item['time'] - if time is None: - time = '' - - img = item['pic'] - if img is None: - img = '' - vcode = item['vcode'] - iid = item['iid'] - u = sys.argv[0] + '?mode=playvideo' - u += '&title=' + title - u += '&thumb=' + img - u += '&vcode=%s&iid=%d' % (vcode, iid) - li = ListItem(title + '(' + time + ')', - iconImage=img, thumbnailImage=img) - li.setInfo(type='Video', infoLabels={'Title': title, 'Plot': info}) - xbmcplugin.addDirectoryItem(int(sys.argv[1]), u, li, False) - - rel_list = 'http://www.tudou.com/crp/getRelativeContent.action?a=%s' - - jspage = get_html(rel_list % aid) - jsdata = loads(jspage) - headings = jsdata['data']['catList'] - heading = [x['name'] for x in headings] - title = '|'.join(heading).encode('utf-8') - - u = sys.argv[0] + '?mode=albumlist&albumId=%s' % aid - u += '&title=' + quote_plus(title) - li = ListItem(BANNER_FMT % title) - xbmcplugin.addDirectoryItem(int(sys.argv[1]), u, li, True) - - items = jsdata['data']['playAlbumInfoList'] - for item in items: - aid = item['albumId'] - img = item['albumPicUrl'] - title = item['albumName'] - extra = item['update'] - info = item['albumShortDesc'] - li = ListItem(title + '(' + extra + ')', - iconImage=img, thumbnailImage=img) - li.setInfo(type='Video', infoLabels={'Title': title, 'Plot': info}) - u = sys.argv[0] + '?mode=albumlist' - u += '&title=%s&albumId=%d' % (title, aid) - xbmcplugin.addDirectoryItem(int(sys.argv[1]), u, li, True) - - xbmcplugin.setContent(int(sys.argv[1]), 'episodes') - xbmcplugin.endOfDirectory(int(sys.argv[1])) - - -def relatedPlayList(params): - url = params.get('url') - title = params.get('title') - img = params.get('thumb') - iid = [params.get('iid')] - if url: - html = get_html(url) - iid = re.compile('iid: (\d+)').findall(html) - vcode = re.compile('youkuCode: "(.+?)"').findall(html) - - u = sys.argv[0] + '?mode=playvideo&thumb=' + img - if iid: - u += '&iid=' + iid[0] - if vcode: - u += '&vcode=' + vcode[0] - u += '&title=' + quote_plus(title) - li = ListItem(title, iconImage=img, thumbnailImage=img) - xbmcplugin.addDirectoryItem(int(sys.argv[1]), u, li, False) - - rel_list = 'http://www.tudou.com/crp/getRelatedPlaylists.action?iid=%s' - - jspage = get_html(rel_list % iid[0]) - jsdata = loads(jspage) - items = jsdata['data']['pList'] - - u = sys.argv[0] + '?mode=codelist&iid=%s' % iid[0] - u += '&title=' + '相关视频'.decode('utf-8') - li = ListItem(BANNER_FMT % '相关视频') - xbmcplugin.addDirectoryItem(int(sys.argv[1]), u, li, False) - - for item in items: - title = item['name'] - img = item['picUrl'] - info = item['description'] - code = item['code'] - li = ListItem(title, iconImage=img, thumbnailImage=img) - li.setInfo(type='Video', infoLabels={'Title': title, 'Plot': info}) - u = sys.argv[0] + '?mode=codelist' - u += '&title=%s&code=%s' % (title, code) - xbmcplugin.addDirectoryItem(int(sys.argv[1]), u, li, True) - - code = items[0]['code'] - - rel_list = 'http://www.tudou.com/crp/plist.action?lcode=%s' - - jspage = get_html(rel_list % code) - jsdata = loads(jspage) - items = jsdata['items'] - - u = sys.argv[0] + '?mode=codelist&iid=%s' % iid - u += '&title=' + '主题视频'.decode('utf-8') - li = ListItem(BANNER_FMT % '主题视频') - xbmcplugin.addDirectoryItem(int(sys.argv[1]), u, li, False) - - for item in items: - title = item['kw'] - img = item['pic'] - time = item['time'] - iid = item['iid'] - li = ListItem(title + '(' + time + ')', - iconImage=img, thumbnailImage=img) - u = sys.argv[0] + '?mode=playvideo' - u += '&title=%s&thumb=%s&iid=%d' % (title, img, iid) - xbmcplugin.addDirectoryItem(int(sys.argv[1]), u, li, True) - - xbmcplugin.setContent(int(sys.argv[1]), 'episodes') - xbmcplugin.endOfDirectory(int(sys.argv[1])) - - -def albumList(params): - aid = params.get('albumId') - title = params.get('title', '') - img = params.get('thumb', '') - iid = params.get('iid') - - if aid: - relatedAlbumList(params) - elif iid: - relatedPlayList(params) - - -def searchInTudou(params): - keyboard = xbmc.Keyboard('', '请输入搜索内容') - - xbmc.sleep(1500) - keyboard.doModal() - if (keyboard.isConfirmed()): - keyword = keyboard.getText() - p_url = 'http://so.tv.sohu.com/mts?chl=&tvType=-2&wd=' - url = p_url + quote_plus(keyword.decode('utf-8').encode('gbk')) - params['url'] = url - params['keyword'] = keyword - params['page'] = '1' - - -# main programs goes here ######################################### -xplayer = LetvPlayer() -pDialog = DialogProgress() -params = sys.argv[2][1:] -params = dict(parse_qsl(params)) - -mode = params.get('mode') -if mode is not None: - del(params['mode']) - -runlist = { - None: 'mainMenu()', - 'videolist': 'listSubMenu(params)', - 'videolist1': 'listSubMenu1(params)', - 'videolist2': 'listSubMenu2(params)', - 'albumlist': 'albumList(params)', - 'codelist': 'relatedPlayList(params)', - 'playvideo': 'PlayVideo(params)', - 'search': 'searchInTudou(params)', - 'select': 'normalSelect(params)' -} - -exec(runlist[mode]) diff --git a/plugin.video.tudou/plugin.video.tudou-1.0.0.zip b/plugin.video.tudou/plugin.video.tudou-1.0.1.zip similarity index 86% rename from plugin.video.tudou/plugin.video.tudou-1.0.0.zip rename to plugin.video.tudou/plugin.video.tudou-1.0.1.zip index 953b4df376a32a6faf4620e0801643346a6ef15f..c9b699288eca602803a0613430ef5e3c7e0e9bd9 100644 GIT binary patch delta 3975 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 delta 10864 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 u!b - - - 刷新 - 中文 - - - 默认播放清晰度 - 连续视频播放 - 代理服务器(IP:端口)- 空白,如果不是必需的 - 片段连续 - 存储量成正比 - 片段的开始 - 视频服务器选择 - 直接播放m3u8 - 输入键盘 - Kodi内置键盘 - 中文输入插件 - - - 标清 - 高清 - 超清 - - 随意 - 1 - 2 - 3 - diff --git a/plugin.video.tudou/resources/language/English/strings.xml b/plugin.video.tudou/resources/language/English/strings.xml deleted file mode 100644 index 4cd574d..0000000 --- a/plugin.video.tudou/resources/language/English/strings.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - Refresh - Chinese - - - Default Playback Resolution - Continuous Video Playback - Proxy (ip:port) - leave blank if not required - Video Fragments Concatenate - proportional to disk size - Video Fragment Start # - Video Server Selection - Play m3u8 directly - Input keyboard - Kodi internal keyboard - Chinese keyboard add-on - - - LD: Low Defination - SD: Standard Defination - HD: High Definition - - Auto - 1 - 2 - 3 - diff --git a/plugin.video.tudou/resources/settings.xml b/plugin.video.tudou/resources/settings.xml index 46a481f..3ccee32 100644 --- a/plugin.video.tudou/resources/settings.xml +++ b/plugin.video.tudou/resources/settings.xml @@ -1,9 +1,6 @@ - - - - + diff --git a/plugin.video.youkutv/resources/settings.xml b/plugin.video.youkutv/resources/settings.xml index b15b618..07f9d39 100644 --- a/plugin.video.youkutv/resources/settings.xml +++ b/plugin.video.youkutv/resources/settings.xml @@ -1,11 +1,10 @@ - - - - - - - - - - - + + + + + + + + + +