| 
														
															@@ -116,6 +116,14 @@ Type "Yes I am sure" if you understand this and want to continue.\n""") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             except IOError: 
														 | 
														
														 | 
														
															             except IOError: 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 pass 
														 | 
														
														 | 
														
															                 pass 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         for path in args.paths: 
														 | 
														
														 | 
														
															         for path in args.paths: 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            if path == '-':  # stdin 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                path = 'stdin' 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                self.print_verbose(path) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                try: 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    archive.process_stdin(path, cache) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                except IOError as e: 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    self.print_error('%s: %s', path, e) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                continue 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             path = os.path.normpath(path) 
														 | 
														
														 | 
														
															             path = os.path.normpath(path) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             if args.dontcross: 
														 | 
														
														 | 
														
															             if args.dontcross: 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 try: 
														 | 
														
														 | 
														
															                 try: 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -195,6 +203,7 @@ Type "Yes I am sure" if you understand this and want to continue.\n""") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                           numeric_owner=args.numeric_owner) 
														 | 
														
														 | 
														
															                           numeric_owner=args.numeric_owner) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         patterns = adjust_patterns(args.paths, args.excludes) 
														 | 
														
														 | 
														
															         patterns = adjust_patterns(args.paths, args.excludes) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         dry_run = args.dry_run 
														 | 
														
														 | 
														
															         dry_run = args.dry_run 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        stdout = args.stdout 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         strip_components = args.strip_components 
														 | 
														
														 | 
														
															         strip_components = args.strip_components 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         dirs = [] 
														 | 
														
														 | 
														
															         dirs = [] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         for item in archive.iter_items(lambda item: not exclude_path(item[b'path'], patterns), preload=True): 
														 | 
														
														 | 
														
															         for item in archive.iter_items(lambda item: not exclude_path(item[b'path'], patterns), preload=True): 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -205,7 +214,7 @@ Type "Yes I am sure" if you understand this and want to continue.\n""") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     continue 
														 | 
														
														 | 
														
															                     continue 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             if not args.dry_run: 
														 | 
														
														 | 
														
															             if not args.dry_run: 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 while dirs and not item[b'path'].startswith(dirs[-1][b'path']): 
														 | 
														
														 | 
														
															                 while dirs and not item[b'path'].startswith(dirs[-1][b'path']): 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    archive.extract_item(dirs.pop(-1)) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    archive.extract_item(dirs.pop(-1), stdout=stdout) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             self.print_verbose(remove_surrogates(orig_path)) 
														 | 
														
														 | 
														
															             self.print_verbose(remove_surrogates(orig_path)) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             try: 
														 | 
														
														 | 
														
															             try: 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 if dry_run: 
														 | 
														
														 | 
														
															                 if dry_run: 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -215,7 +224,7 @@ Type "Yes I am sure" if you understand this and want to continue.\n""") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         dirs.append(item) 
														 | 
														
														 | 
														
															                         dirs.append(item) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         archive.extract_item(item, restore_attrs=False) 
														 | 
														
														 | 
														
															                         archive.extract_item(item, restore_attrs=False) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     else: 
														 | 
														
														 | 
														
															                     else: 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                        archive.extract_item(item) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        archive.extract_item(item, stdout=stdout) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             except IOError as e: 
														 | 
														
														 | 
														
															             except IOError as e: 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 self.print_error('%s: %s', remove_surrogates(orig_path), e) 
														 | 
														
														 | 
														
															                 self.print_error('%s: %s', remove_surrogates(orig_path), e) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -585,6 +594,9 @@ Type "Yes I am sure" if you understand this and want to continue.\n""") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         subparser.add_argument('--strip-components', dest='strip_components', 
														 | 
														
														 | 
														
															         subparser.add_argument('--strip-components', dest='strip_components', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                                type=int, default=0, metavar='NUMBER', 
														 | 
														
														 | 
														
															                                type=int, default=0, metavar='NUMBER', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                                help='Remove the specified number of leading path elements. Pathnames with fewer elements will be silently skipped.') 
														 | 
														
														 | 
														
															                                help='Remove the specified number of leading path elements. Pathnames with fewer elements will be silently skipped.') 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        subparser.add_argument('--stdout', dest='stdout', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                               action='store_true', default=False, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                               help='write all extracted data to stdout') 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         subparser.add_argument('archive', metavar='ARCHIVE', 
														 | 
														
														 | 
														
															         subparser.add_argument('archive', metavar='ARCHIVE', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                                type=location_validator(archive=True), 
														 | 
														
														 | 
														
															                                type=location_validator(archive=True), 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                                help='archive to extract') 
														 | 
														
														 | 
														
															                                help='archive to extract') 
														 |