Marat - 2018-08-01

There is no mistake. Unit tests work fine.
Prior to this, the code was used in many projects.
There was an error when working with an empty string.
Commit was a very long time. For the current version, svn could not update the sources. I posted the current version in the form of an archive.