| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -227,6 +227,7 @@ if __name__ == "__main__": | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  parser = argparse.ArgumentParser(description="Flash and verify AGNOS update", | 
					 | 
					 | 
					 | 
					  parser = argparse.ArgumentParser(description="Flash and verify AGNOS update", | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                   formatter_class=argparse.ArgumentDefaultsHelpFormatter) | 
					 | 
					 | 
					 | 
					                                   formatter_class=argparse.ArgumentDefaultsHelpFormatter) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  parser.add_argument("--verify", action="store_true", help="Verify and perform swap if update ready") | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  parser.add_argument("--swap", action="store_true", help="Verify and perform swap, downloads if necessary") | 
					 | 
					 | 
					 | 
					  parser.add_argument("--swap", action="store_true", help="Verify and perform swap, downloads if necessary") | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  parser.add_argument("manifest", help="Manifest json") | 
					 | 
					 | 
					 | 
					  parser.add_argument("manifest", help="Manifest json") | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  args = parser.parse_args() | 
					 | 
					 | 
					 | 
					  args = parser.parse_args() | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -234,7 +235,12 @@ if __name__ == "__main__": | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  logging.basicConfig(level=logging.INFO) | 
					 | 
					 | 
					 | 
					  logging.basicConfig(level=logging.INFO) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  target_slot_number = get_target_slot_number() | 
					 | 
					 | 
					 | 
					  target_slot_number = get_target_slot_number() | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  if args.swap: | 
					 | 
					 | 
					 | 
					  if args.verify: | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    if verify_agnos_update(args.manifest, target_slot_number): | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					      swap(args.manifest, target_slot_number, logging) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					      exit(0) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    exit(1) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  elif args.swap: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    while not verify_agnos_update(args.manifest, target_slot_number): | 
					 | 
					 | 
					 | 
					    while not verify_agnos_update(args.manifest, target_slot_number): | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      logging.error("Verification failed. Flashing AGNOS") | 
					 | 
					 | 
					 | 
					      logging.error("Verification failed. Flashing AGNOS") | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      flash_agnos_update(args.manifest, target_slot_number, logging) | 
					 | 
					 | 
					 | 
					      flash_agnos_update(args.manifest, target_slot_number, logging) | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
  |