#! /usr/bin/env python
# Copyright 2019 Google LLC.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import re
import sys
def gerrit_percent_encode(value):
    '''
    https://gerrit-review.googlesource.com/Documentation/user-upload.html
    "To avoid confusion in parsing the git ref, at least the following characters
    must be percent-encoded: " %^@.~-+_:/!". Note that some of the reserved
    characters (like tilde) are not escaped in the standard URL encoding rules..."
    '''
    good = re.compile('^[A-Za-z0-9]$')
    return ''.join(c if good.match(c) else '%%%02X' % ord(c) for c in value)
if __name__ == '__main__':
    sys.stdout.write(gerrit_percent_encode(' '.join(sys.argv[1:])) + '\n')
