Sometimes a file or folder can be marked as being an ancestor of another. If the one file's checksum is in the history of the other it is marked as an ancestor of the other. The other is considered a descendant. These pairs occur in differences. If a ancestor and a descendant are in the same directory, and that is both on either only the local or only the offline file tree, then the common parent will be marked as neither. However, we need a fourth category.
The parent could have a sibling node which is an ancestor on one of the drives and thus the parent of the parent would be mislabeled as ancestor when it shouldn't be so labeled for the ancestor would still contain something newer than the decesndant.
To fix this problem we need to set the time stamps as a bit field of OFFSITE_BIT and LOCAL_BIT so they indicate in files which file is newer. If both have the same age no bits are set. In directories, it is of more importance to us the time stamps of the files contained therein rather than the time stamps of the directories themselves. So we can define the directory's time stamp value as the bitwise or of all of its children's time stamp values. We can use some other value to indicate we don't know. The value, -1 is a value we often use for this. However, using this value in an or_bits expression will give #FFFF_FFFF as a result.