1try:
2    try:
3        import ubinascii as binascii
4    except ImportError:
5        import binascii
6except ImportError:
7    print("SKIP")
8    raise SystemExit
9
10print(binascii.a2b_base64(b""))
11print(binascii.a2b_base64(b"Zg=="))
12print(binascii.a2b_base64(b"Zm8="))
13print(binascii.a2b_base64(b"Zm9v"))
14print(binascii.a2b_base64(b"Zm9vYg=="))
15print(binascii.a2b_base64(b"Zm9vYmE="))
16print(binascii.a2b_base64(b"Zm9vYmFy"))
17
18print(binascii.a2b_base64(b"AAECAwQFBgc="))
19print(binascii.a2b_base64(b"CAkKCwwNDg8="))
20print(binascii.a2b_base64(b"f4D/"))
21print(binascii.a2b_base64(b"f4D+"))  # convert '+'
22print(binascii.a2b_base64(b"MTIzNEFCQ0RhYmNk"))
23
24# Ignore invalid characters and pad sequences
25print(binascii.a2b_base64(b"Zm9v\n"))
26print(binascii.a2b_base64(b"Zm\x009v\n"))
27print(binascii.a2b_base64(b"Zm9v=="))
28print(binascii.a2b_base64(b"Zm9v==="))
29print(binascii.a2b_base64(b"Zm9v===YmFy"))
30
31try:
32    print(binascii.a2b_base64(b"abc"))
33except ValueError:
34    print("ValueError")
35try:
36    print(binascii.a2b_base64(b"abcde="))
37except ValueError:
38    print("ValueError")
39try:
40    print(binascii.a2b_base64(b"ab*d"))
41except ValueError:
42    print("ValueError")
43try:
44    print(binascii.a2b_base64(b"ab=cdef="))
45except ValueError:
46    print("ValueError")
47