23         unsigned int entry)
 const 
   26    std::vector<unsigned int>::const_iterator intIter = form.
params(
entry).begin();
 
   27    unsigned int keyIdx = 0U, aliasNum = 0U, clidNum = 0U;
 
   29    if ((*intIter&0x0000FFFF) == 0) {
 
   31       keyIdx = *intIter; ++intIter;
 
   32       aliasNum = *intIter; ++intIter;
 
   33       clidNum = *intIter; ++intIter;
 
   36       const unsigned int keyPos = (
unsigned short)(*intIter>>16),
 
   37           version = (
unsigned short)(*intIter&0x0000FFFF); ++intIter;
 
   38       const unsigned int guidIdx = (
unsigned short)(*intIter>>16),
 
   39           classIdx = (
unsigned short)(*intIter&0x0000FFFF); ++intIter;
 
   40       const unsigned int prefixIdx = (
unsigned short)(*intIter>>16),
 
   41           typeIdx = (
unsigned short)(*intIter&0x0000FFFF); ++intIter;
 
   43       unsigned int tech = 514;
 
   45          tech = *intIter; ++intIter;
 
   47       unsigned int oid1 = *intIter; ++intIter;
 
   49          keyIdx = *intIter; ++intIter;
 
   50          aliasNum = *intIter; ++intIter;
 
   51          clidNum = *intIter; ++intIter;
 
   53          keyIdx = (*intIter>>16), aliasNum = ((*intIter&0x0000FFFF)>>8), clidNum = (*intIter&0x000000FF); ++intIter;
 
   61          cntName += form.
map()[prefixIdx];
 
   63             cntName += form.
map()[typeIdx];
 
   68          cntName += pers.
m_token.substr(0, keyPos - 1) + form.
map()[keyIdx] + pers.
m_token.substr(keyPos - 1);
 
   74       Guid clid(form.
map()[classIdx]);
 
   80    auto aliasBeg = form.
map().begin() + keyIdx;
 
   81    trans.
m_key = *aliasBeg++;
 
   83    trans.
m_alias.assign (aliasBeg, aliasBeg+aliasNum);
 
   84    if (!std::ranges::is_sorted (trans.
m_alias)) {
 
   86      std::ranges::sort (trans.
m_alias);
 
   87      auto ret = std::ranges::unique (trans.
m_alias);
 
   88      trans.
m_alias.erase (ret.begin(), ret.end());
 
   91    trans.
m_pClid = *intIter; ++intIter;
 
   92    const std::vector<unsigned int>::const_iterator intLast = form.
params(
entry).end();
 
   93    if (intIter+clidNum > intLast) {
 
   94      clidNum = intLast - intIter;
 
   96    trans.
m_clids.assign (intIter, intIter+clidNum);
 
   99    for (; intIter != intLast; ++intIter) {
 
  107         unsigned int entry)
 const {
 
  108    unsigned int tech = 0U, oid1 = 0U;
 
  109    unsigned short guidIdx = 0U, classIdx = 0U, prefixIdx = 0U, typeIdx = 0U, keyPos = 0U;
 
  114       for (std::vector<std::string>::const_iterator 
iter = form.
map().begin(), last = form.
map().end();
 
  118       if (guidIdx == form.
map().size()) {
 
  123       for (std::vector<std::string>::const_iterator 
iter = form.
map().begin(), last = form.
map().end();
 
  125          if (*
iter == clid) 
break;
 
  127       if (classIdx == form.
map().size()) {
 
  133       std::string::size_type delim = pers.
m_token.find_first_of(
"_/(");
 
  134       if (delim != std::string::npos) {
 
  135          const std::string persComp1 = pers.
m_token.substr(0, delim + 1);
 
  136          for (std::vector<std::string>::const_iterator 
iter = form.
map().begin(), last = form.
map().end();
 
  137              iter != last; ++
iter, ++prefixIdx) {
 
  138             if (*
iter == persComp1) 
break;
 
  140          if (prefixIdx == form.
map().size()) {
 
  147             std::string::size_type delim = pers.
m_token.find_first_of(
"/()");
 
  148             if (delim != std::string::npos) {
 
  149                const std::string persComp2 = pers.
m_token.substr(0, delim + 1);
 
  150                for (std::vector<std::string>::const_iterator 
iter = form.
map().begin(), last = form.
map().end();
 
  152                   if (*
iter == persComp2) 
break;
 
  154                if (typeIdx == form.
map().size()) {
 
  158             } 
else if (pers.
m_token == 
"DataHeader") {
 
  159                for (std::vector<std::string>::const_iterator 
iter = form.
map().begin(), last = form.
map().end();
 
  161                   if (*
iter == 
"DataHeader") 
break;
 
  163                if (typeIdx == form.
map().size()) {
 
  171       if (delim != std::string::npos) {
 
  179    unsigned int version = 0x0000FFFFU;
 
  183    unsigned int keyIdx = form.
map().size(), aliasNum = trans.
m_alias.size(), clidNum = trans.
m_clids.size();
 
  184    if (keyIdx < 0x00010000U && aliasNum < 0x00000100U && clidNum < 0x00000100U) {
 
  188    form.
insertParam((
unsigned int)(guidIdx) * 0x00010000U + (
unsigned int)(classIdx), 
entry);
 
  189    form.
insertParam((
unsigned int)(prefixIdx) * 0x00010000U + (
unsigned int)(typeIdx), 
entry);
 
  199       form.
insertParam(keyIdx * 0x00010000U + aliasNum * 0x00000100U + clidNum, 
entry);
 
  202    for (
const std::string& 
a : trans.
m_alias) {
 
  209    for (std::vector<SG::sgkey_t>::const_iterator 
iter = trans.
m_hashes.begin(),
 
  223   unsigned int entry = 1;
 
  224   const unsigned int provSize = dhForm.
params(
entry)[0];
 
  228   std::vector<DataHeaderElement_p5>::const_iterator pit = pers.
m_dataHeader.begin();
 
  229   for (
unsigned int i = 0U; 
i < provSize; ++
i, ++
it, ++pit) {
 
  235   for (std::vector<DataHeaderElement_p5>::const_iterator last = pers.
m_dataHeader.end();
 
  236        pit != last; ++
it, ++pit) {
 
  250    unsigned int entry = 1;
 
  258    for (std::vector<DataHeaderElement>::const_iterator 
it = trans.
m_dataHeader.begin(),
 
  267                                    const std::string& 
key,
 
  268                                    const std::string& strToken)
 const