code: def parse_args():
      
      global default_device
  
      parser = argparse.ArgumentParser(description = "Generate password AEAD using YubiHSM",
                                       add_help=True
                                       )
      parser.add_argument('-D', '--device',
                          dest='device',
                          default=default_device,
                          required=False,
                          help='YubiHSM device (default : "%s").' % default_device
                          )
      parser.add_argument('-v', '--verbose',
                          dest='verbose',
                          action='store_true', default=False,
                          help='Enable verbose operation.'
                          )
      parser.add_argument('--debug',
                          dest='debug',
                          action='store_true', default=False,
                          help='Enable debug operation.'
                          )
      parser.add_argument('--key-handle',
                          type=int, dest='key_handle',
                          required=True,
                          help='Key handle to use. Must have YHSM_ECB_BLOCK_ENCRYPT and/or YHSM_ECB_BLOCK_DECRYPT_CMP flag set.'
                          )
      parser.add_argument('-N', '--nonce',
                          dest='nonce',
                          required=True,
                          help='Nonce to use. 6 bytes encoded as 12 chars hex.'
                          )
      parser.add_argument('--set',
                          dest='set',
                          action='store_true', default=False,
                          help='Set password mode.'
                          )
      parser.add_argument('--validate',
                          dest='validate',
                          help='AEAD to validate.'
                          )
      parser.add_argument('--min_length',
                          type=int, dest='min_len',
                          required=False, default=20,
                          help='Minimum length to pad passwords to (default: 20).'
                          )
  
      args = parser.parse_args()
  
      if args.set and args.validate:
          sys.stderr.write("Arguments --set and --validate are mutually exclusive.\n")
          sys.exit(1)
      if not args.set and not args.validate:
          sys.stderr.write("Either --set or --validate must be specified.\n")
          sys.exit(1)
  
      return args
docs: Parse the command line arguments