| 
														
															@@ -11,6 +11,7 @@ from ..compat import compat_urllib_parse 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 bytes_is_str = (bytes == str)  # for compatible 
														 | 
														
														 | 
														
															 bytes_is_str = (bytes == str)  # for compatible 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 class YoukuIE(InfoExtractor): 
														 | 
														
														 | 
														
															 class YoukuIE(InfoExtractor): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     IE_NAME = 'youku' 
														 | 
														
														 | 
														
															     IE_NAME = 'youku' 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     _VALID_URL = r'''(?x) 
														 | 
														
														 | 
														
															     _VALID_URL = r'''(?x) 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -21,13 +22,13 @@ class YoukuIE(InfoExtractor): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     ''' 
														 | 
														
														 | 
														
															     ''' 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     _TEST = { 
														 | 
														
														 | 
														
															     _TEST = { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            'url': 'http://v.youku.com/v_show/id_XMTc1ODE5Njcy.html', 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            'md5': '5f3af4192eabacc4501508d54a8cabd7', 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            'info_dict': { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                'id': 'XMTc1ODE5Njcy', 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                'title': '★Smile﹗♡ Git Fresh -Booty Music舞蹈.', 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                'ext': 'flv' 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            } 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        'url': 'http://v.youku.com/v_show/id_XMTc1ODE5Njcy.html', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        'md5': '5f3af4192eabacc4501508d54a8cabd7', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        'info_dict': { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            'id': 'XMTc1ODE5Njcy', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            'title': '★Smile﹗♡ Git Fresh -Booty Music舞蹈.', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            'ext': 'flv' 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     def construct_video_urls(self, data1, data2): 
														 | 
														
														 | 
														
															     def construct_video_urls(self, data1, data2): 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -36,7 +37,7 @@ class YoukuIE(InfoExtractor): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             ls = list(range(256)) 
														 | 
														
														 | 
														
															             ls = list(range(256)) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             t = 0 
														 | 
														
														 | 
														
															             t = 0 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             for i in range(256): 
														 | 
														
														 | 
														
															             for i in range(256): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                t = (t + ls[i] + ord(s1[i%len(s1)])) % 256 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                t = (t + ls[i] + ord(s1[i % len(s1)])) % 256 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 ls[i], ls[t] = ls[t], ls[i] 
														 | 
														
														 | 
														
															                 ls[i], ls[t] = ls[t], ls[i] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             s = '' if not bytes_is_str else b'' 
														 | 
														
														 | 
														
															             s = '' if not bytes_is_str else b'' 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             x, y = 0, 0 
														 | 
														
														 | 
														
															             x, y = 0, 0 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -45,16 +46,16 @@ class YoukuIE(InfoExtractor): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 x = (x + ls[y]) % 256 
														 | 
														
														 | 
														
															                 x = (x + ls[y]) % 256 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 ls[x], ls[y] = ls[y], ls[x] 
														 | 
														
														 | 
														
															                 ls[x], ls[y] = ls[y], ls[x] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 if isinstance(s2[i], int): 
														 | 
														
														 | 
														
															                 if isinstance(s2[i], int): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    s += chr(s2[i] ^ ls[(ls[x]+ls[y]) % 256]) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    s += chr(s2[i] ^ ls[(ls[x] + ls[y]) % 256]) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 else: 
														 | 
														
														 | 
														
															                 else: 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    s += chr(ord(s2[i]) ^ ls[(ls[x]+ls[y]) % 256]) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    s += chr(ord(s2[i]) ^ ls[(ls[x] + ls[y]) % 256]) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             return s 
														 | 
														
														 | 
														
															             return s 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sid, token = yk_t( 
														 | 
														
														 | 
														
															         sid, token = yk_t( 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             'becaf9be', 
														 | 
														
														 | 
														
															             'becaf9be', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            base64.b64decode(bytes(data2['ep'], 'ascii')) \ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                if not bytes_is_str \ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                else base64.b64decode(data2['ep']) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            base64.b64decode(bytes(data2['ep'], 'ascii')) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            if not bytes_is_str 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            else base64.b64decode(data2['ep']) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         ).split('_') 
														 | 
														
														 | 
														
															         ).split('_') 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         # get oip 
														 | 
														
														 | 
														
															         # get oip 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -89,13 +90,13 @@ class YoukuIE(InfoExtractor): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             fileid = get_fileid(format, n) 
														 | 
														
														 | 
														
															             fileid = get_fileid(format, n) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             ep_t = yk_t( 
														 | 
														
														 | 
														
															             ep_t = yk_t( 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 'bf7e5f01', 
														 | 
														
														 | 
														
															                 'bf7e5f01', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                bytes('%s_%s_%s' % (sid, fileid, token), 'ascii') \ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                if not bytes_is_str \ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                bytes('%s_%s_%s' % (sid, fileid, token), 'ascii') 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                if not bytes_is_str 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 else ('%s_%s_%s' % (sid, fileid, token)) 
														 | 
														
														 | 
														
															                 else ('%s_%s_%s' % (sid, fileid, token)) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             ) 
														 | 
														
														 | 
														
															             ) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             ep = base64.b64encode( 
														 | 
														
														 | 
														
															             ep = base64.b64encode( 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                bytes(ep_t, 'latin') \ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                if not bytes_is_str \ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                bytes(ep_t, 'latin') 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                if not bytes_is_str 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 else ep_t 
														 | 
														
														 | 
														
															                 else ep_t 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             ).decode() 
														 | 
														
														 | 
														
															             ).decode() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             return ep 
														 | 
														
														 | 
														
															             return ep 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -121,9 +122,9 @@ class YoukuIE(InfoExtractor): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 video_url = \ 
														 | 
														
														 | 
														
															                 video_url = \ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     'http://k.youku.com/player/getFlvPath/' + \ 
														 | 
														
														 | 
														
															                     'http://k.youku.com/player/getFlvPath/' + \ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     'sid/' + sid + \ 
														 | 
														
														 | 
														
															                     'sid/' + sid + \ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    '_' + str(int(n)+1).zfill(2) + \ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    '_' + str(int(n) + 1).zfill(2) + \ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     '/st/' + self.parse_ext_l(format) + \ 
														 | 
														
														 | 
														
															                     '/st/' + self.parse_ext_l(format) + \ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    '/fileid/' + get_fileid(format, n)  + '?' + \ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    '/fileid/' + get_fileid(format, n) + '?' + \ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     compat_urllib_parse.urlencode(param) 
														 | 
														
														 | 
														
															                     compat_urllib_parse.urlencode(param) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 video_urls.append(video_url) 
														 | 
														
														 | 
														
															                 video_urls.append(video_url) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             video_urls_dict[format] = video_urls 
														 | 
														
														 | 
														
															             video_urls_dict[format] = video_urls 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -132,34 +133,34 @@ class YoukuIE(InfoExtractor): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     def get_hd(self, fm): 
														 | 
														
														 | 
														
															     def get_hd(self, fm): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         hd_id_dict = { 
														 | 
														
														 | 
														
															         hd_id_dict = { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            'flv'   : '0', 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            'mp4'   : '1', 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            'hd2'   : '2', 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            'hd3'   : '3', 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            '3gp'   : '0', 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            '3gphd' : '1' 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            'flv': '0', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            'mp4': '1', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            'hd2': '2', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            'hd3': '3', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            '3gp': '0', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            '3gphd': '1' 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         return hd_id_dict[fm] 
														 | 
														
														 | 
														
															         return hd_id_dict[fm] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     def parse_ext_l(self, fm): 
														 | 
														
														 | 
														
															     def parse_ext_l(self, fm): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         ext_dict = { 
														 | 
														
														 | 
														
															         ext_dict = { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            'flv'   : 'flv', 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            'mp4'   : 'mp4', 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            'hd2'   : 'flv', 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            'hd3'   : 'flv', 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            '3gp'   : 'flv', 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            '3gphd' : 'mp4' 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            'flv': 'flv', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            'mp4': 'mp4', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            'hd2': 'flv', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            'hd3': 'flv', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            '3gp': 'flv', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            '3gphd': 'mp4' 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         return ext_dict[fm] 
														 | 
														
														 | 
														
															         return ext_dict[fm] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     def get_format_name(self, fm): 
														 | 
														
														 | 
														
															     def get_format_name(self, fm): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         _dict = { 
														 | 
														
														 | 
														
															         _dict = { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            '3gp'   : 'h6', 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            '3gphd' : 'h5', 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            'flv'   : 'h4', 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            'mp4'   : 'h3', 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            'hd2'   : 'h2', 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            'hd3'   : 'h1' 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            '3gp': 'h6', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            '3gphd': 'h5', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            'flv': 'h4', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            'mp4': 'h3', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            'hd2': 'h2', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            'hd3': 'h1' 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         return _dict[fm] 
														 | 
														
														 | 
														
															         return _dict[fm] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -194,10 +195,9 @@ class YoukuIE(InfoExtractor): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         # construct info 
														 | 
														
														 | 
														
															         # construct info 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         entries = [] 
														 | 
														
														 | 
														
															         entries = [] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         for fm in data1['streamtypes']: 
														 | 
														
														 | 
														
															         for fm in data1['streamtypes']: 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            #formats = [] 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             video_urls = video_urls_dict[fm] 
														 | 
														
														 | 
														
															             video_urls = video_urls_dict[fm] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             for i in range(len(video_urls)): 
														 | 
														
														 | 
														
															             for i in range(len(video_urls)): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                if len(entries) < i+1: 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                if len(entries) < i + 1: 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     entries.append({'formats': []}) 
														 | 
														
														 | 
														
															                     entries.append({'formats': []}) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 entries[i]['formats'].append( 
														 | 
														
														 | 
														
															                 entries[i]['formats'].append( 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     { 
														 | 
														
														 | 
														
															                     { 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -211,7 +211,7 @@ class YoukuIE(InfoExtractor): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         for i in range(len(entries)): 
														 | 
														
														 | 
														
															         for i in range(len(entries)): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             entries[i].update( 
														 | 
														
														 | 
														
															             entries[i].update( 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 { 
														 | 
														
														 | 
														
															                 { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    'id': '_part%d' % (i+1), 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    'id': '_part%d' % (i + 1), 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     'title': title, 
														 | 
														
														 | 
														
															                     'title': title, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 } 
														 | 
														
														 | 
														
															                 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             ) 
														 | 
														
														 | 
														
															             ) 
														 |