cdm.py revision 605a716e6d38b3af09034c254382d0ae3b7d5f70