local d = {}
-- 启
--~ 对
--~ 能
function d.历对(o1_0, o1)
  local k1, k2
  for o2, o3 in pairs(o1_0) do
    --~ 键
    --~ 值
    k1, k2 = d.模(k1, k2, o2, o3, o1)
    end
  return k1, k2
  end
-- 模
--~ 键
--~ 值
--~ 对中键
--~ 对中值
--~ 能
function d.模(o1, o2, o3, o4, o5)
  if o1 == nil then
    return o3, o4
  elseif o5(o1, o2, o3, o4) then
    return o3, o4
  else
    return o1, o2
    end
  end
-- 最短
--~ 最短键
--~ 值
--~ 键
--~ 值
function d._筛最短键(o1, o2, o3, o4)
  if #o1 > #o3 then
    return true
    end
  end
--~ 对
function d.筛最短键(o1_0)
  return d.历对(o1_0, d._筛最短键)
  end
-- 最大
--~ 键
--~ 最大值
--~ 键
--~ 值
function d._筛最大值(o1, o2, o3, o4)
  if o2 < o4 then
    return true
    end
  end
--~ 对
function d.筛最大值(o1_0)
  return d.历对(o1_0, d._筛最大值)
  end
return d
