An IPv6 address has a full representation of eight groups of four digits separated by colons (:). However, it can be written in compressed form to allow a better lisibility. For example, the address 2001:db8:bad:cafe::
is a compressed form of 2001:0db8:0bad:cafe:0000:0000:0000:0000
.
More information about format can be found in the IPv6 addressing architecture chapter of Computer Networking: Principles, Protocols and Practice.
Compress the following IPv6 addresses into a shortest form.